@fluixi-ui/fx 0.1.0-alpha.2 → 0.1.0-alpha.3

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/README.md CHANGED
@@ -140,12 +140,19 @@ The client adopts that sheet instead of re-inserting its rules.
140
140
 
141
141
  ## Composing
142
142
 
143
- `mergeFx` folds a component's own styling, its `slotProps`, and the consumer's
143
+ `mergeFx` folds a component's own styling, its `sp` entries, and the consumer's
144
144
  `fx` into one object — later wins per property, selector blocks and breakpoint
145
145
  records merge rather than replace:
146
146
 
147
147
  ```tsx
148
- resolveFx(mergeFx(componentOwn, slotProps.body?.fx, props.fx));
148
+ resolveFx(mergeFx(componentOwn, sp.body?.fx, props.fx));
149
+ ```
150
+
151
+ A compound component reaches its parts with `slot`, which takes both channels: the
152
+ part's own `sp` entry, and the styles a caller addressed to it through `fx.sp`.
153
+
154
+ ```tsx
155
+ <PageBody {...slot('body', local.fx, local.sp)} />
149
156
  ```
150
157
 
151
158
  ## Binding it to an element
package/dist/index.d.ts CHANGED
@@ -6,5 +6,9 @@ export * from './lib/sheet.js';
6
6
  export * from './lib/merge.js';
7
7
  export * from './lib/color.js';
8
8
  export * from './lib/props.js';
9
+ export * from './lib/slots.js';
10
+ export * from './lib/presets.js';
11
+ export * from './lib/variants.js';
12
+ export { vars } from '@fluixi-ui/tokens/vars';
9
13
  export { hash } from './lib/hash.js';
10
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAIlC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -6,4 +6,10 @@ export * from './lib/sheet.js';
6
6
  export * from './lib/merge.js';
7
7
  export * from './lib/color.js';
8
8
  export * from './lib/props.js';
9
+ export * from './lib/slots.js';
10
+ export * from './lib/presets.js';
11
+ export * from './lib/variants.js';
12
+ // The token map, re-exported so the escape hatches — a raw `style`, an inline SVG, a
13
+ // canvas — can reach the same values without a second package import.
14
+ export { vars } from '@fluixi-ui/tokens/vars';
9
15
  export { hash } from './lib/hash.js';
@@ -1,7 +1,7 @@
1
1
  import type { FxObject, FxProp } from './types.js';
2
2
  /**
3
3
  * Combine style objects, later winning per property. Used to fold a component's
4
- * own styling, its `slotProps`, and the consumer's `fx` into one object before
4
+ * own styling, its `sp`, and the consumer's `fx` into one object before
5
5
  * resolving — so all three compose instead of clobbering.
6
6
  */
7
7
  export declare function mergeFx(...inputs: FxProp[]): FxObject;
package/dist/lib/merge.js CHANGED
@@ -32,7 +32,7 @@ function mergeInto(target, source) {
32
32
  }
33
33
  /**
34
34
  * Combine style objects, later winning per property. Used to fold a component's
35
- * own styling, its `slotProps`, and the consumer's `fx` into one object before
35
+ * own styling, its `sp`, and the consumer's `fx` into one object before
36
36
  * resolving — so all three compose instead of clobbering.
37
37
  */
38
38
  export function mergeFx(...inputs) {
@@ -0,0 +1,67 @@
1
+ import type { FxObject, SizeValue, SpaceValue } from './types.js';
2
+ /**
3
+ * Ready-made `fx` objects for the patterns that take several declarations to express.
4
+ *
5
+ * These earn a name because the declarations only work together — `truncate` is three
6
+ * properties and dropping one silently does nothing, `visuallyHidden` is the clip
7
+ * recipe, `lineClamp` needs the `-webkit-*` trio. One-liners are deliberately absent:
8
+ * `{ display: 'flex' }` is already short, and a preset for it would only be a second
9
+ * vocabulary for the same thing.
10
+ *
11
+ * Each returns a plain `FxObject`, so they compose with `mergeFx`, nest inside `sp`,
12
+ * and are overridden by whatever the caller passes after them:
13
+ *
14
+ * fx={mergeFx(stack(3), props.fx)}
15
+ */
16
+ /** Column flex with a gap. */
17
+ export declare function stack(gap?: SpaceValue): FxObject;
18
+ /** Row flex with a gap, centred on the cross axis — the toolbar/label default. */
19
+ export declare function row(gap?: SpaceValue): FxObject;
20
+ /** Centre a single child both ways. */
21
+ export declare const center: FxObject;
22
+ /** Cover the nearest positioned ancestor. */
23
+ export declare const absoluteFill: FxObject;
24
+ /** Fixed box. One argument is a square. */
25
+ export declare function size(width: SizeValue, height?: SizeValue): FxObject;
26
+ /** Fixed square — `size(n)` under a name that says why. */
27
+ export declare function square(edge: SizeValue): FxObject;
28
+ /** Hold a ratio while the width is driven by the layout. */
29
+ export declare function aspect(ratio: number | string): FxObject;
30
+ /** One line, ellipsised. All three declarations are required for the effect. */
31
+ export declare const truncate: FxObject;
32
+ /**
33
+ * Ellipsis after `lines` lines. Still the `-webkit-box` recipe in every engine —
34
+ * `line-clamp` proper is not broadly supported yet.
35
+ */
36
+ export declare function lineClamp(lines: number): FxObject;
37
+ /**
38
+ * A scroll region. `overscrollBehavior` stops the scroll chaining to the page when
39
+ * the region hits its end, which is the part people forget.
40
+ */
41
+ export declare function scrollY(maxHeight?: SizeValue): FxObject;
42
+ /** Horizontal counterpart of {@link scrollY}. */
43
+ export declare function scrollX(maxWidth?: SizeValue): FxObject;
44
+ /**
45
+ * Out of sight, still read aloud. `display: none` and `visibility: hidden` both take
46
+ * it out of the accessibility tree, which is the opposite of the point.
47
+ */
48
+ export declare const visuallyHidden: FxObject;
49
+ /** Text that should not be selected by a drag — handles, chrome, controls. */
50
+ export declare const noSelect: FxObject;
51
+ /**
52
+ * Scroll without a visible scrollbar. Three vendors, three mechanisms, and the WebKit
53
+ * one is a pseudo-element rather than a property — which is why `_scrollbar` exists in
54
+ * the selector set.
55
+ */
56
+ export declare const scrollbarHidden: FxObject;
57
+ /**
58
+ * Paint text with a background. `background-clip: text` needs its WebKit twin (the
59
+ * resolver mirrors that) and the fill colour has to be transparent for the background
60
+ * to show through — `color: transparent` alone leaves WebKit painting the glyphs.
61
+ */
62
+ export declare function gradientText(image: string): FxObject;
63
+ /** Kill the grey flash iOS paints over a tapped element. */
64
+ export declare const noTapHighlight: FxObject;
65
+ /** Momentum scrolling on older iOS; inert everywhere else. */
66
+ export declare const touchScroll: FxObject;
67
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/lib/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;;;GAaG;AAEH,8BAA8B;AAC9B,wBAAgB,KAAK,CAAC,GAAG,GAAE,UAAc,GAAG,QAAQ,CAEnD;AAED,kFAAkF;AAClF,wBAAgB,GAAG,CAAC,GAAG,GAAE,UAAc,GAAG,QAAQ,CAEjD;AAED,uCAAuC;AACvC,eAAO,MAAM,MAAM,EAAE,QAAoD,CAAC;AAE1E,6CAA6C;AAC7C,eAAO,MAAM,YAAY,EAAE,QAA6C,CAAC;AAEzE,2CAA2C;AAC3C,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,GAAE,SAAiB,GAAG,QAAQ,CAE1E;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,CAEhD;AAED,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAEvD;AAED,gFAAgF;AAChF,eAAO,MAAM,QAAQ,EAAE,QAItB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAOjD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAEvD;AAED,iDAAiD;AACjD,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,CAEtD;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,QAU5B,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,EAAE,QAAiC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAIjB,CAAC;AAEd;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAOpD;AAED,4DAA4D;AAC5D,eAAO,MAAM,cAAc,EAAE,QAAiE,CAAC;AAE/F,8DAA8D;AAC9D,eAAO,MAAM,WAAW,EAAE,QAA2D,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Ready-made `fx` objects for the patterns that take several declarations to express.
3
+ *
4
+ * These earn a name because the declarations only work together — `truncate` is three
5
+ * properties and dropping one silently does nothing, `visuallyHidden` is the clip
6
+ * recipe, `lineClamp` needs the `-webkit-*` trio. One-liners are deliberately absent:
7
+ * `{ display: 'flex' }` is already short, and a preset for it would only be a second
8
+ * vocabulary for the same thing.
9
+ *
10
+ * Each returns a plain `FxObject`, so they compose with `mergeFx`, nest inside `sp`,
11
+ * and are overridden by whatever the caller passes after them:
12
+ *
13
+ * fx={mergeFx(stack(3), props.fx)}
14
+ */
15
+ /** Column flex with a gap. */
16
+ export function stack(gap = 0) {
17
+ return { display: 'flex', flexDirection: 'column', gap };
18
+ }
19
+ /** Row flex with a gap, centred on the cross axis — the toolbar/label default. */
20
+ export function row(gap = 0) {
21
+ return { display: 'flex', flexDirection: 'row', alignItems: 'center', gap };
22
+ }
23
+ /** Centre a single child both ways. */
24
+ export const center = { display: 'grid', placeItems: 'center' };
25
+ /** Cover the nearest positioned ancestor. */
26
+ export const absoluteFill = { position: 'absolute', inset: 0 };
27
+ /** Fixed box. One argument is a square. */
28
+ export function size(width, height = width) {
29
+ return { width, height };
30
+ }
31
+ /** Fixed square — `size(n)` under a name that says why. */
32
+ export function square(edge) {
33
+ return size(edge);
34
+ }
35
+ /** Hold a ratio while the width is driven by the layout. */
36
+ export function aspect(ratio) {
37
+ return { aspectRatio: String(ratio) };
38
+ }
39
+ /** One line, ellipsised. All three declarations are required for the effect. */
40
+ export const truncate = {
41
+ overflow: 'hidden',
42
+ textOverflow: 'ellipsis',
43
+ whiteSpace: 'nowrap',
44
+ };
45
+ /**
46
+ * Ellipsis after `lines` lines. Still the `-webkit-box` recipe in every engine —
47
+ * `line-clamp` proper is not broadly supported yet.
48
+ */
49
+ export function lineClamp(lines) {
50
+ return {
51
+ display: '-webkit-box',
52
+ webkitBoxOrient: 'vertical',
53
+ webkitLineClamp: lines,
54
+ overflow: 'hidden',
55
+ };
56
+ }
57
+ /**
58
+ * A scroll region. `overscrollBehavior` stops the scroll chaining to the page when
59
+ * the region hits its end, which is the part people forget.
60
+ */
61
+ export function scrollY(maxHeight) {
62
+ return { overflowY: 'auto', overscrollBehavior: 'contain', ...(maxHeight == null ? {} : { maxHeight }) };
63
+ }
64
+ /** Horizontal counterpart of {@link scrollY}. */
65
+ export function scrollX(maxWidth) {
66
+ return { overflowX: 'auto', overscrollBehavior: 'contain', ...(maxWidth == null ? {} : { maxWidth }) };
67
+ }
68
+ /**
69
+ * Out of sight, still read aloud. `display: none` and `visibility: hidden` both take
70
+ * it out of the accessibility tree, which is the opposite of the point.
71
+ */
72
+ export const visuallyHidden = {
73
+ position: 'absolute',
74
+ width: '1px',
75
+ height: '1px',
76
+ margin: '-1px',
77
+ padding: 0,
78
+ border: '0',
79
+ overflow: 'hidden',
80
+ whiteSpace: 'nowrap',
81
+ clipPath: 'inset(50%)',
82
+ };
83
+ /** Text that should not be selected by a drag — handles, chrome, controls. */
84
+ export const noSelect = { userSelect: 'none' };
85
+ /**
86
+ * Scroll without a visible scrollbar. Three vendors, three mechanisms, and the WebKit
87
+ * one is a pseudo-element rather than a property — which is why `_scrollbar` exists in
88
+ * the selector set.
89
+ */
90
+ export const scrollbarHidden = {
91
+ scrollbarWidth: 'none',
92
+ msOverflowStyle: 'none',
93
+ _scrollbar: { display: 'none' },
94
+ };
95
+ /**
96
+ * Paint text with a background. `background-clip: text` needs its WebKit twin (the
97
+ * resolver mirrors that) and the fill colour has to be transparent for the background
98
+ * to show through — `color: transparent` alone leaves WebKit painting the glyphs.
99
+ */
100
+ export function gradientText(image) {
101
+ return {
102
+ backgroundImage: image,
103
+ backgroundClip: 'text',
104
+ color: 'transparent',
105
+ webkitTextFillColor: 'transparent',
106
+ };
107
+ }
108
+ /** Kill the grey flash iOS paints over a tapped element. */
109
+ export const noTapHighlight = { webkitTapHighlightColor: 'transparent' };
110
+ /** Momentum scrolling on older iOS; inert everywhere else. */
111
+ export const touchScroll = { webkitOverflowScrolling: 'touch' };
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+ItE;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAkBjD"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAuKtE;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAkBjD"}
@@ -5,6 +5,8 @@ import { composeSelectors, isSelectorKey, selectorEntry } from './selectors.js';
5
5
  const BREAKPOINTS = breakpoint;
6
6
  const ROOT = ['&'];
7
7
  const CONTAINER_KEY = '_container';
8
+ /** Slot styles are read by the component, not by the resolver — never a property. */
9
+ const SLOTS_KEY = 'sp';
8
10
  function isPlainObject(value) {
9
11
  return typeof value === 'object' && value !== null && !Array.isArray(value);
10
12
  }
@@ -57,6 +59,8 @@ function walk(object, selectors, atRules, buckets) {
57
59
  const value = object[name];
58
60
  if (value == null || value === false)
59
61
  continue;
62
+ if (name === SLOTS_KEY)
63
+ continue;
60
64
  if (name === CONTAINER_KEY) {
61
65
  if (isPlainObject(value))
62
66
  walkContainer(value, selectors, atRules, buckets);
@@ -114,7 +118,26 @@ function walkContainer(query, selectors, atRules, buckets) {
114
118
  walk(block, selectors, [...atRules, `@container ${name}${condition}`], buckets);
115
119
  }
116
120
  }
121
+ /**
122
+ * Properties Safari still only understands prefixed. Written before the standard name
123
+ * so the standard one wins wherever it is supported, and kept to the handful that
124
+ * actually need it — this is not a general autoprefixer, and a stale entry here is a
125
+ * declaration shipped to every user forever.
126
+ */
127
+ const MIRRORED = {
128
+ backdropFilter: 'webkitBackdropFilter',
129
+ backgroundClip: 'webkitBackgroundClip',
130
+ maskImage: 'webkitMaskImage',
131
+ userSelect: 'webkitUserSelect',
132
+ appearance: 'webkitAppearance',
133
+ hyphens: 'webkitHyphens',
134
+ textSizeAdjust: 'webkitTextSizeAdjust',
135
+ };
117
136
  function declare(bucket, property, value) {
137
+ const prefixed = MIRRORED[property];
138
+ if (prefixed) {
139
+ bucket.declarations.set(prefixed, `${cssProperty(prefixed)}:${resolveValue(property, value)}`);
140
+ }
118
141
  bucket.declarations.set(property, `${cssProperty(property)}:${resolveValue(property, value)}`);
119
142
  }
120
143
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scales.d.ts","sourceRoot":"","sources":["../../src/lib/scales.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scales.d.ts","sourceRoot":"","sources":["../../src/lib/scales.ts"],"names":[],"mappings":"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"}
@@ -218,5 +218,9 @@ export function resolveValue(property, value) {
218
218
  export function cssProperty(name) {
219
219
  if (name.startsWith('--'))
220
220
  return name;
221
- return name.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);
221
+ // A vendor prefix keeps its leading dash: `webkitLineClamp` is `-webkit-line-clamp`,
222
+ // and camel-to-kebab alone would emit `webkit-line-clamp`, which no browser reads.
223
+ return name
224
+ .replace(/^(webkit|moz|ms|o)(?=[A-Z])/, '-$1')
225
+ .replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);
222
226
  }
@@ -63,6 +63,15 @@ export declare const SELECTORS: {
63
63
  _selection: {
64
64
  selector: string;
65
65
  };
66
+ _scrollbar: {
67
+ selector: string;
68
+ };
69
+ _scrollbarThumb: {
70
+ selector: string;
71
+ };
72
+ _scrollbarTrack: {
73
+ selector: string;
74
+ };
66
75
  _first: {
67
76
  selector: string;
68
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/lib/selectors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCmB,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,SAAS,CAAC;AAEjD,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;AAEhC;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,SAAS,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAEtF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,WAAW,CAE7D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,CAE7D;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAe3D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAO3E"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/lib/selectors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCmB,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,SAAS,CAAC;AAEjD,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;AAEhC;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,SAAS,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAEtF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,WAAW,CAE7D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,CAE7D;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAe3D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAO3E"}
@@ -22,6 +22,10 @@ export const SELECTORS = {
22
22
  _after: { selector: '&::after' },
23
23
  _placeholder: { selector: '&::placeholder' },
24
24
  _selection: { selector: '&::selection' },
25
+ // Scrollbar styling has no standard selector, and the closed set is the only way in.
26
+ _scrollbar: { selector: '&::-webkit-scrollbar' },
27
+ _scrollbarThumb: { selector: '&::-webkit-scrollbar-thumb' },
28
+ _scrollbarTrack: { selector: '&::-webkit-scrollbar-track' },
25
29
  _first: { selector: '&:first-child' },
26
30
  _last: { selector: '&:last-child' },
27
31
  _odd: { selector: '&:nth-child(odd)' },
@@ -0,0 +1,19 @@
1
+ import type { FxProp } from './types.js';
2
+ /**
3
+ * Reaching a compound component's parts.
4
+ *
5
+ * `sp={{ header: { sticky: true, fx: { gap: 2 } } }}` a part's full props
6
+ * `fx={{ p: 4, sp: { header: { gap: 2 } } }}` only its styles
7
+ *
8
+ * `fx.sp` keeps styling a whole component in one object; `sp` is the general
9
+ * channel, since a part takes props and styling is one of them.
10
+ */
11
+ /** The styles `fx.sp` addresses to one part. */
12
+ export declare function slotFx(fx: FxProp, slot: string): FxProp;
13
+ /**
14
+ * What a part is spread with: its `sp` entry, with the `fx.sp` shorthand merged
15
+ * under its own `fx`. `sp.<part>.fx` wins — it names the part exactly. A
16
+ * component's own defaults merge in at the call site.
17
+ */
18
+ export declare function slot(name: string, fx: FxProp, sp: object | undefined): Record<string, unknown>;
19
+ //# sourceMappingURL=slots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slots.d.ts","sourceRoot":"","sources":["../../src/lib/slots.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAElD;;;;;;;;GAQG;AAEH,gDAAgD;AAChD,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO9F"}
@@ -0,0 +1,29 @@
1
+ import { mergeFx } from './merge.js';
2
+ /**
3
+ * Reaching a compound component's parts.
4
+ *
5
+ * `sp={{ header: { sticky: true, fx: { gap: 2 } } }}` a part's full props
6
+ * `fx={{ p: 4, sp: { header: { gap: 2 } } }}` only its styles
7
+ *
8
+ * `fx.sp` keeps styling a whole component in one object; `sp` is the general
9
+ * channel, since a part takes props and styling is one of them.
10
+ */
11
+ /** The styles `fx.sp` addresses to one part. */
12
+ export function slotFx(fx, slot) {
13
+ const slots = mergeFx(fx).sp;
14
+ return slots?.[slot];
15
+ }
16
+ /**
17
+ * What a part is spread with: its `sp` entry, with the `fx.sp` shorthand merged
18
+ * under its own `fx`. `sp.<part>.fx` wins — it names the part exactly. A
19
+ * component's own defaults merge in at the call site.
20
+ */
21
+ export function slot(name, fx, sp) {
22
+ // A slots type is an interface of named optional parts, not a Record, so it is read
23
+ // positionally. The user-facing typing is on the component's own `sp` prop.
24
+ const own = sp?.[name];
25
+ const shorthand = slotFx(fx, name);
26
+ if (!shorthand)
27
+ return own ?? {};
28
+ return { ...own, fx: mergeFx(shorthand, own?.['fx']) };
29
+ }
@@ -75,11 +75,23 @@ export type ContainerQuery = {
75
75
  } & {
76
76
  [K in `(${string}`]?: FxObject;
77
77
  };
78
+ /**
79
+ * Styles for a compound component's parts, keyed by the slot names that component
80
+ * documents. It carries styles only — a part's other props go through the `sp` prop.
81
+ */
82
+ export type FxSlots = {
83
+ [slot: string]: FxProp;
84
+ };
78
85
  /** A style object: declarations plus nested selector blocks, arbitrarily deep. */
79
86
  export type FxObject = FxDeclarations & {
80
87
  [K in SelectorKey]?: FxObject;
81
88
  } & {
82
89
  _container?: ContainerQuery;
90
+ /**
91
+ * Styles addressed to a compound component's parts, so one `fx` can dress the
92
+ * whole thing. Stripped before resolution — it never reaches CSS.
93
+ */
94
+ sp?: FxSlots;
83
95
  };
84
96
  /**
85
97
  * What an `fx` prop accepts. The array form composes conditionally
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { FxObject, FxProp } from './types.js';
2
+ /**
3
+ * Map a component's props to `fx`.
4
+ *
5
+ * A component with a `tone` and a `size` ends up writing the same lookup by hand every
6
+ * time, usually as a ternary chain that is hard to extend and easy to get out of sync
7
+ * with the prop type. This is that lookup, once:
8
+ *
9
+ * const panel = variants({
10
+ * base: { p: 3, radius: 'md' },
11
+ * variants: {
12
+ * tone: { neutral: { bg: 'surface' }, danger: { bg: 'dangerSubtle' } },
13
+ * size: { sm: { p: 2 }, lg: { p: 4 } },
14
+ * },
15
+ * defaults: { tone: 'neutral' },
16
+ * });
17
+ *
18
+ * panel({ tone: 'danger' }); // FxObject
19
+ *
20
+ * Later groups win over earlier ones, and `base` loses to all of them — declaration
21
+ * order in the config is the precedence. The result is an ordinary `FxObject`, so a
22
+ * caller's own `fx` still merges over it at the element.
23
+ */
24
+ /** A group of mutually exclusive options, e.g. `{ sm: …, md: … }`. */
25
+ export type VariantGroup = Record<string, FxProp>;
26
+ export interface VariantConfig<G extends Record<string, VariantGroup>> {
27
+ /** Applied first, under every selected variant. */
28
+ base?: FxProp;
29
+ /** The groups themselves, in precedence order. */
30
+ variants: G;
31
+ /** Used for any group the caller leaves out. */
32
+ defaults?: {
33
+ [K in keyof G]?: keyof G[K] & string;
34
+ };
35
+ }
36
+ /** What a variant function accepts: one option per group, or nothing. */
37
+ export type VariantSelection<G extends Record<string, VariantGroup>> = {
38
+ [K in keyof G]?: (keyof G[K] & string) | false | null | undefined;
39
+ };
40
+ export declare function variants<G extends Record<string, VariantGroup>>(config: VariantConfig<G>): (selection?: VariantSelection<G>) => FxObject;
41
+ //# sourceMappingURL=variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../src/lib/variants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sEAAsE;AACtE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IACnE,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,QAAQ,EAAE,CAAC,CAAC;IACZ,gDAAgD;IAChD,QAAQ,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM;KAAE,CAAC;CACrD;AAED,yEAAyE;AACzE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI;KACpE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS;CAClE,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAC7D,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,QAAQ,CAgB/C"}
@@ -0,0 +1,16 @@
1
+ import { mergeFx } from './merge.js';
2
+ export function variants(config) {
3
+ const groups = Object.keys(config.variants);
4
+ return (selection) => {
5
+ const parts = [config.base];
6
+ for (const group of groups) {
7
+ const chosen = selection?.[group] ?? config.defaults?.[group];
8
+ // `false` selects nothing on purpose — it is how a caller turns a defaulted
9
+ // group off without knowing which option the default was.
10
+ if (chosen == null || chosen === false)
11
+ continue;
12
+ parts.push(config.variants[group][chosen]);
13
+ }
14
+ return mergeFx(...parts);
15
+ };
16
+ }
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/modules/index.d.ts","../../tokens/src/lib/reference/index.ts","../../tokens/src/lib/reference/colors.ts","../../tokens/src/lib/css/index.ts","../../tokens/src/lib/vars/index.ts","../src/lib/scales.ts","../src/lib/selectors.ts","../src/lib/types.ts","../src/lib/hash.ts","../src/lib/resolve.ts","../src/lib/sheet.ts","../src/lib/merge.ts","../src/lib/color.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/observable/types.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/observable/subscription.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/observable/observable.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/detect.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/derived.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/runtime.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/compat.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/children.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/ssr-hooks.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/signal.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/list.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/resource.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/debounced.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/suspense.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/error-boundary.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/core.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/index.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/graph/signal-next.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.74/node_modules/@fluixi/reactive/dist/lib/signal/index.d.ts","../src/lib/props.ts","../src/index.ts"],"fileIdsList":[[75],[74],[80],[79],[80,85],[83],[89],[77,78,79,80,81,82,83,84,85,86,87,88,90],[91],[76,77,78,81,82],[60],[61,66,67,68,69,70,71,72,73,93],[61,66,68],[61],[61,68],[61,66,68,70,71,92],[61,62,66,67,68,69],[61,65],[61,64,68],[61,66,67],[61,62,63],[61,62,63,64]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"389a64dd964a4005fb766a351b5a570ce0726948d80b5cf34b3b09c70f6f130b","impliedFormat":99},{"version":"026d46a2a5921b6cb8c966671050c233f3b3b97bd4e514160753b764c7666864","impliedFormat":99},{"version":"a31991e79dbf5e97dc83d3627fa359d92f9191d8c33c018edd2e9844c706991c","impliedFormat":99},{"version":"2048b7773e7a04fce802ad762fe92ae0d7084b2690a2e5f15e1a14a2b491e5d8","impliedFormat":99},{"version":"905c8567742a18f724a9d4c385b547f5e47997b4ff2bf0d08a349ed5c52a66d4","signature":"ef9d6ca243570744f460a86501480e822b3fb9ffef4ed24ee7e17e5256b30bdb","impliedFormat":99},{"version":"02982ef8ad540e47a9f19542492b846a944c2b23fdf900fa4a06e9c5cd0f5638","signature":"ca546d57f578a3ee221a46e676fd3aac73f09199900ef2afc452c2416c6d34af","impliedFormat":99},{"version":"820511441626cda4e046cc53af1de7284cd0fd4065f376056b7602e489a3c64b","signature":"4607800183b2a957052fbaab5581077f3bee97ffc6c50a1a839d71909eb023d3","impliedFormat":99},{"version":"4a81bf53c910e76f74399b10eeb020bc338c29f1412fe0fc850a8fb4874885f6","signature":"7606a2b8d4d66d3194f21720bafbe4b2b36bcb352e07457455619d871196481c","impliedFormat":99},{"version":"fd0ca036120dfad4c28087180eda70a88251178125b0010f59ca2ed7c2ec3f62","signature":"e9cfb2677c3db610778173a945d38b91ffbcd3eba481cf14cd1e7a45dfe28e28","impliedFormat":99},{"version":"861e1473e391f0aee42f69e0274b4bd6f859ab2a9daf812eccb574572f73a9c6","signature":"95cd7b14aeda3d9f16d25fdcab8f043d8019303c7704c85c821cbcecff8a25d5","impliedFormat":99},{"version":"9ec03edfed08b87e3e7a4770be717a0f2663c3c7ff69befaa44ba5614212825e","signature":"2e40910cd0b52deb574b3c8374863b0f1c50c8a070dac3408b59ba6adf8f70eb","impliedFormat":99},{"version":"a22679a26a559c76c687a0ca5214711a4bcd0ca08e0b8cbe6c955965ad25428d","signature":"7bbd275049dfdb7a5ddbd5e99d16962189bd3ce833a825e714f47f3bac82dba2","impliedFormat":99},{"version":"e592cf1b998ce8043e72ca38e2f40c5631e65e937e3102223f7086140bf979a3","impliedFormat":99},{"version":"0ceea501c52cdf869e3562ea96fca2785a3394a9e1e446afb5e11092ad2dc7fc","impliedFormat":99},{"version":"ebe92631232ee90bd0cd2668b349a8ecf869a42f94aa5a80505aaf7833be6819","impliedFormat":99},{"version":"892323d83df6c419a9f961e7156e70184b4a27638de72f7b92931ab3c165298e","impliedFormat":99},{"version":"ed51ea7ddcddfe0523b5a8d3112c55f8494f3f419ad6b830a1aac7dfe499a8ab","impliedFormat":99},{"version":"61fbca4b5ba93b701485f14d3eef4836adae4fc6e96d12a7c4d4ddfd638b63c5","impliedFormat":99},{"version":"96e415a91946f00ac400e74dfeb26b575aade405169df35621a822e6b4d5abf0","impliedFormat":99},{"version":"e8be3e24c3b98c301590ee0fefc462accc9a0f1fa674f62a3b63be9786ef9a99","impliedFormat":99},{"version":"e08f70018aeffb92654e466522e4b194b712da2091b20bdb0922c8441f2a43b7","impliedFormat":99},{"version":"c08807cbf78c46df9195b6774331b303179918a73465bbccccce7f4a75bb9be2","impliedFormat":99},{"version":"1f33d92b487c119aee6f7cf04ac95c0dab317c228b388fead9d7d87540f8adf7","impliedFormat":99},{"version":"4871d580a3ed65404436744a18f92204e5520f22421369d3b9f2d8efb964915e","impliedFormat":99},{"version":"b2ac34637ed1f51961fe479ac633499645b1ddf546c5139bc0b546889570fe7c","impliedFormat":99},{"version":"c03135439ad665f4a011a75586bf96098f6fe0b0716e78afc8cdf651bcc8f879","impliedFormat":99},{"version":"290111961dc134d534be036cd591c09a0e65ceed2fcf9aa9666ae2bcdac7034f","impliedFormat":99},{"version":"ac292cffbb31f9c76b09f7b0c630cfc2b9c7e5070dfc4472cfc60023ec447bd2","impliedFormat":99},{"version":"ac23329299d15c989ebe7e62bb1858a58de39aa3cd4fb1265e93ddc6d9631b07","impliedFormat":99},{"version":"656d6f8315649eaaff7e2dd443f9accb156ce0a1a72f804f2293dd84b4478f99","impliedFormat":99},{"version":"1122b4ca26147813c76ac7a2f38911854cb2bd5cf0af003f578175f3db1c3aee","impliedFormat":99},{"version":"1f4be93547a7bef25bf896e0773da3181b0d85af10ef544713f00e3e29c1a066","signature":"ba02f65e340a5c3fe561d748cdd6321c404d24ca36913a52f3dbadffbbdcc093","impliedFormat":99},{"version":"a308d4172d4d39b95cd367dc57726bb18d37ab1c7204c0524b4022eb7cfb6340","impliedFormat":99}],"root":[[66,73],93,94],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"importHelpers":true,"module":199,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.lib.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[76,1],[75,2],[74,1],[81,3],[80,4],[86,5],[78,6],[77,6],[88,4],[90,7],[91,8],[87,4],[92,9],[84,3],[83,10],[61,11],[94,12],[73,13],[69,14],[72,15],[93,16],[70,17],[66,18],[67,14],[71,19],[68,20],[64,21],[63,14],[62,14],[65,22]],"latestChangedDtsFile":"./index.d.ts","version":"5.8.3"}
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/modules/index.d.ts","../../tokens/src/lib/reference/index.ts","../../tokens/src/lib/reference/colors.ts","../../tokens/src/lib/css/index.ts","../../tokens/src/lib/vars/index.ts","../src/lib/scales.ts","../src/lib/selectors.ts","../src/lib/types.ts","../src/lib/hash.ts","../src/lib/resolve.ts","../src/lib/sheet.ts","../src/lib/merge.ts","../src/lib/color.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/observable/types.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/observable/subscription.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/observable/observable.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/detect.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/derived.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/runtime.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/compat.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/children.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/ssr-hooks.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/signal.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/list.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/resource.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/debounced.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/suspense.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/error-boundary.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/core.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/index.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/graph/signal-next.d.ts","../../../node_modules/.pnpm/@fluixi+reactive@1.0.0-alpha.75/node_modules/@fluixi/reactive/dist/lib/signal/index.d.ts","../src/lib/props.ts","../src/lib/slots.ts","../src/lib/presets.ts","../src/lib/variants.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@18.16.9/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/customEvent.d.ts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/shared/logging-xuHO4mAy.d.mts","../../../node_modules/.pnpm/@oxc-project+types@0.144.0/node_modules/@oxc-project/types/types.d.ts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/shared/binding-CVtkJvyl.d.mts","../../../node_modules/.pnpm/@rolldown+pluginutils@1.0.1/node_modules/@rolldown/pluginutils/dist/filter/index.d.mts","../../../node_modules/.pnpm/@rolldown+pluginutils@1.0.1/node_modules/@rolldown/pluginutils/dist/index.d.mts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/shared/define-config-Dsp5YQR4.d.mts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/index.d.mts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/parse-ast-index.d.mts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/internal/rollupTypeCompat.d.ts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/shared/constructors-CGzna3vk.d.mts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/plugins-index.d.mts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/shared/transform-WmU_cI8e.d.mts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/utils-index.d.mts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/lib/main.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/internal/esbuildOptions.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/metadata.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/internal/terserOptions.d.ts","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/source-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/input.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/declaration.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/root.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/warning.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/processor.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/result.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/document.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/node.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/comment.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/container.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/list.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/postcss.d.ts","../../../node_modules/.pnpm/postcss@8.5.26/node_modules/postcss/lib/postcss.d.mts","../../../node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/ast.d.ts","../../../node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/targets.d.ts","../../../node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/index.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/internal/lightningcssOptions.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts","../../../node_modules/.pnpm/rolldown@1.2.4/node_modules/rolldown/dist/filter-index.d.mts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/types/importGlob.d.ts","../../../node_modules/.pnpm/vite@8.2.1_@types+node@18.16.9_esbuild@0.27.7_jiti@2.4.2_yaml@2.9.0/node_modules/vite/dist/node/index.d.ts","../src/vite.ts"],"fileIdsList":[[76,145],[75,145],[81,145],[80,145],[145],[81,86,145],[84,145],[90,145],[78,79,80,81,82,83,84,85,86,87,88,89,91,145],[92,145],[77,78,79,82,83,145],[145,159],[99,145],[102,145],[103,108,136,145],[104,115,116,123,133,144,145],[104,105,115,123,145],[106,145],[107,108,116,124,145],[108,133,141,145],[109,111,115,123,145],[110,145],[111,112,145],[115,145],[113,115,145],[115,116,117,133,144,145],[115,116,117,130,133,136,145],[145,149],[111,115,118,123,133,144,145],[115,116,118,119,123,133,141,144,145],[118,120,133,141,144,145],[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151],[115,121,145],[122,144,145],[111,115,123,133,145],[124,145],[125,145],[102,126,145],[127,143,145,149],[128,145],[129,145],[115,130,131,145],[130,132,145,147],[103,115,133,134,135,136,145],[103,133,135,145],[133,134,145],[136,145],[137,145],[115,139,140,145],[139,140,145],[108,123,133,141,145],[142,145],[123,143,145],[103,118,129,144,145],[108,145],[133,145,146],[145,147],[145,148],[103,108,115,117,126,133,144,145,147,149],[133,145,150],[145,195,196],[145,190],[145,188,190],[145,179,187,188,189,191,193],[145,177],[145,180,185,190,193],[145,176,193],[145,180,181,184,185,186,193],[145,180,181,182,184,185,193],[145,177,178,179,180,181,185,186,187,189,190,191,193],[145,193],[145,175,177,178,179,180,181,182,184,185,186,187,188,189,190,191,192],[145,175,193],[145,180,182,183,185,186,193],[145,184,193],[145,185,186,190,193],[145,178,188],[145,161],[145,156,158,161],[145,157,158],[145,158,161,165],[145,157],[145,158,161],[145,156,157,158,160],[145,156,158],[145,157,158,167],[61,145],[145,153],[115,116,118,119,120,123,133,141,144,145,150,152,153,154,155,162,163,164,166,168,170,172,173,174,194,198,199,200,201,202],[145,153,154,155,169],[145,155],[145,171],[145,197],[145,162,173,202],[145,162,202],[62,66,67,68,69,70,71,72,73,74,94,95,96,97,145],[62,67,69,145],[62,145],[62,69,145],[62,67,69,71,72,93,145],[62,63,67,68,69,70,145],[62,66,145],[62,65,69,145],[62,69,73,145],[62,67,68,145],[62,145,202],[62,63,64,145],[62,63,64,65,145]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"389a64dd964a4005fb766a351b5a570ce0726948d80b5cf34b3b09c70f6f130b","impliedFormat":99},{"version":"026d46a2a5921b6cb8c966671050c233f3b3b97bd4e514160753b764c7666864","impliedFormat":99},{"version":"a31991e79dbf5e97dc83d3627fa359d92f9191d8c33c018edd2e9844c706991c","impliedFormat":99},{"version":"2048b7773e7a04fce802ad762fe92ae0d7084b2690a2e5f15e1a14a2b491e5d8","impliedFormat":99},{"version":"ba19c5381625d911d8fa7e7040d2c3bce0d82c4394c537c878fadfcc503e7bb5","signature":"ef9d6ca243570744f460a86501480e822b3fb9ffef4ed24ee7e17e5256b30bdb","impliedFormat":99},{"version":"2358dc07204cca920bce8ff8c5700a728b78088a72775975b7a56fc9ad892190","signature":"438463518013c04a794b3edeb377832b1ea24379cc2601e3f5dca5891399d291","impliedFormat":99},{"version":"e033ad34f5727aef5d4f81ee67e143ca086ba530a8508edea0dd86091d874ac0","signature":"e786f0662894ded40552f218d7c1d837ea37d68a035da8bdb9b650ce1af2749f","impliedFormat":99},{"version":"4a81bf53c910e76f74399b10eeb020bc338c29f1412fe0fc850a8fb4874885f6","signature":"7606a2b8d4d66d3194f21720bafbe4b2b36bcb352e07457455619d871196481c","impliedFormat":99},{"version":"346f1eced3f35d0653b07e59605fc1f8479fdcfe155abff46f231be57b28d804","signature":"e9cfb2677c3db610778173a945d38b91ffbcd3eba481cf14cd1e7a45dfe28e28","impliedFormat":99},{"version":"861e1473e391f0aee42f69e0274b4bd6f859ab2a9daf812eccb574572f73a9c6","signature":"95cd7b14aeda3d9f16d25fdcab8f043d8019303c7704c85c821cbcecff8a25d5","impliedFormat":99},{"version":"98146c5f684d3ab8265c0b863c69f5087831938e9be09d3c97fff006ab903175","signature":"170de9a084d6f6b924a7f5f3e5d12cbf2e7aaa038543701d8f90b281c9bb4661","impliedFormat":99},{"version":"a22679a26a559c76c687a0ca5214711a4bcd0ca08e0b8cbe6c955965ad25428d","signature":"7bbd275049dfdb7a5ddbd5e99d16962189bd3ce833a825e714f47f3bac82dba2","impliedFormat":99},{"version":"e592cf1b998ce8043e72ca38e2f40c5631e65e937e3102223f7086140bf979a3","impliedFormat":99},{"version":"0ceea501c52cdf869e3562ea96fca2785a3394a9e1e446afb5e11092ad2dc7fc","impliedFormat":99},{"version":"ebe92631232ee90bd0cd2668b349a8ecf869a42f94aa5a80505aaf7833be6819","impliedFormat":99},{"version":"892323d83df6c419a9f961e7156e70184b4a27638de72f7b92931ab3c165298e","impliedFormat":99},{"version":"ed51ea7ddcddfe0523b5a8d3112c55f8494f3f419ad6b830a1aac7dfe499a8ab","impliedFormat":99},{"version":"61fbca4b5ba93b701485f14d3eef4836adae4fc6e96d12a7c4d4ddfd638b63c5","impliedFormat":99},{"version":"96e415a91946f00ac400e74dfeb26b575aade405169df35621a822e6b4d5abf0","impliedFormat":99},{"version":"e8be3e24c3b98c301590ee0fefc462accc9a0f1fa674f62a3b63be9786ef9a99","impliedFormat":99},{"version":"e08f70018aeffb92654e466522e4b194b712da2091b20bdb0922c8441f2a43b7","impliedFormat":99},{"version":"c08807cbf78c46df9195b6774331b303179918a73465bbccccce7f4a75bb9be2","impliedFormat":99},{"version":"1f33d92b487c119aee6f7cf04ac95c0dab317c228b388fead9d7d87540f8adf7","impliedFormat":99},{"version":"4871d580a3ed65404436744a18f92204e5520f22421369d3b9f2d8efb964915e","impliedFormat":99},{"version":"b2ac34637ed1f51961fe479ac633499645b1ddf546c5139bc0b546889570fe7c","impliedFormat":99},{"version":"c03135439ad665f4a011a75586bf96098f6fe0b0716e78afc8cdf651bcc8f879","impliedFormat":99},{"version":"290111961dc134d534be036cd591c09a0e65ceed2fcf9aa9666ae2bcdac7034f","impliedFormat":99},{"version":"ac292cffbb31f9c76b09f7b0c630cfc2b9c7e5070dfc4472cfc60023ec447bd2","impliedFormat":99},{"version":"ac23329299d15c989ebe7e62bb1858a58de39aa3cd4fb1265e93ddc6d9631b07","impliedFormat":99},{"version":"656d6f8315649eaaff7e2dd443f9accb156ce0a1a72f804f2293dd84b4478f99","impliedFormat":99},{"version":"1122b4ca26147813c76ac7a2f38911854cb2bd5cf0af003f578175f3db1c3aee","impliedFormat":99},{"version":"1f4be93547a7bef25bf896e0773da3181b0d85af10ef544713f00e3e29c1a066","signature":"ba02f65e340a5c3fe561d748cdd6321c404d24ca36913a52f3dbadffbbdcc093","impliedFormat":99},{"version":"7a46fec944a3fa0f2523b1ca3519bb8c8f5f81701cc73e826699bb27ff2d7d4c","signature":"b6a718d8ea1c487bc5a38f9b10ebc89fb2622667ae19d7066d0be420e251854d","impliedFormat":99},{"version":"ed6148ce164fb862ba0d043d0e7d6a1d0cef07d80f3d1aa66b5d1f67a7acd9ac","signature":"1fb65f6622e893b71dbd7c1b49f3ff47cf5aa182c41a577c5f2e70a2411ec192","impliedFormat":99},{"version":"86ac6d50f68ff94f2e560771f3f772d3722557fcb61639af7efecfaf939eb722","signature":"8ea745eb85acca6f954e43917996cdd268675e12c4061fe8eabaebcca266e95e","impliedFormat":99},{"version":"9cb0015a90c53b7af2eca8c5594073585313c2ff4b992b5277c7271b6652f314","signature":"04439cc65d3e3e666dfa4dc5c8c47dc367fcff7ca5a7d90555bb6f408a02d222","impliedFormat":99},{"version":"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"f749812878fecfa53cfc13b36e5d35086fb6377983a9df44175da83ccc23af1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3","impliedFormat":1},{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true,"impliedFormat":1},{"version":"3719525a8f6ab731e3dfd585d9f87df55ec7d50d461df84f74eb4d68bb165244","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","impliedFormat":1},{"version":"4eaff3d8e10676fd7913d8c108890e71c688e1e7d52f6d1d55c39514f493dc47","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true,"impliedFormat":1},{"version":"3256f3cccd578f9e7fe3a28096c505634bebcee8afb738ffa99368e536ca3a0b","impliedFormat":1},{"version":"1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","impliedFormat":1},{"version":"7f138842074d0a40681775af008c8452093b68c383c94de31759e853c6d06b5c","impliedFormat":1},{"version":"a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","impliedFormat":1},{"version":"8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","impliedFormat":1},{"version":"2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58","impliedFormat":1},{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true,"impliedFormat":1},{"version":"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","impliedFormat":1},{"version":"7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","impliedFormat":1},{"version":"b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30","impliedFormat":1},{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","impliedFormat":1},{"version":"36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","impliedFormat":1},{"version":"0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7","impliedFormat":1},{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","impliedFormat":1},{"version":"1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true,"impliedFormat":1},{"version":"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","impliedFormat":1},{"version":"0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","impliedFormat":1},{"version":"64ccfe7dcbcad9b8a661a042ecb2309e41b9ab957f7b8cd070b05583a7821a13","impliedFormat":99},{"version":"c911b3bd083dade8fdb7775261aa25feae695d562a3b11209650b47be90043fc","impliedFormat":99},{"version":"98580d6ed68c9cee7f956685abbb6502d70bd92f48175ac807ae6c5e254fadc6","impliedFormat":99},{"version":"fc5ad2ec8b130a59612c5cfcc2cdca9bcdd80851adb8acdb004aaeff00cc978d","impliedFormat":99},{"version":"13f758619efc1ce2eda9da363ddbefc48813163cd6d8de45cbdef600c6f366a4","impliedFormat":99},{"version":"aacf8a6955a6e97c902e3ad9644afc21544795c0cd35327e063814a564f4d4b4","impliedFormat":99},{"version":"638a22f8e16b31c37297483fa38cfc760ed309b16d4c606a7b4532f4394c9c0c","impliedFormat":99},{"version":"9394183f4c37b8591156f32e41223c9e0dd211eefe7499155d4cdf15268eaea8","impliedFormat":99},{"version":"e1deea0ca56fcb9607549d51635f8fd6ebedd201825778d2bcb1b6b82e30bd4a","impliedFormat":99},{"version":"a8116d6f8c9c38b28603a0fcde3f5913ab0a59a8534a76f620630eb9e33d25af","impliedFormat":99},{"version":"c0042ca8c8cbda9e978c4558933c47c812ac018e51d64ae8ff51e641672bed46","impliedFormat":99},{"version":"7d3e062a778b8f5ea4f0cac7e925e31f88e6739812ebc5f827474324a4048f14","impliedFormat":99},{"version":"3bc4a3711104f5ebe704b5bba87b4763a04f20e2f483aa8c4d0a281202343ec4","impliedFormat":99},{"version":"75ff6ca0c4527bf357c82ac68f4a8afa29f994c587902c3bf611f247e34c06b1","impliedFormat":99},{"version":"08cad5153da753ed9c463b0e42a86bd8bc2b443368ce6a02a2a70e46adf7a4e0","impliedFormat":99},{"version":"3e263c383492c8edcfb6326107c63769d9bb75f901d0a49309049e46658197d9","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"d4ec151557b64ff001e06b5878e66eb98640961647b1581fe2a0a1af05f408fb","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0864480ea083087d705f9405bd6bf59b795e8474c3447f0d6413b2bce535a09","impliedFormat":99},{"version":"e67cbea16f1994af89efd700542dbf3828a46a52b29e4d67e801bd7869dc103c","impliedFormat":99},{"version":"f582b0fcbf1eea9b318ab92fb89ea9ab2ebb84f9b60af89328a91155e1afce72","impliedFormat":99},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"52dcc257df5119fb66d864625112ce5033ac51a4c2afe376a0b299d2f7f76e4a","impliedFormat":1},{"version":"e5bab5f871ef708d52d47b3e5d0aa72a08ee7a152f33931d9a60809711a2a9a3","impliedFormat":1},{"version":"e16dc2a81595736024a206c7d5c8a39bfe2e6039208ef29981d0d95434ba8fcf","impliedFormat":1},{"version":"cc4a4903fb698ca1d961d4c10dce658aa3a479faf40509d526f122b044eaf6a4","impliedFormat":1},{"version":"19ee8416e6473ed6c7adb868fa796b5653cf0fa2a337658e677eaa0d134388c3","impliedFormat":1},{"version":"1328ab4e442614b28cdb3d4b414cf68325c0da0dca07287a338d0654b7a00261","impliedFormat":1},{"version":"a039dc21f045919f3cbee2ec13812cc6cc3eebc99dae4be00973230f468d19a6","impliedFormat":1},{"version":"3fbe57af01460e49dcd29df55d6931e1672bc6f1be0fb073d11410bc16f9037d","impliedFormat":1},{"version":"f760be449e8562ec5c09bb5187e8e1eabf3c113c0c58cddda53ef8c69f3e2131","impliedFormat":1},{"version":"44325ed13294fce6ab825b82947bbeed2611db7dad9d9135260192f375e5a189","impliedFormat":1},{"version":"e392e8fb5b514eafc585601c1d781485aa6dd6a320e75daf1064a4c6918a1b45","impliedFormat":1},{"version":"46e4a36e8ddbdfb4e7330e11c81c970dc8b218611df9183d39c41c5f8c653b55","impliedFormat":1},{"version":"3cc8a3d123b6b232d48d34b51b785f9da8d193f5b5817fa521fcd2f3b9315c55","impliedFormat":1},{"version":"6332f565867cf4a740a70e30f31cefba37ef7cebcf74f22eab8d744fde6d193e","impliedFormat":1},{"version":"2977b7884aedc895a1d0c9c210c7cf3272c29d6959a08a6fa3ff71e0aff08175","impliedFormat":1},{"version":"17f2922d41ddd032830a91371c948cd9ce903b35c95adca72271a54584f19b0b","impliedFormat":1},{"version":"3eed76ede2a1a14d7c9bb0a642041282dcc264811139d3dd275c9fe14efc9840","impliedFormat":1},{"version":"354a7f8e1287d9d6b7561bc97fdd8cbc2f7c1dd79e4cb37b942e8a5cfaff1085","impliedFormat":1},{"version":"8d369483f0c2b9ee388129cfdb6a43bc8112b377e86a41884bd06e19ce04f4c1","impliedFormat":99},{"version":"f3fe8197217cb6fd6e07c0eaa0966e4ece77cd779cbfc55767a93704cc692e04","impliedFormat":1},{"version":"a18642ddf216f162052a16cba0944892c4c4c977d3306a87cb673d46abbb0cbf","impliedFormat":1},{"version":"617112682fcb55805f0a0e16450397edc016881962eee4298f4f4e3ef795aee8","impliedFormat":1},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":99},{"version":"960bd764c62ac43edc24eaa2af958a4b4f1fa5d27df5237e176d0143b36a39c6","affectsGlobalScope":true,"impliedFormat":99},{"version":"471c2797fa7dbd4cf392158f734dabed5e0628bfd8a72063bfdd658ff7c1be7b","impliedFormat":99},{"version":"e50d04d261120f8f9d07e85698735d5b88f3a66bc395c08ce26c3d817d141a73","affectsGlobalScope":true,"impliedFormat":99},{"version":"343badbae019a9bc81f44b0942ab08f0702521429be21dba24a70238dba35645","impliedFormat":99},{"version":"4150511ef5fa5411b44c406d760b7ec6062bf5b91d82e377a81fbf11c9c4961c","signature":"b854d87d61ae769f064e915f0428c41cc06a94a2cd079bc90da13537c4c59344","impliedFormat":99}],"root":[[67,74],[94,98],203],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"importHelpers":true,"module":199,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.lib.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[77,1],[76,2],[75,1],[82,3],[81,4],[90,5],[87,6],[79,7],[78,7],[89,4],[91,8],[86,5],[80,5],[92,9],[83,5],[88,4],[93,10],[85,3],[84,11],[157,5],[159,5],[160,12],[99,13],[100,13],[102,14],[103,15],[104,16],[105,17],[106,18],[107,19],[108,20],[109,21],[110,22],[111,23],[112,23],[114,24],[113,25],[115,24],[116,26],[117,27],[101,28],[151,5],[118,29],[119,30],[120,31],[152,32],[121,33],[122,34],[123,35],[124,36],[125,37],[126,38],[127,39],[128,40],[129,41],[130,42],[131,42],[132,43],[133,44],[135,45],[134,46],[136,47],[137,48],[138,5],[139,49],[140,50],[141,51],[142,52],[143,53],[144,54],[145,55],[146,56],[147,57],[148,58],[149,59],[150,60],[171,5],[195,5],[197,61],[196,5],[191,62],[189,63],[190,64],[178,65],[179,63],[186,66],[177,67],[182,68],[192,5],[183,69],[188,70],[194,71],[193,72],[176,73],[184,74],[185,75],[180,76],[187,62],[181,77],[200,78],[162,79],[163,80],[166,81],[158,82],[165,83],[161,84],[156,5],[167,85],[168,86],[175,5],[62,87],[61,5],[59,5],[60,5],[10,5],[11,5],[13,5],[12,5],[2,5],[14,5],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[21,5],[3,5],[22,5],[23,5],[4,5],[24,5],[28,5],[25,5],[26,5],[27,5],[29,5],[30,5],[31,5],[5,5],[32,5],[33,5],[34,5],[35,5],[6,5],[39,5],[36,5],[37,5],[38,5],[40,5],[7,5],[41,5],[46,5],[47,5],[42,5],[43,5],[44,5],[45,5],[8,5],[51,5],[48,5],[49,5],[50,5],[52,5],[9,5],[53,5],[54,5],[55,5],[57,5],[56,5],[1,5],[58,5],[154,88],[202,89],[170,90],[155,88],[153,5],[169,91],[201,5],[199,5],[172,92],[198,93],[164,94],[174,5],[173,95],[98,96],[74,97],[70,98],[73,99],[96,99],[94,100],[71,101],[67,102],[68,98],[72,103],[95,104],[69,105],[97,104],[203,106],[65,107],[64,98],[63,98],[66,108]],"latestChangedDtsFile":"./vite.d.ts","version":"5.8.3"}
package/dist/vite.d.ts ADDED
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Build-time extraction of `fx`, phase one: report, rewrite nothing.
3
+ *
4
+ * Reports how many `fx` sites a build has, how many are fully static, and what stopped
5
+ * the rest, so the extractor gets built on numbers rather than on the idea.
6
+ *
7
+ * `engine` decides who owns the emitted stylesheet. `'self'` writes fx's own and
8
+ * declares the `@layer` order, so its cascade position holds whatever the load order.
9
+ * `'fluixi-css'` hands the rules to that engine, so an app using it gets one sheet
10
+ * rather than two competing. `'auto'` picks it only when it resolves — fx does not
11
+ * depend on a CSS framework.
12
+ */
13
+ import type { Plugin } from 'vite';
14
+ export type FxEngine = 'auto' | 'self' | 'fluixi-css';
15
+ export interface FxExtractOptions {
16
+ /** Who owns the emitted CSS. Defaults to `'auto'`. */
17
+ engine?: FxEngine;
18
+ /** Files to scan. Defaults to `.tsx`/`.jsx`/`.ts` outside `node_modules`. */
19
+ include?: RegExp;
20
+ /** Print the summary at the end of the build. Defaults to `true`. */
21
+ report?: boolean;
22
+ }
23
+ /** Why a site cannot be resolved at build time. */
24
+ export type FxBailReason = 'identifier' | 'call' | 'member' | 'conditional' | 'template' | 'spread' | 'function' | 'array-hole' | 'not-an-object';
25
+ export interface FxSite {
26
+ /** 1-based line of the `fx` attribute. */
27
+ line: number;
28
+ /** Static sites can be resolved and emitted at build time. */
29
+ static: boolean;
30
+ /** Set when `static` is false. */
31
+ reason?: FxBailReason;
32
+ /** The element also carries a raw `style`, which extraction has to merge. */
33
+ withStyle: boolean;
34
+ }
35
+ /** Find every `fx` attribute in a file and say whether it could be lifted. */
36
+ export declare function scanFx(code: string, parse: (source: string) => unknown): FxSite[];
37
+ /** Which engine an `'auto'` build would actually use, and why. */
38
+ export declare function resolveEngine(engine: FxEngine, canResolve: (id: string) => boolean): Exclude<FxEngine, 'auto'>;
39
+ /** Returns no transform, so it cannot change a build's output. */
40
+ export declare function fxExtract(options?: FxExtractOptions): Plugin;
41
+ //# sourceMappingURL=vite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,mDAAmD;AACnD,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,aAAa,GACb,UAAU,GACV,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,WAAW,MAAM;IACrB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,6EAA6E;IAC7E,SAAS,EAAE,OAAO,CAAC;CACpB;AAqFD,8EAA8E;AAC9E,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE,CAgCjF;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAG9G;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAgEhE"}
package/dist/vite.js ADDED
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Reconstruct a value from an AST node, or report what made it dynamic.
3
+ *
4
+ * Literals and containers of literals only. Anything needing the module's runtime
5
+ * scope bails: a wrong value here is a style that differs between dev and the build.
6
+ */
7
+ function evaluate(node) {
8
+ if (!node)
9
+ return { ok: false, reason: 'array-hole' };
10
+ switch (node.type) {
11
+ case 'StringLiteral':
12
+ case 'NumericLiteral':
13
+ case 'BooleanLiteral':
14
+ return { ok: true, value: node['value'] };
15
+ case 'NullLiteral':
16
+ return { ok: true, value: null };
17
+ case 'UnaryExpression': {
18
+ if (node['operator'] !== '-')
19
+ return { ok: false, reason: 'call' };
20
+ const inner = evaluate(node['argument']);
21
+ return inner.ok && typeof inner.value === 'number' ? { ok: true, value: -inner.value } : { ok: false, reason: 'call' };
22
+ }
23
+ case 'ObjectExpression': {
24
+ const out = {};
25
+ for (const prop of node['properties']) {
26
+ if (prop.type !== 'ObjectProperty')
27
+ return { ok: false, reason: 'spread' };
28
+ if (prop['computed'])
29
+ return { ok: false, reason: 'identifier' };
30
+ const key = prop['key'];
31
+ const name = key.type === 'Identifier' ? key['name'] : key.type === 'StringLiteral' ? key['value'] : null;
32
+ if (name == null)
33
+ return { ok: false, reason: 'identifier' };
34
+ const value = evaluate(prop['value']);
35
+ if (!value.ok)
36
+ return value;
37
+ out[name] = value.value;
38
+ }
39
+ return { ok: true, value: out };
40
+ }
41
+ case 'ArrayExpression': {
42
+ const out = [];
43
+ for (const element of node['elements']) {
44
+ const value = evaluate(element);
45
+ if (!value.ok)
46
+ return value;
47
+ out.push(value.value);
48
+ }
49
+ return { ok: true, value: out };
50
+ }
51
+ case 'Identifier':
52
+ return { ok: false, reason: 'identifier' };
53
+ case 'CallExpression':
54
+ return { ok: false, reason: 'call' };
55
+ case 'MemberExpression':
56
+ case 'OptionalMemberExpression':
57
+ return { ok: false, reason: 'member' };
58
+ case 'ConditionalExpression':
59
+ case 'LogicalExpression':
60
+ return { ok: false, reason: 'conditional' };
61
+ case 'TemplateLiteral':
62
+ return { ok: false, reason: 'template' };
63
+ case 'ArrowFunctionExpression':
64
+ case 'FunctionExpression':
65
+ return { ok: false, reason: 'function' };
66
+ default:
67
+ return { ok: false, reason: 'not-an-object' };
68
+ }
69
+ }
70
+ function walk(node, visit) {
71
+ if (!node || typeof node !== 'object')
72
+ return;
73
+ if (Array.isArray(node)) {
74
+ for (const child of node)
75
+ walk(child, visit);
76
+ return;
77
+ }
78
+ const current = node;
79
+ if (typeof current.type === 'string')
80
+ visit(current);
81
+ for (const key of Object.keys(current)) {
82
+ if (key === 'loc' || key === 'leadingComments' || key === 'trailingComments')
83
+ continue;
84
+ walk(current[key], visit);
85
+ }
86
+ }
87
+ /** Find every `fx` attribute in a file and say whether it could be lifted. */
88
+ export function scanFx(code, parse) {
89
+ const sites = [];
90
+ const ast = parse(code);
91
+ walk(ast, (node) => {
92
+ if (node.type !== 'JSXOpeningElement')
93
+ return;
94
+ const attributes = node['attributes'];
95
+ const fx = attributes.find((a) => a.type === 'JSXAttribute' && a['name']?.['name'] === 'fx');
96
+ if (!fx)
97
+ return;
98
+ const withStyle = attributes.some((a) => a.type === 'JSXAttribute' && a['name']?.['name'] === 'style');
99
+ const line = (fx['loc']?.start?.line ?? 0);
100
+ const value = fx['value'];
101
+ // `fx={…}` is an expression container; a bare string is not an fx object.
102
+ if (!value || value.type !== 'JSXExpressionContainer') {
103
+ sites.push({ line, static: false, reason: 'not-an-object', withStyle });
104
+ return;
105
+ }
106
+ const result = evaluate(value['expression']);
107
+ sites.push(result.ok
108
+ ? { line, static: true, withStyle }
109
+ : { line, static: false, reason: result.reason, withStyle });
110
+ });
111
+ return sites;
112
+ }
113
+ /** Which engine an `'auto'` build would actually use, and why. */
114
+ export function resolveEngine(engine, canResolve) {
115
+ if (engine !== 'auto')
116
+ return engine;
117
+ return canResolve('@fluixi-css/core') ? 'fluixi-css' : 'self';
118
+ }
119
+ /** Returns no transform, so it cannot change a build's output. */
120
+ export function fxExtract(options = {}) {
121
+ const include = options.include ?? /\.[jt]sx?$/;
122
+ const sites = [];
123
+ let parse = null;
124
+ return {
125
+ name: '@fluixi-ui/fx:extract',
126
+ enforce: 'pre',
127
+ async buildStart() {
128
+ try {
129
+ // Variable specifier: the parser is an optional peer, and a static import
130
+ // would make it a hard dependency of this package's types too.
131
+ const specifier = '@babel/parser';
132
+ const babel = (await import(/* @vite-ignore */ specifier));
133
+ parse = (source) => babel.parse(source, { sourceType: 'module', plugins: ['jsx', 'typescript'], errorRecovery: true });
134
+ }
135
+ catch {
136
+ this.warn('@babel/parser is not installed — fx extraction is disabled for this build.');
137
+ }
138
+ },
139
+ transform(code, id) {
140
+ if (!parse || !include.test(id) || id.includes('node_modules'))
141
+ return null;
142
+ if (!code.includes('fx='))
143
+ return null;
144
+ try {
145
+ for (const site of scanFx(code, parse))
146
+ sites.push({ id, site });
147
+ }
148
+ catch {
149
+ // The bundler will complain about an unparseable file anyway; a reporting
150
+ // pass should not fail the build.
151
+ }
152
+ return null;
153
+ },
154
+ closeBundle() {
155
+ if (options.report === false || sites.length === 0)
156
+ return;
157
+ const engine = resolveEngine(options.engine ?? 'auto', (id) => {
158
+ try {
159
+ return Boolean(require.resolve(id));
160
+ }
161
+ catch {
162
+ return false;
163
+ }
164
+ });
165
+ const total = sites.length;
166
+ const statik = sites.filter((s) => s.site.static).length;
167
+ const reasons = new Map();
168
+ for (const { site } of sites) {
169
+ if (!site.static && site.reason)
170
+ reasons.set(site.reason, (reasons.get(site.reason) ?? 0) + 1);
171
+ }
172
+ const lines = [
173
+ ` fx: ${statik}/${total} sites are static and could be lifted to CSS at build time`,
174
+ ` stylesheet owner: ${engine}`,
175
+ ];
176
+ for (const [reason, count] of [...reasons].sort((a, b) => b[1] - a[1])) {
177
+ lines.push(` ${count} held back by: ${reason}`);
178
+ }
179
+ console.log(lines.join('\n'));
180
+ },
181
+ };
182
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluixi-ui/fx",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.3",
4
4
  "description": "Token-aware style objects for the Fluixi UI ecosystem — the `fx` prop engine",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -31,7 +31,17 @@
31
31
  "default": "./dist/index.js"
32
32
  }
33
33
  },
34
+ "peerDependenciesMeta": {
35
+ "@babel/parser": {
36
+ "optional": true
37
+ },
38
+ "vite": {
39
+ "optional": true
40
+ }
41
+ },
34
42
  "peerDependencies": {
43
+ "@babel/parser": ">=7.20.0",
44
+ "vite": ">=5",
35
45
  "@fluixi/reactive": ">=1.0.0-alpha.41"
36
46
  },
37
47
  "dependencies": {