@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 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/MatchHighlight/MatchHighlight.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport styled from 'styled-components';\n\nexport interface MatchHighlightProps extends Omit<ComponentPropsWithoutRef<'p'>, 'color'> {\n matchStrength?: 'none' | 'partial' | 'full';\n}\n\nexport const MatchHighlight = styled.span<MatchHighlightProps>`\n /* Sizing and Borders */\n width: fit-content;\n padding-left: ${Spacing[1]};\n padding-right: ${Spacing[1]};\n border-radius: ${Spacing[1]};\n\n /* Allow background colors to be dictated by the matchStrength. */\n background-color: ${({ matchStrength, theme }) => {\n switch (matchStrength) {\n case 'none':\n return theme.color.background.disabled;\n case 'partial':\n return theme.color.variants.success.highlightLight;\n case 'full':\n return theme.color.variants.success.highlightDark;\n\n default:\n return 'none';\n }\n }};\n`;\n\nexport default MatchHighlight;\n"],"mappings":";;;AAQA,MAAa,iBAAiB,OAAO,IAAyB;;;kBAG5C,QAAQ,GAAG;mBACV,QAAQ,GAAG;mBACX,QAAQ,GAAG;;;uBAGP,EAAE,eAAe,YAAY;AAChD,SAAQ,eAAR;EACE,KAAK,OACH,QAAO,MAAM,MAAM,WAAW;EAChC,KAAK,UACH,QAAO,MAAM,MAAM,SAAS,QAAQ;EACtC,KAAK,OACH,QAAO,MAAM,MAAM,SAAS,QAAQ;EAEtC,QACE,QAAO;;EAEX"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/MatchHighlight/MatchHighlight.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nexport interface MatchHighlightProps extends Omit<ComponentPropsWithoutRef<'p'>, 'color'> {\n matchStrength?: 'none' | 'partial' | 'full';\n}\n\nexport const MatchHighlight = styled.span<MatchHighlightProps>`\n /* Sizing and Borders */\n width: fit-content;\n padding-left: ${Spacing[1]};\n padding-right: ${Spacing[1]};\n border-radius: ${Spacing[1]};\n\n /* Allow background colors to be dictated by the matchStrength. */\n background-color: ${({ matchStrength, theme }) => {\n switch (matchStrength) {\n case 'none':\n return theme.color.background.disabled;\n case 'partial':\n return theme.color.variants.success.highlightLight;\n case 'full':\n return theme.color.variants.success.highlightDark;\n\n default:\n return 'none';\n }\n }};\n`;\n\nexport default MatchHighlight;\n"],"mappings":";;;AASA,MAAa,iBAAiB,OAAO,IAAyB;;;kBAG5C,QAAQ,GAAG;mBACV,QAAQ,GAAG;mBACX,QAAQ,GAAG;;;uBAGP,EAAE,eAAe,YAAY;AAChD,SAAQ,eAAR;EACE,KAAK,OACH,QAAO,MAAM,MAAM,WAAW;EAChC,KAAK,UACH,QAAO,MAAM,MAAM,SAAS,QAAQ;EACtC,KAAK,OACH,QAAO,MAAM,MAAM,SAAS,QAAQ;EAEtC,QACE,QAAO;;EAEX"}
@@ -2,8 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- require("../../chunk-CoPdw6nB.cjs");
6
- const require_Menu = require("../../Menu-BpkjNO81.cjs");
5
+ const require_Menu = require("../../Menu-BLbEcodU.cjs");
7
6
  exports.FloatingCard = require_Menu.FloatingCard;
8
7
  exports.IconContainer = require_Menu.IconContainer;
9
8
  exports.ListItem = require_Menu.ListItem;
@@ -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 };
@@ -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 };
@@ -1,2 +1,2 @@
1
- import { a as MenuDivider, c as MenuList, i as Menu, n as IconContainer, o as MenuHeading, r as ListItem, s as MenuItem, t as FloatingCard } from "../../Menu-DNRHo2i_.mjs";
1
+ import { a as MenuDivider, c as MenuList, i as Menu, n as IconContainer, o as MenuHeading, r as ListItem, s as MenuItem, t as FloatingCard } from "../../Menu-BbSyWxFD.mjs";
2
2
  export { FloatingCard, IconContainer, ListItem, Menu, Menu as default, MenuDivider, MenuHeading, MenuItem, MenuList };
@@ -2,20 +2,18 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_chunk = require("../../chunk-CoPdw6nB.cjs");
6
- const require_Stack = require("../../Stack-BHb3ZB2A.cjs");
7
- require("../Stack/index.cjs");
8
- const require_Card = require("../../Card-CyCKL-M5.cjs");
9
- const require_Text = require("../../Text-DVz8erdF.cjs");
10
- const require_IconButton = require("../../IconButton-B1ZL8BqW.cjs");
11
- require("../Button/index.cjs");
12
- const require_TabBar = require("../../TabBar-BMv8dAS3.cjs");
5
+ const require_chunk = require("../../chunk-CKQMccvm.cjs");
6
+ const require_Card = require("../../Card-CaOItkgL.cjs");
7
+ const require_Text = require("../../Text-CzN0DOXV.cjs");
8
+ const require_Stack = require("../../Stack-BF-9YjA1.cjs");
9
+ const require_IconButton = require("../../IconButton-DNy7g5zh.cjs");
10
+ const require_TabBar = require("../../TabBar-D8WCGYd5.cjs");
13
11
  let _persona_design_tokens = require("@persona/design-tokens");
14
12
  let styled_components = require("styled-components");
15
13
  styled_components = require_chunk.__toESM(styled_components);
16
- let react_jsx_runtime = require("react/jsx-runtime");
17
14
  let react = require("react");
18
15
  let react_aria_components = require("react-aria-components");
16
+ let react_jsx_runtime = require("react/jsx-runtime");
19
17
  let _persona_icons = require("@persona/icons");
20
18
  //#region lib/useModalInsetRight.ts
21
19
  const CSS_VAR = "--modal-inset-right";
@@ -123,6 +121,9 @@ const ModalFooter = (0, styled_components.default)(require_Stack.HStack).attrs({
123
121
  padding: ${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[4]};
124
122
  border-top: 1px solid ${_persona_design_tokens.Color.BorderDivider};
125
123
  `;
124
+ const ModalHeaderTitle = styled_components.default.div`
125
+ flex: 1;
126
+ `;
126
127
  const ModalTrigger = react_aria_components.DialogTrigger;
127
128
  const ModalContent = StyledModal;
128
129
  const ModalClose = (props) => {
@@ -151,6 +152,16 @@ const ModalTitle = ({ children, ...props }) => {
151
152
  children
152
153
  });
153
154
  };
155
+ const ModalHeader = (0, styled_components.default)(require_Stack.HStack)`
156
+ border-bottom: ${({ $hasTabs }) => $hasTabs ? "none" : `1px solid ${_persona_design_tokens.Color.BorderDivider}`};
157
+ padding: ${({ $hasTabs }) => $hasTabs ? `${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[2]} ${_persona_design_tokens.Spacing[1]} ${_persona_design_tokens.Spacing[4]}` : `${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[2]} ${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[4]}`};
158
+ `;
159
+ const ModalTabBar = (0, styled_components.default)(require_TabBar.TabBar)`
160
+ padding-left: ${_persona_design_tokens.Spacing[4]};
161
+ `;
162
+ const StyledDialog = (0, styled_components.default)(react_aria_components.Dialog)`
163
+ outline: none;
164
+ `;
154
165
  const StyledCard = (0, styled_components.default)(require_Card.Card_default)`
155
166
  position: relative;
156
167
  left: 50%;
@@ -194,31 +205,21 @@ const StyledModalCardBody = (0, styled_components.default)(require_Card.Card_def
194
205
  */
195
206
  const ModalCard = (0, react.forwardRef)(function ModalCard({ title, children, showCloseButton = true, size, footer, tabs, noBodyPadding = false, ...props }, ref) {
196
207
  const [selectedTabIdx, setSelectedTabIdx] = (0, react.useState)(0);
197
- const titleAndClose = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.HStack, {
208
+ const titleAndClose = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ModalHeader, {
198
209
  justify: "flex-start",
199
210
  align: "center",
200
211
  spacing: _persona_design_tokens.Spacing[2],
201
- css: {
202
- borderBottom: tabs ? "none" : `1px solid ${_persona_design_tokens.Color.BorderDivider}`,
203
- padding: tabs ? `${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[2]} ${_persona_design_tokens.Spacing[1]} ${_persona_design_tokens.Spacing[4]}` : `${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[2]} ${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[4]}`
204
- },
205
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
206
- css: { flex: 1 },
207
- children: title ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalTitle, { children: title }) : null
208
- }), showCloseButton && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalClose, { "aria-label": "Close" })]
212
+ $hasTabs: Boolean(tabs),
213
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalHeaderTitle, { children: title ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalTitle, { children: title }) : null }), showCloseButton && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalClose, { "aria-label": "Close" })]
209
214
  });
210
- const modalHeader = tabs ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.Stack, { children: [titleAndClose, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TabBar.TabBar, {
211
- css: { paddingLeft: _persona_design_tokens.Spacing[4] },
212
- children: tabs.map((tab, idx) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TabBar.Tab, {
213
- selected: selectedTabIdx === idx,
214
- id: `pds-modal_tab-${idx}`,
215
- onClick: () => setSelectedTabIdx(idx),
216
- "aria-controls": `pds-modal_tab-panel-${idx}`,
217
- children: tab.name
218
- }, tab.name))
219
- })] }) : titleAndClose;
220
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_aria_components.Dialog, {
221
- css: { outline: "none" },
215
+ const modalHeader = tabs ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.Stack, { children: [titleAndClose, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalTabBar, { children: tabs.map((tab, idx) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TabBar.Tab, {
216
+ selected: selectedTabIdx === idx,
217
+ id: `pds-modal_tab-${idx}`,
218
+ onClick: () => setSelectedTabIdx(idx),
219
+ "aria-controls": `pds-modal_tab-panel-${idx}`,
220
+ children: tab.name
221
+ }, tab.name)) })] }) : titleAndClose;
222
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledDialog, {
222
223
  ...props,
223
224
  ref,
224
225
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(StyledCard, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["ModalOverlay","AriaModal","Button","Spacing","HStack","Color","DialogTrigger","AriaButton","XIcon","Heading","AriaHeading","Card","Stack","TabBar","Tab","Dialog","Pressable"],"sources":["../../../lib/useModalInsetRight.ts","../../../components/Modal/Modal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nconst CSS_VAR = '--modal-inset-right';\n\n// Match AgentsPanel sidebar transition durations\nexport const SIDEBAR_OPEN_TRANSITION_MS = 425;\nexport const SIDEBAR_CLOSE_TRANSITION_MS = 200;\n\nconst getModalInsetRight = () =>\n getComputedStyle(document.documentElement).getPropertyValue(CSS_VAR).trim() || '0px';\n\nconst prefersReducedMotion = () =>\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\nexport type PanelInsetState = 'closed' | 'opening' | 'open' | 'closing';\n\nexport interface ModalInsetRight {\n /** Animated inset value — starts at 0px on panel open so CSS transition fires */\n insetRight: string;\n panelState: PanelInsetState;\n}\n\n/**\n * Returns the current value of --modal-inset-right from :root, reactively updating\n * as the agents side panel animates open/closed or is resized. Also tracks whether\n * the panel is opening, open, closing, or closed.\n *\n * panelState stays 'opening'/'closing' for the full transition duration so that\n * CSS transitions on consumers have time to animate.\n */\nconst useModalInsetRight = (): ModalInsetRight => {\n const [insetRight, setInsetRight] = useState(getModalInsetRight);\n const [panelState, setPanelState] = useState<PanelInsetState>(() =>\n getModalInsetRight() !== '0px' ? 'open' : 'closed',\n );\n const prevInsetRight = useRef(getModalInsetRight());\n const transitionTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const rafRef = useRef<number | null>(null);\n\n useEffect(() => {\n const observer = new MutationObserver(() => {\n const prev = prevInsetRight.current;\n const next = getModalInsetRight();\n prevInsetRight.current = next;\n\n if (prev === '0px' && next !== '0px') {\n if (prefersReducedMotion()) {\n setInsetRight(next);\n setPanelState('open');\n } else {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n setInsetRight('0px');\n setPanelState('opening');\n rafRef.current = requestAnimationFrame(() => setInsetRight(next));\n transitionTimerRef.current = setTimeout(\n () => setPanelState('open'),\n SIDEBAR_OPEN_TRANSITION_MS,\n );\n }\n } else if (prev !== '0px' && next === '0px') {\n if (prefersReducedMotion()) {\n setInsetRight('0px');\n setPanelState('closed');\n } else {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n setInsetRight(prev);\n setPanelState('closing');\n rafRef.current = requestAnimationFrame(() => setInsetRight('0px'));\n transitionTimerRef.current = setTimeout(\n () => setPanelState('closed'),\n SIDEBAR_CLOSE_TRANSITION_MS,\n );\n }\n } else {\n setInsetRight(next);\n }\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['style'],\n });\n\n return () => {\n observer.disconnect();\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n };\n }, []);\n\n return { insetRight, panelState };\n};\n\nexport default useModalInsetRight;\n","import Button, { type ButtonProps } from '@persona/design-system/components/Button';\nimport Card from '@persona/design-system/components/Card';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport TabBar, { Tab } from '@persona/design-system/components/TabBar';\nimport { Heading } from '@persona/design-system/components/Text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport type { ComponentProps, ComponentPropsWithoutRef } from 'react';\nimport { forwardRef, type ReactNode, useState } from 'react';\nimport {\n Button as AriaButton,\n Dialog,\n DialogTrigger,\n Heading as AriaHeading,\n Modal as AriaModal,\n ModalOverlay,\n Pressable,\n} from 'react-aria-components';\nimport styled from 'styled-components';\n\nimport useModalInsetRight, {\n SIDEBAR_CLOSE_TRANSITION_MS,\n SIDEBAR_OPEN_TRANSITION_MS,\n} from 'design-system/lib/useModalInsetRight';\n\nconst StyledModalOverlay = styled(ModalOverlay)<{ $insetRight: string; $transitionMs: number }>`\n @keyframes overlayShow {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n background-color: rgba(0, 0, 0, 0.5);\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: ${({ $insetRight }) => $insetRight};\n transition: right ${({ $transitionMs }) => $transitionMs}ms ease-out;\n animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst StyledModal = styled(AriaModal)`\n z-index: 10001;\n outline: none;\n width: 100%;\n`;\n\nconst ModalCloseButton = styled(Button)`\n display: inline-flex;\n padding: ${Spacing[2]};\n border-radius: ${Spacing[1]};\n width: fit-content;\n min-width: unset;\n`;\n\nconst ModalFooter = styled(HStack).attrs({\n justify: 'flex-end',\n align: 'center',\n spacing: Spacing[2],\n})`\n padding: ${Spacing[3]} ${Spacing[4]};\n border-top: 1px solid ${Color.BorderDivider};\n`;\n\nexport const ModalTrigger = DialogTrigger;\nexport const ModalContent = StyledModal;\n\nexport const ModalClose = (props: ButtonProps) => {\n return (\n <AriaButton slot='close' style={{ all: 'unset', display: 'contents' }}>\n <ModalCloseButton variant='text' width='icon' size='md' {...props}>\n <XIcon />\n </ModalCloseButton>\n </AriaButton>\n );\n};\n\nexport interface ModalTitleProps {\n children: ReactNode;\n className?: string;\n}\n\nconst ModalTitle = ({ children, ...props }: ModalTitleProps) => {\n return (\n <Heading size='sm' color='primary' as={AriaHeading} slot='title' {...props}>\n {children}\n </Heading>\n );\n};\n\nconst StyledCard = styled(Card)<{ $size?: 'auto' | 'md' | 'lg' | 'xl' | 'full' }>`\n position: relative;\n left: 50%;\n transform: translateX(-50%);\n width: ${({ $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100% - 160px)';\n default:\n return '90vw';\n }\n }};\n max-width: ${({ theme, $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100% - 160px)';\n default:\n return theme.modal.width[$size];\n }\n }};\n /* TODO: Use breakpoints to make this responsive */\n max-height: ${({ $size }) => ($size === 'full' ? 'calc(100vh - 160px)' : '85vh')};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n ${({ $size }) =>\n $size === 'full' &&\n `\n height: calc(100vh - 160px);\n `}\n margin-bottom: 0;\n`;\n\ninterface ModalCardProps extends ComponentPropsWithoutRef<typeof Dialog> {\n /**\n * Display X button to close popover\n */\n showCloseButton?: boolean;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer content\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Title of the modal\n */\n title?: ReactNode;\n\n /**\n * Children content\n */\n children?: ReactNode;\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n */\n noBodyPadding?: boolean;\n\n /**\n * Additional props for the Dialog element\n */\n className?: string;\n}\n\nconst StyledModalCardBody = styled(Card.Body)<{\n $noPadding?: boolean;\n $hidden?: boolean;\n}>`\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n ${({ $noPadding }) =>\n $noPadding\n ? 'padding: 0;'\n : `\n padding-left: ${Spacing[4]};\n padding-right: ${Spacing[4]};\n `}\n ${({ $hidden }) => $hidden && 'display: none;'}\n`;\n\n/**\n * Card to be used in Modal contexts. Inherits props from react-aria-components Dialog.\n */\nconst ModalCard = forwardRef<HTMLDivElement, ModalCardProps>(function ModalCard(\n { title, children, showCloseButton = true, size, footer, tabs, noBodyPadding = false, ...props },\n ref,\n) {\n const [selectedTabIdx, setSelectedTabIdx] = useState(0);\n\n const titleAndClose = (\n <HStack\n justify='flex-start'\n align='center'\n spacing={Spacing[2]}\n css={{\n borderBottom: tabs ? 'none' : `1px solid ${Color.BorderDivider}`,\n padding: tabs\n ? `${Spacing[3]} ${Spacing[2]} ${Spacing[1]} ${Spacing[4]}`\n : `${Spacing[3]} ${Spacing[2]} ${Spacing[3]} ${Spacing[4]}`,\n }}\n >\n <div css={{ flex: 1 }}>{title ? <ModalTitle>{title}</ModalTitle> : null}</div>\n {showCloseButton && <ModalClose aria-label='Close' />}\n </HStack>\n );\n\n const modalHeader = tabs ? (\n <Stack>\n {titleAndClose}\n <TabBar css={{ paddingLeft: Spacing[4] }}>\n {tabs.map((tab, idx) => (\n <Tab\n key={tab.name}\n selected={selectedTabIdx === idx}\n id={`pds-modal_tab-${idx}`}\n onClick={() => setSelectedTabIdx(idx)}\n aria-controls={`pds-modal_tab-panel-${idx}`}\n >\n {tab.name}\n </Tab>\n ))}\n </TabBar>\n </Stack>\n ) : (\n titleAndClose\n );\n\n return (\n <Dialog css={{ outline: 'none' }} {...props} ref={ref}>\n <StyledCard elevated $size={size}>\n {(showCloseButton || title) && modalHeader}\n {tabs ? (\n tabs.map((tab, idx) => (\n <StyledModalCardBody\n key={tab.name}\n $noPadding={noBodyPadding}\n $hidden={selectedTabIdx !== idx}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${tab.name}`}\n aria-labelledby={`pds-modal_tab-${tab.name}`}\n >\n {tab.contents}\n </StyledModalCardBody>\n ))\n ) : (\n <StyledModalCardBody\n $noPadding={noBodyPadding}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${selectedTabIdx}`}\n aria-labelledby={`pds-modal_tab-${selectedTabIdx}`}\n >\n {children}\n </StyledModalCardBody>\n )}\n\n {footer && <ModalFooter>{footer}</ModalFooter>}\n </StyledCard>\n </Dialog>\n );\n});\n\ninterface TabView {\n name: string;\n contents: JSX.Element;\n badge?: React.ReactElement;\n disabled?: boolean;\n 'data-tour-target'?: string;\n}\n\nexport interface ModalProps {\n /**\n * Title of the Card\n */\n title?: string;\n\n /**\n * Component to use as trigger. React Aria trigger props will be merged with this element.\n */\n trigger?: ComponentProps<typeof Pressable>['children'];\n\n /**\n * Props to apply to Modal.Card within\n */\n contentProps?: ModalCardProps;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer section intended for actions.\n * You can pass in Buttons directly and they will render in a HStack.\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Children content\n */\n children?: ReactNode | ((props: { portalContainer: HTMLDivElement | null }) => ReactNode);\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n * Can also be set via contentProps.noBodyPadding.\n */\n noBodyPadding?: boolean;\n\n /**\n * Controls whether the modal is open (controlled)\n */\n open?: boolean;\n\n /**\n * Default open state (uncontrolled)\n */\n defaultOpen?: boolean;\n\n /**\n * Handler called when open state changes\n */\n onOpenChange?: (isOpen: boolean) => void;\n\n /**\n * Whether the modal can be dismissed by clicking outside or pressing escape\n */\n isDismissable?: boolean;\n\n /**\n * Whether pressing the escape key closes the modal\n */\n isKeyboardDismissDisabled?: boolean;\n}\n\nconst Modal = ({\n children,\n trigger,\n contentProps,\n noBodyPadding = false,\n size = 'md',\n title,\n footer,\n tabs,\n defaultOpen,\n onOpenChange,\n isDismissable = false,\n isKeyboardDismissDisabled = false,\n open,\n}: ModalProps) => {\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null);\n const { insetRight: modalInsetRight, panelState } = useModalInsetRight();\n const transitionMs =\n panelState === 'opening'\n ? SIDEBAR_OPEN_TRANSITION_MS\n : panelState === 'closing'\n ? SIDEBAR_CLOSE_TRANSITION_MS\n : 0;\n\n const content = (\n <ModalCard\n size={size}\n title={title}\n footer={footer}\n tabs={tabs}\n noBodyPadding={noBodyPadding}\n {...contentProps}\n >\n {typeof children === 'function' ? children({ portalContainer }) : children}\n </ModalCard>\n );\n\n // Wrap trigger element to ensure it works with react-aria-components\n const wrappedTrigger = trigger ? <Pressable>{trigger}</Pressable> : null;\n\n return (\n <DialogTrigger isOpen={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n {wrappedTrigger}\n <StyledModalOverlay\n $insetRight={modalInsetRight}\n $transitionMs={transitionMs}\n isDismissable={isDismissable}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n shouldCloseOnInteractOutside={(element) => !element.closest('[data-react-aria-top-layer]')}\n >\n <StyledModal ref={setPortalContainer}>{content}</StyledModal>\n </StyledModalOverlay>\n </DialogTrigger>\n );\n};\n\nexport default Object.assign(Modal, {\n Title: ModalTitle,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["ModalOverlay","AriaModal","Button","Spacing","HStack","Color","DialogTrigger","AriaButton","XIcon","Heading","AriaHeading","TabBar","Dialog","Card","Stack","Tab","Pressable"],"sources":["../../../lib/useModalInsetRight.ts","../../../components/Modal/Modal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nconst CSS_VAR = '--modal-inset-right';\n\n// Match AgentsPanel sidebar transition durations\nexport const SIDEBAR_OPEN_TRANSITION_MS = 425;\nexport const SIDEBAR_CLOSE_TRANSITION_MS = 200;\n\nconst getModalInsetRight = () =>\n getComputedStyle(document.documentElement).getPropertyValue(CSS_VAR).trim() || '0px';\n\nconst prefersReducedMotion = () =>\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\nexport type PanelInsetState = 'closed' | 'opening' | 'open' | 'closing';\n\nexport interface ModalInsetRight {\n /** Animated inset value — starts at 0px on panel open so CSS transition fires */\n insetRight: string;\n panelState: PanelInsetState;\n}\n\n/**\n * Returns the current value of --modal-inset-right from :root, reactively updating\n * as the agents side panel animates open/closed or is resized. Also tracks whether\n * the panel is opening, open, closing, or closed.\n *\n * panelState stays 'opening'/'closing' for the full transition duration so that\n * CSS transitions on consumers have time to animate.\n */\nconst useModalInsetRight = (): ModalInsetRight => {\n const [insetRight, setInsetRight] = useState(getModalInsetRight);\n const [panelState, setPanelState] = useState<PanelInsetState>(() =>\n getModalInsetRight() !== '0px' ? 'open' : 'closed',\n );\n const prevInsetRight = useRef(getModalInsetRight());\n const transitionTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const rafRef = useRef<number | null>(null);\n\n useEffect(() => {\n const observer = new MutationObserver(() => {\n const prev = prevInsetRight.current;\n const next = getModalInsetRight();\n prevInsetRight.current = next;\n\n if (prev === '0px' && next !== '0px') {\n if (prefersReducedMotion()) {\n setInsetRight(next);\n setPanelState('open');\n } else {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n setInsetRight('0px');\n setPanelState('opening');\n rafRef.current = requestAnimationFrame(() => setInsetRight(next));\n transitionTimerRef.current = setTimeout(\n () => setPanelState('open'),\n SIDEBAR_OPEN_TRANSITION_MS,\n );\n }\n } else if (prev !== '0px' && next === '0px') {\n if (prefersReducedMotion()) {\n setInsetRight('0px');\n setPanelState('closed');\n } else {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n setInsetRight(prev);\n setPanelState('closing');\n rafRef.current = requestAnimationFrame(() => setInsetRight('0px'));\n transitionTimerRef.current = setTimeout(\n () => setPanelState('closed'),\n SIDEBAR_CLOSE_TRANSITION_MS,\n );\n }\n } else {\n setInsetRight(next);\n }\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['style'],\n });\n\n return () => {\n observer.disconnect();\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n };\n }, []);\n\n return { insetRight, panelState };\n};\n\nexport default useModalInsetRight;\n","import type { ComponentProps, ComponentPropsWithoutRef } from 'react';\nimport { forwardRef, type ReactNode, useState } from 'react';\nimport {\n Button as AriaButton,\n Dialog,\n DialogTrigger,\n Heading as AriaHeading,\n Modal as AriaModal,\n ModalOverlay,\n Pressable,\n} from 'react-aria-components';\nimport styled from 'styled-components';\n\nimport Button, { type ButtonProps } from '@persona/design-system/components/Button';\nimport Card from '@persona/design-system/components/Card';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport TabBar, { Tab } from '@persona/design-system/components/TabBar';\nimport { Heading } from '@persona/design-system/components/Text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport useModalInsetRight, {\n SIDEBAR_CLOSE_TRANSITION_MS,\n SIDEBAR_OPEN_TRANSITION_MS,\n} from 'design-system/lib/useModalInsetRight';\n\nconst StyledModalOverlay = styled(ModalOverlay)<{ $insetRight: string; $transitionMs: number }>`\n @keyframes overlayShow {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n background-color: rgba(0, 0, 0, 0.5);\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: ${({ $insetRight }) => $insetRight};\n transition: right ${({ $transitionMs }) => $transitionMs}ms ease-out;\n animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst StyledModal = styled(AriaModal)`\n z-index: 10001;\n outline: none;\n width: 100%;\n`;\n\nconst ModalCloseButton = styled(Button)`\n display: inline-flex;\n padding: ${Spacing[2]};\n border-radius: ${Spacing[1]};\n width: fit-content;\n min-width: unset;\n`;\n\nconst ModalFooter = styled(HStack).attrs({\n justify: 'flex-end',\n align: 'center',\n spacing: Spacing[2],\n})`\n padding: ${Spacing[3]} ${Spacing[4]};\n border-top: 1px solid ${Color.BorderDivider};\n`;\n\nconst ModalHeaderTitle = styled.div`\n flex: 1;\n`;\n\nexport const ModalTrigger = DialogTrigger;\nexport const ModalContent = StyledModal;\n\nexport const ModalClose = (props: ButtonProps) => {\n return (\n <AriaButton slot='close' style={{ all: 'unset', display: 'contents' }}>\n <ModalCloseButton variant='text' width='icon' size='md' {...props}>\n <XIcon />\n </ModalCloseButton>\n </AriaButton>\n );\n};\n\nexport interface ModalTitleProps {\n children: ReactNode;\n className?: string;\n}\n\nconst ModalTitle = ({ children, ...props }: ModalTitleProps) => {\n return (\n <Heading size='sm' color='primary' as={AriaHeading} slot='title' {...props}>\n {children}\n </Heading>\n );\n};\n\nconst ModalHeader = styled(HStack)<{ $hasTabs: boolean }>`\n border-bottom: ${({ $hasTabs }) => ($hasTabs ? 'none' : `1px solid ${Color.BorderDivider}`)};\n padding: ${({ $hasTabs }) =>\n $hasTabs\n ? `${Spacing[3]} ${Spacing[2]} ${Spacing[1]} ${Spacing[4]}`\n : `${Spacing[3]} ${Spacing[2]} ${Spacing[3]} ${Spacing[4]}`};\n`;\n\nconst ModalTabBar = styled(TabBar)`\n padding-left: ${Spacing[4]};\n`;\n\nconst StyledDialog = styled(Dialog)`\n outline: none;\n`;\n\nconst StyledCard = styled(Card)<{ $size?: 'auto' | 'md' | 'lg' | 'xl' | 'full' }>`\n position: relative;\n left: 50%;\n transform: translateX(-50%);\n width: ${({ $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100% - 160px)';\n default:\n return '90vw';\n }\n }};\n max-width: ${({ theme, $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100% - 160px)';\n default:\n return theme.modal.width[$size];\n }\n }};\n /* TODO: Use breakpoints to make this responsive */\n max-height: ${({ $size }) => ($size === 'full' ? 'calc(100vh - 160px)' : '85vh')};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n ${({ $size }) =>\n $size === 'full' &&\n `\n height: calc(100vh - 160px);\n `}\n margin-bottom: 0;\n`;\n\ninterface ModalCardProps extends ComponentPropsWithoutRef<typeof Dialog> {\n /**\n * Display X button to close popover\n */\n showCloseButton?: boolean;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer content\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Title of the modal\n */\n title?: ReactNode;\n\n /**\n * Children content\n */\n children?: ReactNode;\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n */\n noBodyPadding?: boolean;\n\n /**\n * Additional props for the Dialog element\n */\n className?: string;\n}\n\nconst StyledModalCardBody = styled(Card.Body)<{\n $noPadding?: boolean;\n $hidden?: boolean;\n}>`\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n ${({ $noPadding }) =>\n $noPadding\n ? 'padding: 0;'\n : `\n padding-left: ${Spacing[4]};\n padding-right: ${Spacing[4]};\n `}\n ${({ $hidden }) => $hidden && 'display: none;'}\n`;\n\n/**\n * Card to be used in Modal contexts. Inherits props from react-aria-components Dialog.\n */\nconst ModalCard = forwardRef<HTMLDivElement, ModalCardProps>(function ModalCard(\n { title, children, showCloseButton = true, size, footer, tabs, noBodyPadding = false, ...props },\n ref,\n) {\n const [selectedTabIdx, setSelectedTabIdx] = useState(0);\n\n const titleAndClose = (\n <ModalHeader justify='flex-start' align='center' spacing={Spacing[2]} $hasTabs={Boolean(tabs)}>\n <ModalHeaderTitle>{title ? <ModalTitle>{title}</ModalTitle> : null}</ModalHeaderTitle>\n {showCloseButton && <ModalClose aria-label='Close' />}\n </ModalHeader>\n );\n\n const modalHeader = tabs ? (\n <Stack>\n {titleAndClose}\n <ModalTabBar>\n {tabs.map((tab, idx) => (\n <Tab\n key={tab.name}\n selected={selectedTabIdx === idx}\n id={`pds-modal_tab-${idx}`}\n onClick={() => setSelectedTabIdx(idx)}\n aria-controls={`pds-modal_tab-panel-${idx}`}\n >\n {tab.name}\n </Tab>\n ))}\n </ModalTabBar>\n </Stack>\n ) : (\n titleAndClose\n );\n\n return (\n <StyledDialog {...props} ref={ref}>\n <StyledCard elevated $size={size}>\n {(showCloseButton || title) && modalHeader}\n {tabs ? (\n tabs.map((tab, idx) => (\n <StyledModalCardBody\n key={tab.name}\n $noPadding={noBodyPadding}\n $hidden={selectedTabIdx !== idx}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${tab.name}`}\n aria-labelledby={`pds-modal_tab-${tab.name}`}\n >\n {tab.contents}\n </StyledModalCardBody>\n ))\n ) : (\n <StyledModalCardBody\n $noPadding={noBodyPadding}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${selectedTabIdx}`}\n aria-labelledby={`pds-modal_tab-${selectedTabIdx}`}\n >\n {children}\n </StyledModalCardBody>\n )}\n\n {footer && <ModalFooter>{footer}</ModalFooter>}\n </StyledCard>\n </StyledDialog>\n );\n});\n\ninterface TabView {\n name: string;\n contents: JSX.Element;\n badge?: React.ReactElement;\n disabled?: boolean;\n 'data-tour-target'?: string;\n}\n\nexport interface ModalProps {\n /**\n * Title of the Card\n */\n title?: string;\n\n /**\n * Component to use as trigger. React Aria trigger props will be merged with this element.\n */\n trigger?: ComponentProps<typeof Pressable>['children'];\n\n /**\n * Props to apply to Modal.Card within\n */\n contentProps?: ModalCardProps;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer section intended for actions.\n * You can pass in Buttons directly and they will render in a HStack.\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Children content\n */\n children?: ReactNode | ((props: { portalContainer: HTMLDivElement | null }) => ReactNode);\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n * Can also be set via contentProps.noBodyPadding.\n */\n noBodyPadding?: boolean;\n\n /**\n * Controls whether the modal is open (controlled)\n */\n open?: boolean;\n\n /**\n * Default open state (uncontrolled)\n */\n defaultOpen?: boolean;\n\n /**\n * Handler called when open state changes\n */\n onOpenChange?: (isOpen: boolean) => void;\n\n /**\n * Whether the modal can be dismissed by clicking outside or pressing escape\n */\n isDismissable?: boolean;\n\n /**\n * Whether pressing the escape key closes the modal\n */\n isKeyboardDismissDisabled?: boolean;\n}\n\nconst Modal = ({\n children,\n trigger,\n contentProps,\n noBodyPadding = false,\n size = 'md',\n title,\n footer,\n tabs,\n defaultOpen,\n onOpenChange,\n isDismissable = false,\n isKeyboardDismissDisabled = false,\n open,\n}: ModalProps) => {\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null);\n const { insetRight: modalInsetRight, panelState } = useModalInsetRight();\n const transitionMs =\n panelState === 'opening'\n ? SIDEBAR_OPEN_TRANSITION_MS\n : panelState === 'closing'\n ? SIDEBAR_CLOSE_TRANSITION_MS\n : 0;\n\n const content = (\n <ModalCard\n size={size}\n title={title}\n footer={footer}\n tabs={tabs}\n noBodyPadding={noBodyPadding}\n {...contentProps}\n >\n {typeof children === 'function' ? children({ portalContainer }) : children}\n </ModalCard>\n );\n\n // Wrap trigger element to ensure it works with react-aria-components\n const wrappedTrigger = trigger ? <Pressable>{trigger}</Pressable> : null;\n\n return (\n <DialogTrigger isOpen={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n {wrappedTrigger}\n <StyledModalOverlay\n $insetRight={modalInsetRight}\n $transitionMs={transitionMs}\n isDismissable={isDismissable}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n shouldCloseOnInteractOutside={(element) => !element.closest('[data-react-aria-top-layer]')}\n >\n <StyledModal ref={setPortalContainer}>{content}</StyledModal>\n </StyledModalOverlay>\n </DialogTrigger>\n );\n};\n\nexport default Object.assign(Modal, {\n Title: ModalTitle,\n});\n"],"mappings":"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"}
@@ -1,15 +1,13 @@
1
- import { n as Stack, t as HStack } from "../../Stack-hwgS2FU1.mjs";
2
- import "../Stack/index.mjs";
3
- import { t as Card_default } from "../../Card-DeJSt5ys.mjs";
4
- import { n as Heading$1 } from "../../Text-DOTYjIt0.mjs";
5
- import { n as Button$1 } from "../../IconButton-C28qxOdi.mjs";
6
- import "../Button/index.mjs";
7
- import { i as TabBar, r as Tab } from "../../TabBar-Bf89XksH.mjs";
1
+ import { t as Card_default } from "../../Card-CLTkZLKr.mjs";
2
+ import { n as Heading$1 } from "../../Text-hEoPeOc9.mjs";
3
+ import { n as Stack, t as HStack } from "../../Stack-ckRN7LrP.mjs";
4
+ import { n as Button$1 } from "../../IconButton-DC4rh6ow.mjs";
5
+ import { i as TabBar, r as Tab } from "../../TabBar-CAv10XAF.mjs";
8
6
  import { Color, Spacing } from "@persona/design-tokens";
9
7
  import styled from "styled-components";
10
- import { jsx, jsxs } from "react/jsx-runtime";
11
8
  import { forwardRef, useEffect, useRef, useState } from "react";
12
9
  import { Button, Dialog, DialogTrigger, Heading, Modal, ModalOverlay, Pressable } from "react-aria-components";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
13
11
  import { XIcon } from "@persona/icons";
14
12
  //#region lib/useModalInsetRight.ts
15
13
  const CSS_VAR = "--modal-inset-right";
@@ -117,6 +115,9 @@ const ModalFooter = styled(HStack).attrs({
117
115
  padding: ${Spacing[3]} ${Spacing[4]};
118
116
  border-top: 1px solid ${Color.BorderDivider};
119
117
  `;
118
+ const ModalHeaderTitle = styled.div`
119
+ flex: 1;
120
+ `;
120
121
  const ModalTrigger = DialogTrigger;
121
122
  const ModalContent = StyledModal;
122
123
  const ModalClose = (props) => {
@@ -145,6 +146,16 @@ const ModalTitle = ({ children, ...props }) => {
145
146
  children
146
147
  });
147
148
  };
149
+ const ModalHeader = styled(HStack)`
150
+ border-bottom: ${({ $hasTabs }) => $hasTabs ? "none" : `1px solid ${Color.BorderDivider}`};
151
+ padding: ${({ $hasTabs }) => $hasTabs ? `${Spacing[3]} ${Spacing[2]} ${Spacing[1]} ${Spacing[4]}` : `${Spacing[3]} ${Spacing[2]} ${Spacing[3]} ${Spacing[4]}`};
152
+ `;
153
+ const ModalTabBar = styled(TabBar)`
154
+ padding-left: ${Spacing[4]};
155
+ `;
156
+ const StyledDialog = styled(Dialog)`
157
+ outline: none;
158
+ `;
148
159
  const StyledCard = styled(Card_default)`
149
160
  position: relative;
150
161
  left: 50%;
@@ -188,31 +199,21 @@ const StyledModalCardBody = styled(Card_default.Body)`
188
199
  */
189
200
  const ModalCard = forwardRef(function ModalCard({ title, children, showCloseButton = true, size, footer, tabs, noBodyPadding = false, ...props }, ref) {
190
201
  const [selectedTabIdx, setSelectedTabIdx] = useState(0);
191
- const titleAndClose = /* @__PURE__ */ jsxs(HStack, {
202
+ const titleAndClose = /* @__PURE__ */ jsxs(ModalHeader, {
192
203
  justify: "flex-start",
193
204
  align: "center",
194
205
  spacing: Spacing[2],
195
- css: {
196
- borderBottom: tabs ? "none" : `1px solid ${Color.BorderDivider}`,
197
- padding: tabs ? `${Spacing[3]} ${Spacing[2]} ${Spacing[1]} ${Spacing[4]}` : `${Spacing[3]} ${Spacing[2]} ${Spacing[3]} ${Spacing[4]}`
198
- },
199
- children: [/* @__PURE__ */ jsx("div", {
200
- css: { flex: 1 },
201
- children: title ? /* @__PURE__ */ jsx(ModalTitle, { children: title }) : null
202
- }), showCloseButton && /* @__PURE__ */ jsx(ModalClose, { "aria-label": "Close" })]
206
+ $hasTabs: Boolean(tabs),
207
+ children: [/* @__PURE__ */ jsx(ModalHeaderTitle, { children: title ? /* @__PURE__ */ jsx(ModalTitle, { children: title }) : null }), showCloseButton && /* @__PURE__ */ jsx(ModalClose, { "aria-label": "Close" })]
203
208
  });
204
- const modalHeader = tabs ? /* @__PURE__ */ jsxs(Stack, { children: [titleAndClose, /* @__PURE__ */ jsx(TabBar, {
205
- css: { paddingLeft: Spacing[4] },
206
- children: tabs.map((tab, idx) => /* @__PURE__ */ jsx(Tab, {
207
- selected: selectedTabIdx === idx,
208
- id: `pds-modal_tab-${idx}`,
209
- onClick: () => setSelectedTabIdx(idx),
210
- "aria-controls": `pds-modal_tab-panel-${idx}`,
211
- children: tab.name
212
- }, tab.name))
213
- })] }) : titleAndClose;
214
- return /* @__PURE__ */ jsx(Dialog, {
215
- css: { outline: "none" },
209
+ const modalHeader = tabs ? /* @__PURE__ */ jsxs(Stack, { children: [titleAndClose, /* @__PURE__ */ jsx(ModalTabBar, { children: tabs.map((tab, idx) => /* @__PURE__ */ jsx(Tab, {
210
+ selected: selectedTabIdx === idx,
211
+ id: `pds-modal_tab-${idx}`,
212
+ onClick: () => setSelectedTabIdx(idx),
213
+ "aria-controls": `pds-modal_tab-panel-${idx}`,
214
+ children: tab.name
215
+ }, tab.name)) })] }) : titleAndClose;
216
+ return /* @__PURE__ */ jsx(StyledDialog, {
216
217
  ...props,
217
218
  ref,
218
219
  children: /* @__PURE__ */ jsxs(StyledCard, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["AriaModal","Button","AriaButton","Heading","AriaHeading","Card","Modal"],"sources":["../../../lib/useModalInsetRight.ts","../../../components/Modal/Modal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nconst CSS_VAR = '--modal-inset-right';\n\n// Match AgentsPanel sidebar transition durations\nexport const SIDEBAR_OPEN_TRANSITION_MS = 425;\nexport const SIDEBAR_CLOSE_TRANSITION_MS = 200;\n\nconst getModalInsetRight = () =>\n getComputedStyle(document.documentElement).getPropertyValue(CSS_VAR).trim() || '0px';\n\nconst prefersReducedMotion = () =>\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\nexport type PanelInsetState = 'closed' | 'opening' | 'open' | 'closing';\n\nexport interface ModalInsetRight {\n /** Animated inset value — starts at 0px on panel open so CSS transition fires */\n insetRight: string;\n panelState: PanelInsetState;\n}\n\n/**\n * Returns the current value of --modal-inset-right from :root, reactively updating\n * as the agents side panel animates open/closed or is resized. Also tracks whether\n * the panel is opening, open, closing, or closed.\n *\n * panelState stays 'opening'/'closing' for the full transition duration so that\n * CSS transitions on consumers have time to animate.\n */\nconst useModalInsetRight = (): ModalInsetRight => {\n const [insetRight, setInsetRight] = useState(getModalInsetRight);\n const [panelState, setPanelState] = useState<PanelInsetState>(() =>\n getModalInsetRight() !== '0px' ? 'open' : 'closed',\n );\n const prevInsetRight = useRef(getModalInsetRight());\n const transitionTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const rafRef = useRef<number | null>(null);\n\n useEffect(() => {\n const observer = new MutationObserver(() => {\n const prev = prevInsetRight.current;\n const next = getModalInsetRight();\n prevInsetRight.current = next;\n\n if (prev === '0px' && next !== '0px') {\n if (prefersReducedMotion()) {\n setInsetRight(next);\n setPanelState('open');\n } else {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n setInsetRight('0px');\n setPanelState('opening');\n rafRef.current = requestAnimationFrame(() => setInsetRight(next));\n transitionTimerRef.current = setTimeout(\n () => setPanelState('open'),\n SIDEBAR_OPEN_TRANSITION_MS,\n );\n }\n } else if (prev !== '0px' && next === '0px') {\n if (prefersReducedMotion()) {\n setInsetRight('0px');\n setPanelState('closed');\n } else {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n setInsetRight(prev);\n setPanelState('closing');\n rafRef.current = requestAnimationFrame(() => setInsetRight('0px'));\n transitionTimerRef.current = setTimeout(\n () => setPanelState('closed'),\n SIDEBAR_CLOSE_TRANSITION_MS,\n );\n }\n } else {\n setInsetRight(next);\n }\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['style'],\n });\n\n return () => {\n observer.disconnect();\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n };\n }, []);\n\n return { insetRight, panelState };\n};\n\nexport default useModalInsetRight;\n","import Button, { type ButtonProps } from '@persona/design-system/components/Button';\nimport Card from '@persona/design-system/components/Card';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport TabBar, { Tab } from '@persona/design-system/components/TabBar';\nimport { Heading } from '@persona/design-system/components/Text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport type { ComponentProps, ComponentPropsWithoutRef } from 'react';\nimport { forwardRef, type ReactNode, useState } from 'react';\nimport {\n Button as AriaButton,\n Dialog,\n DialogTrigger,\n Heading as AriaHeading,\n Modal as AriaModal,\n ModalOverlay,\n Pressable,\n} from 'react-aria-components';\nimport styled from 'styled-components';\n\nimport useModalInsetRight, {\n SIDEBAR_CLOSE_TRANSITION_MS,\n SIDEBAR_OPEN_TRANSITION_MS,\n} from 'design-system/lib/useModalInsetRight';\n\nconst StyledModalOverlay = styled(ModalOverlay)<{ $insetRight: string; $transitionMs: number }>`\n @keyframes overlayShow {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n background-color: rgba(0, 0, 0, 0.5);\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: ${({ $insetRight }) => $insetRight};\n transition: right ${({ $transitionMs }) => $transitionMs}ms ease-out;\n animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst StyledModal = styled(AriaModal)`\n z-index: 10001;\n outline: none;\n width: 100%;\n`;\n\nconst ModalCloseButton = styled(Button)`\n display: inline-flex;\n padding: ${Spacing[2]};\n border-radius: ${Spacing[1]};\n width: fit-content;\n min-width: unset;\n`;\n\nconst ModalFooter = styled(HStack).attrs({\n justify: 'flex-end',\n align: 'center',\n spacing: Spacing[2],\n})`\n padding: ${Spacing[3]} ${Spacing[4]};\n border-top: 1px solid ${Color.BorderDivider};\n`;\n\nexport const ModalTrigger = DialogTrigger;\nexport const ModalContent = StyledModal;\n\nexport const ModalClose = (props: ButtonProps) => {\n return (\n <AriaButton slot='close' style={{ all: 'unset', display: 'contents' }}>\n <ModalCloseButton variant='text' width='icon' size='md' {...props}>\n <XIcon />\n </ModalCloseButton>\n </AriaButton>\n );\n};\n\nexport interface ModalTitleProps {\n children: ReactNode;\n className?: string;\n}\n\nconst ModalTitle = ({ children, ...props }: ModalTitleProps) => {\n return (\n <Heading size='sm' color='primary' as={AriaHeading} slot='title' {...props}>\n {children}\n </Heading>\n );\n};\n\nconst StyledCard = styled(Card)<{ $size?: 'auto' | 'md' | 'lg' | 'xl' | 'full' }>`\n position: relative;\n left: 50%;\n transform: translateX(-50%);\n width: ${({ $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100% - 160px)';\n default:\n return '90vw';\n }\n }};\n max-width: ${({ theme, $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100% - 160px)';\n default:\n return theme.modal.width[$size];\n }\n }};\n /* TODO: Use breakpoints to make this responsive */\n max-height: ${({ $size }) => ($size === 'full' ? 'calc(100vh - 160px)' : '85vh')};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n ${({ $size }) =>\n $size === 'full' &&\n `\n height: calc(100vh - 160px);\n `}\n margin-bottom: 0;\n`;\n\ninterface ModalCardProps extends ComponentPropsWithoutRef<typeof Dialog> {\n /**\n * Display X button to close popover\n */\n showCloseButton?: boolean;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer content\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Title of the modal\n */\n title?: ReactNode;\n\n /**\n * Children content\n */\n children?: ReactNode;\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n */\n noBodyPadding?: boolean;\n\n /**\n * Additional props for the Dialog element\n */\n className?: string;\n}\n\nconst StyledModalCardBody = styled(Card.Body)<{\n $noPadding?: boolean;\n $hidden?: boolean;\n}>`\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n ${({ $noPadding }) =>\n $noPadding\n ? 'padding: 0;'\n : `\n padding-left: ${Spacing[4]};\n padding-right: ${Spacing[4]};\n `}\n ${({ $hidden }) => $hidden && 'display: none;'}\n`;\n\n/**\n * Card to be used in Modal contexts. Inherits props from react-aria-components Dialog.\n */\nconst ModalCard = forwardRef<HTMLDivElement, ModalCardProps>(function ModalCard(\n { title, children, showCloseButton = true, size, footer, tabs, noBodyPadding = false, ...props },\n ref,\n) {\n const [selectedTabIdx, setSelectedTabIdx] = useState(0);\n\n const titleAndClose = (\n <HStack\n justify='flex-start'\n align='center'\n spacing={Spacing[2]}\n css={{\n borderBottom: tabs ? 'none' : `1px solid ${Color.BorderDivider}`,\n padding: tabs\n ? `${Spacing[3]} ${Spacing[2]} ${Spacing[1]} ${Spacing[4]}`\n : `${Spacing[3]} ${Spacing[2]} ${Spacing[3]} ${Spacing[4]}`,\n }}\n >\n <div css={{ flex: 1 }}>{title ? <ModalTitle>{title}</ModalTitle> : null}</div>\n {showCloseButton && <ModalClose aria-label='Close' />}\n </HStack>\n );\n\n const modalHeader = tabs ? (\n <Stack>\n {titleAndClose}\n <TabBar css={{ paddingLeft: Spacing[4] }}>\n {tabs.map((tab, idx) => (\n <Tab\n key={tab.name}\n selected={selectedTabIdx === idx}\n id={`pds-modal_tab-${idx}`}\n onClick={() => setSelectedTabIdx(idx)}\n aria-controls={`pds-modal_tab-panel-${idx}`}\n >\n {tab.name}\n </Tab>\n ))}\n </TabBar>\n </Stack>\n ) : (\n titleAndClose\n );\n\n return (\n <Dialog css={{ outline: 'none' }} {...props} ref={ref}>\n <StyledCard elevated $size={size}>\n {(showCloseButton || title) && modalHeader}\n {tabs ? (\n tabs.map((tab, idx) => (\n <StyledModalCardBody\n key={tab.name}\n $noPadding={noBodyPadding}\n $hidden={selectedTabIdx !== idx}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${tab.name}`}\n aria-labelledby={`pds-modal_tab-${tab.name}`}\n >\n {tab.contents}\n </StyledModalCardBody>\n ))\n ) : (\n <StyledModalCardBody\n $noPadding={noBodyPadding}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${selectedTabIdx}`}\n aria-labelledby={`pds-modal_tab-${selectedTabIdx}`}\n >\n {children}\n </StyledModalCardBody>\n )}\n\n {footer && <ModalFooter>{footer}</ModalFooter>}\n </StyledCard>\n </Dialog>\n );\n});\n\ninterface TabView {\n name: string;\n contents: JSX.Element;\n badge?: React.ReactElement;\n disabled?: boolean;\n 'data-tour-target'?: string;\n}\n\nexport interface ModalProps {\n /**\n * Title of the Card\n */\n title?: string;\n\n /**\n * Component to use as trigger. React Aria trigger props will be merged with this element.\n */\n trigger?: ComponentProps<typeof Pressable>['children'];\n\n /**\n * Props to apply to Modal.Card within\n */\n contentProps?: ModalCardProps;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer section intended for actions.\n * You can pass in Buttons directly and they will render in a HStack.\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Children content\n */\n children?: ReactNode | ((props: { portalContainer: HTMLDivElement | null }) => ReactNode);\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n * Can also be set via contentProps.noBodyPadding.\n */\n noBodyPadding?: boolean;\n\n /**\n * Controls whether the modal is open (controlled)\n */\n open?: boolean;\n\n /**\n * Default open state (uncontrolled)\n */\n defaultOpen?: boolean;\n\n /**\n * Handler called when open state changes\n */\n onOpenChange?: (isOpen: boolean) => void;\n\n /**\n * Whether the modal can be dismissed by clicking outside or pressing escape\n */\n isDismissable?: boolean;\n\n /**\n * Whether pressing the escape key closes the modal\n */\n isKeyboardDismissDisabled?: boolean;\n}\n\nconst Modal = ({\n children,\n trigger,\n contentProps,\n noBodyPadding = false,\n size = 'md',\n title,\n footer,\n tabs,\n defaultOpen,\n onOpenChange,\n isDismissable = false,\n isKeyboardDismissDisabled = false,\n open,\n}: ModalProps) => {\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null);\n const { insetRight: modalInsetRight, panelState } = useModalInsetRight();\n const transitionMs =\n panelState === 'opening'\n ? SIDEBAR_OPEN_TRANSITION_MS\n : panelState === 'closing'\n ? SIDEBAR_CLOSE_TRANSITION_MS\n : 0;\n\n const content = (\n <ModalCard\n size={size}\n title={title}\n footer={footer}\n tabs={tabs}\n noBodyPadding={noBodyPadding}\n {...contentProps}\n >\n {typeof children === 'function' ? children({ portalContainer }) : children}\n </ModalCard>\n );\n\n // Wrap trigger element to ensure it works with react-aria-components\n const wrappedTrigger = trigger ? <Pressable>{trigger}</Pressable> : null;\n\n return (\n <DialogTrigger isOpen={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n {wrappedTrigger}\n <StyledModalOverlay\n $insetRight={modalInsetRight}\n $transitionMs={transitionMs}\n isDismissable={isDismissable}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n shouldCloseOnInteractOutside={(element) => !element.closest('[data-react-aria-top-layer]')}\n >\n <StyledModal ref={setPortalContainer}>{content}</StyledModal>\n </StyledModalOverlay>\n </DialogTrigger>\n );\n};\n\nexport default Object.assign(Modal, {\n Title: ModalTitle,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["AriaModal","Button","AriaButton","Heading","AriaHeading","Card","Modal"],"sources":["../../../lib/useModalInsetRight.ts","../../../components/Modal/Modal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nconst CSS_VAR = '--modal-inset-right';\n\n// Match AgentsPanel sidebar transition durations\nexport const SIDEBAR_OPEN_TRANSITION_MS = 425;\nexport const SIDEBAR_CLOSE_TRANSITION_MS = 200;\n\nconst getModalInsetRight = () =>\n getComputedStyle(document.documentElement).getPropertyValue(CSS_VAR).trim() || '0px';\n\nconst prefersReducedMotion = () =>\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\nexport type PanelInsetState = 'closed' | 'opening' | 'open' | 'closing';\n\nexport interface ModalInsetRight {\n /** Animated inset value — starts at 0px on panel open so CSS transition fires */\n insetRight: string;\n panelState: PanelInsetState;\n}\n\n/**\n * Returns the current value of --modal-inset-right from :root, reactively updating\n * as the agents side panel animates open/closed or is resized. Also tracks whether\n * the panel is opening, open, closing, or closed.\n *\n * panelState stays 'opening'/'closing' for the full transition duration so that\n * CSS transitions on consumers have time to animate.\n */\nconst useModalInsetRight = (): ModalInsetRight => {\n const [insetRight, setInsetRight] = useState(getModalInsetRight);\n const [panelState, setPanelState] = useState<PanelInsetState>(() =>\n getModalInsetRight() !== '0px' ? 'open' : 'closed',\n );\n const prevInsetRight = useRef(getModalInsetRight());\n const transitionTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const rafRef = useRef<number | null>(null);\n\n useEffect(() => {\n const observer = new MutationObserver(() => {\n const prev = prevInsetRight.current;\n const next = getModalInsetRight();\n prevInsetRight.current = next;\n\n if (prev === '0px' && next !== '0px') {\n if (prefersReducedMotion()) {\n setInsetRight(next);\n setPanelState('open');\n } else {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n setInsetRight('0px');\n setPanelState('opening');\n rafRef.current = requestAnimationFrame(() => setInsetRight(next));\n transitionTimerRef.current = setTimeout(\n () => setPanelState('open'),\n SIDEBAR_OPEN_TRANSITION_MS,\n );\n }\n } else if (prev !== '0px' && next === '0px') {\n if (prefersReducedMotion()) {\n setInsetRight('0px');\n setPanelState('closed');\n } else {\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n setInsetRight(prev);\n setPanelState('closing');\n rafRef.current = requestAnimationFrame(() => setInsetRight('0px'));\n transitionTimerRef.current = setTimeout(\n () => setPanelState('closed'),\n SIDEBAR_CLOSE_TRANSITION_MS,\n );\n }\n } else {\n setInsetRight(next);\n }\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['style'],\n });\n\n return () => {\n observer.disconnect();\n if (transitionTimerRef.current) {\n clearTimeout(transitionTimerRef.current);\n }\n if (rafRef.current) {\n cancelAnimationFrame(rafRef.current);\n }\n };\n }, []);\n\n return { insetRight, panelState };\n};\n\nexport default useModalInsetRight;\n","import type { ComponentProps, ComponentPropsWithoutRef } from 'react';\nimport { forwardRef, type ReactNode, useState } from 'react';\nimport {\n Button as AriaButton,\n Dialog,\n DialogTrigger,\n Heading as AriaHeading,\n Modal as AriaModal,\n ModalOverlay,\n Pressable,\n} from 'react-aria-components';\nimport styled from 'styled-components';\n\nimport Button, { type ButtonProps } from '@persona/design-system/components/Button';\nimport Card from '@persona/design-system/components/Card';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport TabBar, { Tab } from '@persona/design-system/components/TabBar';\nimport { Heading } from '@persona/design-system/components/Text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport useModalInsetRight, {\n SIDEBAR_CLOSE_TRANSITION_MS,\n SIDEBAR_OPEN_TRANSITION_MS,\n} from 'design-system/lib/useModalInsetRight';\n\nconst StyledModalOverlay = styled(ModalOverlay)<{ $insetRight: string; $transitionMs: number }>`\n @keyframes overlayShow {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n background-color: rgba(0, 0, 0, 0.5);\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: ${({ $insetRight }) => $insetRight};\n transition: right ${({ $transitionMs }) => $transitionMs}ms ease-out;\n animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst StyledModal = styled(AriaModal)`\n z-index: 10001;\n outline: none;\n width: 100%;\n`;\n\nconst ModalCloseButton = styled(Button)`\n display: inline-flex;\n padding: ${Spacing[2]};\n border-radius: ${Spacing[1]};\n width: fit-content;\n min-width: unset;\n`;\n\nconst ModalFooter = styled(HStack).attrs({\n justify: 'flex-end',\n align: 'center',\n spacing: Spacing[2],\n})`\n padding: ${Spacing[3]} ${Spacing[4]};\n border-top: 1px solid ${Color.BorderDivider};\n`;\n\nconst ModalHeaderTitle = styled.div`\n flex: 1;\n`;\n\nexport const ModalTrigger = DialogTrigger;\nexport const ModalContent = StyledModal;\n\nexport const ModalClose = (props: ButtonProps) => {\n return (\n <AriaButton slot='close' style={{ all: 'unset', display: 'contents' }}>\n <ModalCloseButton variant='text' width='icon' size='md' {...props}>\n <XIcon />\n </ModalCloseButton>\n </AriaButton>\n );\n};\n\nexport interface ModalTitleProps {\n children: ReactNode;\n className?: string;\n}\n\nconst ModalTitle = ({ children, ...props }: ModalTitleProps) => {\n return (\n <Heading size='sm' color='primary' as={AriaHeading} slot='title' {...props}>\n {children}\n </Heading>\n );\n};\n\nconst ModalHeader = styled(HStack)<{ $hasTabs: boolean }>`\n border-bottom: ${({ $hasTabs }) => ($hasTabs ? 'none' : `1px solid ${Color.BorderDivider}`)};\n padding: ${({ $hasTabs }) =>\n $hasTabs\n ? `${Spacing[3]} ${Spacing[2]} ${Spacing[1]} ${Spacing[4]}`\n : `${Spacing[3]} ${Spacing[2]} ${Spacing[3]} ${Spacing[4]}`};\n`;\n\nconst ModalTabBar = styled(TabBar)`\n padding-left: ${Spacing[4]};\n`;\n\nconst StyledDialog = styled(Dialog)`\n outline: none;\n`;\n\nconst StyledCard = styled(Card)<{ $size?: 'auto' | 'md' | 'lg' | 'xl' | 'full' }>`\n position: relative;\n left: 50%;\n transform: translateX(-50%);\n width: ${({ $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100% - 160px)';\n default:\n return '90vw';\n }\n }};\n max-width: ${({ theme, $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100% - 160px)';\n default:\n return theme.modal.width[$size];\n }\n }};\n /* TODO: Use breakpoints to make this responsive */\n max-height: ${({ $size }) => ($size === 'full' ? 'calc(100vh - 160px)' : '85vh')};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n ${({ $size }) =>\n $size === 'full' &&\n `\n height: calc(100vh - 160px);\n `}\n margin-bottom: 0;\n`;\n\ninterface ModalCardProps extends ComponentPropsWithoutRef<typeof Dialog> {\n /**\n * Display X button to close popover\n */\n showCloseButton?: boolean;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer content\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Title of the modal\n */\n title?: ReactNode;\n\n /**\n * Children content\n */\n children?: ReactNode;\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n */\n noBodyPadding?: boolean;\n\n /**\n * Additional props for the Dialog element\n */\n className?: string;\n}\n\nconst StyledModalCardBody = styled(Card.Body)<{\n $noPadding?: boolean;\n $hidden?: boolean;\n}>`\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n ${({ $noPadding }) =>\n $noPadding\n ? 'padding: 0;'\n : `\n padding-left: ${Spacing[4]};\n padding-right: ${Spacing[4]};\n `}\n ${({ $hidden }) => $hidden && 'display: none;'}\n`;\n\n/**\n * Card to be used in Modal contexts. Inherits props from react-aria-components Dialog.\n */\nconst ModalCard = forwardRef<HTMLDivElement, ModalCardProps>(function ModalCard(\n { title, children, showCloseButton = true, size, footer, tabs, noBodyPadding = false, ...props },\n ref,\n) {\n const [selectedTabIdx, setSelectedTabIdx] = useState(0);\n\n const titleAndClose = (\n <ModalHeader justify='flex-start' align='center' spacing={Spacing[2]} $hasTabs={Boolean(tabs)}>\n <ModalHeaderTitle>{title ? <ModalTitle>{title}</ModalTitle> : null}</ModalHeaderTitle>\n {showCloseButton && <ModalClose aria-label='Close' />}\n </ModalHeader>\n );\n\n const modalHeader = tabs ? (\n <Stack>\n {titleAndClose}\n <ModalTabBar>\n {tabs.map((tab, idx) => (\n <Tab\n key={tab.name}\n selected={selectedTabIdx === idx}\n id={`pds-modal_tab-${idx}`}\n onClick={() => setSelectedTabIdx(idx)}\n aria-controls={`pds-modal_tab-panel-${idx}`}\n >\n {tab.name}\n </Tab>\n ))}\n </ModalTabBar>\n </Stack>\n ) : (\n titleAndClose\n );\n\n return (\n <StyledDialog {...props} ref={ref}>\n <StyledCard elevated $size={size}>\n {(showCloseButton || title) && modalHeader}\n {tabs ? (\n tabs.map((tab, idx) => (\n <StyledModalCardBody\n key={tab.name}\n $noPadding={noBodyPadding}\n $hidden={selectedTabIdx !== idx}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${tab.name}`}\n aria-labelledby={`pds-modal_tab-${tab.name}`}\n >\n {tab.contents}\n </StyledModalCardBody>\n ))\n ) : (\n <StyledModalCardBody\n $noPadding={noBodyPadding}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${selectedTabIdx}`}\n aria-labelledby={`pds-modal_tab-${selectedTabIdx}`}\n >\n {children}\n </StyledModalCardBody>\n )}\n\n {footer && <ModalFooter>{footer}</ModalFooter>}\n </StyledCard>\n </StyledDialog>\n );\n});\n\ninterface TabView {\n name: string;\n contents: JSX.Element;\n badge?: React.ReactElement;\n disabled?: boolean;\n 'data-tour-target'?: string;\n}\n\nexport interface ModalProps {\n /**\n * Title of the Card\n */\n title?: string;\n\n /**\n * Component to use as trigger. React Aria trigger props will be merged with this element.\n */\n trigger?: ComponentProps<typeof Pressable>['children'];\n\n /**\n * Props to apply to Modal.Card within\n */\n contentProps?: ModalCardProps;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer section intended for actions.\n * You can pass in Buttons directly and they will render in a HStack.\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Children content\n */\n children?: ReactNode | ((props: { portalContainer: HTMLDivElement | null }) => ReactNode);\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n * Can also be set via contentProps.noBodyPadding.\n */\n noBodyPadding?: boolean;\n\n /**\n * Controls whether the modal is open (controlled)\n */\n open?: boolean;\n\n /**\n * Default open state (uncontrolled)\n */\n defaultOpen?: boolean;\n\n /**\n * Handler called when open state changes\n */\n onOpenChange?: (isOpen: boolean) => void;\n\n /**\n * Whether the modal can be dismissed by clicking outside or pressing escape\n */\n isDismissable?: boolean;\n\n /**\n * Whether pressing the escape key closes the modal\n */\n isKeyboardDismissDisabled?: boolean;\n}\n\nconst Modal = ({\n children,\n trigger,\n contentProps,\n noBodyPadding = false,\n size = 'md',\n title,\n footer,\n tabs,\n defaultOpen,\n onOpenChange,\n isDismissable = false,\n isKeyboardDismissDisabled = false,\n open,\n}: ModalProps) => {\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null);\n const { insetRight: modalInsetRight, panelState } = useModalInsetRight();\n const transitionMs =\n panelState === 'opening'\n ? SIDEBAR_OPEN_TRANSITION_MS\n : panelState === 'closing'\n ? SIDEBAR_CLOSE_TRANSITION_MS\n : 0;\n\n const content = (\n <ModalCard\n size={size}\n title={title}\n footer={footer}\n tabs={tabs}\n noBodyPadding={noBodyPadding}\n {...contentProps}\n >\n {typeof children === 'function' ? children({ portalContainer }) : children}\n </ModalCard>\n );\n\n // Wrap trigger element to ensure it works with react-aria-components\n const wrappedTrigger = trigger ? <Pressable>{trigger}</Pressable> : null;\n\n return (\n <DialogTrigger isOpen={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n {wrappedTrigger}\n <StyledModalOverlay\n $insetRight={modalInsetRight}\n $transitionMs={transitionMs}\n isDismissable={isDismissable}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n shouldCloseOnInteractOutside={(element) => !element.closest('[data-react-aria-top-layer]')}\n >\n <StyledModal ref={setPortalContainer}>{content}</StyledModal>\n </StyledModalOverlay>\n </DialogTrigger>\n );\n};\n\nexport default Object.assign(Modal, {\n Title: ModalTitle,\n});\n"],"mappings":";;;;;;;;;;;;AAEA,MAAM,UAAU;AAMhB,MAAM,2BACJ,iBAAiB,SAAS,gBAAgB,CAAC,iBAAiB,QAAQ,CAAC,MAAM,IAAI;AAEjF,MAAM,6BACJ,OAAO,WAAW,eAAe,OAAO,WAAW,mCAAmC,CAAC;;;;;;;;;AAkBzF,MAAM,2BAA4C;CAChD,MAAM,CAAC,YAAY,iBAAiB,SAAS,mBAAmB;CAChE,MAAM,CAAC,YAAY,iBAAiB,eAClC,oBAAoB,KAAK,QAAQ,SAAS,SAC3C;CACD,MAAM,iBAAiB,OAAO,oBAAoB,CAAC;CACnD,MAAM,qBAAqB,OAA6C,KAAK;CAC7E,MAAM,SAAS,OAAsB,KAAK;AAE1C,iBAAgB;EACd,MAAM,WAAW,IAAI,uBAAuB;GAC1C,MAAM,OAAO,eAAe;GAC5B,MAAM,OAAO,oBAAoB;AACjC,kBAAe,UAAU;AAEzB,OAAI,SAAS,SAAS,SAAS,MAC7B,KAAI,sBAAsB,EAAE;AAC1B,kBAAc,KAAK;AACnB,kBAAc,OAAO;UAChB;AACL,QAAI,OAAO,QACT,sBAAqB,OAAO,QAAQ;AAEtC,QAAI,mBAAmB,QACrB,cAAa,mBAAmB,QAAQ;AAE1C,kBAAc,MAAM;AACpB,kBAAc,UAAU;AACxB,WAAO,UAAU,4BAA4B,cAAc,KAAK,CAAC;AACjE,uBAAmB,UAAU,iBACrB,cAAc,OAAO,EAAA,IAE5B;;YAEM,SAAS,SAAS,SAAS,MACpC,KAAI,sBAAsB,EAAE;AAC1B,kBAAc,MAAM;AACpB,kBAAc,SAAS;UAClB;AACL,QAAI,OAAO,QACT,sBAAqB,OAAO,QAAQ;AAEtC,QAAI,mBAAmB,QACrB,cAAa,mBAAmB,QAAQ;AAE1C,kBAAc,KAAK;AACnB,kBAAc,UAAU;AACxB,WAAO,UAAU,4BAA4B,cAAc,MAAM,CAAC;AAClE,uBAAmB,UAAU,iBACrB,cAAc,SAAS,EAAA,IAE9B;;OAGH,eAAc,KAAK;IAErB;AAEF,WAAS,QAAQ,SAAS,iBAAiB;GACzC,YAAY;GACZ,iBAAiB,CAAC,QAAQ;GAC3B,CAAC;AAEF,eAAa;AACX,YAAS,YAAY;AACrB,OAAI,mBAAmB,QACrB,cAAa,mBAAmB,QAAQ;AAE1C,OAAI,OAAO,QACT,sBAAqB,OAAO,QAAQ;;IAGvC,EAAE,CAAC;AAEN,QAAO;EAAE;EAAY;EAAY;;;;AC/EnC,MAAM,qBAAqB,OAAO,aAAa;;;;;;;;;;;;;;YAcnC,EAAE,kBAAkB,YAAY;uBACrB,EAAE,oBAAoB,cAAc;;;;;;;AAQ3D,MAAM,cAAc,OAAOA,MAAU;;;;;AAMrC,MAAM,mBAAmB,OAAOC,SAAO;;aAE1B,QAAQ,GAAG;mBACL,QAAQ,GAAG;;;;AAK9B,MAAM,cAAc,OAAO,OAAO,CAAC,MAAM;CACvC,SAAS;CACT,OAAO;CACP,SAAS,QAAQ;CAClB,CAAC;aACW,QAAQ,GAAG,GAAG,QAAQ,GAAG;0BACZ,MAAM,cAAc;;AAG9C,MAAM,mBAAmB,OAAO,GAAG;;;AAInC,MAAa,eAAe;AAC5B,MAAa,eAAe;AAE5B,MAAa,cAAc,UAAuB;AAChD,QACE,oBAACC,QAAD;EAAY,MAAK;EAAQ,OAAO;GAAE,KAAK;GAAS,SAAS;GAAY;YACnE,oBAAC,kBAAD;GAAkB,SAAQ;GAAO,OAAM;GAAO,MAAK;GAAK,GAAI;aAC1D,oBAAC,OAAD,EAAS,CAAA;GACQ,CAAA;EACR,CAAA;;AASjB,MAAM,cAAc,EAAE,UAAU,GAAG,YAA6B;AAC9D,QACE,oBAACC,WAAD;EAAS,MAAK;EAAK,OAAM;EAAU,IAAIC;EAAa,MAAK;EAAQ,GAAI;EAClE;EACO,CAAA;;AAId,MAAM,cAAc,OAAO,OAAO;oBACd,EAAE,eAAgB,WAAW,SAAS,aAAa,MAAM,gBAAiB;cAChF,EAAE,eACZ,WACI,GAAG,QAAQ,GAAG,GAAG,QAAQ,GAAG,GAAG,QAAQ,GAAG,GAAG,QAAQ,OACrD,GAAG,QAAQ,GAAG,GAAG,QAAQ,GAAG,GAAG,QAAQ,GAAG,GAAG,QAAQ,KAAK;;AAGlE,MAAM,cAAc,OAAO,OAAO;kBAChB,QAAQ,GAAG;;AAG7B,MAAM,eAAe,OAAO,OAAO;;;AAInC,MAAM,aAAa,OAAOC,aAAK;;;;YAInB,EAAE,YAAY;AACtB,SAAQ,OAAR;EACE,KAAK,OACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,QACE,QAAO;;EAEX;gBACY,EAAE,OAAO,YAAY;AACjC,SAAQ,OAAR;EACE,KAAK,OACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,QACE,QAAO,MAAM,MAAM,MAAM;;EAE7B;;iBAEa,EAAE,YAAa,UAAU,SAAS,wBAAwB,OAAQ;;;;KAI9E,EAAE,YACH,UAAU,UACV;;IAEA;;;AAgDJ,MAAM,sBAAsB,OAAOA,aAAK,KAAK;;;;KAOxC,EAAE,iBACH,aACI,gBACA;oBACY,QAAQ,GAAG;qBACV,QAAQ,GAAG;IAC5B;KACC,EAAE,cAAc,WAAW,iBAAiB;;;;;AAMjD,MAAM,YAAY,WAA2C,SAAS,UACpE,EAAE,OAAO,UAAU,kBAAkB,MAAM,MAAM,QAAQ,MAAM,gBAAgB,OAAO,GAAG,SACzF,KACA;CACA,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,EAAE;CAEvD,MAAM,gBACJ,qBAAC,aAAD;EAAa,SAAQ;EAAa,OAAM;EAAS,SAAS,QAAQ;EAAI,UAAU,QAAQ,KAAK;YAA7F,CACE,oBAAC,kBAAD,EAAA,UAAmB,QAAQ,oBAAC,YAAD,EAAA,UAAa,OAAmB,CAAA,GAAG,MAAwB,CAAA,EACrF,mBAAmB,oBAAC,YAAD,EAAY,cAAW,SAAU,CAAA,CACzC;;CAGhB,MAAM,cAAc,OAClB,qBAAC,OAAD,EAAA,UAAA,CACG,eACD,oBAAC,aAAD,EAAA,UACG,KAAK,KAAK,KAAK,QACd,oBAAC,KAAD;EAEE,UAAU,mBAAmB;EAC7B,IAAI,iBAAiB;EACrB,eAAe,kBAAkB,IAAI;EACrC,iBAAe,uBAAuB;YAErC,IAAI;EACD,EAPC,IAAI,KAOL,CACN,EACU,CAAA,CACR,EAAA,CAAA,GAER;AAGF,QACE,oBAAC,cAAD;EAAc,GAAI;EAAY;YAC5B,qBAAC,YAAD;GAAY,UAAA;GAAS,OAAO;aAA5B;KACI,mBAAmB,UAAU;IAC9B,OACC,KAAK,KAAK,KAAK,QACb,oBAAC,qBAAD;KAEE,YAAY;KACZ,SAAS,mBAAmB;KAC5B,MAAM,OAAO,aAAa,KAAA;KAC1B,IAAI,uBAAuB,IAAI;KAC/B,mBAAiB,iBAAiB,IAAI;eAErC,IAAI;KACe,EARf,IAAI,KAQW,CACtB,GAEF,oBAAC,qBAAD;KACE,YAAY;KACZ,MAAM,OAAO,aAAa,KAAA;KAC1B,IAAI,uBAAuB;KAC3B,mBAAiB,iBAAiB;KAEjC;KACmB,CAAA;IAGvB,UAAU,oBAAC,aAAD,EAAA,UAAc,QAAqB,CAAA;IACnC;;EACA,CAAA;EAEjB;AAiFF,MAAMC,WAAS,EACb,UACA,SACA,cACA,gBAAgB,OAChB,OAAO,MACP,OACA,QACA,MACA,aACA,cACA,gBAAgB,OAChB,4BAA4B,OAC5B,WACgB;CAChB,MAAM,CAAC,iBAAiB,sBAAsB,SAAgC,KAAK;CACnF,MAAM,EAAE,YAAY,iBAAiB,eAAe,oBAAoB;CACxE,MAAM,eACJ,eAAe,YAAA,MAEX,eAAe,YAAA,MAEb;CAER,MAAM,UACJ,oBAAC,WAAD;EACQ;EACC;EACC;EACF;EACS;EACf,GAAI;YAEH,OAAO,aAAa,aAAa,SAAS,EAAE,iBAAiB,CAAC,GAAG;EACxD,CAAA;AAMd,QACE,qBAAC,eAAD;EAAe,QAAQ;EAAmB;EAA2B;YAArE,CAHqB,UAAU,oBAAC,WAAD,EAAA,UAAY,SAAoB,CAAA,GAAG,MAKhE,oBAAC,oBAAD;GACE,aAAa;GACb,eAAe;GACA;GACY;GAC3B,+BAA+B,YAAY,CAAC,QAAQ,QAAQ,8BAA8B;aAE1F,oBAAC,aAAD;IAAa,KAAK;cAAqB;IAAsB,CAAA;GAC1C,CAAA,CACP;;;AAIpB,IAAA,gBAAe,OAAO,OAAOA,SAAO,EAClC,OAAO,YACR,CAAC"}
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_chunk = require("../../chunk-CoPdw6nB.cjs");
6
- const require_Text = require("../../Text-DVz8erdF.cjs");
5
+ const require_chunk = require("../../chunk-CKQMccvm.cjs");
6
+ const require_Text = require("../../Text-CzN0DOXV.cjs");
7
7
  let _persona_design_tokens = require("@persona/design-tokens");
8
8
  let styled_components = require("styled-components");
9
9
  styled_components = require_chunk.__toESM(styled_components);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["Spacing","Heading","Paragraph"],"sources":["../../../components/PageHeader/PageHeader.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Heading, Paragraph } from 'design-system/components/Text';\n\nexport const PageHeaderContainer = styled.header`\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: ${Spacing[3]} ${Spacing[5]};\n background-color: ${({ theme }) => theme.color.background.primary};\n border-bottom: 1px solid ${({ theme }) => theme.color.border.primary};\n box-sizing: border-box;\n min-height: 56px; /* Standardize height for most PageHeaders */\n`;\n\nconst TitleContainer = styled.div`\n display: flex;\n flex: 1;\n align-items: center;\n h1 {\n margin: 0;\n }\n p {\n margin: 0 0 0 ${Spacing[2]};\n }\n`;\n\nconst LeftContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst RightContainer = styled.div`\n display: flex;\n gap: ${Spacing[2]};\n margin-left: ${Spacing[3]};\n`;\n\nexport interface PageHeaderProps {\n title: ReactNode;\n level?: 'product' | 'detail';\n subtitle?: ReactNode;\n prepend?: ReactNode;\n append?: ReactNode;\n children?: ReactNode;\n}\n\nconst PageHeader = ({\n title,\n subtitle,\n level = 'product',\n prepend,\n append,\n children,\n ...props\n}: PageHeaderProps) => (\n <PageHeaderContainer {...props}>\n <LeftContainer>\n {prepend && <div>{prepend}</div>}\n <TitleContainer>\n {level === 'product' && (\n <Heading as='h1' size='sm'>\n {title}\n </Heading>\n )}\n {level === 'detail' && (\n <Paragraph as='h1' size='lg' color='primary'>\n {title}\n </Paragraph>\n )}\n {subtitle && <Paragraph size='md'>{subtitle}</Paragraph>}\n </TitleContainer>\n {append && <div>{append}</div>}\n </LeftContainer>\n {children && <RightContainer>{children}</RightContainer>}\n </PageHeaderContainer>\n);\n\nexport default PageHeader;\n"],"mappings":";;;;;;;;;;;AAMA,MAAa,sBAAsB,kBAAA,QAAO,MAAM;;;;;aAKnCA,uBAAAA,QAAQ,GAAG,GAAGA,uBAAAA,QAAQ,GAAG;uBACf,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;8BACtC,EAAE,YAAY,MAAM,MAAM,OAAO,QAAQ;;;;AAKvE,MAAM,iBAAiB,kBAAA,QAAO,GAAG;;;;;;;;oBAQbA,uBAAAA,QAAQ,GAAG;;;AAI/B,MAAM,gBAAgB,kBAAA,QAAO,GAAG;;;;AAKhC,MAAM,iBAAiB,kBAAA,QAAO,GAAG;;SAExBA,uBAAAA,QAAQ,GAAG;iBACHA,uBAAAA,QAAQ,GAAG;;AAY5B,MAAM,cAAc,EAClB,OACA,UACA,QAAQ,WACR,SACA,QACA,UACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,MAAC,qBAAD;CAAqB,GAAI;WAAzB,CACE,iBAAA,GAAA,kBAAA,MAAC,eAAD,EAAA,UAAA;EACG,WAAW,iBAAA,GAAA,kBAAA,KAAC,OAAD,EAAA,UAAM,SAAc,CAAA;EAChC,iBAAA,GAAA,kBAAA,MAAC,gBAAD,EAAA,UAAA;GACG,UAAU,aACT,iBAAA,GAAA,kBAAA,KAACC,aAAAA,SAAD;IAAS,IAAG;IAAK,MAAK;cACnB;IACO,CAAA;GAEX,UAAU,YACT,iBAAA,GAAA,kBAAA,KAACC,aAAAA,WAAD;IAAW,IAAG;IAAK,MAAK;IAAK,OAAM;cAChC;IACS,CAAA;GAEb,YAAY,iBAAA,GAAA,kBAAA,KAACA,aAAAA,WAAD;IAAW,MAAK;cAAM;IAAqB,CAAA;GACzC,EAAA,CAAA;EAChB,UAAU,iBAAA,GAAA,kBAAA,KAAC,OAAD,EAAA,UAAM,QAAa,CAAA;EAChB,EAAA,CAAA,EACf,YAAY,iBAAA,GAAA,kBAAA,KAAC,gBAAD,EAAiB,UAA0B,CAAA,CACpC"}
1
+ {"version":3,"file":"index.cjs","names":["Spacing","Heading","Paragraph"],"sources":["../../../components/PageHeader/PageHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport { Heading, Paragraph } from 'design-system/components/Text';\n\nexport const PageHeaderContainer = styled.header`\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: ${Spacing[3]} ${Spacing[5]};\n background-color: ${({ theme }) => theme.color.background.primary};\n border-bottom: 1px solid ${({ theme }) => theme.color.border.primary};\n box-sizing: border-box;\n min-height: 56px; /* Standardize height for most PageHeaders */\n`;\n\nconst TitleContainer = styled.div`\n display: flex;\n flex: 1;\n align-items: center;\n h1 {\n margin: 0;\n }\n p {\n margin: 0 0 0 ${Spacing[2]};\n }\n`;\n\nconst LeftContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst RightContainer = styled.div`\n display: flex;\n gap: ${Spacing[2]};\n margin-left: ${Spacing[3]};\n`;\n\nexport interface PageHeaderProps {\n title: ReactNode;\n level?: 'product' | 'detail';\n subtitle?: ReactNode;\n prepend?: ReactNode;\n append?: ReactNode;\n children?: ReactNode;\n}\n\nconst PageHeader = ({\n title,\n subtitle,\n level = 'product',\n prepend,\n append,\n children,\n ...props\n}: PageHeaderProps) => (\n <PageHeaderContainer {...props}>\n <LeftContainer>\n {prepend && <div>{prepend}</div>}\n <TitleContainer>\n {level === 'product' && (\n <Heading as='h1' size='sm'>\n {title}\n </Heading>\n )}\n {level === 'detail' && (\n <Paragraph as='h1' size='lg' color='primary'>\n {title}\n </Paragraph>\n )}\n {subtitle && <Paragraph size='md'>{subtitle}</Paragraph>}\n </TitleContainer>\n {append && <div>{append}</div>}\n </LeftContainer>\n {children && <RightContainer>{children}</RightContainer>}\n </PageHeaderContainer>\n);\n\nexport default PageHeader;\n"],"mappings":";;;;;;;;;;;AAMA,MAAa,sBAAsB,kBAAA,QAAO,MAAM;;;;;aAKnCA,uBAAAA,QAAQ,GAAG,GAAGA,uBAAAA,QAAQ,GAAG;uBACf,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;8BACtC,EAAE,YAAY,MAAM,MAAM,OAAO,QAAQ;;;;AAKvE,MAAM,iBAAiB,kBAAA,QAAO,GAAG;;;;;;;;oBAQbA,uBAAAA,QAAQ,GAAG;;;AAI/B,MAAM,gBAAgB,kBAAA,QAAO,GAAG;;;;AAKhC,MAAM,iBAAiB,kBAAA,QAAO,GAAG;;SAExBA,uBAAAA,QAAQ,GAAG;iBACHA,uBAAAA,QAAQ,GAAG;;AAY5B,MAAM,cAAc,EAClB,OACA,UACA,QAAQ,WACR,SACA,QACA,UACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,MAAC,qBAAD;CAAqB,GAAI;WAAzB,CACE,iBAAA,GAAA,kBAAA,MAAC,eAAD,EAAA,UAAA;EACG,WAAW,iBAAA,GAAA,kBAAA,KAAC,OAAD,EAAA,UAAM,SAAc,CAAA;EAChC,iBAAA,GAAA,kBAAA,MAAC,gBAAD,EAAA,UAAA;GACG,UAAU,aACT,iBAAA,GAAA,kBAAA,KAACC,aAAAA,SAAD;IAAS,IAAG;IAAK,MAAK;cACnB;IACO,CAAA;GAEX,UAAU,YACT,iBAAA,GAAA,kBAAA,KAACC,aAAAA,WAAD;IAAW,IAAG;IAAK,MAAK;IAAK,OAAM;cAChC;IACS,CAAA;GAEb,YAAY,iBAAA,GAAA,kBAAA,KAACA,aAAAA,WAAD;IAAW,MAAK;cAAM;IAAqB,CAAA;GACzC,EAAA,CAAA;EAChB,UAAU,iBAAA,GAAA,kBAAA,KAAC,OAAD,EAAA,UAAM,QAAa,CAAA;EAChB,EAAA,CAAA,EACf,YAAY,iBAAA,GAAA,kBAAA,KAAC,gBAAD,EAAiB,UAA0B,CAAA,CACpC"}
@@ -1,4 +1,4 @@
1
- import { i as Paragraph, n as Heading } from "../../Text-DOTYjIt0.mjs";
1
+ import { i as Paragraph, n as Heading } from "../../Text-hEoPeOc9.mjs";
2
2
  import { Spacing } from "@persona/design-tokens";
3
3
  import styled from "styled-components";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/PageHeader/PageHeader.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Heading, Paragraph } from 'design-system/components/Text';\n\nexport const PageHeaderContainer = styled.header`\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: ${Spacing[3]} ${Spacing[5]};\n background-color: ${({ theme }) => theme.color.background.primary};\n border-bottom: 1px solid ${({ theme }) => theme.color.border.primary};\n box-sizing: border-box;\n min-height: 56px; /* Standardize height for most PageHeaders */\n`;\n\nconst TitleContainer = styled.div`\n display: flex;\n flex: 1;\n align-items: center;\n h1 {\n margin: 0;\n }\n p {\n margin: 0 0 0 ${Spacing[2]};\n }\n`;\n\nconst LeftContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst RightContainer = styled.div`\n display: flex;\n gap: ${Spacing[2]};\n margin-left: ${Spacing[3]};\n`;\n\nexport interface PageHeaderProps {\n title: ReactNode;\n level?: 'product' | 'detail';\n subtitle?: ReactNode;\n prepend?: ReactNode;\n append?: ReactNode;\n children?: ReactNode;\n}\n\nconst PageHeader = ({\n title,\n subtitle,\n level = 'product',\n prepend,\n append,\n children,\n ...props\n}: PageHeaderProps) => (\n <PageHeaderContainer {...props}>\n <LeftContainer>\n {prepend && <div>{prepend}</div>}\n <TitleContainer>\n {level === 'product' && (\n <Heading as='h1' size='sm'>\n {title}\n </Heading>\n )}\n {level === 'detail' && (\n <Paragraph as='h1' size='lg' color='primary'>\n {title}\n </Paragraph>\n )}\n {subtitle && <Paragraph size='md'>{subtitle}</Paragraph>}\n </TitleContainer>\n {append && <div>{append}</div>}\n </LeftContainer>\n {children && <RightContainer>{children}</RightContainer>}\n </PageHeaderContainer>\n);\n\nexport default PageHeader;\n"],"mappings":";;;;;AAMA,MAAa,sBAAsB,OAAO,MAAM;;;;;aAKnC,QAAQ,GAAG,GAAG,QAAQ,GAAG;uBACf,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;8BACtC,EAAE,YAAY,MAAM,MAAM,OAAO,QAAQ;;;;AAKvE,MAAM,iBAAiB,OAAO,GAAG;;;;;;;;oBAQb,QAAQ,GAAG;;;AAI/B,MAAM,gBAAgB,OAAO,GAAG;;;;AAKhC,MAAM,iBAAiB,OAAO,GAAG;;SAExB,QAAQ,GAAG;iBACH,QAAQ,GAAG;;AAY5B,MAAM,cAAc,EAClB,OACA,UACA,QAAQ,WACR,SACA,QACA,UACA,GAAG,YAEH,qBAAC,qBAAD;CAAqB,GAAI;WAAzB,CACE,qBAAC,eAAD,EAAA,UAAA;EACG,WAAW,oBAAC,OAAD,EAAA,UAAM,SAAc,CAAA;EAChC,qBAAC,gBAAD,EAAA,UAAA;GACG,UAAU,aACT,oBAAC,SAAD;IAAS,IAAG;IAAK,MAAK;cACnB;IACO,CAAA;GAEX,UAAU,YACT,oBAAC,WAAD;IAAW,IAAG;IAAK,MAAK;IAAK,OAAM;cAChC;IACS,CAAA;GAEb,YAAY,oBAAC,WAAD;IAAW,MAAK;cAAM;IAAqB,CAAA;GACzC,EAAA,CAAA;EAChB,UAAU,oBAAC,OAAD,EAAA,UAAM,QAAa,CAAA;EAChB,EAAA,CAAA,EACf,YAAY,oBAAC,gBAAD,EAAiB,UAA0B,CAAA,CACpC"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/PageHeader/PageHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport { Heading, Paragraph } from 'design-system/components/Text';\n\nexport const PageHeaderContainer = styled.header`\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: ${Spacing[3]} ${Spacing[5]};\n background-color: ${({ theme }) => theme.color.background.primary};\n border-bottom: 1px solid ${({ theme }) => theme.color.border.primary};\n box-sizing: border-box;\n min-height: 56px; /* Standardize height for most PageHeaders */\n`;\n\nconst TitleContainer = styled.div`\n display: flex;\n flex: 1;\n align-items: center;\n h1 {\n margin: 0;\n }\n p {\n margin: 0 0 0 ${Spacing[2]};\n }\n`;\n\nconst LeftContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst RightContainer = styled.div`\n display: flex;\n gap: ${Spacing[2]};\n margin-left: ${Spacing[3]};\n`;\n\nexport interface PageHeaderProps {\n title: ReactNode;\n level?: 'product' | 'detail';\n subtitle?: ReactNode;\n prepend?: ReactNode;\n append?: ReactNode;\n children?: ReactNode;\n}\n\nconst PageHeader = ({\n title,\n subtitle,\n level = 'product',\n prepend,\n append,\n children,\n ...props\n}: PageHeaderProps) => (\n <PageHeaderContainer {...props}>\n <LeftContainer>\n {prepend && <div>{prepend}</div>}\n <TitleContainer>\n {level === 'product' && (\n <Heading as='h1' size='sm'>\n {title}\n </Heading>\n )}\n {level === 'detail' && (\n <Paragraph as='h1' size='lg' color='primary'>\n {title}\n </Paragraph>\n )}\n {subtitle && <Paragraph size='md'>{subtitle}</Paragraph>}\n </TitleContainer>\n {append && <div>{append}</div>}\n </LeftContainer>\n {children && <RightContainer>{children}</RightContainer>}\n </PageHeaderContainer>\n);\n\nexport default PageHeader;\n"],"mappings":";;;;;AAMA,MAAa,sBAAsB,OAAO,MAAM;;;;;aAKnC,QAAQ,GAAG,GAAG,QAAQ,GAAG;uBACf,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;8BACtC,EAAE,YAAY,MAAM,MAAM,OAAO,QAAQ;;;;AAKvE,MAAM,iBAAiB,OAAO,GAAG;;;;;;;;oBAQb,QAAQ,GAAG;;;AAI/B,MAAM,gBAAgB,OAAO,GAAG;;;;AAKhC,MAAM,iBAAiB,OAAO,GAAG;;SAExB,QAAQ,GAAG;iBACH,QAAQ,GAAG;;AAY5B,MAAM,cAAc,EAClB,OACA,UACA,QAAQ,WACR,SACA,QACA,UACA,GAAG,YAEH,qBAAC,qBAAD;CAAqB,GAAI;WAAzB,CACE,qBAAC,eAAD,EAAA,UAAA;EACG,WAAW,oBAAC,OAAD,EAAA,UAAM,SAAc,CAAA;EAChC,qBAAC,gBAAD,EAAA,UAAA;GACG,UAAU,aACT,oBAAC,SAAD;IAAS,IAAG;IAAK,MAAK;cACnB;IACO,CAAA;GAEX,UAAU,YACT,oBAAC,WAAD;IAAW,IAAG;IAAK,MAAK;IAAK,OAAM;cAChC;IACS,CAAA;GAEb,YAAY,oBAAC,WAAD;IAAW,MAAK;cAAM;IAAqB,CAAA;GACzC,EAAA,CAAA;EAChB,UAAU,oBAAC,OAAD,EAAA,UAAM,QAAa,CAAA;EAChB,EAAA,CAAA,EACf,YAAY,oBAAC,gBAAD,EAAiB,UAA0B,CAAA,CACpC"}