@slotted/react 0.1.0-beta.1 → 0.1.0-beta.11
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/README.md +23 -2
- package/dist/accordion-n5D6mcmS.js +144 -0
- package/dist/accordion.js +1 -1
- package/dist/action-bar-z2DPc1Wy.js +285 -0
- package/dist/action-bar.js +1 -1
- package/dist/action-sheet-BnedGewu.js +360 -0
- package/dist/action-sheet.js +1 -1
- package/dist/alert-BTAXJ69M.js +163 -0
- package/dist/alert.js +1 -1
- package/dist/app-shell-Cb_kDBeV.js +904 -0
- package/dist/app-shell.js +1 -1
- package/dist/aspect-ratio-CLxOFJVH.js +41 -0
- package/dist/aspect-ratio.js +1 -1
- package/dist/attachment-D1O4qS8H.js +305 -0
- package/dist/attachment.js +1 -1
- package/dist/avatar-C1mYlU05.js +104 -0
- package/dist/avatar-group-DhbHJlMx.js +50 -0
- package/dist/avatar-group.js +1 -1
- package/dist/avatar.js +1 -1
- package/dist/badge-pgYVOnZO.js +98 -0
- package/dist/badge.js +1 -1
- package/dist/bin/slotted-agent-docs.mjs +297 -0
- package/dist/breadcrumb-CnFjxxI2.js +222 -0
- package/dist/breadcrumb.js +1 -1
- package/dist/button-D31perSu.js +100 -0
- package/dist/button-group-C-m4aSqu.js +51 -0
- package/dist/button-group.js +1 -1
- package/dist/button.js +2 -2
- package/dist/calendar-DZyC1gAT.js +457 -0
- package/dist/calendar.js +1 -1
- package/dist/card-DRmq8_5e.js +103 -0
- package/dist/card.js +1 -1
- package/dist/carousel-Dso3gcYd.js +499 -0
- package/dist/carousel.js +1 -1
- package/dist/cascader-BbajBwsX.js +1157 -0
- package/dist/cascader.js +1 -1
- package/dist/{chart-BNzfIfQe.js → chart-Bb6ctahn.js} +333 -271
- package/dist/chart.js +1 -1
- package/dist/checkbox-C_8GVtjD.js +144 -0
- package/dist/checkbox-group-DXCcusol.js +109 -0
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/code-block-C4mtsROE.js +282 -0
- package/dist/code-block.js +1 -1
- package/dist/collapsible-B_UjYE2f.js +222 -0
- package/dist/collapsible.js +1 -1
- package/dist/color-picker-JZPnPb7s.js +506 -0
- package/dist/color-picker.js +1 -1
- package/dist/column-manager-BDUj-WIs.js +586 -0
- package/dist/column-manager.js +1 -1
- package/dist/combobox-Dn69QwGX.js +904 -0
- package/dist/combobox.js +1 -1
- package/dist/command-palette-Dh1HKz_F.js +744 -0
- package/dist/command-palette.js +1 -1
- package/dist/container-WoYiHo50.js +47 -0
- package/dist/container.js +1 -1
- package/dist/context-menu-uJjEmAN3.js +151 -0
- package/dist/context-menu.js +1 -1
- package/dist/currency-field-lHcrNJ7X.js +469 -0
- package/dist/currency-field.js +1 -1
- package/dist/dashboard-grid-z-SOm9H0.js +1048 -0
- package/dist/dashboard-grid.js +1 -1
- package/dist/data-grid-DQCvXMJA.js +3856 -0
- package/dist/data-grid.js +1 -1
- package/dist/data-list-BgdkA3bD.js +587 -0
- package/dist/data-list.js +1 -1
- package/dist/date-field-B2lQzE3p.js +299 -0
- package/dist/date-field.js +1 -1
- package/dist/date-picker-DpTRb-Y1.js +316 -0
- package/dist/date-picker.js +1 -1
- package/dist/date-range-picker-CBUPJep5.js +501 -0
- package/dist/date-range-picker.js +1 -1
- package/dist/datetime-field-BZ44uJ_B.js +424 -0
- package/dist/datetime-field.js +1 -1
- package/dist/datetime-picker-BK_bV3Yr.js +662 -0
- package/dist/datetime-picker.js +1 -1
- package/dist/datetime-range-picker-ChdbRgzQ.js +1029 -0
- package/dist/datetime-range-picker.js +1 -1
- package/dist/description-list-CYlfHDwx.js +240 -0
- package/dist/description-list.js +1 -1
- package/dist/{detail-panel-qOJiNuzr.js → detail-panel-DimjnPI8.js} +121 -113
- package/dist/detail-panel.js +1 -1
- package/dist/dialog-BB5MdJex.js +537 -0
- package/dist/dialog.js +1 -1
- package/dist/divider-ryFeK0Pi.js +35 -0
- package/dist/divider.js +1 -1
- package/dist/docs/AGENTS.snippet.md +12 -0
- package/dist/docs/action-bar.json +4 -4
- package/dist/docs/action-bar.md +3 -3
- package/dist/docs/alert.json +7 -1
- package/dist/docs/alert.md +3 -3
- package/dist/docs/app-shell.examples.md +1 -1
- package/dist/docs/app-shell.json +5 -5
- package/dist/docs/app-shell.md +2 -2
- package/dist/docs/avatar.json +22 -1
- package/dist/docs/avatar.md +5 -3
- package/dist/docs/badge.json +7 -1
- package/dist/docs/badge.md +3 -3
- package/dist/docs/button-group.json +2 -0
- package/dist/docs/button-group.md +1 -1
- package/dist/docs/button.json +51 -11
- package/dist/docs/button.md +10 -6
- package/dist/docs/calendar.json +8 -1
- package/dist/docs/calendar.md +3 -2
- package/dist/docs/cascader.json +1 -0
- package/dist/docs/cascader.md +1 -1
- package/dist/docs/chart.examples.md +1 -1
- package/dist/docs/chart.json +10 -1
- package/dist/docs/chart.md +3 -2
- package/dist/docs/code-block.json +93 -93
- package/dist/docs/code-block.md +71 -71
- package/dist/docs/collapsible.json +1 -1
- package/dist/docs/collapsible.md +1 -1
- package/dist/docs/combobox.json +1 -0
- package/dist/docs/combobox.md +1 -1
- package/dist/docs/command-palette.json +1 -0
- package/dist/docs/command-palette.md +1 -1
- package/dist/docs/currency-field.json +40 -1
- package/dist/docs/currency-field.md +5 -1
- package/dist/docs/data-grid.examples.md +10 -4
- package/dist/docs/data-grid.json +48 -9
- package/dist/docs/data-grid.md +4 -1
- package/dist/docs/data-grid.props.md +7 -4
- package/dist/docs/data-list.json +2 -1
- package/dist/docs/data-list.md +1 -1
- package/dist/docs/date-field.json +9 -1
- package/dist/docs/date-field.md +3 -2
- package/dist/docs/date-picker.examples.md +29 -0
- package/dist/docs/date-picker.json +16 -1
- package/dist/docs/date-picker.md +2 -1
- package/dist/docs/datetime-field.json +1 -0
- package/dist/docs/datetime-field.md +1 -1
- package/dist/docs/detail-panel.json +4 -2
- package/dist/docs/detail-panel.md +15 -5
- package/dist/docs/dialog.examples.md +144 -116
- package/dist/docs/dialog.json +36 -11
- package/dist/docs/dialog.md +5 -3
- package/dist/docs/drawer.json +11 -4
- package/dist/docs/drawer.md +4 -3
- package/dist/docs/entity-picker.json +18 -3
- package/dist/docs/entity-picker.md +11 -4
- package/dist/docs/event-calendar.json +7 -0
- package/dist/docs/event-calendar.md +3 -2
- package/dist/docs/filter-bar.json +115 -115
- package/dist/docs/filter-bar.md +78 -78
- package/dist/docs/form.json +2 -1
- package/dist/docs/form.md +1 -1
- package/dist/docs/guidelines/README.md +27 -0
- package/dist/docs/guidelines/async-feedback.md +129 -0
- package/dist/docs/guidelines/browsing.md +74 -0
- package/dist/docs/guidelines/builders.md +97 -0
- package/dist/docs/guidelines/composition.md +143 -0
- package/dist/docs/guidelines/conversations.md +59 -0
- package/dist/docs/guidelines/errors-and-conflicts.md +71 -0
- package/dist/docs/guidelines/forms.md +202 -0
- package/dist/docs/guidelines/index.md +130 -0
- package/dist/docs/guidelines/layout-alignment.md +105 -0
- package/dist/docs/guidelines/ledgers.md +45 -0
- package/dist/docs/guidelines/list-pages.md +206 -0
- package/dist/docs/guidelines/overviews.md +76 -0
- package/dist/docs/guidelines/own-elements.md +115 -0
- package/dist/docs/guidelines/reading-permissions.md +55 -0
- package/dist/docs/guidelines/record-pages.md +178 -0
- package/dist/docs/guidelines/reports.md +123 -0
- package/dist/docs/guidelines/shell-composition.md +94 -0
- package/dist/docs/guidelines/workspaces.md +46 -0
- package/dist/docs/icon.json +3 -1
- package/dist/docs/icon.md +3 -3
- package/dist/docs/index.md +12 -0
- package/dist/docs/inline-message.json +15 -3
- package/dist/docs/inline-message.md +5 -3
- package/dist/docs/list-item.json +9 -1
- package/dist/docs/list-item.md +3 -3
- package/dist/docs/list.json +26 -1
- package/dist/docs/list.md +4 -1
- package/dist/docs/markdown.json +75 -75
- package/dist/docs/markdown.md +63 -63
- package/dist/docs/menu.json +12 -0
- package/dist/docs/menu.md +2 -0
- package/dist/docs/message.json +7 -1
- package/dist/docs/message.md +3 -3
- package/dist/docs/multi-select.json +1 -0
- package/dist/docs/multi-select.md +1 -1
- package/dist/docs/notification-center.json +4 -0
- package/dist/docs/notification-center.md +2 -2
- package/dist/docs/number-field.json +1 -0
- package/dist/docs/number-field.md +1 -1
- package/dist/docs/otp-input.json +1 -0
- package/dist/docs/otp-input.md +1 -1
- package/dist/docs/page-header.json +21 -4
- package/dist/docs/page-header.md +6 -4
- package/dist/docs/page.json +2 -0
- package/dist/docs/page.md +2 -1
- package/dist/docs/popover.json +1 -1
- package/dist/docs/progress-indicator.json +4 -3
- package/dist/docs/progress-indicator.md +4 -4
- package/dist/docs/prompt-composer.json +41 -1
- package/dist/docs/prompt-composer.md +5 -1
- package/dist/docs/rating.json +5 -3
- package/dist/docs/rating.md +6 -6
- package/dist/docs/section.json +27 -15
- package/dist/docs/section.md +15 -9
- package/dist/docs/segmented-control.json +36 -12
- package/dist/docs/segmented-control.md +17 -1
- package/dist/docs/select.json +2 -1
- package/dist/docs/select.md +2 -2
- package/dist/docs/side-navigation.json +3 -2
- package/dist/docs/side-navigation.md +20 -5
- package/dist/docs/skills/build-own-element/SKILL.md +90 -0
- package/dist/docs/skills/compose-screen/SKILL.md +103 -0
- package/dist/docs/skills/index.md +9 -0
- package/dist/docs/skills/review-screen/SKILL.md +79 -0
- package/dist/docs/skills/theme-app/SKILL.md +98 -0
- package/dist/docs/skills/waiting-states/SKILL.md +143 -0
- package/dist/docs/sparkline.json +5 -2
- package/dist/docs/sparkline.md +4 -4
- package/dist/docs/split-button.json +4 -1
- package/dist/docs/split-button.md +3 -3
- package/dist/docs/stat-card.json +5 -1
- package/dist/docs/stat-card.md +3 -3
- package/dist/docs/table.examples.md +14 -18
- package/dist/docs/table.json +94 -5
- package/dist/docs/table.md +14 -1
- package/dist/docs/tabs.examples.md +1 -1
- package/dist/docs/tabs.json +27 -9
- package/dist/docs/tabs.md +6 -3
- package/dist/docs/tag.json +14 -4
- package/dist/docs/tag.md +6 -6
- package/dist/docs/tags-input.json +29 -2
- package/dist/docs/tags-input.md +4 -1
- package/dist/docs/text-field.json +2 -1
- package/dist/docs/text-field.md +2 -2
- package/dist/docs/textarea.examples.md +504 -0
- package/dist/docs/textarea.json +1 -0
- package/dist/docs/textarea.md +2 -498
- package/dist/docs/time-field.json +1 -0
- package/dist/docs/time-field.md +1 -1
- package/dist/docs/timeline.json +136 -130
- package/dist/docs/timeline.md +122 -122
- package/dist/docs/toast.json +8 -1
- package/dist/docs/toast.md +3 -3
- 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 +467 -0
- package/dist/docs/toolbar.json +1 -1
- package/dist/docs/toolbar.md +1 -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/docs/typography.json +4 -2
- package/dist/docs/typography.md +5 -5
- package/dist/drawer-fyPyxnYQ.js +782 -0
- package/dist/drawer.js +1 -1
- package/dist/entity-picker-ClyhBTyK.js +1283 -0
- package/dist/entity-picker.js +2 -2
- package/dist/{event-calendar-BFdeGfC-.js → event-calendar-COgC24UG.js} +479 -409
- package/dist/event-calendar.js +1 -1
- package/dist/field-group-Bj-EbPIU.js +138 -0
- package/dist/field-group.js +1 -1
- package/dist/field-tnEZiRLg.js +367 -0
- package/dist/field.js +1 -1
- package/dist/filter-bar-BRuCz79-.js +1342 -0
- package/dist/filter-bar.js +1 -1
- package/dist/{form-vTCQhZM-.js → form-DEcJ7tHf.js} +97 -88
- package/dist/form.js +1 -1
- package/dist/fullscreen-BwweNj3-.js +190 -0
- package/dist/fullscreen.js +1 -1
- package/dist/grid-l7xi6DUg.js +26 -0
- package/dist/grid.js +1 -1
- package/dist/highlight-9lRPIZ9O.js +59 -0
- package/dist/highlight.js +1 -1
- package/dist/hover-card-BWcU37Yp.js +215 -0
- package/dist/hover-card.js +1 -1
- package/dist/{i18n-DpW8lqJ1.js → i18n-D7xXDd8-.js} +11 -4
- package/dist/i18n.js +1 -1
- package/dist/icon-DjqSEQ-o.js +75 -0
- package/dist/icon-button-DbSZKGT4.js +224 -0
- package/dist/icon.js +1 -1
- package/dist/{image-DpDFrrXL.js → image-Ajqo38Uz.js} +24 -20
- package/dist/image.js +1 -1
- package/dist/import-export-center-CYf0Qxl_.js +867 -0
- package/dist/import-export-center.js +1 -1
- package/dist/index.js +128 -127
- package/dist/inline-CqF8iT4m.js +17 -0
- package/dist/inline-message-DM7mf2cM.js +119 -0
- package/dist/inline-message.js +2 -2
- package/dist/inline.js +1 -1
- package/dist/kbd-dNz8QHfL.js +105 -0
- package/dist/kbd.js +1 -1
- package/dist/link-DLPyg54C.js +91 -0
- package/dist/link.js +1 -1
- package/dist/list-B7gaPH1U.js +95 -0
- package/dist/list-item-DMeNfokY.js +125 -0
- package/dist/list-item.js +1 -1
- package/dist/list.js +1 -1
- package/dist/listbox-BSqx_ARf.js +626 -0
- package/dist/listbox.js +1 -1
- package/dist/loading-overlay-BLIrcaoj.js +218 -0
- package/dist/loading-overlay.js +1 -1
- package/dist/markdown-DccRb1xf.js +306 -0
- package/dist/markdown.js +1 -1
- package/dist/menu-parts-CNNHRduK.js +805 -0
- package/dist/menu.js +1 -1
- package/dist/menubar-Bdr6zigi.js +157 -0
- package/dist/menubar.js +1 -1
- package/dist/message-BkTiWsUp.js +436 -0
- package/dist/message-scroller-akQEtQLn.js +218 -0
- package/dist/message-scroller.js +1 -1
- package/dist/message.js +1 -1
- package/dist/multi-select-BvlJIEtz.js +1259 -0
- package/dist/multi-select.js +1 -1
- package/dist/navigation-menu-parts-CEW4fgCo.js +492 -0
- package/dist/navigation-menu.js +1 -1
- package/dist/notification-center-BQO0Ey3h.js +516 -0
- package/dist/notification-center.js +1 -1
- package/dist/number-field-D1MqT8_A.js +345 -0
- package/dist/number-field.js +1 -1
- package/dist/{otp-input-Bf8JUiVR.js → otp-input-Cub9H9Di.js} +75 -72
- package/dist/otp-input.js +1 -1
- package/dist/page-CwYmBoZQ.js +179 -0
- package/dist/page-header-CMxCQqu_.js +372 -0
- package/dist/page-header.js +1 -1
- package/dist/page.js +1 -1
- package/dist/pagination-IEuos7H1.js +299 -0
- package/dist/pagination.js +1 -1
- package/dist/popover-C7NpEzq6.js +500 -0
- package/dist/popover.js +1 -1
- package/dist/press-selection-DjOllE2B.js +29 -0
- package/dist/press-selection.js +2 -0
- package/dist/progress-indicator-D0acshNn.js +292 -0
- package/dist/progress-indicator.js +1 -1
- package/dist/prompt-composer-Cu8bj1Vb.js +276 -0
- package/dist/prompt-composer.js +1 -1
- package/dist/prose-CQN4Bqqh.js +92 -0
- package/dist/prose.js +1 -1
- package/dist/radio-group-BHlDgCLk.js +143 -0
- package/dist/radio-group.js +1 -1
- package/dist/rating-Cr0lXaAV.js +501 -0
- package/dist/rating.js +1 -1
- package/dist/result-state-BMYhelu1.js +128 -0
- package/dist/result-state.js +1 -1
- package/dist/saved-views-CyLSn8a2.js +456 -0
- package/dist/saved-views.js +1 -1
- package/dist/scroll-area-Fr0PmnRS.js +112 -0
- package/dist/scroll-area.js +1 -1
- package/dist/section-DY8yPm11.js +177 -0
- package/dist/section.js +2 -2
- package/dist/segmented-control-uPnQYklX.js +156 -0
- package/dist/segmented-control.js +1 -1
- package/dist/select-C0JYHwBy.js +1020 -0
- package/dist/{select-tags-CQMcHIQN.js → select-tags-CMe5rzql.js} +11 -1
- package/dist/select.js +1 -1
- package/dist/side-navigation-D8lRpHwj.js +747 -0
- package/dist/side-navigation.js +1 -1
- package/dist/skeleton-DeEOmm1y.js +149 -0
- package/dist/skeleton.js +1 -1
- package/dist/slider-BSI1xvjw.js +264 -0
- package/dist/slider.js +1 -1
- package/dist/sparkline-CYU4_lCD.js +152 -0
- package/dist/sparkline.js +1 -1
- package/dist/spinner-ring-DyfaYloA.js +19 -0
- package/dist/split-button-CkbylOMN.js +136 -0
- package/dist/split-button.js +1 -1
- package/dist/splitter-CspZHJz4.js +293 -0
- package/dist/splitter.js +1 -1
- package/dist/stack-BbgvuQ7m.js +16 -0
- package/dist/stack.js +1 -1
- package/dist/stat-card-CAh4SdeY.js +247 -0
- package/dist/stat-card.js +1 -1
- package/dist/status-indicator-BVMnpcm8.js +78 -0
- package/dist/status-indicator.js +1 -1
- package/dist/stepper-BLfvMz04.js +261 -0
- package/dist/stepper.js +1 -1
- package/dist/styles/accordion.css +2 -0
- package/dist/styles/action-bar.css +8 -0
- package/dist/styles/action-sheet.css +8 -0
- package/dist/styles/alert.css +4 -0
- package/dist/styles/app-shell.css +8 -0
- package/dist/styles/aspect-ratio.css +2 -0
- package/dist/styles/attachment.css +8 -0
- package/dist/styles/avatar-group.css +6 -0
- package/dist/styles/avatar.css +4 -0
- package/dist/styles/badge.css +2 -0
- package/dist/styles/breadcrumb.css +4 -0
- package/dist/styles/button-group.css +2 -0
- package/dist/styles/button.css +4 -0
- package/dist/styles/calendar.css +4 -0
- package/dist/styles/card.css +2 -0
- package/dist/styles/carousel.css +4 -0
- package/dist/styles/cascader.css +20 -0
- package/dist/styles/chart.css +10 -0
- package/dist/styles/checkbox-group.css +12 -0
- package/dist/styles/checkbox.css +14 -0
- package/dist/styles/code-block.css +10 -0
- package/dist/styles/collapsible.css +6 -0
- package/dist/styles/color-picker.css +18 -0
- package/dist/styles/column-manager.css +32 -0
- package/dist/styles/combobox.css +12 -0
- package/dist/styles/command-palette.css +14 -0
- package/dist/styles/container.css +2 -0
- package/dist/styles/context-menu.css +8 -0
- package/dist/styles/currency-field.css +10 -0
- package/dist/styles/dashboard-grid.css +20 -0
- package/dist/styles/data-grid.css +64 -0
- package/dist/styles/data-list.css +34 -0
- package/dist/styles/date-field.css +10 -0
- package/dist/styles/date-picker.css +14 -0
- package/dist/styles/date-range-picker.css +14 -0
- package/dist/styles/datetime-field.css +10 -0
- package/dist/styles/datetime-picker.css +14 -0
- package/dist/styles/datetime-range-picker.css +14 -0
- package/dist/styles/description-list.css +6 -0
- package/dist/styles/detail-panel.css +24 -0
- package/dist/styles/dialog.css +4 -0
- package/dist/styles/divider.css +2 -0
- package/dist/styles/drawer.css +4 -0
- package/dist/styles/entity-picker.css +22 -0
- package/dist/styles/event-calendar.css +28 -0
- package/dist/styles/field-group.css +10 -0
- package/dist/styles/field.css +8 -0
- package/dist/styles/filter-bar.css +54 -0
- package/dist/styles/form.css +2 -0
- package/dist/styles/fullscreen.css +4 -0
- package/dist/styles/grid.css +2 -0
- package/dist/styles/highlight.css +2 -0
- package/dist/styles/hover-card.css +6 -0
- package/dist/styles/i18n.css +1 -0
- package/dist/styles/icon.css +2 -0
- package/dist/styles/image.css +6 -0
- package/dist/styles/import-export-center.css +70 -0
- package/dist/styles/index.css +248 -0
- package/dist/styles/inline-message.css +4 -0
- package/dist/styles/inline.css +2 -0
- package/dist/styles/kbd.css +2 -0
- package/dist/styles/link.css +6 -0
- package/dist/styles/list-item.css +6 -0
- package/dist/styles/list.css +2 -0
- package/dist/styles/listbox.css +10 -0
- package/dist/styles/loading-overlay.css +6 -0
- package/dist/styles/markdown.css +34 -0
- package/dist/styles/menu.css +6 -0
- package/dist/styles/menubar.css +8 -0
- package/dist/styles/message-scroller.css +4 -0
- package/dist/styles/message.css +4 -0
- package/dist/styles/multi-select.css +18 -0
- package/dist/styles/navigation-menu.css +4 -0
- package/dist/styles/notification-center.css +16 -0
- package/dist/styles/number-field.css +10 -0
- package/dist/styles/otp-input.css +10 -0
- package/dist/styles/page-header.css +16 -0
- package/dist/styles/page.css +6 -0
- package/dist/styles/pagination.css +4 -0
- package/dist/styles/popover.css +4 -0
- package/dist/styles/press-selection.css +1 -0
- package/dist/styles/progress-indicator.css +4 -0
- package/dist/styles/prompt-composer.css +12 -0
- package/dist/styles/prose.css +2 -0
- package/dist/styles/radio-group.css +12 -0
- package/dist/styles/rating.css +10 -0
- package/dist/styles/result-state.css +2 -0
- package/dist/styles/saved-views.css +20 -0
- package/dist/styles/scroll-area.css +2 -0
- package/dist/styles/section.css +4 -0
- package/dist/styles/segmented-control.css +12 -0
- package/dist/styles/select.css +14 -0
- package/dist/styles/side-navigation.css +14 -0
- package/dist/styles/skeleton.css +4 -0
- package/dist/styles/slider.css +10 -0
- package/dist/styles/sparkline.css +2 -0
- package/dist/styles/split-button.css +12 -0
- package/dist/styles/splitter.css +2 -0
- package/dist/styles/stack.css +2 -0
- package/dist/styles/stat-card.css +8 -0
- package/dist/styles/status-indicator.css +6 -0
- package/dist/styles/stepper.css +6 -0
- package/dist/styles/switch.css +12 -0
- package/dist/styles/table-of-contents.css +8 -0
- package/dist/styles/table.css +60 -0
- package/dist/styles/tabs.css +4 -0
- package/dist/styles/tag.css +4 -0
- package/dist/styles/tags-input.css +12 -0
- package/dist/styles/text-field.css +10 -0
- package/dist/styles/textarea.css +10 -0
- package/dist/styles/theme.css +1 -0
- package/dist/styles/time-field.css +10 -0
- package/dist/styles/time-picker.css +12 -0
- package/dist/styles/time-range-picker.css +12 -0
- package/dist/styles/timeline.css +8 -0
- package/dist/styles/toast.css +8 -0
- package/dist/styles/toggle-group.css +10 -0
- package/dist/styles/toggle.css +2 -0
- package/dist/styles/toolbar.css +8 -0
- package/dist/styles/tooltip.css +2 -0
- package/dist/styles/top-navigation.css +14 -0
- package/dist/styles/tour.css +8 -0
- package/dist/styles/transfer.css +26 -0
- package/dist/styles/tree.css +6 -0
- package/dist/styles/typography.css +2 -0
- package/dist/styles/upload.css +16 -0
- package/dist/styles/visually-hidden.css +2 -0
- package/dist/styles/wizard.css +22 -0
- package/dist/styles.css +1 -1
- package/dist/switch-BHyKHqeI.js +144 -0
- package/dist/switch.js +1 -1
- package/dist/table-C8zOHDcY.js +1019 -0
- package/dist/table-of-contents-BAIuPCdy.js +471 -0
- package/dist/table-of-contents.js +1 -1
- package/dist/table.js +2 -2
- package/dist/tabs-DjEpS9uq.js +361 -0
- package/dist/tabs.js +1 -1
- package/dist/tag-XYGEPUHR.js +374 -0
- package/dist/tag.js +1 -1
- package/dist/tags-input-ClYSd-No.js +729 -0
- package/dist/tags-input.js +1 -1
- package/dist/text-field-Cguj75tn.js +205 -0
- package/dist/text-field.js +1 -1
- package/dist/textarea-BKsh_jAo.js +100 -0
- package/dist/textarea.js +1 -1
- package/dist/time-field-BIE4WMpS.js +366 -0
- package/dist/time-field.js +1 -1
- package/dist/time-picker-CNfafRDF.js +415 -0
- package/dist/time-picker.js +1 -1
- package/dist/time-range-picker-D7gM_Wno.js +779 -0
- package/dist/time-range-picker.js +1 -1
- package/dist/timeline-BLadNUkS.js +449 -0
- package/dist/timeline.js +1 -1
- package/dist/{toast-wI8BtPY5.js → toast-CjbiXiza.js} +114 -112
- package/dist/toast.js +1 -1
- package/dist/toggle-group-BZmghKac.js +145 -0
- package/dist/toggle-group.js +1 -1
- package/dist/toggle-zDTD5G3H.js +67 -0
- package/dist/toggle.js +1 -1
- package/dist/toolbar-BI4ZepBs.js +243 -0
- package/dist/toolbar.js +1 -1
- package/dist/tooltip-DrFiRlH8.js +411 -0
- package/dist/tooltip.js +1 -1
- package/dist/top-navigation-BTZpx5VA.js +744 -0
- package/dist/top-navigation.js +1 -1
- package/dist/tour-_CQ1kYov.js +809 -0
- package/dist/tour.js +1 -1
- package/dist/transfer-BVhBdIGp.js +606 -0
- package/dist/transfer.js +1 -1
- package/dist/tree-DfI9UWLA.js +794 -0
- package/dist/tree.js +1 -1
- package/dist/types/accordion/accordion.d.ts.map +1 -1
- package/dist/types/action-bar/action-bar-overflow.d.ts.map +1 -1
- package/dist/types/action-bar/action-bar-parts.d.ts.map +1 -1
- package/dist/types/action-bar/action-bar.d.ts.map +1 -1
- package/dist/types/action-bar/action-bar.types.d.ts +2 -2
- package/dist/types/action-sheet/action-sheet-parts.d.ts.map +1 -1
- package/dist/types/alert/alert-parts.d.ts.map +1 -1
- package/dist/types/alert/alert.d.ts.map +1 -1
- package/dist/types/alert/alert.types.d.ts +1 -1
- package/dist/types/alert/alert.types.d.ts.map +1 -1
- package/dist/types/app-shell/app-shell-parts.d.ts +6 -4
- package/dist/types/app-shell/app-shell-parts.d.ts.map +1 -1
- package/dist/types/app-shell/app-shell.d.ts.map +1 -1
- package/dist/types/app-shell/app-shell.types.d.ts +21 -14
- package/dist/types/app-shell/app-shell.types.d.ts.map +1 -1
- package/dist/types/app-shell/index.d.ts +1 -1
- package/dist/types/app-shell/index.d.ts.map +1 -1
- package/dist/types/aspect-ratio/aspect-ratio.d.ts.map +1 -1
- package/dist/types/attachment/attachment-parts.d.ts.map +1 -1
- package/dist/types/attachment/attachment.d.ts.map +1 -1
- package/dist/types/avatar/avatar.d.ts +1 -1
- package/dist/types/avatar/avatar.d.ts.map +1 -1
- package/dist/types/avatar/avatar.types.d.ts +10 -1
- package/dist/types/avatar/avatar.types.d.ts.map +1 -1
- package/dist/types/avatar/index.d.ts +1 -1
- package/dist/types/avatar/index.d.ts.map +1 -1
- package/dist/types/avatar-group/avatar-group.d.ts.map +1 -1
- package/dist/types/badge/badge-anchor.d.ts.map +1 -1
- package/dist/types/badge/badge.d.ts.map +1 -1
- package/dist/types/badge/badge.types.d.ts +1 -1
- package/dist/types/badge/badge.types.d.ts.map +1 -1
- package/dist/types/breadcrumb/breadcrumb-parts.d.ts.map +1 -1
- package/dist/types/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/types/breadcrumb/breadcrumb.types.d.ts +2 -1
- package/dist/types/breadcrumb/breadcrumb.types.d.ts.map +1 -1
- package/dist/types/button/button-content.d.ts.map +1 -1
- package/dist/types/button/button-indicator.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 +7 -5
- 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 +11 -3
- package/dist/types/button/button.types.d.ts.map +1 -1
- package/dist/types/button/icon-button.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/spinner-ring.d.ts +8 -0
- package/dist/types/button/spinner-ring.d.ts.map +1 -0
- package/dist/types/button/toggle-button.d.ts +1 -1
- package/dist/types/button/toggle-button.d.ts.map +1 -1
- package/dist/types/button-group/button-group-separator.d.ts.map +1 -1
- package/dist/types/button-group/button-group.d.ts.map +1 -1
- package/dist/types/calendar/calendar.d.ts +1 -1
- package/dist/types/calendar/calendar.d.ts.map +1 -1
- package/dist/types/calendar/calendar.types.d.ts +9 -0
- package/dist/types/calendar/calendar.types.d.ts.map +1 -1
- package/dist/types/calendar/index.d.ts +1 -1
- package/dist/types/calendar/index.d.ts.map +1 -1
- package/dist/types/card/card-actions.d.ts.map +1 -1
- package/dist/types/card/card-body.d.ts.map +1 -1
- package/dist/types/card/card-footer.d.ts.map +1 -1
- package/dist/types/card/card-header.d.ts.map +1 -1
- package/dist/types/card/card-link.d.ts.map +1 -1
- package/dist/types/card/card-media.d.ts.map +1 -1
- package/dist/types/card/card-selection.d.ts.map +1 -1
- package/dist/types/card/card.d.ts.map +1 -1
- package/dist/types/card/card.types.d.ts +2 -1
- package/dist/types/card/card.types.d.ts.map +1 -1
- package/dist/types/carousel/carousel-parts.d.ts.map +1 -1
- package/dist/types/carousel/carousel.d.ts.map +1 -1
- package/dist/types/cascader/cascader-surface.d.ts.map +1 -1
- package/dist/types/cascader/cascader.d.ts.map +1 -1
- package/dist/types/chart/chart.d.ts.map +1 -1
- package/dist/types/checkbox/checkbox.d.ts.map +1 -1
- package/dist/types/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/dist/types/code-block/code-block.d.ts.map +1 -1
- package/dist/types/collapsible/collapsible-parts.d.ts.map +1 -1
- package/dist/types/collapsible/collapsible.d.ts.map +1 -1
- package/dist/types/color-picker/color-picker.d.ts.map +1 -1
- package/dist/types/column-manager/column-manager.d.ts.map +1 -1
- package/dist/types/combobox/combobox-collection.d.ts +1 -0
- package/dist/types/combobox/combobox-collection.d.ts.map +1 -1
- package/dist/types/combobox/combobox-items.d.ts.map +1 -1
- package/dist/types/combobox/combobox-parts.d.ts.map +1 -1
- package/dist/types/combobox/combobox.d.ts.map +1 -1
- package/dist/types/command-palette/command-palette.d.ts.map +1 -1
- package/dist/types/container/container-breakout.d.ts.map +1 -1
- package/dist/types/container/container.d.ts.map +1 -1
- package/dist/types/context-menu/context-menu.d.ts.map +1 -1
- package/dist/types/currency-field/currency-field-defaults.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 +28 -5
- 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/dashboard-grid/dashboard-grid.d.ts.map +1 -1
- package/dist/types/dashboard-grid/dashboard-widget.d.ts +1 -1
- package/dist/types/dashboard-grid/dashboard-widget.d.ts.map +1 -1
- package/dist/types/data-grid/data-grid-body.d.ts +7 -2
- package/dist/types/data-grid/data-grid-body.d.ts.map +1 -1
- package/dist/types/data-grid/data-grid-context.d.ts +31 -1
- package/dist/types/data-grid/data-grid-context.d.ts.map +1 -1
- package/dist/types/data-grid/data-grid-filter.d.ts.map +1 -1
- package/dist/types/data-grid/data-grid-header.d.ts.map +1 -1
- package/dist/types/data-grid/data-grid.d.ts +1 -1
- package/dist/types/data-grid/data-grid.d.ts.map +1 -1
- package/dist/types/data-grid/data-grid.types.d.ts +36 -1
- package/dist/types/data-grid/data-grid.types.d.ts.map +1 -1
- package/dist/types/data-grid/index.d.ts +1 -1
- package/dist/types/data-grid/index.d.ts.map +1 -1
- package/dist/types/data-list/data-list.d.ts.map +1 -1
- package/dist/types/date-field/date-field.d.ts +1 -1
- package/dist/types/date-field/date-field.d.ts.map +1 -1
- package/dist/types/date-field/date-field.types.d.ts +7 -0
- package/dist/types/date-field/date-field.types.d.ts.map +1 -1
- package/dist/types/date-picker/date-picker.d.ts +5 -1
- package/dist/types/date-picker/date-picker.d.ts.map +1 -1
- package/dist/types/date-picker/date-picker.types.d.ts +20 -2
- package/dist/types/date-picker/date-picker.types.d.ts.map +1 -1
- package/dist/types/date-picker/index.d.ts +1 -1
- package/dist/types/date-picker/index.d.ts.map +1 -1
- package/dist/types/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/types/datetime-field/datetime-field.d.ts.map +1 -1
- package/dist/types/datetime-picker/datetime-picker.d.ts.map +1 -1
- package/dist/types/datetime-range-picker/datetime-range-picker.d.ts.map +1 -1
- package/dist/types/description-list/description-list-parts.d.ts.map +1 -1
- package/dist/types/description-list/description-list.d.ts.map +1 -1
- package/dist/types/detail-panel/detail-panel-parts.d.ts +2 -1
- package/dist/types/detail-panel/detail-panel-parts.d.ts.map +1 -1
- package/dist/types/detail-panel/detail-panel.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/dialog/dialog-parts.d.ts.map +1 -1
- package/dist/types/dialog/dialog.d.ts.map +1 -1
- package/dist/types/dialog/dialog.types.d.ts +12 -2
- package/dist/types/dialog/dialog.types.d.ts.map +1 -1
- package/dist/types/divider/divider.d.ts.map +1 -1
- package/dist/types/drawer/drawer-parts.d.ts.map +1 -1
- package/dist/types/drawer/drawer.d.ts +1 -1
- package/dist/types/drawer/drawer.d.ts.map +1 -1
- package/dist/types/drawer/drawer.types.d.ts +6 -0
- package/dist/types/drawer/drawer.types.d.ts.map +1 -1
- package/dist/types/entity-picker/entity-picker-control.d.ts.map +1 -1
- package/dist/types/entity-picker/entity-picker-option-parts.d.ts +13 -0
- package/dist/types/entity-picker/entity-picker-option-parts.d.ts.map +1 -0
- package/dist/types/entity-picker/entity-picker-popup.d.ts +0 -7
- package/dist/types/entity-picker/entity-picker-popup.d.ts.map +1 -1
- package/dist/types/entity-picker/entity-picker.types.d.ts +8 -0
- package/dist/types/entity-picker/entity-picker.types.d.ts.map +1 -1
- package/dist/types/entity-picker/index.d.ts +1 -0
- package/dist/types/entity-picker/index.d.ts.map +1 -1
- package/dist/types/event-calendar/event-calendar-event.d.ts.map +1 -1
- package/dist/types/event-calendar/event-calendar-list.d.ts.map +1 -1
- package/dist/types/event-calendar/event-calendar-month.d.ts.map +1 -1
- package/dist/types/event-calendar/event-calendar-time-grid.d.ts.map +1 -1
- package/dist/types/event-calendar/event-calendar.d.ts +1 -1
- package/dist/types/event-calendar/event-calendar.d.ts.map +1 -1
- package/dist/types/event-calendar/event-calendar.types.d.ts +6 -0
- package/dist/types/event-calendar/event-calendar.types.d.ts.map +1 -1
- package/dist/types/field/field-parts.d.ts.map +1 -1
- package/dist/types/field/field.d.ts.map +1 -1
- package/dist/types/field-group/field-group-parts.d.ts.map +1 -1
- package/dist/types/field-group/field-group.d.ts.map +1 -1
- package/dist/types/filter-bar/filter-bar-rules.d.ts.map +1 -1
- package/dist/types/filter-bar/filter-bar.d.ts.map +1 -1
- package/dist/types/form/form-parts.d.ts.map +1 -1
- package/dist/types/form/form.d.ts.map +1 -1
- package/dist/types/fullscreen/fullscreen.d.ts.map +1 -1
- package/dist/types/grid/grid.d.ts.map +1 -1
- package/dist/types/highlight/highlight.d.ts.map +1 -1
- package/dist/types/hover-card/hover-card.d.ts.map +1 -1
- package/dist/types/i18n/slotted-provider.d.ts +6 -0
- package/dist/types/i18n/slotted-provider.d.ts.map +1 -1
- package/dist/types/icon/glyph.d.ts.map +1 -1
- package/dist/types/icon/icon.d.ts.map +1 -1
- package/dist/types/icon/icon.types.d.ts +1 -1
- package/dist/types/icon/icon.types.d.ts.map +1 -1
- package/dist/types/image/image.d.ts.map +1 -1
- package/dist/types/import-export-center/import-export-center.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/inline/inline.d.ts.map +1 -1
- package/dist/types/inline-message/index.d.ts +2 -2
- package/dist/types/inline-message/index.d.ts.map +1 -1
- package/dist/types/inline-message/inline-message-defaults.d.ts +1 -1
- package/dist/types/inline-message/inline-message-defaults.d.ts.map +1 -1
- package/dist/types/inline-message/inline-message.d.ts +11 -3
- package/dist/types/inline-message/inline-message.d.ts.map +1 -1
- package/dist/types/inline-message/inline-message.types.d.ts +3 -1
- package/dist/types/inline-message/inline-message.types.d.ts.map +1 -1
- package/dist/types/kbd/key-element.d.ts.map +1 -1
- package/dist/types/kbd/shortcut.d.ts.map +1 -1
- package/dist/types/link/link.d.ts.map +1 -1
- package/dist/types/link/link.types.d.ts +2 -1
- package/dist/types/link/link.types.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.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/list-item/list-item-content.d.ts.map +1 -1
- package/dist/types/list-item/list-item-parts.d.ts.map +1 -1
- package/dist/types/list-item/list-item.d.ts.map +1 -1
- package/dist/types/list-item/list-item.types.d.ts +3 -2
- package/dist/types/list-item/list-item.types.d.ts.map +1 -1
- package/dist/types/listbox/listbox-parts.d.ts.map +1 -1
- package/dist/types/listbox/listbox.d.ts.map +1 -1
- package/dist/types/loading-overlay/loading-overlay.d.ts.map +1 -1
- package/dist/types/markdown/markdown.d.ts.map +1 -1
- package/dist/types/menu/index.d.ts +1 -1
- package/dist/types/menu/index.d.ts.map +1 -1
- package/dist/types/menu/menu-defaults.d.ts.map +1 -1
- package/dist/types/menu/menu-items.d.ts.map +1 -1
- package/dist/types/menu/menu-parts.d.ts.map +1 -1
- package/dist/types/menu/menu.d.ts +1 -1
- package/dist/types/menu/menu.d.ts.map +1 -1
- package/dist/types/menu/menu.types.d.ts +13 -1
- package/dist/types/menu/menu.types.d.ts.map +1 -1
- package/dist/types/menubar/menubar.d.ts.map +1 -1
- package/dist/types/message/bubble.d.ts.map +1 -1
- package/dist/types/message/message-parts.d.ts.map +1 -1
- package/dist/types/message/message.d.ts.map +1 -1
- package/dist/types/message/message.types.d.ts +1 -1
- package/dist/types/message/message.types.d.ts.map +1 -1
- package/dist/types/message-scroller/message-scroller.d.ts.map +1 -1
- package/dist/types/multi-select/multi-select-chips.d.ts.map +1 -1
- package/dist/types/multi-select/multi-select-collection.d.ts +0 -2
- package/dist/types/multi-select/multi-select-collection.d.ts.map +1 -1
- package/dist/types/multi-select/multi-select-items.d.ts.map +1 -1
- package/dist/types/multi-select/multi-select-parts.d.ts.map +1 -1
- package/dist/types/multi-select/multi-select.d.ts.map +1 -1
- package/dist/types/navigation-menu/navigation-menu-parts.d.ts.map +1 -1
- package/dist/types/navigation-menu/navigation-menu.d.ts.map +1 -1
- package/dist/types/navigation-menu/navigation-menu.types.d.ts +2 -1
- package/dist/types/navigation-menu/navigation-menu.types.d.ts.map +1 -1
- package/dist/types/notification-center/notification-center.d.ts.map +1 -1
- package/dist/types/notification-center/notification-center.types.d.ts +1 -1
- package/dist/types/notification-center/notification-center.types.d.ts.map +1 -1
- package/dist/types/number-field/number-field.d.ts.map +1 -1
- package/dist/types/otp-input/otp-input.d.ts.map +1 -1
- package/dist/types/page/page.d.ts.map +1 -1
- package/dist/types/page-header/page-header-defaults.d.ts +1 -1
- package/dist/types/page-header/page-header-defaults.d.ts.map +1 -1
- package/dist/types/page-header/page-header-parts.d.ts +3 -3
- package/dist/types/page-header/page-header-parts.d.ts.map +1 -1
- package/dist/types/page-header/page-header.d.ts +1 -1
- package/dist/types/page-header/page-header.d.ts.map +1 -1
- package/dist/types/page-header/page-header.types.d.ts +11 -1
- package/dist/types/page-header/page-header.types.d.ts.map +1 -1
- package/dist/types/pagination/pagination-parts.d.ts.map +1 -1
- package/dist/types/pagination/pagination.d.ts.map +1 -1
- package/dist/types/popover/popover-parts.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/progress-indicator/progress-bar.d.ts.map +1 -1
- package/dist/types/progress-indicator/progress-circle.d.ts.map +1 -1
- package/dist/types/progress-indicator/progress-indicator.types.d.ts +1 -1
- package/dist/types/progress-indicator/progress-indicator.types.d.ts.map +1 -1
- package/dist/types/progress-indicator/progress-parts.d.ts.map +1 -1
- package/dist/types/progress-indicator/use-progress-indicator.d.ts +6 -0
- package/dist/types/progress-indicator/use-progress-indicator.d.ts.map +1 -1
- package/dist/types/prompt-composer/index.d.ts +1 -1
- package/dist/types/prompt-composer/index.d.ts.map +1 -1
- package/dist/types/prompt-composer/prompt-composer-defaults.d.ts.map +1 -1
- package/dist/types/prompt-composer/prompt-composer.d.ts +1 -1
- package/dist/types/prompt-composer/prompt-composer.d.ts.map +1 -1
- package/dist/types/prompt-composer/prompt-composer.types.d.ts +9 -0
- package/dist/types/prompt-composer/prompt-composer.types.d.ts.map +1 -1
- package/dist/types/prose/prose-parts.d.ts.map +1 -1
- package/dist/types/prose/prose-scroll.d.ts.map +1 -1
- package/dist/types/prose/prose.d.ts.map +1 -1
- package/dist/types/radio-group/radio-group-parts.d.ts.map +1 -1
- package/dist/types/radio-group/radio-group.d.ts.map +1 -1
- package/dist/types/rating/rating-display.d.ts.map +1 -1
- package/dist/types/rating/rating-summary.d.ts.map +1 -1
- package/dist/types/rating/rating.d.ts.map +1 -1
- package/dist/types/rating/rating.types.d.ts +1 -1
- package/dist/types/rating/rating.types.d.ts.map +1 -1
- package/dist/types/result-state/result-state-parts.d.ts.map +1 -1
- package/dist/types/result-state/result-state.d.ts.map +1 -1
- package/dist/types/saved-views/saved-views.d.ts.map +1 -1
- package/dist/types/scroll-area/scroll-area.d.ts.map +1 -1
- package/dist/types/section/index.d.ts +1 -1
- package/dist/types/section/index.d.ts.map +1 -1
- package/dist/types/section/section-parts.d.ts +9 -1
- package/dist/types/section/section-parts.d.ts.map +1 -1
- package/dist/types/section/section.d.ts.map +1 -1
- 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-parts.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/select/select-collection.d.ts +0 -2
- package/dist/types/select/select-collection.d.ts.map +1 -1
- package/dist/types/select/select-items.d.ts.map +1 -1
- package/dist/types/select/select-parts.d.ts.map +1 -1
- package/dist/types/select/select-tags.d.ts.map +1 -1
- package/dist/types/select/select.d.ts.map +1 -1
- package/dist/types/side-navigation/side-navigation-parts.d.ts.map +1 -1
- package/dist/types/side-navigation/side-navigation.d.ts.map +1 -1
- package/dist/types/side-navigation/side-navigation.types.d.ts +2 -1
- package/dist/types/side-navigation/side-navigation.types.d.ts.map +1 -1
- package/dist/types/skeleton/skeleton-region.d.ts.map +1 -1
- package/dist/types/skeleton/skeleton-text.d.ts.map +1 -1
- package/dist/types/skeleton/skeleton.d.ts.map +1 -1
- package/dist/types/slider/slider.d.ts.map +1 -1
- package/dist/types/sparkline/sparkline.d.ts.map +1 -1
- package/dist/types/sparkline/sparkline.types.d.ts +3 -1
- package/dist/types/sparkline/sparkline.types.d.ts.map +1 -1
- package/dist/types/split-button/split-button-parts.d.ts.map +1 -1
- package/dist/types/split-button/split-button.d.ts.map +1 -1
- package/dist/types/splitter/splitter.d.ts.map +1 -1
- package/dist/types/stack/stack.d.ts.map +1 -1
- package/dist/types/stat-card/stat-card-delta.d.ts.map +1 -1
- package/dist/types/stat-card/stat-card-parts.d.ts.map +1 -1
- package/dist/types/stat-card/stat-card-value.d.ts.map +1 -1
- package/dist/types/stat-card/stat-card.d.ts.map +1 -1
- package/dist/types/stat-card/stat-card.types.d.ts +3 -3
- package/dist/types/stat-card/stat-card.types.d.ts.map +1 -1
- package/dist/types/status-indicator/status-indicator.d.ts.map +1 -1
- package/dist/types/stepper/stepper-parts.d.ts.map +1 -1
- package/dist/types/stepper/stepper.d.ts.map +1 -1
- package/dist/types/switch/switch.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-content.d.ts.map +1 -1
- package/dist/types/table/table-defaults.d.ts.map +1 -1
- package/dist/types/table/table-filter.d.ts.map +1 -1
- package/dist/types/table/table-parts.d.ts +12 -2
- package/dist/types/table/table-parts.d.ts.map +1 -1
- package/dist/types/table/table.d.ts +1 -1
- package/dist/types/table/table.d.ts.map +1 -1
- package/dist/types/table/table.types.d.ts +43 -1
- package/dist/types/table/table.types.d.ts.map +1 -1
- package/dist/types/table-of-contents/table-of-contents-demo.d.ts.map +1 -1
- package/dist/types/table-of-contents/table-of-contents-parts.d.ts.map +1 -1
- package/dist/types/table-of-contents/table-of-contents.d.ts.map +1 -1
- package/dist/types/table-of-contents/table-of-contents.types.d.ts +2 -1
- package/dist/types/table-of-contents/table-of-contents.types.d.ts.map +1 -1
- package/dist/types/tabs/tabs-parts.d.ts +2 -4
- package/dist/types/tabs/tabs-parts.d.ts.map +1 -1
- package/dist/types/tabs/tabs.d.ts +1 -1
- package/dist/types/tabs/tabs.d.ts.map +1 -1
- package/dist/types/tabs/tabs.types.d.ts +18 -0
- package/dist/types/tabs/tabs.types.d.ts.map +1 -1
- package/dist/types/tag/tag-button.d.ts.map +1 -1
- package/dist/types/tag/tag-chip.d.ts +2 -2
- package/dist/types/tag/tag-chip.d.ts.map +1 -1
- package/dist/types/tag/tag-group.d.ts.map +1 -1
- package/dist/types/tag/tag-link.d.ts.map +1 -1
- package/dist/types/tag/tag-toggle.d.ts.map +1 -1
- package/dist/types/tag/tag.types.d.ts +3 -2
- package/dist/types/tag/tag.types.d.ts.map +1 -1
- package/dist/types/tags-input/tags-input-chips.d.ts.map +1 -1
- package/dist/types/tags-input/tags-input.d.ts +7 -1
- package/dist/types/tags-input/tags-input.d.ts.map +1 -1
- package/dist/types/tags-input/tags-input.types.d.ts +10 -0
- package/dist/types/tags-input/tags-input.types.d.ts.map +1 -1
- package/dist/types/text-field/text-field.d.ts.map +1 -1
- package/dist/types/textarea/textarea.d.ts.map +1 -1
- package/dist/types/time-field/time-field.d.ts.map +1 -1
- package/dist/types/time-picker/time-picker.d.ts.map +1 -1
- package/dist/types/time-range-picker/time-range-picker.d.ts.map +1 -1
- package/dist/types/timeline/timeline-parts.d.ts.map +1 -1
- package/dist/types/timeline/timeline.d.ts.map +1 -1
- package/dist/types/timeline/timeline.types.d.ts +1 -1
- package/dist/types/timeline/timeline.types.d.ts.map +1 -1
- package/dist/types/toast/toast-parts.d.ts.map +1 -1
- package/dist/types/toast/toast.d.ts.map +1 -1
- package/dist/types/toast/toast.types.d.ts +1 -1
- package/dist/types/toast/toast.types.d.ts.map +1 -1
- package/dist/types/toggle/toggle.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-parts.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/types/toolbar/toolbar-overflow.d.ts.map +1 -1
- package/dist/types/toolbar/toolbar-parts.d.ts.map +1 -1
- package/dist/types/toolbar/toolbar.d.ts.map +1 -1
- package/dist/types/toolbar/toolbar.types.d.ts +2 -2
- package/dist/types/tooltip/tooltip-parts.d.ts.map +1 -1
- package/dist/types/top-navigation/top-navigation-parts.d.ts.map +1 -1
- package/dist/types/top-navigation/top-navigation.d.ts.map +1 -1
- package/dist/types/top-navigation/top-navigation.types.d.ts +8 -7
- package/dist/types/top-navigation/top-navigation.types.d.ts.map +1 -1
- package/dist/types/tour/tour-parts.d.ts.map +1 -1
- package/dist/types/tour/tour.d.ts.map +1 -1
- package/dist/types/transfer/transfer.d.ts.map +1 -1
- package/dist/types/tree/tree-parts.d.ts.map +1 -1
- package/dist/types/tree/tree.d.ts.map +1 -1
- package/dist/types/typography/heading.d.ts +2 -2
- package/dist/types/typography/heading.d.ts.map +1 -1
- package/dist/types/typography/text.d.ts.map +1 -1
- package/dist/types/typography/typography.types.d.ts +1 -1
- package/dist/types/typography/typography.types.d.ts.map +1 -1
- package/dist/types/upload/upload-viewer.d.ts.map +1 -1
- package/dist/types/upload/upload.d.ts.map +1 -1
- package/dist/types/visually-hidden/visually-hidden.d.ts.map +1 -1
- package/dist/types/wizard/wizard-parts.d.ts.map +1 -1
- package/dist/types/wizard/wizard.d.ts.map +1 -1
- package/dist/typography-BESqb4C0.js +93 -0
- package/dist/typography.js +1 -1
- package/dist/upload-N2-nyO8x.js +648 -0
- package/dist/upload.js +1 -1
- package/dist/visually-hidden-BUSrFZ1_.js +15 -0
- package/dist/visually-hidden.js +1 -1
- package/dist/wizard-CK1x2fs3.js +838 -0
- package/dist/wizard.js +1 -1
- package/package.json +24 -11
- package/dist/accordion-D-YuMJzk.js +0 -143
- package/dist/action-bar-C7cGnEyJ.js +0 -282
- package/dist/action-sheet-D8Glxl7l.js +0 -347
- package/dist/alert-CP62p9Ul.js +0 -159
- package/dist/app-shell-CXwma4XA.js +0 -836
- package/dist/aspect-ratio-C76l-aoY.js +0 -40
- package/dist/attachment-DdBbQcEB.js +0 -302
- package/dist/avatar-BnlE5jjr.js +0 -100
- package/dist/avatar-group-4rBj99tz.js +0 -47
- package/dist/badge-C6rbwVpu.js +0 -94
- package/dist/breadcrumb-Bf01N4wK.js +0 -218
- package/dist/button-DakQ-7Tm.js +0 -97
- package/dist/button-group-Det_nYor.js +0 -50
- package/dist/calendar-B3mio8iQ.js +0 -387
- package/dist/card-CpVu8PyZ.js +0 -102
- package/dist/carousel-BPi-Y5yF.js +0 -498
- package/dist/cascader-CARCYdHh.js +0 -1097
- package/dist/checkbox-CwUOc-3u.js +0 -139
- package/dist/checkbox-group-BYTjgAcX.js +0 -108
- package/dist/code-block-CFHf8uTm.js +0 -269
- package/dist/collapsible-CGo49NNW.js +0 -217
- package/dist/color-picker-BlPR4g4H.js +0 -504
- package/dist/column-manager-CNZ7Xk5_.js +0 -585
- package/dist/combobox-C46GRqAA.js +0 -852
- package/dist/command-palette-BqRyNR9Y.js +0 -707
- package/dist/container-CjxY6rYv.js +0 -46
- package/dist/context-menu-DMiHdggw.js +0 -150
- package/dist/currency-field-B7OZ0hk7.js +0 -436
- package/dist/dashboard-grid-nfhEewA4.js +0 -1005
- package/dist/data-grid-BUgOJuGp.js +0 -3648
- package/dist/data-list-2xfDpHVC.js +0 -561
- package/dist/date-field-D_kLLTfL.js +0 -279
- package/dist/date-picker-DQ5SIhdA.js +0 -264
- package/dist/date-range-picker-lpB08hK_.js +0 -471
- package/dist/datetime-field-T1gNdJ7t.js +0 -411
- package/dist/datetime-picker-0F0kDW-8.js +0 -629
- package/dist/datetime-range-picker-ClnEleth.js +0 -994
- package/dist/description-list-IYLnFgHT.js +0 -232
- package/dist/dialog-Dmy-m_pe.js +0 -499
- package/dist/divider-D36Jqo0J.js +0 -33
- package/dist/drawer-Ci3wuCVa.js +0 -758
- package/dist/entity-picker-UGhbVwkC.js +0 -1111
- package/dist/field-BJh5HI7w.js +0 -365
- package/dist/field-group-BDaspQPh.js +0 -138
- package/dist/filter-bar-b2Q9BZHf.js +0 -1335
- package/dist/fullscreen-CF0UN4mv.js +0 -187
- package/dist/grid-CIkG_2IQ.js +0 -25
- package/dist/highlight-0Qw23QPp.js +0 -57
- package/dist/hover-card-CSDbA6zd.js +0 -214
- package/dist/icon-T9Yt4tnm.js +0 -73
- package/dist/icon-button-TnvMhK4o.js +0 -211
- package/dist/import-export-center-D8xbCLWs.js +0 -813
- package/dist/inline-D_IjcJ1n.js +0 -16
- package/dist/inline-message-C4a-A2mw.js +0 -91
- package/dist/kbd-eFSWTKxN.js +0 -100
- package/dist/link-TjvRl2VQ.js +0 -87
- package/dist/list-C1Y8MWp2.js +0 -87
- package/dist/list-item-DN_mcouU.js +0 -123
- package/dist/listbox-4WvqR0JF.js +0 -615
- package/dist/loading-overlay-B83XFctM.js +0 -208
- package/dist/markdown-CpfDn1LF.js +0 -295
- package/dist/menu-parts-BQej6eU9.js +0 -787
- package/dist/menubar-CtGavUTO.js +0 -156
- package/dist/message-Cp0rLCyW.js +0 -430
- package/dist/message-scroller-UZjFpflz.js +0 -214
- package/dist/multi-select-CfzsvAeI.js +0 -1193
- package/dist/navigation-menu-parts-D8qFAwHX.js +0 -492
- package/dist/notification-center-C4pEHJ3h.js +0 -485
- package/dist/number-field-J_koud1r.js +0 -342
- package/dist/page-header-CWEBfMGq.js +0 -367
- package/dist/page-kQgLctsA.js +0 -167
- package/dist/pagination-DWJc521r.js +0 -292
- package/dist/popover-DE22lSpV.js +0 -476
- package/dist/progress-indicator-DwvUSFFs.js +0 -269
- package/dist/prompt-composer-B7MMcER0.js +0 -259
- package/dist/prose-CkeNYS0X.js +0 -91
- package/dist/radio-group-BFpjhDkV.js +0 -140
- package/dist/rating-D1EsADFM.js +0 -459
- package/dist/react-dom-DzrKNxo6.js +0 -273
- package/dist/result-state-CZsQfdN4.js +0 -126
- package/dist/saved-views-BueW-Lyb.js +0 -446
- package/dist/scroll-area-BriwmvYY.js +0 -111
- package/dist/section-Be7dX9MC.js +0 -176
- package/dist/segmented-control-Cy_5D3Nj.js +0 -149
- package/dist/select-UTwKjheK.js +0 -957
- package/dist/side-navigation-YUiJRpng.js +0 -729
- package/dist/skeleton-2LSpg84Z.js +0 -143
- package/dist/slider-B432T6nD.js +0 -256
- package/dist/sparkline-rY7HIFE4.js +0 -131
- package/dist/split-button-DHF3v3PJ.js +0 -135
- package/dist/splitter-Bg3UgmbV.js +0 -289
- package/dist/stack-BEFavbRs.js +0 -15
- package/dist/stat-card-BG7uLytP.js +0 -244
- package/dist/status-indicator-BOjpXkU5.js +0 -73
- package/dist/stepper-DQJuRWqR.js +0 -253
- package/dist/switch-4MHwKmkz.js +0 -138
- package/dist/table-CzBIw9ng.js +0 -970
- package/dist/table-of-contents-DfAeYtFJ.js +0 -461
- package/dist/tabs-DQ36APY-.js +0 -343
- package/dist/tag-DjtW53xN.js +0 -365
- package/dist/tags-input-DLdHLWrH.js +0 -625
- package/dist/text-field-BktZbmzD.js +0 -195
- package/dist/textarea-JAK2RJl0.js +0 -99
- package/dist/time-field-DCG_VtGO.js +0 -355
- package/dist/time-picker-DuT1tf5-.js +0 -396
- package/dist/time-range-picker-HwBvrrXN.js +0 -745
- package/dist/timeline-DH_02ysz.js +0 -421
- package/dist/toggle-CBFhM4Jh.js +0 -64
- package/dist/toggle-group-DQBlI1TV.js +0 -140
- package/dist/toolbar-CDQTydDx.js +0 -240
- package/dist/tooltip-BggqPDcW.js +0 -393
- package/dist/top-navigation-COQZsNqW.js +0 -740
- package/dist/tour-C11DmYTC.js +0 -799
- package/dist/transfer-JA9TWjAw.js +0 -596
- package/dist/tree-C6fYJqT9.js +0 -783
- package/dist/typography-B2iaigEC.js +0 -92
- package/dist/upload-Bq_UiyMr.js +0 -613
- package/dist/visually-hidden-CE6u5JLW.js +0 -14
- package/dist/wizard-B4GrlEqh.js +0 -815
|
@@ -788,6 +788,7 @@ const COLUMNS: GridColumn<Shipment>[] = [
|
|
|
788
788
|
];
|
|
789
789
|
|
|
790
790
|
const ROWS = shipments(12);
|
|
791
|
+
const DISABLED = ['SH-3305'];
|
|
791
792
|
|
|
792
793
|
export default function DataGridSelection() {
|
|
793
794
|
const [value, setValue] = useState<string | readonly string[] | null>(['SH-3302', 'SH-3303']);
|
|
@@ -799,7 +800,7 @@ export default function DataGridSelection() {
|
|
|
799
800
|
columns={COLUMNS}
|
|
800
801
|
rowKey="id"
|
|
801
802
|
rows={ROWS}
|
|
802
|
-
disabledKeys={
|
|
803
|
+
disabledKeys={DISABLED}
|
|
803
804
|
footer={
|
|
804
805
|
<Text size="sm" tone="muted">
|
|
805
806
|
{count} selected
|
|
@@ -2109,7 +2110,7 @@ Excerpt — not a complete module
|
|
|
2109
2110
|
|
|
2110
2111
|
### Load more
|
|
2111
2112
|
|
|
2112
|
-
With an unknown total the footer states the range without one
|
|
2113
|
+
With an unknown total the footer states the range without one. onLoadMore is called on its own as the reader nears the end, and the footer says a page is loading; it offers a control only to retry a page that failed (loadMoreFailed). loadMoreTrigger="button" asks only from a Load more control, "both" does the two.
|
|
2113
2114
|
|
|
2114
2115
|
Excerpt — not a complete module
|
|
2115
2116
|
|
|
@@ -2124,7 +2125,7 @@ Excerpt — not a complete module
|
|
|
2124
2125
|
|
|
2125
2126
|
### Empty, no results, error, loading
|
|
2126
2127
|
|
|
2127
|
-
Three states a body can hold instead of rows, each a result-state: nothing at all; nothing after the filter, with Clear filters; and a failed load, with Try again. A first load draws skeleton rows; a refresh over rows already shown dims them and moves nothing.
|
|
2128
|
+
Three states a body can hold instead of rows, each a result-state: nothing at all; nothing after the filter, with Clear filters; and a failed load, with Try again. A first load draws skeleton rows; a refresh over rows already shown dims them and moves nothing. Zero rows is an answer too: once the grid has drawn the empty state, loading keeps it and draws no skeleton, and loading="initial" asks for the skeleton anyway.
|
|
2128
2129
|
|
|
2129
2130
|
Excerpt — not a complete module
|
|
2130
2131
|
|
|
@@ -2328,6 +2329,11 @@ A renderer draws anything: an avatar beside the name, a thumbnail in a custom co
|
|
|
2328
2329
|
Excerpt — not a complete module
|
|
2329
2330
|
|
|
2330
2331
|
```tsx
|
|
2332
|
+
const MEDIA_COLUMNS: DataGridColumn<Shipment>[] = [
|
|
2333
|
+
...columns,
|
|
2334
|
+
{ id: 'photo', label: 'Cargo', kind: 'custom', sortable: false },
|
|
2335
|
+
];
|
|
2336
|
+
|
|
2331
2337
|
<DataGrid
|
|
2332
2338
|
cellRenderers={{
|
|
2333
2339
|
customer: ({ row }) => (
|
|
@@ -2338,7 +2344,7 @@ Excerpt — not a complete module
|
|
|
2338
2344
|
),
|
|
2339
2345
|
photo: ({ row }) => <Image alt="" radius="sm" ratio="landscape" src={row.photo} />,
|
|
2340
2346
|
}}
|
|
2341
|
-
columns={
|
|
2347
|
+
columns={MEDIA_COLUMNS}
|
|
2342
2348
|
rowHeight={56}
|
|
2343
2349
|
/>;
|
|
2344
2350
|
```
|
package/dist/docs/data-grid.json
CHANGED
|
@@ -52,6 +52,10 @@
|
|
|
52
52
|
"popin",
|
|
53
53
|
"scroll"
|
|
54
54
|
],
|
|
55
|
+
"resizeMode": [
|
|
56
|
+
"live",
|
|
57
|
+
"deferred"
|
|
58
|
+
],
|
|
55
59
|
"activatable": [
|
|
56
60
|
true,
|
|
57
61
|
false
|
|
@@ -98,6 +102,8 @@
|
|
|
98
102
|
"skeletonRows": 8,
|
|
99
103
|
"filterDebounce": 300,
|
|
100
104
|
"loadMoreThreshold": 20,
|
|
105
|
+
"loadMoreTrigger": "scroll",
|
|
106
|
+
"resizeMode": "live",
|
|
101
107
|
"pageSizes": [
|
|
102
108
|
25,
|
|
103
109
|
50,
|
|
@@ -150,6 +156,7 @@
|
|
|
150
156
|
"column-menu",
|
|
151
157
|
"column-menu-description",
|
|
152
158
|
"resizer",
|
|
159
|
+
"resize-guide",
|
|
153
160
|
"drop-indicator",
|
|
154
161
|
"filter-row",
|
|
155
162
|
"filter-cell",
|
|
@@ -271,6 +278,12 @@
|
|
|
271
278
|
"required": false,
|
|
272
279
|
"purpose": "The pointer’s handle on the trailing edge; a double press fits the column."
|
|
273
280
|
},
|
|
281
|
+
{
|
|
282
|
+
"part": "resize-guide",
|
|
283
|
+
"element": "div[aria-hidden]",
|
|
284
|
+
"required": false,
|
|
285
|
+
"purpose": "Under resizeMode=\"deferred\", the line a drag moves by translate across the scroller’s height; the width is applied on release."
|
|
286
|
+
},
|
|
274
287
|
{
|
|
275
288
|
"part": "drop-indicator",
|
|
276
289
|
"element": "div",
|
|
@@ -496,7 +509,7 @@
|
|
|
496
509
|
"type": "GridColumn<Row>[]",
|
|
497
510
|
"defaultValue": "—",
|
|
498
511
|
"appliesTo": "DataGrid",
|
|
499
|
-
"description": "The column model: id, label, description, kind, accessor, format, compare, width, minWidth, maxWidth, flex, priority, sortable, filterable, searchable, editable, resizable, reorderable, hideable, rowHeader, options, aggregate, validate, parse — and help, a node for the column’s help popover."
|
|
512
|
+
"description": "The column model: id, label, description, kind, accessor, format, compare, width, minWidth, maxWidth, flex, priority, sortable, filterable, searchable, editable, resizable, reorderable, hideable, rowHeader, pinned (end by default for kind actions), options, aggregate, validate, parse — and help, a node for the column’s help popover."
|
|
500
513
|
},
|
|
501
514
|
{
|
|
502
515
|
"name": "description",
|
|
@@ -552,14 +565,14 @@
|
|
|
552
565
|
"type": "boolean",
|
|
553
566
|
"defaultValue": "—",
|
|
554
567
|
"appliesTo": "DataGrid",
|
|
555
|
-
"description": "Whether a page past this one exists when the total is unknown;
|
|
568
|
+
"description": "Whether a page past this one exists when the total is unknown; loadMoreTrigger decides what asks for it."
|
|
556
569
|
},
|
|
557
570
|
{
|
|
558
571
|
"name": "loading",
|
|
559
|
-
"type": "boolean",
|
|
572
|
+
"type": "boolean | 'initial' | 'refresh'",
|
|
560
573
|
"defaultValue": "false",
|
|
561
574
|
"appliesTo": "DataGrid",
|
|
562
|
-
"description": "Skeleton rows with no
|
|
575
|
+
"description": "Skeleton rows with no answer to keep; aria-busy over an answer already drawn — rows, which dim, or the empty state, which stays. true is initial until the grid has drawn an answer, and refresh after; rows emptied while a load starts wait in the skeleton."
|
|
563
576
|
},
|
|
564
577
|
{
|
|
565
578
|
"name": "error",
|
|
@@ -904,6 +917,27 @@
|
|
|
904
917
|
"appliesTo": "DataGrid",
|
|
905
918
|
"description": "Asked for the next page when hasMore is true."
|
|
906
919
|
},
|
|
920
|
+
{
|
|
921
|
+
"name": "resizeMode",
|
|
922
|
+
"type": "'live' | 'deferred'",
|
|
923
|
+
"defaultValue": "live",
|
|
924
|
+
"appliesTo": "DataGrid",
|
|
925
|
+
"description": "How a pointer drag of a resizer applies the width: on every move, or once on release while a guide (the resize-guide part) follows the pointer and the rows stay still. Escape during a deferred drag leaves the width. The keyboard step and autofit apply at once in either mode."
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"name": "loadMoreTrigger",
|
|
929
|
+
"type": "'scroll' | 'button' | 'both'",
|
|
930
|
+
"defaultValue": "scroll",
|
|
931
|
+
"appliesTo": "DataGrid",
|
|
932
|
+
"description": "What asks for the next page: nearing the end, with a loading status in the footer; a Load more control; or both."
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
"name": "loadMoreFailed",
|
|
936
|
+
"type": "boolean",
|
|
937
|
+
"defaultValue": "false",
|
|
938
|
+
"appliesTo": "DataGrid",
|
|
939
|
+
"description": "The last page asked for failed: the automatic request stops and the footer offers Try again."
|
|
940
|
+
},
|
|
907
941
|
{
|
|
908
942
|
"name": "onRetry",
|
|
909
943
|
"type": "() => void",
|
|
@@ -1086,7 +1120,7 @@
|
|
|
1086
1120
|
"type": "component",
|
|
1087
1121
|
"defaultValue": "—",
|
|
1088
1122
|
"appliesTo": "Application",
|
|
1089
|
-
"description": "Sets variant, striped, stickyHeader, stickyTo, selectionMode, editMode, filterRow, virtualize, rowHeight, columnOverflow, overscan, pageSizes, filterDebounce, loadMoreThreshold and skeletonRows once for a subtree. A grid that states one itself still wins. Its words and its locale come from the language in force (SlottedProvider)."
|
|
1123
|
+
"description": "Sets variant, striped, stickyHeader, stickyTo, selectionMode, editMode, filterRow, virtualize, rowHeight, columnOverflow, overscan, pageSizes, filterDebounce, loadMoreThreshold, loadMoreTrigger, resizeMode and skeletonRows once for a subtree. A grid that states one itself still wins. Its words and its locale come from the language in force (SlottedProvider)."
|
|
1090
1124
|
},
|
|
1091
1125
|
{
|
|
1092
1126
|
"name": "@slotted/core/grid",
|
|
@@ -1189,6 +1223,7 @@
|
|
|
1189
1223
|
}
|
|
1190
1224
|
],
|
|
1191
1225
|
"accessibility": [
|
|
1226
|
+
"`columns`, `disabledKeys` and a function `rowKey` are compared by identity: a new array or function on a render of the parent re-renders every mounted row, so declare them at module scope or memoise them. The renderers — `cellRenderers`, `editorRenderers`, `renderCell`, `renderEditor`, `renderHeader`, `renderGroup`, `renderDetail` — `messages` and `tree` are read when a row renders and may be written inline. A row renders again for its own row object, selection, cursor, edit or expansion, and for a change of `columns` or the language; a renderer whose output reads state outside its row is refreshed by memoising `columns` on that state.",
|
|
1192
1227
|
"The root is role=\"grid\": a composite widget with one tab stop. The current cell — or the single simple widget inside it, a link, a button or a checkbox — is the only element with tabindex=\"0\"; Tab enters there and leaves the grid to the next control of the page, which is what the APG requires of a grid and what a table cannot give.",
|
|
1193
1228
|
"Every row carries aria-rowindex against aria-rowcount on the root, and every cell aria-colindex against aria-colcount, always: the grid windows its rows and columns, so the DOM is never the whole set, and the counts are what let a screen reader say “row 4,812 of 9,000”.",
|
|
1194
1229
|
"aria-sort is written on the first sort key’s header only — the practice says more than one is ambiguous — and the whole order is announced through the live announcer: “Sorted by Carrier ascending, Weight descending”. A resize announces the column and its width; a filter announces its sentence through describeFilter; a copy announces the count.",
|
|
@@ -1207,7 +1242,9 @@
|
|
|
1207
1242
|
"--slotted-control-font-size-md",
|
|
1208
1243
|
"--slotted-control-font-size-sm",
|
|
1209
1244
|
"--slotted-control-gap-md",
|
|
1245
|
+
"--slotted-control-height-lg",
|
|
1210
1246
|
"--slotted-control-height-md",
|
|
1247
|
+
"--slotted-control-height-sm",
|
|
1211
1248
|
"--slotted-control-icon-size-md",
|
|
1212
1249
|
"--slotted-control-inner-size-sm",
|
|
1213
1250
|
"--slotted-control-invalid-edge-width",
|
|
@@ -1243,6 +1280,8 @@
|
|
|
1243
1280
|
"--slotted-data-grid-pin-shadow-size",
|
|
1244
1281
|
"--slotted-data-grid-radius",
|
|
1245
1282
|
"--slotted-data-grid-range-surface",
|
|
1283
|
+
"--slotted-data-grid-resize-guide-color",
|
|
1284
|
+
"--slotted-data-grid-resize-guide-width",
|
|
1246
1285
|
"--slotted-data-grid-row-block-size",
|
|
1247
1286
|
"--slotted-data-grid-row-color-selected",
|
|
1248
1287
|
"--slotted-data-grid-row-max-block-size",
|
|
@@ -1368,7 +1407,7 @@
|
|
|
1368
1407
|
"title": "Row selection",
|
|
1369
1408
|
"note": "single chooses one row with a press; multiple draws the checkbox column, pinned to the start: Shift extends from the anchor, Shift+Space toggles the row from any cell, Ctrl+A and the header checkbox cover every row the query left and say so in their name.",
|
|
1370
1409
|
"language": "tsx",
|
|
1371
|
-
"source": "import { useState } from 'react';\nimport type { GridColumn } from '@slotted/core/grid';\nimport { DataGrid } from '@slotted/react/data-grid';\nimport { Text } from '@slotted/react/typography';\n\ninterface Shipment {\n id: string;\n customer: string;\n destination: string;\n carrier: string;\n status: string;\n shipped: string;\n weight: number;\n cost: number;\n priority: boolean;\n}\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 DESTINATIONS = [\n 'Berlin, DE',\n 'Marseille, FR',\n 'Graz, AT',\n 'Bräcke, SE',\n 'Rio de Janeiro, BR',\n 'Cowes, UK',\n 'Boise, US',\n 'Oulu, FI',\n];\nconst CARRIERS = ['UPS', 'FedEx', 'DHL', 'USPS'];\nconst STATUSES = ['In transit', 'Delivered', 'Delayed', 'Customs'];\n\nfunction shipments(count: number): Shipment[] {\n let seed = 7;\n const next = () => (seed = (seed * 1664525 + 1013904223) % 4294967296) / 4294967296;\n const pick = <T,>(list: readonly T[]) => list[Math.floor(next() * list.length)]!;\n return Array.from({ length: count }, (_, index) => {\n const weight = Math.round(next() * 9000) / 10;\n return {\n id: `SH-${3301 + index}`,\n customer: pick(CUSTOMERS),\n destination: pick(DESTINATIONS),\n carrier: pick(CARRIERS),\n status: pick(STATUSES),\n shipped: `2026-09-${String(1 + Math.floor(next() * 28)).padStart(2, '0')}`,\n weight,\n cost: Math.round(weight * (2 + next() * 3) * 100) / 100,\n priority: next() < 0.3,\n };\n });\n}\n\nconst USD = new Intl.NumberFormat('en-US', { currency: 'USD', style: 'currency' });\nconst money = (value: unknown) => (typeof value === 'number' ? USD.format(value) : '');\nconst kilograms = (value: unknown) => (typeof value === 'number' ? `${value.toFixed(1)} kg` : '');\n\nconst COLUMNS: GridColumn<Shipment>[] = [\n { id: 'id', label: 'Shipment', accessor: 'id', rowHeader: true, width: 120, text: 'nowrap' },\n { id: 'customer', label: 'Customer', accessor: 'customer', flex: 1, minWidth: 180 },\n { id: 'destination', label: 'Destination', accessor: 'destination', width: 170 },\n {\n id: 'carrier',\n label: 'Carrier',\n accessor: 'carrier',\n kind: 'set',\n width: 110,\n options: CARRIERS.map((value) => ({ value, label: value })),\n },\n {\n id: 'status',\n label: 'Status',\n accessor: 'status',\n kind: 'set',\n width: 120,\n options: STATUSES.map((value) => ({ value, label: value })),\n },\n { id: 'shipped', label: 'Shipped', accessor: 'shipped', kind: 'date', width: 130 },\n {\n id: 'weight',\n label: 'Weight',\n accessor: 'weight',\n kind: 'number',\n width: 110,\n format: kilograms,\n },\n { id: 'cost', label: 'Cost', accessor: 'cost', kind: 'number', width: 120, format: money },\n];\n\nconst ROWS = shipments(12);\n\nexport default function DataGridSelection() {\n const [value, setValue] = useState<string | readonly string[] | null>(['SH-3302', 'SH-3303']);\n const count = Array.isArray(value) ? value.length : value === null ? 0 : 1;\n\n return (\n <DataGrid\n aria-label=\"Shipments\"\n columns={COLUMNS}\n rowKey=\"id\"\n rows={ROWS}\n disabledKeys={
|
|
1410
|
+
"source": "import { useState } from 'react';\nimport type { GridColumn } from '@slotted/core/grid';\nimport { DataGrid } from '@slotted/react/data-grid';\nimport { Text } from '@slotted/react/typography';\n\ninterface Shipment {\n id: string;\n customer: string;\n destination: string;\n carrier: string;\n status: string;\n shipped: string;\n weight: number;\n cost: number;\n priority: boolean;\n}\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 DESTINATIONS = [\n 'Berlin, DE',\n 'Marseille, FR',\n 'Graz, AT',\n 'Bräcke, SE',\n 'Rio de Janeiro, BR',\n 'Cowes, UK',\n 'Boise, US',\n 'Oulu, FI',\n];\nconst CARRIERS = ['UPS', 'FedEx', 'DHL', 'USPS'];\nconst STATUSES = ['In transit', 'Delivered', 'Delayed', 'Customs'];\n\nfunction shipments(count: number): Shipment[] {\n let seed = 7;\n const next = () => (seed = (seed * 1664525 + 1013904223) % 4294967296) / 4294967296;\n const pick = <T,>(list: readonly T[]) => list[Math.floor(next() * list.length)]!;\n return Array.from({ length: count }, (_, index) => {\n const weight = Math.round(next() * 9000) / 10;\n return {\n id: `SH-${3301 + index}`,\n customer: pick(CUSTOMERS),\n destination: pick(DESTINATIONS),\n carrier: pick(CARRIERS),\n status: pick(STATUSES),\n shipped: `2026-09-${String(1 + Math.floor(next() * 28)).padStart(2, '0')}`,\n weight,\n cost: Math.round(weight * (2 + next() * 3) * 100) / 100,\n priority: next() < 0.3,\n };\n });\n}\n\nconst USD = new Intl.NumberFormat('en-US', { currency: 'USD', style: 'currency' });\nconst money = (value: unknown) => (typeof value === 'number' ? USD.format(value) : '');\nconst kilograms = (value: unknown) => (typeof value === 'number' ? `${value.toFixed(1)} kg` : '');\n\nconst COLUMNS: GridColumn<Shipment>[] = [\n { id: 'id', label: 'Shipment', accessor: 'id', rowHeader: true, width: 120, text: 'nowrap' },\n { id: 'customer', label: 'Customer', accessor: 'customer', flex: 1, minWidth: 180 },\n { id: 'destination', label: 'Destination', accessor: 'destination', width: 170 },\n {\n id: 'carrier',\n label: 'Carrier',\n accessor: 'carrier',\n kind: 'set',\n width: 110,\n options: CARRIERS.map((value) => ({ value, label: value })),\n },\n {\n id: 'status',\n label: 'Status',\n accessor: 'status',\n kind: 'set',\n width: 120,\n options: STATUSES.map((value) => ({ value, label: value })),\n },\n { id: 'shipped', label: 'Shipped', accessor: 'shipped', kind: 'date', width: 130 },\n {\n id: 'weight',\n label: 'Weight',\n accessor: 'weight',\n kind: 'number',\n width: 110,\n format: kilograms,\n },\n { id: 'cost', label: 'Cost', accessor: 'cost', kind: 'number', width: 120, format: money },\n];\n\nconst ROWS = shipments(12);\nconst DISABLED = ['SH-3305'];\n\nexport default function DataGridSelection() {\n const [value, setValue] = useState<string | readonly string[] | null>(['SH-3302', 'SH-3303']);\n const count = Array.isArray(value) ? value.length : value === null ? 0 : 1;\n\n return (\n <DataGrid\n aria-label=\"Shipments\"\n columns={COLUMNS}\n rowKey=\"id\"\n rows={ROWS}\n disabledKeys={DISABLED}\n footer={\n <Text size=\"sm\" tone=\"muted\">\n {count} selected\n </Text>\n }\n height=\"24rem\"\n onValueChange={setValue}\n selectionMode=\"multiple\"\n value={value}\n />\n );\n}\n",
|
|
1372
1411
|
"verdict": "example"
|
|
1373
1412
|
},
|
|
1374
1413
|
{
|
|
@@ -1526,7 +1565,7 @@
|
|
|
1526
1565
|
{
|
|
1527
1566
|
"id": "load-more",
|
|
1528
1567
|
"title": "Load more",
|
|
1529
|
-
"note": "With an unknown total the footer states the range without one
|
|
1568
|
+
"note": "With an unknown total the footer states the range without one. onLoadMore is called on its own as the reader nears the end, and the footer says a page is loading; it offers a control only to retry a page that failed (loadMoreFailed). loadMoreTrigger=\"button\" asks only from a Load more control, \"both\" does the two.",
|
|
1530
1569
|
"language": "tsx",
|
|
1531
1570
|
"source": "<DataGrid\n hasMore={hasMore}\n onLoadMore={fetchMore}\n query={{ ...emptyQuery(), page: { cursor, size: 50 } }}\n rows={rows}\n/>;\n",
|
|
1532
1571
|
"verdict": "excerpt"
|
|
@@ -1534,7 +1573,7 @@
|
|
|
1534
1573
|
{
|
|
1535
1574
|
"id": "empty-and-loading",
|
|
1536
1575
|
"title": "Empty, no results, error, loading",
|
|
1537
|
-
"note": "Three states a body can hold instead of rows, each a result-state: nothing at all; nothing after the filter, with Clear filters; and a failed load, with Try again. A first load draws skeleton rows; a refresh over rows already shown dims them and moves nothing.",
|
|
1576
|
+
"note": "Three states a body can hold instead of rows, each a result-state: nothing at all; nothing after the filter, with Clear filters; and a failed load, with Try again. A first load draws skeleton rows; a refresh over rows already shown dims them and moves nothing. Zero rows is an answer too: once the grid has drawn the empty state, loading keeps it and draws no skeleton, and loading=\"initial\" asks for the skeleton anyway.",
|
|
1538
1577
|
"language": "tsx",
|
|
1539
1578
|
"source": "<DataGrid error={error} loading={loading} onRetry={reload} rows={rows} />;\n",
|
|
1540
1579
|
"verdict": "excerpt"
|
|
@@ -1584,7 +1623,7 @@
|
|
|
1584
1623
|
"title": "Pictures in cells",
|
|
1585
1624
|
"note": "A renderer draws anything: an avatar beside the name, a thumbnail in a custom column. A stated rowHeight is the drawn row as well as the windowed one, so ten thousand rows of 56 pixels scroll to the right place. A cell with a picture and a name is one flex row of the renderer’s own; the grid lays out the renderer’s first element as the value.",
|
|
1586
1625
|
"language": "tsx",
|
|
1587
|
-
"source": "<DataGrid\n cellRenderers={{\n customer: ({ row }) => (\n <span className=\"customer\">\n <Avatar name={row.customer} size=\"sm\" />\n <span>{row.customer}</span>\n </span>\n ),\n photo: ({ row }) => <Image alt=\"\" radius=\"sm\" ratio=\"landscape\" src={row.photo} />,\n }}\n columns={
|
|
1626
|
+
"source": "const MEDIA_COLUMNS: DataGridColumn<Shipment>[] = [\n ...columns,\n { id: 'photo', label: 'Cargo', kind: 'custom', sortable: false },\n];\n\n<DataGrid\n cellRenderers={{\n customer: ({ row }) => (\n <span className=\"customer\">\n <Avatar name={row.customer} size=\"sm\" />\n <span>{row.customer}</span>\n </span>\n ),\n photo: ({ row }) => <Image alt=\"\" radius=\"sm\" ratio=\"landscape\" src={row.photo} />,\n }}\n columns={MEDIA_COLUMNS}\n rowHeight={56}\n/>;\n",
|
|
1588
1627
|
"verdict": "excerpt"
|
|
1589
1628
|
},
|
|
1590
1629
|
{
|
package/dist/docs/data-grid.md
CHANGED
|
@@ -122,6 +122,7 @@ export default function DataGridBasic() {
|
|
|
122
122
|
| `column-menu` | button | no |
|
|
123
123
|
| `column-menu-description` | div[aria-hidden] | no |
|
|
124
124
|
| `resizer` | div[aria-hidden] | no |
|
|
125
|
+
| `resize-guide` | div[aria-hidden] | no |
|
|
125
126
|
| `drop-indicator` | div | no |
|
|
126
127
|
| `filter-row` | div[role="row"] | no |
|
|
127
128
|
| `filter-cell` | div[role="gridcell"] | no |
|
|
@@ -191,6 +192,7 @@ See [data-grid.props.md](./data-grid.props.md).
|
|
|
191
192
|
| `filterRow` | `true`, `false` | `false` |
|
|
192
193
|
| `virtualize` | `auto`, `true`, `false` | `auto` |
|
|
193
194
|
| `columnOverflow` | `auto`, `popin`, `scroll` | `auto` |
|
|
195
|
+
| `resizeMode` | `live`, `deferred` | `live` |
|
|
194
196
|
| `activatable` | `true`, `false` | `false` |
|
|
195
197
|
| `align` | `start`, `center`, `end` | `start` |
|
|
196
198
|
| `numeric` | `true`, `false` | `false` |
|
|
@@ -199,6 +201,7 @@ See [data-grid.props.md](./data-grid.props.md).
|
|
|
199
201
|
|
|
200
202
|
## Rules
|
|
201
203
|
|
|
204
|
+
- `columns`, `disabledKeys` and a function `rowKey` are compared by identity: a new array or function on a render of the parent re-renders every mounted row, so declare them at module scope or memoise them. The renderers — `cellRenderers`, `editorRenderers`, `renderCell`, `renderEditor`, `renderHeader`, `renderGroup`, `renderDetail` — `messages` and `tree` are read when a row renders and may be written inline. A row renders again for its own row object, selection, cursor, edit or expansion, and for a change of `columns` or the language; a renderer whose output reads state outside its row is refreshed by memoising `columns` on that state.
|
|
202
205
|
- The root is role="grid": a composite widget with one tab stop. The current cell — or the single simple widget inside it, a link, a button or a checkbox — is the only element with tabindex="0"; Tab enters there and leaves the grid to the next control of the page, which is what the APG requires of a grid and what a table cannot give.
|
|
203
206
|
- Every row carries aria-rowindex against aria-rowcount on the root, and every cell aria-colindex against aria-colcount, always: the grid windows its rows and columns, so the DOM is never the whole set, and the counts are what let a screen reader say “row 4,812 of 9,000”.
|
|
204
207
|
- aria-sort is written on the first sort key’s header only — the practice says more than one is ambiguous — and the whole order is announced through the live announcer: “Sorted by Carrier ascending, Weight descending”. A resize announces the column and its width; a filter announces its sentence through describeFilter; a copy announces the count.
|
|
@@ -208,7 +211,7 @@ See [data-grid.props.md](./data-grid.props.md).
|
|
|
208
211
|
|
|
209
212
|
## Tokens
|
|
210
213
|
|
|
211
|
-
`--slotted-border-strong`, `--slotted-border-subtle`, `--slotted-border-width-thick`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-gap-md`, `--slotted-control-height-md`, `--slotted-control-icon-size-md`, `--slotted-control-inner-size-sm`, `--slotted-control-invalid-edge-width`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-data-grid-band-surface`, `--slotted-data-grid-block-size`, `--slotted-data-grid-border-color`, `--slotted-data-grid-border-color-strong`, `--slotted-data-grid-border-width`, `--slotted-data-grid-cell-padding-block`, `--slotted-data-grid-cell-padding-inline`, `--slotted-data-grid-changed-surface`, `--slotted-data-grid-color`, `--slotted-data-grid-color-muted`, `--slotted-data-grid-control-radius`, `--slotted-data-grid-cursor-color`, `--slotted-data-grid-filter-operator-size`, `--slotted-data-grid-filter-panel-size`, `--slotted-data-grid-filter-panel-size-date`, `--slotted-data-grid-filter-panel-size-datetime`, `--slotted-data-grid-font-family`, `--slotted-data-grid-font-size`, `--slotted-data-grid-gap`, `--slotted-data-grid-head-block-size`, `--slotted-data-grid-header-surface`, `--slotted-data-grid-header-surface-hover`, `--slotted-data-grid-icon-size`, `--slotted-data-grid-indent`, `--slotted-data-grid-pin-shadow-color`, `--slotted-data-grid-pin-shadow-size`, `--slotted-data-grid-radius`, `--slotted-data-grid-range-surface`, `--slotted-data-grid-row-block-size`, `--slotted-data-grid-row-color-selected`, `--slotted-data-grid-row-max-block-size`, `--slotted-data-grid-row-surface-hover`, `--slotted-data-grid-row-surface-selected`, `--slotted-data-grid-row-surface-selected-hover`, `--slotted-data-grid-row-surface-stripe`, `--slotted-data-grid-shadow`, `--slotted-data-grid-sticky-offset`, `--slotted-data-grid-sticky-offset-end`, `--slotted-data-grid-surface`, `--slotted-disabled-foreground`, `--slotted-duration-long`, `--slotted-duration-loop`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--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-popover-gap`, `--slotted-popover-padding-block-sm`, `--slotted-popover-padding-inline-sm`, `--slotted-radius-md`, `--slotted-radius-sm`, `--slotted-scrim`, `--slotted-shadow-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-8`, `--slotted-surface`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-subtle-hover`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-sticky`
|
|
214
|
+
`--slotted-border-strong`, `--slotted-border-subtle`, `--slotted-border-width-thick`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-gap-md`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-md`, `--slotted-control-inner-size-sm`, `--slotted-control-invalid-edge-width`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-data-grid-band-surface`, `--slotted-data-grid-block-size`, `--slotted-data-grid-border-color`, `--slotted-data-grid-border-color-strong`, `--slotted-data-grid-border-width`, `--slotted-data-grid-cell-padding-block`, `--slotted-data-grid-cell-padding-inline`, `--slotted-data-grid-changed-surface`, `--slotted-data-grid-color`, `--slotted-data-grid-color-muted`, `--slotted-data-grid-control-radius`, `--slotted-data-grid-cursor-color`, `--slotted-data-grid-filter-operator-size`, `--slotted-data-grid-filter-panel-size`, `--slotted-data-grid-filter-panel-size-date`, `--slotted-data-grid-filter-panel-size-datetime`, `--slotted-data-grid-font-family`, `--slotted-data-grid-font-size`, `--slotted-data-grid-gap`, `--slotted-data-grid-head-block-size`, `--slotted-data-grid-header-surface`, `--slotted-data-grid-header-surface-hover`, `--slotted-data-grid-icon-size`, `--slotted-data-grid-indent`, `--slotted-data-grid-pin-shadow-color`, `--slotted-data-grid-pin-shadow-size`, `--slotted-data-grid-radius`, `--slotted-data-grid-range-surface`, `--slotted-data-grid-resize-guide-color`, `--slotted-data-grid-resize-guide-width`, `--slotted-data-grid-row-block-size`, `--slotted-data-grid-row-color-selected`, `--slotted-data-grid-row-max-block-size`, `--slotted-data-grid-row-surface-hover`, `--slotted-data-grid-row-surface-selected`, `--slotted-data-grid-row-surface-selected-hover`, `--slotted-data-grid-row-surface-stripe`, `--slotted-data-grid-shadow`, `--slotted-data-grid-sticky-offset`, `--slotted-data-grid-sticky-offset-end`, `--slotted-data-grid-surface`, `--slotted-disabled-foreground`, `--slotted-duration-long`, `--slotted-duration-loop`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--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-popover-gap`, `--slotted-popover-padding-block-sm`, `--slotted-popover-padding-inline-sm`, `--slotted-radius-md`, `--slotted-radius-sm`, `--slotted-scrim`, `--slotted-shadow-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-8`, `--slotted-surface`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-subtle-hover`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-sticky`
|
|
212
215
|
|
|
213
216
|
## Examples
|
|
214
217
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
| --- | --- | --- | --- | --- |
|
|
10
10
|
| `rows` | `readonly Row[]` | — | DataGrid | The records; the grid never mutates them. Left out when a dataSource answers for them. |
|
|
11
11
|
| `rowKey` | `keyof Row \| (row) => string` | — | DataGrid | A field name or a function: the key every state model names a row by. |
|
|
12
|
-
| `columns` | `GridColumn<Row>[]` | — | DataGrid | The column model: id, label, description, kind, accessor, format, compare, width, minWidth, maxWidth, flex, priority, sortable, filterable, searchable, editable, resizable, reorderable, hideable, rowHeader, options, aggregate, validate, parse — and help, a node for the column’s help popover. |
|
|
12
|
+
| `columns` | `GridColumn<Row>[]` | — | DataGrid | The column model: id, label, description, kind, accessor, format, compare, width, minWidth, maxWidth, flex, priority, sortable, filterable, searchable, editable, resizable, reorderable, hideable, rowHeader, pinned (end by default for kind actions), options, aggregate, validate, parse — and help, a node for the column’s help popover. |
|
|
13
13
|
| `description` | `string` | — | DataGridColumn | What the column is: the header’s accessible description, the caption atop its menu and the first line of its help popover. |
|
|
14
14
|
| `help` | `ReactNode` | — | DataGridColumn | The column’s own help, under the description in the popover the column-help button opens. Its presence alone draws the button. |
|
|
15
15
|
| `priority` | `number` | — | DataGridColumn | The lower, the longer the column stays when the frame is too narrow. A column without one leaves before every numbered one; the identity column and an actions column never leave. |
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
| `columnGroups` | `GridColumnGroup[]` | — | DataGrid | Headings spanning columns, drawn as a row above the names. |
|
|
18
18
|
| `mode` | `'client' \| 'server'` | inferred | DataGrid | client applies the query to rows; server draws rows as given. server when totalCount or hasMore is present. |
|
|
19
19
|
| `totalCount` | `number` | — | DataGrid | The whole set’s size in server mode; aria-rowcount and the range read it. |
|
|
20
|
-
| `hasMore` | `boolean` | — | DataGrid | Whether a page past this one exists when the total is unknown;
|
|
21
|
-
| `loading` | `boolean` | false | DataGrid | Skeleton rows with no
|
|
20
|
+
| `hasMore` | `boolean` | — | DataGrid | Whether a page past this one exists when the total is unknown; loadMoreTrigger decides what asks for it. |
|
|
21
|
+
| `loading` | `boolean \| 'initial' \| 'refresh'` | false | DataGrid | Skeleton rows with no answer to keep; aria-busy over an answer already drawn — rows, which dim, or the empty state, which stays. true is initial until the grid has drawn an answer, and refresh after; rows emptied while a load starts wait in the skeleton. |
|
|
22
22
|
| `error` | `string \| null` | — | DataGrid | The message of a failed load; draws the error state with Try again when onRetry is set. |
|
|
23
23
|
| `disabledKeys` | `string[]` | — | DataGrid | Rows that are neither selectable nor editable, drawn with data-disabled. |
|
|
24
24
|
| `query` | `GridQuery` | — | DataGrid | sort, filter, search, page and group in one object. Present puts the query in controlled mode. |
|
|
@@ -68,6 +68,9 @@
|
|
|
68
68
|
| `highlightChanges` | `boolean \| number` | false | DataGrid | Marks a mounted cell whose value changed between two rows, for the stated milliseconds (true is 1200). |
|
|
69
69
|
| `loadMoreThreshold` | `number` | 20 | DataGrid | Rows left below the window before onLoadMore is called. |
|
|
70
70
|
| `onLoadMore` | `() => void` | — | DataGrid | Asked for the next page when hasMore is true. |
|
|
71
|
+
| `resizeMode` | `'live' \| 'deferred'` | live | DataGrid | How a pointer drag of a resizer applies the width: on every move, or once on release while a guide (the resize-guide part) follows the pointer and the rows stay still. Escape during a deferred drag leaves the width. The keyboard step and autofit apply at once in either mode. |
|
|
72
|
+
| `loadMoreTrigger` | `'scroll' \| 'button' \| 'both'` | scroll | DataGrid | What asks for the next page: nearing the end, with a loading status in the footer; a Load more control; or both. |
|
|
73
|
+
| `loadMoreFailed` | `boolean` | false | DataGrid | The last page asked for failed: the automatic request stops and the footer offers Try again. |
|
|
71
74
|
| `onRetry` | `() => void` | — | DataGrid | The error state’s Try again. |
|
|
72
75
|
| `skeletonRows` | `number` | 8 | DataGrid | Rows the first load draws. |
|
|
73
76
|
| `pageSizes` | `number[]` | 25,50,100 | DataGrid | The sizes a page-size control in the footer offers, read through useDataGridDefaults. |
|
|
@@ -93,7 +96,7 @@
|
|
|
93
96
|
| `align` | `'start' \| 'center' \| 'end'` | start | GridColumn | Where the value sits; a number column sits at the end unless told otherwise. |
|
|
94
97
|
| `numeric` | `boolean` | false | GridColumn | Tabular figures and end alignment; true for kind number. |
|
|
95
98
|
| `text` | `'wrap' \| 'truncate' \| 'nowrap'` | truncate | GridColumn | What a long value does. |
|
|
96
|
-
| `DataGridDefaultsProvider` | `component` | — | Application | Sets variant, striped, stickyHeader, stickyTo, selectionMode, editMode, filterRow, virtualize, rowHeight, columnOverflow, overscan, pageSizes, filterDebounce, loadMoreThreshold and skeletonRows once for a subtree. A grid that states one itself still wins. Its words and its locale come from the language in force (SlottedProvider). |
|
|
99
|
+
| `DataGridDefaultsProvider` | `component` | — | Application | Sets variant, striped, stickyHeader, stickyTo, selectionMode, editMode, filterRow, virtualize, rowHeight, columnOverflow, overscan, pageSizes, filterDebounce, loadMoreThreshold, loadMoreTrigger, resizeMode and skeletonRows once for a subtree. A grid that states one itself still wins. Its words and its locale come from the language in force (SlottedProvider). |
|
|
97
100
|
| `@slotted/core/grid` | `module` | — | Application | applyQuery, emptyQuery, withSortPress, withColumnFilter, withSearch, withPageIndex, withGroup, toGridParams, fromGridParams, normalizeColumnState, serializeColumnState, parseColumnState: the engine the grid runs on, for a server mock, a URL and a saved view. |
|
|
98
101
|
| `renderCell, renderEditor, renderHeader, renderDetail, renderGroup, renderEmpty, renderFilterOperand` | `render props` | — | DataGrid | Every surface a consumer replaces, per grid or per column through cellRenderers and editorRenderers. row, cell, head and body are fixed: the layout and the roles are theirs. |
|
|
99
102
|
| `footer` | `ReactNode` | — | DataGrid | Pagination, a page-size select, a count: the consumer’s own controls in the bar the grid draws. |
|
package/dist/docs/data-list.json
CHANGED
package/dist/docs/data-list.md
CHANGED
|
@@ -125,7 +125,7 @@ Excerpt — not a complete module
|
|
|
125
125
|
|
|
126
126
|
## Tokens
|
|
127
127
|
|
|
128
|
-
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-size-sm`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-md`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-sans`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xs`, `--slotted-radius-sm`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-8`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-text`
|
|
128
|
+
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-size-sm`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-md`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-sans`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xs`, `--slotted-radius-sm`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-8`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-z-index-sticky`
|
|
129
129
|
|
|
130
130
|
## Examples
|
|
131
131
|
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"type": "PlainDate | null",
|
|
126
126
|
"defaultValue": "—",
|
|
127
127
|
"appliesTo": "DateField",
|
|
128
|
-
"description": "The date the control shows. Present means the consumer owns it: the control asks and waits rather than moving it."
|
|
128
|
+
"description": "The date the control shows. Present means the consumer owns it: the control asks and waits rather than moving it. PlainDate is exported by @slotted/core/date. parseISODate(text) returns a PlainDate or null, and toISODate(date) returns 'YYYY-MM-DD': value={parseISODate(iso)} onValueChange={(v) => setIso(v === null ? '' : toISODate(v))}."
|
|
129
129
|
},
|
|
130
130
|
{
|
|
131
131
|
"name": "defaultValue",
|
|
@@ -134,6 +134,13 @@
|
|
|
134
134
|
"appliesTo": "DateField",
|
|
135
135
|
"description": "The date the control starts from when nobody else writes one. Read once; a later change to it is not new state."
|
|
136
136
|
},
|
|
137
|
+
{
|
|
138
|
+
"name": "granularity",
|
|
139
|
+
"type": "'day' | 'month'",
|
|
140
|
+
"defaultValue": "day",
|
|
141
|
+
"appliesTo": "DateField",
|
|
142
|
+
"description": "What the control holds. month shows the month and the year segments in the locale’s order, takes the first day of the month as its value, and submits YYYY-MM through name."
|
|
143
|
+
},
|
|
137
144
|
{
|
|
138
145
|
"name": "min",
|
|
139
146
|
"type": "PlainDate",
|
|
@@ -325,6 +332,7 @@
|
|
|
325
332
|
"--slotted-border-subtle",
|
|
326
333
|
"--slotted-control-border-color",
|
|
327
334
|
"--slotted-control-border-width",
|
|
335
|
+
"--slotted-control-focus-ring-offset",
|
|
328
336
|
"--slotted-control-font-family",
|
|
329
337
|
"--slotted-control-font-size-lg",
|
|
330
338
|
"--slotted-control-font-size-md",
|
package/dist/docs/date-field.md
CHANGED
|
@@ -38,8 +38,9 @@ Excerpt — not a complete module
|
|
|
38
38
|
|
|
39
39
|
| Name | Type | Default | Applies to | Description |
|
|
40
40
|
| --- | --- | --- | --- | --- |
|
|
41
|
-
| `value` | `PlainDate \| null` | — | DateField | The date the control shows. Present means the consumer owns it: the control asks and waits rather than moving it. |
|
|
41
|
+
| `value` | `PlainDate \| null` | — | DateField | The date the control shows. Present means the consumer owns it: the control asks and waits rather than moving it. PlainDate is exported by @slotted/core/date. parseISODate(text) returns a PlainDate or null, and toISODate(date) returns 'YYYY-MM-DD': value={parseISODate(iso)} onValueChange={(v) => setIso(v === null ? '' : toISODate(v))}. |
|
|
42
42
|
| `defaultValue` | `PlainDate \| null` | — | DateField | The date the control starts from when nobody else writes one. Read once; a later change to it is not new state. |
|
|
43
|
+
| `granularity` | `'day' \| 'month'` | day | DateField | What the control holds. month shows the month and the year segments in the locale’s order, takes the first day of the month as its value, and submits YYYY-MM through name. |
|
|
43
44
|
| `min` | `PlainDate` | — | DateField | The earliest date the control accepts. Reported through each segment’s aria-valuemin, and a value below it makes the control invalid. |
|
|
44
45
|
| `max` | `PlainDate` | — | DateField | The latest date the control accepts, on the same terms as min. |
|
|
45
46
|
| `isDateUnavailable` | `(date: PlainDate) => boolean` | — | DateField | Refuses particular dates — a weekend, a holiday, a day already booked. A refused date makes the control invalid. |
|
|
@@ -89,7 +90,7 @@ Excerpt — not a complete module
|
|
|
89
90
|
|
|
90
91
|
## Tokens
|
|
91
92
|
|
|
92
|
-
`--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-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-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-shadow-focus-geometry`, `--slotted-control-surface`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-date-field-action-active-background`, `--slotted-date-field-action-color`, `--slotted-date-field-action-hover-background`, `--slotted-date-field-action-size`, `--slotted-date-field-adornment-color`, `--slotted-date-field-background`, `--slotted-date-field-border-color`, `--slotted-date-field-color`, `--slotted-date-field-disabled-background`, `--slotted-date-field-disabled-border-color`, `--slotted-date-field-disabled-color`, `--slotted-date-field-hover-border-color`, `--slotted-date-field-icon-size-min`, `--slotted-date-field-invalid-border-color`, `--slotted-date-field-invalid-edge-width`, `--slotted-date-field-invalid-focus-ring-color`, `--slotted-date-field-literal-color`, `--slotted-date-field-placeholder-color`, `--slotted-date-field-plain-hover-background`, `--slotted-date-field-radius`, `--slotted-date-field-readonly-background`, `--slotted-date-field-segment-focus-background`, `--slotted-date-field-segment-focus-color`, `--slotted-date-field-segment-min-inline-size`, `--slotted-date-field-segment-padding-inline`, `--slotted-date-field-segment-radius`, `--slotted-date-field-shadow`, `--slotted-date-field-subtle-background`, `--slotted-date-field-subtle-border-color`, `--slotted-date-field-subtle-hover-background`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-radius-none`, `--slotted-radius-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-on-solid`, `--slotted-tone-accent-solid`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
|
|
93
|
+
`--slotted-border-subtle`, `--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-focus-ring-offset`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--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-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-shadow-focus-geometry`, `--slotted-control-surface`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-date-field-action-active-background`, `--slotted-date-field-action-color`, `--slotted-date-field-action-hover-background`, `--slotted-date-field-action-size`, `--slotted-date-field-adornment-color`, `--slotted-date-field-background`, `--slotted-date-field-border-color`, `--slotted-date-field-color`, `--slotted-date-field-disabled-background`, `--slotted-date-field-disabled-border-color`, `--slotted-date-field-disabled-color`, `--slotted-date-field-hover-border-color`, `--slotted-date-field-icon-size-min`, `--slotted-date-field-invalid-border-color`, `--slotted-date-field-invalid-edge-width`, `--slotted-date-field-invalid-focus-ring-color`, `--slotted-date-field-literal-color`, `--slotted-date-field-placeholder-color`, `--slotted-date-field-plain-hover-background`, `--slotted-date-field-radius`, `--slotted-date-field-readonly-background`, `--slotted-date-field-segment-focus-background`, `--slotted-date-field-segment-focus-color`, `--slotted-date-field-segment-min-inline-size`, `--slotted-date-field-segment-padding-inline`, `--slotted-date-field-segment-radius`, `--slotted-date-field-shadow`, `--slotted-date-field-subtle-background`, `--slotted-date-field-subtle-border-color`, `--slotted-date-field-subtle-hover-background`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-radius-none`, `--slotted-radius-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-on-solid`, `--slotted-tone-accent-solid`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
|
|
93
94
|
|
|
94
95
|
## Examples
|
|
95
96
|
|
|
@@ -740,6 +740,35 @@ export default function DatePickerInvoiceDue() {
|
|
|
740
740
|
}
|
|
741
741
|
```
|
|
742
742
|
|
|
743
|
+
### iso-date.tsx
|
|
744
|
+
|
|
745
|
+
Example
|
|
746
|
+
|
|
747
|
+
```tsx
|
|
748
|
+
import { useState } from 'react';
|
|
749
|
+
import { DatePicker } from '@slotted/react/date-picker';
|
|
750
|
+
import { Field, FieldDescription, FieldLabel } from '@slotted/react/field';
|
|
751
|
+
import { isPlainDate, parseISODate, toISODate } from '@slotted/core/date';
|
|
752
|
+
|
|
753
|
+
export default function DatePickerIsoDate() {
|
|
754
|
+
/* The API carries the date as text; the picker holds a PlainDate. */
|
|
755
|
+
const [iso, setIso] = useState('2026-10-19');
|
|
756
|
+
|
|
757
|
+
return (
|
|
758
|
+
<Field>
|
|
759
|
+
<FieldLabel>Statement date</FieldLabel>
|
|
760
|
+
<DatePicker
|
|
761
|
+
onValueChange={(value) => setIso(isPlainDate(value) ? toISODate(value) : '')}
|
|
762
|
+
value={parseISODate(iso)}
|
|
763
|
+
/>
|
|
764
|
+
<FieldDescription>
|
|
765
|
+
{iso === '' ? 'No date sent.' : `The API receives ${iso}.`}
|
|
766
|
+
</FieldDescription>
|
|
767
|
+
</Field>
|
|
768
|
+
);
|
|
769
|
+
}
|
|
770
|
+
```
|
|
771
|
+
|
|
743
772
|
### locale.tsx
|
|
744
773
|
|
|
745
774
|
Example
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"type": "PlainDate | DateRange | PlainDate[] | null",
|
|
136
136
|
"defaultValue": "—",
|
|
137
137
|
"appliesTo": "DatePicker",
|
|
138
|
-
"description": "The selected value, whose shape follows selectionMode. Setting it makes the value controlled."
|
|
138
|
+
"description": "The selected value, whose shape follows selectionMode. Setting it makes the value controlled. PlainDate is exported by @slotted/core/date. parseISODate(text) returns a PlainDate or null, toISODate(date) returns 'YYYY-MM-DD', and isPlainDate(value) narrows the CalendarValue onValueChange reports: value={parseISODate(iso)} onValueChange={(v) => setIso(isPlainDate(v) ? toISODate(v) : '')}."
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
"name": "defaultValue",
|
|
@@ -179,6 +179,13 @@
|
|
|
179
179
|
"appliesTo": "DatePicker",
|
|
180
180
|
"description": "Returns true for a date the reader cannot choose. The calendar disables it, and a typed unavailable date marks the date picker invalid."
|
|
181
181
|
},
|
|
182
|
+
{
|
|
183
|
+
"name": "granularity",
|
|
184
|
+
"type": "'day' | 'month'",
|
|
185
|
+
"defaultValue": "day",
|
|
186
|
+
"appliesTo": "DatePicker",
|
|
187
|
+
"description": "What a choice is. month opens the calendar on the months of a year and chooses a month cell; the field shows the month and the year segments; value, defaultValue, min and max are PlainYearMonth from @slotted/core/date ({ year, month }), onValueChange reports one, and name submits YYYY-MM. parseISOYearMonth and toISOYearMonth convert to and from that text. selectionMode, months, isDateUnavailable and the week props do not apply."
|
|
188
|
+
},
|
|
182
189
|
{
|
|
183
190
|
"name": "selectionMode",
|
|
184
191
|
"type": "'single' | 'range' | 'multiple'",
|
|
@@ -627,6 +634,14 @@
|
|
|
627
634
|
"source": "import { useState } from 'react';\nimport { DatePicker } from '@slotted/react/date-picker';\nimport { Field, FieldDescription, FieldLabel } from '@slotted/react/field';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@slotted/react/select';\nimport { Stack } from '@slotted/react/stack';\nimport {\n addDays,\n createDateFormat,\n isPlainDate,\n plainDate,\n type PlainDate,\n} from '@slotted/core/date';\n\nconst TERMS = [\n { value: 'receipt', label: 'Due on receipt', days: 0 },\n { value: 'net-15', label: 'Net 15', days: 15 },\n { value: 'net-30', label: 'Net 30', days: 30 },\n { value: 'net-60', label: 'Net 60', days: 60 },\n];\nconst words = createDateFormat({ locale: 'en-US' });\n\nexport default function DatePickerInvoiceDue() {\n const [issued, setIssued] = useState<PlainDate | null>(plainDate(2026, 9, 30));\n const [terms, setTerms] = useState('net-30');\n const days = TERMS.find((option) => option.value === terms)?.days ?? 0;\n const due = issued === null ? null : addDays(issued, days);\n\n return (\n <Stack gap={5}>\n <Field required>\n <FieldLabel>Invoice date</FieldLabel>\n <DatePicker\n onValueChange={(value) => setIssued(isPlainDate(value) ? value : null)}\n value={issued}\n />\n </Field>\n <Field>\n <FieldLabel>Payment terms</FieldLabel>\n <Select\n items={TERMS}\n onValueChange={(next) => {\n if (typeof next === 'string') setTerms(next);\n }}\n value={terms}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {TERMS.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </Field>\n <Field readOnly>\n <FieldLabel>Due date</FieldLabel>\n <DatePicker value={due} />\n <FieldDescription>\n {due === null ? 'Set the invoice date first.' : `Payment is due ${words.describe(due)}.`}\n </FieldDescription>\n </Field>\n </Stack>\n );\n}\n",
|
|
628
635
|
"verdict": "example"
|
|
629
636
|
},
|
|
637
|
+
{
|
|
638
|
+
"id": "iso-date",
|
|
639
|
+
"title": "iso-date.tsx",
|
|
640
|
+
"note": null,
|
|
641
|
+
"language": "tsx",
|
|
642
|
+
"source": "import { useState } from 'react';\nimport { DatePicker } from '@slotted/react/date-picker';\nimport { Field, FieldDescription, FieldLabel } from '@slotted/react/field';\nimport { isPlainDate, parseISODate, toISODate } from '@slotted/core/date';\n\nexport default function DatePickerIsoDate() {\n /* The API carries the date as text; the picker holds a PlainDate. */\n const [iso, setIso] = useState('2026-10-19');\n\n return (\n <Field>\n <FieldLabel>Statement date</FieldLabel>\n <DatePicker\n onValueChange={(value) => setIso(isPlainDate(value) ? toISODate(value) : '')}\n value={parseISODate(iso)}\n />\n <FieldDescription>\n {iso === '' ? 'No date sent.' : `The API receives ${iso}.`}\n </FieldDescription>\n </Field>\n );\n}\n",
|
|
643
|
+
"verdict": "example"
|
|
644
|
+
},
|
|
630
645
|
{
|
|
631
646
|
"id": "locale",
|
|
632
647
|
"title": "locale.tsx",
|
package/dist/docs/date-picker.md
CHANGED
|
@@ -44,13 +44,14 @@ export default function DatePickerBasic() {
|
|
|
44
44
|
|
|
45
45
|
| Name | Type | Default | Applies to | Description |
|
|
46
46
|
| --- | --- | --- | --- | --- |
|
|
47
|
-
| `value` | `PlainDate \| DateRange \| PlainDate[] \| null` | — | DatePicker | The selected value, whose shape follows selectionMode. Setting it makes the value controlled. |
|
|
47
|
+
| `value` | `PlainDate \| DateRange \| PlainDate[] \| null` | — | DatePicker | The selected value, whose shape follows selectionMode. Setting it makes the value controlled. PlainDate is exported by @slotted/core/date. parseISODate(text) returns a PlainDate or null, toISODate(date) returns 'YYYY-MM-DD', and isPlainDate(value) narrows the CalendarValue onValueChange reports: value={parseISODate(iso)} onValueChange={(v) => setIso(isPlainDate(v) ? toISODate(v) : '')}. |
|
|
48
48
|
| `defaultValue` | `PlainDate \| DateRange \| PlainDate[] \| null` | — | DatePicker | The starting value of an uncontrolled date picker. Read once, on the first render. |
|
|
49
49
|
| `open` | `boolean` | — | DatePicker | Whether the calendar is showing. Setting it makes the open state controlled. |
|
|
50
50
|
| `defaultOpen` | `boolean` | false | DatePicker | Whether the calendar shows on the first render. Focus does not move into it. |
|
|
51
51
|
| `min` | `PlainDate` | — | DatePicker | The earliest date the field and the calendar accept. Earlier days are disabled in the calendar, and an earlier typed date marks the date picker invalid. |
|
|
52
52
|
| `max` | `PlainDate` | — | DatePicker | The latest date the field and the calendar accept. Later days are disabled in the calendar, and a later typed date marks the date picker invalid. |
|
|
53
53
|
| `isDateUnavailable` | `(date: PlainDate) => boolean` | — | DatePicker | Returns true for a date the reader cannot choose. The calendar disables it, and a typed unavailable date marks the date picker invalid. |
|
|
54
|
+
| `granularity` | `'day' \| 'month'` | day | DatePicker | What a choice is. month opens the calendar on the months of a year and chooses a month cell; the field shows the month and the year segments; value, defaultValue, min and max are PlainYearMonth from @slotted/core/date ({ year, month }), onValueChange reports one, and name submits YYYY-MM. parseISOYearMonth and toISOYearMonth convert to and from that text. selectionMode, months, isDateUnavailable and the week props do not apply. |
|
|
54
55
|
| `selectionMode` | `'single' \| 'range' \| 'multiple'` | single | DatePicker | How many dates the calendar selects, and so the shape of the value. The field shows a single date only; for a start and an end, use DateRangePicker. |
|
|
55
56
|
| `months` | `number` | 1 | DatePicker | How many months the calendar draws side by side. |
|
|
56
57
|
| `defaultView` | `'day' \| 'month' \| 'year'` | day | DatePicker | The grid the calendar opens on. |
|
|
@@ -419,6 +419,7 @@
|
|
|
419
419
|
"--slotted-border-subtle",
|
|
420
420
|
"--slotted-control-border-color",
|
|
421
421
|
"--slotted-control-border-width",
|
|
422
|
+
"--slotted-control-focus-ring-offset",
|
|
422
423
|
"--slotted-control-font-family",
|
|
423
424
|
"--slotted-control-font-size-lg",
|
|
424
425
|
"--slotted-control-font-size-md",
|
|
@@ -103,7 +103,7 @@ Excerpt — not a complete module
|
|
|
103
103
|
|
|
104
104
|
## Tokens
|
|
105
105
|
|
|
106
|
-
`--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-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-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-shadow-focus-geometry`, `--slotted-control-surface`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-datetime-field-action-active-background`, `--slotted-datetime-field-action-color`, `--slotted-datetime-field-action-hover-background`, `--slotted-datetime-field-action-size`, `--slotted-datetime-field-adornment-color`, `--slotted-datetime-field-background`, `--slotted-datetime-field-border-color`, `--slotted-datetime-field-color`, `--slotted-datetime-field-disabled-background`, `--slotted-datetime-field-disabled-border-color`, `--slotted-datetime-field-disabled-color`, `--slotted-datetime-field-half-gap`, `--slotted-datetime-field-hover-border-color`, `--slotted-datetime-field-icon-size-min`, `--slotted-datetime-field-incomplete-border-color`, `--slotted-datetime-field-invalid-border-color`, `--slotted-datetime-field-invalid-edge-width`, `--slotted-datetime-field-invalid-focus-ring-color`, `--slotted-datetime-field-literal-color`, `--slotted-datetime-field-padding-block`, `--slotted-datetime-field-period-min-inline-size`, `--slotted-datetime-field-placeholder-color`, `--slotted-datetime-field-plain-hover-background`, `--slotted-datetime-field-preview-color`, `--slotted-datetime-field-preview-day-color`, `--slotted-datetime-field-radius`, `--slotted-datetime-field-readonly-background`, `--slotted-datetime-field-relative-border-color`, `--slotted-datetime-field-segment-focus-background`, `--slotted-datetime-field-segment-focus-color`, `--slotted-datetime-field-segment-min-inline-size`, `--slotted-datetime-field-segment-padding-inline`, `--slotted-datetime-field-segment-radius`, `--slotted-datetime-field-shadow`, `--slotted-datetime-field-subtle-background`, `--slotted-datetime-field-subtle-border-color`, `--slotted-datetime-field-subtle-hover-background`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-weight-semibold`, `--slotted-radius-none`, `--slotted-radius-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-on-solid`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-tone-warning-border`
|
|
106
|
+
`--slotted-border-subtle`, `--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-focus-ring-offset`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--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-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-shadow-focus-geometry`, `--slotted-control-surface`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-datetime-field-action-active-background`, `--slotted-datetime-field-action-color`, `--slotted-datetime-field-action-hover-background`, `--slotted-datetime-field-action-size`, `--slotted-datetime-field-adornment-color`, `--slotted-datetime-field-background`, `--slotted-datetime-field-border-color`, `--slotted-datetime-field-color`, `--slotted-datetime-field-disabled-background`, `--slotted-datetime-field-disabled-border-color`, `--slotted-datetime-field-disabled-color`, `--slotted-datetime-field-half-gap`, `--slotted-datetime-field-hover-border-color`, `--slotted-datetime-field-icon-size-min`, `--slotted-datetime-field-incomplete-border-color`, `--slotted-datetime-field-invalid-border-color`, `--slotted-datetime-field-invalid-edge-width`, `--slotted-datetime-field-invalid-focus-ring-color`, `--slotted-datetime-field-literal-color`, `--slotted-datetime-field-padding-block`, `--slotted-datetime-field-period-min-inline-size`, `--slotted-datetime-field-placeholder-color`, `--slotted-datetime-field-plain-hover-background`, `--slotted-datetime-field-preview-color`, `--slotted-datetime-field-preview-day-color`, `--slotted-datetime-field-radius`, `--slotted-datetime-field-readonly-background`, `--slotted-datetime-field-relative-border-color`, `--slotted-datetime-field-segment-focus-background`, `--slotted-datetime-field-segment-focus-color`, `--slotted-datetime-field-segment-min-inline-size`, `--slotted-datetime-field-segment-padding-inline`, `--slotted-datetime-field-segment-radius`, `--slotted-datetime-field-shadow`, `--slotted-datetime-field-subtle-background`, `--slotted-datetime-field-subtle-border-color`, `--slotted-datetime-field-subtle-hover-background`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-weight-semibold`, `--slotted-radius-none`, `--slotted-radius-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-on-solid`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-tone-warning-border`
|
|
107
107
|
|
|
108
108
|
## Examples
|
|
109
109
|
|
|
@@ -392,6 +392,8 @@
|
|
|
392
392
|
"--slotted-detail-panel-aside-size-md",
|
|
393
393
|
"--slotted-detail-panel-aside-size-sm",
|
|
394
394
|
"--slotted-detail-panel-border",
|
|
395
|
+
"--slotted-detail-panel-footer-backdrop-filter",
|
|
396
|
+
"--slotted-detail-panel-footer-background",
|
|
395
397
|
"--slotted-detail-panel-gap-lg",
|
|
396
398
|
"--slotted-detail-panel-gap-md",
|
|
397
399
|
"--slotted-detail-panel-gap-sm",
|
|
@@ -453,9 +455,9 @@
|
|
|
453
455
|
{
|
|
454
456
|
"id": "hosts",
|
|
455
457
|
"title": "Three hosts, one anatomy",
|
|
456
|
-
"note": "The same panel as a page’s content at level 1, as a drawer’s body with the drawer’s own close in the header actions, and as a split’s pane scrolling itself. Nothing in the panel names its host: scroll=\"self\" is the one difference a pane makes.",
|
|
458
|
+
"note": "The same panel as a page’s content at level 1, as a drawer’s body with the drawer’s own close in the header actions, and as a split’s pane scrolling itself. Nothing in the panel names its host: scroll=\"self\" is the one difference a pane makes. A pane that paints a ground of its own declares --slotted-page-ground with that ground, so a sticky section header inside the panel matches the pane and not the page.",
|
|
457
459
|
"language": "tsx",
|
|
458
|
-
"source": "<Drawer open={open} onOpenChange={setOpen}>\n <DrawerPanel>\n <DrawerBody>\n <DetailPanel recordKey={order.id} footer={<OrderFooter />}>\n …\n </DetailPanel>\n </DrawerBody>\n </DrawerPanel>\n</Drawer>;\n\n<DetailPanel recordKey={order.id} scroll=\"self\">\n
|
|
460
|
+
"source": "<Drawer open={open} onOpenChange={setOpen}>\n <DrawerPanel>\n <DrawerBody>\n <DetailPanel recordKey={order.id} footer={<OrderFooter />}>\n …\n </DetailPanel>\n </DrawerBody>\n </DrawerPanel>\n</Drawer>;\n\n<div\n className=\"pane\"\n style={\n {\n background: 'var(--slotted-surface)',\n '--slotted-page-ground': 'var(--slotted-surface)',\n } as CSSProperties\n }\n>\n <DetailPanel recordKey={order.id} scroll=\"self\">\n …\n </DetailPanel>\n</div>;\n",
|
|
459
461
|
"verdict": "excerpt"
|
|
460
462
|
},
|
|
461
463
|
{
|