@simplybusiness/mobius 10.4.2 → 10.4.4

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 (224) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/components/AddressLookup/AddressLookup.js +39 -36
  3. package/dist/cjs/components/AddressLookup/AddressLookup.js.map +3 -3
  4. package/dist/cjs/components/AddressLookup/index.js +39 -36
  5. package/dist/cjs/components/AddressLookup/index.js.map +3 -3
  6. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +3 -7
  7. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +2 -2
  8. package/dist/cjs/components/Breadcrumbs/index.js +3 -7
  9. package/dist/cjs/components/Breadcrumbs/index.js.map +2 -2
  10. package/dist/cjs/components/Combobox/Combobox.js +35 -32
  11. package/dist/cjs/components/Combobox/Combobox.js.map +3 -3
  12. package/dist/cjs/components/Combobox/index.js +35 -32
  13. package/dist/cjs/components/Combobox/index.js.map +3 -3
  14. package/dist/cjs/components/DateField/DateField.js +11 -8
  15. package/dist/cjs/components/DateField/DateField.js.map +3 -3
  16. package/dist/cjs/components/DateField/index.js +11 -8
  17. package/dist/cjs/components/DateField/index.js.map +3 -3
  18. package/dist/cjs/components/DropdownMenu/Item.js +3 -6
  19. package/dist/cjs/components/DropdownMenu/Item.js.map +2 -2
  20. package/dist/cjs/components/DropdownMenu/index.js +3 -6
  21. package/dist/cjs/components/DropdownMenu/index.js.map +2 -2
  22. package/dist/cjs/components/MaskedField/MaskedField.js +11 -8
  23. package/dist/cjs/components/MaskedField/MaskedField.js.map +3 -3
  24. package/dist/cjs/components/MaskedField/index.js +13 -10
  25. package/dist/cjs/components/MaskedField/index.js.map +3 -3
  26. package/dist/cjs/components/NumberField/NumberField.js +10 -7
  27. package/dist/cjs/components/NumberField/NumberField.js.map +3 -3
  28. package/dist/cjs/components/NumberField/index.js +10 -7
  29. package/dist/cjs/components/NumberField/index.js.map +3 -3
  30. package/dist/cjs/components/PasswordField/PasswordField.js +9 -6
  31. package/dist/cjs/components/PasswordField/PasswordField.js.map +3 -3
  32. package/dist/cjs/components/PasswordField/index.js +9 -6
  33. package/dist/cjs/components/PasswordField/index.js.map +3 -3
  34. package/dist/cjs/components/Popover/Arrow.js +43 -0
  35. package/dist/cjs/components/Popover/Arrow.js.map +7 -0
  36. package/dist/cjs/components/Popover/Popover.js +258 -83
  37. package/dist/cjs/components/Popover/Popover.js.map +4 -4
  38. package/dist/cjs/components/Popover/index.js +258 -83
  39. package/dist/cjs/components/Popover/index.js.map +4 -4
  40. package/dist/cjs/components/Popover/useAutoUpdate.js +53 -0
  41. package/dist/cjs/components/Popover/useAutoUpdate.js.map +7 -0
  42. package/dist/cjs/components/Popover/useFloatingPosition.js +128 -0
  43. package/dist/cjs/components/Popover/useFloatingPosition.js.map +7 -0
  44. package/dist/cjs/components/Popover/useOutsidePress.js +46 -0
  45. package/dist/cjs/components/Popover/useOutsidePress.js.map +7 -0
  46. package/dist/cjs/components/TextField/TextField.js +6 -3
  47. package/dist/cjs/components/TextField/TextField.js.map +3 -3
  48. package/dist/cjs/components/TextField/adornmentWithClassName.js +3 -2
  49. package/dist/cjs/components/TextField/adornmentWithClassName.js.map +2 -2
  50. package/dist/cjs/components/TextField/index.js +6 -3
  51. package/dist/cjs/components/TextField/index.js.map +3 -3
  52. package/dist/cjs/components/index.js +550 -377
  53. package/dist/cjs/components/index.js.map +4 -4
  54. package/dist/cjs/index.js +550 -377
  55. package/dist/cjs/index.js.map +4 -4
  56. package/dist/cjs/meta.json +490 -121
  57. package/dist/esm/chunk-26KZYRE6.js +108 -0
  58. package/dist/esm/chunk-26KZYRE6.js.map +7 -0
  59. package/dist/esm/{chunk-XNEQHHNV.js → chunk-5QMKPWB4.js} +2 -2
  60. package/dist/esm/{chunk-IQKS662C.js → chunk-6RDK3FM2.js} +5 -3
  61. package/dist/esm/chunk-6RDK3FM2.js.map +7 -0
  62. package/dist/esm/{chunk-4HI2AOBC.js → chunk-6TSYA7CJ.js} +4 -7
  63. package/dist/esm/{chunk-4HI2AOBC.js.map → chunk-6TSYA7CJ.js.map} +2 -2
  64. package/dist/esm/chunk-CAL44W47.js +23 -0
  65. package/dist/esm/chunk-CAL44W47.js.map +7 -0
  66. package/dist/esm/{chunk-PEEQNAIN.js → chunk-DMYDWKKA.js} +4 -4
  67. package/dist/esm/{chunk-IM3I5CZL.js → chunk-I6CFRGID.js} +4 -3
  68. package/dist/esm/{chunk-IM3I5CZL.js.map → chunk-I6CFRGID.js.map} +2 -2
  69. package/dist/esm/chunk-K3ECDAUR.js +33 -0
  70. package/dist/esm/chunk-K3ECDAUR.js.map +7 -0
  71. package/dist/esm/{chunk-GJBH37DH.js → chunk-KFHPI67N.js} +4 -4
  72. package/dist/esm/{chunk-OEDU5ZEA.js → chunk-KUH5AB5T.js} +2 -2
  73. package/dist/esm/{chunk-JFDDW3IV.js → chunk-P7TPNRU4.js} +4 -8
  74. package/dist/esm/{chunk-JFDDW3IV.js.map → chunk-P7TPNRU4.js.map} +2 -2
  75. package/dist/esm/{chunk-F5ELD54X.js → chunk-QNOBB5HT.js} +2 -2
  76. package/dist/esm/{chunk-GV36OVX7.js → chunk-R67C5QTH.js} +2 -2
  77. package/dist/esm/{chunk-S4CU4XRB.js → chunk-VGFVSRWH.js} +2 -2
  78. package/dist/esm/chunk-VZ3IWSK6.js +158 -0
  79. package/dist/esm/chunk-VZ3IWSK6.js.map +7 -0
  80. package/dist/esm/{chunk-X4CMSAET.js → chunk-WSQWMVA2.js} +2 -2
  81. package/dist/esm/chunk-WYJP7HVL.js +26 -0
  82. package/dist/esm/chunk-WYJP7HVL.js.map +7 -0
  83. package/dist/esm/{chunk-OAG5T7NC.js → chunk-XEP6X7JU.js} +5 -5
  84. package/dist/esm/chunk-XEP6X7JU.js.map +7 -0
  85. package/dist/esm/components/AddressLookup/AddressLookup.js +6 -6
  86. package/dist/esm/components/AddressLookup/index.js +8 -8
  87. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +1 -1
  88. package/dist/esm/components/Breadcrumbs/index.js +3 -3
  89. package/dist/esm/components/Checkbox/index.js +1 -1
  90. package/dist/esm/components/Combobox/Combobox.js +5 -5
  91. package/dist/esm/components/Combobox/index.js +5 -5
  92. package/dist/esm/components/DateField/DateField.js +3 -3
  93. package/dist/esm/components/DateField/index.js +3 -3
  94. package/dist/esm/components/Drawer/index.js +3 -3
  95. package/dist/esm/components/DropdownMenu/Item.js +1 -1
  96. package/dist/esm/components/DropdownMenu/index.js +2 -2
  97. package/dist/esm/components/MaskedField/MaskedField.js +2 -2
  98. package/dist/esm/components/MaskedField/index.js +3 -3
  99. package/dist/esm/components/Modal/index.js +3 -3
  100. package/dist/esm/components/NumberField/NumberField.js +3 -3
  101. package/dist/esm/components/NumberField/index.js +3 -3
  102. package/dist/esm/components/PasswordField/PasswordField.js +3 -3
  103. package/dist/esm/components/PasswordField/index.js +3 -3
  104. package/dist/esm/components/Popover/Arrow.js +8 -0
  105. package/dist/esm/components/Popover/Arrow.js.map +7 -0
  106. package/dist/esm/components/Popover/Popover.js +5 -1
  107. package/dist/esm/components/Popover/index.js +5 -1
  108. package/dist/esm/components/Popover/useAutoUpdate.js +8 -0
  109. package/dist/esm/components/Popover/useAutoUpdate.js.map +7 -0
  110. package/dist/esm/components/Popover/useFloatingPosition.js +8 -0
  111. package/dist/esm/components/Popover/useFloatingPosition.js.map +7 -0
  112. package/dist/esm/components/Popover/useOutsidePress.js +8 -0
  113. package/dist/esm/components/Popover/useOutsidePress.js.map +7 -0
  114. package/dist/esm/components/TextField/TextField.js +2 -2
  115. package/dist/esm/components/TextField/adornmentWithClassName.js +1 -1
  116. package/dist/esm/components/TextField/index.js +2 -2
  117. package/dist/esm/components/index.js +81 -77
  118. package/dist/esm/index.js +81 -77
  119. package/dist/esm/meta.json +3495 -3149
  120. package/dist/tsconfig.build.tsbuildinfo +1 -1
  121. package/dist/types/components/Accordion/Accordion.d.ts +4 -4
  122. package/dist/types/components/Accordion/AccordionList.d.ts +4 -4
  123. package/dist/types/components/AddressLookup/AddressLookup.d.ts +4 -4
  124. package/dist/types/components/AddressLookup/LoqateAddressLookupService.d.ts +1 -1
  125. package/dist/types/components/Alert/Alert.d.ts +4 -4
  126. package/dist/types/components/Box/Box.d.ts +4 -4
  127. package/dist/types/components/Breadcrumbs/BreadcrumbItem.d.ts +4 -4
  128. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  129. package/dist/types/components/Button/Button.d.ts +4 -4
  130. package/dist/types/components/Checkbox/Checkbox.d.ts +4 -4
  131. package/dist/types/components/Checkbox/CheckboxGroup.d.ts +4 -4
  132. package/dist/types/components/Combobox/Combobox.d.ts +2 -5
  133. package/dist/types/components/Combobox/useComboboxOptions.d.ts +1 -1
  134. package/dist/types/components/Container/Container.d.ts +4 -4
  135. package/dist/types/components/DateField/DateField.d.ts +4 -4
  136. package/dist/types/components/Divider/Divider.d.ts +4 -4
  137. package/dist/types/components/Drawer/Content.d.ts +4 -4
  138. package/dist/types/components/Drawer/Drawer.d.ts +4 -4
  139. package/dist/types/components/Drawer/Header.d.ts +4 -4
  140. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +4 -4
  141. package/dist/types/components/DropdownMenu/Item.d.ts +4 -4
  142. package/dist/types/components/ErrorMessage/ErrorMessage.d.ts +4 -4
  143. package/dist/types/components/ExpandableText/ExpandableText.d.ts +4 -4
  144. package/dist/types/components/Fieldset/Fieldset.d.ts +4 -4
  145. package/dist/types/components/Flex/Flex.d.ts +4 -4
  146. package/dist/types/components/Grid/Grid.d.ts +4 -4
  147. package/dist/types/components/Grid/Item.d.ts +4 -4
  148. package/dist/types/components/Image/Image.d.ts +4 -4
  149. package/dist/types/components/Label/Label.d.ts +4 -4
  150. package/dist/types/components/Link/Link.d.ts +4 -4
  151. package/dist/types/components/List/List.d.ts +4 -4
  152. package/dist/types/components/List/ListItem.d.ts +4 -4
  153. package/dist/types/components/LoadingIndicator/LoadingIndicator.d.ts +4 -4
  154. package/dist/types/components/Logo/Logo.d.ts +4 -4
  155. package/dist/types/components/MaskedField/MaskedField.d.ts +4 -4
  156. package/dist/types/components/Modal/Content.d.ts +4 -4
  157. package/dist/types/components/Modal/Header.d.ts +4 -4
  158. package/dist/types/components/Modal/Modal.d.ts +4 -4
  159. package/dist/types/components/NumberField/NumberField.d.ts +4 -4
  160. package/dist/types/components/Option/Option.d.ts +4 -4
  161. package/dist/types/components/PasswordField/PasswordField.d.ts +4 -4
  162. package/dist/types/components/Popover/Arrow.d.ts +9 -0
  163. package/dist/types/components/Popover/useAutoUpdate.d.ts +9 -0
  164. package/dist/types/components/Popover/useFloatingPosition.d.ts +17 -0
  165. package/dist/types/components/Popover/useOutsidePress.d.ts +9 -0
  166. package/dist/types/components/Progress/Progress.d.ts +4 -4
  167. package/dist/types/components/Radio/Radio.d.ts +4 -4
  168. package/dist/types/components/Radio/RadioGroup.d.ts +4 -4
  169. package/dist/types/components/SVG/SVG.d.ts +4 -4
  170. package/dist/types/components/Segment/Segment.d.ts +4 -4
  171. package/dist/types/components/Segment/SegmentGroup.d.ts +4 -4
  172. package/dist/types/components/Select/Select.d.ts +4 -4
  173. package/dist/types/components/Stack/Stack.d.ts +4 -4
  174. package/dist/types/components/Switch/Switch.d.ts +4 -4
  175. package/dist/types/components/Table/Body.d.ts +4 -4
  176. package/dist/types/components/Table/Cell.d.ts +4 -4
  177. package/dist/types/components/Table/Foot.d.ts +4 -4
  178. package/dist/types/components/Table/Head.d.ts +4 -4
  179. package/dist/types/components/Table/HeaderCell.d.ts +4 -4
  180. package/dist/types/components/Table/Row.d.ts +4 -4
  181. package/dist/types/components/Table/Table.d.ts +4 -4
  182. package/dist/types/components/Text/Text.d.ts +4 -4
  183. package/dist/types/components/TextArea/TextArea.d.ts +4 -4
  184. package/dist/types/components/TextAreaInput/TextAreaInput.d.ts +4 -4
  185. package/dist/types/components/TextField/TextField.d.ts +1 -4
  186. package/dist/types/components/TextField/adornmentWithClassName.d.ts +3 -1
  187. package/dist/types/components/TextOrHTML/TextOrHTML.d.ts +4 -4
  188. package/dist/types/components/Title/Title.d.ts +4 -4
  189. package/dist/types/components/Toast/ToastOptionsDoc.d.ts +4 -8
  190. package/dist/types/components/Toast/Toaster.d.ts +4 -4
  191. package/dist/types/hooks/useButton/useButton.d.ts +5 -5
  192. package/dist/types/hooks/useLabel/useLabel.d.ts +1 -1
  193. package/package.json +11 -11
  194. package/src/components/Box/Box.test.tsx +1 -2
  195. package/src/components/Breadcrumbs/Breadcrumbs.tsx +3 -7
  196. package/src/components/Button/Button.stories.tsx +1 -1
  197. package/src/components/Combobox/Combobox.tsx +2 -4
  198. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +1 -1
  199. package/src/components/DropdownMenu/Item.tsx +3 -6
  200. package/src/components/Grid/Grid.stories.tsx +1 -1
  201. package/src/components/Popover/Arrow.tsx +25 -0
  202. package/src/components/Popover/Popover.characterization.test.tsx +269 -0
  203. package/src/components/Popover/Popover.stories.tsx +40 -3
  204. package/src/components/Popover/Popover.test.tsx +6 -2
  205. package/src/components/Popover/Popover.tsx +87 -81
  206. package/src/components/Popover/useAutoUpdate.ts +43 -0
  207. package/src/components/Popover/useFloatingPosition.ts +177 -0
  208. package/src/components/Popover/useOutsidePress.ts +31 -0
  209. package/src/components/TextField/TextField.tsx +3 -1
  210. package/src/components/TextField/adornmentWithClassName.ts +4 -3
  211. package/src/hooks/useBreakpoint/useBreakpoint.test.tsx +4 -4
  212. package/src/styles.d.ts +2 -0
  213. package/dist/esm/chunk-IQKS662C.js.map +0 -7
  214. package/dist/esm/chunk-O5YEU5TG.js +0 -155
  215. package/dist/esm/chunk-O5YEU5TG.js.map +0 -7
  216. package/dist/esm/chunk-OAG5T7NC.js.map +0 -7
  217. /package/dist/esm/{chunk-XNEQHHNV.js.map → chunk-5QMKPWB4.js.map} +0 -0
  218. /package/dist/esm/{chunk-PEEQNAIN.js.map → chunk-DMYDWKKA.js.map} +0 -0
  219. /package/dist/esm/{chunk-GJBH37DH.js.map → chunk-KFHPI67N.js.map} +0 -0
  220. /package/dist/esm/{chunk-OEDU5ZEA.js.map → chunk-KUH5AB5T.js.map} +0 -0
  221. /package/dist/esm/{chunk-F5ELD54X.js.map → chunk-QNOBB5HT.js.map} +0 -0
  222. /package/dist/esm/{chunk-GV36OVX7.js.map → chunk-R67C5QTH.js.map} +0 -0
  223. /package/dist/esm/{chunk-S4CU4XRB.js.map → chunk-VGFVSRWH.js.map} +0 -0
  224. /package/dist/esm/{chunk-X4CMSAET.js.map → chunk-WSQWMVA2.js.map} +0 -0
@@ -0,0 +1,158 @@
1
+ import {
2
+ Button
3
+ } from "./chunk-FD3JTY5L.js";
4
+ import {
5
+ useAutoUpdate
6
+ } from "./chunk-K3ECDAUR.js";
7
+ import {
8
+ useFloatingPosition
9
+ } from "./chunk-26KZYRE6.js";
10
+ import {
11
+ useOutsidePress
12
+ } from "./chunk-WYJP7HVL.js";
13
+ import {
14
+ Arrow
15
+ } from "./chunk-CAL44W47.js";
16
+ import {
17
+ Icon
18
+ } from "./chunk-TKIP5Q5H.js";
19
+
20
+ // src/components/Popover/Popover.tsx
21
+ import { cross } from "@simplybusiness/icons";
22
+ import classNames from "classnames/dedupe";
23
+ import { cloneElement, useCallback, useEffect, useRef, useState } from "react";
24
+ import { createPortal } from "react-dom";
25
+ import { useWindowEvent } from "@simplybusiness/mobius-hooks";
26
+ import "@simplybusiness/mobius/src/components/Popover/Popover.css";
27
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
28
+ var OFFSET_FROM_CONTENT_DEFAULT = 10;
29
+ var ARROW_WIDTH = 20;
30
+ var Popover = (props) => {
31
+ const { trigger, children, onOpen, onClose, className } = props;
32
+ const referenceRef = useRef(null);
33
+ const floatingRef = useRef(null);
34
+ const arrowRef = useRef(null);
35
+ const [isOpen, setIsOpen] = useState(false);
36
+ const [portalTarget, setPortalTarget] = useState(null);
37
+ const isInsideDialog = portalTarget !== null && portalTarget.tagName === "DIALOG";
38
+ const { initialFloatingStyles, initialArrowStyles, update } = useFloatingPosition({
39
+ referenceRef,
40
+ floatingRef,
41
+ arrowRef,
42
+ isOpen,
43
+ offsetPx: OFFSET_FROM_CONTENT_DEFAULT,
44
+ arrowWidth: ARROW_WIDTH,
45
+ useFixedStrategy: isInsideDialog
46
+ });
47
+ useAutoUpdate({
48
+ referenceRef,
49
+ floatingRef,
50
+ onUpdate: update,
51
+ enabled: isOpen
52
+ });
53
+ useOutsidePress({
54
+ referenceRef,
55
+ floatingRef,
56
+ enabled: isOpen,
57
+ onOutsidePress: () => {
58
+ onClose?.();
59
+ setIsOpen(false);
60
+ }
61
+ });
62
+ const containerClasses = classNames(
63
+ "mobius",
64
+ "mobius-popover__container",
65
+ className
66
+ );
67
+ useEffect(() => {
68
+ const el = floatingRef.current;
69
+ if (!el) return;
70
+ const preventLabelActivation = (e) => {
71
+ const target = e.target;
72
+ if (!target.closest("a[href], input, select, textarea")) {
73
+ e.preventDefault();
74
+ }
75
+ };
76
+ el.addEventListener("click", preventLabelActivation);
77
+ return () => el.removeEventListener("click", preventLabelActivation);
78
+ }, [isOpen]);
79
+ const toggleVisibility = () => {
80
+ if (isOpen) {
81
+ setIsOpen(false);
82
+ onClose?.();
83
+ return;
84
+ }
85
+ const dialog = referenceRef.current?.closest("dialog");
86
+ setPortalTarget(dialog ?? document.body);
87
+ setIsOpen(true);
88
+ onOpen?.();
89
+ };
90
+ const setReferenceRef = useCallback((node) => {
91
+ referenceRef.current = node;
92
+ }, []);
93
+ const triggerComponent = cloneElement(trigger, {
94
+ ref: setReferenceRef,
95
+ className: classNames(
96
+ trigger.props.className,
97
+ "mobius-popover__toggle"
98
+ ),
99
+ onClick: toggleVisibility
100
+ });
101
+ useWindowEvent("keydown", (e) => {
102
+ if (e.key === "Escape" && isOpen) {
103
+ setIsOpen(false);
104
+ onClose?.();
105
+ e.preventDefault();
106
+ e.stopPropagation();
107
+ }
108
+ });
109
+ const floatingElement = isOpen ? /* @__PURE__ */ jsxs(
110
+ "div",
111
+ {
112
+ className: containerClasses,
113
+ ref: floatingRef,
114
+ style: initialFloatingStyles,
115
+ children: [
116
+ /* @__PURE__ */ jsxs("div", { className: "mobius-popover", children: [
117
+ /* @__PURE__ */ jsx("header", { className: "mobius-popover__header", children: /* @__PURE__ */ jsx(
118
+ Button,
119
+ {
120
+ type: "button",
121
+ className: "mobius-popover__close-button",
122
+ onClick: toggleVisibility,
123
+ "aria-label": "Close",
124
+ variant: "ghost",
125
+ children: /* @__PURE__ */ jsx(
126
+ Icon,
127
+ {
128
+ icon: cross,
129
+ size: "md",
130
+ className: "mobius-popover__close-icon"
131
+ }
132
+ )
133
+ }
134
+ ) }),
135
+ /* @__PURE__ */ jsx("div", { className: "mobius-popover__body", children })
136
+ ] }),
137
+ /* @__PURE__ */ jsx(
138
+ Arrow,
139
+ {
140
+ ref: arrowRef,
141
+ style: initialArrowStyles,
142
+ className: "mobius-popover__arrow-icon",
143
+ width: ARROW_WIDTH
144
+ }
145
+ )
146
+ ]
147
+ }
148
+ ) : null;
149
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
150
+ triggerComponent,
151
+ floatingElement && portalTarget ? createPortal(floatingElement, portalTarget) : null
152
+ ] });
153
+ };
154
+
155
+ export {
156
+ Popover
157
+ };
158
+ //# sourceMappingURL=chunk-VZ3IWSK6.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/Popover/Popover.tsx"],
4
+ "sourcesContent": ["import { cross } from \"@simplybusiness/icons\";\nimport classNames from \"classnames/dedupe\";\nimport type { ReactElement, ReactNode, RefAttributes } from \"react\";\nimport { cloneElement, useCallback, useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useWindowEvent } from \"@simplybusiness/mobius-hooks\";\nimport type { DOMProps } from \"../../types\";\nimport { Button } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { Arrow } from \"./Arrow\";\nimport { useAutoUpdate } from \"./useAutoUpdate\";\nimport { useFloatingPosition } from \"./useFloatingPosition\";\nimport { useOutsidePress } from \"./useOutsidePress\";\nimport \"./Popover.css\";\n\nexport type PopoverElementType = HTMLDivElement;\n\nexport interface PopoverProps\n extends DOMProps, RefAttributes<PopoverElementType> {\n children?: ReactNode;\n trigger: ReactElement;\n /** Callback that fires each time the accordion is opened */\n onOpen?: () => void;\n /** Callback that fires each time the accordion is closed */\n onClose?: () => void;\n /** Custom class name for setting specific CSS */\n className?: string;\n}\n\nconst OFFSET_FROM_CONTENT_DEFAULT = 10;\nconst ARROW_WIDTH = 20;\n\nexport const Popover = (props: PopoverProps) => {\n const { trigger, children, onOpen, onClose, className } = props;\n const referenceRef = useRef<HTMLElement | null>(null);\n const floatingRef = useRef<HTMLDivElement | null>(null);\n const arrowRef = useRef<SVGSVGElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [portalTarget, setPortalTarget] = useState<HTMLElement | null>(null);\n\n const isInsideDialog =\n portalTarget !== null && portalTarget.tagName === \"DIALOG\";\n\n const { initialFloatingStyles, initialArrowStyles, update } =\n useFloatingPosition({\n referenceRef,\n floatingRef,\n arrowRef,\n isOpen,\n offsetPx: OFFSET_FROM_CONTENT_DEFAULT,\n arrowWidth: ARROW_WIDTH,\n useFixedStrategy: isInsideDialog,\n });\n\n useAutoUpdate({\n referenceRef,\n floatingRef,\n onUpdate: update,\n enabled: isOpen,\n });\n\n useOutsidePress({\n referenceRef,\n floatingRef,\n enabled: isOpen,\n onOutsidePress: () => {\n onClose?.();\n setIsOpen(false);\n },\n });\n\n const containerClasses = classNames(\n \"mobius\",\n \"mobius-popover__container\",\n className,\n );\n\n // Native listener to prevent clicks inside the popover from activating\n // interactive ancestors. Must be native because React's onClick fires\n // too late via delegation.\n useEffect(() => {\n const el = floatingRef.current;\n if (!el) return;\n\n const preventLabelActivation = (e: Event) => {\n const target = e.target as HTMLElement;\n // Allow default behavior for interactive elements (links, inputs, etc.)\n // so they remain functional inside the popover.\n if (!target.closest(\"a[href], input, select, textarea\")) {\n e.preventDefault();\n }\n };\n el.addEventListener(\"click\", preventLabelActivation);\n return () => el.removeEventListener(\"click\", preventLabelActivation);\n }, [isOpen]);\n\n const toggleVisibility = () => {\n if (isOpen) {\n setIsOpen(false);\n onClose?.();\n return;\n }\n\n // Portal into the nearest open <dialog> ancestor so the popover renders\n // in the same top-layer as the dialog. document.body falls outside that\n // top-layer and paints beneath the modal backdrop.\n const dialog = referenceRef.current?.closest(\"dialog\");\n setPortalTarget(dialog ?? document.body);\n setIsOpen(true);\n onOpen?.();\n };\n\n const setReferenceRef = useCallback((node: HTMLElement | null) => {\n referenceRef.current = node;\n }, []);\n\n const triggerComponent = cloneElement(trigger, {\n ref: setReferenceRef,\n className: classNames(\n (trigger.props as { className?: string }).className,\n \"mobius-popover__toggle\",\n ),\n onClick: toggleVisibility,\n } as Record<string, unknown>);\n\n useWindowEvent(\"keydown\", e => {\n if (e.key === \"Escape\" && isOpen) {\n setIsOpen(false);\n onClose?.();\n e.preventDefault();\n e.stopPropagation();\n }\n });\n\n const floatingElement = isOpen ? (\n <div\n className={containerClasses}\n ref={floatingRef}\n style={initialFloatingStyles}\n >\n <div className=\"mobius-popover\">\n <header className=\"mobius-popover__header\">\n <Button\n type=\"button\"\n className=\"mobius-popover__close-button\"\n onClick={toggleVisibility}\n aria-label=\"Close\"\n variant=\"ghost\"\n >\n <Icon\n icon={cross}\n size=\"md\"\n className=\"mobius-popover__close-icon\"\n />\n </Button>\n </header>\n <div className=\"mobius-popover__body\">{children}</div>\n </div>\n <Arrow\n ref={arrowRef}\n style={initialArrowStyles}\n className=\"mobius-popover__arrow-icon\"\n width={ARROW_WIDTH}\n />\n </div>\n ) : null;\n\n return (\n <>\n {triggerComponent}\n {floatingElement && portalTarget\n ? createPortal(floatingElement, portalTarget)\n : null}\n </>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-WC3D5GNN.js";
4
4
  import {
5
5
  TextField
6
- } from "./chunk-IQKS662C.js";
6
+ } from "./chunk-6RDK3FM2.js";
7
7
  import {
8
8
  mergeRefs
9
9
  } from "./chunk-QGGILW3D.js";
@@ -51,4 +51,4 @@ PasswordField.displayName = "PasswordField";
51
51
  export {
52
52
  PasswordField
53
53
  };
54
- //# sourceMappingURL=chunk-X4CMSAET.js.map
54
+ //# sourceMappingURL=chunk-WSQWMVA2.js.map
@@ -0,0 +1,26 @@
1
+ // src/components/Popover/useOutsidePress.ts
2
+ import { useEffect } from "react";
3
+ var useOutsidePress = ({
4
+ referenceRef,
5
+ floatingRef,
6
+ enabled,
7
+ onOutsidePress
8
+ }) => {
9
+ useEffect(() => {
10
+ if (!enabled) return;
11
+ const handler = (event) => {
12
+ const target = event.target;
13
+ if (!target) return;
14
+ if (referenceRef.current?.contains(target)) return;
15
+ if (floatingRef.current?.contains(target)) return;
16
+ onOutsidePress(event);
17
+ };
18
+ document.addEventListener("pointerdown", handler);
19
+ return () => document.removeEventListener("pointerdown", handler);
20
+ }, [enabled, onOutsidePress, referenceRef, floatingRef]);
21
+ };
22
+
23
+ export {
24
+ useOutsidePress
25
+ };
26
+ //# sourceMappingURL=chunk-WYJP7HVL.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/Popover/useOutsidePress.ts"],
4
+ "sourcesContent": ["import type { RefObject } from \"react\";\nimport { useEffect } from \"react\";\n\ninterface UseOutsidePressArgs {\n referenceRef: RefObject<HTMLElement | null>;\n floatingRef: RefObject<HTMLDivElement | null>;\n enabled: boolean;\n onOutsidePress: (event: PointerEvent) => void;\n}\n\nexport const useOutsidePress = ({\n referenceRef,\n floatingRef,\n enabled,\n onOutsidePress,\n}: UseOutsidePressArgs): void => {\n useEffect(() => {\n if (!enabled) return;\n\n const handler = (event: PointerEvent) => {\n const target = event.target as Node | null;\n if (!target) return;\n if (referenceRef.current?.contains(target)) return;\n if (floatingRef.current?.contains(target)) return;\n onOutsidePress(event);\n };\n\n document.addEventListener(\"pointerdown\", handler);\n return () => document.removeEventListener(\"pointerdown\", handler);\n }, [enabled, onOutsidePress, referenceRef, floatingRef]);\n};\n"],
5
+ "mappings": ";AACA,SAAS,iBAAiB;AASnB,IAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiC;AAC/B,YAAU,MAAM;AACd,QAAI,CAAC,QAAS;AAEd,UAAM,UAAU,CAAC,UAAwB;AACvC,YAAM,SAAS,MAAM;AACrB,UAAI,CAAC,OAAQ;AACb,UAAI,aAAa,SAAS,SAAS,MAAM,EAAG;AAC5C,UAAI,YAAY,SAAS,SAAS,MAAM,EAAG;AAC3C,qBAAe,KAAK;AAAA,IACtB;AAEA,aAAS,iBAAiB,eAAe,OAAO;AAChD,WAAO,MAAM,SAAS,oBAAoB,eAAe,OAAO;AAAA,EAClE,GAAG,CAAC,SAAS,gBAAgB,cAAc,WAAW,CAAC;AACzD;",
6
+ "names": []
7
+ }
@@ -1,12 +1,12 @@
1
- import {
2
- Listbox
3
- } from "./chunk-PQSPISME.js";
4
1
  import {
5
2
  useComboboxHighlight
6
3
  } from "./chunk-XZUQV54A.js";
7
4
  import {
8
5
  useComboboxOptions
9
6
  } from "./chunk-GU5OMKTM.js";
7
+ import {
8
+ Listbox
9
+ } from "./chunk-PQSPISME.js";
10
10
  import {
11
11
  getOptionLabel,
12
12
  getOptionValue,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-2JLZNSLY.js";
15
15
  import {
16
16
  TextField
17
- } from "./chunk-IQKS662C.js";
17
+ } from "./chunk-6RDK3FM2.js";
18
18
  import {
19
19
  VisuallyHidden
20
20
  } from "./chunk-PRZRE6A5.js";
@@ -352,4 +352,4 @@ var Combobox = ComboboxInner;
352
352
  export {
353
353
  Combobox
354
354
  };
355
- //# sourceMappingURL=chunk-OAG5T7NC.js.map
355
+ //# sourceMappingURL=chunk-XEP6X7JU.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/Combobox/Combobox.tsx"],
4
+ "sourcesContent": ["import { useOnUnmount } from \"@simplybusiness/mobius-hooks\";\nimport classNames from \"classnames/dedupe\";\nimport type React from \"react\";\nimport type { FocusEvent } from \"react\";\nimport { useEffect, useId, useRef, useState } from \"react\";\nimport { useBreakpoint } from \"../../hooks\";\nimport { TextField } from \"../TextField\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\nimport { Listbox } from \"./Listbox\"; // Import Listbox component\nimport type { ComboboxOption, ComboboxProps } from \"./types\";\nimport { useComboboxHighlight } from \"./useComboboxHighlight\";\nimport { useComboboxOptions } from \"./useComboboxOptions\";\nimport { getOptionLabel, getOptionValue, isOptionGroup } from \"./utils\";\nimport \"./Combobox.css\";\n\nconst ComboboxInner = <T extends ComboboxOption>({\n ref,\n ...props\n}: ComboboxProps<T>) => {\n const {\n id,\n defaultValue,\n value,\n options,\n asyncOptions,\n delay,\n minSearchLength,\n onSelected,\n className,\n placeholder,\n icon,\n onBlur,\n onFocus,\n onChange,\n // onSearched, // unused prop, consider removing\n optionComponent,\n optionTestIdPrefix,\n errorMessage,\n ...otherProps\n } = props;\n // Avoid re-fetching after selecting an option\n const skipNextDebounceRef = useRef(false);\n const fallbackRef = useRef<HTMLInputElement>(null);\n const [inputValue, setInputValue] = useState(defaultValue || \"\");\n const [isOpen, setIsOpen] = useState(false);\n const [isChanging, setIsChanging] = useState(false);\n const { filteredOptions, updateFilteredOptions, isLoading, error } =\n useComboboxOptions({\n options,\n asyncOptions,\n inputValue,\n delay,\n minSearchLength,\n skipNextDebounceRef,\n });\n const [validationError, setValidationError] = useState(\n error?.message || errorMessage,\n );\n const {\n highlightedIndex,\n highlightedGroupIndex,\n highlightNextOption,\n highlightPreviousOption,\n highlightFirstOption,\n highlightLastOption,\n clearHighlight,\n } = useComboboxHighlight(filteredOptions);\n\n const inputRef = ref || fallbackRef;\n const listboxId = useId();\n const statusId = useId();\n const blurTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const userInteractedRef = useRef(false);\n const justSelectedRef = useRef(false);\n const { down } = useBreakpoint();\n const isMobile = down(\"md\");\n\n useEffect(() => {\n setValidationError(error?.message || errorMessage);\n }, [error, errorMessage]);\n\n // Helper to create properly-typed empty value based on option type\n const getEmptyValue = (): T => {\n // Check first available option to determine if we're using string or object options\n const firstOption = filteredOptions\n ? isOptionGroup(filteredOptions)\n ? filteredOptions[0]?.options[0]\n : filteredOptions[0]\n : options\n ? isOptionGroup(options)\n ? options[0]?.options[0]\n : options[0]\n : undefined;\n\n // If options are strings, return empty string\n if (typeof firstOption === \"string\") {\n return \"\" as T;\n }\n\n // If options are objects, return empty object with same shape\n return { label: \"\", value: \"\" } as T;\n };\n\n const handleFocus = (e: FocusEvent) => {\n onFocus?.(e);\n if (!filteredOptions || filteredOptions.length === 0) return;\n if (blurTimeoutRef.current) {\n clearTimeout(blurTimeoutRef.current);\n blurTimeoutRef.current = null;\n }\n\n // Check if this is natural focus (user click/Tab) or programmatic focus\n const isNaturalFocus =\n userInteractedRef.current || e.relatedTarget !== null;\n if (userInteractedRef.current) {\n userInteractedRef.current = false;\n }\n\n // Block opening only if programmatic focus right after selection\n if (justSelectedRef.current && !isNaturalFocus) {\n return;\n }\n\n // Open dropdown for natural focus\n if (isNaturalFocus) {\n setIsOpen(true);\n justSelectedRef.current = false;\n }\n };\n\n useEffect(() => {\n if (!inputRef || typeof inputRef === \"function\") return;\n const inputElement = inputRef.current;\n if (!inputElement) return;\n\n const handleMouseDown = () => {\n // Track that user clicked/interacted with input\n userInteractedRef.current = true;\n };\n\n inputElement.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n inputElement.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, [inputRef]);\n\n useOnUnmount(() => {\n if (blurTimeoutRef.current) {\n clearTimeout(blurTimeoutRef.current);\n }\n });\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n setInputValue(newValue);\n setValidationError(undefined);\n justSelectedRef.current = false;\n setIsChanging(true);\n // Only open immediately for sync options; async options controlled by useEffect\n if (!asyncOptions) {\n setIsOpen(true);\n }\n clearHighlight();\n onChange?.(e);\n };\n\n const handleOptionSelect = (option: T) => {\n const val = getOptionValue(option);\n\n // Allow empty values to pass through\n if (!val && val !== \"\") return;\n\n if (\n typeof option === \"object\" &&\n \"callback\" in option &&\n option.callback &&\n typeof option.callback === \"function\"\n ) {\n justSelectedRef.current = true;\n setTimeout(() => {\n if (inputRef && typeof inputRef !== \"function\" && inputRef.current) {\n inputRef.current.focus();\n }\n }, 0);\n const callbackPromise = option.callback();\n updateFilteredOptions(callbackPromise);\n callbackPromise\n .then(() => {\n setIsOpen(true);\n setIsChanging(true);\n })\n .catch(() => {\n // error handled inside updateFilteredOptions via setError\n });\n return;\n }\n\n // Prevent re-fetching options after selecting an option\n skipNextDebounceRef.current = true;\n justSelectedRef.current = true;\n\n setIsChanging(false);\n setValidationError(undefined);\n setIsOpen(false);\n setInputValue(val);\n onSelected?.(option);\n };\n\n const getFirstOption = () => {\n if (!filteredOptions) return undefined;\n if (isOptionGroup(filteredOptions)) {\n return filteredOptions[0]?.options[0];\n }\n\n return filteredOptions[0];\n };\n\n const getHighlightedOption = () => {\n if (!filteredOptions) return undefined;\n if (highlightedIndex === -1) return undefined;\n\n if (isOptionGroup(filteredOptions)) {\n const group = filteredOptions[highlightedGroupIndex];\n return group?.options[highlightedIndex];\n }\n\n return filteredOptions[highlightedIndex];\n };\n\n const getHighlightedOptionId = () => {\n const option = getHighlightedOption();\n if (!option) return undefined;\n\n if (isOptionGroup(filteredOptions)) {\n return `${listboxId}-option-${highlightedGroupIndex}-${highlightedIndex}`;\n }\n\n return `${listboxId}-option-${highlightedIndex}`;\n };\n\n const handleBlur = (e: FocusEvent<Element, Element>) => {\n // Force selection if user has matched an entry by typing (not already selected)\n // Defer this to allow natural focus flow to complete first\n if (!justSelectedRef.current) {\n const typedText = inputValue.trim();\n const typedTextLower = typedText.toLowerCase();\n const highlightedOption = getHighlightedOption();\n const label = getOptionLabel(highlightedOption);\n\n if (typedTextLower === label?.toLowerCase()) {\n // Exact match with an option\n setTimeout(() => {\n handleOptionSelect(highlightedOption as T);\n }, 0);\n } else if (typedText === \"\") {\n // Allow empty values\n setTimeout(() => {\n handleOptionSelect(getEmptyValue());\n }, 0);\n } else {\n // Invalid value (not in options and not empty)\n setValidationError(\n errorMessage || \"Please select an option from the list\",\n );\n setTimeout(() => {\n setInputValue(\"\");\n }, 0);\n }\n }\n\n blurTimeoutRef.current = setTimeout(() => {\n onBlur?.(e);\n setIsOpen(false);\n setIsChanging(false);\n }, 150);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n justSelectedRef.current = false;\n setIsOpen(true);\n highlightNextOption();\n break;\n case \"ArrowUp\":\n e.preventDefault();\n justSelectedRef.current = false;\n setIsOpen(true);\n highlightPreviousOption();\n break;\n case \"Home\":\n e.preventDefault();\n justSelectedRef.current = false;\n setIsOpen(true);\n highlightFirstOption();\n break;\n case \"End\":\n e.preventDefault();\n justSelectedRef.current = false;\n setIsOpen(true);\n highlightLastOption();\n break;\n case \"Enter\":\n e.preventDefault();\n if (isOpen) {\n const selectedOption = getHighlightedOption() || getFirstOption();\n if (selectedOption) {\n handleOptionSelect(selectedOption);\n }\n }\n break;\n case \"Escape\":\n e.preventDefault();\n setInputValue(\"\");\n setIsOpen(false);\n clearHighlight();\n break;\n default:\n // Do nothing\n }\n };\n\n useEffect(() => {\n if (value) {\n setInputValue(value);\n }\n }, [value]);\n\n // Open and close the combobox based on async filtered options\n useEffect(() => {\n if (asyncOptions && isChanging) {\n setIsOpen(!!filteredOptions && filteredOptions.length > 0);\n }\n }, [filteredOptions, asyncOptions, isChanging]);\n\n const classes = classNames(\n \"mobius mobius-combobox\",\n {\n \"mobius-combobox--is-expanded\": isOpen,\n \"mobius-combobox--is-loading\": isLoading,\n \"mobius-combobox--is-mobile\": isMobile,\n },\n className,\n );\n\n const getStatusMessage = () => {\n if (isLoading) return \"Loading options\";\n if (!filteredOptions || filteredOptions.length === 0) {\n return isChanging ? \"No options found\" : \"\";\n }\n const count = isOptionGroup(filteredOptions)\n ? filteredOptions.reduce((sum, group) => sum + group.options.length, 0)\n : filteredOptions.length;\n return isOpen && isChanging\n ? `${count} option${count === 1 ? \"\" : \"s\"} available`\n : \"\";\n };\n\n return (\n <div id={id} data-testid=\"mobius-combobox__wrapper\" className={classes}>\n <VisuallyHidden\n role=\"status\"\n aria-live=\"polite\"\n id={statusId}\n elementType=\"div\"\n className=\"mobius-combobox__status\"\n >\n {getStatusMessage()}\n </VisuallyHidden>\n <TextField\n {...otherProps}\n className=\"mobius-combobox__input\"\n role=\"combobox\"\n value={inputValue}\n placeholder={placeholder}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onChange={handleInputChange}\n autoComplete=\"off\"\n aria-describedby={isLoading ? statusId : undefined}\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls={isOpen ? listboxId : undefined}\n aria-expanded={isOpen}\n aria-activedescendant={\n highlightedIndex === -1 ? undefined : getHighlightedOptionId()\n }\n prefixInside={icon}\n ref={inputRef}\n errorMessage={errorMessage || validationError || error?.message}\n />\n <Listbox\n id={listboxId}\n isOpen={isOpen}\n isLoading={isLoading}\n options={filteredOptions}\n highlightedIndex={highlightedIndex}\n highlightedGroupIndex={highlightedGroupIndex}\n onOptionSelect={handleOptionSelect}\n optionComponent={optionComponent}\n optionTestIdPrefix={optionTestIdPrefix}\n />\n </div>\n );\n};\n\nexport const Combobox = ComboboxInner;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  AddressLookup
3
- } from "../../chunk-F5ELD54X.js";
3
+ } from "../../chunk-QNOBB5HT.js";
4
4
  import "../../chunk-66ARYOY7.js";
5
5
  import "../../chunk-SZEFLEDA.js";
6
6
  import "../../chunk-Q4QTBY7C.js";
7
- import "../../chunk-OAG5T7NC.js";
8
- import "../../chunk-PQSPISME.js";
9
- import "../../chunk-WNWHIFKH.js";
7
+ import "../../chunk-XEP6X7JU.js";
10
8
  import "../../chunk-XZUQV54A.js";
11
9
  import "../../chunk-GU5OMKTM.js";
10
+ import "../../chunk-PQSPISME.js";
11
+ import "../../chunk-WNWHIFKH.js";
12
12
  import "../../chunk-2JLZNSLY.js";
13
13
  import "../../chunk-CUOVI2HT.js";
14
- import "../../chunk-IQKS662C.js";
15
- import "../../chunk-IM3I5CZL.js";
14
+ import "../../chunk-6RDK3FM2.js";
15
+ import "../../chunk-I6CFRGID.js";
16
16
  import "../../chunk-3PRSHEVX.js";
17
17
  import "../../chunk-MZJT3USG.js";
18
18
  import "../../chunk-NPOXFILT.js";
@@ -1,24 +1,24 @@
1
1
  import "../../chunk-WNRO77YH.js";
2
+ import "../../chunk-52GWES2P.js";
2
3
  import {
3
4
  AddressLookup
4
- } from "../../chunk-F5ELD54X.js";
5
+ } from "../../chunk-QNOBB5HT.js";
6
+ import "../../chunk-66ARYOY7.js";
5
7
  import {
6
8
  LoqateAddressLookupService
7
9
  } from "../../chunk-VVL4B2KD.js";
8
10
  import "../../chunk-EDSRI6SV.js";
9
- import "../../chunk-52GWES2P.js";
10
- import "../../chunk-66ARYOY7.js";
11
11
  import "../../chunk-SZEFLEDA.js";
12
12
  import "../../chunk-Q4QTBY7C.js";
13
- import "../../chunk-OAG5T7NC.js";
14
- import "../../chunk-PQSPISME.js";
15
- import "../../chunk-WNWHIFKH.js";
13
+ import "../../chunk-XEP6X7JU.js";
16
14
  import "../../chunk-XZUQV54A.js";
17
15
  import "../../chunk-GU5OMKTM.js";
16
+ import "../../chunk-PQSPISME.js";
17
+ import "../../chunk-WNWHIFKH.js";
18
18
  import "../../chunk-2JLZNSLY.js";
19
19
  import "../../chunk-CUOVI2HT.js";
20
- import "../../chunk-IQKS662C.js";
21
- import "../../chunk-IM3I5CZL.js";
20
+ import "../../chunk-6RDK3FM2.js";
21
+ import "../../chunk-I6CFRGID.js";
22
22
  import "../../chunk-3PRSHEVX.js";
23
23
  import "../../chunk-MZJT3USG.js";
24
24
  import "../../chunk-NPOXFILT.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  Breadcrumbs
4
- } from "../../chunk-JFDDW3IV.js";
4
+ } from "../../chunk-P7TPNRU4.js";
5
5
  import "../../chunk-VHAA22YE.js";
6
6
  export {
7
7
  Breadcrumbs
@@ -1,11 +1,11 @@
1
1
  import "../../chunk-LX5HBXZN.js";
2
- import {
3
- Breadcrumbs
4
- } from "../../chunk-JFDDW3IV.js";
5
2
  import {
6
3
  BreadcrumbItem
7
4
  } from "../../chunk-HP2NRM7T.js";
8
5
  import "../../chunk-HWGFFTOM.js";
6
+ import {
7
+ Breadcrumbs
8
+ } from "../../chunk-P7TPNRU4.js";
9
9
  import "../../chunk-TJCUKTFX.js";
10
10
  import "../../chunk-FIAL4HTE.js";
11
11
  import "../../chunk-QGGILW3D.js";
@@ -1,11 +1,11 @@
1
1
  import "../../chunk-6O77SOOB.js";
2
+ import "../../chunk-IFGPGF5W.js";
2
3
  import {
3
4
  CheckboxGroup
4
5
  } from "../../chunk-576SEJGC.js";
5
6
  import {
6
7
  Checkbox
7
8
  } from "../../chunk-2VEO5SSY.js";
8
- import "../../chunk-IFGPGF5W.js";
9
9
  import "../../chunk-3PRSHEVX.js";
10
10
  import "../../chunk-MZJT3USG.js";
11
11
  import "../../chunk-NPOXFILT.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  Combobox
3
- } from "../../chunk-OAG5T7NC.js";
4
- import "../../chunk-PQSPISME.js";
5
- import "../../chunk-WNWHIFKH.js";
3
+ } from "../../chunk-XEP6X7JU.js";
6
4
  import "../../chunk-XZUQV54A.js";
7
5
  import "../../chunk-GU5OMKTM.js";
6
+ import "../../chunk-PQSPISME.js";
7
+ import "../../chunk-WNWHIFKH.js";
8
8
  import "../../chunk-2JLZNSLY.js";
9
9
  import "../../chunk-CUOVI2HT.js";
10
- import "../../chunk-IQKS662C.js";
11
- import "../../chunk-IM3I5CZL.js";
10
+ import "../../chunk-6RDK3FM2.js";
11
+ import "../../chunk-I6CFRGID.js";
12
12
  import "../../chunk-3PRSHEVX.js";
13
13
  import "../../chunk-MZJT3USG.js";
14
14
  import "../../chunk-NPOXFILT.js";
@@ -2,17 +2,17 @@ import "../../chunk-SZEFLEDA.js";
2
2
  import "../../chunk-Q4QTBY7C.js";
3
3
  import {
4
4
  Combobox
5
- } from "../../chunk-OAG5T7NC.js";
6
- import "../../chunk-PQSPISME.js";
7
- import "../../chunk-WNWHIFKH.js";
5
+ } from "../../chunk-XEP6X7JU.js";
8
6
  import "../../chunk-XZUQV54A.js";
9
7
  import "../../chunk-GU5OMKTM.js";
8
+ import "../../chunk-PQSPISME.js";
9
+ import "../../chunk-WNWHIFKH.js";
10
10
  import {
11
11
  buildOptionTestId
12
12
  } from "../../chunk-2JLZNSLY.js";
13
13
  import "../../chunk-CUOVI2HT.js";
14
- import "../../chunk-IQKS662C.js";
15
- import "../../chunk-IM3I5CZL.js";
14
+ import "../../chunk-6RDK3FM2.js";
15
+ import "../../chunk-I6CFRGID.js";
16
16
  import "../../chunk-3PRSHEVX.js";
17
17
  import "../../chunk-MZJT3USG.js";
18
18
  import "../../chunk-NPOXFILT.js";
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  DateField,
4
4
  MIN_MAX_ERROR
5
- } from "../../chunk-XNEQHHNV.js";
5
+ } from "../../chunk-5QMKPWB4.js";
6
6
  import "../../chunk-CI5GCPUG.js";
7
7
  import "../../chunk-CUOVI2HT.js";
8
- import "../../chunk-IQKS662C.js";
9
- import "../../chunk-IM3I5CZL.js";
8
+ import "../../chunk-6RDK3FM2.js";
9
+ import "../../chunk-I6CFRGID.js";
10
10
  import "../../chunk-3PRSHEVX.js";
11
11
  import "../../chunk-MZJT3USG.js";
12
12
  import "../../chunk-NPOXFILT.js";
@@ -2,14 +2,14 @@ import "../../chunk-3O5DIIGS.js";
2
2
  import {
3
3
  DateField,
4
4
  MIN_MAX_ERROR
5
- } from "../../chunk-XNEQHHNV.js";
5
+ } from "../../chunk-5QMKPWB4.js";
6
6
  import {
7
7
  convertToDateFormat,
8
8
  isValidDate
9
9
  } from "../../chunk-CI5GCPUG.js";
10
10
  import "../../chunk-CUOVI2HT.js";
11
- import "../../chunk-IQKS662C.js";
12
- import "../../chunk-IM3I5CZL.js";
11
+ import "../../chunk-6RDK3FM2.js";
12
+ import "../../chunk-I6CFRGID.js";
13
13
  import "../../chunk-3PRSHEVX.js";
14
14
  import "../../chunk-MZJT3USG.js";
15
15
  import "../../chunk-NPOXFILT.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Drawer
3
- } from "../../chunk-GJBH37DH.js";
4
- import "../../chunk-WHRUNWJI.js";
5
- import "../../chunk-VYQRTISC.js";
3
+ } from "../../chunk-KFHPI67N.js";
6
4
  import "../../chunk-UZV5PZ7R.js";
7
5
  import {
8
6
  useDrawer
9
7
  } from "../../chunk-GZFZXQRU.js";
8
+ import "../../chunk-WHRUNWJI.js";
9
+ import "../../chunk-VYQRTISC.js";
10
10
  import "../../chunk-26JGSX7J.js";
11
11
  import "../../chunk-F6UWB5K2.js";
12
12
  import "../../chunk-FD3JTY5L.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Item
3
- } from "../../chunk-4HI2AOBC.js";
3
+ } from "../../chunk-6TSYA7CJ.js";
4
4
  import "../../chunk-VHAA22YE.js";
5
5
  export {
6
6
  Item
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  DropdownMenu
3
- } from "../../chunk-OEDU5ZEA.js";
3
+ } from "../../chunk-KUH5AB5T.js";
4
4
  import "../../chunk-YGME6T3L.js";
5
- import "../../chunk-4HI2AOBC.js";
5
+ import "../../chunk-6TSYA7CJ.js";
6
6
  import "../../chunk-F6UWB5K2.js";
7
7
  import "../../chunk-FD3JTY5L.js";
8
8
  import "../../chunk-STMV644L.js";
@@ -2,8 +2,8 @@
2
2
  import "../../chunk-CUOVI2HT.js";
3
3
  import {
4
4
  TextField
5
- } from "../../chunk-IQKS662C.js";
6
- import "../../chunk-IM3I5CZL.js";
5
+ } from "../../chunk-6RDK3FM2.js";
6
+ import "../../chunk-I6CFRGID.js";
7
7
  import "../../chunk-3PRSHEVX.js";
8
8
  import "../../chunk-MZJT3USG.js";
9
9
  import "../../chunk-NPOXFILT.js";
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  MaskedField
4
- } from "../../chunk-GV36OVX7.js";
4
+ } from "../../chunk-R67C5QTH.js";
5
5
  import "../../chunk-CUOVI2HT.js";
6
- import "../../chunk-IQKS662C.js";
7
- import "../../chunk-IM3I5CZL.js";
6
+ import "../../chunk-6RDK3FM2.js";
7
+ import "../../chunk-I6CFRGID.js";
8
8
  import "../../chunk-3PRSHEVX.js";
9
9
  import "../../chunk-MZJT3USG.js";
10
10
  import "../../chunk-NPOXFILT.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  Modal
3
- } from "../../chunk-PEEQNAIN.js";
3
+ } from "../../chunk-DMYDWKKA.js";
4
+ import "../../chunk-55NPJOV3.js";
4
5
  import "../../chunk-MPB5F6QL.js";
5
- import "../../chunk-JJUTS5ET.js";
6
6
  import {
7
7
  useModal
8
8
  } from "../../chunk-Q5MIALGZ.js";
9
+ import "../../chunk-JJUTS5ET.js";
9
10
  import "../../chunk-TBKQA5ZF.js";
10
- import "../../chunk-55NPJOV3.js";
11
11
  import "../../chunk-F6UWB5K2.js";
12
12
  import "../../chunk-FD3JTY5L.js";
13
13
  import "../../chunk-STMV644L.js";
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  NumberField
4
- } from "../../chunk-S4CU4XRB.js";
4
+ } from "../../chunk-VGFVSRWH.js";
5
5
  import "../../chunk-CUOVI2HT.js";
6
- import "../../chunk-IQKS662C.js";
7
- import "../../chunk-IM3I5CZL.js";
6
+ import "../../chunk-6RDK3FM2.js";
7
+ import "../../chunk-I6CFRGID.js";
8
8
  import "../../chunk-3PRSHEVX.js";
9
9
  import "../../chunk-MZJT3USG.js";
10
10
  import "../../chunk-NPOXFILT.js";
@@ -1,10 +1,10 @@
1
1
  import "../../chunk-F4RQKLF7.js";
2
2
  import {
3
3
  NumberField
4
- } from "../../chunk-S4CU4XRB.js";
4
+ } from "../../chunk-VGFVSRWH.js";
5
5
  import "../../chunk-CUOVI2HT.js";
6
- import "../../chunk-IQKS662C.js";
7
- import "../../chunk-IM3I5CZL.js";
6
+ import "../../chunk-6RDK3FM2.js";
7
+ import "../../chunk-I6CFRGID.js";
8
8
  import "../../chunk-3PRSHEVX.js";
9
9
  import "../../chunk-MZJT3USG.js";
10
10
  import "../../chunk-NPOXFILT.js";
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import {
3
3
  PasswordField
4
- } from "../../chunk-X4CMSAET.js";
4
+ } from "../../chunk-WSQWMVA2.js";
5
5
  import "../../chunk-WC3D5GNN.js";
6
6
  import "../../chunk-CUOVI2HT.js";
7
- import "../../chunk-IQKS662C.js";
8
- import "../../chunk-IM3I5CZL.js";
7
+ import "../../chunk-6RDK3FM2.js";
8
+ import "../../chunk-I6CFRGID.js";
9
9
  import "../../chunk-3PRSHEVX.js";
10
10
  import "../../chunk-MZJT3USG.js";
11
11
  import "../../chunk-NPOXFILT.js";
@@ -1,11 +1,11 @@
1
1
  import "../../chunk-5L4G4VLM.js";
2
2
  import {
3
3
  PasswordField
4
- } from "../../chunk-X4CMSAET.js";
4
+ } from "../../chunk-WSQWMVA2.js";
5
5
  import "../../chunk-WC3D5GNN.js";
6
6
  import "../../chunk-CUOVI2HT.js";
7
- import "../../chunk-IQKS662C.js";
8
- import "../../chunk-IM3I5CZL.js";
7
+ import "../../chunk-6RDK3FM2.js";
8
+ import "../../chunk-I6CFRGID.js";
9
9
  import "../../chunk-3PRSHEVX.js";
10
10
  import "../../chunk-MZJT3USG.js";
11
11
  import "../../chunk-NPOXFILT.js";