@servicetitan/anvil2 3.13.7 → 3.14.0
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 +11 -0
- package/dist/{AiMark-D8dx3b1Q.js → AiMark-CWufA6pV.js} +7 -62
- package/dist/{AiMark-D8dx3b1Q.js.map → AiMark-CWufA6pV.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-N-Es76Om.js → Alert-RkvFtmRP.js} +2 -2
- package/dist/{Alert-N-Es76Om.js.map → Alert-RkvFtmRP.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{AnvilProvider-D8msiELo.js → AnvilProvider-DagOuc9c.js} +2 -3
- package/dist/AnvilProvider-DagOuc9c.js.map +1 -0
- package/dist/AnvilProvider.js +1 -1
- package/dist/Avatar-DZxHhMTP.js.map +1 -1
- package/dist/{Breadcrumbs-Di0HJmcH.js → Breadcrumbs-DbOrdao2.js} +2 -2
- package/dist/{Breadcrumbs-Di0HJmcH.js.map → Breadcrumbs-DbOrdao2.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/Button-Dwh_Nd4l.js.map +1 -1
- package/dist/{Calendar-kSH8F7gx.js → Calendar-CK-AAaSG.js} +2 -2
- package/dist/Calendar-CK-AAaSG.js.map +1 -0
- package/dist/{Calendar-DV149Rqb.js → Calendar-DLnn6dJE.js} +2 -2
- package/dist/{Calendar-DV149Rqb.js.map → Calendar-DLnn6dJE.js.map} +1 -1
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-CknwM231.js → Checkbox-CboZhOtU.js} +3 -3
- package/dist/{Checkbox-CknwM231.js.map → Checkbox-CboZhOtU.js.map} +1 -1
- package/dist/{Checkbox-FvMXGsgi.js → Checkbox-Cn4iNLW_.js} +2 -2
- package/dist/{Checkbox-FvMXGsgi.js.map → Checkbox-Cn4iNLW_.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-COkotNvt.js → Chip-UbrxYEqs.js} +2 -2
- package/dist/{Chip-COkotNvt.js.map → Chip-UbrxYEqs.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-D0YlJ7IA.js → DataTable-COExZbOC.js} +10 -22
- package/dist/DataTable-COExZbOC.js.map +1 -0
- package/dist/{DateFieldRange-B7-z7KXC.js → DateFieldRange-CpTxlASD.js} +5 -5
- package/dist/{DateFieldRange-B7-z7KXC.js.map → DateFieldRange-CpTxlASD.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-B3aY-9vO.js → DateFieldSingle-DR2kfrzh.js} +5 -5
- package/dist/{DateFieldSingle-B3aY-9vO.js.map → DateFieldSingle-DR2kfrzh.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-BYwWvHXD.js → DateFieldYearless-4mS_2Mgw.js} +5 -5
- package/dist/{DateFieldYearless-BYwWvHXD.js.map → DateFieldYearless-4mS_2Mgw.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-cyDptr2S.js → DateFieldYearlessRange-C-yvKBkJ.js} +4 -4
- package/dist/{DateFieldYearlessRange-cyDptr2S.js.map → DateFieldYearlessRange-C-yvKBkJ.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-Re26vN8g.js → DaysOfTheWeek-Bo4w8SsT.js} +2 -2
- package/dist/{DaysOfTheWeek-Re26vN8g.js.map → DaysOfTheWeek-Bo4w8SsT.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-BMPFoRQh.js → Dialog-Ds25dKQp.js} +4 -4
- package/dist/{Dialog-BMPFoRQh.js.map → Dialog-Ds25dKQp.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-BCw_ZHSD.js → Drawer-Da-bj_6o.js} +4 -4
- package/dist/{Drawer-BCw_ZHSD.js.map → Drawer-Da-bj_6o.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-CTEk64eN.js → EditCard-CocV93gS.js} +2 -2
- package/dist/{EditCard-CTEk64eN.js.map → EditCard-CocV93gS.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-CYCk2rz-.js → FieldLabel-6aFKQfyD.js} +2 -2
- package/dist/FieldLabel-6aFKQfyD.js.map +1 -0
- package/dist/FieldLabel.js +1 -1
- package/dist/{FilterBar-CrIPZKvL.js → FilterBar-CZT1ryz_.js} +6 -7
- package/dist/FilterBar-CZT1ryz_.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/Helper-BHpOgh7k.js.map +1 -1
- package/dist/Icon-B5zwN7GD.js.map +1 -1
- package/dist/{InputMask-Bm7ZYtQy.js → InputMask-CNV0Ucli.js} +3 -3
- package/dist/{InputMask-Bm7ZYtQy.js.map → InputMask-CNV0Ucli.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{ListView-Bkv1ZCSu.js → ListView-DFAWrwzi.js} +2 -2
- package/dist/ListView-DFAWrwzi.js.map +1 -0
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-BWy_uBqm.js → Listbox-BErqErNN.js} +2 -2
- package/dist/Listbox-BErqErNN.js.map +1 -0
- package/dist/Listbox.js +1 -1
- package/dist/LocalizationContext-UsmB5mnR.js.map +1 -1
- package/dist/LocalizationProvider-BPcOU7YX.js.map +1 -1
- package/dist/{MenuFooter--lBF8OjJ.js → MenuFooter-fGSZYh8e.js} +2 -2
- package/dist/MenuFooter-fGSZYh8e.js.map +1 -0
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-gH-TQnq3.js → MultiSelectFieldSync-CqWUidCm.js} +8 -8
- package/dist/MultiSelectFieldSync-CqWUidCm.js.map +1 -0
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-QmhjWA05.js → MultiSelectMenuSync-DG3rKyQc.js} +6 -6
- package/dist/{MultiSelectMenuSync-QmhjWA05.js.map → MultiSelectMenuSync-DG3rKyQc.js.map} +1 -1
- package/dist/{NumberField-BOLMhpdk.js → NumberField-DRYYJHec.js} +3 -3
- package/dist/{NumberField-BOLMhpdk.js.map → NumberField-DRYYJHec.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-D4RYSd8t.js → Page-BmpojvuI.js} +8 -8
- package/dist/{Page-D4RYSd8t.js.map → Page-BmpojvuI.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-Hjalx9ZX.js → Pagination-Bc4fhdNm.js} +3 -3
- package/dist/{Pagination-Hjalx9ZX.js.map → Pagination-Bc4fhdNm.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-BQ-R2hs0.js → Popover-BgVOsP4J.js} +2 -2
- package/dist/{Popover-BQ-R2hs0.js.map → Popover-BgVOsP4J.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/PortalProvider-Cj_y3gbC.js.map +1 -1
- package/dist/{ProgressBar-BUmYFa81.js → ProgressBar-Chb0uKfL.js} +2 -2
- package/dist/{ProgressBar-BUmYFa81.js.map → ProgressBar-Chb0uKfL.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-BgbBIhPS.js → Radio-DcNlFfSu.js} +3 -3
- package/dist/{Radio-BgbBIhPS.js.map → Radio-DcNlFfSu.js.map} +1 -1
- package/dist/{Radio-C2pWQ84U.js → Radio-gpMEsFss.js} +2 -2
- package/dist/{Radio-C2pWQ84U.js.map → Radio-gpMEsFss.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-Chzl-zeW.js → RichTextEditor-DeO4p-S-.js} +8 -8
- package/dist/{RichTextEditor-Chzl-zeW.js.map → RichTextEditor-DeO4p-S-.js.map} +1 -1
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-D0J5KTsI.js → SavedFiltersButton-Cvf1mJk8.js} +10 -10
- package/dist/{SavedFiltersButton-D0J5KTsI.js.map → SavedFiltersButton-Cvf1mJk8.js.map} +1 -1
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SelectCard-BGTB3ay0.js → SelectCard-bp5hRyHK.js} +3 -3
- package/dist/{SelectCard-BGTB3ay0.js.map → SelectCard-bp5hRyHK.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-CcX2GAym.js → SelectFieldLabel-DZqxaZsp.js} +2 -2
- package/dist/SelectFieldLabel-DZqxaZsp.js.map +1 -0
- package/dist/{SelectFieldSync-BjJN7FC3.js → SelectFieldSync-Wkx6DGpg.js} +7 -7
- package/dist/{SelectFieldSync-BjJN7FC3.js.map → SelectFieldSync-Wkx6DGpg.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-iZsNTote.js → SelectMenuSync-O55TODxn.js} +6 -6
- package/dist/{SelectMenuSync-iZsNTote.js.map → SelectMenuSync-O55TODxn.js.map} +1 -1
- package/dist/{SelectOptions-BeehD5VV.js → SelectOptions-0A8BYx1q.js} +2 -2
- package/dist/SelectOptions-0A8BYx1q.js.map +1 -0
- package/dist/{SelectTrigger-BQAVMm3E.js → SelectTrigger-BfJ7DWYq.js} +2 -2
- package/dist/{SelectTrigger-BQAVMm3E.js.map → SelectTrigger-BfJ7DWYq.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-BV-QNhII.js → SelectTriggerBase-DvsI-kSG.js} +3 -3
- package/dist/{SelectTriggerBase-BV-QNhII.js.map → SelectTriggerBase-DvsI-kSG.js.map} +1 -1
- package/dist/StatusIcon-BqorkNJf.js.map +1 -1
- package/dist/{Switch-DWaFomvP.js → Switch-CrDmBj4D.js} +2 -2
- package/dist/{Switch-DWaFomvP.js.map → Switch-CrDmBj4D.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-D2TIPmZ2.js → Text-CZccJAnm.js} +2 -2
- package/dist/{Text-D2TIPmZ2.js.map → Text-CZccJAnm.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-wIc7ic0E.js → TextField-D0f9LwgQ.js} +3 -3
- package/dist/{TextField-wIc7ic0E.js.map → TextField-D0f9LwgQ.js.map} +1 -1
- package/dist/{TextField-DJaBZ4Je.js → TextField-DX5qyWPo.js} +2 -2
- package/dist/{TextField-DJaBZ4Je.js.map → TextField-DX5qyWPo.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-D4c6VjNs.js → Textarea-CdTcekFd.js} +3 -3
- package/dist/{Textarea-D4c6VjNs.js.map → Textarea-CdTcekFd.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/ThemeProvider-DW-Mflv6.js.map +1 -1
- package/dist/ThemeProviderContext-l52GohYT.js.map +1 -1
- package/dist/{TimeField-DpnX_t31.js → TimeField-BxNglWQt.js} +4 -4
- package/dist/TimeField-BxNglWQt.js.map +1 -0
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-Cl9BSxHs.js → Toaster-C-Z_FMbW.js} +3 -3
- package/dist/{Toaster-Cl9BSxHs.js.map → Toaster-C-Z_FMbW.js.map} +1 -1
- package/dist/{Toaster-11pmgwx5.js → Toaster-nyQgF9Ki.js} +2 -2
- package/dist/{Toaster-11pmgwx5.js.map → Toaster-nyQgF9Ki.js.map} +1 -1
- package/dist/{Toolbar-C9_Z1wAt.js → Toolbar-BUbMtBVz.js} +4 -4
- package/dist/{Toolbar-C9_Z1wAt.js.map → Toolbar-BUbMtBVz.js.map} +1 -1
- package/dist/{Toolbar-Dq9KOJoH.js → Toolbar-BxAFPvbn.js} +5 -5
- package/dist/{Toolbar-Dq9KOJoH.js.map → Toolbar-BxAFPvbn.js.map} +1 -1
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-BGnYIt6-.js → ToolbarButtonToggle-NSJ2XfXT.js} +2 -2
- package/dist/{ToolbarButtonToggle-BGnYIt6-.js.map → ToolbarButtonToggle-NSJ2XfXT.js.map} +1 -1
- package/dist/TrackingProvider-Co4lyoI9.js.map +1 -1
- package/dist/TrackingProviderContext-CrVA7KHv.js.map +1 -1
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-CoWxg7tA.js → TreeSelectFieldSync-DpvwlM7B.js} +6 -6
- package/dist/{TreeSelectFieldSync-CoWxg7tA.js.map → TreeSelectFieldSync-DpvwlM7B.js.map} +1 -1
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-CmJa0lyW.js → TreeSelectMenuSync-BDitYX_k.js} +5 -5
- package/dist/{TreeSelectMenuSync-CmJa0lyW.js.map → TreeSelectMenuSync-BDitYX_k.js.map} +1 -1
- package/dist/{TypeaheadTextField-2kW-oCMo.js → TypeaheadTextField-Cj09sEji.js} +3 -3
- package/dist/{TypeaheadTextField-2kW-oCMo.js.map → TypeaheadTextField-Cj09sEji.js.map} +1 -1
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-C0FwNBKR.js → YearlessDateInputWithPicker-CoomgSEK.js} +3 -3
- package/dist/{YearlessDateInputWithPicker-C0FwNBKR.js.map → YearlessDateInputWithPicker-CoomgSEK.js.map} +1 -1
- package/dist/anvParts-DFVq7-Cm.js +25 -0
- package/dist/anvParts-DFVq7-Cm.js.map +1 -0
- package/dist/arrayIdsEqual-DnevhwqN.js.map +1 -1
- package/dist/assets/icons/st/gnav_automations_active.svg +1 -0
- package/dist/assets/icons/st/gnav_automations_inactive.svg +1 -0
- package/dist/assets/icons/st/gnav_command_center_active.svg +1 -0
- package/dist/assets/icons/st/gnav_command_center_inactive.svg +1 -0
- package/dist/assets/icons/st.ts +4 -0
- package/dist/beta.js +17 -17
- package/dist/{bulkActionTypes-Ct2cwT7b.js → bulkActionTypes-DAo3_ECS.js} +2 -2
- package/dist/bulkActionTypes-DAo3_ECS.js.map +1 -0
- package/dist/childrenToString-Bz9MqbHb.js.map +1 -1
- package/dist/confirmationTypes-DeRtO_Cw.js.map +1 -1
- package/dist/{downshift.esm-xtSnQp44.js → downshift.esm-U4VMqrF-.js} +3 -1
- package/dist/downshift.esm-U4VMqrF-.js.map +1 -0
- package/dist/{filter-state-lWKlYjeQ.js → filter-state-CZcczj37.js} +21 -21
- package/dist/{filter-state-lWKlYjeQ.js.map → filter-state-CZcczj37.js.map} +1 -1
- package/dist/floating-ui.react-dom-BIKT960u.js.map +1 -1
- package/dist/getActiveElement-BcSyVE7S.js.map +1 -1
- package/dist/getKeyboardFocusableElements-B_U9rt6y.js.map +1 -1
- package/dist/{index-BHztJ8H6.js → index-BFxzUzoz.js} +2 -2
- package/dist/{index-BHztJ8H6.js.map → index-BFxzUzoz.js.map} +1 -1
- package/dist/index.js +42 -43
- package/dist/index.js.map +1 -1
- package/dist/portalScopeClassNames-DA28LrXe.js.map +1 -1
- package/dist/src/hooks/useAccessibleColor/useAccessibleColor.d.ts +3 -28
- package/dist/src/hooks/useBreakpoint/useBreakpoint.d.ts +15 -60
- package/dist/src/hooks/useMergeRefs/useMergeRefs.d.ts +3 -20
- package/dist/src/hooks/usePrefersColorScheme/usePrefersColorScheme.d.ts +2 -11
- package/dist/src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts +2 -10
- package/dist/src/hooks/useSize/index.d.ts +2 -13
- package/dist/src/hooks/useSwipe/useSwipe.d.ts +3 -20
- package/dist/src/hooks/useTrackingId/index.d.ts +6 -17
- package/dist/src/internal/components/AddNewItemButton.d.ts +4 -30
- package/dist/src/internal/components/Helper/Helper.d.ts +12 -8
- package/dist/src/internal/components/InView.d.ts +4 -24
- package/dist/src/internal/components/InlineMarkdown/InlineMarkdown.d.ts +2 -19
- package/dist/src/internal/components/Label/Label.d.ts +12 -51
- package/dist/src/internal/components/ManualTestLayout/ManualTestLayout.d.ts +3 -2
- package/dist/src/internal/components/MenuFooter/MenuFooter.d.ts +11 -17
- package/dist/src/internal/components/MultiSelectOptions.d.ts +15 -0
- package/dist/src/internal/components/OptionCheckbox.d.ts +2 -0
- package/dist/src/internal/components/OptionContentArea.d.ts +4 -0
- package/dist/src/internal/components/OptionRow.d.ts +4 -0
- package/dist/src/internal/components/OptionsDialog/OptionsDialog.d.ts +13 -1
- package/dist/src/internal/components/OptionsPanel.d.ts +16 -0
- package/dist/src/internal/components/OptionsPopover/OptionsPopover.d.ts +9 -14
- package/dist/src/internal/components/Popover/Popover.d.ts +45 -180
- package/dist/src/internal/components/Popover/PopoverButton.d.ts +0 -20
- package/dist/src/internal/components/Popover/PopoverClose.d.ts +0 -20
- package/dist/src/internal/components/Popover/PopoverContent.d.ts +4 -25
- package/dist/src/internal/components/Popover/PopoverTrigger.d.ts +1 -23
- package/dist/src/internal/components/Popover/internal/PopoverContext.d.ts +0 -21
- package/dist/src/internal/components/Popover/internal/usePopoverContext.d.ts +1 -3
- package/dist/src/internal/components/SelectOption.d.ts +8 -0
- package/dist/src/internal/components/SelectOptions.d.ts +15 -0
- package/dist/src/internal/components/Shadow/Shadow.d.ts +1 -0
- package/dist/src/internal/components/StatusIcon/StatusIcon.d.ts +4 -33
- package/dist/src/internal/components/Surface/Surface.d.ts +40 -73
- package/dist/src/internal/components/Surface/surfaceGeometry.d.ts +12 -0
- package/dist/src/internal/components/VirtualizedOptionsPanel.d.ts +1 -0
- package/dist/src/internal/components/YearSelector/YearSelector.d.ts +14 -48
- package/dist/src/internal/components/YearSelector/internal/YearItem.d.ts +1 -0
- package/dist/src/internal/components/YearSelector/internal/useYearSelectorKeys.d.ts +4 -0
- package/dist/src/internal/constants/anvParts.d.ts +3 -55
- package/dist/src/internal/flubber/a2c.d.ts +0 -4
- package/dist/src/internal/flubber/arc.d.ts +0 -4
- package/dist/src/internal/flubber/bezier.d.ts +0 -4
- package/dist/src/internal/flubber/errors.d.ts +0 -4
- package/dist/src/internal/flubber/index.d.ts +0 -4
- package/dist/src/internal/flubber/interpolate.d.ts +3 -0
- package/dist/src/internal/flubber/linear.d.ts +0 -4
- package/dist/src/internal/flubber/parse.d.ts +0 -4
- package/dist/src/internal/flubber/path-properties.d.ts +0 -4
- package/dist/src/internal/functions/areOptionsValueEqual.d.ts +2 -5
- package/dist/src/internal/functions/buildSelectItems.d.ts +2 -4
- package/dist/src/internal/functions/childrenToString.d.ts +3 -21
- package/dist/src/internal/functions/getActiveElement.d.ts +4 -0
- package/dist/src/internal/functions/getInitial.d.ts +3 -13
- package/dist/src/internal/functions/getKeyboardFocusableElements.d.ts +6 -30
- package/dist/src/internal/functions/inlineMarkdown.d.ts +3 -16
- package/dist/src/internal/functions/isThenable.d.ts +1 -1
- package/dist/src/internal/functions/kebabize.d.ts +3 -13
- package/dist/src/internal/functions/mapOrder.d.ts +4 -0
- package/dist/src/internal/functions/popoverTargetDomProps.d.ts +1 -1
- package/dist/src/internal/functions/portalScopeClassNames.d.ts +6 -13
- package/dist/src/internal/functions/safePopover.d.ts +2 -0
- package/dist/src/internal/functions/sizeToToken.d.ts +1 -0
- package/dist/src/internal/functions/stripInlineMarkdown.d.ts +3 -5
- package/dist/src/internal/functions/syncFilterUtils.d.ts +4 -2
- package/dist/src/internal/functions/warnOnce.d.ts +1 -2
- package/dist/src/internal/hooks/useBulkActionRunner.d.ts +4 -27
- package/dist/src/internal/hooks/useCommitSelectionIfChanged.d.ts +7 -14
- package/dist/src/internal/hooks/useConfirmationDraft.d.ts +4 -4
- package/dist/src/internal/hooks/useContainerQuery/useContainerQuery.d.ts +2 -33
- package/dist/src/internal/hooks/useDebouncedCallback/useDebouncedCallback.d.ts +3 -25
- package/dist/src/internal/hooks/useDialogScrollLock/useDialogScrollLock.d.ts +6 -31
- package/dist/src/internal/hooks/useDialogTransitionStates/useDialogTransitionStates.d.ts +2 -27
- package/dist/src/internal/hooks/useDownshiftEnvironment/useDownshiftEnvironment.d.ts +8 -24
- package/dist/src/internal/hooks/useFocusWithin/useFocusWithin.d.ts +3 -14
- package/dist/src/internal/hooks/useGroupedOptions.d.ts +4 -22
- package/dist/src/internal/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +4 -47
- package/dist/src/internal/hooks/useInvalidateOnOptionsChange.d.ts +2 -7
- package/dist/src/internal/hooks/useIsScrollable/useIsScrollable.d.ts +1 -5
- package/dist/src/internal/hooks/useKeyboardFocusables/useKeyboardFocusables.d.ts +1 -38
- package/dist/src/internal/hooks/useLayoutPropsUtil/useLayoutPropsUtil.d.ts +2 -38
- package/dist/src/internal/hooks/useNumberField/internal/createNumberMaskOptions.d.ts +2 -5
- package/dist/src/internal/hooks/useNumberField/internal/createTrailingZerosHandlers.d.ts +1 -2
- package/dist/src/internal/hooks/useNumberField/internal/numberMaskUtils.d.ts +0 -6
- package/dist/src/internal/hooks/useNumberField/internal/useNumberFieldInputMode.d.ts +2 -17
- package/dist/src/internal/hooks/useNumberField/internal/useNumberFieldKeys.d.ts +4 -30
- package/dist/src/internal/hooks/useNumberField/useNumberField.d.ts +19 -65
- package/dist/src/internal/hooks/useOnClickOutside/useOnClickOutside.d.ts +5 -33
- package/dist/src/internal/hooks/useOpenCloseTransitionStates/useOpenCloseTransitionStates.d.ts +4 -28
- package/dist/src/internal/hooks/useOptionallyControlledState/useOptionallyControlledState.d.ts +2 -46
- package/dist/src/internal/hooks/useOptionsSections.d.ts +4 -9
- package/dist/src/internal/hooks/usePinnedOptions.d.ts +4 -24
- package/dist/src/internal/hooks/usePlatform/usePlatform.d.ts +3 -50
- package/dist/src/internal/hooks/usePopoverCloseDelayWorkaround/usePopoverCloseDelayWorkaround.d.ts +4 -0
- package/dist/src/internal/hooks/usePopoverTransitionStates/usePopoverTransitionStates.d.ts +1 -21
- package/dist/src/internal/hooks/usePrevious/usePrevious.d.ts +1 -0
- package/dist/src/internal/hooks/useProcessedOptions.d.ts +2 -3
- package/dist/src/internal/hooks/useSelectFieldLoading/useSelectFieldLoading.d.ts +18 -61
- package/dist/src/internal/hooks/useSelectOrchestration.d.ts +4 -3
- package/dist/src/internal/hooks/useToggleSelection.d.ts +3 -3
- package/dist/src/internal/hooks/useTypeAhead/useTypeAhead.d.ts +3 -11
- package/dist/src/internal/testing/anvPartsContract.d.ts +9 -9
- package/dist/src/internal/testing/reactHostProps.d.ts +2 -2
- package/dist/src/internal/types/addNewItemTypes.d.ts +14 -16
- package/dist/src/internal/types/argTypes.d.ts +2 -0
- package/dist/src/internal/types/bulkActionTypes.d.ts +12 -41
- package/dist/src/internal/types/confirmationTypes.d.ts +6 -7
- package/dist/src/internal/types/optionContent.d.ts +6 -9
- package/dist/src/internal/types/props.d.ts +6 -1
- package/dist/src/internal/types/selectFieldInternalTypes.d.ts +10 -12
- package/dist/src/internal/utils/arrayIdsEqual.d.ts +1 -5
- package/dist/src/internal/utils/generateChromaticStickersheetProps.d.ts +4 -8
- package/dist/src/internal/utils/inlineMarkdownRegex.d.ts +0 -4
- package/dist/src/internal/utils/layerManager.d.ts +5 -28
- package/dist/src/internal/utils/uniquifySvgDomIds.d.ts +0 -2
- package/dist/src/providers/AnvilProvider/AnvilProvider.d.ts +4 -0
- package/dist/src/providers/AnvilProvider/AnvilProviderContext.d.ts +16 -6
- package/dist/src/providers/LocalizationProvider/LocalizationContext.d.ts +7 -0
- package/dist/src/providers/LocalizationProvider/LocalizationProvider.d.ts +6 -0
- package/dist/src/providers/LocalizationProvider/LocalizationStoryWrapper.d.ts +1 -0
- package/dist/src/providers/LocalizationProvider/useTranslations.d.ts +6 -0
- package/dist/src/providers/PortalProvider/PortalProvider.d.ts +1 -0
- package/dist/src/providers/PortalProvider/PortalProviderContext.d.ts +3 -0
- package/dist/src/providers/ThemeProvider/ThemeProvider.d.ts +16 -0
- package/dist/src/providers/ThemeProvider/index.d.ts +1 -1
- package/dist/src/providers/ThemeProvider/internal/ThemeProviderContext.d.ts +2 -0
- package/dist/src/providers/ThemeProvider/themeToCssVars.d.ts +3 -4
- package/dist/src/providers/ThemeProvider/useTheme.d.ts +5 -0
- package/dist/src/providers/TrackingProvider/TrackingProvider.d.ts +1 -0
- package/dist/src/providers/TrackingProvider/TrackingProviderContext.d.ts +7 -0
- package/dist/src/providers/TrackingProvider/useTrackingContext.d.ts +5 -0
- package/dist/src/themes/carto.d.ts +3 -43
- package/dist/src/types/DataTrackingId.d.ts +1 -0
- package/dist/src/types/DistributiveOmit.d.ts +1 -14
- package/dist/src/types/MaxLengthCounterProps.d.ts +4 -0
- package/dist/src/types/PassThroughProps.d.ts +3 -0
- package/dist/src/types/ai-marks.d.ts +14 -45
- package/dist/src/types/ianaZones.d.ts +2 -0
- package/dist/src/types/locales.d.ts +1 -0
- package/dist/src/types/props.d.ts +14 -16
- package/dist/{stripInlineMarkdown-82hVO9EP.js → stripInlineMarkdown-CosQSmBr.js} +2 -2
- package/dist/stripInlineMarkdown-CosQSmBr.js.map +1 -0
- package/dist/{syncFilterUtils-CKXbRZG8.js → syncFilterUtils-_uwyt6FD.js} +20 -19
- package/dist/syncFilterUtils-_uwyt6FD.js.map +1 -0
- package/dist/themes.js.map +1 -1
- package/dist/token/core/component-variables.scss +156 -0
- package/dist/token/core/component.d.ts +78 -0
- package/dist/token/core/component.js +1018 -0
- package/dist/token/core/component.scss +82 -0
- package/dist/token.js +1096 -0
- package/dist/token.js.map +1 -1
- package/dist/{treeSync-ONC4TbTR.js → treeSync-Bp80Xduj.js} +4 -4
- package/dist/{treeSync-ONC4TbTR.js.map → treeSync-Bp80Xduj.js.map} +1 -1
- package/dist/useAccessibleColor-BYKjkGRg.js.map +1 -1
- package/dist/useBreakpoint-BBNRlMGZ.js.map +1 -1
- package/dist/useDebouncedCallback-DLkapjcP.js.map +1 -1
- package/dist/useDialogScrollLock-BW-aVboo.js.map +1 -1
- package/dist/{useDrilldown-CicFEJpD.js → useDrilldown-D5XGfAUT.js} +3 -3
- package/dist/{useDrilldown-CicFEJpD.js.map → useDrilldown-D5XGfAUT.js.map} +1 -1
- package/dist/useFocusWithin-hi77jsrB.js.map +1 -1
- package/dist/{useInfiniteCombobox-DJoVEIk6.js → useInfiniteCombobox-ORhH44Rp.js} +6 -6
- package/dist/{useInfiniteCombobox-DJoVEIk6.js.map → useInfiniteCombobox-ORhH44Rp.js.map} +1 -1
- package/dist/{useInitialFocus-BIvXK1Rp.js → useInitialFocus-CGybEc6x.js} +2 -6
- package/dist/useInitialFocus-CGybEc6x.js.map +1 -0
- package/dist/useIntersectionObserver-BEmMDO3P.js.map +1 -1
- package/dist/{useInvalidateOnOptionsChange-C6tF7696.js → useInvalidateOnOptionsChange-ieSgbkwT.js} +4 -4
- package/dist/useInvalidateOnOptionsChange-ieSgbkwT.js.map +1 -0
- package/dist/useLayoutPropsUtil-DjqeAJZ9.js.map +1 -1
- package/dist/useMergeRefs-Dfmtq9cI.js.map +1 -1
- package/dist/useNumberField-CXFYUZ_n.js.map +1 -1
- package/dist/useOnClickOutside-Zw5vzxSq.js.map +1 -1
- package/dist/useOptionallyControlledState-DbDuos5L.js.map +1 -1
- package/dist/{usePopoverTransitionStates-B1opfxxn.js → usePopoverTransitionStates-CDXCdyKa.js} +2 -1
- package/dist/usePopoverTransitionStates-CDXCdyKa.js.map +1 -0
- package/dist/usePrefersColorScheme-CwOF0TjZ.js.map +1 -1
- package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +1 -1
- package/dist/usePrevious-Bvq-5auG.js.map +1 -1
- package/dist/useSize.js.map +1 -1
- package/dist/useSwipe-Cp-CJxLU.js.map +1 -1
- package/dist/useTheme-B4i6a3bM.js.map +1 -1
- package/dist/useTrackingContext-C522P4sv.js.map +1 -1
- package/dist/useTrackingId.js.map +1 -1
- package/dist/warnOnce-Y9PRHcU4.js.map +1 -1
- package/package.json +2 -2
- package/dist/AnvilProvider-D8msiELo.js.map +0 -1
- package/dist/Calendar-kSH8F7gx.js.map +0 -1
- package/dist/DataTable-D0YlJ7IA.js.map +0 -1
- package/dist/FieldLabel-CYCk2rz-.js.map +0 -1
- package/dist/FilterBar-CrIPZKvL.js.map +0 -1
- package/dist/ListView-Bkv1ZCSu.js.map +0 -1
- package/dist/Listbox-BWy_uBqm.js.map +0 -1
- package/dist/MenuFooter--lBF8OjJ.js.map +0 -1
- package/dist/MultiSelectFieldSync-gH-TQnq3.js.map +0 -1
- package/dist/SelectFieldLabel-CcX2GAym.js.map +0 -1
- package/dist/SelectOptions-BeehD5VV.js.map +0 -1
- package/dist/TimeField-DpnX_t31.js.map +0 -1
- package/dist/anvParts-BGg5dgfl.js +0 -43
- package/dist/anvParts-BGg5dgfl.js.map +0 -1
- package/dist/bulkActionTypes-Ct2cwT7b.js.map +0 -1
- package/dist/downshift.esm-xtSnQp44.js.map +0 -1
- package/dist/stripInlineMarkdown-82hVO9EP.js.map +0 -1
- package/dist/syncFilterUtils-CKXbRZG8.js.map +0 -1
- package/dist/useInitialFocus-BIvXK1Rp.js.map +0 -1
- package/dist/useInvalidateOnOptionsChange-C6tF7696.js.map +0 -1
- package/dist/usePopoverTransitionStates-B1opfxxn.js.map +0 -1
|
@@ -1,65 +1,18 @@
|
|
|
1
1
|
export interface UsePlatformReturnValue {
|
|
2
|
-
/** True if the user is on an iPhone */
|
|
3
2
|
isIPhone: boolean;
|
|
4
|
-
/** True if the user is on an iPad */
|
|
5
3
|
isIPad: boolean;
|
|
6
|
-
/** True if the user is on any iOS device (iPhone or iPad) */
|
|
7
4
|
isIOS: boolean;
|
|
8
|
-
/** True if the user is on a Mac computer */
|
|
9
5
|
isMac: boolean;
|
|
10
|
-
/** True if the user is on any Apple device (iPhone, iPad, or Mac) */
|
|
11
6
|
isAppleDevice: boolean;
|
|
12
|
-
/** True if the browser is WebKit-based (Safari, Chrome, etc.) */
|
|
13
7
|
isWebKit: boolean;
|
|
14
|
-
/** True if the browser is Chrome */
|
|
15
8
|
isChrome: boolean;
|
|
16
|
-
/** True if the browser is Firefox */
|
|
17
9
|
isFirefox: boolean;
|
|
18
|
-
/** True if the user is on an Android device */
|
|
19
10
|
isAndroid: boolean;
|
|
20
11
|
}
|
|
21
12
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* This hook provides platform and browser detection capabilities for implementing
|
|
25
|
-
* platform-specific behavior in components. It detects:
|
|
26
|
-
* - iOS devices (iPhone, iPad)
|
|
27
|
-
* - macOS computers
|
|
28
|
-
* - Android devices
|
|
29
|
-
* - WebKit-based browsers (Safari, Chrome)
|
|
30
|
-
* - Specific browsers (Chrome, Firefox)
|
|
31
|
-
*
|
|
32
|
-
* @internal This hook is not exported because it hasn't been rigorously tested.
|
|
33
|
-
*
|
|
34
|
-
* @returns Object containing boolean flags for different platforms and browsers
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* const {
|
|
38
|
-
* isIPhone,
|
|
39
|
-
* isIPad,
|
|
40
|
-
* isIOS,
|
|
41
|
-
* isMac,
|
|
42
|
-
* isAppleDevice,
|
|
43
|
-
* isWebKit,
|
|
44
|
-
* isChrome,
|
|
45
|
-
* isFirefox,
|
|
46
|
-
* isAndroid
|
|
47
|
-
* } = usePlatform();
|
|
48
|
-
*
|
|
49
|
-
* if (isIOS) {
|
|
50
|
-
* // Handle iOS-specific logic
|
|
51
|
-
* }
|
|
13
|
+
* Platform flags from {@link detectPlatform}. First render matches that helper
|
|
14
|
+
* (all false without `window`); an effect re-runs it after mount.
|
|
52
15
|
*/
|
|
53
16
|
export declare function usePlatform(): UsePlatformReturnValue;
|
|
54
|
-
/**
|
|
55
|
-
* Detects the current platform and browser based on user agent and platform information.
|
|
56
|
-
*
|
|
57
|
-
* This function analyzes the navigator.userAgent and navigator.platform to determine
|
|
58
|
-
* the user's device type and browser. It handles edge cases like:
|
|
59
|
-
* - MSStream detection for Windows Phone
|
|
60
|
-
* - iPad detection using maxTouchPoints
|
|
61
|
-
* - WebKit vs Chrome differentiation
|
|
62
|
-
*
|
|
63
|
-
* @returns Object containing boolean flags for different platforms and browsers
|
|
64
|
-
*/
|
|
17
|
+
/** Without `window`/`navigator`, every flag is false. */
|
|
65
18
|
export declare function detectPlatform(): UsePlatformReturnValue;
|
|
@@ -1,25 +1,5 @@
|
|
|
1
1
|
import { OpenCloseTransitionStateEffects } from '../useOpenCloseTransitionStates';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @property {() => void} [onOpenAnimationStart] - Callback when opening animation starts
|
|
5
|
-
* @property {() => void} [onCloseAnimationStart] - Callback when closing animation starts
|
|
6
|
-
* @property {() => void} [onOpenAnimationComplete] - Callback when opening animation completes
|
|
7
|
-
* @property {() => void} [onCloseAnimationComplete] - Callback when closing animation completes
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Custom hook for managing popover transition states and animations.
|
|
11
|
-
*
|
|
12
|
-
* Features:
|
|
13
|
-
* - Manages popover open/close transition states
|
|
14
|
-
* - Handles animation timing based on CSS animation duration
|
|
15
|
-
* - Provides callbacks for animation lifecycle events
|
|
16
|
-
* - Supports controlled popover state management
|
|
17
|
-
* - Automatically handles showPopover() and closePopover() calls
|
|
18
|
-
* - Provides utility flags for open/closed states
|
|
19
|
-
*
|
|
20
|
-
* @param popover - The popover element
|
|
21
|
-
* @param openProp - The open prop controlling popover visibility
|
|
22
|
-
* @param options - Additional, optional options including callbacks for animation start, complete, and initialization
|
|
23
|
-
* @returns Object containing popover state, control functions, and utility flags
|
|
3
|
+
* Times open/close transition state from the popover's CSS animation duration.
|
|
24
4
|
*/
|
|
25
5
|
export declare const usePopoverTransitionStates: (popover: HTMLElement | undefined, openProp: boolean | undefined, options?: OpenCloseTransitionStateEffects) => import('..').OpenCloseTransitionState;
|
|
@@ -7,9 +7,8 @@ type UseProcessedOptionsParams<TID extends string | number> = {
|
|
|
7
7
|
groupSorter?: (a: SelectFieldGroupByValue, b: SelectFieldGroupByValue) => number;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* useComboMultiple, useSelectModeMultiple).
|
|
10
|
+
* Combines pinned-option loading with grouped and ungrouped option
|
|
11
|
+
* normalization, then optionally sorts the groups.
|
|
13
12
|
*/
|
|
14
13
|
export declare const useProcessedOptions: <TID extends string | number>({ options, pinned, searchValue, groupToString, groupSorter, }: UseProcessedOptionsParams<TID>) => {
|
|
15
14
|
pinnedSections: import('./usePinnedOptions').NormalizedPinnedSection<TID>[];
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
import { SelectFieldOption, SelectFieldPropsLazyPage, SelectFieldPropsLazyOffset, SelectFieldPropsLazyGroup, SelectFieldPropsEager } from '../../../components/SelectField/types';
|
|
2
2
|
export declare const DEFAULT_PAGE_SIZE = 20;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* When enabled, the full accumulated state (options, pagination cursor, hasMore)
|
|
6
|
-
* is cached per search value, allowing instant restoration when returning to
|
|
7
|
-
* a previous search.
|
|
4
|
+
* Cache policy for per-search snapshots. Stays on unless `enabled` is `false`.
|
|
8
5
|
*/
|
|
9
6
|
export type CacheConfig = {
|
|
10
|
-
/**
|
|
11
|
-
* Whether caching is enabled. Defaults to true.
|
|
12
|
-
*/
|
|
7
|
+
/** Off only when `false`. Defaults to on. */
|
|
13
8
|
enabled?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Maximum number of search values to cache before clearing.
|
|
16
|
-
* Defaults to 15.
|
|
17
|
-
*/
|
|
9
|
+
/** Distinct search keys kept. Exceeding this wipes the map. Defaults to `15`. */
|
|
18
10
|
maxSize?: number;
|
|
19
11
|
};
|
|
20
12
|
type UseSelectFieldLoadingConfigLazyPage<TID extends string | number> = Pick<SelectFieldPropsLazyPage<TID>, "lazy" | "loadOptions"> & {
|
|
@@ -31,72 +23,37 @@ type UseSelectFieldLoadingConfigLazyGroup<TID extends string | number> = Pick<Se
|
|
|
31
23
|
type UseSelectFieldLoadingConfigEager<TID extends string | number> = Pick<SelectFieldPropsEager<TID>, "lazy" | "loadOptions"> & {
|
|
32
24
|
cache?: CacheConfig;
|
|
33
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* Discriminated by `lazy`: omitted/`false` is eager; `"page"` needs `pageSize`;
|
|
28
|
+
* `"offset"` needs `limit`; `"group"` pages by option `group`.
|
|
29
|
+
*/
|
|
34
30
|
export type UseSelectFieldLoadingConfig<TID extends string | number> = UseSelectFieldLoadingConfigLazyPage<TID> | UseSelectFieldLoadingConfigLazyOffset<TID> | UseSelectFieldLoadingConfigLazyGroup<TID> | UseSelectFieldLoadingConfigEager<TID>;
|
|
35
31
|
export type UseSelectFieldLoadingReturn<TID extends string | number> = {
|
|
36
|
-
/**
|
|
37
|
-
* Current loaded options array
|
|
38
|
-
*/
|
|
32
|
+
/** Replaced on `{ initial: true }`; appended on load-more. Empty until the first load. */
|
|
39
33
|
options: SelectFieldOption<TID>[];
|
|
40
|
-
/**
|
|
41
|
-
* Boolean indicating initial load in progress
|
|
42
|
-
*/
|
|
34
|
+
/** True only while an initial fetch is in flight. Sync eager loads skip this. */
|
|
43
35
|
loading: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Boolean indicating load more in progress
|
|
46
|
-
*/
|
|
36
|
+
/** True while a continuation fetch is in flight. */
|
|
47
37
|
loadingMore: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Boolean indicating if more options are available
|
|
50
|
-
*/
|
|
38
|
+
/** From the last lazy result; stays `false` in eager mode. */
|
|
51
39
|
hasMore: boolean;
|
|
52
40
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @param searchValue - The search value to load options for
|
|
56
|
-
* @param options - Optional configuration
|
|
57
|
-
* @param options.initial - Whether this is an initial load (replaces options) or continuation (appends options)
|
|
41
|
+
* `{ initial: true }` replaces options (or restores a cache hit). Otherwise
|
|
42
|
+
* appends.
|
|
58
43
|
*/
|
|
59
44
|
loadOptions: (searchValue: string, options?: {
|
|
60
45
|
initial?: boolean;
|
|
61
46
|
}) => Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Function to load more options (for pagination). Appends to existing options.
|
|
64
|
-
* @param searchValue - The search value to load more options for
|
|
65
|
-
*/
|
|
47
|
+
/** Same as `loadOptions(searchValue, { initial: false })`. */
|
|
66
48
|
loadMore: (searchValue: string) => Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Function to reset all state to initial values
|
|
69
|
-
*/
|
|
49
|
+
/** Clears options, pagination, and busy flags. Does not call `clearCache`. */
|
|
70
50
|
reset: () => void;
|
|
71
|
-
/**
|
|
72
|
-
* Function to clear the search results cache
|
|
73
|
-
*/
|
|
51
|
+
/** Drops cached searches. In-memory options stay. */
|
|
74
52
|
clearCache: () => void;
|
|
75
53
|
};
|
|
76
54
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* Features:
|
|
80
|
-
* - Manages option loading state (loading, loadingMore, hasMore)
|
|
81
|
-
* - Supports eager loading and three lazy loading modes (page, offset, group)
|
|
82
|
-
* - Handles pagination state tracking for lazy loading
|
|
83
|
-
* - Provides methods to load options (initial or continuation) and load more
|
|
84
|
-
* - Automatically manages option replacement vs appending based on load type
|
|
85
|
-
* - Tracks pagination state (page, offset, group) for lazy loading modes
|
|
86
|
-
* - Provides reset functionality to clear all state
|
|
87
|
-
*
|
|
88
|
-
* @param config - Configuration object containing lazy mode, loadOptions function, and pagination settings
|
|
89
|
-
* @returns Object containing options, loading states, and load functions
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* const { options, loading, loadingMore, hasMore, loadOptions, loadMore } = useSelectFieldLoading({
|
|
93
|
-
* lazy: "page",
|
|
94
|
-
* loadOptions: async (searchValue, page, pageSize) => {
|
|
95
|
-
* const result = await fetchOptions(searchValue, page, pageSize);
|
|
96
|
-
* return { options: result.items, hasMore: result.hasMore };
|
|
97
|
-
* },
|
|
98
|
-
* pageSize: 10
|
|
99
|
-
* });
|
|
55
|
+
* Loads SelectField options for eager or lazy (`page` / `offset` / `group`)
|
|
56
|
+
* modes. Starts empty; callers must invoke `loadOptions`.
|
|
100
57
|
*/
|
|
101
58
|
export declare function useSelectFieldLoading<TID extends string | number>(config: UseSelectFieldLoadingConfig<TID>): UseSelectFieldLoadingReturn<TID>;
|
|
102
59
|
export {};
|
|
@@ -18,9 +18,10 @@ export type UseSelectOrchestrationConfig = {
|
|
|
18
18
|
}>;
|
|
19
19
|
};
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* and
|
|
21
|
+
* Resolves menu surface and initial-load mode, then wires option loading and
|
|
22
|
+
* an imperative `clearCache` / `invalidate` handle. `displayMenuAs: "auto"` is
|
|
23
|
+
* dialog on mobile and popover otherwise; `initialLoad: "auto"` is immediate.
|
|
24
|
+
* `invalidate` also resets `initialLoadPerformed`.
|
|
24
25
|
*/
|
|
25
26
|
export declare function useSelectOrchestration<TID extends string | number>(config: UseSelectOrchestrationConfig): {
|
|
26
27
|
displayAs: "dialog" | "popover";
|
|
@@ -7,9 +7,9 @@ type UseToggleSelectionParams<TID extends string | number> = {
|
|
|
7
7
|
onSelectedOptionsChange: (options: SelectFieldOption<TID>[]) => void;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* Toggles an option in a multi-select list. Adding looks up the full option in
|
|
11
|
+
* `options`, then pinned sections; ids in neither are not added. Removing
|
|
12
|
+
* matches by id only.
|
|
13
13
|
*/
|
|
14
14
|
export declare const useToggleSelection: <TID extends string | number>({ options, pinnedSections, selectedOptions, onSelectedOptionsChange, }: UseToggleSelectionParams<TID>) => {
|
|
15
15
|
handleItemClick: (option: {
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Accumulates typed characters for list/menu keyboard matching. Starts as `""`
|
|
3
|
+
* and clears `timeout` ms after the last character (default `750`).
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
* - Accumulates typed characters with automatic timeout clearing
|
|
6
|
-
* - Provides type-ahead string for keyboard navigation
|
|
7
|
-
* - Automatically resets after specified timeout period
|
|
8
|
-
* - Supports customizable timeout duration
|
|
9
|
-
* - Uses useEffect for automatic cleanup
|
|
10
|
-
* - Optimized for keyboard navigation in lists and menus
|
|
11
|
-
*
|
|
12
|
-
* @param timeout - Timeout duration in milliseconds before clearing the type-ahead string
|
|
13
|
-
* @returns Tuple containing current type-ahead string and function to update it
|
|
5
|
+
* @returns `[query, append]` — `append` concatenates; it does not replace.
|
|
14
6
|
*/
|
|
15
7
|
export declare const useTypeAhead: (timeout?: number) => [string, (char: string) => void];
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
type PartsRecord = Record<string, string>;
|
|
2
2
|
type PartKey<T extends PartsRecord> = Extract<keyof T, string>;
|
|
3
|
+
/**
|
|
4
|
+
* Presence/absence checks against a PARTS map. `count` overrides `minCount`
|
|
5
|
+
* for the same key (`minCount` defaults to 1). Omitting `present` skips
|
|
6
|
+
* presence checks; `absent` still runs.
|
|
7
|
+
*/
|
|
3
8
|
export type ExpectAnvPartsOptions<T extends PartsRecord> = {
|
|
4
|
-
/** Part keys that must be present in `scope` (default: at least one match). */
|
|
5
9
|
present?: PartKey<T>[];
|
|
6
|
-
/** Part keys that must not appear in `scope`. */
|
|
7
10
|
absent?: PartKey<T>[];
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
12
|
+
* Query root. Defaults to `document.body` so portaled parts are found
|
|
13
|
+
* without a wrapper.
|
|
11
14
|
*/
|
|
12
15
|
scope?: ParentNode;
|
|
13
|
-
/** Exact match count for a present key. */
|
|
14
16
|
count?: Partial<Record<PartKey<T>, number>>;
|
|
15
|
-
/** Minimum match count for a present key (ignored when `count` is set). */
|
|
16
17
|
minCount?: Partial<Record<PartKey<T>, number>>;
|
|
17
18
|
};
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* renames in `parts.ts` fail the contract instead of silently drifting.
|
|
20
|
+
* Asserts `data-anv-part` values from a PARTS map. Prefer this over
|
|
21
|
+
* hard-coded attribute strings so `parts.ts` renames fail the contract.
|
|
22
22
|
*/
|
|
23
23
|
export declare function expectAnvParts<T extends PartsRecord>(parts: T, options?: ExpectAnvPartsOptions<T>): void;
|
|
24
24
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Reads the props object React 18 attaches to a host DOM node.
|
|
3
|
+
* Use to assert camelCase props React 18 does not recognize were not passed.
|
|
4
4
|
*/
|
|
5
5
|
export declare function getReactHostProps(el: Element): Record<string, unknown>;
|
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
|
-
* Shared
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @property addItemLabel - Label rendered inside the "Add new item" button. May be a static node or a callback that receives the current search text and returns a dynamic label (e.g. `Add "${searchText}"`). When the callback returns `null` or `undefined`, the button is not rendered. When omitted but `onAddNewItem` is provided, falls back to `"Add new item"`.
|
|
7
|
-
* @property onAddNewItem - Click handler for the "Add new item" button. Presence of this prop is what gates rendering the button (unless `addItemLabel` is a callback that returns `null`/`undefined` for the current search text). Receives the current search text. The menu auto-closes synchronously on click; the handler runs immediately after — typically opening a Dialog or Drawer to collect the new item's details. Consumers manage their own overlay presentation, focus return, option list updates, and selection state.
|
|
3
|
+
* Shared "Add new item" affordance. The button mounts when `onAddNewItem` is
|
|
4
|
+
* set and {@link resolveAddItemLabel} returns a node.
|
|
8
5
|
*/
|
|
9
6
|
export type AddNewItemProps = {
|
|
7
|
+
/**
|
|
8
|
+
* Button label. A callback receives the current search text and may return
|
|
9
|
+
* `null`/`undefined` to hide the button. Omitted static labels fall back to
|
|
10
|
+
* `"Add new item"`.
|
|
11
|
+
*/
|
|
10
12
|
addItemLabel?: ReactNode | ((searchText: string) => ReactNode);
|
|
13
|
+
/**
|
|
14
|
+
* Called with the current search text after the host menu closes. Consumers
|
|
15
|
+
* own overlay, list, and selection updates.
|
|
16
|
+
*/
|
|
11
17
|
onAddNewItem?: (searchText: string) => void;
|
|
12
18
|
};
|
|
13
|
-
/**
|
|
14
|
-
* Resolves the add-new button label for the current search text.
|
|
15
|
-
*
|
|
16
|
-
* - Callback labels: returns the callback result, or `null` when the callback
|
|
17
|
-
* returns `null`/`undefined` (button should be hidden).
|
|
18
|
-
* - Static / omitted labels: returns the static node, or `"Add new item"` when
|
|
19
|
-
* omitted.
|
|
20
|
-
*/
|
|
19
|
+
/** Resolves the add-new button label for the current search text. */
|
|
21
20
|
export declare function resolveAddItemLabel(addItemLabel: AddNewItemProps["addItemLabel"], searchText: string): ReactNode | null;
|
|
22
21
|
/**
|
|
23
|
-
* Whether the add-new button should
|
|
24
|
-
*
|
|
25
|
-
* a label callback hides the button.
|
|
22
|
+
* Whether the add-new button should mount. Hosts use this so an empty footer
|
|
23
|
+
* (and its divider) is not rendered when a label callback hides the button.
|
|
26
24
|
*/
|
|
27
25
|
export declare function shouldShowAddNewItem(onAddNewItem: AddNewItemProps["onAddNewItem"], addItemLabel: AddNewItemProps["addItemLabel"], searchText: string): boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** Storybook `argTypes` that bucket layout-utility props under "Layout Props". */
|
|
1
2
|
export declare const argTypesLayoutProps: {
|
|
2
3
|
alignContent: {
|
|
3
4
|
table: {
|
|
@@ -125,6 +126,7 @@ export declare const argTypesLayoutProps: {
|
|
|
125
126
|
};
|
|
126
127
|
};
|
|
127
128
|
};
|
|
129
|
+
/** Storybook `argTypes` that bucket breakpoint size props under "Responsive Sizes". */
|
|
128
130
|
export declare const argTypesResponsiveSizes: {
|
|
129
131
|
sm: {
|
|
130
132
|
table: {
|
|
@@ -1,58 +1,33 @@
|
|
|
1
1
|
import { CheckState } from '../../types';
|
|
2
2
|
import { SelectFieldOption } from '../../components/SelectField/types';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Accepts a static value (`boolean` shorthand or a full `CheckState`) or a
|
|
7
|
-
* function that derives the state from the current selection. The function
|
|
8
|
-
* form is resolved against the live selection (the confirmation draft when
|
|
9
|
-
* confirmation is enabled, otherwise the committed value), so the row's
|
|
10
|
-
* checkbox can reflect how much of the set is currently selected — e.g.
|
|
11
|
-
* `checked` when everything is selected, `indeterminate` when some is, and
|
|
12
|
-
* `unchecked` when none is. This is the async equivalent of the automatic
|
|
13
|
-
* check-state behavior the `*Sync` variants provide.
|
|
4
|
+
* Row checkbox state, or a function of the current selection. Boolean
|
|
5
|
+
* shorthand is resolved by {@link resolveBulkActionCheckState}.
|
|
14
6
|
*/
|
|
15
7
|
export type BulkActionCheckState<TID extends string | number = string | number> = boolean | CheckState | ((current: SelectFieldOption<TID>[]) => boolean | CheckState);
|
|
16
8
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* confirmation is enabled, otherwise the committed value).
|
|
9
|
+
* Static text or derived from the current selection. Omitted config labels
|
|
10
|
+
* become `"Select All"`.
|
|
20
11
|
*/
|
|
21
12
|
export type BulkActionLabel<TID extends string | number = string | number> = string | ((current: SelectFieldOption<TID>[]) => string);
|
|
22
13
|
/**
|
|
23
|
-
*
|
|
24
|
-
* MultiSelectMenu or MultiSelectField.
|
|
25
|
-
*
|
|
26
|
-
* Choose exactly one of `onClick` or `compute`:
|
|
27
|
-
*
|
|
28
|
-
* - **`onClick`** — the row fires the callback; the consumer commits the next
|
|
29
|
-
* selection themselves via `onSelectedOptionsChange`. Simple and familiar.
|
|
30
|
-
* When `confirmation` is enabled, `onClick` bypasses the menu's draft layer
|
|
31
|
-
* (the menu warns once in development).
|
|
32
|
-
* - **`compute`** — the menu invokes `compute(currentDraft)` and writes the
|
|
33
|
-
* result into the draft (or commits it, when confirmation is off). `compute`
|
|
34
|
-
* may return a `Promise<SelectFieldOption[]>`; while the promise is pending
|
|
35
|
-
* the menu shows a loading state, disables all option rows, and disables
|
|
36
|
-
* Apply.
|
|
37
|
-
*
|
|
38
|
-
* `checkState` accepts a static value (a `boolean` shorthand or a full
|
|
39
|
-
* `CheckState`) or a function that derives the state from the current
|
|
40
|
-
* selection, so the row's checkbox can reflect how much of the set is selected.
|
|
14
|
+
* Select-All / Select-Filtered row. Exactly one of `onClick` or `compute`.
|
|
41
15
|
*/
|
|
42
16
|
export type BulkActionConfig<TID extends string | number> = {
|
|
43
17
|
label?: BulkActionLabel<TID>;
|
|
44
18
|
checkState: BulkActionCheckState<TID>;
|
|
19
|
+
/** Consumer commits the next selection. */
|
|
45
20
|
onClick: () => void;
|
|
46
21
|
compute?: never;
|
|
47
22
|
} | {
|
|
48
23
|
label?: BulkActionLabel<TID>;
|
|
49
24
|
checkState: BulkActionCheckState<TID>;
|
|
25
|
+
/** Next selection from the current one; may be async. */
|
|
50
26
|
compute: (current: SelectFieldOption<TID>[]) => SelectFieldOption<TID>[] | Promise<SelectFieldOption<TID>[]>;
|
|
51
27
|
onClick?: never;
|
|
52
28
|
};
|
|
53
29
|
/**
|
|
54
|
-
* Normalized form
|
|
55
|
-
* been resolved to a `CheckState`.
|
|
30
|
+
* Normalized form after `checkState`'s boolean shorthand is a `CheckState`.
|
|
56
31
|
*/
|
|
57
32
|
export type ResolvedBulkAction<TID extends string | number = string | number> = {
|
|
58
33
|
label?: string;
|
|
@@ -61,14 +36,10 @@ export type ResolvedBulkAction<TID extends string | number = string | number> =
|
|
|
61
36
|
compute?: (current: SelectFieldOption<TID>[]) => SelectFieldOption<TID>[] | Promise<SelectFieldOption<TID>[]>;
|
|
62
37
|
};
|
|
63
38
|
/**
|
|
64
|
-
* Resolves
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* The `boolean` shorthand maps `true → "checked"` and `false → "unchecked"`;
|
|
68
|
-
* a `CheckState` is passed through, defaulting to `"indeterminate"`.
|
|
39
|
+
* Resolves {@link BulkActionCheckState} to a {@link CheckState}.
|
|
40
|
+
* `true` → `"checked"`, `false` → `"unchecked"`; other values pass through,
|
|
41
|
+
* defaulting to `"indeterminate"`.
|
|
69
42
|
*/
|
|
70
43
|
export declare function resolveBulkActionCheckState<TID extends string | number>(checkState: BulkActionCheckState<TID>, current: SelectFieldOption<TID>[]): CheckState;
|
|
71
|
-
/**
|
|
72
|
-
* Resolves a `BulkActionLabel` into a display string.
|
|
73
|
-
*/
|
|
44
|
+
/** Resolves {@link BulkActionLabel} to a string. */
|
|
74
45
|
export declare function resolveBulkActionLabel<TID extends string | number>(label: BulkActionLabel<TID> | undefined, current: SelectFieldOption<TID>[], fallback?: string): string;
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Opt-in confirmation
|
|
3
|
-
*
|
|
4
|
-
* When set, selection changes are held as a draft inside the open menu and
|
|
5
|
-
* only commit to the controlled `value` when the user clicks Apply. Dismissing
|
|
6
|
-
* the menu (Escape, click outside, toggling the trigger) discards the draft.
|
|
7
|
-
*
|
|
8
|
-
* `true` enables the default Apply/Cancel labels. Pass an object to customize.
|
|
2
|
+
* Opt-in Apply/Cancel confirmation. `true` uses default labels; an object
|
|
3
|
+
* customizes them. Falsy leaves confirmation off.
|
|
9
4
|
*/
|
|
10
5
|
export type ConfirmationProp = boolean | {
|
|
6
|
+
/** Apply-button text. Defaults to `"Apply"`. */
|
|
11
7
|
applyLabel?: string;
|
|
8
|
+
/** Cancel-button text. Defaults to `"Cancel"`. */
|
|
12
9
|
cancelLabel?: string;
|
|
13
10
|
};
|
|
11
|
+
/** Enabled flag and labels after {@link resolveConfirmation}. */
|
|
14
12
|
export type ResolvedConfirmation = {
|
|
15
13
|
enabled: boolean;
|
|
16
14
|
applyLabel: string;
|
|
17
15
|
cancelLabel: string;
|
|
18
16
|
};
|
|
17
|
+
/** Maps a {@link ConfirmationProp} to enabled + `"Apply"` / `"Cancel"` defaults. */
|
|
19
18
|
export declare const resolveConfirmation: (prop: ConfirmationProp | undefined) => ResolvedConfirmation;
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import { AvatarProps, ChipProps, IconProps } from '../../components';
|
|
2
|
-
/**
|
|
3
|
-
* Shared content shape for option rows in SelectField, MultiSelectField, and TreeSelectField.
|
|
4
|
-
* @property title - Overrides the option label text when provided.
|
|
5
|
-
* @property description - Secondary text displayed below the title in a subdued color.
|
|
6
|
-
* @property chips - Tags displayed below the description.
|
|
7
|
-
* @property avatar - Avatar displayed to the left of the text content.
|
|
8
|
-
* @property icon - Icon displayed to the right of the text content.
|
|
9
|
-
*/
|
|
10
2
|
export type OptionContent = {
|
|
3
|
+
/** Replaces the option's `label` when set. */
|
|
11
4
|
title?: string;
|
|
5
|
+
/** Secondary line under the title. */
|
|
12
6
|
description?: string;
|
|
7
|
+
/** Tags after the title/description block. */
|
|
13
8
|
chips?: Pick<ChipProps, "label" | "color" | "textWrap">[];
|
|
9
|
+
/** Leading avatar. */
|
|
14
10
|
avatar?: Pick<AvatarProps, "name" | "status" | "color" | "image">;
|
|
11
|
+
/** Trailing icon, opposite the avatar. */
|
|
15
12
|
icon?: Pick<IconProps, "svg" | "color"> & {
|
|
16
|
-
/** Accessible
|
|
13
|
+
/** Accessible name. When omitted, the icon is decorative. */
|
|
17
14
|
label?: string;
|
|
18
15
|
};
|
|
19
16
|
};
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { LabelProps } from '../components';
|
|
2
2
|
import { AiMarkWithTooltipOrPopoverProps } from '../../types/ai-marks';
|
|
3
|
+
/**
|
|
4
|
+
* Field-level `moreInfo` / `required`, plus leftover label config via
|
|
5
|
+
* `labelProps` (those two stay on the field, not nested).
|
|
6
|
+
*/
|
|
3
7
|
export type FieldLabelProps = Pick<LabelProps, "moreInfo" | "required"> & {
|
|
4
8
|
/**
|
|
5
|
-
*
|
|
9
|
+
* Extra label props except `children`, `moreInfo`, `required`, `id`, and
|
|
10
|
+
* `htmlFor`.
|
|
6
11
|
*/
|
|
7
12
|
labelProps?: Omit<LabelProps, "children" | "moreInfo" | "required" | "id" | "htmlFor"> & AiMarkWithTooltipOrPopoverProps;
|
|
8
13
|
};
|
|
@@ -3,20 +3,17 @@ import { AiMarkWithTooltipOrPopoverProps, CheckState, DataAttributes } from '../
|
|
|
3
3
|
import { SelectFieldOption, SelectFieldProps } from '../../components/SelectField/types';
|
|
4
4
|
import { AddNewItemProps } from './addNewItemTypes';
|
|
5
5
|
import { ResolvedConfirmation } from './confirmationTypes';
|
|
6
|
-
/**
|
|
7
|
-
* Metadata about list sections for rendering purposes.
|
|
8
|
-
* Used by SelectOptions, MultiSelectOptions, and their Menu counterparts to render section headers and dividers.
|
|
9
|
-
* @property type - The type of section ("pinned" for pinned options, "group" for grouped options)
|
|
10
|
-
* @property label - Section label (e.g., "Recent", "Favorites", or group name)
|
|
11
|
-
* @property startIndex - Index in items where this section starts
|
|
12
|
-
* @property endIndex - Index where this section ends (exclusive)
|
|
13
|
-
* @property loading - Whether this section is still loading its options (pinned sections only)
|
|
14
|
-
*/
|
|
6
|
+
/** Indexed slice of flattened select items for a pinned or group header. */
|
|
15
7
|
export type SectionMeta = {
|
|
8
|
+
/** `"pinned"` vs `"group"` header. */
|
|
16
9
|
type: "pinned" | "group";
|
|
10
|
+
/** Header text. */
|
|
17
11
|
label: string;
|
|
12
|
+
/** Inclusive start in the flattened `items` array. */
|
|
18
13
|
startIndex: number;
|
|
14
|
+
/** Exclusive end in the flattened `items` array. */
|
|
19
15
|
endIndex: number;
|
|
16
|
+
/** Pinned sections may still render while empty and loading. */
|
|
20
17
|
loading?: boolean;
|
|
21
18
|
};
|
|
22
19
|
export type SelectFieldBaseInternalProps<TID extends string | number> = {
|
|
@@ -73,13 +70,14 @@ export type SelectFieldComboboxInternalProps<TID extends string | number> = Sele
|
|
|
73
70
|
debounceMs: number;
|
|
74
71
|
};
|
|
75
72
|
/**
|
|
76
|
-
* Loose prop
|
|
77
|
-
*
|
|
78
|
-
*
|
|
73
|
+
* Loose prop getters compatible with downshift `useCombobox` and `useSelect`.
|
|
74
|
+
* `any` is intentional: the runtime shapes match, the compile-time generics do
|
|
75
|
+
* not.
|
|
79
76
|
*/
|
|
80
77
|
export type GetMenuPropsFn = (...args: any[]) => any;
|
|
81
78
|
export type GetItemPropsFn = (...args: any[]) => any;
|
|
82
79
|
export type GetLabelPropsFn = (...args: any[]) => any;
|
|
80
|
+
/** Flattened list row: option, pinned/grouped copy, or bulk-action row. */
|
|
83
81
|
export type SelectItem<TID extends string | number = string | number> = {
|
|
84
82
|
id: string | number;
|
|
85
83
|
type: "option" | "pinned-option" | "grouped-option" | "select-all" | "select-filtered";
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Used as the `isEqual` comparator for `useConfirmationDraft` so that a draft
|
|
5
|
-
* is considered unchanged when it holds the same set of selected items as the
|
|
6
|
-
* committed value, regardless of order.
|
|
2
|
+
* Checks equal lengths and whether every ID in `b` occurs in `a`, ignoring order.
|
|
7
3
|
*/
|
|
8
4
|
export declare function arrayIdsEqual<T extends {
|
|
9
5
|
id: string | number;
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
+
/** Maps each prop to the values included in stickersheet combinations. */
|
|
1
2
|
export type OptionsObject<P extends Record<string, unknown>> = {
|
|
2
3
|
[K in keyof P]: P[K][];
|
|
3
4
|
};
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @param props - The component props used to generate variations for the stickersheet.
|
|
10
|
-
* @param labelFormatter - A function to format the label for the prop.
|
|
11
|
-
* @param propsFormatter - A function to format the props. Return `false` to exclude a variation.
|
|
12
|
-
* @returns An array of props that can be used to create a stickersheet for Chromatic.
|
|
6
|
+
* Builds the Cartesian product of prop options for a Chromatic stickersheet.
|
|
7
|
+
* Labels omit `false` and `undefined` options; a props formatter can reshape or
|
|
8
|
+
* exclude each variation.
|
|
13
9
|
*/
|
|
14
10
|
export declare const generateChromaticStickersheetProps: <P extends Record<string, unknown>, T extends OptionsObject<P> = OptionsObject<P>>(props?: Partial<T>, labelFormatter?: (values: Record<keyof T, unknown>) => string, propsFormatter?: (values: Record<keyof T, unknown>) => Record<string, unknown> | false) => (P & {
|
|
15
11
|
label: string;
|