@fwkui/x-css 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README2.md ADDED
@@ -0,0 +1,77 @@
1
+ # @fwkui/x-css
2
+
3
+ ## Mục tiêu (AI)
4
+ - Thu vien tao CSS tu class viet tat, tu dong sinh rule theo DOM.
5
+ - Ho tro observer de cap nhat CSS khi class thay doi.
6
+ - Su dung constructable style sheets (`adoptedStyleSheets`).
7
+
8
+ ## API
9
+ - `xcss(modules?) -> { buildCss }`
10
+ - `buildCss(doc?) -> { clsx, observe } | null`
11
+ - `cssObserve(dom, options?)`
12
+ - `cssClsx(dom, options?) -> (...classNames) => string`
13
+
14
+ ## Cấu hình `modules`
15
+ - `css`: string | string[] (CSS mac dinh duoc nap vao layer root)
16
+ - `gValue`: Record<string, string[]> (nhom gia tri tuy chinh)
17
+ - `exNames`: string[] (loai bo class, ho tro wildcard `*`)
18
+ - `mQuery`: Array<Record<string, string>> (bo sung breakpoint, moi object 1 key)
19
+ - `valueExt`: Record<string, string> (mo rong map gia tri viet tat)
20
+
21
+ ## Cu phap class (day du)
22
+ Dang co ban: `[prefix:][layer][prop][value][@selector]`
23
+
24
+ - `prefix`: `xs:` `sm:` `md:` `lg:` `xl:` `2xl:` `sma:` `mda:` `lga:` `xla:`
25
+ - `layer`: so sau prefix (vd `sm:2...` => layer 2)
26
+ - `prop`: viet tat theo bo tu dien (hoac dung ten CSS day du)
27
+ - `value`: gia tri rut gon, gia tri CSS, hoac map theo valueMap
28
+ - `@selector`: selector phu (vd `@::before`, `@:hover`)
29
+ - `&`: ghep nhieu cap `prop+value` trong 1 class (vd `p10&bgc#fff`)
30
+
31
+ ## Quy tắc gia tri (value)
32
+ - `p10px` -> `padding:10px`
33
+ - `bgc#fff` -> `background-color:#fff`
34
+ - `cRed` -> `color:red` (tu dong lower-case ky tu dau)
35
+ - `p!10px` -> `padding:10px !important` (ky tu `!` dung dau value)
36
+ - `w--size` -> `width:var(--size)` (gia tri bat dau bang `--`)
37
+ - `bg{linear-gradient(...)}` -> dung gia tri thuc trong `{...}`
38
+ - `mx10px` -> `margin-left:10px` + `margin-right:10px`
39
+ - `my10px` -> `margin-top:10px` + `margin-bottom:10px`
40
+ - `px10px` -> `padding-left:10px` + `padding-right:10px`
41
+ - `py10px` -> `padding-top:10px` + `padding-bottom:10px`
42
+ - `bdx1px` -> `border-left` + `border-right`
43
+ - `bdy1px` -> `border-top` + `border-bottom`
44
+ - `[group]` -> dung `gValue` (vd `gValue: { btn: ["padding:8px 12px", "border-radius:6px"] }`)
45
+
46
+ ## Value ext mac dinh
47
+ ```txt
48
+ n:none
49
+ nm:normal
50
+ a:auto
51
+ i:inherit
52
+ in:initial
53
+ is:inline-start
54
+ ie:inline-end
55
+ tr:transparent
56
+ c:center
57
+ cl:collapse
58
+ l:left
59
+ r:right
60
+ h:hidden
61
+ v:visible
62
+ s:start
63
+ e:end
64
+ t:top
65
+ b:bottom
66
+ bs:block-start
67
+ be:block-end
68
+ ```
69
+
70
+ ## Ví dụ nhanh
71
+ - `bgct` -> `background-color:transparent` (tu map `bgc ... t:transparent`)
72
+ - `aiC` -> `align-items:center` (value `C` -> `c` -> `center`)
73
+ - `sm:2p10px@::before` -> padding o media `sm`, layer 2, selector `::before`
74
+
75
+ ## Tu dien viet tat thuoc tinh (dễ tra cứu)
76
+ Để tài liệu nhẹ và dễ nhìn, **bảng từ điển đầy đủ đã được tách riêng**:
77
+ - Xem tại: `DICTIONARY.md`
package/index.d.ts CHANGED
@@ -1,30 +1,37 @@
1
+ type ClassInput = string | string[];
2
+ type MediaQueryMap = Record<string, string>;
3
+
1
4
  interface XcssModules {
2
- css?: string | string[];
3
- mQuery?: Record<string, string>;
4
- valueExt?: Record<string, string>;
5
+ css?: string | string[];
6
+ gValue?: Record<string, string[]>;
7
+ exNames?: string[];
8
+ mQuery?: MediaQueryMap[];
9
+ valueExt?: Record<string, string>;
5
10
  }
6
11
 
7
12
  interface XcssBuildResult {
8
- clsx: (...clsArrs: (string | string[])[]) => string;
9
- observe: () => void;
13
+ clsx: (...clsArrs: ClassInput[]) => string;
14
+ observe: () => void;
10
15
  }
11
16
 
12
17
  interface Xcss {
13
- buildCss(doc?: Document): XcssBuildResult;
14
- cssToMD(): string;
15
- cssObserve:(d:Document|ShadowRoot, options?:XcssModules) =>void,
16
- cssClsx:(d:Document|ShadowRoot, options?:XcssModules) => (p:string[])=>string
18
+ buildCss(doc?: Document | ShadowRoot | HTMLElement): XcssBuildResult | null;
17
19
  }
18
20
 
19
21
  export function xcss(modules?: XcssModules): Xcss;
20
- export function cssObserve(d: Document | ShadowRoot, options?: XcssModules): void;
21
- export function cssClsx(d: Document | ShadowRoot, options?: XcssModules): (p: string[]) => string;
22
+ export function cssObserve(
23
+ d: Document | ShadowRoot | HTMLElement,
24
+ options?: XcssModules,
25
+ ): void;
26
+ export function cssClsx(
27
+ d: Document | ShadowRoot | HTMLElement,
28
+ options?: XcssModules,
29
+ ): (...classNames: ClassInput[]) => string;
22
30
 
23
31
  declare const _default: {
24
- css: typeof xcss;
25
- cssObserve:typeof cssObserve,
26
- clsx:typeof cssClsx
27
-
32
+ css: typeof xcss;
33
+ cssObserve: typeof cssObserve;
34
+ clsx: typeof cssClsx;
28
35
  };
29
36
 
30
37
  export default _default;
package/index.js CHANGED
@@ -1 +1 @@
1
- var v="AFsAIgB3AGwAYwBcAHQALQB3AGUAYgBrAGkBBgBsAGkAbgBlAC0AYwBsAGEAbQBwACIALAEBAHQAZgEEAQYBCAEKAQwALQB0AGUAeAEGAGYAaQBsAGwBEgBvAGwAbwByARgBGgBzAQUBBwEJAQsBBgEjASUALQBzAHQAcgBvAGsAZQEwAHcAdABzAR0BNAEgATcBJAEGATsBPQE/ASsBLQEvARkBQgBzAHcBMwEfATYBIgFJAToBPAE+AREAdwBpAGQAdABoAQUAbQA6AG0AZQBkAGkAdQBtAHwAdAA6AWEAaQBjAGsBMABhAGMBHQF0AGMAZQBuAQYAYwEsAS4BBQB1ADoAdQBuAHMAZQB0AXMBdgEOAGcAbgErAXoBeQB0AQUAcwA6ATsAYQByAHQAfABlADoBeQBkAHwAZgGRAGYAbAEkAVoBlAGWAGYBmAGfAaEBmgB8AG4AOgBuAS4AbQBhAGwAfABiADoAYgBhAYQBDgEQAZwBswEnAHIBOwAgAbUBtwEPAGUAfABsAbMBFAG+AcAAZQG4AcMAcwBwAZIAcAF0AREAYgGFAQgBeQB8AHMAYQHPAdEALQGUAG8BggGbAYQB2gF4AC0AZQB2AXkAbAB5AdcBbQFLAYUAYwBoAdcAYwGSAGEBpQAgAXgBjQByAHwAdQHxAYIB2AH0AfYBIwFQACIAYQBpAQUBsABpAYoALQEMAGUAbQEyAHQBqwGtAHIBrwGxAfEB/wBlAfgBkQGTAZUBlwGZAG4BmwGdADoBpwB4AaICGgGlAiABoAIiAakAcwIYAcoAZgIjAZYB4QG3Ai0BqQGzAckBywG6AiAAaQG9AHQBvwG2AcoBwgHEAcYBtgI7AjUCPwFEAfIB/gGOAhYB+QH7AYMB8wBlAfUCSQIBAbYCBQGJAYsCMQEFAg8BrgGwAHwCFAJRAdcBkgB0AaMCGwIpAisAbAItAhkCLwGYAjEB5AIdAZwBngInAi4BnAGmAnACMwG0Aj0CNgBmAbsCOQHIAncCPwHFADoBxwJDAn0BuQE7AmAAcgHtAe8CRgH9Ak8CFQH4AfoBgQJNAkgB9wFzAlQAbAFzAG4CBAJhApgBrwB0AGkAbwBuApcBcAIFApsAYQKdAp8BKwEWAG8AcwEMAp4AbgEFAHIAOgKHAHABFAF4AHwB2QBhAGQBmwF0ADoBdwFqAHUBFAEjAHwAcgHZArICtABlACwAIAK4AroCuwLKAsgCvQBtAr8CpQHDAsMCuwLFAdECzgK5As4BdQK+AsABQAEZAGECmABkAGUCowBpApwCrQAtAuIBFAB5AqEBaALkAuYCpwFoAocAYwKmAq4BPAKxAeUCFgGEArYCvABsAgAAbgLSArYCsAGwAv4C0gAtAocB5gG9AcMAbgKwAhACEgLIAwcC+QHDAZQBqwMDAhYC/wEjAw8C+AMJAsgDDQGwAuwAdQLuAqUC5wBkAHUCwwL0AqEAZgBtAyEC9AAtAScBKQAtAG0AbwLiAQUAZgIgAS4AdwGUAGQAcwGyAnYBcQM4AHIDOgGqAbMBrQEQAsgBtQM+AzkDOwJ5AasAYgBvAWECyABmAzcDSQMcAp8C3gICApgCogKaAuUDIgKnAgoDJgLnAXwBggGGAt8CmAL1AuADWwMsAv8BZgGQAZIBDgLiAqEAcAINA2cC7wGLArMAYQB5AaIBIwEFAc4B0AB1AYQBmwKwAHIBggNlAGcCoQEbAysC5wKdAG0BDwBnAy0BggLzAq0BBQBlAGkBmQI9AgkAbgGXAG8DlQGEAC0B3gGWA5MDmgBlA5YBDwOdAHUBlgBsAoABwgGUAdcCGAEjAHACcQIwA64CbABkAXMAcAIFAHAAcAOiAsMAbgF4AWMBswFmAG4CvwBpATsALQBiA6YAdAKfAWwDNQE4ARsAaQHKAZsCNAPHA8kCFABoAGUBcQNNAHgBcwByAgUBzQPWAQYDXwBvA2wAMQAgAC8AIAAxAHwAdgA6ADEANgPkACAAOQEwAQoAZABmAQUDRwBrAGQBPQOvAy4CAAPwAGsAZgB2A/QBdAP9AdsAdgPDAGkAYgEoAQwC6wEZAGIAZwQAAXEAZwE9Ad8D8ABnAGEEDgBrBBAB3gIdAdwAdAJhAe4DwAGPAUMBkgBjAT0BKQGcAjgAeAFnAcQCgABvAGMDHgQLAGcAYgMqAHQD9QQYAd8DxQGgBBoDMQMzAg4BrAJaAbEBZALQAv0AaQKzAekCGAQjAGUB1gOaAG8DCALqAHwAZAA6AGQBlAE/A5gDqAGJAGgBIwOYAGMETwF8AU8C6AMyAGcBwwOUBFwBLgPFAyUDmABoA6gAaAM5AC0EVgIvA6gAcwBvAGYBDQIHBFcETgOUAWgAZgGlAocDvAHDAZgBJAETA34CrQB8AGgAOgBoAHUBzAHZAdgAdAMlA1wEWQA6BGMB+ABsAYAEkgOLAa0CqwB0BAoAIgQMARMEFgQ1BBoBEwRDA/QCNAEuAuIAcgPFAG8AeAB8AHABswHQArkDjASnBKkAYwGzAXwBjQF6BLABbAFuAUkEEwEdBDQEEQSfAX0D2wQcAW4DuwHNAZQBjgJcBI8DJQR7AHQEkAQTApkEvQQZAGQCCQGvBGAEEwPhBDMEAQSeBNIBLgIHAQ8EogG0BKQCFgS3BKsAOgStAWgAbgONA9gCXASzAp8EWAEGA9gEEwO2BNgEDwS+BNIAcAKqAqwCnwEFAW0DyABwAzwDTQQcAG8BawRVAGUEcgLCArEEdAGWAl0B9wHEAW0BoARyACAE/QJcAW0CjQURAG8E/gGVBQgAZwRXBRYE/gEDAoAFBQI7Ao0CXAULAgACUAUMAHIB8QByBQkFJwIAAkAFIAUQBQADyAFrBLIEjwJRAb8DTgUzAsIBswUrBRsCQwU5BQIE8QB4BJ0E9QAtBPcElwLnBUMAdAUEBQYDgQUJBMgCjQTxAHkFRATRBUYE+AMsBVMEwgUSBKMFAQU0BTYCkwQvBMEE0AQ2ArIDogQgA4EAZQO5AqUAfAB4AvcFagEGBKkAeQVuBWYALQRFAeIC0wGrBPUBqgQ9AwYFaQVmAsIBkQAgBWUCpQAgBMUCtQByBWgFbwWCBX4FawMLBXwFgwI7BPUEEwINBWMEGgKrAHoC4wTMBI8E7QIDAqAECwBsAGsFlAEtAXEBOgBpBZgD8ABkA/QE4QTBBE8AZAU5BCkDOgRQAbYD1QGbAGQBswWuAHUAYgGgAHwAZwA6BBgESwLTBQgAZARgAHwDlAEPAYQBlgRKA6YFyAWoBboAawWqA0AE4gW6BCwBcgQLBbYBAwXQBKUENwXUAU4BLgXNAaAF2QXSBaMAawOzBd8D1gXhBKYF0wWkAZoF3QIBAGIF1wBlBZQFqwXbBesFlgSYBeAAdAWtBa8FtQGRBFEAcwW0BE4FtwHeBboBwwW9Bb8B5gUHBSsFwwRhADoFxwGFAHwFygFDAYUF5gFUBDMF8wXqBeQF7AFeAWAAaAXfBfIF0QXpBeMCLgYeBLwGFwYiAmgF7QYeBh8F2gYYAi4BWgB5BfgF+gQcBbAF/QWzBbAGAgW5BbsGBgE9BcAGCQFfBcQFxgGDBg8GEQXMBdYFugFTBegF9AXkBigGGwFhBh4EIANNBiAGSgYvBjEEUAX7BE4GNQX/BjcGVgY5BgUFvgY8BggFTgYLBcUGDQZCBckAOgOeBkUEmgXXAV4GSQYtBk0GHQZGBm4FQABtBc0GJQZSBTIFAgYpBkYAbAViBhcGdARsBSEDBgK4AWkAcwXNBYgGcwVdAwYFCQaDAWgDfgXNATsGiQUzBlQFmQYyASMF/AWyBloFtQY4BgQFvAZfAG8GPQZiBkAGZQXIBhAGaAXLBhMGRgYVBlEGLAaABnAE+wFuAGgBDwB8BEABZwFpAWsBYQaxAXAF1QZrBJwGFgZSBFwBFANxBZkCKwHQAyYBwwIUASwGwgGEBagGdwXaBM0F1gRIBn4GUgXsBewCwwaOBoYG0QBzBtMF2gXsBigG1waFBagC5QQNBr8F2gNbBNUF1gKeBkkG5wERBmkGqQZrAjkG6wTUAREFkAGQAesBPAKIBgkFjAGWAHIFeQTRAl8FhgNWBe8DwwbyAGEEYAE6AQ4BeAbiBtsGzgTiBuwBOgHeBSkHAgFoBqsF8wcPBnAG4gbrAG4BywbiBw0EpgEPAcsGewbwBZkGrAcOBxsBwgXlBukF5wblByYHIQXsBtAHIwYrBy0HKAbeBfcHEwPOBxUGUgcgBzQEGgcYBukBkwcaByECaAcLBx4DlwdCAmEBlQciBwMCKgdBBygGKAE7BjAHNwZIBywHHwcnARAGLgc+BvABOwBsB00HVwdQAaAG4gBuBzkG5gdWAV0BXwZOBdYHXAdUBoEEcgWoBdgHawUPAXsEwAduBzIEpgdxBpQHbgdjBOIHdwavBVoGsgOYBrUGjga4BIQBbwFxBagEFQdrBuAGjwXWAsMGSQeKBtkGawbcBOIFPQRXBagFKQeOBowHMAXvAb0HmAU+BpQBBQFgBlYGMwaYBf4GAAIYASwBXwYBBlwGnQY7BqAGYQXCBkABqwYOBckDpganBhIDYweRB3oEpgeUAR4HZwFiB34GsweBBrcBbAeEBrIHhgXWAc0GSQWGA4wFqAGEB5IEpgYoBtYGhAeLBmsCKgfPBi4G3wfTB5AF7wd1B58F+QFtBa4HowZYBpkHpgGSB6gGmwerBjoGnwahB7AEYQeyBmYGEAe1Bu4HuAXvBlAF8wT9BagEzAZJBP0HSgFgBn0H+wUXB2wD3wfaB/kGiAdrB/wHvAaNBuEF1gFDCAADrwdfBpUH4AZXBbEHpQQpB6cDbgeqBbgHrAfrB68GCgexBqQGQwfyBqgH9AFgB7oBIggBB30E/Ad/BrQBZQa2AWoHxAa6B8cGawgmCCkGugeACC0HgggwB4UGvABiBaoFXQaHBaoCIgLiAXwD4AGLAGIChwBhBc8FmgETA1UHAAcJBwIAeAX/BakGFgIiBf8CuABvAHcD8AhRB78D2AE6BGoFrghZBAsIUQB6CEEFpQB6B8wECwByAGsHiAhHA6IF5AHzA/sIaQBrCD0EMwhIBeQB0wNRAocD8AhqBM8IdgOXAqsDbwEZBC0DcQEFCIMDLAiAA1YEIwf6BMwExgdyAU8BMAETBMEBEwO6CJAAbAO4CIUBDgOvAdAHaAAiAR0EkAEFBkED1QUrAZYE/ATEBsYBjgiQBKEEzATAA5cCAAT3AsACrQiQAUQHvwSQAToB7gILCIkBLAieASwBagGLA2EBegiQASwD8wirBJQBiwMuApYIggEsBuQEXAi9AC0EFAEXCMkH/wjECM0DggdgCNEHlwjTAG0BiwjVAREHMARcB5wI2QjbAr8BEQgQCMEGfQYVCMwI2gMGCOMBBwe+COYCDQjpAlYB0AWeCJ0BLAjoCLwI6gdZBFwIhQj4AYMIkAF6CPwBegWdCP8CnQBiCPAFnAOkAQ8BPAXHAXAGUwWXCIkBegBpCLQJCAGLCQoFKwGDCQ0D1QUJCQQAaQcECKsJAgkJAXoJFwKrAGMHRgdOBaYJEAKdCQcJIAkVCSIJDAklCQ8IqQj3CSwIrQkjCQ0I+gE8CQECYQHCAgEC8wb9CToFnQTiA2oIiQE8BCAEtAk7ARAEpgSYA7kIkAQcCToIqAiCCS4I/ANiByYERwQfCQQIBgi/AgAFfQZqAGMJIgkHCVQH0AbvBCMIhQMlBHAEwQN8AG8JCgJKBa0FBQBhAr8FCgFkCUcBWQPAAHUEgwSFAcoE/gBwBb0AcAE9BBAF8QM7AHcAOgM4AQwFUAHKAbEE/AFJA+gBbQMIAp0ELQEqA8wCtgOoAgYBtgJcAc4BfABwAekDMQFlBj0CHQV8A/cFFwGqAdkBrQEGAbABLQEIAZsEEAZfAGEAYgW8AbMEEAmsBAcE6AK2AZEJpgi2BCQCEwEsArAEXAlcCSgCwgOBCFgJvQWYAaoDDAnCBH0CsAb0BfEJvgbbAZIJxgB8AHcCsAB3Cc4JSQGsCckJDwHXAhYBkgnWCcsJ0AGSCdIChwnXAGUJ3QniCdMJzAGDCdMF8QmCARABUwnTAHcB4QdiA5wJ4Am+CGcAOgB6BqAAbQOXAHwJ9gn1CfcDpQe4AvEHoAI5A94IsQEZCFMBaAHNAuoD9AG0BeMFxQGzBzsHVwYYBmQKDwHDAzUCIQXFAzUKEwMtAicEuAJhBp0BDAZlByEKHQW7BMwBzgoiCN0AYQBwAvQBbAF4ASkBbgmsAaABEgmHCisBLAouBgQBTgi9CjMAbAW9CiYKNwjqBDUE/gEbCjsKLwERA1EDTgTiCj8HxApCCjYD1QK4CkcEEQpAAHIKSgowAT0J0gpIAvYKPApUAZwCsAGfCcEGPAGWBjsHqQIHCiAHKAQQB6kGyQS1AUMBxAOUAQ4DxAIKBnUBGQILAHABHQpxBJgKMQEpB5ABnwQgA/oCFgEwAGYFSgIhCKAAOgAwA+YCyQOmAG8C+wPjA+MJbwPICn0AeAh0AiEDxQG2A8MKjQhTCpAC8QoDBPoC9gpZBYgCsQpdAxoC+gbJCMUCXAm7CP0FfQMIBswBGQp+CMMKkApcCGEAIgp+BuQKkAQYCq4KfgINCpAF/wkXBrwKfgYVCpAJ0AooAQUJggq+BP4J3QrCCqYDEQV7Aa0Kwgp9B2oKXAKlCKABkQoZAmgFxQGYChkBqQVOBT4EKgdxCn0C9QNRCMAKqQqrBO0DLQEVASgFWQHZAHUAaQE6AuAAcwE6AhYAaQBmAsgAcwB5ATsCCwAtCucK8ArqCuwFKwrvACAAJwBBA7gBoAAgAEMEwAAgAEUDMQBqAGkAJwLIACcAUwBlAGcAbwJPAFUASQsECwYLCAsKCwwLDgsQCxIAUwB5AG0DTQBsCwkK/ABOA04AbwsBCwMLBQBvCwcAJwJfCucK+QruAsgARwBlAS4AZwBpAGECyABDARUIRws0CwoAVALlBfEAIABOCeIAIABSBQIC4AsgCzwBZgBzCvAK7QBmCCwLLAMxBJYB0AF4AsgAUwBGAE0CnwBvAC0AUgsNAtEAcgLIAE0B5wBvC14CnwF0C2ELJQGDASwBtgsKAEwEBgIWBI0AIAtWAa0LIAAnCwIDJQPOAHILPwniCyALTwKqC1EDVgBmAG4K4AS2AGYK4wHoCtsBnQM0CuEBpQKlAyUI5AGFAp0E6Ap4AG4ISgrdAQYBPwb9CGgKrwcbBNcLlARsAuAAZwB1BwYG7QMIBgoLfgSWC4gEtgUXCY4BsAhmC5gLfwTyC5wB0AGgBjMK2wq2CuEJMQqpAk0LpwFKCSgB3ABkAGoDfge4C38BSwu6AVoChwTMBnELmQdQC8QI5Qu4CvEK3Au2AHkBegPVAqsLkQfJARsL0AvSCcoK6wVHBPkI9AvCAUQLywvRAWEL2gE6AhIBKgiDC9ULtQS2C84L4wvUB3gLzQq8C9gL7QPDATQJGwu4A/8L1wS2AHYBlAs0Ct4LmQv7C8QL+wUrAuAJpQL9AxYC0guRAHYBHQucDAIL/QF7CigMCQOiDAEL/AwEAeQCQgHcAqsC4ArbAeYMEwwDBLYCCwsoAGkMGwrMCuEMDQwVAYkLiwngDBsLzwv6DBQEtgPBAWYFKwBjDBsLrwwlDC4BBgvcAycL9wvqAQYMJgiHC44DjAp4C/EEtgEIC/YLmQxDAR4DkwU+Cn0ELQuIBxIE0gi1ArgLvwE7ATAIzwEFCM8MVQxXBgoMVQeICmUE0gTGAGEMXAEdDF4B3AqGCj0BgwFjAXABZQOkCXMBega0ArsBrwIiDG0BlgBtBEABDwxxACgAMALIADEAZgByACkMXAjDDGQKiwtYCq0CrwqdAHcFUAj9BE4EUAF5AvoDQAyHACAC4gZCAlwEWwj9DJEMjQNWBBQEwQyCDGYKVAINA4sB8QSVAYwE7gxvDKEAYQxyBO0Exwx1DGsAbgx4DHoD5gx9DH8BGQBnDGMGCgxnAzQD6gPtAC0AMQxVA70AdAxkCPEHKQAiDLQCDQzACqUHQwyzDJsMtgpUDLgD4wPlDLsMVQKHDFoBXwMGCcEBmgzRDMUMywnBDMgMwwQgDGQBIwEWAt0MVQJhDNME0gzgA3YBIwHcCEgHkABnCIsM3wpxAt0MZwINAhgFuQxeDOMMygzUDOcM8QyeA2wAcwz1DFsBGQBoBPIEagToBK8AcAOPBIsEjQEwB78JGgU+DGkMoQxsDKkMbgGvDKYMqApoAZwB8QEnB3IKaA0LAR0AaAB5AHAD1QMXCN0EagLDAvMKfA0BB28NHw0hAXkDBQEOA4sBew0lB5ANKwEFDSsNIgyfAWUC4AugCMgAIgbjBNcHDwTcAY4NCgEZBuMEwQcPBHsEpQuYBccIoAdlCGYDVgKZB7MBMAQGBaANTAXIBkoNUgHTDVUBhQZTDNcNRAkGDOQLjw1WBi0M3AkdDVoBBgoTDVIDzg1mCSYHVw1dDT0JHgezDWwI5AdIB7gNcARwCLAKmQXGDXcC0gEwAGoBHQxTAp0AZgN4DHMIhQVfBS4DrQJiBH4CbQIfCrcNdAJyAiYBqAJtBUwG/AUaBHUCWQIRAlsBzQV3A8UB1ARIA5gB2A2bAd0B3wnYDZsC+AcbBEUG9wvGAe4B8AJHAowCXgKPAfwCTgUtDSgAIgsHAQUNgAruA3gKbgINDZcCEgHqAoYG+QUlAkoNiAIaDYoCHgJvAaEK0gIlCpACZAnaAmYDsAJqAiwDswrZBSEGPgrYAjQCgwoUAnoCOgI8AcEBuQJ/AoEN3QI+Dd8CsAGgBBQAYwB5BYIFTwotDeYBdA3pB3EBxAHxDe0N6A2zAhcB8QKLDfUCSwKQDfgFUQEZAGoCDQ24DYIK7AJmAlgEPQ2YAbEChQHsC8cJhgUMDcQDnwIcDccNkAhVDY4NywJ0Am0CKg3OAmcNjgIwDdIBqQ2TDdYEdQ3YDd4BzA33DbIFIw2wApENrgVgACIHagraARkC/QINC7IJWwfLBOgOBQMdDTwBxQhqAQUHIQhtCEkBMABsB78HIQ0NB5UOLw4xA8MBSgc2CoEJDALiBHYEUAPDAGMFUAI5CJMHAABxC6AChwROAZgIQwNbAbEGBgsxClEL/QorA5QBPAK4ARIHfwXxAREBDwh5Db4AawA6CGsAbgL/BFEOPwKrDjsORwaUBNMLoQ4/A8ME8gpsDkgHUQVWBUgNeQakAV8BwwZEDoMOcgQgDnwOdglLBpUEdw5PDlEFKQW7AhgOVQTGDlgMjABjDlsGngRgCzIOYATMDmIG1w5lAcIDnA5pBD4AfA5sDm4OcAxhARkEMgGvDl8I9AsdDVQAdA6sCzMIRgXjATALHQWZDrIDpAYtDW4LHQdADrEBlA6zCQ4NdA62CHQOuQhGBnQOtgTeDr8OrQ1yDskOuA7ACSEHLgIdDskOvg7GDXIGIw6qB2oO1g4uACIAbQTBDtYHvA62BCAO1gf4DqoAcwhKAa8O5w62DucOxQG2CHcFqw7rCHMOqw7uBKcGUgQ6A1YCDAhzBNcO6Q7vBlIH8w7xCEcBYw70ByUHuwb7DwAMnw8DBfMAcwhPDwcI2A78DvUF2gRwAyUHCg7mCHMGFQ8PDwQI7QYcDvEBHQ8PBKAI0A7dDucAYwTyDx4FAgw5DvgO5wKZDw8G7A7xDvMO5wMwAzIPKABrDvsO9ATcDrMO8Q8kDvQMOQoEDyEAaw7fDvQFkA7xDwgPLwu3Dz0O4w70DosO4ghTApwAaALoBWkInABtCA0OvwFhC+8O3QkGDwICIg1jCSgOtge/DHEALQ5DB7gDiw8IAiIK0Q9bDqoPFwynDxoPUAB4D2gCIgdZA4sPVw6xDroGJw9mDt0JEgxpAYsPYAzNADAAMAAlBrQMagyiDHMMpQ05DRYMpAEcAjgNGwTuDtQIZA9yCS0HQg91A4sPFwOkB30DNQAxD3wPfgygDKwMowyqDHAPaQ+CD4cNGg+bC/4LHQ9LAGkPWQQ4BNIO9w42DqQEQAlwBEMB6AcABEcESQZoBEwDdwyLBFEIagHWBFUFCQHWBFoFmwRdBa4GYwRiCKwDxgb9BIMEaQRrBG0B1wRvBHEEcwrYAWgOTgR5AhYBeQK1BH4AeASAAqsDyQSEBIYEiAHyBIsIRQyJAU8BxASTAWoBDwVXBJkEcQEFAG8AYgBqA94DLQEMDYUJRwWdAlwD6QF8AwgEJgjHAdcETwFEAbABEQhgCPQFFw/qD+wP7g87CpkFXAU6DcIEkQUwDZQHvAocCaEN4AUhBTgFXQUNEAsFHQU7DZUFPxATBRkHvAUdATAEcQINBHEBnQbvBHEHiBAhDVYC4AHuBd4BGQRxCFMQJg1bCgcCmg8UACIEcQTyEC4MOAKlC8gQNATXEDYOfwvdEB4MfQ/qBHkNVgE9AmEBIxAeCnIP6gtRBAkQHgNAD+oGIBBMEDUAcg0hCuoQHgEOD+oDpgccECsHbwOeByEInwKdBmUIogmFAhQEygGOCwIP4gilCuoIpwv+AX0QVwVLBygQNhBVECAQWAdODkkH3weiBpcH4wgVAeAH5ggYBbYH6QZeBgcFwQgeB+4IIAe0AW0O/xBaBhUQXAcoCDUBbwg3AWYIOQa5CDsQPwdqBcAAcgqtEJQQJQMICq0B3AO8AGgQKhAzAZ8IdBCWEJwGGBCUAGMEMhCkCacBEgiZAzAO0BAAAZ8CmRCqCcENaBArAZ8QihCbEKsKwg/xCJkPsQm4EJQFShCzCdIFSgIUEL0ERhC/ELYB6A/qELkJwQVZEMUEQxC+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",N=A=>({all:A=A||new Map,on(B,g){let Q=A.get(B);Q?Q.push(g):A.set(B,[g])},once(B,g){let Q=(...Q)=>(A.get(B)&&A.delete(B),g(...Q)),w=A.get(B);w?w.splice(0,w.length,Q):A.set(B,[Q])},off(B,g){let Q=A.get(B);Q&&(g?Q.splice(Q.indexOf(g)>>>0,1):A.set(B,[]))},emit(B,g){let Q=A.get(B);Q&&Q.slice().forEach(A=>{A(g)}),Q=A.get("*"),Q&&Q.slice().forEach(A=>{A(B,g)})}});function _(A){try{let B=atob(A);return Uint8Array.from(B,A=>A.charCodeAt(0))}catch(A){throw new Error(`Failed to convert base64 to buffer: ${A.message}`)}}function T(A){try{let B=AA(A);return new TextDecoder("utf-8").decode(B)}catch(A){throw new Error(`Failed to decompress to string: ${A.message}`)}}function AA(A){try{let B=_(A),g=[];for(let A=0;A<B.length;A+=2)g.push(B[A]<<8|B[A+1]);let Q=new Map,w=256;for(let A=0;A<256;A++)Q.set(A,String.fromCharCode(A));let E=Q.get(g[0])||"",e=E;for(let A=1;A<g.length;A++){let B=g[A],C=Q.get(B);C||(C=E+E[0]),e+=C,Q.set(w++,E+C[0]),E=C}return(new TextEncoder).encode(e)}catch(A){throw new Error(`Failed to decode and decompress to buffer: ${A.message}`)}}var J=new RegExp(["^((?<m>xs|sm|md|lg|xl|2xl|sma|mda|lga|xla):)?","(?<l>[0-9]*)?","(?<p>",["(",["(\\[([a-zA-Z]+)\\])"],"|",["(","((-w|[a-z])((-)?[a-z])*)","(([A-Z#!])|((-)?[.0-9])|(--|{|'))","([^&@]+)?",")"],")"],["(&","((-w|[a-z])((-)?[a-z])*)","(([A-Z#!])|((-)?[.0-9])|(--|{|'))","([^@]+)?",")?"],["(&","\\[([a-zA-Z]+)\\]",")?"],")","(@(?<s>.*))?$"].flat(1/0).join("")),BA=(A,B)=>{B=B||"fwkui";let g=Array.from({length:24},(A,B)=>"l"+B);if(!A.querySelector('style[id="'+B+'"]')){let B=document.createElement("style");B.id="fwkui",A instanceof ShadowRoot?A.prepend(B):document.head.append(B);let Q=`@layer ${g.join(", ")};`,w=setInterval(()=>{B.sheet&&(clearInterval(w),B.sheet.insertRule(Q,B.sheet.cssRules.length))})}},O=(A={css:"",gValue:{},exNames:[],mQuery:[],valueExt:{}})=>{let B=JSON.parse(T(v)),g={};var Q={};let{css:w=null,mQuery:E=[],gValue:e={},valueExt:C={},exNames:t=[]}=A||{};Array.isArray(E)||(E=[]),Array.isArray(t)||(t=[]),Object.getPrototypeOf(e)!==Object.getPrototypeOf({})&&(e={}),Object.getPrototypeOf(C)!==Object.getPrototypeOf({})&&(C={});var s={n:"none",nm:"normal",a:"auto",i:"inherit",in:"initial",is:"inline-start",ie:"inline-end",tr:"transparent",c:"center",cl:"collapse",l:"left",r:"right",h:"hidden",v:"visible",s:"start",e:"end",t:"top",b:"bottom",bs:"block-start",be:"block-end",...C};let D=()=>{let A={},g={};for(let Q of B){let[B,w,E]=Q.split("\t");if(A[B]=w,E){let A=Object.fromEntries(E.split("|").map(A=>{let[B,g]=A.split(":");return[B,g]}));g[B]=A}}return{p:A,v:g}},r=A=>{if(t.length>0&&t.every(B=>B.includes("*")?new RegExp("^"+B.replace(/\*/g,".+")+"$").test(A):B==A))return null;let B=J,{m:g="default",l:Q=0,p:w,s:E=""}=B.exec(A)?.groups??{};if(!w)return null;let e=w.split("&").map(A=>G(A)).filter(A=>A);if(0==e.length)return null;let C=E.replace(/(';|;)/g,A=>"';"==A?";":" "),s=CSS.escape(A),D=`selector(${s}${C})`;return C&&!CSS.supports(D)?null:{media:g,layer:Q,className:s,property:e.join(";"),selector:C}},G=A=>{let B=(A=>{let B=new RegExp("^(\\[(?<p>[a-zA-Z]+)\\])$"),{p:g=""}=B.exec(A)?.groups??{};if(g&&e[g]&&Array.isArray(e[g])){let A=e[g];if(A.every(A=>CSS.supports(A)))return A.join(";")}return null})(A);if(B)return B;let w=new RegExp(["^(?<p>(-w|[a-z])((-)?[a-z]+)*)","(?<v>(([A-Z#!.{'])|((-)?[0-9])|--)(.+)?)$"].join("")),{p:E,v:C=""}=w.exec(A)?.groups??{};if(!E||!C)return null;let t=g[E]||E,D=C[0],r=C.substring(1),G="!"!==D?C:r,c="!"==D;G=G[0].toLowerCase()+G.substring(1),G=G.startsWith("--")?"var("+G+")":G.startsWith("{")&&G.endsWith("}")?G.substring(1,G.length-1):Q[E]?.[G]||s[G]||G,G=G.replace(/(';|;)/g,A=>"';"==A?";":" ");let o=G+(c?" !important":""),I=[t+":"+o];switch(t){case"mx":I=[`margin-left:${o}`,`margin-right:${o}`];break;case"my":I=[`margin-top:${o}`,`margin-bottom:${o}`];break;case"px":I=[`padding-left:${o}`,`padding-right:${o}`];break;case"py":I=[`padding-top:${o}`,`padding-bottom:${o}`];break;case"bdx":I=[`border-left:${o}`,`border-right:${o}`];break;case"bdy":I=[`border-top:${o}`,`border-bottom:${o}`]}return I.every(A=>CSS.supports(A))?I.join(";"):null},c=A=>{var B=[...A?.classList||[]].filter(A=>{if(A){let B=45==A.charCodeAt(0)?A.charCodeAt(1):A.charCodeAt(0);return B>=97&&B<=122||B>=48&&B<=57}return!1});return A?.children?.length>0&&Array.from(A?.children).forEach(A=>{B.push(...c(A))}),B.flat(1/0)},o=(A,B)=>{if("function"!=typeof B)throw new Error("Callback is not a function");if(!A)return;let g=null;A instanceof Document?g=A.documentElement:(A instanceof ShadowRoot||A instanceof HTMLElement)&&(g=A),g&&(B(c(g)),new MutationObserver(A=>{for(let g of A)if("attributes"==g.type&&"class"==g.attributeName){if(1==g.target.nodeType){let A=String(g.target?.className??""),Q=String(g?.oldValue??"");if(A||Q){let g=A.split(" ").map(A=>A.trim()).filter(A=>A),w=Q.split(" ").map(A=>A.trim()).filter(A=>A);g=g.filter(A=>!w.includes(A)),"function"==typeof B&&B([...new Set(g)])}}}else if("childList"==g.type&&g.addedNodes.length>0){let A=[...g.addedNodes].filter(A=>1==A.nodeType).map(A=>c(A)).flat(1/0);"function"==typeof B&&B([...new Set(A)])}}).observe(g,{attributes:!0,attributeOldValue:!0,attributeFilter:["class"],childList:!0,subtree:!0}))};return{buildCss:(A=document)=>{let B=A?.getRootNode();if(!B)return;let e=new Map;var C=D();g=C.p,Q=C.v,BA(B);let t=N(),s=[{default:""},{xs:"screen and (max-width: 575px)"},{sm:"screen and (min-width: 576px)"},{md:"screen and (min-width: 768px)"},{lg:"screen and (min-width: 992px)"},{xl:"screen and (min-width: 1200px)"},{"2xl":"screen and (min-width: 1400px)"},{sma:"screen and (max-width: 768px)"},{mda:"screen and (max-width: 992px)"},{lga:"screen and (max-width: 1200px)"},{xla:"screen and (max-width: 1400px)"},...E],G=s.filter((A,B)=>s.findLastIndex(B=>Object.keys(B)[0]==Object.keys(A)[0])==B),c=G.map(A=>Object.keys(A)[0]),I={},a={root:new CSSStyleSheet},l={root:""},n={root:[]},H={root:!1};c.forEach(A=>{I[A]=new Set,a[A]=new CSSStyleSheet({media:G.find(B=>Object.keys(B)[0]==A)?.[A]||""}),l[A]="",n[A]=[],H[A]=!1}),w&&Array.isArray(w)?(l.root=w.join("\n"),a.root.replaceSync(l.root)):(l.root=w||"",a.root.replaceSync(l.root)),["root",...c].forEach(A=>{B.adoptedStyleSheets.includes(a[A])||(B.adoptedStyleSheets=[...B.adoptedStyleSheets,a[A]])});let M=(A,B)=>{let{media:g,property:Q,selector:w,layer:E,className:C}=B,t=a[g],s=I[g],D=l,r=n,G=H;E=Number(E)||0;let c=C,o=e.get(A);var M=`@layer l${E}{${o?`.${o}${w}`:`.${c}${w}`}{${Q}}}`;s.has(M)||(s.add(M),r[g].push(M),G[g]||(G[g]=!0,queueMicrotask(()=>{let A=r[g];A.length>0&&(D[g]+=(D[g]?"\n":"")+A.join("\n"),t.replaceSync(D[g]),r[g]=[]),G[g]=!1})))};return t.on("observeDom",A=>{A.length>0&&A.forEach(A=>{let B=r(A);B&&M(A,B)})}),{clsx:(...A)=>{let B=A.map(A=>Array.isArray(A)?A:[A]).flat(1/0).map(A=>A.split(/(\s|\t)+/g).filter(A=>A.trim())).flat(1/0);B=[...new Set(B)];let g=B.map(A=>{let B=A;if(e.has(A))B=e.get(A);else if(J.test(A)){let g="D"+e.size.toString(32).toUpperCase();e.set(A,g),B=g}return B});return queueMicrotask(()=>t.emit("observeDom",B)),g.join(" ")},observe:()=>{o(B,A=>{A.length>0&&A.forEach(A=>{let B=r(A);B&&M(A,B)})})}}}}},gA=(A,B)=>{O(B).buildCss(A).observe()},eA=(A,B)=>O(B).buildCss(A).clsx,cA={css:O,cssObserve:gA,clsx:eA};export{eA as cssClsx,gA as cssObserve,cA as default,O as xcss};
1
+ var R="AFsAIgB3AGwAYwBcAHQALQB3AGUAYgBrAGkBBgBsAGkAbgBlAC0AYwBsAGEAbQBwACIALAEBAHQAZgEEAQYBCAEKAQwALQB0AGUAeAEGAGYAaQBsAGwBEgBvAGwAbwByARgBGgBzAQUBBwEJAQsBBgEjASUALQBzAHQAcgBvAGsAZQEwAHcAdABzAR0BNAEgATcBJAEGATsBPQE/ASsBLQEvARkBQgBzAHcBMwEfATYBIgFJAToBPAE+AREAdwBpAGQAdABoAQUAbQA6AG0AZQBkAGkAdQBtAHwAdAA6AWEAaQBjAGsBMABhAGMBHQF0AGMAZQBuAQYAYwEsAS4BBQB1ADoAdQBuAHMAZQB0AXMBdgEOAGcAbgErAXoBeQB0AQUAcwA6ATsAYQByAHQAfABlADoBeQBkAHwAZgGRAGYAbAEkAVoBlAGWAGYBmAGfAaEBmgB8AG4AOgBuAS4AbQBhAGwAfABiADoAYgBhAYQBDgEQAZwBswEnAHIBOwAgAbUBtwEPAGUAfABsAbMBFAG+AcAAZQG4AcMAcwBwAZIAcAF0AREAYgGFAQgBeQB8AHMAYQHPAdEALQGUAG8BggGbAYQB2gF4AC0AZQB2AXkAbAB5AdcBbQFLAYUAYwBoAdcAYwGSAGEBpQAgAXgBjQByAHwAdQHxAYIB2AH0AfYBIwFQACIAYQBpAQUBsABpAYoALQEMAGUAbQEyAHQBqwGtAHIBrwGxAfEB/wBlAfgBkQGTAZUBlwGZAG4BmwGdADoBpwB4AaICGgGlAiABoAIiAakAcwIYAcoAZgIjAZYB4QG3Ai0BqQGzAckBywG6AiAAaQG9AHQBvwG2AcoBwgHEAcYBtgI7AjUCPwFEAfIB/gGOAhYB+QH7AYMB8wBlAfUCSQIBAbYCBQGJAYsCMQEFAg8BrgGwAHwCFAJRAdcBkgB0AaMCGwIpAisAbAItAhkCLwGYAjEB5AIdAZwBngInAi4BnAGmAnACMwG0Aj0CNgBmAbsCOQHIAncCPwHFADoBxwJDAn0BuQE7AmAAcgHtAe8CRgH9Ak8CFQH4AfoBgQJNAkgB9wFzAlQAbAFzAG4CBAJhApgBrwB0AGkAbwBuApcBcAIFApsAYQKdAp8BKwEWAG8AcwEMAp4AbgEFAHIAOgKHAHABFAF4AHwB2QBhAGQBmwF0ADoBdwFqAHUBFAEjAHwAcgHZArICtABlACwAIAK4AroCuwLKAsgCvQBtAr8CpQHDAsMCuwLFAdECzgK5As4BdQK+AsABQAEZAGECmABkAGUCowBpApwCrQAtAuIBFAB5AqEBaALkAuYCpwFoAocAYwKmAq4BPAKxAeUCFgGEArYCvABsAgAAbgLSArYCsAGwAv4C0gAtAocB5gG9AcMAbgKwAhACEgLIAwcC+QHDAZQBqwMDAhYC/wEjAw8C+AMJAsgDDQGwAuwAdQLuAqUC5wBkAHUCwwL0AqEAZgBtAyEC9AAtAScBKQAtAG0AbwLiAQUAZgIgAS4AdwGUAGQAcwGyAnYBcQM4AHIDOgGqAbMBrQEQAsgBtQM+AzkDOwJ5AasAYgBvAWECyABmAzcDSQMcAp8C3gICApgCogKaAuUDIgKnAgoDJgLnAXwBggGGAt8CmAL1AuADWwMsAv8BZgGQAZIBDgLiAqEAcAINA2cC7wGLArMAYQB5AaIBIwEFAc4B0AB1AYQBmwKwAHIBggNlAGcCoQEbAysC5wKdAG0BDwBnAy0BggLzAq0BBQBlAGkBmQI9AgkAbgGXAG8DlQGEAC0B3gGWA5MDmgBlA5YBDwOdAHUBlgBsAoABwgGUAdcCGAEjAHACcQIwA64CbABkAXMAcAIFAHAAcAOiAsMAbgF4AWMBswFmAG4CvwBpATsALQBiA6YAdAKfAWwDNQE4ARsAaQHKAZsCNAPHA8kCFABoAGUBcQNNAHgBcwByAgUBzQPWAQYDXwBvA2wAMQAgAC8AIAAxAHwAdgA6ADEANgPkACAAOQEwAQoAZABmAQUDRwBrAGQBPQOvAy4CAAPwAGsAZgB2A/QBdAP9AdsAdgPDAGkAYgEoAQwC6wEZAGIAZwQAAXEAZwE9Ad8D8ABnAGEEDgBrBBAB3gIdAdwAdAJhAe4DwAGPAUMBkgBjAT0BKQGcAjgAeAFnAcQCgABvAGMDHgQLAGcAYgMqAHQD9QQYAd8DxQGgBBoDMQMzAg4BrAJaAbEBZALQAv0AaQKzAekCGAQjAGUB1gOaAG8DCALqAHwAZAA6AGQBlAE/A5gDqAGJAGgBIwOYAGMETwF8AU8C6AMyAGcBwwOUBFwBLgPFAyUDmABoA6gAaAM5AC0EVgIvA6gAcwBvAGYBDQIHBFcETgOUAWgAZgGlAocDvAHDAZgBJAETA34CrQB8AGgAOgBoAHUBzAHZAdgAdAMlA1wEWQA6BGMB+ABsAYAEkgOLAa0CqwB0BAoAIgQMARMEFgQ1BBoBEwRDA/QCNAEuAuIAcgPFAG8AeAB8AHABswHQArkDjASnBKkAYwGzAXwBjQF6BLABbAFuAUkEEwEdBDQEEQSfAX0D2wQcAW4DuwHNAZQBjgJcBI8DJQR7AHQEkAQTApkEvQQZAGQCCQGvBGAEEwPhBDMEAQSeBNIBLgIHAQ8EogG0BKQCFgS3BKsAOgStAWgAbgONA9gCXASzAp8EWAEGA9gEEwO2BNgEDwS+BNIAcAKqAqwCnwEFAW0DyABwAzwDTQQcAG8BawRVAGUEcgLCArEEdAGWAl0B9wHEAW0BoARyACAE/QJcAW0CjQURAG8E/gGVBQgAZwRXBRYE/gEDAoAFBQI7Ao0CXAULAgACUAUMAHIB8QByBQkFJwIAAkAFIAUQBQADyAFrBLIEjwJRAb8DTgUzAsIBswUrBRsCQwU5BQIE8QB4BJ0E9QAtBPcElwLnBUMAdAUEBQYDgQUJBMgCjQTxAHkFRATRBUYE+AMsBVMEwgUSBKMFAQU0BTYCkwQvBMEE0AQ2ArIDogQgA4EAZQO5AqUAfAB4AvcFagEGBKkAeQVuBWYALQRFAeIC0wGrBPUBqgQ9AwYFaQVmAsIBkQAgBWUCpQAgBMUCtQByBWgFbwWCBX4FawMLBXwFgwI7BPUEEwINBWMEGgKrAHoC4wTMBI8E7QIDAqAECwBsAGsFlAEtAXEBOgBpBZgD8ABkA/QE4QTBBE8AZAU5BCkDOgRQAbYD1QGbAGQBswWuAHUAYgGgAHwAZwA6BBgESwLTBQgAZARgAHwDlAEPAYQBlgRKA6YFyAWoBboAawWqA0AE4gW6BCwBcgQLBbYBAwXQBKUENwXUAU4BLgXNAaAF2QXSBaMAawOzBd8D1gXhBKYF0wWkAZoF3QIBAGIF1wBlBZQFqwXbBesFlgSYBeAAdAWtBa8FtQGRBFEAcwW0BE4FtwHeBboBwwW9Bb8B5gUHBSsFwwRhADoFxwGFAHwFygFDAYUF5gFUBDMF8wXqBeQF7AFeAWAAaAXfBfIF0QXpBeMCLgYeBLwGFwYiAmgF7QYeBh8F2gYYAi4BWgB5BfgF+gQcBbAF/QWzBbAGAgW5BbsGBgE9BcAGCQFfBcQFxgGDBg8GEQXMBdYFugFTBegF9AXkBigGGwFhBh4EIANNBiAGSgYvBjEEUAX7BE4GNQX/BjcGVgY5BgUFvgY8BggFTgYLBcUGDQZCBckAOgOeBkUEmgXXAV4GSQYtBk0GHQZGBm4FQABtBc0GJQZSBTIFAgYpBkYAbAViBhcGdARsBSEDBgK4AWkAcwXNBYgGcwVdAwYFCQaDAWgDfgXNATsGiQUzBlQFmQYyASMF/AWyBloFtQY4BgQFvAZfAG8GPQZiBkAGZQXIBhAGaAXLBhMGRgYVBlEGLAaABnAE+wFuAGgBDwB8BEABZwFpAWsBYQaxAXAF1QZrBJwGFgZSBFwBFANxBZkCKwHQAyYBwwIUASwGwgGEBagGdwXaBM0F1gRIBn4GUgXsBewCwwaOBoYG0QBzBtMF2gXsBigG1waFBagC5QQNBr8F2gNbBNUF1gKeBkkG5wERBmkGqQZrAjkG6wTUAREFkAGQAesBPAKIBgkFjAGWAHIFeQTRAl8FhgNWBe8DwwbyAGEEYAE6AQ4BeAbiBtsGzgTiBuwBOgHeBSkHAgFoBqsF8wcPBnAG4gbrAG4BywbiBw0EpgEPAcsGewbwBZkGrAcOBxsBwgXlBukF5wblByYHIQXsBtAHIwYrBy0HKAbeBfcHEwPOBxUGUgcgBzQEGgcYBukBkwcaByECaAcLBx4DlwdCAmEBlQciBwMCKgdBBygGKAE7BjAHNwZIBywHHwcnARAGLgc+BvABOwBsB00HVwdQAaAG4gBuBzkG5gdWAV0BXwZOBdYHXAdUBoEEcgWoBdgHawUPAXsEwAduBzIEpgdxBpQHbgdjBOIHdwavBVoGsgOYBrUGjga4BIQBbwFxBagEFQdrBuAGjwXWAsMGSQeKBtkGawbcBOIFPQRXBagFKQeOBowHMAXvAb0HmAU+BpQBBQFgBlYGMwaYBf4GAAIYASwBXwYBBlwGnQY7BqAGYQXCBkABqwYOBckDpganBhIDYweRB3oEpgeUAR4HZwFiB34GsweBBrcBbAeEBrIHhgXWAc0GSQWGA4wFqAGEB5IEpgYoBtYGhAeLBmsCKgfPBi4G3wfTB5AF7wd1B58F+QFtBa4HowZYBpkHpgGSB6gGmwerBjoGnwahB7AEYQeyBmYGEAe1Bu4HuAXvBlAF8wT9BagEzAZJBP0HSgFgBn0H+wUXB2wD3wfaB/kGiAdrB/wHvAaNBuEF1gFDCAADrwdfBpUH4AZXBbEHpQQpB6cDbgeqBbgHrAfrB68GCgexBqQGQwfyBqgH9AFgB7oBIggBB30E/Ad/BrQBZQa2AWoHxAa6B8cGawgmCCkGugeACC0HgggwB4UGvABiBaoFXQaHBaoCIgLiAXwD4AGLAGIChwBhBc8FmgETA1UHAAcJBwIAeAX/BakGFgIiBf8CuABvAHcD8AhRB78D2AE6BGoFrghZBAsIUQB6CEEFpQB6B8wECwByAGsHiAhHA6IF5AHzA/sIaQBrCD0EMwhIBeQB0wNRAocD8AhqBM8IdgOXAqsDbwEZBC0DcQEFCIMDLAiAA1YEIwf6BMwExgdyAU8BMAETBMEBEwO6CJAAbAO4CIUBDgOvAdAHaAAiAR0EkAEFBkED1QUrAZYE/ATEBsYBjgiQBKEEzATAA5cCAAT3AsACrQiQAUQHvwSQAToB7gILCIkBLAieASwBagGLA2EBegiQASwD8wirBJQBiwMuApYIggEsBuQEXAi9AC0EFAEXCMkH/wjECM0DggdgCNEHlwjTAG0BiwjVAREHMARcB5wI2QjbAr8BEQgQCMEGfQYVCMwI2gMGCOMBBwe+COYCDQjpAlYB0AWeCJ0BLAjoCLwI6gdZBFwIhQj4AYMIkAF6CPwBegWdCP8CnQBiCPAFnAOkAQ8BPAXHAXAGUwWXCIkBegBpCLQJCAGLCQoFKwGDCQ0D1QUJCQQAaQcECKsJAgkJAXoJFwKrAGMHRgdOBaYJEAKdCQcJIAkVCSIJDAklCQ8IqQj3CSwIrQkjCQ0I+gE8CQECYQHCAgEC8wb9CToFnQTiA2oIiQE8BCAEtAk7ARAEpgSYA7kIkAQcCToIqAiCCS4I/ANiByYERwQfCQQIBgi/AgAFfQZqAGMJIgkHCVQH0AbvBCMIhQMlBHAEwQN8AG8JCgJKBa0FBQBhAr8FCgFkCUcBWQPAAHUEgwSFAcoE/gBwBb0AcAE9BBAF8QM7AHcAOgM4AQwFUAHKAbEE/AFJA+gBbQMIAp0ELQEqA8wCtgOoAgYBtgJcAc4BfABwAekDMQFlBj0CHQV8A/cFFwGqAdkBrQEGAbABLQEIAZsEEAZfAGEAYgW8AbMEEAmsBAcE6AK2AZEJpgi2BCQCEwEsArAEXAlcCSgCwgOBCFgJvQWYAaoDDAnCBH0CsAb0BfEJvgbbAZIJxgB8AHcCsAB3Cc4JSQGsCckJDwHXAhYBkgnWCcsJ0AGSCdIChwnXAGUJ3QniCdMJzAGDCdMF8QmCARABUwnTAHcB4QdiA5wJ4Am+CGcAOgB6BqAAbQOXAHwJ9gn1CfcDpQe4AvEHoAI5A94IsQEZCFMBaAHNAuoD9AG0BeMFxQGzBzsHVwYYBmQKDwHDAzUCIQXFAzUKEwMtAicEuAJhBp0BDAZlByEKHQW7BMwBzgoiCN0AYQBwAvQBbAF4ASkBbgmsAaABEgmHCisBLAouBgQBTgi9CjMAbAW9CiYKNwjqBDUE/gEbCjsKLwERA1EDTgTiCj8HxApCCjYD1QK4CkcEEQpAAHIKSgowAT0J0gpIAvYKPApUAZwCsAGfCcEGPAGWBjsHqQIHCiAHKAQQB6kGyQS1AUMBxAOUAQ4DxAIKBnUBGQILAHABHQpxBJgKMQEpB5ABnwQgA/oCFgEwAGYFSgIhCKAAOgAwA+YCyQOmAG8C+wPjA+MJbwPICn0AeAh0AiEDxQG2A8MKjQhTCpAC8QoDBPoC9gpZBYgCsQpdAxoC+gbJCMUCXAm7CP0FfQMIBswBGQp+CMMKkApcCGEAIgp+BuQKkAQYCq4KfgINCpAF/wkXBrwKfgYVCpAJ0AooAQUJggq+BP4J3QrCCqYDEQV7Aa0Kwgp9B2oKXAKlCKABkQoZAmgFxQGYChkBqQVOBT4EKgdxCn0C9QNRCMAKqQqrBO0DLQEVASgFWQHZAHUAaQE6AuAAcwE6AhYAaQBmAsgAcwB5ATsCCwAtCucK8ArqCuwFKwrvACAAJwBBA7gBoAAgAEMEwAAgAEUDMQBqAGkAJwLIACcAUwBlAGcAbwJPAFUASQsECwYLCAsKCwwLDgsQCxIAUwB5AG0DTQBsCwkK/ABOA04AbwsBCwMLBQBvCwcAJwJfCucK+QruAsgARwBlAS4AZwBpAGECyABDARUIRws0CwoAVALlBfEAIABOCeIAIABSBQIC4AsgCzwBZgBzCvAK7QBmCCwLLAMxBJYB0AF4AsgAUwBGAE0CnwBvAC0AUgsNAtEAcgLIAE0B5wBvC14CnwF0C2ELJQGDASwBtgsKAEwEBgIWBI0AIAtWAa0LIAAnCwIDJQPOAHILPwniCyALTwKqC1EDVgBmAG4K4AS2AGYK4wHoCtsBnQM0CuEBpQKlAyUI5AGFAp0E6Ap4AG4ISgrdAQYBPwb9CGgKrwcbBNcLlARsAuAAZwB1BwYG7QMIBgoLfgSWC4gEtgUXCY4BsAhmC5gLfwTyC5wB0AGgBjMK2wq2CuEJMQqpAk0LpwFKCSgB3ABkAGoDfge4C38BSwu6AVoChwTMBnELmQdQC8QI5Qu4CvEK3Au2AHkBegPVAqsLkQfJARsL0AvSCcoK6wVHBPkI9AvCAUQLywvRAWEL2gE6AhIBKgiDC9ULtQS2C84L4wvUB3gLzQq8C9gL7QPDATQJGwu4A/8L1wS2AHYBlAs0Ct4LmQv7C8QL+wUrAuAJpQL9AxYC0guRAHYBHQucDAIL/QF7CigMCQOiDAEL/AwEAeQCQgHcAqsC4ArbAeYMEwwDBLYCCwsoAGkMGwrMCuEMDQwVAYkLiwngDBsLzwv6DBQEtgPBAWYFKwBjDBsLrwwlDC4BBgvcAycL9wvqAQYMJgiHC44DjAp4C/EEtgEIC/YLmQxDAR4DkwU+Cn0ELQuIBxIE0gi1ArgLvwE7ATAIzwEFCM8MVQxXBgoMVQeICmUE0gTGAGEMXAEdDF4B3AqGCj0BgwFjAXABZQOkCXMBega0ArsBrwIiDG0BlgBtBEABDwxxACgAMALIADEAZgByACkMXAjDDGQKiwtYCq0CrwqdAHcFUAj9BE4EUAF5AvoDQAyHACAC4gZCAlwEWwj9DJEMjQNWBBQEwQyCDGYKVAINA4sB8QSVAYwE7gxvDKEAYQxyBO0Exwx1DGsAbgx4DHoD5gx9DH8BGQBnDGMGCgxnAzQD6gPtAC0AMQxVA70AdAxkCPEHKQAiDLQCDQzACqUHQwyzDJsMtgpUDLgD4wPlDLsMVQKHDFoBXwMGCcEBmgzRDMUMywnBDMgMwwQgDGQBIwEWAt0MVQJhDNME0gzgA3YBIwHcCEgHkABnCIsM3wpxAt0MZwINAhgFuQxeDOMMygzUDOcM8QyeA2wAcwz1DFsBGQBoBPIEagToBK8AcAOPBIsEjQEwB78JGgU+DGkMoQxsDKkMbgGvDKYMqApoAZwB8QEnB3IKaA0LAR0AaAB5AHAD1QMXCN0EagLDAvMKfA0BB28NHw0hAXkDBQEOA4sBew0lB5ANKwEFDSsNIgyfAWUC4AugCMgAIgbjBNcHDwTcAY4NCgEZBuMEwQcPBHsEpQuYBccIoAdlCGYDVgKZB7MBMAQGBaANTAXIBkoNUgHTDVUBhQZTDNcNRAkGDOQLjw1WBi0M3AkdDVoBBgoTDVIDzg1mCSYHVw1dDT0JHgezDWwI5AdIB7gNcARwCLAKmQXGDXcC0gEwAGoBHQxTAp0AZgN4DHMIhQVfBS4DrQJiBH4CbQIfCrcNdAJyAiYBqAJtBUwG/AUaBHUCWQIRAlsBzQV3A8UB1ARIA5gB2A2bAd0B3wnYDZsC+AcbBEUG9wvGAe4B8AJHAowCXgKPAfwCTgUtDSgAIgsHAQUNgAruA3gKbgINDZcCEgHqAoYG+QUlAkoNiAIaDYoCHgJvAaEK0gIlCpACZAnaAmYDsAJqAiwDswrZBSEGPgrYAjQCgwoUAnoCOgI8AcEBuQJ/AoEN3QI+Dd8CsAGgBBQAYwB5BYIFTwotDeYBdA3pB3EBxAHxDe0N6A2zAhcB8QKLDfUCSwKQDfgFUQEZAGoCDQ24DYIK7AJmAlgEPQ2YAbEChQHsC8cJhgUMDcQDnwIcDccNkAhVDY4NywJ0Am0CKg3OAmcNjgIwDdIBqQ2TDdYEdQ3YDd4BzA33DbIFIw2wApENrgVgACIHagraARkC/QINC7IJWwfLBOgOBQMdDTwBxQhqAQUHIQhtCEkBMABsB78HIQ0NB5UOLw4xA8MBSgc2CoEJDALiBHYEUAPDAGMFUAI5CJMHAABxC6AChwROAZgIQwNbAbEGBgsxClEL/QorA5QBPAK4ARIHfwXxAREBDwh5Db4AawA6CGsAbgL/BFEOPwKrDjsORwaUBNMLoQ4/A8ME8gpsDkgHUQVWBUgNeQakAV8BwwZEDoMOcgQgDnwOdglLBpUEdw5PDlEFKQW7AhgOVQTGDlgMjABjDlsGngRgCzIOYATMDmIG1w5lAcIDnA5pBD4AfA5sDm4OcAxhARkEMgGvDl8I9AsdDVQAdA6sCzMIRgXjATALHQWZDrIDpAYtDW4LHQdADrEBlA6zCQ4NdA62CHQOuQhGBnQOtgTeDr8OrQ1yDskOuA7ACSEHLgIdDskOvg7GDXIGIw6qB2oO1g4uACIAbQTBDtYHvA62BCAO1gf4DqoAcwhKAa8O5w62DucOxQG2CHcFqw7rCHMOqw7uBKcGUgQ6A1YCDAhzBNcO6Q7vBlIH8w7xCEcBYw70ByUHuwb7DwAMnw8DBfMAcwhPDwcI2A78DvUF2gRwAyUHCg7mCHMGFQ8PDwQI7QYcDvEBHQ8PBKAI0A7dDucAYwTyDx4FAgw5DvgO5wKZDw8G7A7xDvMO5wMwAzIPKABrDvsO9ATcDrMO8Q8kDvQMOQoEDyEAaw7fDvQFkA7xDwgPLwu3Dz0O4w70DosO4ghTApwAaALoBWkInABtCA0OvwFhC+8O3QkGDwICIg1jCSgOtge/DHEALQ5DB7gDiw8IAiIK0Q9bDqoPFwynDxoPUAB4D2gCIgdZA4sPVw6xDroGJw9mDt0JEgxpAYsPYAzNADAAMAAlBrQMagyiDHMMpQ05DRYMpAEcAjgNGwTuDtQIZA9yCS0HQg91A4sPFwOkB30DNQAxD3wPfgygDKwMowyqDHAPaQ+CD4cNGg+bC/4LHQ9LAGkPWQQ4BNIO9w42DqQEQAlwBEMB6AcABEcESQZoBEwDdwyLBFEIagHWBFUFCQHWBFoFmwRdBa4GYwRiCKwDxgb9BIMEaQRrBG0B1wRvBHEEcwrYAWgOTgR5AhYBeQK1BH4AeASAAqsDyQSEBIYEiAHyBIsIRQyJAU8BxASTAWoBDwVXBJkEcQEFAG8AYgBqA94DLQEMDYUJRwWdAlwD6QF8AwgEJgjHAdcETwFEAbABEQhgCPQFFw/qD+wP7g87CpkFXAU6DcIEkQUwDZQHvAocCaEN4AUhBTgFXQUNEAsFHQU7DZUFPxATBRkHvAUdATAEcQINBHEBnQbvBHEHiBAhDVYC4AHuBd4BGQRxCFMQJg1bCgcCmg8UACIEcQTyEC4MOAKlC8gQNATXEDYOfwvdEB4MfQ/qBHkNVgE9AmEBIxAeCnIP6gtRBAkQHgNAD+oGIBBMEDUAcg0hCuoQHgEOD+oDpgccECsHbwOeByEInwKdBmUIogmFAhQEygGOCwIP4gilCuoIpwv+AX0QVwVLBygQNhBVECAQWAdODkkH3weiBpcH4wgVAeAH5ggYBbYH6QZeBgcFwQgeB+4IIAe0AW0O/xBaBhUQXAcoCDUBbwg3AWYIOQa5CDsQPwdqBcAAcgqtEJQQJQMICq0B3AO8AGgQKhAzAZ8IdBCWEJwGGBCUAGMEMhCkCacBEgiZAzAO0BAAAZ8CmRCqCcENaBArAZ8QihCbEKsKwg/xCJkPsQm4EJQFShCzCdIFSgIUEL0ERhC/ELYB6A/qELkJwQVZEMUEQxC+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",K=A=>({all:A=A||new Map,on(B,g){let Q=A.get(B);Q?Q.push(g):A.set(B,[g])},once(B,g){let Q=(...Q)=>(A.get(B)&&A.delete(B),g(...Q)),w=A.get(B);w?w.splice(0,w.length,Q):A.set(B,[Q])},off(B,g){let Q=A.get(B);Q&&(g?Q.splice(Q.indexOf(g)>>>0,1):A.set(B,[]))},emit(B,g){let Q=A.get(B);Q&&Q.slice().forEach(A=>{A(g)}),Q=A.get("*"),Q&&Q.slice().forEach(A=>{A(B,g)})}});function V(A){try{let B=atob(A);return Uint8Array.from(B,A=>A.charCodeAt(0))}catch(A){throw new Error(`Failed to convert base64 to buffer: ${A.message}`)}}function y(A){try{let B=z(A);return new TextDecoder("utf-8").decode(B)}catch(A){throw new Error(`Failed to decompress to string: ${A.message}`)}}function z(A){try{let B=V(A),g=[];for(let A=0;A<B.length;A+=2)g.push(B[A]<<8|B[A+1]);let Q=new Map,w=256;for(let A=0;A<256;A++)Q.set(A,String.fromCharCode(A));let E=Q.get(g[0])||"",e=E;for(let A=1;A<g.length;A++){let B=g[A],C=Q.get(B);C||(C=E+E[0]),e+=C,Q.set(w++,E+C[0]),E=C}return(new TextEncoder).encode(e)}catch(A){throw new Error(`Failed to decode and decompress to buffer: ${A.message}`)}}var T=new RegExp(["^((?<m>xs|sm|md|lg|xl|2xl|sma|mda|lga|xla):)?","(?<l>[0-9]*)?","(?<p>",["(",["(\\[([a-zA-Z]+)\\])"],"|",["(","((-w|[a-z])((-)?[a-z])*)","(([A-Z#!])|((-)?[.0-9])|(--|{|'))","([^&@]+)?",")"],")"],["(&","((-w|[a-z])((-)?[a-z])*)","(([A-Z#!])|((-)?[.0-9])|(--|{|'))","([^@]+)?",")?"],["(&","\\[([a-zA-Z]+)\\]",")?"],")","(@(?<s>.*))?$"].flat(1/0).join("")),$=new RegExp("^(\\[(?<p>[a-zA-Z]+)\\])$"),_=new RegExp(["^(?<p>(-w|[a-z])((-)?[a-z]+)*)","(?<v>(([A-Z#!.{'])|((-)?[0-9])|--)(.+)?)$"].join("")),AA={n:"none",nm:"normal",a:"auto",i:"inherit",in:"initial",is:"inline-start",ie:"inline-end",tr:"transparent",c:"center",cl:"collapse",l:"left",r:"right",h:"hidden",v:"visible",s:"start",e:"end",t:"top",b:"bottom",bs:"block-start",be:"block-end"},N=A=>typeof Document<"u"&&A instanceof Document,v=A=>typeof ShadowRoot<"u"&&A instanceof ShadowRoot,BA=A=>typeof HTMLElement<"u"&&A instanceof HTMLElement,gA=A=>{let B={},g={};for(let Q of A){let[A,w,E]=Q.split("\t");if(B[A]=w,E){let B=Object.fromEntries(E.split("|").map(A=>{let[B,g]=A.split(":");return[B,g]}));g[A]=B}}return{properties:B,values:g}},eA=JSON.parse(y(R)),{properties:QA,values:EA}=gA(eA),wA=A=>A&&"function"==typeof A.getRootNode?A.getRootNode():null,P=(A,B)=>{if(Array.isArray(A))return void A.forEach(A=>P(A,B));let g="string"==typeof A?A:A instanceof String?A.valueOf():null;g&&g.split(/\s+/g).forEach(A=>{A&&B.push(A)})},f=A=>{let B=[];return P(A,B),B},sA=(A,B="fwkui")=>{if(!A||"function"!=typeof A.querySelector||A.querySelector(`style[id="${B}"]`))return;let g=N(A)?A:A.ownerDocument;if(!g)return;let Q=g.createElement("style");if(Q.id=B,v(A))A.prepend(Q);else{let A=g.head||g.documentElement;if(!A)return;A.append(Q)}let w=`@layer ${Array.from({length:24},(A,B)=>`l${B}`).join(", ")};`,E=setInterval(()=>{Q.sheet&&(clearInterval(E),Q.sheet.insertRule(w,Q.sheet.cssRules.length))},0)},k=(A={css:"",gValue:{},exNames:[],mQuery:[],valueExt:{}})=>{let{css:B=null,mQuery:g=[],gValue:Q={},valueExt:w={},exNames:E=[]}=A||{};Array.isArray(g)||(g=[]),Array.isArray(E)||(E=[]),Object.getPrototypeOf(Q)!==Object.getPrototypeOf({})&&(Q={}),Object.getPrototypeOf(w)!==Object.getPrototypeOf({})&&(w={});let e={...AA,...w},C=A=>{if("string"!=typeof A||!A||E.length>0&&E.some(B=>B.includes("*")?new RegExp("^"+B.replace(/\*/g,".+")+"$").test(A):B===A))return null;let{m:B="default",l:g=0,p:Q,s:w=""}=T.exec(A)?.groups??{};if(!Q)return null;let e=Q.split("&").map(A=>t(A)).filter(A=>A);if(0===e.length)return null;let C=w.replace(/(';|;)/g,A=>"';"===A?";":" "),s=CSS.escape(A),r=`selector(${s}${C})`;return C&&!CSS.supports(r)?null:{media:B,layer:g,className:s,property:e.join(";"),selector:C}},t=A=>{let B=(A=>{let{p:B=""}=$.exec(A)?.groups??{};if(B&&Q[B]&&Array.isArray(Q[B])){let A=Q[B];if(A.every(A=>CSS.supports(A)))return A.join(";")}return null})(A);if(B)return B;let{p:g,v:w=""}=_.exec(A)?.groups??{};if(!g||!w)return null;let E=QA[g]||g,C=w[0],t=w.substring(1),s="!"!==C?w:t,r="!"===C;if(!s)return null;s=s[0].toLowerCase()+s.substring(1),s=s.startsWith("--")?`var(${s})`:s.startsWith("{")&&s.endsWith("}")?s.substring(1,s.length-1):EA[g]?.[s]||e[s]||s,s=s.replace(/(';|;)/g,A=>"';"===A?";":" ");let D=s+(r?" !important":""),o=[`${E}:${D}`];switch(E){case"mx":o=[`margin-left:${D}`,`margin-right:${D}`];break;case"my":o=[`margin-top:${D}`,`margin-bottom:${D}`];break;case"px":o=[`padding-left:${D}`,`padding-right:${D}`];break;case"py":o=[`padding-top:${D}`,`padding-bottom:${D}`];break;case"bdx":o=[`border-left:${D}`,`border-right:${D}`];break;case"bdy":o=[`border-top:${D}`,`border-bottom:${D}`]}return o.every(A=>CSS.supports(A))?o.join(";"):null},s=A=>{let B=[...A?.classList||[]].filter(A=>{if(A){let B=45===A.charCodeAt(0)?A.charCodeAt(1):A.charCodeAt(0);return B>=97&&B<=122||B>=48&&B<=57}return!1});return A?.children?.length>0&&Array.from(A?.children).forEach(A=>{B.push(...s(A))}),B.flat(1/0)},r=(A,B)=>{if("function"!=typeof B)throw new Error("Callback is not a function");if(!A)return;let g=null;N(A)?g=A.documentElement:(v(A)||BA(A))&&(g=A),g&&(B(s(g)),new MutationObserver(A=>{for(let g of A)if("attributes"===g.type&&"class"===g.attributeName){if(1===g.target.nodeType){let A=String(g.target?.className??""),Q=String(g?.oldValue??"");if(A||Q){let g=f(A),w=f(Q);g=g.filter(A=>!w.includes(A)),B([...new Set(g)])}}}else if("childList"===g.type&&g.addedNodes.length>0){let A=[...g.addedNodes].filter(A=>1===A.nodeType).map(A=>s(A)).flat(1/0);B([...new Set(A)])}}).observe(g,{attributes:!0,attributeOldValue:!0,attributeFilter:["class"],childList:!0,subtree:!0}))};return{buildCss:(A=(typeof document>"u"?null:document))=>{let Q=wA(A);if(!Q||typeof CSSStyleSheet>"u"||!("adoptedStyleSheets"in Q))return null;let w=new Map;sA(Q);let E=K(),e=[{default:""},{xs:"screen and (max-width: 575px)"},{sm:"screen and (min-width: 576px)"},{md:"screen and (min-width: 768px)"},{lg:"screen and (min-width: 992px)"},{xl:"screen and (min-width: 1200px)"},{"2xl":"screen and (min-width: 1400px)"},{sma:"screen and (max-width: 768px)"},{mda:"screen and (max-width: 992px)"},{lga:"screen and (max-width: 1200px)"},{xla:"screen and (max-width: 1400px)"},...g],t=e.filter((A,B)=>e.findLastIndex(B=>Object.keys(B)[0]===Object.keys(A)[0])===B),s=t.map(A=>Object.keys(A)[0]),D={},o={root:new CSSStyleSheet},c={root:""},G={root:[]},I={root:!1};s.forEach(A=>{D[A]=new Set,o[A]=new CSSStyleSheet({media:t.find(B=>Object.keys(B)[0]===A)?.[A]||""}),c[A]="",G[A]=[],I[A]=!1});let a=Array.isArray(B)?B.join("\n"):B||"";c.root=a,o.root.replaceSync(a),["root",...s].forEach(A=>{Q.adoptedStyleSheets.includes(o[A])||(Q.adoptedStyleSheets=[...Q.adoptedStyleSheets,o[A]])});let l=(A,B)=>{let{media:g,property:Q,selector:E,layer:e,className:C}=B,t=o[g],s=D[g],r=Number(e)||0,a=w.get(A),l=`@layer l${r}{${a?`.${a}${E}`:`.${C}${E}`}{${Q}}}`;s.has(l)||(s.add(l),G[g].push(l),I[g]||(I[g]=!0,queueMicrotask(()=>{let A=G[g];A.length>0&&(c[g]+=(c[g]?"\n":"")+A.join("\n"),t.replaceSync(c[g]),G[g]=[]),I[g]=!1})))};return E.on("observeDom",A=>{A.length>0&&A.forEach(A=>{let B=C(A);B&&l(A,B)})}),{clsx:(...A)=>{let B=f(A);B=[...new Set(B)];let g=B.map(A=>{if(w.has(A))return w.get(A);if(T.test(A)){let B="D"+w.size.toString(32).toUpperCase();return w.set(A,B),B}return A});return queueMicrotask(()=>E.emit("observeDom",B)),g.join(" ")},observe:()=>{r(Q,A=>{A.length>0&&A.forEach(A=>{let B=C(A);B&&l(A,B)})})}}}}},tA=(A,B)=>{let g=k(B).buildCss(A);g&&g.observe()},CA=(A,B)=>{let g=k(B).buildCss(A);return g?g.clsx:(...A)=>f(A).join(" ")},iA={css:k,cssObserve:tA,clsx:CA};export{CA as cssClsx,tA as cssObserve,iA as default,k as xcss};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fwkui/x-css",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"