@master/css 2.0.0-beta.20 → 2.0.0-beta.200

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.
Files changed (252) hide show
  1. package/README.md +113 -109
  2. package/dist/bin/index.bundle.js +36 -0
  3. package/dist/bin/index.d.ts +2 -0
  4. package/dist/config/animations.d.ts +110 -0
  5. package/dist/config/functions.d.ts +130 -0
  6. package/dist/config/index.d.ts +71 -25
  7. package/dist/config/{breakpoints.d.ts → media-queries.d.ts} +3 -2
  8. package/dist/config/rules.d.ts +279 -3
  9. package/dist/config/selectors.d.ts +3 -2
  10. package/dist/config/semantics.d.ts +189 -80
  11. package/dist/config/styles.d.ts +3 -0
  12. package/dist/config/variables.d.ts +129 -0
  13. package/dist/constants/config-esm-text.d.ts +1 -0
  14. package/dist/constants/config-text.d.ts +1 -0
  15. package/dist/constants/config-ts-text.d.ts +1 -0
  16. package/dist/constants/selector-symbols.d.ts +1 -0
  17. package/dist/constants/start-symbol.d.ts +2 -1
  18. package/dist/core.d.ts +121 -0
  19. package/dist/functions/init-runtime.d.ts +9 -0
  20. package/dist/functions/reorder-for-readable-classes.d.ts +8 -0
  21. package/dist/functions/transform-color-with-opacity.d.ts +1 -0
  22. package/dist/index.browser.bundle.js +1 -0
  23. package/dist/index.browser.d.ts +6 -1
  24. package/dist/index.bundle.js +35 -0
  25. package/dist/index.bundle.mjs +35 -0
  26. package/dist/index.d.ts +11 -21
  27. package/dist/layer.d.ts +11 -0
  28. package/dist/polyfills/css-escape.d.ts +0 -1
  29. package/dist/rule.d.ts +107 -52
  30. package/dist/types/css-declarations.d.ts +4 -0
  31. package/dist/utils/flatten-obj.d.ts +4 -0
  32. package/dist/utils/hex-to-rgb.d.ts +1 -1
  33. package/dist/utils/is-plain-object.d.ts +1 -1
  34. package/package.json +1 -162
  35. package/LICENSE +0 -21
  36. package/dist/apis/extend.d.ts +0 -5
  37. package/dist/apis/render-from-html.d.ts +0 -3
  38. package/dist/apis/render-into-html.d.ts +0 -3
  39. package/dist/apis/render.d.ts +0 -3
  40. package/dist/config/colors.d.ts +0 -25
  41. package/dist/config/root-size.d.ts +0 -2
  42. package/dist/config/scheme.d.ts +0 -7
  43. package/dist/config/themes.d.ts +0 -2
  44. package/dist/config/values.d.ts +0 -126
  45. package/dist/css.d.ts +0 -80
  46. package/dist/index.browser.js +0 -2
  47. package/dist/index.browser.js.map +0 -7
  48. package/dist/index.cjs +0 -2
  49. package/dist/index.cjs.map +0 -7
  50. package/dist/index.mjs +0 -2
  51. package/dist/index.mjs.map +0 -7
  52. package/dist/rules/accent-color.d.ts +0 -7
  53. package/dist/rules/align-content.d.ts +0 -6
  54. package/dist/rules/align-items.d.ts +0 -6
  55. package/dist/rules/align-self.d.ts +0 -6
  56. package/dist/rules/animation-delay.d.ts +0 -7
  57. package/dist/rules/animation-direction.d.ts +0 -6
  58. package/dist/rules/animation-duration.d.ts +0 -7
  59. package/dist/rules/animation-fill-mode.d.ts +0 -6
  60. package/dist/rules/animation-iteration-count.d.ts +0 -7
  61. package/dist/rules/animation-name.d.ts +0 -6
  62. package/dist/rules/animation-play-state.d.ts +0 -6
  63. package/dist/rules/animation-timing-function.d.ts +0 -6
  64. package/dist/rules/animation.d.ts +0 -8
  65. package/dist/rules/appearance.d.ts +0 -5
  66. package/dist/rules/aspect-radio.d.ts +0 -7
  67. package/dist/rules/backdrop-filter.d.ts +0 -11
  68. package/dist/rules/background-attachment.d.ts +0 -6
  69. package/dist/rules/background-blend-mode.d.ts +0 -5
  70. package/dist/rules/background-clip.d.ts +0 -9
  71. package/dist/rules/background-color.d.ts +0 -8
  72. package/dist/rules/background-image.d.ts +0 -7
  73. package/dist/rules/background-origin.d.ts +0 -6
  74. package/dist/rules/background-position.d.ts +0 -7
  75. package/dist/rules/background-repeat.d.ts +0 -6
  76. package/dist/rules/background-size.d.ts +0 -6
  77. package/dist/rules/background.d.ts +0 -8
  78. package/dist/rules/border-collapse.d.ts +0 -6
  79. package/dist/rules/border-color.d.ts +0 -11
  80. package/dist/rules/border-image-outset.d.ts +0 -5
  81. package/dist/rules/border-image-repeat.d.ts +0 -6
  82. package/dist/rules/border-image-slice.d.ts +0 -6
  83. package/dist/rules/border-image-source.d.ts +0 -6
  84. package/dist/rules/border-image-width.d.ts +0 -6
  85. package/dist/rules/border-image.d.ts +0 -6
  86. package/dist/rules/border-radius.d.ts +0 -9
  87. package/dist/rules/border-spacing.d.ts +0 -5
  88. package/dist/rules/border-style.d.ts +0 -9
  89. package/dist/rules/border-width.d.ts +0 -9
  90. package/dist/rules/border.d.ts +0 -10
  91. package/dist/rules/box-decoration-break.d.ts +0 -9
  92. package/dist/rules/box-shadow.d.ts +0 -7
  93. package/dist/rules/box-sizing.d.ts +0 -6
  94. package/dist/rules/break-after.d.ts +0 -5
  95. package/dist/rules/break-before.d.ts +0 -5
  96. package/dist/rules/break-inside.d.ts +0 -5
  97. package/dist/rules/caret-color.d.ts +0 -7
  98. package/dist/rules/clear.d.ts +0 -5
  99. package/dist/rules/clip-path.d.ts +0 -6
  100. package/dist/rules/color.d.ts +0 -8
  101. package/dist/rules/column-span.d.ts +0 -6
  102. package/dist/rules/columns.d.ts +0 -8
  103. package/dist/rules/contain.d.ts +0 -5
  104. package/dist/rules/content.d.ts +0 -5
  105. package/dist/rules/counter-increment.d.ts +0 -6
  106. package/dist/rules/cursor.d.ts +0 -5
  107. package/dist/rules/cx.d.ts +0 -6
  108. package/dist/rules/cy.d.ts +0 -6
  109. package/dist/rules/direction.d.ts +0 -5
  110. package/dist/rules/display.d.ts +0 -6
  111. package/dist/rules/fill.d.ts +0 -7
  112. package/dist/rules/filter.d.ts +0 -8
  113. package/dist/rules/flex-basis.d.ts +0 -5
  114. package/dist/rules/flex-direction.d.ts +0 -6
  115. package/dist/rules/flex-grow.d.ts +0 -6
  116. package/dist/rules/flex-shrink.d.ts +0 -6
  117. package/dist/rules/flex-wrap.d.ts +0 -6
  118. package/dist/rules/flex.d.ts +0 -7
  119. package/dist/rules/float.d.ts +0 -5
  120. package/dist/rules/font-family.d.ts +0 -6
  121. package/dist/rules/font-size.d.ts +0 -6
  122. package/dist/rules/font-smoothing.d.ts +0 -9
  123. package/dist/rules/font-style.d.ts +0 -7
  124. package/dist/rules/font-variant-numeric.d.ts +0 -6
  125. package/dist/rules/font-weight.d.ts +0 -7
  126. package/dist/rules/font.d.ts +0 -8
  127. package/dist/rules/gap.d.ts +0 -9
  128. package/dist/rules/grid-area.d.ts +0 -7
  129. package/dist/rules/grid-auto-columns.d.ts +0 -6
  130. package/dist/rules/grid-auto-flow.d.ts +0 -6
  131. package/dist/rules/grid-auto-rows.d.ts +0 -5
  132. package/dist/rules/grid-column-end.d.ts +0 -7
  133. package/dist/rules/grid-column-start.d.ts +0 -7
  134. package/dist/rules/grid-column.d.ts +0 -9
  135. package/dist/rules/grid-columns.d.ts +0 -10
  136. package/dist/rules/grid-row-end.d.ts +0 -6
  137. package/dist/rules/grid-row-start.d.ts +0 -6
  138. package/dist/rules/grid-row.d.ts +0 -9
  139. package/dist/rules/grid-rows.d.ts +0 -9
  140. package/dist/rules/grid-template-areas.d.ts +0 -5
  141. package/dist/rules/grid-template-columns.d.ts +0 -6
  142. package/dist/rules/grid-template-rows.d.ts +0 -5
  143. package/dist/rules/grid-template.d.ts +0 -6
  144. package/dist/rules/grid.d.ts +0 -6
  145. package/dist/rules/group.d.ts +0 -9
  146. package/dist/rules/height.d.ts +0 -6
  147. package/dist/rules/inset.d.ts +0 -9
  148. package/dist/rules/isolation.d.ts +0 -5
  149. package/dist/rules/justify-content.d.ts +0 -6
  150. package/dist/rules/justify-items.d.ts +0 -6
  151. package/dist/rules/justify-self.d.ts +0 -6
  152. package/dist/rules/letter-spacing.d.ts +0 -7
  153. package/dist/rules/line-clamp.d.ts +0 -9
  154. package/dist/rules/line-height.d.ts +0 -7
  155. package/dist/rules/lines.d.ts +0 -9
  156. package/dist/rules/list-style-image.d.ts +0 -6
  157. package/dist/rules/list-style-position.d.ts +0 -6
  158. package/dist/rules/list-style-type.d.ts +0 -6
  159. package/dist/rules/list-style.d.ts +0 -6
  160. package/dist/rules/margin.d.ts +0 -9
  161. package/dist/rules/mask-image.d.ts +0 -8
  162. package/dist/rules/max-height.d.ts +0 -6
  163. package/dist/rules/max-width.d.ts +0 -6
  164. package/dist/rules/min-height.d.ts +0 -6
  165. package/dist/rules/min-width.d.ts +0 -6
  166. package/dist/rules/mix-blend-mode.d.ts +0 -6
  167. package/dist/rules/object-fit.d.ts +0 -6
  168. package/dist/rules/object-position.d.ts +0 -6
  169. package/dist/rules/opacity.d.ts +0 -6
  170. package/dist/rules/order.d.ts +0 -7
  171. package/dist/rules/outline-color.d.ts +0 -7
  172. package/dist/rules/outline-offset.d.ts +0 -5
  173. package/dist/rules/outline-style.d.ts +0 -6
  174. package/dist/rules/outline-width.d.ts +0 -6
  175. package/dist/rules/outline.d.ts +0 -7
  176. package/dist/rules/overflow.d.ts +0 -9
  177. package/dist/rules/overscroll-behavior.d.ts +0 -8
  178. package/dist/rules/padding.d.ts +0 -9
  179. package/dist/rules/place-content.d.ts +0 -6
  180. package/dist/rules/place-items.d.ts +0 -6
  181. package/dist/rules/place-self.d.ts +0 -6
  182. package/dist/rules/placement.d.ts +0 -8
  183. package/dist/rules/pointer-events.d.ts +0 -5
  184. package/dist/rules/position.d.ts +0 -5
  185. package/dist/rules/quotes.d.ts +0 -5
  186. package/dist/rules/resize.d.ts +0 -5
  187. package/dist/rules/rx.d.ts +0 -6
  188. package/dist/rules/ry.d.ts +0 -6
  189. package/dist/rules/scroll-behavior.d.ts +0 -5
  190. package/dist/rules/scroll-margin.d.ts +0 -9
  191. package/dist/rules/scroll-padding.d.ts +0 -9
  192. package/dist/rules/scroll-snap-align.d.ts +0 -6
  193. package/dist/rules/scroll-snap-stop.d.ts +0 -6
  194. package/dist/rules/scroll-snap-type.d.ts +0 -6
  195. package/dist/rules/shape-image-threshold.d.ts +0 -6
  196. package/dist/rules/shape-margin.d.ts +0 -6
  197. package/dist/rules/shape-outside.d.ts +0 -6
  198. package/dist/rules/spacing.d.ts +0 -9
  199. package/dist/rules/stroke-dasharray.d.ts +0 -5
  200. package/dist/rules/stroke-dashoffset.d.ts +0 -5
  201. package/dist/rules/stroke-width.d.ts +0 -6
  202. package/dist/rules/stroke.d.ts +0 -6
  203. package/dist/rules/table-layout.d.ts +0 -5
  204. package/dist/rules/text-align.d.ts +0 -6
  205. package/dist/rules/text-decoration-color.d.ts +0 -7
  206. package/dist/rules/text-decoration-line.d.ts +0 -6
  207. package/dist/rules/text-decoration-style.d.ts +0 -6
  208. package/dist/rules/text-decoration-thickness.d.ts +0 -7
  209. package/dist/rules/text-decoration.d.ts +0 -8
  210. package/dist/rules/text-fill-color.d.ts +0 -10
  211. package/dist/rules/text-indent.d.ts +0 -5
  212. package/dist/rules/text-orientation.d.ts +0 -6
  213. package/dist/rules/text-overflow.d.ts +0 -6
  214. package/dist/rules/text-rendering.d.ts +0 -6
  215. package/dist/rules/text-shadow.d.ts +0 -6
  216. package/dist/rules/text-size.d.ts +0 -8
  217. package/dist/rules/text-stroke-color.d.ts +0 -10
  218. package/dist/rules/text-stroke-width.d.ts +0 -8
  219. package/dist/rules/text-stroke.d.ts +0 -8
  220. package/dist/rules/text-transform.d.ts +0 -6
  221. package/dist/rules/text-underline-offset.d.ts +0 -5
  222. package/dist/rules/touch-action.d.ts +0 -5
  223. package/dist/rules/transform-box.d.ts +0 -6
  224. package/dist/rules/transform-origin.d.ts +0 -7
  225. package/dist/rules/transform-style.d.ts +0 -6
  226. package/dist/rules/transform.d.ts +0 -9
  227. package/dist/rules/transition-delay.d.ts +0 -7
  228. package/dist/rules/transition-duration.d.ts +0 -7
  229. package/dist/rules/transition-property.d.ts +0 -6
  230. package/dist/rules/transition-timing-function.d.ts +0 -6
  231. package/dist/rules/transition.d.ts +0 -7
  232. package/dist/rules/user-drag.d.ts +0 -8
  233. package/dist/rules/user-select.d.ts +0 -8
  234. package/dist/rules/variable.d.ts +0 -9
  235. package/dist/rules/vertical-align.d.ts +0 -6
  236. package/dist/rules/visibility.d.ts +0 -5
  237. package/dist/rules/white-space.d.ts +0 -6
  238. package/dist/rules/width.d.ts +0 -6
  239. package/dist/rules/will-change.d.ts +0 -5
  240. package/dist/rules/word-break.d.ts +0 -6
  241. package/dist/rules/word-spacing.d.ts +0 -6
  242. package/dist/rules/writing-mode.d.ts +0 -6
  243. package/dist/rules/x.d.ts +0 -6
  244. package/dist/rules/y.d.ts +0 -6
  245. package/dist/rules/z-index.d.ts +0 -7
  246. package/dist/utils/get-border-props.d.ts +0 -3
  247. package/dist/utils/get-css-property-text.d.ts +0 -5
  248. package/dist/utils/normalize-css-calc-text.d.ts +0 -5
  249. package/dist/utils/parse-value-unit.d.ts +0 -2
  250. package/dist/utils/parse-value.d.ts +0 -6
  251. package/readme.md +0 -118
  252. /package/dist/{apis → functions}/fill-color-scale.d.ts +0 -0
@@ -0,0 +1,129 @@
1
+ declare const variables: {
2
+ font: {
3
+ family: {
4
+ mono: string[];
5
+ sans: string[];
6
+ serif: string[];
7
+ };
8
+ weight: {
9
+ thin: number;
10
+ extralight: number;
11
+ light: number;
12
+ regular: number;
13
+ medium: number;
14
+ semibold: number;
15
+ bold: number;
16
+ extrabold: number;
17
+ heavy: number;
18
+ };
19
+ };
20
+ sizing: {
21
+ '4xs': number;
22
+ '3xs': number;
23
+ '2xs': number;
24
+ xs: number;
25
+ sm: number;
26
+ md: number;
27
+ lg: number;
28
+ xl: number;
29
+ '2xl': number;
30
+ '3xl': number;
31
+ '4xl': number;
32
+ full: string;
33
+ fit: string;
34
+ max: string;
35
+ min: string;
36
+ };
37
+ flex: {
38
+ direction: {
39
+ col: string;
40
+ 'col-reverse': string;
41
+ };
42
+ };
43
+ box: {
44
+ sizing: {
45
+ content: string;
46
+ border: string;
47
+ };
48
+ };
49
+ position: {
50
+ abs: string;
51
+ rel: string;
52
+ };
53
+ transform: {
54
+ box: {
55
+ content: string;
56
+ border: string;
57
+ padding: string;
58
+ fill: string;
59
+ stroke: string;
60
+ view: string;
61
+ };
62
+ };
63
+ animation: {
64
+ direction: {
65
+ alt: string;
66
+ 'alt-reverse': string;
67
+ };
68
+ };
69
+ background: {
70
+ clip: {
71
+ content: string;
72
+ border: string;
73
+ padding: string;
74
+ };
75
+ origin: {
76
+ content: string;
77
+ border: string;
78
+ padding: string;
79
+ };
80
+ };
81
+ order: {
82
+ first: number;
83
+ last: number;
84
+ };
85
+ shape: {
86
+ outside: {
87
+ content: string;
88
+ border: string;
89
+ padding: string;
90
+ margin: string;
91
+ };
92
+ };
93
+ clip: {
94
+ path: {
95
+ content: string;
96
+ border: string;
97
+ padding: string;
98
+ margin: string;
99
+ fill: string;
100
+ stroke: string;
101
+ view: string;
102
+ black: string;
103
+ };
104
+ };
105
+ black: string;
106
+ white: string;
107
+ current: string;
108
+ slate: any;
109
+ gray: any;
110
+ brown: any;
111
+ orange: any;
112
+ gold: any;
113
+ yellow: any;
114
+ grass: any;
115
+ green: any;
116
+ beryl: any;
117
+ teal: any;
118
+ cyan: any;
119
+ sky: any;
120
+ blue: any;
121
+ indigo: any;
122
+ violet: any;
123
+ purple: any;
124
+ fuchsia: any;
125
+ pink: any;
126
+ crimson: any;
127
+ red: any;
128
+ };
129
+ export default variables;
@@ -0,0 +1 @@
1
+ export declare const CONFIG_ESM_TEXT = "/** @type {import('@master/css').Config} */\nexport default {\n styles: {},\n rules: {},\n variables: {},\n semantics: {},\n mediaQueries: {},\n animations: {},\n selectors: {},\n functions: {}\n}\n";
@@ -0,0 +1 @@
1
+ export declare const CONFIG_TEXT = "/** @type {import('@master/css').Config} */\nmodule.exports = {\n styles: {},\n rules: {},\n variables: {},\n semantics: {},\n mediaQueries: {},\n animations: {},\n selectors: {},\n functions: {}\n}\n";
@@ -0,0 +1 @@
1
+ export declare const CONFIG_TS_TEXT = "import type { Config } from '@master/css'\n\nexport default {\n styles: {},\n rules: {},\n variables: {},\n semantics: {},\n mediaQueries: {},\n animations: {},\n selectors: {},\n functions: {}\n} as Config\n";
@@ -0,0 +1 @@
1
+ export declare const SELECTOR_SYMBOLS: string[];
@@ -1,5 +1,6 @@
1
- export declare const START_SYMBOL: {
1
+ export declare const START_SYMBOLS: {
2
2
  '(': string;
3
3
  '\'': string;
4
+ '"': string;
4
5
  '{': string;
5
6
  };
package/dist/core.d.ts ADDED
@@ -0,0 +1,121 @@
1
+ import { Rule, NativeRule, RuleDefinition } from './rule';
2
+ import type { Config, AnimationDefinitions } from './config';
3
+ type VariableValue = {
4
+ type: 'string';
5
+ value: string;
6
+ } | {
7
+ type: 'number';
8
+ value: number;
9
+ } | {
10
+ type: 'color';
11
+ value: string;
12
+ space: 'rgb' | 'hsl';
13
+ };
14
+ export type Variable = Omit<VariableValue, 'value' | 'space'> & {
15
+ value?: any;
16
+ space?: any;
17
+ usage?: number;
18
+ themes?: {
19
+ [theme: string]: VariableValue;
20
+ };
21
+ };
22
+ export interface MasterCSS {
23
+ readonly style: HTMLStyleElement;
24
+ readonly host: Element;
25
+ readonly root: Document | ShadowRoot;
26
+ styles: Record<string, string[]>;
27
+ stylesBy: Record<string, string[]>;
28
+ selectors: Record<string, [RegExp, string[]][]>;
29
+ variables: Record<string, Variable>;
30
+ mediaQueries: Record<string, string | number>;
31
+ variablesNativeRules: Record<string, NativeRule>;
32
+ hasKeyframesRule: boolean;
33
+ animations: Record<string, AnimationDefinitions & {
34
+ usage?: number;
35
+ native?: NativeRule;
36
+ }>;
37
+ }
38
+ export declare class MasterCSS {
39
+ customConfig: Config;
40
+ static config: Config;
41
+ static refresh: (customConfig: Config) => void;
42
+ readonly rules: Rule[];
43
+ readonly ruleBy: Record<string, Rule>;
44
+ readonly classesUsage: {};
45
+ readonly observing = false;
46
+ readonly config: Config;
47
+ private readonly semanticRuleOptions;
48
+ private readonly ruleOptions;
49
+ observer: MutationObserver;
50
+ constructor(customConfig?: Config);
51
+ resolve(): void;
52
+ /**
53
+ * Observe the DOM for changes and update the running stylesheet. (browser only)
54
+ * @param targetRoot root element to observe. default: document
55
+ * @param options mutation observer options
56
+ * @returns this
57
+ */
58
+ observe(targetRoot: Document | ShadowRoot | null | undefined, options?: MutationObserverInit): this;
59
+ disconnect(): void;
60
+ /**
61
+ * Match check if Master CSS class syntax
62
+ * @param syntax class syntax
63
+ * @returns css text
64
+ */
65
+ match(syntax: string): RuleDefinition;
66
+ /**
67
+ * Create rules from class syntax
68
+ * @param syntax class syntax
69
+ * @returns Rule[]
70
+ */
71
+ create(syntax: string): Rule[];
72
+ /**
73
+ * 根據蒐集到的所有 DOM class 重新 create
74
+ */
75
+ refresh(customConfig?: Config): void;
76
+ destroy(): void;
77
+ /**
78
+ * 透過類名來刪除對應的 rules
79
+ */
80
+ delete(className: string): void;
81
+ /**
82
+ * 依類名插入規則
83
+ */
84
+ insert(syntax: string): boolean;
85
+ /**
86
+ * 加工插入規則
87
+ * 1. where
88
+ * 2. normal
89
+ * 3. where selectors
90
+ * 4. normal selectors
91
+ * 5. media where
92
+ * 6. media normal
93
+ * 7. media where selectors
94
+ * 8. media selectors
95
+ * 9. media width where
96
+ * 10. media width
97
+ * 11. media width where selectors
98
+ * 12. media width selectors
99
+ */
100
+ render(rules: Rule[]): void;
101
+ get text(): string;
102
+ private getExtendedConfig;
103
+ private handleRuleWithAnimationNames;
104
+ private handleRuleWithVariableNames;
105
+ private pushVariableNativeRule;
106
+ }
107
+ declare global {
108
+ interface Window {
109
+ MasterCSS: typeof MasterCSS;
110
+ masterCSSConfig: Config;
111
+ masterCSSs: MasterCSS[];
112
+ masterCSS: MasterCSS;
113
+ }
114
+ namespace NodeJS {
115
+ interface Global {
116
+ MasterCSS: typeof MasterCSS;
117
+ masterCSSs: MasterCSS[];
118
+ }
119
+ }
120
+ }
121
+ export {};
@@ -0,0 +1,9 @@
1
+ import { MasterCSS } from '../core';
2
+ import type { Config } from '../config';
3
+ /**
4
+ * Initialize a new MasterCSS instance and observe the target root
5
+ * @param config master css config
6
+ * @param targetRoot target root to observe
7
+ * @returns master css instance
8
+ */
9
+ export default function initRuntime(config?: Config, targetRoot?: Document | ShadowRoot | null): MasterCSS;
@@ -0,0 +1,8 @@
1
+ import type { Config } from '../config';
2
+ /**
3
+ * Sorts classes in a consistent order
4
+ * @param classes
5
+ * @param config
6
+ * @returns consistent classes
7
+ */
8
+ export default function reorderForReadableClasses(classes: string[], config?: Config): string[];
@@ -0,0 +1 @@
1
+ export declare function transformColorWithOpacity(color: string, opacityStr: string): string;
@@ -0,0 +1 @@
1
+ (()=>{function ae(t){let e=typeof Buffer<"u"?Buffer:null;return!!(e&&t instanceof e||t instanceof Date||t instanceof RegExp)}function ne(t){if(typeof Buffer<"u"&&Buffer&&t instanceof Buffer){let e=Buffer.alloc(t.length);return t.copy(e),e}else{if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);throw new Error("Unexpected situation")}}function se(t){let e=[];return t.forEach(function(r,n){typeof r=="object"&&r!==null?Array.isArray(r)?e[n]=se(r):ae(r)?e[n]=ne(r):e[n]=X({},r):e[n]=r}),e}function re(t,e){return e==="__proto__"?void 0:t[e]}function X(...t){let e={},r,n;return t.forEach(function(y){typeof y!="object"||y===null||Array.isArray(y)||Object.keys(y).forEach(function(s){if(n=re(e,s),r=re(y,s),r!==e)if(typeof r!="object"||r===null){e[s]=r;return}else if(Array.isArray(r)){e[s]=se(r);return}else if(ae(r)){e[s]=ne(r);return}else if(typeof n!="object"||n===null||Array.isArray(n)){e[s]=X({},r);return}else{e[s]=X(n,r);return}})}),e}var F={"(":")","'":"'",'"':'"',"{":"}"};function Z(t){if(typeof CSS<"u")return CSS.escape(t);if(arguments.length==0)throw new TypeError("`CSS.escape` requires an argument.");let e=String(t),r=e.length,n=-1,y="",s,l=e.charCodeAt(0);if(r==1&&l==45)return"\\"+e;for(;++n<r;){if(s=e.charCodeAt(n),s==0){y+="\uFFFD";continue}if(s>=1&&s<=31||s==127||n==0&&s>=48&&s<=57||n==1&&s>=48&&s<=57&&l==45){y+="\\"+s.toString(16)+" ";continue}if(s>=128||s==45||s==95||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122){y+=e.charAt(n);continue}y+="\\"+e.charAt(n)}return y}var ye=/^(media|supports|page|font-face|keyframes|counter-style|font-feature-values|property|layer)(?=\||{|\(|$)/,ee=class{constructor(e,r={},n){this.className=e;this.definition=r;this.css=n;let{layer:y,unit:s,colored:l,analyze:m,transformValue:u,declare:f,transformValueComponents:o,create:d,order:p,id:b}=r;this.order=p,this.layer=y,r.unit||(r.unit=""),r.separators||(r.separators=[","]);let{scope:c,important:g,themeDriver:a}=n.config,{selectors:i,mediaQueries:h,stylesBy:C,animations:v}=n,D=C[e];d&&d.call(this,e),this.declarations=r.declarations;let x,R;if(this.colored=l,y===-8)x=e.slice(b.length-1);else{let k;if(m)[k,R]=m.call(this,e);else{let w=e.indexOf(":");this.prefix=e.slice(0,w+1),k=e.slice(w+1)}this.valueComponents=[],x=k.slice(this.parseValue(this.valueComponents,0,k,s))}x[0]==="!"&&(this.important=!0,x=x.slice(1)),this.stateToken=x;let N=(k,w)=>{let z=(S,j,V,M)=>{for(let[B,I]of j)if(B.test(S)){for(let L of I)z(S.replace(B,L),j,V,!0);return}M&&V.push(S)},P=S=>{let j=S.split(/(\\'(?:.*?)[^\\]\\')(?=[*_>~+,)])|(\[[^=]+='(?:.*?)[^\\]'\])/).map((I,L)=>L%3?I:I.replace(/(^|[^_])_(?!_)/g,"$1 ")).join(""),V=[],M="",B=0;for(let I=0;I<j.length;I++){let L=j[I];if(L==="\\"){M+=L+j[++I];continue}!B&&L===","?(V.push(M),M=""):(M+=L,B&&L===")"?B--:L==="("&&B++)}return M&&V.push(M),V},$=[];""in i?z(k,i[""],$,!0):$.push(k);let A={};for(let[S,j]of Object.entries(i)){if(!S)continue;let V=[];for(let M of $)z(M,j,V,!1);V.length&&(A[S]=V)}let U=(S,j)=>{let V=j.reduce((M,B)=>(M.push(...P(B)),M),[]);S in w?w[S].push(...V):w[S]=V},_=Object.keys(A);if(_.length)for(let S of _)U(S,A[S]);else U("",$)};R?(this.vendorPrefixSelectors={},N(R,this.vendorPrefixSelectors)):this.vendorPrefixSelectors={"":[""]};let O=x.split("@"),T=O[0];if(T){this.vendorSuffixSelectors={},N(T,this.vendorSuffixSelectors);for(let k of Object.values(this.vendorSuffixSelectors))for(let w of k){this.hasWhere!==!1&&(this.hasWhere=w.includes(":where("));let z=[":disabled",":active",":focus",":hover"];for(let P=0;P<z.length;P++)if(w.includes(z[P])){(this.priority===-1||this.priority>P)&&(this.priority=P);break}}}else this.vendorSuffixSelectors={"":[""]};let W={},ge=Object.prototype.hasOwnProperty.call(this.vendorPrefixSelectors,""),ie=Object.prototype.hasOwnProperty.call(this.vendorSuffixSelectors,"");if(ge)W[""]=ie?[""]:Object.keys(this.vendorSuffixSelectors);else if(ie)for(let k in this.vendorPrefixSelectors)W[k]=[""];else for(let k in this.vendorPrefixSelectors){let w=W[k]=[];if(Object.prototype.hasOwnProperty.call(this.vendorSuffixSelectors,k))w.push(k);else for(let z in this.vendorSuffixSelectors)w.push(z)}for(let k=1;k<O.length;k++){let w=O[k];if(w)if(w==="rtl"||w==="ltr")this.direction=w;else{let z,P,$=ye.exec(w);if($)z=$[1],P=w.slice(z.length);else{this.media={token:w,features:{}};let A=[],U=S=>{if(S==="all"||S==="print"||S==="screen"||S==="speech")this.media.type=S;else if(S==="\u{1F5A8}")this.media.type="print";else if(S==="landscape"||S==="portrait")A.push("(orientation:"+S+")");else if(S==="motion"||S==="reduced-motion")A.push("(prefers-reduced-motion:"+(S==="motion"?"no-preference":"reduce")+")");else{let j=h[S];if(j&&typeof j=="string")A.push(j);else{let V="",M="",B=0;S.startsWith("<=")?(M="<=",V="max-width"):S.startsWith(">=")||j?(M=">=",V="min-width"):S.startsWith(">")?(M=">",V="min-width",B=.02):S.startsWith("<")&&(M="<",V="max-width",B=-.02);let I=M?S.replace(M,""):S,L=h[I];switch(V){case"max-width":case"min-width":let Q={};typeof L=="number"?Q={type:"number",value:L+B,unit:"px"}:(Q=this.parseValueComponent(I,"px"),Q.type==="number"&&Q.unit==="px"&&(Q.value+=B)),this.media.features[V]=Q,Q.type==="number"?A.push("("+V+":"+(Q.value+Q.unit)+")"):A.push("("+V+":"+Q.value+")");break}}}},_=w.includes("&");if(_){let S=w.split("&");for(let j of S)U(j)}else U(w);if(this.media.type&&(P=this.media.type),A.length&&(P=A.join(" and ")),P)z="media";else if(!_){this.theme=w;continue}}P&&(this.at[z]=(z in this.at?this.at[z]+" and ":"")+P.replace(/\|/g," "))}}let H;if(this.valueComponents)if(o&&(this.valueComponents=o.call(this,this.valueComponents)),H=this.resolveValue(this.valueComponents,s,[]),u&&(H=u.call(this,H,this.css.config)),f){let k,w;this.declarations=f.call(this,w?k:H,w||"")}else b&&(this.declarations={[b]:H});let te=[];for(let k in this.declarations){let w=$=>{if(v&&($.startsWith("animation")||$.startsWith("animation-name"))){let A=$.split(":")[1].split("!important")[0].split(" ").filter(U=>U in this.css.animations&&(!this.animationNames||!this.animationNames.includes(U)));A.length&&(this.animationNames||(this.animationNames=[]),this.animationNames.push(...A))}te.push($+((this.important||g)&&!$.endsWith("!important")?"!important":""))},z=k+":",P=this.declarations[k];if(typeof P=="object")for(let $ of P)w(z+$.toString());else w(z+P.toString())}if(te.length)for(let k in W)for(let w of W[k]){let z="";this.direction&&(z+="[dir="+this.direction+"] ");let P=this.vendorPrefixSelectors[k],$=this.vendorSuffixSelectors[w],A=P.map(S=>S+z),U=S=>A.map(j=>(this.theme&&a!=="media"?a==="host"?`:host(.${this.theme}) `:`.${this.theme} `:"")+(c?c+" ":"")+j).reduce((j,V)=>(j.push($.reduce((M,B)=>(M.push(V+"."+Z(S)+B),M),[]).join(",")),j),[]).join(","),_=U(e)+(D?D.reduce((S,j)=>S+","+U(j),""):"")+"{"+te.join(";")+"}";for(let S of Object.keys(this.at).sort((j,V)=>V==="supports"?-1:1))_="@"+S+(S.includes(" ")?"":" ")+this.at[S]+"{"+_+"}";this.theme&&a==="media"&&(_=`@media(prefers-color-scheme:${this.theme}){`+_+"}"),this.natives.push({text:_})}}at={};priority=-1;natives=[];order=0;layer=0;stateToken;declarations;colored=!1;animationNames;variableNames;resolveValue=(e,r,n)=>{let{functions:y}=this.css.config,s="";for(let l of e)switch(l.type){case"function":let m=y&&y[l.name];if(m?.transform){let f=m.transform.call(this,this.resolveValue(l.children,m.unit??r,n),n);s+=typeof f=="string"?f:this.resolveValue(f,m?.unit??r,n)}else s+=l.name+l.symbol+this.resolveValue(l.children,m?.unit??r,n)+F[l.symbol];break;case"variable":let u=this.css.variables[l.name];if(u){let f=(o,d)=>{if(u.themes)if(this.theme){let p=u.themes[this.theme]??u;p?.value&&o(p)}else this.variableNames||(this.variableNames=[]),this.variableNames.includes(l.name)||this.variableNames.push(l.name),d();else o(u)};switch(u.type){case"string":f(d=>{let p=[];this.parseValue(p,0,d.value,r,void 0,void 0,[...n,l.name]),s+=this.resolveValue(p,r,[...n,l.name])},()=>{s+=`var(--${l.name})`});break;case"number":f(d=>{let p=this.parseValueComponent(d.value,r);s+=p.value+(p.unit??"")},()=>{s+=r?`calc(var(--${l.name}) / 16 * 1rem)`:`var(--${l.name})`});break;case"color":let o=l.alpha?"/"+l.alpha:"";f(d=>{s+=`${d.space}(${d.value}${o})`},()=>{s+=`${u.space}(var(--${l.name})${o})`});break}}else s+=`var(--${l.name}${l.fallback?","+l.fallback:""})`;break;case"separator":s+=l.text||l.value;break;case"number":s+=l.value+l.unit;break;default:s+=l.value;break}return s};get text(){return this.natives.map(e=>e.text).join("")}parseValue=(e,r,n,y,s,l=void 0,m=[])=>{let u=l===void 0,f=!u&&(l.endsWith("$")||l.endsWith("var")),d=(g=>g==="'"||g==='"')(s),p=[","];this.definition.separators.length&&p.push(...this.definition.separators);let b="",c=()=>{if(b){let g=!1;if(!f||e.length){let a=(i,h)=>{let C=Object.prototype.hasOwnProperty.call(this.definition.resolvedVariables,i)?this.definition.resolvedVariables[i]:Object.prototype.hasOwnProperty.call(this.css.variables,i)?this.css.variables[i]:void 0;if(C){let v=C.name??i;if(!m.includes(v)){g=!0;let D={type:"variable",name:v,variable:this.css.variables[v]};h&&(D.alpha=h),e.push(D)}}};if(a(b),!g&&this.colored){let[i,h]=b.split("/");a(i,h)}}g||e.push(this.parseValueComponent(b,y)),b=""}};for(;r<n.length;r++){let g=n[r];if(g===s){if(d){let a=0;for(let i=b.length-1;b[i]==="\\";i--)a++;if(a%2){b+=g;continue}else c()}else c();return r}else if(!d&&g in F){let a=b,i={type:"function",name:a,symbol:g,children:[]};e.push(i),b="";let h=g==="("&&this.css.config.functions?.[a];!this.colored&&h?.colored&&(this.colored=!0),r=this.parseValue(i.children,++r,n,h?.unit??y,F[g],a||l||"")}else if((g==="|"||g===" ")&&s!=="}"&&(!d||l==="path"))c(),e.push({type:"separator",value:" "});else{if(!d){if(g===".")if(isNaN(+n[r+1])){if(u)break}else n[r-1]==="-"&&(b+="0");else if(p.includes(g)){c(),e.push({type:"separator",value:g,text:(g===","?"":" ")+g+(g===","?"":" ")});continue}else if(u&&(g==="#"&&(b||e.length&&e[e.length-1].type!=="separator")||["!","*",">","+","~",":","[","@","_"].includes(g)))break}b+=g}}return c(),r};parseValueComponent(e,r=this.definition.unit){let n=r??this.definition.unit,y="",s;if(typeof e=="number")return n&&!y?((n==="rem"||n==="em")&&(s=e/this.css.config.rootSize),y=n||""):s=e,{value:s,unit:y,type:"number"};if(n){if(/^\d+\/\d+/.test(e)){let[m,u]=e.split("/");return{value:+m/+u*100,unit:"%",type:"number"}}let l=e.match(/^([+-.]?\d+(\.?\d+)?)(%|cm|mm|q|in|pt|pc|px|em|rem|ex|rex|cap|rcap|ch|rch|ic|ric|lh|rlh|vw|svw|lvw|dvw|vh|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax|cqw|cqh|cqi|cqb|cqmin|cqmax|deg|grad|rad|turn|s|ms|hz|khz|dpi|dpcm|dppx|x|fr|db|st)?$/);if(l)return s=+l[1],y=l[3]||"",y||((n==="rem"||n==="em")&&(s=s/this.css.config.rootSize),y=n||""),{value:s,unit:y,type:"number"}}return{value:e,type:"string"}}};var be={"4xs":360,"3xs":480,"2xs":600,xs:768,sm:834,md:1024,lg:1280,xl:1440,"2xl":1600,"3xl":1920,"4xl":2560},oe=be;var ve={"::scrollbar":"::-webkit-scrollbar","::scrollbar-button":"::-webkit-scrollbar-button","::scrollbar-thumb":"::-webkit-scrollbar-thumb","::scrollbar-track":"::-webkit-scrollbar-track","::scrollbar-track-piece":"::-webkit-scrollbar-track-piece","::scrollbar-corner":"::-webkit-scrollbar-corner","::slider-thumb":["::-webkit-slider-thumb","::-moz-range-thumb"],"::slider-runnable-track":["::-webkit-slider-runnable-track","::-moz-range-track"],"::meter":"::-webkit-meter","::resizer":"::-webkit-resizer","::progress":"::-webkit-progress",":first":":first-child",":last":":last-child",":even":":nth-child(2n)",":odd":":nth-child(odd)",":nth(":":nth-child(",":only":":only-child"},le=ve;var Re={square:{"aspect-ratio":"1/1"},video:{"aspect-ratio":"16/9"},rounded:{"border-radius":"1e9em"},round:{"border-radius":"50%"},hidden:{display:"none"},hide:{display:"none"},block:{display:"block"},table:{display:"table"},flex:{display:"flex"},grid:{display:"grid"},contents:{display:"contents"},inline:{display:"inline"},"inline-block":{display:"inline-block"},"inline-flex":{display:"inline-flex"},"inline-grid":{display:"inline-grid"},"inline-table":{display:"inline-table"},"table-cell":{display:"table-cell"},"table-caption":{display:"table-caption"},"flow-root":{display:"flow-root"},"list-item":{display:"list-item"},"table-row":{display:"table-row"},"table-column":{display:"table-column"},"table-row-group":{display:"table-row-group"},"table-column-group":{display:"table-column-group"},"table-header-group":{display:"table-header-group"},"table-footer-group":{display:"table-footer-group"},italic:{"font-style":"italic"},oblique:{"font-style":"oblique"},isolate:{isolation:"isolate"},overflowed:{overflow:"visible"},untouchable:{"pointer-events":"none"},static:{position:"static"},fixed:{position:"fixed"},abs:{position:"absolute"},rel:{position:"relative"},sticky:{position:"sticky"},uppercase:{"text-transform":"uppercase"},lowercase:{"text-transform":"lowercase"},capitalize:{"text-transform":"capitalize"},visible:{visibility:"visible"},invisible:{visibility:"hidden"},vw:{width:"100vw"},vh:{height:"100vh"},"max-vw":{"max-width":"100vw"},"max-vh":{"max-height":"100vh"},"min-vw":{"min-width":"100vw"},"min-vh":{"min-height":"100vh"},"center-content":{"justify-content":"center","align-items":"center"},"sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)","white-space":"nowrap","border-width":"0"},full:{width:"100%",height:"100%"},center:{left:0,right:0,"margin-left":"auto","margin-right":"auto"},middle:{top:0,bottom:0,"margin-top":"auto","margin-bottom":"auto"},"break-spaces":{"white-space":"break-spaces"},"break-word":{"overflow-wrap":"break-word",overflow:"hidden"},"gradient-text":{"-webkit-text-fill-color":"transparent","-webkit-background-clip":"text","background-clip":"text"},fit:{width:"fit-content",height:"fit-content"}},ce=Re;var Ce={fade:{"0%":{opacity:0},to:{opacity:1}},flash:{"0%,50%,to":{opacity:1},"25%,75%":{opacity:0}},float:{"0%":{transform:"none"},"50%":{transform:"translateY(-1.25rem)"},to:{transform:"none"}},heart:{"0%":{transform:"scale(1)"},"14%":{transform:"scale(1.3)"},"28%":{transform:"scale(1)"},"42%":{transform:"scale(1.3)"},"70%":{transform:"scale(1)"}},jump:{"0%,to":{transform:"translateY(-25%)","animation-timing-function":"cubic-bezier(.8,0,1,1)"},"50%":{transform:"translateY(0)","animation-timing-function":"cubic-bezier(0,0,.2,1)"}},ping:{"75%,to":{transform:"scale(2)",opacity:0}},pulse:{"0%":{transform:"none"},"50%":{transform:"scale(1.05)"},to:{transform:"none"}},rotate:{"0%":{transform:"rotate(-360deg)"},to:{transform:"none"}},shake:{"0%":{transform:"none"},"6.5%":{transform:"translateX(-6px) rotateY(-9deg)"},"18.5%":{transform:"translateX(5px) rotateY(7deg)"},"31.5%":{transform:"translateX(-3px) rotateY(-5deg)"},"43.5%":{transform:"translateX(2px) rotateY(3deg)"},"50%":{transform:"none"}},zoom:{"0%":{transform:"scale(0)"},to:{transform:"none"}}},fe=Ce;function K(t){t.startsWith("#")&&(t=t.slice(1));let e,r,n,y;return t.length===3||t.length===4?(e=parseInt(t[0]+t[0],16),r=parseInt(t[1]+t[1],16),n=parseInt(t[2]+t[2],16),y=t.length===4?Math.round(parseInt(t[3]+t[3],16)/255*100)/100:1):(t.length===6||t.length===8)&&(e=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),n=parseInt(t.slice(4,6),16),y=t.length===8?Math.round(parseInt(t.slice(6,8),16)/255*100)/100:1),[e,r,n,y]}function ue(t,e,r){return((1<<24)+(t<<16)+(e<<8)+r).toString(16).slice(1)}function E(t){typeof t=="string"&&(t={"":t});let e=""in t,r=!1;for(let n in t)if(n&&+n>=100){r=!0;break}if(!r&&(!e||Object.keys(t).length>1)){let n=0,y="0"in t?K(t[0]):[0,0,0],s,l,m=[],u=()=>{let f=s-n,o=l.map((d,p)=>(d-y[p])/f);for(let d of m){let p=d-n,b=y.map((c,g)=>Math.round(c+o[g]*p));t[d]="#"+ue.call(this,...b)}};for(let f=1;f<100;f++)f in t?(m.length?(s=f,l=K(t[f]),u(),m.length=0,y=l):y=K(t[f]),n=f):m.push(f);m.length&&(s=100,l="100"in t?K(t[100]):[255,255,255],u())}return e||(t[""]=t[r?"500":"50"]),t}var xe={font:{family:{mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas","Liberation Mono","Courier New","monospace"],sans:["ui-sans-serif","system-ui","-apple-system","BlinkMacSystemFont","Segoe UI","Roboto","Helvetica Neue","Arial","Noto Sans","sans-serif","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"],serif:["ui-serif","Georgia","Cambria","Times New Roman","Times","serif"]},weight:{thin:100,extralight:200,light:300,regular:400,medium:500,semibold:600,bold:700,extrabold:800,heavy:900}},sizing:{"4xs":360,"3xs":480,"2xs":600,xs:768,sm:834,md:1024,lg:1280,xl:1440,"2xl":1600,"3xl":1920,"4xl":2560,full:"100%",fit:"fit-content",max:"max-content",min:"min-content"},flex:{direction:{col:"column","col-reverse":"column-reverse"}},box:{sizing:{content:"content-box",border:"border-box"}},position:{abs:"absolute",rel:"relative"},transform:{box:{content:"content-box",border:"border-box",padding:"padding-box",fill:"fill-box",stroke:"stroke-box",view:"view-box"}},animation:{direction:{alt:"alternate","alt-reverse":"alternate-reverse"}},background:{clip:{content:"content-box",border:"border-box",padding:"padding-box"},origin:{content:"content-box",border:"border-box",padding:"padding-box"}},order:{first:-999999,last:999999},shape:{outside:{content:"content-box",border:"border-box",padding:"padding-box",margin:"margin-box"}},clip:{path:{content:"content-box",border:"border-box",padding:"padding-box",margin:"margin-box",fill:"fill-box",stroke:"stroke-box",view:"view-box",black:"#000000"}},black:"#000000",white:"#ffffff",current:"currentColor",slate:E({5:"#141e2b",10:"#19212d",20:"#262f3e",30:"#323e52",40:"#41516b",50:"#616a84",55:"#6c7693",60:"#959db3",70:"#a3abbf",80:"#d7dae3",95:"#f6f7f8"}),gray:E({5:"#1e1d1f",10:"#212022",20:"#2f2e30",30:"#3e3d40",40:"#504f52",50:"#6b6a6d",55:"#777679",60:"#9e9da0",70:"#abaaae",80:"#dad9db",95:"#f5f4f7"}),brown:E({5:"#271b15",10:"#2b1e18",20:"#3c2b22",30:"#50382c",40:"#694839",50:"#8d604b",55:"#9d6b53",60:"#b79788",70:"#c1a598",80:"#efd5c9",95:"#faf2ef"}),orange:E({5:"#2e1907",10:"#331b07",20:"#47260b",30:"#5d320e",40:"#7a4111",50:"#a15717",55:"#b4611a",60:"#e38739",70:"#e79855",80:"#f7d4b5",95:"#fcf1e7"}),gold:E({5:"#281b00",10:"#2d1e01",20:"#3f2a00",30:"#543800",40:"#6d4900",50:"#906000",55:"#9c6d00",60:"#d09100",70:"#dca000",80:"#fbd67f",95:"#fff3d8"}),yellow:E({5:"#251d00",10:"#282000",20:"#3a2e01",30:"#4b3b00",40:"#624e00",50:"#806700",55:"#8e7200",60:"#be9900",70:"#d0a700",80:"#edda8f",95:"#fff5ca"}),grass:E({5:"#162106",10:"#182406",20:"#223308",30:"#2c4408",40:"#3a570b",50:"#4e750e",60:"#74ae15",70:"#7dbc17",80:"#bfe87c",95:"#ebfad4"}),green:E({5:"#042311",10:"#032611",20:"#023717",30:"#03481f",40:"#025d26",50:"#067b34",55:"#07883a",60:"#09b64d",70:"#0ac553",80:"#80f1a4",95:"#e0fae8"}),beryl:E({5:"#002319",10:"#00271c",20:"#003626",30:"#004732",40:"#005c41",50:"#007954",55:"#00875e",60:"#00b37c",70:"#00c387",80:"#72f0c5",95:"#d6fcef"}),teal:E({5:"#012220",10:"#012624",20:"#003532",30:"#004541",40:"#005a54",50:"#00776f",55:"#00857c",60:"#00b1a5",70:"#00bfb2",80:"#6aeee5",95:"#d4fcf8"}),cyan:E({5:"#00222b",10:"#00252e",20:"#013340",30:"#004457",40:"#00576f",50:"#007391",55:"#0080a1",60:"#00abd7",70:"#00b9e9",80:"#97e6fa",95:"#dff8ff"}),sky:E({5:"#031f34",10:"#032339",20:"#04314e",30:"#044169",40:"#065386",50:"#086eb3",55:"#097ac5",60:"#29a4f5",70:"#4db3f7",80:"#b3e0ff",95:"#eaf6fe"}),blue:E({5:"#07194a",10:"#081c53",20:"#0a2773",30:"#0e3496",40:"#1146b6",50:"#175fe9",55:"#2671ea",60:"#6b9ef1",70:"#81acf3",80:"#c6dbfe",95:"#edf4fe"}),indigo:E({5:"#1f1645",10:"#20174f",20:"#2b1f74",30:"#37289d",40:"#463fb1",50:"#5a5bd5",55:"#6464f1",60:"#9393f5",70:"#a1a5ee",80:"#d5d7fe",95:"#f1f2ff"}),violet:E({5:"#2b0a4e",10:"#2e0b57",20:"#3d1179",30:"#4e169f",40:"#5f2eba",50:"#7949e5",55:"#8755f5",60:"#ac8af8",70:"#b89bf9",80:"#e1d4fe",95:"#f5f1ff"}),purple:E({5:"#2e0c47",10:"#330c4e",20:"#460f6c",30:"#5b1390",40:"#7421b1",50:"#9832e4",55:"#a348e7",60:"#c184ef",70:"#ca96f1",80:"#ead1fe",95:"#f9f0ff"}),fuchsia:E({5:"#39092a",10:"#400932",20:"#560d4a",30:"#6f1165",40:"#8c158a",50:"#b61cbb",55:"#ca1fce",60:"#e66ee9",70:"#ea86ed",80:"#facbfb",95:"#feefff"}),pink:E({5:"#3d0722",10:"#430725",20:"#5d0933",30:"#790d44",40:"#9a1058",50:"#ca1473",55:"#e11681",60:"#f170b4",70:"#f388c0",80:"#fdcde6",95:"#fff0f8"}),crimson:E({5:"#430213",10:"#470314",20:"#62041c",30:"#800524",40:"#9f1036",50:"#ce1a4b",55:"#e8144c",60:"#f37596",70:"#f58ba7",80:"#fdceda",95:"#fff1f4"}),red:E({5:"#450001",10:"#490102",20:"#640304",30:"#800506",40:"#a11012",50:"#d11a1e",55:"#ed0a0e",60:"#f97476",70:"#fa8b8d",80:"#fdcfcf",95:"#fff1f1"})},de=xe;var Y=["none","auto","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"],q=function(t){return t.length<2||t.find(r=>r.type==="string"&&Y.includes(r.value)||r.type==="variable"&&Y.includes(r.variable.value))||t.push({type:"separator",value:" "},{type:"string",value:"solid"}),t},Se={group:{match:/^(?:.+?[*_>~+])?\{.+?\}/,layer:-1,analyze(t){let e=0;for(;e<t.length&&!(t[e]==="{"&&t[e-1]!=="\\");e++);return[t.slice(e),t.slice(0,e)]},declare(t){let e={},r=u=>{let f=u.indexOf(":");f!==-1&&(e[u.slice(0,f)]=u.slice(f+1))},n=u=>{let f=o=>{let d=o.slice(Z(u.className).length).match(/\{(.*)\}/)[1].split(";");for(let p of d)r(p)};for(let o of u.natives)f(o.text);if(u.animationNames){this.animationNames||(this.animationNames=[]);for(let o of u.animationNames)this.animationNames.includes(o)||this.animationNames.push(o)}if(u.variableNames){this.variableNames||(this.variableNames=[]);for(let o of u.variableNames)this.variableNames.includes(o)||this.variableNames.push(o)}},y=[],s="",l=()=>{s&&(y.push(s.replace(/ /g,"|")),s="")},m=1;(function u(f){for(;m<t.length;m++){let o=t[m];if(!f){if(o===";"){l();continue}if(o==="}")break}if(s+=o,f===o){if(f==="'"||f==='"'){let d=0;for(let p=s.length-2;s[p]==="\\";p--)d++;if(d%2)continue}break}else o in F&&f!=="'"&&f!=='"'&&(m++,u(F[o]))}})(void 0),l();for(let u of y){let f=this.css.create(u);if(f.length)for(let o of f)n(o);else r(u)}return e}},variable:{match:/^\$[\w-]+:/,colored:!0,layer:-1,declare(t){return{["--"+this.prefix.slice(1,-1)]:t}}},"font-size":{match:["f(?:ont)?"],numeric:!0,unit:"rem",layer:-3},"font-weight":{match:["f(?:ont)?",["bolder"]],layer:-3},"font-family":{match:["f(?:ont)?"],layer:-3},"font-smoothing":{match:["f(?:ont)?",["antialiased","subpixel-antialiased"]],layer:-3,declare(t){switch(t){case"subpixel-antialiased":return{"-webkit-font-smoothing":"auto","-moz-osx-font-smoothing":"auto"};case"antialiased":return{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"}}}},"font-style":{match:["f(?:ont)?",["normal","italic","oblique"]],layer:-3,unit:"deg"},"font-variant-numeric":{match:["f(?:ont)?",["ordinal","slashed-zero","lining-nums","oldstyle-nums","proportional-nums","tabular-nums","diagonal-fractions","stacked-fractions"]],layer:-3},"font-variant":{layer:-7},"font-feature-settings":{match:/^font-feature:/,layer:-3},font:{match:/^f:/,layer:-7,variables:["font-family","font-variant","font-weight","font-size","font-style","line-height"]},color:{match:/^(?:color|fg|foreground):/,layer:-3,colored:!0},"margin-left":{match:/^ml:/,layer:-3,unit:"rem",variables:["spacing"]},"margin-right":{match:/^mr:/,layer:-3,unit:"rem",variables:["spacing"]},"margin-top":{match:/^mt:/,layer:-3,unit:"rem",variables:["spacing"]},"margin-bottom":{match:/^mb:/,layer:-3,unit:"rem",variables:["spacing"]},"margin-x":{match:/^(?:mx|margin-x):/,unit:"rem",layer:-5,declare(t,e){return{"margin-left":t+e,"margin-right":t+e}},variables:["spacing"]},"margin-y":{match:/^(?:my|margin-y):/,unit:"rem",layer:-5,declare(t,e){return{"margin-top":t+e,"margin-bottom":t+e}},variables:["spacing"]},margin:{match:/^m:/,unit:"rem",layer:-7,variables:["spacing"]},"margin-inline-start":{match:/^mis:/,layer:-3,unit:"rem",variables:["spacing"]},"margin-inline-end":{match:/^mie:/,layer:-3,unit:"rem",variables:["spacing"]},"margin-inline":{match:/^mi:/,unit:"rem",layer:-7,variables:["spacing"]},"padding-left":{match:/^pl:/,layer:-3,unit:"rem",variables:["spacing"]},"padding-right":{match:/^pr:/,layer:-3,unit:"rem",variables:["spacing"]},"padding-top":{match:/^pt:/,layer:-3,unit:"rem",variables:["spacing"]},"padding-bottom":{match:/^pb:/,layer:-3,unit:"rem",variables:["spacing"]},"padding-x":{match:/^(?:px|padding-x):/,unit:"rem",layer:-5,declare(t,e){return{"padding-left":t+e,"padding-right":t+e}},variables:["spacing"]},"padding-y":{match:/^(?:py|padding-y):/,unit:"rem",layer:-5,declare(t,e){return{"padding-top":t+e,"padding-bottom":t+e}},variables:["spacing"]},padding:{match:/^p:/,unit:"rem",layer:-7,variables:["spacing"]},"padding-inline-start":{match:/^pis:/,layer:-3,unit:"rem",variables:["spacing"]},"padding-inline-end":{match:/^pie:/,layer:-3,unit:"rem",variables:["spacing"]},"padding-inline":{match:/^pi:/,unit:"rem",layer:-7,variables:["spacing"]},"flex-basis":{variables:["sizing"],unit:"rem",layer:-3},"flex-wrap":{match:["flex",["wrap","nowrap","wrap-reverse"]],layer:-3},"flex-grow":{layer:-3},"flex-shrink":{layer:-3},"flex-direction":{match:["flex",["row","row-reverse","column","column-reverse"]],layer:-3},flex:{layer:-7},display:{match:/^d:/,layer:-3},width:{match:/^w:/,unit:"rem",layer:-3,variables:["sizing"]},height:{match:/^h:/,unit:"rem",layer:-3,variables:["sizing"]},"min-width":{match:/^min-w:/,unit:"rem",layer:-3,variables:["sizing"]},"min-height":{match:/^min-h:/,unit:"rem",layer:-3,variables:["sizing"]},box:{match:/^(?:(?:max|min|clamp|calc)\(.+\)|[0-9]+[a-z]*?)x(?:(?:max|min|clamp|calc)\(.+\)|[0-9]+[a-z]*?)/,layer:-5,unit:"rem",separators:["x"],analyze(t){return[t]},declare(t){let[e,r]=t.split(" x ");return{width:e,height:r}}},"min-box":{match:/^min:/,layer:-5,unit:"rem",separators:["x"],analyze(t){return[t.slice(4)]},declare(t){let[e,r]=t.split(" x ");return{"min-width":e,"min-height":r}}},"max-box":{match:/^max:/,layer:-5,unit:"rem",separators:["x"],analyze(t){return[t.slice(4)]},declare(t){let[e,r]=t.split(" x ");return{"max-width":e,"max-height":r}}},"box-sizing":{match:/^box:/,layer:-3},"box-decoration-break":{match:["sizing",["slice","clone"]],layer:-3,declare(t,e){return{"box-decoration-break":t+e,"-webkit-box-decoration-break":t+e}}},contain:{layer:-3},content:{layer:-3},"counter-increment":{layer:-3},"counter-reset":{layer:-3},"letter-spacing":{match:/^ls:/,layer:-3,unit:"em"},"line-height":{match:/^lh:/,layer:-3},"object-fit":{match:["(?:object|obj)",["contain","cover","fill","scale-down"]],layer:-3},"object-position":{match:["(?:object|obj)",["top","bottom","right","left","center"]],layer:-3},"text-align":{match:["t(?:ext)?",["justify","center","left","right","start","end"]],layer:-3},"text-decoration-color":{match:["text-decoration"],layer:-3,colored:!0},"text-decoration-style":{match:["t(?:ext)?",["solid","double","dotted","dashed","wavy"]],layer:-3},"text-decoration-thickness":{match:["text-decoration",["from-font"]],numeric:!0,layer:-3,unit:"em"},"text-decoration-line":{match:["t(?:ext)?",["none","underline","overline","line-through"]],layer:-3},"text-decoration":{match:["t(?:ext)?",["underline","overline","line-through"]],unit:"rem",colored:!0,layer:-7},"text-underline-offset":{unit:"rem",layer:-3,variables:["spacing"]},"text-overflow":{match:["t(?:ext)?",["ellipsis","clip"]],layer:-3},"text-orientation":{match:["t(?:ext)?",["mixed","upright","sideways-right","sideways","use-glyph-orientation"]],layer:-3},"text-transform":{match:["t(?:ext)?",["uppercase","lowercase","capitalize"]],layer:-3},"text-rendering":{match:["t(?:ext)?",["optimizeSpeed","optimizeLegibility","geometricPrecision"]],layer:-3},"text-indent":{unit:"rem",layer:-3},"vertical-align":{match:/^(?:v|vertical):/,layer:-3},columns:{match:/^(?:columns|cols):/,layer:-7},"white-space":{layer:-3},top:{layer:-3,unit:"rem",variables:["spacing"]},bottom:{layer:-3,unit:"rem",variables:["spacing"]},left:{layer:-3,unit:"rem",variables:["spacing"]},right:{layer:-3,unit:"rem",variables:["spacing"]},inset:{unit:"rem",layer:-7,variables:["spacing"]},lines:{match:/^lines:/,declare(t,e){return{overflow:"hidden",display:"-webkit-box","overflow-wrap":"break-word","text-overflow":"ellipsis","-webkit-box-orient":"vertical","-webkit-line-clamp":t+e}}},"max-height":{match:/^max-h:/,unit:"rem",layer:-3,variables:["sizing"]},"max-width":{match:/^max-w:/,unit:"rem",layer:-3,variables:["sizing"]},opacity:{layer:-3},visibility:{layer:-3},clear:{layer:-3},float:{layer:-3},isolation:{layer:-3},"overflow-x":{layer:-3,declare(t,e){return t==="overlay"?{"overflow-x":["auto",t]}:{"overflow-x":t}}},"overflow-y":{layer:-3,declare(t,e){return t==="overlay"?{"overflow-y":["auto",t]}:{"overflow-y":t}}},overflow:{layer:-7,declare(t,e){return t==="overlay"?{overflow:["auto",t]}:{overflow:t}}},"overscroll-behavior-x":{layer:-3},"overscroll-behavior-y":{layer:-3},"overscroll-behavior":{layer:-7},"z-index":{match:/^z:/,layer:-3},position:{layer:-3},cursor:{layer:-3},"pointer-events":{layer:-3},resize:{layer:-3},"touch-action":{layer:-3},"word-break":{layer:-3},"word-spacing":{layer:-3,unit:"em"},"user-drag":{layer:-3,declare(t,e){return{"user-drag":t+e,"-webkit-user-drag":t+e}}},"user-select":{layer:-3,declare(t,e){return{"user-select":t+e,"-webkit-user-select":t+e}}},"text-shadow":{unit:"rem",layer:-3,colored:!0},"text-size":{match:["t(?:ext)?"],numeric:!0,unit:"rem",declare(t,e){return{"font-size":t+e,"line-height":e==="em"?t+.875+e:`calc(${t}${e} + ${.875}em)`}}},"text-fill-color":{match:["(?:text-fill|text|t)"],layer:-3,colored:!0,declare(t,e){return{"-webkit-text-fill-color":t+e}}},"text-stroke-width":{match:["text-stroke",["thin","medium","thick"]],numeric:!0,unit:"rem",layer:-3,declare(t,e){return{"-webkit-text-stroke-width":t+e}}},"text-stroke-color":{match:["text-stroke"],layer:-3,colored:!0,declare(t,e){return{"-webkit-text-stroke-color":t+e}}},"text-stroke":{unit:"rem",layer:-3,declare(t,e){return{"-webkit-text-stroke":t+e}}},"box-shadow":{match:/^s(?:hadow)?:/,unit:"rem",layer:-3,colored:!0},"table-layout":{layer:-3},"transform-box":{match:["transform"],layer:-3},"transform-style":{match:["transform",["flat","preserve-3d"]],layer:-3},"transform-origin":{match:["transform",["top","bottom","right","left","center"]],numeric:!0,unit:"px",layer:-3},transform:{match:/^(?:translate|scale|skew|rotate|perspective|matrix)(?:3d|[XYZ])?\(/,layer:-3,analyze(t){return[t.startsWith("transform")?t.slice(10):t]},variables:["spacing"]},"transition-property":{match:/^~property:/,layer:-3},"transitionTiming-function":{match:/^~easing:/,layer:-3},"transition-duration":{match:/^~duration:/,layer:-3,unit:"ms"},"transition-delay":{match:/^~delay:/,layer:-3,unit:"ms"},transition:{match:/^~[^!*>+~:[@_]+\|/,analyze(t){if(t.startsWith("~"))return[t.slice(1)];{let e=t.indexOf(":");return this.prefix=t.slice(0,e+1),[t.slice(e+1)]}},layer:-7},"animation-delay":{match:/^@delay:/,layer:-3,unit:"ms"},"animation-direction":{match:/^@direction:/,layer:-3},"animation-duration":{match:/^@duration:/,layer:-3,unit:"ms"},"animation-fill-mode":{match:/^@fill:/,layer:-3},"animation-iteration-count":{match:/^@iteration:/,layer:-3},"animation-name":{match:/^@name:/,layer:-3},"animation-play-state":{match:/^@play:/,layer:-3},"animation-timing-function":{match:/^@easing:/,layer:-3},animation:{match:/^@[^!*>+~:[@_]+\|/,layer:-7,analyze(t){if(t.startsWith("@"))return[t.slice(1)];{let e=t.indexOf(":");return this.prefix=t.slice(0,e+1),[t.slice(e+1)]}}},"border-collapse":{match:["b(?:order)?",["collapse","separate"]],layer:-3},"border-spacing":{unit:"rem",layer:-3},"border-top-color":{match:["b(?:t|order-top(?:-color)?)"],layer:-3,colored:!0},"border-bottom-color":{match:["b(?:b|order-bottom(?:-color)?)"],layer:-3,colored:!0},"border-left-color":{match:["b(?:l|order-left(?:-color)?)"],layer:-3,colored:!0},"border-right-color":{match:["b(?:r|order-right(?:-color)?)"],layer:-3,colored:!0},"border-x-color":{match:["b(?:x|order-x(?:-color)?)"],layer:-5,colored:!0,declare(t,e){return{"border-left-color":t+e,"border-right-color":t+e}}},"border-y-color":{match:["b(?:y|order-y(?:-color)?)"],layer:-5,colored:!0,declare(t,e){return{"border-top-color":t+e,"border-bottom-color":t+e}}},"border-color":{match:["b(?:order)?(?:-color)?"],layer:-7,colored:!0},"border-top-left-radius":{match:/^r(?:tl|lt):/,unit:"rem",layer:-3},"border-top-right-radius":{match:/^r(?:tr|rt):/,unit:"rem",layer:-3},"border-bottom-left-radius":{match:/^r(?:bl|lb):/,unit:"rem",layer:-3},"border-bottom-right-radius":{match:/^r(?:br|rb):/,unit:"rem",layer:-3},"border-top-radius":{match:/^rt:/,unit:"rem",layer:-5,declare(t,e){return{"border-top-left-radius":t+e,"border-top-right-radius":t+e}}},"border-bottom-radius":{match:/^rb:/,unit:"rem",layer:-5,declare(t,e){return{"border-bottom-left-radius":t+e,"border-bottom-right-radius":t+e}}},"border-left-radius":{match:/^rl:/,unit:"rem",layer:-5,declare(t,e){return{"border-top-left-radius":t+e,"border-bottom-left-radius":t+e}}},"border-right-radius":{match:/^rr:/,unit:"rem",layer:-5,declare(t,e){return{"border-top-right-radius":t+e,"border-bottom-right-radius":t+e}}},"border-radius":{match:/^r:/,unit:"rem",layer:-7},"border-top-style":{match:["b(?:t|order-top(?:-style)?)",Y],layer:-3},"border-bottom-style":{match:["b(?:b|order-bottom(?:-style)?)",Y],layer:-3},"border-left-style":{match:["b(?:l|order-left(?:-style)?)",Y],layer:-3},"border-right-style":{match:["b(?:r|order-right(?:-style)?)",Y],layer:-3},"border-x-style":{match:["b(?:x|order-x(?:-style)?)",Y],layer:-5,declare(t,e){return{"border-left-style":t+e,"border-right-style":t+e}}},"border-y-style":{match:["b(?:y|order-y(?:-style)?)",Y],layer:-5,declare(t,e){return{"border-top-style":t+e,"border-bottom-style":t+e}}},"border-style":{match:["b(?:order)?(?:-style)?",Y],layer:-7},"border-top-width":{match:["b(?:t|order-top(?:-width)?)"],numeric:!0,unit:"rem",layer:-3},"border-bottom-width":{match:["b(?:b|order-bottom(?:-width)?)"],numeric:!0,unit:"rem",layer:-3},"border-left-width":{match:["b(?:l|order-left(?:-width)?)"],numeric:!0,unit:"rem",layer:-3},"border-right-width":{match:["b(?:r|order-right(?:-width)?)"],numeric:!0,unit:"rem",layer:-3},"border-x-width":{match:["b(?:x|order-x(?:-width)?)"],numeric:!0,unit:"rem",layer:-5,declare(t,e){return{"border-left-width":t+e,"border-right-width":t+e}}},"border-y-width":{match:["b(?:y|order-y(?:-width)?)"],numeric:!0,unit:"rem",layer:-5,declare(t,e){return{"border-top-width":t+e,"border-bottom-width":t+e}}},"border-width":{match:["b(?:order)?(?:-width)?"],numeric:!0,unit:"rem",layer:-7},"border-image-outset":{unit:"rem",layer:-3},"border-image-repeat":{match:["border-image",["stretch","repeat","round","space"]],layer:-3},"border-image-slice":{layer:-3},"border-image-source":{match:["border-image",["url","linear-gradient","radial-gradient","repeating-linear-gradient","repeating-radial-gradient","conic-gradient"]],layer:-3},"border-image-width":{match:["border-image",["auto"]],numeric:!0,unit:"rem",layer:-3},"border-image":{layer:-7},"border-top":{match:/^bt:/,layer:-7,unit:"rem",colored:!0,transformValueComponents:q},"border-bottom":{match:/^bb:/,layer:-7,unit:"rem",colored:!0,transformValueComponents:q},"border-left":{match:/^bl:/,layer:-7,unit:"rem",colored:!0,transformValueComponents:q},"border-right":{match:/^br:/,layer:-7,unit:"rem",colored:!0,transformValueComponents:q},"border-x":{match:/^(?:bx|border-x):/,unit:"rem",colored:!0,layer:-5,transformValueComponents:q,declare(t){return{"border-left":t,"border-right":t}}},"border-y":{match:/^(?:by|border-y):/,unit:"rem",colored:!0,layer:-5,transformValueComponents:q,declare(t){return{"border-top":t,"border-bottom":t}}},border:{match:/^b:/,unit:"rem",colored:!0,layer:-7,transformValueComponents:q},"background-attachment":{match:["(?:bg|background)",["fixed","local","scroll"]],layer:-3},"background-blend-mode":{layer:-3},"background-color":{match:["(?:bg|background)"],layer:-3,colored:!0},"background-clip":{match:["(?:bg|background)",["text"]],layer:-3,declare(t,e){return{"-webkit-background-clip":t+e,"background-clip":t+e}}},"background-origin":{match:["(?:bg|background)"],layer:-3},"background-position":{match:["(?:bg|background)",["top","bottom","right","left","center"]],layer:-3,unit:"px"},"background-repeat":{match:["(?:bg|background)",["space","round","repeat","no-repeat","repeat-x","repeat-y"]],layer:-3},"background-size":{match:["(?:bg|background)",["auto","cover","contain"]],numeric:!0,unit:"rem",layer:-3},"background-image":{match:["(?:bg|background)",["(?:url|linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|conic-gradient)\\(.*\\)"]],layer:-3},background:{match:/^bg:/,colored:!0,layer:-7},gradient:{match:/^gradient\(/,layer:-3,colored:!0,declare(t){return{"background-image":"linear-"+t}}},"mix-blend-mode":{match:/^blend:/,layer:-3},"backdrop-filter":{match:/^bd:/,layer:-3,colored:!0,declare(t,e){return{"backdrop-filter":t+e,"-webkit-backdrop-filter":t+e}}},filter:{match:/^(?:blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)\(/,layer:-3,colored:!0},fill:{match:/^fill:/,layer:-3,colored:!0},"stroke-dasharray":{layer:-3},"stroke-dashoffset":{layer:-3,variables:["spacing"]},"stroke-width":{match:["stroke(?:-width)?"],numeric:!0,layer:-3},stroke:{match:["stroke"],layer:-3,colored:!0},x:{layer:-3,variables:["spacing"]},y:{layer:-3,variables:["spacing"]},cx:{layer:-3,variables:["spacing"]},cy:{layer:-3,variables:["spacing"]},rx:{layer:-3},ry:{layer:-3},"grid-column-start":{match:/^grid-col-start:/,layer:-3},"grid-column-end":{match:/^grid-col-end:/,layer:-3},"grid-column":{match:/^grid-col(?:umn)?(?:-span)?:/,layer:-7,transformValue(t){return this.prefix.slice(-5,-1)==="span"&&t!=="auto"?"span "+t+"/span "+t:t}},"grid-columns":{match:/^grid-cols:/,declare(t,e){return{display:"grid","grid-template-columns":"repeat("+t+e+",minmax(0,1fr))"}},layer:-1},"grid-row-start":{layer:-3},"grid-row-end":{layer:-3},"grid-row":{match:/^grid-row-span:/,layer:-7,transformValue(t){return this.prefix.slice(-5,-1)==="span"&&t!=="auto"?"span "+t+"/span "+t:t}},"grid-rows":{match:/^grid-rows:/,declare(t,e){return{display:"grid","grid-auto-flow":"column","grid-template-rows":"repeat("+t+e+",minmax(0,1fr))"}},layer:-1},"grid-auto-columns":{match:/^grid-auto-cols:/,layer:-3,variables:["sizing"]},"grid-auto-flow":{match:/^grid-flow:/,layer:-3},"grid-auto-rows":{layer:-3,variables:["sizing"]},"grid-template-areas":{layer:-3},"grid-template-columns":{match:/^grid-template-cols:/,layer:-3,unit:"rem",variables:["sizing"]},"grid-template-rows":{layer:-3,unit:"rem",variables:["sizing"]},"grid-template":{layer:-7},"grid-area":{layer:-7},grid:{layer:-7},"column-gap":{match:/^gap-x:/,unit:"rem",layer:-3,variables:["spacing"]},"row-gap":{match:/^gap-y:/,unit:"rem",layer:-3,variables:["spacing"]},gap:{unit:"rem",layer:-7,variables:["spacing"]},order:{match:/^o:/,layer:-3},"break-inside":{layer:-3},"break-before":{layer:-3},"break-after":{layer:-3},"aspect-ratio":{match:/^aspect:/,layer:-3},"column-span":{match:/^col-span:/,layer:-3},"align-content":{match:/^ac:/,layer:-3},"align-items":{match:/^ai:/,layer:-3},"align-self":{match:/^as:/,layer:-3},"justify-content":{match:/^jc:/,layer:-3},"justify-items":{match:/^ji:/,layer:-3},"justify-self":{match:/^js:/,layer:-3},"place-content":{layer:-7},"place-items":{layer:-7},"place-self":{layer:-7},"list-style-position":{match:["list-style",["inside","outside"]],layer:-3},"list-style-type":{match:["list-style",["disc","decimal"]],layer:-3},"list-style-image":{match:["list-style",["(?:url|linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|conic-gradient)\\(.*\\)"]],layer:-3},"list-style":{layer:-7},"outline-color":{match:["outline"],layer:-3,colored:!0},"outline-offset":{unit:"rem",layer:-3,variables:["spacing"]},"outline-style":{match:["outline",Y],layer:-3},"outline-width":{match:["outline",["medium","thick","thin"]],numeric:!0,unit:"rem",layer:-3},outline:{unit:"rem",layer:-7,colored:!0,variables:["outline-width","outline-style","outline-offset","outline-color"],transformValueComponents:q},"accent-color":{match:/^accent:/,layer:-3,colored:!0},appearance:{layer:-3},"caret-color":{match:/^caret:/,layer:-3,colored:!0},"scroll-behavior":{layer:-3},"scroll-margin-left":{match:/^scroll-ml:/,layer:-3,unit:"rem",variables:["spacing"]},"scroll-margin-right":{match:/^scroll-mr:/,layer:-3,unit:"rem",variables:["spacing"]},"scroll-margin-top":{match:/^scroll-mt:/,layer:-3,unit:"rem",variables:["spacing"]},"scroll-margin-bottom":{match:/^scroll-mb:/,layer:-3,unit:"rem",variables:["spacing"]},"scroll-margin-x":{match:/^(?:scroll-margin-x|scroll-mx):/,unit:"rem",layer:-5,declare(t,e){return{"scroll-margin-left":t+e,"scroll-margin-right":t+e}},variables:["spacing"]},"scroll-margin-y":{match:/^(?:scroll-margin-y|scroll-my):/,unit:"rem",layer:-5,declare(t,e){return{"scroll-margin-top":t+e,"scroll-margin-bottom":t+e}},variables:["spacing"]},"scroll-margin":{match:/^scroll-m:/,unit:"rem",layer:-7,variables:["spacing"]},"scroll-padding-left":{match:/^scroll-pl:/,layer:-3,unit:"rem",variables:["spacing"]},"scroll-padding-right":{match:/^scroll-pr:/,layer:-3,unit:"rem",variables:["spacing"]},"scroll-padding-top":{match:/^scroll-pt:/,layer:-3,unit:"rem",variables:["spacing"]},"scroll-padding-bottom":{match:/^scroll-pb:/,layer:-3,unit:"rem",variables:["spacing"]},"scroll-padding-x":{match:/^(?:scroll-padding-x|scroll-px):/,unit:"rem",layer:-5,declare(t,e){return{"scroll-padding-left":t+e,"scroll-padding-right":t+e}},variables:["spacing"]},"scroll-padding-y":{match:/^(?:scroll-padding-y|scroll-py):/,unit:"rem",layer:-5,declare(t,e){return{"scroll-padding-top":t+e,"scroll-padding-bottom":t+e}},variables:["spacing"]},"scroll-padding":{match:/^scroll-p:/,unit:"rem",layer:-7,variables:["spacing"]},"scroll-snap-align":{match:["scroll-snap",["start","end","center"]],layer:-3},"scroll-snap-stop":{match:["scroll-snap",["normal","always"]],layer:-3},"scroll-snap-type":{match:["scroll-snap",["x","y","block","inline","both"]],layer:-3},"will-change":{layer:-3},"writing-mode":{match:/^writing:/,layer:-3},direction:{layer:-3},"shape-outside":{match:["shape",["(?:inset|circle|ellipse|polygon|url|linear-gradient)\\(.*\\)"]],layer:-3},"shape-margin":{match:["shape"],numeric:!0,unit:"rem",layer:-3,variables:["spacing"]},"shape-image-threshold":{layer:-3},"clip-path":{match:/^clip:/,layer:-3},quotes:{layer:-3},"mask-image":{layer:-3,declare(t,e){return{"mask-image":t+e,"-webkit-mask-image":t+e}}}},he=Se;var De={$:{colored:!0,transform(t){let e,r,n=t.indexOf(",");return n!==-1?(e=t.slice(0,n),r=t.slice(n+1)):e=t,[{type:"variable",name:e,fallback:r}]}},calc:{transform(t,e){let r=[],n=this.css.config.functions,y=0,s=(l,m,u)=>{let f=!1,o="",d=(p,b="",c="")=>{o&&(!f&&!u?l.push(this.parseValueComponent(o,n.calc.unit)):l.push({type:"string",value:o}),o=""),p&&(b&&t[y-1]===" "&&(b=""),c&&t[y+1]===" "&&(c=""),m?l.push({type:"separator",value:p,text:p}):l.push({type:"separator",value:p,text:b+p+c})),f=!1};for(;y<t.length;y++){let p=t[y];if(p==="("){let b=/^([+-])/.exec(o);b&&l.push({type:"string",value:b[1]});let c=b?o.slice(1):o,g={type:"function",name:c,symbol:p,children:[]};l.push(g),o="",y++;let a=g.name==="$"||g.name==="var";s(g.children,c!==""&&c!=="calc"&&(a||Object.prototype.hasOwnProperty.call(n,c)),f||a)}else if(p===")"){d("");break}else if(p===",")d(p,""," ");else if(p===" ")d(p);else{let b=t[y-1];switch(p){case"+":!o&&b!==")"?o+=p:d(p," "," ");break;case"-":!o&&b!==")"?o+=p:d(p," "," ");break;case"*":d(p," "," ");break;case"/":d(p," "," "),f=!0;break;default:o+=p;break}}}d("")};return s(r,!1,!1),"calc("+this.resolveValue(r,n.calc.unit??this.definition.unit,e)+")"}},translate:{unit:"rem"},translateX:{unit:"rem"},translateY:{unit:"rem"},translateZ:{unit:"rem"},translate3d:{unit:"rem"},skew:{unit:"deg"},skewX:{unit:"deg"},skewY:{unit:"deg"},skewZ:{unit:"deg"},skew3d:{unit:"deg"},rotate:{unit:"deg"},rotateX:{unit:"deg"},rotateY:{unit:"deg"},rotateZ:{unit:"deg"},rotate3d:{unit:"deg"},blur:{unit:"rem"},"drop-shadow":{unit:"rem"},"hue-rotate":{unit:"deg"},rgb:{unit:""},rgba:{unit:""},hsl:{unit:""},hsla:{unit:""},color:{unit:"",colored:!0},"color-contrast":{unit:"",colored:!0},"color-mix":{unit:"",colored:!0},hwb:{unit:""},lab:{unit:""},lch:{unit:""},oklab:{unit:""},oklch:{unit:""},clamp:{unit:""},repeat:{unit:""},"linear-gradient":{colored:!0},"radial-gradient":{colored:!0},"conic-gradient":{colored:!0},"repeating-linear-gradient":{colored:!0},"repeating-radial-gradient":{colored:!0},"repeating-conic-gradient":{colored:!0}},me=De;var G={mediaQueries:oe,selectors:le,semantics:ce,rules:he,functions:me,animations:fe,variables:de,scope:"",rootSize:16,override:!1,important:!1,themeDriver:"class"};var pe=[",",".","#","[","!","*",">","+","~",":","@"];var J=class{constructor(e=G){this.customConfig=e;e?.override?this.config=this.getExtendedConfig(e):this.config=this.getExtendedConfig(G,e),this.resolve(),globalThis.masterCSSs.push(this)}static config=G;static refresh=e=>{for(let r of globalThis.masterCSSs)r.refresh(e)};rules=[];ruleBy={};classesUsage={};observing=!1;config;semanticRuleOptions=[];ruleOptions=[];observer;resolve(){this.styles={},this.stylesBy={},this.selectors={},this.variables={},this.mediaQueries={},this.animations={},this.ruleOptions.length=0,this.semanticRuleOptions.length=0,this.variablesNativeRules=void 0,this.hasKeyframesRule=!1;let e={current:void 0,currentColor:void 0,transparent:void 0},{styles:r,selectors:n,variables:y,semantics:s,mediaQueries:l,rules:m,animations:u}=this.config;function f(c){return c.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}function o(c,g,a="",i={}){let h=x=>x?(a?a+"-":"")+x:a,C=Object.entries(c),v=[],D=[];for(let x of C){let R=x[1];(typeof R=="object"&&!Array.isArray(R)?v:D).push(x)}for(let[x,R]of v)o(R,g,h(x),i);if(g&&a)D.length&&(i[a]=D.reduce((x,[R,N])=>(x[R]=N,x),{}));else for(let[x,R]of D)i[h(x)]=R;return i}if(n)for(let[c,g]of Object.entries(o(n,!1))){let a=new RegExp(f(c)+"(?![a-z-])");for(let i of Array.isArray(g)?g:[g]){let h=i.match(/^::-[a-z]+-/m)?.[0]??"",C=this.selectors[h];C||(C=this.selectors[h]=[]);let v=C.find(([D])=>D===a);v||(v=[a,[]],C.push(v)),v[1].push(i)}}if(y){let c={};for(let g in y){let a=(i,h,C=void 0)=>{if(!i)return;let v=(x,R,N=void 0,O=void 0)=>{if(R===void 0)return;if(R.type==="color"){if(O){let W=R.value.indexOf("/");R={...R,value:W===-1?R.value+" / "+(O.startsWith("0.")?O.slice(1):O):R.value.slice(0,W+2)+(+R.value.slice(W+2)*+O).toString().slice(1)}}e[x]=void 0}let T=N??C;if(T!==void 0)if(Object.prototype.hasOwnProperty.call(this.variables,x)){let W=this.variables[x];T?(W.themes||(W.themes={}),W.themes[T]=R):(W.value=R.value,W.space=R.space)}else T?this.variables[x]={type:R.type,space:R.space,themes:{[T]:R}}:this.variables[x]=R;else this.variables[x]=R},D=typeof i;if(D==="object")if(Array.isArray(i))v(h,{type:"string",value:i.join(",")});else{let x=Object.keys(i);for(let R of x)R===""||R.startsWith("@")?a(i[R],h,R||x.some(N=>N.startsWith("@"))?R.slice(1):void 0):a(i[R],h+"-"+R)}else if(D==="number")v(h,{type:"number",value:i}),v("-"+h,{type:"number",value:i*-1});else if(D==="string"){let x=/^\$\((.*?)\)(?: ?\/ ?(.+?))?$/.exec(i);if(x)Object.prototype.hasOwnProperty.call(c,h)||(c[h]={}),c[h][C]=()=>{delete c[h][C];let[R,N]=x[1].split("@");if(R){if(Object.prototype.hasOwnProperty.call(c,R))for(let T of Object.keys(c[R]))c[R][T]?.();let O=this.variables[R];if(O)if(N===void 0&&O.themes){v(h,{type:O.type,value:O.value,space:O.space},"",x[2]);for(let T in O.themes)v(h,O.themes[T],T,x[2])}else{let T=N!==void 0?O.themes?.[N]:O;T&&v(h,{type:T.type,value:T.value,space:T.space},void 0,x[2])}}};else{let R=/^#([A-Fa-f0-9]{3,4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/.exec(i);if(R){let[N,O,T,W]=K(R[1]);v(h,{type:"color",value:`${N} ${O} ${T}${W===1?"":" / "+W}`,space:"rgb"})}else{let N=/^rgb\( *([0-9]{1,3})(?: *, *| +)([0-9]{1,3})(?: *, *| +)([0-9]{1,3}) *(?:(?:,|\/) *(.*?) *)?\)$/.exec(i);if(N)v(h,{type:"color",value:N[1]+" "+N[2]+" "+N[3]+(N[4]?" / "+(N[4].startsWith("0.")?N[4].slice(1):N[4]):""),space:"rgb"});else{let O=/^hsl\((.*?)\)$/.exec(i);O?v(h,{type:"color",value:O[1],space:"hsl"}):v(h,{type:"string",value:i})}}}}};a(y[g],g)}for(let g of Object.keys(c))for(let a of Object.keys(c[g]))c[g][a]?.()}if(l&&(this.mediaQueries=o(l,!1)),u)for(let c in u){let g=this.animations[c]={},a=u[c];for(let i in a){let h=g[i]={},C=a[i];for(let v in C)h[v]=C[v]}}let d=r?o(r,!1):{},p=Object.keys(d),b=c=>{if(Object.prototype.hasOwnProperty.call(this.styles,c))return;let g=this.styles[c]=[],a=d[c];if(!a)return;let i=a.replace(/(?:\n(?:\s*))+/g," ").trim().split(" ");for(let h of i){let C=v=>{if(Object.prototype.hasOwnProperty.call(this.stylesBy,v)){let D=this.stylesBy[v];D.includes(c)||D.push(c)}else this.stylesBy[v]=[c];g.includes(v)||g.push(v)};if(p.includes(h)){b(h);for(let v of this.styles[h])C(v)}else C(h)}};for(let c of p)b(c);if(s&&Object.entries(s).sort((c,g)=>c[0].localeCompare(g[0])).forEach(([c,g],a)=>{this.semanticRuleOptions.push({id:"."+c,resolvedMatch:new RegExp("^"+f(c)+"(?=!|\\*|>|\\+|~|:|\\[|@|_|\\.|$)","m"),order:a,declarations:g,layer:-8})}),m){let c=Object.entries(m).sort((i,h)=>i[1].layer!==h[1].layer?(h[1].layer||0)-(i[1].layer||0):h[0].localeCompare(i[0])),g=c.length,a=Object.keys(e);c.forEach(([i,h],C)=>{this.ruleOptions.push(h),h.order=this.semanticRuleOptions.length+g-1-C;let v=h.match;h.id=i,h.resolvedVariables={};let D=x=>{Object.assign(h.resolvedVariables,Object.keys(this.variables).filter(R=>R.startsWith(x+"-")||R.startsWith("-"+x+"-")).reduce((R,N)=>(R[N.slice(x.length+(x.startsWith("-")?0:1))]={...this.variables[N],name:N},R),{}))};if(h.variables)for(let x of h.variables)D(x);if(D(i),v)if(Array.isArray(v)){let[x,R=[]]=v,N=[];R.length&&N.push(`(?:${R.join("|")})(?![a-zA-Z0-9-])`),Object.keys(h.resolvedVariables).length&&N.push(`(?:${Object.keys(h.resolvedVariables).join("|")})(?![a-zA-Z0-9-])`),h.colored&&N.push("#","(?:color|color-contrast|color-mix|hwb|lab|lch|oklab|oklch|rgb|rgba|hsl|hsla)\\(.*\\)",`(?:${a.join("|")})(?![a-zA-Z0-9-])`),h.numeric&&N.push("[\\d\\.]","(?:max|min|calc|clamp)\\(.*\\)"),N.length&&(h.resolvedMatch=new RegExp(`^${x}:(?:${N.join("|")})[^|]*?(?:@|$)`))}else h.resolvedMatch=v})}}observe(e,r={subtree:!0,childList:!0}){if(e||(e=document),this.root===e)return this;this.root=e;let n=e===document;n&&(globalThis.masterCSS=this),this.host=n?document.documentElement:this.root.host;let y=n?document.head:e,s=n?document.styleSheets:e.styleSheets;for(let m of s){let{ownerNode:u}=m;if(u&&u.id==="master"){this.style=u;break}}if(this.style){let m=0;for(;m<this.style.sheet.cssRules.length;m++){let u=this.style.sheet.cssRules[m];switch(u.constructor.name){case"CSSKeyframesRule":continue;case"CSSMeidaRule":if(this.config.themeDriver==="media"){let o=/\(prefers-color-scheme: (.*?)\)/.exec(u.conditionText);if(o){let d=u.cssRules[0];if(d?.constructor.name==="CSSStyleRule"&&d.selectorText===":root"){this.pushVariableNativeRule(o[1],d);continue}}}break;case"CSSStyleRule":let f=u.selectorText;if(u.style.length){let o=!0;for(let d=0;d<u.style.length;d++)if(!u.style[d]?.startsWith("--")){o=!1;break}if(o){if(f===":root"){this.pushVariableNativeRule("",u);continue}else if(this.config.themeDriver==="host"){let d=/:host(.*?)/.exec(f);if(d){this.pushVariableNativeRule(d[1],u);continue}}else if(!f.startsWith(".\\$")){this.pushVariableNativeRule(f.slice(1),u);continue}}}break}}for(;m<this.style.sheet.cssRules.length;m++){let u=o=>{if(o.selectorText){let p=o.selectorText.split(", ")[0].split(" ");for(let b=0;b<p.length;b++){let c=p[b];if(c[0]==="."){let g=c.slice(1),a="";for(let i=0;i<g.length;i++){let h=g[i],C=g[i+1];if(h==="\\"){if(i++,C!=="\\"){a+=C;continue}}else if(pe.includes(h))break;a+=h}if(!Object.prototype.hasOwnProperty.call(this.ruleBy,a)&&!Object.prototype.hasOwnProperty.call(this.styles,a)){let i=this.create(a)[0];if(i)return i}}}}else if(o.cssRules)for(let d=0;d<o.cssRules.length;d++){let p=u(o.cssRules[d]);if(p)return p}},f=u(this.style.sheet.cssRules[m]);if(f){this.rules.push(f),this.ruleBy[f.className]=f;for(let o=0;o<f.natives.length;o++)f.natives[o].cssRule=this.style.sheet.cssRules[m+o];m+=f.natives.length-1,this.handleRuleWithVariableNames(f,!0),this.handleRuleWithAnimationNames(f,!0),f.definition.insert?.call(f)}}}else this.style=document.createElement("style"),this.style.id="master",y.append(this.style);let l=m=>{m.forEach(u=>{Object.prototype.hasOwnProperty.call(this.classesUsage,u)?this.classesUsage[u]++:(this.classesUsage[u]=1,this.insert(u))})};return l(this.host.classList),r.subtree&&this.host.querySelectorAll("[class]").forEach(m=>l(m.classList)),this.observer=new MutationObserver(m=>{let u={},f=[],o=[],d=[],p=(a,i)=>{i?a.classList.forEach(c):a.classList.forEach(b);let h=a.children;for(let C=0;C<h.length;C++){let v=h[C];v.classList&&(o.push(v),p(v,i))}},b=a=>{Object.prototype.hasOwnProperty.call(u,a)?u[a]++:u[a]=1},c=a=>{Object.prototype.hasOwnProperty.call(u,a)?u[a]--:Object.prototype.hasOwnProperty.call(this.classesUsage,a)&&(u[a]=-1)},g=(a,i)=>{for(let h=0;h<a.length;h++){let C=a[h];C.classList&&!o.includes(C)&&!d.includes(C)&&(C.isConnected!==i?(o.push(C),p(C,i)):d.push(C))}};for(let a=0;a<m.length;a++){let i=m[a],{addedNodes:h,removedNodes:C,type:v,target:D}=i;if(v==="attributes"){if(f.find(x=>x.target===D))continue;f.push(i)}else g(h,!1),(!D.isConnected||!o.includes(D))&&g(C,!0)}if(!(!f.length&&!Object.keys(u).length)){for(let{oldValue:a,target:i}of f){let h=o.includes(i),C=i.classList,v=a?a.split(" "):[];if(h){if(i.isConnected)continue;for(let D of v)C.contains(D)||c(D)}else if(i.isConnected){C.forEach(D=>{v.includes(D)||b(D)});for(let D of v)C.contains(D)||c(D)}}for(let a in u){let i=u[a],h=(this.classesUsage[a]||0)+i;h===0?(delete this.classesUsage[a],this.delete(a)):(Object.prototype.hasOwnProperty.call(this.classesUsage,a)||this.insert(a),this.classesUsage[a]=h)}}}),this.observer.observe(e,{...r,attributes:!0,attributeOldValue:!0,attributeFilter:["class"]}),this.host.style.display=null,this.observing=!0,this}disconnect(){this.observer&&(this.observer.disconnect(),this.observer=null),this.observing=!1,this.ruleBy={},this.classesUsage={},this.rules.length=0,this.hasKeyframesRule=!1,this.variablesNativeRules=void 0;for(let r in this.animations){let n=this.animations[r];n.usage=void 0,n.native=void 0}for(let r in this.variables){let n=this.variables[r];n.usage=void 0}let e=this.style?.sheet;if(e?.cssRules)for(let r=e.cssRules.length-1;r>=0;r--)e.deleteRule(r);this.style?.remove(),this.style=null,this.root=null}match(e){for(let r of this.ruleOptions)if(r.resolvedMatch&&r.resolvedMatch.test(e)||(r.layer===-2||r.layer===-6||r.layer===-3||r.layer===-7)&&e.startsWith(r.id+":"))return r;for(let r of this.semanticRuleOptions)if(r.resolvedMatch.test(e))return r}create(e){let r=n=>{if(Object.prototype.hasOwnProperty.call(this.ruleBy,n))return this.ruleBy[n];let y=this.match(n);if(y)return new ee(n,y,this)};return(Object.prototype.hasOwnProperty.call(this.styles,e)?this.styles[e].map(n=>r(n)):[r(e)]).filter(n=>n&&n.text)}refresh(e=this.customConfig){if(e?.override?this.config=this.getExtendedConfig(e):this.config=this.getExtendedConfig(G,e),this.resolve(),!this.style)return;let r=document.createElement("style");r.id="master",this.style.replaceWith(r),this.style=r,this.rules.length=0,this.ruleBy={};for(let n in this.classesUsage)this.insert(n)}destroy(){this.disconnect(),globalThis.masterCSSs.splice(globalThis.masterCSSs.indexOf(this),1)}delete(e){let r=this.style?.sheet,n=y=>{let s=this.ruleBy[y];if(!(!s||Object.prototype.hasOwnProperty.call(this.stylesBy,y)&&this.stylesBy[y].some(l=>Object.prototype.hasOwnProperty.call(this.classesUsage,l)))){if(r&&s.natives.length){let l=s.natives[0];for(let m=0;m<r.cssRules.length;m++)if(r.cssRules[m]===l.cssRule){for(let f=0;f<s.natives.length;f++)r.deleteRule(m);break}}if(this.rules.splice(this.rules.indexOf(s),1),delete this.ruleBy[y],s.variableNames)for(let l of s.variableNames){let m=this.variables[l];if(!--m.usage){let u=f=>{let o=this.variablesNativeRules[f];if(o.cssRule.style.removeProperty("--"+l),!o.cssRule.style.length){let d=this.rules[0],p=d.natives.indexOf(o);r?.deleteRule(p),d.natives.splice(p,1),delete this.variablesNativeRules[f],d.natives.length||(this.rules.splice(0,1),this.variablesNativeRules=void 0)}};if(m.value&&u(""),m.themes)for(let f in m.themes)u(f)}}if(s.animationNames){let l=this.variablesNativeRules?1:0,m=this.rules[l];for(let u of s.animationNames){let f=this.animations[u];if(!--f.usage){let o=m.natives.indexOf(f.native);this.style.sheet.deleteRule((this.variablesNativeRules?Object.keys(this.variablesNativeRules).length:0)+o),m.natives.splice(o,1),f.native=void 0}}m.natives.length||(this.rules.splice(l,1),this.hasKeyframesRule=!1)}s.definition.delete?.call(s,y)}};if(Object.prototype.hasOwnProperty.call(this.styles,e)){for(let y of this.styles[e])Object.prototype.hasOwnProperty.call(this.classesUsage,y)||n(y);delete this.ruleBy[e]}else n(e)}insert(e){let r=this.create(e);return r.length?(this.render(r),!0):!1}render(e){for(let r of e){if(this.ruleBy[r.className])continue;let n,y=this.rules.length-1,{media:s,order:l,priority:m,hasWhere:u,className:f}=r,o=(b,c,g)=>{let a=b;for(;a<=y;a++){let i=this.rules[a];if(c?.(i))return g?-1:a-1;if(g?.(i))return a}return g?-1:a-1},d,p;if(s){let b=this.rules.findIndex(c=>c.media);if(b===-1)n=y+1;else{let{"max-width":c,"min-width":g}=s.features;if(c||g){let a=this.rules.findIndex(i=>i.media?.features["max-width"]||i.media?.features["min-width"]);if(a===-1)n=y+1;else if(c&&g){if(m===-1?(d=o(a,i=>i.priority!==-1,i=>i.media.features["max-width"]&&i.media.features["min-width"]),p=o(a,i=>i.priority!==-1)):(d=o(a,void 0,i=>i.media.features["max-width"]&&i.media.features["min-width"]&&i.priority!==-1),p=y),d!==-1){let i=c.value-g.value,h=p,C=d;for(d=void 0;h>=C;h--){let{"max-width":v,"min-width":D}=this.rules[h].media.features,x=v.value-D.value;if(x<i)p=h-1;else if(x===i)d=h;else break}}if(d!==-1){let i=c.value-g.value;for(let h=p;h>=d;h--){let{"max-width":C,"min-width":v}=this.rules[h].media.features,D=C.value-v.value;if(D<i)p=h-1;else if(D>i){d=h+1;break}}}}else if(g){if(m===-1?(d=o(a,i=>i.media.features["max-width"]&&i.media.features["min-width"]||i.priority!==-1,i=>!i.media.features["max-width"]&&i.media.features["min-width"]),p=o(a,i=>i.media.features["max-width"]&&i.media.features["min-width"]||i.priority!==-1)):(d=o(a,i=>i.media.features["max-width"]&&i.media.features["min-width"]&&i.priority!==-1,i=>!i.media.features["max-width"]&&i.media.features["min-width"]&&i.priority!==-1),p=o(a,i=>i.media.features["max-width"]&&i.media.features["min-width"]&&i.priority!==-1)),d!==-1)for(let i=p;i>=d;i--){let h=this.rules[i].media.features["min-width"].value;if(h>g.value)p=i-1;else if(h<g.value){d=i+1;break}}}else if(m===-1?(d=o(a,i=>i.media.features["min-width"]||i.priority!==-1,i=>i.media.features["max-width"]),p=o(a,i=>i.media.features["min-width"]||i.priority!==-1)):(d=o(a,i=>i.media.features["min-width"]&&i.priority!==-1,i=>i.media.features["max-width"]&&i.priority!==-1),p=o(a,i=>i.media.features["min-width"]&&i.priority!==-1)),d!==-1)for(let i=p;i>=d;i--){let h=this.rules[i].media.features["max-width"].value;if(h<c.value)p=i-1;else if(h>c.value){d=i+1;break}}}else m===-1?(d=b,p=o(b,a=>a.media?.features["max-width"]||a.media?.features["min-width"]||a.priority!==-1)):(d=o(b,a=>a.media?.features["max-width"]||a.media?.features["min-width"],a=>a.priority!==-1),p=o(b,a=>a.media?.features["max-width"]||a.media?.features["min-width"]))}}else{let b=this.variablesNativeRules?this.hasKeyframesRule?2:1:this.hasKeyframesRule?1:0;m===-1?(d=b,p=o(b,c=>c.media||c.priority!==-1)):(d=o(b,c=>c.media,c=>c.priority!==-1),p=o(b,c=>c.media))}if(n===void 0)if(d===-1)n=p+1;else{if(m===-1)for(let b=d;b<=p;b++){let c=this.rules[b];if(!(!u&&c.hasWhere)&&(u&&!c.hasWhere||c.order>=l)){n=b;break}}else for(let b=d;b<=p;b++){let c=this.rules[b];if(!(!u&&c.hasWhere)){if(u&&!c.hasWhere){n=b;break}if(c.priority<m){n=b;break}else if(c.priority===m){if(c.order>=l){n=b;break}}else n=b+1}}n===void 0&&(n=p+1)}if(this.rules.splice(n,0,r),this.ruleBy[f]=r,this.style){let b=this.style.sheet,c=0,g=a=>{let i=this.rules[a];if(i){if(!i.natives.length)return g(a-1);let h=i.natives[i.natives.length-1],C=h.cssRule.parentRule??h.cssRule;for(let v=0;v<b.cssRules.length;v++)if(b.cssRules[v]===C){c=v+1;break}}};g(n-1);for(let a=0;a<r.natives.length;)try{let i=r.natives[a];b.insertRule(i.text,c),i.cssRule=b.cssRules[c++],a++}catch(i){console.error(i),r.natives.splice(a,1)}}this.handleRuleWithVariableNames(r),this.handleRuleWithAnimationNames(r),r.definition.insert?.call(r)}}get text(){return this.rules.map(e=>e.text).join("")}getExtendedConfig(...e){let r=s=>{let l=X({},s),m=u=>{for(let f in u){let o=u[f];typeof o=="object"&&!Array.isArray(o)?m(o):f&&!f.startsWith("@")&&(u[f]={"":o})}};return l.styles?m(l.styles):l.styles={},l.mediaQueries?m(l.mediaQueries):l.mediaQueries={},l.variables?m(l.variables):l.variables={},l},n=[];for(let s of e)(function l(m){if(m.extends?.length)for(let u of m.extends)l("config"in u?u.config:u);n.push(r(m))})(s);let y=n[0];for(let s=1;s<n.length;s++){let l=n[s];y=X(y,l),Object.prototype.hasOwnProperty.call(l,"animations")&&Object.assign(y.animations,l.animations)}return y}handleRuleWithAnimationNames(e,r=!1){if(e.animationNames){let n=this.style?.sheet;for(let y of e.animationNames){let s=this.animations[y];if(s.usage)s.usage++;else{let l={text:`@keyframes ${y}{`+Object.entries(s).filter(([f])=>f!=="usage"&&f!=="native").map(([f,o])=>`${f}{${Object.entries(o).map(([d,p])=>d+":"+p).join(";")}}`).join("")+"}"},m=this.variablesNativeRules?1:0,u;if(this.hasKeyframesRule?(u=this.rules[m]).natives.push(l):(this.rules.splice(m,0,u={natives:[l],get text(){return this.natives.map(f=>f.text).join("")}}),this.hasKeyframesRule=!0),n){let f;if(r)for(let o=0;o<n.cssRules.length;o++){let d=n.cssRules[o];if(d.constructor.name==="CSSKeyframesRule"&&d.name===y){f=d;break}}if(f)l.cssRule=f;else{let o=(this.variablesNativeRules?Object.keys(this.variablesNativeRules).length:0)+u.natives.length-1;n.insertRule(l.text,o),l.cssRule=n.cssRules[o]}}s.usage=1,s.native=l}}}}handleRuleWithVariableNames(e,r=!1){if(e.variableNames){let n=this.style?.sheet;for(let y of e.variableNames){let s=this.variables[y];if(s.usage)s.usage++;else{let l=(m,u)=>{let f=this.variablesNativeRules?.[m];if(!f){let d,p,b;if(m)switch(this.config.themeDriver){case"media":p=`@media(prefers-color-scheme:${m})`,b=":root";break;case"host":b=`:host(.${m})`;break;default:b=`.${m}`;break}else b=":root";if(n){let c=this.variablesNativeRules?this.rules[0].natives.length:0;n.insertRule((p?p+"{":"")+b+"{}"+(p?p+"}":""),c),d=p?n.cssRules[c].cssRules[0]:n.cssRules[c]}else{let c=new Map,g=Object.defineProperties({},{getPropertyValue:{value:a=>c.get(a)},removeProperty:{value:a=>{c.delete(a);for(let i=0;i<g.length;i++)g[i]===a&&delete g[i]}},setProperty:{value:(a,i)=>{g[g.length]=a,c.set(a,i)}},length:{get(){return Object.keys(g).length}}});d={selectorText:b,style:g,styleMap:c},p&&(d.parentRule={conditionText:p})}f=this.pushVariableNativeRule(m,d)}let o="--"+y;(!r||!f.cssRule.style.getPropertyValue(o))&&f.cssRule.style.setProperty(o,u.value.toString())};if(s.value&&l("",s),s.themes)for(let m in s.themes)l(m,s.themes[m]);s.usage=1}}}}pushVariableNativeRule(e,r){this.variablesNativeRules||(this.variablesNativeRules={},this.rules.splice(0,0,{natives:[],get text(){return this.natives.map(l=>l.text).join("")}}));let n="",y="}";r.parentRule&&(n+=r.parentRule.conditionText.replace(/ /g,"")+"{",y+="}"),n+=r.selectorText+"{";let s={cssRule:r,get text(){let l=[];for(let m=0;m<r.style.length;m++){let u=r.style[m];l.push(u+":"+r.style.getPropertyValue(u))}return n+l.join(";")+y}};return this.rules[0].natives.push(this.variablesNativeRules[e]=s),s}};globalThis.MasterCSS=J,globalThis.masterCSSs||(globalThis.masterCSSs=[]);window.masterCSS=new J(window.masterCSSConfig).observe(document);})();
@@ -1 +1,6 @@
1
- export {};
1
+ import type { Config } from './config';
2
+ declare global {
3
+ interface Window {
4
+ masterCSSConfig: Config;
5
+ }
6
+ }