@servicetitan/anvil2 3.10.1 → 3.11.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 (267) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{AiMark-2_O4tKv_.js → AiMark-BqRDRySA.js} +3 -3
  3. package/dist/{AiMark-2_O4tKv_.js.map → AiMark-BqRDRySA.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-DtM7NDN9.js → Alert-CWwBGGP3.js} +2 -2
  6. package/dist/{Alert-DtM7NDN9.js.map → Alert-CWwBGGP3.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{AnvilProvider-b3gvW6Md.js → AnvilProvider-Deh-Vgep.js} +2 -2
  9. package/dist/{AnvilProvider-b3gvW6Md.js.map → AnvilProvider-Deh-Vgep.js.map} +1 -1
  10. package/dist/AnvilProvider.js +1 -1
  11. package/dist/{Avatar-DX96Mxe7.js → Avatar-ioIwH1KT.js} +2 -2
  12. package/dist/{Avatar-DX96Mxe7.js.map → Avatar-ioIwH1KT.js.map} +1 -1
  13. package/dist/{Avatar-CoQcOHWU.js → Avatar-lLiNUrxq.js} +11 -11
  14. package/dist/{Avatar-CoQcOHWU.js.map → Avatar-lLiNUrxq.js.map} +1 -1
  15. package/dist/Avatar.css +14 -13
  16. package/dist/Avatar.js +2 -2
  17. package/dist/{Breadcrumbs-Bmqmw5F5.js → Breadcrumbs-FZO4lrPG.js} +7 -15
  18. package/dist/{Breadcrumbs-Bmqmw5F5.js.map → Breadcrumbs-FZO4lrPG.js.map} +1 -1
  19. package/dist/Breadcrumbs.css +5 -3
  20. package/dist/Breadcrumbs.js +1 -1
  21. package/dist/{Calendar-CUgFbnKj.js → Calendar-CdCKAwuu.js} +2 -2
  22. package/dist/{Calendar-CUgFbnKj.js.map → Calendar-CdCKAwuu.js.map} +1 -1
  23. package/dist/{Calendar-D_fqe0-J.js → Calendar-D-e2O90P.js} +2 -2
  24. package/dist/{Calendar-D_fqe0-J.js.map → Calendar-D-e2O90P.js.map} +1 -1
  25. package/dist/Calendar.js +2 -2
  26. package/dist/{Checkbox-DoxWcbfv.js → Checkbox-B3bw3xS2.js} +3 -3
  27. package/dist/{Checkbox-DoxWcbfv.js.map → Checkbox-B3bw3xS2.js.map} +1 -1
  28. package/dist/{Checkbox-4wRmrann.js → Checkbox-f7XfiGAL.js} +2 -2
  29. package/dist/{Checkbox-4wRmrann.js.map → Checkbox-f7XfiGAL.js.map} +1 -1
  30. package/dist/Checkbox.js +1 -1
  31. package/dist/{Chip-D6Q0J0Xe.js → Chip-ZXGLaddL.js} +3 -3
  32. package/dist/{Chip-D6Q0J0Xe.js.map → Chip-ZXGLaddL.js.map} +1 -1
  33. package/dist/Chip.js +1 -1
  34. package/dist/Combobox.js +1 -1
  35. package/dist/{DataTable-D-SKKt5w.js → DataTable-BH0A9Sgs.js} +8 -8
  36. package/dist/{DataTable-D-SKKt5w.js.map → DataTable-BH0A9Sgs.js.map} +1 -1
  37. package/dist/{DateFieldRange-DUFfyknZ.js → DateFieldRange-Clz3-KS2.js} +4 -4
  38. package/dist/{DateFieldRange-DUFfyknZ.js.map → DateFieldRange-Clz3-KS2.js.map} +1 -1
  39. package/dist/DateFieldRange.js +1 -1
  40. package/dist/{DateFieldSingle-BZjlO0hX.js → DateFieldSingle-C3v2ykj7.js} +4 -4
  41. package/dist/{DateFieldSingle-BZjlO0hX.js.map → DateFieldSingle-C3v2ykj7.js.map} +1 -1
  42. package/dist/DateFieldSingle.js +1 -1
  43. package/dist/{DateFieldYearless-TcKb9jE2.js → DateFieldYearless-CmwuxrLX.js} +4 -4
  44. package/dist/{DateFieldYearless-TcKb9jE2.js.map → DateFieldYearless-CmwuxrLX.js.map} +1 -1
  45. package/dist/DateFieldYearless.js +1 -1
  46. package/dist/{DateFieldYearlessRange-D9XtRNWi.js → DateFieldYearlessRange-jjjP4bZ2.js} +3 -3
  47. package/dist/{DateFieldYearlessRange-D9XtRNWi.js.map → DateFieldYearlessRange-jjjP4bZ2.js.map} +1 -1
  48. package/dist/DateFieldYearlessRange.js +1 -1
  49. package/dist/{DaysOfTheWeek--FBi44iw.js → DaysOfTheWeek-YynjbZa9.js} +3 -3
  50. package/dist/{DaysOfTheWeek--FBi44iw.js.map → DaysOfTheWeek-YynjbZa9.js.map} +1 -1
  51. package/dist/DaysOfTheWeek.js +1 -1
  52. package/dist/{Dialog-DjJ9wpeo.js → Dialog-BekbulnQ.js} +4 -4
  53. package/dist/{Dialog-DjJ9wpeo.js.map → Dialog-BekbulnQ.js.map} +1 -1
  54. package/dist/Dialog.js +1 -1
  55. package/dist/{Drawer-CZITBE8M.js → Drawer-Cd3KFWSB.js} +4 -4
  56. package/dist/{Drawer-CZITBE8M.js.map → Drawer-Cd3KFWSB.js.map} +1 -1
  57. package/dist/Drawer.js +1 -1
  58. package/dist/DrillDown.js +1 -1
  59. package/dist/{EditCard-QohYSylF.js → EditCard-DF2As9n2.js} +2 -2
  60. package/dist/{EditCard-QohYSylF.js.map → EditCard-DF2As9n2.js.map} +1 -1
  61. package/dist/EditCard.js +1 -1
  62. package/dist/{FieldLabel-SzH61hCb.js → FieldLabel-C-XG9Dvv.js} +3 -3
  63. package/dist/{FieldLabel-SzH61hCb.js.map → FieldLabel-C-XG9Dvv.js.map} +1 -1
  64. package/dist/FieldLabel.js +1 -1
  65. package/dist/{FilterBar-B_ShYx2G.js → FilterBar-xLBpABXu.js} +5 -5
  66. package/dist/{FilterBar-B_ShYx2G.js.map → FilterBar-xLBpABXu.js.map} +1 -1
  67. package/dist/FilterBar.js +1 -1
  68. package/dist/{InputMask-CQONHcTq.js → InputMask-ronTKYSD.js} +3 -3
  69. package/dist/{InputMask-CQONHcTq.js.map → InputMask-ronTKYSD.js.map} +1 -1
  70. package/dist/InputMask.js +1 -1
  71. package/dist/{ListView-BgGEwal3.js → ListView-7Zzupb12.js} +2 -2
  72. package/dist/{ListView-BgGEwal3.js.map → ListView-7Zzupb12.js.map} +1 -1
  73. package/dist/ListView.js +1 -1
  74. package/dist/{Listbox-Cw_2W62S.js → Listbox-pFRaZRqy.js} +2 -2
  75. package/dist/{Listbox-Cw_2W62S.js.map → Listbox-pFRaZRqy.js.map} +1 -1
  76. package/dist/Listbox.js +1 -1
  77. package/dist/MultiSelectField.js +1 -1
  78. package/dist/{MultiSelectFieldSync-B_vuR-ii.js → MultiSelectFieldSync-BwMqc4QP.js} +13 -12
  79. package/dist/MultiSelectFieldSync-BwMqc4QP.js.map +1 -0
  80. package/dist/MultiSelectMenu.js +1 -1
  81. package/dist/{MultiSelectMenuSync-C3Y7jnJQ.js → MultiSelectMenuSync-CraTnzEH.js} +4 -4
  82. package/dist/MultiSelectMenuSync-CraTnzEH.js.map +1 -0
  83. package/dist/{NumberField-B1761jkf.js → NumberField-DbX29dqE.js} +3 -3
  84. package/dist/{NumberField-B1761jkf.js.map → NumberField-DbX29dqE.js.map} +1 -1
  85. package/dist/NumberField.js +1 -1
  86. package/dist/{Page-BHBcuxcE.js → Page-DQZPAebS.js} +9 -9
  87. package/dist/{Page-BHBcuxcE.js.map → Page-DQZPAebS.js.map} +1 -1
  88. package/dist/Page.js +1 -1
  89. package/dist/{Pagination-Bx_u6Uea.js → Pagination-DfQNks5S.js} +2 -2
  90. package/dist/{Pagination-Bx_u6Uea.js.map → Pagination-DfQNks5S.js.map} +1 -1
  91. package/dist/Pagination.js +1 -1
  92. package/dist/{Popover-CjsE5FG0.js → Popover-BgqqGh5y.js} +2 -2
  93. package/dist/{Popover-CjsE5FG0.js.map → Popover-BgqqGh5y.js.map} +1 -1
  94. package/dist/Popover.js +1 -1
  95. package/dist/{ProgressBar-Coh2nTJ1.js → ProgressBar-BKEDAa-f.js} +2 -2
  96. package/dist/{ProgressBar-Coh2nTJ1.js.map → ProgressBar-BKEDAa-f.js.map} +1 -1
  97. package/dist/ProgressBar.js +1 -1
  98. package/dist/{Radio-J4Iv3wbJ.js → Radio-D6YiAttx.js} +3 -3
  99. package/dist/{Radio-J4Iv3wbJ.js.map → Radio-D6YiAttx.js.map} +1 -1
  100. package/dist/{Radio-BxSL1PoP.js → Radio-DJhh0wxb.js} +2 -2
  101. package/dist/{Radio-BxSL1PoP.js.map → Radio-DJhh0wxb.js.map} +1 -1
  102. package/dist/Radio.js +1 -1
  103. package/dist/{RichTextEditor-CTIGe6xA.js → RichTextEditor-BXPBSBUb.js} +8 -8
  104. package/dist/{RichTextEditor-CTIGe6xA.js.map → RichTextEditor-BXPBSBUb.js.map} +1 -1
  105. package/dist/RichTextEditor.js +1 -1
  106. package/dist/{SavedFiltersButton-DV0xxLat.js → SavedFiltersButton-CIrXkFKk.js} +9 -9
  107. package/dist/{SavedFiltersButton-DV0xxLat.js.map → SavedFiltersButton-CIrXkFKk.js.map} +1 -1
  108. package/dist/SavedFiltersButton.js +1 -1
  109. package/dist/{SelectCard-BTfhPyHH.js → SelectCard-M6FsTBA4.js} +3 -3
  110. package/dist/{SelectCard-BTfhPyHH.js.map → SelectCard-M6FsTBA4.js.map} +1 -1
  111. package/dist/SelectCard.js +1 -1
  112. package/dist/SelectField.js +1 -1
  113. package/dist/{SelectFieldLabel-CjY6zFJA.js → SelectFieldLabel-CgtazsA_.js} +2 -2
  114. package/dist/{SelectFieldLabel-CjY6zFJA.js.map → SelectFieldLabel-CgtazsA_.js.map} +1 -1
  115. package/dist/{SelectFieldSync-rwfeNwN2.js → SelectFieldSync-3RX9nnSN.js} +137 -137
  116. package/dist/SelectFieldSync-3RX9nnSN.js.map +1 -0
  117. package/dist/SelectMenu.js +1 -1
  118. package/dist/{SelectMenuSync-BkC0FD5P.js → SelectMenuSync-BS7u10Oq.js} +4 -4
  119. package/dist/{SelectMenuSync-BkC0FD5P.js.map → SelectMenuSync-BS7u10Oq.js.map} +1 -1
  120. package/dist/{SelectOptions-B3Vmtb_k.js → SelectOptions-CVkf5lLa.js} +2 -2
  121. package/dist/{SelectOptions-B3Vmtb_k.js.map → SelectOptions-CVkf5lLa.js.map} +1 -1
  122. package/dist/{SelectTrigger-BAnVo4Ln.js → SelectTrigger-1dUFQ1dW.js} +3 -3
  123. package/dist/{SelectTrigger-BAnVo4Ln.js.map → SelectTrigger-1dUFQ1dW.js.map} +1 -1
  124. package/dist/SelectTrigger.js +1 -1
  125. package/dist/{SelectTriggerBase-D7zAT0UR.js → SelectTriggerBase-D_Os9knB.js} +3 -3
  126. package/dist/{SelectTriggerBase-D7zAT0UR.js.map → SelectTriggerBase-D_Os9knB.js.map} +1 -1
  127. package/dist/{SideNav-DZRXOYHs.js → SideNav-BLXgM918.js} +2 -2
  128. package/dist/{SideNav-DZRXOYHs.js.map → SideNav-BLXgM918.js.map} +1 -1
  129. package/dist/SideNav.js +1 -1
  130. package/dist/{Stepper-BX_gDWLE.js → Stepper-z1y9AfaJ.js} +10 -10
  131. package/dist/{Stepper-BX_gDWLE.js.map → Stepper-z1y9AfaJ.js.map} +1 -1
  132. package/dist/Stepper.css +23 -23
  133. package/dist/Stepper.js +1 -1
  134. package/dist/{Switch-BpjBYm-U.js → Switch-DnhE6CHy.js} +2 -2
  135. package/dist/{Switch-BpjBYm-U.js.map → Switch-DnhE6CHy.js.map} +1 -1
  136. package/dist/Switch.js +1 -1
  137. package/dist/Table.js +1 -1
  138. package/dist/{Text-CIoD_RK4.js → Text-BT1MnQrn.js} +6 -4
  139. package/dist/Text-BT1MnQrn.js.map +1 -0
  140. package/dist/Text.css +18 -16
  141. package/dist/Text.js +1 -1
  142. package/dist/Text.module-D9ksuiBV.js +24 -0
  143. package/dist/Text.module-D9ksuiBV.js.map +1 -0
  144. package/dist/{TextField-CzzvLI5_.js → TextField-1RXT8l7y.js} +3 -3
  145. package/dist/{TextField-CzzvLI5_.js.map → TextField-1RXT8l7y.js.map} +1 -1
  146. package/dist/{TextField-D3sRS5q1.js → TextField-ClFi79P0.js} +2 -2
  147. package/dist/{TextField-D3sRS5q1.js.map → TextField-ClFi79P0.js.map} +1 -1
  148. package/dist/TextField.js +1 -1
  149. package/dist/{Textarea-B3C7AkPj.js → Textarea-CuR8d8LC.js} +3 -3
  150. package/dist/{Textarea-B3C7AkPj.js.map → Textarea-CuR8d8LC.js.map} +1 -1
  151. package/dist/Textarea.js +1 -1
  152. package/dist/{ThemeProvider-Sd8LK0A9.js → ThemeProvider-BlEOL-sk.js} +4 -4
  153. package/dist/ThemeProvider-BlEOL-sk.js.map +1 -0
  154. package/dist/ThemeProvider.js +1 -1
  155. package/dist/{TimeField-L9B_X6-H.js → TimeField-CAPMDE4E.js} +4 -4
  156. package/dist/{TimeField-L9B_X6-H.js.map → TimeField-CAPMDE4E.js.map} +1 -1
  157. package/dist/TimeField.js +1 -1
  158. package/dist/Toast.js +2 -2
  159. package/dist/{Toaster-CAI7tX8q.js → Toaster-Ci4s1BZB.js} +3 -3
  160. package/dist/{Toaster-CAI7tX8q.js.map → Toaster-Ci4s1BZB.js.map} +1 -1
  161. package/dist/{Toaster-DZxf0N9g.js → Toaster-tJvMxWQq.js} +2 -2
  162. package/dist/{Toaster-DZxf0N9g.js.map → Toaster-tJvMxWQq.js.map} +1 -1
  163. package/dist/{Toolbar-BOgHhw7K.js → Toolbar-B2kSQ2dc.js} +5 -5
  164. package/dist/{Toolbar-BOgHhw7K.js.map → Toolbar-B2kSQ2dc.js.map} +1 -1
  165. package/dist/{Toolbar-DDWUuQm_.js → Toolbar-BnXIEZcV.js} +4 -4
  166. package/dist/{Toolbar-DDWUuQm_.js.map → Toolbar-BnXIEZcV.js.map} +1 -1
  167. package/dist/Toolbar.js +2 -2
  168. package/dist/{ToolbarButtonToggle-BbtKfezH.js → ToolbarButtonToggle-C_Dq_qyS.js} +2 -2
  169. package/dist/{ToolbarButtonToggle-BbtKfezH.js.map → ToolbarButtonToggle-C_Dq_qyS.js.map} +1 -1
  170. package/dist/{Tooltip-BC8lnFhe.js → Tooltip-CzrJgl98.js} +2 -2
  171. package/dist/{Tooltip-BC8lnFhe.js.map → Tooltip-CzrJgl98.js.map} +1 -1
  172. package/dist/Tooltip.js +1 -1
  173. package/dist/TreeSelectField.js +1 -1
  174. package/dist/{TreeSelectFieldSync-BRQgLPxB.js → TreeSelectFieldSync-hA3wCFMS.js} +5 -5
  175. package/dist/{TreeSelectFieldSync-BRQgLPxB.js.map → TreeSelectFieldSync-hA3wCFMS.js.map} +1 -1
  176. package/dist/TreeSelectMenu.js +1 -1
  177. package/dist/{TreeSelectMenuSync-88q0ydo5.js → TreeSelectMenuSync-CV92JUPb.js} +3 -3
  178. package/dist/{TreeSelectMenuSync-88q0ydo5.js.map → TreeSelectMenuSync-CV92JUPb.js.map} +1 -1
  179. package/dist/{TypeaheadTextField-9Nkkd4c4.js → TypeaheadTextField-C1Mxy1l6.js} +3 -3
  180. package/dist/{TypeaheadTextField-9Nkkd4c4.js.map → TypeaheadTextField-C1Mxy1l6.js.map} +1 -1
  181. package/dist/TypeaheadTextField.js +1 -1
  182. package/dist/{YearlessDateInputWithPicker-BquY4bCd.js → YearlessDateInputWithPicker-Dq_UMQEP.js} +2 -2
  183. package/dist/{YearlessDateInputWithPicker-BquY4bCd.js.map → YearlessDateInputWithPicker-Dq_UMQEP.js.map} +1 -1
  184. package/dist/assets/css-utils/a2-font.css +21 -21
  185. package/dist/assets/css-utils/a2-utils.css +21 -21
  186. package/dist/assets/css-utils/font.css +21 -21
  187. package/dist/assets/css-utils/utils.css +21 -21
  188. package/dist/beta.js +16 -16
  189. package/dist/beta.js.map +1 -1
  190. package/dist/{bulkActionTypes-CWcUhKFS.js → bulkActionTypes-CdorQGKt.js} +2 -2
  191. package/dist/bulkActionTypes-CdorQGKt.js.map +1 -0
  192. package/dist/{filter-state-zlL4luoE.js → filter-state-CsRd-cja.js} +19 -19
  193. package/dist/{filter-state-zlL4luoE.js.map → filter-state-CsRd-cja.js.map} +1 -1
  194. package/dist/{index-DjirBR0l.js → index-DkEGGc6F.js} +2 -2
  195. package/dist/{index-DjirBR0l.js.map → index-DkEGGc6F.js.map} +1 -1
  196. package/dist/index.js +47 -47
  197. package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +1 -1
  198. package/dist/src/beta/components/deprecatedReexports/MultiSelectField.d.ts +4 -3
  199. package/dist/src/beta/components/deprecatedReexports/SelectField.d.ts +4 -3
  200. package/dist/src/components/MultiSelectField/MultiSelectField.d.ts +4 -1
  201. package/dist/src/components/MultiSelectField/MultiSelectFieldSync.d.ts +4 -4
  202. package/dist/src/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  203. package/dist/src/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +5 -5
  204. package/dist/src/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  205. package/dist/src/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +5 -5
  206. package/dist/src/components/MultiSelectField/internal/types.d.ts +7 -7
  207. package/dist/src/components/MultiSelectField/internal/useComboMultiple.d.ts +9 -9
  208. package/dist/src/components/MultiSelectField/internal/useSelectModeMultiple.d.ts +9 -9
  209. package/dist/src/components/MultiSelectField/stories/MultiSelectField.stories.data.d.ts +173 -6
  210. package/dist/src/components/MultiSelectField/types.d.ts +34 -34
  211. package/dist/src/components/MultiSelectMenu/MultiSelectMenuSync.d.ts +3 -3
  212. package/dist/src/components/MultiSelectMenu/types.d.ts +19 -19
  213. package/dist/src/components/SelectField/SelectField.d.ts +4 -1
  214. package/dist/src/components/SelectField/SelectFieldSync.d.ts +4 -4
  215. package/dist/src/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  216. package/dist/src/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  217. package/dist/src/components/SelectField/internal/useCombo.d.ts +8 -8
  218. package/dist/src/components/SelectField/internal/useSelectMode.d.ts +8 -8
  219. package/dist/src/components/SelectField/stories/SelectField.stories.data.d.ts +171 -5
  220. package/dist/src/components/SelectField/types.d.ts +32 -32
  221. package/dist/src/components/Text/Text.d.ts +7 -0
  222. package/dist/src/components/Text/types.d.ts +10 -0
  223. package/dist/src/internal/functions/buildSelectItems.d.ts +7 -7
  224. package/dist/src/internal/functions/syncFilterUtils.d.ts +4 -4
  225. package/dist/src/internal/hooks/useGroupedOptions.d.ts +8 -8
  226. package/dist/src/internal/hooks/usePinnedOptions.d.ts +5 -5
  227. package/dist/src/internal/hooks/useProcessedOptions.d.ts +7 -7
  228. package/dist/src/internal/hooks/useSelectFieldLoading/useSelectFieldLoading.d.ts +8 -8
  229. package/dist/src/internal/hooks/useSelectOrchestration.d.ts +2 -2
  230. package/dist/src/internal/hooks/useToggleSelection.d.ts +8 -8
  231. package/dist/src/internal/types/bulkActionTypes.d.ts +12 -12
  232. package/dist/src/internal/types/selectFieldInternalTypes.d.ts +8 -8
  233. package/dist/src/themes/carto.d.ts +113 -0
  234. package/dist/src/themes/index.d.ts +1 -0
  235. package/dist/{stripInlineMarkdown-BfNNOWPk.js → stripInlineMarkdown-BVD5dm2G.js} +2 -2
  236. package/dist/{stripInlineMarkdown-BfNNOWPk.js.map → stripInlineMarkdown-BVD5dm2G.js.map} +1 -1
  237. package/dist/{syncFilterUtils-YB6gRuuR.js → syncFilterUtils-BJSyhkTT.js} +4 -6
  238. package/dist/syncFilterUtils-BJSyhkTT.js.map +1 -0
  239. package/dist/themes.d.ts +1 -0
  240. package/dist/themes.js +37 -0
  241. package/dist/themes.js.map +1 -0
  242. package/dist/token/core/css-utils/a2-font.css +21 -21
  243. package/dist/token/core/css-utils/a2-utils.css +21 -21
  244. package/dist/token/core/css-utils/font.css +21 -21
  245. package/dist/token/core/css-utils/utils.css +21 -21
  246. package/dist/{treeSync-DOen59wP.js → treeSync-CDHaWosp.js} +3 -3
  247. package/dist/{treeSync-DOen59wP.js.map → treeSync-CDHaWosp.js.map} +1 -1
  248. package/dist/{useAdaptiveView-DmhhcX-B.js → useAdaptiveView-BVvKVT5q.js} +5 -5
  249. package/dist/{useAdaptiveView-DmhhcX-B.js.map → useAdaptiveView-BVvKVT5q.js.map} +1 -1
  250. package/dist/{useDrilldown-glecoaI_.js → useDrilldown-CXFqySME.js} +3 -3
  251. package/dist/{useDrilldown-glecoaI_.js.map → useDrilldown-CXFqySME.js.map} +1 -1
  252. package/dist/{useInfiniteCombobox-CVAYoUvh.js → useInfiniteCombobox-lT_gZZjN.js} +5 -5
  253. package/dist/{useInfiniteCombobox-CVAYoUvh.js.map → useInfiniteCombobox-lT_gZZjN.js.map} +1 -1
  254. package/dist/{useInitialFocus-BUxEDMEG.js → useInitialFocus-BIvXK1Rp.js} +2 -2
  255. package/dist/{useInitialFocus-BUxEDMEG.js.map → useInitialFocus-BIvXK1Rp.js.map} +1 -1
  256. package/dist/{usePopoverTransitionStates-CDXCdyKa.js → usePopoverTransitionStates-B1opfxxn.js} +1 -2
  257. package/dist/{usePopoverTransitionStates-CDXCdyKa.js.map → usePopoverTransitionStates-B1opfxxn.js.map} +1 -1
  258. package/package.json +6 -2
  259. package/dist/MultiSelectFieldSync-B_vuR-ii.js.map +0 -1
  260. package/dist/MultiSelectMenuSync-C3Y7jnJQ.js.map +0 -1
  261. package/dist/SelectFieldSync-rwfeNwN2.js.map +0 -1
  262. package/dist/Text-CIoD_RK4.js.map +0 -1
  263. package/dist/Text.module-BcVew1AQ.js +0 -23
  264. package/dist/Text.module-BcVew1AQ.js.map +0 -1
  265. package/dist/ThemeProvider-Sd8LK0A9.js.map +0 -1
  266. package/dist/bulkActionTypes-CWcUhKFS.js.map +0 -1
  267. package/dist/syncFilterUtils-YB6gRuuR.js.map +0 -1
package/dist/Stepper.css CHANGED
@@ -1,4 +1,4 @@
1
- .anvil2 {._stepper-list_tnvkm_1 {
1
+ .anvil2 {._stepper-list_iy9bb_1 {
2
2
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
3
3
  font-size: 100%;
4
4
  color: inherit;
@@ -14,21 +14,21 @@
14
14
  gap: var(--a2-size-2, 0.5rem);
15
15
  justify-content: flex-start;
16
16
  position: relative;
17
- }._stepper-steps_tnvkm_19 {
17
+ }._stepper-steps_iy9bb_19 {
18
18
  display: flex;
19
19
  flex-direction: row;
20
20
  font-size: var(--a2-typography-label-size-large, var(--a2-font-size-400, 1rem));
21
21
  gap: var(--a2-size-2, 0.5rem);
22
22
  justify-content: flex-start;
23
23
  position: relative;
24
- }._label_tnvkm_28 {
25
- font-weight: bold;
24
+ }._label_iy9bb_28 {
25
+ font-weight: var(--a2-mod-stepper-list-label-font-weight, var(--a2-font-weight-bold));
26
26
  }@container stepper (width > 768px) {
27
- ._label_tnvkm_28 {
27
+ ._label_iy9bb_28 {
28
28
  display: none;
29
29
  }
30
30
  }
31
- }.anvil2 {._stepper-step_1l4p4_1 {
31
+ }.anvil2 {._stepper-step_1p8ur_1 {
32
32
  --a2-mod-stepper-step-circle-foreground-color: var(--a2-stepper-step-default-circle-icon-color, var(--a2-foreground-color-on-primary, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a))));
33
33
  --a2-mod-stepper-step-fill-color: var(--a2-stepper-step-default-background-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
34
34
  --a2-mod-stepper-step-focus-ring-color: var(--a2-stepper-focus-ring-color, var(--a2-focus-ring-color-default, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)))));
@@ -50,12 +50,12 @@
50
50
  flex-basis: 100%;
51
51
  flex-direction: column;
52
52
  font-size: var(--a2-typography-label-size-large, var(--a2-font-size-400, 1rem));
53
- font-weight: normal;
53
+ font-weight: var(--a2-mod-stepper-step-font-weight, var(--a2-font-weight-normal));
54
54
  gap: var(--a2-size-2, 0.5rem);
55
55
  line-height: normal;
56
56
  text-align: start;
57
57
  transition: background-color var(--a2-duration-fast, 100ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1)), outline var(--a2-duration-fast, 100ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
58
- }._bar_1l4p4_30 {
58
+ }._bar_1p8ur_30 {
59
59
  background-color: var(--a2-mod-stepper-step-track-color);
60
60
  border-radius: var(--a2-mod-stepper-step-bar-border-radius, var(--a2-border-radius-xlarge, var(--a2-radius-8, 1.5rem)));
61
61
  flex-shrink: 0;
@@ -64,14 +64,14 @@
64
64
  outline: var(--a2-mod-stepper-step-bar-outline, none);
65
65
  outline-offset: var(--a2-mod-stepper-step-bar-outline-offset, 0);
66
66
  overflow: hidden;
67
- }._bar_1l4p4_30::before {
67
+ }._bar_1p8ur_30::before {
68
68
  background-color: var(--a2-mod-stepper-step-fill-color);
69
69
  content: "";
70
70
  display: block;
71
71
  height: 100%;
72
72
  transition: width var(--a2-duration-fast, 100ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1)) var(--a2-mod-stepper-step-bar-transition-delay, 0s);
73
73
  width: var(--a2-mod-stepper-step-bar-width, 0);
74
- }._label_1l4p4_49 {
74
+ }._label_1p8ur_49 {
75
75
  border-radius: var(--a2-mod-stepper-step-label-border-radius, 0);
76
76
  color: var(--a2-mod-stepper-step-label-color, inherit);
77
77
  display: var(--a2-mod-stepper-step-label-display, none);
@@ -82,7 +82,7 @@
82
82
  outline-offset: var(--a2-mod-stepper-step-label-outline-offset, 0);
83
83
  position: static;
84
84
  text-decoration: var(--a2-mod-stepper-step-label-text-decoration, none);
85
- }._circle_1l4p4_62 {
85
+ }._circle_1p8ur_62 {
86
86
  align-items: center;
87
87
  background-color: var(--a2-mod-stepper-step-circle-background-color, var(--a2-stepper-step-default-circle-background-color, var(--a2-background-color-default, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))));
88
88
  border: var(--a2-size-quarter, 0.0625rem) var(--a2-mod-stepper-step-circle-border-style, dashed) var(--a2-mod-stepper-step-circle-border-color, var(--a2-stepper-step-default-circle-border-color, var(--a2-border-color-default, light-dark(var(--a2-color-neutral-400, #8b8b8b), var(--a2-color-neutral-600, #545454)))));
@@ -95,41 +95,41 @@
95
95
  justify-content: center;
96
96
  margin-block-start: var(--a2-size-half, 0.125rem);
97
97
  width: var(--a2-size-4, 1rem);
98
- }._circle_1l4p4_62 svg {
98
+ }._circle_1p8ur_62 svg {
99
99
  display: var(--a2-mod-stepper-step-check-icon-display, none);
100
- }._stepper-step_1l4p4_1[aria-selected=true] {
100
+ }._stepper-step_1p8ur_1[aria-selected=true] {
101
101
  --a2-mod-stepper-step-bar-transition-delay: var(--a2-duration-fast, 100ms);
102
102
  --a2-mod-stepper-step-bar-width: var(--a2-size-6, 1.5rem);
103
103
  --a2-mod-stepper-step-circle-border-color: var(--a2-stepper-step-current-circle-border-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
104
104
  --a2-mod-stepper-step-circle-border-style: solid;
105
- }._stepper-step_1l4p4_1[aria-selected=true]:not(._all-completed_1l4p4_87) {
106
- font-weight: bold;
107
- }._can-navigate_1l4p4_91[data-completed=true]:not(._all-completed_1l4p4_87):not([aria-selected=true]) {
105
+ }._stepper-step_1p8ur_1[aria-selected=true]:not(._all-completed_1p8ur_87) {
106
+ font-weight: var(--a2-mod-stepper-step-selected-font-weight, var(--a2-font-weight-bold));
107
+ }._can-navigate_1p8ur_91[data-completed=true]:not(._all-completed_1p8ur_87):not([aria-selected=true]) {
108
108
  --a2-mod-stepper-step-label-color: var(--a2-foreground-color-primary, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)));
109
109
  --a2-mod-stepper-step-label-text-decoration: underline;
110
110
  cursor: pointer;
111
- }._stepper-step_1l4p4_1[data-completed=true],
112
- ._stepper-step_1l4p4_1._all-completed_1l4p4_87 {
111
+ }._stepper-step_1p8ur_1[data-completed=true],
112
+ ._stepper-step_1p8ur_1._all-completed_1p8ur_87 {
113
113
  --a2-mod-stepper-step-bar-transition-delay: 0s;
114
114
  --a2-mod-stepper-step-bar-width: 100%;
115
115
  --a2-mod-stepper-step-check-icon-display: block;
116
116
  --a2-mod-stepper-step-circle-background-color: var(--a2-stepper-step-complete-circle-background-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
117
117
  --a2-mod-stepper-step-circle-border-color: var(--a2-stepper-step-complete-circle-border-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
118
118
  --a2-mod-stepper-step-circle-border-style: solid;
119
- }._stepper-step_1l4p4_1:focus-visible,
120
- ._stepper-step_1l4p4_1[data-interactive=focus-visible] {
119
+ }._stepper-step_1p8ur_1:focus-visible,
120
+ ._stepper-step_1p8ur_1[data-interactive=focus-visible] {
121
121
  --a2-mod-stepper-step-bar-border-radius: var(--a2-border-radius-medium, var(--a2-radius-2, 0.375rem));
122
122
  --a2-mod-stepper-step-bar-outline: var(--a2-size-half, 0.125rem) solid
123
123
  var(--a2-mod-stepper-step-focus-ring-color);
124
124
  --a2-mod-stepper-step-bar-outline-offset: var(--a2-size-half, 0.125rem);
125
125
  }@container stepper (width > 768px) {
126
- ._stepper-step_1l4p4_1 {
126
+ ._stepper-step_1p8ur_1 {
127
127
  --a2-mod-stepper-step-bar-height: var(--a2-size-1, 0.25rem);
128
128
  --a2-mod-stepper-step-circle-display: inline-flex;
129
129
  --a2-mod-stepper-step-label-display: flex;
130
130
  }
131
- ._stepper-step_1l4p4_1:focus-visible,
132
- ._stepper-step_1l4p4_1[data-interactive=focus-visible] {
131
+ ._stepper-step_1p8ur_1:focus-visible,
132
+ ._stepper-step_1p8ur_1[data-interactive=focus-visible] {
133
133
  --a2-mod-stepper-step-bar-border-radius: var(--a2-border-radius-xlarge, var(--a2-radius-8, 1.5rem));
134
134
  --a2-mod-stepper-step-bar-outline: none;
135
135
  --a2-mod-stepper-step-bar-outline-offset: 0;
package/dist/Stepper.js CHANGED
@@ -1,2 +1,2 @@
1
- export { S as Stepper, S as default } from './Stepper-BX_gDWLE.js';
1
+ export { S as Stepper, S as default } from './Stepper-z1y9AfaJ.js';
2
2
  //# sourceMappingURL=Stepper.js.map
@@ -3,7 +3,7 @@ import { forwardRef, useId } from 'react';
3
3
  import { S as SvgCheck } from './check-Cf67OWrZ.js';
4
4
  import { I as Icon } from './Icon-B5zwN7GD.js';
5
5
  import { F as Flex } from './Flex-CRF7gj0_.js';
6
- import { A as AiMark } from './AiMark-2_O4tKv_.js';
6
+ import { A as AiMark } from './AiMark-BqRDRySA.js';
7
7
  import { c as cx } from './index-De1g9FRV.js';
8
8
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
9
9
  import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
@@ -100,4 +100,4 @@ const Switch = forwardRef(
100
100
  Switch.displayName = "Switch";
101
101
 
102
102
  export { Switch as S };
103
- //# sourceMappingURL=Switch-BpjBYm-U.js.map
103
+ //# sourceMappingURL=Switch-DnhE6CHy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch-BpjBYm-U.js","sources":["../src/components/Switch/Switch.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n type ReactElement,\n type Ref,\n forwardRef,\n useId,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n AiMarkWithTooltipOrPopoverProps,\n DataTrackingId,\n LayoutUtilProps,\n} from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport Check from \"@servicetitan/hammer-icon/mdi/round/check.svg\";\nimport Icon from \"../Icon\";\nimport Flex from \"../Flex\";\nimport { Helper } from \"../../internal/components\";\nimport { AiMark } from \"../../components/AiMark\";\n\nimport cx from \"classnames\";\nimport styles from \"./Switch.module.scss\";\n\n/**\n * State object returned by the Switch onChange callback\n */\nexport type SwitchState = {\n /**\n * Whether the switch is currently checked\n */\n checked: boolean;\n /**\n * The value of the switch input\n */\n value?: string | number | readonly string[];\n};\n\n/**\n * Props for the Switch component\n * @extends ComponentPropsWithoutRef<\"input\">\n * @extends LayoutUtilProps\n */\nexport type SwitchProps = Omit<ComponentPropsWithoutRef<\"input\">, \"onChange\"> &\n LayoutUtilProps & {\n /**\n * Callback when switch is changed.\n * @param e Change event object\n * @param state Current switch state with checked status and value\n */\n onChange?: (e: ChangeEvent<HTMLInputElement>, state: SwitchState) => void;\n\n /**\n * Label for the switch.\n * @remarks This should either be a string or have text content inside for accessibility\n */\n label?: ReactElement | string;\n\n /**\n * AI mark configuration to display next to the label.\n * Can be a boolean to show a simple AI mark, or an object with tooltip/popover configuration.\n */\n labelAiMark?: AiMarkWithTooltipOrPopoverProps[\"aiMark\"];\n\n /**\n * Description text to display below the label\n */\n description?: string;\n } & DataTrackingId;\n\n/**\n * Switch component for toggling between on/off states.\n *\n * Features:\n * - Toggle switch with smooth animations\n * - Check icon indicator when active\n * - Accessible with proper ARIA roles and attributes\n * - Keyboard navigation support (Space/Enter)\n * - Controlled and uncontrolled state management\n * - Customizable label and styling\n * - Layout utilities for positioning and spacing\n * - Focus management with visible focus indicators\n * - Hover states and visual feedback\n * - Disabled state support\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Switch\n * label=\"Enable notifications\"\n * onChange={(e, state) => console.log('Switch toggled:', state.checked)}\n * />\n */\nexport const Switch = forwardRef(\n (props: SwitchProps, ref: Ref<HTMLInputElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n label,\n labelAiMark,\n description,\n className,\n onChange,\n checked,\n defaultChecked,\n value,\n style,\n \"aria-label\": ariaLabel,\n ...rest\n } = componentProps;\n\n const helperUid = useId();\n\n const onChangeHandler = (e: ChangeEvent<HTMLInputElement>) => {\n onChange?.(e, { value, checked: e.target.checked });\n };\n\n const data = {\n label: childrenToString(label),\n ariaLabel: ariaLabel || \"Toggle option\",\n ariaLabelledBy: rest[\"aria-labelledby\"],\n value,\n };\n\n const trackingId = useTrackingId({\n name: \"Switch\",\n data,\n hasOverride: !!rest[\"data-tracking-id\"],\n });\n\n const switchClassNames = cx(styles[\"switch\"], className);\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n alignItems: description ? \"flex-start\" : \"center\",\n };\n\n return (\n <label className={switchClassNames} style={styleCombined}>\n <input\n className={styles[\"input\"]}\n data-tracking-id={trackingId}\n data-anv=\"switch\"\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n value={value}\n aria-checked={checked ?? defaultChecked}\n aria-label={label ? undefined : ariaLabel || \"Toggle option\"}\n checked={checked}\n defaultChecked={defaultChecked}\n onChange={onChangeHandler}\n {...rest}\n />\n <span aria-hidden className={styles[\"toggle\"]}>\n <span className={styles[\"thumb\"]}>\n <Icon svg={Check} className={styles[\"check\"]} />\n </span>\n </span>\n {label || description ? (\n <Flex direction=\"column\" gap={1}>\n <Flex alignItems=\"center\" gap={2}>\n {label}\n {labelAiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof labelAiMark === \"object\" ? labelAiMark : undefined\n }\n />\n )}\n </Flex>\n {description && <Helper id={helperUid} description={description} />}\n </Flex>\n ) : null}\n </label>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n"],"names":["Check"],"mappings":"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"}
1
+ {"version":3,"file":"Switch-DnhE6CHy.js","sources":["../src/components/Switch/Switch.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n type ReactElement,\n type Ref,\n forwardRef,\n useId,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n AiMarkWithTooltipOrPopoverProps,\n DataTrackingId,\n LayoutUtilProps,\n} from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport Check from \"@servicetitan/hammer-icon/mdi/round/check.svg\";\nimport Icon from \"../Icon\";\nimport Flex from \"../Flex\";\nimport { Helper } from \"../../internal/components\";\nimport { AiMark } from \"../../components/AiMark\";\n\nimport cx from \"classnames\";\nimport styles from \"./Switch.module.scss\";\n\n/**\n * State object returned by the Switch onChange callback\n */\nexport type SwitchState = {\n /**\n * Whether the switch is currently checked\n */\n checked: boolean;\n /**\n * The value of the switch input\n */\n value?: string | number | readonly string[];\n};\n\n/**\n * Props for the Switch component\n * @extends ComponentPropsWithoutRef<\"input\">\n * @extends LayoutUtilProps\n */\nexport type SwitchProps = Omit<ComponentPropsWithoutRef<\"input\">, \"onChange\"> &\n LayoutUtilProps & {\n /**\n * Callback when switch is changed.\n * @param e Change event object\n * @param state Current switch state with checked status and value\n */\n onChange?: (e: ChangeEvent<HTMLInputElement>, state: SwitchState) => void;\n\n /**\n * Label for the switch.\n * @remarks This should either be a string or have text content inside for accessibility\n */\n label?: ReactElement | string;\n\n /**\n * AI mark configuration to display next to the label.\n * Can be a boolean to show a simple AI mark, or an object with tooltip/popover configuration.\n */\n labelAiMark?: AiMarkWithTooltipOrPopoverProps[\"aiMark\"];\n\n /**\n * Description text to display below the label\n */\n description?: string;\n } & DataTrackingId;\n\n/**\n * Switch component for toggling between on/off states.\n *\n * Features:\n * - Toggle switch with smooth animations\n * - Check icon indicator when active\n * - Accessible with proper ARIA roles and attributes\n * - Keyboard navigation support (Space/Enter)\n * - Controlled and uncontrolled state management\n * - Customizable label and styling\n * - Layout utilities for positioning and spacing\n * - Focus management with visible focus indicators\n * - Hover states and visual feedback\n * - Disabled state support\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Switch\n * label=\"Enable notifications\"\n * onChange={(e, state) => console.log('Switch toggled:', state.checked)}\n * />\n */\nexport const Switch = forwardRef(\n (props: SwitchProps, ref: Ref<HTMLInputElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n label,\n labelAiMark,\n description,\n className,\n onChange,\n checked,\n defaultChecked,\n value,\n style,\n \"aria-label\": ariaLabel,\n ...rest\n } = componentProps;\n\n const helperUid = useId();\n\n const onChangeHandler = (e: ChangeEvent<HTMLInputElement>) => {\n onChange?.(e, { value, checked: e.target.checked });\n };\n\n const data = {\n label: childrenToString(label),\n ariaLabel: ariaLabel || \"Toggle option\",\n ariaLabelledBy: rest[\"aria-labelledby\"],\n value,\n };\n\n const trackingId = useTrackingId({\n name: \"Switch\",\n data,\n hasOverride: !!rest[\"data-tracking-id\"],\n });\n\n const switchClassNames = cx(styles[\"switch\"], className);\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n alignItems: description ? \"flex-start\" : \"center\",\n };\n\n return (\n <label className={switchClassNames} style={styleCombined}>\n <input\n className={styles[\"input\"]}\n data-tracking-id={trackingId}\n data-anv=\"switch\"\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n value={value}\n aria-checked={checked ?? defaultChecked}\n aria-label={label ? undefined : ariaLabel || \"Toggle option\"}\n checked={checked}\n defaultChecked={defaultChecked}\n onChange={onChangeHandler}\n {...rest}\n />\n <span aria-hidden className={styles[\"toggle\"]}>\n <span className={styles[\"thumb\"]}>\n <Icon svg={Check} className={styles[\"check\"]} />\n </span>\n </span>\n {label || description ? (\n <Flex direction=\"column\" gap={1}>\n <Flex alignItems=\"center\" gap={2}>\n {label}\n {labelAiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof labelAiMark === \"object\" ? labelAiMark : undefined\n }\n />\n )}\n </Flex>\n {description && <Helper id={helperUid} description={description} />}\n </Flex>\n ) : null}\n </label>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n"],"names":["Check"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6FO,MAAM,MAAA,GAAS,UAAA;AAAA,EACpB,CAAC,OAAoB,GAAA,KAA+B;AAClD,IAAA,MAAM,EAAE,YAAA,EAAc,cAAA,EAAe,GAAI,mBAAmB,KAAK,CAAA;AACjE,IAAA,MAAM;AAAA,MACJ,KAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,YAAA,EAAc,SAAA;AAAA,MACd,GAAG;AAAA,KACL,GAAI,cAAA;AAEJ,IAAA,MAAM,YAAY,KAAA,EAAM;AAExB,IAAA,MAAM,eAAA,GAAkB,CAAC,CAAA,KAAqC;AAC5D,MAAA,QAAA,GAAW,GAAG,EAAE,KAAA,EAAO,SAAS,CAAA,CAAE,MAAA,CAAO,SAAS,CAAA;AAAA,IACpD,CAAA;AAEA,IAAA,MAAM,IAAA,GAAO;AAAA,MACX,KAAA,EAAO,iBAAiB,KAAK,CAAA;AAAA,MAC7B,WAAW,SAAA,IAAa,eAAA;AAAA,MACxB,cAAA,EAAgB,KAAK,iBAAiB,CAAA;AAAA,MACtC;AAAA,KACF;AAEA,IAAA,MAAM,aAAa,aAAA,CAAc;AAAA,MAC/B,IAAA,EAAM,QAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAA,EAAa,CAAC,CAAC,IAAA,CAAK,kBAAkB;AAAA,KACvC,CAAA;AAED,IAAA,MAAM,gBAAA,GAAmB,EAAA,CAAG,MAAA,CAAO,QAAQ,GAAG,SAAS,CAAA;AAEvD,IAAA,MAAM,aAAA,GAAgB;AAAA,MACpB,GAAG,KAAA;AAAA,MACH,GAAG,YAAA;AAAA,MACH,UAAA,EAAY,cAAc,YAAA,GAAe;AAAA,KAC3C;AAEA,IAAA,uBACE,IAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAW,gBAAA,EAAkB,OAAO,aAAA,EACzC,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,OAAO,OAAO,CAAA;AAAA,UACzB,kBAAA,EAAkB,UAAA;AAAA,UAClB,UAAA,EAAS,QAAA;AAAA,UACT,GAAA;AAAA,UACA,IAAA,EAAK,UAAA;AAAA,UACL,IAAA,EAAK,QAAA;AAAA,UACL,KAAA;AAAA,UACA,gBAAc,OAAA,IAAW,cAAA;AAAA,UACzB,YAAA,EAAY,KAAA,GAAQ,MAAA,GAAY,SAAA,IAAa,eAAA;AAAA,UAC7C,OAAA;AAAA,UACA,cAAA;AAAA,UACA,QAAA,EAAU,eAAA;AAAA,UACT,GAAG;AAAA;AAAA,OACN;AAAA,sBACA,GAAA,CAAC,UAAK,aAAA,EAAW,IAAA,EAAC,WAAW,MAAA,CAAO,QAAQ,CAAA,EAC1C,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAO,OAAO,CAAA,EAC7B,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,GAAA,EAAKA,QAAA,EAAO,WAAW,MAAA,CAAO,OAAO,CAAA,EAAG,CAAA,EAChD,CAAA,EACF,CAAA;AAAA,MACC,SAAS,WAAA,mBACR,IAAA,CAAC,QAAK,SAAA,EAAU,QAAA,EAAS,KAAK,CAAA,EAC5B,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,IAAA,EAAA,EAAK,UAAA,EAAW,QAAA,EAAS,GAAA,EAAK,CAAA,EAC5B,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UACA,WAAA,oBACC,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,OAAO,cAAc,CAAA;AAAA,cAChC,IAAA,EAAK,UAAA;AAAA,cACL,sBAAA,EACE,OAAO,WAAA,KAAgB,QAAA,GAAW,WAAA,GAAc;AAAA;AAAA;AAEpD,SAAA,EAEJ,CAAA;AAAA,QACC,WAAA,oBAAe,GAAA,CAAC,MAAA,EAAA,EAAO,EAAA,EAAI,WAAW,WAAA,EAA0B;AAAA,OAAA,EACnE,CAAA,GACE;AAAA,KAAA,EACN,CAAA;AAAA,EAEJ;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;;;;"}
package/dist/Switch.js CHANGED
@@ -1,2 +1,2 @@
1
- export { S as Switch, S as default } from './Switch-BpjBYm-U.js';
1
+ export { S as Switch, S as default } from './Switch-DnhE6CHy.js';
2
2
  //# sourceMappingURL=Switch.js.map
package/dist/Table.js CHANGED
@@ -1,2 +1,2 @@
1
- export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, i as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, h as htmlFormatter, m as markdownFormatter, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, j as timeFormatter, y as yearlessDateFormatter } from './DataTable-D-SKKt5w.js';
1
+ export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, i as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, h as htmlFormatter, m as markdownFormatter, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, j as timeFormatter, y as yearlessDateFormatter } from './DataTable-BH0A9Sgs.js';
2
2
  //# sourceMappingURL=Table.js.map
@@ -1,8 +1,8 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { c as cx } from './index-De1g9FRV.js';
3
3
  import { forwardRef } from 'react';
4
- import { t as textStyles } from './Text.module-BcVew1AQ.js';
5
- import { A as AiMark } from './AiMark-2_O4tKv_.js';
4
+ import { t as textStyles } from './Text.module-D9ksuiBV.js';
5
+ import { A as AiMark } from './AiMark-BqRDRySA.js';
6
6
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
7
7
 
8
8
  const Text = forwardRef((props, ref) => {
@@ -16,10 +16,12 @@ const Text = forwardRef((props, ref) => {
16
16
  size = "medium",
17
17
  style,
18
18
  aiMark,
19
+ noMargin,
19
20
  ...rest
20
21
  } = componentProps;
21
22
  const TextClasses = cx(textStyles["headline"], className, {
22
- [textStyles[`${size}`]]: size !== "medium"
23
+ [textStyles[`${size}`]]: size !== "medium",
24
+ [textStyles["no-margin"]]: noMargin
23
25
  });
24
26
  const styleCombined = { ...style, ...layoutStyles };
25
27
  const aiMarkSize = size === "small" ? "medium" : size;
@@ -120,4 +122,4 @@ const Text = forwardRef((props, ref) => {
120
122
  Text.displayName = "Text";
121
123
 
122
124
  export { Text as T };
123
- //# sourceMappingURL=Text-CIoD_RK4.js.map
125
+ //# sourceMappingURL=Text-BT1MnQrn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text-BT1MnQrn.js","sources":["../src/components/Text/Text.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { forwardRef, type LegacyRef } from \"react\";\nimport styles from \"./Text.module.scss\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { AiMark } from \"../AiMark\";\nimport type {\n BodyTextInlineProps,\n BodyTextProps,\n EyebrowProps,\n HeadlineProps,\n} from \"./types\";\n\n/**\n * Props for the Text component\n * @extends HeadlineProps<\"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\">\n * @extends EyebrowProps\n * @extends BodyTextProps\n * @extends BodyTextInlineProps\n */\nexport type TextProps =\n | HeadlineProps<\"h1\">\n | HeadlineProps<\"h2\">\n | HeadlineProps<\"h3\">\n | HeadlineProps<\"h4\">\n | HeadlineProps<\"h5\">\n | HeadlineProps<\"h6\">\n | EyebrowProps\n | BodyTextProps\n | BodyTextInlineProps;\n\n/**\n * Text component for displaying various types of text content with consistent styling.\n *\n * Features:\n * - Multiple text variants (headline, eyebrow, body)\n * - Semantic HTML elements (h1-h6, p, span)\n * - Multiple size options for each variant\n *\n * @example\n * <Text variant=\"headline\" el=\"h1\" size=\"large\">Main Heading</Text>\n * <Text variant=\"headline\" el=\"h2\" size=\"medium\">Sub Heading</Text>\n *\n * @example\n * // Drop the trailing margin when aligning a headline against a sibling\n * <Flex alignItems=\"center\" gap=\"2\">\n * <Text variant=\"headline\" el=\"h2\" noMargin>Invoices</Text>\n * <Chip>Draft</Chip>\n * </Flex>\n *\n * @example\n * <Text variant=\"eyebrow\" size=\"small\">Category Label</Text>\n *\n * @example\n * <Text size=\"large\">Large body text</Text>\n * <Text subdued>Deemphasized text</Text>\n * <Text inline>Inline text within other text</Text>\n */\nexport const Text = forwardRef<\n HTMLHeadingElement | HTMLSpanElement | HTMLParagraphElement,\n TextProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n if (props.variant === \"headline\") {\n const {\n variant: _,\n children,\n className,\n el: HeadlineElement,\n size = \"medium\",\n style,\n aiMark,\n noMargin,\n ...rest\n } = componentProps;\n\n const TextClasses = classnames(styles[\"headline\"], className, {\n [styles[`${size}`]]: size !== \"medium\",\n [styles[\"no-margin\"]]: noMargin,\n });\n\n const styleCombined = { ...style, ...layoutStyles };\n\n const aiMarkSize = size === \"small\" ? \"medium\" : size;\n\n const aiMarkNode = aiMark && (\n <span className={styles[\"headline-ai-mark\"]}>\n <AiMark\n type=\"gradient\"\n collapsePadding=\"block\"\n size={aiMarkSize}\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n </span>\n );\n\n return (\n // @ts-expect-error ts(2604) HeadlineElement will work as element tag\n <HeadlineElement\n ref={ref as LegacyRef<HTMLHeadingElement>}\n className={TextClasses}\n data-anv=\"text\"\n style={styleCombined}\n {...rest}\n >\n {aiMarkNode ? (\n <span className={styles[\"headline-with-ai-mark\"]}>\n {children}\n {aiMarkNode}\n </span>\n ) : (\n children\n )}\n </HeadlineElement>\n );\n } else if (props.variant === \"eyebrow\") {\n const {\n variant: _,\n children,\n className,\n size = \"medium\",\n style,\n ...rest\n } = componentProps;\n\n const TextClasses = classnames(styles[\"eyebrow\"], className, {\n [styles[`${size}`]]: size !== \"medium\",\n });\n\n const styleCombined = { ...style, ...layoutStyles };\n\n return (\n <span\n ref={ref as LegacyRef<HTMLSpanElement>}\n className={TextClasses}\n data-anv=\"text\"\n style={styleCombined}\n {...rest}\n >\n {children}\n </span>\n );\n } else {\n const {\n variant: _,\n children,\n className,\n subdued,\n inline,\n style,\n size = \"medium\",\n ...rest\n } = componentProps;\n\n const TextClasses = classnames(styles[\"bodytext\"], className, {\n [styles[`${size}`]]: size !== \"medium\",\n [styles[\"subdued\"]]: subdued,\n [styles[\"inline\"]]: inline,\n });\n\n const styleCombined = { ...style, ...layoutStyles };\n\n if (inline) {\n return (\n <span\n ref={ref as LegacyRef<HTMLSpanElement>}\n className={TextClasses}\n data-anv=\"text\"\n style={styleCombined}\n {...rest}\n >\n {children}\n </span>\n );\n } else {\n return (\n <p\n ref={ref as LegacyRef<HTMLParagraphElement>}\n className={TextClasses}\n data-anv=\"text\"\n style={styleCombined}\n {...rest}\n >\n {children}\n </p>\n );\n }\n }\n});\n\nText.displayName = \"Text\";\n"],"names":["classnames","styles"],"mappings":"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"}
package/dist/Text.css CHANGED
@@ -1,4 +1,4 @@
1
- .anvil2 {._headline_1wbl3_1 {
1
+ .anvil2 {._headline_gpm68_1 {
2
2
  --a2-mod-text-headline-ai-mark-margin-block-start: var(--a2-size-1, 0.25rem);
3
3
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
4
4
  font-size: 100%;
@@ -20,14 +20,14 @@
20
20
  margin-inline-end: 0;
21
21
  margin-inline-start: 0;
22
22
  unicode-bidi: normal;
23
- }._headline-with-ai-mark_1wbl3_25 {
23
+ }._headline-with-ai-mark_gpm68_25 {
24
24
  align-items: flex-start;
25
25
  display: inline-flex;
26
26
  gap: var(--a2-size-2, 0.5rem);
27
- }._headline-ai-mark_1wbl3_31 {
27
+ }._headline-ai-mark_gpm68_31 {
28
28
  display: inline-flex;
29
29
  margin-block-start: var(--a2-mod-text-headline-ai-mark-margin-block-start);
30
- }._eyebrow_1wbl3_36 {
30
+ }._eyebrow_gpm68_36 {
31
31
  --a2-mod-text-foreground-color-subdued: var(--a2-text-foreground-color-subdued, var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4))));
32
32
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
33
33
  font-size: 100%;
@@ -50,7 +50,7 @@
50
50
  padding-block: var(--a2-mod-text-eyebrow-padding-block, 0);
51
51
  padding-inline: var(--a2-mod-text-eyebrow-padding-inline, 0);
52
52
  text-transform: uppercase;
53
- }._bodytext_1wbl3_61 {
53
+ }._bodytext_gpm68_61 {
54
54
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
55
55
  font-size: 100%;
56
56
  color: inherit;
@@ -66,36 +66,38 @@
66
66
  line-height: 1.5;
67
67
  margin-block: 0;
68
68
  margin-inline: 0;
69
- }._headline_1wbl3_1,
70
- ._eyebrow_1wbl3_36,
71
- ._bodytext_1wbl3_61 {
69
+ }._headline_gpm68_1,
70
+ ._eyebrow_gpm68_36,
71
+ ._bodytext_gpm68_61 {
72
72
  --a2-mod-text-focus-ring-color: var(--a2-text-focus-ring-color, var(--a2-focus-ring-color-default, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)))));
73
73
  outline: 0 solid var(--a2-mod-text-focus-ring-color);
74
74
  outline-offset: var(--a2-size-half, 0.125rem);
75
75
  transition: outline var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
76
- }._headline_1wbl3_1:focus-visible,
77
- ._eyebrow_1wbl3_36:focus-visible,
78
- ._bodytext_1wbl3_61:focus-visible {
76
+ }._headline_gpm68_1:focus-visible,
77
+ ._eyebrow_gpm68_36:focus-visible,
78
+ ._bodytext_gpm68_61:focus-visible {
79
79
  outline-width: var(--a2-size-half, 0.125rem);
80
- }._xlarge_1wbl3_93 {
80
+ }._xlarge_gpm68_93 {
81
81
  --a2-mod-text-bodytext-font-size: var(--a2-typography-paragraph-size-xlarge, var(--a2-font-size-600, 1.5rem));
82
82
  --a2-mod-text-headline-ai-mark-margin-block-start: calc(
83
83
  var(--a2-size-1, 0.25rem) + var(--a2-size-quarter, 0.0625rem)
84
84
  );
85
85
  --a2-mod-text-headline-font-size: var(--a2-typography-heading-size-xlarge, var(--a2-font-size-800, 2rem));
86
- }._large_1wbl3_101 {
86
+ }._large_gpm68_101 {
87
87
  --a2-mod-text-bodytext-font-size: var(--a2-typography-paragraph-size-large, var(--a2-font-size-500, 1.25rem));
88
88
  --a2-mod-text-eyebrow-font-size: var(--a2-typography-label-size-default, var(--a2-font-size-300, 0.875rem));
89
89
  --a2-mod-text-headline-font-size: var(--a2-typography-heading-size-large, var(--a2-font-size-600, 1.5rem));
90
- }._small_1wbl3_107 {
90
+ }._small_gpm68_107 {
91
91
  --a2-mod-text-bodytext-font-size: var(--a2-typography-paragraph-size-small, var(--a2-font-size-300, 0.875rem));
92
92
  --a2-mod-text-eyebrow-font-size: var(--a2-typography-label-size-xsmall, var(--a2-font-size-100, 0.625rem));
93
93
  --a2-mod-text-headline-ai-mark-margin-block-start: var(--a2-size-half, 0.125rem);
94
94
  --a2-mod-text-headline-font-size: var(--a2-typography-heading-size-small, var(--a2-font-size-400, 1rem));
95
- }._subdued_1wbl3_114 {
95
+ }._subdued_gpm68_114 {
96
96
  --a2-mod-text-foreground-color-subdued: var(--a2-text-foreground-color-subdued, var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4))));
97
97
  color: var(--a2-mod-text-foreground-color-subdued);
98
- }._inline_1wbl3_119 {
98
+ }._inline_gpm68_119 {
99
99
  display: inline;
100
+ }._no-margin_gpm68_123 {
101
+ margin-block-end: 0;
100
102
  }
101
103
  }
package/dist/Text.js CHANGED
@@ -1,2 +1,2 @@
1
- export { T as Text, T as default } from './Text-CIoD_RK4.js';
1
+ export { T as Text, T as default } from './Text-BT1MnQrn.js';
2
2
  //# sourceMappingURL=Text.js.map
@@ -0,0 +1,24 @@
1
+ import './Text.css';const headline = "_headline_gpm68_1";
2
+ const eyebrow = "_eyebrow_gpm68_36";
3
+ const bodytext = "_bodytext_gpm68_61";
4
+ const xlarge = "_xlarge_gpm68_93";
5
+ const large = "_large_gpm68_101";
6
+ const small = "_small_gpm68_107";
7
+ const subdued = "_subdued_gpm68_114";
8
+ const inline = "_inline_gpm68_119";
9
+ const textStyles = {
10
+ headline: headline,
11
+ "headline-with-ai-mark": "_headline-with-ai-mark_gpm68_25",
12
+ "headline-ai-mark": "_headline-ai-mark_gpm68_31",
13
+ eyebrow: eyebrow,
14
+ bodytext: bodytext,
15
+ xlarge: xlarge,
16
+ large: large,
17
+ small: small,
18
+ subdued: subdued,
19
+ inline: inline,
20
+ "no-margin": "_no-margin_gpm68_123"
21
+ };
22
+
23
+ export { textStyles as t };
24
+ //# sourceMappingURL=Text.module-D9ksuiBV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.module-D9ksuiBV.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,13 +4,13 @@ import { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
4
4
  import { S as Spinner } from './Spinner-B7tTWcP6.js';
5
5
  import { t as textFieldStyles } from './TextField.module-DklyLNKz.js';
6
6
  import { c as cx } from './index-De1g9FRV.js';
7
- import { F as FieldLabel } from './FieldLabel-SzH61hCb.js';
7
+ import { F as FieldLabel } from './FieldLabel-C-XG9Dvv.js';
8
8
  import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
9
9
  import { useTrackingId } from './useTrackingId.js';
10
10
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
11
11
  import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';
12
12
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
13
- import { s as stripInlineMarkdown } from './stripInlineMarkdown-BfNNOWPk.js';
13
+ import { s as stripInlineMarkdown } from './stripInlineMarkdown-BVD5dm2G.js';
14
14
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
15
15
  import { H as Helper } from './Helper-Bq6Npkgh.js';
16
16
 
@@ -215,4 +215,4 @@ const TextField = forwardRef(
215
215
  TextField.displayName = "InternalTextField";
216
216
 
217
217
  export { TextField as T };
218
- //# sourceMappingURL=TextField-CzzvLI5_.js.map
218
+ //# sourceMappingURL=TextField-1RXT8l7y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField-CzzvLI5_.js","sources":["../src/components/TextField/internal/TextField.tsx"],"sourcesContent":["import {\n type ChangeEventHandler,\n type ComponentPropsWithoutRef,\n type FocusEventHandler,\n type ReactElement,\n type ReactNode,\n type Ref,\n forwardRef,\n isValidElement,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useTrackingId, useMergeRefs } from \"../../../hooks\";\nimport type {\n DataTrackingId,\n LayoutUtilProps,\n Size,\n MaxLengthCounterProps,\n} from \"../../../types\";\nimport {\n useLayoutPropsUtil,\n useOptionallyControlledState,\n} from \"../../../internal/hooks\";\nimport { Helper, type HelperProps } from \"../../../internal/components\";\nimport { warnDeprecatedErrorUsage } from \"../../FieldMessage\";\nimport { Spinner } from \"../../Spinner\";\nimport styles from \"../TextField.module.scss\";\nimport cx from \"classnames\";\nimport { FieldLabel, type FieldLabelProps } from \"../../FieldLabel\";\nimport {\n childrenToString,\n stripInlineMarkdown,\n warnOnce,\n} from \"../../../internal/functions\";\n\nexport type TextFieldProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"size\" | \"prefix\"\n> &\n LayoutUtilProps & {\n /**\n * Error state for the field. Pass `true` to indicate error styling without a message.\n * Pass a string, string[], or ReactElement (deprecated) for error messages.\n */\n error?: boolean | string | ReactElement | string[];\n // TODO(v4.0.0): make label required and type string\n /**\n * Label for the field.\n * Omitting `label` is deprecated — it will be required in v4.0.0. Use `hideLabel` to visually hide it.\n * Passing `ReactNode` is deprecated — use a plain string with inline markdown instead.\n */\n label?: FieldLabelProps[\"children\"];\n prefix?: string | ReactElement;\n suffix?: string | ReactElement;\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n type?: \"text\" | \"email\" | \"tel\" | \"url\" | \"password\" | \"number\";\n description?: HelperProps[\"description\"];\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: HelperProps[\"errorAriaLive\"];\n hint?: HelperProps[\"hint\"];\n /**\n * Warning message(s) to display. Supports a single string or an array of strings.\n */\n warning?: string | string[];\n loading?: boolean;\n disabled?: boolean;\n labelProps?: FieldLabelProps;\n moreInfo?: ReactNode;\n /**\n * When `true`, hides the visible label and moves it to `aria-label` on the input.\n * Requires `label` to be set — the label is always needed for accessibility.\n * @default false\n */\n hideLabel?: boolean;\n /**\n * When `true`, applies a subdued primary background to the field to draw attention to it.\n * @default false\n */\n isHighlighted?: boolean;\n } & MaxLengthCounterProps &\n DataTrackingId;\n\nexport const TextField = forwardRef(\n (props: TextFieldProps, ref: Ref<HTMLInputElement>) => {\n const { aiMark, ...labelPropsWithoutAiMark } = props.labelProps || {};\n\n const data = {\n label: childrenToString(props.label),\n labelProps: labelPropsWithoutAiMark,\n prefix: childrenToString(props.prefix),\n hint: childrenToString(props.hint),\n description: childrenToString(props.description),\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"TextField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n error,\n errorAriaLive: _errorAriaLive,\n defaultValue: defaultValueProp,\n value: valueProp,\n label,\n moreInfo,\n prefix,\n suffix,\n size,\n type = \"text\",\n required,\n onChange,\n onFocus,\n onBlur,\n id: idProp,\n description,\n hint,\n showCounter,\n maxLength,\n loading,\n disabled,\n labelProps,\n style,\n placeholder,\n warning,\n \"aria-label\": ariaLabelProp,\n hideLabel = false,\n isHighlighted = false,\n ...rest\n } = componentProps;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [isTyping, setIsTyping] = useState(false);\n\n // Use the optionally controlled state for value\n const [value, setValue] = useOptionallyControlledState<typeof valueProp>({\n controlledValue: valueProp,\n defaultValue: defaultValueProp,\n });\n\n const length = useMemo(() => {\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n Array.isArray(value)\n ) {\n return String(value).length;\n }\n return 0;\n }, [value]);\n\n const onChangeHandler: ChangeEventHandler<HTMLInputElement> = (e) => {\n setValue(e.target.value);\n onChange?.(e);\n if (!isTyping) {\n setIsTyping(true);\n }\n };\n\n const blurHandler: FocusEventHandler<HTMLInputElement> = (e) => {\n onBlur?.(e);\n if (isTyping) {\n setIsTyping(false);\n }\n };\n\n const labelUid = useId();\n const id = idProp ?? labelUid;\n\n const prefixUid = useId();\n const suffixUid = useId();\n\n const helperUid = useId();\n const moreInfoUid = useId();\n\n warnDeprecatedErrorUsage(\"TextField\", error);\n\n // TODO(v4.0.0): remove these warnings once label is required string\n if (label === undefined) {\n warnOnce(\n \"TextField: label will be required in v4.0.0. Use hideLabel to visually hide the label.\",\n );\n } else if (typeof label !== \"string\") {\n warnOnce(\n \"TextField: Passing ReactNode to label is deprecated. Use a plain string with inline markdown instead.\",\n );\n }\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const styleCombined = { ...style, ...layoutStyles };\n\n const hasHelperText =\n hint || showCounter || errorMessages || warning || description;\n\n const ariaDescribedBy =\n [hasHelperText && helperUid, moreInfo && moreInfoUid]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n return (\n <div\n className={cx(styles[\"textfield\"], className)}\n data-anv=\"textfield\"\n style={styleCombined}\n >\n {/* TODO(v4.0.0): simplify to !hideLabel once label is required */}\n {label && !hideLabel && (\n <FieldLabel\n moreInfo={moreInfo}\n moreInfoId={moreInfo ? moreInfoUid : undefined}\n required={required}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </FieldLabel>\n )}\n <div\n className={cx(styles[\"input-wrapper\"], {\n [styles[\"small\"]]: size === \"small\",\n [styles[\"large\"]]: size === \"large\",\n [styles[\"highlight\"]]: isHighlighted,\n })}\n role=\"presentation\"\n onClick={(e) => {\n inputRef.current?.focus();\n if (e.target !== inputRef.current) {\n inputRef.current?.click();\n }\n }}\n >\n {prefix ? (\n <div\n aria-hidden\n className={styles[\"prefix\"]}\n id={`prefix${prefixUid}`}\n >\n {prefix}\n </div>\n ) : null}\n <input\n id={id}\n className={cx(styles[\"input\"], {\n [styles[\"error\"]]: error,\n })}\n onChange={onChangeHandler}\n onFocus={onFocus}\n onBlur={blurHandler}\n ref={useMergeRefs([ref, inputRef])}\n required={required}\n maxLength={maxLength}\n placeholder={placeholder}\n type={type}\n disabled={disabled}\n value={value ?? \"\"}\n data-tracking-id={trackingId}\n {...rest}\n aria-label={\n // TODO(v4.0.0): remove typeof check — label will always be string\n hideLabel && typeof label === \"string\"\n ? stripInlineMarkdown(label)\n : ariaLabelProp || (label ? undefined : placeholder) // TODO(v4.0.0): this can all be removed once label is required. Aria-label should no longer be a separate prop passed through.\n }\n aria-describedby={ariaDescribedBy}\n aria-invalid={error ? !!error : undefined}\n />\n {loading ? (\n <div className={styles[\"loading-spinner-wrapper\"]}>\n <Spinner size=\"small\" />\n </div>\n ) : null}\n {suffix ? (\n <div\n className={styles[\"suffix\"]}\n aria-hidden\n id={`suffix${suffixUid}`}\n >\n {suffix}\n </div>\n ) : null}\n </div>\n {hasHelperText ? (\n <Helper\n id={helperUid}\n hint={hint}\n maxLength={maxLength}\n inputLength={length}\n isTyping={isTyping}\n showCounter={showCounter}\n error={\n typeof errorMessages === \"string\" || Array.isArray(errorMessages)\n ? errorMessages\n : undefined\n }\n warning={warning}\n errorMessage={\n isValidElement(errorMessages) ? errorMessages : undefined\n }\n description={description}\n />\n ) : null}\n </div>\n );\n },\n);\nTextField.displayName = \"InternalTextField\";\n"],"names":["styles"],"mappings":"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"}
1
+ {"version":3,"file":"TextField-1RXT8l7y.js","sources":["../src/components/TextField/internal/TextField.tsx"],"sourcesContent":["import {\n type ChangeEventHandler,\n type ComponentPropsWithoutRef,\n type FocusEventHandler,\n type ReactElement,\n type ReactNode,\n type Ref,\n forwardRef,\n isValidElement,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useTrackingId, useMergeRefs } from \"../../../hooks\";\nimport type {\n DataTrackingId,\n LayoutUtilProps,\n Size,\n MaxLengthCounterProps,\n} from \"../../../types\";\nimport {\n useLayoutPropsUtil,\n useOptionallyControlledState,\n} from \"../../../internal/hooks\";\nimport { Helper, type HelperProps } from \"../../../internal/components\";\nimport { warnDeprecatedErrorUsage } from \"../../FieldMessage\";\nimport { Spinner } from \"../../Spinner\";\nimport styles from \"../TextField.module.scss\";\nimport cx from \"classnames\";\nimport { FieldLabel, type FieldLabelProps } from \"../../FieldLabel\";\nimport {\n childrenToString,\n stripInlineMarkdown,\n warnOnce,\n} from \"../../../internal/functions\";\n\nexport type TextFieldProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"size\" | \"prefix\"\n> &\n LayoutUtilProps & {\n /**\n * Error state for the field. Pass `true` to indicate error styling without a message.\n * Pass a string, string[], or ReactElement (deprecated) for error messages.\n */\n error?: boolean | string | ReactElement | string[];\n // TODO(v4.0.0): make label required and type string\n /**\n * Label for the field.\n * Omitting `label` is deprecated — it will be required in v4.0.0. Use `hideLabel` to visually hide it.\n * Passing `ReactNode` is deprecated — use a plain string with inline markdown instead.\n */\n label?: FieldLabelProps[\"children\"];\n prefix?: string | ReactElement;\n suffix?: string | ReactElement;\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n type?: \"text\" | \"email\" | \"tel\" | \"url\" | \"password\" | \"number\";\n description?: HelperProps[\"description\"];\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: HelperProps[\"errorAriaLive\"];\n hint?: HelperProps[\"hint\"];\n /**\n * Warning message(s) to display. Supports a single string or an array of strings.\n */\n warning?: string | string[];\n loading?: boolean;\n disabled?: boolean;\n labelProps?: FieldLabelProps;\n moreInfo?: ReactNode;\n /**\n * When `true`, hides the visible label and moves it to `aria-label` on the input.\n * Requires `label` to be set — the label is always needed for accessibility.\n * @default false\n */\n hideLabel?: boolean;\n /**\n * When `true`, applies a subdued primary background to the field to draw attention to it.\n * @default false\n */\n isHighlighted?: boolean;\n } & MaxLengthCounterProps &\n DataTrackingId;\n\nexport const TextField = forwardRef(\n (props: TextFieldProps, ref: Ref<HTMLInputElement>) => {\n const { aiMark, ...labelPropsWithoutAiMark } = props.labelProps || {};\n\n const data = {\n label: childrenToString(props.label),\n labelProps: labelPropsWithoutAiMark,\n prefix: childrenToString(props.prefix),\n hint: childrenToString(props.hint),\n description: childrenToString(props.description),\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"TextField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n error,\n errorAriaLive: _errorAriaLive,\n defaultValue: defaultValueProp,\n value: valueProp,\n label,\n moreInfo,\n prefix,\n suffix,\n size,\n type = \"text\",\n required,\n onChange,\n onFocus,\n onBlur,\n id: idProp,\n description,\n hint,\n showCounter,\n maxLength,\n loading,\n disabled,\n labelProps,\n style,\n placeholder,\n warning,\n \"aria-label\": ariaLabelProp,\n hideLabel = false,\n isHighlighted = false,\n ...rest\n } = componentProps;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [isTyping, setIsTyping] = useState(false);\n\n // Use the optionally controlled state for value\n const [value, setValue] = useOptionallyControlledState<typeof valueProp>({\n controlledValue: valueProp,\n defaultValue: defaultValueProp,\n });\n\n const length = useMemo(() => {\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n Array.isArray(value)\n ) {\n return String(value).length;\n }\n return 0;\n }, [value]);\n\n const onChangeHandler: ChangeEventHandler<HTMLInputElement> = (e) => {\n setValue(e.target.value);\n onChange?.(e);\n if (!isTyping) {\n setIsTyping(true);\n }\n };\n\n const blurHandler: FocusEventHandler<HTMLInputElement> = (e) => {\n onBlur?.(e);\n if (isTyping) {\n setIsTyping(false);\n }\n };\n\n const labelUid = useId();\n const id = idProp ?? labelUid;\n\n const prefixUid = useId();\n const suffixUid = useId();\n\n const helperUid = useId();\n const moreInfoUid = useId();\n\n warnDeprecatedErrorUsage(\"TextField\", error);\n\n // TODO(v4.0.0): remove these warnings once label is required string\n if (label === undefined) {\n warnOnce(\n \"TextField: label will be required in v4.0.0. Use hideLabel to visually hide the label.\",\n );\n } else if (typeof label !== \"string\") {\n warnOnce(\n \"TextField: Passing ReactNode to label is deprecated. Use a plain string with inline markdown instead.\",\n );\n }\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const styleCombined = { ...style, ...layoutStyles };\n\n const hasHelperText =\n hint || showCounter || errorMessages || warning || description;\n\n const ariaDescribedBy =\n [hasHelperText && helperUid, moreInfo && moreInfoUid]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n return (\n <div\n className={cx(styles[\"textfield\"], className)}\n data-anv=\"textfield\"\n style={styleCombined}\n >\n {/* TODO(v4.0.0): simplify to !hideLabel once label is required */}\n {label && !hideLabel && (\n <FieldLabel\n moreInfo={moreInfo}\n moreInfoId={moreInfo ? moreInfoUid : undefined}\n required={required}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </FieldLabel>\n )}\n <div\n className={cx(styles[\"input-wrapper\"], {\n [styles[\"small\"]]: size === \"small\",\n [styles[\"large\"]]: size === \"large\",\n [styles[\"highlight\"]]: isHighlighted,\n })}\n role=\"presentation\"\n onClick={(e) => {\n inputRef.current?.focus();\n if (e.target !== inputRef.current) {\n inputRef.current?.click();\n }\n }}\n >\n {prefix ? (\n <div\n aria-hidden\n className={styles[\"prefix\"]}\n id={`prefix${prefixUid}`}\n >\n {prefix}\n </div>\n ) : null}\n <input\n id={id}\n className={cx(styles[\"input\"], {\n [styles[\"error\"]]: error,\n })}\n onChange={onChangeHandler}\n onFocus={onFocus}\n onBlur={blurHandler}\n ref={useMergeRefs([ref, inputRef])}\n required={required}\n maxLength={maxLength}\n placeholder={placeholder}\n type={type}\n disabled={disabled}\n value={value ?? \"\"}\n data-tracking-id={trackingId}\n {...rest}\n aria-label={\n // TODO(v4.0.0): remove typeof check — label will always be string\n hideLabel && typeof label === \"string\"\n ? stripInlineMarkdown(label)\n : ariaLabelProp || (label ? undefined : placeholder) // TODO(v4.0.0): this can all be removed once label is required. Aria-label should no longer be a separate prop passed through.\n }\n aria-describedby={ariaDescribedBy}\n aria-invalid={error ? !!error : undefined}\n />\n {loading ? (\n <div className={styles[\"loading-spinner-wrapper\"]}>\n <Spinner size=\"small\" />\n </div>\n ) : null}\n {suffix ? (\n <div\n className={styles[\"suffix\"]}\n aria-hidden\n id={`suffix${suffixUid}`}\n >\n {suffix}\n </div>\n ) : null}\n </div>\n {hasHelperText ? (\n <Helper\n id={helperUid}\n hint={hint}\n maxLength={maxLength}\n inputLength={length}\n isTyping={isTyping}\n showCounter={showCounter}\n error={\n typeof errorMessages === \"string\" || Array.isArray(errorMessages)\n ? errorMessages\n : undefined\n }\n warning={warning}\n errorMessage={\n isValidElement(errorMessages) ? errorMessages : undefined\n }\n description={description}\n />\n ) : null}\n </div>\n );\n },\n);\nTextField.displayName = \"InternalTextField\";\n"],"names":["styles"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
- import { T as TextField$1 } from './TextField-CzzvLI5_.js';
3
+ import { T as TextField$1 } from './TextField-1RXT8l7y.js';
4
4
 
5
5
  const TextField = forwardRef(
6
6
  (props, ref) => {
@@ -10,4 +10,4 @@ const TextField = forwardRef(
10
10
  TextField.displayName = "TextField";
11
11
 
12
12
  export { TextField as T };
13
- //# sourceMappingURL=TextField-D3sRS5q1.js.map
13
+ //# sourceMappingURL=TextField-ClFi79P0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField-D3sRS5q1.js","sources":["../src/components/TextField/TextField.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n TextField as CoreTextField,\n type TextFieldProps as CoreTextFieldProps,\n} from \"./internal/TextField\";\nimport type { MaxLengthCounterProps } from \"../../types\";\n\nexport type TextFieldProps = Omit<CoreTextFieldProps, \"prefix\"> & {\n prefix?: string;\n} & MaxLengthCounterProps;\n\n/**\n * TextField component for single-line text input.\n *\n * Features:\n * - Label, hint, description, error, and warning messaging\n * - Optional prefix/suffix content (text, icon, or element)\n * - Character counter via `showCounter`/`maxLength`\n * - Loading state with spinner, and disabled/read-only states\n * - Configurable `size` and native input `type`\n * - Full accessibility support via `FieldLabel`\n *\n * @example\n * <TextField label=\"Email\" type=\"email\" placeholder=\"you@example.com\" />\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (props, ref) => {\n return <CoreTextField ref={ref} {...props} />;\n },\n);\n\nTextField.displayName = \"TextField\";\n"],"names":["CoreTextField"],"mappings":";;;;AAyBO,MAAM,SAAA,GAAY,UAAA;AAAA,EACvB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,uBAAO,GAAA,CAACA,WAAA,EAAA,EAAc,GAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAAA,EAC7C;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA;;;;"}
1
+ {"version":3,"file":"TextField-ClFi79P0.js","sources":["../src/components/TextField/TextField.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n TextField as CoreTextField,\n type TextFieldProps as CoreTextFieldProps,\n} from \"./internal/TextField\";\nimport type { MaxLengthCounterProps } from \"../../types\";\n\nexport type TextFieldProps = Omit<CoreTextFieldProps, \"prefix\"> & {\n prefix?: string;\n} & MaxLengthCounterProps;\n\n/**\n * TextField component for single-line text input.\n *\n * Features:\n * - Label, hint, description, error, and warning messaging\n * - Optional prefix/suffix content (text, icon, or element)\n * - Character counter via `showCounter`/`maxLength`\n * - Loading state with spinner, and disabled/read-only states\n * - Configurable `size` and native input `type`\n * - Full accessibility support via `FieldLabel`\n *\n * @example\n * <TextField label=\"Email\" type=\"email\" placeholder=\"you@example.com\" />\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (props, ref) => {\n return <CoreTextField ref={ref} {...props} />;\n },\n);\n\nTextField.displayName = \"TextField\";\n"],"names":["CoreTextField"],"mappings":";;;;AAyBO,MAAM,SAAA,GAAY,UAAA;AAAA,EACvB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,uBAAO,GAAA,CAACA,WAAA,EAAA,EAAc,GAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAAA,EAC7C;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA;;;;"}
package/dist/TextField.js CHANGED
@@ -1,2 +1,2 @@
1
- export { T as TextField, T as default } from './TextField-D3sRS5q1.js';
1
+ export { T as TextField, T as default } from './TextField-ClFi79P0.js';
2
2
  //# sourceMappingURL=TextField.js.map
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import React__default, { useLayoutEffect, forwardRef, useRef, useState, useMemo, useEffect, useId, isValidElement } from 'react';
4
- import { F as FieldLabel } from './FieldLabel-SzH61hCb.js';
4
+ import { F as FieldLabel } from './FieldLabel-C-XG9Dvv.js';
5
5
  import { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
6
6
  import { c as cx } from './index-De1g9FRV.js';
7
7
  import { _ as _objectWithoutPropertiesLoose, a as _extends } from './extends-Bg2s_OKl.js';
@@ -10,7 +10,7 @@ import { useTrackingId } from './useTrackingId.js';
10
10
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
11
11
  import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';
12
12
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
13
- import { s as stripInlineMarkdown } from './stripInlineMarkdown-BfNNOWPk.js';
13
+ import { s as stripInlineMarkdown } from './stripInlineMarkdown-BVD5dm2G.js';
14
14
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
15
15
  import { H as Helper } from './Helper-Bq6Npkgh.js';
16
16
 
@@ -423,4 +423,4 @@ const Textarea = forwardRef(
423
423
  Textarea.displayName = "Textarea";
424
424
 
425
425
  export { Textarea as T };
426
- //# sourceMappingURL=Textarea-B3C7AkPj.js.map
426
+ //# sourceMappingURL=Textarea-CuR8d8LC.js.map