@progressive-development/pd-wizard 0.9.2 → 1.0.1

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 (75) hide show
  1. package/LICENSE +21 -2
  2. package/README.md +33 -57
  3. package/dist/default-step-address/DefaultStepAddress.d.ts +26 -0
  4. package/dist/default-step-address/DefaultStepAddress.d.ts.map +1 -0
  5. package/dist/default-step-address/DefaultStepAddress.js +66 -0
  6. package/dist/default-step-address/default-step-address.d.ts +2 -0
  7. package/dist/default-step-address/default-step-address.d.ts.map +1 -0
  8. package/dist/default-step-address.d.ts +2 -0
  9. package/dist/default-step-address.js +1 -0
  10. package/dist/default-step-summary/DefaultStepSummary.d.ts +58 -0
  11. package/dist/default-step-summary/DefaultStepSummary.d.ts.map +1 -0
  12. package/dist/default-step-summary/DefaultStepSummary.js +77 -0
  13. package/dist/default-step-summary/default-step-summary.d.ts +3 -0
  14. package/dist/default-step-summary/default-step-summary.d.ts.map +1 -0
  15. package/dist/default-step-summary.d.ts +2 -0
  16. package/dist/default-step-summary.js +1 -0
  17. package/dist/default-wizard/DefaultWizard.d.ts +59 -0
  18. package/dist/default-wizard/DefaultWizard.d.ts.map +1 -0
  19. package/dist/default-wizard/DefaultWizard.js +283 -0
  20. package/dist/default-wizard/default-wizard.d.ts +3 -0
  21. package/dist/default-wizard/default-wizard.d.ts.map +1 -0
  22. package/dist/default-wizard.d.ts +2 -0
  23. package/dist/default-wizard.js +1 -0
  24. package/dist/generated/locales/be.d.ts +17 -0
  25. package/dist/generated/locales/be.d.ts.map +1 -1
  26. package/dist/generated/locales/de.d.ts +17 -0
  27. package/dist/generated/locales/de.d.ts.map +1 -1
  28. package/dist/generated/locales/en.d.ts +17 -0
  29. package/dist/generated/locales/en.d.ts.map +1 -1
  30. package/dist/index.d.ts +10 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +8 -0
  33. package/dist/locales/be.js +20 -1
  34. package/dist/locales/de.js +20 -1
  35. package/dist/locales/en.js +20 -1
  36. package/dist/pd-components/pd-content/dist/pd-notice-box/PdNoticeBox.js +224 -0
  37. package/dist/pd-components/pd-content/dist/pd-notice-box/pd-notice-box.js +8 -0
  38. package/dist/pd-default-wizard-step/PdDefaultWizardStep.d.ts +85 -0
  39. package/dist/pd-default-wizard-step/PdDefaultWizardStep.d.ts.map +1 -0
  40. package/dist/pd-default-wizard-step/PdDefaultWizardStep.js +167 -0
  41. package/dist/pd-default-wizard-step/pd-default-wizard-step.d.ts +2 -0
  42. package/dist/pd-default-wizard-step/pd-default-wizard-step.d.ts.map +1 -0
  43. package/dist/pd-default-wizard-step.d.ts +2 -0
  44. package/dist/pd-default-wizard-step.js +1 -0
  45. package/dist/pd-utils/dist/date-helper.js +35 -0
  46. package/dist/pd-utils/dist/locale-format.js +6 -0
  47. package/dist/pd-wizard/PdWizard.d.ts +36 -23
  48. package/dist/pd-wizard/PdWizard.d.ts.map +1 -1
  49. package/dist/pd-wizard/PdWizard.js +103 -145
  50. package/dist/pd-wizard/pd-steps/PdSteps.d.ts +26 -10
  51. package/dist/pd-wizard/pd-steps/PdSteps.d.ts.map +1 -1
  52. package/dist/pd-wizard/pd-steps/PdSteps.js +126 -59
  53. package/dist/pd-wizard/pd-steps/pd-steps.stories.d.ts +45 -37
  54. package/dist/pd-wizard/pd-steps/pd-steps.stories.d.ts.map +1 -1
  55. package/dist/pd-wizard/pd-wizard.stories.d.ts +46 -7
  56. package/dist/pd-wizard/pd-wizard.stories.d.ts.map +1 -1
  57. package/dist/wizard-close-popup/WizardClosePopup.d.ts +12 -0
  58. package/dist/wizard-close-popup/WizardClosePopup.d.ts.map +1 -0
  59. package/dist/wizard-close-popup/WizardClosePopup.js +56 -0
  60. package/dist/wizard-close-popup/wizard-close-popup.d.ts +2 -0
  61. package/dist/wizard-close-popup/wizard-close-popup.d.ts.map +1 -0
  62. package/dist/wizard-close-popup/wizard-close-popup.stories.d.ts +39 -0
  63. package/dist/wizard-close-popup/wizard-close-popup.stories.d.ts.map +1 -0
  64. package/dist/wizard-close-popup.d.ts +2 -0
  65. package/dist/wizard-close-popup.js +1 -0
  66. package/dist/wizard-reload-popup/WizardReloadPopup.d.ts +19 -0
  67. package/dist/wizard-reload-popup/WizardReloadPopup.d.ts.map +1 -0
  68. package/dist/wizard-reload-popup/WizardReloadPopup.js +88 -0
  69. package/dist/wizard-reload-popup/wizard-reload-popup.d.ts +3 -0
  70. package/dist/wizard-reload-popup/wizard-reload-popup.d.ts.map +1 -0
  71. package/dist/wizard-reload-popup/wizard-reload-popup.stories.d.ts +42 -0
  72. package/dist/wizard-reload-popup/wizard-reload-popup.stories.d.ts.map +1 -0
  73. package/dist/wizard-reload-popup.d.ts +2 -0
  74. package/dist/wizard-reload-popup.js +1 -0
  75. package/package.json +35 -21
@@ -3,7 +3,7 @@ import { property, state } from 'lit/decorators.js';
3
3
  import { localized, msg } from '@lit/localize';
4
4
  import { pdIcons } from '@progressive-development/pd-icon';
5
5
  import '@progressive-development/pd-icon/pd-icon';
6
- import '@progressive-development/pd-forms/pd-panel-button';
6
+ import '@progressive-development/pd-forms/pd-button';
7
7
  import './pd-steps/pd-steps.js';
8
8
 
9
9
  var __defProp = Object.defineProperty;
@@ -21,36 +21,29 @@ let PdWizard = class extends LitElement {
21
21
  super(...arguments);
22
22
  this.currentNumber = -99;
23
23
  this.wizardSteps = [];
24
- this.panelWizard = false;
25
- this._submited = false;
24
+ this._submitted = false;
26
25
  }
27
26
  render() {
28
27
  if (!this.wizardSteps.length) return html``;
29
28
  const currentStep = this.wizardSteps[this.currentNumber - 1];
30
29
  return html`
31
- <div class="wiz-header">
32
- ${this.panelWizard ? html`
33
- <div class="wiz-panel-h">
34
- <h1>${currentStep?.title ?? "No-Title"}</h1>
35
- <pd-icon
36
- class="panel-close-icon"
37
- title="Close"
38
- activeIcon
39
- icon="${pdIcons.ICON_XCLOSE}"
40
- @click="${this._closeWizard}"
41
- ></pd-icon>
42
- </div>
43
- ` : html`
44
- <div class="wiz-title">
45
- <slot name="slotLogo"></slot>
46
- <span class="title">${currentStep?.title ?? "No-Title"}</span>
47
- <pd-icon
48
- class="close"
49
- icon="${pdIcons.ICON_CLOSE}"
50
- @click="${this._closeWizard}"
51
- ></pd-icon>
52
- </div>
53
- `}
30
+ <div class="wiz-header" part="header">
31
+ <pd-icon
32
+ class="close"
33
+ activeIcon
34
+ tabindex="0"
35
+ role="button"
36
+ aria-label="${msg("Wizard schließen", {
37
+ id: "pd.wizard.close.aria"
38
+ })}"
39
+ icon="${pdIcons.ICON_XCLOSE}"
40
+ @click="${this._closeWizard}"
41
+ @keydown="${this._handleCloseKeydown}"
42
+ ></pd-icon>
43
+
44
+ <div class="wiz-title">
45
+ <span class="title">${currentStep?.title ?? "No-Title"}</span>
46
+ </div>
54
47
 
55
48
  <div class="wiz-breadcrumbs">
56
49
  <pd-steps
@@ -60,7 +53,7 @@ let PdWizard = class extends LitElement {
60
53
  </div>
61
54
  </div>
62
55
 
63
- <div class="wiz-content">
56
+ <div class="wiz-content" part="content">
64
57
  <div class="wiz-content-inner">
65
58
  ${this.wizardSteps.map(
66
59
  (step, i) => html`
@@ -74,34 +67,43 @@ let PdWizard = class extends LitElement {
74
67
  </div>
75
68
  </div>
76
69
 
77
- <div class="wiz-buttons">
70
+ <div class="wiz-buttons" part="buttons">
78
71
  ${this.currentNumber >= 1 && this.wizardSteps.length ? html`
79
- <pd-panel-button
80
- @button-clicked="${this._previousStep}"
81
- pdButtonIcon="${pdIcons.ICON_ARROW_BACK}"
82
- buttonText="${msg("Zurück", { id: "pd.wizard.button.back" })}"
83
- style="visibility: ${this.currentNumber === 1 ? "hidden" : "visible"}"
84
- ></pd-panel-button>
85
-
72
+ ${this.currentNumber === 1 ? html`
73
+ <pd-button
74
+ @button-clicked="${this._closeWizard}"
75
+ text="${msg("Abbrechen", {
76
+ id: "pd.wizard.button.cancel"
77
+ })}"
78
+ ></pd-button>
79
+ ` : html`
80
+ <pd-button
81
+ @button-clicked="${this._previousStep}"
82
+ icon="${pdIcons.ICON_ARROW_BACK}"
83
+ text="${msg("Zurück", {
84
+ id: "pd.wizard.button.back"
85
+ })}"
86
+ ></pd-button>
87
+ `}
86
88
  ${this.currentNumber !== this.wizardSteps.length && currentStep?.next !== false ? html`
87
- <pd-panel-button
89
+ <pd-button
88
90
  @button-clicked="${this._nextStep}"
89
- pdButtonIcon="${pdIcons.ICON_ARROW_NEXT}"
90
- buttonText="${msg("Weiter", {
91
+ icon="${pdIcons.ICON_ARROW_NEXT}"
92
+ text="${msg("Weiter", {
91
93
  id: "pd.wizard.button.next"
92
94
  })}"
93
- ></pd-panel-button>
95
+ ></pd-button>
94
96
  ` : ""}
95
97
  ${this.currentNumber === this.wizardSteps.length ? html`
96
- <pd-panel-button
97
- pdButtonIcon="${pdIcons.ICON_SYNC}"
98
+ <pd-button
99
+ icon="${pdIcons.ICON_SYNC}"
98
100
  primary
99
- ?disabled="${this._submited}"
101
+ ?disabled="${this._submitted}"
100
102
  @button-clicked="${this._submit}"
101
- buttonText="${msg("Absenden", {
103
+ text="${msg("Absenden", {
102
104
  id: "pd.wizard.button.send"
103
105
  })}"
104
- ></pd-panel-button>
106
+ ></pd-button>
105
107
  ` : ""}
106
108
  ` : ""}
107
109
  </div>
@@ -114,56 +116,51 @@ let PdWizard = class extends LitElement {
114
116
  this.dispatchEvent(new CustomEvent("next-step"));
115
117
  }
116
118
  _submit() {
117
- const detail = { submited: false };
119
+ const detail = { submitted: false };
118
120
  this.dispatchEvent(new CustomEvent("submit-wizard", { detail }));
119
- this._submited = detail.submited;
121
+ this._submitted = detail.submitted;
120
122
  }
121
123
  _closeWizard() {
122
124
  this.dispatchEvent(new CustomEvent("close-wizard"));
123
125
  }
126
+ /**
127
+ * Handles keyboard events on the close icon.
128
+ * Activates on Enter or Space key.
129
+ */
130
+ _handleCloseKeydown(e) {
131
+ if (e.key === "Enter" || e.key === " ") {
132
+ e.preventDefault();
133
+ this._closeWizard();
134
+ }
135
+ }
124
136
  };
125
137
  PdWizard.styles = [
126
138
  css`
127
139
  :host {
128
- /* These values are used more than onnce and dfined here for short access */
129
- --my-height: var(--pd-wizard-title-height, 110px);
130
- --my-header-font-color: var(
131
- --pd-wizard-header-font-col,
132
- var(--pd-default-bg-col)
133
- );
134
- --my-header-bg-col: var(
135
- --pd-wizard-header-bg-col,
136
- var(--pd-default-col)
137
- );
138
-
139
140
  display: flex;
140
141
  flex-direction: column;
141
142
  height: 100%;
143
+
144
+ --_border-radius: var(--pd-wizard-border-radius, 0);
142
145
  }
143
146
 
144
147
  .wiz-header {
145
- flex-grow: 0;
148
+ position: relative;
149
+ flex-shrink: 0;
150
+ background: var(--pd-wizard-header-bg, var(--pd-default-col));
151
+ color: var(--pd-wizard-header-color, var(--pd-on-primary-col));
152
+ border-radius: var(--_border-radius) var(--_border-radius) 0 0;
146
153
  }
147
154
 
148
155
  .wiz-title {
149
- position: relative;
150
156
  text-align: center;
151
- background-color: var(--my-header-bg-col);
152
- height: var(---my-height);
153
- padding-left: var(--pd-wizard-title-padding-left, 0);
154
- color: var(--my-header-font-color);
155
- }
156
-
157
- :host(.top-rounded) .wiz-title {
158
- border-top-left-radius: var(--pd-wizard-top-borderradius, 5px);
159
- border-top-right-radius: var(--pd-wizard-top-borderradius, 5px);
157
+ padding-top: var(--pd-spacing-md);
160
158
  }
161
159
 
162
160
  .title {
163
161
  font-family: var(--pd-default-font-title-family);
164
162
  font-size: var(--pd-wizard-header-font-size, 2em);
165
163
  font-weight: bolder;
166
- line-height: var(--my-height);
167
164
  }
168
165
 
169
166
  /* The Close Icon */
@@ -171,101 +168,65 @@ PdWizard.styles = [
171
168
  position: absolute;
172
169
  top: 6px;
173
170
  right: 6px;
174
-
175
171
  cursor: pointer;
176
-
177
172
  --pd-icon-size: 2em;
178
- --pd-icon-col-active: white;
173
+ --pd-icon-col-active: var(
174
+ --pd-wizard-close-icon-col,
175
+ var(--pd-on-primary-col)
176
+ );
179
177
  }
180
178
 
181
179
  .close:hover,
182
- .close:focus {
183
- color: var(--pd-default-hover-col);
180
+ .close:focus-visible {
181
+ --pd-icon-col-active: var(
182
+ --pd-wizard-close-icon-hover-col,
183
+ var(--pd-default-hover-col)
184
+ );
185
+ }
186
+
187
+ .close:focus-visible {
188
+ outline: 2px solid var(--pd-focus-ring-col, currentColor);
189
+ outline-offset: 2px;
190
+ border-radius: var(--pd-radius-sm);
184
191
  }
185
192
 
186
193
  .wiz-content {
187
- display: flex;
188
- justify-content: var(--pd-wizard-justify-content, center);
189
194
  flex-grow: 1;
190
-
191
- background-color: var(
192
- --pd-wizard-content-bg-col,
193
- var(--pd-default-bg-col)
194
- );
195
- padding: var(--pd-wizard-content-padding, 1em);
196
- overflow-y: var(--pd-wizard-content-scroll, auto);
195
+ overflow-y: var(--pd-wizard-content-overflow, auto);
196
+ background: var(--pd-wizard-content-bg, var(--pd-default-bg-col));
197
+ padding: var(--pd-wizard-content-padding, 2rem 3.5rem 0.5rem 3.5rem);
197
198
  }
198
199
 
199
200
  .wiz-content-inner {
200
- background-color: var(
201
- --pd-wizard-content-inner-bg-col,
202
- var(--pd-default-bg-col)
201
+ max-width: var(
202
+ --pd-wizard-content-max-width,
203
+ var(--pd-content-max-width)
203
204
  );
204
- max-width: var(--pd-wizard-content-max-width, 1024px);
205
- width: var(--pd-wizard-content-width, 75%);
205
+ margin: 0 auto;
206
206
  }
207
207
 
208
208
  .wiz-buttons {
209
+ flex-shrink: 0;
209
210
  display: flex;
210
- justify-content: var(--pd-wizard-justify-buttons, space-around);
211
- flex-grow: 0;
212
- padding: 1em;
213
-
214
- background: linear-gradient(
215
- to top,
216
- var(--pd-wizard-buttons-bg-col1, var(--pd-default-light-col)) 0%,
217
- var(--pd-wizard-buttons-bg-col2, var(--pd-default-disabled-light-col))
218
- 100%
219
- );
220
- }
221
-
222
- :host(.bottom-rounded) .wiz-buttons {
223
- border-bottom-left-radius: var(--pd-wizard-bottom-borderradius, 5px);
224
- border-bottom-right-radius: var(--pd-wizard-bottom-borderradius, 5px);
225
- }
226
-
227
- /*
228
- * CSS for panel wizard
229
- */
230
- .wiz-panel-h {
231
- padding: var(--pd-wizard-header-panel-padding, 0);
232
- display: flex;
233
- align-items: center;
234
- justify-content: center;
235
- background-color: var(
236
- --pd-wizard-header-panel-bg-col,
237
- var(--pd-default-col)
238
- );
239
- position: relative;
240
- }
211
+ justify-content: var(--pd-wizard-buttons-justify, space-around);
212
+ background: var(--pd-wizard-buttons-bg, var(--pd-default-light-col));
213
+ padding: var(--pd-wizard-buttons-padding, var(--pd-spacing-md));
241
214
 
242
- .wiz-panel-h h1 {
243
- color: var(--pd-wizard-header-panel-title-col, white);
244
- padding: 0;
245
- margin: 0.8em 0 0.5em 0;
246
- font-size: var(--pd-wizard-header-font-size, 1.2em);
247
- font-family: var(--pd-default-font-title-family);
215
+ border-radius: 0 0 var(--_border-radius) var(--_border-radius);
248
216
  }
249
217
 
250
- .panel-close-icon {
251
- --pd-icon-size: 2em;
252
- --pd-icon-col-active: white;
253
- cursor: pointer;
254
- position: absolute;
255
- right: 0px;
256
- top: 0px;
218
+ @media (max-width: 768px) {
219
+ .wiz-content {
220
+ padding: var(--pd-wizard-content-padding, 2rem 2.5rem 0.5rem 2.5rem);
221
+ }
257
222
  }
258
223
 
259
- /* Size Elements for small width */
260
- @media (max-width: 700px) {
261
- .close {
262
- font-size: 0.7rem;
263
- --pd-icon-size: 1.2rem;
264
- top: 3px;
265
- right: 3px;
224
+ @media (max-width: 440px) {
225
+ .wiz-content {
226
+ padding: var(--pd-wizard-content-padding, 1rem 1rem 0.5rem 1rem);
266
227
  }
267
- .title {
268
- margin-left: 50px;
228
+ .close {
229
+ --pd-icon-size: 1em;
269
230
  }
270
231
  }
271
232
  `
@@ -276,12 +237,9 @@ __decorateClass([
276
237
  __decorateClass([
277
238
  property({ type: Array })
278
239
  ], PdWizard.prototype, "wizardSteps", 2);
279
- __decorateClass([
280
- property({ type: Boolean })
281
- ], PdWizard.prototype, "panelWizard", 2);
282
240
  __decorateClass([
283
241
  state()
284
- ], PdWizard.prototype, "_submited", 2);
242
+ ], PdWizard.prototype, "_submitted", 2);
285
243
  PdWizard = __decorateClass([
286
244
  localized()
287
245
  ], PdWizard);
@@ -1,28 +1,44 @@
1
1
  import { LitElement, CSSResultGroup } from 'lit';
2
2
  import { PdWizardStep } from '../../types';
3
3
  /**
4
- * @tag pd-steps
5
- * @summary Fortschrittsanzeige in Kreis- oder Tab-Optik
4
+ * Progress indicator component with circle or tab style.
5
+ *
6
+ * @summary Step progress indicator with current, passed, and future states.
6
7
  *
7
- * @fires go-to - wenn ein abgeschlossener Schritt erneut geklickt wird
8
8
  * @tagname pd-steps
9
+ *
10
+ * @event go-to - Fired when a passed step is clicked with `{step}` detail.
11
+ *
12
+ * @cssprop --pd-step-circle-size - Circle diameter. Default: `40px`.
13
+ * @cssprop --pd-step-bg - Background color. Default: `var(--pd-default-col)`.
14
+ * @cssprop --pd-step-color - Foreground color (border, line, text). Default: `var(--pd-on-primary-col)`.
15
+ * @cssprop --pd-step-name-font-size - Step name font size. Default: `1em`.
16
+ * @cssprop --pd-step-current-color - Current step accent color. Default: `var(--pd-default-hover-col)`.
17
+ * @cssprop --pd-step-passed-bg - Passed circle background. Default: `var(--pd-default-success-light-col)`.
18
+ * @cssprop --pd-step-passed-nr-color - Passed number color (dark on light bg). Default: `var(--pd-default-col)`.
9
19
  */
10
20
  export declare class PdSteps extends LitElement {
11
- /**
12
- * Schritte mit Namen
13
- */
21
+ /** Step definitions with names. */
14
22
  steps: PdWizardStep[];
15
- /**
16
- * Der aktuell sichtbare Schritt (1-basiert)
17
- */
23
+ /** Current visible step (1-based). */
18
24
  currentStepNr: number;
19
25
  /**
20
- * Darstellungsmodus: `circle` oder `tab` (aktuell beide gleich)
26
+ * Display mode: circle or tab.
27
+ * @remarks Currently only "circle" is implemented. "tab" is reserved for future use.
21
28
  */
22
29
  styleTyp: "circle" | "tab";
23
30
  static styles: CSSResultGroup;
24
31
  render(): import('lit').TemplateResult<1>;
25
32
  private _renderCircle;
26
33
  private _stepClicked;
34
+ /**
35
+ * Handles keyboard events on step circles.
36
+ * Activates on Enter or Space key.
37
+ */
38
+ private _handleStepKeydown;
39
+ /**
40
+ * Navigates to a specific step if it's a passed step.
41
+ */
42
+ private _navigateToStep;
27
43
  }
28
44
  //# sourceMappingURL=PdSteps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PdSteps.d.ts","sourceRoot":"","sources":["../../../src/pd-wizard/pd-steps/PdSteps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC;;OAEG;IAEH,KAAK,EAAE,YAAY,EAAE,CAAM;IAE3B;;OAEG;IAEH,aAAa,SAAO;IAEpB;;OAEG;IAEH,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAY;IAEtC,OAAgB,MAAM,EAAE,cAAc,CAyGpC;IAEO,MAAM;IAIf,OAAO,CAAC,aAAa;IAyCrB,OAAO,CAAC,YAAY;CAcrB"}
1
+ {"version":3,"file":"PdSteps.d.ts","sourceRoot":"","sources":["../../../src/pd-wizard/pd-steps/PdSteps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,mCAAmC;IAEnC,KAAK,EAAE,YAAY,EAAE,CAAM;IAE3B,sCAAsC;IAEtC,aAAa,SAAO;IAEpB;;;OAGG;IAEH,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAY;IAEtC,OAAgB,MAAM,EAAE,cAAc,CA8IpC;IAEO,MAAM;IAIf,OAAO,CAAC,aAAa;IAuDrB,OAAO,CAAC,YAAY;IAKpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,eAAe;CAaxB"}