@sveltia/ui 0.41.3 → 0.42.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 (100) hide show
  1. package/dist/components/alert/alert.svelte +39 -31
  2. package/dist/components/alert/alert.svelte.d.ts +8 -0
  3. package/dist/components/alert/infobar.svelte +58 -46
  4. package/dist/components/alert/infobar.svelte.d.ts +8 -0
  5. package/dist/components/bottom-navigation/bottom-navigation.svelte +21 -15
  6. package/dist/components/button/button-group.svelte +10 -6
  7. package/dist/components/button/button-group.svelte.d.ts +8 -0
  8. package/dist/components/button/button.svelte +274 -175
  9. package/dist/components/button/floating-action-button-wrapper.svelte +23 -18
  10. package/dist/components/button/select-button-group.svelte +60 -41
  11. package/dist/components/button/select-button-group.svelte.d.ts +8 -0
  12. package/dist/components/button/split-button.svelte +25 -18
  13. package/dist/components/calendar/calendar.svelte +103 -80
  14. package/dist/components/checkbox/checkbox-group.svelte +25 -19
  15. package/dist/components/checkbox/checkbox-group.svelte.d.ts +8 -0
  16. package/dist/components/checkbox/checkbox.svelte +93 -65
  17. package/dist/components/checkbox/checkbox.svelte.d.ts +2 -2
  18. package/dist/components/dialog/dialog.svelte +105 -87
  19. package/dist/components/dialog/prompt-dialog.svelte +5 -3
  20. package/dist/components/disclosure/disclosure.svelte +34 -21
  21. package/dist/components/divider/divider.svelte +21 -14
  22. package/dist/components/divider/divider.svelte.d.ts +8 -0
  23. package/dist/components/divider/spacer.svelte +13 -8
  24. package/dist/components/drawer/drawer.svelte +343 -190
  25. package/dist/components/grid/grid-body.svelte +16 -14
  26. package/dist/components/grid/grid-cell.svelte +5 -3
  27. package/dist/components/grid/grid-col-header.svelte +5 -3
  28. package/dist/components/grid/grid-foot.svelte +5 -3
  29. package/dist/components/grid/grid-head.svelte +5 -3
  30. package/dist/components/grid/grid-row-header.svelte +6 -4
  31. package/dist/components/grid/grid-row.svelte +6 -4
  32. package/dist/components/grid/grid.svelte +21 -12
  33. package/dist/components/grid/grid.svelte.d.ts +8 -0
  34. package/dist/components/icon/icon.svelte +7 -5
  35. package/dist/components/listbox/listbox.svelte +81 -61
  36. package/dist/components/listbox/listbox.svelte.d.ts +8 -0
  37. package/dist/components/listbox/option-group.svelte +15 -11
  38. package/dist/components/listbox/option.svelte +54 -39
  39. package/dist/components/menu/menu-item-group.svelte +5 -3
  40. package/dist/components/menu/menu-item.svelte +67 -51
  41. package/dist/components/menu/menu.svelte +24 -17
  42. package/dist/components/menu/menu.svelte.d.ts +8 -0
  43. package/dist/components/progressbar/progressbar.svelte +27 -15
  44. package/dist/components/progressbar/progressbar.svelte.d.ts +8 -0
  45. package/dist/components/radio/radio-group.svelte +43 -31
  46. package/dist/components/radio/radio-group.svelte.d.ts +8 -0
  47. package/dist/components/radio/radio.svelte +81 -63
  48. package/dist/components/resizable-pane/resizable-handle.svelte +63 -48
  49. package/dist/components/resizable-pane/resizable-handle.svelte.d.ts +8 -0
  50. package/dist/components/resizable-pane/resizable-pane-group.svelte +18 -14
  51. package/dist/components/select/combobox.svelte +139 -113
  52. package/dist/components/select/select-tags.svelte +73 -57
  53. package/dist/components/slider/slider.svelte +94 -74
  54. package/dist/components/switch/switch.svelte +118 -81
  55. package/dist/components/switch/switch.svelte.d.ts +8 -0
  56. package/dist/components/table/table-body.svelte +16 -14
  57. package/dist/components/table/table-cell.svelte +5 -3
  58. package/dist/components/table/table-col-header.svelte +5 -3
  59. package/dist/components/table/table-foot.svelte +5 -3
  60. package/dist/components/table/table-head.svelte +5 -3
  61. package/dist/components/table/table-row-header.svelte +6 -4
  62. package/dist/components/table/table-row.svelte +6 -4
  63. package/dist/components/table/table.svelte +21 -13
  64. package/dist/components/table/table.svelte.d.ts +8 -0
  65. package/dist/components/tabs/tab-box.svelte +9 -6
  66. package/dist/components/tabs/tab-list.svelte +94 -73
  67. package/dist/components/tabs/tab-list.svelte.d.ts +8 -0
  68. package/dist/components/tabs/tab-panel.svelte +11 -7
  69. package/dist/components/tabs/tab-panels.svelte +19 -14
  70. package/dist/components/text-editor/code-editor.svelte +10 -7
  71. package/dist/components/text-editor/core.js +3 -0
  72. package/dist/components/text-editor/lexical-root.svelte +221 -160
  73. package/dist/components/text-editor/text-editor.svelte +25 -18
  74. package/dist/components/text-editor/toolbar/insert-link-button.svelte +2 -1
  75. package/dist/components/text-editor/toolbar/toolbar-wrapper.svelte +44 -37
  76. package/dist/components/text-field/number-input.svelte +87 -68
  77. package/dist/components/text-field/password-input.svelte +52 -42
  78. package/dist/components/text-field/search-bar.svelte +64 -53
  79. package/dist/components/text-field/secret-input.svelte +61 -46
  80. package/dist/components/text-field/text-area.svelte +80 -68
  81. package/dist/components/text-field/text-input.svelte +139 -107
  82. package/dist/components/toast/toast.svelte +104 -89
  83. package/dist/components/toolbar/toolbar.svelte +73 -54
  84. package/dist/components/toolbar/toolbar.svelte.d.ts +8 -0
  85. package/dist/components/typography/truncated-text.svelte +9 -7
  86. package/dist/components/util/app-shell.svelte +40 -493
  87. package/dist/components/util/empty-state.svelte +13 -11
  88. package/dist/components/util/group.svelte +8 -3
  89. package/dist/components/util/group.svelte.d.ts +8 -0
  90. package/dist/components/util/modal.svelte +59 -48
  91. package/dist/components/util/popup.svelte +87 -67
  92. package/dist/index.d.ts +1 -0
  93. package/dist/index.js +1 -4
  94. package/dist/locales/en.yaml +50 -3
  95. package/dist/locales/ja.yaml +49 -2
  96. package/dist/services/i18n.d.ts +6 -0
  97. package/dist/services/i18n.js +19 -14
  98. package/dist/typedefs.d.ts +5 -1
  99. package/dist/typedefs.js +2 -1
  100. package/package.json +23 -23
@@ -138,193 +138,346 @@
138
138
  </div>
139
139
  </Modal>
140
140
 
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>
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>
@@ -49,19 +49,21 @@
49
49
  {@render children?.()}
50
50
  </div>
51
51
 
52
- <style>[role=rowgroup] {
53
- display: table-row-group;
54
- }
52
+ <style lang="scss">
53
+ [role='rowgroup'] {
54
+ display: table-row-group;
55
+ }
55
56
 
56
- [role=row] {
57
- display: table-row;
58
- }
57
+ [role='row'] {
58
+ display: table-row;
59
+ }
59
60
 
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>
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>
@@ -31,6 +31,8 @@
31
31
  {@render children?.()}
32
32
  </div>
33
33
 
34
- <style>.grid-cell {
35
- display: table-cell;
36
- }</style>
34
+ <style lang="scss">
35
+ .grid-cell {
36
+ display: table-cell;
37
+ }
38
+ </style>
@@ -31,6 +31,8 @@
31
31
  {@render children?.()}
32
32
  </div>
33
33
 
34
- <style>.grid-col-header {
35
- display: table-cell;
36
- }</style>
34
+ <style lang="scss">
35
+ .grid-col-header {
36
+ display: table-cell;
37
+ }
38
+ </style>
@@ -36,6 +36,8 @@
36
36
  {@render children?.()}
37
37
  </div>
38
38
 
39
- <style>.grid-foot {
40
- display: table-footer-group;
41
- }</style>
39
+ <style lang="scss">
40
+ .grid-foot {
41
+ display: table-footer-group;
42
+ }
43
+ </style>
@@ -36,6 +36,8 @@
36
36
  {@render children?.()}
37
37
  </div>
38
38
 
39
- <style>.grid-head {
40
- display: table-header-group;
41
- }</style>
39
+ <style lang="scss">
40
+ .grid-head {
41
+ display: table-header-group;
42
+ }
43
+ </style>
@@ -31,7 +31,9 @@
31
31
  {@render children?.()}
32
32
  </div>
33
33
 
34
- <style>.grid-row-header {
35
- display: table-cell;
36
- height: var(--sui-secondary-row-height);
37
- }</style>
34
+ <style lang="scss">
35
+ .grid-row-header {
36
+ display: table-cell;
37
+ height: var(--sui-secondary-row-height);
38
+ }
39
+ </style>
@@ -42,7 +42,9 @@
42
42
  {@render children?.()}
43
43
  </div>
44
44
 
45
- <style>.grid-row {
46
- display: table-row;
47
- height: var(--sui-primary-row-height);
48
- }</style>
45
+ <style lang="scss">
46
+ .grid-row {
47
+ display: table-row;
48
+ height: var(--sui-primary-row-height);
49
+ }
50
+ </style>