@slotted/react 0.1.0-beta.0 → 0.1.0-beta.10
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-C7cGnEyJ.js → action-bar-CJgBierN.js} +88 -87
- package/dist/action-bar.js +1 -1
- package/dist/action-sheet-tRrjm7WQ.js +358 -0
- package/dist/action-sheet.js +1 -1
- package/dist/alert-BTcqbG8w.js +163 -0
- package/dist/alert.js +1 -1
- package/dist/app-shell-BlkqQrOx.js +845 -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-zlOPJvIm.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-DCGynpkb.js +222 -0
- package/dist/breadcrumb.js +1 -1
- package/dist/button-BCVjdzkn.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-qGUJ-kAy.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-CjRTu8m7.js +499 -0
- package/dist/carousel.js +1 -1
- package/dist/cascader-DqlC1z5b.js +1154 -0
- package/dist/cascader.js +1 -1
- package/dist/{chart-BNzfIfQe.js → chart-CPFq3jIE.js} +327 -265
- package/dist/chart.js +1 -1
- package/dist/checkbox-CMY2KIih.js +144 -0
- package/dist/checkbox-group-DzMtLF7f.js +109 -0
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/code-block-Bh_2Eg3M.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-DlepH5co.js +506 -0
- package/dist/color-picker.js +1 -1
- package/dist/column-manager-CV9tCnKa.js +586 -0
- package/dist/column-manager.js +1 -1
- package/dist/combobox-YWFkxaQ3.js +902 -0
- package/dist/combobox.js +1 -1
- package/dist/command-palette-DXNq-zKN.js +741 -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-Dbc0KkFp.js +151 -0
- package/dist/context-menu.js +1 -1
- package/dist/currency-field--wIfgVAx.js +469 -0
- package/dist/currency-field.js +1 -1
- package/dist/dashboard-grid-D_LbWfdZ.js +1048 -0
- package/dist/dashboard-grid.js +1 -1
- package/dist/{data-grid-BUgOJuGp.js → data-grid-XH5fGoGj.js} +1344 -1188
- package/dist/data-grid.js +1 -1
- package/dist/{data-list-2xfDpHVC.js → data-list-DZCN_uW1.js} +173 -147
- package/dist/data-list.js +1 -1
- package/dist/date-field-BrNyJBiJ.js +299 -0
- package/dist/date-field.js +1 -1
- package/dist/date-picker-Nl55so0C.js +316 -0
- package/dist/date-picker.js +1 -1
- package/dist/date-range-picker-DLkvfUJD.js +501 -0
- package/dist/date-range-picker.js +1 -1
- package/dist/datetime-field-CZRhRDPb.js +424 -0
- package/dist/datetime-field.js +1 -1
- package/dist/datetime-picker-_GHra2WL.js +662 -0
- package/dist/datetime-picker.js +1 -1
- package/dist/datetime-range-picker-Dy1A0Wqy.js +1029 -0
- package/dist/datetime-range-picker.js +1 -1
- package/dist/description-list-Cc4JYZ-3.js +240 -0
- package/dist/description-list.js +1 -1
- package/dist/{detail-panel-qOJiNuzr.js → detail-panel-BI_wHSoz.js} +103 -95
- package/dist/detail-panel.js +1 -1
- package/dist/dialog-B6MP7GYI.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/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 +1 -0
- 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/currency-field.json +40 -1
- package/dist/docs/currency-field.md +5 -1
- package/dist/docs/data-grid.examples.md +2 -2
- package/dist/docs/data-grid.json +24 -7
- package/dist/docs/data-grid.md +1 -1
- package/dist/docs/data-grid.props.md +6 -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/dialog.examples.md +144 -116
- package/dist/docs/dialog.json +35 -11
- package/dist/docs/dialog.md +5 -3
- package/dist/docs/drawer.json +5 -0
- package/dist/docs/drawer.md +1 -0
- 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 +1 -0
- 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 +129 -0
- package/dist/docs/guidelines/layout-alignment.md +95 -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 +3 -2
- package/dist/docs/page-header.md +2 -2
- package/dist/docs/page.json +1 -0
- package/dist/docs/page.md +1 -0
- 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 +5 -5
- package/dist/docs/section.json +26 -14
- package/dist/docs/section.md +14 -8
- 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 +95 -0
- package/dist/docs/skills/index.md +9 -0
- package/dist/docs/skills/review-screen/SKILL.md +77 -0
- package/dist/docs/skills/theme-app/SKILL.md +87 -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 +7 -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/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 +4 -4
- package/dist/drawer-CkpFlKYa.js +772 -0
- package/dist/drawer.js +1 -1
- package/dist/entity-picker-CFwLGQeU.js +1281 -0
- package/dist/entity-picker.js +2 -2
- package/dist/{event-calendar-BFdeGfC-.js → event-calendar-BDjI5T44.js} +465 -395
- package/dist/event-calendar.js +1 -1
- package/dist/field-CzSGs7wo.js +367 -0
- package/dist/field-group-CCM2vPKL.js +138 -0
- package/dist/field-group.js +1 -1
- package/dist/field.js +1 -1
- package/dist/filter-bar-G50WdRac.js +1340 -0
- package/dist/filter-bar.js +1 -1
- package/dist/{form-vTCQhZM-.js → form-CDq04WDY.js} +96 -87
- package/dist/form.js +1 -1
- package/dist/fullscreen-6GW4naDP.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-aadyPXzF.js +215 -0
- package/dist/hover-card.js +1 -1
- package/dist/icon-DjqSEQ-o.js +75 -0
- package/dist/icon-button-CRB218_z.js +222 -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-DUrNwRKP.js +865 -0
- package/dist/import-export-center.js +1 -1
- package/dist/index.js +127 -126
- 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-Z4YmSPRy.js +105 -0
- package/dist/kbd.js +1 -1
- package/dist/link-BsSlZ1ts.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-VFcfZT70.js +626 -0
- package/dist/listbox.js +1 -1
- package/dist/loading-overlay-BZPBDK4w.js +218 -0
- package/dist/loading-overlay.js +1 -1
- package/dist/markdown-BmCU_sOv.js +306 -0
- package/dist/markdown.js +1 -1
- package/dist/menu-parts-DS9JEUCt.js +805 -0
- package/dist/menu.js +1 -1
- package/dist/menubar-BV43BKep.js +157 -0
- package/dist/menubar.js +1 -1
- package/dist/message-Dtck9RJy.js +434 -0
- package/dist/message-scroller-niUJ8RoL.js +216 -0
- package/dist/message-scroller.js +1 -1
- package/dist/message.js +1 -1
- package/dist/multi-select-YaxhhH9y.js +1257 -0
- package/dist/multi-select.js +1 -1
- package/dist/navigation-menu-parts-B64gKl8B.js +492 -0
- package/dist/navigation-menu.js +1 -1
- package/dist/notification-center-Ci-OLWTO.js +516 -0
- package/dist/notification-center.js +1 -1
- package/dist/number-field-BYQmPyM-.js +345 -0
- package/dist/number-field.js +1 -1
- package/dist/{otp-input-Bf8JUiVR.js → otp-input-BKO0WPZc.js} +75 -72
- package/dist/otp-input.js +1 -1
- package/dist/page-CfjGviUA.js +179 -0
- package/dist/page-header-w_PFLnLG.js +369 -0
- package/dist/page-header.js +1 -1
- package/dist/page.js +1 -1
- package/dist/pagination-Cm9665gb.js +299 -0
- package/dist/pagination.js +1 -1
- package/dist/popover-D1krYeP-.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-sh_TXKYZ.js +273 -0
- package/dist/prompt-composer.js +1 -1
- package/dist/prose-Bl5OjXTb.js +92 -0
- package/dist/prose.js +1 -1
- package/dist/radio-group-D9VTBLUB.js +143 -0
- package/dist/radio-group.js +1 -1
- package/dist/rating-BRqsV5OF.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-C_76obIv.js +456 -0
- package/dist/saved-views.js +1 -1
- package/dist/scroll-area-vrm2bbtZ.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-5DTOKO3g.js +156 -0
- package/dist/segmented-control.js +1 -1
- package/dist/select-BFx5EgAa.js +1018 -0
- package/dist/{select-tags-CQMcHIQN.js → select-tags-CMe5rzql.js} +11 -1
- package/dist/select.js +1 -1
- package/dist/side-navigation-MNMSkj9b.js +747 -0
- package/dist/side-navigation.js +1 -1
- package/dist/skeleton-DyOwgYmF.js +149 -0
- package/dist/skeleton.js +1 -1
- package/dist/slider-OMe1DAC-.js +264 -0
- package/dist/slider.js +1 -1
- package/dist/sparkline-ChkaLVdY.js +152 -0
- package/dist/sparkline.js +1 -1
- package/dist/split-button-DbmRwfMC.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-BSnsTmsq.js +247 -0
- package/dist/stat-card.js +1 -1
- package/dist/status-indicator-CyKhBdvN.js +78 -0
- package/dist/status-indicator.js +1 -1
- package/dist/stepper-Cw1Auv3n.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-CQ1rpuKa.js +144 -0
- package/dist/switch.js +1 -1
- package/dist/table-DpGTPtnb.js +1019 -0
- package/dist/table-of-contents-BFVERMZy.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-aX7uyAN0.js +374 -0
- package/dist/tag.js +1 -1
- package/dist/tags-input-BgpS22sf.js +729 -0
- package/dist/tags-input.js +1 -1
- package/dist/text-field-DL_uhNXV.js +203 -0
- package/dist/text-field.js +1 -1
- package/dist/textarea-DNCjsQYd.js +100 -0
- package/dist/textarea.js +1 -1
- package/dist/time-field-Cm6iBjwH.js +366 -0
- package/dist/time-field.js +1 -1
- package/dist/time-picker-Ce18FSO2.js +415 -0
- package/dist/time-picker.js +1 -1
- package/dist/time-range-picker-kDnw4PQ3.js +779 -0
- package/dist/time-range-picker.js +1 -1
- package/dist/timeline-pEL30Jp8.js +446 -0
- package/dist/timeline.js +1 -1
- package/dist/{toast-wI8BtPY5.js → toast-58ex8PDK.js} +111 -109
- package/dist/toast.js +1 -1
- package/dist/toggle-group-YxVJlCnI.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-BtIyVbs4.js +241 -0
- package/dist/toolbar.js +1 -1
- package/dist/tooltip-DrFiRlH8.js +411 -0
- package/dist/tooltip.js +1 -1
- package/dist/top-navigation-DorkYBnR.js +744 -0
- package/dist/top-navigation.js +1 -1
- package/dist/tour-CwK_m_Jp.js +809 -0
- package/dist/tour.js +1 -1
- package/dist/transfer-DxGDWIEt.js +606 -0
- package/dist/transfer.js +1 -1
- package/dist/tree-DbLRyItM.js +792 -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-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/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/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.map +1 -1
- package/dist/types/data-grid/data-grid-context.d.ts +29 -0
- 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 +24 -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.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/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-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.map +1 -1
- package/dist/types/page-header/page-header.types.d.ts +2 -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/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-CEDsfMWz.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-B3p7zCSj.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-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/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,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: record pages
|
|
3
|
+
prefix: RP
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
record,
|
|
7
|
+
detail,
|
|
8
|
+
360,
|
|
9
|
+
customer detail,
|
|
10
|
+
entity page,
|
|
11
|
+
header,
|
|
12
|
+
marks,
|
|
13
|
+
subheading,
|
|
14
|
+
back,
|
|
15
|
+
tabs,
|
|
16
|
+
sections,
|
|
17
|
+
facts,
|
|
18
|
+
stat card,
|
|
19
|
+
related,
|
|
20
|
+
notes,
|
|
21
|
+
activity,
|
|
22
|
+
timeline,
|
|
23
|
+
archive,
|
|
24
|
+
hold,
|
|
25
|
+
]
|
|
26
|
+
families:
|
|
27
|
+
[
|
|
28
|
+
page,
|
|
29
|
+
page-header,
|
|
30
|
+
tabs,
|
|
31
|
+
stat-card,
|
|
32
|
+
grid,
|
|
33
|
+
table,
|
|
34
|
+
description-list,
|
|
35
|
+
timeline,
|
|
36
|
+
toolbar,
|
|
37
|
+
result-state,
|
|
38
|
+
]
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
# Record pages
|
|
42
|
+
|
|
43
|
+
How the page of one record is composed: what the header says about it, where
|
|
44
|
+
its facts stand, how its related records are sectioned and what happens when
|
|
45
|
+
the record is missing. The library gives `page-header` a title row with a
|
|
46
|
+
visual, marks and a subheading, `tabs` a slot under it, `stat-card` a figure
|
|
47
|
+
and `table` a listing; it does not say which fact is a mark and which a
|
|
48
|
+
figure, or that the figures stand on every section.
|
|
49
|
+
|
|
50
|
+
### RP-01 · The title row names, states and places the record
|
|
51
|
+
|
|
52
|
+
Level: SHOULD
|
|
53
|
+
Applies to: `page-header` of a record opened from a list
|
|
54
|
+
Rule: The title row holds the record's visual, its name as the heading, its lifecycle state and its health as two `tag` marks at the small size, and one subheading line with the identifier, the owner and the place; the way back to the list is the header's `back` part.
|
|
55
|
+
Why: A reader arriving from a list or a search asks three things first — which record, in what state, whose — and a title that answers them needs no second glance at the body.
|
|
56
|
+
Do: Every mark is a `tag` at the small size — the state the reader can change (active, on hold) and the health the system computes (healthy, watch, at risk) each carry their tone — so the marks read as one row of one form beside a heading that is larger than any of them. The subheading joins the account number, the owner and the city with a middle dot. The back link names the list it returns to.
|
|
57
|
+
Don't: Mix a `tag` and a `status-indicator` in the marks — two forms of indication at two heights, 4 pixels apart — or leave a mark at the medium size, which stands 28 pixels tall beside the heading. Do not put the state in the subheading as words.
|
|
58
|
+
Check: With the record loaded, the title row reads the visual, the name, two small tags, then one subheading of identifier, owner and place; the list's name with the back arrow stands above it.
|
|
59
|
+
|
|
60
|
+
### RP-02 · The figures stand in the body, on every section
|
|
61
|
+
|
|
62
|
+
Level: SHOULD
|
|
63
|
+
Applies to: the numeric facts a record page shows — exposure, balances, counts
|
|
64
|
+
Rule: The record's figures are `stat-card`s in a `grid` at the top of the page body, before the section's content, and they stay while the section changes; the header's collapsible area does not hold them.
|
|
65
|
+
Why: The header's content part is a column with a measure for prose; four figures in it stacked to one narrow column. In the body, above the switch, the figures read on every section and the header keeps only the title and the tabs.
|
|
66
|
+
Do: Four cards at the small size in a grid that drops to two columns on a phone; each card carries the figure, its unit and one comparison line ("of R$135,000", "3 of 4 open invoices"). A threshold the domain states is said in the card's comparison line once it is crossed ("above 90% of $500,000", "under 22%: Sales approval"), in words that keep the line to one: the family's `tone` is the tone it hands to its trend and paints nothing on a card without one.
|
|
67
|
+
Don't: Draw the figures in the header area, or under one section only.
|
|
68
|
+
Check: Switch sections: the figures stay; at 390 pixels they stand two by two. A figure past a threshold the domain states says so in its comparison line.
|
|
69
|
+
|
|
70
|
+
### RP-03 · Related records are the header's tabs, each a table
|
|
71
|
+
|
|
72
|
+
Level: SHOULD
|
|
73
|
+
Applies to: contacts, orders, invoices, tickets, notes and activity of a record
|
|
74
|
+
Rule: Each kind of related record is a tab in the header's `tabs` slot with its count in the label; a tab's content is a `table` of that kind with a caption, or a `timeline` for activity; the empty state is the table's own `empty` part.
|
|
75
|
+
Why: The related records are answers to different questions and rarely read together; one long page of six tables scrolls past the one the reader came for, and the tabs stay under the title while the section scrolls (LA-04).
|
|
76
|
+
Do: Load the record once and derive the counts from it; a tab with zero items still exists and says so in its empty part. On a phone the table takes its fixed layout and keeps the columns that decide — the identifier and the amount, or the identifier and the status — so no table is wider than the frame.
|
|
77
|
+
Don't: Hide a tab because it is empty, or let a table on a phone scroll sideways inside its frame.
|
|
78
|
+
Check: Every tab label carries a count once the record has loaded; at 390 pixels every table fits the frame and its empty state is the table's.
|
|
79
|
+
|
|
80
|
+
### RP-04 · A missing record is the page's own answer
|
|
81
|
+
|
|
82
|
+
Level: MUST
|
|
83
|
+
Applies to: a record page opened with an id the backend does not hold, or under a failed transport
|
|
84
|
+
Rule: The page keeps its header with the way back and shows a `result-state` in the body: `not-found` for an id that does not exist, `error` with Try again for a transport failure; the URL stays.
|
|
85
|
+
Why: A deep link a colleague pasted still says where it was pointing, and a reader who arrived by the back gesture leaves the same way.
|
|
86
|
+
Do: Read the error's code: not found has no retry, only the way back; every other failure offers Try again and the way back.
|
|
87
|
+
Don't: Redirect to the list, or show the list's empty state.
|
|
88
|
+
Check: Open a record address whose id does not exist: the header names the record type with the way back, the body's `result-state` says the record does not exist, and the address keeps the id.
|
|
89
|
+
|
|
90
|
+
### RP-05 · The action that adds to a tab stands in the record's toolbar
|
|
91
|
+
|
|
92
|
+
Level: SHOULD
|
|
93
|
+
Applies to: an action that adds a related record — a contact, a note, an address — to a record page's tab
|
|
94
|
+
Rule: While its tab is open, the action stands in the record header's `toolbar` beside the record's own actions, and the form it opens takes the place of the tab's listing.
|
|
95
|
+
Why: The tab's content is a `table` with a caption (RP-03) and no slot for a control; a bar of the page's own above the table is a second row of actions on a page that already has one, and the header's toolbar already folds into its menu on a phone.
|
|
96
|
+
Do: Show the action only while its tab is open, and word it for what it adds ("New contact"). The form replaces the table in the tab, keeping the header, the figures and the tabs where they are (FM-07). A section that is not a tab — the addresses on the overview — uses `section`'s own `actions` instead.
|
|
97
|
+
Don't: Draw a toolbar of the page's own above a tab's table, or leave the action in the header while another tab is open.
|
|
98
|
+
Check: Open a tab that can be added to: the action appears in the header's toolbar and folds into its menu at phone width; open another tab and it leaves.
|
|
99
|
+
|
|
100
|
+
### RP-06 · A record with a lifecycle shows where it stands before what it holds
|
|
101
|
+
|
|
102
|
+
Level: SHOULD
|
|
103
|
+
Applies to: a record that moves through states other people watch — an order, a quote, a shipment, a ticket
|
|
104
|
+
Rule: The page answers "where is this" above the record's contents: the steps it has passed, the step it is on, what that step is waiting on, and one sentence naming what happens next.
|
|
105
|
+
Why: A reader opening an order is asking what is holding it up, not what is on line seven; a status word alone says where it is and not what it is waiting for, and the lines say neither.
|
|
106
|
+
Do: Draw the steps as the record's own element (CP-04) with the state each one is in, and give the stopped record its own tone — a hold and a cancellation are not the same colour as progress. The figures stay above it (RP-02) and the related records below (RP-03).
|
|
107
|
+
Don't: Leave the lifecycle to a status `tag` in the header, or bury it under the lines.
|
|
108
|
+
Check: Open a record waiting on a step: the page says the step, who it waits on and what happens next, above its contents.
|
|
109
|
+
|
|
110
|
+
### RP-07 · A table that takes a figure apart ends in the total it adds back up
|
|
111
|
+
|
|
112
|
+
Level: SHOULD
|
|
113
|
+
Applies to: a table whose rows are one quantity split by place, period or party, standing under the figure that states the whole
|
|
114
|
+
Rule: The table carries the column summaries the table element has for it, holding the same totals as the figures above, and says in one line what the rows are counted in.
|
|
115
|
+
Why: A row of figures and a table of parts are two statements about one number, and a reader who cannot add five rows in their head has been given two numbers with no way to reconcile them — which is what a decomposition is for.
|
|
116
|
+
Do: Sum each column the figures state and put the sums in the table's summary row, naming how many rows were added and in what unit. A column the rows carry but the whole has no total for — a threshold, a rate — leaves its summary cell empty rather than adding thresholds together.
|
|
117
|
+
Don't: Leave the table without its summary, or sum a column whose total means nothing.
|
|
118
|
+
Check: Open a record whose table takes a figure apart: the summary row's numbers equal the figure above it.
|
|
119
|
+
|
|
120
|
+
### RP-08 · A figure over records of mixed units counts records
|
|
121
|
+
|
|
122
|
+
Level: SHOULD
|
|
123
|
+
Applies to: a `stat-card` over a set of related records whose quantities are not counted in one unit
|
|
124
|
+
Rule: Where the records do not share a unit the figure counts records; a quantity is summed only where one unit covers the whole set, and the page says which unit that is.
|
|
125
|
+
Why: A total over each, metres and kilograms is a number of nothing, and it is read as a quantity because that is what the card's shape says it is.
|
|
126
|
+
Do: Count what the reader would act on — how many are out of stock, how many are below their reorder point — and put the units question under the table as one sentence: the unit when there is one, and that the rows are read one at a time when there is not.
|
|
127
|
+
Don't: Add quantities across units, or leave a summed figure without naming its unit.
|
|
128
|
+
Check: Read a figure over rows of different units: it counts rows and says so under its table; a quantity is summed only where every row shares one unit.
|
|
129
|
+
|
|
130
|
+
### RP-09 · A step waiting on someone else says who, and offers nothing it gates
|
|
131
|
+
|
|
132
|
+
Level: SHOULD
|
|
133
|
+
Applies to: a record whose step waits on a decision the reader cannot give — an approval by a role the reader does not hold
|
|
134
|
+
Rule: The step names the role it waits on and the page draws no control for the command that the decision gates; the control appears in the one state the backend accepts it.
|
|
135
|
+
Why: A control the backend will refuse until someone else acts is a refusal the reader provokes, and a waiting step with no name leaves the reader to guess whom to ask.
|
|
136
|
+
Do: Put the role in the step's detail and in the record's sentence (RP-06), show the approval chain under it, and derive the gated command's presence from the approval's own status.
|
|
137
|
+
Don't: Draw the gated command disabled with no reason, or draw it enabled and translate the refusal afterwards.
|
|
138
|
+
Check: Open a record waiting on a decision as a reader without the deciding role: the step names the role and no control for the gated command is drawn; open it in the state the backend accepts the command: the control is drawn.
|
|
139
|
+
|
|
140
|
+
### RP-10 · A score is read against its peers and says what it counts
|
|
141
|
+
|
|
142
|
+
Level: SHOULD
|
|
143
|
+
Applies to: a figure that scores a record — a supplier's on-time share, quality and lead time
|
|
144
|
+
Rule: The figure's comparison line gives the median of the record's peers, one sentence under the figures says what each score counts and who the peers are, and a score with nothing behind it is not drawn as a number.
|
|
145
|
+
Why: A score alone does not say whether it is good, and a backend that writes nought or a hundred for a record with no history reads as the worst or the best of them.
|
|
146
|
+
Do: Read the peers once — the records of the same category — leave out of each median the peers with nothing behind that score, say "under median" in the comparison line only where the score falls under it by a margin the product states, and state that margin in the sentence under the figures, and draw a dash with the words "no line received in full yet" where the record has no history.
|
|
147
|
+
Don't: Compare with the whole tenant, draw a chart of every peer to answer one record's question, or show 100 for a supplier that has delivered nothing.
|
|
148
|
+
Check: Read a scored figure: its comparison line gives the peers' median, one sentence names what each score counts and who the peers are, and a score with nothing behind it shows no number.
|
|
149
|
+
|
|
150
|
+
### RP-11 · Authority that depends on an amount is said first
|
|
151
|
+
|
|
152
|
+
Level: MUST
|
|
153
|
+
Applies to: a command whose required role depends on the record's value — a write-off by balance, a discount by size
|
|
154
|
+
Rule: The record's sentence states, before any control, which authority the current value needs, measured in the unit the policy states, and the command is drawn only in the form that authority gives the reader.
|
|
155
|
+
Why: A control drawn the same for every balance is refused for the balances above the reader, and a refusal after the press teaches the policy one balance at a time.
|
|
156
|
+
Do: Compute the value the backend measures — the balance in the policy's currency at the document's own rate — and name the tier it falls in with the threshold ("above US$500: only a Finance Manager writes it off"). Name the control for what it does in that tier ("Request write-off approval" where an approval follows), draw none where the reader's role is below the tier, and let the sentence name the role that decides. While an approval the command asked for is pending, the control is not drawn (RP-09).
|
|
157
|
+
Don't: Draw the command for every holder of its permission and translate the refusal, or state the threshold in the document's currency when the policy states it in another.
|
|
158
|
+
Check: Open a record whose value needs more authority than the reader holds: before any control, the sentence names that authority and the measure in the policy's unit, and the command is not drawn.
|
|
159
|
+
|
|
160
|
+
### RP-12 · A document without a destination lives under what it changes
|
|
161
|
+
|
|
162
|
+
Level: SHOULD
|
|
163
|
+
Applies to: a record the navigation gives no destination — a credit memo, a refund — beside a destination whose records it changes
|
|
164
|
+
Rule: The document's list and record stand under the destination whose records it changes, declared before that destination's own record address, and every record of that destination that issued or took one links to it.
|
|
165
|
+
Why: A document of its own destination is a list nobody walks to, and a document kept only as a tab of one record loses the documents no record issued.
|
|
166
|
+
Do: Give the list a segment under the destination (the invoices' credit memos), make its way back name the destination, open its create form from the record with the record and its customer chosen, and link each application or refund from the records it touched. A refund, which changes a credit, is written from the credit memo or the payment whose credit it spends.
|
|
167
|
+
Don't: Add a destination the navigation's map does not hold, or reach the documents only through one record's tab.
|
|
168
|
+
Check: Open the document's create route and a record address of the same destination: neither is read as the other, and each record that issued or took a document links to it.
|
|
169
|
+
|
|
170
|
+
### RP-13 · An entry a workflow wrote names the workflow and opens its run
|
|
171
|
+
|
|
172
|
+
Level: SHOULD
|
|
173
|
+
Applies to: a record's activity, where an automation's action and a person's command both write entries
|
|
174
|
+
Rule: An entry written by a workflow's action names the workflow as its actor and, for a reader of workflows, opens the run that wrote it; it never reads as the work of the person whose command set the workflow off.
|
|
175
|
+
Why: A hold placed by a workflow and drawn under the name of the agent who escalated a ticket blames the agent for a rule they never saw, and leaves the reader no way to the rule.
|
|
176
|
+
Do: Read the actor from the entry's workflow, say it as "Workflow “name”", and put "Open the run" in the timeline item's actions where the reader holds the permission to read workflows.
|
|
177
|
+
Don't: Draw the automation actor's bare name, or the name of the person whose command produced the event.
|
|
178
|
+
Check: Read an entry a workflow wrote: its actor is the workflow, and for a reader of workflows it opens the run that wrote it.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: reports
|
|
3
|
+
prefix: RE
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
report,
|
|
7
|
+
analytics,
|
|
8
|
+
period,
|
|
9
|
+
comparison,
|
|
10
|
+
compare,
|
|
11
|
+
trend,
|
|
12
|
+
segment,
|
|
13
|
+
drill-down,
|
|
14
|
+
download,
|
|
15
|
+
csv,
|
|
16
|
+
anomaly,
|
|
17
|
+
annotation,
|
|
18
|
+
coverage,
|
|
19
|
+
history,
|
|
20
|
+
ranking,
|
|
21
|
+
]
|
|
22
|
+
families: [page-header, select, stat-card, chart, table, list, section, inline-message]
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Reports
|
|
26
|
+
|
|
27
|
+
How a screen that reads records over a chosen period is composed: what it
|
|
28
|
+
reads from the operational screens, how a period and its comparison are
|
|
29
|
+
chosen and kept, what it says where the records are not kept, how a figure
|
|
30
|
+
is flagged and how a breakdown is downloaded. The library gives `chart` a
|
|
31
|
+
period of data, `stat-card` a change and its base, `table` a summary row; it
|
|
32
|
+
does not say that a period lives in the address, that a figure the history
|
|
33
|
+
does not hold is no number, or which rule flags a figure.
|
|
34
|
+
|
|
35
|
+
### RE-01 · A report reads a period; an overview reads today
|
|
36
|
+
|
|
37
|
+
Level: SHOULD
|
|
38
|
+
Applies to: a report that shows a state of today beside its period's flows — receivables, a backlog, stock on hand
|
|
39
|
+
Rule: A figure of the report is a flow over its period against a period of the same length; a state of today is read through the operational screen's own read, says "as of today", and opens the operational screen's door.
|
|
40
|
+
Why: Two reads of one state drift — a receivables figure computed twice says two numbers on two screens — and a state read beside a period reads as the period's.
|
|
41
|
+
Do: Read the overview's answer beside the report's and draw its figures from it, with the overview's door and the overview's thresholds; give the read a region of its own, so a failure of either leaves the other on screen.
|
|
42
|
+
Don't: Recompute an overview's figure inside the report, or draw a state of today without saying it is today's.
|
|
43
|
+
Check: Read each state of today on the report: it says "as of today", equals the figure of the operational screen it opens, and stays on screen when the report's own read fails.
|
|
44
|
+
|
|
45
|
+
### RE-02 · The period is the address
|
|
46
|
+
|
|
47
|
+
Level: SHOULD
|
|
48
|
+
Applies to: the period, the comparison and the segment filters of a report
|
|
49
|
+
Rule: They are query parameters of the report's address; a report opened without them takes the ones last chosen on any report, and the back gesture from a list it opened returns to the same period.
|
|
50
|
+
Why: A period held in the page alone is lost on the way back from a drill-down, and a reader moving from one report to the next would choose it again on each.
|
|
51
|
+
Do: Write each choice into the address by replacing the current history entry, so a change of period is no step of the history and the back gesture leaves the report; remember the last choice for the next report opened without one.
|
|
52
|
+
Don't: Keep the period in a store the address does not name, or push a history entry per change.
|
|
53
|
+
Check: Choose a period, open a figure's list and go back: the report is on the same period. Open another report with no period in its address: it takes the period last chosen.
|
|
54
|
+
|
|
55
|
+
### RE-03 · What the records do not cover is not a number
|
|
56
|
+
|
|
57
|
+
Level: MUST
|
|
58
|
+
Applies to: a period, a comparison or a measure whose records the backend does not keep for all of its days
|
|
59
|
+
Rule: The period control offers only the periods the report's records are kept for; a figure, a cell or a breakdown whose records start after its range says "not kept" and from when, and is never drawn as a number.
|
|
60
|
+
Why: A sum over the days that happen to be kept is a part drawn as a whole: a ninety-day ratio over thirty days of invoices read 84 days of sales outstanding where the book held about 35.
|
|
61
|
+
Do: State once, under the controls, from which day each kind of record is kept; leave a comparison that starts earlier as "kept from", and replace a breakdown that cannot be read with the sentence that says why and which period can.
|
|
62
|
+
Don't: Draw a zero, a dash or a short bar for days the history does not hold, or offer a period the report will answer with nothing.
|
|
63
|
+
Check: Choose the longest period offered: every figure whose records start after its range says "not kept" and from when, and the period control offers no period the records do not cover.
|
|
64
|
+
|
|
65
|
+
### RE-04 · A change says its base
|
|
66
|
+
|
|
67
|
+
Level: SHOULD
|
|
68
|
+
Applies to: the change a `stat-card` draws against a comparison period
|
|
69
|
+
Rule: The comparison line names the value compared with and the period it belongs to; an amount and a count move by a percentage, a share by points, a duration in its own unit.
|
|
70
|
+
Why: "+7%" with no base is a number a reader cannot check, and a share that moves from 36% to 37% reads as a 3% rise when it is one point.
|
|
71
|
+
Do: Hand the card the change and write "vs $15.22M, the 30 days before" in its `comparison`, on one line cut with its title; tell the card from the measure which direction is good, so a rise in discounts or in days to ship reads as a fall in quality.
|
|
72
|
+
Don't: Draw a relative change of a share, or a change whose base period the page does not name.
|
|
73
|
+
Check: Read each card with a change: the base value and its period stand on its comparison line, and a share's change ends in "pts".
|
|
74
|
+
|
|
75
|
+
### RE-05 · An anomaly says its rule
|
|
76
|
+
|
|
77
|
+
Level: SHOULD
|
|
78
|
+
Applies to: a figure or a bucket a report flags as unusual
|
|
79
|
+
Rule: A value is flagged only by a rule the page states in words, and the flag names the value, the range it fell in, the band it left and opens the records of that range.
|
|
80
|
+
Why: A flag with no rule is an opinion the reader cannot weigh, and a flag that fires on noise teaches the reader to ignore the flags.
|
|
81
|
+
Do: Flag a value outside the mean of its own history plus or minus two standard deviations — the six periods of the same length before it, or the earlier buckets of the period — and keep a count's band no narrower than its chance variation; state a threshold the product sets (OV-04) beside it as a second kind of flag.
|
|
82
|
+
Don't: Flag by a fixed number the screen chose for itself, or by a comparison with a single earlier period.
|
|
83
|
+
Check: Read each flag: the page states its rule in words, the flag names the value, its range and the band it left, and it opens the records of that range.
|
|
84
|
+
|
|
85
|
+
### RE-06 · A report's filters stand in the header
|
|
86
|
+
|
|
87
|
+
Level: SHOULD
|
|
88
|
+
Applies to: the period, comparison and segment controls of a report
|
|
89
|
+
Rule: They stand in `page-header`'s `content`, under the header's `toggle` and `pin`; below 600 pixels the area opens collapsed, so the figures lead the screen.
|
|
90
|
+
Why: The header's area is the family's place for filters, and a pinned area keeps the period in sight over a long report; a block in the body scrolls away and, on a phone, filled the first screen before a single figure.
|
|
91
|
+
Do: Write the controls and the one sentence of what the records cover in the `content`, and let the `subheading` say the period on the title row, where it stays when the area collapses.
|
|
92
|
+
Don't: Put the controls as the first block of the body, or keep the area open on a phone.
|
|
93
|
+
Check: At 1280 pixels the controls stand in the header with the pin; at 390 pixels with a coarse pointer the first screen holds the figures and the collapsed area's toggle.
|
|
94
|
+
|
|
95
|
+
### RE-07 · Every number of a report opens what it counts
|
|
96
|
+
|
|
97
|
+
Level: SHOULD
|
|
98
|
+
Applies to: a report's figures, the bars and points of its charts, and the cells of its tables
|
|
99
|
+
Rule: Each opens the list of the records it counts, with its condition and its period as the list's own pills and the same total, and a record named by its id is named in the pill by its record's words.
|
|
100
|
+
Why: A breakdown the reader cannot open is a claim, and a pill reading "Account is any of cus_000412" says nothing a reader can check.
|
|
101
|
+
Do: Carry the condition in the address, field by field, and the names of the records it names beside their ids; let the list read them into its bar as it reads any filter (OV-01).
|
|
102
|
+
Don't: Open the unfiltered list, a list whose total differs from the number, or a pill of raw ids.
|
|
103
|
+
Check: Open a figure, a bar and a cell: each list's pills name the condition and the period in words, and its total equals the number opened.
|
|
104
|
+
|
|
105
|
+
### RE-08 · A ranking draws ten
|
|
106
|
+
|
|
107
|
+
Level: SHOULD
|
|
108
|
+
Applies to: a `horizontal` `chart` that ranks categories whose number grows with the period or the tenant — accounts, products, representatives
|
|
109
|
+
Rule: The chart draws at most the ten first categories and says so in its title; the table under it holds every row and its summary.
|
|
110
|
+
Why: Forty-four representatives drawn on one plot stacked their names into a column nobody could read.
|
|
111
|
+
Do: Rank in the answer, cut the chart's data at ten and keep the rest — or one "other" row — to the table; place the section whose table holds every row last, since the wait cannot know its length and its growth then moves nothing.
|
|
112
|
+
Don't: Grow the plot with the categories, or cut the table with the chart.
|
|
113
|
+
Check: Choose the longest period: the ranking chart holds at most ten bars and says so in its title, and its table holds every row and the summary.
|
|
114
|
+
|
|
115
|
+
### RE-09 · A download is the table on screen
|
|
116
|
+
|
|
117
|
+
Level: SHOULD
|
|
118
|
+
Applies to: the file a report's section offers
|
|
119
|
+
Rule: The download is the section's table as the reader sees it — its columns, its rows and its summary row, in its words — built in the browser from the answer the page drew, for every reader of the report.
|
|
120
|
+
Why: A file built by another read can say other numbers than the screen, and a column the reader may not see on screen would reach them in the file.
|
|
121
|
+
Do: Offer "Download CSV" in the section's actions and write the file from the table's lines; name it by report, section and period.
|
|
122
|
+
Don't: Offer a server export the reader's permissions were not applied to, or a file of raw minor units the table does not show.
|
|
123
|
+
Check: Press Download CSV on a section: the file's rows are the table's rows and its summary, and a withheld column is absent from both.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: shell composition
|
|
3
|
+
prefix: SC
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
app-shell,
|
|
7
|
+
shell,
|
|
8
|
+
banner,
|
|
9
|
+
header bar,
|
|
10
|
+
top-navigation,
|
|
11
|
+
search,
|
|
12
|
+
command palette,
|
|
13
|
+
magnifier,
|
|
14
|
+
mobile,
|
|
15
|
+
narrow,
|
|
16
|
+
overlay,
|
|
17
|
+
drawer,
|
|
18
|
+
dialog,
|
|
19
|
+
layer,
|
|
20
|
+
host,
|
|
21
|
+
popover,
|
|
22
|
+
notification-center,
|
|
23
|
+
brand,
|
|
24
|
+
]
|
|
25
|
+
families: [app-shell, top-navigation, command-palette, popover, drawer, dialog, notification-center]
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Shell composition
|
|
29
|
+
|
|
30
|
+
How the application frame is put together from `app-shell`, the bar inside its
|
|
31
|
+
banner and the layers the bar opens. Each family states its own anatomy; the
|
|
32
|
+
seams between them — what stands in the search slot, what a component host
|
|
33
|
+
costs in a flex row, how wide a panel is when its content has no width — are
|
|
34
|
+
the consumer's to get right.
|
|
35
|
+
|
|
36
|
+
### SC-01 · A palette trigger is not a search field
|
|
37
|
+
|
|
38
|
+
Level: MUST
|
|
39
|
+
Applies to: `top-navigation`'s `search` region when what stands in it opens a `command-palette` rather than filtering in place
|
|
40
|
+
Rule: Below the bar's medium step, the magnifier opens the palette directly; the search region is never expanded over the bar.
|
|
41
|
+
Why: The bar's fold is written for a text field — open the region, move focus to its input. A region holding a trigger button costs the reader a second press and shows a button beside a close control, aligned with nothing.
|
|
42
|
+
Do: Answer the bar's request to open the search by cancelling it and opening the palette. Above the step the region shows the trigger as it always did.
|
|
43
|
+
Don't: Let the region open, or hide the magnifier and leave a narrow bar with no way to the palette.
|
|
44
|
+
Check: At a width under the medium step, one press on the magnifier shows the palette and the bar does not carry the open-search state.
|
|
45
|
+
|
|
46
|
+
### SC-02 · Layer hosts leave the banner's row
|
|
47
|
+
|
|
48
|
+
Level: MUST
|
|
49
|
+
Applies to: a consumer component placed inside `app-shell`'s `banner` whose only output is a layer — a palette, a drawer, a dialog
|
|
50
|
+
Rule: A component host inside the banner that draws no box of its own contributes no box to the banner's row.
|
|
51
|
+
Why: The banner is a flex row with a gap; an empty host is still a flex item and costs one gap, which is air on one end of the bar and not the other.
|
|
52
|
+
Do: Give such a host no box — the library's own layer hosts have none — or place the component outside the banner.
|
|
53
|
+
Don't: Leave a consumer host in the row because its content is portalled anyway.
|
|
54
|
+
Check: The bar's first and last controls stand the same distance from the frame's two edges.
|
|
55
|
+
|
|
56
|
+
### SC-03 · A panel around a query container states its measure
|
|
57
|
+
|
|
58
|
+
Level: SHOULD
|
|
59
|
+
Applies to: a `popover` whose content is a family that is a container query — `notification-center`, any consumer region with inline-size containment
|
|
60
|
+
Rule: The consumer states the content's inline size, and its block cap, on the content; the popover's measure alone does not size it.
|
|
61
|
+
Why: A query container contributes no intrinsic width, so a panel sized to its content settles at the family's floor whatever the popover's measure says, and a panel with no cap runs to the bottom of the viewport.
|
|
62
|
+
Do: Size the content to the popover's measure less the layer's own gap, bounded by the viewport on a phone, and cap its block size so the family's scrolling part scrolls.
|
|
63
|
+
Don't: Retune the popover's measure and expect a query container to grow into it.
|
|
64
|
+
Check: The panel is as wide as the popover's measure allows and no taller than the stated cap; the feed scrolls inside it.
|
|
65
|
+
|
|
66
|
+
### SC-04 · The search slot stands one space step off the brand
|
|
67
|
+
|
|
68
|
+
Level: SHOULD
|
|
69
|
+
Applies to: `top-navigation`'s `search` region when nothing — no context, no destinations — stands between it and `brand`
|
|
70
|
+
Rule: The search region carries one space step of leading margin beyond the bar's own gap.
|
|
71
|
+
Why: The bar's gap is the air between the mark and the wordmark; a bordered field at that distance reads as a third part of the brand.
|
|
72
|
+
Do: Add one space step at the region's start. When the region takes the whole bar below the medium step it has its own inset and the margin does not apply.
|
|
73
|
+
Don't: Widen the bar's gap, which also moves the actions apart.
|
|
74
|
+
Check: The field's left edge stands one space step further from the wordmark than the wordmark stands from the mark.
|
|
75
|
+
|
|
76
|
+
### SC-05 · A phone's bar holds five controls
|
|
77
|
+
|
|
78
|
+
Level: SHOULD
|
|
79
|
+
Applies to: what a consumer places in `top-navigation`'s `actions` — `action` controls of the product's own, beside the family's bell, help and account
|
|
80
|
+
Rule: Below the bar's high step the actions hold the search toggle, the bell, the help and the account; a product's own `action` leaves the bar and stays reachable from the navigation column or the palette.
|
|
81
|
+
Why: On a touch screen every control is a 44-pixel target; nine of them with the mark and the shell's toggle are wider than a phone, and the family folds none of a consumer's actions.
|
|
82
|
+
Do: Hide the product's own actions under the bar's own container query at the high step, and keep each one a destination in the column or a command in the palette.
|
|
83
|
+
Don't: Keep every action in the bar and let the cluster overflow, or shrink the controls under the touch target.
|
|
84
|
+
Check: At 390px with a coarse pointer, the bar's first and last controls are whole and no control overlaps another.
|
|
85
|
+
|
|
86
|
+
### SC-06 · No key legends where there are no keys
|
|
87
|
+
|
|
88
|
+
Level: SHOULD
|
|
89
|
+
Applies to: a `kbd` or `shortcut` drawn as a hint beside a control — the search trigger's hotkey, a menu item's shortcut, a footer of hints
|
|
90
|
+
Rule: Where the primary input is a touch screen — `(hover: none) and (pointer: coarse)` — a shortcut drawn as a hint is not shown.
|
|
91
|
+
Why: The legend names a key the reader has no way to press; on a phone it is noise beside the control it decorates.
|
|
92
|
+
Do: Hide the hint under the media query. Keep a `kbd` that is content — a settings page listing the application's shortcuts — because it documents rather than hints.
|
|
93
|
+
Don't: Hide the control the hint stands beside, or key the rule on width: a narrow window on a laptop still has a keyboard.
|
|
94
|
+
Check: On a touch screen the search trigger shows the magnifier and the words alone, and the palette's footer is absent.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: workspaces
|
|
3
|
+
prefix: WS
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
workspace,
|
|
7
|
+
reconciliation,
|
|
8
|
+
match,
|
|
9
|
+
candidate,
|
|
10
|
+
confidence,
|
|
11
|
+
score,
|
|
12
|
+
queue,
|
|
13
|
+
three columns,
|
|
14
|
+
dense,
|
|
15
|
+
phone,
|
|
16
|
+
]
|
|
17
|
+
families: [detail-panel, list, list-item, table, filter-bar, scroll-area, tag]
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Workspaces
|
|
21
|
+
|
|
22
|
+
How a dense screen that works a queue against candidates is composed: what a
|
|
23
|
+
phone keeps of its regions, and how a machine's score is put before a person
|
|
24
|
+
who confirms it. The library gives `detail-panel` a main column and an aside,
|
|
25
|
+
`list` rows that lead somewhere and `table` a summary row; it does not say
|
|
26
|
+
how three regions become one on a phone, or that a score is shown taken apart.
|
|
27
|
+
|
|
28
|
+
### WS-01 · A phone reads one region at a time
|
|
29
|
+
|
|
30
|
+
Level: SHOULD
|
|
31
|
+
Applies to: a workspace of three regions — a queue, the record opened from it, and what the record is matched against
|
|
32
|
+
Rule: Below 600 pixels the workspace shows the queue, and opening a row goes to the row's own address, where the record's page holds the other two regions, the third under the second; the back gesture returns to the queue.
|
|
33
|
+
Why: Three columns in 390 pixels are three columns nobody can read, and a region hidden on a phone is work a phone reader cannot finish.
|
|
34
|
+
Do: Make the opened record a place in the address at every width, so the selection is a link and the back gesture walks it back. From 600 pixels keep the queue beside the record and draw the record as a `detail-panel` whose `aside` is the third region, so the family decides whether it stands beside or under. Drop nothing: the phone reaches every region, one at a time.
|
|
35
|
+
Don't: Scroll the workspace sideways, hide the third region on a phone, or keep the selection in the page's state alone.
|
|
36
|
+
Check: At 390 pixels, open a row of the queue: the address changes, the record and the third region stand one under the other with no sideways scroll, and the back gesture returns to the queue.
|
|
37
|
+
|
|
38
|
+
### WS-02 · A score that decides is taken apart
|
|
39
|
+
|
|
40
|
+
Level: SHOULD
|
|
41
|
+
Applies to: a score a person confirms or refuses — a match confidence, a risk rating the reader acts on
|
|
42
|
+
Rule: The score is shown as a table of its criteria, each with the points it earned or none of its points, ending in the summary row that adds back up to the score and says where a cap applies, and its band is one mark beside one sentence giving the thresholds.
|
|
43
|
+
Why: A number or a band alone asks the reader to trust the machine, and a confirmation given on trust is the one a person was asked to give.
|
|
44
|
+
Do: Map each criterion the backend reports to its points, draw the ones the candidate did not earn as "0 of N", sum them in the table's `summary` (RP-07), and state the bands once ("high from 85, medium from 60"). Say the difference between the two compared amounts beside the command that confirms.
|
|
45
|
+
Don't: Show the band twice at two weights (CP-06), or put the reasons in a tooltip.
|
|
46
|
+
Check: Read one score: its criteria rows add up to the summary row, the summary equals the score or names its cap, and the band is stated once with its thresholds.
|
package/dist/docs/icon.json
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"default",
|
|
19
19
|
"muted",
|
|
20
20
|
"accent",
|
|
21
|
+
"info",
|
|
21
22
|
"success",
|
|
22
23
|
"warning",
|
|
23
24
|
"danger",
|
|
@@ -58,7 +59,7 @@
|
|
|
58
59
|
},
|
|
59
60
|
{
|
|
60
61
|
"name": "tone",
|
|
61
|
-
"type": "'inherit' | 'default' | 'muted' | 'accent' | 'success' | 'warning' | 'danger' | 'inverse'",
|
|
62
|
+
"type": "'inherit' | 'default' | 'muted' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | 'inverse'",
|
|
62
63
|
"defaultValue": "inherit",
|
|
63
64
|
"appliesTo": "Icon",
|
|
64
65
|
"description": "Colour; inherit takes the colour of the text beside it"
|
|
@@ -117,6 +118,7 @@
|
|
|
117
118
|
"--slotted-text-muted",
|
|
118
119
|
"--slotted-tone-accent-text",
|
|
119
120
|
"--slotted-tone-danger-text",
|
|
121
|
+
"--slotted-tone-info-text",
|
|
120
122
|
"--slotted-tone-success-text",
|
|
121
123
|
"--slotted-tone-warning-text"
|
|
122
124
|
],
|
package/dist/docs/icon.md
CHANGED
|
@@ -20,7 +20,7 @@ Excerpt — not a complete module
|
|
|
20
20
|
| Name | Type | Default | Applies to | Description |
|
|
21
21
|
| --- | --- | --- | --- | --- |
|
|
22
22
|
| `size` | `'text' \| 'sm' \| 'md' \| 'lg'` | md | Icon | Box size; sm, md and lg read the control icon scale, text follows the type |
|
|
23
|
-
| `tone` | `'inherit' \| 'default' \| 'muted' \| 'accent' \| 'success' \| 'warning' \| 'danger' \| 'inverse'` | inherit | Icon | Colour; inherit takes the colour of the text beside it |
|
|
23
|
+
| `tone` | `'inherit' \| 'default' \| 'muted' \| 'accent' \| 'info' \| 'success' \| 'warning' \| 'danger' \| 'inverse'` | inherit | Icon | Colour; inherit takes the colour of the text beside it |
|
|
24
24
|
| `directional` | `boolean` | false | Icon | The artwork points somewhere, so it mirrors in a right-to-left document |
|
|
25
25
|
| `label` | `string` | — | Icon | The name the icon carries; absent, the icon leaves the accessibility tree |
|
|
26
26
|
| `children` | `ReactNode` | — | Icon | The glyph — a Lucide component, an svg, any artwork |
|
|
@@ -31,7 +31,7 @@ Excerpt — not a complete module
|
|
|
31
31
|
| Axis | Values | Default |
|
|
32
32
|
| --- | --- | --- |
|
|
33
33
|
| `size` | `text`, `sm`, `md`, `lg` | `md` |
|
|
34
|
-
| `tone` | `inherit`, `default`, `muted`, `accent`, `success`, `warning`, `danger`, `inverse` | `inherit` |
|
|
34
|
+
| `tone` | `inherit`, `default`, `muted`, `accent`, `info`, `success`, `warning`, `danger`, `inverse` | `inherit` |
|
|
35
35
|
|
|
36
36
|
## Rules
|
|
37
37
|
|
|
@@ -46,7 +46,7 @@ Excerpt — not a complete module
|
|
|
46
46
|
|
|
47
47
|
## Tokens
|
|
48
48
|
|
|
49
|
-
`--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-icon-baseline-shift`, `--slotted-icon-size`, `--slotted-text`, `--slotted-text-inverse`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
49
|
+
`--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-icon-baseline-shift`, `--slotted-icon-size`, `--slotted-text`, `--slotted-text-inverse`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-info-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
50
50
|
|
|
51
51
|
## Examples
|
|
52
52
|
|
package/dist/docs/index.md
CHANGED
|
@@ -139,3 +139,15 @@ Each family is documented in `./<family>.md`.
|
|
|
139
139
|
- splitter: Resizable panes divided by a handle.
|
|
140
140
|
- stack: Column of items with a gap.
|
|
141
141
|
- visually-hidden: Hides content visually, keeps it for readers.
|
|
142
|
+
|
|
143
|
+
## Tokens
|
|
144
|
+
|
|
145
|
+
What each theme token is for, with its default value: `./tokens.md`.
|
|
146
|
+
|
|
147
|
+
## Guidelines
|
|
148
|
+
|
|
149
|
+
Rules for composing screens from these families: `./guidelines/index.md`. Read it before writing a screen.
|
|
150
|
+
|
|
151
|
+
## Skills
|
|
152
|
+
|
|
153
|
+
Procedures for whole tasks, each with when it applies: `./skills/index.md`.
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"tone": [
|
|
11
11
|
"accent",
|
|
12
12
|
"secondary",
|
|
13
|
+
"info",
|
|
13
14
|
"success",
|
|
14
15
|
"warning",
|
|
15
16
|
"danger"
|
|
@@ -57,14 +58,15 @@
|
|
|
57
58
|
"root",
|
|
58
59
|
"prefix",
|
|
59
60
|
"icon",
|
|
60
|
-
"text"
|
|
61
|
+
"text",
|
|
62
|
+
"actions"
|
|
61
63
|
]
|
|
62
64
|
}
|
|
63
65
|
},
|
|
64
66
|
"docs": {
|
|
65
67
|
"inlineMessage": {
|
|
66
68
|
"imports": {
|
|
67
|
-
"source": "import {\n InlineMessage,\n InlineMessageDefaultsProvider,\n} from '@slotted/react';"
|
|
69
|
+
"source": "import {\n InlineMessage,\n InlineMessageActions,\n InlineMessageDefaultsProvider,\n} from '@slotted/react';"
|
|
68
70
|
},
|
|
69
71
|
"anatomy": [
|
|
70
72
|
{
|
|
@@ -90,12 +92,18 @@
|
|
|
90
92
|
"element": "span",
|
|
91
93
|
"required": true,
|
|
92
94
|
"purpose": "The sentence. Written by the family around children, which is what makes “is there a message?” a question the stylesheet can ask and keeps a message holding a link one grid item rather than two."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"part": "actions",
|
|
98
|
+
"element": "div",
|
|
99
|
+
"required": false,
|
|
100
|
+
"purpose": "The answers the message offers (InlineMessageActions), after the sentence and wrapping under it. Present, the root is a div with role=\"group\" named by the sentence, the live role moves to the sentence, and the buttons take the message size."
|
|
93
101
|
}
|
|
94
102
|
],
|
|
95
103
|
"api": [
|
|
96
104
|
{
|
|
97
105
|
"name": "tone",
|
|
98
|
-
"type": "'accent' | 'secondary' | 'success' | 'warning' | 'danger'",
|
|
106
|
+
"type": "'accent' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'",
|
|
99
107
|
"defaultValue": "secondary",
|
|
100
108
|
"appliesTo": "InlineMessage",
|
|
101
109
|
"description": "What the message is about, and therefore which mark it draws and which word a reader hears first. secondary is help: no mark, no word, and the neutral muted ink"
|
|
@@ -220,15 +228,19 @@
|
|
|
220
228
|
"--slotted-control-font-size-sm",
|
|
221
229
|
"--slotted-disabled-foreground",
|
|
222
230
|
"--slotted-duration-loop-fast",
|
|
231
|
+
"--slotted-inline-message-actions-gap",
|
|
232
|
+
"--slotted-inline-message-actions-offset",
|
|
223
233
|
"--slotted-inline-message-column-gap",
|
|
224
234
|
"--slotted-inline-message-font-family",
|
|
225
235
|
"--slotted-inline-message-line-height",
|
|
226
236
|
"--slotted-line-height-md",
|
|
227
237
|
"--slotted-radius-full",
|
|
238
|
+
"--slotted-space-2",
|
|
228
239
|
"--slotted-space-4",
|
|
229
240
|
"--slotted-text-muted",
|
|
230
241
|
"--slotted-tone-accent-text",
|
|
231
242
|
"--slotted-tone-danger-text",
|
|
243
|
+
"--slotted-tone-info-text",
|
|
232
244
|
"--slotted-tone-success-text",
|
|
233
245
|
"--slotted-tone-warning-text"
|
|
234
246
|
],
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
```tsx
|
|
9
9
|
import {
|
|
10
10
|
InlineMessage,
|
|
11
|
+
InlineMessageActions,
|
|
11
12
|
InlineMessageDefaultsProvider,
|
|
12
13
|
} from '@slotted/react';
|
|
13
14
|
```
|
|
@@ -28,12 +29,13 @@ Excerpt — not a complete module
|
|
|
28
29
|
| `prefix` | span | no |
|
|
29
30
|
| `icon` | span | no |
|
|
30
31
|
| `text` | span | yes |
|
|
32
|
+
| `actions` | div | no |
|
|
31
33
|
|
|
32
34
|
## Props
|
|
33
35
|
|
|
34
36
|
| Name | Type | Default | Applies to | Description |
|
|
35
37
|
| --- | --- | --- | --- | --- |
|
|
36
|
-
| `tone` | `'accent' \| 'secondary' \| 'success' \| 'warning' \| 'danger'` | secondary | InlineMessage | What the message is about, and therefore which mark it draws and which word a reader hears first. secondary is help: no mark, no word, and the neutral muted ink |
|
|
38
|
+
| `tone` | `'accent' \| 'secondary' \| 'info' \| 'success' \| 'warning' \| 'danger'` | secondary | InlineMessage | What the message is about, and therefore which mark it draws and which word a reader hears first. secondary is help: no mark, no word, and the neutral muted ink |
|
|
37
39
|
| `size` | `'sm' \| 'md'` | sm | InlineMessage | The type step. sm is the message of a field, md the message of a section; both read the control scales, which the theme restates per density |
|
|
38
40
|
| `live` | `'off' \| 'polite' \| 'assertive'` | off | InlineMessage | Whether the message announces itself. polite writes role="status" and assertive writes role="alert", both on this element — there are no controls inside it to keep out of the region |
|
|
39
41
|
| `mark` | `'glyph' \| 'dot' \| 'none'` | glyph | InlineMessage | Which mark is drawn. glyph is the tone’s own silhouette; dot is one neutral bullet in the tone’s ink, the same shape for every tone including help; none draws nothing, and the tone is said by the ink and the weight of the sentence. Field and FieldGroup ask for none, because a silhouette under every control of a form is texture rather than a warning |
|
|
@@ -53,7 +55,7 @@ Excerpt — not a complete module
|
|
|
53
55
|
|
|
54
56
|
| Axis | Values | Default |
|
|
55
57
|
| --- | --- | --- |
|
|
56
|
-
| `tone` | `accent`, `secondary`, `success`, `warning`, `danger` | `secondary` |
|
|
58
|
+
| `tone` | `accent`, `secondary`, `info`, `success`, `warning`, `danger` | `secondary` |
|
|
57
59
|
| `size` | `sm`, `md` | `sm` |
|
|
58
60
|
| `mark` | `glyph`, `dot`, `none` | `glyph` |
|
|
59
61
|
| `live` | `off`, `polite`, `assertive` | `off` |
|
|
@@ -70,7 +72,7 @@ Excerpt — not a complete module
|
|
|
70
72
|
|
|
71
73
|
## Tokens
|
|
72
74
|
|
|
73
|
-
`--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-disabled-foreground`, `--slotted-duration-loop-fast`, `--slotted-inline-message-column-gap`, `--slotted-inline-message-font-family`, `--slotted-inline-message-line-height`, `--slotted-line-height-md`, `--slotted-radius-full`, `--slotted-space-4`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
75
|
+
`--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-disabled-foreground`, `--slotted-duration-loop-fast`, `--slotted-inline-message-actions-gap`, `--slotted-inline-message-actions-offset`, `--slotted-inline-message-column-gap`, `--slotted-inline-message-font-family`, `--slotted-inline-message-line-height`, `--slotted-line-height-md`, `--slotted-radius-full`, `--slotted-space-2`, `--slotted-space-4`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-info-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
74
76
|
|
|
75
77
|
## Examples
|
|
76
78
|
|