@servicetitan/anvil2 3.0.1 → 3.0.3

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 (288) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +8 -6
  3. package/dist/{AiMark-B1-M3ZgP.js → AiMark-DiMotaq3.js} +3 -3
  4. package/dist/{AiMark-B1-M3ZgP.js.map → AiMark-DiMotaq3.js.map} +1 -1
  5. package/dist/AiMark.js +1 -1
  6. package/dist/{Alert-C04WIw7A.js → Alert-DhhVURcl.js} +2 -2
  7. package/dist/{Alert-C04WIw7A.js.map → Alert-DhhVURcl.js.map} +1 -1
  8. package/dist/Alert.js +1 -1
  9. package/dist/{Breadcrumbs-CAJMeA1D.js → Breadcrumbs-vvKOtFwN.js} +2 -2
  10. package/dist/{Breadcrumbs-CAJMeA1D.js.map → Breadcrumbs-vvKOtFwN.js.map} +1 -1
  11. package/dist/Breadcrumbs.js +1 -1
  12. package/dist/{Calendar-BAbAagIx.js → Calendar-CMzwTBdD.js} +2 -2
  13. package/dist/{Calendar-BAbAagIx.js.map → Calendar-CMzwTBdD.js.map} +1 -1
  14. package/dist/{Calendar-CaCMa_jq.js → Calendar-DCO_y5QZ.js} +3 -3
  15. package/dist/{Calendar-CaCMa_jq.js.map → Calendar-DCO_y5QZ.js.map} +1 -1
  16. package/dist/Calendar.js +2 -2
  17. package/dist/{Checkbox-BSAS8-DM.js → Checkbox-BngBrjEV.js} +3 -3
  18. package/dist/{Checkbox-BSAS8-DM.js.map → Checkbox-BngBrjEV.js.map} +1 -1
  19. package/dist/{Checkbox-Ckl8EFpF.js → Checkbox-lSwl_u26.js} +2 -2
  20. package/dist/{Checkbox-Ckl8EFpF.js.map → Checkbox-lSwl_u26.js.map} +1 -1
  21. package/dist/Checkbox.js +1 -1
  22. package/dist/{Chip-Da8c7tKP.js → Chip-DBn3KRak.js} +2 -2
  23. package/dist/{Chip-Da8c7tKP.js.map → Chip-DBn3KRak.js.map} +1 -1
  24. package/dist/Chip.js +1 -1
  25. package/dist/{Combobox-CBLaT1lU.js → Combobox-BwItJKgY.js} +5 -5
  26. package/dist/{Combobox-CBLaT1lU.js.map → Combobox-BwItJKgY.js.map} +1 -1
  27. package/dist/Combobox.js +1 -1
  28. package/dist/{DataTable-BDXdCF7J.js → DataTable-CME7SbPc.js} +1237 -149
  29. package/dist/DataTable-CME7SbPc.js.map +1 -0
  30. package/dist/DataTable.css +259 -103
  31. package/dist/{DateFieldRange-DPTC3EZz.js → DateFieldRange-U-5bf9og.js} +4 -4
  32. package/dist/{DateFieldRange-DPTC3EZz.js.map → DateFieldRange-U-5bf9og.js.map} +1 -1
  33. package/dist/DateFieldRange.js +1 -1
  34. package/dist/{DateFieldSingle-w1G-zd9G.js → DateFieldSingle-BKG9sqiM.js} +4 -4
  35. package/dist/{DateFieldSingle-w1G-zd9G.js.map → DateFieldSingle-BKG9sqiM.js.map} +1 -1
  36. package/dist/DateFieldSingle.js +1 -1
  37. package/dist/{DateFieldYearless-DHNVc7Sd.js → DateFieldYearless-DSqjzJu1.js} +4 -4
  38. package/dist/{DateFieldYearless-DHNVc7Sd.js.map → DateFieldYearless-DSqjzJu1.js.map} +1 -1
  39. package/dist/DateFieldYearless.js +1 -1
  40. package/dist/{DateFieldYearlessRange-C5ktVUgG.js → DateFieldYearlessRange-CTvEP2-M.js} +3 -3
  41. package/dist/{DateFieldYearlessRange-C5ktVUgG.js.map → DateFieldYearlessRange-CTvEP2-M.js.map} +1 -1
  42. package/dist/DateFieldYearlessRange.js +1 -1
  43. package/dist/{DaysOfTheWeek-BubWkBZ0.js → DaysOfTheWeek-BkvgTLLI.js} +4 -4
  44. package/dist/{DaysOfTheWeek-BubWkBZ0.js.map → DaysOfTheWeek-BkvgTLLI.js.map} +1 -1
  45. package/dist/DaysOfTheWeek.js +1 -1
  46. package/dist/{Dialog-ByTyuybu.js → Dialog-BG9oFx5p.js} +4 -4
  47. package/dist/{Dialog-ByTyuybu.js.map → Dialog-BG9oFx5p.js.map} +1 -1
  48. package/dist/Dialog.js +1 -1
  49. package/dist/Dnd.js +2 -1
  50. package/dist/Dnd.js.map +1 -1
  51. package/dist/DndHandleButton-Dgt9G-dF.js +43 -0
  52. package/dist/DndHandleButton-Dgt9G-dF.js.map +1 -0
  53. package/dist/DndHandleButton.css +22 -0
  54. package/dist/DndSort.js +3 -2
  55. package/dist/DndSort.js.map +1 -1
  56. package/dist/{Drawer-CwyfBcwt.js → Drawer-CmoV9FWV.js} +4 -4
  57. package/dist/{Drawer-CwyfBcwt.js.map → Drawer-CmoV9FWV.js.map} +1 -1
  58. package/dist/Drawer.js +1 -1
  59. package/dist/DrillDown.js +1 -1
  60. package/dist/{EditCard-DqLSnkih.js → EditCard-DFBjxF9l.js} +2 -2
  61. package/dist/{EditCard-DqLSnkih.js.map → EditCard-DFBjxF9l.js.map} +1 -1
  62. package/dist/EditCard.js +1 -1
  63. package/dist/{FieldLabel-DZWu5dMp.js → FieldLabel-rHPbiyR3.js} +3 -3
  64. package/dist/{FieldLabel-DZWu5dMp.js.map → FieldLabel-rHPbiyR3.js.map} +1 -1
  65. package/dist/FieldLabel.js +1 -1
  66. package/dist/{FilterBar-BU8StPPd.js → FilterBar-Cr0Tiw-y.js} +14 -14
  67. package/dist/{FilterBar-BU8StPPd.js.map → FilterBar-Cr0Tiw-y.js.map} +1 -1
  68. package/dist/FilterBar.js +1 -1
  69. package/dist/{Flex-DOUtHiPi.js → Flex-_orhvoxS.js} +3 -3
  70. package/dist/{Flex-DOUtHiPi.js.map → Flex-_orhvoxS.js.map} +1 -1
  71. package/dist/Flex.css +4 -20
  72. package/dist/Flex.js +1 -1
  73. package/dist/{Grid-B1VVssDD.js → Grid-_-rtwanf.js} +4 -4
  74. package/dist/{Grid-B1VVssDD.js.map → Grid-_-rtwanf.js.map} +1 -1
  75. package/dist/Grid.css +6 -22
  76. package/dist/Grid.js +1 -1
  77. package/dist/{InputMask-EwEJlW-t.js → InputMask-DxbFpzo7.js} +3 -3
  78. package/dist/{InputMask-EwEJlW-t.js.map → InputMask-DxbFpzo7.js.map} +1 -1
  79. package/dist/InputMask.js +1 -1
  80. package/dist/InteractiveCard-KGs2b_al.js +119 -0
  81. package/dist/InteractiveCard-KGs2b_al.js.map +1 -0
  82. package/dist/InteractiveCard.css +21 -28
  83. package/dist/InteractiveCard.js +1 -1
  84. package/dist/{ListView-DBO9Bl1H.js → ListView-CYkuvkAy.js} +2 -2
  85. package/dist/{ListView-DBO9Bl1H.js.map → ListView-CYkuvkAy.js.map} +1 -1
  86. package/dist/ListView.js +1 -1
  87. package/dist/{Listbox-C0tjQFDF.js → Listbox-DbSr9FiH.js} +3 -3
  88. package/dist/{Listbox-C0tjQFDF.js.map → Listbox-DbSr9FiH.js.map} +1 -1
  89. package/dist/Listbox.js +1 -1
  90. package/dist/MultiSelectField.js +1 -1
  91. package/dist/{MultiSelectFieldSync-ueey5UBM.js → MultiSelectFieldSync-CSTBMpZC.js} +29 -13
  92. package/dist/MultiSelectFieldSync-CSTBMpZC.js.map +1 -0
  93. package/dist/MultiSelectMenu.js +1 -1
  94. package/dist/{MultiSelectMenuSync-D7hqugcQ.js → MultiSelectMenuSync-DKt2MBno.js} +3 -3
  95. package/dist/{MultiSelectMenuSync-D7hqugcQ.js.map → MultiSelectMenuSync-DKt2MBno.js.map} +1 -1
  96. package/dist/{NumberField-DJbdyatF.js → NumberField-BDoMHzQ4.js} +7 -7
  97. package/dist/NumberField-BDoMHzQ4.js.map +1 -0
  98. package/dist/NumberField.js +1 -1
  99. package/dist/Overflow.js +2 -2
  100. package/dist/{Page-DbK-JKyB.js → Page-3UxH97bm.js} +10 -10
  101. package/dist/{Page-DbK-JKyB.js.map → Page-3UxH97bm.js.map} +1 -1
  102. package/dist/Page.js +1 -1
  103. package/dist/{Pagination-Bg5Nsdik.js → Pagination-8JccjxhO.js} +3 -3
  104. package/dist/{Pagination-Bg5Nsdik.js.map → Pagination-8JccjxhO.js.map} +1 -1
  105. package/dist/Pagination.js +1 -1
  106. package/dist/{Popover-CyB7yzSf.js → Popover-C_XdNvAZ.js} +2 -2
  107. package/dist/{Popover-CyB7yzSf.js.map → Popover-C_XdNvAZ.js.map} +1 -1
  108. package/dist/Popover.js +1 -1
  109. package/dist/{ProgressBar-DSrjgLTx.js → ProgressBar-Cpf78iq6.js} +3 -3
  110. package/dist/{ProgressBar-DSrjgLTx.js.map → ProgressBar-Cpf78iq6.js.map} +1 -1
  111. package/dist/ProgressBar.js +1 -1
  112. package/dist/{Radio-CQaXJ72d.js → Radio-DJ6KgfcS.js} +2 -2
  113. package/dist/{Radio-CQaXJ72d.js.map → Radio-DJ6KgfcS.js.map} +1 -1
  114. package/dist/{Radio-DO4UhbBE.js → Radio-IksHWkBl.js} +3 -3
  115. package/dist/{Radio-DO4UhbBE.js.map → Radio-IksHWkBl.js.map} +1 -1
  116. package/dist/Radio.js +1 -1
  117. package/dist/RichTextEditor-DUz-bi8H.js +30852 -0
  118. package/dist/RichTextEditor-DUz-bi8H.js.map +1 -0
  119. package/dist/RichTextEditor.css +178 -0
  120. package/dist/RichTextEditor.d.ts +2 -0
  121. package/dist/RichTextEditor.js +2 -0
  122. package/dist/RichTextEditor.js.map +1 -0
  123. package/dist/{SelectCard-CtXwY8FZ.js → SelectCard-E-13CjHS.js} +3 -3
  124. package/dist/{SelectCard-CtXwY8FZ.js.map → SelectCard-E-13CjHS.js.map} +1 -1
  125. package/dist/SelectCard.js +1 -1
  126. package/dist/SelectField.js +1 -1
  127. package/dist/{SelectFieldLabel-DLT5dKbx.js → SelectFieldLabel-DznBaE99.js} +4 -2
  128. package/dist/SelectFieldLabel-DznBaE99.js.map +1 -0
  129. package/dist/{SelectFieldSync-W_-jTf7z.js → SelectFieldSync-Ci9k35TH.js} +27 -11
  130. package/dist/SelectFieldSync-Ci9k35TH.js.map +1 -0
  131. package/dist/SelectMenu.js +1 -1
  132. package/dist/{SelectMenuSync-QcjbQtCO.js → SelectMenuSync-s2IzEHug.js} +3 -3
  133. package/dist/{SelectMenuSync-QcjbQtCO.js.map → SelectMenuSync-s2IzEHug.js.map} +1 -1
  134. package/dist/{SelectOptions-BsX0f22q.js → SelectOptions-5zgSQ6Xs.js} +2 -2
  135. package/dist/{SelectOptions-BsX0f22q.js.map → SelectOptions-5zgSQ6Xs.js.map} +1 -1
  136. package/dist/{SelectTrigger-BaDvF9JD.js → SelectTrigger-Ce9SHhQ9.js} +2 -2
  137. package/dist/{SelectTrigger-BaDvF9JD.js.map → SelectTrigger-Ce9SHhQ9.js.map} +1 -1
  138. package/dist/SelectTrigger.js +1 -1
  139. package/dist/{SelectTriggerBase-kMRqbXwu.js → SelectTriggerBase-BqTVE7Jr.js} +4 -4
  140. package/dist/{SelectTriggerBase-kMRqbXwu.js.map → SelectTriggerBase-BqTVE7Jr.js.map} +1 -1
  141. package/dist/{Switch-DeBu4Ucg.js → Switch-DTOkt0oQ.js} +3 -3
  142. package/dist/{Switch-DeBu4Ucg.js.map → Switch-DTOkt0oQ.js.map} +1 -1
  143. package/dist/Switch.js +1 -1
  144. package/dist/Table.js +1 -1
  145. package/dist/{Text-BH8gglCL.js → Text-C0F8AkvH.js} +2 -2
  146. package/dist/{Text-BH8gglCL.js.map → Text-C0F8AkvH.js.map} +1 -1
  147. package/dist/Text.js +1 -1
  148. package/dist/{TextField-CRDTnuUN.js → TextField-CLZEj0aI.js} +3 -3
  149. package/dist/{TextField-CRDTnuUN.js.map → TextField-CLZEj0aI.js.map} +1 -1
  150. package/dist/{TextField-YlMkDHp-.js → TextField-yL52fx5R.js} +2 -2
  151. package/dist/{TextField-YlMkDHp-.js.map → TextField-yL52fx5R.js.map} +1 -1
  152. package/dist/TextField.js +1 -1
  153. package/dist/{Textarea-CxXmr_Gx.js → Textarea-CGgyvnM8.js} +3 -3
  154. package/dist/{Textarea-CxXmr_Gx.js.map → Textarea-CGgyvnM8.js.map} +1 -1
  155. package/dist/Textarea.js +1 -1
  156. package/dist/{TimeField-Cz4tMYb3.js → TimeField-B6a5M2IF.js} +4 -4
  157. package/dist/{TimeField-Cz4tMYb3.js.map → TimeField-B6a5M2IF.js.map} +1 -1
  158. package/dist/TimeField.js +1 -1
  159. package/dist/Toast.js +2 -2
  160. package/dist/{Toaster-DYGDohJT.js → Toaster-BFqaSgtk.js} +2 -2
  161. package/dist/{Toaster-DYGDohJT.js.map → Toaster-BFqaSgtk.js.map} +1 -1
  162. package/dist/{Toaster-BV8RjmIN.js → Toaster-r2MSja0X.js} +3 -3
  163. package/dist/{Toaster-BV8RjmIN.js.map → Toaster-r2MSja0X.js.map} +1 -1
  164. package/dist/{Toolbar-Dzj2KMEy.js → Toolbar-B3gBBULy.js} +6 -6
  165. package/dist/{Toolbar-Dzj2KMEy.js.map → Toolbar-B3gBBULy.js.map} +1 -1
  166. package/dist/Toolbar-DVRr_0JF.js +780 -0
  167. package/dist/Toolbar-DVRr_0JF.js.map +1 -0
  168. package/dist/Toolbar.js +2 -2
  169. package/dist/{ToolbarButtonToggle--2Ka05N8.js → ToolbarButtonToggle-Ch0SH4oH.js} +5 -4
  170. package/dist/ToolbarButtonToggle-Ch0SH4oH.js.map +1 -0
  171. package/dist/{Tooltip-BlStOXN3.js → Tooltip-lBmgi5ZB.js} +7 -6
  172. package/dist/Tooltip-lBmgi5ZB.js.map +1 -0
  173. package/dist/Tooltip.css +7 -6
  174. package/dist/Tooltip.js +1 -1
  175. package/dist/{YearlessDateInputWithPicker-DyytWt0x.js → YearlessDateInputWithPicker-DA2bOjrc.js} +3 -3
  176. package/dist/{YearlessDateInputWithPicker-DyytWt0x.js.map → YearlessDateInputWithPicker-DA2bOjrc.js.map} +1 -1
  177. package/dist/add-BcQkAUip.js +6 -0
  178. package/dist/add-BcQkAUip.js.map +1 -0
  179. package/dist/assets/css-utils/a2-border.css +23 -53
  180. package/dist/assets/css-utils/a2-color.css +221 -449
  181. package/dist/assets/css-utils/a2-font.css +21 -47
  182. package/dist/assets/css-utils/a2-spacing.css +238 -481
  183. package/dist/assets/css-utils/a2-utils.css +497 -1002
  184. package/dist/assets/css-utils/border.css +23 -53
  185. package/dist/assets/css-utils/color.css +221 -449
  186. package/dist/assets/css-utils/font.css +21 -47
  187. package/dist/assets/css-utils/spacing.css +238 -481
  188. package/dist/assets/css-utils/utils.css +497 -1002
  189. package/dist/beta/components/InteractiveCard/InteractiveCard.d.ts +3 -1
  190. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  191. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  192. package/dist/beta/components/MultiSelectField/internal/types.d.ts +3 -1
  193. package/dist/beta/components/MultiSelectField/types.d.ts +5 -1
  194. package/dist/beta/components/RichTextEditor/RichTextEditor.d.ts +27 -0
  195. package/dist/beta/components/RichTextEditor/index.d.ts +2 -0
  196. package/dist/beta/components/RichTextEditor/internal/LinkPopover.d.ts +14 -0
  197. package/dist/beta/components/RichTextEditor/internal/MentionList.d.ts +14 -0
  198. package/dist/beta/components/RichTextEditor/internal/MentionNodeView.d.ts +11 -0
  199. package/dist/beta/components/RichTextEditor/internal/MentionPopover.d.ts +16 -0
  200. package/dist/beta/components/RichTextEditor/internal/RichTextEditorContext.d.ts +57 -0
  201. package/dist/beta/components/RichTextEditor/internal/RichTextEditorDragHandle.d.ts +6 -0
  202. package/dist/beta/components/RichTextEditor/internal/RichTextEditorMockData.d.ts +8 -0
  203. package/dist/beta/components/RichTextEditor/internal/RichTextEditorProvider.d.ts +8 -0
  204. package/dist/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
  205. package/dist/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +11 -0
  206. package/dist/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +11 -0
  207. package/dist/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +3 -0
  208. package/dist/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +8 -0
  209. package/dist/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +18 -0
  210. package/dist/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +8 -0
  211. package/dist/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +32 -0
  212. package/dist/beta/components/RichTextEditor/types.d.ts +103 -0
  213. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  214. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +3 -1
  215. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  216. package/dist/beta/components/SelectField/types.d.ts +5 -1
  217. package/dist/beta/components/Table/DataTable/DataTable.d.ts +40 -1
  218. package/dist/beta/components/Table/DataTable/internal/DataTableBody.d.ts +22 -0
  219. package/dist/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +18 -1
  220. package/dist/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +16 -0
  221. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +8 -0
  222. package/dist/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +49 -0
  223. package/dist/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +9 -5
  224. package/dist/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +3 -0
  225. package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +13 -1
  226. package/dist/beta/components/Table/createColumnHelper.d.ts +48 -22
  227. package/dist/beta/components/Table/internal/getCommonPinningClasses.d.ts +1 -1
  228. package/dist/beta/components/Table/types.d.ts +311 -7
  229. package/dist/beta/components/index.d.ts +1 -0
  230. package/dist/beta.js +13 -12
  231. package/dist/beta.js.map +1 -1
  232. package/dist/components/Toolbar/internal/utils/accessibility.d.ts +5 -0
  233. package/dist/getKeyboardFocusableElements-B_U9rt6y.js +11 -0
  234. package/dist/getKeyboardFocusableElements-B_U9rt6y.js.map +1 -0
  235. package/dist/index-CqesQXSt.js +17044 -0
  236. package/dist/index-CqesQXSt.js.map +1 -0
  237. package/dist/index-DtsM4pjR.js +71 -0
  238. package/dist/index-DtsM4pjR.js.map +1 -0
  239. package/dist/index.css +1 -22
  240. package/dist/index.js +47 -811
  241. package/dist/index.js.map +1 -1
  242. package/dist/internal/components/Surface/Surface.d.ts +141 -0
  243. package/dist/internal/components/Surface/index.d.ts +1 -0
  244. package/dist/internal/components/index.d.ts +1 -0
  245. package/dist/internal/functions/getKeyboardFocusableElements.d.ts +11 -0
  246. package/dist/internal/hooks/useNumberField/internal/useNumberFieldKeys.d.ts +2 -0
  247. package/dist/internal/hooks/useNumberField/useNumberField.d.ts +5 -0
  248. package/dist/internal/types/selectFieldInternalTypes.d.ts +3 -1
  249. package/dist/{stripInlineMarkdown-BWbMy7r_.js → stripInlineMarkdown-BOi-eJO3.js} +2 -2
  250. package/dist/{stripInlineMarkdown-BWbMy7r_.js.map → stripInlineMarkdown-BOi-eJO3.js.map} +1 -1
  251. package/dist/{syncFilterUtils-nJS_tCsu.js → syncFilterUtils-BCxA8KSW.js} +5 -5
  252. package/dist/{syncFilterUtils-nJS_tCsu.js.map → syncFilterUtils-BCxA8KSW.js.map} +1 -1
  253. package/dist/token/core/css-utils/a2-border.css +0 -30
  254. package/dist/token/core/css-utils/a2-color.css +0 -228
  255. package/dist/token/core/css-utils/a2-font.css +1 -27
  256. package/dist/token/core/css-utils/a2-spacing.css +1 -244
  257. package/dist/token/core/css-utils/a2-utils.css +0 -505
  258. package/dist/token/core/css-utils/border.css +0 -30
  259. package/dist/token/core/css-utils/color.css +0 -228
  260. package/dist/token/core/css-utils/font.css +1 -27
  261. package/dist/token/core/css-utils/spacing.css +1 -244
  262. package/dist/token/core/css-utils/utils.css +0 -505
  263. package/dist/{useDrilldown-DwzT0Fse.js → useDrilldown-DWqp5gyZ.js} +4 -4
  264. package/dist/{useDrilldown-DwzT0Fse.js.map → useDrilldown-DWqp5gyZ.js.map} +1 -1
  265. package/dist/{useInitialFocus-BUxEDMEG.js → useInitialFocus-BIvXK1Rp.js} +2 -2
  266. package/dist/{useInitialFocus-BUxEDMEG.js.map → useInitialFocus-BIvXK1Rp.js.map} +1 -1
  267. package/dist/{useNumberField-eMyk7MB8.js → useNumberField-D_ic9i2q.js} +4 -2
  268. package/dist/useNumberField-D_ic9i2q.js.map +1 -0
  269. package/dist/{usePopoverTransitionStates-CDXCdyKa.js → usePopoverTransitionStates-B1opfxxn.js} +1 -2
  270. package/dist/{usePopoverTransitionStates-CDXCdyKa.js.map → usePopoverTransitionStates-B1opfxxn.js.map} +1 -1
  271. package/dist/{useToggleSelection-CAwGOeXk.js → useToggleSelection-DLH87UOP.js} +2 -2
  272. package/dist/{useToggleSelection-CAwGOeXk.js.map → useToggleSelection-DLH87UOP.js.map} +1 -1
  273. package/package.json +18 -3
  274. package/dist/DataTable-BDXdCF7J.js.map +0 -1
  275. package/dist/InteractiveCard-CnW0m_F-.js +0 -87
  276. package/dist/InteractiveCard-CnW0m_F-.js.map +0 -1
  277. package/dist/MultiSelectFieldSync-ueey5UBM.js.map +0 -1
  278. package/dist/NumberField-DJbdyatF.js.map +0 -1
  279. package/dist/SelectFieldLabel-DLT5dKbx.js.map +0 -1
  280. package/dist/SelectFieldSync-W_-jTf7z.js.map +0 -1
  281. package/dist/ToolbarButtonToggle--2Ka05N8.js.map +0 -1
  282. package/dist/Tooltip-BlStOXN3.js.map +0 -1
  283. package/dist/getKeyboardFocusableElements-QqcABz0D.js +0 -12
  284. package/dist/getKeyboardFocusableElements-QqcABz0D.js.map +0 -1
  285. package/dist/index-ByMdotWU.js +0 -107
  286. package/dist/index-ByMdotWU.js.map +0 -1
  287. package/dist/useNumberField-eMyk7MB8.js.map +0 -1
  288. /package/dist/{index2.css → Toolbar2.css} +0 -0
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { KeyboardEvent as ReactKeyboardEvent, ReactNode, SetStateAction } from 'react';
2
2
  import { BooleanFormatterOptions, CurrencyFormatterOptions, DateFormatterOptions, DateTimeFormatterOptions, NumberFormatterOptions, PercentFormatterOptions, TimeFormatterOptions } from './formatters';
3
3
  import { SelectMenuOption, SelectMenuGroupByValue } from '../SelectMenu';
4
4
  import { SelectMenuSyncProps } from '../SelectMenu/SelectMenuSync';
@@ -47,7 +47,7 @@ export type ColumnTypeConfig<T extends ColumnType = ColumnType> = T | {
47
47
  /**
48
48
  * Edit mode literals for editable cells.
49
49
  */
50
- export type EditMode = "text" | "number" | "select" | "select-async" | "multiselect" | "multiselect-async" | "boolean";
50
+ export type EditMode = "text" | "number" | "select" | "select-async" | "multiselect" | "multiselect-async" | "boolean" | "custom";
51
51
  /**
52
52
  * Base edit configuration shared by all edit modes.
53
53
  * @template T - The row data type
@@ -61,6 +61,196 @@ type BaseEditConfig<T, K extends keyof T> = {
61
61
  */
62
62
  onChange: (value: T[K], rowId: string) => void;
63
63
  };
64
+ type CustomEditCanonicalValueForValue<TValue> = TValue extends readonly (infer _Element)[] ? never : TValue extends object ? NonNullable<TValue> : never;
65
+ type CustomEditCanonicalValue<T, K extends keyof T> = CustomEditCanonicalValueForValue<NonNullable<T[K]>>;
66
+ export type CustomEditFieldValueUpdater<TValue extends object, TField extends keyof TValue> = TValue[TField] | ((previousValue: TValue[TField], draftValue: TValue) => TValue[TField]);
67
+ export type CustomEditCloseReason = "submit" | "escape" | "outside-click" | "close-button" | "programmatic";
68
+ export type CustomEditValidation<TValue extends object> = {
69
+ /**
70
+ * Form-level validation summary for the entire editor.
71
+ */
72
+ formError?: ReactNode;
73
+ /**
74
+ * Field-level validation messages keyed by draft field.
75
+ */
76
+ fieldErrors?: Partial<Record<keyof TValue, ReactNode>>;
77
+ };
78
+ export type CustomEditSurfaceConfig = {
79
+ /**
80
+ * Optional title rendered in the editor surface header.
81
+ */
82
+ title?: ReactNode;
83
+ /**
84
+ * Optional surface width.
85
+ */
86
+ width?: number | string;
87
+ /**
88
+ * Optional surface max height.
89
+ */
90
+ maxHeight?: number | string;
91
+ /**
92
+ * Accessible label for the close button.
93
+ */
94
+ closeButtonLabel?: string;
95
+ /**
96
+ * Optional keydown handler forwarded to the surface.
97
+ */
98
+ onKeyDown?: (event: ReactKeyboardEvent<HTMLDivElement>) => void;
99
+ };
100
+ export type CustomEditCloseRequest<TValue extends object> = {
101
+ /**
102
+ * Why the close was requested.
103
+ */
104
+ reason: CustomEditCloseReason;
105
+ /**
106
+ * Draft value at the time the request is evaluated.
107
+ */
108
+ draftValue: TValue;
109
+ /**
110
+ * Original committed value when editing began.
111
+ */
112
+ initialValue: TValue;
113
+ /**
114
+ * Whether the draft differs from the initial value.
115
+ */
116
+ isDirty: boolean;
117
+ /**
118
+ * Current validation metadata.
119
+ */
120
+ validation: CustomEditValidation<TValue>;
121
+ };
122
+ export type CustomEditController<TValue extends object> = {
123
+ /**
124
+ * Current local draft value owned by the custom editor.
125
+ */
126
+ draftValue: TValue;
127
+ /**
128
+ * Original value before editing began.
129
+ */
130
+ initialValue: TValue;
131
+ /**
132
+ * Whether the draft differs from the initial value.
133
+ */
134
+ isDirty: boolean;
135
+ /**
136
+ * Ordered list of changed fields.
137
+ */
138
+ changedFields: ReadonlyArray<keyof TValue>;
139
+ /**
140
+ * Current validation metadata for the draft.
141
+ */
142
+ validation: CustomEditValidation<TValue>;
143
+ /**
144
+ * Replace the entire draft value.
145
+ */
146
+ setDraftValue: (nextValue: SetStateAction<TValue>) => TValue;
147
+ /**
148
+ * Update a single field in the current draft value.
149
+ */
150
+ setDraftField: <TField extends keyof TValue>(field: TField, nextValue: CustomEditFieldValueUpdater<TValue, TField>) => TValue;
151
+ /**
152
+ * Submit the current draft and close the editor.
153
+ */
154
+ submit: () => void;
155
+ /**
156
+ * Restore the initial value and close the editor.
157
+ */
158
+ discard: () => void;
159
+ /**
160
+ * Request closure using the configured policy for the supplied reason.
161
+ */
162
+ requestClose: (reason: CustomEditCloseReason) => void;
163
+ /**
164
+ * Register the one preferred initial-focus action for the editor.
165
+ */
166
+ setInitialFocus: (focus: (() => void) | null) => void;
167
+ /**
168
+ * Canonical submit handler for form-based editors.
169
+ */
170
+ handleSubmit: (event?: {
171
+ preventDefault?: () => void;
172
+ }) => void;
173
+ };
174
+ export type ColumnReadRenderContext<T> = {
175
+ row: T;
176
+ depth: number;
177
+ };
178
+ export type ColumnReadRenderResult = {
179
+ /**
180
+ * Advanced read-path rendered content.
181
+ * Most consumers should prefer `renderCell` + `getCellText` and only use
182
+ * this shape when one hook should return both rendered content and sortable text.
183
+ */
184
+ content: ReactNode;
185
+ /**
186
+ * Optional sortable plain-text representation of the rendered content.
187
+ */
188
+ rawString?: string;
189
+ };
190
+ export type CustomEditRenderContext<T, K extends keyof T> = {
191
+ /**
192
+ * Full row data for the cell being edited.
193
+ */
194
+ row: T;
195
+ /**
196
+ * String row id for the cell being edited.
197
+ */
198
+ rowId: string;
199
+ /**
200
+ * Canonical committed value for the cell.
201
+ */
202
+ value: T[K];
203
+ /**
204
+ * Typed controller for draft mutation, validation, focus, and lifecycle control.
205
+ */
206
+ controller: CustomEditController<CustomEditCanonicalValue<T, K>>;
207
+ };
208
+ /**
209
+ * Edit configuration for custom mode cells.
210
+ * Preserves canonical object values while continuing to use `renderCell`
211
+ * for the read path.
212
+ *
213
+ * @template T - The row data type
214
+ * @template K - The column key
215
+ */
216
+ export type CustomEditConfig<T, K extends keyof T> = [
217
+ CustomEditCanonicalValue<T, K>
218
+ ] extends [never] ? never : Omit<BaseEditConfig<T, K>, "onChange"> & {
219
+ /**
220
+ * Custom edit mode - renders a multi-field editor surface.
221
+ */
222
+ mode: "custom";
223
+ /**
224
+ * Callback fired when the draft is committed.
225
+ */
226
+ onCommit: (value: T[K], rowId: string) => void;
227
+ /**
228
+ * Callback fired on every local draft mutation.
229
+ */
230
+ onDraftUpdate?: (value: T[K], rowId: string) => void;
231
+ /**
232
+ * Optional validation metadata derived from the current draft.
233
+ */
234
+ validateDraft?: (draftValue: CustomEditCanonicalValue<T, K>, rowId: string) => CustomEditValidation<CustomEditCanonicalValue<T, K>> | undefined;
235
+ /**
236
+ * When true, submit-style close requests are blocked while validation contains
237
+ * a form error or any field error. Defaults to `false`.
238
+ */
239
+ blockOnValidationError?: boolean;
240
+ /**
241
+ * Optional close interception hook.
242
+ * Return `false` to keep the editor open.
243
+ */
244
+ onRequestClose?: (request: CustomEditCloseRequest<CustomEditCanonicalValue<T, K>>) => boolean | void;
245
+ /**
246
+ * Optional surface presentation overrides.
247
+ */
248
+ surface?: CustomEditSurfaceConfig;
249
+ /**
250
+ * Consumer-owned renderer for the custom editor contents.
251
+ */
252
+ renderEditor: (context: CustomEditRenderContext<T, K>) => ReactNode;
253
+ };
64
254
  /**
65
255
  * Edit configuration for text mode cells.
66
256
  * @template T - The row data type
@@ -407,9 +597,17 @@ export type BooleanEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
407
597
  * falseLabel: "No",
408
598
  * onChange: (value, rowId) => save(value, rowId)
409
599
  * }
600
+ *
601
+ * // Custom editing keeps renderCell as the read path
602
+ * editConfig: {
603
+ * mode: "custom",
604
+ * onChange: (value, rowId) => save(value, rowId),
605
+ * onDraftChange: (value, rowId) => saveDraft(value, rowId),
606
+ * renderEditor: ({ helpers }) => renderAddressEditor(helpers)
607
+ * }
410
608
  * ```
411
609
  */
412
- export type EditConfig<T, K extends keyof T> = TextEditConfig<T, K> | NumberEditConfig<T, K> | SelectEditConfig<T, K> | SelectAsyncEditConfig<T> | MultiselectEditConfig<T, K> | MultiselectAsyncEditConfig<T> | BooleanEditConfig<T, K>;
610
+ export type EditConfig<T, K extends keyof T> = TextEditConfig<T, K> | NumberEditConfig<T, K> | SelectEditConfig<T, K> | SelectAsyncEditConfig<T> | MultiselectEditConfig<T, K> | MultiselectAsyncEditConfig<T> | BooleanEditConfig<T, K> | CustomEditConfig<T, K>;
413
611
  /**
414
612
  * The type for a table row
415
613
  * @extends T
@@ -459,6 +657,101 @@ export type TableRow<T> = T & {
459
657
  */
460
658
  subRows?: TableRow<T>[];
461
659
  };
660
+ export type ColumnBaseDef = {
661
+ /**
662
+ * The label of the header
663
+ */
664
+ headerLabel: string;
665
+ /**
666
+ * The alignment of the header and cell content.
667
+ * When using `type`, this is set automatically but can be overridden.
668
+ */
669
+ align?: "start" | "center" | "end";
670
+ /**
671
+ * Custom content to display when a cell value is empty (null, undefined, or empty string).
672
+ * Overrides the default em dash. When set on both the column and the DataTable,
673
+ * the column-level value takes precedence.
674
+ */
675
+ emptyCellContent?: ReactNode;
676
+ /**
677
+ * The content of the footer cell. An array will display multiple footer rows
678
+ */
679
+ footerContent?: ReactNode | ReactNode[];
680
+ /**
681
+ * The maximum width of the column, in pixels
682
+ */
683
+ maxWidth?: number;
684
+ /**
685
+ * The minimum width of the column, in pixels
686
+ */
687
+ minWidth?: number;
688
+ /**
689
+ * The pinning location of the column
690
+ */
691
+ pinned?: "left" | "right";
692
+ /**
693
+ * Whether the column is resizable
694
+ */
695
+ resizable?: boolean;
696
+ };
697
+ export type ColumnGroupDef<T> = ColumnBaseDef & {
698
+ /**
699
+ * Group column id.
700
+ */
701
+ id: string;
702
+ /**
703
+ * Columns of a group column
704
+ */
705
+ columns: ColumnDef<T>[];
706
+ editConfig?: never;
707
+ renderCell?: never;
708
+ sortable?: never;
709
+ type?: never;
710
+ };
711
+ export type ColumnDefForKey<T, K extends keyof T> = ColumnBaseDef & {
712
+ /**
713
+ * The id of the column - must be a key of T
714
+ */
715
+ id: K;
716
+ /**
717
+ * Columns of a group column
718
+ */
719
+ columns?: undefined;
720
+ /**
721
+ * Configuration for cell editing. Presence enables editing for the column.
722
+ * Consolidates edit mode, options, and onChange into a single object.
723
+ */
724
+ editConfig?: EditConfig<T, K>;
725
+ /**
726
+ * The function to customize how the cell content is rendered.
727
+ * When using `type`, a default renderer is provided but can be overridden.
728
+ * Custom edit columns continue to use this read-only render path.
729
+ */
730
+ renderCell?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => ReactNode;
731
+ /**
732
+ * Optional plain-text extractor for the read path.
733
+ * Useful when `renderCell` returns JSX or multiline content but default sorting
734
+ * should still use a simple string.
735
+ */
736
+ getCellText?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => string;
737
+ /**
738
+ * Optional advanced read-display extractor.
739
+ * Prefer `getCellText` for the common case where `renderCell` already handles
740
+ * display and sorting only needs a simple string. Use this when you want one
741
+ * hook to return both rendered read content and the sortable raw string.
742
+ */
743
+ getReadRenderResult?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => ColumnReadRenderResult;
744
+ /**
745
+ * Whether the column is sortable, or a function to customize the sorting logic.
746
+ * When a function, receives values of the column's value type.
747
+ */
748
+ sortable?: boolean | ((valueA: T[K], valueB: T[K]) => number);
749
+ /**
750
+ * The column type for automatic display configuration.
751
+ * Sets default `renderCell` (formatter) and `align` based on the data type.
752
+ */
753
+ type?: ColumnTypeConfig;
754
+ };
462
755
  /**
463
756
  * Column definition type for DataTable columns.
464
757
  *
@@ -606,11 +899,22 @@ export type ColumnDef<T> = ColumnHeaderConfig & {
606
899
  /**
607
900
  * The function to customize how the cell content is rendered.
608
901
  * When using `type`, a default renderer is provided but can be overridden.
902
+ * Custom edit columns continue to use this read-only render path.
903
+ */
904
+ renderCell?: (value: T[keyof T], context: ColumnReadRenderContext<TableRow<T>>) => ReactNode;
905
+ /**
906
+ * Optional plain-text extractor for the read path.
907
+ * Useful when `renderCell` returns JSX or multiline content but default sorting
908
+ * should still use a simple string.
909
+ */
910
+ getCellText?: (value: T[keyof T], context: ColumnReadRenderContext<TableRow<T>>) => string;
911
+ /**
912
+ * Optional advanced read-display extractor.
913
+ * Prefer `getCellText` for the common case where `renderCell` already handles
914
+ * display and sorting only needs a simple string. Use this when you want one
915
+ * hook to return both rendered read content and the sortable raw string.
609
916
  */
610
- renderCell?: (value: T[keyof T], { row, depth }: {
611
- row?: T;
612
- depth?: number;
613
- }) => ReactNode;
917
+ getReadRenderResult?: (value: T[keyof T], context: ColumnReadRenderContext<TableRow<T>>) => ColumnReadRenderResult;
614
918
  /**
615
919
  * Whether the column is resizable
616
920
  */
@@ -7,3 +7,4 @@ export * from './MultiSelectField';
7
7
  export * from './SelectMenu';
8
8
  export * from './MultiSelectMenu';
9
9
  export * from './InteractiveCard';
10
+ export * from './RichTextEditor';
package/dist/beta.js CHANGED
@@ -1,13 +1,14 @@
1
- export { F as FilterBar } from './FilterBar-BU8StPPd.js';
2
- 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-BDXdCF7J.js';
3
- export { T as Toolbar, a as ToolbarButton, b as ToolbarButtonLink, d as ToolbarControlGroup, f as ToolbarElement, e as ToolbarSearchField, c as ToolbarSelect } from './Toolbar-Dzj2KMEy.js';
4
- export { T as ToolbarButtonToggle } from './ToolbarButtonToggle--2Ka05N8.js';
5
- export { u as useCalendarBetaProps } from './Calendar-CaCMa_jq.js';
6
- export { C as Calendar } from './Calendar-BAbAagIx.js';
7
- export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-W_-jTf7z.js';
8
- export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-ueey5UBM.js';
9
- export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-QcjbQtCO.js';
10
- export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-D7hqugcQ.js';
11
- export { I as InteractiveCard } from './InteractiveCard-CnW0m_F-.js';
12
- export { u as useAdaptiveView } from './syncFilterUtils-nJS_tCsu.js';
1
+ export { F as FilterBar } from './FilterBar-Cr0Tiw-y.js';
2
+ 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-CME7SbPc.js';
3
+ export { T as Toolbar, a as ToolbarButton, b as ToolbarButtonLink, d as ToolbarControlGroup, f as ToolbarElement, e as ToolbarSearchField, c as ToolbarSelect } from './Toolbar-B3gBBULy.js';
4
+ export { T as ToolbarButtonToggle } from './ToolbarButtonToggle-Ch0SH4oH.js';
5
+ export { u as useCalendarBetaProps } from './Calendar-DCO_y5QZ.js';
6
+ export { C as Calendar } from './Calendar-CMzwTBdD.js';
7
+ export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-Ci9k35TH.js';
8
+ export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-CSTBMpZC.js';
9
+ export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-s2IzEHug.js';
10
+ export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-DKt2MBno.js';
11
+ export { I as InteractiveCard } from './InteractiveCard-KGs2b_al.js';
12
+ export { R as RichTextEditor } from './RichTextEditor-DUz-bi8H.js';
13
+ export { u as useAdaptiveView } from './syncFilterUtils-BCxA8KSW.js';
13
14
  //# sourceMappingURL=beta.js.map
package/dist/beta.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"beta.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"beta.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,4 +1,9 @@
1
1
  import { KeyboardEvent } from 'react';
2
+ /**
3
+ * Gets all visible focusable elements for a specific toolbar instance.
4
+ * Filters out hidden items and includes the overflow trigger if present.
5
+ */
6
+ export declare function getToolbarElements(toolbarElement: HTMLElement): Element[];
2
7
  /**
3
8
  * Updates tabindex values for all items in a toolbar.
4
9
  * Sets tabindex="0" for the active item and tabindex="-1" for all others.
@@ -0,0 +1,11 @@
1
+ const KEYBOARD_FOCUSABLE_SELECTOR = 'a[href], button, input, textarea, select, details, [contenteditable]:not([contenteditable="false"]), [tabindex]:not([tabindex="-1"])';
2
+ function getKeyboardFocusableElements(element) {
3
+ if (!element) return [];
4
+ const elements = element.querySelectorAll(KEYBOARD_FOCUSABLE_SELECTOR);
5
+ return Array.from(elements).filter(
6
+ (el) => !el.hasAttribute("disabled") && !el.getAttribute("aria-hidden") && !el.getAttribute("inert") && !(globalThis.getComputedStyle(el).display === "none")
7
+ );
8
+ }
9
+
10
+ export { KEYBOARD_FOCUSABLE_SELECTOR as K, getKeyboardFocusableElements as g };
11
+ //# sourceMappingURL=getKeyboardFocusableElements-B_U9rt6y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKeyboardFocusableElements-B_U9rt6y.js","sources":["../src/internal/functions/getKeyboardFocusableElements.ts"],"sourcesContent":["/**\n * CSS selector matching elements that natively participate in keyboard focus.\n * Use with `querySelectorAll` to enumerate focusables, or with `Element.closest`\n * to test whether a given target is inside one.\n *\n * `[contenteditable]:not([contenteditable=\"false\"])` covers every editable\n * value the attribute accepts — `\"\"` (bare), `\"true\"`, `\"plaintext-only\"`,\n * `\"inherit\"` — and excludes the explicit opt-out `\"false\"`. All editable\n * variants have an implicit tabindex of 0.\n */\nexport const KEYBOARD_FOCUSABLE_SELECTOR =\n 'a[href], button, input, textarea, select, details, [contenteditable]:not([contenteditable=\"false\"]), [tabindex]:not([tabindex=\"-1\"])';\n\n/**\n * Retrieves all keyboard focusable elements within a given container element.\n *\n * Features:\n * - Finds all elements that can receive keyboard focus\n * - Filters out disabled, hidden, and inert elements\n * - Respects ARIA attributes for accessibility\n * - Checks computed styles for visibility\n * - Supports all standard focusable elements (links, buttons, inputs, etc.)\n * - Handles null and undefined input gracefully\n * - Returns array of focusable HTMLElements\n * - Excludes elements with tabindex=\"-1\"\n *\n * Focusable Elements Detected:\n * - Links with href attributes\n * - Buttons (all types)\n * - Form inputs (text, checkbox, radio, etc.)\n * - Textareas and select elements\n * - Details elements\n * - Elements with positive tabindex values\n *\n * @param element - The container element to search for focusable elements\n * @returns Array of focusable HTMLElements, or empty array if no element provided\n */\nexport function getKeyboardFocusableElements(element?: HTMLElement | null) {\n if (!element) return [];\n const elements = element.querySelectorAll(KEYBOARD_FOCUSABLE_SELECTOR);\n\n return Array.from(elements).filter(\n (el) =>\n !el.hasAttribute(\"disabled\") &&\n !el.getAttribute(\"aria-hidden\") &&\n !el.getAttribute(\"inert\") &&\n !(globalThis.getComputedStyle(el).display === \"none\"),\n );\n}\n"],"names":[],"mappings":"AAUO,MAAM,2BAAA,GACX;AA0BK,SAAS,6BAA6B,OAAA,EAA8B;AACzE,EAAA,IAAI,CAAC,OAAA,EAAS,OAAO,EAAC;AACtB,EAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,gBAAA,CAAiB,2BAA2B,CAAA;AAErE,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA;AAAA,IAC1B,CAAC,OACC,CAAC,EAAA,CAAG,aAAa,UAAU,CAAA,IAC3B,CAAC,EAAA,CAAG,YAAA,CAAa,aAAa,KAC9B,CAAC,EAAA,CAAG,aAAa,OAAO,CAAA,IACxB,EAAE,UAAA,CAAW,gBAAA,CAAiB,EAAE,CAAA,CAAE,OAAA,KAAY,MAAA;AAAA,GAClD;AACF;;;;"}