@servicetitan/anvil2 1.27.0 → 1.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/{Combobox-kxTlPBj5.js → Combobox-BRZIYucw.js} +3 -3
  3. package/dist/{Combobox-kxTlPBj5.js.map → Combobox-BRZIYucw.js.map} +1 -1
  4. package/dist/Combobox.js +1 -1
  5. package/dist/DateField-DHIXyi2_.js +565 -0
  6. package/dist/DateField-DHIXyi2_.js.map +1 -0
  7. package/dist/DateField.js +1 -1
  8. package/dist/{Dialog-6g0s0fvb-DdwUwOVg.js → Dialog-DDsVwnZZ-s9GGnSax.js} +51 -50
  9. package/dist/Dialog-DDsVwnZZ-s9GGnSax.js.map +1 -0
  10. package/dist/{Dialog-BVG0m6dn.js → Dialog-wuBdQ785.js} +2 -2
  11. package/dist/{Dialog-BVG0m6dn.js.map → Dialog-wuBdQ785.js.map} +1 -1
  12. package/dist/Dialog.js +1 -1
  13. package/dist/{Drawer-DQSLhTtO.js → Drawer-BX7LCwCa.js} +58 -54
  14. package/dist/Drawer-BX7LCwCa.js.map +1 -0
  15. package/dist/Drawer.css +25 -26
  16. package/dist/Drawer.js +1 -1
  17. package/dist/InputMask-CiAjFhsc-Bnbf_ZQq.js +195 -0
  18. package/dist/InputMask-CiAjFhsc-Bnbf_ZQq.js.map +1 -0
  19. package/dist/{InputMask-DgkoDKtz.js → InputMask-Cifzg7Ee.js} +2 -2
  20. package/dist/{InputMask-DgkoDKtz.js.map → InputMask-Cifzg7Ee.js.map} +1 -1
  21. package/dist/InputMask.js +1 -1
  22. package/dist/{Label-Cmah7p_s-DYYyQxMK.js → Label-Do6kKzVr-BvIRT-vF.js} +3 -3
  23. package/dist/{Label-Cmah7p_s-DYYyQxMK.js.map → Label-Do6kKzVr-BvIRT-vF.js.map} +1 -1
  24. package/dist/{Menu-1N6kdaVX.js → Menu-COlGXBmd.js} +2 -2
  25. package/dist/{Menu-1N6kdaVX.js.map → Menu-COlGXBmd.js.map} +1 -1
  26. package/dist/Menu.js +1 -1
  27. package/dist/{Page-DUA2NqcR.js → Page-C5GjTBZh.js} +5 -5
  28. package/dist/{Page-DUA2NqcR.js.map → Page-C5GjTBZh.js.map} +1 -1
  29. package/dist/Page.js +1 -1
  30. package/dist/{Popover-Cbmy9jrU.js → Popover-DAxtbeRA.js} +2 -2
  31. package/dist/{Popover-Cbmy9jrU.js.map → Popover-DAxtbeRA.js.map} +1 -1
  32. package/dist/{Popover-Bv4sIKvC-CCbvaK8b.js → Popover-tcXHJePS-CMjz_uId.js} +27 -87
  33. package/dist/Popover-tcXHJePS-CMjz_uId.js.map +1 -0
  34. package/dist/Popover.js +1 -1
  35. package/dist/{ProgressBar-chBw0MyR-cnNzXxPv.js → ProgressBar-BrXijLda-BDwH4WrE.js} +3 -3
  36. package/dist/{ProgressBar-chBw0MyR-cnNzXxPv.js.map → ProgressBar-BrXijLda-BDwH4WrE.js.map} +1 -1
  37. package/dist/{ProgressBar-Cbt2k-7d.js → ProgressBar-aP7gOxee.js} +2 -2
  38. package/dist/{ProgressBar-Cbt2k-7d.js.map → ProgressBar-aP7gOxee.js.map} +1 -1
  39. package/dist/ProgressBar.js +1 -1
  40. package/dist/{TextField-A_NHddzb.js → TextField-BWHsVZiC.js} +2 -2
  41. package/dist/{TextField-A_NHddzb.js.map → TextField-BWHsVZiC.js.map} +1 -1
  42. package/dist/{TextField-CODjlcrt-CsYFQwcu.js → TextField-C614D1ZV-DeVOfPoS.js} +2 -2
  43. package/dist/{TextField-CODjlcrt-CsYFQwcu.js.map → TextField-C614D1ZV-DeVOfPoS.js.map} +1 -1
  44. package/dist/TextField.js +1 -1
  45. package/dist/{Textarea-BtVSVQSa.js → Textarea-Dj47MRiF.js} +2 -2
  46. package/dist/{Textarea-BtVSVQSa.js.map → Textarea-Dj47MRiF.js.map} +1 -1
  47. package/dist/Textarea.js +1 -1
  48. package/dist/Toast.js +1 -1
  49. package/dist/{Toolbar-ULYSDfhw.js → Toolbar-BAvsl6fK.js} +2 -2
  50. package/dist/{Toolbar-ULYSDfhw.js.map → Toolbar-BAvsl6fK.js.map} +1 -1
  51. package/dist/Toolbar.js +1 -1
  52. package/dist/{Tooltip-DeaFnid1.js → Tooltip-D38gdiV_.js} +2 -2
  53. package/dist/{Tooltip-DeaFnid1.js.map → Tooltip-D38gdiV_.js.map} +1 -1
  54. package/dist/{Tooltip-gkNXkPsE-CnvZcZY3.js → Tooltip-DVBEjajY-DN86i_oi.js} +3 -3
  55. package/dist/{Tooltip-gkNXkPsE-CnvZcZY3.js.map → Tooltip-DVBEjajY-DN86i_oi.js.map} +1 -1
  56. package/dist/Tooltip.js +1 -1
  57. package/dist/components/Dialog/Dialog.d.ts +0 -1
  58. package/dist/components/Drawer/Drawer.d.ts +0 -1
  59. package/dist/index.js +14 -14
  60. package/dist/{toast-C-xc_Azo.js → toast-DMKrL2Ew.js} +2 -2
  61. package/dist/{toast-C-xc_Azo.js.map → toast-DMKrL2Ew.js.map} +1 -1
  62. package/dist/{useKeyboardFocusables-BYoElaOi-T7ncq79D.js → useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js} +12 -165
  63. package/dist/{useKeyboardFocusables-BYoElaOi-T7ncq79D.js.map → useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js.map} +1 -1
  64. package/package.json +3 -3
  65. package/dist/DateField-CaDuuTnX.js +0 -579
  66. package/dist/DateField-CaDuuTnX.js.map +0 -1
  67. package/dist/Dialog-6g0s0fvb-DdwUwOVg.js.map +0 -1
  68. package/dist/Drawer-DQSLhTtO.js.map +0 -1
  69. package/dist/InputMask-mcs9lD4F-BuCF93Le.js +0 -320
  70. package/dist/InputMask-mcs9lD4F-BuCF93Le.js.map +0 -1
  71. package/dist/Popover-Bv4sIKvC-CCbvaK8b.js.map +0 -1
  72. /package/dist/{Dialog-6g0s0fvb.css → Dialog-DDsVwnZZ.css} +0 -0
  73. /package/dist/{Label-Cmah7p_s.css → Label-Do6kKzVr.css} +0 -0
  74. /package/dist/{Popover-Bv4sIKvC.css → Popover-tcXHJePS.css} +0 -0
  75. /package/dist/{ProgressBar-chBw0MyR.css → ProgressBar-BrXijLda.css} +0 -0
  76. /package/dist/{Tooltip-gkNXkPsE.css → Tooltip-DVBEjajY.css} +0 -0
@@ -1,13 +1,13 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { forwardRef, createContext, useRef, useState, useId, useEffect, useCallback, useContext } from 'react';
2
+ import { forwardRef, createContext, useRef, useState, useId, useCallback, useEffect, useContext } from 'react';
3
3
  import { c as cx } from './index-tZvMCc77.js';
4
4
  import { S as SvgClose } from './close-DZj38AEh.js';
5
5
  import { T as Text } from './Text-C2n3GDdC-rz_AelM0.js';
6
6
  import { B as Button } from './Button-BHwg8Uip-DPU6y8-l.js';
7
- import { u as useKeyboardFocusables } from './useKeyboardFocusables-BYoElaOi-T7ncq79D.js';
7
+ import { u as useKeyboardFocusables } from './useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js';
8
8
  import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
9
9
 
10
- import './Dialog-6g0s0fvb.css';const dialog = "_dialog_jetrx_3";
10
+ import './Dialog-DDsVwnZZ.css';const dialog = "_dialog_jetrx_3";
11
11
  const container = "_container_jetrx_23";
12
12
  const content = "_content_jetrx_36";
13
13
  const header = "_header_jetrx_43";
@@ -69,7 +69,6 @@ const DialogHeader = forwardRef(
69
69
  size: "small",
70
70
  appearance: "ghost",
71
71
  "aria-label": "Close dialog",
72
- "data-anv": "dialog-header-close-button",
73
72
  icon: SvgClose
74
73
  }
75
74
  ) })
@@ -134,36 +133,36 @@ const DialogElement = forwardRef(
134
133
  disableCloseOnEscape = false,
135
134
  disableCloseOnClickOutside = false,
136
135
  size,
137
- enableScrollChaining,
138
136
  ...rest
139
137
  } = props;
138
+ const openRef = useRef(open);
140
139
  const elRef = useRef(null);
141
140
  const contentRef = useRef(null);
141
+ const bodyRef = useRef(null);
142
142
  const [hasOpenPopover, setHasOpenPopover] = useState(false);
143
143
  const id = useId();
144
144
  const DialogClassNames = cx([styles["dialog"]], className, {
145
145
  [styles["fullscreen"]]: fullScreen,
146
146
  [styles["large"]]: size === "large"
147
147
  });
148
- const { focusables } = useKeyboardFocusables(contentRef, {
148
+ const { focusables } = useKeyboardFocusables(elRef, {
149
149
  observeChange: true
150
150
  });
151
- useEffect(() => {
152
- if (!open || enableScrollChaining) return;
153
- const scrollHandler = (e) => {
154
- const content = contentRef.current;
155
- const target = e.target;
156
- const isOverflowing = elRef.current && elRef.current.scrollHeight > elRef.current.clientHeight;
157
- if (!isOverflowing || !content?.contains(target)) {
158
- e.preventDefault();
151
+ const removeBodyClass = useCallback(() => {
152
+ if (bodyRef.current) {
153
+ const dialogsOpen = bodyRef.current.dataset.dialogsOpen ? bodyRef.current.dataset.dialogsOpen.split(" ") : [];
154
+ const newdialogsOpen = dialogsOpen.filter((item) => item !== id);
155
+ if (newdialogsOpen.length === 0) {
156
+ bodyRef.current.removeAttribute("data-dialogs-open");
157
+ bodyRef.current?.classList.remove("dialog-open");
158
+ } else {
159
+ bodyRef.current.dataset.dialogsOpen = newdialogsOpen.join(" ");
159
160
  }
160
- return;
161
- };
162
- document.addEventListener("wheel", scrollHandler, {
163
- passive: false
164
- });
165
- return () => document.getRootNode().removeEventListener("wheel", scrollHandler);
166
- }, [enableScrollChaining, open]);
161
+ }
162
+ }, [id]);
163
+ useEffect(() => {
164
+ return () => removeBodyClass();
165
+ }, []);
167
166
  useEffect(() => {
168
167
  if (typeof document === "undefined" || disableCloseOnClickOutside) return;
169
168
  const onClickOutsideHandler = (e) => {
@@ -174,32 +173,42 @@ const DialogElement = forwardRef(
174
173
  };
175
174
  document.addEventListener("click", onClickOutsideHandler);
176
175
  return () => document.removeEventListener("click", onClickOutsideHandler);
177
- }, [disableCloseOnClickOutside, onClose, hasOpenPopover]);
178
- const initial = useRef(true);
176
+ }, [disableCloseOnClickOutside, onClose, onOpenChange, hasOpenPopover]);
179
177
  useEffect(() => {
180
- if (initial.current) {
181
- initial.current = false;
182
- } else {
183
- onOpenChange?.(open);
184
- }
185
178
  if (open) {
186
- onOpen?.();
187
- elRef.current?.showModal();
179
+ if (!bodyRef.current) {
180
+ const body = document.body ?? elRef.current?.closest("body");
181
+ body && (bodyRef.current = body);
182
+ }
183
+ if (bodyRef.current) {
184
+ const dialogsOpen = bodyRef.current.dataset.dialogsOpen ? bodyRef.current.dataset.dialogsOpen.split(" ") : [];
185
+ if (!dialogsOpen.includes(id)) {
186
+ if (openRef.current !== open) {
187
+ onOpenChange?.(true);
188
+ openRef.current = open;
189
+ }
190
+ onOpen?.();
191
+ elRef.current?.showModal();
192
+ dialogsOpen.push(id);
193
+ bodyRef.current.dataset.dialogsOpen = dialogsOpen.join(" ");
194
+ }
195
+ const hasFocus = elRef.current?.querySelector(":focus");
196
+ setTimeout(() => {
197
+ !hasFocus && focusables && focusables.length > 0 && focusables[0].focus();
198
+ }, 1);
199
+ bodyRef.current?.classList.add("dialog-open");
200
+ }
188
201
  return;
189
202
  }
190
203
  setTimeout(() => {
204
+ if (openRef.current !== open) {
205
+ onOpenChange?.(false);
206
+ openRef.current = open;
207
+ }
191
208
  elRef.current?.close();
209
+ removeBodyClass();
192
210
  }, 1);
193
- }, [id, onOpen, onOpenChange, open]);
194
- useEffect(() => {
195
- if (!open) return;
196
- if (!focusables) return;
197
- if (focusables[0]?.dataset.anv === "dialog-header-close-button" && focusables[1]) {
198
- focusables[1].focus();
199
- } else {
200
- focusables[0]?.focus();
201
- }
202
- }, [open, focusables]);
211
+ }, [focusables, id, onOpen, onOpenChange, open, removeBodyClass]);
203
212
  const onKeyDownHandler = (e) => {
204
213
  onKeyDown?.(e);
205
214
  if (e.code === "Escape") {
@@ -240,15 +249,7 @@ const DialogElement = forwardRef(
240
249
  DialogContext.Provider,
241
250
  {
242
251
  value: { close, ref: elRef, hasOpenPopover, setHasOpenPopover },
243
- children: /* @__PURE__ */ jsx(
244
- "section",
245
- {
246
- ref: contentRef,
247
- className: styles["container"],
248
- "data-open": open,
249
- children
250
- }
251
- )
252
+ children: /* @__PURE__ */ jsx("section", { ref: contentRef, className: styles["container"], children })
252
253
  }
253
254
  )
254
255
  }
@@ -274,4 +275,4 @@ const Dialog = Object.assign(DialogElement, {
274
275
  });
275
276
 
276
277
  export { Dialog as D, DialogHeader as a, DialogFooter as b, DialogContent as c, DialogCancelButton as d, DialogContext as e };
277
- //# sourceMappingURL=Dialog-6g0s0fvb-DdwUwOVg.js.map
278
+ //# sourceMappingURL=Dialog-DDsVwnZZ-s9GGnSax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog-DDsVwnZZ-s9GGnSax.js","sources":["../../hammer-react/dist/Dialog-DDsVwnZZ.js"],"sourcesContent":["import { jsx, jsxs } from 'react/jsx-runtime';\nimport { forwardRef, createContext, useRef, useState, useId, useCallback, useEffect, useContext } from 'react';\nimport cx from 'classnames';\nimport Close from '@servicetitan/hammer-icon/mdi/round/close.svg';\nimport { T as Text } from './Text-C2n3GDdC.js';\nimport { B as Button } from './Button-BHwg8Uip.js';\nimport { u as useKeyboardFocusables } from './useKeyboardFocusables-C3hMtJK_.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\n\nimport './Dialog.css';const dialog = \"_dialog_jetrx_3\";\nconst container = \"_container_jetrx_23\";\nconst content = \"_content_jetrx_36\";\nconst header = \"_header_jetrx_43\";\nconst footer = \"_footer_jetrx_63\";\nconst large = \"_large_jetrx_100\";\nconst fullscreen = \"_fullscreen_jetrx_100\";\nconst sticky = \"_sticky_jetrx_121\";\nconst styles = {\n\tdialog: dialog,\n\t\"close-dialog\": \"_close-dialog_jetrx_1\",\n\tcontainer: container,\n\tcontent: content,\n\theader: header,\n\t\"close-container\": \"_close-container_jetrx_56\",\n\tfooter: footer,\n\tlarge: large,\n\tfullscreen: fullscreen,\n\tsticky: sticky,\n\t\"close-button\": \"_close-button_jetrx_127\"\n};\n\nconst DialogCancelButton = forwardRef((props, ref) => {\n const { onClick, ...rest } = props;\n const { close } = useDialogContext();\n const onClickHandler = (e) => {\n onClick?.(e);\n close();\n };\n return /* @__PURE__ */ jsx(\n Button,\n {\n \"aria-label\": \"Close dialog\",\n \"data-anv\": \"dialog-cancel-button\",\n onClick: onClickHandler,\n ref,\n ...rest\n }\n );\n});\nDialogCancelButton.displayName = \"DialogCancelButton\";\n\nconst DialogHeader = forwardRef(\n (props, ref) => {\n const { children, className, ...rest } = props;\n const headerClassNames = cx(className, styles[\"header\"]);\n return /* @__PURE__ */ jsxs(\n \"header\",\n {\n className: headerClassNames,\n \"data-anv\": \"dialog-header\",\n ref,\n ...rest,\n children: [\n /* @__PURE__ */ jsx(Text, { variant: \"headline\", el: \"h1\", children }),\n /* @__PURE__ */ jsx(\"span\", { className: styles[\"close-container\"], children: /* @__PURE__ */ jsx(\n DialogCancelButton,\n {\n className: styles[\"close-button\"],\n size: \"small\",\n appearance: \"ghost\",\n \"aria-label\": \"Close dialog\",\n icon: Close\n }\n ) })\n ]\n }\n );\n }\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = forwardRef(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n const footerClassNames = cx(styles[\"footer\"], className, {\n [styles[\"sticky\"]]: sticky\n });\n return /* @__PURE__ */ jsx(\n \"footer\",\n {\n className: footerClassNames,\n \"data-anv\": \"dialog-footer\",\n ref,\n ...rest,\n children\n }\n );\n }\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogContent = forwardRef(\n (props, ref) => {\n const { children, className, ...rest } = props;\n const contentClassNames = cx(styles[\"content\"], className);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n className: contentClassNames,\n \"data-anv\": \"dialog-content\",\n ref,\n ...rest,\n children\n }\n );\n }\n);\nDialogContent.displayName = \"DialogContent\";\n\nconst DialogContext = createContext(null);\nconst DialogElement = forwardRef(\n (props, ref) => {\n const {\n className,\n open = false,\n children,\n onOpen,\n onOpenChange,\n onClose,\n onCancel,\n onKeyDown,\n fullScreen = false,\n disableCloseOnEscape = false,\n disableCloseOnClickOutside = false,\n size,\n ...rest\n } = props;\n const openRef = useRef(open);\n const elRef = useRef(null);\n const contentRef = useRef(null);\n const bodyRef = useRef(null);\n const [hasOpenPopover, setHasOpenPopover] = useState(false);\n const id = useId();\n const DialogClassNames = cx([styles[\"dialog\"]], className, {\n [styles[\"fullscreen\"]]: fullScreen,\n [styles[\"large\"]]: size === \"large\"\n });\n const { focusables } = useKeyboardFocusables(elRef, {\n observeChange: true\n });\n const removeBodyClass = useCallback(() => {\n if (bodyRef.current) {\n const dialogsOpen = bodyRef.current.dataset.dialogsOpen ? bodyRef.current.dataset.dialogsOpen.split(\" \") : [];\n const newdialogsOpen = dialogsOpen.filter((item) => item !== id);\n if (newdialogsOpen.length === 0) {\n bodyRef.current.removeAttribute(\"data-dialogs-open\");\n bodyRef.current?.classList.remove(\"dialog-open\");\n } else {\n bodyRef.current.dataset.dialogsOpen = newdialogsOpen.join(\" \");\n }\n }\n }, [id]);\n useEffect(() => {\n return () => removeBodyClass();\n }, []);\n useEffect(() => {\n if (typeof document === \"undefined\" || disableCloseOnClickOutside) return;\n const onClickOutsideHandler = (e) => {\n if (hasOpenPopover) return;\n if (e.composedPath()[0] === elRef.current) {\n onClose?.();\n }\n };\n document.addEventListener(\"click\", onClickOutsideHandler);\n return () => document.removeEventListener(\"click\", onClickOutsideHandler);\n }, [disableCloseOnClickOutside, onClose, onOpenChange, hasOpenPopover]);\n useEffect(() => {\n if (open) {\n if (!bodyRef.current) {\n const body = document.body ?? elRef.current?.closest(\"body\");\n body && (bodyRef.current = body);\n }\n if (bodyRef.current) {\n const dialogsOpen = bodyRef.current.dataset.dialogsOpen ? bodyRef.current.dataset.dialogsOpen.split(\" \") : [];\n if (!dialogsOpen.includes(id)) {\n if (openRef.current !== open) {\n onOpenChange?.(true);\n openRef.current = open;\n }\n onOpen?.();\n elRef.current?.showModal();\n dialogsOpen.push(id);\n bodyRef.current.dataset.dialogsOpen = dialogsOpen.join(\" \");\n }\n const hasFocus = elRef.current?.querySelector(\":focus\");\n setTimeout(() => {\n !hasFocus && focusables && focusables.length > 0 && focusables[0].focus();\n }, 1);\n bodyRef.current?.classList.add(\"dialog-open\");\n }\n return;\n }\n setTimeout(() => {\n if (openRef.current !== open) {\n onOpenChange?.(false);\n openRef.current = open;\n }\n elRef.current?.close();\n removeBodyClass();\n }, 1);\n }, [focusables, id, onOpen, onOpenChange, open, removeBodyClass]);\n const onKeyDownHandler = (e) => {\n onKeyDown?.(e);\n if (e.code === \"Escape\") {\n e.preventDefault();\n if (disableCloseOnEscape) return;\n if (hasOpenPopover) return;\n onClose?.();\n return;\n }\n if (e.code === \"Tab\") {\n if (e.shiftKey && e.target === focusables?.[0]) {\n e.preventDefault();\n focusables[focusables.length - 1]?.focus();\n return;\n }\n if (e.target === focusables?.[focusables.length - 1] && !e.shiftKey) {\n e.preventDefault();\n focusables[0].focus();\n return;\n }\n }\n };\n const close = useCallback(() => {\n onClose?.();\n }, [onClose]);\n return (\n // dialog element does seem to be interactive on MDN guideline\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n /* @__PURE__ */ jsx(\n \"dialog\",\n {\n className: DialogClassNames,\n \"data-anv\": \"dialog\",\n ref: useMergeRefs([ref, elRef]),\n onKeyDown: onKeyDownHandler,\n ...rest,\n children: /* @__PURE__ */ jsx(\n DialogContext.Provider,\n {\n value: { close, ref: elRef, hasOpenPopover, setHasOpenPopover },\n children: /* @__PURE__ */ jsx(\"section\", { ref: contentRef, className: styles[\"container\"], children })\n }\n )\n }\n )\n );\n }\n);\nfunction useDialogContext() {\n const context = useContext(DialogContext);\n if (!context) {\n throw new Error(\n \"useDialogContext must be used within a DialogContextProvider\"\n );\n }\n return context;\n}\nDialogElement.displayName = \"Dialog\";\nconst Dialog = Object.assign(DialogElement, {\n Header: DialogHeader,\n Footer: DialogFooter,\n Content: DialogContent,\n CancelButton: DialogCancelButton\n});\n\nexport { Dialog as D, DialogContext as a, DialogCancelButton as b, DialogContent as c, DialogFooter as d, DialogHeader as e };\n//# sourceMappingURL=Dialog-DDsVwnZZ.js.map\n"],"names":["Close"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { useTrackingId } from './useTrackingId.js';
4
- import { D as Dialog$1, a as DialogHeader$1, b as DialogFooter$1, c as DialogContent$1, d as DialogCancelButton$1 } from './Dialog-6g0s0fvb-DdwUwOVg.js';
4
+ import { D as Dialog$1, a as DialogHeader$1, b as DialogFooter$1, c as DialogContent$1, d as DialogCancelButton$1 } from './Dialog-DDsVwnZZ-s9GGnSax.js';
5
5
  import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
6
6
 
7
7
  const DialogElement = forwardRef(
@@ -63,4 +63,4 @@ const Dialog = Object.assign(DialogElement, {
63
63
  });
64
64
 
65
65
  export { Dialog as D, DialogHeader as a, DialogFooter as b, DialogContent as c, DialogCancelButton as d };
66
- //# sourceMappingURL=Dialog-BVG0m6dn.js.map
66
+ //# sourceMappingURL=Dialog-wuBdQ785.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog-BVG0m6dn.js","sources":["../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import {\n Dialog as CoreDialog,\n DialogHeader as CoreDialogHeader,\n DialogFooter as CoreDialogFooter,\n DialogContent as CoreDialogContent,\n DialogCancelButton as CoreDialogCancelButton,\n DialogProps as CoreDialogProps,\n DialogHeaderProps as CoreDialogHeaderProps,\n DialogFooterProps as CoreDialogFooterProps,\n DialogContentProps as CoreDialogContentProps,\n DialogCancelButtonProps as CoreDialogCancelButtonProps,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type DialogProps = CoreDialogProps;\nexport type DialogHeaderProps = CoreDialogHeaderProps & DataTrackingId;\nexport type DialogFooterProps = CoreDialogFooterProps;\nexport type DialogContentProps = CoreDialogContentProps;\nexport type DialogCancelButtonProps = CoreDialogCancelButtonProps &\n DataTrackingId;\n\nconst DialogElement = forwardRef(\n (props: DialogProps, ref: Ref<HTMLDialogElement>) => {\n return <CoreDialog ref={ref} {...props} />;\n },\n);\n\nexport const DialogHeader = forwardRef(\n (props: DialogHeaderProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"Dialog\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreDialogHeader ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nexport const DialogFooter = forwardRef(\n (props: DialogFooterProps, ref: Ref<HTMLDivElement>) => {\n return <CoreDialogFooter ref={ref} {...props} />;\n },\n);\nexport const DialogContent = forwardRef(\n (props: DialogContentProps, ref: Ref<HTMLDivElement>) => {\n return <CoreDialogContent ref={ref} {...props} />;\n },\n);\nexport const DialogCancelButton = forwardRef(\n (props: DialogCancelButtonProps, ref: Ref<HTMLButtonElement>) => {\n const data = {\n title: props.title,\n appearance: props.appearance,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"DialogCancelButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreDialogCancelButton\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\n\nexport const Dialog = Object.assign(DialogElement, {\n Header: DialogHeader,\n Footer: DialogFooter,\n Content: DialogContent,\n CancelButton: DialogCancelButton,\n});\n"],"names":["CoreDialog","CoreDialogHeader","CoreDialogFooter","CoreDialogContent","CoreDialogCancelButton"],"mappings":";;;;;;AAwBA,MAAM,aAAgB,GAAA,UAAA;AAAA,EACpB,CAAC,OAAoB,GAAgC,KAAA;AACnD,IAAA,uBAAQ,GAAA,CAAAA,QAAA,EAAA,EAAW,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAE5C,CAAA;AAEO,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAA6B,KAAA;AACtD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ;AAAA,KAC3C;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,QAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BACGC,cAAiB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG3E;AACO,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAA6B,KAAA;AACtD,IAAA,uBAAQ,GAAA,CAAAC,cAAA,EAAA,EAAiB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAElD;AACO,MAAM,aAAgB,GAAA,UAAA;AAAA,EAC3B,CAAC,OAA2B,GAA6B,KAAA;AACvD,IAAA,uBAAQ,GAAA,CAAAC,eAAA,EAAA,EAAkB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEnD;AACO,MAAM,kBAAqB,GAAA,UAAA;AAAA,EAChC,CAAC,OAAgC,GAAgC,KAAA;AAC/D,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,OAAO,KAAM,CAAA,KAAA;AAAA,MACb,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,KAAM,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,oBAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IACE,uBAAA,GAAA;AAAA,MAACC,oBAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,kBAAkB,EAAA,UAAA;AAAA,QACjB,GAAG;AAAA;AAAA,KACN;AAAA;AAGN;AAEa,MAAA,MAAA,GAAS,MAAO,CAAA,MAAA,CAAO,aAAe,EAAA;AAAA,EACjD,MAAQ,EAAA,YAAA;AAAA,EACR,MAAQ,EAAA,YAAA;AAAA,EACR,OAAS,EAAA,aAAA;AAAA,EACT,YAAc,EAAA;AAChB,CAAC;;;;"}
1
+ {"version":3,"file":"Dialog-wuBdQ785.js","sources":["../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import {\n Dialog as CoreDialog,\n DialogHeader as CoreDialogHeader,\n DialogFooter as CoreDialogFooter,\n DialogContent as CoreDialogContent,\n DialogCancelButton as CoreDialogCancelButton,\n DialogProps as CoreDialogProps,\n DialogHeaderProps as CoreDialogHeaderProps,\n DialogFooterProps as CoreDialogFooterProps,\n DialogContentProps as CoreDialogContentProps,\n DialogCancelButtonProps as CoreDialogCancelButtonProps,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type DialogProps = CoreDialogProps;\nexport type DialogHeaderProps = CoreDialogHeaderProps & DataTrackingId;\nexport type DialogFooterProps = CoreDialogFooterProps;\nexport type DialogContentProps = CoreDialogContentProps;\nexport type DialogCancelButtonProps = CoreDialogCancelButtonProps &\n DataTrackingId;\n\nconst DialogElement = forwardRef(\n (props: DialogProps, ref: Ref<HTMLDialogElement>) => {\n return <CoreDialog ref={ref} {...props} />;\n },\n);\n\nexport const DialogHeader = forwardRef(\n (props: DialogHeaderProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"Dialog\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreDialogHeader ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nexport const DialogFooter = forwardRef(\n (props: DialogFooterProps, ref: Ref<HTMLDivElement>) => {\n return <CoreDialogFooter ref={ref} {...props} />;\n },\n);\nexport const DialogContent = forwardRef(\n (props: DialogContentProps, ref: Ref<HTMLDivElement>) => {\n return <CoreDialogContent ref={ref} {...props} />;\n },\n);\nexport const DialogCancelButton = forwardRef(\n (props: DialogCancelButtonProps, ref: Ref<HTMLButtonElement>) => {\n const data = {\n title: props.title,\n appearance: props.appearance,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"DialogCancelButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreDialogCancelButton\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\n\nexport const Dialog = Object.assign(DialogElement, {\n Header: DialogHeader,\n Footer: DialogFooter,\n Content: DialogContent,\n CancelButton: DialogCancelButton,\n});\n"],"names":["CoreDialog","CoreDialogHeader","CoreDialogFooter","CoreDialogContent","CoreDialogCancelButton"],"mappings":";;;;;;AAwBA,MAAM,aAAgB,GAAA,UAAA;AAAA,EACpB,CAAC,OAAoB,GAAgC,KAAA;AACnD,IAAA,uBAAQ,GAAA,CAAAA,QAAA,EAAA,EAAW,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAE5C,CAAA;AAEO,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAA6B,KAAA;AACtD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ;AAAA,KAC3C;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,QAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BACGC,cAAiB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG3E;AACO,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAA6B,KAAA;AACtD,IAAA,uBAAQ,GAAA,CAAAC,cAAA,EAAA,EAAiB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAElD;AACO,MAAM,aAAgB,GAAA,UAAA;AAAA,EAC3B,CAAC,OAA2B,GAA6B,KAAA;AACvD,IAAA,uBAAQ,GAAA,CAAAC,eAAA,EAAA,EAAkB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEnD;AACO,MAAM,kBAAqB,GAAA,UAAA;AAAA,EAChC,CAAC,OAAgC,GAAgC,KAAA;AAC/D,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,OAAO,KAAM,CAAA,KAAA;AAAA,MACb,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,KAAM,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,oBAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IACE,uBAAA,GAAA;AAAA,MAACC,oBAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,kBAAkB,EAAA,UAAA;AAAA,QACjB,GAAG;AAAA;AAAA,KACN;AAAA;AAGN;AAEa,MAAA,MAAA,GAAS,MAAO,CAAA,MAAA,CAAO,aAAe,EAAA;AAAA,EACjD,MAAQ,EAAA,YAAA;AAAA,EACR,MAAQ,EAAA,YAAA;AAAA,EACR,OAAS,EAAA,aAAA;AAAA,EACT,YAAc,EAAA;AAChB,CAAC;;;;"}
package/dist/Dialog.js CHANGED
@@ -1,2 +1,2 @@
1
- export { D as Dialog, d as DialogCancelButton, c as DialogContent, b as DialogFooter, a as DialogHeader, D as default } from './Dialog-BVG0m6dn.js';
1
+ export { D as Dialog, d as DialogCancelButton, c as DialogContent, b as DialogFooter, a as DialogHeader, D as default } from './Dialog-wuBdQ785.js';
2
2
  //# sourceMappingURL=Dialog.js.map
@@ -1,37 +1,37 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { forwardRef, createContext, useRef, useState, useEffect, useMemo, useContext } from 'react';
2
+ import { forwardRef, createContext, useRef, useState, useId, useCallback, useEffect, useMemo, useContext } from 'react';
3
3
  import { useTrackingId } from './useTrackingId.js';
4
4
  import { c as cx } from './index-tZvMCc77.js';
5
5
  import { S as SvgClose } from './close-DZj38AEh.js';
6
6
  import { T as Text } from './Text-C2n3GDdC-rz_AelM0.js';
7
7
  import { B as Button } from './Button-BHwg8Uip-DPU6y8-l.js';
8
8
  import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
9
- import { u as useKeyboardFocusables } from './useKeyboardFocusables-BYoElaOi-T7ncq79D.js';
9
+ import { u as useKeyboardFocusables } from './useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js';
10
10
  import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
11
11
 
12
- import './Drawer.css';const drawer = "_drawer_pysn1_3";
13
- const container = "_container_pysn1_29";
14
- const content = "_content_pysn1_42";
15
- const header = "_header_pysn1_49";
16
- const footer = "_footer_pysn1_73";
17
- const remove = "_remove_pysn1_91";
18
- const large = "_large_pysn1_100";
19
- const sticky = "_sticky_pysn1_103";
12
+ import './Drawer.css';const drawer = "_drawer_1gqlt_3";
13
+ const container = "_container_1gqlt_28";
14
+ const content = "_content_1gqlt_41";
15
+ const header = "_header_1gqlt_48";
16
+ const footer = "_footer_1gqlt_72";
17
+ const remove = "_remove_1gqlt_90";
18
+ const large = "_large_1gqlt_99";
19
+ const sticky = "_sticky_1gqlt_102";
20
20
  const styles = {
21
21
  drawer: drawer,
22
- "close-drawer": "_close-drawer_pysn1_1",
23
- "open-drawer": "_open-drawer_pysn1_1",
24
- "open-backdrop": "_open-backdrop_pysn1_1",
22
+ "close-drawer": "_close-drawer_1gqlt_1",
23
+ "open-drawer": "_open-drawer_1gqlt_1",
24
+ "open-backdrop": "_open-backdrop_1gqlt_1",
25
25
  container: container,
26
26
  content: content,
27
27
  header: header,
28
- "close-container": "_close-container_pysn1_66",
28
+ "close-container": "_close-container_1gqlt_65",
29
29
  footer: footer,
30
30
  remove: remove,
31
- "close-backdrop": "_close-backdrop_pysn1_1",
31
+ "close-backdrop": "_close-backdrop_1gqlt_1",
32
32
  large: large,
33
33
  sticky: sticky,
34
- "close-button": "_close-button_pysn1_109"
34
+ "close-button": "_close-button_1gqlt_108"
35
35
  };
36
36
 
37
37
  const DrawerCancelButton$1 = forwardRef((props, ref) => {
@@ -128,59 +128,70 @@ const DrawerElement$1 = forwardRef(
128
128
  disableCloseOnEscape = false,
129
129
  disableCloseOnClickOutside = false,
130
130
  size = "medium",
131
- enableScrollChaining,
132
131
  ...rest
133
132
  } = props;
134
133
  const elRef = useRef(null);
135
134
  const contentRef = useRef(null);
135
+ const bodyRef = useRef(null);
136
136
  const combinedRef = useMergeRefs([elRef, ref]);
137
137
  const [remove, setRemove] = useState(false);
138
+ const id = useId();
138
139
  const DrawerClassNames = cx([styles.drawer], className, {
139
140
  [styles.remove]: remove,
140
141
  [styles.large]: size === "large"
141
142
  });
142
- const { focusables } = useKeyboardFocusables(contentRef, {
143
+ const { focusables, updateFocusables } = useKeyboardFocusables(contentRef, {
143
144
  observeChange: false
144
145
  });
145
146
  const firstFocusable = focusables?.[0];
146
147
  const lastFocusable = focusables?.[focusables.length - 1];
148
+ const removeBodyClass = useCallback(() => {
149
+ if (bodyRef.current) {
150
+ const drawersOpen = bodyRef.current.dataset.drawersOpen ? bodyRef.current.dataset.drawersOpen.split(" ") : [];
151
+ const newDrawersOpen = drawersOpen.filter((item) => item !== id);
152
+ if (newDrawersOpen.length === 0) {
153
+ bodyRef.current.removeAttribute("data-drawers-open");
154
+ bodyRef.current?.classList.remove("drawer-open");
155
+ } else {
156
+ bodyRef.current.dataset.drawersOpen = newDrawersOpen.join(" ");
157
+ }
158
+ }
159
+ }, [id]);
147
160
  useEffect(() => {
148
161
  if (open) {
149
162
  onOpen?.();
150
163
  elRef.current?.showModal();
164
+ if (!bodyRef.current) {
165
+ const body = elRef.current?.closest("body");
166
+ body && (bodyRef.current = body);
167
+ }
168
+ updateFocusables();
169
+ if (focusables) {
170
+ if (focusables[0]?.dataset.anv === "drawer-header-close-button" && focusables[1]) {
171
+ focusables[1].focus();
172
+ } else {
173
+ focusables[0]?.focus();
174
+ }
175
+ }
176
+ bodyRef.current?.classList.add("drawer-open");
177
+ if (bodyRef.current) {
178
+ const drawersOpen = bodyRef.current.dataset.drawersOpen ? bodyRef.current.dataset.drawersOpen.split(" ") : [];
179
+ if (drawersOpen.includes(id)) return;
180
+ drawersOpen.push(id);
181
+ bodyRef.current.dataset.drawersOpen = drawersOpen.join(" ");
182
+ }
151
183
  return;
152
184
  }
153
185
  setRemove(true);
154
186
  setTimeout(() => {
155
187
  elRef.current?.close();
188
+ removeBodyClass();
156
189
  setRemove(false);
157
190
  }, 200);
158
- }, [onOpen, open]);
191
+ }, [id, onOpen, open, removeBodyClass]);
159
192
  useEffect(() => {
160
- if (!open) return;
161
- if (!focusables) return;
162
- if (focusables[0]?.dataset.anv === "drawer-header-close-button" && focusables[1]) {
163
- focusables[1].focus();
164
- } else {
165
- focusables[0]?.focus();
166
- }
167
- }, [open, focusables]);
168
- useEffect(() => {
169
- if (!open || enableScrollChaining) return;
170
- const scrollHandler = (e) => {
171
- const content = contentRef.current;
172
- const target = e.target;
173
- const isOverflowing = elRef.current && elRef.current.scrollHeight > elRef.current.clientHeight;
174
- if (!isOverflowing || !content?.contains(target)) {
175
- e.preventDefault();
176
- }
177
- return;
178
- };
179
- document.addEventListener("wheel", scrollHandler, {
180
- passive: false
181
- });
182
- return () => document.getRootNode().removeEventListener("wheel", scrollHandler);
183
- }, [enableScrollChaining, open]);
193
+ return () => removeBodyClass();
194
+ }, [removeBodyClass]);
184
195
  const onCancelHandler = (e) => {
185
196
  e.preventDefault();
186
197
  if (disableCloseOnEscape) return;
@@ -214,12 +225,13 @@ const DrawerElement$1 = forwardRef(
214
225
  const close = () => {
215
226
  setRemove(true);
216
227
  setTimeout(() => {
228
+ removeBodyClass();
217
229
  elRef.current?.close();
218
230
  onClose?.();
219
231
  }, 200);
220
232
  };
221
233
  return { close };
222
- }, [onClose]);
234
+ }, [onClose, removeBodyClass]);
223
235
  return (
224
236
  // dialog element does seem to be interactive on MDN guideline
225
237
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
@@ -233,15 +245,7 @@ const DrawerElement$1 = forwardRef(
233
245
  onClick: onClickHandler,
234
246
  onKeyDown: onKeyDownHandler,
235
247
  ...rest,
236
- children: /* @__PURE__ */ jsx(DrawerContext.Provider, { value, children: /* @__PURE__ */ jsx(
237
- "section",
238
- {
239
- ref: contentRef,
240
- className: styles.container,
241
- "data-open": open,
242
- children
243
- }
244
- ) })
248
+ children: /* @__PURE__ */ jsx(DrawerContext.Provider, { value, children: /* @__PURE__ */ jsx("section", { ref: contentRef, className: styles.container, children }) })
245
249
  }
246
250
  )
247
251
  );
@@ -323,4 +327,4 @@ const Drawer = Object.assign(DrawerElement, {
323
327
  });
324
328
 
325
329
  export { Drawer as D, DrawerCancelButton as a, DrawerFooter as b, DrawerHeader as c, DrawerContent as d };
326
- //# sourceMappingURL=Drawer-DQSLhTtO.js.map
330
+ //# sourceMappingURL=Drawer-BX7LCwCa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer-BX7LCwCa.js","sources":["../../hammer-react/dist/Drawer-6Dqj4WEA.js","../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { jsx, jsxs } from 'react/jsx-runtime';\nimport { forwardRef, createContext, useRef, useState, useId, useCallback, useEffect, useMemo, useContext } from 'react';\nimport cx from 'classnames';\nimport Close from '@servicetitan/hammer-icon/mdi/round/close.svg';\nimport { T as Text } from './Text-C2n3GDdC.js';\nimport { B as Button } from './Button-BHwg8Uip.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { u as useKeyboardFocusables } from './useKeyboardFocusables-C3hMtJK_.js';\n\nimport './Drawer.css';const drawer = \"_drawer_1gqlt_3\";\nconst container = \"_container_1gqlt_28\";\nconst content = \"_content_1gqlt_41\";\nconst header = \"_header_1gqlt_48\";\nconst footer = \"_footer_1gqlt_72\";\nconst remove = \"_remove_1gqlt_90\";\nconst large = \"_large_1gqlt_99\";\nconst sticky = \"_sticky_1gqlt_102\";\nconst styles = {\n\tdrawer: drawer,\n\t\"close-drawer\": \"_close-drawer_1gqlt_1\",\n\t\"open-drawer\": \"_open-drawer_1gqlt_1\",\n\t\"open-backdrop\": \"_open-backdrop_1gqlt_1\",\n\tcontainer: container,\n\tcontent: content,\n\theader: header,\n\t\"close-container\": \"_close-container_1gqlt_65\",\n\tfooter: footer,\n\tremove: remove,\n\t\"close-backdrop\": \"_close-backdrop_1gqlt_1\",\n\tlarge: large,\n\tsticky: sticky,\n\t\"close-button\": \"_close-button_1gqlt_108\"\n};\n\nconst DrawerCancelButton = forwardRef((props, ref) => {\n const { onClick, ...rest } = props;\n const { close } = useDrawerContext();\n const onClickHandler = (e) => {\n onClick?.(e);\n close();\n };\n return /* @__PURE__ */ jsx(\n Button,\n {\n \"aria-label\": \"Close drawer\",\n \"data-anv\": \"drawer-cancel-button\",\n onClick: onClickHandler,\n ref,\n ...rest\n }\n );\n});\nDrawerCancelButton.displayName = \"DrawerCancelButton\";\n\nconst DrawerHeader = forwardRef(\n (props, ref) => {\n const { children } = props;\n return /* @__PURE__ */ jsxs(\"header\", { className: styles.header, \"data-anv\": \"drawer-header\", ref, children: [\n /* @__PURE__ */ jsx(Text, { variant: \"headline\", el: \"h1\", children }),\n /* @__PURE__ */ jsx(\"span\", { className: styles[\"close-container\"], children: /* @__PURE__ */ jsx(\n DrawerCancelButton,\n {\n className: styles[\"close-button\"],\n size: \"small\",\n appearance: \"ghost\",\n \"aria-label\": \"Close drawer\",\n \"data-anv\": \"drawer-header-close-button\",\n icon: Close\n }\n ) })\n ] });\n }\n);\nDrawerHeader.displayName = \"DrawerHeader\";\n\nconst DrawerFooter = forwardRef(\n (props, ref) => {\n const { children, sticky = false, ...rest } = props;\n const DrawerFooterCX = cx(styles.footer, {\n [styles[\"sticky\"]]: sticky\n });\n return /* @__PURE__ */ jsx(\n \"footer\",\n {\n className: DrawerFooterCX,\n \"data-anv\": \"drawer-footer\",\n ref,\n ...rest,\n children\n }\n );\n }\n);\nDrawerFooter.displayName = \"DrawerFooter\";\n\nconst DrawerContent = forwardRef(\n (props, ref) => {\n const { children, ...rest } = props;\n const DrawerContentCX = cx(styles.content, {});\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n className: DrawerContentCX,\n \"data-anv\": \"drawer-content\",\n ref,\n ...rest,\n children\n }\n );\n }\n);\nDrawerContent.displayName = \"DrawerContent\";\n\nconst DrawerContext = createContext(null);\nconst DrawerElement = forwardRef(\n (props, ref) => {\n const {\n className,\n open = false,\n children,\n onOpen,\n onClose,\n onCancel,\n onClick,\n onKeyDown,\n disableCloseOnEscape = false,\n disableCloseOnClickOutside = false,\n size = \"medium\",\n ...rest\n } = props;\n const elRef = useRef(null);\n const contentRef = useRef(null);\n const bodyRef = useRef(null);\n const combinedRef = useMergeRefs([elRef, ref]);\n const [remove, setRemove] = useState(false);\n const id = useId();\n const DrawerClassNames = cx([styles.drawer], className, {\n [styles.remove]: remove,\n [styles.large]: size === \"large\"\n });\n const { focusables, updateFocusables } = useKeyboardFocusables(contentRef, {\n observeChange: false\n });\n const firstFocusable = focusables?.[0];\n const lastFocusable = focusables?.[focusables.length - 1];\n const removeBodyClass = useCallback(() => {\n if (bodyRef.current) {\n const drawersOpen = bodyRef.current.dataset.drawersOpen ? bodyRef.current.dataset.drawersOpen.split(\" \") : [];\n const newDrawersOpen = drawersOpen.filter((item) => item !== id);\n if (newDrawersOpen.length === 0) {\n bodyRef.current.removeAttribute(\"data-drawers-open\");\n bodyRef.current?.classList.remove(\"drawer-open\");\n } else {\n bodyRef.current.dataset.drawersOpen = newDrawersOpen.join(\" \");\n }\n }\n }, [id]);\n useEffect(() => {\n if (open) {\n onOpen?.();\n elRef.current?.showModal();\n if (!bodyRef.current) {\n const body = elRef.current?.closest(\"body\");\n body && (bodyRef.current = body);\n }\n updateFocusables();\n if (focusables) {\n if (focusables[0]?.dataset.anv === \"drawer-header-close-button\" && focusables[1]) {\n focusables[1].focus();\n } else {\n focusables[0]?.focus();\n }\n }\n bodyRef.current?.classList.add(\"drawer-open\");\n if (bodyRef.current) {\n const drawersOpen = bodyRef.current.dataset.drawersOpen ? bodyRef.current.dataset.drawersOpen.split(\" \") : [];\n if (drawersOpen.includes(id)) return;\n drawersOpen.push(id);\n bodyRef.current.dataset.drawersOpen = drawersOpen.join(\" \");\n }\n return;\n }\n setRemove(true);\n setTimeout(() => {\n elRef.current?.close();\n removeBodyClass();\n setRemove(false);\n }, 200);\n }, [id, onOpen, open, removeBodyClass]);\n useEffect(() => {\n return () => removeBodyClass();\n }, [removeBodyClass]);\n const onCancelHandler = (e) => {\n e.preventDefault();\n if (disableCloseOnEscape) return;\n onClose?.();\n };\n const onClickHandler = (e) => {\n onClick?.(e);\n const target = e.target;\n if (!contentRef.current?.contains(target)) {\n e.preventDefault();\n if (disableCloseOnClickOutside) return;\n onClose?.();\n }\n };\n const onKeyDownHandler = (e) => {\n onKeyDown?.(e);\n if (e.code === \"Tab\") {\n if (e.shiftKey && e.target === firstFocusable) {\n e.preventDefault();\n lastFocusable?.focus();\n return;\n }\n if (e.target === lastFocusable && !e.shiftKey) {\n e.preventDefault();\n firstFocusable?.focus();\n return;\n }\n }\n };\n const value = useMemo(() => {\n const close = () => {\n setRemove(true);\n setTimeout(() => {\n removeBodyClass();\n elRef.current?.close();\n onClose?.();\n }, 200);\n };\n return { close };\n }, [onClose, removeBodyClass]);\n return (\n // dialog element does seem to be interactive on MDN guideline\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n /* @__PURE__ */ jsx(\n \"dialog\",\n {\n className: DrawerClassNames,\n \"data-anv\": \"drawer\",\n ref: combinedRef,\n onCancel: onCancelHandler,\n onClick: onClickHandler,\n onKeyDown: onKeyDownHandler,\n ...rest,\n children: /* @__PURE__ */ jsx(DrawerContext.Provider, { value, children: /* @__PURE__ */ jsx(\"section\", { ref: contentRef, className: styles.container, children }) })\n }\n )\n );\n }\n);\nfunction useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\n \"useDrawerContext must be used within a DrawerContextProvider\"\n );\n }\n return context;\n}\nDrawerElement.displayName = \"Drawer\";\nconst Drawer = Object.assign(DrawerElement, {\n Header: DrawerHeader,\n Footer: DrawerFooter,\n Content: DrawerContent,\n CancelButton: DrawerCancelButton\n});\n\nexport { Drawer as D, DrawerContext as a, DrawerCancelButton as b, DrawerFooter as c, DrawerHeader as d, DrawerContent as e };\n//# sourceMappingURL=Drawer-6Dqj4WEA.js.map\n","import {\n DrawerProps as CoreDrawerProps,\n Drawer as CoreDrawer,\n DrawerCancelButtonProps as CoreDrawerCancelButtonProps,\n DrawerCancelButton as CoreDrawerCancelButton,\n DrawerFooterProps as CoreDrawerFooterProps,\n DrawerFooter as CoreDrawerFooter,\n DrawerHeaderProps as CoreDrawerHeaderProps,\n DrawerHeader as CoreDrawerHeader,\n DrawerContentProps as CoreDrawerContentProps,\n DrawerContent as CoreDrawerContent,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type DrawerProps = CoreDrawerProps;\nexport type DrawerCancelButtonProps = CoreDrawerCancelButtonProps &\n DataTrackingId;\nexport type DrawerFooterProps = CoreDrawerFooterProps;\nexport type DrawerHeaderProps = CoreDrawerHeaderProps & DataTrackingId;\nexport type DrawerContentProps = CoreDrawerContentProps;\n\nconst DrawerElement = forwardRef(\n (props: DrawerProps, ref: Ref<HTMLDialogElement>) => {\n return <CoreDrawer ref={ref} {...props} />;\n },\n);\n\nexport const DrawerCancelButton = forwardRef(\n (props: DrawerCancelButtonProps, ref: Ref<HTMLButtonElement>) => {\n const data = {\n children: childrenToString(props.children),\n appearance: props.appearance,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerCancelButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreDrawerCancelButton\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\n\nexport const DrawerFooter = forwardRef(\n (props: DrawerFooterProps, ref: Ref<HTMLDivElement>) => {\n return <CoreDrawerFooter ref={ref} {...props} />;\n },\n);\n\nexport const DrawerHeader = forwardRef(\n (props: DrawerHeaderProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerHeader\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreDrawerHeader ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\n\nexport const DrawerContent = forwardRef(\n (props: DrawerContentProps, ref: Ref<HTMLDivElement>) => {\n return <CoreDrawerContent ref={ref} {...props} />;\n },\n);\n\nexport const Drawer = Object.assign(DrawerElement, {\n Header: DrawerHeader,\n Footer: DrawerFooter,\n Content: DrawerContent,\n CancelButton: DrawerCancelButton,\n});\n"],"names":["DrawerCancelButton","DrawerHeader","Close","DrawerFooter","DrawerContent","DrawerElement","Drawer","CoreDrawer","CoreDrawerCancelButton","CoreDrawerFooter","CoreDrawerHeader","CoreDrawerContent"],"mappings":"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"}
package/dist/Drawer.css CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  @layer starter, reset, base, state, application;
4
4
  @layer base {
5
- ._drawer_pysn1_3 {
5
+ ._drawer_1gqlt_3 {
6
6
  border: none;
7
7
  background: transparent;
8
8
  padding-block: 0;
9
9
  padding-inline: 0;
10
10
  outline: none;
11
- animation: _close-drawer_pysn1_1 2s forwards;
11
+ animation: _close-drawer_1gqlt_1 2s forwards;
12
12
  transition: width 200ms;
13
13
  width: 35rem;
14
14
  height: 100%;
@@ -19,16 +19,15 @@
19
19
  margin-block-end: 0;
20
20
  max-height: 100dvh;
21
21
  margin-inline-end: 0;
22
- overscroll-behavior: contain;
23
22
  --xpos: 10rem;
24
23
  }
25
- ._drawer_pysn1_3[open] {
26
- animation: _open-drawer_pysn1_1 300ms forwards;
24
+ ._drawer_1gqlt_3[open] {
25
+ animation: _open-drawer_1gqlt_1 300ms forwards;
27
26
  }
28
- ._drawer_pysn1_3[open]::backdrop {
29
- animation: _open-backdrop_pysn1_1 200ms forwards;
27
+ ._drawer_1gqlt_3[open]::backdrop {
28
+ animation: _open-backdrop_1gqlt_1 200ms forwards;
30
29
  }
31
- ._drawer_pysn1_3 ._container_pysn1_29 {
30
+ ._drawer_1gqlt_3 ._container_1gqlt_28 {
32
31
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
33
32
  font-size: 100%;
34
33
  color: var(--foreground-color, #141414);
@@ -41,14 +40,14 @@
41
40
  gap: 1.5rem;
42
41
  min-height: 100%;
43
42
  }
44
- ._drawer_pysn1_3 ._container_pysn1_29 ._content_pysn1_42 {
43
+ ._drawer_1gqlt_3 ._container_1gqlt_28 ._content_1gqlt_41 {
45
44
  flex-grow: 1;
46
45
  padding-block-start: 0.25rem;
47
46
  padding-block-end: 0.25rem;
48
47
  font-size: 1rem;
49
48
  isolation: isolate;
50
49
  }
51
- ._header_pysn1_49 {
50
+ ._header_1gqlt_48 {
52
51
  position: sticky;
53
52
  inset-block-start: 0;
54
53
  display: flex;
@@ -61,18 +60,18 @@
61
60
  font-size: 1rem;
62
61
  z-index: 1;
63
62
  }
64
- ._header_pysn1_49 h1 {
63
+ ._header_1gqlt_48 h1 {
65
64
  margin-block: 0;
66
65
  margin-inline: 0;
67
66
  }
68
- ._header_pysn1_49 ._close-container_pysn1_66 {
67
+ ._header_1gqlt_48 ._close-container_1gqlt_65 {
69
68
  display: flex;
70
69
  justify-content: center;
71
70
  align-items: center;
72
71
  width: 1.5625rem;
73
72
  height: 1.5625rem;
74
73
  }
75
- ._footer_pysn1_73 {
74
+ ._footer_1gqlt_72 {
76
75
  display: flex;
77
76
  gap: 0.75rem;
78
77
  justify-content: flex-end;
@@ -86,36 +85,36 @@
86
85
  }
87
86
  @layer state {
88
87
  @media (prefers-reduced-motion: reduce) {
89
- ._drawer_pysn1_3 {
88
+ ._drawer_1gqlt_3 {
90
89
  --xpos: 0;
91
90
  }
92
91
  }
93
- ._drawer_pysn1_3._remove_pysn1_91[open] {
94
- animation: _close-drawer_pysn1_1 300ms forwards;
92
+ ._drawer_1gqlt_3._remove_1gqlt_90[open] {
93
+ animation: _close-drawer_1gqlt_1 300ms forwards;
95
94
  }
96
- ._drawer_pysn1_3._remove_pysn1_91[open]::backdrop {
97
- animation: _close-backdrop_pysn1_1 200ms forwards;
95
+ ._drawer_1gqlt_3._remove_1gqlt_90[open]::backdrop {
96
+ animation: _close-backdrop_1gqlt_1 200ms forwards;
98
97
  }
99
- ._drawer_pysn1_3::backdrop {
98
+ ._drawer_1gqlt_3::backdrop {
100
99
  background: #040404;
101
100
  }
102
- ._drawer_pysn1_3._large_pysn1_100 {
101
+ ._drawer_1gqlt_3._large_1gqlt_99 {
103
102
  width: 48rem;
104
103
  }
105
- ._drawer_pysn1_3 ._footer_pysn1_73._sticky_pysn1_103 {
104
+ ._drawer_1gqlt_3 ._footer_1gqlt_72._sticky_1gqlt_102 {
106
105
  position: sticky;
107
106
  inset-block-end: 0;
108
107
  }
109
108
  }
110
109
  @layer application {
111
- ._drawer_pysn1_3 ._header_pysn1_49 ._close-button_pysn1_109 {
110
+ ._drawer_1gqlt_3 ._header_1gqlt_48 ._close-button_1gqlt_108 {
112
111
  color: var(--foreground-color, #141414);
113
112
  }
114
113
  }
115
114
  .drawer-open {
116
115
  overflow: hidden;
117
116
  }
118
- @keyframes _open-drawer_pysn1_1 {
117
+ @keyframes _open-drawer_1gqlt_1 {
119
118
  from {
120
119
  opacity: 0;
121
120
  transform: translateX(var(--xpos));
@@ -125,7 +124,7 @@
125
124
  transform: translateX(0%);
126
125
  }
127
126
  }
128
- @keyframes _close-drawer_pysn1_1 {
127
+ @keyframes _close-drawer_1gqlt_1 {
129
128
  from {
130
129
  opacity: 1;
131
130
  transform: translateX(0%);
@@ -135,7 +134,7 @@
135
134
  transform: translateX(var(--xpos));
136
135
  }
137
136
  }
138
- @keyframes _open-backdrop_pysn1_1 {
137
+ @keyframes _open-backdrop_1gqlt_1 {
139
138
  from {
140
139
  opacity: 0;
141
140
  }
@@ -143,7 +142,7 @@
143
142
  opacity: 0.6;
144
143
  }
145
144
  }
146
- @keyframes _close-backdrop_pysn1_1 {
145
+ @keyframes _close-backdrop_1gqlt_1 {
147
146
  from {
148
147
  opacity: 0.6;
149
148
  }
package/dist/Drawer.js CHANGED
@@ -1,2 +1,2 @@
1
- export { D as Drawer, a as DrawerCancelButton, d as DrawerContent, b as DrawerFooter, c as DrawerHeader, D as default } from './Drawer-DQSLhTtO.js';
1
+ export { D as Drawer, a as DrawerCancelButton, d as DrawerContent, b as DrawerFooter, c as DrawerHeader, D as default } from './Drawer-BX7LCwCa.js';
2
2
  //# sourceMappingURL=Drawer.js.map