@servicetitan/anvil2 3.15.0 → 3.15.2
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/CHANGELOG.md +18 -0
- package/dist/{AiMark-D57s1e0T.js → AiMark-N8UfGfcV.js} +2 -2
- package/dist/{AiMark-D57s1e0T.js.map → AiMark-N8UfGfcV.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-DExHiAbM.js → Alert-DTKIlitZ.js} +3 -3
- package/dist/{Alert-DExHiAbM.js.map → Alert-DTKIlitZ.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-CGTv6M31.js → Announcement-Cnz80WGx.js} +2 -2
- package/dist/{Announcement-CGTv6M31.js.map → Announcement-Cnz80WGx.js.map} +1 -1
- package/dist/Announcement.js +1 -1
- package/dist/{Breadcrumbs-DtLSS0PJ.js → Breadcrumbs-B8UGx4Mq.js} +2 -2
- package/dist/{Breadcrumbs-DtLSS0PJ.js.map → Breadcrumbs-B8UGx4Mq.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-Dwh_Nd4l.js → Button-Dn6-01xl.js} +230 -67
- package/dist/Button-Dn6-01xl.js.map +1 -0
- package/dist/Button.js +1 -1
- package/dist/{ButtonToggle-DKDBD1g3.js → ButtonToggle-BSU8GBxr.js} +2 -2
- package/dist/{ButtonToggle-DKDBD1g3.js.map → ButtonToggle-BSU8GBxr.js.map} +1 -1
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-CEf7ke8X.js → Calendar-CpmaI3b6.js} +3 -3
- package/dist/Calendar-CpmaI3b6.js.map +1 -0
- package/dist/{Calendar-BUFPc5UN.js → Calendar-Cv07q_tE.js} +2 -2
- package/dist/Calendar-Cv07q_tE.js.map +1 -0
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-DVy-QESI.js → Checkbox-cB0D9W0a.js} +3 -3
- package/dist/{Checkbox-DVy-QESI.js.map → Checkbox-cB0D9W0a.js.map} +1 -1
- package/dist/{Checkbox-DBE35nMv.js → Checkbox-jomKCuAj.js} +2 -2
- package/dist/{Checkbox-DBE35nMv.js.map → Checkbox-jomKCuAj.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-B4G4zaP-.js → Chip-DivZ3OuB.js} +2 -2
- package/dist/{Chip-B4G4zaP-.js.map → Chip-DivZ3OuB.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-DbuXfDNJ.js → DataTable-_XXxSbvH.js} +16 -41
- package/dist/DataTable-_XXxSbvH.js.map +1 -0
- package/dist/{DateFieldRange-nyj8mtUP.js → DateFieldRange-31zIfcR2.js} +4 -4
- package/dist/{DateFieldRange-nyj8mtUP.js.map → DateFieldRange-31zIfcR2.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-BmCghXba.js → DateFieldSingle-DDFe1inZ.js} +4 -4
- package/dist/{DateFieldSingle-BmCghXba.js.map → DateFieldSingle-DDFe1inZ.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-Df7fA85i.js → DateFieldYearless-Cv34myLZ.js} +4 -4
- package/dist/{DateFieldYearless-Df7fA85i.js.map → DateFieldYearless-Cv34myLZ.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-DYpY4K1c.js → DateFieldYearlessRange-D_ftkt3w.js} +3 -3
- package/dist/{DateFieldYearlessRange-DYpY4K1c.js.map → DateFieldYearlessRange-D_ftkt3w.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-CyWGRqFG.js → DaysOfTheWeek-D4tUHUay.js} +3 -3
- package/dist/{DaysOfTheWeek-CyWGRqFG.js.map → DaysOfTheWeek-D4tUHUay.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-oM-nR4ju.js → Details-BxqP-5vp.js} +11 -9
- package/dist/Details-BxqP-5vp.js.map +1 -0
- package/dist/Details.css +18 -14
- package/dist/Details.js +1 -1
- package/dist/{Dialog-vSiZAR1y.js → Dialog-B2QAFibn.js} +4 -4
- package/dist/{Dialog-vSiZAR1y.js.map → Dialog-B2QAFibn.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{DialogCancelButton-DBL0aKTK.js → DialogCancelButton-C0r8hJ8Z.js} +2 -2
- package/dist/{DialogCancelButton-DBL0aKTK.js.map → DialogCancelButton-C0r8hJ8Z.js.map} +1 -1
- package/dist/{Drawer-B4pxj_2P.js → Drawer-CBIOWwh3.js} +5 -5
- package/dist/{Drawer-B4pxj_2P.js.map → Drawer-CBIOWwh3.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-CX1G7G2Q.js → EditCard-Q6WlsM4O.js} +3 -3
- package/dist/{EditCard-CX1G7G2Q.js.map → EditCard-Q6WlsM4O.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-CAusaqUY.js → FieldLabel-FsNIjn8T.js} +2 -2
- package/dist/{FieldLabel-CAusaqUY.js.map → FieldLabel-FsNIjn8T.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/{FilterBar-CKYf-1oU.js → FilterBar-PXv7_svO.js} +7 -7
- package/dist/FilterBar-PXv7_svO.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/{InputMask-xMpquXPU.js → InputMask-BgZX650-.js} +3 -3
- package/dist/{InputMask-xMpquXPU.js.map → InputMask-BgZX650-.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{InteractiveCard-C0g5PxB6.js → InteractiveCard-C2CYRtgQ.js} +3 -3
- package/dist/InteractiveCard-C2CYRtgQ.js.map +1 -0
- package/dist/InteractiveCard.js +1 -1
- package/dist/{ListView-D6l1KY92.js → ListView-aRwUEGI3.js} +2 -2
- package/dist/{ListView-D6l1KY92.js.map → ListView-aRwUEGI3.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-Dep1eJ3u.js → Listbox-BCszel4v.js} +2 -2
- package/dist/{Listbox-Dep1eJ3u.js.map → Listbox-BCszel4v.js.map} +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/{Menu-eLxQwmZk.js → Menu-Da2OEN0o.js} +2 -2
- package/dist/{Menu-eLxQwmZk.js.map → Menu-Da2OEN0o.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{MenuFooter-fGSZYh8e.js → MenuFooter-D__gg92C.js} +2 -2
- package/dist/{MenuFooter-fGSZYh8e.js.map → MenuFooter-D__gg92C.js.map} +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-ZNoNOm6d.js → MultiSelectFieldSync-DY5wr7cT.js} +7 -7
- package/dist/{MultiSelectFieldSync-ZNoNOm6d.js.map → MultiSelectFieldSync-DY5wr7cT.js.map} +1 -1
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-DrgqaUJj.js → MultiSelectMenuSync-D3sfHivW.js} +5 -5
- package/dist/{MultiSelectMenuSync-DrgqaUJj.js.map → MultiSelectMenuSync-D3sfHivW.js.map} +1 -1
- package/dist/{NumberField-D5ZzEHg1.js → NumberField-CrvEEy_h.js} +4 -4
- package/dist/{NumberField-D5ZzEHg1.js.map → NumberField-CrvEEy_h.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-B2HZzNGP.js → Page-CS6x6C7Y.js} +18 -187
- package/dist/Page-CS6x6C7Y.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/{Pagination-CAgXtt9t.js → Pagination-DianLtHs.js} +5 -5
- package/dist/{Pagination-CAgXtt9t.js.map → Pagination-DianLtHs.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-CjL2ixjB.js → Popover-BsEwcuu4.js} +2 -2
- package/dist/{Popover-CjL2ixjB.js.map → Popover-BsEwcuu4.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-ClKcOcXq.js → ProgressBar-0pebwBJ0.js} +2 -2
- package/dist/{ProgressBar-ClKcOcXq.js.map → ProgressBar-0pebwBJ0.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-_ftIQSru.js → Radio-BxXN612_.js} +3 -3
- package/dist/{Radio-_ftIQSru.js.map → Radio-BxXN612_.js.map} +1 -1
- package/dist/{Radio-C2BJqWlV.js → Radio-CU2--1uW.js} +2 -2
- package/dist/{Radio-C2BJqWlV.js.map → Radio-CU2--1uW.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-TcZUnqcp.js → RichTextEditor-Dnc7vOjq.js} +18831 -20238
- package/dist/RichTextEditor-Dnc7vOjq.js.map +1 -0
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-B8lf3L2T.js → SavedFiltersButton-BWlE7UnI.js} +10 -24
- package/dist/SavedFiltersButton-BWlE7UnI.js.map +1 -0
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SegmentedControl-CtKoYHoO.js → SegmentedControl-BHVJmmTH.js} +3 -3
- package/dist/{SegmentedControl-CtKoYHoO.js.map → SegmentedControl-BHVJmmTH.js.map} +1 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-BwIbfore.js → SelectCard-D2PAyR7T.js} +3 -3
- package/dist/{SelectCard-BwIbfore.js.map → SelectCard-D2PAyR7T.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-7VTZ83QJ.js → SelectFieldLabel-BXJJQ0zt.js} +2 -2
- package/dist/{SelectFieldLabel-7VTZ83QJ.js.map → SelectFieldLabel-BXJJQ0zt.js.map} +1 -1
- package/dist/{SelectFieldSync-CB75kkka.js → SelectFieldSync-CkWoMhrv.js} +6 -6
- package/dist/{SelectFieldSync-CB75kkka.js.map → SelectFieldSync-CkWoMhrv.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DIMfovCI.js → SelectMenuSync-C-6mULc_.js} +5 -5
- package/dist/{SelectMenuSync-DIMfovCI.js.map → SelectMenuSync-C-6mULc_.js.map} +1 -1
- package/dist/{SelectOptions-si_rVLEZ.js → SelectOptions-pAkVhulQ.js} +2 -2
- package/dist/{SelectOptions-si_rVLEZ.js.map → SelectOptions-pAkVhulQ.js.map} +1 -1
- package/dist/{SelectTrigger-C3-Cne3D.js → SelectTrigger-B9WUUdIu.js} +2 -2
- package/dist/{SelectTrigger-C3-Cne3D.js.map → SelectTrigger-B9WUUdIu.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-BnsTYWVb.js → SelectTriggerBase-Dq7QDlPS.js} +4 -4
- package/dist/{SelectTriggerBase-BnsTYWVb.js.map → SelectTriggerBase-Dq7QDlPS.js.map} +1 -1
- package/dist/{Stepper-C-QC9QHx.js → Stepper-l_P6VPOv.js} +3 -3
- package/dist/{Stepper-C-QC9QHx.js.map → Stepper-l_P6VPOv.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-DWq4QI8M.js → Switch-BS4bw5KF.js} +2 -2
- package/dist/{Switch-DWq4QI8M.js.map → Switch-BS4bw5KF.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/{Tab-mXEQ0ifM.js → Tab-DR5YYXkq.js} +124 -19
- package/dist/Tab-DR5YYXkq.js.map +1 -0
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-dONmlARH.js → Text-B_-Ldn9K.js} +2 -2
- package/dist/{Text-dONmlARH.js.map → Text-B_-Ldn9K.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-CtXjbtqa.js → TextField-B6tVKoxq.js} +2 -2
- package/dist/{TextField-CtXjbtqa.js.map → TextField-B6tVKoxq.js.map} +1 -1
- package/dist/{TextField-CQ7e3mC4.js → TextField-DxQ6-IhP.js} +3 -3
- package/dist/{TextField-CQ7e3mC4.js.map → TextField-DxQ6-IhP.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-DGVHQktZ.js → Textarea-oChzBuWz.js} +3 -3
- package/dist/{Textarea-DGVHQktZ.js.map → Textarea-oChzBuWz.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{TimeField-AttXPsQw.js → TimeField-Dq7l8xNU.js} +4 -4
- package/dist/{TimeField-AttXPsQw.js.map → TimeField-Dq7l8xNU.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-DYO8NLTo.js → Toaster-CsZkAOVn.js} +2 -2
- package/dist/{Toaster-DYO8NLTo.js.map → Toaster-CsZkAOVn.js.map} +1 -1
- package/dist/{Toaster-CNtAl-tF.js → Toaster-oK4dSBPK.js} +4 -4
- package/dist/{Toaster-CNtAl-tF.js.map → Toaster-oK4dSBPK.js.map} +1 -1
- package/dist/{Toolbar-BIbbaCxh.js → Toolbar-Bp-A2P4L.js} +5 -5
- package/dist/{Toolbar-BIbbaCxh.js.map → Toolbar-Bp-A2P4L.js.map} +1 -1
- package/dist/{Toolbar-B_lHD0c2.js → Toolbar-Do8KEjJJ.js} +11 -105
- package/dist/Toolbar-Do8KEjJJ.js.map +1 -0
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-BMBmBdw1.js → ToolbarButtonToggle-T8YnSJ5x.js} +2 -3
- package/dist/ToolbarButtonToggle-T8YnSJ5x.js.map +1 -0
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-CKnFwROC.js → TreeSelectFieldSync-BXfLbDBM.js} +7 -7
- package/dist/TreeSelectFieldSync-BXfLbDBM.js.map +1 -0
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-CK-x2_ne.js → TreeSelectMenuSync-D7fQIyHr.js} +4 -4
- package/dist/TreeSelectMenuSync-D7fQIyHr.js.map +1 -0
- package/dist/{TypeaheadTextField-DqnUGXj0.js → TypeaheadTextField-Dkh84OCF.js} +10 -19
- package/dist/TypeaheadTextField-Dkh84OCF.js.map +1 -0
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js → YearlessDateInputWithPicker-7y8xhacx.js} +2 -2
- package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js.map → YearlessDateInputWithPicker-7y8xhacx.js.map} +1 -1
- package/dist/assets/icons/material.ts +184 -184
- package/dist/assets/icons/st.ts +9 -9
- package/dist/beta.js +18 -18
- package/dist/{bulkActionTypes-sbwWLsDi.js → bulkActionTypes-BVJZ01mE.js} +2 -2
- package/dist/{bulkActionTypes-sbwWLsDi.js.map → bulkActionTypes-BVJZ01mE.js.map} +1 -1
- package/dist/{filter-state-DW8YmRHb.js → filter-state-CPCn-owS.js} +55 -37
- package/dist/filter-state-CPCn-owS.js.map +1 -0
- package/dist/{index-Cw2HFh0a.js → index-D1WfdON1.js} +1549 -1582
- package/dist/index-D1WfdON1.js.map +1 -0
- package/dist/index.js +48 -48
- package/dist/{proxy-DEehATlA.js → react-ORV84FjM.js} +6862 -5814
- package/dist/react-ORV84FjM.js.map +1 -0
- package/dist/src/beta/components/Calendar/Calendar.d.ts +8 -17
- package/dist/src/beta/components/Calendar/CalendarBetaPropsContext.d.ts +1 -0
- package/dist/src/beta/components/Calendar/useCalendarBetaProps.d.ts +1 -0
- package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -53
- package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +8 -0
- package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +15 -9
- package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +15 -9
- package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -14
- package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +0 -7
- package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +4 -13
- package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +6 -8
- package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +3 -6
- package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +4 -13
- package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +3 -14
- package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +3 -3
- package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +6 -20
- package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +3 -8
- package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +7 -19
- package/dist/src/beta/components/FilterBar/internal/types.d.ts +48 -57
- package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +3 -3
- package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +4 -7
- package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +3 -24
- package/dist/src/beta/components/InteractiveCard/InteractiveCard.d.ts +2 -47
- package/dist/src/beta/components/InteractiveCard/types.d.ts +13 -71
- package/dist/src/beta/components/Page/Page.d.ts +8 -166
- package/dist/src/beta/components/Page/PageContent.d.ts +3 -17
- package/dist/src/beta/components/Page/PageContext.d.ts +9 -0
- package/dist/src/beta/components/Page/PageFooter.d.ts +2 -15
- package/dist/src/beta/components/Page/PageHeader.d.ts +38 -91
- package/dist/src/beta/components/Page/PagePanel.d.ts +17 -115
- package/dist/src/beta/components/Page/PagePanelContent.d.ts +5 -37
- package/dist/src/beta/components/Page/PagePanelFooter.d.ts +4 -27
- package/dist/src/beta/components/Page/PagePanelHeader.d.ts +3 -16
- package/dist/src/beta/components/Page/PageSidebar.d.ts +8 -41
- package/dist/src/beta/components/Page/PageSidebarHeader.d.ts +2 -20
- package/dist/src/beta/components/Page/internal/PagePanelContext.d.ts +1 -6
- package/dist/src/beta/components/Page/pageBreakpoint.d.ts +5 -18
- package/dist/src/beta/components/RichTextEditor/RichTextEditor.d.ts +2 -25
- package/dist/src/beta/components/RichTextEditor/internal/LinkPopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/MentionList.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/MentionPopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +5 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/SafeImageExtension.d.ts +3 -10
- package/dist/src/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +4 -0
- package/dist/src/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +3 -17
- package/dist/src/beta/components/RichTextEditor/types.d.ts +46 -71
- package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +2 -33
- package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +2 -12
- package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +2 -20
- package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +0 -23
- package/dist/src/beta/components/SavedFiltersButton/types.d.ts +36 -85
- package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +34 -84
- package/dist/src/beta/components/Table/DataTable/internal/DataTableBody.d.ts +15 -22
- package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +47 -18
- package/dist/src/beta/components/Table/DataTable/internal/DataTableCellAffordance.d.ts +8 -0
- package/dist/src/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +17 -23
- package/dist/src/beta/components/Table/DataTable/internal/DataTableHeader.d.ts +6 -9
- package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +16 -0
- package/dist/src/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +2 -11
- package/dist/src/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +7 -5
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyCell.d.ts +4 -8
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyImmutableCell.d.ts +4 -17
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyMutableCell.d.ts +4 -18
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableFooterCell.d.ts +3 -10
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +3 -15
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableOverflowCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/cells/useCellFocusListener.d.ts +2 -6
- package/dist/src/beta/components/Table/DataTable/internal/constants.d.ts +13 -30
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -6
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusProvider.d.ts +3 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusStateContext.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickContext.d.ts +2 -5
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickProvider.d.ts +2 -5
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/useDataTableRowClick.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorContext.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorProvider.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/useDataTableSurfaceCoordinator.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/dataTableCellAffordanceHostClassName.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableBooleanCell.d.ts +6 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCellEditIcon.d.ts +1 -4
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +5 -25
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +3 -13
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableNumberCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +5 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableTextCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/types.d.ts +7 -20
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +13 -26
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +2 -10
- package/dist/src/beta/components/Table/DataTable/internal/useAsyncData.d.ts +8 -0
- package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +2 -2
- package/dist/src/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +7 -18
- package/dist/src/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +6 -10
- package/dist/src/beta/components/Table/DataTable/internal/util/cellPositionHelpers.d.ts +0 -3
- package/dist/src/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +7 -24
- package/dist/src/beta/components/Table/DataTable/internal/util/getCellInteractives.d.ts +4 -17
- package/dist/src/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +5 -29
- package/dist/src/beta/components/Table/DataTable/internal/util/shallowSortingEqual.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/parts.d.ts +3 -17
- package/dist/src/beta/components/Table/DataTable/types.d.ts +41 -64
- package/dist/src/beta/components/Table/base/TableBase.d.ts +8 -26
- package/dist/src/beta/components/Table/base/TableBody.d.ts +5 -14
- package/dist/src/beta/components/Table/base/TableContainer.d.ts +1 -11
- package/dist/src/beta/components/Table/base/TableFooter.d.ts +5 -14
- package/dist/src/beta/components/Table/base/TableHeader.d.ts +5 -14
- package/dist/src/beta/components/Table/base/cells/TableBodyCell.d.ts +4 -13
- package/dist/src/beta/components/Table/base/cells/TableEmptyCellContent.d.ts +1 -1
- package/dist/src/beta/components/Table/base/cells/TableFooterCell.d.ts +5 -13
- package/dist/src/beta/components/Table/base/cells/TableHeaderCell.d.ts +8 -25
- package/dist/src/beta/components/Table/base/cells/types.d.ts +2 -6
- package/dist/src/beta/components/Table/columnTypeDefaults.d.ts +7 -36
- package/dist/src/beta/components/Table/createColumnHelper.d.ts +38 -153
- package/dist/src/beta/components/Table/formatters/booleanFormatter.d.ts +4 -15
- package/dist/src/beta/components/Table/formatters/chipsFormatter.d.ts +7 -9
- package/dist/src/beta/components/Table/formatters/currencyFormatter.d.ts +3 -15
- package/dist/src/beta/components/Table/formatters/dateFormatter.d.ts +10 -23
- package/dist/src/beta/components/Table/formatters/dateTimeFormatter.d.ts +23 -46
- package/dist/src/beta/components/Table/formatters/htmlFormatter.d.ts +2 -11
- package/dist/src/beta/components/Table/formatters/htmlToMarkdown.d.ts +5 -10
- package/dist/src/beta/components/Table/formatters/markdownFormatter.d.ts +3 -8
- package/dist/src/beta/components/Table/formatters/numberFormatter.d.ts +8 -27
- package/dist/src/beta/components/Table/formatters/percentFormatter.d.ts +4 -15
- package/dist/src/beta/components/Table/formatters/presets.d.ts +4 -12
- package/dist/src/beta/components/Table/formatters/timeFormatter.d.ts +7 -17
- package/dist/src/beta/components/Table/formatters/yearlessDateFormatter.d.ts +9 -21
- package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +5 -9
- package/dist/src/beta/components/Table/internal/TruncateChips.d.ts +2 -11
- package/dist/src/beta/components/Table/internal/getCommonPinningClasses.d.ts +2 -1
- package/dist/src/beta/components/Table/internal/getCommonPinningStyles.d.ts +6 -2
- package/dist/src/beta/components/Table/internal/scrollCellIntoView.d.ts +3 -7
- package/dist/src/beta/components/Table/internal/types.d.ts +2 -7
- package/dist/src/beta/components/Table/types.d.ts +183 -462
- package/dist/src/beta/components/Toolbar/Toolbar.d.ts +35 -267
- package/dist/src/beta/components/Toolbar/ToolbarButton.d.ts +5 -26
- package/dist/src/beta/components/Toolbar/ToolbarButtonLink.d.ts +5 -28
- package/dist/src/beta/components/Toolbar/ToolbarButtonToggle.d.ts +5 -27
- package/dist/src/beta/components/Toolbar/ToolbarControlGroup.d.ts +6 -8
- package/dist/src/beta/components/Toolbar/ToolbarSearchField.d.ts +3 -14
- package/dist/src/beta/components/Toolbar/ToolbarSelect.d.ts +13 -65
- package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +0 -32
- package/dist/src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +0 -13
- package/dist/src/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +2 -28
- package/dist/src/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +4 -21
- package/dist/src/beta/components/Toolbar/internal/utils/accessibility.d.ts +7 -15
- package/dist/src/beta/components/Toolbar/types.d.ts +7 -26
- package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +2 -23
- package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +10 -46
- package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +5 -21
- package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +1 -38
- package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +6 -38
- package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +2 -50
- package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +2 -39
- package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +6 -21
- package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +3 -19
- package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +9 -50
- package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +8 -79
- package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +3 -29
- package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +8 -36
- package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +10 -34
- package/dist/src/beta/components/TreeSelectField/parts.d.ts +3 -9
- package/dist/src/beta/components/TreeSelectField/types.d.ts +82 -68
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +4 -18
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +9 -47
- package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +4 -4
- package/dist/src/beta/components/TreeSelectMenu/types.d.ts +44 -54
- package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +15 -43
- package/dist/src/beta/components/TypeaheadTextField/internal/SuggestionItem.d.ts +1 -18
- package/dist/src/beta/hooks/useAdaptiveView/useAdaptiveView.d.ts +6 -41
- package/dist/src/integration-testing/stepper-panel-flicker.spec.d.ts +1 -0
- package/dist/{stripInlineMarkdown-DmU2adBb.js → stripInlineMarkdown-CcwDEdw0.js} +2 -2
- package/dist/{stripInlineMarkdown-DmU2adBb.js.map → stripInlineMarkdown-CcwDEdw0.js.map} +1 -1
- package/dist/{syncFilterUtils-CP4dhWVs.js → syncFilterUtils-ubEYuRGQ.js} +4 -4
- package/dist/{syncFilterUtils-CP4dhWVs.js.map → syncFilterUtils-ubEYuRGQ.js.map} +1 -1
- package/dist/{treeSync-CDrgjuw8.js → treeSync-CkjyJSVq.js} +5 -11
- package/dist/treeSync-CkjyJSVq.js.map +1 -0
- package/dist/{use-reduced-motion-CqjZZ5QB.js → use-reduced-motion-yYB9Tb0D.js} +2 -2
- package/dist/use-reduced-motion-yYB9Tb0D.js.map +1 -0
- package/dist/{useDrilldown-DV4qyVOI.js → useDrilldown-DOXav1An.js} +3 -3
- package/dist/{useDrilldown-DV4qyVOI.js.map → useDrilldown-DOXav1An.js.map} +1 -1
- package/dist/{useInfiniteCombobox-DvyQpdwv.js → useInfiniteCombobox-15_SoeWw.js} +4 -4
- package/dist/{useInfiniteCombobox-DvyQpdwv.js.map → useInfiniteCombobox-15_SoeWw.js.map} +1 -1
- package/dist/{useInvalidateOnOptionsChange-D3KWg4qK.js → useInvalidateOnOptionsChange-DiRbyJFp.js} +4 -4
- package/dist/useInvalidateOnOptionsChange-DiRbyJFp.js.map +1 -0
- package/package.json +22 -20
- package/dist/Button-Dwh_Nd4l.js.map +0 -1
- package/dist/Calendar-BUFPc5UN.js.map +0 -1
- package/dist/Calendar-CEf7ke8X.js.map +0 -1
- package/dist/DataTable-DbuXfDNJ.js.map +0 -1
- package/dist/Details-oM-nR4ju.js.map +0 -1
- package/dist/FilterBar-CKYf-1oU.js.map +0 -1
- package/dist/InteractiveCard-C0g5PxB6.js.map +0 -1
- package/dist/Page-B2HZzNGP.js.map +0 -1
- package/dist/RichTextEditor-TcZUnqcp.js.map +0 -1
- package/dist/SavedFiltersButton-B8lf3L2T.js.map +0 -1
- package/dist/Tab-mXEQ0ifM.js.map +0 -1
- package/dist/Toolbar-B_lHD0c2.js.map +0 -1
- package/dist/ToolbarButtonToggle-BMBmBdw1.js.map +0 -1
- package/dist/TreeSelectFieldSync-CKnFwROC.js.map +0 -1
- package/dist/TreeSelectMenuSync-CK-x2_ne.js.map +0 -1
- package/dist/TypeaheadTextField-DqnUGXj0.js.map +0 -1
- package/dist/filter-state-DW8YmRHb.js.map +0 -1
- package/dist/index-Cw2HFh0a.js.map +0 -1
- package/dist/proxy-DEehATlA.js.map +0 -1
- package/dist/treeSync-CDrgjuw8.js.map +0 -1
- package/dist/use-reduced-motion-CqjZZ5QB.js.map +0 -1
- package/dist/useInvalidateOnOptionsChange-D3KWg4qK.js.map +0 -1
|
@@ -3,144 +3,158 @@ import { AiMarkWithTooltipOrPopoverProps, DataAttributes, LayoutUtilProps, Size
|
|
|
3
3
|
import { OptionContent } from '../../../internal/types/optionContent';
|
|
4
4
|
import { MultiSelectFieldChipProps } from '../../../components/MultiSelectField/types';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Core props (`label`, `onClose`, `className`, `title`, `size`) are managed by the component.
|
|
9
|
-
* Selected values with `disabled: true` omit `onClose` so the chip is locked.
|
|
6
|
+
* Per-selection chip overrides. The field owns label, removal, class, title,
|
|
7
|
+
* while `icon` and `avatar` remain mutually exclusive.
|
|
10
8
|
*/
|
|
11
9
|
export type TreeSelectFieldChipProps = MultiSelectFieldChipProps;
|
|
12
|
-
/**
|
|
13
|
-
* Rich content configuration for a TreeSelectField option row.
|
|
14
|
-
* Controls the avatar, icon, description, and chip display within an option.
|
|
15
|
-
*/
|
|
10
|
+
/** Avatar, icon, description, and chip content for an option row. */
|
|
16
11
|
export type TreeSelectFieldOptionContent = OptionContent;
|
|
17
|
-
/**
|
|
18
|
-
* A node in the tree structure.
|
|
19
|
-
* @property id - Unique identifier for the node.
|
|
20
|
-
* @property label - Display text for the node.
|
|
21
|
-
* @property searchText - Additional text to match during search, beyond label.
|
|
22
|
-
* @property disabled - Whether the node is disabled for selection. When a
|
|
23
|
-
* disabled node is already in the field `value`, its chip is locked (no close
|
|
24
|
-
* control) and backspace skips it — same as MultiSelectField.
|
|
25
|
-
* @property extra - Pass-through data for consumer convenience.
|
|
26
|
-
* @property children - Child nodes. undefined=leaf, []=empty branch, [...]=branch, null=unloaded (lazy).
|
|
27
|
-
* @property childCount - Server-provided count, optionally displayed on branch nodes.
|
|
28
|
-
* @property path - Optional ancestor ids, root→parent. Selection-ancestry
|
|
29
|
-
* metadata, primarily meaningful on value objects: when a selected node lives
|
|
30
|
-
* under branches that aren't currently loaded, `path` lets the field show the
|
|
31
|
-
* correct ancestor check states without a parent-of lookup. The field emits
|
|
32
|
-
* it on selections whose ancestry it knows, and reads it from incoming value
|
|
33
|
-
* so a persisted-then-restored selection resolves exactly. Not a structural
|
|
34
|
-
* tree attribute — omit it on `loadOptions` results.
|
|
35
|
-
*/
|
|
12
|
+
/** Node returned by {@link TreeSelectFieldProps.loadOptions}. */
|
|
36
13
|
export type TreeSelectFieldNode = {
|
|
14
|
+
/** Stable identifier used for selection, expansion, and ARIA ids. */
|
|
37
15
|
id: string | number;
|
|
16
|
+
/** Visible option text and the selected-value label. */
|
|
38
17
|
label: string;
|
|
18
|
+
/** Additional text considered by the default synchronous filter. */
|
|
39
19
|
searchText?: string;
|
|
20
|
+
/** Prevents selection; selected disabled values also cannot be removed. */
|
|
40
21
|
disabled?: boolean;
|
|
22
|
+
/** Consumer data copied to emitted values. */
|
|
41
23
|
extra?: Record<string, unknown>;
|
|
24
|
+
/** Rich option-row content. */
|
|
42
25
|
content?: TreeSelectFieldOptionContent;
|
|
26
|
+
/**
|
|
27
|
+
* `undefined` is a leaf, `[]` an empty branch, an array a loaded branch, and
|
|
28
|
+
* `null` a branch whose children load on expansion.
|
|
29
|
+
*/
|
|
43
30
|
children?: TreeSelectFieldNode[] | null;
|
|
31
|
+
/** Total immediate children when the loaded or filtered array is incomplete. */
|
|
44
32
|
childCount?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Ancestor ids from root to parent for restoring selection state before
|
|
35
|
+
* ancestors load. Omit from loaded tree nodes.
|
|
36
|
+
*/
|
|
45
37
|
path?: (string | number)[];
|
|
46
38
|
};
|
|
47
39
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* @property extra - Pass-through data from the node.
|
|
52
|
-
* @property path - Optional ancestor ids, root→parent. See {@link TreeSelectFieldNode.path}.
|
|
53
|
-
* @property disabled - When true, the chip is locked (no close control; backspace
|
|
54
|
-
* skips it). Emitted from the tree when the matching node is disabled; can
|
|
55
|
-
* also be set on controlled values to lock a selection.
|
|
40
|
+
* Controlled selection shape copied from a node.
|
|
41
|
+
* `path` preserves ancestor check states across unloaded trees; `disabled`
|
|
42
|
+
* locks the selected chip.
|
|
56
43
|
*/
|
|
57
44
|
export type TreeSelectFieldValue = Pick<TreeSelectFieldNode, "id" | "label" | "extra" | "path" | "disabled">;
|
|
58
45
|
/**
|
|
59
|
-
* Controls
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* - "
|
|
63
|
-
* - "
|
|
64
|
-
* - "
|
|
46
|
+
* Controls node selectability and linked-mode value compaction.
|
|
47
|
+
* Independent mode stores the clicked node directly; single mode emits its one
|
|
48
|
+
* selected node.
|
|
49
|
+
* - `"ALL"` — retain every checked node.
|
|
50
|
+
* - `"BRANCH_PRIORITY"` — fully checked branches replace descendants.
|
|
51
|
+
* - `"BRANCH_ONLY"` — only branches are selectable and retained.
|
|
52
|
+
* - `"LEAF_PRIORITY"` — retain leaves and childless branches.
|
|
53
|
+
* - `"LEAF_ONLY"` — retain leaves; nonempty branches cascade and empty branches are inert.
|
|
65
54
|
*/
|
|
66
55
|
export type TreeSelectFieldValueConsistsOf = "ALL" | "BRANCH_PRIORITY" | "BRANCH_ONLY" | "LEAF_PRIORITY" | "LEAF_ONLY";
|
|
67
|
-
/**
|
|
68
|
-
* Imperative handle for the TreeSelectField component.
|
|
69
|
-
* @property clearCache - Clears the options cache.
|
|
70
|
-
* @property invalidate - Clears the cache and triggers a fresh options load.
|
|
71
|
-
* @property expandAll - Expands all tree nodes.
|
|
72
|
-
* @property collapseAll - Collapses all tree nodes.
|
|
73
|
-
*/
|
|
56
|
+
/** Cache and expansion controls for {@link TreeSelectField}. */
|
|
74
57
|
export type TreeSelectFieldHandle = {
|
|
58
|
+
/** Clears cached search/child results and recorded lazy ancestry. */
|
|
75
59
|
clearCache: () => void;
|
|
60
|
+
/** Clears caches and ancestry, then reloads the current search without caching it. */
|
|
76
61
|
invalidate: () => void;
|
|
62
|
+
/** Expands every currently loaded branch. */
|
|
77
63
|
expandAll: () => void;
|
|
64
|
+
/** Collapses every branch. */
|
|
78
65
|
collapseAll: () => void;
|
|
79
66
|
};
|
|
80
|
-
/**
|
|
81
|
-
* Props for the TreeSelectField component.
|
|
82
|
-
* @property label - Required label for accessibility.
|
|
83
|
-
* @property value - Controlled value array. Always an array, even in single-select mode.
|
|
84
|
-
* @property onSelectedOptionsChange - Callback when selection changes.
|
|
85
|
-
* @property loadOptions - Async function to load tree nodes. Called with parentNode for lazy branch loading.
|
|
86
|
-
* @property selectionMode - "single": one node at a time. "independent": no cascade. "linked" (default): parent-child cascade.
|
|
87
|
-
* @property valueConsistsOf - Controls which nodes are selectable and how the value is shaped.
|
|
88
|
-
* @property defaultExpandLevel - Initial expand depth. 0=collapsed, Infinity=all.
|
|
89
|
-
* @extends LayoutUtilProps
|
|
90
|
-
*/
|
|
91
67
|
export type TreeSelectFieldProps = {
|
|
68
|
+
/** Base id for the input, tree, and its popover or dialog. Generated when omitted. */
|
|
92
69
|
id?: string;
|
|
70
|
+
/** Names the tree and dialog and provides the fallback field label. */
|
|
93
71
|
label: string;
|
|
72
|
+
/** Replaces the visible, input-associated field label. */
|
|
94
73
|
labelNode?: ReactNode;
|
|
74
|
+
/** Visually hides the label while retaining it for assistive technology. */
|
|
95
75
|
hideLabel?: boolean;
|
|
76
|
+
/** Text shown when no value is selected. */
|
|
96
77
|
placeholder?: string;
|
|
78
|
+
/** Trigger field size. Defaults to `"medium"`; dialog uses `"medium"`. */
|
|
97
79
|
size?: Extract<Size, "small" | "medium" | "large">;
|
|
80
|
+
/** Uses a popover on desktop and dialog on mobile unless forced. Defaults to `"auto"`. */
|
|
98
81
|
displayMenuAs?: "auto" | "popover" | "dialog";
|
|
82
|
+
/** Applies error styling; strings render as messages. React elements are deprecated. */
|
|
99
83
|
error?: boolean | string | string[] | ReactElement;
|
|
84
|
+
/** Supplemental guidance rendered below the field. */
|
|
100
85
|
hint?: ReactElement | string;
|
|
101
|
-
/**
|
|
86
|
+
/** Tooltip content shown beside the label. */
|
|
102
87
|
moreInfo?: ReactNode;
|
|
103
88
|
/**
|
|
104
|
-
* AI mark
|
|
105
|
-
*
|
|
89
|
+
* Shows an AI mark beside the label. `true` uses the simple mark; pass
|
|
90
|
+
* tooltip or popover configuration for an explanatory mark.
|
|
106
91
|
*/
|
|
107
92
|
labelAiMark?: AiMarkWithTooltipOrPopoverProps["aiMark"];
|
|
93
|
+
/** Descriptive text rendered below the field. */
|
|
108
94
|
description?: ReactElement | string;
|
|
95
|
+
/** Warning messages rendered below the field. */
|
|
109
96
|
warning?: string | string[];
|
|
97
|
+
/** Adds the required indicator to the label. */
|
|
110
98
|
required?: boolean;
|
|
99
|
+
/** Prevents focus, opening, selection, and chip removal. */
|
|
111
100
|
disabled?: boolean;
|
|
101
|
+
/** Keeps the field focusable and navigable while preventing selection changes. */
|
|
112
102
|
readOnly?: boolean;
|
|
103
|
+
/** Content before the selection and search area. */
|
|
113
104
|
prefix?: string | ReactElement;
|
|
105
|
+
/** Content after the selection and search area. */
|
|
114
106
|
suffix?: string | ReactElement;
|
|
115
107
|
className?: string;
|
|
116
108
|
style?: CSSProperties;
|
|
109
|
+
/**
|
|
110
|
+
* Hides multi-select search in the field trigger. Dialog multi-select keeps
|
|
111
|
+
* search; single-select always uses a read-only label input.
|
|
112
|
+
*/
|
|
117
113
|
disableSearch?: boolean;
|
|
114
|
+
/** Delay before search calls `loadOptions`. Defaults to `200`. */
|
|
118
115
|
debounceMs?: number;
|
|
116
|
+
/**
|
|
117
|
+
* Controlled query passed to `loadOptions` and used to substring-filter
|
|
118
|
+
* loaded labels, search text, and descendant paths.
|
|
119
|
+
*/
|
|
119
120
|
searchValue?: string;
|
|
121
|
+
/** Runs immediately on search edits and with `""` when closing resets search. */
|
|
120
122
|
onSearchChange?: (v: string) => void;
|
|
123
|
+
/** Restricts trigger chips to one row. Dialog chips always use one row. Defaults to `false`. */
|
|
121
124
|
singleRow?: boolean;
|
|
125
|
+
/** Maximum trigger chips before `+N`. Defaults to `10`; dialog uses `20`. */
|
|
122
126
|
maxChips?: number;
|
|
123
127
|
/**
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* Core props (label, onClose, className, title, size) are managed by the component and excluded from this type.
|
|
127
|
-
* Selected values with `disabled: true` omit onClose so the chip is locked.
|
|
128
|
-
* @param value - The selected value the chip represents
|
|
129
|
-
* @returns Partial chip props to merge onto the chip
|
|
128
|
+
* Customizes each selection chip without overriding field-owned behavior.
|
|
129
|
+
* Disabled values omit the chip's remove action.
|
|
130
130
|
*/
|
|
131
131
|
getChipProps?: (value: TreeSelectFieldValue) => TreeSelectFieldChipProps;
|
|
132
|
+
/** Enables windowed tree rendering for large data sets. Defaults to `false`. */
|
|
132
133
|
virtualize?: boolean;
|
|
134
|
+
/** Controlled selections; remains an array in single-selection mode. */
|
|
133
135
|
value: TreeSelectFieldValue[];
|
|
136
|
+
/** Receives the next controlled selection. */
|
|
134
137
|
onSelectedOptionsChange: (nodes: TreeSelectFieldValue[]) => void;
|
|
138
|
+
/** Controls single selection, independent checks, or linked parent-child checks. Defaults to `"linked"`. */
|
|
135
139
|
selectionMode?: "single" | "independent" | "linked";
|
|
140
|
+
/** Selection and linked-mode retention strategy. Defaults to `"LEAF_PRIORITY"`. */
|
|
136
141
|
valueConsistsOf?: TreeSelectFieldValueConsistsOf;
|
|
142
|
+
/** Initial uncontrolled expansion depth. Defaults to `0`; use `Infinity` to expand every loaded level. */
|
|
137
143
|
defaultExpandLevel?: number;
|
|
144
|
+
/** Controlled set of expanded branch ids. */
|
|
138
145
|
expandedIds?: Set<string | number>;
|
|
146
|
+
/** Receives the next expanded-id set in controlled expansion mode. */
|
|
139
147
|
onExpandedIdsChange?: (ids: Set<string | number>) => void;
|
|
148
|
+
/**
|
|
149
|
+
* Loads roots/search results with the query. Lazy-child calls pass `""` and
|
|
150
|
+
* `parentNode`; mark unloaded branches with `children: null`.
|
|
151
|
+
*/
|
|
140
152
|
loadOptions: (searchValue: string, parentNode?: TreeSelectFieldNode) => TreeSelectFieldNode[] | Promise<TreeSelectFieldNode[]>;
|
|
153
|
+
/** Configures separate search and child-result caches, each enabled with at most 15 entries by default. */
|
|
141
154
|
cache?: {
|
|
142
155
|
enabled?: boolean;
|
|
143
156
|
maxSize?: number;
|
|
144
157
|
};
|
|
158
|
+
/** Loads on mount for `"auto"` or `"immediate"`, and on first open for `"open"`. Defaults to `"auto"`. */
|
|
145
159
|
initialLoad?: "auto" | "immediate" | "open";
|
|
146
160
|
} & LayoutUtilProps & DataAttributes;
|
|
@@ -2,30 +2,16 @@ import { KeyboardEvent } from 'react';
|
|
|
2
2
|
import { TreeSelectFieldNode, TreeSelectFieldValue } from '../TreeSelectField/types';
|
|
3
3
|
import { DataAttributes } from '../../../types';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Attaches to any trigger element via a render prop
|
|
9
|
-
* - Async tree data loading via loadOptions callback with optional LRU caching
|
|
10
|
-
* - Single-select and multi-select modes with linked/independent cascade
|
|
11
|
-
* - Cascading parent/child selection in linked mode
|
|
12
|
-
* - Search filtering across visible nodes
|
|
13
|
-
* - Lazy branch expansion with on-demand children loading
|
|
14
|
-
* - Virtualized rendering for large trees via the virtualize prop
|
|
15
|
-
* - Full keyboard navigation (ArrowDown/Up, ArrowRight/Left, Enter, Home/End, Escape)
|
|
16
|
-
* - Supports both popover and dialog display modes
|
|
17
|
-
* - Adaptive display based on device (mobile uses dialog)
|
|
18
|
-
* - Configurable popover width
|
|
19
|
-
* - Imperative handle for clearCache, invalidate, expandAll, collapseAll
|
|
20
|
-
* - Full accessibility support with ARIA tree attributes
|
|
5
|
+
* Searchable tree selection opened by a consumer-rendered trigger.
|
|
6
|
+
* Supports async root/search loading and lazy branch loading in a popover or dialog.
|
|
21
7
|
*
|
|
22
8
|
* @example
|
|
23
9
|
* <TreeSelectMenu
|
|
24
|
-
* trigger={(
|
|
10
|
+
* trigger={(triggerProps) => <Button {...triggerProps}>Select categories</Button>}
|
|
25
11
|
* label="Categories"
|
|
26
12
|
* value={selected}
|
|
27
13
|
* onSelectedOptionsChange={setSelected}
|
|
28
|
-
* loadOptions={
|
|
14
|
+
* loadOptions={loadCategories}
|
|
29
15
|
* />
|
|
30
16
|
*/
|
|
31
17
|
export declare const TreeSelectMenu: import('react').ForwardRefExoticComponent<{
|
|
@@ -2,62 +2,24 @@ import { MatchSorterOptions } from 'match-sorter';
|
|
|
2
2
|
import { TreeSelectMenuNode, TreeSelectMenuProps } from './types';
|
|
3
3
|
import { TreeSyncFilterFn } from '../TreeSelectField/internal/treeSync';
|
|
4
4
|
export type { TreeSyncFilterFn };
|
|
5
|
-
/**
|
|
6
|
-
* Props for the TreeSelectMenuSync component.
|
|
7
|
-
* @property options - The static tree options to display.
|
|
8
|
-
* @property filter - Custom filter function or MatchSorterOptions to control how nodes are filtered during search.
|
|
9
|
-
* By default, filters by label and searchText using match-sorter, preserving parent nodes of any match.
|
|
10
|
-
* @extends TreeSelectMenuProps
|
|
11
|
-
*/
|
|
12
5
|
export type TreeSelectMenuSyncProps = Omit<TreeSelectMenuProps, "loadOptions" | "debounceMs" | "cache" | "initialLoad"> & {
|
|
13
|
-
/**
|
|
14
|
-
* The static tree options to display in the menu.
|
|
15
|
-
*/
|
|
6
|
+
/** Complete tree used for selection and client-side search. */
|
|
16
7
|
options: TreeSelectMenuNode[];
|
|
17
8
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* By default, nodes are filtered by `label` and `searchText` using match-sorter,
|
|
23
|
-
* and parents of matching nodes are preserved in the tree structure.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* <TreeSelectMenuSync
|
|
27
|
-
* options={options}
|
|
28
|
-
* filter={(nodes, searchValue) => {
|
|
29
|
-
* return nodes.filter((node) =>
|
|
30
|
-
* node.label.toLowerCase().includes(searchValue.toLowerCase())
|
|
31
|
-
* );
|
|
32
|
-
* }}
|
|
33
|
-
* />
|
|
9
|
+
* Custom function or match-sorter options. The default matches `label` and
|
|
10
|
+
* `searchText`. Default and option-object filters preserve ancestors of
|
|
11
|
+
* matches; a function replaces that behavior.
|
|
34
12
|
*
|
|
35
13
|
* @example
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* />
|
|
14
|
+
* filter={(nodes, searchValue) => customTreeFilter(nodes, searchValue)}
|
|
15
|
+
* // or
|
|
16
|
+
* filter={{ keys: ["label"] }}
|
|
40
17
|
*/
|
|
41
18
|
filter?: TreeSyncFilterFn | MatchSorterOptions<TreeSelectMenuNode>;
|
|
42
19
|
};
|
|
43
20
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* Features:
|
|
47
|
-
* - Accepts static `options` instead of `loadOptions`.
|
|
48
|
-
* - Performs client-side filtering with tree-structure awareness (parents of matches are preserved).
|
|
49
|
-
* - Accepts a custom filter function or MatchSorterOptions to customize filtering behavior.
|
|
50
|
-
* - Invalidates the menu when the options contents change.
|
|
51
|
-
* - Supports all other props of TreeSelectMenu.
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* <TreeSelectMenuSync
|
|
55
|
-
* trigger={(props) => <Button {...props}>Select location</Button>}
|
|
56
|
-
* label="Select location"
|
|
57
|
-
* options={locationTree}
|
|
58
|
-
* value={selected}
|
|
59
|
-
* onSelectedOptionsChange={setSelected}
|
|
60
|
-
* />
|
|
21
|
+
* Static-data variant of {@link TreeSelectMenu}.
|
|
22
|
+
* Filters `options` on the client and refreshes the menu when they change.
|
|
61
23
|
*/
|
|
62
24
|
export declare const TreeSelectMenuSync: {
|
|
63
25
|
(props: TreeSelectMenuSyncProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `data-anv-part` names for TreeSelectMenu interactive sub-elements.
|
|
3
3
|
*
|
|
4
|
-
* Only trigger
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Only the trigger and search input are owned here. Tree parts come from
|
|
5
|
+
* TreeSelectField internals; shell and footer parts come from shared option
|
|
6
|
+
* shells. Consumer `data-*` merges into the trigger bag because there is no
|
|
7
|
+
* wrapper root.
|
|
8
8
|
*/
|
|
9
9
|
export declare const PARTS: {
|
|
10
10
|
readonly trigger: "trigger";
|
|
@@ -2,103 +2,93 @@ import { KeyboardEvent, ReactElement, RefObject } from 'react';
|
|
|
2
2
|
import { DataAttributes } from '../../../types';
|
|
3
3
|
import { ConfirmationProp } from '../../../internal/types/confirmationTypes';
|
|
4
4
|
import { TreeSelectFieldNode as TreeSelectMenuNode, TreeSelectFieldValue as TreeSelectMenuValue, TreeSelectFieldValueConsistsOf as TreeSelectMenuValueConsistsOf, TreeSelectFieldHandle, TreeSelectFieldOptionContent as TreeSelectMenuOptionContent } from '../TreeSelectField/types';
|
|
5
|
-
/**
|
|
6
|
-
* Configures a "Clear" button in the menu footer. Presence of this prop
|
|
7
|
-
* enables the button; omit to suppress.
|
|
8
|
-
*
|
|
9
|
-
* - `onClick` — called when the user clicks Clear.
|
|
10
|
-
* - `label` — button label (default "Clear").
|
|
11
|
-
* - `disabled` — whether the button is inert. Filter adapters typically tie
|
|
12
|
-
* this to `!isActive(filter)` so the button is dim when nothing is selected.
|
|
13
|
-
*/
|
|
5
|
+
/** Configuration for the optional footer Clear button. */
|
|
14
6
|
export type TreeSelectMenuClearConfig = {
|
|
7
|
+
/** Runs before the menu closes; update the controlled value in this handler. */
|
|
15
8
|
onClick: () => void;
|
|
9
|
+
/** Button text. Defaults to `"Clear"`. */
|
|
16
10
|
label?: string;
|
|
11
|
+
/** Prevents clearing while preserving the button in the footer. */
|
|
17
12
|
disabled?: boolean;
|
|
18
13
|
};
|
|
19
14
|
export type { TreeSelectMenuNode, TreeSelectMenuValue, TreeSelectMenuValueConsistsOf, TreeSelectMenuOptionContent, };
|
|
20
|
-
/**
|
|
21
|
-
* Imperative handle for the TreeSelectMenu component.
|
|
22
|
-
* @property clearCache - Clears the options cache.
|
|
23
|
-
* @property invalidate - Clears the cache and triggers a fresh options load.
|
|
24
|
-
* @property expandAll - Expands all tree nodes.
|
|
25
|
-
* @property collapseAll - Collapses all tree nodes.
|
|
26
|
-
*/
|
|
15
|
+
/** Cache and expansion controls for {@link TreeSelectMenu}. */
|
|
27
16
|
export type TreeSelectMenuHandle = TreeSelectFieldHandle;
|
|
28
|
-
/**
|
|
29
|
-
* Props provided to the trigger render function.
|
|
30
|
-
* @property ref - Ref to attach to the trigger element for positioning and focus restoration
|
|
31
|
-
* @property onClick - Click handler to toggle the menu
|
|
32
|
-
* @property onKeyDown - Key handler for keyboard navigation
|
|
33
|
-
* @property aria-haspopup - ARIA attribute indicating the trigger opens a tree
|
|
34
|
-
* @property aria-controls - ARIA attribute linking to the tree element
|
|
35
|
-
* @property aria-expanded - ARIA attribute indicating whether the menu is open
|
|
36
|
-
* @property data-state - Data attribute indicating the open/close state
|
|
37
|
-
*/
|
|
17
|
+
/** Props to spread onto the button returned by the trigger render function. */
|
|
38
18
|
export type TreeSelectMenuTriggerProps = {
|
|
19
|
+
/** Positions the popover and receives restored focus after explicit closes. */
|
|
39
20
|
ref: RefObject<HTMLButtonElement>;
|
|
21
|
+
/** Toggles the menu. */
|
|
40
22
|
onClick: () => void;
|
|
23
|
+
/** Opens the menu with ArrowDown, Enter, or Space. */
|
|
41
24
|
onKeyDown: (e: KeyboardEvent<HTMLButtonElement>) => void;
|
|
25
|
+
/** Identifies the controlled popup as a tree. */
|
|
42
26
|
"aria-haspopup": "tree";
|
|
27
|
+
/** References the tree element. */
|
|
43
28
|
"aria-controls": string;
|
|
29
|
+
/** Reflects whether the menu is open. */
|
|
44
30
|
"aria-expanded": boolean;
|
|
31
|
+
/** Open/closed token for the trigger: `"open"` or `"close"`. */
|
|
45
32
|
"data-state": "open" | "close";
|
|
46
33
|
} & DataAttributes;
|
|
47
|
-
/**
|
|
48
|
-
* Props for the TreeSelectMenu component.
|
|
49
|
-
* @property id - Optional id for the menu; an internal id is generated when omitted.
|
|
50
|
-
* @property trigger - Render function that receives trigger props and returns the element that opens the menu.
|
|
51
|
-
* @property onMenuKeyDown - Called for key events on the open menu, after internal navigation handling.
|
|
52
|
-
* @property onImplicitClose - Called when the menu closes implicitly (outside click, blur, Escape).
|
|
53
|
-
* @property onExplicitClose - Called when the menu closes from an explicit selection or trigger toggle.
|
|
54
|
-
* @property label - Accessible label for the menu. Used by screen readers but not rendered visually.
|
|
55
|
-
* @property searchPlaceholder - Placeholder text for the search input inside the menu.
|
|
56
|
-
* @property displayMenuAs - "auto" (default): popover on desktop, dialog on mobile; or force "popover"/"dialog".
|
|
57
|
-
* @property virtualize - When true, renders the tree with windowed virtualization for large datasets.
|
|
58
|
-
* @property disableSearch - Hides the search input and disables search filtering.
|
|
59
|
-
* @property popoverWidth - Width of the popover. Accepts a CSS width value or "reference" to match trigger width.
|
|
60
|
-
* @property debounceMs - Milliseconds to debounce search input before calling loadOptions. Defaults to 200.
|
|
61
|
-
* @property onSearchChange - Called when the search value changes. Pair with controlled search wiring.
|
|
62
|
-
* @property value - Controlled value array. Always an array, even in single-select mode.
|
|
63
|
-
* @property onSelectedOptionsChange - Callback when selection changes.
|
|
64
|
-
* @property selectionMode - "single": one node at a time. "independent": no cascade. "linked" (default): parent-child cascade.
|
|
65
|
-
* @property valueConsistsOf - Controls which nodes are selectable and how the value is shaped.
|
|
66
|
-
* @property defaultExpandLevel - Initial expand depth. 0=collapsed, Infinity=all.
|
|
67
|
-
* @property expandedIds - Controlled set of expanded branch node ids. Pair with onExpandedIdsChange.
|
|
68
|
-
* @property onExpandedIdsChange - Called when the expanded set changes (controlled expansion).
|
|
69
|
-
* @property loadOptions - Async function to load tree nodes. Called with parentNode for lazy branch loading.
|
|
70
|
-
* @property cache - LRU cache configuration for loadOptions results ({ enabled, maxSize }).
|
|
71
|
-
* @property initialLoad - When loadOptions first runs: "immediate" on mount, "open" when the menu opens, or "auto".
|
|
72
|
-
* @property confirmation - When set, selections are buffered as a draft inside the open menu and only commit on Apply; dismissing the menu discards the draft. Pass `true` for default Apply/Cancel labels, or an object to customize.
|
|
73
|
-
* @property clear - Configures a "Clear" button in the menu footer. Omit to suppress.
|
|
74
|
-
*/
|
|
75
34
|
export type TreeSelectMenuProps = {
|
|
35
|
+
/** Base id for the tree and its popover or dialog. Generated when omitted. */
|
|
76
36
|
id?: string;
|
|
37
|
+
/** Renders the button that opens the menu; spread the supplied props onto it. */
|
|
77
38
|
trigger: (props: TreeSelectMenuTriggerProps) => ReactElement;
|
|
39
|
+
/**
|
|
40
|
+
* Runs before the menu's keyboard handling.
|
|
41
|
+
* Call `preventDefault` to suppress its default behavior.
|
|
42
|
+
*/
|
|
78
43
|
onMenuKeyDown?: (e: KeyboardEvent) => void;
|
|
44
|
+
/** Runs when Tab or popover dismissal closes through the non-restoring focus path. */
|
|
79
45
|
onImplicitClose?: () => void;
|
|
46
|
+
/** Runs after an intentional close that restores focus to the trigger. */
|
|
80
47
|
onExplicitClose?: () => void;
|
|
48
|
+
/** Names the tree and supplies the dialog title. */
|
|
81
49
|
label: string;
|
|
50
|
+
/** Search-field placeholder. Defaults to `"Search..."`; ignored when search is disabled. */
|
|
82
51
|
searchPlaceholder?: string;
|
|
52
|
+
/** Uses a popover on desktop and dialog on mobile unless forced. Defaults to `"auto"`. */
|
|
83
53
|
displayMenuAs?: "auto" | "popover" | "dialog";
|
|
54
|
+
/** Enables windowed tree rendering for large data sets. Defaults to `false`. */
|
|
84
55
|
virtualize?: boolean;
|
|
56
|
+
/** Removes the search field so the tree handles keyboard input directly. Defaults to `false`. */
|
|
85
57
|
disableSearch?: boolean;
|
|
58
|
+
/** Popover width, or `"reference"` to match the trigger. Defaults to `320`. */
|
|
86
59
|
popoverWidth?: "reference" | number | string;
|
|
60
|
+
/** Delay before search calls {@link loadOptions}. Defaults to `200`. */
|
|
87
61
|
debounceMs?: number;
|
|
62
|
+
/** Runs immediately on search edits and with `""` when closing resets search. */
|
|
88
63
|
onSearchChange?: (v: string) => void;
|
|
64
|
+
/** Controlled selections; remains an array in single-selection mode. */
|
|
89
65
|
value: TreeSelectMenuValue[];
|
|
66
|
+
/** Receives immediate changes, or the applied draft when confirmation is enabled. */
|
|
90
67
|
onSelectedOptionsChange: (nodes: TreeSelectMenuValue[]) => void;
|
|
68
|
+
/** Controls single selection, independent checks, or linked parent-child checks. Defaults to `"linked"`. */
|
|
91
69
|
selectionMode?: "single" | "independent" | "linked";
|
|
70
|
+
/** Controls which node kinds are selectable and retained in {@link value}. Defaults to `"LEAF_PRIORITY"`. */
|
|
92
71
|
valueConsistsOf?: TreeSelectMenuValueConsistsOf;
|
|
72
|
+
/** Initial uncontrolled expansion depth. Defaults to `0`; use `Infinity` to expand every loaded level. */
|
|
93
73
|
defaultExpandLevel?: number;
|
|
74
|
+
/** Controlled set of expanded branch ids. */
|
|
94
75
|
expandedIds?: Set<string | number>;
|
|
76
|
+
/** Receives the next expanded-id set in controlled expansion mode. */
|
|
95
77
|
onExpandedIdsChange?: (ids: Set<string | number>) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Loads root/search results, or the children of `parentNode` for lazy branches.
|
|
80
|
+
* Mark an unloaded branch with `children: null`.
|
|
81
|
+
*/
|
|
96
82
|
loadOptions: (searchValue: string, parentNode?: TreeSelectMenuNode) => TreeSelectMenuNode[] | Promise<TreeSelectMenuNode[]>;
|
|
83
|
+
/** Configures separate search and child-result caches, each enabled with at most 15 entries by default. */
|
|
97
84
|
cache?: {
|
|
98
85
|
enabled?: boolean;
|
|
99
86
|
maxSize?: number;
|
|
100
87
|
};
|
|
88
|
+
/** Loads on mount for `"auto"` or `"immediate"`, and on first open for `"open"`. Defaults to `"auto"`. */
|
|
101
89
|
initialLoad?: "auto" | "immediate" | "open";
|
|
90
|
+
/** Buffers changes until Apply; dismissing the menu discards the draft. */
|
|
102
91
|
confirmation?: ConfirmationProp;
|
|
92
|
+
/** Adds a footer Clear button that closes the menu after invoking its handler. */
|
|
103
93
|
clear?: TreeSelectMenuClearConfig;
|
|
104
94
|
} & DataAttributes;
|
|
@@ -2,82 +2,54 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { TextFieldProps } from '../../../components/TextField';
|
|
3
3
|
import { DistributiveOmit } from '../../../types';
|
|
4
4
|
export type TypeaheadTextFieldOption<T = string> = {
|
|
5
|
+
/** Text committed to the input when the option is selected. */
|
|
5
6
|
label: string;
|
|
7
|
+
/** Consumer value returned through `onSelectOption`. */
|
|
6
8
|
value: T;
|
|
7
9
|
};
|
|
8
10
|
type LoadOptionsResult<T> = TypeaheadTextFieldOption<T>[] | Promise<TypeaheadTextFieldOption<T>[]>;
|
|
9
11
|
export type TypeaheadTextFieldProps<T = string> = DistributiveOmit<TextFieldProps, "value" | "defaultValue" | "onChange" | "suffix"> & {
|
|
10
|
-
/**
|
|
11
|
-
* Controlled input value.
|
|
12
|
-
*/
|
|
12
|
+
/** Current input text in controlled mode. */
|
|
13
13
|
value?: string;
|
|
14
|
-
/**
|
|
15
|
-
* Default input value for uncontrolled mode.
|
|
16
|
-
*/
|
|
14
|
+
/** Initial input text in uncontrolled mode. */
|
|
17
15
|
defaultValue?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Fired whenever the input value changes (from typing, selection, or clear).
|
|
20
|
-
*/
|
|
16
|
+
/** Runs when typing, selection, or clearing changes the input text. */
|
|
21
17
|
onChange?: (value: string) => void;
|
|
22
|
-
/**
|
|
23
|
-
* Returns suggestions for the current input value.
|
|
24
|
-
* May be synchronous or return a Promise.
|
|
25
|
-
*/
|
|
18
|
+
/** Resolves suggestions for the current input after the configured delay. */
|
|
26
19
|
loadOptions: (search: string) => LoadOptionsResult<T>;
|
|
27
|
-
/**
|
|
28
|
-
* Fired when a suggestion is selected from the menu.
|
|
29
|
-
*/
|
|
20
|
+
/** Runs after the input adopts the selected option's label. */
|
|
30
21
|
onSelectOption?: (option: TypeaheadTextFieldOption<T>) => void;
|
|
31
22
|
/**
|
|
32
|
-
*
|
|
23
|
+
* Delay in milliseconds before each `loadOptions` request.
|
|
33
24
|
* @default 300
|
|
34
25
|
*/
|
|
35
26
|
debounceMs?: number;
|
|
36
27
|
/**
|
|
37
|
-
*
|
|
28
|
+
* Status shown when no suggestions are available.
|
|
38
29
|
* @default "No suggestions found"
|
|
39
30
|
*/
|
|
40
31
|
noSuggestionsLabel?: string;
|
|
41
32
|
/**
|
|
42
|
-
*
|
|
33
|
+
* Status announced while loading with no options to display.
|
|
43
34
|
* @default "Loading..."
|
|
44
35
|
*/
|
|
45
36
|
loadingLabel?: string;
|
|
46
|
-
/**
|
|
47
|
-
* Custom renderer for the label of an option row.
|
|
48
|
-
*/
|
|
37
|
+
/** Replaces row content; selection still commits the option's `label`. */
|
|
49
38
|
renderOption?: (option: TypeaheadTextFieldOption<T>) => ReactNode;
|
|
50
39
|
/**
|
|
51
|
-
*
|
|
52
|
-
* a non-empty value.
|
|
40
|
+
* Opens and reloads suggestions when a non-empty input receives focus.
|
|
53
41
|
* @default true
|
|
54
42
|
*/
|
|
55
43
|
openOnFocus?: boolean;
|
|
56
44
|
/**
|
|
57
|
-
*
|
|
58
|
-
* Useful for "show all" style menus that don't require pre-typing.
|
|
45
|
+
* Allows focus or click to load suggestions for an empty input.
|
|
59
46
|
* @default false
|
|
60
47
|
*/
|
|
61
48
|
openOnEmptyFocus?: boolean;
|
|
62
49
|
};
|
|
63
50
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* Features:
|
|
68
|
-
* - `loadOptions` fetches suggestions (sync or async) for the current input
|
|
69
|
-
* - Debounced fetching via `debounceMs`
|
|
70
|
-
* - Custom suggestion rendering via `renderOption`
|
|
71
|
-
* - Configurable open-on-focus behavior, including for an empty input
|
|
72
|
-
* - Loading and no-suggestions states with customizable labels
|
|
73
|
-
* - All standard TextField props (label, hint, error, prefix, etc.)
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* <TypeaheadTextField
|
|
77
|
-
* label="City"
|
|
78
|
-
* loadOptions={(search) => fetchCities(search)}
|
|
79
|
-
* onSelectOption={(option) => console.log(option)}
|
|
80
|
-
* />
|
|
51
|
+
* Text field with a debounced suggestion list that accepts synchronous or
|
|
52
|
+
* asynchronous option loading.
|
|
81
53
|
*/
|
|
82
54
|
export declare function TypeaheadTextField<T = string>({ value: valueProp, defaultValue, onChange, loadOptions, onSelectOption, debounceMs, noSuggestionsLabel, loadingLabel, renderOption, openOnFocus, openOnEmptyFocus, onFocus, onBlur, onKeyDown, onClick, disabled, readOnly, loading: loadingProp, ...textFieldProps }: TypeaheadTextFieldProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
83
55
|
export declare namespace TypeaheadTextField {
|
|
@@ -1,29 +1,12 @@
|
|
|
1
1
|
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
export type SuggestionItemProps = HTMLAttributes<HTMLDivElement> & {
|
|
3
|
-
/** Visible label content for the option. */
|
|
4
3
|
label: ReactNode;
|
|
5
|
-
/**
|
|
6
|
-
* Reflects ARIA selection state on the `role="option"` element. Drives the
|
|
7
|
-
* `aria-activedescendant` highlight: set it for the option the user has
|
|
8
|
-
* navigated to with the arrow keys and would commit on Enter. Do not use it
|
|
9
|
-
* for "this suggestion was previously chosen", which isn't a meaningful
|
|
10
|
-
* state for a suggestion list.
|
|
11
|
-
*/
|
|
12
4
|
selected?: boolean;
|
|
13
|
-
/** Disables selection and dims the row. */
|
|
14
5
|
disabled?: boolean;
|
|
15
6
|
};
|
|
7
|
+
/** Non-focusable option row; the input retains focus via active descendant. */
|
|
16
8
|
export declare const SuggestionItem: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
17
|
-
/** Visible label content for the option. */
|
|
18
9
|
label: ReactNode;
|
|
19
|
-
/**
|
|
20
|
-
* Reflects ARIA selection state on the `role="option"` element. Drives the
|
|
21
|
-
* `aria-activedescendant` highlight: set it for the option the user has
|
|
22
|
-
* navigated to with the arrow keys and would commit on Enter. Do not use it
|
|
23
|
-
* for "this suggestion was previously chosen", which isn't a meaningful
|
|
24
|
-
* state for a suggestion list.
|
|
25
|
-
*/
|
|
26
10
|
selected?: boolean;
|
|
27
|
-
/** Disables selection and dims the row. */
|
|
28
11
|
disabled?: boolean;
|
|
29
12
|
} & import('react').RefAttributes<HTMLDivElement>>;
|