@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
@@ -1,6 +1,6 @@
1
- import { l as MenuItemProps } from "./Menu-DPrNMatb.cjs";
1
+ import { l as MenuItemProps } from "./Menu-C_NOsHAm.cjs";
2
2
  import { ImplementsFormField } from "./inputFields.cjs";
3
- import { r as ListBoxProps } from "./ListBox-DbyZFy2W.cjs";
3
+ import { r as ListBoxProps } from "./ListBox-DeVmbXeC.cjs";
4
4
  import { ReactNode } from "react";
5
5
  import * as _$react_jsx_runtime0 from "react/jsx-runtime.js";
6
6
 
@@ -1,8 +1,8 @@
1
- import { l as MenuItemProps } from "./Menu-DIFkRQ6x.mjs";
1
+ import { l as MenuItemProps } from "./Menu-CSgCXX0k.mjs";
2
2
  import { ImplementsFormField } from "./inputFields.mjs";
3
- import { r as ListBoxProps } from "./ListBox-AyjzT6ra.mjs";
4
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { r as ListBoxProps } from "./ListBox-CVvKa5sc.mjs";
5
4
  import { ReactNode } from "react";
5
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
6
6
 
7
7
  //#region components/FormField/ListBoxField.d.ts
8
8
  interface ListBoxFieldAction extends Omit<MenuItemProps, 'children'> {
@@ -1,7 +1,7 @@
1
- import { t as motion } from "./motion-DoikasqZ.mjs";
2
1
  import { BorderRadius, Color } from "@persona/design-tokens";
3
2
  import styled from "styled-components";
4
3
  import { Fragment, jsx } from "react/jsx-runtime";
4
+ import { motion } from "framer-motion";
5
5
  //#region components/LoadingShimmer/LoadingShimmer.tsx
6
6
  const ShimmerContainer = styled.span`
7
7
  position: relative;
@@ -64,4 +64,4 @@ const MaybeLoadingShimmer = ({ isLoading, children, height, width }) => isLoadin
64
64
  //#endregion
65
65
  export { MaybeLoadingShimmer as i, LoadingShimmerHeading as n, LoadingShimmerParagraph as r, LoadingShimmer as t };
66
66
 
67
- //# sourceMappingURL=LoadingShimmer-CNE6JUVF.mjs.map
67
+ //# sourceMappingURL=LoadingShimmer-b430vgof.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingShimmer-CNE6JUVF.mjs","names":[],"sources":["../components/LoadingShimmer/LoadingShimmer.tsx"],"sourcesContent":["import { BorderRadius, Color } from '@persona/design-tokens';\nimport { motion } from 'framer-motion';\nimport type { ComponentPropsWithoutRef, FC } from 'react';\nimport styled from 'styled-components';\n\nimport type { HeadingSize, ParagraphSize } from 'design-system/mixins/text';\n\ninterface LoadingShimmerProps extends ComponentPropsWithoutRef<'span'> {\n height?: string;\n width?: string;\n variant?: 'primary' | 'secondary';\n}\n\ntype ShimmerContainerProps = {\n width?: string;\n height?: string;\n $variant: 'primary' | 'secondary';\n};\nconst ShimmerContainer = styled.span<ShimmerContainerProps>`\n position: relative;\n display: inline-block;\n /* Using a one off color since our current color tokens are not quite what we need */\n background-color: ${({ $variant }) => ($variant === 'secondary' ? '#eaeaea' : Color.CoreSlate50)};\n width: ${({ width }) => width ?? '100px'};\n height: ${({ height }) => height ?? 'auto'};\n border-radius: ${BorderRadius.Md};\n overflow: hidden;\n`;\n\ntype ShimmerProps = {\n $variant: 'primary' | 'secondary';\n};\nconst Shimmer = styled(motion.span)<ShimmerProps>`\n position: absolute;\n width: 100%;\n height: 100%;\n background: ${({ $variant }) =>\n `linear-gradient(90deg, transparent 0%, ${$variant === 'secondary' ? Color.CoreSlate50 : Color.CoreSlate25} 50%, transparent 100%)`};\n filter: blur(4px);\n`;\n\n/**\n * Base class of all Loading Shimmer components.\n */\nexport function LoadingShimmer({\n width,\n height,\n variant = 'primary',\n ...props\n}: LoadingShimmerProps) {\n return (\n <ShimmerContainer\n width={width}\n height={height}\n $variant={variant}\n aria-live='polite'\n aria-busy='true'\n data-test='loading-shimmer'\n data-loading-indicator='true'\n {...props}\n >\n <Shimmer\n initial={{ x: '-100%', skew: -30 }}\n animate={{ x: '100%', skew: -30 }}\n $variant={variant}\n transition={{ repeat: Infinity, duration: 1, ease: 'easeOut' }}\n />\n </ShimmerContainer>\n );\n}\n\nexport interface LoadingShimmerHeadingProps extends LoadingShimmerProps {\n size?: HeadingSize;\n}\n\nexport const LoadingShimmerHeading = styled(LoadingShimmer)<LoadingShimmerHeadingProps>`\n height: ${({ theme, size = 'lg' }) => theme.text.heading[size].fontSize};\n`;\n\ninterface LoadingShimmerParagraphProps extends LoadingShimmerProps {\n size?: ParagraphSize;\n // eg. 200px\n width?: string;\n}\n\nexport const LoadingShimmerParagraph = styled(LoadingShimmer)<LoadingShimmerParagraphProps>`\n height: ${({ theme, size = 'md' }) => theme.text.paragraph[size].fontSize};\n`;\n\n// A \"maybe\" shimmer block that is shimmering if the `isLoading`\n// value is set to true and otherwise just displays its children\ninterface MaybeLoadingShimmerProps {\n isLoading: boolean;\n height?: string;\n width?: string;\n}\n\nexport const MaybeLoadingShimmer: FC<MaybeLoadingShimmerProps> = ({\n isLoading,\n children,\n height,\n width,\n}) => (isLoading ? <LoadingShimmer height={height} width={width} /> : <>{children}</>);\n"],"mappings":";;;;;AAkBA,MAAM,mBAAmB,OAAO,IAA2B;;;;uBAIpC,EAAE,eAAgB,aAAa,cAAc,YAAY,MAAM,YAAa;YACvF,EAAE,YAAY,SAAS,QAAQ;aAC9B,EAAE,aAAa,UAAU,OAAO;mBAC1B,aAAa,GAAG;;;AAOnC,MAAM,UAAU,OAAO,OAAO,KAAK;;;;iBAIlB,EAAE,eACf,0CAA0C,aAAa,cAAc,MAAM,cAAc,MAAM,YAAY,yBAAyB;;;;;;AAOxI,SAAgB,eAAe,EAC7B,OACA,QACA,UAAU,WACV,GAAG,SACmB;AACtB,QACE,oBAAC,kBAAD;EACS;EACC;EACR,UAAU;EACV,aAAU;EACV,aAAU;EACV,aAAU;EACV,0BAAuB;EACvB,GAAI;YAEJ,oBAAC,SAAD;GACE,SAAS;IAAE,GAAG;IAAS,MAAM;IAAK;GAClC,SAAS;IAAE,GAAG;IAAQ,MAAM;IAAK;GACjC,UAAU;GACV,YAAY;IAAE,QAAQ;IAAU,UAAU;IAAG,MAAM;IAAW;GAC9D,CAAA;EACe,CAAA;;AAQvB,MAAa,wBAAwB,OAAO,eAAe;aAC9C,EAAE,OAAO,OAAO,WAAW,MAAM,KAAK,QAAQ,MAAM,SAAS;;AAS1E,MAAa,0BAA0B,OAAO,eAAe;aAChD,EAAE,OAAO,OAAO,WAAW,MAAM,KAAK,UAAU,MAAM,SAAS;;AAW5E,MAAa,uBAAqD,EAChE,WACA,UACA,QACA,YACK,YAAY,oBAAC,gBAAD;CAAwB;CAAe;CAAS,CAAA,GAAG,oBAAA,UAAA,EAAG,UAAY,CAAA"}
1
+ {"version":3,"file":"LoadingShimmer-b430vgof.mjs","names":[],"sources":["../components/LoadingShimmer/LoadingShimmer.tsx"],"sourcesContent":["import { motion } from 'framer-motion';\nimport type { ComponentPropsWithoutRef, FC } from 'react';\nimport styled from 'styled-components';\n\nimport { BorderRadius, Color } from '@persona/design-tokens';\nimport type { HeadingSize, ParagraphSize } from 'design-system/mixins/text';\n\ninterface LoadingShimmerProps extends ComponentPropsWithoutRef<'span'> {\n height?: string;\n width?: string;\n variant?: 'primary' | 'secondary';\n}\n\ntype ShimmerContainerProps = {\n width?: string;\n height?: string;\n $variant: 'primary' | 'secondary';\n};\nconst ShimmerContainer = styled.span<ShimmerContainerProps>`\n position: relative;\n display: inline-block;\n /* Using a one off color since our current color tokens are not quite what we need */\n background-color: ${({ $variant }) => ($variant === 'secondary' ? '#eaeaea' : Color.CoreSlate50)};\n width: ${({ width }) => width ?? '100px'};\n height: ${({ height }) => height ?? 'auto'};\n border-radius: ${BorderRadius.Md};\n overflow: hidden;\n`;\n\ntype ShimmerProps = {\n $variant: 'primary' | 'secondary';\n};\nconst Shimmer = styled(motion.span)<ShimmerProps>`\n position: absolute;\n width: 100%;\n height: 100%;\n background: ${({ $variant }) =>\n `linear-gradient(90deg, transparent 0%, ${$variant === 'secondary' ? Color.CoreSlate50 : Color.CoreSlate25} 50%, transparent 100%)`};\n filter: blur(4px);\n`;\n\n/**\n * Base class of all Loading Shimmer components.\n */\nexport function LoadingShimmer({\n width,\n height,\n variant = 'primary',\n ...props\n}: LoadingShimmerProps) {\n return (\n <ShimmerContainer\n width={width}\n height={height}\n $variant={variant}\n aria-live='polite'\n aria-busy='true'\n data-test='loading-shimmer'\n data-loading-indicator='true'\n {...props}\n >\n <Shimmer\n initial={{ x: '-100%', skew: -30 }}\n animate={{ x: '100%', skew: -30 }}\n $variant={variant}\n transition={{ repeat: Infinity, duration: 1, ease: 'easeOut' }}\n />\n </ShimmerContainer>\n );\n}\n\nexport interface LoadingShimmerHeadingProps extends LoadingShimmerProps {\n size?: HeadingSize;\n}\n\nexport const LoadingShimmerHeading = styled(LoadingShimmer)<LoadingShimmerHeadingProps>`\n height: ${({ theme, size = 'lg' }) => theme.text.heading[size].fontSize};\n`;\n\ninterface LoadingShimmerParagraphProps extends LoadingShimmerProps {\n size?: ParagraphSize;\n // eg. 200px\n width?: string;\n}\n\nexport const LoadingShimmerParagraph = styled(LoadingShimmer)<LoadingShimmerParagraphProps>`\n height: ${({ theme, size = 'md' }) => theme.text.paragraph[size].fontSize};\n`;\n\n// A \"maybe\" shimmer block that is shimmering if the `isLoading`\n// value is set to true and otherwise just displays its children\ninterface MaybeLoadingShimmerProps {\n isLoading: boolean;\n height?: string;\n width?: string;\n}\n\nexport const MaybeLoadingShimmer: FC<MaybeLoadingShimmerProps> = ({\n isLoading,\n children,\n height,\n width,\n}) => (isLoading ? <LoadingShimmer height={height} width={width} /> : <>{children}</>);\n"],"mappings":";;;;;AAkBA,MAAM,mBAAmB,OAAO,IAA2B;;;;uBAIpC,EAAE,eAAgB,aAAa,cAAc,YAAY,MAAM,YAAa;YACvF,EAAE,YAAY,SAAS,QAAQ;aAC9B,EAAE,aAAa,UAAU,OAAO;mBAC1B,aAAa,GAAG;;;AAOnC,MAAM,UAAU,OAAO,OAAO,KAAK;;;;iBAIlB,EAAE,eACf,0CAA0C,aAAa,cAAc,MAAM,cAAc,MAAM,YAAY,yBAAyB;;;;;;AAOxI,SAAgB,eAAe,EAC7B,OACA,QACA,UAAU,WACV,GAAG,SACmB;AACtB,QACE,oBAAC,kBAAD;EACS;EACC;EACR,UAAU;EACV,aAAU;EACV,aAAU;EACV,aAAU;EACV,0BAAuB;EACvB,GAAI;YAEJ,oBAAC,SAAD;GACE,SAAS;IAAE,GAAG;IAAS,MAAM;IAAK;GAClC,SAAS;IAAE,GAAG;IAAQ,MAAM;IAAK;GACjC,UAAU;GACV,YAAY;IAAE,QAAQ;IAAU,UAAU;IAAG,MAAM;IAAW;GAC9D,CAAA;EACe,CAAA;;AAQvB,MAAa,wBAAwB,OAAO,eAAe;aAC9C,EAAE,OAAO,OAAO,WAAW,MAAM,KAAK,QAAQ,MAAM,SAAS;;AAS1E,MAAa,0BAA0B,OAAO,eAAe;aAChD,EAAE,OAAO,OAAO,WAAW,MAAM,KAAK,UAAU,MAAM,SAAS;;AAW5E,MAAa,uBAAqD,EAChE,WACA,UACA,QACA,YACK,YAAY,oBAAC,gBAAD;CAAwB;CAAe;CAAS,CAAA,GAAG,oBAAA,UAAA,EAAG,UAAY,CAAA"}
@@ -1,9 +1,9 @@
1
- const require_chunk = require("./chunk-CoPdw6nB.cjs");
2
- const require_motion = require("./motion-QW6imSxE.cjs");
1
+ const require_chunk = require("./chunk-CKQMccvm.cjs");
3
2
  let _persona_design_tokens = require("@persona/design-tokens");
4
3
  let styled_components = require("styled-components");
5
4
  styled_components = require_chunk.__toESM(styled_components);
6
5
  let react_jsx_runtime = require("react/jsx-runtime");
6
+ let framer_motion = require("framer-motion");
7
7
  //#region components/LoadingShimmer/LoadingShimmer.tsx
8
8
  const ShimmerContainer = styled_components.default.span`
9
9
  position: relative;
@@ -15,7 +15,7 @@ const ShimmerContainer = styled_components.default.span`
15
15
  border-radius: ${_persona_design_tokens.BorderRadius.Md};
16
16
  overflow: hidden;
17
17
  `;
18
- const Shimmer = (0, styled_components.default)(require_motion.motion.span)`
18
+ const Shimmer = (0, styled_components.default)(framer_motion.motion.span)`
19
19
  position: absolute;
20
20
  width: 100%;
21
21
  height: 100%;
@@ -89,4 +89,4 @@ Object.defineProperty(exports, "MaybeLoadingShimmer", {
89
89
  }
90
90
  });
91
91
 
92
- //# sourceMappingURL=LoadingShimmer-DMK9RC4N.cjs.map
92
+ //# sourceMappingURL=LoadingShimmer-uG2UzYQd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingShimmer-DMK9RC4N.cjs","names":["Color","BorderRadius","motion"],"sources":["../components/LoadingShimmer/LoadingShimmer.tsx"],"sourcesContent":["import { BorderRadius, Color } from '@persona/design-tokens';\nimport { motion } from 'framer-motion';\nimport type { ComponentPropsWithoutRef, FC } from 'react';\nimport styled from 'styled-components';\n\nimport type { HeadingSize, ParagraphSize } from 'design-system/mixins/text';\n\ninterface LoadingShimmerProps extends ComponentPropsWithoutRef<'span'> {\n height?: string;\n width?: string;\n variant?: 'primary' | 'secondary';\n}\n\ntype ShimmerContainerProps = {\n width?: string;\n height?: string;\n $variant: 'primary' | 'secondary';\n};\nconst ShimmerContainer = styled.span<ShimmerContainerProps>`\n position: relative;\n display: inline-block;\n /* Using a one off color since our current color tokens are not quite what we need */\n background-color: ${({ $variant }) => ($variant === 'secondary' ? '#eaeaea' : Color.CoreSlate50)};\n width: ${({ width }) => width ?? '100px'};\n height: ${({ height }) => height ?? 'auto'};\n border-radius: ${BorderRadius.Md};\n overflow: hidden;\n`;\n\ntype ShimmerProps = {\n $variant: 'primary' | 'secondary';\n};\nconst Shimmer = styled(motion.span)<ShimmerProps>`\n position: absolute;\n width: 100%;\n height: 100%;\n background: ${({ $variant }) =>\n `linear-gradient(90deg, transparent 0%, ${$variant === 'secondary' ? Color.CoreSlate50 : Color.CoreSlate25} 50%, transparent 100%)`};\n filter: blur(4px);\n`;\n\n/**\n * Base class of all Loading Shimmer components.\n */\nexport function LoadingShimmer({\n width,\n height,\n variant = 'primary',\n ...props\n}: LoadingShimmerProps) {\n return (\n <ShimmerContainer\n width={width}\n height={height}\n $variant={variant}\n aria-live='polite'\n aria-busy='true'\n data-test='loading-shimmer'\n data-loading-indicator='true'\n {...props}\n >\n <Shimmer\n initial={{ x: '-100%', skew: -30 }}\n animate={{ x: '100%', skew: -30 }}\n $variant={variant}\n transition={{ repeat: Infinity, duration: 1, ease: 'easeOut' }}\n />\n </ShimmerContainer>\n );\n}\n\nexport interface LoadingShimmerHeadingProps extends LoadingShimmerProps {\n size?: HeadingSize;\n}\n\nexport const LoadingShimmerHeading = styled(LoadingShimmer)<LoadingShimmerHeadingProps>`\n height: ${({ theme, size = 'lg' }) => theme.text.heading[size].fontSize};\n`;\n\ninterface LoadingShimmerParagraphProps extends LoadingShimmerProps {\n size?: ParagraphSize;\n // eg. 200px\n width?: string;\n}\n\nexport const LoadingShimmerParagraph = styled(LoadingShimmer)<LoadingShimmerParagraphProps>`\n height: ${({ theme, size = 'md' }) => theme.text.paragraph[size].fontSize};\n`;\n\n// A \"maybe\" shimmer block that is shimmering if the `isLoading`\n// value is set to true and otherwise just displays its children\ninterface MaybeLoadingShimmerProps {\n isLoading: boolean;\n height?: string;\n width?: string;\n}\n\nexport const MaybeLoadingShimmer: FC<MaybeLoadingShimmerProps> = ({\n isLoading,\n children,\n height,\n width,\n}) => (isLoading ? <LoadingShimmer height={height} width={width} /> : <>{children}</>);\n"],"mappings":";;;;;;;AAkBA,MAAM,mBAAmB,kBAAA,QAAO,IAA2B;;;;uBAIpC,EAAE,eAAgB,aAAa,cAAc,YAAYA,uBAAAA,MAAM,YAAa;YACvF,EAAE,YAAY,SAAS,QAAQ;aAC9B,EAAE,aAAa,UAAU,OAAO;mBAC1BC,uBAAAA,aAAa,GAAG;;;AAOnC,MAAM,UAAU,CAAA,GAAA,kBAAA,SAAOC,eAAAA,OAAO,KAAK;;;;iBAIlB,EAAE,eACf,0CAA0C,aAAa,cAAcF,uBAAAA,MAAM,cAAcA,uBAAAA,MAAM,YAAY,yBAAyB;;;;;;AAOxI,SAAgB,eAAe,EAC7B,OACA,QACA,UAAU,WACV,GAAG,SACmB;AACtB,QACE,iBAAA,GAAA,kBAAA,KAAC,kBAAD;EACS;EACC;EACR,UAAU;EACV,aAAU;EACV,aAAU;EACV,aAAU;EACV,0BAAuB;EACvB,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAAC,SAAD;GACE,SAAS;IAAE,GAAG;IAAS,MAAM;IAAK;GAClC,SAAS;IAAE,GAAG;IAAQ,MAAM;IAAK;GACjC,UAAU;GACV,YAAY;IAAE,QAAQ;IAAU,UAAU;IAAG,MAAM;IAAW;GAC9D,CAAA;EACe,CAAA;;AAQvB,MAAa,wBAAwB,CAAA,GAAA,kBAAA,SAAO,eAAe;aAC9C,EAAE,OAAO,OAAO,WAAW,MAAM,KAAK,QAAQ,MAAM,SAAS;;AAS1E,MAAa,0BAA0B,CAAA,GAAA,kBAAA,SAAO,eAAe;aAChD,EAAE,OAAO,OAAO,WAAW,MAAM,KAAK,UAAU,MAAM,SAAS;;AAW5E,MAAa,uBAAqD,EAChE,WACA,UACA,QACA,YACK,YAAY,iBAAA,GAAA,kBAAA,KAAC,gBAAD;CAAwB;CAAe;CAAS,CAAA,GAAG,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAG,UAAY,CAAA"}
1
+ {"version":3,"file":"LoadingShimmer-uG2UzYQd.cjs","names":["Color","BorderRadius","motion"],"sources":["../components/LoadingShimmer/LoadingShimmer.tsx"],"sourcesContent":["import { motion } from 'framer-motion';\nimport type { ComponentPropsWithoutRef, FC } from 'react';\nimport styled from 'styled-components';\n\nimport { BorderRadius, Color } from '@persona/design-tokens';\nimport type { HeadingSize, ParagraphSize } from 'design-system/mixins/text';\n\ninterface LoadingShimmerProps extends ComponentPropsWithoutRef<'span'> {\n height?: string;\n width?: string;\n variant?: 'primary' | 'secondary';\n}\n\ntype ShimmerContainerProps = {\n width?: string;\n height?: string;\n $variant: 'primary' | 'secondary';\n};\nconst ShimmerContainer = styled.span<ShimmerContainerProps>`\n position: relative;\n display: inline-block;\n /* Using a one off color since our current color tokens are not quite what we need */\n background-color: ${({ $variant }) => ($variant === 'secondary' ? '#eaeaea' : Color.CoreSlate50)};\n width: ${({ width }) => width ?? '100px'};\n height: ${({ height }) => height ?? 'auto'};\n border-radius: ${BorderRadius.Md};\n overflow: hidden;\n`;\n\ntype ShimmerProps = {\n $variant: 'primary' | 'secondary';\n};\nconst Shimmer = styled(motion.span)<ShimmerProps>`\n position: absolute;\n width: 100%;\n height: 100%;\n background: ${({ $variant }) =>\n `linear-gradient(90deg, transparent 0%, ${$variant === 'secondary' ? Color.CoreSlate50 : Color.CoreSlate25} 50%, transparent 100%)`};\n filter: blur(4px);\n`;\n\n/**\n * Base class of all Loading Shimmer components.\n */\nexport function LoadingShimmer({\n width,\n height,\n variant = 'primary',\n ...props\n}: LoadingShimmerProps) {\n return (\n <ShimmerContainer\n width={width}\n height={height}\n $variant={variant}\n aria-live='polite'\n aria-busy='true'\n data-test='loading-shimmer'\n data-loading-indicator='true'\n {...props}\n >\n <Shimmer\n initial={{ x: '-100%', skew: -30 }}\n animate={{ x: '100%', skew: -30 }}\n $variant={variant}\n transition={{ repeat: Infinity, duration: 1, ease: 'easeOut' }}\n />\n </ShimmerContainer>\n );\n}\n\nexport interface LoadingShimmerHeadingProps extends LoadingShimmerProps {\n size?: HeadingSize;\n}\n\nexport const LoadingShimmerHeading = styled(LoadingShimmer)<LoadingShimmerHeadingProps>`\n height: ${({ theme, size = 'lg' }) => theme.text.heading[size].fontSize};\n`;\n\ninterface LoadingShimmerParagraphProps extends LoadingShimmerProps {\n size?: ParagraphSize;\n // eg. 200px\n width?: string;\n}\n\nexport const LoadingShimmerParagraph = styled(LoadingShimmer)<LoadingShimmerParagraphProps>`\n height: ${({ theme, size = 'md' }) => theme.text.paragraph[size].fontSize};\n`;\n\n// A \"maybe\" shimmer block that is shimmering if the `isLoading`\n// value is set to true and otherwise just displays its children\ninterface MaybeLoadingShimmerProps {\n isLoading: boolean;\n height?: string;\n width?: string;\n}\n\nexport const MaybeLoadingShimmer: FC<MaybeLoadingShimmerProps> = ({\n isLoading,\n children,\n height,\n width,\n}) => (isLoading ? <LoadingShimmer height={height} width={width} /> : <>{children}</>);\n"],"mappings":";;;;;;;AAkBA,MAAM,mBAAmB,kBAAA,QAAO,IAA2B;;;;uBAIpC,EAAE,eAAgB,aAAa,cAAc,YAAYA,uBAAAA,MAAM,YAAa;YACvF,EAAE,YAAY,SAAS,QAAQ;aAC9B,EAAE,aAAa,UAAU,OAAO;mBAC1BC,uBAAAA,aAAa,GAAG;;;AAOnC,MAAM,UAAU,CAAA,GAAA,kBAAA,SAAOC,cAAAA,OAAO,KAAK;;;;iBAIlB,EAAE,eACf,0CAA0C,aAAa,cAAcF,uBAAAA,MAAM,cAAcA,uBAAAA,MAAM,YAAY,yBAAyB;;;;;;AAOxI,SAAgB,eAAe,EAC7B,OACA,QACA,UAAU,WACV,GAAG,SACmB;AACtB,QACE,iBAAA,GAAA,kBAAA,KAAC,kBAAD;EACS;EACC;EACR,UAAU;EACV,aAAU;EACV,aAAU;EACV,aAAU;EACV,0BAAuB;EACvB,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAAC,SAAD;GACE,SAAS;IAAE,GAAG;IAAS,MAAM;IAAK;GAClC,SAAS;IAAE,GAAG;IAAQ,MAAM;IAAK;GACjC,UAAU;GACV,YAAY;IAAE,QAAQ;IAAU,UAAU;IAAG,MAAM;IAAW;GAC9D,CAAA;EACe,CAAA;;AAQvB,MAAa,wBAAwB,CAAA,GAAA,kBAAA,SAAO,eAAe;aAC9C,EAAE,OAAO,OAAO,WAAW,MAAM,KAAK,QAAQ,MAAM,SAAS;;AAS1E,MAAa,0BAA0B,CAAA,GAAA,kBAAA,SAAO,eAAe;aAChD,EAAE,OAAO,OAAO,WAAW,MAAM,KAAK,UAAU,MAAM,SAAS;;AAW5E,MAAa,uBAAqD,EAChE,WACA,UACA,QACA,YACK,YAAY,iBAAA,GAAA,kBAAA,KAAC,gBAAD;CAAwB;CAAe;CAAS,CAAA,GAAG,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAG,UAAY,CAAA"}
@@ -1,7 +1,7 @@
1
- import { i as ParagraphSize, n as HeadingSize } from "./text-BrSUs-88.mjs";
1
+ import { i as ParagraphSize, n as HeadingSize } from "./text-BEKhEWTa.mjs";
2
2
  import * as _$styled_components0 from "styled-components";
3
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
3
  import { ComponentPropsWithoutRef, FC } from "react";
4
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
 
6
6
  //#region components/LoadingShimmer/LoadingShimmer.d.ts
7
7
  interface LoadingShimmerProps extends ComponentPropsWithoutRef<'span'> {
@@ -4,7 +4,7 @@ import { IMaskInputProps } from "react-imask/mixin";
4
4
 
5
5
  //#region components/MaskedInput/MaskedInput.d.ts
6
6
  type MaskedInputProps = Omit<IMaskInputProps<HTMLInputElement>, 'inputRef' | 'componentProps' | 'size' | 'ref'> & InputProps;
7
- declare const MaskedInput: _$react.ForwardRefExoticComponent<Omit<IMaskInputProps<HTMLInputElement>, "ref" | "size" | "inputRef" | "componentProps"> & InputProps & _$react.RefAttributes<HTMLInputElement>>;
7
+ declare const MaskedInput: _$react.ForwardRefExoticComponent<Omit<IMaskInputProps<HTMLInputElement>, "size" | "ref" | "inputRef" | "componentProps"> & InputProps & _$react.RefAttributes<HTMLInputElement>>;
8
8
  //#endregion
9
9
  export { MaskedInput, MaskedInput as default, MaskedInputProps };
10
10
  //# sourceMappingURL=MaskedInput.d.cts.map
@@ -1,4 +1,4 @@
1
- import { a as InputProps } from "./Input-Cv5qieRg.mjs";
1
+ import { a as InputProps } from "./Input-DW7oacjc.mjs";
2
2
  import * as _$react from "react";
3
3
  import { IMaskInputProps } from "react-imask/mixin";
4
4
 
@@ -1,16 +1,16 @@
1
- const require_chunk = require("./chunk-CoPdw6nB.cjs");
1
+ const require_chunk = require("./chunk-CKQMccvm.cjs");
2
2
  const require_theme = require("./theme.cjs");
3
3
  const require_lib_pseudoClass = require("./lib/pseudoClass.cjs");
4
4
  const require_mixins_text = require("./mixins/text.cjs");
5
5
  const require_lib_PDSProvider = require("./lib/PDSProvider.cjs");
6
- const require_Card = require("./Card-CyCKL-M5.cjs");
6
+ const require_Card = require("./Card-CaOItkgL.cjs");
7
7
  const require_lib_zindex = require("./lib/zindex.cjs");
8
8
  require("./variables/text.cjs");
9
9
  let _persona_design_tokens = require("@persona/design-tokens");
10
10
  let styled_components = require("styled-components");
11
11
  styled_components = require_chunk.__toESM(styled_components);
12
- let react_jsx_runtime = require("react/jsx-runtime");
13
12
  let react = require("react");
13
+ let react_jsx_runtime = require("react/jsx-runtime");
14
14
  let react_aria = require("react-aria");
15
15
  let _radix_ui_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
16
16
  _radix_ui_react_dropdown_menu = require_chunk.__toESM(_radix_ui_react_dropdown_menu);
@@ -214,4 +214,4 @@ Object.defineProperty(exports, "MenuList", {
214
214
  }
215
215
  });
216
216
 
217
- //# sourceMappingURL=Menu-BpkjNO81.cjs.map
217
+ //# sourceMappingURL=Menu-BLbEcodU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu-BpkjNO81.cjs","names":["Card","Z_INDICES","Spacing","paragraphMixins","isNotDisabled","isHovered","isFocused","Color","isDisabled","DropdownMenu","DismissButton","PDSProvider","darkTheme"],"sources":["../components/Menu/Menu.tsx"],"sourcesContent":["import PDSProvider from '@persona/design-system/lib/PDSProvider';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentPropsWithRef,\n type ComponentType,\n type ElementType,\n type FC,\n forwardRef,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport { DismissButton } from 'react-aria';\nimport styled, {\n css,\n type DefaultTheme,\n type StyledComponent,\n type StyledComponentPropsWithRef,\n} from 'styled-components';\n\nimport Card from 'design-system/components/Card';\nimport { isDisabled, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { darkTheme } from 'design-system/theme';\nimport { FontWeight } from 'design-system/variables/text';\n\nexport const FloatingCard: StyledComponent<\n ComponentType<StyledComponentPropsWithRef<typeof Card>>,\n DefaultTheme\n> = styled(Card)`\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n outline: none;\n z-index: ${Z_INDICES.tooltip};\n`;\n\nexport const MenuList = styled.div.attrs<{ padding?: Spacing; doNotSetRole?: boolean }>(\n ({ role, doNotSetRole = false }) => ({\n role: doNotSetRole ? undefined : (role ?? 'menu'),\n }),\n)<{ padding?: Spacing }>`\n list-style: none;\n margin: 0;\n padding: ${({ padding }) => padding || Spacing[2]};\n outline: none;\n`;\n\nexport interface MenuItemProps<T extends ElementType = 'div'> {\n children: ReactNode;\n prefixIcon?: ReactNode;\n suffixIcon?: ReactNode;\n disabled?: boolean;\n variant?: 'basic' | 'danger';\n as?: T;\n stretchLabel?: boolean;\n subtitle?: string;\n focused?: boolean;\n selected?: boolean;\n size?: 'sm' | 'md';\n}\n\nexport const ListItem = styled.li<\n Pick<MenuItemProps, 'variant' | 'disabled' | 'focused' | 'selected' | 'size'>\n>`\n ${({ size }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n display: flex;\n align-items: center;\n padding: ${({ size }) => (size === 'sm' ? `${Spacing[1]} ${Spacing[2]}` : `${Spacing[2]}`)};\n border-radius: 4px;\n list-style: none;\n text-decoration: none;\n color: ${({ theme }) => theme.color.text.primary};\n cursor: pointer;\n ${({ focused, selected, theme }) =>\n focused &&\n !selected &&\n css`\n outline: none;\n color: ${theme.color.text.primary};\n background-color: ${theme.color.background.secondary};\n `}\n\n &${isNotDisabled}${isHovered}, &${isNotDisabled}${isFocused} {\n ${({ selected }) =>\n !selected &&\n css`\n outline: none;\n color: ${({ theme }) => theme.color.text.primary};\n background-color: ${({ theme }) => theme.color.background.secondary};\n `}\n }\n\n &:focus-visible {\n outline: 2px solid ${Color.BorderFocus};\n outline-offset: 1px;\n }\n\n ${({ selected, theme }) =>\n selected &&\n css`\n outline: none;\n color: ${theme.color.text.brand};\n background-color: ${theme.color.background.highlight};\n `}\n\n &${isDisabled} {\n color: ${({ theme }) => theme.color.text.disabled};\n cursor: default;\n pointer-events: none;\n }\n\n /* Variant Styling */\n ${({ theme, variant }) =>\n variant === 'danger' &&\n css`\n color: ${theme.color.variants[variant].default};\n\n &${isNotDisabled}${isHovered}, &${isNotDisabled}${isFocused} {\n color: ${Color.CoreRed900};\n background-color: ${theme.color.variants[variant].highlightLight};\n }\n\n &${isDisabled} {\n color: ${({ theme }) => theme.color.variants[variant].disabled};\n }\n `}\n`;\n\nexport const IconContainer = styled('div')<{ suffix?: boolean }>`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n margin-right: ${Spacing[2]};\n line-height: 1;\n\n ${({ suffix }) =>\n suffix &&\n css`\n margin-left: ${Spacing[2]};\n `}\n`;\n\nconst LabelContainer = styled('div')<{ stretchLabel: boolean }>`\n line-height: 16px;\n ${({ stretchLabel }) =>\n stretchLabel &&\n css`\n width: 100%;\n `}\n`;\n\n/**\n * https://stackoverflow.com/a/73795494\n */\nexport interface MenuItemType<T extends ElementType = 'div'> extends FC<\n MenuItemProps<T> & ComponentPropsWithRef<T>\n> {\n <T extends ElementType = 'div'>(\n props: MenuItemProps<T> & ComponentPropsWithoutRef<T>,\n ): ReturnType<FC<MenuItemProps<T> & ComponentPropsWithoutRef<T>>>;\n}\n\nexport const MenuItem: MenuItemType = forwardRef(function MenuItem(\n {\n children,\n disabled,\n variant,\n prefixIcon,\n suffixIcon,\n stretchLabel,\n selected,\n size,\n ...elemProps\n },\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <ListItem\n disabled={disabled}\n variant={variant}\n selected={selected}\n ref={ref}\n aria-disabled={disabled}\n // aria-current is the correct a11y attribute for role=\"menuitem\" (not aria-selected).\n aria-current={selected ? 'true' : undefined}\n role='menuitem'\n tabIndex={disabled ? -1 : 0}\n size={size}\n {...elemProps}\n >\n {prefixIcon && <IconContainer>{prefixIcon}</IconContainer>}\n <LabelContainer stretchLabel={!!stretchLabel}>{children}</LabelContainer>\n {suffixIcon && <IconContainer suffix>{suffixIcon}</IconContainer>}\n </ListItem>\n );\n});\n\nconst StyledMenuDivider = styled.hr`\n height: 0px;\n padding: 0px;\n font-size: 0;\n margin: ${Spacing[2]} -${Spacing[2]};\n border: none;\n border-top: 1px solid ${({ theme }) => theme.color.border.primary};\n`;\n\nexport const MenuDivider = (props: ComponentPropsWithoutRef<'hr'>) => (\n <DropdownMenu.Separator asChild>\n <StyledMenuDivider {...props} />\n </DropdownMenu.Separator>\n);\n\nexport interface MenuHeadingProps {\n size?: 'sm' | 'md';\n}\n\nexport const MenuHeading = styled.li<MenuHeadingProps>`\n ${paragraphMixins.sm};\n text-transform: uppercase;\n padding: ${({ size }) => (size === 'sm' ? `${Spacing[1]} ${Spacing[2]}` : Spacing[2])};\n display: block;\n color: ${({ theme }) => theme.color.text.secondary};\n font-weight: ${FontWeight.Regular};\n letter-spacing: 0.1em;\n`;\n\nexport interface MenuProps<T extends ElementType = 'div'> {\n children?: ReactNode;\n className?: string;\n variant?: 'light' | 'dark';\n as?: T;\n doNotSetRole?: boolean;\n containerProps?: ComponentPropsWithRef<'div'>;\n listRef?: RefObject<T>;\n itemProps?:\n | ComponentPropsWithoutRef<'li'>\n | ((\n props: ComponentPropsWithoutRef<'li'>,\n index: number,\n ) => Partial<ComponentPropsWithRef<'li'>>);\n onClose?: VoidFunction;\n}\n\nexport const Menu = <T extends ElementType = 'div'>({\n children,\n variant,\n containerProps,\n itemProps,\n listRef,\n className,\n onClose,\n as,\n ...props\n}: MenuProps<T> & ComponentPropsWithoutRef<T>) => {\n const menu = (\n <FloatingCard {...containerProps} className={className}>\n <MenuList {...props} as={as as any} ref={listRef}>\n {children}\n <DismissButton onDismiss={onClose} />\n </MenuList>\n </FloatingCard>\n );\n\n if (variant === 'dark') {\n return <PDSProvider theme={darkTheme}>{menu}</PDSProvider>;\n }\n\n return menu;\n};\n\nMenu.Heading = MenuHeading;\nMenu.Divider = MenuDivider;\nMenu.Item = MenuItem;\n\nexport default Menu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu-BLbEcodU.cjs","names":["Card","Z_INDICES","Spacing","paragraphMixins","isNotDisabled","isHovered","isFocused","Color","isDisabled","DropdownMenu","DismissButton","PDSProvider","darkTheme"],"sources":["../components/Menu/Menu.tsx"],"sourcesContent":["import * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentPropsWithRef,\n type ComponentType,\n type ElementType,\n type FC,\n forwardRef,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport { DismissButton } from 'react-aria';\nimport styled, {\n css,\n type DefaultTheme,\n type StyledComponent,\n type StyledComponentPropsWithRef,\n} from 'styled-components';\n\nimport PDSProvider from '@persona/design-system/lib/PDSProvider';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport Card from 'design-system/components/Card';\nimport { isDisabled, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { darkTheme } from 'design-system/theme';\nimport { FontWeight } from 'design-system/variables/text';\n\nexport const FloatingCard: StyledComponent<\n ComponentType<StyledComponentPropsWithRef<typeof Card>>,\n DefaultTheme\n> = styled(Card)`\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n outline: none;\n z-index: ${Z_INDICES.tooltip};\n`;\n\nexport const MenuList = styled.div.attrs<{ padding?: Spacing; doNotSetRole?: boolean }>(\n ({ role, doNotSetRole = false }) => ({\n role: doNotSetRole ? undefined : (role ?? 'menu'),\n }),\n)<{ padding?: Spacing }>`\n list-style: none;\n margin: 0;\n padding: ${({ padding }) => padding || Spacing[2]};\n outline: none;\n`;\n\nexport interface MenuItemProps<T extends ElementType = 'div'> {\n children: ReactNode;\n prefixIcon?: ReactNode;\n suffixIcon?: ReactNode;\n disabled?: boolean;\n variant?: 'basic' | 'danger';\n as?: T;\n stretchLabel?: boolean;\n subtitle?: string;\n focused?: boolean;\n selected?: boolean;\n size?: 'sm' | 'md';\n}\n\nexport const ListItem = styled.li<\n Pick<MenuItemProps, 'variant' | 'disabled' | 'focused' | 'selected' | 'size'>\n>`\n ${({ size }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n display: flex;\n align-items: center;\n padding: ${({ size }) => (size === 'sm' ? `${Spacing[1]} ${Spacing[2]}` : `${Spacing[2]}`)};\n border-radius: 4px;\n list-style: none;\n text-decoration: none;\n color: ${({ theme }) => theme.color.text.primary};\n cursor: pointer;\n ${({ focused, selected, theme }) =>\n focused &&\n !selected &&\n css`\n outline: none;\n color: ${theme.color.text.primary};\n background-color: ${theme.color.background.secondary};\n `}\n\n &${isNotDisabled}${isHovered}, &${isNotDisabled}${isFocused} {\n ${({ selected }) =>\n !selected &&\n css`\n outline: none;\n color: ${({ theme }) => theme.color.text.primary};\n background-color: ${({ theme }) => theme.color.background.secondary};\n `}\n }\n\n &:focus-visible {\n outline: 2px solid ${Color.BorderFocus};\n outline-offset: 1px;\n }\n\n ${({ selected, theme }) =>\n selected &&\n css`\n outline: none;\n color: ${theme.color.text.brand};\n background-color: ${theme.color.background.highlight};\n `}\n\n &${isDisabled} {\n color: ${({ theme }) => theme.color.text.disabled};\n cursor: default;\n pointer-events: none;\n }\n\n /* Variant Styling */\n ${({ theme, variant }) =>\n variant === 'danger' &&\n css`\n color: ${theme.color.variants[variant].default};\n\n &${isNotDisabled}${isHovered}, &${isNotDisabled}${isFocused} {\n color: ${Color.CoreRed900};\n background-color: ${theme.color.variants[variant].highlightLight};\n }\n\n &${isDisabled} {\n color: ${({ theme }) => theme.color.variants[variant].disabled};\n }\n `}\n`;\n\nexport const IconContainer = styled('div')<{ suffix?: boolean }>`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n margin-right: ${Spacing[2]};\n line-height: 1;\n\n ${({ suffix }) =>\n suffix &&\n css`\n margin-left: ${Spacing[2]};\n `}\n`;\n\nconst LabelContainer = styled('div')<{ stretchLabel: boolean }>`\n line-height: 16px;\n ${({ stretchLabel }) =>\n stretchLabel &&\n css`\n width: 100%;\n `}\n`;\n\n/**\n * https://stackoverflow.com/a/73795494\n */\nexport interface MenuItemType<T extends ElementType = 'div'> extends FC<\n MenuItemProps<T> & ComponentPropsWithRef<T>\n> {\n <T extends ElementType = 'div'>(\n props: MenuItemProps<T> & ComponentPropsWithoutRef<T>,\n ): ReturnType<FC<MenuItemProps<T> & ComponentPropsWithoutRef<T>>>;\n}\n\nexport const MenuItem: MenuItemType = forwardRef(function MenuItem(\n {\n children,\n disabled,\n variant,\n prefixIcon,\n suffixIcon,\n stretchLabel,\n selected,\n size,\n ...elemProps\n },\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <ListItem\n disabled={disabled}\n variant={variant}\n selected={selected}\n ref={ref}\n aria-disabled={disabled}\n // aria-current is the correct a11y attribute for role=\"menuitem\" (not aria-selected).\n aria-current={selected ? 'true' : undefined}\n role='menuitem'\n tabIndex={disabled ? -1 : 0}\n size={size}\n {...elemProps}\n >\n {prefixIcon && <IconContainer>{prefixIcon}</IconContainer>}\n <LabelContainer stretchLabel={!!stretchLabel}>{children}</LabelContainer>\n {suffixIcon && <IconContainer suffix>{suffixIcon}</IconContainer>}\n </ListItem>\n );\n});\n\nconst StyledMenuDivider = styled.hr`\n height: 0px;\n padding: 0px;\n font-size: 0;\n margin: ${Spacing[2]} -${Spacing[2]};\n border: none;\n border-top: 1px solid ${({ theme }) => theme.color.border.primary};\n`;\n\nexport const MenuDivider = (props: ComponentPropsWithoutRef<'hr'>) => (\n <DropdownMenu.Separator asChild>\n <StyledMenuDivider {...props} />\n </DropdownMenu.Separator>\n);\n\nexport interface MenuHeadingProps {\n size?: 'sm' | 'md';\n}\n\nexport const MenuHeading = styled.li<MenuHeadingProps>`\n ${paragraphMixins.sm};\n text-transform: uppercase;\n padding: ${({ size }) => (size === 'sm' ? `${Spacing[1]} ${Spacing[2]}` : Spacing[2])};\n display: block;\n color: ${({ theme }) => theme.color.text.secondary};\n font-weight: ${FontWeight.Regular};\n letter-spacing: 0.1em;\n`;\n\nexport interface MenuProps<T extends ElementType = 'div'> {\n children?: ReactNode;\n className?: string;\n variant?: 'light' | 'dark';\n as?: T;\n doNotSetRole?: boolean;\n containerProps?: ComponentPropsWithRef<'div'>;\n listRef?: RefObject<T>;\n itemProps?:\n | ComponentPropsWithoutRef<'li'>\n | ((\n props: ComponentPropsWithoutRef<'li'>,\n index: number,\n ) => Partial<ComponentPropsWithRef<'li'>>);\n onClose?: VoidFunction;\n}\n\nexport const Menu = <T extends ElementType = 'div'>({\n children,\n variant,\n containerProps,\n itemProps,\n listRef,\n className,\n onClose,\n as,\n ...props\n}: MenuProps<T> & ComponentPropsWithoutRef<T>) => {\n const menu = (\n <FloatingCard {...containerProps} className={className}>\n <MenuList {...props} as={as as any} ref={listRef}>\n {children}\n <DismissButton onDismiss={onClose} />\n </MenuList>\n </FloatingCard>\n );\n\n if (variant === 'dark') {\n return <PDSProvider theme={darkTheme}>{menu}</PDSProvider>;\n }\n\n return menu;\n};\n\nMenu.Heading = MenuHeading;\nMenu.Divider = MenuDivider;\nMenu.Item = MenuItem;\n\nexport default Menu;\n"],"mappings":"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"}
@@ -2,13 +2,13 @@ import { darkTheme } from "./theme.mjs";
2
2
  import { isDisabled, isFocused, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
3
3
  import { paragraphMixins } from "./mixins/text.mjs";
4
4
  import PDSProvider from "./lib/PDSProvider.mjs";
5
- import { t as Card_default } from "./Card-DeJSt5ys.mjs";
5
+ import { t as Card_default } from "./Card-CLTkZLKr.mjs";
6
6
  import { Z_INDICES } from "./lib/zindex.mjs";
7
7
  import "./variables/text.mjs";
8
8
  import { Color, Spacing } from "@persona/design-tokens";
9
9
  import styled, { css } from "styled-components";
10
- import { jsx, jsxs } from "react/jsx-runtime";
11
10
  import { forwardRef } from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
12
  import { DismissButton } from "react-aria";
13
13
  import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
14
14
  //#region components/Menu/Menu.tsx
@@ -164,4 +164,4 @@ Menu.Item = MenuItem;
164
164
  //#endregion
165
165
  export { MenuDivider as a, MenuList as c, Menu as i, IconContainer as n, MenuHeading as o, ListItem as r, MenuItem as s, FloatingCard as t };
166
166
 
167
- //# sourceMappingURL=Menu-DNRHo2i_.mjs.map
167
+ //# sourceMappingURL=Menu-BbSyWxFD.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu-DNRHo2i_.mjs","names":["Card"],"sources":["../components/Menu/Menu.tsx"],"sourcesContent":["import PDSProvider from '@persona/design-system/lib/PDSProvider';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentPropsWithRef,\n type ComponentType,\n type ElementType,\n type FC,\n forwardRef,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport { DismissButton } from 'react-aria';\nimport styled, {\n css,\n type DefaultTheme,\n type StyledComponent,\n type StyledComponentPropsWithRef,\n} from 'styled-components';\n\nimport Card from 'design-system/components/Card';\nimport { isDisabled, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { darkTheme } from 'design-system/theme';\nimport { FontWeight } from 'design-system/variables/text';\n\nexport const FloatingCard: StyledComponent<\n ComponentType<StyledComponentPropsWithRef<typeof Card>>,\n DefaultTheme\n> = styled(Card)`\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n outline: none;\n z-index: ${Z_INDICES.tooltip};\n`;\n\nexport const MenuList = styled.div.attrs<{ padding?: Spacing; doNotSetRole?: boolean }>(\n ({ role, doNotSetRole = false }) => ({\n role: doNotSetRole ? undefined : (role ?? 'menu'),\n }),\n)<{ padding?: Spacing }>`\n list-style: none;\n margin: 0;\n padding: ${({ padding }) => padding || Spacing[2]};\n outline: none;\n`;\n\nexport interface MenuItemProps<T extends ElementType = 'div'> {\n children: ReactNode;\n prefixIcon?: ReactNode;\n suffixIcon?: ReactNode;\n disabled?: boolean;\n variant?: 'basic' | 'danger';\n as?: T;\n stretchLabel?: boolean;\n subtitle?: string;\n focused?: boolean;\n selected?: boolean;\n size?: 'sm' | 'md';\n}\n\nexport const ListItem = styled.li<\n Pick<MenuItemProps, 'variant' | 'disabled' | 'focused' | 'selected' | 'size'>\n>`\n ${({ size }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n display: flex;\n align-items: center;\n padding: ${({ size }) => (size === 'sm' ? `${Spacing[1]} ${Spacing[2]}` : `${Spacing[2]}`)};\n border-radius: 4px;\n list-style: none;\n text-decoration: none;\n color: ${({ theme }) => theme.color.text.primary};\n cursor: pointer;\n ${({ focused, selected, theme }) =>\n focused &&\n !selected &&\n css`\n outline: none;\n color: ${theme.color.text.primary};\n background-color: ${theme.color.background.secondary};\n `}\n\n &${isNotDisabled}${isHovered}, &${isNotDisabled}${isFocused} {\n ${({ selected }) =>\n !selected &&\n css`\n outline: none;\n color: ${({ theme }) => theme.color.text.primary};\n background-color: ${({ theme }) => theme.color.background.secondary};\n `}\n }\n\n &:focus-visible {\n outline: 2px solid ${Color.BorderFocus};\n outline-offset: 1px;\n }\n\n ${({ selected, theme }) =>\n selected &&\n css`\n outline: none;\n color: ${theme.color.text.brand};\n background-color: ${theme.color.background.highlight};\n `}\n\n &${isDisabled} {\n color: ${({ theme }) => theme.color.text.disabled};\n cursor: default;\n pointer-events: none;\n }\n\n /* Variant Styling */\n ${({ theme, variant }) =>\n variant === 'danger' &&\n css`\n color: ${theme.color.variants[variant].default};\n\n &${isNotDisabled}${isHovered}, &${isNotDisabled}${isFocused} {\n color: ${Color.CoreRed900};\n background-color: ${theme.color.variants[variant].highlightLight};\n }\n\n &${isDisabled} {\n color: ${({ theme }) => theme.color.variants[variant].disabled};\n }\n `}\n`;\n\nexport const IconContainer = styled('div')<{ suffix?: boolean }>`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n margin-right: ${Spacing[2]};\n line-height: 1;\n\n ${({ suffix }) =>\n suffix &&\n css`\n margin-left: ${Spacing[2]};\n `}\n`;\n\nconst LabelContainer = styled('div')<{ stretchLabel: boolean }>`\n line-height: 16px;\n ${({ stretchLabel }) =>\n stretchLabel &&\n css`\n width: 100%;\n `}\n`;\n\n/**\n * https://stackoverflow.com/a/73795494\n */\nexport interface MenuItemType<T extends ElementType = 'div'> extends FC<\n MenuItemProps<T> & ComponentPropsWithRef<T>\n> {\n <T extends ElementType = 'div'>(\n props: MenuItemProps<T> & ComponentPropsWithoutRef<T>,\n ): ReturnType<FC<MenuItemProps<T> & ComponentPropsWithoutRef<T>>>;\n}\n\nexport const MenuItem: MenuItemType = forwardRef(function MenuItem(\n {\n children,\n disabled,\n variant,\n prefixIcon,\n suffixIcon,\n stretchLabel,\n selected,\n size,\n ...elemProps\n },\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <ListItem\n disabled={disabled}\n variant={variant}\n selected={selected}\n ref={ref}\n aria-disabled={disabled}\n // aria-current is the correct a11y attribute for role=\"menuitem\" (not aria-selected).\n aria-current={selected ? 'true' : undefined}\n role='menuitem'\n tabIndex={disabled ? -1 : 0}\n size={size}\n {...elemProps}\n >\n {prefixIcon && <IconContainer>{prefixIcon}</IconContainer>}\n <LabelContainer stretchLabel={!!stretchLabel}>{children}</LabelContainer>\n {suffixIcon && <IconContainer suffix>{suffixIcon}</IconContainer>}\n </ListItem>\n );\n});\n\nconst StyledMenuDivider = styled.hr`\n height: 0px;\n padding: 0px;\n font-size: 0;\n margin: ${Spacing[2]} -${Spacing[2]};\n border: none;\n border-top: 1px solid ${({ theme }) => theme.color.border.primary};\n`;\n\nexport const MenuDivider = (props: ComponentPropsWithoutRef<'hr'>) => (\n <DropdownMenu.Separator asChild>\n <StyledMenuDivider {...props} />\n </DropdownMenu.Separator>\n);\n\nexport interface MenuHeadingProps {\n size?: 'sm' | 'md';\n}\n\nexport const MenuHeading = styled.li<MenuHeadingProps>`\n ${paragraphMixins.sm};\n text-transform: uppercase;\n padding: ${({ size }) => (size === 'sm' ? `${Spacing[1]} ${Spacing[2]}` : Spacing[2])};\n display: block;\n color: ${({ theme }) => theme.color.text.secondary};\n font-weight: ${FontWeight.Regular};\n letter-spacing: 0.1em;\n`;\n\nexport interface MenuProps<T extends ElementType = 'div'> {\n children?: ReactNode;\n className?: string;\n variant?: 'light' | 'dark';\n as?: T;\n doNotSetRole?: boolean;\n containerProps?: ComponentPropsWithRef<'div'>;\n listRef?: RefObject<T>;\n itemProps?:\n | ComponentPropsWithoutRef<'li'>\n | ((\n props: ComponentPropsWithoutRef<'li'>,\n index: number,\n ) => Partial<ComponentPropsWithRef<'li'>>);\n onClose?: VoidFunction;\n}\n\nexport const Menu = <T extends ElementType = 'div'>({\n children,\n variant,\n containerProps,\n itemProps,\n listRef,\n className,\n onClose,\n as,\n ...props\n}: MenuProps<T> & ComponentPropsWithoutRef<T>) => {\n const menu = (\n <FloatingCard {...containerProps} className={className}>\n <MenuList {...props} as={as as any} ref={listRef}>\n {children}\n <DismissButton onDismiss={onClose} />\n </MenuList>\n </FloatingCard>\n );\n\n if (variant === 'dark') {\n return <PDSProvider theme={darkTheme}>{menu}</PDSProvider>;\n }\n\n return menu;\n};\n\nMenu.Heading = MenuHeading;\nMenu.Divider = MenuDivider;\nMenu.Item = MenuItem;\n\nexport default Menu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu-BbSyWxFD.mjs","names":["Card"],"sources":["../components/Menu/Menu.tsx"],"sourcesContent":["import * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentPropsWithRef,\n type ComponentType,\n type ElementType,\n type FC,\n forwardRef,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport { DismissButton } from 'react-aria';\nimport styled, {\n css,\n type DefaultTheme,\n type StyledComponent,\n type StyledComponentPropsWithRef,\n} from 'styled-components';\n\nimport PDSProvider from '@persona/design-system/lib/PDSProvider';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport Card from 'design-system/components/Card';\nimport { isDisabled, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { darkTheme } from 'design-system/theme';\nimport { FontWeight } from 'design-system/variables/text';\n\nexport const FloatingCard: StyledComponent<\n ComponentType<StyledComponentPropsWithRef<typeof Card>>,\n DefaultTheme\n> = styled(Card)`\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n outline: none;\n z-index: ${Z_INDICES.tooltip};\n`;\n\nexport const MenuList = styled.div.attrs<{ padding?: Spacing; doNotSetRole?: boolean }>(\n ({ role, doNotSetRole = false }) => ({\n role: doNotSetRole ? undefined : (role ?? 'menu'),\n }),\n)<{ padding?: Spacing }>`\n list-style: none;\n margin: 0;\n padding: ${({ padding }) => padding || Spacing[2]};\n outline: none;\n`;\n\nexport interface MenuItemProps<T extends ElementType = 'div'> {\n children: ReactNode;\n prefixIcon?: ReactNode;\n suffixIcon?: ReactNode;\n disabled?: boolean;\n variant?: 'basic' | 'danger';\n as?: T;\n stretchLabel?: boolean;\n subtitle?: string;\n focused?: boolean;\n selected?: boolean;\n size?: 'sm' | 'md';\n}\n\nexport const ListItem = styled.li<\n Pick<MenuItemProps, 'variant' | 'disabled' | 'focused' | 'selected' | 'size'>\n>`\n ${({ size }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n display: flex;\n align-items: center;\n padding: ${({ size }) => (size === 'sm' ? `${Spacing[1]} ${Spacing[2]}` : `${Spacing[2]}`)};\n border-radius: 4px;\n list-style: none;\n text-decoration: none;\n color: ${({ theme }) => theme.color.text.primary};\n cursor: pointer;\n ${({ focused, selected, theme }) =>\n focused &&\n !selected &&\n css`\n outline: none;\n color: ${theme.color.text.primary};\n background-color: ${theme.color.background.secondary};\n `}\n\n &${isNotDisabled}${isHovered}, &${isNotDisabled}${isFocused} {\n ${({ selected }) =>\n !selected &&\n css`\n outline: none;\n color: ${({ theme }) => theme.color.text.primary};\n background-color: ${({ theme }) => theme.color.background.secondary};\n `}\n }\n\n &:focus-visible {\n outline: 2px solid ${Color.BorderFocus};\n outline-offset: 1px;\n }\n\n ${({ selected, theme }) =>\n selected &&\n css`\n outline: none;\n color: ${theme.color.text.brand};\n background-color: ${theme.color.background.highlight};\n `}\n\n &${isDisabled} {\n color: ${({ theme }) => theme.color.text.disabled};\n cursor: default;\n pointer-events: none;\n }\n\n /* Variant Styling */\n ${({ theme, variant }) =>\n variant === 'danger' &&\n css`\n color: ${theme.color.variants[variant].default};\n\n &${isNotDisabled}${isHovered}, &${isNotDisabled}${isFocused} {\n color: ${Color.CoreRed900};\n background-color: ${theme.color.variants[variant].highlightLight};\n }\n\n &${isDisabled} {\n color: ${({ theme }) => theme.color.variants[variant].disabled};\n }\n `}\n`;\n\nexport const IconContainer = styled('div')<{ suffix?: boolean }>`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n margin-right: ${Spacing[2]};\n line-height: 1;\n\n ${({ suffix }) =>\n suffix &&\n css`\n margin-left: ${Spacing[2]};\n `}\n`;\n\nconst LabelContainer = styled('div')<{ stretchLabel: boolean }>`\n line-height: 16px;\n ${({ stretchLabel }) =>\n stretchLabel &&\n css`\n width: 100%;\n `}\n`;\n\n/**\n * https://stackoverflow.com/a/73795494\n */\nexport interface MenuItemType<T extends ElementType = 'div'> extends FC<\n MenuItemProps<T> & ComponentPropsWithRef<T>\n> {\n <T extends ElementType = 'div'>(\n props: MenuItemProps<T> & ComponentPropsWithoutRef<T>,\n ): ReturnType<FC<MenuItemProps<T> & ComponentPropsWithoutRef<T>>>;\n}\n\nexport const MenuItem: MenuItemType = forwardRef(function MenuItem(\n {\n children,\n disabled,\n variant,\n prefixIcon,\n suffixIcon,\n stretchLabel,\n selected,\n size,\n ...elemProps\n },\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <ListItem\n disabled={disabled}\n variant={variant}\n selected={selected}\n ref={ref}\n aria-disabled={disabled}\n // aria-current is the correct a11y attribute for role=\"menuitem\" (not aria-selected).\n aria-current={selected ? 'true' : undefined}\n role='menuitem'\n tabIndex={disabled ? -1 : 0}\n size={size}\n {...elemProps}\n >\n {prefixIcon && <IconContainer>{prefixIcon}</IconContainer>}\n <LabelContainer stretchLabel={!!stretchLabel}>{children}</LabelContainer>\n {suffixIcon && <IconContainer suffix>{suffixIcon}</IconContainer>}\n </ListItem>\n );\n});\n\nconst StyledMenuDivider = styled.hr`\n height: 0px;\n padding: 0px;\n font-size: 0;\n margin: ${Spacing[2]} -${Spacing[2]};\n border: none;\n border-top: 1px solid ${({ theme }) => theme.color.border.primary};\n`;\n\nexport const MenuDivider = (props: ComponentPropsWithoutRef<'hr'>) => (\n <DropdownMenu.Separator asChild>\n <StyledMenuDivider {...props} />\n </DropdownMenu.Separator>\n);\n\nexport interface MenuHeadingProps {\n size?: 'sm' | 'md';\n}\n\nexport const MenuHeading = styled.li<MenuHeadingProps>`\n ${paragraphMixins.sm};\n text-transform: uppercase;\n padding: ${({ size }) => (size === 'sm' ? `${Spacing[1]} ${Spacing[2]}` : Spacing[2])};\n display: block;\n color: ${({ theme }) => theme.color.text.secondary};\n font-weight: ${FontWeight.Regular};\n letter-spacing: 0.1em;\n`;\n\nexport interface MenuProps<T extends ElementType = 'div'> {\n children?: ReactNode;\n className?: string;\n variant?: 'light' | 'dark';\n as?: T;\n doNotSetRole?: boolean;\n containerProps?: ComponentPropsWithRef<'div'>;\n listRef?: RefObject<T>;\n itemProps?:\n | ComponentPropsWithoutRef<'li'>\n | ((\n props: ComponentPropsWithoutRef<'li'>,\n index: number,\n ) => Partial<ComponentPropsWithRef<'li'>>);\n onClose?: VoidFunction;\n}\n\nexport const Menu = <T extends ElementType = 'div'>({\n children,\n variant,\n containerProps,\n itemProps,\n listRef,\n className,\n onClose,\n as,\n ...props\n}: MenuProps<T> & ComponentPropsWithoutRef<T>) => {\n const menu = (\n <FloatingCard {...containerProps} className={className}>\n <MenuList {...props} as={as as any} ref={listRef}>\n {children}\n <DismissButton onDismiss={onClose} />\n </MenuList>\n </FloatingCard>\n );\n\n if (variant === 'dark') {\n return <PDSProvider theme={darkTheme}>{menu}</PDSProvider>;\n }\n\n return menu;\n};\n\nMenu.Heading = MenuHeading;\nMenu.Divider = MenuDivider;\nMenu.Item = MenuItem;\n\nexport default Menu;\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { r as _default } from "./Card-CcU9cKCd.mjs";
1
+ import { r as _default } from "./Card-YzGS3nQI.mjs";
2
2
  import { Spacing } from "@persona/design-tokens";
3
3
  import { DefaultTheme, StyledComponent, StyledComponentPropsWithRef } from "styled-components";
4
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
4
  import { ComponentPropsWithRef, ComponentPropsWithoutRef, ComponentType, ElementType, FC, ReactNode, RefObject } from "react";
5
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
6
6
 
7
7
  //#region components/Menu/Menu.d.ts
8
8
  declare const FloatingCard: StyledComponent<ComponentType<StyledComponentPropsWithRef<typeof _default>>, DefaultTheme>;
@@ -22,7 +22,7 @@ interface MenuItemProps<T extends ElementType = 'div'> {
22
22
  selected?: boolean;
23
23
  size?: 'sm' | 'md';
24
24
  }
25
- declare const ListItem: StyledComponent<"li", any, Pick<MenuItemProps<"div">, "variant" | "disabled" | "size" | "focused" | "selected">, never>;
25
+ declare const ListItem: StyledComponent<"li", any, Pick<MenuItemProps<"div">, "disabled" | "size" | "selected" | "variant" | "focused">, never>;
26
26
  declare const IconContainer: StyledComponent<"div", any, {
27
27
  suffix?: boolean;
28
28
  }, never>;
@@ -67,4 +67,4 @@ declare const Menu: {
67
67
  };
68
68
  //#endregion
69
69
  export { MenuDivider as a, MenuItem as c, MenuList as d, MenuProps as f, Menu as i, MenuItemProps as l, IconContainer as n, MenuHeading as o, ListItem as r, MenuHeadingProps as s, FloatingCard as t, MenuItemType as u };
70
- //# sourceMappingURL=Menu-DIFkRQ6x.d.mts.map
70
+ //# sourceMappingURL=Menu-CSgCXX0k.d.mts.map
@@ -22,7 +22,7 @@ interface MenuItemProps<T extends ElementType = 'div'> {
22
22
  selected?: boolean;
23
23
  size?: 'sm' | 'md';
24
24
  }
25
- declare const ListItem: StyledComponent<"li", any, Pick<MenuItemProps<"div">, "disabled" | "size" | "selected" | "variant" | "focused">, never>;
25
+ declare const ListItem: StyledComponent<"li", any, Pick<MenuItemProps<"div">, "size" | "disabled" | "selected" | "variant" | "focused">, never>;
26
26
  declare const IconContainer: StyledComponent<"div", any, {
27
27
  suffix?: boolean;
28
28
  }, never>;
@@ -67,4 +67,4 @@ declare const Menu: {
67
67
  };
68
68
  //#endregion
69
69
  export { MenuDivider as a, MenuItem as c, MenuList as d, MenuProps as f, Menu as i, MenuItemProps as l, IconContainer as n, MenuHeading as o, ListItem as r, MenuHeadingProps as s, FloatingCard as t, MenuItemType as u };
70
- //# sourceMappingURL=Menu-DPrNMatb.d.cts.map
70
+ //# sourceMappingURL=Menu-C_NOsHAm.d.cts.map
package/dist/Menu.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as MenuDivider, c as MenuItem, d as MenuList, f as MenuProps, i as Menu, l as MenuItemProps, n as IconContainer, o as MenuHeading, r as ListItem, s as MenuHeadingProps, t as FloatingCard, u as MenuItemType } from "./Menu-DPrNMatb.cjs";
1
+ import { a as MenuDivider, c as MenuItem, d as MenuList, f as MenuProps, i as Menu, l as MenuItemProps, n as IconContainer, o as MenuHeading, r as ListItem, s as MenuHeadingProps, t as FloatingCard, u as MenuItemType } from "./Menu-C_NOsHAm.cjs";
2
2
  export { FloatingCard, IconContainer, ListItem, Menu, Menu as default, MenuDivider, MenuHeading, MenuHeadingProps, MenuItem, MenuItemProps, MenuItemType, MenuList, MenuProps };
package/dist/Menu.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as MenuDivider, c as MenuItem, d as MenuList, f as MenuProps, i as Menu, l as MenuItemProps, n as IconContainer, o as MenuHeading, r as ListItem, s as MenuHeadingProps, t as FloatingCard, u as MenuItemType } from "./Menu-DIFkRQ6x.mjs";
1
+ import { a as MenuDivider, c as MenuItem, d as MenuList, f as MenuProps, i as Menu, l as MenuItemProps, n as IconContainer, o as MenuHeading, r as ListItem, s as MenuHeadingProps, t as FloatingCard, u as MenuItemType } from "./Menu-CSgCXX0k.mjs";
2
2
  export { FloatingCard, IconContainer, ListItem, Menu, Menu as default, MenuDivider, MenuHeading, MenuHeadingProps, MenuItem, MenuItemProps, MenuItemType, MenuList, MenuProps };
@@ -0,0 +1,178 @@
1
+ const require_chunk = require("./chunk-CKQMccvm.cjs");
2
+ let _persona_design_tokens = require("@persona/design-tokens");
3
+ let styled_components = require("styled-components");
4
+ styled_components = require_chunk.__toESM(styled_components);
5
+ let react = require("react");
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ //#region lib/middleTruncateText.ts
8
+ const ELLIPSIS = "…";
9
+ const DEFAULT_FONT = `${_persona_design_tokens.Typography.TextMono.fontWeight} ${_persona_design_tokens.Typography.TextExtraSmall.fontSize} ${_persona_design_tokens.Typography.TextMono.fontFamily}`;
10
+ const MEASUREMENT_TOLERANCE_PX = 1;
11
+ function createMeasurementCanvas() {
12
+ const canvas = document.createElement("canvas");
13
+ const cleanup = () => {
14
+ canvas.width = 0;
15
+ canvas.height = 0;
16
+ canvas.remove();
17
+ };
18
+ return [canvas, cleanup];
19
+ }
20
+ function buildMiddleTruncatedText(text, charsToShow) {
21
+ if (charsToShow >= text.length) return text;
22
+ if (charsToShow <= 1) return ELLIPSIS.slice(0, Math.max(charsToShow, 0));
23
+ const contentChars = charsToShow - 1;
24
+ const front = Math.ceil(contentChars / 2);
25
+ const back = Math.floor(contentChars / 2);
26
+ return text.slice(0, front) + ELLIPSIS + text.slice(text.length - back);
27
+ }
28
+ function isMiddleTruncated(displayText, fullText) {
29
+ return displayText !== fullText;
30
+ }
31
+ function parseMaxWidthPx(maxWidth) {
32
+ if (typeof maxWidth === "number") return maxWidth;
33
+ if (maxWidth.endsWith("px")) {
34
+ const parsed = Number.parseFloat(maxWidth);
35
+ return Number.isNaN(parsed) ? null : parsed;
36
+ }
37
+ return null;
38
+ }
39
+ function measureTextWidth(text, font = DEFAULT_FONT) {
40
+ const [canvas, cleanupCanvas] = createMeasurementCanvas();
41
+ try {
42
+ const context = canvas.getContext("2d");
43
+ if (!context) return text.length * 6;
44
+ context.font = font;
45
+ const measuredWidth = context.measureText(text).width;
46
+ const minimumReasonableWidth = text.length * 4;
47
+ if (measuredWidth === 0 || measuredWidth < minimumReasonableWidth) return text.length * 6;
48
+ return measuredWidth;
49
+ } finally {
50
+ cleanupCanvas();
51
+ }
52
+ }
53
+ function findMiddleTruncatedTextForWidth(text, maxWidthPx, font = DEFAULT_FONT) {
54
+ const fitBudget = maxWidthPx + MEASUREMENT_TOLERANCE_PX;
55
+ if (measureTextWidth(text, font) <= fitBudget) return text;
56
+ let low = 1;
57
+ let high = text.length;
58
+ let bestDisplay = buildMiddleTruncatedText(text, 1);
59
+ while (low <= high) {
60
+ const mid = Math.floor((low + high) / 2);
61
+ const candidate = buildMiddleTruncatedText(text, mid);
62
+ if (measureTextWidth(candidate, font) <= fitBudget) {
63
+ bestDisplay = candidate;
64
+ low = mid + 1;
65
+ } else high = mid - 1;
66
+ }
67
+ return bestDisplay;
68
+ }
69
+ function findMaxMiddleTruncatedCharsThatFit(element, text, maxWidthPx, font) {
70
+ const measuredWidth = element.clientWidth > 0 ? element.clientWidth : null;
71
+ const parsedMaxWidth = maxWidthPx ?? parseMaxWidthPx(element.style.maxWidth);
72
+ const widthBudget = measuredWidth != null && parsedMaxWidth != null ? Math.min(measuredWidth, parsedMaxWidth) : measuredWidth ?? parsedMaxWidth;
73
+ if (widthBudget != null && widthBudget > 0) {
74
+ const displayText = findMiddleTruncatedTextForWidth(text, widthBudget, font);
75
+ return {
76
+ displayText,
77
+ charsToShow: displayText.length
78
+ };
79
+ }
80
+ element.textContent = text;
81
+ if (element.scrollWidth <= element.clientWidth) return {
82
+ displayText: text,
83
+ charsToShow: text.length
84
+ };
85
+ let low = 1;
86
+ let high = text.length;
87
+ let bestCharsToShow = 1;
88
+ let bestDisplay = buildMiddleTruncatedText(text, 1);
89
+ while (low <= high) {
90
+ const mid = Math.floor((low + high) / 2);
91
+ const candidate = buildMiddleTruncatedText(text, mid);
92
+ element.textContent = candidate;
93
+ if (element.scrollWidth <= element.clientWidth) {
94
+ bestCharsToShow = mid;
95
+ bestDisplay = candidate;
96
+ low = mid + 1;
97
+ } else high = mid - 1;
98
+ }
99
+ return {
100
+ displayText: bestDisplay,
101
+ charsToShow: bestCharsToShow
102
+ };
103
+ }
104
+ //#endregion
105
+ //#region lib/MiddleTruncatedText.tsx
106
+ const TruncationSpan = styled_components.default.span`
107
+ display: block;
108
+ overflow: hidden;
109
+ white-space: nowrap;
110
+ min-width: 0;
111
+ position: relative;
112
+ `;
113
+ const AccessibleText = styled_components.default.span`
114
+ opacity: 0;
115
+ user-select: text;
116
+ `;
117
+ const VisualTruncatedText = styled_components.default.span`
118
+ position: absolute;
119
+ inset: 0;
120
+ overflow: hidden;
121
+ white-space: nowrap;
122
+ color: inherit;
123
+ pointer-events: none;
124
+ `;
125
+ const MiddleTruncatedText = ({ value, maxWidth = "96px", font, titleBehavior = "conditional", onTruncatedChange, "aria-label": ariaLabel, style, ...props }) => {
126
+ const ref = (0, react.useRef)(null);
127
+ const [displayText, setDisplayText] = (0, react.useState)(value);
128
+ const maxWidthPx = parseMaxWidthPx(maxWidth);
129
+ const updateTruncation = (0, react.useCallback)((element) => {
130
+ const { displayText: nextDisplayText } = findMaxMiddleTruncatedCharsThatFit(element, value, maxWidthPx, font);
131
+ setDisplayText((current) => current === nextDisplayText ? current : nextDisplayText);
132
+ onTruncatedChange?.(isMiddleTruncated(nextDisplayText, value));
133
+ }, [
134
+ value,
135
+ maxWidthPx,
136
+ font,
137
+ onTruncatedChange
138
+ ]);
139
+ (0, react.useLayoutEffect)(() => {
140
+ const element = ref.current;
141
+ if (!element) return;
142
+ updateTruncation(element);
143
+ let cancelled = false;
144
+ document.fonts?.ready.then(() => {
145
+ if (!cancelled) updateTruncation(element);
146
+ });
147
+ const resizeObserver = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(() => updateTruncation(element));
148
+ resizeObserver?.observe(element);
149
+ return () => {
150
+ cancelled = true;
151
+ resizeObserver?.disconnect();
152
+ };
153
+ }, [maxWidth, updateTruncation]);
154
+ const isTruncated = isMiddleTruncated(displayText, value);
155
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TruncationSpan, {
156
+ ref,
157
+ style: {
158
+ ...style,
159
+ maxWidth
160
+ },
161
+ "aria-label": ariaLabel ?? (isTruncated ? value : void 0),
162
+ title: titleBehavior !== "never" && (titleBehavior === "always" || isTruncated) ? value : void 0,
163
+ ...props,
164
+ children: isTruncated ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(AccessibleText, { children: value }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VisualTruncatedText, {
165
+ "aria-hidden": "true",
166
+ children: displayText
167
+ })] }) : displayText
168
+ });
169
+ };
170
+ //#endregion
171
+ Object.defineProperty(exports, "MiddleTruncatedText", {
172
+ enumerable: true,
173
+ get: function() {
174
+ return MiddleTruncatedText;
175
+ }
176
+ });
177
+
178
+ //# sourceMappingURL=MiddleTruncatedText-BIzKECv9.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiddleTruncatedText-BIzKECv9.cjs","names":["Typography"],"sources":["../lib/middleTruncateText.ts","../lib/MiddleTruncatedText.tsx"],"sourcesContent":["import { Typography } from '@persona/design-tokens';\n\nconst ELLIPSIS = '…';\nconst DEFAULT_FONT = `${Typography.TextMono.fontWeight} ${Typography.TextExtraSmall.fontSize} ${Typography.TextMono.fontFamily}`;\nconst MEASUREMENT_TOLERANCE_PX = 1;\n\nfunction createMeasurementCanvas(): [HTMLCanvasElement, () => void] {\n // oxlint-disable-next-line persona-web/document-create-element-canvas\n const canvas = document.createElement('canvas');\n const cleanup = () => {\n canvas.width = 0;\n canvas.height = 0;\n canvas.remove();\n };\n\n return [canvas, cleanup];\n}\n\nexport function buildMiddleTruncatedText(text: string, charsToShow: number): string {\n if (charsToShow >= text.length) {\n return text;\n }\n\n if (charsToShow <= ELLIPSIS.length) {\n return ELLIPSIS.slice(0, Math.max(charsToShow, 0));\n }\n\n const contentChars = charsToShow - ELLIPSIS.length;\n const front = Math.ceil(contentChars / 2);\n const back = Math.floor(contentChars / 2);\n\n return text.slice(0, front) + ELLIPSIS + text.slice(text.length - back);\n}\n\nexport function isMiddleTruncated(displayText: string, fullText: string): boolean {\n return displayText !== fullText;\n}\n\nexport function parseMaxWidthPx(maxWidth: number | string): number | null {\n if (typeof maxWidth === 'number') {\n return maxWidth;\n }\n\n if (maxWidth.endsWith('px')) {\n const parsed = Number.parseFloat(maxWidth);\n return Number.isNaN(parsed) ? null : parsed;\n }\n\n return null;\n}\n\nexport function measureTextWidth(text: string, font = DEFAULT_FONT): number {\n const [canvas, cleanupCanvas] = createMeasurementCanvas();\n\n try {\n const context = canvas.getContext('2d');\n\n if (!context) {\n return text.length * 6;\n }\n\n context.font = font;\n const measuredWidth = context.measureText(text).width;\n const minimumReasonableWidth = text.length * 4;\n\n if (measuredWidth === 0 || measuredWidth < minimumReasonableWidth) {\n return text.length * 6;\n }\n\n return measuredWidth;\n } finally {\n cleanupCanvas();\n }\n}\n\nexport function findMiddleTruncatedTextForWidth(\n text: string,\n maxWidthPx: number,\n font = DEFAULT_FONT,\n): string {\n const fitBudget = maxWidthPx + MEASUREMENT_TOLERANCE_PX;\n\n if (measureTextWidth(text, font) <= fitBudget) {\n return text;\n }\n\n let low = ELLIPSIS.length;\n let high = text.length;\n let bestDisplay = buildMiddleTruncatedText(text, ELLIPSIS.length);\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const candidate = buildMiddleTruncatedText(text, mid);\n\n if (measureTextWidth(candidate, font) <= fitBudget) {\n bestDisplay = candidate;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n return bestDisplay;\n}\n\nexport function findMaxMiddleTruncatedCharsThatFit(\n element: HTMLElement,\n text: string,\n maxWidthPx?: number | null,\n font?: string,\n): { displayText: string; charsToShow: number } {\n const measuredWidth = element.clientWidth > 0 ? element.clientWidth : null;\n const parsedMaxWidth = maxWidthPx ?? parseMaxWidthPx(element.style.maxWidth);\n const widthBudget =\n measuredWidth != null && parsedMaxWidth != null\n ? Math.min(measuredWidth, parsedMaxWidth)\n : (measuredWidth ?? parsedMaxWidth);\n\n if (widthBudget != null && widthBudget > 0) {\n const displayText = findMiddleTruncatedTextForWidth(text, widthBudget, font);\n return { displayText, charsToShow: displayText.length };\n }\n\n element.textContent = text;\n if (element.scrollWidth <= element.clientWidth) {\n return { displayText: text, charsToShow: text.length };\n }\n\n let low = ELLIPSIS.length;\n let high = text.length;\n let bestCharsToShow = ELLIPSIS.length;\n let bestDisplay = buildMiddleTruncatedText(text, ELLIPSIS.length);\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const candidate = buildMiddleTruncatedText(text, mid);\n element.textContent = candidate;\n\n if (element.scrollWidth <= element.clientWidth) {\n bestCharsToShow = mid;\n bestDisplay = candidate;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n return { displayText: bestDisplay, charsToShow: bestCharsToShow };\n}\n","import {\n type ComponentPropsWithoutRef,\n type FC,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport styled from 'styled-components';\n\nimport {\n findMaxMiddleTruncatedCharsThatFit,\n isMiddleTruncated,\n parseMaxWidthPx,\n} from './middleTruncateText';\n\nconst TruncationSpan = styled.span`\n display: block;\n overflow: hidden;\n white-space: nowrap;\n min-width: 0;\n position: relative;\n`;\n\nconst AccessibleText = styled.span`\n opacity: 0;\n user-select: text;\n`;\n\nconst VisualTruncatedText = styled.span`\n position: absolute;\n inset: 0;\n overflow: hidden;\n white-space: nowrap;\n color: inherit;\n pointer-events: none;\n`;\n\nexport interface MiddleTruncatedTextProps extends ComponentPropsWithoutRef<'span'> {\n value: string;\n maxWidth?: number | string;\n font?: string;\n titleBehavior?: 'always' | 'conditional' | 'never';\n onTruncatedChange?: (isTruncated: boolean) => void;\n}\n\nexport const MiddleTruncatedText: FC<MiddleTruncatedTextProps> = ({\n value,\n maxWidth = '96px',\n font,\n titleBehavior = 'conditional',\n onTruncatedChange,\n 'aria-label': ariaLabel,\n style,\n ...props\n}) => {\n const ref = useRef<HTMLSpanElement>(null);\n const [displayText, setDisplayText] = useState(value);\n const maxWidthPx = parseMaxWidthPx(maxWidth);\n\n const updateTruncation = useCallback(\n (element: HTMLElement) => {\n const { displayText: nextDisplayText } = findMaxMiddleTruncatedCharsThatFit(\n element,\n value,\n maxWidthPx,\n font,\n );\n setDisplayText((current) => (current === nextDisplayText ? current : nextDisplayText));\n onTruncatedChange?.(isMiddleTruncated(nextDisplayText, value));\n },\n [value, maxWidthPx, font, onTruncatedChange],\n );\n\n useLayoutEffect(() => {\n const element = ref.current;\n if (!element) {\n return;\n }\n\n updateTruncation(element);\n\n let cancelled = false;\n void document.fonts?.ready.then(() => {\n if (!cancelled) {\n updateTruncation(element);\n }\n });\n\n const resizeObserver =\n typeof ResizeObserver === 'undefined'\n ? null\n : new ResizeObserver(() => updateTruncation(element));\n resizeObserver?.observe(element);\n\n return () => {\n cancelled = true;\n resizeObserver?.disconnect();\n };\n }, [maxWidth, updateTruncation]);\n\n const isTruncated = isMiddleTruncated(displayText, value);\n\n return (\n <TruncationSpan\n ref={ref}\n style={{ ...style, maxWidth }}\n aria-label={ariaLabel ?? (isTruncated ? value : undefined)}\n title={\n titleBehavior !== 'never' && (titleBehavior === 'always' || isTruncated) ? value : undefined\n }\n {...props}\n >\n {isTruncated ? (\n <>\n <AccessibleText>{value}</AccessibleText>\n <VisualTruncatedText aria-hidden='true'>{displayText}</VisualTruncatedText>\n </>\n ) : (\n displayText\n )}\n </TruncationSpan>\n );\n};\n\nexport default MiddleTruncatedText;\n"],"mappings":";;;;;;;AAEA,MAAM,WAAW;AACjB,MAAM,eAAe,GAAGA,uBAAAA,WAAW,SAAS,WAAW,GAAGA,uBAAAA,WAAW,eAAe,SAAS,GAAGA,uBAAAA,WAAW,SAAS;AACpH,MAAM,2BAA2B;AAEjC,SAAS,0BAA2D;CAElE,MAAM,SAAS,SAAS,cAAc,SAAS;CAC/C,MAAM,gBAAgB;AACpB,SAAO,QAAQ;AACf,SAAO,SAAS;AAChB,SAAO,QAAQ;;AAGjB,QAAO,CAAC,QAAQ,QAAQ;;AAG1B,SAAgB,yBAAyB,MAAc,aAA6B;AAClF,KAAI,eAAe,KAAK,OACtB,QAAO;AAGT,KAAI,eAAe,EACjB,QAAO,SAAS,MAAM,GAAG,KAAK,IAAI,aAAa,EAAE,CAAC;CAGpD,MAAM,eAAe,cAAc;CACnC,MAAM,QAAQ,KAAK,KAAK,eAAe,EAAE;CACzC,MAAM,OAAO,KAAK,MAAM,eAAe,EAAE;AAEzC,QAAO,KAAK,MAAM,GAAG,MAAM,GAAG,WAAW,KAAK,MAAM,KAAK,SAAS,KAAK;;AAGzE,SAAgB,kBAAkB,aAAqB,UAA2B;AAChF,QAAO,gBAAgB;;AAGzB,SAAgB,gBAAgB,UAA0C;AACxE,KAAI,OAAO,aAAa,SACtB,QAAO;AAGT,KAAI,SAAS,SAAS,KAAK,EAAE;EAC3B,MAAM,SAAS,OAAO,WAAW,SAAS;AAC1C,SAAO,OAAO,MAAM,OAAO,GAAG,OAAO;;AAGvC,QAAO;;AAGT,SAAgB,iBAAiB,MAAc,OAAO,cAAsB;CAC1E,MAAM,CAAC,QAAQ,iBAAiB,yBAAyB;AAEzD,KAAI;EACF,MAAM,UAAU,OAAO,WAAW,KAAK;AAEvC,MAAI,CAAC,QACH,QAAO,KAAK,SAAS;AAGvB,UAAQ,OAAO;EACf,MAAM,gBAAgB,QAAQ,YAAY,KAAK,CAAC;EAChD,MAAM,yBAAyB,KAAK,SAAS;AAE7C,MAAI,kBAAkB,KAAK,gBAAgB,uBACzC,QAAO,KAAK,SAAS;AAGvB,SAAO;WACC;AACR,iBAAe;;;AAInB,SAAgB,gCACd,MACA,YACA,OAAO,cACC;CACR,MAAM,YAAY,aAAa;AAE/B,KAAI,iBAAiB,MAAM,KAAK,IAAI,UAClC,QAAO;CAGT,IAAI,MAAM;CACV,IAAI,OAAO,KAAK;CAChB,IAAI,cAAc,yBAAyB,MAAM,EAAgB;AAEjE,QAAO,OAAO,MAAM;EAClB,MAAM,MAAM,KAAK,OAAO,MAAM,QAAQ,EAAE;EACxC,MAAM,YAAY,yBAAyB,MAAM,IAAI;AAErD,MAAI,iBAAiB,WAAW,KAAK,IAAI,WAAW;AAClD,iBAAc;AACd,SAAM,MAAM;QAEZ,QAAO,MAAM;;AAIjB,QAAO;;AAGT,SAAgB,mCACd,SACA,MACA,YACA,MAC8C;CAC9C,MAAM,gBAAgB,QAAQ,cAAc,IAAI,QAAQ,cAAc;CACtE,MAAM,iBAAiB,cAAc,gBAAgB,QAAQ,MAAM,SAAS;CAC5E,MAAM,cACJ,iBAAiB,QAAQ,kBAAkB,OACvC,KAAK,IAAI,eAAe,eAAe,GACtC,iBAAiB;AAExB,KAAI,eAAe,QAAQ,cAAc,GAAG;EAC1C,MAAM,cAAc,gCAAgC,MAAM,aAAa,KAAK;AAC5E,SAAO;GAAE;GAAa,aAAa,YAAY;GAAQ;;AAGzD,SAAQ,cAAc;AACtB,KAAI,QAAQ,eAAe,QAAQ,YACjC,QAAO;EAAE,aAAa;EAAM,aAAa,KAAK;EAAQ;CAGxD,IAAI,MAAM;CACV,IAAI,OAAO,KAAK;CAChB,IAAI,kBAAkB;CACtB,IAAI,cAAc,yBAAyB,MAAM,EAAgB;AAEjE,QAAO,OAAO,MAAM;EAClB,MAAM,MAAM,KAAK,OAAO,MAAM,QAAQ,EAAE;EACxC,MAAM,YAAY,yBAAyB,MAAM,IAAI;AACrD,UAAQ,cAAc;AAEtB,MAAI,QAAQ,eAAe,QAAQ,aAAa;AAC9C,qBAAkB;AAClB,iBAAc;AACd,SAAM,MAAM;QAEZ,QAAO,MAAM;;AAIjB,QAAO;EAAE,aAAa;EAAa,aAAa;EAAiB;;;;ACnInE,MAAM,iBAAiB,kBAAA,QAAO,IAAI;;;;;;;AAQlC,MAAM,iBAAiB,kBAAA,QAAO,IAAI;;;;AAKlC,MAAM,sBAAsB,kBAAA,QAAO,IAAI;;;;;;;;AAiBvC,MAAa,uBAAqD,EAChE,OACA,WAAW,QACX,MACA,gBAAgB,eAChB,mBACA,cAAc,WACd,OACA,GAAG,YACC;CACJ,MAAM,OAAA,GAAA,MAAA,QAA8B,KAAK;CACzC,MAAM,CAAC,aAAa,mBAAA,GAAA,MAAA,UAA2B,MAAM;CACrD,MAAM,aAAa,gBAAgB,SAAS;CAE5C,MAAM,oBAAA,GAAA,MAAA,cACH,YAAyB;EACxB,MAAM,EAAE,aAAa,oBAAoB,mCACvC,SACA,OACA,YACA,KACD;AACD,kBAAgB,YAAa,YAAY,kBAAkB,UAAU,gBAAiB;AACtF,sBAAoB,kBAAkB,iBAAiB,MAAM,CAAC;IAEhE;EAAC;EAAO;EAAY;EAAM;EAAkB,CAC7C;AAED,EAAA,GAAA,MAAA,uBAAsB;EACpB,MAAM,UAAU,IAAI;AACpB,MAAI,CAAC,QACH;AAGF,mBAAiB,QAAQ;EAEzB,IAAI,YAAY;AACX,WAAS,OAAO,MAAM,WAAW;AACpC,OAAI,CAAC,UACH,kBAAiB,QAAQ;IAE3B;EAEF,MAAM,iBACJ,OAAO,mBAAmB,cACtB,OACA,IAAI,qBAAqB,iBAAiB,QAAQ,CAAC;AACzD,kBAAgB,QAAQ,QAAQ;AAEhC,eAAa;AACX,eAAY;AACZ,mBAAgB,YAAY;;IAE7B,CAAC,UAAU,iBAAiB,CAAC;CAEhC,MAAM,cAAc,kBAAkB,aAAa,MAAM;AAEzD,QACE,iBAAA,GAAA,kBAAA,KAAC,gBAAD;EACO;EACL,OAAO;GAAE,GAAG;GAAO;GAAU;EAC7B,cAAY,cAAc,cAAc,QAAQ,KAAA;EAChD,OACE,kBAAkB,YAAY,kBAAkB,YAAY,eAAe,QAAQ,KAAA;EAErF,GAAI;YAEH,cACC,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,gBAAD,EAAA,UAAiB,OAAuB,CAAA,EACxC,iBAAA,GAAA,kBAAA,KAAC,qBAAD;GAAqB,eAAY;aAAQ;GAAkC,CAAA,CAC1E,EAAA,CAAA,GAEH;EAEa,CAAA"}