@arbor-css/core 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/arborPreset.d.ts +344 -0
  2. package/dist/arborPreset.d.ts.map +1 -0
  3. package/dist/arborPreset.js +198 -0
  4. package/dist/arborPreset.js.map +1 -0
  5. package/dist/cli/run.d.ts +3 -0
  6. package/dist/cli/run.d.ts.map +1 -0
  7. package/dist/cli/run.js +42 -0
  8. package/dist/cli/run.js.map +1 -0
  9. package/dist/config.d.ts +15 -0
  10. package/dist/config.d.ts.map +1 -0
  11. package/dist/config.js +4 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/index.d.ts +13 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +13 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/primitives/labelProps.d.ts +1 -0
  18. package/dist/primitives/labelProps.d.ts.map +1 -0
  19. package/dist/primitives/labelProps.js +2 -0
  20. package/dist/primitives/labelProps.js.map +1 -0
  21. package/dist/primitives/localProps.d.ts +1 -0
  22. package/dist/primitives/localProps.d.ts.map +1 -0
  23. package/dist/primitives/localProps.js +2 -0
  24. package/dist/primitives/localProps.js.map +1 -0
  25. package/dist/primitives/primitives.d.ts +46 -0
  26. package/dist/primitives/primitives.d.ts.map +1 -0
  27. package/dist/primitives/primitives.js +75 -0
  28. package/dist/primitives/primitives.js.map +1 -0
  29. package/dist/primitives/systemProps.d.ts +329 -0
  30. package/dist/primitives/systemProps.d.ts.map +1 -0
  31. package/dist/primitives/systemProps.js +45 -0
  32. package/dist/primitives/systemProps.js.map +1 -0
  33. package/dist/runtime/components/BaseElement.d.ts +6 -0
  34. package/dist/runtime/components/BaseElement.d.ts.map +1 -0
  35. package/dist/runtime/components/BaseElement.js +10 -0
  36. package/dist/runtime/components/BaseElement.js.map +1 -0
  37. package/dist/runtime/components/ColorRange.d.ts +2 -0
  38. package/dist/runtime/components/ColorRange.d.ts.map +1 -0
  39. package/dist/runtime/components/ColorRange.js +52 -0
  40. package/dist/runtime/components/ColorRange.js.map +1 -0
  41. package/dist/runtime/components/GlobalsEditor.d.ts +2 -0
  42. package/dist/runtime/components/GlobalsEditor.d.ts.map +1 -0
  43. package/dist/runtime/components/GlobalsEditor.js +63 -0
  44. package/dist/runtime/components/GlobalsEditor.js.map +1 -0
  45. package/dist/runtime/components/ModeSelector.d.ts +2 -0
  46. package/dist/runtime/components/ModeSelector.d.ts.map +1 -0
  47. package/dist/runtime/components/ModeSelector.js +34 -0
  48. package/dist/runtime/components/ModeSelector.js.map +1 -0
  49. package/dist/runtime/components/ModeTokenValues.d.ts +2 -0
  50. package/dist/runtime/components/ModeTokenValues.d.ts.map +1 -0
  51. package/dist/runtime/components/ModeTokenValues.js +2 -0
  52. package/dist/runtime/components/ModeTokenValues.js.map +1 -0
  53. package/dist/runtime/components/PrimitiveTokenValues.d.ts +2 -0
  54. package/dist/runtime/components/PrimitiveTokenValues.d.ts.map +1 -0
  55. package/dist/runtime/components/PrimitiveTokenValues.js +82 -0
  56. package/dist/runtime/components/PrimitiveTokenValues.js.map +1 -0
  57. package/dist/runtime/components/SchemeSelector.d.ts +2 -0
  58. package/dist/runtime/components/SchemeSelector.d.ts.map +1 -0
  59. package/dist/runtime/components/SchemeSelector.js +34 -0
  60. package/dist/runtime/components/SchemeSelector.js.map +1 -0
  61. package/dist/runtime/components/Shadows.d.ts +2 -0
  62. package/dist/runtime/components/Shadows.d.ts.map +1 -0
  63. package/dist/runtime/components/Shadows.js +27 -0
  64. package/dist/runtime/components/Shadows.js.map +1 -0
  65. package/dist/runtime/components/Spacing.d.ts +2 -0
  66. package/dist/runtime/components/Spacing.d.ts.map +1 -0
  67. package/dist/runtime/components/Spacing.js +27 -0
  68. package/dist/runtime/components/Spacing.js.map +1 -0
  69. package/dist/runtime/components/SystemDemo.d.ts +2 -0
  70. package/dist/runtime/components/SystemDemo.d.ts.map +1 -0
  71. package/dist/runtime/components/SystemDemo.js +45 -0
  72. package/dist/runtime/components/SystemDemo.js.map +1 -0
  73. package/dist/runtime/components/TokenColorValuePreview.d.ts +2 -0
  74. package/dist/runtime/components/TokenColorValuePreview.d.ts.map +1 -0
  75. package/dist/runtime/components/TokenColorValuePreview.js +12 -0
  76. package/dist/runtime/components/TokenColorValuePreview.js.map +1 -0
  77. package/dist/runtime/components/TokenFontValuesPreview.d.ts +2 -0
  78. package/dist/runtime/components/TokenFontValuesPreview.d.ts.map +1 -0
  79. package/dist/runtime/components/TokenFontValuesPreview.js +14 -0
  80. package/dist/runtime/components/TokenFontValuesPreview.js.map +1 -0
  81. package/dist/runtime/components/TokenShadowValuePreview.d.ts +2 -0
  82. package/dist/runtime/components/TokenShadowValuePreview.d.ts.map +1 -0
  83. package/dist/runtime/components/TokenShadowValuePreview.js +14 -0
  84. package/dist/runtime/components/TokenShadowValuePreview.js.map +1 -0
  85. package/dist/runtime/components/TokenSizeValuePreview.d.ts +2 -0
  86. package/dist/runtime/components/TokenSizeValuePreview.d.ts.map +1 -0
  87. package/dist/runtime/components/TokenSizeValuePreview.js +12 -0
  88. package/dist/runtime/components/TokenSizeValuePreview.js.map +1 -0
  89. package/dist/runtime/components/TokenValuePreview.d.ts +2 -0
  90. package/dist/runtime/components/TokenValuePreview.d.ts.map +1 -0
  91. package/dist/runtime/components/TokenValuePreview.js +25 -0
  92. package/dist/runtime/components/TokenValuePreview.js.map +1 -0
  93. package/dist/runtime/components/TokenValues.d.ts +2 -0
  94. package/dist/runtime/components/TokenValues.d.ts.map +1 -0
  95. package/dist/runtime/components/TokenValues.js +105 -0
  96. package/dist/runtime/components/TokenValues.js.map +1 -0
  97. package/dist/runtime/components/Typography.d.ts +2 -0
  98. package/dist/runtime/components/Typography.d.ts.map +1 -0
  99. package/dist/runtime/components/Typography.js +30 -0
  100. package/dist/runtime/components/Typography.js.map +1 -0
  101. package/dist/runtime/components/index.d.ts +11 -0
  102. package/dist/runtime/components/index.d.ts.map +1 -0
  103. package/dist/runtime/components/index.js +11 -0
  104. package/dist/runtime/components/index.js.map +1 -0
  105. package/dist/runtime/index.d.ts +3 -0
  106. package/dist/runtime/index.d.ts.map +1 -0
  107. package/dist/runtime/index.js +3 -0
  108. package/dist/runtime/index.js.map +1 -0
  109. package/dist/runtime/readProperties.d.ts +3 -0
  110. package/dist/runtime/readProperties.d.ts.map +1 -0
  111. package/dist/runtime/readProperties.js +8 -0
  112. package/dist/runtime/readProperties.js.map +1 -0
  113. package/dist/runtime/registration.d.ts +5 -0
  114. package/dist/runtime/registration.d.ts.map +1 -0
  115. package/dist/runtime/registration.js +24 -0
  116. package/dist/runtime/registration.js.map +1 -0
  117. package/dist/runtime/tokenGroups.d.ts +24 -0
  118. package/dist/runtime/tokenGroups.d.ts.map +1 -0
  119. package/dist/runtime/tokenGroups.js +37 -0
  120. package/dist/runtime/tokenGroups.js.map +1 -0
  121. package/dist/stylesheet/generateStylesheet.d.ts +10 -0
  122. package/dist/stylesheet/generateStylesheet.d.ts.map +1 -0
  123. package/dist/stylesheet/generateStylesheet.js +109 -0
  124. package/dist/stylesheet/generateStylesheet.js.map +1 -0
  125. package/dist/util/convertStructure.d.ts +8 -0
  126. package/dist/util/convertStructure.d.ts.map +1 -0
  127. package/dist/util/convertStructure.js +30 -0
  128. package/dist/util/convertStructure.js.map +1 -0
  129. package/dist/util/flattenAndApplyTokenValues.d.ts +5 -0
  130. package/dist/util/flattenAndApplyTokenValues.d.ts.map +1 -0
  131. package/dist/util/flattenAndApplyTokenValues.js +32 -0
  132. package/dist/util/flattenAndApplyTokenValues.js.map +1 -0
  133. package/dist/util/formatObjectToCss.d.ts +2 -0
  134. package/dist/util/formatObjectToCss.d.ts.map +1 -0
  135. package/dist/util/formatObjectToCss.js +6 -0
  136. package/dist/util/formatObjectToCss.js.map +1 -0
  137. package/dist/util/printTokens.d.ts +5 -0
  138. package/dist/util/printTokens.d.ts.map +1 -0
  139. package/dist/util/printTokens.js +6 -0
  140. package/dist/util/printTokens.js.map +1 -0
  141. package/dist/util/tokenifyColors.d.ts +6 -0
  142. package/dist/util/tokenifyColors.d.ts.map +1 -0
  143. package/dist/util/tokenifyColors.js +10 -0
  144. package/dist/util/tokenifyColors.js.map +1 -0
  145. package/dist/util/tokenifyColors.test.d.ts +2 -0
  146. package/dist/util/tokenifyColors.test.d.ts.map +1 -0
  147. package/dist/util/tokenifyColors.test.js +25 -0
  148. package/dist/util/tokenifyColors.test.js.map +1 -0
  149. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorRange.js","sourceRoot":"","sources":["../../../src/runtime/components/ColorRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,UAAW,SAAQ,WAAW;IACnC;QACC,KAAK,EAAE,CAAC;QAER,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,+BAA+B,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACd,UAAU,SAAS,yDAAyD,CAC5E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,GAAG;;UAE1C,SAAS;;OAEZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;aACvB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,UAAU,CAAC,GAA8B,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,SAAS;gBACT,OAAO,EAAE,CAAC;YACX,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;YACxB,OAAO,+CAA+C,KAAK,YAAY,gBAAgB,CAAC,KAAK,CAAC;eACtF,GAAG;cACJ,CAAC;QACT,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;GAad,CAAC;IACH,CAAC;CACD;AAED,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GlobalsEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalsEditor.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/GlobalsEditor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import { $globalProps } from '@arbor-css/globals';
2
+ import { isToken } from '@arbor-css/tokens';
3
+ import GUI from 'lil-gui';
4
+ import { readProperties } from '../readProperties.js';
5
+ import { getConfig } from '../registration.js';
6
+ import { ArborElement } from './BaseElement.js';
7
+ class GlobalsEditor extends ArborElement {
8
+ connectedCallback() {
9
+ const gui = new GUI();
10
+ gui.close();
11
+ const config = getConfig();
12
+ const globalsFolder = gui.addFolder('Globals');
13
+ for (const [globalKey, token] of Object.entries($globalProps)) {
14
+ let entry = token.type === 'color' ?
15
+ globalsFolder.addColor(config.primitives.globals, globalKey)
16
+ : globalsFolder.add(config.primitives.globals, globalKey);
17
+ entry.name(globalKey).onChange((v) => {
18
+ document.documentElement.style.setProperty(token.name, v.toString());
19
+ });
20
+ if (token.type === 'number') {
21
+ entry = entry.min(0).max(2).step(0.1);
22
+ }
23
+ }
24
+ const primitivesFolder = gui.addFolder('Primitives');
25
+ function addToken(parent, key, token, folder) {
26
+ let entry = token.type === 'color' ?
27
+ folder.addColor(parent, key)
28
+ : folder.add(parent, key);
29
+ entry.name(key).onChange((v) => {
30
+ document.documentElement.style.setProperty(token.name, v.toString());
31
+ // and all scheme permutations...
32
+ for (const scheme of Object.keys(config.primitives.colors)) {
33
+ const prefix = config.primitives.schemeTags[scheme] ?? scheme;
34
+ document.documentElement.style.setProperty(token.prefixed(prefix).name, v.toString());
35
+ }
36
+ });
37
+ }
38
+ const values = readProperties(config.primitives.$tokens);
39
+ for (const [firstLayerKey, firstTokenLayer] of Object.entries(config.primitives.$tokens)) {
40
+ if (isToken(firstTokenLayer)) {
41
+ addToken(values, firstLayerKey, firstTokenLayer, primitivesFolder);
42
+ }
43
+ else {
44
+ const primitiveFolder = primitivesFolder.addFolder(firstLayerKey);
45
+ for (const [secondLayerKey, secondTokenLayer] of Object.entries(firstTokenLayer)) {
46
+ if (isToken(secondTokenLayer)) {
47
+ addToken(values[firstLayerKey], secondLayerKey, secondTokenLayer, primitiveFolder);
48
+ }
49
+ else {
50
+ const secondLayerFolder = primitiveFolder.addFolder(secondLayerKey);
51
+ for (const [thirdLayerKey, thirdTokenLayer] of Object.entries(secondTokenLayer)) {
52
+ if (isToken(thirdTokenLayer)) {
53
+ addToken(values[firstLayerKey][secondLayerKey], thirdLayerKey, thirdTokenLayer, secondLayerFolder);
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+ customElements.define('arbor-globals-editor', GlobalsEditor);
63
+ //# sourceMappingURL=GlobalsEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalsEditor.js","sourceRoot":"","sources":["../../../src/runtime/components/GlobalsEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ModeSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeSelector.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/ModeSelector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { ArborElement } from './BaseElement.js';
2
+ class ModeSelector extends ArborElement {
3
+ constructor() {
4
+ super();
5
+ this.render = () => {
6
+ const modeNames = Object.keys(this.config.modes);
7
+ const selected = this.getAttribute('selected') || 'base';
8
+ this.shadowRoot.innerHTML = `<div data-mode-${selected}>
9
+ <select data-mode-select name="mode" aria-label="Select mode" style="position: sticky; top: 16px;">
10
+ ${modeNames
11
+ .map((modeName) => `<option value="${modeName}" ${modeName === selected ? 'selected' : ''}>${modeName}</option>`)
12
+ .join('\n')}
13
+ </select>
14
+ <slot></slot>
15
+ </div>`;
16
+ const modeSelect = this.shadowRoot?.querySelector('[data-mode-select]');
17
+ modeSelect?.addEventListener('change', () => {
18
+ const selectedMode = modeSelect.value;
19
+ this.setAttribute('selected', selectedMode);
20
+ });
21
+ };
22
+ this.render();
23
+ }
24
+ static get observedAttributes() {
25
+ return ['selected'];
26
+ }
27
+ attributeChangedCallback(name, oldValue, newValue) {
28
+ if (name === 'selected' && oldValue !== newValue) {
29
+ this.render();
30
+ }
31
+ }
32
+ }
33
+ customElements.define('arbor-mode-selector', ModeSelector);
34
+ //# sourceMappingURL=ModeSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeSelector.js","sourceRoot":"","sources":["../../../src/runtime/components/ModeSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,YAAa,SAAQ,YAAY;IACtC;QACC,KAAK,EAAE,CAAC;QAIT,WAAM,GAAG,GAAG,EAAE;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,kBAAkB,QAAQ;;MAElD,SAAS;iBACT,GAAG,CACH,CAAC,QAAQ,EAAE,EAAE,CACZ,kBAAkB,QAAQ,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,WAAW,CAC9F;iBACA,IAAI,CAAC,IAAI,CAAC;;;SAGP,CAAC;YACR,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAChD,oBAAoB,CACQ,CAAC;YAC9B,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;QAxBD,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAwBD,MAAM,KAAK,kBAAkB;QAC5B,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;IACD,wBAAwB,CACvB,IAAY,EACZ,QAAuB,EACvB,QAAuB;QAEvB,IAAI,IAAI,KAAK,UAAU,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;IACF,CAAC;CACD;AAED,cAAc,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ModeTokenValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeTokenValues.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/ModeTokenValues.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ModeTokenValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeTokenValues.js","sourceRoot":"","sources":["../../../src/runtime/components/ModeTokenValues.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PrimitiveTokenValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveTokenValues.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/PrimitiveTokenValues.ts"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ import { getConfig } from '../registration.js';
2
+ import { groupTokens } from '../tokenGroups.js';
3
+ class TokenValues extends HTMLElement {
4
+ constructor() {
5
+ super();
6
+ const config = getConfig();
7
+ const schemaPath = this.getAttribute('schemaPath');
8
+ const schemaPathParts = schemaPath ? schemaPath.split('.') : [];
9
+ const tokenSchema = schemaPathParts.reduce((acc, part) => acc?.[part], config);
10
+ const tokens = groupTokens(tokenSchema);
11
+ this.attachShadow({ mode: 'open' }).innerHTML = `
12
+ <div class="root">
13
+ ${Object.entries(tokens.simple)
14
+ .map(([purpose, tokens]) => `<div class="token-group">
15
+ <h3>${purpose}</h3>
16
+ <div class="token-values">
17
+ ${tokens
18
+ .map((token) => {
19
+ return `
20
+ <div class="token-value">
21
+ <strong>${token.name}</strong>
22
+ <arbor-token-value-preview value="${token.var}" purpose="${token.purpose}"></arbor-token-value-preview>
23
+ </div>`;
24
+ })
25
+ .join('\n')}
26
+ </div>
27
+ </div>`)
28
+ .join('\n')}
29
+ <div class="token-group">
30
+ <h3>Typography</h3>
31
+ <div class="token-values">
32
+ ${Object.entries(tokens.typography)
33
+ .map(([level, { size, weight, lineHeight }]) => {
34
+ const sizeVar = size ? size.var : 'unknown';
35
+ const weightVar = weight ? weight.var : 'unknown';
36
+ const lineHeightVar = lineHeight ? lineHeight.var : 'unknown';
37
+ return `
38
+ <div class="token-value">
39
+ <div>
40
+ <strong>${level}</strong>
41
+ <div>size: ${sizeVar}</div>
42
+ <div>weight: ${weightVar}</div>
43
+ <div>line-height: ${lineHeightVar}</div>
44
+ </div>
45
+ <arbor-token-font-values-preview size="${sizeVar}" weight="${weightVar}" line-height="${lineHeightVar}"></arbor-token-font-values-preview>
46
+ </div>
47
+ `;
48
+ })
49
+ .join('\n')}
50
+ </div>
51
+ </div>
52
+ </div>
53
+ <style>
54
+ .root {
55
+ display: flex;
56
+ flex-direction: column;
57
+ gap: 0.25rem;
58
+ }
59
+ .token-group {
60
+ margin-bottom: 2rem;
61
+ background-color: white;
62
+ border: 1px solid black;
63
+ padding: 0.25rem;
64
+ }
65
+ .token-values {
66
+ display: grid;
67
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
68
+ gap: 0.125rem;
69
+ }
70
+ .token-value {
71
+ display: flex;
72
+ flex-direction: row;
73
+ align-items: center;
74
+ justify-content: space-between;
75
+ padding: 0.2rem;
76
+ }
77
+ </style>
78
+ `;
79
+ }
80
+ }
81
+ customElements.define('arbor-token-values', TokenValues);
82
+ //# sourceMappingURL=PrimitiveTokenValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveTokenValues.js","sourceRoot":"","sources":["../../../src/runtime/components/PrimitiveTokenValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAY,SAAQ,WAAW;IACpC;QACC,KAAK,EAAE,CAAC;QAER,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAC1B,MAAa,CACb,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG;;MAE5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aAC7B,GAAG,CACH,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CACrB;cACO,OAAO;;UAEX,MAAM;aACN,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,OAAO;;qBAEI,KAAK,CAAC,IAAI;+CACgB,KAAK,CAAC,GAAG,cAAc,KAAK,CAAC,OAAO;iBAClE,CAAC;QACT,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC;;cAEN,CACR;aACA,IAAI,CAAC,IAAI,CAAC;;;;QAIR,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAClD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,OAAO;;;qBAGM,KAAK;wBACF,OAAO;0BACL,SAAS;+BACJ,aAAa;;mDAEO,OAAO,aAAa,SAAS,kBAAkB,aAAa;;SAEtG,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6Bf,CAAC;IACH,CAAC;CACD;AAED,cAAc,CAAC,MAAM,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SchemeSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemeSelector.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/SchemeSelector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { ArborElement } from './BaseElement.js';
2
+ class SchemeSelector extends ArborElement {
3
+ constructor() {
4
+ super();
5
+ this.render = () => {
6
+ const schemeNames = Object.keys(this.config.primitives.colors);
7
+ const selected = this.getAttribute('selected') || 'base';
8
+ this.shadowRoot.innerHTML = `<div data-scheme-${selected}>
9
+ <select data-scheme-select name="scheme" aria-label="Select scheme" style="position: sticky; top: 0;">
10
+ ${schemeNames
11
+ .map((schemeName) => `<option value="${schemeName}" ${schemeName === selected ? 'selected' : ''}>${schemeName}</option>`)
12
+ .join('\n')}
13
+ </select>
14
+ <slot></slot>
15
+ </div>`;
16
+ const modeSelect = this.shadowRoot?.querySelector('[data-scheme-select]');
17
+ modeSelect?.addEventListener('change', () => {
18
+ const selectedMode = modeSelect.value;
19
+ this.setAttribute('selected', selectedMode);
20
+ });
21
+ };
22
+ this.render();
23
+ }
24
+ static get observedAttributes() {
25
+ return ['selected'];
26
+ }
27
+ attributeChangedCallback(name, oldValue, newValue) {
28
+ if (name === 'selected' && oldValue !== newValue) {
29
+ this.render();
30
+ }
31
+ }
32
+ }
33
+ customElements.define('arbor-scheme-selector', SchemeSelector);
34
+ //# sourceMappingURL=SchemeSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemeSelector.js","sourceRoot":"","sources":["../../../src/runtime/components/SchemeSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,cAAe,SAAQ,YAAY;IACxC;QACC,KAAK,EAAE,CAAC;QAIT,WAAM,GAAG,GAAG,EAAE;YACb,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC;YACzD,IAAI,CAAC,UAAW,CAAC,SAAS,GAAG,oBAAoB,QAAQ;;MAErD,WAAW;iBACX,GAAG,CACH,CAAC,UAAU,EAAE,EAAE,CACd,kBAAkB,UAAU,KAAK,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,WAAW,CACpG;iBACA,IAAI,CAAC,IAAI,CAAC;;;SAGP,CAAC;YACR,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAChD,sBAAsB,CACM,CAAC;YAC9B,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;QAxBD,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAwBD,MAAM,KAAK,kBAAkB;QAC5B,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;IACD,wBAAwB,CACvB,IAAY,EACZ,QAAuB,EACvB,QAAuB;QAEvB,IAAI,IAAI,KAAK,UAAU,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;IACF,CAAC;CACD;AAED,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Shadows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shadows.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/Shadows.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { isToken } from '@arbor-css/tokens';
2
+ import { getConfig } from '../registration.js';
3
+ class Shadows extends HTMLElement {
4
+ constructor() {
5
+ super();
6
+ const config = getConfig();
7
+ const shadows = config.primitives.$tokens.shadows;
8
+ if (isToken(shadows)) {
9
+ throw new Error(`Shadows is not a valid token range (it's an individual token)`);
10
+ }
11
+ this.attachShadow({ mode: 'open' }).innerHTML = `
12
+ <div>
13
+ ${Object.keys(shadows)
14
+ .map((key) => {
15
+ const value = shadows[key];
16
+ if (!isToken(value)) {
17
+ throw new Error(`Shadow level "${key}" is not a valid token`);
18
+ }
19
+ return `<div class="shadow-sample" style="box-shadow: ${value.var}; margin: 1rem; padding: 1rem;">${key}</div>`;
20
+ })
21
+ .join('\n')}
22
+ </div>
23
+ `;
24
+ }
25
+ }
26
+ customElements.define('arbor-shadows', Shadows);
27
+ //# sourceMappingURL=Shadows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shadows.js","sourceRoot":"","sources":["../../../src/runtime/components/Shadows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,OAAQ,SAAQ,WAAW;IAChC;QACC,KAAK,EAAE,CAAC;QAER,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QAElD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG;;MAE5C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,iDAAiD,KAAK,CAAC,GAAG,mCAAmC,GAAG,QAAQ,CAAC;QACjH,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC;;GAEb,CAAC;IACH,CAAC;CACD;AAED,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Spacing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spacing.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/Spacing.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { isToken } from '@arbor-css/tokens';
2
+ import { getConfig } from '../registration.js';
3
+ class Spacing extends HTMLElement {
4
+ constructor() {
5
+ super();
6
+ const config = getConfig();
7
+ const spacing = config.primitives.$tokens.spacing;
8
+ if (isToken(spacing)) {
9
+ throw new Error(`Spacing is not a valid token range (it's an individual token)`);
10
+ }
11
+ this.attachShadow({ mode: 'open' }).innerHTML = `
12
+ <div>
13
+ ${Object.keys(spacing)
14
+ .map((key) => {
15
+ const value = spacing[key];
16
+ if (!isToken(value)) {
17
+ throw new Error(`Spacing level "${key}" is not a valid token`);
18
+ }
19
+ return `<div class="spacing-sample" style="padding: ${value.var}; background-color: #eee; margin-bottom: 0.5rem;">${key}: ${value.var}</div>`;
20
+ })
21
+ .join('\n')}
22
+ </div>
23
+ `;
24
+ }
25
+ }
26
+ customElements.define('arbor-spacing', Spacing);
27
+ //# sourceMappingURL=Spacing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spacing.js","sourceRoot":"","sources":["../../../src/runtime/components/Spacing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,OAAQ,SAAQ,WAAW;IAChC;QACC,KAAK,EAAE,CAAC;QAER,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QAElD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG;;MAE5C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,wBAAwB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,+CAA+C,KAAK,CAAC,GAAG,qDAAqD,GAAG,KAAK,KAAK,CAAC,GAAG,QAAQ,CAAC;QAC/I,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC;;GAEb,CAAC;IACH,CAAC;CACD;AAED,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SystemDemo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemDemo.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/SystemDemo.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { isToken } from '@arbor-css/tokens';
2
+ import { generateStylesheet } from '../../stylesheet/generateStylesheet.js';
3
+ import { convertStructure } from '../../util/convertStructure.js';
4
+ import { ArborElement } from './BaseElement.js';
5
+ class SystemDemo extends ArborElement {
6
+ constructor() {
7
+ super();
8
+ this.shadowRoot.innerHTML = `
9
+ <div data-mode-base>
10
+ <details>
11
+ <summary>Primitive Tokens</summary>
12
+ <pre>${JSON.stringify(convertStructure(this.config.primitives.$tokens, isToken, (token) => token.name), null, 2)}</pre>
13
+ </details>
14
+ <details>
15
+ <summary>Mode Tokens</summary>
16
+ <pre>${JSON.stringify(convertStructure(this.config.modes.base.schema.$tokens, isToken, (token) => token.name), null, 2)}</pre>
17
+ </details>
18
+ <details>
19
+ <summary>Generated CSS</summary>
20
+ <pre>${generateStylesheet(this.config)}</pre>
21
+ </details>
22
+ <arbor-scheme-selector>
23
+ <details open>
24
+ <summary><h2 id="primitives" style="display: inline; margin: 0;">Primitive Tokens</h2></summary>
25
+ <arbor-token-values schema-path="primitives.$tokens"></arbor-token-values>
26
+ </details>
27
+ <details open>
28
+ <summary><h2 id="modes" style="display: inline; margin: 0;">Mode Tokens</h2></summary>
29
+ <arbor-mode-selector>
30
+ <arbor-token-values schema-path="modes.base.schema.$tokens"></arbor-token-values>
31
+ </arbor-mode-selector>
32
+ </details>
33
+ </arbor-scheme-selector>
34
+ </div>
35
+ <style>
36
+ h2 {
37
+ font-size: 1.5rem;
38
+ margin-bottom: 0.5rem;
39
+ }
40
+ </style>
41
+ `;
42
+ }
43
+ }
44
+ customElements.define('arbor-system-demo', SystemDemo);
45
+ //# sourceMappingURL=SystemDemo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemDemo.js","sourceRoot":"","sources":["../../../src/runtime/components/SystemDemo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,UAAW,SAAQ,YAAY;IACpC;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG;;;;YAIlB,IAAI,CAAC,SAAS,CACpB,gBAAgB,CACf,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAC9B,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CACrB,EACD,IAAI,EACJ,CAAC,CACD;;;;YAIM,IAAI,CAAC,SAAS,CACpB,gBAAgB,CACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EACrC,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CACrB,EACD,IAAI,EACJ,CAAC,CACD;;;;YAIM,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;GAqBxC,CAAC;IACH,CAAC;CACD;AAED,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TokenColorValuePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenColorValuePreview.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/TokenColorValuePreview.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { ArborElement } from './BaseElement.js';
2
+ class TokenColorValuePreview extends ArborElement {
3
+ constructor() {
4
+ super();
5
+ const color = this.getAttribute('color') ?? 'unknown';
6
+ this.shadowRoot.innerHTML = `
7
+ <div style="width: 50px; height: 50px; background: ${color}; border: 1px solid black; border-radius: 1rem;"></div>
8
+ `;
9
+ }
10
+ }
11
+ customElements.define('arbor-token-color-value-preview', TokenColorValuePreview);
12
+ //# sourceMappingURL=TokenColorValuePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenColorValuePreview.js","sourceRoot":"","sources":["../../../src/runtime/components/TokenColorValuePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,sBAAuB,SAAQ,YAAY;IAChD;QACC,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG;wDAC0B,KAAK;GAC1D,CAAC;IACH,CAAC;CACD;AACD,cAAc,CAAC,MAAM,CACpB,iCAAiC,EACjC,sBAAsB,CACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TokenFontValuesPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenFontValuesPreview.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/TokenFontValuesPreview.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { ArborElement } from './BaseElement.js';
2
+ class TokenFontValuesPreview extends ArborElement {
3
+ constructor() {
4
+ super();
5
+ const size = this.getAttribute('size') ?? 'unknown';
6
+ const weight = this.getAttribute('weight') ?? 'normal';
7
+ const lineHeight = this.getAttribute('line-height') ?? 'normal';
8
+ this.shadowRoot.innerHTML = `
9
+ <div style="font-size: ${size}; font-weight: ${weight}; line-height: ${lineHeight}; border: 1px solid black; padding: 0.5rem;">Aa</div>
10
+ `;
11
+ }
12
+ }
13
+ customElements.define('arbor-token-font-values-preview', TokenFontValuesPreview);
14
+ //# sourceMappingURL=TokenFontValuesPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenFontValuesPreview.js","sourceRoot":"","sources":["../../../src/runtime/components/TokenFontValuesPreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,sBAAuB,SAAQ,YAAY;IAChD;QACC,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG;4BACF,IAAI,kBAAkB,MAAM,kBAAkB,UAAU;GACjF,CAAC;IACH,CAAC;CACD;AACD,cAAc,CAAC,MAAM,CACpB,iCAAiC,EACjC,sBAAsB,CACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TokenShadowValuePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenShadowValuePreview.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/TokenShadowValuePreview.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { ArborElement } from './BaseElement.js';
2
+ class ShadowValuePreview extends ArborElement {
3
+ constructor() {
4
+ super();
5
+ const shadow = this.getAttribute('shadow') ?? 'none';
6
+ this.shadowRoot.innerHTML = `
7
+ <div style="padding: 20px; display: flex;">
8
+ <div style="place-self: center; width: 20px; height: 20px; background: white; border: 1px solid black; box-shadow: ${shadow};"></div>
9
+ </div>
10
+ `;
11
+ }
12
+ }
13
+ customElements.define('arbor-token-shadow-value-preview', ShadowValuePreview);
14
+ //# sourceMappingURL=TokenShadowValuePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenShadowValuePreview.js","sourceRoot":"","sources":["../../../src/runtime/components/TokenShadowValuePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,kBAAmB,SAAQ,YAAY;IAC5C;QACC,KAAK,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG;;wHAE0F,MAAM;;GAE3H,CAAC;IACH,CAAC;CACD;AACD,cAAc,CAAC,MAAM,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TokenSizeValuePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenSizeValuePreview.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/TokenSizeValuePreview.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { ArborElement } from './BaseElement.js';
2
+ class TokenSizeValuePreview extends ArborElement {
3
+ constructor() {
4
+ super();
5
+ const size = this.getAttribute('size') ?? 'unknown';
6
+ this.shadowRoot.innerHTML = `
7
+ <div style="width: ${size}; height: ${size}; border: 1px solid black;"></div>
8
+ `;
9
+ }
10
+ }
11
+ customElements.define('arbor-token-size-value-preview', TokenSizeValuePreview);
12
+ //# sourceMappingURL=TokenSizeValuePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenSizeValuePreview.js","sourceRoot":"","sources":["../../../src/runtime/components/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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TokenValuePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenValuePreview.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/TokenValuePreview.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { ArborElement } from './BaseElement.js';
2
+ class TokenValuePreview extends ArborElement {
3
+ constructor() {
4
+ super();
5
+ const value = this.getAttribute('value');
6
+ const purpose = this.getAttribute('purpose');
7
+ let preview;
8
+ switch (purpose) {
9
+ case 'color':
10
+ preview = `<arbor-token-color-value-preview color="${value}"></arbor-token-color-value-preview>`;
11
+ break;
12
+ case 'spacing':
13
+ preview = `<arbor-token-size-value-preview size="${value}"></arbor-token-size-value-preview>`;
14
+ break;
15
+ case 'shadow':
16
+ preview = `<arbor-token-shadow-value-preview shadow="${value}"></arbor-token-shadow-value-preview>`;
17
+ break;
18
+ default:
19
+ preview = `<div style="width: 50px; height: 50px; border: 1px solid black; display: flex; align-items: center; justify-content: center;">?</div>`;
20
+ }
21
+ this.shadowRoot.innerHTML = preview;
22
+ }
23
+ }
24
+ customElements.define('arbor-token-value-preview', TokenValuePreview);
25
+ //# sourceMappingURL=TokenValuePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenValuePreview.js","sourceRoot":"","sources":["../../../src/runtime/components/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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TokenValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenValues.d.ts","sourceRoot":"","sources":["../../../src/runtime/components/TokenValues.ts"],"names":[],"mappings":""}