@persona/design-system 0.2.1 → 0.3.0

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 (412) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{Action-DnR0YTxO.d.mts → Action-CnNf5T-l.d.mts} +2 -2
  3. package/dist/Action.d.mts +1 -1
  4. package/dist/AdvancedFilterRuleRow.d.mts +3 -3
  5. package/dist/AdvancedFilterRulesPopover.d.mts +3 -3
  6. package/dist/ArrayValueControl.d.mts +1 -1
  7. package/dist/Attribute.d.mts +2 -2
  8. package/dist/AttributeGrid.d.mts +1 -1
  9. package/dist/{Badge-DRn_r6is.mjs → Badge-BqS6Nk4J.mjs} +2 -2
  10. package/dist/{Badge-DRn_r6is.mjs.map → Badge-BqS6Nk4J.mjs.map} +1 -1
  11. package/dist/Banner.d.mts +1 -1
  12. package/dist/BooleanValueControl.d.mts +1 -1
  13. package/dist/{Breadcrumbs-Byf2ye6H.mjs → Breadcrumbs-CqKtnZqu.mjs} +8 -8
  14. package/dist/{Breadcrumbs-Byf2ye6H.mjs.map → Breadcrumbs-CqKtnZqu.mjs.map} +1 -1
  15. package/dist/{Button-DkjwN_Op.d.mts → Button-C0F0F2IL.d.mts} +2 -2
  16. package/dist/Button.d.mts +1 -1
  17. package/dist/ButtonGroup.d.mts +1 -1
  18. package/dist/Calendar-BvLNcHQM.d.mts +12 -0
  19. package/dist/Calendar.d.mts +2 -12
  20. package/dist/CalendarBase.d.mts +1 -1
  21. package/dist/{Card-CLTkZLKr.mjs → Card-BMCB9eFC.mjs} +4 -4
  22. package/dist/{Card-CLTkZLKr.mjs.map → Card-BMCB9eFC.mjs.map} +1 -1
  23. package/dist/{Card-DxFajLnx.d.mts → Card-BxNoIQWw.d.mts} +3 -3
  24. package/dist/Card.d.mts +1 -1
  25. package/dist/Card2.d.mts +1 -1
  26. package/dist/{CardV2-m9yOInMU.mjs → CardV2-B0ZweQYk.mjs} +22 -16
  27. package/dist/CardV2-B0ZweQYk.mjs.map +1 -0
  28. package/dist/{Checkbox-Bmm-r5ei.d.mts → Checkbox-Bm8exUfH.d.mts} +1 -1
  29. package/dist/{Checkbox-CU27-Aa8.mjs → Checkbox-DAvbgZgO.mjs} +5 -5
  30. package/dist/Checkbox-DAvbgZgO.mjs.map +1 -0
  31. package/dist/Checkbox.d.mts +1 -1
  32. package/dist/CheckboxGroupField.d.mts +2 -2
  33. package/dist/ChoicesValueControl.d.mts +1 -1
  34. package/dist/{Combobox-BgKEHP9p.d.mts → Combobox-C8ue0cBP.d.mts} +3 -3
  35. package/dist/{Combobox-DhTUY8JT.mjs → Combobox-xBrxiUAu.mjs} +18 -18
  36. package/dist/Combobox-xBrxiUAu.mjs.map +1 -0
  37. package/dist/Combobox.d.mts +2 -2
  38. package/dist/{ComboboxBase-Dmzn8a53.d.mts → ComboboxBase-DJGTMf1_.d.mts} +6 -6
  39. package/dist/ComboboxBase.d.mts +1 -1
  40. package/dist/{ComboboxMultiSelect-BLKUKNEW.d.mts → ComboboxMultiSelect-D7A2bbWU.d.mts} +2 -2
  41. package/dist/ComboboxMultiSelect.d.mts +1 -1
  42. package/dist/{ComboboxSingleSelect-Kpl-iOok.d.mts → ComboboxSingleSelect-D1uzEyKj.d.mts} +4 -4
  43. package/dist/ComboboxSingleSelect.d.mts +1 -1
  44. package/dist/{CompactBar-E9hPDRvI.d.mts → CompactBar-DMuvqaV5.d.mts} +3 -3
  45. package/dist/CompactBar.d.mts +1 -1
  46. package/dist/{ConfigFormGroup-GgzSDzgL.mjs → ConfigFormGroup-D2_sajXe.mjs} +2 -2
  47. package/dist/{ConfigFormGroup-GgzSDzgL.mjs.map → ConfigFormGroup-D2_sajXe.mjs.map} +1 -1
  48. package/dist/{ControlBar-DYrjBDzu.d.mts → ControlBar-Dg8JeU8f.d.mts} +2 -2
  49. package/dist/ControlBar.d.mts +1 -1
  50. package/dist/DataTable.d.mts +4 -4
  51. package/dist/DateField-Com9f2-j.d.mts +23 -0
  52. package/dist/DateField.d.mts +2 -23
  53. package/dist/DatePicker-BGO6doLx.d.mts +19 -0
  54. package/dist/{DatePicker-DpGvo7Bd.mjs → DatePicker-BlnE2MBD.mjs} +17 -16
  55. package/dist/{DatePicker-DpGvo7Bd.mjs.map → DatePicker-BlnE2MBD.mjs.map} +1 -1
  56. package/dist/DatePicker.d.mts +2 -19
  57. package/dist/DateRangePicker-DfRBm9z4.d.mts +53 -0
  58. package/dist/DateRangePicker.d.mts +2 -53
  59. package/dist/DateRangeValueControl.d.mts +19 -0
  60. package/dist/DateValueControl.d.mts +1 -1
  61. package/dist/{DropdownButton-DGgfGW_o.mjs → DropdownButton-CpWNRUma.mjs} +3 -3
  62. package/dist/{DropdownButton-DGgfGW_o.mjs.map → DropdownButton-CpWNRUma.mjs.map} +1 -1
  63. package/dist/DropdownButton.d.mts +2 -2
  64. package/dist/{DropdownMenu-DZIFSJXD.mjs → DropdownMenu-BCyV8nC0.mjs} +3 -3
  65. package/dist/{DropdownMenu-DZIFSJXD.mjs.map → DropdownMenu-BCyV8nC0.mjs.map} +1 -1
  66. package/dist/{DropdownMenu-B2t3Bwky.d.mts → DropdownMenu-CnaK78rP.d.mts} +3 -3
  67. package/dist/DropdownMenu.d.mts +1 -1
  68. package/dist/{ErrorProps-DX50vo-U.d.mts → ErrorProps-CN2XjaOX.d.mts} +1 -1
  69. package/dist/ErrorProps.d.mts +1 -1
  70. package/dist/{FieldRegistry-COyIA4VU.d.mts → FieldRegistry-DdA63Vnh.d.mts} +2 -2
  71. package/dist/FieldRegistry.d.mts +1 -1
  72. package/dist/{FilterBar-CS2YjiTr.d.mts → FilterBar-CxNsBVrn.d.mts} +5 -8
  73. package/dist/FilterBar.d.mts +1 -1
  74. package/dist/FilterPickerMenu.d.mts +3 -3
  75. package/dist/FilterPill.d.mts +1 -1
  76. package/dist/FilterPopover.d.mts +3 -13
  77. package/dist/FloatValueControl.d.mts +1 -1
  78. package/dist/FloatingPanel.d.mts +80 -0
  79. package/dist/FloatingPanelContext.d.mts +33 -0
  80. package/dist/FloatingPanelRenderer.d.mts +7 -0
  81. package/dist/{FormControl-CZFmub1N.d.mts → FormControl-Doj2gvF0.d.mts} +3 -3
  82. package/dist/{FormControl-BIXJ-FPI.mjs → FormControl-HVzZEqJH.mjs} +4 -4
  83. package/dist/FormControl-HVzZEqJH.mjs.map +1 -0
  84. package/dist/FormControl.d.mts +1 -1
  85. package/dist/{FormField-DcGQvgNW.mjs → FormField-B9P3BWvS.mjs} +50 -48
  86. package/dist/FormField-B9P3BWvS.mjs.map +1 -0
  87. package/dist/{FormField-8rlT8pm0.d.mts → FormField-D8dHbqZZ.d.mts} +2 -2
  88. package/dist/FormField.d.mts +1 -1
  89. package/dist/{Header-OLZuv8fF.d.mts → Header-CBlB65NY.d.mts} +2 -2
  90. package/dist/Header.d.mts +1 -1
  91. package/dist/{HelperTooltip-CJDG7Ugp.d.mts → HelperTooltip-C28h1zFl.d.mts} +3 -3
  92. package/dist/HelperTooltip.d.mts +1 -1
  93. package/dist/{HoverCopyableField-BHdCaR-R.mjs → HoverCopyableField-0Bzygbp9.mjs} +6 -6
  94. package/dist/{HoverCopyableField-BHdCaR-R.mjs.map → HoverCopyableField-0Bzygbp9.mjs.map} +1 -1
  95. package/dist/HoverCopyableField.d.mts +1 -1
  96. package/dist/{IconButton-DC4rh6ow.mjs → IconButton-BfDlic2K.mjs} +8 -8
  97. package/dist/IconButton-BfDlic2K.mjs.map +1 -0
  98. package/dist/{IconButton-Dc17jZPG.d.mts → IconButton-CBcW7ZU8.d.mts} +2 -2
  99. package/dist/IconButton.d.mts +1 -1
  100. package/dist/ImageTile.d.mts +2 -2
  101. package/dist/InlineCombobox.d.mts +2 -2
  102. package/dist/InlineInput.d.mts +1 -1
  103. package/dist/{Input-PWfwMSJ7.mjs → Input-Bimw8KFj.mjs} +4 -4
  104. package/dist/{Input-PWfwMSJ7.mjs.map → Input-Bimw8KFj.mjs.map} +1 -1
  105. package/dist/{Input-DsS4J78T.d.mts → Input-CVdjkX88.d.mts} +4 -4
  106. package/dist/Input.d.mts +1 -1
  107. package/dist/{InputProps-Buxtnz77.d.mts → InputProps-BwKkmImn.d.mts} +2 -2
  108. package/dist/InputProps.d.mts +1 -1
  109. package/dist/IntegerValueControl.d.mts +1 -1
  110. package/dist/Link.d.mts +1 -1
  111. package/dist/{ListBox-Nl9aOBeh.d.mts → ListBox-CDl5oZPX.d.mts} +5 -5
  112. package/dist/{ListBox-BwD-q7wF.mjs → ListBox-DKZpGYjo.mjs} +22 -15
  113. package/dist/ListBox-DKZpGYjo.mjs.map +1 -0
  114. package/dist/ListBox.d.mts +1 -1
  115. package/dist/ListBoxField.d.mts +6 -3
  116. package/dist/{LoadingShimmer-BPYPtFE1.mjs → LoadingShimmer-DC2vqicd.mjs} +1 -1
  117. package/dist/{LoadingShimmer-BPYPtFE1.mjs.map → LoadingShimmer-DC2vqicd.mjs.map} +1 -1
  118. package/dist/LoadingShimmer.d.mts +1 -1
  119. package/dist/{LogicRow-BAREMenx.d.mts → LogicRow-CkbyvrUw.d.mts} +4 -4
  120. package/dist/LogicRow.d.mts +1 -1
  121. package/dist/MaskedInput.d.mts +1 -1
  122. package/dist/{Menu-DM9OoZ71.d.mts → Menu-CYRdEnfo.d.mts} +4 -4
  123. package/dist/{Menu-DpM8o234.mjs → Menu-Dir03WA9.mjs} +3 -3
  124. package/dist/{Menu-DpM8o234.mjs.map → Menu-Dir03WA9.mjs.map} +1 -1
  125. package/dist/Menu.d.mts +1 -1
  126. package/dist/{MiddleTruncatedText-Bzpg3zAU.mjs → MiddleTruncatedText-GXI-CPvs.mjs} +3 -3
  127. package/dist/{MiddleTruncatedText-Bzpg3zAU.mjs.map → MiddleTruncatedText-GXI-CPvs.mjs.map} +1 -1
  128. package/dist/Modal.d.mts +3 -3
  129. package/dist/{PageHeader-Dq-J3san.mjs → PageHeader-C2IUKhCg.mjs} +3 -3
  130. package/dist/{PageHeader-Dq-J3san.mjs.map → PageHeader-C2IUKhCg.mjs.map} +1 -1
  131. package/dist/PageHeader.d.mts +1 -1
  132. package/dist/PageLayout.d.mts +1 -1
  133. package/dist/{PageSelector-Ca4TcyxG.d.mts → PageSelector-vay4jpMp.d.mts} +3 -3
  134. package/dist/PageSelector.d.mts +1 -1
  135. package/dist/{Pagination-GALyid4q.mjs → Pagination-0VhVdXv0.mjs} +9 -9
  136. package/dist/{Pagination-GALyid4q.mjs.map → Pagination-0VhVdXv0.mjs.map} +1 -1
  137. package/dist/{Pagination-Dcmv7bVe.d.mts → Pagination-ygLutOst.d.mts} +2 -2
  138. package/dist/Pagination.d.mts +1 -1
  139. package/dist/{Pii-BalLvfze.mjs → Pii-C7pA72Bh.mjs} +2 -2
  140. package/dist/{Pii-BalLvfze.mjs.map → Pii-C7pA72Bh.mjs.map} +1 -1
  141. package/dist/Pii.d.mts +1 -1
  142. package/dist/PillShell.d.mts +1 -1
  143. package/dist/{Popover-BZ5Bs80y.mjs → Popover-BkDpDdaO.mjs} +5 -5
  144. package/dist/{Popover-BZ5Bs80y.mjs.map → Popover-BkDpDdaO.mjs.map} +1 -1
  145. package/dist/Popover.d.mts +1 -1
  146. package/dist/ProgressBar.d.mts +1 -1
  147. package/dist/ProgressIndicator.d.mts +1 -1
  148. package/dist/{Radio-CtPz3EzX.mjs → Radio-BaFutxgV.mjs} +3 -3
  149. package/dist/Radio-BaFutxgV.mjs.map +1 -0
  150. package/dist/{RadioGroup-Xn46ovrV.d.mts → RadioGroup-BuJaitgG.d.mts} +1 -1
  151. package/dist/{RadioGroup-sjBzFE_-.mjs → RadioGroup-ClMzOZl0.mjs} +3 -3
  152. package/dist/{RadioGroup-sjBzFE_-.mjs.map → RadioGroup-ClMzOZl0.mjs.map} +1 -1
  153. package/dist/RadioGroup.d.mts +1 -1
  154. package/dist/RangeCalendar.d.mts +1 -1
  155. package/dist/RangeCalendarPresets.d.mts +1 -1
  156. package/dist/RuleEditorFields.d.mts +3 -3
  157. package/dist/RulesPill.d.mts +1 -1
  158. package/dist/{SearchInput-Try11aJD.d.mts → SearchInput-Ca3_np5e.d.mts} +3 -3
  159. package/dist/SearchInput.d.mts +1 -1
  160. package/dist/Section.d.mts +1 -1
  161. package/dist/SectionHeading.d.mts +77 -2
  162. package/dist/{SegmentedControl-BugnH-h2.mjs → SegmentedControl-DgyJL4uN.mjs} +3 -3
  163. package/dist/{SegmentedControl-BugnH-h2.mjs.map → SegmentedControl-DgyJL4uN.mjs.map} +1 -1
  164. package/dist/{SegmentedControl-DckAdhcD.d.mts → SegmentedControl-_I4sWeD7.d.mts} +2 -2
  165. package/dist/SegmentedControl.d.mts +1 -1
  166. package/dist/{Select-DL-AjL0Q.mjs → Select-D6MqSYVa.mjs} +8 -8
  167. package/dist/{Select-DL-AjL0Q.mjs.map → Select-D6MqSYVa.mjs.map} +1 -1
  168. package/dist/{Select-BmJ1OjXA.d.mts → Select-vwXGlHuW.d.mts} +4 -4
  169. package/dist/Select.d.mts +1 -1
  170. package/dist/Slider.d.mts +1 -1
  171. package/dist/SliderRHF.d.mts +1 -1
  172. package/dist/SliderThumb.d.mts +1 -1
  173. package/dist/{Spacer-Ln3KChb5.mjs → Spacer-CJp0lwkL.mjs} +1 -1
  174. package/dist/{Spacer-Ln3KChb5.mjs.map → Spacer-CJp0lwkL.mjs.map} +1 -1
  175. package/dist/{Stack-ckRN7LrP.mjs → Stack-Bl54WmhY.mjs} +1 -1
  176. package/dist/{Stack-ckRN7LrP.mjs.map → Stack-Bl54WmhY.mjs.map} +1 -1
  177. package/dist/{Stack-CbcJykx9.d.mts → Stack-CkV7k7TE.d.mts} +2 -2
  178. package/dist/Stack.d.mts +1 -1
  179. package/dist/StatusIndicator.d.mts +1 -1
  180. package/dist/{Sticker-BIVuastf.d.mts → Sticker-Dhx2wqTL.d.mts} +4 -4
  181. package/dist/{Sticker-B0TbkV4o.mjs → Sticker-xtDMuOoN.mjs} +3 -3
  182. package/dist/{Sticker-B0TbkV4o.mjs.map → Sticker-xtDMuOoN.mjs.map} +1 -1
  183. package/dist/Sticker.d.mts +1 -1
  184. package/dist/StringValueControl.d.mts +1 -1
  185. package/dist/SwatchPicker.d.mts +1 -1
  186. package/dist/Tab.d.mts +2 -2
  187. package/dist/{TabBar-DLf4Hwa4.mjs → TabBar-D6UocZXi.mjs} +4 -4
  188. package/dist/{TabBar-DLf4Hwa4.mjs.map → TabBar-D6UocZXi.mjs.map} +1 -1
  189. package/dist/TabBarIconButton.d.mts +1 -1
  190. package/dist/{Table-C-mx8Uj0.mjs → Table-D1WyUQuv.mjs} +4 -4
  191. package/dist/{Table-C-mx8Uj0.mjs.map → Table-D1WyUQuv.mjs.map} +1 -1
  192. package/dist/{Table-8jXlKYLy.d.mts → Table-cO7ZwGPM.d.mts} +1 -1
  193. package/dist/Table.d.mts +1 -1
  194. package/dist/{TableBody-ByEcFueE.d.mts → TableBody-CirMgfAV.d.mts} +1 -1
  195. package/dist/TableBody.d.mts +1 -1
  196. package/dist/{TableBox-DGjKVQFO.mjs → TableBox-C5qWhr82.mjs} +12 -12
  197. package/dist/{TableBox-DGjKVQFO.mjs.map → TableBox-C5qWhr82.mjs.map} +1 -1
  198. package/dist/TableBox.d.mts +2 -2
  199. package/dist/{TableBoxCell-BmoPs1u1.d.mts → TableBoxCell-DmVX_tgn.d.mts} +7 -7
  200. package/dist/TableBoxCell.d.mts +1 -1
  201. package/dist/TableBoxField.d.mts +4 -4
  202. package/dist/{TableBoxRow-BAYvEDjT.d.mts → TableBoxRow-nwq41Bpi.d.mts} +4 -4
  203. package/dist/TableBoxRow.d.mts +1 -1
  204. package/dist/{TableBoxRowActions-DRs4MdK0.d.mts → TableBoxRowActions-B4_ojiQo.d.mts} +2 -2
  205. package/dist/TableBoxRowActions.d.mts +1 -1
  206. package/dist/TableCell.d.mts +1 -1
  207. package/dist/{TableControls-BK8DCsqi.mjs → TableControls-CZ9iu3ma.mjs} +181 -62
  208. package/dist/TableControls-CZ9iu3ma.mjs.map +1 -0
  209. package/dist/{TableControls-DscP6fyt.d.mts → TableControls-RwIPBxyU.d.mts} +4 -4
  210. package/dist/TableControls.d.mts +1 -1
  211. package/dist/{TableControlsContext-BeJ7GHPN.d.mts → TableControlsContext-D_SBFZN1.d.mts} +2 -2
  212. package/dist/TableControlsContext.d.mts +1 -1
  213. package/dist/{TableHead-g3afLl5B.d.mts → TableHead-DMq_q_W0.d.mts} +1 -1
  214. package/dist/TableHead.d.mts +1 -1
  215. package/dist/{TableHeaderCell-CWTMf2Fe.d.mts → TableHeaderCell-C2pqXBYO.d.mts} +1 -1
  216. package/dist/TableHeaderCell.d.mts +1 -1
  217. package/dist/{TableLayout-hPlVO3dD.d.mts → TableLayout-DQKu6Rcj.d.mts} +1 -1
  218. package/dist/TableLayout.d.mts +1 -1
  219. package/dist/{TableRow-lvjbVccA.d.mts → TableRow-CPqZ8DK3.d.mts} +1 -1
  220. package/dist/TableRow.d.mts +1 -1
  221. package/dist/TableTH.d.mts +1 -1
  222. package/dist/{TableViewConfigurationDropdown-Ccxtk5dA.d.mts → TableViewConfigurationDropdown-BYPh4dIP.d.mts} +2 -2
  223. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  224. package/dist/{TechnicalSticker-BrvR0zhC.mjs → TechnicalSticker-DTjg6d2F.mjs} +5 -5
  225. package/dist/{TechnicalSticker-BrvR0zhC.mjs.map → TechnicalSticker-DTjg6d2F.mjs.map} +1 -1
  226. package/dist/TechnicalSticker.d.mts +1 -1
  227. package/dist/{Text-hEoPeOc9.mjs → Text-RcEfNFLx.mjs} +1 -1
  228. package/dist/{Text-hEoPeOc9.mjs.map → Text-RcEfNFLx.mjs.map} +1 -1
  229. package/dist/{TextArea-DiKEhpfD.d.mts → TextArea-DhPBI_1-.d.mts} +2 -2
  230. package/dist/{TextArea-BFsXUkuj.mjs → TextArea-ZMgbE_Lh.mjs} +2 -2
  231. package/dist/{TextArea-BFsXUkuj.mjs.map → TextArea-ZMgbE_Lh.mjs.map} +1 -1
  232. package/dist/TextArea.d.mts +1 -1
  233. package/dist/{TextUnderlineTooltip-Bs6Jn5yr.d.mts → TextUnderlineTooltip-BzmmiJlC.d.mts} +3 -3
  234. package/dist/TextUnderlineTooltip.d.mts +1 -1
  235. package/dist/Tile.d.mts +2 -2
  236. package/dist/Toast.d.mts +1 -1
  237. package/dist/{Toggle-oukvAn6V.d.mts → Toggle-BGGQ4Ukl.d.mts} +1 -1
  238. package/dist/{Toggle-CC2FTAKS.mjs → Toggle-BPgfSjuu.mjs} +4 -4
  239. package/dist/{Toggle-CC2FTAKS.mjs.map → Toggle-BPgfSjuu.mjs.map} +1 -1
  240. package/dist/Toggle.d.mts +1 -1
  241. package/dist/{Tooltip-CDvOu1UN.mjs → Tooltip-BvDbmXak.mjs} +3 -3
  242. package/dist/{Tooltip-CDvOu1UN.mjs.map → Tooltip-BvDbmXak.mjs.map} +1 -1
  243. package/dist/{Tooltip-0iXDCV2O.d.mts → Tooltip-D_a-RwAN.d.mts} +3 -3
  244. package/dist/Tooltip.d.mts +1 -1
  245. package/dist/{TruncatedText-CdeU19Ev.d.mts → TruncatedText-BJnowVTx.d.mts} +1 -1
  246. package/dist/components/Attribute/index.mjs +9 -10
  247. package/dist/components/Attribute/index.mjs.map +1 -1
  248. package/dist/components/Badge/index.mjs +1 -1
  249. package/dist/components/Banner/index.mjs +1 -1
  250. package/dist/components/Breadcrumbs/index.mjs +1 -1
  251. package/dist/components/Button/index.d.mts +2 -2
  252. package/dist/components/Button/index.mjs +1 -1
  253. package/dist/components/ButtonGroup/index.mjs +2 -2
  254. package/dist/components/Card/index.d.mts +2 -2
  255. package/dist/components/Card/index.mjs +1 -1
  256. package/dist/components/CardV2/index.d.mts +3 -2
  257. package/dist/components/CardV2/index.mjs +2 -2
  258. package/dist/components/Checkbox/index.d.mts +1 -1
  259. package/dist/components/Checkbox/index.mjs +1 -1
  260. package/dist/components/Combobox/index.d.mts +2 -2
  261. package/dist/components/Combobox/index.mjs +1 -1
  262. package/dist/components/ConfigFormGroup/index.mjs +1 -1
  263. package/dist/components/DataTable/TableControls/index.d.mts +16 -16
  264. package/dist/components/DataTable/TableControls/index.mjs +2 -2
  265. package/dist/components/DataTable/index.mjs +27 -29
  266. package/dist/components/DataTable/index.mjs.map +1 -1
  267. package/dist/components/DataTable/types.d.mts +2 -2
  268. package/dist/components/DatePicker/index.d.mts +4 -4
  269. package/dist/components/DatePicker/index.mjs +1 -1
  270. package/dist/components/DropdownButton/index.mjs +1 -1
  271. package/dist/components/DropdownMenu/index.d.mts +1 -1
  272. package/dist/components/DropdownMenu/index.mjs +1 -1
  273. package/dist/components/FloatingPanel/index.d.mts +5 -0
  274. package/dist/components/FloatingPanel/index.mjs +635 -0
  275. package/dist/components/FloatingPanel/index.mjs.map +1 -0
  276. package/dist/components/FormControl/index.d.mts +2 -2
  277. package/dist/components/FormControl/index.mjs +1 -1
  278. package/dist/components/FormField/index.d.mts +1 -1
  279. package/dist/components/FormField/index.mjs +1 -1
  280. package/dist/components/HoverCopyableField/index.mjs +1 -1
  281. package/dist/components/ImageTile/index.mjs +8 -8
  282. package/dist/components/Input/index.d.mts +1 -1
  283. package/dist/components/Input/index.mjs +1 -1
  284. package/dist/components/Link/index.mjs +1 -1
  285. package/dist/components/ListBox/index.d.mts +3 -3
  286. package/dist/components/ListBox/index.mjs +1 -1
  287. package/dist/components/LoadingShimmer/index.mjs +1 -1
  288. package/dist/components/MaskedInput/index.mjs +2 -2
  289. package/dist/components/Menu/index.d.mts +1 -1
  290. package/dist/components/Menu/index.mjs +1 -1
  291. package/dist/components/Modal/index.mjs +11 -12
  292. package/dist/components/Modal/index.mjs.map +1 -1
  293. package/dist/components/PageHeader/index.mjs +1 -1
  294. package/dist/components/Pagination/index.d.mts +3 -3
  295. package/dist/components/Pagination/index.mjs +1 -1
  296. package/dist/components/Pii/index.mjs +1 -1
  297. package/dist/components/Popover/index.mjs +1 -1
  298. package/dist/components/ProgressBar/index.mjs +3 -3
  299. package/dist/components/ProgressBar/index.mjs.map +1 -1
  300. package/dist/components/Radio/index.mjs +1 -1
  301. package/dist/components/RadioGroup/index.d.mts +1 -1
  302. package/dist/components/RadioGroup/index.mjs +1 -1
  303. package/dist/components/SegmentedControl/index.d.mts +1 -1
  304. package/dist/components/SegmentedControl/index.mjs +1 -1
  305. package/dist/components/Select/index.d.mts +1 -1
  306. package/dist/components/Select/index.mjs +1 -1
  307. package/dist/components/Slider/index.mjs +4 -4
  308. package/dist/components/Slider/index.mjs.map +1 -1
  309. package/dist/components/Spacer/index.mjs +1 -1
  310. package/dist/components/Stack/index.d.mts +1 -1
  311. package/dist/components/Stack/index.mjs +1 -1
  312. package/dist/components/Sticker/index.d.mts +1 -1
  313. package/dist/components/Sticker/index.mjs +1 -1
  314. package/dist/components/TabBar/index.mjs +1 -1
  315. package/dist/components/Table/index.d.mts +7 -7
  316. package/dist/components/Table/index.mjs +1 -1
  317. package/dist/components/TableBox/index.d.mts +2 -2
  318. package/dist/components/TableBox/index.mjs +1 -1
  319. package/dist/components/TechnicalSticker/index.mjs +1 -1
  320. package/dist/components/Text/index.mjs +1 -1
  321. package/dist/components/TextArea/index.d.mts +1 -1
  322. package/dist/components/TextArea/index.mjs +1 -1
  323. package/dist/components/Tile/index.mjs +4 -4
  324. package/dist/components/Toast/index.mjs +1 -1
  325. package/dist/components/Toggle/index.d.mts +1 -1
  326. package/dist/components/Toggle/index.mjs +1 -1
  327. package/dist/components/Tooltip/index.d.mts +3 -3
  328. package/dist/components/Tooltip/index.mjs +1 -1
  329. package/dist/compound-expression.d.mts +1 -1
  330. package/dist/{constants-bA9kCzRQ.d.mts → constants-BASogfT_.d.mts} +1 -1
  331. package/dist/constants.d.mts +1 -1
  332. package/dist/display.d.mts +1 -1
  333. package/dist/fieldPickerOptions.d.mts +2 -2
  334. package/dist/{filter-size-context-C1TvrE_O.d.mts → filter-size-context-Bw5F7082.d.mts} +2 -2
  335. package/dist/filter-size-context.d.mts +1 -1
  336. package/dist/helpers.d.mts +1 -1
  337. package/dist/{index-BC4edEsD.d.mts → index--5Mfhlkj.d.mts} +2 -2
  338. package/dist/{index-DJn4AeE4.d.mts → index-C1bz13uw.d.mts} +4 -4
  339. package/dist/{index-CdaoOvFH.d.mts → index-DiCnyORA.d.mts} +5 -5
  340. package/dist/index.d.mts +1 -1
  341. package/dist/index2.d.mts +1 -1
  342. package/dist/index3.d.mts +3 -3
  343. package/dist/index4.d.mts +11 -11
  344. package/dist/{input-D3Qd6dI8.d.mts → input-CzO-6_1V.d.mts} +2 -2
  345. package/dist/inputFields.d.mts +12 -26
  346. package/dist/lib/ConfigContext.d.mts +4 -1
  347. package/dist/lib/ConfigContext.mjs.map +1 -1
  348. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  349. package/dist/lib/TruncatedText.d.mts +1 -1
  350. package/dist/lib/TruncatedText.mjs +1 -1
  351. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  352. package/dist/lib/TruncatedTextWithTooltip.mjs +2 -2
  353. package/dist/lib/message.d.mts +1 -1
  354. package/dist/lib/pseudoClass.d.mts +7 -7
  355. package/dist/{message-CsK3sIq0.d.mts → message-Cu84fcqB.d.mts} +1 -1
  356. package/dist/mixins/input.d.mts +1 -1
  357. package/dist/{operators-C_xPzItk.d.mts → operators-CmSqHnTH.d.mts} +24 -3
  358. package/dist/operators.d.mts +2 -2
  359. package/dist/patterns/LayoutLoadingShimmer/index.mjs +5 -5
  360. package/dist/{types-mb3woqzE.d.mts → types-C-TkDdkG.d.mts} +6 -3
  361. package/dist/{types-CjHuZoVJ.d.mts → types-DEh_pXgS.d.mts} +1 -1
  362. package/dist/{types-BKEwt0uq.d.mts → types-NJtAxsU1.d.mts} +2 -2
  363. package/dist/{types-DVsBRqjZ.d.mts → types-TV9nVfSe.d.mts} +1 -1
  364. package/dist/types.d.mts +1 -1
  365. package/dist/types2.d.mts +1 -1
  366. package/dist/types3.d.mts +1 -1
  367. package/dist/types4.d.mts +1 -1
  368. package/dist/useComboboxFooterAction.d.mts +1 -1
  369. package/dist/{useFilterStateV2-CGzRyv0i.d.mts → useFilterStateV2-C4itmN4S.d.mts} +3 -3
  370. package/dist/useFilterStateV2.d.mts +1 -1
  371. package/dist/{useFormField-DhwEi45-.d.mts → useFormField-B2U4GOH4.d.mts} +2 -2
  372. package/dist/useFormField.d.mts +1 -1
  373. package/dist/{useTableBoxDragAndDrop-CsnN52lx.d.mts → useTableBoxDragAndDrop-CpemHLhL.d.mts} +1 -1
  374. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  375. package/dist/{useToggle-3k3EkV8V.mjs → useToggle-Bo3yd14Y.mjs} +1 -1
  376. package/dist/{useToggle-3k3EkV8V.mjs.map → useToggle-Bo3yd14Y.mjs.map} +1 -1
  377. package/dist/useTruncation.d.mts +1 -1
  378. package/dist/utils/storybook.mjs +1 -1
  379. package/dist/utils/testing.d.mts +1 -1
  380. package/dist/utils/testing.mjs +1 -1
  381. package/dist/utils.d.mts +1 -1
  382. package/dist/utils3.d.mts +7 -0
  383. package/dist/{validation-BdP2vajF.d.mts → validation-B5IXsdkE.d.mts} +3 -3
  384. package/dist/validation.d.mts +1 -1
  385. package/dist/{value-control-resolver-CiGEHQAc.d.mts → value-control-resolver-BPlTeIX7.d.mts} +2 -2
  386. package/dist/value-control-resolver.d.mts +1 -1
  387. package/llms.txt +1 -1
  388. package/package.json +5 -2
  389. package/skills/ui-authoring/SKILL.md +1 -1
  390. package/dist/CardV2-m9yOInMU.mjs.map +0 -1
  391. package/dist/Checkbox-CU27-Aa8.mjs.map +0 -1
  392. package/dist/Combobox-DhTUY8JT.mjs.map +0 -1
  393. package/dist/FormControl-BIXJ-FPI.mjs.map +0 -1
  394. package/dist/FormField-DcGQvgNW.mjs.map +0 -1
  395. package/dist/IconButton-DC4rh6ow.mjs.map +0 -1
  396. package/dist/ListBox-BwD-q7wF.mjs.map +0 -1
  397. package/dist/Radio-CtPz3EzX.mjs.map +0 -1
  398. package/dist/SectionHeading-DvP9NEgN.d.mts +0 -71
  399. package/dist/TableControls-BK8DCsqi.mjs.map +0 -1
  400. /package/dist/{index-0-W_aPej.d.mts → index-BMBcfD_R.d.mts} +0 -0
  401. /package/dist/{index-7in8TPrM.d.mts → index-BYd3Btr1.d.mts} +0 -0
  402. /package/dist/{index-B4woaFSm.d.mts → index-CNxS4Tlu.d.mts} +0 -0
  403. /package/dist/{index-BINnViIh.d.mts → index-CWB6exYm.d.mts} +0 -0
  404. /package/dist/{index-BNRXMhlr.d.mts → index-CtJuGxUp.d.mts} +0 -0
  405. /package/dist/{index-BO_854F2.d.mts → index-CzItj62a.d.mts} +0 -0
  406. /package/dist/{index-CCt0lwyI.d.mts → index-D4DUvwPf.d.mts} +0 -0
  407. /package/dist/{index-CREkvfw9.d.mts → index-D5tSVhTd.d.mts} +0 -0
  408. /package/dist/{index-Ci-uuV07.d.mts → index-DGsJdI5l.d.mts} +0 -0
  409. /package/dist/{index-CzUpNo0e.d.mts → index-DkrC-i1D.d.mts} +0 -0
  410. /package/dist/{index-DDdPqD_H.d.mts → index-DztUdPP_.d.mts} +0 -0
  411. /package/dist/{index-DeVKzGce.d.mts → index-IE5cwTAE2.d.mts} +0 -0
  412. /package/dist/{index-uMNhmxEh.d.mts → index-e6k85DKM.d.mts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination-GALyid4q.mjs","names":[],"sources":["../components/Pagination/constants.ts","../components/Pagination/PageSelector.tsx","../components/Pagination/PageSizeSelector.tsx","../components/Pagination/Pagination.tsx","../components/Pagination/index.ts"],"sourcesContent":["export const DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100, 300];\nexport const MIN_PAGE_SIZE = 10;\n","import { debounce } from 'lodash/fp';\nimport { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Button from '@persona/design-system/components/Button';\nimport { Input } from '@persona/design-system/components/Input';\nimport { HStack } from '@persona/design-system/components/Stack';\nimport { Spacing } from '@persona/design-tokens';\n\nimport type { PaginationParams } from './types';\n\n// After a certain limit, it no longer makes sense for someone\n// to jump to the last page. Deep paging has performance limitations.\nexport const PAGE_LIMIT_BEFORE_SCROLL_MODE = 100;\n\nconst PageSelectorStack = styled(HStack).attrs({ justify: 'flex-end' })`\n padding: ${Spacing[2]};\n`;\n\nexport const PageInput = styled(HStack).attrs({ align: 'center' })`\n white-space: nowrap;\n`;\n\ninterface PageSelectorProps {\n paginationParams: PaginationParams;\n handlePageLinkClick: (pageNumber: number) => void;\n isLoading?: boolean;\n /**\n * Called with the new page number after the page changes (next, prev, or\n * typed input). Lets the consumer react to page changes -- e.g. scroll the\n * page back to the top.\n */\n onPageChange?: (pageNumber: number) => void;\n}\n\nexport default function PageSelector({\n paginationParams,\n handlePageLinkClick,\n isLoading,\n onPageChange,\n}: PageSelectorProps) {\n const {\n 'current-page': currentPage,\n 'total-pages': totalPages,\n 'lower-bound': lowerBound,\n } = paginationParams ?? {};\n const [selectedPage, setSelectedPage] = useState<number | undefined>(currentPage);\n\n // We don't use useDebounced to avoid function object reference issues.\n const handlePageLinkClickDebounced = useMemo(\n () => debounce(500, handlePageLinkClick),\n [handlePageLinkClick],\n );\n\n // Keep input state synced to pagination state when other user action changes\n // pagination state.\n useEffect(() => {\n if (currentPage != null) {\n setSelectedPage(currentPage);\n }\n }, [currentPage]);\n\n if (!paginationParams) {\n return <div />;\n }\n\n return (\n <PageSelectorStack data-test='pagination__page-selector' id='pagination__page-selector'>\n <PageInput>\n {totalPages < PAGE_LIMIT_BEFORE_SCROLL_MODE && !lowerBound ? (\n <Input\n aria-label='Go to page number'\n size='sm'\n inputSize={2}\n onChange={(e) => {\n const value = e.target.valueAsNumber;\n if (Number.isNaN(value)) {\n setSelectedPage(undefined);\n } else {\n // Setting unbounded value feels smoother as the value is not corrected until after the fetch via useEffect.\n setSelectedPage(value);\n const boundedValue = Math.min(Math.max(e.target.valueAsNumber, 1), totalPages);\n handlePageLinkClickDebounced(boundedValue);\n onPageChange?.(boundedValue);\n }\n }}\n onBlur={(e) => {\n // Fill blank value on blur.\n if (Number.isNaN(e.target.valueAsNumber)) {\n setSelectedPage(currentPage);\n }\n }}\n min={1}\n max={totalPages}\n type='number'\n disabled={isLoading}\n value={selectedPage ?? ''}\n />\n ) : (\n currentPage + ' '\n )}\n of {lowerBound ? 'many' : totalPages} pages\n </PageInput>\n <Button\n id='pagination__page-selector--left'\n disabled={currentPage === 1 || isLoading}\n onClick={() => {\n if (currentPage !== 1) {\n const prevPageNum = currentPage - 1;\n setSelectedPage(prevPageNum);\n handlePageLinkClick(prevPageNum);\n onPageChange?.(prevPageNum);\n }\n }}\n data-test='pagination__page-selector-paddle-left'\n variant='inverse'\n size='sm'\n width='auto'\n aria-label='Previous page'\n >\n Prev\n </Button>\n <Button\n id='pagination__page-selector--right'\n disabled={(currentPage === totalPages && !lowerBound) || isLoading}\n onClick={() => {\n if (currentPage !== totalPages || lowerBound) {\n const nextPageNum = currentPage + 1;\n setSelectedPage(nextPageNum);\n handlePageLinkClick(nextPageNum);\n onPageChange?.(nextPageNum);\n }\n }}\n data-test='pagination__page-selector-paddle-right'\n variant='inverse'\n size='sm'\n width='auto'\n aria-label='Next page'\n >\n Next\n </Button>\n </PageSelectorStack>\n );\n}\n","import styled from 'styled-components';\n\nimport Select, { Option } from '@persona/design-system/components/Select';\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\n\nconst Selector = styled('div')`\n padding: ${Spacing[2]};\n display: flex;\n justify-content: flex-end;\n`;\n\nconst Label = styled.label`\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: ${Spacing[2]};\n padding: ${Spacing[2]};\n`;\n\ninterface PageSizeOptionProps {\n currentPageSize: number;\n pageSizeOption: number;\n}\n\nexport const PageSizeOption = styled('div')<PageSizeOptionProps>`\n padding: 0 ${Spacing[1]};\n color: ${Color.PrimaryPurple};\n cursor: pointer;\n\n ${({ currentPageSize, pageSizeOption }) => {\n if (currentPageSize === pageSizeOption) {\n return `\n ${Typography.TextMediumBold};\n text-decoration: underline;\n `;\n }\n }};\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\ninterface PageSizeSelectorProps {\n pageSize: number;\n pageSizeOptions: number[];\n handlePageSizeClick: (pageSize: number) => void;\n /**\n * Element the options menu renders into. Pass a container inside the surrounding dialog when the\n * pager sits in a clipping container, where the menu would otherwise be cut off.\n */\n menuPortalContainer?: HTMLElement | null;\n}\n\nconst PageSizeSelector = ({\n pageSize,\n pageSizeOptions,\n handlePageSizeClick,\n menuPortalContainer,\n}: PageSizeSelectorProps) => {\n // Add pageSize to selector just in case it isn't part of the options so UI doesn't look weird\n const pageSizes = [\n ...pageSizeOptions,\n ...(pageSizeOptions.includes(pageSize) ? [] : [pageSize]),\n ].sort((a, b) => a - b);\n\n return (\n <Selector data-test='pagination__page-size-selector'>\n <Label>\n Items per page:\n <Select\n value={pageSize.toString()}\n onValueChange={(val) => handlePageSizeClick(Number(val))}\n size='sm'\n portal={menuPortalContainer != null}\n portalContainer={menuPortalContainer}\n >\n {pageSizes.map((size) => (\n <Option key={size} value={size.toString()}>\n {size}\n </Option>\n ))}\n </Select>\n </Label>\n </Selector>\n );\n};\n\nexport default PageSizeSelector;\n","import styled from 'styled-components';\n\nimport { Color, Typography } from '@persona/design-tokens';\n\nimport { DEFAULT_PAGE_SIZE_OPTIONS } from './constants';\nimport PageSelector from './PageSelector';\nimport PageSizeSelector from './PageSizeSelector';\nimport type { PaginationParams } from './types';\n\n// NB: this is configured in config/initializers/kaminari.rb\nconst MAX_PAGES = 100;\n\nconst Container = styled('nav')`\n ${Typography.TextMedium};\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const PaginationInfo = styled('div')`\n display: flex;\n align-items: center;\n\n color: ${Color.TextPrimary};\n`;\n\ninterface PaginationProps {\n pageSize?: number;\n pageSizeOptions?: number[];\n paginationParams?: PaginationParams;\n handlePageSizeClick: (pageSize: number) => void;\n handlePageLinkClick: (pageNumber: number) => void;\n isLoading?: boolean;\n showPageSizeSelector?: boolean;\n /**\n * Called with the new page number after the page changes. Lets the consumer\n * react to page changes -- e.g. scroll the page back to the top.\n */\n onPageChange?: (pageNumber: number) => void;\n /**\n * Element the page-size menu renders into. Pass a container inside the surrounding dialog when\n * the pager sits in a clipping container, where the menu would otherwise be cut off.\n */\n menuPortalContainer?: HTMLElement | null;\n}\n\nconst Pagination = ({\n pageSize,\n pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,\n paginationParams,\n handlePageSizeClick,\n handlePageLinkClick,\n isLoading,\n showPageSizeSelector = true,\n onPageChange,\n menuPortalContainer,\n}: PaginationProps) => {\n if (!paginationParams || !pageSize) {\n return <div />;\n }\n\n const {\n 'current-page': currentPage,\n 'total-count': totalCount,\n 'total-pages': totalPages,\n 'lower-bound': lowerBound,\n } = paginationParams;\n\n // If the total number of pages is the same as MAX_PAGES, we guess that the total number of\n // items might be limited by max pages, and that the total could change based on page size.\n // To limit user confusion here, we use 'many' instead of a specific number.\n const totalCountDisplay = lowerBound || totalPages >= MAX_PAGES ? 'many' : totalCount;\n\n const lastItemIndex = lowerBound\n ? currentPage * pageSize\n : Math.min(currentPage * pageSize, totalCount);\n const firstItemIndex = pageSize * (currentPage - 1) + 1;\n\n return (\n <Container role='navigation' aria-label='pagination'>\n {showPageSizeSelector && (\n <PageSizeSelector\n pageSize={pageSize}\n pageSizeOptions={pageSizeOptions}\n handlePageSizeClick={handlePageSizeClick}\n menuPortalContainer={menuPortalContainer}\n />\n )}\n {totalCount > 0 && (\n <>\n <div>\n Showing {firstItemIndex}-{lastItemIndex} of {totalCountDisplay} items\n </div>\n <PaginationInfo>\n <PageSelector\n paginationParams={paginationParams}\n handlePageLinkClick={handlePageLinkClick}\n isLoading={isLoading}\n onPageChange={onPageChange}\n />\n </PaginationInfo>\n </>\n )}\n </Container>\n );\n};\n\nexport default Pagination;\n","import Pagination from './Pagination';\n\nexport { default as PageSelector, PAGE_LIMIT_BEFORE_SCROLL_MODE } from './PageSelector';\nexport * from './constants';\nexport default Pagination;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination-0VhVdXv0.mjs","names":[],"sources":["../components/Pagination/constants.ts","../components/Pagination/PageSelector.tsx","../components/Pagination/PageSizeSelector.tsx","../components/Pagination/Pagination.tsx","../components/Pagination/index.ts"],"sourcesContent":["export const DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100, 300];\nexport const MIN_PAGE_SIZE = 10;\n","import { debounce } from 'lodash-es';\nimport { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Button from '@persona/design-system/components/Button';\nimport { Input } from '@persona/design-system/components/Input';\nimport { HStack } from '@persona/design-system/components/Stack';\nimport { Spacing } from '@persona/design-tokens';\n\nimport type { PaginationParams } from './types';\n\n// After a certain limit, it no longer makes sense for someone\n// to jump to the last page. Deep paging has performance limitations.\nexport const PAGE_LIMIT_BEFORE_SCROLL_MODE = 100;\n\nconst PageSelectorStack = styled(HStack).attrs({ justify: 'flex-end' })`\n padding: ${Spacing[2]};\n`;\n\nexport const PageInput = styled(HStack).attrs({ align: 'center' })`\n white-space: nowrap;\n`;\n\ninterface PageSelectorProps {\n paginationParams: PaginationParams;\n handlePageLinkClick: (pageNumber: number) => void;\n isLoading?: boolean;\n /**\n * Called with the new page number after the page changes (next, prev, or\n * typed input). Lets the consumer react to page changes -- e.g. scroll the\n * page back to the top.\n */\n onPageChange?: (pageNumber: number) => void;\n}\n\nexport default function PageSelector({\n paginationParams,\n handlePageLinkClick,\n isLoading,\n onPageChange,\n}: PageSelectorProps) {\n const {\n 'current-page': currentPage,\n 'total-pages': totalPages,\n 'lower-bound': lowerBound,\n } = paginationParams ?? {};\n const [selectedPage, setSelectedPage] = useState<number | undefined>(currentPage);\n\n // We don't use useDebounced to avoid function object reference issues.\n const handlePageLinkClickDebounced = useMemo(\n () => debounce(handlePageLinkClick, 500),\n [handlePageLinkClick],\n );\n\n // Keep input state synced to pagination state when other user action changes\n // pagination state.\n useEffect(() => {\n if (currentPage != null) {\n setSelectedPage(currentPage);\n }\n }, [currentPage]);\n\n if (!paginationParams) {\n return <div />;\n }\n\n return (\n <PageSelectorStack data-test='pagination__page-selector' id='pagination__page-selector'>\n <PageInput>\n {totalPages < PAGE_LIMIT_BEFORE_SCROLL_MODE && !lowerBound ? (\n <Input\n aria-label='Go to page number'\n size='sm'\n inputSize={2}\n onChange={(e) => {\n const value = e.target.valueAsNumber;\n if (Number.isNaN(value)) {\n setSelectedPage(undefined);\n } else {\n // Setting unbounded value feels smoother as the value is not corrected until after the fetch via useEffect.\n setSelectedPage(value);\n const boundedValue = Math.min(Math.max(e.target.valueAsNumber, 1), totalPages);\n handlePageLinkClickDebounced(boundedValue);\n onPageChange?.(boundedValue);\n }\n }}\n onBlur={(e) => {\n // Fill blank value on blur.\n if (Number.isNaN(e.target.valueAsNumber)) {\n setSelectedPage(currentPage);\n }\n }}\n min={1}\n max={totalPages}\n type='number'\n disabled={isLoading}\n value={selectedPage ?? ''}\n />\n ) : (\n currentPage + ' '\n )}\n of {lowerBound ? 'many' : totalPages} pages\n </PageInput>\n <Button\n id='pagination__page-selector--left'\n disabled={currentPage === 1 || isLoading}\n onClick={() => {\n if (currentPage !== 1) {\n const prevPageNum = currentPage - 1;\n setSelectedPage(prevPageNum);\n handlePageLinkClick(prevPageNum);\n onPageChange?.(prevPageNum);\n }\n }}\n data-test='pagination__page-selector-paddle-left'\n variant='inverse'\n size='sm'\n width='auto'\n aria-label='Previous page'\n >\n Prev\n </Button>\n <Button\n id='pagination__page-selector--right'\n disabled={(currentPage === totalPages && !lowerBound) || isLoading}\n onClick={() => {\n if (currentPage !== totalPages || lowerBound) {\n const nextPageNum = currentPage + 1;\n setSelectedPage(nextPageNum);\n handlePageLinkClick(nextPageNum);\n onPageChange?.(nextPageNum);\n }\n }}\n data-test='pagination__page-selector-paddle-right'\n variant='inverse'\n size='sm'\n width='auto'\n aria-label='Next page'\n >\n Next\n </Button>\n </PageSelectorStack>\n );\n}\n","import styled from 'styled-components';\n\nimport Select, { Option } from '@persona/design-system/components/Select';\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\n\nconst Selector = styled('div')`\n padding: ${Spacing[2]};\n display: flex;\n justify-content: flex-end;\n`;\n\nconst Label = styled.label`\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: ${Spacing[2]};\n padding: ${Spacing[2]};\n`;\n\ninterface PageSizeOptionProps {\n currentPageSize: number;\n pageSizeOption: number;\n}\n\nexport const PageSizeOption = styled('div')<PageSizeOptionProps>`\n padding: 0 ${Spacing[1]};\n color: ${Color.PrimaryPurple};\n cursor: pointer;\n\n ${({ currentPageSize, pageSizeOption }) => {\n if (currentPageSize === pageSizeOption) {\n return `\n ${Typography.TextMediumBold};\n text-decoration: underline;\n `;\n }\n }};\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\ninterface PageSizeSelectorProps {\n pageSize: number;\n pageSizeOptions: number[];\n handlePageSizeClick: (pageSize: number) => void;\n /**\n * Element the options menu renders into. Pass a container inside the surrounding dialog when the\n * pager sits in a clipping container, where the menu would otherwise be cut off.\n */\n menuPortalContainer?: HTMLElement | null;\n}\n\nconst PageSizeSelector = ({\n pageSize,\n pageSizeOptions,\n handlePageSizeClick,\n menuPortalContainer,\n}: PageSizeSelectorProps) => {\n // Add pageSize to selector just in case it isn't part of the options so UI doesn't look weird\n const pageSizes = [\n ...pageSizeOptions,\n ...(pageSizeOptions.includes(pageSize) ? [] : [pageSize]),\n ].sort((a, b) => a - b);\n\n return (\n <Selector data-test='pagination__page-size-selector'>\n <Label>\n Items per page:\n <Select\n value={pageSize.toString()}\n onValueChange={(val) => handlePageSizeClick(Number(val))}\n size='sm'\n portal={menuPortalContainer != null}\n portalContainer={menuPortalContainer}\n >\n {pageSizes.map((size) => (\n <Option key={size} value={size.toString()}>\n {size}\n </Option>\n ))}\n </Select>\n </Label>\n </Selector>\n );\n};\n\nexport default PageSizeSelector;\n","import styled from 'styled-components';\n\nimport { Color, Typography } from '@persona/design-tokens';\n\nimport { DEFAULT_PAGE_SIZE_OPTIONS } from './constants';\nimport PageSelector from './PageSelector';\nimport PageSizeSelector from './PageSizeSelector';\nimport type { PaginationParams } from './types';\n\n// NB: this is configured in config/initializers/kaminari.rb\nconst MAX_PAGES = 100;\n\nconst Container = styled('nav')`\n ${Typography.TextMedium};\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const PaginationInfo = styled('div')`\n display: flex;\n align-items: center;\n\n color: ${Color.TextPrimary};\n`;\n\ninterface PaginationProps {\n pageSize?: number;\n pageSizeOptions?: number[];\n paginationParams?: PaginationParams;\n handlePageSizeClick: (pageSize: number) => void;\n handlePageLinkClick: (pageNumber: number) => void;\n isLoading?: boolean;\n showPageSizeSelector?: boolean;\n /**\n * Called with the new page number after the page changes. Lets the consumer\n * react to page changes -- e.g. scroll the page back to the top.\n */\n onPageChange?: (pageNumber: number) => void;\n /**\n * Element the page-size menu renders into. Pass a container inside the surrounding dialog when\n * the pager sits in a clipping container, where the menu would otherwise be cut off.\n */\n menuPortalContainer?: HTMLElement | null;\n}\n\nconst Pagination = ({\n pageSize,\n pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,\n paginationParams,\n handlePageSizeClick,\n handlePageLinkClick,\n isLoading,\n showPageSizeSelector = true,\n onPageChange,\n menuPortalContainer,\n}: PaginationProps) => {\n if (!paginationParams || !pageSize) {\n return <div />;\n }\n\n const {\n 'current-page': currentPage,\n 'total-count': totalCount,\n 'total-pages': totalPages,\n 'lower-bound': lowerBound,\n } = paginationParams;\n\n // If the total number of pages is the same as MAX_PAGES, we guess that the total number of\n // items might be limited by max pages, and that the total could change based on page size.\n // To limit user confusion here, we use 'many' instead of a specific number.\n const totalCountDisplay = lowerBound || totalPages >= MAX_PAGES ? 'many' : totalCount;\n\n const lastItemIndex = lowerBound\n ? currentPage * pageSize\n : Math.min(currentPage * pageSize, totalCount);\n const firstItemIndex = pageSize * (currentPage - 1) + 1;\n\n return (\n <Container role='navigation' aria-label='pagination'>\n {showPageSizeSelector && (\n <PageSizeSelector\n pageSize={pageSize}\n pageSizeOptions={pageSizeOptions}\n handlePageSizeClick={handlePageSizeClick}\n menuPortalContainer={menuPortalContainer}\n />\n )}\n {totalCount > 0 && (\n <>\n <div>\n Showing {firstItemIndex}-{lastItemIndex} of {totalCountDisplay} items\n </div>\n <PaginationInfo>\n <PageSelector\n paginationParams={paginationParams}\n handlePageLinkClick={handlePageLinkClick}\n isLoading={isLoading}\n onPageChange={onPageChange}\n />\n </PaginationInfo>\n </>\n )}\n </Container>\n );\n};\n\nexport default Pagination;\n","import Pagination from './Pagination';\n\nexport { default as PageSelector, PAGE_LIMIT_BEFORE_SCROLL_MODE } from './PageSelector';\nexport * from './constants';\nexport default Pagination;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as PaginationParams } from "./types-DVsBRqjZ.mjs";
1
+ import { t as PaginationParams } from "./types-TV9nVfSe.mjs";
2
2
  import * as _$styled_components0 from "styled-components";
3
3
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
@@ -36,4 +36,4 @@ declare const Pagination: ({
36
36
  }: PaginationProps) => _$react_jsx_runtime0.JSX.Element;
37
37
  //#endregion
38
38
  export { PaginationInfo as n, Pagination as t };
39
- //# sourceMappingURL=Pagination-Dcmv7bVe.d.mts.map
39
+ //# sourceMappingURL=Pagination-ygLutOst.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as PaginationInfo, t as Pagination } from "./Pagination-Dcmv7bVe.mjs";
1
+ import { n as PaginationInfo, t as Pagination } from "./Pagination-ygLutOst.mjs";
2
2
  export { PaginationInfo, Pagination as default };
@@ -1,4 +1,4 @@
1
- import { n as Sticker } from "./Sticker-B0TbkV4o.mjs";
1
+ import { n as Sticker } from "./Sticker-xtDMuOoN.mjs";
2
2
  import { Fragment, jsx } from "react/jsx-runtime";
3
3
  //#region components/Pii/Pii.tsx
4
4
  const Pii = ({ children, isRedacted, hideOnRedacted }) => {
@@ -16,4 +16,4 @@ var Pii_default = Pii;
16
16
  //#endregion
17
17
  export { Pii_default as t };
18
18
 
19
- //# sourceMappingURL=Pii-BalLvfze.mjs.map
19
+ //# sourceMappingURL=Pii-C7pA72Bh.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pii-BalLvfze.mjs","names":[],"sources":["../components/Pii/Pii.tsx","../components/Pii/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport Sticker from '@persona/design-system/components/Sticker';\n\ninterface PiiProps {\n children?: ReactNode;\n isRedacted: boolean;\n hideOnRedacted?: boolean;\n}\n\nconst Pii = ({ children, isRedacted, hideOnRedacted }: PiiProps) => {\n if (isRedacted) {\n return hideOnRedacted ? null : <Sticker data-test='pii__redacted'>Redacted</Sticker>;\n }\n\n if (children == null || children === '') {\n return null;\n }\n\n // There used to be code inserting a classname here in certain cases. There's\n // no other reason for this to be conditionally wrapped in a span, but\n // removing it breaks a lot of tests. Someday, the tests will be fixed...\n // hopefully.\n if (['string', 'number'].includes(typeof children)) {\n return <span>{children}</span>;\n }\n\n return <>{children}</>;\n};\n\nexport default Pii;\n","import Pii from './Pii';\n\nexport default Pii;\n"],"mappings":";;;AAUA,MAAM,OAAO,EAAE,UAAU,YAAY,qBAA+B;AAClE,KAAI,WACF,QAAO,iBAAiB,OAAO,oBAAC,SAAD;EAAS,aAAU;YAAgB;EAAkB,CAAA;AAGtF,KAAI,YAAY,QAAQ,aAAa,GACnC,QAAO;AAOT,KAAI,CAAC,UAAU,SAAS,CAAC,SAAS,OAAO,SAAS,CAChD,QAAO,oBAAC,QAAD,EAAO,UAAgB,CAAA;AAGhC,QAAO,oBAAA,UAAA,EAAG,UAAY,CAAA;;;;ACzBxB,IAAA,cAAe"}
1
+ {"version":3,"file":"Pii-C7pA72Bh.mjs","names":[],"sources":["../components/Pii/Pii.tsx","../components/Pii/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport Sticker from '@persona/design-system/components/Sticker';\n\ninterface PiiProps {\n children?: ReactNode;\n isRedacted: boolean;\n hideOnRedacted?: boolean;\n}\n\nconst Pii = ({ children, isRedacted, hideOnRedacted }: PiiProps) => {\n if (isRedacted) {\n return hideOnRedacted ? null : <Sticker data-test='pii__redacted'>Redacted</Sticker>;\n }\n\n if (children == null || children === '') {\n return null;\n }\n\n // There used to be code inserting a classname here in certain cases. There's\n // no other reason for this to be conditionally wrapped in a span, but\n // removing it breaks a lot of tests. Someday, the tests will be fixed...\n // hopefully.\n if (['string', 'number'].includes(typeof children)) {\n return <span>{children}</span>;\n }\n\n return <>{children}</>;\n};\n\nexport default Pii;\n","import Pii from './Pii';\n\nexport default Pii;\n"],"mappings":";;;AAUA,MAAM,OAAO,EAAE,UAAU,YAAY,qBAA+B;AAClE,KAAI,WACF,QAAO,iBAAiB,OAAO,oBAAC,SAAD;EAAS,aAAU;YAAgB;EAAkB,CAAA;AAGtF,KAAI,YAAY,QAAQ,aAAa,GACnC,QAAO;AAOT,KAAI,CAAC,UAAU,SAAS,CAAC,SAAS,OAAO,SAAS,CAChD,QAAO,oBAAC,QAAD,EAAO,UAAgB,CAAA;AAGhC,QAAO,oBAAA,UAAA,EAAG,UAAY,CAAA;;;;ACzBxB,IAAA,cAAe"}
package/dist/Pii.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { ReactNode } from "react";
2
1
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+ import { ReactNode } from "react";
3
3
 
4
4
  //#region components/Pii/Pii.d.ts
5
5
  interface PiiProps {
@@ -1,4 +1,4 @@
1
- import { d as FilterSize } from "./types-mb3woqzE.mjs";
1
+ import { d as FilterSize } from "./types-C-TkDdkG.mjs";
2
2
  import * as _$react from "react";
3
3
  import { HTMLAttributes, ReactNode } from "react";
4
4
 
@@ -1,8 +1,8 @@
1
- import { t as Card_default } from "./Card-CLTkZLKr.mjs";
2
- import { i as Paragraph } from "./Text-hEoPeOc9.mjs";
1
+ import { t as Card_default } from "./Card-BMCB9eFC.mjs";
2
+ import { i as Paragraph } from "./Text-RcEfNFLx.mjs";
3
3
  import styled, { css } from "styled-components";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
5
  import { Children, forwardRef, isValidElement } from "react";
5
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
6
  import { XIcon } from "@persona/icons";
7
7
  import * as PopoverPrimitive from "@radix-ui/react-popover";
8
8
  //#region components/Popover/Popover.tsx
@@ -64,7 +64,7 @@ const PopoverCard = forwardRef(function PopoverCard({ children, showCloseButton,
64
64
  ref,
65
65
  children: /* @__PURE__ */ jsxs(Card_default, {
66
66
  elevated: true,
67
- children: [!heading && showCloseButton && /* @__PURE__ */ jsx(PopoverClose, { "aria-label": "Close" }), noPadding ? /* @__PURE__ */ jsxs(Fragment$1, { children: [heading && header, children] }) : /* @__PURE__ */ jsxs(Card_default.Body, {
67
+ children: [!heading && showCloseButton && /* @__PURE__ */ jsx(PopoverClose, { "aria-label": "Close" }), noPadding ? /* @__PURE__ */ jsxs(Fragment, { children: [heading && header, children] }) : /* @__PURE__ */ jsxs(Card_default.Body, {
68
68
  padding,
69
69
  children: [heading && header, children]
70
70
  })]
@@ -121,4 +121,4 @@ var Popover_default = Object.assign(Popover, {
121
121
  //#endregion
122
122
  export { PopoverPortal as a, PopoverContent as i, PopoverCard as n, PopoverTrigger as o, PopoverClose as r, Popover_default as s, PopoverAnchor as t };
123
123
 
124
- //# sourceMappingURL=Popover-BZ5Bs80y.mjs.map
124
+ //# sourceMappingURL=Popover-BkDpDdaO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popover-BZ5Bs80y.mjs","names":["Card"],"sources":["../components/Popover/Popover.tsx"],"sourcesContent":["import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport { Children, forwardRef, isValidElement, type ReactElement } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport Card from 'design-system/components/Card';\nimport { Paragraph } from 'design-system/components/Text';\n\nexport const PopoverTrigger = PopoverPrimitive.Trigger;\nexport const PopoverAnchor = PopoverPrimitive.Anchor;\nexport const PopoverPortal = PopoverPrimitive.Portal;\n\n// TODO: Investigate how we can get date popovers to work properly with the new date picker\nexport const PopoverContent = PopoverPrimitive.PopoverContent;\n\nconst PopoverContentStyled = styled(PopoverContent)<{ zIndex?: number; $maxHeight?: string }>`\n z-index: ${({ zIndex }) => zIndex || 'inherit'};\n ${({ $maxHeight }) =>\n $maxHeight &&\n css`\n max-height: ${$maxHeight};\n overflow: auto;\n `}\n`;\n\nconst PopoverCloseButton = styled(PopoverPrimitive.Close)<{ isHeader?: boolean }>`\n ${({ isHeader }) =>\n !isHeader &&\n css`\n position: absolute;\n top: 8px;\n right: 8px;\n `}\n ${({ isHeader }) =>\n isHeader &&\n css`\n height: 16px;\n `}\n background: transparent;\n border: 0;\n cursor: pointer;\n`;\n\nconst HeadingContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const PopoverClose = (\n props: PopoverPrimitive.PopoverCloseProps & { isHeader?: boolean },\n) => {\n return (\n <PopoverCloseButton {...props}>\n <XIcon />\n </PopoverCloseButton>\n );\n};\n\nexport interface PopoverCardProps extends PopoverPrimitive.PopoverContentProps {\n /**\n * Display X button to close popover\n */\n showCloseButton?: boolean;\n\n /**\n * Remove padding from Card\n */\n noPadding?: boolean;\n\n padding?: Spacing;\n\n /**\n * Text to display in the header of the card\n */\n heading?: string;\n\n /**\n * Z-index to apply to the popover content\n */\n zIndex?: number;\n\n /**\n * Maximum height for the popover content.\n */\n maxHeight?: string;\n}\n\n/**\n * Card to be used in Popover contexts. Inherits props from Radix UI Popper.Content.\n */\nexport const PopoverCard = forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n PopoverCardProps\n>(function PopoverCard(\n { children, showCloseButton, heading, noPadding, padding, zIndex, maxHeight, ...props },\n ref,\n) {\n const header = heading && (\n <HeadingContainer>\n <Paragraph size='md' weight='bold' color='primary'>\n {heading}\n </Paragraph>\n {showCloseButton && <PopoverClose aria-label='Close' isHeader />}\n </HeadingContainer>\n );\n return (\n <PopoverContentStyled\n asChild\n sideOffset={8}\n collisionPadding={8}\n zIndex={zIndex}\n $maxHeight={maxHeight}\n {...props}\n ref={ref}\n >\n <Card elevated>\n {!heading && showCloseButton && <PopoverClose aria-label='Close' />}\n {noPadding ? (\n <>\n {heading && header}\n {children}\n </>\n ) : (\n <Card.Body padding={padding}>\n {heading && header}\n {children}\n </Card.Body>\n )}\n </Card>\n </PopoverContentStyled>\n );\n});\n\ninterface PopoverProps extends PopoverPrimitive.PopoverProps {\n /**\n * Component to use as trigger. Radix UI trigger component props will be merged with this element.\n */\n trigger?: ReactElement;\n\n /**\n * Props to apply to Popover.Trigger within\n */\n triggerProps?: PopoverPrimitive.PopoverTriggerProps;\n\n /**\n * An optional element to position the Popover.Content against.\n * If this part is not used, the content will position alongside the trigger.\n */\n anchor?: ReactElement<PopoverPrimitive.PopoverAnchorProps>;\n\n /**\n * Props to apply to Popover.Card within\n */\n contentProps?: PopoverCardProps;\n\n /**\n * Render content within a portal\n */\n portal?: boolean;\n\n /**\n * Props applied to Radix UI Portal component\n */\n portalProps?: PopoverPrimitive.PopoverPortalProps;\n}\n\nconst Popover = ({\n children,\n trigger,\n triggerProps,\n contentProps,\n anchor,\n portal = true,\n portalProps,\n ...props\n}: PopoverProps) => {\n let triggerElem;\n let contentElem;\n let anchorElem = anchor;\n\n const renderChildren = Children.toArray(children).filter((child) => {\n if (isValidElement(child)) {\n switch (child.type) {\n case PopoverPrimitive.Trigger:\n triggerElem = child;\n return false;\n case PopoverCard:\n case PopoverPrimitive.Content:\n contentElem = child;\n break;\n case PopoverPrimitive.Anchor:\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n anchorElem = child;\n return false;\n }\n }\n\n return true;\n });\n\n const content = contentElem || <PopoverCard {...contentProps}>{renderChildren}</PopoverCard>;\n\n return (\n <PopoverPrimitive.Root {...props}>\n {triggerElem ||\n (trigger && (\n <PopoverTrigger asChild {...triggerProps}>\n {trigger}\n </PopoverTrigger>\n ))}\n {anchorElem}\n {portal ? <PopoverPortal {...portalProps}>{content}</PopoverPortal> : content}\n </PopoverPrimitive.Root>\n );\n};\n\nexport default Object.assign(Popover, {\n Trigger: PopoverTrigger,\n Anchor: PopoverAnchor,\n Portal: PopoverPortal,\n Content: PopoverContent,\n Card: PopoverCard,\n Close: PopoverClose,\n});\n"],"mappings":";;;;;;;;AASA,MAAa,iBAAiB,iBAAiB;AAC/C,MAAa,gBAAgB,iBAAiB;AAC9C,MAAa,gBAAgB,iBAAiB;AAG9C,MAAa,iBAAiB,iBAAiB;AAE/C,MAAM,uBAAuB,OAAO,eAAe;cACrC,EAAE,aAAa,UAAU,UAAU;KAC5C,EAAE,iBACH,cACA,GAAG;oBACa,WAAW;;MAEzB;;AAGN,MAAM,qBAAqB,OAAO,iBAAiB,MAAM;KACpD,EAAE,eACH,CAAC,YACD,GAAG;;;;MAID;KACD,EAAE,eACH,YACA,GAAG;;MAED;;;;;AAMN,MAAM,mBAAmB,OAAO,GAAG;;;;;AAMnC,MAAa,gBACX,UACG;AACH,QACE,oBAAC,oBAAD;EAAoB,GAAI;YACtB,oBAAC,OAAD,EAAS,CAAA;EACU,CAAA;;;;;AAoCzB,MAAa,cAAc,WAGzB,SAAS,YACT,EAAE,UAAU,iBAAiB,SAAS,WAAW,SAAS,QAAQ,WAAW,GAAG,SAChF,KACA;CACA,MAAM,SAAS,WACb,qBAAC,kBAAD,EAAA,UAAA,CACE,oBAAC,WAAD;EAAW,MAAK;EAAK,QAAO;EAAO,OAAM;YACtC;EACS,CAAA,EACX,mBAAmB,oBAAC,cAAD;EAAc,cAAW;EAAQ,UAAA;EAAW,CAAA,CAC/C,EAAA,CAAA;AAErB,QACE,oBAAC,sBAAD;EACE,SAAA;EACA,YAAY;EACZ,kBAAkB;EACV;EACR,YAAY;EACZ,GAAI;EACC;YAEL,qBAACA,cAAD;GAAM,UAAA;aAAN,CACG,CAAC,WAAW,mBAAmB,oBAAC,cAAD,EAAc,cAAW,SAAU,CAAA,EAClE,YACC,qBAAA,YAAA,EAAA,UAAA,CACG,WAAW,QACX,SACA,EAAA,CAAA,GAEH,qBAACA,aAAK,MAAN;IAAoB;cAApB,CACG,WAAW,QACX,SACS;MAET;;EACc,CAAA;EAEzB;AAmCF,MAAM,WAAW,EACf,UACA,SACA,cACA,cACA,QACA,SAAS,MACT,aACA,GAAG,YACe;CAClB,IAAI;CACJ,IAAI;CACJ,IAAI,aAAa;CAEjB,MAAM,iBAAiB,SAAS,QAAQ,SAAS,CAAC,QAAQ,UAAU;AAClE,MAAI,eAAe,MAAM,CACvB,SAAQ,MAAM,MAAd;GACE,KAAK,iBAAiB;AACpB,kBAAc;AACd,WAAO;GACT,KAAK;GACL,KAAK,iBAAiB;AACpB,kBAAc;AACd;GACF,KAAK,iBAAiB;AAEpB,iBAAa;AACb,WAAO;;AAIb,SAAO;GACP;CAEF,MAAM,UAAU,eAAe,oBAAC,aAAD;EAAa,GAAI;YAAe;EAA6B,CAAA;AAE5F,QACE,qBAAC,iBAAiB,MAAlB;EAAuB,GAAI;YAA3B;GACG,eACE,WACC,oBAAC,gBAAD;IAAgB,SAAA;IAAQ,GAAI;cACzB;IACc,CAAA;GAEpB;GACA,SAAS,oBAAC,eAAD;IAAe,GAAI;cAAc;IAAwB,CAAA,GAAG;GAChD;;;AAI5B,IAAA,kBAAe,OAAO,OAAO,SAAS;CACpC,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,MAAM;CACN,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Popover-BkDpDdaO.mjs","names":["Card"],"sources":["../components/Popover/Popover.tsx"],"sourcesContent":["import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport { Children, forwardRef, isValidElement, type ReactElement } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport Card from 'design-system/components/Card';\nimport { Paragraph } from 'design-system/components/Text';\n\nexport const PopoverTrigger = PopoverPrimitive.Trigger;\nexport const PopoverAnchor = PopoverPrimitive.Anchor;\nexport const PopoverPortal = PopoverPrimitive.Portal;\n\n// TODO: Investigate how we can get date popovers to work properly with the new date picker\nexport const PopoverContent = PopoverPrimitive.PopoverContent;\n\nconst PopoverContentStyled = styled(PopoverContent)<{ zIndex?: number; $maxHeight?: string }>`\n z-index: ${({ zIndex }) => zIndex || 'inherit'};\n ${({ $maxHeight }) =>\n $maxHeight &&\n css`\n max-height: ${$maxHeight};\n overflow: auto;\n `}\n`;\n\nconst PopoverCloseButton = styled(PopoverPrimitive.Close)<{ isHeader?: boolean }>`\n ${({ isHeader }) =>\n !isHeader &&\n css`\n position: absolute;\n top: 8px;\n right: 8px;\n `}\n ${({ isHeader }) =>\n isHeader &&\n css`\n height: 16px;\n `}\n background: transparent;\n border: 0;\n cursor: pointer;\n`;\n\nconst HeadingContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const PopoverClose = (\n props: PopoverPrimitive.PopoverCloseProps & { isHeader?: boolean },\n) => {\n return (\n <PopoverCloseButton {...props}>\n <XIcon />\n </PopoverCloseButton>\n );\n};\n\nexport interface PopoverCardProps extends PopoverPrimitive.PopoverContentProps {\n /**\n * Display X button to close popover\n */\n showCloseButton?: boolean;\n\n /**\n * Remove padding from Card\n */\n noPadding?: boolean;\n\n padding?: Spacing;\n\n /**\n * Text to display in the header of the card\n */\n heading?: string;\n\n /**\n * Z-index to apply to the popover content\n */\n zIndex?: number;\n\n /**\n * Maximum height for the popover content.\n */\n maxHeight?: string;\n}\n\n/**\n * Card to be used in Popover contexts. Inherits props from Radix UI Popper.Content.\n */\nexport const PopoverCard = forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n PopoverCardProps\n>(function PopoverCard(\n { children, showCloseButton, heading, noPadding, padding, zIndex, maxHeight, ...props },\n ref,\n) {\n const header = heading && (\n <HeadingContainer>\n <Paragraph size='md' weight='bold' color='primary'>\n {heading}\n </Paragraph>\n {showCloseButton && <PopoverClose aria-label='Close' isHeader />}\n </HeadingContainer>\n );\n return (\n <PopoverContentStyled\n asChild\n sideOffset={8}\n collisionPadding={8}\n zIndex={zIndex}\n $maxHeight={maxHeight}\n {...props}\n ref={ref}\n >\n <Card elevated>\n {!heading && showCloseButton && <PopoverClose aria-label='Close' />}\n {noPadding ? (\n <>\n {heading && header}\n {children}\n </>\n ) : (\n <Card.Body padding={padding}>\n {heading && header}\n {children}\n </Card.Body>\n )}\n </Card>\n </PopoverContentStyled>\n );\n});\n\ninterface PopoverProps extends PopoverPrimitive.PopoverProps {\n /**\n * Component to use as trigger. Radix UI trigger component props will be merged with this element.\n */\n trigger?: ReactElement;\n\n /**\n * Props to apply to Popover.Trigger within\n */\n triggerProps?: PopoverPrimitive.PopoverTriggerProps;\n\n /**\n * An optional element to position the Popover.Content against.\n * If this part is not used, the content will position alongside the trigger.\n */\n anchor?: ReactElement<PopoverPrimitive.PopoverAnchorProps>;\n\n /**\n * Props to apply to Popover.Card within\n */\n contentProps?: PopoverCardProps;\n\n /**\n * Render content within a portal\n */\n portal?: boolean;\n\n /**\n * Props applied to Radix UI Portal component\n */\n portalProps?: PopoverPrimitive.PopoverPortalProps;\n}\n\nconst Popover = ({\n children,\n trigger,\n triggerProps,\n contentProps,\n anchor,\n portal = true,\n portalProps,\n ...props\n}: PopoverProps) => {\n let triggerElem;\n let contentElem;\n let anchorElem = anchor;\n\n const renderChildren = Children.toArray(children).filter((child) => {\n if (isValidElement(child)) {\n switch (child.type) {\n case PopoverPrimitive.Trigger:\n triggerElem = child;\n return false;\n case PopoverCard:\n case PopoverPrimitive.Content:\n contentElem = child;\n break;\n case PopoverPrimitive.Anchor:\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n anchorElem = child;\n return false;\n }\n }\n\n return true;\n });\n\n const content = contentElem || <PopoverCard {...contentProps}>{renderChildren}</PopoverCard>;\n\n return (\n <PopoverPrimitive.Root {...props}>\n {triggerElem ||\n (trigger && (\n <PopoverTrigger asChild {...triggerProps}>\n {trigger}\n </PopoverTrigger>\n ))}\n {anchorElem}\n {portal ? <PopoverPortal {...portalProps}>{content}</PopoverPortal> : content}\n </PopoverPrimitive.Root>\n );\n};\n\nexport default Object.assign(Popover, {\n Trigger: PopoverTrigger,\n Anchor: PopoverAnchor,\n Portal: PopoverPortal,\n Content: PopoverContent,\n Card: PopoverCard,\n Close: PopoverClose,\n});\n"],"mappings":";;;;;;;;AASA,MAAa,iBAAiB,iBAAiB;AAC/C,MAAa,gBAAgB,iBAAiB;AAC9C,MAAa,gBAAgB,iBAAiB;AAG9C,MAAa,iBAAiB,iBAAiB;AAE/C,MAAM,uBAAuB,OAAO,eAAe;cACrC,EAAE,aAAa,UAAU,UAAU;KAC5C,EAAE,iBACH,cACA,GAAG;oBACa,WAAW;;MAEzB;;AAGN,MAAM,qBAAqB,OAAO,iBAAiB,MAAM;KACpD,EAAE,eACH,CAAC,YACD,GAAG;;;;MAID;KACD,EAAE,eACH,YACA,GAAG;;MAED;;;;;AAMN,MAAM,mBAAmB,OAAO,GAAG;;;;;AAMnC,MAAa,gBACX,UACG;AACH,QACE,oBAAC,oBAAD;EAAoB,GAAI;YACtB,oBAAC,OAAD,EAAS,CAAA;EACU,CAAA;;;;;AAoCzB,MAAa,cAAc,WAGzB,SAAS,YACT,EAAE,UAAU,iBAAiB,SAAS,WAAW,SAAS,QAAQ,WAAW,GAAG,SAChF,KACA;CACA,MAAM,SAAS,WACb,qBAAC,kBAAD,EAAA,UAAA,CACE,oBAAC,WAAD;EAAW,MAAK;EAAK,QAAO;EAAO,OAAM;YACtC;EACS,CAAA,EACX,mBAAmB,oBAAC,cAAD;EAAc,cAAW;EAAQ,UAAA;EAAW,CAAA,CAC/C,EAAA,CAAA;AAErB,QACE,oBAAC,sBAAD;EACE,SAAA;EACA,YAAY;EACZ,kBAAkB;EACV;EACR,YAAY;EACZ,GAAI;EACC;YAEL,qBAACA,cAAD;GAAM,UAAA;aAAN,CACG,CAAC,WAAW,mBAAmB,oBAAC,cAAD,EAAc,cAAW,SAAU,CAAA,EAClE,YACC,qBAAA,UAAA,EAAA,UAAA,CACG,WAAW,QACX,SACA,EAAA,CAAA,GAEH,qBAACA,aAAK,MAAN;IAAoB;cAApB,CACG,WAAW,QACX,SACS;MAET;;EACc,CAAA;EAEzB;AAmCF,MAAM,WAAW,EACf,UACA,SACA,cACA,cACA,QACA,SAAS,MACT,aACA,GAAG,YACe;CAClB,IAAI;CACJ,IAAI;CACJ,IAAI,aAAa;CAEjB,MAAM,iBAAiB,SAAS,QAAQ,SAAS,CAAC,QAAQ,UAAU;AAClE,MAAI,eAAe,MAAM,CACvB,SAAQ,MAAM,MAAd;GACE,KAAK,iBAAiB;AACpB,kBAAc;AACd,WAAO;GACT,KAAK;GACL,KAAK,iBAAiB;AACpB,kBAAc;AACd;GACF,KAAK,iBAAiB;AAEpB,iBAAa;AACb,WAAO;;AAIb,SAAO;GACP;CAEF,MAAM,UAAU,eAAe,oBAAC,aAAD;EAAa,GAAI;YAAe;EAA6B,CAAA;AAE5F,QACE,qBAAC,iBAAiB,MAAlB;EAAuB,GAAI;YAA3B;GACG,eACE,WACC,oBAAC,gBAAD;IAAgB,SAAA;IAAQ,GAAI;cACzB;IACc,CAAA;GAEpB;GACA,SAAS,oBAAC,eAAD;IAAe,GAAI;cAAc;IAAwB,CAAA,GAAG;GAChD;;;AAI5B,IAAA,kBAAe,OAAO,OAAO,SAAS;CACpC,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,MAAM;CACN,OAAO;CACR,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Spacing } from "@persona/design-tokens";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
3
  import * as _$react from "react";
3
4
  import { ReactElement } from "react";
4
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
  import * as PopoverPrimitive from "@radix-ui/react-popover";
6
6
 
7
7
  //#region components/Popover/Popover.d.ts
@@ -1,6 +1,6 @@
1
1
  import { Color } from "@persona/design-tokens";
2
- import { ComponentPropsWithoutRef } from "react";
3
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { ComponentPropsWithoutRef } from "react";
4
4
 
5
5
  //#region components/ProgressBar/ProgressBar.d.ts
6
6
  type ProgressBarStatus = 'default' | 'exception' | 'success';
@@ -1,5 +1,5 @@
1
- import { ComponentPropsWithoutRef } from "react";
2
1
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+ import { ComponentPropsWithoutRef } from "react";
3
3
 
4
4
  //#region components/ProgressIndicator/ProgressIndicator.d.ts
5
5
  type StepStatus = 'uncompleted' | 'completed' | 'error';
@@ -4,9 +4,9 @@ import "./variables/transitions.mjs";
4
4
  import { n as useFormField } from "./useFormField-eftOPiXj.mjs";
5
5
  import { Color, Spacing, Typography } from "@persona/design-tokens";
6
6
  import styled, { css } from "styled-components";
7
- import { forwardRef, useMemo } from "react";
8
7
  import { jsx, jsxs } from "react/jsx-runtime";
9
- import { uniqueId } from "lodash";
8
+ import { forwardRef, useMemo } from "react";
9
+ import { uniqueId } from "lodash-es";
10
10
  //#region components/Radio/Radio.tsx
11
11
  const Container = styled.div`
12
12
  cursor: pointer;
@@ -144,4 +144,4 @@ const Radio = forwardRef(function Radio({ id, label, className, value, disabled,
144
144
  //#endregion
145
145
  export { Radio as t };
146
146
 
147
- //# sourceMappingURL=Radio-CtPz3EzX.mjs.map
147
+ //# sourceMappingURL=Radio-BaFutxgV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio-BaFutxgV.mjs","names":[],"sources":["../components/Radio/Radio.tsx"],"sourcesContent":["import { uniqueId } from 'lodash-es';\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactNode,\n useMemo,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport {\n isChecked,\n isDisabled,\n isFocusedVisible,\n isHovered,\n isNotDisabled,\n} from 'design-system/lib/pseudoClass';\nimport { focusStyle } from 'design-system/mixins/focus';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\nconst Container = styled.div<{ size: 'md' | 'sm'; disabled?: boolean }>`\n cursor: pointer;\n display: flex;\n align-items: flex-start;\n flex-wrap: nowrap;\n position: relative;\n\n ${({ size }) =>\n size === 'sm' &&\n css`\n align-items: center;\n height: 16px;\n `}\n\n &${isDisabled} {\n cursor: default;\n }\n`;\n\nconst Label = styled.label<{ disabled: boolean; size: 'md' | 'sm' }>`\n cursor: inherit;\n padding: 0 ${Spacing[2]};\n color: ${Color.TextSecondary};\n\n ${({ size }) =>\n size === 'sm'\n ? css`\n ${Typography.TextSmall};\n line-height: 16px;\n `\n : css`\n ${Typography.TextMedium};\n `}\n\n ${({ theme, disabled }) =>\n disabled &&\n css`\n cursor: default;\n color: ${theme.color.text.disabled};\n `}\n`;\n\nconst RadioCircle = styled.div<{ size: 'md' | 'sm' }>`\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: box-shadow ${TransitionDuration.Fast};\n border-radius: 100%;\n height: ${Spacing[4]};\n width: ${Spacing[4]};\n flex: 0 0 16px;\n box-sizing: border-box;\n margin-top: ${({ size }) => (size === 'sm' ? 0 : '2px')};\n border: 1px solid ${Color.BorderInputCheckbox};\n background: ${Color.PrimaryWhite};\n`;\n\nconst RadioInput = styled.input<{ $size: 'md' | 'sm' }>`\n cursor: inherit;\n height: ${Spacing[4]};\n width: ${Spacing[4]};\n margin: 0;\n border: 0;\n opacity: 0;\n overflow: hidden;\n position: absolute;\n top: ${({ $size }) => ($size === 'sm' ? 0 : '2px')};\n border-radius: 100%;\n z-index: 10; // this needs to be above the dot in the checked input\n\n &${isHovered}${isNotDisabled} ~ ${RadioCircle} {\n border-color: ${Color.BorderInputCheckboxHover};\n }\n\n &${isChecked}, &:checked {\n &${isHovered}${isNotDisabled} ~ ${RadioCircle} {\n background: ${Color.BackgroundInputActiveHover};\n border-color: ${Color.BackgroundInputActiveHover};\n }\n }\n\n &${isFocusedVisible}${isNotDisabled} ~ ${RadioCircle} {\n ${focusStyle}\n }\n\n // RadioCircle state styles; Uses pure CSS\n &${isDisabled} + ${RadioCircle} {\n cursor: default;\n background: ${Color.BackgroundInputDisabled};\n border-color: ${Color.BorderInputDisabled};\n }\n\n &:checked + ${RadioCircle}, &${isChecked} + ${RadioCircle} {\n border-color: ${Color.BackgroundInputActive};\n background: ${Color.BackgroundInputActive};\n\n &::after {\n background: ${Color.BackgroundInputDefault};\n height: 6px;\n width: 6px;\n border-radius: 100%;\n content: '';\n position: absolute;\n }\n }\n\n &:checked${isDisabled} + ${RadioCircle}, &${isChecked}${isDisabled} + ${RadioCircle} {\n border-color: ${Color.BackgroundInputActiveDisabled};\n background: ${Color.BackgroundInputActiveDisabled};\n }\n`;\n\nexport interface RadioProps extends Omit<ComponentPropsWithoutRef<'input'>, 'size'> {\n /**\n * If not provided, a unique ID will be generated.\n */\n id?: string;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n label?: ReactNode;\n disabled?: boolean;\n checked?: boolean;\n value: string;\n 'data-test'?: string;\n size?: 'md' | 'sm';\n}\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(function Radio(\n {\n id,\n label,\n className,\n value,\n disabled,\n checked,\n defaultChecked,\n onChange,\n 'data-test': dataTest,\n size = 'md',\n ...elemProps\n },\n ref,\n) {\n const field = useFormField({ disabled });\n const generatedId = useMemo(() => uniqueId('pds_radio__'), []);\n\n return (\n <Container className={className} disabled={disabled} data-test={dataTest} size={size}>\n <RadioInput\n id={id || generatedId}\n disabled={field.disabled}\n onChange={onChange}\n type='radio'\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n ref={ref}\n $size={size}\n {...elemProps}\n />\n <RadioCircle size={size} />\n {label && (\n <Label htmlFor={id || generatedId} disabled={disabled ?? false} size={size}>\n {label}\n </Label>\n )}\n </Container>\n );\n});\n\nexport default Radio;\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,YAAY,OAAO,GAA8C;;;;;;;KAOlE,EAAE,WACH,SAAS,QACT,GAAG;;;MAGD;;KAED,WAAW;;;;AAKhB,MAAM,QAAQ,OAAO,KAA+C;;eAErD,QAAQ,GAAG;WACf,MAAM,cAAc;;KAE1B,EAAE,WACH,SAAS,OACL,GAAG;YACC,WAAW,UAAU;;YAGzB,GAAG;YACC,WAAW,WAAW;UACxB;;KAEL,EAAE,OAAO,eACV,YACA,GAAG;;eAEQ,MAAM,MAAM,KAAK,SAAS;MACnC;;AAGN,MAAM,cAAc,OAAO,GAA0B;;;;;mCAKF;;YAEvC,QAAQ,GAAG;WACZ,QAAQ,GAAG;;;iBAGL,EAAE,WAAY,SAAS,OAAO,IAAI,MAAO;sBACpC,MAAM,oBAAoB;gBAChC,MAAM,aAAa;;AAGnC,MAAM,aAAa,OAAO,KAA6B;;YAE3C,QAAQ,GAAG;WACZ,QAAQ,GAAG;;;;;;UAMZ,EAAE,YAAa,UAAU,OAAO,IAAI,MAAO;;;;KAIhD,YAAY,cAAc,KAAK,YAAY;oBAC5B,MAAM,yBAAyB;;;KAG9C,UAAU;OACR,YAAY,cAAc,KAAK,YAAY;oBAC9B,MAAM,2BAA2B;sBAC/B,MAAM,2BAA2B;;;;KAIlD,mBAAmB,cAAc,KAAK,YAAY;MACjD,WAAW;;;;KAIZ,WAAW,KAAK,YAAY;;kBAEf,MAAM,wBAAwB;oBAC5B,MAAM,oBAAoB;;;gBAG9B,YAAY,KAAK,UAAU,KAAK,YAAY;oBACxC,MAAM,sBAAsB;kBAC9B,MAAM,sBAAsB;;;oBAG1B,MAAM,uBAAuB;;;;;;;;;aASpC,WAAW,KAAK,YAAY,KAAK,YAAY,WAAW,KAAK,YAAY;oBAClE,MAAM,8BAA8B;kBACtC,MAAM,8BAA8B;;;AAkBtD,MAAa,QAAQ,WAAyC,SAAS,MACrE,EACE,IACA,OACA,WACA,OACA,UACA,SACA,gBACA,UACA,aAAa,UACb,OAAO,MACP,GAAG,aAEL,KACA;CACA,MAAM,QAAQ,aAAa,EAAE,UAAU,CAAC;CACxC,MAAM,cAAc,cAAc,SAAS,cAAc,EAAE,EAAE,CAAC;AAE9D,QACE,qBAAC,WAAD;EAAsB;EAAqB;EAAU,aAAW;EAAgB;YAAhF;GACE,oBAAC,YAAD;IACE,IAAI,MAAM;IACV,UAAU,MAAM;IACN;IACV,MAAK;IACE;IACE;IACO;IACX;IACL,OAAO;IACP,GAAI;IACJ,CAAA;GACF,oBAAC,aAAD,EAAmB,MAAQ,CAAA;GAC1B,SACC,oBAAC,OAAD;IAAO,SAAS,MAAM;IAAa,UAAU,YAAY;IAAa;cACnE;IACK,CAAA;GAEA;;EAEd"}
@@ -18,4 +18,4 @@ interface RadioGroupProps extends ComponentPropsWithoutRef<'div'> {
18
18
  declare const RadioGroup: VFC<RadioGroupProps>;
19
19
  //#endregion
20
20
  export { RadioGroupProps as n, RadioGroup as t };
21
- //# sourceMappingURL=RadioGroup-Xn46ovrV.d.mts.map
21
+ //# sourceMappingURL=RadioGroup-BuJaitgG.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import useControlled from "./lib/useControlled.mjs";
2
- import { t as Radio } from "./Radio-CtPz3EzX.mjs";
2
+ import { t as Radio } from "./Radio-BaFutxgV.mjs";
3
3
  import { Spacing } from "@persona/design-tokens";
4
4
  import styled, { css } from "styled-components";
5
- import { Children, cloneElement } from "react";
6
5
  import { jsx } from "react/jsx-runtime";
6
+ import { Children, cloneElement } from "react";
7
7
  //#region components/RadioGroup/RadioGroup.tsx
8
8
  const Container = styled.div`
9
9
  & > div {
@@ -47,4 +47,4 @@ const RadioGroup = ({ children, defaultValue, name, value: valueProp, onChange,
47
47
  //#endregion
48
48
  export { RadioGroup as t };
49
49
 
50
- //# sourceMappingURL=RadioGroup-sjBzFE_-.mjs.map
50
+ //# sourceMappingURL=RadioGroup-ClMzOZl0.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup-sjBzFE_-.mjs","names":[],"sources":["../components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n Children,\n cloneElement,\n type ComponentPropsWithoutRef,\n type ReactElement,\n type VFC,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport Radio, { type RadioProps } from 'design-system/components/Radio';\nimport useControlled from 'design-system/lib/useControlled';\n\nconst Container = styled.div<{ size: 'md' | 'sm'; horizontal?: boolean }>`\n & > div {\n margin-bottom: ${Spacing[2]};\n }\n\n ${({ horizontal }) =>\n horizontal &&\n css`\n display: flex;\n align-items: center;\n & > div {\n margin-right: ${Spacing[2]};\n }\n `}\n`;\n\nexport interface RadioGroupProps extends ComponentPropsWithoutRef<'div'> {\n defaultValue?: any;\n name?: string;\n value?: any;\n onChange?: (value: any) => void;\n /**\n * Direction of radio group\n */\n horizontal?: boolean;\n /**\n * Size of radio buttons within the group\n */\n size?: 'md' | 'sm';\n}\n\nexport const RadioGroup: VFC<RadioGroupProps> = ({\n children,\n defaultValue,\n name,\n value: valueProp,\n onChange,\n horizontal = false,\n size = 'md',\n ...elemProps\n}) => {\n const [value, setValue] = useControlled({\n controlledValue: valueProp,\n default: defaultValue,\n });\n\n return (\n <Container role='radiogroup' horizontal={horizontal} size={size} {...elemProps}>\n {/* @ts-expect-error [strict-migration] The following line is not strict; please fix! */}\n {Children.map(children, (child: ReactElement<RadioProps>) => {\n if (child?.type === Radio && (typeof valueProp !== 'undefined' || onChange)) {\n return cloneElement(child, {\n name,\n size,\n checked: child.props.value === value,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n const newVal = e.target.value;\n if (typeof valueProp !== 'undefined' && onChange) {\n onChange(newVal);\n } else {\n setValue(newVal);\n }\n },\n });\n }\n\n if (name) {\n return cloneElement(child, { name });\n }\n\n return child;\n })}\n </Container>\n );\n};\n\nexport default RadioGroup;\n"],"mappings":";;;;;;;AAcA,MAAM,YAAY,OAAO,GAAgD;;qBAEpD,QAAQ,GAAG;;;KAG3B,EAAE,iBACH,cACA,GAAG;;;;wBAIiB,QAAQ,GAAG;;MAE7B;;AAkBN,MAAa,cAAoC,EAC/C,UACA,cACA,MACA,OAAO,WACP,UACA,aAAa,OACb,OAAO,MACP,GAAG,gBACC;CACJ,MAAM,CAAC,OAAO,YAAY,cAAc;EACtC,iBAAiB;EACjB,SAAS;EACV,CAAC;AAEF,QACE,oBAAC,WAAD;EAAW,MAAK;EAAyB;EAAkB;EAAM,GAAI;YAElE,SAAS,IAAI,WAAW,UAAoC;AAC3D,OAAI,OAAO,SAAS,UAAU,OAAO,cAAc,eAAe,UAChE,QAAO,aAAa,OAAO;IACzB;IACA;IACA,SAAS,MAAM,MAAM,UAAU;IAC/B,WAAW,MAAqC;KAC9C,MAAM,SAAS,EAAE,OAAO;AACxB,SAAI,OAAO,cAAc,eAAe,SACtC,UAAS,OAAO;SAEhB,UAAS,OAAO;;IAGrB,CAAC;AAGJ,OAAI,KACF,QAAO,aAAa,OAAO,EAAE,MAAM,CAAC;AAGtC,UAAO;IACP;EACQ,CAAA"}
1
+ {"version":3,"file":"RadioGroup-ClMzOZl0.mjs","names":[],"sources":["../components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import {\n type ChangeEvent,\n Children,\n cloneElement,\n type ComponentPropsWithoutRef,\n type ReactElement,\n type VFC,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport Radio, { type RadioProps } from 'design-system/components/Radio';\nimport useControlled from 'design-system/lib/useControlled';\n\nconst Container = styled.div<{ size: 'md' | 'sm'; horizontal?: boolean }>`\n & > div {\n margin-bottom: ${Spacing[2]};\n }\n\n ${({ horizontal }) =>\n horizontal &&\n css`\n display: flex;\n align-items: center;\n & > div {\n margin-right: ${Spacing[2]};\n }\n `}\n`;\n\nexport interface RadioGroupProps extends ComponentPropsWithoutRef<'div'> {\n defaultValue?: any;\n name?: string;\n value?: any;\n onChange?: (value: any) => void;\n /**\n * Direction of radio group\n */\n horizontal?: boolean;\n /**\n * Size of radio buttons within the group\n */\n size?: 'md' | 'sm';\n}\n\nexport const RadioGroup: VFC<RadioGroupProps> = ({\n children,\n defaultValue,\n name,\n value: valueProp,\n onChange,\n horizontal = false,\n size = 'md',\n ...elemProps\n}) => {\n const [value, setValue] = useControlled({\n controlledValue: valueProp,\n default: defaultValue,\n });\n\n return (\n <Container role='radiogroup' horizontal={horizontal} size={size} {...elemProps}>\n {/* @ts-expect-error [strict-migration] The following line is not strict; please fix! */}\n {Children.map(children, (child: ReactElement<RadioProps>) => {\n if (child?.type === Radio && (typeof valueProp !== 'undefined' || onChange)) {\n return cloneElement(child, {\n name,\n size,\n checked: child.props.value === value,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n const newVal = e.target.value;\n if (typeof valueProp !== 'undefined' && onChange) {\n onChange(newVal);\n } else {\n setValue(newVal);\n }\n },\n });\n }\n\n if (name) {\n return cloneElement(child, { name });\n }\n\n return child;\n })}\n </Container>\n );\n};\n\nexport default RadioGroup;\n"],"mappings":";;;;;;;AAcA,MAAM,YAAY,OAAO,GAAgD;;qBAEpD,QAAQ,GAAG;;;KAG3B,EAAE,iBACH,cACA,GAAG;;;;wBAIiB,QAAQ,GAAG;;MAE7B;;AAkBN,MAAa,cAAoC,EAC/C,UACA,cACA,MACA,OAAO,WACP,UACA,aAAa,OACb,OAAO,MACP,GAAG,gBACC;CACJ,MAAM,CAAC,OAAO,YAAY,cAAc;EACtC,iBAAiB;EACjB,SAAS;EACV,CAAC;AAEF,QACE,oBAAC,WAAD;EAAW,MAAK;EAAyB;EAAkB;EAAM,GAAI;YAElE,SAAS,IAAI,WAAW,UAAoC;AAC3D,OAAI,OAAO,SAAS,UAAU,OAAO,cAAc,eAAe,UAChE,QAAO,aAAa,OAAO;IACzB;IACA;IACA,SAAS,MAAM,MAAM,UAAU;IAC/B,WAAW,MAAqC;KAC9C,MAAM,SAAS,EAAE,OAAO;AACxB,SAAI,OAAO,cAAc,eAAe,SACtC,UAAS,OAAO;SAEhB,UAAS,OAAO;;IAGrB,CAAC;AAGJ,OAAI,KACF,QAAO,aAAa,OAAO,EAAE,MAAM,CAAC;AAGtC,UAAO;IACP;EACQ,CAAA"}
@@ -1,2 +1,2 @@
1
- import { n as RadioGroupProps, t as RadioGroup } from "./RadioGroup-Xn46ovrV.mjs";
1
+ import { n as RadioGroupProps, t as RadioGroup } from "./RadioGroup-BuJaitgG.mjs";
2
2
  export { RadioGroup, RadioGroup as default, RadioGroupProps };
@@ -1,5 +1,5 @@
1
- import { Ref } from "react";
2
1
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+ import { Ref } from "react";
3
3
  import { DateRange, RangeCalendarProps as RangeCalendarProps$1 } from "react-aria";
4
4
  import { CalendarDate, DateValue as DateValue$1 } from "@internationalized/date";
5
5
 
@@ -1,5 +1,5 @@
1
- import * as _$react from "react";
2
1
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as _$react from "react";
3
3
  import { RangeCalendarState } from "react-stately";
4
4
  import { CalendarDate } from "@internationalized/date";
5
5
  import { RangeValue } from "@react-types/shared";
@@ -1,7 +1,7 @@
1
- import { a as FilterField, c as FilterOperator, d as FilterSize, l as FilterRule, u as FilterRuleValue } from "./types-mb3woqzE.mjs";
2
- import { t as FieldRegistry } from "./FieldRegistry-COyIA4VU.mjs";
3
- import { ReactNode } from "react";
1
+ import { a as FilterField, c as FilterOperator, d as FilterSize, l as FilterRule, u as FilterRuleValue } from "./types-C-TkDdkG.mjs";
2
+ import { t as FieldRegistry } from "./FieldRegistry-DdA63Vnh.mjs";
4
3
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+ import { ReactNode } from "react";
5
5
 
6
6
  //#region components/DataTable/TableControls/FiltersV2/AdvancedFilterRulesPopover/RuleEditorFields.d.ts
7
7
  interface RuleEditorFieldsProps {
@@ -1,4 +1,4 @@
1
- import { d as FilterSize, n as CompoundExpression } from "./types-mb3woqzE.mjs";
1
+ import { d as FilterSize, n as CompoundExpression } from "./types-C-TkDdkG.mjs";
2
2
  import * as _$react from "react";
3
3
  import { HTMLAttributes } from "react";
4
4
 
@@ -1,6 +1,6 @@
1
- import { n as InputSizes } from "./input-D3Qd6dI8.mjs";
2
- import { FocusEventHandler, ReactNode } from "react";
1
+ import { n as InputSizes } from "./input-CzO-6_1V.mjs";
3
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { FocusEventHandler, ReactNode } from "react";
4
4
 
5
5
  //#region components/DataTable/SearchInput/SearchInput.d.ts
6
6
  interface OmniSearchProps {
@@ -50,4 +50,4 @@ declare const SearchInput: ({
50
50
  }: OmniSearchProps) => _$react_jsx_runtime0.JSX.Element;
51
51
  //#endregion
52
52
  export { SearchInput as n, OmniSearchProps as t };
53
- //# sourceMappingURL=SearchInput-Try11aJD.d.mts.map
53
+ //# sourceMappingURL=SearchInput-Ca3_np5e.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as SearchInput, t as OmniSearchProps } from "./SearchInput-Try11aJD.mjs";
1
+ import { n as SearchInput, t as OmniSearchProps } from "./SearchInput-Ca3_np5e.mjs";
2
2
  export { OmniSearchProps, SearchInput as default };
@@ -1,4 +1,4 @@
1
- import { t as SectionHeading } from "./SectionHeading-DvP9NEgN.mjs";
1
+ import { SectionHeading } from "./SectionHeading.mjs";
2
2
  import { ComponentProps, FC, ReactNode } from "react";
3
3
 
4
4
  //#region components/CardV2/Section.d.ts
@@ -1,2 +1,77 @@
1
- import { t as SectionHeading } from "./SectionHeading-DvP9NEgN.mjs";
2
- export { SectionHeading };
1
+ import { i as TextAction, n as IconAction, r as MenuAction } from "./Action-CnNf5T-l.mjs";
2
+ import { ComponentPropsWithoutRef, FC, ReactElement, ReactNode } from "react";
3
+
4
+ //#region components/CardV2/SectionHeading.d.ts
5
+ /**
6
+ * Distance from the top of a card to the underside of an expanded top-section heading: the
7
+ * `Spacing[4]` padding above and below a 24px title line, plus the divider. Sticky content inside
8
+ * the card pins here so the heading's divider stays the only line between them.
9
+ */
10
+ declare const CARD_HEADING_STICKY_OFFSET: string;
11
+ /**
12
+ * Private component for rendering the heading of a section, both the primary card heading and
13
+ * section headings.
14
+ */
15
+ declare const SectionHeading: FC<{
16
+ /**
17
+ * Whether this is the top-level section of the card which has different visual treatment.
18
+ */
19
+ isTopSection: boolean;
20
+ /**
21
+ * Whether this heading's section has content.
22
+ */
23
+ sectionHasContent: boolean;
24
+ /**
25
+ * Whether this heading's section has a footer.
26
+ */
27
+ hasFooter: boolean;
28
+ loading: boolean;
29
+ /**
30
+ * Title text to render in the heading.
31
+ */
32
+ title: string;
33
+ /**
34
+ * Optional sticker to render after the title.
35
+ */
36
+ sticker?: ReactElement;
37
+ /**
38
+ * Optional icon to render before the title text.
39
+ *
40
+ * Usage of this icon slot should be avoided if possible to maintain left-text alignement. If
41
+ * using this icon slot for a section heading use it for all sections.
42
+ */
43
+ leftDecorativeIcon?: ReactElement;
44
+ /**
45
+ * Optional actions to render in the heading.
46
+ * Only accepts IconButton or Button components with specific prop restrictions.
47
+ */
48
+ actions?: (IconAction | TextAction | undefined)[];
49
+ /**
50
+ * Optional actions to render in the heading in a menu.
51
+ */
52
+ menuActions?: (MenuAction | undefined)[];
53
+ /**
54
+ * Optional custom content to render in the heading in the button row. Prefer setting `actions` or
55
+ * `menuActions` if possible.
56
+ */
57
+ headerActionsRowContent?: ReactNode;
58
+ /**
59
+ * Callback to toggle collapsed state of the section. Omit to disable collapsing.
60
+ */
61
+ toggle?: () => void;
62
+ /**
63
+ * Whether the section is currently expanded or collapsed.
64
+ */
65
+ isExpanded: boolean;
66
+ /**
67
+ * Optional props to pass to the heading element. Accepts an `as` key to override the
68
+ * rendered heading level. Defaults to `h2` for the top-level card heading and `h3` for
69
+ * section headings so that the document heading hierarchy reflects the visual hierarchy.
70
+ */
71
+ headingProps?: Omit<ComponentPropsWithoutRef<'span'>, 'color'> & {
72
+ as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
73
+ };
74
+ }>;
75
+ //#endregion
76
+ export { CARD_HEADING_STICKY_OFFSET, SectionHeading };
77
+ //# sourceMappingURL=SectionHeading.d.mts.map
@@ -2,9 +2,9 @@ import { paragraphMixins } from "./mixins/text.mjs";
2
2
  import { n as useFormField } from "./useFormField-eftOPiXj.mjs";
3
3
  import { BorderRadius, Spacing } from "@persona/design-tokens";
4
4
  import styled from "styled-components";
5
- import { createContext, forwardRef, useContext } from "react";
6
- import { ToggleButton, ToggleButtonGroup } from "react-aria-components";
7
5
  import { jsx } from "react/jsx-runtime";
6
+ import { ToggleButton, ToggleButtonGroup } from "react-aria-components";
7
+ import { createContext, forwardRef, useContext } from "react";
8
8
  //#region components/SegmentedControl/SegmentedControl.tsx
9
9
  const SegmentedControlSizeContext = createContext("md");
10
10
  const StyledSegmentedControl = styled(ToggleButtonGroup)`
@@ -109,4 +109,4 @@ const SegmentedControlItem = forwardRef(function SegmentedControlItem({ disabled
109
109
  //#endregion
110
110
  export { SegmentedControlItem as n, SegmentedControl as t };
111
111
 
112
- //# sourceMappingURL=SegmentedControl-BugnH-h2.mjs.map
112
+ //# sourceMappingURL=SegmentedControl-DgyJL4uN.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl-BugnH-h2.mjs","names":[],"sources":["../components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import { createContext, forwardRef, type Key, type ReactNode, useContext } from 'react';\nimport { ToggleButton, ToggleButtonGroup, type ToggleButtonProps } from 'react-aria-components';\nimport styled from 'styled-components';\n\nimport { BorderRadius, Spacing } from '@persona/design-tokens';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst SegmentedControlSizeContext = createContext<'sm' | 'md'>('md');\n\nexport interface SegmentedControlProps {\n id?: string;\n className?: string;\n\n /**\n * Current selected key (controlled)\n */\n selectedKey?: Key;\n\n /**\n * Default selected key (uncontrolled)\n */\n defaultSelectedKey?: Key;\n\n /**\n * Callback when selection changes\n */\n onSelectionChange?: (key: Key) => void;\n\n /**\n * Whether the entire component is disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the component should take full width\n */\n fullWidth?: boolean;\n\n /**\n * Size of the segmented control\n */\n size?: 'sm' | 'md';\n\n /**\n * Accessible label for the group\n */\n 'aria-label'?: string;\n\n /**\n * Segment components\n */\n children: ReactNode;\n}\n\ninterface StyledSegmentedControlProps {\n id?: string;\n $fullWidth?: boolean;\n $size?: 'sm' | 'md';\n}\n\nconst StyledSegmentedControl = styled(ToggleButtonGroup)<StyledSegmentedControlProps>`\n display: inline-flex;\n background-color: ${({ theme }) => theme.color.variants.basic.default};\n border-radius: 5px;\n padding: 1px;\n width: ${({ $fullWidth }) => ($fullWidth ? '100%' : 'auto')};\n height: ${({ $size = 'md' }) => ($size === 'sm' ? '20px' : '24px')};\n`;\n\n/**\n * A segmented control component that allows users to select between multiple options.\n * Built with React Aria for accessibility and keyboard navigation.\n */\nexport const SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>(\n function SegmentedControl(\n {\n id,\n selectedKey,\n defaultSelectedKey,\n onSelectionChange,\n disabled,\n fullWidth = false,\n size = 'md',\n className,\n 'aria-label': ariaLabel,\n children,\n ...props\n },\n ref,\n ) {\n const field = useFormField({ inputId: id, disabled });\n\n return (\n <SegmentedControlSizeContext.Provider value={size}>\n <StyledSegmentedControl\n ref={ref}\n className={className}\n selectionMode='single'\n selectedKeys={selectedKey ? [selectedKey] : undefined}\n defaultSelectedKeys={defaultSelectedKey ? [defaultSelectedKey] : undefined}\n onSelectionChange={(keys) => {\n const key = Array.from(keys)[0];\n if (key && onSelectionChange) {\n onSelectionChange(key);\n }\n }}\n isDisabled={field.disabled}\n aria-label={ariaLabel}\n aria-labelledby={field.labelId}\n aria-describedby={field.helperTextId}\n aria-errormessage={field.hasError ? field.helperTextId : undefined}\n aria-invalid={field.hasError}\n $fullWidth={fullWidth}\n $size={size}\n {...props}\n id={field.inputId}\n >\n {children}\n </StyledSegmentedControl>\n </SegmentedControlSizeContext.Provider>\n );\n },\n);\n\nconst StyledSegment = styled(ToggleButton)<{ $size?: 'sm' | 'md' }>`\n ${paragraphMixins.sm};\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border: none;\n border-radius: ${BorderRadius.Md};\n color: ${({ theme }) => theme.color.text.secondary};\n cursor: pointer;\n flex: 1;\n line-height: 1;\n\n & * {\n cursor: inherit;\n }\n padding: 0 ${({ $size = 'md' }) => ($size === 'sm' ? Spacing[1] : Spacing[2])};\n position: relative;\n transition: all 0.15s ease-in-out;\n white-space: nowrap;\n\n /* Hover state */\n &[data-hovered] {\n background-color: ${({ theme }) => theme.color.variants.basic.hover};\n }\n\n /* Selected state */\n &[data-selected] {\n background-color: ${({ theme }) => theme.color.primary.white};\n box-shadow: inset 0 0 0 1px ${({ theme }) => theme.color.border.input};\n color: ${({ theme }) => theme.color.text.primary};\n }\n\n /* Disabled state */\n &[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n /* Remove focus outline unless we're using a keyboard */\n &[data-focused]:not([data-focus-visible]) {\n outline: none;\n }\n`;\n\nexport interface SegmentedControlItemProps extends Omit<\n ToggleButtonProps,\n 'isDisabled' | 'style' | 'isSelected' | 'defaultSelected'\n> {\n /**\n * Whether this control item is disabled\n */\n disabled?: boolean;\n}\n\n/**\n * A segment item component for use within SegmentedControl.\n */\nconst SegmentedControlItem = forwardRef<HTMLButtonElement, SegmentedControlItemProps>(\n function SegmentedControlItem({ disabled, children, ...props }, ref) {\n const size = useContext(SegmentedControlSizeContext);\n return (\n <StyledSegment ref={ref} isDisabled={disabled} $size={size} {...props}>\n {children}\n </StyledSegment>\n );\n },\n);\n\nexport default SegmentedControl;\nexport { SegmentedControlItem };\n"],"mappings":";;;;;;;;AAQA,MAAM,8BAA8B,cAA2B,KAAK;AAqDpE,MAAM,yBAAyB,OAAO,kBAAkB;;uBAEjC,EAAE,YAAY,MAAM,MAAM,SAAS,MAAM,QAAQ;;;YAG5D,EAAE,iBAAkB,aAAa,SAAS,OAAQ;aACjD,EAAE,QAAQ,WAAY,UAAU,OAAO,SAAS,OAAQ;;;;;;AAOrE,MAAa,mBAAmB,WAC9B,SAAS,iBACP,EACE,IACA,aACA,oBACA,mBACA,UACA,YAAY,OACZ,OAAO,MACP,WACA,cAAc,WACd,UACA,GAAG,SAEL,KACA;CACA,MAAM,QAAQ,aAAa;EAAE,SAAS;EAAI;EAAU,CAAC;AAErD,QACE,oBAAC,4BAA4B,UAA7B;EAAsC,OAAO;YAC3C,oBAAC,wBAAD;GACO;GACM;GACX,eAAc;GACd,cAAc,cAAc,CAAC,YAAY,GAAG,KAAA;GAC5C,qBAAqB,qBAAqB,CAAC,mBAAmB,GAAG,KAAA;GACjE,oBAAoB,SAAS;IAC3B,MAAM,MAAM,MAAM,KAAK,KAAK,CAAC;AAC7B,QAAI,OAAO,kBACT,mBAAkB,IAAI;;GAG1B,YAAY,MAAM;GAClB,cAAY;GACZ,mBAAiB,MAAM;GACvB,oBAAkB,MAAM;GACxB,qBAAmB,MAAM,WAAW,MAAM,eAAe,KAAA;GACzD,gBAAc,MAAM;GACpB,YAAY;GACZ,OAAO;GACP,GAAI;GACJ,IAAI,MAAM;GAET;GACsB,CAAA;EACY,CAAA;EAG5C;AAED,MAAM,gBAAgB,OAAO,aAAa;IACtC,gBAAgB,GAAG;;;;;;mBAMJ,aAAa,GAAG;YACvB,EAAE,YAAY,MAAM,MAAM,KAAK,UAAU;;;;;;;;gBAQrC,EAAE,QAAQ,WAAY,UAAU,OAAO,QAAQ,KAAK,QAAQ,GAAI;;;;;;;yBAOvD,EAAE,YAAY,MAAM,MAAM,SAAS,MAAM,MAAM;;;;;yBAK/C,EAAE,YAAY,MAAM,MAAM,QAAQ,MAAM;mCAC9B,EAAE,YAAY,MAAM,MAAM,OAAO,MAAM;cAC5D,EAAE,YAAY,MAAM,MAAM,KAAK,QAAQ;;;;;;;;;;;;;;;;;AA4BrD,MAAM,uBAAuB,WAC3B,SAAS,qBAAqB,EAAE,UAAU,UAAU,GAAG,SAAS,KAAK;AAEnE,QACE,oBAAC,eAAD;EAAoB;EAAK,YAAY;EAAU,OAFpC,WAAW,4BAEoC;EAAE,GAAI;EAC7D;EACa,CAAA;EAGrB"}
1
+ {"version":3,"file":"SegmentedControl-DgyJL4uN.mjs","names":[],"sources":["../components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import { createContext, forwardRef, type Key, type ReactNode, useContext } from 'react';\nimport { ToggleButton, ToggleButtonGroup, type ToggleButtonProps } from 'react-aria-components';\nimport styled from 'styled-components';\n\nimport { BorderRadius, Spacing } from '@persona/design-tokens';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst SegmentedControlSizeContext = createContext<'sm' | 'md'>('md');\n\nexport interface SegmentedControlProps {\n id?: string;\n className?: string;\n\n /**\n * Current selected key (controlled)\n */\n selectedKey?: Key;\n\n /**\n * Default selected key (uncontrolled)\n */\n defaultSelectedKey?: Key;\n\n /**\n * Callback when selection changes\n */\n onSelectionChange?: (key: Key) => void;\n\n /**\n * Whether the entire component is disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the component should take full width\n */\n fullWidth?: boolean;\n\n /**\n * Size of the segmented control\n */\n size?: 'sm' | 'md';\n\n /**\n * Accessible label for the group\n */\n 'aria-label'?: string;\n\n /**\n * Segment components\n */\n children: ReactNode;\n}\n\ninterface StyledSegmentedControlProps {\n id?: string;\n $fullWidth?: boolean;\n $size?: 'sm' | 'md';\n}\n\nconst StyledSegmentedControl = styled(ToggleButtonGroup)<StyledSegmentedControlProps>`\n display: inline-flex;\n background-color: ${({ theme }) => theme.color.variants.basic.default};\n border-radius: 5px;\n padding: 1px;\n width: ${({ $fullWidth }) => ($fullWidth ? '100%' : 'auto')};\n height: ${({ $size = 'md' }) => ($size === 'sm' ? '20px' : '24px')};\n`;\n\n/**\n * A segmented control component that allows users to select between multiple options.\n * Built with React Aria for accessibility and keyboard navigation.\n */\nexport const SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>(\n function SegmentedControl(\n {\n id,\n selectedKey,\n defaultSelectedKey,\n onSelectionChange,\n disabled,\n fullWidth = false,\n size = 'md',\n className,\n 'aria-label': ariaLabel,\n children,\n ...props\n },\n ref,\n ) {\n const field = useFormField({ inputId: id, disabled });\n\n return (\n <SegmentedControlSizeContext.Provider value={size}>\n <StyledSegmentedControl\n ref={ref}\n className={className}\n selectionMode='single'\n selectedKeys={selectedKey ? [selectedKey] : undefined}\n defaultSelectedKeys={defaultSelectedKey ? [defaultSelectedKey] : undefined}\n onSelectionChange={(keys) => {\n const key = Array.from(keys)[0];\n if (key && onSelectionChange) {\n onSelectionChange(key);\n }\n }}\n isDisabled={field.disabled}\n aria-label={ariaLabel}\n aria-labelledby={field.labelId}\n aria-describedby={field.helperTextId}\n aria-errormessage={field.hasError ? field.helperTextId : undefined}\n aria-invalid={field.hasError}\n $fullWidth={fullWidth}\n $size={size}\n {...props}\n id={field.inputId}\n >\n {children}\n </StyledSegmentedControl>\n </SegmentedControlSizeContext.Provider>\n );\n },\n);\n\nconst StyledSegment = styled(ToggleButton)<{ $size?: 'sm' | 'md' }>`\n ${paragraphMixins.sm};\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border: none;\n border-radius: ${BorderRadius.Md};\n color: ${({ theme }) => theme.color.text.secondary};\n cursor: pointer;\n flex: 1;\n line-height: 1;\n\n & * {\n cursor: inherit;\n }\n padding: 0 ${({ $size = 'md' }) => ($size === 'sm' ? Spacing[1] : Spacing[2])};\n position: relative;\n transition: all 0.15s ease-in-out;\n white-space: nowrap;\n\n /* Hover state */\n &[data-hovered] {\n background-color: ${({ theme }) => theme.color.variants.basic.hover};\n }\n\n /* Selected state */\n &[data-selected] {\n background-color: ${({ theme }) => theme.color.primary.white};\n box-shadow: inset 0 0 0 1px ${({ theme }) => theme.color.border.input};\n color: ${({ theme }) => theme.color.text.primary};\n }\n\n /* Disabled state */\n &[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n /* Remove focus outline unless we're using a keyboard */\n &[data-focused]:not([data-focus-visible]) {\n outline: none;\n }\n`;\n\nexport interface SegmentedControlItemProps extends Omit<\n ToggleButtonProps,\n 'isDisabled' | 'style' | 'isSelected' | 'defaultSelected'\n> {\n /**\n * Whether this control item is disabled\n */\n disabled?: boolean;\n}\n\n/**\n * A segment item component for use within SegmentedControl.\n */\nconst SegmentedControlItem = forwardRef<HTMLButtonElement, SegmentedControlItemProps>(\n function SegmentedControlItem({ disabled, children, ...props }, ref) {\n const size = useContext(SegmentedControlSizeContext);\n return (\n <StyledSegment ref={ref} isDisabled={disabled} $size={size} {...props}>\n {children}\n </StyledSegment>\n );\n },\n);\n\nexport default SegmentedControl;\nexport { SegmentedControlItem };\n"],"mappings":";;;;;;;;AAQA,MAAM,8BAA8B,cAA2B,KAAK;AAqDpE,MAAM,yBAAyB,OAAO,kBAAkB;;uBAEjC,EAAE,YAAY,MAAM,MAAM,SAAS,MAAM,QAAQ;;;YAG5D,EAAE,iBAAkB,aAAa,SAAS,OAAQ;aACjD,EAAE,QAAQ,WAAY,UAAU,OAAO,SAAS,OAAQ;;;;;;AAOrE,MAAa,mBAAmB,WAC9B,SAAS,iBACP,EACE,IACA,aACA,oBACA,mBACA,UACA,YAAY,OACZ,OAAO,MACP,WACA,cAAc,WACd,UACA,GAAG,SAEL,KACA;CACA,MAAM,QAAQ,aAAa;EAAE,SAAS;EAAI;EAAU,CAAC;AAErD,QACE,oBAAC,4BAA4B,UAA7B;EAAsC,OAAO;YAC3C,oBAAC,wBAAD;GACO;GACM;GACX,eAAc;GACd,cAAc,cAAc,CAAC,YAAY,GAAG,KAAA;GAC5C,qBAAqB,qBAAqB,CAAC,mBAAmB,GAAG,KAAA;GACjE,oBAAoB,SAAS;IAC3B,MAAM,MAAM,MAAM,KAAK,KAAK,CAAC;AAC7B,QAAI,OAAO,kBACT,mBAAkB,IAAI;;GAG1B,YAAY,MAAM;GAClB,cAAY;GACZ,mBAAiB,MAAM;GACvB,oBAAkB,MAAM;GACxB,qBAAmB,MAAM,WAAW,MAAM,eAAe,KAAA;GACzD,gBAAc,MAAM;GACpB,YAAY;GACZ,OAAO;GACP,GAAI;GACJ,IAAI,MAAM;GAET;GACsB,CAAA;EACY,CAAA;EAG5C;AAED,MAAM,gBAAgB,OAAO,aAAa;IACtC,gBAAgB,GAAG;;;;;;mBAMJ,aAAa,GAAG;YACvB,EAAE,YAAY,MAAM,MAAM,KAAK,UAAU;;;;;;;;gBAQrC,EAAE,QAAQ,WAAY,UAAU,OAAO,QAAQ,KAAK,QAAQ,GAAI;;;;;;;yBAOvD,EAAE,YAAY,MAAM,MAAM,SAAS,MAAM,MAAM;;;;;yBAK/C,EAAE,YAAY,MAAM,MAAM,QAAQ,MAAM;mCAC9B,EAAE,YAAY,MAAM,MAAM,OAAO,MAAM;cAC5D,EAAE,YAAY,MAAM,MAAM,KAAK,QAAQ;;;;;;;;;;;;;;;;;AA4BrD,MAAM,uBAAuB,WAC3B,SAAS,qBAAqB,EAAE,UAAU,UAAU,GAAG,SAAS,KAAK;AAEnE,QACE,oBAAC,eAAD;EAAoB;EAAK,YAAY;EAAU,OAFpC,WAAW,4BAEoC;EAAE,GAAI;EAC7D;EACa,CAAA;EAGrB"}
@@ -1,6 +1,6 @@
1
+ import { ToggleButtonProps } from "react-aria-components";
1
2
  import * as _$react from "react";
2
3
  import { Key, ReactNode } from "react";
3
- import { ToggleButtonProps } from "react-aria-components";
4
4
 
5
5
  //#region components/SegmentedControl/SegmentedControl.d.ts
6
6
  interface SegmentedControlProps {
@@ -56,4 +56,4 @@ interface SegmentedControlItemProps extends Omit<ToggleButtonProps, 'isDisabled'
56
56
  declare const SegmentedControlItem: _$react.ForwardRefExoticComponent<SegmentedControlItemProps & _$react.RefAttributes<HTMLButtonElement>>;
57
57
  //#endregion
58
58
  export { SegmentedControlProps as i, SegmentedControlItem as n, SegmentedControlItemProps as r, SegmentedControl as t };
59
- //# sourceMappingURL=SegmentedControl-DckAdhcD.d.mts.map
59
+ //# sourceMappingURL=SegmentedControl-_I4sWeD7.d.mts.map
@@ -1,2 +1,2 @@
1
- import { i as SegmentedControlProps, n as SegmentedControlItem, r as SegmentedControlItemProps, t as SegmentedControl } from "./SegmentedControl-DckAdhcD.mjs";
1
+ import { i as SegmentedControlProps, n as SegmentedControlItem, r as SegmentedControlItemProps, t as SegmentedControl } from "./SegmentedControl-_I4sWeD7.mjs";
2
2
  export { SegmentedControl, SegmentedControl as default, SegmentedControlItem, SegmentedControlItemProps, SegmentedControlProps };
@@ -1,17 +1,17 @@
1
1
  import { isNotDisabled } from "./lib/pseudoClass.mjs";
2
2
  import inputMixin from "./mixins/input.mjs";
3
3
  import { paragraphMixins } from "./mixins/text.mjs";
4
- import { i as Paragraph } from "./Text-hEoPeOc9.mjs";
4
+ import { t as HStack } from "./Stack-Bl54WmhY.mjs";
5
+ import { i as Paragraph } from "./Text-RcEfNFLx.mjs";
5
6
  import { Z_INDICES } from "./lib/zindex.mjs";
6
- import { t as HStack } from "./Stack-ckRN7LrP.mjs";
7
- import { t as IconButton } from "./IconButton-DC4rh6ow.mjs";
7
+ import { t as IconButton } from "./IconButton-BfDlic2K.mjs";
8
8
  import { n as useFormField } from "./useFormField-eftOPiXj.mjs";
9
- import { c as MenuList, i as Menu, o as MenuHeading, s as MenuItem } from "./Menu-DpM8o234.mjs";
10
- import { n as DropdownMenu_default } from "./DropdownMenu-DZIFSJXD.mjs";
9
+ import { c as MenuList, i as Menu, o as MenuHeading, s as MenuItem } from "./Menu-Dir03WA9.mjs";
10
+ import { n as DropdownMenu_default } from "./DropdownMenu-BCyV8nC0.mjs";
11
11
  import { Color, Spacing } from "@persona/design-tokens";
12
12
  import styled, { css } from "styled-components";
13
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
14
  import { forwardRef } from "react";
14
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
15
15
  import { CaretDownIcon, MoreIcon } from "@persona/icons";
16
16
  import { useId } from "react-aria";
17
17
  import * as SelectPrimitive from "@radix-ui/react-select";
@@ -180,7 +180,7 @@ const Select = forwardRef(function Select({ portal = false, portalContainer, siz
180
180
  children: [
181
181
  header,
182
182
  /* @__PURE__ */ jsx(SelectPrimitive.Viewport, { children }),
183
- footer && /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx(SelectFooter, { children: footer }) })
183
+ footer && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(SelectFooter, { children: footer }) })
184
184
  ]
185
185
  })
186
186
  });
@@ -242,4 +242,4 @@ const Option = forwardRef(function Option({ children, subtitle, ...props }, forw
242
242
  //#endregion
243
243
  export { Select as n, SelectHeader as r, Option as t };
244
244
 
245
- //# sourceMappingURL=Select-DL-AjL0Q.mjs.map
245
+ //# sourceMappingURL=Select-D6MqSYVa.mjs.map