@origostudio/origo-design 0.0.55 → 0.0.56

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 (88) hide show
  1. package/CHANGELOG.md +4 -4
  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/dialog/dialog.component.d.ts +153 -0
  5. package/dist/packages/angular-renderer/src/components/primitives/dialog/dialog.component.js +346 -0
  6. package/dist/packages/angular-renderer/src/components/primitives/dialog/dialog.component.js.map +1 -0
  7. package/dist/packages/angular-renderer/src/components/primitives/drawer/drawer.component.d.ts +93 -0
  8. package/dist/packages/angular-renderer/src/components/primitives/drawer/drawer.component.js +205 -0
  9. package/dist/packages/angular-renderer/src/components/primitives/drawer/drawer.component.js.map +1 -0
  10. package/dist/packages/angular-renderer/src/components/primitives/modal/modal.component.d.ts +106 -0
  11. package/dist/packages/angular-renderer/src/components/primitives/modal/modal.component.js +61 -0
  12. package/dist/packages/angular-renderer/src/components/primitives/modal/modal.component.js.map +1 -0
  13. package/dist/packages/angular-renderer/src/components/primitives/popover/popover.component.d.ts +82 -0
  14. package/dist/packages/angular-renderer/src/components/primitives/popover/popover.component.js +280 -0
  15. package/dist/packages/angular-renderer/src/components/primitives/popover/popover.component.js.map +1 -0
  16. package/dist/packages/angular-renderer/src/components/primitives/tooltip/tooltip.component.d.ts +86 -0
  17. package/dist/packages/angular-renderer/src/components/primitives/tooltip/tooltip.component.js +272 -0
  18. package/dist/packages/angular-renderer/src/components/primitives/tooltip/tooltip.component.js.map +1 -0
  19. package/dist/packages/angular-renderer/src/index.d.ts +5 -0
  20. package/dist/packages/angular-renderer/src/index.js +5 -0
  21. package/dist/packages/angular-renderer/src/index.js.map +1 -1
  22. package/dist/packages/angular-renderer/src/lib/overlay/overlay-ref.d.ts +13 -0
  23. package/dist/packages/angular-renderer/src/lib/overlay/overlay-ref.js +18 -0
  24. package/dist/packages/angular-renderer/src/lib/overlay/overlay-ref.js.map +1 -1
  25. package/dist/packages/angular-renderer/src/lib/overlay/overlay.models.d.ts +10 -0
  26. package/dist/packages/angular-renderer/src/lib/primitives.provider.js +11 -0
  27. package/dist/packages/angular-renderer/src/lib/primitives.provider.js.map +1 -1
  28. package/dist/packages/cli/CHANGELOG.md +4 -0
  29. package/dist/packages/cli/package.json +2 -2
  30. package/dist/packages/cli/package.json.bak +2 -2
  31. package/dist/packages/core/CHANGELOG.md +4 -0
  32. package/dist/packages/core/package.json +1 -1
  33. package/dist/packages/core/package.json.bak +1 -1
  34. package/dist/packages/design-tokens/CHANGELOG.md +4 -0
  35. package/dist/packages/design-tokens/package.json +1 -1
  36. package/dist/packages/playground/browser/{chunk-COdU4TAE.js → chunk-1EpKMVqg.js} +1 -1
  37. package/dist/packages/playground/browser/{chunk-FZuwRWVL.js → chunk-99Z1ZSho.js} +1 -1
  38. package/dist/packages/playground/browser/{chunk-ChIFPhYz.js → chunk-B6I7DcL1.js} +1 -1
  39. package/dist/packages/playground/browser/{chunk-xkhVqkfX.js → chunk-BJUlPnGj.js} +1 -1
  40. package/dist/packages/playground/browser/{chunk-BtTuZVyy.js → chunk-BQzQEZtb.js} +1 -1
  41. package/dist/packages/playground/browser/{chunk-CkxX-6B-.js → chunk-BhCIuVBX.js} +1 -1
  42. package/dist/packages/playground/browser/{chunk-DYVZHQvW.js → chunk-CKodZfQB.js} +1 -1
  43. package/dist/packages/playground/browser/{chunk-DhQakfe5.js → chunk-CVI627RV.js} +1 -1
  44. package/dist/packages/playground/browser/{chunk-DT7XZi8x.js → chunk-ClkrBRsl.js} +1 -1
  45. package/dist/packages/playground/browser/{chunk-x-oQTX69.js → chunk-D9WDO3Mq.js} +1 -1
  46. package/dist/packages/playground/browser/{chunk-CsaBv_7w.js → chunk-DFbzJcTS.js} +1 -1
  47. package/dist/packages/playground/browser/{chunk-DYyPC2oE.js → chunk-DiYrE5js.js} +1 -1
  48. package/dist/packages/playground/browser/{chunk-DVT-phDq.js → chunk-Dq1v5PE5.js} +1 -1
  49. package/dist/packages/playground/browser/{chunk-BrNyIaRu.js → chunk-DyacuCzl.js} +1 -1
  50. package/dist/packages/playground/browser/{chunk-1qL4kcgA.js → chunk-YNHZb2Tp.js} +1 -1
  51. package/dist/packages/playground/browser/index.html +1 -1
  52. package/dist/packages/playground/browser/main-LRA6JC6Y.js +894 -0
  53. package/package.json +1 -1
  54. package/packages/angular-renderer/CHANGELOG.md +11 -0
  55. package/packages/angular-renderer/package.json +3 -3
  56. package/packages/angular-renderer/src/components/primitives/dialog/dialog.component.html +49 -0
  57. package/packages/angular-renderer/src/components/primitives/dialog/dialog.component.scss +102 -0
  58. package/packages/angular-renderer/src/components/primitives/dialog/dialog.component.ts +415 -0
  59. package/packages/angular-renderer/src/components/primitives/drawer/drawer.component.html +38 -0
  60. package/packages/angular-renderer/src/components/primitives/drawer/drawer.component.scss +76 -0
  61. package/packages/angular-renderer/src/components/primitives/drawer/drawer.component.ts +248 -0
  62. package/packages/angular-renderer/src/components/primitives/modal/modal.component.html +13 -0
  63. package/packages/angular-renderer/src/components/primitives/modal/modal.component.scss +3 -0
  64. package/packages/angular-renderer/src/components/primitives/modal/modal.component.ts +56 -0
  65. package/packages/angular-renderer/src/components/primitives/popover/popover.component.html +41 -0
  66. package/packages/angular-renderer/src/components/primitives/popover/popover.component.scss +77 -0
  67. package/packages/angular-renderer/src/components/primitives/popover/popover.component.ts +345 -0
  68. package/packages/angular-renderer/src/components/primitives/tooltip/tooltip.component.html +27 -0
  69. package/packages/angular-renderer/src/components/primitives/tooltip/tooltip.component.scss +30 -0
  70. package/packages/angular-renderer/src/components/primitives/tooltip/tooltip.component.ts +330 -0
  71. package/packages/angular-renderer/src/index.ts +5 -0
  72. package/packages/angular-renderer/src/lib/overlay/overlay-ref.ts +31 -0
  73. package/packages/angular-renderer/src/lib/overlay/overlay.models.ts +10 -0
  74. package/packages/angular-renderer/src/lib/primitives.provider.ts +11 -0
  75. package/packages/angular-renderer/src/styles/overlay.scss +70 -26
  76. package/packages/cli/CHANGELOG.md +4 -0
  77. package/packages/cli/package.json +2 -2
  78. package/packages/core/CHANGELOG.md +4 -0
  79. package/packages/core/package.json +1 -1
  80. package/packages/design-tokens/CHANGELOG.md +4 -0
  81. package/packages/design-tokens/package.json +1 -1
  82. package/packages/devtools/CHANGELOG.md +4 -0
  83. package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  84. package/packages/devtools/package.json +3 -3
  85. package/packages/playground/CHANGELOG.md +4 -0
  86. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  87. package/packages/playground/package.json +3 -3
  88. package/dist/packages/playground/browser/main-UNDFLKYI.js +0 -889
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DrawerComponent = exports.DrawerContractSchema = 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 experience_adapter_service_1 = require("../../../adapters/web/experience-adapter.service");
8
+ const overlay_service_1 = require("../../../lib/overlay/overlay.service");
9
+ let drawerCounter = 0;
10
+ exports.DrawerContractSchema = {
11
+ permissions: 'object',
12
+ rules: 'object',
13
+ metadata: 'object',
14
+ 'aria-label': 'string',
15
+ 'aria-describedby': 'string',
16
+ visible: 'boolean',
17
+ position: 'string',
18
+ modal: 'boolean',
19
+ dismissible: 'boolean',
20
+ closeOnEscape: 'boolean',
21
+ blockScroll: 'boolean',
22
+ size: 'string',
23
+ header: 'string',
24
+ footer: 'string',
25
+ closable: 'boolean',
26
+ data: 'object',
27
+ };
28
+ let DrawerComponent = (() => {
29
+ let _classDecorators = [(0, core_1.Component)({
30
+ selector: 'origo-drawer',
31
+ standalone: true,
32
+ templateUrl: './drawer.component.html',
33
+ styleUrls: ['./drawer.component.scss'],
34
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
35
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
36
+ host: {
37
+ '[class.origo-drawer-host]': 'true',
38
+ '[attr.data-testid]': 'contract().id',
39
+ },
40
+ })];
41
+ let _classDescriptor;
42
+ let _classExtraInitializers = [];
43
+ let _classThis;
44
+ var DrawerComponent = class {
45
+ static { _classThis = this; }
46
+ static {
47
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
48
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
49
+ DrawerComponent = _classThis = _classDescriptor.value;
50
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
51
+ }
52
+ static contractSchema = exports.DrawerContractSchema;
53
+ static strictContract = false;
54
+ contract = core_1.input.required();
55
+ vc = (0, core_1.viewChild)('vc', { read: core_1.ViewContainerRef });
56
+ drawerTemplate = (0, core_1.viewChild)('drawerTemplate', { read: core_1.TemplateRef });
57
+ visibleChange = (0, core_1.output)();
58
+ open = (0, core_1.output)();
59
+ close = (0, core_1.output)();
60
+ show = (0, core_1.output)();
61
+ hide = (0, core_1.output)();
62
+ overlayService = (0, core_1.inject)(overlay_service_1.OrigoOverlayService);
63
+ destroyRef = (0, core_1.inject)(core_1.DestroyRef);
64
+ vcr = (0, core_1.inject)(core_1.ViewContainerRef);
65
+ experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
66
+ id = ++drawerCounter;
67
+ headerId = `origo-drawer-header-${this.id}`;
68
+ overlayRef = null;
69
+ isOpen = false;
70
+ coercedProps = (0, core_1.computed)(() => (0, adapter_1.coerceContractProps)(this.contract()?.props ?? {}, exports.DrawerContractSchema));
71
+ computedVisible = (0, core_1.computed)(() => !!this.coercedProps().visible);
72
+ computedPosition = (0, core_1.computed)(() => this.coercedProps().position ?? 'left');
73
+ computedModal = (0, core_1.computed)(() => this.coercedProps().modal !== false);
74
+ computedDismissible = (0, core_1.computed)(() => this.coercedProps().dismissible !== false);
75
+ computedCloseOnEscape = (0, core_1.computed)(() => this.coercedProps().closeOnEscape !== false);
76
+ computedSize = (0, core_1.computed)(() => this.coercedProps().size ?? '320px');
77
+ computedHeader = (0, core_1.computed)(() => this.coercedProps().header);
78
+ computedFooter = (0, core_1.computed)(() => this.coercedProps().footer);
79
+ computedClosable = (0, core_1.computed)(() => this.coercedProps().closable !== false);
80
+ computedAriaLabel = (0, core_1.computed)(() => {
81
+ const label = this.contract()?.props?.['aria-label'];
82
+ return label !== undefined && label !== null ? String(label) : 'Drawer';
83
+ });
84
+ computedAriaDescribedBy = (0, core_1.computed)(() => {
85
+ const desc = this.contract()?.props?.['aria-describedby'];
86
+ return desc !== undefined && desc !== null ? String(desc) : undefined;
87
+ });
88
+ constructor() {
89
+ (0, core_1.effect)(() => {
90
+ const visible = this.computedVisible();
91
+ if (visible && !this.isOpen) {
92
+ this.openDrawer();
93
+ }
94
+ else if (!visible && this.isOpen) {
95
+ this.closeDrawer(false);
96
+ }
97
+ });
98
+ this.destroyRef.onDestroy(() => {
99
+ this.cleanup();
100
+ });
101
+ }
102
+ openDrawer() {
103
+ if (this.isOpen)
104
+ return;
105
+ const tpl = this.drawerTemplate();
106
+ if (!tpl)
107
+ return;
108
+ const pos = this.computedPosition();
109
+ const size = this.computedSize();
110
+ let alignment = 'start';
111
+ let width = size;
112
+ let height = '100%';
113
+ switch (pos) {
114
+ case 'right':
115
+ alignment = 'end';
116
+ width = size;
117
+ height = '100%';
118
+ break;
119
+ case 'top':
120
+ alignment = 'top';
121
+ width = '100%';
122
+ height = size;
123
+ break;
124
+ case 'bottom':
125
+ alignment = 'bottom';
126
+ width = '100%';
127
+ height = size;
128
+ break;
129
+ case 'left':
130
+ default:
131
+ alignment = 'start';
132
+ width = size;
133
+ height = '100%';
134
+ break;
135
+ }
136
+ const config = {
137
+ position: {
138
+ type: 'global',
139
+ position: alignment,
140
+ width,
141
+ height,
142
+ },
143
+ hasBackdrop: this.computedModal(),
144
+ backdropClass: 'origo-drawer-backdrop',
145
+ panelClass: ['origo-overlay-pane--drawer', `origo-overlay-pane--drawer-${pos}`],
146
+ closeOnBackdropClick: this.computedDismissible(),
147
+ closeOnOutsideClick: this.computedDismissible(),
148
+ closeOnEscape: this.computedCloseOnEscape(),
149
+ trapFocus: this.computedModal(),
150
+ viewContainerRef: this.vcr,
151
+ };
152
+ this.overlayRef = this.overlayService.create(config, this.destroyRef);
153
+ this.overlayRef.open(tpl, this.vcr);
154
+ this.isOpen = true;
155
+ this.open.emit();
156
+ this.show.emit();
157
+ this.experienceAdapter.updateState(this.contract().id, 'visible', true);
158
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'open', undefined);
159
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'show', undefined);
160
+ this.overlayRef.afterClosed().then(result => {
161
+ if (this.isOpen) {
162
+ this.isOpen = false;
163
+ this.visibleChange.emit(false);
164
+ this.close.emit();
165
+ this.hide.emit();
166
+ this.experienceAdapter.updateState(this.contract().id, 'visible', false);
167
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'close', result);
168
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'hide', result);
169
+ }
170
+ });
171
+ }
172
+ closeDrawer(notify = true) {
173
+ if (!this.isOpen)
174
+ return;
175
+ this.isOpen = false;
176
+ if (this.overlayRef?.isOpen) {
177
+ this.overlayRef.close();
178
+ }
179
+ if (notify) {
180
+ this.visibleChange.emit(false);
181
+ this.close.emit();
182
+ this.hide.emit();
183
+ this.experienceAdapter.updateState(this.contract().id, 'visible', false);
184
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'close', undefined);
185
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'hide', undefined);
186
+ }
187
+ }
188
+ onClose() {
189
+ this.closeDrawer(true);
190
+ }
191
+ cleanup() {
192
+ if (this.overlayRef) {
193
+ this.overlayRef.dispose();
194
+ this.overlayRef = null;
195
+ }
196
+ this.isOpen = false;
197
+ }
198
+ static {
199
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
200
+ }
201
+ };
202
+ return DrawerComponent = _classThis;
203
+ })();
204
+ exports.DrawerComponent = DrawerComponent;
205
+ //# sourceMappingURL=drawer.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/drawer/drawer.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { ViewContainerRef } from '@angular/core';
2
+ import { InteractionContract } from '@origostudio/core';
3
+ import { OrigoAdapter, ContainerComponent } from '../../../adapters/web/adapter';
4
+ import { DialogProps } from '../dialog/dialog.component';
5
+ export type ModalProps = DialogProps;
6
+ export declare const ModalContractSchema: {
7
+ readonly permissions: "object";
8
+ readonly rules: "object";
9
+ readonly metadata: "object";
10
+ readonly 'aria-label': "string";
11
+ readonly 'aria-describedby': "string";
12
+ readonly visible: "boolean";
13
+ readonly header: "string";
14
+ readonly modal: "boolean";
15
+ readonly closable: "boolean";
16
+ readonly closeOnEscape: "boolean";
17
+ readonly dismissableMask: "boolean";
18
+ readonly draggable: "boolean";
19
+ readonly resizable: "boolean";
20
+ readonly maximizable: "boolean";
21
+ readonly maximized: "boolean";
22
+ readonly width: "string";
23
+ readonly height: "string";
24
+ readonly minWidth: "string";
25
+ readonly minHeight: "string";
26
+ readonly maxWidth: "string";
27
+ readonly maxHeight: "string";
28
+ readonly position: "string";
29
+ readonly blockScroll: "boolean";
30
+ readonly data: "object";
31
+ };
32
+ export declare class ModalComponent implements OrigoAdapter<ModalProps>, ContainerComponent {
33
+ static readonly contractSchema: {
34
+ readonly permissions: "object";
35
+ readonly rules: "object";
36
+ readonly metadata: "object";
37
+ readonly 'aria-label': "string";
38
+ readonly 'aria-describedby': "string";
39
+ readonly visible: "boolean";
40
+ readonly header: "string";
41
+ readonly modal: "boolean";
42
+ readonly closable: "boolean";
43
+ readonly closeOnEscape: "boolean";
44
+ readonly dismissableMask: "boolean";
45
+ readonly draggable: "boolean";
46
+ readonly resizable: "boolean";
47
+ readonly maximizable: "boolean";
48
+ readonly maximized: "boolean";
49
+ readonly width: "string";
50
+ readonly height: "string";
51
+ readonly minWidth: "string";
52
+ readonly minHeight: "string";
53
+ readonly maxWidth: "string";
54
+ readonly maxHeight: "string";
55
+ readonly position: "string";
56
+ readonly blockScroll: "boolean";
57
+ readonly data: "object";
58
+ };
59
+ static readonly strictContract = false;
60
+ contract: import("@angular/core").InputSignal<InteractionContract<DialogProps>>;
61
+ vc: import("@angular/core").Signal<ViewContainerRef | undefined>;
62
+ visibleChange: import("@angular/core").OutputEmitterRef<boolean>;
63
+ open: import("@angular/core").OutputEmitterRef<void>;
64
+ close: import("@angular/core").OutputEmitterRef<void>;
65
+ maximize: import("@angular/core").OutputEmitterRef<boolean>;
66
+ restore: import("@angular/core").OutputEmitterRef<void>;
67
+ dragEnd: import("@angular/core").OutputEmitterRef<{
68
+ x: number;
69
+ y: number;
70
+ }>;
71
+ resizeEnd: import("@angular/core").OutputEmitterRef<{
72
+ width: number;
73
+ height: number;
74
+ }>;
75
+ coercedModalContract: import("@angular/core").Signal<{
76
+ props: {
77
+ modal: boolean;
78
+ visible?: boolean;
79
+ header?: string;
80
+ closable?: boolean;
81
+ closeOnEscape?: boolean;
82
+ dismissableMask?: boolean;
83
+ draggable?: boolean;
84
+ resizable?: boolean;
85
+ maximizable?: boolean;
86
+ maximized?: boolean;
87
+ width?: string;
88
+ height?: string;
89
+ minWidth?: string;
90
+ minHeight?: string;
91
+ maxWidth?: string;
92
+ maxHeight?: string;
93
+ position?: "center" | "top" | "bottom" | "start" | "end";
94
+ blockScroll?: boolean;
95
+ data?: unknown;
96
+ permissions?: Record<string, string>;
97
+ rules?: Record<string, unknown>;
98
+ metadata?: Record<string, unknown>;
99
+ 'aria-label'?: string;
100
+ 'aria-describedby'?: string;
101
+ };
102
+ id: string;
103
+ type: string;
104
+ children?: InteractionContract[];
105
+ }>;
106
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModalComponent = exports.ModalContractSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const dialog_component_1 = require("../dialog/dialog.component");
7
+ exports.ModalContractSchema = dialog_component_1.DialogContractSchema;
8
+ let ModalComponent = (() => {
9
+ let _classDecorators = [(0, core_1.Component)({
10
+ selector: 'origo-modal',
11
+ standalone: true,
12
+ imports: [dialog_component_1.DialogComponent],
13
+ templateUrl: './modal.component.html',
14
+ styleUrls: ['./modal.component.scss'],
15
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
16
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
17
+ host: {
18
+ '[class.origo-modal-host]': 'true',
19
+ '[attr.data-testid]': 'contract().id',
20
+ },
21
+ })];
22
+ let _classDescriptor;
23
+ let _classExtraInitializers = [];
24
+ let _classThis;
25
+ var ModalComponent = class {
26
+ static { _classThis = this; }
27
+ static {
28
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
29
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
30
+ ModalComponent = _classThis = _classDescriptor.value;
31
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
32
+ }
33
+ static contractSchema = exports.ModalContractSchema;
34
+ static strictContract = false;
35
+ contract = core_1.input.required();
36
+ vc = (0, core_1.viewChild)('vc', { read: core_1.ViewContainerRef });
37
+ visibleChange = (0, core_1.output)();
38
+ open = (0, core_1.output)();
39
+ close = (0, core_1.output)();
40
+ maximize = (0, core_1.output)();
41
+ restore = (0, core_1.output)();
42
+ dragEnd = (0, core_1.output)();
43
+ resizeEnd = (0, core_1.output)();
44
+ coercedModalContract = (0, core_1.computed)(() => {
45
+ const origContract = this.contract();
46
+ return {
47
+ ...origContract,
48
+ props: {
49
+ ...(origContract?.props ?? {}),
50
+ modal: true, // Architectural invariant: modal is always strictly true
51
+ },
52
+ };
53
+ });
54
+ static {
55
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
56
+ }
57
+ };
58
+ return ModalComponent = _classThis;
59
+ })();
60
+ exports.ModalComponent = ModalComponent;
61
+ //# sourceMappingURL=modal.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/modal/modal.component.ts"],"names":[],"mappings":";;;;AAAA,wCASuB;AAGvB,iEAAgG;AAGnF,QAAA,mBAAmB,GAAG,uCAAoB,CAAC;IAe3C,cAAc;4BAb1B,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,aAAa;YACvB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,kCAAe,CAAC;YAC1B,WAAW,EAAE,wBAAwB;YACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;YACrC,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,wBAAiB,CAAC,SAAS;YAC1C,IAAI,EAAE;gBACJ,0BAA0B,EAAE,MAAM;gBAClC,oBAAoB,EAAE,eAAe;aACtC;SACF,CAAC;;;;;;;;YACF,qLAyBC;;;;QAxBC,MAAM,CAAU,cAAc,GAAG,2BAAmB,CAAC;QACrD,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;QAEvC,QAAQ,GAAG,YAAK,CAAC,QAAQ,EAAmC,CAAC;QAC7D,EAAE,GAAG,IAAA,gBAAS,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAgB,EAAE,CAAC,CAAC;QAEjD,aAAa,GAAG,IAAA,aAAM,GAAW,CAAC;QAClC,IAAI,GAAG,IAAA,aAAM,GAAQ,CAAC;QACtB,KAAK,GAAG,IAAA,aAAM,GAAQ,CAAC;QACvB,QAAQ,GAAG,IAAA,aAAM,GAAW,CAAC;QAC7B,OAAO,GAAG,IAAA,aAAM,GAAQ,CAAC;QACzB,OAAO,GAAG,IAAA,aAAM,GAA4B,CAAC;QAC7C,SAAS,GAAG,IAAA,aAAM,GAAqC,CAAC;QAExD,oBAAoB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO;gBACL,GAAG,YAAY;gBACf,KAAK,EAAE;oBACL,GAAG,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;oBAC9B,KAAK,EAAE,IAAI,EAAE,yDAAyD;iBACvE;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;;YAxBQ,+DAAc;;;;;AAAd,wCAAc"}
@@ -0,0 +1,82 @@
1
+ import { ViewContainerRef, TemplateRef, ElementRef } from '@angular/core';
2
+ import { InteractionContract } from '@origostudio/core';
3
+ import { OrigoAdapter, ContainerComponent } from '../../../adapters/web/adapter';
4
+ export interface PopoverProps {
5
+ visible?: boolean;
6
+ placement?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
7
+ dismissible?: boolean;
8
+ closeOnEscape?: boolean;
9
+ showClose?: boolean;
10
+ offset?: [number, number];
11
+ title?: string;
12
+ data?: unknown;
13
+ permissions?: Record<string, string>;
14
+ rules?: Record<string, unknown>;
15
+ metadata?: Record<string, unknown>;
16
+ 'aria-label'?: string;
17
+ 'aria-describedby'?: string;
18
+ }
19
+ export declare const PopoverContractSchema: {
20
+ readonly permissions: "object";
21
+ readonly rules: "object";
22
+ readonly metadata: "object";
23
+ readonly 'aria-label': "string";
24
+ readonly 'aria-describedby': "string";
25
+ readonly visible: "boolean";
26
+ readonly placement: "string";
27
+ readonly dismissible: "boolean";
28
+ readonly closeOnEscape: "boolean";
29
+ readonly showClose: "boolean";
30
+ readonly title: "string";
31
+ readonly offset: "array";
32
+ readonly data: "object";
33
+ };
34
+ export declare class PopoverComponent implements OrigoAdapter<PopoverProps>, ContainerComponent {
35
+ static readonly contractSchema: {
36
+ readonly permissions: "object";
37
+ readonly rules: "object";
38
+ readonly metadata: "object";
39
+ readonly 'aria-label': "string";
40
+ readonly 'aria-describedby': "string";
41
+ readonly visible: "boolean";
42
+ readonly placement: "string";
43
+ readonly dismissible: "boolean";
44
+ readonly closeOnEscape: "boolean";
45
+ readonly showClose: "boolean";
46
+ readonly title: "string";
47
+ readonly offset: "array";
48
+ readonly data: "object";
49
+ };
50
+ static readonly strictContract = false;
51
+ contract: import("@angular/core").InputSignal<InteractionContract<PopoverProps>>;
52
+ vc: import("@angular/core").Signal<ViewContainerRef | undefined>;
53
+ triggerWrapper: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
54
+ popoverTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
55
+ visibleChange: import("@angular/core").OutputEmitterRef<boolean>;
56
+ open: import("@angular/core").OutputEmitterRef<void>;
57
+ close: import("@angular/core").OutputEmitterRef<void>;
58
+ action: import("@angular/core").OutputEmitterRef<unknown>;
59
+ private overlayService;
60
+ private destroyRef;
61
+ private vcr;
62
+ private experienceAdapter;
63
+ private overlayRef;
64
+ private isPopoverOpen;
65
+ coercedProps: import("@angular/core").Signal<PopoverProps>;
66
+ computedVisible: import("@angular/core").Signal<boolean>;
67
+ computedPlacement: import("@angular/core").Signal<"left" | "top" | "bottom" | "right" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
68
+ computedDismissible: import("@angular/core").Signal<boolean>;
69
+ computedCloseOnEscape: import("@angular/core").Signal<boolean>;
70
+ computedShowClose: import("@angular/core").Signal<boolean>;
71
+ computedOffset: import("@angular/core").Signal<[number, number] | undefined>;
72
+ computedTitle: import("@angular/core").Signal<string | undefined>;
73
+ computedAriaLabel: import("@angular/core").Signal<string>;
74
+ computedAriaDescribedBy: import("@angular/core").Signal<string | undefined>;
75
+ constructor();
76
+ isOpen(): boolean;
77
+ toggle(): void;
78
+ onAction(data: unknown): void;
79
+ openPopover(): void;
80
+ closePopover(notify?: boolean): void;
81
+ private cleanup;
82
+ }