@servicetitan/anvil2 1.43.2 → 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/dist/{Breadcrumbs-B5bqrZ5D-BqK-Qfh9.js → Breadcrumbs-BMbkH9hL-BUjQksuj.js} +3 -3
  3. package/dist/{Breadcrumbs-B5bqrZ5D-BqK-Qfh9.js.map → Breadcrumbs-BMbkH9hL-BUjQksuj.js.map} +1 -1
  4. package/dist/{Breadcrumbs-De8uoLi8.js → Breadcrumbs-fthw3qaL.js} +2 -2
  5. package/dist/{Breadcrumbs-De8uoLi8.js.map → Breadcrumbs-fthw3qaL.js.map} +1 -1
  6. package/dist/Breadcrumbs.js +1 -1
  7. package/dist/{Calendar-DD5kmVd3-CBGTR11R.js → Calendar-BvftKznl-D4_xp9Rv.js} +3 -3
  8. package/dist/{Calendar-DD5kmVd3-CBGTR11R.js.map → Calendar-BvftKznl-D4_xp9Rv.js.map} +1 -1
  9. package/dist/{Calendar-Bgpz99F2.js → Calendar-DdOR9T_K.js} +2 -2
  10. package/dist/{Calendar-Bgpz99F2.js.map → Calendar-DdOR9T_K.js.map} +1 -1
  11. package/dist/Calendar.js +1 -1
  12. package/dist/{DateField-_TqCdcYv.js → DateField-Bqsnpt8S.js} +4 -4
  13. package/dist/{DateField-_TqCdcYv.js.map → DateField-Bqsnpt8S.js.map} +1 -1
  14. package/dist/DateField.js +1 -1
  15. package/dist/{DateFieldRange-Dk8WA52F.js → DateFieldRange-Cax7Kl9A.js} +2 -2
  16. package/dist/{DateFieldRange-Dk8WA52F.js.map → DateFieldRange-Cax7Kl9A.js.map} +1 -1
  17. package/dist/DateFieldRange.js +1 -1
  18. package/dist/{DateFieldSingle-D3xD8YZk.js → DateFieldSingle-bMX770gU.js} +2 -2
  19. package/dist/{DateFieldSingle-D3xD8YZk.js.map → DateFieldSingle-bMX770gU.js.map} +1 -1
  20. package/dist/DateFieldSingle.js +1 -1
  21. package/dist/{DateFieldYearless-BxkCSNk5.js → DateFieldYearless-ClNYTBK_.js} +2 -2
  22. package/dist/{DateFieldYearless-BxkCSNk5.js.map → DateFieldYearless-ClNYTBK_.js.map} +1 -1
  23. package/dist/{DateFieldYearless-CAUHW6Ow-EUWxJ0OY.js → DateFieldYearless-pejtv7-x-DBHpW83U.js} +7 -65
  24. package/dist/DateFieldYearless-pejtv7-x-DBHpW83U.js.map +1 -0
  25. package/dist/DateFieldYearless.js +1 -1
  26. package/dist/{InputMask-wUro4G2j.js → InputMask-BOUlnmiF.js} +2 -2
  27. package/dist/{InputMask-wUro4G2j.js.map → InputMask-BOUlnmiF.js.map} +1 -1
  28. package/dist/{InputMask-CE3pdXwL-B8XVrj36.js → InputMask-BuO8lNAB-DdxdO5Jw.js} +3 -3
  29. package/dist/{InputMask-CE3pdXwL-B8XVrj36.js.map → InputMask-BuO8lNAB-DdxdO5Jw.js.map} +1 -1
  30. package/dist/InputMask.js +1 -1
  31. package/dist/{Link-DZa0wmkA.js → Link-C4N_cV3i.js} +2 -2
  32. package/dist/{Link-DZa0wmkA.js.map → Link-C4N_cV3i.js.map} +1 -1
  33. package/dist/{Link-Dqp_XXl_-Bv20l_tY.js → Link-MiffPrW9-Cx1zYWSF.js} +3 -3
  34. package/dist/{Link-Dqp_XXl_-Bv20l_tY.js.map → Link-MiffPrW9-Cx1zYWSF.js.map} +1 -1
  35. package/dist/Link.js +1 -1
  36. package/dist/LinkButton.css +5 -0
  37. package/dist/LinkButton.d.ts +6 -0
  38. package/dist/LinkButton.js +76 -0
  39. package/dist/LinkButton.js.map +1 -0
  40. package/dist/{ListView-DdHpJHTc.js → ListView-DVPhWDCM.js} +24 -5
  41. package/dist/ListView-DVPhWDCM.js.map +1 -0
  42. package/dist/ListView.js +1 -1
  43. package/dist/NumberField-C9lMsPMD.js +1582 -0
  44. package/dist/NumberField-C9lMsPMD.js.map +1 -0
  45. package/dist/NumberField.css +49 -0
  46. package/dist/NumberField.d.ts +6 -0
  47. package/dist/NumberField.js +2 -0
  48. package/dist/NumberField.js.map +1 -0
  49. package/dist/{Page-CxB5N9dR.js → Page-CGAylFKz.js} +2 -2
  50. package/dist/{Page-CxB5N9dR.js.map → Page-CGAylFKz.js.map} +1 -1
  51. package/dist/Page.js +1 -1
  52. package/dist/{SegmentedControl-DKMQuf7s.js → SegmentedControl-DY1PSYmd.js} +2 -2
  53. package/dist/{SegmentedControl-DKMQuf7s.js.map → SegmentedControl-DY1PSYmd.js.map} +1 -1
  54. package/dist/SegmentedControl.js +1 -1
  55. package/dist/{SelectCard-DUNwYa5y-BSi21Aba.js → SelectCard-LSAl_7Lh-BYtfe9PC.js} +3 -3
  56. package/dist/{SelectCard-DUNwYa5y-BSi21Aba.js.map → SelectCard-LSAl_7Lh-BYtfe9PC.js.map} +1 -1
  57. package/dist/SelectCard.js +1 -1
  58. package/dist/{SelectCardGroup-YGYiBv5M.js → SelectCardGroup-u_QKdeRZ.js} +2 -2
  59. package/dist/{SelectCardGroup-YGYiBv5M.js.map → SelectCardGroup-u_QKdeRZ.js.map} +1 -1
  60. package/dist/{TextField-gYAqTpcX.js → TextField-B364hxo8.js} +2 -2
  61. package/dist/{TextField-gYAqTpcX.js.map → TextField-B364hxo8.js.map} +1 -1
  62. package/dist/{TextField-CRTh0gL_-D2CjcYXX.js → TextField-DoPP1CQ--UWAOTYiv.js} +2 -2
  63. package/dist/{TextField-CRTh0gL_-D2CjcYXX.js.map → TextField-DoPP1CQ--UWAOTYiv.js.map} +1 -1
  64. package/dist/TextField.js +1 -1
  65. package/dist/{Textarea-DohNOiIp.js → Textarea-D2AAZ1L3.js} +2 -2
  66. package/dist/{Textarea-DohNOiIp.js.map → Textarea-D2AAZ1L3.js.map} +1 -1
  67. package/dist/Textarea.js +1 -1
  68. package/dist/{TimeField-DRHLRqN3.js → TimeField-tA9uo4lK.js} +5 -4
  69. package/dist/{TimeField-DRHLRqN3.js.map → TimeField-tA9uo4lK.js.map} +1 -1
  70. package/dist/TimeField.js +1 -1
  71. package/dist/assets/icons/st/gnav_home_outline.svg +1 -1
  72. package/dist/assets/icons/st.ts +0 -1
  73. package/dist/components/LinkButton/LinkButton.d.ts +57 -0
  74. package/dist/components/LinkButton/index.d.ts +2 -0
  75. package/dist/components/NumberField/NumberField.d.ts +11 -0
  76. package/dist/components/NumberField/index.d.ts +2 -0
  77. package/dist/components/index.d.ts +1 -0
  78. package/dist/{usePopoverSupport-B9Lsqryr-DhZHMoNb.js → index.esm-dyoPQhi6.js} +735 -13
  79. package/dist/index.esm-dyoPQhi6.js.map +1 -0
  80. package/dist/index.js +17 -16
  81. package/dist/index.js.map +1 -1
  82. package/dist/useFocusWithin-Cxz14Zyz-DEudRcSI.js +64 -0
  83. package/dist/useFocusWithin-Cxz14Zyz-DEudRcSI.js.map +1 -0
  84. package/dist/useLinkStyles.js +1 -1
  85. package/dist/{useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js → useOptionallyControlledState-DbDuos5L-DbDuos5L.js} +9 -3
  86. package/dist/useOptionallyControlledState-DbDuos5L-DbDuos5L.js.map +1 -0
  87. package/dist/usePopoverSupport-B9Lsqryr-CYJxXiun.js +15 -0
  88. package/dist/usePopoverSupport-B9Lsqryr-CYJxXiun.js.map +1 -0
  89. package/package.json +2 -2
  90. package/dist/DateFieldYearless-CAUHW6Ow-EUWxJ0OY.js.map +0 -1
  91. package/dist/ListView-DdHpJHTc.js.map +0 -1
  92. package/dist/assets/icons/st/ai_mark.svg +0 -1
  93. package/dist/useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js.map +0 -1
  94. package/dist/usePopoverSupport-B9Lsqryr-DhZHMoNb.js.map +0 -1
  95. /package/dist/{Breadcrumbs-B5bqrZ5D.css → Breadcrumbs-BMbkH9hL.css} +0 -0
  96. /package/dist/{Calendar-DD5kmVd3.css → Calendar-BvftKznl.css} +0 -0
  97. /package/dist/{Link-Dqp_XXl_.css → Link-MiffPrW9.css} +0 -0
  98. /package/dist/{SelectCard-DUNwYa5y.css → SelectCard-LSAl_7Lh.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl-DKMQuf7s.js","sources":["../../hammer-react/dist/SegmentedControl-CaAD848n.js","../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["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.3.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/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-B6HmlQiR.js';\nimport { core } from '@servicetitan/hammer-token';\n\nimport './SegmentedControl.css';const legend = \"_legend_1jy4v_3\";\nconst children = \"_children_1jy4v_4\";\nconst segment = \"_segment_1jy4v_2\";\nconst fill = \"_fill_1jy4v_80\";\nconst small = \"_small_1jy4v_83\";\nconst medium = \"_medium_1jy4v_92\";\nconst styles = {\n\t\"segmented-control\": \"_segmented-control_1jy4v_2\",\n\tlegend: legend,\n\tchildren: children,\n\t\"select-indicator\": \"_select-indicator_1jy4v_5\",\n\tsegment: segment,\n\tfill: fill,\n\tsmall: small,\n\t\"icon-only\": \"_icon-only_1jy4v_89\",\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 = \"SegmentedControlSegment\";\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 = \"SegmentedControl\";\nconst SegmentedControl = Object.assign(SegmentedControlElement, {\n /**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n */\n Segment: SegmentedControlSegment\n});\n\nexport { SegmentedControl as S, SegmentedControlSegment as a };\n//# sourceMappingURL=SegmentedControl-CaAD848n.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\n/**\n * Props for the SegmentedControl component\n * @property {string} [size] - Size of the segment (small, medium)\n * @property {boolean} [fill] - Whether to fill available width\n * @property {string} [name] - Name attribute for radio inputs\n * @property {Function} [onChange] - Callback when segment is changed\n * @property {string} [selected] - Selected segment (controlled mode)\n * @property {string} [defaultSelected] - Initial selection (uncontrolled mode)\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\nexport type SegmentedControlProps = CoreSegmentedControlProps & DataTrackingId;\n\n/**\n * Props for the SegmentedControlSegment component\n * @property {string} value - Value of the segment\n * @property {object} [icon] - Optional icon to display in the segment\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\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);\nSegmentedControlElement.displayName = CoreSegmentedControl.displayName;\n\n/**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n * - Icon-only mode when no children provided\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n *\n * @example\n * <SegmentedControl.Segment value=\"icon-only\" icon={IconOnly} />\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);\nSegmentedControlSegment.displayName = CoreSegmentedControlSegment.displayName;\n\n/**\n * SegmentedControl component for selecting one option from a group of related choices.\n *\n * Features:\n * - Supports both controlled and uncontrolled modes\n * - Multiple size variants (small, medium)\n * - Optional fill width mode\n * - Smooth animations with motion\n * - Accessibility support with proper radio group semantics\n * - Layout utility props for positioning and spacing\n * - Context-based state management\n * - Auto-generated or custom name attributes\n * - Segment support via SegmentedControl.Segment\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl\n * selected={selectedValue}\n * onChange={setSelectedValue}\n * size=\"medium\"\n * >\n * <SegmentedControl.Segment value=\"option1\">Option 1</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"option2\">Option 2</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"option3\">Option 3</SegmentedControl.Segment>\n * </SegmentedControl>\n *\n * @example\n * <SegmentedControl\n * defaultSelected=\"small\"\n * size=\"small\"\n * fill\n * >\n * <SegmentedControl.Segment value=\"small\" icon={SmallIcon}>Small</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"large\" icon={LargeIcon}>Large</SegmentedControl.Segment>\n * </SegmentedControl>\n */\nexport const SegmentedControl = Object.assign(SegmentedControlElement, {\n /**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n * - Icon-only mode when no children provided\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n *\n * @example\n * <SegmentedControl.Segment value=\"icon-only\" icon={IconOnly} />\n */\n Segment: SegmentedControlSegment,\n});\n"],"names":["SegmentedControlSegment","core.primitive.Duration","SegmentedControlElement","SegmentedControl","CoreSegmentedControl","CoreSegmentedControlSegment"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentedControl-DY1PSYmd.js","sources":["../../hammer-react/dist/SegmentedControl-BSiVIydl.js","../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["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.3.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/motion/dist/es/motion/lib/react.mjs';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport { core } from '@servicetitan/hammer-token';\n\nimport './SegmentedControl.css';const legend = \"_legend_1jy4v_3\";\nconst children = \"_children_1jy4v_4\";\nconst segment = \"_segment_1jy4v_2\";\nconst fill = \"_fill_1jy4v_80\";\nconst small = \"_small_1jy4v_83\";\nconst medium = \"_medium_1jy4v_92\";\nconst styles = {\n\t\"segmented-control\": \"_segmented-control_1jy4v_2\",\n\tlegend: legend,\n\tchildren: children,\n\t\"select-indicator\": \"_select-indicator_1jy4v_5\",\n\tsegment: segment,\n\tfill: fill,\n\tsmall: small,\n\t\"icon-only\": \"_icon-only_1jy4v_89\",\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 = \"SegmentedControlSegment\";\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 = \"SegmentedControl\";\nconst SegmentedControl = Object.assign(SegmentedControlElement, {\n /**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n */\n Segment: SegmentedControlSegment\n});\n\nexport { SegmentedControl as S, SegmentedControlSegment as a };\n//# sourceMappingURL=SegmentedControl-BSiVIydl.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\n/**\n * Props for the SegmentedControl component\n * @property {string} [size] - Size of the segment (small, medium)\n * @property {boolean} [fill] - Whether to fill available width\n * @property {string} [name] - Name attribute for radio inputs\n * @property {Function} [onChange] - Callback when segment is changed\n * @property {string} [selected] - Selected segment (controlled mode)\n * @property {string} [defaultSelected] - Initial selection (uncontrolled mode)\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\nexport type SegmentedControlProps = CoreSegmentedControlProps & DataTrackingId;\n\n/**\n * Props for the SegmentedControlSegment component\n * @property {string} value - Value of the segment\n * @property {object} [icon] - Optional icon to display in the segment\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\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);\nSegmentedControlElement.displayName = CoreSegmentedControl.displayName;\n\n/**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n * - Icon-only mode when no children provided\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n *\n * @example\n * <SegmentedControl.Segment value=\"icon-only\" icon={IconOnly} />\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);\nSegmentedControlSegment.displayName = CoreSegmentedControlSegment.displayName;\n\n/**\n * SegmentedControl component for selecting one option from a group of related choices.\n *\n * Features:\n * - Supports both controlled and uncontrolled modes\n * - Multiple size variants (small, medium)\n * - Optional fill width mode\n * - Smooth animations with motion\n * - Accessibility support with proper radio group semantics\n * - Layout utility props for positioning and spacing\n * - Context-based state management\n * - Auto-generated or custom name attributes\n * - Segment support via SegmentedControl.Segment\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl\n * selected={selectedValue}\n * onChange={setSelectedValue}\n * size=\"medium\"\n * >\n * <SegmentedControl.Segment value=\"option1\">Option 1</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"option2\">Option 2</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"option3\">Option 3</SegmentedControl.Segment>\n * </SegmentedControl>\n *\n * @example\n * <SegmentedControl\n * defaultSelected=\"small\"\n * size=\"small\"\n * fill\n * >\n * <SegmentedControl.Segment value=\"small\" icon={SmallIcon}>Small</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"large\" icon={LargeIcon}>Large</SegmentedControl.Segment>\n * </SegmentedControl>\n */\nexport const SegmentedControl = Object.assign(SegmentedControlElement, {\n /**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n * - Icon-only mode when no children provided\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n *\n * @example\n * <SegmentedControl.Segment value=\"icon-only\" icon={IconOnly} />\n */\n Segment: SegmentedControlSegment,\n});\n"],"names":["SegmentedControlSegment","core.primitive.Duration","SegmentedControlElement","SegmentedControl","CoreSegmentedControl","CoreSegmentedControlSegment"],"mappings":";;;;;;;;;;;AASgC,MAAM,MAAM,GAAG,iBAAiB;AAChE,MAAM,QAAQ,GAAG,mBAAmB;AACpC,MAAM,OAAO,GAAG,kBAAkB;AAClC,MAAM,IAAI,GAAG,gBAAgB;AAC7B,MAAM,KAAK,GAAG,iBAAiB;AAC/B,MAAM,MAAM,GAAG,kBAAkB;AACjC,MAAM,MAAM,GAAG;AACf,CAAC,mBAAmB,EAAE,4BAA4B;AAClD,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,QAAQ,EAAE,QAAQ;AACnB,CAAC,kBAAkB,EAAE,2BAA2B;AAChD,CAAC,OAAO,EAAE,OAAO;AACjB,CAAC,IAAI,EAAE,IAAI;AACX,CAAC,KAAK,EAAE,KAAK;AACb,CAAC,WAAW,EAAE,qBAAqB;AACnC,CAAC,MAAM,EAAE;AACT,CAAC;;AAED,MAAMA,yBAAuB,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC3D,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK;AAC7D,EAAE,MAAM,kBAAkB,GAAG,gBAAgB,EAAE;AAC/C,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,uBAAuB,CAAC;AAC3E,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/B,EAAE,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE;AACnD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC;AACpC,GAAG,CAAC;AACJ,EAAE,uBAAuB,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,kBAAkB,IAAI;AACvE,IAAI,OAAO;AACX,IAAI;AACJ,MAAM,SAAS,EAAE,UAAU;AAC3B,MAAM,GAAG,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACxC,MAAM,UAAU,EAAE,2BAA2B;AAC7C,MAAM,GAAG,IAAI;AACb,MAAM,QAAQ,EAAE;AAChB,wBAAwB,GAAG;AAC3B,UAAU,OAAO;AACjB,UAAU;AACV,YAAY,IAAI,EAAE,OAAO;AACzB,YAAY,IAAI;AAChB,YAAY,KAAK;AACjB,YAAY,QAAQ,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC;AAC/C,YAAY,OAAO,EAAE,OAAO,KAAK,KAAK;AACtC,YAAY,cAAc,EAAE,OAAO,KAAK;AACxC;AACA,SAAS;AACT,QAAQ,IAAI,mBAAmB,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;AACnF,QAAQ,QAAQ;AAChB,QAAQ,OAAO,KAAK,KAAK,oBAAoB,GAAG;AAChD,UAAU,MAAM,CAAC,IAAI;AACrB,UAAU;AACV,YAAY,QAAQ,EAAE,IAAI;AAC1B,YAAY,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC;AACjD,YAAY,UAAU,EAAE;AACxB,cAAc,QAAQ,EAAE,kBAAkB,GAAG,CAAC,GAAG,CAACC,QAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG;AACpG;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,CAAC;AACN,CAAC,CAAC;AACFD,yBAAuB,CAAC,WAAW,GAAG,yBAAyB;;AAE/D,MAAM,uBAAuB,GAAG,aAAa,CAAC,EAAE,CAAC;AACjD,MAAME,yBAAuB,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC3D,EAAE,MAAM;AACR,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,IAAI,GAAG,QAAQ;AACnB,IAAI,eAAe;AACnB,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,GAAG;AACP,GAAG,GAAG,KAAK;AACX,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,4BAA4B,CAAC;AAC7D,IAAI,eAAe,EAAE,QAAQ;AAC7B,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC;AAC1C,EAAE,MAAM,0BAA0B,GAAG,EAAE;AACvC,IAAI,MAAM,CAAC,mBAAmB,CAAC;AAC/B,IAAI,MAAM,CAAC,IAAI,CAAC;AAChB,IAAI,SAAS;AACb,IAAI;AACJ,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG;AACrB;AACA,GAAG;AACH,EAAE,MAAM,GAAG,GAAG,KAAK,EAAE;AACrB,EAAE,uBAAuB,GAAG;AAC5B,IAAI,MAAM,CAAC,GAAG;AACd,IAAI;AACJ,MAAM,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;AACjC,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,IAAI,EAAE,YAAY;AACxB,MAAM,SAAS,EAAE,0BAA0B;AAC3C,MAAM,UAAU,EAAE,mBAAmB;AACrC,MAAM,GAAG,EAAE,YAAY,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;AACnD,MAAM,GAAG,IAAI;AACb,MAAM,QAAQ,kBAAkB,GAAG;AACnC,QAAQ,uBAAuB,CAAC,QAAQ;AACxC,QAAQ;AACR,UAAU,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE;AAC3D,UAAU;AACV;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC;AACFA,yBAAuB,CAAC,WAAW,GAAG,kBAAkB;AACxD,MAAMC,kBAAgB,GAAG,MAAM,CAAC,MAAM,CAACD,yBAAuB,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAEF;AACX,CAAC,CAAC;;AC3GF,MAAM,uBAA0B,GAAA,UAAA;AAAA,EAC9B,CAAC,OAA8B,GAA6B,KAAA;AAC1D,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,MAAM,KAAM,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,kBAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AAED,IACE,uBAAA,GAAA;AAAA,MAACI,kBAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,kBAAkB,EAAA,UAAA;AAAA,QACjB,GAAG;AAAA;AAAA,KACN;AAAA;AAGN,CAAA;AACA,uBAAA,CAAwB,cAAcA,kBAAqB,CAAA,WAAA;AAuBpD,MAAM,uBAA0B,GAAA,UAAA;AAAA,EACrC,CAAC,OAAqC,GAA+B,KAAA;AACnE,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,OAAO,KAAM,CAAA;AAAA,KACf;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,yBAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IACE,uBAAA,GAAA;AAAA,MAACC,yBAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,kBAAkB,EAAA,UAAA;AAAA,QACjB,GAAG;AAAA;AAAA,KACN;AAAA;AAGN;AACA,uBAAA,CAAwB,cAAcA,yBAA4B,CAAA,WAAA;AAsCrD,MAAA,gBAAA,GAAmB,MAAO,CAAA,MAAA,CAAO,uBAAyB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBrE,OAAS,EAAA;AACX,CAAC;;;;"}
@@ -1,2 +1,2 @@
1
- export { S as SegmentedControl, a as SegmentedControlSegment, S as default } from './SegmentedControl-DKMQuf7s.js';
1
+ export { S as SegmentedControl, a as SegmentedControlSegment, S as default } from './SegmentedControl-DY1PSYmd.js';
2
2
  //# sourceMappingURL=SegmentedControl.js.map
@@ -4,9 +4,9 @@ import { C as Card } from './Card-ZknG-yim-7W6rYSFV.js';
4
4
  import { R as RadioGroup, a as Radio } from './Radio-DQ_VQFGZ-SdFBlDnE.js';
5
5
  import { c as cx } from './index-tZvMCc77.js';
6
6
  import { C as CheckboxGroup, a as Checkbox } from './Checkbox-DyHm7Ntt-DYw5QL3l.js';
7
- import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
7
+ import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L-DbDuos5L.js';
8
8
 
9
- import './SelectCard-DUNwYa5y.css';const styles = {
9
+ import './SelectCard-LSAl_7Lh.css';const styles = {
10
10
  "select-card": "_select-card_3pbcy_2",
11
11
  "select-card--errored": "_select-card--errored_3pbcy_22",
12
12
  "select-card--selected": "_select-card--selected_3pbcy_25",
@@ -221,4 +221,4 @@ const SelectCard = Object.assign(SelectCardElement, {
221
221
  });
222
222
 
223
223
  export { SelectCardGroup as S, SelectCard as a };
224
- //# sourceMappingURL=SelectCard-DUNwYa5y-BSi21Aba.js.map
224
+ //# sourceMappingURL=SelectCard-LSAl_7Lh-BYtfe9PC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCard-DUNwYa5y-BSi21Aba.js","sources":["../../hammer-react/dist/SelectCard-DUNwYa5y.js"],"sourcesContent":["import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { useContext, useState, useId, createContext, forwardRef, useLayoutEffect } from 'react';\nimport { C as Card } from './Card-ZknG-yim.js';\nimport { a as RadioGroup, R as Radio } from './Radio-DQ_VQFGZ.js';\nimport cx from 'classnames';\nimport { a as CheckboxGroup, C as Checkbox } from './Checkbox-DyHm7Ntt.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\n\nimport './SelectCard.css';const styles = {\n\t\"select-card\": \"_select-card_3pbcy_2\",\n\t\"select-card--errored\": \"_select-card--errored_3pbcy_22\",\n\t\"select-card--selected\": \"_select-card--selected_3pbcy_25\",\n\t\"select-card--disabled\": \"_select-card--disabled_3pbcy_41\",\n\t\"select-card--remove-drop-shadow\": \"_select-card--remove-drop-shadow_3pbcy_45\"\n};\n\nconst SelectCardContext = createContext(null);\nconst SelectCardProvider = ({\n children,\n onChange,\n selectionMode\n}) => {\n const [selection, setSelection] = useState(/* @__PURE__ */ new Set());\n const radioName = useId();\n const handleChange = (e, state, options) => {\n if (!state || !state.id) {\n if (!options?.internal) {\n onChange(e, state);\n }\n return;\n }\n if (selectionMode === \"single\") {\n if (state.checked) {\n setSelection(/* @__PURE__ */ new Set([state.id]));\n } else {\n setSelection(/* @__PURE__ */ new Set());\n }\n } else {\n if (state.checked) {\n setSelection(selection.add(state.id));\n } else {\n selection.delete(state.id);\n setSelection(selection);\n }\n }\n if (!options?.internal) {\n onChange(e, state);\n }\n };\n const context = {\n selectionMode,\n onChange: handleChange,\n radioName,\n selection\n };\n return /* @__PURE__ */ jsx(SelectCardContext.Provider, { value: context, children });\n};\nconst useSelectCardContext = () => useContext(SelectCardContext);\n\nconst SelectCardGroup = forwardRef((props, _ref) => {\n const {\n ariaLabelledBy,\n children,\n legend,\n onChange,\n required = false,\n selectionMode,\n ...rest\n } = props;\n return /* @__PURE__ */ jsxs(SelectCardProvider, { onChange, selectionMode, children: [\n selectionMode === \"multiple\" && /* @__PURE__ */ jsx(\n CheckboxGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n ),\n selectionMode === \"single\" && /* @__PURE__ */ jsx(\n RadioGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n )\n ] });\n});\nSelectCardGroup.displayName = \"SelectCardGroup\";\n\nconst SelectCardElement = forwardRef(\n (props, ref) => {\n const {\n checkboxProps,\n children,\n checked: checkedProp,\n className,\n defaultChecked: defaultCheckedProp,\n disabled,\n errored,\n radioProps,\n onChange,\n removeDropShadow,\n id,\n ...rest\n } = props;\n const [checked, setChecked] = useOptionallyControlledState({\n controlledValue: checkedProp,\n defaultValue: defaultCheckedProp || false,\n onChange\n });\n const context = useSelectCardContext();\n const [_, setForceRenderCount] = useState(0);\n useLayoutEffect(() => {\n if (defaultCheckedProp) {\n context?.onChange(\n void 0,\n {\n id,\n checked: defaultCheckedProp\n },\n { internal: true }\n );\n setForceRenderCount((prev) => prev + 1);\n }\n }, []);\n const handleChange = (event) => {\n const newChecked = event ? event.target.checked : false;\n setChecked(newChecked);\n context?.onChange(event, {\n id,\n checked: newChecked\n });\n };\n const isChecked = context ? context.selection.has(id) : checked;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n (!context || context?.selectionMode === \"multiple\") && /* @__PURE__ */ jsx(\n Checkbox,\n {\n ...checkboxProps,\n defaultChecked: defaultCheckedProp,\n onChange: handleChange,\n disabled,\n ref,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(styles[\"select-card\"], className, {\n [styles[\"select-card--remove-drop-shadow\"]]: removeDropShadow,\n [styles[\"select-card--selected\"]]: isChecked && !errored,\n [styles[\"select-card--errored\"]]: errored,\n [styles[\"select-card--disabled\"]]: disabled\n }),\n children\n }\n ),\n hideCheckbox: true\n }\n ),\n context?.selectionMode === \"single\" && /* @__PURE__ */ jsx(\n Radio,\n {\n ...radioProps,\n defaultChecked: defaultCheckedProp,\n onChange: handleChange,\n disabled,\n ref,\n name: context.radioName,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(styles[\"select-card\"], className, {\n [styles[\"select-card--remove-drop-shadow\"]]: removeDropShadow,\n [styles[\"select-card--selected\"]]: isChecked && !errored,\n [styles[\"select-card--errored\"]]: errored,\n [styles[\"select-card--disabled\"]]: disabled\n }),\n children\n }\n ),\n hideRadio: true\n }\n )\n ] });\n }\n);\nSelectCardElement.displayName = \"SelectCard\";\nconst SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: SelectCardGroup\n});\n\nexport { SelectCard as S, SelectCardGroup as a };\n//# sourceMappingURL=SelectCard-DUNwYa5y.js.map\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectCard-LSAl_7Lh-BYtfe9PC.js","sources":["../../hammer-react/dist/SelectCard-LSAl_7Lh.js"],"sourcesContent":["import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { useContext, useState, useId, createContext, forwardRef, useLayoutEffect } from 'react';\nimport { C as Card } from './Card-ZknG-yim.js';\nimport { a as RadioGroup, R as Radio } from './Radio-DQ_VQFGZ.js';\nimport cx from 'classnames';\nimport { a as CheckboxGroup, C as Checkbox } from './Checkbox-DyHm7Ntt.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';\n\nimport './SelectCard.css';const styles = {\n\t\"select-card\": \"_select-card_3pbcy_2\",\n\t\"select-card--errored\": \"_select-card--errored_3pbcy_22\",\n\t\"select-card--selected\": \"_select-card--selected_3pbcy_25\",\n\t\"select-card--disabled\": \"_select-card--disabled_3pbcy_41\",\n\t\"select-card--remove-drop-shadow\": \"_select-card--remove-drop-shadow_3pbcy_45\"\n};\n\nconst SelectCardContext = createContext(null);\nconst SelectCardProvider = ({\n children,\n onChange,\n selectionMode\n}) => {\n const [selection, setSelection] = useState(/* @__PURE__ */ new Set());\n const radioName = useId();\n const handleChange = (e, state, options) => {\n if (!state || !state.id) {\n if (!options?.internal) {\n onChange(e, state);\n }\n return;\n }\n if (selectionMode === \"single\") {\n if (state.checked) {\n setSelection(/* @__PURE__ */ new Set([state.id]));\n } else {\n setSelection(/* @__PURE__ */ new Set());\n }\n } else {\n if (state.checked) {\n setSelection(selection.add(state.id));\n } else {\n selection.delete(state.id);\n setSelection(selection);\n }\n }\n if (!options?.internal) {\n onChange(e, state);\n }\n };\n const context = {\n selectionMode,\n onChange: handleChange,\n radioName,\n selection\n };\n return /* @__PURE__ */ jsx(SelectCardContext.Provider, { value: context, children });\n};\nconst useSelectCardContext = () => useContext(SelectCardContext);\n\nconst SelectCardGroup = forwardRef((props, _ref) => {\n const {\n ariaLabelledBy,\n children,\n legend,\n onChange,\n required = false,\n selectionMode,\n ...rest\n } = props;\n return /* @__PURE__ */ jsxs(SelectCardProvider, { onChange, selectionMode, children: [\n selectionMode === \"multiple\" && /* @__PURE__ */ jsx(\n CheckboxGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n ),\n selectionMode === \"single\" && /* @__PURE__ */ jsx(\n RadioGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n )\n ] });\n});\nSelectCardGroup.displayName = \"SelectCardGroup\";\n\nconst SelectCardElement = forwardRef(\n (props, ref) => {\n const {\n checkboxProps,\n children,\n checked: checkedProp,\n className,\n defaultChecked: defaultCheckedProp,\n disabled,\n errored,\n radioProps,\n onChange,\n removeDropShadow,\n id,\n ...rest\n } = props;\n const [checked, setChecked] = useOptionallyControlledState({\n controlledValue: checkedProp,\n defaultValue: defaultCheckedProp || false,\n onChange\n });\n const context = useSelectCardContext();\n const [_, setForceRenderCount] = useState(0);\n useLayoutEffect(() => {\n if (defaultCheckedProp) {\n context?.onChange(\n void 0,\n {\n id,\n checked: defaultCheckedProp\n },\n { internal: true }\n );\n setForceRenderCount((prev) => prev + 1);\n }\n }, []);\n const handleChange = (event) => {\n const newChecked = event ? event.target.checked : false;\n setChecked(newChecked);\n context?.onChange(event, {\n id,\n checked: newChecked\n });\n };\n const isChecked = context ? context.selection.has(id) : checked;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n (!context || context?.selectionMode === \"multiple\") && /* @__PURE__ */ jsx(\n Checkbox,\n {\n ...checkboxProps,\n defaultChecked: defaultCheckedProp,\n onChange: handleChange,\n disabled,\n ref,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(styles[\"select-card\"], className, {\n [styles[\"select-card--remove-drop-shadow\"]]: removeDropShadow,\n [styles[\"select-card--selected\"]]: isChecked && !errored,\n [styles[\"select-card--errored\"]]: errored,\n [styles[\"select-card--disabled\"]]: disabled\n }),\n children\n }\n ),\n hideCheckbox: true\n }\n ),\n context?.selectionMode === \"single\" && /* @__PURE__ */ jsx(\n Radio,\n {\n ...radioProps,\n defaultChecked: defaultCheckedProp,\n onChange: handleChange,\n disabled,\n ref,\n name: context.radioName,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(styles[\"select-card\"], className, {\n [styles[\"select-card--remove-drop-shadow\"]]: removeDropShadow,\n [styles[\"select-card--selected\"]]: isChecked && !errored,\n [styles[\"select-card--errored\"]]: errored,\n [styles[\"select-card--disabled\"]]: disabled\n }),\n children\n }\n ),\n hideRadio: true\n }\n )\n ] });\n }\n);\nSelectCardElement.displayName = \"SelectCard\";\nconst SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: SelectCardGroup\n});\n\nexport { SelectCard as S, SelectCardGroup as a };\n//# sourceMappingURL=SelectCard-LSAl_7Lh.js.map\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup, S as default } from './SelectCardGroup-YGYiBv5M.js';
1
+ export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup, S as default } from './SelectCardGroup-u_QKdeRZ.js';
2
2
  //# sourceMappingURL=SelectCard.js.map
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
- import { S as SelectCardGroup$1, a as SelectCard$1 } from './SelectCard-DUNwYa5y-BSi21Aba.js';
3
+ import { S as SelectCardGroup$1, a as SelectCard$1 } from './SelectCard-LSAl_7Lh-BYtfe9PC.js';
4
4
 
5
5
  const SelectCardElement = forwardRef(
6
6
  (props, ref) => {
@@ -46,4 +46,4 @@ const SelectCardGroup = forwardRef(
46
46
  SelectCardGroup.displayName = SelectCardGroup$1.displayName;
47
47
 
48
48
  export { SelectCard as S, SelectCardGroup as a, SelectCardElement as b };
49
- //# sourceMappingURL=SelectCardGroup-YGYiBv5M.js.map
49
+ //# sourceMappingURL=SelectCardGroup-u_QKdeRZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCardGroup-YGYiBv5M.js","sources":["../src/components/SelectCard/SelectCard.tsx","../src/components/SelectCard/SelectCardGroup.tsx"],"sourcesContent":["import {\n SelectCardProps as CoreSelectCardProps,\n SelectCard as CoreSelectCard,\n SelectCardGroup as CoreSelectCardGroup,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the SelectCard component\n * @property {Omit<CheckboxProps, \"label\">} [checkboxProps] - Passes props to the underlying Checkbox component\n * @property {boolean} [checked] - Controlled state. When provided, the component becomes controlled\n * @property {boolean} [defaultChecked] - Uncontrolled state\n * @property {boolean} [disabled] - When true, disables the card\n * @property {boolean} [errored] - When true, sets error styling on the card\n * @property {string | number} id - A unique identifier for the card, used to track the selection state\n * @property {(value: boolean) => void} onChange - Function called on selection state change\n * @property {Omit<RadioProps, \"label\">} [radioProps] - Passes props to the underlying Radio component\n * @extends CoreSelectCardProps\n */\nexport type SelectCardProps = CoreSelectCardProps;\n\nexport const SelectCardElement = forwardRef(\n (props: SelectCardProps, ref: Ref<HTMLInputElement>) => {\n return <CoreSelectCard ref={ref} {...props} />;\n },\n);\nSelectCardElement.displayName = CoreSelectCard.displayName;\n\n/**\n * SelectCard component for creating interactive card-based selection interfaces.\n *\n * Features:\n * - Supports both single selection (radio) and multiple selection (checkbox) modes\n * - Automatic context detection for selection behavior\n * - Visual feedback for selected, disabled, and error states\n * - Accessible with proper ARIA roles and keyboard navigation\n * - Customizable styling through Card component props\n * - Hover and focus states with smooth transitions\n * - Integration with SelectCardGroup for grouped selection\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCard\n * id=\"option-1\"\n * onChange={(checked) => console.log('Selected:', checked)}\n * >\n * <Text variant=\"headline\" size=\"small\">Option 1</Text>\n * <Text>Description of option 1</Text>\n * </SelectCard>\n */\nexport const SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: CoreSelectCardGroup,\n});\n","import {\n SelectCardGroupProps as CoreSelectCardGroupProps,\n SelectCardGroup as CoreSelectCardGroup,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the SelectCardGroup component\n * @property {string} [ariaLabelledBy] - Associates the legend with content below\n * @property {ReactNode} [children] - Child SelectCard components\n * @property {CheckboxGroupProps[\"legend\"]} legend - Sets the legend on the group\n * @property {boolean} [required] - When true, sets \"required\" text in label. This does not enforce error when nothing is selected\n * @property {(e?: ChangeEvent<HTMLInputElement>, state?: ISelectCardState) => void} onChange - Callback function that is triggered when the selection state changes\n * @property {\"single\" | \"multiple\"} selectionMode - Sets how many cards the user can select, either 'single' (radio buttons) or 'multiple' (checkboxes)\n * @extends CoreSelectCardGroupProps\n */\nexport type SelectCardGroupProps = CoreSelectCardGroupProps;\n\n/**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n * - Integrates with CheckboxGroup and RadioGroup for proper form semantics\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCardGroup\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCardGroup>\n */\nexport const SelectCardGroup = forwardRef(\n (props: SelectCardGroupProps, ref: Ref<HTMLInputElement>) => {\n return <CoreSelectCardGroup ref={ref} {...props} />;\n },\n);\nSelectCardGroup.displayName = CoreSelectCardGroup.displayName;\n"],"names":["CoreSelectCard","CoreSelectCardGroup"],"mappings":";;;;AAqBO,MAAM,iBAAoB,GAAA,UAAA;AAAA,EAC/B,CAAC,OAAwB,GAA+B,KAAA;AACtD,IAAA,uBAAQ,GAAA,CAAAA,YAAA,EAAA,EAAe,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEhD;AACA,iBAAA,CAAkB,cAAcA,YAAe,CAAA,WAAA;AAwBlC,MAAA,UAAA,GAAa,MAAO,CAAA,MAAA,CAAO,iBAAmB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BzD,KAAO,EAAAC;AACT,CAAC;;ACjCM,MAAM,eAAkB,GAAA,UAAA;AAAA,EAC7B,CAAC,OAA6B,GAA+B,KAAA;AAC3D,IAAA,uBAAQ,GAAA,CAAAA,iBAAA,EAAA,EAAoB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAErD;AACA,eAAA,CAAgB,cAAcA,iBAAoB,CAAA,WAAA;;;;"}
1
+ {"version":3,"file":"SelectCardGroup-u_QKdeRZ.js","sources":["../src/components/SelectCard/SelectCard.tsx","../src/components/SelectCard/SelectCardGroup.tsx"],"sourcesContent":["import {\n SelectCardProps as CoreSelectCardProps,\n SelectCard as CoreSelectCard,\n SelectCardGroup as CoreSelectCardGroup,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the SelectCard component\n * @property {Omit<CheckboxProps, \"label\">} [checkboxProps] - Passes props to the underlying Checkbox component\n * @property {boolean} [checked] - Controlled state. When provided, the component becomes controlled\n * @property {boolean} [defaultChecked] - Uncontrolled state\n * @property {boolean} [disabled] - When true, disables the card\n * @property {boolean} [errored] - When true, sets error styling on the card\n * @property {string | number} id - A unique identifier for the card, used to track the selection state\n * @property {(value: boolean) => void} onChange - Function called on selection state change\n * @property {Omit<RadioProps, \"label\">} [radioProps] - Passes props to the underlying Radio component\n * @extends CoreSelectCardProps\n */\nexport type SelectCardProps = CoreSelectCardProps;\n\nexport const SelectCardElement = forwardRef(\n (props: SelectCardProps, ref: Ref<HTMLInputElement>) => {\n return <CoreSelectCard ref={ref} {...props} />;\n },\n);\nSelectCardElement.displayName = CoreSelectCard.displayName;\n\n/**\n * SelectCard component for creating interactive card-based selection interfaces.\n *\n * Features:\n * - Supports both single selection (radio) and multiple selection (checkbox) modes\n * - Automatic context detection for selection behavior\n * - Visual feedback for selected, disabled, and error states\n * - Accessible with proper ARIA roles and keyboard navigation\n * - Customizable styling through Card component props\n * - Hover and focus states with smooth transitions\n * - Integration with SelectCardGroup for grouped selection\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCard\n * id=\"option-1\"\n * onChange={(checked) => console.log('Selected:', checked)}\n * >\n * <Text variant=\"headline\" size=\"small\">Option 1</Text>\n * <Text>Description of option 1</Text>\n * </SelectCard>\n */\nexport const SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: CoreSelectCardGroup,\n});\n","import {\n SelectCardGroupProps as CoreSelectCardGroupProps,\n SelectCardGroup as CoreSelectCardGroup,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the SelectCardGroup component\n * @property {string} [ariaLabelledBy] - Associates the legend with content below\n * @property {ReactNode} [children] - Child SelectCard components\n * @property {CheckboxGroupProps[\"legend\"]} legend - Sets the legend on the group\n * @property {boolean} [required] - When true, sets \"required\" text in label. This does not enforce error when nothing is selected\n * @property {(e?: ChangeEvent<HTMLInputElement>, state?: ISelectCardState) => void} onChange - Callback function that is triggered when the selection state changes\n * @property {\"single\" | \"multiple\"} selectionMode - Sets how many cards the user can select, either 'single' (radio buttons) or 'multiple' (checkboxes)\n * @extends CoreSelectCardGroupProps\n */\nexport type SelectCardGroupProps = CoreSelectCardGroupProps;\n\n/**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n * - Integrates with CheckboxGroup and RadioGroup for proper form semantics\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCardGroup\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCardGroup>\n */\nexport const SelectCardGroup = forwardRef(\n (props: SelectCardGroupProps, ref: Ref<HTMLInputElement>) => {\n return <CoreSelectCardGroup ref={ref} {...props} />;\n },\n);\nSelectCardGroup.displayName = CoreSelectCardGroup.displayName;\n"],"names":["CoreSelectCard","CoreSelectCardGroup"],"mappings":";;;;AAqBO,MAAM,iBAAoB,GAAA,UAAA;AAAA,EAC/B,CAAC,OAAwB,GAA+B,KAAA;AACtD,IAAA,uBAAQ,GAAA,CAAAA,YAAA,EAAA,EAAe,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEhD;AACA,iBAAA,CAAkB,cAAcA,YAAe,CAAA,WAAA;AAwBlC,MAAA,UAAA,GAAa,MAAO,CAAA,MAAA,CAAO,iBAAmB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BzD,KAAO,EAAAC;AACT,CAAC;;ACjCM,MAAM,eAAkB,GAAA,UAAA;AAAA,EAC7B,CAAC,OAA6B,GAA+B,KAAA;AAC3D,IAAA,uBAAQ,GAAA,CAAAA,iBAAA,EAAA,EAAoB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAErD;AACA,eAAA,CAAgB,cAAcA,iBAAoB,CAAA,WAAA;;;;"}
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { useTrackingId } from './useTrackingId.js';
4
4
  import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
5
- import { T as TextField$1 } from './TextField-CRTh0gL_-D2CjcYXX.js';
5
+ import { T as TextField$1 } from './TextField-DoPP1CQ--UWAOTYiv.js';
6
6
 
7
7
  const TextField = forwardRef(
8
8
  (props, ref) => {
@@ -26,4 +26,4 @@ const TextField = forwardRef(
26
26
  TextField.displayName = TextField$1.displayName;
27
27
 
28
28
  export { TextField as T };
29
- //# sourceMappingURL=TextField-gYAqTpcX.js.map
29
+ //# sourceMappingURL=TextField-B364hxo8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField-gYAqTpcX.js","sources":["../src/components/TextField/TextField.tsx"],"sourcesContent":["import {\n TextFieldProps as CoreTextFieldProps,\n TextField as CoreTextField,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DistributiveOmit } from \"../../types\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type TextFieldProps = DistributiveOmit<CoreTextFieldProps, \"prefix\"> &\n DataTrackingId & {\n prefix?: string;\n };\n\nexport const TextField = forwardRef(\n (props: TextFieldProps, ref: Ref<HTMLInputElement>) => {\n const data = {\n label: childrenToString(props.label),\n labelProps: props.labelProps,\n prefix: childrenToString(props.prefix),\n hint: childrenToString(props.hint),\n description: childrenToString(props.description),\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"TextField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreTextField ref={ref} data-tracking-id={trackingId} {...props} />;\n },\n);\nTextField.displayName = CoreTextField.displayName;\n"],"names":["CoreTextField"],"mappings":";;;;;;AAeO,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,CAAC,OAAuB,GAA+B,KAAA;AACrD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,KAAA,EAAO,gBAAiB,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MACnC,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,MAAA,EAAQ,gBAAiB,CAAA,KAAA,CAAM,MAAM,CAAA;AAAA,MACrC,IAAA,EAAM,gBAAiB,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACjC,WAAA,EAAa,gBAAiB,CAAA,KAAA,CAAM,WAAW,CAAA;AAAA,MAC/C,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,KAAM,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,WAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BAAQA,WAAc,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAE7E;AACA,SAAA,CAAU,cAAcA,WAAc,CAAA,WAAA;;;;"}
1
+ {"version":3,"file":"TextField-B364hxo8.js","sources":["../src/components/TextField/TextField.tsx"],"sourcesContent":["import {\n TextFieldProps as CoreTextFieldProps,\n TextField as CoreTextField,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DistributiveOmit } from \"../../types\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type TextFieldProps = DistributiveOmit<CoreTextFieldProps, \"prefix\"> &\n DataTrackingId & {\n prefix?: string;\n };\n\nexport const TextField = forwardRef(\n (props: TextFieldProps, ref: Ref<HTMLInputElement>) => {\n const data = {\n label: childrenToString(props.label),\n labelProps: props.labelProps,\n prefix: childrenToString(props.prefix),\n hint: childrenToString(props.hint),\n description: childrenToString(props.description),\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"TextField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreTextField ref={ref} data-tracking-id={trackingId} {...props} />;\n },\n);\nTextField.displayName = CoreTextField.displayName;\n"],"names":["CoreTextField"],"mappings":";;;;;;AAeO,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,CAAC,OAAuB,GAA+B,KAAA;AACrD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,KAAA,EAAO,gBAAiB,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MACnC,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,MAAA,EAAQ,gBAAiB,CAAA,KAAA,CAAM,MAAM,CAAA;AAAA,MACrC,IAAA,EAAM,gBAAiB,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACjC,WAAA,EAAa,gBAAiB,CAAA,KAAA,CAAM,WAAW,CAAA;AAAA,MAC/C,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,KAAM,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,WAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BAAQA,WAAc,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAE7E;AACA,SAAA,CAAU,cAAcA,WAAc,CAAA,WAAA;;;;"}
@@ -4,8 +4,8 @@ import { c as cx } from './index-tZvMCc77.js';
4
4
  import { L as Label } from './ProgressBar-BRvB-bD4-DppwBrFg.js';
5
5
  import { S as Spinner } from './Spinner-DliJVzdW-BQlZEj4V.js';
6
6
  import { t as textfieldStyles } from './TextField.module-EkKlj66e-EkKlj66e.js';
7
- import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
8
7
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js';
8
+ import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L-DbDuos5L.js';
9
9
  import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
10
10
  import { H as Helper } from './Helper-h7k80qls-DHPFHTvI.js';
11
11
 
@@ -176,4 +176,4 @@ const TextFieldElement = forwardRef(
176
176
  const TextField = Object.assign(TextFieldElement, {});
177
177
 
178
178
  export { TextField as T };
179
- //# sourceMappingURL=TextField-CRTh0gL_-D2CjcYXX.js.map
179
+ //# sourceMappingURL=TextField-DoPP1CQ--UWAOTYiv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField-CRTh0gL_-D2CjcYXX.js","sources":["../../hammer-react/dist/TextField-CRTh0gL_.js"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useState, useMemo, useId } from 'react';\nimport cx from 'classnames';\nimport { L as Label } from './ProgressBar-BRvB-bD4.js';\nimport { S as Spinner } from './Spinner-DliJVzdW.js';\nimport { t as textfieldStyles } from './TextField.module-EkKlj66e.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { H as Helper } from './Helper-h7k80qls.js';\n\nconst TextFieldElement = forwardRef(\n function TextField2(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n error,\n errorAriaLive: errorAriaLiveProp = \"assertive\",\n defaultValue: defaultValueProp,\n value: valueProp,\n label,\n moreInfo,\n prefix,\n suffix,\n size,\n type = \"text\",\n required,\n onChange,\n onFocus,\n onBlur,\n id: idProp,\n description,\n hint,\n showCounter,\n maxLength,\n loading,\n disabled,\n labelProps,\n style,\n placeholder,\n ...rest\n } = componentProps;\n const inputRef = useRef(null);\n const [isTyping, setIsTyping] = useState(false);\n const [openInfo, setOpenInfo] = useState(false);\n const [errorAriaLive, setErrorAriaLive] = useState(\"off\");\n const [value, setValue] = useOptionallyControlledState({\n controlledValue: valueProp,\n defaultValue: defaultValueProp\n });\n const length = useMemo(() => {\n if (typeof value === \"string\" || typeof value === \"number\" || Array.isArray(value)) {\n return String(value).length;\n }\n return 0;\n }, [value]);\n const onChangeHandler = (e) => {\n setValue(e.target.value);\n onChange?.(e);\n if (!isTyping) {\n setIsTyping(true);\n }\n };\n const focusHandler = (e) => {\n onFocus?.(e);\n setOpenInfo(true);\n setErrorAriaLive(errorAriaLiveProp);\n };\n const blurHandler = (e) => {\n onBlur?.(e);\n setOpenInfo(false);\n setErrorAriaLive(\"off\");\n if (isTyping) {\n setIsTyping(false);\n }\n };\n const labelUid = useId();\n const id = idProp ?? labelUid;\n const prefixUid = useId();\n const suffixUid = useId();\n const helperUid = useId();\n const errorMessage = typeof error !== \"boolean\" ? error : void 0;\n const styleCombined = { ...style, ...layoutStyles };\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx(textfieldStyles[\"textfield\"], className),\n \"data-anv\": \"textfield\",\n style: styleCombined,\n children: [\n label && /* @__PURE__ */ jsx(\n Label,\n {\n moreInfo,\n openMoreInfo: openInfo,\n required,\n htmlFor: id,\n ...labelProps,\n children: label\n }\n ),\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx(textfieldStyles[\"input-wrapper\"], {\n [textfieldStyles[\"small\"]]: size === \"small\",\n [textfieldStyles[\"large\"]]: size === \"large\"\n }),\n role: \"presentation\",\n onClick: () => inputRef.current?.focus(),\n children: [\n prefix ? /* @__PURE__ */ jsx(\n \"div\",\n {\n \"aria-hidden\": true,\n className: textfieldStyles[\"prefix\"],\n id: `prefix${prefixUid}`,\n children: prefix\n }\n ) : null,\n /* @__PURE__ */ jsx(\n \"input\",\n {\n id,\n className: cx(textfieldStyles[\"input\"], {\n [textfieldStyles[\"error\"]]: error\n }),\n onChange: onChangeHandler,\n onFocus: focusHandler,\n onBlur: blurHandler,\n ref: useMergeRefs([ref, inputRef]),\n required,\n maxLength,\n placeholder,\n type,\n disabled,\n value: value ?? \"\",\n ...rest,\n \"aria-label\": label ? void 0 : placeholder,\n \"aria-describedby\": helperUid,\n \"aria-invalid\": error ? !!error : void 0\n }\n ),\n loading ? /* @__PURE__ */ jsx(\"div\", { className: textfieldStyles[\"loading-spinner-wrapper\"], children: /* @__PURE__ */ jsx(Spinner, {}) }) : null,\n suffix ? /* @__PURE__ */ jsx(\n \"div\",\n {\n className: textfieldStyles[\"suffix\"],\n \"aria-hidden\": true,\n id: `suffix${suffixUid}`,\n children: suffix\n }\n ) : null\n ]\n }\n ),\n hint || showCounter || errorMessage || description ? /* @__PURE__ */ jsx(\n Helper,\n {\n id: helperUid,\n hint,\n maxLength,\n inputLength: length,\n isTyping,\n showCounter,\n errorMessage,\n errorAriaLive,\n description\n }\n ) : null\n ]\n }\n );\n }\n);\nconst TextField = Object.assign(TextFieldElement, {});\n\nexport { TextField as T };\n//# sourceMappingURL=TextField-CRTh0gL_.js.map\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextField-DoPP1CQ--UWAOTYiv.js","sources":["../../hammer-react/dist/TextField-DoPP1CQ-.js"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useState, useMemo, useId } from 'react';\nimport cx from 'classnames';\nimport { L as Label } from './ProgressBar-BRvB-bD4.js';\nimport { S as Spinner } from './Spinner-DliJVzdW.js';\nimport { t as textfieldStyles } from './TextField.module-EkKlj66e.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { H as Helper } from './Helper-h7k80qls.js';\n\nconst TextFieldElement = forwardRef(\n function TextField2(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n error,\n errorAriaLive: errorAriaLiveProp = \"assertive\",\n defaultValue: defaultValueProp,\n value: valueProp,\n label,\n moreInfo,\n prefix,\n suffix,\n size,\n type = \"text\",\n required,\n onChange,\n onFocus,\n onBlur,\n id: idProp,\n description,\n hint,\n showCounter,\n maxLength,\n loading,\n disabled,\n labelProps,\n style,\n placeholder,\n ...rest\n } = componentProps;\n const inputRef = useRef(null);\n const [isTyping, setIsTyping] = useState(false);\n const [openInfo, setOpenInfo] = useState(false);\n const [errorAriaLive, setErrorAriaLive] = useState(\"off\");\n const [value, setValue] = useOptionallyControlledState({\n controlledValue: valueProp,\n defaultValue: defaultValueProp\n });\n const length = useMemo(() => {\n if (typeof value === \"string\" || typeof value === \"number\" || Array.isArray(value)) {\n return String(value).length;\n }\n return 0;\n }, [value]);\n const onChangeHandler = (e) => {\n setValue(e.target.value);\n onChange?.(e);\n if (!isTyping) {\n setIsTyping(true);\n }\n };\n const focusHandler = (e) => {\n onFocus?.(e);\n setOpenInfo(true);\n setErrorAriaLive(errorAriaLiveProp);\n };\n const blurHandler = (e) => {\n onBlur?.(e);\n setOpenInfo(false);\n setErrorAriaLive(\"off\");\n if (isTyping) {\n setIsTyping(false);\n }\n };\n const labelUid = useId();\n const id = idProp ?? labelUid;\n const prefixUid = useId();\n const suffixUid = useId();\n const helperUid = useId();\n const errorMessage = typeof error !== \"boolean\" ? error : void 0;\n const styleCombined = { ...style, ...layoutStyles };\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx(textfieldStyles[\"textfield\"], className),\n \"data-anv\": \"textfield\",\n style: styleCombined,\n children: [\n label && /* @__PURE__ */ jsx(\n Label,\n {\n moreInfo,\n openMoreInfo: openInfo,\n required,\n htmlFor: id,\n ...labelProps,\n children: label\n }\n ),\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx(textfieldStyles[\"input-wrapper\"], {\n [textfieldStyles[\"small\"]]: size === \"small\",\n [textfieldStyles[\"large\"]]: size === \"large\"\n }),\n role: \"presentation\",\n onClick: () => inputRef.current?.focus(),\n children: [\n prefix ? /* @__PURE__ */ jsx(\n \"div\",\n {\n \"aria-hidden\": true,\n className: textfieldStyles[\"prefix\"],\n id: `prefix${prefixUid}`,\n children: prefix\n }\n ) : null,\n /* @__PURE__ */ jsx(\n \"input\",\n {\n id,\n className: cx(textfieldStyles[\"input\"], {\n [textfieldStyles[\"error\"]]: error\n }),\n onChange: onChangeHandler,\n onFocus: focusHandler,\n onBlur: blurHandler,\n ref: useMergeRefs([ref, inputRef]),\n required,\n maxLength,\n placeholder,\n type,\n disabled,\n value: value ?? \"\",\n ...rest,\n \"aria-label\": label ? void 0 : placeholder,\n \"aria-describedby\": helperUid,\n \"aria-invalid\": error ? !!error : void 0\n }\n ),\n loading ? /* @__PURE__ */ jsx(\"div\", { className: textfieldStyles[\"loading-spinner-wrapper\"], children: /* @__PURE__ */ jsx(Spinner, {}) }) : null,\n suffix ? /* @__PURE__ */ jsx(\n \"div\",\n {\n className: textfieldStyles[\"suffix\"],\n \"aria-hidden\": true,\n id: `suffix${suffixUid}`,\n children: suffix\n }\n ) : null\n ]\n }\n ),\n hint || showCounter || errorMessage || description ? /* @__PURE__ */ jsx(\n Helper,\n {\n id: helperUid,\n hint,\n maxLength,\n inputLength: length,\n isTyping,\n showCounter,\n errorMessage,\n errorAriaLive,\n description\n }\n ) : null\n ]\n }\n );\n }\n);\nconst TextField = Object.assign(TextFieldElement, {});\n\nexport { TextField as T };\n//# sourceMappingURL=TextField-DoPP1CQ-.js.map\n"],"names":[],"mappings":"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"}
package/dist/TextField.js CHANGED
@@ -1,2 +1,2 @@
1
- export { T as TextField, T as default } from './TextField-gYAqTpcX.js';
1
+ export { T as TextField, T as default } from './TextField-B364hxo8.js';
2
2
  //# sourceMappingURL=TextField.js.map
@@ -7,7 +7,7 @@ import { c as cx } from './index-tZvMCc77.js';
7
7
  import { L as Label } from './ProgressBar-BRvB-bD4-DppwBrFg.js';
8
8
  import { _ as _objectWithoutPropertiesLoose, a as _extends } from './extends-Bg2s_OKl.js';
9
9
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js';
10
- import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
10
+ import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L-DbDuos5L.js';
11
11
  import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
12
12
  import { H as Helper } from './Helper-h7k80qls-DHPFHTvI.js';
13
13
 
@@ -408,4 +408,4 @@ const Textarea = forwardRef(
408
408
  Textarea.displayName = Textarea$1.displayName;
409
409
 
410
410
  export { Textarea as T };
411
- //# sourceMappingURL=Textarea-DohNOiIp.js.map
411
+ //# sourceMappingURL=Textarea-D2AAZ1L3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea-DohNOiIp.js","sources":["../../../node_modules/.pnpm/use-isomorphic-layout-effect@1.2.0_@types+react@18.3.18_react@18.2.0/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../../../node_modules/.pnpm/use-latest@1.3.0_@types+react@18.3.18_react@18.2.0/node_modules/use-latest/dist/use-latest.esm.js","../../../node_modules/.pnpm/use-composed-ref@1.4.0_@types+react@18.3.18_react@18.2.0/node_modules/use-composed-ref/dist/use-composed-ref.esm.js","../../../node_modules/.pnpm/react-textarea-autosize@8.5.5_@types+react@18.3.18_react@18.2.0/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js","../../hammer-react/dist/Textarea-Csm1tE_W.js","../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport { index as default };\n","import React from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\n\nvar useLatest = function useLatest(value) {\n var ref = React.useRef(value);\n useIsomorphicLayoutEffect(function () {\n ref.current = value;\n });\n return ref;\n};\n\nexport { useLatest as default };\n","import React from 'react';\n\n// basically Exclude<React.ClassAttributes<T>[\"ref\"], string>\n\nvar updateRef = function updateRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n ref.current = value;\n};\nvar useComposedRef = function useComposedRef(libRef, userRef) {\n var prevUserRef = React.useRef();\n return React.useCallback(function (instance) {\n libRef.current = instance;\n if (prevUserRef.current) {\n updateRef(prevUserRef.current, null);\n }\n prevUserRef.current = userRef;\n if (!userRef) {\n return;\n }\n updateRef(userRef, instance);\n }, [userRef]);\n};\n\nexport { useComposedRef as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport * as React from 'react';\nimport useLatest from 'use-latest';\nimport useComposedRef from 'use-composed-ref';\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0',\n display: 'block'\n};\nvar forceHiddenStyles = function forceHiddenStyles(node) {\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n};\nvar forceHiddenStyles$1 = forceHiddenStyles;\n\nvar hiddenTextarea = null;\nvar getHeight = function getHeight(node, sizingData) {\n var height = node.scrollHeight;\n if (sizingData.sizingStyle.boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n return height + sizingData.borderSize;\n }\n\n // remove padding, since height = content\n return height - sizingData.paddingSize;\n};\nfunction calculateNodeHeight(sizingData, value, minRows, maxRows) {\n if (minRows === void 0) {\n minRows = 1;\n }\n if (maxRows === void 0) {\n maxRows = Infinity;\n }\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tabindex', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n forceHiddenStyles$1(hiddenTextarea);\n }\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n var paddingSize = sizingData.paddingSize,\n borderSize = sizingData.borderSize,\n sizingStyle = sizingData.sizingStyle;\n var boxSizing = sizingStyle.boxSizing;\n Object.keys(sizingStyle).forEach(function (_key) {\n var key = _key;\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n forceHiddenStyles$1(hiddenTextarea);\n hiddenTextarea.value = value;\n var height = getHeight(hiddenTextarea, sizingData);\n // Double set and calc due to Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1795904\n hiddenTextarea.value = value;\n height = getHeight(hiddenTextarea, sizingData);\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var rowHeight = hiddenTextarea.scrollHeight - paddingSize;\n var minHeight = rowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n var maxHeight = rowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n return [height, rowHeight];\n}\n\nvar noop = function noop() {};\nvar pick = function pick(props, obj) {\n return props.reduce(function (acc, prop) {\n acc[prop] = obj[prop];\n return acc;\n }, {});\n};\n\nvar SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop',\n// non-standard\n'tabSize', 'textIndent',\n// non-standard\n'textRendering', 'textTransform', 'width', 'wordBreak', 'wordSpacing', 'scrollbarGutter'];\nvar isIE = !!document.documentElement.currentStyle ;\nvar getSizingData = function getSizingData(node) {\n var style = window.getComputedStyle(node);\n if (style === null) {\n return null;\n }\n var sizingStyle = pick(SIZING_STYLE, style);\n var boxSizing = sizingStyle.boxSizing;\n\n // probably node is detached from DOM, can't read computed dimensions\n if (boxSizing === '') {\n return null;\n }\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + 'px';\n }\n var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);\n var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);\n return {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize\n };\n};\nvar getSizingData$1 = getSizingData;\n\nfunction useListener(target, type, listener) {\n var latestListener = useLatest(listener);\n React.useLayoutEffect(function () {\n var handler = function handler(ev) {\n return latestListener.current(ev);\n };\n\n // might happen if document.fonts is not defined, for instance\n if (!target) {\n return;\n }\n target.addEventListener(type, handler);\n return function () {\n return target.removeEventListener(type, handler);\n };\n }, []);\n}\nvar useWindowResizeListener = function useWindowResizeListener(listener) {\n useListener(window, 'resize', listener);\n};\nvar useFontsLoadedListener = function useFontsLoadedListener(listener) {\n useListener(document.fonts, 'loadingdone', listener);\n};\n\nvar _excluded = [\"cacheMeasurements\", \"maxRows\", \"minRows\", \"onChange\", \"onHeightChange\"];\nvar TextareaAutosize = function TextareaAutosize(_ref, userRef) {\n var cacheMeasurements = _ref.cacheMeasurements,\n maxRows = _ref.maxRows,\n minRows = _ref.minRows,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$onHeightChange = _ref.onHeightChange,\n onHeightChange = _ref$onHeightChange === void 0 ? noop : _ref$onHeightChange,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n var isControlled = props.value !== undefined;\n var libRef = React.useRef(null);\n var ref = useComposedRef(libRef, userRef);\n var heightRef = React.useRef(0);\n var measurementsCacheRef = React.useRef();\n var resizeTextarea = function resizeTextarea() {\n var node = libRef.current;\n var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData$1(node);\n if (!nodeSizingData) {\n return;\n }\n measurementsCacheRef.current = nodeSizingData;\n var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node.value || node.placeholder || 'x', minRows, maxRows),\n height = _calculateNodeHeight[0],\n rowHeight = _calculateNodeHeight[1];\n if (heightRef.current !== height) {\n heightRef.current = height;\n node.style.setProperty('height', height + \"px\", 'important');\n onHeightChange(height, {\n rowHeight: rowHeight\n });\n }\n };\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n resizeTextarea();\n }\n onChange(event);\n };\n {\n React.useLayoutEffect(resizeTextarea);\n useWindowResizeListener(resizeTextarea);\n useFontsLoadedListener(resizeTextarea);\n return /*#__PURE__*/React.createElement(\"textarea\", _extends({}, props, {\n onChange: handleChange,\n ref: ref\n }));\n }\n};\nvar index = /* #__PURE__ */React.forwardRef(TextareaAutosize);\n\nexport { index as default };\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useState, useMemo, useEffect, useId } from 'react';\nimport cx from 'classnames';\nimport { L as Label } from './ProgressBar-BRvB-bD4.js';\nimport TextareaAutosize from 'react-textarea-autosize';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { H as Helper } from './Helper-h7k80qls.js';\n\nimport './Textarea.css';const textarea = \"_textarea_1p24a_2\";\nconst error = \"_error_1p24a_59\";\nconst disabled = \"_disabled_1p24a_66\";\nconst readonly = \"_readonly_1p24a_76\";\nconst styles = {\n\ttextarea: textarea,\n\t\"has-cols\": \"_has-cols_1p24a_22\",\n\terror: error,\n\tdisabled: disabled,\n\t\"disable-resize\": \"_disable-resize_1p24a_73\",\n\treadonly: readonly\n};\n\nconst Textarea = forwardRef(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n value: valueProp,\n defaultValue: defaultValueProp,\n className,\n disableResize,\n error,\n errorAriaLive: errorAriaLiveProp = \"assertive\",\n hint,\n description,\n label,\n moreInfo,\n onChange,\n required,\n showCounter,\n onFocus,\n onBlur,\n id: idProp,\n maxLength,\n autoHeight,\n labelProps,\n placeholder,\n style,\n ...rest\n } = componentProps;\n const textareaRef = useRef(null);\n const [isTyping, setIsTyping] = useState(false);\n const [openInfo, setOpenInfo] = useState(false);\n const [errorAriaLive, setErrorAriaLive] = useState(\"off\");\n const [ssr, setSSR] = useState(true);\n const [value, setValue] = useOptionallyControlledState({\n controlledValue: valueProp,\n defaultValue: defaultValueProp\n });\n const length = useMemo(() => {\n if (typeof value === \"string\" || typeof value === \"number\" || Array.isArray(value)) {\n return String(value).length;\n }\n return 0;\n }, [value]);\n useEffect(() => {\n setSSR(false);\n }, []);\n const onChangeHandler = (e) => {\n setValue(e.target.value);\n onChange?.(e, { value: e.target.value });\n if (!isTyping) {\n setIsTyping(true);\n }\n };\n const focusHandler = (e) => {\n onFocus?.(e);\n setOpenInfo(true);\n setErrorAriaLive(errorAriaLiveProp);\n };\n const blurHandler = (e) => {\n onBlur?.(e);\n setOpenInfo(false);\n setErrorAriaLive(\"off\");\n if (isTyping) {\n setIsTyping(false);\n }\n };\n const labelUid = useId();\n const id = idProp ?? labelUid;\n const helperUid = useId();\n const errorMessage = typeof error !== \"boolean\" ? error : void 0;\n const textareaClassNames = cx([styles[\"textarea\"]], className, {\n [styles[\"error\"]]: error,\n [styles[\"disable-resize\"]]: disableResize,\n [styles[\"disabled\"]]: rest.disabled,\n [styles[\"readonly\"]]: rest.readOnly,\n [styles[\"has-cols\"]]: rest.cols != null\n });\n const styleCombined = { ...style, ...layoutStyles };\n const TextareaComponent = autoHeight && !ssr ? TextareaAutosize : \"textarea\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: textareaClassNames,\n \"data-anv\": \"textarea\",\n style: styleCombined,\n children: [\n label && /* @__PURE__ */ jsx(\n Label,\n {\n htmlFor: id,\n moreInfo,\n openMoreInfo: openInfo,\n required,\n ...labelProps,\n children: label\n }\n ),\n /* @__PURE__ */ jsx(\n TextareaComponent,\n {\n rows: 3,\n onChange: onChangeHandler,\n onFocus: focusHandler,\n onBlur: blurHandler,\n ref: useMergeRefs([ref, textareaRef]),\n required,\n maxLength,\n id,\n placeholder,\n value: value ?? \"\",\n ...rest,\n \"aria-label\": label ? void 0 : placeholder,\n \"aria-describedby\": helperUid,\n \"aria-invalid\": error ? !!error : void 0\n }\n ),\n hint || showCounter || errorMessage || description ? /* @__PURE__ */ jsx(\n Helper,\n {\n id: helperUid,\n hint,\n maxLength,\n inputLength: length,\n isTyping,\n showCounter,\n errorMessage,\n errorAriaLive,\n description\n }\n ) : null\n ]\n }\n );\n }\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea as T };\n//# sourceMappingURL=Textarea-Csm1tE_W.js.map\n","import {\n TextareaProps as CoreTextareaProps,\n Textarea as CoreTextarea,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the Textarea component\n * @property {HelperProps[\"errorMessage\"] | boolean} [error] - Sets error style on textarea. If string or ReactElement provided, places it under the label and sets error style\n * @property {HelperProps[\"errorAriaLive\"] | boolean} [errorAriaLive] - ARIA live region setting for error announcements\n * @property {ReactElement | string} [hint] - Hint text displayed below the textarea\n * @property {ReactElement | string} [description] - Description text displayed below the textarea\n * @property {string | ReactElement} [label] - Label for textarea (required for accessibility)\n * @property {boolean} [disableResize] - Sets textarea's element no user-controllable method for resizing\n * @property {(e?: ChangeEvent<HTMLTextAreaElement>, state?: TextareaState) => void} [onChange] - Fires on each change of textarea's value\n * @property {boolean} [showCounter] - Show character counter\n * @property {number} [maxLength] - Maximum number of characters allowed\n * @property {boolean} [autoHeight] - Auto height mode on typing\n * @property {number} [maxRows] - Maximum number of rows when auto-height is enabled\n * @property {number} [minRows] - Minimum number of rows when auto-height is enabled\n * @extends Omit<ComponentPropsWithoutRef<\"textarea\">, \"onChange\" | \"required\">\n * @extends LayoutUtilProps\n * @extends FieldLabelProps\n * @extends DataTrackingId\n */\nexport type TextareaProps = CoreTextareaProps & DataTrackingId;\n\n/**\n * Textarea component for multi-line text input with advanced features.\n *\n * Features:\n * - Character counter with maxLength validation\n * - Auto-height adjustment based on content\n * - Error state handling with custom error messages\n * - Hint and description text support\n * - Disable resize functionality\n * - Accessible with proper ARIA attributes\n * - Label association and required field support\n * - Focus and blur event handling\n * - Supports layout utilities for positioning and spacing\n * - SSR-safe auto-height implementation\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Textarea\n * label=\"Description\"\n * placeholder=\"Enter your description here\"\n * onChange={(e, state) => console.log('Value:', state?.value)}\n * />\n *\n * @example\n * <Textarea\n * label=\"Bio\"\n * showCounter\n * maxLength={500}\n * hint=\"Tell us about yourself\"\n * />\n */\nexport const Textarea = forwardRef(\n (props: TextareaProps, ref: Ref<HTMLTextAreaElement>) => {\n const data = {\n label: childrenToString(props.label),\n labelProps: props.labelProps,\n prefix: childrenToString(props.prefix),\n hint: childrenToString(props.hint),\n description: childrenToString(props.description),\n };\n\n const trackingId = useTrackingId({\n name: \"Textarea\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreTextarea ref={ref} data-tracking-id={trackingId} {...props} />;\n },\n);\nTextarea.displayName = CoreTextarea.displayName;\n"],"names":["index","React","useIsomorphicLayoutEffect","Textarea","TextareaAutosize","CoreTextarea"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"Textarea-D2AAZ1L3.js","sources":["../../../node_modules/.pnpm/use-isomorphic-layout-effect@1.2.0_@types+react@18.3.18_react@18.2.0/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../../../node_modules/.pnpm/use-latest@1.3.0_@types+react@18.3.18_react@18.2.0/node_modules/use-latest/dist/use-latest.esm.js","../../../node_modules/.pnpm/use-composed-ref@1.4.0_@types+react@18.3.18_react@18.2.0/node_modules/use-composed-ref/dist/use-composed-ref.esm.js","../../../node_modules/.pnpm/react-textarea-autosize@8.5.5_@types+react@18.3.18_react@18.2.0/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js","../../hammer-react/dist/Textarea-D1k0hfLN.js","../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport { index as default };\n","import React from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\n\nvar useLatest = function useLatest(value) {\n var ref = React.useRef(value);\n useIsomorphicLayoutEffect(function () {\n ref.current = value;\n });\n return ref;\n};\n\nexport { useLatest as default };\n","import React from 'react';\n\n// basically Exclude<React.ClassAttributes<T>[\"ref\"], string>\n\nvar updateRef = function updateRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n ref.current = value;\n};\nvar useComposedRef = function useComposedRef(libRef, userRef) {\n var prevUserRef = React.useRef();\n return React.useCallback(function (instance) {\n libRef.current = instance;\n if (prevUserRef.current) {\n updateRef(prevUserRef.current, null);\n }\n prevUserRef.current = userRef;\n if (!userRef) {\n return;\n }\n updateRef(userRef, instance);\n }, [userRef]);\n};\n\nexport { useComposedRef as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport * as React from 'react';\nimport useLatest from 'use-latest';\nimport useComposedRef from 'use-composed-ref';\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0',\n display: 'block'\n};\nvar forceHiddenStyles = function forceHiddenStyles(node) {\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n};\nvar forceHiddenStyles$1 = forceHiddenStyles;\n\nvar hiddenTextarea = null;\nvar getHeight = function getHeight(node, sizingData) {\n var height = node.scrollHeight;\n if (sizingData.sizingStyle.boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n return height + sizingData.borderSize;\n }\n\n // remove padding, since height = content\n return height - sizingData.paddingSize;\n};\nfunction calculateNodeHeight(sizingData, value, minRows, maxRows) {\n if (minRows === void 0) {\n minRows = 1;\n }\n if (maxRows === void 0) {\n maxRows = Infinity;\n }\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tabindex', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n forceHiddenStyles$1(hiddenTextarea);\n }\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n var paddingSize = sizingData.paddingSize,\n borderSize = sizingData.borderSize,\n sizingStyle = sizingData.sizingStyle;\n var boxSizing = sizingStyle.boxSizing;\n Object.keys(sizingStyle).forEach(function (_key) {\n var key = _key;\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n forceHiddenStyles$1(hiddenTextarea);\n hiddenTextarea.value = value;\n var height = getHeight(hiddenTextarea, sizingData);\n // Double set and calc due to Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1795904\n hiddenTextarea.value = value;\n height = getHeight(hiddenTextarea, sizingData);\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var rowHeight = hiddenTextarea.scrollHeight - paddingSize;\n var minHeight = rowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n var maxHeight = rowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n return [height, rowHeight];\n}\n\nvar noop = function noop() {};\nvar pick = function pick(props, obj) {\n return props.reduce(function (acc, prop) {\n acc[prop] = obj[prop];\n return acc;\n }, {});\n};\n\nvar SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop',\n// non-standard\n'tabSize', 'textIndent',\n// non-standard\n'textRendering', 'textTransform', 'width', 'wordBreak', 'wordSpacing', 'scrollbarGutter'];\nvar isIE = !!document.documentElement.currentStyle ;\nvar getSizingData = function getSizingData(node) {\n var style = window.getComputedStyle(node);\n if (style === null) {\n return null;\n }\n var sizingStyle = pick(SIZING_STYLE, style);\n var boxSizing = sizingStyle.boxSizing;\n\n // probably node is detached from DOM, can't read computed dimensions\n if (boxSizing === '') {\n return null;\n }\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + 'px';\n }\n var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);\n var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);\n return {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize\n };\n};\nvar getSizingData$1 = getSizingData;\n\nfunction useListener(target, type, listener) {\n var latestListener = useLatest(listener);\n React.useLayoutEffect(function () {\n var handler = function handler(ev) {\n return latestListener.current(ev);\n };\n\n // might happen if document.fonts is not defined, for instance\n if (!target) {\n return;\n }\n target.addEventListener(type, handler);\n return function () {\n return target.removeEventListener(type, handler);\n };\n }, []);\n}\nvar useWindowResizeListener = function useWindowResizeListener(listener) {\n useListener(window, 'resize', listener);\n};\nvar useFontsLoadedListener = function useFontsLoadedListener(listener) {\n useListener(document.fonts, 'loadingdone', listener);\n};\n\nvar _excluded = [\"cacheMeasurements\", \"maxRows\", \"minRows\", \"onChange\", \"onHeightChange\"];\nvar TextareaAutosize = function TextareaAutosize(_ref, userRef) {\n var cacheMeasurements = _ref.cacheMeasurements,\n maxRows = _ref.maxRows,\n minRows = _ref.minRows,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$onHeightChange = _ref.onHeightChange,\n onHeightChange = _ref$onHeightChange === void 0 ? noop : _ref$onHeightChange,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n var isControlled = props.value !== undefined;\n var libRef = React.useRef(null);\n var ref = useComposedRef(libRef, userRef);\n var heightRef = React.useRef(0);\n var measurementsCacheRef = React.useRef();\n var resizeTextarea = function resizeTextarea() {\n var node = libRef.current;\n var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData$1(node);\n if (!nodeSizingData) {\n return;\n }\n measurementsCacheRef.current = nodeSizingData;\n var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node.value || node.placeholder || 'x', minRows, maxRows),\n height = _calculateNodeHeight[0],\n rowHeight = _calculateNodeHeight[1];\n if (heightRef.current !== height) {\n heightRef.current = height;\n node.style.setProperty('height', height + \"px\", 'important');\n onHeightChange(height, {\n rowHeight: rowHeight\n });\n }\n };\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n resizeTextarea();\n }\n onChange(event);\n };\n {\n React.useLayoutEffect(resizeTextarea);\n useWindowResizeListener(resizeTextarea);\n useFontsLoadedListener(resizeTextarea);\n return /*#__PURE__*/React.createElement(\"textarea\", _extends({}, props, {\n onChange: handleChange,\n ref: ref\n }));\n }\n};\nvar index = /* #__PURE__ */React.forwardRef(TextareaAutosize);\n\nexport { index as default };\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useState, useMemo, useEffect, useId } from 'react';\nimport cx from 'classnames';\nimport { L as Label } from './ProgressBar-BRvB-bD4.js';\nimport TextareaAutosize from 'react-textarea-autosize';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { H as Helper } from './Helper-h7k80qls.js';\n\nimport './Textarea.css';const textarea = \"_textarea_1p24a_2\";\nconst error = \"_error_1p24a_59\";\nconst disabled = \"_disabled_1p24a_66\";\nconst readonly = \"_readonly_1p24a_76\";\nconst styles = {\n\ttextarea: textarea,\n\t\"has-cols\": \"_has-cols_1p24a_22\",\n\terror: error,\n\tdisabled: disabled,\n\t\"disable-resize\": \"_disable-resize_1p24a_73\",\n\treadonly: readonly\n};\n\nconst Textarea = forwardRef(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n value: valueProp,\n defaultValue: defaultValueProp,\n className,\n disableResize,\n error,\n errorAriaLive: errorAriaLiveProp = \"assertive\",\n hint,\n description,\n label,\n moreInfo,\n onChange,\n required,\n showCounter,\n onFocus,\n onBlur,\n id: idProp,\n maxLength,\n autoHeight,\n labelProps,\n placeholder,\n style,\n ...rest\n } = componentProps;\n const textareaRef = useRef(null);\n const [isTyping, setIsTyping] = useState(false);\n const [openInfo, setOpenInfo] = useState(false);\n const [errorAriaLive, setErrorAriaLive] = useState(\"off\");\n const [ssr, setSSR] = useState(true);\n const [value, setValue] = useOptionallyControlledState({\n controlledValue: valueProp,\n defaultValue: defaultValueProp\n });\n const length = useMemo(() => {\n if (typeof value === \"string\" || typeof value === \"number\" || Array.isArray(value)) {\n return String(value).length;\n }\n return 0;\n }, [value]);\n useEffect(() => {\n setSSR(false);\n }, []);\n const onChangeHandler = (e) => {\n setValue(e.target.value);\n onChange?.(e, { value: e.target.value });\n if (!isTyping) {\n setIsTyping(true);\n }\n };\n const focusHandler = (e) => {\n onFocus?.(e);\n setOpenInfo(true);\n setErrorAriaLive(errorAriaLiveProp);\n };\n const blurHandler = (e) => {\n onBlur?.(e);\n setOpenInfo(false);\n setErrorAriaLive(\"off\");\n if (isTyping) {\n setIsTyping(false);\n }\n };\n const labelUid = useId();\n const id = idProp ?? labelUid;\n const helperUid = useId();\n const errorMessage = typeof error !== \"boolean\" ? error : void 0;\n const textareaClassNames = cx([styles[\"textarea\"]], className, {\n [styles[\"error\"]]: error,\n [styles[\"disable-resize\"]]: disableResize,\n [styles[\"disabled\"]]: rest.disabled,\n [styles[\"readonly\"]]: rest.readOnly,\n [styles[\"has-cols\"]]: rest.cols != null\n });\n const styleCombined = { ...style, ...layoutStyles };\n const TextareaComponent = autoHeight && !ssr ? TextareaAutosize : \"textarea\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: textareaClassNames,\n \"data-anv\": \"textarea\",\n style: styleCombined,\n children: [\n label && /* @__PURE__ */ jsx(\n Label,\n {\n htmlFor: id,\n moreInfo,\n openMoreInfo: openInfo,\n required,\n ...labelProps,\n children: label\n }\n ),\n /* @__PURE__ */ jsx(\n TextareaComponent,\n {\n rows: 3,\n onChange: onChangeHandler,\n onFocus: focusHandler,\n onBlur: blurHandler,\n ref: useMergeRefs([ref, textareaRef]),\n required,\n maxLength,\n id,\n placeholder,\n value: value ?? \"\",\n ...rest,\n \"aria-label\": label ? void 0 : placeholder,\n \"aria-describedby\": helperUid,\n \"aria-invalid\": error ? !!error : void 0\n }\n ),\n hint || showCounter || errorMessage || description ? /* @__PURE__ */ jsx(\n Helper,\n {\n id: helperUid,\n hint,\n maxLength,\n inputLength: length,\n isTyping,\n showCounter,\n errorMessage,\n errorAriaLive,\n description\n }\n ) : null\n ]\n }\n );\n }\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea as T };\n//# sourceMappingURL=Textarea-D1k0hfLN.js.map\n","import {\n TextareaProps as CoreTextareaProps,\n Textarea as CoreTextarea,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the Textarea component\n * @property {HelperProps[\"errorMessage\"] | boolean} [error] - Sets error style on textarea. If string or ReactElement provided, places it under the label and sets error style\n * @property {HelperProps[\"errorAriaLive\"] | boolean} [errorAriaLive] - ARIA live region setting for error announcements\n * @property {ReactElement | string} [hint] - Hint text displayed below the textarea\n * @property {ReactElement | string} [description] - Description text displayed below the textarea\n * @property {string | ReactElement} [label] - Label for textarea (required for accessibility)\n * @property {boolean} [disableResize] - Sets textarea's element no user-controllable method for resizing\n * @property {(e?: ChangeEvent<HTMLTextAreaElement>, state?: TextareaState) => void} [onChange] - Fires on each change of textarea's value\n * @property {boolean} [showCounter] - Show character counter\n * @property {number} [maxLength] - Maximum number of characters allowed\n * @property {boolean} [autoHeight] - Auto height mode on typing\n * @property {number} [maxRows] - Maximum number of rows when auto-height is enabled\n * @property {number} [minRows] - Minimum number of rows when auto-height is enabled\n * @extends Omit<ComponentPropsWithoutRef<\"textarea\">, \"onChange\" | \"required\">\n * @extends LayoutUtilProps\n * @extends FieldLabelProps\n * @extends DataTrackingId\n */\nexport type TextareaProps = CoreTextareaProps & DataTrackingId;\n\n/**\n * Textarea component for multi-line text input with advanced features.\n *\n * Features:\n * - Character counter with maxLength validation\n * - Auto-height adjustment based on content\n * - Error state handling with custom error messages\n * - Hint and description text support\n * - Disable resize functionality\n * - Accessible with proper ARIA attributes\n * - Label association and required field support\n * - Focus and blur event handling\n * - Supports layout utilities for positioning and spacing\n * - SSR-safe auto-height implementation\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Textarea\n * label=\"Description\"\n * placeholder=\"Enter your description here\"\n * onChange={(e, state) => console.log('Value:', state?.value)}\n * />\n *\n * @example\n * <Textarea\n * label=\"Bio\"\n * showCounter\n * maxLength={500}\n * hint=\"Tell us about yourself\"\n * />\n */\nexport const Textarea = forwardRef(\n (props: TextareaProps, ref: Ref<HTMLTextAreaElement>) => {\n const data = {\n label: childrenToString(props.label),\n labelProps: props.labelProps,\n prefix: childrenToString(props.prefix),\n hint: childrenToString(props.hint),\n description: childrenToString(props.description),\n };\n\n const trackingId = useTrackingId({\n name: \"Textarea\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreTextarea ref={ref} data-tracking-id={trackingId} {...props} />;\n },\n);\nTextarea.displayName = CoreTextarea.displayName;\n"],"names":["index","React","useIsomorphicLayoutEffect","Textarea","TextareaAutosize","CoreTextarea"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
package/dist/Textarea.js CHANGED
@@ -1,2 +1,2 @@
1
- export { T as Textarea, T as default } from './Textarea-DohNOiIp.js';
1
+ export { T as Textarea, T as default } from './Textarea-D2AAZ1L3.js';
2
2
  //# sourceMappingURL=Textarea.js.map
@@ -3,14 +3,15 @@ import * as React from 'react';
3
3
  import { forwardRef, useState, useRef, useEffect, useMemo, useCallback, useImperativeHandle } from 'react';
4
4
  import { useTrackingId } from './useTrackingId.js';
5
5
  import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
6
- import { T as TextField } from './TextField-CRTh0gL_-D2CjcYXX.js';
7
- import { u as usePopoverSupport, a as useMaskito, e as maskitoTimeOptionsGenerator, b as maskitoWithPlaceholder } from './usePopoverSupport-B9Lsqryr-DhZHMoNb.js';
6
+ import { T as TextField } from './TextField-DoPP1CQ--UWAOTYiv.js';
7
+ import { u as useMaskito, d as maskitoTimeOptionsGenerator, a as maskitoWithPlaceholder } from './index.esm-dyoPQhi6.js';
8
8
  import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
9
9
  import { c as cx } from './index-tZvMCc77.js';
10
10
  import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
11
11
  import { P as Popover } from './Popover-CU2cGVD8-Casl3vM1.js';
12
12
  import { b as Listbox } from './Listbox-B-WUuj-_-BWWeWtLW.js';
13
- import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
13
+ import { u as usePopoverSupport } from './usePopoverSupport-B9Lsqryr-CYJxXiun.js';
14
+ import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L-DbDuos5L.js';
14
15
  import { u as usePopoverCloseDelayWorkaround } from './usePopoverCloseDelayWorkaround-BZcjPkvT-BZcjPkvT.js';
15
16
 
16
17
  import './TimeField.css';const SvgAccessTime = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24a.71.71 0 0 0-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72z" }));
@@ -910,4 +911,4 @@ const TimeField = forwardRef(
910
911
  TimeField.displayName = TimeField$1.displayName;
911
912
 
912
913
  export { TimeField as T };
913
- //# sourceMappingURL=TimeField-DRHLRqN3.js.map
914
+ //# sourceMappingURL=TimeField-tA9uo4lK.js.map