@arbor-css/core 0.0.102 → 0.0.103
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/dist/cli/introspection.d.ts +1 -1
- package/dist/cli/introspection.d.ts.map +1 -1
- package/dist/cli/introspection.js +1 -2
- package/dist/cli/introspection.js.map +1 -1
- package/dist/cli/introspection.test.js +1 -1
- package/dist/cli/introspection.test.js.map +1 -1
- package/dist/cli/run.js +4 -2
- package/dist/cli/run.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/action.d.ts +39 -12
- package/dist/presets/arborPreset/modeSchema/intents/action.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/action.js +4 -4
- package/dist/presets/arborPreset/modeSchema/intents/action.js.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/common.d.ts +15 -5
- package/dist/presets/arborPreset/modeSchema/intents/common.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/common.js +15 -5
- package/dist/presets/arborPreset/modeSchema/intents/common.js.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/control.d.ts +13 -4
- package/dist/presets/arborPreset/modeSchema/intents/control.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/control.js +2 -2
- package/dist/presets/arborPreset/modeSchema/intents/control.js.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/surface.d.ts +39 -12
- package/dist/presets/arborPreset/modeSchema/intents/surface.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/surface.js +4 -4
- package/dist/presets/arborPreset/modeSchema/intents/surface.js.map +1 -1
- package/dist/presets/arborPreset/modeSchema/intents/text.d.ts +3 -0
- package/dist/presets/arborPreset/modeSchema/intents/text.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeSchema/modeSchema.d.ts +142 -68
- package/dist/presets/arborPreset/modeSchema/modeSchema.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeSchema/primitives/typography.d.ts +52 -44
- package/dist/presets/arborPreset/modeSchema/primitives/typography.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeSchema/primitives/typography.js +12 -4
- package/dist/presets/arborPreset/modeSchema/primitives/typography.js.map +1 -1
- package/dist/presets/arborPreset/modeValues/intents.d.ts +320 -11
- package/dist/presets/arborPreset/modeValues/intents.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeValues/intents.js +70 -19
- package/dist/presets/arborPreset/modeValues/intents.js.map +1 -1
- package/dist/presets/arborPreset/modeValues/semantics.d.ts +502 -0
- package/dist/presets/arborPreset/modeValues/semantics.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeValues/spacing/index.d.ts +12 -0
- package/dist/presets/arborPreset/modeValues/spacing/index.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeValues/spacing/index.js +4 -2
- package/dist/presets/arborPreset/modeValues/spacing/index.js.map +1 -1
- package/dist/presets/arborPreset/modeValues/typography/index.d.ts +21 -2
- package/dist/presets/arborPreset/modeValues/typography/index.d.ts.map +1 -1
- package/dist/presets/arborPreset/modeValues/typography/index.js +18 -4
- package/dist/presets/arborPreset/modeValues/typography/index.js.map +1 -1
- package/dist/presets/arborPreset/preset.d.ts +253 -121
- package/dist/presets/arborPreset/preset.d.ts.map +1 -1
- package/dist/presets/arborPreset/preset.js +174 -11
- package/dist/presets/arborPreset/preset.js.map +1 -1
- package/dist/presets/arborPreset/preset.test.js +11 -1
- package/dist/presets/arborPreset/preset.test.js.map +1 -1
- package/dist/presets/basicPreset/functions.test.js +7 -8
- package/dist/presets/basicPreset/functions.test.js.map +1 -1
- package/dist/presets/basicPreset/mixins.d.ts +53 -41
- package/dist/presets/basicPreset/mixins.d.ts.map +1 -1
- package/dist/presets/basicPreset/mixins.js +94 -60
- package/dist/presets/basicPreset/mixins.js.map +1 -1
- package/dist/presets/basicPreset/preset.d.ts +63 -42
- package/dist/presets/basicPreset/preset.d.ts.map +1 -1
- package/dist/presets/basicPreset/preset.js +13 -13
- package/dist/presets/basicPreset/preset.js.map +1 -1
- package/dist/runtime/components/FunctionsList.d.ts +2 -0
- package/dist/runtime/components/FunctionsList.d.ts.map +1 -0
- package/dist/runtime/components/FunctionsList.js +123 -0
- package/dist/runtime/components/FunctionsList.js.map +1 -0
- package/dist/runtime/components/MixinsList.d.ts +2 -0
- package/dist/runtime/components/MixinsList.d.ts.map +1 -0
- package/dist/runtime/components/MixinsList.js +123 -0
- package/dist/runtime/components/MixinsList.js.map +1 -0
- package/dist/runtime/components/ModeGraph.d.ts +3 -0
- package/dist/runtime/components/ModeGraph.d.ts.map +1 -0
- package/dist/runtime/components/ModeGraph.js +325 -0
- package/dist/runtime/components/ModeGraph.js.map +1 -0
- package/dist/runtime/components/Outputs.d.ts +7 -0
- package/dist/runtime/components/Outputs.d.ts.map +1 -0
- package/dist/runtime/components/Outputs.js +39 -0
- package/dist/runtime/components/Outputs.js.map +1 -0
- package/dist/runtime/components/index.d.ts +1 -10
- package/dist/runtime/components/index.d.ts.map +1 -1
- package/dist/runtime/components/index.js +11 -10
- package/dist/runtime/components/index.js.map +1 -1
- package/dist/runtime/componentsOld/BaseElement.d.ts +8 -0
- package/dist/runtime/componentsOld/BaseElement.d.ts.map +1 -0
- package/dist/runtime/componentsOld/BaseElement.js +14 -0
- package/dist/runtime/componentsOld/BaseElement.js.map +1 -0
- package/dist/runtime/componentsOld/ModeSelector.d.ts.map +1 -0
- package/dist/runtime/componentsOld/ModeSelector.js.map +1 -0
- package/dist/runtime/componentsOld/SchemeSelector.d.ts.map +1 -0
- package/dist/runtime/componentsOld/SchemeSelector.js.map +1 -0
- package/dist/runtime/componentsOld/SystemDemo.d.ts.map +1 -0
- package/dist/runtime/componentsOld/SystemDemo.js.map +1 -0
- package/dist/runtime/componentsOld/TokenColorValuePreview.d.ts.map +1 -0
- package/dist/runtime/componentsOld/TokenColorValuePreview.js.map +1 -0
- package/dist/runtime/componentsOld/TokenFontValuesPreview.d.ts.map +1 -0
- package/dist/runtime/componentsOld/TokenFontValuesPreview.js.map +1 -0
- package/dist/runtime/componentsOld/TokenShadowValuePreview.d.ts.map +1 -0
- package/dist/runtime/componentsOld/TokenShadowValuePreview.js.map +1 -0
- package/dist/runtime/componentsOld/TokenSizeValuePreview.d.ts.map +1 -0
- package/dist/runtime/componentsOld/TokenSizeValuePreview.js.map +1 -0
- package/dist/runtime/componentsOld/TokenValuePreview.d.ts.map +1 -0
- package/dist/runtime/componentsOld/TokenValuePreview.js.map +1 -0
- package/dist/runtime/componentsOld/TokenValues.d.ts.map +1 -0
- package/dist/runtime/componentsOld/TokenValues.js.map +1 -0
- package/dist/runtime/componentsOld/index.d.ts +11 -0
- package/dist/runtime/componentsOld/index.d.ts.map +1 -0
- package/dist/runtime/componentsOld/index.js +11 -0
- package/dist/runtime/componentsOld/index.js.map +1 -0
- package/dist/runtime/index.d.ts +0 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +0 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/registration.d.ts +2 -1
- package/dist/runtime/registration.d.ts.map +1 -1
- package/dist/runtime/registration.js +11 -6
- package/dist/runtime/registration.js.map +1 -1
- package/dist/runtime/tokenGroups.d.ts.map +1 -1
- package/dist/stylesheet/generateStylesheet.d.ts +2 -1
- package/dist/stylesheet/generateStylesheet.d.ts.map +1 -1
- package/dist/stylesheet/generateStylesheet.js +2 -2
- package/dist/stylesheet/generateStylesheet.js.map +1 -1
- package/dist/stylesheet/generateStylesheet.test.js +1 -1
- package/dist/stylesheet/modeToCss.d.ts +3 -1
- package/dist/stylesheet/modeToCss.d.ts.map +1 -1
- package/dist/stylesheet/modeToCss.js +7 -172
- package/dist/stylesheet/modeToCss.js.map +1 -1
- package/dist/util/buildModeTokenGraph.d.ts +30 -0
- package/dist/util/buildModeTokenGraph.d.ts.map +1 -0
- package/dist/util/buildModeTokenGraph.js +200 -0
- package/dist/util/buildModeTokenGraph.js.map +1 -0
- package/dist/util/buildModeTokenGraph.test.d.ts +2 -0
- package/dist/util/buildModeTokenGraph.test.d.ts.map +1 -0
- package/dist/util/buildModeTokenGraph.test.js +66 -0
- package/dist/util/buildModeTokenGraph.test.js.map +1 -0
- package/dist/util/resolveComputedTokenValue.test.js +4 -4
- package/dist/util/resolveComputedTokenValue.test.js.map +1 -1
- package/package.json +9 -8
- package/dist/runtime/components/BaseElement.d.ts +0 -6
- package/dist/runtime/components/BaseElement.d.ts.map +0 -1
- package/dist/runtime/components/BaseElement.js +0 -10
- package/dist/runtime/components/BaseElement.js.map +0 -1
- package/dist/runtime/components/ModeSelector.d.ts.map +0 -1
- package/dist/runtime/components/ModeSelector.js.map +0 -1
- package/dist/runtime/components/SchemeSelector.d.ts.map +0 -1
- package/dist/runtime/components/SchemeSelector.js.map +0 -1
- package/dist/runtime/components/SystemDemo.d.ts.map +0 -1
- package/dist/runtime/components/SystemDemo.js.map +0 -1
- package/dist/runtime/components/TokenColorValuePreview.d.ts.map +0 -1
- package/dist/runtime/components/TokenColorValuePreview.js.map +0 -1
- package/dist/runtime/components/TokenFontValuesPreview.d.ts.map +0 -1
- package/dist/runtime/components/TokenFontValuesPreview.js.map +0 -1
- package/dist/runtime/components/TokenShadowValuePreview.d.ts.map +0 -1
- package/dist/runtime/components/TokenShadowValuePreview.js.map +0 -1
- package/dist/runtime/components/TokenSizeValuePreview.d.ts.map +0 -1
- package/dist/runtime/components/TokenSizeValuePreview.js.map +0 -1
- package/dist/runtime/components/TokenValuePreview.d.ts.map +0 -1
- package/dist/runtime/components/TokenValuePreview.js.map +0 -1
- package/dist/runtime/components/TokenValues.d.ts.map +0 -1
- package/dist/runtime/components/TokenValues.js.map +0 -1
- /package/dist/runtime/{components → componentsOld}/ModeSelector.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/ModeSelector.js +0 -0
- /package/dist/runtime/{components → componentsOld}/SchemeSelector.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/SchemeSelector.js +0 -0
- /package/dist/runtime/{components → componentsOld}/SystemDemo.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/SystemDemo.js +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenColorValuePreview.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenColorValuePreview.js +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenFontValuesPreview.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenFontValuesPreview.js +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenShadowValuePreview.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenShadowValuePreview.js +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenSizeValuePreview.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenSizeValuePreview.js +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenValuePreview.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenValuePreview.js +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenValues.d.ts +0 -0
- /package/dist/runtime/{components → componentsOld}/TokenValues.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenSizeValuePreview.js","sourceRoot":"","sources":["../../../src/runtime/componentsOld/TokenSizeValuePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,qBAAsB,SAAQ,YAAY;IAC/C;QACC,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG;wBACN,IAAI,aAAa,IAAI;GAC1C,CAAC;IACH,CAAC;CACD;AACD,cAAc,CAAC,MAAM,CAAC,gCAAgC,EAAE,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenValuePreview.d.ts","sourceRoot":"","sources":["../../../src/runtime/componentsOld/TokenValuePreview.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenValuePreview.js","sourceRoot":"","sources":["../../../src/runtime/componentsOld/TokenValuePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,iBAAkB,SAAQ,YAAY;IAC3C;QACC,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,OAAe,CAAC;QACpB,QAAQ,OAAO,EAAE,CAAC;YACjB,KAAK,OAAO;gBACX,OAAO,GAAG,2CAA2C,KAAK,sCAAsC,CAAC;gBACjG,MAAM;YACP,KAAK,SAAS;gBACb,OAAO,GAAG,yCAAyC,KAAK,qCAAqC,CAAC;gBAC9F,MAAM;YACP,KAAK,QAAQ;gBACZ,OAAO,GAAG,6CAA6C,KAAK,uCAAuC,CAAC;gBACpG,MAAM;YACP;gBACC,OAAO,GAAG,uIAAuI,CAAC;QACpJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;IACrC,CAAC;CACD;AAED,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenValues.d.ts","sourceRoot":"","sources":["../../../src/runtime/componentsOld/TokenValues.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenValues.js","sourceRoot":"","sources":["../../../src/runtime/componentsOld/TokenValues.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import './ModeSelector.js';
|
|
2
|
+
import './SchemeSelector.js';
|
|
3
|
+
import './SystemDemo.js';
|
|
4
|
+
import './TokenColorValuePreview.js';
|
|
5
|
+
import './TokenFontValuesPreview.js';
|
|
6
|
+
import './TokenShadowValuePreview.js';
|
|
7
|
+
import './TokenSizeValuePreview.js';
|
|
8
|
+
import './TokenValuePreview.js';
|
|
9
|
+
import './TokenValues.js';
|
|
10
|
+
export { ArborElement } from './BaseElement.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/componentsOld/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import './ModeSelector.js';
|
|
2
|
+
import './SchemeSelector.js';
|
|
3
|
+
import './SystemDemo.js';
|
|
4
|
+
import './TokenColorValuePreview.js';
|
|
5
|
+
import './TokenFontValuesPreview.js';
|
|
6
|
+
import './TokenShadowValuePreview.js';
|
|
7
|
+
import './TokenSizeValuePreview.js';
|
|
8
|
+
import './TokenValuePreview.js';
|
|
9
|
+
import './TokenValues.js';
|
|
10
|
+
export { ArborElement } from './BaseElement.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/componentsOld/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ArborPreset } from '@arbor-css/preset/config';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const ready: Promise<void>;
|
|
3
|
+
export declare function getPreset(): ArborPreset;
|
|
3
4
|
export declare function getStyleSheet(): CSSStyleSheet;
|
|
4
5
|
export declare function connect(arbor: ArborPreset<any, any>): void;
|
|
5
6
|
//# sourceMappingURL=registration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../src/runtime/registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../src/runtime/registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD,eAAO,MAAM,KAAK,eAA8C,CAAC;AAEjE,wBAAgB,SAAS,IAAI,WAAW,CAOvC;AAED,wBAAgB,aAAa,IAAI,aAAa,CAO7C;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,QASnD"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { generateStylesheet } from '../stylesheet/generateStylesheet.js';
|
|
2
|
-
|
|
2
|
+
import register from './components/index.js';
|
|
3
|
+
let preset = undefined;
|
|
3
4
|
let styleSheet = undefined;
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
let resolve = () => { };
|
|
6
|
+
export const ready = new Promise((res) => (resolve = res));
|
|
7
|
+
export function getPreset() {
|
|
8
|
+
if (!preset) {
|
|
6
9
|
throw new Error('Arbor configuration has not been set. Please call connect() first.');
|
|
7
10
|
}
|
|
8
|
-
return
|
|
11
|
+
return preset;
|
|
9
12
|
}
|
|
10
13
|
export function getStyleSheet() {
|
|
11
14
|
if (!styleSheet) {
|
|
@@ -14,11 +17,13 @@ export function getStyleSheet() {
|
|
|
14
17
|
return styleSheet;
|
|
15
18
|
}
|
|
16
19
|
export function connect(arbor) {
|
|
17
|
-
|
|
20
|
+
preset = arbor;
|
|
18
21
|
// by turning off layers, we make the generated CSS take precedence over any existing pregenerated stylesheet.
|
|
19
|
-
const styles = generateStylesheet(
|
|
22
|
+
const styles = generateStylesheet(preset, { layer: false });
|
|
20
23
|
styleSheet = new CSSStyleSheet();
|
|
21
24
|
styleSheet.replaceSync(styles);
|
|
22
25
|
document.adoptedStyleSheets = [...document.adoptedStyleSheets, styleSheet];
|
|
26
|
+
resolve();
|
|
27
|
+
register();
|
|
23
28
|
}
|
|
24
29
|
//# sourceMappingURL=registration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/runtime/registration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/runtime/registration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAE7C,IAAI,MAAM,GAAsC,SAAS,CAAC;AAC1D,IAAI,UAAU,GAA8B,SAAS,CAAC;AACtD,IAAI,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;AAEjE,MAAM,UAAU,SAAS;IACxB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACd,oEAAoE,CACpE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACd,uEAAuE,CACvE,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAA4B;IACnD,MAAM,GAAG,KAAK,CAAC;IACf,8GAA8G;IAC9G,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;IACjC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAC3E,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenGroups.d.ts","sourceRoot":"","sources":["../../src/runtime/tokenGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAE1E,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"tokenGroups.d.ts","sourceRoot":"","sources":["../../src/runtime/tokenGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAE1E,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW;;;;;;;;;;;;sCAoD8tE,CAAC;sBAAgD,CAAC;;;;;;;;;;;;;0CAAid,CAAC;0BAAoD,CAAC;;;;;;;;;;;;;;;;0CAAojB,CAAC;0BAAoD,CAAC;;;;;;;eATp6G,KAAK;iBACH,KAAK;qBACD,KAAK;;EAMtB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AnyArborPreset } from '@arbor-css/preset/config';
|
|
2
|
-
export declare function generateStylesheet(config: AnyArborPreset, { layer: cascadeLayerName, }?: {
|
|
2
|
+
export declare function generateStylesheet(config: AnyArborPreset, { layer: cascadeLayerName, skipBaking, }?: {
|
|
3
3
|
layer?: string | false;
|
|
4
|
+
skipBaking?: boolean;
|
|
4
5
|
}): string;
|
|
5
6
|
//# sourceMappingURL=generateStylesheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateStylesheet.d.ts","sourceRoot":"","sources":["../../src/stylesheet/generateStylesheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,0BAA0B,CAAC;AAIxE,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,cAAc,EACtB,EACC,KAAK,EAAE,gBAA0B,
|
|
1
|
+
{"version":3,"file":"generateStylesheet.d.ts","sourceRoot":"","sources":["../../src/stylesheet/generateStylesheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,0BAA0B,CAAC;AAIxE,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,cAAc,EACtB,EACC,KAAK,EAAE,gBAA0B,EACjC,UAAU,GACV,GAAE;IACF,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CAChB,GACJ,MAAM,CAyBR"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { getInternals } from '@arbor-css/preset/config';
|
|
2
2
|
import { flattenTokenSchema } from '@arbor-css/tokens';
|
|
3
3
|
import { modeToCss } from './modeToCss.js';
|
|
4
|
-
export function generateStylesheet(config, { layer: cascadeLayerName = 'arbor', } = {}) {
|
|
4
|
+
export function generateStylesheet(config, { layer: cascadeLayerName = 'arbor', skipBaking, } = {}) {
|
|
5
5
|
const { modes } = getInternals(config);
|
|
6
6
|
const allModeProps = flattenTokenSchema(config.$.mode);
|
|
7
7
|
return `/* Auto-generated CSS - do not edit directly */
|
|
8
8
|
${cascadeLayerName ? `@layer ${cascadeLayerName} {` : ''}
|
|
9
9
|
${[config.baseMode, ...Object.values(modes)]
|
|
10
10
|
.map((modeValue) => {
|
|
11
|
-
return modeToCss(modeValue, config);
|
|
11
|
+
return modeToCss(modeValue, config, { skipBaking });
|
|
12
12
|
})
|
|
13
13
|
.join('\n\n')}
|
|
14
14
|
/* Function definitions */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateStylesheet.js","sourceRoot":"","sources":["../../src/stylesheet/generateStylesheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,kBAAkB,CACjC,MAAsB,EACtB,EACC,KAAK,EAAE,gBAAgB,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"generateStylesheet.js","sourceRoot":"","sources":["../../src/stylesheet/generateStylesheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,kBAAkB,CACjC,MAAsB,EACtB,EACC,KAAK,EAAE,gBAAgB,GAAG,OAAO,EACjC,UAAU,MAIP,EAAE;IAEN,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEvD,OAAO;GACL,gBAAgB,CAAC,CAAC,CAAC,UAAU,gBAAgB,IAAI,CAAC,CAAC,CAAC,EAAE;EACvD,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAClB,OAAO,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC;;EAEZ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;SAC/B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC;;EAEZ,YAAY;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;SAC9B,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC;EACZ,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;CAC5B;SACE,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -17,6 +17,6 @@ it("generates a preset's CSS, including globals, primitives, modes, and function
|
|
|
17
17
|
expect(css).toContain('--m-global-roundness: 1');
|
|
18
18
|
expect(css).toContain('--m-primitive-color-brand-mid: ');
|
|
19
19
|
expect(css).toContain('--m-color-main: ');
|
|
20
|
-
expect(css).toContain('@function --fn-
|
|
20
|
+
expect(css).toContain('@function --fn-color-lighter');
|
|
21
21
|
});
|
|
22
22
|
//# sourceMappingURL=generateStylesheet.test.js.map
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ModeInstance } from '@arbor-css/modes';
|
|
2
2
|
import { ArborPreset } from '@arbor-css/preset';
|
|
3
3
|
import { SimpleTokenSchema } from '@arbor-css/tokens';
|
|
4
|
-
export declare function modeToCss<TModeShape extends SimpleTokenSchema>(mode: ModeInstance<TModeShape>, preset: ArborPreset<TModeShape
|
|
4
|
+
export declare function modeToCss<TModeShape extends SimpleTokenSchema>(mode: ModeInstance<TModeShape>, preset: ArborPreset<TModeShape>, { skipBaking }?: {
|
|
5
|
+
skipBaking?: boolean;
|
|
6
|
+
}): string;
|
|
5
7
|
//# sourceMappingURL=modeToCss.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modeToCss.d.ts","sourceRoot":"","sources":["../../src/stylesheet/modeToCss.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modeToCss.d.ts","sourceRoot":"","sources":["../../src/stylesheet/modeToCss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMtD,wBAAgB,SAAS,CAAC,UAAU,SAAS,iBAAiB,EAC7D,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,EAC9B,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAC/B,EAAE,UAAU,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,MAAM,CAgCR"}
|
|
@@ -1,127 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { toFlatKeys } from '@arbor-css/util';
|
|
5
|
-
import { flattenAndApplyTokenValues } from '../util/flattenAndApplyTokenValues.js';
|
|
6
|
-
/**
|
|
7
|
-
* Constructs a proxy which computes the resolved
|
|
8
|
-
* value of any assigned property on demand and caches
|
|
9
|
-
* the result.
|
|
10
|
-
*
|
|
11
|
-
* Mode values can be CSS equations or token references,
|
|
12
|
-
* which require recursive resolution to get a final string
|
|
13
|
-
* value which is required for calculation, so this both
|
|
14
|
-
* resolves those to strings and makes sure we don't
|
|
15
|
-
* recompute the same things over and over.
|
|
16
|
-
*/
|
|
17
|
-
function createResolvingPropertyValuesProxy(propertyValues, allowMissing = false) {
|
|
18
|
-
const cache = {};
|
|
19
|
-
const resolvingStack = [];
|
|
20
|
-
const resolvingSet = new Set();
|
|
21
|
-
const propertyValuesProxy = new Proxy({}, {
|
|
22
|
-
get(_, prop) {
|
|
23
|
-
if (typeof prop !== 'string') {
|
|
24
|
-
return undefined;
|
|
25
|
-
}
|
|
26
|
-
if (prop in cache) {
|
|
27
|
-
return cache[prop];
|
|
28
|
-
}
|
|
29
|
-
if (resolvingSet.has(prop)) {
|
|
30
|
-
const cycleStart = resolvingStack.findIndex((name) => name === prop);
|
|
31
|
-
const cycleChain = [...resolvingStack.slice(cycleStart), prop].join(' -> ');
|
|
32
|
-
throw new Error(`Circular dependency detected during property resolution: ${cycleChain}`);
|
|
33
|
-
}
|
|
34
|
-
resolvingStack.push(prop);
|
|
35
|
-
resolvingSet.add(prop);
|
|
36
|
-
const value = propertyValues[prop];
|
|
37
|
-
try {
|
|
38
|
-
if (typeof value === 'string' || typeof value === 'number') {
|
|
39
|
-
cache[prop] = value.toString();
|
|
40
|
-
return cache[prop];
|
|
41
|
-
}
|
|
42
|
-
else if (isToken(value)) {
|
|
43
|
-
// does this token reference another property in our values?
|
|
44
|
-
// if so, follow that thread.
|
|
45
|
-
if (value.name in propertyValues) {
|
|
46
|
-
const referencedValue = propertyValuesProxy[value.name];
|
|
47
|
-
cache[prop] = referencedValue;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
// otherwise, just resolve to the token's var() reference since we have no more information about it at this point
|
|
51
|
-
cache[prop] = value.var;
|
|
52
|
-
}
|
|
53
|
-
return cache[prop];
|
|
54
|
-
}
|
|
55
|
-
else if (isCalcEquation(value)) {
|
|
56
|
-
// here's where it gets fun
|
|
57
|
-
cache[prop] = printComputationResult(computeEquation(value, {
|
|
58
|
-
// we reference ourselves to continue resolving
|
|
59
|
-
// down the chain.
|
|
60
|
-
propertyValues: propertyValuesProxy,
|
|
61
|
-
}));
|
|
62
|
-
return cache[prop];
|
|
63
|
-
}
|
|
64
|
-
else if (value === undefined) {
|
|
65
|
-
if (!allowMissing) {
|
|
66
|
-
throw new Error(`Missing value for property ${prop} during resolution.`);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
throw new Error(`Invalid value for property ${prop}: ${value}. Must be a string, number, token reference, or calc equation.`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
finally {
|
|
77
|
-
resolvingSet.delete(prop);
|
|
78
|
-
resolvingStack.pop();
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
});
|
|
82
|
-
return propertyValuesProxy;
|
|
83
|
-
}
|
|
84
|
-
export function modeToCss(mode, preset) {
|
|
85
|
-
const flatValues = toFlatKeys(mode, isModeValue, {
|
|
86
|
-
separator: '-',
|
|
87
|
-
});
|
|
88
|
-
const flatTokens = toFlatKeys(preset.$.mode, isToken, {
|
|
89
|
-
separator: '-',
|
|
90
|
-
});
|
|
91
|
-
const calcContext = {
|
|
92
|
-
propertyValues: createResolvingPropertyValuesProxy(flattenAndApplyTokenValues(preset.$.mode, mode, { allowMissing: true }), true),
|
|
93
|
-
};
|
|
1
|
+
import { getModeInternals } from '@arbor-css/modes';
|
|
2
|
+
import { buildModeTokenGraph, walkModeTokenGraph, } from '../util/buildModeTokenGraph.js';
|
|
3
|
+
export function modeToCss(mode, preset, { skipBaking } = {}) {
|
|
94
4
|
const modeInternals = getModeInternals(mode);
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const tokenVar = flatTokens[key];
|
|
100
|
-
if (!tokenVar) {
|
|
101
|
-
// ignore values which don't align with schema
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
if (isToken(value)) {
|
|
105
|
-
cssVars[tokenVar.name] = value.var;
|
|
106
|
-
}
|
|
107
|
-
else if (isCalcEquation(value)) {
|
|
108
|
-
// bake the equation to get the simplest value we can know ahead of time
|
|
109
|
-
cssVars[tokenVar.name] = printComputationResult(computeEquation(value, calcContext));
|
|
110
|
-
}
|
|
111
|
-
else if (typeof value === 'string' || typeof value === 'number') {
|
|
112
|
-
cssVars[tokenVar.name] = value.toString();
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
throw new Error(`Invalid value for token ${tokenVar.name}: ${value}. Must be a string, number, or $token`);
|
|
116
|
-
}
|
|
117
|
-
// If this value corresponds to a token in the base mode, we need to check if any other base mode values depend on it and include them as well since CSS custom properties are eagerly evaluated.
|
|
118
|
-
const baseDeps = getBaseModeDependents(preset.baseMode, tokenVar, preset.$.mode);
|
|
119
|
-
Object.assign(lowPriorityVars, baseDeps);
|
|
120
|
-
}
|
|
121
|
-
const valuesCss = Object.entries({
|
|
122
|
-
...lowPriorityVars,
|
|
123
|
-
...cssVars,
|
|
124
|
-
}).reduce((acc, [key, value]) => `${acc}${key}: ${value};\n`, '');
|
|
5
|
+
const graph = buildModeTokenGraph(mode, preset, {
|
|
6
|
+
skipBaking,
|
|
7
|
+
});
|
|
8
|
+
const valuesCss = walkModeTokenGraph(graph).reduce((acc, node) => `${acc}${node.token.name}: ${node.computed};\n`, '');
|
|
125
9
|
const content = [valuesCss, preset.modeSchema.extraCss]
|
|
126
10
|
.filter(Boolean)
|
|
127
11
|
.join('\n');
|
|
@@ -141,53 +25,4 @@ export function modeToCss(mode, preset) {
|
|
|
141
25
|
.replaceAll('; ', ';\n\t')
|
|
142
26
|
.replaceAll('{ ', '{\n\t');
|
|
143
27
|
}
|
|
144
|
-
/**
|
|
145
|
-
* For a given Token, returns which values in the base mode depend on it.
|
|
146
|
-
* When any mode defines a value, we check the corresponding token with
|
|
147
|
-
* this function to decide if we need to interpolate any base values that
|
|
148
|
-
* must be recomputed alongside it since CSS custom properties are eagerly
|
|
149
|
-
* evaluated at declaration and won't update due to downstream changes to
|
|
150
|
-
* properties they derive from.
|
|
151
|
-
*/
|
|
152
|
-
function getBaseModeDependents(baseMode, token, modeTokens, visiting = []) {
|
|
153
|
-
const cycleStart = visiting.findIndex((name) => name === token.name);
|
|
154
|
-
if (cycleStart !== -1) {
|
|
155
|
-
// note: this only detects cycles in the base mode, not
|
|
156
|
-
// in derived modes. is that needed?
|
|
157
|
-
const cycleChain = [...visiting.slice(cycleStart), token.name].join(' -> ');
|
|
158
|
-
throw new Error(`Circular dependency detected in mode ${baseMode.$name}: ${cycleChain}`);
|
|
159
|
-
}
|
|
160
|
-
const nextVisiting = [...visiting, token.name];
|
|
161
|
-
const dependents = {};
|
|
162
|
-
const flatBase = toFlatKeys(baseMode, isModeValue, { separator: '-' });
|
|
163
|
-
const flatTokens = toFlatKeys(modeTokens, isToken, {
|
|
164
|
-
separator: '-',
|
|
165
|
-
});
|
|
166
|
-
for (const key in flatBase) {
|
|
167
|
-
const value = flatBase[key];
|
|
168
|
-
if (isCalcEquation(value)) {
|
|
169
|
-
if (value.tokens.some((dep) => dep.name === token.name)) {
|
|
170
|
-
const tokenForKey = flatTokens[key];
|
|
171
|
-
if (!tokenForKey) {
|
|
172
|
-
continue;
|
|
173
|
-
}
|
|
174
|
-
dependents[tokenForKey.name] = printEquation(value);
|
|
175
|
-
// recurse to find any values that depend on this dependent as well
|
|
176
|
-
Object.assign(dependents, getBaseModeDependents(baseMode, tokenForKey, modeTokens, nextVisiting));
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else if (isToken(value)) {
|
|
180
|
-
if (value.name === token.name) {
|
|
181
|
-
const tokenForKey = flatTokens[key];
|
|
182
|
-
if (!tokenForKey) {
|
|
183
|
-
continue;
|
|
184
|
-
}
|
|
185
|
-
dependents[tokenForKey.name] = value.var;
|
|
186
|
-
// recurse to find any values that depend on this dependent as well
|
|
187
|
-
Object.assign(dependents, getBaseModeDependents(baseMode, tokenForKey, modeTokens, nextVisiting));
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return dependents;
|
|
192
|
-
}
|
|
193
28
|
//# sourceMappingURL=modeToCss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modeToCss.js","sourceRoot":"","sources":["../../src/stylesheet/modeToCss.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"modeToCss.js","sourceRoot":"","sources":["../../src/stylesheet/modeToCss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EACN,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,gCAAgC,CAAC;AAExC,MAAM,UAAU,SAAS,CACxB,IAA8B,EAC9B,MAA+B,EAC/B,EAAE,UAAU,KAA+B,EAAE;IAE7C,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE;QAC/C,UAAU;KACV,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,EAC9D,EAAE,CACF,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SACrD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,cAAc,GAAG,YAAY,aAAa,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,aAAa,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5E,IAAI,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9B,gKAAgK;QAChK,SAAS,CAAC,IAAI,CACb,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,CACrE,CAAC;IACH,CAAC;IAED,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;GAC5B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;GACxD,OAAO;GACP,aAAa,CAAC,QAAQ,IAAI,EAAE;;CAE9B;SACE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;SACzB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ModeInstance, ModeValue } from '@arbor-css/modes';
|
|
2
|
+
import { ArborPreset } from '@arbor-css/preset';
|
|
3
|
+
import { SimpleTokenSchema, Token } from '@arbor-css/tokens';
|
|
4
|
+
export type ModeTokenGraphNode = {
|
|
5
|
+
token: Token;
|
|
6
|
+
raw: ModeValue;
|
|
7
|
+
computed: string;
|
|
8
|
+
explicit: boolean;
|
|
9
|
+
dependencies: string[];
|
|
10
|
+
dependents: string[];
|
|
11
|
+
};
|
|
12
|
+
export type ModeTokenGraph = {
|
|
13
|
+
modeName: string;
|
|
14
|
+
nodes: Record<string, ModeTokenGraphNode>;
|
|
15
|
+
roots: string[];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Constructs a dependency graph for a mode by combining the base mode values
|
|
19
|
+
* with any explicit overrides for the current mode.
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildModeTokenGraph<TModeShape extends SimpleTokenSchema>(mode: ModeInstance<TModeShape>, preset: ArborPreset<TModeShape>, options?: {
|
|
22
|
+
skipBaking?: boolean;
|
|
23
|
+
}): ModeTokenGraph;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the graph nodes in the order they should be emitted to CSS.
|
|
26
|
+
* Nodes are visited from explicit mode entries, with dependents emitted first
|
|
27
|
+
* so upstream declarations remain available for CSS custom properties.
|
|
28
|
+
*/
|
|
29
|
+
export declare function walkModeTokenGraph(graph: ModeTokenGraph): ModeTokenGraphNode[];
|
|
30
|
+
//# sourceMappingURL=buildModeTokenGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildModeTokenGraph.d.ts","sourceRoot":"","sources":["../../src/util/buildModeTokenGraph.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAW,iBAAiB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAMtE,MAAM,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC1C,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,SAAS,iBAAiB,EACvE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,EAC9B,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAC/B,OAAO,GAAE;IACR,UAAU,CAAC,EAAE,OAAO,CAAC;CAChB,GACJ,cAAc,CAiEhB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,cAAc,GACnB,kBAAkB,EAAE,CAqDtB"}
|