@lobehub/ui 5.61.1 → 5.62.0

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 (44) hide show
  1. package/es/base-ui/ProTable/ColumnSetting.mjs +156 -0
  2. package/es/base-ui/ProTable/ColumnSetting.mjs.map +1 -0
  3. package/es/base-ui/ProTable/FieldControl.mjs +108 -0
  4. package/es/base-ui/ProTable/FieldControl.mjs.map +1 -0
  5. package/es/base-ui/ProTable/LightFilter.mjs +71 -0
  6. package/es/base-ui/ProTable/LightFilter.mjs.map +1 -0
  7. package/es/base-ui/ProTable/OptionPopover.mjs +21 -0
  8. package/es/base-ui/ProTable/OptionPopover.mjs.map +1 -0
  9. package/es/base-ui/ProTable/ProTable.d.mts +13 -0
  10. package/es/base-ui/ProTable/ProTable.mjs +651 -0
  11. package/es/base-ui/ProTable/ProTable.mjs.map +1 -0
  12. package/es/base-ui/ProTable/SearchForm.mjs +138 -0
  13. package/es/base-ui/ProTable/SearchForm.mjs.map +1 -0
  14. package/es/base-ui/ProTable/index.d.mts +3 -0
  15. package/es/base-ui/ProTable/index.mjs +1 -0
  16. package/es/base-ui/ProTable/renderValue.mjs +118 -0
  17. package/es/base-ui/ProTable/renderValue.mjs.map +1 -0
  18. package/es/base-ui/ProTable/style.mjs +373 -0
  19. package/es/base-ui/ProTable/style.mjs.map +1 -0
  20. package/es/base-ui/ProTable/type.d.mts +343 -0
  21. package/es/base-ui/ProTable/useFetchData.mjs +98 -0
  22. package/es/base-ui/ProTable/useFetchData.mjs.map +1 -0
  23. package/es/base-ui/ProTable/useSearchForm.mjs +151 -0
  24. package/es/base-ui/ProTable/useSearchForm.mjs.map +1 -0
  25. package/es/base-ui/ProTable/utils.mjs +102 -0
  26. package/es/base-ui/ProTable/utils.mjs.map +1 -0
  27. package/es/base-ui/Table/Table.mjs +6 -2
  28. package/es/base-ui/Table/Table.mjs.map +1 -1
  29. package/es/base-ui/Text/style.d.mts +1 -1
  30. package/es/dashboard/ConsoleShell/style.mjs +3 -1
  31. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  32. package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
  33. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
  34. package/es/dashboard/MetricStrip/style.mjs +14 -0
  35. package/es/dashboard/MetricStrip/style.mjs.map +1 -1
  36. package/es/dashboard/MetricStrip/type.d.mts +2 -0
  37. package/es/dashboard/StatCard/StatCard.d.mts +1 -1
  38. package/es/dashboard/StatCard/StatCard.mjs +2 -1
  39. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  40. package/es/dashboard/StatCard/type.d.mts +2 -0
  41. package/es/dashboard/Surface/style.d.mts +3 -2
  42. package/es/dashboard/Surface/style.mjs +7 -3
  43. package/es/dashboard/Surface/style.mjs.map +1 -1
  44. package/package.json +5 -1
@@ -0,0 +1,373 @@
1
+ import { createStaticStyles } from "antd-style";
2
+ //#region src/base-ui/ProTable/style.ts
3
+ const PRO_PREFIX_CLS = "lobe-pro-table";
4
+ const styles = createStaticStyles(({ css, cssVar }) => ({
5
+ alert: css`
6
+ display: flex;
7
+ gap: 12px;
8
+ align-items: center;
9
+ justify-content: space-between;
10
+
11
+ min-height: 40px;
12
+ margin-block-end: 12px;
13
+ padding-block: 6px;
14
+ padding-inline: 12px;
15
+ border-radius: ${cssVar.borderRadius};
16
+
17
+ font-size: ${cssVar.fontSize};
18
+ color: ${cssVar.colorText};
19
+
20
+ background: color-mix(in srgb, ${cssVar.colorPrimary} 8%, transparent);
21
+ `,
22
+ alertInfo: css`
23
+ display: flex;
24
+ flex: 1;
25
+ flex-wrap: wrap;
26
+ gap: 12px;
27
+ align-items: center;
28
+
29
+ min-width: 0;
30
+ `,
31
+ alertOption: css`
32
+ display: flex;
33
+ flex: none;
34
+ gap: 8px;
35
+ align-items: center;
36
+ `,
37
+ part: css`
38
+ min-width: 0;
39
+ `,
40
+ partBordered: css`
41
+ padding: 16px;
42
+ border: 1px solid ${cssVar.colorBorderSecondary};
43
+ border-radius: ${cssVar.borderRadiusLG};
44
+ `,
45
+ code: css`
46
+ padding-block: 1px;
47
+ padding-inline: 6px;
48
+ border-radius: ${cssVar.borderRadiusSM};
49
+
50
+ font-family: ${cssVar.fontFamilyCode};
51
+ font-size: 0.9em;
52
+
53
+ background: ${cssVar.colorFillTertiary};
54
+ `,
55
+ copyable: css`
56
+ display: inline-flex;
57
+ gap: 4px;
58
+ align-items: center;
59
+ max-width: 100%;
60
+ `,
61
+ copyableText: css`
62
+ overflow: hidden;
63
+ min-width: 0;
64
+ text-overflow: ellipsis;
65
+ `,
66
+ density: css`
67
+ display: flex;
68
+ flex-direction: column;
69
+ min-width: 140px;
70
+ padding: 4px;
71
+ `,
72
+ densityItem: css`
73
+ cursor: pointer;
74
+
75
+ display: flex;
76
+ gap: 8px;
77
+ align-items: center;
78
+ justify-content: space-between;
79
+
80
+ height: 32px;
81
+ padding-inline: 8px;
82
+ border: none;
83
+ border-radius: ${cssVar.borderRadiusSM};
84
+
85
+ font: inherit;
86
+ color: ${cssVar.colorText};
87
+ text-align: start;
88
+
89
+ background: transparent;
90
+
91
+ &:hover,
92
+ &:focus-visible {
93
+ background: ${cssVar.colorFillTertiary};
94
+ outline: none;
95
+ }
96
+
97
+ &[aria-checked='true'] {
98
+ font-weight: 500;
99
+ }
100
+ `,
101
+ enumList: css`
102
+ display: inline-flex;
103
+ flex-wrap: wrap;
104
+ gap: 8px;
105
+ `,
106
+ indexBorder: css`
107
+ display: inline-flex;
108
+ align-items: center;
109
+ justify-content: center;
110
+
111
+ min-width: 18px;
112
+ height: 18px;
113
+ padding-inline: 4px;
114
+ border-radius: 9px;
115
+
116
+ font-size: 12px;
117
+ font-variant-numeric: tabular-nums;
118
+ color: ${cssVar.colorText};
119
+
120
+ background: ${cssVar.colorFillSecondary};
121
+
122
+ &[data-top] {
123
+ color: ${cssVar.colorTextLightSolid};
124
+ background: ${cssVar.colorPrimary};
125
+ }
126
+ `,
127
+ lightFilter: css`
128
+ display: flex;
129
+ flex-wrap: wrap;
130
+ gap: 8px;
131
+ align-items: center;
132
+ `,
133
+ lightFilterItem: css`
134
+ display: inline-flex;
135
+ flex: none;
136
+ align-items: center;
137
+ width: 160px;
138
+
139
+ & > * {
140
+ width: 100%;
141
+ }
142
+ `,
143
+ lightFilterLabel: css`
144
+ font-size: ${cssVar.fontSizeSM};
145
+ color: ${cssVar.colorTextSecondary};
146
+ white-space: nowrap;
147
+ `,
148
+ optionCell: css`
149
+ display: flex;
150
+ flex-wrap: wrap;
151
+ gap: 4px;
152
+ align-items: center;
153
+ justify-content: flex-end;
154
+ `,
155
+ root: css`
156
+ --lobe-pro-table-status-default: ${cssVar.colorTextQuaternary};
157
+ --lobe-pro-table-status-error: ${cssVar.colorError};
158
+ --lobe-pro-table-status-processing: ${cssVar.colorPrimary};
159
+ --lobe-pro-table-status-success: ${cssVar.colorSuccess};
160
+ --lobe-pro-table-status-warning: ${cssVar.colorWarning};
161
+
162
+ display: flex;
163
+ flex-direction: column;
164
+ gap: 16px;
165
+ min-width: 0;
166
+
167
+ &[data-fullscreen] {
168
+ overflow: auto;
169
+ padding: 16px;
170
+ background: ${cssVar.colorBgLayout};
171
+ }
172
+ `,
173
+ search: css`
174
+ display: grid;
175
+ gap: 16px 24px;
176
+ align-items: center;
177
+ `,
178
+ searchActions: css`
179
+ display: flex;
180
+ grid-column-end: -1;
181
+ flex-wrap: wrap;
182
+ gap: 8px;
183
+ align-items: center;
184
+ justify-content: flex-end;
185
+ `,
186
+ searchField: css`
187
+ min-width: 0;
188
+
189
+ /* The base-ui Form.Field row: no list padding, fixed-width label column, full-width control. */
190
+ & > div {
191
+ gap: 8px;
192
+ padding-block: 0;
193
+ }
194
+
195
+ & > div > label {
196
+ overflow: hidden;
197
+ flex: none;
198
+
199
+ width: var(--lobe-pro-table-label-width, auto);
200
+
201
+ color: ${cssVar.colorTextSecondary};
202
+ text-overflow: ellipsis;
203
+ white-space: nowrap;
204
+ }
205
+
206
+ &[data-layout='horizontal'] > div > label {
207
+ text-align: end;
208
+ }
209
+
210
+ & > div > div {
211
+ flex: 1;
212
+ align-items: stretch;
213
+ min-width: 0;
214
+ }
215
+ `,
216
+ searchFieldControl: css`
217
+ flex: 1;
218
+ min-width: 0;
219
+ `,
220
+ searchLabel: css`
221
+ overflow: hidden;
222
+ flex: none;
223
+
224
+ color: ${cssVar.colorTextSecondary};
225
+ text-align: end;
226
+ text-overflow: ellipsis;
227
+ white-space: nowrap;
228
+
229
+ &[data-layout='vertical'] {
230
+ text-align: start;
231
+ }
232
+ `,
233
+ setting: css`
234
+ display: flex;
235
+ flex-direction: column;
236
+
237
+ width: 260px;
238
+ max-height: 420px;
239
+ padding-block: 4px;
240
+ `,
241
+ settingGroupTitle: css`
242
+ padding-block: 6px 2px;
243
+ padding-inline: 12px;
244
+ font-size: ${cssVar.fontSizeSM};
245
+ color: ${cssVar.colorTextDescription};
246
+ `,
247
+ settingHeader: css`
248
+ display: flex;
249
+ align-items: center;
250
+ justify-content: space-between;
251
+
252
+ padding-block: 4px 8px;
253
+ padding-inline: 12px;
254
+ border-block-end: 1px solid ${cssVar.colorSplit};
255
+ `,
256
+ settingItem: css`
257
+ display: flex;
258
+ gap: 4px;
259
+ align-items: center;
260
+
261
+ min-height: 32px;
262
+ padding-inline: 12px 8px;
263
+
264
+ &:hover {
265
+ background: ${cssVar.colorFillTertiary};
266
+ }
267
+
268
+ &:hover [data-setting-actions] {
269
+ opacity: 1;
270
+ }
271
+ `,
272
+ settingItemActions: css`
273
+ display: flex;
274
+ flex: none;
275
+ gap: 2px;
276
+ opacity: 0;
277
+
278
+ &:focus-within {
279
+ opacity: 1;
280
+ }
281
+ `,
282
+ settingItemTitle: css`
283
+ overflow: hidden;
284
+ flex: 1;
285
+
286
+ min-width: 0;
287
+
288
+ text-overflow: ellipsis;
289
+ white-space: nowrap;
290
+ `,
291
+ settingList: css`
292
+ overflow: auto;
293
+ flex: 1;
294
+ padding-block: 4px;
295
+ `,
296
+ status: css`
297
+ display: inline-flex;
298
+ gap: 8px;
299
+ align-items: center;
300
+ `,
301
+ statusDot: css`
302
+ flex: none;
303
+ width: 6px;
304
+ height: 6px;
305
+ border-radius: 50%;
306
+ `,
307
+ statusProcessing: css`
308
+ @keyframes lobe-pro-table-status-pulse {
309
+ 0% {
310
+ box-shadow: 0 0 0 0 color-mix(in srgb, currentcolor 40%, transparent);
311
+ }
312
+
313
+ 100% {
314
+ box-shadow: 0 0 0 4px transparent;
315
+ }
316
+ }
317
+
318
+ color: ${cssVar.colorPrimary};
319
+ animation: lobe-pro-table-status-pulse 1.2s ease-out infinite;
320
+ `,
321
+ title: css`
322
+ display: flex;
323
+ flex: none;
324
+ gap: 4px;
325
+ align-items: center;
326
+
327
+ min-width: 0;
328
+
329
+ font-size: ${cssVar.fontSizeLG};
330
+ font-weight: 600;
331
+ color: ${cssVar.colorText};
332
+ `,
333
+ titleSub: css`
334
+ font-size: ${cssVar.fontSize};
335
+ font-weight: normal;
336
+ color: ${cssVar.colorTextDescription};
337
+ `,
338
+ titleTooltip: css`
339
+ display: inline-flex;
340
+ gap: 4px;
341
+ align-items: center;
342
+ `,
343
+ toolbar: css`
344
+ display: flex;
345
+ flex-wrap: nowrap;
346
+ gap: 12px;
347
+ align-items: center;
348
+ justify-content: space-between;
349
+
350
+ margin-block-end: 16px;
351
+ `,
352
+ toolbarActions: css`
353
+ display: flex;
354
+ flex: 1;
355
+ flex-wrap: wrap;
356
+ gap: 8px;
357
+ align-items: center;
358
+ justify-content: flex-end;
359
+
360
+ min-width: 0;
361
+ margin-inline-start: auto;
362
+ `,
363
+ toolbarOptions: css`
364
+ display: flex;
365
+ flex: none;
366
+ gap: 2px;
367
+ align-items: center;
368
+ `
369
+ }));
370
+ //#endregion
371
+ export { PRO_PREFIX_CLS, styles };
372
+
373
+ //# sourceMappingURL=style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/base-ui/ProTable/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const PRO_PREFIX_CLS = 'lobe-pro-table';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n alert: css`\n display: flex;\n gap: 12px;\n align-items: center;\n justify-content: space-between;\n\n min-height: 40px;\n margin-block-end: 12px;\n padding-block: 6px;\n padding-inline: 12px;\n border-radius: ${cssVar.borderRadius};\n\n font-size: ${cssVar.fontSize};\n color: ${cssVar.colorText};\n\n background: color-mix(in srgb, ${cssVar.colorPrimary} 8%, transparent);\n `,\n alertInfo: css`\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n gap: 12px;\n align-items: center;\n\n min-width: 0;\n `,\n alertOption: css`\n display: flex;\n flex: none;\n gap: 8px;\n align-items: center;\n `,\n part: css`\n min-width: 0;\n `,\n partBordered: css`\n padding: 16px;\n border: 1px solid ${cssVar.colorBorderSecondary};\n border-radius: ${cssVar.borderRadiusLG};\n `,\n code: css`\n padding-block: 1px;\n padding-inline: 6px;\n border-radius: ${cssVar.borderRadiusSM};\n\n font-family: ${cssVar.fontFamilyCode};\n font-size: 0.9em;\n\n background: ${cssVar.colorFillTertiary};\n `,\n copyable: css`\n display: inline-flex;\n gap: 4px;\n align-items: center;\n max-width: 100%;\n `,\n copyableText: css`\n overflow: hidden;\n min-width: 0;\n text-overflow: ellipsis;\n `,\n density: css`\n display: flex;\n flex-direction: column;\n min-width: 140px;\n padding: 4px;\n `,\n densityItem: css`\n cursor: pointer;\n\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n\n height: 32px;\n padding-inline: 8px;\n border: none;\n border-radius: ${cssVar.borderRadiusSM};\n\n font: inherit;\n color: ${cssVar.colorText};\n text-align: start;\n\n background: transparent;\n\n &:hover,\n &:focus-visible {\n background: ${cssVar.colorFillTertiary};\n outline: none;\n }\n\n &[aria-checked='true'] {\n font-weight: 500;\n }\n `,\n enumList: css`\n display: inline-flex;\n flex-wrap: wrap;\n gap: 8px;\n `,\n indexBorder: css`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n min-width: 18px;\n height: 18px;\n padding-inline: 4px;\n border-radius: 9px;\n\n font-size: 12px;\n font-variant-numeric: tabular-nums;\n color: ${cssVar.colorText};\n\n background: ${cssVar.colorFillSecondary};\n\n &[data-top] {\n color: ${cssVar.colorTextLightSolid};\n background: ${cssVar.colorPrimary};\n }\n `,\n lightFilter: css`\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n align-items: center;\n `,\n lightFilterItem: css`\n display: inline-flex;\n flex: none;\n align-items: center;\n width: 160px;\n\n & > * {\n width: 100%;\n }\n `,\n lightFilterLabel: css`\n font-size: ${cssVar.fontSizeSM};\n color: ${cssVar.colorTextSecondary};\n white-space: nowrap;\n `,\n optionCell: css`\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n align-items: center;\n justify-content: flex-end;\n `,\n root: css`\n --lobe-pro-table-status-default: ${cssVar.colorTextQuaternary};\n --lobe-pro-table-status-error: ${cssVar.colorError};\n --lobe-pro-table-status-processing: ${cssVar.colorPrimary};\n --lobe-pro-table-status-success: ${cssVar.colorSuccess};\n --lobe-pro-table-status-warning: ${cssVar.colorWarning};\n\n display: flex;\n flex-direction: column;\n gap: 16px;\n min-width: 0;\n\n &[data-fullscreen] {\n overflow: auto;\n padding: 16px;\n background: ${cssVar.colorBgLayout};\n }\n `,\n search: css`\n display: grid;\n gap: 16px 24px;\n align-items: center;\n `,\n searchActions: css`\n display: flex;\n grid-column-end: -1;\n flex-wrap: wrap;\n gap: 8px;\n align-items: center;\n justify-content: flex-end;\n `,\n searchField: css`\n min-width: 0;\n\n /* The base-ui Form.Field row: no list padding, fixed-width label column, full-width control. */\n & > div {\n gap: 8px;\n padding-block: 0;\n }\n\n & > div > label {\n overflow: hidden;\n flex: none;\n\n width: var(--lobe-pro-table-label-width, auto);\n\n color: ${cssVar.colorTextSecondary};\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &[data-layout='horizontal'] > div > label {\n text-align: end;\n }\n\n & > div > div {\n flex: 1;\n align-items: stretch;\n min-width: 0;\n }\n `,\n searchFieldControl: css`\n flex: 1;\n min-width: 0;\n `,\n searchLabel: css`\n overflow: hidden;\n flex: none;\n\n color: ${cssVar.colorTextSecondary};\n text-align: end;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &[data-layout='vertical'] {\n text-align: start;\n }\n `,\n setting: css`\n display: flex;\n flex-direction: column;\n\n width: 260px;\n max-height: 420px;\n padding-block: 4px;\n `,\n settingGroupTitle: css`\n padding-block: 6px 2px;\n padding-inline: 12px;\n font-size: ${cssVar.fontSizeSM};\n color: ${cssVar.colorTextDescription};\n `,\n settingHeader: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n padding-block: 4px 8px;\n padding-inline: 12px;\n border-block-end: 1px solid ${cssVar.colorSplit};\n `,\n settingItem: css`\n display: flex;\n gap: 4px;\n align-items: center;\n\n min-height: 32px;\n padding-inline: 12px 8px;\n\n &:hover {\n background: ${cssVar.colorFillTertiary};\n }\n\n &:hover [data-setting-actions] {\n opacity: 1;\n }\n `,\n settingItemActions: css`\n display: flex;\n flex: none;\n gap: 2px;\n opacity: 0;\n\n &:focus-within {\n opacity: 1;\n }\n `,\n settingItemTitle: css`\n overflow: hidden;\n flex: 1;\n\n min-width: 0;\n\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n settingList: css`\n overflow: auto;\n flex: 1;\n padding-block: 4px;\n `,\n status: css`\n display: inline-flex;\n gap: 8px;\n align-items: center;\n `,\n statusDot: css`\n flex: none;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n `,\n statusProcessing: css`\n @keyframes lobe-pro-table-status-pulse {\n 0% {\n box-shadow: 0 0 0 0 color-mix(in srgb, currentcolor 40%, transparent);\n }\n\n 100% {\n box-shadow: 0 0 0 4px transparent;\n }\n }\n\n color: ${cssVar.colorPrimary};\n animation: lobe-pro-table-status-pulse 1.2s ease-out infinite;\n `,\n title: css`\n display: flex;\n flex: none;\n gap: 4px;\n align-items: center;\n\n min-width: 0;\n\n font-size: ${cssVar.fontSizeLG};\n font-weight: 600;\n color: ${cssVar.colorText};\n `,\n titleSub: css`\n font-size: ${cssVar.fontSize};\n font-weight: normal;\n color: ${cssVar.colorTextDescription};\n `,\n titleTooltip: css`\n display: inline-flex;\n gap: 4px;\n align-items: center;\n `,\n toolbar: css`\n display: flex;\n flex-wrap: nowrap;\n gap: 12px;\n align-items: center;\n justify-content: space-between;\n\n margin-block-end: 16px;\n `,\n toolbarActions: css`\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n gap: 8px;\n align-items: center;\n justify-content: flex-end;\n\n min-width: 0;\n margin-inline-start: auto;\n `,\n toolbarOptions: css`\n display: flex;\n flex: none;\n gap: 2px;\n align-items: center;\n `,\n}));\n"],"mappings":";;AAEA,MAAa,iBAAiB;AAE9B,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc;CAC7D,OAAO,GAAG;;;;;;;;;;qBAUS,OAAO,aAAa;;iBAExB,OAAO,SAAS;aACpB,OAAO,UAAU;;qCAEO,OAAO,aAAa;;CAEvD,WAAW,GAAG;;;;;;;;;CASd,aAAa,GAAG;;;;;;CAMhB,MAAM,GAAG;;;CAGT,cAAc,GAAG;;wBAEK,OAAO,qBAAqB;qBAC/B,OAAO,eAAe;;CAEzC,MAAM,GAAG;;;qBAGU,OAAO,eAAe;;mBAExB,OAAO,eAAe;;;kBAGvB,OAAO,kBAAkB;;CAEzC,UAAU,GAAG;;;;;;CAMb,cAAc,GAAG;;;;;CAKjB,SAAS,GAAG;;;;;;CAMZ,aAAa,GAAG;;;;;;;;;;;qBAWG,OAAO,eAAe;;;aAG9B,OAAO,UAAU;;;;;;;oBAOV,OAAO,kBAAkB;;;;;;;;CAQ3C,UAAU,GAAG;;;;;CAKb,aAAa,GAAG;;;;;;;;;;;;aAYL,OAAO,UAAU;;kBAEZ,OAAO,mBAAmB;;;eAG7B,OAAO,oBAAoB;oBACtB,OAAO,aAAa;;;CAGtC,aAAa,GAAG;;;;;;CAMhB,iBAAiB,GAAG;;;;;;;;;;CAUpB,kBAAkB,GAAG;iBACN,OAAO,WAAW;aACtB,OAAO,mBAAmB;;;CAGrC,YAAY,GAAG;;;;;;;CAOf,MAAM,GAAG;uCAC4B,OAAO,oBAAoB;qCAC7B,OAAO,WAAW;0CACb,OAAO,aAAa;uCACvB,OAAO,aAAa;uCACpB,OAAO,aAAa;;;;;;;;;;oBAUvC,OAAO,cAAc;;;CAGvC,QAAQ,GAAG;;;;;CAKX,eAAe,GAAG;;;;;;;;CAQlB,aAAa,GAAG;;;;;;;;;;;;;;;eAeH,OAAO,mBAAmB;;;;;;;;;;;;;;;CAevC,oBAAoB,GAAG;;;;CAIvB,aAAa,GAAG;;;;aAIL,OAAO,mBAAmB;;;;;;;;;CASrC,SAAS,GAAG;;;;;;;;CAQZ,mBAAmB,GAAG;;;iBAGP,OAAO,WAAW;aACtB,OAAO,qBAAqB;;CAEvC,eAAe,GAAG;;;;;;;kCAOc,OAAO,WAAW;;CAElD,aAAa,GAAG;;;;;;;;;oBASE,OAAO,kBAAkB;;;;;;;CAO3C,oBAAoB,GAAG;;;;;;;;;;CAUvB,kBAAkB,GAAG;;;;;;;;;CASrB,aAAa,GAAG;;;;;CAKhB,QAAQ,GAAG;;;;;CAKX,WAAW,GAAG;;;;;;CAMd,kBAAkB,GAAG;;;;;;;;;;;aAWV,OAAO,aAAa;;;CAG/B,OAAO,GAAG;;;;;;;;iBAQK,OAAO,WAAW;;aAEtB,OAAO,UAAU;;CAE5B,UAAU,GAAG;iBACE,OAAO,SAAS;;aAEpB,OAAO,qBAAqB;;CAEvC,cAAc,GAAG;;;;;CAKjB,SAAS,GAAG;;;;;;;;;CASZ,gBAAgB,GAAG;;;;;;;;;;;CAWnB,gBAAgB,GAAG;;;;;;AAMrB,EAAE"}