@origostudio/origo-design 0.0.0 → 0.0.25

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 (176) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/packages/angular-renderer/CHANGELOG.md +292 -0
  3. package/dist/packages/angular-renderer/README.md +11 -0
  4. package/dist/packages/angular-renderer/package.json +24 -0
  5. package/dist/packages/angular-renderer/src/adapters/web/adapter.d.ts +20 -0
  6. package/dist/packages/angular-renderer/src/adapters/web/adapter.js +140 -0
  7. package/dist/packages/angular-renderer/src/adapters/web/adapter.js.map +1 -0
  8. package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.d.ts +4 -0
  9. package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.js +33 -0
  10. package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.js.map +1 -0
  11. package/dist/packages/angular-renderer/src/components/primitives/button/button.component.d.ts +26 -0
  12. package/dist/packages/angular-renderer/src/components/primitives/button/button.component.js +63 -0
  13. package/dist/packages/angular-renderer/src/components/primitives/button/button.component.js.map +1 -0
  14. package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.d.ts +30 -0
  15. package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.js +72 -0
  16. package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.js.map +1 -0
  17. package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.d.ts +21 -0
  18. package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.js +76 -0
  19. package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.js.map +1 -0
  20. package/dist/packages/angular-renderer/src/index.d.ts +7 -0
  21. package/dist/packages/angular-renderer/src/index.js +11 -0
  22. package/dist/packages/angular-renderer/src/index.js.map +1 -0
  23. package/dist/packages/angular-renderer/src/lib/renderer.component.d.ts +12 -0
  24. package/dist/packages/angular-renderer/src/lib/renderer.component.js +114 -0
  25. package/dist/packages/angular-renderer/src/lib/renderer.component.js.map +1 -0
  26. package/dist/packages/angular-renderer/src/lib/renderer.tokens.d.ts +2 -0
  27. package/dist/packages/angular-renderer/src/lib/renderer.tokens.js +9 -0
  28. package/dist/packages/angular-renderer/src/lib/renderer.tokens.js.map +1 -0
  29. package/dist/packages/angular-renderer/src/lib/theme.provider.d.ts +13 -0
  30. package/dist/packages/angular-renderer/src/lib/theme.provider.js +77 -0
  31. package/dist/packages/angular-renderer/src/lib/theme.provider.js.map +1 -0
  32. package/dist/packages/cli/CHANGELOG.md +24 -0
  33. package/dist/packages/cli/package.json +8 -4
  34. package/dist/packages/cli/package.json.bak +8 -4
  35. package/dist/packages/core/CHANGELOG.md +18 -0
  36. package/dist/packages/core/package.json +5 -1
  37. package/dist/packages/core/package.json.bak +5 -1
  38. package/dist/packages/design-tokens/CHANGELOG.md +291 -0
  39. package/dist/packages/design-tokens/README.md +11 -0
  40. package/dist/packages/design-tokens/package.json +29 -0
  41. package/dist/packages/design-tokens/src/build.d.ts +2 -0
  42. package/dist/packages/design-tokens/src/build.js +89 -0
  43. package/dist/packages/design-tokens/src/build.js.map +1 -0
  44. package/dist/packages/design-tokens/src/compile.d.ts +1 -0
  45. package/dist/packages/design-tokens/src/compile.js +51 -0
  46. package/dist/packages/design-tokens/src/compile.js.map +1 -0
  47. package/dist/packages/design-tokens/src/index.d.ts +6 -0
  48. package/dist/packages/design-tokens/src/index.js +14 -0
  49. package/dist/packages/design-tokens/src/index.js.map +1 -0
  50. package/dist/packages/design-tokens/src/runtime/index.d.ts +2 -0
  51. package/dist/packages/design-tokens/src/runtime/index.js +6 -0
  52. package/dist/packages/design-tokens/src/runtime/index.js.map +1 -0
  53. package/dist/packages/design-tokens/src/runtime/theme-fetcher.d.ts +19 -0
  54. package/dist/packages/design-tokens/src/runtime/theme-fetcher.js +87 -0
  55. package/dist/packages/design-tokens/src/runtime/theme-fetcher.js.map +1 -0
  56. package/dist/packages/design-tokens/src/runtime/theme-injector.d.ts +11 -0
  57. package/dist/packages/design-tokens/src/runtime/theme-injector.js +131 -0
  58. package/dist/packages/design-tokens/src/runtime/theme-injector.js.map +1 -0
  59. package/dist/packages/design-tokens/src/schemas/base-tokens.schema.json +127 -0
  60. package/dist/packages/design-tokens/src/schemas/semantic-tokens.schema.json +52 -0
  61. package/dist/packages/design-tokens/src/tokens/base.json +46 -0
  62. package/dist/packages/design-tokens/src/tokens/semantic.json +33 -0
  63. package/dist/packages/design-tokens/tokens.css +1 -0
  64. package/dist/packages/design-tokens/tokens.d.ts +2 -0
  65. package/dist/packages/design-tokens/tokens.js +15 -0
  66. package/dist/packages/design-tokens/tokens.json +15 -0
  67. package/dist/packages/playground/browser/chunk--ZIwbUVH.js +2 -0
  68. package/dist/packages/playground/browser/chunk-0Jq1XgT-.js +1 -0
  69. package/dist/packages/playground/browser/chunk-1uGHBWUl.js +2 -0
  70. package/dist/packages/playground/browser/chunk-1vJMDD28.js +1 -0
  71. package/dist/packages/playground/browser/chunk-2TRTBDNJ.css +1 -0
  72. package/dist/packages/playground/browser/chunk-2ZxrbTaV.js +2 -0
  73. package/dist/packages/playground/browser/chunk-5S3Ucu1S.js +1 -0
  74. package/dist/packages/playground/browser/chunk-5xxumr1i.js +1 -0
  75. package/dist/packages/playground/browser/chunk-BBrBwFOI.js +2 -0
  76. package/dist/packages/playground/browser/chunk-BEZqMFun.js +1 -0
  77. package/dist/packages/playground/browser/chunk-BFTF7KVs.js +2 -0
  78. package/dist/packages/playground/browser/chunk-BFpktVlP.js +2 -0
  79. package/dist/packages/playground/browser/chunk-BGi1R-SY.js +2 -0
  80. package/dist/packages/playground/browser/chunk-BIdEsw7t.js +1 -0
  81. package/dist/packages/playground/browser/chunk-BIsevC4o.js +11 -0
  82. package/dist/packages/playground/browser/chunk-BJJI5OBC.js +1 -0
  83. package/dist/packages/playground/browser/chunk-BMMWqLA2.js +11 -0
  84. package/dist/packages/playground/browser/chunk-BNmq5gH8.js +2 -0
  85. package/dist/packages/playground/browser/chunk-BSUcqh0e.js +2 -0
  86. package/dist/packages/playground/browser/chunk-BUAY-bBJ.js +1 -0
  87. package/dist/packages/playground/browser/chunk-BY0EamUN.js +1 -0
  88. package/dist/packages/playground/browser/chunk-BZXiyyqI.js +1 -0
  89. package/dist/packages/playground/browser/chunk-BdS5C-M6.js +1 -0
  90. package/dist/packages/playground/browser/chunk-Bel35N-r.js +2 -0
  91. package/dist/packages/playground/browser/chunk-BkTdbZxu.js +2 -0
  92. package/dist/packages/playground/browser/chunk-BmW8ut-l.js +1 -0
  93. package/dist/packages/playground/browser/chunk-BpPwZMYf.js +3 -0
  94. package/dist/packages/playground/browser/chunk-BsdU_5PG.js +1 -0
  95. package/dist/packages/playground/browser/chunk-BvXhI91k.js +1 -0
  96. package/dist/packages/playground/browser/chunk-BzHgR45y.js +2 -0
  97. package/dist/packages/playground/browser/chunk-BzgTGdjm.js +2 -0
  98. package/dist/packages/playground/browser/chunk-BzrJLr3a.js +2 -0
  99. package/dist/packages/playground/browser/chunk-C-NXORcv.js +1 -0
  100. package/dist/packages/playground/browser/chunk-C34sJvtc.js +2 -0
  101. package/dist/packages/playground/browser/chunk-C6xrdnvb.js +3 -0
  102. package/dist/packages/playground/browser/chunk-CAL7uT4C.js +2 -0
  103. package/dist/packages/playground/browser/chunk-CCox_Mu7.js +2 -0
  104. package/dist/packages/playground/browser/chunk-CHh1yOT3.js +4 -0
  105. package/dist/packages/playground/browser/chunk-CIQb4Ujf.js +3 -0
  106. package/dist/packages/playground/browser/chunk-CJnVxlgo.js +2 -0
  107. package/dist/packages/playground/browser/chunk-CKSXClbP.js +2 -0
  108. package/dist/packages/playground/browser/chunk-COud3SuE.js +2 -0
  109. package/dist/packages/playground/browser/chunk-CTbwb8L3.js +1 -0
  110. package/dist/packages/playground/browser/chunk-CVYmfeCG.js +2 -0
  111. package/dist/packages/playground/browser/chunk-CYWkyKkM.js +1 -0
  112. package/dist/packages/playground/browser/chunk-C_O66ZGh.js +1 -0
  113. package/dist/packages/playground/browser/chunk-ChenIXuo.js +2 -0
  114. package/dist/packages/playground/browser/chunk-Ckan68bh.js +1 -0
  115. package/dist/packages/playground/browser/chunk-CmNHsah5.js +1 -0
  116. package/dist/packages/playground/browser/chunk-CoZGn1Ke.js +1 -0
  117. package/dist/packages/playground/browser/chunk-Cyn20TR6.js +2 -0
  118. package/dist/packages/playground/browser/chunk-CzUkWye9.js +4 -0
  119. package/dist/packages/playground/browser/chunk-D17ySaZ8.js +2 -0
  120. package/dist/packages/playground/browser/chunk-D20p_ekH.js +2 -0
  121. package/dist/packages/playground/browser/chunk-D2lQJK03.js +2 -0
  122. package/dist/packages/playground/browser/chunk-D33JCpxV.js +2 -0
  123. package/dist/packages/playground/browser/chunk-DAmUeszn.js +1 -0
  124. package/dist/packages/playground/browser/chunk-DCp-nKTE.js +1 -0
  125. package/dist/packages/playground/browser/chunk-DDa2v189.js +1 -0
  126. package/dist/packages/playground/browser/chunk-DJi8XLUL.js +2 -0
  127. package/dist/packages/playground/browser/chunk-DNgZhwHt.js +2 -0
  128. package/dist/packages/playground/browser/chunk-DP4tO_m1.js +1 -0
  129. package/dist/packages/playground/browser/chunk-DQqEr5vX.js +1 -0
  130. package/dist/packages/playground/browser/chunk-DR7_0I-7.js +2 -0
  131. package/dist/packages/playground/browser/chunk-DWHFrUs5.js +2 -0
  132. package/dist/packages/playground/browser/chunk-DY4bY_Qa.js +2 -0
  133. package/dist/packages/playground/browser/chunk-DcWKTj51.js +1 -0
  134. package/dist/packages/playground/browser/chunk-Di17h8ti.js +1 -0
  135. package/dist/packages/playground/browser/chunk-Dim3RQJ1.js +2 -0
  136. package/dist/packages/playground/browser/chunk-DjcWDyIz.js +1 -0
  137. package/dist/packages/playground/browser/chunk-Dn5tZnjV.js +2 -0
  138. package/dist/packages/playground/browser/chunk-DoJEePI9.js +1 -0
  139. package/dist/packages/playground/browser/chunk-DogLDWZF.js +1 -0
  140. package/dist/packages/playground/browser/chunk-DqKmoBbd.js +2 -0
  141. package/dist/packages/playground/browser/chunk-DtJkNtkO.js +2 -0
  142. package/dist/packages/playground/browser/chunk-Du5eaEhO.js +1 -0
  143. package/dist/packages/playground/browser/chunk-DyBKnzx2.js +1 -0
  144. package/dist/packages/playground/browser/chunk-FQyDviof.js +2 -0
  145. package/dist/packages/playground/browser/chunk-IVtlz9Ng.js +2 -0
  146. package/dist/packages/playground/browser/chunk-RHAdGSf7.js +299 -0
  147. package/dist/packages/playground/browser/chunk-W7F2YCZ3.js +2 -0
  148. package/dist/packages/playground/browser/chunk-_46Kkn0W.js +2 -0
  149. package/dist/packages/playground/browser/chunk-gcokgbu8.js +2 -0
  150. package/dist/packages/playground/browser/chunk-kRrEPa7L.js +1 -0
  151. package/dist/packages/playground/browser/chunk-tvAnzeAI.js +1 -0
  152. package/dist/packages/playground/browser/chunk-zpnfat_1.js +2 -0
  153. package/dist/packages/playground/browser/favicon.ico +0 -0
  154. package/dist/packages/playground/browser/index.html +13 -0
  155. package/dist/packages/playground/browser/main-QW47GU6W.css +1 -0
  156. package/dist/packages/playground/browser/main-YL46L42N.js +711 -0
  157. package/dist/packages/playground/browser/media/codicon-37A3DWZT.ttf +0 -0
  158. package/dist/packages/playground/browser/styles-WT2FEGU3.css +1 -0
  159. package/dist/packages/playground/browser/worker-DK2HODYL.js +46 -0
  160. package/dist/packages/playground/browser/worker-HDML6OSX.js +14 -0
  161. package/dist/packages/playground/prerendered-routes.json +3 -0
  162. package/nx.json +1 -1
  163. package/package.json +4 -1
  164. package/packages/angular-renderer/CHANGELOG.md +18 -0
  165. package/packages/angular-renderer/package.json +7 -3
  166. package/packages/cli/CHANGELOG.md +24 -0
  167. package/packages/cli/package.json +8 -4
  168. package/packages/core/CHANGELOG.md +18 -0
  169. package/packages/core/package.json +5 -1
  170. package/packages/design-tokens/CHANGELOG.md +18 -0
  171. package/packages/design-tokens/package.json +6 -2
  172. package/packages/playground/CHANGELOG.md +18 -0
  173. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/_metadata.json +8 -0
  174. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/package.json +3 -0
  175. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  176. package/packages/playground/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-fetcher.js","sourceRoot":"","sources":["../../../../../packages/design-tokens/src/runtime/theme-fetcher.ts"],"names":[],"mappings":";;AAWA,gCAoBC;AAaD,gDA6CC;AAzFD,qDAA+C;AAE/C;;;;;;;;GAQG;AACI,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,sEAAsE;IACtE,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CACV,6CAA6C,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC9F,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,4CAA4C,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;AAC/C,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B;;;;;;;GAOG;AACI,KAAK,UAAU,kBAAkB,CACtC,GAAW,EACX,MAA2B;IAE3B,MAAM,MAAM,GAAG,EAAE,iBAAiB,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC;IACpC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,oBAAoB,GAAG,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,kBAAkB,GAAG,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,sBAAsB,GAAG,EAAE,CAAC;IAEhD,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3D,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ,GAAe,GAAG,EAAE;QAC9B,yBAAyB;IAC3B,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,gGAAgG;QAChG,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;YACxC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,4BAAW,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,QAAQ,GAAG,QAAQ,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YAClF,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9B,IAAI,CAAC;gBACH,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;YACD,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACtC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACpC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Parses and sanitises a flat or single-level-nested theme JSON object into
3
+ * a safe map of `token-key → CSS value`.
4
+ *
5
+ * - Keys are validated against a CSS identifier allowlist.
6
+ * - Values are validated against explicit CSS format patterns.
7
+ * - Prototype-poisoning keys (`__proto__`, `constructor`, `prototype`) are blocked.
8
+ * - Arrays are rejected at every nesting level.
9
+ */
10
+ export declare function parseTheme(themeJson: unknown): Record<string, string>;
11
+ export declare function injectTheme(themeJson: unknown, target?: HTMLElement | null): () => void;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseTheme = parseTheme;
4
+ exports.injectTheme = injectTheme;
5
+ /** CSS custom property name allowlist — alphanumeric, hyphens, underscores only */
6
+ const CSS_SAFE_KEY = /^[a-zA-Z0-9_-]+$/;
7
+ /** Keys that must never be set on a plain object to prevent prototype pollution */
8
+ const BLOCKED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
9
+ /**
10
+ * Allowed CSS value patterns for semantic token overrides.
11
+ * Validates concrete formats rather than relying solely on a denylist.
12
+ */
13
+ const SAFE_VALUE_PATTERNS = [
14
+ /^#[0-9a-fA-F]{3,8}$/, // hex colors: #fff, #ffffff, #ffffffaa
15
+ /^rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+(?:\s*,\s*[\d.]+)?\s*\)$/, // rgb / rgba
16
+ /^hsla?\(\s*[\d.]+\s*,\s*[\d.]+%\s*,\s*[\d.]+%(?:\s*,\s*[\d.]+)?\s*\)$/, // hsl / hsla
17
+ /^[\d.]+(?:px|rem|em|%|vh|vw|vmin|vmax|pt|ch|ex|fr|deg|rad|turn|ms|s)$/, // numeric with units
18
+ /^[\d.]+$/, // plain numbers (opacity, z-index, line-height)
19
+ /^[a-zA-Z][-a-zA-Z0-9]*$/, // CSS named values: red, transparent, inherit, currentColor, etc.
20
+ /^var\(--[a-zA-Z0-9_-]+\)$/, // CSS variables
21
+ /^calc\([^)]+\)$/, // CSS calc
22
+ /^clamp\([^)]+\)$/, // CSS clamp
23
+ /^(?:linear|radial|conic)-gradient\([^)]+\)$/, // CSS gradients
24
+ ];
25
+ function isSafeValue(value) {
26
+ return SAFE_VALUE_PATTERNS.some(pattern => pattern.test(value.trim()));
27
+ }
28
+ /**
29
+ * Parses and sanitises a flat or single-level-nested theme JSON object into
30
+ * a safe map of `token-key → CSS value`.
31
+ *
32
+ * - Keys are validated against a CSS identifier allowlist.
33
+ * - Values are validated against explicit CSS format patterns.
34
+ * - Prototype-poisoning keys (`__proto__`, `constructor`, `prototype`) are blocked.
35
+ * - Arrays are rejected at every nesting level.
36
+ */
37
+ function parseTheme(themeJson) {
38
+ if (!themeJson || typeof themeJson !== 'object' || Array.isArray(themeJson)) {
39
+ return {};
40
+ }
41
+ // Object.create(null) avoids prototype setter side-effects for any key written
42
+ const result = Object.create(null);
43
+ const flatten = (obj, prefix = '', depth = 0, visited = new WeakSet()) => {
44
+ if (depth > 1)
45
+ return; // Prevent arbitrary depth beyond single-level
46
+ if (visited.has(obj))
47
+ return; // Prevent circular reference crashes
48
+ visited.add(obj);
49
+ for (const key of Object.keys(obj)) {
50
+ if (BLOCKED_KEYS.has(key) || !CSS_SAFE_KEY.test(key))
51
+ continue;
52
+ const value = obj[key];
53
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
54
+ flatten(value, `${prefix}${key}-`, depth + 1, visited);
55
+ }
56
+ else if (typeof value === 'string' || typeof value === 'number') {
57
+ const strVal = String(value).trim();
58
+ const fullKey = `${prefix}${key}`;
59
+ // Block base token overrides, enforce semantic overrides
60
+ if (!fullKey.startsWith('base-') && isSafeValue(strVal)) {
61
+ result[fullKey] = strVal;
62
+ }
63
+ }
64
+ }
65
+ };
66
+ flatten(themeJson);
67
+ return result;
68
+ }
69
+ /**
70
+ * Applies a parsed theme to the DOM by injecting a `<style>` tag into
71
+ * `document.head` scoped to the target element.
72
+ *
73
+ * - When `target` is `document.documentElement` (the default), the style block
74
+ * targets `:root` for global override.
75
+ * - When `target` is any other element, the element receives a stable
76
+ * `data-origo-theme-id` attribute and the style block is scoped to that
77
+ * attribute selector, enabling per-subtree theme isolation.
78
+ * - Passing an empty or fully-invalid theme removes the previously injected
79
+ * style tag for that target rather than leaving stale rules.
80
+ * - Safe to call in SSR environments — returns immediately if `document` is
81
+ * not defined.
82
+ */
83
+ let nextTagId = 0;
84
+ function injectTheme(themeJson, target) {
85
+ // SSR guard — DOM APIs are not available in Node.js environments
86
+ if (typeof document === 'undefined')
87
+ return () => undefined;
88
+ const actualTarget = target === undefined ? document.documentElement : target;
89
+ if (!actualTarget)
90
+ return () => undefined;
91
+ const head = document.head || document.documentElement;
92
+ if (!head)
93
+ return () => undefined;
94
+ const parsed = parseTheme(themeJson);
95
+ // Determine the CSS selector and the style-tag attribute for this target
96
+ let selector;
97
+ let tagId;
98
+ if (actualTarget === document.documentElement) {
99
+ selector = ':root';
100
+ tagId = 'runtime';
101
+ }
102
+ else {
103
+ // Assign a stable per-element ID so repeated calls reuse the same tag
104
+ if (!actualTarget.dataset['origoThemeId']) {
105
+ actualTarget.dataset['origoThemeId'] = `t${++nextTagId}`;
106
+ }
107
+ tagId = actualTarget.dataset['origoThemeId'];
108
+ selector = `[data-origo-theme-id="${CSS.escape(tagId)}"]`;
109
+ }
110
+ let styleTag = head.querySelector(`style[data-origo-theme="${CSS.escape(tagId)}"]`);
111
+ // Empty theme → remove the style tag to prevent stale overrides
112
+ if (Object.keys(parsed).length === 0) {
113
+ styleTag?.remove();
114
+ return () => undefined;
115
+ }
116
+ if (!styleTag) {
117
+ styleTag = document.createElement('style');
118
+ styleTag.setAttribute('data-origo-theme', tagId);
119
+ head.appendChild(styleTag);
120
+ }
121
+ let cssVariables = '';
122
+ for (const [key, value] of Object.entries(parsed)) {
123
+ cssVariables += ` --origo-${key}: ${value};\n`;
124
+ }
125
+ styleTag.textContent = `${selector} {\n${cssVariables}}\n`;
126
+ // Return a teardown function to clean up scoped injections
127
+ return () => {
128
+ styleTag?.remove();
129
+ };
130
+ }
131
+ //# sourceMappingURL=theme-injector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-injector.js","sourceRoot":"","sources":["../../../../../packages/design-tokens/src/runtime/theme-injector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://origo.dev/schemas/base-tokens.schema.json",
4
+ "title": "Origo Base Tokens Schema",
5
+ "description": "JSON Schema for Origo Base Tokens",
6
+ "type": "object",
7
+ "patternProperties": {
8
+ "^[^$][a-zA-Z0-9_\\-]*$": {
9
+ "$ref": "#/$defs/tokenOrGroup"
10
+ }
11
+ },
12
+ "additionalProperties": false,
13
+ "$defs": {
14
+ "tokenOrGroup": {
15
+ "anyOf": [{ "$ref": "#/$defs/token" }, { "$ref": "#/$defs/tokenGroup" }]
16
+ },
17
+ "token": {
18
+ "type": "object",
19
+ "properties": {
20
+ "$value": {
21
+ "type": ["string", "number", "object", "array", "boolean"]
22
+ },
23
+ "$type": {
24
+ "type": "string",
25
+ "enum": [
26
+ "color",
27
+ "dimension",
28
+ "fontFamily",
29
+ "fontWeight",
30
+ "duration",
31
+ "cubicBezier",
32
+ "number",
33
+ "shadow",
34
+ "strokeStyle",
35
+ "border",
36
+ "transition",
37
+ "typography",
38
+ "spacing",
39
+ "borderRadius",
40
+ "elevation",
41
+ "animation",
42
+ "motion",
43
+ "breakpoints",
44
+ "opacity",
45
+ "density"
46
+ ]
47
+ },
48
+ "$description": {
49
+ "type": "string"
50
+ }
51
+ },
52
+ "required": ["$value"],
53
+ "additionalProperties": false,
54
+ "allOf": [
55
+ {
56
+ "if": { "properties": { "$type": { "const": "typography" } }, "required": ["$type"] },
57
+ "then": { "properties": { "$value": { "$ref": "#/$defs/typographyValue" } } }
58
+ },
59
+ {
60
+ "if": { "properties": { "$type": { "const": "shadow" } }, "required": ["$type"] },
61
+ "then": { "properties": { "$value": { "$ref": "#/$defs/shadowValue" } } }
62
+ },
63
+ {
64
+ "if": { "properties": { "$type": { "const": "border" } }, "required": ["$type"] },
65
+ "then": { "properties": { "$value": { "$ref": "#/$defs/borderValue" } } }
66
+ }
67
+ ]
68
+ },
69
+ "tokenGroup": {
70
+ "type": "object",
71
+ "properties": {
72
+ "$type": {
73
+ "type": "string"
74
+ },
75
+ "$description": {
76
+ "type": "string"
77
+ }
78
+ },
79
+ "patternProperties": {
80
+ "^[^$][a-zA-Z0-9_\\-]*$": {
81
+ "$ref": "#/$defs/tokenOrGroup"
82
+ }
83
+ },
84
+ "additionalProperties": false
85
+ },
86
+ "typographyValue": {
87
+ "type": "object",
88
+ "properties": {
89
+ "fontFamily": { "type": "string" },
90
+ "fontSize": { "type": ["string", "number"] },
91
+ "fontWeight": { "type": ["string", "number"] },
92
+ "letterSpacing": { "type": ["string", "number"] },
93
+ "lineHeight": { "type": ["string", "number"] }
94
+ },
95
+ "required": ["fontFamily", "fontSize"],
96
+ "additionalProperties": false
97
+ },
98
+ "shadowValue": {
99
+ "anyOf": [
100
+ { "$ref": "#/$defs/singleShadowValue" },
101
+ { "type": "array", "items": { "$ref": "#/$defs/singleShadowValue" } }
102
+ ]
103
+ },
104
+ "singleShadowValue": {
105
+ "type": "object",
106
+ "properties": {
107
+ "color": { "type": "string" },
108
+ "offsetX": { "type": ["string", "number"] },
109
+ "offsetY": { "type": ["string", "number"] },
110
+ "blur": { "type": ["string", "number"] },
111
+ "spread": { "type": ["string", "number"] }
112
+ },
113
+ "required": ["color", "offsetX", "offsetY"],
114
+ "additionalProperties": false
115
+ },
116
+ "borderValue": {
117
+ "type": "object",
118
+ "properties": {
119
+ "color": { "type": "string" },
120
+ "width": { "type": ["string", "number"] },
121
+ "style": { "type": "string" }
122
+ },
123
+ "required": ["color", "width", "style"],
124
+ "additionalProperties": false
125
+ }
126
+ }
127
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://origo.dev/schemas/semantic-tokens.schema.json",
4
+ "title": "Origo Semantic Tokens Schema",
5
+ "description": "JSON Schema for Origo Semantic Tokens (ensures references)",
6
+ "type": "object",
7
+ "patternProperties": {
8
+ "^[^$][a-zA-Z0-9_\\-]*$": {
9
+ "$ref": "#/$defs/tokenOrGroup"
10
+ }
11
+ },
12
+ "additionalProperties": false,
13
+ "$defs": {
14
+ "tokenOrGroup": {
15
+ "anyOf": [{ "$ref": "#/$defs/token" }, { "$ref": "#/$defs/tokenGroup" }]
16
+ },
17
+ "token": {
18
+ "type": "object",
19
+ "properties": {
20
+ "$value": {
21
+ "type": "string",
22
+ "pattern": "^.*\\{[a-zA-Z0-9_\\-\\.]+\\}.*$"
23
+ },
24
+ "$type": {
25
+ "type": "string"
26
+ },
27
+ "$description": {
28
+ "type": "string"
29
+ }
30
+ },
31
+ "required": ["$value"],
32
+ "additionalProperties": false
33
+ },
34
+ "tokenGroup": {
35
+ "type": "object",
36
+ "properties": {
37
+ "$type": {
38
+ "type": "string"
39
+ },
40
+ "$description": {
41
+ "type": "string"
42
+ }
43
+ },
44
+ "patternProperties": {
45
+ "^[^$][a-zA-Z0-9_\\-]*$": {
46
+ "$ref": "#/$defs/tokenOrGroup"
47
+ }
48
+ },
49
+ "additionalProperties": false
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "color": {
3
+ "base": {
4
+ "blue": {
5
+ "100": {
6
+ "$value": "#E6F0FF",
7
+ "$type": "color"
8
+ },
9
+ "500": {
10
+ "$value": "#0066FF",
11
+ "$type": "color"
12
+ },
13
+ "900": {
14
+ "$value": "#002966",
15
+ "$type": "color"
16
+ }
17
+ },
18
+ "neutral": {
19
+ "100": {
20
+ "$value": "#F5F5F5",
21
+ "$type": "color"
22
+ },
23
+ "900": {
24
+ "$value": "#1A1A1A",
25
+ "$type": "color"
26
+ }
27
+ }
28
+ }
29
+ },
30
+ "spacing": {
31
+ "base": {
32
+ "1": {
33
+ "$value": "4px",
34
+ "$type": "dimension"
35
+ },
36
+ "2": {
37
+ "$value": "8px",
38
+ "$type": "dimension"
39
+ },
40
+ "4": {
41
+ "$value": "16px",
42
+ "$type": "dimension"
43
+ }
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "color": {
3
+ "surface": {
4
+ "primary": {
5
+ "$value": "{color.base.blue.500}",
6
+ "$type": "color",
7
+ "$description": "Primary surface color for main actions"
8
+ },
9
+ "background": {
10
+ "$value": "{color.base.neutral.100}",
11
+ "$type": "color"
12
+ }
13
+ },
14
+ "text": {
15
+ "primary": {
16
+ "$value": "{color.base.neutral.900}",
17
+ "$type": "color"
18
+ },
19
+ "inverse": {
20
+ "$value": "{color.base.neutral.100}",
21
+ "$type": "color"
22
+ }
23
+ }
24
+ },
25
+ "spacing": {
26
+ "container": {
27
+ "padding": {
28
+ "$value": "{spacing.base.4}",
29
+ "$type": "dimension"
30
+ }
31
+ }
32
+ }
33
+ }
@@ -0,0 +1 @@
1
+ :root{--origo-color-base-blue-500:#0066FF;--origo-color-base-neutral-100:#F5F5F5;--origo-color-base-neutral-900:#1A1A1A;--origo-spacing-base-4:16px;--origo-color-surface-primary:var(--origo-color-base-blue-500);--origo-color-surface-background:var(--origo-color-base-neutral-100);--origo-color-text-primary:var(--origo-color-base-neutral-900);--origo-color-text-inverse:var(--origo-color-base-neutral-100);--origo-spacing-container-padding:var(--origo-spacing-base-4);}
@@ -0,0 +1,2 @@
1
+ declare const tokens: Record<string, string>;
2
+ export default tokens;
@@ -0,0 +1,15 @@
1
+ module.exports = {
2
+ "--origo-color-base-blue-100": "#E6F0FF",
3
+ "--origo-color-base-blue-500": "#0066FF",
4
+ "--origo-color-base-blue-900": "#002966",
5
+ "--origo-color-base-neutral-100": "#F5F5F5",
6
+ "--origo-color-base-neutral-900": "#1A1A1A",
7
+ "--origo-spacing-base-1": "4px",
8
+ "--origo-spacing-base-2": "8px",
9
+ "--origo-spacing-base-4": "16px",
10
+ "--origo-color-surface-primary": "var(--origo-color-base-blue-500)",
11
+ "--origo-color-surface-background": "var(--origo-color-base-neutral-100)",
12
+ "--origo-color-text-primary": "var(--origo-color-base-neutral-900)",
13
+ "--origo-color-text-inverse": "var(--origo-color-base-neutral-100)",
14
+ "--origo-spacing-container-padding": "var(--origo-spacing-base-4)"
15
+ };
@@ -0,0 +1,15 @@
1
+ {
2
+ "--origo-color-base-blue-100": "#E6F0FF",
3
+ "--origo-color-base-blue-500": "#0066FF",
4
+ "--origo-color-base-blue-900": "#002966",
5
+ "--origo-color-base-neutral-100": "#F5F5F5",
6
+ "--origo-color-base-neutral-900": "#1A1A1A",
7
+ "--origo-spacing-base-1": "4px",
8
+ "--origo-spacing-base-2": "8px",
9
+ "--origo-spacing-base-4": "16px",
10
+ "--origo-color-surface-primary": "var(--origo-color-base-blue-500)",
11
+ "--origo-color-surface-background": "var(--origo-color-base-neutral-100)",
12
+ "--origo-color-text-primary": "var(--origo-color-base-neutral-900)",
13
+ "--origo-color-text-inverse": "var(--origo-color-base-neutral-100)",
14
+ "--origo-spacing-container-padding": "var(--origo-spacing-base-4)"
15
+ }
@@ -0,0 +1,2 @@
1
+ var e={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},i={defaultToken:"",tokenPostfix:".cypher",ignoreCase:true,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ALL","AND","AS","ASC","ASCENDING","BY","CALL","CASE","CONTAINS","CREATE","DELETE","DESC","DESCENDING","DETACH","DISTINCT","ELSE","END","ENDS","EXISTS","IN","IS","LIMIT","MANDATORY","MATCH","MERGE","NOT","ON","ON","OPTIONAL","OR","ORDER","REMOVE","RETURN","SET","SKIP","STARTS","THEN","UNION","UNWIND","WHEN","WHERE","WITH","XOR","YIELD"],builtinLiterals:["true","TRUE","false","FALSE","null","NULL"],builtinFunctions:["abs","acos","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endNode","exists","exp","floor","head","id","keys","labels","last","left","length","log","log10","lTrim","max","min","nodes","percentileCont","percentileDisc","pi","properties","radians","rand","range","relationships","replace","reverse","right","round","rTrim","sign","sin","size","split","sqrt","startNode","stDev","stDevP","substring","sum","tail","tan","timestamp","toBoolean","toFloat","toInteger","toLower","toString","toUpper","trim","type"],operators:["+","-","*","/","%","^","=","<>","<",">","<=",">=","->","<-","-->","<--"],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,"@brackets"],{include:"common"}],common:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/:[a-zA-Z_][\w]*/,"type.identifier"],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":"predefined.function"}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":"keyword","@builtinLiterals":"predefined.literal","@default":"identifier"}}],[/`/,"identifier.escape","@identifierBacktick"],[/[;,.:|]/,"delimiter"],[/[<>=%+\-*/^]+/,{cases:{"@operators":"delimiter","@default":""}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,"number.float"],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,"number.float"],[/-?0x(@hexdigits)/,"number.hex"],[/-?0(@octaldigits)/,"number.octal"],[/-?(@digits)/,"number"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@stringDouble"],[/'/,"string","@stringSingle"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/\/\/.*/,"comment"],[/[^/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],stringDouble:[[/[^\\"]+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/"/,"string","@pop"]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/'/,"string","@pop"]],identifierBacktick:[[/[^\\`]+/,"identifier.escape"],[/@escapes/,"identifier.escape"],[/\\./,"identifier.escape.invalid"],[/`/,"identifier.escape","@pop"]]}};
2
+ export{e as conf,i as language};
@@ -0,0 +1 @@
1
+ var e={comments:{blockComment:["<!--","-->"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),end:new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")}}},t={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^\s*\|/,"@rematch","@table_header"],[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],table_header:[{include:"@table_common"},[/[^\|]+/,"keyword.table.header"]],table_body:[{include:"@table_common"},{include:"@linecontent"}],table_common:[[/\s*[\-:]+\s*/,{token:"keyword",switchTo:"table_body"}],[/^\s*\|/,"keyword.table.left"],[/^\s*[^\|]/,"@rematch","@pop"],[/^\s*$/,"@rematch","@pop"],[/\|/,{cases:{"@eos":"keyword.table.right","@default":"keyword.table.middle"}}]],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)(\-|\w)*/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)(\-|\w)*\s*>/,{token:"tag"}],[/<!--/,"comment","@comment"]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,"comment","@pop"],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]],tag:[[/[ \t\r\n]+/,"white"],[/(type)(\s*=\s*)(")([^"]+)(")/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(type)(\s*=\s*)(')([^']+)(')/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(\w+)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name.html","delimiter.html","string.html"]],[/\w+/,"attribute.name.html"],[/\/>/,"tag","@pop"],[/>/,{cases:{"$S2==style":{token:"tag",switchTo:"embeddedStyle",nextEmbedded:"text/css"},"$S2==script":{cases:{$S3:{token:"tag",switchTo:"embeddedScript",nextEmbedded:"$S3"},"@default":{token:"tag",switchTo:"embeddedScript",nextEmbedded:"text/javascript"}}},"@default":{token:"tag",next:"@pop"}}}]],embeddedStyle:[[/[^<]+/,""],[/<\/style\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]],embeddedScript:[[/[^<]+/,""],[/<\/script\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]]}};export{e as conf,t as language};
@@ -0,0 +1,2 @@
1
+ var e={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},n={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}};
2
+ export{e as conf,n as language};
@@ -0,0 +1 @@
1
+ import {g as gie}from'./main-YL46L42N.js';var l=Object.defineProperty,p=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,o=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of c(e))!g.call(t,r)&&r!==n&&l(t,r,{get:()=>e[r],enumerable:!(s=p(e,r))||s.enumerable});return t},d=(t,e,n)=>(o(t,e,"default"),n),a={};d(a,gie);var _={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\s*$"),action:{indentAction:a.languages.IndentAction.Indent}}],folding:{offSide:true,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},f={defaultToken:"",tokenPostfix:".python",keywords:["False","None","True","_","and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","match","nonlocal","not","or","pass","print","raise","return","try","type","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","self","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z_]\w*/,"tag"],[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/f'{1,3}/,"string.escape","@fStringBody"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/f"{1,3}/,"string.escape","@fDblStringBody"],[/"/,"string.escape","@dblStringBody"]],fStringBody:[[/[^\\'\{\}]+$/,"string","@popall"],[/[^\\'\{\}]+/,"string"],[/\{[^\}':!=]+/,"identifier","@fStringDetail"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],fDblStringBody:[[/[^\\"\{\}]+$/,"string","@popall"],[/[^\\"\{\}]+/,"string"],[/\{[^\}':!=]+/,"identifier","@fStringDetail"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]],fStringDetail:[[/[:][^}]+/,"string"],[/[!][ars]/,"string"],[/=/,"string"],[/\}/,"identifier","@pop"]]}};export{_ as conf,f as language};