@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
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: list pages
|
|
3
|
+
prefix: LP
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
list,
|
|
7
|
+
listing,
|
|
8
|
+
table,
|
|
9
|
+
grid,
|
|
10
|
+
data-grid,
|
|
11
|
+
columns,
|
|
12
|
+
rows,
|
|
13
|
+
search,
|
|
14
|
+
filter,
|
|
15
|
+
filter-bar,
|
|
16
|
+
saved view,
|
|
17
|
+
preset,
|
|
18
|
+
bulk,
|
|
19
|
+
selection,
|
|
20
|
+
action-bar,
|
|
21
|
+
pagination,
|
|
22
|
+
page size,
|
|
23
|
+
count,
|
|
24
|
+
truncate,
|
|
25
|
+
phone,
|
|
26
|
+
narrow,
|
|
27
|
+
badge,
|
|
28
|
+
tag,
|
|
29
|
+
]
|
|
30
|
+
families:
|
|
31
|
+
[data-grid, table, filter-bar, action-bar, pagination, page, page-header, link, badge, tag]
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
# List pages
|
|
35
|
+
|
|
36
|
+
How a screen that lists records is composed: where the search, the filters
|
|
37
|
+
and the bulk actions stand, what a row shows when a value does not fit, how
|
|
38
|
+
the count and the pager share the answer, and what a list of many columns
|
|
39
|
+
does on a phone. The library gives `data-grid` a query, `filter-bar` a tree,
|
|
40
|
+
`action-bar` a place for what a selection can do and `pagination` a page;
|
|
41
|
+
it does not say which of them holds the search, how many columns a phone
|
|
42
|
+
keeps, or whether a phone is offered a page size.
|
|
43
|
+
|
|
44
|
+
### LP-01 · A phone keeps the row header and the columns of highest priority; the rest move into the row
|
|
45
|
+
|
|
46
|
+
Level: SHOULD
|
|
47
|
+
Applies to: a `data-grid` of many columns that uses the pop-in: narrower than 600 pixels, or on a touch screen narrower than 1024 (the pop-in is the default)
|
|
48
|
+
Rule: The grid shows the selection column, the row header and the columns of highest priority that fit; the others move into the row's pop-in as labelled values, by `priority`, outside the column state, and no row is wider than the frame.
|
|
49
|
+
Why: A grid that scrolls sideways on a phone hides the value the reader came for behind a gesture the page also answers, a grid that shrinks twelve columns into 390 pixels shows none of them, and a grid that drops the columns it cannot fit leaves the screen without the facts it exists to show.
|
|
50
|
+
Do: Mark the identity column as the row header and give the key columns a `priority`, lowest for the one fact that says where to look first (for customers, the health). Columns without a priority move first. Turn the pop-in off only on a column another column already repeats. Keep the selection column: the bulk action is still the phone's. The column manager marks moved columns "Shown in row". Offer the list's sort from the list tools while the pop-in holds columns, since their headers are gone.
|
|
51
|
+
Don't: Let the frame scroll sideways on a phone, compute a phone column set from a media query into the column state, draw a column's value under the row header by hand, or give the row header a priority.
|
|
52
|
+
Check: At 390 pixels no row is wider than the frame, the first row's pop-in holds the moved columns as labelled `popin-field`s, and the list's sort is reachable from the list tools.
|
|
53
|
+
|
|
54
|
+
### LP-02 · The bar above the grid holds search, filters and views
|
|
55
|
+
|
|
56
|
+
Level: SHOULD
|
|
57
|
+
Applies to: a list page composed of `page-header`, `filter-bar` and `data-grid`
|
|
58
|
+
Rule: The search field, the filter pills and the saved views stand in one `filter-bar` as the first block of the page body, above the grid; the header keeps the title and the actions that create or leave the list.
|
|
59
|
+
Why: The bar is a `search` landmark with three tab stops whatever the field count, and it is a query container that folds its pills behind "Filters (n)" on its own; a search field in the header's actions or filters in the grid's header row lose that fold and split one query across two regions.
|
|
60
|
+
Do: Bind the bar's tree and query and the grid's query to one store; the bar's `end` slot holds what acts on the view (save, delete). Give the bar the count of the query beside the count of the tenant, so "12 of 1,146" reads as the filter's effect.
|
|
61
|
+
Don't: Put the search in `page-header`'s actions, draw a second search in the grid's filter row, or keep the saved views in the header's tabs: a view is a tree the bar already edits, and its select is the bar's `preset` part.
|
|
62
|
+
Check: Tab from the title: the search field, then the toolbar of pills, then the chips, then the grid. Below 36rem the pills fold behind "Filters (n)".
|
|
63
|
+
|
|
64
|
+
### LP-03 · A selection's actions stand in the page footer
|
|
65
|
+
|
|
66
|
+
Level: SHOULD
|
|
67
|
+
Applies to: bulk actions over a `data-grid` selection
|
|
68
|
+
Rule: The actions a selection allows stand in an `action-bar` in `page`'s footer part, open while the selection is not empty, with the count and Clear at the start and the action that confirms at the end.
|
|
69
|
+
Why: The footer is the page's own bar for what finishes a task and stays at the bottom of the scroll; a bar drawn above the grid moves the rows when it appears, and one floating over them covers the last rows.
|
|
70
|
+
Do: Open the footer on the selection; the bar takes its `plain` variant because the footer already paints a ground. Rank the actions so that the confirming one never moves and the rest give way to the overflow. On a phone the bar becomes a column; offer the mutations only — a file export is a desk's task.
|
|
71
|
+
Don't: Draw the selection bar inside the grid's footer beside the pager, or leave the export in the phone's column.
|
|
72
|
+
Check: Select two rows: the footer opens with the selection count, Clear, and the actions end-aligned; clear the selection and the footer leaves.
|
|
73
|
+
|
|
74
|
+
### LP-04 · A value that does not fit truncates, and the row does not grow
|
|
75
|
+
|
|
76
|
+
Level: MUST
|
|
77
|
+
Applies to: any text cell of a listing, the row header in particular
|
|
78
|
+
Rule: A value longer than its column is cut with an ellipsis and kept whole in the cell's title; a cell template that replaces the family's value carries the cut, the title and the value's own maximum.
|
|
79
|
+
Why: A row that grows with its longest value pushes every other column out of the frame, a value that wraps makes rows of two heights in a list the eye scans by line, and a value wider than its column is drawn over the next one — a value in the wrong column.
|
|
80
|
+
Do: Leave the column's text mode at its default, `truncate`, and let the family cut the value. Where the cell is a template — a link on the name, a name over a second line — the template carries three things and not one: the cut, the title, and a maximum of the whole width. The maximum is the part that is easy to leave out and the only one that fails silently: the families that draw a name size their box to their content, a value that never wraps has its whole string as its minimum, and the grid bounds the cell's own child and reaches no further. Give near-duplicate names a column that tells them apart: the account number.
|
|
81
|
+
Don't: Put a name column in its `wrap` mode, ask for a cut without an ellipsis, or let a template's value keep its content's width inside a layout family the template wrapped it in.
|
|
82
|
+
Check: Drag the column narrower than its longest value: the value ends in an ellipsis at the column's edge and nothing of it stands in the next column.
|
|
83
|
+
|
|
84
|
+
### LP-05 · The count is the bar's; the range is the pager's
|
|
85
|
+
|
|
86
|
+
Level: SHOULD
|
|
87
|
+
Applies to: a paged listing with a `filter-bar` above and a `pagination` in the grid's footer
|
|
88
|
+
Rule: The filter bar states how many rows the query kept of how many there are; the pager states the range on screen and moves the page; the grid's own range line is off.
|
|
89
|
+
Why: Three numbers saying overlapping things — "1,146 of 1,146", "1–25 of 1,146", "1–25 of 1146" — are two too many; each part answers one question: what the filter did, and where in it the reader is.
|
|
90
|
+
Do: The bar's `count` part reads the query's count and the tenant's total; the grid's range line is off; the pager with its `status`, its `page-size` and the two triggers is projected as the grid's `footer`. Below the phone step the page size is not offered: the footer is the range and the triggers.
|
|
91
|
+
Don't: Draw the pager under the grid as a block of the page, or let the grid's range and the pager's status both stand.
|
|
92
|
+
Check: One count above the grid, one range in its footer; on a phone the footer is one line.
|
|
93
|
+
|
|
94
|
+
### LP-06 · A change of query empties the rows; a mutation keeps them
|
|
95
|
+
|
|
96
|
+
Level: SHOULD
|
|
97
|
+
Applies to: a `data-grid` in server mode over a store
|
|
98
|
+
Rule: A sort, a filter, a search, a page or a view removes the rows before the request and the grid draws its placeholders; a mutation read back keeps the rows in the grid's loading state, and the grid dims them.
|
|
99
|
+
Why: AF-04 and AF-02 applied to the grid: the family draws placeholders when it has no rows and dims the ones it has, so the store decides which of the two the reader sees by what it does with the rows.
|
|
100
|
+
Do: In the store, empty the rows when the incoming query differs from the current one and keep them when it is the same; keep one request sequence and discard an answer that a later request has overtaken.
|
|
101
|
+
Don't: Empty the rows on every request, or keep the previous page's rows under a new page while the answer is on its way.
|
|
102
|
+
Check: With the network throttled to a slow profile, a page change shows placeholder rows at once, and a mutation read back keeps the rows on screen, dimmed, in the grid's loading state.
|
|
103
|
+
|
|
104
|
+
### LP-07 · The grid fills the body and scrolls its own rows
|
|
105
|
+
|
|
106
|
+
Status: retired · rewritten as LP-12, which keeps the page to one scroller below the compact size class as well
|
|
107
|
+
|
|
108
|
+
### LP-08 · Every number on the screen names what it counts
|
|
109
|
+
|
|
110
|
+
Level: SHOULD
|
|
111
|
+
Applies to: a list page whose rows and whose pages count different things — contacts read account by account, lines read order by order
|
|
112
|
+
Rule: The bar's count, the pager's range and its page size name their unit in words.
|
|
113
|
+
Why: "62 of 62" above "1–25 of 1,146" reads as one number that contradicts itself; a reader cannot tell that one counts people and the other accounts.
|
|
114
|
+
Do: Pass the words to the families that draw the numbers — `filter-bar`'s `count` label and `pagination`'s `range` and page-size labels — and write one sentence between them that says what the page holds and what the pager turns.
|
|
115
|
+
Don't: Leave two bare ranges on one screen, or explain the difference only in a tooltip.
|
|
116
|
+
Check: Read the screen's numbers aloud: each names what it counts — the query's count, the page size, the range.
|
|
117
|
+
|
|
118
|
+
### LP-09 · A queue with no endpoint is the list its work is written against
|
|
119
|
+
|
|
120
|
+
Level: SHOULD
|
|
121
|
+
Applies to: a work queue the backend has no resource for — what to receive, what to ship, what to count
|
|
122
|
+
Rule: The queue is the list of the records the work is written against, narrowed by the states in which the work can be done and by the reader's scope, stated as the page's place; opening a row opens the form that does the work for a reader who can do it.
|
|
123
|
+
Why: A queue drawn from a resource that is not the work — a list of receipts already written — answers what was done instead of what is waiting, and a second copy of the records with a filter of its own drifts from the list it copies.
|
|
124
|
+
Do: Read the records' own list with the states as the page's place (BR-01), sort the flagged records first and then by what should already be done, let the bar's pills narrow within the place, and name the record the form writes where it is read — its address under the queue's destination.
|
|
125
|
+
Don't: Draw the states as the bar's pills a reader can remove, or open a row on the record and make the reader find the form.
|
|
126
|
+
Check: Open the queue as a reader with a narrowed scope: every row is a record in a state where the work can be done within that scope, the page's place states the narrowing, and opening a row opens the form that does the work.
|
|
127
|
+
|
|
128
|
+
### LP-10 · A chart about the list's records is the page's second tab
|
|
129
|
+
|
|
130
|
+
Level: SHOULD
|
|
131
|
+
Applies to: a comparison chart over the records of a list page that fills its body (LP-12)
|
|
132
|
+
Rule: The chart stands in the header's second tab, beside the list's own, and never as a block above the list.
|
|
133
|
+
Why: A chart above a list that fills the page takes the height the rows need: at 800 pixels a receiving queue under its chart showed two rows.
|
|
134
|
+
Do: Give the header two tabs — the list and the comparison — and draw the chart at its own size in its tab; where the comparison has one category, drop the tab and state its numbers in one sentence above the bar (OV-03).
|
|
135
|
+
Don't: Shrink the chart's plot under the family's smallest step to make room, or let the page scroll to reach the rows.
|
|
136
|
+
Check: At 1280 by 800 the list shows its rows from the top of the body; the header's second tab draws the chart, and no chart stands above the list.
|
|
137
|
+
|
|
138
|
+
### LP-11 · A control that changes nothing under the pointer is not offered
|
|
139
|
+
|
|
140
|
+
Level: SHOULD
|
|
141
|
+
Applies to: the list tools in the filter bar's `end` slot — the density control in particular
|
|
142
|
+
Rule: Where the primary input is a touch screen, the list tools leave out the row density: the theme raises every density's rows to the touch target, and the tools keep the sort, the views and the columns on one line.
|
|
143
|
+
Why: Three densities that draw the same 44-pixel rows are a control that answers nothing, and on a phone it took the line that pushed the grid down to one visible row.
|
|
144
|
+
Do: Decide the density control's presence from the pointer, not from the width: a narrow window with a mouse keeps it.
|
|
145
|
+
Don't: Keep every desk tool on a phone and let the `end` slot wrap to three lines above the rows.
|
|
146
|
+
Check: With touch emulation at 390 pixels the filter bar's `end` slot is one line and holds no density control; with a mouse at the same width it does.
|
|
147
|
+
|
|
148
|
+
### LP-12 · One scroller: the grid's above 600 pixels, the page's below
|
|
149
|
+
|
|
150
|
+
Level: MUST
|
|
151
|
+
Applies to: a page whose body is a `data-grid` or a `table` over a store, with a bar or a message above it
|
|
152
|
+
Rule: From 600 pixels of the page's width the listing takes the height the bar and the messages leave and scrolls its own rows while the page does not scroll; below 600 the page's `fill` does not apply, the listing is as tall as its rows and the page scrolls. Below 600 the grid therefore windows nothing, and a store that can pass a hundred rows is served in pages: the grid asks for the next one when its last `loadMoreThreshold` rows come into view of the page's scroller, not of its own box.
|
|
153
|
+
Why: Two scrollers on one screen let the wheel answer whichever is under the pointer; and on a phone a filled page left the rows 155 pixels of a 667-pixel screen under a header, a banner and the tools.
|
|
154
|
+
Do: Write the page with `fill`; make the region a flex column that takes its parent's full height with a zero minimum, and give the listing `flex: 1 1 0` with `min-block-size: 0`, and below 600 pixels a flex basis of auto, so the listing fills a column that has a height and takes its rows' height in one that has none. The page's footer bar (LP-03) stays outside it.
|
|
155
|
+
Don't: Keep the zero basis below 600 pixels, which collapses the listing to nothing once the column loses its height, or give it an `auto` basis above 600, where its rows' height climbs the column and the page scrolls again.
|
|
156
|
+
Check: At 1280 with a full page of rows, the document's scroll height equals its client height and the wheel over a row moves the rows; at 375×667 the document scrolls, the grid is as tall as its rows, opening the page over a store served 30 rows at a time requests pages only until the grid's last `loadMoreThreshold` rows are below the screen's edge, and scrolling to the end requests the next one.
|
|
157
|
+
|
|
158
|
+
### LP-13 · A mark in a cell is the small step
|
|
159
|
+
|
|
160
|
+
Level: SHOULD
|
|
161
|
+
Applies to: a `badge` or a `tag` drawn in a cell of a `data-grid` or a `table`
|
|
162
|
+
Rule: The mark takes the `sm` `size`; the default `md` belongs to a record's header and to a region with room around it.
|
|
163
|
+
Why: A row sets its text at the small type step, 13 pixels in a 34-pixel row; an `md` badge sets 13-pixel words in a 24-pixel box and stands taller and louder than the cells beside it, so a state column outweighs the record's name.
|
|
164
|
+
Do: Give every mark a cell holds — a state, a flag, a warning — the `sm` `size`: 12-pixel words in a 19-pixel box.
|
|
165
|
+
Don't: Leave a cell's mark at the family's default, or size it up to make a state stand out; a tone says that.
|
|
166
|
+
Check: On every list, every `badge` and `tag` inside a cell of a `data-grid` or a `table` carries the `sm` `size`.
|
|
167
|
+
|
|
168
|
+
### LP-14 · A list that can pass a hundred rows is a data-grid
|
|
169
|
+
|
|
170
|
+
Level: MUST
|
|
171
|
+
Applies to: a list of records whose count the reader does not bound — transactions, postings, imports
|
|
172
|
+
Rule: A list that can hold more than a hundred rows, or more than twenty columns, is a `data-grid`, which windows rows and middle columns under its default `virtualize` of `auto` wherever it has a height of its own; below 600 pixels, where it is as tall as its rows (LP-12), the store is served in pages instead. `table` is for sets the page bounds, such as a statement's lines or a record's related rows.
|
|
173
|
+
Why: `table` mounts every cell: a hundred rows of twenty columns measured 93 ms in one task with a production build of React in Chrome and 160 ms with a development build, and the count of rows the store returns sets that cost.
|
|
174
|
+
Do: Give the store's list a `data-grid` with its query, and keep `table` for the bounded sets inside a record or a document.
|
|
175
|
+
Don't: Render an unbounded store into a `table`, or page a `table` to keep it under a hundred rows where the grid's window would have kept the whole set reachable.
|
|
176
|
+
Check: Every list over an unbounded store is a `data-grid`; every `table` on a page renders a set the page bounds.
|
|
177
|
+
|
|
178
|
+
### LP-15 · A grid on the page's surface is framed
|
|
179
|
+
|
|
180
|
+
Level: SHOULD
|
|
181
|
+
Applies to: a `data-grid` or a `table` on a list page, a record or an overview
|
|
182
|
+
Rule: A grid that stands on the page's surface beside other blocks takes the `framed` `variant`; a grid that is the page's only body under a `bleed` page may stay `ruled`; `plain` is for a grid inside a `card` or a panel that already draws the frame.
|
|
183
|
+
Why: `ruled`, the grid's default, draws rules between rows and no outer edge, and on a raised page surface every grid read as a bare slab beside blocks that have edges.
|
|
184
|
+
Do: Give every grid that shares the page with a header area, a filter bar or other blocks the `framed` `variant`, and leave `ruled` to the full-bleed list whose edges are the page's.
|
|
185
|
+
Don't: Leave the variant at its default on a page whose width is not `bleed`, or frame a grid a second time inside a card.
|
|
186
|
+
Check: Every `data-grid` with no `variant` stands on a page whose `width` is `bleed`; every grid inside a `card` is `plain`.
|
|
187
|
+
|
|
188
|
+
### LP-16 · A list's header says what the list covers
|
|
189
|
+
|
|
190
|
+
Level: SHOULD
|
|
191
|
+
Applies to: the `page-header` of a list page
|
|
192
|
+
Rule: A list page's header holds a subheading that says what the list covers, the control of the period when the list reads one, the page's figures for that period in the header area as label-over-figure pairs, and the primary action as the last, solid control; a refresh control is an icon button and never the only action.
|
|
193
|
+
Why: A header with a heading and a refresh icon left the period and the totals with no place, and the reader learned what the list covered only by reading its rows.
|
|
194
|
+
Do: Write the `page-header`'s `subheading` part for what the list covers, the period's control and the figures in its `header-area` as `figure` parts, and end its `actions` with the solid primary action; the refresh stands before it as the `button` family's `iconButton`.
|
|
195
|
+
Don't: Leave a list's header as a heading alone, put its figures in a row of cards above the grid, or make a refresh icon the header's only control.
|
|
196
|
+
Check: Every list page's header has a subheading, its figures in the header area, and a solid primary action last; no header's only control is a refresh.
|
|
197
|
+
|
|
198
|
+
### LP-17 · The row header and the row's actions stay in the frame
|
|
199
|
+
|
|
200
|
+
Level: SHOULD
|
|
201
|
+
Applies to: a `data-grid` whose columns can scroll sideways
|
|
202
|
+
Rule: The column of kind `actions` stays pinned to the end, which is the grid's default, and the row header is pinned to the start with `pinned: 'start'` when it is the first column; no other column is pinned without a reason the page states.
|
|
203
|
+
Why: When the columns scrolled sideways the row's menu left the frame, and on a narrow frame the reader scrolled away from the actions to reach them.
|
|
204
|
+
Do: Keep the `actions` column at its default pin, write `pinned: 'start'` on a row header that is the first column, and pin nothing else.
|
|
205
|
+
Don't: Unpin the actions column, or pin a column the reader did not ask to keep in view.
|
|
206
|
+
Check: In a frame narrower than the grid's columns, scrolled to the end, every row's actions cell is in view, and so is the row header when it is the first column.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: overviews
|
|
3
|
+
prefix: OV
|
|
4
|
+
triggers:
|
|
5
|
+
[overview, dashboard, flagship, figure, stat card, exception, summary, chart, door, phone, narrow]
|
|
6
|
+
families: [stat-card, chart, list, list-item, table, section, grid]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Overviews
|
|
10
|
+
|
|
11
|
+
How a screen that summarises a module is composed: what its figures lead to,
|
|
12
|
+
what a phone keeps first, and when a chart earns its place. The library gives
|
|
13
|
+
`stat-card` a figure and an action, `chart` a comparison and its table, and
|
|
14
|
+
`list` rows that are destinations; it does not say that a figure is a door, in
|
|
15
|
+
which order a phone reads a summary, or that a comparison of one is not a
|
|
16
|
+
chart.
|
|
17
|
+
|
|
18
|
+
### OV-01 · Every figure opens the list it counts
|
|
19
|
+
|
|
20
|
+
Level: SHOULD
|
|
21
|
+
Applies to: a `stat-card` on an overview whose number counts records a list page holds
|
|
22
|
+
Rule: The figure leads to the list page of the records it counts, and that list opens with the figure's condition applied as the bar's own pills, which the reader removes like any other.
|
|
23
|
+
Why: A number the reader cannot open is a question with no way to its answer, and a list opened without the condition makes the reader rebuild the filter the figure already stood for.
|
|
24
|
+
Do: Put the door in the card's `action` part at the desk. Keep the list a destination of its own in the navigation, and let the overview summarise and lead rather than hold the list in its body. Carry the condition in the address, so the door is a link a colleague can paste.
|
|
25
|
+
Don't: Draw a figure with no way to the records, open the unfiltered list, or narrow the list through a place the bar does not show.
|
|
26
|
+
Check: Press each figure's door: the list's bar shows the figure's pill and its count equals the figure.
|
|
27
|
+
|
|
28
|
+
### OV-02 · A phone reads the summary in the order it is acted on
|
|
29
|
+
|
|
30
|
+
Level: SHOULD
|
|
31
|
+
Applies to: an overview in the compact size class
|
|
32
|
+
Rule: Below 600 pixels the figures are one `list` of rows that are destinations — label, comparison, number — followed by the records to act on, the work in flight, the charts, and the history last.
|
|
33
|
+
Why: Five cards two by two fill a phone's first screen before a single record is named, and each card's door wraps under its label below the label's floor.
|
|
34
|
+
Do: Draw the same figures as `list-item` rows whose content is the link and whose `end` holds the number, and place the regions by one grid whose areas change at the expanded size class.
|
|
35
|
+
Don't: Keep the desk's card grid on a phone, or put the charts above the records a reader acts on.
|
|
36
|
+
Check: At 390 pixels with a coarse pointer, the first screen holds the four figures as rows at least a touch target tall and the heading of the records to act on.
|
|
37
|
+
|
|
38
|
+
### OV-03 · A comparison of one is a sentence
|
|
39
|
+
|
|
40
|
+
Level: SHOULD
|
|
41
|
+
Applies to: a `chart` that compares categories whose number depends on the reader's scope — warehouses, teams, regions
|
|
42
|
+
Rule: Where the reader's scope holds one category, the chart is not drawn and one sentence states the numbers it would have compared.
|
|
43
|
+
Why: A bar chart of one category compares nothing, and it takes a chart's height to say three numbers.
|
|
44
|
+
Do: Decide the chart from the scope the page already reads, and write the sentence with the numbers and their unit.
|
|
45
|
+
Don't: Draw one group of bars, or leave an empty chart region for a reader scoped to one place.
|
|
46
|
+
Check: Sign in as a reader whose scope holds one category: the overview draws no comparison chart, and one sentence states that category's numbers.
|
|
47
|
+
|
|
48
|
+
### OV-04 · A threshold is said, not painted
|
|
49
|
+
|
|
50
|
+
Level: SHOULD
|
|
51
|
+
Applies to: a figure of an overview whose reading changes at a share the product states — overdue receivables against all receivables
|
|
52
|
+
Rule: The thresholds are stated once in words beside the figures, and a figure past one says so in its own comparison line, on the line the placeholder reserves.
|
|
53
|
+
Why: The figure card's tone is the trend's and paints nothing on a card without one, and a mark added beside the label moves the card's header to a second line.
|
|
54
|
+
Do: Keep the shares in one place of the page's code and one sentence on screen ("a warning from 20 percent of receivables and a danger from 33"), and end the crossed figure's comparison with the threshold it passed ("26% of receivables, above 20%").
|
|
55
|
+
Don't: Set a tone on a card with no trend and expect it to read, or add a badge to the card's header for the crossing.
|
|
56
|
+
Check: Bring a figure past each stated threshold: the threshold sentence stands beside the figures, and the figure's own comparison line says it crossed, on the line its placeholder reserved.
|
|
57
|
+
|
|
58
|
+
### OV-05 · A chart is framed only as a tile
|
|
59
|
+
|
|
60
|
+
Level: SHOULD
|
|
61
|
+
Applies to: `chart` and `stat-card` on an overview, a record's figures or a list's chart tab
|
|
62
|
+
Rule: A chart takes the `card` `variant` when it is one of two or more peer tiles in one grid with no section heading of its own, and stays `plain` when it is the body of a titled section or the only content of a tab.
|
|
63
|
+
Why: The section's heading and its space already frame a chart that is its body, and a card around it draws a second frame; peer tiles without headings need the frame to read as separate answers of the same height.
|
|
64
|
+
Do: Give a plain chart a `title` that names the measure and not the section's words again; in a grid of peer tiles, let the chart's title be the tile's title and share the row's height, as `stat-card` always does.
|
|
65
|
+
Don't: Frame every chart by habit, or leave a chart plain among framed tiles where it reads as the page's background.
|
|
66
|
+
Check: For each chart, name what frames it: a titled section (plain) or a grid of peers (card); a chart with neither frame, or with both, is a finding.
|
|
67
|
+
|
|
68
|
+
### OV-06 · The stat-cards of one row share their structure
|
|
69
|
+
|
|
70
|
+
Level: SHOULD
|
|
71
|
+
Applies to: a row of `stat-card`s on an overview or a record page
|
|
72
|
+
Rule: The cards of one row carry a label of at most three words, the figure, and the same optional parts on every card — a comparison of one line on each, or on none.
|
|
73
|
+
Why: One card with a long label and a wrapping comparison beside three cards with a label and a value made four boxes of the tallest card's height, three of them mostly empty, and the row read as broken.
|
|
74
|
+
Do: Give every card a short label, its figure and one comparison line; detail that only one card has goes into its comparison or a tooltip.
|
|
75
|
+
Don't: Lengthen one card's label to carry its detail, or give one card of the row a part the others lack.
|
|
76
|
+
Check: In every row of `stat-card`s, every label has three words or fewer, and either every card has a comparison or none does.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: own elements
|
|
3
|
+
prefix: OE
|
|
4
|
+
triggers:
|
|
5
|
+
[custom element, own component, bespoke, widget, CSS, style, token, hover, focus, animation]
|
|
6
|
+
families: [button, typography]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Own elements
|
|
10
|
+
|
|
11
|
+
How an element no family draws is built from the theme: which tokens it reads,
|
|
12
|
+
how its states yield, and what it keeps under focus, touch, forced colours and
|
|
13
|
+
reduced motion. The families meet each rule below; an element of the
|
|
14
|
+
application's own meets them through the same tokens. Where a family answers
|
|
15
|
+
the problem, the family is used instead (CP-04).
|
|
16
|
+
|
|
17
|
+
### OE-01 · Own elements read application tokens
|
|
18
|
+
|
|
19
|
+
Level: MUST
|
|
20
|
+
Applies to: every element of the application's own that paints, spaces or moves
|
|
21
|
+
Rule: An element of the application's own reads only tokens of the groups `../tokens.md` lists for the application.
|
|
22
|
+
Why: A token of a family-only group is that family's adjustment and changes with it; an application group is the theme's promise.
|
|
23
|
+
Do: A strip of day cells spaces with `--slotted-space-2`, paints a busy day with `--slotted-tone-warning-surface` and rounds with `--slotted-radius-sm`.
|
|
24
|
+
Don't: A cell takes its height from `--slotted-avatar-size-sm` because the number fit.
|
|
25
|
+
Check: Every custom property of the element's own CSS that starts with --slotted- is listed in a group of tokens.md above "Read by their family only".
|
|
26
|
+
|
|
27
|
+
### OE-02 · Weaker states yield
|
|
28
|
+
|
|
29
|
+
Level: MUST
|
|
30
|
+
Applies to: an interactive element of the application's own
|
|
31
|
+
Rule: Where two states hold at once, the element paints the ground, the edge and the text colour of the stronger, in the order `disabled`, `loading`, `readonly`, `invalid`, `checked`, `selected`, `pressed`, `current`, `complete`, `active`, `hover`; the focus ring of OE-03 is drawn over every state.
|
|
32
|
+
Why: A disabled element that lights under the pointer reads as operable and answers nothing.
|
|
33
|
+
Do: The hover rule of a day cell excludes the disabled and the selected cell, so a selected day keeps its ground under the pointer.
|
|
34
|
+
Don't: A hover ground declared after the selected ground repaints the chosen day while the pointer crosses it.
|
|
35
|
+
Check: Put the pointer over a disabled, a selected and a current instance: each keeps the appearance of its stronger state; move focus to each: the ring is drawn on all three.
|
|
36
|
+
|
|
37
|
+
### OE-03 · Focus draws the theme's ring
|
|
38
|
+
|
|
39
|
+
Level: MUST
|
|
40
|
+
Applies to: every element of the application's own that takes focus
|
|
41
|
+
Rule: In its `focus-visible` state the element draws an outline of `--slotted-focus-ring-width` in `--slotted-focus-ring-color`, offset by `--slotted-focus-ring-offset`.
|
|
42
|
+
Why: The ring is the one focus indicator the families share, and the theme maps its colour to the system highlight under forced colours.
|
|
43
|
+
Do: A day cell draws the outline in `focus-visible` and keeps it while selected; in error it points `--slotted-focus-ring-color` at `--slotted-focus-ring-color-invalid`.
|
|
44
|
+
Don't: `outline: none` on the cell, with a change of ground as the only sign of focus.
|
|
45
|
+
Check: Move focus with the keyboard in the light, dark and high-contrast schemes: the ring is drawn at the theme's width and offset in each.
|
|
46
|
+
|
|
47
|
+
### OE-04 · Targets meet the minimum
|
|
48
|
+
|
|
49
|
+
Level: MUST
|
|
50
|
+
Applies to: every element of the application's own that a pointer activates
|
|
51
|
+
Rule: The element's hit area measures at least `--slotted-target-min` in both axes, and at least `--slotted-target-comfortable` under `pointer: coarse`.
|
|
52
|
+
Why: A target below the minimum fails WCAG 2.2 target size, and a fingertip misses a target sized for a mouse.
|
|
53
|
+
Do: A day cell narrower than the minimum keeps its drawing and extends its hit area to the minimum.
|
|
54
|
+
Don't: Day cells 16 pixels wide, side by side with no gap.
|
|
55
|
+
Check: Measure the hit area of the smallest instance with a fine pointer and under coarse-pointer emulation.
|
|
56
|
+
|
|
57
|
+
### OE-05 · One control size step
|
|
58
|
+
|
|
59
|
+
Level: SHOULD
|
|
60
|
+
Applies to: an element of the application's own that stands in a row of controls
|
|
61
|
+
Rule: The element takes its height, inline padding, font size and gap from `--slotted-control-*` tokens of one size step, the step of the controls beside it.
|
|
62
|
+
Why: The control tokens follow density; a control sized by hand keeps its height when the row around it shrinks.
|
|
63
|
+
Do: A week picker beside a `button` at the medium step reads `--slotted-control-height-md`, `--slotted-control-padding-inline-md`, `--slotted-control-font-size-md` and `--slotted-control-gap-md`.
|
|
64
|
+
Don't: A height taken from the space scale that matches the button only at the comfortable density.
|
|
65
|
+
Check: Switch the density among comfortable, compact and dense: the element's height equals the height of the button beside it in each.
|
|
66
|
+
|
|
67
|
+
### OE-06 · Forced colours keep states
|
|
68
|
+
|
|
69
|
+
Level: MUST
|
|
70
|
+
Applies to: an element of the application's own that shows a state
|
|
71
|
+
Rule: Under `forced-colors: active`, each state the element shows differs from rest by a border, an outline or text, not by a ground or a shadow alone.
|
|
72
|
+
Why: The system replaces every ground with its own and removes shadows, so a state carried by colour alone disappears.
|
|
73
|
+
Do: A selected day adds an edge of `--slotted-border-width-thick` to its tinted ground.
|
|
74
|
+
Don't: A selected day told apart only by `--slotted-tone-accent-surface`.
|
|
75
|
+
Check: Emulate forced colours and step through every state: each reads differently from rest.
|
|
76
|
+
|
|
77
|
+
### OE-07 · Motion follows the scale
|
|
78
|
+
|
|
79
|
+
Level: MUST
|
|
80
|
+
Applies to: every transition and animation of an element of the application's own
|
|
81
|
+
Rule: A transition takes its duration from the `duration` group or `--slotted-control-transition-duration`, its curve from the `easing` group or `--slotted-control-transition-easing`, and an animation that repeats stops under `prefers-reduced-motion: reduce`.
|
|
82
|
+
Why: The theme collapses transition durations under reduced motion; a literal duration and a loop stay outside that collapse.
|
|
83
|
+
Do: A cell eases its ground over `--slotted-duration-short` with `--slotted-easing-standard`; its pulsing marker stops under reduced motion and keeps its shape.
|
|
84
|
+
Don't: A 300 ms transition written as a literal, and a pulse that only slows down.
|
|
85
|
+
Check: Emulate reduced motion: no animation of the element runs, and its transitions complete at once.
|
|
86
|
+
|
|
87
|
+
### OE-08 · Own CSS stays outside families
|
|
88
|
+
|
|
89
|
+
Level: SHOULD
|
|
90
|
+
Applies to: the stylesheet and the markup of an element of the application's own
|
|
91
|
+
Rule: The element's rules stand in a layer of the application ordered after the library's, and never select or set `data-ui` or `data-part`.
|
|
92
|
+
Why: Those attributes name a family and its parts; a rule keyed on them changes a family, and a node that carries them is taken for one.
|
|
93
|
+
Do: The strip's layer is declared after the library's in the application's entry stylesheet, and its rules key on its own class names.
|
|
94
|
+
Don't: A rule keyed on a family's `data-part` that restyles the family beside the strip.
|
|
95
|
+
Check: Search the element's CSS and markup for data-ui and data-part, and read the application's layer statement: the library's layer comes first.
|
|
96
|
+
|
|
97
|
+
### OE-09 · Reflow follows the container
|
|
98
|
+
|
|
99
|
+
Level: SHOULD
|
|
100
|
+
Applies to: an element of the application's own that changes layout with width
|
|
101
|
+
Rule: The element reflows by a container query on a `container-name` of its own; a change that follows the page uses the size classes, at 600 and 1024 pixels.
|
|
102
|
+
Why: The families reflow by their own container and the page by its size class; a viewport query disagrees with both inside a split view.
|
|
103
|
+
Do: The strip names its container and drops to two rows of cells below its own threshold.
|
|
104
|
+
Don't: A viewport media query that folds the strip after its panel is already narrow.
|
|
105
|
+
Check: At a fixed viewport, resize the element's container across its threshold and the page across 600 and 1024 pixels.
|
|
106
|
+
|
|
107
|
+
### OE-10 · Elevation pairs surface and shadow
|
|
108
|
+
|
|
109
|
+
Level: SHOULD
|
|
110
|
+
Applies to: an element of the application's own that stands above another surface
|
|
111
|
+
Rule: A surface above another takes `--slotted-surface-raised` with one step of the `shadow` group, and a layer that floats over the page takes its stacking order from the `z-index` group.
|
|
112
|
+
Why: The theme pairs each elevation with a ground per scheme and drops shadows under forced colours; a shadow or a stacking order written by hand stays outside both.
|
|
113
|
+
Do: A day's detail card floats with `--slotted-surface-raised`, `--slotted-shadow-md` and `--slotted-z-index-popover`.
|
|
114
|
+
Don't: A shadow written as a literal and a stacking order of 9999.
|
|
115
|
+
Check: Every shadow and every stacking order of the element's own CSS reads a token of these two groups.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: reading under permissions
|
|
3
|
+
prefix: PM
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
permission,
|
|
7
|
+
role,
|
|
8
|
+
persona,
|
|
9
|
+
cost,
|
|
10
|
+
price,
|
|
11
|
+
pricing,
|
|
12
|
+
hidden,
|
|
13
|
+
blank,
|
|
14
|
+
zero,
|
|
15
|
+
redacted,
|
|
16
|
+
column,
|
|
17
|
+
figure,
|
|
18
|
+
absent,
|
|
19
|
+
forbidden,
|
|
20
|
+
scope,
|
|
21
|
+
]
|
|
22
|
+
families: [data-grid, table, stat-card, inline-message, tabs, filter-bar]
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Reading under permissions
|
|
26
|
+
|
|
27
|
+
What a screen draws when the answer it received was shaped by the reader's
|
|
28
|
+
role rather than by the record. A backend that refuses a whole resource is
|
|
29
|
+
answered by the route's own refusal; a backend that answers and writes one
|
|
30
|
+
field down to a placeholder is answered here. The library draws whatever it
|
|
31
|
+
is handed and has no way to know that a zero is a redaction.
|
|
32
|
+
|
|
33
|
+
### PM-01 · A value a permission blanks is absent, not drawn
|
|
34
|
+
|
|
35
|
+
Level: MUST
|
|
36
|
+
Applies to: a field the backend writes down or empties for a reader who lacks a permission — a cost written to nought, a list of prices returned empty
|
|
37
|
+
Rule: The column, the figure and the section that would carry the value are not built for that reader; nothing is drawn for the value, and nothing is hidden in a place the reader can bring back.
|
|
38
|
+
Why: A redacted value drawn as a value is the screen lying with the backend's own numbers: a cost of nought reads as free, and the margin computed from it reads as a hundred percent.
|
|
39
|
+
Do: Decide the column model and the filter fields from the permissions, so the value is absent from the model rather than hidden in it — a hidden column is one the reader restores through the family's own column control, and what would come back is the redaction. Where a whole section is empty for the same reason, leave the section out with its tab.
|
|
40
|
+
Don't: Hide the column, grey the number, or draw an em dash where a value the reader may not see would have been: an em dash says the record has no value, and the record has one.
|
|
41
|
+
Check: Sign in as a reader without the cost permission and open a record that carries costs: no margin figure, no cost column, and no currency amount of zero anywhere.
|
|
42
|
+
|
|
43
|
+
### PM-02 · What is missing is named once, with who sees it
|
|
44
|
+
|
|
45
|
+
Level: SHOULD
|
|
46
|
+
Applies to: a screen that left a value out under PM-01, where its absence changes what the remaining numbers mean
|
|
47
|
+
Rule: One statement names the permission the value needs and the roles that hold it; two missing permissions are one statement, not two.
|
|
48
|
+
Why: A figure row with a hole in it reads as a screen that failed rather than as a screen that was told not to say; and a reader who holds neither permission does not need to be told twice in two tones.
|
|
49
|
+
Do: Put the statement where the absence changes the reading — under the figures on a record, above the rows on a list — and use the permission's own name, which is what a reader asks an administrator for.
|
|
50
|
+
Don't: Repeat the statement per tab, per column or per card, or leave the absence unexplained where the rest of the numbers depend on it.
|
|
51
|
+
Check: Sign in as a reader holding neither the price nor the cost permission: one sentence names both permissions and the roles that hold them.
|
|
52
|
+
|
|
53
|
+
### PM-03 · A price paid is a cost
|
|
54
|
+
|
|
55
|
+
Status: retired · a domain rule, kept by the application that observed it
|