@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,1435 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_chunk = require("../../chunk-CKQMccvm.cjs");
6
+ const require_lib_pseudoClass = require("../../lib/pseudoClass.cjs");
7
+ require("../../variables/effect.cjs");
8
+ require("../../variables/transitions.cjs");
9
+ const require_Text = require("../../Text-CzN0DOXV.cjs");
10
+ const require_Tooltip = require("../../Tooltip-vylydKVv.cjs");
11
+ const require_lib_zindex = require("../../lib/zindex.cjs");
12
+ const require_Stack = require("../../Stack-BF-9YjA1.cjs");
13
+ const require_IconButton = require("../../IconButton-DNy7g5zh.cjs");
14
+ const require_Sticker = require("../../Sticker-D0jIU2Dt.cjs");
15
+ const require_Checkbox = require("../../Checkbox-B83WfsOZ.cjs");
16
+ const require_DropdownMenu = require("../../DropdownMenu-CeqZAxjs.cjs");
17
+ const require_Pagination = require("../../Pagination-DEZFb552.cjs");
18
+ const require_Table = require("../../Table-B3FJsvXP.cjs");
19
+ const require_HoverCopyableField = require("../../HoverCopyableField-DyW2iZuo.cjs");
20
+ const require_Pii = require("../../Pii--c8IxKI0.cjs");
21
+ const require_TableControls = require("../../TableControls-B7QEAzru.cjs");
22
+ require("./types.cjs");
23
+ let _persona_design_tokens = require("@persona/design-tokens");
24
+ let styled_components = require("styled-components");
25
+ styled_components = require_chunk.__toESM(styled_components);
26
+ let react = require("react");
27
+ let react_jsx_runtime = require("react/jsx-runtime");
28
+ let _persona_icons = require("@persona/icons");
29
+ let _persona_icons_12px = require("@persona/icons/12px");
30
+ let react_router_dom = require("react-router-dom");
31
+ let lodash = require("lodash");
32
+ let _tanstack_react_table = require("@tanstack/react-table");
33
+ let _persona_id_design_tokens = require("@persona-id/design-tokens");
34
+ let luxon = require("luxon");
35
+ let lodash_fp_startCase_js = require("lodash/fp/startCase.js");
36
+ lodash_fp_startCase_js = require_chunk.__toESM(lodash_fp_startCase_js);
37
+ //#region components/DataTable/constants.ts
38
+ function getColumnWidths(compact) {
39
+ return {
40
+ EXPAND_COLUMN_WIDTH: compact ? 32 : 36,
41
+ SELECT_COLUMN_WIDTH: compact ? 32 : 40,
42
+ ACTION_COLUMN_WIDTH: compact ? 32 : 40,
43
+ NEST_SPACING: compact ? 24 : 32
44
+ };
45
+ }
46
+ //#endregion
47
+ //#region components/DataTable/FloatingActionBar.tsx
48
+ const Bar = styled_components.default.div`
49
+ display: flex;
50
+ justify-content: space-between;
51
+ align-items: center;
52
+ background-color: ${({ theme }) => theme.color.background.primary};
53
+ width: 100%;
54
+ padding: ${_persona_design_tokens.Spacing[2]};
55
+ border-radius: ${_persona_design_tokens.BorderRadius.Md};
56
+ box-shadow: ${"0px 8px 14px 0px rgba(0, 0, 0, 0.06), 0px 3px 24px 0px rgba(0, 0, 0, 0.06)"};
57
+ gap: ${_persona_design_tokens.Spacing[8]};
58
+ min-width: 380px;
59
+ `;
60
+ const FloatingActionBar = ({ selectedCount, onClearSelection, extraContent, actions }) => {
61
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Bar, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.HStack, {
62
+ align: "center",
63
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.IconButton, {
64
+ size: "sm",
65
+ onClick: onClearSelection,
66
+ "aria-label": "Clear selection",
67
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.XIcon, {})
68
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Text.Paragraph, {
69
+ color: "primary",
70
+ children: [selectedCount, " selected"]
71
+ })]
72
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.HStack, {
73
+ align: "center",
74
+ spacing: _persona_design_tokens.Spacing[2],
75
+ children: [extraContent, actions.map((action, index) => {
76
+ const key = "label" in action ? action.label : `action-${index}`;
77
+ if ("popover" in action) {
78
+ let trigger = null;
79
+ if ("icon" in action && "aria-label" in action) trigger = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.IconButton, {
80
+ size: "sm",
81
+ "aria-label": action["aria-label"],
82
+ children: action.icon
83
+ }, key);
84
+ else trigger = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.Button, {
85
+ variant: action.variant || "basic",
86
+ size: "sm",
87
+ children: "label" in action ? action.label : ""
88
+ }, key);
89
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DropdownMenu.DropdownMenu_default, {
90
+ trigger,
91
+ align: "center",
92
+ children: (action.popover?.options ?? []).map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DropdownMenu.DropdownMenu_default.Item, {
93
+ id: option.value,
94
+ onClick: () => action.popover.onOptionSelect(option.value),
95
+ children: option.label
96
+ }, option.value))
97
+ });
98
+ } else if ("icon" in action && "aria-label" in action) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.IconButton, {
99
+ size: "sm",
100
+ "aria-label": action["aria-label"],
101
+ onClick: action.onClick,
102
+ children: action.icon
103
+ }, key);
104
+ else return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.Button, {
105
+ onClick: action.onClick,
106
+ variant: action.variant || "basic",
107
+ size: "sm",
108
+ children: "label" in action ? action.label : ""
109
+ }, key);
110
+ })]
111
+ })] });
112
+ };
113
+ //#endregion
114
+ //#region components/DataTable/helpers.tsx
115
+ const renderAsCheckbox = ({ rowId, isChecked, onChange, onValueChange, columnHeader, disabled, indeterminate }) => {
116
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Checkbox.Checkbox, {
117
+ checked: isChecked,
118
+ onChange: (e) => {
119
+ onChange?.(e);
120
+ onValueChange?.(rowId, e.target.checked);
121
+ },
122
+ containerProps: { onClick: (e) => {
123
+ e.stopPropagation();
124
+ } },
125
+ "aria-label": columnHeader ? `${columnHeader} for row ${rowId}` : `Select row ${rowId}`,
126
+ indeterminate,
127
+ disabled
128
+ });
129
+ };
130
+ const renderAsCheckboxHeader = ({ header, isChecked, isIndeterminate, onChange, onValueChange }) => {
131
+ const checkbox = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Checkbox.Checkbox, {
132
+ checked: isChecked,
133
+ indeterminate: isIndeterminate,
134
+ onChange: (e) => {
135
+ onChange?.(e);
136
+ onValueChange?.(e.target.checked);
137
+ },
138
+ containerProps: { onClick: (e) => {
139
+ e.stopPropagation();
140
+ } },
141
+ "aria-label": header ? `Select all ${header}` : "Select all"
142
+ });
143
+ if (header) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.HStack, {
144
+ spacing: _persona_design_tokens.Spacing[3],
145
+ align: "center",
146
+ children: [checkbox, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: header })]
147
+ });
148
+ return checkbox;
149
+ };
150
+ const DATE_FORMAT = "DD";
151
+ const DATETIME_FORMAT = "MMM d, yyyy h:mm a";
152
+ const renderAsString = (value) => {
153
+ if (value == null) return "";
154
+ return typeof value === "string" ? value : typeof value === "object" ? JSON.stringify(value, null, 2) : String(value);
155
+ };
156
+ const renderAsDate = (value, config) => {
157
+ if (value == null || typeof value !== "string") return "";
158
+ const date = luxon.DateTime.fromISO(value);
159
+ return date.isValid ? date.toFormat(config?.format ?? DATE_FORMAT) : "";
160
+ };
161
+ const renderAsDatetime = (value, config) => {
162
+ if (value == null || typeof value !== "string") return "";
163
+ const date = luxon.DateTime.fromISO(value);
164
+ return date.isValid ? date.toFormat(config?.format ?? DATETIME_FORMAT) : "";
165
+ };
166
+ const renderAsURL = (value) => {
167
+ if (value == null || typeof value !== "string" || value.length === 0) return "";
168
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
169
+ href: value,
170
+ target: "_blank",
171
+ rel: "noopener noreferrer",
172
+ children: value
173
+ });
174
+ };
175
+ const renderAsNumber = (value) => {
176
+ if (value == null) return "";
177
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.TabularNumber, { children: value });
178
+ };
179
+ const createSticker = (item, config, key) => {
180
+ const displayLabel = config?.labels?.[item] ?? item;
181
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Sticker.Sticker, {
182
+ variant: config?.colors?.[item] ?? config?.defaultColor,
183
+ children: displayLabel
184
+ }, key);
185
+ };
186
+ const renderAsSticker = (value, config) => {
187
+ if (value == null) return "";
188
+ if (Array.isArray(value)) {
189
+ if (value.length === 0) return "";
190
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
191
+ style: {
192
+ display: "flex",
193
+ flexWrap: "wrap",
194
+ gap: "4px",
195
+ alignItems: "center"
196
+ },
197
+ children: value.map((item, index) => typeof item === "string" ? createSticker(item, config, `${item}-${index}`) : null)
198
+ });
199
+ }
200
+ if (typeof value !== "string") return "";
201
+ return createSticker(value, config);
202
+ };
203
+ /** Inline monospace text — private DataTable primitive, avoids the dashboard Typography dep. */
204
+ const MonoText = styled_components.default.span`
205
+ font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
206
+ font-size: 0.875em;
207
+ `;
208
+ const WrappingText = styled_components.default.span`
209
+ display: inline-block;
210
+ max-width: 100%;
211
+ word-break: break-word;
212
+ overflow-wrap: break-word;
213
+ `;
214
+ const EmptyImageContainer = styled_components.default.div`
215
+ display: flex;
216
+ align-items: center;
217
+ justify-content: center;
218
+ border-radius: ${_persona_design_tokens.BorderRadius.Md};
219
+ background-color: ${({ theme }) => theme.color.background.secondary};
220
+ width: ${({ $width }) => $width ?? "200px"};
221
+ height: ${({ $height }) => $height ?? "144px"};
222
+ svg {
223
+ color: ${({ theme }) => theme.color.border.disabled};
224
+ }
225
+ `;
226
+ const LightweightImg = styled_components.default.img`
227
+ object-fit: ${({ $fit }) => $fit ?? "cover"};
228
+ display: block;
229
+ `;
230
+ const renderAsCopyableString = (value, config) => {
231
+ const valueAsString = renderAsString(value);
232
+ const content = config?.mono ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MonoText, { children: valueAsString }) : valueAsString;
233
+ if (!valueAsString) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Paragraph, { children: config?.emptyText ?? "" });
234
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(WrappingText, { children: config?.copyable ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_HoverCopyableField.HoverCopyableField_default, {
235
+ copyValue: valueAsString,
236
+ children: content
237
+ }) : content });
238
+ };
239
+ const renderAsPii = (row, config) => {
240
+ if (!config || !row) return "";
241
+ const { isRedacted, piiValue, emptyText } = config;
242
+ const piiValueString = piiValue(row);
243
+ if (piiValueString == null || piiValueString.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Paragraph, { children: emptyText }), config.subComponent?.(row)] });
244
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Pii.Pii_default, {
245
+ isRedacted: isRedacted(row),
246
+ children: piiValueString
247
+ }), config.subComponent?.(row)] });
248
+ };
249
+ const renderAsLightweightImage = (value, config) => {
250
+ if (value == null || value === "" || Array.isArray(value) && value.length === 0) return config?.fallback ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: config.fallback }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EmptyImageContainer, {
251
+ $width: config?.width,
252
+ $height: config?.height,
253
+ "aria-label": config?.alt ?? "image",
254
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.ImageIcon, {
255
+ size: 24,
256
+ "aria-label": "No image"
257
+ })
258
+ });
259
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LightweightImg, {
260
+ src: typeof value === "string" ? value : "",
261
+ alt: config?.alt ?? "image",
262
+ width: config?.width ?? "200px",
263
+ height: config?.height ?? "144px",
264
+ $fit: config?.fit
265
+ });
266
+ };
267
+ /**
268
+ * Default PDS cell renderer. Handles all generic format types built into the design system.
269
+ * Hosts should supply their own `renderFormat` prop to DataTable for format types that require
270
+ * application-specific components (e.g. tags, files, PII masking, status indicators).
271
+ */
272
+ const renderAsPDSFormat = (value, format, row) => {
273
+ switch (format?.type) {
274
+ case "date": return renderAsDate(value, format.config);
275
+ case "datetime": return renderAsDatetime(value, format.config);
276
+ case "sticker": return renderAsSticker(value, format.config);
277
+ case "url": return renderAsURL(value);
278
+ case "number": return renderAsNumber(value);
279
+ case "image": return renderAsLightweightImage(value, format.config);
280
+ case "checkbox": return "";
281
+ case "id": return renderAsCopyableString(value, {
282
+ copyable: true,
283
+ mono: true,
284
+ ...format.config
285
+ });
286
+ case "pii": return renderAsPii(row, format.config);
287
+ default: return renderAsCopyableString(value, format?.config);
288
+ }
289
+ };
290
+ //#endregion
291
+ //#region components/DataTable/Inserter.tsx
292
+ const InserterTableCell = (0, styled_components.default)(require_Table.TableCell)`
293
+ padding: 0 !important;
294
+ ${({ $nestSpacing }) => $nestSpacing ? `padding-left: ${$nestSpacing}px !important` : ""};
295
+ height: 0;
296
+ position: relative;
297
+ border: 0;
298
+ z-index: ${require_lib_zindex.Z_INDICES.withShadow};
299
+ `;
300
+ const AddRowLine = styled_components.default.div`
301
+ position: absolute;
302
+ top: -1px;
303
+ background-color: ${({ theme }) => theme.color.primary.brand};
304
+ width: ${({ $nestSpacing }) => $nestSpacing ? `calc(100% - ${$nestSpacing}px)` : "100%"};
305
+ transition-duration: ${"200ms"};
306
+ transition-property: opacity;
307
+ transition-timing-function: ease-in;
308
+ `;
309
+ const StyledPlusButton = styled_components.default.button`
310
+ position: absolute;
311
+ top: -7px;
312
+ left: calc(50% - 8px);
313
+ border-radius: 50%;
314
+ height: 14px;
315
+ width: 14px;
316
+ background-color: ${({ theme }) => theme.color.primary.brand};
317
+ cursor: pointer;
318
+ z-index: ${require_lib_zindex.Z_INDICES.withShadow};
319
+ // TODO: Add a focus style
320
+
321
+ opacity: 0;
322
+
323
+ &:hover {
324
+ opacity: 1;
325
+ }
326
+
327
+ &:hover ~ ${AddRowLine} {
328
+ opacity: 1;
329
+ height: 2px;
330
+ }
331
+ `;
332
+ const StyledTableRow = (0, styled_components.default)(require_Table.TableRow)`
333
+ &${require_lib_pseudoClass.isFocused} {
334
+ box-shadow: none;
335
+ }
336
+ cursor: pointer;
337
+ &:hover > ${AddRowLine}, &:focus > ${AddRowLine} {
338
+ opacity: 1;
339
+ height: 2px;
340
+ }
341
+
342
+ &:hover > ${StyledPlusButton}, &:focus > ${StyledPlusButton} {
343
+ opacity: 1;
344
+ }
345
+ `;
346
+ const HoverArea = styled_components.default.div`
347
+ position: absolute;
348
+ height: 12px;
349
+ top: -6px;
350
+ width: ${({ $nestSpacing }) => $nestSpacing ? `calc(100% - ${$nestSpacing}px)` : "100%"};
351
+ z-index: ${require_lib_zindex.Z_INDICES.withShadow};
352
+ &:hover ~ ${AddRowLine} {
353
+ opacity: 1;
354
+ height: 2px;
355
+ }
356
+
357
+ &:hover ~ ${StyledPlusButton} {
358
+ opacity: 1;
359
+ }
360
+ `;
361
+ const StyledPlusIcon = (0, styled_components.default)(_persona_icons_12px.PlusIcon)`
362
+ position: absolute;
363
+ top: 1px;
364
+ left: 1px;
365
+ `;
366
+ const Inserter = ({ priorRowLabel, colSpan, nestSpacing = 0, label, onAddRow }) => {
367
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledTableRow, {
368
+ onKeyDown: (evt) => {
369
+ if (evt.key === " " || evt.key === "Enter") {
370
+ evt.preventDefault();
371
+ evt.stopPropagation();
372
+ onAddRow();
373
+ }
374
+ },
375
+ tabIndex: 0,
376
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(InserterTableCell, {
377
+ colSpan,
378
+ $nestSpacing: nestSpacing,
379
+ children: [
380
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HoverArea, {
381
+ $nestSpacing: nestSpacing,
382
+ role: "presentation",
383
+ "aria-label": label || `Insert a row after ${priorRowLabel}`,
384
+ onClick: onAddRow
385
+ }),
386
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledPlusButton, {
387
+ id: `${(0, lodash.kebabCase)(priorRowLabel)}-inserter`,
388
+ "aria-label": label || `Insert a row after ${priorRowLabel}`,
389
+ onClick: onAddRow,
390
+ type: "button",
391
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledPlusIcon, { color: _persona_design_tokens.Color.BackgroundButtonInverse })
392
+ }),
393
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AddRowLine, {
394
+ $nestSpacing: nestSpacing,
395
+ onClick: onAddRow
396
+ })
397
+ ]
398
+ })
399
+ });
400
+ };
401
+ //#endregion
402
+ //#region components/DataTable/useTableColumns.tsx
403
+ const ExpandButton = styled_components.default.button`
404
+ background: none;
405
+ border: none;
406
+ cursor: pointer;
407
+ display: flex;
408
+ align-items: center;
409
+ justify-content: center;
410
+ padding: 0;
411
+ margin: 0;
412
+ `;
413
+ const ExpandColumnDisabledChevron = (0, styled_components.default)(_persona_icons.ChevronRightIcon)`
414
+ color: ${({ theme }) => theme.color.text.disabled};
415
+ `;
416
+ /** Shared wrapper so disabled chevrons and expand buttons share the same horizontal alignment. */
417
+ const ExpandColumnPlaceholder = styled_components.default.span`
418
+ display: flex;
419
+ align-items: center;
420
+ justify-content: center;
421
+ width: 100%;
422
+ `;
423
+ 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 }) {
424
+ const { EXPAND_COLUMN_WIDTH, SELECT_COLUMN_WIDTH, ACTION_COLUMN_WIDTH } = getColumnWidths(compact);
425
+ const rowActionsRef = (0, react.useRef)(rowActions);
426
+ rowActionsRef.current = rowActions;
427
+ const renderActionCell = (0, react.useCallback)((props) => {
428
+ const currentRowActions = rowActionsRef.current;
429
+ const actions = typeof currentRowActions === "function" ? currentRowActions(props.row.original) : currentRowActions;
430
+ if (!actions || actions.length === 0) return null;
431
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DropdownMenu.DropdownMenu_default, {
432
+ trigger: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.Button, {
433
+ id: `data-table__row-actions-button--${props.row.id}`,
434
+ variant: "text",
435
+ width: "icon",
436
+ size: "sm",
437
+ onClick: (e) => {
438
+ e.preventDefault();
439
+ e.stopPropagation();
440
+ },
441
+ "aria-label": `View actions for row ${props.row.index + 1}`,
442
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.MoreIcon, {})
443
+ }),
444
+ portal: true,
445
+ children: actions.map(({ label, onClick, ...menuItemProps }, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DropdownMenu.DropdownMenu_default.Item, {
446
+ id: `data-table__row-actions--${props.row.id}-${i}`,
447
+ onClick: (e) => {
448
+ e.preventDefault();
449
+ e.stopPropagation();
450
+ onClick(props.row.id);
451
+ },
452
+ ...menuItemProps,
453
+ children: label
454
+ }, label.toLowerCase().replace(/ /g, "-")))
455
+ });
456
+ }, []);
457
+ const hasRowActions = rowActions != null;
458
+ return (0, react.useMemo)(() => {
459
+ const columnHelper = (0, _tanstack_react_table.createColumnHelper)();
460
+ const tableColumns = columns.map((column) => {
461
+ if (typeof column === "object") {
462
+ const columnHelperOptions = {
463
+ header: column.header,
464
+ id: column.id || column.accessor,
465
+ sortUndefined: -1,
466
+ meta: {
467
+ align: column.align,
468
+ minWidth: column.minWidth,
469
+ width: column.width,
470
+ headerTooltip: column.headerTooltip
471
+ },
472
+ minSize: column.minWidth
473
+ };
474
+ if (column.renderCell != null) {
475
+ const renderCell = column.renderCell;
476
+ columnHelperOptions.cell = (props) => renderCell({
477
+ cellValue: props.getValue(),
478
+ row: props.row.original
479
+ });
480
+ columnHelperOptions.enableSorting = sort != null && (column.enableSorting ?? false);
481
+ } else if (column.format?.type === "checkbox") {
482
+ const columnId = column.id || column.accessor;
483
+ columnHelperOptions.header = (headerProps) => {
484
+ const columnState = checkboxColumnStates[columnId] || /* @__PURE__ */ new Set();
485
+ const allRowIds = data.flatMap((row, index) => getSelfAndNestedRowIds(row, [index]));
486
+ const isChecked = allRowIds.length > 0 && allRowIds.every((id) => columnState.has(id));
487
+ const isIndeterminate = !isChecked && allRowIds.some((id) => columnState.has(id));
488
+ if (typeof column.header === "function") return column.header(headerProps);
489
+ return renderAsCheckboxHeader({
490
+ header: column.header,
491
+ isChecked,
492
+ isIndeterminate,
493
+ onValueChange: (checked) => handleSelectAllCheckboxCell(columnId, checked)
494
+ });
495
+ };
496
+ columnHelperOptions.cell = (props) => {
497
+ const rowId = getRowId ? getRowId(props.row.original) : props.row.id;
498
+ return renderAsCheckbox({
499
+ rowId,
500
+ isChecked: (checkboxColumnStates[columnId] || /* @__PURE__ */ new Set()).has(rowId),
501
+ onValueChange: (rowId, checked) => handleCheckboxCellChange(columnId, rowId, checked),
502
+ columnHeader: typeof column.header === "string" ? column.header : void 0
503
+ });
504
+ };
505
+ columnHelperOptions.enableSorting = false;
506
+ } else {
507
+ columnHelperOptions.cell = (props) => renderFormat(props?.getValue(), column.format, props.row.original);
508
+ columnHelperOptions.enableSorting = sort != null && column.enableSorting;
509
+ }
510
+ columnHelperOptions.enableGlobalFilter = clientSearch && (column.searchable ?? true);
511
+ columnHelperOptions.enablePinning = column.pinned ?? false;
512
+ if (clientFiltering && column.filter) {
513
+ const filterConfig = column.filter;
514
+ if (filterConfig.enabled !== false) {
515
+ columnHelperOptions.enableColumnFilter = true;
516
+ if (filterConfig.filterFn) columnHelperOptions.filterFn = filterConfig.filterFn;
517
+ }
518
+ }
519
+ return columnHelper.accessor(column.accessor, columnHelperOptions);
520
+ }
521
+ return columnHelper.accessor(column, {
522
+ header: (0, lodash_fp_startCase_js.default)(column),
523
+ enableGlobalFilter: Boolean(clientSearch),
524
+ enableSorting: sort != null
525
+ });
526
+ });
527
+ if (showControls && enableRowSelection) tableColumns.unshift(columnHelper.display({
528
+ id: "select-col",
529
+ enablePinning: true,
530
+ enableResizing: false,
531
+ size: SELECT_COLUMN_WIDTH,
532
+ meta: { width: SELECT_COLUMN_WIDTH },
533
+ header: ({ table }) => renderAsCheckboxHeader({
534
+ isChecked: table.getIsAllRowsSelected(),
535
+ isIndeterminate: table.getIsSomeRowsSelected(),
536
+ onChange: table.getToggleAllRowsSelectedHandler()
537
+ }),
538
+ cell: ({ row, table }) => renderAsCheckbox({
539
+ rowId: row.id,
540
+ isChecked: row.getIsSelected(),
541
+ onChange: (e) => handleRowSelectionWithShift(row, table, e.target.checked, e.nativeEvent instanceof MouseEvent && e.nativeEvent.shiftKey),
542
+ indeterminate: enableSubRowSelection && row.getIsSomeSelected(),
543
+ disabled: !row.getCanSelect()
544
+ })
545
+ }));
546
+ if (expandColumnVisibility === "always" || data.some(canRowExpand)) tableColumns.unshift(columnHelper.display({
547
+ id: "expand-col",
548
+ enablePinning: true,
549
+ enableResizing: false,
550
+ size: EXPAND_COLUMN_WIDTH,
551
+ meta: { width: EXPAND_COLUMN_WIDTH },
552
+ header: "",
553
+ cell: ({ row }) => {
554
+ const rowData = row.original;
555
+ if (!canRowExpand(rowData)) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExpandColumnPlaceholder, {
556
+ "aria-hidden": true,
557
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExpandColumnDisabledChevron, {})
558
+ });
559
+ const rowId = getRowId ? getRowId(rowData) : row.id;
560
+ const isExpanded = expandedRows.has(rowId);
561
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExpandColumnPlaceholder, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExpandButton, {
562
+ type: "button",
563
+ id: `datatable-expand-${rowId}`,
564
+ onClick: (e) => {
565
+ e.stopPropagation();
566
+ toggleRowExpansion(rowId);
567
+ },
568
+ onKeyDown: (e) => {
569
+ if (e.key === "Enter" || e.key === " ") {
570
+ e.preventDefault();
571
+ e.stopPropagation();
572
+ toggleRowExpansion(rowId);
573
+ }
574
+ },
575
+ "aria-label": isExpanded ? `Hide details for row ${rowId}` : `View details for row ${rowId}`,
576
+ "aria-expanded": isExpanded,
577
+ children: isExpanded ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.ChevronDownIcon, {}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.ChevronRightIcon, {})
578
+ }) });
579
+ }
580
+ }));
581
+ if (hasRowActions) {
582
+ const emptyHeader = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, {});
583
+ tableColumns.push(columnHelper.display({
584
+ id: "action-col",
585
+ enableResizing: false,
586
+ size: ACTION_COLUMN_WIDTH,
587
+ meta: { width: ACTION_COLUMN_WIDTH },
588
+ header: emptyHeader,
589
+ cell: renderActionCell
590
+ }));
591
+ }
592
+ return [tableColumns, columns.map((column) => {
593
+ const key = typeof column === "object" ? column.accessor : column;
594
+ return {
595
+ key,
596
+ label: typeof column === "object" ? typeof column.header === "string" ? column.header : key : (0, lodash_fp_startCase_js.default)(column)
597
+ };
598
+ })];
599
+ }, [
600
+ columns,
601
+ enableRowSelection,
602
+ hasRowActions,
603
+ renderActionCell,
604
+ showControls,
605
+ sort,
606
+ clientSearch,
607
+ clientFiltering,
608
+ data,
609
+ canRowExpand,
610
+ expandColumnVisibility,
611
+ expandedRows,
612
+ toggleRowExpansion,
613
+ getRowId,
614
+ checkboxColumnStates,
615
+ handleCheckboxCellChange,
616
+ handleSelectAllCheckboxCell,
617
+ handleRowSelectionWithShift,
618
+ renderFormat
619
+ ]);
620
+ }
621
+ //#endregion
622
+ //#region components/DataTable/DataTable.tsx
623
+ const TableEmptyState = styled_components.default.td`
624
+ vertical-align: middle;
625
+ text-align: center;
626
+ width: 100%;
627
+ height: 176px;
628
+ `;
629
+ const StyledTableLayout = (0, styled_components.default)(require_Table.TableLayout)`
630
+ ${({ $onAddRow }) => $onAddRow && styled_components.css`
631
+ padding-bottom: ${_persona_id_design_tokens.Spacing[3]};
632
+ `}
633
+ `;
634
+ const TableContainer = styled_components.default.div`
635
+ position: relative;
636
+
637
+ ${({ $stickyHeader }) => $stickyHeader && styled_components.css`
638
+ flex-grow: 1;
639
+ overflow: auto;
640
+ display: flex;
641
+ flex-direction: column;
642
+ `}
643
+ `;
644
+ const DataTableControls = (0, styled_components.default)(require_TableControls.TableControls)``;
645
+ const DataTableContainer = styled_components.default.div`
646
+ ${({ $stickyHeader }) => $stickyHeader && styled_components.css`
647
+ display: flex;
648
+ flex-direction: column;
649
+ height: 100%;
650
+ `}
651
+ `;
652
+ const StyledTableActionTD = (0, styled_components.default)(require_Table.TableActionTD)`
653
+ ${({ $nestSpacing }) => styled_components.css`
654
+ ${$nestSpacing && styled_components.css`
655
+ position: relative;
656
+ left: ${$nestSpacing}px;
657
+ `}
658
+ `}
659
+ `;
660
+ const StyledTableTD = (0, styled_components.default)(require_Table.TableTD)`
661
+ // Move the cell to the right by the amount of the nest spacing, and
662
+ // add same amount of padding to the right to not overlap with the next cell
663
+ ${({ $nestSpacing, $isFeatureCol }) => styled_components.css`
664
+ ${$nestSpacing && styled_components.css`
665
+ position: relative;
666
+ left: ${$nestSpacing}px;
667
+ `}
668
+ ${!$isFeatureCol && styled_components.css`
669
+ padding-right: ${$nestSpacing}px;
670
+ `}
671
+ `}
672
+ `;
673
+ const DetailsTD = (0, styled_components.default)(require_Table.TableTD)`
674
+ padding: 0;
675
+ border-top: none;
676
+ border-left: none;
677
+ border-right: none;
678
+ `;
679
+ const StickyDetailsTD = (0, styled_components.default)(require_Table.StickyTD)`
680
+ padding: 0;
681
+ border-top: none;
682
+ border-left: none;
683
+ border-right: none;
684
+ `;
685
+ const StickyTDWithGapCoverage = (0, styled_components.default)(require_Table.StickyTD)`
686
+ ${({ $gapCoverage, theme }) => $gapCoverage && styled_components.css`
687
+ &::before {
688
+ content: '';
689
+ position: absolute;
690
+ top: 0;
691
+ left: ${-$gapCoverage}px;
692
+ width: ${$gapCoverage}px;
693
+ height: calc(100% + 1px); // +1px to cover the bottom border
694
+ background-color: ${theme.color.background.primary};
695
+ }
696
+ `}
697
+ `;
698
+ const FloatingActionBarContainer = styled_components.default.div`
699
+ position: absolute;
700
+ top: 0;
701
+ left: 50%;
702
+ transform: translateX(-50%);
703
+ `;
704
+ const isServerPagination = (pagination) => {
705
+ return typeof pagination === "object" && !("clientPagination" in pagination);
706
+ };
707
+ const isClientPagination = (pagination) => {
708
+ return typeof pagination === "object" && "clientPagination" in pagination;
709
+ };
710
+ const isServerSorting = (sort) => {
711
+ return typeof sort === "object";
712
+ };
713
+ const isRowWithDetails = (row) => {
714
+ return row != null && typeof row === "object" && "_details" in row && row._details != null;
715
+ };
716
+ const isRowWithSubrows = (row) => {
717
+ return row != null && typeof row === "object" && "subrows" in row && row.subrows != null;
718
+ };
719
+ const isRowWithSubrowsToAlwaysShowIds = (row) => {
720
+ return row != null && typeof row === "object" && "subrowsToAlwaysShowIds" in row && row.subrowsToAlwaysShowIds != null;
721
+ };
722
+ const isRowWithTourTarget = (row) => {
723
+ return row != null && typeof row === "object" && "dataTourTarget" in row && typeof row.dataTourTarget === "string";
724
+ };
725
+ const DISPLAYED_ROW_IDS_SEPARATOR = "";
726
+ /**
727
+ * The DataTable component is the core of Persona's table experiences.
728
+ *
729
+ * This component implements `@tanstack/react-table` and exposes a simplified, easy to use API.
730
+ *
731
+ * Planned functionality
732
+ * - Column visibility, reordering
733
+ * - Row selection
734
+ * - Cell types (e.g. links, buttons, Stickers)
735
+ *
736
+ * Client-side support
737
+ * - ✅ Sorting
738
+ * - ✅ Search (enable with clientSearch prop)
739
+ * - ✅ Pagination
740
+ * - ✅ Filtering (requires explicit filter configuration in TableControls)
741
+ *
742
+ * Server-side support
743
+ * - ✅ Sorting
744
+ * - ✅ Filtering
745
+ * - ✅ Pagination
746
+ *
747
+ * @example
748
+ * // Basic usage with client-side search
749
+ * <DataTable
750
+ * data={data}
751
+ * columns={columns}
752
+ * showControls={true}
753
+ * clientSearch={{ placeholder: "Search accounts..." }}
754
+ * />
755
+ *
756
+ * @example
757
+ * // Column-level search control
758
+ * const columns = [
759
+ * { accessor: 'id', header: 'ID', searchable: false },
760
+ * { accessor: 'name', header: 'Name' }, // searchable by default
761
+ * { accessor: 'email', header: 'Email' },
762
+ * ];
763
+ */
764
+ /** Maps a column filter-type string to the corresponding TanStack filterFn name. */
765
+ const getFilterFnName = (filterType) => {
766
+ switch (filterType) {
767
+ case "select": return "equals";
768
+ case "multiselect":
769
+ case "multiselect-alt":
770
+ case "multiselect-legacy": return "arrIncludesSome";
771
+ case "input": return "includesString";
772
+ default: return "equals";
773
+ }
774
+ };
775
+ 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 }) => {
776
+ const DEFAULT_SEARCH_PLACEHOLDER = "Search...";
777
+ const { NEST_SPACING, EXPAND_COLUMN_WIDTH } = getColumnWidths(compact);
778
+ const [columnVisibility, setColumnVisibility] = (0, react.useState)(() => {
779
+ const visibility = {};
780
+ columns.forEach((column) => {
781
+ const columnId = typeof column === "object" ? column.id ?? column.accessor : column;
782
+ visibility[columnId] = typeof column === "object" ? column.visibility ?? true : true;
783
+ });
784
+ return visibility;
785
+ });
786
+ const [columnOrder, setColumnOrder] = (0, react.useState)([]);
787
+ const [rowSelection, setRowSelection] = (0, react.useState)({});
788
+ const lastSelectedRowIdRef = (0, react.useRef)(null);
789
+ const isSearchControlled = controlledSearchTerm != null;
790
+ const [internalSearchTerm, setInternalSearchTerm] = (0, react.useState)(typeof clientSearch === "object" ? clientSearch.initialValue || "" : "");
791
+ const globalFilter = isSearchControlled ? controlledSearchTerm : internalSearchTerm;
792
+ const setGlobalFilter = (0, react.useCallback)((value) => {
793
+ if (isSearchControlled) onSearchTermChange?.(value);
794
+ else setInternalSearchTerm(value);
795
+ }, [isSearchControlled, onSearchTermChange]);
796
+ const isColumnFiltersControlled = controlledColumnFilters != null;
797
+ const [internalColumnFilters, setInternalColumnFilters] = (0, react.useState)([]);
798
+ const columnFilters = isColumnFiltersControlled ? controlledColumnFilters : internalColumnFilters;
799
+ const setColumnFilters = (0, react.useCallback)((updater) => {
800
+ const next = typeof updater === "function" ? updater(columnFilters) : updater;
801
+ if (!isColumnFiltersControlled) setInternalColumnFilters(next);
802
+ onColumnFiltersChange?.(next);
803
+ }, [
804
+ columnFilters,
805
+ isColumnFiltersControlled,
806
+ onColumnFiltersChange
807
+ ]);
808
+ const isExpansionControlled = controlledExpandedRowIds != null;
809
+ const [internalExpandedRows, setInternalExpandedRows] = (0, react.useState)(/* @__PURE__ */ new Set());
810
+ const expandedRows = isExpansionControlled ? controlledExpandedRowIds : internalExpandedRows;
811
+ const setExpandedRows = (0, react.useCallback)((updater) => {
812
+ if (isExpansionControlled) {
813
+ const newValue = updater(expandedRows);
814
+ onExpandedRowsChange?.(newValue);
815
+ } else setInternalExpandedRows(updater);
816
+ }, [
817
+ expandedRows,
818
+ isExpansionControlled,
819
+ onExpandedRowsChange
820
+ ]);
821
+ const [checkboxColumnStates, setCheckboxColumnStates] = (0, react.useState)({});
822
+ const orderMap = columnOrder.reduce((acc, columnId, index) => {
823
+ acc[columnId] = index;
824
+ return acc;
825
+ }, {});
826
+ /**
827
+ * If basic client pagination is enabled, create a configuration object for client pagination.
828
+ */
829
+ if (pagination === true) pagination = {
830
+ clientPagination: true,
831
+ pageSize: 10
832
+ };
833
+ const canRowExpand = (0, react.useCallback)((rowData) => {
834
+ if (isRowWithSubrows(rowData)) return rowData.subrows.length > 0;
835
+ if (isRowWithDetails(rowData)) return Boolean(rowData._details);
836
+ return detailComponent != null;
837
+ }, [detailComponent]);
838
+ const initialColumnPinning = (0, react.useMemo)(() => {
839
+ const pinnedColumns = [];
840
+ if (columns.some((column) => typeof column === "object" && column.pinned)) {
841
+ if (expandColumnVisibility === "always" || data.some(canRowExpand)) pinnedColumns.push("expand-col");
842
+ if (showControls && enableRowSelection) pinnedColumns.push("select-col");
843
+ columns.forEach((column) => {
844
+ if (typeof column === "object" && column.pinned) pinnedColumns.push(column.accessor);
845
+ });
846
+ }
847
+ return { left: pinnedColumns };
848
+ }, [
849
+ columns,
850
+ data,
851
+ canRowExpand,
852
+ expandColumnVisibility,
853
+ showControls,
854
+ enableRowSelection
855
+ ]);
856
+ const toggleRowExpansion = (0, react.useCallback)((rowId) => {
857
+ setExpandedRows((prev) => {
858
+ const newSet = new Set(prev);
859
+ if (newSet.has(rowId)) newSet.delete(rowId);
860
+ else newSet.add(rowId);
861
+ return newSet;
862
+ });
863
+ }, [setExpandedRows]);
864
+ const dispatchCheckboxCellOnUpdate = (0, react.useCallback)((columnId, columnState) => {
865
+ const column = columns.find((col) => typeof col === "object" && col.accessor === columnId && col.format?.type === "checkbox");
866
+ if (column && typeof column === "object" && column.format?.type === "checkbox") column.format.onUpdate(Array.from(columnState));
867
+ }, [columns]);
868
+ const handleCheckboxCellChange = (0, react.useCallback)((columnId, rowId, checked) => {
869
+ setCheckboxColumnStates((prev) => {
870
+ const newStates = { ...prev };
871
+ if (!newStates[columnId]) newStates[columnId] = /* @__PURE__ */ new Set();
872
+ const columnState = new Set(newStates[columnId]);
873
+ if (checked) columnState.add(rowId);
874
+ else columnState.delete(rowId);
875
+ newStates[columnId] = columnState;
876
+ dispatchCheckboxCellOnUpdate(columnId, columnState);
877
+ return newStates;
878
+ });
879
+ }, [dispatchCheckboxCellOnUpdate]);
880
+ const getSelfAndNestedRowIds = (0, react.useCallback)((row, indexPath) => {
881
+ const rowId = getRowId ? getRowId(row) : indexPath.join(".");
882
+ if (isRowWithSubrows(row)) return [rowId, ...(row.subrows ?? []).map((subrow, subrowIndex) => getSelfAndNestedRowIds(subrow, [...indexPath, subrowIndex])).flat()];
883
+ return [rowId];
884
+ }, [getRowId]);
885
+ const handleSelectAllCheckboxCell = (0, react.useCallback)((columnId, checked) => {
886
+ setCheckboxColumnStates((prev) => {
887
+ const newStates = { ...prev };
888
+ let columnState;
889
+ if (checked) {
890
+ const allRowIds = data.flatMap((row, index) => getSelfAndNestedRowIds(row, [index]));
891
+ columnState = new Set(allRowIds);
892
+ } else columnState = /* @__PURE__ */ new Set();
893
+ newStates[columnId] = columnState;
894
+ dispatchCheckboxCellOnUpdate(columnId, columnState);
895
+ return newStates;
896
+ });
897
+ }, [
898
+ data,
899
+ getRowId,
900
+ dispatchCheckboxCellOnUpdate
901
+ ]);
902
+ const tableOptions = (0, react.useMemo)(() => {
903
+ const options = {};
904
+ if (isClientPagination(pagination)) {
905
+ options.getPaginationRowModel = (0, _tanstack_react_table.getPaginationRowModel)();
906
+ options.initialState = { pagination: { pageSize: pagination.pageSize } };
907
+ } else if (isServerPagination(pagination)) {
908
+ const currentPage = pagination.paginationParams?.["current-page"] || 1;
909
+ const pageSize = pagination.pageSize || 10;
910
+ options.manualPagination = true;
911
+ options.onPaginationChange = (updaterOrValue) => {
912
+ const oldPageSize = pageSize;
913
+ const oldPageIndex = currentPage - 1;
914
+ if (typeof updaterOrValue === "function") {
915
+ const newPaginationState = updaterOrValue({
916
+ pageSize,
917
+ pageIndex: currentPage - 1
918
+ });
919
+ if (newPaginationState.pageSize !== oldPageSize) pagination.handlePageSizeClick(newPaginationState.pageSize);
920
+ if (newPaginationState.pageIndex !== oldPageIndex) pagination.handlePageLinkClick(newPaginationState.pageIndex + 1);
921
+ }
922
+ };
923
+ options.state = { pagination: {
924
+ pageSize,
925
+ pageIndex: currentPage - 1
926
+ } };
927
+ options.rowCount = pagination?.paginationParams?.["total-count"];
928
+ options.pageCount = pagination?.paginationParams?.["total-pages"];
929
+ }
930
+ if (sort === true) {
931
+ options.getSortedRowModel = (0, _tanstack_react_table.getSortedRowModel)();
932
+ options.enableSorting = true;
933
+ } else if (isServerSorting(sort)) {
934
+ options.manualSorting = true;
935
+ options.enableSorting = true;
936
+ options.onSortingChange = (updaterOrValue) => {
937
+ if (typeof updaterOrValue === "function") {
938
+ const newSortingState = updaterOrValue(sort.state);
939
+ sort.handleSortClick(newSortingState);
940
+ }
941
+ };
942
+ options.state = {
943
+ ...options.state ? options.state : {},
944
+ sorting: sort.state
945
+ };
946
+ } else options.enableSorting = false;
947
+ if (showControls && enableRowSelection) {
948
+ options.enableRowSelection = getRowSelectable ? (row) => getRowSelectable(row.original) : true;
949
+ options.onRowSelectionChange = setRowSelection;
950
+ }
951
+ if (!enableSubRowSelection) options.enableSubRowSelection = false;
952
+ if (clientSearch) {
953
+ if (manualFiltering) options.manualFiltering = true;
954
+ else {
955
+ options.getFilteredRowModel = (0, _tanstack_react_table.getFilteredRowModel)();
956
+ options.globalFilterFn = "includesString";
957
+ }
958
+ options.onGlobalFilterChange = setGlobalFilter;
959
+ }
960
+ if (clientFiltering) {
961
+ options.getFilteredRowModel = (0, _tanstack_react_table.getFilteredRowModel)();
962
+ options.onColumnFiltersChange = setColumnFilters;
963
+ }
964
+ const columnOptionsVisibility = {};
965
+ columns.forEach((column) => {
966
+ const columnId = typeof column === "object" ? column.id || column.accessor : column;
967
+ if (typeof column === "object" && "visibility" in column && column.visibility != null) columnOptionsVisibility[columnId] = column.visibility;
968
+ else columnOptionsVisibility[columnId] = columnVisibility[columnId] ?? true;
969
+ });
970
+ options.state = {
971
+ ...options.state,
972
+ columnVisibility: columnOptionsVisibility
973
+ };
974
+ const expandedState = {};
975
+ for (const rowId of expandedRows) expandedState[rowId] = true;
976
+ options.state = {
977
+ ...options.state,
978
+ columnOrder,
979
+ rowSelection,
980
+ columnPinning: initialColumnPinning,
981
+ expanded: expandedState,
982
+ ...clientSearch && { globalFilter },
983
+ ...clientFiltering && { columnFilters }
984
+ };
985
+ options.onColumnVisibilityChange = setColumnVisibility;
986
+ options.onColumnOrderChange = setColumnOrder;
987
+ options.enableSortingRemoval = enableSortingRemoval;
988
+ options.sortDescFirst = sortDescFirst;
989
+ options.enableColumnPinning = initialColumnPinning.left && initialColumnPinning.left.length > 0;
990
+ return options;
991
+ }, [
992
+ pagination,
993
+ columnVisibility,
994
+ columnOrder,
995
+ enableRowSelection,
996
+ enableSubRowSelection,
997
+ rowSelection,
998
+ showControls,
999
+ sort,
1000
+ enableSortingRemoval,
1001
+ sortDescFirst,
1002
+ clientSearch,
1003
+ globalFilter,
1004
+ clientFiltering,
1005
+ columnFilters,
1006
+ columns,
1007
+ initialColumnPinning,
1008
+ expandedRows
1009
+ ]);
1010
+ const handleRowSelectionWithShift = (0, react.useCallback)((clickedRow, table, checked, isShiftKey) => {
1011
+ const displayedRows = table.getRowModel().rows;
1012
+ const currentIndex = displayedRows.findIndex((r) => r.id === clickedRow.id);
1013
+ const lastSelectedRowId = lastSelectedRowIdRef.current;
1014
+ const lastIndex = lastSelectedRowId != null ? displayedRows.findIndex((r) => r.id === lastSelectedRowId) : -1;
1015
+ if (isShiftKey && lastIndex !== -1 && currentIndex !== -1) {
1016
+ const startIndex = Math.min(lastIndex, currentIndex);
1017
+ const endIndex = Math.max(lastIndex, currentIndex);
1018
+ displayedRows.slice(startIndex, endIndex + 1).forEach((rangeRow) => {
1019
+ if (rangeRow.getCanSelect()) rangeRow.toggleSelected(checked);
1020
+ });
1021
+ } else clickedRow.toggleSelected(checked);
1022
+ lastSelectedRowIdRef.current = clickedRow.id;
1023
+ }, []);
1024
+ const [tableColumns, columnOptions] = useTableColumns({
1025
+ columns: (0, react.useMemo)(() => {
1026
+ if (!clientFiltering) return columns;
1027
+ return columns.map((column) => {
1028
+ if (typeof column === "object" && column.filter != null && typeof column.filter === "object" && "type" in column.filter && typeof column.filter.type === "string") {
1029
+ const filterType = column.filter.type;
1030
+ return {
1031
+ ...column,
1032
+ filter: {
1033
+ ...column.filter,
1034
+ filterFn: getFilterFnName(filterType)
1035
+ }
1036
+ };
1037
+ }
1038
+ return column;
1039
+ });
1040
+ }, [columns, clientFiltering]),
1041
+ data,
1042
+ compact,
1043
+ sort,
1044
+ clientSearch,
1045
+ clientFiltering,
1046
+ expandColumnVisibility,
1047
+ showControls,
1048
+ enableRowSelection,
1049
+ enableSubRowSelection,
1050
+ rowActions,
1051
+ getRowId,
1052
+ expandedRows,
1053
+ toggleRowExpansion,
1054
+ canRowExpand,
1055
+ checkboxColumnStates,
1056
+ handleCheckboxCellChange,
1057
+ handleSelectAllCheckboxCell,
1058
+ getSelfAndNestedRowIds,
1059
+ handleRowSelectionWithShift,
1060
+ renderFormat: renderFormat ?? renderAsPDSFormat
1061
+ });
1062
+ const expandRowsCustom = (0, react.useCallback)((rowModel) => {
1063
+ const expandedRows = [];
1064
+ const handleRow = (row) => {
1065
+ expandedRows.push(row);
1066
+ if (row.subRows?.length && row.getIsExpanded()) row.subRows.forEach(handleRow);
1067
+ else if (isRowWithSubrowsToAlwaysShowIds(row.original)) row.subRows.filter((subrow) => row.original.subrowsToAlwaysShowIds.includes(subrow.id)).forEach(handleRow);
1068
+ };
1069
+ rowModel.rows.forEach(handleRow);
1070
+ return {
1071
+ rows: expandedRows,
1072
+ flatRows: rowModel.flatRows,
1073
+ rowsById: rowModel.rowsById
1074
+ };
1075
+ }, []);
1076
+ function getExpandedRowModelCustom() {
1077
+ return (table) => (0, _tanstack_react_table.memo)(() => [
1078
+ table.getState().expanded,
1079
+ table.getPreExpandedRowModel(),
1080
+ table.options.paginateExpandedRows
1081
+ ], (expanded, rowModel, paginateExpandedRows) => {
1082
+ if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded ?? {}).length) return expandRowsCustom(rowModel);
1083
+ if (!paginateExpandedRows) return rowModel;
1084
+ return expandRowsCustom(rowModel);
1085
+ }, (0, _tanstack_react_table.getMemoOptions)(table.options, "debugTable", "getExpandedRowModel"));
1086
+ }
1087
+ const table = (0, _tanstack_react_table.useReactTable)({
1088
+ data,
1089
+ columns: tableColumns,
1090
+ getSubRows: (row) => isRowWithSubrows(row) ? row.subrows : [],
1091
+ getCoreRowModel: (0, _tanstack_react_table.getCoreRowModel)(),
1092
+ getExpandedRowModel: getExpandedRowModelCustom(),
1093
+ getRowId,
1094
+ ...tableOptions
1095
+ });
1096
+ const tableHeaderGroup = table.getHeaderGroups()[0];
1097
+ const unprocessedRows = table.getCoreRowModel().rows;
1098
+ const rows = table.getRowModel().rows;
1099
+ const displayedRowIdsKey = rows.map((row) => row.id).join(DISPLAYED_ROW_IDS_SEPARATOR);
1100
+ (0, react.useEffect)(() => {
1101
+ onDisplayedRowIdsChange?.(displayedRowIdsKey ? displayedRowIdsKey.split(DISPLAYED_ROW_IDS_SEPARATOR) : []);
1102
+ }, [displayedRowIdsKey, onDisplayedRowIdsChange]);
1103
+ (0, react.useEffect)(() => {
1104
+ const states = {};
1105
+ const checkboxColumns = columns.filter((column) => typeof column === "object" && column.format?.type === "checkbox");
1106
+ for (const column of checkboxColumns) {
1107
+ const columnId = column.id || column.accessor;
1108
+ const checkedRowIds = /* @__PURE__ */ new Set();
1109
+ const getSelfAndNestedRows = (row) => [row, ...row.subRows.map(getSelfAndNestedRows).flat()];
1110
+ const rootAndNestedRows = unprocessedRows.flatMap(getSelfAndNestedRows);
1111
+ for (const row of rootAndNestedRows) {
1112
+ const rowId = row.id;
1113
+ if (row.original[column.accessor]) checkedRowIds.add(rowId);
1114
+ }
1115
+ states[columnId] = checkedRowIds;
1116
+ }
1117
+ setCheckboxColumnStates(states);
1118
+ }, [unprocessedRows, columns]);
1119
+ const generatedSearchProps = clientSearch ? {
1120
+ value: globalFilter,
1121
+ handleInput: setGlobalFilter,
1122
+ placeholder: typeof clientSearch === "object" ? clientSearch.placeholder || DEFAULT_SEARCH_PLACEHOLDER : DEFAULT_SEARCH_PLACEHOLDER,
1123
+ ...typeof clientSearch === "object" && clientSearch
1124
+ } : void 0;
1125
+ const getCommonPinningStyles = (0, react.useCallback)((column) => {
1126
+ const isPinned = column.getIsPinned();
1127
+ const isLastPinned = isPinned === "left" && column.getIsLastColumn("left");
1128
+ return {
1129
+ left: isPinned === "left" ? `${column.getStart("left") + pinnedColumnLeftOffset}px` : void 0,
1130
+ position: isPinned ? "sticky" : "relative",
1131
+ hasRightBorder: isLastPinned
1132
+ };
1133
+ }, [pinnedColumnLeftOffset]);
1134
+ /**
1135
+ * Check if the column is a table feature column.
1136
+ * Feature columns are special columns set by the table to
1137
+ * allow a user to perform an action.
1138
+ */
1139
+ const isFeatureCol = (columnId) => {
1140
+ return [
1141
+ "select-col",
1142
+ "expand-col",
1143
+ "action-col"
1144
+ ].includes(columnId);
1145
+ };
1146
+ const selectedRows = table.getFilteredSelectedRowModel().flatRows;
1147
+ (0, react.useEffect)(() => {
1148
+ onRowSelectionChange?.(selectedRows.map((row) => row.original));
1149
+ }, [selectedRows, onRowSelectionChange]);
1150
+ const actions = (0, react.useMemo)(() => {
1151
+ return (getAvailableBulkActions ? getAvailableBulkActions(selectedRows.map((row) => row.original)) : bulkActions || controls?.bulkActions)?.map((action) => {
1152
+ const clearSelection = () => table.setRowSelection({});
1153
+ const baseAction = {
1154
+ ...action,
1155
+ onClick: async () => {
1156
+ await action.onClick(selectedRows.map((row) => row.id), clearSelection);
1157
+ }
1158
+ };
1159
+ if ("popover" in action && action.popover) {
1160
+ const popoverConfig = action.popover;
1161
+ return {
1162
+ ...baseAction,
1163
+ popover: {
1164
+ options: popoverConfig.options,
1165
+ onOptionSelect: async (option) => {
1166
+ await popoverConfig.onOptionSelect(option, selectedRows.map((row) => row.id));
1167
+ table.setRowSelection({});
1168
+ }
1169
+ }
1170
+ };
1171
+ }
1172
+ return baseAction;
1173
+ });
1174
+ }, [
1175
+ bulkActions,
1176
+ getAvailableBulkActions,
1177
+ selectedRows,
1178
+ table,
1179
+ controls?.bulkActions
1180
+ ]);
1181
+ const shouldShowFloatingActionBar = compact && actions && actions.length > 0 && selectedRows.length > 0;
1182
+ const hasGlobalFilter = clientSearch && globalFilter && globalFilter.trim().length > 0;
1183
+ const hasFilters = columnFilters.length > 0;
1184
+ const hasActiveFilters = hasGlobalFilter || hasFilters || hasExternalActiveFilters;
1185
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(DataTableContainer, {
1186
+ $stickyHeader: stickyHeader,
1187
+ children: [
1188
+ showControls && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DataTableControls, {
1189
+ compact,
1190
+ title,
1191
+ propertiesButton: showColumnProperties && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TableControls.TableViewConfigurationDropdown, {
1192
+ disabled: false,
1193
+ columnConfiguration: table.getVisibleFlatColumns().filter((column) => !isFeatureCol(column.columnDef.id ?? "")).map((column) => ({
1194
+ key: column.id,
1195
+ label: column.columnDef.header?.toString() || column.id
1196
+ })).sort((a, b) => {
1197
+ return (orderMap[a.key] || 0) - (orderMap[b.key] || 0);
1198
+ }),
1199
+ attributeOptions: columnOptions,
1200
+ updateColumnConfiguration: (newConfiguration) => {
1201
+ table.getAllColumns().map((column) => {
1202
+ column.toggleVisibility(!!newConfiguration.find((c) => c.key === column.id));
1203
+ });
1204
+ setColumnOrder(newConfiguration.map((c) => c.key));
1205
+ if (onUpdateColumnProperties) onUpdateColumnProperties(newConfiguration);
1206
+ },
1207
+ size: compact ? "sm" : void 0,
1208
+ variant: compact ? "text" : "basic"
1209
+ }),
1210
+ selectedRows: table.getFilteredSelectedRowModel().flatRows.map((row) => row.id),
1211
+ onClearSelection: () => table.setRowSelection({}),
1212
+ searchProps: generatedSearchProps,
1213
+ ...controls,
1214
+ bulkActions: actions
1215
+ }),
1216
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TableContainer, {
1217
+ $stickyHeader: stickyHeader,
1218
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledTableLayout, {
1219
+ $onAddRow: !!onAddRow,
1220
+ stickyHeader,
1221
+ headerTR: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: tableHeaderGroup.headers.map((header) => {
1222
+ const pinningStyles = getCommonPinningStyles(header.column);
1223
+ const isPinned = pinningStyles.position === "sticky";
1224
+ const width = header.column.columnDef.meta?.width ? `${header.column.columnDef.meta?.width}px` : void 0;
1225
+ const minWidth = header.column.columnDef.meta?.minWidth ? `${header.column.columnDef.meta?.minWidth}px` : width ?? `${header.column.getSize()}px`;
1226
+ const thProps = {
1227
+ id: header.id,
1228
+ sortable: isFeatureCol(header.id) ? false : header.column.getCanSort(),
1229
+ onClick: isFeatureCol(header.id) ? void 0 : header.column.getToggleSortingHandler(),
1230
+ sortDirection: isFeatureCol(header.id) ? void 0 : header.column.getIsSorted(),
1231
+ colSpan: header.colSpan,
1232
+ align: header.column.columnDef.meta?.align,
1233
+ width: header.column.columnDef.meta?.width ? `${header.column.columnDef.meta?.width}px` : void 0,
1234
+ size: compact ? "sm" : "md",
1235
+ style: { minWidth }
1236
+ };
1237
+ if (isPinned) return /* @__PURE__ */ (0, react.createElement)(require_Table.StickyTH, {
1238
+ ...thProps,
1239
+ key: header.id,
1240
+ left: pinningStyles.left ? parseInt(pinningStyles.left) : 0,
1241
+ hasRightBorder: pinningStyles.hasRightBorder
1242
+ }, (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext()));
1243
+ return /* @__PURE__ */ (0, react.createElement)(require_Table.TableTH, {
1244
+ ...thProps,
1245
+ key: header.id
1246
+ }, header.column.columnDef.meta?.headerTooltip ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Tooltip.TextUnderlineTooltip, {
1247
+ side: "top",
1248
+ tooltip: header.column.columnDef.meta.headerTooltip,
1249
+ zIndex: require_lib_zindex.Z_INDICES.topNavTooltip,
1250
+ children: (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext())
1251
+ }) : (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext()));
1252
+ }) }),
1253
+ nullState: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", { children: "No results found." }),
1254
+ isLoading,
1255
+ size: compact ? "sm" : void 0,
1256
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableBody, { children: columns.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableTR, {
1257
+ disableHoverBackground: true,
1258
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableEmptyState, {
1259
+ colSpan: 1,
1260
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Paragraph, {
1261
+ size: "lg",
1262
+ weight: "bold",
1263
+ color: "primary",
1264
+ children: "No columns configured"
1265
+ })
1266
+ })
1267
+ }) : rows.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableTR, {
1268
+ disableHoverBackground: true,
1269
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TableEmptyState, {
1270
+ colSpan: tableHeaderGroup.headers.length,
1271
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Paragraph, {
1272
+ size: "lg",
1273
+ weight: "bold",
1274
+ color: "primary",
1275
+ children: emptyState?.title || (hasActiveFilters ? "No results found. Try changing your filters." : "No results found.")
1276
+ }), emptyState?.description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Paragraph, {
1277
+ size: "md",
1278
+ color: "secondary",
1279
+ children: emptyState.description
1280
+ })]
1281
+ })
1282
+ }) : rows.map((row) => {
1283
+ const rowData = row.original;
1284
+ const rowId = getRowId ? getRowId(rowData) : row.id;
1285
+ const rowLabel = getRowLabel?.(rowData);
1286
+ const isExpanded = expandedRows.has(rowId);
1287
+ const canExpand = canRowExpand(rowData);
1288
+ const dynamicNestSpacing = showControls && enableRowSelection ? NEST_SPACING + 8 : NEST_SPACING;
1289
+ let leftMostNonSpecialColumnFound = false;
1290
+ const rowElements = row.getVisibleCells().map((cell) => {
1291
+ const pinningStyles = getCommonPinningStyles(cell.column);
1292
+ const isPinned = pinningStyles.position === "sticky";
1293
+ if (cell.column.id === "action-col") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledTableActionTD, {
1294
+ style: { textAlign: cell.column.columnDef.meta?.align },
1295
+ $nestSpacing: row.depth * dynamicNestSpacing,
1296
+ children: (0, _tanstack_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext())
1297
+ }, cell.id);
1298
+ if (isPinned) {
1299
+ const leftBumpFromNesting = !leftMostNonSpecialColumnFound ? row.depth * dynamicNestSpacing : 0;
1300
+ const width = cell.column.columnDef.meta?.width ? `${cell.column.columnDef.meta?.width}px` : void 0;
1301
+ const minWidth = cell.column.columnDef.meta?.minWidth ? `${cell.column.columnDef.meta?.minWidth}px` : width ?? `${cell.column.getSize()}px`;
1302
+ const stickyTableCell = cell.column.id === "expand-col" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StickyTDWithGapCoverage, {
1303
+ left: (pinningStyles.left ? parseInt(pinningStyles.left) : 0) + leftBumpFromNesting,
1304
+ style: {
1305
+ minWidth,
1306
+ textAlign: cell.column.columnDef.meta?.align
1307
+ },
1308
+ hasRightBorder: pinningStyles.hasRightBorder,
1309
+ $gapCoverage: leftBumpFromNesting,
1310
+ children: (0, _tanstack_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext())
1311
+ }, cell.id) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.StickyTD, {
1312
+ left: (pinningStyles.left ? parseInt(pinningStyles.left) : 0) + leftBumpFromNesting,
1313
+ style: {
1314
+ minWidth,
1315
+ textAlign: cell.column.columnDef.meta?.align
1316
+ },
1317
+ hasRightBorder: pinningStyles.hasRightBorder,
1318
+ children: (0, _tanstack_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext())
1319
+ }, cell.id);
1320
+ if (!leftMostNonSpecialColumnFound && !isFeatureCol(cell.column.id)) leftMostNonSpecialColumnFound = true;
1321
+ return stickyTableCell;
1322
+ }
1323
+ const tableCell = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledTableTD, {
1324
+ style: { textAlign: cell.column.columnDef.meta?.align },
1325
+ width: isFeatureCol(cell.column.id) ? "1%" : void 0,
1326
+ $nestSpacing: leftMostNonSpecialColumnFound ? void 0 : row.depth * dynamicNestSpacing,
1327
+ $isFeatureCol: isFeatureCol(cell.column.id),
1328
+ children: (0, _tanstack_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext())
1329
+ }, cell.id);
1330
+ if (!leftMostNonSpecialColumnFound && !isFeatureCol(cell.column.id)) leftMostNonSpecialColumnFound = true;
1331
+ return tableCell;
1332
+ });
1333
+ const isRowActive = rowId === activeRowId;
1334
+ const handleRowClick = onRowClick != null ? () => {
1335
+ onRowClick(rowId);
1336
+ } : canExpand ? () => {
1337
+ toggleRowExpansion(rowId);
1338
+ } : void 0;
1339
+ const rowProps = {
1340
+ key: rowId,
1341
+ "aria-label": rowLabel,
1342
+ onClick: handleRowClick,
1343
+ $isActive: isRowActive,
1344
+ disableHoverBackground: disableRowHover,
1345
+ css: { cursor: handleRowClick ? "pointer" : void 0 },
1346
+ ...isRowWithTourTarget(row.original) && { "data-tour-target": row.original.dataTourTarget }
1347
+ };
1348
+ const RowLinkComponent = rowLinkComponent ?? react_router_dom.Link;
1349
+ const elements = [getLinkToRow || rowLinkPrefix ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableTR, {
1350
+ ...rowProps,
1351
+ as: RowLinkComponent,
1352
+ to: getLinkToRow ? getLinkToRow(row.original) : `${rowLinkPrefix}/${rowId}`,
1353
+ children: rowElements
1354
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableTR, {
1355
+ ...rowProps,
1356
+ children: rowElements
1357
+ })];
1358
+ if (canExpand && isExpanded) {
1359
+ let detailContent = null;
1360
+ if (isRowWithDetails(rowData) && rowData._details) if (typeof rowData._details === "function") detailContent = rowData._details(rowData);
1361
+ else detailContent = rowData._details;
1362
+ else if (detailComponent) detailContent = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(detailComponent, { rowData });
1363
+ if (detailContent) {
1364
+ const detailCells = initialColumnPinning?.left?.length ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.StickyTD, {
1365
+ colSpan: 1,
1366
+ left: pinnedColumnLeftOffset
1367
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StickyDetailsTD, {
1368
+ colSpan: tableHeaderGroup.headers.length - 1,
1369
+ left: EXPAND_COLUMN_WIDTH + pinnedColumnLeftOffset,
1370
+ children: detailContent
1371
+ })] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableTD, { colSpan: 1 }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DetailsTD, {
1372
+ colSpan: tableHeaderGroup.headers.length - 1,
1373
+ children: detailContent
1374
+ })] });
1375
+ elements.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableTR, {
1376
+ disableHoverBackground: true,
1377
+ children: detailCells
1378
+ }, `${row.id}-details`));
1379
+ }
1380
+ }
1381
+ if (onAddRow && (!canAddAfterRow || canAddAfterRow?.(rowData, row.getIsExpanded() && isRowWithSubrows(rowData)))) elements.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Inserter, {
1382
+ priorRowLabel: `Row ${rowId}`,
1383
+ colSpan: tableHeaderGroup.headers.length,
1384
+ onAddRow: () => onAddRow(rowId, row.getIsExpanded() && isRowWithSubrows(rowData)),
1385
+ nestSpacing: row.depth * dynamicNestSpacing
1386
+ }, `${rowId}-inserter`));
1387
+ return elements;
1388
+ }) })
1389
+ }), shouldShowFloatingActionBar && actions && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FloatingActionBarContainer, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FloatingActionBar, {
1390
+ selectedCount: selectedRows.length,
1391
+ onClearSelection: () => table.setRowSelection({}),
1392
+ actions,
1393
+ extraContent: floatingBarContent
1394
+ }) })]
1395
+ }),
1396
+ pagination && data.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Pagination.Pagination_default, {
1397
+ pageSize: table.getState().pagination.pageSize,
1398
+ pageSizeOptions: typeof pagination === "object" ? pagination.pageSizeOptions : void 0,
1399
+ showPageSizeSelector: isServerPagination(pagination) ? pagination.showPageSizeSelector : void 0,
1400
+ paginationParams: {
1401
+ "current-page": table.getState().pagination.pageIndex + 1,
1402
+ "total-count": table.getRowCount(),
1403
+ "total-pages": table.getPageCount()
1404
+ },
1405
+ handlePageLinkClick: (pageNumber) => table.setPageIndex(pageNumber - 1),
1406
+ handlePageSizeClick: table.setPageSize,
1407
+ onPageChange: isServerPagination(pagination) ? pagination.onPageChange : void 0
1408
+ })
1409
+ ]
1410
+ });
1411
+ };
1412
+ //#endregion
1413
+ exports.DataTable = DataTable;
1414
+ exports.DataTableContainer = DataTableContainer;
1415
+ exports.DataTableControls = DataTableControls;
1416
+ exports.FloatingActionBar = FloatingActionBar;
1417
+ exports.FloatingActionBarContainer = FloatingActionBarContainer;
1418
+ exports.Inserter = Inserter;
1419
+ exports.default = DataTable;
1420
+ exports.getColumnWidths = getColumnWidths;
1421
+ exports.renderAsCheckbox = renderAsCheckbox;
1422
+ exports.renderAsCheckboxHeader = renderAsCheckboxHeader;
1423
+ exports.renderAsCopyableString = renderAsCopyableString;
1424
+ exports.renderAsDate = renderAsDate;
1425
+ exports.renderAsDatetime = renderAsDatetime;
1426
+ exports.renderAsLightweightImage = renderAsLightweightImage;
1427
+ exports.renderAsNumber = renderAsNumber;
1428
+ exports.renderAsPDSFormat = renderAsPDSFormat;
1429
+ exports.renderAsPii = renderAsPii;
1430
+ exports.renderAsSticker = renderAsSticker;
1431
+ exports.renderAsString = renderAsString;
1432
+ exports.renderAsURL = renderAsURL;
1433
+ exports.useTableColumns = useTableColumns;
1434
+
1435
+ //# sourceMappingURL=index.cjs.map