@origostudio/origo-design 0.0.47 → 0.0.48

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 (74) hide show
  1. package/CHANGELOG.md +5 -2
  2. package/dist/packages/angular-renderer/CHANGELOG.md +11 -0
  3. package/dist/packages/angular-renderer/package.json +3 -3
  4. package/dist/packages/angular-renderer/src/components/primitives/button/button.component.d.ts +26 -0
  5. package/dist/packages/angular-renderer/src/components/primitives/button/button.component.js +29 -3
  6. package/dist/packages/angular-renderer/src/components/primitives/button/button.component.js.map +1 -1
  7. package/dist/packages/angular-renderer/src/components/primitives/button-group/button-group.component.d.ts +23 -0
  8. package/dist/packages/angular-renderer/src/components/primitives/button-group/button-group.component.js +73 -0
  9. package/dist/packages/angular-renderer/src/components/primitives/button-group/button-group.component.js.map +1 -0
  10. package/dist/packages/angular-renderer/src/components/primitives/floating-action-button/floating-action-button.component.d.ts +41 -0
  11. package/dist/packages/angular-renderer/src/components/primitives/floating-action-button/floating-action-button.component.js +87 -0
  12. package/dist/packages/angular-renderer/src/components/primitives/floating-action-button/floating-action-button.component.js.map +1 -0
  13. package/dist/packages/angular-renderer/src/components/primitives/icon-button/icon-button.component.d.ts +44 -0
  14. package/dist/packages/angular-renderer/src/components/primitives/icon-button/icon-button.component.js +93 -0
  15. package/dist/packages/angular-renderer/src/components/primitives/icon-button/icon-button.component.js.map +1 -0
  16. package/dist/packages/angular-renderer/src/index.d.ts +3 -0
  17. package/dist/packages/angular-renderer/src/index.js +3 -0
  18. package/dist/packages/angular-renderer/src/index.js.map +1 -1
  19. package/dist/packages/angular-renderer/src/lib/primitives.provider.js +6 -0
  20. package/dist/packages/angular-renderer/src/lib/primitives.provider.js.map +1 -1
  21. package/dist/packages/cli/CHANGELOG.md +4 -0
  22. package/dist/packages/cli/package.json +2 -2
  23. package/dist/packages/cli/package.json.bak +2 -2
  24. package/dist/packages/core/CHANGELOG.md +4 -0
  25. package/dist/packages/core/package.json +1 -1
  26. package/dist/packages/core/package.json.bak +1 -1
  27. package/dist/packages/design-tokens/CHANGELOG.md +4 -0
  28. package/dist/packages/design-tokens/package.json +1 -1
  29. package/dist/packages/playground/browser/{chunk-NvAbwArG.js → chunk-4MD_GCgA.js} +1 -1
  30. package/dist/packages/playground/browser/{chunk-D8xCSUn8.js → chunk-B8F7hD0p.js} +1 -1
  31. package/dist/packages/playground/browser/{chunk-KjK48aB_.js → chunk-BQfPUVzZ.js} +1 -1
  32. package/dist/packages/playground/browser/{chunk-Vi7LKue9.js → chunk-COjGAm8R.js} +1 -1
  33. package/dist/packages/playground/browser/{chunk-hQe37O_T.js → chunk-CQQHYSEg.js} +1 -1
  34. package/dist/packages/playground/browser/{chunk-M-QQ6mOa.js → chunk-CdNbNqNV.js} +1 -1
  35. package/dist/packages/playground/browser/{chunk-Ds2pJNq1.js → chunk-ChP61sze.js} +1 -1
  36. package/dist/packages/playground/browser/{chunk-D8NS9RS7.js → chunk-ClmlG9ZJ.js} +1 -1
  37. package/dist/packages/playground/browser/{chunk-DOh0X2ps.js → chunk-CtaS4wCa.js} +1 -1
  38. package/dist/packages/playground/browser/{chunk-CoC5zYQK.js → chunk-DRRJiw3L.js} +1 -1
  39. package/dist/packages/playground/browser/{chunk-Bnpjwr-7.js → chunk-DvVvDpcg.js} +1 -1
  40. package/dist/packages/playground/browser/{chunk-pi5vOCVu.js → chunk-DyfobgsU.js} +1 -1
  41. package/dist/packages/playground/browser/{chunk-DQXI3hQ7.js → chunk-PT1eAqp3.js} +1 -1
  42. package/dist/packages/playground/browser/{chunk-iW-WwSbU.js → chunk-cI3o8oNy.js} +1 -1
  43. package/dist/packages/playground/browser/{chunk-7aXhMYht.js → chunk-zkDXJCJr.js} +1 -1
  44. package/dist/packages/playground/browser/index.html +1 -1
  45. package/dist/packages/playground/browser/main-DTJJSNK4.js +733 -0
  46. package/package.json +1 -1
  47. package/packages/angular-renderer/CHANGELOG.md +11 -0
  48. package/packages/angular-renderer/package.json +3 -3
  49. package/packages/angular-renderer/src/components/primitives/button/button.component.html +16 -1
  50. package/packages/angular-renderer/src/components/primitives/button/button.component.ts +41 -3
  51. package/packages/angular-renderer/src/components/primitives/button-group/button-group.component.html +8 -0
  52. package/packages/angular-renderer/src/components/primitives/button-group/button-group.component.scss +18 -0
  53. package/packages/angular-renderer/src/components/primitives/button-group/button-group.component.ts +71 -0
  54. package/packages/angular-renderer/src/components/primitives/floating-action-button/floating-action-button.component.html +18 -0
  55. package/packages/angular-renderer/src/components/primitives/floating-action-button/floating-action-button.component.scss +47 -0
  56. package/packages/angular-renderer/src/components/primitives/floating-action-button/floating-action-button.component.ts +94 -0
  57. package/packages/angular-renderer/src/components/primitives/icon-button/icon-button.component.html +18 -0
  58. package/packages/angular-renderer/src/components/primitives/icon-button/icon-button.component.scss +34 -0
  59. package/packages/angular-renderer/src/components/primitives/icon-button/icon-button.component.ts +102 -0
  60. package/packages/angular-renderer/src/index.ts +3 -0
  61. package/packages/angular-renderer/src/lib/primitives.provider.ts +6 -0
  62. package/packages/cli/CHANGELOG.md +4 -0
  63. package/packages/cli/package.json +2 -2
  64. package/packages/core/CHANGELOG.md +4 -0
  65. package/packages/core/package.json +1 -1
  66. package/packages/design-tokens/CHANGELOG.md +4 -0
  67. package/packages/design-tokens/package.json +1 -1
  68. package/packages/devtools/CHANGELOG.md +4 -0
  69. package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  70. package/packages/devtools/package.json +3 -3
  71. package/packages/playground/CHANGELOG.md +4 -0
  72. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  73. package/packages/playground/package.json +3 -3
  74. package/dist/packages/playground/browser/main-HYTU6AQS.js +0 -731
package/CHANGELOG.md CHANGED
@@ -1,8 +1,11 @@
1
- ## 0.0.47 (2026-10-07)
1
+ ## 0.0.48 (2026-10-07)
2
2
 
3
3
  ### 🚀 Features
4
4
 
5
- - add comprehensive business UI architecture specifications, component APIs, PRDs, and epic definitions for Origo Design ([f229305](https://github.com/OrigoStudio/origo-design/commit/f229305))
5
+ - initialize sprint status and add story for core buttons and actions ([dc3fb5f](https://github.com/OrigoStudio/origo-design/commit/dc3fb5f))
6
+ - add core button and action primitive components to angular-renderer ([2f7d926](https://github.com/OrigoStudio/origo-design/commit/2f7d926))
7
+ - add core primitives, buttons, and review artifacts for Angular renderer ([f0cbc46](https://github.com/OrigoStudio/origo-design/commit/f0cbc46))
8
+ - add prompt generation script and review prompt artifacts for adversarial testing ([407b427](https://github.com/OrigoStudio/origo-design/commit/407b427))
6
9
 
7
10
  ### ❤️ Thank You
8
11
 
@@ -1,3 +1,14 @@
1
+ ## 0.0.48 (2026-10-07)
2
+
3
+ ### 🚀 Features
4
+
5
+ - add core primitives, buttons, and review artifacts for Angular renderer ([f0cbc46](https://github.com/OrigoStudio/origo-design/commit/f0cbc46))
6
+ - add core button and action primitive components to angular-renderer ([2f7d926](https://github.com/OrigoStudio/origo-design/commit/2f7d926))
7
+
8
+ ### ❤️ Thank You
9
+
10
+ - Hardik Patel @hardikpatelse
11
+
1
12
  ## 0.0.47 (2026-10-07)
2
13
 
3
14
  This was a version bump only for angular-renderer to align it with other projects, there were no code changes.
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@origostudio/angular-renderer",
3
- "version": "0.0.47",
3
+ "version": "0.0.48",
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.47",
10
- "@origostudio/design-tokens": "0.0.47",
9
+ "@origostudio/core": "0.0.48",
10
+ "@origostudio/design-tokens": "0.0.48",
11
11
  "tslib": "^2.3.0",
12
12
  "@analogjs/vite-plugin-angular": "^2.7.1",
13
13
  "zone.js": "^0.16.3",
@@ -6,17 +6,43 @@ export interface ButtonProps {
6
6
  type?: 'button' | 'submit' | 'reset';
7
7
  'aria-label'?: string;
8
8
  'aria-describedby'?: string;
9
+ loading?: boolean;
10
+ severity?: string;
11
+ variant?: string;
12
+ icon?: string;
13
+ iconPosition?: string;
14
+ badge?: string;
15
+ badgeSeverity?: string;
16
+ permissions?: any;
17
+ rules?: any;
18
+ metadata?: any;
9
19
  }
10
20
  export declare class ButtonComponent implements OrigoAdapter<ButtonProps> {
11
21
  static readonly contractSchema: {
12
22
  label: string;
13
23
  disabled: string;
14
24
  type: string;
25
+ loading: string;
26
+ severity: string;
27
+ variant: string;
28
+ icon: string;
29
+ iconPosition: string;
30
+ badge: string;
31
+ badgeSeverity: string;
32
+ permissions: string;
33
+ rules: string;
34
+ metadata: string;
15
35
  };
16
36
  static readonly strictContract = false;
17
37
  contract: import("@angular/core").InputSignal<InteractionContract<ButtonProps>>;
18
38
  computedLabel: import("@angular/core").Signal<string>;
39
+ computedLoading: import("@angular/core").Signal<boolean>;
19
40
  computedDisabled: import("@angular/core").Signal<boolean>;
41
+ computedIcon: import("@angular/core").Signal<string | undefined>;
42
+ computedIconPosition: import("@angular/core").Signal<string>;
43
+ computedBadge: import("@angular/core").Signal<string | undefined>;
44
+ computedBadgeSeverity: import("@angular/core").Signal<string>;
45
+ computedHostClasses: import("@angular/core").Signal<string>;
20
46
  computedType: import("@angular/core").Signal<"button" | "submit" | "reset">;
21
47
  computedAriaLabel: import("@angular/core").Signal<string | undefined>;
22
48
  computedAriaDescribedBy: import("@angular/core").Signal<string | undefined>;
@@ -13,7 +13,7 @@ let ButtonComponent = (() => {
13
13
  changeDetection: core_1.ChangeDetectionStrategy.OnPush,
14
14
  encapsulation: core_1.ViewEncapsulation.ShadowDom,
15
15
  host: {
16
- '[class.origo-button]': 'true',
16
+ '[class]': 'computedHostClasses()',
17
17
  '[attr.data-testid]': 'contract().id ?? ""',
18
18
  },
19
19
  })];
@@ -32,11 +32,37 @@ let ButtonComponent = (() => {
32
32
  label: 'string',
33
33
  disabled: 'boolean',
34
34
  type: 'string',
35
+ loading: 'boolean',
36
+ severity: 'string',
37
+ variant: 'string',
38
+ icon: 'string',
39
+ iconPosition: 'string',
40
+ badge: 'string',
41
+ badgeSeverity: 'string',
42
+ permissions: 'object',
43
+ rules: 'object',
44
+ metadata: 'object',
35
45
  };
36
46
  static strictContract = false;
37
47
  contract = core_1.input.required();
38
48
  computedLabel = (0, core_1.computed)(() => this.contract().props?.label ?? 'Button');
39
- computedDisabled = (0, core_1.computed)(() => !!this.contract().props?.disabled);
49
+ computedLoading = (0, core_1.computed)(() => !!this.contract().props?.loading);
50
+ computedDisabled = (0, core_1.computed)(() => {
51
+ const props = this.contract().props;
52
+ const rulesDisable = props?.rules?.disable === true || props?.permissions?.allow === false;
53
+ return !!props?.disabled || this.computedLoading() || rulesDisable;
54
+ });
55
+ computedIcon = (0, core_1.computed)(() => this.contract().props?.icon);
56
+ computedIconPosition = (0, core_1.computed)(() => this.contract().props?.iconPosition ?? 'left');
57
+ computedBadge = (0, core_1.computed)(() => this.contract().props?.badge);
58
+ computedBadgeSeverity = (0, core_1.computed)(() => this.contract().props?.badgeSeverity ?? 'info');
59
+ computedHostClasses = (0, core_1.computed)(() => {
60
+ const s = this.contract().props?.severity;
61
+ const v = this.contract().props?.variant;
62
+ return ['origo-button', s ? `origo-severity-${s}` : '', v ? `origo-variant-${v}` : '']
63
+ .filter(Boolean)
64
+ .join(' ');
65
+ });
40
66
  computedType = (0, core_1.computed)(() => {
41
67
  const type = this.contract().props?.type;
42
68
  return type === 'button' || type === 'submit' || type === 'reset' ? type : 'button';
@@ -56,7 +82,7 @@ let ButtonComponent = (() => {
56
82
  action = (0, core_1.output)();
57
83
  experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
58
84
  onClick() {
59
- if (this.computedDisabled())
85
+ if (this.computedDisabled() || this.computedLoading())
60
86
  return;
61
87
  const id = this.contract().id;
62
88
  if (!id)
@@ -1 +1 @@
1
- {"version":3,"file":"button.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/button/button.component.ts"],"names":[],"mappings":";;;;AAAA,wCAQuB;AAGvB,iGAA+F;IAsBlF,eAAe;4BAZ3B,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,yBAAyB;YACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;YACtC,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,wBAAiB,CAAC,SAAS;YAC1C,IAAI,EAAE;gBACJ,sBAAsB,EAAE,MAAM;gBAC9B,oBAAoB,EAAE,qBAAqB;aAC5C;SACF,CAAC;;;;;;;;YACF,qLA0CC;;;;QAzCC,MAAM,CAAU,cAAc,GAAG;YAC/B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ;SACf,CAAC;QACF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;QAEvC,QAAQ,GAAG,YAAK,CAAC,QAAQ,EAAoC,CAAC;QAE9D,aAAa,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC;QACzE,gBAAgB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrE,YAAY,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;YACzC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtF,CAAC,CAAC,CAAC;QACH,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,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;gBACzE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACf,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,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,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;gBACtE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,IAAA,aAAM,GAAQ,CAAC;QAEhB,iBAAiB,GAAG,IAAA,aAAM,EAAC,wDAA2B,CAAC,CAAC;QAEhE,OAAO;YACL,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAAE,OAAO;YAEpC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,EAAE;gBAAE,OAAO;YAEhB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;;YAzCU,+DAAe;;;;;AAAf,0CAAe"}
1
+ {"version":3,"file":"button.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/button/button.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { InteractionContract } from '@origostudio/core';
2
+ import { OrigoAdapter } from '../../../adapters/web/adapter';
3
+ export interface ButtonGroupProps {
4
+ orientation?: 'row' | 'column';
5
+ attached?: boolean;
6
+ size?: 'small' | 'medium' | 'large';
7
+ 'aria-label'?: string;
8
+ 'aria-describedby'?: string;
9
+ }
10
+ export declare class ButtonGroupComponent implements OrigoAdapter<ButtonGroupProps> {
11
+ static readonly contractSchema: {
12
+ orientation: string;
13
+ attached: string;
14
+ size: string;
15
+ 'aria-label': string;
16
+ 'aria-describedby': string;
17
+ };
18
+ static readonly strictContract = false;
19
+ contract: import("@angular/core").InputSignal<InteractionContract<ButtonGroupProps>>;
20
+ computedHostClasses: import("@angular/core").Signal<string>;
21
+ computedAriaLabel: import("@angular/core").Signal<string | undefined>;
22
+ computedAriaDescribedBy: import("@angular/core").Signal<string | undefined>;
23
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonGroupComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ let ButtonGroupComponent = (() => {
7
+ let _classDecorators = [(0, core_1.Component)({
8
+ selector: 'origo-button-group',
9
+ standalone: true,
10
+ templateUrl: './button-group.component.html',
11
+ styleUrls: ['./button-group.component.scss'],
12
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
13
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
14
+ host: {
15
+ '[class]': 'computedHostClasses()',
16
+ '[attr.data-testid]': 'contract().id ?? ""',
17
+ },
18
+ })];
19
+ let _classDescriptor;
20
+ let _classExtraInitializers = [];
21
+ let _classThis;
22
+ var ButtonGroupComponent = class {
23
+ static { _classThis = this; }
24
+ static {
25
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
26
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
27
+ ButtonGroupComponent = _classThis = _classDescriptor.value;
28
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
29
+ }
30
+ static contractSchema = {
31
+ orientation: 'string',
32
+ attached: 'boolean',
33
+ size: 'string',
34
+ 'aria-label': 'string',
35
+ 'aria-describedby': 'string',
36
+ };
37
+ static strictContract = false;
38
+ contract = core_1.input.required();
39
+ computedHostClasses = (0, core_1.computed)(() => {
40
+ const rawO = this.contract().props?.orientation;
41
+ const o = rawO === 'column' ? 'column' : 'row';
42
+ const attached = this.contract().props?.attached;
43
+ const rawSize = this.contract().props?.size;
44
+ const size = ['small', 'medium', 'large'].includes(rawSize) ? rawSize : undefined;
45
+ return [
46
+ 'origo-button-group',
47
+ `origo-orientation-${o}`,
48
+ attached ? 'origo-attached' : '',
49
+ size ? `origo-size-${size}` : '',
50
+ ]
51
+ .filter(Boolean)
52
+ .join(' ');
53
+ });
54
+ computedAriaLabel = (0, core_1.computed)(() => {
55
+ const label = this.contract().props?.['aria-label'];
56
+ return label !== undefined && label !== null && String(label).trim() !== ''
57
+ ? String(label)
58
+ : undefined;
59
+ });
60
+ computedAriaDescribedBy = (0, core_1.computed)(() => {
61
+ const desc = this.contract().props?.['aria-describedby'];
62
+ return desc !== undefined && desc !== null && String(desc).trim() !== ''
63
+ ? String(desc)
64
+ : undefined;
65
+ });
66
+ static {
67
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
68
+ }
69
+ };
70
+ return ButtonGroupComponent = _classThis;
71
+ })();
72
+ exports.ButtonGroupComponent = ButtonGroupComponent;
73
+ //# sourceMappingURL=button-group.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/button-group/button-group.component.ts"],"names":[],"mappings":";;;;AAAA,wCAMuB;IAwBV,oBAAoB;4BAZhC,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,+BAA+B;YAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;YAC5C,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,wBAAiB,CAAC,SAAS;YAC1C,IAAI,EAAE;gBACJ,SAAS,EAAE,uBAAuB;gBAClC,oBAAoB,EAAE,qBAAqB;aAC5C;SACF,CAAC;;;;;;;;YACF,qLAwCC;;;;QAvCC,MAAM,CAAU,cAAc,GAAG;YAC/B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,QAAQ;YACtB,kBAAkB,EAAE,QAAQ;SAC7B,CAAC;QACF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;QAEvC,QAAQ,GAAG,YAAK,CAAC,QAAQ,EAAyC,CAAC;QAEnE,mBAAmB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC;YAChD,MAAM,CAAC,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;YAC5C,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,OAAO;gBACL,oBAAoB;gBACpB,qBAAqB,CAAC,EAAE;gBACxB,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBAChC,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;aACjC;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,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,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;gBACzE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACf,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,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,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;gBACtE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC,CAAC;;YAvCQ,+DAAoB;;;;;AAApB,oDAAoB"}
@@ -0,0 +1,41 @@
1
+ import { InteractionContract } from '@origostudio/core';
2
+ import { OrigoAdapter } from '../../../adapters/web/adapter';
3
+ export interface FabProps {
4
+ icon?: string;
5
+ label?: string;
6
+ severity?: string;
7
+ loading?: boolean;
8
+ disabled?: boolean;
9
+ position?: 'bottom-right' | 'bottom-left';
10
+ 'aria-label'?: string;
11
+ 'aria-describedby'?: string;
12
+ permissions?: any;
13
+ rules?: any;
14
+ metadata?: any;
15
+ }
16
+ export declare class FloatingActionButtonComponent implements OrigoAdapter<FabProps> {
17
+ static readonly contractSchema: {
18
+ icon: string;
19
+ label: string;
20
+ severity: string;
21
+ loading: string;
22
+ disabled: string;
23
+ position: string;
24
+ 'aria-label': string;
25
+ 'aria-describedby': string;
26
+ permissions: string;
27
+ rules: string;
28
+ metadata: string;
29
+ };
30
+ static readonly strictContract = false;
31
+ contract: import("@angular/core").InputSignal<InteractionContract<FabProps>>;
32
+ computedIcon: import("@angular/core").Signal<string>;
33
+ computedLabel: import("@angular/core").Signal<string>;
34
+ computedLoading: import("@angular/core").Signal<boolean>;
35
+ computedDisabled: import("@angular/core").Signal<boolean>;
36
+ computedAriaLabel: import("@angular/core").Signal<string | undefined>;
37
+ computedAriaDescribedBy: import("@angular/core").Signal<string | undefined>;
38
+ computedHostClasses: import("@angular/core").Signal<string>;
39
+ private experienceAdapter;
40
+ onClick(): void;
41
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FloatingActionButtonComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const experience_adapter_service_1 = require("../../../adapters/web/experience-adapter.service");
7
+ let FloatingActionButtonComponent = (() => {
8
+ let _classDecorators = [(0, core_1.Component)({
9
+ selector: 'origo-fab',
10
+ standalone: true,
11
+ templateUrl: './floating-action-button.component.html',
12
+ styleUrls: ['./floating-action-button.component.scss'],
13
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
14
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
15
+ host: {
16
+ '[class]': 'computedHostClasses()',
17
+ '[attr.data-testid]': 'contract().id ?? ""',
18
+ },
19
+ })];
20
+ let _classDescriptor;
21
+ let _classExtraInitializers = [];
22
+ let _classThis;
23
+ var FloatingActionButtonComponent = 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
+ FloatingActionButtonComponent = _classThis = _classDescriptor.value;
29
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
30
+ }
31
+ static contractSchema = {
32
+ icon: 'string',
33
+ label: 'string',
34
+ severity: 'string',
35
+ loading: 'boolean',
36
+ disabled: 'boolean',
37
+ position: 'string',
38
+ 'aria-label': 'string',
39
+ 'aria-describedby': 'string',
40
+ permissions: 'object',
41
+ rules: 'object',
42
+ metadata: 'object',
43
+ };
44
+ static strictContract = false;
45
+ contract = core_1.input.required();
46
+ computedIcon = (0, core_1.computed)(() => this.contract().props?.icon ?? '');
47
+ computedLabel = (0, core_1.computed)(() => this.contract().props?.label ?? '');
48
+ computedLoading = (0, core_1.computed)(() => !!this.contract().props?.loading);
49
+ computedDisabled = (0, core_1.computed)(() => {
50
+ const props = this.contract().props;
51
+ const rulesDisable = props?.rules?.disable === true || props?.permissions?.allow === false;
52
+ return !!props?.disabled || this.computedLoading() || rulesDisable;
53
+ });
54
+ computedAriaLabel = (0, core_1.computed)(() => {
55
+ const p = this.contract().props;
56
+ const v = p?.['aria-label'] || p?.label;
57
+ return v ? String(v) : undefined;
58
+ });
59
+ computedAriaDescribedBy = (0, core_1.computed)(() => {
60
+ const v = this.contract().props?.['aria-describedby'];
61
+ return v ? String(v) : undefined;
62
+ });
63
+ computedHostClasses = (0, core_1.computed)(() => {
64
+ const s = this.contract().props?.severity;
65
+ const rawP = this.contract().props?.position;
66
+ const p = ['bottom-left', 'bottom-right'].includes(rawP) ? rawP : 'bottom-right';
67
+ return ['origo-fab', s ? `origo-severity-${s}` : '', `origo-position-${p}`]
68
+ .filter(Boolean)
69
+ .join(' ');
70
+ });
71
+ experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
72
+ onClick() {
73
+ if (this.computedDisabled() || this.computedLoading())
74
+ return;
75
+ const id = this.contract().id;
76
+ if (!id)
77
+ return;
78
+ this.experienceAdapter.dispatchCapability(id, 'click');
79
+ }
80
+ static {
81
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
82
+ }
83
+ };
84
+ return FloatingActionButtonComponent = _classThis;
85
+ })();
86
+ exports.FloatingActionButtonComponent = FloatingActionButtonComponent;
87
+ //# sourceMappingURL=floating-action-button.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floating-action-button.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/floating-action-button/floating-action-button.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { InteractionContract } from '@origostudio/core';
2
+ import { OrigoAdapter } from '../../../adapters/web/adapter';
3
+ export interface IconButtonProps {
4
+ icon?: string;
5
+ label?: string;
6
+ tooltip?: string;
7
+ severity?: string;
8
+ variant?: string;
9
+ rounded?: boolean;
10
+ loading?: boolean;
11
+ disabled?: boolean;
12
+ 'aria-label'?: string;
13
+ 'aria-describedby'?: string;
14
+ permissions?: any;
15
+ rules?: any;
16
+ metadata?: any;
17
+ }
18
+ export declare class IconButtonComponent implements OrigoAdapter<IconButtonProps> {
19
+ static readonly contractSchema: {
20
+ icon: string;
21
+ label: string;
22
+ tooltip: string;
23
+ severity: string;
24
+ variant: string;
25
+ rounded: string;
26
+ loading: string;
27
+ disabled: string;
28
+ 'aria-label': string;
29
+ 'aria-describedby': string;
30
+ permissions: string;
31
+ rules: string;
32
+ metadata: string;
33
+ };
34
+ static readonly strictContract = false;
35
+ contract: import("@angular/core").InputSignal<InteractionContract<IconButtonProps>>;
36
+ computedIcon: import("@angular/core").Signal<string>;
37
+ computedLoading: import("@angular/core").Signal<boolean>;
38
+ computedDisabled: import("@angular/core").Signal<boolean>;
39
+ computedAriaLabel: import("@angular/core").Signal<string | undefined>;
40
+ computedAriaDescribedBy: import("@angular/core").Signal<string | undefined>;
41
+ computedHostClasses: import("@angular/core").Signal<string>;
42
+ private experienceAdapter;
43
+ onClick(): void;
44
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IconButtonComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const experience_adapter_service_1 = require("../../../adapters/web/experience-adapter.service");
7
+ let IconButtonComponent = (() => {
8
+ let _classDecorators = [(0, core_1.Component)({
9
+ selector: 'origo-icon-button',
10
+ standalone: true,
11
+ templateUrl: './icon-button.component.html',
12
+ styleUrls: ['./icon-button.component.scss'],
13
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
14
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
15
+ host: {
16
+ '[class]': 'computedHostClasses()',
17
+ '[attr.data-testid]': 'contract().id ?? ""',
18
+ },
19
+ })];
20
+ let _classDescriptor;
21
+ let _classExtraInitializers = [];
22
+ let _classThis;
23
+ var IconButtonComponent = 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
+ IconButtonComponent = _classThis = _classDescriptor.value;
29
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
30
+ }
31
+ static contractSchema = {
32
+ icon: 'string',
33
+ label: 'string',
34
+ tooltip: 'string',
35
+ severity: 'string',
36
+ variant: 'string',
37
+ rounded: 'boolean',
38
+ loading: 'boolean',
39
+ disabled: 'boolean',
40
+ 'aria-label': 'string',
41
+ 'aria-describedby': 'string',
42
+ permissions: 'object',
43
+ rules: 'object',
44
+ metadata: 'object',
45
+ };
46
+ static strictContract = false;
47
+ contract = core_1.input.required();
48
+ computedIcon = (0, core_1.computed)(() => this.contract().props?.icon ?? '');
49
+ computedLoading = (0, core_1.computed)(() => !!this.contract().props?.loading);
50
+ computedDisabled = (0, core_1.computed)(() => {
51
+ const props = this.contract().props;
52
+ const rulesDisable = props?.rules?.disable === true || props?.permissions?.allow === false;
53
+ return !!props?.disabled || this.computedLoading() || rulesDisable;
54
+ });
55
+ computedAriaLabel = (0, core_1.computed)(() => {
56
+ const p = this.contract().props;
57
+ const v = p?.['aria-label'] || p?.label;
58
+ return v ? String(v) : undefined;
59
+ });
60
+ computedAriaDescribedBy = (0, core_1.computed)(() => {
61
+ const v = this.contract().props?.['aria-describedby'];
62
+ return v ? String(v) : undefined;
63
+ });
64
+ computedHostClasses = (0, core_1.computed)(() => {
65
+ const s = this.contract().props?.severity;
66
+ const v = this.contract().props?.variant;
67
+ const rounded = this.contract().props?.rounded;
68
+ return [
69
+ 'origo-icon-button',
70
+ s ? `origo-severity-${s}` : '',
71
+ v ? `origo-variant-${v}` : '',
72
+ rounded ? 'origo-rounded' : '',
73
+ ]
74
+ .filter(Boolean)
75
+ .join(' ');
76
+ });
77
+ experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
78
+ onClick() {
79
+ if (this.computedDisabled() || this.computedLoading())
80
+ return;
81
+ const id = this.contract().id;
82
+ if (!id)
83
+ return;
84
+ this.experienceAdapter.dispatchCapability(id, 'click');
85
+ }
86
+ static {
87
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
88
+ }
89
+ };
90
+ return IconButtonComponent = _classThis;
91
+ })();
92
+ exports.IconButtonComponent = IconButtonComponent;
93
+ //# sourceMappingURL=icon-button.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-button.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/icon-button/icon-button.component.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export * from './adapters/web/adapter';
5
5
  export * from './components/primitives/vbox/vbox.component';
6
6
  export * from './components/primitives/text-input/text-input.component';
7
7
  export * from './components/primitives/button/button.component';
8
+ export * from './components/primitives/icon-button/icon-button.component';
9
+ export * from './components/primitives/button-group/button-group.component';
10
+ export * from './components/primitives/floating-action-button/floating-action-button.component';
8
11
  export * from './devtools';
9
12
  export * from './components/primitives/select/select.component';
10
13
  export * from './components/primitives/checkbox/checkbox.component';
@@ -8,6 +8,9 @@ tslib_1.__exportStar(require("./adapters/web/adapter"), exports);
8
8
  tslib_1.__exportStar(require("./components/primitives/vbox/vbox.component"), exports);
9
9
  tslib_1.__exportStar(require("./components/primitives/text-input/text-input.component"), exports);
10
10
  tslib_1.__exportStar(require("./components/primitives/button/button.component"), exports);
11
+ tslib_1.__exportStar(require("./components/primitives/icon-button/icon-button.component"), exports);
12
+ tslib_1.__exportStar(require("./components/primitives/button-group/button-group.component"), exports);
13
+ tslib_1.__exportStar(require("./components/primitives/floating-action-button/floating-action-button.component"), exports);
11
14
  tslib_1.__exportStar(require("./devtools"), exports);
12
15
  tslib_1.__exportStar(require("./components/primitives/select/select.component"), exports);
13
16
  tslib_1.__exportStar(require("./components/primitives/checkbox/checkbox.component"), exports);
@@ -1 +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;AAChE,qDAA2B;AAC3B,0FAAgE;AAChE,8FAAoE;AACpE,oGAA0E;AAC1E,8FAAoE;AACpE,sFAA4D;AAC5D,wFAA8D;AAC9D,kGAAwE;AACxE,oEAA0C;AAC1C,gGAAsE;AACtE,sFAA4D;AAC5D,sFAA4D;AAC5D,4FAAkE;AAClE,sFAA4D;AAC5D,oGAA0E;AAC1E,oFAA0D"}
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;AAChE,oGAA0E;AAC1E,sGAA4E;AAC5E,0HAAgG;AAChG,qDAA2B;AAC3B,0FAAgE;AAChE,8FAAoE;AACpE,oGAA0E;AAC1E,8FAAoE;AACpE,sFAA4D;AAC5D,wFAA8D;AAC9D,kGAAwE;AACxE,oEAA0C;AAC1C,gGAAsE;AACtE,sFAA4D;AAC5D,sFAA4D;AAC5D,4FAAkE;AAClE,sFAA4D;AAC5D,oGAA0E;AAC1E,oFAA0D"}
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.provideOrigo9Primitives = provideOrigo9Primitives;
4
4
  const core_1 = require("@angular/core");
5
5
  const renderer_tokens_1 = require("./renderer.tokens");
6
+ const icon_button_component_1 = require("../components/primitives/icon-button/icon-button.component");
7
+ const button_group_component_1 = require("../components/primitives/button-group/button-group.component");
8
+ const floating_action_button_component_1 = require("../components/primitives/floating-action-button/floating-action-button.component");
6
9
  const select_component_1 = require("../components/primitives/select/select.component");
7
10
  const checkbox_component_1 = require("../components/primitives/checkbox/checkbox.component");
8
11
  const radio_group_component_1 = require("../components/primitives/radio-group/radio-group.component");
@@ -23,6 +26,9 @@ const button_component_1 = require("../components/primitives/button/button.compo
23
26
  const vbox_component_1 = require("../components/primitives/vbox/vbox.component");
24
27
  function provideOrigo9Primitives() {
25
28
  const registryMap = new Map([
29
+ ['IconButton', icon_button_component_1.IconButtonComponent],
30
+ ['ButtonGroup', button_group_component_1.ButtonGroupComponent],
31
+ ['FloatingActionButton', floating_action_button_component_1.FloatingActionButtonComponent],
26
32
  ['Select', select_component_1.SelectComponent],
27
33
  ['Checkbox', checkbox_component_1.CheckboxComponent],
28
34
  ['RadioGroup', radio_group_component_1.RadioGroupComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.provider.js","sourceRoot":"","sources":["../../../../../packages/angular-renderer/src/lib/primitives.provider.ts"],"names":[],"mappings":";;AAqBA,0DA8BC;AAnDD,wCAA+E;AAC/E,uDAAsD;AACtD,uFAAmF;AACnF,6FAAyF;AACzF,sGAAiG;AACjG,6FAAyF;AACzF,iFAA6E;AAC7E,oFAAgF;AAChF,mGAA8F;AAC9F,gGAA2F;AAC3F,iFAA6E;AAC7E,iFAA6E;AAC7E,0FAAsF;AACtF,iFAA6E;AAC7E,sGAAkG;AAClG,uFAAmF;AACnF,iFAA6E;AAC7E,mGAA8F;AAC9F,uFAAmF;AACnF,iFAA6E;AAE7E,SAAgB,uBAAuB;IACrC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAkB;QAC3C,CAAC,QAAQ,EAAE,kCAAe,CAAC;QAC3B,CAAC,UAAU,EAAE,sCAAiB,CAAC;QAC/B,CAAC,YAAY,EAAE,2CAAmB,CAAC;QACnC,CAAC,UAAU,EAAE,sCAAiB,CAAC;QAC/B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,OAAO,EAAE,gCAAc,CAAC;QACzB,CAAC,WAAW,EAAE,yCAAkB,CAAC;QACjC,CAAC,UAAU,EAAE,uCAAiB,CAAC;QAC/B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,SAAS,EAAE,oCAAgB,CAAC;QAC7B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,aAAa,EAAE,4CAAoB,CAAC;QACrC,CAAC,YAAY,EAAE,oCAAgB,CAAC;QAChC,CAAC,QAAQ,EAAE,kCAAe,CAAC;QAC3B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,WAAW,EAAE,yCAAkB,CAAC;QACjC,CAAC,QAAQ,EAAE,kCAAe,CAAC;QAC3B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,MAAM,EAAE,8BAAa,CAAC,EAAE,yDAAyD;KACnF,CAAC,CAAC;IAEH,OAAO,IAAA,+BAAwB,EAAC;QAC9B;YACE,OAAO,EAAE,mCAAiB;YAC1B,QAAQ,EAAE,WAAW;SACtB;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"primitives.provider.js","sourceRoot":"","sources":["../../../../../packages/angular-renderer/src/lib/primitives.provider.ts"],"names":[],"mappings":";;AAwBA,0DAiCC;AAzDD,wCAA+E;AAC/E,uDAAsD;AACtD,sGAAiG;AACjG,yGAAoG;AACpG,uIAAiI;AACjI,uFAAmF;AACnF,6FAAyF;AACzF,sGAAiG;AACjG,6FAAyF;AACzF,iFAA6E;AAC7E,oFAAgF;AAChF,mGAA8F;AAC9F,gGAA2F;AAC3F,iFAA6E;AAC7E,iFAA6E;AAC7E,0FAAsF;AACtF,iFAA6E;AAC7E,sGAAkG;AAClG,uFAAmF;AACnF,iFAA6E;AAC7E,mGAA8F;AAC9F,uFAAmF;AACnF,iFAA6E;AAE7E,SAAgB,uBAAuB;IACrC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAkB;QAC3C,CAAC,YAAY,EAAE,2CAAmB,CAAC;QACnC,CAAC,aAAa,EAAE,6CAAoB,CAAC;QACrC,CAAC,sBAAsB,EAAE,gEAA6B,CAAC;QACvD,CAAC,QAAQ,EAAE,kCAAe,CAAC;QAC3B,CAAC,UAAU,EAAE,sCAAiB,CAAC;QAC/B,CAAC,YAAY,EAAE,2CAAmB,CAAC;QACnC,CAAC,UAAU,EAAE,sCAAiB,CAAC;QAC/B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,OAAO,EAAE,gCAAc,CAAC;QACzB,CAAC,WAAW,EAAE,yCAAkB,CAAC;QACjC,CAAC,UAAU,EAAE,uCAAiB,CAAC;QAC/B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,SAAS,EAAE,oCAAgB,CAAC;QAC7B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,aAAa,EAAE,4CAAoB,CAAC;QACrC,CAAC,YAAY,EAAE,oCAAgB,CAAC;QAChC,CAAC,QAAQ,EAAE,kCAAe,CAAC;QAC3B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,WAAW,EAAE,yCAAkB,CAAC;QACjC,CAAC,QAAQ,EAAE,kCAAe,CAAC;QAC3B,CAAC,MAAM,EAAE,8BAAa,CAAC;QACvB,CAAC,MAAM,EAAE,8BAAa,CAAC,EAAE,yDAAyD;KACnF,CAAC,CAAC;IAEH,OAAO,IAAA,+BAAwB,EAAC;QAC9B;YACE,OAAO,EAAE,mCAAiB;YAC1B,QAAQ,EAAE,WAAW;SACtB;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,7 @@
1
+ ## 0.0.48 (2026-10-07)
2
+
3
+ This was a version bump only for cli to align it with other projects, there were no code changes.
4
+
1
5
  ## 0.0.47 (2026-10-07)
2
6
 
3
7
  This was a version bump only for cli to align it with other projects, there were no code changes.