@progressive-development/pd-content 1.0.1 → 1.0.3

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 (85) hide show
  1. package/dist/index.d.ts +5 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +14 -5
  4. package/dist/pd-badge-order/DragController.d.ts +41 -0
  5. package/dist/pd-badge-order/DragController.d.ts.map +1 -0
  6. package/dist/pd-badge-order/DragController.js +239 -0
  7. package/dist/pd-badge-order/PdBadgeItem.d.ts +31 -0
  8. package/dist/pd-badge-order/PdBadgeItem.d.ts.map +1 -0
  9. package/dist/pd-badge-order/PdBadgeItem.js +320 -0
  10. package/dist/pd-badge-order/PdBadgeOrder.d.ts +68 -0
  11. package/dist/pd-badge-order/PdBadgeOrder.d.ts.map +1 -0
  12. package/dist/pd-badge-order/PdBadgeOrder.js +550 -0
  13. package/dist/pd-badge-order/flip-animator.d.ts +30 -0
  14. package/dist/pd-badge-order/flip-animator.d.ts.map +1 -0
  15. package/dist/pd-badge-order/flip-animator.js +39 -0
  16. package/dist/pd-badge-order/pd-badge-item.d.ts +3 -0
  17. package/dist/pd-badge-order/pd-badge-item.d.ts.map +1 -0
  18. package/dist/pd-badge-order/pd-badge-item.js +8 -0
  19. package/dist/pd-badge-order/pd-badge-order.d.ts +3 -0
  20. package/dist/pd-badge-order/pd-badge-order.d.ts.map +1 -0
  21. package/dist/pd-badge-order/types.d.ts +25 -0
  22. package/dist/pd-badge-order/types.d.ts.map +1 -0
  23. package/dist/pd-badge-order/types.js +3 -0
  24. package/dist/pd-badge-order.d.ts +2 -0
  25. package/dist/pd-badge-order.js +8 -0
  26. package/dist/pd-gallery/PdGallery.d.ts +72 -0
  27. package/dist/pd-gallery/PdGallery.d.ts.map +1 -0
  28. package/dist/pd-gallery/PdGallery.js +660 -0
  29. package/dist/pd-gallery/PdGalleryLightbox.d.ts +53 -0
  30. package/dist/pd-gallery/PdGalleryLightbox.d.ts.map +1 -0
  31. package/dist/pd-gallery/PdGalleryLightbox.js +530 -0
  32. package/dist/pd-gallery/index.d.ts +4 -0
  33. package/dist/pd-gallery/index.d.ts.map +1 -0
  34. package/dist/pd-gallery/pd-gallery-lightbox.d.ts +3 -0
  35. package/dist/pd-gallery/pd-gallery-lightbox.d.ts.map +1 -0
  36. package/dist/pd-gallery/pd-gallery.d.ts +3 -0
  37. package/dist/pd-gallery/pd-gallery.d.ts.map +1 -0
  38. package/dist/pd-gallery/types.d.ts +23 -0
  39. package/dist/pd-gallery/types.d.ts.map +1 -0
  40. package/dist/pd-gallery-lightbox.d.ts +2 -0
  41. package/dist/pd-gallery-lightbox.js +8 -0
  42. package/dist/pd-gallery.d.ts +2 -0
  43. package/dist/pd-gallery.js +8 -0
  44. package/dist/pd-loading-state/PdLoadingState.d.ts +25 -9
  45. package/dist/pd-loading-state/PdLoadingState.d.ts.map +1 -1
  46. package/dist/pd-loading-state/PdLoadingState.js +228 -83
  47. package/dist/pd-loading-state/pd-loading-state.d.ts.map +1 -1
  48. package/dist/pd-loading-state/pd-logo-loader.d.ts +25 -0
  49. package/dist/pd-loading-state/pd-logo-loader.d.ts.map +1 -0
  50. package/dist/pd-loading-state/pd-logo-loader.js +63 -0
  51. package/dist/pd-loading-state/register-pd-logo-loader.d.ts +6 -0
  52. package/dist/pd-loading-state/register-pd-logo-loader.d.ts.map +1 -0
  53. package/dist/pd-loading-state/register-pd-logo-loader.js +6 -0
  54. package/dist/pd-loading-state.js +8 -1
  55. package/dist/pd-panel-viewer/PdPanelViewer.d.ts.map +1 -1
  56. package/dist/pd-panel-viewer/PdPanelViewer.js +1 -1
  57. package/dist/types.d.ts +3 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/package.json +8 -3
  60. package/dist/pd-box-view/pd-box-view.stories.d.ts +0 -43
  61. package/dist/pd-box-view/pd-box-view.stories.d.ts.map +0 -1
  62. package/dist/pd-code-snippet/pd-code-snippet.stories.d.ts +0 -55
  63. package/dist/pd-code-snippet/pd-code-snippet.stories.d.ts.map +0 -1
  64. package/dist/pd-collapse/pd-collapse.stories.d.ts +0 -51
  65. package/dist/pd-collapse/pd-collapse.stories.d.ts.map +0 -1
  66. package/dist/pd-collapse-group/pd-collapse-group.stories.d.ts +0 -40
  67. package/dist/pd-collapse-group/pd-collapse-group.stories.d.ts.map +0 -1
  68. package/dist/pd-edit-content/pd-edit-content.stories.d.ts +0 -55
  69. package/dist/pd-edit-content/pd-edit-content.stories.d.ts.map +0 -1
  70. package/dist/pd-loading-state/pd-loading-state.stories.d.ts +0 -48
  71. package/dist/pd-loading-state/pd-loading-state.stories.d.ts.map +0 -1
  72. package/dist/pd-more-info/pd-more-info.stories.d.ts +0 -42
  73. package/dist/pd-more-info/pd-more-info.stories.d.ts.map +0 -1
  74. package/dist/pd-notice-box/pd-notice-box.stories.d.ts +0 -58
  75. package/dist/pd-notice-box/pd-notice-box.stories.d.ts.map +0 -1
  76. package/dist/pd-panel-viewer/pd-panel-viewer.stories.d.ts +0 -46
  77. package/dist/pd-panel-viewer/pd-panel-viewer.stories.d.ts.map +0 -1
  78. package/dist/pd-resize-content/pd-resize-content.stories.d.ts +0 -37
  79. package/dist/pd-resize-content/pd-resize-content.stories.d.ts.map +0 -1
  80. package/dist/pd-tab/pd-tab.stories.d.ts +0 -53
  81. package/dist/pd-tab/pd-tab.stories.d.ts.map +0 -1
  82. package/dist/pd-timeline/pd-timeline.stories.d.ts +0 -56
  83. package/dist/pd-timeline/pd-timeline.stories.d.ts.map +0 -1
  84. package/dist/pd-timeline-wizard/pd-timeline-wizard.stories.d.ts +0 -54
  85. package/dist/pd-timeline-wizard/pd-timeline-wizard.stories.d.ts.map +0 -1
@@ -0,0 +1,320 @@
1
+ import { LitElement, css, nothing, html } from 'lit';
2
+ import { property } from 'lit/decorators.js';
3
+ import { classMap } from 'lit/directives/class-map.js';
4
+ import '@progressive-development/pd-icon/pd-icon';
5
+ import { pdIcons } from '@progressive-development/pd-icon';
6
+ import { DEFAULT_BADGE_COLOR } from './types.js';
7
+
8
+ var __defProp = Object.defineProperty;
9
+ var __decorateClass = (decorators, target, key, kind) => {
10
+ var result = void 0 ;
11
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
+ if (decorator = decorators[i])
13
+ result = (decorator(target, key, result) ) || result;
14
+ if (result) __defProp(target, key, result);
15
+ return result;
16
+ };
17
+ class PdBadgeItem extends LitElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.index = 0;
21
+ this.numbered = false;
22
+ this.active = false;
23
+ this.disabled = false;
24
+ this.readonly = false;
25
+ this.dragging = false;
26
+ this.ghost = false;
27
+ }
28
+ static {
29
+ this.styles = css`
30
+ :host {
31
+ display: block;
32
+ }
33
+
34
+ .badge {
35
+ display: flex;
36
+ align-items: center;
37
+ gap: 0.5rem;
38
+ padding: 0.5rem 0.75rem;
39
+ border-radius: var(--pd-badge-radius, var(--pd-radius-md, 6px));
40
+ background: var(--pd-default-lightest-col, #fff);
41
+ border: 1px solid var(--pd-default-disabled-light-col, #e5e7eb);
42
+ transition:
43
+ box-shadow 0.15s ease-out,
44
+ transform 0.15s ease-out,
45
+ opacity 0.15s ease-out;
46
+ cursor: default;
47
+ user-select: none;
48
+ min-height: var(--pd-badge-height, auto);
49
+ will-change: transform;
50
+ }
51
+
52
+ .badge:hover:not(.disabled):not(.readonly):not(.ghost) {
53
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
54
+ }
55
+
56
+ .badge.dragging {
57
+ transform: scale(var(--pd-badge-drag-scale, 1.03));
58
+ box-shadow: var(--pd-badge-drag-shadow, 0 8px 24px rgba(0, 0, 0, 0.15));
59
+ z-index: 100;
60
+ }
61
+
62
+ .badge.ghost {
63
+ opacity: 0.35;
64
+ border-style: dashed;
65
+ background: var(
66
+ --pd-badge-ghost-color,
67
+ var(--pd-default-light-col, #f3f4f6)
68
+ );
69
+ }
70
+
71
+ .badge.disabled {
72
+ opacity: 0.5;
73
+ cursor: not-allowed;
74
+ }
75
+
76
+ .badge.readonly {
77
+ cursor: default;
78
+ }
79
+
80
+ .number {
81
+ flex-shrink: 0;
82
+ width: 1.5rem;
83
+ text-align: center;
84
+ font-weight: 600;
85
+ font-size: 0.8rem;
86
+ color: var(--pd-default-font-title-col, #374151);
87
+ font-family: var(--pd-default-font-title-family, sans-serif);
88
+ }
89
+
90
+ .drag-handle {
91
+ flex-shrink: 0;
92
+ cursor: grab;
93
+ display: flex;
94
+ align-items: center;
95
+ touch-action: none;
96
+ --pd-icon-size: 1.1rem;
97
+ color: var(--pd-default-disabled-col, #9ca3af);
98
+ transition: color 0.15s;
99
+ }
100
+
101
+ .drag-handle:hover {
102
+ color: var(--pd-default-font-col, #374151);
103
+ }
104
+
105
+ .badge.disabled .drag-handle,
106
+ .badge.readonly .drag-handle {
107
+ cursor: default;
108
+ visibility: hidden;
109
+ }
110
+
111
+ .color-dot {
112
+ flex-shrink: 0;
113
+ width: 0.75rem;
114
+ height: 0.75rem;
115
+ border-radius: 50%;
116
+ }
117
+
118
+ .badge-icon {
119
+ flex-shrink: 0;
120
+ --pd-icon-size: 1.1rem;
121
+ }
122
+
123
+ .content {
124
+ flex: 1;
125
+ min-width: 0;
126
+ display: flex;
127
+ flex-direction: column;
128
+ gap: 0.1rem;
129
+ }
130
+
131
+ .title {
132
+ font-size: 0.875rem;
133
+ font-weight: 500;
134
+ color: var(--pd-default-font-title-col, #374151);
135
+ font-family: var(--pd-default-font-title-family, sans-serif);
136
+ white-space: nowrap;
137
+ overflow: hidden;
138
+ text-overflow: ellipsis;
139
+ }
140
+
141
+ .description {
142
+ font-size: 0.75rem;
143
+ color: var(--pd-default-font-col, #6b7280);
144
+ font-family: var(--pd-default-font-input-family, sans-serif);
145
+ white-space: nowrap;
146
+ overflow: hidden;
147
+ text-overflow: ellipsis;
148
+ }
149
+
150
+ .action-btn {
151
+ flex-shrink: 0;
152
+ display: flex;
153
+ align-items: center;
154
+ justify-content: center;
155
+ background: none;
156
+ border: 1px solid transparent;
157
+ border-radius: var(--pd-radius-sm, 4px);
158
+ cursor: pointer;
159
+ padding: 0.2rem;
160
+ transition:
161
+ background-color 0.15s,
162
+ border-color 0.15s;
163
+ --pd-icon-size: 1rem;
164
+ color: var(--pd-default-disabled-col, #9ca3af);
165
+ }
166
+
167
+ .action-btn:hover {
168
+ background: var(--pd-default-light-col, #f3f4f6);
169
+ border-color: var(--pd-default-disabled-light-col, #e5e7eb);
170
+ color: var(--pd-default-font-col, #374151);
171
+ }
172
+
173
+ .action-btn.delete-btn:hover {
174
+ color: var(--pd-default-error-col, #ef4444);
175
+ background: var(--pd-default-error-light-col, #fef2f2);
176
+ border-color: var(--pd-default-error-col, #ef4444);
177
+ }
178
+
179
+ .badge.disabled .action-btn,
180
+ .badge.readonly .action-btn {
181
+ display: none;
182
+ }
183
+ `;
184
+ }
185
+ render() {
186
+ if (!this.badge) return nothing;
187
+ const badgeClasses = {
188
+ badge: true,
189
+ active: this.active,
190
+ dragging: this.dragging,
191
+ ghost: this.ghost,
192
+ disabled: this.disabled,
193
+ readonly: this.readonly
194
+ };
195
+ const badgeColor = this.badge.color || DEFAULT_BADGE_COLOR;
196
+ return html`
197
+ <div
198
+ class=${classMap(badgeClasses)}
199
+ part="badge"
200
+ data-badge-id=${this.badge.id}
201
+ >
202
+ ${this.active && this.numbered ? html`<span class="number" part="badge-number">${this.index}</span>` : nothing}
203
+ ${this.active && !this.disabled && !this.readonly ? html`
204
+ <span class="drag-handle" part="drag-handle">
205
+ <pd-icon icon=${pdIcons.ICON_BURGER_MENU}></pd-icon>
206
+ </span>
207
+ ` : nothing}
208
+ ${this.badge.icon ? html`<pd-icon
209
+ class="badge-icon"
210
+ icon=${this.badge.icon}
211
+ part="badge-icon"
212
+ ></pd-icon>` : html`<span
213
+ class="color-dot"
214
+ style="background-color: ${badgeColor}"
215
+ part="badge-icon"
216
+ ></span>`}
217
+
218
+ <span class="content">
219
+ <span class="title" part="badge-title">${this.badge.title}</span>
220
+ ${this.badge.description ? html`<span class="description" part="badge-description"
221
+ >${this.badge.description}</span
222
+ >` : nothing}
223
+ </span>
224
+
225
+ ${this._renderActions()}
226
+ </div>
227
+ `;
228
+ }
229
+ _renderActions() {
230
+ if (this.disabled || this.readonly) return nothing;
231
+ if (this.active) {
232
+ return html`
233
+ <button
234
+ class="action-btn"
235
+ @click=${this._onRemove}
236
+ title="Entfernen"
237
+ aria-label="Badge entfernen"
238
+ >
239
+ <pd-icon icon=${pdIcons.ICON_ARROW_BACK}></pd-icon>
240
+ </button>
241
+ `;
242
+ }
243
+ return html`
244
+ <button
245
+ class="action-btn"
246
+ @click=${this._onAdd}
247
+ title="Hinzufügen"
248
+ aria-label="Badge hinzufügen"
249
+ >
250
+ <pd-icon icon=${pdIcons.ICON_ADD}></pd-icon>
251
+ </button>
252
+ ${this.badge.custom ? html`
253
+ <button
254
+ class="action-btn delete-btn"
255
+ @click=${this._onDelete}
256
+ title="Löschen"
257
+ aria-label="Badge löschen"
258
+ >
259
+ <pd-icon icon=${pdIcons.ICON_DELETE}></pd-icon>
260
+ </button>
261
+ ` : nothing}
262
+ `;
263
+ }
264
+ _onAdd(e) {
265
+ e.stopPropagation();
266
+ this.dispatchEvent(
267
+ new CustomEvent("badge-action", {
268
+ detail: { action: "add", badgeId: this.badge.id },
269
+ bubbles: true,
270
+ composed: true
271
+ })
272
+ );
273
+ }
274
+ _onRemove(e) {
275
+ e.stopPropagation();
276
+ this.dispatchEvent(
277
+ new CustomEvent("badge-action", {
278
+ detail: { action: "remove", badgeId: this.badge.id },
279
+ bubbles: true,
280
+ composed: true
281
+ })
282
+ );
283
+ }
284
+ _onDelete(e) {
285
+ e.stopPropagation();
286
+ this.dispatchEvent(
287
+ new CustomEvent("badge-action", {
288
+ detail: { action: "delete", badgeId: this.badge.id },
289
+ bubbles: true,
290
+ composed: true
291
+ })
292
+ );
293
+ }
294
+ }
295
+ __decorateClass([
296
+ property({ type: Object })
297
+ ], PdBadgeItem.prototype, "badge");
298
+ __decorateClass([
299
+ property({ type: Number })
300
+ ], PdBadgeItem.prototype, "index");
301
+ __decorateClass([
302
+ property({ type: Boolean })
303
+ ], PdBadgeItem.prototype, "numbered");
304
+ __decorateClass([
305
+ property({ type: Boolean })
306
+ ], PdBadgeItem.prototype, "active");
307
+ __decorateClass([
308
+ property({ type: Boolean })
309
+ ], PdBadgeItem.prototype, "disabled");
310
+ __decorateClass([
311
+ property({ type: Boolean, reflect: true })
312
+ ], PdBadgeItem.prototype, "readonly");
313
+ __decorateClass([
314
+ property({ type: Boolean, reflect: true })
315
+ ], PdBadgeItem.prototype, "dragging");
316
+ __decorateClass([
317
+ property({ type: Boolean, reflect: true })
318
+ ], PdBadgeItem.prototype, "ghost");
319
+
320
+ export { PdBadgeItem };
@@ -0,0 +1,68 @@
1
+ import { CSSResultGroup, PropertyValues } from 'lit';
2
+ import { PdBaseUIInput } from '@progressive-development/pd-forms';
3
+ import { PdBadge } from './types.js';
4
+ /**
5
+ * Badge order component for selecting and sorting badges.
6
+ * Two areas: active (sorted, left/bottom) and available (pool, right/top).
7
+ *
8
+ * @tagname pd-badge-order
9
+ *
10
+ * @event pd-change - Fired when order or selection changes. Detail: { value: string[], badges: PdBadge[] }
11
+ * @event pd-reorder - Fired when only the order changes. Detail: { value: string[] }
12
+ * @event pd-form-element-change - Standard PD form event.
13
+ *
14
+ * @cssprop --pd-badge-order-gap - Gap between the two areas. Default: 1rem.
15
+ * @cssprop --pd-badge-order-min-height - Minimum height of badge lists. Default: 200px.
16
+ * @cssprop --pd-badge-transition-duration - FLIP animation duration. Default: 200ms.
17
+ */
18
+ export declare class PdBadgeOrder extends PdBaseUIInput {
19
+ /** All available badges (the full pool). Set from outside. */
20
+ badges: PdBadge[];
21
+ /** Minimum number of active badges */
22
+ min?: number;
23
+ /** Maximum number of active badges */
24
+ max?: number;
25
+ /** Show position numbers in active list */
26
+ numbered: boolean;
27
+ /** Label for the active area */
28
+ activeLabel: string;
29
+ /** Label for the available area */
30
+ availableLabel: string;
31
+ /** Placeholder text when active list is empty */
32
+ emptyActiveText: string;
33
+ /** Placeholder text when available list is empty */
34
+ emptyAvailableText: string;
35
+ private _dragController;
36
+ private _activeListEl;
37
+ private _availableListEl;
38
+ /** Positions captured before DOM change for FLIP animation */
39
+ private _oldPositions;
40
+ static styles: CSSResultGroup;
41
+ aiAdopt(value: string): void;
42
+ /** @ts-expect-error Widening return type from string to string[] */
43
+ get value(): string[];
44
+ /** @ts-expect-error Widening param type from string to string[] | string */
45
+ set value(val: string[] | string);
46
+ _getParsedValue(): string[];
47
+ protected _getInitialValue(reset?: boolean): string;
48
+ connectedCallback(): void;
49
+ private _setupValidators;
50
+ private get _activeBadges();
51
+ private get _availableBadges();
52
+ private _captureBeforeChange;
53
+ private _addBadge;
54
+ private _removeBadge;
55
+ private _deleteBadge;
56
+ /** Reorder: move badge from oldIndex to newIndex within active list */
57
+ reorderBadge(oldIndex: number, newIndex: number): void;
58
+ /** Insert a badge from available into active list at a specific index */
59
+ insertBadgeAt(badgeId: string, index: number): void;
60
+ /** Move a badge from active to available (at drop) */
61
+ deactivateBadge(badgeId: string): void;
62
+ private _fireChangeEvents;
63
+ private _onBadgeAction;
64
+ updated(changedProps: PropertyValues): void;
65
+ render(): import('lit').TemplateResult<1>;
66
+ private _renderGhost;
67
+ }
68
+ //# sourceMappingURL=PdBadgeOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdBadgeOrder.d.ts","sourceRoot":"","sources":["../../src/pd-badge-order/PdBadgeOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,cAAc,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAIzE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAuB,MAAM,YAAY,CAAC;AAM/D;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC7C,8DAA8D;IAE9D,MAAM,EAAE,OAAO,EAAE,CAAM;IAEvB,sCAAsC;IAEtC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,sCAAsC;IAEtC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,2CAA2C;IAE3C,QAAQ,UAAQ;IAEhB,gCAAgC;IAEhC,WAAW,SAAgB;IAE3B,mCAAmC;IAEnC,cAAc,SAAe;IAE7B,iDAAiD;IAEjD,eAAe,SAA2B;IAE1C,oDAAoD;IAEpD,kBAAkB,SAA2B;IAG7C,OAAO,CAAC,eAAe,CAA4B;IAGnD,OAAO,CAAC,aAAa,CAAe;IAGpC,OAAO,CAAC,gBAAgB,CAAe;IAEvC,8DAA8D;IAC9D,OAAO,CAAC,aAAa,CAAqC;IAE1D,OAAgB,MAAM,EAAE,cAAc,CAsHpC;IAMc,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAgC5C,oEAAoE;IACpE,IAAa,KAAK,IAAI,MAAM,EAAE,CAO7B;IAED,4EAA4E;IAC5E,IAAa,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAUxC;IAEQ,eAAe,IAAI,MAAM,EAAE;cAIjB,gBAAgB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM;IAUnD,iBAAiB,IAAI,IAAI;IAKlC,OAAO,CAAC,gBAAgB;IA8CxB,OAAO,KAAK,aAAa,GAIxB;IAED,OAAO,KAAK,gBAAgB,GAG3B;IAMD,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;IA0BpB,uEAAuE;IACvE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA0BtD,yEAAyE;IACzE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAenD,sDAAsD;IACtD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAItC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,cAAc,CAepB;IAMO,OAAO,CAAC,YAAY,EAAE,cAAc,GAAG,IAAI;IAuB3C,MAAM;IAmHf,OAAO,CAAC,YAAY;CAwBrB"}