@origostudio/origo-design 0.0.0 → 0.0.24

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 +282 -0
  3. package/dist/packages/angular-renderer/README.md +11 -0
  4. package/dist/packages/angular-renderer/package.json +20 -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 +14 -0
  33. package/dist/packages/cli/package.json +4 -4
  34. package/dist/packages/cli/package.json.bak +4 -4
  35. package/dist/packages/core/CHANGELOG.md +8 -0
  36. package/dist/packages/core/package.json +1 -1
  37. package/dist/packages/core/package.json.bak +1 -1
  38. package/dist/packages/design-tokens/CHANGELOG.md +281 -0
  39. package/dist/packages/design-tokens/README.md +11 -0
  40. package/dist/packages/design-tokens/package.json +25 -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 +8 -0
  165. package/packages/angular-renderer/package.json +3 -3
  166. package/packages/cli/CHANGELOG.md +14 -0
  167. package/packages/cli/package.json +4 -4
  168. package/packages/core/CHANGELOG.md +8 -0
  169. package/packages/core/package.json +1 -1
  170. package/packages/design-tokens/CHANGELOG.md +8 -0
  171. package/packages/design-tokens/package.json +1 -1
  172. package/packages/playground/CHANGELOG.md +8 -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 +1 -1
@@ -0,0 +1,30 @@
1
+ import { InteractionContract } from '@origo/core';
2
+ import { OrigoAdapter } from '../../../adapters/web/adapter';
3
+ export interface TextInputProps {
4
+ value?: string;
5
+ placeholder?: string;
6
+ disabled?: boolean;
7
+ readonly?: boolean;
8
+ 'aria-label'?: string;
9
+ 'aria-describedby'?: string;
10
+ }
11
+ export declare class TextInputComponent implements OrigoAdapter<TextInputProps> {
12
+ static readonly contractSchema: {
13
+ value: string;
14
+ placeholder: string;
15
+ disabled: string;
16
+ readonly: string;
17
+ };
18
+ static readonly strictContract = false;
19
+ contract: import("@angular/core").InputSignal<InteractionContract<TextInputProps>>;
20
+ value: import("@angular/core").ModelSignal<string>;
21
+ computedPlaceholder: import("@angular/core").Signal<string>;
22
+ computedDisabled: import("@angular/core").Signal<boolean>;
23
+ computedReadonly: import("@angular/core").Signal<boolean>;
24
+ computedAriaLabel: import("@angular/core").Signal<string | undefined>;
25
+ computedAriaDescribedBy: import("@angular/core").Signal<string | undefined>;
26
+ private experienceAdapter;
27
+ private sanitizer;
28
+ constructor();
29
+ onInput(event: Event): void;
30
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextInputComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const platform_browser_1 = require("@angular/platform-browser");
7
+ const experience_adapter_service_1 = require("../../../adapters/web/experience-adapter.service");
8
+ let TextInputComponent = (() => {
9
+ let _classDecorators = [(0, core_1.Component)({
10
+ selector: 'origo-text-input',
11
+ standalone: true,
12
+ templateUrl: './text-input.component.html',
13
+ styleUrls: ['./text-input.component.scss'],
14
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
15
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
16
+ host: {
17
+ '[class.origo-text-input]': 'true',
18
+ },
19
+ })];
20
+ let _classDescriptor;
21
+ let _classExtraInitializers = [];
22
+ let _classThis;
23
+ var TextInputComponent = class {
24
+ static { _classThis = this; }
25
+ static {
26
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
27
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
28
+ TextInputComponent = _classThis = _classDescriptor.value;
29
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
30
+ }
31
+ static contractSchema = {
32
+ value: 'string',
33
+ placeholder: 'string',
34
+ disabled: 'boolean',
35
+ readonly: 'boolean',
36
+ };
37
+ static strictContract = false;
38
+ contract = core_1.input.required();
39
+ value = (0, core_1.model)('');
40
+ computedPlaceholder = (0, core_1.computed)(() => this.contract().props?.placeholder ?? '');
41
+ computedDisabled = (0, core_1.computed)(() => !!this.contract().props?.disabled);
42
+ computedReadonly = (0, core_1.computed)(() => !!this.contract().props?.readonly);
43
+ computedAriaLabel = (0, core_1.computed)(() => this.contract().props?.['aria-label']);
44
+ computedAriaDescribedBy = (0, core_1.computed)(() => this.contract().props?.['aria-describedby']);
45
+ experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
46
+ sanitizer = (0, core_1.inject)(platform_browser_1.DomSanitizer);
47
+ constructor() {
48
+ (0, core_1.effect)(() => {
49
+ const contractVal = this.contract().props?.value;
50
+ (0, core_1.untracked)(() => this.value.set(contractVal !== undefined && contractVal !== null ? String(contractVal) : ''));
51
+ });
52
+ }
53
+ onInput(event) {
54
+ const target = event.target;
55
+ if (!target)
56
+ return;
57
+ const rawValue = target.value;
58
+ const sanitizedValue = this.sanitizer.sanitize(core_1.SecurityContext.HTML, rawValue) || '';
59
+ if (target.value !== sanitizedValue) {
60
+ target.value = sanitizedValue;
61
+ }
62
+ this.value.set(sanitizedValue);
63
+ this.experienceAdapter.updateState(this.contract().id, 'value', sanitizedValue);
64
+ }
65
+ static {
66
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
67
+ }
68
+ };
69
+ return TextInputComponent = _classThis;
70
+ })();
71
+ exports.TextInputComponent = TextInputComponent;
72
+ //# sourceMappingURL=text-input.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-input.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/text-input/text-input.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { ViewContainerRef } from '@angular/core';
2
+ import { InteractionContract } from '@origo/core';
3
+ import { OrigoAdapter, ContainerComponent } from '../../../adapters/web/adapter';
4
+ export interface VBoxProps {
5
+ gap?: number | string;
6
+ alignment?: 'start' | 'center' | 'end' | 'stretch';
7
+ padding?: number | string;
8
+ }
9
+ export declare class VBoxComponent implements OrigoAdapter<VBoxProps>, ContainerComponent {
10
+ static readonly contractSchema: {
11
+ gap: string;
12
+ alignment: string;
13
+ padding: string;
14
+ };
15
+ static readonly strictContract = false;
16
+ contract: import("@angular/core").InputSignal<InteractionContract<VBoxProps>>;
17
+ vc: import("@angular/core").Signal<ViewContainerRef>;
18
+ computedGap: import("@angular/core").Signal<string | undefined>;
19
+ computedAlignment: import("@angular/core").Signal<"center" | "stretch" | "flex-start" | "flex-end">;
20
+ computedPadding: import("@angular/core").Signal<string | undefined>;
21
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VBoxComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ let VBoxComponent = (() => {
7
+ let _classDecorators = [(0, core_1.Component)({
8
+ selector: 'origo-vbox',
9
+ standalone: true,
10
+ templateUrl: './vbox.component.html',
11
+ styleUrls: ['./vbox.component.scss'],
12
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
13
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
14
+ host: {
15
+ '[class.origo-vbox]': 'true',
16
+ '[style.gap]': 'computedGap()',
17
+ '[style.align-items]': 'computedAlignment()',
18
+ '[style.padding]': 'computedPadding()',
19
+ },
20
+ })];
21
+ let _classDescriptor;
22
+ let _classExtraInitializers = [];
23
+ let _classThis;
24
+ var VBoxComponent = class {
25
+ static { _classThis = this; }
26
+ static {
27
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
28
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
29
+ VBoxComponent = _classThis = _classDescriptor.value;
30
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
31
+ }
32
+ static contractSchema = {
33
+ gap: 'string',
34
+ alignment: 'string',
35
+ padding: 'string',
36
+ };
37
+ static strictContract = false;
38
+ contract = core_1.input.required();
39
+ vc = core_1.viewChild.required('vc', { read: core_1.ViewContainerRef });
40
+ computedGap = (0, core_1.computed)(() => {
41
+ const gap = this.contract().props?.gap;
42
+ if (gap === undefined || gap === null || gap === '')
43
+ return undefined;
44
+ const num = Number(gap);
45
+ return !isNaN(num) ? `${num}px` : String(gap);
46
+ });
47
+ computedAlignment = (0, core_1.computed)(() => {
48
+ const align = this.contract().props?.alignment;
49
+ switch (align) {
50
+ case 'start':
51
+ return 'flex-start';
52
+ case 'end':
53
+ return 'flex-end';
54
+ case 'center':
55
+ return 'center';
56
+ case 'stretch':
57
+ return 'stretch';
58
+ default:
59
+ return 'stretch';
60
+ }
61
+ });
62
+ computedPadding = (0, core_1.computed)(() => {
63
+ const padding = this.contract().props?.padding;
64
+ if (padding === undefined || padding === null || padding === '')
65
+ return undefined;
66
+ const num = Number(padding);
67
+ return !isNaN(num) ? `${num}px` : String(padding);
68
+ });
69
+ static {
70
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
71
+ }
72
+ };
73
+ return VBoxComponent = _classThis;
74
+ })();
75
+ exports.VBoxComponent = VBoxComponent;
76
+ //# sourceMappingURL=vbox.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vbox.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/vbox/vbox.component.ts"],"names":[],"mappings":";;;;AAAA,wCAQuB;IAwBV,aAAa;4BAdzB,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,uBAAuB;YACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;YACpC,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,wBAAiB,CAAC,SAAS;YAC1C,IAAI,EAAE;gBACJ,oBAAoB,EAAE,MAAM;gBAC5B,aAAa,EAAE,eAAe;gBAC9B,qBAAqB,EAAE,qBAAqB;gBAC5C,iBAAiB,EAAE,mBAAmB;aACvC;SACF,CAAC;;;;;;;;YACF,qLAyCC;;;;QAxCC,MAAM,CAAU,cAAc,GAAG;YAC/B,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,QAAQ;SAClB,CAAC;QACF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;QAEvC,QAAQ,GAAG,YAAK,CAAC,QAAQ,EAAkC,CAAC;QAE5D,EAAE,GAAG,gBAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAgB,EAAE,CAAC,CAAC;QAE1D,WAAW,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;YACvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAC;YACtE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,iBAAiB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;YAC/C,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,OAAO;oBACV,OAAO,YAAY,CAAC;gBACtB,KAAK,KAAK;oBACR,OAAO,UAAU,CAAC;gBACpB,KAAK,QAAQ;oBACX,OAAO,QAAQ,CAAC;gBAClB,KAAK,SAAS;oBACZ,OAAO,SAAS,CAAC;gBACnB;oBACE,OAAO,SAAS,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAC;YAClF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;;YAxCQ,+DAAa;;;;;AAAb,sCAAa"}
@@ -0,0 +1,7 @@
1
+ export * from './lib/theme.provider';
2
+ export * from './lib/renderer.component';
3
+ export * from './lib/renderer.tokens';
4
+ export * from './adapters/web/adapter';
5
+ export * from './components/primitives/vbox/vbox.component';
6
+ export * from './components/primitives/text-input/text-input.component';
7
+ export * from './components/primitives/button/button.component';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/theme.provider"), exports);
5
+ tslib_1.__exportStar(require("./lib/renderer.component"), exports);
6
+ tslib_1.__exportStar(require("./lib/renderer.tokens"), exports);
7
+ tslib_1.__exportStar(require("./adapters/web/adapter"), exports);
8
+ tslib_1.__exportStar(require("./components/primitives/vbox/vbox.component"), exports);
9
+ tslib_1.__exportStar(require("./components/primitives/text-input/text-input.component"), exports);
10
+ tslib_1.__exportStar(require("./components/primitives/button/button.component"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/angular-renderer/src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,mEAAyC;AACzC,gEAAsC;AACtC,iEAAuC;AACvC,sFAA4D;AAC5D,kGAAwE;AACxE,0FAAgE"}
@@ -0,0 +1,12 @@
1
+ import { ASTNode } from '@origo/core';
2
+ export declare class OrigoRendererComponent {
3
+ node: import("@angular/core").InputSignal<ASTNode>;
4
+ private registry;
5
+ private vc;
6
+ private destroyRef;
7
+ private adapter;
8
+ private renderId;
9
+ private isDestroyed;
10
+ constructor();
11
+ private renderTree;
12
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrigoRendererComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const renderer_tokens_1 = require("./renderer.tokens");
7
+ const adapter_1 = require("../adapters/web/adapter");
8
+ let OrigoRendererComponent = (() => {
9
+ let _classDecorators = [(0, core_1.Component)({
10
+ selector: 'origo-renderer',
11
+ standalone: true,
12
+ template: `<ng-container #vc></ng-container>`,
13
+ })];
14
+ let _classDescriptor;
15
+ let _classExtraInitializers = [];
16
+ let _classThis;
17
+ var OrigoRendererComponent = class {
18
+ static { _classThis = this; }
19
+ static {
20
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
21
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
22
+ OrigoRendererComponent = _classThis = _classDescriptor.value;
23
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
24
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
25
+ }
26
+ node = core_1.input.required();
27
+ registry = (0, core_1.inject)(renderer_tokens_1.RENDERER_REGISTRY, { optional: true }) ?? new Map();
28
+ vc = core_1.viewChild.required('vc', { read: core_1.ViewContainerRef });
29
+ destroyRef = (0, core_1.inject)(core_1.DestroyRef);
30
+ adapter = (0, core_1.inject)(adapter_1.AdapterPipelineService);
31
+ renderId = 0;
32
+ isDestroyed = false;
33
+ constructor() {
34
+ this.destroyRef.onDestroy(() => (this.isDestroyed = true));
35
+ (0, core_1.effect)(() => {
36
+ const n = this.node();
37
+ const container = this.vc();
38
+ const currentId = ++this.renderId;
39
+ container.clear();
40
+ if (n) {
41
+ this.renderTree(n, container, currentId);
42
+ }
43
+ });
44
+ }
45
+ async renderTree(rootNode, rootVc, traversalId) {
46
+ const queue = [{ node: rootNode, vc: rootVc }];
47
+ const CHUNK_SIZE = 50;
48
+ const visited = new Set();
49
+ while (queue.length > 0) {
50
+ if (this.isDestroyed || traversalId !== this.renderId)
51
+ return;
52
+ let processed = 0;
53
+ while (queue.length > 0 && processed < CHUNK_SIZE) {
54
+ const item = queue.shift();
55
+ if (!item)
56
+ continue;
57
+ processed++;
58
+ const { node, vc } = item;
59
+ if (visited.has(node.id))
60
+ continue;
61
+ visited.add(node.id);
62
+ const componentType = this.registry.get(node.type);
63
+ if (!componentType) {
64
+ console.warn(`No primitive found for node type: ${node.type}`);
65
+ if (node.children && node.children.length > 0) {
66
+ for (const child of node.children) {
67
+ if (child)
68
+ queue.push({ node: child, vc });
69
+ }
70
+ }
71
+ continue;
72
+ }
73
+ const componentRef = vc.createComponent(componentType);
74
+ // Extract optional schema/strict mode if defined on the component class
75
+ const schema = componentType['contractSchema'];
76
+ const strict = componentType['strictContract'] === true;
77
+ const preparedNode = this.adapter.prepareNode(node, schema, strict);
78
+ if ('contract' in componentRef.instance) {
79
+ componentRef.setInput('contract', preparedNode);
80
+ }
81
+ else {
82
+ console.warn(`Component for ${node.type} does not implement OrigoAdapter (missing 'contract' input).`);
83
+ }
84
+ if (node.children && node.children.length > 0) {
85
+ componentRef.changeDetectorRef.detectChanges();
86
+ const instance = componentRef.instance;
87
+ let childVc = instance.vc || instance.viewContainerRef;
88
+ if (typeof childVc === 'function') {
89
+ childVc = childVc();
90
+ }
91
+ if (childVc) {
92
+ for (const child of node.children) {
93
+ if (child)
94
+ queue.push({ node: child, vc: childVc });
95
+ }
96
+ }
97
+ else {
98
+ console.warn(`Component for ${node.type} has children but does not expose a ViewContainerRef as 'vc'`);
99
+ }
100
+ }
101
+ else {
102
+ componentRef.changeDetectorRef.markForCheck();
103
+ }
104
+ }
105
+ if (queue.length > 0) {
106
+ await new Promise(resolve => setTimeout(resolve, 0));
107
+ }
108
+ }
109
+ }
110
+ };
111
+ return OrigoRendererComponent = _classThis;
112
+ })();
113
+ exports.OrigoRendererComponent = OrigoRendererComponent;
114
+ //# sourceMappingURL=renderer.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.component.js","sourceRoot":"","sources":["../../../../../packages/angular-renderer/src/lib/renderer.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { InjectionToken, Type } from '@angular/core';
2
+ export declare const RENDERER_REGISTRY: InjectionToken<Map<string, Type<unknown>>>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RENDERER_REGISTRY = void 0;
4
+ const core_1 = require("@angular/core");
5
+ exports.RENDERER_REGISTRY = new core_1.InjectionToken('RENDERER_REGISTRY', {
6
+ providedIn: 'root',
7
+ factory: () => new Map(),
8
+ });
9
+ //# sourceMappingURL=renderer.tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.tokens.js","sourceRoot":"","sources":["../../../../../packages/angular-renderer/src/lib/renderer.tokens.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AAExC,QAAA,iBAAiB,GAAG,IAAI,qBAAc,CACjD,mBAAmB,EACnB;IACE,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE;CACzB,CACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Provider } from '@angular/core';
2
+ export interface OrigoThemeOptions {
3
+ url?: string;
4
+ theme?: Record<string, unknown>;
5
+ targetElement?: HTMLElement | string;
6
+ }
7
+ export declare function themeInitializerFactory(optionsOrUrl: string | OrigoThemeOptions, platformId: object, document: Document | null): () => Promise<(() => void) | (() => void)> | Promise<void>;
8
+ /**
9
+ * Provides the Origo Design theme initialization for the Angular Web Adapter.
10
+ *
11
+ * @param optionsOrUrl URL string to the theme.json file, or an options object configuring the theme.
12
+ */
13
+ export declare function provideOrigoTheme(optionsOrUrl: string | OrigoThemeOptions): Provider[];
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.themeInitializerFactory = themeInitializerFactory;
4
+ exports.provideOrigoTheme = provideOrigoTheme;
5
+ const core_1 = require("@angular/core");
6
+ const common_1 = require("@angular/common");
7
+ const runtime_1 = require("@origo/design-tokens/runtime");
8
+ function themeInitializerFactory(optionsOrUrl, platformId, document) {
9
+ return () => {
10
+ if ((0, common_1.isPlatformBrowser)(platformId)) {
11
+ const isString = typeof optionsOrUrl === 'string';
12
+ const url = isString ? optionsOrUrl : optionsOrUrl.url;
13
+ const theme = isString ? undefined : optionsOrUrl.theme;
14
+ // Resolve target element
15
+ let target;
16
+ if (!isString && typeof optionsOrUrl.targetElement === 'string') {
17
+ target = document?.querySelector(optionsOrUrl.targetElement);
18
+ if (!target) {
19
+ console.warn(`[origo-design] targetElement selector '${optionsOrUrl.targetElement}' matched nothing. Falling back to documentElement.`);
20
+ target = document ? document.documentElement : undefined;
21
+ }
22
+ }
23
+ else if (!isString && optionsOrUrl.targetElement instanceof HTMLElement) {
24
+ target = optionsOrUrl.targetElement;
25
+ }
26
+ else {
27
+ target = document ? document.documentElement : undefined;
28
+ }
29
+ if (theme && url) {
30
+ const staticTeardown = (0, runtime_1.injectTheme)(theme, target);
31
+ return (0, runtime_1.loadAndInjectTheme)(url, target)
32
+ .then(fetchTeardown => {
33
+ return () => {
34
+ if (typeof staticTeardown === 'function')
35
+ staticTeardown();
36
+ fetchTeardown();
37
+ };
38
+ })
39
+ .catch(e => {
40
+ console.error('[origo-design] theme init failed', e);
41
+ return typeof staticTeardown === 'function' ? staticTeardown : () => undefined;
42
+ });
43
+ }
44
+ else if (theme) {
45
+ const teardown = (0, runtime_1.injectTheme)(theme, target);
46
+ return Promise.resolve(typeof teardown === 'function' ? teardown : () => undefined);
47
+ }
48
+ else if (url) {
49
+ return (0, runtime_1.loadAndInjectTheme)(url, target).catch(e => {
50
+ console.error('[origo-design] theme init failed', e);
51
+ return () => undefined;
52
+ });
53
+ }
54
+ else {
55
+ console.warn('[origo-design] options provided with neither theme nor url');
56
+ return Promise.resolve(() => undefined);
57
+ }
58
+ }
59
+ return Promise.resolve();
60
+ };
61
+ }
62
+ /**
63
+ * Provides the Origo Design theme initialization for the Angular Web Adapter.
64
+ *
65
+ * @param optionsOrUrl URL string to the theme.json file, or an options object configuring the theme.
66
+ */
67
+ function provideOrigoTheme(optionsOrUrl) {
68
+ return [
69
+ {
70
+ provide: core_1.APP_INITIALIZER,
71
+ useFactory: (platformId, document) => themeInitializerFactory(optionsOrUrl, platformId, document),
72
+ deps: [core_1.PLATFORM_ID, [new core_1.Optional(), common_1.DOCUMENT]],
73
+ multi: true,
74
+ },
75
+ ];
76
+ }
77
+ //# sourceMappingURL=theme.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.provider.js","sourceRoot":"","sources":["../../../../../packages/angular-renderer/src/lib/theme.provider.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,17 @@
1
+ ## 0.0.24 (2026-09-07)
2
+
3
+ This was a version bump only for cli to align it with other projects, there were no code changes.
4
+
5
+ ## 0.0.23 (2026-09-07)
6
+
7
+ ### 🚀 Features
8
+
9
+ - add CLI package and configure automated Nx release pipeline ([6ec80c7](https://github.com/OrigoStudio/origo-design/commit/6ec80c7))
10
+
11
+ ### ❤️ Thank You
12
+
13
+ - Hardik Patel @hardikpatelse
14
+
1
15
  ## 0.0.22 (2026-09-04)
2
16
 
3
17
  ### 🚀 Features
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "@origo/cli",
3
- "version": "0.0.22",
4
- "private": true,
2
+ "name": "@origostudio/cli",
3
+ "version": "0.0.24",
4
+ "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
7
7
  "types": "./src/index.d.ts",
@@ -9,7 +9,7 @@
9
9
  "origo": "./src/main.js"
10
10
  },
11
11
  "dependencies": {
12
- "@origo/core": "0.0.22",
12
+ "@origo/core": "0.0.24",
13
13
  "commander": "^15.0.0",
14
14
  "tslib": "^2.3.0"
15
15
  }
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "@origo/cli",
3
- "version": "0.0.22",
4
- "private": true,
2
+ "name": "@origostudio/cli",
3
+ "version": "0.0.24",
4
+ "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
7
7
  "types": "./src/index.d.ts",
@@ -9,7 +9,7 @@
9
9
  "origo": "./src/main.js"
10
10
  },
11
11
  "dependencies": {
12
- "@origo/core": "0.0.22",
12
+ "@origo/core": "0.0.24",
13
13
  "commander": "^15.0.0",
14
14
  "tslib": "^2.3.0"
15
15
  }
@@ -1,3 +1,11 @@
1
+ ## 0.0.24 (2026-09-07)
2
+
3
+ This was a version bump only for core to align it with other projects, there were no code changes.
4
+
5
+ ## 0.0.23 (2026-09-07)
6
+
7
+ This was a version bump only for core to align it with other projects, there were no code changes.
8
+
1
9
  ## 0.0.22 (2026-09-04)
2
10
 
3
11
  ### 🚀 Features
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origo/core",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "private": true,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origo/core",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "private": true,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",