@origostudio/origo-design 0.0.51 → 0.0.52

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 (84) hide show
  1. package/CHANGELOG.md +6 -6
  2. package/dist/packages/angular-renderer/CHANGELOG.md +13 -0
  3. package/dist/packages/angular-renderer/package.json +3 -3
  4. package/dist/packages/angular-renderer/src/adapters/web/adapter.d.ts +2 -2
  5. package/dist/packages/angular-renderer/src/adapters/web/adapter.js.map +1 -1
  6. package/dist/packages/angular-renderer/src/components/primitives/card/card.component.d.ts +18 -2
  7. package/dist/packages/angular-renderer/src/components/primitives/card/card.component.js +41 -0
  8. package/dist/packages/angular-renderer/src/components/primitives/card/card.component.js.map +1 -1
  9. package/dist/packages/angular-renderer/src/components/primitives/container/container.component.d.ts +20 -0
  10. package/dist/packages/angular-renderer/src/components/primitives/container/container.component.js +54 -0
  11. package/dist/packages/angular-renderer/src/components/primitives/container/container.component.js.map +1 -0
  12. package/dist/packages/angular-renderer/src/components/primitives/divider/divider.component.d.ts +21 -0
  13. package/dist/packages/angular-renderer/src/components/primitives/divider/divider.component.js +86 -0
  14. package/dist/packages/angular-renderer/src/components/primitives/divider/divider.component.js.map +1 -0
  15. package/dist/packages/angular-renderer/src/components/primitives/grid/grid.component.d.ts +24 -0
  16. package/dist/packages/angular-renderer/src/components/primitives/grid/grid.component.js +111 -0
  17. package/dist/packages/angular-renderer/src/components/primitives/grid/grid.component.js.map +1 -0
  18. package/dist/packages/angular-renderer/src/components/primitives/stack/stack.component.d.ts +24 -0
  19. package/dist/packages/angular-renderer/src/components/primitives/stack/stack.component.js +101 -0
  20. package/dist/packages/angular-renderer/src/components/primitives/stack/stack.component.js.map +1 -0
  21. package/dist/packages/angular-renderer/src/index.d.ts +6 -1
  22. package/dist/packages/angular-renderer/src/index.js +8 -1
  23. package/dist/packages/angular-renderer/src/index.js.map +1 -1
  24. package/dist/packages/angular-renderer/src/lib/primitives.provider.js +8 -0
  25. package/dist/packages/angular-renderer/src/lib/primitives.provider.js.map +1 -1
  26. package/dist/packages/cli/CHANGELOG.md +4 -0
  27. package/dist/packages/cli/package.json +2 -2
  28. package/dist/packages/cli/package.json.bak +2 -2
  29. package/dist/packages/core/CHANGELOG.md +4 -0
  30. package/dist/packages/core/package.json +1 -1
  31. package/dist/packages/core/package.json.bak +1 -1
  32. package/dist/packages/design-tokens/CHANGELOG.md +4 -0
  33. package/dist/packages/design-tokens/package.json +1 -1
  34. package/dist/packages/playground/browser/{chunk-mGxxpk2V.js → chunk-BDJ6g_eZ.js} +1 -1
  35. package/dist/packages/playground/browser/{chunk-vt9o3pSK.js → chunk-BKu6N-zK.js} +1 -1
  36. package/dist/packages/playground/browser/{chunk-BSIGVQT8.js → chunk-BRY4TA8M.js} +1 -1
  37. package/dist/packages/playground/browser/{chunk-DBZa4hap.js → chunk-BdpxuY7o.js} +1 -1
  38. package/dist/packages/playground/browser/{chunk-BQrkBjEv.js → chunk-C18SRlXx.js} +1 -1
  39. package/dist/packages/playground/browser/{chunk-CD79k8Eb.js → chunk-ClEEX1ib.js} +1 -1
  40. package/dist/packages/playground/browser/{chunk-DGb2Oa6d.js → chunk-D8i35nMZ.js} +1 -1
  41. package/dist/packages/playground/browser/{chunk-V8VJI0nO.js → chunk-DPJ2_PnQ.js} +1 -1
  42. package/dist/packages/playground/browser/{chunk-DeS5TtZS.js → chunk-DpG_PyU_.js} +1 -1
  43. package/dist/packages/playground/browser/{chunk-D6mKAQPx.js → chunk-FPNisYyW.js} +1 -1
  44. package/dist/packages/playground/browser/{chunk-2fyh0Go5.js → chunk-IRlAEjxV.js} +1 -1
  45. package/dist/packages/playground/browser/{chunk-DPEeny3K.js → chunk-MmjtX4PA.js} +1 -1
  46. package/dist/packages/playground/browser/{chunk-DnW3HJ2k.js → chunk-kBISgbOR.js} +1 -1
  47. package/dist/packages/playground/browser/{chunk-BQHgLM1h.js → chunk-kdIujLCE.js} +1 -1
  48. package/dist/packages/playground/browser/{chunk-6qDdu3iP.js → chunk-lkXWJECn.js} +1 -1
  49. package/dist/packages/playground/browser/index.html +1 -1
  50. package/dist/packages/playground/browser/main-CD73IVQX.js +744 -0
  51. package/package.json +1 -1
  52. package/packages/angular-renderer/CHANGELOG.md +13 -0
  53. package/packages/angular-renderer/package.json +3 -3
  54. package/packages/angular-renderer/src/adapters/web/adapter.ts +5 -2
  55. package/packages/angular-renderer/src/components/primitives/card/card.component.html +3 -1
  56. package/packages/angular-renderer/src/components/primitives/card/card.component.scss +40 -10
  57. package/packages/angular-renderer/src/components/primitives/card/card.component.ts +55 -2
  58. package/packages/angular-renderer/src/components/primitives/container/container.component.html +12 -0
  59. package/packages/angular-renderer/src/components/primitives/container/container.component.scss +9 -0
  60. package/packages/angular-renderer/src/components/primitives/container/container.component.ts +65 -0
  61. package/packages/angular-renderer/src/components/primitives/divider/divider.component.html +5 -0
  62. package/packages/angular-renderer/src/components/primitives/divider/divider.component.scss +60 -0
  63. package/packages/angular-renderer/src/components/primitives/divider/divider.component.ts +92 -0
  64. package/packages/angular-renderer/src/components/primitives/grid/grid.component.html +9 -0
  65. package/packages/angular-renderer/src/components/primitives/grid/grid.component.scss +51 -0
  66. package/packages/angular-renderer/src/components/primitives/grid/grid.component.ts +117 -0
  67. package/packages/angular-renderer/src/components/primitives/stack/stack.component.html +9 -0
  68. package/packages/angular-renderer/src/components/primitives/stack/stack.component.scss +44 -0
  69. package/packages/angular-renderer/src/components/primitives/stack/stack.component.ts +106 -0
  70. package/packages/angular-renderer/src/index.ts +6 -1
  71. package/packages/angular-renderer/src/lib/primitives.provider.ts +8 -0
  72. package/packages/cli/CHANGELOG.md +4 -0
  73. package/packages/cli/package.json +2 -2
  74. package/packages/core/CHANGELOG.md +4 -0
  75. package/packages/core/package.json +1 -1
  76. package/packages/design-tokens/CHANGELOG.md +4 -0
  77. package/packages/design-tokens/package.json +1 -1
  78. package/packages/devtools/CHANGELOG.md +4 -0
  79. package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  80. package/packages/devtools/package.json +3 -3
  81. package/packages/playground/CHANGELOG.md +4 -0
  82. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  83. package/packages/playground/package.json +3 -3
  84. package/dist/packages/playground/browser/main-6RRVB3JV.js +0 -740
package/CHANGELOG.md CHANGED
@@ -1,12 +1,12 @@
1
- ## 0.0.51 (2026-10-08)
1
+ ## 0.0.52 (2026-10-09)
2
2
 
3
3
  ### 🚀 Features
4
4
 
5
- - add sprint status and story for date and time controls ([fd66c6e](https://github.com/OrigoStudio/origo-design/commit/fd66c6e))
6
- - add date-picker, date-range-picker, and time-picker primitive components to angular renderer ([649dadc](https://github.com/OrigoStudio/origo-design/commit/649dadc))
7
- - add date-picker, time-picker, and date-range-picker primitive components ([25530e1](https://github.com/OrigoStudio/origo-design/commit/25530e1))
8
- - initialize sprint status tracking with completed core UI stories ([ff4bc24](https://github.com/OrigoStudio/origo-design/commit/ff4bc24))
9
- - add DatePickerComponent primitive for Angular renderer ([6746c8e](https://github.com/OrigoStudio/origo-design/commit/6746c8e))
5
+ - add application layout primitives and update card component implementation ([382adab](https://github.com/OrigoStudio/origo-design/commit/382adab))
6
+ - add CardComponent primitive and export it in angular-renderer ([2f62893](https://github.com/OrigoStudio/origo-design/commit/2f62893))
7
+ - add application layout primitives and update card component implementation ([5153adc](https://github.com/OrigoStudio/origo-design/commit/5153adc))
8
+ - add divider component for angular renderer ([221ded8](https://github.com/OrigoStudio/origo-design/commit/221ded8))
9
+ - **angular-renderer:** add new primitive components including card, container, divider, grid, and stack ([fd14eb4](https://github.com/OrigoStudio/origo-design/commit/fd14eb4))
10
10
 
11
11
  ### ❤️ Thank You
12
12
 
@@ -1,3 +1,16 @@
1
+ ## 0.0.52 (2026-10-09)
2
+
3
+ ### 🚀 Features
4
+
5
+ - add divider component for angular renderer ([221ded8](https://github.com/OrigoStudio/origo-design/commit/221ded8))
6
+ - add application layout primitives and update card component implementation ([5153adc](https://github.com/OrigoStudio/origo-design/commit/5153adc))
7
+ - add CardComponent primitive and export it in angular-renderer ([2f62893](https://github.com/OrigoStudio/origo-design/commit/2f62893))
8
+ - **angular-renderer:** add new primitive components including card, container, divider, grid, and stack ([fd14eb4](https://github.com/OrigoStudio/origo-design/commit/fd14eb4))
9
+
10
+ ### ❤️ Thank You
11
+
12
+ - Hardik Patel @hardikpatelse
13
+
1
14
  ## 0.0.51 (2026-10-08)
2
15
 
3
16
  ### 🚀 Features
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@origostudio/angular-renderer",
3
- "version": "0.0.51",
3
+ "version": "0.0.52",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "dependencies": {
9
- "@origostudio/core": "0.0.51",
10
- "@origostudio/design-tokens": "0.0.51",
9
+ "@origostudio/core": "0.0.52",
10
+ "@origostudio/design-tokens": "0.0.52",
11
11
  "tslib": "^2.3.0",
12
12
  "@analogjs/vite-plugin-angular": "^2.7.1",
13
13
  "zone.js": "^0.16.3",
@@ -1,8 +1,8 @@
1
1
  import { ViewContainerRef, Signal, InputSignal } from '@angular/core';
2
2
  import { ASTNode, InteractionContract } from '@origostudio/core';
3
3
  export interface ContainerComponent {
4
- viewContainerRef?: ViewContainerRef | Signal<ViewContainerRef>;
5
- vc?: ViewContainerRef | Signal<ViewContainerRef>;
4
+ viewContainerRef?: ViewContainerRef | Signal<ViewContainerRef> | Signal<ViewContainerRef | undefined>;
5
+ vc?: ViewContainerRef | Signal<ViewContainerRef> | Signal<ViewContainerRef | undefined>;
6
6
  }
7
7
  export interface OrigoAdapter<TProps = Record<string, unknown>> {
8
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../../packages/angular-renderer/src/adapters/web/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../../packages/angular-renderer/src/adapters/web/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { ViewContainerRef } from '@angular/core';
1
2
  import { InteractionContract } from '@origostudio/core';
2
- import { OrigoAdapter } from '../../../adapters/web/adapter';
3
+ import { OrigoAdapter, ContainerComponent } from '../../../adapters/web/adapter';
3
4
  export interface CardProps {
4
5
  permissions?: Record<string, string>;
5
6
  rules?: Record<string, unknown>;
@@ -10,8 +11,12 @@ export interface CardProps {
10
11
  imageAlt?: string;
11
12
  'aria-label'?: string;
12
13
  'aria-describedby'?: string;
14
+ elevation?: 'none' | 'sm' | 'md' | 'lg';
15
+ variant?: string;
16
+ clickable?: boolean;
17
+ hoverable?: boolean;
13
18
  }
14
- export declare class CardComponent implements OrigoAdapter<CardProps> {
19
+ export declare class CardComponent implements OrigoAdapter<CardProps>, ContainerComponent {
15
20
  static readonly contractSchema: {
16
21
  permissions: string;
17
22
  rules: string;
@@ -20,9 +25,14 @@ export declare class CardComponent implements OrigoAdapter<CardProps> {
20
25
  subtitle: string;
21
26
  imageUrl: string;
22
27
  imageAlt: string;
28
+ elevation: string;
29
+ variant: string;
30
+ clickable: string;
31
+ hoverable: string;
23
32
  };
24
33
  static readonly strictContract = false;
25
34
  contract: import("@angular/core").InputSignal<InteractionContract<CardProps>>;
35
+ vc: import("@angular/core").Signal<ViewContainerRef | undefined>;
26
36
  private sanitizer;
27
37
  computedTitle: import("@angular/core").Signal<string | undefined>;
28
38
  computedSubtitle: import("@angular/core").Signal<string | undefined>;
@@ -30,4 +40,10 @@ export declare class CardComponent implements OrigoAdapter<CardProps> {
30
40
  computedImageAlt: import("@angular/core").Signal<string>;
31
41
  computedAriaLabel: import("@angular/core").Signal<string | undefined>;
32
42
  computedAriaDescribedBy: import("@angular/core").Signal<string | undefined>;
43
+ computedElevation: import("@angular/core").Signal<"none" | "sm" | "md" | "lg">;
44
+ computedVariant: import("@angular/core").Signal<string>;
45
+ hasContent: import("@angular/core").Signal<boolean>;
46
+ isClickable: import("@angular/core").Signal<boolean>;
47
+ isHoverable: import("@angular/core").Signal<boolean>;
48
+ onKeydown(event: Event): void;
33
49
  }
@@ -17,6 +17,19 @@ let CardComponent = (() => {
17
17
  '[attr.data-testid]': 'contract().id',
18
18
  '[attr.aria-label]': 'computedAriaLabel()',
19
19
  '[attr.aria-describedby]': 'computedAriaDescribedBy()',
20
+ '[attr.tabindex]': 'isClickable() ? "0" : null',
21
+ '[attr.role]': '"article"',
22
+ '(keydown.enter)': 'onKeydown($event)',
23
+ '(keydown.space)': 'onKeydown($event)',
24
+ '[class.origo-card--elevation-none]': 'computedElevation() === "none"',
25
+ '[class.origo-card--elevation-sm]': 'computedElevation() === "sm"',
26
+ '[class.origo-card--elevation-md]': 'computedElevation() === "md"',
27
+ '[class.origo-card--elevation-lg]': 'computedElevation() === "lg"',
28
+ '[class.origo-card--variant-solid]': 'computedVariant() === "solid"',
29
+ '[class.origo-card--variant-outline]': 'computedVariant() === "outline"',
30
+ '[class.origo-card--variant-ghost]': 'computedVariant() === "ghost"',
31
+ '[class.origo-card--hoverable]': 'isHoverable()',
32
+ '[class.origo-card--clickable]': 'isClickable()',
20
33
  },
21
34
  })];
22
35
  let _classDescriptor;
@@ -38,9 +51,14 @@ let CardComponent = (() => {
38
51
  subtitle: 'string',
39
52
  imageUrl: 'string',
40
53
  imageAlt: 'string',
54
+ elevation: 'string',
55
+ variant: 'string',
56
+ clickable: 'boolean',
57
+ hoverable: 'boolean',
41
58
  };
42
59
  static strictContract = false;
43
60
  contract = core_1.input.required();
61
+ vc = (0, core_1.viewChild)('vc', { read: core_1.ViewContainerRef });
44
62
  sanitizer = (0, core_1.inject)(platform_browser_1.DomSanitizer);
45
63
  computedTitle = (0, core_1.computed)(() => {
46
64
  const title = this.contract().props?.title;
@@ -70,6 +88,29 @@ let CardComponent = (() => {
70
88
  const desc = this.contract().props?.['aria-describedby'];
71
89
  return desc !== undefined && desc !== null ? String(desc) : undefined;
72
90
  });
91
+ computedElevation = (0, core_1.computed)(() => this.contract().props?.elevation || 'none');
92
+ computedVariant = (0, core_1.computed)(() => this.contract().props?.variant || 'solid');
93
+ hasContent = (0, core_1.computed)(() => {
94
+ const hasTitle = !!this.computedTitle();
95
+ const hasSubtitle = !!this.computedSubtitle();
96
+ const children = this.contract().children;
97
+ const hasChildren = children ? children.length > 0 : false;
98
+ return hasTitle || hasSubtitle || hasChildren;
99
+ });
100
+ isClickable = (0, core_1.computed)(() => {
101
+ const c = this.contract().props?.clickable;
102
+ return c === true || String(c) === 'true';
103
+ });
104
+ isHoverable = (0, core_1.computed)(() => {
105
+ const h = this.contract().props?.hoverable;
106
+ return h === true || String(h) === 'true';
107
+ });
108
+ onKeydown(event) {
109
+ if (this.isClickable() && event.target === event.currentTarget) {
110
+ event.preventDefault();
111
+ event.target.click();
112
+ }
113
+ }
73
114
  static {
74
115
  tslib_1.__runInitializers(_classThis, _classExtraInitializers);
75
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"card.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/card/card.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/card/card.component.ts"],"names":[],"mappings":";;;;AAAA,wCAUuB;AACvB,gEAAyD;IA+C5C,aAAa;4BA3BzB,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,oBAAoB,EAAE,eAAe;gBACrC,mBAAmB,EAAE,qBAAqB;gBAC1C,yBAAyB,EAAE,2BAA2B;gBACtD,iBAAiB,EAAE,4BAA4B;gBAC/C,aAAa,EAAE,WAAW;gBAC1B,iBAAiB,EAAE,mBAAmB;gBACtC,iBAAiB,EAAE,mBAAmB;gBACtC,oCAAoC,EAAE,gCAAgC;gBACtE,kCAAkC,EAAE,8BAA8B;gBAClE,kCAAkC,EAAE,8BAA8B;gBAClE,kCAAkC,EAAE,8BAA8B;gBAClE,mCAAmC,EAAE,+BAA+B;gBACpE,qCAAqC,EAAE,iCAAiC;gBACxE,mCAAmC,EAAE,+BAA+B;gBACpE,+BAA+B,EAAE,eAAe;gBAChD,+BAA+B,EAAE,eAAe;aACjD;SACF,CAAC;;;;;;;;YACF,qLAmFC;;;;QAlFC,MAAM,CAAU,cAAc,GAAG;YAC/B,WAAW,EAAE,QAAQ;YACrB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;QAEvC,QAAQ,GAAG,YAAK,CAAC,QAAQ,EAAkC,CAAC;QAC5D,EAAE,GAAG,IAAA,gBAAS,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAgB,EAAE,CAAC,CAAC;QAEzC,SAAS,GAAG,IAAA,aAAM,EAAC,+BAAY,CAAC,CAAC;QAEzC,aAAa,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;YAC3C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,gBAAgB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YACjD,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,gBAAgB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC5C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAC;YAEtE,gCAAgC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAe,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/E,OAAO,YAAY,IAAI,SAAS,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,gBAAgB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC5C,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,iBAAiB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC;YACpD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,uBAAuB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,kBAAkB,CAAC,CAAC;YACzD,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,iBAAiB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,IAAI,MAAM,CAAC,CAAC;QAE/E,eAAe,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC;QAE5E,UAAU,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;YAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3D,OAAO,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,WAAW,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;YAC3C,OAAO,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,WAAW,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;YAC3C,OAAO,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,KAAY;YACpB,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC/D,KAAK,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAK,CAAC,MAAsB,CAAC,KAAK,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;;YAlFU,+DAAa;;;;;AAAb,sCAAa"}
@@ -0,0 +1,20 @@
1
+ import { ViewContainerRef } from '@angular/core';
2
+ import { InteractionContract } from '@origostudio/core';
3
+ import { OrigoAdapter, ContainerComponent as IContainerComponent } from '../../../adapters/web/adapter';
4
+ export interface ContainerProps {
5
+ fluid?: boolean;
6
+ maxWidth?: string;
7
+ padding?: string | number;
8
+ permissions?: Record<string, string>;
9
+ rules?: Record<string, unknown>;
10
+ metadata?: Record<string, unknown>;
11
+ 'aria-label'?: string;
12
+ 'aria-describedby'?: string;
13
+ }
14
+ export declare class ContainerComponent implements OrigoAdapter<ContainerProps>, IContainerComponent {
15
+ static readonly contractSchema: Record<keyof ContainerProps, "string" | "number" | "boolean" | "object" | "array">;
16
+ contract: import("@angular/core").InputSignal<InteractionContract<ContainerProps>>;
17
+ vc: import("@angular/core").Signal<ViewContainerRef>;
18
+ protected props: import("@angular/core").Signal<ContainerProps>;
19
+ protected get paddingValue(): string;
20
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const adapter_1 = require("../../../adapters/web/adapter");
7
+ const contractSchema = {
8
+ fluid: 'boolean',
9
+ maxWidth: 'string',
10
+ padding: 'string',
11
+ permissions: 'object',
12
+ rules: 'object',
13
+ metadata: 'object',
14
+ 'aria-label': 'string',
15
+ 'aria-describedby': 'string',
16
+ };
17
+ let ContainerComponent = (() => {
18
+ let _classDecorators = [(0, core_1.Component)({
19
+ selector: 'origo-container',
20
+ standalone: true,
21
+ templateUrl: './container.component.html',
22
+ styleUrl: './container.component.scss',
23
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
24
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
25
+ })];
26
+ let _classDescriptor;
27
+ let _classExtraInitializers = [];
28
+ let _classThis;
29
+ var ContainerComponent = class {
30
+ static { _classThis = this; }
31
+ static {
32
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
33
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
34
+ ContainerComponent = _classThis = _classDescriptor.value;
35
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
36
+ }
37
+ static contractSchema = contractSchema;
38
+ contract = core_1.input.required();
39
+ vc = core_1.viewChild.required('vc', { read: core_1.ViewContainerRef });
40
+ props = (0, core_1.computed)(() => (0, adapter_1.coerceContractProps)(this.contract().props, contractSchema));
41
+ get paddingValue() {
42
+ const p = this.props().padding;
43
+ if (typeof p === 'number' || /^\d+$/.test(String(p)))
44
+ return `${p}px`;
45
+ return p || '';
46
+ }
47
+ static {
48
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
49
+ }
50
+ };
51
+ return ContainerComponent = _classThis;
52
+ })();
53
+ exports.ContainerComponent = ContainerComponent;
54
+ //# sourceMappingURL=container.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/container/container.component.ts"],"names":[],"mappings":";;;;AAAA,wCAQuB;AAEvB,2DAIuC;AAavC,MAAM,cAAc,GAGhB;IACF,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,QAAQ;IACrB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,QAAQ;IACtB,kBAAkB,EAAE,QAAQ;CAC7B,CAAC;IAUW,kBAAkB;4BAR9B,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,4BAA4B;YACtC,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,wBAAiB,CAAC,SAAS;SAC3C,CAAC;;;;;;;;YACF,qLAeC;;;;QAdC,MAAM,CAAU,cAAc,GAAG,cAAc,CAAC;QAEhD,QAAQ,GAAG,YAAK,CAAC,QAAQ,EAAuC,CAAC;QACjE,EAAE,GAAG,gBAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAgB,EAAE,CAAC,CAAC;QAEhD,KAAK,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAC9B,IAAA,6BAAmB,EAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAC3E,CAAC;QAEF,IAAc,YAAY;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;YAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC;YACtE,OAAQ,CAAY,IAAI,EAAE,CAAC;QAC7B,CAAC;;YAdU,+DAAkB;;;;;AAAlB,gDAAkB"}
@@ -0,0 +1,21 @@
1
+ import { InteractionContract } from '@origostudio/core';
2
+ import { OrigoAdapter } from '../../../adapters/web/adapter';
3
+ export interface DividerProps {
4
+ orientation?: 'horizontal' | 'vertical';
5
+ variant?: 'solid' | 'dashed' | 'dotted';
6
+ thickness?: string | number;
7
+ content?: string;
8
+ permissions?: Record<string, string>;
9
+ rules?: Record<string, unknown>;
10
+ metadata?: Record<string, unknown>;
11
+ 'aria-label'?: string;
12
+ 'aria-describedby'?: string;
13
+ }
14
+ export declare class DividerComponent implements OrigoAdapter<DividerProps> {
15
+ static readonly contractSchema: Record<keyof DividerProps, "string" | "number" | "boolean" | "object" | "array">;
16
+ contract: import("@angular/core").InputSignal<InteractionContract<DividerProps>>;
17
+ protected props: import("@angular/core").Signal<DividerProps>;
18
+ protected computedOrientation: import("@angular/core").Signal<string>;
19
+ protected get thicknessValue(): string;
20
+ protected get inlineStyles(): Record<string, string>;
21
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DividerComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const common_1 = require("@angular/common");
7
+ const adapter_1 = require("../../../adapters/web/adapter");
8
+ const contractSchema = {
9
+ orientation: 'string',
10
+ variant: 'string',
11
+ thickness: 'string',
12
+ content: 'string',
13
+ permissions: 'object',
14
+ rules: 'object',
15
+ metadata: 'object',
16
+ 'aria-label': 'string',
17
+ 'aria-describedby': 'string',
18
+ };
19
+ const finalSchema = { ...contractSchema };
20
+ delete finalSchema.thickness;
21
+ let DividerComponent = (() => {
22
+ let _classDecorators = [(0, core_1.Component)({
23
+ selector: 'origo-divider',
24
+ standalone: true,
25
+ imports: [common_1.NgStyle],
26
+ templateUrl: './divider.component.html',
27
+ styleUrl: './divider.component.scss',
28
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
29
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
30
+ host: {
31
+ role: 'separator',
32
+ '[attr.aria-orientation]': 'computedOrientation()',
33
+ '[attr.aria-label]': "props()['aria-label'] || null",
34
+ '[attr.aria-describedby]': "props()['aria-describedby'] || null",
35
+ '[class.origo-divider--horizontal]': "computedOrientation() === 'horizontal'",
36
+ '[class.origo-divider--vertical]': "computedOrientation() === 'vertical'",
37
+ },
38
+ })];
39
+ let _classDescriptor;
40
+ let _classExtraInitializers = [];
41
+ let _classThis;
42
+ var DividerComponent = class {
43
+ static { _classThis = this; }
44
+ static {
45
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
46
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
47
+ DividerComponent = _classThis = _classDescriptor.value;
48
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
49
+ }
50
+ static contractSchema = contractSchema;
51
+ contract = core_1.input.required();
52
+ props = (0, core_1.computed)(() => {
53
+ const p = (0, adapter_1.coerceContractProps)(this.contract().props, finalSchema);
54
+ const original = this.contract().props || {};
55
+ if ('thickness' in original)
56
+ p.thickness = original.thickness;
57
+ return p;
58
+ });
59
+ computedOrientation = (0, core_1.computed)(() => {
60
+ const o = this.props().orientation;
61
+ return o ? o.toLowerCase() : 'horizontal';
62
+ });
63
+ get thicknessValue() {
64
+ const t = this.props().thickness;
65
+ if (typeof t === 'number' || /^\d+$/.test(String(t)))
66
+ return `${t}px`;
67
+ return t || '';
68
+ }
69
+ get inlineStyles() {
70
+ const p = this.props();
71
+ const styles = {
72
+ '--origo-divider-variant': p.variant || 'solid',
73
+ };
74
+ if (this.thicknessValue) {
75
+ styles['--origo-divider-thickness'] = this.thicknessValue;
76
+ }
77
+ return styles;
78
+ }
79
+ static {
80
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
81
+ }
82
+ };
83
+ return DividerComponent = _classThis;
84
+ })();
85
+ exports.DividerComponent = DividerComponent;
86
+ //# sourceMappingURL=divider.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/divider/divider.component.ts"],"names":[],"mappings":";;;;AAAA,wCAMuB;AACvB,4CAA0C;AAE1C,2DAAkF;AAclF,MAAM,cAAc,GAGhB;IACF,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,QAAQ;IACrB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,QAAQ;IACtB,kBAAkB,EAAE,QAAQ;CAC7B,CAAC;AAEF,MAAM,WAAW,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;AAC1C,OAAQ,WAAmB,CAAC,SAAS,CAAC;IAmBzB,gBAAgB;4BAjB5B,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,gBAAO,CAAC;YAClB,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,0BAA0B;YACpC,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,wBAAiB,CAAC,SAAS;YAC1C,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,yBAAyB,EAAE,uBAAuB;gBAClD,mBAAmB,EAAE,+BAA+B;gBACpD,yBAAyB,EAAE,qCAAqC;gBAChE,mCAAmC,EAAE,wCAAwC;gBAC7E,iCAAiC,EAAE,sCAAsC;aAC1E;SACF,CAAC;;;;;;;;YACF,qLAiCC;;;;QAhCC,MAAM,CAAU,cAAc,GAAG,cAAc,CAAC;QAEhD,QAAQ,GAAG,YAAK,CAAC,QAAQ,EAAqC,CAAC;QAErD,KAAK,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC9B,MAAM,CAAC,GAAG,IAAA,6BAAmB,EAAe,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7C,IAAI,WAAW,IAAI,QAAQ;gBAAE,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAgB,CAAC;YACrE,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEO,mBAAmB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC;YACnC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAc,cAAc;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC;YACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC;YACtE,OAAQ,CAAY,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,IAAc,YAAY;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,MAAM,GAA2B;gBACrC,yBAAyB,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO;aAChD,CAAC;YACF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YAC5D,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;;YAhCU,+DAAgB;;;;;AAAhB,4CAAgB"}
@@ -0,0 +1,24 @@
1
+ import { ViewContainerRef } from '@angular/core';
2
+ import { InteractionContract } from '@origostudio/core';
3
+ import { OrigoAdapter, ContainerComponent as IContainerComponent } from '../../../adapters/web/adapter';
4
+ export interface GridProps {
5
+ columns?: number | string | Record<string, number>;
6
+ gap?: number | string;
7
+ align?: string;
8
+ justify?: string;
9
+ responsive?: Record<string, number>;
10
+ permissions?: Record<string, string>;
11
+ rules?: Record<string, unknown>;
12
+ metadata?: Record<string, unknown>;
13
+ 'aria-label'?: string;
14
+ 'aria-describedby'?: string;
15
+ }
16
+ export declare class GridComponent implements OrigoAdapter<GridProps>, IContainerComponent {
17
+ static readonly contractSchema: Record<keyof GridProps, "string" | "number" | "boolean" | "object" | "array">;
18
+ contract: import("@angular/core").InputSignal<InteractionContract<GridProps>>;
19
+ vc: import("@angular/core").Signal<ViewContainerRef>;
20
+ protected props: import("@angular/core").Signal<GridProps>;
21
+ protected get gridTemplateColumns(): string;
22
+ protected get gapValue(): string;
23
+ protected get inlineStyles(): Record<string, string>;
24
+ }
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GridComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const common_1 = require("@angular/common");
7
+ const adapter_1 = require("../../../adapters/web/adapter");
8
+ const contractSchema = {
9
+ columns: 'object', // coerce to object if responsive, or string if literal. We'll type this broadly. Wait, coerceContractProps doesn't handle union coercions well natively. Let's use 'string' for string, or 'number', but wait, the schema doesn't support complex unions. We'll map to object for responsive and parse in computed. We can omit it from schema to avoid strict coercion dropping it, or handle it manually.
10
+ gap: 'string', // wait, gap can be string or number. Let's omit from strict schema coercion to keep it intact.
11
+ align: 'string',
12
+ justify: 'string',
13
+ responsive: 'object',
14
+ permissions: 'object',
15
+ rules: 'object',
16
+ metadata: 'object',
17
+ 'aria-label': 'string',
18
+ 'aria-describedby': 'string',
19
+ };
20
+ // We will modify the schema slightly to avoid dropping columns/gap
21
+ const finalSchema = { ...contractSchema };
22
+ delete finalSchema.columns;
23
+ delete finalSchema.gap;
24
+ let GridComponent = (() => {
25
+ let _classDecorators = [(0, core_1.Component)({
26
+ selector: 'origo-grid',
27
+ standalone: true,
28
+ imports: [common_1.NgStyle],
29
+ templateUrl: './grid.component.html',
30
+ styleUrl: './grid.component.scss',
31
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
32
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
33
+ })];
34
+ let _classDescriptor;
35
+ let _classExtraInitializers = [];
36
+ let _classThis;
37
+ var GridComponent = class {
38
+ static { _classThis = this; }
39
+ static {
40
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
41
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
42
+ GridComponent = _classThis = _classDescriptor.value;
43
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
44
+ }
45
+ static contractSchema = contractSchema;
46
+ contract = core_1.input.required();
47
+ vc = core_1.viewChild.required('vc', { read: core_1.ViewContainerRef });
48
+ props = (0, core_1.computed)(() => {
49
+ const p = (0, adapter_1.coerceContractProps)(this.contract().props, finalSchema);
50
+ const original = this.contract().props || {};
51
+ if ('columns' in original)
52
+ p.columns = original.columns;
53
+ if ('gap' in original)
54
+ p.gap = original.gap;
55
+ return p;
56
+ });
57
+ get gridTemplateColumns() {
58
+ const cols = this.props().columns;
59
+ if (typeof cols === 'number' && cols > 0)
60
+ return `repeat(${cols}, minmax(0, 1fr))`;
61
+ if (typeof cols === 'string') {
62
+ const num = Number(cols);
63
+ if (!isNaN(num) && num > 0)
64
+ return `repeat(${num}, minmax(0, 1fr))`;
65
+ return cols;
66
+ }
67
+ if (typeof cols === 'object' && cols !== null) {
68
+ const base = cols['xs'] || 1;
69
+ return `repeat(${base}, minmax(0, 1fr))`;
70
+ }
71
+ return 'repeat(1, minmax(0, 1fr))';
72
+ }
73
+ get gapValue() {
74
+ const g = this.props().gap;
75
+ if (typeof g === 'number' || /^\d+$/.test(String(g)))
76
+ return `${g}px`;
77
+ return g || '';
78
+ }
79
+ get inlineStyles() {
80
+ const p = this.props();
81
+ const styles = {
82
+ '--origo-grid-columns': this.gridTemplateColumns,
83
+ };
84
+ if (this.gapValue)
85
+ styles['gap'] = this.gapValue;
86
+ if (p.align)
87
+ styles['align-items'] = p.align;
88
+ if (p.justify)
89
+ styles['justify-content'] = p.justify;
90
+ // Apply responsive columns via inline css variables if provided (e.g. { sm: 1, md: 2, lg: 4 })
91
+ // The CSS would use these variables via media queries.
92
+ if (p.responsive) {
93
+ for (const [key, val] of Object.entries(p.responsive)) {
94
+ styles[`--origo-grid-cols-${key}`] = `repeat(${val}, minmax(0, 1fr))`;
95
+ }
96
+ }
97
+ else if (typeof p.columns === 'object' && p.columns !== null) {
98
+ for (const [key, val] of Object.entries(p.columns)) {
99
+ styles[`--origo-grid-cols-${key}`] = `repeat(${val}, minmax(0, 1fr))`;
100
+ }
101
+ }
102
+ return styles;
103
+ }
104
+ static {
105
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
106
+ }
107
+ };
108
+ return GridComponent = _classThis;
109
+ })();
110
+ exports.GridComponent = GridComponent;
111
+ //# sourceMappingURL=grid.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/grid/grid.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ViewContainerRef } from '@angular/core';
2
+ import { InteractionContract } from '@origostudio/core';
3
+ import { OrigoAdapter, ContainerComponent as IContainerComponent } from '../../../adapters/web/adapter';
4
+ export interface StackProps {
5
+ direction?: 'row' | 'column' | Record<string, 'row' | 'column'>;
6
+ gap?: number | string;
7
+ align?: 'start' | 'center' | 'end' | 'stretch';
8
+ justify?: 'start' | 'center' | 'end' | 'space-between' | 'space-around';
9
+ wrap?: boolean | 'wrap' | 'nowrap';
10
+ permissions?: Record<string, string>;
11
+ rules?: Record<string, unknown>;
12
+ metadata?: Record<string, unknown>;
13
+ 'aria-label'?: string;
14
+ 'aria-describedby'?: string;
15
+ }
16
+ export declare class StackComponent implements OrigoAdapter<StackProps>, IContainerComponent {
17
+ static readonly contractSchema: Record<keyof StackProps, "string" | "number" | "boolean" | "object" | "array">;
18
+ contract: import("@angular/core").InputSignal<InteractionContract<StackProps>>;
19
+ vc: import("@angular/core").Signal<ViewContainerRef>;
20
+ protected props: import("@angular/core").Signal<StackProps>;
21
+ protected get gapValue(): string;
22
+ protected get wrapValue(): string;
23
+ protected get inlineStyles(): Record<string, string>;
24
+ }