@servicetitan/anvil2 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/{floating-ui.react-C_s3_nEb.js → AiMark-Cwc9KoyE.js} +767 -5
  3. package/dist/AiMark-Cwc9KoyE.js.map +1 -0
  4. package/dist/AiMark.css +260 -0
  5. package/dist/AiMark.d.ts +2 -0
  6. package/dist/AiMark.js +2 -0
  7. package/dist/AiMark.js.map +1 -0
  8. package/dist/{Alert-C_o2f78C.js → Alert-5qhkSUN3.js} +27 -13
  9. package/dist/Alert-5qhkSUN3.js.map +1 -0
  10. package/dist/Alert.css +23 -15
  11. package/dist/Alert.js +1 -1
  12. package/dist/{Announcement-CyrTvgP4.js → Announcement-fQmFNysn.js} +2 -2
  13. package/dist/{Announcement-CyrTvgP4.js.map → Announcement-fQmFNysn.js.map} +1 -1
  14. package/dist/Announcement.js +1 -1
  15. package/dist/{Avatar-CCnbKkCm.js → Avatar-BckUfs1N.js} +48 -46
  16. package/dist/{Avatar-CCnbKkCm.js.map → Avatar-BckUfs1N.js.map} +1 -1
  17. package/dist/Avatar-ChybzixS.js +35 -0
  18. package/dist/Avatar-ChybzixS.js.map +1 -0
  19. package/dist/Avatar.js +2 -2
  20. package/dist/Breadcrumbs-BXo2FO2n.js +107 -0
  21. package/dist/Breadcrumbs-BXo2FO2n.js.map +1 -0
  22. package/dist/Breadcrumbs.js +1 -1
  23. package/dist/Button-a_D7tUgM.js +4517 -0
  24. package/dist/Button-a_D7tUgM.js.map +1 -0
  25. package/dist/Button.js +1 -1
  26. package/dist/{ButtonToggle-DaYJWso_.js → ButtonToggle-CmY77gUp.js} +2 -2
  27. package/dist/{ButtonToggle-DaYJWso_.js.map → ButtonToggle-CmY77gUp.js.map} +1 -1
  28. package/dist/ButtonToggle.js +1 -1
  29. package/dist/{Calendar-SGlTt-bs.js → Calendar-Bd_WELZC.js} +130 -119
  30. package/dist/Calendar-Bd_WELZC.js.map +1 -0
  31. package/dist/{Calendar-C1U2npPP.js → Calendar-d2owsYe9.js} +2 -2
  32. package/dist/{Calendar-C1U2npPP.js.map → Calendar-d2owsYe9.js.map} +1 -1
  33. package/dist/Calendar.css +51 -51
  34. package/dist/Calendar.js +2 -2
  35. package/dist/Card-wz71dEVA.js.map +1 -1
  36. package/dist/{Checkbox-CtKUNeyu.js → Checkbox-BlFc6ZWy.js} +25 -14
  37. package/dist/Checkbox-BlFc6ZWy.js.map +1 -0
  38. package/dist/Checkbox-DbaZrUE2.js +52 -0
  39. package/dist/Checkbox-DbaZrUE2.js.map +1 -0
  40. package/dist/Checkbox.js +1 -1
  41. package/dist/{Chip-DjTAR0va.js → Chip-BnofwIUN.js} +43 -13
  42. package/dist/Chip-BnofwIUN.js.map +1 -0
  43. package/dist/Chip.css +44 -28
  44. package/dist/Chip.js +1 -1
  45. package/dist/{Combobox-By8-34bw.js → Combobox-BOxAzG9v.js} +186 -183
  46. package/dist/{Combobox-By8-34bw.js.map → Combobox-BOxAzG9v.js.map} +1 -1
  47. package/dist/Combobox.js +1 -1
  48. package/dist/{DataTable-BYOS6icI.js → DataTable-DK9xRjnq.js} +762 -651
  49. package/dist/DataTable-DK9xRjnq.js.map +1 -0
  50. package/dist/DataTable.css +84 -74
  51. package/dist/{DateFieldRange-C8Uzrboc.js → DateFieldRange-5Jrz6dLl.js} +20 -6
  52. package/dist/DateFieldRange-5Jrz6dLl.js.map +1 -0
  53. package/dist/DateFieldRange.js +1 -1
  54. package/dist/{DateFieldSingle-DrhLIjlK.js → DateFieldSingle-DWFr6Ew4.js} +8 -8
  55. package/dist/{DateFieldSingle-DrhLIjlK.js.map → DateFieldSingle-DWFr6Ew4.js.map} +1 -1
  56. package/dist/DateFieldSingle.js +1 -1
  57. package/dist/{DateFieldYearless-DbivK4Hm.js → DateFieldYearless-UU22A5-E.js} +22 -6
  58. package/dist/DateFieldYearless-UU22A5-E.js.map +1 -0
  59. package/dist/DateFieldYearless.js +1 -1
  60. package/dist/{DateFieldYearlessRange-BEqJe4Uf.js → DateFieldYearlessRange-BoPLxm6t.js} +3 -3
  61. package/dist/DateFieldYearlessRange-BoPLxm6t.js.map +1 -0
  62. package/dist/DateFieldYearlessRange.js +1 -1
  63. package/dist/{DaysOfTheWeek-BR32AA32.js → DaysOfTheWeek-4cfTmjzm.js} +4 -4
  64. package/dist/{DaysOfTheWeek-BR32AA32.js.map → DaysOfTheWeek-4cfTmjzm.js.map} +1 -1
  65. package/dist/DaysOfTheWeek.js +1 -1
  66. package/dist/{Details-Dxq_v3Qg.js → Details-CZOIpNP_.js} +8 -8
  67. package/dist/Details-CZOIpNP_.js.map +1 -0
  68. package/dist/Details.js +1 -1
  69. package/dist/{Dialog-CGhwkwvq.js → Dialog-Dn836WQM.js} +73 -73
  70. package/dist/Dialog-Dn836WQM.js.map +1 -0
  71. package/dist/Dialog.js +1 -1
  72. package/dist/{DialogCancelButton-DQDMzGeT.js → DialogCancelButton-B-jfihJr.js} +2 -2
  73. package/dist/{DialogCancelButton-DQDMzGeT.js.map → DialogCancelButton-B-jfihJr.js.map} +1 -1
  74. package/dist/{Drawer-DA4iAgt-.js → Drawer-CdDWt_Ba.js} +86 -86
  75. package/dist/Drawer-CdDWt_Ba.js.map +1 -0
  76. package/dist/Drawer.js +1 -1
  77. package/dist/DrillDown.js +1 -1
  78. package/dist/{EditCard-CLN0GBN_.js → EditCard-CZibhEfS.js} +3 -3
  79. package/dist/{EditCard-CLN0GBN_.js.map → EditCard-CZibhEfS.js.map} +1 -1
  80. package/dist/EditCard.js +1 -1
  81. package/dist/FieldLabel-Dr41PRxH.js +180 -0
  82. package/dist/FieldLabel-Dr41PRxH.js.map +1 -0
  83. package/dist/FieldLabel.css +33 -73
  84. package/dist/FieldLabel.js +1 -1
  85. package/dist/Grid-DeYIx5k4.js +149 -0
  86. package/dist/Grid-DeYIx5k4.js.map +1 -0
  87. package/dist/Grid.js +1 -1
  88. package/dist/{InputMask-HjaNCb73.js → InputMask-CcXqzqdx.js} +3 -3
  89. package/dist/{InputMask-HjaNCb73.js.map → InputMask-CcXqzqdx.js.map} +1 -1
  90. package/dist/InputMask.js +1 -1
  91. package/dist/{Layout-VfhlilMG.js → Layout-CISAxILX.js} +34 -33
  92. package/dist/Layout-CISAxILX.js.map +1 -0
  93. package/dist/Layout.js +1 -1
  94. package/dist/List--KhCpjZn.js +103 -0
  95. package/dist/List--KhCpjZn.js.map +1 -0
  96. package/dist/List.js +1 -1
  97. package/dist/{ListView-mujFK6mQ.js → ListView-D9cZUVer.js} +6 -6
  98. package/dist/ListView-D9cZUVer.js.map +1 -0
  99. package/dist/ListView.js +1 -1
  100. package/dist/{Listbox-BtAgBDRS.js → Listbox-CgDwzRfz.js} +6 -5
  101. package/dist/Listbox-CgDwzRfz.js.map +1 -0
  102. package/dist/Listbox.js +1 -1
  103. package/dist/{Menu-BXsmCP20.js → Menu-CPbuIsqC.js} +367 -367
  104. package/dist/Menu-CPbuIsqC.js.map +1 -0
  105. package/dist/Menu.js +1 -1
  106. package/dist/MultiSelectField.js +1 -1
  107. package/dist/{MultiSelectFieldSync-DGpGgu8q.js → MultiSelectFieldSync-Ei7DXzvs.js} +31 -18
  108. package/dist/MultiSelectFieldSync-Ei7DXzvs.js.map +1 -0
  109. package/dist/MultiSelectMenu.js +1 -1
  110. package/dist/{MultiSelectMenuSync-DiLddJDw.js → MultiSelectMenuSync-B_mXpTEe.js} +29 -9
  111. package/dist/MultiSelectMenuSync-B_mXpTEe.js.map +1 -0
  112. package/dist/{NumberField-svhZp1kB.js → NumberField-C5t47Obp.js} +16 -5
  113. package/dist/NumberField-C5t47Obp.js.map +1 -0
  114. package/dist/NumberField.js +1 -1
  115. package/dist/Overflow.css +27 -26
  116. package/dist/Overflow.js +11 -11
  117. package/dist/{Page-Be029Dij.js → Page-2hbQxUj6.js} +223 -207
  118. package/dist/Page-2hbQxUj6.js.map +1 -0
  119. package/dist/Page.css +78 -76
  120. package/dist/Page.js +1 -1
  121. package/dist/{Pagination-BAwqfl_2.js → Pagination-CjGmJ_rU.js} +20 -18
  122. package/dist/Pagination-CjGmJ_rU.js.map +1 -0
  123. package/dist/Pagination.js +1 -1
  124. package/dist/{Popover-D0qSKZ1J.js → Popover-CpU9VAcb.js} +356 -358
  125. package/dist/Popover-CpU9VAcb.js.map +1 -0
  126. package/dist/Popover.js +1 -1
  127. package/dist/{ProgressBar-JpRDW5vG.js → ProgressBar-FMuK8viJ.js} +2 -2
  128. package/dist/{ProgressBar-JpRDW5vG.js.map → ProgressBar-FMuK8viJ.js.map} +1 -1
  129. package/dist/ProgressBar.js +1 -1
  130. package/dist/{Radio-BQg7exDG.js → Radio-CZZd8phn.js} +25 -14
  131. package/dist/Radio-CZZd8phn.js.map +1 -0
  132. package/dist/Radio-DmtVWAmN.js +60 -0
  133. package/dist/Radio-DmtVWAmN.js.map +1 -0
  134. package/dist/Radio.js +1 -1
  135. package/dist/{SegmentedControl-7fDLhgvh.js → SegmentedControl-B9NWUF7s.js} +81 -77
  136. package/dist/{SegmentedControl-7fDLhgvh.js.map → SegmentedControl-B9NWUF7s.js.map} +1 -1
  137. package/dist/SegmentedControl.js +1 -1
  138. package/dist/SelectCard-8OmIDl1m.js +352 -0
  139. package/dist/SelectCard-8OmIDl1m.js.map +1 -0
  140. package/dist/SelectCard.js +1 -1
  141. package/dist/SelectField.js +1 -1
  142. package/dist/{SelectFieldLabel-Dr8HeW3N.js → SelectFieldLabel-C8PrXxDU.js} +5 -4
  143. package/dist/SelectFieldLabel-C8PrXxDU.js.map +1 -0
  144. package/dist/{SelectFieldSync-CJ2Ie_v1.js → SelectFieldSync-DGK8F2G9.js} +13 -13
  145. package/dist/SelectFieldSync-DGK8F2G9.js.map +1 -0
  146. package/dist/SelectMenu.js +1 -1
  147. package/dist/{SelectMenuSync-CJA_coqD.js → SelectMenuSync-CuZp9mnt.js} +29 -9
  148. package/dist/SelectMenuSync-CuZp9mnt.js.map +1 -0
  149. package/dist/{SelectOptions-Bf4xsFek.js → SelectOptions-CmElsiTd.js} +2 -2
  150. package/dist/{SelectOptions-Bf4xsFek.js.map → SelectOptions-CmElsiTd.js.map} +1 -1
  151. package/dist/{SelectTrigger-ObsnAKNp.js → SelectTrigger-KF8w6Ynk.js} +8 -6
  152. package/dist/SelectTrigger-KF8w6Ynk.js.map +1 -0
  153. package/dist/SelectTrigger.js +1 -1
  154. package/dist/{SelectTriggerBase-DKfOL2RJ.js → SelectTriggerBase-Bxmv6oXk.js} +4 -4
  155. package/dist/{SelectTriggerBase-DKfOL2RJ.js.map → SelectTriggerBase-Bxmv6oXk.js.map} +1 -1
  156. package/dist/{SideNav-KksbSQn7.js → SideNav-CrxYExjh.js} +137 -135
  157. package/dist/{SideNav-KksbSQn7.js.map → SideNav-CrxYExjh.js.map} +1 -1
  158. package/dist/SideNav.css +72 -55
  159. package/dist/SideNav.js +1 -1
  160. package/dist/Skeleton.css +18 -12
  161. package/dist/Skeleton.js +24 -11
  162. package/dist/Skeleton.js.map +1 -1
  163. package/dist/{Stepper-Dt8_ImvJ.js → Stepper-_27Lmm2K.js} +158 -158
  164. package/dist/{Stepper-Dt8_ImvJ.js.map → Stepper-_27Lmm2K.js.map} +1 -1
  165. package/dist/Stepper.js +1 -1
  166. package/dist/{Switch-DpPHr3G3.js → Switch-DPGz7wC_.js} +14 -2
  167. package/dist/Switch-DPGz7wC_.js.map +1 -0
  168. package/dist/Switch.js +1 -1
  169. package/dist/{Tab-DO7LaUbw.js → Tab-BZpTCG0i.js} +227 -223
  170. package/dist/Tab-BZpTCG0i.js.map +1 -0
  171. package/dist/Tab.js +1 -1
  172. package/dist/Table.js +1 -1
  173. package/dist/{Text-BJo4oMI2.js → Text-MVxRo6yx.js} +30 -12
  174. package/dist/Text-MVxRo6yx.js.map +1 -0
  175. package/dist/Text.css +37 -20
  176. package/dist/Text.js +1 -1
  177. package/dist/{TextField-DeHpgPag.js → TextField-BpSxZa0z.js} +21 -5
  178. package/dist/TextField-BpSxZa0z.js.map +1 -0
  179. package/dist/{TextField-BW8sJAls.js → TextField-D93iv_pk.js} +2 -2
  180. package/dist/{TextField-BW8sJAls.js.map → TextField-D93iv_pk.js.map} +1 -1
  181. package/dist/TextField.js +1 -1
  182. package/dist/{Textarea-DyqdMTvQ.js → Textarea-1u2fSMTh.js} +21 -5
  183. package/dist/Textarea-1u2fSMTh.js.map +1 -0
  184. package/dist/Textarea.js +1 -1
  185. package/dist/{TimeField-Dc0Y1JD-.js → TimeField-B4gLlBQJ.js} +6 -5
  186. package/dist/{TimeField-Dc0Y1JD-.js.map → TimeField-B4gLlBQJ.js.map} +1 -1
  187. package/dist/TimeField.js +1 -1
  188. package/dist/Toast.js +2 -2
  189. package/dist/{Toaster-b0-Ub3yt.js → Toaster-CSJfSOHx.js} +5 -5
  190. package/dist/Toaster-CSJfSOHx.js.map +1 -0
  191. package/dist/{Toaster-DikGo_hR.js → Toaster-DbWYnF_t.js} +2 -2
  192. package/dist/{Toaster-DikGo_hR.js.map → Toaster-DbWYnF_t.js.map} +1 -1
  193. package/dist/{Toolbar-DAuz4Gs2.js → Toolbar-CWRk523l.js} +150 -149
  194. package/dist/{Toolbar-DAuz4Gs2.js.map → Toolbar-CWRk523l.js.map} +1 -1
  195. package/dist/Toolbar.js +1 -1
  196. package/dist/{Tooltip-Bupqao9B.js → Tooltip-C1PBRnJv.js} +225 -228
  197. package/dist/Tooltip-C1PBRnJv.js.map +1 -0
  198. package/dist/Tooltip.js +1 -1
  199. package/dist/{YearlessDateInputWithPicker-DFi08TLG.js → YearlessDateInputWithPicker-BSl5z2zo.js} +2 -3
  200. package/dist/{YearlessDateInputWithPicker-DFi08TLG.js.map → YearlessDateInputWithPicker-BSl5z2zo.js.map} +1 -1
  201. package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
  202. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  203. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +3 -2
  204. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  205. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +3 -2
  206. package/dist/beta/components/MultiSelectField/internal/types.d.ts +4 -3
  207. package/dist/beta/components/MultiSelectField/types.d.ts +28 -7
  208. package/dist/beta/components/MultiSelectMenu/types.d.ts +15 -0
  209. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  210. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +4 -4
  211. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  212. package/dist/beta/components/SelectField/types.d.ts +5 -5
  213. package/dist/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +3 -1
  214. package/dist/beta/components/SelectMenu/types.d.ts +15 -0
  215. package/dist/beta/components/Table/DataTable/DataTable.d.ts +2 -15
  216. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +35 -0
  217. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +4 -3
  218. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +7 -0
  219. package/dist/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +34 -0
  220. package/dist/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +29 -0
  221. package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +2 -4
  222. package/dist/beta/components/Table/DataTable/types.d.ts +48 -1
  223. package/dist/beta/components/Table/createColumnHelper.d.ts +23 -68
  224. package/dist/beta/components/Table/types.d.ts +218 -42
  225. package/dist/beta/components/Toolbar/Toolbar.d.ts +175 -44
  226. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +5 -3
  227. package/dist/beta.js +9 -9
  228. package/dist/components/AiMark/AiMark.d.ts +87 -0
  229. package/dist/components/AiMark/index.d.ts +1 -0
  230. package/dist/components/AiMark/internal/AiMarkIconAnimated.d.ts +30 -0
  231. package/dist/components/AiMark/internal/AiMarkInteractive.d.ts +10 -0
  232. package/dist/components/AiMark/stories/aiMarkStoryArgTypes.d.ts +16 -0
  233. package/dist/components/Alert/Alert.d.ts +12 -0
  234. package/dist/components/Avatar/Avatar.d.ts +14 -0
  235. package/dist/components/Button/Button.d.ts +14 -6
  236. package/dist/components/Button/internal/buttonAiMarkUtils.d.ts +18 -0
  237. package/dist/components/Button/internal/index.d.ts +1 -0
  238. package/dist/components/Calendar/Calendar.d.ts +84 -26
  239. package/dist/components/Card/Card.d.ts +6 -1
  240. package/dist/components/Checkbox/Checkbox.d.ts +2 -0
  241. package/dist/components/Checkbox/CheckboxGroup.d.ts +27 -6
  242. package/dist/components/Chip/Chip.d.ts +10 -1
  243. package/dist/components/Chip/internal/Chip.d.ts +4 -0
  244. package/dist/components/Combobox/Combobox.d.ts +172 -1
  245. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  246. package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
  247. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  248. package/dist/components/DateFieldYearless/DateFieldYearless.d.ts +8 -1
  249. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
  250. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
  251. package/dist/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +7 -0
  252. package/dist/components/Dialog/Dialog.d.ts +96 -28
  253. package/dist/components/DrillDown/DrillDown.d.ts +7 -1
  254. package/dist/components/FieldLabel/FieldLabel.d.ts +2 -1
  255. package/dist/components/FieldLabel/internal/FieldLabelButton.d.ts +3 -2
  256. package/dist/components/Layout/Layout.d.ts +52 -44
  257. package/dist/components/ListView/ListView.d.ts +5 -5
  258. package/dist/components/Listbox/Listbox.d.ts +5 -23
  259. package/dist/components/Menu/Menu.d.ts +1 -4
  260. package/dist/components/NumberField/NumberField.d.ts +29 -2
  261. package/dist/components/Radio/Radio.d.ts +2 -0
  262. package/dist/components/Radio/RadioGroup.d.ts +27 -6
  263. package/dist/components/SelectCard/SelectCard.d.ts +1 -1
  264. package/dist/components/SelectCard/SelectCardGroup.d.ts +18 -1
  265. package/dist/components/SelectCard/internal/SelectCardContext.d.ts +11 -0
  266. package/dist/components/SelectCard/internal/SelectCardProvider.d.ts +11 -1
  267. package/dist/components/Skeleton/SkeletonCircle.d.ts +8 -0
  268. package/dist/components/Skeleton/SkeletonPill.d.ts +8 -0
  269. package/dist/components/Skeleton/SkeletonRectangle.d.ts +8 -0
  270. package/dist/components/Skeleton/SkeletonText.d.ts +6 -1
  271. package/dist/components/Skeleton/index.d.ts +3 -0
  272. package/dist/components/Switch/Switch.d.ts +11 -1
  273. package/dist/components/Text/types.d.ts +9 -0
  274. package/dist/components/TextField/internal/TextField.d.ts +11 -0
  275. package/dist/components/Textarea/Textarea.d.ts +9 -2
  276. package/dist/components/Toast/internal/Toast.d.ts +5 -0
  277. package/dist/components/Toast/toast.d.ts +1 -1
  278. package/dist/components/Toolbar/Toolbar.d.ts +8 -4
  279. package/dist/components/Toolbar/ToolbarSelect.d.ts +5 -3
  280. package/dist/components/index.d.ts +1 -0
  281. package/dist/{floating-ui.react-dom-imrk9N49.js → floating-ui.react-dom-CHrYz13o.js} +17 -2
  282. package/dist/floating-ui.react-dom-CHrYz13o.js.map +1 -0
  283. package/dist/hooks/index.d.ts +1 -0
  284. package/dist/hooks/usePrefersReducedMotion/index.d.ts +1 -0
  285. package/dist/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts +15 -0
  286. package/dist/index.js +135 -133
  287. package/dist/index.js.map +1 -1
  288. package/dist/internal/components/InlineMarkdown/InlineMarkdown.d.ts +23 -0
  289. package/dist/internal/components/InlineMarkdown/index.d.ts +1 -0
  290. package/dist/internal/components/Label/Label.d.ts +1 -1
  291. package/dist/internal/components/Popover/Popover.d.ts +3 -1
  292. package/dist/internal/components/index.d.ts +2 -1
  293. package/dist/internal/functions/index.d.ts +2 -0
  294. package/dist/internal/functions/inlineMarkdown.d.ts +20 -0
  295. package/dist/internal/functions/stripInlineMarkdown.d.ts +8 -0
  296. package/dist/internal/types/props.d.ts +2 -1
  297. package/dist/internal/types/selectFieldInternalTypes.d.ts +2 -2
  298. package/dist/internal/utils/index.d.ts +1 -0
  299. package/dist/internal/utils/inlineMarkdownRegex.d.ts +5 -0
  300. package/dist/{proxy-BbFHSE6L.js → proxy-DEehATlA.js} +8 -2
  301. package/dist/{proxy-BbFHSE6L.js.map → proxy-DEehATlA.js.map} +1 -1
  302. package/dist/stripInlineMarkdown-DyqLAQnf.js +25 -0
  303. package/dist/stripInlineMarkdown-DyqLAQnf.js.map +1 -0
  304. package/dist/{syncFilterUtils-vt8ldsES.js → syncFilterUtils-CsbCnI1-.js} +194 -194
  305. package/dist/{syncFilterUtils-vt8ldsES.js.map → syncFilterUtils-CsbCnI1-.js.map} +1 -1
  306. package/dist/types/ai-marks.d.ts +72 -0
  307. package/dist/types/index.d.ts +1 -0
  308. package/dist/{use-reduced-motion-DSpxmqyT.js → use-reduced-motion-CqjZZ5QB.js} +2 -2
  309. package/dist/{use-reduced-motion-DSpxmqyT.js.map → use-reduced-motion-CqjZZ5QB.js.map} +1 -1
  310. package/dist/{useDrilldown-wwXRpNgb.js → useDrilldown-C7eMBl68.js} +43 -41
  311. package/dist/{useDrilldown-wwXRpNgb.js.map → useDrilldown-C7eMBl68.js.map} +1 -1
  312. package/dist/{useInitialFocus-CdoVwSbr.js → useInitialFocus-DbaB-x5T.js} +2 -3
  313. package/dist/{useInitialFocus-CdoVwSbr.js.map → useInitialFocus-DbaB-x5T.js.map} +1 -1
  314. package/dist/{useMenuInteraction-zR_78KQC.js → useMenuInteraction-BwZ2ORo9.js} +8 -3
  315. package/dist/useMenuInteraction-BwZ2ORo9.js.map +1 -0
  316. package/dist/{index.esm-BZV0wNKZ.js → usePopoverTransitionStates-B1opfxxn.js} +88 -2
  317. package/dist/usePopoverTransitionStates-B1opfxxn.js.map +1 -0
  318. package/dist/usePrefersReducedMotion-DR9B_D6w.js +37 -0
  319. package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +1 -0
  320. package/dist/usePrefersReducedMotion.d.ts +2 -0
  321. package/dist/usePrefersReducedMotion.js +2 -0
  322. package/dist/usePrefersReducedMotion.js.map +1 -0
  323. package/dist/{useToggleSelection-BdXW3Zg3.js → useToggleSelection-BM8asdFj.js} +2 -2
  324. package/dist/{useToggleSelection-BdXW3Zg3.js.map → useToggleSelection-BM8asdFj.js.map} +1 -1
  325. package/package.json +4 -2
  326. package/dist/Alert-C_o2f78C.js.map +0 -1
  327. package/dist/Avatar--CnTAnfD.js +0 -35
  328. package/dist/Avatar--CnTAnfD.js.map +0 -1
  329. package/dist/Breadcrumbs-3Y7jnj-F.js +0 -105
  330. package/dist/Breadcrumbs-3Y7jnj-F.js.map +0 -1
  331. package/dist/Button-CVsGhVJz.js +0 -113
  332. package/dist/Button-CVsGhVJz.js.map +0 -1
  333. package/dist/Calendar-SGlTt-bs.js.map +0 -1
  334. package/dist/Checkbox-CjEKa5Iv.js +0 -50
  335. package/dist/Checkbox-CjEKa5Iv.js.map +0 -1
  336. package/dist/Checkbox-CtKUNeyu.js.map +0 -1
  337. package/dist/Chip-DjTAR0va.js.map +0 -1
  338. package/dist/DataTable-BYOS6icI.js.map +0 -1
  339. package/dist/DateFieldRange-C8Uzrboc.js.map +0 -1
  340. package/dist/DateFieldYearless-DbivK4Hm.js.map +0 -1
  341. package/dist/DateFieldYearlessRange-BEqJe4Uf.js.map +0 -1
  342. package/dist/Details-Dxq_v3Qg.js.map +0 -1
  343. package/dist/Dialog-CGhwkwvq.js.map +0 -1
  344. package/dist/Drawer-DA4iAgt-.js.map +0 -1
  345. package/dist/FieldLabel-DbMosKtd.js +0 -125
  346. package/dist/FieldLabel-DbMosKtd.js.map +0 -1
  347. package/dist/Grid-ONcUpb__.js +0 -147
  348. package/dist/Grid-ONcUpb__.js.map +0 -1
  349. package/dist/Layout-VfhlilMG.js.map +0 -1
  350. package/dist/List-CJZjElAQ.js +0 -101
  351. package/dist/List-CJZjElAQ.js.map +0 -1
  352. package/dist/ListView-mujFK6mQ.js.map +0 -1
  353. package/dist/Listbox-BtAgBDRS.js.map +0 -1
  354. package/dist/Menu-BXsmCP20.js.map +0 -1
  355. package/dist/MultiSelectFieldSync-DGpGgu8q.js.map +0 -1
  356. package/dist/MultiSelectMenuSync-DiLddJDw.js.map +0 -1
  357. package/dist/NumberField-svhZp1kB.js.map +0 -1
  358. package/dist/Page-Be029Dij.js.map +0 -1
  359. package/dist/Pagination-BAwqfl_2.js.map +0 -1
  360. package/dist/Popover-D0qSKZ1J.js.map +0 -1
  361. package/dist/Popover-DxZF6lbJ.js +0 -535
  362. package/dist/Popover-DxZF6lbJ.js.map +0 -1
  363. package/dist/Popover2.css +0 -68
  364. package/dist/Radio-BOq9UkpC.js +0 -60
  365. package/dist/Radio-BOq9UkpC.js.map +0 -1
  366. package/dist/Radio-BQg7exDG.js.map +0 -1
  367. package/dist/SelectCard-cu4MBuh8.js +0 -320
  368. package/dist/SelectCard-cu4MBuh8.js.map +0 -1
  369. package/dist/SelectFieldLabel-Dr8HeW3N.js.map +0 -1
  370. package/dist/SelectFieldSync-CJ2Ie_v1.js.map +0 -1
  371. package/dist/SelectMenuSync-CJA_coqD.js.map +0 -1
  372. package/dist/SelectTrigger-ObsnAKNp.js.map +0 -1
  373. package/dist/Switch-DpPHr3G3.js.map +0 -1
  374. package/dist/Tab-DO7LaUbw.js.map +0 -1
  375. package/dist/Text-BJo4oMI2.js.map +0 -1
  376. package/dist/TextField-DeHpgPag.js.map +0 -1
  377. package/dist/Textarea-DyqdMTvQ.js.map +0 -1
  378. package/dist/Toaster-b0-Ub3yt.js.map +0 -1
  379. package/dist/Tooltip-Bupqao9B.js.map +0 -1
  380. package/dist/floating-ui.react-C_s3_nEb.js.map +0 -1
  381. package/dist/floating-ui.react-dom-imrk9N49.js.map +0 -1
  382. package/dist/index.esm-BZV0wNKZ.js.map +0 -1
  383. package/dist/safePopover-BDso-xSH.js +0 -17
  384. package/dist/safePopover-BDso-xSH.js.map +0 -1
  385. package/dist/useMenuInteraction-zR_78KQC.js.map +0 -1
  386. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js +0 -68
  387. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js.map +0 -1
  388. package/dist/usePopoverTransitionStates-CDIoNUuf.js +0 -24
  389. package/dist/usePopoverTransitionStates-CDIoNUuf.js.map +0 -1
@@ -0,0 +1,260 @@
1
+ @layer starter, reset, base, state, application;
2
+ @layer reset {
3
+ ._field-label-button_l6rj1_2 {
4
+ all: unset;
5
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
6
+ font-size: 100%;
7
+ color: var(--foreground-color, #141414);
8
+ margin: 0;
9
+ padding: 0;
10
+ border-style: none;
11
+ border-width: 0;
12
+ border-color: transparent;
13
+ box-sizing: border-box;
14
+ display: revert-layer;
15
+ box-sizing: border-box;
16
+ }
17
+ }
18
+ @layer base {
19
+ ._field-label-button_l6rj1_2 {
20
+ display: inline-flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ width: 1.75rem;
24
+ height: 1.75rem;
25
+ cursor: pointer;
26
+ background-color: transparent;
27
+ border: none;
28
+ border-radius: 0.375rem;
29
+ padding: 0;
30
+ flex-shrink: 0;
31
+ outline-style: solid;
32
+ outline-width: 0;
33
+ outline-offset: 0.0625rem;
34
+ outline-color: var(--button-secondary-focus-ring-color, #0265DC);
35
+ transition: outline 200ms cubic-bezier(0, 0, 0.4, 1), background-color 200ms cubic-bezier(0, 0, 0.4, 1);
36
+ }
37
+ ._field-label-button__inner_l6rj1_36 {
38
+ display: inline-flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ width: 1.5rem;
42
+ height: 1.5rem;
43
+ border-radius: 0.375rem;
44
+ background-color: transparent;
45
+ transition: background-color 200ms cubic-bezier(0, 0, 0.4, 1);
46
+ pointer-events: none;
47
+ }
48
+ /**
49
+ * AiMark (and similar): icon can be larger than 16px; scale outer/inner with
50
+ * --field-label-button-outer / --field-label-button-inner on the button.
51
+ */
52
+ ._field-label-button-scaled_l6rj1_51 {
53
+ width: var(--field-label-button-outer, 1.75rem);
54
+ height: var(--field-label-button-outer, 1.75rem);
55
+ }
56
+ ._field-label-button-scaled_l6rj1_51 ._field-label-button__inner_l6rj1_36 {
57
+ width: var(--field-label-button-inner, 1.5rem);
58
+ height: var(--field-label-button-inner, 1.5rem);
59
+ }
60
+ }
61
+ @layer state {
62
+ ._field-label-button_l6rj1_2:not(:disabled, [aria-disabled=true]):hover ._field-label-button__inner_l6rj1_36 {
63
+ background-color: var(--button-secondary-background-color-hover, rgba(5, 5, 5, 0.1333333333));
64
+ }
65
+ ._field-label-button_l6rj1_2:not(:disabled, [aria-disabled=true]):focus-visible, ._field-label-button_l6rj1_2:not(:disabled, [aria-disabled=true]):focus {
66
+ outline-width: 0.125rem;
67
+ }
68
+ ._field-label-button_l6rj1_2:not(:disabled, [aria-disabled=true]):focus-visible ._field-label-button__inner_l6rj1_36, ._field-label-button_l6rj1_2:not(:disabled, [aria-disabled=true]):focus ._field-label-button__inner_l6rj1_36 {
69
+ background-color: var(--button-secondary-background-color-hover, rgba(5, 5, 5, 0.1333333333));
70
+ }
71
+ ._field-label-button_l6rj1_2:not(:disabled, [aria-disabled=true]):active ._field-label-button__inner_l6rj1_36 {
72
+ background-color: var(--button-secondary-background-color-active, rgba(7, 7, 7, 0.2078431373));
73
+ }
74
+ }
75
+ ._field-label-button_l6rj1_2:disabled, ._field-label-button_l6rj1_2._disabled_l6rj1_74, ._field-label-button_l6rj1_2[aria-disabled=true] {
76
+ cursor: not-allowed;
77
+ opacity: 0.6;
78
+ }@layer starter, reset, base, state, application;
79
+ @layer reset {
80
+ ._content_yo27y_2 {
81
+ all: unset;
82
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
83
+ font-size: 100%;
84
+ color: var(--foreground-color, #141414);
85
+ margin: 0;
86
+ padding: 0;
87
+ border-style: solid;
88
+ border-width: 0.0625rem;
89
+ border-color: var(--border-color-subdued, #dfe0e1);
90
+ box-sizing: border-box;
91
+ display: revert-layer;
92
+ }
93
+ }
94
+ @layer base {
95
+ ._content_yo27y_2 {
96
+ width: -moz-max-content;
97
+ width: max-content;
98
+ max-width: calc(100% - 1.5rem);
99
+ white-space: pre-line;
100
+ background-color: var(--background-color-strong, #f7f7f7);
101
+ border-radius: 0.375rem;
102
+ box-shadow: 0rem 0.125rem 0.5rem var(--shadow-color, rgba(20, 20, 20, 0.0784313725));
103
+ font-size: 1rem;
104
+ position: absolute !important;
105
+ opacity: 0;
106
+ transition: opacity 100ms, width 100ms, height 100ms, overlay 100ms allow-discrete, display 100ms allow-discrete;
107
+ }
108
+ ._content_yo27y_2 ._scroller_yo27y_29 {
109
+ height: inherit;
110
+ box-sizing: border-box;
111
+ padding: 1rem;
112
+ overflow: auto;
113
+ max-height: inherit;
114
+ min-height: inherit;
115
+ }
116
+ ._arrow_yo27y_37 {
117
+ fill: var(--background-color-strong, #f7f7f7);
118
+ position: absolute;
119
+ height: 0.875rem;
120
+ width: 0.875rem;
121
+ }
122
+ ._arrow_yo27y_37 path {
123
+ stroke: var(--border-color-subdued, #dfe0e1);
124
+ stroke-width: 0.0625rem;
125
+ stroke-dasharray: 0, 0.875rem, 0.8125rem;
126
+ stroke-linejoin: round;
127
+ }
128
+ }
129
+ @layer state {
130
+ ._content_yo27y_2:not(:popover-open):not(dialog[open]) {
131
+ display: none !important;
132
+ }
133
+ ._content_yo27y_2:popover-open {
134
+ opacity: 1;
135
+ }
136
+ @starting-style {
137
+ ._content_yo27y_2:popover-open {
138
+ opacity: 0;
139
+ }
140
+ }
141
+ ._content_yo27y_2._no-padding_yo27y_62 ._scroller_yo27y_29 {
142
+ padding-block: 0;
143
+ padding-inline: 0;
144
+ }
145
+ }@layer starter, reset, base, state, application;
146
+ @layer reset {
147
+ ._container_1h61l_2 {
148
+ all: unset;
149
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
150
+ font-size: 100%;
151
+ color: var(--foreground-color, #141414);
152
+ margin: 0;
153
+ padding: 0;
154
+ border-style: none;
155
+ border-width: 0;
156
+ border-color: transparent;
157
+ box-sizing: border-box;
158
+ display: flex;
159
+ }
160
+ }
161
+ @layer base {
162
+ ._tooltip-trigger_1h61l_17 {
163
+ display: contents !important;
164
+ }
165
+ ._container_1h61l_2 {
166
+ position: relative;
167
+ display: inline-flex;
168
+ align-items: center;
169
+ justify-content: center;
170
+ color: inherit;
171
+ }
172
+ ._container_1h61l_2 ._button-wrapper_1h61l_27 {
173
+ position: absolute;
174
+ top: 50%;
175
+ left: 50%;
176
+ transform: translate(-50%, -50%);
177
+ display: flex;
178
+ }
179
+ ._container_1h61l_2._collapse-block_1h61l_34:not(._with-padding_1h61l_34) {
180
+ height: 1rem;
181
+ }
182
+ ._container_1h61l_2._collapse-inline_1h61l_37:not(._with-padding_1h61l_34) {
183
+ width: 1rem;
184
+ }
185
+ ._container_1h61l_2._with-padding_1h61l_34 {
186
+ padding-block: 0.4375rem;
187
+ padding-inline: 0.4375rem;
188
+ border: 1px solid transparent;
189
+ }
190
+ ._container_1h61l_2._with-padding_1h61l_34._collapse-block_1h61l_34 {
191
+ padding-block: 0;
192
+ }
193
+ ._container_1h61l_2._with-padding_1h61l_34._collapse-inline_1h61l_37 {
194
+ padding-inline: 0;
195
+ }
196
+ }
197
+ @layer state {
198
+ ._container_1h61l_2._small_1h61l_53 {
199
+ height: 0.75rem;
200
+ width: 0.75rem;
201
+ }
202
+ ._container_1h61l_2._small_1h61l_53 ._button-wrapper_1h61l_27 button svg {
203
+ font-size: 0.75rem;
204
+ }
205
+ ._container_1h61l_2._medium_1h61l_60 {
206
+ height: 1rem;
207
+ width: 1rem;
208
+ }
209
+ ._container_1h61l_2._medium_1h61l_60 ._button-wrapper_1h61l_27 button svg {
210
+ font-size: 1rem;
211
+ }
212
+ ._container_1h61l_2._large_1h61l_67 {
213
+ height: 1.5rem;
214
+ width: 1.5rem;
215
+ }
216
+ ._container_1h61l_2._large_1h61l_67 ._button-wrapper_1h61l_27 button svg {
217
+ font-size: 1.5rem;
218
+ }
219
+ ._container_1h61l_2._xlarge_1h61l_74 {
220
+ height: 2rem;
221
+ width: 2rem;
222
+ }
223
+ ._container_1h61l_2._xlarge_1h61l_74 ._button-wrapper_1h61l_27 button svg {
224
+ font-size: 2rem;
225
+ }
226
+ ._container_1h61l_2._collapse-block_1h61l_34:not(._with-padding_1h61l_34)._small_1h61l_53 {
227
+ height: 0.75rem;
228
+ }
229
+ ._container_1h61l_2._collapse-block_1h61l_34:not(._with-padding_1h61l_34)._medium_1h61l_60 {
230
+ height: 1rem;
231
+ }
232
+ ._container_1h61l_2._collapse-block_1h61l_34:not(._with-padding_1h61l_34)._large_1h61l_67 {
233
+ height: 1.5rem;
234
+ }
235
+ ._container_1h61l_2._collapse-block_1h61l_34:not(._with-padding_1h61l_34)._xlarge_1h61l_74 {
236
+ height: 2rem;
237
+ }
238
+ ._container_1h61l_2._collapse-inline_1h61l_37:not(._with-padding_1h61l_34)._small_1h61l_53 {
239
+ width: 0.75rem;
240
+ }
241
+ ._container_1h61l_2._collapse-inline_1h61l_37:not(._with-padding_1h61l_34)._medium_1h61l_60 {
242
+ width: 1rem;
243
+ }
244
+ ._container_1h61l_2._collapse-inline_1h61l_37:not(._with-padding_1h61l_34)._large_1h61l_67 {
245
+ width: 1.5rem;
246
+ }
247
+ ._container_1h61l_2._collapse-inline_1h61l_37:not(._with-padding_1h61l_34)._xlarge_1h61l_74 {
248
+ width: 2rem;
249
+ }
250
+ ._container_1h61l_2._with-padding_1h61l_34._large_1h61l_67, ._container_1h61l_2._with-padding_1h61l_34._xlarge_1h61l_74 {
251
+ padding-block: 0.6875rem;
252
+ padding-inline: 0.6875rem;
253
+ }
254
+ ._container_1h61l_2._with-padding_1h61l_34._large_1h61l_67._collapse-block_1h61l_34, ._container_1h61l_2._with-padding_1h61l_34._xlarge_1h61l_74._collapse-block_1h61l_34 {
255
+ padding-block: 0;
256
+ }
257
+ ._container_1h61l_2._with-padding_1h61l_34._large_1h61l_67._collapse-inline_1h61l_37, ._container_1h61l_2._with-padding_1h61l_34._xlarge_1h61l_74._collapse-inline_1h61l_37 {
258
+ padding-inline: 0;
259
+ }
260
+ }
@@ -0,0 +1,2 @@
1
+ export * from './components/AiMark/index'
2
+ export {}
package/dist/AiMark.js ADDED
@@ -0,0 +1,2 @@
1
+ export { A as AiMark } from './AiMark-Cwc9KoyE.js';
2
+ //# sourceMappingURL=AiMark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiMark.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -6,28 +6,31 @@ 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
8
  import { I as Icon } from './Icon-DuIlne4x.js';
9
- import { B as Button } from './Button-CVsGhVJz.js';
9
+ import { B as Button } from './Button-a_D7tUgM.js';
10
+ import { T as Text } from './Text-MVxRo6yx.js';
10
11
  import { c as cx } from './index-De1g9FRV.js';
11
12
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DMDdfIah.js';
12
13
  import { useTrackingId } from './useTrackingId.js';
13
14
 
14
- import './Alert.css';const alert = "_alert_16him_2";
15
- const content = "_content_16him_34";
16
- const top = "_top_16him_42";
17
- const success = "_success_16him_60";
18
- const warning = "_warning_16him_66";
19
- const danger = "_danger_16him_72";
15
+ import './Alert.css';const alert = "_alert_k0yve_2";
16
+ const content = "_content_k0yve_34";
17
+ const top = "_top_k0yve_42";
18
+ const title = "_title_k0yve_48";
19
+ const success = "_success_k0yve_68";
20
+ const warning = "_warning_k0yve_74";
21
+ const danger = "_danger_k0yve_80";
20
22
  const styles = {
21
23
  alert: alert,
22
- "close-container": "_close-container_16him_27",
24
+ "close-container": "_close-container_k0yve_27",
23
25
  content: content,
24
26
  top: top,
25
- "title-container": "_title-container_16him_48",
26
- "status-icon": "_status-icon_16him_56",
27
+ "title-container": "_title-container_k0yve_48",
28
+ title: title,
29
+ "status-icon": "_status-icon_k0yve_64",
27
30
  success: success,
28
31
  warning: warning,
29
32
  danger: danger,
30
- "close-button": "_close-button_16him_80"
33
+ "close-button": "_close-button_k0yve_88"
31
34
  };
32
35
 
33
36
  const statusIconMap = {
@@ -46,6 +49,7 @@ const Alert = forwardRef(
46
49
  status = "info",
47
50
  style,
48
51
  onClose,
52
+ aiMark,
49
53
  ...rest
50
54
  } = componentProps;
51
55
  const data = {
@@ -87,7 +91,17 @@ const Alert = forwardRef(
87
91
  svg: statusIconMap[status ?? "info"]
88
92
  }
89
93
  ),
90
- title
94
+ /* @__PURE__ */ jsx(
95
+ Text,
96
+ {
97
+ variant: "headline",
98
+ el: "h6",
99
+ size: "small",
100
+ className: styles["title"],
101
+ aiMark: aiMark || void 0,
102
+ children: title
103
+ }
104
+ )
91
105
  ] }),
92
106
  !!onClose && /* @__PURE__ */ jsx("span", { className: styles["close-container"], children: /* @__PURE__ */ jsx(
93
107
  Button,
@@ -110,4 +124,4 @@ const Alert = forwardRef(
110
124
  Alert.displayName = "Alert";
111
125
 
112
126
  export { Alert as A };
113
- //# sourceMappingURL=Alert-C_o2f78C.js.map
127
+ //# sourceMappingURL=Alert-5qhkSUN3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert-5qhkSUN3.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\";\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\";\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\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 * - 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 <Icon\n size=\"large\"\n className={styles[\"status-icon\"]}\n svg={statusIconMap[status ?? \"info\"]}\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":["Info","Success","Warning","Danger","Close"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA,MAAM,aAAA,GAAgE;AAAA,EACpE,IAAA,EAAMA,OAAA;AAAA,EACN,OAAA,EAASC,cAAA;AAAA,EACT,OAAA,EAASC,UAAA;AAAA,EACT,MAAA,EAAQC;AACV,CAAA;AA+BO,MAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CAAC,OAAmB,GAAA,KAA6B;AAC/C,IAAA,MAAM,EAAE,YAAA,EAAc,cAAA,EAAe,GAAI,mBAAmB,KAAK,CAAA;AACjE,IAAA,MAAM;AAAA,MACJ,QAAA;AAAA,MACA,SAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA,GAAS,MAAA;AAAA,MACT,KAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;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,OAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAA,EAAa,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AAED,IAAA,MAAM,OAAA,GAAU,EAAA,CAAG,MAAA,CAAO,OAAO,GAAG,SAAA,EAAW;AAAA,MAC7C,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,UAAA,EAAS,OAAA;AAAA,QACT,IAAA,EAAK,QAAA;AAAA,QACL,SAAA,EAAW,OAAA;AAAA,QACX,KAAA,EAAO,aAAA;AAAA,QACN,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,KAAK,CAAA,EAC1B,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,iBAAiB,CAAA,EACvC,QAAA,EAAA;AAAA,8BAAA,GAAA;AAAA,gBAAC,IAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,OAAA;AAAA,kBACL,SAAA,EAAW,OAAO,aAAa,CAAA;AAAA,kBAC/B,GAAA,EAAK,aAAA,CAAc,MAAA,IAAU,MAAM;AAAA;AAAA,eACrC;AAAA,8BACA,GAAA;AAAA,gBAAC,IAAA;AAAA,gBAAA;AAAA,kBACC,OAAA,EAAQ,UAAA;AAAA,kBACR,EAAA,EAAG,IAAA;AAAA,kBACH,IAAA,EAAK,OAAA;AAAA,kBACL,SAAA,EAAW,OAAO,OAAO,CAAA;AAAA,kBACzB,QAAQ,MAAA,IAAU,MAAA;AAAA,kBAEjB,QAAA,EAAA;AAAA;AAAA;AACH,aAAA,EACF,CAAA;AAAA,YACC,CAAC,CAAC,OAAA,oBACD,GAAA,CAAC,UAAK,SAAA,EAAW,MAAA,CAAO,iBAAiB,CAAA,EACvC,QAAA,kBAAA,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAMC,QAAA;AAAA,gBACN,IAAA,EAAK,OAAA;AAAA,gBACL,UAAA,EAAW,OAAA;AAAA,gBACX,SAAA,EAAW,OAAO,cAAc,CAAA;AAAA,gBAChC,OAAA,EAAS,CAAC,CAAA,KAAqC,OAAA,CAAQ,CAAC,CAAA;AAAA,gBACxD,YAAA,EAAY,WAAW,MAAM,CAAA,MAAA;AAAA;AAAA,aAC/B,EACF;AAAA,WAAA,EAEJ,CAAA;AAAA,UACC,4BAAY,GAAA,CAAC,KAAA,EAAA,EAAI,WAAW,MAAA,CAAO,SAAS,GAAI,QAAA,EAAS;AAAA;AAAA;AAAA,KAC5D;AAAA,EAEJ;AACF;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA;;;;"}
package/dist/Alert.css CHANGED
@@ -1,6 +1,6 @@
1
1
  @layer starter, reset, base, state, application;
2
2
  @layer reset {
3
- ._alert_16him_2 {
3
+ ._alert_k0yve_2 {
4
4
  all: unset;
5
5
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
6
6
  font-size: 100%;
@@ -15,7 +15,7 @@
15
15
  }
16
16
  }
17
17
  @layer base {
18
- ._alert_16him_2 {
18
+ ._alert_k0yve_2 {
19
19
  border: 0.125rem solid var(--border-color-primary, #0265DC);
20
20
  border-radius: 0.375rem;
21
21
  flex-direction: column;
@@ -25,14 +25,14 @@
25
25
  background-color: var(--background-color, #ffffff);
26
26
  width: 100%;
27
27
  }
28
- ._alert_16him_2 ._close-container_16him_27 {
28
+ ._alert_k0yve_2 ._close-container_k0yve_27 {
29
29
  display: flex;
30
30
  justify-content: center;
31
31
  align-items: center;
32
32
  width: 1.5rem;
33
33
  height: 1.5rem;
34
34
  }
35
- ._alert_16him_2 ._content_16him_34 {
35
+ ._alert_k0yve_2 ._content_k0yve_34 {
36
36
  margin-inline-start: 2rem;
37
37
  margin-inline-end: 2rem;
38
38
  display: flex;
@@ -40,45 +40,53 @@
40
40
  gap: 0.5rem;
41
41
  font-size: 1rem;
42
42
  }
43
- ._alert_16him_2 ._top_16him_42 {
43
+ ._alert_k0yve_2 ._top_k0yve_42 {
44
44
  font-weight: 700;
45
45
  display: flex;
46
46
  align-items: flex-start;
47
47
  justify-content: space-between;
48
48
  }
49
- ._alert_16him_2 ._top_16him_42 ._title-container_16him_48 {
49
+ ._alert_k0yve_2 ._top_k0yve_42 ._title-container_k0yve_48 {
50
50
  display: flex;
51
- align-items: center;
51
+ align-items: flex-start;
52
52
  gap: 0.5rem;
53
+ min-width: 0;
54
+ }
55
+ ._alert_k0yve_2 ._top_k0yve_42 ._title_k0yve_48 {
53
56
  font-size: 1rem;
57
+ font-weight: 700;
58
+ font-family: inherit;
59
+ line-height: 1.5;
60
+ letter-spacing: normal;
61
+ margin-block-end: 0;
54
62
  }
55
63
  }
56
64
  @layer state {
57
- ._alert_16him_2 ._status-icon_16him_56 {
65
+ ._alert_k0yve_2 ._status-icon_k0yve_64 {
58
66
  color: var(--status-color-info, #0265DC);
59
67
  align-self: flex-start;
60
68
  }
61
- ._alert_16him_2._success_16him_60 {
69
+ ._alert_k0yve_2._success_k0yve_68 {
62
70
  border-color: var(--status-color-success, #007A4D);
63
71
  }
64
- ._alert_16him_2._success_16him_60 ._status-icon_16him_56 {
72
+ ._alert_k0yve_2._success_k0yve_68 ._status-icon_k0yve_64 {
65
73
  color: var(--status-color-success, #007A4D);
66
74
  }
67
- ._alert_16him_2._warning_16him_66 {
75
+ ._alert_k0yve_2._warning_k0yve_74 {
68
76
  border-color: var(--status-color-warning, #ffbe00);
69
77
  }
70
- ._alert_16him_2._warning_16him_66 ._status-icon_16him_56 {
78
+ ._alert_k0yve_2._warning_k0yve_74 ._status-icon_k0yve_64 {
71
79
  color: var(--status-color-warning, #ffbe00);
72
80
  }
73
- ._alert_16him_2._danger_16him_72 {
81
+ ._alert_k0yve_2._danger_k0yve_80 {
74
82
  border-color: var(--status-color-danger, #e13212);
75
83
  }
76
- ._alert_16him_2._danger_16him_72 ._status-icon_16him_56 {
84
+ ._alert_k0yve_2._danger_k0yve_80 ._status-icon_k0yve_64 {
77
85
  color: var(--status-color-danger, #e13212);
78
86
  }
79
87
  }
80
88
  @layer application {
81
- ._alert_16him_2 ._close-container_16him_27 ._close-button_16him_80 {
89
+ ._alert_k0yve_2 ._close-container_k0yve_27 ._close-button_k0yve_88 {
82
90
  color: var(--foreground-color, #141414);
83
91
  }
84
92
  }
package/dist/Alert.js CHANGED
@@ -1,2 +1,2 @@
1
- export { A as Alert, A as default } from './Alert-C_o2f78C.js';
1
+ export { A as Alert, A as default } from './Alert-5qhkSUN3.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-CVsGhVJz.js';
8
+ import { B as Button } from './Button-a_D7tUgM.js';
9
9
  import { I as Icon } from './Icon-DuIlne4x.js';
10
10
  import { c as cx } from './index-De1g9FRV.js';
11
11
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DMDdfIah.js';
@@ -106,4 +106,4 @@ const Announcement = forwardRef(
106
106
  Announcement.displayName = "Announcement";
107
107
 
108
108
  export { Announcement as A };
109
- //# sourceMappingURL=Announcement-CyrTvgP4.js.map
109
+ //# sourceMappingURL=Announcement-fQmFNysn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Announcement-CyrTvgP4.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-fQmFNysn.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-CyrTvgP4.js';
1
+ export { A as Announcement, A as default } from './Announcement-fQmFNysn.js';
2
2
  //# sourceMappingURL=Announcement.js.map
@@ -206,51 +206,53 @@ const AvatarGroup = forwardRef(
206
206
  );
207
207
  AvatarGroup.displayName = "AvatarGroup";
208
208
 
209
- const AvatarElement = forwardRef((props, ref) => {
210
- const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
211
- const { name, style, ...rest } = componentProps;
212
- const styleWithLayout = useMemo(() => {
213
- return {
214
- ...layoutStyles,
215
- ...style
216
- };
217
- }, [layoutStyles, style]);
218
- const initials = getInitial(name);
219
- return /* @__PURE__ */ jsx(
220
- AvatarBase,
221
- {
222
- style: styleWithLayout,
223
- "data-anv": "avatar",
224
- name,
225
- ref,
226
- initials: rest.size === "small" ? initials?.[0] : initials,
227
- ...rest
228
- }
229
- );
230
- });
231
- AvatarElement.displayName = "Avatar";
232
- const Avatar = Object.assign(AvatarElement, {
233
- /**
234
- * AvatarGroup component for displaying multiple avatars in a group.
235
- *
236
- * Features:
237
- * - Displays multiple avatars in a stacked layout
238
- * - Handles overflow with a count indicator
239
- * - Maintains consistent sizing across all avatars
240
- * - Supports custom styling and layout
241
- * - Automatically adjusts z-index for proper stacking
242
- * - Fully accessible with screen reader support
243
- *
244
- * @example
245
- * <Avatar.Group max={3}>
246
- * <Avatar name="John Doe" />
247
- * <Avatar name="Jane Smith" />
248
- * <Avatar name="Bob Johnson" />
249
- * <Avatar name="Alice Brown" />
250
- * </Avatar.Group>
251
- */
252
- Group: AvatarGroup
253
- });
209
+ const Avatar = Object.assign(
210
+ forwardRef(function AvatarInner(props, ref) {
211
+ const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
212
+ const { name, style, ...rest } = componentProps;
213
+ const styleWithLayout = useMemo(() => {
214
+ return {
215
+ ...layoutStyles,
216
+ ...style
217
+ };
218
+ }, [layoutStyles, style]);
219
+ const initials = getInitial(name);
220
+ return /* @__PURE__ */ jsx(
221
+ AvatarBase,
222
+ {
223
+ style: styleWithLayout,
224
+ "data-anv": "avatar",
225
+ name,
226
+ ref,
227
+ initials: rest.size === "small" ? initials?.[0] : initials,
228
+ ...rest
229
+ }
230
+ );
231
+ }),
232
+ {
233
+ /**
234
+ * AvatarGroup component for displaying multiple avatars in a group.
235
+ *
236
+ * Features:
237
+ * - Displays multiple avatars in a stacked layout
238
+ * - Handles overflow with a count indicator
239
+ * - Maintains consistent sizing across all avatars
240
+ * - Supports custom styling and layout
241
+ * - Automatically adjusts z-index for proper stacking
242
+ * - Fully accessible with screen reader support
243
+ *
244
+ * @example
245
+ * <Avatar.Group max={3}>
246
+ * <Avatar name="John Doe" />
247
+ * <Avatar name="Jane Smith" />
248
+ * <Avatar name="Bob Johnson" />
249
+ * <Avatar name="Alice Brown" />
250
+ * </Avatar.Group>
251
+ */
252
+ Group: AvatarGroup
253
+ }
254
+ );
255
+ Avatar.displayName = "Avatar";
254
256
 
255
257
  export { AvatarGroup as A, Avatar as a };
256
- //# sourceMappingURL=Avatar-CCnbKkCm.js.map
258
+ //# sourceMappingURL=Avatar-BckUfs1N.js.map