@sveltia/ui 0.42.0 → 0.43.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 (74) hide show
  1. package/dist/components/alert/alert.svelte +30 -36
  2. package/dist/components/alert/infobar.svelte +45 -55
  3. package/dist/components/bottom-navigation/bottom-navigation.svelte +15 -21
  4. package/dist/components/button/button-group.svelte +5 -7
  5. package/dist/components/button/button.svelte +175 -274
  6. package/dist/components/button/floating-action-button-wrapper.svelte +18 -23
  7. package/dist/components/button/select-button-group.svelte +41 -57
  8. package/dist/components/button/split-button.svelte +18 -25
  9. package/dist/components/calendar/calendar.svelte +80 -103
  10. package/dist/components/checkbox/checkbox-group.svelte +19 -22
  11. package/dist/components/checkbox/checkbox.svelte +63 -91
  12. package/dist/components/dialog/dialog.svelte +87 -105
  13. package/dist/components/dialog/prompt-dialog.svelte +3 -5
  14. package/dist/components/disclosure/disclosure.svelte +21 -34
  15. package/dist/components/divider/divider.svelte +14 -18
  16. package/dist/components/divider/spacer.svelte +8 -13
  17. package/dist/components/drawer/drawer.svelte +190 -343
  18. package/dist/components/grid/grid-body.svelte +14 -16
  19. package/dist/components/grid/grid-cell.svelte +3 -5
  20. package/dist/components/grid/grid-col-header.svelte +3 -5
  21. package/dist/components/grid/grid-foot.svelte +3 -5
  22. package/dist/components/grid/grid-head.svelte +3 -5
  23. package/dist/components/grid/grid-row-header.svelte +4 -6
  24. package/dist/components/grid/grid-row.svelte +4 -6
  25. package/dist/components/grid/grid.svelte +12 -18
  26. package/dist/components/icon/icon.svelte +5 -7
  27. package/dist/components/listbox/listbox.svelte +61 -78
  28. package/dist/components/listbox/option-group.svelte +11 -15
  29. package/dist/components/listbox/option.svelte +39 -54
  30. package/dist/components/menu/menu-item-group.svelte +3 -5
  31. package/dist/components/menu/menu-item.svelte +51 -67
  32. package/dist/components/menu/menu.svelte +17 -21
  33. package/dist/components/progressbar/progressbar.svelte +15 -24
  34. package/dist/components/radio/radio-group.svelte +31 -40
  35. package/dist/components/radio/radio.svelte +63 -81
  36. package/dist/components/resizable-pane/resizable-handle.svelte +48 -60
  37. package/dist/components/resizable-pane/resizable-pane-group.svelte +14 -18
  38. package/dist/components/select/combobox.svelte +112 -135
  39. package/dist/components/select/select-tags.svelte +57 -73
  40. package/dist/components/slider/slider.svelte +74 -94
  41. package/dist/components/switch/switch.svelte +81 -115
  42. package/dist/components/table/table-body.svelte +14 -16
  43. package/dist/components/table/table-cell.svelte +3 -5
  44. package/dist/components/table/table-col-header.svelte +3 -5
  45. package/dist/components/table/table-foot.svelte +3 -5
  46. package/dist/components/table/table-head.svelte +3 -5
  47. package/dist/components/table/table-row-header.svelte +4 -6
  48. package/dist/components/table/table-row.svelte +4 -6
  49. package/dist/components/table/table.svelte +12 -18
  50. package/dist/components/tabs/tab-box.svelte +6 -9
  51. package/dist/components/tabs/tab-list.svelte +73 -91
  52. package/dist/components/tabs/tab-panel.svelte +7 -11
  53. package/dist/components/tabs/tab-panels.svelte +14 -19
  54. package/dist/components/text-editor/code-editor.svelte +7 -10
  55. package/dist/components/text-editor/core.js +10 -7
  56. package/dist/components/text-editor/lexical-root.svelte +160 -221
  57. package/dist/components/text-editor/text-editor.svelte +18 -25
  58. package/dist/components/text-editor/toolbar/toolbar-wrapper.svelte +37 -44
  59. package/dist/components/text-field/number-input.svelte +68 -87
  60. package/dist/components/text-field/password-input.svelte +42 -52
  61. package/dist/components/text-field/search-bar.svelte +53 -64
  62. package/dist/components/text-field/secret-input.svelte +46 -61
  63. package/dist/components/text-field/text-area.svelte +68 -80
  64. package/dist/components/text-field/text-input.svelte +106 -138
  65. package/dist/components/toast/toast.svelte +89 -104
  66. package/dist/components/toolbar/toolbar.svelte +54 -70
  67. package/dist/components/typography/truncated-text.svelte +7 -9
  68. package/dist/components/util/app-shell.svelte +493 -40
  69. package/dist/components/util/empty-state.svelte +11 -13
  70. package/dist/components/util/group.svelte +3 -5
  71. package/dist/components/util/modal.svelte +48 -59
  72. package/dist/components/util/popup.svelte +67 -87
  73. package/dist/services/i18n.js +2 -2
  74. package/package.json +2 -2
@@ -38,21 +38,17 @@
38
38
  aria-label={ariaLabel}
39
39
  ></div>
40
40
 
41
- <style lang="scss">
42
- .divider {
43
- flex: none;
44
- background-color: var(--sui-secondary-border-color);
45
-
46
- &[aria-orientation='horizontal'] {
47
- margin: 8px 0;
48
- width: 100%;
49
- height: 1px;
50
- }
51
-
52
- &[aria-orientation='vertical'] {
53
- margin: 0 8px;
54
- width: 1px;
55
- height: 100%;
56
- }
57
- }
58
- </style>
41
+ <style>.divider {
42
+ flex: none;
43
+ background-color: var(--sui-secondary-border-color);
44
+ }
45
+ .divider[aria-orientation=horizontal] {
46
+ margin: 8px 0;
47
+ width: 100%;
48
+ height: 1px;
49
+ }
50
+ .divider[aria-orientation=vertical] {
51
+ margin: 0 8px;
52
+ width: 1px;
53
+ height: 100%;
54
+ }</style>
@@ -23,16 +23,11 @@
23
23
 
24
24
  <div {...restProps} role="none" class="sui spacer {className}" class:flex></div>
25
25
 
26
- <style lang="scss">
27
- .spacer {
28
- &.flex:not([hidden]) {
29
- display: block; // Avoid Tailwind .flex class collisions
30
- flex: auto;
31
- }
32
-
33
- &:not(.flex) {
34
- width: 8px;
35
- height: 8px;
36
- }
37
- }
38
- </style>
26
+ <style>.spacer.flex:not([hidden]) {
27
+ display: block;
28
+ flex: auto;
29
+ }
30
+ .spacer:not(.flex) {
31
+ width: 8px;
32
+ height: 8px;
33
+ }</style>
@@ -138,346 +138,193 @@
138
138
  </div>
139
139
  </Modal>
140
140
 
141
- <style lang="scss">
142
- .content {
143
- position: absolute;
144
- display: flex;
145
- flex-direction: column;
146
- max-width: 100dvw;
147
- max-height: 100dvh;
148
- background-color: var(--sui-secondary-background-color-translucent);
149
- box-shadow: 0 8px 16px var(--sui-popup-shadow-color);
150
- -webkit-backdrop-filter: blur(16px);
151
- backdrop-filter: blur(16px);
152
- transition-property: transform;
153
-
154
- .extra-control {
155
- position: absolute;
156
-
157
- :global {
158
- button.close {
159
- margin: 8px;
160
- }
161
- }
162
- }
163
-
164
- :global(dialog.open) & {
165
- transition-duration: 150ms;
166
- transform: translateX(0%);
167
- }
168
-
169
- :global(dialog:not(.open)) & {
170
- transition-duration: 300ms;
171
- }
172
-
173
- &.right {
174
- inset-block: var(--sui-drawer-right-content-inset-block, 0);
175
- inset-inline: var(--sui-drawer-right-content-inset-inline, auto 0);
176
- border-start-start-radius: var(
177
- --sui-drawer-right-content-border-start-start-radius,
178
- var(--sui-drawer-content-border-start-start-radius, 4px)
179
- );
180
- border-start-end-radius: var(
181
- --sui-drawer-right-content-border-start-end-radius,
182
- var(--sui-drawer-content-border-start-end-radius, 0)
183
- );
184
- border-end-end-radius: var(
185
- --sui-drawer-right-content-border-end-end-radius,
186
- var(--sui-drawer-content-border-end-end-radius, 0)
187
- );
188
- border-end-start-radius: var(
189
- --sui-drawer-right-content-border-end-start-radius,
190
- var(--sui-drawer-content-border-end-start-radius, 4px)
191
- );
192
-
193
- &.full {
194
- border-radius: var(
195
- --sui-drawer-right-full-content-border-radius,
196
- var(--sui-drawer-right-content-border-radius, 0)
197
- );
198
- }
199
-
200
- .extra-control {
201
- inset-block-start: 0;
202
- inset-inline-end: 100%;
203
- }
204
-
205
- :global(dialog:not(.open)) & {
206
- &:dir(ltr) {
207
- transform: translateX(105%);
208
- }
209
-
210
- &:dir(rtl) {
211
- transform: translateX(-105%);
212
- }
213
- }
214
- }
215
-
216
- &.left {
217
- inset-block: var(--sui-drawer-left-content-inset-block, 0);
218
- inset-inline: var(--sui-drawer-left-content-inset-inline, 0 auto);
219
- border-start-start-radius: var(
220
- --sui-drawer-left-content-border-start-start-radius,
221
- var(--sui-drawer-content-border-start-start-radius, 0)
222
- );
223
- border-start-end-radius: var(
224
- --sui-drawer-left-content-border-start-end-radius,
225
- var(--sui-drawer-content-border-start-end-radius, 4px)
226
- );
227
- border-end-end-radius: var(
228
- --sui-drawer-left-content-border-end-end-radius,
229
- var(--sui-drawer-content-border-end-end-radius, 4px)
230
- );
231
- border-end-start-radius: var(
232
- --sui-drawer-left-content-border-end-start-radius,
233
- var(--sui-drawer-content-border-end-start-radius, 0)
234
- );
235
-
236
- &.full {
237
- border-radius: var(
238
- --sui-drawer-left-full-content-border-radius,
239
- var(--sui-drawer-left-content-border-radius, 0)
240
- );
241
- }
242
-
243
- .extra-control {
244
- inset-block-start: 0;
245
- inset-inline-start: 100%;
246
- }
247
-
248
- :global(dialog:not(.open)) & {
249
- &:dir(ltr) {
250
- transform: translateX(-105%);
251
- }
252
-
253
- &:dir(rtl) {
254
- transform: translateX(105%);
255
- }
256
- }
257
- }
258
-
259
- &.vertical {
260
- :global(dialog.open) & {
261
- transform: translateX(0%);
262
- }
263
-
264
- &.small {
265
- width: var(--sui-drawer-vertical-small-width, var(--sui-drawer-vertical-width, 400px));
266
- max-width: var(
267
- --sui-drawer-vertical-small-max-width,
268
- var(--sui-drawer-vertical-max-width, calc(100dvw - 56px))
269
- );
270
- height: var(--sui-drawer-vertical-small-height, var(--sui-drawer-vertical-height, 100dvh));
271
- }
272
-
273
- &.medium {
274
- width: var(--sui-drawer-vertical-medium-width, var(--sui-drawer-vertical-width, 600px));
275
- max-width: var(
276
- --sui-drawer-vertical-medium-max-width,
277
- var(--sui-drawer-vertical-max-width, calc(100dvw - 56px))
278
- );
279
- height: var(--sui-drawer-vertical-medium-height, var(--sui-drawer-vertical-height, 100dvh));
280
- }
281
-
282
- &.large {
283
- width: var(--sui-drawer-vertical-large-width, var(--sui-drawer-vertical-width, 800px));
284
- max-width: var(
285
- --sui-drawer-vertical-large-max-width,
286
- var(--sui-drawer-vertical-max-width, calc(100dvw - 56px))
287
- );
288
- height: var(--sui-drawer-vertical-large-height, var(--sui-drawer-vertical-height, 100dvh));
289
- }
290
-
291
- &.x-large {
292
- width: var(--sui-drawer-vertical-x-large-width, var(--sui-drawer-vertical-width, 1000px));
293
- max-width: var(
294
- --sui-drawer-vertical-x-large-max-width,
295
- var(--sui-drawer-vertical-max-width, calc(100dvw - 56px))
296
- );
297
- height: var(
298
- --sui-drawer-vertical-x-large-height,
299
- var(--sui-drawer-vertical-height, 100dvh)
300
- );
301
- }
302
-
303
- &.full {
304
- width: 100dvw;
305
- max-width: 100dvw;
306
- height: 100dvh;
307
- }
308
- }
309
-
310
- &.top {
311
- inset-block-start: var(--sui-drawer-top-content-inset-block, 0);
312
- inset-inline: var(--sui-drawer-top-content-inset-inline, 0 0);
313
- border-start-start-radius: var(
314
- --sui-drawer-top-content-border-start-start-radius,
315
- var(--sui-drawer-content-border-start-start-radius, 0)
316
- );
317
- border-start-end-radius: var(
318
- --sui-drawer-top-content-border-start-end-radius,
319
- var(--sui-drawer-content-border-start-end-radius, 0)
320
- );
321
- border-end-end-radius: var(
322
- --sui-drawer-top-content-border-end-end-radius,
323
- var(--sui-drawer-content-border-end-end-radius, 4px)
324
- );
325
- border-end-start-radius: var(
326
- --sui-drawer-top-content-border-end-start-radius,
327
- var(--sui-drawer-content-border-end-start-radius, 4px)
328
- );
329
-
330
- &.full {
331
- border-radius: var(
332
- --sui-drawer-top-full-content-border-radius,
333
- var(--sui-drawer-top-content-border-radius, 0)
334
- );
335
- }
336
-
337
- .extra-control {
338
- inset-block-start: 100%;
339
- inset-inline-end: 0;
340
- }
341
-
342
- :global(dialog:not(.open)) & {
343
- transform: translateY(-105%);
344
- }
345
- }
346
-
347
- &.bottom {
348
- inset-block: var(--sui-drawer-bottom-content-inset-block, auto 0);
349
- inset-inline: var(--sui-drawer-bottom-content-inset-inline, 0);
350
-
351
- border-start-start-radius: var(
352
- --sui-drawer-bottom-content-border-start-start-radius,
353
- var(--sui-drawer-content-border-start-start-radius, 4px)
354
- );
355
- border-start-end-radius: var(
356
- --sui-drawer-bottom-content-border-start-end-radius,
357
- var(--sui-drawer-content-border-start-end-radius, 4px)
358
- );
359
- border-end-end-radius: var(
360
- --sui-drawer-bottom-content-border-end-end-radius,
361
- var(--sui-drawer-content-border-end-end-radius, 0)
362
- );
363
- border-end-start-radius: var(
364
- --sui-drawer-bottom-content-border-end-start-radius,
365
- var(--sui-drawer-content-border-end-start-radius, 0)
366
- );
367
-
368
- &.full {
369
- border-radius: var(
370
- --sui-drawer-bottom-full-content-border-radius,
371
- var(--sui-drawer-bottom-content-border-radius, 0)
372
- );
373
- }
374
-
375
- .extra-control {
376
- inset-block-end: 100%;
377
- inset-inline-end: 0;
378
- }
379
-
380
- :global(dialog:not(.open)) & {
381
- transform: translateY(105%);
382
- }
383
- }
384
-
385
- &.horizontal {
386
- :global(dialog.open) & {
387
- transform: translateY(0%);
388
- }
389
-
390
- &.small {
391
- width: var(--sui-drawer-horizontal-small-width, var(--sui-drawer-horizontal-width, 100dvw));
392
- height: var(
393
- --sui-drawer-horizontal-small-height,
394
- var(--sui-drawer-horizontal-height, 400px)
395
- );
396
- max-height: var(
397
- --sui-drawer-horizontal-small-max-height,
398
- var(--sui-drawer-horizontal-max-height, calc(100dvh - 56px))
399
- );
400
- }
401
-
402
- &.medium {
403
- width: var(
404
- --sui-drawer-horizontal-medium-width,
405
- var(--sui-drawer-horizontal-width, 100dvw)
406
- );
407
- height: var(
408
- --sui-drawer-horizontal-medium-height,
409
- var(--sui-drawer-horizontal-height, 600px)
410
- );
411
- max-height: var(
412
- --sui-drawer-horizontal-medium-max-height,
413
- var(--sui-drawer-horizontal-max-height, calc(100dvh - 56px))
414
- );
415
- }
416
-
417
- &.large {
418
- width: var(--sui-drawer-horizontal-large-width, var(--sui-drawer-horizontal-width, 100dvw));
419
- height: var(
420
- --sui-drawer-horizontal-large-height,
421
- var(--sui-drawer-horizontal-height, 800px)
422
- );
423
- max-height: var(
424
- --sui-drawer-horizontal-large-max-height,
425
- var(--sui-drawer-horizontal-max-height, calc(100dvh - 56px))
426
- );
427
- }
428
-
429
- &.x-large {
430
- width: var(
431
- --sui-drawer-horizontal-x-large-width,
432
- var(--sui-drawer-horizontal-width, 100dvw)
433
- );
434
- height: var(
435
- --sui-drawer-horizontal-x-large-height,
436
- var(--sui-drawer-horizontal-height, 1000px)
437
- );
438
- max-height: var(
439
- --sui-drawer-horizontal-x-large-max-height,
440
- var(--sui-drawer-horizontal-max-height, calc(100dvh - 56px))
441
- );
442
- }
443
-
444
- &.full {
445
- width: 100dvw;
446
- height: 100dvh;
447
- max-height: 100dvh;
448
- }
449
- }
450
- }
451
-
452
- :is(.header, .footer) {
453
- display: flex;
454
- align-items: center;
455
- gap: 8px;
456
- }
457
-
458
- .header {
459
- flex-direction: var(--sui-drawer-header-flex-direction, row);
460
- box-sizing: content-box;
461
- margin: var(--sui-drawer-header-margin, 0 16px);
462
- border-width: var(--sui-drawer-header-border-width, 0 0 1px);
463
- border-color: var(--sui-drawer-header-border-color, var(--sui-secondary-border-color));
464
- padding: var(--sui-drawer-header-padding, 16px 8px);
465
- height: var(--sui-drawer-header-height, 32px);
466
-
467
- .title {
468
- font-size: var(--sui-font-size-large);
469
- font-weight: var(--sui-font-weight-bold);
470
- }
471
- }
472
-
473
- .footer {
474
- margin: 0 24px 24px;
475
- }
476
-
477
- .main {
478
- flex: auto;
479
- overflow: auto;
480
- padding: var(--sui-drawer-main-padding, 24px);
481
- white-space: normal;
482
- }
483
- </style>
141
+ <style>.content {
142
+ position: absolute;
143
+ display: flex;
144
+ flex-direction: column;
145
+ max-width: 100dvw;
146
+ max-height: 100dvh;
147
+ background-color: var(--sui-secondary-background-color-translucent);
148
+ box-shadow: 0 8px 16px var(--sui-popup-shadow-color);
149
+ -webkit-backdrop-filter: blur(16px);
150
+ backdrop-filter: blur(16px);
151
+ transition-property: transform;
152
+ }
153
+ .content .extra-control {
154
+ position: absolute;
155
+ }
156
+ .content .extra-control :global(button.close) {
157
+ margin: 8px;
158
+ }
159
+ :global(dialog.open) .content {
160
+ transition-duration: 150ms;
161
+ transform: translateX(0%);
162
+ }
163
+ :global(dialog:not(.open)) .content {
164
+ transition-duration: 300ms;
165
+ }
166
+ .content.right {
167
+ inset-block: var(--sui-drawer-right-content-inset-block, 0);
168
+ inset-inline: var(--sui-drawer-right-content-inset-inline, auto 0);
169
+ border-start-start-radius: var(--sui-drawer-right-content-border-start-start-radius, var(--sui-drawer-content-border-start-start-radius, 4px));
170
+ border-start-end-radius: var(--sui-drawer-right-content-border-start-end-radius, var(--sui-drawer-content-border-start-end-radius, 0));
171
+ border-end-end-radius: var(--sui-drawer-right-content-border-end-end-radius, var(--sui-drawer-content-border-end-end-radius, 0));
172
+ border-end-start-radius: var(--sui-drawer-right-content-border-end-start-radius, var(--sui-drawer-content-border-end-start-radius, 4px));
173
+ }
174
+ .content.right.full {
175
+ border-radius: var(--sui-drawer-right-full-content-border-radius, var(--sui-drawer-right-content-border-radius, 0));
176
+ }
177
+ .content.right .extra-control {
178
+ inset-block-start: 0;
179
+ inset-inline-end: 100%;
180
+ }
181
+ :global(dialog:not(.open)) .content.right:dir(ltr) {
182
+ transform: translateX(105%);
183
+ }
184
+ :global(dialog:not(.open)) .content.right:dir(rtl) {
185
+ transform: translateX(-105%);
186
+ }
187
+ .content.left {
188
+ inset-block: var(--sui-drawer-left-content-inset-block, 0);
189
+ inset-inline: var(--sui-drawer-left-content-inset-inline, 0 auto);
190
+ border-start-start-radius: var(--sui-drawer-left-content-border-start-start-radius, var(--sui-drawer-content-border-start-start-radius, 0));
191
+ border-start-end-radius: var(--sui-drawer-left-content-border-start-end-radius, var(--sui-drawer-content-border-start-end-radius, 4px));
192
+ border-end-end-radius: var(--sui-drawer-left-content-border-end-end-radius, var(--sui-drawer-content-border-end-end-radius, 4px));
193
+ border-end-start-radius: var(--sui-drawer-left-content-border-end-start-radius, var(--sui-drawer-content-border-end-start-radius, 0));
194
+ }
195
+ .content.left.full {
196
+ border-radius: var(--sui-drawer-left-full-content-border-radius, var(--sui-drawer-left-content-border-radius, 0));
197
+ }
198
+ .content.left .extra-control {
199
+ inset-block-start: 0;
200
+ inset-inline-start: 100%;
201
+ }
202
+ :global(dialog:not(.open)) .content.left:dir(ltr) {
203
+ transform: translateX(-105%);
204
+ }
205
+ :global(dialog:not(.open)) .content.left:dir(rtl) {
206
+ transform: translateX(105%);
207
+ }
208
+ :global(dialog.open) .content.vertical {
209
+ transform: translateX(0%);
210
+ }
211
+ .content.vertical.small {
212
+ width: var(--sui-drawer-vertical-small-width, var(--sui-drawer-vertical-width, 400px));
213
+ max-width: var(--sui-drawer-vertical-small-max-width, var(--sui-drawer-vertical-max-width, calc(100dvw - 56px)));
214
+ height: var(--sui-drawer-vertical-small-height, var(--sui-drawer-vertical-height, 100dvh));
215
+ }
216
+ .content.vertical.medium {
217
+ width: var(--sui-drawer-vertical-medium-width, var(--sui-drawer-vertical-width, 600px));
218
+ max-width: var(--sui-drawer-vertical-medium-max-width, var(--sui-drawer-vertical-max-width, calc(100dvw - 56px)));
219
+ height: var(--sui-drawer-vertical-medium-height, var(--sui-drawer-vertical-height, 100dvh));
220
+ }
221
+ .content.vertical.large {
222
+ width: var(--sui-drawer-vertical-large-width, var(--sui-drawer-vertical-width, 800px));
223
+ max-width: var(--sui-drawer-vertical-large-max-width, var(--sui-drawer-vertical-max-width, calc(100dvw - 56px)));
224
+ height: var(--sui-drawer-vertical-large-height, var(--sui-drawer-vertical-height, 100dvh));
225
+ }
226
+ .content.vertical.x-large {
227
+ width: var(--sui-drawer-vertical-x-large-width, var(--sui-drawer-vertical-width, 1000px));
228
+ max-width: var(--sui-drawer-vertical-x-large-max-width, var(--sui-drawer-vertical-max-width, calc(100dvw - 56px)));
229
+ height: var(--sui-drawer-vertical-x-large-height, var(--sui-drawer-vertical-height, 100dvh));
230
+ }
231
+ .content.vertical.full {
232
+ width: 100dvw;
233
+ max-width: 100dvw;
234
+ height: 100dvh;
235
+ }
236
+ .content.top {
237
+ inset-block-start: var(--sui-drawer-top-content-inset-block, 0);
238
+ inset-inline: var(--sui-drawer-top-content-inset-inline, 0 0);
239
+ border-start-start-radius: var(--sui-drawer-top-content-border-start-start-radius, var(--sui-drawer-content-border-start-start-radius, 0));
240
+ border-start-end-radius: var(--sui-drawer-top-content-border-start-end-radius, var(--sui-drawer-content-border-start-end-radius, 0));
241
+ border-end-end-radius: var(--sui-drawer-top-content-border-end-end-radius, var(--sui-drawer-content-border-end-end-radius, 4px));
242
+ border-end-start-radius: var(--sui-drawer-top-content-border-end-start-radius, var(--sui-drawer-content-border-end-start-radius, 4px));
243
+ }
244
+ .content.top.full {
245
+ border-radius: var(--sui-drawer-top-full-content-border-radius, var(--sui-drawer-top-content-border-radius, 0));
246
+ }
247
+ .content.top .extra-control {
248
+ inset-block-start: 100%;
249
+ inset-inline-end: 0;
250
+ }
251
+ :global(dialog:not(.open)) .content.top {
252
+ transform: translateY(-105%);
253
+ }
254
+ .content.bottom {
255
+ inset-block: var(--sui-drawer-bottom-content-inset-block, auto 0);
256
+ inset-inline: var(--sui-drawer-bottom-content-inset-inline, 0);
257
+ border-start-start-radius: var(--sui-drawer-bottom-content-border-start-start-radius, var(--sui-drawer-content-border-start-start-radius, 4px));
258
+ border-start-end-radius: var(--sui-drawer-bottom-content-border-start-end-radius, var(--sui-drawer-content-border-start-end-radius, 4px));
259
+ border-end-end-radius: var(--sui-drawer-bottom-content-border-end-end-radius, var(--sui-drawer-content-border-end-end-radius, 0));
260
+ border-end-start-radius: var(--sui-drawer-bottom-content-border-end-start-radius, var(--sui-drawer-content-border-end-start-radius, 0));
261
+ }
262
+ .content.bottom.full {
263
+ border-radius: var(--sui-drawer-bottom-full-content-border-radius, var(--sui-drawer-bottom-content-border-radius, 0));
264
+ }
265
+ .content.bottom .extra-control {
266
+ inset-block-end: 100%;
267
+ inset-inline-end: 0;
268
+ }
269
+ :global(dialog:not(.open)) .content.bottom {
270
+ transform: translateY(105%);
271
+ }
272
+ :global(dialog.open) .content.horizontal {
273
+ transform: translateY(0%);
274
+ }
275
+ .content.horizontal.small {
276
+ width: var(--sui-drawer-horizontal-small-width, var(--sui-drawer-horizontal-width, 100dvw));
277
+ height: var(--sui-drawer-horizontal-small-height, var(--sui-drawer-horizontal-height, 400px));
278
+ max-height: var(--sui-drawer-horizontal-small-max-height, var(--sui-drawer-horizontal-max-height, calc(100dvh - 56px)));
279
+ }
280
+ .content.horizontal.medium {
281
+ width: var(--sui-drawer-horizontal-medium-width, var(--sui-drawer-horizontal-width, 100dvw));
282
+ height: var(--sui-drawer-horizontal-medium-height, var(--sui-drawer-horizontal-height, 600px));
283
+ max-height: var(--sui-drawer-horizontal-medium-max-height, var(--sui-drawer-horizontal-max-height, calc(100dvh - 56px)));
284
+ }
285
+ .content.horizontal.large {
286
+ width: var(--sui-drawer-horizontal-large-width, var(--sui-drawer-horizontal-width, 100dvw));
287
+ height: var(--sui-drawer-horizontal-large-height, var(--sui-drawer-horizontal-height, 800px));
288
+ max-height: var(--sui-drawer-horizontal-large-max-height, var(--sui-drawer-horizontal-max-height, calc(100dvh - 56px)));
289
+ }
290
+ .content.horizontal.x-large {
291
+ width: var(--sui-drawer-horizontal-x-large-width, var(--sui-drawer-horizontal-width, 100dvw));
292
+ height: var(--sui-drawer-horizontal-x-large-height, var(--sui-drawer-horizontal-height, 1000px));
293
+ max-height: var(--sui-drawer-horizontal-x-large-max-height, var(--sui-drawer-horizontal-max-height, calc(100dvh - 56px)));
294
+ }
295
+ .content.horizontal.full {
296
+ width: 100dvw;
297
+ height: 100dvh;
298
+ max-height: 100dvh;
299
+ }
300
+
301
+ :is(.header, .footer) {
302
+ display: flex;
303
+ align-items: center;
304
+ gap: 8px;
305
+ }
306
+
307
+ .header {
308
+ flex-direction: var(--sui-drawer-header-flex-direction, row);
309
+ box-sizing: content-box;
310
+ margin: var(--sui-drawer-header-margin, 0 16px);
311
+ border-width: var(--sui-drawer-header-border-width, 0 0 1px);
312
+ border-color: var(--sui-drawer-header-border-color, var(--sui-secondary-border-color));
313
+ padding: var(--sui-drawer-header-padding, 16px 8px);
314
+ height: var(--sui-drawer-header-height, 32px);
315
+ }
316
+ .header .title {
317
+ font-size: var(--sui-font-size-large);
318
+ font-weight: var(--sui-font-weight-bold);
319
+ }
320
+
321
+ .footer {
322
+ margin: 0 24px 24px;
323
+ }
324
+
325
+ .main {
326
+ flex: auto;
327
+ overflow: auto;
328
+ padding: var(--sui-drawer-main-padding, 24px);
329
+ white-space: normal;
330
+ }</style>
@@ -49,21 +49,19 @@
49
49
  {@render children?.()}
50
50
  </div>
51
51
 
52
- <style lang="scss">
53
- [role='rowgroup'] {
54
- display: table-row-group;
55
- }
52
+ <style>[role=rowgroup] {
53
+ display: table-row-group;
54
+ }
56
55
 
57
- [role='row'] {
58
- display: table-row;
59
- }
56
+ [role=row] {
57
+ display: table-row;
58
+ }
60
59
 
61
- [role='columnheader'] {
62
- display: table-cell;
63
- padding: 8px;
64
- color: var(--sui-secondary-foreground-color);
65
- background-color: var(--sui-secondary-background-color);
66
- font-size: var(--sui-font-size-default);
67
- text-align: start;
68
- }
69
- </style>
60
+ [role=columnheader] {
61
+ display: table-cell;
62
+ padding: 8px;
63
+ color: var(--sui-secondary-foreground-color);
64
+ background-color: var(--sui-secondary-background-color);
65
+ font-size: var(--sui-font-size-default);
66
+ text-align: start;
67
+ }</style>
@@ -31,8 +31,6 @@
31
31
  {@render children?.()}
32
32
  </div>
33
33
 
34
- <style lang="scss">
35
- .grid-cell {
36
- display: table-cell;
37
- }
38
- </style>
34
+ <style>.grid-cell {
35
+ display: table-cell;
36
+ }</style>