@servicetitan/anvil2 2.7.1 → 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 (317) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/dist/{floating-ui.react-aKYfs-aw.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/{Breadcrumbs-C_WK9Yul.js → Breadcrumbs-BXo2FO2n.js} +3 -3
  16. package/dist/{Breadcrumbs-C_WK9Yul.js.map → Breadcrumbs-BXo2FO2n.js.map} +1 -1
  17. package/dist/Breadcrumbs.js +1 -1
  18. package/dist/Button-a_D7tUgM.js +4517 -0
  19. package/dist/Button-a_D7tUgM.js.map +1 -0
  20. package/dist/Button.js +1 -1
  21. package/dist/{ButtonToggle-DaYJWso_.js → ButtonToggle-CmY77gUp.js} +2 -2
  22. package/dist/{ButtonToggle-DaYJWso_.js.map → ButtonToggle-CmY77gUp.js.map} +1 -1
  23. package/dist/ButtonToggle.js +1 -1
  24. package/dist/{Calendar-Frpv5rRY.js → Calendar-Bd_WELZC.js} +3 -3
  25. package/dist/{Calendar-Frpv5rRY.js.map → Calendar-Bd_WELZC.js.map} +1 -1
  26. package/dist/{Calendar-BTStJPV1.js → Calendar-d2owsYe9.js} +2 -2
  27. package/dist/{Calendar-BTStJPV1.js.map → Calendar-d2owsYe9.js.map} +1 -1
  28. package/dist/Calendar.js +2 -2
  29. package/dist/Card-wz71dEVA.js.map +1 -1
  30. package/dist/{Checkbox-Drgai_lS.js → Checkbox-BlFc6ZWy.js} +24 -13
  31. package/dist/Checkbox-BlFc6ZWy.js.map +1 -0
  32. package/dist/{Checkbox-CTZdZym4.js → Checkbox-DbaZrUE2.js} +2 -2
  33. package/dist/{Checkbox-CTZdZym4.js.map → Checkbox-DbaZrUE2.js.map} +1 -1
  34. package/dist/Checkbox.js +1 -1
  35. package/dist/{Chip-CVyEctAz.js → Chip-BnofwIUN.js} +42 -12
  36. package/dist/Chip-BnofwIUN.js.map +1 -0
  37. package/dist/Chip.css +44 -28
  38. package/dist/Chip.js +1 -1
  39. package/dist/{Combobox-BRtfrYyZ.js → Combobox-BOxAzG9v.js} +4 -4
  40. package/dist/{Combobox-BRtfrYyZ.js.map → Combobox-BOxAzG9v.js.map} +1 -1
  41. package/dist/Combobox.js +1 -1
  42. package/dist/{DataTable-BmVPjMMg.js → DataTable-DK9xRjnq.js} +104 -38
  43. package/dist/DataTable-DK9xRjnq.js.map +1 -0
  44. package/dist/DataTable.css +84 -74
  45. package/dist/{DateFieldRange-D9DtlkSQ.js → DateFieldRange-5Jrz6dLl.js} +6 -6
  46. package/dist/{DateFieldRange-D9DtlkSQ.js.map → DateFieldRange-5Jrz6dLl.js.map} +1 -1
  47. package/dist/DateFieldRange.js +1 -1
  48. package/dist/{DateFieldSingle-CkdeCUJv.js → DateFieldSingle-DWFr6Ew4.js} +6 -6
  49. package/dist/{DateFieldSingle-CkdeCUJv.js.map → DateFieldSingle-DWFr6Ew4.js.map} +1 -1
  50. package/dist/DateFieldSingle.js +1 -1
  51. package/dist/{DateFieldYearless-b81ZcYdp.js → DateFieldYearless-UU22A5-E.js} +22 -6
  52. package/dist/DateFieldYearless-UU22A5-E.js.map +1 -0
  53. package/dist/DateFieldYearless.js +1 -1
  54. package/dist/{DateFieldYearlessRange-ClAFzIDD.js → DateFieldYearlessRange-BoPLxm6t.js} +3 -3
  55. package/dist/DateFieldYearlessRange-BoPLxm6t.js.map +1 -0
  56. package/dist/DateFieldYearlessRange.js +1 -1
  57. package/dist/{DaysOfTheWeek-2Zeh79oR.js → DaysOfTheWeek-4cfTmjzm.js} +4 -4
  58. package/dist/{DaysOfTheWeek-2Zeh79oR.js.map → DaysOfTheWeek-4cfTmjzm.js.map} +1 -1
  59. package/dist/DaysOfTheWeek.js +1 -1
  60. package/dist/{Dialog-CloZWa1Q.js → Dialog-Dn836WQM.js} +5 -5
  61. package/dist/{Dialog-CloZWa1Q.js.map → Dialog-Dn836WQM.js.map} +1 -1
  62. package/dist/Dialog.js +1 -1
  63. package/dist/{DialogCancelButton-DQDMzGeT.js → DialogCancelButton-B-jfihJr.js} +2 -2
  64. package/dist/{DialogCancelButton-DQDMzGeT.js.map → DialogCancelButton-B-jfihJr.js.map} +1 -1
  65. package/dist/{Drawer-CfkoH081.js → Drawer-CdDWt_Ba.js} +5 -5
  66. package/dist/{Drawer-CfkoH081.js.map → Drawer-CdDWt_Ba.js.map} +1 -1
  67. package/dist/Drawer.js +1 -1
  68. package/dist/DrillDown.js +1 -1
  69. package/dist/{EditCard-CLN0GBN_.js → EditCard-CZibhEfS.js} +3 -3
  70. package/dist/{EditCard-CLN0GBN_.js.map → EditCard-CZibhEfS.js.map} +1 -1
  71. package/dist/EditCard.js +1 -1
  72. package/dist/FieldLabel-Dr41PRxH.js +180 -0
  73. package/dist/FieldLabel-Dr41PRxH.js.map +1 -0
  74. package/dist/FieldLabel.css +33 -73
  75. package/dist/FieldLabel.js +1 -1
  76. package/dist/{InputMask-CI4Q5UwG.js → InputMask-CcXqzqdx.js} +3 -3
  77. package/dist/{InputMask-CI4Q5UwG.js.map → InputMask-CcXqzqdx.js.map} +1 -1
  78. package/dist/InputMask.js +1 -1
  79. package/dist/{ListView-DAbBuss4.js → ListView-D9cZUVer.js} +2 -2
  80. package/dist/{ListView-DAbBuss4.js.map → ListView-D9cZUVer.js.map} +1 -1
  81. package/dist/ListView.js +1 -1
  82. package/dist/{Listbox-D_T55BFX.js → Listbox-CgDwzRfz.js} +2 -2
  83. package/dist/{Listbox-D_T55BFX.js.map → Listbox-CgDwzRfz.js.map} +1 -1
  84. package/dist/Listbox.js +1 -1
  85. package/dist/{Menu-CRoJYJ53.js → Menu-CPbuIsqC.js} +3 -4
  86. package/dist/{Menu-CRoJYJ53.js.map → Menu-CPbuIsqC.js.map} +1 -1
  87. package/dist/Menu.js +1 -1
  88. package/dist/MultiSelectField.js +1 -1
  89. package/dist/{MultiSelectFieldSync-CSOitvtu.js → MultiSelectFieldSync-Ei7DXzvs.js} +31 -18
  90. package/dist/MultiSelectFieldSync-Ei7DXzvs.js.map +1 -0
  91. package/dist/MultiSelectMenu.js +1 -1
  92. package/dist/{MultiSelectMenuSync-62OeGmkz.js → MultiSelectMenuSync-B_mXpTEe.js} +3 -3
  93. package/dist/{MultiSelectMenuSync-62OeGmkz.js.map → MultiSelectMenuSync-B_mXpTEe.js.map} +1 -1
  94. package/dist/{NumberField-CHBXBMSj.js → NumberField-C5t47Obp.js} +16 -5
  95. package/dist/NumberField-C5t47Obp.js.map +1 -0
  96. package/dist/NumberField.js +1 -1
  97. package/dist/{Page-DtSjnBJL.js → Page-2hbQxUj6.js} +16 -12
  98. package/dist/{Page-DtSjnBJL.js.map → Page-2hbQxUj6.js.map} +1 -1
  99. package/dist/Page.js +1 -1
  100. package/dist/{Pagination-CbBte3GQ.js → Pagination-CjGmJ_rU.js} +5 -5
  101. package/dist/{Pagination-CbBte3GQ.js.map → Pagination-CjGmJ_rU.js.map} +1 -1
  102. package/dist/Pagination.js +1 -1
  103. package/dist/{Popover-Rha0q-Pv.js → Popover-CpU9VAcb.js} +4 -6
  104. package/dist/{Popover-Rha0q-Pv.js.map → Popover-CpU9VAcb.js.map} +1 -1
  105. package/dist/Popover.js +1 -1
  106. package/dist/{ProgressBar-DEaMqbM-.js → ProgressBar-FMuK8viJ.js} +2 -2
  107. package/dist/{ProgressBar-DEaMqbM-.js.map → ProgressBar-FMuK8viJ.js.map} +1 -1
  108. package/dist/ProgressBar.js +1 -1
  109. package/dist/{Radio-Bw2LDl9G.js → Radio-CZZd8phn.js} +24 -13
  110. package/dist/Radio-CZZd8phn.js.map +1 -0
  111. package/dist/{Radio-CCvu8mbI.js → Radio-DmtVWAmN.js} +2 -2
  112. package/dist/{Radio-CCvu8mbI.js.map → Radio-DmtVWAmN.js.map} +1 -1
  113. package/dist/Radio.js +1 -1
  114. package/dist/{SegmentedControl-BAi4pnFe.js → SegmentedControl-B9NWUF7s.js} +3 -3
  115. package/dist/{SegmentedControl-BAi4pnFe.js.map → SegmentedControl-B9NWUF7s.js.map} +1 -1
  116. package/dist/SegmentedControl.js +1 -1
  117. package/dist/{SelectCard-ZaAD0wR1.js → SelectCard-8OmIDl1m.js} +51 -24
  118. package/dist/SelectCard-8OmIDl1m.js.map +1 -0
  119. package/dist/SelectCard.js +1 -1
  120. package/dist/SelectField.js +1 -1
  121. package/dist/{SelectFieldLabel-EJCXA02B.js → SelectFieldLabel-C8PrXxDU.js} +5 -4
  122. package/dist/SelectFieldLabel-C8PrXxDU.js.map +1 -0
  123. package/dist/{SelectFieldSync-DA54WXOk.js → SelectFieldSync-DGK8F2G9.js} +13 -13
  124. package/dist/SelectFieldSync-DGK8F2G9.js.map +1 -0
  125. package/dist/SelectMenu.js +1 -1
  126. package/dist/{SelectMenuSync-BQaSTcaN.js → SelectMenuSync-CuZp9mnt.js} +3 -3
  127. package/dist/{SelectMenuSync-BQaSTcaN.js.map → SelectMenuSync-CuZp9mnt.js.map} +1 -1
  128. package/dist/{SelectOptions-D-DzWmKE.js → SelectOptions-CmElsiTd.js} +2 -2
  129. package/dist/{SelectOptions-D-DzWmKE.js.map → SelectOptions-CmElsiTd.js.map} +1 -1
  130. package/dist/{SelectTrigger-DWyRndmY.js → SelectTrigger-KF8w6Ynk.js} +7 -5
  131. package/dist/SelectTrigger-KF8w6Ynk.js.map +1 -0
  132. package/dist/SelectTrigger.js +1 -1
  133. package/dist/{SelectTriggerBase-B6aZd2a6.js → SelectTriggerBase-Bxmv6oXk.js} +4 -4
  134. package/dist/{SelectTriggerBase-B6aZd2a6.js.map → SelectTriggerBase-Bxmv6oXk.js.map} +1 -1
  135. package/dist/{SideNav-CxHemV3H.js → SideNav-CrxYExjh.js} +11 -11
  136. package/dist/{SideNav-CxHemV3H.js.map → SideNav-CrxYExjh.js.map} +1 -1
  137. package/dist/SideNav.css +72 -55
  138. package/dist/SideNav.js +1 -1
  139. package/dist/Skeleton.css +18 -12
  140. package/dist/Skeleton.js +24 -11
  141. package/dist/Skeleton.js.map +1 -1
  142. package/dist/{Stepper-CQUXV6P4.js → Stepper-_27Lmm2K.js} +3 -3
  143. package/dist/{Stepper-CQUXV6P4.js.map → Stepper-_27Lmm2K.js.map} +1 -1
  144. package/dist/Stepper.js +1 -1
  145. package/dist/{Switch-DpPHr3G3.js → Switch-DPGz7wC_.js} +14 -2
  146. package/dist/Switch-DPGz7wC_.js.map +1 -0
  147. package/dist/Switch.js +1 -1
  148. package/dist/{Tab-BGGNcz9S.js → Tab-BZpTCG0i.js} +3 -3
  149. package/dist/{Tab-BGGNcz9S.js.map → Tab-BZpTCG0i.js.map} +1 -1
  150. package/dist/Tab.js +1 -1
  151. package/dist/Table.js +1 -1
  152. package/dist/{Text-BJo4oMI2.js → Text-MVxRo6yx.js} +30 -12
  153. package/dist/Text-MVxRo6yx.js.map +1 -0
  154. package/dist/Text.css +37 -20
  155. package/dist/Text.js +1 -1
  156. package/dist/{TextField-o8zvVFDk.js → TextField-BpSxZa0z.js} +21 -5
  157. package/dist/TextField-BpSxZa0z.js.map +1 -0
  158. package/dist/{TextField-CMv9CpBq.js → TextField-D93iv_pk.js} +2 -2
  159. package/dist/{TextField-CMv9CpBq.js.map → TextField-D93iv_pk.js.map} +1 -1
  160. package/dist/TextField.js +1 -1
  161. package/dist/{Textarea-B4bBvO8c.js → Textarea-1u2fSMTh.js} +21 -5
  162. package/dist/Textarea-1u2fSMTh.js.map +1 -0
  163. package/dist/Textarea.js +1 -1
  164. package/dist/{TimeField-BEgnjk4R.js → TimeField-B4gLlBQJ.js} +6 -5
  165. package/dist/{TimeField-BEgnjk4R.js.map → TimeField-B4gLlBQJ.js.map} +1 -1
  166. package/dist/TimeField.js +1 -1
  167. package/dist/Toast.js +2 -2
  168. package/dist/{Toaster-6_LVKok2.js → Toaster-CSJfSOHx.js} +5 -5
  169. package/dist/Toaster-CSJfSOHx.js.map +1 -0
  170. package/dist/{Toaster-B38WlKC7.js → Toaster-DbWYnF_t.js} +2 -2
  171. package/dist/{Toaster-B38WlKC7.js.map → Toaster-DbWYnF_t.js.map} +1 -1
  172. package/dist/{Toolbar-0EKhrvZN.js → Toolbar-CWRk523l.js} +15 -15
  173. package/dist/{Toolbar-0EKhrvZN.js.map → Toolbar-CWRk523l.js.map} +1 -1
  174. package/dist/Toolbar.js +1 -1
  175. package/dist/{Tooltip-BHwSTwsv.js → Tooltip-C1PBRnJv.js} +2 -3
  176. package/dist/{Tooltip-BHwSTwsv.js.map → Tooltip-C1PBRnJv.js.map} +1 -1
  177. package/dist/Tooltip.js +1 -1
  178. package/dist/{YearlessDateInputWithPicker-BC4lRuny.js → YearlessDateInputWithPicker-BSl5z2zo.js} +2 -3
  179. package/dist/{YearlessDateInputWithPicker-BC4lRuny.js.map → YearlessDateInputWithPicker-BSl5z2zo.js.map} +1 -1
  180. package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
  181. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  182. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +3 -2
  183. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  184. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +3 -2
  185. package/dist/beta/components/MultiSelectField/internal/types.d.ts +4 -3
  186. package/dist/beta/components/MultiSelectField/types.d.ts +28 -7
  187. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  188. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +4 -4
  189. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  190. package/dist/beta/components/SelectField/types.d.ts +5 -5
  191. package/dist/beta/components/Table/DataTable/DataTable.d.ts +2 -2
  192. package/dist/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +29 -0
  193. package/dist/beta/components/Table/DataTable/types.d.ts +30 -0
  194. package/dist/beta/components/Toolbar/Toolbar.d.ts +10 -6
  195. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +5 -3
  196. package/dist/beta.js +9 -9
  197. package/dist/components/AiMark/AiMark.d.ts +87 -0
  198. package/dist/components/AiMark/index.d.ts +1 -0
  199. package/dist/components/AiMark/internal/AiMarkIconAnimated.d.ts +30 -0
  200. package/dist/components/AiMark/internal/AiMarkInteractive.d.ts +10 -0
  201. package/dist/components/AiMark/stories/aiMarkStoryArgTypes.d.ts +16 -0
  202. package/dist/components/Alert/Alert.d.ts +12 -0
  203. package/dist/components/Button/Button.d.ts +14 -6
  204. package/dist/components/Button/internal/buttonAiMarkUtils.d.ts +18 -0
  205. package/dist/components/Button/internal/index.d.ts +1 -0
  206. package/dist/components/Card/Card.d.ts +6 -1
  207. package/dist/components/Checkbox/Checkbox.d.ts +2 -0
  208. package/dist/components/Checkbox/CheckboxGroup.d.ts +27 -6
  209. package/dist/components/Chip/Chip.d.ts +10 -1
  210. package/dist/components/Chip/internal/Chip.d.ts +4 -0
  211. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  212. package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
  213. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  214. package/dist/components/DateFieldYearless/DateFieldYearless.d.ts +8 -1
  215. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
  216. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
  217. package/dist/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +7 -0
  218. package/dist/components/FieldLabel/FieldLabel.d.ts +2 -1
  219. package/dist/components/FieldLabel/internal/FieldLabelButton.d.ts +3 -2
  220. package/dist/components/NumberField/NumberField.d.ts +29 -2
  221. package/dist/components/Radio/Radio.d.ts +2 -0
  222. package/dist/components/Radio/RadioGroup.d.ts +27 -6
  223. package/dist/components/SelectCard/SelectCard.d.ts +1 -1
  224. package/dist/components/SelectCard/SelectCardGroup.d.ts +18 -1
  225. package/dist/components/SelectCard/internal/SelectCardContext.d.ts +11 -0
  226. package/dist/components/SelectCard/internal/SelectCardProvider.d.ts +11 -1
  227. package/dist/components/Skeleton/SkeletonCircle.d.ts +8 -0
  228. package/dist/components/Skeleton/SkeletonPill.d.ts +8 -0
  229. package/dist/components/Skeleton/SkeletonRectangle.d.ts +8 -0
  230. package/dist/components/Skeleton/SkeletonText.d.ts +6 -1
  231. package/dist/components/Skeleton/index.d.ts +3 -0
  232. package/dist/components/Switch/Switch.d.ts +11 -1
  233. package/dist/components/Text/types.d.ts +9 -0
  234. package/dist/components/TextField/internal/TextField.d.ts +11 -0
  235. package/dist/components/Textarea/Textarea.d.ts +9 -2
  236. package/dist/components/Toast/internal/Toast.d.ts +5 -0
  237. package/dist/components/Toast/toast.d.ts +1 -1
  238. package/dist/components/Toolbar/Toolbar.d.ts +5 -3
  239. package/dist/components/Toolbar/ToolbarSelect.d.ts +5 -3
  240. package/dist/components/index.d.ts +1 -0
  241. package/dist/{floating-ui.react-dom-imrk9N49.js → floating-ui.react-dom-CHrYz13o.js} +17 -2
  242. package/dist/floating-ui.react-dom-CHrYz13o.js.map +1 -0
  243. package/dist/hooks/index.d.ts +1 -0
  244. package/dist/hooks/usePrefersReducedMotion/index.d.ts +1 -0
  245. package/dist/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts +15 -0
  246. package/dist/index.js +46 -44
  247. package/dist/index.js.map +1 -1
  248. package/dist/internal/components/InlineMarkdown/InlineMarkdown.d.ts +23 -0
  249. package/dist/internal/components/InlineMarkdown/index.d.ts +1 -0
  250. package/dist/internal/components/Label/Label.d.ts +1 -1
  251. package/dist/internal/components/Popover/Popover.d.ts +3 -1
  252. package/dist/internal/components/index.d.ts +2 -1
  253. package/dist/internal/functions/index.d.ts +2 -0
  254. package/dist/internal/functions/inlineMarkdown.d.ts +20 -0
  255. package/dist/internal/functions/stripInlineMarkdown.d.ts +8 -0
  256. package/dist/internal/types/props.d.ts +2 -1
  257. package/dist/internal/types/selectFieldInternalTypes.d.ts +2 -2
  258. package/dist/internal/utils/index.d.ts +1 -0
  259. package/dist/internal/utils/inlineMarkdownRegex.d.ts +5 -0
  260. package/dist/{proxy-BbFHSE6L.js → proxy-DEehATlA.js} +8 -2
  261. package/dist/{proxy-BbFHSE6L.js.map → proxy-DEehATlA.js.map} +1 -1
  262. package/dist/stripInlineMarkdown-DyqLAQnf.js +25 -0
  263. package/dist/stripInlineMarkdown-DyqLAQnf.js.map +1 -0
  264. package/dist/{syncFilterUtils-B03Pc941.js → syncFilterUtils-CsbCnI1-.js} +7 -7
  265. package/dist/{syncFilterUtils-B03Pc941.js.map → syncFilterUtils-CsbCnI1-.js.map} +1 -1
  266. package/dist/types/ai-marks.d.ts +72 -0
  267. package/dist/types/index.d.ts +1 -0
  268. package/dist/{use-reduced-motion-DSpxmqyT.js → use-reduced-motion-CqjZZ5QB.js} +2 -2
  269. package/dist/{use-reduced-motion-DSpxmqyT.js.map → use-reduced-motion-CqjZZ5QB.js.map} +1 -1
  270. package/dist/{useDrilldown-BW2XkUcK.js → useDrilldown-C7eMBl68.js} +4 -4
  271. package/dist/{useDrilldown-BW2XkUcK.js.map → useDrilldown-C7eMBl68.js.map} +1 -1
  272. package/dist/{useInitialFocus-BRRbylek.js → useInitialFocus-DbaB-x5T.js} +2 -3
  273. package/dist/{useInitialFocus-BRRbylek.js.map → useInitialFocus-DbaB-x5T.js.map} +1 -1
  274. package/dist/{index.esm-K9kxJhLx.js → usePopoverTransitionStates-B1opfxxn.js} +88 -3
  275. package/dist/usePopoverTransitionStates-B1opfxxn.js.map +1 -0
  276. package/dist/usePrefersReducedMotion-DR9B_D6w.js +37 -0
  277. package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +1 -0
  278. package/dist/usePrefersReducedMotion.d.ts +2 -0
  279. package/dist/usePrefersReducedMotion.js +2 -0
  280. package/dist/usePrefersReducedMotion.js.map +1 -0
  281. package/dist/{useToggleSelection-Dip0eimQ.js → useToggleSelection-BM8asdFj.js} +2 -2
  282. package/dist/{useToggleSelection-Dip0eimQ.js.map → useToggleSelection-BM8asdFj.js.map} +1 -1
  283. package/package.json +6 -4
  284. package/dist/Alert-C_o2f78C.js.map +0 -1
  285. package/dist/Button-CVsGhVJz.js +0 -113
  286. package/dist/Button-CVsGhVJz.js.map +0 -1
  287. package/dist/Checkbox-Drgai_lS.js.map +0 -1
  288. package/dist/Chip-CVyEctAz.js.map +0 -1
  289. package/dist/DataTable-BmVPjMMg.js.map +0 -1
  290. package/dist/DateFieldYearless-b81ZcYdp.js.map +0 -1
  291. package/dist/DateFieldYearlessRange-ClAFzIDD.js.map +0 -1
  292. package/dist/FieldLabel-CQ5QGTVq.js +0 -125
  293. package/dist/FieldLabel-CQ5QGTVq.js.map +0 -1
  294. package/dist/MultiSelectFieldSync-CSOitvtu.js.map +0 -1
  295. package/dist/NumberField-CHBXBMSj.js.map +0 -1
  296. package/dist/Popover-CQhLSNYR.js +0 -537
  297. package/dist/Popover-CQhLSNYR.js.map +0 -1
  298. package/dist/Popover2.css +0 -68
  299. package/dist/Radio-Bw2LDl9G.js.map +0 -1
  300. package/dist/SelectCard-ZaAD0wR1.js.map +0 -1
  301. package/dist/SelectFieldLabel-EJCXA02B.js.map +0 -1
  302. package/dist/SelectFieldSync-DA54WXOk.js.map +0 -1
  303. package/dist/SelectTrigger-DWyRndmY.js.map +0 -1
  304. package/dist/Switch-DpPHr3G3.js.map +0 -1
  305. package/dist/Text-BJo4oMI2.js.map +0 -1
  306. package/dist/TextField-o8zvVFDk.js.map +0 -1
  307. package/dist/Textarea-B4bBvO8c.js.map +0 -1
  308. package/dist/Toaster-6_LVKok2.js.map +0 -1
  309. package/dist/floating-ui.react-aKYfs-aw.js.map +0 -1
  310. package/dist/floating-ui.react-dom-imrk9N49.js.map +0 -1
  311. package/dist/index.esm-K9kxJhLx.js.map +0 -1
  312. package/dist/safePopover-BDso-xSH.js +0 -17
  313. package/dist/safePopover-BDso-xSH.js.map +0 -1
  314. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js +0 -68
  315. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js.map +0 -1
  316. package/dist/usePopoverTransitionStates-CDIoNUuf.js +0 -24
  317. package/dist/usePopoverTransitionStates-CDIoNUuf.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ import { TableRow } from '../../types';
2
+ import { DataTableCacheOptions, SortedColumn } from '../types';
3
+ /**
4
+ * Hook for caching resolved page data in DataTable.
5
+ *
6
+ * Features:
7
+ * - Caches resolved page data per page index using a Map stored in a ref
8
+ * - Returns cached data synchronously on cache hit, avoiding unnecessary API calls
9
+ * - Synchronously clears cache during render when invalidation triggers change
10
+ * - Size-based eviction (FIFO) when cache exceeds maxSize: oldest entry is dropped to make room
11
+ *
12
+ * @param config - Configuration including loadPageData function, cache options, and invalidation triggers
13
+ * @returns Object containing getOrLoad function and clearCache function
14
+ */
15
+ export declare function usePageDataCache<T>(config: {
16
+ loadPageData?: (params: {
17
+ pageIndex: number;
18
+ pageSize: number;
19
+ sorting?: SortedColumn;
20
+ }) => TableRow<T>[] | Promise<TableRow<T>[]>;
21
+ cache?: DataTableCacheOptions;
22
+ refreshKey?: string | number;
23
+ refreshCounter: number;
24
+ rowsPerPage: number;
25
+ sorting?: SortedColumn;
26
+ }): {
27
+ getOrLoad: (pageIndex: number, pageSize: number, sorting?: SortedColumn) => TableRow<T>[] | Promise<TableRow<T>[]>;
28
+ clearCache: () => void;
29
+ };
@@ -32,6 +32,26 @@ export type DataTableEmptyState = {
32
32
  */
33
33
  content?: ReactNode;
34
34
  };
35
+ /**
36
+ * Configuration for caching loadPageData results in DataTable.
37
+ * When enabled, resolved page data is cached per page index, allowing
38
+ * instant restoration when returning to a previously loaded page.
39
+ * @property {boolean} [enabled] - Whether caching is enabled. Defaults to true.
40
+ * @property {number} [maxSize] - Maximum number of pages to cache. Oldest entry is evicted (FIFO) when the limit is reached. Defaults to 15.
41
+ */
42
+ export type DataTableCacheOptions = {
43
+ /**
44
+ * Whether caching is enabled.
45
+ * @default true
46
+ */
47
+ enabled?: boolean;
48
+ /**
49
+ * Maximum number of pages to cache. When the limit is reached, the oldest cached page is
50
+ * evicted (FIFO) to make room for the new entry.
51
+ * @default 15
52
+ */
53
+ maxSize?: number;
54
+ };
35
55
  /**
36
56
  * Configuration for pagination in DataTable
37
57
  */
@@ -92,10 +112,16 @@ export type DataTablePaginationConfig<T> = {
92
112
  * When changed, the page index automatically resets to 0.
93
113
  */
94
114
  refreshKey?: string | number;
115
+ /**
116
+ * Configuration for caching loadPageData results.
117
+ * Caching is enabled by default. Set `{ enabled: false }` to disable.
118
+ */
119
+ cache?: DataTableCacheOptions;
95
120
  };
96
121
  /**
97
122
  * Ref handle for DataTable component
98
123
  * @property {function} refresh - Triggers a data refetch and resets the page index to 0. Useful for manually refreshing data after external changes (e.g., after a mutation).
124
+ * @property {function} clearCache - Clears the page data cache without triggering a refetch.
99
125
  */
100
126
  export type DataTableRef = {
101
127
  /**
@@ -104,4 +130,8 @@ export type DataTableRef = {
104
130
  * When using controlled pagination, this will call `onPageChange(0)`.
105
131
  */
106
132
  refresh: () => void;
133
+ /**
134
+ * Clears the page data cache without triggering a refetch.
135
+ */
136
+ clearCache: () => void;
107
137
  };
@@ -158,7 +158,8 @@ export declare const Toolbar: import('react').ForwardRefExoticComponent<Omit<imp
158
158
  * onChange={(id) => setFont(id)}
159
159
  * />
160
160
  */
161
- Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
161
+ Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
162
+ aiMark?: boolean | import('../../..').AiIconName;
162
163
  appearance?: import('../../..').ButtonAppearance;
163
164
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
164
165
  loading?: boolean;
@@ -169,14 +170,15 @@ export declare const Toolbar: import('react').ForwardRefExoticComponent<Omit<imp
169
170
  } | {
170
171
  before: import('../../..').IconProps["svg"];
171
172
  };
172
- } & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
173
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
174
+ aiMark?: boolean | import('../../..').AiIconName;
173
175
  appearance?: import('../../..').ButtonAppearance;
174
176
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
175
177
  loading?: boolean;
176
178
  } & {
177
179
  children?: never;
178
180
  icon?: import('../../..').IconProps["svg"];
179
- } & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
181
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
180
182
  appearance?: import('./types').ToolbarItemAppearance;
181
183
  onChange?: (optionId: string) => void;
182
184
  selected?: string;
@@ -348,7 +350,8 @@ export declare const ToolbarElement: import('react').ForwardRefExoticComponent<O
348
350
  * onChange={(id) => setFont(id)}
349
351
  * />
350
352
  */
351
- Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
353
+ Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
354
+ aiMark?: boolean | import('../../..').AiIconName;
352
355
  appearance?: import('../../..').ButtonAppearance;
353
356
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
354
357
  loading?: boolean;
@@ -359,14 +362,15 @@ export declare const ToolbarElement: import('react').ForwardRefExoticComponent<O
359
362
  } | {
360
363
  before: import('../../..').IconProps["svg"];
361
364
  };
362
- } & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
365
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
366
+ aiMark?: boolean | import('../../..').AiIconName;
363
367
  appearance?: import('../../..').ButtonAppearance;
364
368
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
365
369
  loading?: boolean;
366
370
  } & {
367
371
  children?: never;
368
372
  icon?: import('../../..').IconProps["svg"];
369
- } & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
373
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
370
374
  appearance?: import('./types').ToolbarItemAppearance;
371
375
  onChange?: (optionId: string) => void;
372
376
  selected?: string;
@@ -63,7 +63,8 @@ export type ToolbarSelectProps<T = Record<string, unknown>> = Omit<React.Compone
63
63
  * accessibleLabel="Text color"
64
64
  * />
65
65
  */
66
- export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & {
66
+ export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & DataTrackingId & {
67
+ aiMark?: boolean | import('../../..').AiIconName;
67
68
  appearance?: import('../../..').ButtonAppearance;
68
69
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
69
70
  loading?: boolean;
@@ -74,14 +75,15 @@ export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Om
74
75
  } | {
75
76
  before: import('../../..').IconProps["svg"];
76
77
  };
77
- } & DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & {
78
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & DataTrackingId & {
79
+ aiMark?: boolean | import('../../..').AiIconName;
78
80
  appearance?: import('../../..').ButtonAppearance;
79
81
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
80
82
  loading?: boolean;
81
83
  } & {
82
84
  children?: never;
83
85
  icon?: import('../../..').IconProps["svg"];
84
- } & DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
86
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
85
87
  /**
86
88
  * Visual appearance of the select button
87
89
  * @default ghost
package/dist/beta.js CHANGED
@@ -1,11 +1,11 @@
1
- export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, h as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, i as timeFormatter, y as yearlessDateFormatter } from './DataTable-BmVPjMMg.js';
2
- export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-0EKhrvZN.js';
3
- export { u as useCalendarBetaProps } from './Calendar-Frpv5rRY.js';
4
- export { C as Calendar } from './Calendar-BTStJPV1.js';
5
- export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-DA54WXOk.js';
6
- export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-CSOitvtu.js';
7
- export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-BQaSTcaN.js';
8
- export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-62OeGmkz.js';
1
+ export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, h as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, i as timeFormatter, y as yearlessDateFormatter } from './DataTable-DK9xRjnq.js';
2
+ export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-CWRk523l.js';
3
+ export { u as useCalendarBetaProps } from './Calendar-Bd_WELZC.js';
4
+ export { C as Calendar } from './Calendar-d2owsYe9.js';
5
+ export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-DGK8F2G9.js';
6
+ export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-Ei7DXzvs.js';
7
+ export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-CuZp9mnt.js';
8
+ export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-B_mXpTEe.js';
9
9
  export { I as InteractiveCard } from './InteractiveCard-GTYbR6Xy.js';
10
- export { u as useAdaptiveView } from './syncFilterUtils-B03Pc941.js';
10
+ export { u as useAdaptiveView } from './syncFilterUtils-CsbCnI1-.js';
11
11
  //# sourceMappingURL=beta.js.map
@@ -0,0 +1,87 @@
1
+ import { IconProps } from '../Icon';
2
+ import { AiMarkCollapsePadding, AiMarkWithTooltipOrPopoverConfig } from '../../types/ai-marks';
3
+ /**
4
+ * Props for the AiMark component
5
+ * @property {"default" | "gradient"} [type] - The visual style of the AI mark
6
+ * @property {AiMarkWithTooltipOrPopoverConfig} [popoverOrTooltipConfig] - Configuration for popover or tooltip display with content and props
7
+ * @property {boolean} [forceAnimate] - Forces the pulsing animation to play, intended for use within interactive parent components (e.g. on hover or focus of the parent)
8
+ * @property {AiMarkCollapsePadding} [collapsePadding] - Collapses the component's layout footprint to match a plain icon on the chosen axes.
9
+ * @extends Omit<IconProps, "svg">
10
+ */
11
+ export type AiMarkProps = Omit<IconProps, "svg"> & {
12
+ /**
13
+ * The visual style of the AI mark.
14
+ * @default default
15
+ */
16
+ type?: "default" | "gradient";
17
+ /**
18
+ * Configuration for popover or tooltip display.
19
+ * Includes content, trigger label, and optional props for customization.
20
+ * Popover config takes precedence over tooltip config.
21
+ */
22
+ popoverOrTooltipConfig?: AiMarkWithTooltipOrPopoverConfig;
23
+ /**
24
+ * When true, forces the pulsing morph animation to play regardless of
25
+ * hover/focus state. Useful when AiMark is embedded inside an interactive
26
+ * parent component (e.g. a Chip or Button) and the parent controls when
27
+ * the animation should be active via its own hover or focus state.
28
+ * @default false
29
+ */
30
+ forceAnimate?: boolean;
31
+ /**
32
+ * Collapses padding on the chosen axes so the component's layout footprint
33
+ * matches a plain inline icon on those axes.
34
+ *
35
+ * For interactive variants (tooltip/popover), the ghost button's hit area is
36
+ * unchanged — only the container's layout box shrinks.
37
+ *
38
+ * For non-interactive variants, padding equal to the ghost button's padding is
39
+ * added to the non-collapsed axes, and omitted on the collapsed axes.
40
+ *
41
+ * - `"inline"` — collapse the inline axis (left/right)
42
+ * - `"block"` — collapse the block axis (top/bottom)
43
+ * - `"all"` — collapse both axes
44
+ */
45
+ collapsePadding?: AiMarkCollapsePadding;
46
+ };
47
+ /**
48
+ * Component for displaying the ServiceTitan AI mark with optional tooltip or popover.
49
+ *
50
+ * Features:
51
+ * - Two visual styles: default and gradient variants
52
+ * - Optional tooltip on hover for contextual information
53
+ * - Optional popover on click for more detailed content
54
+ * - Forced animation mode for use within interactive parent components
55
+ * - Uses ghost button appearance for subtle interaction
56
+ * - Inherits all icon properties for size and styling customization
57
+ * - Accessible with proper ARIA attributes from Button component
58
+ * - Prevents event propagation when used with popover
59
+ * - Configurable via popoverOrTooltipConfig for advanced customization
60
+ * - Optional `collapsePadding` to reduce layout footprint to match a plain icon
61
+ * - Animates on hover and focus when used with tooltip or popover
62
+ * - Automatically respects the user's reduced motion preference
63
+ *
64
+ * @example
65
+ * <AiMark
66
+ * type="default"
67
+ * popoverOrTooltipConfig={{
68
+ * type: "tooltip",
69
+ * content: "Powered by AI",
70
+ * triggerLabel: "AI feature information"
71
+ * }}
72
+ * />
73
+ *
74
+ * @example
75
+ * <AiMark
76
+ * type="gradient"
77
+ * popoverOrTooltipConfig={{
78
+ * type: "popover",
79
+ * content: <Text>AI feature details</Text>,
80
+ * triggerLabel: "Learn about AI features"
81
+ * }}
82
+ * />
83
+ *
84
+ * @example
85
+ * <AiMark type="default" forceAnimate={isHovered} />
86
+ */
87
+ export declare const AiMark: (props: AiMarkProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './AiMark';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Props for the AiMarkIconAnimated component
3
+ * @property {boolean} [animate] - Whether to trigger animations (on hover or focus)
4
+ * @property {number} [size] - Size of the icon in pixels
5
+ * @property {boolean} [inheritColor] - Whether to inherit color from parent instead of using gradient
6
+ * @property {boolean} [spin] - Whether to enable the rotation animation in addition to the morph pulse
7
+ */
8
+ interface AiMarkIconAnimatedProps {
9
+ animate?: boolean;
10
+ size?: number;
11
+ inheritColor?: boolean;
12
+ spin?: boolean;
13
+ }
14
+ /**
15
+ * AiMarkIconAnimated renders two animated Atlas AI star icons with rotation and morph effects.
16
+ *
17
+ * Features:
18
+ * - Displays two stars in different sizes positioned in a composition
19
+ * - Animates morphing on hover
20
+ * - Supports rotation animation via spin prop
21
+ * - Supports gradient or inherited color
22
+ * - Automatically respects reduced motion preferences
23
+ * - Configurable size
24
+ * - Unique gradient IDs prevent conflicts when multiple icons render
25
+ *
26
+ * @example
27
+ * <AiMarkIconAnimated animate={isActive} size={24} />
28
+ */
29
+ export declare const AiMarkIconAnimated: ({ animate, size, inheritColor, spin, }: AiMarkIconAnimatedProps) => import("react/jsx-runtime").JSX.Element;
30
+ export {};
@@ -0,0 +1,10 @@
1
+ import { IconProps } from '../../Icon';
2
+ import { AiMarkWithTooltipOrPopoverConfig } from '../../../types/ai-marks';
3
+ export type AiMarkInteractiveProps = {
4
+ config: AiMarkWithTooltipOrPopoverConfig;
5
+ size: NonNullable<IconProps["size"]>;
6
+ inheritColor: boolean;
7
+ containerClassName: string;
8
+ forceAnimate?: boolean;
9
+ };
10
+ export declare const AiMarkInteractive: ({ config, size, inheritColor, containerClassName, forceAnimate, }: AiMarkInteractiveProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { AiMarkWithTooltipOrPopoverConfig } from '../../../types/ai-marks';
2
+ export declare const AI_MARK_STORY_OPTIONS: readonly ["false", "true", "tooltip (default)", "tooltip (custom)", "popover (default)", "popover (custom)"];
3
+ export type AiMarkStoryOption = (typeof AI_MARK_STORY_OPTIONS)[number];
4
+ /**
5
+ * Maps Storybook `aiMark` dropdown values to `AiMark` / `aiMark` prop values.
6
+ */
7
+ export declare function resolveAiMarkStoryOption(option: AiMarkStoryOption | undefined): boolean | AiMarkWithTooltipOrPopoverConfig | undefined;
8
+ export declare const argTypesAiMarkStory: {
9
+ aiMarkStory: {
10
+ name: string;
11
+ options: ("true" | "false" | "tooltip (default)" | "tooltip (custom)" | "popover (default)" | "popover (custom)")[];
12
+ control: {
13
+ type: "select";
14
+ };
15
+ };
16
+ };
@@ -1,5 +1,6 @@
1
1
  import { ComponentPropsWithoutRef } from 'react';
2
2
  import { DataTrackingId, LayoutUtilProps, OnCloseProps, Status } from '../../types';
3
+ import { AiMarkWithTooltipOrPopoverConfig } from '../../types/ai-marks';
3
4
  /**
4
5
  * Props for the Alert component
5
6
  * @extends ComponentPropsWithoutRef<"div">
@@ -16,6 +17,11 @@ export type AlertProps = ComponentPropsWithoutRef<"div"> & LayoutUtilProps & OnC
16
17
  * The title text displayed in the alert.
17
18
  */
18
19
  title: string;
20
+ /**
21
+ * When set, displays the AI mark inline after the title.
22
+ * Use `true` for the sparkle only, or pass tooltip/popover configuration.
23
+ */
24
+ aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;
19
25
  } &
20
26
  /**
21
27
  * Data tracking id
@@ -27,6 +33,7 @@ DataTrackingId;
27
33
  * Features:
28
34
  * - Supports different visual styles (info, success, warning, danger)
29
35
  * - Optional close button for dismissible alerts
36
+ * - Optional AI mark inline after the title
30
37
  * - Customizable title and content
31
38
  * - Accessible with proper ARIA roles
32
39
  * - Includes status-specific icons
@@ -59,4 +66,9 @@ export declare const Alert: import('react').ForwardRefExoticComponent<Omit<impor
59
66
  * The title text displayed in the alert.
60
67
  */
61
68
  title: string;
69
+ /**
70
+ * When set, displays the AI mark inline after the title.
71
+ * Use `true` for the sparkle only, or pass tooltip/popover configuration.
72
+ */
73
+ aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;
62
74
  } & DataTrackingId & import('react').RefAttributes<HTMLDivElement>>;
@@ -1,12 +1,23 @@
1
1
  import { ButtonAppearance, Size, DataTrackingId, LayoutUtilProps } from '../../types';
2
2
  import { ComponentPropsWithoutRef } from 'react';
3
3
  import { IconProps } from '../Icon';
4
+ import { AiIconName } from './internal';
5
+ export type { AiIconName };
4
6
  /**
5
7
  * Props for the Button component
6
8
  * @extends Omit<ComponentPropsWithoutRef<"button">, "children">
7
9
  * @extends LayoutUtilProps
10
+ * @extends DataTrackingId
8
11
  */
9
- export type ButtonProps = Omit<ComponentPropsWithoutRef<"button">, "children"> & LayoutUtilProps & {
12
+ export type ButtonProps = Omit<ComponentPropsWithoutRef<"button">, "children"> & LayoutUtilProps & DataTrackingId & {
13
+ /**
14
+ * When `true` or an icon name, shows an AI indicator. With button text, any leading
15
+ * `icon` (plain Svg or `icon.before`) is not shown—the AI icon is used instead.
16
+ * On an icon-only button, `icon` is not shown—the AI icon is used instead.
17
+ * Icon-only usage must include an accessible name (for example `aria-label`).
18
+ * In development, a console warning is logged when `icon` is overridden.
19
+ */
20
+ aiMark?: boolean | AiIconName;
10
21
  /**
11
22
  * The visual variant of the button.
12
23
  * @default secondary
@@ -39,11 +50,7 @@ export type ButtonProps = Omit<ComponentPropsWithoutRef<"button">, "children"> &
39
50
  * The icon of the icon only button.
40
51
  */
41
52
  icon?: IconProps["svg"];
42
- }) &
43
- /**
44
- * Data tracking id
45
- */
46
- DataTrackingId;
53
+ });
47
54
  /**
48
55
  * Button component for triggering actions and user interactions.
49
56
  *
@@ -52,6 +59,7 @@ DataTrackingId;
52
59
  * - Four size options (xsmall, small, medium, large)
53
60
  * - Loading state with spinner animation
54
61
  * - Icon support (before, after, or icon-only)
62
+ * - Optional AI mark / named AI icons via `aiMark`
55
63
  * - Full accessibility support with ARIA attributes
56
64
  * - Supports layout utilities for positioning and spacing
57
65
  * - Automatic disabled state when loading
@@ -0,0 +1,18 @@
1
+ import { IconProps } from '../../Icon';
2
+ /**
3
+ * AI icon names for `Button` `aiMark`. `"mark"` (or boolean `true`) uses the animated AI mark;
4
+ * other values use static AI icons.
5
+ */
6
+ export type AiIconName = "chat" | "edit" | "form" | "mark" | "mic" | "search";
7
+ export declare const AI_ICON_MAP: Record<Exclude<AiIconName, "mark">, IconProps["svg"]>;
8
+ export type ButtonAiMarkSize = "xsmall" | "small" | "medium" | "large";
9
+ /**
10
+ * Icon-only AI icon container size (px). Medium/large match custom icon-only parity.
11
+ */
12
+ export declare const ICON_ONLY_AI_SIZE_PX: Record<ButtonAiMarkSize, number>;
13
+ export declare function iconHasLeadingSlot(icon: IconProps["svg"] | {
14
+ before: IconProps["svg"];
15
+ } | {
16
+ after: IconProps["svg"];
17
+ } | undefined): boolean;
18
+ export declare function aiMarkShowsAnimatedMark(aiMark?: boolean | AiIconName): boolean;
@@ -0,0 +1 @@
1
+ export { type AiIconName, type ButtonAiMarkSize, AI_ICON_MAP, ICON_ONLY_AI_SIZE_PX, aiMarkShowsAnimatedMark, iconHasLeadingSlot, } from './buttonAiMarkUtils';
@@ -20,9 +20,14 @@ export type CardProps = ComponentPropsWithoutRef<"div"> & LayoutUtilProps & {
20
20
  /**
21
21
  * Card component for displaying content in a contained, elevated container.
22
22
  *
23
+ * Features:
24
+ * - Optional background variants (strong, stronger)
25
+ * - Configurable padding sizes
26
+ * - Supports layout utilities for positioning and spacing
27
+ *
23
28
  * @example
24
29
  * <Card padding="large" background="strong">
25
- * <h2>Card Title</h2>
30
+ * <Text variant="headline" el="h2">Card Title</Text>
26
31
  * <p>Card content goes here</p>
27
32
  * </Card>
28
33
  */
@@ -61,10 +61,12 @@ export declare const Checkbox: import('react').ForwardRefExoticComponent<Omit<Co
61
61
  Group: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref"> & import('..').LayoutUtilProps & Omit<import('../../internal').FieldLabelProps, "labelProps"> & {
62
62
  required?: boolean;
63
63
  legend: string | import('react').ReactElement;
64
+ legendProps?: Omit<import('..').FieldLabelProps, "el">;
64
65
  error?: boolean | string | import('react').ReactElement | string[];
65
66
  errorAriaLive?: import('../../internal').HelperProps["errorAriaLive"];
66
67
  warning?: string | string[];
67
68
  description?: import('../../internal').HelperProps["description"];
68
69
  hint?: import('../../internal').HelperProps["hint"];
70
+ hideLabel?: boolean;
69
71
  } & import('react').RefAttributes<HTMLFieldSetElement>>;
70
72
  };
@@ -1,14 +1,15 @@
1
1
  import { ComponentPropsWithoutRef, ReactElement } from 'react';
2
2
  import { LayoutUtilProps } from '../../types';
3
- import { FieldLabelProps } from '../../internal/types';
3
+ import { FieldLabelProps as FieldLabelElementProps } from '../FieldLabel';
4
+ import { FieldLabelProps as InternalFieldLabelProps } from '../../internal/types';
4
5
  import { HelperProps } from '../../internal/components';
5
6
  /**
6
7
  * Props for the CheckboxGroup component
7
8
  * @extends ComponentPropsWithoutRef<"fieldset">
8
9
  * @extends LayoutUtilProps
9
- * @extends Omit<FieldLabelProps, "labelProps">
10
+ * @extends Omit<InternalFieldLabelProps, "labelProps">
10
11
  */
11
- export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUtilProps & Omit<FieldLabelProps, "labelProps"> & {
12
+ export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUtilProps & Omit<InternalFieldLabelProps, "labelProps"> & {
12
13
  /**
13
14
  * required flag for label
14
15
  * @accessibility This does not enforce error when nothing is selected.
@@ -16,9 +17,14 @@ export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUt
16
17
  */
17
18
  required?: boolean;
18
19
  /**
19
- * legend for the fieldset
20
+ * Legend for the fieldset.
21
+ * Passing `ReactNode` is deprecated — use a plain string with inline markdown instead.
20
22
  */
21
23
  legend: string | ReactElement;
24
+ /**
25
+ * Additional props for the legend `FieldLabel` (for example `aiMark`, `className`).
26
+ */
27
+ legendProps?: Omit<FieldLabelElementProps, "el">;
22
28
  /**
23
29
  * Error state for the field. Pass `true` to indicate error styling without a message.
24
30
  * Pass a string, string[], or ReactElement (deprecated) for error messages.
@@ -40,6 +46,11 @@ export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUt
40
46
  * Hint text to display below the field.
41
47
  */
42
48
  hint?: HelperProps["hint"];
49
+ /**
50
+ * When `true`, hides the visual label row. The sr-only `<legend>` always remains for screen readers.
51
+ * @default false
52
+ */
53
+ hideLabel?: boolean;
43
54
  };
44
55
  /**
45
56
  * CheckboxGroup component for grouping related checkboxes together.
@@ -61,7 +72,7 @@ export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUt
61
72
  * <Checkbox label="Music" />
62
73
  * </CheckboxGroup>
63
74
  */
64
- export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref"> & LayoutUtilProps & Omit<FieldLabelProps, "labelProps"> & {
75
+ export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref"> & LayoutUtilProps & Omit<InternalFieldLabelProps, "labelProps"> & {
65
76
  /**
66
77
  * required flag for label
67
78
  * @accessibility This does not enforce error when nothing is selected.
@@ -69,9 +80,14 @@ export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<Om
69
80
  */
70
81
  required?: boolean;
71
82
  /**
72
- * legend for the fieldset
83
+ * Legend for the fieldset.
84
+ * Passing `ReactNode` is deprecated — use a plain string with inline markdown instead.
73
85
  */
74
86
  legend: string | ReactElement;
87
+ /**
88
+ * Additional props for the legend `FieldLabel` (for example `aiMark`, `className`).
89
+ */
90
+ legendProps?: Omit<FieldLabelElementProps, "el">;
75
91
  /**
76
92
  * Error state for the field. Pass `true` to indicate error styling without a message.
77
93
  * Pass a string, string[], or ReactElement (deprecated) for error messages.
@@ -93,4 +109,9 @@ export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<Om
93
109
  * Hint text to display below the field.
94
110
  */
95
111
  hint?: HelperProps["hint"];
112
+ /**
113
+ * When `true`, hides the visual label row. The sr-only `<legend>` always remains for screen readers.
114
+ * @default false
115
+ */
116
+ hideLabel?: boolean;
96
117
  } & import('react').RefAttributes<HTMLFieldSetElement>>;
@@ -2,11 +2,13 @@ import { ChipProps as CoreChipProps } from './internal/Chip';
2
2
  import { IconProps as CoreIconProps } from '../Icon';
3
3
  import { AvatarProps as CoreAvatarProps } from '../Avatar/internal/Avatar';
4
4
  import { DataTrackingId, DistributiveOmit } from '../../types';
5
+ import { AiMarkBooleanProps } from '../../types/ai-marks';
5
6
  /**
6
7
  * Props for the Chip component
7
8
  * @property {string} label - The text that displays in the chip
8
9
  * @property {"small" | "medium"} [size] - The size of the chip
9
10
  * @property {string} [color] - Color of the Chip
11
+ * @property {boolean} [aiMark] - Whether to display an AI mark icon in the chip
10
12
  * @property {(e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClick] - Callback for when the Chip is clicked
11
13
  * @property {(e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClose] - Called when the component is closed
12
14
  * @property {boolean} [textWrap] - Wraps text when it overflows
@@ -14,8 +16,9 @@ import { DataTrackingId, DistributiveOmit } from '../../types';
14
16
  * @property {string} [avatar] - Image URL to display in an avatar before the chip text.
15
17
  * @extends CoreChipProps
16
18
  * @extends DataTrackingId
19
+ * @extends AiMarkBooleanProps
17
20
  */
18
- export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar"> & DataTrackingId & ({
21
+ export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar" | "suffix"> & DataTrackingId & AiMarkBooleanProps & ({
19
22
  icon?: CoreIconProps["svg"];
20
23
  avatar?: never;
21
24
  } | {
@@ -30,6 +33,9 @@ export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar"> & D
30
33
  * - Custom color support with automatic contrast calculation
31
34
  * - Optional click handler for interactive chips
32
35
  * - Optional close button for removable chips
36
+ * - Optional AI mark icon to indicate AI-generated content
37
+ * - Automatic AI mark type selection: gradient on default chips, inherited color on colored chips
38
+ * - AI mark on clickable chips (hover/focus morph temporarily disabled; see @TODO in source)
33
39
  * - Text wrapping support for long labels
34
40
  * - Full accessibility support with ARIA attributes
35
41
  * - Keyboard navigation (Enter/Space to click, Delete/Backspace to close)
@@ -45,5 +51,8 @@ export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar"> & D
45
51
  * onClose={(e) => console.log('Chip removed')}
46
52
  * onClick={(e) => console.log('Chip clicked')}
47
53
  * />
54
+ *
55
+ * @example
56
+ * <Chip label="AI Generated" aiMark />
48
57
  */
49
58
  export declare const Chip: import('react').ForwardRefExoticComponent<ChipProps & import('react').RefAttributes<HTMLSpanElement>>;
@@ -27,6 +27,10 @@ export type ChipBaseProps = Omit<ComponentPropsWithoutRef<"span">, "prefix"> & O
27
27
  * Image URL to display in an avatar before the chip text.
28
28
  */
29
29
  avatar?: AvatarProps["image"];
30
+ /**
31
+ * Content displayed in the chip, after the text.
32
+ */
33
+ suffix?: ReactNode;
30
34
  };
31
35
  type ChipClickHandler = (e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void;
32
36
  type ChipCloseHandler = (e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void;
@@ -32,7 +32,7 @@ export type MaskedDateRangeInputRef = HTMLInputElement & {
32
32
  * @param props.endDate - The end date.
33
33
  * @param props.disableHint - Whether to disable the hint.
34
34
  */
35
- export declare const MaskedDateRangeInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "ref" | "value" | "onChange" | "prefix" | "hint" | "showCounter"> & {
35
+ export declare const MaskedDateRangeInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "onChange" | "ref" | "value" | "prefix" | "hint" | "showCounter"> & {
36
36
  onChange: MaskedDateRangeInputChangeHandler;
37
37
  mode?: DateMode;
38
38
  startDate: DateTime | null;
@@ -20,7 +20,7 @@ export declare const useDateFieldRangeConversion: (props: DateFieldRangeProps) =
20
20
  maxDate: DateTime<boolean> | null | undefined;
21
21
  unavailable: {
22
22
  dates: DateTime<boolean>[] | undefined;
23
- daysOfWeek: (3 | 1 | 6 | 2 | 4 | 5 | 7)[] | undefined;
23
+ daysOfWeek: (1 | 2 | 3 | 6 | 4 | 5 | 7)[] | undefined;
24
24
  };
25
25
  onChange: (change: Omit<DateFieldRangeChange, "startDate" | "endDate"> & {
26
26
  startDate: DateTime | null;