@servicetitan/anvil2 2.7.1 → 2.9.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 (361) hide show
  1. package/CHANGELOG.md +73 -1
  2. package/dist/{floating-ui.react-aKYfs-aw.js → AiMark-DR-w6Nbm.js} +767 -5
  3. package/dist/AiMark-DR-w6Nbm.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-Dj61Bq8h.js} +27 -13
  9. package/dist/Alert-Dj61Bq8h.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-B9zm-_1S.js} +2 -2
  13. package/dist/{Announcement-CyrTvgP4.js.map → Announcement-B9zm-_1S.js.map} +1 -1
  14. package/dist/Announcement.js +1 -1
  15. package/dist/{AnvilProvider-ClfmLl_6.js → AnvilProvider-DUPYyMc7.js} +2 -2
  16. package/dist/{AnvilProvider-ClfmLl_6.js.map → AnvilProvider-DUPYyMc7.js.map} +1 -1
  17. package/dist/AnvilProvider.js +1 -1
  18. package/dist/{Breadcrumbs-C_WK9Yul.js → Breadcrumbs-ojgYVZwe.js} +3 -3
  19. package/dist/{Breadcrumbs-C_WK9Yul.js.map → Breadcrumbs-ojgYVZwe.js.map} +1 -1
  20. package/dist/Breadcrumbs.js +1 -1
  21. package/dist/Button-BdrrhBTI.js +2185 -0
  22. package/dist/Button-BdrrhBTI.js.map +1 -0
  23. package/dist/Button.js +1 -1
  24. package/dist/{ButtonToggle-DaYJWso_.js → ButtonToggle-DaFQ3DBG.js} +2 -2
  25. package/dist/{ButtonToggle-DaYJWso_.js.map → ButtonToggle-DaFQ3DBG.js.map} +1 -1
  26. package/dist/ButtonToggle.js +1 -1
  27. package/dist/{Calendar-BTStJPV1.js → Calendar-Cka4unyi.js} +2 -2
  28. package/dist/{Calendar-BTStJPV1.js.map → Calendar-Cka4unyi.js.map} +1 -1
  29. package/dist/{Calendar-Frpv5rRY.js → Calendar-Dxl9QnfP.js} +3 -3
  30. package/dist/{Calendar-Frpv5rRY.js.map → Calendar-Dxl9QnfP.js.map} +1 -1
  31. package/dist/Calendar.js +2 -2
  32. package/dist/Card-wz71dEVA.js.map +1 -1
  33. package/dist/{Checkbox-Drgai_lS.js → Checkbox-B-XTVPbX.js} +24 -13
  34. package/dist/Checkbox-B-XTVPbX.js.map +1 -0
  35. package/dist/{Checkbox-CTZdZym4.js → Checkbox-Cw1-KFvq.js} +2 -2
  36. package/dist/{Checkbox-CTZdZym4.js.map → Checkbox-Cw1-KFvq.js.map} +1 -1
  37. package/dist/Checkbox.js +1 -1
  38. package/dist/{Chip-CVyEctAz.js → Chip-Ce0WGKAc.js} +42 -12
  39. package/dist/Chip-Ce0WGKAc.js.map +1 -0
  40. package/dist/Chip.css +44 -28
  41. package/dist/Chip.js +1 -1
  42. package/dist/{Combobox-BRtfrYyZ.js → Combobox-CNQUROyr.js} +4 -4
  43. package/dist/{Combobox-BRtfrYyZ.js.map → Combobox-CNQUROyr.js.map} +1 -1
  44. package/dist/Combobox.js +1 -1
  45. package/dist/{DataTable-BmVPjMMg.js → DataTable-BCV_mtSy.js} +572 -98
  46. package/dist/DataTable-BCV_mtSy.js.map +1 -0
  47. package/dist/DataTable.css +148 -103
  48. package/dist/{DateFieldRange-D9DtlkSQ.js → DateFieldRange-D2hnF50O.js} +6 -6
  49. package/dist/{DateFieldRange-D9DtlkSQ.js.map → DateFieldRange-D2hnF50O.js.map} +1 -1
  50. package/dist/DateFieldRange.js +1 -1
  51. package/dist/{DateFieldSingle-CkdeCUJv.js → DateFieldSingle-BuaB7RDr.js} +6 -6
  52. package/dist/{DateFieldSingle-CkdeCUJv.js.map → DateFieldSingle-BuaB7RDr.js.map} +1 -1
  53. package/dist/DateFieldSingle.js +1 -1
  54. package/dist/{DateFieldYearless-b81ZcYdp.js → DateFieldYearless-DLeMEutt.js} +22 -6
  55. package/dist/DateFieldYearless-DLeMEutt.js.map +1 -0
  56. package/dist/DateFieldYearless.js +1 -1
  57. package/dist/{DateFieldYearlessRange-ClAFzIDD.js → DateFieldYearlessRange-BfPuYKKC.js} +3 -3
  58. package/dist/DateFieldYearlessRange-BfPuYKKC.js.map +1 -0
  59. package/dist/DateFieldYearlessRange.js +1 -1
  60. package/dist/{DaysOfTheWeek-2Zeh79oR.js → DaysOfTheWeek-BW1T8sTU.js} +4 -4
  61. package/dist/{DaysOfTheWeek-2Zeh79oR.js.map → DaysOfTheWeek-BW1T8sTU.js.map} +1 -1
  62. package/dist/DaysOfTheWeek.js +1 -1
  63. package/dist/{Dialog-CloZWa1Q.js → Dialog-Cewu2pd_.js} +38 -10
  64. package/dist/Dialog-Cewu2pd_.js.map +1 -0
  65. package/dist/Dialog.js +1 -1
  66. package/dist/{DialogCancelButton-DQDMzGeT.js → DialogCancelButton-Czz4Wpse.js} +2 -2
  67. package/dist/{DialogCancelButton-DQDMzGeT.js.map → DialogCancelButton-Czz4Wpse.js.map} +1 -1
  68. package/dist/{Drawer-CfkoH081.js → Drawer-Cb5asXWf.js} +38 -10
  69. package/dist/Drawer-Cb5asXWf.js.map +1 -0
  70. package/dist/Drawer.js +1 -1
  71. package/dist/DrillDown.js +1 -1
  72. package/dist/DrillDown.module-C8VOhzaF.js.map +1 -1
  73. package/dist/{EditCard-CLN0GBN_.js → EditCard-DlJE3LXN.js} +3 -3
  74. package/dist/{EditCard-CLN0GBN_.js.map → EditCard-DlJE3LXN.js.map} +1 -1
  75. package/dist/EditCard.js +1 -1
  76. package/dist/FieldLabel-HO2VP-4B.js +180 -0
  77. package/dist/FieldLabel-HO2VP-4B.js.map +1 -0
  78. package/dist/FieldLabel.css +33 -73
  79. package/dist/FieldLabel.js +1 -1
  80. package/dist/{InputMask-CI4Q5UwG.js → InputMask-CLLTehFI.js} +3 -3
  81. package/dist/{InputMask-CI4Q5UwG.js.map → InputMask-CLLTehFI.js.map} +1 -1
  82. package/dist/InputMask.js +1 -1
  83. package/dist/{ListView-DAbBuss4.js → ListView-CPi-qG2w.js} +2 -2
  84. package/dist/{ListView-DAbBuss4.js.map → ListView-CPi-qG2w.js.map} +1 -1
  85. package/dist/ListView.js +1 -1
  86. package/dist/{Listbox-D_T55BFX.js → Listbox-Bp4hqIpH.js} +2 -2
  87. package/dist/{Listbox-D_T55BFX.js.map → Listbox-Bp4hqIpH.js.map} +1 -1
  88. package/dist/Listbox.js +1 -1
  89. package/dist/{Menu-CRoJYJ53.js → Menu-CCavGohP.js} +92 -95
  90. package/dist/Menu-CCavGohP.js.map +1 -0
  91. package/dist/Menu.js +1 -1
  92. package/dist/MultiSelectField.js +1 -1
  93. package/dist/{MultiSelectFieldSync-CSOitvtu.js → MultiSelectFieldSync-ChZCW4M9.js} +32 -19
  94. package/dist/MultiSelectFieldSync-ChZCW4M9.js.map +1 -0
  95. package/dist/MultiSelectMenu.js +1 -1
  96. package/dist/{MultiSelectMenuSync-62OeGmkz.js → MultiSelectMenuSync-7C1wW4oO.js} +3 -3
  97. package/dist/{MultiSelectMenuSync-62OeGmkz.js.map → MultiSelectMenuSync-7C1wW4oO.js.map} +1 -1
  98. package/dist/{NumberField-CHBXBMSj.js → NumberField-CZSTHBeO.js} +16 -5
  99. package/dist/NumberField-CZSTHBeO.js.map +1 -0
  100. package/dist/NumberField.js +1 -1
  101. package/dist/{Page-DtSjnBJL.js → Page-BHdvTlfE.js} +116 -63
  102. package/dist/Page-BHdvTlfE.js.map +1 -0
  103. package/dist/Page.css +76 -76
  104. package/dist/Page.js +1 -1
  105. package/dist/{Pagination-CbBte3GQ.js → Pagination-DecGSuW4.js} +5 -5
  106. package/dist/{Pagination-CbBte3GQ.js.map → Pagination-DecGSuW4.js.map} +1 -1
  107. package/dist/Pagination.js +1 -1
  108. package/dist/{Popover-Rha0q-Pv.js → Popover-BbqTZw-1.js} +4 -6
  109. package/dist/{Popover-Rha0q-Pv.js.map → Popover-BbqTZw-1.js.map} +1 -1
  110. package/dist/Popover.js +1 -1
  111. package/dist/{ProgressBar-DEaMqbM-.js → ProgressBar-CZcxkdX6.js} +2 -2
  112. package/dist/{ProgressBar-DEaMqbM-.js.map → ProgressBar-CZcxkdX6.js.map} +1 -1
  113. package/dist/ProgressBar.js +1 -1
  114. package/dist/{Radio-CCvu8mbI.js → Radio-BFr8AdHc.js} +2 -2
  115. package/dist/{Radio-CCvu8mbI.js.map → Radio-BFr8AdHc.js.map} +1 -1
  116. package/dist/{Radio-Bw2LDl9G.js → Radio-DJZVMCv0.js} +24 -13
  117. package/dist/Radio-DJZVMCv0.js.map +1 -0
  118. package/dist/Radio.js +1 -1
  119. package/dist/{SegmentedControl-BAi4pnFe.js → SegmentedControl-B9NWUF7s.js} +3 -3
  120. package/dist/{SegmentedControl-BAi4pnFe.js.map → SegmentedControl-B9NWUF7s.js.map} +1 -1
  121. package/dist/SegmentedControl.js +1 -1
  122. package/dist/{SelectCard-ZaAD0wR1.js → SelectCard-DVcWJRbX.js} +51 -24
  123. package/dist/SelectCard-DVcWJRbX.js.map +1 -0
  124. package/dist/SelectCard.js +1 -1
  125. package/dist/SelectField.js +1 -1
  126. package/dist/{SelectFieldLabel-EJCXA02B.js → SelectFieldLabel-kEBS8L4l.js} +5 -4
  127. package/dist/SelectFieldLabel-kEBS8L4l.js.map +1 -0
  128. package/dist/{SelectFieldSync-DA54WXOk.js → SelectFieldSync-o1Cp9UYC.js} +14 -14
  129. package/dist/SelectFieldSync-o1Cp9UYC.js.map +1 -0
  130. package/dist/SelectMenu.js +1 -1
  131. package/dist/{SelectMenuSync-BQaSTcaN.js → SelectMenuSync-DXrwecFt.js} +3 -3
  132. package/dist/{SelectMenuSync-BQaSTcaN.js.map → SelectMenuSync-DXrwecFt.js.map} +1 -1
  133. package/dist/{SelectOptions-D-DzWmKE.js → SelectOptions-Dy2OWqxn.js} +2 -2
  134. package/dist/{SelectOptions-D-DzWmKE.js.map → SelectOptions-Dy2OWqxn.js.map} +1 -1
  135. package/dist/{SelectTrigger-DWyRndmY.js → SelectTrigger-DhKYzEAr.js} +7 -5
  136. package/dist/SelectTrigger-DhKYzEAr.js.map +1 -0
  137. package/dist/SelectTrigger.js +1 -1
  138. package/dist/{SelectTriggerBase-B6aZd2a6.js → SelectTriggerBase-Ni8WqeUx.js} +76 -63
  139. package/dist/SelectTriggerBase-Ni8WqeUx.js.map +1 -0
  140. package/dist/SelectTriggerBase.css +83 -66
  141. package/dist/SelectTriggerBase.module-CKoq6qzX.js +38 -0
  142. package/dist/SelectTriggerBase.module-CKoq6qzX.js.map +1 -0
  143. package/dist/{SideNav-CxHemV3H.js → SideNav-CrxYExjh.js} +11 -11
  144. package/dist/{SideNav-CxHemV3H.js.map → SideNav-CrxYExjh.js.map} +1 -1
  145. package/dist/SideNav.css +72 -55
  146. package/dist/SideNav.js +1 -1
  147. package/dist/Skeleton.css +18 -12
  148. package/dist/Skeleton.js +24 -11
  149. package/dist/Skeleton.js.map +1 -1
  150. package/dist/{Stepper-CQUXV6P4.js → Stepper-Dt2xAXth.js} +3 -3
  151. package/dist/{Stepper-CQUXV6P4.js.map → Stepper-Dt2xAXth.js.map} +1 -1
  152. package/dist/Stepper.js +1 -1
  153. package/dist/{Switch-DpPHr3G3.js → Switch-C84MBChG.js} +14 -2
  154. package/dist/Switch-C84MBChG.js.map +1 -0
  155. package/dist/Switch.js +1 -1
  156. package/dist/{Tab-BGGNcz9S.js → Tab-BZpTCG0i.js} +3 -3
  157. package/dist/{Tab-BGGNcz9S.js.map → Tab-BZpTCG0i.js.map} +1 -1
  158. package/dist/Tab.js +1 -1
  159. package/dist/Table.js +1 -1
  160. package/dist/{Text-BJo4oMI2.js → Text-WiS8UZkY.js} +30 -12
  161. package/dist/Text-WiS8UZkY.js.map +1 -0
  162. package/dist/Text.css +37 -20
  163. package/dist/Text.js +1 -1
  164. package/dist/{TextField-o8zvVFDk.js → TextField-Bul_uln5.js} +21 -5
  165. package/dist/TextField-Bul_uln5.js.map +1 -0
  166. package/dist/{TextField-CMv9CpBq.js → TextField-OznkTx4e.js} +2 -2
  167. package/dist/{TextField-CMv9CpBq.js.map → TextField-OznkTx4e.js.map} +1 -1
  168. package/dist/TextField.js +1 -1
  169. package/dist/{Textarea-B4bBvO8c.js → Textarea-CCYLsJ1x.js} +21 -5
  170. package/dist/Textarea-CCYLsJ1x.js.map +1 -0
  171. package/dist/Textarea.js +1 -1
  172. package/dist/{TimeField-BEgnjk4R.js → TimeField-BPvPbD8H.js} +6 -5
  173. package/dist/{TimeField-BEgnjk4R.js.map → TimeField-BPvPbD8H.js.map} +1 -1
  174. package/dist/TimeField.js +1 -1
  175. package/dist/Toast.js +2 -2
  176. package/dist/{Toaster-B38WlKC7.js → Toaster-CIaIvwH6.js} +2 -2
  177. package/dist/{Toaster-B38WlKC7.js.map → Toaster-CIaIvwH6.js.map} +1 -1
  178. package/dist/{Toaster-6_LVKok2.js → Toaster-DYJm06Vb.js} +5 -5
  179. package/dist/Toaster-DYJm06Vb.js.map +1 -0
  180. package/dist/{Toolbar-0EKhrvZN.js → Toolbar-ByyI7SqG.js} +15 -15
  181. package/dist/{Toolbar-0EKhrvZN.js.map → Toolbar-ByyI7SqG.js.map} +1 -1
  182. package/dist/Toolbar.js +1 -1
  183. package/dist/{Tooltip-BHwSTwsv.js → Tooltip-C1PBRnJv.js} +2 -3
  184. package/dist/{Tooltip-BHwSTwsv.js.map → Tooltip-C1PBRnJv.js.map} +1 -1
  185. package/dist/Tooltip.js +1 -1
  186. package/dist/{YearlessDateInputWithPicker-BC4lRuny.js → YearlessDateInputWithPicker-C_twiQW5.js} +2 -3
  187. package/dist/{YearlessDateInputWithPicker-BC4lRuny.js.map → YearlessDateInputWithPicker-C_twiQW5.js.map} +1 -1
  188. package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
  189. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  190. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +3 -2
  191. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  192. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +3 -2
  193. package/dist/beta/components/MultiSelectField/internal/types.d.ts +4 -3
  194. package/dist/beta/components/MultiSelectField/types.d.ts +28 -7
  195. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  196. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +4 -4
  197. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  198. package/dist/beta/components/SelectField/types.d.ts +5 -5
  199. package/dist/beta/components/Table/DataTable/DataTable.d.ts +8 -5
  200. package/dist/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +5 -5
  201. package/dist/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +4 -4
  202. package/dist/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +29 -0
  203. package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +13 -2
  204. package/dist/beta/components/Table/DataTable/types.d.ts +30 -0
  205. package/dist/beta/components/Table/base/cells/TableHeaderCell.d.ts +4 -0
  206. package/dist/beta/components/Table/createColumnHelper.d.ts +17 -10
  207. package/dist/beta/components/Table/formatters/htmlFormatter.d.ts +13 -0
  208. package/dist/beta/components/Table/formatters/htmlToMarkdown.d.ts +11 -0
  209. package/dist/beta/components/Table/formatters/index.d.ts +2 -0
  210. package/dist/beta/components/Table/formatters/markdownFormatter.d.ts +11 -0
  211. package/dist/beta/components/Table/types.d.ts +41 -8
  212. package/dist/beta/components/Toolbar/Toolbar.d.ts +10 -6
  213. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +5 -3
  214. package/dist/beta.js +9 -9
  215. package/dist/components/AiMark/AiMark.d.ts +87 -0
  216. package/dist/components/AiMark/index.d.ts +1 -0
  217. package/dist/components/AiMark/internal/AiMarkIconAnimated.d.ts +30 -0
  218. package/dist/components/AiMark/internal/AiMarkInteractive.d.ts +10 -0
  219. package/dist/components/AiMark/stories/aiMarkStoryArgTypes.d.ts +16 -0
  220. package/dist/components/Alert/Alert.d.ts +12 -0
  221. package/dist/components/Button/Button.d.ts +14 -6
  222. package/dist/components/Button/internal/buttonAiMarkUtils.d.ts +18 -0
  223. package/dist/components/Button/internal/index.d.ts +1 -0
  224. package/dist/components/Card/Card.d.ts +6 -1
  225. package/dist/components/Checkbox/Checkbox.d.ts +2 -0
  226. package/dist/components/Checkbox/CheckboxGroup.d.ts +27 -6
  227. package/dist/components/Chip/Chip.d.ts +10 -1
  228. package/dist/components/Chip/internal/Chip.d.ts +4 -0
  229. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  230. package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
  231. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  232. package/dist/components/DateFieldYearless/DateFieldYearless.d.ts +8 -1
  233. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
  234. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
  235. package/dist/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +7 -0
  236. package/dist/components/DrillDown/internal/DrillDownContext.d.ts +4 -0
  237. package/dist/components/DrillDown/internal/useDrillDownContextState.d.ts +4 -0
  238. package/dist/components/FieldLabel/FieldLabel.d.ts +2 -1
  239. package/dist/components/FieldLabel/internal/FieldLabelButton.d.ts +3 -2
  240. package/dist/components/NumberField/NumberField.d.ts +29 -2
  241. package/dist/components/Radio/Radio.d.ts +2 -0
  242. package/dist/components/Radio/RadioGroup.d.ts +27 -6
  243. package/dist/components/SelectCard/SelectCard.d.ts +1 -1
  244. package/dist/components/SelectCard/SelectCardGroup.d.ts +18 -1
  245. package/dist/components/SelectCard/internal/SelectCardContext.d.ts +11 -0
  246. package/dist/components/SelectCard/internal/SelectCardProvider.d.ts +11 -1
  247. package/dist/components/Skeleton/SkeletonCircle.d.ts +8 -0
  248. package/dist/components/Skeleton/SkeletonPill.d.ts +8 -0
  249. package/dist/components/Skeleton/SkeletonRectangle.d.ts +8 -0
  250. package/dist/components/Skeleton/SkeletonText.d.ts +6 -1
  251. package/dist/components/Skeleton/index.d.ts +3 -0
  252. package/dist/components/Switch/Switch.d.ts +11 -1
  253. package/dist/components/Text/types.d.ts +9 -0
  254. package/dist/components/TextField/internal/TextField.d.ts +11 -0
  255. package/dist/components/Textarea/Textarea.d.ts +9 -2
  256. package/dist/components/Toast/internal/Toast.d.ts +5 -0
  257. package/dist/components/Toast/toast.d.ts +1 -1
  258. package/dist/components/Toolbar/Toolbar.d.ts +5 -3
  259. package/dist/components/Toolbar/ToolbarSelect.d.ts +5 -3
  260. package/dist/components/index.d.ts +1 -0
  261. package/dist/{floating-ui.react-dom-imrk9N49.js → floating-ui.react-dom-CHrYz13o.js} +17 -2
  262. package/dist/floating-ui.react-dom-CHrYz13o.js.map +1 -0
  263. package/dist/hooks/index.d.ts +1 -0
  264. package/dist/hooks/usePrefersReducedMotion/index.d.ts +1 -0
  265. package/dist/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts +15 -0
  266. package/dist/index.js +48 -47
  267. package/dist/index.js.map +1 -1
  268. package/dist/internal/components/InlineMarkdown/InlineMarkdown.d.ts +23 -0
  269. package/dist/internal/components/InlineMarkdown/index.d.ts +1 -0
  270. package/dist/internal/components/Label/Label.d.ts +1 -1
  271. package/dist/internal/components/Popover/Popover.d.ts +3 -1
  272. package/dist/internal/components/index.d.ts +2 -1
  273. package/dist/internal/flubber/a2c.d.ts +16 -0
  274. package/dist/internal/flubber/add.d.ts +3 -0
  275. package/dist/internal/flubber/arc.d.ts +26 -0
  276. package/dist/internal/flubber/bezier.d.ts +32 -0
  277. package/dist/internal/flubber/errors.d.ts +5 -0
  278. package/dist/internal/flubber/index.d.ts +6 -0
  279. package/dist/internal/flubber/interpolate.d.ts +7 -0
  280. package/dist/internal/flubber/linear.d.ts +27 -0
  281. package/dist/internal/flubber/math.d.ts +10 -0
  282. package/dist/internal/flubber/normalize.d.ts +4 -0
  283. package/dist/internal/flubber/parse.d.ts +7 -0
  284. package/dist/internal/flubber/path-properties.d.ts +23 -0
  285. package/dist/internal/flubber/rotate.d.ts +2 -0
  286. package/dist/internal/flubber/svg.d.ts +9 -0
  287. package/dist/internal/functions/index.d.ts +2 -0
  288. package/dist/internal/functions/inlineMarkdown.d.ts +20 -0
  289. package/dist/internal/functions/stripInlineMarkdown.d.ts +8 -0
  290. package/dist/internal/index.d.ts +1 -0
  291. package/dist/internal/types/props.d.ts +2 -1
  292. package/dist/internal/types/selectFieldInternalTypes.d.ts +2 -2
  293. package/dist/internal/utils/index.d.ts +1 -0
  294. package/dist/internal/utils/inlineMarkdownRegex.d.ts +5 -0
  295. package/dist/{proxy-BbFHSE6L.js → proxy-DEehATlA.js} +8 -2
  296. package/dist/{proxy-BbFHSE6L.js.map → proxy-DEehATlA.js.map} +1 -1
  297. package/dist/stripInlineMarkdown-Cg1qlNwL.js +25 -0
  298. package/dist/stripInlineMarkdown-Cg1qlNwL.js.map +1 -0
  299. package/dist/{syncFilterUtils-B03Pc941.js → syncFilterUtils-UR5Vgqkh.js} +8 -9
  300. package/dist/{syncFilterUtils-B03Pc941.js.map → syncFilterUtils-UR5Vgqkh.js.map} +1 -1
  301. package/dist/types/ai-marks.d.ts +72 -0
  302. package/dist/types/index.d.ts +1 -0
  303. package/dist/{use-reduced-motion-DSpxmqyT.js → use-reduced-motion-CqjZZ5QB.js} +2 -2
  304. package/dist/{use-reduced-motion-DSpxmqyT.js.map → use-reduced-motion-CqjZZ5QB.js.map} +1 -1
  305. package/dist/{useDrilldown-BW2XkUcK.js → useDrilldown-D6VZNSCX.js} +46 -20
  306. package/dist/{useDrilldown-BW2XkUcK.js.map → useDrilldown-D6VZNSCX.js.map} +1 -1
  307. package/dist/{useInitialFocus-BRRbylek.js → useInitialFocus-BUxEDMEG.js} +65 -24
  308. package/dist/useInitialFocus-BUxEDMEG.js.map +1 -0
  309. package/dist/{index.esm-K9kxJhLx.js → usePopoverTransitionStates-CDXCdyKa.js} +88 -2
  310. package/dist/usePopoverTransitionStates-CDXCdyKa.js.map +1 -0
  311. package/dist/usePrefersReducedMotion-DR9B_D6w.js +37 -0
  312. package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +1 -0
  313. package/dist/usePrefersReducedMotion.d.ts +2 -0
  314. package/dist/usePrefersReducedMotion.js +2 -0
  315. package/dist/usePrefersReducedMotion.js.map +1 -0
  316. package/dist/{useToggleSelection-Dip0eimQ.js → useToggleSelection-BBdrIVWs.js} +2 -2
  317. package/dist/{useToggleSelection-Dip0eimQ.js.map → useToggleSelection-BBdrIVWs.js.map} +1 -1
  318. package/package.json +2 -2
  319. package/dist/Alert-C_o2f78C.js.map +0 -1
  320. package/dist/Button-CVsGhVJz.js +0 -113
  321. package/dist/Button-CVsGhVJz.js.map +0 -1
  322. package/dist/Checkbox-Drgai_lS.js.map +0 -1
  323. package/dist/Chip-CVyEctAz.js.map +0 -1
  324. package/dist/DataTable-BmVPjMMg.js.map +0 -1
  325. package/dist/DateFieldYearless-b81ZcYdp.js.map +0 -1
  326. package/dist/DateFieldYearlessRange-ClAFzIDD.js.map +0 -1
  327. package/dist/Dialog-CloZWa1Q.js.map +0 -1
  328. package/dist/Drawer-CfkoH081.js.map +0 -1
  329. package/dist/FieldLabel-CQ5QGTVq.js +0 -125
  330. package/dist/FieldLabel-CQ5QGTVq.js.map +0 -1
  331. package/dist/Menu-CRoJYJ53.js.map +0 -1
  332. package/dist/MultiSelectFieldSync-CSOitvtu.js.map +0 -1
  333. package/dist/NumberField-CHBXBMSj.js.map +0 -1
  334. package/dist/Page-DtSjnBJL.js.map +0 -1
  335. package/dist/Popover-CQhLSNYR.js +0 -537
  336. package/dist/Popover-CQhLSNYR.js.map +0 -1
  337. package/dist/Popover2.css +0 -68
  338. package/dist/Radio-Bw2LDl9G.js.map +0 -1
  339. package/dist/SelectCard-ZaAD0wR1.js.map +0 -1
  340. package/dist/SelectFieldLabel-EJCXA02B.js.map +0 -1
  341. package/dist/SelectFieldSync-DA54WXOk.js.map +0 -1
  342. package/dist/SelectTrigger-DWyRndmY.js.map +0 -1
  343. package/dist/SelectTriggerBase-B6aZd2a6.js.map +0 -1
  344. package/dist/SelectTriggerBase.module-B0NFRlQP.js +0 -36
  345. package/dist/SelectTriggerBase.module-B0NFRlQP.js.map +0 -1
  346. package/dist/Switch-DpPHr3G3.js.map +0 -1
  347. package/dist/Text-BJo4oMI2.js.map +0 -1
  348. package/dist/TextField-o8zvVFDk.js.map +0 -1
  349. package/dist/Textarea-B4bBvO8c.js.map +0 -1
  350. package/dist/Toaster-6_LVKok2.js.map +0 -1
  351. package/dist/floating-ui.react-aKYfs-aw.js.map +0 -1
  352. package/dist/floating-ui.react-dom-imrk9N49.js.map +0 -1
  353. package/dist/index.esm-K9kxJhLx.js.map +0 -1
  354. package/dist/safePopover-BDso-xSH.js +0 -17
  355. package/dist/safePopover-BDso-xSH.js.map +0 -1
  356. package/dist/useInitialFocus-BRRbylek.js.map +0 -1
  357. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js +0 -68
  358. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js.map +0 -1
  359. package/dist/usePopoverTransitionStates-CDIoNUuf.js +0 -24
  360. package/dist/usePopoverTransitionStates-CDIoNUuf.js.map +0 -1
  361. /package/dist/{anvil-fonts.css → AnvilProvider.css} +0 -0
@@ -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;
@@ -27,7 +27,7 @@ export type MaskedDateInputRef = HTMLInputElement & {
27
27
  * @param props.onChange - The function to call when the date changes.
28
28
  * @param props.mode - The mode of the date input.
29
29
  */
30
- export declare const MaskedDateInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "ref" | "value" | "onChange" | "prefix" | "hint" | "showCounter"> & {
30
+ export declare const MaskedDateInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "onChange" | "ref" | "value" | "prefix" | "hint" | "showCounter"> & {
31
31
  onChange: MaskedDateInputChangeHandler;
32
32
  mode?: DateMode;
33
33
  lastValidDate: DateTime | null;
@@ -51,7 +51,9 @@ export type DateFieldYearlessProps = Omit<ComponentPropsWithoutRef<"input">, "on
51
51
  */
52
52
  error?: boolean | string | ReactElement | string[];
53
53
  /**
54
- * Label for the field
54
+ * Label for the field.
55
+ * Omitting `label` is deprecated — it will be required in v4.0.0. Use `hideLabel` to visually hide it.
56
+ * Passing `ReactNode` is deprecated — use a plain string with inline markdown instead.
55
57
  */
56
58
  label?: FieldLabelProps["children"];
57
59
  /**
@@ -90,6 +92,11 @@ export type DateFieldYearlessProps = Omit<ComponentPropsWithoutRef<"input">, "on
90
92
  * Whether to disable the format hint
91
93
  */
92
94
  disableHint?: boolean;
95
+ /**
96
+ * When `true`, hides the visible label and moves it to `aria-label` on the input.
97
+ * @default false
98
+ */
99
+ hideLabel?: boolean;
93
100
  /**
94
101
  * Function to call when the field is focused
95
102
  */
@@ -38,7 +38,7 @@ export type YearlessDateInputRef = HTMLInputElement & {
38
38
  * @param props.onChange - The function to call when the date changes.
39
39
  * @param props.mode - The mode of the date input.
40
40
  */
41
- export declare const YearlessDateInput: import('react').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "ref" | "value" | "onChange"> & {
41
+ export declare const YearlessDateInput: import('react').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "ref" | "size" | "value"> & {
42
42
  onChange: YearlessDateInputChangeHandler;
43
43
  mode?: YearlessDateMode;
44
44
  value?: YearlessDate | null;
@@ -69,7 +69,7 @@ export type YearlessDateInputWithPickerRef = {
69
69
  focus: () => void;
70
70
  setValue: (value: YearlessDate | null) => void;
71
71
  };
72
- export declare const YearlessDateInputWithPicker: import('react').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "ref" | "value" | "onBlur" | "onFocus" | "onChange" | "defaultValue"> & {
72
+ export declare const YearlessDateInputWithPicker: import('react').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "onBlur" | "onFocus" | "onChange" | "ref" | "size" | "value" | "defaultValue"> & {
73
73
  /**
74
74
  * The controlled value of the date field
75
75
  */
@@ -46,7 +46,14 @@ export type DateFieldYearlessRangeProps = {
46
46
  * Pass a string, string[], or ReactElement (deprecated) for error messages.
47
47
  */
48
48
  error?: boolean | string | ReactElement | string[];
49
+ /**
50
+ * Label for the field group. Always required for accessibility.
51
+ */
49
52
  label: string;
53
+ /**
54
+ * When `true`, hides the visible legend while keeping it accessible to screen readers.
55
+ * @default false
56
+ */
50
57
  hideLabel?: boolean;
51
58
  size?: Extract<Size, "small" | "medium" | "large">;
52
59
  description?: HelperProps["description"];
@@ -8,5 +8,9 @@ export type DrillDownContextProps = {
8
8
  setRegisteredIndices?: Dispatch<SetStateAction<number[] | undefined>>;
9
9
  onClose?: (() => void)[];
10
10
  setOnClose?: (fn: () => void, index: number) => void;
11
+ hostIsInteractive?: boolean;
12
+ setHostTrigger?: (element: HTMLElement | null) => void;
13
+ onHostClose?: () => void;
14
+ onHostClosed?: () => void;
11
15
  };
12
16
  export declare const DrillDownContext: import('react').Context<DrillDownContextProps | null>;
@@ -10,5 +10,9 @@ export declare function useDrillDownContextState({ defaultDrillDownIndex, }: use
10
10
  setRegisteredIndices: import('react').Dispatch<import('react').SetStateAction<number[] | undefined>>;
11
11
  onClose: (() => void)[];
12
12
  setOnClose: (fn: () => void, index: number) => void;
13
+ hostIsInteractive: boolean;
14
+ setHostTrigger: (element: HTMLElement | null) => void;
15
+ onHostClose: () => void;
16
+ onHostClosed: () => void;
13
17
  };
14
18
  export {};
@@ -1,7 +1,8 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode, ElementType, JSX, JSXElementConstructor } from 'react';
2
2
  import { TooltipProps } from '../Tooltip';
3
+ import { AiMarkWithTooltipOrPopoverProps } from '../../types';
3
4
  type IntrinsicAttributes<E extends keyof JSX.IntrinsicElements | JSXElementConstructor<unknown>> = JSX.LibraryManagedAttributes<E, ComponentPropsWithoutRef<E>>;
4
- type FieldLabelOwnProps<E extends ElementType = ElementType> = {
5
+ type FieldLabelOwnProps<E extends ElementType = ElementType> = AiMarkWithTooltipOrPopoverProps & {
5
6
  /** The HTML element to render */
6
7
  el?: E;
7
8
  /** Unique identifier for the label element */
@@ -8,9 +8,10 @@ export type FieldLabelButtonProps = ComponentPropsWithoutRef<"button">;
8
8
  * Internal icon-button for use within FieldLabel.
9
9
  *
10
10
  * Features:
11
- * - Fixed 28×28px hit area with no visible border or background at rest
11
+ * - Default 28×28px hit area with no visible border or background at rest
12
+ * - Optional `field-label-button-scaled` + CSS vars for larger icons (e.g. AiMark xlarge)
12
13
  * - Hover and focus states show the secondary button hover background color on
13
- * an inner 24×24px area, keeping 2px transparent on each side
14
+ * an inner 24×24px area (or scaled inner), keeping 2px transparent on each side
14
15
  * - Focus ring matches the secondary button focus ring style
15
16
  * - Fully accessible as a native `<button>` element
16
17
  *
@@ -2,13 +2,30 @@ import { ReactElement, ComponentPropsWithoutRef } from 'react';
2
2
  import { HelperProps } from '../../internal/components';
3
3
  import { LayoutUtilProps, Size, DataTrackingId } from '../../types';
4
4
  import { FieldLabelProps } from '../../internal/types';
5
+ /**
6
+ * Props for the NumberField component.
7
+ * @extends Omit<ComponentPropsWithoutRef<"input">, "size" | "prefix" | "type" | "inputMode" | "value" | "defaultValue" | "onFocus" | "onBlur" | "onChange">
8
+ * @extends LayoutUtilProps
9
+ * @extends FieldLabelProps
10
+ * @extends DataTrackingId
11
+ */
5
12
  export type NumberFieldProps = Omit<ComponentPropsWithoutRef<"input">, "size" | "prefix" | "type" | "inputMode" | "value" | "defaultValue" | "onFocus" | "onBlur" | "onChange"> & LayoutUtilProps & FieldLabelProps & {
6
13
  /**
7
14
  * Error state for the field. Pass `true` to indicate error styling without a message.
8
15
  * Pass a string, string[], or ReactElement (deprecated) for error messages.
9
16
  */
10
17
  error?: boolean | string | ReactElement | string[];
18
+ /**
19
+ * Label for the field.
20
+ * Omitting `label` is deprecated — it will be required in v4.0.0. Use `hideLabel` to visually hide it.
21
+ */
11
22
  label?: string;
23
+ /**
24
+ * When `true`, hides the visible label and moves it to `aria-label` on the input.
25
+ * Requires `label` to be set — the label is always needed for accessibility.
26
+ * @default false
27
+ */
28
+ hideLabel?: boolean;
12
29
  prefix?: string;
13
30
  suffix?: string;
14
31
  size?: Extract<Size, "small" | "medium" | "large">;
@@ -36,15 +53,25 @@ export type NumberFieldProps = Omit<ComponentPropsWithoutRef<"input">, "size" |
36
53
  onBlur?: (event: React.FocusEvent) => void;
37
54
  hideControls?: boolean;
38
55
  } & DataTrackingId;
39
- export declare const NumberField: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "size" | "value" | "onBlur" | "onFocus" | "onChange" | "defaultValue" | "prefix" | "inputMode" | "type"> & LayoutUtilProps & Pick<import('../../internal').LabelProps, "required" | "moreInfo"> & {
40
- labelProps?: Omit<import('../../internal').LabelProps, "children" | "moreInfo" | "required" | "id" | "htmlFor">;
56
+ export declare const NumberField: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "onBlur" | "onFocus" | "onChange" | "size" | "value" | "defaultValue" | "prefix" | "inputMode" | "type"> & LayoutUtilProps & Pick<import('../../internal').LabelProps, "required" | "moreInfo"> & {
57
+ labelProps?: Omit<import('../../internal').LabelProps, "children" | "moreInfo" | "required" | "id" | "htmlFor"> & import('../..').AiMarkWithTooltipOrPopoverProps;
41
58
  } & {
42
59
  /**
43
60
  * Error state for the field. Pass `true` to indicate error styling without a message.
44
61
  * Pass a string, string[], or ReactElement (deprecated) for error messages.
45
62
  */
46
63
  error?: boolean | string | ReactElement | string[];
64
+ /**
65
+ * Label for the field.
66
+ * Omitting `label` is deprecated — it will be required in v4.0.0. Use `hideLabel` to visually hide it.
67
+ */
47
68
  label?: string;
69
+ /**
70
+ * When `true`, hides the visible label and moves it to `aria-label` on the input.
71
+ * Requires `label` to be set — the label is always needed for accessibility.
72
+ * @default false
73
+ */
74
+ hideLabel?: boolean;
48
75
  prefix?: string;
49
76
  suffix?: string;
50
77
  size?: Extract<Size, "small" | "medium" | "large">;
@@ -90,6 +90,8 @@ export declare const Radio: import('react').ForwardRefExoticComponent<Omit<CoreR
90
90
  Group: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref"> & import('..').LayoutUtilProps & Omit<import('../../internal').FieldLabelProps, "labelProps"> & {
91
91
  required?: boolean;
92
92
  legend: string | import('react').ReactElement;
93
+ legendProps?: Omit<import('..').FieldLabelProps, "el">;
94
+ hideLabel?: boolean;
93
95
  error?: boolean | string | import('react').ReactElement | string[];
94
96
  errorAriaLive?: import('../../internal').HelperProps["errorAriaLive"];
95
97
  warning?: string | string[];