@persona/design-system 0.1.5-pre.4 → 0.1.6

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 (843) hide show
  1. package/CHANGELOG.md +42 -111
  2. package/dist/{Action-B10lxofb.d.mts → Action-DSg3yZck.d.mts} +3 -3
  3. package/dist/Action.d.mts +1 -1
  4. package/dist/Attribute.d.mts +4 -4
  5. package/dist/AttributeGrid.d.mts +1 -1
  6. package/dist/{Badge-BwAZD9BH.cjs → Badge-CvdUyXSH.cjs} +3 -3
  7. package/dist/{Badge-BwAZD9BH.cjs.map → Badge-CvdUyXSH.cjs.map} +1 -1
  8. package/dist/{Badge-BqLnhb4n.mjs → Badge-pq6B-3ue.mjs} +2 -2
  9. package/dist/{Badge-BqLnhb4n.mjs.map → Badge-pq6B-3ue.mjs.map} +1 -1
  10. package/dist/Banner.d.mts +1 -1
  11. package/dist/{Button-DqDLGURJ.d.mts → Button-DcTUxRNI.d.mts} +2 -2
  12. package/dist/Button.d.mts +1 -1
  13. package/dist/ButtonGroup.d.mts +1 -1
  14. package/dist/Calendar.d.mts +1 -1
  15. package/dist/CalendarBase.d.mts +1 -1
  16. package/dist/{Card-DeJSt5ys.mjs → Card-CLTkZLKr.mjs} +4 -4
  17. package/dist/{Card-DeJSt5ys.mjs.map → Card-CLTkZLKr.mjs.map} +1 -1
  18. package/dist/{Card-CyCKL-M5.cjs → Card-CaOItkgL.cjs} +5 -5
  19. package/dist/{Card-CyCKL-M5.cjs.map → Card-CaOItkgL.cjs.map} +1 -1
  20. package/dist/{Card-CcU9cKCd.d.mts → Card-YzGS3nQI.d.mts} +4 -4
  21. package/dist/Card.d.mts +1 -1
  22. package/dist/Card2.d.cts +3 -3
  23. package/dist/Card2.d.mts +1 -1
  24. package/dist/{Checkbox-D4nv7eNs.cjs → Checkbox-B83WfsOZ.cjs} +6 -6
  25. package/dist/{Checkbox-D4nv7eNs.cjs.map → Checkbox-B83WfsOZ.cjs.map} +1 -1
  26. package/dist/{Checkbox-BWJNAP27.d.mts → Checkbox-Bc2kzl9q.d.mts} +1 -1
  27. package/dist/{Checkbox-C5bGcb-r.mjs → Checkbox-UWdk4pqb.mjs} +5 -5
  28. package/dist/{Checkbox-C5bGcb-r.mjs.map → Checkbox-UWdk4pqb.mjs.map} +1 -1
  29. package/dist/Checkbox.d.mts +1 -1
  30. package/dist/CheckboxGroupField.d.mts +2 -2
  31. package/dist/{Combobox-DjbJYK_u.d.mts → Combobox-DtD1XXaf.d.mts} +3 -3
  32. package/dist/Combobox-Dx1u-L1A.d.cts +11 -0
  33. package/dist/{Combobox-B_-swcix.mjs → Combobox-I44W5oX0.mjs} +26 -30
  34. package/dist/Combobox-I44W5oX0.mjs.map +1 -0
  35. package/dist/{Combobox-B_oe33Re.cjs → Combobox-R3_NDBi3.cjs} +18 -22
  36. package/dist/Combobox-R3_NDBi3.cjs.map +1 -0
  37. package/dist/Combobox.d.cts +3 -12
  38. package/dist/Combobox.d.mts +2 -2
  39. package/dist/{ComboboxBase-D2wypeXf.d.cts → ComboboxBase-d98GJD-k.d.cts} +2 -2
  40. package/dist/{ComboboxBase-INya0Csa.d.mts → ComboboxBase-sRVxlTJw.d.mts} +7 -7
  41. package/dist/ComboboxBase.d.cts +1 -1
  42. package/dist/ComboboxBase.d.mts +1 -1
  43. package/dist/{ComboboxMultiSelect-Dn8cRZ6Z.d.cts → ComboboxMultiSelect-CRHf5TI-.d.cts} +2 -2
  44. package/dist/{ComboboxMultiSelect-Dq9DGH8S.d.mts → ComboboxMultiSelect-CdLQDBMN.d.mts} +2 -2
  45. package/dist/ComboboxMultiSelect.d.cts +1 -1
  46. package/dist/ComboboxMultiSelect.d.mts +1 -1
  47. package/dist/{ComboboxSingleSelect-WwBJRb0e.d.mts → ComboboxSingleSelect-CxiQ2o6t.d.mts} +4 -4
  48. package/dist/{ComboboxSingleSelect-D8YM7GKP.d.cts → ComboboxSingleSelect-DvK8QioK.d.cts} +3 -3
  49. package/dist/ComboboxSingleSelect.d.cts +1 -1
  50. package/dist/ComboboxSingleSelect.d.mts +1 -1
  51. package/dist/CompactBar-ODUl2Q6G.d.cts +21 -0
  52. package/dist/CompactBar-k-rhZ5Z-.d.mts +21 -0
  53. package/dist/CompactBar.d.cts +2 -0
  54. package/dist/CompactBar.d.mts +2 -0
  55. package/dist/ConfigFormGroup-BhO9nm3P.cjs +35 -0
  56. package/dist/ConfigFormGroup-BhO9nm3P.cjs.map +1 -0
  57. package/dist/ConfigFormGroup-_yCksmZo.mjs +28 -0
  58. package/dist/ConfigFormGroup-_yCksmZo.mjs.map +1 -0
  59. package/dist/ControlBar-9m-DNImB.d.mts +151 -0
  60. package/dist/ControlBar-oT-I2y6E.d.cts +151 -0
  61. package/dist/ControlBar.d.cts +2 -0
  62. package/dist/ControlBar.d.mts +2 -0
  63. package/dist/DataTable.d.cts +372 -0
  64. package/dist/DataTable.d.mts +372 -0
  65. package/dist/DateField.d.cts +23 -2
  66. package/dist/DateField.d.mts +23 -2
  67. package/dist/DatePicker.d.cts +1 -1
  68. package/dist/DatePicker.d.mts +2 -2
  69. package/dist/DateRangePicker.d.cts +2 -1
  70. package/dist/DateRangePicker.d.mts +4 -4
  71. package/dist/{DropdownButton-k9kEcexu.mjs → DropdownButton-BS1QfVX_.mjs} +3 -4
  72. package/dist/{DropdownButton-k9kEcexu.mjs.map → DropdownButton-BS1QfVX_.mjs.map} +1 -1
  73. package/dist/{DropdownButton-DO4NqvWR.cjs → DropdownButton-Dpiy5v-R.cjs} +4 -5
  74. package/dist/{DropdownButton-DO4NqvWR.cjs.map → DropdownButton-Dpiy5v-R.cjs.map} +1 -1
  75. package/dist/DropdownButton.d.cts +1 -1
  76. package/dist/DropdownButton.d.mts +2 -2
  77. package/dist/{DropdownMenu-rWgROxQe.d.mts → DropdownMenu-COkpUmIO.d.mts} +4 -4
  78. package/dist/{DropdownMenu-D2fzpkX2.cjs → DropdownMenu-CeqZAxjs.cjs} +4 -4
  79. package/dist/{DropdownMenu-D2fzpkX2.cjs.map → DropdownMenu-CeqZAxjs.cjs.map} +1 -1
  80. package/dist/{DropdownMenu-Bm2QqLEq.d.cts → DropdownMenu-D1E1jpZu.d.cts} +3 -3
  81. package/dist/{DropdownMenu-BTk--LWo.mjs → DropdownMenu-cN_AnKAT.mjs} +3 -3
  82. package/dist/{DropdownMenu-BTk--LWo.mjs.map → DropdownMenu-cN_AnKAT.mjs.map} +1 -1
  83. package/dist/DropdownMenu.d.cts +1 -1
  84. package/dist/DropdownMenu.d.mts +1 -1
  85. package/dist/{ErrorProps-DYUKygmd.d.mts → ErrorProps-DBw1_Z0a.d.mts} +1 -1
  86. package/dist/ErrorProps.d.mts +1 -1
  87. package/dist/FloatingActionBar.d.cts +40 -0
  88. package/dist/FloatingActionBar.d.mts +41 -0
  89. package/dist/{FormControl-DiR2e7Od.cjs → FormControl-DjxkL5Ft.cjs} +6 -6
  90. package/dist/{FormControl-DiR2e7Od.cjs.map → FormControl-DjxkL5Ft.cjs.map} +1 -1
  91. package/dist/{FormControl-KkeIYuBa.d.cts → FormControl-OqBTbSwv.d.cts} +1 -1
  92. package/dist/{FormControl-BXHqI_2D.mjs → FormControl-fK4HA_yF.mjs} +5 -5
  93. package/dist/{FormControl-BXHqI_2D.mjs.map → FormControl-fK4HA_yF.mjs.map} +1 -1
  94. package/dist/{FormControl-CM7wTn1P.d.mts → FormControl-vfFzrYhv.d.mts} +3 -3
  95. package/dist/FormControl.d.cts +1 -1
  96. package/dist/FormControl.d.mts +1 -1
  97. package/dist/FormControlLabel.d.mts +14 -0
  98. package/dist/{FormField-CdMru4s5.d.mts → FormField-24UPuoL6.d.mts} +2 -2
  99. package/dist/{FormField-19ownwjH.d.cts → FormField-Cqwi_PyR.d.cts} +2 -2
  100. package/dist/FormField.d.cts +1 -1
  101. package/dist/FormField.d.mts +1 -1
  102. package/dist/{Header-t1plnZc0.d.mts → Header-WNGlG541.d.mts} +2 -2
  103. package/dist/Header.d.mts +1 -1
  104. package/dist/{HelperTooltip-Cd7I0Ucq.d.mts → HelperTooltip-Bd5pQLqL.d.mts} +3 -3
  105. package/dist/HelperTooltip.d.mts +1 -1
  106. package/dist/HoverCopyableField-DBkYvwii.mjs +103 -0
  107. package/dist/HoverCopyableField-DBkYvwii.mjs.map +1 -0
  108. package/dist/HoverCopyableField-DyW2iZuo.cjs +110 -0
  109. package/dist/HoverCopyableField-DyW2iZuo.cjs.map +1 -0
  110. package/dist/HoverCopyableField.d.cts +16 -0
  111. package/dist/HoverCopyableField.d.mts +17 -0
  112. package/dist/{IconButton-C28qxOdi.mjs → IconButton-DC4rh6ow.mjs} +5 -5
  113. package/dist/{IconButton-C28qxOdi.mjs.map → IconButton-DC4rh6ow.mjs.map} +1 -1
  114. package/dist/{IconButton-B1ZL8BqW.cjs → IconButton-DNy7g5zh.cjs} +5 -5
  115. package/dist/{IconButton-B1ZL8BqW.cjs.map → IconButton-DNy7g5zh.cjs.map} +1 -1
  116. package/dist/{IconButton-DsXbc3nQ.d.mts → IconButton-DggxojBH.d.mts} +2 -2
  117. package/dist/IconButton.d.mts +1 -1
  118. package/dist/ImageTile.d.mts +2 -2
  119. package/dist/InlineCombobox.d.mts +42 -0
  120. package/dist/InlineInput.d.mts +36 -0
  121. package/dist/{Input-eoFk39bE.mjs → Input-Bl7633Ux.mjs} +5 -6
  122. package/dist/{Input-eoFk39bE.mjs.map → Input-Bl7633Ux.mjs.map} +1 -1
  123. package/dist/{Input-DHOsR4cl.cjs → Input-DQS-BEym.cjs} +6 -7
  124. package/dist/{Input-DHOsR4cl.cjs.map → Input-DQS-BEym.cjs.map} +1 -1
  125. package/dist/{Input-Cv5qieRg.d.mts → Input-DW7oacjc.d.mts} +5 -5
  126. package/dist/Input.d.mts +1 -1
  127. package/dist/{InputProps-CitGo8QA.d.cts → InputProps-7rEMxBED.d.cts} +1 -1
  128. package/dist/{InputProps-BHu05fX0.d.mts → InputProps-DQpb2_E3.d.mts} +2 -2
  129. package/dist/InputProps.d.cts +1 -1
  130. package/dist/InputProps.d.mts +1 -1
  131. package/dist/Inserter.d.cts +12 -0
  132. package/dist/Inserter.d.mts +12 -0
  133. package/dist/Link.d.mts +1 -1
  134. package/dist/{ListBox-CE3mfDSB.cjs → ListBox-B4uoo_PT.cjs} +10 -14
  135. package/dist/{ListBox-CE3mfDSB.cjs.map → ListBox-B4uoo_PT.cjs.map} +1 -1
  136. package/dist/{ListBox-Z1y0LG1H.mjs → ListBox-B7sbubm5.mjs} +9 -13
  137. package/dist/{ListBox-Z1y0LG1H.mjs.map → ListBox-B7sbubm5.mjs.map} +1 -1
  138. package/dist/{ListBox-AyjzT6ra.d.mts → ListBox-CVvKa5sc.d.mts} +4 -4
  139. package/dist/{ListBox-DbyZFy2W.d.cts → ListBox-DeVmbXeC.d.cts} +2 -2
  140. package/dist/ListBox.d.cts +1 -1
  141. package/dist/ListBox.d.mts +1 -1
  142. package/dist/ListBoxField.d.cts +2 -2
  143. package/dist/ListBoxField.d.mts +3 -3
  144. package/dist/{LoadingShimmer-CNE6JUVF.mjs → LoadingShimmer-b430vgof.mjs} +2 -2
  145. package/dist/{LoadingShimmer-CNE6JUVF.mjs.map → LoadingShimmer-b430vgof.mjs.map} +1 -1
  146. package/dist/{LoadingShimmer-DMK9RC4N.cjs → LoadingShimmer-uG2UzYQd.cjs} +4 -4
  147. package/dist/{LoadingShimmer-DMK9RC4N.cjs.map → LoadingShimmer-uG2UzYQd.cjs.map} +1 -1
  148. package/dist/LoadingShimmer.d.mts +2 -2
  149. package/dist/MaskedInput.d.cts +1 -1
  150. package/dist/MaskedInput.d.mts +1 -1
  151. package/dist/{Menu-BpkjNO81.cjs → Menu-BLbEcodU.cjs} +4 -4
  152. package/dist/{Menu-BpkjNO81.cjs.map → Menu-BLbEcodU.cjs.map} +1 -1
  153. package/dist/{Menu-DNRHo2i_.mjs → Menu-BbSyWxFD.mjs} +3 -3
  154. package/dist/{Menu-DNRHo2i_.mjs.map → Menu-BbSyWxFD.mjs.map} +1 -1
  155. package/dist/{Menu-DIFkRQ6x.d.mts → Menu-CSgCXX0k.d.mts} +4 -4
  156. package/dist/{Menu-DPrNMatb.d.cts → Menu-C_NOsHAm.d.cts} +2 -2
  157. package/dist/Menu.d.cts +1 -1
  158. package/dist/Menu.d.mts +1 -1
  159. package/dist/MiddleTruncatedText-BIzKECv9.cjs +178 -0
  160. package/dist/MiddleTruncatedText-BIzKECv9.cjs.map +1 -0
  161. package/dist/MiddleTruncatedText-Bzpg3zAU.mjs +171 -0
  162. package/dist/MiddleTruncatedText-Bzpg3zAU.mjs.map +1 -0
  163. package/dist/Modal.d.mts +2 -2
  164. package/dist/PageHeader.d.mts +1 -1
  165. package/dist/PageSelector-COqR1tdA.d.cts +30 -0
  166. package/dist/PageSelector-mn6q4SKY.d.mts +30 -0
  167. package/dist/PageSelector.d.cts +2 -30
  168. package/dist/PageSelector.d.mts +2 -30
  169. package/dist/Pagination-BUjpYIwq.d.mts +33 -0
  170. package/dist/Pagination-CeoHVtYD.d.cts +33 -0
  171. package/dist/Pagination-DEZFb552.cjs +232 -0
  172. package/dist/Pagination-DEZFb552.cjs.map +1 -0
  173. package/dist/Pagination-F8ofIWnG.mjs +201 -0
  174. package/dist/Pagination-F8ofIWnG.mjs.map +1 -0
  175. package/dist/Pagination.d.cts +2 -33
  176. package/dist/Pagination.d.mts +2 -33
  177. package/dist/Pii--c8IxKI0.cjs +25 -0
  178. package/dist/Pii--c8IxKI0.cjs.map +1 -0
  179. package/dist/Pii-B_gBVAak.mjs +19 -0
  180. package/dist/Pii-B_gBVAak.mjs.map +1 -0
  181. package/dist/Pii.d.mts +1 -1
  182. package/dist/{Popover-BSdyxuja.mjs → Popover-D4_aqKlm.mjs} +5 -5
  183. package/dist/{Popover-BSdyxuja.mjs.map → Popover-D4_aqKlm.mjs.map} +1 -1
  184. package/dist/{Popover-C2dBSwiU.cjs → Popover-jHZICnQt.cjs} +5 -5
  185. package/dist/{Popover-C2dBSwiU.cjs.map → Popover-jHZICnQt.cjs.map} +1 -1
  186. package/dist/Popover.d.mts +1 -1
  187. package/dist/ProgressBar.d.mts +1 -1
  188. package/dist/ProgressIndicator.d.mts +1 -1
  189. package/dist/{PseudoClassProps-mZgO_iZJ.d.mts → PseudoClassProps--MiDp2l2.d.mts} +1 -1
  190. package/dist/PseudoClassProps.d.mts +1 -1
  191. package/dist/{Radio-mFfT6G3d.cjs → Radio-BN9FLRHy.cjs} +4 -4
  192. package/dist/{Radio-mFfT6G3d.cjs.map → Radio-BN9FLRHy.cjs.map} +1 -1
  193. package/dist/{Radio-w-L3Otuk.mjs → Radio-DnnJl87b.mjs} +3 -3
  194. package/dist/{Radio-w-L3Otuk.mjs.map → Radio-DnnJl87b.mjs.map} +1 -1
  195. package/dist/{RadioGroup-B8htTzsS.mjs → RadioGroup-BDHhFlmy.mjs} +3 -3
  196. package/dist/{RadioGroup-B8htTzsS.mjs.map → RadioGroup-BDHhFlmy.mjs.map} +1 -1
  197. package/dist/{RadioGroup-D5ueuC6a.d.cts → RadioGroup-BDO3pTgP.d.cts} +1 -1
  198. package/dist/{RadioGroup-BjDmweRK.cjs → RadioGroup-D28hdlhz.cjs} +4 -4
  199. package/dist/{RadioGroup-BjDmweRK.cjs.map → RadioGroup-D28hdlhz.cjs.map} +1 -1
  200. package/dist/{RadioGroup-Ls0vPsP_.d.mts → RadioGroup-DfhvXpi3.d.mts} +1 -1
  201. package/dist/RadioGroup.d.cts +1 -1
  202. package/dist/RadioGroup.d.mts +1 -1
  203. package/dist/RangeCalendar.d.mts +1 -1
  204. package/dist/RangeCalendarPresets.d.mts +2 -2
  205. package/dist/SearchInput-2lsv5_R6.d.mts +46 -0
  206. package/dist/SearchInput-B6d2Qyzb.d.cts +46 -0
  207. package/dist/SearchInput.d.cts +2 -0
  208. package/dist/SearchInput.d.mts +2 -0
  209. package/dist/Section.d.mts +1 -1
  210. package/dist/{SectionHeading-QvAmhVmD.d.mts → SectionHeading-BLDimf5d.d.mts} +5 -6
  211. package/dist/{SectionHeading-DVSXofwK.d.cts → SectionHeading-DZyfNPn0.d.cts} +4 -5
  212. package/dist/SectionHeading.d.cts +1 -1
  213. package/dist/SectionHeading.d.mts +1 -1
  214. package/dist/{SegmentedControl-Dk5S4Dhz.d.mts → SegmentedControl-1QD2zH3l.d.mts} +1 -1
  215. package/dist/{SegmentedControl-DRtXdbLe.d.cts → SegmentedControl-C51htGBp.d.cts} +1 -1
  216. package/dist/{SegmentedControl-CvznPXgC.cjs → SegmentedControl-DTkFgjac.cjs} +4 -4
  217. package/dist/{SegmentedControl-CvznPXgC.cjs.map → SegmentedControl-DTkFgjac.cjs.map} +1 -1
  218. package/dist/{SegmentedControl-DnwNjYre.mjs → SegmentedControl-pRkMcMXe.mjs} +3 -3
  219. package/dist/{SegmentedControl-DnwNjYre.mjs.map → SegmentedControl-pRkMcMXe.mjs.map} +1 -1
  220. package/dist/SegmentedControl.d.cts +1 -1
  221. package/dist/SegmentedControl.d.mts +1 -1
  222. package/dist/{Select-DRnRqMAL.d.mts → Select-BysJW9mH.d.mts} +5 -5
  223. package/dist/{Select-CVB-Q1g1.cjs → Select-CowngLd7.cjs} +9 -13
  224. package/dist/{Select-CVB-Q1g1.cjs.map → Select-CowngLd7.cjs.map} +1 -1
  225. package/dist/{Select-Cl3AOq0-.mjs → Select-Fg2z5J-p.mjs} +9 -13
  226. package/dist/{Select-Cl3AOq0-.mjs.map → Select-Fg2z5J-p.mjs.map} +1 -1
  227. package/dist/{Select-BdPdgtfU.d.cts → Select-XN23Ui_j.d.cts} +3 -3
  228. package/dist/Select.d.cts +1 -1
  229. package/dist/Select.d.mts +1 -1
  230. package/dist/Slider.d.cts +51 -2
  231. package/dist/Slider.d.mts +51 -2
  232. package/dist/SliderRHF.d.cts +18 -2
  233. package/dist/SliderRHF.d.mts +19 -2
  234. package/dist/SliderThumb.d.mts +2 -119
  235. package/dist/{Spacer-DWGkX170.cjs → Spacer-GYHbk-dS.cjs} +2 -2
  236. package/dist/{Spacer-DWGkX170.cjs.map → Spacer-GYHbk-dS.cjs.map} +1 -1
  237. package/dist/{Spacer-DxH_sQrV.mjs → Spacer-Ln3KChb5.mjs} +1 -1
  238. package/dist/{Spacer-DxH_sQrV.mjs.map → Spacer-Ln3KChb5.mjs.map} +1 -1
  239. package/dist/{Spinner-C05An_fn.mjs → Spinner-D9-u_5zS.mjs} +1 -1
  240. package/dist/Spinner-D9-u_5zS.mjs.map +1 -0
  241. package/dist/{Spinner-z7DrPE1d.cjs → Spinner-DaSlM4kU.cjs} +2 -2
  242. package/dist/Spinner-DaSlM4kU.cjs.map +1 -0
  243. package/dist/{Stack-toDRLy--.d.cts → Stack-B5VYkPBe.d.cts} +5 -5
  244. package/dist/{Stack-BHb3ZB2A.cjs → Stack-BF-9YjA1.cjs} +2 -2
  245. package/dist/Stack-BF-9YjA1.cjs.map +1 -0
  246. package/dist/{Stack-BntgUvsW.d.mts → Stack-Du7tLSPC.d.mts} +6 -6
  247. package/dist/{Stack-hwgS2FU1.mjs → Stack-ckRN7LrP.mjs} +1 -1
  248. package/dist/Stack-ckRN7LrP.mjs.map +1 -0
  249. package/dist/Stack.d.cts +1 -1
  250. package/dist/Stack.d.mts +1 -1
  251. package/dist/StatusIndicator.d.mts +1 -1
  252. package/dist/{Sticker-D6bwBTGr.mjs → Sticker-B0TbkV4o.mjs} +3 -5
  253. package/dist/{Sticker-D6bwBTGr.mjs.map → Sticker-B0TbkV4o.mjs.map} +1 -1
  254. package/dist/{Sticker-D_dutvp_.cjs → Sticker-D0jIU2Dt.cjs} +4 -6
  255. package/dist/{Sticker-D_dutvp_.cjs.map → Sticker-D0jIU2Dt.cjs.map} +1 -1
  256. package/dist/{Sticker-S6QWjlEJ.d.cts → Sticker-D9HjFQ6e.d.cts} +3 -3
  257. package/dist/{Sticker-Bd7KkekO.d.mts → Sticker-XfyoDEod.d.mts} +5 -5
  258. package/dist/Sticker.d.cts +1 -1
  259. package/dist/Sticker.d.mts +1 -1
  260. package/dist/StyledIconDrag.d.mts +13 -0
  261. package/dist/SwatchPicker.d.mts +1 -1
  262. package/dist/Tab.d.mts +2 -2
  263. package/dist/{TabBar-Bf89XksH.mjs → TabBar-CAv10XAF.mjs} +6 -7
  264. package/dist/TabBar-CAv10XAF.mjs.map +1 -0
  265. package/dist/{TabBar-BMv8dAS3.cjs → TabBar-D8WCGYd5.cjs} +7 -8
  266. package/dist/TabBar-D8WCGYd5.cjs.map +1 -0
  267. package/dist/TabBarIconButton.d.mts +1 -1
  268. package/dist/Table-B3FJsvXP.cjs +478 -0
  269. package/dist/Table-B3FJsvXP.cjs.map +1 -0
  270. package/dist/{Table-DkAA1lt_.d.cts → Table-C8D4lpSa.d.mts} +1 -1
  271. package/dist/Table-CGtyWI6V.mjs +387 -0
  272. package/dist/Table-CGtyWI6V.mjs.map +1 -0
  273. package/dist/{Table-34f5m7w5.d.mts → Table-D4SMuVIR.d.cts} +1 -1
  274. package/dist/Table.d.cts +1 -1
  275. package/dist/Table.d.mts +1 -1
  276. package/dist/{TableBody-5QcVMPP_.d.cts → TableBody-0cd50RuX.d.mts} +1 -1
  277. package/dist/{TableBody-Clf34yzJ.d.mts → TableBody-BLmn5h3y.d.cts} +1 -1
  278. package/dist/TableBody.d.cts +1 -1
  279. package/dist/TableBody.d.mts +1 -1
  280. package/dist/TableBox-CPCWzwSl.mjs +1188 -0
  281. package/dist/TableBox-CPCWzwSl.mjs.map +1 -0
  282. package/dist/TableBox-D_B9atn2.cjs +1202 -0
  283. package/dist/TableBox-D_B9atn2.cjs.map +1 -0
  284. package/dist/TableBox.d.cts +3 -0
  285. package/dist/TableBox.d.mts +3 -0
  286. package/dist/TableBoxCell-CEvOcGYa.d.mts +242 -0
  287. package/dist/TableBoxCell-DJz423uN.d.cts +242 -0
  288. package/dist/TableBoxCell.d.cts +2 -0
  289. package/dist/TableBoxCell.d.mts +2 -0
  290. package/dist/TableBoxField.d.cts +84 -0
  291. package/dist/TableBoxField.d.mts +85 -0
  292. package/dist/TableBoxRow-CZwVgei6.d.cts +77 -0
  293. package/dist/TableBoxRow-LyHvITwZ.d.mts +77 -0
  294. package/dist/TableBoxRow.d.cts +2 -0
  295. package/dist/TableBoxRow.d.mts +2 -0
  296. package/dist/TableBoxRowActions-C8SAxrYG.d.mts +57 -0
  297. package/dist/TableBoxRowActions-VDAOxNDG.d.cts +57 -0
  298. package/dist/TableBoxRowActions.d.cts +2 -0
  299. package/dist/TableBoxRowActions.d.mts +2 -0
  300. package/dist/TableBoxRowContext.d.mts +20 -0
  301. package/dist/TableCell.d.cts +1 -1
  302. package/dist/TableCell.d.mts +1 -1
  303. package/dist/TableControls-B2ZsNlr6.mjs +1029 -0
  304. package/dist/TableControls-B2ZsNlr6.mjs.map +1 -0
  305. package/dist/TableControls-B4gpAvl7.d.mts +70 -0
  306. package/dist/TableControls-B7QEAzru.cjs +1080 -0
  307. package/dist/TableControls-B7QEAzru.cjs.map +1 -0
  308. package/dist/TableControls-BG0OKwjj.d.cts +70 -0
  309. package/dist/TableControls.d.cts +2 -0
  310. package/dist/TableControls.d.mts +2 -0
  311. package/dist/TableControlsContext-CanIAaLW.d.cts +21 -0
  312. package/dist/TableControlsContext-NdzzGevw.d.mts +21 -0
  313. package/dist/TableControlsContext.d.cts +2 -0
  314. package/dist/TableControlsContext.d.mts +2 -0
  315. package/dist/{TableHead-9LLM1B8I.d.cts → TableHead-CuHNOeCj.d.mts} +1 -1
  316. package/dist/{TableHead-DJBGHoUD.d.mts → TableHead-roexW17v.d.cts} +1 -1
  317. package/dist/TableHead.d.cts +1 -1
  318. package/dist/TableHead.d.mts +1 -1
  319. package/dist/{TableHeaderCell-25lC9tNk.d.cts → TableHeaderCell-BTGuqVXy.d.cts} +1 -1
  320. package/dist/{TableHeaderCell-DzYZq7SG.d.mts → TableHeaderCell-Cflho9R2.d.mts} +1 -1
  321. package/dist/TableHeaderCell.d.cts +1 -1
  322. package/dist/TableHeaderCell.d.mts +1 -1
  323. package/dist/{TableLayout-BA3jbdbi.d.mts → TableLayout-BvVsuUVb.d.cts} +1 -1
  324. package/dist/{TableLayout-CmDKOu10.d.cts → TableLayout-D9BGrjRs.d.mts} +1 -1
  325. package/dist/TableLayout.d.cts +1 -1
  326. package/dist/TableLayout.d.mts +1 -1
  327. package/dist/{TableRow-IPjQnK2q.d.cts → TableRow-BfGJSGZH.d.cts} +1 -1
  328. package/dist/{TableRow-CBKpDeUV.d.mts → TableRow-CjQmDmfx.d.mts} +2 -2
  329. package/dist/TableRow.d.cts +1 -1
  330. package/dist/TableRow.d.mts +1 -1
  331. package/dist/TableTH.d.cts +1 -1
  332. package/dist/TableTH.d.mts +1 -1
  333. package/dist/TableViewConfigurationDropdown-BaQ1IsYM.d.cts +32 -0
  334. package/dist/TableViewConfigurationDropdown-DMeFkVUa.d.mts +32 -0
  335. package/dist/TableViewConfigurationDropdown.d.cts +2 -0
  336. package/dist/TableViewConfigurationDropdown.d.mts +2 -0
  337. package/dist/TechnicalSticker.d.cts +51 -0
  338. package/dist/TechnicalSticker.d.mts +51 -0
  339. package/dist/{Text-CnXedFut.d.mts → Text-CPd0r0w2.d.mts} +3 -3
  340. package/dist/{Text-DVz8erdF.cjs → Text-CzN0DOXV.cjs} +2 -2
  341. package/dist/{Text-DVz8erdF.cjs.map → Text-CzN0DOXV.cjs.map} +1 -1
  342. package/dist/{Text-DOTYjIt0.mjs → Text-hEoPeOc9.mjs} +1 -1
  343. package/dist/{Text-DOTYjIt0.mjs.map → Text-hEoPeOc9.mjs.map} +1 -1
  344. package/dist/Text.d.mts +1 -1
  345. package/dist/{TextArea-B1kitxCl.mjs → TextArea-CJJlw3rV.mjs} +3 -3
  346. package/dist/{TextArea-B1kitxCl.mjs.map → TextArea-CJJlw3rV.mjs.map} +1 -1
  347. package/dist/{TextArea-1bHvaq9p.d.mts → TextArea-Dl9_Zizx.d.cts} +2 -2
  348. package/dist/{TextArea-j43fhp2P.d.cts → TextArea-J1MD_8rK.d.mts} +2 -2
  349. package/dist/{TextArea-MVgGGM6r.cjs → TextArea-p3oek3Zq.cjs} +4 -4
  350. package/dist/{TextArea-MVgGGM6r.cjs.map → TextArea-p3oek3Zq.cjs.map} +1 -1
  351. package/dist/TextArea.d.cts +1 -1
  352. package/dist/TextArea.d.mts +1 -1
  353. package/dist/{TextUnderlineTooltip-z4sSGL91.d.mts → TextUnderlineTooltip-D8GFsk5C.d.mts} +3 -3
  354. package/dist/TextUnderlineTooltip.d.mts +1 -1
  355. package/dist/Tile.d.cts +1 -1
  356. package/dist/Tile.d.mts +2 -2
  357. package/dist/Toast.d.cts +2 -6
  358. package/dist/Toast.d.mts +2 -6
  359. package/dist/{Toggle-CVdg5iQ0.cjs → Toggle-7o-n5vF6.cjs} +6 -6
  360. package/dist/{Toggle-CVdg5iQ0.cjs.map → Toggle-7o-n5vF6.cjs.map} +1 -1
  361. package/dist/{Toggle-B3Cdyf7T.d.mts → Toggle-CY67yh4T.d.mts} +1 -1
  362. package/dist/{Toggle-8GNRxyvE.mjs → Toggle-DOo0cLmI.mjs} +5 -5
  363. package/dist/{Toggle-8GNRxyvE.mjs.map → Toggle-DOo0cLmI.mjs.map} +1 -1
  364. package/dist/{Toggle-BjkbL_uf.d.cts → Toggle-Dw4hisXm.d.cts} +1 -1
  365. package/dist/Toggle.d.cts +1 -1
  366. package/dist/Toggle.d.mts +1 -1
  367. package/dist/{Tooltip-T7RQpy_a.mjs → Tooltip-CDvOu1UN.mjs} +3 -3
  368. package/dist/{Tooltip-T7RQpy_a.mjs.map → Tooltip-CDvOu1UN.mjs.map} +1 -1
  369. package/dist/{Tooltip-C0PS5InA.d.mts → Tooltip-DtWJO_kU.d.mts} +3 -3
  370. package/dist/{Tooltip-0i_15ysU.cjs → Tooltip-vylydKVv.cjs} +4 -4
  371. package/dist/{Tooltip-0i_15ysU.cjs.map → Tooltip-vylydKVv.cjs.map} +1 -1
  372. package/dist/Tooltip.d.mts +1 -1
  373. package/dist/{TruncatedText-D8f3AiBL.d.cts → TruncatedText-BBoWmFii.d.mts} +2 -2
  374. package/dist/{TruncatedText-0Tf8CwFX.d.mts → TruncatedText-DMpR-yaJ.d.cts} +2 -2
  375. package/dist/{chunk-CoPdw6nB.cjs → chunk-CKQMccvm.cjs} +0 -36
  376. package/dist/components/Attribute/index.cjs +8 -8
  377. package/dist/components/Attribute/index.cjs.map +1 -1
  378. package/dist/components/Attribute/index.mjs +10 -10
  379. package/dist/components/Attribute/index.mjs.map +1 -1
  380. package/dist/components/Badge/index.cjs +1 -2
  381. package/dist/components/Badge/index.mjs +1 -1
  382. package/dist/components/Banner/index.cjs +2 -3
  383. package/dist/components/Banner/index.cjs.map +1 -1
  384. package/dist/components/Banner/index.mjs +1 -2
  385. package/dist/components/Banner/index.mjs.map +1 -1
  386. package/dist/components/Button/index.cjs +1 -2
  387. package/dist/components/Button/index.d.mts +2 -2
  388. package/dist/components/Button/index.mjs +1 -1
  389. package/dist/components/ButtonGroup/index.cjs +4 -4
  390. package/dist/components/ButtonGroup/index.cjs.map +1 -1
  391. package/dist/components/ButtonGroup/index.mjs +3 -3
  392. package/dist/components/ButtonGroup/index.mjs.map +1 -1
  393. package/dist/components/Card/index.cjs +1 -2
  394. package/dist/components/Card/index.d.mts +2 -2
  395. package/dist/components/Card/index.mjs +1 -1
  396. package/dist/components/CardV2/index.cjs +13 -89
  397. package/dist/components/CardV2/index.cjs.map +1 -1
  398. package/dist/components/CardV2/index.d.mts +1 -1
  399. package/dist/components/CardV2/index.mjs +17 -100
  400. package/dist/components/CardV2/index.mjs.map +1 -1
  401. package/dist/components/Checkbox/index.cjs +1 -2
  402. package/dist/components/Checkbox/index.d.mts +1 -1
  403. package/dist/components/Checkbox/index.mjs +1 -1
  404. package/dist/components/Combobox/index.cjs +1 -2
  405. package/dist/components/Combobox/index.d.cts +3 -3
  406. package/dist/components/Combobox/index.d.mts +3 -3
  407. package/dist/components/Combobox/index.mjs +1 -1
  408. package/dist/components/ConfigFormGroup/index.cjs +4 -31
  409. package/dist/components/ConfigFormGroup/index.mjs +2 -27
  410. package/dist/components/DataTable/TableControls/index.cjs +13 -0
  411. package/dist/components/DataTable/TableControls/index.d.cts +6 -0
  412. package/dist/components/DataTable/TableControls/index.d.mts +6 -0
  413. package/dist/components/DataTable/TableControls/index.mjs +2 -0
  414. package/dist/components/DataTable/index.cjs +1435 -0
  415. package/dist/components/DataTable/index.cjs.map +1 -0
  416. package/dist/components/DataTable/index.d.cts +8 -0
  417. package/dist/components/DataTable/index.d.mts +8 -0
  418. package/dist/components/DataTable/index.mjs +1408 -0
  419. package/dist/components/DataTable/index.mjs.map +1 -0
  420. package/dist/components/DataTable/types.d.cts +159 -0
  421. package/dist/components/DataTable/types.d.mts +159 -0
  422. package/dist/components/DataTable/types.mjs +0 -0
  423. package/dist/components/DatePicker/index.cjs +235 -10836
  424. package/dist/components/DatePicker/index.cjs.map +1 -1
  425. package/dist/components/DatePicker/index.d.cts +1 -1
  426. package/dist/components/DatePicker/index.d.mts +1 -1
  427. package/dist/components/DatePicker/index.mjs +230 -10830
  428. package/dist/components/DatePicker/index.mjs.map +1 -1
  429. package/dist/components/DropdownButton/index.cjs +1 -2
  430. package/dist/components/DropdownButton/index.mjs +1 -1
  431. package/dist/components/DropdownMenu/index.cjs +1 -2
  432. package/dist/components/DropdownMenu/index.d.cts +1 -1
  433. package/dist/components/DropdownMenu/index.d.mts +1 -1
  434. package/dist/components/DropdownMenu/index.mjs +1 -1
  435. package/dist/components/FormControl/index.cjs +2 -3
  436. package/dist/components/FormControl/index.d.cts +2 -2
  437. package/dist/components/FormControl/index.d.mts +2 -2
  438. package/dist/components/FormControl/index.mjs +2 -2
  439. package/dist/components/FormField/index.cjs +109 -22
  440. package/dist/components/FormField/index.cjs.map +1 -1
  441. package/dist/components/FormField/index.d.cts +3 -2
  442. package/dist/components/FormField/index.d.mts +3 -2
  443. package/dist/components/FormField/index.mjs +109 -23
  444. package/dist/components/FormField/index.mjs.map +1 -1
  445. package/dist/components/HoverCopyableField/index.cjs +2 -0
  446. package/dist/components/HoverCopyableField/index.d.cts +2 -0
  447. package/dist/components/HoverCopyableField/index.d.mts +2 -0
  448. package/dist/components/HoverCopyableField/index.mjs +2 -0
  449. package/dist/components/ImageTile/index.cjs +9 -12
  450. package/dist/components/ImageTile/index.cjs.map +1 -1
  451. package/dist/components/ImageTile/index.mjs +8 -11
  452. package/dist/components/ImageTile/index.mjs.map +1 -1
  453. package/dist/components/Input/index.cjs +1 -2
  454. package/dist/components/Input/index.cjs.map +1 -1
  455. package/dist/components/Input/index.d.mts +1 -1
  456. package/dist/components/Input/index.mjs +1 -1
  457. package/dist/components/Link/index.cjs +2 -2
  458. package/dist/components/Link/index.cjs.map +1 -1
  459. package/dist/components/Link/index.mjs +1 -1
  460. package/dist/components/Link/index.mjs.map +1 -1
  461. package/dist/components/ListBox/index.cjs +1 -2
  462. package/dist/components/ListBox/index.d.cts +1 -1
  463. package/dist/components/ListBox/index.d.mts +1 -1
  464. package/dist/components/ListBox/index.mjs +1 -1
  465. package/dist/components/LoadingShimmer/index.cjs +1 -2
  466. package/dist/components/LoadingShimmer/index.mjs +1 -1
  467. package/dist/components/MaskedInput/index.cjs +3 -3
  468. package/dist/components/MaskedInput/index.mjs +2 -2
  469. package/dist/components/MatchHighlight/index.cjs +1 -1
  470. package/dist/components/MatchHighlight/index.cjs.map +1 -1
  471. package/dist/components/MatchHighlight/index.mjs.map +1 -1
  472. package/dist/components/Menu/index.cjs +1 -2
  473. package/dist/components/Menu/index.d.cts +1 -1
  474. package/dist/components/Menu/index.d.mts +1 -1
  475. package/dist/components/Menu/index.mjs +1 -1
  476. package/dist/components/Modal/index.cjs +31 -30
  477. package/dist/components/Modal/index.cjs.map +1 -1
  478. package/dist/components/Modal/index.mjs +30 -29
  479. package/dist/components/Modal/index.mjs.map +1 -1
  480. package/dist/components/PageHeader/index.cjs +2 -2
  481. package/dist/components/PageHeader/index.cjs.map +1 -1
  482. package/dist/components/PageHeader/index.mjs +1 -1
  483. package/dist/components/PageHeader/index.mjs.map +1 -1
  484. package/dist/components/Pagination/index.cjs +6 -207
  485. package/dist/components/Pagination/index.d.cts +4 -3
  486. package/dist/components/Pagination/index.d.mts +4 -3
  487. package/dist/components/Pagination/index.mjs +2 -203
  488. package/dist/components/Pii/index.cjs +2 -20
  489. package/dist/components/Pii/index.mjs +1 -18
  490. package/dist/components/Popover/index.cjs +1 -2
  491. package/dist/components/Popover/index.mjs +1 -1
  492. package/dist/components/ProgressBar/index.cjs +2 -2
  493. package/dist/components/ProgressBar/index.cjs.map +1 -1
  494. package/dist/components/ProgressBar/index.mjs +1 -1
  495. package/dist/components/ProgressBar/index.mjs.map +1 -1
  496. package/dist/components/ProgressIndicator/index.cjs +1 -1
  497. package/dist/components/ProgressIndicator/index.cjs.map +1 -1
  498. package/dist/components/ProgressIndicator/index.mjs.map +1 -1
  499. package/dist/components/Radio/index.cjs +1 -2
  500. package/dist/components/Radio/index.mjs +1 -1
  501. package/dist/components/RadioGroup/index.cjs +1 -2
  502. package/dist/components/RadioGroup/index.d.cts +1 -1
  503. package/dist/components/RadioGroup/index.d.mts +1 -1
  504. package/dist/components/RadioGroup/index.mjs +1 -1
  505. package/dist/components/SegmentedControl/index.cjs +1 -2
  506. package/dist/components/SegmentedControl/index.d.cts +1 -1
  507. package/dist/components/SegmentedControl/index.d.mts +1 -1
  508. package/dist/components/SegmentedControl/index.mjs +1 -1
  509. package/dist/components/Select/index.cjs +1 -2
  510. package/dist/components/Select/index.d.cts +1 -1
  511. package/dist/components/Select/index.d.mts +1 -1
  512. package/dist/components/Select/index.mjs +1 -1
  513. package/dist/components/Slider/index.cjs +20 -1282
  514. package/dist/components/Slider/index.cjs.map +1 -1
  515. package/dist/components/Slider/index.d.cts +2 -2
  516. package/dist/components/Slider/index.d.mts +2 -2
  517. package/dist/components/Slider/index.mjs +18 -1279
  518. package/dist/components/Slider/index.mjs.map +1 -1
  519. package/dist/components/Spacer/index.cjs +1 -2
  520. package/dist/components/Spacer/index.mjs +1 -1
  521. package/dist/components/Spinner/index.cjs +1 -2
  522. package/dist/components/Spinner/index.mjs +1 -1
  523. package/dist/components/Stack/index.cjs +1 -2
  524. package/dist/components/Stack/index.d.cts +1 -1
  525. package/dist/components/Stack/index.d.mts +1 -1
  526. package/dist/components/Stack/index.mjs +1 -1
  527. package/dist/components/StatusIndicator/index.cjs +1 -1
  528. package/dist/components/StatusIndicator/index.cjs.map +1 -1
  529. package/dist/components/StatusIndicator/index.mjs.map +1 -1
  530. package/dist/components/Sticker/index.cjs +1 -2
  531. package/dist/components/Sticker/index.d.cts +1 -1
  532. package/dist/components/Sticker/index.d.mts +1 -1
  533. package/dist/components/Sticker/index.mjs +1 -1
  534. package/dist/components/SwatchPicker/index.cjs +3 -5
  535. package/dist/components/SwatchPicker/index.cjs.map +1 -1
  536. package/dist/components/SwatchPicker/index.mjs +2 -4
  537. package/dist/components/SwatchPicker/index.mjs.map +1 -1
  538. package/dist/components/TabBar/index.cjs +1 -2
  539. package/dist/components/TabBar/index.mjs +1 -1
  540. package/dist/components/Table/index.cjs +17 -396
  541. package/dist/components/Table/index.d.cts +7 -7
  542. package/dist/components/Table/index.d.mts +7 -7
  543. package/dist/components/Table/index.mjs +1 -378
  544. package/dist/components/TableBox/index.cjs +7 -0
  545. package/dist/components/TableBox/index.d.cts +3 -0
  546. package/dist/components/TableBox/index.d.mts +3 -0
  547. package/dist/components/TableBox/index.mjs +2 -0
  548. package/dist/components/TechnicalSticker/index.cjs +239 -0
  549. package/dist/components/TechnicalSticker/index.cjs.map +1 -0
  550. package/dist/components/TechnicalSticker/index.d.cts +2 -0
  551. package/dist/components/TechnicalSticker/index.d.mts +2 -0
  552. package/dist/components/TechnicalSticker/index.mjs +232 -0
  553. package/dist/components/TechnicalSticker/index.mjs.map +1 -0
  554. package/dist/components/Text/index.cjs +1 -2
  555. package/dist/components/Text/index.d.mts +1 -1
  556. package/dist/components/Text/index.mjs +1 -1
  557. package/dist/components/TextArea/index.cjs +1 -2
  558. package/dist/components/TextArea/index.d.cts +1 -1
  559. package/dist/components/TextArea/index.d.mts +1 -1
  560. package/dist/components/TextArea/index.mjs +1 -1
  561. package/dist/components/Tile/index.cjs +5 -6
  562. package/dist/components/Tile/index.cjs.map +1 -1
  563. package/dist/components/Tile/index.mjs +4 -5
  564. package/dist/components/Tile/index.mjs.map +1 -1
  565. package/dist/components/Toast/index.cjs +5 -12
  566. package/dist/components/Toast/index.cjs.map +1 -1
  567. package/dist/components/Toast/index.d.cts +2 -2
  568. package/dist/components/Toast/index.d.mts +2 -2
  569. package/dist/components/Toast/index.mjs +4 -10
  570. package/dist/components/Toast/index.mjs.map +1 -1
  571. package/dist/components/Toggle/index.cjs +1 -2
  572. package/dist/components/Toggle/index.d.cts +1 -1
  573. package/dist/components/Toggle/index.d.mts +1 -1
  574. package/dist/components/Toggle/index.mjs +1 -1
  575. package/dist/components/Tooltip/index.cjs +1 -2
  576. package/dist/components/Tooltip/index.d.mts +3 -3
  577. package/dist/components/Tooltip/index.mjs +1 -1
  578. package/dist/constants-CnkpDWTv.d.mts +6 -0
  579. package/dist/constants-D5CkrHza.d.cts +6 -0
  580. package/dist/constants.d.cts +2 -0
  581. package/dist/constants.d.mts +2 -5
  582. package/dist/constants2.d.cts +10 -0
  583. package/dist/constants2.d.mts +10 -0
  584. package/dist/helpers.d.cts +76 -0
  585. package/dist/helpers.d.mts +76 -0
  586. package/dist/{TableCell-DIs9h97h.d.cts → index-Bp3vEph6.d.cts} +3 -3
  587. package/dist/{TableCell-Dog4Blfq.d.mts → index-BwWgmaXZ.d.mts} +4 -4
  588. package/dist/index-c55Utzva.d.mts +1 -0
  589. package/dist/index-dC-i2r_u.d.cts +1 -0
  590. package/dist/index-e6k85DKM.d.mts +1 -0
  591. package/dist/index-gpCH5158.d.mts +1 -0
  592. package/dist/index-kDNN3kX_2.d.mts +1 -0
  593. package/dist/index-luywJTzJ.d.mts +1 -0
  594. package/dist/index-qCd8f7Um.d.cts +1 -0
  595. package/dist/index-uTS5iDq_.d.cts +1 -0
  596. package/dist/index.cjs +0 -1
  597. package/dist/index.d.mts +1 -1
  598. package/dist/index2.d.cts +2 -1
  599. package/dist/index2.d.mts +2 -1
  600. package/dist/index3.d.cts +1 -0
  601. package/dist/index3.d.mts +1 -0
  602. package/dist/{input-BCmP106-.d.mts → input-FEaQ66an.d.mts} +3 -3
  603. package/dist/inputFields.d.cts +8 -8
  604. package/dist/inputFields.d.mts +11 -11
  605. package/dist/lib/ConfigContext.cjs +1 -1
  606. package/dist/lib/GlobalStyles.cjs +57 -0
  607. package/dist/lib/GlobalStyles.cjs.map +1 -0
  608. package/dist/lib/GlobalStyles.d.cts +8 -0
  609. package/dist/lib/GlobalStyles.d.mts +8 -0
  610. package/dist/lib/GlobalStyles.mjs +51 -0
  611. package/dist/lib/GlobalStyles.mjs.map +1 -0
  612. package/dist/lib/HeadlessAriaButton.cjs +1 -1
  613. package/dist/lib/MiddleTruncatedText.cjs +7 -0
  614. package/dist/lib/MiddleTruncatedText.d.cts +14 -0
  615. package/dist/lib/MiddleTruncatedText.d.mts +14 -0
  616. package/dist/lib/MiddleTruncatedText.mjs +2 -0
  617. package/dist/lib/PDSProvider.cjs +5 -12
  618. package/dist/lib/PDSProvider.cjs.map +1 -1
  619. package/dist/lib/PDSProvider.d.cts +0 -2
  620. package/dist/lib/PDSProvider.d.mts +1 -3
  621. package/dist/lib/PDSProvider.mjs +4 -11
  622. package/dist/lib/PDSProvider.mjs.map +1 -1
  623. package/dist/lib/TruncatedText.cjs +2 -2
  624. package/dist/lib/TruncatedText.d.cts +1 -1
  625. package/dist/lib/TruncatedText.d.mts +1 -1
  626. package/dist/lib/TruncatedText.mjs +1 -1
  627. package/dist/lib/TruncatedTextWithTooltip.cjs +3 -3
  628. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  629. package/dist/lib/TruncatedTextWithTooltip.mjs +2 -2
  630. package/dist/lib/comboboxHelper.cjs +6 -6
  631. package/dist/lib/comboboxHelper.cjs.map +1 -1
  632. package/dist/lib/comboboxHelper.mjs +1 -1
  633. package/dist/lib/copyTextToClipboard.cjs +33 -0
  634. package/dist/lib/copyTextToClipboard.cjs.map +1 -0
  635. package/dist/lib/copyTextToClipboard.d.cts +4 -0
  636. package/dist/lib/copyTextToClipboard.d.mts +5 -0
  637. package/dist/lib/copyTextToClipboard.mjs +33 -0
  638. package/dist/lib/copyTextToClipboard.mjs.map +1 -0
  639. package/dist/lib/datePickerHelper.cjs +9 -3541
  640. package/dist/lib/datePickerHelper.cjs.map +1 -1
  641. package/dist/lib/datePickerHelper.mjs +3 -3537
  642. package/dist/lib/datePickerHelper.mjs.map +1 -1
  643. package/dist/lib/message.cjs +12 -0
  644. package/dist/lib/message.cjs.map +1 -0
  645. package/dist/lib/message.d.cts +2 -0
  646. package/dist/lib/message.d.mts +2 -0
  647. package/dist/lib/message.mjs +11 -0
  648. package/dist/lib/message.mjs.map +1 -0
  649. package/dist/lib/pseudoClass.cjs +0 -1
  650. package/dist/lib/pseudoClass.cjs.map +1 -1
  651. package/dist/lib/pseudoClass.d.mts +1 -1
  652. package/dist/lib/reorderItems.cjs +0 -1
  653. package/dist/lib/reorderItems.cjs.map +1 -1
  654. package/dist/lib/selectHelper.cjs +4 -4
  655. package/dist/lib/selectHelper.cjs.map +1 -1
  656. package/dist/lib/selectHelper.mjs +1 -1
  657. package/dist/lib/useControlled.cjs +1 -1
  658. package/dist/lib/useIsOverflow.cjs +1 -1
  659. package/dist/lib/useOutsideClick.cjs +1 -1
  660. package/dist/lib/useScrollOverflow.cjs +61 -0
  661. package/dist/lib/useScrollOverflow.cjs.map +1 -0
  662. package/dist/lib/useScrollOverflow.d.cts +36 -0
  663. package/dist/lib/useScrollOverflow.d.mts +36 -0
  664. package/dist/lib/useScrollOverflow.mjs +59 -0
  665. package/dist/lib/useScrollOverflow.mjs.map +1 -0
  666. package/dist/lib/zindex.cjs +0 -1
  667. package/dist/lib/zindex.cjs.map +1 -1
  668. package/dist/message-CWEGi3Xg.d.cts +9 -0
  669. package/dist/message-SITKO6JZ.d.mts +9 -0
  670. package/dist/middleTruncateText.d.mts +13 -0
  671. package/dist/mixins/focus.cjs +1 -1
  672. package/dist/mixins/focus.cjs.map +1 -1
  673. package/dist/mixins/focus.d.mts +1 -1
  674. package/dist/mixins/focus.mjs.map +1 -1
  675. package/dist/mixins/hoverable.cjs +1 -1
  676. package/dist/mixins/hoverable.d.mts +2 -2
  677. package/dist/mixins/input.cjs +1 -1
  678. package/dist/mixins/input.cjs.map +1 -1
  679. package/dist/mixins/input.d.mts +1 -1
  680. package/dist/mixins/input.mjs.map +1 -1
  681. package/dist/mixins/menuItem.cjs +1 -1
  682. package/dist/mixins/menuItem.cjs.map +1 -1
  683. package/dist/mixins/menuItem.d.mts +2 -2
  684. package/dist/mixins/menuItem.mjs.map +1 -1
  685. package/dist/mixins/print/index.cjs +1 -1
  686. package/dist/mixins/text.cjs +1 -1
  687. package/dist/mixins/text.cjs.map +1 -1
  688. package/dist/mixins/text.d.mts +1 -1
  689. package/dist/mixins/text.mjs.map +1 -1
  690. package/dist/positioning.d.mts +11 -0
  691. package/dist/tableBoxKeyboardNavigation.d.mts +8 -0
  692. package/dist/{text-BrSUs-88.d.mts → text-BEKhEWTa.d.mts} +1 -1
  693. package/dist/{theme-DGAqgnUa.d.mts → theme-q9fNLtcA.d.mts} +1 -1
  694. package/dist/theme.cjs +1 -1
  695. package/dist/theme.d.mts +1 -1
  696. package/dist/types-BG21GgBe.d.cts +25 -0
  697. package/dist/types-ChCqSD9N.d.mts +25 -0
  698. package/dist/types-CmnKGG5I.d.cts +10 -0
  699. package/dist/types-DMjr-u_o.d.mts +10 -0
  700. package/dist/types.d.cts +2 -0
  701. package/dist/types.d.mts +2 -0
  702. package/dist/types2.d.cts +2 -0
  703. package/dist/types2.d.mts +2 -0
  704. package/dist/useColumnWidthLock.d.mts +28 -0
  705. package/dist/{useFormField-DN3gpEEV.cjs → useFormField-BpYf3CAW.cjs} +3 -3
  706. package/dist/{useFormField-DN3gpEEV.cjs.map → useFormField-BpYf3CAW.cjs.map} +1 -1
  707. package/dist/{useFormField-BmtItl8y.d.mts → useFormField-CVmt-ti2.d.mts} +2 -2
  708. package/dist/{useFormField-eftOPiXj.mjs → useFormField-D0RTrPld.mjs} +2 -2
  709. package/dist/{useFormField-eftOPiXj.mjs.map → useFormField-D0RTrPld.mjs.map} +1 -1
  710. package/dist/{useFormField-Ba0CQ43u.d.cts → useFormField-DLGEZ1kD.d.cts} +1 -1
  711. package/dist/useFormField.d.cts +1 -1
  712. package/dist/useFormField.d.mts +1 -1
  713. package/dist/{useFormGroup-B_mFNoN9.cjs → useFormGroup-DQJdKaL9.cjs} +2 -2
  714. package/dist/{useFormGroup-B_mFNoN9.cjs.map → useFormGroup-DQJdKaL9.cjs.map} +1 -1
  715. package/dist/{useFormGroup-BMukAMAd.mjs → useFormGroup-z0epBxXn.mjs} +1 -1
  716. package/dist/{useFormGroup-BMukAMAd.mjs.map → useFormGroup-z0epBxXn.mjs.map} +1 -1
  717. package/dist/useTableBoxDragAndDrop-DXqy_AMP.d.mts +69 -0
  718. package/dist/useTableBoxDragAndDrop-hrESBhKb.d.cts +69 -0
  719. package/dist/useTableBoxDragAndDrop.d.cts +2 -0
  720. package/dist/useTableBoxDragAndDrop.d.mts +2 -0
  721. package/dist/useTableColumns.d.cts +72 -0
  722. package/dist/useTableColumns.d.mts +72 -0
  723. package/dist/{useToggle-0zLL1E7s.mjs → useToggle-3k3EkV8V.mjs} +1 -1
  724. package/dist/{useToggle-0zLL1E7s.mjs.map → useToggle-3k3EkV8V.mjs.map} +1 -1
  725. package/dist/{useToggle-DNrEsTpr.cjs → useToggle-CSkZWXtQ.cjs} +2 -2
  726. package/dist/{useToggle-DNrEsTpr.cjs.map → useToggle-CSkZWXtQ.cjs.map} +1 -1
  727. package/dist/useTruncation.d.mts +1 -1
  728. package/dist/{utilities-w1K54IAy.d.mts → utilities-DT-Hh45R.d.mts} +1 -1
  729. package/dist/utilities.d.mts +1 -1
  730. package/dist/utils/storybook.cjs +2 -3
  731. package/dist/utils/storybook.cjs.map +1 -1
  732. package/dist/utils/storybook.mjs +1 -2
  733. package/dist/utils/storybook.mjs.map +1 -1
  734. package/dist/utils/testing.cjs +5 -5
  735. package/dist/utils/testing.cjs.map +1 -1
  736. package/dist/utils/testing.d.cts +5 -357
  737. package/dist/utils/testing.d.mts +4 -356
  738. package/dist/utils/testing.mjs +2 -2
  739. package/dist/utils/testing.mjs.map +1 -1
  740. package/dist/utils.d.mts +9 -0
  741. package/dist/variables/color.cjs +0 -1
  742. package/dist/variables/color.cjs.map +1 -1
  743. package/dist/variables/effect.cjs +1 -1
  744. package/dist/variables/keyframes.cjs +1 -1
  745. package/dist/variables/spacing.cjs +0 -1
  746. package/dist/variables/spacing.cjs.map +1 -1
  747. package/dist/variables/text.cjs +0 -1
  748. package/dist/variables/text.cjs.map +1 -1
  749. package/dist/variables/transitions.cjs +0 -1
  750. package/dist/variables/transitions.cjs.map +1 -1
  751. package/package.json +125 -89
  752. package/dist/Combobox-B_-swcix.mjs.map +0 -1
  753. package/dist/Combobox-B_oe33Re.cjs.map +0 -1
  754. package/dist/DateField-Bwe_0qm9.d.cts +0 -24
  755. package/dist/DateField-Chko9oLb.d.mts +0 -24
  756. package/dist/RegisterComponent-BDb43KvI.d.mts +0 -34
  757. package/dist/RegisterComponent-CpXIR-51.d.cts +0 -34
  758. package/dist/Slider-D3gz7otf.d.mts +0 -56
  759. package/dist/Slider-uH5MOu2D.d.cts +0 -56
  760. package/dist/SliderRHF-Cc-9RuPe.d.cts +0 -984
  761. package/dist/SliderRHF-DIV-tCEv.d.mts +0 -984
  762. package/dist/Spinner-C05An_fn.mjs.map +0 -1
  763. package/dist/Spinner-z7DrPE1d.cjs.map +0 -1
  764. package/dist/Stack-BHb3ZB2A.cjs.map +0 -1
  765. package/dist/Stack-hwgS2FU1.mjs.map +0 -1
  766. package/dist/TabBar-BMv8dAS3.cjs.map +0 -1
  767. package/dist/TabBar-Bf89XksH.mjs.map +0 -1
  768. package/dist/chunk-Bpcn9VDT.mjs +0 -39
  769. package/dist/components/ConfigFormGroup/index.cjs.map +0 -1
  770. package/dist/components/ConfigFormGroup/index.mjs.map +0 -1
  771. package/dist/components/Pagination/index.cjs.map +0 -1
  772. package/dist/components/Pagination/index.mjs.map +0 -1
  773. package/dist/components/Pii/index.cjs.map +0 -1
  774. package/dist/components/Pii/index.mjs.map +0 -1
  775. package/dist/components/Table/index.cjs.map +0 -1
  776. package/dist/components/Table/index.mjs.map +0 -1
  777. package/dist/ids-Cr-NW2RJ.d.mts +0 -11
  778. package/dist/ids-e4V5Y3Ub.d.cts +0 -11
  779. package/dist/index-8R9vlM2B.d.mts +0 -83
  780. package/dist/index-BM1DqNZf.d.cts +0 -628
  781. package/dist/index-CExuKKOI.d.cts +0 -218
  782. package/dist/index-CKu60b9I.d.mts +0 -154
  783. package/dist/index-DQvVmqvS.d.mts +0 -628
  784. package/dist/lib/register/RegisterComponent.cjs +0 -91
  785. package/dist/lib/register/RegisterComponent.cjs.map +0 -1
  786. package/dist/lib/register/RegisterComponent.d.cts +0 -2
  787. package/dist/lib/register/RegisterComponent.d.mts +0 -2
  788. package/dist/lib/register/RegisterComponent.mjs +0 -88
  789. package/dist/lib/register/RegisterComponent.mjs.map +0 -1
  790. package/dist/lib/register/ids.cjs +0 -31
  791. package/dist/lib/register/ids.cjs.map +0 -1
  792. package/dist/lib/register/ids.d.cts +0 -2
  793. package/dist/lib/register/ids.d.mts +0 -2
  794. package/dist/lib/register/ids.mjs +0 -28
  795. package/dist/lib/register/ids.mjs.map +0 -1
  796. package/dist/lib/register/index.cjs +0 -8
  797. package/dist/lib/register/index.d.cts +0 -4
  798. package/dist/lib/register/index.d.mts +0 -4
  799. package/dist/lib/register/index.mjs +0 -3
  800. package/dist/lib/register/types.cjs +0 -1
  801. package/dist/lib/register/types.d.cts +0 -2
  802. package/dist/lib/register/types.d.mts +0 -2
  803. package/dist/mergeRefs-BZinWopc.cjs +0 -31
  804. package/dist/mergeRefs-BZinWopc.cjs.map +0 -1
  805. package/dist/mergeRefs-BgcbK0Qy.mjs +0 -26
  806. package/dist/mergeRefs-BgcbK0Qy.mjs.map +0 -1
  807. package/dist/motion-DoikasqZ.mjs +0 -7483
  808. package/dist/motion-DoikasqZ.mjs.map +0 -1
  809. package/dist/motion-QW6imSxE.cjs +0 -7488
  810. package/dist/motion-QW6imSxE.cjs.map +0 -1
  811. package/dist/react.esm-C-es35jP.cjs +0 -11441
  812. package/dist/react.esm-C-es35jP.cjs.map +0 -1
  813. package/dist/react.esm-Dv1lMDRs.mjs +0 -11397
  814. package/dist/react.esm-Dv1lMDRs.mjs.map +0 -1
  815. package/dist/types-DzHQ5MGm.d.mts +0 -69
  816. package/dist/types-N-cXznfM.d.cts +0 -69
  817. package/dist/useLabel-BcbghpIU.cjs +0 -1465
  818. package/dist/useLabel-BcbghpIU.cjs.map +0 -1
  819. package/dist/useLabel-DHGzNIKw.mjs +0 -1212
  820. package/dist/useLabel-DHGzNIKw.mjs.map +0 -1
  821. /package/dist/{lib/register/types.mjs → components/DataTable/types.cjs} +0 -0
  822. /package/dist/{index-7in8TPrM.d.mts → index-8SLBz2NH.d.mts} +0 -0
  823. /package/dist/{index-B2KLYYkM.d.cts → index-BIAn8oQh.d.cts} +0 -0
  824. /package/dist/{index-BBDa5smF.d.cts → index-BSVhZrWN.d.mts} +0 -0
  825. /package/dist/{index-BJ8-FA6N.d.cts → index-BlwcRiXv.d.cts} +0 -0
  826. /package/dist/{index-BPiqSRRl.d.mts → index-C4zERU4O.d.cts} +0 -0
  827. /package/dist/{index-BUYyA1Xh.d.cts → index-C6yvNuzO.d.cts} +0 -0
  828. /package/dist/{index-CCt0lwyI.d.mts → index-CDAfh8Ew.d.cts} +0 -0
  829. /package/dist/{index-CEDY7cmG.d.cts → index-CMuRFTR3.d.mts} +0 -0
  830. /package/dist/{index-CEqOS-7M.d.mts → index-CTBW75wG2.d.cts} +0 -0
  831. /package/dist/{index-CIBxlpQo.d.mts → index-CswGToRr2.d.mts} +0 -0
  832. /package/dist/{index-CRo77wc3.d.mts → index-D8dPsry7.d.mts} +0 -0
  833. /package/dist/{index-CsuikFeJ.d.mts → index-D9XihFV1.d.mts} +0 -0
  834. /package/dist/{index-Cz6N-KeS.d.cts → index-DBQaKYAL2.d.cts} +0 -0
  835. /package/dist/{index-D-BciAtf.d.cts → index-DFKoAoY2.d.cts} +0 -0
  836. /package/dist/{index-D26lpgQi.d.cts → index-DZlqSwCF.d.mts} +0 -0
  837. /package/dist/{index-D2HUTZ-d.d.cts → index-Dflz2i1X.d.mts} +0 -0
  838. /package/dist/{index-D4DUvwPf.d.mts → index-Dpmi5zcN.d.cts} +0 -0
  839. /package/dist/{index-DcU87nuJ2.d.cts → index-DwBYcw1r.d.cts} +0 -0
  840. /package/dist/{index-DkrC-i1D.d.mts → index-LhFpnU-f.d.mts} +0 -0
  841. /package/dist/{index-DvuJXuAN.d.mts → index-N-OgGgfF.d.mts} +0 -0
  842. /package/dist/{index-OEBbnNdr.d.mts → index-PWQavSPf.d.mts} +0 -0
  843. /package/dist/{index-QbUkWSLh.d.mts → index-_1bfRgi2.d.cts} +0 -0
@@ -0,0 +1,1408 @@
1
+ import { isFocused } from "../../lib/pseudoClass.mjs";
2
+ import "../../variables/effect.mjs";
3
+ import "../../variables/transitions.mjs";
4
+ import { i as Paragraph, o as TabularNumber } from "../../Text-hEoPeOc9.mjs";
5
+ import { t as TextUnderlineTooltip } from "../../Tooltip-CDvOu1UN.mjs";
6
+ import { Z_INDICES } from "../../lib/zindex.mjs";
7
+ import { t as HStack } from "../../Stack-ckRN7LrP.mjs";
8
+ import { n as Button, t as IconButton } from "../../IconButton-DC4rh6ow.mjs";
9
+ import { n as Sticker } from "../../Sticker-B0TbkV4o.mjs";
10
+ import { t as Checkbox } from "../../Checkbox-UWdk4pqb.mjs";
11
+ import { n as DropdownMenu_default } from "../../DropdownMenu-cN_AnKAT.mjs";
12
+ import { t as Pagination_default } from "../../Pagination-F8ofIWnG.mjs";
13
+ import { a as StickyTH, d as TableTR, f as TableTH, i as StickyTD, n as TableBody, o as TableActionTD, p as TableRow, s as TableCell, t as TableLayout, u as TableTD } from "../../Table-CGtyWI6V.mjs";
14
+ import { t as HoverCopyableField_default } from "../../HoverCopyableField-DBkYvwii.mjs";
15
+ import { t as Pii_default } from "../../Pii-B_gBVAak.mjs";
16
+ import { a as TableViewConfigurationDropdown, o as TableControls } from "../../TableControls-B2ZsNlr6.mjs";
17
+ import "./types.mjs";
18
+ import { BorderRadius, Color, Spacing } from "@persona/design-tokens";
19
+ import styled, { css } from "styled-components";
20
+ import { createElement, useCallback, useEffect, useMemo, useRef, useState } from "react";
21
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
22
+ import { ChevronDownIcon, ChevronRightIcon, ImageIcon, MoreIcon, XIcon } from "@persona/icons";
23
+ import { PlusIcon as PlusIcon$1 } from "@persona/icons/12px";
24
+ import { Link } from "react-router-dom";
25
+ import { kebabCase } from "lodash";
26
+ import { createColumnHelper, flexRender, getCoreRowModel, getFilteredRowModel, getMemoOptions, getPaginationRowModel, getSortedRowModel, memo as memo$1, useReactTable } from "@tanstack/react-table";
27
+ import { Spacing as Spacing$1 } from "@persona-id/design-tokens";
28
+ import { DateTime } from "luxon";
29
+ import startCase from "lodash/fp/startCase.js";
30
+ //#region components/DataTable/constants.ts
31
+ function getColumnWidths(compact) {
32
+ return {
33
+ EXPAND_COLUMN_WIDTH: compact ? 32 : 36,
34
+ SELECT_COLUMN_WIDTH: compact ? 32 : 40,
35
+ ACTION_COLUMN_WIDTH: compact ? 32 : 40,
36
+ NEST_SPACING: compact ? 24 : 32
37
+ };
38
+ }
39
+ //#endregion
40
+ //#region components/DataTable/FloatingActionBar.tsx
41
+ const Bar = styled.div`
42
+ display: flex;
43
+ justify-content: space-between;
44
+ align-items: center;
45
+ background-color: ${({ theme }) => theme.color.background.primary};
46
+ width: 100%;
47
+ padding: ${Spacing[2]};
48
+ border-radius: ${BorderRadius.Md};
49
+ box-shadow: ${"0px 8px 14px 0px rgba(0, 0, 0, 0.06), 0px 3px 24px 0px rgba(0, 0, 0, 0.06)"};
50
+ gap: ${Spacing[8]};
51
+ min-width: 380px;
52
+ `;
53
+ const FloatingActionBar = ({ selectedCount, onClearSelection, extraContent, actions }) => {
54
+ return /* @__PURE__ */ jsxs(Bar, { children: [/* @__PURE__ */ jsxs(HStack, {
55
+ align: "center",
56
+ children: [/* @__PURE__ */ jsx(IconButton, {
57
+ size: "sm",
58
+ onClick: onClearSelection,
59
+ "aria-label": "Clear selection",
60
+ children: /* @__PURE__ */ jsx(XIcon, {})
61
+ }), /* @__PURE__ */ jsxs(Paragraph, {
62
+ color: "primary",
63
+ children: [selectedCount, " selected"]
64
+ })]
65
+ }), /* @__PURE__ */ jsxs(HStack, {
66
+ align: "center",
67
+ spacing: Spacing[2],
68
+ children: [extraContent, actions.map((action, index) => {
69
+ const key = "label" in action ? action.label : `action-${index}`;
70
+ if ("popover" in action) {
71
+ let trigger = null;
72
+ if ("icon" in action && "aria-label" in action) trigger = /* @__PURE__ */ jsx(IconButton, {
73
+ size: "sm",
74
+ "aria-label": action["aria-label"],
75
+ children: action.icon
76
+ }, key);
77
+ else trigger = /* @__PURE__ */ jsx(Button, {
78
+ variant: action.variant || "basic",
79
+ size: "sm",
80
+ children: "label" in action ? action.label : ""
81
+ }, key);
82
+ return /* @__PURE__ */ jsx(DropdownMenu_default, {
83
+ trigger,
84
+ align: "center",
85
+ children: (action.popover?.options ?? []).map((option) => /* @__PURE__ */ jsx(DropdownMenu_default.Item, {
86
+ id: option.value,
87
+ onClick: () => action.popover.onOptionSelect(option.value),
88
+ children: option.label
89
+ }, option.value))
90
+ });
91
+ } else if ("icon" in action && "aria-label" in action) return /* @__PURE__ */ jsx(IconButton, {
92
+ size: "sm",
93
+ "aria-label": action["aria-label"],
94
+ onClick: action.onClick,
95
+ children: action.icon
96
+ }, key);
97
+ else return /* @__PURE__ */ jsx(Button, {
98
+ onClick: action.onClick,
99
+ variant: action.variant || "basic",
100
+ size: "sm",
101
+ children: "label" in action ? action.label : ""
102
+ }, key);
103
+ })]
104
+ })] });
105
+ };
106
+ //#endregion
107
+ //#region components/DataTable/helpers.tsx
108
+ const renderAsCheckbox = ({ rowId, isChecked, onChange, onValueChange, columnHeader, disabled, indeterminate }) => {
109
+ return /* @__PURE__ */ jsx(Checkbox, {
110
+ checked: isChecked,
111
+ onChange: (e) => {
112
+ onChange?.(e);
113
+ onValueChange?.(rowId, e.target.checked);
114
+ },
115
+ containerProps: { onClick: (e) => {
116
+ e.stopPropagation();
117
+ } },
118
+ "aria-label": columnHeader ? `${columnHeader} for row ${rowId}` : `Select row ${rowId}`,
119
+ indeterminate,
120
+ disabled
121
+ });
122
+ };
123
+ const renderAsCheckboxHeader = ({ header, isChecked, isIndeterminate, onChange, onValueChange }) => {
124
+ const checkbox = /* @__PURE__ */ jsx(Checkbox, {
125
+ checked: isChecked,
126
+ indeterminate: isIndeterminate,
127
+ onChange: (e) => {
128
+ onChange?.(e);
129
+ onValueChange?.(e.target.checked);
130
+ },
131
+ containerProps: { onClick: (e) => {
132
+ e.stopPropagation();
133
+ } },
134
+ "aria-label": header ? `Select all ${header}` : "Select all"
135
+ });
136
+ if (header) return /* @__PURE__ */ jsxs(HStack, {
137
+ spacing: Spacing[3],
138
+ align: "center",
139
+ children: [checkbox, /* @__PURE__ */ jsx("span", { children: header })]
140
+ });
141
+ return checkbox;
142
+ };
143
+ const DATE_FORMAT = "DD";
144
+ const DATETIME_FORMAT = "MMM d, yyyy h:mm a";
145
+ const renderAsString = (value) => {
146
+ if (value == null) return "";
147
+ return typeof value === "string" ? value : typeof value === "object" ? JSON.stringify(value, null, 2) : String(value);
148
+ };
149
+ const renderAsDate = (value, config) => {
150
+ if (value == null || typeof value !== "string") return "";
151
+ const date = DateTime.fromISO(value);
152
+ return date.isValid ? date.toFormat(config?.format ?? DATE_FORMAT) : "";
153
+ };
154
+ const renderAsDatetime = (value, config) => {
155
+ if (value == null || typeof value !== "string") return "";
156
+ const date = DateTime.fromISO(value);
157
+ return date.isValid ? date.toFormat(config?.format ?? DATETIME_FORMAT) : "";
158
+ };
159
+ const renderAsURL = (value) => {
160
+ if (value == null || typeof value !== "string" || value.length === 0) return "";
161
+ return /* @__PURE__ */ jsx("a", {
162
+ href: value,
163
+ target: "_blank",
164
+ rel: "noopener noreferrer",
165
+ children: value
166
+ });
167
+ };
168
+ const renderAsNumber = (value) => {
169
+ if (value == null) return "";
170
+ return /* @__PURE__ */ jsx(TabularNumber, { children: value });
171
+ };
172
+ const createSticker = (item, config, key) => {
173
+ const displayLabel = config?.labels?.[item] ?? item;
174
+ return /* @__PURE__ */ jsx(Sticker, {
175
+ variant: config?.colors?.[item] ?? config?.defaultColor,
176
+ children: displayLabel
177
+ }, key);
178
+ };
179
+ const renderAsSticker = (value, config) => {
180
+ if (value == null) return "";
181
+ if (Array.isArray(value)) {
182
+ if (value.length === 0) return "";
183
+ return /* @__PURE__ */ jsx("span", {
184
+ style: {
185
+ display: "flex",
186
+ flexWrap: "wrap",
187
+ gap: "4px",
188
+ alignItems: "center"
189
+ },
190
+ children: value.map((item, index) => typeof item === "string" ? createSticker(item, config, `${item}-${index}`) : null)
191
+ });
192
+ }
193
+ if (typeof value !== "string") return "";
194
+ return createSticker(value, config);
195
+ };
196
+ /** Inline monospace text — private DataTable primitive, avoids the dashboard Typography dep. */
197
+ const MonoText = styled.span`
198
+ font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
199
+ font-size: 0.875em;
200
+ `;
201
+ const WrappingText = styled.span`
202
+ display: inline-block;
203
+ max-width: 100%;
204
+ word-break: break-word;
205
+ overflow-wrap: break-word;
206
+ `;
207
+ const EmptyImageContainer = styled.div`
208
+ display: flex;
209
+ align-items: center;
210
+ justify-content: center;
211
+ border-radius: ${BorderRadius.Md};
212
+ background-color: ${({ theme }) => theme.color.background.secondary};
213
+ width: ${({ $width }) => $width ?? "200px"};
214
+ height: ${({ $height }) => $height ?? "144px"};
215
+ svg {
216
+ color: ${({ theme }) => theme.color.border.disabled};
217
+ }
218
+ `;
219
+ const LightweightImg = styled.img`
220
+ object-fit: ${({ $fit }) => $fit ?? "cover"};
221
+ display: block;
222
+ `;
223
+ const renderAsCopyableString = (value, config) => {
224
+ const valueAsString = renderAsString(value);
225
+ const content = config?.mono ? /* @__PURE__ */ jsx(MonoText, { children: valueAsString }) : valueAsString;
226
+ if (!valueAsString) return /* @__PURE__ */ jsx(Paragraph, { children: config?.emptyText ?? "" });
227
+ return /* @__PURE__ */ jsx(WrappingText, { children: config?.copyable ? /* @__PURE__ */ jsx(HoverCopyableField_default, {
228
+ copyValue: valueAsString,
229
+ children: content
230
+ }) : content });
231
+ };
232
+ const renderAsPii = (row, config) => {
233
+ if (!config || !row) return "";
234
+ const { isRedacted, piiValue, emptyText } = config;
235
+ const piiValueString = piiValue(row);
236
+ if (piiValueString == null || piiValueString.length === 0) return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Paragraph, { children: emptyText }), config.subComponent?.(row)] });
237
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Pii_default, {
238
+ isRedacted: isRedacted(row),
239
+ children: piiValueString
240
+ }), config.subComponent?.(row)] });
241
+ };
242
+ const renderAsLightweightImage = (value, config) => {
243
+ if (value == null || value === "" || Array.isArray(value) && value.length === 0) return config?.fallback ? /* @__PURE__ */ jsx(Fragment$1, { children: config.fallback }) : /* @__PURE__ */ jsx(EmptyImageContainer, {
244
+ $width: config?.width,
245
+ $height: config?.height,
246
+ "aria-label": config?.alt ?? "image",
247
+ children: /* @__PURE__ */ jsx(ImageIcon, {
248
+ size: 24,
249
+ "aria-label": "No image"
250
+ })
251
+ });
252
+ return /* @__PURE__ */ jsx(LightweightImg, {
253
+ src: typeof value === "string" ? value : "",
254
+ alt: config?.alt ?? "image",
255
+ width: config?.width ?? "200px",
256
+ height: config?.height ?? "144px",
257
+ $fit: config?.fit
258
+ });
259
+ };
260
+ /**
261
+ * Default PDS cell renderer. Handles all generic format types built into the design system.
262
+ * Hosts should supply their own `renderFormat` prop to DataTable for format types that require
263
+ * application-specific components (e.g. tags, files, PII masking, status indicators).
264
+ */
265
+ const renderAsPDSFormat = (value, format, row) => {
266
+ switch (format?.type) {
267
+ case "date": return renderAsDate(value, format.config);
268
+ case "datetime": return renderAsDatetime(value, format.config);
269
+ case "sticker": return renderAsSticker(value, format.config);
270
+ case "url": return renderAsURL(value);
271
+ case "number": return renderAsNumber(value);
272
+ case "image": return renderAsLightweightImage(value, format.config);
273
+ case "checkbox": return "";
274
+ case "id": return renderAsCopyableString(value, {
275
+ copyable: true,
276
+ mono: true,
277
+ ...format.config
278
+ });
279
+ case "pii": return renderAsPii(row, format.config);
280
+ default: return renderAsCopyableString(value, format?.config);
281
+ }
282
+ };
283
+ //#endregion
284
+ //#region components/DataTable/Inserter.tsx
285
+ const InserterTableCell = styled(TableCell)`
286
+ padding: 0 !important;
287
+ ${({ $nestSpacing }) => $nestSpacing ? `padding-left: ${$nestSpacing}px !important` : ""};
288
+ height: 0;
289
+ position: relative;
290
+ border: 0;
291
+ z-index: ${Z_INDICES.withShadow};
292
+ `;
293
+ const AddRowLine = styled.div`
294
+ position: absolute;
295
+ top: -1px;
296
+ background-color: ${({ theme }) => theme.color.primary.brand};
297
+ width: ${({ $nestSpacing }) => $nestSpacing ? `calc(100% - ${$nestSpacing}px)` : "100%"};
298
+ transition-duration: ${"200ms"};
299
+ transition-property: opacity;
300
+ transition-timing-function: ease-in;
301
+ `;
302
+ const StyledPlusButton = styled.button`
303
+ position: absolute;
304
+ top: -7px;
305
+ left: calc(50% - 8px);
306
+ border-radius: 50%;
307
+ height: 14px;
308
+ width: 14px;
309
+ background-color: ${({ theme }) => theme.color.primary.brand};
310
+ cursor: pointer;
311
+ z-index: ${Z_INDICES.withShadow};
312
+ // TODO: Add a focus style
313
+
314
+ opacity: 0;
315
+
316
+ &:hover {
317
+ opacity: 1;
318
+ }
319
+
320
+ &:hover ~ ${AddRowLine} {
321
+ opacity: 1;
322
+ height: 2px;
323
+ }
324
+ `;
325
+ const StyledTableRow = styled(TableRow)`
326
+ &${isFocused} {
327
+ box-shadow: none;
328
+ }
329
+ cursor: pointer;
330
+ &:hover > ${AddRowLine}, &:focus > ${AddRowLine} {
331
+ opacity: 1;
332
+ height: 2px;
333
+ }
334
+
335
+ &:hover > ${StyledPlusButton}, &:focus > ${StyledPlusButton} {
336
+ opacity: 1;
337
+ }
338
+ `;
339
+ const HoverArea = styled.div`
340
+ position: absolute;
341
+ height: 12px;
342
+ top: -6px;
343
+ width: ${({ $nestSpacing }) => $nestSpacing ? `calc(100% - ${$nestSpacing}px)` : "100%"};
344
+ z-index: ${Z_INDICES.withShadow};
345
+ &:hover ~ ${AddRowLine} {
346
+ opacity: 1;
347
+ height: 2px;
348
+ }
349
+
350
+ &:hover ~ ${StyledPlusButton} {
351
+ opacity: 1;
352
+ }
353
+ `;
354
+ const StyledPlusIcon = styled(PlusIcon$1)`
355
+ position: absolute;
356
+ top: 1px;
357
+ left: 1px;
358
+ `;
359
+ const Inserter = ({ priorRowLabel, colSpan, nestSpacing = 0, label, onAddRow }) => {
360
+ return /* @__PURE__ */ jsx(StyledTableRow, {
361
+ onKeyDown: (evt) => {
362
+ if (evt.key === " " || evt.key === "Enter") {
363
+ evt.preventDefault();
364
+ evt.stopPropagation();
365
+ onAddRow();
366
+ }
367
+ },
368
+ tabIndex: 0,
369
+ children: /* @__PURE__ */ jsxs(InserterTableCell, {
370
+ colSpan,
371
+ $nestSpacing: nestSpacing,
372
+ children: [
373
+ /* @__PURE__ */ jsx(HoverArea, {
374
+ $nestSpacing: nestSpacing,
375
+ role: "presentation",
376
+ "aria-label": label || `Insert a row after ${priorRowLabel}`,
377
+ onClick: onAddRow
378
+ }),
379
+ /* @__PURE__ */ jsx(StyledPlusButton, {
380
+ id: `${kebabCase(priorRowLabel)}-inserter`,
381
+ "aria-label": label || `Insert a row after ${priorRowLabel}`,
382
+ onClick: onAddRow,
383
+ type: "button",
384
+ children: /* @__PURE__ */ jsx(StyledPlusIcon, { color: Color.BackgroundButtonInverse })
385
+ }),
386
+ /* @__PURE__ */ jsx(AddRowLine, {
387
+ $nestSpacing: nestSpacing,
388
+ onClick: onAddRow
389
+ })
390
+ ]
391
+ })
392
+ });
393
+ };
394
+ //#endregion
395
+ //#region components/DataTable/useTableColumns.tsx
396
+ const ExpandButton = styled.button`
397
+ background: none;
398
+ border: none;
399
+ cursor: pointer;
400
+ display: flex;
401
+ align-items: center;
402
+ justify-content: center;
403
+ padding: 0;
404
+ margin: 0;
405
+ `;
406
+ const ExpandColumnDisabledChevron = styled(ChevronRightIcon)`
407
+ color: ${({ theme }) => theme.color.text.disabled};
408
+ `;
409
+ /** Shared wrapper so disabled chevrons and expand buttons share the same horizontal alignment. */
410
+ const ExpandColumnPlaceholder = styled.span`
411
+ display: flex;
412
+ align-items: center;
413
+ justify-content: center;
414
+ width: 100%;
415
+ `;
416
+ function useTableColumns({ columns, data, compact, sort, clientSearch, clientFiltering, expandColumnVisibility = "auto", showControls, enableRowSelection = false, enableSubRowSelection = true, rowActions, getRowId, expandedRows, toggleRowExpansion, canRowExpand, checkboxColumnStates, handleCheckboxCellChange, handleSelectAllCheckboxCell, getSelfAndNestedRowIds, handleRowSelectionWithShift, renderFormat }) {
417
+ const { EXPAND_COLUMN_WIDTH, SELECT_COLUMN_WIDTH, ACTION_COLUMN_WIDTH } = getColumnWidths(compact);
418
+ const rowActionsRef = useRef(rowActions);
419
+ rowActionsRef.current = rowActions;
420
+ const renderActionCell = useCallback((props) => {
421
+ const currentRowActions = rowActionsRef.current;
422
+ const actions = typeof currentRowActions === "function" ? currentRowActions(props.row.original) : currentRowActions;
423
+ if (!actions || actions.length === 0) return null;
424
+ return /* @__PURE__ */ jsx(DropdownMenu_default, {
425
+ trigger: /* @__PURE__ */ jsx(Button, {
426
+ id: `data-table__row-actions-button--${props.row.id}`,
427
+ variant: "text",
428
+ width: "icon",
429
+ size: "sm",
430
+ onClick: (e) => {
431
+ e.preventDefault();
432
+ e.stopPropagation();
433
+ },
434
+ "aria-label": `View actions for row ${props.row.index + 1}`,
435
+ children: /* @__PURE__ */ jsx(MoreIcon, {})
436
+ }),
437
+ portal: true,
438
+ children: actions.map(({ label, onClick, ...menuItemProps }, i) => /* @__PURE__ */ jsx(DropdownMenu_default.Item, {
439
+ id: `data-table__row-actions--${props.row.id}-${i}`,
440
+ onClick: (e) => {
441
+ e.preventDefault();
442
+ e.stopPropagation();
443
+ onClick(props.row.id);
444
+ },
445
+ ...menuItemProps,
446
+ children: label
447
+ }, label.toLowerCase().replace(/ /g, "-")))
448
+ });
449
+ }, []);
450
+ const hasRowActions = rowActions != null;
451
+ return useMemo(() => {
452
+ const columnHelper = createColumnHelper();
453
+ const tableColumns = columns.map((column) => {
454
+ if (typeof column === "object") {
455
+ const columnHelperOptions = {
456
+ header: column.header,
457
+ id: column.id || column.accessor,
458
+ sortUndefined: -1,
459
+ meta: {
460
+ align: column.align,
461
+ minWidth: column.minWidth,
462
+ width: column.width,
463
+ headerTooltip: column.headerTooltip
464
+ },
465
+ minSize: column.minWidth
466
+ };
467
+ if (column.renderCell != null) {
468
+ const renderCell = column.renderCell;
469
+ columnHelperOptions.cell = (props) => renderCell({
470
+ cellValue: props.getValue(),
471
+ row: props.row.original
472
+ });
473
+ columnHelperOptions.enableSorting = sort != null && (column.enableSorting ?? false);
474
+ } else if (column.format?.type === "checkbox") {
475
+ const columnId = column.id || column.accessor;
476
+ columnHelperOptions.header = (headerProps) => {
477
+ const columnState = checkboxColumnStates[columnId] || /* @__PURE__ */ new Set();
478
+ const allRowIds = data.flatMap((row, index) => getSelfAndNestedRowIds(row, [index]));
479
+ const isChecked = allRowIds.length > 0 && allRowIds.every((id) => columnState.has(id));
480
+ const isIndeterminate = !isChecked && allRowIds.some((id) => columnState.has(id));
481
+ if (typeof column.header === "function") return column.header(headerProps);
482
+ return renderAsCheckboxHeader({
483
+ header: column.header,
484
+ isChecked,
485
+ isIndeterminate,
486
+ onValueChange: (checked) => handleSelectAllCheckboxCell(columnId, checked)
487
+ });
488
+ };
489
+ columnHelperOptions.cell = (props) => {
490
+ const rowId = getRowId ? getRowId(props.row.original) : props.row.id;
491
+ return renderAsCheckbox({
492
+ rowId,
493
+ isChecked: (checkboxColumnStates[columnId] || /* @__PURE__ */ new Set()).has(rowId),
494
+ onValueChange: (rowId, checked) => handleCheckboxCellChange(columnId, rowId, checked),
495
+ columnHeader: typeof column.header === "string" ? column.header : void 0
496
+ });
497
+ };
498
+ columnHelperOptions.enableSorting = false;
499
+ } else {
500
+ columnHelperOptions.cell = (props) => renderFormat(props?.getValue(), column.format, props.row.original);
501
+ columnHelperOptions.enableSorting = sort != null && column.enableSorting;
502
+ }
503
+ columnHelperOptions.enableGlobalFilter = clientSearch && (column.searchable ?? true);
504
+ columnHelperOptions.enablePinning = column.pinned ?? false;
505
+ if (clientFiltering && column.filter) {
506
+ const filterConfig = column.filter;
507
+ if (filterConfig.enabled !== false) {
508
+ columnHelperOptions.enableColumnFilter = true;
509
+ if (filterConfig.filterFn) columnHelperOptions.filterFn = filterConfig.filterFn;
510
+ }
511
+ }
512
+ return columnHelper.accessor(column.accessor, columnHelperOptions);
513
+ }
514
+ return columnHelper.accessor(column, {
515
+ header: startCase(column),
516
+ enableGlobalFilter: Boolean(clientSearch),
517
+ enableSorting: sort != null
518
+ });
519
+ });
520
+ if (showControls && enableRowSelection) tableColumns.unshift(columnHelper.display({
521
+ id: "select-col",
522
+ enablePinning: true,
523
+ enableResizing: false,
524
+ size: SELECT_COLUMN_WIDTH,
525
+ meta: { width: SELECT_COLUMN_WIDTH },
526
+ header: ({ table }) => renderAsCheckboxHeader({
527
+ isChecked: table.getIsAllRowsSelected(),
528
+ isIndeterminate: table.getIsSomeRowsSelected(),
529
+ onChange: table.getToggleAllRowsSelectedHandler()
530
+ }),
531
+ cell: ({ row, table }) => renderAsCheckbox({
532
+ rowId: row.id,
533
+ isChecked: row.getIsSelected(),
534
+ onChange: (e) => handleRowSelectionWithShift(row, table, e.target.checked, e.nativeEvent instanceof MouseEvent && e.nativeEvent.shiftKey),
535
+ indeterminate: enableSubRowSelection && row.getIsSomeSelected(),
536
+ disabled: !row.getCanSelect()
537
+ })
538
+ }));
539
+ if (expandColumnVisibility === "always" || data.some(canRowExpand)) tableColumns.unshift(columnHelper.display({
540
+ id: "expand-col",
541
+ enablePinning: true,
542
+ enableResizing: false,
543
+ size: EXPAND_COLUMN_WIDTH,
544
+ meta: { width: EXPAND_COLUMN_WIDTH },
545
+ header: "",
546
+ cell: ({ row }) => {
547
+ const rowData = row.original;
548
+ if (!canRowExpand(rowData)) return /* @__PURE__ */ jsx(ExpandColumnPlaceholder, {
549
+ "aria-hidden": true,
550
+ children: /* @__PURE__ */ jsx(ExpandColumnDisabledChevron, {})
551
+ });
552
+ const rowId = getRowId ? getRowId(rowData) : row.id;
553
+ const isExpanded = expandedRows.has(rowId);
554
+ return /* @__PURE__ */ jsx(ExpandColumnPlaceholder, { children: /* @__PURE__ */ jsx(ExpandButton, {
555
+ type: "button",
556
+ id: `datatable-expand-${rowId}`,
557
+ onClick: (e) => {
558
+ e.stopPropagation();
559
+ toggleRowExpansion(rowId);
560
+ },
561
+ onKeyDown: (e) => {
562
+ if (e.key === "Enter" || e.key === " ") {
563
+ e.preventDefault();
564
+ e.stopPropagation();
565
+ toggleRowExpansion(rowId);
566
+ }
567
+ },
568
+ "aria-label": isExpanded ? `Hide details for row ${rowId}` : `View details for row ${rowId}`,
569
+ "aria-expanded": isExpanded,
570
+ children: isExpanded ? /* @__PURE__ */ jsx(ChevronDownIcon, {}) : /* @__PURE__ */ jsx(ChevronRightIcon, {})
571
+ }) });
572
+ }
573
+ }));
574
+ if (hasRowActions) {
575
+ const emptyHeader = () => /* @__PURE__ */ jsx(Fragment$1, {});
576
+ tableColumns.push(columnHelper.display({
577
+ id: "action-col",
578
+ enableResizing: false,
579
+ size: ACTION_COLUMN_WIDTH,
580
+ meta: { width: ACTION_COLUMN_WIDTH },
581
+ header: emptyHeader,
582
+ cell: renderActionCell
583
+ }));
584
+ }
585
+ return [tableColumns, columns.map((column) => {
586
+ const key = typeof column === "object" ? column.accessor : column;
587
+ return {
588
+ key,
589
+ label: typeof column === "object" ? typeof column.header === "string" ? column.header : key : startCase(column)
590
+ };
591
+ })];
592
+ }, [
593
+ columns,
594
+ enableRowSelection,
595
+ hasRowActions,
596
+ renderActionCell,
597
+ showControls,
598
+ sort,
599
+ clientSearch,
600
+ clientFiltering,
601
+ data,
602
+ canRowExpand,
603
+ expandColumnVisibility,
604
+ expandedRows,
605
+ toggleRowExpansion,
606
+ getRowId,
607
+ checkboxColumnStates,
608
+ handleCheckboxCellChange,
609
+ handleSelectAllCheckboxCell,
610
+ handleRowSelectionWithShift,
611
+ renderFormat
612
+ ]);
613
+ }
614
+ //#endregion
615
+ //#region components/DataTable/DataTable.tsx
616
+ const TableEmptyState = styled.td`
617
+ vertical-align: middle;
618
+ text-align: center;
619
+ width: 100%;
620
+ height: 176px;
621
+ `;
622
+ const StyledTableLayout = styled(TableLayout)`
623
+ ${({ $onAddRow }) => $onAddRow && css`
624
+ padding-bottom: ${Spacing$1[3]};
625
+ `}
626
+ `;
627
+ const TableContainer = styled.div`
628
+ position: relative;
629
+
630
+ ${({ $stickyHeader }) => $stickyHeader && css`
631
+ flex-grow: 1;
632
+ overflow: auto;
633
+ display: flex;
634
+ flex-direction: column;
635
+ `}
636
+ `;
637
+ const DataTableControls = styled(TableControls)``;
638
+ const DataTableContainer = styled.div`
639
+ ${({ $stickyHeader }) => $stickyHeader && css`
640
+ display: flex;
641
+ flex-direction: column;
642
+ height: 100%;
643
+ `}
644
+ `;
645
+ const StyledTableActionTD = styled(TableActionTD)`
646
+ ${({ $nestSpacing }) => css`
647
+ ${$nestSpacing && css`
648
+ position: relative;
649
+ left: ${$nestSpacing}px;
650
+ `}
651
+ `}
652
+ `;
653
+ const StyledTableTD = styled(TableTD)`
654
+ // Move the cell to the right by the amount of the nest spacing, and
655
+ // add same amount of padding to the right to not overlap with the next cell
656
+ ${({ $nestSpacing, $isFeatureCol }) => css`
657
+ ${$nestSpacing && css`
658
+ position: relative;
659
+ left: ${$nestSpacing}px;
660
+ `}
661
+ ${!$isFeatureCol && css`
662
+ padding-right: ${$nestSpacing}px;
663
+ `}
664
+ `}
665
+ `;
666
+ const DetailsTD = styled(TableTD)`
667
+ padding: 0;
668
+ border-top: none;
669
+ border-left: none;
670
+ border-right: none;
671
+ `;
672
+ const StickyDetailsTD = styled(StickyTD)`
673
+ padding: 0;
674
+ border-top: none;
675
+ border-left: none;
676
+ border-right: none;
677
+ `;
678
+ const StickyTDWithGapCoverage = styled(StickyTD)`
679
+ ${({ $gapCoverage, theme }) => $gapCoverage && css`
680
+ &::before {
681
+ content: '';
682
+ position: absolute;
683
+ top: 0;
684
+ left: ${-$gapCoverage}px;
685
+ width: ${$gapCoverage}px;
686
+ height: calc(100% + 1px); // +1px to cover the bottom border
687
+ background-color: ${theme.color.background.primary};
688
+ }
689
+ `}
690
+ `;
691
+ const FloatingActionBarContainer = styled.div`
692
+ position: absolute;
693
+ top: 0;
694
+ left: 50%;
695
+ transform: translateX(-50%);
696
+ `;
697
+ const isServerPagination = (pagination) => {
698
+ return typeof pagination === "object" && !("clientPagination" in pagination);
699
+ };
700
+ const isClientPagination = (pagination) => {
701
+ return typeof pagination === "object" && "clientPagination" in pagination;
702
+ };
703
+ const isServerSorting = (sort) => {
704
+ return typeof sort === "object";
705
+ };
706
+ const isRowWithDetails = (row) => {
707
+ return row != null && typeof row === "object" && "_details" in row && row._details != null;
708
+ };
709
+ const isRowWithSubrows = (row) => {
710
+ return row != null && typeof row === "object" && "subrows" in row && row.subrows != null;
711
+ };
712
+ const isRowWithSubrowsToAlwaysShowIds = (row) => {
713
+ return row != null && typeof row === "object" && "subrowsToAlwaysShowIds" in row && row.subrowsToAlwaysShowIds != null;
714
+ };
715
+ const isRowWithTourTarget = (row) => {
716
+ return row != null && typeof row === "object" && "dataTourTarget" in row && typeof row.dataTourTarget === "string";
717
+ };
718
+ const DISPLAYED_ROW_IDS_SEPARATOR = "";
719
+ /**
720
+ * The DataTable component is the core of Persona's table experiences.
721
+ *
722
+ * This component implements `@tanstack/react-table` and exposes a simplified, easy to use API.
723
+ *
724
+ * Planned functionality
725
+ * - Column visibility, reordering
726
+ * - Row selection
727
+ * - Cell types (e.g. links, buttons, Stickers)
728
+ *
729
+ * Client-side support
730
+ * - ✅ Sorting
731
+ * - ✅ Search (enable with clientSearch prop)
732
+ * - ✅ Pagination
733
+ * - ✅ Filtering (requires explicit filter configuration in TableControls)
734
+ *
735
+ * Server-side support
736
+ * - ✅ Sorting
737
+ * - ✅ Filtering
738
+ * - ✅ Pagination
739
+ *
740
+ * @example
741
+ * // Basic usage with client-side search
742
+ * <DataTable
743
+ * data={data}
744
+ * columns={columns}
745
+ * showControls={true}
746
+ * clientSearch={{ placeholder: "Search accounts..." }}
747
+ * />
748
+ *
749
+ * @example
750
+ * // Column-level search control
751
+ * const columns = [
752
+ * { accessor: 'id', header: 'ID', searchable: false },
753
+ * { accessor: 'name', header: 'Name' }, // searchable by default
754
+ * { accessor: 'email', header: 'Email' },
755
+ * ];
756
+ */
757
+ /** Maps a column filter-type string to the corresponding TanStack filterFn name. */
758
+ const getFilterFnName = (filterType) => {
759
+ switch (filterType) {
760
+ case "select": return "equals";
761
+ case "multiselect":
762
+ case "multiselect-alt":
763
+ case "multiselect-legacy": return "arrIncludesSome";
764
+ case "input": return "includesString";
765
+ default: return "equals";
766
+ }
767
+ };
768
+ const DataTable = ({ data, columns, detailComponent, expandColumnVisibility = "auto", showControls, controls, emptyState, isLoading, pagination, sort, sortDescFirst, enableSortingRemoval, showColumnProperties = false, onUpdateColumnProperties, enableRowSelection = false, enableSubRowSelection = true, getRowId, getRowLabel, getRowSelectable, getLinkToRow, rowLinkPrefix, rowLinkComponent, compact, disableRowHover, title, clientSearch = false, searchTerm: controlledSearchTerm, onSearchTermChange, manualFiltering, expandedRowIds: controlledExpandedRowIds, onExpandedRowsChange, clientFiltering = false, columnFilters: controlledColumnFilters, hasExternalActiveFilters = false, onColumnFiltersChange, renderFormat, rowActions, bulkActions, getAvailableBulkActions, onRowSelectionChange, onAddRow, stickyHeader = false, canAddAfterRow, onRowClick, activeRowId, onDisplayedRowIdsChange, pinnedColumnLeftOffset = 0, floatingBarContent }) => {
769
+ const DEFAULT_SEARCH_PLACEHOLDER = "Search...";
770
+ const { NEST_SPACING, EXPAND_COLUMN_WIDTH } = getColumnWidths(compact);
771
+ const [columnVisibility, setColumnVisibility] = useState(() => {
772
+ const visibility = {};
773
+ columns.forEach((column) => {
774
+ const columnId = typeof column === "object" ? column.id ?? column.accessor : column;
775
+ visibility[columnId] = typeof column === "object" ? column.visibility ?? true : true;
776
+ });
777
+ return visibility;
778
+ });
779
+ const [columnOrder, setColumnOrder] = useState([]);
780
+ const [rowSelection, setRowSelection] = useState({});
781
+ const lastSelectedRowIdRef = useRef(null);
782
+ const isSearchControlled = controlledSearchTerm != null;
783
+ const [internalSearchTerm, setInternalSearchTerm] = useState(typeof clientSearch === "object" ? clientSearch.initialValue || "" : "");
784
+ const globalFilter = isSearchControlled ? controlledSearchTerm : internalSearchTerm;
785
+ const setGlobalFilter = useCallback((value) => {
786
+ if (isSearchControlled) onSearchTermChange?.(value);
787
+ else setInternalSearchTerm(value);
788
+ }, [isSearchControlled, onSearchTermChange]);
789
+ const isColumnFiltersControlled = controlledColumnFilters != null;
790
+ const [internalColumnFilters, setInternalColumnFilters] = useState([]);
791
+ const columnFilters = isColumnFiltersControlled ? controlledColumnFilters : internalColumnFilters;
792
+ const setColumnFilters = useCallback((updater) => {
793
+ const next = typeof updater === "function" ? updater(columnFilters) : updater;
794
+ if (!isColumnFiltersControlled) setInternalColumnFilters(next);
795
+ onColumnFiltersChange?.(next);
796
+ }, [
797
+ columnFilters,
798
+ isColumnFiltersControlled,
799
+ onColumnFiltersChange
800
+ ]);
801
+ const isExpansionControlled = controlledExpandedRowIds != null;
802
+ const [internalExpandedRows, setInternalExpandedRows] = useState(/* @__PURE__ */ new Set());
803
+ const expandedRows = isExpansionControlled ? controlledExpandedRowIds : internalExpandedRows;
804
+ const setExpandedRows = useCallback((updater) => {
805
+ if (isExpansionControlled) {
806
+ const newValue = updater(expandedRows);
807
+ onExpandedRowsChange?.(newValue);
808
+ } else setInternalExpandedRows(updater);
809
+ }, [
810
+ expandedRows,
811
+ isExpansionControlled,
812
+ onExpandedRowsChange
813
+ ]);
814
+ const [checkboxColumnStates, setCheckboxColumnStates] = useState({});
815
+ const orderMap = columnOrder.reduce((acc, columnId, index) => {
816
+ acc[columnId] = index;
817
+ return acc;
818
+ }, {});
819
+ /**
820
+ * If basic client pagination is enabled, create a configuration object for client pagination.
821
+ */
822
+ if (pagination === true) pagination = {
823
+ clientPagination: true,
824
+ pageSize: 10
825
+ };
826
+ const canRowExpand = useCallback((rowData) => {
827
+ if (isRowWithSubrows(rowData)) return rowData.subrows.length > 0;
828
+ if (isRowWithDetails(rowData)) return Boolean(rowData._details);
829
+ return detailComponent != null;
830
+ }, [detailComponent]);
831
+ const initialColumnPinning = useMemo(() => {
832
+ const pinnedColumns = [];
833
+ if (columns.some((column) => typeof column === "object" && column.pinned)) {
834
+ if (expandColumnVisibility === "always" || data.some(canRowExpand)) pinnedColumns.push("expand-col");
835
+ if (showControls && enableRowSelection) pinnedColumns.push("select-col");
836
+ columns.forEach((column) => {
837
+ if (typeof column === "object" && column.pinned) pinnedColumns.push(column.accessor);
838
+ });
839
+ }
840
+ return { left: pinnedColumns };
841
+ }, [
842
+ columns,
843
+ data,
844
+ canRowExpand,
845
+ expandColumnVisibility,
846
+ showControls,
847
+ enableRowSelection
848
+ ]);
849
+ const toggleRowExpansion = useCallback((rowId) => {
850
+ setExpandedRows((prev) => {
851
+ const newSet = new Set(prev);
852
+ if (newSet.has(rowId)) newSet.delete(rowId);
853
+ else newSet.add(rowId);
854
+ return newSet;
855
+ });
856
+ }, [setExpandedRows]);
857
+ const dispatchCheckboxCellOnUpdate = useCallback((columnId, columnState) => {
858
+ const column = columns.find((col) => typeof col === "object" && col.accessor === columnId && col.format?.type === "checkbox");
859
+ if (column && typeof column === "object" && column.format?.type === "checkbox") column.format.onUpdate(Array.from(columnState));
860
+ }, [columns]);
861
+ const handleCheckboxCellChange = useCallback((columnId, rowId, checked) => {
862
+ setCheckboxColumnStates((prev) => {
863
+ const newStates = { ...prev };
864
+ if (!newStates[columnId]) newStates[columnId] = /* @__PURE__ */ new Set();
865
+ const columnState = new Set(newStates[columnId]);
866
+ if (checked) columnState.add(rowId);
867
+ else columnState.delete(rowId);
868
+ newStates[columnId] = columnState;
869
+ dispatchCheckboxCellOnUpdate(columnId, columnState);
870
+ return newStates;
871
+ });
872
+ }, [dispatchCheckboxCellOnUpdate]);
873
+ const getSelfAndNestedRowIds = useCallback((row, indexPath) => {
874
+ const rowId = getRowId ? getRowId(row) : indexPath.join(".");
875
+ if (isRowWithSubrows(row)) return [rowId, ...(row.subrows ?? []).map((subrow, subrowIndex) => getSelfAndNestedRowIds(subrow, [...indexPath, subrowIndex])).flat()];
876
+ return [rowId];
877
+ }, [getRowId]);
878
+ const handleSelectAllCheckboxCell = useCallback((columnId, checked) => {
879
+ setCheckboxColumnStates((prev) => {
880
+ const newStates = { ...prev };
881
+ let columnState;
882
+ if (checked) {
883
+ const allRowIds = data.flatMap((row, index) => getSelfAndNestedRowIds(row, [index]));
884
+ columnState = new Set(allRowIds);
885
+ } else columnState = /* @__PURE__ */ new Set();
886
+ newStates[columnId] = columnState;
887
+ dispatchCheckboxCellOnUpdate(columnId, columnState);
888
+ return newStates;
889
+ });
890
+ }, [
891
+ data,
892
+ getRowId,
893
+ dispatchCheckboxCellOnUpdate
894
+ ]);
895
+ const tableOptions = useMemo(() => {
896
+ const options = {};
897
+ if (isClientPagination(pagination)) {
898
+ options.getPaginationRowModel = getPaginationRowModel();
899
+ options.initialState = { pagination: { pageSize: pagination.pageSize } };
900
+ } else if (isServerPagination(pagination)) {
901
+ const currentPage = pagination.paginationParams?.["current-page"] || 1;
902
+ const pageSize = pagination.pageSize || 10;
903
+ options.manualPagination = true;
904
+ options.onPaginationChange = (updaterOrValue) => {
905
+ const oldPageSize = pageSize;
906
+ const oldPageIndex = currentPage - 1;
907
+ if (typeof updaterOrValue === "function") {
908
+ const newPaginationState = updaterOrValue({
909
+ pageSize,
910
+ pageIndex: currentPage - 1
911
+ });
912
+ if (newPaginationState.pageSize !== oldPageSize) pagination.handlePageSizeClick(newPaginationState.pageSize);
913
+ if (newPaginationState.pageIndex !== oldPageIndex) pagination.handlePageLinkClick(newPaginationState.pageIndex + 1);
914
+ }
915
+ };
916
+ options.state = { pagination: {
917
+ pageSize,
918
+ pageIndex: currentPage - 1
919
+ } };
920
+ options.rowCount = pagination?.paginationParams?.["total-count"];
921
+ options.pageCount = pagination?.paginationParams?.["total-pages"];
922
+ }
923
+ if (sort === true) {
924
+ options.getSortedRowModel = getSortedRowModel();
925
+ options.enableSorting = true;
926
+ } else if (isServerSorting(sort)) {
927
+ options.manualSorting = true;
928
+ options.enableSorting = true;
929
+ options.onSortingChange = (updaterOrValue) => {
930
+ if (typeof updaterOrValue === "function") {
931
+ const newSortingState = updaterOrValue(sort.state);
932
+ sort.handleSortClick(newSortingState);
933
+ }
934
+ };
935
+ options.state = {
936
+ ...options.state ? options.state : {},
937
+ sorting: sort.state
938
+ };
939
+ } else options.enableSorting = false;
940
+ if (showControls && enableRowSelection) {
941
+ options.enableRowSelection = getRowSelectable ? (row) => getRowSelectable(row.original) : true;
942
+ options.onRowSelectionChange = setRowSelection;
943
+ }
944
+ if (!enableSubRowSelection) options.enableSubRowSelection = false;
945
+ if (clientSearch) {
946
+ if (manualFiltering) options.manualFiltering = true;
947
+ else {
948
+ options.getFilteredRowModel = getFilteredRowModel();
949
+ options.globalFilterFn = "includesString";
950
+ }
951
+ options.onGlobalFilterChange = setGlobalFilter;
952
+ }
953
+ if (clientFiltering) {
954
+ options.getFilteredRowModel = getFilteredRowModel();
955
+ options.onColumnFiltersChange = setColumnFilters;
956
+ }
957
+ const columnOptionsVisibility = {};
958
+ columns.forEach((column) => {
959
+ const columnId = typeof column === "object" ? column.id || column.accessor : column;
960
+ if (typeof column === "object" && "visibility" in column && column.visibility != null) columnOptionsVisibility[columnId] = column.visibility;
961
+ else columnOptionsVisibility[columnId] = columnVisibility[columnId] ?? true;
962
+ });
963
+ options.state = {
964
+ ...options.state,
965
+ columnVisibility: columnOptionsVisibility
966
+ };
967
+ const expandedState = {};
968
+ for (const rowId of expandedRows) expandedState[rowId] = true;
969
+ options.state = {
970
+ ...options.state,
971
+ columnOrder,
972
+ rowSelection,
973
+ columnPinning: initialColumnPinning,
974
+ expanded: expandedState,
975
+ ...clientSearch && { globalFilter },
976
+ ...clientFiltering && { columnFilters }
977
+ };
978
+ options.onColumnVisibilityChange = setColumnVisibility;
979
+ options.onColumnOrderChange = setColumnOrder;
980
+ options.enableSortingRemoval = enableSortingRemoval;
981
+ options.sortDescFirst = sortDescFirst;
982
+ options.enableColumnPinning = initialColumnPinning.left && initialColumnPinning.left.length > 0;
983
+ return options;
984
+ }, [
985
+ pagination,
986
+ columnVisibility,
987
+ columnOrder,
988
+ enableRowSelection,
989
+ enableSubRowSelection,
990
+ rowSelection,
991
+ showControls,
992
+ sort,
993
+ enableSortingRemoval,
994
+ sortDescFirst,
995
+ clientSearch,
996
+ globalFilter,
997
+ clientFiltering,
998
+ columnFilters,
999
+ columns,
1000
+ initialColumnPinning,
1001
+ expandedRows
1002
+ ]);
1003
+ const handleRowSelectionWithShift = useCallback((clickedRow, table, checked, isShiftKey) => {
1004
+ const displayedRows = table.getRowModel().rows;
1005
+ const currentIndex = displayedRows.findIndex((r) => r.id === clickedRow.id);
1006
+ const lastSelectedRowId = lastSelectedRowIdRef.current;
1007
+ const lastIndex = lastSelectedRowId != null ? displayedRows.findIndex((r) => r.id === lastSelectedRowId) : -1;
1008
+ if (isShiftKey && lastIndex !== -1 && currentIndex !== -1) {
1009
+ const startIndex = Math.min(lastIndex, currentIndex);
1010
+ const endIndex = Math.max(lastIndex, currentIndex);
1011
+ displayedRows.slice(startIndex, endIndex + 1).forEach((rangeRow) => {
1012
+ if (rangeRow.getCanSelect()) rangeRow.toggleSelected(checked);
1013
+ });
1014
+ } else clickedRow.toggleSelected(checked);
1015
+ lastSelectedRowIdRef.current = clickedRow.id;
1016
+ }, []);
1017
+ const [tableColumns, columnOptions] = useTableColumns({
1018
+ columns: useMemo(() => {
1019
+ if (!clientFiltering) return columns;
1020
+ return columns.map((column) => {
1021
+ if (typeof column === "object" && column.filter != null && typeof column.filter === "object" && "type" in column.filter && typeof column.filter.type === "string") {
1022
+ const filterType = column.filter.type;
1023
+ return {
1024
+ ...column,
1025
+ filter: {
1026
+ ...column.filter,
1027
+ filterFn: getFilterFnName(filterType)
1028
+ }
1029
+ };
1030
+ }
1031
+ return column;
1032
+ });
1033
+ }, [columns, clientFiltering]),
1034
+ data,
1035
+ compact,
1036
+ sort,
1037
+ clientSearch,
1038
+ clientFiltering,
1039
+ expandColumnVisibility,
1040
+ showControls,
1041
+ enableRowSelection,
1042
+ enableSubRowSelection,
1043
+ rowActions,
1044
+ getRowId,
1045
+ expandedRows,
1046
+ toggleRowExpansion,
1047
+ canRowExpand,
1048
+ checkboxColumnStates,
1049
+ handleCheckboxCellChange,
1050
+ handleSelectAllCheckboxCell,
1051
+ getSelfAndNestedRowIds,
1052
+ handleRowSelectionWithShift,
1053
+ renderFormat: renderFormat ?? renderAsPDSFormat
1054
+ });
1055
+ const expandRowsCustom = useCallback((rowModel) => {
1056
+ const expandedRows = [];
1057
+ const handleRow = (row) => {
1058
+ expandedRows.push(row);
1059
+ if (row.subRows?.length && row.getIsExpanded()) row.subRows.forEach(handleRow);
1060
+ else if (isRowWithSubrowsToAlwaysShowIds(row.original)) row.subRows.filter((subrow) => row.original.subrowsToAlwaysShowIds.includes(subrow.id)).forEach(handleRow);
1061
+ };
1062
+ rowModel.rows.forEach(handleRow);
1063
+ return {
1064
+ rows: expandedRows,
1065
+ flatRows: rowModel.flatRows,
1066
+ rowsById: rowModel.rowsById
1067
+ };
1068
+ }, []);
1069
+ function getExpandedRowModelCustom() {
1070
+ return (table) => memo$1(() => [
1071
+ table.getState().expanded,
1072
+ table.getPreExpandedRowModel(),
1073
+ table.options.paginateExpandedRows
1074
+ ], (expanded, rowModel, paginateExpandedRows) => {
1075
+ if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded ?? {}).length) return expandRowsCustom(rowModel);
1076
+ if (!paginateExpandedRows) return rowModel;
1077
+ return expandRowsCustom(rowModel);
1078
+ }, getMemoOptions(table.options, "debugTable", "getExpandedRowModel"));
1079
+ }
1080
+ const table = useReactTable({
1081
+ data,
1082
+ columns: tableColumns,
1083
+ getSubRows: (row) => isRowWithSubrows(row) ? row.subrows : [],
1084
+ getCoreRowModel: getCoreRowModel(),
1085
+ getExpandedRowModel: getExpandedRowModelCustom(),
1086
+ getRowId,
1087
+ ...tableOptions
1088
+ });
1089
+ const tableHeaderGroup = table.getHeaderGroups()[0];
1090
+ const unprocessedRows = table.getCoreRowModel().rows;
1091
+ const rows = table.getRowModel().rows;
1092
+ const displayedRowIdsKey = rows.map((row) => row.id).join(DISPLAYED_ROW_IDS_SEPARATOR);
1093
+ useEffect(() => {
1094
+ onDisplayedRowIdsChange?.(displayedRowIdsKey ? displayedRowIdsKey.split(DISPLAYED_ROW_IDS_SEPARATOR) : []);
1095
+ }, [displayedRowIdsKey, onDisplayedRowIdsChange]);
1096
+ useEffect(() => {
1097
+ const states = {};
1098
+ const checkboxColumns = columns.filter((column) => typeof column === "object" && column.format?.type === "checkbox");
1099
+ for (const column of checkboxColumns) {
1100
+ const columnId = column.id || column.accessor;
1101
+ const checkedRowIds = /* @__PURE__ */ new Set();
1102
+ const getSelfAndNestedRows = (row) => [row, ...row.subRows.map(getSelfAndNestedRows).flat()];
1103
+ const rootAndNestedRows = unprocessedRows.flatMap(getSelfAndNestedRows);
1104
+ for (const row of rootAndNestedRows) {
1105
+ const rowId = row.id;
1106
+ if (row.original[column.accessor]) checkedRowIds.add(rowId);
1107
+ }
1108
+ states[columnId] = checkedRowIds;
1109
+ }
1110
+ setCheckboxColumnStates(states);
1111
+ }, [unprocessedRows, columns]);
1112
+ const generatedSearchProps = clientSearch ? {
1113
+ value: globalFilter,
1114
+ handleInput: setGlobalFilter,
1115
+ placeholder: typeof clientSearch === "object" ? clientSearch.placeholder || DEFAULT_SEARCH_PLACEHOLDER : DEFAULT_SEARCH_PLACEHOLDER,
1116
+ ...typeof clientSearch === "object" && clientSearch
1117
+ } : void 0;
1118
+ const getCommonPinningStyles = useCallback((column) => {
1119
+ const isPinned = column.getIsPinned();
1120
+ const isLastPinned = isPinned === "left" && column.getIsLastColumn("left");
1121
+ return {
1122
+ left: isPinned === "left" ? `${column.getStart("left") + pinnedColumnLeftOffset}px` : void 0,
1123
+ position: isPinned ? "sticky" : "relative",
1124
+ hasRightBorder: isLastPinned
1125
+ };
1126
+ }, [pinnedColumnLeftOffset]);
1127
+ /**
1128
+ * Check if the column is a table feature column.
1129
+ * Feature columns are special columns set by the table to
1130
+ * allow a user to perform an action.
1131
+ */
1132
+ const isFeatureCol = (columnId) => {
1133
+ return [
1134
+ "select-col",
1135
+ "expand-col",
1136
+ "action-col"
1137
+ ].includes(columnId);
1138
+ };
1139
+ const selectedRows = table.getFilteredSelectedRowModel().flatRows;
1140
+ useEffect(() => {
1141
+ onRowSelectionChange?.(selectedRows.map((row) => row.original));
1142
+ }, [selectedRows, onRowSelectionChange]);
1143
+ const actions = useMemo(() => {
1144
+ return (getAvailableBulkActions ? getAvailableBulkActions(selectedRows.map((row) => row.original)) : bulkActions || controls?.bulkActions)?.map((action) => {
1145
+ const clearSelection = () => table.setRowSelection({});
1146
+ const baseAction = {
1147
+ ...action,
1148
+ onClick: async () => {
1149
+ await action.onClick(selectedRows.map((row) => row.id), clearSelection);
1150
+ }
1151
+ };
1152
+ if ("popover" in action && action.popover) {
1153
+ const popoverConfig = action.popover;
1154
+ return {
1155
+ ...baseAction,
1156
+ popover: {
1157
+ options: popoverConfig.options,
1158
+ onOptionSelect: async (option) => {
1159
+ await popoverConfig.onOptionSelect(option, selectedRows.map((row) => row.id));
1160
+ table.setRowSelection({});
1161
+ }
1162
+ }
1163
+ };
1164
+ }
1165
+ return baseAction;
1166
+ });
1167
+ }, [
1168
+ bulkActions,
1169
+ getAvailableBulkActions,
1170
+ selectedRows,
1171
+ table,
1172
+ controls?.bulkActions
1173
+ ]);
1174
+ const shouldShowFloatingActionBar = compact && actions && actions.length > 0 && selectedRows.length > 0;
1175
+ const hasGlobalFilter = clientSearch && globalFilter && globalFilter.trim().length > 0;
1176
+ const hasFilters = columnFilters.length > 0;
1177
+ const hasActiveFilters = hasGlobalFilter || hasFilters || hasExternalActiveFilters;
1178
+ return /* @__PURE__ */ jsxs(DataTableContainer, {
1179
+ $stickyHeader: stickyHeader,
1180
+ children: [
1181
+ showControls && /* @__PURE__ */ jsx(DataTableControls, {
1182
+ compact,
1183
+ title,
1184
+ propertiesButton: showColumnProperties && /* @__PURE__ */ jsx(TableViewConfigurationDropdown, {
1185
+ disabled: false,
1186
+ columnConfiguration: table.getVisibleFlatColumns().filter((column) => !isFeatureCol(column.columnDef.id ?? "")).map((column) => ({
1187
+ key: column.id,
1188
+ label: column.columnDef.header?.toString() || column.id
1189
+ })).sort((a, b) => {
1190
+ return (orderMap[a.key] || 0) - (orderMap[b.key] || 0);
1191
+ }),
1192
+ attributeOptions: columnOptions,
1193
+ updateColumnConfiguration: (newConfiguration) => {
1194
+ table.getAllColumns().map((column) => {
1195
+ column.toggleVisibility(!!newConfiguration.find((c) => c.key === column.id));
1196
+ });
1197
+ setColumnOrder(newConfiguration.map((c) => c.key));
1198
+ if (onUpdateColumnProperties) onUpdateColumnProperties(newConfiguration);
1199
+ },
1200
+ size: compact ? "sm" : void 0,
1201
+ variant: compact ? "text" : "basic"
1202
+ }),
1203
+ selectedRows: table.getFilteredSelectedRowModel().flatRows.map((row) => row.id),
1204
+ onClearSelection: () => table.setRowSelection({}),
1205
+ searchProps: generatedSearchProps,
1206
+ ...controls,
1207
+ bulkActions: actions
1208
+ }),
1209
+ /* @__PURE__ */ jsxs(TableContainer, {
1210
+ $stickyHeader: stickyHeader,
1211
+ children: [/* @__PURE__ */ jsx(StyledTableLayout, {
1212
+ $onAddRow: !!onAddRow,
1213
+ stickyHeader,
1214
+ headerTR: /* @__PURE__ */ jsx(Fragment$1, { children: tableHeaderGroup.headers.map((header) => {
1215
+ const pinningStyles = getCommonPinningStyles(header.column);
1216
+ const isPinned = pinningStyles.position === "sticky";
1217
+ const width = header.column.columnDef.meta?.width ? `${header.column.columnDef.meta?.width}px` : void 0;
1218
+ const minWidth = header.column.columnDef.meta?.minWidth ? `${header.column.columnDef.meta?.minWidth}px` : width ?? `${header.column.getSize()}px`;
1219
+ const thProps = {
1220
+ id: header.id,
1221
+ sortable: isFeatureCol(header.id) ? false : header.column.getCanSort(),
1222
+ onClick: isFeatureCol(header.id) ? void 0 : header.column.getToggleSortingHandler(),
1223
+ sortDirection: isFeatureCol(header.id) ? void 0 : header.column.getIsSorted(),
1224
+ colSpan: header.colSpan,
1225
+ align: header.column.columnDef.meta?.align,
1226
+ width: header.column.columnDef.meta?.width ? `${header.column.columnDef.meta?.width}px` : void 0,
1227
+ size: compact ? "sm" : "md",
1228
+ style: { minWidth }
1229
+ };
1230
+ if (isPinned) return /* @__PURE__ */ createElement(StickyTH, {
1231
+ ...thProps,
1232
+ key: header.id,
1233
+ left: pinningStyles.left ? parseInt(pinningStyles.left) : 0,
1234
+ hasRightBorder: pinningStyles.hasRightBorder
1235
+ }, flexRender(header.column.columnDef.header, header.getContext()));
1236
+ return /* @__PURE__ */ createElement(TableTH, {
1237
+ ...thProps,
1238
+ key: header.id
1239
+ }, header.column.columnDef.meta?.headerTooltip ? /* @__PURE__ */ jsx(TextUnderlineTooltip, {
1240
+ side: "top",
1241
+ tooltip: header.column.columnDef.meta.headerTooltip,
1242
+ zIndex: Z_INDICES.topNavTooltip,
1243
+ children: flexRender(header.column.columnDef.header, header.getContext())
1244
+ }) : flexRender(header.column.columnDef.header, header.getContext()));
1245
+ }) }),
1246
+ nullState: /* @__PURE__ */ jsx("p", { children: "No results found." }),
1247
+ isLoading,
1248
+ size: compact ? "sm" : void 0,
1249
+ children: /* @__PURE__ */ jsx(TableBody, { children: columns.length === 0 ? /* @__PURE__ */ jsx(TableTR, {
1250
+ disableHoverBackground: true,
1251
+ children: /* @__PURE__ */ jsx(TableEmptyState, {
1252
+ colSpan: 1,
1253
+ children: /* @__PURE__ */ jsx(Paragraph, {
1254
+ size: "lg",
1255
+ weight: "bold",
1256
+ color: "primary",
1257
+ children: "No columns configured"
1258
+ })
1259
+ })
1260
+ }) : rows.length === 0 ? /* @__PURE__ */ jsx(TableTR, {
1261
+ disableHoverBackground: true,
1262
+ children: /* @__PURE__ */ jsxs(TableEmptyState, {
1263
+ colSpan: tableHeaderGroup.headers.length,
1264
+ children: [/* @__PURE__ */ jsx(Paragraph, {
1265
+ size: "lg",
1266
+ weight: "bold",
1267
+ color: "primary",
1268
+ children: emptyState?.title || (hasActiveFilters ? "No results found. Try changing your filters." : "No results found.")
1269
+ }), emptyState?.description && /* @__PURE__ */ jsx(Paragraph, {
1270
+ size: "md",
1271
+ color: "secondary",
1272
+ children: emptyState.description
1273
+ })]
1274
+ })
1275
+ }) : rows.map((row) => {
1276
+ const rowData = row.original;
1277
+ const rowId = getRowId ? getRowId(rowData) : row.id;
1278
+ const rowLabel = getRowLabel?.(rowData);
1279
+ const isExpanded = expandedRows.has(rowId);
1280
+ const canExpand = canRowExpand(rowData);
1281
+ const dynamicNestSpacing = showControls && enableRowSelection ? NEST_SPACING + 8 : NEST_SPACING;
1282
+ let leftMostNonSpecialColumnFound = false;
1283
+ const rowElements = row.getVisibleCells().map((cell) => {
1284
+ const pinningStyles = getCommonPinningStyles(cell.column);
1285
+ const isPinned = pinningStyles.position === "sticky";
1286
+ if (cell.column.id === "action-col") return /* @__PURE__ */ jsx(StyledTableActionTD, {
1287
+ style: { textAlign: cell.column.columnDef.meta?.align },
1288
+ $nestSpacing: row.depth * dynamicNestSpacing,
1289
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
1290
+ }, cell.id);
1291
+ if (isPinned) {
1292
+ const leftBumpFromNesting = !leftMostNonSpecialColumnFound ? row.depth * dynamicNestSpacing : 0;
1293
+ const width = cell.column.columnDef.meta?.width ? `${cell.column.columnDef.meta?.width}px` : void 0;
1294
+ const minWidth = cell.column.columnDef.meta?.minWidth ? `${cell.column.columnDef.meta?.minWidth}px` : width ?? `${cell.column.getSize()}px`;
1295
+ const stickyTableCell = cell.column.id === "expand-col" ? /* @__PURE__ */ jsx(StickyTDWithGapCoverage, {
1296
+ left: (pinningStyles.left ? parseInt(pinningStyles.left) : 0) + leftBumpFromNesting,
1297
+ style: {
1298
+ minWidth,
1299
+ textAlign: cell.column.columnDef.meta?.align
1300
+ },
1301
+ hasRightBorder: pinningStyles.hasRightBorder,
1302
+ $gapCoverage: leftBumpFromNesting,
1303
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
1304
+ }, cell.id) : /* @__PURE__ */ jsx(StickyTD, {
1305
+ left: (pinningStyles.left ? parseInt(pinningStyles.left) : 0) + leftBumpFromNesting,
1306
+ style: {
1307
+ minWidth,
1308
+ textAlign: cell.column.columnDef.meta?.align
1309
+ },
1310
+ hasRightBorder: pinningStyles.hasRightBorder,
1311
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
1312
+ }, cell.id);
1313
+ if (!leftMostNonSpecialColumnFound && !isFeatureCol(cell.column.id)) leftMostNonSpecialColumnFound = true;
1314
+ return stickyTableCell;
1315
+ }
1316
+ const tableCell = /* @__PURE__ */ jsx(StyledTableTD, {
1317
+ style: { textAlign: cell.column.columnDef.meta?.align },
1318
+ width: isFeatureCol(cell.column.id) ? "1%" : void 0,
1319
+ $nestSpacing: leftMostNonSpecialColumnFound ? void 0 : row.depth * dynamicNestSpacing,
1320
+ $isFeatureCol: isFeatureCol(cell.column.id),
1321
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
1322
+ }, cell.id);
1323
+ if (!leftMostNonSpecialColumnFound && !isFeatureCol(cell.column.id)) leftMostNonSpecialColumnFound = true;
1324
+ return tableCell;
1325
+ });
1326
+ const isRowActive = rowId === activeRowId;
1327
+ const handleRowClick = onRowClick != null ? () => {
1328
+ onRowClick(rowId);
1329
+ } : canExpand ? () => {
1330
+ toggleRowExpansion(rowId);
1331
+ } : void 0;
1332
+ const rowProps = {
1333
+ key: rowId,
1334
+ "aria-label": rowLabel,
1335
+ onClick: handleRowClick,
1336
+ $isActive: isRowActive,
1337
+ disableHoverBackground: disableRowHover,
1338
+ css: { cursor: handleRowClick ? "pointer" : void 0 },
1339
+ ...isRowWithTourTarget(row.original) && { "data-tour-target": row.original.dataTourTarget }
1340
+ };
1341
+ const RowLinkComponent = rowLinkComponent ?? Link;
1342
+ const elements = [getLinkToRow || rowLinkPrefix ? /* @__PURE__ */ jsx(TableTR, {
1343
+ ...rowProps,
1344
+ as: RowLinkComponent,
1345
+ to: getLinkToRow ? getLinkToRow(row.original) : `${rowLinkPrefix}/${rowId}`,
1346
+ children: rowElements
1347
+ }) : /* @__PURE__ */ jsx(TableTR, {
1348
+ ...rowProps,
1349
+ children: rowElements
1350
+ })];
1351
+ if (canExpand && isExpanded) {
1352
+ let detailContent = null;
1353
+ if (isRowWithDetails(rowData) && rowData._details) if (typeof rowData._details === "function") detailContent = rowData._details(rowData);
1354
+ else detailContent = rowData._details;
1355
+ else if (detailComponent) detailContent = /* @__PURE__ */ jsx(detailComponent, { rowData });
1356
+ if (detailContent) {
1357
+ const detailCells = initialColumnPinning?.left?.length ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(StickyTD, {
1358
+ colSpan: 1,
1359
+ left: pinnedColumnLeftOffset
1360
+ }), /* @__PURE__ */ jsx(StickyDetailsTD, {
1361
+ colSpan: tableHeaderGroup.headers.length - 1,
1362
+ left: EXPAND_COLUMN_WIDTH + pinnedColumnLeftOffset,
1363
+ children: detailContent
1364
+ })] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(TableTD, { colSpan: 1 }), /* @__PURE__ */ jsx(DetailsTD, {
1365
+ colSpan: tableHeaderGroup.headers.length - 1,
1366
+ children: detailContent
1367
+ })] });
1368
+ elements.push(/* @__PURE__ */ jsx(TableTR, {
1369
+ disableHoverBackground: true,
1370
+ children: detailCells
1371
+ }, `${row.id}-details`));
1372
+ }
1373
+ }
1374
+ if (onAddRow && (!canAddAfterRow || canAddAfterRow?.(rowData, row.getIsExpanded() && isRowWithSubrows(rowData)))) elements.push(/* @__PURE__ */ jsx(Inserter, {
1375
+ priorRowLabel: `Row ${rowId}`,
1376
+ colSpan: tableHeaderGroup.headers.length,
1377
+ onAddRow: () => onAddRow(rowId, row.getIsExpanded() && isRowWithSubrows(rowData)),
1378
+ nestSpacing: row.depth * dynamicNestSpacing
1379
+ }, `${rowId}-inserter`));
1380
+ return elements;
1381
+ }) })
1382
+ }), shouldShowFloatingActionBar && actions && /* @__PURE__ */ jsx(FloatingActionBarContainer, { children: /* @__PURE__ */ jsx(FloatingActionBar, {
1383
+ selectedCount: selectedRows.length,
1384
+ onClearSelection: () => table.setRowSelection({}),
1385
+ actions,
1386
+ extraContent: floatingBarContent
1387
+ }) })]
1388
+ }),
1389
+ pagination && data.length > 0 && /* @__PURE__ */ jsx(Pagination_default, {
1390
+ pageSize: table.getState().pagination.pageSize,
1391
+ pageSizeOptions: typeof pagination === "object" ? pagination.pageSizeOptions : void 0,
1392
+ showPageSizeSelector: isServerPagination(pagination) ? pagination.showPageSizeSelector : void 0,
1393
+ paginationParams: {
1394
+ "current-page": table.getState().pagination.pageIndex + 1,
1395
+ "total-count": table.getRowCount(),
1396
+ "total-pages": table.getPageCount()
1397
+ },
1398
+ handlePageLinkClick: (pageNumber) => table.setPageIndex(pageNumber - 1),
1399
+ handlePageSizeClick: table.setPageSize,
1400
+ onPageChange: isServerPagination(pagination) ? pagination.onPageChange : void 0
1401
+ })
1402
+ ]
1403
+ });
1404
+ };
1405
+ //#endregion
1406
+ export { DataTable, DataTable as default, DataTableContainer, DataTableControls, FloatingActionBar, FloatingActionBarContainer, Inserter, getColumnWidths, renderAsCheckbox, renderAsCheckboxHeader, renderAsCopyableString, renderAsDate, renderAsDatetime, renderAsLightweightImage, renderAsNumber, renderAsPDSFormat, renderAsPii, renderAsSticker, renderAsString, renderAsURL, useTableColumns };
1407
+
1408
+ //# sourceMappingURL=index.mjs.map