လက္ခဏာ
Shared UI component များသည် ပုံမှန် ကောင်းမွန်သော်လည်း၊ သင်ကိုယ်တိုင် ရေးသားသော className utility များ (flex၊ gap-4၊ bg-*၊ text-*) သည် plugin မျက်နှာပြင်တွင် အကျိုးသက်ရောက်မှု မရှိပါ။
အဘယ်ကြောင့် ဖြစ်သနည်း
Plugin မျက်နှာပြင်များသည် base frontend အတွင်းတွင် လည်ပတ်ပါသည်။ Tailwind သည် ပြင်ဆင်ထားသော content path များတွင် တွေ့ရှိသော class name များအတွက်သာ CSS ထုတ်ပေးပါသည်။ Host က သင့် plugin ရင်းမြစ်များကို မစစ်ဆေးပါက (သို့မဟုတ် class များကို တက်ကြွစွာ တည်ဆောက်ပါက) ထို utility များသည် purge ဖြစ်သွားပါသည်။
- Base frontend ၏ Tailwind content glob တွင် plugins/<name>/frontend/src/** မပါဝင်ပါ
- Dynamic class string များ (ဥပမာ `bg-${color}-500`) ကို scanner က မမြင်ရပါ
- Style များကို ပြင်ဆင်ခဲ့သော်လည်း base frontend CSS bundle ကို rebuild မလုပ်ရသေးပါ
- စာလုံးပေါင်းမှားခြင်း / မရှိသော utility — Tailwind က မသိသော class များကို အသံမထွက်ဘဲ ဖယ်ရှားပါသည်
ဖြေရှင်းနည်း
- Base frontend Tailwind config တွင် ../../plugins/*/frontend/src/**/*.{ts,tsx,js,jsx} ကဲ့သို့သော plugin ရင်းမြစ် glob များကို ထည့်သွင်းပါ
- သင့် template က installed-plugins ကို scan လုပ်ပါက၊ source နှင့် runtime path နှစ်ခုလုံးကို stack နှင့် ကိုက်ညီအောင် ထားရှိပါ
- ရင်းမြစ်တွင် full class name များသာ အသုံးပြုပါ (cn("bg-red-500", condition && "hidden")) — utility အပိုင်းများကို interpolate မလုပ်ရပါ
- Tailwind content path ပြောင်းပြီးနောက် base frontend ကို restart / rebuild လုပ်ပါ
- ပေါင်းစပ် class များအတွက် @quan-erp/shared-ui primitive များနှင့် @quan-erp/shared-ui မှ cn ကို ဦးစားပေး အသုံးပြုပါ
- Portal overlay များအတွက် theme / CSS variable များ ဆက်လက် သက်ရောက်စေရန် Portal Styling (data-plugin) ကို လိုက်နာပါ
အတည်ပြုခြင်း
- Plugin element တစ်ခုပေါ်တွင် ထူးခြားသော utility (ဥပမာ outline-dashed outline-2) တစ်ခု ထည့်သွင်းပါ
- watch ဖြင့် rebuild လုပ်ပြီး hard-refresh လုပ်ကာ element ကို စစ်ဆေးပါ — ထို utility သည် computed styles တွင် ပေါ်ရပါမည်
- shared-ui Button style များ အလုပ်လုပ်သော်လည်း သင့် utility များ မရပါက content-path / purge ပြဿနာဟု အတည်ပြုနိုင်ပါသည်