@sondor-technology/sondor-components 1.0.0 → 1.0.1-develop.2

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 (168) hide show
  1. package/README.md +8 -0
  2. package/dist/components/alert/alert.d.ts +13 -0
  3. package/dist/components/alert/alert.d.ts.map +1 -0
  4. package/dist/components/alert/alert.js +105 -0
  5. package/dist/components/badge/badge.d.ts +13 -0
  6. package/dist/components/badge/badge.d.ts.map +1 -0
  7. package/dist/components/badge/badge.js +101 -0
  8. package/dist/components/breadcrumb/breadcrumb.d.ts +19 -0
  9. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  10. package/dist/components/breadcrumb/breadcrumb.js +99 -0
  11. package/dist/components/button/button.d.ts +23 -0
  12. package/dist/components/button/button.d.ts.map +1 -0
  13. package/dist/components/button/button.js +304 -0
  14. package/dist/components/button-group/button-group.d.ts +6 -0
  15. package/dist/components/button-group/button-group.d.ts.map +1 -0
  16. package/dist/components/button-group/button-group.js +74 -0
  17. package/dist/components/card/card.d.ts +11 -0
  18. package/dist/components/card/card.d.ts.map +1 -0
  19. package/dist/components/card/card.js +54 -0
  20. package/dist/components/checkbox/checkbox.d.ts +28 -0
  21. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  22. package/dist/components/checkbox/checkbox.js +247 -0
  23. package/dist/components/code-block/code-block.d.ts +20 -0
  24. package/dist/components/code-block/code-block.d.ts.map +1 -0
  25. package/dist/components/code-block/code-block.js +260 -0
  26. package/dist/components/content-card/content-card.d.ts +13 -0
  27. package/dist/components/content-card/content-card.d.ts.map +1 -0
  28. package/dist/components/content-card/content-card.js +140 -0
  29. package/dist/components/divider/divider.d.ts +16 -0
  30. package/dist/components/divider/divider.d.ts.map +1 -0
  31. package/dist/components/divider/divider.js +82 -0
  32. package/dist/components/drawer/drawer.d.ts +22 -0
  33. package/dist/components/drawer/drawer.d.ts.map +1 -0
  34. package/dist/components/drawer/drawer.js +226 -0
  35. package/dist/components/field/field.d.ts +11 -0
  36. package/dist/components/field/field.d.ts.map +1 -0
  37. package/dist/components/field/field.js +32 -0
  38. package/dist/components/footer/footer.d.ts +6 -0
  39. package/dist/components/footer/footer.d.ts.map +1 -0
  40. package/dist/components/footer/footer.js +65 -0
  41. package/dist/components/form/form-step.d.ts +13 -0
  42. package/dist/components/form/form-step.d.ts.map +1 -0
  43. package/dist/components/form/form-step.js +41 -0
  44. package/dist/components/form/form.d.ts +25 -0
  45. package/dist/components/form/form.d.ts.map +1 -0
  46. package/dist/components/form/form.js +358 -0
  47. package/dist/components/grid/grid-row.d.ts +17 -0
  48. package/dist/components/grid/grid-row.d.ts.map +1 -0
  49. package/dist/components/grid/grid-row.js +92 -0
  50. package/dist/components/grid/grid.d.ts +13 -0
  51. package/dist/components/grid/grid.d.ts.map +1 -0
  52. package/dist/components/grid/grid.js +42 -0
  53. package/dist/components/icon/icon-paths.d.ts +116 -0
  54. package/dist/components/icon/icon-paths.d.ts.map +1 -0
  55. package/dist/components/icon/icon-paths.js +121 -0
  56. package/dist/components/icon/icon.d.ts +16 -0
  57. package/dist/components/icon/icon.d.ts.map +1 -0
  58. package/dist/components/icon/icon.js +95 -0
  59. package/dist/components/input/input.d.ts +31 -0
  60. package/dist/components/input/input.d.ts.map +1 -0
  61. package/dist/components/input/input.js +268 -0
  62. package/dist/components/link/link.d.ts +16 -0
  63. package/dist/components/link/link.d.ts.map +1 -0
  64. package/dist/components/link/link.js +116 -0
  65. package/dist/components/metadata/metadata.d.ts +18 -0
  66. package/dist/components/metadata/metadata.d.ts.map +1 -0
  67. package/dist/components/metadata/metadata.js +71 -0
  68. package/dist/components/modal/modal.d.ts +24 -0
  69. package/dist/components/modal/modal.d.ts.map +1 -0
  70. package/dist/components/modal/modal.js +163 -0
  71. package/dist/components/page-layout/page-layout.d.ts +46 -0
  72. package/dist/components/page-layout/page-layout.d.ts.map +1 -0
  73. package/dist/components/page-layout/page-layout.js +697 -0
  74. package/dist/components/radio/radio.d.ts +16 -0
  75. package/dist/components/radio/radio.d.ts.map +1 -0
  76. package/dist/components/radio/radio.js +152 -0
  77. package/dist/components/radio-group/radio-group.d.ts +27 -0
  78. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  79. package/dist/components/radio-group/radio-group.js +161 -0
  80. package/dist/components/router/router.d.ts +7 -0
  81. package/dist/components/router/router.d.ts.map +1 -0
  82. package/dist/components/router/router.js +37 -0
  83. package/dist/components/select/select.d.ts +16 -0
  84. package/dist/components/select/select.d.ts.map +1 -0
  85. package/dist/components/select/select.js +172 -0
  86. package/dist/components/skeleton/skeleton.d.ts +17 -0
  87. package/dist/components/skeleton/skeleton.d.ts.map +1 -0
  88. package/dist/components/skeleton/skeleton.js +78 -0
  89. package/dist/components/switch/switch.d.ts +25 -0
  90. package/dist/components/switch/switch.d.ts.map +1 -0
  91. package/dist/components/switch/switch.js +185 -0
  92. package/dist/components/table/data-table.d.ts +72 -0
  93. package/dist/components/table/data-table.d.ts.map +1 -0
  94. package/dist/components/table/data-table.js +551 -0
  95. package/dist/components/table/table.d.ts +22 -0
  96. package/dist/components/table/table.d.ts.map +1 -0
  97. package/dist/components/table/table.js +167 -0
  98. package/dist/components/tabs/tab-panel.d.ts +8 -0
  99. package/dist/components/tabs/tab-panel.d.ts.map +1 -0
  100. package/dist/components/tabs/tab-panel.js +46 -0
  101. package/dist/components/tabs/tab.d.ts +9 -0
  102. package/dist/components/tabs/tab.d.ts.map +1 -0
  103. package/dist/components/tabs/tab.js +91 -0
  104. package/dist/components/tabs/tabs.d.ts +14 -0
  105. package/dist/components/tabs/tabs.d.ts.map +1 -0
  106. package/dist/components/tabs/tabs.js +85 -0
  107. package/dist/components/textarea/textarea.d.ts +36 -0
  108. package/dist/components/textarea/textarea.d.ts.map +1 -0
  109. package/dist/components/textarea/textarea.js +231 -0
  110. package/dist/components/theme-toggle/theme-toggle.d.ts +15 -0
  111. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -0
  112. package/dist/components/theme-toggle/theme-toggle.js +130 -0
  113. package/dist/components/vertical-nav/vertical-nav-group.d.ts +9 -0
  114. package/dist/components/vertical-nav/vertical-nav-group.d.ts.map +1 -0
  115. package/dist/components/vertical-nav/vertical-nav-group.js +111 -0
  116. package/dist/components/vertical-nav/vertical-nav-item.d.ts +8 -0
  117. package/dist/components/vertical-nav/vertical-nav-item.d.ts.map +1 -0
  118. package/dist/components/vertical-nav/vertical-nav-item.js +65 -0
  119. package/dist/styles/index.css +171 -0
  120. package/dist/styles/reset.d.ts +2 -0
  121. package/dist/styles/reset.d.ts.map +1 -0
  122. package/dist/styles/reset.js +50 -0
  123. package/package.json +3 -2
  124. package/src/components/alert/alert.ts +100 -100
  125. package/src/components/badge/badge.ts +96 -96
  126. package/src/components/breadcrumb/breadcrumb.ts +98 -98
  127. package/src/components/button/button.ts +281 -281
  128. package/src/components/button-group/button-group.ts +67 -67
  129. package/src/components/card/card.ts +52 -52
  130. package/src/components/checkbox/checkbox.ts +238 -238
  131. package/src/components/code-block/code-block.ts +256 -256
  132. package/src/components/content-card/content-card.ts +133 -133
  133. package/src/components/divider/divider.ts +68 -68
  134. package/src/components/drawer/drawer.ts +217 -217
  135. package/src/components/field/field.ts +30 -30
  136. package/src/components/footer/footer.ts +58 -58
  137. package/src/components/form/form-step.ts +32 -32
  138. package/src/components/form/form.ts +376 -376
  139. package/src/components/grid/grid-row.ts +75 -75
  140. package/src/components/grid/grid.ts +36 -36
  141. package/src/components/icon/icon-paths.ts +124 -124
  142. package/src/components/icon/icon.ts +82 -82
  143. package/src/components/input/input.ts +248 -248
  144. package/src/components/link/link.ts +97 -97
  145. package/src/components/metadata/metadata.ts +66 -66
  146. package/src/components/modal/modal.ts +158 -158
  147. package/src/components/page-layout/page-layout.ts +704 -704
  148. package/src/components/radio/radio.ts +142 -142
  149. package/src/components/radio-group/radio-group.ts +157 -157
  150. package/src/components/router/router.ts +46 -46
  151. package/src/components/select/select.ts +161 -161
  152. package/src/components/skeleton/skeleton.ts +67 -67
  153. package/src/components/switch/switch.ts +181 -181
  154. package/src/components/table/data-table.ts +556 -556
  155. package/src/components/table/table.ts +153 -153
  156. package/src/components/tabs/tab-panel.ts +30 -30
  157. package/src/components/tabs/tab.ts +76 -76
  158. package/src/components/tabs/tabs.ts +88 -88
  159. package/src/components/textarea/textarea.ts +215 -215
  160. package/src/components/theme-toggle/theme-toggle.ts +131 -131
  161. package/src/components/vertical-nav/vertical-nav-group.ts +96 -96
  162. package/src/components/vertical-nav/vertical-nav-item.ts +49 -49
  163. package/src/styles/globals.css +58 -58
  164. package/src/styles/index.css +80 -80
  165. package/src/styles/reset.ts +50 -50
  166. package/src/styles/theme.css +58 -58
  167. package/src/styles/typography.css +25 -25
  168. package/tsconfig.json +15 -15
@@ -0,0 +1,25 @@
1
+ import { LitElement, PropertyValues } from "lit";
2
+ export declare class StSwitch extends LitElement {
3
+ static formAssociated: boolean;
4
+ private _internals;
5
+ private _inputEl;
6
+ name: string;
7
+ value: string;
8
+ checked: boolean;
9
+ disabled: boolean;
10
+ required: boolean;
11
+ ariaLabel: string;
12
+ constructor();
13
+ static styles: import("lit").CSSResult[];
14
+ updated(changedProperties: PropertyValues<this>): void;
15
+ private _syncValidity;
16
+ formResetCallback(): void;
17
+ private _handleChange;
18
+ render(): import("lit-html").TemplateResult<1>;
19
+ }
20
+ declare global {
21
+ interface HTMLElementTagNameMap {
22
+ "st-switch": StSwitch;
23
+ }
24
+ }
25
+ //# sourceMappingURL=switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/components/switch/switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAa,cAAc,EAAC,MAAM,KAAK,CAAC;AAI1D,qBACa,QAAS,SAAQ,UAAU;IACtC,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAmB;IAErB,OAAO,CAAC,QAAQ,CAAoB;IAEX,IAAI,SAAM;IACzB,KAAK,SAAQ;IAEG,OAAO,UAAS;IAChB,QAAQ,UAAS;IACjB,QAAQ,UAAS;IAEtB,SAAS,SAAM;IAEpD,cAGC;IAED,MAAM,CAAC,MAAM,4BAyFX;IAEO,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,QAWvD;IAED,OAAO,CAAC,aAAa;IASrB,iBAAiB,SAIhB;IAED,OAAO,CAAC,aAAa;IASrB,MAAM,yCAoBL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
@@ -0,0 +1,185 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html, css } from "lit";
8
+ import { customElement, property, query } from "lit/decorators.js";
9
+ import { resetStyles } from "../../styles/reset.js";
10
+ let StSwitch = class StSwitch extends LitElement {
11
+ constructor() {
12
+ super();
13
+ this.name = "";
14
+ this.value = "on";
15
+ this.checked = false;
16
+ this.disabled = false;
17
+ this.required = false;
18
+ this.ariaLabel = "";
19
+ this._internals = this.attachInternals();
20
+ }
21
+ updated(changedProperties) {
22
+ super.updated(changedProperties);
23
+ if (changedProperties.has("checked") || changedProperties.has("value")) {
24
+ this._internals.setFormValue(this.checked ? this.value : null);
25
+ this._syncValidity();
26
+ }
27
+ if (changedProperties.has("required")) {
28
+ this._syncValidity();
29
+ }
30
+ }
31
+ _syncValidity() {
32
+ if (!this._inputEl)
33
+ return;
34
+ this._internals.setValidity(this._inputEl.validity, this._inputEl.validationMessage, this._inputEl);
35
+ }
36
+ formResetCallback() {
37
+ this.checked = false;
38
+ this._internals.setFormValue(null);
39
+ this.updateComplete.then(() => this._syncValidity());
40
+ }
41
+ _handleChange(e) {
42
+ e.stopPropagation();
43
+ if (this.disabled)
44
+ return;
45
+ this.checked = this._inputEl.checked;
46
+ this.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
47
+ }
48
+ render() {
49
+ return html `
50
+ <label>
51
+ <input
52
+ type="checkbox"
53
+ role="switch"
54
+ aria-label=${this.ariaLabel || ""}
55
+ .name=${this.name}
56
+ .value=${this.value}
57
+ .checked=${this.checked}
58
+ ?disabled=${this.disabled}
59
+ ?required=${this.required}
60
+ @change=${this._handleChange}
61
+ />
62
+ <div class="track">
63
+ <div class="thumb"></div>
64
+ </div>
65
+ <span class="label"><slot></slot></span>
66
+ </label>
67
+ `;
68
+ }
69
+ };
70
+ StSwitch.formAssociated = true;
71
+ StSwitch.styles = [
72
+ resetStyles,
73
+ css `
74
+ :host {
75
+ display: inline-block;
76
+ outline: none;
77
+ user-select: none;
78
+ }
79
+
80
+ label {
81
+ display: inline-flex;
82
+ align-items: center;
83
+ gap: var(--st-spacing-sm);
84
+ cursor: pointer;
85
+ color: var(--st-color-text);
86
+ font-size: var(--st-font-size-base);
87
+ }
88
+
89
+ /* Visually hide the native input */
90
+ input {
91
+ position: absolute;
92
+ width: 1px;
93
+ height: 1px;
94
+ padding: 0;
95
+ margin: -1px;
96
+ overflow: hidden;
97
+ clip: rect(0, 0, 0, 0);
98
+ white-space: nowrap;
99
+ border-width: 0;
100
+ }
101
+
102
+ /* The Switch Track (Pill) */
103
+ .track {
104
+ display: flex;
105
+ align-items: center;
106
+ width: 2.25rem; /* 36px */
107
+ height: 1.25rem; /* 20px */
108
+ background-color: var(--st-color-border);
109
+ border-radius: 999px;
110
+ padding: 2px;
111
+ transition:
112
+ background-color 0.2s ease,
113
+ box-shadow 0.2s ease;
114
+ flex-shrink: 0;
115
+ }
116
+
117
+ /* The Switch Thumb (Circle) */
118
+ .thumb {
119
+ width: 1rem; /* 16px */
120
+ height: 1rem; /* 16px */
121
+ background-color: var(--st-white);
122
+ border-radius: 50%;
123
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
124
+ transform: translateX(0);
125
+ transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
126
+ }
127
+
128
+ /* Focus State */
129
+ input:focus-visible + .track {
130
+ box-shadow:
131
+ 0 0 0 2px var(--st-color-bg),
132
+ 0 0 0 4px var(--st-color-primary);
133
+ }
134
+
135
+ /* Checked State */
136
+ :host([checked]) .track {
137
+ background-color: var(--st-color-primary);
138
+ }
139
+
140
+ :host([checked]) .thumb {
141
+ /* Move thumb to the right: Track width (36px) - Padding (4px) - Thumb width (16px) = 16px */
142
+ transform: translateX(16px);
143
+ }
144
+
145
+ /* Hover State (Subtle darkening of the track if unchecked) */
146
+ label:hover input:not(:checked) + .track {
147
+ background-color: var(--st-color-text-muted);
148
+ }
149
+
150
+ /* Disabled State */
151
+ :host([disabled]) {
152
+ pointer-events: none;
153
+ }
154
+
155
+ :host([disabled]) label {
156
+ opacity: 0.5;
157
+ cursor: not-allowed;
158
+ }
159
+ `,
160
+ ];
161
+ __decorate([
162
+ query("input")
163
+ ], StSwitch.prototype, "_inputEl", void 0);
164
+ __decorate([
165
+ property({ type: String, reflect: true })
166
+ ], StSwitch.prototype, "name", void 0);
167
+ __decorate([
168
+ property({ type: String })
169
+ ], StSwitch.prototype, "value", void 0);
170
+ __decorate([
171
+ property({ type: Boolean, reflect: true })
172
+ ], StSwitch.prototype, "checked", void 0);
173
+ __decorate([
174
+ property({ type: Boolean, reflect: true })
175
+ ], StSwitch.prototype, "disabled", void 0);
176
+ __decorate([
177
+ property({ type: Boolean, reflect: true })
178
+ ], StSwitch.prototype, "required", void 0);
179
+ __decorate([
180
+ property({ attribute: "aria-label" })
181
+ ], StSwitch.prototype, "ariaLabel", void 0);
182
+ StSwitch = __decorate([
183
+ customElement("st-switch")
184
+ ], StSwitch);
185
+ export { StSwitch };
@@ -0,0 +1,72 @@
1
+ import { LitElement, PropertyValues } from 'lit';
2
+ export interface DataTableColumn {
3
+ header: string;
4
+ key: string;
5
+ sortable?: boolean;
6
+ hidden?: boolean;
7
+ }
8
+ export interface SortConfig {
9
+ key: string;
10
+ direction: 'asc' | 'desc';
11
+ }
12
+ export declare class StDataTable extends LitElement {
13
+ /**
14
+ * Array defining table headers, keys, and sortability.
15
+ */
16
+ columns: DataTableColumn[];
17
+ /**
18
+ * Array of row data objects rendered in the table.
19
+ */
20
+ data: Record<string, any>[];
21
+ /**
22
+ * Total number of rows available on the server (used for pagination).
23
+ */
24
+ totalRows: number;
25
+ /**
26
+ * Current page number (1-indexed).
27
+ */
28
+ page: number;
29
+ /**
30
+ * Number of rows per page.
31
+ */
32
+ pageSize: number;
33
+ /**
34
+ * Enables holding 'Shift' to sort by multiple columns sequentially.
35
+ */
36
+ multiSort: boolean;
37
+ /**
38
+ * Displays loading skeleton rows and locks controls.
39
+ */
40
+ loading: boolean;
41
+ private internalColumns;
42
+ private sortState;
43
+ private searchQuery;
44
+ private showColumnMenu;
45
+ private searchTimeout?;
46
+ private draggedColumnKey;
47
+ static styles: import("lit").CSSResult[];
48
+ willUpdate(changedProperties: PropertyValues): void;
49
+ firstUpdated(): void;
50
+ connectedCallback(): void;
51
+ disconnectedCallback(): void;
52
+ private handleOutsideClick;
53
+ private emitChange;
54
+ private handleSearchInput;
55
+ private handleSort;
56
+ private get totalPages();
57
+ private prevPage;
58
+ private nextPage;
59
+ private toggleColumnVisibility;
60
+ private handleDragStart;
61
+ private handleDragOver;
62
+ private handleDragLeave;
63
+ private handleDrop;
64
+ private renderSortIcon;
65
+ render(): import("lit-html").TemplateResult<1>;
66
+ }
67
+ declare global {
68
+ interface HTMLElementTagNameMap {
69
+ 'st-data-table': StDataTable;
70
+ }
71
+ }
72
+ //# sourceMappingURL=data-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../../src/components/table/data-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAK5D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED,qBACa,WAAY,SAAQ,UAAU;IACzC;;OAEG;IACwB,OAAO,EAAE,eAAe,EAAE,CAAM;IAE3D;;OAEG;IACwB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAE5D;;OAEG;IACkD,SAAS,SAAK;IAEnE;;OAEG;IACyB,IAAI,SAAK;IAErC;;OAEG;IACiD,QAAQ,SAAM;IAElE;;OAEG;IACmD,SAAS,UAAS;IAExE;;OAEG;IACyC,OAAO,UAAS;IAGnD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,cAAc,CAAS;IAExC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,gBAAgB,CAAuB;IAE/C,MAAM,CAAC,MAAM,4BA+LX;IAEF,UAAU,CAAC,iBAAiB,EAAE,cAAc,QAM3C;IAED,YAAY,SAKX;IAED,iBAAiB,SAGhB;IAED,oBAAoB,SAGnB;IAED,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,UAAU;IAmClB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,cAAc;IAkBtB,MAAM,yCAyHL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}