@servicetitan/anvil2 1.45.1 → 1.46.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.
Files changed (171) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/{Calendar-Dq_of5A3.js → Calendar-BQ5F2ENO.js} +1173 -166
  3. package/dist/Calendar-BQ5F2ENO.js.map +1 -0
  4. package/dist/Calendar.css +83 -47
  5. package/dist/Calendar.js +1 -1
  6. package/dist/{Checkbox-3y2d9mBd.js → Checkbox-DDrmVC-u.js} +2 -2
  7. package/dist/{Checkbox-3y2d9mBd.js.map → Checkbox-DDrmVC-u.js.map} +1 -1
  8. package/dist/{Checkbox-BiOzGpgJ.js → Checkbox-Dl4KTwEJ.js} +3 -3
  9. package/dist/{Checkbox-BiOzGpgJ.js.map → Checkbox-Dl4KTwEJ.js.map} +1 -1
  10. package/dist/Checkbox.js +2 -2
  11. package/dist/{useInfiniteCombobox-BN2uGhBh.js → Combobox-B9nesJuc.js} +19 -186
  12. package/dist/Combobox-B9nesJuc.js.map +1 -0
  13. package/dist/Combobox.js +2 -1
  14. package/dist/Combobox.js.map +1 -1
  15. package/dist/{DateField-B2mnasH5.js → DateField-DXxPsRtf.js} +4 -4
  16. package/dist/{DateField-B2mnasH5.js.map → DateField-DXxPsRtf.js.map} +1 -1
  17. package/dist/DateField.js +1 -1
  18. package/dist/{DateFieldRange-DPbyzuHb.js → DateFieldRange-Xauviu1w.js} +34 -28
  19. package/dist/DateFieldRange-Xauviu1w.js.map +1 -0
  20. package/dist/DateFieldRange.js +1 -1
  21. package/dist/{DateFieldSingle-CfAJDcx9.js → DateFieldSingle-yLnwpVzd.js} +27 -27
  22. package/dist/DateFieldSingle-yLnwpVzd.js.map +1 -0
  23. package/dist/DateFieldSingle.js +1 -1
  24. package/dist/{DateFieldYearless-ydxcsmRV.js → DateFieldYearless-Ba7HiTiI.js} +2 -2
  25. package/dist/{DateFieldYearless-ydxcsmRV.js.map → DateFieldYearless-Ba7HiTiI.js.map} +1 -1
  26. package/dist/DateFieldYearless.js +1 -1
  27. package/dist/{DaysOfTheWeek-BYvE9QK5.js → DaysOfTheWeek-BYSYZySH.js} +2 -2
  28. package/dist/{DaysOfTheWeek-BYvE9QK5.js.map → DaysOfTheWeek-BYSYZySH.js.map} +1 -1
  29. package/dist/DaysOfTheWeek.js +1 -1
  30. package/dist/{Dialog-DpH2Qvbd.js → Dialog-CgkrvrQu.js} +2 -2
  31. package/dist/{Dialog-DpH2Qvbd.js.map → Dialog-CgkrvrQu.js.map} +1 -1
  32. package/dist/Dialog.js +1 -1
  33. package/dist/Dnd.js +1 -1
  34. package/dist/DndSort.js +1 -1
  35. package/dist/{Drawer-DI_k6W2k.js → Drawer-CM4ZbAro.js} +2 -2
  36. package/dist/{Drawer-DI_k6W2k.js.map → Drawer-CM4ZbAro.js.map} +1 -1
  37. package/dist/Drawer.js +1 -1
  38. package/dist/{FieldLabel-BfnCXung.js → FieldLabel-BsbTTyom.js} +3 -14
  39. package/dist/FieldLabel-BsbTTyom.js.map +1 -0
  40. package/dist/FieldLabel.js +1 -1
  41. package/dist/{InputMask-O_qi1p_3.js → InputMask-_F139qFu.js} +2 -2
  42. package/dist/{InputMask-O_qi1p_3.js.map → InputMask-_F139qFu.js.map} +1 -1
  43. package/dist/InputMask.js +1 -1
  44. package/dist/{ListView-jR2ZkBB7.js → ListView-pb3rIcze.js} +2 -2
  45. package/dist/{ListView-jR2ZkBB7.js.map → ListView-pb3rIcze.js.map} +1 -1
  46. package/dist/ListView.js +1 -1
  47. package/dist/{NumberField-1_gRsWT4.js → NumberField-CkZZrkYC.js} +5 -5
  48. package/dist/{NumberField-1_gRsWT4.js.map → NumberField-CkZZrkYC.js.map} +1 -1
  49. package/dist/NumberField.js +1 -1
  50. package/dist/{Page-CY6QRlvb.js → Page-cKXkjMmd.js} +2 -2
  51. package/dist/{Page-CY6QRlvb.js.map → Page-cKXkjMmd.js.map} +1 -1
  52. package/dist/Page.js +1 -1
  53. package/dist/{ProgressBar-BnXuQ6Bx.js → ProgressBar-DXcXZEJ2.js} +2 -2
  54. package/dist/{ProgressBar-BnXuQ6Bx.js.map → ProgressBar-DXcXZEJ2.js.map} +1 -1
  55. package/dist/ProgressBar.js +1 -1
  56. package/dist/{Radio-CwmRUIzo.js → Radio-C89VCMXd.js} +2 -2
  57. package/dist/{Radio-CwmRUIzo.js.map → Radio-C89VCMXd.js.map} +1 -1
  58. package/dist/Radio.js +2 -2
  59. package/dist/{RadioGroup-BNCWIHOG.js → RadioGroup-C_4buUtG.js} +2 -2
  60. package/dist/{RadioGroup-BNCWIHOG.js.map → RadioGroup-C_4buUtG.js.map} +1 -1
  61. package/dist/{SearchField-BKXkoWPs.js → SearchField-Bb0uObwG.js} +2 -2
  62. package/dist/{SearchField-BKXkoWPs.js.map → SearchField-Bb0uObwG.js.map} +1 -1
  63. package/dist/SearchField.js +1 -1
  64. package/dist/{SelectCard-DOGCG0zr.js → SelectCard-BTYZg9TG.js} +3 -3
  65. package/dist/{SelectCard-DOGCG0zr.js.map → SelectCard-BTYZg9TG.js.map} +1 -1
  66. package/dist/SelectCard.js +1 -1
  67. package/dist/{SelectTrigger-BMo0e-F7.js → SelectTrigger-f1hvRrSC.js} +2 -2
  68. package/dist/{SelectTrigger-BMo0e-F7.js.map → SelectTrigger-f1hvRrSC.js.map} +1 -1
  69. package/dist/SelectTrigger.js +1 -1
  70. package/dist/{SelectTriggerBase-BMMxnXrw.js → SelectTriggerBase-DP9fmRSo.js} +2 -2
  71. package/dist/{SelectTriggerBase-BMMxnXrw.js.map → SelectTriggerBase-DP9fmRSo.js.map} +1 -1
  72. package/dist/{TextField-CwgE_JJU.js → TextField-BiHxlzE3.js} +2 -2
  73. package/dist/{TextField-CwgE_JJU.js.map → TextField-BiHxlzE3.js.map} +1 -1
  74. package/dist/{TextField-DlsZEkS0.js → TextField-D8fow9j7.js} +2 -2
  75. package/dist/{TextField-DlsZEkS0.js.map → TextField-D8fow9j7.js.map} +1 -1
  76. package/dist/TextField.js +1 -1
  77. package/dist/{Textarea-DU-SpoDL.js → Textarea-BdVJJlbP.js} +2 -2
  78. package/dist/{Textarea-DU-SpoDL.js.map → Textarea-BdVJJlbP.js.map} +1 -1
  79. package/dist/Textarea.js +1 -1
  80. package/dist/{TimeField-CfhyRfX9.js → TimeField-CmbErrsZ.js} +2 -2
  81. package/dist/{TimeField-CfhyRfX9.js.map → TimeField-CmbErrsZ.js.map} +1 -1
  82. package/dist/TimeField.js +1 -1
  83. package/dist/Toast.js +2 -2
  84. package/dist/{Toaster-BgjT0p8b.js → Toaster-9cpG_tWR.js} +2 -2
  85. package/dist/{Toaster-BgjT0p8b.js.map → Toaster-9cpG_tWR.js.map} +1 -1
  86. package/dist/{Toaster-CfC9wod0.js → Toaster-B7zUwJOt.js} +2 -2
  87. package/dist/{Toaster-CfC9wod0.js.map → Toaster-B7zUwJOt.js.map} +1 -1
  88. package/dist/Toolbar-D4zuUFhb.js +2077 -0
  89. package/dist/Toolbar-D4zuUFhb.js.map +1 -0
  90. package/dist/Toolbar.css +139 -28
  91. package/dist/Toolbar.d.ts +3 -3
  92. package/dist/Toolbar.js +1 -1
  93. package/dist/beta/components/Toolbar/Filters/FilterButton.d.ts +30 -0
  94. package/dist/beta/components/Toolbar/Filters/FilterDateRange.d.ts +37 -0
  95. package/dist/beta/components/Toolbar/Filters/FilterDateSingle.d.ts +30 -0
  96. package/dist/beta/components/Toolbar/Filters/FilterDrawer.d.ts +15 -0
  97. package/dist/beta/components/Toolbar/Filters/FilterGroup.d.ts +25 -0
  98. package/dist/beta/components/Toolbar/Filters/FilterItemWrapper.d.ts +24 -0
  99. package/dist/beta/components/Toolbar/Filters/FilterSelect.d.ts +29 -0
  100. package/dist/beta/components/Toolbar/Filters/FilterToggleButton.d.ts +24 -0
  101. package/dist/beta/components/Toolbar/Filters/internal/FilterGroupContext.d.ts +40 -0
  102. package/dist/beta/components/Toolbar/Filters/internal/types.d.ts +130 -0
  103. package/dist/beta/components/Toolbar/Filters/internal/utils/filter-state.d.ts +40 -0
  104. package/dist/beta/components/Toolbar/Filters/internal/utils/test.d.ts +57 -0
  105. package/dist/beta/components/Toolbar/Toolbar.d.ts +302 -0
  106. package/dist/beta/components/Toolbar/ToolbarButton.d.ts +41 -0
  107. package/dist/beta/components/Toolbar/ToolbarButtonLink.d.ts +43 -0
  108. package/dist/beta/components/Toolbar/ToolbarButtonToggle.d.ts +42 -0
  109. package/dist/beta/components/Toolbar/ToolbarControlGroup.d.ts +20 -0
  110. package/dist/beta/components/Toolbar/ToolbarSearchField.d.ts +20 -0
  111. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +108 -0
  112. package/dist/beta/components/Toolbar/index.d.ts +9 -0
  113. package/dist/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +19 -0
  114. package/dist/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +40 -0
  115. package/dist/beta/components/Toolbar/internal/ToolbarOverflowContext.d.ts +35 -0
  116. package/dist/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +29 -0
  117. package/dist/beta/components/Toolbar/internal/utils/accessibility.d.ts +26 -0
  118. package/dist/beta/components/Toolbar/internal/utils/test.d.ts +29 -0
  119. package/dist/beta/components/Toolbar/types.d.ts +50 -0
  120. package/dist/beta/components/index.d.ts +1 -0
  121. package/dist/beta/index.d.ts +1 -0
  122. package/dist/beta.d.ts +2 -0
  123. package/dist/beta.js +2 -0
  124. package/dist/beta.js.map +1 -0
  125. package/dist/components/Combobox/ComboboxTypes.d.ts +8 -0
  126. package/dist/components/DateFieldRange/DateFieldRange.d.ts +2 -2
  127. package/dist/components/DateFieldRange/internal/DateFieldRangeCalendar.d.ts +1 -1
  128. package/dist/components/DateFieldRange/internal/useDateFieldRangeState.d.ts +2 -7
  129. package/dist/components/DateFieldSingle/DateFieldSingle.d.ts +2 -2
  130. package/dist/components/DateFieldSingle/internal/useDateFieldSingleState.d.ts +2 -7
  131. package/dist/components/Dialog/index.d.ts +1 -1
  132. package/dist/components/NumberField/NumberField.d.ts +4 -4
  133. package/dist/{indeterminate_check_box-Bg24oeHy.js → indeterminate_check_box-RY9zr3xS.js} +17 -17
  134. package/dist/{indeterminate_check_box-Bg24oeHy.js.map → indeterminate_check_box-RY9zr3xS.js.map} +1 -1
  135. package/dist/indeterminate_check_box.css +72 -66
  136. package/dist/{index-CqdP5W00.js → index-V5Ez2gq_.js} +2 -2
  137. package/dist/{index-CqdP5W00.js.map → index-V5Ez2gq_.js.map} +1 -1
  138. package/dist/index.css +125 -26
  139. package/dist/index.js +773 -41
  140. package/dist/index.js.map +1 -1
  141. package/dist/index2.css +88 -105
  142. package/dist/internal/components/YearSelector/YearSelector.d.ts +67 -0
  143. package/dist/internal/components/YearSelector/index.d.ts +1 -0
  144. package/dist/internal/components/YearSelector/internal/YearItem.d.ts +10 -0
  145. package/dist/internal/components/YearSelector/internal/useYearSelectorKeys.d.ts +19 -0
  146. package/dist/internal/hooks/index.d.ts +1 -0
  147. package/dist/internal/hooks/useContainerQuery/index.d.ts +1 -0
  148. package/dist/internal/hooks/useContainerQuery/useContainerQuery.d.ts +46 -0
  149. package/dist/internal/hooks/useFocusWithin/useFocusWithin.d.ts +11 -16
  150. package/dist/types/PassThroughProps.d.ts +4 -0
  151. package/dist/types/index.d.ts +1 -0
  152. package/dist/{useDateFieldOrchestration-Cqa7dxtr.js → useDateFieldOrchestration-BNJCsRkS.js} +2 -2
  153. package/dist/{useDateFieldOrchestration-Cqa7dxtr.js.map → useDateFieldOrchestration-BNJCsRkS.js.map} +1 -1
  154. package/dist/useFocusWithin-BhhgRXdZ.js +32 -0
  155. package/dist/useFocusWithin-BhhgRXdZ.js.map +1 -0
  156. package/dist/useInfiniteCombobox-WcRgC9p6.js +179 -0
  157. package/dist/useInfiniteCombobox-WcRgC9p6.js.map +1 -0
  158. package/dist/useIntersectionObserver-BEmMDO3P.js +70 -0
  159. package/dist/useIntersectionObserver-BEmMDO3P.js.map +1 -0
  160. package/package.json +3 -1
  161. package/dist/Calendar-Dq_of5A3.js.map +0 -1
  162. package/dist/DateFieldRange-DPbyzuHb.js.map +0 -1
  163. package/dist/DateFieldSingle-CfAJDcx9.js.map +0 -1
  164. package/dist/FieldLabel-BfnCXung.js.map +0 -1
  165. package/dist/Toolbar-DK7tXy_W.js +0 -807
  166. package/dist/Toolbar-DK7tXy_W.js.map +0 -1
  167. package/dist/components/Calendar/internal/CalendarYearSelection.d.ts +0 -25
  168. package/dist/useFocusWithin-BhU7hoAD.js +0 -56
  169. package/dist/useFocusWithin-BhU7hoAD.js.map +0 -1
  170. package/dist/useInfiniteCombobox-BN2uGhBh.js.map +0 -1
  171. /package/dist/{useInfiniteCombobox.css → Combobox.css} +0 -0
@@ -1,11 +1,11 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import React__default, { forwardRef, useState, useEffect, createContext, useContext, useRef, useMemo, useCallback, useLayoutEffect, useReducer, cloneElement, Component, useId, useDeferredValue } from 'react';
2
+ import React__default, { forwardRef, useState, useEffect, createContext, useContext, useRef, useMemo, useCallback, useLayoutEffect, useReducer, cloneElement, Component, useId } from 'react';
3
3
  import { c as cx, g as getDefaultExportFromCjs } from './index-tZvMCc77.js';
4
4
  import { a as _extends, _ as _objectWithoutPropertiesLoose } from './extends-Bg2s_OKl.js';
5
5
  import { P as Popover, u as usePopoverLegacyContext, f as usePopoverContext } from './Popover-r26xMIfm.js';
6
6
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjD5IMh0.js';
7
7
  import { s as supportsPopover } from './DrawerContext-DboTgTmo.js';
8
- import { i as isMultiple, u as useDownshiftEnvironment$1, a as defaultItemToKey$1, d as defaultItemToString$1, S as SelectTriggerBase, A as ADD_NEW$1 } from './SelectTriggerBase-BMMxnXrw.js';
8
+ import { i as isMultiple, u as useDownshiftEnvironment$1, a as defaultItemToKey$1, d as defaultItemToString$1, S as SelectTriggerBase, A as ADD_NEW$1 } from './SelectTriggerBase-DP9fmRSo.js';
9
9
  import { s as styles$4 } from './Listbox.module-DcBE8Zmo.js';
10
10
  import { T as Text } from './Text-BqvcbXyp.js';
11
11
  import { F as Flex } from './Flex-BdQMekvA.js';
@@ -22,11 +22,11 @@ import { A as Avatar } from './Avatar-CyGjhToG.js';
22
22
  import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
23
23
  import { useTrackingId } from './useTrackingId.js';
24
24
  import { s as styles$3 } from './ListView.module-MVsNF0X0.js';
25
- import { c as checkboxStyles, S as SvgIndeterminateCheckBox, a as SvgCheckBox, b as SvgCheckBoxOutlineBlank } from './indeterminate_check_box-Bg24oeHy.js';
25
+ import { c as checkboxStyles, S as SvgIndeterminateCheckBox, a as SvgCheckBox, b as SvgCheckBoxOutlineBlank } from './indeterminate_check_box-RY9zr3xS.js';
26
26
  import { S as SvgCheck } from './check-Cf67OWrZ.js';
27
27
  import { S as Spinner } from './Spinner-wmO8Epw0.js';
28
28
 
29
- import './useInfiniteCombobox.css';const label = "_label_jfzvd_2";
29
+ import './Combobox.css';const label = "_label_jfzvd_2";
30
30
  const required = "_required_jfzvd_46";
31
31
  const styles$2 = {
32
32
  label: label,
@@ -8821,6 +8821,7 @@ const ComboboxTrigger = function(props) {
8821
8821
  placeholder,
8822
8822
  disabled,
8823
8823
  readOnly,
8824
+ onClear,
8824
8825
  ...rest
8825
8826
  } = componentProps;
8826
8827
  const {
@@ -8884,10 +8885,14 @@ const ComboboxTrigger = function(props) {
8884
8885
  };
8885
8886
  const toggleButtonProps = select ? {} : getToggleButtonProps();
8886
8887
  const handleClearButtonClick = (_e) => {
8887
- if (reset != null) {
8888
- reset();
8888
+ if (onClear) {
8889
+ onClear();
8889
8890
  } else {
8890
- selectItem(null);
8891
+ if (reset != null) {
8892
+ reset();
8893
+ } else {
8894
+ selectItem(null);
8895
+ }
8891
8896
  }
8892
8897
  };
8893
8898
  const styleCombined = {
@@ -8974,10 +8979,13 @@ const ComboboxTrigger = function(props) {
8974
8979
  }
8975
8980
  );
8976
8981
  };
8977
- const ComboboxSearchFieldElement = function(props) {
8982
+ const ComboboxSearchFieldElement = function({
8983
+ onClear,
8984
+ ...props
8985
+ }) {
8978
8986
  if (!supportsPopover())
8979
8987
  return /* @__PURE__ */ jsx(ComboboxLegacyTrigger, { ...props, variant: "combobox" });
8980
- return /* @__PURE__ */ jsx(ComboboxTrigger, { ...props, variant: "combobox" });
8988
+ return /* @__PURE__ */ jsx(ComboboxTrigger, { onClear, ...props, variant: "combobox" });
8981
8989
  };
8982
8990
  const ComboboxSearchField = function({
8983
8991
  prefix: prefixProp,
@@ -10177,180 +10185,5 @@ const Combobox = Object.assign(ComboboxElement, {
10177
10185
  Empty: ComboboxEmpty
10178
10186
  });
10179
10187
 
10180
- const SCROLL_THRESHOLD = 0.64;
10181
- function useInfiniteCombobox({
10182
- query,
10183
- queryInitialItems,
10184
- initialItems = [],
10185
- initialPage = 0,
10186
- initialLoading = false,
10187
- initialInputValue,
10188
- defaultInputValue,
10189
- initialSelectedItem,
10190
- defaultSelectedItem,
10191
- initialSelectedItems,
10192
- defaultSelectedItems,
10193
- updateOnInputValueChange = true,
10194
- updateOnSelectedItemChange = true,
10195
- updateOnSelectedItemsChange = true,
10196
- queryOnFirstRender = false,
10197
- shouldTriggerQuery: shouldTriggerQueryProp
10198
- }) {
10199
- const [items, setItems] = useState(initialItems);
10200
- const deferredItems = useDeferredValue(items);
10201
- const [page, setPage] = useState(initialPage);
10202
- const [loading, setLoading] = useState(initialLoading);
10203
- const deferredLoading = useDeferredValue(loading);
10204
- const [inputValue, setInputValue] = useState(
10205
- initialInputValue ?? defaultInputValue ?? ""
10206
- );
10207
- const [selectedItem, setSelectedItem] = useState(
10208
- initialSelectedItem ?? defaultSelectedItem ?? null
10209
- );
10210
- const [selectedItems, setSelectedItems] = useState(
10211
- initialSelectedItems ?? defaultSelectedItems ?? []
10212
- );
10213
- const scrollerRef = useRef(null);
10214
- const defaultShouldTriggerQuery = (element) => {
10215
- const totalScrollHeight = element.scrollHeight - element.clientHeight;
10216
- return element.scrollTop / totalScrollHeight > SCROLL_THRESHOLD;
10217
- };
10218
- const [triggerQueryCount, setTriggerQueryCount] = useState(0);
10219
- const triggerQueryCountRef = useRef(0);
10220
- const triggerQuery = () => {
10221
- setTriggerQueryCount((x) => x + 1);
10222
- triggerQueryCountRef.current += 1;
10223
- };
10224
- const [done, setDone] = useState(false);
10225
- const firstRenderRef = useRef(true);
10226
- const scrollTimeoutRef = useRef(false);
10227
- const loadingRef = useRef(false);
10228
- const setLoadingStateAndRef = (isLoading) => {
10229
- setLoading(isLoading);
10230
- loadingRef.current = isLoading;
10231
- };
10232
- const queryRetryCountRef = useRef(0);
10233
- useEffect(() => {
10234
- if (firstRenderRef.current && queryInitialItems) {
10235
- setItems(queryInitialItems());
10236
- }
10237
- if (firstRenderRef.current && !queryOnFirstRender) {
10238
- firstRenderRef.current = false;
10239
- return;
10240
- }
10241
- setLoadingStateAndRef(true);
10242
- const timeoutID = setTimeout(() => {
10243
- if (triggerQueryCount < triggerQueryCountRef.current) return;
10244
- query({
10245
- page,
10246
- inputValue,
10247
- selectedItem,
10248
- selectedItems
10249
- }).then((res) => {
10250
- queryRetryCountRef.current = 0;
10251
- if (triggerQueryCount < triggerQueryCountRef.current) return;
10252
- setLoadingStateAndRef(false);
10253
- setPage((x) => x + 1);
10254
- if (res == null || page > 0 && res.length === 0) {
10255
- setDone(true);
10256
- } else if (page === 0) {
10257
- setItems(() => [...res]);
10258
- } else {
10259
- setItems((prevItems) => [...prevItems, ...res]);
10260
- }
10261
- }).catch(() => {
10262
- queryRetryCountRef.current += 1;
10263
- if (queryRetryCountRef.current > 7) {
10264
- queryRetryCountRef.current = 0;
10265
- return;
10266
- } else {
10267
- setTimeout(
10268
- () => {
10269
- triggerQuery();
10270
- },
10271
- 2 ** queryRetryCountRef.current * 160
10272
- );
10273
- }
10274
- });
10275
- }, 160);
10276
- return () => {
10277
- clearTimeout(timeoutID);
10278
- };
10279
- }, [triggerQueryCount]);
10280
- useLayoutEffect(() => {
10281
- setTimeout(() => {
10282
- if (scrollerRef.current && scrollerRef.current.scrollHeight > 0 && scrollerRef.current.clientHeight > 0 && scrollerRef.current.scrollHeight <= scrollerRef.current.clientHeight) {
10283
- triggerQuery();
10284
- }
10285
- }, 160);
10286
- }, [items]);
10287
- const isEmpty = items.length === 0 && page === 0;
10288
- const onStateChange = useCallback(
10289
- (changes) => {
10290
- if (isEmpty && "isOpen" in changes && changes.isOpen === true) {
10291
- triggerQuery();
10292
- }
10293
- const inputValueShouldUpdate = updateOnInputValueChange && "inputValue" in changes;
10294
- const selectedItemsShouldUpdate = updateOnSelectedItemsChange && "selectedItems" in changes && changes.selectedItems;
10295
- const selectedItemShouldUpdate = updateOnSelectedItemChange && "selectedItem" in changes && changes.selectedItem !== void 0;
10296
- if (inputValueShouldUpdate) {
10297
- setInputValue(changes.inputValue ?? "");
10298
- }
10299
- if (selectedItemsShouldUpdate) {
10300
- setSelectedItems(changes.selectedItems ?? []);
10301
- }
10302
- if (selectedItemShouldUpdate) {
10303
- setSelectedItem(changes.selectedItem);
10304
- }
10305
- if (inputValueShouldUpdate || selectedItemsShouldUpdate || selectedItemShouldUpdate) {
10306
- setPage(0);
10307
- setDone(false);
10308
- triggerQuery();
10309
- }
10310
- },
10311
- [
10312
- isEmpty,
10313
- updateOnInputValueChange,
10314
- updateOnSelectedItemsChange,
10315
- updateOnSelectedItemChange
10316
- ]
10317
- );
10318
- const onScroll = useCallback(
10319
- (e) => {
10320
- const element = e.currentTarget;
10321
- if (!scrollTimeoutRef.current && !loadingRef.current) {
10322
- setTimeout(() => {
10323
- const shouldTriggerQuery = shouldTriggerQueryProp ?? defaultShouldTriggerQuery;
10324
- if (shouldTriggerQuery(element) && !done) {
10325
- triggerQuery();
10326
- }
10327
- scrollTimeoutRef.current = false;
10328
- }, 40);
10329
- scrollTimeoutRef.current = true;
10330
- }
10331
- },
10332
- [done, shouldTriggerQueryProp]
10333
- );
10334
- return {
10335
- comboboxProps: {
10336
- items: deferredItems,
10337
- loading: deferredLoading,
10338
- initialInputValue,
10339
- defaultInputValue,
10340
- initialSelectedItem,
10341
- defaultSelectedItem,
10342
- initialSelectedItems,
10343
- defaultSelectedItems,
10344
- disableFilter: true,
10345
- // assume the query will return a filtered/sorted list
10346
- onStateChange
10347
- },
10348
- contentProps: {
10349
- onScroll,
10350
- scrollerRef
10351
- }
10352
- };
10353
- }
10354
-
10355
- export { Combobox as C, ComboboxElement as a, ComboboxSelect as b, ComboboxContent as c, ComboboxList as d, ComboboxItem as e, ComboboxItemAddNew as f, ComboboxSearchField as g, ComboboxSelectTrigger as h, ComboboxEmpty as i, useInfiniteCombobox as u };
10356
- //# sourceMappingURL=useInfiniteCombobox-BN2uGhBh.js.map
10188
+ export { Combobox as C, ComboboxElement as a, ComboboxSelect as b, ComboboxContent as c, ComboboxList as d, ComboboxItem as e, ComboboxItemAddNew as f, ComboboxSearchField as g, ComboboxSelectTrigger as h, ComboboxEmpty as i };
10189
+ //# sourceMappingURL=Combobox-B9nesJuc.js.map