@servicetitan/anvil2 1.49.5 → 1.49.7

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 (185) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/{Alert-aGBkujwE.js → Alert-DNhUyWVm.js} +3 -2
  3. package/dist/{Alert-aGBkujwE.js.map → Alert-DNhUyWVm.js.map} +1 -1
  4. package/dist/Alert.js +1 -1
  5. package/dist/{Announcement-BPwFNhYe.js → Announcement-BBq8zIQ3.js} +3 -2
  6. package/dist/{Announcement-BPwFNhYe.js.map → Announcement-BBq8zIQ3.js.map} +1 -1
  7. package/dist/Announcement.js +1 -1
  8. package/dist/{Breadcrumbs-DjR-2OEH.js → Breadcrumbs-CfJJlIIa.js} +2 -2
  9. package/dist/{Breadcrumbs-DjR-2OEH.js.map → Breadcrumbs-CfJJlIIa.js.map} +1 -1
  10. package/dist/Breadcrumbs.js +1 -1
  11. package/dist/{Calendar-CLSm88D2.js → Calendar-C9oxHTGG.js} +2 -2
  12. package/dist/{Calendar-CLSm88D2.js.map → Calendar-C9oxHTGG.js.map} +1 -1
  13. package/dist/{Calendar-BP6r1sP9.js → Calendar-CAYitkfM.js} +2 -2
  14. package/dist/{Calendar-BP6r1sP9.js.map → Calendar-CAYitkfM.js.map} +1 -1
  15. package/dist/Calendar.js +2 -2
  16. package/dist/{Checkbox-DwuDx-t4.js → Checkbox-DbBeuNdW.js} +3 -3
  17. package/dist/{Checkbox-DwuDx-t4.js.map → Checkbox-DbBeuNdW.js.map} +1 -1
  18. package/dist/{Checkbox-PkAk1Saq.js → Checkbox-zAKOGEBl.js} +2 -2
  19. package/dist/{Checkbox-PkAk1Saq.js.map → Checkbox-zAKOGEBl.js.map} +1 -1
  20. package/dist/Checkbox.js +2 -2
  21. package/dist/{Chip-X2EwdZ97.js → Chip-UqdorCE2.js} +23 -17
  22. package/dist/Chip-UqdorCE2.js.map +1 -0
  23. package/dist/Chip.js +1 -1
  24. package/dist/{Combobox-DNCq-jkq.js → Combobox-hxGMMb8x.js} +6 -6
  25. package/dist/{Combobox-DNCq-jkq.js.map → Combobox-hxGMMb8x.js.map} +1 -1
  26. package/dist/Combobox.js +1 -1
  27. package/dist/{DataTable-BIhmpU0v.js → DataTable-CUFa7cQK.js} +6 -6
  28. package/dist/{DataTable-BIhmpU0v.js.map → DataTable-CUFa7cQK.js.map} +1 -1
  29. package/dist/{DateField-DsGHTMZ1.js → DateField-BT9jJRp5.js} +5 -5
  30. package/dist/{DateField-DsGHTMZ1.js.map → DateField-BT9jJRp5.js.map} +1 -1
  31. package/dist/DateField.js +1 -1
  32. package/dist/{DateFieldRange-Ct979nxF.js → DateFieldRange-ZAic_9mt.js} +5 -5
  33. package/dist/{DateFieldRange-Ct979nxF.js.map → DateFieldRange-ZAic_9mt.js.map} +1 -1
  34. package/dist/DateFieldRange.js +1 -1
  35. package/dist/{DateFieldSingle-frMHnRSg.js → DateFieldSingle-DAtR8ImE.js} +5 -5
  36. package/dist/{DateFieldSingle-frMHnRSg.js.map → DateFieldSingle-DAtR8ImE.js.map} +1 -1
  37. package/dist/DateFieldSingle.js +1 -1
  38. package/dist/{DateFieldYearless-po9ieLod.js → DateFieldYearless-DXO_MPwA.js} +4 -4
  39. package/dist/{DateFieldYearless-po9ieLod.js.map → DateFieldYearless-DXO_MPwA.js.map} +1 -1
  40. package/dist/DateFieldYearless.js +1 -1
  41. package/dist/{DateFieldYearlessRange-Dy8a8O1n.js → DateFieldYearlessRange-Cg6bbPIi.js} +4 -4
  42. package/dist/{DateFieldYearlessRange-Dy8a8O1n.js.map → DateFieldYearlessRange-Cg6bbPIi.js.map} +1 -1
  43. package/dist/DateFieldYearlessRange.js +1 -1
  44. package/dist/{DaysOfTheWeek-2_k3T4n4.js → DaysOfTheWeek-9B9d7-hF.js} +4 -4
  45. package/dist/{DaysOfTheWeek-2_k3T4n4.js.map → DaysOfTheWeek-9B9d7-hF.js.map} +1 -1
  46. package/dist/DaysOfTheWeek.js +1 -1
  47. package/dist/{Dialog-BT7a5KNT.js → Dialog-UzG6-s9H.js} +13 -13
  48. package/dist/{Dialog-BT7a5KNT.js.map → Dialog-UzG6-s9H.js.map} +1 -1
  49. package/dist/Dialog.css +32 -32
  50. package/dist/Dialog.js +1 -1
  51. package/dist/{Drawer-scQFylHI.js → Drawer-BHK18NYm.js} +12 -12
  52. package/dist/{Drawer-scQFylHI.js.map → Drawer-BHK18NYm.js.map} +1 -1
  53. package/dist/Drawer.css +31 -31
  54. package/dist/Drawer.js +1 -1
  55. package/dist/{FieldLabel-BIStrC2x.js → FieldLabel-jqlQ1Ldh.js} +2 -2
  56. package/dist/{FieldLabel-BIStrC2x.js.map → FieldLabel-jqlQ1Ldh.js.map} +1 -1
  57. package/dist/FieldLabel.js +1 -1
  58. package/dist/{FieldMessage-DWONT3dr.js → FieldMessage-DdCUxZz-.js} +3 -3
  59. package/dist/FieldMessage-DdCUxZz-.js.map +1 -0
  60. package/dist/FieldMessage.js +1 -1
  61. package/dist/{Helper-DjWotFtO.js → Helper-DzVUQgUJ.js} +2 -2
  62. package/dist/{Helper-DjWotFtO.js.map → Helper-DzVUQgUJ.js.map} +1 -1
  63. package/dist/{InputMask-A5LDdyxL.js → InputMask-CJC9xZHG.js} +2 -2
  64. package/dist/{InputMask-A5LDdyxL.js.map → InputMask-CJC9xZHG.js.map} +1 -1
  65. package/dist/InputMask.js +1 -1
  66. package/dist/{Link-DuYh7Xl2.js → Link-CGXEFA9w.js} +13 -4
  67. package/dist/Link-CGXEFA9w.js.map +1 -0
  68. package/dist/Link.css +34 -20
  69. package/dist/Link.js +1 -1
  70. package/dist/Link.module-ByPQQ0zy.js +14 -0
  71. package/dist/Link.module-ByPQQ0zy.js.map +1 -0
  72. package/dist/{LinkButton-pIUNATNE.js → LinkButton-BBCO-4em.js} +5 -2
  73. package/dist/LinkButton-BBCO-4em.js.map +1 -0
  74. package/dist/LinkButton.js +1 -1
  75. package/dist/{ListView-5cRssdYI.js → ListView-D8mfK8Lu.js} +2 -2
  76. package/dist/{ListView-5cRssdYI.js.map → ListView-D8mfK8Lu.js.map} +1 -1
  77. package/dist/ListView.js +1 -1
  78. package/dist/{NumberField-BUFymKV3.js → NumberField-CjWLnD9X.js} +3 -3
  79. package/dist/{NumberField-BUFymKV3.js.map → NumberField-CjWLnD9X.js.map} +1 -1
  80. package/dist/NumberField.js +1 -1
  81. package/dist/{Page-Dgpz2WD7.js → Page-ClI3IOc7.js} +6 -6
  82. package/dist/{Page-Dgpz2WD7.js.map → Page-ClI3IOc7.js.map} +1 -1
  83. package/dist/Page.js +1 -1
  84. package/dist/{Popover-CcMDyKTj.js → Popover-CCXrzBul.js} +27 -6
  85. package/dist/Popover-CCXrzBul.js.map +1 -0
  86. package/dist/Popover.css +40 -9
  87. package/dist/Popover.js +1 -1
  88. package/dist/{ProgressBar-R_UjSR4o.js → ProgressBar-BpKEr6cO.js} +5 -4
  89. package/dist/{ProgressBar-R_UjSR4o.js.map → ProgressBar-BpKEr6cO.js.map} +1 -1
  90. package/dist/ProgressBar.js +1 -1
  91. package/dist/{Radio-CLR1m8N9.js → Radio-jj0-1dOg.js} +2 -2
  92. package/dist/{Radio-CLR1m8N9.js.map → Radio-jj0-1dOg.js.map} +1 -1
  93. package/dist/Radio.js +2 -2
  94. package/dist/{RadioGroup-m46C69uO.js → RadioGroup-Bxy415eu.js} +3 -3
  95. package/dist/{RadioGroup-m46C69uO.js.map → RadioGroup-Bxy415eu.js.map} +1 -1
  96. package/dist/{SearchField-DrgNbG3I.js → SearchField-D6bICv4b.js} +36 -7
  97. package/dist/SearchField-D6bICv4b.js.map +1 -0
  98. package/dist/SearchField.css +13 -8
  99. package/dist/SearchField.js +1 -1
  100. package/dist/{SelectCard-DViLgRGh.js → SelectCard-CjbsPKZ4.js} +3 -3
  101. package/dist/{SelectCard-DViLgRGh.js.map → SelectCard-CjbsPKZ4.js.map} +1 -1
  102. package/dist/SelectCard.js +1 -1
  103. package/dist/SelectField.js +1 -1
  104. package/dist/{SelectFieldSync-DF05HvD4.js → SelectFieldSync-BOzavAtv.js} +132 -19
  105. package/dist/SelectFieldSync-BOzavAtv.js.map +1 -0
  106. package/dist/{SelectTrigger-BSzOoRsu.js → SelectTrigger-DfVnPiNf.js} +2 -2
  107. package/dist/{SelectTrigger-BSzOoRsu.js.map → SelectTrigger-DfVnPiNf.js.map} +1 -1
  108. package/dist/SelectTrigger.js +1 -1
  109. package/dist/{SelectTriggerBase-CfmRIFRs.js → SelectTriggerBase-D8scKtBr.js} +5 -5
  110. package/dist/{SelectTriggerBase-CfmRIFRs.js.map → SelectTriggerBase-D8scKtBr.js.map} +1 -1
  111. package/dist/SelectTriggerBase.css +59 -59
  112. package/dist/SelectTriggerBase.module-Ce49lamD.js +35 -0
  113. package/dist/SelectTriggerBase.module-Ce49lamD.js.map +1 -0
  114. package/dist/{Switch-BXDPs2mD.js → Switch-CGpg2ake.js} +2 -2
  115. package/dist/{Switch-BXDPs2mD.js.map → Switch-CGpg2ake.js.map} +1 -1
  116. package/dist/Switch.js +1 -1
  117. package/dist/Table.js +1 -1
  118. package/dist/{TextField-B08U4_rt.js → TextField-DNuEXKyN.js} +3 -3
  119. package/dist/{TextField-B08U4_rt.js.map → TextField-DNuEXKyN.js.map} +1 -1
  120. package/dist/{TextField-D29fTRGR.js → TextField-Qv6OqiKQ.js} +2 -2
  121. package/dist/{TextField-D29fTRGR.js.map → TextField-Qv6OqiKQ.js.map} +1 -1
  122. package/dist/TextField.js +1 -1
  123. package/dist/{Textarea-Dl4w2-t0.js → Textarea-DdLD4imO.js} +3 -3
  124. package/dist/{Textarea-Dl4w2-t0.js.map → Textarea-DdLD4imO.js.map} +1 -1
  125. package/dist/Textarea.js +1 -1
  126. package/dist/{TimeField-Dpi3fMsn.js → TimeField-C39hYluo.js} +3 -3
  127. package/dist/{TimeField-Dpi3fMsn.js.map → TimeField-C39hYluo.js.map} +1 -1
  128. package/dist/TimeField.js +1 -1
  129. package/dist/Toast.js +2 -2
  130. package/dist/{Toaster-CRNOANCk.js → Toaster-DJ4tNy-0.js} +2 -2
  131. package/dist/{Toaster-CRNOANCk.js.map → Toaster-DJ4tNy-0.js.map} +1 -1
  132. package/dist/{Toaster-B0ogInIl.js → Toaster-DyDVYq4x.js} +148 -53
  133. package/dist/Toaster-DyDVYq4x.js.map +1 -0
  134. package/dist/Toaster.css +95 -71
  135. package/dist/{Toolbar-CPldWSNJ.js → Toolbar-BxYOXLmv.js} +13 -13
  136. package/dist/{Toolbar-CPldWSNJ.js.map → Toolbar-BxYOXLmv.js.map} +1 -1
  137. package/dist/Toolbar.js +1 -1
  138. package/dist/{Tooltip-BbfLb3pI.js → Tooltip-CBy7srE2.js} +2 -2
  139. package/dist/Tooltip-CBy7srE2.js.map +1 -0
  140. package/dist/Tooltip.js +1 -1
  141. package/dist/{YearlessDateInputWithPicker-LiMI-Oer.js → YearlessDateInputWithPicker-DMGx3gE2.js} +2 -2
  142. package/dist/{YearlessDateInputWithPicker-LiMI-Oer.js.map → YearlessDateInputWithPicker-DMGx3gE2.js.map} +1 -1
  143. package/dist/beta/components/SelectField/internal/SelectFieldInput.d.ts +14 -3
  144. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +12 -1
  145. package/dist/beta/components/SelectField/internal/useCombo.d.ts +2 -1
  146. package/dist/beta/components/SelectField/types.d.ts +43 -0
  147. package/dist/beta.js +5 -5
  148. package/dist/check_circle-CM0ukqXv.js +6 -0
  149. package/dist/check_circle-CM0ukqXv.js.map +1 -0
  150. package/dist/components/Chip/Chip.d.ts +2 -1
  151. package/dist/components/Chip/internal/Chip.d.ts +2 -1
  152. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  153. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  154. package/dist/components/Link/internal/Link.d.ts +21 -2
  155. package/dist/components/Link/useLinkStyles.d.ts +1 -1
  156. package/dist/components/LinkButton/LinkButton.d.ts +13 -1
  157. package/dist/components/Popover/internal/PopoverContext.d.ts +1 -0
  158. package/dist/components/Popover/internal/usePopoverContext.d.ts +1 -0
  159. package/dist/components/SearchField/SearchField.d.ts +6 -3
  160. package/dist/components/Stepper/Stepper.d.ts +1 -1
  161. package/dist/components/Stepper/StepperStep.d.ts +1 -1
  162. package/dist/components/Tab/Tab.d.ts +1 -1
  163. package/dist/components/Tab/TabButton.d.ts +1 -1
  164. package/dist/components/Toast/internal/constants.d.ts +16 -0
  165. package/dist/error-DR_wWdYY.js +6 -0
  166. package/dist/error-DR_wWdYY.js.map +1 -0
  167. package/dist/index.js +40 -40
  168. package/dist/{utils-CeT0omsG.js → utils-Bkbn9cyk.js} +2 -2
  169. package/dist/{utils-CeT0omsG.js.map → utils-Bkbn9cyk.js.map} +1 -1
  170. package/package.json +1 -1
  171. package/dist/Chip-X2EwdZ97.js.map +0 -1
  172. package/dist/FieldMessage-DWONT3dr.js.map +0 -1
  173. package/dist/Link-DuYh7Xl2.js.map +0 -1
  174. package/dist/Link.module-Cf17JWod.js +0 -12
  175. package/dist/Link.module-Cf17JWod.js.map +0 -1
  176. package/dist/LinkButton-pIUNATNE.js.map +0 -1
  177. package/dist/Popover-CcMDyKTj.js.map +0 -1
  178. package/dist/SearchField-DrgNbG3I.js.map +0 -1
  179. package/dist/SelectFieldSync-DF05HvD4.js.map +0 -1
  180. package/dist/SelectTriggerBase.module-DUhQNr6j.js +0 -33
  181. package/dist/SelectTriggerBase.module-DUhQNr6j.js.map +0 -1
  182. package/dist/Toaster-B0ogInIl.js.map +0 -1
  183. package/dist/Tooltip-BbfLb3pI.js.map +0 -1
  184. package/dist/check_circle-Dja-C2lM.js +0 -8
  185. package/dist/check_circle-Dja-C2lM.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # @servicetitan/anvil2
2
2
 
3
+ ## 1.49.7
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1738](https://github.com/servicetitan/hammer/pull/1738) [`04af0a9`](https://github.com/servicetitan/hammer/commit/04af0a94a8b489275fb86f7220b03a907e74b33e) Thanks [@omarmeky](https://github.com/omarmeky)! - [Popover]: Reset hover state on programmatic close and guard unmount race condition
8
+
9
+ - [#1658](https://github.com/servicetitan/hammer/pull/1658) [`557849d`](https://github.com/servicetitan/hammer/commit/557849df8ca31a62f25542817ed1608811e081e1) Thanks [@w-a-t-s-o-n](https://github.com/w-a-t-s-o-n)! - [Link] Reduce size of external link icon
10
+
11
+ - [#1751](https://github.com/servicetitan/hammer/pull/1751) [`856d5c0`](https://github.com/servicetitan/hammer/commit/856d5c08a4151aa765641bac4b0a4fa0e8e54ef2) Thanks [@ericag1985](https://github.com/ericag1985)! - [Drawer] Fix body scrolling when dialog is open due to inline style on body
12
+
13
+ - [#1751](https://github.com/servicetitan/hammer/pull/1751) [`856d5c0`](https://github.com/servicetitan/hammer/commit/856d5c08a4151aa765641bac4b0a4fa0e8e54ef2) Thanks [@ericag1985](https://github.com/ericag1985)! - [Dialog] Fix body scrolling when dialog is open due to inline style on body
14
+
15
+ - [#1749](https://github.com/servicetitan/hammer/pull/1749) [`900f38b`](https://github.com/servicetitan/hammer/commit/900f38ba8def3a6ef802e4fad83e83f00a5c0220) Thanks [@ericag1985](https://github.com/ericag1985)! - [Popover] Add a gap bridge between the trigger and content to prevent hover dead zone
16
+
17
+ - [#1658](https://github.com/servicetitan/hammer/pull/1658) [`557849d`](https://github.com/servicetitan/hammer/commit/557849df8ca31a62f25542817ed1608811e081e1) Thanks [@w-a-t-s-o-n](https://github.com/w-a-t-s-o-n)! - [Link] Allow links to inherit `font-size` (bootstrap override)
18
+
19
+ - [#1752](https://github.com/servicetitan/hammer/pull/1752) [`55e5353`](https://github.com/servicetitan/hammer/commit/55e53531ca93374503e92c6d9f9fe9400cbb638f) Thanks [@w-a-t-s-o-n](https://github.com/w-a-t-s-o-n)! - [Toaster] Make expand/collapse button persistent with overflow visual
20
+
21
+ ## 1.49.6
22
+
23
+ ### Patch Changes
24
+
25
+ - [#1737](https://github.com/servicetitan/hammer/pull/1737) [`02368fc`](https://github.com/servicetitan/hammer/commit/02368fc7d3f6a567b7cb3d0bbf3039155812c000) Thanks [@ericag1985](https://github.com/ericag1985)! - [Chip] Add instructions for screen readers on how to close. Fix missing space key support for onClick.
26
+
27
+ - [#1729](https://github.com/servicetitan/hammer/pull/1729) [`7a2af03`](https://github.com/servicetitan/hammer/commit/7a2af035d0904ef5e95fe537ab532e2c678fe607) Thanks [@w-a-t-s-o-n](https://github.com/w-a-t-s-o-n)! - [Tooltip] Use `popover="manual"` to prevent rendering issues in dialogs or state changes
28
+
29
+ - [#1732](https://github.com/servicetitan/hammer/pull/1732) [`cef1ac3`](https://github.com/servicetitan/hammer/commit/cef1ac300d68bdb6829027660c7f5011490c2dd8) Thanks [@pbuckingham-st](https://github.com/pbuckingham-st)! - [Link, useLinkStyles] Deprecate `quiet` prop in favor of `ghost`
30
+
31
+ - [#1735](https://github.com/servicetitan/hammer/pull/1735) [`e8758ee`](https://github.com/servicetitan/hammer/commit/e8758ee157006a43ba81e19934d3a6ec8b5349d8) Thanks [@AdamLantz](https://github.com/AdamLantz)! - **BETA** [SelectField, SelectFieldSync] Add ability to disable individual options.
32
+
33
+ - [#1735](https://github.com/servicetitan/hammer/pull/1735) [`e8758ee`](https://github.com/servicetitan/hammer/commit/e8758ee157006a43ba81e19934d3a6ec8b5349d8) Thanks [@AdamLantz](https://github.com/AdamLantz)! - **BETA** [SelectField, SelectFieldSync] Add field props `error`, `hint`, `description`, `errorAriaLive`, `required`, `disabled`, `readOnly`, `prefix`, and `suffix`.
34
+
35
+ - [#1732](https://github.com/servicetitan/hammer/pull/1732) [`cef1ac3`](https://github.com/servicetitan/hammer/commit/cef1ac300d68bdb6829027660c7f5011490c2dd8) Thanks [@pbuckingham-st](https://github.com/pbuckingham-st)! - [LinkButton] Deprecate `quiet` prop in favor of `ghost`
36
+
37
+ - [#1737](https://github.com/servicetitan/hammer/pull/1737) [`02368fc`](https://github.com/servicetitan/hammer/commit/02368fc7d3f6a567b7cb3d0bbf3039155812c000) Thanks [@ericag1985](https://github.com/ericag1985)! - [Search Field] Add keyboard navigation and keydowns to clear button. Fix clear button target size. Fix labeling of clear button for screen readers.
38
+
3
39
  ## 1.49.5
4
40
 
5
41
  ### Patch Changes
@@ -3,7 +3,8 @@ import { forwardRef } from 'react';
3
3
  import { S as SvgClose } from './close-DZj38AEh.js';
4
4
  import { S as SvgInfo } from './info-CYpG6tcI.js';
5
5
  import { S as SvgWarning } from './warning-c4Wj1rI4.js';
6
- import { S as SvgError, a as SvgCheckCircle } from './check_circle-Dja-C2lM.js';
6
+ import { S as SvgError } from './error-DR_wWdYY.js';
7
+ import { S as SvgCheckCircle } from './check_circle-CM0ukqXv.js';
7
8
  import { I as Icon } from './Icon-BSuTVNaa.js';
8
9
  import { B as Button } from './Button-92_FKAyV.js';
9
10
  import { c as cx } from './index-tZvMCc77.js';
@@ -109,4 +110,4 @@ const Alert = forwardRef(
109
110
  Alert.displayName = "Alert";
110
111
 
111
112
  export { Alert as A };
112
- //# sourceMappingURL=Alert-aGBkujwE.js.map
113
+ //# sourceMappingURL=Alert-DNhUyWVm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert-aGBkujwE.js","sources":["../src/components/Alert/Alert.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, MouseEvent, Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n Svg,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport Warning from \"@servicetitan/hammer-icon/mdi/round/warning.svg\";\nimport Danger from \"@servicetitan/hammer-icon/mdi/round/error.svg\";\nimport Success from \"@servicetitan/hammer-icon/mdi/round/check_circle.svg\";\nimport Icon from \"../Icon\";\nimport Button from \"../Button\";\n\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\n\nimport cx from \"classnames\";\nimport styles from \"./Alert.module.scss\";\n\n/**\n * Props for the Alert component\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends LayoutUtilProps\n * @extends OnCloseProps\n */\nexport type AlertProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n OnCloseProps & {\n /**\n * The visual style of an alert.\n * @default info\n */\n status?: Status;\n /**\n * The title text displayed in the alert.\n */\n title: string;\n } &\n /**\n * Data tracking id\n */\n DataTrackingId;\n\nconst statusIconMap: Record<NonNullable<AlertProps[\"status\"]>, Svg> = {\n info: Info,\n success: Success,\n warning: Warning,\n danger: Danger,\n};\n\n/**\n * Alert component for displaying important messages to users.\n *\n * Features:\n * - Supports different visual styles (info, success, warning, danger)\n * - Optional close button for dismissible alerts\n * - Customizable title and content\n * - Accessible with proper ARIA roles\n * - Includes status-specific icons\n * - Supports layout utilities for positioning and spacing\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Alert\n * title=\"System Update\"\n * onClose={() => console.log('Alert closed')}\n * >\n * The system will be updated tonight.\n * </Alert>\n *\n * @example\n * <Alert\n * status=\"success\"\n * title=\"Operation Complete\"\n * >\n * Your changes have been saved successfully.\n * </Alert>\n */\nexport const Alert = forwardRef(\n (props: AlertProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n className,\n title,\n status = \"info\",\n style,\n onClose,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Alert\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const alertCx = cx(styles[\"alert\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n data-anv=\"alert\"\n role=\"status\"\n className={alertCx}\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <div className={styles[\"top\"]}>\n <span className={styles[\"title-container\"]}>\n {\n <Icon\n size=\"large\"\n className={styles[\"status-icon\"]}\n svg={statusIconMap[status ?? \"info\"]}\n />\n }\n {title}\n </span>\n {!!onClose && (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} alert`}\n />\n </span>\n )}\n </div>\n {children && <div className={styles[\"content\"]}>{children}</div>}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":["Info","Success","Warning","Danger","Close"],"mappings":"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"}
1
+ {"version":3,"file":"Alert-DNhUyWVm.js","sources":["../src/components/Alert/Alert.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, MouseEvent, Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n Svg,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport Warning from \"@servicetitan/hammer-icon/mdi/round/warning.svg\";\nimport Danger from \"@servicetitan/hammer-icon/mdi/round/error.svg\";\nimport Success from \"@servicetitan/hammer-icon/mdi/round/check_circle.svg\";\nimport Icon from \"../Icon\";\nimport Button from \"../Button\";\n\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\n\nimport cx from \"classnames\";\nimport styles from \"./Alert.module.scss\";\n\n/**\n * Props for the Alert component\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends LayoutUtilProps\n * @extends OnCloseProps\n */\nexport type AlertProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n OnCloseProps & {\n /**\n * The visual style of an alert.\n * @default info\n */\n status?: Status;\n /**\n * The title text displayed in the alert.\n */\n title: string;\n } &\n /**\n * Data tracking id\n */\n DataTrackingId;\n\nconst statusIconMap: Record<NonNullable<AlertProps[\"status\"]>, Svg> = {\n info: Info,\n success: Success,\n warning: Warning,\n danger: Danger,\n};\n\n/**\n * Alert component for displaying important messages to users.\n *\n * Features:\n * - Supports different visual styles (info, success, warning, danger)\n * - Optional close button for dismissible alerts\n * - Customizable title and content\n * - Accessible with proper ARIA roles\n * - Includes status-specific icons\n * - Supports layout utilities for positioning and spacing\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Alert\n * title=\"System Update\"\n * onClose={() => console.log('Alert closed')}\n * >\n * The system will be updated tonight.\n * </Alert>\n *\n * @example\n * <Alert\n * status=\"success\"\n * title=\"Operation Complete\"\n * >\n * Your changes have been saved successfully.\n * </Alert>\n */\nexport const Alert = forwardRef(\n (props: AlertProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n className,\n title,\n status = \"info\",\n style,\n onClose,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Alert\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const alertCx = cx(styles[\"alert\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n data-anv=\"alert\"\n role=\"status\"\n className={alertCx}\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <div className={styles[\"top\"]}>\n <span className={styles[\"title-container\"]}>\n {\n <Icon\n size=\"large\"\n className={styles[\"status-icon\"]}\n svg={statusIconMap[status ?? \"info\"]}\n />\n }\n {title}\n </span>\n {!!onClose && (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} alert`}\n />\n </span>\n )}\n </div>\n {children && <div className={styles[\"content\"]}>{children}</div>}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":["Info","Success","Warning","Danger","Close"],"mappings":"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"}
package/dist/Alert.js CHANGED
@@ -1,2 +1,2 @@
1
- export { A as Alert, A as default } from './Alert-aGBkujwE.js';
1
+ export { A as Alert, A as default } from './Alert-DNhUyWVm.js';
2
2
  //# sourceMappingURL=Alert.js.map
@@ -3,7 +3,8 @@ import { forwardRef } from 'react';
3
3
  import { S as SvgClose } from './close-DZj38AEh.js';
4
4
  import { S as SvgInfo } from './info-CYpG6tcI.js';
5
5
  import { S as SvgWarning } from './warning-c4Wj1rI4.js';
6
- import { S as SvgError, a as SvgCheckCircle } from './check_circle-Dja-C2lM.js';
6
+ import { S as SvgError } from './error-DR_wWdYY.js';
7
+ import { S as SvgCheckCircle } from './check_circle-CM0ukqXv.js';
7
8
  import { B as Button } from './Button-92_FKAyV.js';
8
9
  import { I as Icon } from './Icon-BSuTVNaa.js';
9
10
  import { c as cx } from './index-tZvMCc77.js';
@@ -105,4 +106,4 @@ const Announcement = forwardRef(
105
106
  Announcement.displayName = "Announcement";
106
107
 
107
108
  export { Announcement as A };
108
- //# sourceMappingURL=Announcement-BPwFNhYe.js.map
109
+ //# sourceMappingURL=Announcement-BBq8zIQ3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Announcement-BPwFNhYe.js","sources":["../src/components/Announcement/Announcement.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, MouseEvent, Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n Svg,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport Warning from \"@servicetitan/hammer-icon/mdi/round/warning.svg\";\nimport Danger from \"@servicetitan/hammer-icon/mdi/round/error.svg\";\nimport Success from \"@servicetitan/hammer-icon/mdi/round/check_circle.svg\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport Button from \"../Button\";\nimport Icon from \"../Icon\";\n\nimport cx from \"classnames\";\nimport styles from \"./Announcement.module.scss\";\n\n/**\n * Props for the Announcement component\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n * @extends OnCloseProps\n */\nexport type AnnouncementProps = ComponentPropsWithoutRef<\"div\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> &\n OnCloseProps & {\n /**\n * The visual style of the announcement.\n * @default info\n */\n status?: Status;\n /**\n * The title text displayed in the announcement.\n */\n title: string;\n } &\n /**\n * Data tracking id\n */\n DataTrackingId;\n\nconst statusIconMap: Record<NonNullable<AnnouncementProps[\"status\"]>, Svg> = {\n info: Info,\n success: Success,\n warning: Warning,\n danger: Danger,\n};\n\n/**\n * Announcement component for displaying important messages to users.\n *\n * Features:\n * - Supports different visual styles (info, success, warning, danger)\n * - Optional close button for dismissible announcements\n * - Customizable title and content\n * - Accessible with proper ARIA roles\n * - Includes status-specific icons\n * - Supports layout utilities for positioning and spacing\n * - Includes data tracking capabilities\n *\n * @example\n * <Announcement\n * title=\"New Feature\"\n * onClose={() => console.log('Announcement closed')}\n * >\n * Check out our latest feature!\n * </Announcement>\n *\n * @example\n * <Announcement\n * status=\"warning\"\n * title=\"Maintenance Notice\"\n * >\n * Scheduled maintenance will begin in 30 minutes.\n * </Announcement>\n */\nexport const Announcement = forwardRef(\n (props: AnnouncementProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n className,\n title,\n status = \"info\",\n children,\n style,\n onClose,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Announcement\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const AnnouncementCx = cx(styles[\"announcement\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n role=\"status\"\n className={AnnouncementCx}\n data-anv=\"announcement\"\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <span className={styles[\"title-container\"]}>\n <Icon\n size=\"large\"\n className={styles[\"status-icon\"]}\n svg={statusIconMap[status]}\n />\n\n <span className={styles[\"title\"]}>{title}</span>\n </span>\n\n {children}\n\n {onClose ? (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} announcement`}\n />\n </span>\n ) : null}\n </div>\n );\n },\n);\n\nAnnouncement.displayName = \"Announcement\";\n"],"names":["Info","Success","Warning","Danger","Close"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,MAAM,aAAA,GAAuE;AAAA,EAC3E,IAAA,EAAMA,OAAA;AAAA,EACN,OAAA,EAASC,cAAA;AAAA,EACT,OAAA,EAASC,UAAA;AAAA,EACT,MAAA,EAAQC;AACV,CAAA;AA8BO,MAAM,YAAA,GAAe,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAAA,KAA6B;AACtD,IAAA,MAAM,EAAE,YAAA,EAAc,cAAA,EAAe,GAAI,mBAAmB,KAAK,CAAA;AAEjE,IAAA,MAAM;AAAA,MACJ,SAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA,GAAS,MAAA;AAAA,MACT,QAAA;AAAA,MACA,KAAA;AAAA,MACA,OAAA;AAAA,MACA,GAAG;AAAA,KACL,GAAI,cAAA;AAEJ,IAAA,MAAM,IAAA,GAAO;AAAA,MACX,KAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,MAAM,aAAa,aAAA,CAAc;AAAA,MAC/B,IAAA,EAAM,cAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAA,EAAa,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AAED,IAAA,MAAM,cAAA,GAAiB,EAAA,CAAG,MAAA,CAAO,cAAc,GAAG,SAAA,EAAW;AAAA,MAC3D,CAAC,MAAA,CAAO,SAAS,CAAC,GAAG,MAAA,KAAW,SAAA;AAAA,MAChC,CAAC,MAAA,CAAO,SAAS,CAAC,GAAG,MAAA,KAAW,SAAA;AAAA,MAChC,CAAC,MAAA,CAAO,QAAQ,CAAC,GAAG,MAAA,KAAW;AAAA,KAChC,CAAA;AAED,IAAA,MAAM,aAAA,GAAgB;AAAA,MACpB,GAAG,KAAA;AAAA,MACH,GAAG;AAAA,KACL;AAEA,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,kBAAA,EAAkB,UAAA;AAAA,QAClB,IAAA,EAAK,QAAA;AAAA,QACL,SAAA,EAAW,cAAA;AAAA,QACX,UAAA,EAAS,cAAA;AAAA,QACT,KAAA,EAAO,aAAA;AAAA,QACN,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,iBAAiB,CAAA,EACvC,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,IAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,OAAA;AAAA,gBACL,SAAA,EAAW,OAAO,aAAa,CAAA;AAAA,gBAC/B,GAAA,EAAK,cAAc,MAAM;AAAA;AAAA,aAC3B;AAAA,gCAEC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,OAAO,GAAI,QAAA,EAAA,KAAA,EAAM;AAAA,WAAA,EAC3C,CAAA;AAAA,UAEC,QAAA;AAAA,UAEA,0BACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,iBAAiB,CAAA,EACvC,QAAA,kBAAA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAMC,QAAA;AAAA,cACN,IAAA,EAAK,OAAA;AAAA,cACL,UAAA,EAAW,OAAA;AAAA,cACX,SAAA,EAAW,OAAO,cAAc,CAAA;AAAA,cAChC,OAAA,EAAS,CAAC,CAAA,KAAqC,OAAA,CAAQ,CAAC,CAAA;AAAA,cACxD,YAAA,EAAY,WAAW,MAAM,CAAA,aAAA;AAAA;AAAA,aAEjC,CAAA,GACE;AAAA;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;;;;"}
1
+ {"version":3,"file":"Announcement-BBq8zIQ3.js","sources":["../src/components/Announcement/Announcement.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, MouseEvent, Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n Svg,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport Warning from \"@servicetitan/hammer-icon/mdi/round/warning.svg\";\nimport Danger from \"@servicetitan/hammer-icon/mdi/round/error.svg\";\nimport Success from \"@servicetitan/hammer-icon/mdi/round/check_circle.svg\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport Button from \"../Button\";\nimport Icon from \"../Icon\";\n\nimport cx from \"classnames\";\nimport styles from \"./Announcement.module.scss\";\n\n/**\n * Props for the Announcement component\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n * @extends OnCloseProps\n */\nexport type AnnouncementProps = ComponentPropsWithoutRef<\"div\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> &\n OnCloseProps & {\n /**\n * The visual style of the announcement.\n * @default info\n */\n status?: Status;\n /**\n * The title text displayed in the announcement.\n */\n title: string;\n } &\n /**\n * Data tracking id\n */\n DataTrackingId;\n\nconst statusIconMap: Record<NonNullable<AnnouncementProps[\"status\"]>, Svg> = {\n info: Info,\n success: Success,\n warning: Warning,\n danger: Danger,\n};\n\n/**\n * Announcement component for displaying important messages to users.\n *\n * Features:\n * - Supports different visual styles (info, success, warning, danger)\n * - Optional close button for dismissible announcements\n * - Customizable title and content\n * - Accessible with proper ARIA roles\n * - Includes status-specific icons\n * - Supports layout utilities for positioning and spacing\n * - Includes data tracking capabilities\n *\n * @example\n * <Announcement\n * title=\"New Feature\"\n * onClose={() => console.log('Announcement closed')}\n * >\n * Check out our latest feature!\n * </Announcement>\n *\n * @example\n * <Announcement\n * status=\"warning\"\n * title=\"Maintenance Notice\"\n * >\n * Scheduled maintenance will begin in 30 minutes.\n * </Announcement>\n */\nexport const Announcement = forwardRef(\n (props: AnnouncementProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n className,\n title,\n status = \"info\",\n children,\n style,\n onClose,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Announcement\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const AnnouncementCx = cx(styles[\"announcement\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n role=\"status\"\n className={AnnouncementCx}\n data-anv=\"announcement\"\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <span className={styles[\"title-container\"]}>\n <Icon\n size=\"large\"\n className={styles[\"status-icon\"]}\n svg={statusIconMap[status]}\n />\n\n <span className={styles[\"title\"]}>{title}</span>\n </span>\n\n {children}\n\n {onClose ? (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} announcement`}\n />\n </span>\n ) : null}\n </div>\n );\n },\n);\n\nAnnouncement.displayName = \"Announcement\";\n"],"names":["Info","Success","Warning","Danger","Close"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,MAAM,aAAA,GAAuE;AAAA,EAC3E,IAAA,EAAMA,OAAA;AAAA,EACN,OAAA,EAASC,cAAA;AAAA,EACT,OAAA,EAASC,UAAA;AAAA,EACT,MAAA,EAAQC;AACV,CAAA;AA8BO,MAAM,YAAA,GAAe,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAAA,KAA6B;AACtD,IAAA,MAAM,EAAE,YAAA,EAAc,cAAA,EAAe,GAAI,mBAAmB,KAAK,CAAA;AAEjE,IAAA,MAAM;AAAA,MACJ,SAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA,GAAS,MAAA;AAAA,MACT,QAAA;AAAA,MACA,KAAA;AAAA,MACA,OAAA;AAAA,MACA,GAAG;AAAA,KACL,GAAI,cAAA;AAEJ,IAAA,MAAM,IAAA,GAAO;AAAA,MACX,KAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,MAAM,aAAa,aAAA,CAAc;AAAA,MAC/B,IAAA,EAAM,cAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAA,EAAa,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AAED,IAAA,MAAM,cAAA,GAAiB,EAAA,CAAG,MAAA,CAAO,cAAc,GAAG,SAAA,EAAW;AAAA,MAC3D,CAAC,MAAA,CAAO,SAAS,CAAC,GAAG,MAAA,KAAW,SAAA;AAAA,MAChC,CAAC,MAAA,CAAO,SAAS,CAAC,GAAG,MAAA,KAAW,SAAA;AAAA,MAChC,CAAC,MAAA,CAAO,QAAQ,CAAC,GAAG,MAAA,KAAW;AAAA,KAChC,CAAA;AAED,IAAA,MAAM,aAAA,GAAgB;AAAA,MACpB,GAAG,KAAA;AAAA,MACH,GAAG;AAAA,KACL;AAEA,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,kBAAA,EAAkB,UAAA;AAAA,QAClB,IAAA,EAAK,QAAA;AAAA,QACL,SAAA,EAAW,cAAA;AAAA,QACX,UAAA,EAAS,cAAA;AAAA,QACT,KAAA,EAAO,aAAA;AAAA,QACN,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,iBAAiB,CAAA,EACvC,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,IAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,OAAA;AAAA,gBACL,SAAA,EAAW,OAAO,aAAa,CAAA;AAAA,gBAC/B,GAAA,EAAK,cAAc,MAAM;AAAA;AAAA,aAC3B;AAAA,gCAEC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,OAAO,GAAI,QAAA,EAAA,KAAA,EAAM;AAAA,WAAA,EAC3C,CAAA;AAAA,UAEC,QAAA;AAAA,UAEA,0BACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,iBAAiB,CAAA,EACvC,QAAA,kBAAA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAMC,QAAA;AAAA,cACN,IAAA,EAAK,OAAA;AAAA,cACL,UAAA,EAAW,OAAA;AAAA,cACX,SAAA,EAAW,OAAO,cAAc,CAAA;AAAA,cAChC,OAAA,EAAS,CAAC,CAAA,KAAqC,OAAA,CAAQ,CAAC,CAAA;AAAA,cACxD,YAAA,EAAY,WAAW,MAAM,CAAA,aAAA;AAAA;AAAA,aAEjC,CAAA,GACE;AAAA;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;;;;"}
@@ -1,2 +1,2 @@
1
- export { A as Announcement, A as default } from './Announcement-BPwFNhYe.js';
1
+ export { A as Announcement, A as default } from './Announcement-BBq8zIQ3.js';
2
2
  //# sourceMappingURL=Announcement.js.map
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { forwardRef, Children, cloneElement } from 'react';
4
4
  import { c as cx } from './index-tZvMCc77.js';
5
- import { L as Link } from './Link-DuYh7Xl2.js';
5
+ import { L as Link } from './Link-CGXEFA9w.js';
6
6
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-BlIWftBb.js';
7
7
  import { T as Text } from './Text-kPA-VzsB.js';
8
8
  import { I as Icon } from './Icon-BSuTVNaa.js';
@@ -102,4 +102,4 @@ const Breadcrumbs = Object.assign(BreadcrumbsElement, {
102
102
  });
103
103
 
104
104
  export { Breadcrumbs as B, BreadcrumbsElement as a, BreadcrumbsLink as b };
105
- //# sourceMappingURL=Breadcrumbs-DjR-2OEH.js.map
105
+ //# sourceMappingURL=Breadcrumbs-CfJJlIIa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs-DjR-2OEH.js","sources":["../../hammer-icon/mdi/filled/chevron_right.svg","../src/components/Breadcrumbs/BreadcrumbsLink.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgChevronRight = (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: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" }));\nexport default SvgChevronRight;\n","import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Link, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\n\n/**\n * Props for the BreadcrumbsLink component\n * @extends ComponentPropsWithoutRef<\"a\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsLinkProps = ComponentPropsWithoutRef<\"a\"> &\n LayoutUtilProps;\n\n/**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <BreadcrumbsLink href=\"/dashboard\">Dashboard</BreadcrumbsLink>\n */\nexport const BreadcrumbsLink = forwardRef<\n HTMLAnchorElement,\n BreadcrumbsLinkProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs-link\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <Link\n tabIndex={0}\n data-anv=\"breadcrumbs-link\"\n style={styleCombined}\n appearance=\"secondary\"\n className={classes}\n {...rest}\n ref={ref}\n >\n <Text size=\"small\" inline>\n {children}\n </Text>\n </Link>\n );\n});\n\nBreadcrumbsLink.displayName = \"BreadcrumbsLink\";\n","import {\n Children,\n ComponentPropsWithoutRef,\n ReactElement,\n cloneElement,\n forwardRef,\n} from \"react\";\nimport cx from \"classnames\";\nimport ChevronRight from \"@servicetitan/hammer-icon/mdi/filled/chevron_right.svg\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Icon, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\nimport { BreadcrumbsLink, BreadcrumbsLinkProps } from \"./BreadcrumbsLink\";\n\n/**\n * Props for the Breadcrumbs component\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps & {\n /**\n * Breadcrumb links to display. The last child will be rendered as non-clickable text.\n */\n children:\n | ReactElement<BreadcrumbsLinkProps>\n | ReactElement<BreadcrumbsLinkProps>[];\n };\n\nexport const BreadcrumbsElement = forwardRef<HTMLElement, BreadcrumbsProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const linkCount = Children.count(children);\n\n return (\n <nav\n data-anv=\"breadcrumbs\"\n style={styleCombined}\n className={classes}\n aria-label=\"Breadcrumb\"\n {...rest}\n ref={ref}\n >\n {Children.map(children, (link, i) => {\n if (i + 1 === linkCount) {\n return (\n <Text\n inline\n size=\"small\"\n style={{\n fontWeight: \"bold\",\n }}\n >\n {link.props.children}\n </Text>\n );\n } else {\n return (\n <>\n {cloneElement(link as ReactElement)}\n <Icon svg={ChevronRight} aria-hidden=\"true\" />\n </>\n );\n }\n })}\n </nav>\n );\n },\n);\n\nBreadcrumbsElement.displayName = \"Breadcrumbs\";\n\n/**\n * Breadcrumbs component for displaying navigation hierarchy.\n *\n * Features:\n * - Displays a series of navigation links with chevron separators\n * - Automatically renders the last item as non-clickable text\n * - Includes proper ARIA labeling for accessibility\n * - Supports layout utilities for positioning and spacing\n * - Uses chevron icons as visual separators between links\n * - Responsive design with flexbox layout\n *\n * @example\n * <Breadcrumbs>\n * <Breadcrumbs.Link href=\"/home\">Home</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/products\">Products</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/electronics\">Electronics</Breadcrumbs.Link>\n * </Breadcrumbs>\n */\nexport const Breadcrumbs = Object.assign(BreadcrumbsElement, {\n /**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <Breadcrumbs.Link href=\"/dashboard\">Dashboard</Breadcrumbs.Link>\n */\n Link: BreadcrumbsLink,\n});\n"],"names":["ChevronRight"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs-CfJJlIIa.js","sources":["../../hammer-icon/mdi/filled/chevron_right.svg","../src/components/Breadcrumbs/BreadcrumbsLink.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgChevronRight = (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: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" }));\nexport default SvgChevronRight;\n","import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Link, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\n\n/**\n * Props for the BreadcrumbsLink component\n * @extends ComponentPropsWithoutRef<\"a\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsLinkProps = ComponentPropsWithoutRef<\"a\"> &\n LayoutUtilProps;\n\n/**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <BreadcrumbsLink href=\"/dashboard\">Dashboard</BreadcrumbsLink>\n */\nexport const BreadcrumbsLink = forwardRef<\n HTMLAnchorElement,\n BreadcrumbsLinkProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs-link\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <Link\n tabIndex={0}\n data-anv=\"breadcrumbs-link\"\n style={styleCombined}\n appearance=\"secondary\"\n className={classes}\n {...rest}\n ref={ref}\n >\n <Text size=\"small\" inline>\n {children}\n </Text>\n </Link>\n );\n});\n\nBreadcrumbsLink.displayName = \"BreadcrumbsLink\";\n","import {\n Children,\n ComponentPropsWithoutRef,\n ReactElement,\n cloneElement,\n forwardRef,\n} from \"react\";\nimport cx from \"classnames\";\nimport ChevronRight from \"@servicetitan/hammer-icon/mdi/filled/chevron_right.svg\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Icon, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\nimport { BreadcrumbsLink, BreadcrumbsLinkProps } from \"./BreadcrumbsLink\";\n\n/**\n * Props for the Breadcrumbs component\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps & {\n /**\n * Breadcrumb links to display. The last child will be rendered as non-clickable text.\n */\n children:\n | ReactElement<BreadcrumbsLinkProps>\n | ReactElement<BreadcrumbsLinkProps>[];\n };\n\nexport const BreadcrumbsElement = forwardRef<HTMLElement, BreadcrumbsProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const linkCount = Children.count(children);\n\n return (\n <nav\n data-anv=\"breadcrumbs\"\n style={styleCombined}\n className={classes}\n aria-label=\"Breadcrumb\"\n {...rest}\n ref={ref}\n >\n {Children.map(children, (link, i) => {\n if (i + 1 === linkCount) {\n return (\n <Text\n inline\n size=\"small\"\n style={{\n fontWeight: \"bold\",\n }}\n >\n {link.props.children}\n </Text>\n );\n } else {\n return (\n <>\n {cloneElement(link as ReactElement)}\n <Icon svg={ChevronRight} aria-hidden=\"true\" />\n </>\n );\n }\n })}\n </nav>\n );\n },\n);\n\nBreadcrumbsElement.displayName = \"Breadcrumbs\";\n\n/**\n * Breadcrumbs component for displaying navigation hierarchy.\n *\n * Features:\n * - Displays a series of navigation links with chevron separators\n * - Automatically renders the last item as non-clickable text\n * - Includes proper ARIA labeling for accessibility\n * - Supports layout utilities for positioning and spacing\n * - Uses chevron icons as visual separators between links\n * - Responsive design with flexbox layout\n *\n * @example\n * <Breadcrumbs>\n * <Breadcrumbs.Link href=\"/home\">Home</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/products\">Products</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/electronics\">Electronics</Breadcrumbs.Link>\n * </Breadcrumbs>\n */\nexport const Breadcrumbs = Object.assign(BreadcrumbsElement, {\n /**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <Breadcrumbs.Link href=\"/dashboard\">Dashboard</Breadcrumbs.Link>\n */\n Link: BreadcrumbsLink,\n});\n"],"names":["ChevronRight"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { B as Breadcrumbs, a as BreadcrumbsElement, b as BreadcrumbsLink, B as default } from './Breadcrumbs-DjR-2OEH.js';
1
+ export { B as Breadcrumbs, a as BreadcrumbsElement, b as BreadcrumbsLink, B as default } from './Breadcrumbs-CfJJlIIa.js';
2
2
  //# sourceMappingURL=Breadcrumbs.js.map
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { C as CalendarBetaPropsContext, a as Calendar$1 } from './Calendar-BP6r1sP9.js';
2
+ import { C as CalendarBetaPropsContext, a as Calendar$1 } from './Calendar-CAYitkfM.js';
3
3
 
4
4
  const Calendar = (props) => {
5
5
  const { dateMetadata, onMonthView, ...stableProps } = props;
@@ -7,4 +7,4 @@ const Calendar = (props) => {
7
7
  };
8
8
 
9
9
  export { Calendar as C };
10
- //# sourceMappingURL=Calendar-CLSm88D2.js.map
10
+ //# sourceMappingURL=Calendar-C9oxHTGG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar-CLSm88D2.js","sources":["../src/beta/components/Calendar/Calendar.tsx"],"sourcesContent":["import {\n Calendar as StableCalendar,\n CalendarProps as StableCalendarProps,\n} from \"../../../components\";\nimport { CalendarBetaPropsContext } from \"./CalendarBetaPropsContext\";\n\nexport interface CalendarBetaProps {\n dateMetadata?: {\n date: string;\n context: string;\n }[];\n onMonthView?: ({ month, year }: { month: number; year: number }) => void;\n}\n\nexport const Calendar = (props: CalendarBetaProps & StableCalendarProps) => {\n const { dateMetadata, onMonthView, ...stableProps } = props;\n return (\n <CalendarBetaPropsContext.Provider value={{ dateMetadata, onMonthView }}>\n <StableCalendar {...stableProps} />\n </CalendarBetaPropsContext.Provider>\n );\n};\n"],"names":["StableCalendar"],"mappings":";;;AAcO,MAAM,QAAA,GAAW,CAAC,KAAA,KAAmD;AAC1E,EAAA,MAAM,EAAE,YAAA,EAAc,WAAA,EAAa,GAAG,aAAY,GAAI,KAAA;AACtD,EAAA,uBACE,GAAA,CAAC,wBAAA,CAAyB,QAAA,EAAzB,EAAkC,KAAA,EAAO,EAAE,YAAA,EAAc,WAAA,EAAY,EACpE,QAAA,kBAAA,GAAA,CAACA,UAAA,EAAA,EAAgB,GAAG,aAAa,CAAA,EACnC,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Calendar-C9oxHTGG.js","sources":["../src/beta/components/Calendar/Calendar.tsx"],"sourcesContent":["import {\n Calendar as StableCalendar,\n CalendarProps as StableCalendarProps,\n} from \"../../../components\";\nimport { CalendarBetaPropsContext } from \"./CalendarBetaPropsContext\";\n\nexport interface CalendarBetaProps {\n dateMetadata?: {\n date: string;\n context: string;\n }[];\n onMonthView?: ({ month, year }: { month: number; year: number }) => void;\n}\n\nexport const Calendar = (props: CalendarBetaProps & StableCalendarProps) => {\n const { dateMetadata, onMonthView, ...stableProps } = props;\n return (\n <CalendarBetaPropsContext.Provider value={{ dateMetadata, onMonthView }}>\n <StableCalendar {...stableProps} />\n </CalendarBetaPropsContext.Provider>\n );\n};\n"],"names":["StableCalendar"],"mappings":";;;AAcO,MAAM,QAAA,GAAW,CAAC,KAAA,KAAmD;AAC1E,EAAA,MAAM,EAAE,YAAA,EAAc,WAAA,EAAa,GAAG,aAAY,GAAI,KAAA;AACtD,EAAA,uBACE,GAAA,CAAC,wBAAA,CAAyB,QAAA,EAAzB,EAAkC,KAAA,EAAO,EAAE,YAAA,EAAc,WAAA,EAAY,EACpE,QAAA,kBAAA,GAAA,CAACA,UAAA,EAAA,EAAgB,GAAG,aAAa,CAAA,EACnC,CAAA;AAEJ;;;;"}
@@ -9,7 +9,7 @@ import { c as cx } from './index-tZvMCc77.js';
9
9
  import { S as SrOnly } from './SrOnly-CTsYSuby.js';
10
10
  import { u as useSwipe } from './useSwipe-Cp-CJxLU.js';
11
11
  import { G as Grid } from './Grid-DW2cAuHi.js';
12
- import { S as SelectCard } from './SelectCard-DViLgRGh.js';
12
+ import { S as SelectCard } from './SelectCard-CjbsPKZ4.js';
13
13
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
14
14
  import { flushSync } from 'react-dom';
15
15
  import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';
@@ -10859,4 +10859,4 @@ const Calendar = Object.assign(CalendarElement, {
10859
10859
  });
10860
10860
 
10861
10861
  export { CalendarBetaPropsContext as C, DateTime as D, Calendar as a, CalendarNow as b, CalendarYearButton as c, CalendarPrev as d, CalendarNext as e, CalendarMonthButton as f, CalendarMonth as g, isValidDate as i, toDateString as t, useCalendarBetaProps as u };
10862
- //# sourceMappingURL=Calendar-BP6r1sP9.js.map
10862
+ //# sourceMappingURL=Calendar-CAYitkfM.js.map