@servicetitan/anvil2 2.5.1 → 2.6.1
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 +24 -0
- package/dist/{Alert-D9mBPs6z.js → Alert-C_o2f78C.js} +5 -5
- package/dist/{Alert-D9mBPs6z.js.map → Alert-C_o2f78C.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-B34cD6BC.js → Announcement-CyrTvgP4.js} +5 -5
- package/dist/{Announcement-B34cD6BC.js.map → Announcement-CyrTvgP4.js.map} +1 -1
- package/dist/Announcement.js +1 -1
- package/dist/{AnvilProvider-C3pjoStP.js → AnvilProvider-ClfmLl_6.js} +5 -5
- package/dist/{AnvilProvider-C3pjoStP.js.map → AnvilProvider-ClfmLl_6.js.map} +1 -1
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Avatar-DShevhcs.js → Avatar--CnTAnfD.js} +2 -2
- package/dist/{Avatar-DShevhcs.js.map → Avatar--CnTAnfD.js.map} +1 -1
- package/dist/{Avatar-COMPK7Ym.js → Avatar-CCnbKkCm.js} +4 -4
- package/dist/{Avatar-COMPK7Ym.js.map → Avatar-CCnbKkCm.js.map} +1 -1
- package/dist/Avatar.js +2 -2
- package/dist/{Badge-CS-CwcOQ.js → Badge-C2W7Dls9.js} +4 -4
- package/dist/{Badge-CS-CwcOQ.js.map → Badge-C2W7Dls9.js.map} +1 -1
- package/dist/Badge.js +1 -1
- package/dist/{Breadcrumbs-CEVH4s23.js → Breadcrumbs-3Y7jnj-F.js} +6 -6
- package/dist/{Breadcrumbs-CEVH4s23.js.map → Breadcrumbs-3Y7jnj-F.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-DrNDkO2f.js → Button-CVsGhVJz.js} +6 -6
- package/dist/{Button-DrNDkO2f.js.map → Button-CVsGhVJz.js.map} +1 -1
- package/dist/Button.css +49 -49
- package/dist/Button.js +1 -1
- package/dist/Button.module-wCtFYGVD.js +26 -0
- package/dist/Button.module-wCtFYGVD.js.map +1 -0
- package/dist/{ButtonCompound-D9VTKcL4.js → ButtonCompound-Cmw3cgMY.js} +4 -4
- package/dist/{ButtonCompound-D9VTKcL4.js.map → ButtonCompound-Cmw3cgMY.js.map} +1 -1
- package/dist/ButtonCompound.js +1 -1
- package/dist/{ButtonLink-DDtrmbVM.js → ButtonLink-BJKTJER8.js} +6 -6
- package/dist/{ButtonLink-DDtrmbVM.js.map → ButtonLink-BJKTJER8.js.map} +1 -1
- package/dist/ButtonLink.js +1 -1
- package/dist/{ButtonToggle-DrFewgOG.js → ButtonToggle-DaYJWso_.js} +5 -5
- package/dist/{ButtonToggle-DrFewgOG.js.map → ButtonToggle-DaYJWso_.js.map} +1 -1
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-CtkL4zYU.js → Calendar-B0u3EgCY.js} +7 -7
- package/dist/{Calendar-CtkL4zYU.js.map → Calendar-B0u3EgCY.js.map} +1 -1
- package/dist/{Calendar-CkgpKD7Q.js → Calendar-B5d2SUrH.js} +2 -2
- package/dist/{Calendar-CkgpKD7Q.js.map → Calendar-B5d2SUrH.js.map} +1 -1
- package/dist/Calendar.js +2 -2
- package/dist/{Card-DDH7gI8m.js → Card-wz71dEVA.js} +3 -3
- package/dist/{Card-DDH7gI8m.js.map → Card-wz71dEVA.js.map} +1 -1
- package/dist/Card.js +1 -1
- package/dist/{Checkbox-CxjZpzPp.js → Checkbox-BwULIo4D.js} +26 -36
- package/dist/Checkbox-BwULIo4D.js.map +1 -0
- package/dist/{Checkbox-CFgjreAl.js → Checkbox-CIj37_vY.js} +2 -2
- package/dist/{Checkbox-CFgjreAl.js.map → Checkbox-CIj37_vY.js.map} +1 -1
- package/dist/Checkbox.css +71 -66
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.module-EkRZO48Y.js +28 -0
- package/dist/Checkbox.module-EkRZO48Y.js.map +1 -0
- package/dist/{Chip-Bc7jiIJ1.js → Chip-DjTAR0va.js} +6 -6
- package/dist/{Chip-Bc7jiIJ1.js.map → Chip-DjTAR0va.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/{Combobox-Drqb3GVU.js → Combobox-Clymsgli.js} +16 -19
- package/dist/Combobox-Clymsgli.js.map +1 -0
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-BLuJ4FtH.js → DataTable-qoseu_e2.js} +83 -48
- package/dist/DataTable-qoseu_e2.js.map +1 -0
- package/dist/DataTable.css +68 -55
- package/dist/{DateFieldRange-CvlOeE4v.js → DateFieldRange-rks7jQor.js} +45 -54
- package/dist/DateFieldRange-rks7jQor.js.map +1 -0
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-9UHxIxIA.js → DateFieldSingle-C0WXU7H1.js} +43 -52
- package/dist/DateFieldSingle-C0WXU7H1.js.map +1 -0
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-HNydELvO.js → DateFieldYearless-2p3a7Xgo.js} +15 -23
- package/dist/DateFieldYearless-2p3a7Xgo.js.map +1 -0
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-COb8v2CG.js → DateFieldYearlessRange-DLmhPug8.js} +18 -25
- package/dist/DateFieldYearlessRange-DLmhPug8.js.map +1 -0
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-D-WPj18i.js → DaysOfTheWeek-BR32AA32.js} +6 -6
- package/dist/{DaysOfTheWeek-D-WPj18i.js.map → DaysOfTheWeek-BR32AA32.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-BF0-a1by.js → Details-Dxq_v3Qg.js} +4 -4
- package/dist/{Details-BF0-a1by.js.map → Details-Dxq_v3Qg.js.map} +1 -1
- package/dist/Details.js +1 -1
- package/dist/{Dialog-DEAR058v.js → Dialog-CMhypnCD.js} +5 -5
- package/dist/{Dialog-DEAR058v.js.map → Dialog-CMhypnCD.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{DialogCancelButton-BfI9K4a4.js → DialogCancelButton-DQDMzGeT.js} +2 -2
- package/dist/{DialogCancelButton-BfI9K4a4.js.map → DialogCancelButton-DQDMzGeT.js.map} +1 -1
- package/dist/{Divider-De04mOU6.js → Divider-B1UoK8ho.js} +3 -3
- package/dist/{Divider-De04mOU6.js.map → Divider-B1UoK8ho.js.map} +1 -1
- package/dist/Divider.js +1 -1
- package/dist/Dnd.js +1 -1
- package/dist/DndSort.js +6 -6
- package/dist/{Drawer-CnMskBQl.js → Drawer-CSelPi8t.js} +5 -5
- package/dist/{Drawer-CnMskBQl.js.map → Drawer-CSelPi8t.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-CH-JE4ba.js → EditCard-CLN0GBN_.js} +7 -7
- package/dist/{EditCard-CH-JE4ba.js.map → EditCard-CLN0GBN_.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/FieldLabel-DbMosKtd.js +125 -0
- package/dist/FieldLabel-DbMosKtd.js.map +1 -0
- package/dist/FieldLabel.css +80 -10
- package/dist/FieldLabel.js +1 -1
- package/dist/{FieldMessage-OeP_xSUE.js → FieldMessage-COHqUdj5.js} +3 -3
- package/dist/{FieldMessage-OeP_xSUE.js.map → FieldMessage-COHqUdj5.js.map} +1 -1
- package/dist/FieldMessage.js +2 -2
- package/dist/{Flex-CUtXN-C0.js → Flex-WyyZm1bf.js} +3 -3
- package/dist/{Flex-CUtXN-C0.js.map → Flex-WyyZm1bf.js.map} +1 -1
- package/dist/Flex.js +1 -1
- package/dist/{Grid-CatFkT0X.js → Grid-ONcUpb__.js} +3 -3
- package/dist/{Grid-CatFkT0X.js.map → Grid-ONcUpb__.js.map} +1 -1
- package/dist/Grid.js +1 -1
- package/dist/{Helper-B2UrgJvr.js → Helper-B_FIOlhy.js} +3 -3
- package/dist/{Helper-B2UrgJvr.js.map → Helper-B_FIOlhy.js.map} +1 -1
- package/dist/{Icon-Bcil6aBo.js → Icon-DuIlne4x.js} +3 -3
- package/dist/{Icon-Bcil6aBo.js.map → Icon-DuIlne4x.js.map} +1 -1
- package/dist/Icon.js +1 -1
- package/dist/{InputMask-B7ZnJoR5.js → InputMask-BKs-x6ds.js} +3 -3
- package/dist/{InputMask-B7ZnJoR5.js.map → InputMask-BKs-x6ds.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{InteractiveCard-OszQGxGw.js → InteractiveCard-GTYbR6Xy.js} +3 -3
- package/dist/{InteractiveCard-OszQGxGw.js.map → InteractiveCard-GTYbR6Xy.js.map} +1 -1
- package/dist/InteractiveCard.js +1 -1
- package/dist/{Layout-DTAU7jS5.js → Layout-VfhlilMG.js} +2 -2
- package/dist/{Layout-DTAU7jS5.js.map → Layout-VfhlilMG.js.map} +1 -1
- package/dist/Layout.js +1 -1
- package/dist/{Link-B3reiL5f.js → Link-jTvzyXca.js} +4 -4
- package/dist/{Link-B3reiL5f.js.map → Link-jTvzyXca.js.map} +1 -1
- package/dist/Link.js +1 -1
- package/dist/{LinkButton-D62f2os3.js → LinkButton-DGyHR1E7.js} +3 -3
- package/dist/{LinkButton-D62f2os3.js.map → LinkButton-DGyHR1E7.js.map} +1 -1
- package/dist/LinkButton.js +1 -1
- package/dist/{List-CtdOo1dv.js → List-CJZjElAQ.js} +3 -3
- package/dist/{List-CtdOo1dv.js.map → List-CJZjElAQ.js.map} +1 -1
- package/dist/List.js +1 -1
- package/dist/{ListView-CN8zu-cq.js → ListView-CeGwrRbt.js} +4 -4
- package/dist/{ListView-CN8zu-cq.js.map → ListView-CeGwrRbt.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-DMyxIokT.js → Listbox-BtAgBDRS.js} +7 -7
- package/dist/{Listbox-DMyxIokT.js.map → Listbox-BtAgBDRS.js.map} +1 -1
- package/dist/Listbox.css +29 -29
- package/dist/Listbox.js +1 -1
- package/dist/Listbox.module-HAXMOKvC.js +18 -0
- package/dist/Listbox.module-HAXMOKvC.js.map +1 -0
- package/dist/{LocalizationProvider-ay-XWdlo.js → LocalizationProvider-DWCyga_d.js} +2 -2
- package/dist/{LocalizationProvider-ay-XWdlo.js.map → LocalizationProvider-DWCyga_d.js.map} +1 -1
- package/dist/LocalizationProvider.js +1 -1
- package/dist/{Menu-CpRnsr0v.js → Menu-BXsmCP20.js} +6 -5
- package/dist/{Menu-CpRnsr0v.js.map → Menu-BXsmCP20.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-BnPzYM72.js → MultiSelectFieldSync-EELhdoD6.js} +92 -177
- package/dist/MultiSelectFieldSync-EELhdoD6.js.map +1 -0
- package/dist/MultiSelectMenu.d.ts +2 -0
- package/dist/MultiSelectMenu.js +2 -0
- package/dist/MultiSelectMenu.js.map +1 -0
- package/dist/MultiSelectMenuSync-CAPhhkK1.js +432 -0
- package/dist/MultiSelectMenuSync-CAPhhkK1.js.map +1 -0
- package/dist/{NumberField-ecubQsaf.js → NumberField-svhZp1kB.js} +14 -15
- package/dist/NumberField-svhZp1kB.js.map +1 -0
- package/dist/NumberField.js +1 -1
- package/dist/Overflow.js +3 -3
- package/dist/{Page-qOkG6psI.js → Page-BpV1yHkm.js} +16 -16
- package/dist/{Page-qOkG6psI.js.map → Page-BpV1yHkm.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-BuiyhZlJ.js → Pagination-BAwqfl_2.js} +8 -8
- package/dist/{Pagination-BuiyhZlJ.js.map → Pagination-BAwqfl_2.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-CYWYCj7l.js → Popover-Br6qPgKe.js} +7 -26
- package/dist/Popover-Br6qPgKe.js.map +1 -0
- package/dist/Popover-Dkw_8dZx.js +535 -0
- package/dist/Popover-Dkw_8dZx.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/Popover2.css +68 -0
- package/dist/{ProgressBar-CBhVZIzK.js → ProgressBar-JpRDW5vG.js} +8 -8
- package/dist/{ProgressBar-CBhVZIzK.js.map → ProgressBar-JpRDW5vG.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-DtYoRq3m.js → Radio-8DmfWHYq.js} +38 -46
- package/dist/Radio-8DmfWHYq.js.map +1 -0
- package/dist/{Radio-BMFwnzyz.js → Radio-M7lc0BsU.js} +2 -2
- package/dist/{Radio-BMFwnzyz.js.map → Radio-M7lc0BsU.js.map} +1 -1
- package/dist/Radio.css +52 -47
- package/dist/Radio.js +1 -1
- package/dist/{SearchField-CtdtcrVV.js → SearchField-im7AHGYo.js} +5 -5
- package/dist/{SearchField-CtdtcrVV.js.map → SearchField-im7AHGYo.js.map} +1 -1
- package/dist/SearchField.js +1 -1
- package/dist/{SegmentedControl-CzTtiYS9.js → SegmentedControl-7fDLhgvh.js} +3 -3
- package/dist/{SegmentedControl-CzTtiYS9.js.map → SegmentedControl-7fDLhgvh.js.map} +1 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-yWBNnm7t.js → SelectCard-D5dcOIuf.js} +6 -6
- package/dist/{SelectCard-yWBNnm7t.js.map → SelectCard-D5dcOIuf.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/SelectFieldLabel-Dr8HeW3N.js +31 -0
- package/dist/SelectFieldLabel-Dr8HeW3N.js.map +1 -0
- package/dist/{SelectFieldSync-DCrafdbx.js → SelectFieldSync-BPopU0om.js} +80 -169
- package/dist/SelectFieldSync-BPopU0om.js.map +1 -0
- package/dist/SelectMenu.d.ts +2 -0
- package/dist/SelectMenu.js +2 -0
- package/dist/SelectMenu.js.map +1 -0
- package/dist/SelectMenuSync-DeMYO1m_.js +327 -0
- package/dist/SelectMenuSync-DeMYO1m_.js.map +1 -0
- package/dist/SelectOptions-DBe5ZN_-.js +26 -0
- package/dist/SelectOptions-DBe5ZN_-.js.map +1 -0
- package/dist/{SelectTrigger-Cs5CGc4D.js → SelectTrigger-ObsnAKNp.js} +6 -9
- package/dist/SelectTrigger-ObsnAKNp.js.map +1 -0
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-Cs827tDp.js → SelectTriggerBase-DKfOL2RJ.js} +8 -8
- package/dist/{SelectTriggerBase-Cs827tDp.js.map → SelectTriggerBase-DKfOL2RJ.js.map} +1 -1
- package/dist/{SideNav-CbMGsIPM.js → SideNav-KksbSQn7.js} +4 -4
- package/dist/{SideNav-CbMGsIPM.js.map → SideNav-KksbSQn7.js.map} +1 -1
- package/dist/SideNav.js +1 -1
- package/dist/Skeleton.js +2 -2
- package/dist/{Spinner-CpEm3Lud.js → Spinner-BqmcE2pb.js} +2 -2
- package/dist/{Spinner-CpEm3Lud.js.map → Spinner-BqmcE2pb.js.map} +1 -1
- package/dist/Spinner.js +1 -1
- package/dist/{SrOnly-CrdBTl6E.js → SrOnly-eUpYGpAT.js} +2 -2
- package/dist/{SrOnly-CrdBTl6E.js.map → SrOnly-eUpYGpAT.js.map} +1 -1
- package/dist/SrOnly.js +1 -1
- package/dist/{Stepper-CzVKDg-N.js → Stepper-Dt8_ImvJ.js} +5 -5
- package/dist/{Stepper-CzVKDg-N.js.map → Stepper-Dt8_ImvJ.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-CEmjmSiL.js → Switch-DpPHr3G3.js} +6 -6
- package/dist/{Switch-CEmjmSiL.js.map → Switch-DpPHr3G3.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/{Tab-DXivEqur.js → Tab-DO7LaUbw.js} +4 -4
- package/dist/{Tab-DXivEqur.js.map → Tab-DO7LaUbw.js.map} +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-DhheKsns.js → Text-BJo4oMI2.js} +3 -3
- package/dist/{Text-DhheKsns.js.map → Text-BJo4oMI2.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-D9VWORek.js → TextField--co7QJ4r.js} +2 -2
- package/dist/{TextField-D9VWORek.js.map → TextField--co7QJ4r.js.map} +1 -1
- package/dist/{TextField-atI4M79b.js → TextField-Cax4UeNl.js} +12 -16
- package/dist/TextField-Cax4UeNl.js.map +1 -0
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-D-kPIsIN.js → Textarea-DyqdMTvQ.js} +11 -15
- package/dist/Textarea-DyqdMTvQ.js.map +1 -0
- package/dist/Textarea.js +1 -1
- package/dist/{ThemeProvider-BEt_iJgf.js → ThemeProvider-CaYW3RuA.js} +3 -3
- package/dist/{ThemeProvider-BEt_iJgf.js.map → ThemeProvider-CaYW3RuA.js.map} +1 -1
- package/dist/ThemeProvider.js +1 -1
- package/dist/{TimeField-DREFzFkw.js → TimeField-BfcLCWMG.js} +23 -13
- package/dist/TimeField-BfcLCWMG.js.map +1 -0
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-Bisc1mlh.js → Toaster-DikGo_hR.js} +2 -2
- package/dist/{Toaster-Bisc1mlh.js.map → Toaster-DikGo_hR.js.map} +1 -1
- package/dist/{Toaster-B652KIzq.js → Toaster-b0-Ub3yt.js} +7 -7
- package/dist/{Toaster-B652KIzq.js.map → Toaster-b0-Ub3yt.js.map} +1 -1
- package/dist/{Toolbar-jfZ-CupZ.js → Toolbar-DqYMc_w8.js} +39 -126
- package/dist/Toolbar-DqYMc_w8.js.map +1 -0
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-Bt62hC5J.js → Tooltip-Bupqao9B.js} +13 -6
- package/dist/Tooltip-Bupqao9B.js.map +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/{YearlessDateInputWithPicker-mW5KykHZ.js → YearlessDateInputWithPicker-aq99rKJU.js} +14 -15
- package/dist/YearlessDateInputWithPicker-aq99rKJU.js.map +1 -0
- package/dist/YearlessDateInputWithPicker.css +33 -33
- package/dist/assets/icons/st/resize_window_alt.svg +1 -0
- package/dist/assets/icons/st.ts +1 -0
- package/dist/beta/components/MultiSelectField/MultiSelectFieldSync.d.ts +2 -3
- package/dist/beta/components/MultiSelectField/internal/useComboMultiple.d.ts +8 -7
- package/dist/beta/components/MultiSelectField/internal/useSelectModeMultiple.d.ts +6 -4
- package/dist/beta/components/MultiSelectField/types.d.ts +2 -3
- package/dist/beta/components/MultiSelectMenu/MultiSelectMenu.d.ts +30 -0
- package/dist/beta/components/MultiSelectMenu/MultiSelectMenuSync.d.ts +54 -0
- package/dist/beta/components/MultiSelectMenu/index.d.ts +3 -0
- package/dist/beta/components/MultiSelectMenu/types.d.ts +170 -0
- package/dist/beta/components/SelectField/SelectFieldSync.d.ts +2 -3
- package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
- package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
- package/dist/beta/components/SelectField/internal/useCombo.d.ts +7 -7
- package/dist/beta/components/SelectField/internal/useSelectMode.d.ts +7 -6
- package/dist/beta/components/SelectField/types.d.ts +2 -9
- package/dist/beta/components/SelectMenu/SelectMenu.d.ts +27 -0
- package/dist/beta/components/SelectMenu/SelectMenuSync.d.ts +41 -0
- package/dist/beta/components/SelectMenu/index.d.ts +3 -0
- package/dist/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +72 -0
- package/dist/beta/components/SelectMenu/types.d.ts +153 -0
- package/dist/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +1 -1
- package/dist/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +12 -0
- package/dist/beta/components/Table/types.d.ts +14 -0
- package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +3 -3
- package/dist/beta/components/index.d.ts +2 -0
- package/dist/beta.js +10 -8
- package/dist/beta.js.map +1 -1
- package/dist/components/Avatar/Avatar.figma.d.ts +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.figma.d.ts +1 -0
- package/dist/components/Card/Card.figma.d.ts +1 -0
- package/dist/components/Checkbox/Checkbox.figma.d.ts +1 -0
- package/dist/components/Chip/Chip.figma.d.ts +1 -0
- package/dist/components/Combobox/ComboboxTypes.d.ts +1 -1
- package/dist/components/DateFieldYearless/internal/YearlessDateSelectionPopover.d.ts +1 -1
- package/dist/components/FieldLabel/FieldLabel.d.ts +3 -0
- package/dist/components/FieldLabel/internal/FieldLabelButton.d.ts +22 -0
- package/dist/components/FieldLabel/internal/FieldLabelMoreInfoIcon.d.ts +4 -6
- package/dist/components/Link/Link.figma.d.ts +1 -0
- package/dist/components/ProgressBar/ProgressBar.figma.d.ts +1 -0
- package/dist/components/SelectTrigger/SelectTrigger.d.ts +1 -1
- package/dist/components/Spinner/Spinner.figma.d.ts +1 -0
- package/dist/components/Textarea/Textarea.d.ts +1 -1
- package/dist/components/Toolbar/ToolbarSelect.d.ts +3 -3
- package/dist/components/Tooltip/Tooltip.figma.d.ts +1 -0
- package/dist/{match-sorter.esm-adzV1NDp.js → downshift.esm-xtSnQp44.js} +3 -907
- package/dist/downshift.esm-xtSnQp44.js.map +1 -0
- package/dist/floating-ui.react-aKYfs-aw.js +2374 -0
- package/dist/floating-ui.react-aKYfs-aw.js.map +1 -0
- package/dist/{floating-ui.react-dom-BZbDMh89.js → floating-ui.react-dom-imrk9N49.js} +237 -19
- package/dist/floating-ui.react-dom-imrk9N49.js.map +1 -0
- package/dist/hooks/useBreakpoint/useBreakpoint.d.ts +3 -3
- package/dist/{index-ClUtwV8V.js → index-D6ag_WQW.js} +4 -4
- package/dist/{index-ClUtwV8V.js.map → index-D6ag_WQW.js.map} +1 -1
- package/dist/{index-SvGbrGuT.js → index-De1g9FRV.js} +2 -2
- package/dist/{index-SvGbrGuT.js.map → index-De1g9FRV.js.map} +1 -1
- package/dist/index.js +73 -99
- package/dist/index.js.map +1 -1
- package/dist/internal/components/MultiSelectOptions.d.ts +23 -0
- package/dist/{beta/components/SelectField/internal/FieldDialog/FieldDialog.d.ts → internal/components/OptionsDialog/OptionsDialog.d.ts} +2 -2
- package/dist/internal/components/OptionsPanel.d.ts +26 -0
- package/dist/internal/components/OptionsPopover/OptionsPopover.d.ts +16 -0
- package/dist/internal/components/Popover/Popover.d.ts +267 -0
- package/dist/internal/components/Popover/PopoverButton.d.ts +24 -0
- package/dist/internal/components/Popover/PopoverClose.d.ts +24 -0
- package/dist/internal/components/Popover/PopoverContent.d.ts +34 -0
- package/dist/internal/components/Popover/PopoverTrigger.d.ts +46 -0
- package/dist/internal/components/Popover/index.d.ts +6 -0
- package/dist/internal/components/Popover/internal/PopoverContext.d.ts +45 -0
- package/dist/internal/components/Popover/internal/usePopoverContext.d.ts +6 -0
- package/dist/internal/components/SelectOption.d.ts +13 -0
- package/dist/internal/components/SelectOptions.d.ts +23 -0
- package/dist/internal/components/VirtualizedOptionsPanel.d.ts +2 -0
- package/dist/internal/functions/buildSelectItems.d.ts +22 -0
- package/dist/internal/functions/syncFilterUtils.d.ts +10 -0
- package/dist/{beta/components/SelectField/internal → internal/hooks}/useGroupedOptions.d.ts +4 -3
- package/dist/{beta/components/SelectField/internal/useFieldListSections.d.ts → internal/hooks/useOptionsSections.d.ts} +7 -8
- package/dist/{beta/components/SelectField/internal → internal/hooks}/usePinnedOptions.d.ts +1 -1
- package/dist/{beta/components/SelectField/internal → internal/hooks}/useProcessedOptions.d.ts +2 -2
- package/dist/internal/hooks/useSelectOrchestration.d.ts +38 -0
- package/dist/{beta/components/MultiSelectField/internal → internal/hooks}/useToggleSelection.d.ts +2 -2
- package/dist/{beta/components/SelectField/internal/types.d.ts → internal/types/selectFieldInternalTypes.d.ts} +11 -3
- package/dist/match-sorter.esm-CGAauEiU.js +908 -0
- package/dist/match-sorter.esm-CGAauEiU.js.map +1 -0
- package/dist/safePopover-BDso-xSH.js +17 -0
- package/dist/safePopover-BDso-xSH.js.map +1 -0
- package/dist/{FieldDialog-C5mwMjrr.js → syncFilterUtils-BRKjFwxk.js} +287 -146
- package/dist/syncFilterUtils-BRKjFwxk.js.map +1 -0
- package/dist/{FieldDialog.css → syncFilterUtils.css} +18 -11
- package/dist/{useBreakpoint-BP3HZXmh.js → useBreakpoint-okJ64T1D.js} +4 -3
- package/dist/useBreakpoint-okJ64T1D.js.map +1 -0
- package/dist/useBreakpoint.js +1 -1
- package/dist/{useDrilldown-hUxMOdnz.js → useDrilldown-CqBBB_r1.js} +5 -5
- package/dist/{useDrilldown-hUxMOdnz.js.map → useDrilldown-CqBBB_r1.js.map} +1 -1
- package/dist/{useLayoutPropsUtil-loxbyklF.js → useLayoutPropsUtil-DMDdfIah.js} +2 -2
- package/dist/{useLayoutPropsUtil-loxbyklF.js.map → useLayoutPropsUtil-DMDdfIah.js.map} +1 -1
- package/dist/useMenuInteraction-zR_78KQC.js +249 -0
- package/dist/useMenuInteraction-zR_78KQC.js.map +1 -0
- package/dist/usePopoverTransitionStates-CDIoNUuf.js +24 -0
- package/dist/usePopoverTransitionStates-CDIoNUuf.js.map +1 -0
- package/dist/useToggleSelection-JD62Jzqu.js +63 -0
- package/dist/useToggleSelection-JD62Jzqu.js.map +1 -0
- package/dist/{utils-pudAMGnO.js → utils-CM48ODEJ.js} +3 -13
- package/dist/utils-CM48ODEJ.js.map +1 -0
- package/dist/warnOnce-Y9PRHcU4.js +13 -0
- package/dist/warnOnce-Y9PRHcU4.js.map +1 -0
- package/package.json +1 -1
- package/dist/Button.module-DwCq9XU0.js +0 -26
- package/dist/Button.module-DwCq9XU0.js.map +0 -1
- package/dist/Checkbox-CxjZpzPp.js.map +0 -1
- package/dist/Checkbox.module-D4EgXL0i.js +0 -27
- package/dist/Checkbox.module-D4EgXL0i.js.map +0 -1
- package/dist/Combobox-Drqb3GVU.js.map +0 -1
- package/dist/DataTable-BLuJ4FtH.js.map +0 -1
- package/dist/DateFieldRange-CvlOeE4v.js.map +0 -1
- package/dist/DateFieldSingle-9UHxIxIA.js.map +0 -1
- package/dist/DateFieldYearless-HNydELvO.js.map +0 -1
- package/dist/DateFieldYearlessRange-COb8v2CG.js.map +0 -1
- package/dist/FieldDialog-C5mwMjrr.js.map +0 -1
- package/dist/FieldLabel-DL0D6fvc.js +0 -95
- package/dist/FieldLabel-DL0D6fvc.js.map +0 -1
- package/dist/Listbox.module-XuKszT3X.js +0 -18
- package/dist/Listbox.module-XuKszT3X.js.map +0 -1
- package/dist/MultiSelectFieldSync-BnPzYM72.js.map +0 -1
- package/dist/NumberField-ecubQsaf.js.map +0 -1
- package/dist/Popover-CYWYCj7l.js.map +0 -1
- package/dist/Radio-DtYoRq3m.js.map +0 -1
- package/dist/SelectFieldSync-DCrafdbx.js.map +0 -1
- package/dist/SelectTrigger-Cs5CGc4D.js.map +0 -1
- package/dist/TextField-atI4M79b.js.map +0 -1
- package/dist/Textarea-D-kPIsIN.js.map +0 -1
- package/dist/TimeField-DREFzFkw.js.map +0 -1
- package/dist/Toolbar-jfZ-CupZ.js.map +0 -1
- package/dist/Tooltip-Bt62hC5J.js.map +0 -1
- package/dist/YearlessDateInputWithPicker-mW5KykHZ.js.map +0 -1
- package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldList.d.ts +0 -24
- package/dist/beta/components/SelectField/internal/FieldListBase.d.ts +0 -27
- package/dist/beta/components/SelectField/internal/FieldPopover/FieldPopover.d.ts +0 -9
- package/dist/beta/components/SelectField/internal/SelectFieldList.d.ts +0 -26
- package/dist/beta/components/SelectField/internal/SelectFieldListItem.d.ts +0 -14
- package/dist/beta/components/SelectField/internal/VirtualizedFieldListBase.d.ts +0 -2
- package/dist/beta/components/SelectField/internal/buildDownshiftItems.d.ts +0 -22
- package/dist/beta/components/Table/DataTable/internal/cells/CellError.d.ts +0 -10
- package/dist/floating-ui.react-P5949bpO.js +0 -28
- package/dist/floating-ui.react-P5949bpO.js.map +0 -1
- package/dist/floating-ui.react-dom-BZbDMh89.js.map +0 -1
- package/dist/match-sorter.esm-adzV1NDp.js.map +0 -1
- package/dist/useBreakpoint-BP3HZXmh.js.map +0 -1
- package/dist/utils-pudAMGnO.js.map +0 -1
- /package/dist/{beta/components/SelectField/internal → internal/components}/InView.d.ts +0 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Placement } from '@floating-ui/react';
|
|
3
|
+
import { PopoverTrigger } from './PopoverTrigger';
|
|
4
|
+
import { DisableCloseOnEscapeOrClickProps } from '../../../types';
|
|
5
|
+
import { OpenCloseTransitionStateEffects } from '../../../internal/hooks';
|
|
6
|
+
/** ARIA role of the beta Popover popup. */
|
|
7
|
+
export type PopoverRole = "dialog" | "listbox" | "tree" | "grid";
|
|
8
|
+
/**
|
|
9
|
+
* Sub-options for `placement="auto"`. Constrains which sides `autoPlacement()`
|
|
10
|
+
* may choose from. Ignored when a specific placement is set.
|
|
11
|
+
*/
|
|
12
|
+
export type PopoverAutoPlacementConfig = {
|
|
13
|
+
/** Limits which sides autoPlacement() considers. Defaults to all sides. */
|
|
14
|
+
allowedPlacements?: Placement[];
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Sub-options for a specific placement (e.g. `"bottom"`). Overrides the default
|
|
18
|
+
* opposite-side fallback sequence used by `flip()`. Ignored when `placement="auto"`.
|
|
19
|
+
*/
|
|
20
|
+
export type PopoverFlipPlacementConfig = {
|
|
21
|
+
/** Explicit fallback sequence for flip(). Overrides the default opposite-side fallback. */
|
|
22
|
+
fallbackPlacements?: Placement[];
|
|
23
|
+
};
|
|
24
|
+
type PopoverPropsBase = {
|
|
25
|
+
/** Content to render inside the popover tree. */
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
/** Controlled open state. */
|
|
28
|
+
open?: boolean;
|
|
29
|
+
/** Initial open state for uncontrolled mode. @default false */
|
|
30
|
+
defaultOpen?: boolean;
|
|
31
|
+
/** Fires when the popover closes for any non-hover reason. */
|
|
32
|
+
onClose?: () => void;
|
|
33
|
+
/** Fires when the user clicks outside the popover. Not fired when disableCloseOnClickOutside is set. */
|
|
34
|
+
onClickOutside?: (e: globalThis.MouseEvent) => void;
|
|
35
|
+
/** Whether to hide the arrow/caret indicator. @default false */
|
|
36
|
+
disableCaret?: boolean;
|
|
37
|
+
/** Whether to remove default padding from the content area. @default false */
|
|
38
|
+
noPadding?: boolean;
|
|
39
|
+
/** Whether the popover width should match the trigger element width. @default false */
|
|
40
|
+
matchReferenceWidth?: boolean;
|
|
41
|
+
/** Whether the popover should have a fixed width of 40dvw. @default false */
|
|
42
|
+
fixedWidth?: boolean;
|
|
43
|
+
/** Fills available viewport height between the trigger and viewport edge. @default false */
|
|
44
|
+
fillAvailableHeight?: boolean;
|
|
45
|
+
/** Maximum height of the popover content. */
|
|
46
|
+
maxHeight?: number | string;
|
|
47
|
+
/** Constrains the popover to available viewport height. @default false */
|
|
48
|
+
fitScreen?: boolean;
|
|
49
|
+
/** Minimum height of the popover content. @default "2.875rem" */
|
|
50
|
+
minHeight?: number | string;
|
|
51
|
+
} & DisableCloseOnEscapeOrClickProps & OpenCloseTransitionStateEffects;
|
|
52
|
+
/**
|
|
53
|
+
* Role-specific props for `role="dialog"` (default).
|
|
54
|
+
*
|
|
55
|
+
* Only dialog popovers use `FloatingFocusManager` — focus moves into the content
|
|
56
|
+
* on open. The `modal`, `openOnHover`, and `delay` props are only meaningful
|
|
57
|
+
* in this context.
|
|
58
|
+
*/
|
|
59
|
+
type DialogRoleProps = {
|
|
60
|
+
/**
|
|
61
|
+
* The ARIA role of the popup. Drives `aria-haspopup` on the trigger and
|
|
62
|
+
* `role` on the content via Floating UI's `useRole`.
|
|
63
|
+
*
|
|
64
|
+
* @default "dialog"
|
|
65
|
+
*/
|
|
66
|
+
role?: "dialog";
|
|
67
|
+
/** Traps focus until closed (modal) or closes on Tab-out (non-modal). @default false */
|
|
68
|
+
modal?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Whether the popover opens on hover instead of click. @default false
|
|
71
|
+
*
|
|
72
|
+
* @remarks
|
|
73
|
+
* Hover-triggered popovers should contain only readable text — no interactive
|
|
74
|
+
* elements (buttons, links, inputs). The content is intentionally removed from
|
|
75
|
+
* the tab order so Tab moves cleanly between page elements. Interactive content
|
|
76
|
+
* inside a hover-triggered popover is unreachable by keyboard users. Use a
|
|
77
|
+
* click-triggered popover (default) when the content includes interactive elements.
|
|
78
|
+
*/
|
|
79
|
+
openOnHover?: boolean;
|
|
80
|
+
/** Delay in ms before opening on hover. @default 100 */
|
|
81
|
+
delay?: number;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Role-specific props for combobox popup roles (`listbox`, `tree`, `grid`).
|
|
85
|
+
*
|
|
86
|
+
* These roles follow the ARIA combobox pattern — focus stays on the trigger and
|
|
87
|
+
* the inner component (e.g. `Listbox`) owns the role and keyboard navigation.
|
|
88
|
+
* `FloatingFocusManager` is disabled. `modal`, `openOnHover`, and `delay` are
|
|
89
|
+
* not applicable and are excluded at the type level.
|
|
90
|
+
*
|
|
91
|
+
* @remarks
|
|
92
|
+
* Floating UI adds `role="combobox"` to the trigger element for these roles.
|
|
93
|
+
* The `combobox` ARIA role only accepts names from `aria-label` or
|
|
94
|
+
* `aria-labelledby` — visible text content is not used. Always provide an
|
|
95
|
+
* explicit `aria-label` on `Popover.Button` or your custom trigger.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* // ✅ Correct — explicit aria-label required for non-dialog roles
|
|
99
|
+
* <Popover role="listbox">
|
|
100
|
+
* <Popover.Button aria-label="Select an option">Open</Popover.Button>
|
|
101
|
+
* <Popover.Content>
|
|
102
|
+
* <Listbox>...</Listbox>
|
|
103
|
+
* </Popover.Content>
|
|
104
|
+
* </Popover>
|
|
105
|
+
*/
|
|
106
|
+
type NonDialogRoleProps = {
|
|
107
|
+
/** The ARIA role of the popup. */
|
|
108
|
+
role: Exclude<PopoverRole, "dialog">;
|
|
109
|
+
modal?: never;
|
|
110
|
+
openOnHover?: never;
|
|
111
|
+
delay?: never;
|
|
112
|
+
};
|
|
113
|
+
type WithAutoPlacement = {
|
|
114
|
+
/**
|
|
115
|
+
* Uses `autoPlacement()` — picks the side with the most space. Pass
|
|
116
|
+
* a specific placement (e.g. `"bottom"`) to express a preferred side
|
|
117
|
+
* with `flip()` fallback instead.
|
|
118
|
+
*/
|
|
119
|
+
placement?: "auto";
|
|
120
|
+
/** Sub-options for `autoPlacement()`. */
|
|
121
|
+
placementConfig?: PopoverAutoPlacementConfig;
|
|
122
|
+
};
|
|
123
|
+
type WithSpecificPlacement = {
|
|
124
|
+
/**
|
|
125
|
+
* Preferred placement relative to the trigger. Floating UI's `flip()`
|
|
126
|
+
* middleware will adapt to the opposite side if there is not enough space.
|
|
127
|
+
* Pass `"auto"` to let Floating UI pick the best side automatically.
|
|
128
|
+
*
|
|
129
|
+
* @default "bottom"
|
|
130
|
+
*/
|
|
131
|
+
placement: Placement;
|
|
132
|
+
/** Sub-options for `flip()`. */
|
|
133
|
+
placementConfig?: PopoverFlipPlacementConfig;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Props for the beta Popover component.
|
|
137
|
+
*
|
|
138
|
+
* Two independent discriminated unions are combined:
|
|
139
|
+
* - **Role**: `role="dialog"` (default) enables `FloatingFocusManager` and accepts `modal`,
|
|
140
|
+
* `openOnHover`, and `delay`. Non-dialog roles (`listbox`, `tree`, `grid`) disable
|
|
141
|
+
* focus management — the inner component owns focus and keyboard navigation.
|
|
142
|
+
* - **Placement**: `placement="auto"` uses `autoPlacement()` and accepts
|
|
143
|
+
* `placementConfig.allowedPlacements`. Specific placements use `flip()` and accept
|
|
144
|
+
* `placementConfig.fallbackPlacements`.
|
|
145
|
+
*
|
|
146
|
+
* @extends DisableCloseOnEscapeOrClickProps
|
|
147
|
+
* @extends OpenCloseTransitionStateEffects
|
|
148
|
+
*/
|
|
149
|
+
export type PopoverProps = (PopoverPropsBase & DialogRoleProps & WithAutoPlacement) | (PopoverPropsBase & DialogRoleProps & WithSpecificPlacement) | (PopoverPropsBase & NonDialogRoleProps & WithAutoPlacement) | (PopoverPropsBase & NonDialogRoleProps & WithSpecificPlacement);
|
|
150
|
+
/**
|
|
151
|
+
* Beta Popover component for displaying floating content relative to a trigger element.
|
|
152
|
+
*
|
|
153
|
+
* Built on three layers:
|
|
154
|
+
* - HTML Popover API (`popover="manual"`) for top-layer rendering without z-index management
|
|
155
|
+
* - Floating UI (`@floating-ui/react`) for JavaScript-based positioning
|
|
156
|
+
* - Floating UI interaction hooks for correct ARIA attributes and keyboard behavior
|
|
157
|
+
*
|
|
158
|
+
* Features:
|
|
159
|
+
* - Correct ARIA linkage: `aria-controls`, `aria-haspopup` with role string, `aria-expanded`
|
|
160
|
+
* - `FloatingFocusManager` for both modal (focus trapped) and non-modal (Tab-out closes)
|
|
161
|
+
* - `safePolygon()` hover zone replaces CSS `::before` hover bridge
|
|
162
|
+
* - `role` prop drives both `aria-haspopup` on trigger and `role` on content
|
|
163
|
+
* - Controlled and uncontrolled modes via `open` / `defaultOpen`
|
|
164
|
+
* - Imperative handle exposing `openPopover` and `closePopover`
|
|
165
|
+
* - Animation lifecycle callbacks via `onOpenAnimationStart` etc.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* <Popover>
|
|
169
|
+
* <Popover.Button>Open</Popover.Button>
|
|
170
|
+
* <Popover.Content>
|
|
171
|
+
* <p>Popover content</p>
|
|
172
|
+
* <Popover.Close>Close</Popover.Close>
|
|
173
|
+
* </Popover.Content>
|
|
174
|
+
* </Popover>
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* <Popover modal>
|
|
178
|
+
* <Popover.Trigger>
|
|
179
|
+
* {(props) => <Button {...props}>Open form</Button>}
|
|
180
|
+
* </Popover.Trigger>
|
|
181
|
+
* <Popover.Content>
|
|
182
|
+
* <TextField label="Name" />
|
|
183
|
+
* <Popover.Close>Done</Popover.Close>
|
|
184
|
+
* </Popover.Content>
|
|
185
|
+
* </Popover>
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* <Popover openOnHover role="dialog">
|
|
189
|
+
* <Popover.Button>Hover me</Popover.Button>
|
|
190
|
+
* <Popover.Content>Hover content</Popover.Content>
|
|
191
|
+
* </Popover>
|
|
192
|
+
*/
|
|
193
|
+
export declare const Popover: import('react').ForwardRefExoticComponent<PopoverProps & import('react').RefAttributes<unknown>> & {
|
|
194
|
+
/**
|
|
195
|
+
* PopoverTrigger component for creating custom trigger elements.
|
|
196
|
+
*
|
|
197
|
+
* Features:
|
|
198
|
+
* - Render prop pattern for full control over the trigger element
|
|
199
|
+
* - ARIA attributes and event handlers injected via getReferenceProps
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* <Popover.Trigger>
|
|
203
|
+
* {(props) => (
|
|
204
|
+
* <Button {...props}>
|
|
205
|
+
* Click to open popover
|
|
206
|
+
* </Button>
|
|
207
|
+
* )}
|
|
208
|
+
* </Popover.Trigger>
|
|
209
|
+
*/
|
|
210
|
+
Trigger: typeof PopoverTrigger;
|
|
211
|
+
/**
|
|
212
|
+
* PopoverContent component for the main popover content area.
|
|
213
|
+
*
|
|
214
|
+
* Features:
|
|
215
|
+
* - HTML Popover API top-layer rendering (popover="manual")
|
|
216
|
+
* - Floating UI positioning via refs.setFloating and floatingStyles
|
|
217
|
+
* - FloatingFocusManager for focus trapping (modal) or Tab-out closing (non-modal)
|
|
218
|
+
* - Arrow/caret indicator with position computed from middlewareData.arrow
|
|
219
|
+
* - Scroll position reset when the popover opens
|
|
220
|
+
* - Optional scrollerRef for external scroll access
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* <Popover.Content>
|
|
224
|
+
* <p>Popover content</p>
|
|
225
|
+
* <Popover.Close>Close</Popover.Close>
|
|
226
|
+
* </Popover.Content>
|
|
227
|
+
*/
|
|
228
|
+
Content: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "popover"> & {
|
|
229
|
+
scrollerRef?: import('react').RefObject<HTMLDivElement>;
|
|
230
|
+
hideWhileClosed?: boolean;
|
|
231
|
+
} & import('react').RefAttributes<HTMLDivElement>>;
|
|
232
|
+
/**
|
|
233
|
+
* PopoverClose component for closing the popover.
|
|
234
|
+
*
|
|
235
|
+
* Features:
|
|
236
|
+
* - Supports all Button component props and styling
|
|
237
|
+
* - Closes the popover on click via closePopover
|
|
238
|
+
* - Automatic tracking ID generation for analytics
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* <Popover.Close>Close</Popover.Close>
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* <Popover.Close appearance="secondary" size="small">
|
|
245
|
+
* Cancel
|
|
246
|
+
* </Popover.Close>
|
|
247
|
+
*/
|
|
248
|
+
Close: import('react').ForwardRefExoticComponent<import('./PopoverClose').PopoverCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
249
|
+
/**
|
|
250
|
+
* PopoverButton component for creating button-style triggers.
|
|
251
|
+
*
|
|
252
|
+
* Features:
|
|
253
|
+
* - Button styling and behavior with all Button props
|
|
254
|
+
* - ARIA attributes and event handlers injected via getReferenceProps
|
|
255
|
+
* - Automatic tracking ID generation for analytics
|
|
256
|
+
*
|
|
257
|
+
* @example
|
|
258
|
+
* <Popover.Button>Click to open</Popover.Button>
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* <Popover.Button appearance="primary" size="large" icon={InfoIcon}>
|
|
262
|
+
* Information
|
|
263
|
+
* </Popover.Button>
|
|
264
|
+
*/
|
|
265
|
+
Button: import('react').ForwardRefExoticComponent<import('./PopoverButton').PopoverButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
266
|
+
};
|
|
267
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ButtonProps } from '../../../components/Button';
|
|
2
|
+
import { DataTrackingId } from '../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the PopoverButton component.
|
|
5
|
+
* @extends ButtonProps
|
|
6
|
+
*/
|
|
7
|
+
export type PopoverButtonProps = ButtonProps & DataTrackingId;
|
|
8
|
+
/**
|
|
9
|
+
* PopoverButton component for creating button-style triggers.
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Button styling and behavior with all Button props
|
|
13
|
+
* - ARIA attributes and event handlers injected via getReferenceProps
|
|
14
|
+
* - Automatic tracking ID generation for analytics
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <Popover.Button>Click to open</Popover.Button>
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <Popover.Button appearance="primary" size="large" icon={InfoIcon}>
|
|
21
|
+
* Information
|
|
22
|
+
* </Popover.Button>
|
|
23
|
+
*/
|
|
24
|
+
export declare const PopoverButton: import('react').ForwardRefExoticComponent<PopoverButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ButtonProps } from '../../../components/Button';
|
|
2
|
+
import { DataTrackingId } from '../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the PopoverClose component.
|
|
5
|
+
* @extends ButtonProps
|
|
6
|
+
*/
|
|
7
|
+
export type PopoverCloseProps = ButtonProps & DataTrackingId;
|
|
8
|
+
/**
|
|
9
|
+
* PopoverClose component for closing the popover.
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Supports all Button component props and styling
|
|
13
|
+
* - Closes the popover on click via closePopover
|
|
14
|
+
* - Automatic tracking ID generation for analytics
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <Popover.Close>Close</Popover.Close>
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <Popover.Close appearance="secondary" size="small">
|
|
21
|
+
* Cancel
|
|
22
|
+
* </Popover.Close>
|
|
23
|
+
*/
|
|
24
|
+
export declare const PopoverClose: import('react').ForwardRefExoticComponent<PopoverCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, HTMLAttributes, RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the PopoverContent component.
|
|
4
|
+
* @extends ComponentPropsWithoutRef<"div">
|
|
5
|
+
*/
|
|
6
|
+
export type PopoverContentProps = Omit<ComponentPropsWithoutRef<"div">, "popover"> & {
|
|
7
|
+
/** Reference to the scrollable content area. */
|
|
8
|
+
scrollerRef?: RefObject<HTMLDivElement>;
|
|
9
|
+
/** Whether to unmount children from the DOM while the popover is closed. Useful for performance when the content is expensive to render. */
|
|
10
|
+
hideWhileClosed?: boolean;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* PopoverContent component for the main popover content area.
|
|
14
|
+
*
|
|
15
|
+
* Features:
|
|
16
|
+
* - HTML Popover API top-layer rendering (popover="manual")
|
|
17
|
+
* - Floating UI positioning via refs.setFloating and floatingStyles
|
|
18
|
+
* - FloatingFocusManager for focus trapping (modal) or Tab-out closing (non-modal)
|
|
19
|
+
* - Arrow/caret indicator with position computed from middlewareData.arrow
|
|
20
|
+
* - Scroll position reset when the popover opens
|
|
21
|
+
* - Optional scrollerRef for external scroll access
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* <Popover.Content>
|
|
25
|
+
* <p>Popover content</p>
|
|
26
|
+
* <Popover.Close>Close</Popover.Close>
|
|
27
|
+
* </Popover.Content>
|
|
28
|
+
*/
|
|
29
|
+
export declare const PopoverContent: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "popover"> & {
|
|
30
|
+
/** Reference to the scrollable content area. */
|
|
31
|
+
scrollerRef?: RefObject<HTMLDivElement>;
|
|
32
|
+
/** Whether to unmount children from the DOM while the popover is closed. Useful for performance when the content is expensive to render. */
|
|
33
|
+
hideWhileClosed?: boolean;
|
|
34
|
+
} & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { AriaAttributes, ReactElement, MouseEvent, KeyboardEvent, FocusEvent } from 'react';
|
|
2
|
+
/** Props passed to the PopoverTrigger render function. */
|
|
3
|
+
type PopoverTriggerChildrenProps = {
|
|
4
|
+
ref: (node: Element | null) => void;
|
|
5
|
+
id: string;
|
|
6
|
+
"aria-controls"?: string;
|
|
7
|
+
"aria-haspopup"?: AriaAttributes["aria-haspopup"];
|
|
8
|
+
"aria-expanded"?: boolean;
|
|
9
|
+
"data-state": "open" | "closed";
|
|
10
|
+
onClick?: (e: MouseEvent) => void;
|
|
11
|
+
onKeyDown?: (e: KeyboardEvent) => void;
|
|
12
|
+
onMouseEnter?: (e: MouseEvent) => void;
|
|
13
|
+
onMouseLeave?: (e: MouseEvent) => void;
|
|
14
|
+
onFocus?: (e: FocusEvent) => void;
|
|
15
|
+
onBlur?: (e: FocusEvent) => void;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Props for the PopoverTrigger component.
|
|
19
|
+
*/
|
|
20
|
+
export type PopoverTriggerProps = {
|
|
21
|
+
/**
|
|
22
|
+
* Render function that receives trigger props and returns a React element.
|
|
23
|
+
*/
|
|
24
|
+
children: (props: PopoverTriggerChildrenProps) => ReactElement;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* PopoverTrigger component for creating custom trigger elements.
|
|
28
|
+
*
|
|
29
|
+
* Features:
|
|
30
|
+
* - Render prop pattern for full control over the trigger element
|
|
31
|
+
* - ARIA attributes and event handlers injected via getReferenceProps
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <Popover.Trigger>
|
|
35
|
+
* {(props) => (
|
|
36
|
+
* <Button {...props}>
|
|
37
|
+
* Click to open popover
|
|
38
|
+
* </Button>
|
|
39
|
+
* )}
|
|
40
|
+
* </Popover.Trigger>
|
|
41
|
+
*/
|
|
42
|
+
export declare function PopoverTrigger(props: PopoverTriggerProps): ReactElement<any, string | import('react').JSXElementConstructor<any>>;
|
|
43
|
+
export declare namespace PopoverTrigger {
|
|
44
|
+
var displayName: string;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './Popover';
|
|
2
|
+
export { type PopoverButtonProps } from './PopoverButton';
|
|
3
|
+
export { type PopoverCloseProps } from './PopoverClose';
|
|
4
|
+
export { type PopoverContentProps } from './PopoverContent';
|
|
5
|
+
export { type PopoverTriggerProps } from './PopoverTrigger';
|
|
6
|
+
export { Popover as default } from './Popover';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { CSSProperties, RefObject, HTMLProps } from 'react';
|
|
2
|
+
import { FloatingContext, MiddlewareData, Placement } from '@floating-ui/react';
|
|
3
|
+
import { PopoverRole } from '../Popover';
|
|
4
|
+
export type PopoverContextProps = {
|
|
5
|
+
/** Context object from useFloating; required by FloatingFocusManager and interaction hooks. */
|
|
6
|
+
floatingContext: FloatingContext;
|
|
7
|
+
/** Callback refs from useFloating; setReference for the trigger, setFloating for the content. */
|
|
8
|
+
refs: {
|
|
9
|
+
setReference: (node: Element | null) => void;
|
|
10
|
+
setFloating: (node: HTMLElement | null) => void;
|
|
11
|
+
};
|
|
12
|
+
/** Inline positioning styles from useFloating; applied to the content element. */
|
|
13
|
+
floatingStyles: CSSProperties;
|
|
14
|
+
/** Middleware output from useFloating; used for arrow positioning via middlewareData.arrow. */
|
|
15
|
+
middlewareData: MiddlewareData;
|
|
16
|
+
/** Merged prop getter for the trigger; spreads ARIA attributes and event handlers. */
|
|
17
|
+
getReferenceProps: (userProps?: HTMLProps<Element>) => Record<string, unknown>;
|
|
18
|
+
/** Merged prop getter for the content; spreads ARIA attributes and event handlers. */
|
|
19
|
+
getFloatingProps: (userProps?: HTMLProps<HTMLElement>) => Record<string, unknown>;
|
|
20
|
+
/** Auto-generated id for the trigger element; used as the default aria-labelledby on content. */
|
|
21
|
+
triggerId: string;
|
|
22
|
+
/** Current open/closed state. */
|
|
23
|
+
openState: boolean;
|
|
24
|
+
/** Opens the popover. */
|
|
25
|
+
openPopover: () => void;
|
|
26
|
+
/** Closes the popover. Fires onClose unless opened via hover. */
|
|
27
|
+
closePopover: () => void;
|
|
28
|
+
/** Whether the open state is externally controlled. */
|
|
29
|
+
controlled: boolean;
|
|
30
|
+
/** Resolved placement after flip/shift middleware; may differ from the placement prop. */
|
|
31
|
+
actualPlacement: Placement;
|
|
32
|
+
/** Ref attached to the arrow span element inside PopoverContent. */
|
|
33
|
+
arrowRef: RefObject<HTMLSpanElement>;
|
|
34
|
+
/** Whether the popover traps focus (modal) or closes on Tab-out (non-modal). Only applies when role is "dialog". */
|
|
35
|
+
modal?: boolean;
|
|
36
|
+
/** Whether the popover opens on hover/focus instead of click. Only applies when role is "dialog". */
|
|
37
|
+
openOnHover: boolean;
|
|
38
|
+
/** Whether to remove default padding from the content area. */
|
|
39
|
+
noPadding?: boolean;
|
|
40
|
+
/** Whether to hide the arrow/caret indicator. */
|
|
41
|
+
disableCaret?: boolean;
|
|
42
|
+
/** The ARIA role of the popup. Drives FloatingFocusManager and ARIA attribute behavior. */
|
|
43
|
+
role: PopoverRole;
|
|
44
|
+
};
|
|
45
|
+
export declare const PopoverContext: import('react').Context<PopoverContextProps | null>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the PopoverContext for use within Popover compound components.
|
|
3
|
+
* @returns The current PopoverContextProps value.
|
|
4
|
+
* @throws Error if called outside a Popover component.
|
|
5
|
+
*/
|
|
6
|
+
export declare function usePopoverContext(): import('./PopoverContext').PopoverContextProps;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SelectItem, GetItemPropsFn } from '../types/selectFieldInternalTypes';
|
|
2
|
+
import { CheckState } from '../../types';
|
|
3
|
+
export type SelectOptionProps = {
|
|
4
|
+
item: SelectItem;
|
|
5
|
+
index: number;
|
|
6
|
+
highlighted: boolean;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
getItemProps: GetItemPropsFn;
|
|
9
|
+
selectionType: "single" | "multiple";
|
|
10
|
+
checked: CheckState;
|
|
11
|
+
isListScrolled?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const SelectOption: ({ item, index, highlighted, disabled, getItemProps, selectionType, checked, isListScrolled, }: SelectOptionProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SelectFieldOption } from '../../beta/components/SelectField/types';
|
|
2
|
+
import { CSSProperties } from 'react';
|
|
3
|
+
import { OptionsPanelHandle } from './OptionsPanel';
|
|
4
|
+
import { GetItemPropsFn, GetMenuPropsFn, SectionMeta, SelectItem } from '../types/selectFieldInternalTypes';
|
|
5
|
+
export type SelectOptionsProps = {
|
|
6
|
+
isOpen: boolean;
|
|
7
|
+
items: SelectItem[];
|
|
8
|
+
getMenuProps: GetMenuPropsFn;
|
|
9
|
+
getItemProps: GetItemPropsFn;
|
|
10
|
+
highlightedIndex: number;
|
|
11
|
+
selectedOption: SelectFieldOption | null;
|
|
12
|
+
hasMore: boolean;
|
|
13
|
+
onLoadMore: () => void;
|
|
14
|
+
loading: boolean;
|
|
15
|
+
loadingMore: boolean;
|
|
16
|
+
disableAutoLoadMore?: boolean;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
className?: string;
|
|
19
|
+
style?: CSSProperties;
|
|
20
|
+
sectionsMeta?: SectionMeta[];
|
|
21
|
+
virtualize?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export declare const SelectOptions: import('react').ForwardRefExoticComponent<SelectOptionsProps & import('react').RefAttributes<OptionsPanelHandle>>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SelectFieldOption } from '../../beta/components/SelectField/types';
|
|
2
|
+
import { SectionMeta, SelectItem } from '../types/selectFieldInternalTypes';
|
|
3
|
+
import { NormalizedPinnedSection } from '../hooks/usePinnedOptions';
|
|
4
|
+
import { NormalizedGroupSection } from '../hooks/useGroupedOptions';
|
|
5
|
+
export declare function toSelectItem(option: SelectFieldOption): SelectItem;
|
|
6
|
+
type BuildSelectItemsParams = {
|
|
7
|
+
prefixItems?: SelectItem[];
|
|
8
|
+
pinnedSections: NormalizedPinnedSection[];
|
|
9
|
+
groupSections: NormalizedGroupSection[];
|
|
10
|
+
ungroupedItems: SelectItem[];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Assembles the flat items array and sectionsMeta.
|
|
14
|
+
* Order: prefixItems → pinned sections → group sections → ungrouped items.
|
|
15
|
+
* Multi-select hooks pass bulk action items (select-all / select-filtered) as prefixItems;
|
|
16
|
+
* single-select hooks omit it.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildSelectItems({ prefixItems, pinnedSections, groupSections, ungroupedItems, }: BuildSelectItemsParams): {
|
|
19
|
+
items: SelectItem[];
|
|
20
|
+
sectionsMeta: SectionMeta[];
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MatchSorterOptions } from 'match-sorter';
|
|
2
|
+
import { SelectFieldOption, SelectFieldGroupByValue } from '../../beta/components/SelectField/types';
|
|
3
|
+
export type SyncFilterFn<T extends SelectFieldOption = SelectFieldOption> = (options: T[], searchValue: string) => T[];
|
|
4
|
+
export declare const defaultSyncFilter: SyncFilterFn;
|
|
5
|
+
export declare const toSyncFilterFn: <T extends SelectFieldOption = SelectFieldOption>(filter: SyncFilterFn<T> | MatchSorterOptions<T>) => SyncFilterFn<T>;
|
|
6
|
+
/**
|
|
7
|
+
* Sorts options by group using the provided comparator while maintaining
|
|
8
|
+
* the original order within each group (stable sort).
|
|
9
|
+
*/
|
|
10
|
+
export declare const sortByGroup: <T extends SelectFieldOption = SelectFieldOption>(options: T[], groupSorter: (a: SelectFieldGroupByValue, b: SelectFieldGroupByValue) => number) => T[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SelectFieldGroupByValue, SelectFieldOption } from '../../beta/components/SelectField/types';
|
|
2
|
+
import { SelectItem } from '../types/selectFieldInternalTypes';
|
|
2
3
|
/**
|
|
3
4
|
* Normalized group section structure used internally.
|
|
4
5
|
* @property label - The group label (derived from groupToString or String(groupValue))
|
|
@@ -10,9 +11,9 @@ export type NormalizedGroupSection = {
|
|
|
10
11
|
};
|
|
11
12
|
type UseGroupedOptionsResult = {
|
|
12
13
|
/** Options that have a group property, converted to downshift items */
|
|
13
|
-
groupedItems:
|
|
14
|
+
groupedItems: SelectItem[];
|
|
14
15
|
/** Options that don't have a group property, converted to downshift items */
|
|
15
|
-
ungroupedItems:
|
|
16
|
+
ungroupedItems: SelectItem[];
|
|
16
17
|
/** Metadata about each group section for rendering */
|
|
17
18
|
groupSections: NormalizedGroupSection[];
|
|
18
19
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SectionMeta } from './types';
|
|
1
|
+
import { SectionMeta, SelectItem } from '../types/selectFieldInternalTypes';
|
|
3
2
|
export type SectionItem = {
|
|
4
|
-
item:
|
|
3
|
+
item: SelectItem;
|
|
5
4
|
index: number;
|
|
6
5
|
};
|
|
7
6
|
export type PinnedSection = {
|
|
@@ -22,8 +21,8 @@ export type FlatSection = {
|
|
|
22
21
|
export type Section = PinnedSection | GroupSection | FlatSection;
|
|
23
22
|
export type VirtualRow = {
|
|
24
23
|
type: "item";
|
|
25
|
-
item:
|
|
26
|
-
|
|
24
|
+
item: SelectItem;
|
|
25
|
+
index: number;
|
|
27
26
|
} | {
|
|
28
27
|
type: "header";
|
|
29
28
|
label: string;
|
|
@@ -36,15 +35,15 @@ export type VirtualRow = {
|
|
|
36
35
|
};
|
|
37
36
|
/**
|
|
38
37
|
* Computes grouped sections from a flat items array and section metadata.
|
|
39
|
-
* @param items - The flat
|
|
38
|
+
* @param items - The flat items array
|
|
40
39
|
* @param sectionsMeta - Section metadata describing pinned/group ranges
|
|
41
40
|
* @returns Grouped sections for rendering
|
|
42
41
|
*/
|
|
43
|
-
export declare const
|
|
42
|
+
export declare const useOptionsSections: (items: SelectItem[], sectionsMeta: SectionMeta[]) => Section[];
|
|
44
43
|
/**
|
|
45
44
|
* Flattens grouped sections into a linear list of virtual rows for virtualization,
|
|
46
45
|
* and builds a mapping from downshift item index to virtual row index.
|
|
47
|
-
* @param sections - The grouped sections from
|
|
46
|
+
* @param sections - The grouped sections from useOptionsSections
|
|
48
47
|
* @param hasMore - Whether there are more items to load
|
|
49
48
|
* @returns The flat virtual row list and a downshift-to-virtual index mapping
|
|
50
49
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SelectFieldOption, SelectFieldPinnedOptions } from '
|
|
1
|
+
import { SelectFieldOption, SelectFieldPinnedOptions } from '../../beta/components/SelectField/types';
|
|
2
2
|
/**
|
|
3
3
|
* Normalized pinned section structure used internally.
|
|
4
4
|
* @property label - Section label (e.g., "Recent", "Favorites")
|
package/dist/{beta/components/SelectField/internal → internal/hooks}/useProcessedOptions.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SelectFieldGroupByValue, SelectFieldOption, SelectFieldPinnedOptions } from '
|
|
1
|
+
import { SelectFieldGroupByValue, SelectFieldOption, SelectFieldPinnedOptions } from '../../beta/components/SelectField/types';
|
|
2
2
|
type UseProcessedOptionsParams = {
|
|
3
3
|
options: SelectFieldOption[];
|
|
4
4
|
pinned?: SelectFieldPinnedOptions;
|
|
@@ -13,7 +13,7 @@ type UseProcessedOptionsParams = {
|
|
|
13
13
|
*/
|
|
14
14
|
export declare const useProcessedOptions: ({ options, pinned, searchValue, groupToString, groupSorter, }: UseProcessedOptionsParams) => {
|
|
15
15
|
pinnedSections: import('./usePinnedOptions').NormalizedPinnedSection[];
|
|
16
|
-
ungroupedItems: import('
|
|
16
|
+
ungroupedItems: import('../types/selectFieldInternalTypes').SelectItem[];
|
|
17
17
|
groupSections: import('./useGroupedOptions').NormalizedGroupSection[];
|
|
18
18
|
};
|
|
19
19
|
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ForwardedRef } from 'react';
|
|
2
|
+
export type UseSelectOrchestrationConfig = {
|
|
3
|
+
lazy: false | "page" | "offset" | "group" | undefined;
|
|
4
|
+
loadOptions: any;
|
|
5
|
+
cache?: {
|
|
6
|
+
enabled?: boolean;
|
|
7
|
+
maxSize?: number;
|
|
8
|
+
};
|
|
9
|
+
lazyOptions?: {
|
|
10
|
+
pageSize?: number;
|
|
11
|
+
limit?: number;
|
|
12
|
+
};
|
|
13
|
+
initialLoad?: "auto" | "immediate" | "open";
|
|
14
|
+
displayMenuAs?: "auto" | "popover" | "dialog";
|
|
15
|
+
ref: ForwardedRef<{
|
|
16
|
+
clearCache: () => void;
|
|
17
|
+
invalidate: () => void;
|
|
18
|
+
}>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Shared orchestration hook used by Select components
|
|
22
|
+
* Centralizes adaptive view resolution, loading config construction, option loading lifecycle,
|
|
23
|
+
* and imperative handle setup (clearCache/invalidate).
|
|
24
|
+
*/
|
|
25
|
+
export declare function useSelectOrchestration(config: UseSelectOrchestrationConfig): {
|
|
26
|
+
displayAs: "popover" | "dialog";
|
|
27
|
+
initialLoad: "open" | "immediate";
|
|
28
|
+
initialLoadPerformed: boolean;
|
|
29
|
+
setInitialLoadPerformed: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
30
|
+
options: import('../../beta').SelectFieldOption[];
|
|
31
|
+
loading: boolean;
|
|
32
|
+
loadingMore: boolean;
|
|
33
|
+
hasMore: boolean;
|
|
34
|
+
loadOptions: (searchValue: string, options?: {
|
|
35
|
+
initial?: boolean;
|
|
36
|
+
}) => Promise<void>;
|
|
37
|
+
loadMore: (searchValue: string) => Promise<void>;
|
|
38
|
+
};
|