@servicetitan/anvil2 3.3.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/{AiMark-D6ScGfyP.js → AiMark-BL2p0EKB.js} +16 -6
  3. package/dist/AiMark-BL2p0EKB.js.map +1 -0
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-Dgq96HR4.js → Alert-Cgo8pwhb.js} +3 -3
  6. package/dist/{Alert-Dgq96HR4.js.map → Alert-Cgo8pwhb.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-DXF8slQf.js → Announcement-4w6XjLcB.js} +2 -2
  9. package/dist/{Announcement-DXF8slQf.js.map → Announcement-4w6XjLcB.js.map} +1 -1
  10. package/dist/Announcement.js +1 -1
  11. package/dist/{Breadcrumbs-CklKFLSl.js → Breadcrumbs-DcMJdSC5.js} +2 -2
  12. package/dist/{Breadcrumbs-CklKFLSl.js.map → Breadcrumbs-DcMJdSC5.js.map} +1 -1
  13. package/dist/Breadcrumbs.js +1 -1
  14. package/dist/{Button-ChQARW0y.js → Button-CjeF1Agb.js} +15 -9
  15. package/dist/Button-CjeF1Agb.js.map +1 -0
  16. package/dist/Button.css +21 -21
  17. package/dist/Button.js +1 -1
  18. package/dist/Button.module-BuOc7iPY.js +23 -0
  19. package/dist/Button.module-BuOc7iPY.js.map +1 -0
  20. package/dist/{ButtonCompound-_0ddykI_.js → ButtonCompound-D7kA0qXr.js} +2 -2
  21. package/dist/{ButtonCompound-_0ddykI_.js.map → ButtonCompound-D7kA0qXr.js.map} +1 -1
  22. package/dist/ButtonCompound.js +1 -1
  23. package/dist/{ButtonLink-CWbYzTTz.js → ButtonLink-BSReBbc3.js} +2 -2
  24. package/dist/{ButtonLink-CWbYzTTz.js.map → ButtonLink-BSReBbc3.js.map} +1 -1
  25. package/dist/ButtonLink.js +1 -1
  26. package/dist/{ButtonToggle-BVv94C4U.js → ButtonToggle-CnOsM7-u.js} +2 -2
  27. package/dist/{ButtonToggle-BVv94C4U.js.map → ButtonToggle-CnOsM7-u.js.map} +1 -1
  28. package/dist/ButtonToggle.js +1 -1
  29. package/dist/{Calendar-DWyW5gvQ.js → Calendar-C05ESFqK.js} +3 -3
  30. package/dist/{Calendar-DWyW5gvQ.js.map → Calendar-C05ESFqK.js.map} +1 -1
  31. package/dist/{Calendar-Qlnpl3zR.js → Calendar-Dmsp_qIo.js} +2 -2
  32. package/dist/{Calendar-Qlnpl3zR.js.map → Calendar-Dmsp_qIo.js.map} +1 -1
  33. package/dist/Calendar.js +2 -2
  34. package/dist/{Checkbox-BE8Jmz3t.js → Checkbox-DEU2CtNu.js} +2 -2
  35. package/dist/{Checkbox-BE8Jmz3t.js.map → Checkbox-DEU2CtNu.js.map} +1 -1
  36. package/dist/{Checkbox-QIaS16gS.js → Checkbox-DqY9bRng.js} +3 -3
  37. package/dist/{Checkbox-QIaS16gS.js.map → Checkbox-DqY9bRng.js.map} +1 -1
  38. package/dist/Checkbox.js +1 -1
  39. package/dist/{Chip-BYK1b3lZ.js → Chip-Cb3dnZht.js} +2 -2
  40. package/dist/{Chip-BYK1b3lZ.js.map → Chip-Cb3dnZht.js.map} +1 -1
  41. package/dist/Chip.js +1 -1
  42. package/dist/Combobox.js +1 -1
  43. package/dist/{DataTable-CnRkAUpI.js → DataTable-QWgY5s7o.js} +15 -9
  44. package/dist/{DataTable-CnRkAUpI.js.map → DataTable-QWgY5s7o.js.map} +1 -1
  45. package/dist/{DateFieldRange-OiVF8sye.js → DateFieldRange-BWE-utxz.js} +4 -4
  46. package/dist/{DateFieldRange-OiVF8sye.js.map → DateFieldRange-BWE-utxz.js.map} +1 -1
  47. package/dist/DateFieldRange.js +1 -1
  48. package/dist/{DateFieldSingle-CSCcHt9Z.js → DateFieldSingle-DOJZRbkP.js} +4 -4
  49. package/dist/{DateFieldSingle-CSCcHt9Z.js.map → DateFieldSingle-DOJZRbkP.js.map} +1 -1
  50. package/dist/DateFieldSingle.js +1 -1
  51. package/dist/{DateFieldYearless-DU9No74i.js → DateFieldYearless-BHGGAa4K.js} +4 -4
  52. package/dist/{DateFieldYearless-DU9No74i.js.map → DateFieldYearless-BHGGAa4K.js.map} +1 -1
  53. package/dist/DateFieldYearless.js +1 -1
  54. package/dist/{DateFieldYearlessRange-BkXIgh59.js → DateFieldYearlessRange-CxEaZnI6.js} +3 -3
  55. package/dist/{DateFieldYearlessRange-BkXIgh59.js.map → DateFieldYearlessRange-CxEaZnI6.js.map} +1 -1
  56. package/dist/DateFieldYearlessRange.js +1 -1
  57. package/dist/{DaysOfTheWeek-BYw91Qr-.js → DaysOfTheWeek-or-V9aOL.js} +3 -3
  58. package/dist/{DaysOfTheWeek-BYw91Qr-.js.map → DaysOfTheWeek-or-V9aOL.js.map} +1 -1
  59. package/dist/DaysOfTheWeek.js +1 -1
  60. package/dist/{Dialog-DMR_uvde.js → Dialog-D7wWgUiC.js} +4 -4
  61. package/dist/{Dialog-DMR_uvde.js.map → Dialog-D7wWgUiC.js.map} +1 -1
  62. package/dist/Dialog.js +1 -1
  63. package/dist/{DialogCancelButton-lAq4bhHS.js → DialogCancelButton-CIGGMaOE.js} +2 -2
  64. package/dist/{DialogCancelButton-lAq4bhHS.js.map → DialogCancelButton-CIGGMaOE.js.map} +1 -1
  65. package/dist/Dnd.js +2 -2
  66. package/dist/{DndHandleButton-Cj7pIegT.js → DndHandleButton-B_Geiaeb.js} +2 -2
  67. package/dist/{DndHandleButton-Cj7pIegT.js.map → DndHandleButton-B_Geiaeb.js.map} +1 -1
  68. package/dist/DndSort.js +3 -3
  69. package/dist/{Drawer-vxmKqraS.js → Drawer-rHhrkb8I.js} +4 -4
  70. package/dist/{Drawer-vxmKqraS.js.map → Drawer-rHhrkb8I.js.map} +1 -1
  71. package/dist/Drawer.js +1 -1
  72. package/dist/DrillDown.js +1 -1
  73. package/dist/{EditCard-h7sDGB-x.js → EditCard-BygUiJyq.js} +3 -3
  74. package/dist/{EditCard-h7sDGB-x.js.map → EditCard-BygUiJyq.js.map} +1 -1
  75. package/dist/EditCard.js +1 -1
  76. package/dist/{FieldLabel-tFSfJ7OJ.js → FieldLabel-BLH70tsq.js} +2 -2
  77. package/dist/{FieldLabel-tFSfJ7OJ.js.map → FieldLabel-BLH70tsq.js.map} +1 -1
  78. package/dist/FieldLabel.js +1 -1
  79. package/dist/{FilterBar-l8aCxO9c.js → FilterBar-kN4R0B_m.js} +7 -7
  80. package/dist/{FilterBar-l8aCxO9c.js.map → FilterBar-kN4R0B_m.js.map} +1 -1
  81. package/dist/FilterBar.js +1 -1
  82. package/dist/{InputMask-r8vH_Gh3.js → InputMask-G9TeTPS8.js} +3 -3
  83. package/dist/{InputMask-r8vH_Gh3.js.map → InputMask-G9TeTPS8.js.map} +1 -1
  84. package/dist/InputMask.js +1 -1
  85. package/dist/{ListView-D_xAfZD-.js → ListView-A4v-kbPH.js} +2 -2
  86. package/dist/{ListView-D_xAfZD-.js.map → ListView-A4v-kbPH.js.map} +1 -1
  87. package/dist/ListView.js +1 -1
  88. package/dist/{Listbox-iUUghImt.js → Listbox-DTxGVQQ9.js} +2 -2
  89. package/dist/{Listbox-iUUghImt.js.map → Listbox-DTxGVQQ9.js.map} +1 -1
  90. package/dist/Listbox.js +1 -1
  91. package/dist/{Menu-qcHhgf-t.js → Menu-BAya9Qnd.js} +2 -2
  92. package/dist/{Menu-qcHhgf-t.js.map → Menu-BAya9Qnd.js.map} +1 -1
  93. package/dist/Menu.js +1 -1
  94. package/dist/{MenuFooter-Dtckm9vY.js → MenuFooter-BZTsAaOz.js} +2 -2
  95. package/dist/{MenuFooter-Dtckm9vY.js.map → MenuFooter-BZTsAaOz.js.map} +1 -1
  96. package/dist/MultiSelectField.js +1 -1
  97. package/dist/{MultiSelectFieldSync-DNJ1TBf8.js → MultiSelectFieldSync-Zr6ObmiY.js} +7 -7
  98. package/dist/{MultiSelectFieldSync-DNJ1TBf8.js.map → MultiSelectFieldSync-Zr6ObmiY.js.map} +1 -1
  99. package/dist/MultiSelectMenu.js +1 -1
  100. package/dist/{MultiSelectMenuSync-LD931FAV.js → MultiSelectMenuSync-Cdsp2_ZA.js} +5 -5
  101. package/dist/{MultiSelectMenuSync-LD931FAV.js.map → MultiSelectMenuSync-Cdsp2_ZA.js.map} +1 -1
  102. package/dist/{NumberField-CFYbODNe.js → NumberField-CigVFXzW.js} +4 -4
  103. package/dist/{NumberField-CFYbODNe.js.map → NumberField-CigVFXzW.js.map} +1 -1
  104. package/dist/NumberField.js +1 -1
  105. package/dist/Overflow.js +5 -2
  106. package/dist/Overflow.js.map +1 -1
  107. package/dist/{Page-DgSimS7u.js → Page-DMvEouPp.js} +10 -10
  108. package/dist/{Page-DgSimS7u.js.map → Page-DMvEouPp.js.map} +1 -1
  109. package/dist/Page.js +1 -1
  110. package/dist/{Pagination-DQ2fjkmT.js → Pagination-Bur581V_.js} +5 -5
  111. package/dist/{Pagination-DQ2fjkmT.js.map → Pagination-Bur581V_.js.map} +1 -1
  112. package/dist/Pagination.js +1 -1
  113. package/dist/{Popover-DeBxKuqc.js → Popover-C-pv_ah6.js} +15 -2
  114. package/dist/Popover-C-pv_ah6.js.map +1 -0
  115. package/dist/Popover.js +1 -1
  116. package/dist/{ProgressBar-BFvc2jm3.js → ProgressBar-CJwF0L2j.js} +2 -2
  117. package/dist/{ProgressBar-BFvc2jm3.js.map → ProgressBar-CJwF0L2j.js.map} +1 -1
  118. package/dist/ProgressBar.js +1 -1
  119. package/dist/{Radio-BV4SflBA.js → Radio-CspG2mD_.js} +3 -3
  120. package/dist/{Radio-BV4SflBA.js.map → Radio-CspG2mD_.js.map} +1 -1
  121. package/dist/{Radio-v3lT3AoB.js → Radio-DAsbQWNO.js} +2 -2
  122. package/dist/{Radio-v3lT3AoB.js.map → Radio-DAsbQWNO.js.map} +1 -1
  123. package/dist/Radio.js +1 -1
  124. package/dist/{RichTextEditor-Cm29o9RK.js → RichTextEditor-D1IBYQyU.js} +11 -11
  125. package/dist/{RichTextEditor-Cm29o9RK.js.map → RichTextEditor-D1IBYQyU.js.map} +1 -1
  126. package/dist/RichTextEditor.js +1 -1
  127. package/dist/{SavedFiltersButton-3VadkBsA.js → SavedFiltersButton-CtClXIW1.js} +10 -10
  128. package/dist/{SavedFiltersButton-3VadkBsA.js.map → SavedFiltersButton-CtClXIW1.js.map} +1 -1
  129. package/dist/SavedFiltersButton.js +1 -1
  130. package/dist/{SelectCard-CkZEENl6.js → SelectCard-Bk2JEIie.js} +3 -3
  131. package/dist/{SelectCard-CkZEENl6.js.map → SelectCard-Bk2JEIie.js.map} +1 -1
  132. package/dist/SelectCard.js +1 -1
  133. package/dist/SelectField.js +1 -1
  134. package/dist/{SelectFieldLabel-CvJhwy_6.js → SelectFieldLabel-VLPS25_a.js} +2 -2
  135. package/dist/{SelectFieldLabel-CvJhwy_6.js.map → SelectFieldLabel-VLPS25_a.js.map} +1 -1
  136. package/dist/{SelectFieldSync-z_kyrBvL.js → SelectFieldSync-DO03WeCx.js} +6 -6
  137. package/dist/{SelectFieldSync-z_kyrBvL.js.map → SelectFieldSync-DO03WeCx.js.map} +1 -1
  138. package/dist/SelectMenu.js +1 -1
  139. package/dist/{SelectMenuSync-BD8oedGs.js → SelectMenuSync-DStox_Zy.js} +5 -5
  140. package/dist/{SelectMenuSync-BD8oedGs.js.map → SelectMenuSync-DStox_Zy.js.map} +1 -1
  141. package/dist/{SelectOptions-CBSsSyFd.js → SelectOptions-DmqnJbq5.js} +2 -2
  142. package/dist/{SelectOptions-CBSsSyFd.js.map → SelectOptions-DmqnJbq5.js.map} +1 -1
  143. package/dist/{SelectTrigger-CtiLCoHx.js → SelectTrigger-C--mlQPY.js} +2 -2
  144. package/dist/{SelectTrigger-CtiLCoHx.js.map → SelectTrigger-C--mlQPY.js.map} +1 -1
  145. package/dist/SelectTrigger.js +1 -1
  146. package/dist/{SelectTriggerBase-aE_iVDpL.js → SelectTriggerBase-DCdVK5FM.js} +4 -4
  147. package/dist/{SelectTriggerBase-aE_iVDpL.js.map → SelectTriggerBase-DCdVK5FM.js.map} +1 -1
  148. package/dist/{Stepper-BXgMeUHu.js → Stepper-Bp5XkY2q.js} +2 -2
  149. package/dist/{Stepper-BXgMeUHu.js.map → Stepper-Bp5XkY2q.js.map} +1 -1
  150. package/dist/Stepper.js +1 -1
  151. package/dist/{Switch-DibokoJL.js → Switch-97v6BcuM.js} +2 -2
  152. package/dist/{Switch-DibokoJL.js.map → Switch-97v6BcuM.js.map} +1 -1
  153. package/dist/Switch.js +1 -1
  154. package/dist/Table.js +1 -1
  155. package/dist/{Text-BTCfqeSr.js → Text-CXf0c8th.js} +2 -2
  156. package/dist/{Text-BTCfqeSr.js.map → Text-CXf0c8th.js.map} +1 -1
  157. package/dist/Text.js +1 -1
  158. package/dist/{TextField-CqJ9s4SG.js → TextField-B_LS82U2.js} +2 -2
  159. package/dist/{TextField-CqJ9s4SG.js.map → TextField-B_LS82U2.js.map} +1 -1
  160. package/dist/{TextField-KZkRXCbH.js → TextField-ttW-PfxW.js} +3 -3
  161. package/dist/{TextField-KZkRXCbH.js.map → TextField-ttW-PfxW.js.map} +1 -1
  162. package/dist/TextField.js +1 -1
  163. package/dist/{Textarea-DlvbIRKO.js → Textarea-B58yhkqk.js} +3 -3
  164. package/dist/{Textarea-DlvbIRKO.js.map → Textarea-B58yhkqk.js.map} +1 -1
  165. package/dist/Textarea.js +1 -1
  166. package/dist/{TimeField-bdJArRXM.js → TimeField-CacCU22y.js} +4 -4
  167. package/dist/{TimeField-bdJArRXM.js.map → TimeField-CacCU22y.js.map} +1 -1
  168. package/dist/TimeField.js +1 -1
  169. package/dist/Toast.js +2 -2
  170. package/dist/{Toaster-De3dmRbW.js → Toaster-BMUQLR4X.js} +4 -4
  171. package/dist/{Toaster-De3dmRbW.js.map → Toaster-BMUQLR4X.js.map} +1 -1
  172. package/dist/{Toaster-DW9Bx-5k.js → Toaster-CggpDaEy.js} +2 -2
  173. package/dist/{Toaster-DW9Bx-5k.js.map → Toaster-CggpDaEy.js.map} +1 -1
  174. package/dist/{Toolbar-j9Y2YleC.js → Toolbar-BObGbcb3.js} +6 -6
  175. package/dist/{Toolbar-j9Y2YleC.js.map → Toolbar-BObGbcb3.js.map} +1 -1
  176. package/dist/{Toolbar-DksrjUsE.js → Toolbar-CGI7ilfn.js} +6 -6
  177. package/dist/{Toolbar-DksrjUsE.js.map → Toolbar-CGI7ilfn.js.map} +1 -1
  178. package/dist/Toolbar.js +2 -2
  179. package/dist/{ToolbarButtonToggle-CywNpsGX.js → ToolbarButtonToggle-DsaG1BWZ.js} +2 -2
  180. package/dist/{ToolbarButtonToggle-CywNpsGX.js.map → ToolbarButtonToggle-DsaG1BWZ.js.map} +1 -1
  181. package/dist/TreeSelectField.js +1 -1
  182. package/dist/{TreeSelectFieldSync-CB1H4ZTC.js → TreeSelectFieldSync-BHSzJlYx.js} +6 -6
  183. package/dist/{TreeSelectFieldSync-CB1H4ZTC.js.map → TreeSelectFieldSync-BHSzJlYx.js.map} +1 -1
  184. package/dist/TreeSelectMenu.js +1 -1
  185. package/dist/{TreeSelectMenuSync-D4l3zik4.js → TreeSelectMenuSync-BfYc8PHd.js} +4 -4
  186. package/dist/{TreeSelectMenuSync-D4l3zik4.js.map → TreeSelectMenuSync-BfYc8PHd.js.map} +1 -1
  187. package/dist/{TypeaheadTextField-BJrrlLjP.js → TypeaheadTextField-DU10rQHH.js} +3 -3
  188. package/dist/{TypeaheadTextField-BJrrlLjP.js.map → TypeaheadTextField-DU10rQHH.js.map} +1 -1
  189. package/dist/TypeaheadTextField.js +1 -1
  190. package/dist/{YearlessDateInputWithPicker-BmRkNzK0.js → YearlessDateInputWithPicker-DtikVrWk.js} +2 -2
  191. package/dist/{YearlessDateInputWithPicker-BmRkNzK0.js.map → YearlessDateInputWithPicker-DtikVrWk.js.map} +1 -1
  192. package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
  193. package/dist/beta.js +16 -16
  194. package/dist/{filter-state-C-4lebJG.js → filter-state-BL17jEUz.js} +43 -31
  195. package/dist/filter-state-BL17jEUz.js.map +1 -0
  196. package/dist/{index-iTige6rD.js → index-Bg9IAYMO.js} +2 -2
  197. package/dist/{index-iTige6rD.js.map → index-Bg9IAYMO.js.map} +1 -1
  198. package/dist/{index-mKaF0gwp.js → index-Deyzt7C3.js} +2 -2
  199. package/dist/{index-mKaF0gwp.js.map → index-Deyzt7C3.js.map} +1 -1
  200. package/dist/index.js +48 -48
  201. package/dist/src/beta/components/FilterBar/internal/types.d.ts +9 -3
  202. package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +12 -6
  203. package/dist/src/components/Overflow/Overflow.d.ts +8 -1
  204. package/dist/src/internal/components/Popover/internal/PopoverContext.d.ts +2 -0
  205. package/dist/{stripInlineMarkdown-CQCRopqY.js → stripInlineMarkdown-D8j76cz_.js} +2 -2
  206. package/dist/{stripInlineMarkdown-CQCRopqY.js.map → stripInlineMarkdown-D8j76cz_.js.map} +1 -1
  207. package/dist/{syncFilterUtils-JUsufAHA.js → syncFilterUtils-DV1H8ZIz.js} +4 -4
  208. package/dist/{syncFilterUtils-JUsufAHA.js.map → syncFilterUtils-DV1H8ZIz.js.map} +1 -1
  209. package/dist/{treeSync-CXMjwQ4X.js → treeSync-DluwQlVs.js} +3 -3
  210. package/dist/{treeSync-CXMjwQ4X.js.map → treeSync-DluwQlVs.js.map} +1 -1
  211. package/dist/{useAdaptiveView-BdzXyicd.js → useAdaptiveView-0Cd-y9FC.js} +4 -4
  212. package/dist/{useAdaptiveView-BdzXyicd.js.map → useAdaptiveView-0Cd-y9FC.js.map} +1 -1
  213. package/dist/{useDrilldown-CWNTo5uR.js → useDrilldown-C5jP2l0a.js} +3 -3
  214. package/dist/{useDrilldown-CWNTo5uR.js.map → useDrilldown-C5jP2l0a.js.map} +1 -1
  215. package/dist/{useInfiniteCombobox-D77w-hHb.js → useInfiniteCombobox-BlP6jZ6d.js} +4 -4
  216. package/dist/{useInfiniteCombobox-D77w-hHb.js.map → useInfiniteCombobox-BlP6jZ6d.js.map} +1 -1
  217. package/dist/{useToggleSelection-a18uaSE7.js → useToggleSelection-qzKkgwTj.js} +2 -2
  218. package/dist/{useToggleSelection-a18uaSE7.js.map → useToggleSelection-qzKkgwTj.js.map} +1 -1
  219. package/package.json +1 -1
  220. package/dist/AiMark-D6ScGfyP.js.map +0 -1
  221. package/dist/Button-ChQARW0y.js.map +0 -1
  222. package/dist/Button.module-y-kLMLvt.js +0 -23
  223. package/dist/Button.module-y-kLMLvt.js.map +0 -1
  224. package/dist/Popover-DeBxKuqc.js.map +0 -1
  225. package/dist/filter-state-C-4lebJG.js.map +0 -1
package/dist/AiMark.js CHANGED
@@ -1,2 +1,2 @@
1
- export { A as AiMark } from './AiMark-D6ScGfyP.js';
1
+ export { A as AiMark } from './AiMark-BL2p0EKB.js';
2
2
  //# sourceMappingURL=AiMark.js.map
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { S as SvgClose } from './close-DZj38AEh.js';
4
- import { B as Button } from './Button-ChQARW0y.js';
5
- import { T as Text } from './Text-BTCfqeSr.js';
4
+ import { B as Button } from './Button-CjeF1Agb.js';
5
+ import { T as Text } from './Text-CXf0c8th.js';
6
6
  import { c as cx } from './index-De1g9FRV.js';
7
7
  import { S as StatusIcon } from './StatusIcon-BwULopyH.js';
8
8
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
@@ -113,4 +113,4 @@ const Alert = forwardRef(
113
113
  Alert.displayName = "Alert";
114
114
 
115
115
  export { Alert as A };
116
- //# sourceMappingURL=Alert-Dgq96HR4.js.map
116
+ //# sourceMappingURL=Alert-Cgo8pwhb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert-Dgq96HR4.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} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Button from \"../Button\";\nimport { Text } from \"../Text\";\nimport { AiMarkWithTooltipOrPopoverConfig } from \"../../types/ai-marks\";\n\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\n\nimport cx from \"classnames\";\nimport styles from \"./Alert.module.scss\";\nimport {\n StatusIcon,\n StatusIconVariant,\n} from \"../../internal/components/StatusIcon/StatusIcon\";\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 * When set, displays the AI mark inline after the title.\n * Use `true` for the sparkle only, or pass tooltip/popover configuration.\n */\n aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;\n } &\n /**\n * Data tracking id\n */\n DataTrackingId;\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 * - Optional AI mark inline after the title\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 aiMark,\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 <StatusIcon\n className={styles[\"status-icon\"]}\n size=\"small\"\n variant={\n status === \"danger\" ? \"error\" : (status as StatusIconVariant)\n }\n />\n <Text\n variant=\"headline\"\n el=\"h6\"\n size=\"small\"\n className={styles[\"title\"]}\n aiMark={aiMark || undefined}\n >\n {title}\n </Text>\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":["Close"],"mappings":"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"}
1
+ {"version":3,"file":"Alert-Cgo8pwhb.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} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Button from \"../Button\";\nimport { Text } from \"../Text\";\nimport { AiMarkWithTooltipOrPopoverConfig } from \"../../types/ai-marks\";\n\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\n\nimport cx from \"classnames\";\nimport styles from \"./Alert.module.scss\";\nimport {\n StatusIcon,\n StatusIconVariant,\n} from \"../../internal/components/StatusIcon/StatusIcon\";\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 * When set, displays the AI mark inline after the title.\n * Use `true` for the sparkle only, or pass tooltip/popover configuration.\n */\n aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;\n } &\n /**\n * Data tracking id\n */\n DataTrackingId;\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 * - Optional AI mark inline after the title\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 aiMark,\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 <StatusIcon\n className={styles[\"status-icon\"]}\n size=\"small\"\n variant={\n status === \"danger\" ? \"error\" : (status as StatusIconVariant)\n }\n />\n <Text\n variant=\"headline\"\n el=\"h6\"\n size=\"small\"\n className={styles[\"title\"]}\n aiMark={aiMark || undefined}\n >\n {title}\n </Text>\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":["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-Dgq96HR4.js';
1
+ export { A as Alert, A as default } from './Alert-Cgo8pwhb.js';
2
2
  //# sourceMappingURL=Alert.js.map
@@ -5,7 +5,7 @@ import { S as SvgInfo } from './info-CYpG6tcI.js';
5
5
  import { S as SvgWarning } from './warning-c4Wj1rI4.js';
6
6
  import { S as SvgError } from './error-DR_wWdYY.js';
7
7
  import { S as SvgCheckCircle } from './check_circle-CM0ukqXv.js';
8
- import { B as Button } from './Button-ChQARW0y.js';
8
+ import { B as Button } from './Button-CjeF1Agb.js';
9
9
  import { I as Icon } from './Icon-BEwHECSM.js';
10
10
  import { c as cx } from './index-De1g9FRV.js';
11
11
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
@@ -106,4 +106,4 @@ const Announcement = forwardRef(
106
106
  Announcement.displayName = "Announcement";
107
107
 
108
108
  export { Announcement as A };
109
- //# sourceMappingURL=Announcement-DXF8slQf.js.map
109
+ //# sourceMappingURL=Announcement-4w6XjLcB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Announcement-DXF8slQf.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-4w6XjLcB.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-DXF8slQf.js';
1
+ export { A as Announcement, A as default } from './Announcement-4w6XjLcB.js';
2
2
  //# sourceMappingURL=Announcement.js.map
@@ -4,7 +4,7 @@ import { forwardRef, Children, cloneElement } from 'react';
4
4
  import { c as cx } from './index-De1g9FRV.js';
5
5
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
6
6
  import { L as Link } from './Link-DI4eVVdI.js';
7
- import { T as Text } from './Text-BTCfqeSr.js';
7
+ import { T as Text } from './Text-CXf0c8th.js';
8
8
  import { I as Icon } from './Icon-BEwHECSM.js';
9
9
 
10
10
  import './Breadcrumbs.css';const 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" }));
@@ -104,4 +104,4 @@ const Breadcrumbs = Object.assign(
104
104
  Breadcrumbs.displayName = "Breadcrumbs";
105
105
 
106
106
  export { Breadcrumbs as B };
107
- //# sourceMappingURL=Breadcrumbs-CklKFLSl.js.map
107
+ //# sourceMappingURL=Breadcrumbs-DcMJdSC5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs-CklKFLSl.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\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(\n forwardRef<HTMLElement, BreadcrumbsProps>(\n function BreadcrumbsInner(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 {\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);\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"names":["ChevronRight"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs-DcMJdSC5.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\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(\n forwardRef<HTMLElement, BreadcrumbsProps>(\n function BreadcrumbsInner(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 {\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);\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"names":["ChevronRight"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { B as Breadcrumbs, B as default } from './Breadcrumbs-CklKFLSl.js';
1
+ export { B as Breadcrumbs, B as default } from './Breadcrumbs-DcMJdSC5.js';
2
2
  //# sourceMappingURL=Breadcrumbs.js.map
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { useContext, useState, useEffect, useMemo, memo, forwardRef, useCallback } from 'react';
3
+ import { useContext, useState, useEffect, useMemo, memo, useId, forwardRef, useCallback } from 'react';
4
4
  import { I as Icon } from './Icon-BEwHECSM.js';
5
5
  import { S as Spinner } from './Spinner-B7tTWcP6.js';
6
6
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
@@ -8,7 +8,7 @@ import { u as usePrefersReducedMotion } from './usePrefersReducedMotion-DR9B_D6w
8
8
  import { u as useTheme } from './useTheme-B4i6a3bM.js';
9
9
  import { d as isEasingArray, e as interpolate$1, u as useConstant, f as motionValue, M as MotionConfigContext, c as useIsomorphicLayoutEffect, g as frame, j as cancelFrame, k as collectMotionValues, r as resolveElements, l as mixNumber, n as removeItem, o as isMotionValue, q as defaultOffset, s as createGeneratorEasing, t as fillOffset, v as isGenerator, x as secondsToMilliseconds, y as invariant, z as progress, V as VisualElement, A as createBox, B as isSVGElement, C as isSVGSVGElement, S as SVGVisualElement, H as HTMLVisualElement, D as visualElementStore, E as animateSingleValue, F as animateTarget, G as spring, m as motion } from './proxy-DEehATlA.js';
10
10
  import { c as cx } from './index-De1g9FRV.js';
11
- import { s as styles } from './Button.module-y-kLMLvt.js';
11
+ import { s as styles } from './Button.module-BuOc7iPY.js';
12
12
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
13
13
  import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
14
14
  import { useTrackingId } from './useTrackingId.js';
@@ -1792,8 +1792,12 @@ function interpolateRing(fromRing, toRing, string) {
1792
1792
  const SHARP_PATH = "m23 12-8.036-3.23L12.006 0 9.047 8.77 1 12l8.047 3.23L12.006 24l2.958-8.77z";
1793
1793
  const ROUND_PATH = "M17.425 13.854c1.665-.675 1.665-3.033 0-3.708l-2.73-1.106-.793-2.37c-.609-1.82-3.184-1.82-3.793 0l-.793 2.37-2.734 1.106c-1.666.674-1.666 3.034 0 3.708l2.734 1.106.793 2.37c.609 1.82 3.184 1.82 3.793 0l.793-2.37z";
1794
1794
  const SVG_STYLE = { width: "100%", height: "100%", display: "block" };
1795
- const GRADIENT_ID = "ai-mark-gradient";
1796
- function SVGMorph({ delay, paths, inheritColor = false }) {
1795
+ function SVGMorph({
1796
+ delay,
1797
+ paths,
1798
+ inheritColor = false,
1799
+ gradientId
1800
+ }) {
1797
1801
  const [pathIndex, setPathIndex] = useState(0);
1798
1802
  const progress = useMotionValue(0);
1799
1803
  const arrayOfIndex = useMemo(() => paths.map((_, i) => i), [paths]);
@@ -1821,7 +1825,7 @@ function SVGMorph({ delay, paths, inheritColor = false }) {
1821
1825
  return /* @__PURE__ */ jsx(
1822
1826
  motion.path,
1823
1827
  {
1824
- fill: inheritColor ? "currentColor" : `url(#${GRADIENT_ID})`,
1828
+ fill: inheritColor ? "currentColor" : `url(#${gradientId})`,
1825
1829
  d: path
1826
1830
  }
1827
1831
  );
@@ -1834,12 +1838,13 @@ const AiMarkIconAnimatedSegment = memo(
1834
1838
  inheritColor = false,
1835
1839
  spin = false
1836
1840
  }) => {
1837
- const fill = inheritColor ? "currentColor" : `url(#${GRADIENT_ID})`;
1841
+ const gradientId = useId().replace(/:/g, "");
1842
+ const fill = inheritColor ? "currentColor" : `url(#${gradientId})`;
1838
1843
  const { mode } = useTheme();
1839
1844
  const gradientDef = !inheritColor && /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
1840
1845
  "linearGradient",
1841
1846
  {
1842
- id: GRADIENT_ID,
1847
+ id: gradientId,
1843
1848
  x1: "0.4962",
1844
1849
  y1: "0.2483",
1845
1850
  x2: "-0.0543",
@@ -1898,7 +1903,8 @@ const AiMarkIconAnimatedSegment = memo(
1898
1903
  {
1899
1904
  paths: [SHARP_PATH, ROUND_PATH, SHARP_PATH],
1900
1905
  delay,
1901
- inheritColor
1906
+ inheritColor,
1907
+ gradientId
1902
1908
  }
1903
1909
  )
1904
1910
  ]
@@ -2185,4 +2191,4 @@ const Button = forwardRef(
2185
2191
  Button.displayName = "Button";
2186
2192
 
2187
2193
  export { AiMarkIconAnimated as A, Button as B };
2188
- //# sourceMappingURL=Button-ChQARW0y.js.map
2194
+ //# sourceMappingURL=Button-CjeF1Agb.js.map