@slotted/react 0.1.0-beta.2 → 0.1.0-beta.3
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.
- package/dist/{action-bar-C7cGnEyJ.js → action-bar-OACchRZw.js} +1 -1
- package/dist/action-bar.js +1 -1
- package/dist/{action-sheet-DgwzC3iY.js → action-sheet-C60BWUW8.js} +1 -1
- package/dist/action-sheet.js +1 -1
- package/dist/{app-shell-CXwma4XA.js → app-shell-CmYvnu_7.js} +310 -310
- package/dist/app-shell.js +1 -1
- package/dist/button-Db9f3Bxn.js +99 -0
- package/dist/button.js +2 -2
- package/dist/cascader-D1AhTyBL.js +1097 -0
- package/dist/cascader.js +1 -1
- package/dist/{chart-Gb_P3Kdq.js → chart-O0ZhkzJe.js} +381 -374
- package/dist/chart.js +1 -1
- package/dist/{checkbox-CwUOc-3u.js → checkbox-DfxFHZaU.js} +3 -3
- package/dist/{checkbox-group-BYTjgAcX.js → checkbox-group-9sDgrV5Z.js} +2 -2
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{color-picker-BlPR4g4H.js → color-picker-CwbWzCKg.js} +4 -4
- package/dist/color-picker.js +1 -1
- package/dist/{column-manager-B7_a_jDK.js → column-manager-CTtizVhm.js} +6 -6
- package/dist/column-manager.js +1 -1
- package/dist/{combobox-C66dNlMR.js → combobox-BVMI9lg8.js} +266 -266
- package/dist/combobox.js +1 -1
- package/dist/{command-palette-BqRyNR9Y.js → command-palette-DFLbSOiv.js} +1 -1
- package/dist/command-palette.js +1 -1
- package/dist/{context-menu-DMiHdggw.js → context-menu-BuST6W94.js} +1 -1
- package/dist/context-menu.js +1 -1
- package/dist/currency-field-DD9A5U3D.js +455 -0
- package/dist/currency-field.js +1 -1
- package/dist/{dashboard-grid-CKdyO4j6.js → dashboard-grid-CBMP_-JV.js} +2 -2
- package/dist/dashboard-grid.js +1 -1
- package/dist/{data-grid-rWMDNl-6.js → data-grid-BKaGMqIm.js} +19 -19
- package/dist/data-grid.js +1 -1
- package/dist/{data-list-2xfDpHVC.js → data-list-oICmxGkA.js} +5 -5
- package/dist/data-list.js +1 -1
- package/dist/{date-field-D_kLLTfL.js → date-field-CYcN6diW.js} +1 -1
- package/dist/date-field.js +1 -1
- package/dist/date-picker-4X-_2ltN.js +264 -0
- package/dist/date-picker.js +1 -1
- package/dist/date-range-picker-CNOAtHwU.js +471 -0
- package/dist/date-range-picker.js +1 -1
- package/dist/{datetime-field-T1gNdJ7t.js → datetime-field-B8TrmsDK.js} +1 -1
- package/dist/datetime-field.js +1 -1
- package/dist/datetime-picker-HDVlUhzy.js +629 -0
- package/dist/datetime-picker.js +1 -1
- package/dist/datetime-range-picker-IqOFJtdW.js +994 -0
- package/dist/datetime-range-picker.js +1 -1
- package/dist/{dialog-Dmy-m_pe.js → dialog-BHYDDj1S.js} +112 -113
- package/dist/dialog.js +1 -1
- package/dist/docs/app-shell.json +1 -1
- package/dist/docs/button-group.json +1 -0
- package/dist/docs/button-group.md +1 -1
- package/dist/docs/button.json +45 -11
- package/dist/docs/button.md +10 -6
- package/dist/docs/chart.json +7 -0
- package/dist/docs/chart.md +1 -0
- package/dist/docs/currency-field.json +32 -1
- package/dist/docs/currency-field.md +4 -1
- package/dist/docs/dialog.examples.md +26 -0
- package/dist/docs/dialog.json +14 -2
- package/dist/docs/dialog.md +1 -1
- package/dist/docs/list.json +26 -1
- package/dist/docs/list.md +4 -1
- package/dist/docs/popover.json +1 -1
- package/dist/docs/segmented-control.json +29 -1
- package/dist/docs/segmented-control.md +17 -1
- package/dist/docs/side-navigation.json +2 -2
- package/dist/docs/side-navigation.md +19 -4
- package/dist/docs/skills/theme-app/SKILL.md +5 -0
- package/dist/docs/split-button.json +1 -0
- package/dist/docs/split-button.md +1 -1
- package/dist/docs/stat-card.json +1 -0
- package/dist/docs/stat-card.md +1 -1
- package/dist/docs/table.examples.md +1 -1
- package/dist/docs/table.json +78 -2
- package/dist/docs/table.md +12 -1
- package/dist/docs/tabs.examples.md +1 -1
- package/dist/docs/tabs.json +1 -1
- package/dist/docs/toggle-group.json +14 -3
- package/dist/docs/toggle-group.md +3 -3
- package/dist/docs/toggle.json +12 -3
- package/dist/docs/toggle.md +3 -3
- package/dist/docs/tokens.md +25 -1
- package/dist/docs/top-navigation.examples.md +23 -5
- package/dist/docs/top-navigation.json +2 -2
- package/dist/docs/tour.json +1 -1
- package/dist/drawer-LXM44eso.js +757 -0
- package/dist/drawer.js +1 -1
- package/dist/entity-picker-CPDd73JR.js +1110 -0
- package/dist/entity-picker.js +1 -1
- package/dist/{event-calendar-DYjVwTI6.js → event-calendar-CnF3iIZD.js} +5 -5
- package/dist/event-calendar.js +1 -1
- package/dist/{field-BJh5HI7w.js → field-NJaCxl2h.js} +1 -1
- package/dist/{field-group-BDaspQPh.js → field-group-hAzVa2O9.js} +1 -1
- package/dist/field-group.js +1 -1
- package/dist/field.js +1 -1
- package/dist/{filter-bar-Bh7cbqDE.js → filter-bar-D_xDcAp2.js} +20 -20
- package/dist/filter-bar.js +1 -1
- package/dist/{hover-card-CSDbA6zd.js → hover-card-BJE5dtaQ.js} +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/{icon-button-TnvMhK4o.js → icon-button-CCWkCDMs.js} +26 -24
- package/dist/import-export-center-DpY2DGBZ.js +813 -0
- package/dist/import-export-center.js +1 -1
- package/dist/index.js +85 -84
- package/dist/{list-C1Y8MWp2.js → list-WsQ6ZzCa.js} +16 -12
- package/dist/{list-item-DN_mcouU.js → list-item-DpCwZIrd.js} +1 -1
- package/dist/list-item.js +1 -1
- package/dist/list.js +1 -1
- package/dist/{listbox-4WvqR0JF.js → listbox-Dv856z9I.js} +1 -1
- package/dist/listbox.js +1 -1
- package/dist/{loading-overlay-B83XFctM.js → loading-overlay-COfnckse.js} +73 -73
- package/dist/loading-overlay.js +1 -1
- package/dist/{markdown-CpfDn1LF.js → markdown-CeG8mUbI.js} +2 -2
- package/dist/markdown.js +1 -1
- package/dist/menu-parts-W58pVNUt.js +786 -0
- package/dist/menu.js +1 -1
- package/dist/{menubar-CtGavUTO.js → menubar-b2CruimJ.js} +1 -1
- package/dist/menubar.js +1 -1
- package/dist/{multi-select-B-tuIwAu.js → multi-select-DQ5ds0fX.js} +390 -390
- package/dist/multi-select.js +1 -1
- package/dist/{notification-center-C4pEHJ3h.js → notification-center-Sz54IziY.js} +2 -2
- package/dist/notification-center.js +1 -1
- package/dist/{number-field-J_koud1r.js → number-field-BFIAmv-z.js} +1 -1
- package/dist/number-field.js +1 -1
- package/dist/{otp-input-Bf8JUiVR.js → otp-input-BNQhuKaT.js} +1 -1
- package/dist/otp-input.js +1 -1
- package/dist/popover-Be7JWbGJ.js +475 -0
- package/dist/popover.js +1 -1
- package/dist/press-selection-DjOllE2B.js +29 -0
- package/dist/press-selection.js +2 -0
- package/dist/{prompt-composer-B7MMcER0.js → prompt-composer-BxpdkTpZ.js} +1 -1
- package/dist/prompt-composer.js +1 -1
- package/dist/{radio-group-BFpjhDkV.js → radio-group-BaVIP9UH.js} +2 -2
- package/dist/radio-group.js +1 -1
- package/dist/{rating-D1EsADFM.js → rating-DYBQBzwB.js} +1 -1
- package/dist/rating.js +1 -1
- package/dist/{saved-views-BueW-Lyb.js → saved-views-DlE_--Z9.js} +5 -5
- package/dist/saved-views.js +1 -1
- package/dist/{segmented-control-Cy_5D3Nj.js → segmented-control-DmuOGiu6.js} +28 -24
- package/dist/segmented-control.js +1 -1
- package/dist/{select-hRFp8nCj.js → select-DOFqPy26.js} +273 -273
- package/dist/select.js +1 -1
- package/dist/{side-navigation-YUiJRpng.js → side-navigation-CBLtCzuJ.js} +186 -187
- package/dist/side-navigation.js +1 -1
- package/dist/{slider-B432T6nD.js → slider-DTes4HLF.js} +1 -1
- package/dist/slider.js +1 -1
- package/dist/{split-button-DHF3v3PJ.js → split-button-CPgHiy9G.js} +2 -2
- package/dist/split-button.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/{switch-4MHwKmkz.js → switch-DQzuIhPX.js} +1 -1
- package/dist/switch.js +1 -1
- package/dist/{table-Bd79IwDC.js → table-Cipi2c5X.js} +206 -173
- package/dist/table.js +2 -2
- package/dist/{tags-input-DLdHLWrH.js → tags-input-CcOkm0AW.js} +1 -1
- package/dist/tags-input.js +1 -1
- package/dist/{text-field-BktZbmzD.js → text-field-DLfIZ0fk.js} +1 -1
- package/dist/text-field.js +1 -1
- package/dist/{textarea-JAK2RJl0.js → textarea-CBJBJBi6.js} +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{time-field-DCG_VtGO.js → time-field-DrhiCtUl.js} +1 -1
- package/dist/time-field.js +1 -1
- package/dist/{time-picker-DuT1tf5-.js → time-picker-CRQsMJbQ.js} +102 -102
- package/dist/time-picker.js +1 -1
- package/dist/{time-range-picker-HwBvrrXN.js → time-range-picker-DlZJsj1e.js} +202 -202
- package/dist/time-range-picker.js +1 -1
- package/dist/{toast-wI8BtPY5.js → toast-Bf3e0AgC.js} +157 -157
- package/dist/toast.js +1 -1
- package/dist/toggle-group-7iBR9Rn1.js +142 -0
- package/dist/toggle-group.js +1 -1
- package/dist/{toolbar-CDQTydDx.js → toolbar-DDZpEftQ.js} +1 -1
- package/dist/toolbar.js +1 -1
- package/dist/{tooltip-BggqPDcW.js → tooltip-DbKTPe_i.js} +108 -109
- package/dist/tooltip.js +1 -1
- package/dist/{top-navigation-COQZsNqW.js → top-navigation-e-tWMGNr.js} +255 -256
- package/dist/top-navigation.js +1 -1
- package/dist/{tour-C11DmYTC.js → tour-BTdt716T.js} +180 -180
- package/dist/tour.js +1 -1
- package/dist/{transfer-JA9TWjAw.js → transfer-CqZOTLMP.js} +6 -6
- package/dist/transfer.js +1 -1
- package/dist/types/app-shell/app-shell.d.ts.map +1 -1
- package/dist/types/button/button-link.d.ts +1 -1
- package/dist/types/button/button-link.d.ts.map +1 -1
- package/dist/types/button/button-root.d.ts +5 -3
- package/dist/types/button/button-root.d.ts.map +1 -1
- package/dist/types/button/button.constants.d.ts +2 -1
- package/dist/types/button/button.constants.d.ts.map +1 -1
- package/dist/types/button/button.d.ts +1 -1
- package/dist/types/button/button.d.ts.map +1 -1
- package/dist/types/button/button.types.d.ts +9 -2
- package/dist/types/button/button.types.d.ts.map +1 -1
- package/dist/types/button/index.d.ts +1 -1
- package/dist/types/button/index.d.ts.map +1 -1
- package/dist/types/button/toggle-button.d.ts +1 -1
- package/dist/types/button/toggle-button.d.ts.map +1 -1
- package/dist/types/chart/chart.d.ts.map +1 -1
- package/dist/types/currency-field/currency-field.d.ts +1 -1
- package/dist/types/currency-field/currency-field.d.ts.map +1 -1
- package/dist/types/currency-field/currency-field.types.d.ts +14 -0
- package/dist/types/currency-field/currency-field.types.d.ts.map +1 -1
- package/dist/types/currency-field/index.d.ts +1 -1
- package/dist/types/currency-field/index.d.ts.map +1 -1
- package/dist/types/dialog/dialog-demo.d.ts +8 -0
- package/dist/types/dialog/dialog-demo.d.ts.map +1 -1
- package/dist/types/filter-bar/filter-bar.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/list/index.d.ts +1 -1
- package/dist/types/list/index.d.ts.map +1 -1
- package/dist/types/list/list-parts.d.ts +1 -1
- package/dist/types/list/list-parts.d.ts.map +1 -1
- package/dist/types/list/list.types.d.ts +12 -0
- package/dist/types/list/list.types.d.ts.map +1 -1
- package/dist/types/press-selection/index.d.ts +3 -0
- package/dist/types/press-selection/index.d.ts.map +1 -0
- package/dist/types/press-selection/press-selection.d.ts +23 -0
- package/dist/types/press-selection/press-selection.d.ts.map +1 -0
- package/dist/types/segmented-control/index.d.ts +1 -1
- package/dist/types/segmented-control/index.d.ts.map +1 -1
- package/dist/types/segmented-control/segmented-control-defaults.d.ts.map +1 -1
- package/dist/types/segmented-control/segmented-control.d.ts +1 -1
- package/dist/types/segmented-control/segmented-control.d.ts.map +1 -1
- package/dist/types/segmented-control/segmented-control.types.d.ts +10 -0
- package/dist/types/segmented-control/segmented-control.types.d.ts.map +1 -1
- package/dist/types/table/index.d.ts +2 -2
- package/dist/types/table/index.d.ts.map +1 -1
- package/dist/types/table/table-parts.d.ts +8 -2
- package/dist/types/table/table-parts.d.ts.map +1 -1
- package/dist/types/table/table.types.d.ts +28 -1
- package/dist/types/table/table.types.d.ts.map +1 -1
- package/dist/types/toggle/toggle.types.d.ts +1 -1
- package/dist/types/toggle/toggle.types.d.ts.map +1 -1
- package/dist/types/toggle-group/toggle-group.d.ts.map +1 -1
- package/dist/types/toggle-group/toggle-group.types.d.ts +6 -1
- package/dist/types/toggle-group/toggle-group.types.d.ts.map +1 -1
- package/dist/{upload-Bq_UiyMr.js → upload-DjnlVR8y.js} +2 -2
- package/dist/upload.js +1 -1
- package/dist/{wizard-B4GrlEqh.js → wizard-BxA08vXt.js} +1 -1
- package/dist/wizard.js +1 -1
- package/package.json +12 -7
- package/dist/button-DakQ-7Tm.js +0 -97
- package/dist/cascader-CARCYdHh.js +0 -1097
- package/dist/currency-field-B7OZ0hk7.js +0 -436
- package/dist/date-picker-DQ5SIhdA.js +0 -264
- package/dist/date-range-picker-lpB08hK_.js +0 -471
- package/dist/datetime-picker-0F0kDW-8.js +0 -629
- package/dist/datetime-range-picker-ClnEleth.js +0 -994
- package/dist/drawer-Dtospdqk.js +0 -758
- package/dist/entity-picker-Dm-y0RNE.js +0 -1111
- package/dist/import-export-center-CkZ_Ar9w.js +0 -813
- package/dist/menu-parts-BQej6eU9.js +0 -787
- package/dist/popover-DE22lSpV.js +0 -476
- package/dist/react-dom-DzrKNxo6.js +0 -273
- package/dist/toggle-group-DQBlI1TV.js +0 -140
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
"condense": [
|
|
20
20
|
"none",
|
|
21
21
|
"icons"
|
|
22
|
+
],
|
|
23
|
+
"variant": [
|
|
24
|
+
"track",
|
|
25
|
+
"underline"
|
|
22
26
|
]
|
|
23
27
|
},
|
|
24
28
|
"members": {
|
|
@@ -29,7 +33,8 @@
|
|
|
29
33
|
"orientation": "horizontal",
|
|
30
34
|
"condense": "none",
|
|
31
35
|
"fullWidth": false,
|
|
32
|
-
"disabled": false
|
|
36
|
+
"disabled": false,
|
|
37
|
+
"variant": "track"
|
|
33
38
|
},
|
|
34
39
|
"capabilities": [
|
|
35
40
|
"selection",
|
|
@@ -143,6 +148,13 @@
|
|
|
143
148
|
"appliesTo": "SegmentedControl",
|
|
144
149
|
"description": "How the segments flow and which way the thumb travels. A horizontal set writes aria-orientation, because radiogroup already implies vertical"
|
|
145
150
|
},
|
|
151
|
+
{
|
|
152
|
+
"name": "variant",
|
|
153
|
+
"type": "'track' | 'underline'",
|
|
154
|
+
"defaultValue": "track",
|
|
155
|
+
"appliesTo": "SegmentedControl",
|
|
156
|
+
"description": "How the choice is drawn: a track with a thumb, or the words alone with the chosen one underlined"
|
|
157
|
+
},
|
|
146
158
|
{
|
|
147
159
|
"name": "condense",
|
|
148
160
|
"type": "'none' | 'icons'",
|
|
@@ -269,6 +281,7 @@
|
|
|
269
281
|
},
|
|
270
282
|
"tokens": [
|
|
271
283
|
"--slotted-border-subtle",
|
|
284
|
+
"--slotted-border-width-thick",
|
|
272
285
|
"--slotted-control-border-color",
|
|
273
286
|
"--slotted-control-border-width",
|
|
274
287
|
"--slotted-control-font-family",
|
|
@@ -304,7 +317,9 @@
|
|
|
304
317
|
"--slotted-easing-standard",
|
|
305
318
|
"--slotted-focus-ring-color",
|
|
306
319
|
"--slotted-focus-ring-color-invalid",
|
|
320
|
+
"--slotted-focus-ring-offset",
|
|
307
321
|
"--slotted-focus-ring-width",
|
|
322
|
+
"--slotted-font-weight-medium",
|
|
308
323
|
"--slotted-radius-xs",
|
|
309
324
|
"--slotted-segmented-control-active-background",
|
|
310
325
|
"--slotted-segmented-control-background",
|
|
@@ -324,9 +339,14 @@
|
|
|
324
339
|
"--slotted-segmented-control-invalid-focus-ring-color",
|
|
325
340
|
"--slotted-segmented-control-radius",
|
|
326
341
|
"--slotted-segmented-control-shadow",
|
|
342
|
+
"--slotted-segmented-control-underline-checked-color",
|
|
343
|
+
"--slotted-segmented-control-underline-color",
|
|
344
|
+
"--slotted-segmented-control-underline-gap",
|
|
327
345
|
"--slotted-space-1",
|
|
346
|
+
"--slotted-space-6",
|
|
328
347
|
"--slotted-target-min",
|
|
329
348
|
"--slotted-text",
|
|
349
|
+
"--slotted-text-muted",
|
|
330
350
|
"--slotted-tone-accent-border",
|
|
331
351
|
"--slotted-tone-accent-subtle-active",
|
|
332
352
|
"--slotted-tone-accent-text",
|
|
@@ -375,6 +395,14 @@
|
|
|
375
395
|
"source": "<SegmentedControl aria-label=\"Alinhamento\" defaultValue=\"center\">\n <Segment aria-label=\"Início\" icon={<AlignStartIcon />} value=\"start\" />\n <Segment aria-label=\"Centro\" icon={<AlignCenterIcon />} value=\"center\" />\n</SegmentedControl>;\n",
|
|
376
396
|
"verdict": "excerpt"
|
|
377
397
|
},
|
|
398
|
+
{
|
|
399
|
+
"id": "variants",
|
|
400
|
+
"title": "A track, or the words alone",
|
|
401
|
+
"note": "underline draws the same radio group as words: each as wide as itself, the chosen one in the text colour and underlined, the others muted. One tab stop, the arrows move the value, and inside a field the label names the set.",
|
|
402
|
+
"language": "tsx",
|
|
403
|
+
"source": "<SegmentedControl aria-label=\"Período\" defaultValue=\"month\" variant=\"underline\">\n <Segment value=\"day\">Dia</Segment>\n <Segment value=\"week\">Semana</Segment>\n <Segment value=\"month\">Mês</Segment>\n</SegmentedControl>;\n",
|
|
404
|
+
"verdict": "excerpt"
|
|
405
|
+
},
|
|
378
406
|
{
|
|
379
407
|
"id": "condense",
|
|
380
408
|
"title": "Narrower than its words",
|
|
@@ -41,6 +41,7 @@ Excerpt — not a complete module
|
|
|
41
41
|
| `name` | `string` | — | SegmentedControl | The submission name the segments share, and the reason the platform treats them as one radio group. Generated when none is written, and the cost is that such a control submits under a generated key |
|
|
42
42
|
| `size` | `'sm' \| 'md' \| 'lg'` | md | SegmentedControl | The control step. The track measures its segments back from it, so the whole control is exactly as tall as the field beside it |
|
|
43
43
|
| `orientation` | `'horizontal' \| 'vertical'` | horizontal | SegmentedControl | How the segments flow and which way the thumb travels. A horizontal set writes aria-orientation, because radiogroup already implies vertical |
|
|
44
|
+
| `variant` | `'track' \| 'underline'` | track | SegmentedControl | How the choice is drawn: a track with a thumb, or the words alone with the chosen one underlined |
|
|
44
45
|
| `condense` | `'none' \| 'icons'` | none | SegmentedControl | What the control does when it is narrower than its labels need. icons keeps the marks and hides the words, and makes the control take its parent’s width so there is a width to ask a question about |
|
|
45
46
|
| `fullWidth` | `boolean` | false | SegmentedControl | Whether the equal columns spread across the whole line. Left alone every column is the widest label’s |
|
|
46
47
|
| `disabled` | `boolean` | false | SegmentedControl | Unstated rather than false, so the control defers to the field around it. Stated, it reaches every radio as the native attribute, which is also what makes the browser skip it with the arrows |
|
|
@@ -70,6 +71,7 @@ Excerpt — not a complete module
|
|
|
70
71
|
| `size` | `sm`, `md`, `lg` | `md` |
|
|
71
72
|
| `orientation` | `horizontal`, `vertical` | `horizontal` |
|
|
72
73
|
| `condense` | `none`, `icons` | `none` |
|
|
74
|
+
| `variant` | `track`, `underline` | `track` |
|
|
73
75
|
|
|
74
76
|
## Rules
|
|
75
77
|
|
|
@@ -83,7 +85,7 @@ Excerpt — not a complete module
|
|
|
83
85
|
|
|
84
86
|
## Tokens
|
|
85
87
|
|
|
86
|
-
`--slotted-border-subtle`, `--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-font-weight`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-invalid-edge-width`, `--slotted-control-letter-spacing`, `--slotted-control-line-height`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-surface`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-duration-medium`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-width`, `--slotted-radius-xs`, `--slotted-segmented-control-active-background`, `--slotted-segmented-control-background`, `--slotted-segmented-control-border-color`, `--slotted-segmented-control-checked-color`, `--slotted-segmented-control-color`, `--slotted-segmented-control-disabled-border-color`, `--slotted-segmented-control-disabled-color`, `--slotted-segmented-control-disabled-indicator-background`, `--slotted-segmented-control-divider-color`, `--slotted-segmented-control-hover-background`, `--slotted-segmented-control-indicator-background`, `--slotted-segmented-control-indicator-border-color`, `--slotted-segmented-control-inset`, `--slotted-segmented-control-invalid-border-color`, `--slotted-segmented-control-invalid-edge-width`, `--slotted-segmented-control-invalid-focus-ring-color`, `--slotted-segmented-control-radius`, `--slotted-segmented-control-shadow`, `--slotted-space-1`, `--slotted-target-min`, `--slotted-text`, `--slotted-tone-accent-border`, `--slotted-tone-accent-subtle-active`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
|
|
88
|
+
`--slotted-border-subtle`, `--slotted-border-width-thick`, `--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-font-weight`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-invalid-edge-width`, `--slotted-control-letter-spacing`, `--slotted-control-line-height`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-surface`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-duration-medium`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-weight-medium`, `--slotted-radius-xs`, `--slotted-segmented-control-active-background`, `--slotted-segmented-control-background`, `--slotted-segmented-control-border-color`, `--slotted-segmented-control-checked-color`, `--slotted-segmented-control-color`, `--slotted-segmented-control-disabled-border-color`, `--slotted-segmented-control-disabled-color`, `--slotted-segmented-control-disabled-indicator-background`, `--slotted-segmented-control-divider-color`, `--slotted-segmented-control-hover-background`, `--slotted-segmented-control-indicator-background`, `--slotted-segmented-control-indicator-border-color`, `--slotted-segmented-control-inset`, `--slotted-segmented-control-invalid-border-color`, `--slotted-segmented-control-invalid-edge-width`, `--slotted-segmented-control-invalid-focus-ring-color`, `--slotted-segmented-control-radius`, `--slotted-segmented-control-shadow`, `--slotted-segmented-control-underline-checked-color`, `--slotted-segmented-control-underline-color`, `--slotted-segmented-control-underline-gap`, `--slotted-space-1`, `--slotted-space-6`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-subtle-active`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
|
|
87
89
|
|
|
88
90
|
## Examples
|
|
89
91
|
|
|
@@ -143,6 +145,20 @@ Excerpt — not a complete module
|
|
|
143
145
|
</SegmentedControl>;
|
|
144
146
|
```
|
|
145
147
|
|
|
148
|
+
### A track, or the words alone
|
|
149
|
+
|
|
150
|
+
underline draws the same radio group as words: each as wide as itself, the chosen one in the text colour and underlined, the others muted. One tab stop, the arrows move the value, and inside a field the label names the set.
|
|
151
|
+
|
|
152
|
+
Excerpt — not a complete module
|
|
153
|
+
|
|
154
|
+
```tsx
|
|
155
|
+
<SegmentedControl aria-label="Período" defaultValue="month" variant="underline">
|
|
156
|
+
<Segment value="day">Dia</Segment>
|
|
157
|
+
<Segment value="week">Semana</Segment>
|
|
158
|
+
<Segment value="month">Mês</Segment>
|
|
159
|
+
</SegmentedControl>;
|
|
160
|
+
```
|
|
161
|
+
|
|
146
162
|
### Narrower than its words
|
|
147
163
|
|
|
148
164
|
Below the width its labels need, a control told to condense keeps its marks and hides its words — hidden, never removed, so every segment is announced the same at every width.
|
|
@@ -553,9 +553,9 @@
|
|
|
553
553
|
{
|
|
554
554
|
"id": "current",
|
|
555
555
|
"title": "Where the reader is",
|
|
556
|
-
"note": "value on the root names the destination and a press asks it to move; a link that states current itself wins. The parent of a hidden destination is marked until its group opens, and autoExpand opens it.",
|
|
556
|
+
"note": "value on the root names the destination and a press asks it to move; a link that states current itself wins. The parent of a hidden destination is marked until its group opens, and autoExpand opens it. With a router, usePressSelection paints the press before the route renders: the item is current at once, and the navigation runs after the frame that shows it. A click carrying a modifier key is left to the browser.",
|
|
557
557
|
"language": "tsx",
|
|
558
|
-
"source": "const
|
|
558
|
+
"source": "const { pathname } = useLocation();\nconst navigate = useNavigate();\nconst { selected, select } = usePressSelection(pathname);\n\nconst press = (to: string) => (event: MouseEvent) => {\n if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {\n return;\n }\n event.preventDefault();\n select(to, () => navigate(to));\n};\n\n<SideNavigation value={selected ?? null}>\n …\n <SideNavigationItem value=\"/orders\">\n <SideNavigationLink href=\"/orders\" onClick={press('/orders')}>\n Orders\n </SideNavigationLink>\n </SideNavigationItem>\n</SideNavigation>;\n",
|
|
559
559
|
"verdict": "excerpt"
|
|
560
560
|
},
|
|
561
561
|
{
|
|
@@ -272,15 +272,30 @@ Excerpt — not a complete module
|
|
|
272
272
|
|
|
273
273
|
### Where the reader is
|
|
274
274
|
|
|
275
|
-
value on the root names the destination and a press asks it to move; a link that states current itself wins. The parent of a hidden destination is marked until its group opens, and autoExpand opens it.
|
|
275
|
+
value on the root names the destination and a press asks it to move; a link that states current itself wins. The parent of a hidden destination is marked until its group opens, and autoExpand opens it. With a router, usePressSelection paints the press before the route renders: the item is current at once, and the navigation runs after the frame that shows it. A click carrying a modifier key is left to the browser.
|
|
276
276
|
|
|
277
277
|
Excerpt — not a complete module
|
|
278
278
|
|
|
279
279
|
```tsx
|
|
280
|
-
const
|
|
281
|
-
|
|
282
|
-
|
|
280
|
+
const { pathname } = useLocation();
|
|
281
|
+
const navigate = useNavigate();
|
|
282
|
+
const { selected, select } = usePressSelection(pathname);
|
|
283
|
+
|
|
284
|
+
const press = (to: string) => (event: MouseEvent) => {
|
|
285
|
+
if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
event.preventDefault();
|
|
289
|
+
select(to, () => navigate(to));
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
<SideNavigation value={selected ?? null}>
|
|
283
293
|
…
|
|
294
|
+
<SideNavigationItem value="/orders">
|
|
295
|
+
<SideNavigationLink href="/orders" onClick={press('/orders')}>
|
|
296
|
+
Orders
|
|
297
|
+
</SideNavigationLink>
|
|
298
|
+
</SideNavigationItem>
|
|
284
299
|
</SideNavigation>;
|
|
285
300
|
```
|
|
286
301
|
|
|
@@ -55,6 +55,11 @@ new seed keeps the ratios of every scheme. A colour of the `tone`, `surface`,
|
|
|
55
55
|
3. A colour the reader picks at runtime: write the seed property on the element
|
|
56
56
|
that carries `data-slotted-theme`, with `seedStyle` from
|
|
57
57
|
`@slotted/theme/seeds`, which leaves the token contract out of the bundle.
|
|
58
|
+
4. A bar of the application's own that floats over scrolling content — a phone
|
|
59
|
+
tab bar, a sticky banner — is a material: its background reads
|
|
60
|
+
`--slotted-surface-material` and its backdrop filter reads
|
|
61
|
+
`--slotted-material-backdrop`. The theme makes both opaque under reduced
|
|
62
|
+
transparency and forced colours.
|
|
58
63
|
|
|
59
64
|
## 4. Restyle a control
|
|
60
65
|
|
|
@@ -78,7 +78,7 @@ Excerpt — not a complete module
|
|
|
78
78
|
|
|
79
79
|
| Axis | Values | Default |
|
|
80
80
|
| --- | --- | --- |
|
|
81
|
-
| `tone` | `accent`, `secondary`, `success`, `warning`, `danger` | `accent` |
|
|
81
|
+
| `tone` | `accent`, `secondary`, `neutral`, `success`, `warning`, `danger` | `accent` |
|
|
82
82
|
| `variant` | `solid`, `outline`, `ghost` | `solid` |
|
|
83
83
|
| `size` | `sm`, `md`, `lg` | `md` |
|
|
84
84
|
|
package/dist/docs/stat-card.json
CHANGED
package/dist/docs/stat-card.md
CHANGED
|
@@ -114,7 +114,7 @@ Excerpt — not a complete module
|
|
|
114
114
|
|
|
115
115
|
## Tokens
|
|
116
116
|
|
|
117
|
-
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-font-family-sans`, `--slotted-font-size-2xl`, `--slotted-font-size-3xl`, `--slotted-font-size-4xl`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xl`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-line-height-2xl`, `--slotted-line-height-3xl`, `--slotted-line-height-4xl`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xl`, `--slotted-line-height-xs`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-11`, `--slotted-space-12`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-space-8`, `--slotted-space-9`, `--slotted-sparkline-block-size`, `--slotted-sparkline-block-size-lg`, `--slotted-sparkline-block-size-sm`, `--slotted-stat-card-background`, `--slotted-stat-card-background-subtle`, `--slotted-stat-card-border-color`, `--slotted-stat-card-border-width`, `--slotted-stat-card-color`, `--slotted-stat-card-color-muted`, `--slotted-stat-card-delta-font-size`, `--slotted-stat-card-delta-font-size-lg`, `--slotted-stat-card-delta-font-size-sm`, `--slotted-stat-card-indicator-size`, `--slotted-stat-card-indicator-size-lg`, `--slotted-stat-card-label-font-size`, `--slotted-stat-card-label-font-size-lg`, `--slotted-stat-card-label-font-size-sm`, `--slotted-stat-card-label-line-height`, `--slotted-stat-card-label-line-height-lg`, `--slotted-stat-card-label-line-height-sm`, `--slotted-stat-card-min-inline-size`, `--slotted-stat-card-padding-block`, `--slotted-stat-card-padding-block-lg`, `--slotted-stat-card-padding-block-sm`, `--slotted-stat-card-padding-inline`, `--slotted-stat-card-padding-inline-lg`, `--slotted-stat-card-padding-inline-sm`, `--slotted-stat-card-prose-font-size`, `--slotted-stat-card-prose-font-size-lg`, `--slotted-stat-card-prose-line-height`, `--slotted-stat-card-prose-line-height-lg`, `--slotted-stat-card-radius`, `--slotted-stat-card-region-gap`, `--slotted-stat-card-region-gap-lg`, `--slotted-stat-card-region-gap-sm`, `--slotted-stat-card-shadow`, `--slotted-stat-card-shadow-elevated`, `--slotted-stat-card-trend-gap`, `--slotted-stat-card-trend-gap-lg`, `--slotted-stat-card-trend-gap-sm`, `--slotted-stat-card-trend-inline-size`, `--slotted-stat-card-trend-inline-size-lg`, `--slotted-stat-card-trend-inline-size-sm`, `--slotted-stat-card-value-font-size`, `--slotted-stat-card-value-font-size-lg`, `--slotted-stat-card-value-font-size-sm`, `--slotted-stat-card-value-line-height`, `--slotted-stat-card-value-line-height-lg`, `--slotted-stat-card-value-line-height-sm`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-secondary-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
117
|
+
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-font-family-sans`, `--slotted-font-size-2xl`, `--slotted-font-size-3xl`, `--slotted-font-size-4xl`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xl`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-letter-spacing-tighter`, `--slotted-line-height-2xl`, `--slotted-line-height-3xl`, `--slotted-line-height-4xl`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xl`, `--slotted-line-height-xs`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-11`, `--slotted-space-12`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-space-8`, `--slotted-space-9`, `--slotted-sparkline-block-size`, `--slotted-sparkline-block-size-lg`, `--slotted-sparkline-block-size-sm`, `--slotted-stat-card-background`, `--slotted-stat-card-background-subtle`, `--slotted-stat-card-border-color`, `--slotted-stat-card-border-width`, `--slotted-stat-card-color`, `--slotted-stat-card-color-muted`, `--slotted-stat-card-delta-font-size`, `--slotted-stat-card-delta-font-size-lg`, `--slotted-stat-card-delta-font-size-sm`, `--slotted-stat-card-indicator-size`, `--slotted-stat-card-indicator-size-lg`, `--slotted-stat-card-label-font-size`, `--slotted-stat-card-label-font-size-lg`, `--slotted-stat-card-label-font-size-sm`, `--slotted-stat-card-label-line-height`, `--slotted-stat-card-label-line-height-lg`, `--slotted-stat-card-label-line-height-sm`, `--slotted-stat-card-min-inline-size`, `--slotted-stat-card-padding-block`, `--slotted-stat-card-padding-block-lg`, `--slotted-stat-card-padding-block-sm`, `--slotted-stat-card-padding-inline`, `--slotted-stat-card-padding-inline-lg`, `--slotted-stat-card-padding-inline-sm`, `--slotted-stat-card-prose-font-size`, `--slotted-stat-card-prose-font-size-lg`, `--slotted-stat-card-prose-line-height`, `--slotted-stat-card-prose-line-height-lg`, `--slotted-stat-card-radius`, `--slotted-stat-card-region-gap`, `--slotted-stat-card-region-gap-lg`, `--slotted-stat-card-region-gap-sm`, `--slotted-stat-card-shadow`, `--slotted-stat-card-shadow-elevated`, `--slotted-stat-card-trend-gap`, `--slotted-stat-card-trend-gap-lg`, `--slotted-stat-card-trend-gap-sm`, `--slotted-stat-card-trend-inline-size`, `--slotted-stat-card-trend-inline-size-lg`, `--slotted-stat-card-trend-inline-size-sm`, `--slotted-stat-card-value-font-size`, `--slotted-stat-card-value-font-size-lg`, `--slotted-stat-card-value-font-size-sm`, `--slotted-stat-card-value-line-height`, `--slotted-stat-card-value-line-height-lg`, `--slotted-stat-card-value-line-height-sm`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-secondary-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
118
118
|
|
|
119
119
|
## Examples
|
|
120
120
|
|
|
@@ -688,7 +688,7 @@ export default function TableExpansion() {
|
|
|
688
688
|
|
|
689
689
|
### A header, a summary and a column that stay
|
|
690
690
|
|
|
691
|
-
stickyHeader holds the head against the top of the scroller and stickyFooter holds the summary against the bottom of it, so the total is on screen at the first row and the last. stickyTo says which box that is: this table own scroller, or whatever scrolls outside it. A pinned column darkens its edge exactly while something is hidden under it, and all of it mirrors in a right-to-left document.
|
|
691
|
+
stickyHeader holds the head against the top of the scroller and stickyFooter holds the summary against the bottom of it, so the total is on screen at the first row and the last. stickyTo says which box that is: this table own scroller, or whatever scrolls outside it. Under stickyTo="page" the head stops at --slotted-table-sticky-offset, which a page binds to its own chrome; a table inside a scrolling box of its own sets that token to 0 on the box. A pinned column darkens its edge exactly while something is hidden under it, and all of it mirrors in a right-to-left document.
|
|
692
692
|
|
|
693
693
|
Example
|
|
694
694
|
|
package/dist/docs/table.json
CHANGED
|
@@ -107,6 +107,7 @@
|
|
|
107
107
|
"active",
|
|
108
108
|
"focus-visible",
|
|
109
109
|
"selected",
|
|
110
|
+
"current",
|
|
110
111
|
"expanded",
|
|
111
112
|
"disabled",
|
|
112
113
|
"loading"
|
|
@@ -139,6 +140,11 @@
|
|
|
139
140
|
"selection",
|
|
140
141
|
"expander",
|
|
141
142
|
"detail",
|
|
143
|
+
"group-row",
|
|
144
|
+
"group-header",
|
|
145
|
+
"group-content",
|
|
146
|
+
"group-start",
|
|
147
|
+
"group-end",
|
|
142
148
|
"empty",
|
|
143
149
|
"loader",
|
|
144
150
|
"footer"
|
|
@@ -148,7 +154,7 @@
|
|
|
148
154
|
"docs": {
|
|
149
155
|
"table": {
|
|
150
156
|
"imports": {
|
|
151
|
-
"source": "import {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableColumnActions,\n TableColumnHeader,\n TableContent,\n TableDefaultsProvider,\n TableDetail,\n TableEmpty,\n TableExpander,\n TableFooter,\n TableHead,\n TableLoader,\n TableRow,\n TableRowHeader,\n TableSelect,\n TableSelectAll,\n TableSort,\n TableSummary,\n} from '@slotted/react';"
|
|
157
|
+
"source": "import {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableColumnActions,\n TableColumnHeader,\n TableContent,\n TableDefaultsProvider,\n TableDetail,\n TableEmpty,\n TableExpander,\n TableFooter,\n TableGroupRow,\n TableHead,\n TableLoader,\n TableRow,\n TableRowHeader,\n TableSelect,\n TableSelectAll,\n TableSort,\n TableSummary,\n} from '@slotted/react';"
|
|
152
158
|
},
|
|
153
159
|
"anatomy": [
|
|
154
160
|
{
|
|
@@ -319,6 +325,36 @@
|
|
|
319
325
|
"required": false,
|
|
320
326
|
"purpose": "The open row detail, one cell spanning every column. It is not rendered while it is closed."
|
|
321
327
|
},
|
|
328
|
+
{
|
|
329
|
+
"part": "group-row",
|
|
330
|
+
"element": "tr",
|
|
331
|
+
"required": false,
|
|
332
|
+
"purpose": "The band that opens a group of rows: a day of a ledger with its net at the end. One header cell spans every column, and sticky holds the band under the header while its rows scroll past."
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"part": "group-header",
|
|
336
|
+
"element": "th",
|
|
337
|
+
"required": false,
|
|
338
|
+
"purpose": "The one cell of the band, scope=\"rowgroup\", spanning the columns of the table. It names the rows of its own tbody, so a grouped listing writes one body per group."
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"part": "group-content",
|
|
342
|
+
"element": "div",
|
|
343
|
+
"required": false,
|
|
344
|
+
"purpose": "The line inside the band that sets the name at the start and the end content at the end."
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"part": "group-start",
|
|
348
|
+
"element": "span",
|
|
349
|
+
"required": false,
|
|
350
|
+
"purpose": "The name of the group."
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"part": "group-end",
|
|
354
|
+
"element": "span",
|
|
355
|
+
"required": false,
|
|
356
|
+
"purpose": "The end of the band, from the end prop: the total or net of the group, in tabular figures."
|
|
357
|
+
},
|
|
322
358
|
{
|
|
323
359
|
"part": "empty",
|
|
324
360
|
"element": "td",
|
|
@@ -557,6 +593,34 @@
|
|
|
557
593
|
"appliesTo": "TableRow",
|
|
558
594
|
"description": "The record position in the whole set, written as aria-rowindex"
|
|
559
595
|
},
|
|
596
|
+
{
|
|
597
|
+
"name": "current",
|
|
598
|
+
"type": "boolean",
|
|
599
|
+
"defaultValue": "false",
|
|
600
|
+
"appliesTo": "TableRow",
|
|
601
|
+
"description": "The record open elsewhere on the page, a detail pane beside the table, written as aria-current"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "interactive",
|
|
605
|
+
"type": "boolean",
|
|
606
|
+
"defaultValue": "true with onAction",
|
|
607
|
+
"appliesTo": "TableRow",
|
|
608
|
+
"description": "Paints the row as a thing the pointer presses"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"name": "onAction",
|
|
612
|
+
"type": "(event) => void",
|
|
613
|
+
"defaultValue": "—",
|
|
614
|
+
"appliesTo": "TableRow",
|
|
615
|
+
"description": "A click anywhere in the row that lands on no control of its own; the first link or button in the row is the keyboard way in"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"name": "end",
|
|
619
|
+
"type": "ReactNode",
|
|
620
|
+
"defaultValue": "—",
|
|
621
|
+
"appliesTo": "TableGroupRow",
|
|
622
|
+
"description": "What stands at the end of the band: the total or net of the group"
|
|
623
|
+
},
|
|
560
624
|
{
|
|
561
625
|
"name": "column",
|
|
562
626
|
"type": "string",
|
|
@@ -599,6 +663,13 @@
|
|
|
599
663
|
"appliesTo": "the three cell parts and both selection cells",
|
|
600
664
|
"description": "Which edge the column is pinned to while the table scrolls past it"
|
|
601
665
|
},
|
|
666
|
+
{
|
|
667
|
+
"name": "sticky",
|
|
668
|
+
"type": "boolean",
|
|
669
|
+
"defaultValue": "false",
|
|
670
|
+
"appliesTo": "TableGroupRow",
|
|
671
|
+
"description": "Holds the band under the header while its rows scroll past"
|
|
672
|
+
},
|
|
602
673
|
{
|
|
603
674
|
"name": "stickyOffset",
|
|
604
675
|
"type": "string",
|
|
@@ -731,12 +802,16 @@
|
|
|
731
802
|
"--slotted-table-font-family",
|
|
732
803
|
"--slotted-table-font-size",
|
|
733
804
|
"--slotted-table-gap",
|
|
805
|
+
"--slotted-table-group-color",
|
|
806
|
+
"--slotted-table-group-sticky-offset",
|
|
807
|
+
"--slotted-table-group-surface",
|
|
734
808
|
"--slotted-table-header-surface",
|
|
735
809
|
"--slotted-table-header-surface-hover",
|
|
736
810
|
"--slotted-table-icon-size",
|
|
737
811
|
"--slotted-table-radius",
|
|
738
812
|
"--slotted-table-row-color-selected",
|
|
739
813
|
"--slotted-table-row-min-block-size",
|
|
814
|
+
"--slotted-table-row-surface-current",
|
|
740
815
|
"--slotted-table-row-surface-hover",
|
|
741
816
|
"--slotted-table-row-surface-selected",
|
|
742
817
|
"--slotted-table-row-surface-selected-hover",
|
|
@@ -754,6 +829,7 @@
|
|
|
754
829
|
"--slotted-tone-accent-subtle-hover",
|
|
755
830
|
"--slotted-tone-accent-surface",
|
|
756
831
|
"--slotted-tone-accent-text",
|
|
832
|
+
"--slotted-tone-secondary-subtle-active",
|
|
757
833
|
"--slotted-tone-secondary-subtle-hover",
|
|
758
834
|
"--slotted-z-index-sticky"
|
|
759
835
|
],
|
|
@@ -881,7 +957,7 @@
|
|
|
881
957
|
{
|
|
882
958
|
"id": "sticky",
|
|
883
959
|
"title": "A header, a summary and a column that stay",
|
|
884
|
-
"note": "stickyHeader holds the head against the top of the scroller and stickyFooter holds the summary against the bottom of it, so the total is on screen at the first row and the last. stickyTo says which box that is: this table own scroller, or whatever scrolls outside it. A pinned column darkens its edge exactly while something is hidden under it, and all of it mirrors in a right-to-left document.",
|
|
960
|
+
"note": "stickyHeader holds the head against the top of the scroller and stickyFooter holds the summary against the bottom of it, so the total is on screen at the first row and the last. stickyTo says which box that is: this table own scroller, or whatever scrolls outside it. Under stickyTo=\"page\" the head stops at --slotted-table-sticky-offset, which a page binds to its own chrome; a table inside a scrolling box of its own sets that token to 0 on the box. A pinned column darkens its edge exactly while something is hidden under it, and all of it mirrors in a right-to-left document.",
|
|
885
961
|
"language": "tsx",
|
|
886
962
|
"source": "import {\n Table,\n TableBody,\n TableCell,\n TableColumnHeader,\n TableContent,\n TableHead,\n TableRow,\n TableRowHeader,\n TableSummary,\n} from '@slotted/react/table';\n\nconst USD = new Intl.NumberFormat('en-US', { currency: 'USD', style: 'currency' });\n\nconst CUSTOMERS = [\n 'Alfreds Futterkiste',\n \"Bon app'\",\n 'Ernst Handel',\n 'Folk och fä HB',\n 'Hanari Carnes',\n 'Island Trading',\n 'QUICK-Stop',\n 'Wartian Herkku',\n];\nconst WAREHOUSES = ['Reno', 'Columbus', 'Savannah'];\n\nconst ORDERS = Array.from({ length: 30 }, (_, index) => ({\n id: `SO-${10400 + index}`,\n customer: CUSTOMERS[index % CUSTOMERS.length],\n warehouse: WAREHOUSES[index % WAREHOUSES.length],\n total: 180 + ((index * 397) % 2400),\n}));\n\nconst TOTAL = ORDERS.reduce((sum, order) => sum + order.total, 0);\n\nexport default function TableSticky() {\n return (\n <Table columns={4} stickyFooter stickyHeader>\n <TableContent\n aria-label=\"September orders\"\n scrollProps={{ style: { maxBlockSize: '20rem' } }}\n >\n <TableHead>\n <TableRow>\n <TableColumnHeader>Order</TableColumnHeader>\n <TableColumnHeader>Customer</TableColumnHeader>\n <TableColumnHeader>Warehouse</TableColumnHeader>\n <TableColumnHeader numeric>Total</TableColumnHeader>\n </TableRow>\n </TableHead>\n <TableBody>\n {ORDERS.map((order) => (\n <TableRow key={order.id} value={order.id}>\n <TableRowHeader text=\"nowrap\">{order.id}</TableRowHeader>\n <TableCell>{order.customer}</TableCell>\n <TableCell>{order.warehouse}</TableCell>\n <TableCell numeric>{USD.format(order.total)}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n <TableSummary>\n <TableRow>\n <TableCell colSpan={3}>{ORDERS.length} orders</TableCell>\n <TableCell numeric>{USD.format(TOTAL)}</TableCell>\n </TableRow>\n </TableSummary>\n </TableContent>\n </Table>\n );\n}\n",
|
|
887
963
|
"verdict": "example"
|
package/dist/docs/table.md
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
TableEmpty,
|
|
20
20
|
TableExpander,
|
|
21
21
|
TableFooter,
|
|
22
|
+
TableGroupRow,
|
|
22
23
|
TableHead,
|
|
23
24
|
TableLoader,
|
|
24
25
|
TableRow,
|
|
@@ -160,6 +161,11 @@ export default function TableBasic() {
|
|
|
160
161
|
| `selection` | th or td | no |
|
|
161
162
|
| `expander` | button | no |
|
|
162
163
|
| `detail` | tr | no |
|
|
164
|
+
| `group-row` | tr | no |
|
|
165
|
+
| `group-header` | th | no |
|
|
166
|
+
| `group-content` | div | no |
|
|
167
|
+
| `group-start` | span | no |
|
|
168
|
+
| `group-end` | span | no |
|
|
163
169
|
| `empty` | td | no |
|
|
164
170
|
| `loader` | tbody | no |
|
|
165
171
|
|
|
@@ -199,12 +205,17 @@ export default function TableBasic() {
|
|
|
199
205
|
| `value` | `string` | — | TableRow | The record key the selection and the expansion are held by |
|
|
200
206
|
| `disabled` | `boolean` | false | TableRow | A record the reader may not choose; it leaves the set the header covers |
|
|
201
207
|
| `rowIndex` | `number` | — | TableRow | The record position in the whole set, written as aria-rowindex |
|
|
208
|
+
| `current` | `boolean` | false | TableRow | The record open elsewhere on the page, a detail pane beside the table, written as aria-current |
|
|
209
|
+
| `interactive` | `boolean` | true with onAction | TableRow | Paints the row as a thing the pointer presses |
|
|
210
|
+
| `onAction` | `(event) => void` | — | TableRow | A click anywhere in the row that lands on no control of its own; the first link or button in the row is the keyboard way in |
|
|
211
|
+
| `end` | `ReactNode` | — | TableGroupRow | What stands at the end of the band: the total or net of the group |
|
|
202
212
|
| `column` | `string` | — | TableColumnHeader, TableSort | The column key the sort descriptor names |
|
|
203
213
|
| `align` | `'start' \| 'center' \| 'end'` | start | the three cell parts | Which edge the value stands on, resolved logically |
|
|
204
214
|
| `numeric` | `boolean` | false | the three cell parts | Tabular figures, and the end edge unless align says otherwise |
|
|
205
215
|
| `blockAlign` | `'start' \| 'center' \| 'end'` | center | the three cell parts and both selection cells | Where this cell content sits in its row, overriding the table own cellAlign |
|
|
206
216
|
| `text` | `'wrap' \| 'truncate' \| 'nowrap'` | wrap | the three cell parts | What a value longer than its column does |
|
|
207
217
|
| `sticky` | `'start' \| 'end'` | start | the three cell parts and both selection cells | Which edge the column is pinned to while the table scrolls past it |
|
|
218
|
+
| `sticky` | `boolean` | false | TableGroupRow | Holds the band under the header while its rows scroll past |
|
|
208
219
|
| `stickyOffset` | `string` | 0 | the three cell parts and both selection cells | Where the pinned column stops, as a CSS length. Two columns pinned to the same edge need the second to state how wide the first is — beside a selection column that is --slotted-table-selection-size, which is 3rem. |
|
|
209
220
|
| `colSpan` | `number` | — | TableDetail, TableEmpty | How many columns the part spans, defaulting to the table own count |
|
|
210
221
|
| `render` | `(props) => ReactNode` | — | Table, TableRow, TableSort | Substitutes the rendered element, keeping every data attribute |
|
|
@@ -254,7 +265,7 @@ export default function TableBasic() {
|
|
|
254
265
|
|
|
255
266
|
## Tokens
|
|
256
267
|
|
|
257
|
-
`--slotted-border-strong`, `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-gap-md`, `--slotted-control-height-md`, `--slotted-control-icon-size-md`, `--slotted-control-padding-inline-md`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-font-weight-semibold`, `--slotted-ground`, `--slotted-line-height-md`, `--slotted-radius-md`, `--slotted-radius-sm`, `--slotted-shadow-xs`, `--slotted-space-2`, `--slotted-space-5`, `--slotted-space-9`, `--slotted-surface`, `--slotted-table-border-color`, `--slotted-table-border-color-strong`, `--slotted-table-border-width`, `--slotted-table-cell-padding-block`, `--slotted-table-cell-padding-inline`, `--slotted-table-color`, `--slotted-table-color-muted`, `--slotted-table-column-actions-size`, `--slotted-table-control-radius`, `--slotted-table-font-family`, `--slotted-table-font-size`, `--slotted-table-gap`, `--slotted-table-header-surface`, `--slotted-table-header-surface-hover`, `--slotted-table-icon-size`, `--slotted-table-radius`, `--slotted-table-row-color-selected`, `--slotted-table-row-min-block-size`, `--slotted-table-row-surface-hover`, `--slotted-table-row-surface-selected`, `--slotted-table-row-surface-selected-hover`, `--slotted-table-row-surface-stripe`, `--slotted-table-selection-size`, `--slotted-table-shadow`, `--slotted-table-sticky-inset`, `--slotted-table-sticky-offset`, `--slotted-table-sticky-offset-end`, `--slotted-table-surface`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-subtle-hover`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-sticky`
|
|
268
|
+
`--slotted-border-strong`, `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-gap-md`, `--slotted-control-height-md`, `--slotted-control-icon-size-md`, `--slotted-control-padding-inline-md`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-font-weight-semibold`, `--slotted-ground`, `--slotted-line-height-md`, `--slotted-radius-md`, `--slotted-radius-sm`, `--slotted-shadow-xs`, `--slotted-space-2`, `--slotted-space-5`, `--slotted-space-9`, `--slotted-surface`, `--slotted-table-border-color`, `--slotted-table-border-color-strong`, `--slotted-table-border-width`, `--slotted-table-cell-padding-block`, `--slotted-table-cell-padding-inline`, `--slotted-table-color`, `--slotted-table-color-muted`, `--slotted-table-column-actions-size`, `--slotted-table-control-radius`, `--slotted-table-font-family`, `--slotted-table-font-size`, `--slotted-table-gap`, `--slotted-table-group-color`, `--slotted-table-group-sticky-offset`, `--slotted-table-group-surface`, `--slotted-table-header-surface`, `--slotted-table-header-surface-hover`, `--slotted-table-icon-size`, `--slotted-table-radius`, `--slotted-table-row-color-selected`, `--slotted-table-row-min-block-size`, `--slotted-table-row-surface-current`, `--slotted-table-row-surface-hover`, `--slotted-table-row-surface-selected`, `--slotted-table-row-surface-selected-hover`, `--slotted-table-row-surface-stripe`, `--slotted-table-selection-size`, `--slotted-table-shadow`, `--slotted-table-sticky-inset`, `--slotted-table-sticky-offset`, `--slotted-table-sticky-offset-end`, `--slotted-table-surface`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-subtle-hover`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-sticky`
|
|
258
269
|
|
|
259
270
|
## Examples
|
|
260
271
|
|
|
@@ -377,7 +377,7 @@ export default function TabsOverflow() {
|
|
|
377
377
|
|
|
378
378
|
### A view a router can deep-link to
|
|
379
379
|
|
|
380
|
-
href makes the control an anchor, so the destination is real: a plain click selects, and a click carrying a modifier key is left to the browser, which opens the view in a new browser tab.
|
|
380
|
+
href makes the control an anchor, so the destination is real: a plain click selects, and a click carrying a modifier key is left to the browser, which opens the view in a new browser tab. usePressSelection paints the press before the route renders: the tab is selected at once, and the navigation runs after the frame that shows it.
|
|
381
381
|
|
|
382
382
|
Example
|
|
383
383
|
|
package/dist/docs/tabs.json
CHANGED
|
@@ -528,7 +528,7 @@
|
|
|
528
528
|
{
|
|
529
529
|
"id": "links",
|
|
530
530
|
"title": "A view a router can deep-link to",
|
|
531
|
-
"note": "href makes the control an anchor, so the destination is real: a plain click selects, and a click carrying a modifier key is left to the browser, which opens the view in a new browser tab.",
|
|
531
|
+
"note": "href makes the control an anchor, so the destination is real: a plain click selects, and a click carrying a modifier key is left to the browser, which opens the view in a new browser tab. usePressSelection paints the press before the route renders: the tab is selected at once, and the navigation runs after the frame that shows it.",
|
|
532
532
|
"language": "tsx",
|
|
533
533
|
"source": "import { Tab, TabList, TabPanel, Tabs } from '@slotted/react/tabs';\nimport { Text } from '@slotted/react/typography';\n\nconst VIEWS = [\n { value: 'summary', label: 'Summary', panel: 'Harbor & Pine, $1,240.00, Net 30.' },\n { value: 'items', label: 'Items', panel: '3 lines: shelves, brackets and an assembly kit.' },\n { value: 'shipments', label: 'Shipments', panel: 'Atlas Freight, expected September 12.' },\n];\n\nexport default function TabsLinks() {\n return (\n <Tabs defaultValue=\"summary\">\n <TabList aria-label=\"Order SO-1187\">\n {VIEWS.map((view) => (\n <Tab key={view.value} href={`#order-${view.value}`} value={view.value}>\n {view.label}\n </Tab>\n ))}\n </TabList>\n {VIEWS.map((view) => (\n <TabPanel key={view.value} value={view.value}>\n <Text size=\"sm\">{view.panel}</Text>\n </TabPanel>\n ))}\n </Tabs>\n );\n}\n",
|
|
534
534
|
"verdict": "example"
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
],
|
|
15
15
|
"variant": [
|
|
16
16
|
"outline",
|
|
17
|
-
"ghost"
|
|
17
|
+
"ghost",
|
|
18
|
+
"chips"
|
|
18
19
|
],
|
|
19
20
|
"orientation": [
|
|
20
21
|
"horizontal",
|
|
@@ -131,10 +132,10 @@
|
|
|
131
132
|
},
|
|
132
133
|
{
|
|
133
134
|
"name": "variant",
|
|
134
|
-
"type": "'outline' | 'ghost'",
|
|
135
|
+
"type": "'outline' | 'ghost' | 'chips'",
|
|
135
136
|
"defaultValue": "outline",
|
|
136
137
|
"appliesTo": "ToggleGroup",
|
|
137
|
-
"description": "Whether the bar draws its own edge. There is no tone axis: “on” is one colour across the system, and a bar that wants the whole palette is button-group around ToggleButtons"
|
|
138
|
+
"description": "Whether the bar draws its own edge, or draws its items as chips: separate rounded items that wrap, never joined, the pressed one in the neutral tone ink. There is no tone axis: “on” is one colour across the system, and a bar that wants the whole palette is button-group around ToggleButtons"
|
|
138
139
|
},
|
|
139
140
|
{
|
|
140
141
|
"name": "orientation",
|
|
@@ -292,9 +293,16 @@
|
|
|
292
293
|
"--slotted-focus-ring-color",
|
|
293
294
|
"--slotted-focus-ring-offset",
|
|
294
295
|
"--slotted-focus-ring-width",
|
|
296
|
+
"--slotted-font-weight-medium",
|
|
297
|
+
"--slotted-radius-full",
|
|
298
|
+
"--slotted-space-3",
|
|
295
299
|
"--slotted-text",
|
|
296
300
|
"--slotted-toggle-group-active-background",
|
|
297
301
|
"--slotted-toggle-group-border-color",
|
|
302
|
+
"--slotted-toggle-group-chips-gap",
|
|
303
|
+
"--slotted-toggle-group-chips-pressed-background",
|
|
304
|
+
"--slotted-toggle-group-chips-pressed-color",
|
|
305
|
+
"--slotted-toggle-group-chips-radius",
|
|
298
306
|
"--slotted-toggle-group-color",
|
|
299
307
|
"--slotted-toggle-group-disabled-border-color",
|
|
300
308
|
"--slotted-toggle-group-disabled-color",
|
|
@@ -310,6 +318,9 @@
|
|
|
310
318
|
"--slotted-tone-accent-subtle-active",
|
|
311
319
|
"--slotted-tone-accent-subtle-hover",
|
|
312
320
|
"--slotted-tone-accent-text",
|
|
321
|
+
"--slotted-tone-neutral-on-solid",
|
|
322
|
+
"--slotted-tone-neutral-solid",
|
|
323
|
+
"--slotted-tone-neutral-solid-hover",
|
|
313
324
|
"--slotted-tone-secondary-subtle-active",
|
|
314
325
|
"--slotted-tone-secondary-subtle-hover"
|
|
315
326
|
],
|
|
@@ -39,7 +39,7 @@ Excerpt — not a complete module
|
|
|
39
39
|
| `multiple` | `boolean` | false | ToggleGroup | Whether more than one item may be on at a time. The value stays an array either way, so both bindings hold one shape and a single-select consumer writes an array of one |
|
|
40
40
|
| `deselectable` | `boolean` | true | ToggleGroup | Whether the last item on may be turned off. Ignored while multiple is true, where a set may always empty |
|
|
41
41
|
| `size` | `'sm' \| 'md' \| 'lg'` | md | ToggleGroup | The control step the bar and every item sit at. It reads the control scale, so the bar is as tall as the field beside it |
|
|
42
|
-
| `variant` | `'outline' \| 'ghost'` | outline | ToggleGroup | Whether the bar draws its own edge. There is no tone axis: “on” is one colour across the system, and a bar that wants the whole palette is button-group around ToggleButtons |
|
|
42
|
+
| `variant` | `'outline' \| 'ghost' \| 'chips'` | outline | ToggleGroup | Whether the bar draws its own edge, or draws its items as chips: separate rounded items that wrap, never joined, the pressed one in the neutral tone ink. There is no tone axis: “on” is one colour across the system, and a bar that wants the whole palette is button-group around ToggleButtons |
|
|
43
43
|
| `orientation` | `'horizontal' \| 'vertical'` | horizontal | ToggleGroup | How the items flow, and which pair of arrows moves focus. A vertical group writes aria-orientation |
|
|
44
44
|
| `attached` | `boolean` | true | ToggleGroup | Whether the items are joined into one bar or spaced apart. A joined bar overlaps its items by one border so a shared column holds one line |
|
|
45
45
|
| `fullWidth` | `boolean` | false | ToggleGroup | Whether the items share the whole line. Left alone the bar is as wide as its labels |
|
|
@@ -67,7 +67,7 @@ Excerpt — not a complete module
|
|
|
67
67
|
| Axis | Values | Default |
|
|
68
68
|
| --- | --- | --- |
|
|
69
69
|
| `size` | `sm`, `md`, `lg` | `md` |
|
|
70
|
-
| `variant` | `outline`, `ghost` | `outline` |
|
|
70
|
+
| `variant` | `outline`, `ghost`, `chips` | `outline` |
|
|
71
71
|
| `orientation` | `horizontal`, `vertical` | `horizontal` |
|
|
72
72
|
|
|
73
73
|
## Rules
|
|
@@ -81,7 +81,7 @@ Excerpt — not a complete module
|
|
|
81
81
|
|
|
82
82
|
## Tokens
|
|
83
83
|
|
|
84
|
-
`--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-font-weight`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-letter-spacing`, `--slotted-control-line-height`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-text`, `--slotted-toggle-group-active-background`, `--slotted-toggle-group-border-color`, `--slotted-toggle-group-color`, `--slotted-toggle-group-disabled-border-color`, `--slotted-toggle-group-disabled-color`, `--slotted-toggle-group-disabled-pressed-background`, `--slotted-toggle-group-hover-background`, `--slotted-toggle-group-pressed-background`, `--slotted-toggle-group-pressed-border-color`, `--slotted-toggle-group-pressed-color`, `--slotted-toggle-group-pressed-hover-background`, `--slotted-toggle-group-radius`, `--slotted-toggle-group-shadow`, `--slotted-tone-accent-border`, `--slotted-tone-accent-subtle-active`, `--slotted-tone-accent-subtle-hover`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
|
|
84
|
+
`--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-font-weight`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-letter-spacing`, `--slotted-control-line-height`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-weight-medium`, `--slotted-radius-full`, `--slotted-space-3`, `--slotted-text`, `--slotted-toggle-group-active-background`, `--slotted-toggle-group-border-color`, `--slotted-toggle-group-chips-gap`, `--slotted-toggle-group-chips-pressed-background`, `--slotted-toggle-group-chips-pressed-color`, `--slotted-toggle-group-chips-radius`, `--slotted-toggle-group-color`, `--slotted-toggle-group-disabled-border-color`, `--slotted-toggle-group-disabled-color`, `--slotted-toggle-group-disabled-pressed-background`, `--slotted-toggle-group-hover-background`, `--slotted-toggle-group-pressed-background`, `--slotted-toggle-group-pressed-border-color`, `--slotted-toggle-group-pressed-color`, `--slotted-toggle-group-pressed-hover-background`, `--slotted-toggle-group-radius`, `--slotted-toggle-group-shadow`, `--slotted-tone-accent-border`, `--slotted-tone-accent-subtle-active`, `--slotted-tone-accent-subtle-hover`, `--slotted-tone-accent-text`, `--slotted-tone-neutral-on-solid`, `--slotted-tone-neutral-solid`, `--slotted-tone-neutral-solid-hover`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
|
|
85
85
|
|
|
86
86
|
## Examples
|
|
87
87
|
|
package/dist/docs/toggle.json
CHANGED
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
],
|
|
15
15
|
"variant": [
|
|
16
16
|
"outline",
|
|
17
|
-
"ghost"
|
|
17
|
+
"ghost",
|
|
18
|
+
"chips"
|
|
18
19
|
]
|
|
19
20
|
},
|
|
20
21
|
"members": {
|
|
@@ -99,10 +100,10 @@
|
|
|
99
100
|
},
|
|
100
101
|
{
|
|
101
102
|
"name": "variant",
|
|
102
|
-
"type": "'outline' | 'ghost'",
|
|
103
|
+
"type": "'outline' | 'ghost' | 'chips'",
|
|
103
104
|
"defaultValue": "outline",
|
|
104
105
|
"appliesTo": "Toggle",
|
|
105
|
-
"description": "Whether the control draws its own edge before it is on. There is no tone axis: a mode is one colour when it is on, and an action that persists in one of five tones is button’s ToggleButton"
|
|
106
|
+
"description": "Whether the control draws its own edge before it is on, or is a chip pressed in the neutral tone ink. There is no tone axis: a mode is one colour when it is on, and an action that persists in one of five tones is button’s ToggleButton"
|
|
106
107
|
},
|
|
107
108
|
{
|
|
108
109
|
"name": "icon",
|
|
@@ -217,9 +218,14 @@
|
|
|
217
218
|
"--slotted-focus-ring-color",
|
|
218
219
|
"--slotted-focus-ring-offset",
|
|
219
220
|
"--slotted-focus-ring-width",
|
|
221
|
+
"--slotted-font-weight-medium",
|
|
222
|
+
"--slotted-radius-full",
|
|
220
223
|
"--slotted-text",
|
|
221
224
|
"--slotted-toggle-active-background",
|
|
222
225
|
"--slotted-toggle-border-color",
|
|
226
|
+
"--slotted-toggle-chips-pressed-background",
|
|
227
|
+
"--slotted-toggle-chips-pressed-color",
|
|
228
|
+
"--slotted-toggle-chips-radius",
|
|
223
229
|
"--slotted-toggle-color",
|
|
224
230
|
"--slotted-toggle-disabled-border-color",
|
|
225
231
|
"--slotted-toggle-disabled-color",
|
|
@@ -235,6 +241,9 @@
|
|
|
235
241
|
"--slotted-tone-accent-subtle-active",
|
|
236
242
|
"--slotted-tone-accent-subtle-hover",
|
|
237
243
|
"--slotted-tone-accent-text",
|
|
244
|
+
"--slotted-tone-neutral-on-solid",
|
|
245
|
+
"--slotted-tone-neutral-solid",
|
|
246
|
+
"--slotted-tone-neutral-solid-hover",
|
|
238
247
|
"--slotted-tone-secondary-subtle-active",
|
|
239
248
|
"--slotted-tone-secondary-subtle-hover"
|
|
240
249
|
],
|