@servicetitan/anvil2 1.27.2 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/dist/AnvilProvider-C7Li86-d.js +16 -0
  3. package/dist/AnvilProvider-C7Li86-d.js.map +1 -0
  4. package/dist/AnvilProvider.js +1 -1
  5. package/dist/{Combobox-DnTI2I3L.js → Combobox-DCrEfyl2.js} +2209 -228
  6. package/dist/Combobox-DCrEfyl2.js.map +1 -0
  7. package/dist/Combobox.css +443 -69
  8. package/dist/Combobox.js +1 -1
  9. package/dist/DateField-4jR9NvbC.js +1109 -0
  10. package/dist/DateField-4jR9NvbC.js.map +1 -0
  11. package/dist/DateField.js +1 -1
  12. package/dist/{Dialog-DQ9QXB5D.js → Dialog-CL3bfZuB.js} +2 -2
  13. package/dist/{Dialog-DQ9QXB5D.js.map → Dialog-CL3bfZuB.js.map} +1 -1
  14. package/dist/{Dialog-Kh2tcVWz-DqcNnouf.js → Dialog-CYBt_JdP-CmF0MUHL.js} +80 -51
  15. package/dist/Dialog-CYBt_JdP-CmF0MUHL.js.map +1 -0
  16. package/dist/Dialog.js +1 -1
  17. package/dist/Drawer-8nHrKktU.js +66 -0
  18. package/dist/Drawer-8nHrKktU.js.map +1 -0
  19. package/dist/{Drawer-C6fpnRDX.js → Drawer-UQlX-LQG-BSCnMRad.js} +97 -130
  20. package/dist/Drawer-UQlX-LQG-BSCnMRad.js.map +1 -0
  21. package/dist/{Drawer.css → Drawer-UQlX-LQG.css} +26 -25
  22. package/dist/Drawer.js +1 -1
  23. package/dist/{AnvilProvider-DNJk1Ait.js → HammerProvider-DuxhW0gv-C2voN5ro.js} +26 -15
  24. package/dist/HammerProvider-DuxhW0gv-C2voN5ro.js.map +1 -0
  25. package/dist/InputMask-B8N8PP1W-DlUKpMR4.js +323 -0
  26. package/dist/InputMask-B8N8PP1W-DlUKpMR4.js.map +1 -0
  27. package/dist/{InputMask-Ceh574pv.js → InputMask-jsL7rSOk.js} +2 -2
  28. package/dist/{InputMask-Ceh574pv.js.map → InputMask-jsL7rSOk.js.map} +1 -1
  29. package/dist/InputMask.js +1 -1
  30. package/dist/{Label-DWF2pXeG-1BhzVgZG.js → Label-CUVr-jvI-BXhER5eQ.js} +3 -3
  31. package/dist/{Label-DWF2pXeG-1BhzVgZG.js.map → Label-CUVr-jvI-BXhER5eQ.js.map} +1 -1
  32. package/dist/Menu-CsfX8-_z.js +1091 -0
  33. package/dist/Menu-CsfX8-_z.js.map +1 -0
  34. package/dist/Menu.css +116 -1
  35. package/dist/Menu.js +1 -1
  36. package/dist/{Page-BGkLs3bR.js → Page-vKi5JkDS.js} +70 -54
  37. package/dist/Page-vKi5JkDS.js.map +1 -0
  38. package/dist/Page.css +103 -70
  39. package/dist/Page.js +1 -1
  40. package/dist/{Popover-DzEc_Muv.js → Popover-OFlyW8gN.js} +2 -2
  41. package/dist/{Popover-DzEc_Muv.js.map → Popover-OFlyW8gN.js.map} +1 -1
  42. package/dist/{Popover-QKZtjN4_-CETYlWwq.js → Popover-tu_N1aS6-CSLR1Xzc.js} +351 -12
  43. package/dist/Popover-tu_N1aS6-CSLR1Xzc.js.map +1 -0
  44. package/dist/{Popover-QKZtjN4_.css → Popover-tu_N1aS6.css} +53 -1
  45. package/dist/Popover.js +1 -1
  46. package/dist/{ProgressBar-cKtBso7j-3CDyBaAN.js → ProgressBar-DQ1lsFk2-Ci4eqzM0.js} +3 -3
  47. package/dist/{ProgressBar-cKtBso7j-3CDyBaAN.js.map → ProgressBar-DQ1lsFk2-Ci4eqzM0.js.map} +1 -1
  48. package/dist/{ProgressBar-IItIByYc.js → ProgressBar-gVRLaKPz.js} +2 -2
  49. package/dist/{ProgressBar-IItIByYc.js.map → ProgressBar-gVRLaKPz.js.map} +1 -1
  50. package/dist/ProgressBar.js +1 -1
  51. package/dist/{SearchField-CWb0kaV8.js → SearchField-C-4icPUa.js} +2 -2
  52. package/dist/{SearchField-CWb0kaV8.js.map → SearchField-C-4icPUa.js.map} +1 -1
  53. package/dist/SearchField.js +1 -1
  54. package/dist/{TextField-D53XNiCi-C6_A5VRq.js → TextField-B8LHWOoC-DSV9zY-z.js} +2 -2
  55. package/dist/{TextField-D53XNiCi-C6_A5VRq.js.map → TextField-B8LHWOoC-DSV9zY-z.js.map} +1 -1
  56. package/dist/{TextField-s92xHzb3.js → TextField-DgxJO1a7.js} +2 -2
  57. package/dist/{TextField-s92xHzb3.js.map → TextField-DgxJO1a7.js.map} +1 -1
  58. package/dist/TextField.js +1 -1
  59. package/dist/{Textarea-B61wNIFr.js → Textarea-B-Dv2RXs.js} +2 -2
  60. package/dist/{Textarea-B61wNIFr.js.map → Textarea-B-Dv2RXs.js.map} +1 -1
  61. package/dist/Textarea.js +1 -1
  62. package/dist/Toast.js +1 -1
  63. package/dist/{Toolbar-Cge6Nznj.js → Toolbar-7BeCY61H.js} +2 -2
  64. package/dist/{Toolbar-Cge6Nznj.js.map → Toolbar-7BeCY61H.js.map} +1 -1
  65. package/dist/Toolbar.js +1 -1
  66. package/dist/{Tooltip-89FIvMG0.js → Tooltip-BVBq-KxK.js} +2 -2
  67. package/dist/{Tooltip-89FIvMG0.js.map → Tooltip-BVBq-KxK.js.map} +1 -1
  68. package/dist/{Tooltip-DgM8NSPm-CRIQbuTm.js → Tooltip-C8sCGmKM-CLrDofvy.js} +222 -22
  69. package/dist/Tooltip-C8sCGmKM-CLrDofvy.js.map +1 -0
  70. package/dist/{Tooltip-DgM8NSPm.css → Tooltip-C8sCGmKM.css} +43 -1
  71. package/dist/Tooltip.js +1 -1
  72. package/dist/components/Dialog/Dialog.d.ts +1 -0
  73. package/dist/components/Drawer/Drawer.d.ts +1 -0
  74. package/dist/components/Page/Page.d.ts +4 -1
  75. package/dist/floating-ui.react-4AwURJA3.js +5989 -0
  76. package/dist/floating-ui.react-4AwURJA3.js.map +1 -0
  77. package/dist/{useKeyboardFocusables-CwVMAe5C-CIHqixNA.js → index.esm-CunAFnrh.js} +11 -59
  78. package/dist/index.esm-CunAFnrh.js.map +1 -0
  79. package/dist/index.js +16 -16
  80. package/dist/supportsPopover-8aJR37cf-8aJR37cf.js +6 -0
  81. package/dist/supportsPopover-8aJR37cf-8aJR37cf.js.map +1 -0
  82. package/dist/{toast-CHld8RKY.js → toast-CbokOkfo.js} +6 -2
  83. package/dist/toast-CbokOkfo.js.map +1 -0
  84. package/dist/useKeyboardFocusables-CwVMAe5C-DtjYOAmt.js +61 -0
  85. package/dist/useKeyboardFocusables-CwVMAe5C-DtjYOAmt.js.map +1 -0
  86. package/package.json +3 -3
  87. package/dist/AnvilProvider-DNJk1Ait.js.map +0 -1
  88. package/dist/Combobox-DnTI2I3L.js.map +0 -1
  89. package/dist/DateField-DocC46Mw.js +0 -565
  90. package/dist/DateField-DocC46Mw.js.map +0 -1
  91. package/dist/Dialog-Kh2tcVWz-DqcNnouf.js.map +0 -1
  92. package/dist/Drawer-C6fpnRDX.js.map +0 -1
  93. package/dist/InputMask-DQXw5qvG-BH4P-Woc.js +0 -195
  94. package/dist/InputMask-DQXw5qvG-BH4P-Woc.js.map +0 -1
  95. package/dist/Menu-D8SDm9s9.js +0 -706
  96. package/dist/Menu-D8SDm9s9.js.map +0 -1
  97. package/dist/Page-BGkLs3bR.js.map +0 -1
  98. package/dist/Popover-QKZtjN4_-CETYlWwq.js.map +0 -1
  99. package/dist/Tooltip-DgM8NSPm-CRIQbuTm.js.map +0 -1
  100. package/dist/floating-ui.react-P5949bpO.js +0 -28
  101. package/dist/floating-ui.react-P5949bpO.js.map +0 -1
  102. package/dist/floating-ui.react-dom-D912oS4K.js +0 -1841
  103. package/dist/floating-ui.react-dom-D912oS4K.js.map +0 -1
  104. package/dist/toast-CHld8RKY.js.map +0 -1
  105. package/dist/useKeyboardFocusables-CwVMAe5C-CIHqixNA.js.map +0 -1
  106. /package/dist/{Dialog-Kh2tcVWz.css → Dialog-CYBt_JdP.css} +0 -0
  107. /package/dist/{Label-DWF2pXeG.css → Label-CUVr-jvI.css} +0 -0
  108. /package/dist/{ProgressBar-cKtBso7j.css → ProgressBar-DQ1lsFk2.css} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog-Kh2tcVWz-DqcNnouf.js","sources":["../../hammer-react/dist/Dialog-Kh2tcVWz.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-Ce--YZ9L.js';\nimport { u as useKeyboardFocusables } from './useKeyboardFocusables-CwVMAe5C.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-Kh2tcVWz.js.map\n"],"names":["Close"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Drawer-C6fpnRDX.js","sources":["../../hammer-react/dist/Drawer-CrXiK2w0.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-Ce--YZ9L.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { u as useKeyboardFocusables } from './useKeyboardFocusables-CwVMAe5C.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-CrXiK2w0.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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"}
@@ -1,195 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef, useState, useRef, useEffect, isValidElement, cloneElement } from 'react';
3
- import { T as TextField } from './TextField-D53XNiCi-C6_A5VRq.js';
4
- import { u as useMergeRefs } from './floating-ui.react-P5949bpO.js';
5
-
6
- const InputMask = forwardRef(
7
- ({
8
- children,
9
- mask,
10
- defaultMaskCharacter = "_",
11
- value,
12
- defaultValue,
13
- onChange,
14
- inputProps
15
- }, ref) => {
16
- const [internalValue, setInternalValue] = useState(
17
- defaultValue || value || ""
18
- );
19
- const lastKey = useRef("");
20
- const isBackspace = useRef(false);
21
- const cursorPos = useRef(0);
22
- const lastCharValid = useRef(true);
23
- const [fixedCharacters, setFixedCharacters] = useState([]);
24
- const inputRef = useRef(null);
25
- const passInRef = useMergeRefs([inputRef, ref]);
26
- useEffect(() => {
27
- if (defaultValue) {
28
- setInternalValue(applyMask(defaultValue));
29
- }
30
- }, [defaultValue]);
31
- useEffect(() => {
32
- if (value) {
33
- setInternalValue(applyMask(value));
34
- }
35
- }, [value]);
36
- useEffect(() => {
37
- if (value && defaultValue) {
38
- console.warn(
39
- "Warning: InputMask contains both 'value' and 'defaultValue' props. Input elements should not switch from uncontrolled to controlled or vice versa. Decide between using a controlled or uncontrolled input element and remove one of these props."
40
- );
41
- }
42
- }, [value, defaultValue]);
43
- useEffect(() => {
44
- inputRef.current?.setSelectionRange(cursorPos.current, cursorPos.current);
45
- });
46
- useEffect(() => {
47
- const fixed = [];
48
- const maskChars = ["a", "9", "*"];
49
- mask.split("").forEach((char) => {
50
- if (!maskChars.includes(char) && !fixed.includes(char)) {
51
- fixed.push(char);
52
- }
53
- });
54
- setFixedCharacters(fixed);
55
- }, [mask]);
56
- const handleInputChange = (e) => {
57
- e.preventDefault();
58
- e.stopPropagation();
59
- if (isBackspace.current) {
60
- for (let i = cursorPos.current; i >= 0; i--) {
61
- if (!fixedCharacters.includes(mask[i - 1])) {
62
- cursorPos.current = i;
63
- break;
64
- }
65
- }
66
- } else {
67
- for (let i = cursorPos.current; i < mask.length; i++) {
68
- if (!fixedCharacters.includes(mask[i])) {
69
- cursorPos.current = i;
70
- break;
71
- }
72
- }
73
- }
74
- let inputValue = applyMask(internalValue);
75
- if (isBackspace.current && cursorPos.current > 0) {
76
- inputValue = inputValue.slice(0, cursorPos.current - 1) + defaultMaskCharacter + inputValue.slice(cursorPos.current);
77
- } else if (lastKey.current.length === 1) {
78
- inputValue = inputValue.slice(0, cursorPos.current) + lastKey.current + inputValue.slice(cursorPos.current + 1);
79
- }
80
- const maskedValue = applyMask(inputValue);
81
- e.target.value = maskedValue;
82
- onChange?.(e);
83
- inputProps?.onChange?.(e);
84
- if (typeof value !== "string") {
85
- setInternalValue(maskedValue);
86
- }
87
- let newCursorPos = cursorPos.current;
88
- if (isBackspace.current) {
89
- newCursorPos = cursorPos.current - 1;
90
- } else if (cursorPos.current < mask.length && lastCharValid.current) {
91
- newCursorPos = cursorPos.current + 1;
92
- }
93
- cursorPos.current = newCursorPos;
94
- inputRef.current?.setSelectionRange(newCursorPos, newCursorPos);
95
- };
96
- const resetCursorPos = () => {
97
- const cursorPosition = internalValue.indexOf(defaultMaskCharacter);
98
- if (cursorPosition > -1) {
99
- inputRef.current?.setSelectionRange(cursorPosition, cursorPosition);
100
- cursorPos.current = cursorPosition;
101
- } else {
102
- inputRef.current?.setSelectionRange(
103
- internalValue.length,
104
- internalValue.length
105
- );
106
- cursorPos.current = internalValue.length;
107
- }
108
- };
109
- const onInputClick = (e) => {
110
- e.preventDefault();
111
- e.stopPropagation();
112
- inputProps?.onClick?.(e);
113
- };
114
- const onInputBlur = (e) => {
115
- e.preventDefault();
116
- e.stopPropagation();
117
- inputProps?.onBlur?.(e);
118
- };
119
- const onInputFocus = (e) => {
120
- e.preventDefault();
121
- e.stopPropagation();
122
- setTimeout(() => {
123
- resetCursorPos();
124
- }, 0);
125
- inputProps?.onFocus?.(e);
126
- };
127
- const applyMask = (value2) => {
128
- lastCharValid.current = true;
129
- let maskedValue = "";
130
- for (let i = 0; i < mask.length; i++) {
131
- const maskChar = mask[i];
132
- const inputChar = value2[i];
133
- if (maskChar === "9") {
134
- if (/\d/.test(inputChar)) {
135
- maskedValue += inputChar;
136
- } else {
137
- maskedValue += defaultMaskCharacter;
138
- if (inputChar !== defaultMaskCharacter) {
139
- lastCharValid.current = false;
140
- }
141
- }
142
- } else if (maskChar === "a") {
143
- if (/[a-zA-Z]/.test(inputChar)) {
144
- maskedValue += inputChar;
145
- } else {
146
- maskedValue += defaultMaskCharacter;
147
- if (inputChar !== defaultMaskCharacter) {
148
- lastCharValid.current = false;
149
- }
150
- }
151
- } else if (maskChar === "*") {
152
- if (/[a-zA-Z0-9]/.test(inputChar)) {
153
- maskedValue += inputChar;
154
- } else {
155
- maskedValue += defaultMaskCharacter;
156
- if (inputChar !== defaultMaskCharacter) {
157
- lastCharValid.current = false;
158
- }
159
- }
160
- } else {
161
- maskedValue += maskChar;
162
- }
163
- }
164
- return maskedValue;
165
- };
166
- const getDisplayValue = () => {
167
- return applyMask(internalValue);
168
- };
169
- const displayValue = getDisplayValue();
170
- const handleKeyDown = (e) => {
171
- lastKey.current = e.key;
172
- isBackspace.current = e.key === "Backspace";
173
- cursorPos.current = inputRef.current?.selectionStart || 0;
174
- inputProps?.onKeyDown?.(e);
175
- };
176
- const mergedInputProps = {
177
- ...inputProps,
178
- ...children && isValidElement(children) ? children.props : {},
179
- value: displayValue,
180
- onChange: handleInputChange,
181
- onClick: onInputClick,
182
- onBlur: onInputBlur,
183
- onFocus: onInputFocus,
184
- onKeyDown: handleKeyDown,
185
- ref: passInRef
186
- };
187
- return children && isValidElement(children) && children.type === "input" ? cloneElement(children, {
188
- ...mergedInputProps
189
- }) : /* @__PURE__ */ jsx(TextField, { ...mergedInputProps });
190
- }
191
- );
192
- InputMask.displayName = "InputMask";
193
-
194
- export { InputMask as I };
195
- //# sourceMappingURL=InputMask-DQXw5qvG-BH4P-Woc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputMask-DQXw5qvG-BH4P-Woc.js","sources":["../../hammer-react/dist/InputMask-DQXw5qvG.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useRef, useEffect, isValidElement, cloneElement } from 'react';\nimport { T as TextField } from './TextField-D53XNiCi.js';\nimport { useMergeRefs } from '@floating-ui/react';\n\nconst InputMask = forwardRef(\n ({\n children,\n mask,\n defaultMaskCharacter = \"_\",\n value,\n defaultValue,\n onChange,\n inputProps\n }, ref) => {\n const [internalValue, setInternalValue] = useState(\n defaultValue || value || \"\"\n );\n const lastKey = useRef(\"\");\n const isBackspace = useRef(false);\n const cursorPos = useRef(0);\n const lastCharValid = useRef(true);\n const [fixedCharacters, setFixedCharacters] = useState([]);\n const inputRef = useRef(null);\n const passInRef = useMergeRefs([inputRef, ref]);\n useEffect(() => {\n if (defaultValue) {\n setInternalValue(applyMask(defaultValue));\n }\n }, [defaultValue]);\n useEffect(() => {\n if (value) {\n setInternalValue(applyMask(value));\n }\n }, [value]);\n useEffect(() => {\n if (value && defaultValue) {\n console.warn(\n \"Warning: InputMask contains both 'value' and 'defaultValue' props. Input elements should not switch from uncontrolled to controlled or vice versa. Decide between using a controlled or uncontrolled input element and remove one of these props.\"\n );\n }\n }, [value, defaultValue]);\n useEffect(() => {\n inputRef.current?.setSelectionRange(cursorPos.current, cursorPos.current);\n });\n useEffect(() => {\n const fixed = [];\n const maskChars = [\"a\", \"9\", \"*\"];\n mask.split(\"\").forEach((char) => {\n if (!maskChars.includes(char) && !fixed.includes(char)) {\n fixed.push(char);\n }\n });\n setFixedCharacters(fixed);\n }, [mask]);\n const handleInputChange = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (isBackspace.current) {\n for (let i = cursorPos.current; i >= 0; i--) {\n if (!fixedCharacters.includes(mask[i - 1])) {\n cursorPos.current = i;\n break;\n }\n }\n } else {\n for (let i = cursorPos.current; i < mask.length; i++) {\n if (!fixedCharacters.includes(mask[i])) {\n cursorPos.current = i;\n break;\n }\n }\n }\n let inputValue = applyMask(internalValue);\n if (isBackspace.current && cursorPos.current > 0) {\n inputValue = inputValue.slice(0, cursorPos.current - 1) + defaultMaskCharacter + inputValue.slice(cursorPos.current);\n } else if (lastKey.current.length === 1) {\n inputValue = inputValue.slice(0, cursorPos.current) + lastKey.current + inputValue.slice(cursorPos.current + 1);\n }\n const maskedValue = applyMask(inputValue);\n e.target.value = maskedValue;\n onChange?.(e);\n inputProps?.onChange?.(e);\n if (typeof value !== \"string\") {\n setInternalValue(maskedValue);\n }\n let newCursorPos = cursorPos.current;\n if (isBackspace.current) {\n newCursorPos = cursorPos.current - 1;\n } else if (cursorPos.current < mask.length && lastCharValid.current) {\n newCursorPos = cursorPos.current + 1;\n }\n cursorPos.current = newCursorPos;\n inputRef.current?.setSelectionRange(newCursorPos, newCursorPos);\n };\n const resetCursorPos = () => {\n const cursorPosition = internalValue.indexOf(defaultMaskCharacter);\n if (cursorPosition > -1) {\n inputRef.current?.setSelectionRange(cursorPosition, cursorPosition);\n cursorPos.current = cursorPosition;\n } else {\n inputRef.current?.setSelectionRange(\n internalValue.length,\n internalValue.length\n );\n cursorPos.current = internalValue.length;\n }\n };\n const onInputClick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n inputProps?.onClick?.(e);\n };\n const onInputBlur = (e) => {\n e.preventDefault();\n e.stopPropagation();\n inputProps?.onBlur?.(e);\n };\n const onInputFocus = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(() => {\n resetCursorPos();\n }, 0);\n inputProps?.onFocus?.(e);\n };\n const applyMask = (value2) => {\n lastCharValid.current = true;\n let maskedValue = \"\";\n for (let i = 0; i < mask.length; i++) {\n const maskChar = mask[i];\n const inputChar = value2[i];\n if (maskChar === \"9\") {\n if (/\\d/.test(inputChar)) {\n maskedValue += inputChar;\n } else {\n maskedValue += defaultMaskCharacter;\n if (inputChar !== defaultMaskCharacter) {\n lastCharValid.current = false;\n }\n }\n } else if (maskChar === \"a\") {\n if (/[a-zA-Z]/.test(inputChar)) {\n maskedValue += inputChar;\n } else {\n maskedValue += defaultMaskCharacter;\n if (inputChar !== defaultMaskCharacter) {\n lastCharValid.current = false;\n }\n }\n } else if (maskChar === \"*\") {\n if (/[a-zA-Z0-9]/.test(inputChar)) {\n maskedValue += inputChar;\n } else {\n maskedValue += defaultMaskCharacter;\n if (inputChar !== defaultMaskCharacter) {\n lastCharValid.current = false;\n }\n }\n } else {\n maskedValue += maskChar;\n }\n }\n return maskedValue;\n };\n const getDisplayValue = () => {\n return applyMask(internalValue);\n };\n const displayValue = getDisplayValue();\n const handleKeyDown = (e) => {\n lastKey.current = e.key;\n isBackspace.current = e.key === \"Backspace\";\n cursorPos.current = inputRef.current?.selectionStart || 0;\n inputProps?.onKeyDown?.(e);\n };\n const mergedInputProps = {\n ...inputProps,\n ...children && isValidElement(children) ? children.props : {},\n value: displayValue,\n onChange: handleInputChange,\n onClick: onInputClick,\n onBlur: onInputBlur,\n onFocus: onInputFocus,\n onKeyDown: handleKeyDown,\n ref: passInRef\n };\n return children && isValidElement(children) && children.type === \"input\" ? cloneElement(children, {\n ...mergedInputProps\n }) : /* @__PURE__ */ jsx(TextField, { ...mergedInputProps });\n }\n);\nInputMask.displayName = \"InputMask\";\n\nexport { InputMask as I };\n//# sourceMappingURL=InputMask-DQXw5qvG.js.map\n"],"names":[],"mappings":"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"}