@servicetitan/anvil2 1.34.0 → 1.34.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.
@@ -1 +1 @@
1
- {"version":3,"file":"use-reduced-motion-znCm41qB.js","sources":["../../../node_modules/.pnpm/motion@12.4.10_@emotion+is-prop-valid@1.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/motion/dist/es/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs"],"sourcesContent":["import { useState } from 'react';\nimport { initPrefersReducedMotion } from './index.mjs';\nimport { warnOnce } from '../warn-once.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';\n\n/**\n * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.\n *\n * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing\n * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.\n *\n * It will actively respond to changes and re-render your components with the latest setting.\n *\n * ```jsx\n * export function Sidebar({ isOpen }) {\n * const shouldReduceMotion = useReducedMotion()\n * const closedX = shouldReduceMotion ? 0 : \"-100%\"\n *\n * return (\n * <motion.div animate={{\n * opacity: isOpen ? 1 : 0,\n * x: isOpen ? 0 : closedX\n * }} />\n * )\n * }\n * ```\n *\n * @return boolean\n *\n * @public\n */\nfunction useReducedMotion() {\n /**\n * Lazy initialisation of prefersReducedMotion\n */\n !hasReducedMotionListener.current && initPrefersReducedMotion();\n const [shouldReduceMotion] = useState(prefersReducedMotion.current);\n if (process.env.NODE_ENV !== \"production\") {\n warnOnce(shouldReduceMotion !== true, \"You have Reduced Motion enabled on your device. Animations may not appear as expected.\");\n }\n /**\n * TODO See if people miss automatically updating shouldReduceMotion setting\n */\n return shouldReduceMotion;\n}\n\nexport { useReducedMotion };\n"],"names":[],"mappings":";;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAgB,GAAG;AAC5B;AACA;AACA;AACA,IAAI,CAAC,wBAAwB,CAAC,OAAO,IAAI,wBAAwB,EAAE;AACnE,IAAI,MAAM,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC;AACvE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC/C,QAAQ,QAAQ,CAAC,kBAAkB,KAAK,IAAI,EAAE,wFAAwF,CAAC;AACvI;AACA;AACA;AACA;AACA,IAAI,OAAO,kBAAkB;AAC7B;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"use-reduced-motion-znCm41qB.js","sources":["../../../node_modules/.pnpm/motion@12.4.10_@emotion+is-prop-valid@1.2.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/motion/dist/es/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs"],"sourcesContent":["import { useState } from 'react';\nimport { initPrefersReducedMotion } from './index.mjs';\nimport { warnOnce } from '../warn-once.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';\n\n/**\n * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.\n *\n * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing\n * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.\n *\n * It will actively respond to changes and re-render your components with the latest setting.\n *\n * ```jsx\n * export function Sidebar({ isOpen }) {\n * const shouldReduceMotion = useReducedMotion()\n * const closedX = shouldReduceMotion ? 0 : \"-100%\"\n *\n * return (\n * <motion.div animate={{\n * opacity: isOpen ? 1 : 0,\n * x: isOpen ? 0 : closedX\n * }} />\n * )\n * }\n * ```\n *\n * @return boolean\n *\n * @public\n */\nfunction useReducedMotion() {\n /**\n * Lazy initialisation of prefersReducedMotion\n */\n !hasReducedMotionListener.current && initPrefersReducedMotion();\n const [shouldReduceMotion] = useState(prefersReducedMotion.current);\n if (process.env.NODE_ENV !== \"production\") {\n warnOnce(shouldReduceMotion !== true, \"You have Reduced Motion enabled on your device. Animations may not appear as expected.\");\n }\n /**\n * TODO See if people miss automatically updating shouldReduceMotion setting\n */\n return shouldReduceMotion;\n}\n\nexport { useReducedMotion };\n"],"names":[],"mappings":";;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAgB,GAAG;AAC5B;AACA;AACA;AACA,IAAI,CAAC,wBAAwB,CAAC,OAAO,IAAI,wBAAwB,EAAE;AACnE,IAAI,MAAM,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC;AACvE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC/C,QAAQ,QAAQ,CAAC,kBAAkB,KAAK,IAAI,EAAE,wFAAwF,CAAC;AACvI;AACA;AACA;AACA;AACA,IAAI,OAAO,kBAAkB;AAC7B;;;;","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"useSize.js","sources":["../../../node_modules/.pnpm/@react-hook+passive-layout-effect@1.2.1_react@18.3.1/node_modules/@react-hook/passive-layout-effect/dist/module/index.js","../../../node_modules/.pnpm/@react-hook+latest@1.0.3_react@18.3.1/node_modules/@react-hook/latest/dist/module/index.js","../../../node_modules/.pnpm/@react-hook+resize-observer@2.0.2_react@18.3.1/node_modules/@react-hook/resize-observer/dist/module/index.js","../src/hooks/useSize/index.ts"],"sourcesContent":["import React from 'react';\nconst usePassiveLayoutEffect = React[typeof document !== 'undefined' && document.createElement !== void 0 ? 'useLayoutEffect' : 'useEffect'];\nexport default usePassiveLayoutEffect;","import * as React from 'react';\n\nconst useLatest = current => {\n const storedValue = React.useRef(current);\n React.useEffect(() => {\n storedValue.current = current;\n });\n return storedValue;\n};\n\nexport default useLatest;","/* eslint-disable no-return-assign */\n/* eslint-disable no-underscore-dangle */\n\nimport useLayoutEffect from '@react-hook/passive-layout-effect';\nimport useLatest from '@react-hook/latest';\n\n/**\n * A React hook that fires a callback whenever ResizeObserver detects a change to its size\n *\n * @param target A React ref created by `useRef()` or an HTML element\n * @param callback Invoked with a single `ResizeObserverEntry` any time\n * the `target` resizes\n */\n\nfunction _ref() {}\nfunction useResizeObserver(target, callback, options = {}) {\n const resizeObserver = getResizeObserver(options.polyfill);\n const storedCallback = useLatest(callback);\n useLayoutEffect(() => {\n let didUnsubscribe = false;\n const targetEl = target && 'current' in target ? target.current : target;\n if (!targetEl) return _ref;\n function cb(entry, observer) {\n if (didUnsubscribe) return;\n storedCallback.current(entry, observer);\n }\n resizeObserver.subscribe(targetEl, cb);\n return () => {\n didUnsubscribe = true;\n resizeObserver.unsubscribe(targetEl, cb);\n };\n }, [target, resizeObserver, storedCallback]);\n return resizeObserver.observer;\n}\nfunction createResizeObserver(polyfill) {\n let ticking = false;\n let allEntries = [];\n const callbacks = new Map();\n const observer = new (polyfill || window.ResizeObserver)((entries, obs) => {\n allEntries = allEntries.concat(entries);\n function _ref2() {\n const triggered = new Set();\n for (let i = 0; i < allEntries.length; i++) {\n if (triggered.has(allEntries[i].target)) continue;\n triggered.add(allEntries[i].target);\n const cbs = callbacks.get(allEntries[i].target);\n cbs === null || cbs === void 0 ? void 0 : cbs.forEach(cb => cb(allEntries[i], obs));\n }\n allEntries = [];\n ticking = false;\n }\n if (!ticking) {\n window.requestAnimationFrame(_ref2);\n }\n ticking = true;\n });\n return {\n observer,\n subscribe(target, callback) {\n var _callbacks$get;\n observer.observe(target);\n const cbs = (_callbacks$get = callbacks.get(target)) !== null && _callbacks$get !== void 0 ? _callbacks$get : [];\n cbs.push(callback);\n callbacks.set(target, cbs);\n },\n unsubscribe(target, callback) {\n var _callbacks$get2;\n const cbs = (_callbacks$get2 = callbacks.get(target)) !== null && _callbacks$get2 !== void 0 ? _callbacks$get2 : [];\n if (cbs.length === 1) {\n observer.unobserve(target);\n callbacks.delete(target);\n return;\n }\n const cbIndex = cbs.indexOf(callback);\n if (cbIndex !== -1) cbs.splice(cbIndex, 1);\n callbacks.set(target, cbs);\n }\n };\n}\nlet _resizeObserver;\nconst getResizeObserver = polyfill => !_resizeObserver ? _resizeObserver = createResizeObserver(polyfill) : _resizeObserver;\nexport default useResizeObserver;","import useResizeObserver from \"@react-hook/resize-observer\";\nimport { RefObject, useLayoutEffect, useState } from \"react\";\nexport const useSize = (target: RefObject<HTMLElement>) => {\n const [size, setSize] = useState<DOMRectReadOnly>();\n\n useLayoutEffect(() => {\n setSize(target.current?.getBoundingClientRect());\n }, [target]);\n\n useResizeObserver(target, (entry) => setSize(entry.contentRect));\n return size;\n};\n\nexport default useSize;\n"],"names":["React","useLayoutEffect"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"useSize.js","sources":["../../../node_modules/.pnpm/@react-hook+passive-layout-effect@1.2.1_react@18.2.0/node_modules/@react-hook/passive-layout-effect/dist/module/index.js","../../../node_modules/.pnpm/@react-hook+latest@1.0.3_react@18.2.0/node_modules/@react-hook/latest/dist/module/index.js","../../../node_modules/.pnpm/@react-hook+resize-observer@2.0.2_react@18.2.0/node_modules/@react-hook/resize-observer/dist/module/index.js","../src/hooks/useSize/index.ts"],"sourcesContent":["import React from 'react';\nconst usePassiveLayoutEffect = React[typeof document !== 'undefined' && document.createElement !== void 0 ? 'useLayoutEffect' : 'useEffect'];\nexport default usePassiveLayoutEffect;","import * as React from 'react';\n\nconst useLatest = current => {\n const storedValue = React.useRef(current);\n React.useEffect(() => {\n storedValue.current = current;\n });\n return storedValue;\n};\n\nexport default useLatest;","/* eslint-disable no-return-assign */\n/* eslint-disable no-underscore-dangle */\n\nimport useLayoutEffect from '@react-hook/passive-layout-effect';\nimport useLatest from '@react-hook/latest';\n\n/**\n * A React hook that fires a callback whenever ResizeObserver detects a change to its size\n *\n * @param target A React ref created by `useRef()` or an HTML element\n * @param callback Invoked with a single `ResizeObserverEntry` any time\n * the `target` resizes\n */\n\nfunction _ref() {}\nfunction useResizeObserver(target, callback, options = {}) {\n const resizeObserver = getResizeObserver(options.polyfill);\n const storedCallback = useLatest(callback);\n useLayoutEffect(() => {\n let didUnsubscribe = false;\n const targetEl = target && 'current' in target ? target.current : target;\n if (!targetEl) return _ref;\n function cb(entry, observer) {\n if (didUnsubscribe) return;\n storedCallback.current(entry, observer);\n }\n resizeObserver.subscribe(targetEl, cb);\n return () => {\n didUnsubscribe = true;\n resizeObserver.unsubscribe(targetEl, cb);\n };\n }, [target, resizeObserver, storedCallback]);\n return resizeObserver.observer;\n}\nfunction createResizeObserver(polyfill) {\n let ticking = false;\n let allEntries = [];\n const callbacks = new Map();\n const observer = new (polyfill || window.ResizeObserver)((entries, obs) => {\n allEntries = allEntries.concat(entries);\n function _ref2() {\n const triggered = new Set();\n for (let i = 0; i < allEntries.length; i++) {\n if (triggered.has(allEntries[i].target)) continue;\n triggered.add(allEntries[i].target);\n const cbs = callbacks.get(allEntries[i].target);\n cbs === null || cbs === void 0 ? void 0 : cbs.forEach(cb => cb(allEntries[i], obs));\n }\n allEntries = [];\n ticking = false;\n }\n if (!ticking) {\n window.requestAnimationFrame(_ref2);\n }\n ticking = true;\n });\n return {\n observer,\n subscribe(target, callback) {\n var _callbacks$get;\n observer.observe(target);\n const cbs = (_callbacks$get = callbacks.get(target)) !== null && _callbacks$get !== void 0 ? _callbacks$get : [];\n cbs.push(callback);\n callbacks.set(target, cbs);\n },\n unsubscribe(target, callback) {\n var _callbacks$get2;\n const cbs = (_callbacks$get2 = callbacks.get(target)) !== null && _callbacks$get2 !== void 0 ? _callbacks$get2 : [];\n if (cbs.length === 1) {\n observer.unobserve(target);\n callbacks.delete(target);\n return;\n }\n const cbIndex = cbs.indexOf(callback);\n if (cbIndex !== -1) cbs.splice(cbIndex, 1);\n callbacks.set(target, cbs);\n }\n };\n}\nlet _resizeObserver;\nconst getResizeObserver = polyfill => !_resizeObserver ? _resizeObserver = createResizeObserver(polyfill) : _resizeObserver;\nexport default useResizeObserver;","import useResizeObserver from \"@react-hook/resize-observer\";\nimport { RefObject, useLayoutEffect, useState } from \"react\";\nexport const useSize = (target: RefObject<HTMLElement>) => {\n const [size, setSize] = useState<DOMRectReadOnly>();\n\n useLayoutEffect(() => {\n setSize(target.current?.getBoundingClientRect());\n }, [target]);\n\n useResizeObserver(target, (entry) => setSize(entry.contentRect));\n return size;\n};\n\nexport default useSize;\n"],"names":["React","useLayoutEffect"],"mappings":"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","x_google_ignoreList":[0,1,2]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/anvil2",
3
- "version": "1.34.0",
3
+ "version": "1.34.1",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -25,8 +25,8 @@
25
25
  "@react-hook/resize-observer": "^2.0.1",
26
26
  "classnames": "^2.5.1",
27
27
  "@servicetitan/hammer-icon": "1.1.0",
28
- "@servicetitan/hammer-react": "1.35.0",
29
- "@servicetitan/hammer-token": "2.3.0"
28
+ "@servicetitan/hammer-token": "2.3.0",
29
+ "@servicetitan/hammer-react": "1.35.1"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@types/react": "^18",
@@ -45,6 +45,8 @@
45
45
  "@testing-library/jest-dom": "^5.17.0",
46
46
  "@testing-library/react": "^16.1.0",
47
47
  "@types/crypto-js": "^4.2.2",
48
+ "@types/react": "18.3.18",
49
+ "@types/react-dom": "18.3.5",
48
50
  "@types/testing-library__jest-dom": "^5.14.9",
49
51
  "@typescript-eslint/eslint-plugin": "^6.14.0",
50
52
  "@typescript-eslint/parser": "^6.14.0",
@@ -52,6 +54,8 @@
52
54
  "commander": "^12.1.0",
53
55
  "happy-dom": "^17.4.4",
54
56
  "mdast-util-to-string": "^4.0.0",
57
+ "react": "18.2.0",
58
+ "react-dom": "18.2.0",
55
59
  "remark-parse": "^11.0.0",
56
60
  "remark-stringify": "^11.0.0",
57
61
  "sass": "1.87.0",
@@ -1,24 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef } from 'react';
3
- import { useTrackingId } from './useTrackingId.js';
4
- import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
5
- import { L as Link$1 } from './Link-DOoU15kC-wEaJlH49.js';
6
-
7
- const Link = forwardRef(
8
- (props, ref) => {
9
- const data = {
10
- appearance: props.appearance,
11
- quiet: props.quiet,
12
- children: childrenToString(props.children)
13
- };
14
- const trackingId = useTrackingId({
15
- name: "Link",
16
- data,
17
- hasOverride: !!props["data-tracking-id"]
18
- });
19
- return /* @__PURE__ */ jsx(Link$1, { ref, "data-tracking-id": trackingId, ...props });
20
- }
21
- );
22
-
23
- export { Link as L };
24
- //# sourceMappingURL=Link-Bi-vl2qx.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Link-Bi-vl2qx.js","sources":["../src/components/Link/Link.tsx"],"sourcesContent":["import {\n LinkProps as CoreLinkProps,\n Link as CoreLink,\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 LinkProps = CoreLinkProps & DataTrackingId;\n\nexport const Link = forwardRef(\n (props: LinkProps, ref: Ref<HTMLAnchorElement>) => {\n const data = {\n appearance: props.appearance,\n quiet: props.quiet,\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"Link\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreLink ref={ref} data-tracking-id={trackingId} {...props} />;\n },\n);\n"],"names":["CoreLink"],"mappings":";;;;;;AAWO,MAAM,IAAO,GAAA,UAAA;AAAA,EAClB,CAAC,OAAkB,GAAgC,KAAA;AACjD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,OAAO,KAAM,CAAA,KAAA;AAAA,MACb,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ;AAAA,KAC3C;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,MAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BAAQA,MAAS,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAExE;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SegmentedControl-CYX3cgAa.js","sources":["../../hammer-react/dist/useOptionallyControlledState-DAv5LXXh.js","../../hammer-react/dist/SegmentedControl-DbUJlQr1.js","../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import { useState, useCallback } from 'react';\n\nfunction useOptionallyControlledState({\n controlledValue,\n defaultValue,\n onChange\n}) {\n const [internalValue, setInternalValue] = useState(\n defaultValue\n );\n const isControlled = controlledValue !== void 0;\n const value = isControlled ? controlledValue : internalValue;\n const setValue = useCallback(\n (newValue) => {\n if (!isControlled) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n },\n [isControlled, onChange]\n );\n return [value, setValue];\n}\n\nexport { useOptionallyControlledState as u };\n//# sourceMappingURL=useOptionallyControlledState-DAv5LXXh.js.map\n","import { jsx, Fragment, jsxs } from 'react/jsx-runtime';\nimport { forwardRef, useContext, useRef, createContext, useId } from 'react';\nimport cx from 'classnames';\nimport { useReducedMotion, motion } from '/home/runner/work/hammer/hammer/node_modules/.pnpm/motion@12.4.10_@emotion+is-prop-valid@1.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/motion/dist/es/motion/lib/react.mjs';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { I as Icon } from './Icon-BBWg60pO.js';\nimport { core } from '@servicetitan/hammer-token';\n\nimport './SegmentedControl.css';const legend = \"_legend_kdbeo_4\";\nconst children = \"_children_kdbeo_5\";\nconst segment = \"_segment_kdbeo_3\";\nconst fill = \"_fill_kdbeo_81\";\nconst small = \"_small_kdbeo_84\";\nconst medium = \"_medium_kdbeo_93\";\nconst styles = {\n\t\"segmented-control\": \"_segmented-control_kdbeo_3\",\n\tlegend: legend,\n\tchildren: children,\n\t\"select-indicator\": \"_select-indicator_kdbeo_6\",\n\tsegment: segment,\n\tfill: fill,\n\tsmall: small,\n\t\"icon-only\": \"_icon-only_kdbeo_90\",\n\tmedium: medium\n};\n\nconst SegmentedControlSegment = forwardRef((props, ref) => {\n const { icon, value, children, className, ...rest } = props;\n const shouldReduceMotion = useReducedMotion();\n const { current, setCurrent, name } = useContext(SegmentedControlContext);\n const labelRef = useRef(null);\n const classNames = cx(styles.segment, className, {\n [styles[\"icon-only\"]]: icon && !children\n });\n return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(\n \"label\",\n {\n className: classNames,\n ref: useMergeRefs([labelRef, ref]),\n \"data-anv\": \"segmented-control-segment\",\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"radio\",\n name,\n value,\n onChange: () => setCurrent?.(value),\n checked: current === value,\n \"aria-checked\": current === value\n }\n ),\n icon ? /* @__PURE__ */ jsx(Icon, { svg: icon, \"aria-hidden\": true }) : null,\n children,\n current === value && /* @__PURE__ */ jsx(\n motion.span,\n {\n layoutId: name,\n className: styles[\"select-indicator\"],\n transition: {\n duration: shouldReduceMotion ? 0 : +core.primitive.Duration.value.replace(\"ms\", \"\") / 1e3\n }\n }\n )\n ]\n }\n ) });\n});\nSegmentedControlSegment.displayName = \"Segmented Control Segment\";\n\nconst SegmentedControlContext = createContext({});\nconst SegmentedControlElement = forwardRef((props, ref) => {\n const {\n className,\n onClick,\n onChange,\n children,\n size = \"medium\",\n defaultSelected,\n selected,\n name,\n fill,\n ...rest\n } = props;\n const [current, setCurrent] = useOptionallyControlledState({\n controlledValue: selected,\n defaultValue: defaultSelected,\n onChange\n });\n const segmentedControlRef = useRef(null);\n const SegmentedControlClassNames = cx(\n styles[\"segmented-control\"],\n styles[size],\n className,\n {\n [styles.fill]: fill\n }\n );\n const uid = useId();\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n transition: { duration: 0 },\n layout: true,\n role: \"radiogroup\",\n className: SegmentedControlClassNames,\n \"data-anv\": \"segmented-control\",\n ref: useMergeRefs([segmentedControlRef, ref]),\n ...rest,\n children: /* @__PURE__ */ jsx(\n SegmentedControlContext.Provider,\n {\n value: { current, setCurrent, name: name ?? uid },\n children\n }\n )\n }\n );\n});\nSegmentedControlElement.displayName = \"Segmented Control\";\nconst SegmentedControl = Object.assign(SegmentedControlElement, {\n Segment: SegmentedControlSegment\n});\n\nexport { SegmentedControl as S, SegmentedControlSegment as a };\n//# sourceMappingURL=SegmentedControl-DbUJlQr1.js.map\n","import {\n SegmentedControlProps as CoreSegmentedControlProps,\n SegmentedControl as CoreSegmentedControl,\n SegmentedControlSegmentProps as CoreSegmentedControlSegmentProps,\n SegmentedControlSegment as CoreSegmentedControlSegment,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type SegmentedControlProps = CoreSegmentedControlProps & DataTrackingId;\nexport type SegmentedControlSegmentProps = CoreSegmentedControlSegmentProps &\n DataTrackingId;\n\nconst SegmentedControlElement = forwardRef(\n (props: SegmentedControlProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n name: props.name,\n };\n\n const trackingId = useTrackingId({\n name: \"SegmentedControl\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return (\n <CoreSegmentedControl\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\n\nexport const SegmentedControlSegment = forwardRef(\n (props: SegmentedControlSegmentProps, ref: Ref<HTMLLabelElement>) => {\n const data = {\n value: props.value,\n };\n\n const trackingId = useTrackingId({\n name: \"SegmentedControlSegment\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreSegmentedControlSegment\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\n\nexport const SegmentedControl = Object.assign(SegmentedControlElement, {\n Segment: SegmentedControlSegment,\n});\n"],"names":["SegmentedControlSegment","core.primitive.Duration","SegmentedControlElement","SegmentedControl","CoreSegmentedControl","CoreSegmentedControlSegment"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SideNav-bUPGgIKo.js","sources":["../../hammer-react/dist/SideNav-G0wjZW8P.js","../src/components/SideNav/SideNavProvider.tsx","../src/components/SideNav/SideNav.tsx"],"sourcesContent":["import { jsx, jsxs } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useEffect, useState, useId, useMemo, Children, useLayoutEffect, createContext, useContext } from 'react';\nimport cx from 'classnames';\nimport IconKeyboardArrowDown from '@servicetitan/hammer-icon/mdi/round/keyboard_arrow_down.svg';\nimport { I as Icon } from './Icon-BBWg60pO.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-GT5myWCm.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\n\nimport './SideNav.css';const sidenav = \"_sidenav_2syja_111\";\nconst root = \"_root_2syja_112\";\nconst group = \"_group_2syja_116\";\nconst hidden = \"_hidden_2syja_178\";\nconst arrow = \"_arrow_2syja_185\";\nconst styles = {\n\tsidenav: sidenav,\n\troot: root,\n\t\"sidenav-group\": \"_sidenav-group_2syja_113\",\n\t\"sidenav-link\": \"_sidenav-link_2syja_114\",\n\t\"sidenav-collapsible\": \"_sidenav-collapsible_2syja_115\",\n\tgroup: group,\n\t\"group-label\": \"_group-label_2syja_129\",\n\thidden: hidden,\n\tarrow: arrow,\n\t\"has-indicator\": \"_has-indicator_2syja_245\"\n};\n\nconst sideNavKeyboardNavigation = (e, links, current) => {\n const currentIndex = Array.prototype.indexOf.call(links, current.current);\n switch (e.key) {\n case \"ArrowDown\":\n if (!links) return;\n e.preventDefault();\n links[currentIndex].setAttribute(\"tabindex\", \"-1\");\n if (currentIndex === links.length - 1) {\n links[0].setAttribute(\"tabindex\", \"0\");\n links[0].focus();\n break;\n }\n links[currentIndex + 1].setAttribute(\"tabindex\", \"0\");\n links[currentIndex + 1].focus();\n break;\n case \"ArrowUp\":\n e.preventDefault();\n if (!links) return;\n links[currentIndex].setAttribute(\"tabindex\", \"-1\");\n if (currentIndex === 0) {\n links[links.length - 1].setAttribute(\"tabindex\", \"0\");\n links[links.length - 1].focus();\n break;\n }\n links[currentIndex - 1].setAttribute(\"tabindex\", \"0\");\n links[currentIndex - 1].focus();\n break;\n }\n};\n\nconst SideNavLink = forwardRef(\n (props, ref) => {\n const {\n className,\n children,\n href,\n id,\n active,\n onClick,\n onKeyDown,\n onKeyUp,\n style,\n disabled,\n ...rest\n } = props;\n const { links } = useSideNav();\n const linkRef = useRef(null);\n const { activeIds, addActiveId, removeActiveId } = useSideNav();\n useEffect(() => {\n if (!activeIds.has(id) && active) {\n addActiveId(id);\n return;\n }\n if (activeIds.has(id) && !active) {\n removeActiveId(id);\n }\n }, [active, activeIds]);\n function onKeyDownHandler(e) {\n sideNavKeyboardNavigation(e, links, linkRef);\n onKeyDown?.(e, id);\n }\n function onKeyUpHandler(e) {\n if (disabled) return;\n if (e.code === \"Space\" || e.code === \"Enter\") {\n e.preventDefault();\n onClick && e.currentTarget.click();\n }\n onKeyUp?.(e, id);\n }\n function onClickHandler(e) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n const current = Array.prototype.slice.call(links).filter((child) => child.tabIndex === 0)[0];\n if (current) current.setAttribute(\"tabindex\", \"-1\");\n linkRef.current?.setAttribute(\"tabindex\", \"0\");\n linkRef.current?.focus();\n onClick?.(e, id);\n }\n return /* @__PURE__ */ jsx(\"li\", { className, \"data-anv\": \"sidenav-link\", style, ref, children: /* @__PURE__ */ jsx(\n \"a\",\n {\n className: styles[\"sidenav-link\"],\n \"aria-current\": active ? \"page\" : void 0,\n href,\n ref: linkRef,\n onClick: onClickHandler,\n onKeyDown: onKeyDownHandler,\n onKeyUp: onKeyUpHandler,\n id,\n \"aria-disabled\": disabled,\n tabIndex: active ? 0 : -1,\n ...rest,\n children\n }\n ) });\n }\n);\nSideNavLink.displayName = \"SideNavLink\";\n\nconst SideNavCollapsible = forwardRef((props, ref) => {\n const {\n className,\n children,\n label,\n onClick,\n onKeyDown,\n defaultExpanded = false,\n expanded: expandedControlled,\n ...rest\n } = props;\n const [expanded, setExpanded] = useState(defaultExpanded);\n const [hasSelected, setHasSelected] = useState(false);\n const sideNavGroupLabelRef = useRef(null);\n const groupRef = useRef(null);\n const sideNavGroupClassNames = cx(styles[\"sidenav-collapsible\"], className);\n const { links, reCalculateLinks } = useSideNav();\n const groupId = useId();\n const setExpandedUncontrolled = (newState) => {\n if (expandedControlled === void 0)\n setExpanded((prev) => {\n if (newState !== void 0) return newState;\n return !prev;\n });\n };\n useEffect(() => {\n expandedControlled !== void 0 && setExpanded(expandedControlled);\n }, [expandedControlled]);\n const { activeIds } = useSideNav();\n const childIds = useMemo(\n () => Children.map(children, (child) => child.props)?.map(\n (item) => item.id\n ) || [],\n [Children]\n );\n function handleOnClick(e) {\n setExpandedUncontrolled();\n setTimeout(() => reCalculateLinks(), 0);\n const current = Array.prototype.slice.call(links).filter((child) => child.tabIndex === 0)[0];\n if (current) current.setAttribute(\"tabindex\", \"-1\");\n sideNavGroupLabelRef.current?.setAttribute(\"tabindex\", \"0\");\n sideNavGroupLabelRef.current?.focus();\n onClick?.(e);\n }\n function handleKeyDown(e) {\n sideNavKeyboardNavigation(e, links, sideNavGroupLabelRef);\n switch (e.key) {\n case \"ArrowRight\":\n setExpanded(true);\n setTimeout(() => reCalculateLinks(), 0);\n break;\n case \"ArrowLeft\":\n setExpanded(false);\n setTimeout(() => reCalculateLinks(), 0);\n break;\n }\n onKeyDown?.(e);\n }\n useLayoutEffect(() => {\n const hasActiveChildren = childIds.some((id) => activeIds.has(id));\n if (hasActiveChildren) {\n setExpandedUncontrolled(true);\n setHasSelected(true);\n setTimeout(() => {\n const selectedChild = groupRef.current?.querySelector(`[active='true']`);\n selectedChild?.setAttribute(\"tabindex\", \"0\");\n reCalculateLinks();\n }, 0);\n }\n }, []);\n useEffect(() => {\n if (!activeIds.size || !childIds.some((id) => activeIds.has(id))) {\n setHasSelected(false);\n return;\n }\n setHasSelected(true);\n }, [activeIds]);\n return /* @__PURE__ */ jsxs(\n \"li\",\n {\n ref,\n \"data-anv\": \"sidenav-collapsible\",\n ...rest,\n className: sideNavGroupClassNames,\n children: [\n /* @__PURE__ */ jsxs(\n \"button\",\n {\n \"aria-expanded\": expanded,\n \"aria-controls\": groupId,\n type: \"button\",\n tabIndex: -1,\n onClick: handleOnClick,\n ref: sideNavGroupLabelRef,\n className: cx(styles[\"sidenav-link\"], {\n [styles[\"has-indicator\"]]: hasSelected && !expanded\n }),\n onKeyDown: handleKeyDown,\n children: [\n label,\n /* @__PURE__ */ jsx(Icon, { className: styles[\"arrow\"], inherit: true, svg: IconKeyboardArrowDown, \"aria-hidden\": true })\n ]\n }\n ),\n /* @__PURE__ */ jsx(\n \"ul\",\n {\n id: groupId,\n ref: groupRef,\n className: cx(styles[\"group\"], !expanded && styles.hidden),\n children\n }\n )\n ]\n }\n );\n});\nSideNavCollapsible.displayName = \"SideNavCollapsible\";\n\nconst SideNavGroup = forwardRef(\n (props, ref) => {\n const { children, label, ...rest } = props;\n const sideNavGroupClassNames = cx(styles[\"sidenav-group\"]);\n const groupLabelId = useId();\n return /* @__PURE__ */ jsxs(\"li\", { ref, \"data-anv\": \"sidenav-group\", ...rest, children: [\n /* @__PURE__ */ jsx(\"label\", { id: groupLabelId, className: styles[\"group-label\"], children: label }),\n /* @__PURE__ */ jsx(\"ul\", { \"aria-labelledby\": groupLabelId, className: sideNavGroupClassNames, children })\n ] });\n }\n);\nSideNavGroup.displayName = \"SideNavGroup\";\n\nconst SideNavContext = createContext(null);\nconst SideNavElement = forwardRef((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const [activeIds, setActiveIds] = useState(/* @__PURE__ */ new Set());\n const { className, children, style, ...rest } = componentProps;\n const addActiveId = (id) => {\n if (activeIds.has(id)) return;\n const newIds = new Set(activeIds);\n newIds.add(id);\n setActiveIds(newIds);\n };\n const removeActiveId = (id) => {\n if (!activeIds.has(id)) return;\n const newIds = new Set(activeIds);\n newIds.delete(id);\n setActiveIds(newIds);\n };\n const sideNavRef = useRef(null);\n const [links, setLinks] = useState();\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n function reCalculateLinks() {\n if (sideNavRef.current) {\n const items = sideNavRef.current.querySelectorAll(\n \"li[data-anv='sidenav-link'] a:not([aria-disabled='true']), li[data-anv='sidenav-collapsible'] button[aria-expanded]:not([aria-disabled='true'])\"\n );\n setLinks(items);\n }\n }\n useEffect(() => {\n reCalculateLinks();\n }, []);\n const sidenavClassNames = cx([styles[\"sidenav\"]], className);\n const value = useMemo(\n () => ({\n links,\n reCalculateLinks,\n activeIds,\n addActiveId,\n removeActiveId\n }),\n [links, activeIds, addActiveId, removeActiveId, reCalculateLinks]\n );\n return /* @__PURE__ */ jsx(SideNavContext.Provider, { value, children: /* @__PURE__ */ jsx(\n \"nav\",\n {\n ref: useMergeRefs([sideNavRef, ref]),\n className: sidenavClassNames,\n style: styleCombined,\n \"data-anv\": \"sidenav\",\n ...rest,\n children: /* @__PURE__ */ jsx(\"ul\", { className: styles[\"root\"], children })\n }\n ) });\n});\nconst useSideNav = () => {\n const context = useContext(SideNavContext);\n if (context == null) {\n throw new Error(\"useSideNav must be wrapped in <SideNav />\");\n }\n return context;\n};\nSideNavElement.displayName = \"SideNav\";\nconst SideNav = Object.assign(SideNavElement, {\n Link: SideNavLink,\n Collapsible: SideNavCollapsible,\n Group: SideNavGroup\n});\n\nexport { SideNav as S, SideNavLink as a, SideNavCollapsible as b, SideNavGroup as c };\n//# sourceMappingURL=SideNav-G0wjZW8P.js.map\n","import { PropsWithChildren, createContext, useContext, useState } from \"react\";\n\ninterface ISideNavContext {\n location: string;\n setLocation: (location: string) => void;\n}\n\nconst defaultContext = {\n location: \"\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n setLocation: (_location: string) => {},\n};\n\nconst SideNavContext: React.Context<ISideNavContext> =\n createContext(defaultContext);\n// eslint-disable-next-line react-refresh/only-export-components\nexport const useSideNavContext = () => useContext(SideNavContext);\n\nexport const SideNavProvider = ({ children }: PropsWithChildren) => {\n const [location, setLocation] = useState(window.location.pathname);\n\n const sideNavContext = {\n location,\n setLocation,\n };\n\n return (\n <SideNavContext.Provider value={sideNavContext}>\n {children}\n </SideNavContext.Provider>\n );\n};\n","import {\n SideNavProps as CoreSideNavProps,\n SideNav as CoreSideNav,\n SideNavCollapsibleProps as CoreSideNavCollapsibleProps,\n SideNavCollapsible as CoreSideNavCollapsible,\n SideNavGroupProps as CoreSideNavGroupProps,\n SideNavGroup as CoreSideNavGroup,\n SideNavLinkProps as CoreSideNavLinkProps,\n SideNavLink as CoreSideNavLink,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef, useCallback } from \"react\";\nimport { SideNavProvider, useSideNavContext } from \"./SideNavProvider\";\n\nexport type SideNavProps = CoreSideNavProps;\nexport type SideNavCollapsibleProps = CoreSideNavCollapsibleProps;\nexport type SideNavGroupProps = CoreSideNavGroupProps;\n\nconst SideNavElement = forwardRef(\n (props: SideNavProps, ref: Ref<HTMLDivElement>) => {\n return (\n <SideNavProvider>\n <CoreSideNav ref={ref} {...props} />\n </SideNavProvider>\n );\n },\n);\n\nexport const SideNavCollapsible = forwardRef(\n (props: SideNavCollapsibleProps, ref: Ref<HTMLLIElement>) => {\n return <CoreSideNavCollapsible ref={ref} {...props} />;\n },\n);\n\nexport const SideNavGroup = forwardRef(\n (props: SideNavGroupProps, ref: Ref<HTMLLIElement>) => {\n return <CoreSideNavGroup ref={ref} {...props} />;\n },\n);\n\ntype SideNavLinkWithRoutingProps = CoreSideNavLinkProps & {\n pathname: string;\n search?: string;\n};\n\nconst SideNavLinkWithRouting = forwardRef(\n (\n { href, pathname, search, onClick, ...rest }: SideNavLinkWithRoutingProps,\n ref: Ref<HTMLLIElement>,\n ) => {\n const { location, setLocation } = useSideNavContext();\n const to = pathname + (search ?? \"\");\n\n const handleClick = useCallback(\n (...args: Parameters<NonNullable<CoreSideNavLinkProps[\"onClick\"]>>) => {\n args[0].preventDefault();\n history.pushState(null, \"\", to); // eslint-disable-line no-restricted-globals\n setLocation(to);\n return onClick?.(...args);\n },\n [onClick, to, setLocation],\n );\n\n return (\n <CoreSideNavLink\n href={pathname != null ? to : href}\n active={pathname === location}\n onClick={pathname != null ? handleClick : onClick}\n ref={ref}\n {...rest}\n />\n );\n },\n);\n\nexport const SideNavLink = forwardRef(\n (\n rest: CoreSideNavLinkProps | SideNavLinkWithRoutingProps,\n ref: Ref<HTMLLIElement>,\n ) => {\n if (\"pathname\" in rest) {\n return <SideNavLinkWithRouting ref={ref} {...rest} />;\n } else {\n return <CoreSideNavLink ref={ref} {...rest} />;\n }\n },\n);\n\nexport const SideNav = Object.assign(SideNavElement, {\n Link: SideNavLink,\n Collapsible: SideNavCollapsible,\n Group: SideNavGroup,\n});\n"],"names":["SideNavLink","SideNavCollapsible","IconKeyboardArrowDown","SideNavGroup","SideNavContext","SideNavElement","SideNav","CoreSideNav","CoreSideNavCollapsible","CoreSideNavGroup","CoreSideNavLink"],"mappings":"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"}