@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,1202 @@
1
+ const require_chunk = require("./chunk-CKQMccvm.cjs");
2
+ const require_mixins_focus = require("./mixins/focus.cjs");
3
+ require("./variables/effect.cjs");
4
+ require("./variables/transitions.cjs");
5
+ const require_mixins_text = require("./mixins/text.cjs");
6
+ const require_lib_reorderItems = require("./lib/reorderItems.cjs");
7
+ const require_lib_useScrollOverflow = require("./lib/useScrollOverflow.cjs");
8
+ const require_lib_zindex = require("./lib/zindex.cjs");
9
+ const require_Stack = require("./Stack-BF-9YjA1.cjs");
10
+ const require_IconButton = require("./IconButton-DNy7g5zh.cjs");
11
+ const require_useFormGroup = require("./useFormGroup-DQJdKaL9.cjs");
12
+ const require_Menu = require("./Menu-BLbEcodU.cjs");
13
+ const require_DropdownMenu = require("./DropdownMenu-CeqZAxjs.cjs");
14
+ const require_Combobox = require("./Combobox-R3_NDBi3.cjs");
15
+ const require_Table = require("./Table-B3FJsvXP.cjs");
16
+ const require_Popover = require("./Popover-jHZICnQt.cjs");
17
+ const require_FormControl = require("./FormControl-DjxkL5Ft.cjs");
18
+ let _persona_design_tokens = require("@persona/design-tokens");
19
+ let styled_components = require("styled-components");
20
+ styled_components = require_chunk.__toESM(styled_components);
21
+ let react = require("react");
22
+ let react_jsx_runtime = require("react/jsx-runtime");
23
+ let _persona_icons = require("@persona/icons");
24
+ let _persona_icons_12px = require("@persona/icons/12px");
25
+ let lodash_fp_uniqueId_js = require("lodash/fp/uniqueId.js");
26
+ lodash_fp_uniqueId_js = require_chunk.__toESM(lodash_fp_uniqueId_js);
27
+ let _dnd_kit_core = require("@dnd-kit/core");
28
+ let _dnd_kit_sortable = require("@dnd-kit/sortable");
29
+ //#region components/TableBox/tableBoxKeyboardNavigation.ts
30
+ const INLINE_EDITOR_SELECTOR = "[data-tablebox-inline-edit-trigger], input[role=\"combobox\"]";
31
+ const findInlineEditor = (cell) => cell?.querySelector(INLINE_EDITOR_SELECTOR) ?? null;
32
+ const isCaretAtNavigationBoundary = (input, direction) => {
33
+ const { selectionStart, selectionEnd, value } = input;
34
+ if (selectionStart == null || selectionEnd == null || selectionStart !== selectionEnd) return false;
35
+ return direction === "left" ? selectionStart === 0 : selectionEnd === value.length;
36
+ };
37
+ const focusAdjacentInlineEditor = (target, direction) => {
38
+ const currentCell = target.closest("td");
39
+ const currentRow = currentCell?.closest("tr");
40
+ if (!(currentCell instanceof HTMLTableCellElement) || currentRow == null) return false;
41
+ if (direction === "up" || direction === "down") {
42
+ const adjacentRow = direction === "up" ? currentRow.previousElementSibling : currentRow.nextElementSibling;
43
+ if (!(adjacentRow instanceof HTMLTableRowElement)) return false;
44
+ const adjacentEditor = findInlineEditor(adjacentRow.cells.item(currentCell.cellIndex));
45
+ adjacentEditor?.focus();
46
+ return adjacentEditor != null;
47
+ }
48
+ let adjacentCell = direction === "left" ? currentCell.previousElementSibling : currentCell.nextElementSibling;
49
+ while (adjacentCell instanceof HTMLTableCellElement) {
50
+ const adjacentEditor = findInlineEditor(adjacentCell);
51
+ if (adjacentEditor != null) {
52
+ adjacentEditor.focus();
53
+ return true;
54
+ }
55
+ adjacentCell = direction === "left" ? adjacentCell.previousElementSibling : adjacentCell.nextElementSibling;
56
+ }
57
+ return false;
58
+ };
59
+ //#endregion
60
+ //#region components/TableBox/InlineCombobox.tsx
61
+ const StyledCombobox = (0, styled_components.default)(require_Combobox.Combobox)`
62
+ border: none;
63
+ background-color: transparent;
64
+
65
+ /* Suppress the focus outline — it extends outside the input and is clipped
66
+ by the scroll container. Use && for specificity. */
67
+ && input,
68
+ && input:focus-visible:not(:disabled) {
69
+ outline: none;
70
+ }
71
+
72
+ ${({ $hideText }) => $hideText && `
73
+ input {
74
+ color: transparent;
75
+ caret-color: transparent;
76
+ }
77
+ input::placeholder {
78
+ color: transparent;
79
+ }
80
+ `}
81
+ `;
82
+ const ChildrenOverlay = styled_components.default.div`
83
+ position: absolute;
84
+ left: ${_persona_design_tokens.Spacing[2]};
85
+ top: 50%;
86
+ transform: translateY(-50%);
87
+ z-index: 1;
88
+ pointer-events: none;
89
+
90
+ // ${_persona_design_tokens.Spacing[5]} matches the sm ComboboxInput padding-right, keeping the text clear of the caret.
91
+ ${({ $truncate }) => $truncate && `
92
+ right: ${_persona_design_tokens.Spacing[5]};
93
+ `}
94
+ `;
95
+ const ComboboxWrapper = styled_components.default.div`
96
+ position: relative;
97
+ width: 100%;
98
+ `;
99
+ const InlineCombobox = ({ itemId, value, columnKey, inlineEditConfig, children, rowRef }) => {
100
+ const [isOpen, setIsOpen] = (0, react.useState)(false);
101
+ const context = (0, react.useContext)(TableBoxContext);
102
+ const onEditingChange = context?.onEditingChange;
103
+ const currentColumn = context?.columns?.find((c) => c.key === columnKey);
104
+ const placeholder = inlineEditConfig?.placeholder || currentColumn?.title || "";
105
+ const portalContainerRef = (inlineEditConfig?.fullWidthComboboxDropdown || false) && rowRef ? rowRef : void 0;
106
+ const showOverlay = !isOpen && !!children;
107
+ const handleOpenChange = (0, react.useCallback)((open) => {
108
+ setIsOpen(open);
109
+ onEditingChange?.(open);
110
+ }, [onEditingChange]);
111
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ComboboxWrapper, {
112
+ onKeyDownCapture: (event) => {
113
+ if (isOpen || event.key !== "ArrowLeft" && event.key !== "ArrowRight") return;
114
+ const direction = event.key === "ArrowLeft" ? "left" : "right";
115
+ if (!(event.target instanceof HTMLInputElement) || !isCaretAtNavigationBoundary(event.target, direction)) return;
116
+ if (focusAdjacentInlineEditor(event.currentTarget, direction)) {
117
+ event.preventDefault();
118
+ event.stopPropagation();
119
+ }
120
+ },
121
+ children: [showOverlay && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChildrenOverlay, {
122
+ $truncate: inlineEditConfig?.truncateDisplay,
123
+ children
124
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledCombobox, {
125
+ $hideText: showOverlay,
126
+ value,
127
+ options: inlineEditConfig?.options || [],
128
+ onChange: (newValue) => {
129
+ if (inlineEditConfig?.onChange && newValue !== value && typeof newValue === "string") inlineEditConfig.onChange(itemId, newValue);
130
+ },
131
+ onOpenChange: handleOpenChange,
132
+ placeholder,
133
+ size: "sm",
134
+ portal: inlineEditConfig?.useComboboxPortal || false,
135
+ portalContainerRef
136
+ })]
137
+ });
138
+ };
139
+ //#endregion
140
+ //#region components/TableBox/TableBoxRowContext.ts
141
+ const TableBoxRowContext = (0, react.createContext)(null);
142
+ //#endregion
143
+ //#region components/TableBox/InlineInput.tsx
144
+ const sharedInputStyles = styled_components.css`
145
+ font: inherit;
146
+ color: inherit;
147
+ outline: none;
148
+ border: none;
149
+ padding: 0;
150
+ pointer-events: auto;
151
+ width: 100%;
152
+ background: transparent;
153
+ line-height: ${_persona_design_tokens.Typography.TextSmall.lineHeight};
154
+ `;
155
+ const InlineEditInput = styled_components.default.input`
156
+ ${sharedInputStyles}
157
+ `;
158
+ const InlineEditTextarea = styled_components.default.textarea`
159
+ ${sharedInputStyles}
160
+ resize: none;
161
+ overflow-y: auto;
162
+ min-height: ${_persona_design_tokens.Typography.TextSmall.lineHeight};
163
+ scrollbar-width: none;
164
+ `;
165
+ const InlineEditDisplay = styled_components.default.div`
166
+ cursor: text;
167
+ outline: none;
168
+ width: 100%;
169
+ height: 100%;
170
+ min-height: ${_persona_design_tokens.Typography.TextSmall.lineHeight};
171
+ line-height: ${_persona_design_tokens.Typography.TextSmall.lineHeight};
172
+
173
+ ${({ $multiline }) => $multiline ? styled_components.css`
174
+ display: -webkit-box;
175
+ -webkit-line-clamp: 2;
176
+ -webkit-box-orient: vertical;
177
+ overflow: hidden;
178
+ text-overflow: ellipsis;
179
+ white-space: pre-wrap;
180
+ word-break: break-word;
181
+ ` : styled_components.css`
182
+ white-space: nowrap;
183
+ overflow: hidden;
184
+ text-overflow: ellipsis;
185
+ `}
186
+ `;
187
+ const InlineInput = ({ itemId, value, columnKey, inlineEditConfig, children }) => {
188
+ const { columns, newRowId, onEditingChange, scheduleCreateNewRowAfterCommit } = (0, react.useContext)(TableBoxContext) ?? {};
189
+ const rowContext = (0, react.useContext)(TableBoxRowContext);
190
+ const [isInlineEditing, setIsInlineEditing] = (0, react.useState)(itemId === newRowId && columnKey === columns?.[0]?.key);
191
+ const [editValue, setEditValue] = (0, react.useState)(value);
192
+ const inputRef = (0, react.useRef)(null);
193
+ const textareaRef = (0, react.useRef)(null);
194
+ const cancelledRef = (0, react.useRef)(false);
195
+ const isMultiline = inlineEditConfig?.multiline === true;
196
+ (0, react.useEffect)(() => {
197
+ return () => {
198
+ cancelledRef.current = false;
199
+ };
200
+ }, []);
201
+ (0, react.useLayoutEffect)(() => {
202
+ if (isInlineEditing && isMultiline && textareaRef.current) {
203
+ const textarea = textareaRef.current;
204
+ textarea.style.height = "auto";
205
+ textarea.style.height = `${textarea.scrollHeight}px`;
206
+ }
207
+ }, [
208
+ isInlineEditing,
209
+ editValue,
210
+ isMultiline
211
+ ]);
212
+ (0, react.useEffect)(() => {
213
+ if (isInlineEditing && isMultiline && textareaRef.current) {
214
+ const length = textareaRef.current.value.length;
215
+ textareaRef.current.setSelectionRange(length, length);
216
+ }
217
+ }, [isInlineEditing, isMultiline]);
218
+ const placeholder = (0, react.useMemo)(() => {
219
+ const column = columns?.find((c) => c.key === columnKey);
220
+ return column?.inlineEditConfig?.placeholder || column?.title || "";
221
+ }, [columns, columnKey]);
222
+ const handleInlineEditKeyDown = (e) => {
223
+ const isFirstCell = columnKey === columns?.[0]?.key;
224
+ if ((e.key === "Delete" || e.key === "Backspace") && isFirstCell && editValue === "" && rowContext?.isBlank && rowContext.onDelete) {
225
+ e.preventDefault();
226
+ e.stopPropagation();
227
+ cancelledRef.current = true;
228
+ onEditingChange?.(false);
229
+ if (!(focusAdjacentInlineEditor(e.currentTarget, "down") || focusAdjacentInlineEditor(e.currentTarget, "up"))) e.currentTarget.closest("table")?.focus();
230
+ rowContext.onDelete();
231
+ } else if (!isMultiline && (e.key === "ArrowUp" || e.key === "ArrowDown" || e.key === "ArrowLeft" || e.key === "ArrowRight")) {
232
+ const direction = e.key === "ArrowUp" ? "up" : e.key === "ArrowDown" ? "down" : e.key === "ArrowLeft" ? "left" : "right";
233
+ if ((direction === "up" || direction === "down" || e.currentTarget instanceof HTMLInputElement && isCaretAtNavigationBoundary(e.currentTarget, direction)) && focusAdjacentInlineEditor(e.currentTarget, direction)) {
234
+ e.preventDefault();
235
+ e.stopPropagation();
236
+ }
237
+ } else if (e.key === "Enter") if (isMultiline) {
238
+ if (e.ctrlKey || e.metaKey) {
239
+ e.preventDefault();
240
+ e.stopPropagation();
241
+ handleInlineEditConfirm();
242
+ setIsInlineEditing(false);
243
+ }
244
+ } else {
245
+ e.preventDefault();
246
+ e.stopPropagation();
247
+ handleInlineEditConfirm();
248
+ setIsInlineEditing(false);
249
+ const isLastCell = columnKey === columns?.at(-1)?.key;
250
+ const currentRow = e.currentTarget.closest("tr");
251
+ const isLastRow = currentRow != null && currentRow.nextElementSibling == null;
252
+ if (isLastCell && isLastRow) scheduleCreateNewRowAfterCommit?.();
253
+ }
254
+ else if (e.key === "Tab") handleInlineEditConfirm();
255
+ else if (e.key === "Escape") {
256
+ e.preventDefault();
257
+ e.stopPropagation();
258
+ handleInlineEditCancel();
259
+ }
260
+ };
261
+ const handleInlineEditConfirm = () => {
262
+ if (inlineEditConfig?.onChange && editValue !== value) inlineEditConfig.onChange(itemId, editValue);
263
+ };
264
+ const handleInlineEditCancel = () => {
265
+ cancelledRef.current = true;
266
+ setEditValue(value);
267
+ setIsInlineEditing(false);
268
+ onEditingChange?.(false);
269
+ };
270
+ const handleInlineEditBlur = () => {
271
+ if (!cancelledRef.current) handleInlineEditConfirm();
272
+ cancelledRef.current = false;
273
+ setIsInlineEditing(false);
274
+ onEditingChange?.(false);
275
+ };
276
+ return isInlineEditing ? isMultiline ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineEditTextarea, {
277
+ ref: textareaRef,
278
+ value: editValue,
279
+ onChange: (e) => setEditValue(e.target.value),
280
+ onBlur: handleInlineEditBlur,
281
+ onKeyDown: handleInlineEditKeyDown,
282
+ placeholder,
283
+ autoFocus: true,
284
+ rows: 1
285
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineEditInput, {
286
+ ref: inputRef,
287
+ value: editValue,
288
+ onChange: (e) => setEditValue(e.target.value),
289
+ onBlur: handleInlineEditBlur,
290
+ onKeyDown: handleInlineEditKeyDown,
291
+ placeholder,
292
+ autoFocus: true
293
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineEditDisplay, {
294
+ tabIndex: 0,
295
+ "data-tablebox-inline-edit-trigger": true,
296
+ $multiline: isMultiline,
297
+ onFocus: () => {
298
+ setEditValue(value);
299
+ onEditingChange?.(true);
300
+ setIsInlineEditing(true);
301
+ },
302
+ children: children || value
303
+ });
304
+ };
305
+ //#endregion
306
+ //#region components/TableBox/TableBoxRowActions.tsx
307
+ const IconButtonWidth = 16;
308
+ const BackgroundFadeWidth = 12;
309
+ const RowActionsContainerWithFadeWidth = BackgroundFadeWidth + (parseInt(_persona_design_tokens.Spacing[1]) + IconButtonWidth + parseInt(_persona_design_tokens.Spacing[2]));
310
+ /**
311
+ * Container for row-level actions (`actions` menu and/or delete `X`). Used
312
+ * in two layouts:
313
+ *
314
+ * - **Dedicated trailing column** (`$inDedicatedColumn=true`, the default
315
+ * for horizontal-scroll mode): laid out in normal flow inside
316
+ * `PinnedActionsCell`.
317
+ * - **Overlaid in last data cell** (`$inDedicatedColumn=false`,
318
+ * `disableHorizontalScroll` mode): absolutely positioned on top of the
319
+ * last cell's content with a fade gradient so it overlaps text on hover.
320
+ *
321
+ * Other variant props:
322
+ * - `$hasCombobox` — last data column is an inline combobox; we use auto
323
+ * width so the caret↔first-action gap matches the action↔delete gap, and
324
+ * we drop the gradient so there's no fade running over the caret.
325
+ * - `$hasDelete` — fade the container in only on hover, mirroring the
326
+ * legacy "show delete on hover" behavior.
327
+ */
328
+ const RowActionsContainer = styled_components.default.div`
329
+ width: ${({ $hasCombobox }) => $hasCombobox ? "auto" : `${RowActionsContainerWithFadeWidth}px`};
330
+ position: ${({ $hasCombobox, $inDedicatedColumn }) => $hasCombobox || $inDedicatedColumn ? "static" : "absolute"};
331
+ right: ${_persona_design_tokens.Spacing[2]};
332
+ top: 0;
333
+ height: 100%;
334
+ display: flex;
335
+ gap: ${_persona_design_tokens.Spacing[1]};
336
+ align-items: center;
337
+ justify-content: end;
338
+ transition: opacity ${"200ms"} ease-out;
339
+ background: linear-gradient(
340
+ to right,
341
+ transparent,
342
+ ${_persona_design_tokens.Color.BackgroundPrimary} ${BackgroundFadeWidth}px
343
+ );
344
+
345
+ /* Combobox cells render actions inline next to the caret. The padding-left
346
+ keeps the caret↔first-action gap visually balanced with the gap between
347
+ the actions themselves. */
348
+ ${({ $hasCombobox }) => $hasCombobox && styled_components.css`
349
+ background: none;
350
+ padding-right: ${_persona_design_tokens.Spacing[2]};
351
+ padding-left: ${_persona_design_tokens.Spacing[1]};
352
+ `}
353
+
354
+ /* PinnedActionsCell is transparent (so scrolling content can pass under it);
355
+ owning the right gutter here keeps the container's opaque gradient flush
356
+ to the cell's right edge. */
357
+ ${({ $inDedicatedColumn, $hasCombobox }) => $inDedicatedColumn && !$hasCombobox && styled_components.css`
358
+ padding-right: ${_persona_design_tokens.Spacing[2]};
359
+ `}
360
+
361
+ /* Hide on hover only when delete is present (matches legacy behavior). */
362
+ ${({ $hasDelete }) => $hasDelete && styled_components.css`
363
+ opacity: 0;
364
+ `}
365
+
366
+ /* Make room for both buttons; combobox cells use auto width so they can sit
367
+ inline next to the caret. */
368
+ ${({ $hasActions, $hasDelete, $hasCombobox }) => $hasActions && $hasDelete && !$hasCombobox && styled_components.css`
369
+ width: ${RowActionsContainerWithFadeWidth + parseInt(_persona_design_tokens.Spacing[1]) + IconButtonWidth}px;
370
+ `}
371
+ `;
372
+ /**
373
+ * Renders the actions menu and/or delete icon button inside a
374
+ * `RowActionsContainer`. Used both as an absolute overlay inside the
375
+ * last data cell (fixed-layout mode) and as static content inside the
376
+ * dedicated sticky trailing column (horizontal scroll mode).
377
+ */
378
+ const RowActions = ({ actions, onDelete, inDedicatedColumn, inCombobox }) => {
379
+ const hasActions = !!actions?.length;
380
+ if (!hasActions && !onDelete) return null;
381
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(RowActionsContainer, {
382
+ $hasActions: hasActions,
383
+ $hasDelete: !!onDelete,
384
+ $hasCombobox: inCombobox,
385
+ $inDedicatedColumn: inDedicatedColumn,
386
+ onClick: (e) => e.stopPropagation(),
387
+ children: [hasActions && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DropdownMenu.DropdownMenu_default, {
388
+ portal: true,
389
+ trigger: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.IconButton, {
390
+ "aria-label": "Actions",
391
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons_12px.MoreIcon, {})
392
+ }),
393
+ children: actions?.map(({ label, onClick, ...rest }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Menu.MenuItem, {
394
+ ...rest,
395
+ onClick,
396
+ size: "sm",
397
+ children: label
398
+ }, label))
399
+ }), onDelete && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.IconButton, {
400
+ "aria-label": "Delete",
401
+ onClick: onDelete,
402
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons_12px.XIcon, {})
403
+ })]
404
+ });
405
+ };
406
+ //#endregion
407
+ //#region components/TableBox/TableBoxCell.tsx
408
+ const CELL_VERTICAL_PADDING = _persona_design_tokens.Spacing[1];
409
+ const CELL_HEIGHT = `calc(${_persona_design_tokens.Typography.TextSmall.lineHeight} + (${CELL_VERTICAL_PADDING} * 2))`;
410
+ const StyledCell = (0, styled_components.default)(require_Table.TableCell)`
411
+ ${require_mixins_text.paragraphMixins.sm};
412
+ // height acts as min-height for table cells
413
+ height: ${CELL_HEIGHT};
414
+ padding: ${({ $noPadding }) => $noPadding ? _persona_design_tokens.Spacing[0] : `${CELL_VERTICAL_PADDING} ${_persona_design_tokens.Spacing[2]}`};
415
+ border-bottom: 1px solid ${_persona_design_tokens.Color.BorderHairline};
416
+ position: relative;
417
+ `;
418
+ const StyledCellContent = styled_components.default.div`
419
+ white-space: nowrap;
420
+ overflow: hidden;
421
+ text-overflow: ellipsis;
422
+ flex-grow: 1;
423
+ min-width: 0;
424
+ `;
425
+ const TableBoxCell = ({ children, itemId = "", value = "", columnKey, isLastCell = false, actions, onDelete, inlineEditConfigOverride, ...props }) => {
426
+ const context = (0, react.useContext)(TableBoxContext);
427
+ const rowContext = (0, react.useContext)(TableBoxRowContext);
428
+ if (context == null) throw new Error("TableBox context is not set");
429
+ const columnConfig = context.columns.find((c) => c.key === columnKey)?.inlineEditConfig;
430
+ let inlineEditConfig = context.disabled || columnConfig == null ? void 0 : inlineEditConfigOverride ? {
431
+ ...columnConfig,
432
+ ...inlineEditConfigOverride
433
+ } : columnConfig;
434
+ if (inlineEditConfig?.type === "combobox" && (context.hasHorizontalOverflow || inlineEditConfig?.fullWidthComboboxDropdown)) inlineEditConfig = {
435
+ ...inlineEditConfig,
436
+ useComboboxPortal: true
437
+ };
438
+ const handleDelete = () => {
439
+ if (onDelete && itemId) onDelete(itemId);
440
+ };
441
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledCell, {
442
+ ...props,
443
+ $noPadding: inlineEditConfig?.type === "combobox",
444
+ tabIndex: -1,
445
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.HStack, {
446
+ align: "center",
447
+ spacing: _persona_design_tokens.Spacing[0],
448
+ children: [inlineEditConfig ? inlineEditConfig.type === "combobox" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineCombobox, {
449
+ itemId,
450
+ value,
451
+ columnKey,
452
+ inlineEditConfig,
453
+ rowRef: rowContext?.rowRef,
454
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledCellContent, { children })
455
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineInput, {
456
+ itemId,
457
+ value,
458
+ columnKey,
459
+ inlineEditConfig,
460
+ children
461
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledCellContent, { children }), isLastCell && !context.disabled && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RowActions, {
462
+ actions,
463
+ onDelete: onDelete ? handleDelete : void 0,
464
+ inCombobox: inlineEditConfig?.type === "combobox"
465
+ })]
466
+ })
467
+ });
468
+ };
469
+ //#endregion
470
+ //#region components/TableBox/TableBoxRow.tsx
471
+ const StyledRow = (0, styled_components.default)(require_Table.TableRow)`
472
+ cursor: ${({ $isSelectable }) => $isSelectable ? "pointer" : "default"};
473
+ position: relative;
474
+ /* Give every row a solid background so sticky first-column cells (which
475
+ inherit the row's background) remain opaque during horizontal scroll. */
476
+ background-color: ${_persona_design_tokens.Color.BackgroundPrimary};
477
+
478
+ /* Dim the dragged row in place. A floating clone rendered by @dnd-kit's
479
+ DragOverlay provides the fully-opaque representation that follows the
480
+ pointer. */
481
+ ${({ $isDragging }) => $isDragging && styled_components.css`
482
+ opacity: 0.5;
483
+ `}
484
+
485
+ /* 2px brand-colored drop indicator applied to each cell via inset
486
+ box-shadow so the line spans the full row width without affecting
487
+ layout. box-shadow on <td> renders reliably across modern browsers,
488
+ unlike pseudo-elements on <tr>. */
489
+ ${({ $dropIndicatorPosition, theme }) => $dropIndicatorPosition === "top" && styled_components.css`
490
+ td {
491
+ box-shadow: inset 0 2px 0 ${theme.color.text.brand};
492
+ }
493
+ `}
494
+
495
+ ${({ $dropIndicatorPosition, theme }) => $dropIndicatorPosition === "bottom" && styled_components.css`
496
+ td {
497
+ box-shadow: inset 0 -2px 0 ${theme.color.text.brand};
498
+ }
499
+ `}
500
+
501
+ ${require_Combobox.CaretButton} {
502
+ opacity: 0;
503
+ transition: opacity ${"200ms"} ease-out;
504
+
505
+ /* Allow button to shrink to caret SVG height and width, and adjust alignment to remain vertically centered */
506
+ width: auto;
507
+ height: auto;
508
+ top: 50%;
509
+ transform: translateY(-50%);
510
+ }
511
+
512
+ &:last-child {
513
+ td {
514
+ border-bottom: none;
515
+ &:first-child {
516
+ border-bottom-left-radius: ${_persona_design_tokens.BorderRadius.Md};
517
+ }
518
+ &:last-child {
519
+ border-bottom-right-radius: ${_persona_design_tokens.BorderRadius.Md};
520
+ }
521
+ }
522
+ }
523
+
524
+ &[aria-selected='true'] {
525
+ background: ${({ theme }) => theme.color.background.highlight};
526
+ color: ${({ theme }) => theme.color.text.brand};
527
+ }
528
+
529
+ &:hover:not([aria-selected='true']) {
530
+ cursor: ${({ $isSelectable }) => $isSelectable ? "pointer" : "default"};
531
+ color: ${({ theme }) => theme.color.text.primary};
532
+ background: ${_persona_design_tokens.Color.BackgroundSecondary};
533
+
534
+ ${RowActionsContainer} {
535
+ opacity: 1;
536
+ background: linear-gradient(to right, transparent, ${_persona_design_tokens.Color.BackgroundSecondary} 12px);
537
+ }
538
+
539
+ ${require_Combobox.CaretButton} {
540
+ opacity: 1;
541
+ }
542
+ }
543
+
544
+ &:has(input:focus),
545
+ &:has(textarea:focus),
546
+ &:has(input[role='combobox'][aria-expanded='true']),
547
+ &:has(input:focus):hover,
548
+ &:has(textarea:focus):hover,
549
+ &:has(input[role='combobox'][aria-expanded='true']):hover,
550
+ &:has(button:focus),
551
+ &:has(button:focus):hover {
552
+ color: ${({ theme }) => theme.color.text.brand};
553
+ background-color: ${({ theme }) => theme.color.background.highlight};
554
+
555
+ ${RowActionsContainer} {
556
+ opacity: 1;
557
+ background: linear-gradient(
558
+ to right,
559
+ transparent,
560
+ ${({ theme }) => theme.color.background.highlight} ${parseInt(_persona_design_tokens.Spacing[3])}px
561
+ );
562
+ }
563
+
564
+ ${require_Combobox.CaretButton} {
565
+ opacity: 1;
566
+ }
567
+ }
568
+ `;
569
+ const DragHandleCell = (0, styled_components.default)(require_Table.TableCell)`
570
+ width: 24px;
571
+ padding: ${_persona_design_tokens.Spacing[0]} ${_persona_design_tokens.Spacing[1]};
572
+ border-bottom: 1px solid ${_persona_design_tokens.Color.BorderHairline};
573
+ vertical-align: middle;
574
+ text-align: center;
575
+ `;
576
+ const DragHandleButton = styled_components.default.button.attrs({ type: "button" })`
577
+ background: none;
578
+ border: none;
579
+ padding: 0;
580
+ display: inline-flex;
581
+ align-items: center;
582
+ justify-content: center;
583
+ cursor: grab;
584
+ touch-action: none;
585
+ color: ${_persona_design_tokens.Color.TextSecondary};
586
+ ${require_mixins_focus.focusOutline}
587
+
588
+ &:hover {
589
+ color: ${_persona_design_tokens.Color.TextPrimary};
590
+ }
591
+
592
+ &:active {
593
+ cursor: grabbing;
594
+ }
595
+ `;
596
+ const DropdownPopoverHeading = styled_components.default.div`
597
+ ${_persona_design_tokens.Typography.TextSmallBold};
598
+ border-bottom: 1px solid ${_persona_design_tokens.Color.BorderHairline};
599
+ padding: ${_persona_design_tokens.Spacing[2]} ${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[1]};
600
+ `;
601
+ const DropdownPopoverContent = (0, styled_components.default)(require_Stack.Stack)`
602
+ min-width: var(--radix-popover-trigger-width);
603
+ padding: ${_persona_design_tokens.Spacing[3]};
604
+
605
+ ${require_FormControl.Container} {
606
+ min-width: 0;
607
+ }
608
+ `;
609
+ const DropdownPopoverFooter = styled_components.default.div`
610
+ border-top: 1px solid ${_persona_design_tokens.Color.BorderHairline};
611
+ padding: ${_persona_design_tokens.Spacing[1]};
612
+ `;
613
+ /**
614
+ * Computes the drop-indicator position for a sortable row. Direction mirrors
615
+ * `HoverCardPropertiesEditTable` / `ListBox`: dragging from above places the
616
+ * line on the hovered row's bottom edge, dragging from below places it on the
617
+ * top edge. The dragged row itself never shows an indicator.
618
+ *
619
+ * `closestCenter` has a "dead zone" while the pointer is still over the
620
+ * dragged row's own slot (`overIndex === activeIndex`). We use the drag
621
+ * direction to show the indicator on the immediate neighbor so the
622
+ * "immediately before/after original" positions still get feedback.
623
+ */
624
+ const getDropIndicatorPosition = ({ isDragging, index, activeIndex, overIndex, draggedDirection }) => {
625
+ if (isDragging || activeIndex === -1) return;
626
+ if (overIndex === index && overIndex !== activeIndex) return activeIndex < index ? "bottom" : "top";
627
+ if (overIndex === activeIndex) {
628
+ if (draggedDirection === "up" && index === activeIndex - 1) return "bottom";
629
+ if (draggedDirection === "down" && index === activeIndex + 1) return "top";
630
+ }
631
+ };
632
+ /**
633
+ * Inner row component used when drag-and-drop is enabled on the parent
634
+ * TableBox. Subscribes to the surrounding SortableContext via useSortable and
635
+ * renders a leading drag-handle cell.
636
+ */
637
+ const SortableTableBoxRowContent = ({ id, isSelected, isSelectable, onClick, rowRef, draggedDirection, children, ...props }) => {
638
+ const { attributes, listeners, setNodeRef, isDragging, activeIndex, overIndex, index } = (0, _dnd_kit_sortable.useSortable)({ id: String(id) });
639
+ const setRefs = (element) => {
640
+ rowRef.current = element;
641
+ setNodeRef(element);
642
+ };
643
+ const dropIndicatorPosition = getDropIndicatorPosition({
644
+ isDragging,
645
+ index,
646
+ activeIndex,
647
+ overIndex,
648
+ draggedDirection
649
+ });
650
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(StyledRow, {
651
+ ...props,
652
+ ref: setRefs,
653
+ id: String(id),
654
+ onClick,
655
+ disableHoverBackground: true,
656
+ "aria-selected": isSelected,
657
+ $isSelectable: isSelectable,
658
+ $isDragging: isDragging,
659
+ $dropIndicatorPosition: dropIndicatorPosition,
660
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragHandleCell, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragHandleButton, {
661
+ "aria-label": "Drag to reorder",
662
+ ...attributes,
663
+ ...listeners,
664
+ onClick: (e) => e.stopPropagation(),
665
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.DragIcon, {})
666
+ }) }), children]
667
+ });
668
+ };
669
+ const TableBoxRow = ({ children, actions, onDelete, id, dropdownFormFields, dropdownContent, dropdownHeadingText, dropdownFooter, ...props }) => {
670
+ const context = (0, react.useContext)(TableBoxContext);
671
+ const isSelected = context?.selectedKey === id;
672
+ const isSelectable = context?.selectionMode === "single";
673
+ const isReorderable = context?.isReorderable ?? false;
674
+ const rowRegistry = context?.rowRegistry ?? null;
675
+ const draggedDirection = context?.draggedDirection ?? null;
676
+ const hasActionsColumn = context?.hasActionsColumn ?? false;
677
+ const isDisabled = context?.disabled ?? false;
678
+ const rowRef = (0, react.useRef)(null);
679
+ const effectiveActions = isDisabled ? void 0 : actions;
680
+ const effectiveOnDelete = isDisabled ? void 0 : onDelete;
681
+ const isBlank = react.Children.toArray(children).every((child) => (0, react.isValidElement)(child) && child.props.value === "");
682
+ const handleClick = () => {
683
+ if (context?.onRowClick && id && isSelectable) context.onRowClick(id);
684
+ };
685
+ const handleDelete = (0, react.useCallback)(() => {
686
+ if (effectiveOnDelete && id != null) effectiveOnDelete(id);
687
+ }, [effectiveOnDelete, id]);
688
+ const rowContextValue = (0, react.useMemo)(() => ({
689
+ rowRef,
690
+ onDelete: effectiveOnDelete && id != null ? handleDelete : void 0,
691
+ isBlank
692
+ }), [
693
+ effectiveOnDelete,
694
+ handleDelete,
695
+ id,
696
+ isBlank
697
+ ]);
698
+ const lastColumnIsCombobox = context?.columns?.at(-1)?.inlineEditConfig?.type === "combobox";
699
+ const trailingActionsCell = (0, react.useMemo)(() => hasActionsColumn ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PinnedActionsCell, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RowActions, {
700
+ actions: effectiveActions,
701
+ onDelete: effectiveOnDelete ? handleDelete : void 0,
702
+ inDedicatedColumn: true,
703
+ inCombobox: lastColumnIsCombobox
704
+ }) }) : null, [
705
+ hasActionsColumn,
706
+ effectiveActions,
707
+ effectiveOnDelete,
708
+ handleDelete,
709
+ lastColumnIsCombobox
710
+ ]);
711
+ const renderedChildren = (0, react.useMemo)(() => {
712
+ if (hasActionsColumn) return children;
713
+ const childrenArray = Array.isArray(children) ? children : [children];
714
+ const lastChildIndex = childrenArray.length - 1;
715
+ return childrenArray.map((child, index) => {
716
+ if (!(0, react.isValidElement)(child) || index !== lastChildIndex) return child;
717
+ return (0, react.cloneElement)(child, {
718
+ isLastCell: true,
719
+ actions: effectiveActions,
720
+ onDelete: effectiveOnDelete,
721
+ ...id != null && { itemId: String(id) }
722
+ });
723
+ });
724
+ }, [
725
+ hasActionsColumn,
726
+ children,
727
+ effectiveActions,
728
+ effectiveOnDelete,
729
+ id
730
+ ]);
731
+ const rowChildrenWithContext = (0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TableBoxRowContext.Provider, {
732
+ value: rowContextValue,
733
+ children: [renderedChildren, trailingActionsCell]
734
+ }), [
735
+ renderedChildren,
736
+ trailingActionsCell,
737
+ rowContextValue
738
+ ]);
739
+ (0, react.useEffect)(() => {
740
+ if (!rowRegistry || id == null) return;
741
+ const key = String(id);
742
+ const registry = rowRegistry.current;
743
+ registry.set(key, rowChildrenWithContext);
744
+ return () => {
745
+ registry.delete(key);
746
+ };
747
+ }, [
748
+ id,
749
+ rowChildrenWithContext,
750
+ rowRegistry
751
+ ]);
752
+ const shouldRenderDropdown = dropdownFormFields || dropdownContent;
753
+ const rowContent = isReorderable ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SortableTableBoxRowContent, {
754
+ ...props,
755
+ id,
756
+ isSelected,
757
+ isSelectable,
758
+ onClick: handleClick,
759
+ rowRef,
760
+ draggedDirection,
761
+ children: rowChildrenWithContext
762
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledRow, {
763
+ ...props,
764
+ ref: rowRef,
765
+ id,
766
+ onClick: handleClick,
767
+ disableHoverBackground: true,
768
+ "aria-selected": isSelected,
769
+ $isSelectable: isSelectable,
770
+ children: rowChildrenWithContext
771
+ });
772
+ if (shouldRenderDropdown) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Popover.Popover_default, {
773
+ trigger: rowContent,
774
+ open: isSelected,
775
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Popover.Popover_default.Card, {
776
+ id: context?.rowDropdownId,
777
+ noPadding: true,
778
+ style: { zIndex: require_lib_zindex.Z_INDICES.modalDropdown },
779
+ children: [
780
+ dropdownHeadingText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownPopoverHeading, { children: dropdownHeadingText }),
781
+ dropdownFormFields && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownPopoverContent, {
782
+ spacing: _persona_design_tokens.Spacing[2],
783
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useFormGroup.FormGroupContext.Provider, {
784
+ value: {
785
+ configField: true,
786
+ labelTooltipZIndex: require_lib_zindex.Z_INDICES.modalDropdownTooltip
787
+ },
788
+ children: dropdownFormFields
789
+ })
790
+ }),
791
+ dropdownContent && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownPopoverContent, {
792
+ spacing: _persona_design_tokens.Spacing[3],
793
+ children: dropdownContent
794
+ }),
795
+ dropdownFooter && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownPopoverFooter, { children: dropdownFooter })
796
+ ]
797
+ })
798
+ });
799
+ return rowContent;
800
+ };
801
+ const OverlayTable = styled_components.default.table`
802
+ width: 100%;
803
+ table-layout: fixed;
804
+ border-collapse: separate;
805
+ border-spacing: 0;
806
+ border: 1px solid ${_persona_design_tokens.Color.BorderDivider};
807
+ border-radius: ${_persona_design_tokens.BorderRadius.Md};
808
+ background: ${_persona_design_tokens.Color.BackgroundPrimary};
809
+ box-shadow: ${"0px 2px 10px 0px rgba(0, 0, 0, 0.04), 0px 5px 20px 0px rgba(0, 0, 0, 0.06), 0px 10px 40px 0px rgba(0, 0, 0, 0.08)"};
810
+ `;
811
+ /**
812
+ * Visual clone of a `TableBoxRow` used inside `@dnd-kit`'s `DragOverlay`.
813
+ * Renders a minimal table wrapper with a static drag-handle cell followed by
814
+ * the original row's cells, so the portaled overlay looks identical to the
815
+ * dragged row while it follows the pointer.
816
+ *
817
+ * `cellWidths` is the measured width (in px) of each `<td>` in the source
818
+ * row at drag start, in source order (drag handle cell first, then content
819
+ * cells). Applied via a `<colgroup>` with `table-layout: fixed` so the
820
+ * overlay's columns align 1:1 with the source table instead of re-flowing
821
+ * to the single row's content.
822
+ */
823
+ const TableBoxRowOverlay = ({ children, cellWidths }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(OverlayTable, {
824
+ "aria-hidden": "true",
825
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("colgroup", { children: cellWidths.map((width, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("col", { style: { width: `${width}px` } }, i)) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tbody", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(StyledRow, {
826
+ disableHoverBackground: true,
827
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragHandleCell, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragHandleButton, {
828
+ tabIndex: -1,
829
+ "aria-hidden": "true",
830
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.DragIcon, {})
831
+ }) }), children]
832
+ }) })]
833
+ });
834
+ //#endregion
835
+ //#region components/TableBox/useColumnWidthLock.ts
836
+ /**
837
+ * Captures the live `<th>` widths of a table the moment inline editing starts
838
+ * and clears them when editing ends.
839
+ *
840
+ * Consumers render a `<colgroup>` from `lockedColWidths` and switch the table
841
+ * to `table-layout: fixed` for the duration of the edit so the input swap
842
+ * doesn't reflow the columns.
843
+ */
844
+ const useColumnWidthLock = (tableRef, { enabled = true } = {}) => {
845
+ const [lockedColWidths, setLockedColWidths] = (0, react.useState)(null);
846
+ return {
847
+ lockedColWidths,
848
+ onEditingChange: (0, react.useCallback)((isEditing) => {
849
+ if (!enabled) return;
850
+ if (!isEditing) {
851
+ setLockedColWidths(null);
852
+ return;
853
+ }
854
+ const ths = Array.from(tableRef.current?.querySelectorAll(":scope > thead > tr > th") ?? []);
855
+ if (ths.length > 0) setLockedColWidths(ths.map((th) => th.getBoundingClientRect().width));
856
+ }, [tableRef, enabled])
857
+ };
858
+ };
859
+ //#endregion
860
+ //#region components/TableBox/useTableBoxDragAndDrop.ts
861
+ const DRAG_DIRECTION_THRESHOLD = 4;
862
+ /**
863
+ * Bundles the `@dnd-kit` wiring TableBox needs to support row reordering:
864
+ * sensors, lifecycle handlers, the dragged row's overlay content, and the
865
+ * pointer direction used by rows to position drop indicators in dnd-kit's
866
+ * "dead zone" (overIndex === activeIndex).
867
+ *
868
+ * Also forces a `grabbing` cursor on `<body>` while a row is active so the
869
+ * cursor persists when the pointer leaves the drag handle.
870
+ */
871
+ const useTableBoxDragAndDrop = ({ tableRef, reorderConfig }) => {
872
+ const sensors = (0, _dnd_kit_core.useSensors)((0, _dnd_kit_core.useSensor)(_dnd_kit_core.PointerSensor), (0, _dnd_kit_core.useSensor)(_dnd_kit_core.KeyboardSensor, { coordinateGetter: _dnd_kit_sortable.sortableKeyboardCoordinates }));
873
+ const rowRegistry = (0, react.useRef)(/* @__PURE__ */ new Map());
874
+ const [activeId, setActiveId] = (0, react.useState)(null);
875
+ const [draggedDirection, setDraggedDirection] = (0, react.useState)(null);
876
+ const [overlayCellWidths, setOverlayCellWidths] = (0, react.useState)(null);
877
+ (0, react.useEffect)(() => {
878
+ if (activeId == null) return;
879
+ const previous = document.body.style.cursor;
880
+ document.body.style.cursor = "grabbing";
881
+ return () => {
882
+ document.body.style.cursor = previous;
883
+ };
884
+ }, [activeId]);
885
+ const sortableIds = (0, react.useMemo)(() => {
886
+ if (!reorderConfig) return [];
887
+ return reorderConfig.items.map((item) => String(item[reorderConfig.itemKeyPath]));
888
+ }, [reorderConfig]);
889
+ const handleDragStart = (0, react.useCallback)((event) => {
890
+ const id = String(event.active.id);
891
+ setActiveId(id);
892
+ setDraggedDirection(null);
893
+ const rowElement = tableRef.current?.querySelector(`tr[id="${CSS.escape(id)}"]`);
894
+ if (rowElement) setOverlayCellWidths(Array.from(rowElement.children).filter((child) => child.tagName === "TD").map((td) => td.getBoundingClientRect().width));
895
+ else setOverlayCellWidths(null);
896
+ }, [tableRef]);
897
+ const handleDragMove = (0, react.useCallback)((event) => {
898
+ const { y } = event.delta;
899
+ const next = y < -DRAG_DIRECTION_THRESHOLD ? "up" : y > DRAG_DIRECTION_THRESHOLD ? "down" : null;
900
+ setDraggedDirection((prev) => prev === next ? prev : next);
901
+ }, []);
902
+ const resetDragState = (0, react.useCallback)(() => {
903
+ setActiveId(null);
904
+ setDraggedDirection(null);
905
+ setOverlayCellWidths(null);
906
+ }, []);
907
+ return {
908
+ activeId,
909
+ overlayCellWidths,
910
+ draggedDirection,
911
+ sortableIds,
912
+ rowRegistry,
913
+ dndContextProps: {
914
+ sensors,
915
+ collisionDetection: _dnd_kit_core.closestCenter,
916
+ onDragStart: handleDragStart,
917
+ onDragMove: handleDragMove,
918
+ onDragEnd: (0, react.useCallback)((event) => {
919
+ resetDragState();
920
+ if (!reorderConfig) return;
921
+ const { active, over } = event;
922
+ if (!over || active.id === over.id) return;
923
+ const { items, itemKeyPath, onReorder } = reorderConfig;
924
+ const fromIndex = require_lib_reorderItems.findIndexByKey(items, itemKeyPath, String(active.id));
925
+ const toIndex = require_lib_reorderItems.findIndexByKey(items, itemKeyPath, String(over.id));
926
+ if (fromIndex === -1 || toIndex === -1) return;
927
+ onReorder(require_lib_reorderItems.moveItemByIndex(items, fromIndex, toIndex));
928
+ }, [reorderConfig, resetDragState]),
929
+ onDragCancel: resetDragState
930
+ }
931
+ };
932
+ };
933
+ //#endregion
934
+ //#region components/TableBox/TableBox.tsx
935
+ const TableBoxContext = (0, react.createContext)(null);
936
+ const DRAG_HANDLE_CELL_WIDTH = 24;
937
+ const RIGHT_FADE_WIDTH = 48;
938
+ const HEADER_HEIGHT_PX = parseInt(_persona_design_tokens.Spacing[1], 10) * 2 + parseInt(_persona_design_tokens.Typography.TextSmall.lineHeight, 10) + 1;
939
+ const TableScrollContainer = styled_components.default.div`
940
+ border: 1px solid ${_persona_design_tokens.Color.BorderDivider};
941
+ border-radius: ${_persona_design_tokens.BorderRadius.Md};
942
+ overflow-x: ${({ $fixedLayout, $hasHorizontalOverflow }) => $fixedLayout ? "visible" : $hasHorizontalOverflow ? "auto" : "visible"};
943
+ overscroll-behavior-x: none;
944
+ `;
945
+ const ScrollAffordanceWrapper = styled_components.default.div`
946
+ position: relative;
947
+ `;
948
+ const RightFadeOverlay = styled_components.default.div`
949
+ position: absolute;
950
+ top: 1px;
951
+ right: 1px;
952
+ bottom: 1px;
953
+ width: ${RIGHT_FADE_WIDTH}px;
954
+ /* Sits above the sticky first column (z-index 2) but below the pinned
955
+ row actions (z-index 4) so action buttons stay legible. */
956
+ z-index: 3;
957
+ pointer-events: none;
958
+ background:
959
+ linear-gradient(to right, transparent, ${_persona_design_tokens.Color.BackgroundSecondary}) top left / 100%
960
+ ${Math.max(0, HEADER_HEIGHT_PX - 1)}px no-repeat,
961
+ linear-gradient(to right, transparent, ${_persona_design_tokens.Color.BackgroundPrimary}) bottom left / 100%
962
+ calc(100% - ${HEADER_HEIGHT_PX}px) no-repeat;
963
+ border-top-right-radius: ${_persona_design_tokens.BorderRadius.Md};
964
+ border-bottom-right-radius: ${_persona_design_tokens.BorderRadius.Md};
965
+ opacity: ${({ $visible }) => $visible ? 1 : 0};
966
+ transition: opacity ${"200ms"} ease-out;
967
+ `;
968
+ const stickyContentColumn = (isReorderable) => styled_components.css`
969
+ && thead th:first-child,
970
+ && tbody td:first-child {
971
+ position: sticky;
972
+ left: 0;
973
+ z-index: 2;
974
+ }
975
+
976
+ && tbody td:first-child {
977
+ background-color: inherit;
978
+ }
979
+
980
+ ${isReorderable && styled_components.css`
981
+ && thead th:nth-child(2),
982
+ && tbody td:nth-child(2) {
983
+ position: sticky;
984
+ left: ${DRAG_HANDLE_CELL_WIDTH}px;
985
+ z-index: 2;
986
+ }
987
+
988
+ && tbody td:nth-child(2) {
989
+ background-color: inherit;
990
+ }
991
+ `}
992
+ `;
993
+ const StyledTable = (0, styled_components.default)(require_Table.Table)`
994
+ caret-color: ${_persona_design_tokens.Color.BorderFocus};
995
+
996
+ &::selection {
997
+ background: ${_persona_design_tokens.Color.BackgroundLabelPurple};
998
+ }
999
+
1000
+ ${({ $fixedLayout, $isReorderable }) => $fixedLayout ? styled_components.css`
1001
+ /* Legacy: truncate long cell content to container width. */
1002
+ table-layout: fixed;
1003
+ ` : stickyContentColumn($isReorderable)}
1004
+
1005
+ /* Lock column widths while inline editing to prevent layout reflow. */
1006
+ ${({ $fixedLayout, $lockedWidth }) => !$fixedLayout && $lockedWidth != null && styled_components.css`
1007
+ table-layout: fixed;
1008
+ width: ${$lockedWidth}px;
1009
+ `}
1010
+
1011
+ /* Subtle right border on the sticky column when content extends off-screen
1012
+ — inset shadow keeps it layout-neutral. */
1013
+ ${({ $hasHorizontalOverflow, $isReorderable, $fixedLayout }) => $hasHorizontalOverflow && !$fixedLayout && styled_components.css`
1014
+ ${$isReorderable ? `&& thead th:nth-child(2), && tbody td:nth-child(2)` : `&& thead th:first-child, && tbody td:first-child`} {
1015
+ box-shadow: inset -1px 0 0 ${_persona_design_tokens.Color.BorderDivider};
1016
+ }
1017
+ `}
1018
+
1019
+ /* When the header is hidden, round the first body row's outer corners so
1020
+ they line up with the surrounding container's rounded border. */
1021
+ ${({ $hideHeader }) => $hideHeader && styled_components.css`
1022
+ && tbody tr:first-child td:first-child {
1023
+ border-top-left-radius: ${_persona_design_tokens.BorderRadius.Md};
1024
+ }
1025
+ && tbody tr:first-child td:last-child {
1026
+ border-top-right-radius: ${_persona_design_tokens.BorderRadius.Md};
1027
+ }
1028
+ `}
1029
+ `;
1030
+ const StyledTableHeaderCell = (0, styled_components.default)(require_Table.TableHeaderCell)`
1031
+ padding: ${_persona_design_tokens.Spacing[1]} ${_persona_design_tokens.Spacing[2]};
1032
+ border-bottom: 1px solid ${_persona_design_tokens.Color.BorderDivider};
1033
+ ${require_mixins_text.paragraphMixins.sm};
1034
+
1035
+ /* Border radius for corner cells */
1036
+ &:first-child {
1037
+ border-radius: ${_persona_design_tokens.BorderRadius.Md} 0 0 0;
1038
+ }
1039
+
1040
+ &:last-child {
1041
+ border-radius: 0 ${_persona_design_tokens.BorderRadius.Md} 0 0;
1042
+ }
1043
+ `;
1044
+ const DragHandleHeaderCell = (0, styled_components.default)(StyledTableHeaderCell)`
1045
+ width: 24px;
1046
+ padding: ${_persona_design_tokens.Spacing[1]} ${_persona_design_tokens.Spacing[0]};
1047
+ `;
1048
+ const PinnedActionsCell = (0, styled_components.default)(require_Table.TableCell)`
1049
+ position: sticky;
1050
+ right: 0;
1051
+ z-index: 4;
1052
+ background: transparent;
1053
+ border-bottom: 1px solid ${_persona_design_tokens.Color.BorderHairline};
1054
+ padding: 0;
1055
+ width: ${RowActionsContainerWithFadeWidth}px;
1056
+ height: 1px; /* dummy height lets the child use height: 100% */
1057
+ `;
1058
+ const EmptyStateCell = (0, styled_components.default)(require_Table.TableCell)`
1059
+ ${require_mixins_text.paragraphMixins.sm};
1060
+ padding: ${_persona_design_tokens.Spacing[2]};
1061
+ color: ${_persona_design_tokens.Color.TextSecondary};
1062
+ border-bottom: none;
1063
+ `;
1064
+ const TableBox = ({ children, emptyText, selectedKey, defaultSelectedKey, columns, onSelectionChange, selectionMode = "none", newRowId, onCreateNewRow: onCreateNewRowProp, disabled = false, reorderConfig, disableHorizontalScroll: disableHorizontalScrollProp = false, hideHeader = false, "aria-label": ariaLabel, ...props }) => {
1065
+ const tableRef = (0, react.useRef)(null);
1066
+ const scrollContainerRef = (0, react.useRef)(null);
1067
+ const tableBoxId = (0, react.useMemo)(() => (0, lodash_fp_uniqueId_js.default)("tablebox-"), []);
1068
+ const rowDropdownId = `${tableBoxId}-row-dropdown`;
1069
+ const hasInlineEditableColumn = columns.some((c) => c.inlineEditConfig != null);
1070
+ const disableHorizontalScroll = disableHorizontalScrollProp || hasInlineEditableColumn;
1071
+ const { hasHorizontalOverflow, hasMoreScrollRight } = require_lib_useScrollOverflow.useScrollOverflow(scrollContainerRef, { enabled: !disableHorizontalScroll });
1072
+ const { lockedColWidths, onEditingChange } = useColumnWidthLock(tableRef, { enabled: !disableHorizontalScroll });
1073
+ const [internalSelectedKey, setInternalSelectedKey] = (0, react.useState)(defaultSelectedKey ?? null);
1074
+ const [shouldCreateNewRowAfterCommit, setShouldCreateNewRowAfterCommit] = (0, react.useState)(false);
1075
+ const currentSelectedKey = selectedKey ?? internalSelectedKey;
1076
+ const scheduleCreateNewRowAfterCommit = () => {
1077
+ setShouldCreateNewRowAfterCommit(true);
1078
+ };
1079
+ const handleRowClick = (0, react.useCallback)((rowId) => {
1080
+ if (selectionMode === "none") return;
1081
+ if (!onSelectionChange) setInternalSelectedKey(rowId);
1082
+ else onSelectionChange(rowId);
1083
+ }, [onSelectionChange, selectionMode]);
1084
+ const handleOutsideClick = (0, react.useCallback)((event) => {
1085
+ if (!document.querySelector(`[id="${rowDropdownId}"][data-state="open"]`)) return;
1086
+ const target = event.target;
1087
+ const isOutsideTableBox = tableRef.current && !tableRef.current.contains(target);
1088
+ const isOnRowDropdownContent = target.closest(`[id="${rowDropdownId}"]`);
1089
+ if (isOutsideTableBox && !isOnRowDropdownContent && currentSelectedKey != null) if (!onSelectionChange) setInternalSelectedKey(null);
1090
+ else onSelectionChange(null);
1091
+ }, [
1092
+ currentSelectedKey,
1093
+ onSelectionChange,
1094
+ rowDropdownId
1095
+ ]);
1096
+ (0, react.useEffect)(() => {
1097
+ document.addEventListener("mousedown", handleOutsideClick);
1098
+ return () => {
1099
+ document.removeEventListener("mousedown", handleOutsideClick);
1100
+ };
1101
+ }, [handleOutsideClick]);
1102
+ (0, react.useEffect)(() => {
1103
+ if (!shouldCreateNewRowAfterCommit) return;
1104
+ setShouldCreateNewRowAfterCommit(false);
1105
+ onCreateNewRowProp?.();
1106
+ }, [onCreateNewRowProp, shouldCreateNewRowAfterCommit]);
1107
+ const { activeId, overlayCellWidths, draggedDirection, sortableIds, rowRegistry, dndContextProps } = useTableBoxDragAndDrop({
1108
+ tableRef,
1109
+ reorderConfig: disabled ? void 0 : reorderConfig
1110
+ });
1111
+ const isReorderable = !disabled && reorderConfig != null;
1112
+ const hasActionsColumn = !disableHorizontalScroll;
1113
+ const contextValue = {
1114
+ disabled,
1115
+ newRowId,
1116
+ columns,
1117
+ selectedKey: currentSelectedKey,
1118
+ selectionMode,
1119
+ onRowClick: handleRowClick,
1120
+ tableBoxId,
1121
+ rowDropdownId,
1122
+ isReorderable,
1123
+ rowRegistry: isReorderable ? rowRegistry : null,
1124
+ draggedDirection,
1125
+ hasActionsColumn,
1126
+ hasHorizontalOverflow,
1127
+ onEditingChange,
1128
+ scheduleCreateNewRowAfterCommit: onCreateNewRowProp ? scheduleCreateNewRowAfterCommit : void 0
1129
+ };
1130
+ const isEmpty = Array.isArray(children) ? children.length === 0 : children == null;
1131
+ const totalColumnCount = columns.length + (isReorderable ? 1 : 0) + (hasActionsColumn ? 1 : 0);
1132
+ const activeRowContent = activeId ? rowRegistry.current.get(activeId) ?? null : null;
1133
+ const tableContent = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ScrollAffordanceWrapper, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableScrollContainer, {
1134
+ ref: scrollContainerRef,
1135
+ $fixedLayout: disableHorizontalScroll,
1136
+ $hasHorizontalOverflow: hasHorizontalOverflow,
1137
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(StyledTable, {
1138
+ ref: tableRef,
1139
+ size: "md",
1140
+ "aria-label": ariaLabel,
1141
+ tabIndex: -1,
1142
+ $isReorderable: isReorderable,
1143
+ $hasHorizontalOverflow: hasHorizontalOverflow,
1144
+ $fixedLayout: disableHorizontalScroll,
1145
+ $hideHeader: hideHeader,
1146
+ $lockedWidth: lockedColWidths != null ? lockedColWidths.reduce((sum, w) => sum + w, 0) : void 0,
1147
+ ...props,
1148
+ children: [
1149
+ lockedColWidths && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("colgroup", { children: lockedColWidths.map((w, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("col", { style: { width: `${w}px` } }, i)) }),
1150
+ !hideHeader && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableHead, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Table.TableRow, { children: [
1151
+ isReorderable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragHandleHeaderCell, { "aria-hidden": "true" }),
1152
+ columns.map((column) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledTableHeaderCell, { children: column.title }, column.key)),
1153
+ hasActionsColumn && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledTableHeaderCell, {
1154
+ "aria-hidden": "true",
1155
+ style: { padding: 0 }
1156
+ })
1157
+ ] }) }),
1158
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableBody, { children: isEmpty ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Table.TableRow, {
1159
+ disableHoverBackground: true,
1160
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EmptyStateCell, {
1161
+ colSpan: totalColumnCount,
1162
+ children: emptyText || "No data available."
1163
+ })
1164
+ }) : children })
1165
+ ]
1166
+ })
1167
+ }), !disableHorizontalScroll && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RightFadeOverlay, {
1168
+ "aria-hidden": "true",
1169
+ $visible: hasMoreScrollRight
1170
+ })] });
1171
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableBoxContext.Provider, {
1172
+ value: contextValue,
1173
+ children: isReorderable ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_dnd_kit_core.DndContext, {
1174
+ ...dndContextProps,
1175
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_dnd_kit_sortable.SortableContext, {
1176
+ items: sortableIds,
1177
+ strategy: _dnd_kit_sortable.verticalListSortingStrategy,
1178
+ children: tableContent
1179
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_dnd_kit_core.DragOverlay, { children: activeRowContent && overlayCellWidths && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableBoxRowOverlay, {
1180
+ cellWidths: overlayCellWidths,
1181
+ children: activeRowContent
1182
+ }) })]
1183
+ }) : tableContent
1184
+ });
1185
+ };
1186
+ TableBox.Row = TableBoxRow;
1187
+ TableBox.Cell = TableBoxCell;
1188
+ //#endregion
1189
+ Object.defineProperty(exports, "TableBox", {
1190
+ enumerable: true,
1191
+ get: function() {
1192
+ return TableBox;
1193
+ }
1194
+ });
1195
+ Object.defineProperty(exports, "TableBoxContext", {
1196
+ enumerable: true,
1197
+ get: function() {
1198
+ return TableBoxContext;
1199
+ }
1200
+ });
1201
+
1202
+ //# sourceMappingURL=TableBox-D_B9atn2.cjs.map