@slotted/react 0.1.0-beta.1 → 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
package/dist/docs/filter-bar.md
CHANGED
|
@@ -68,49 +68,49 @@ Excerpt — not a complete module
|
|
|
68
68
|
|
|
69
69
|
| Name | Type | Default | Applies to | Description |
|
|
70
70
|
| --- | --- | --- | --- | --- |
|
|
71
|
-
| `fields` | `FilterBarField[]` | — | FilterBar |
|
|
72
|
-
| `value` | `FilterGroup \| null` | — | FilterBar |
|
|
73
|
-
| `defaultValue` | `FilterGroup \| null` | — | FilterBar |
|
|
74
|
-
| `query` | `string` | — | FilterBar |
|
|
75
|
-
| `defaultQuery` | `string` | | FilterBar |
|
|
76
|
-
| `presets` | `FilterBarPreset[]` | — | FilterBar |
|
|
77
|
-
| `preset` | `string \| null` | — | FilterBar |
|
|
78
|
-
| `defaultPreset` | `string \| null` | null | FilterBar |
|
|
79
|
-
| `open` | `boolean` | — | FilterBar |
|
|
80
|
-
| `defaultOpen` | `boolean` | false | FilterBar |
|
|
81
|
-
| `revealed` | `boolean` | — | FilterBar |
|
|
82
|
-
| `defaultRevealed` | `boolean` | false | FilterBar |
|
|
83
|
-
| `apply` | `'live' \| 'manual'` | live | FilterBar |
|
|
84
|
-
| `sticky` | `boolean` | false | FilterBar |
|
|
85
|
-
| `container` | `Element \| null` | — | FilterBar |
|
|
86
|
-
| `size` | `'sm' \| 'md' \| 'lg'` | md | FilterBar |
|
|
87
|
-
| `queryDelay` | `number` | 320 | FilterBar |
|
|
88
|
-
| `chipLimit` | `number` | 6 | FilterBar | Chips
|
|
89
|
-
| `shortcut` | `string \| null` | null | FilterBar |
|
|
90
|
-
| `disabled` | `boolean` | false | FilterBar |
|
|
91
|
-
| `readOnly` | `boolean` | false | FilterBar |
|
|
92
|
-
| `loading` | `boolean` | false | FilterBar |
|
|
93
|
-
| `count` | `number` | — | FilterBar |
|
|
94
|
-
| `total` | `number` | — | FilterBar |
|
|
95
|
-
| `messages` | `Partial<FilterBarMessages>` | — | FilterBar |
|
|
96
|
-
| `renderOperand` | `(props: FilterBarOperandProps) => ReactNode` | — | FilterBar |
|
|
97
|
-
| `children` | `ReactNode` | — | FilterBar |
|
|
98
|
-
| `renderOperand` | `(props) => ReactNode` | — | FilterBar |
|
|
99
|
-
| `children` | `ReactNode` | — | FilterBar |
|
|
100
|
-
| `ref` | `Ref<FilterBarHandle>` | — | FilterBar | focusSearch(), open(), root —
|
|
101
|
-
| `FilterBarDefaultsProvider` | `apply \| chipLimit \| queryDelay \| shortcut \| size` | — |
|
|
102
|
-
| `onKeyDown, id, aria-*, data-*` | `props
|
|
71
|
+
| `fields` | `FilterBarField[]` | — | FilterBar | The filterable fields: key, label, kind, icon (glyph name or node), operators, pinned, required, defaultValue, section, options, searchable |
|
|
72
|
+
| `value` | `FilterGroup \| null` | — | FilterBar | The tree the consumer owns. Present means controlled, for the life of the bar |
|
|
73
|
+
| `defaultValue` | `FilterGroup \| null` | — | FilterBar | Where an uncontrolled bar starts, read once |
|
|
74
|
+
| `query` | `string` | — | FilterBar | The global search, controlled |
|
|
75
|
+
| `defaultQuery` | `string` | | FilterBar | The search an uncontrolled bar starts with |
|
|
76
|
+
| `presets` | `FilterBarPreset[]` | — | FilterBar | The saved views: key, label, value |
|
|
77
|
+
| `preset` | `string \| null` | — | FilterBar | The current view, controlled |
|
|
78
|
+
| `defaultPreset` | `string \| null` | null | FilterBar | The view it starts with |
|
|
79
|
+
| `open` | `boolean` | — | FilterBar | Whether the builder is open, controlled |
|
|
80
|
+
| `defaultOpen` | `boolean` | false | FilterBar | Whether it starts open |
|
|
81
|
+
| `revealed` | `boolean` | — | FilterBar | Whether the folded chips are in view, controlled |
|
|
82
|
+
| `defaultRevealed` | `boolean` | false | FilterBar | Whether they start in view |
|
|
83
|
+
| `apply` | `'live' \| 'manual'` | live | FilterBar | Requests on every edit, or edits a draft until Apply |
|
|
84
|
+
| `sticky` | `boolean` | false | FilterBar | Sticks under the page header and adds its height to what follows |
|
|
85
|
+
| `container` | `Element \| null` | — | FilterBar | A parent for the builder drawer only, instead of the shared portal root |
|
|
86
|
+
| `size` | `'sm' \| 'md' \| 'lg'` | md | FilterBar | The step of the controls |
|
|
87
|
+
| `queryDelay` | `number` | 320 | FilterBar | Milliseconds the search and a text operand wait under live |
|
|
88
|
+
| `chipLimit` | `number` | 6 | FilterBar | Chips in view before folding |
|
|
89
|
+
| `shortcut` | `string \| null` | null | FilterBar | The document key that focuses the search, outside an editable field |
|
|
90
|
+
| `disabled` | `boolean` | false | FilterBar | Turns off every control |
|
|
91
|
+
| `readOnly` | `boolean` | false | FilterBar | Every condition reachable and readable, none changeable: no X, add, clear or empty pills |
|
|
92
|
+
| `loading` | `boolean` | false | FilterBar | Keeps the width, turns off Apply, spinner in place of the count |
|
|
93
|
+
| `count` | `number` | — | FilterBar | How many rows the filter kept |
|
|
94
|
+
| `total` | `number` | — | FilterBar | How many there are |
|
|
95
|
+
| `messages` | `Partial<FilterBarMessages>` | — | FilterBar | Words over those of the current locale, key by key: the landmark name (bar), the controls, the chip names, the count and the announcements |
|
|
96
|
+
| `renderOperand` | `(props: FilterBarOperandProps) => ReactNode` | — | FilterBar | Replaces the operand control; undefined keeps the one for the kind |
|
|
97
|
+
| `children` | `ReactNode` | — | FilterBar | The consumer’s controls in the end slot |
|
|
98
|
+
| `renderOperand` | `(props) => ReactNode` | — | FilterBar | The seam table uses: date-range-picker on a between, tags-input on a large set |
|
|
99
|
+
| `children` | `ReactNode` | — | FilterBar | The end slot: a sort, a column picker, outside the toolbar ring |
|
|
100
|
+
| `ref` | `Ref<FilterBarHandle>` | — | FilterBar | focusSearch(), open(), root — the actions a prop does not express |
|
|
101
|
+
| `FilterBarDefaultsProvider` | `apply \| chipLimit \| queryDelay \| shortcut \| size` | — | Application | Decides once for everything below; a prop on the bar wins |
|
|
102
|
+
| `onKeyDown, id, aria-*, data-*` | `native props` | — | FilterBar | Reach the root; the consumer’s handler runs before the family’s |
|
|
103
103
|
|
|
104
104
|
## Events
|
|
105
105
|
|
|
106
106
|
| Name | Payload | When |
|
|
107
107
|
| --- | --- | --- |
|
|
108
|
-
| `onValueChange` | `(value: FilterGroup \| null, request)` |
|
|
109
|
-
| `onQueryChange` | `(query: string, request)` |
|
|
110
|
-
| `onPresetChange` | `(preset: string \| null, request)` |
|
|
111
|
-
| `onPresetSave` | `(value: FilterGroup \| null)` |
|
|
112
|
-
| `onOpenChange` | `(open: boolean, request)` |
|
|
113
|
-
| `onRevealedChange` | `(revealed: boolean, request)` |
|
|
108
|
+
| `onValueChange` | `(value: FilterGroup \| null, request)` | Before the tree moves. The reason is pointer, keyboard, clear, remove, select, submit or programmatic; cancelling moves nothing. The tree arrives normalized: no incomplete rules, null when nothing is left. |
|
|
109
|
+
| `onQueryChange` | `(query: string, request)` | After queryDelay under live, or with submit under manual; clear when Escape or the field’s X clears it. |
|
|
110
|
+
| `onPresetChange` | `(preset: string \| null, request)` | When a view is chosen in the select, with select; clear when the select is emptied. |
|
|
111
|
+
| `onPresetSave` | `(value: FilterGroup \| null)` | When the reader presses "Save as view…" in the builder. The family does not save: it asks. |
|
|
112
|
+
| `onOpenChange` | `(open: boolean, request)` | Before the builder opens or closes: pointer, keyboard, escape, outsidePress, dismiss, submit, programmatic. |
|
|
113
|
+
| `onRevealedChange` | `(revealed: boolean, request)` | Before the folded chips appear or fold again. |
|
|
114
114
|
|
|
115
115
|
## Axes and defaults
|
|
116
116
|
|
|
@@ -122,12 +122,12 @@ Excerpt — not a complete module
|
|
|
122
122
|
|
|
123
123
|
## Rules
|
|
124
124
|
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
125
|
+
- The root is role="search", not role="toolbar": the APG Toolbar pattern asks a toolbar to avoid controls that need the arrows, and the search field is one. The search is the first tab stop and the toolbar the second — two stops however many fields there are; the APG note on multi-row toolbars lets the arrows move from row to row.
|
|
126
|
+
- A chip is role="group" named "<field>: <phrase>", the same phrase describeFilter gives to the table announcement, and ", incomplete" while the value is missing. The operator has aria-haspopup="menu", the value aria-haspopup="dialog" and the name with the whole list, the X "Remove <field>". Delete and Backspace on any segment remove with the reason remove and focus goes to the segment of the same role on the next chip, the previous one, or Add filter.
|
|
127
|
+
- A pill has aria-haspopup="dialog"; under readOnly the toolbar carries aria-description="Read only" and the segments keep their stop with aria-disabled, and a locked value names the whole list the popover no longer shows.
|
|
128
|
+
- The count is itself the live region, in polite, so the effect of a filter is heard; applying, clearing, removing a chip and choosing a view are announced by the shared live-announcer.
|
|
129
|
+
- The builder is a drawer: modal, Escape closes and discards, focus returns to the trigger. Each group is a fieldset with a legend, each rule three named controls — Field, Operator, Value or From and To.
|
|
130
|
+
- Below 36rem the operator, more, add and clear leave the focus ring with visibility hidden, not only the drawing: a stop where nothing is seen is a stop that does not exist. The builder’s closed cards take the three controls out of the ring the same way; the card’s phrase has aria-expanded and aria-controls.
|
|
131
131
|
|
|
132
132
|
## Tokens
|
|
133
133
|
|
|
@@ -135,9 +135,9 @@ Excerpt — not a complete module
|
|
|
135
135
|
|
|
136
136
|
## Examples
|
|
137
137
|
|
|
138
|
-
###
|
|
138
|
+
### The bar over the table, and the same rule in both places
|
|
139
139
|
|
|
140
|
-
|
|
140
|
+
The consumer applies the tree with createFilterGroupPredicate and createSearchPredicate; the table below shrinks and the count says by how much. The Status column filter in the header edits the same object as the bar’s Status chip.
|
|
141
141
|
|
|
142
142
|
Excerpt — not a complete module
|
|
143
143
|
|
|
@@ -147,9 +147,9 @@ const find = createSearchPredicate(query, (row, field) => row[field], ['customer
|
|
|
147
147
|
const kept = orders.filter((row) => keep(row) && find(row));
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
-
###
|
|
150
|
+
### Pinned fields: a dashed place that becomes a chip
|
|
151
151
|
|
|
152
|
-
pinned
|
|
152
|
+
pinned keeps the field always in view. Without a condition it is a dashed pill with + and the name — a place waiting to be filled; pressed, it gives way to the field’s chip, in the same place, incomplete and with the value popover open. Removing the condition brings the pill back.
|
|
153
153
|
|
|
154
154
|
Excerpt — not a complete module
|
|
155
155
|
|
|
@@ -168,9 +168,9 @@ const FIELDS = [
|
|
|
168
168
|
];
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
-
###
|
|
171
|
+
### Each condition written in segments
|
|
172
172
|
|
|
173
|
-
|
|
173
|
+
A chip is the condition’s phrase in segments: the field with its glyph, the lighter operator, the value, and the X. The operator opens a menu, the value a popover with the operand only — changing the comparison does not reopen the values. A long list writes two values and the rest as a number (Paid, Refunded +2), whole in the name and the title; a list of one reads as equality. Add filter creates the chip at once, dashed until it has a value, and left out of the emitted value until then. Beyond chipLimit the chips fold behind +n more.
|
|
174
174
|
|
|
175
175
|
Excerpt — not a complete module
|
|
176
176
|
|
|
@@ -178,9 +178,9 @@ Excerpt — not a complete module
|
|
|
178
178
|
<FilterBar chipLimit={6} defaultRevealed={false} fields={FIELDS} value={filter} />;
|
|
179
179
|
```
|
|
180
180
|
|
|
181
|
-
###
|
|
181
|
+
### The builder in a drawer
|
|
182
182
|
|
|
183
|
-
Add filter,
|
|
183
|
+
Add filter, a group chip or Filters (n) open the whole tree in a drawer; on a phone the drawer rises from the bottom as a sheet. Wider than 30rem each rule is a row of field, operator, operand and X; narrower, a card with the phrase that expands in place, one at a time. Apply requests the tree with the reason submit, Cancel and Escape discard.
|
|
184
184
|
|
|
185
185
|
Excerpt — not a complete module
|
|
186
186
|
|
|
@@ -195,9 +195,9 @@ const bar = useRef<FilterBarHandle>(null);
|
|
|
195
195
|
bar.current?.open();
|
|
196
196
|
```
|
|
197
197
|
|
|
198
|
-
###
|
|
198
|
+
### Nested AND/OR groups
|
|
199
199
|
|
|
200
|
-
|
|
200
|
+
A group inside a group is a box over the sunken surface, with the opposite join and the trash that removes it; in a narrow builder it becomes a rail on the start edge, which costs ten pixels per level instead of eighty. On the bar it appears as a single chip, with the phrase in parentheses, that opens the builder.
|
|
201
201
|
|
|
202
202
|
Excerpt — not a complete module
|
|
203
203
|
|
|
@@ -227,9 +227,9 @@ const filter = {
|
|
|
227
227
|
};
|
|
228
228
|
```
|
|
229
229
|
|
|
230
|
-
###
|
|
230
|
+
### Applying in a batch
|
|
231
231
|
|
|
232
|
-
|
|
232
|
+
With apply="manual" each edit goes to a draft: the root becomes data-dirty, Reset discards, Apply requests the tree and the query with the reason submit. Enter on an operand applies. It is the Go of Fiori and the batch of Carbon.
|
|
233
233
|
|
|
234
234
|
Excerpt — not a complete module
|
|
235
235
|
|
|
@@ -242,9 +242,9 @@ Excerpt — not a complete module
|
|
|
242
242
|
/>;
|
|
243
243
|
```
|
|
244
244
|
|
|
245
|
-
###
|
|
245
|
+
### A required field with a default
|
|
246
246
|
|
|
247
|
-
required
|
|
247
|
+
required pins the field and gives it a defaultValue: Clear returns it to the default instead of erasing it, the chip has no X, and an Apply with the field empty is refused — the chip stays dashed and data-invalid, and the message is announced.
|
|
248
248
|
|
|
249
249
|
Excerpt — not a complete module
|
|
250
250
|
|
|
@@ -259,9 +259,9 @@ const company = {
|
|
|
259
259
|
};
|
|
260
260
|
```
|
|
261
261
|
|
|
262
|
-
###
|
|
262
|
+
### Saved views
|
|
263
263
|
|
|
264
|
-
presets
|
|
264
|
+
presets appears as a select at the end of the bar: choosing one replaces the tree with the reason select; editing afterwards keeps the chosen view and marks the root data-dirty. Saving belongs to the application — onPresetSave hands over the tree, and the application asks for the name.
|
|
265
265
|
|
|
266
266
|
Excerpt — not a complete module
|
|
267
267
|
|
|
@@ -275,9 +275,9 @@ Excerpt — not a complete module
|
|
|
275
275
|
/>;
|
|
276
276
|
```
|
|
277
277
|
|
|
278
|
-
###
|
|
278
|
+
### The global search
|
|
279
279
|
|
|
280
|
-
|
|
280
|
+
The query is the only field that belongs to no column. Debounced by queryDelay under live; Escape clears with the reason clear; shortcut is the document key that reaches the field, drawn inside it with kbd — and hidden where the primary input is a touch screen, where there is no key to press.
|
|
281
281
|
|
|
282
282
|
Excerpt — not a complete module
|
|
283
283
|
|
|
@@ -285,9 +285,9 @@ Excerpt — not a complete module
|
|
|
285
285
|
<FilterBar fields={FIELDS} onQueryChange={setQuery} query={query} queryDelay={120} shortcut="/" />;
|
|
286
286
|
```
|
|
287
287
|
|
|
288
|
-
###
|
|
288
|
+
### The state in a URL
|
|
289
289
|
|
|
290
|
-
toFilterBarParams
|
|
290
|
+
toFilterBarParams writes f=and(…) and q=; fromFilterBarParams reads them back, and an f.<column> written by a table without a bar becomes a top-level group. parseFilterGroup is total: a marker from an older version degrades to no filter.
|
|
291
291
|
|
|
292
292
|
Excerpt — not a complete module
|
|
293
293
|
|
|
@@ -297,9 +297,9 @@ history.replaceState(null, '', `?${params}`);
|
|
|
297
297
|
const restored = fromFilterBarParams(location.search);
|
|
298
298
|
```
|
|
299
299
|
|
|
300
|
-
###
|
|
300
|
+
### The count as a live region
|
|
301
301
|
|
|
302
|
-
count
|
|
302
|
+
count and total are the consumer’s numbers, written in the figures of the current locale. The part is aria-live="polite", so a change in the filter is heard as its effect; with loading the count gives way to a spinner and aria-busy.
|
|
303
303
|
|
|
304
304
|
Excerpt — not a complete module
|
|
305
305
|
|
|
@@ -307,9 +307,9 @@ Excerpt — not a complete module
|
|
|
307
307
|
<FilterBar count={128} fields={FIELDS} loading={fetching} total={3412} />;
|
|
308
308
|
```
|
|
309
309
|
|
|
310
|
-
###
|
|
310
|
+
### On a phone: a row that scrolls sideways and a sheet
|
|
311
311
|
|
|
312
|
-
|
|
312
|
+
Below 36rem the search sits on top and the bar becomes a row that scrolls sideways: Filters (n) first, every chip — the folded ones too —, then the empty pills; the chip cut at the edge says the row continues. Each chip has three targets: the field, the value with the operator’s words, the X. Tapping a value, a pill or Filters opens the builder as a sheet, with the rule’s card open. Resize the stage.
|
|
313
313
|
|
|
314
314
|
Excerpt — not a complete module
|
|
315
315
|
|
|
@@ -319,9 +319,9 @@ Excerpt — not a complete module
|
|
|
319
319
|
</div>;
|
|
320
320
|
```
|
|
321
321
|
|
|
322
|
-
###
|
|
322
|
+
### Stuck under the page header
|
|
323
323
|
|
|
324
|
-
sticky
|
|
324
|
+
sticky reads --slotted-page-sticky-top, sticks the bar there, and adds its own height to the property on the parent element for what comes next — a table with a sticky header sticks below the bar, not below the title.
|
|
325
325
|
|
|
326
326
|
Excerpt — not a complete module
|
|
327
327
|
|
|
@@ -332,9 +332,9 @@ Excerpt — not a complete module
|
|
|
332
332
|
</>;
|
|
333
333
|
```
|
|
334
334
|
|
|
335
|
-
###
|
|
335
|
+
### Disabled, loading, read only
|
|
336
336
|
|
|
337
|
-
disabled
|
|
337
|
+
disabled turns off every control and keeps the width; loading keeps the controls, turns off Apply and puts the spinner in place of the count; readOnly leaves every condition reachable and readable — the segments keep their stop with aria-disabled — and draws no X, add, clear or empty pills.
|
|
338
338
|
|
|
339
339
|
Excerpt — not a complete module
|
|
340
340
|
|
|
@@ -346,9 +346,9 @@ Excerpt — not a complete module
|
|
|
346
346
|
</>;
|
|
347
347
|
```
|
|
348
348
|
|
|
349
|
-
###
|
|
349
|
+
### Content the family did not choose
|
|
350
350
|
|
|
351
|
-
|
|
351
|
+
A value of eleven items writes two and the rest as a number, whole in the title and in the accessible name; a long value truncates at 12rem; an Arabic label next to an ISO date does not reorder the date, because field, operator and value are isolated runs; an unknown field is an invalid, removable chip.
|
|
352
352
|
|
|
353
353
|
Excerpt — not a complete module
|
|
354
354
|
|
|
@@ -360,14 +360,14 @@ Excerpt — not a complete module
|
|
|
360
360
|
/>;
|
|
361
361
|
```
|
|
362
362
|
|
|
363
|
-
###
|
|
363
|
+
### Keyboard
|
|
364
364
|
|
|
365
|
-
Tab:
|
|
365
|
+
Tab: the search, then the bar — two stops. The arrows move through every control of the bar, segment by segment, from row to row and mirrored in RTL; Home and End at the ends. Enter on the operator opens the menu, on the value the popover; Delete on any segment removes the condition with the reason remove and focus goes to the same segment of the next chip; Escape clears the search or closes the surface.
|
|
366
366
|
|
|
367
367
|
Excerpt — not a complete module
|
|
368
368
|
|
|
369
369
|
```tsx
|
|
370
|
-
// "Amount filter removed" —
|
|
371
|
-
// Add filter
|
|
370
|
+
// "Amount filter removed" — and focus moves to the next chip, or to
|
|
371
|
+
// Add filter when none is left.
|
|
372
372
|
<FilterBar fields={FIELDS} onValueChange={(next, request) => request.reason === 'remove'} />;
|
|
373
373
|
```
|
package/dist/docs/form.json
CHANGED
|
@@ -278,6 +278,7 @@
|
|
|
278
278
|
"--slotted-font-family-sans",
|
|
279
279
|
"--slotted-font-weight-semibold",
|
|
280
280
|
"--slotted-form-color",
|
|
281
|
+
"--slotted-form-field-gap",
|
|
281
282
|
"--slotted-form-summary-background",
|
|
282
283
|
"--slotted-form-summary-border-color",
|
|
283
284
|
"--slotted-form-summary-color",
|
|
@@ -302,7 +303,7 @@
|
|
|
302
303
|
{
|
|
303
304
|
"id": "playground",
|
|
304
305
|
"title": "Playground",
|
|
305
|
-
"note": "A form of two fields with the family’s whole lifecycle on it. Submit it empty: the platform’s own messages appear in the summary, focus moves there, and each link jumps to the field it names.",
|
|
306
|
+
"note": "A form of two fields with the family’s whole lifecycle on it. Submit it empty: the platform’s own messages appear in the summary, focus moves there, and each link jumps to the field it names. Two fields written one after the other inside the form stand apart by --slotted-form-field-gap (space-6 by default); a layout the page draws itself — a Grid, a Stack — keeps its own gap.",
|
|
306
307
|
"language": "tsx",
|
|
307
308
|
"source": "<Form onSubmit={(values) => save(values)}>\n <Field>\n <FieldLabel>Nome completo</FieldLabel>\n <TextField name=\"nome\" required />\n </Field>\n <FormActions>\n <Button type=\"submit\">Salvar</Button>\n </FormActions>\n</Form>;\n",
|
|
308
309
|
"verdict": "excerpt"
|
package/dist/docs/form.md
CHANGED
|
@@ -87,7 +87,7 @@ Excerpt — not a complete module
|
|
|
87
87
|
|
|
88
88
|
## Tokens
|
|
89
89
|
|
|
90
|
-
`--slotted-border-width-thick`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-heading`, `--slotted-font-family-sans`, `--slotted-font-weight-semibold`, `--slotted-form-color`, `--slotted-form-summary-background`, `--slotted-form-summary-border-color`, `--slotted-form-summary-color`, `--slotted-form-summary-radius`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-radius-md`, `--slotted-radius-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-8`, `--slotted-text`, `--slotted-tone-danger-border`, `--slotted-tone-danger-surface`, `--slotted-tone-danger-text`
|
|
90
|
+
`--slotted-border-width-thick`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-heading`, `--slotted-font-family-sans`, `--slotted-font-weight-semibold`, `--slotted-form-color`, `--slotted-form-field-gap`, `--slotted-form-summary-background`, `--slotted-form-summary-border-color`, `--slotted-form-summary-color`, `--slotted-form-summary-radius`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-radius-md`, `--slotted-radius-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-8`, `--slotted-text`, `--slotted-tone-danger-border`, `--slotted-tone-danger-surface`, `--slotted-tone-danger-text`
|
|
91
91
|
|
|
92
92
|
## Examples
|
|
93
93
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Guidelines
|
|
2
|
+
|
|
3
|
+
Rules for composing screens from the Slotted families: what the reference
|
|
4
|
+
pages do not state. A family's page states what it is — its parts, states,
|
|
5
|
+
tokens and keyboard. It does not state where a pager stands, what a region
|
|
6
|
+
shows before its first answer, or which family a bar's search slot is for.
|
|
7
|
+
|
|
8
|
+
## Reading protocol
|
|
9
|
+
|
|
10
|
+
For a reader with a task — a person or a model about to write or review a
|
|
11
|
+
screen:
|
|
12
|
+
|
|
13
|
+
1. Read `index.md`: every active rule in one line, with its level and its file.
|
|
14
|
+
2. Match the task against the `triggers` in each topic file's front matter.
|
|
15
|
+
Read the topic files that match, and `composition.md` always.
|
|
16
|
+
3. Before writing an element beside a family, read that family's page in
|
|
17
|
+
`..`. Before writing an element no family draws, read
|
|
18
|
+
`own-elements.md` and `../tokens.md`.
|
|
19
|
+
4. Apply the rules by level: a `MUST` broken is a defect, a `SHOULD` broken is
|
|
20
|
+
stated with its reason, a `MAY` is a permission.
|
|
21
|
+
5. A screen is done when each `Check` of the rules read passes.
|
|
22
|
+
|
|
23
|
+
## Rule identity
|
|
24
|
+
|
|
25
|
+
An id (`AF-03`) never changes meaning. A rule whose meaning or level changes
|
|
26
|
+
is retired, keeps its heading with `Status: retired`, and is rewritten under a
|
|
27
|
+
new id. The release notes of each version list the ids added and retired.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: async feedback
|
|
3
|
+
prefix: AF
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
loading,
|
|
7
|
+
pending,
|
|
8
|
+
busy,
|
|
9
|
+
empty,
|
|
10
|
+
skeleton,
|
|
11
|
+
placeholder,
|
|
12
|
+
request,
|
|
13
|
+
fetch,
|
|
14
|
+
mutation,
|
|
15
|
+
tab,
|
|
16
|
+
view,
|
|
17
|
+
page,
|
|
18
|
+
pagination,
|
|
19
|
+
popover,
|
|
20
|
+
refresh,
|
|
21
|
+
latency,
|
|
22
|
+
spinner,
|
|
23
|
+
submit,
|
|
24
|
+
action,
|
|
25
|
+
]
|
|
26
|
+
families:
|
|
27
|
+
[
|
|
28
|
+
skeleton,
|
|
29
|
+
button,
|
|
30
|
+
popover,
|
|
31
|
+
list,
|
|
32
|
+
list-item,
|
|
33
|
+
notification-center,
|
|
34
|
+
tabs,
|
|
35
|
+
pagination,
|
|
36
|
+
result-state,
|
|
37
|
+
page-header,
|
|
38
|
+
]
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
# Async feedback
|
|
42
|
+
|
|
43
|
+
What a screen shows between a request starting and its answer arriving. The
|
|
44
|
+
library gives the states — `skeleton` for a region, `loading` on a control,
|
|
45
|
+
`data-loading` and `aria-busy` on the families that fill themselves — and does
|
|
46
|
+
not say which one a screen owes at which moment. A request answers within a
|
|
47
|
+
second on a fast network and takes several on a slow one; a screen that shows
|
|
48
|
+
nothing for that long reads as a stall, and a screen that shows its empty
|
|
49
|
+
state reads as an answer.
|
|
50
|
+
|
|
51
|
+
### AF-01 · Pending is not empty
|
|
52
|
+
|
|
53
|
+
Level: MUST
|
|
54
|
+
Applies to: any region filled by a request — a `popover` body, a `list`, a `data-grid`, a `notification-center` feed, a page section
|
|
55
|
+
Rule: A region whose first answer has not arrived shows its pending state; the empty state appears only after an answer holding zero items.
|
|
56
|
+
Why: An empty state is a statement about the data, and before the answer there is no data to state anything about.
|
|
57
|
+
Do: Keep a loading fact beside the items, set before the request and cleared after it. Render placeholders while the fact is true and the items are none; render the empty state while the fact is false and the items are none.
|
|
58
|
+
Don't: Branch on the items alone. A region that opens on "Nothing waiting for you" while the request is in flight tells the reader the queue is clear, for as long as the request takes.
|
|
59
|
+
Check: Throttle the network to a slow profile and open the region cold; the empty words do not appear before the answer.
|
|
60
|
+
|
|
61
|
+
### AF-02 · First answer draws placeholders, later answers keep the rows
|
|
62
|
+
|
|
63
|
+
Level: SHOULD
|
|
64
|
+
Applies to: every region under AF-01 that is filled more than once — a panel opened again, a list read back after a mutation
|
|
65
|
+
Rule: A region with no items yet draws placeholders; a region that already shows items keeps them on screen and marks itself busy while a newer answer is on its way.
|
|
66
|
+
Why: Placeholders in place of rows the reader was looking at erase their place; rows silently replaced give no sign anything happened.
|
|
67
|
+
Do: Placeholders are the family `skeleton`: a region carrying the state and, inside it, the rows' own boxes — the mark, the label line, the description line — so the answer lands without a layout shift. A placeholder line is a fraction of its row, never a length: a length wider than a phone's row overflows the page and scrolls it sideways. While items are shown and a request runs, the list carries `aria-busy` and the rows stay.
|
|
68
|
+
Don't: Draw placeholders on every request, or clear the items before every request. Reading a list back after marking one row is a refresh, not a first load.
|
|
69
|
+
Check: Open the region twice with the network throttled to a slow profile: placeholders on the first open, the previous rows and no placeholders on the second.
|
|
70
|
+
|
|
71
|
+
### AF-03 · The control that starts a request waits on it
|
|
72
|
+
|
|
73
|
+
Level: MUST
|
|
74
|
+
Applies to: any `button` member — button, icon button, toggle button — whose activation runs a request — mark as read, archive, approve, save, submit — except a control whose request reloads the whole page; the page header's progress bar answers that wait (AF-07)
|
|
75
|
+
Rule: From activation until the answer, the control is in its `loading` state: it refuses a second activation and shows the family's indicator.
|
|
76
|
+
Why: A control that looks idle invites a second press, and the second request is a duplicate the backend has to refuse or the reader has to undo.
|
|
77
|
+
Do: Keep, beside the data, the identity of what is in flight — the row's key for a row action, one fact for a list-wide action — and bind the control's `loading` to it. The family refuses activation on its own and names the wait for assistive technology through its loading label.
|
|
78
|
+
Don't: Disable the control by hand, hide it, or leave it as it was until the row disappears. Disabled says "not allowed"; loading says "working on it".
|
|
79
|
+
Check: Press the control with the network throttled to a slow profile: the indicator appears, a second press does nothing, the row changes once.
|
|
80
|
+
|
|
81
|
+
### AF-04 · A change of view or page draws placeholders
|
|
82
|
+
|
|
83
|
+
Level: SHOULD
|
|
84
|
+
Applies to: `tabs` that switch the content of a region, `pagination`, any filter whose answer replaces the rows rather than refreshing them
|
|
85
|
+
Rule: When the reader asks for different rows, the rows on screen are removed and placeholders stand in their place until the answer arrives.
|
|
86
|
+
Why: The rows on screen are the previous answer; leaving them under the new tab says the tab did nothing until, half a second later, it does.
|
|
87
|
+
Do: Empty the items on the change and let AF-01 draw the placeholders. Keep what does not change — the tab strip, the pager, the header — where it is.
|
|
88
|
+
Don't: Keep the old rows until the new ones arrive, or replace the whole region including the tab strip with a placeholder block.
|
|
89
|
+
Check: Switch the view with the network throttled to a slow profile: placeholders at once, the tab strip and the pager still in place, rows on the answer.
|
|
90
|
+
|
|
91
|
+
### AF-05 · An indicator may wait for the request to be slow
|
|
92
|
+
|
|
93
|
+
Level: MAY
|
|
94
|
+
Applies to: a control under AF-03 whose request usually answers under the indicator's own entrance
|
|
95
|
+
Rule: A control's indicator may be delayed by the family's loading delay, so a request that answers first shows no indicator; a region's placeholders are never delayed.
|
|
96
|
+
Why: An indicator that appears and leaves within one frame is a flicker, and a region with nothing in it is a stall from the first frame.
|
|
97
|
+
Do: Use the family's delay on a control whose request is short in the normal case and leave the control refusing activation from the first instant, which the family does regardless of the delay.
|
|
98
|
+
Don't: Delay a region's placeholders, or delay a control's refusal of activation.
|
|
99
|
+
Check: On an unthrottled network a short request shows no indicator and still ignores a second press; with the network throttled to a slow profile, the indicator appears.
|
|
100
|
+
|
|
101
|
+
### AF-06 · Placeholders are held once they are drawn
|
|
102
|
+
|
|
103
|
+
Level: SHOULD
|
|
104
|
+
Applies to: every region under AF-01, through the application's own defaults for the family
|
|
105
|
+
Rule: The application states one minimum duration for the whole product: once placeholders are painted they stay for it, even when the answer has already arrived.
|
|
106
|
+
Why: A request on a fast network answers within a few hundred milliseconds, so an undelayed region paints and is replaced inside a few frames — a blink the reader reads as a fault rather than as a wait.
|
|
107
|
+
Do: State the minimum where the application states its other family defaults, and leave the delay at nothing: AF-05 keeps a region's placeholders undelayed, and the minimum is the other half of the same decision.
|
|
108
|
+
Don't: Set the minimum per screen, or reach for a delay to stop the blink — a delay is a region showing nothing for as long as it lasts.
|
|
109
|
+
Check: On an unthrottled network, open a screen of placeholders twice: the placeholders are visible on both, and no region paints and empties within one frame.
|
|
110
|
+
|
|
111
|
+
### AF-07 · A record another actor changes offers Refresh
|
|
112
|
+
|
|
113
|
+
Level: SHOULD
|
|
114
|
+
Applies to: a record page, or a list, whose data another person or process can change while it is open — an order, an invoice, a customer another writer edits
|
|
115
|
+
Rule: The page offers Refresh among the header's actions, and a refresh keeps the values on screen, marks the page busy and replaces them when the answer arrives.
|
|
116
|
+
Why: Without it the reader reloads the browser, which loses the scroll, the open tab and any draft, and a refresh that blanks the record flickers what was already read.
|
|
117
|
+
Do: Put an icon button named "Refresh" in the header's actions toolbar with its menu counterpart. The wait is the page's, not the button's: the `page-header` progress part shows it, with `loading` bound to "reading again while data is shown", over the header's closing line; the button draws no indicator of its own, and a second press while the read runs starts nothing — the read in flight answers it. The body keeps its rows and draws no placeholder.
|
|
118
|
+
Don't: Offer Refresh on a record nothing else writes, or clear the record and draw its skeleton on every read after the first.
|
|
119
|
+
Check: Press Refresh: the header's bar runs over the closing line, the button shows no spinner and ignores a second press, the values stay.
|
|
120
|
+
|
|
121
|
+
### AF-08 · A write refreshes every view it changed
|
|
122
|
+
|
|
123
|
+
Level: MUST
|
|
124
|
+
Applies to: every control that writes — a create, an edit, a delete, a categorisation — and every region on any screen whose figures the write can change
|
|
125
|
+
Rule: A successful write marks stale every query whose answer the write can change, and the regions on screen read again; an application that cannot list them marks every query stale; a region that reads again keeps its rows and dims them (LP-06).
|
|
126
|
+
Why: Categorising a transaction left the category totals and the rules' coverage at their old figures until a reload, and the reader reloaded after every action to trust the screen.
|
|
127
|
+
Do: Beside each write, list the queries its answer changes — the record, the lists it appears in, the totals and counts over them — and invalidate them on success; where the list cannot be stated, invalidate every query after a successful write.
|
|
128
|
+
Don't: Refresh only the region the control stands in, or rely on the next navigation to read the other figures again.
|
|
129
|
+
Check: Perform each write: every figure on screen that the write changes shows the new value without a reload.
|