@slotted/react 0.1.0-beta.7 → 0.1.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion-BV8Fk_Bb.js +144 -0
- package/dist/accordion.js +1 -1
- package/dist/{action-bar-C5zaYrEW.js → action-bar-1Oim1M96.js} +87 -86
- package/dist/action-bar.js +1 -1
- package/dist/action-sheet-DDYGq59n.js +358 -0
- package/dist/action-sheet.js +1 -1
- package/dist/alert-CBOYFgV4.js +162 -0
- package/dist/alert.js +1 -1
- package/dist/app-shell-lsR7E83y.js +845 -0
- package/dist/app-shell.js +1 -1
- package/dist/aspect-ratio-4-jVcJVH.js +41 -0
- package/dist/aspect-ratio.js +1 -1
- package/dist/attachment-DRJ1Xbwf.js +305 -0
- package/dist/attachment.js +1 -1
- package/dist/avatar-XLx8XVQx.js +103 -0
- package/dist/avatar-group-C7WnrQcv.js +50 -0
- package/dist/avatar-group.js +1 -1
- package/dist/avatar.js +1 -1
- package/dist/badge-D8JWis8n.js +98 -0
- package/dist/badge.js +1 -1
- package/dist/breadcrumb-Dwhy6HNo.js +222 -0
- package/dist/breadcrumb.js +1 -1
- package/dist/button-DE4tnH90.js +100 -0
- package/dist/button-group-CNDK1041.js +51 -0
- package/dist/button-group.js +1 -1
- package/dist/button.js +2 -2
- package/dist/calendar-C5MWMBJ-.js +457 -0
- package/dist/calendar.js +1 -1
- package/dist/card-D-qJkGER.js +103 -0
- package/dist/card.js +1 -1
- package/dist/carousel-AUACHYJI.js +499 -0
- package/dist/carousel.js +1 -1
- package/dist/{cascader-Cn2Acpcv.js → cascader-DxoDZicZ.js} +374 -334
- package/dist/cascader.js +1 -1
- package/dist/chart-DlFmkiTt.js +1010 -0
- package/dist/chart.js +1 -1
- package/dist/checkbox-BiQZiZNt.js +144 -0
- package/dist/checkbox-group-DGTqyyx5.js +109 -0
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/code-block-eGJk55we.js +282 -0
- package/dist/code-block.js +1 -1
- package/dist/collapsible-BZJRc6im.js +222 -0
- package/dist/collapsible.js +1 -1
- package/dist/color-picker-BwN0Z-6T.js +506 -0
- package/dist/color-picker.js +1 -1
- package/dist/column-manager-TmTLTxbk.js +586 -0
- package/dist/column-manager.js +1 -1
- package/dist/combobox-C7ah850L.js +902 -0
- package/dist/combobox.js +1 -1
- package/dist/command-palette-DaJvrDUu.js +741 -0
- package/dist/command-palette.js +1 -1
- package/dist/container-D055iqqL.js +47 -0
- package/dist/container.js +1 -1
- package/dist/context-menu-DPVaLtM3.js +151 -0
- package/dist/context-menu.js +1 -1
- package/dist/currency-field-DaTmtosk.js +469 -0
- package/dist/currency-field.js +1 -1
- package/dist/{dashboard-grid-DsovCuVC.js → dashboard-grid-CPkG03YJ.js} +335 -330
- package/dist/dashboard-grid.js +1 -1
- package/dist/{data-grid-CjFQ2U6v.js → data-grid-UyqqM0QZ.js} +1329 -1180
- package/dist/data-grid.js +1 -1
- package/dist/{data-list-UtLdop-1.js → data-list-nqUyMq3p.js} +173 -147
- package/dist/data-list.js +1 -1
- package/dist/date-field-BSxzX9I5.js +299 -0
- package/dist/date-field.js +1 -1
- package/dist/date-picker-Cw5cGND1.js +316 -0
- package/dist/date-picker.js +1 -1
- package/dist/date-range-picker-l7D9XdFz.js +501 -0
- package/dist/date-range-picker.js +1 -1
- package/dist/datetime-field-KtkRmy6M.js +424 -0
- package/dist/datetime-field.js +1 -1
- package/dist/{datetime-picker-STqSWMkH.js → datetime-picker-CWNTsAk5.js} +217 -200
- package/dist/datetime-picker.js +1 -1
- package/dist/datetime-range-picker-OXDQGRWg.js +1029 -0
- package/dist/datetime-range-picker.js +1 -1
- package/dist/description-list-wYFj_gz-.js +240 -0
- package/dist/description-list.js +1 -1
- package/dist/{detail-panel-ChaIgrw3.js → detail-panel-CKizcLlb.js} +101 -93
- package/dist/detail-panel.js +1 -1
- package/dist/dialog-CpdINwbD.js +533 -0
- package/dist/dialog.js +1 -1
- package/dist/divider-mlzDmInL.js +35 -0
- package/dist/divider.js +1 -1
- package/dist/docs/calendar.json +1 -1
- package/dist/docs/code-block.json +93 -93
- package/dist/docs/code-block.md +71 -71
- package/dist/docs/currency-field.json +7 -0
- package/dist/docs/currency-field.md +1 -0
- package/dist/docs/data-grid.examples.md +1 -1
- package/dist/docs/data-grid.json +21 -4
- package/dist/docs/data-grid.md +1 -1
- package/dist/docs/data-grid.props.md +5 -3
- package/dist/docs/dialog.examples.md +118 -116
- package/dist/docs/dialog.json +8 -8
- package/dist/docs/filter-bar.json +115 -115
- package/dist/docs/filter-bar.md +78 -78
- package/dist/docs/guidelines/async-feedback.md +10 -0
- package/dist/docs/guidelines/composition.md +11 -7
- package/dist/docs/guidelines/index.md +6 -1
- package/dist/docs/guidelines/list-pages.md +30 -0
- package/dist/docs/guidelines/overviews.md +10 -0
- package/dist/docs/markdown.json +75 -75
- package/dist/docs/markdown.md +63 -63
- package/dist/docs/page-header.json +1 -1
- package/dist/docs/skills/compose-screen/SKILL.md +22 -10
- package/dist/docs/skills/review-screen/SKILL.md +6 -0
- package/dist/docs/skills/waiting-states/SKILL.md +4 -1
- package/dist/docs/tags-input.json +28 -2
- package/dist/docs/tags-input.md +4 -1
- package/dist/docs/timeline.json +129 -129
- package/dist/docs/timeline.md +120 -120
- package/dist/drawer-CRaogb8b.js +769 -0
- package/dist/drawer.js +1 -1
- package/dist/{entity-picker-BdySwW8F.js → entity-picker-Z_R15jez.js} +461 -407
- package/dist/entity-picker.js +1 -1
- package/dist/{event-calendar-VUGigZIP.js → event-calendar-BTqvEoHB.js} +466 -397
- package/dist/event-calendar.js +1 -1
- package/dist/field-DKA-qsCV.js +367 -0
- package/dist/field-group-DFBcVPei.js +138 -0
- package/dist/field-group.js +1 -1
- package/dist/field.js +1 -1
- package/dist/filter-bar-C9QzKlR7.js +1340 -0
- package/dist/filter-bar.js +1 -1
- package/dist/{form-vTCQhZM-.js → form-C3PbJPAx.js} +96 -87
- package/dist/form.js +1 -1
- package/dist/fullscreen-DnMrOXT1.js +190 -0
- package/dist/fullscreen.js +1 -1
- package/dist/grid-Ceyh0svH.js +26 -0
- package/dist/grid.js +1 -1
- package/dist/highlight-CIcfSNwz.js +59 -0
- package/dist/highlight.js +1 -1
- package/dist/hover-card-Cw65NrY1.js +215 -0
- package/dist/hover-card.js +1 -1
- package/dist/icon-DMdotKfc.js +75 -0
- package/dist/icon-button-VOA-RY_1.js +222 -0
- package/dist/icon.js +1 -1
- package/dist/{image-DpDFrrXL.js → image-CHiNVcMX.js} +24 -20
- package/dist/image.js +1 -1
- package/dist/{import-export-center-BuEBO1CB.js → import-export-center-BZkY9DNX.js} +227 -175
- package/dist/import-export-center.js +1 -1
- package/dist/index.js +125 -125
- package/dist/inline-BvUpHX8q.js +17 -0
- package/dist/inline-message-BgA4EOsR.js +95 -0
- package/dist/inline-message.js +1 -1
- package/dist/inline.js +1 -1
- package/dist/kbd-DQwbQOQo.js +105 -0
- package/dist/kbd.js +1 -1
- package/dist/link-2zYK7lG3.js +91 -0
- package/dist/link.js +1 -1
- package/dist/list-Bl3ittKt.js +95 -0
- package/dist/list-item-C95M_E6h.js +125 -0
- package/dist/list-item.js +1 -1
- package/dist/list.js +1 -1
- package/dist/listbox-CjCzb8wA.js +626 -0
- package/dist/listbox.js +1 -1
- package/dist/loading-overlay-B6htOo0b.js +218 -0
- package/dist/loading-overlay.js +1 -1
- package/dist/markdown-CvkdDhk0.js +306 -0
- package/dist/markdown.js +1 -1
- package/dist/menu-parts-Dsszga3r.js +805 -0
- package/dist/menu.js +1 -1
- package/dist/menubar-C6ADG3vZ.js +157 -0
- package/dist/menubar.js +1 -1
- package/dist/message-Cjx5EKXr.js +434 -0
- package/dist/message-scroller-DbsTtBDf.js +216 -0
- package/dist/message-scroller.js +1 -1
- package/dist/message.js +1 -1
- package/dist/{multi-select-B8z6ApgW.js → multi-select-BwBY-V0x.js} +468 -428
- package/dist/multi-select.js +1 -1
- package/dist/navigation-menu-parts-BH_bD_nB.js +492 -0
- package/dist/navigation-menu.js +1 -1
- package/dist/notification-center-COgvX79i.js +515 -0
- package/dist/notification-center.js +1 -1
- package/dist/number-field-DAkV-0Ds.js +345 -0
- package/dist/number-field.js +1 -1
- package/dist/{otp-input-CI-kdNgx.js → otp-input-BhNLVojM.js} +75 -72
- package/dist/otp-input.js +1 -1
- package/dist/page-DhWDOrba.js +179 -0
- package/dist/page-header-_w0GDfzQ.js +369 -0
- package/dist/page-header.js +1 -1
- package/dist/page.js +1 -1
- package/dist/pagination-ORU3xJIl.js +299 -0
- package/dist/pagination.js +1 -1
- package/dist/popover-Dwj841Zz.js +500 -0
- package/dist/popover.js +1 -1
- package/dist/progress-indicator-BhljwFx8.js +289 -0
- package/dist/progress-indicator.js +1 -1
- package/dist/prompt-composer-DekRS1MN.js +259 -0
- package/dist/prompt-composer.js +1 -1
- package/dist/prose-vW3cGfUO.js +92 -0
- package/dist/prose.js +1 -1
- package/dist/radio-group-B90c6yUE.js +143 -0
- package/dist/radio-group.js +1 -1
- package/dist/rating-DQ8ekf4J.js +501 -0
- package/dist/rating.js +1 -1
- package/dist/result-state-_QpLl0_K.js +128 -0
- package/dist/result-state.js +1 -1
- package/dist/saved-views-CSVHsnUY.js +456 -0
- package/dist/saved-views.js +1 -1
- package/dist/scroll-area-YWtHa-AH.js +112 -0
- package/dist/scroll-area.js +1 -1
- package/dist/section-BIVN1b9I.js +177 -0
- package/dist/section.js +1 -1
- package/dist/segmented-control-BEhDuh3f.js +156 -0
- package/dist/segmented-control.js +1 -1
- package/dist/select-Dx9crduQ.js +1018 -0
- package/dist/{select-tags-CQMcHIQN.js → select-tags-O7s_VG8g.js} +11 -1
- package/dist/select.js +1 -1
- package/dist/side-navigation-Clp3d76j.js +747 -0
- package/dist/side-navigation.js +1 -1
- package/dist/skeleton-DhMVeVtn.js +149 -0
- package/dist/skeleton.js +1 -1
- package/dist/slider-Q4U838QA.js +264 -0
- package/dist/slider.js +1 -1
- package/dist/sparkline-BpEgC_sE.js +139 -0
- package/dist/sparkline.js +1 -1
- package/dist/split-button-BXTSOL1t.js +136 -0
- package/dist/split-button.js +1 -1
- package/dist/splitter-CQIAFS-U.js +293 -0
- package/dist/splitter.js +1 -1
- package/dist/stack-CcdrLuIO.js +16 -0
- package/dist/stack.js +1 -1
- package/dist/stat-card-B26PbBTG.js +247 -0
- package/dist/stat-card.js +1 -1
- package/dist/status-indicator-BcRmvlQi.js +78 -0
- package/dist/status-indicator.js +1 -1
- package/dist/stepper-DJiyt8_a.js +261 -0
- package/dist/stepper.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/switch-DJcPFG_K.js +144 -0
- package/dist/switch.js +1 -1
- package/dist/{table-C1kLS0-9.js → table-B_h8MWmn.js} +345 -332
- package/dist/table-of-contents-Di60gQxa.js +471 -0
- package/dist/table-of-contents.js +1 -1
- package/dist/table.js +1 -1
- package/dist/tabs-cSln63RJ.js +361 -0
- package/dist/tabs.js +1 -1
- package/dist/tag-IJC5A6Mw.js +374 -0
- package/dist/tag.js +1 -1
- package/dist/tags-input-C1rz88eV.js +729 -0
- package/dist/tags-input.js +1 -1
- package/dist/text-field-8YqMC2pD.js +203 -0
- package/dist/text-field.js +1 -1
- package/dist/textarea-CLs-VUAu.js +100 -0
- package/dist/textarea.js +1 -1
- package/dist/time-field-8ZgiPHW6.js +366 -0
- package/dist/time-field.js +1 -1
- package/dist/{time-picker-D6SlQWNF.js → time-picker-MmBtsFt-.js} +134 -121
- package/dist/time-picker.js +1 -1
- package/dist/time-range-picker-IKd3NKiC.js +779 -0
- package/dist/time-range-picker.js +1 -1
- package/dist/timeline-DHzS0QcQ.js +446 -0
- package/dist/timeline.js +1 -1
- package/dist/toast-BFK2kxCh.js +469 -0
- package/dist/toast.js +1 -1
- package/dist/toggle-Tce-wI5k.js +67 -0
- package/dist/toggle-group-CjtkcHal.js +145 -0
- package/dist/toggle-group.js +1 -1
- package/dist/toggle.js +1 -1
- package/dist/toolbar-f-xwEocO.js +241 -0
- package/dist/toolbar.js +1 -1
- package/dist/tooltip-Bhr8L7US.js +411 -0
- package/dist/tooltip.js +1 -1
- package/dist/top-navigation-DkklehE6.js +744 -0
- package/dist/top-navigation.js +1 -1
- package/dist/tour-BgFSHHxG.js +809 -0
- package/dist/tour.js +1 -1
- package/dist/transfer-kbdtwSnx.js +606 -0
- package/dist/transfer.js +1 -1
- package/dist/tree-CNUJWzmq.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/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.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/breadcrumb/breadcrumb-parts.d.ts.map +1 -1
- package/dist/types/breadcrumb/breadcrumb.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.map +1 -1
- package/dist/types/button/button-root.d.ts +2 -2
- package/dist/types/button/button-root.d.ts.map +1 -1
- package/dist/types/button/button.d.ts.map +1 -1
- package/dist/types/button/icon-button.d.ts.map +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.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/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-items.d.ts.map +1 -1
- package/dist/types/combobox/combobox-parts.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 +14 -5
- package/dist/types/currency-field/currency-field.types.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.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 +10 -0
- 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.map +1 -1
- package/dist/types/date-picker/date-picker.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-parts.d.ts.map +1 -1
- package/dist/types/dialog/dialog.types.d.ts +5 -1
- 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/entity-picker/entity-picker-control.d.ts.map +1 -1
- package/dist/types/entity-picker/entity-picker-popup.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.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/image/image.d.ts.map +1 -1
- package/dist/types/import-export-center/import-export-center.d.ts.map +1 -1
- package/dist/types/inline/inline.d.ts.map +1 -1
- package/dist/types/inline-message/inline-message.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/list/list-parts.d.ts.map +1 -1
- package/dist/types/list/list.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/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/menu-items.d.ts.map +1 -1
- package/dist/types/menu/menu-parts.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-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-items.d.ts.map +1 -1
- package/dist/types/multi-select/multi-select-parts.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/notification-center/notification-center.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.map +1 -1
- package/dist/types/page-header/page-header.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/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-parts.d.ts.map +1 -1
- package/dist/types/progress-indicator/use-progress-indicator.d.ts.map +1 -1
- package/dist/types/prompt-composer/prompt-composer.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/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/section-parts.d.ts.map +1 -1
- package/dist/types/section/section.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.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/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/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/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/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/table-content.d.ts.map +1 -1
- package/dist/types/table/table-filter.d.ts.map +1 -1
- package/dist/types/table/table-parts.d.ts.map +1 -1
- package/dist/types/table/table.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/tabs/tabs-parts.d.ts.map +1 -1
- package/dist/types/tabs/tabs.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/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/toast/toast-parts.d.ts.map +1 -1
- package/dist/types/toast/toast.d.ts.map +1 -1
- package/dist/types/toggle/toggle.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/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/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/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-DLiIuMKf.js +93 -0
- package/dist/typography.js +1 -1
- package/dist/upload-CKwUxRtB.js +648 -0
- package/dist/upload.js +1 -1
- package/dist/visually-hidden-Dlnpzic3.js +15 -0
- package/dist/visually-hidden.js +1 -1
- package/dist/wizard-gMgYFSLO.js +838 -0
- package/dist/wizard.js +1 -1
- package/package.json +11 -8
- package/dist/accordion-lCqrmQ3w.js +0 -143
- package/dist/action-sheet-CaUaP0K2.js +0 -347
- package/dist/alert-CP62p9Ul.js +0 -159
- package/dist/app-shell-DNdZ5ys0.js +0 -840
- 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-Db9f3Bxn.js +0 -99
- package/dist/button-group-Det_nYor.js +0 -50
- package/dist/calendar-BZ6PP7Ke.js +0 -436
- package/dist/card-CpVu8PyZ.js +0 -102
- package/dist/carousel-BPi-Y5yF.js +0 -498
- package/dist/chart-04i6NZQA.js +0 -968
- package/dist/checkbox-B4Sb1eXj.js +0 -139
- package/dist/checkbox-group-LpGMuq9w.js +0 -108
- package/dist/code-block-CTNiyt0U.js +0 -269
- package/dist/collapsible-F-K36XbF.js +0 -217
- package/dist/color-picker-amz8XfXm.js +0 -504
- package/dist/column-manager-CFtJxQWS.js +0 -585
- package/dist/combobox-C1D5doWM.js +0 -885
- package/dist/command-palette-D1C1GDWC.js +0 -707
- package/dist/container-CjxY6rYv.js +0 -46
- package/dist/context-menu-g3DMZKR3.js +0 -150
- package/dist/currency-field-Dti9JFu0.js +0 -455
- package/dist/date-field-BxEpqAPg.js +0 -290
- package/dist/date-picker-DRk9SZp1.js +0 -308
- package/dist/date-range-picker-6Yz7avTS.js +0 -483
- package/dist/datetime-field-D2f9u6im.js +0 -411
- package/dist/datetime-range-picker-DQNQwr3K.js +0 -1000
- package/dist/description-list-IYLnFgHT.js +0 -232
- package/dist/dialog-yT-x3B9s.js +0 -498
- package/dist/divider-D36Jqo0J.js +0 -33
- package/dist/drawer-B_EgvFeX.js +0 -757
- package/dist/field-BxQFpOXS.js +0 -365
- package/dist/field-group-DcN_hiZN.js +0 -138
- package/dist/filter-bar-BzSOD3ad.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-DpVzwvDJ.js +0 -214
- package/dist/icon-T9Yt4tnm.js +0 -73
- package/dist/icon-button-CCWkCDMs.js +0 -213
- 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-WsQ6ZzCa.js +0 -91
- package/dist/list-item-DpCwZIrd.js +0 -123
- package/dist/listbox-D0MJcAMm.js +0 -615
- package/dist/loading-overlay-RRsNK1FN.js +0 -208
- package/dist/markdown-IiVoh6yi.js +0 -295
- package/dist/menu-parts-BpQu2s4z.js +0 -813
- package/dist/menubar-rpNcgIrw.js +0 -156
- package/dist/message-Cp0rLCyW.js +0 -430
- package/dist/message-scroller-UZjFpflz.js +0 -214
- package/dist/navigation-menu-parts-Cn-OAadu.js +0 -492
- package/dist/notification-center-CGEEHcRA.js +0 -485
- package/dist/number-field-DXk1TAXA.js +0 -342
- package/dist/page-QP8Zyz8-.js +0 -167
- package/dist/page-header-BP_Wt3eS.js +0 -367
- package/dist/pagination-DWJc521r.js +0 -292
- package/dist/popover-DEp8Bf3e.js +0 -495
- package/dist/progress-indicator-DwvUSFFs.js +0 -269
- package/dist/prompt-composer-DdcU3S3L.js +0 -259
- package/dist/prose-CkeNYS0X.js +0 -91
- package/dist/radio-group-D8csBZ8Z.js +0 -140
- package/dist/rating-rI3b5zII.js +0 -459
- package/dist/result-state-CZsQfdN4.js +0 -126
- package/dist/saved-views-DB2IIdhH.js +0 -446
- package/dist/scroll-area-DQ_ansLu.js +0 -112
- package/dist/section-Be7dX9MC.js +0 -176
- package/dist/segmented-control-C-PzkTtg.js +0 -153
- package/dist/select-BUylPwpb.js +0 -995
- package/dist/side-navigation-BnUKTrtd.js +0 -744
- package/dist/skeleton-2LSpg84Z.js +0 -143
- package/dist/slider-fp7kyg-6.js +0 -256
- package/dist/sparkline-rY7HIFE4.js +0 -131
- package/dist/split-button-p97Bd5wM.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-aVoc4C2F.js +0 -138
- package/dist/table-of-contents-DfAeYtFJ.js +0 -461
- package/dist/tabs-HWmvOKM4.js +0 -355
- package/dist/tag-DjtW53xN.js +0 -365
- package/dist/tags-input-pbv6x1Pi.js +0 -625
- package/dist/text-field-CbQ6UCAP.js +0 -195
- package/dist/textarea-DJSfhrXH.js +0 -99
- package/dist/time-field-BI9n607q.js +0 -355
- package/dist/time-range-picker-CcV3_45h.js +0 -751
- package/dist/timeline-DH_02ysz.js +0 -421
- package/dist/toast-BTN_F9No.js +0 -468
- package/dist/toggle-CBFhM4Jh.js +0 -64
- package/dist/toggle-group-i7JPO8BM.js +0 -142
- package/dist/toolbar-U-CFEb1c.js +0 -240
- package/dist/tooltip-CgjIROUy.js +0 -410
- package/dist/top-navigation-BjIRQfkK.js +0 -739
- package/dist/tour-BTdt716T.js +0 -799
- package/dist/transfer--UOQVeKE.js +0 -596
- package/dist/tree-C6fYJqT9.js +0 -783
- package/dist/typography-B2iaigEC.js +0 -92
- package/dist/upload-CXDjxuS8.js +0 -613
- package/dist/visually-hidden-CE6u5JLW.js +0 -14
- package/dist/wizard-BxA08vXt.js +0 -815
|
@@ -112,211 +112,211 @@
|
|
|
112
112
|
"part": "root",
|
|
113
113
|
"element": "div",
|
|
114
114
|
"required": true,
|
|
115
|
-
"purpose": "
|
|
115
|
+
"purpose": "The role=\"search\" landmark with the family name. Carries data-ui=\"filter-bar\", data-apply, data-size, data-dirty, data-open, data-sticky, data-readonly, data-disabled, data-loading. It is the query container; nothing on it changes grid."
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
"part": "frame",
|
|
119
119
|
"element": "div",
|
|
120
120
|
"required": true,
|
|
121
|
-
"purpose": "
|
|
121
|
+
"purpose": "The grid, an element inside the root, because a container query does not restyle the element it measures. Above 36rem, two rows: the search, the consumer’s controls and the count; then the bar, which wraps. Below, the search, the bar as a row that scrolls sideways, and the count."
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
124
|
"part": "search",
|
|
125
125
|
"element": "div",
|
|
126
126
|
"required": true,
|
|
127
|
-
"purpose": "
|
|
127
|
+
"purpose": "The global search field — a wrapped text-field — the first tab stop. Escape clears the query; the shortcut key lands here."
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
"part": "bar",
|
|
131
131
|
"element": "div",
|
|
132
132
|
"required": true,
|
|
133
|
-
"purpose": "
|
|
133
|
+
"purpose": "The role=\"toolbar\" that holds everything that is not the search: one tab stop, and the arrows move through the summary, the pills, each segment of each chip, more, add, clear and the actions, from row to row. data-revealed while the folded chips are in view."
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
"part": "pill",
|
|
137
137
|
"element": "button",
|
|
138
138
|
"required": false,
|
|
139
|
-
"purpose": "
|
|
139
|
+
"purpose": "A pinned field without a condition: dashed edge, plus glyph, the name. Pressed, it gives way to the field’s chip, incomplete, with the value popover open; on a phone it opens the builder with the rule’s card."
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
"part": "add",
|
|
143
143
|
"element": "button",
|
|
144
144
|
"required": true,
|
|
145
|
-
"purpose": "
|
|
145
|
+
"purpose": "The trigger of the menu with the fields that have no rule yet, grouped by section and with each one’s glyph. With a chip on the bar it draws only the glyph, in a circle, data-compact; the label stays as name and title."
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
"part": "clear",
|
|
149
149
|
"element": "button",
|
|
150
150
|
"required": false,
|
|
151
|
-
"purpose": "
|
|
151
|
+
"purpose": "Drawn while something is applied. Returns a required field to its defaultValue and erases the rest, with the reason clear."
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
154
|
"part": "preset",
|
|
155
155
|
"element": "div",
|
|
156
156
|
"required": false,
|
|
157
|
-
"purpose": "
|
|
157
|
+
"purpose": "A wrapped select with the saved views. Choosing one replaces the tree with the reason select."
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
"part": "actions",
|
|
161
161
|
"element": "div",
|
|
162
162
|
"required": false,
|
|
163
|
-
"purpose": "
|
|
163
|
+
"purpose": "Under apply=\"manual\": reset and apply. In a builder group: add-rule, add-group, remove-group."
|
|
164
164
|
},
|
|
165
165
|
{
|
|
166
166
|
"part": "apply",
|
|
167
167
|
"element": "button",
|
|
168
168
|
"required": false,
|
|
169
|
-
"purpose": "
|
|
169
|
+
"purpose": "Applies the draft with the reason submit. Refuses while a required field has no value."
|
|
170
170
|
},
|
|
171
171
|
{
|
|
172
172
|
"part": "reset",
|
|
173
173
|
"element": "button",
|
|
174
174
|
"required": false,
|
|
175
|
-
"purpose": "
|
|
175
|
+
"purpose": "Discards the draft."
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
178
|
"part": "summary",
|
|
179
179
|
"element": "button",
|
|
180
180
|
"required": true,
|
|
181
|
-
"purpose": "
|
|
181
|
+
"purpose": "First on the bar, drawn only below 36rem: \"Filters (n)\", which opens the builder. Outside the narrow width it is hidden and out of the focus ring."
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
184
|
"part": "end",
|
|
185
185
|
"element": "div",
|
|
186
186
|
"required": true,
|
|
187
|
-
"purpose": "
|
|
187
|
+
"purpose": "The consumer’s controls — a sort, a column picker — projected as children."
|
|
188
188
|
},
|
|
189
189
|
{
|
|
190
190
|
"part": "chip",
|
|
191
191
|
"element": "div",
|
|
192
192
|
"required": false,
|
|
193
|
-
"purpose": "
|
|
193
|
+
"purpose": "A condition written in segments, role=\"group\" named \"<field>: <phrase>\". data-pinned on a pinned field, data-incomplete while the operand is missing, data-folded beyond chipLimit, data-invalid on an unknown field or a required field without a value. Delete on any segment removes the condition."
|
|
194
194
|
},
|
|
195
195
|
{
|
|
196
196
|
"part": "chip-field",
|
|
197
197
|
"element": "span",
|
|
198
198
|
"required": false,
|
|
199
|
-
"purpose": "
|
|
199
|
+
"purpose": "The field’s glyph and its name. Read only: the field of a condition is fixed."
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
202
|
"part": "chip-operator",
|
|
203
203
|
"element": "button",
|
|
204
204
|
"required": false,
|
|
205
|
-
"purpose": "
|
|
205
|
+
"purpose": "The operator, lighter than the ends. Opens a menu with the operators of the kind; an operator that needs a missing operand moves on to the value."
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
208
|
"part": "chip-value",
|
|
209
209
|
"element": "button",
|
|
210
210
|
"required": false,
|
|
211
|
-
"purpose": "
|
|
211
|
+
"purpose": "The value: two items and the rest as a number, the whole list in the name and the title. Opens a popover with the operand only; on a phone it also carries the operator’s words and opens the builder."
|
|
212
212
|
},
|
|
213
213
|
{
|
|
214
214
|
"part": "chip-remove",
|
|
215
215
|
"element": "button",
|
|
216
216
|
"required": false,
|
|
217
|
-
"purpose": "
|
|
217
|
+
"purpose": "Removes the condition with the reason remove. Absent on a required field and under readOnly."
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
220
|
"part": "more",
|
|
221
221
|
"element": "button",
|
|
222
222
|
"required": false,
|
|
223
|
-
"purpose": "\"+n more\"
|
|
223
|
+
"purpose": "\"+n more\" while chips are folded; \"Show less\" when they are revealed."
|
|
224
224
|
},
|
|
225
225
|
{
|
|
226
226
|
"part": "count",
|
|
227
227
|
"element": "p",
|
|
228
228
|
"required": false,
|
|
229
|
-
"purpose": "
|
|
229
|
+
"purpose": "The count, in aria-live=\"polite\": count of total in the figures of the current locale. With loading, a spinner and aria-busy."
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
232
|
"part": "builder",
|
|
233
233
|
"element": "div",
|
|
234
234
|
"required": true,
|
|
235
|
-
"purpose": "
|
|
235
|
+
"purpose": "The editor of the whole tree, inside a drawer. Carries its own data-ui because the drawer portals it."
|
|
236
236
|
},
|
|
237
237
|
{
|
|
238
238
|
"part": "group",
|
|
239
239
|
"element": "fieldset",
|
|
240
240
|
"required": true,
|
|
241
|
-
"purpose": "
|
|
241
|
+
"purpose": "A group of the tree: the header, the rows and the controls. From data-depth 1 on it is a box over the sunken surface, with its own remove in the header."
|
|
242
242
|
},
|
|
243
243
|
{
|
|
244
244
|
"part": "join",
|
|
245
245
|
"element": "div",
|
|
246
246
|
"required": true,
|
|
247
|
-
"purpose": "
|
|
247
|
+
"purpose": "The group header: \"Match\", the All/Any segmented-control, \"of the following\" and, in a nested group, Remove group at the end."
|
|
248
248
|
},
|
|
249
249
|
{
|
|
250
250
|
"part": "rules",
|
|
251
251
|
"element": "div",
|
|
252
252
|
"required": true,
|
|
253
|
-
"purpose": "
|
|
253
|
+
"purpose": "The group’s rows in a two-column grid: the joining word and the rule or the group, so that every field aligns."
|
|
254
254
|
},
|
|
255
255
|
{
|
|
256
256
|
"part": "conjunction",
|
|
257
257
|
"element": "span",
|
|
258
258
|
"required": true,
|
|
259
|
-
"purpose": "
|
|
259
|
+
"purpose": "The word before each row: \"Where\" on the first, \"and\" or \"or\" on the following ones, the group’s join."
|
|
260
260
|
},
|
|
261
261
|
{
|
|
262
262
|
"part": "rule",
|
|
263
263
|
"element": "div",
|
|
264
264
|
"required": false,
|
|
265
|
-
"purpose": "
|
|
265
|
+
"purpose": "A rule: field, operator, operand, remove. data-kind and data-operands for the grid; data-invalid on an unknown field; data-expanded on the open card of the narrow form."
|
|
266
266
|
},
|
|
267
267
|
{
|
|
268
268
|
"part": "rule-summary",
|
|
269
269
|
"element": "button",
|
|
270
270
|
"required": false,
|
|
271
|
-
"purpose": "
|
|
271
|
+
"purpose": "The rule’s phrase, header of the card when the builder is narrower than 30rem. Pressed, it opens or closes the card, one at a time; aria-expanded and aria-controls on the three controls."
|
|
272
272
|
},
|
|
273
273
|
{
|
|
274
274
|
"part": "field",
|
|
275
275
|
"element": "div",
|
|
276
276
|
"required": false,
|
|
277
|
-
"purpose": "
|
|
277
|
+
"purpose": "The field select, wrapped."
|
|
278
278
|
},
|
|
279
279
|
{
|
|
280
280
|
"part": "operator",
|
|
281
281
|
"element": "div",
|
|
282
282
|
"required": false,
|
|
283
|
-
"purpose": "
|
|
283
|
+
"purpose": "The operator select, with the names of the map that table already translates."
|
|
284
284
|
},
|
|
285
285
|
{
|
|
286
286
|
"part": "operand",
|
|
287
287
|
"element": "div",
|
|
288
288
|
"required": false,
|
|
289
|
-
"purpose": "
|
|
289
|
+
"purpose": "The control for the kind — text-field, number-field, date-picker, time-picker, datetime-picker, true/false select, multi-select — or whatever renderOperand returns. Two columns for between."
|
|
290
290
|
},
|
|
291
291
|
{
|
|
292
292
|
"part": "remove",
|
|
293
293
|
"element": "button",
|
|
294
294
|
"required": false,
|
|
295
|
-
"purpose": "
|
|
295
|
+
"purpose": "Removes the rule from the group. Absent on a rule of a required field."
|
|
296
296
|
},
|
|
297
297
|
{
|
|
298
298
|
"part": "add-rule",
|
|
299
299
|
"element": "button",
|
|
300
300
|
"required": true,
|
|
301
|
-
"purpose": "
|
|
301
|
+
"purpose": "Adds a rule to the group, on the first field."
|
|
302
302
|
},
|
|
303
303
|
{
|
|
304
304
|
"part": "add-group",
|
|
305
305
|
"element": "button",
|
|
306
306
|
"required": true,
|
|
307
|
-
"purpose": "
|
|
307
|
+
"purpose": "Adds a group with the opposite join and one rule inside."
|
|
308
308
|
},
|
|
309
309
|
{
|
|
310
310
|
"part": "remove-group",
|
|
311
311
|
"element": "button",
|
|
312
312
|
"required": false,
|
|
313
|
-
"purpose": "
|
|
313
|
+
"purpose": "The trash glyph, named Remove group: removes a nested group with everything inside it. The root cannot be removed."
|
|
314
314
|
},
|
|
315
315
|
{
|
|
316
316
|
"part": "save-preset",
|
|
317
317
|
"element": "button",
|
|
318
318
|
"required": false,
|
|
319
|
-
"purpose": "
|
|
319
|
+
"purpose": "Asks the application to save the tree as a view, when onPresetSave exists. The application asks for the name."
|
|
320
320
|
}
|
|
321
321
|
],
|
|
322
322
|
"api": [
|
|
@@ -325,189 +325,189 @@
|
|
|
325
325
|
"type": "FilterBarField[]",
|
|
326
326
|
"defaultValue": "—",
|
|
327
327
|
"appliesTo": "FilterBar",
|
|
328
|
-
"description": "
|
|
328
|
+
"description": "The filterable fields: key, label, kind, icon (glyph name or node), operators, pinned, required, defaultValue, section, options, searchable"
|
|
329
329
|
},
|
|
330
330
|
{
|
|
331
331
|
"name": "value",
|
|
332
332
|
"type": "FilterGroup | null",
|
|
333
333
|
"defaultValue": "—",
|
|
334
334
|
"appliesTo": "FilterBar",
|
|
335
|
-
"description": "
|
|
335
|
+
"description": "The tree the consumer owns. Present means controlled, for the life of the bar"
|
|
336
336
|
},
|
|
337
337
|
{
|
|
338
338
|
"name": "defaultValue",
|
|
339
339
|
"type": "FilterGroup | null",
|
|
340
340
|
"defaultValue": "—",
|
|
341
341
|
"appliesTo": "FilterBar",
|
|
342
|
-
"description": "
|
|
342
|
+
"description": "Where an uncontrolled bar starts, read once"
|
|
343
343
|
},
|
|
344
344
|
{
|
|
345
345
|
"name": "query",
|
|
346
346
|
"type": "string",
|
|
347
347
|
"defaultValue": "—",
|
|
348
348
|
"appliesTo": "FilterBar",
|
|
349
|
-
"description": "
|
|
349
|
+
"description": "The global search, controlled"
|
|
350
350
|
},
|
|
351
351
|
{
|
|
352
352
|
"name": "defaultQuery",
|
|
353
353
|
"type": "string",
|
|
354
354
|
"defaultValue": "",
|
|
355
355
|
"appliesTo": "FilterBar",
|
|
356
|
-
"description": "
|
|
356
|
+
"description": "The search an uncontrolled bar starts with"
|
|
357
357
|
},
|
|
358
358
|
{
|
|
359
359
|
"name": "presets",
|
|
360
360
|
"type": "FilterBarPreset[]",
|
|
361
361
|
"defaultValue": "—",
|
|
362
362
|
"appliesTo": "FilterBar",
|
|
363
|
-
"description": "
|
|
363
|
+
"description": "The saved views: key, label, value"
|
|
364
364
|
},
|
|
365
365
|
{
|
|
366
366
|
"name": "preset",
|
|
367
367
|
"type": "string | null",
|
|
368
368
|
"defaultValue": "—",
|
|
369
369
|
"appliesTo": "FilterBar",
|
|
370
|
-
"description": "
|
|
370
|
+
"description": "The current view, controlled"
|
|
371
371
|
},
|
|
372
372
|
{
|
|
373
373
|
"name": "defaultPreset",
|
|
374
374
|
"type": "string | null",
|
|
375
375
|
"defaultValue": "null",
|
|
376
376
|
"appliesTo": "FilterBar",
|
|
377
|
-
"description": "
|
|
377
|
+
"description": "The view it starts with"
|
|
378
378
|
},
|
|
379
379
|
{
|
|
380
380
|
"name": "open",
|
|
381
381
|
"type": "boolean",
|
|
382
382
|
"defaultValue": "—",
|
|
383
383
|
"appliesTo": "FilterBar",
|
|
384
|
-
"description": "
|
|
384
|
+
"description": "Whether the builder is open, controlled"
|
|
385
385
|
},
|
|
386
386
|
{
|
|
387
387
|
"name": "defaultOpen",
|
|
388
388
|
"type": "boolean",
|
|
389
389
|
"defaultValue": "false",
|
|
390
390
|
"appliesTo": "FilterBar",
|
|
391
|
-
"description": "
|
|
391
|
+
"description": "Whether it starts open"
|
|
392
392
|
},
|
|
393
393
|
{
|
|
394
394
|
"name": "revealed",
|
|
395
395
|
"type": "boolean",
|
|
396
396
|
"defaultValue": "—",
|
|
397
397
|
"appliesTo": "FilterBar",
|
|
398
|
-
"description": "
|
|
398
|
+
"description": "Whether the folded chips are in view, controlled"
|
|
399
399
|
},
|
|
400
400
|
{
|
|
401
401
|
"name": "defaultRevealed",
|
|
402
402
|
"type": "boolean",
|
|
403
403
|
"defaultValue": "false",
|
|
404
404
|
"appliesTo": "FilterBar",
|
|
405
|
-
"description": "
|
|
405
|
+
"description": "Whether they start in view"
|
|
406
406
|
},
|
|
407
407
|
{
|
|
408
408
|
"name": "apply",
|
|
409
409
|
"type": "'live' | 'manual'",
|
|
410
410
|
"defaultValue": "live",
|
|
411
411
|
"appliesTo": "FilterBar",
|
|
412
|
-
"description": "
|
|
412
|
+
"description": "Requests on every edit, or edits a draft until Apply"
|
|
413
413
|
},
|
|
414
414
|
{
|
|
415
415
|
"name": "sticky",
|
|
416
416
|
"type": "boolean",
|
|
417
417
|
"defaultValue": "false",
|
|
418
418
|
"appliesTo": "FilterBar",
|
|
419
|
-
"description": "
|
|
419
|
+
"description": "Sticks under the page header and adds its height to what follows"
|
|
420
420
|
},
|
|
421
421
|
{
|
|
422
422
|
"name": "container",
|
|
423
423
|
"type": "Element | null",
|
|
424
424
|
"defaultValue": "—",
|
|
425
425
|
"appliesTo": "FilterBar",
|
|
426
|
-
"description": "
|
|
426
|
+
"description": "A parent for the builder drawer only, instead of the shared portal root"
|
|
427
427
|
},
|
|
428
428
|
{
|
|
429
429
|
"name": "size",
|
|
430
430
|
"type": "'sm' | 'md' | 'lg'",
|
|
431
431
|
"defaultValue": "md",
|
|
432
432
|
"appliesTo": "FilterBar",
|
|
433
|
-
"description": "
|
|
433
|
+
"description": "The step of the controls"
|
|
434
434
|
},
|
|
435
435
|
{
|
|
436
436
|
"name": "queryDelay",
|
|
437
437
|
"type": "number",
|
|
438
438
|
"defaultValue": "320",
|
|
439
439
|
"appliesTo": "FilterBar",
|
|
440
|
-
"description": "
|
|
440
|
+
"description": "Milliseconds the search and a text operand wait under live"
|
|
441
441
|
},
|
|
442
442
|
{
|
|
443
443
|
"name": "chipLimit",
|
|
444
444
|
"type": "number",
|
|
445
445
|
"defaultValue": "6",
|
|
446
446
|
"appliesTo": "FilterBar",
|
|
447
|
-
"description": "Chips
|
|
447
|
+
"description": "Chips in view before folding"
|
|
448
448
|
},
|
|
449
449
|
{
|
|
450
450
|
"name": "shortcut",
|
|
451
451
|
"type": "string | null",
|
|
452
452
|
"defaultValue": "null",
|
|
453
453
|
"appliesTo": "FilterBar",
|
|
454
|
-
"description": "
|
|
454
|
+
"description": "The document key that focuses the search, outside an editable field"
|
|
455
455
|
},
|
|
456
456
|
{
|
|
457
457
|
"name": "disabled",
|
|
458
458
|
"type": "boolean",
|
|
459
459
|
"defaultValue": "false",
|
|
460
460
|
"appliesTo": "FilterBar",
|
|
461
|
-
"description": "
|
|
461
|
+
"description": "Turns off every control"
|
|
462
462
|
},
|
|
463
463
|
{
|
|
464
464
|
"name": "readOnly",
|
|
465
465
|
"type": "boolean",
|
|
466
466
|
"defaultValue": "false",
|
|
467
467
|
"appliesTo": "FilterBar",
|
|
468
|
-
"description": "
|
|
468
|
+
"description": "Every condition reachable and readable, none changeable: no X, add, clear or empty pills"
|
|
469
469
|
},
|
|
470
470
|
{
|
|
471
471
|
"name": "loading",
|
|
472
472
|
"type": "boolean",
|
|
473
473
|
"defaultValue": "false",
|
|
474
474
|
"appliesTo": "FilterBar",
|
|
475
|
-
"description": "
|
|
475
|
+
"description": "Keeps the width, turns off Apply, spinner in place of the count"
|
|
476
476
|
},
|
|
477
477
|
{
|
|
478
478
|
"name": "count",
|
|
479
479
|
"type": "number",
|
|
480
480
|
"defaultValue": "—",
|
|
481
481
|
"appliesTo": "FilterBar",
|
|
482
|
-
"description": "
|
|
482
|
+
"description": "How many rows the filter kept"
|
|
483
483
|
},
|
|
484
484
|
{
|
|
485
485
|
"name": "total",
|
|
486
486
|
"type": "number",
|
|
487
487
|
"defaultValue": "—",
|
|
488
488
|
"appliesTo": "FilterBar",
|
|
489
|
-
"description": "
|
|
489
|
+
"description": "How many there are"
|
|
490
490
|
},
|
|
491
491
|
{
|
|
492
492
|
"name": "messages",
|
|
493
493
|
"type": "Partial<FilterBarMessages>",
|
|
494
494
|
"defaultValue": "—",
|
|
495
495
|
"appliesTo": "FilterBar",
|
|
496
|
-
"description": "
|
|
496
|
+
"description": "Words over those of the current locale, key by key: the landmark name (bar), the controls, the chip names, the count and the announcements"
|
|
497
497
|
},
|
|
498
498
|
{
|
|
499
499
|
"name": "renderOperand",
|
|
500
500
|
"type": "(props: FilterBarOperandProps) => ReactNode",
|
|
501
501
|
"defaultValue": "—",
|
|
502
502
|
"appliesTo": "FilterBar",
|
|
503
|
-
"description": "
|
|
503
|
+
"description": "Replaces the operand control; undefined keeps the one for the kind"
|
|
504
504
|
},
|
|
505
505
|
{
|
|
506
506
|
"name": "children",
|
|
507
507
|
"type": "ReactNode",
|
|
508
508
|
"defaultValue": "—",
|
|
509
509
|
"appliesTo": "FilterBar",
|
|
510
|
-
"description": "
|
|
510
|
+
"description": "The consumer’s controls in the end slot"
|
|
511
511
|
}
|
|
512
512
|
],
|
|
513
513
|
"composition": [
|
|
@@ -516,76 +516,76 @@
|
|
|
516
516
|
"type": "(props) => ReactNode",
|
|
517
517
|
"defaultValue": "—",
|
|
518
518
|
"appliesTo": "FilterBar",
|
|
519
|
-
"description": "
|
|
519
|
+
"description": "The seam table uses: date-range-picker on a between, tags-input on a large set"
|
|
520
520
|
},
|
|
521
521
|
{
|
|
522
522
|
"name": "children",
|
|
523
523
|
"type": "ReactNode",
|
|
524
524
|
"defaultValue": "—",
|
|
525
525
|
"appliesTo": "FilterBar",
|
|
526
|
-
"description": "
|
|
526
|
+
"description": "The end slot: a sort, a column picker, outside the toolbar ring"
|
|
527
527
|
},
|
|
528
528
|
{
|
|
529
529
|
"name": "ref",
|
|
530
530
|
"type": "Ref<FilterBarHandle>",
|
|
531
531
|
"defaultValue": "—",
|
|
532
532
|
"appliesTo": "FilterBar",
|
|
533
|
-
"description": "focusSearch(), open(), root —
|
|
533
|
+
"description": "focusSearch(), open(), root — the actions a prop does not express"
|
|
534
534
|
},
|
|
535
535
|
{
|
|
536
536
|
"name": "FilterBarDefaultsProvider",
|
|
537
537
|
"type": "apply | chipLimit | queryDelay | shortcut | size",
|
|
538
538
|
"defaultValue": "—",
|
|
539
|
-
"appliesTo": "
|
|
540
|
-
"description": "
|
|
539
|
+
"appliesTo": "Application",
|
|
540
|
+
"description": "Decides once for everything below; a prop on the bar wins"
|
|
541
541
|
},
|
|
542
542
|
{
|
|
543
543
|
"name": "onKeyDown, id, aria-*, data-*",
|
|
544
|
-
"type": "props
|
|
544
|
+
"type": "native props",
|
|
545
545
|
"defaultValue": "—",
|
|
546
546
|
"appliesTo": "FilterBar",
|
|
547
|
-
"description": "
|
|
547
|
+
"description": "Reach the root; the consumer’s handler runs before the family’s"
|
|
548
548
|
}
|
|
549
549
|
],
|
|
550
550
|
"events": [
|
|
551
551
|
{
|
|
552
552
|
"name": "onValueChange",
|
|
553
553
|
"payload": "(value: FilterGroup | null, request)",
|
|
554
|
-
"when": "
|
|
554
|
+
"when": "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."
|
|
555
555
|
},
|
|
556
556
|
{
|
|
557
557
|
"name": "onQueryChange",
|
|
558
558
|
"payload": "(query: string, request)",
|
|
559
|
-
"when": "
|
|
559
|
+
"when": "After queryDelay under live, or with submit under manual; clear when Escape or the field’s X clears it."
|
|
560
560
|
},
|
|
561
561
|
{
|
|
562
562
|
"name": "onPresetChange",
|
|
563
563
|
"payload": "(preset: string | null, request)",
|
|
564
|
-
"when": "
|
|
564
|
+
"when": "When a view is chosen in the select, with select; clear when the select is emptied."
|
|
565
565
|
},
|
|
566
566
|
{
|
|
567
567
|
"name": "onPresetSave",
|
|
568
568
|
"payload": "(value: FilterGroup | null)",
|
|
569
|
-
"when": "
|
|
569
|
+
"when": "When the reader presses \"Save as view…\" in the builder. The family does not save: it asks."
|
|
570
570
|
},
|
|
571
571
|
{
|
|
572
572
|
"name": "onOpenChange",
|
|
573
573
|
"payload": "(open: boolean, request)",
|
|
574
|
-
"when": "
|
|
574
|
+
"when": "Before the builder opens or closes: pointer, keyboard, escape, outsidePress, dismiss, submit, programmatic."
|
|
575
575
|
},
|
|
576
576
|
{
|
|
577
577
|
"name": "onRevealedChange",
|
|
578
578
|
"payload": "(revealed: boolean, request)",
|
|
579
|
-
"when": "
|
|
579
|
+
"when": "Before the folded chips appear or fold again."
|
|
580
580
|
}
|
|
581
581
|
],
|
|
582
582
|
"accessibility": [
|
|
583
|
-
"
|
|
584
|
-
"
|
|
585
|
-
"
|
|
586
|
-
"
|
|
587
|
-
"
|
|
588
|
-
"
|
|
583
|
+
"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.",
|
|
584
|
+
"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.",
|
|
585
|
+
"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.",
|
|
586
|
+
"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.",
|
|
587
|
+
"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.",
|
|
588
|
+
"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."
|
|
589
589
|
]
|
|
590
590
|
}
|
|
591
591
|
},
|
|
@@ -671,137 +671,137 @@
|
|
|
671
671
|
{
|
|
672
672
|
"id": "playground",
|
|
673
673
|
"title": "Playground",
|
|
674
|
-
"note": "
|
|
674
|
+
"note": "The bar’s axes over a list of orders, moved by the controls below the stage. Switch apply to manual and the bar edits a draft instead.",
|
|
675
675
|
"language": "tsx",
|
|
676
676
|
"source": "<FilterBar\n count={kept.length}\n fields={FIELDS}\n onValueChange={setFilter}\n total={orders.length}\n value={filter}\n/>;\n",
|
|
677
677
|
"verdict": "excerpt"
|
|
678
678
|
},
|
|
679
679
|
{
|
|
680
680
|
"id": "listing",
|
|
681
|
-
"title": "
|
|
682
|
-
"note": "
|
|
681
|
+
"title": "The bar over the table, and the same rule in both places",
|
|
682
|
+
"note": "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.",
|
|
683
683
|
"language": "tsx",
|
|
684
684
|
"source": "const keep = createFilterGroupPredicate(filter, (row, field) => row[field]);\nconst find = createSearchPredicate(query, (row, field) => row[field], ['customer', 'id']);\nconst kept = orders.filter((row) => keep(row) && find(row));\n",
|
|
685
685
|
"verdict": "excerpt"
|
|
686
686
|
},
|
|
687
687
|
{
|
|
688
688
|
"id": "pinned",
|
|
689
|
-
"title": "
|
|
690
|
-
"note": "pinned
|
|
689
|
+
"title": "Pinned fields: a dashed place that becomes a chip",
|
|
690
|
+
"note": "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.",
|
|
691
691
|
"language": "tsx",
|
|
692
692
|
"source": "const FIELDS = [\n {\n icon: 'circle',\n key: 'status',\n kind: 'set',\n label: 'Status',\n options: STATUSES,\n pinned: true,\n },\n { key: 'customer', kind: 'text', label: 'Customer', pinned: true },\n { key: 'amount', kind: 'number', label: 'Amount' },\n];\n",
|
|
693
693
|
"verdict": "excerpt"
|
|
694
694
|
},
|
|
695
695
|
{
|
|
696
696
|
"id": "chips",
|
|
697
|
-
"title": "
|
|
698
|
-
"note": "
|
|
697
|
+
"title": "Each condition written in segments",
|
|
698
|
+
"note": "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.",
|
|
699
699
|
"language": "tsx",
|
|
700
700
|
"source": "<FilterBar chipLimit={6} defaultRevealed={false} fields={FIELDS} value={filter} />;\n",
|
|
701
701
|
"verdict": "excerpt"
|
|
702
702
|
},
|
|
703
703
|
{
|
|
704
704
|
"id": "builder",
|
|
705
|
-
"title": "
|
|
706
|
-
"note": "Add filter,
|
|
705
|
+
"title": "The builder in a drawer",
|
|
706
|
+
"note": "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.",
|
|
707
707
|
"language": "tsx",
|
|
708
708
|
"source": "const bar = useRef<FilterBarHandle>(null);\n<FilterBar\n defaultOpen={false}\n fields={FIELDS}\n onOpenChange={(open, request) => log(request.reason)}\n ref={bar}\n/>;\nbar.current?.open();\n",
|
|
709
709
|
"verdict": "excerpt"
|
|
710
710
|
},
|
|
711
711
|
{
|
|
712
712
|
"id": "groups",
|
|
713
|
-
"title": "
|
|
714
|
-
"note": "
|
|
713
|
+
"title": "Nested AND/OR groups",
|
|
714
|
+
"note": "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.",
|
|
715
715
|
"language": "tsx",
|
|
716
716
|
"source": "const filter = {\n join: 'and',\n rules: [\n { field: 'status', filter: setFilter(['paid']) },\n {\n join: 'or',\n rules: [\n {\n field: 'amount',\n filter: {\n kind: 'number',\n join: 'and',\n conditions: [{ operator: 'greaterThan', value: 1000 }],\n },\n },\n {\n field: 'priority',\n filter: { kind: 'boolean', join: 'and', conditions: [{ operator: 'is', value: true }] },\n },\n ],\n },\n ],\n};\n",
|
|
717
717
|
"verdict": "excerpt"
|
|
718
718
|
},
|
|
719
719
|
{
|
|
720
720
|
"id": "manual",
|
|
721
|
-
"title": "
|
|
722
|
-
"note": "
|
|
721
|
+
"title": "Applying in a batch",
|
|
722
|
+
"note": "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.",
|
|
723
723
|
"language": "tsx",
|
|
724
724
|
"source": "<FilterBar\n apply=\"manual\"\n fields={FIELDS}\n onQueryChange={(query, request) => request.reason === 'submit' && fetch(query)}\n onValueChange={(filter, request) => request.reason === 'submit' && fetch(filter)}\n/>;\n",
|
|
725
725
|
"verdict": "excerpt"
|
|
726
726
|
},
|
|
727
727
|
{
|
|
728
728
|
"id": "required",
|
|
729
|
-
"title": "
|
|
730
|
-
"note": "required
|
|
729
|
+
"title": "A required field with a default",
|
|
730
|
+
"note": "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.",
|
|
731
731
|
"language": "tsx",
|
|
732
732
|
"source": "const company = {\n key: 'company',\n kind: 'set',\n label: 'Company',\n options: COMPANIES,\n required: true,\n defaultValue: setFilter(['acme']),\n};\n",
|
|
733
733
|
"verdict": "excerpt"
|
|
734
734
|
},
|
|
735
735
|
{
|
|
736
736
|
"id": "presets",
|
|
737
|
-
"title": "
|
|
738
|
-
"note": "presets
|
|
737
|
+
"title": "Saved views",
|
|
738
|
+
"note": "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.",
|
|
739
739
|
"language": "tsx",
|
|
740
740
|
"source": "<FilterBar\n fields={FIELDS}\n onPresetChange={(key) => setView(key)}\n onPresetSave={(filter) => askForName(filter)}\n preset={view}\n presets={[{ key: 'overdue', label: 'Overdue this month', value: OVERDUE }]}\n/>;\n",
|
|
741
741
|
"verdict": "excerpt"
|
|
742
742
|
},
|
|
743
743
|
{
|
|
744
744
|
"id": "query",
|
|
745
|
-
"title": "
|
|
746
|
-
"note": "
|
|
745
|
+
"title": "The global search",
|
|
746
|
+
"note": "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.",
|
|
747
747
|
"language": "tsx",
|
|
748
748
|
"source": "<FilterBar fields={FIELDS} onQueryChange={setQuery} query={query} queryDelay={120} shortcut=\"/\" />;\n",
|
|
749
749
|
"verdict": "excerpt"
|
|
750
750
|
},
|
|
751
751
|
{
|
|
752
752
|
"id": "url",
|
|
753
|
-
"title": "
|
|
754
|
-
"note": "toFilterBarParams
|
|
753
|
+
"title": "The state in a URL",
|
|
754
|
+
"note": "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.",
|
|
755
755
|
"language": "tsx",
|
|
756
756
|
"source": "const params = toFilterBarParams({ filter, query });\nhistory.replaceState(null, '', `?${params}`);\nconst restored = fromFilterBarParams(location.search);\n",
|
|
757
757
|
"verdict": "excerpt"
|
|
758
758
|
},
|
|
759
759
|
{
|
|
760
760
|
"id": "count",
|
|
761
|
-
"title": "
|
|
762
|
-
"note": "count
|
|
761
|
+
"title": "The count as a live region",
|
|
762
|
+
"note": "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.",
|
|
763
763
|
"language": "tsx",
|
|
764
764
|
"source": "<FilterBar count={128} fields={FIELDS} loading={fetching} total={3412} />;\n",
|
|
765
765
|
"verdict": "excerpt"
|
|
766
766
|
},
|
|
767
767
|
{
|
|
768
768
|
"id": "narrow",
|
|
769
|
-
"title": "
|
|
770
|
-
"note": "
|
|
769
|
+
"title": "On a phone: a row that scrolls sideways and a sheet",
|
|
770
|
+
"note": "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.",
|
|
771
771
|
"language": "tsx",
|
|
772
772
|
"source": "<div style={{ inlineSize: '22rem' }}>\n <FilterBar fields={FIELDS} value={filter} />\n</div>;\n",
|
|
773
773
|
"verdict": "excerpt"
|
|
774
774
|
},
|
|
775
775
|
{
|
|
776
776
|
"id": "sticky",
|
|
777
|
-
"title": "
|
|
778
|
-
"note": "sticky
|
|
777
|
+
"title": "Stuck under the page header",
|
|
778
|
+
"note": "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.",
|
|
779
779
|
"language": "tsx",
|
|
780
780
|
"source": "<>\n <FilterBar fields={FIELDS} sticky value={filter} />\n <Table stickyHeader>…</Table>\n</>;\n",
|
|
781
781
|
"verdict": "excerpt"
|
|
782
782
|
},
|
|
783
783
|
{
|
|
784
784
|
"id": "states",
|
|
785
|
-
"title": "
|
|
786
|
-
"note": "disabled
|
|
785
|
+
"title": "Disabled, loading, read only",
|
|
786
|
+
"note": "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.",
|
|
787
787
|
"language": "tsx",
|
|
788
788
|
"source": "<>\n <FilterBar disabled fields={FIELDS} />\n <FilterBar fields={FIELDS} loading />\n <FilterBar fields={FIELDS} readOnly value={filter} />\n</>;\n",
|
|
789
789
|
"verdict": "excerpt"
|
|
790
790
|
},
|
|
791
791
|
{
|
|
792
792
|
"id": "content",
|
|
793
|
-
"title": "
|
|
794
|
-
"note": "
|
|
793
|
+
"title": "Content the family did not choose",
|
|
794
|
+
"note": "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.",
|
|
795
795
|
"language": "tsx",
|
|
796
796
|
"source": "<FilterBar\n dir=\"rtl\"\n fields={[{ key: 'city', kind: 'set', label: 'المدينة', options: CITIES }]}\n value={filter}\n/>;\n",
|
|
797
797
|
"verdict": "excerpt"
|
|
798
798
|
},
|
|
799
799
|
{
|
|
800
800
|
"id": "keyboard",
|
|
801
|
-
"title": "
|
|
802
|
-
"note": "Tab:
|
|
801
|
+
"title": "Keyboard",
|
|
802
|
+
"note": "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.",
|
|
803
803
|
"language": "tsx",
|
|
804
|
-
"source": "// \"Amount filter removed\" —
|
|
804
|
+
"source": "// \"Amount filter removed\" — and focus moves to the next chip, or to\n// Add filter when none is left.\n<FilterBar fields={FIELDS} onValueChange={(next, request) => request.reason === 'remove'} />;\n",
|
|
805
805
|
"verdict": "excerpt"
|
|
806
806
|
}
|
|
807
807
|
]
|