@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,280 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PopoverComponent = exports.PopoverContractSchema = 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
+ exports.PopoverContractSchema = {
10
+ permissions: 'object',
11
+ rules: 'object',
12
+ metadata: 'object',
13
+ 'aria-label': 'string',
14
+ 'aria-describedby': 'string',
15
+ visible: 'boolean',
16
+ placement: 'string',
17
+ dismissible: 'boolean',
18
+ closeOnEscape: 'boolean',
19
+ showClose: 'boolean',
20
+ title: 'string',
21
+ offset: 'array',
22
+ data: 'object',
23
+ };
24
+ function getConnectedPosition(placement = 'bottom', customOffset) {
25
+ switch (placement) {
26
+ case 'top':
27
+ return {
28
+ originX: 'center',
29
+ originY: 'top',
30
+ overlayX: 'center',
31
+ overlayY: 'bottom',
32
+ offset: customOffset ?? [0, -8],
33
+ };
34
+ case 'top-start':
35
+ return {
36
+ originX: 'start',
37
+ originY: 'top',
38
+ overlayX: 'start',
39
+ overlayY: 'bottom',
40
+ offset: customOffset ?? [0, -8],
41
+ };
42
+ case 'top-end':
43
+ return {
44
+ originX: 'end',
45
+ originY: 'top',
46
+ overlayX: 'end',
47
+ overlayY: 'bottom',
48
+ offset: customOffset ?? [0, -8],
49
+ };
50
+ case 'left':
51
+ return {
52
+ originX: 'start',
53
+ originY: 'center',
54
+ overlayX: 'end',
55
+ overlayY: 'center',
56
+ offset: customOffset ?? [-8, 0],
57
+ };
58
+ case 'left-start':
59
+ return {
60
+ originX: 'start',
61
+ originY: 'top',
62
+ overlayX: 'end',
63
+ overlayY: 'top',
64
+ offset: customOffset ?? [-8, 0],
65
+ };
66
+ case 'left-end':
67
+ return {
68
+ originX: 'start',
69
+ originY: 'bottom',
70
+ overlayX: 'end',
71
+ overlayY: 'bottom',
72
+ offset: customOffset ?? [-8, 0],
73
+ };
74
+ case 'right':
75
+ return {
76
+ originX: 'end',
77
+ originY: 'center',
78
+ overlayX: 'start',
79
+ overlayY: 'center',
80
+ offset: customOffset ?? [8, 0],
81
+ };
82
+ case 'right-start':
83
+ return {
84
+ originX: 'end',
85
+ originY: 'top',
86
+ overlayX: 'start',
87
+ overlayY: 'top',
88
+ offset: customOffset ?? [8, 0],
89
+ };
90
+ case 'right-end':
91
+ return {
92
+ originX: 'end',
93
+ originY: 'bottom',
94
+ overlayX: 'start',
95
+ overlayY: 'bottom',
96
+ offset: customOffset ?? [8, 0],
97
+ };
98
+ case 'bottom-start':
99
+ return {
100
+ originX: 'start',
101
+ originY: 'bottom',
102
+ overlayX: 'start',
103
+ overlayY: 'top',
104
+ offset: customOffset ?? [0, 8],
105
+ };
106
+ case 'bottom-end':
107
+ return {
108
+ originX: 'end',
109
+ originY: 'bottom',
110
+ overlayX: 'end',
111
+ overlayY: 'top',
112
+ offset: customOffset ?? [0, 8],
113
+ };
114
+ case 'bottom':
115
+ default:
116
+ return {
117
+ originX: 'center',
118
+ originY: 'bottom',
119
+ overlayX: 'center',
120
+ overlayY: 'top',
121
+ offset: customOffset ?? [0, 8],
122
+ };
123
+ }
124
+ }
125
+ let PopoverComponent = (() => {
126
+ let _classDecorators = [(0, core_1.Component)({
127
+ selector: 'origo-popover',
128
+ standalone: true,
129
+ templateUrl: './popover.component.html',
130
+ styleUrls: ['./popover.component.scss'],
131
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
132
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
133
+ host: {
134
+ '[class.origo-popover-host]': 'true',
135
+ '[attr.data-testid]': 'contract().id',
136
+ },
137
+ })];
138
+ let _classDescriptor;
139
+ let _classExtraInitializers = [];
140
+ let _classThis;
141
+ var PopoverComponent = class {
142
+ static { _classThis = this; }
143
+ static {
144
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
145
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
146
+ PopoverComponent = _classThis = _classDescriptor.value;
147
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
148
+ }
149
+ static contractSchema = exports.PopoverContractSchema;
150
+ static strictContract = false;
151
+ contract = core_1.input.required();
152
+ vc = (0, core_1.viewChild)('vc', { read: core_1.ViewContainerRef });
153
+ triggerWrapper = (0, core_1.viewChild)('triggerWrapper');
154
+ popoverTemplate = (0, core_1.viewChild)('popoverTemplate', { read: core_1.TemplateRef });
155
+ visibleChange = (0, core_1.output)();
156
+ open = (0, core_1.output)();
157
+ close = (0, core_1.output)();
158
+ action = (0, core_1.output)();
159
+ overlayService = (0, core_1.inject)(overlay_service_1.OrigoOverlayService);
160
+ destroyRef = (0, core_1.inject)(core_1.DestroyRef);
161
+ vcr = (0, core_1.inject)(core_1.ViewContainerRef);
162
+ experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
163
+ overlayRef = null;
164
+ isPopoverOpen = false;
165
+ coercedProps = (0, core_1.computed)(() => (0, adapter_1.coerceContractProps)(this.contract()?.props ?? {}, exports.PopoverContractSchema));
166
+ computedVisible = (0, core_1.computed)(() => !!this.coercedProps().visible);
167
+ computedPlacement = (0, core_1.computed)(() => this.coercedProps().placement ?? 'bottom');
168
+ computedDismissible = (0, core_1.computed)(() => this.coercedProps().dismissible !== false);
169
+ computedCloseOnEscape = (0, core_1.computed)(() => this.coercedProps().closeOnEscape !== false);
170
+ computedShowClose = (0, core_1.computed)(() => !!this.coercedProps().showClose);
171
+ computedOffset = (0, core_1.computed)(() => this.coercedProps().offset);
172
+ computedTitle = (0, core_1.computed)(() => this.coercedProps().title);
173
+ computedAriaLabel = (0, core_1.computed)(() => {
174
+ const label = this.contract()?.props?.['aria-label'];
175
+ return label !== undefined && label !== null ? String(label) : 'Popover';
176
+ });
177
+ computedAriaDescribedBy = (0, core_1.computed)(() => {
178
+ const desc = this.contract()?.props?.['aria-describedby'];
179
+ return desc !== undefined && desc !== null ? String(desc) : undefined;
180
+ });
181
+ constructor() {
182
+ (0, core_1.effect)(() => {
183
+ const visible = this.computedVisible();
184
+ if (visible && !this.isPopoverOpen) {
185
+ this.openPopover();
186
+ }
187
+ else if (!visible && this.isPopoverOpen) {
188
+ this.closePopover(false);
189
+ }
190
+ });
191
+ this.destroyRef.onDestroy(() => {
192
+ this.cleanup();
193
+ });
194
+ }
195
+ isOpen() {
196
+ return this.isPopoverOpen;
197
+ }
198
+ toggle() {
199
+ if (this.isPopoverOpen) {
200
+ this.closePopover(true);
201
+ }
202
+ else {
203
+ this.openPopover();
204
+ }
205
+ }
206
+ onAction(data) {
207
+ this.action.emit(data);
208
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'action', data);
209
+ }
210
+ openPopover() {
211
+ if (this.isPopoverOpen)
212
+ return;
213
+ const tpl = this.popoverTemplate();
214
+ const trigger = this.triggerWrapper()?.nativeElement;
215
+ if (!tpl || !trigger)
216
+ return;
217
+ const pos = getConnectedPosition(this.computedPlacement(), this.computedOffset());
218
+ const config = {
219
+ position: {
220
+ type: 'connected',
221
+ target: trigger,
222
+ originX: pos.originX,
223
+ originY: pos.originY,
224
+ overlayX: pos.overlayX,
225
+ overlayY: pos.overlayY,
226
+ offset: pos.offset,
227
+ autoRepositionOnResize: true,
228
+ },
229
+ hasBackdrop: false,
230
+ panelClass: ['origo-overlay-pane--popover', 'origo-overlay-pane--connected'],
231
+ closeOnOutsideClick: this.computedDismissible(),
232
+ closeOnEscape: this.computedCloseOnEscape(),
233
+ viewContainerRef: this.vcr,
234
+ };
235
+ this.overlayRef = this.overlayService.create(config, this.destroyRef);
236
+ this.overlayRef.open(tpl, this.vcr);
237
+ this.isPopoverOpen = true;
238
+ this.visibleChange.emit(true);
239
+ this.open.emit();
240
+ this.experienceAdapter.updateState(this.contract().id, 'visible', true);
241
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'open', undefined);
242
+ this.overlayRef.afterClosed().then(result => {
243
+ if (this.isPopoverOpen) {
244
+ this.isPopoverOpen = false;
245
+ this.visibleChange.emit(false);
246
+ this.close.emit();
247
+ this.experienceAdapter.updateState(this.contract().id, 'visible', false);
248
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'close', result);
249
+ }
250
+ });
251
+ }
252
+ closePopover(notify = true) {
253
+ if (!this.isPopoverOpen)
254
+ return;
255
+ this.isPopoverOpen = false;
256
+ if (this.overlayRef?.isOpen) {
257
+ this.overlayRef.close();
258
+ }
259
+ if (notify) {
260
+ this.visibleChange.emit(false);
261
+ this.close.emit();
262
+ this.experienceAdapter.updateState(this.contract().id, 'visible', false);
263
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'close', undefined);
264
+ }
265
+ }
266
+ cleanup() {
267
+ if (this.overlayRef) {
268
+ this.overlayRef.dispose();
269
+ this.overlayRef = null;
270
+ }
271
+ this.isPopoverOpen = false;
272
+ }
273
+ static {
274
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
275
+ }
276
+ };
277
+ return PopoverComponent = _classThis;
278
+ })();
279
+ exports.PopoverComponent = PopoverComponent;
280
+ //# sourceMappingURL=popover.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/popover/popover.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
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 TooltipProps {
5
+ content?: string;
6
+ position?: 'top' | 'bottom' | 'left' | 'right';
7
+ showDelay?: number;
8
+ hideDelay?: number;
9
+ disabled?: boolean;
10
+ trigger?: 'hover' | 'focus' | 'both' | 'manual';
11
+ offset?: [number, number];
12
+ permissions?: Record<string, string>;
13
+ rules?: Record<string, unknown>;
14
+ metadata?: Record<string, unknown>;
15
+ 'aria-label'?: string;
16
+ 'aria-describedby'?: string;
17
+ }
18
+ export declare const TooltipContractSchema: {
19
+ readonly permissions: "object";
20
+ readonly rules: "object";
21
+ readonly metadata: "object";
22
+ readonly 'aria-label': "string";
23
+ readonly 'aria-describedby': "string";
24
+ readonly content: "string";
25
+ readonly position: "string";
26
+ readonly showDelay: "number";
27
+ readonly hideDelay: "number";
28
+ readonly disabled: "boolean";
29
+ readonly trigger: "string";
30
+ readonly offset: "array";
31
+ };
32
+ export declare class TooltipComponent implements OrigoAdapter<TooltipProps>, 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 content: "string";
40
+ readonly position: "string";
41
+ readonly showDelay: "number";
42
+ readonly hideDelay: "number";
43
+ readonly disabled: "boolean";
44
+ readonly trigger: "string";
45
+ readonly offset: "array";
46
+ };
47
+ static readonly strictContract = false;
48
+ contract: import("@angular/core").InputSignal<InteractionContract<TooltipProps>>;
49
+ vc: import("@angular/core").Signal<ViewContainerRef | undefined>;
50
+ triggerWrapper: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
51
+ tooltipTemplate: import("@angular/core").Signal<TemplateRef<any> | undefined>;
52
+ visibleChange: import("@angular/core").OutputEmitterRef<boolean>;
53
+ show: import("@angular/core").OutputEmitterRef<void>;
54
+ hide: import("@angular/core").OutputEmitterRef<void>;
55
+ private overlayService;
56
+ private destroyRef;
57
+ private vcr;
58
+ private experienceAdapter;
59
+ private readonly id;
60
+ readonly tooltipId: string;
61
+ private overlayRef;
62
+ readonly isTooltipOpen: import("@angular/core").WritableSignal<boolean>;
63
+ private showTimer;
64
+ private hideTimer;
65
+ coercedProps: import("@angular/core").Signal<TooltipProps>;
66
+ computedContent: import("@angular/core").Signal<string | undefined>;
67
+ computedPosition: import("@angular/core").Signal<"left" | "top" | "bottom" | "right">;
68
+ computedShowDelay: import("@angular/core").Signal<number>;
69
+ computedHideDelay: import("@angular/core").Signal<number>;
70
+ computedDisabled: import("@angular/core").Signal<boolean>;
71
+ computedTrigger: import("@angular/core").Signal<"focus" | "hover" | "both" | "manual">;
72
+ computedOffset: import("@angular/core").Signal<[number, number] | undefined>;
73
+ constructor();
74
+ isOpen(): boolean;
75
+ onEscape(): void;
76
+ onMouseEnter(): void;
77
+ onMouseLeave(): void;
78
+ onFocusIn(): void;
79
+ onFocusOut(): void;
80
+ private scheduleShow;
81
+ private scheduleHide;
82
+ showTooltip(): void;
83
+ hideTooltip(): void;
84
+ private clearTimers;
85
+ private cleanup;
86
+ }
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TooltipComponent = exports.TooltipContractSchema = 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 tooltipCounter = 0;
10
+ exports.TooltipContractSchema = {
11
+ permissions: 'object',
12
+ rules: 'object',
13
+ metadata: 'object',
14
+ 'aria-label': 'string',
15
+ 'aria-describedby': 'string',
16
+ content: 'string',
17
+ position: 'string',
18
+ showDelay: 'number',
19
+ hideDelay: 'number',
20
+ disabled: 'boolean',
21
+ trigger: 'string',
22
+ offset: 'array',
23
+ };
24
+ function getTooltipConnectedPosition(position = 'top', customOffset) {
25
+ switch (position) {
26
+ case 'bottom':
27
+ return {
28
+ originX: 'center',
29
+ originY: 'bottom',
30
+ overlayX: 'center',
31
+ overlayY: 'top',
32
+ offset: customOffset ?? [0, 6],
33
+ };
34
+ case 'left':
35
+ return {
36
+ originX: 'start',
37
+ originY: 'center',
38
+ overlayX: 'end',
39
+ overlayY: 'center',
40
+ offset: customOffset ?? [-6, 0],
41
+ };
42
+ case 'right':
43
+ return {
44
+ originX: 'end',
45
+ originY: 'center',
46
+ overlayX: 'start',
47
+ overlayY: 'center',
48
+ offset: customOffset ?? [6, 0],
49
+ };
50
+ case 'top':
51
+ default:
52
+ return {
53
+ originX: 'center',
54
+ originY: 'top',
55
+ overlayX: 'center',
56
+ overlayY: 'bottom',
57
+ offset: customOffset ?? [0, -6],
58
+ };
59
+ }
60
+ }
61
+ let TooltipComponent = (() => {
62
+ let _classDecorators = [(0, core_1.Component)({
63
+ selector: 'origo-tooltip',
64
+ standalone: true,
65
+ templateUrl: './tooltip.component.html',
66
+ styleUrls: ['./tooltip.component.scss'],
67
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
68
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
69
+ host: {
70
+ '[class.origo-tooltip-host]': 'true',
71
+ '[attr.data-testid]': 'contract().id',
72
+ },
73
+ })];
74
+ let _classDescriptor;
75
+ let _classExtraInitializers = [];
76
+ let _classThis;
77
+ let _instanceExtraInitializers = [];
78
+ let _onEscape_decorators;
79
+ var TooltipComponent = class {
80
+ static { _classThis = this; }
81
+ static {
82
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
83
+ _onEscape_decorators = [(0, core_1.HostListener)('keydown.escape')];
84
+ tslib_1.__esDecorate(this, null, _onEscape_decorators, { kind: "method", name: "onEscape", static: false, private: false, access: { has: obj => "onEscape" in obj, get: obj => obj.onEscape }, metadata: _metadata }, null, _instanceExtraInitializers);
85
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
86
+ TooltipComponent = _classThis = _classDescriptor.value;
87
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
88
+ }
89
+ static contractSchema = exports.TooltipContractSchema;
90
+ static strictContract = false;
91
+ contract = (tslib_1.__runInitializers(this, _instanceExtraInitializers), core_1.input.required());
92
+ vc = (0, core_1.viewChild)('vc', { read: core_1.ViewContainerRef });
93
+ triggerWrapper = (0, core_1.viewChild)('triggerWrapper');
94
+ tooltipTemplate = (0, core_1.viewChild)('tooltipTemplate', { read: core_1.TemplateRef });
95
+ visibleChange = (0, core_1.output)();
96
+ show = (0, core_1.output)();
97
+ hide = (0, core_1.output)();
98
+ overlayService = (0, core_1.inject)(overlay_service_1.OrigoOverlayService);
99
+ destroyRef = (0, core_1.inject)(core_1.DestroyRef);
100
+ vcr = (0, core_1.inject)(core_1.ViewContainerRef);
101
+ experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
102
+ id = ++tooltipCounter;
103
+ tooltipId = `origo-tooltip-${this.id}`;
104
+ overlayRef = null;
105
+ isTooltipOpen = (0, core_1.signal)(false);
106
+ showTimer = null;
107
+ hideTimer = null;
108
+ coercedProps = (0, core_1.computed)(() => (0, adapter_1.coerceContractProps)(this.contract()?.props ?? {}, exports.TooltipContractSchema));
109
+ computedContent = (0, core_1.computed)(() => this.coercedProps().content);
110
+ computedPosition = (0, core_1.computed)(() => this.coercedProps().position ?? 'top');
111
+ computedShowDelay = (0, core_1.computed)(() => this.coercedProps().showDelay ?? 150);
112
+ computedHideDelay = (0, core_1.computed)(() => this.coercedProps().hideDelay ?? 150);
113
+ computedDisabled = (0, core_1.computed)(() => !!this.coercedProps().disabled);
114
+ computedTrigger = (0, core_1.computed)(() => this.coercedProps().trigger ?? 'both');
115
+ computedOffset = (0, core_1.computed)(() => this.coercedProps().offset);
116
+ constructor() {
117
+ this.destroyRef.onDestroy(() => {
118
+ this.cleanup();
119
+ });
120
+ }
121
+ isOpen() {
122
+ return this.isTooltipOpen();
123
+ }
124
+ onEscape() {
125
+ this.clearTimers();
126
+ this.hideTooltip();
127
+ }
128
+ onMouseEnter() {
129
+ const tr = this.computedTrigger();
130
+ if (tr === 'hover' || tr === 'both') {
131
+ this.scheduleShow();
132
+ }
133
+ }
134
+ onMouseLeave() {
135
+ const tr = this.computedTrigger();
136
+ if (tr === 'hover' || tr === 'both') {
137
+ this.scheduleHide();
138
+ }
139
+ }
140
+ onFocusIn() {
141
+ const tr = this.computedTrigger();
142
+ if (tr === 'focus' || tr === 'both') {
143
+ this.scheduleShow();
144
+ }
145
+ }
146
+ onFocusOut() {
147
+ const tr = this.computedTrigger();
148
+ if (tr === 'focus' || tr === 'both') {
149
+ this.scheduleHide();
150
+ }
151
+ }
152
+ scheduleShow() {
153
+ if (this.computedDisabled() || !this.computedContent()) {
154
+ return;
155
+ }
156
+ if (this.hideTimer) {
157
+ clearTimeout(this.hideTimer);
158
+ this.hideTimer = null;
159
+ }
160
+ if (this.isTooltipOpen())
161
+ return;
162
+ const delay = this.computedShowDelay();
163
+ if (delay <= 0) {
164
+ this.showTooltip();
165
+ }
166
+ else {
167
+ this.showTimer = setTimeout(() => {
168
+ this.showTooltip();
169
+ }, delay);
170
+ }
171
+ }
172
+ scheduleHide() {
173
+ if (this.showTimer) {
174
+ clearTimeout(this.showTimer);
175
+ this.showTimer = null;
176
+ }
177
+ if (!this.isTooltipOpen())
178
+ return;
179
+ const delay = this.computedHideDelay();
180
+ if (delay <= 0) {
181
+ this.hideTooltip();
182
+ }
183
+ else {
184
+ this.hideTimer = setTimeout(() => {
185
+ this.hideTooltip();
186
+ }, delay);
187
+ }
188
+ }
189
+ showTooltip() {
190
+ if (this.isTooltipOpen() || this.computedDisabled() || !this.computedContent())
191
+ return;
192
+ const tpl = this.tooltipTemplate();
193
+ const trigger = this.triggerWrapper()?.nativeElement;
194
+ if (!tpl || !trigger)
195
+ return;
196
+ const pos = getTooltipConnectedPosition(this.computedPosition(), this.computedOffset());
197
+ const config = {
198
+ position: {
199
+ type: 'connected',
200
+ target: trigger,
201
+ originX: pos.originX,
202
+ originY: pos.originY,
203
+ overlayX: pos.overlayX,
204
+ overlayY: pos.overlayY,
205
+ offset: pos.offset,
206
+ autoRepositionOnResize: true,
207
+ },
208
+ hasBackdrop: false,
209
+ panelClass: [
210
+ 'origo-overlay-pane--tooltip',
211
+ 'origo-overlay-pane--connected',
212
+ `origo-overlay-pane--tooltip-${this.computedPosition()}`,
213
+ ],
214
+ closeOnOutsideClick: false,
215
+ closeOnEscape: true,
216
+ viewContainerRef: this.vcr,
217
+ };
218
+ this.overlayRef = this.overlayService.create(config, this.destroyRef);
219
+ this.overlayRef.open(tpl, this.vcr);
220
+ this.isTooltipOpen.set(true);
221
+ this.visibleChange.emit(true);
222
+ this.show.emit();
223
+ this.experienceAdapter.updateState(this.contract().id, 'visible', true);
224
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'show', undefined);
225
+ this.overlayRef.afterClosed().then(() => {
226
+ if (this.isTooltipOpen()) {
227
+ this.isTooltipOpen.set(false);
228
+ this.visibleChange.emit(false);
229
+ this.hide.emit();
230
+ this.experienceAdapter.updateState(this.contract().id, 'visible', false);
231
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'hide', undefined);
232
+ }
233
+ });
234
+ }
235
+ hideTooltip() {
236
+ if (!this.isTooltipOpen())
237
+ return;
238
+ this.isTooltipOpen.set(false);
239
+ if (this.overlayRef?.isOpen) {
240
+ this.overlayRef.close();
241
+ }
242
+ this.visibleChange.emit(false);
243
+ this.hide.emit();
244
+ this.experienceAdapter.updateState(this.contract().id, 'visible', false);
245
+ this.experienceAdapter.dispatchCapability(this.contract().id, 'hide', undefined);
246
+ }
247
+ clearTimers() {
248
+ if (this.showTimer) {
249
+ clearTimeout(this.showTimer);
250
+ this.showTimer = null;
251
+ }
252
+ if (this.hideTimer) {
253
+ clearTimeout(this.hideTimer);
254
+ this.hideTimer = null;
255
+ }
256
+ }
257
+ cleanup() {
258
+ this.clearTimers();
259
+ if (this.overlayRef) {
260
+ this.overlayRef.dispose();
261
+ this.overlayRef = null;
262
+ }
263
+ this.isTooltipOpen.set(false);
264
+ }
265
+ static {
266
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
267
+ }
268
+ };
269
+ return TooltipComponent = _classThis;
270
+ })();
271
+ exports.TooltipComponent = TooltipComponent;
272
+ //# sourceMappingURL=tooltip.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/tooltip/tooltip.component.ts"],"names":[],"mappings":";;;;AAAA,wCAeuB;AAEvB,2DAIuC;AACvC,iGAA+F;AAC/F,0EAA2E;AAQ3E,IAAI,cAAc,GAAG,CAAC,CAAC;AAiBV,QAAA,qBAAqB,GAAG;IACnC,WAAW,EAAE,QAAQ;IACrB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,QAAQ;IACtB,kBAAkB,EAAE,QAAQ;IAC5B,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,OAAO;CACP,CAAC;AAEX,SAAS,2BAA2B,CAClC,QAAQ,GAAG,KAAK,EAChB,YAA+B;IAQ/B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO;gBACL,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;aAC/B,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAChC,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;aAC/B,CAAC;QACJ,KAAK,KAAK,CAAC;QACX;YACE,OAAO;gBACL,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAChC,CAAC;IACN,CAAC;AACH,CAAC;IAcY,gBAAgB;4BAZ5B,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,0BAA0B;YACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;YACvC,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,wBAAiB,CAAC,SAAS;YAC1C,IAAI,EAAE;gBACJ,4BAA4B,EAAE,MAAM;gBACpC,oBAAoB,EAAE,eAAe;aACtC;SACF,CAAC;;;;;;;;;;oCAkDC,IAAA,mBAAY,EAAC,gBAAgB,CAAC;YAC/B,mLAAA,QAAQ,6DAGP;YArDH,qLA+MC;;;;QA9MC,MAAM,CAAU,cAAc,GAAG,6BAAqB,CAAC;QACvD,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;QAEvC,QAAQ,IAJG,2DAAgB,EAIhB,YAAK,CAAC,QAAQ,EAAqC,EAAC;QAC/D,EAAE,GAAG,IAAA,gBAAS,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAgB,EAAE,CAAC,CAAC;QAEjD,cAAc,GAAG,IAAA,gBAAS,EAA0B,gBAAgB,CAAC,CAAC;QACtE,eAAe,GAAG,IAAA,gBAAS,EAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC,CAAC;QAEtE,aAAa,GAAG,IAAA,aAAM,GAAW,CAAC;QAClC,IAAI,GAAG,IAAA,aAAM,GAAQ,CAAC;QACtB,IAAI,GAAG,IAAA,aAAM,GAAQ,CAAC;QAEd,cAAc,GAAG,IAAA,aAAM,EAAC,qCAAmB,CAAC,CAAC;QAC7C,UAAU,GAAG,IAAA,aAAM,EAAC,iBAAU,CAAC,CAAC;QAChC,GAAG,GAAG,IAAA,aAAM,EAAC,uBAAgB,CAAC,CAAC;QAC/B,iBAAiB,GAAG,IAAA,aAAM,EAAC,wDAA2B,CAAC,CAAC;QAE/C,EAAE,GAAG,EAAE,cAAc,CAAC;QAC9B,SAAS,GAAG,iBAAiB,IAAI,CAAC,EAAE,EAAE,CAAC;QAExC,UAAU,GAA2B,IAAI,CAAC;QACzC,aAAa,GAAG,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC;QAC/B,SAAS,GAAyC,IAAI,CAAC;QACvD,SAAS,GAAyC,IAAI,CAAC;QAE/D,YAAY,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAC3B,IAAA,6BAAmB,EAAe,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,6BAAqB,CAAC,CACvF,CAAC;QAEF,eAAe,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;QAC9D,gBAAgB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;QACzE,iBAAiB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;QACzE,iBAAiB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;QACzE,gBAAgB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;QAClE,eAAe,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;QACxE,cAAc,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QAE5D;YACE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM;YACJ,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;QAGD,QAAQ;YACN,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,YAAY;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAED,YAAY;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAED,SAAS;YACP,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAED,UAAU;YACR,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAEO,YAAY;YAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE;gBAAE,OAAO;YAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,EAAE,KAAK,CAAC,CAAC;YACZ,CAAC;QACH,CAAC;QAEO,YAAY;YAClB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAAE,OAAO;YAElC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,EAAE,KAAK,CAAC,CAAC;YACZ,CAAC;QACH,CAAC;QAED,WAAW;YACT,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBAAE,OAAO;YAEvF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC;YACrD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;gBAAE,OAAO;YAE7B,MAAM,GAAG,GAAG,2BAA2B,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAExF,MAAM,MAAM,GAAuB;gBACjC,QAAQ,EAAE;oBACR,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,sBAAsB,EAAE,IAAI;iBAC7B;gBACD,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE;oBACV,6BAA6B;oBAC7B,+BAA+B;oBAC/B,+BAA+B,IAAI,CAAC,gBAAgB,EAAE,EAAE;iBACzD;gBACD,mBAAmB,EAAE,KAAK;gBAC1B,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,IAAI,CAAC,GAAG;aAC3B,CAAC;YAEF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAEjF,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;oBACzE,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,WAAW;YACT,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAAE,OAAO;YAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE9B,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QAEO,WAAW;YACjB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC;QAEO,OAAO;YACb,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;;YA9MU,+DAAgB;;;;;AAAhB,4CAAgB"}