@servicetitan/anvil2 1.43.2 → 1.44.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 (98) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/dist/{Breadcrumbs-B5bqrZ5D-BqK-Qfh9.js → Breadcrumbs-BMbkH9hL-BUjQksuj.js} +3 -3
  3. package/dist/{Breadcrumbs-B5bqrZ5D-BqK-Qfh9.js.map → Breadcrumbs-BMbkH9hL-BUjQksuj.js.map} +1 -1
  4. package/dist/{Breadcrumbs-De8uoLi8.js → Breadcrumbs-fthw3qaL.js} +2 -2
  5. package/dist/{Breadcrumbs-De8uoLi8.js.map → Breadcrumbs-fthw3qaL.js.map} +1 -1
  6. package/dist/Breadcrumbs.js +1 -1
  7. package/dist/{Calendar-DD5kmVd3-CBGTR11R.js → Calendar-BvftKznl-D4_xp9Rv.js} +3 -3
  8. package/dist/{Calendar-DD5kmVd3-CBGTR11R.js.map → Calendar-BvftKznl-D4_xp9Rv.js.map} +1 -1
  9. package/dist/{Calendar-Bgpz99F2.js → Calendar-DdOR9T_K.js} +2 -2
  10. package/dist/{Calendar-Bgpz99F2.js.map → Calendar-DdOR9T_K.js.map} +1 -1
  11. package/dist/Calendar.js +1 -1
  12. package/dist/{DateField-_TqCdcYv.js → DateField-Bqsnpt8S.js} +4 -4
  13. package/dist/{DateField-_TqCdcYv.js.map → DateField-Bqsnpt8S.js.map} +1 -1
  14. package/dist/DateField.js +1 -1
  15. package/dist/{DateFieldRange-Dk8WA52F.js → DateFieldRange-Cax7Kl9A.js} +2 -2
  16. package/dist/{DateFieldRange-Dk8WA52F.js.map → DateFieldRange-Cax7Kl9A.js.map} +1 -1
  17. package/dist/DateFieldRange.js +1 -1
  18. package/dist/{DateFieldSingle-D3xD8YZk.js → DateFieldSingle-bMX770gU.js} +2 -2
  19. package/dist/{DateFieldSingle-D3xD8YZk.js.map → DateFieldSingle-bMX770gU.js.map} +1 -1
  20. package/dist/DateFieldSingle.js +1 -1
  21. package/dist/{DateFieldYearless-BxkCSNk5.js → DateFieldYearless-ClNYTBK_.js} +2 -2
  22. package/dist/{DateFieldYearless-BxkCSNk5.js.map → DateFieldYearless-ClNYTBK_.js.map} +1 -1
  23. package/dist/{DateFieldYearless-CAUHW6Ow-EUWxJ0OY.js → DateFieldYearless-pejtv7-x-DBHpW83U.js} +7 -65
  24. package/dist/DateFieldYearless-pejtv7-x-DBHpW83U.js.map +1 -0
  25. package/dist/DateFieldYearless.js +1 -1
  26. package/dist/{InputMask-wUro4G2j.js → InputMask-BOUlnmiF.js} +2 -2
  27. package/dist/{InputMask-wUro4G2j.js.map → InputMask-BOUlnmiF.js.map} +1 -1
  28. package/dist/{InputMask-CE3pdXwL-B8XVrj36.js → InputMask-BuO8lNAB-DdxdO5Jw.js} +3 -3
  29. package/dist/{InputMask-CE3pdXwL-B8XVrj36.js.map → InputMask-BuO8lNAB-DdxdO5Jw.js.map} +1 -1
  30. package/dist/InputMask.js +1 -1
  31. package/dist/{Link-DZa0wmkA.js → Link-C4N_cV3i.js} +2 -2
  32. package/dist/{Link-DZa0wmkA.js.map → Link-C4N_cV3i.js.map} +1 -1
  33. package/dist/{Link-Dqp_XXl_-Bv20l_tY.js → Link-MiffPrW9-Cx1zYWSF.js} +3 -3
  34. package/dist/{Link-Dqp_XXl_-Bv20l_tY.js.map → Link-MiffPrW9-Cx1zYWSF.js.map} +1 -1
  35. package/dist/Link.js +1 -1
  36. package/dist/LinkButton.css +5 -0
  37. package/dist/LinkButton.d.ts +6 -0
  38. package/dist/LinkButton.js +76 -0
  39. package/dist/LinkButton.js.map +1 -0
  40. package/dist/{ListView-DdHpJHTc.js → ListView-DVPhWDCM.js} +24 -5
  41. package/dist/ListView-DVPhWDCM.js.map +1 -0
  42. package/dist/ListView.js +1 -1
  43. package/dist/NumberField-C9lMsPMD.js +1582 -0
  44. package/dist/NumberField-C9lMsPMD.js.map +1 -0
  45. package/dist/NumberField.css +49 -0
  46. package/dist/NumberField.d.ts +6 -0
  47. package/dist/NumberField.js +2 -0
  48. package/dist/NumberField.js.map +1 -0
  49. package/dist/{Page-CxB5N9dR.js → Page-CGAylFKz.js} +2 -2
  50. package/dist/{Page-CxB5N9dR.js.map → Page-CGAylFKz.js.map} +1 -1
  51. package/dist/Page.js +1 -1
  52. package/dist/{SegmentedControl-DKMQuf7s.js → SegmentedControl-DY1PSYmd.js} +2 -2
  53. package/dist/{SegmentedControl-DKMQuf7s.js.map → SegmentedControl-DY1PSYmd.js.map} +1 -1
  54. package/dist/SegmentedControl.js +1 -1
  55. package/dist/{SelectCard-DUNwYa5y-BSi21Aba.js → SelectCard-LSAl_7Lh-BYtfe9PC.js} +3 -3
  56. package/dist/{SelectCard-DUNwYa5y-BSi21Aba.js.map → SelectCard-LSAl_7Lh-BYtfe9PC.js.map} +1 -1
  57. package/dist/SelectCard.js +1 -1
  58. package/dist/{SelectCardGroup-YGYiBv5M.js → SelectCardGroup-u_QKdeRZ.js} +2 -2
  59. package/dist/{SelectCardGroup-YGYiBv5M.js.map → SelectCardGroup-u_QKdeRZ.js.map} +1 -1
  60. package/dist/{TextField-gYAqTpcX.js → TextField-B364hxo8.js} +2 -2
  61. package/dist/{TextField-gYAqTpcX.js.map → TextField-B364hxo8.js.map} +1 -1
  62. package/dist/{TextField-CRTh0gL_-D2CjcYXX.js → TextField-DoPP1CQ--UWAOTYiv.js} +2 -2
  63. package/dist/{TextField-CRTh0gL_-D2CjcYXX.js.map → TextField-DoPP1CQ--UWAOTYiv.js.map} +1 -1
  64. package/dist/TextField.js +1 -1
  65. package/dist/{Textarea-DohNOiIp.js → Textarea-D2AAZ1L3.js} +2 -2
  66. package/dist/{Textarea-DohNOiIp.js.map → Textarea-D2AAZ1L3.js.map} +1 -1
  67. package/dist/Textarea.js +1 -1
  68. package/dist/{TimeField-DRHLRqN3.js → TimeField-tA9uo4lK.js} +5 -4
  69. package/dist/{TimeField-DRHLRqN3.js.map → TimeField-tA9uo4lK.js.map} +1 -1
  70. package/dist/TimeField.js +1 -1
  71. package/dist/assets/icons/st/gnav_home_outline.svg +1 -1
  72. package/dist/assets/icons/st.ts +0 -1
  73. package/dist/components/LinkButton/LinkButton.d.ts +57 -0
  74. package/dist/components/LinkButton/index.d.ts +2 -0
  75. package/dist/components/NumberField/NumberField.d.ts +11 -0
  76. package/dist/components/NumberField/index.d.ts +2 -0
  77. package/dist/components/index.d.ts +1 -0
  78. package/dist/{usePopoverSupport-B9Lsqryr-DhZHMoNb.js → index.esm-dyoPQhi6.js} +735 -13
  79. package/dist/index.esm-dyoPQhi6.js.map +1 -0
  80. package/dist/index.js +17 -16
  81. package/dist/index.js.map +1 -1
  82. package/dist/useFocusWithin-Cxz14Zyz-DEudRcSI.js +64 -0
  83. package/dist/useFocusWithin-Cxz14Zyz-DEudRcSI.js.map +1 -0
  84. package/dist/useLinkStyles.js +1 -1
  85. package/dist/{useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js → useOptionallyControlledState-DbDuos5L-DbDuos5L.js} +9 -3
  86. package/dist/useOptionallyControlledState-DbDuos5L-DbDuos5L.js.map +1 -0
  87. package/dist/usePopoverSupport-B9Lsqryr-CYJxXiun.js +15 -0
  88. package/dist/usePopoverSupport-B9Lsqryr-CYJxXiun.js.map +1 -0
  89. package/package.json +2 -2
  90. package/dist/DateFieldYearless-CAUHW6Ow-EUWxJ0OY.js.map +0 -1
  91. package/dist/ListView-DdHpJHTc.js.map +0 -1
  92. package/dist/assets/icons/st/ai_mark.svg +0 -1
  93. package/dist/useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js.map +0 -1
  94. package/dist/usePopoverSupport-B9Lsqryr-DhZHMoNb.js.map +0 -1
  95. /package/dist/{Breadcrumbs-B5bqrZ5D.css → Breadcrumbs-BMbkH9hL.css} +0 -0
  96. /package/dist/{Calendar-DD5kmVd3.css → Calendar-BvftKznl.css} +0 -0
  97. /package/dist/{Link-Dqp_XXl_.css → Link-MiffPrW9.css} +0 -0
  98. /package/dist/{SelectCard-DUNwYa5y.css → SelectCard-LSAl_7Lh.css} +0 -0
package/dist/index.js CHANGED
@@ -2,20 +2,20 @@ export { A as Alert } from './Alert-DipY5OlC.js';
2
2
  export { A as Announcement } from './Announcement-ButSjdLn.js';
3
3
  export { A as Avatar, a as AvatarGroup } from './Avatar-DREZJN2K.js';
4
4
  export { B as Badge } from './Badge-7aZfE-LH.js';
5
- export { B as Breadcrumbs, a as BreadcrumbsElement, b as BreadcrumbsLink } from './Breadcrumbs-De8uoLi8.js';
5
+ export { B as Breadcrumbs, a as BreadcrumbsElement, b as BreadcrumbsLink } from './Breadcrumbs-fthw3qaL.js';
6
6
  export { B as Button } from './Button-DMQKV2sV.js';
7
7
  export { B as ButtonCompound } from './ButtonCompound-DGuF0zzT.js';
8
8
  export { B as ButtonLink } from './ButtonLink-B0NJuVk5.js';
9
9
  export { B as ButtonToggle } from './ButtonToggle-CKVyEODc.js';
10
- export { C as Calendar, b as CalendarMonth, e as CalendarMonthButton, c as CalendarNext, a as CalendarNow, d as CalendarPrev, f as CalendarYearButton } from './Calendar-Bgpz99F2.js';
10
+ export { C as Calendar, b as CalendarMonth, e as CalendarMonthButton, c as CalendarNext, a as CalendarNow, d as CalendarPrev, f as CalendarYearButton } from './Calendar-DdOR9T_K.js';
11
11
  export { C as Card } from './Card-U2IJPk8B.js';
12
12
  export { C as Checkbox, a as CheckboxGroup } from './Checkbox-zg8LVvB6.js';
13
13
  export { C as Chip } from './Chip-DXQiqF8k.js';
14
14
  export { C as Combobox, c as ComboboxContent, a as ComboboxElement, i as ComboboxEmpty, g as ComboboxItem, h as ComboboxItemAddNew, f as ComboboxList, d as ComboboxSearchField, b as ComboboxSelect, e as ComboboxSelectTrigger, u as useInfiniteCombobox } from './Combobox-Ct30JT3y.js';
15
- export { D as DateField } from './DateField-_TqCdcYv.js';
16
- export { D as DateFieldRange } from './DateFieldRange-Dk8WA52F.js';
17
- export { D as DateFieldSingle } from './DateFieldSingle-D3xD8YZk.js';
18
- export { D as DateFieldYearless } from './DateFieldYearless-BxkCSNk5.js';
15
+ export { D as DateField } from './DateField-Bqsnpt8S.js';
16
+ export { D as DateFieldRange } from './DateFieldRange-Cax7Kl9A.js';
17
+ export { D as DateFieldSingle } from './DateFieldSingle-bMX770gU.js';
18
+ export { D as DateFieldYearless } from './DateFieldYearless-ClNYTBK_.js';
19
19
  export { D as DaysOfTheWeek } from './DaysOfTheWeek-ImBPjEvl.js';
20
20
  export { D as Details, b as DetailsContent, a as DetailsSummary } from './Details-DVg0EOkv.js';
21
21
  export { D as Dialog, d as DialogCancelButton, c as DialogContent, b as DialogFooter, a as DialogHeader } from './Dialog-BR6f-XRH.js';
@@ -29,21 +29,22 @@ export { F as FieldMessage } from './FieldMessage-DkJ0K5s-.js';
29
29
  export { F as Flex } from './Flex-Ln6PmaDl.js';
30
30
  export { G as Grid } from './Grid-CMcDeSYT.js';
31
31
  export { I as Icon } from './Icon-BgKqBmlj.js';
32
- export { I as InputMask } from './InputMask-wUro4G2j.js';
32
+ export { I as InputMask } from './InputMask-BOUlnmiF.js';
33
33
  export { L as Layout, a as LayoutElement, b as LayoutItem } from './Layout-CUUb2PVr.js';
34
- export { L as Link } from './Link-DZa0wmkA.js';
34
+ export { L as Link } from './Link-C4N_cV3i.js';
35
35
  export { L as Listbox, a as ListboxOption, b as ListboxOptionGroup } from './Listbox-Di6OS1Fk.js';
36
- export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-DdHpJHTc.js';
36
+ export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-DVPhWDCM.js';
37
37
  export { M as Menu, a as MenuItem } from './Menu-DHCOMJx2.js';
38
+ export { N as NumberField } from './NumberField-C9lMsPMD.js';
38
39
  export { O as Overflow, a as OverflowText } from './Overflow-w-3_04fS.js';
39
- export { P as Page } from './Page-CxB5N9dR.js';
40
+ export { P as Page } from './Page-CGAylFKz.js';
40
41
  export { P as Pagination } from './Pagination-DU_qvFRR.js';
41
42
  export { P as Popover, d as PopoverButton, c as PopoverClose, b as PopoverContent, a as PopoverTrigger } from './Popover-BPiqdyu1.js';
42
43
  export { P as ProgressBar } from './ProgressBar-lPKNTz6i.js';
43
44
  export { R as Radio, a as RadioGroup } from './Radio-DnOuBPi_.js';
44
45
  export { S as SearchField } from './SearchField-BGPqpnVd.js';
45
- export { S as SegmentedControl, a as SegmentedControlSegment } from './SegmentedControl-DKMQuf7s.js';
46
- export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup } from './SelectCardGroup-YGYiBv5M.js';
46
+ export { S as SegmentedControl, a as SegmentedControlSegment } from './SegmentedControl-DY1PSYmd.js';
47
+ export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup } from './SelectCardGroup-u_QKdeRZ.js';
47
48
  export { S as SelectTrigger } from './SelectTrigger-Cg-rlFKY.js';
48
49
  export { S as SideNav, a as SideNavCollapsible, b as SideNavGroup, c as SideNavLink } from './SideNav-Bh_pVeEw.js';
49
50
  export { S as Skeleton, a as SkeletonCircle, b as SkeletonPill, c as SkeletonRectangle, d as SkeletonText } from './Skeleton-COxTdwjO.js';
@@ -53,15 +54,15 @@ export { S as Stepper, d as StepperFinalPanel, a as StepperList, e as StepperNex
53
54
  export { S as Switch } from './Switch-DAQFzi-X.js';
54
55
  export { T as Tab, a as TabButton, b as TabList, c as TabPanel } from './Tab-BSC7e4rM.js';
55
56
  export { T as Text } from './Text-35Ve4Uq0.js';
56
- export { T as Textarea } from './Textarea-DohNOiIp.js';
57
- export { T as TextField } from './TextField-gYAqTpcX.js';
58
- export { T as TimeField } from './TimeField-DRHLRqN3.js';
57
+ export { T as Textarea } from './Textarea-D2AAZ1L3.js';
58
+ export { T as TextField } from './TextField-B364hxo8.js';
59
+ export { T as TimeField } from './TimeField-tA9uo4lK.js';
59
60
  export { T as Toaster, t as toast } from './toast-BhV_Ask2.js';
60
61
  export { T as Toolbar, b as ToolbarButton, d as ToolbarButtonLink, c as ToolbarButtonToggle, a as ToolbarElement, e as ToolbarSelect } from './Toolbar-CSWhVSUM.js';
61
62
  export { T as Tooltip, b as TooltipContent, a as TooltipTrigger } from './Tooltip-C2HQDvYj.js';
62
63
  export { u as useAccessibleColor } from './useAccessibleColor-Dc6B_M-Z-BYKjkGRg.js';
63
64
  export { u as useBreakpoint } from './useBreakpoint-7QkBkSeP-Cv5fnZxs.js';
64
- export { u as useLinkStyles } from './Link-Dqp_XXl_-Bv20l_tY.js';
65
+ export { u as useLinkStyles } from './Link-MiffPrW9-Cx1zYWSF.js';
65
66
  export { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
66
67
  export { u as usePrefersColorScheme } from './usePrefersColorScheme-_hT7dK7_-_hT7dK7_.js';
67
68
  export { u as useSwipe } from './useSwipe-CULmVQEk-CULmVQEk.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,64 @@
1
+ import { useState, useRef, useCallback, useEffect } from 'react';
2
+
3
+ function usePrevious(value, initialValue) {
4
+ const ref = useRef(initialValue);
5
+ useEffect(() => {
6
+ ref.current = value;
7
+ }, [value]);
8
+ return ref.current;
9
+ }
10
+
11
+ function containsRelatedTarget(event) {
12
+ if (event.currentTarget instanceof HTMLElement && event.relatedTarget instanceof HTMLElement) {
13
+ return event.currentTarget.contains(event.relatedTarget);
14
+ }
15
+ return false;
16
+ }
17
+ function useFocusWithin({
18
+ onBlur,
19
+ onFocus
20
+ } = {}) {
21
+ const [focused, setFocused] = useState(false);
22
+ const focusedRef = useRef(false);
23
+ const elementRef = useRef(null);
24
+ const _setFocused = useCallback((value) => {
25
+ setFocused(value);
26
+ focusedRef.current = value;
27
+ }, []);
28
+ const handleFocusIn = useCallback(
29
+ (event) => {
30
+ if (!focusedRef.current) {
31
+ _setFocused(true);
32
+ onFocus?.(event);
33
+ }
34
+ },
35
+ // eslint-disable-next-line react-hooks/exhaustive-deps
36
+ [onFocus]
37
+ );
38
+ const handleFocusOut = useCallback(
39
+ (event) => {
40
+ if (focusedRef.current && !containsRelatedTarget(event)) {
41
+ _setFocused(false);
42
+ onBlur?.(event);
43
+ }
44
+ },
45
+ // eslint-disable-next-line react-hooks/exhaustive-deps
46
+ [onBlur]
47
+ );
48
+ useEffect(() => {
49
+ const element = elementRef.current;
50
+ if (!element) {
51
+ return;
52
+ }
53
+ element.addEventListener("focusin", handleFocusIn);
54
+ element.addEventListener("focusout", handleFocusOut);
55
+ return () => {
56
+ element.removeEventListener("focusin", handleFocusIn);
57
+ element.removeEventListener("focusout", handleFocusOut);
58
+ };
59
+ }, [handleFocusIn, handleFocusOut]);
60
+ return { ref: elementRef, focused };
61
+ }
62
+
63
+ export { usePrevious as a, useFocusWithin as u };
64
+ //# sourceMappingURL=useFocusWithin-Cxz14Zyz-DEudRcSI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFocusWithin-Cxz14Zyz-DEudRcSI.js","sources":["../../hammer-react/dist/useFocusWithin-Cxz14Zyz.js"],"sourcesContent":["import { useRef, useEffect, useState, useCallback } from 'react';\n\nfunction usePrevious(value, initialValue) {\n const ref = useRef(initialValue);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nfunction containsRelatedTarget(event) {\n if (event.currentTarget instanceof HTMLElement && event.relatedTarget instanceof HTMLElement) {\n return event.currentTarget.contains(event.relatedTarget);\n }\n return false;\n}\nfunction useFocusWithin({\n onBlur,\n onFocus\n} = {}) {\n const [focused, setFocused] = useState(false);\n const focusedRef = useRef(false);\n const elementRef = useRef(null);\n const _setFocused = useCallback((value) => {\n setFocused(value);\n focusedRef.current = value;\n }, []);\n const handleFocusIn = useCallback(\n (event) => {\n if (!focusedRef.current) {\n _setFocused(true);\n onFocus?.(event);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onFocus]\n );\n const handleFocusOut = useCallback(\n (event) => {\n if (focusedRef.current && !containsRelatedTarget(event)) {\n _setFocused(false);\n onBlur?.(event);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onBlur]\n );\n useEffect(() => {\n const element = elementRef.current;\n if (!element) {\n return;\n }\n element.addEventListener(\"focusin\", handleFocusIn);\n element.addEventListener(\"focusout\", handleFocusOut);\n return () => {\n element.removeEventListener(\"focusin\", handleFocusIn);\n element.removeEventListener(\"focusout\", handleFocusOut);\n };\n }, [handleFocusIn, handleFocusOut]);\n return { ref: elementRef, focused };\n}\n\nexport { useFocusWithin as a, usePrevious as u };\n//# sourceMappingURL=useFocusWithin-Cxz14Zyz.js.map\n"],"names":[],"mappings":";;AAEA,SAAS,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE;AAC1C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;AAClC,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,GAAG,CAAC,OAAO,GAAG,KAAK;AACvB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACb,EAAE,OAAO,GAAG,CAAC,OAAO;AACpB;;AAEA,SAAS,qBAAqB,CAAC,KAAK,EAAE;AACtC,EAAE,IAAI,KAAK,CAAC,aAAa,YAAY,WAAW,IAAI,KAAK,CAAC,aAAa,YAAY,WAAW,EAAE;AAChG,IAAI,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;AAC5D;AACA,EAAE,OAAO,KAAK;AACd;AACA,SAAS,cAAc,CAAC;AACxB,EAAE,MAAM;AACR,EAAE;AACF,CAAC,GAAG,EAAE,EAAE;AACR,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC/C,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAClC,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;AACjC,EAAE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,KAAK,KAAK;AAC7C,IAAI,UAAU,CAAC,KAAK,CAAC;AACrB,IAAI,UAAU,CAAC,OAAO,GAAG,KAAK;AAC9B,GAAG,EAAE,EAAE,CAAC;AACR,EAAE,MAAM,aAAa,GAAG,WAAW;AACnC,IAAI,CAAC,KAAK,KAAK;AACf,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC/B,QAAQ,WAAW,CAAC,IAAI,CAAC;AACzB,QAAQ,OAAO,GAAG,KAAK,CAAC;AACxB;AACA,KAAK;AACL;AACA,IAAI,CAAC,OAAO;AACZ,GAAG;AACH,EAAE,MAAM,cAAc,GAAG,WAAW;AACpC,IAAI,CAAC,KAAK,KAAK;AACf,MAAM,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;AAC/D,QAAQ,WAAW,CAAC,KAAK,CAAC;AAC1B,QAAQ,MAAM,GAAG,KAAK,CAAC;AACvB;AACA,KAAK;AACL;AACA,IAAI,CAAC,MAAM;AACX,GAAG;AACH,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO;AACtC,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM;AACN;AACA,IAAI,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;AACtD,IAAI,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC;AACxD,IAAI,OAAO,MAAM;AACjB,MAAM,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AAC3D,MAAM,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC;AAC7D,KAAK;AACL,GAAG,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACrC,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE;AACrC;;;;"}
@@ -1,2 +1,2 @@
1
- export { u as default, u as useLinkStyles } from './Link-Dqp_XXl_-Bv20l_tY.js';
1
+ export { u as default, u as useLinkStyles } from './Link-MiffPrW9-Cx1zYWSF.js';
2
2
  //# sourceMappingURL=useLinkStyles.js.map
@@ -15,12 +15,18 @@ function useOptionallyControlledState({
15
15
  if (!isControlled) {
16
16
  setInternalValue(newValue);
17
17
  }
18
- onChange?.(newValue);
18
+ if (typeof newValue === "function") {
19
+ onChange?.(
20
+ newValue(value) ?? value
21
+ );
22
+ } else {
23
+ onChange?.(newValue);
24
+ }
19
25
  },
20
- [isControlled, onChange]
26
+ [isControlled, onChange, value]
21
27
  );
22
28
  return [value, setValue];
23
29
  }
24
30
 
25
31
  export { useOptionallyControlledState as u };
26
- //# sourceMappingURL=useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js.map
32
+ //# sourceMappingURL=useOptionallyControlledState-DbDuos5L-DbDuos5L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOptionallyControlledState-DbDuos5L-DbDuos5L.js","sources":["../../hammer-react/dist/useOptionallyControlledState-DbDuos5L.js"],"sourcesContent":["import { useState, useCallback } from 'react';\n\nfunction useOptionallyControlledState({\n controlledValue,\n defaultValue,\n onChange\n}) {\n const [internalValue, setInternalValue] = useState(\n defaultValue\n );\n const isControlled = controlledValue !== void 0;\n const value = isControlled ? controlledValue : internalValue;\n const setValue = useCallback(\n (newValue) => {\n if (!isControlled) {\n setInternalValue(newValue);\n }\n if (typeof newValue === \"function\") {\n onChange?.(\n newValue(value) ?? value\n );\n } else {\n onChange?.(newValue);\n }\n },\n [isControlled, onChange, value]\n );\n return [value, setValue];\n}\n\nexport { useOptionallyControlledState as u };\n//# sourceMappingURL=useOptionallyControlledState-DbDuos5L.js.map\n"],"names":[],"mappings":";;AAEA,SAAS,4BAA4B,CAAC;AACtC,EAAE,eAAe;AACjB,EAAE,YAAY;AACd,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ;AACpD,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,YAAY,GAAG,eAAe,KAAK,MAAM;AACjD,EAAE,MAAM,KAAK,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa;AAC9D,EAAE,MAAM,QAAQ,GAAG,WAAW;AAC9B,IAAI,CAAC,QAAQ,KAAK;AAClB,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,gBAAgB,CAAC,QAAQ,CAAC;AAClC;AACA,MAAM,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC1C,QAAQ,QAAQ;AAChB,UAAU,QAAQ,CAAC,KAAK,CAAC,IAAI;AAC7B,SAAS;AACT,OAAO,MAAM;AACb,QAAQ,QAAQ,GAAG,QAAQ,CAAC;AAC5B;AACA,KAAK;AACL,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK;AAClC,GAAG;AACH,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1B;;;;"}
@@ -0,0 +1,15 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { s as supportsPopover } from './ProgressBar-BRvB-bD4-DppwBrFg.js';
3
+
4
+ function usePopoverSupport() {
5
+ const [popoverSupported, setPopoverSupported] = useState(
6
+ void 0
7
+ );
8
+ useEffect(() => {
9
+ setPopoverSupported(supportsPopover());
10
+ }, []);
11
+ return popoverSupported;
12
+ }
13
+
14
+ export { usePopoverSupport as u };
15
+ //# sourceMappingURL=usePopoverSupport-B9Lsqryr-CYJxXiun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePopoverSupport-B9Lsqryr-CYJxXiun.js","sources":["../../hammer-react/dist/usePopoverSupport-B9Lsqryr.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { s as supportsPopover } from './ProgressBar-BRvB-bD4.js';\n\nfunction usePopoverSupport() {\n const [popoverSupported, setPopoverSupported] = useState(\n void 0\n );\n useEffect(() => {\n setPopoverSupported(supportsPopover());\n }, []);\n return popoverSupported;\n}\n\nexport { usePopoverSupport as u };\n//# sourceMappingURL=usePopoverSupport-B9Lsqryr.js.map\n"],"names":[],"mappings":";;;AAGA,SAAS,iBAAiB,GAAG;AAC7B,EAAE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ;AAC1D,IAAI;AACJ,GAAG;AACH,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,mBAAmB,CAAC,eAAe,EAAE,CAAC;AAC1C,GAAG,EAAE,EAAE,CAAC;AACR,EAAE,OAAO,gBAAgB;AACzB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/anvil2",
3
- "version": "1.43.2",
3
+ "version": "1.44.0",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "@servicetitan/anvil-fonts": ">=14",
27
27
  "classnames": "^2.5.1",
28
28
  "@servicetitan/hammer-icon": "1.2.0",
29
- "@servicetitan/hammer-react": "1.41.1",
29
+ "@servicetitan/hammer-react": "1.42.0",
30
30
  "@servicetitan/hammer-token": "2.5.0"
31
31
  },
32
32
  "peerDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateFieldYearless-CAUHW6Ow-EUWxJ0OY.js","sources":["../../hammer-react/dist/DateFieldYearless-CAUHW6Ow.js"],"sourcesContent":["import { jsx, jsxs } from 'react/jsx-runtime';\nimport { maskitoDateOptionsGenerator, maskitoWithPlaceholder, maskitoParseDate, maskitoDateRangeOptionsGenerator } from '@maskito/kit';\nimport { useMaskito } from '@maskito/react';\nimport { T as TextField } from './TextField-CRTh0gL_.js';\nimport { useRef, useEffect, forwardRef, useState, useMemo, useImperativeHandle, useCallback } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\nimport { DateTime } from 'luxon';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport Event from '@servicetitan/hammer-icon/mdi/round/event.svg';\nimport { P as Popover } from './Popover-CU2cGVD8.js';\nimport { C as Calendar } from './Calendar-DD5kmVd3.js';\nimport { u as usePopoverSupport } from './usePopoverSupport-B9Lsqryr.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\nimport { u as useMergeRefs$1 } from './useMergeRefs-Bde85AWI.js';\nimport { u as usePopoverCloseDelayWorkaround } from './usePopoverCloseDelayWorkaround-BZcjPkvT.js';\nimport { u as useKeyboardFocusables } from './useKeyboardFocusables-CwVMAe5C.js';\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nconst makeZeroShortcutPreprocessor = (templateString, separator) => {\n const zeroShortcutPreprocessor = ({ elementState, data }, actionType) => {\n if (actionType === \"insert\" && // the user is inserting a character\n data === separator && // the user typed the separator character\n elementState.selection[0] === elementState.selection[1]) {\n const selectionIndex = elementState.selection[0];\n const separatorPositions = templateString.split(\"\").map((char, index) => char === separator ? index : null).filter((position) => position !== null).filter((position) => position > selectionIndex);\n const noRemainingSegments = !separatorPositions.length;\n const nothingEnteredYet = !elementState.value.length;\n const previousCharacterIsNotADigit = !/^\\d$/.test(\n elementState.value.slice(-1)\n );\n const currentCharacterIsSeparator = templateString[selectionIndex] === separator;\n if (noRemainingSegments || nothingEnteredYet || previousCharacterIsNotADigit || currentCharacterIsSeparator) {\n return { elementState, data };\n }\n const firstIndexOfSegment = Math.max(\n elementState.value.lastIndexOf(separator) + 1,\n elementState.value.lastIndexOf(\" \") + 1,\n 0\n );\n const lastIndexOfSegment = separatorPositions[0];\n const digitsCurrentlyInSegment = elementState.value.slice(firstIndexOfSegment);\n const targetNumberOfDigitsInSegment = templateString.slice(\n firstIndexOfSegment,\n lastIndexOfSegment\n ).length;\n const newSegment = digitsCurrentlyInSegment.padStart(\n targetNumberOfDigitsInSegment,\n \"0\"\n );\n const newValue = `${elementState.value.slice(0, firstIndexOfSegment)}${newSegment}`;\n return {\n elementState: {\n value: newValue + data,\n selection: [newValue.length, newValue.length]\n },\n data\n };\n }\n return { elementState, data };\n };\n return zeroShortcutPreprocessor;\n};\n\nconst datePlaceholderMask$1 = ({\n mode,\n separator = \"/\",\n placeholder\n}) => {\n const dateOptions = maskitoDateOptionsGenerator({\n mode,\n separator\n });\n const { plugins, removePlaceholder, ...placeholderOptions } = maskitoWithPlaceholder(placeholder);\n const datePlaceholderMask2 = {\n ...dateOptions,\n plugins: plugins.concat(dateOptions.plugins || []),\n preprocessors: [\n ...placeholderOptions.preprocessors,\n ...dateOptions.preprocessors,\n makeZeroShortcutPreprocessor(mode, separator)\n ],\n postprocessors: [\n ...dateOptions.postprocessors,\n ...placeholderOptions.postprocessors\n ]\n };\n return { options: datePlaceholderMask2, removePlaceholder };\n};\n\nconst DateModeToFormatMap = {\n \"mm/dd/yyyy\": \"MM/dd/yyyy\",\n \"dd/mm/yyyy\": \"dd/MM/yyyy\",\n \"yyyy/mm/dd\": \"yyyy/MM/dd\"\n};\nconst DateModeToPlaceholderMap = {\n \"dd/mm/yyyy\": \"__/__/____\",\n \"mm/dd/yyyy\": \"__/__/____\",\n \"yyyy/mm/dd\": \"____/__/__\"\n};\n\nconst MaskedDateInput = forwardRef(\n ({\n onChange,\n mode = \"mm/dd/yyyy\",\n lastValidDate,\n disableHint = false,\n ...props\n }, ref) => {\n const placeholder = DateModeToPlaceholderMap[mode];\n const [inputValue, setInputValue] = useState(placeholder);\n const { options, removePlaceholder } = datePlaceholderMask$1({\n mode,\n placeholder\n });\n const maskedInputRef = useMaskito({ options });\n const inputRef = useRef(null);\n const combinedRef = useMergeRefs([maskedInputRef, inputRef, ref]);\n const previousDateRef = useRef(null);\n const previousMode = usePrevious(mode);\n useEffect(() => {\n if (mode !== previousMode) {\n setInputValue(\n (oldInputValue) => swapMode$2(oldInputValue, previousMode ?? mode, mode)\n );\n }\n }, [mode, previousMode]);\n useEffect(() => {\n if (lastValidDate === void 0) return;\n if (lastValidDate === previousDateRef.current) return;\n if (!lastValidDate?.equals(previousDateRef.current ?? DateTime.now())) {\n setInputValue(\n lastValidDate?.toFormat(DateModeToFormatMap[mode]) ?? placeholder\n );\n previousDateRef.current = lastValidDate;\n }\n }, [lastValidDate, mode, placeholder]);\n const currentParsedData = useMemo(() => {\n return parseInputValue$1(inputValue, mode, removePlaceholder);\n }, [inputValue, mode, removePlaceholder]);\n const handleChange = (event) => {\n setInputValue(event.target.value);\n const { date, isInputValid, isInputEmpty } = parseInputValue$1(\n event.target.value,\n mode,\n removePlaceholder\n );\n const isValueDifferent = isInputValid !== currentParsedData.isInputValid || // The input has changed validity\n isInputEmpty !== currentParsedData.isInputEmpty || // The input has changed emptiness\n date === null !== (lastValidDate === null) || // The input has changed from empty to non-empty or vice versa\n date !== null && lastValidDate !== null && !date.equals(lastValidDate);\n if (!isValueDifferent) return;\n onChange?.({\n date: date ?? lastValidDate ?? null,\n isInputValid,\n isInputEmpty\n });\n };\n useImperativeHandle(ref, () => {\n const input = inputRef.current;\n if (!input) return null;\n return Object.assign(input, {\n setDate: (date) => {\n setInputValue(\n date?.toFormat(DateModeToFormatMap[mode]) ?? placeholder\n );\n }\n });\n }, [mode, placeholder]);\n return /* @__PURE__ */ jsx(\n TextField,\n {\n ref: combinedRef,\n \"data-date\": lastValidDate?.toISODate() ?? \"\",\n \"data-input-valid\": currentParsedData.isInputValid,\n \"data-input-empty\": currentParsedData.isInputEmpty,\n ...props,\n showCounter: false,\n value: inputValue,\n onChange: handleChange,\n prefix: /* @__PURE__ */ jsx(Icon, { svg: Event }),\n hint: disableHint ? void 0 : `Format: ${mode}`\n }\n );\n }\n);\nMaskedDateInput.displayName = \"MaskedDateInput\";\nfunction parseInputValue$1(value, mode, removePlaceholder) {\n const valueMinusPlaceholder = removePlaceholder(value);\n const jsDate = maskitoParseDate(valueMinusPlaceholder, { mode });\n const luxonDate = jsDate ? DateTime.fromJSDate(jsDate, { zone: \"utc\" }) : null;\n return {\n date: luxonDate,\n isInputValid: !!luxonDate,\n isInputEmpty: valueMinusPlaceholder === \"\"\n };\n}\nfunction swapMode$2(inputString, previousMode, mode) {\n const { day, month, year } = divideSegments$1(inputString, previousMode);\n return orderSegmentsByMode(day, month, year, mode);\n}\nfunction divideSegments$1(value, mode) {\n const [segment1, segment2, segment3] = value.split(\"/\");\n if (mode === \"dd/mm/yyyy\") {\n return { day: segment1, month: segment2, year: segment3 };\n } else if (mode === \"mm/dd/yyyy\") {\n return { day: segment2, month: segment1, year: segment3 };\n } else if (mode === \"yyyy/mm/dd\") {\n return { day: segment3, month: segment2, year: segment1 };\n }\n return { day: \"__\", month: \"__\", year: \"____\" };\n}\nfunction orderSegmentsByMode(day, month, year, mode) {\n if (mode === \"dd/mm/yyyy\") {\n return `${day}/${month}/${year}`;\n } else if (mode === \"mm/dd/yyyy\") {\n return `${month}/${day}/${year}`;\n } else if (mode === \"yyyy/mm/dd\") {\n return `${year}/${month}/${day}`;\n } else {\n return \"\";\n }\n}\n\nfunction containsRelatedTarget(event) {\n if (event.currentTarget instanceof HTMLElement && event.relatedTarget instanceof HTMLElement) {\n return event.currentTarget.contains(event.relatedTarget);\n }\n return false;\n}\nfunction useFocusWithin({\n onBlur,\n onFocus\n} = {}) {\n const [focused, setFocused] = useState(false);\n const focusedRef = useRef(false);\n const elementRef = useRef(null);\n const _setFocused = useCallback((value) => {\n setFocused(value);\n focusedRef.current = value;\n }, []);\n const handleFocusIn = useCallback(\n (event) => {\n if (!focusedRef.current) {\n _setFocused(true);\n onFocus?.(event);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onFocus]\n );\n const handleFocusOut = useCallback(\n (event) => {\n if (focusedRef.current && !containsRelatedTarget(event)) {\n _setFocused(false);\n onBlur?.(event);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onBlur]\n );\n useEffect(() => {\n const element = elementRef.current;\n if (!element) {\n return;\n }\n element.addEventListener(\"focusin\", handleFocusIn);\n element.addEventListener(\"focusout\", handleFocusOut);\n return () => {\n element.removeEventListener(\"focusin\", handleFocusIn);\n element.removeEventListener(\"focusout\", handleFocusOut);\n };\n }, [handleFocusIn, handleFocusOut]);\n return { ref: elementRef, focused };\n}\n\nfunction convertStringToDate(v) {\n if (v === void 0 || v === null) {\n return v;\n }\n const date = DateTime.fromISO(v, { setZone: true, zone: \"utc\" }).startOf(\n \"day\"\n );\n if (date.isValid) {\n return date;\n }\n return null;\n}\nfunction validateDate({\n date,\n constraints\n}) {\n const { required, unavailable, minDate, maxDate } = constraints;\n if (!date) {\n return required ? false : true;\n }\n if (unavailable?.dates?.some((d) => d.equals(date))) {\n return false;\n }\n if (unavailable?.daysOfWeek?.includes(date.weekday)) {\n return false;\n }\n if (minDate && date < minDate) {\n return false;\n }\n if (maxDate && date > maxDate) {\n return false;\n }\n return true;\n}\nfunction validateYearlessDate({\n value,\n constraints\n}) {\n const { required, unavailable, minDate, maxDate } = constraints;\n if (!value || !value?.day && !value?.month) {\n return required ? false : true;\n }\n if (value.day === null || value.month === null) {\n return false;\n }\n if (unavailable?.dates?.some(\n (d) => d.day === value.day && d.month === value.month\n )) {\n return false;\n }\n const minDateMonth = minDate?.month ?? 1;\n const minDateDay = minDate?.day ?? 1;\n const maxDateMonth = maxDate?.month ?? 12;\n const maxDateDay = maxDate?.day ?? 31;\n if (value.month < minDateMonth || // Earlier month\n value.month === minDateMonth && value.day < minDateDay) {\n return false;\n }\n if (value.month > maxDateMonth || // Later month\n value.month === maxDateMonth && value.day > maxDateDay) {\n return false;\n }\n return true;\n}\n\nfunction useDateFieldSingleConversion({\n value,\n defaultValue,\n minDate,\n maxDate,\n unavailable,\n onChange\n}) {\n const normalizedValue = useMemo(() => convertStringToDate(value), [value]);\n const normalizedDefaultValue = useMemo(\n () => convertStringToDate(defaultValue),\n [defaultValue]\n );\n const normalizedMinDate = useMemo(\n () => convertStringToDate(minDate),\n [minDate]\n );\n const normalizedMaxDate = useMemo(\n () => convertStringToDate(maxDate),\n [maxDate]\n );\n const normalizedUnavailableDates = useMemo(\n () => unavailable?.dates?.map((d) => convertStringToDate(d)).filter((d) => d !== null && d !== void 0),\n [unavailable?.dates]\n );\n const handleChange = useCallback(\n (change) => {\n onChange?.({\n ...change,\n date: change.date?.toISODate() ?? null\n });\n },\n [onChange]\n );\n return {\n value: normalizedValue,\n defaultValue: normalizedDefaultValue,\n minDate: normalizedMinDate,\n maxDate: normalizedMaxDate,\n unavailable: {\n dates: normalizedUnavailableDates,\n daysOfWeek: unavailable?.daysOfWeek\n },\n onChange: handleChange\n };\n}\n\nfunction DateFieldSingleCalendar({\n onKeyDown,\n value,\n onSelection,\n minDate,\n maxDate,\n unavailable,\n ...rest\n}) {\n const handleCalendarSelection = (data) => {\n if (data.value) {\n const date = DateTime.fromISO(data.value, { zone: \"utc\" });\n onSelection(date);\n }\n };\n return /* @__PURE__ */ jsx(\n Calendar,\n {\n ...rest,\n range: false,\n onKeyDown,\n defaultFocusedDate: value?.toISODate() || DateTime.now().toISODate(),\n value: value?.toISODate() || void 0,\n onSelection: handleCalendarSelection,\n defaultTimeZone: \"UTC\",\n minDate: minDate?.toISODate() ?? void 0,\n maxDate: maxDate?.toISODate() ?? void 0,\n unavailable: unavailable ? {\n dates: unavailable.dates?.map((d) => d.toISODate() ?? \"\"),\n daysOfWeek: unavailable.daysOfWeek\n } : void 0,\n _disableAutofocus: true\n }\n );\n}\n\nconst useDateFieldOrchestration = ({\n inputRef,\n calendarDefaultOpen,\n popoverContentRef,\n disableCalendar = false\n}) => {\n const documentRef = useRef(document.body);\n const [calendarOpen, setCalendarOpen] = useState(calendarDefaultOpen);\n const { focusables } = useKeyboardFocusables(documentRef, {\n observeChange: true\n });\n const { focusables: popoverFocusables } = useKeyboardFocusables(\n popoverContentRef,\n {\n observeChange: true\n }\n );\n const pageFocusables = focusables?.filter(\n (item) => !popoverFocusables?.includes(item)\n );\n const handleCalendarKeyDown = (event) => {\n if (event.key === \"Escape\") {\n inputRef.current?.focus();\n }\n };\n const focusToCalendar = () => {\n if (popoverContentRef.current) {\n const currentFocusable = popoverContentRef.current.querySelectorAll('[tabindex = \"0\"]')[0];\n if (currentFocusable) {\n currentFocusable.focus();\n }\n }\n };\n const handleInputKeyDown = (ev) => {\n if (disableCalendar) {\n return;\n }\n let currentFocusIndex = 0;\n switch (ev.key) {\n case \"Escape\":\n setCalendarOpen(false);\n break;\n case \"Tab\":\n if (!calendarOpen || !pageFocusables?.length) {\n break;\n }\n ev.preventDefault();\n currentFocusIndex = pageFocusables.indexOf(inputRef.current) || 0;\n setCalendarOpen(false);\n if (ev.shiftKey) {\n if (currentFocusIndex === 0) {\n requestAnimationFrame(\n () => pageFocusables[pageFocusables.length - 1].focus()\n );\n } else {\n requestAnimationFrame(\n () => pageFocusables[currentFocusIndex - 1].focus()\n );\n }\n break;\n }\n if (pageFocusables.length > currentFocusIndex + 1) {\n requestAnimationFrame(\n () => pageFocusables[currentFocusIndex + 1].focus()\n );\n } else {\n requestAnimationFrame(() => pageFocusables[0].focus());\n }\n break;\n case \"ArrowDown\":\n if (!calendarOpen) {\n setCalendarOpen(true);\n setTimeout(focusToCalendar, 200);\n } else {\n focusToCalendar();\n }\n }\n };\n return {\n calendarOpen,\n setCalendarOpen,\n handleCalendarKeyDown,\n handleInputKeyDown\n };\n};\n\nfunction useDateFieldSingleState({\n valueProp,\n defaultValueProp,\n inputRef,\n onChange\n}) {\n const [value, setValue] = useOptionallyControlledState({\n controlledValue: valueProp,\n defaultValue: defaultValueProp\n });\n const setSharedValue = (date) => {\n inputRef.current?.setDate(date);\n setValue(date);\n };\n const handleInputChange = (change) => {\n const date = change.isInputEmpty ? null : change.date?.startOf(\"day\") ?? null;\n onChange?.({\n date,\n isInputValid: change.isInputValid,\n isInputEmpty: change.isInputEmpty\n });\n if (change.isInputValid) {\n setSharedValue(change.isInputEmpty ? null : change.date);\n }\n if (change.isInputEmpty) {\n setSharedValue(null);\n return;\n }\n if (change.date) {\n setSharedValue(change.date);\n }\n };\n const handleCalendarSelection = (date) => {\n setSharedValue(date);\n onChange?.({\n date,\n isInputValid: true,\n isInputEmpty: false\n });\n };\n return {\n value,\n setValue: setSharedValue,\n handleInputChange,\n handleCalendarSelection\n };\n}\n\nconst DateFieldSingle = ({\n onFocus,\n onBlur,\n disableCalendar,\n required,\n mode,\n value: valueProp,\n defaultValue: defaultValueProp,\n minDate: minDateProp,\n maxDate: maxDateProp,\n unavailable: unavailableProp,\n onChange: onChangeProp,\n ...rest\n}) => {\n const inputRef = useRef(null);\n const {\n value: normalizedValue,\n defaultValue: normalizedDefaultValue,\n minDate,\n maxDate,\n unavailable,\n onChange\n } = useDateFieldSingleConversion({\n value: valueProp,\n defaultValue: defaultValueProp,\n onChange: onChangeProp,\n minDate: minDateProp,\n maxDate: maxDateProp,\n unavailable: unavailableProp\n });\n const handleChange = (change) => {\n onChange?.({\n ...change,\n isDateValid: validateDate({\n date: change.date,\n constraints: {\n required,\n unavailable,\n minDate: minDate ?? void 0,\n maxDate: maxDate ?? void 0\n }\n })\n });\n };\n const { value, handleInputChange, handleCalendarSelection } = useDateFieldSingleState({\n valueProp: normalizedValue,\n defaultValueProp: normalizedDefaultValue,\n inputRef,\n onChange: handleChange\n });\n const { ref: wrapperRef } = useFocusWithin({\n onBlur,\n onFocus\n });\n const [popoverTriggerRef, setPopoverTriggerRef] = useState();\n const popoverContentRef = useRef(null);\n const combinedRef = useMergeRefs$1([popoverTriggerRef, inputRef]);\n const {\n calendarOpen,\n setCalendarOpen,\n handleCalendarKeyDown,\n handleInputKeyDown\n } = useDateFieldOrchestration({\n inputRef,\n calendarDefaultOpen: false,\n popoverContentRef,\n disableCalendar\n });\n const popoverSupported = usePopoverSupport();\n const shouldShowCalendar = usePopoverCloseDelayWorkaround(calendarOpen);\n const currentValidity = useMemo(\n () => validateDate({\n date: value,\n constraints: {\n required,\n unavailable,\n minDate: minDate ?? void 0,\n maxDate: maxDate ?? void 0\n }\n }),\n [value, required, unavailable, minDate, maxDate]\n );\n const justTheField = /* @__PURE__ */ jsx(\n MaskedDateInput,\n {\n ...rest,\n mode,\n ref: combinedRef,\n onChange: handleInputChange,\n onKeyDown: handleInputKeyDown,\n onClick: () => setCalendarOpen(true),\n lastValidDate: value,\n required,\n autoComplete: \"off\",\n \"data-date-valid\": currentValidity\n }\n );\n if (disableCalendar) {\n return justTheField;\n }\n if (!popoverSupported) {\n return justTheField;\n }\n return /* @__PURE__ */ jsx(\"div\", { ref: wrapperRef, children: /* @__PURE__ */ jsxs(\n Popover,\n {\n open: calendarOpen,\n modal: true,\n placement: \"bottom-start\",\n disableFlipFallback: true,\n disableTriggerFocus: true,\n onClose: () => setCalendarOpen(false),\n disableAutoUpdate: true,\n onClickOutside: () => setCalendarOpen(false),\n children: [\n /* @__PURE__ */ jsx(Popover.Trigger, { children: ({ ref: iRef }) => {\n setPopoverTriggerRef(iRef);\n return justTheField;\n } }),\n /* @__PURE__ */ jsx(Popover.Content, { ref: popoverContentRef, \"data-testid\": \"calendar-popover\", children: shouldShowCalendar && /* @__PURE__ */ jsx(\n DateFieldSingleCalendar,\n {\n onKeyDown: handleCalendarKeyDown,\n value,\n onSelection: handleCalendarSelection,\n minDate,\n maxDate,\n unavailable\n }\n ) })\n ]\n }\n ) });\n};\nDateFieldSingle.displayName = \"DateFieldSingle\";\n\nconst datePlaceholderMask = ({\n mode,\n dateSeparator = \"/\",\n rangeSeparator = \" - \",\n placeholder\n}) => {\n const dateRangeOptions = maskitoDateRangeOptionsGenerator({\n mode,\n dateSeparator,\n rangeSeparator\n });\n const { plugins, removePlaceholder, ...placeholderOptions } = maskitoWithPlaceholder(placeholder);\n const datePlaceholderMask2 = {\n ...dateRangeOptions,\n plugins: plugins.concat(dateRangeOptions.plugins || []),\n preprocessors: [\n ...placeholderOptions.preprocessors,\n ...dateRangeOptions.preprocessors,\n makeZeroShortcutPreprocessor(placeholder, dateSeparator)\n ],\n postprocessors: [\n // NOTE this is super fragile. If Maskito maintainers change the order of the post-processors, this will break.\n // The last postprocessor is the date swap postprocessor, which we don't want to run.\n // A unit test is added to ensure this doesn't break on a dependency update.\n ...dateRangeOptions.postprocessors.slice(0, -1),\n ...placeholderOptions.postprocessors\n ]\n };\n return { options: datePlaceholderMask2, removePlaceholder };\n};\n\nconst RANGE_SEPARATOR = \" - \";\nconst MaskedDateRangeInput = forwardRef(\n ({\n onChange,\n mode = \"mm/dd/yyyy\",\n startDate,\n endDate,\n disableHint = false,\n ...props\n }, ref) => {\n const halfPlaceholder = DateModeToPlaceholderMap[mode];\n const fullPlaceholder = `${halfPlaceholder}${RANGE_SEPARATOR}${halfPlaceholder}`;\n const [inputValue, setInputValue] = useState(fullPlaceholder);\n const { options, removePlaceholder } = datePlaceholderMask({\n mode,\n placeholder: fullPlaceholder,\n dateSeparator: \"/\",\n rangeSeparator: RANGE_SEPARATOR\n });\n const maskedInputRef = useMaskito({ options });\n const inputRef = useRef(null);\n const combinedRef = useMergeRefs([maskedInputRef, inputRef, ref]);\n const previousStartDate = usePrevious(startDate);\n const previousEndDate = usePrevious(endDate);\n const previousMode = usePrevious(mode);\n useEffect(() => {\n if (mode !== previousMode) {\n setInputValue(\n (previousInputValue) => swapMode$1(previousInputValue, previousMode ?? mode, mode)\n );\n }\n }, [mode, fullPlaceholder, previousMode]);\n useEffect(() => {\n if (startDate === void 0 || endDate === void 0) return;\n if (startDate === previousStartDate && endDate === previousEndDate)\n return;\n if (\n // plus one just represents a date that is guaranteed to be different.\n startDate?.equals(previousStartDate ?? startDate?.plus({ days: 1 })) && (endDate?.equals(previousEndDate ?? endDate?.plus({ days: 1 })) || endDate === previousEndDate)\n )\n return;\n const startDateString = startDate?.toFormat(DateModeToFormatMap[mode]) ?? halfPlaceholder;\n const endDateString = endDate?.toFormat(DateModeToFormatMap[mode]) ?? halfPlaceholder;\n const newInputValue = `${startDateString}${RANGE_SEPARATOR}${endDateString}`;\n setInputValue(newInputValue);\n }, [\n startDate,\n endDate,\n mode,\n halfPlaceholder,\n previousStartDate,\n previousEndDate\n ]);\n const currentParsedData = useMemo(() => {\n return parseRangeInputValue(inputValue, mode, removePlaceholder);\n }, [inputValue, mode, removePlaceholder]);\n const handleChange = (event) => {\n setInputValue(event.target.value);\n const {\n startDate: parsedStartDate,\n endDate: parsedEndDate,\n isInputValid,\n isInputEmpty,\n isHalfEmpty\n } = parseRangeInputValue(event.target.value, mode, removePlaceholder);\n const isValueDifferent = isInputValid !== currentParsedData.isInputValid || // The input has changed validity\n isInputEmpty !== currentParsedData.isInputEmpty || // The input has changed emptiness\n parsedStartDate === null !== (startDate === null) || // The start date has changed from empty to non-empty or vice versa\n parsedEndDate === null !== (endDate === null) || // The end date has changed from empty to non-empty or vice versa\n parsedStartDate !== null && startDate !== null && !parsedStartDate.equals(startDate) || // The start date has changed\n parsedEndDate !== null && endDate !== null && !parsedEndDate.equals(endDate);\n if (!isValueDifferent) return;\n onChange?.({\n startDate: isInputEmpty ? null : parsedStartDate ?? startDate ?? null,\n endDate: isInputEmpty || isHalfEmpty ? null : parsedEndDate ?? endDate ?? null,\n isInputValid,\n isInputEmpty\n });\n };\n useImperativeHandle(ref, () => {\n const input = inputRef.current;\n if (!input) return null;\n return Object.assign(input, {\n setDateRange: (startDate2, endDate2) => {\n const startDateString = startDate2?.toFormat(\n DateModeToFormatMap[mode]\n );\n const endDateString = endDate2?.toFormat(DateModeToFormatMap[mode]);\n const newInputValue = `${startDateString ?? halfPlaceholder}${RANGE_SEPARATOR}${endDateString ?? halfPlaceholder}`;\n setInputValue(newInputValue);\n }\n });\n }, [mode, halfPlaceholder]);\n return /* @__PURE__ */ jsx(\n TextField,\n {\n ref: combinedRef,\n \"data-start-date\": startDate?.toISODate() ?? \"\",\n \"data-end-date\": endDate?.toISODate() ?? \"\",\n \"data-input-valid\": currentParsedData.isInputValid,\n \"data-input-empty\": currentParsedData.isInputEmpty,\n ...props,\n showCounter: false,\n value: inputValue,\n onChange: handleChange,\n prefix: /* @__PURE__ */ jsx(Icon, { svg: Event }),\n hint: disableHint ? void 0 : `Format: ${mode}`\n }\n );\n }\n);\nMaskedDateRangeInput.displayName = \"MaskedDateRangeInput\";\nfunction parseRangeInputValue(value, mode, removePlaceholder) {\n const valueMinusPlaceholder = removePlaceholder(value);\n const [startDate, endDate] = valueMinusPlaceholder.split(RANGE_SEPARATOR);\n const startJsDate = maskitoParseDate(startDate, { mode });\n const endJsDate = endDate ? maskitoParseDate(endDate, { mode }) : null;\n const startLuxonDate = startJsDate ? DateTime.fromJSDate(startJsDate, { zone: \"utc\" }) : null;\n const endLuxonDate = endJsDate ? DateTime.fromJSDate(endJsDate, { zone: \"utc\" }) : null;\n return {\n startDate: startLuxonDate,\n endDate: endLuxonDate,\n isInputValid: !!(startLuxonDate && endLuxonDate),\n // input valid if both dates are filled\n isInputEmpty: valueMinusPlaceholder === \"\",\n // input empty if nothing is typed\n isHalfEmpty: endDate === void 0\n };\n}\nfunction swapMode$1(inputString, previousMode, mode) {\n const halves = inputString.split(RANGE_SEPARATOR);\n const segments = halves.map((half) => half.split(\"/\"));\n let startDay, startMonth, startYear, endDay, endMonth, endYear;\n if (previousMode === \"mm/dd/yyyy\") {\n startDay = segments[0][1];\n startMonth = segments[0][0];\n startYear = segments[0][2];\n endDay = segments[1][1];\n endMonth = segments[1][0];\n endYear = segments[1][2];\n }\n if (previousMode === \"dd/mm/yyyy\") {\n startDay = segments[0][0];\n startMonth = segments[0][1];\n startYear = segments[0][2];\n endDay = segments[1][0];\n endMonth = segments[1][1];\n endYear = segments[1][2];\n }\n if (previousMode === \"yyyy/mm/dd\") {\n startDay = segments[0][2];\n startMonth = segments[0][1];\n startYear = segments[0][0];\n endDay = segments[1][2];\n endMonth = segments[1][1];\n endYear = segments[1][0];\n }\n if (mode === \"mm/dd/yyyy\") {\n return `${startMonth}/${startDay}/${startYear}${RANGE_SEPARATOR}${endMonth}/${endDay}/${endYear}`;\n }\n if (mode === \"dd/mm/yyyy\") {\n return `${startDay}/${startMonth}/${startYear}${RANGE_SEPARATOR}${endDay}/${endMonth}/${endYear}`;\n }\n if (mode === \"yyyy/mm/dd\") {\n return `${startYear}/${startMonth}/${startDay}${RANGE_SEPARATOR}${endYear}/${endMonth}/${endDay}`;\n }\n return inputString;\n}\n\nconst useDateFieldRangeConversion = (props) => {\n const { value, defaultValue, minDate, maxDate, unavailable, onChange } = props;\n const normalizedValue = useMemo(() => {\n if (value === null || value === void 0) return value;\n return {\n startDate: convertStringToDate(value.startDate) ?? null,\n endDate: convertStringToDate(value.endDate) ?? null\n };\n }, [value]);\n const normalizedDefaultValue = useMemo(() => {\n if (defaultValue === null || defaultValue === void 0)\n return defaultValue;\n return {\n startDate: convertStringToDate(defaultValue.startDate) ?? null,\n endDate: convertStringToDate(defaultValue.endDate) ?? null\n };\n }, [defaultValue]);\n const normalizedMinDate = useMemo(\n () => convertStringToDate(minDate),\n [minDate]\n );\n const normalizedMaxDate = useMemo(\n () => convertStringToDate(maxDate),\n [maxDate]\n );\n const normalizedUnavailableDates = useMemo(() => {\n return unavailable?.dates?.map((date) => convertStringToDate(date)).filter((date) => date !== null && date !== void 0);\n }, [unavailable?.dates]);\n const handleChange = useCallback(\n (change) => {\n onChange?.({\n ...change,\n startDate: change.startDate?.toISODate() ?? null,\n endDate: change.endDate?.toISODate() ?? null\n });\n },\n [onChange]\n );\n return {\n value: normalizedValue,\n defaultValue: normalizedDefaultValue,\n minDate: normalizedMinDate,\n maxDate: normalizedMaxDate,\n unavailable: {\n dates: normalizedUnavailableDates,\n daysOfWeek: unavailable?.daysOfWeek\n },\n onChange: handleChange\n };\n};\n\nfunction useDateFieldRangeState({\n valueProp,\n defaultValueProp,\n inputRef,\n onChange\n}) {\n const [startDate, setStartDate] = useOptionallyControlledState({\n controlledValue: valueProp !== void 0 ? valueProp?.startDate : void 0,\n defaultValue: defaultValueProp !== void 0 ? defaultValueProp?.startDate : void 0\n });\n const [endDate, setEndDate] = useOptionallyControlledState({\n controlledValue: valueProp !== void 0 ? valueProp?.endDate : void 0,\n defaultValue: defaultValueProp !== void 0 ? defaultValueProp?.endDate : void 0\n });\n const setSharedValue = (value) => {\n inputRef.current?.setDateRange(value.startDate, value.endDate);\n setStartDate(value.startDate);\n setEndDate(value.endDate);\n };\n const handleInputChange = (change) => {\n const range = change.isInputEmpty ? null : {\n startDate: change.startDate?.startOf(\"day\") ?? null,\n endDate: change.endDate?.startOf(\"day\") ?? null\n };\n setStartDate(range?.startDate ?? null);\n setEndDate(range?.endDate ?? null);\n onChange?.({\n startDate: range?.startDate ?? null,\n endDate: range?.endDate ?? null,\n isInputValid: change.isInputValid,\n isInputEmpty: change.isInputEmpty\n });\n };\n const handleCalendarSelection = ({\n startDate: startDate2,\n endDate: endDate2\n }) => {\n setSharedValue({ startDate: startDate2, endDate: endDate2 });\n onChange?.({\n startDate: startDate2,\n endDate: endDate2,\n isInputValid: true,\n isInputEmpty: false\n });\n };\n return {\n startDate,\n endDate,\n setStartDate,\n setEndDate,\n handleInputChange,\n handleCalendarSelection\n };\n}\n\nconst DateFieldRangeCalendar = ({\n startDate,\n endDate,\n onKeyDown,\n onSelection,\n minDate,\n maxDate,\n unavailable\n}) => {\n const previousStartDate = usePrevious(startDate);\n const previousEndDate = usePrevious(endDate);\n const handleCalendarSelection = (data) => {\n if (!data.value) return;\n const calStartDate = data.value.start ? DateTime.fromISO(data.value.start, { zone: \"utc\" }) : null;\n const calEndDate = data.value.end ? DateTime.fromISO(data.value.end, { zone: \"utc\" }) : null;\n onSelection({\n startDate: calStartDate,\n endDate: calEndDate\n });\n };\n const defaultFocusedDate = useMemo(() => {\n if (!startDate && !endDate) return DateTime.now().toISODate();\n if (!startDate) return endDate?.toISODate();\n if (!endDate) return startDate?.toISODate();\n if (endDate && !previousEndDate?.equals(endDate)) {\n return endDate.toISODate();\n } else if (startDate && !previousStartDate?.equals(startDate)) {\n return startDate.toISODate();\n }\n if (endDate) return endDate.toISODate();\n if (startDate) return startDate.toISODate();\n return DateTime.now().toISODate();\n }, [previousStartDate, previousEndDate, startDate, endDate]);\n return /* @__PURE__ */ jsx(\n Calendar,\n {\n range: true,\n onKeyDown,\n defaultFocusedDate,\n value: {\n start: startDate?.toISODate() || void 0,\n end: endDate?.toISODate() || void 0\n },\n onSelection: handleCalendarSelection,\n defaultTimeZone: \"UTC\",\n minDate: minDate?.toISODate() ?? void 0,\n maxDate: maxDate?.toISODate() ?? void 0,\n unavailable: unavailable ? {\n dates: unavailable.dates?.map((d) => d.toISODate() ?? \"\"),\n daysOfWeek: unavailable.daysOfWeek\n } : void 0,\n _disableAutofocus: true\n },\n `${startDate?.toISODate()}-${endDate?.toISODate()}`\n );\n};\n\nconst DateFieldRange = ({\n onFocus,\n onBlur,\n disableCalendar,\n required,\n mode,\n value: valueProp,\n defaultValue: defaultValueProp,\n minDate: minDateProp,\n maxDate: maxDateProp,\n unavailable: unavailableProp,\n onChange: onChangeProp,\n ...rest\n}) => {\n const { ref: wrapperRef } = useFocusWithin({\n onBlur,\n onFocus\n });\n const { value, defaultValue, minDate, maxDate, unavailable, onChange } = useDateFieldRangeConversion({\n value: valueProp,\n defaultValue: defaultValueProp,\n minDate: minDateProp,\n maxDate: maxDateProp,\n unavailable: unavailableProp,\n onChange: onChangeProp\n });\n const inputRef = useRef(null);\n const [popoverTriggerRef, setPopoverTriggerRef] = useState();\n const popoverContentRef = useRef(null);\n const combinedRef = useMergeRefs$1([popoverTriggerRef, inputRef]);\n const popoverSupported = usePopoverSupport();\n const handleChange = (change) => {\n const sharedConstraints = {\n unavailable,\n minDate: minDate ?? void 0,\n maxDate: maxDate ?? void 0\n };\n onChange?.({\n startDate: change.startDate?.startOf(\"day\") ?? null,\n endDate: change.endDate?.startOf(\"day\") ?? null,\n isInputValid: change.isInputValid,\n isInputEmpty: change.isInputEmpty,\n isDateRangeValid: validateDateRange({\n required,\n startDate: change.startDate?.startOf(\"day\") ?? null,\n endDate: change.endDate?.startOf(\"day\") ?? null,\n startDateConstraints: sharedConstraints,\n endDateConstraints: sharedConstraints\n })\n });\n };\n const { startDate, endDate, handleInputChange, handleCalendarSelection } = useDateFieldRangeState({\n valueProp: value,\n defaultValueProp: defaultValue,\n inputRef,\n onChange: handleChange\n });\n const {\n calendarOpen,\n setCalendarOpen,\n handleCalendarKeyDown,\n handleInputKeyDown\n } = useDateFieldOrchestration({\n inputRef,\n calendarDefaultOpen: false,\n popoverContentRef,\n disableCalendar\n });\n const shouldShowCalendar = usePopoverCloseDelayWorkaround(calendarOpen);\n const currentValidity = useMemo(() => {\n return validateDateRange({\n required,\n startDate,\n endDate,\n startDateConstraints: {\n unavailable,\n minDate: minDate ?? void 0,\n maxDate: maxDate ?? void 0\n },\n endDateConstraints: {\n unavailable,\n minDate: minDate ?? void 0,\n maxDate: maxDate ?? void 0\n }\n });\n }, [required, startDate, endDate, minDate, maxDate, unavailable]);\n const justTheField = /* @__PURE__ */ jsx(\n MaskedDateRangeInput,\n {\n ...rest,\n mode,\n ref: combinedRef,\n startDate: startDate ?? null,\n endDate: endDate ?? null,\n onChange: handleInputChange,\n disableHint: rest.disableHint,\n onKeyDown: handleInputKeyDown,\n onClick: () => setCalendarOpen(true),\n required,\n autoComplete: \"off\",\n \"data-date-range-valid\": currentValidity\n }\n );\n if (disableCalendar) {\n return justTheField;\n }\n if (!popoverSupported) {\n return justTheField;\n }\n return /* @__PURE__ */ jsx(\"div\", { ref: wrapperRef, children: /* @__PURE__ */ jsxs(\n Popover,\n {\n open: calendarOpen,\n modal: true,\n placement: \"bottom-start\",\n disableFlipFallback: true,\n disableTriggerFocus: true,\n onClose: () => setCalendarOpen(false),\n disableAutoUpdate: true,\n onOutsidePress: () => setCalendarOpen(false),\n children: [\n /* @__PURE__ */ jsx(Popover.Trigger, { children: ({ ref: iRef }) => {\n setPopoverTriggerRef(iRef);\n return justTheField;\n } }),\n /* @__PURE__ */ jsx(Popover.Content, { ref: popoverContentRef, \"data-testid\": \"calendar-popover\", children: shouldShowCalendar && /* @__PURE__ */ jsx(\n DateFieldRangeCalendar,\n {\n startDate,\n endDate,\n onKeyDown: handleCalendarKeyDown,\n onSelection: handleCalendarSelection,\n minDate,\n maxDate,\n unavailable\n }\n ) })\n ]\n }\n ) });\n};\nDateFieldRange.displayName = \"DateFieldRange\";\nfunction validateDateRange({\n required,\n startDate,\n endDate,\n startDateConstraints,\n endDateConstraints\n}) {\n if (!required && !startDate && !endDate) return true;\n return validateDate({\n date: startDate,\n constraints: { ...startDateConstraints, required: true }\n }) && validateDate({\n date: endDate,\n constraints: { ...endDateConstraints, required: true }\n }) && (!startDate || !endDate || startDate <= endDate);\n}\n\nconst yearlessDatePlaceholderMask = ({\n mode,\n separator = \"/\",\n placeholder\n}) => {\n const dateOptions = maskitoDateOptionsGenerator({\n mode,\n separator\n });\n const { plugins, removePlaceholder, ...placeholderOptions } = maskitoWithPlaceholder(placeholder);\n const datePlaceholderMask = {\n ...dateOptions,\n plugins: plugins.concat(dateOptions.plugins || []),\n preprocessors: [\n ...placeholderOptions.preprocessors,\n ...dateOptions.preprocessors,\n makeZeroShortcutPreprocessor(mode, separator)\n ],\n postprocessors: [\n ...dateOptions.postprocessors,\n ...placeholderOptions.postprocessors\n ]\n };\n return { options: datePlaceholderMask, removePlaceholder };\n};\n\nconst MaskedYearlessDateInput = forwardRef(({ onChange, mode = \"mm/dd\", value, disableHint = false, ...props }, ref) => {\n const placeholder = \"__/__\";\n const [inputValue, setInputValue] = useState(placeholder);\n const { options, removePlaceholder } = yearlessDatePlaceholderMask({\n mode,\n placeholder\n });\n const maskedInputRef = useMaskito({ options });\n const inputRef = useRef(null);\n const combinedRef = useMergeRefs([maskedInputRef, inputRef, ref]);\n const previousValue = usePrevious(value);\n const previousMode = usePrevious(mode);\n useEffect(() => {\n if (mode !== previousMode) {\n setInputValue(\n (oldInputValue) => swapMode(oldInputValue, previousMode ?? mode, mode)\n );\n }\n }, [mode, previousMode]);\n useEffect(() => {\n if (previousValue?.day !== value?.day || previousValue?.month !== value?.month) {\n if (value?.day && value?.month) {\n setInputValue(stringifyYearlessDate(value.day, value.month, mode));\n } else if (previousValue !== null && previousValue !== void 0 && (value === null || value?.day === null && value?.month === null)) {\n setInputValue(placeholder);\n } else {\n return;\n }\n }\n }, [value, mode, previousValue]);\n const currentParsedData = useMemo(() => {\n return parseInputValue(inputValue, mode, removePlaceholder);\n }, [inputValue, mode, removePlaceholder]);\n const handleChange = (event) => {\n setInputValue(event.target.value);\n const {\n value: v,\n isInputValid,\n isInputEmpty\n } = parseInputValue(event.target.value, mode, removePlaceholder);\n const isDateDifferent = v === null !== (currentParsedData.value === null) || v?.day !== currentParsedData.value?.day || v?.month !== currentParsedData.value?.month;\n if (!isDateDifferent) {\n return;\n }\n onChange?.({\n event,\n value: v ?? currentParsedData.value ?? null,\n isInputValid,\n isInputEmpty\n });\n };\n useImperativeHandle(ref, () => {\n const input = inputRef.current;\n if (!input) return null;\n return Object.assign(input, {\n setValue: (value2) => {\n if (!value2) {\n setInputValue(placeholder);\n return;\n }\n setInputValue(\n stringifyYearlessDate(value2.day ?? 1, value2.month ?? 1, mode)\n );\n }\n });\n }, [mode, placeholder]);\n return /* @__PURE__ */ jsx(\n TextField,\n {\n ref: combinedRef,\n \"data-month-value\": value?.month,\n \"data-day-value\": value?.day,\n \"data-input-valid\": currentParsedData.isInputValid,\n \"data-input-empty\": currentParsedData.isInputEmpty,\n ...props,\n showCounter: false,\n value: inputValue,\n onChange: handleChange,\n hint: disableHint ? void 0 : `Format: ${mode}`\n }\n );\n});\nMaskedYearlessDateInput.displayName = \"MaskedYearlessDateInput\";\nfunction parseInputValue(value, mode, removePlaceholder) {\n const valueMinusPlaceholder = removePlaceholder(value);\n const [segment1, segment2] = valueMinusPlaceholder.split(\"/\");\n const incompleteFirstSegment = segment1?.length !== 2;\n const incompleteSecondSegment = segment2?.length !== 2;\n if (mode === \"dd/mm\") {\n return {\n value: {\n day: incompleteFirstSegment ? null : parseInt(segment1),\n month: incompleteSecondSegment ? null : parseInt(segment2)\n },\n isInputValid: !incompleteFirstSegment && !incompleteSecondSegment,\n isInputEmpty: valueMinusPlaceholder === \"\"\n };\n }\n return {\n value: {\n day: incompleteSecondSegment ? null : parseInt(segment2),\n month: incompleteFirstSegment ? null : parseInt(segment1)\n },\n isInputValid: !incompleteFirstSegment && !incompleteSecondSegment,\n isInputEmpty: valueMinusPlaceholder === \"\"\n };\n}\nfunction swapMode(inputString, previousMode, mode) {\n const { day, month } = divideSegments(inputString, previousMode);\n return stringifyYearlessDate(day, month, mode);\n}\nfunction divideSegments(value, mode) {\n const [segment1, segment2] = value.split(\"/\");\n if (mode === \"dd/mm\") {\n return { day: segment1, month: segment2 };\n }\n return { day: segment2, month: segment1 };\n}\nfunction stringifyYearlessDate(day, month, mode) {\n const dd = day.toString().padStart(2, \"0\");\n const mm = month.toString().padStart(2, \"0\");\n if (mode === \"dd/mm\") {\n return `${dd}/${mm}`;\n }\n return `${mm}/${dd}`;\n}\n\nconst DateFieldYearless = ({\n value: valueProp,\n defaultValue: defaultValueProp,\n onChange,\n minDate,\n maxDate,\n unavailable,\n required,\n ...restProps\n}) => {\n const [value, setValue] = useOptionallyControlledState({\n controlledValue: valueProp,\n defaultValue: defaultValueProp\n });\n const currentValidity = useMemo(\n () => validateYearlessDate({\n value: value ?? null,\n constraints: {\n required,\n unavailable,\n minDate,\n maxDate\n }\n }),\n [value, required, unavailable, minDate, maxDate]\n );\n const handleInputChange = (change) => {\n const { event, value: value2, ...restChange } = change;\n setValue(value2);\n return onChange?.({\n ...restChange,\n value: value2,\n isValid: validateYearlessDate({\n value: value2,\n constraints: {\n required,\n unavailable,\n minDate,\n maxDate\n }\n })\n });\n };\n return /* @__PURE__ */ jsx(\n MaskedYearlessDateInput,\n {\n required,\n ...restProps,\n autoComplete: \"off\",\n onChange: handleInputChange,\n value,\n \"data-valid\": currentValidity\n }\n );\n};\nDateFieldYearless.displayName = \"DateFieldYearless\";\n\nexport { DateFieldSingle as D, MaskedDateInput as M, useDateFieldSingleConversion as a, DateFieldSingleCalendar as b, DateFieldRange as c, MaskedDateRangeInput as d, useDateFieldRangeState as e, useDateFieldRangeConversion as f, DateFieldRangeCalendar as g, DateFieldYearless as h, useDateFieldSingleState as u };\n//# sourceMappingURL=DateFieldYearless-CAUHW6Ow.js.map\n"],"names":["useMergeRefs","Event","useMergeRefs$1"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListView-DdHpJHTc.js","sources":["../../hammer-react/dist/ListView-D2dfWXC-.js","../src/components/ListView/ListView.tsx"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport { createContext, useContext, forwardRef, useRef, useId, useState, useEffect } from 'react';\nimport cx from 'classnames';\nimport { s as styles } from './ListView.module-MVsNF0X0.js';\nimport { q as getActiveElement } from './ProgressBar-BRvB-bD4.js';\nimport { C as Checkbox } from './Checkbox-DyHm7Ntt.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\n\nfunction mapOrder(array, order, key) {\n array.sort(function(a, b) {\n const A = a[key], B = b[key];\n if (order.indexOf(A) > order.indexOf(B)) {\n return 1;\n } else {\n return -1;\n }\n });\n return array;\n}\n\nconst listViewKeyboardNavigation = (e, options, focusedItem, setFocusedItem, parent, currentFocusId) => {\n if (!options) return;\n let activeElement;\n switch (e.code) {\n case \"Enter\":\n case \"Space\":\n options[focusedItem.row].focusables[focusedItem.col].click();\n activeElement = getActiveElement(document);\n if (!activeElement) break;\n activeElement.click();\n e.preventDefault();\n break;\n case \"ArrowDown\":\n parent?.focus();\n options[focusedItem.row].focusables[focusedItem.col].removeAttribute(\n \"data-interactive\"\n );\n if (focusedItem.row === options.length - 1) {\n options[0].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(options[0].focusables[focusedItem.col].id);\n setFocusedItem((prev) => {\n return { ...prev, row: 0 };\n });\n break;\n }\n options[focusedItem.row + 1].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[focusedItem.row + 1].focusables[focusedItem.col].id\n );\n setFocusedItem((prev) => {\n return { ...prev, row: focusedItem.row + 1 };\n });\n break;\n case \"ArrowUp\":\n parent?.focus();\n options[focusedItem.row].focusables[focusedItem.col].removeAttribute(\n \"data-interactive\"\n );\n if (focusedItem.row === 0) {\n options[options.length - 1].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[options.length - 1].focusables[focusedItem.col].id\n );\n setFocusedItem((prev) => {\n return { ...prev, row: options.length - 1 };\n });\n break;\n }\n options[focusedItem.row - 1].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[focusedItem.row - 1].focusables[focusedItem.col].id\n );\n setFocusedItem((prev) => {\n return { ...prev, row: focusedItem.row - 1 };\n });\n break;\n case \"ArrowRight\":\n parent?.focus();\n options[focusedItem.row].focusables[focusedItem.col].removeAttribute(\n \"data-interactive\"\n );\n if (focusedItem.col === options[focusedItem.row].focusables.length - 1) {\n options[focusedItem.row].focusables[0].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(options[focusedItem.row].focusables[0].id);\n setFocusedItem((prev) => {\n return {\n ...prev,\n col: 0\n };\n });\n break;\n }\n options[focusedItem.row].focusables[focusedItem.col + 1].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[focusedItem.row].focusables[focusedItem.col + 1].id\n );\n setFocusedItem((prev) => {\n return { ...prev, col: focusedItem.col + 1 };\n });\n break;\n case \"ArrowLeft\":\n parent?.focus();\n options[focusedItem.row].focusables[focusedItem.col].removeAttribute(\n \"data-interactive\"\n );\n if (focusedItem.col === 0) {\n options[focusedItem.row].focusables[options[focusedItem.row].focusables.length - 1].setAttribute(\"data-interactive\", \"focus-visible\");\n currentFocusId(\n options[focusedItem.row].focusables[options[focusedItem.row].focusables.length - 1].id\n );\n setFocusedItem((prev) => {\n return {\n ...prev,\n col: options[focusedItem.row].focusables.length - 1\n };\n });\n break;\n }\n options[focusedItem.row].focusables[focusedItem.col - 1].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[focusedItem.row].focusables[focusedItem.col - 1].id\n );\n setFocusedItem((prev) => {\n return { ...prev, col: focusedItem.col - 1 };\n });\n break;\n }\n};\n\nconst ListViewContext = createContext(null);\n\nfunction useListView() {\n const context = useContext(ListViewContext);\n if (context == null) {\n throw new Error(\"useListView must be wrapped in <ListView />\");\n }\n return context;\n}\n\nconst ListViewOption = forwardRef(\n (props, ref) => {\n const {\n className,\n children,\n onChange,\n style,\n disabled: disabledProp,\n ...remainingProps\n } = props;\n const optionRef = useRef(null);\n const mergedRef = useMergeRefs([ref, optionRef]);\n const itemRef = useRef();\n const cellRef = useRef(null);\n const rowId = useId();\n const [isSelected, setIsSelected] = useState(false);\n const { selectedItems, setSelectedItems, controlled, onSelectionChange } = useListView();\n const disabled = \"item\" in remainingProps ? disabledProp || remainingProps.item.disabled : disabledProp;\n useEffect(() => {\n const focusables = optionRef.current?.querySelectorAll(\n \"button:not(:disabled):not([aria-disabled='true']), input:not(:disabled):not([aria-disabled='true']), [tabindex='0']:not(:disabled):not([aria-disabled='true'])\"\n );\n focusables?.forEach((item, i) => {\n item.setAttribute(\"tabindex\", \"-1\");\n if (item.hasAttribute(\"id\")) return;\n item.setAttribute(\"id\", `${rowId}-${i}`);\n });\n }, [rowId]);\n useEffect(() => {\n if (\"item\" in remainingProps) {\n const isPartOfSelectedItems = selectedItems.some((item) => {\n return item.label === remainingProps.item.label;\n });\n setIsSelected(isPartOfSelectedItems);\n } else {\n const isPartOfSelectedItems = selectedItems.includes(\n remainingProps.label\n );\n setIsSelected(isPartOfSelectedItems);\n }\n }, [controlled, remainingProps, selectedItems]);\n const onChangeHandler = (e) => {\n onChange?.(e, { checked: isSelected });\n };\n const onClickHandler = () => {\n updateSelectedItems();\n };\n const removeItemFromSelectedItems = (itemToRemove) => {\n return selectedItems.filter((item) => {\n if (typeof itemToRemove === \"string\") {\n return item !== itemToRemove;\n }\n return item?.label !== itemToRemove.label;\n });\n };\n const addItemFromSelectedItems = (itemToAdd) => {\n return [...selectedItems, itemToAdd];\n };\n function updateSelectedItems() {\n const currentItem = \"item\" in remainingProps ? remainingProps.item : remainingProps.label;\n const isPartOfSelectedItems = selectedItems.some((item) => {\n if (typeof currentItem === \"string\") {\n return item === currentItem;\n }\n return item?.label === currentItem.label;\n });\n const newSelectedItems = isPartOfSelectedItems ? removeItemFromSelectedItems(currentItem) : addItemFromSelectedItems(currentItem);\n if (controlled) {\n onSelectionChange?.(newSelectedItems);\n } else {\n setSelectedItems(newSelectedItems);\n setIsSelected(!isPartOfSelectedItems);\n }\n }\n if (\"item\" in remainingProps) {\n itemRef.current = remainingProps.item;\n const { item, ...rest } = remainingProps;\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx([styles[\"listview-option\"]], className),\n \"data-anv\": \"listview-option\",\n style,\n ref: mergedRef,\n \"aria-disabled\": disabled,\n \"aria-selected\": isSelected,\n \"aria-label\": item.label,\n role: \"row\",\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: styles[\"cell\"], ref: cellRef, role: \"gridcell\", children: /* @__PURE__ */ jsx(\n Checkbox,\n {\n disabled,\n checked: isSelected,\n \"aria-label\": item.label,\n onChange: onChangeHandler,\n onClick: onClickHandler\n }\n ) }),\n children\n ]\n }\n );\n }\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx([styles[\"listview-option\"]], className),\n \"data-anv\": \"listview-option\",\n style,\n ref: mergedRef,\n \"aria-disabled\": disabled,\n \"aria-selected\": isSelected,\n \"aria-label\": \"label\" in props ? props.label : \"Select\",\n role: \"row\",\n ...remainingProps,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: styles[\"cell\"], ref: cellRef, role: \"gridcell\", children: /* @__PURE__ */ jsx(\n Checkbox,\n {\n disabled,\n checked: isSelected,\n \"aria-label\": \"label\" in props ? props.label : \"Select\",\n onChange: onChangeHandler,\n onClick: onClickHandler\n }\n ) }),\n children\n ]\n }\n );\n }\n);\nListViewOption.displayName = \"ListViewOption\";\n\nconst ListViewOptionCell = forwardRef((props, ref) => {\n const { ...rest } = props;\n return /* @__PURE__ */ jsx(\"div\", { role: \"gridcell\", \"data-anv\": \"listview-option-cell\", ...rest, ref });\n});\nListViewOptionCell.displayName = \"ListViewOptionCell\";\n\nconst getFocusables = (el) => {\n return el.querySelectorAll(\n \"button:not(:disabled):not([aria-disabled='true']), input:not(:disabled):not([aria-disabled='true']), [tabindex='0']:not(:disabled):not([aria-disabled='true'])\"\n );\n};\nconst ListViewElement = function(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n onSelectionChange,\n className,\n selected,\n defaultSelected,\n style,\n onKeyDown,\n ...remainingProps\n } = componentProps;\n const ListViewRef = useRef(null);\n const isFocusVisible = useRef(true);\n const combinedRef = useMergeRefs([ref, ListViewRef]);\n const [options, setOptions] = useState();\n const [currentActive, setCurrentActive] = useState();\n const [selectedItems, setSelectedItems] = useState(\n selected ?? defaultSelected ?? []\n );\n const [focusedItem, setFocusedItem] = useState({\n row: 0,\n col: 0\n });\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n const onFocusHandler = () => {\n if (!isFocusVisible.current) return;\n if (!options) return;\n options[focusedItem.row].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n return;\n };\n const onBlurHandler = () => {\n if (!options) return;\n options[focusedItem.row].focusables[focusedItem.col]?.removeAttribute(\n \"data-interactive\"\n );\n return;\n };\n const onKeyDownHandler = (e) => {\n onKeyDown?.(e);\n if (!options) return;\n isFocusVisible.current = true;\n listViewKeyboardNavigation(\n e,\n options,\n focusedItem,\n setFocusedItem,\n ListViewRef.current,\n (id) => setCurrentActive(id)\n );\n };\n const onMouseDownHandler = (e) => {\n isFocusVisible.current = false;\n if (options && ListViewRef.current) {\n options[focusedItem.row].focusables[focusedItem.col]?.removeAttribute(\n \"data-interactive\"\n );\n const closestFocusable = e.target.closest(\n \"button:not(:disabled):not([aria-disabled='true']), input:not(:disabled):not([aria-disabled='true']), [data-anv='checkbox']\"\n );\n const optionRow = e.target.closest(\n '[data-anv=\"listview-option\"]'\n );\n if (!optionRow || optionRow.ariaDisabled) return;\n const row = options.findIndex((option) => option.node === optionRow);\n if (!closestFocusable) {\n options[row].focusables[0].click();\n return;\n }\n const col = Array.prototype.indexOf.call(\n options[row].focusables,\n closestFocusable?.getAttribute(\"data-anv\") === \"checkbox\" ? closestFocusable.children[0] : closestFocusable\n );\n setFocusedItem({ row, col });\n }\n };\n useEffect(() => {\n if (!ListViewRef.current) return;\n const optionArr = ListViewRef.current.querySelectorAll(\n \"div[data-anv='listview-option']:not([aria-disabled='true'])\"\n );\n const makeTree = Array.from(optionArr).map((option) => {\n const childFocusables = getFocusables(option);\n return {\n node: option,\n focusables: childFocusables\n };\n });\n setOptions(makeTree);\n }, [props.children]);\n const prevSelectedItems = useRef();\n useEffect(() => {\n if (!options) return;\n const compareArr = options.map((option) => option.node.ariaLabel);\n const orderedSelectedItems = mapOrder(selectedItems, compareArr, \"label\");\n if (JSON.stringify(prevSelectedItems.current) === JSON.stringify(orderedSelectedItems))\n return;\n onSelectionChange?.(orderedSelectedItems);\n prevSelectedItems.current = orderedSelectedItems;\n }, [onSelectionChange, options, selectedItems]);\n useEffect(() => {\n if (!selected) return;\n const filterDuplicates = selected.reduce(\n (acc, current) => {\n const isDup = acc.find((item) => item.label === current.label);\n if (!isDup) {\n return acc.concat([current]);\n } else {\n return acc;\n }\n },\n []\n );\n if (!options) return;\n const compareArr = options.map((option) => option.node.ariaLabel);\n const orderedSelected = mapOrder(filterDuplicates, compareArr, \"label\");\n if (JSON.stringify(prevSelectedItems.current) === JSON.stringify(orderedSelected))\n return;\n setSelectedItems(orderedSelected);\n prevSelectedItems.current = orderedSelected;\n }, [onSelectionChange, options, selected]);\n const ListViewClassNames = cx([styles[\"listview\"]], className);\n if (\"items\" in remainingProps) {\n const { children: children2, items, ...rest2 } = remainingProps;\n return /* @__PURE__ */ jsx(\n ListViewContext.Provider,\n {\n value: {\n options,\n onSelectionChange,\n selectedItems,\n setSelectedItems,\n items,\n controlled: !!selected\n },\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: combinedRef,\n className: ListViewClassNames,\n style: styleCombined,\n \"data-anv\": \"listview\",\n role: \"grid\",\n \"aria-multiselectable\": \"true\",\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n onKeyDown: onKeyDownHandler,\n onMouseDown: onMouseDownHandler,\n \"aria-activedescendant\": currentActive,\n tabIndex: 0,\n ...rest2,\n children: children2?.({\n items: items.map((item) => {\n return item;\n })\n })\n }\n )\n }\n );\n }\n const { children, ...rest } = remainingProps;\n return /* @__PURE__ */ jsx(\n ListViewContext.Provider,\n {\n value: {\n options,\n onSelectionChange,\n selectedItems,\n setSelectedItems,\n controlled: !!selected\n },\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: combinedRef,\n className: ListViewClassNames,\n style: styleCombined,\n \"data-anv\": \"listview\",\n role: \"grid\",\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n onKeyDown: onKeyDownHandler,\n onMouseDown: onMouseDownHandler,\n \"aria-activedescendant\": currentActive,\n tabIndex: 0,\n ...rest,\n children\n }\n )\n }\n );\n};\nListViewElement.displayName = \"ListView\";\nconst ListView = Object.assign(\n forwardRef(ListViewElement),\n {\n /**\n * ListViewOption component for individual selectable items within a listview.\n *\n * Features:\n * - Displays selectable options with proper ARIA attributes\n * - Supports disabled state for non-selectable options\n * - Keyboard navigation support\n * - Accessible with screen reader support\n *\n * @example\n * <ListView.Option item={{ label: \"Option 1\" }} />\n */\n Option: ListViewOption,\n /**\n * ListViewOptionCell component for rendering a cell within a listview option.\n *\n * Features:\n * - Renders a grid cell for option content\n * - Supports custom content and layout\n * - Accessible with proper ARIA attributes\n *\n * @example\n * <ListView.OptionCell>Custom cell content</ListView.OptionCell>\n */\n OptionCell: ListViewOptionCell\n }\n);\n\nexport { ListView as L, ListViewOption as a, ListViewOptionCell as b };\n//# sourceMappingURL=ListView-D2dfWXC-.js.map\n","import {\n ListViewProps as CoreListViewProps,\n ListView as CoreListView,\n ListViewOption as CoreListViewOption,\n ListViewOptionCell as CoreListViewOptionCell,\n ListViewOptionProps as CoreListViewOptionProps,\n} from \"@servicetitan/hammer-react\";\nimport { ComponentPropsWithoutRef, ForwardedRef, Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the ListView component\n * @property {function} [onSelectionChange] - Callback when selection changes\n * @property {Array} [selected] - Currently selected items (controlled)\n * @property {Array} [items] - Array of items to render\n * @property {Array} [defaultSelected] - Default selected items (uncontrolled)\n * @property {function} [children] - Optional render function for items\n * @extends LayoutUtilProps\n */\nexport type ListViewProps<T> = CoreListViewProps<T>;\n\n/**\n * Props for the ListViewOption component\n * @property {boolean} [disabled] - Whether the option is disabled\n * @property {function} [onChange] - Callback when the option changes\n * @property {object} [item] - The item object when using items prop\n * @property {string} [label] - The display label for the option\n * @extends ComponentPropsWithoutRef<\"div\">\n */\nexport type ListViewOptionProps = CoreListViewOptionProps & DataTrackingId;\n\nconst ListViewElement = function <T>(\n props: ListViewProps<T>,\n ref: ForwardedRef<HTMLUListElement>,\n) {\n return <CoreListView ref={ref} {...props} />;\n};\n\n/**\n * ListViewOption component for individual selectable items within a listview.\n *\n * Features:\n * - Displays selectable options with proper ARIA attributes\n * - Supports disabled state for non-selectable options\n * - Keyboard navigation support\n * - Accessible with screen reader support\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <ListView.Option item={{ label: \"Option 1\" }} />\n */\nexport const ListViewOption = forwardRef(\n (props: ListViewOptionProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n label: \"item\" in props ? props.item?.label : props.label,\n };\n\n const trackingId = useTrackingId({\n name: \"ListViewOption\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return (\n <CoreListViewOption ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nListViewOption.displayName = CoreListViewOption.displayName;\n\n/**\n * ListViewOptionCell component for rendering a cell within a listview option.\n *\n * Features:\n * - Renders a grid cell for option content\n * - Supports custom content and layout\n * - Accessible with proper ARIA attributes\n *\n * @example\n * <ListView.OptionCell>Custom cell content</ListView.OptionCell>\n */\nexport const ListViewOptionCell = forwardRef(\n (props: ComponentPropsWithoutRef<\"div\">, ref: Ref<HTMLDivElement>) => {\n return <CoreListViewOptionCell ref={ref} {...props} />;\n },\n);\nListViewOptionCell.displayName = CoreListViewOptionCell.displayName;\n\n/**\n * ListView component for displaying a list of selectable items in a grid layout.\n *\n * Features:\n * - Supports single and multiple selection modes\n * - Keyboard navigation with arrow keys\n * - Customizable item rendering\n * - Controlled and uncontrolled modes\n * - Accessible with proper ARIA attributes\n * - Focus management for interactive elements\n * - Layout utilities for positioning and spacing\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <ListView items={[{ label: \"Item 1\" }, { label: \"Item 2\" }]} onSelectionChange={handleSelection}>\n * {({ items }) => items.map(item => (\n * <ListView.Option key={item.label} item={item} />\n * ))}\n * </ListView>\n */\nexport const ListView = Object.assign(\n forwardRef(ListViewElement) as <T>(\n props: ListViewProps<T> & { ref?: React.ForwardedRef<HTMLUListElement> },\n ) => ReturnType<typeof ListViewElement>,\n {\n /**\n * ListViewOption component for individual selectable items within a listview.\n *\n * Features:\n * - Displays selectable options with proper ARIA attributes\n * - Supports disabled state for non-selectable options\n * - Keyboard navigation support\n * - Accessible with screen reader support\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <ListView.Option item={{ label: \"Option 1\" }} />\n */\n Option: ListViewOption,\n /**\n * ListViewOptionCell component for rendering a cell within a listview option.\n *\n * Features:\n * - Renders a grid cell for option content\n * - Supports custom content and layout\n * - Accessible with proper ARIA attributes\n *\n * @example\n * <ListView.OptionCell>Custom cell content</ListView.OptionCell>\n */\n OptionCell: ListViewOptionCell,\n },\n);\n"],"names":["ListViewOption","ListViewOptionCell","ListViewElement","ListView","CoreListView","CoreListViewOption","CoreListViewOptionCell"],"mappings":"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"}
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m10.5 4.5 2.387 6.614 6.613 2.385-6.613 2.387-2.388 6.614-2.386-6.613L1.5 13.499l6.613-2.386zm7.5-3 1.193 3.307L22.5 6l-3.307 1.193L18 10.5l-1.193-3.307L13.5 6l3.307-1.193z"/></svg>
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js","sources":["../../hammer-react/dist/useOptionallyControlledState-DAv5LXXh.js"],"sourcesContent":["import { useState, useCallback } from 'react';\n\nfunction useOptionallyControlledState({\n controlledValue,\n defaultValue,\n onChange\n}) {\n const [internalValue, setInternalValue] = useState(\n defaultValue\n );\n const isControlled = controlledValue !== void 0;\n const value = isControlled ? controlledValue : internalValue;\n const setValue = useCallback(\n (newValue) => {\n if (!isControlled) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n },\n [isControlled, onChange]\n );\n return [value, setValue];\n}\n\nexport { useOptionallyControlledState as u };\n//# sourceMappingURL=useOptionallyControlledState-DAv5LXXh.js.map\n"],"names":[],"mappings":";;AAEA,SAAS,4BAA4B,CAAC;AACtC,EAAE,eAAe;AACjB,EAAE,YAAY;AACd,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ;AACpD,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,YAAY,GAAG,eAAe,KAAK,MAAM;AACjD,EAAE,MAAM,KAAK,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa;AAC9D,EAAE,MAAM,QAAQ,GAAG,WAAW;AAC9B,IAAI,CAAC,QAAQ,KAAK;AAClB,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,gBAAgB,CAAC,QAAQ,CAAC;AAClC;AACA,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAC1B,KAAK;AACL,IAAI,CAAC,YAAY,EAAE,QAAQ;AAC3B,GAAG;AACH,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1B;;;;"}