@servicetitan/anvil2 3.15.2 → 3.16.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/{AiMark-N8UfGfcV.js → AiMark-BfmK30vL.js} +2 -2
- package/dist/{AiMark-N8UfGfcV.js.map → AiMark-BfmK30vL.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-DTKIlitZ.js → Alert-lLo1N7Tj.js} +2 -2
- package/dist/{Alert-DTKIlitZ.js.map → Alert-lLo1N7Tj.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-Cnz80WGx.js → Announcement-PfnsVVz1.js} +5 -2
- package/dist/Announcement-PfnsVVz1.js.map +1 -0
- package/dist/Announcement.js +1 -1
- package/dist/{Breadcrumbs-B8UGx4Mq.js → Breadcrumbs-RdL4Fvmu.js} +2 -2
- package/dist/{Breadcrumbs-B8UGx4Mq.js.map → Breadcrumbs-RdL4Fvmu.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Calendar-Cv07q_tE.js → Calendar-DoLRAWLp.js} +2 -2
- package/dist/{Calendar-Cv07q_tE.js.map → Calendar-DoLRAWLp.js.map} +1 -1
- package/dist/{Calendar-CpmaI3b6.js → Calendar-IzXG1aJw.js} +2 -2
- package/dist/{Calendar-CpmaI3b6.js.map → Calendar-IzXG1aJw.js.map} +1 -1
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-cB0D9W0a.js → Checkbox-CVxbe-iN.js} +3 -3
- package/dist/{Checkbox-cB0D9W0a.js.map → Checkbox-CVxbe-iN.js.map} +1 -1
- package/dist/{Checkbox-jomKCuAj.js → Checkbox-U-kuWhgc.js} +2 -2
- package/dist/{Checkbox-jomKCuAj.js.map → Checkbox-U-kuWhgc.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-DivZ3OuB.js → Chip-2OydLs66.js} +2 -2
- package/dist/{Chip-DivZ3OuB.js.map → Chip-2OydLs66.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-_XXxSbvH.js → DataTable-DIXP9-Bx.js} +7 -7
- package/dist/{DataTable-_XXxSbvH.js.map → DataTable-DIXP9-Bx.js.map} +1 -1
- package/dist/{DateFieldRange-31zIfcR2.js → DateFieldRange-X2jdOTYY.js} +4 -4
- package/dist/{DateFieldRange-31zIfcR2.js.map → DateFieldRange-X2jdOTYY.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-DDFe1inZ.js → DateFieldSingle-BJ16tpOz.js} +4 -4
- package/dist/{DateFieldSingle-DDFe1inZ.js.map → DateFieldSingle-BJ16tpOz.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-Cv34myLZ.js → DateFieldYearless-CMm8vtz_.js} +4 -4
- package/dist/{DateFieldYearless-Cv34myLZ.js.map → DateFieldYearless-CMm8vtz_.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-D_ftkt3w.js → DateFieldYearlessRange-BHHs-Z1Q.js} +3 -3
- package/dist/{DateFieldYearlessRange-D_ftkt3w.js.map → DateFieldYearlessRange-BHHs-Z1Q.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-D4tUHUay.js → DaysOfTheWeek-BHXxs0Bo.js} +2 -2
- package/dist/{DaysOfTheWeek-D4tUHUay.js.map → DaysOfTheWeek-BHXxs0Bo.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-B2QAFibn.js → Dialog-_tHqOsbr.js} +4 -4
- package/dist/{Dialog-B2QAFibn.js.map → Dialog-_tHqOsbr.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-CBIOWwh3.js → Drawer-D-ThWNp0.js} +4 -4
- package/dist/{Drawer-CBIOWwh3.js.map → Drawer-D-ThWNp0.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-Q6WlsM4O.js → EditCard-B6l2vhBS.js} +2 -2
- package/dist/{EditCard-Q6WlsM4O.js.map → EditCard-B6l2vhBS.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-FsNIjn8T.js → FieldLabel-ThEmUiAq.js} +2 -2
- package/dist/{FieldLabel-FsNIjn8T.js.map → FieldLabel-ThEmUiAq.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/{FilterBar-PXv7_svO.js → FilterBar-CGsDg6Hy.js} +18 -16
- package/dist/FilterBar-CGsDg6Hy.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/{InputMask-BgZX650-.js → InputMask-BQigi5oW.js} +3 -3
- package/dist/{InputMask-BgZX650-.js.map → InputMask-BQigi5oW.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{ListView-aRwUEGI3.js → ListView-YJscfG4x.js} +2 -2
- package/dist/{ListView-aRwUEGI3.js.map → ListView-YJscfG4x.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-BCszel4v.js → Listbox-CD9ZptSZ.js} +2 -2
- package/dist/{Listbox-BCszel4v.js.map → Listbox-CD9ZptSZ.js.map} +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-DY5wr7cT.js → MultiSelectFieldSync-Cq5sena6.js} +28 -28
- package/dist/{MultiSelectFieldSync-DY5wr7cT.js.map → MultiSelectFieldSync-Cq5sena6.js.map} +1 -1
- package/dist/MultiSelectFieldSync.css +71 -70
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-D3sfHivW.js → MultiSelectMenuSync-BhNXsgAN.js} +4 -4
- package/dist/{MultiSelectMenuSync-D3sfHivW.js.map → MultiSelectMenuSync-BhNXsgAN.js.map} +1 -1
- package/dist/{NumberField-CrvEEy_h.js → NumberField-CxmJx4gs.js} +3 -3
- package/dist/{NumberField-CrvEEy_h.js.map → NumberField-CxmJx4gs.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-CS6x6C7Y.js → Page-ZSHNJs7z.js} +8 -8
- package/dist/{Page-CS6x6C7Y.js.map → Page-ZSHNJs7z.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-DianLtHs.js → Pagination-Bsl99RRI.js} +5 -3
- package/dist/{Pagination-DianLtHs.js.map → Pagination-Bsl99RRI.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-BsEwcuu4.js → Popover-CIh1CsoJ.js} +2 -2
- package/dist/{Popover-BsEwcuu4.js.map → Popover-CIh1CsoJ.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-0pebwBJ0.js → ProgressBar-zPKYv4Il.js} +11 -14
- package/dist/ProgressBar-zPKYv4Il.js.map +1 -0
- package/dist/ProgressBar.css +10 -14
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-BxXN612_.js → Radio-BYowelK2.js} +3 -3
- package/dist/{Radio-BxXN612_.js.map → Radio-BYowelK2.js.map} +1 -1
- package/dist/{Radio-CU2--1uW.js → Radio-C1VnatcL.js} +2 -2
- package/dist/{Radio-CU2--1uW.js.map → Radio-C1VnatcL.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-Dnc7vOjq.js → RichTextEditor-DcAVqd2d.js} +8 -8
- package/dist/{RichTextEditor-Dnc7vOjq.js.map → RichTextEditor-DcAVqd2d.js.map} +1 -1
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-BWlE7UnI.js → SavedFiltersButton-BLvi8j1T.js} +9 -9
- package/dist/{SavedFiltersButton-BWlE7UnI.js.map → SavedFiltersButton-BLvi8j1T.js.map} +1 -1
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SelectCard-D2PAyR7T.js → SelectCard-DrmMU_GD.js} +3 -3
- package/dist/{SelectCard-D2PAyR7T.js.map → SelectCard-DrmMU_GD.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-BXJJQ0zt.js → SelectFieldLabel-BxsKvfqo.js} +2 -2
- package/dist/{SelectFieldLabel-BXJJQ0zt.js.map → SelectFieldLabel-BxsKvfqo.js.map} +1 -1
- package/dist/{SelectFieldSync-CkWoMhrv.js → SelectFieldSync-CeazN-gI.js} +37 -10
- package/dist/SelectFieldSync-CeazN-gI.js.map +1 -0
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-C-6mULc_.js → SelectMenuSync-CPpE6vUG.js} +4 -4
- package/dist/{SelectMenuSync-C-6mULc_.js.map → SelectMenuSync-CPpE6vUG.js.map} +1 -1
- package/dist/{SelectOptions-pAkVhulQ.js → SelectOptions-BDAu_9dv.js} +2 -2
- package/dist/{SelectOptions-pAkVhulQ.js.map → SelectOptions-BDAu_9dv.js.map} +1 -1
- package/dist/{SelectTrigger-B9WUUdIu.js → SelectTrigger-B4OUTO9S.js} +2 -2
- package/dist/{SelectTrigger-B9WUUdIu.js.map → SelectTrigger-B4OUTO9S.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-Dq7QDlPS.js → SelectTriggerBase-BTWSaiQ-.js} +4 -4
- package/dist/{SelectTriggerBase-Dq7QDlPS.js.map → SelectTriggerBase-BTWSaiQ-.js.map} +1 -1
- package/dist/SelectTriggerBase.css +51 -50
- package/dist/SelectTriggerBase.module-Dt4-6YvC.js +40 -0
- package/dist/SelectTriggerBase.module-Dt4-6YvC.js.map +1 -0
- package/dist/{Switch-BS4bw5KF.js → Switch-1iNdXTik.js} +2 -2
- package/dist/{Switch-BS4bw5KF.js.map → Switch-1iNdXTik.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-B_-Ldn9K.js → Text-rihxXHSe.js} +2 -2
- package/dist/{Text-B_-Ldn9K.js.map → Text-rihxXHSe.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-B6tVKoxq.js → TextField-Bxd-Qzoi.js} +2 -2
- package/dist/{TextField-B6tVKoxq.js.map → TextField-Bxd-Qzoi.js.map} +1 -1
- package/dist/{TextField-DxQ6-IhP.js → TextField-vuS7xeo-.js} +3 -3
- package/dist/{TextField-DxQ6-IhP.js.map → TextField-vuS7xeo-.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-oChzBuWz.js → Textarea-ppapJUwh.js} +3 -3
- package/dist/{Textarea-oChzBuWz.js.map → Textarea-ppapJUwh.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{TimeField-Dq7l8xNU.js → TimeField-Hwt_oRbg.js} +4 -4
- package/dist/{TimeField-Dq7l8xNU.js.map → TimeField-Hwt_oRbg.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-oK4dSBPK.js → Toaster-SqkX0Kes.js} +3 -3
- package/dist/{Toaster-oK4dSBPK.js.map → Toaster-SqkX0Kes.js.map} +1 -1
- package/dist/{Toaster-CsZkAOVn.js → Toaster-dVGVVcat.js} +2 -2
- package/dist/{Toaster-CsZkAOVn.js.map → Toaster-dVGVVcat.js.map} +1 -1
- package/dist/{Toolbar-Bp-A2P4L.js → Toolbar-CMulzswf.js} +3 -3
- package/dist/{Toolbar-Bp-A2P4L.js.map → Toolbar-CMulzswf.js.map} +1 -1
- package/dist/{Toolbar-Do8KEjJJ.js → Toolbar-DGHZpFi9.js} +3 -3
- package/dist/{Toolbar-Do8KEjJJ.js.map → Toolbar-DGHZpFi9.js.map} +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-BXfLbDBM.js → TreeSelectFieldSync-DT6uZ3Ca.js} +21 -21
- package/dist/{TreeSelectFieldSync-BXfLbDBM.js.map → TreeSelectFieldSync-DT6uZ3Ca.js.map} +1 -1
- package/dist/TreeSelectFieldSync.css +36 -35
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-D7fQIyHr.js → TreeSelectMenuSync-D2TvKxP-.js} +3 -3
- package/dist/{TreeSelectMenuSync-D7fQIyHr.js.map → TreeSelectMenuSync-D2TvKxP-.js.map} +1 -1
- package/dist/{TypeaheadTextField-Dkh84OCF.js → TypeaheadTextField-DgazozK7.js} +3 -3
- package/dist/{TypeaheadTextField-Dkh84OCF.js.map → TypeaheadTextField-DgazozK7.js.map} +1 -1
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-7y8xhacx.js → YearlessDateInputWithPicker-Bc8a33D5.js} +2 -2
- package/dist/{YearlessDateInputWithPicker-7y8xhacx.js.map → YearlessDateInputWithPicker-Bc8a33D5.js.map} +1 -1
- package/dist/beta.js +16 -16
- package/dist/{bulkActionTypes-BVJZ01mE.js → bulkActionTypes-SukoplGV.js} +2 -2
- package/dist/{bulkActionTypes-BVJZ01mE.js.map → bulkActionTypes-SukoplGV.js.map} +1 -1
- package/dist/downshift.esm-U4VMqrF-.js.map +1 -1
- package/dist/extends-Bg2s_OKl.js.map +1 -1
- package/dist/{filter-state-CPCn-owS.js → filter-state-D3-SYfuy.js} +18 -18
- package/dist/{filter-state-CPCn-owS.js.map → filter-state-D3-SYfuy.js.map} +1 -1
- package/dist/{index-D1WfdON1.js → index-C2dOrf4N.js} +2 -2
- package/dist/{index-D1WfdON1.js.map → index-C2dOrf4N.js.map} +1 -1
- package/dist/index.js +42 -42
- package/dist/src/components/Pagination/Pagination.d.ts +28 -0
- package/dist/src/internal/components/LoadMoreSlot.d.ts +13 -0
- package/dist/src/internal/hooks/useAutoLoadMore.d.ts +40 -0
- package/dist/src/internal/hooks/useFocusReturnOnUnmount.d.ts +10 -0
- package/dist/{stripInlineMarkdown-CcwDEdw0.js → stripInlineMarkdown-BhYLEiXu.js} +2 -2
- package/dist/{stripInlineMarkdown-CcwDEdw0.js.map → stripInlineMarkdown-BhYLEiXu.js.map} +1 -1
- package/dist/{syncFilterUtils-ubEYuRGQ.js → syncFilterUtils-SMop8ckR.js} +179 -64
- package/dist/syncFilterUtils-SMop8ckR.js.map +1 -0
- package/dist/{treeSync-CkjyJSVq.js → treeSync-B38r1dRQ.js} +3 -3
- package/dist/{treeSync-CkjyJSVq.js.map → treeSync-B38r1dRQ.js.map} +1 -1
- package/dist/{useDrilldown-DOXav1An.js → useDrilldown-BOeeNUsy.js} +3 -3
- package/dist/{useDrilldown-DOXav1An.js.map → useDrilldown-BOeeNUsy.js.map} +1 -1
- package/dist/{useInfiniteCombobox-15_SoeWw.js → useInfiniteCombobox-ynkeFngn.js} +4 -4
- package/dist/{useInfiniteCombobox-15_SoeWw.js.map → useInfiniteCombobox-ynkeFngn.js.map} +1 -1
- package/dist/{useInitialFocus-0TZ78bPz.js → useInitialFocus-CGybEc6x.js} +2 -2
- package/dist/{useInitialFocus-0TZ78bPz.js.map → useInitialFocus-CGybEc6x.js.map} +1 -1
- package/dist/{useInvalidateOnOptionsChange-DiRbyJFp.js → useInvalidateOnOptionsChange-BD2VBpbK.js} +4 -4
- package/dist/{useInvalidateOnOptionsChange-DiRbyJFp.js.map → useInvalidateOnOptionsChange-BD2VBpbK.js.map} +1 -1
- package/dist/{usePopoverTransitionStates-B1opfxxn.js → usePopoverTransitionStates-CDXCdyKa.js} +2 -1
- package/dist/{usePopoverTransitionStates-B1opfxxn.js.map → usePopoverTransitionStates-CDXCdyKa.js.map} +1 -1
- package/package.json +6 -6
- package/dist/Announcement-Cnz80WGx.js.map +0 -1
- package/dist/FilterBar-PXv7_svO.js.map +0 -1
- package/dist/ProgressBar-0pebwBJ0.js.map +0 -1
- package/dist/SelectFieldSync-CkWoMhrv.js.map +0 -1
- package/dist/SelectTriggerBase.module-mYOfdBGA.js +0 -40
- package/dist/SelectTriggerBase.module-mYOfdBGA.js.map +0 -1
- package/dist/check_circle-C3DDoVXp.js +0 -8
- package/dist/check_circle-C3DDoVXp.js.map +0 -1
- package/dist/src/internal/components/InView.d.ts +0 -14
- package/dist/syncFilterUtils-ubEYuRGQ.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
1
|
import './index2.css';export { DndSort, DndSortCard, DndSortZone } from './DndSort.js';
|
|
2
|
-
export { A as Alert } from './Alert-
|
|
3
|
-
import { P as Popover, a as usePopoverContext } from './AiMark-
|
|
4
|
-
export { A as AiMark } from './AiMark-
|
|
5
|
-
export { A as Announcement } from './Announcement-
|
|
2
|
+
export { A as Alert } from './Alert-lLo1N7Tj.js';
|
|
3
|
+
import { P as Popover, a as usePopoverContext } from './AiMark-BfmK30vL.js';
|
|
4
|
+
export { A as AiMark } from './AiMark-BfmK30vL.js';
|
|
5
|
+
export { A as Announcement } from './Announcement-PfnsVVz1.js';
|
|
6
6
|
export { A as Avatar } from './Avatar-Ba662b3z.js';
|
|
7
7
|
export { A as AvatarGroup } from './Avatar-CwnLhw9m.js';
|
|
8
8
|
export { B as Badge } from './Badge-BNrYBFiU.js';
|
|
9
|
-
import { B as Breadcrumbs } from './Breadcrumbs-
|
|
9
|
+
import { B as Breadcrumbs } from './Breadcrumbs-RdL4Fvmu.js';
|
|
10
10
|
import { B as Button } from './Button-Dn6-01xl.js';
|
|
11
11
|
export { B as ButtonCompound } from './ButtonCompound-D7kA0qXr.js';
|
|
12
12
|
import { B as ButtonLink } from './ButtonLink-DOFAxNvC.js';
|
|
13
13
|
export { B as ButtonToggle } from './ButtonToggle-BSU8GBxr.js';
|
|
14
|
-
export { a as Calendar, g as CalendarMonth, f as CalendarMonthButton, e as CalendarNext, b as CalendarNow, d as CalendarPrev, c as CalendarYearButton } from './Calendar-
|
|
14
|
+
export { a as Calendar, g as CalendarMonth, f as CalendarMonthButton, e as CalendarNext, b as CalendarNow, d as CalendarPrev, c as CalendarYearButton } from './Calendar-IzXG1aJw.js';
|
|
15
15
|
export { C as Card } from './Card-Bt0F6RTq.js';
|
|
16
|
-
export { C as Checkbox } from './Checkbox-
|
|
17
|
-
import { C as Chip } from './Chip-
|
|
18
|
-
export { C as Combobox, a as ComboboxElement, c as ComboboxList, b as ComboboxSelect, u as useInfiniteCombobox } from './useInfiniteCombobox-
|
|
19
|
-
export { D as DateFieldRange } from './DateFieldRange-
|
|
20
|
-
export { D as DateFieldSingle } from './DateFieldSingle-
|
|
21
|
-
export { D as DateFieldYearless } from './DateFieldYearless-
|
|
22
|
-
export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-
|
|
23
|
-
export { D as DaysOfTheWeek } from './DaysOfTheWeek-
|
|
16
|
+
export { C as Checkbox } from './Checkbox-U-kuWhgc.js';
|
|
17
|
+
import { C as Chip } from './Chip-2OydLs66.js';
|
|
18
|
+
export { C as Combobox, a as ComboboxElement, c as ComboboxList, b as ComboboxSelect, u as useInfiniteCombobox } from './useInfiniteCombobox-ynkeFngn.js';
|
|
19
|
+
export { D as DateFieldRange } from './DateFieldRange-X2jdOTYY.js';
|
|
20
|
+
export { D as DateFieldSingle } from './DateFieldSingle-BJ16tpOz.js';
|
|
21
|
+
export { D as DateFieldYearless } from './DateFieldYearless-CMm8vtz_.js';
|
|
22
|
+
export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-BHHs-Z1Q.js';
|
|
23
|
+
export { D as DaysOfTheWeek } from './DaysOfTheWeek-BHXxs0Bo.js';
|
|
24
24
|
export { D as Details } from './Details-BxqP-5vp.js';
|
|
25
|
-
import { D as Dialog } from './Dialog-
|
|
25
|
+
import { D as Dialog } from './Dialog-_tHqOsbr.js';
|
|
26
26
|
export { D as Divider } from './Divider-C7fp5Xb6.js';
|
|
27
27
|
export { D as Dnd } from './index-Bldaza5t.js';
|
|
28
|
-
export { D as Drawer } from './Drawer-
|
|
29
|
-
export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, u as useDrillDown } from './useDrilldown-
|
|
30
|
-
export { E as EditCard } from './EditCard-
|
|
31
|
-
export { F as FieldLabel } from './FieldLabel-
|
|
28
|
+
export { D as Drawer } from './Drawer-D-ThWNp0.js';
|
|
29
|
+
export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, u as useDrillDown } from './useDrilldown-BOeeNUsy.js';
|
|
30
|
+
export { E as EditCard } from './EditCard-B6l2vhBS.js';
|
|
31
|
+
export { F as FieldLabel } from './FieldLabel-ThEmUiAq.js';
|
|
32
32
|
export { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
|
|
33
33
|
export { F as FieldMessage } from './FieldMessage-8c9yA_kw.js';
|
|
34
34
|
import { F as Flex } from './Flex-CRF7gj0_.js';
|
|
35
35
|
export { G as Grid } from './Grid-BPCDtqoT.js';
|
|
36
36
|
import { I as Icon } from './Icon-B5zwN7GD.js';
|
|
37
|
-
export { I as InputMask } from './InputMask-
|
|
37
|
+
export { I as InputMask } from './InputMask-BQigi5oW.js';
|
|
38
38
|
import { L as Layout } from './Layout-C8fKY7Eh.js';
|
|
39
39
|
export { b as LayoutElement, a as LayoutItem } from './Layout-C8fKY7Eh.js';
|
|
40
40
|
export { L as Link, u as useLinkStyles } from './Link-D7ycmfQ_.js';
|
|
41
41
|
export { L as LinkButton } from './LinkButton-C0wps8r1.js';
|
|
42
42
|
export { L as List } from './List-CTr2fk7l.js';
|
|
43
|
-
export { L as Listbox } from './Listbox-
|
|
44
|
-
export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-
|
|
43
|
+
export { L as Listbox } from './Listbox-CD9ZptSZ.js';
|
|
44
|
+
export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-YJscfG4x.js';
|
|
45
45
|
import { M as Menu } from './Menu-Da2OEN0o.js';
|
|
46
|
-
export { N as NumberField } from './NumberField-
|
|
46
|
+
export { N as NumberField } from './NumberField-CxmJx4gs.js';
|
|
47
47
|
export { Overflow, OverflowText } from './Overflow.js';
|
|
48
48
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
49
49
|
import { createContext, forwardRef, useContext, useState, useLayoutEffect, useRef, useEffect, useMemo, useCallback } from 'react';
|
|
50
50
|
import { c as cx } from './index-De1g9FRV.js';
|
|
51
51
|
import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
|
|
52
|
-
export { P as Pagination } from './Pagination-
|
|
53
|
-
export { P as Popover } from './Popover-
|
|
54
|
-
export { P as ProgressBar } from './ProgressBar-
|
|
55
|
-
export { R as Radio } from './Radio-
|
|
52
|
+
export { P as Pagination } from './Pagination-Bsl99RRI.js';
|
|
53
|
+
export { P as Popover } from './Popover-CIh1CsoJ.js';
|
|
54
|
+
export { P as ProgressBar } from './ProgressBar-zPKYv4Il.js';
|
|
55
|
+
export { R as Radio } from './Radio-C1VnatcL.js';
|
|
56
56
|
export { S as SearchField } from './SearchField-ChoNtw8w.js';
|
|
57
57
|
export { S as SegmentedControl, a as SegmentedControlSegment } from './SegmentedControl-BHVJmmTH.js';
|
|
58
|
-
export { S as SelectCard } from './SelectCard-
|
|
59
|
-
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-
|
|
60
|
-
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-
|
|
61
|
-
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-
|
|
62
|
-
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-
|
|
63
|
-
export { S as SelectTrigger } from './SelectTrigger-
|
|
58
|
+
export { S as SelectCard } from './SelectCard-DrmMU_GD.js';
|
|
59
|
+
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-CeazN-gI.js';
|
|
60
|
+
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-Cq5sena6.js';
|
|
61
|
+
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-CPpE6vUG.js';
|
|
62
|
+
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-BhNXsgAN.js';
|
|
63
|
+
export { S as SelectTrigger } from './SelectTrigger-B4OUTO9S.js';
|
|
64
64
|
export { S as SideNav } from './SideNav-CHG7i8Dy.js';
|
|
65
65
|
export { Skeleton, SkeletonCircle, SkeletonPill, SkeletonRectangle, SkeletonText } from './Skeleton.js';
|
|
66
66
|
export { S as Spinner } from './Spinner-B7tTWcP6.js';
|
|
67
67
|
export { S as SrOnly } from './SrOnly-pnf8ajnh.js';
|
|
68
68
|
export { S as Stepper, a as StepperBase } from './Stepper-l_P6VPOv.js';
|
|
69
|
-
export { S as Switch } from './Switch-
|
|
69
|
+
export { S as Switch } from './Switch-1iNdXTik.js';
|
|
70
70
|
export { T as Tab } from './Tab-DR5YYXkq.js';
|
|
71
|
-
import { T as Text } from './Text-
|
|
72
|
-
export { T as Textarea } from './Textarea-
|
|
73
|
-
import { T as TextField } from './TextField-
|
|
74
|
-
export { T as TimeField } from './TimeField-
|
|
75
|
-
export { T as Toaster } from './Toaster-
|
|
76
|
-
export { t as toast } from './Toaster-
|
|
77
|
-
export { T as Toolbar } from './Toolbar-
|
|
71
|
+
import { T as Text } from './Text-rihxXHSe.js';
|
|
72
|
+
export { T as Textarea } from './Textarea-ppapJUwh.js';
|
|
73
|
+
import { T as TextField } from './TextField-Bxd-Qzoi.js';
|
|
74
|
+
export { T as TimeField } from './TimeField-Hwt_oRbg.js';
|
|
75
|
+
export { T as Toaster } from './Toaster-dVGVVcat.js';
|
|
76
|
+
export { t as toast } from './Toaster-SqkX0Kes.js';
|
|
77
|
+
export { T as Toolbar } from './Toolbar-CMulzswf.js';
|
|
78
78
|
import { T as Tooltip } from './Tooltip-C_VcYS9P.js';
|
|
79
79
|
export { u as useAccessibleColor } from './useAccessibleColor-BYKjkGRg.js';
|
|
80
80
|
export { u as useBreakpoint } from './useBreakpoint-BBNRlMGZ.js';
|
|
@@ -101,7 +101,7 @@ import { S as SvgCheck } from './check-Cf67OWrZ.js';
|
|
|
101
101
|
import { S as SvgClose } from './close-DZj38AEh.js';
|
|
102
102
|
import { createPortal } from 'react-dom';
|
|
103
103
|
import { d as drillDownStyles, D as DrillDownContext } from './DrillDown.module-1VBKDZRA.js';
|
|
104
|
-
import { u as useDrillDownContextState } from './useInitialFocus-
|
|
104
|
+
import { u as useDrillDownContextState } from './useInitialFocus-CGybEc6x.js';
|
|
105
105
|
import { u as useDrillDownContext } from './useDrillDownContext-D5_NjqY4.js';
|
|
106
106
|
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
|
|
107
107
|
|
|
@@ -35,6 +35,20 @@ export type PaginationProps = Omit<BasePaginationProps, "children"> & DataTracki
|
|
|
35
35
|
onItemsPerPageChange?: (itemsPerPage: number) => void;
|
|
36
36
|
/** Label before the page-size menu. Defaults to `"Rows per page"`. */
|
|
37
37
|
itemsPerPageLabel?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Full item-range string, shown in the counter and after the live region's
|
|
40
|
+
* `Page {page} of {totalPages}` prefix. Called with the first visible item
|
|
41
|
+
* (1-based), the last visible item, and the total. When the total is `0`,
|
|
42
|
+
* all three arguments are `0`. Not called when `totalItemCount` is omitted.
|
|
43
|
+
* When this prop is omitted, the range reads `"1 - 10 of 100 items"`
|
|
44
|
+
* (or `"0 items"`).
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* itemRangeFormatter={(first, last, total) =>
|
|
48
|
+
* total === 0 ? "0 files" : `${first} - ${last} of ${total} files`
|
|
49
|
+
* }
|
|
50
|
+
*/
|
|
51
|
+
itemRangeFormatter?: (firstItem: number, lastItem: number, totalItemCount: number) => string;
|
|
38
52
|
};
|
|
39
53
|
/**
|
|
40
54
|
* Paged navigation for a result set. Owns page-list generation, overflow,
|
|
@@ -70,4 +84,18 @@ export declare const Pagination: import('react').ForwardRefExoticComponent<Omit<
|
|
|
70
84
|
onItemsPerPageChange?: (itemsPerPage: number) => void;
|
|
71
85
|
/** Label before the page-size menu. Defaults to `"Rows per page"`. */
|
|
72
86
|
itemsPerPageLabel?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Full item-range string, shown in the counter and after the live region's
|
|
89
|
+
* `Page {page} of {totalPages}` prefix. Called with the first visible item
|
|
90
|
+
* (1-based), the last visible item, and the total. When the total is `0`,
|
|
91
|
+
* all three arguments are `0`. Not called when `totalItemCount` is omitted.
|
|
92
|
+
* When this prop is omitted, the range reads `"1 - 10 of 100 items"`
|
|
93
|
+
* (or `"0 items"`).
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* itemRangeFormatter={(first, last, total) =>
|
|
97
|
+
* total === 0 ? "0 files" : `${first} - ${last} of ${total} files`
|
|
98
|
+
* }
|
|
99
|
+
*/
|
|
100
|
+
itemRangeFormatter?: (firstItem: number, lastItem: number, totalItemCount: number) => string;
|
|
73
101
|
} & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type LoadMoreSlotProps = {
|
|
2
|
+
/** Shows the spinner in place of the button. */
|
|
3
|
+
loadingMore: boolean;
|
|
4
|
+
onLoadMore: () => void;
|
|
5
|
+
/** Reports whether the button has focus, including `false` when it unmounts. */
|
|
6
|
+
onFocusChange: (focused: boolean) => void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Content of the option panels' load-more slot: the Load more button, or a
|
|
10
|
+
* spinner while a page loads.
|
|
11
|
+
*/
|
|
12
|
+
export declare const LoadMoreSlot: ({ loadingMore, ...buttonProps }: LoadMoreSlotProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
type Keyed = {
|
|
2
|
+
id: string | number;
|
|
3
|
+
};
|
|
4
|
+
type AutoLoadMoreState = {
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
hasMore: boolean;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
loadingMore: boolean;
|
|
9
|
+
disableAutoLoadMore?: boolean;
|
|
10
|
+
items: readonly Keyed[];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Decides when a lazy option list may request its next page on its own.
|
|
14
|
+
*
|
|
15
|
+
* `canAutoLoad` is false while the list is closed, out of pages, loading, or
|
|
16
|
+
* opted out, and while Load more has focus: focusing it scrolls it into view,
|
|
17
|
+
* and auto-loading then would swap it for the spinner under a keyboard user
|
|
18
|
+
* and send their Enter to the input. Feed `onLoadMoreFocusChange` from the
|
|
19
|
+
* button.
|
|
20
|
+
*
|
|
21
|
+
* `isStalled` reports that the last load-more page added no rows, as a
|
|
22
|
+
* rejected or empty load does. Auto-load stops while it holds so a failing
|
|
23
|
+
* loader is not retried in a loop; the Load more button still retries, and
|
|
24
|
+
* closing the list clears it, so opening it again retries too. It is keyed to
|
|
25
|
+
* the rows (count and last id) rather than to request flags: any new rows, from
|
|
26
|
+
* a successful retry or a new search, re-arm auto-load, even when a loader that
|
|
27
|
+
* resolves in a microtask batches `loadingMore` true and false into one render.
|
|
28
|
+
*
|
|
29
|
+
* Call it before the effect that auto-loads: effects run in call order, so the
|
|
30
|
+
* stall state is current by the time that effect reads it in the same commit.
|
|
31
|
+
* `rowsKey` changes whenever the rows do, for effects that must re-run on a
|
|
32
|
+
* new page or result set.
|
|
33
|
+
*/
|
|
34
|
+
export declare function useAutoLoadMore({ isOpen, hasMore, loading, loadingMore, disableAutoLoadMore, items, }: AutoLoadMoreState): {
|
|
35
|
+
canAutoLoad: boolean;
|
|
36
|
+
isStalled: () => boolean;
|
|
37
|
+
rowsKey: string;
|
|
38
|
+
onLoadMoreFocusChange: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FocusEvent } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Returns focus to where it came from when the element unmounts while focused.
|
|
4
|
+
* Chromium fires focusout with a null `relatedTarget` when a focused node is
|
|
5
|
+
* removed, which a popover reads as focus leaving it.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useFocusReturnOnUnmount<T extends HTMLElement>(): {
|
|
8
|
+
ref: (node: T | null) => void;
|
|
9
|
+
onFocus: (event: FocusEvent<T>) => void;
|
|
10
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as INLINE_MARKDOWN_REGEX } from './FieldLabel-
|
|
1
|
+
import { I as INLINE_MARKDOWN_REGEX } from './FieldLabel-ThEmUiAq.js';
|
|
2
2
|
|
|
3
3
|
const stripInlineMarkdown = (str) => {
|
|
4
4
|
const parts = [];
|
|
@@ -22,4 +22,4 @@ const stripInlineMarkdown = (str) => {
|
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
export { stripInlineMarkdown as s };
|
|
25
|
-
//# sourceMappingURL=stripInlineMarkdown-
|
|
25
|
+
//# sourceMappingURL=stripInlineMarkdown-BhYLEiXu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripInlineMarkdown-
|
|
1
|
+
{"version":3,"file":"stripInlineMarkdown-BhYLEiXu.js","sources":["../src/internal/functions/stripInlineMarkdown.ts"],"sourcesContent":["import { INLINE_MARKDOWN_REGEX } from \"../utils/inlineMarkdownRegex\";\n\n/**\n * Drops inline markdown markers and returns the inner text (for `aria-label`).\n * Shared global regex: reset `lastIndex` per call and save it around nested\n * strips. Code spans are not reparsed.\n */\nexport const stripInlineMarkdown = (str: string): string => {\n const parts: string[] = [];\n let lastIndex = 0;\n\n INLINE_MARKDOWN_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = INLINE_MARKDOWN_REGEX.exec(str)) !== null) {\n if (match.index > lastIndex) {\n parts.push(str.substring(lastIndex, match.index));\n }\n\n const savedIndex = INLINE_MARKDOWN_REGEX.lastIndex;\n const inner =\n match[1] ?? match[2] ?? match[3] ?? match[4] ?? match[5] ?? \"\";\n\n parts.push(match[5] ? inner : stripInlineMarkdown(inner));\n\n INLINE_MARKDOWN_REGEX.lastIndex = savedIndex;\n lastIndex = savedIndex;\n }\n\n if (lastIndex < str.length) {\n parts.push(str.substring(lastIndex));\n }\n\n return parts.join(\"\");\n};\n"],"names":[],"mappings":";;AAOO,MAAM,mBAAA,GAAsB,CAAC,GAAA,KAAwB;AAC1D,EAAA,MAAM,QAAkB,EAAC;AACzB,EAAA,IAAI,SAAA,GAAY,CAAA;AAEhB,EAAA,qBAAA,CAAsB,SAAA,GAAY,CAAA;AAClC,EAAA,IAAI,KAAA;AAEJ,EAAA,OAAA,CAAQ,KAAA,GAAQ,qBAAA,CAAsB,IAAA,CAAK,GAAG,OAAO,IAAA,EAAM;AACzD,IAAA,IAAI,KAAA,CAAM,QAAQ,SAAA,EAAW;AAC3B,MAAA,KAAA,CAAM,KAAK,GAAA,CAAI,SAAA,CAAU,SAAA,EAAW,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,IAClD;AAEA,IAAA,MAAM,aAAa,qBAAA,CAAsB,SAAA;AACzC,IAAA,MAAM,KAAA,GACJ,KAAA,CAAM,CAAC,CAAA,IAAK,MAAM,CAAC,CAAA,IAAK,KAAA,CAAM,CAAC,KAAK,KAAA,CAAM,CAAC,CAAA,IAAK,KAAA,CAAM,CAAC,CAAA,IAAK,EAAA;AAE9D,IAAA,KAAA,CAAM,KAAK,KAAA,CAAM,CAAC,IAAI,KAAA,GAAQ,mBAAA,CAAoB,KAAK,CAAC,CAAA;AAExD,IAAA,qBAAA,CAAsB,SAAA,GAAY,UAAA;AAClC,IAAA,SAAA,GAAY,UAAA;AAAA,EACd;AAEA,EAAA,IAAI,SAAA,GAAY,IAAI,MAAA,EAAQ;AAC1B,IAAA,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,SAAA,CAAU,SAAS,CAAC,CAAA;AAAA,EACrC;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,EAAE,CAAA;AACtB;;;;"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { S as Spinner } from './Spinner-B7tTWcP6.js';
|
|
3
|
-
import { B as Button } from './Button-Dn6-01xl.js';
|
|
4
3
|
import { c as cx } from './index-De1g9FRV.js';
|
|
5
4
|
import { useState, useRef, useCallback, useEffect, useMemo, forwardRef, useId, useImperativeHandle } from 'react';
|
|
6
5
|
import { C as COMMON_PART, A as ANV_PART_ATTR } from './anvParts-DFVq7-Cm.js';
|
|
7
|
-
import {
|
|
8
|
-
import { T as Text } from './Text-B_-Ldn9K.js';
|
|
6
|
+
import { T as Text } from './Text-rihxXHSe.js';
|
|
9
7
|
import { D as Divider } from './Divider-C7fp5Xb6.js';
|
|
10
8
|
import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
|
|
11
|
-
import { S as SrOnly } from './SrOnly-pnf8ajnh.js';
|
|
12
9
|
import { I as Icon } from './Icon-B5zwN7GD.js';
|
|
13
10
|
import { S as SvgCheck } from './check-Cf67OWrZ.js';
|
|
14
|
-
import { i as isThenable, c as OptionRow, d as OptionRowSideContent, e as OptionCheckbox, f as OptionContentArea, b as useAdaptiveView } from './useInvalidateOnOptionsChange-
|
|
11
|
+
import { i as isThenable, c as OptionRow, d as OptionRowSideContent, e as OptionCheckbox, f as OptionContentArea, b as useAdaptiveView } from './useInvalidateOnOptionsChange-BD2VBpbK.js';
|
|
12
|
+
import { B as Button } from './Button-Dn6-01xl.js';
|
|
13
|
+
import { S as SrOnly } from './SrOnly-pnf8ajnh.js';
|
|
15
14
|
import { d as defaultRangeExtractor, u as useVirtualizer } from './index-DXeGMe23.js';
|
|
16
15
|
import { S as SvgAdd } from './add-BcQkAUip.js';
|
|
17
16
|
import { m as matchSorter } from './match-sorter.esm-CGAauEiU.js';
|
|
@@ -261,20 +260,106 @@ const SelectOption = ({
|
|
|
261
260
|
);
|
|
262
261
|
};
|
|
263
262
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
263
|
+
function useFocusReturnOnUnmount() {
|
|
264
|
+
const nodeRef = useRef(null);
|
|
265
|
+
const returnToRef = useRef(null);
|
|
266
|
+
const ref = useCallback((node) => {
|
|
267
|
+
const previous = nodeRef.current;
|
|
268
|
+
nodeRef.current = node;
|
|
269
|
+
if (node || !previous) return;
|
|
270
|
+
const root = previous.getRootNode();
|
|
271
|
+
if (previous !== root.activeElement) return;
|
|
272
|
+
const returnTo = returnToRef.current;
|
|
273
|
+
if (returnTo?.isConnected) returnTo.focus({ preventScroll: true });
|
|
274
|
+
}, []);
|
|
275
|
+
const onFocus = useCallback((event) => {
|
|
276
|
+
if (event.relatedTarget instanceof HTMLElement) {
|
|
277
|
+
returnToRef.current = event.relatedTarget;
|
|
278
|
+
}
|
|
279
|
+
}, []);
|
|
280
|
+
return { ref, onFocus };
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
const LoadMoreSlot = ({
|
|
284
|
+
loadingMore,
|
|
285
|
+
...buttonProps
|
|
286
|
+
}) => loadingMore ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
287
|
+
/* @__PURE__ */ jsx(Spinner, { size: "small" }),
|
|
288
|
+
/* @__PURE__ */ jsx(SrOnly, { children: "Loading more..." })
|
|
289
|
+
] }) : /* @__PURE__ */ jsx(LoadMoreButton, { ...buttonProps });
|
|
290
|
+
const LoadMoreButton = ({
|
|
291
|
+
onLoadMore,
|
|
292
|
+
onFocusChange
|
|
268
293
|
}) => {
|
|
269
|
-
const
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
294
|
+
const focus = useFocusReturnOnUnmount();
|
|
295
|
+
const onFocusChangeRef = useRef(onFocusChange);
|
|
296
|
+
onFocusChangeRef.current = onFocusChange;
|
|
297
|
+
useEffect(() => () => onFocusChangeRef.current(false), []);
|
|
298
|
+
return /* @__PURE__ */ jsx(
|
|
299
|
+
Button,
|
|
300
|
+
{
|
|
301
|
+
appearance: "secondary",
|
|
302
|
+
size: "small",
|
|
303
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
304
|
+
ref: focus.ref,
|
|
305
|
+
onFocus: (e) => {
|
|
306
|
+
focus.onFocus(e);
|
|
307
|
+
onFocusChange(true);
|
|
308
|
+
},
|
|
309
|
+
onBlur: () => onFocusChange(false),
|
|
310
|
+
onClick: onLoadMore,
|
|
311
|
+
...{ [ANV_PART_ATTR]: COMMON_PART.loadMoreButton },
|
|
312
|
+
children: "Load more"
|
|
313
|
+
}
|
|
314
|
+
);
|
|
276
315
|
};
|
|
277
316
|
|
|
317
|
+
function useAutoLoadMore({
|
|
318
|
+
isOpen,
|
|
319
|
+
hasMore,
|
|
320
|
+
loading,
|
|
321
|
+
loadingMore,
|
|
322
|
+
disableAutoLoadMore,
|
|
323
|
+
items
|
|
324
|
+
}) {
|
|
325
|
+
const rowsKey = `${items.length}:${items[items.length - 1]?.id ?? ""}`;
|
|
326
|
+
const rowsKeyRef = useRef(rowsKey);
|
|
327
|
+
rowsKeyRef.current = rowsKey;
|
|
328
|
+
const stalledAtRef = useRef(null);
|
|
329
|
+
const keyAtStartRef = useRef(null);
|
|
330
|
+
useEffect(() => {
|
|
331
|
+
if (loading) {
|
|
332
|
+
stalledAtRef.current = null;
|
|
333
|
+
keyAtStartRef.current = null;
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
if (loadingMore) {
|
|
337
|
+
keyAtStartRef.current ??= rowsKey;
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
if (keyAtStartRef.current === null) return;
|
|
341
|
+
stalledAtRef.current = rowsKey === keyAtStartRef.current ? rowsKey : null;
|
|
342
|
+
keyAtStartRef.current = null;
|
|
343
|
+
}, [loading, loadingMore, rowsKey]);
|
|
344
|
+
useEffect(() => {
|
|
345
|
+
if (isOpen) return;
|
|
346
|
+
stalledAtRef.current = null;
|
|
347
|
+
keyAtStartRef.current = null;
|
|
348
|
+
}, [isOpen]);
|
|
349
|
+
const isStalled = useCallback(
|
|
350
|
+
() => stalledAtRef.current === rowsKeyRef.current,
|
|
351
|
+
[]
|
|
352
|
+
);
|
|
353
|
+
const [loadMoreFocused, setLoadMoreFocused] = useState(false);
|
|
354
|
+
const canAutoLoad = isOpen && hasMore && !loading && !loadingMore && !disableAutoLoadMore && !loadMoreFocused;
|
|
355
|
+
return {
|
|
356
|
+
canAutoLoad,
|
|
357
|
+
isStalled,
|
|
358
|
+
rowsKey,
|
|
359
|
+
onLoadMoreFocusChange: setLoadMoreFocused
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
|
|
278
363
|
const useOptionsSections = (items, sectionsMeta) => {
|
|
279
364
|
return useMemo(() => {
|
|
280
365
|
if (sectionsMeta.length === 0) {
|
|
@@ -436,11 +521,43 @@ const OptionsPanel = forwardRef(
|
|
|
436
521
|
const anyPinnedLoading = sectionsMeta.some(
|
|
437
522
|
(s) => s.type === "pinned" && s.loading
|
|
438
523
|
);
|
|
439
|
-
const
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
524
|
+
const loadMoreSentinelRef = useRef(null);
|
|
525
|
+
const { canAutoLoad, isStalled, rowsKey, onLoadMoreFocusChange } = useAutoLoadMore({
|
|
526
|
+
isOpen,
|
|
527
|
+
hasMore,
|
|
528
|
+
loading,
|
|
529
|
+
loadingMore,
|
|
530
|
+
disableAutoLoadMore,
|
|
531
|
+
items
|
|
532
|
+
});
|
|
533
|
+
const onLoadMoreRef = useRef(onLoadMore);
|
|
534
|
+
onLoadMoreRef.current = onLoadMore;
|
|
535
|
+
const canAutoLoadRef = useRef(canAutoLoad);
|
|
536
|
+
canAutoLoadRef.current = canAutoLoad;
|
|
537
|
+
useEffect(() => {
|
|
538
|
+
if (!canAutoLoad || isStalled()) return;
|
|
539
|
+
const sentinel = loadMoreSentinelRef.current;
|
|
540
|
+
const scroller = scrollerRef.current;
|
|
541
|
+
if (!sentinel || !scroller) return;
|
|
542
|
+
let active = true;
|
|
543
|
+
const observer = new IntersectionObserver(
|
|
544
|
+
(entries) => {
|
|
545
|
+
if (!active) return;
|
|
546
|
+
const visible = entries.some((entry) => entry.isIntersecting);
|
|
547
|
+
if (visible && canAutoLoadRef.current && !isStalled()) {
|
|
548
|
+
active = false;
|
|
549
|
+
observer.disconnect();
|
|
550
|
+
onLoadMoreRef.current();
|
|
551
|
+
}
|
|
552
|
+
},
|
|
553
|
+
{ threshold: 0, root: scroller }
|
|
554
|
+
);
|
|
555
|
+
observer.observe(sentinel);
|
|
556
|
+
return () => {
|
|
557
|
+
active = false;
|
|
558
|
+
observer.disconnect();
|
|
559
|
+
};
|
|
560
|
+
}, [canAutoLoad, rowsKey, isStalled]);
|
|
444
561
|
const sections = useOptionsSections(items, sectionsMeta);
|
|
445
562
|
const renderItem = (item, index) => /* @__PURE__ */ jsx(
|
|
446
563
|
SelectOption,
|
|
@@ -519,26 +636,25 @@ const OptionsPanel = forwardRef(
|
|
|
519
636
|
}
|
|
520
637
|
),
|
|
521
638
|
isOpen && /* @__PURE__ */ jsx(Fragment, { children: loading || anyPinnedLoading ? /* @__PURE__ */ jsx("div", { role: "presentation", className: styles$1["empty"], children: /* @__PURE__ */ jsx(Spinner, { size: "medium" }) }) : items.length > 0 ? renderSections() : /* @__PURE__ */ jsx("div", { role: "presentation", className: styles$1["empty"], children: /* @__PURE__ */ jsx(Text, { subdued: true, size: "small", children: "No match found" }) }) }),
|
|
522
|
-
|
|
523
|
-
/* @__PURE__ */ jsx(
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
) }) : null
|
|
639
|
+
hasMore && !loading ? /* @__PURE__ */ jsxs("div", { role: "presentation", children: [
|
|
640
|
+
/* @__PURE__ */ jsx(
|
|
641
|
+
"div",
|
|
642
|
+
{
|
|
643
|
+
ref: loadMoreSentinelRef,
|
|
644
|
+
className: styles$1["scroll-sentinel"],
|
|
645
|
+
role: "presentation",
|
|
646
|
+
"aria-hidden": "true"
|
|
647
|
+
}
|
|
648
|
+
),
|
|
649
|
+
/* @__PURE__ */ jsx("div", { className: styles$1["load-more"], children: /* @__PURE__ */ jsx(
|
|
650
|
+
LoadMoreSlot,
|
|
651
|
+
{
|
|
652
|
+
loadingMore,
|
|
653
|
+
onLoadMore,
|
|
654
|
+
onFocusChange: onLoadMoreFocusChange
|
|
655
|
+
}
|
|
656
|
+
) })
|
|
657
|
+
] }) : null
|
|
542
658
|
] }) });
|
|
543
659
|
}
|
|
544
660
|
);
|
|
@@ -679,20 +795,27 @@ const VirtualizedOptionsPanel = forwardRef(
|
|
|
679
795
|
}));
|
|
680
796
|
const onLoadMoreRef = useRef(onLoadMore);
|
|
681
797
|
onLoadMoreRef.current = onLoadMore;
|
|
798
|
+
const { canAutoLoad, isStalled, rowsKey, onLoadMoreFocusChange } = useAutoLoadMore({
|
|
799
|
+
isOpen,
|
|
800
|
+
hasMore,
|
|
801
|
+
loading,
|
|
802
|
+
loadingMore,
|
|
803
|
+
disableAutoLoadMore,
|
|
804
|
+
items
|
|
805
|
+
});
|
|
806
|
+
const loadMoreInFlightRef = useRef(false);
|
|
807
|
+
useEffect(() => {
|
|
808
|
+
if (!loadingMore) loadMoreInFlightRef.current = false;
|
|
809
|
+
}, [isOpen, loadingMore, rowsKey]);
|
|
682
810
|
useEffect(() => {
|
|
683
|
-
if (!
|
|
811
|
+
if (!canAutoLoad || loadMoreInFlightRef.current || isStalled()) return;
|
|
684
812
|
const lastItem = virtualItems[virtualItems.length - 1];
|
|
685
813
|
if (!lastItem) return;
|
|
686
814
|
if (lastItem.index >= virtualRows.length - 1) {
|
|
815
|
+
loadMoreInFlightRef.current = true;
|
|
687
816
|
onLoadMoreRef.current();
|
|
688
817
|
}
|
|
689
|
-
}, [
|
|
690
|
-
hasMore,
|
|
691
|
-
loadingMore,
|
|
692
|
-
disableAutoLoadMore,
|
|
693
|
-
virtualItems,
|
|
694
|
-
virtualRows.length
|
|
695
|
-
]);
|
|
818
|
+
}, [canAutoLoad, virtualItems, virtualRows.length]);
|
|
696
819
|
const isSticky = useCallback(
|
|
697
820
|
(index) => stickyIndices.includes(index),
|
|
698
821
|
[stickyIndices]
|
|
@@ -740,22 +863,14 @@ const VirtualizedOptionsPanel = forwardRef(
|
|
|
740
863
|
);
|
|
741
864
|
}
|
|
742
865
|
if (row.type === "load-more") {
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
/* @__PURE__ */ jsx(Spinner, { size: "small" }),
|
|
746
|
-
/* @__PURE__ */ jsx(SrOnly, { children: "Loading more..." })
|
|
747
|
-
] });
|
|
748
|
-
}
|
|
749
|
-
return /* @__PURE__ */ jsx("div", { role: "presentation", children: /* @__PURE__ */ jsx("div", { className: styles$1["load-more"], children: /* @__PURE__ */ jsx(
|
|
750
|
-
Button,
|
|
866
|
+
return /* @__PURE__ */ jsx("div", { role: "presentation", className: styles$1["load-more"], children: /* @__PURE__ */ jsx(
|
|
867
|
+
LoadMoreSlot,
|
|
751
868
|
{
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
...{ [ANV_PART_ATTR]: COMMON_PART.loadMoreButton },
|
|
756
|
-
children: "Load more"
|
|
869
|
+
loadingMore,
|
|
870
|
+
onLoadMore,
|
|
871
|
+
onFocusChange: onLoadMoreFocusChange
|
|
757
872
|
}
|
|
758
|
-
) })
|
|
873
|
+
) });
|
|
759
874
|
}
|
|
760
875
|
return null;
|
|
761
876
|
};
|
|
@@ -1241,4 +1356,4 @@ const sortByGroup = (options, groupSorter) => {
|
|
|
1241
1356
|
};
|
|
1242
1357
|
|
|
1243
1358
|
export { AddNewItemButton as A, OptionsPanel as O, VirtualizedOptionsPanel as V, useProcessedOptions as a, buildSelectItems as b, sortByGroup as c, defaultSyncFilter as d, toSelectItem as e, shouldShowAddNewItem as s, toSyncFilterFn as t, useSelectOrchestration as u };
|
|
1244
|
-
//# sourceMappingURL=syncFilterUtils-
|
|
1359
|
+
//# sourceMappingURL=syncFilterUtils-SMop8ckR.js.map
|