@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,291 @@
1
+ ## 0.0.25 (2026-09-07)
2
+
3
+ ### 🚀 Features
4
+
5
+ - initialize package.json files for cli, core, design-tokens, playground, and angular-renderer packages ([2dee8cc](https://github.com/OrigoStudio/origo-design/commit/2dee8cc))
6
+
7
+ ### ❤️ Thank You
8
+
9
+ - Hardik Patel @hardikpatelse
10
+
11
+ ## 0.0.24 (2026-09-07)
12
+
13
+ This was a version bump only for design-tokens to align it with other projects, there were no code changes.
14
+
15
+ ## 0.0.23 (2026-09-07)
16
+
17
+ This was a version bump only for design-tokens to align it with other projects, there were no code changes.
18
+
19
+ ## 0.0.22 (2026-09-04)
20
+
21
+ ### 🚀 Features
22
+
23
+ - scaffold playground application and e2e testing suite with initial editor component and schema registry ([f097894](https://github.com/OrigoStudio/origo-design/commit/f097894))
24
+ - add GitHub Actions workflow to automate library releases using Nx Release ([3d6651f](https://github.com/OrigoStudio/origo-design/commit/3d6651f))
25
+
26
+ ### ❤️ Thank You
27
+
28
+ - Hardik Patel @hardikpatelse
29
+
30
+ ## 0.0.21 (2026-09-02)
31
+
32
+ ### 🚀 Features
33
+
34
+ - add centralized test registry tool with validation logic, CI integration, and documentation artifacts ([384c1c7](https://github.com/OrigoStudio/origo-design/commit/384c1c7))
35
+ - implement central test registry with validation tools and CI integration ([02cf656](https://github.com/OrigoStudio/origo-design/commit/02cf656))
36
+ - initialize negative testing story and update sprint status tracking ([bbe5fdc](https://github.com/OrigoStudio/origo-design/commit/bbe5fdc))
37
+ - implement CLI framework with validation, testing, and CI/CD workflows ([ff6ce55](https://github.com/OrigoStudio/origo-design/commit/ff6ce55))
38
+ - implement validate command and schema validation logic for BADL files ([4f9e41d](https://github.com/OrigoStudio/origo-design/commit/4f9e41d))
39
+ - implement path traversal guards, remove process termination from library logic, and enable error cause preservation in @origo/cli ([0854f78](https://github.com/OrigoStudio/origo-design/commit/0854f78))
40
+ - initialize web-based editor component and track security remediation tasks in implementation artifacts ([65716bd](https://github.com/OrigoStudio/origo-design/commit/65716bd))
41
+ - document e2e npm verification plan for cli package releases ([22dab4c](https://github.com/OrigoStudio/origo-design/commit/22dab4c))
42
+ - initialize sprint status tracking and retrospective verification story for npm packaging ([c326751](https://github.com/OrigoStudio/origo-design/commit/c326751))
43
+ - add generated bundle for epic7-worker-csp spike ([16ca492](https://github.com/OrigoStudio/origo-design/commit/16ca492))
44
+ - add web worker CSP spike and associated implementation documentation ([ebf5aa4](https://github.com/OrigoStudio/origo-design/commit/ebf5aa4))
45
+ - implement web worker CSP spike with supporting documentation and harness tools ([f57b1e5](https://github.com/OrigoStudio/origo-design/commit/f57b1e5))
46
+ - add technical spike story for Epic 7 web worker CSP validation and ADR planning ([c977487](https://github.com/OrigoStudio/origo-design/commit/c977487))
47
+ - initialize sprint status tracking and create Epic 7 discovery research story ([b37b967](https://github.com/OrigoStudio/origo-design/commit/b37b967))
48
+ - implement entity generator command with template customization and ejection support ([02a3193](https://github.com/OrigoStudio/origo-design/commit/02a3193))
49
+ - implement entity generator command and template ejection logic in CLI ([d7d519a](https://github.com/OrigoStudio/origo-design/commit/d7d519a))
50
+ - implementation of 6-2-local-schema-validation ([45e67f6](https://github.com/OrigoStudio/origo-design/commit/45e67f6))
51
+
52
+ ### ❤️ Thank You
53
+
54
+ - Hardik Patel @hardikpatelse
55
+
56
+ ## 0.0.20 (2026-08-25)
57
+
58
+ ### 🚀 Features
59
+
60
+ - implementation of 6-1-cli-initialization-and-scaffolding ([f6aca9e](https://github.com/OrigoStudio/origo-design/commit/f6aca9e))
61
+
62
+ ### ❤️ Thank You
63
+
64
+ - Hardik Patel @hardikpatelse
65
+
66
+ ## 0.0.19 (2026-08-23)
67
+
68
+ ### 🚀 Features
69
+
70
+ - 5.5-5-define-secure-by-default-boilerplate-templates ([0eb6dde](https://github.com/OrigoStudio/origo-design/commit/0eb6dde))
71
+
72
+ ### ❤️ Thank You
73
+
74
+ - Hardik Patel @hardikpatelse
75
+
76
+ ## 0.0.18 (2026-08-23)
77
+
78
+ ### 🚀 Features
79
+
80
+ - 5.5-4-verify-core-compiler-source-map-preservation ([a3b0d9b](https://github.com/OrigoStudio/origo-design/commit/a3b0d9b))
81
+
82
+ ### 🩹 Fixes
83
+
84
+ - pipeline issue ([c1bbe47](https://github.com/OrigoStudio/origo-design/commit/c1bbe47))
85
+
86
+ ### ❤️ Thank You
87
+
88
+ - Hardik Patel @hardikpatelse
89
+
90
+ ## 0.0.17 (2026-08-21)
91
+
92
+ ### 🚀 Features
93
+
94
+ - 5.5-3-resolve-recursive-schema-resolution-tech-debt ([943e2e7](https://github.com/OrigoStudio/origo-design/commit/943e2e7))
95
+ - 5.5-2-establish-end-to-end-qa-protocols ([d8990ae](https://github.com/OrigoStudio/origo-design/commit/d8990ae))
96
+ - 5.5-2-establish-end-to-end-qa-protocols ([a31d97a](https://github.com/OrigoStudio/origo-design/commit/a31d97a))
97
+
98
+ ### ❤️ Thank You
99
+
100
+ - Hardik Patel @hardikpatelse
101
+
102
+ ## 0.0.16 (2026-08-21)
103
+
104
+ ### 🚀 Features
105
+
106
+ - 5.5-1-create-usability-quickstart-guide ([e740a1a](https://github.com/OrigoStudio/origo-design/commit/e740a1a))
107
+
108
+ ### ❤️ Thank You
109
+
110
+ - Hardik Patel @hardikpatelse
111
+
112
+ ## 0.0.15 (2026-08-20)
113
+
114
+ ### 🚀 Features
115
+
116
+ - code-review 5-5-reactive-state-event-binding ([b235951](https://github.com/OrigoStudio/origo-design/commit/b235951))
117
+ - implementation of 5-5-reactive-state-event-binding ([3a5948a](https://github.com/OrigoStudio/origo-design/commit/3a5948a))
118
+ - story creation 5-5-reactive-state-event-binding ([21104c6](https://github.com/OrigoStudio/origo-design/commit/21104c6))
119
+
120
+ ### ❤️ Thank You
121
+
122
+ - Hardik Patel @hardikpatelse
123
+
124
+ ## 0.0.14 (2026-08-19)
125
+
126
+ ### 🚀 Features
127
+
128
+ - 5-4-design-token-consumption ([c1f64ed](https://github.com/OrigoStudio/origo-design/commit/c1f64ed))
129
+ - add sprint status update and design token consumption story documentation ([49aec07](https://github.com/OrigoStudio/origo-design/commit/49aec07))
130
+
131
+ ### ❤️ Thank You
132
+
133
+ - Hardik Patel @hardikpatelse
134
+
135
+ ## 0.0.13 (2026-08-18)
136
+
137
+ ### 🚀 Features
138
+
139
+ - implement core primitives (Button, VBox, TextInput) with improved property coercion and accessibility support ([1be1def](https://github.com/OrigoStudio/origo-design/commit/1be1def))
140
+ - implement VBox, TextInput, and Button core primitives with accessibility testing and improved adapter coercion ([532417f](https://github.com/OrigoStudio/origo-design/commit/532417f))
141
+
142
+ ### ❤️ Thank You
143
+
144
+ - Hardik Patel @hardikpatelse
145
+
146
+ ## 0.0.12 (2026-08-17)
147
+
148
+ ### 🚀 Features
149
+
150
+ - implement InteractionContract-based OrigoAdapter and transition angular-renderer architecture to web adapter pattern ([1a8ea32](https://github.com/OrigoStudio/origo-design/commit/1a8ea32))
151
+
152
+ ### ❤️ Thank You
153
+
154
+ - Hardik Patel @hardikpatelse
155
+
156
+ ## 0.0.11 (2026-08-14)
157
+
158
+ ### 🚀 Features
159
+
160
+ - implement angular-renderer package with AST-based dynamic component instantiation and registry support ([500f396](https://github.com/OrigoStudio/origo-design/commit/500f396))
161
+
162
+ ### ❤️ Thank You
163
+
164
+ - Hardik Patel @hardikpatelse
165
+
166
+ ## 0.0.10 (2026-08-14)
167
+
168
+ ### 🚀 Features
169
+
170
+ - implement extension API scaffolding, define Angular signals patterns, and add renderer test utilities ([d2adbed](https://github.com/OrigoStudio/origo-design/commit/d2adbed))
171
+ - mark Epic 4 as complete and record its retrospective action items in sprint status ([37c2caa](https://github.com/OrigoStudio/origo-design/commit/37c2caa))
172
+
173
+ ### ❤️ Thank You
174
+
175
+ - Hardik Patel @hardikpatelse
176
+
177
+ ## 0.0.9 (2026-08-14)
178
+
179
+ ### 🚀 Features
180
+
181
+ - implement extension manager with manifest validation, permission security, and dependency resolution ([154b0d4](https://github.com/OrigoStudio/origo-design/commit/154b0d4))
182
+
183
+ ### ❤️ Thank You
184
+
185
+ - Hardik Patel @hardikpatelse
186
+
187
+ ## 0.0.8 (2026-08-14)
188
+
189
+ ### 🚀 Features
190
+
191
+ - implement formal extension manifest, capability negotiation, and lifecycle management in core extension-api ([808f113](https://github.com/OrigoStudio/origo-design/commit/808f113))
192
+
193
+ ### ❤️ Thank You
194
+
195
+ - Hardik Patel @hardikpatelse
196
+
197
+ ## 0.0.7 (2026-08-14)
198
+
199
+ ### 🚀 Features
200
+
201
+ - implement behavior validation test suite and expand AST validator test coverage ([d4c79ef](https://github.com/OrigoStudio/origo-design/commit/d4c79ef))
202
+ - register behavior validation suite story and update sprint status tracking ([798ec74](https://github.com/OrigoStudio/origo-design/commit/798ec74))
203
+
204
+ ### ❤️ Thank You
205
+
206
+ - Hardik Patel @hardikpatelse
207
+
208
+ ## 0.0.6 (2026-08-13)
209
+
210
+ ### 🚀 Features
211
+
212
+ - implement AST validation engine with support for circular dependency detection and reference integrity checks ([afd48c9](https://github.com/OrigoStudio/origo-design/commit/afd48c9))
213
+ - initialize sprint-status.yaml to track project development and retrospective action items ([66c6cdf](https://github.com/OrigoStudio/origo-design/commit/66c6cdf))
214
+
215
+ ### ❤️ Thank You
216
+
217
+ - Hardik Patel @hardikpatelse
218
+
219
+ ## 0.0.5 (2026-08-13)
220
+
221
+ ### 🚀 Features
222
+
223
+ - **core:** implement security and permissions engine ([d066d90](https://github.com/OrigoStudio/origo-design/commit/d066d90))
224
+ - add story 4.3 for security and permissions engine and update sprint status ([3eb4aae](https://github.com/OrigoStudio/origo-design/commit/3eb4aae))
225
+
226
+ ### ❤️ Thank You
227
+
228
+ - Hardik Patel @hardikpatelse
229
+
230
+ ## 0.0.4 (2026-08-13)
231
+
232
+ ### 🚀 Features
233
+
234
+ - implement semantic AST validator with domain, entity, and contract schema definitions ([e969466](https://github.com/OrigoStudio/origo-design/commit/e969466))
235
+ - update sprint status and initialize story 4-2 contracts and implementations documentation ([4b37c59](https://github.com/OrigoStudio/origo-design/commit/4b37c59))
236
+
237
+ ### ❤️ Thank You
238
+
239
+ - Hardik Patel @hardikpatelse
240
+
241
+ ## 0.0.3 (2026-08-13)
242
+
243
+ ### 🚀 Features
244
+
245
+ - 4-1-capabilities-schema-parsing ([869c872](https://github.com/OrigoStudio/origo-design/commit/869c872))
246
+
247
+ ### ❤️ Thank You
248
+
249
+ - Hardik Patel @hardikpatelse
250
+
251
+ ## 0.0.2 (2026-08-12)
252
+
253
+ ### 🚀 Features
254
+
255
+ - implement defensive AST validation with depth limiting, circular reference detection, and graceful error reporting ([d2f5f98](https://github.com/OrigoStudio/origo-design/commit/d2f5f98))
256
+ - initialize 3-5-3-defensive-ast-traversal story and update sprint status ([4f82702](https://github.com/OrigoStudio/origo-design/commit/4f82702))
257
+ - enforce JSON import standard and document AST validator ([162db09](https://github.com/OrigoStudio/origo-design/commit/162db09))
258
+ - implement automated semantic versioning with Nx release and commitlint enforcement ([5e7a25e](https://github.com/OrigoStudio/origo-design/commit/5e7a25e))
259
+ - implement AST validation engine and documentation for semantic versioning workflow ([838e472](https://github.com/OrigoStudio/origo-design/commit/838e472))
260
+ - implement AST validation engine and associated implementation artifacts ([49cbdf0](https://github.com/OrigoStudio/origo-design/commit/49cbdf0))
261
+ - implement deterministic canonical AST serialization and interfaces in @origo/core ([c35a2c9](https://github.com/OrigoStudio/origo-design/commit/c35a2c9))
262
+ - implement domain and entity schema parser with Ajv-based validation and circular dependency detection in new @origo/core package ([4165b5f](https://github.com/OrigoStudio/origo-design/commit/4165b5f))
263
+ - add design tokens documentation and update Starlight navigation configuration ([ba2404a](https://github.com/OrigoStudio/origo-design/commit/ba2404a))
264
+ - initialize Epic 3 planning and document Epic 2 retrospective findings ([4cc46f9](https://github.com/OrigoStudio/origo-design/commit/4cc46f9))
265
+ - implement runtime theme fetching, injection, and Angular renderer integration to complete the token resolution contract ([87f583e](https://github.com/OrigoStudio/origo-design/commit/87f583e))
266
+ - implement theme-fetcher runtime utility and create angular-renderer package with theme initialization provider ([1d5b7ab](https://github.com/OrigoStudio/origo-design/commit/1d5b7ab))
267
+ - implement secure theme injection with CSS token validation and scope management ([a708825](https://github.com/OrigoStudio/origo-design/commit/a708825))
268
+ - implement runtime theme injector for parsing and applying CSS variables ([969fed5](https://github.com/OrigoStudio/origo-design/commit/969fed5))
269
+ - add astro, @astrojs/starlight, and sharp dependencies to package.json ([1c40a92](https://github.com/OrigoStudio/origo-design/commit/1c40a92))
270
+ - implement design token compilation pipeline with CSS variable parsing and generation ([0ffe822](https://github.com/OrigoStudio/origo-design/commit/0ffe822))
271
+ - **nx-cloud:** setup nx cloud workspace ([ee09042](https://github.com/OrigoStudio/origo-design/commit/ee09042))
272
+ - **design-tokens:** implement css compilation pipeline ([7bd632d](https://github.com/OrigoStudio/origo-design/commit/7bd632d))
273
+ - add script to generate automated LLM review prompts from git diffs ([1ddbd39](https://github.com/OrigoStudio/origo-design/commit/1ddbd39))
274
+ - scaffold @origo/design-tokens package with JSON schema validation and Nx configuration ([ae61244](https://github.com/OrigoStudio/origo-design/commit/ae61244))
275
+ - scaffold @origo/design-tokens library with JSON schema validation and initial token definitions ([efbecc9](https://github.com/OrigoStudio/origo-design/commit/efbecc9))
276
+ - initialize Astro documentation site and relocate internal project scripts to the tools directory. ([1cd8e71](https://github.com/OrigoStudio/origo-design/commit/1cd8e71))
277
+ - add documentation story spec and update epic-1 status to done ([b612ea3](https://github.com/OrigoStudio/origo-design/commit/b612ea3))
278
+ - initialize and populate agent skill definitions, workflows, and technical knowledge resources ([8668c52](https://github.com/OrigoStudio/origo-design/commit/8668c52))
279
+ - initialize Starlight documentation site within the monorepo and add benchmark tools ([9a16b03](https://github.com/OrigoStudio/origo-design/commit/9a16b03))
280
+ - implement performance benchmark harness with regression and SLA gate logic ([350d472](https://github.com/OrigoStudio/origo-design/commit/350d472))
281
+ - implement performance benchmark harness with CI regression gating and SLA validation ([3230ac9](https://github.com/OrigoStudio/origo-design/commit/3230ac9))
282
+ - implement Husky pre-commit hooks and Nx-based lint-staged configuration ([9181885](https://github.com/OrigoStudio/origo-design/commit/9181885))
283
+ - add GitHub Actions CI workflow, Husky pre-commit hooks, and update package.json with necessary configuration ([95b8bf1](https://github.com/OrigoStudio/origo-design/commit/95b8bf1))
284
+ - configure Husky, lint-staged, and GitHub CI workflow for automated quality enforcement ([b6bf597](https://github.com/OrigoStudio/origo-design/commit/b6bf597))
285
+ - initialize Nx monorepo workspace with core configuration and tooling ([fd0665a](https://github.com/OrigoStudio/origo-design/commit/fd0665a))
286
+ - add sprint tracking artifacts and automation script for project bootstrapping ([ddc6149](https://github.com/OrigoStudio/origo-design/commit/ddc6149))
287
+ - document Origo Design functional requirements and architectural scope ([d1e0b7f](https://github.com/OrigoStudio/origo-design/commit/d1e0b7f))
288
+
289
+ ### ❤️ Thank You
290
+
291
+ - Hardik Patel @hardikpatelse
@@ -0,0 +1,11 @@
1
+ # design-tokens
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build design-tokens` to build the library.
8
+
9
+ ## Running unit tests
10
+
11
+ Run `nx test design-tokens` to execute the unit tests via [Jest](https://jestjs.io).
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@origo/design-tokens",
3
+ "version": "0.0.25",
4
+ "private": false,
5
+ "type": "commonjs",
6
+ "main": "./src/index.js",
7
+ "types": "./src/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./src/index.d.ts",
11
+ "default": "./src/index.js"
12
+ },
13
+ "./runtime": {
14
+ "types": "./src/runtime/index.d.ts",
15
+ "default": "./src/runtime/index.js"
16
+ },
17
+ "./tokens.css": "./tokens.css",
18
+ "./tokens.json": "./tokens.json",
19
+ "./tokens.js": "./tokens.js"
20
+ },
21
+ "dependencies": {
22
+ "ajv": "^8.20.0"
23
+ },
24
+ "devDependencies": {},
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/OrigoStudio/origo-design.git"
28
+ }
29
+ }
@@ -0,0 +1,2 @@
1
+ export declare function parseTokens(tokens: Record<string, unknown>, prefix: string): Record<string, string>;
2
+ export declare function generateCssVariables(baseTokensMap: Record<string, string>, semanticTokensMap?: Record<string, string>): string;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseTokens = parseTokens;
4
+ exports.generateCssVariables = generateCssVariables;
5
+ function parseTokens(tokens, prefix) {
6
+ const result = {};
7
+ function traverse(obj, currentPath) {
8
+ if (!obj || typeof obj !== 'object')
9
+ return;
10
+ for (const [key, value] of Object.entries(obj)) {
11
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
12
+ if ('$value' in value) {
13
+ const sanitizedPath = currentPath.concat(key).map(k => k.replace(/[^a-zA-Z0-9-]/g, '-'));
14
+ const varName = `--${prefix}-${sanitizedPath.join('-')}`;
15
+ const tokenObj = value;
16
+ const val = tokenObj['$value'];
17
+ let valStr;
18
+ if (Array.isArray(val)) {
19
+ valStr = val.join(', ');
20
+ }
21
+ else if (typeof val === 'object' && val !== null) {
22
+ valStr = JSON.stringify(val);
23
+ }
24
+ else {
25
+ valStr = String(val);
26
+ }
27
+ result[varName] = valStr;
28
+ }
29
+ else {
30
+ traverse(value, currentPath.concat(key));
31
+ }
32
+ }
33
+ }
34
+ }
35
+ traverse(tokens, []);
36
+ let changed = true;
37
+ let iterations = 0;
38
+ const maxIterations = 10;
39
+ while (changed && iterations < maxIterations) {
40
+ changed = false;
41
+ iterations++;
42
+ for (const [key, val] of Object.entries(result)) {
43
+ if (typeof val === 'string' && val.includes('{')) {
44
+ const newVal = val.replace(/\{([^}]+)\}/g, (match, refPath) => {
45
+ if (!refPath.trim())
46
+ throw new Error('Empty reference in token');
47
+ const sanitizedRefPath = refPath
48
+ .split('.')
49
+ .map((k) => k.replace(/[^a-zA-Z0-9-]/g, '-'))
50
+ .join('-');
51
+ const refVarName = `--${prefix}-${sanitizedRefPath}`;
52
+ if (refVarName === key)
53
+ throw new Error(`Circular reference detected: ${key}`);
54
+ return `var(${refVarName})`;
55
+ });
56
+ if (newVal !== val) {
57
+ result[key] = newVal;
58
+ changed = true;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return result;
64
+ }
65
+ function generateCssVariables(baseTokensMap, semanticTokensMap) {
66
+ let css = ':root{';
67
+ const usedBaseTokens = new Set();
68
+ if (semanticTokensMap) {
69
+ for (const val of Object.values(semanticTokensMap)) {
70
+ const matches = val.match(/var\((--[^)]+)\)/g);
71
+ if (matches) {
72
+ matches.forEach(m => usedBaseTokens.add(m.slice(4, -1)));
73
+ }
74
+ }
75
+ }
76
+ for (const [key, value] of Object.entries(baseTokensMap)) {
77
+ if (!semanticTokensMap || usedBaseTokens.has(key)) {
78
+ css += `${key}:${value};`;
79
+ }
80
+ }
81
+ if (semanticTokensMap) {
82
+ for (const [key, value] of Object.entries(semanticTokensMap)) {
83
+ css += `${key}:${value};`;
84
+ }
85
+ }
86
+ css += '}';
87
+ return css;
88
+ }
89
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../packages/design-tokens/src/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const build_1 = require("./build");
7
+ const _2020_1 = tslib_1.__importDefault(require("ajv/dist/2020"));
8
+ function loadJson(path) {
9
+ try {
10
+ return JSON.parse((0, fs_1.readFileSync)(path, 'utf8'));
11
+ }
12
+ catch (e) {
13
+ throw new Error(`Failed to read or parse JSON at ${path}: ${e.message}`);
14
+ }
15
+ }
16
+ function main() {
17
+ const baseJsonPath = (0, path_1.join)(__dirname, 'tokens/base.json');
18
+ const semanticJsonPath = (0, path_1.join)(__dirname, 'tokens/semantic.json');
19
+ const baseSchemaPath = (0, path_1.join)(__dirname, 'schemas/base-tokens.schema.json');
20
+ const semanticSchemaPath = (0, path_1.join)(__dirname, 'schemas/semantic-tokens.schema.json');
21
+ const baseJson = loadJson(baseJsonPath);
22
+ const semanticJson = loadJson(semanticJsonPath);
23
+ const baseSchema = loadJson(baseSchemaPath);
24
+ const semanticSchema = loadJson(semanticSchemaPath);
25
+ const ajv = new _2020_1.default({ allErrors: true, strict: false });
26
+ if (!ajv.validate(baseSchema, baseJson)) {
27
+ throw new Error(`Base tokens failed validation: ${ajv.errorsText()}`);
28
+ }
29
+ if (!ajv.validate(semanticSchema, semanticJson)) {
30
+ throw new Error(`Semantic tokens failed validation: ${ajv.errorsText()}`);
31
+ }
32
+ const baseTokens = (0, build_1.parseTokens)(baseJson, 'origo');
33
+ const semanticTokens = (0, build_1.parseTokens)(semanticJson, 'origo');
34
+ const css = (0, build_1.generateCssVariables)(baseTokens, semanticTokens);
35
+ const allTokens = { ...baseTokens, ...semanticTokens };
36
+ const outDir = (0, path_1.join)(__dirname, '..');
37
+ (0, fs_1.mkdirSync)(outDir, { recursive: true });
38
+ // Write CSS
39
+ (0, fs_1.writeFileSync)((0, path_1.join)(outDir, 'tokens.css'), css, 'utf8');
40
+ // Write JSON
41
+ (0, fs_1.writeFileSync)((0, path_1.join)(outDir, 'tokens.json'), JSON.stringify(allTokens, null, 2), 'utf8');
42
+ // Write JS
43
+ const jsContent = `module.exports = ${JSON.stringify(allTokens, null, 2)};`;
44
+ (0, fs_1.writeFileSync)((0, path_1.join)(outDir, 'tokens.js'), jsContent, 'utf8');
45
+ // Write TS definitions
46
+ const tsContent = `declare const tokens: Record<string, string>;\nexport default tokens;`;
47
+ (0, fs_1.writeFileSync)((0, path_1.join)(outDir, 'tokens.d.ts'), tsContent, 'utf8');
48
+ console.log(`Successfully compiled design tokens to ${outDir}`);
49
+ }
50
+ main();
51
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../packages/design-tokens/src/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import baseTokensSchema from './schemas/base-tokens.schema.json';
2
+ import semanticTokensSchema from './schemas/semantic-tokens.schema.json';
3
+ import baseTokens from './tokens/base.json';
4
+ import semanticTokens from './tokens/semantic.json';
5
+ export * from './build';
6
+ export { baseTokensSchema, semanticTokensSchema, baseTokens, semanticTokens };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.semanticTokens = exports.baseTokens = exports.semanticTokensSchema = exports.baseTokensSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const base_tokens_schema_json_1 = tslib_1.__importDefault(require("./schemas/base-tokens.schema.json"));
6
+ exports.baseTokensSchema = base_tokens_schema_json_1.default;
7
+ const semantic_tokens_schema_json_1 = tslib_1.__importDefault(require("./schemas/semantic-tokens.schema.json"));
8
+ exports.semanticTokensSchema = semantic_tokens_schema_json_1.default;
9
+ const base_json_1 = tslib_1.__importDefault(require("./tokens/base.json"));
10
+ exports.baseTokens = base_json_1.default;
11
+ const semantic_json_1 = tslib_1.__importDefault(require("./tokens/semantic.json"));
12
+ exports.semanticTokens = semantic_json_1.default;
13
+ tslib_1.__exportStar(require("./build"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/design-tokens/src/index.ts"],"names":[],"mappings":";;;;AAAA,wGAAiE;AAMxD,2BANF,iCAAgB,CAME;AALzB,gHAAyE;AAK9C,+BALpB,qCAAoB,CAKoB;AAJ/C,2EAA4C;AAIK,qBAJ1C,mBAAU,CAI0C;AAH3D,mFAAoD;AAGS,yBAHtD,uBAAc,CAGsD;AAD3E,kDAAwB"}
@@ -0,0 +1,2 @@
1
+ export * from './theme-injector';
2
+ export * from './theme-fetcher';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./theme-injector"), exports);
5
+ tslib_1.__exportStar(require("./theme-fetcher"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/design-tokens/src/runtime/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,0DAAgC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Fetches a theme.json file from the specified URL.
3
+ *
4
+ * - Gracefully handles SSR environments by returning an empty object.
5
+ * - Handles network errors by catching them and returning an empty object.
6
+ *
7
+ * @param url The URL to fetch the theme JSON from.
8
+ * @returns A promise that resolves to the parsed theme JSON object, or an empty object on failure/SSR.
9
+ */
10
+ export declare function fetchTheme(url: string): Promise<Record<string, unknown>>;
11
+ /**
12
+ * Fetches a theme.json file and injects it into the DOM.
13
+ * Measures the time taken using the Performance API to ensure NFR-PERF-005 limits.
14
+ *
15
+ * @param url The URL to fetch the theme JSON from.
16
+ * @param target The target HTMLElement to scope the injected styles to. Defaults to documentElement.
17
+ * @returns A promise that resolves to a teardown function to remove the injected style tag.
18
+ */
19
+ export declare function loadAndInjectTheme(url: string, target?: HTMLElement | null): Promise<() => void>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchTheme = fetchTheme;
4
+ exports.loadAndInjectTheme = loadAndInjectTheme;
5
+ const theme_injector_1 = require("./theme-injector");
6
+ /**
7
+ * Fetches a theme.json file from the specified URL.
8
+ *
9
+ * - Gracefully handles SSR environments by returning an empty object.
10
+ * - Handles network errors by catching them and returning an empty object.
11
+ *
12
+ * @param url The URL to fetch the theme JSON from.
13
+ * @returns A promise that resolves to the parsed theme JSON object, or an empty object on failure/SSR.
14
+ */
15
+ async function fetchTheme(url) {
16
+ // SSR guard: fetch might not exist, or we are in a server environment
17
+ if (typeof fetch === 'undefined' || typeof document === 'undefined') {
18
+ return {};
19
+ }
20
+ try {
21
+ const response = await fetch(url);
22
+ if (!response.ok) {
23
+ console.warn(`[origo-design] Failed to fetch theme from ${url}: ${response.status} ${response.statusText}`);
24
+ return {};
25
+ }
26
+ const data = await response.json();
27
+ return data;
28
+ }
29
+ catch (error) {
30
+ console.warn(`[origo-design] Error fetching theme from ${url}:`, error);
31
+ return {};
32
+ }
33
+ }
34
+ const activeLoads = new Map();
35
+ let globalLoadCounter = 0;
36
+ /**
37
+ * Fetches a theme.json file and injects it into the DOM.
38
+ * Measures the time taken using the Performance API to ensure NFR-PERF-005 limits.
39
+ *
40
+ * @param url The URL to fetch the theme JSON from.
41
+ * @param target The target HTMLElement to scope the injected styles to. Defaults to documentElement.
42
+ * @returns A promise that resolves to a teardown function to remove the injected style tag.
43
+ */
44
+ async function loadAndInjectTheme(url, target) {
45
+ const loadId = ++globalLoadCounter;
46
+ const loadKey = target || 'default';
47
+ activeLoads.set(loadKey, loadId);
48
+ const perfMarkStart = `theme-load-start-${url}`;
49
+ const perfMarkEnd = `theme-load-end-${url}`;
50
+ const perfMeasure = `theme-load-measure-${url}`;
51
+ if (typeof performance !== 'undefined' && performance.mark) {
52
+ performance.mark(perfMarkStart);
53
+ }
54
+ let teardown = () => {
55
+ // default no-op teardown
56
+ };
57
+ try {
58
+ const themeJson = await fetchTheme(url);
59
+ // Concurrency Lock: abort injection if a newer call has superseded this one for the same target
60
+ if (activeLoads.get(loadKey) !== loadId) {
61
+ return teardown;
62
+ }
63
+ const injected = (0, theme_injector_1.injectTheme)(themeJson, target);
64
+ if (typeof injected === 'function') {
65
+ teardown = injected;
66
+ }
67
+ }
68
+ catch (error) {
69
+ console.warn('[origo-design] Error in loadAndInjectTheme', error);
70
+ }
71
+ finally {
72
+ if (typeof performance !== 'undefined' && performance.mark && performance.measure) {
73
+ performance.mark(perfMarkEnd);
74
+ try {
75
+ performance.measure(perfMeasure, perfMarkStart, perfMarkEnd);
76
+ }
77
+ catch {
78
+ // Ignore measure errors
79
+ }
80
+ performance.clearMarks(perfMarkStart);
81
+ performance.clearMarks(perfMarkEnd);
82
+ performance.clearMeasures(perfMeasure);
83
+ }
84
+ }
85
+ return teardown;
86
+ }
87
+ //# sourceMappingURL=theme-fetcher.js.map