@persona/design-system 0.7.1 → 0.8.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 (567) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +9 -9
  3. package/dist/Accordion.d.mts +38 -0
  4. package/dist/AccordionItem.d.mts +31 -0
  5. package/dist/{Action-C7INft7X.d.mts → Action-B-AiHknZ.d.mts} +3 -3
  6. package/dist/Action.d.mts +1 -1
  7. package/dist/AdvancedFilterRuleRow.d.mts +2 -2
  8. package/dist/AdvancedFilterRulesPopover.d.mts +2 -2
  9. package/dist/ArrayValueControl.d.mts +1 -1
  10. package/dist/Attribute.d.mts +3 -3
  11. package/dist/{Badge-BD0Ut46g.mjs → Badge-COqUjFQu.mjs} +2 -2
  12. package/dist/{Badge-BD0Ut46g.mjs.map → Badge-COqUjFQu.mjs.map} +1 -1
  13. package/dist/BooleanValueControl.d.mts +1 -1
  14. package/dist/{Breadcrumb-DtW1R9xW.d.mts → Breadcrumb-DRFY46ZW.d.mts} +1 -1
  15. package/dist/Breadcrumb.d.mts +1 -1
  16. package/dist/{Breadcrumbs-B6JyoS8n.d.mts → Breadcrumbs-DUSbT1I7.d.mts} +2 -2
  17. package/dist/{Breadcrumbs-CrXfUK1V.mjs → Breadcrumbs-DXS7rU7_.mjs} +5 -5
  18. package/dist/{Breadcrumbs-CrXfUK1V.mjs.map → Breadcrumbs-DXS7rU7_.mjs.map} +1 -1
  19. package/dist/Breadcrumbs.d.mts +1 -1
  20. package/dist/{Button-HodDf_bB.d.mts → Button-xZ6DC5XC.d.mts} +4 -4
  21. package/dist/Button.d.mts +1 -1
  22. package/dist/{Calendar-DrdTvzAa.d.mts → Calendar-dPmo2dkj.d.mts} +1 -1
  23. package/dist/Calendar.d.mts +1 -1
  24. package/dist/CalendarBase.d.mts +1 -1
  25. package/dist/{Card-CpDwATnX.d.mts → Card-CUeM8Lh8.d.mts} +3 -3
  26. package/dist/Card.d.mts +1 -1
  27. package/dist/{CardV2-M3o4BELp.mjs → CardV2-D9p7D7jX.mjs} +9 -7
  28. package/dist/{CardV2-M3o4BELp.mjs.map → CardV2-D9p7D7jX.mjs.map} +1 -1
  29. package/dist/{Checkbox-CyWXhuby.mjs → Checkbox-DQynkc_I.mjs} +3 -3
  30. package/dist/{Checkbox-CyWXhuby.mjs.map → Checkbox-DQynkc_I.mjs.map} +1 -1
  31. package/dist/{Checkbox-C-hMfItK.d.mts → Checkbox-DoJpxPEz.d.mts} +1 -1
  32. package/dist/Checkbox.d.mts +1 -1
  33. package/dist/CheckboxGroupField.d.mts +1 -1
  34. package/dist/ChoicesValueControl.d.mts +1 -1
  35. package/dist/{Combobox-1M6EwVmq.mjs → Combobox-C_kCY3P3.mjs} +28 -12
  36. package/dist/Combobox-C_kCY3P3.mjs.map +1 -0
  37. package/dist/{Combobox-DyNllwt8.d.mts → Combobox-D7hyf-jA.d.mts} +3 -3
  38. package/dist/Combobox.d.mts +2 -2
  39. package/dist/{ComboboxBase-B3YqkjQp.d.mts → ComboboxBase-BMCY6O7Y.d.mts} +10 -5
  40. package/dist/ComboboxBase.d.mts +1 -1
  41. package/dist/{ComboboxMultiSelect-BuwVssvZ.d.mts → ComboboxMultiSelect-L0KYMkmm.d.mts} +2 -2
  42. package/dist/ComboboxMultiSelect.d.mts +1 -1
  43. package/dist/{ComboboxSingleSelect-gJC4v7ER.d.mts → ComboboxSingleSelect-v5oNrJ7M.d.mts} +4 -4
  44. package/dist/ComboboxSingleSelect.d.mts +1 -1
  45. package/dist/{CompactBar-DhHh7Roq.d.mts → CompactBar-DjFaUAsN.d.mts} +4 -4
  46. package/dist/CompactBar.d.mts +1 -1
  47. package/dist/{ConfigFormGroup-Cz7GeTYd.mjs → ConfigFormGroup-DLOZOuLf.mjs} +2 -2
  48. package/dist/{ConfigFormGroup-Cz7GeTYd.mjs.map → ConfigFormGroup-DLOZOuLf.mjs.map} +1 -1
  49. package/dist/{ControlBar-C8kagIck.d.mts → ControlBar-Cegjxa6-.d.mts} +7 -2
  50. package/dist/ControlBar.d.mts +1 -1
  51. package/dist/DataTable.d.mts +4 -3
  52. package/dist/{DateField-2aigfD4u.d.mts → DateField-Dk5ykLdr.d.mts} +2 -2
  53. package/dist/DateField.d.mts +1 -1
  54. package/dist/{DatePicker-D9JurBBj.mjs → DatePicker-C7z1yodK.mjs} +77 -42
  55. package/dist/DatePicker-C7z1yodK.mjs.map +1 -0
  56. package/dist/{DatePicker-DC_RKjdM.d.mts → DatePicker-Dtvv0V45.d.mts} +2 -2
  57. package/dist/DatePicker.d.mts +1 -1
  58. package/dist/{DateRangePicker-ByD6IsLB.d.mts → DateRangePicker-HPYsa4wC.d.mts} +3 -3
  59. package/dist/DateRangePicker.d.mts +1 -1
  60. package/dist/DateRangeValueControl.d.mts +5 -3
  61. package/dist/DateValueControl.d.mts +8 -5
  62. package/dist/{DropdownButton-BWiXLMfD.mjs → DropdownButton-CQrFHOIW.mjs} +3 -3
  63. package/dist/{DropdownButton-BWiXLMfD.mjs.map → DropdownButton-CQrFHOIW.mjs.map} +1 -1
  64. package/dist/DropdownButton.d.mts +2 -2
  65. package/dist/{DropdownMenu-Xl1BYXsY.d.mts → DropdownMenu-D1qvgGTZ.d.mts} +2 -2
  66. package/dist/{DropdownMenu-CuKSNxc9.mjs → DropdownMenu-rm9Nnxn7.mjs} +7 -2
  67. package/dist/DropdownMenu-rm9Nnxn7.mjs.map +1 -0
  68. package/dist/DropdownMenu.d.mts +1 -1
  69. package/dist/{ErrorProps-Dgu98PkH.d.mts → ErrorProps-B8-Mqf1W.d.mts} +1 -1
  70. package/dist/ErrorProps.d.mts +1 -1
  71. package/dist/{FieldRegistry-BdtxI1N2.d.mts → FieldRegistry-0LmSQ-jc.d.mts} +2 -2
  72. package/dist/FieldRegistry.d.mts +1 -1
  73. package/dist/{FilterBar-jYjPeD7F.d.mts → FilterBar-BMM4Swbt.d.mts} +11 -4
  74. package/dist/FilterBar.d.mts +1 -1
  75. package/dist/FilterPickerMenu.d.mts +2 -2
  76. package/dist/FilterPill.d.mts +1 -1
  77. package/dist/FilterPopover.d.mts +1 -1
  78. package/dist/FloatValueControl.d.mts +1 -1
  79. package/dist/{FormControl-BEk4F1EV.mjs → FormControl-DXrxoJLl.mjs} +26 -11
  80. package/dist/FormControl-DXrxoJLl.mjs.map +1 -0
  81. package/dist/{FormControl-CJfYdgZF.d.mts → FormControl-Dg8doZq2.d.mts} +6 -2
  82. package/dist/FormControl.d.mts +1 -1
  83. package/dist/FormControlLabel.d.mts +1 -1
  84. package/dist/{FormField-CK8o1sMB.d.mts → FormField-BeLigf9j.d.mts} +4 -2
  85. package/dist/{FormField-ByT0avVx.mjs → FormField-Crp3F-hv.mjs} +31 -21
  86. package/dist/FormField-Crp3F-hv.mjs.map +1 -0
  87. package/dist/FormField.d.mts +1 -1
  88. package/dist/Grid-eMLuyRzV.mjs +92 -0
  89. package/dist/Grid-eMLuyRzV.mjs.map +1 -0
  90. package/dist/Grid.d.mts +4 -1
  91. package/dist/{Header-ZnHGm8fs.d.mts → Header-DxJ6TfPw.d.mts} +1 -1
  92. package/dist/Header.d.mts +1 -1
  93. package/dist/{HelperTooltip-CQpPO16Q.d.mts → HelperTooltip-DcyrpEZI.d.mts} +2 -2
  94. package/dist/HelperTooltip.d.mts +1 -1
  95. package/dist/{HoverCopyableField-CN3gl0ny.mjs → HoverCopyableField-12bBuG-d.mjs} +3 -3
  96. package/dist/{HoverCopyableField-CN3gl0ny.mjs.map → HoverCopyableField-12bBuG-d.mjs.map} +1 -1
  97. package/dist/{IconButton-zu-VNp1h.d.mts → IconButton-BUMMN-gH.d.mts} +2 -2
  98. package/dist/{IconButton-CqTPMhjV.mjs → IconButton-CCLMYWVN.mjs} +1 -1
  99. package/dist/{IconButton-CqTPMhjV.mjs.map → IconButton-CCLMYWVN.mjs.map} +1 -1
  100. package/dist/IconButton.d.mts +1 -1
  101. package/dist/ImageTile.d.mts +1 -1
  102. package/dist/InlineCombobox.d.mts +1 -1
  103. package/dist/InlineInput.d.mts +1 -1
  104. package/dist/{Input-Ce8FvSYf.d.mts → Input-2N2e5JCf.d.mts} +3 -3
  105. package/dist/{Input-Bc2yWH3j.mjs → Input-Cl4o41k4.mjs} +7 -3
  106. package/dist/Input-Cl4o41k4.mjs.map +1 -0
  107. package/dist/Input.d.mts +1 -1
  108. package/dist/{InputProps-B1Xod4wm.d.mts → InputProps-TWzig3QO.d.mts} +2 -2
  109. package/dist/InputProps.d.mts +1 -1
  110. package/dist/IntegerValueControl.d.mts +1 -1
  111. package/dist/Link-I9Bklen-.mjs +79 -0
  112. package/dist/Link-I9Bklen-.mjs.map +1 -0
  113. package/dist/Link.d.mts +1 -1
  114. package/dist/{ListBox-D-8iwYVj.d.mts → ListBox-BcoXOt73.d.mts} +3 -3
  115. package/dist/{ListBox-CFBhILRy.mjs → ListBox-sqeLBiKS.mjs} +33 -16
  116. package/dist/ListBox-sqeLBiKS.mjs.map +1 -0
  117. package/dist/ListBox.d.mts +1 -1
  118. package/dist/ListBoxField.d.mts +3 -2
  119. package/dist/{LoadingShimmer-Dizk2sZu.mjs → LoadingShimmer-dRSkdlqD.mjs} +13 -8
  120. package/dist/LoadingShimmer-dRSkdlqD.mjs.map +1 -0
  121. package/dist/LoadingShimmer.d.mts +1 -1
  122. package/dist/{LogicRow-CgPds2tq.d.mts → LogicRow-DXywXdYt.d.mts} +3 -3
  123. package/dist/LogicRow.d.mts +1 -1
  124. package/dist/MaskedInput.d.mts +2 -2
  125. package/dist/{Menu-CSwzFqdv.d.mts → Menu-BekLwm8w.d.mts} +3 -3
  126. package/dist/{Menu-Cd6oxjAe.mjs → Menu-CwlI7BMN.mjs} +1 -1
  127. package/dist/{Menu-Cd6oxjAe.mjs.map → Menu-CwlI7BMN.mjs.map} +1 -1
  128. package/dist/Menu.d.mts +1 -1
  129. package/dist/Modal-CMiFcXC9.mjs +260 -0
  130. package/dist/Modal-CMiFcXC9.mjs.map +1 -0
  131. package/dist/Modal-ymxlGYKt.d.mts +145 -0
  132. package/dist/Modal.d.mts +2 -145
  133. package/dist/{PageHeader-DJOlcAiW.mjs → PageHeader-D_0p7UK_.mjs} +2 -2
  134. package/dist/{PageHeader-DJOlcAiW.mjs.map → PageHeader-D_0p7UK_.mjs.map} +1 -1
  135. package/dist/PageHeader.d.mts +1 -1
  136. package/dist/PageLayoutFrame.d.mts +28 -0
  137. package/dist/{PageSelector-BMz2Q4P6.d.mts → PageSelector-Bxulu6vU.d.mts} +3 -3
  138. package/dist/PageSelector.d.mts +1 -1
  139. package/dist/{Pagination-B1u203DE.mjs → Pagination-Co9CfyFQ.mjs} +5 -5
  140. package/dist/{Pagination-B1u203DE.mjs.map → Pagination-Co9CfyFQ.mjs.map} +1 -1
  141. package/dist/{Pagination-ne9hnVoe.d.mts → Pagination-Dg-4O7F7.d.mts} +2 -2
  142. package/dist/Pagination.d.mts +1 -1
  143. package/dist/{Pii-Dz4woKd8.mjs → Pii-JGV9gP95.mjs} +2 -2
  144. package/dist/{Pii-Dz4woKd8.mjs.map → Pii-JGV9gP95.mjs.map} +1 -1
  145. package/dist/{PillShell-ChTB_koa.d.mts → PillShell-BA7KK1zS.d.mts} +2 -2
  146. package/dist/PillShell.d.mts +1 -1
  147. package/dist/{Popover-opVa9Xhc.mjs → Popover-ZAj03lws.mjs} +15 -2
  148. package/dist/Popover-ZAj03lws.mjs.map +1 -0
  149. package/dist/ProgressIndicator-CQg08vuA.mjs +188 -0
  150. package/dist/ProgressIndicator-CQg08vuA.mjs.map +1 -0
  151. package/dist/ProgressIndicator-D85HQGSx.d.mts +66 -0
  152. package/dist/ProgressIndicator.d.mts +2 -66
  153. package/dist/{PseudoClassProps-CdRF3QNn.d.mts → PseudoClassProps-BHs8TX_3.d.mts} +1 -1
  154. package/dist/PseudoClassProps.d.mts +1 -1
  155. package/dist/{Radio-Ds1pODKw.mjs → Radio-CYV290JI.mjs} +2 -2
  156. package/dist/{Radio-Ds1pODKw.mjs.map → Radio-CYV290JI.mjs.map} +1 -1
  157. package/dist/{RadioGroup-CxL6LW4q.d.mts → RadioGroup-Cq3KV1TN.d.mts} +1 -1
  158. package/dist/{RadioGroup-HIC9V2hO.mjs → RadioGroup-lWMMtu9V.mjs} +2 -2
  159. package/dist/{RadioGroup-HIC9V2hO.mjs.map → RadioGroup-lWMMtu9V.mjs.map} +1 -1
  160. package/dist/RadioGroup.d.mts +1 -1
  161. package/dist/{RangeCalendar-B7TwRJbg.d.mts → RangeCalendar-Mh7h74Tp.d.mts} +2 -2
  162. package/dist/RangeCalendar.d.mts +1 -1
  163. package/dist/RangeCalendarPresets.d.mts +1 -1
  164. package/dist/{RouterContext-B7N12wkK.d.mts → RouterContext-B3IU1jb0.d.mts} +2 -2
  165. package/dist/RouterContext.d.mts +1 -1
  166. package/dist/{RouterLink-Bq36EGjc.d.mts → RouterLink-CwAqTLC2.d.mts} +2 -2
  167. package/dist/RouterLink.d.mts +1 -1
  168. package/dist/RuleEditorFields.d.mts +2 -2
  169. package/dist/RulesPill.d.mts +1 -1
  170. package/dist/{SearchInput-D69WxMNq.d.mts → SearchInput-BGyUUcoz.d.mts} +2 -2
  171. package/dist/SearchInput.d.mts +1 -1
  172. package/dist/SectionHeading.d.mts +1 -1
  173. package/dist/{SegmentedControl-OHrfJiw0.mjs → SegmentedControl-BEbIcV3g.mjs} +13 -6
  174. package/dist/SegmentedControl-BEbIcV3g.mjs.map +1 -0
  175. package/dist/{SegmentedControl-vCnGsdXo.d.mts → SegmentedControl-DgDabSgr.d.mts} +2 -1
  176. package/dist/SegmentedControl.d.mts +1 -1
  177. package/dist/{Select-sQb4dQwT.d.mts → Select-wqTtGyga.d.mts} +3 -3
  178. package/dist/{Select-DE7uv9C8.mjs → Select-yC2t_gZb.mjs} +10 -8
  179. package/dist/Select-yC2t_gZb.mjs.map +1 -0
  180. package/dist/Select.d.mts +1 -1
  181. package/dist/SingleColumnLayout.d.mts +16 -0
  182. package/dist/{Spinner-DplDSBqf.mjs → Spinner-BlAg8_OX.mjs} +1 -1
  183. package/dist/{Spinner-DplDSBqf.mjs.map → Spinner-BlAg8_OX.mjs.map} +1 -1
  184. package/dist/SplitColumnLayout.d.mts +19 -0
  185. package/dist/{Stack-ChsImaEY.mjs → Stack-Bkn0TUDe.mjs} +1 -1
  186. package/dist/{Stack-ChsImaEY.mjs.map → Stack-Bkn0TUDe.mjs.map} +1 -1
  187. package/dist/{Stack-8KGPQp0u.d.mts → Stack-CYqjBXe8.d.mts} +1 -1
  188. package/dist/Stack.d.mts +1 -1
  189. package/dist/StatusIndicator-DT2zNbkp.mjs +315 -0
  190. package/dist/StatusIndicator-DT2zNbkp.mjs.map +1 -0
  191. package/dist/{Sticker-C3Eb13OQ.mjs → Sticker-BLbgJxcH.mjs} +5 -8
  192. package/dist/Sticker-BLbgJxcH.mjs.map +1 -0
  193. package/dist/{Sticker-Bf9rhSkv.d.mts → Sticker-BmyKaxwx.d.mts} +4 -4
  194. package/dist/Sticker.d.mts +1 -1
  195. package/dist/StringValueControl.d.mts +1 -1
  196. package/dist/Tab.d.mts +1 -1
  197. package/dist/{TabBar-BepWbJHz.mjs → TabBar-Bj84q1Mr.mjs} +4 -7
  198. package/dist/{TabBar-BepWbJHz.mjs.map → TabBar-Bj84q1Mr.mjs.map} +1 -1
  199. package/dist/{Table-BefytM6w.d.mts → Table-DhdHUQ8V.d.mts} +1 -1
  200. package/dist/{Table-B1gRr2XT.mjs → Table-WqNfjasd.mjs} +22 -3
  201. package/dist/Table-WqNfjasd.mjs.map +1 -0
  202. package/dist/Table.d.mts +1 -1
  203. package/dist/{TableBody-BZ34-_wV.d.mts → TableBody-qoSvQDds.d.mts} +1 -1
  204. package/dist/TableBody.d.mts +1 -1
  205. package/dist/{TableBox-NP6bhtKb.mjs → TableBox-obl64W5Y.mjs} +22 -17
  206. package/dist/TableBox-obl64W5Y.mjs.map +1 -0
  207. package/dist/TableBox.d.mts +2 -2
  208. package/dist/{TableBoxCell-CHGw9HVj.d.mts → TableBoxCell-DzYMx4Ju.d.mts} +6 -6
  209. package/dist/TableBoxCell.d.mts +1 -1
  210. package/dist/TableBoxField.d.mts +4 -3
  211. package/dist/{TableBoxRow-BljsXKrL.d.mts → TableBoxRow-B4rFCvWK.d.mts} +3 -3
  212. package/dist/TableBoxRow.d.mts +1 -1
  213. package/dist/{TableBoxRowActions-h6HNEv9F.d.mts → TableBoxRowActions-qMKcVuTL.d.mts} +2 -2
  214. package/dist/TableBoxRowActions.d.mts +1 -1
  215. package/dist/{TableCell-DorRxyke.d.mts → TableCell-CGPQRc5g.d.mts} +2 -2
  216. package/dist/TableCell.d.mts +1 -1
  217. package/dist/{TableControls-CYTpBlQN.mjs → TableControls-RS_ozBsI.mjs} +219 -70
  218. package/dist/TableControls-RS_ozBsI.mjs.map +1 -0
  219. package/dist/{TableControls-BtGFiZeD.d.mts → TableControls-WP78qtET.d.mts} +4 -3
  220. package/dist/TableControls.d.mts +1 -1
  221. package/dist/{TableControlsContext-C3DYeUmB.d.mts → TableControlsContext-DZIZSyfX.d.mts} +2 -2
  222. package/dist/TableControlsContext.d.mts +1 -1
  223. package/dist/{TableHead-B0Fdldgw.d.mts → TableHead-36j-_oyn.d.mts} +1 -1
  224. package/dist/TableHead.d.mts +1 -1
  225. package/dist/{TableHeaderCell-C_7X8QAT.d.mts → TableHeaderCell-C7gp9j1X.d.mts} +1 -1
  226. package/dist/TableHeaderCell.d.mts +1 -1
  227. package/dist/{TableLayout-CXVVzq0e.d.mts → TableLayout-CQqIV0vj.d.mts} +1 -1
  228. package/dist/TableLayout.d.mts +1 -1
  229. package/dist/{TableRow-Dr61XJNw.d.mts → TableRow-BJZM8I8i.d.mts} +2 -2
  230. package/dist/TableRow.d.mts +1 -1
  231. package/dist/TableTH.d.mts +1 -1
  232. package/dist/{TableViewConfigurationDropdown-CCtwcB3I.d.mts → TableViewConfigurationDropdown-Dwy_9FBz.d.mts} +2 -2
  233. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  234. package/dist/{TechnicalSticker-_LtE-PRY.mjs → TechnicalSticker-CL0zkOAj.mjs} +1 -1
  235. package/dist/{TechnicalSticker-_LtE-PRY.mjs.map → TechnicalSticker-CL0zkOAj.mjs.map} +1 -1
  236. package/dist/{Text-DD_W_ixb.d.mts → Text-DbtTa83E.d.mts} +3 -3
  237. package/dist/Text.d.mts +1 -1
  238. package/dist/{TextArea-DOofaXJi.d.mts → TextArea-CbxF6u7z.d.mts} +2 -2
  239. package/dist/{TextArea-8TuVvmvj.mjs → TextArea-CfZr5Sk4.mjs} +2 -2
  240. package/dist/{TextArea-8TuVvmvj.mjs.map → TextArea-CfZr5Sk4.mjs.map} +1 -1
  241. package/dist/TextArea.d.mts +1 -1
  242. package/dist/{TextUnderlineTooltip-BPLKU9wu.d.mts → TextUnderlineTooltip-BgLQuK38.d.mts} +2 -2
  243. package/dist/TextUnderlineTooltip.d.mts +1 -1
  244. package/dist/Tile.d.mts +1 -1
  245. package/dist/Toast.d.mts +1 -1
  246. package/dist/{Toggle-2nrUX591.d.mts → Toggle-BYMLrPXk.d.mts} +3 -1
  247. package/dist/{Toggle-Dcn2Rqgm.mjs → Toggle-D4ZaUcVt.mjs} +11 -5
  248. package/dist/Toggle-D4ZaUcVt.mjs.map +1 -0
  249. package/dist/Toggle.d.mts +1 -1
  250. package/dist/{Tooltip-Cnqf1-tx.d.mts → Tooltip-4pshzB_i.d.mts} +2 -2
  251. package/dist/Tooltip.d.mts +1 -1
  252. package/dist/{TruncatedText-g2T5HlqX.d.mts → TruncatedText-O7hE3w0O.d.mts} +1 -1
  253. package/dist/VersionHistory.d.mts +23 -0
  254. package/dist/VersionHistoryItem-CIcEgl0K.d.mts +54 -0
  255. package/dist/VersionHistoryItem.d.mts +2 -0
  256. package/dist/WizardModal.d.mts +41 -0
  257. package/dist/accordionTitleTypography-CNB1w3kn.d.mts +17 -0
  258. package/dist/accordionTitleTypography.d.mts +2 -0
  259. package/dist/assertNever.d.mts +5 -0
  260. package/dist/{codec-CoX6LfOY.d.mts → codec-BXVBsB8Y.d.mts} +2 -2
  261. package/dist/codec.d.mts +1 -1
  262. package/dist/{color-Bt0Lv1e3.d.mts → color-3UO63ocQ.d.mts} +9 -4
  263. package/dist/components/Accordion/index.d.mts +4 -0
  264. package/dist/components/Accordion/index.mjs +330 -0
  265. package/dist/components/Accordion/index.mjs.map +1 -0
  266. package/dist/components/Attribute/index.mjs +2 -2
  267. package/dist/components/Badge/index.mjs +1 -1
  268. package/dist/components/Banner/index.mjs +1 -1
  269. package/dist/components/BottomPanel/index.mjs +5 -3
  270. package/dist/components/BottomPanel/index.mjs.map +1 -1
  271. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  272. package/dist/components/Breadcrumbs/index.mjs +1 -1
  273. package/dist/components/Button/index.d.mts +2 -2
  274. package/dist/components/Button/index.mjs +1 -1
  275. package/dist/components/ButtonGroup/index.mjs +2 -2
  276. package/dist/components/Card/index.d.mts +2 -2
  277. package/dist/components/CardV2/index.d.mts +1 -1
  278. package/dist/components/CardV2/index.mjs +1 -1
  279. package/dist/components/Checkbox/index.d.mts +1 -1
  280. package/dist/components/Checkbox/index.mjs +1 -1
  281. package/dist/components/CodeHighlight/index.mjs +3 -1
  282. package/dist/components/CodeHighlight/index.mjs.map +1 -1
  283. package/dist/components/Combobox/index.d.mts +2 -2
  284. package/dist/components/Combobox/index.mjs +1 -1
  285. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  286. package/dist/components/DataTable/TableControls/index.d.mts +19 -19
  287. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  288. package/dist/components/DataTable/index.mjs +27 -16
  289. package/dist/components/DataTable/index.mjs.map +1 -1
  290. package/dist/components/DataTable/types.d.mts +2 -2
  291. package/dist/components/DatePicker/index.d.mts +5 -5
  292. package/dist/components/DatePicker/index.mjs +1 -1
  293. package/dist/components/DropdownButton/index.mjs +1 -1
  294. package/dist/components/DropdownMenu/index.d.mts +1 -1
  295. package/dist/components/DropdownMenu/index.mjs +1 -1
  296. package/dist/components/FloatingPanel/index.mjs +10 -7
  297. package/dist/components/FloatingPanel/index.mjs.map +1 -1
  298. package/dist/components/FormControl/index.d.mts +2 -2
  299. package/dist/components/FormControl/index.mjs +2 -2
  300. package/dist/components/FormField/index.d.mts +1 -1
  301. package/dist/components/FormField/index.mjs +1 -1
  302. package/dist/components/Grid/index.d.mts +2 -2
  303. package/dist/components/Grid/index.mjs +2 -85
  304. package/dist/components/HoverCopyableField/index.mjs +1 -1
  305. package/dist/components/ImageTile/index.mjs +13 -9
  306. package/dist/components/ImageTile/index.mjs.map +1 -1
  307. package/dist/components/Input/index.d.mts +1 -1
  308. package/dist/components/Input/index.mjs +1 -1
  309. package/dist/components/Link/index.mjs +1 -78
  310. package/dist/components/ListBox/index.d.mts +3 -3
  311. package/dist/components/ListBox/index.mjs +1 -1
  312. package/dist/components/LoadingShimmer/index.mjs +1 -1
  313. package/dist/components/MaskedInput/index.mjs +1 -1
  314. package/dist/components/Menu/index.d.mts +1 -1
  315. package/dist/components/Menu/index.mjs +1 -1
  316. package/dist/components/Modal/index.d.mts +1 -1
  317. package/dist/components/Modal/index.mjs +1 -257
  318. package/dist/components/PageHeader/index.mjs +1 -1
  319. package/dist/components/Pagination/index.d.mts +3 -3
  320. package/dist/components/Pagination/index.mjs +1 -1
  321. package/dist/components/Pii/index.mjs +1 -1
  322. package/dist/components/Popover/index.mjs +1 -1
  323. package/dist/components/ProgressBar/index.mjs +1 -2
  324. package/dist/components/ProgressBar/index.mjs.map +1 -1
  325. package/dist/components/ProgressIndicator/index.d.mts +2 -2
  326. package/dist/components/ProgressIndicator/index.mjs +1 -187
  327. package/dist/components/Radio/index.mjs +1 -1
  328. package/dist/components/RadioGroup/index.d.mts +1 -1
  329. package/dist/components/RadioGroup/index.mjs +1 -1
  330. package/dist/components/RightPanel/index.mjs +10 -7
  331. package/dist/components/RightPanel/index.mjs.map +1 -1
  332. package/dist/components/SegmentedControl/index.d.mts +1 -1
  333. package/dist/components/SegmentedControl/index.mjs +1 -1
  334. package/dist/components/Select/index.d.mts +1 -1
  335. package/dist/components/Select/index.mjs +1 -1
  336. package/dist/components/Slider/index.mjs +1 -1
  337. package/dist/components/Slider/index.mjs.map +1 -1
  338. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +2 -105
  339. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +1 -1
  340. package/dist/components/Spinner/index.mjs +1 -1
  341. package/dist/components/Stack/index.d.mts +1 -1
  342. package/dist/components/Stack/index.mjs +1 -1
  343. package/dist/components/StatusIndicator/index.mjs +1 -314
  344. package/dist/components/Sticker/index.d.mts +1 -1
  345. package/dist/components/Sticker/index.mjs +1 -1
  346. package/dist/components/TabBar/index.mjs +1 -1
  347. package/dist/components/Table/index.d.mts +8 -8
  348. package/dist/components/Table/index.mjs +1 -1
  349. package/dist/components/TableBox/index.d.mts +2 -2
  350. package/dist/components/TableBox/index.mjs +1 -1
  351. package/dist/components/TechnicalSticker/index.mjs +1 -1
  352. package/dist/components/Text/index.d.mts +1 -1
  353. package/dist/components/TextArea/index.d.mts +1 -1
  354. package/dist/components/TextArea/index.mjs +1 -1
  355. package/dist/components/Tile/index.mjs +2 -2
  356. package/dist/components/Toast/index.mjs +2 -2
  357. package/dist/components/Toast/index.mjs.map +1 -1
  358. package/dist/components/Toggle/index.d.mts +1 -1
  359. package/dist/components/Toggle/index.mjs +1 -1
  360. package/dist/components/Tooltip/index.d.mts +3 -3
  361. package/dist/components/VersionHistory/index.d.mts +3 -0
  362. package/dist/components/VersionHistory/index.mjs +389 -0
  363. package/dist/components/VersionHistory/index.mjs.map +1 -0
  364. package/dist/components/WizardModal/index.d.mts +2 -0
  365. package/dist/components/WizardModal/index.mjs +106 -0
  366. package/dist/components/WizardModal/index.mjs.map +1 -0
  367. package/dist/compound-expression.d.mts +1 -1
  368. package/dist/{constants-D8bzZ-7B.d.mts → constants-BOxzLX-O.d.mts} +1 -1
  369. package/dist/constants.d.mts +1 -1
  370. package/dist/{createPath-BDYRvl57.d.mts → createPath-OeTC9kvS.d.mts} +2 -2
  371. package/dist/createPath.d.mts +1 -1
  372. package/dist/{date-filter-CZeChs9T.mjs → date-filter-BnzR6NxT.mjs} +1 -1
  373. package/dist/{date-filter-CZeChs9T.mjs.map → date-filter-BnzR6NxT.mjs.map} +1 -1
  374. package/dist/{date-range-rule-value-jZAHuxZJ.d.mts → date-range-rule-value-BRp5Bi7R.d.mts} +2 -2
  375. package/dist/date-range-rule-value.d.mts +1 -1
  376. package/dist/{date-rule-intent-CC1LdkE7.d.mts → date-rule-intent-CDBtV0ET.d.mts} +3 -3
  377. package/dist/date-rule-intent.d.mts +1 -1
  378. package/dist/display.d.mts +2 -2
  379. package/dist/fieldPickerOptions.d.mts +2 -2
  380. package/dist/{filter-size-context-BGczB5R9.d.mts → filter-size-context-CqvQ190x.d.mts} +2 -2
  381. package/dist/filter-size-context.d.mts +1 -1
  382. package/dist/format-date-value.d.mts +5 -0
  383. package/dist/helpers.d.mts +1 -1
  384. package/dist/{index-DalP_w0c.d.mts → index-BXSe73Xn.d.mts} +2 -2
  385. package/dist/{index-BRKXhLGa.d.mts → index-CyAok7As.d.mts} +2 -2
  386. package/dist/index-gVcIuWLd.d.mts +1 -0
  387. package/dist/{index-BZmGEbsA.d.mts → index-wKK9f9La.d.mts} +3 -3
  388. package/dist/index-zeAhjge4.d.mts +1 -0
  389. package/dist/index.d.mts +1 -1
  390. package/dist/index2.d.mts +1 -1
  391. package/dist/index3.d.mts +3 -3
  392. package/dist/index4.d.mts +1 -1
  393. package/dist/index5.d.mts +14 -14
  394. package/dist/{input-DCJivcWf.d.mts → input-C6cyiqm2.d.mts} +3 -3
  395. package/dist/inputFields.d.mts +14 -12
  396. package/dist/{intersperse-Bxcrxj2Q.mjs → intersperse-Df9zw7Bk.mjs} +1 -1
  397. package/dist/{intersperse-Bxcrxj2Q.mjs.map → intersperse-Df9zw7Bk.mjs.map} +1 -1
  398. package/dist/{jsonSchema-c_EfAj8y.d.mts → jsonSchema-CfGi1bzI.d.mts} +67 -11
  399. package/dist/lib/PDSProvider.d.mts +2 -2
  400. package/dist/lib/TruncatedText.d.mts +1 -1
  401. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  402. package/dist/lib/chainTypes.d.mts +17 -0
  403. package/dist/lib/chainTypes.mjs +0 -0
  404. package/dist/lib/color.d.mts +2 -2
  405. package/dist/lib/color.mjs +18 -11
  406. package/dist/lib/color.mjs.map +1 -1
  407. package/dist/lib/customFunctionSchema.d.mts +49 -0
  408. package/dist/lib/customFunctionSchema.mjs +299 -0
  409. package/dist/lib/customFunctionSchema.mjs.map +1 -0
  410. package/dist/lib/date-filter/index.d.mts +2 -2
  411. package/dist/lib/date-filter/index.mjs +1 -1
  412. package/dist/lib/jsonSchema.d.mts +2 -2
  413. package/dist/lib/jsonSchema.mjs +36 -11
  414. package/dist/lib/jsonSchema.mjs.map +1 -1
  415. package/dist/lib/jsonSchemaType.d.mts +7 -0
  416. package/dist/lib/jsonSchemaType.mjs +31 -0
  417. package/dist/lib/jsonSchemaType.mjs.map +1 -0
  418. package/dist/lib/letPointerDownReachDocument.d.mts +22 -0
  419. package/dist/lib/letPointerDownReachDocument.mjs +25 -0
  420. package/dist/lib/letPointerDownReachDocument.mjs.map +1 -0
  421. package/dist/lib/message.d.mts +1 -1
  422. package/dist/lib/methodChain.d.mts +3 -66
  423. package/dist/lib/methodChain.mjs +1 -237
  424. package/dist/lib/methodChainNormalize.d.mts +2 -2
  425. package/dist/lib/methodChainTypes.d.mts +2 -23
  426. package/dist/lib/objectSchemaTypes.d.mts +1 -1
  427. package/dist/lib/platformObject.d.mts +38 -0
  428. package/dist/lib/platformObject.mjs +79 -0
  429. package/dist/lib/platformObject.mjs.map +1 -0
  430. package/dist/lib/pseudoClass.d.mts +1 -1
  431. package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
  432. package/dist/lib/router/adapters/tanstack.d.mts +1 -1
  433. package/dist/lib/router/index.d.mts +5 -5
  434. package/dist/lib/schemaOptions.d.mts +173 -0
  435. package/dist/lib/schemaOptions.mjs +481 -0
  436. package/dist/lib/schemaOptions.mjs.map +1 -0
  437. package/dist/lib/semanticColor.d.mts +1 -1
  438. package/dist/lib/snakifyPath.d.mts +5 -0
  439. package/dist/lib/snakifyPath.mjs +11 -0
  440. package/dist/lib/snakifyPath.mjs.map +1 -0
  441. package/dist/{message-CjIHdhX1.d.mts → message-CblP0EjG.d.mts} +1 -1
  442. package/dist/methodChain-DAQxLgxt.mjs +241 -0
  443. package/dist/methodChain-DAQxLgxt.mjs.map +1 -0
  444. package/dist/methodChain-Pk1C3i_E.d.mts +66 -0
  445. package/dist/methodChainTypes-CqWzfx0M.d.mts +23 -0
  446. package/dist/mixins/focus.d.mts +1 -1
  447. package/dist/mixins/hoverable.d.mts +2 -2
  448. package/dist/mixins/input.d.mts +1 -1
  449. package/dist/mixins/input.mjs +6 -14
  450. package/dist/mixins/input.mjs.map +1 -1
  451. package/dist/mixins/menuItem.d.mts +2 -2
  452. package/dist/mixins/scrollbar.d.mts +10 -0
  453. package/dist/mixins/scrollbar.mjs +31 -0
  454. package/dist/mixins/scrollbar.mjs.map +1 -0
  455. package/dist/mixins/text.d.mts +1 -1
  456. package/dist/{operators-x_ZENhrT.d.mts → operators-CoXL5Hv6.d.mts} +2 -2
  457. package/dist/operators.d.mts +1 -1
  458. package/dist/{palette-qgPRWgUN.d.mts → palette-CxXUs1Fu.d.mts} +3 -3
  459. package/dist/palette.d.mts +1 -1
  460. package/dist/patterns/LayoutLoadingShimmer/index.mjs +5 -5
  461. package/dist/patterns/PageLayout/index.d.mts +4 -1
  462. package/dist/patterns/PageLayout/index.mjs +99 -2
  463. package/dist/patterns/PageLayout/index.mjs.map +1 -1
  464. package/dist/reactRouterFallback.d.mts +1 -1
  465. package/dist/relative-date-label.d.mts +1 -1
  466. package/dist/scrollExpandedItemIntoView.d.mts +12 -0
  467. package/dist/{semantic-DUctmpu_.d.mts → semantic-CFMBsuiJ.d.mts} +2 -2
  468. package/dist/{semanticColor-IAhXS17y.d.mts → semanticColor-DuJCmDrH.d.mts} +3 -3
  469. package/dist/{text-DjTGRUM1.d.mts → text-D8HPjiEX.d.mts} +1 -1
  470. package/dist/{theme-DKiszVRN.d.mts → theme-BcaR-Au5.d.mts} +3 -3
  471. package/dist/theme.d.mts +1 -1
  472. package/dist/time-range.d.mts +7 -0
  473. package/dist/tone.d.mts +3 -3
  474. package/dist/{types-CcZbBH0e.d.mts → types-BCiq4hGv.d.mts} +1 -1
  475. package/dist/types-BGMmkUpy.d.mts +105 -0
  476. package/dist/{types-N8PYonjD.d.mts → types-C4WUSW3e.d.mts} +7 -2
  477. package/dist/{types-CuQSgl1F.d.mts → types-CkpixGWr.d.mts} +1 -1
  478. package/dist/{types-D8rWSj3z.d.mts → types-Cl-w8tYc.d.mts} +1 -1
  479. package/dist/{types-gnF3MPfk2.d.mts → types-CoVZwrMW.d.mts} +2 -2
  480. package/dist/{types-RWjW1d9I.d.mts → types-DgyGecdM.d.mts} +1 -1
  481. package/dist/types.d.mts +1 -1
  482. package/dist/types2.d.mts +1 -1
  483. package/dist/types3.d.mts +1 -1
  484. package/dist/types4.d.mts +1 -1
  485. package/dist/types5.d.mts +1 -1
  486. package/dist/types6.d.mts +1 -1
  487. package/dist/{url-state-C2gl07_y.d.mts → url-state-8j_ef8Uf.d.mts} +2 -2
  488. package/dist/url-state.d.mts +1 -1
  489. package/dist/useComboboxFooterAction.d.mts +1 -1
  490. package/dist/{useFilterStateV2-BQYcAdKR.d.mts → useFilterStateV2-CW6eght1.d.mts} +3 -3
  491. package/dist/useFilterStateV2.d.mts +1 -1
  492. package/dist/{useFormField-DDbo-ExT.d.mts → useFormField-CLRZkUZt.d.mts} +4 -2
  493. package/dist/{useFormField-DsvC5dOb.mjs → useFormField-XezSxho_.mjs} +3 -2
  494. package/dist/useFormField-XezSxho_.mjs.map +1 -0
  495. package/dist/useFormField.d.mts +1 -1
  496. package/dist/{useFormGroup-CH3kiXoa.mjs → useFormGroup-C7Cax8zO.mjs} +1 -1
  497. package/dist/{useFormGroup-CH3kiXoa.mjs.map → useFormGroup-C7Cax8zO.mjs.map} +1 -1
  498. package/dist/{useLocationPathname-K2N4fw8j.d.mts → useLocationPathname-DH5Tdq5X.d.mts} +1 -1
  499. package/dist/useLocationPathname.d.mts +1 -1
  500. package/dist/{useTableBoxDragAndDrop-CbbH3pMK.d.mts → useTableBoxDragAndDrop-Da4TiYBT.d.mts} +1 -1
  501. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  502. package/dist/useTruncation.d.mts +1 -1
  503. package/dist/{utilities-D0EhDri-.d.mts → utilities-DcsbI71T.d.mts} +1 -1
  504. package/dist/utilities.d.mts +1 -1
  505. package/dist/utils/storybook.mjs +1 -1
  506. package/dist/utils/testing.d.mts +1 -1
  507. package/dist/utils/testing.mjs.map +1 -1
  508. package/dist/utils.d.mts +1 -1
  509. package/dist/{validation-CMtfUd-R.d.mts → validation-BgwNghi2.d.mts} +3 -3
  510. package/dist/validation.d.mts +1 -1
  511. package/dist/{value-control-resolver-Au9JNS5z.d.mts → value-control-resolver-B0HDRxRN.d.mts} +3 -2
  512. package/dist/value-control-resolver.d.mts +1 -1
  513. package/dist/variables/effect.d.mts +1 -1
  514. package/dist/variables/semantic.d.mts +1 -1
  515. package/dist/variables/semantic.mjs +15 -18
  516. package/dist/variables/semantic.mjs.map +1 -1
  517. package/llms.txt +10 -1
  518. package/package.json +27 -6
  519. package/skills/ui-authoring/COMPONENTS.md +6 -1
  520. package/skills/ui-authoring/PATTERNS.md +74 -115
  521. package/dist/Combobox-1M6EwVmq.mjs.map +0 -1
  522. package/dist/DatePicker-D9JurBBj.mjs.map +0 -1
  523. package/dist/DropdownMenu-CuKSNxc9.mjs.map +0 -1
  524. package/dist/FormControl-BEk4F1EV.mjs.map +0 -1
  525. package/dist/FormField-ByT0avVx.mjs.map +0 -1
  526. package/dist/Input-Bc2yWH3j.mjs.map +0 -1
  527. package/dist/ListBox-CFBhILRy.mjs.map +0 -1
  528. package/dist/LoadingShimmer-Dizk2sZu.mjs.map +0 -1
  529. package/dist/Popover-opVa9Xhc.mjs.map +0 -1
  530. package/dist/SegmentedControl-OHrfJiw0.mjs.map +0 -1
  531. package/dist/Select-DE7uv9C8.mjs.map +0 -1
  532. package/dist/Sticker-C3Eb13OQ.mjs.map +0 -1
  533. package/dist/Table-B1gRr2XT.mjs.map +0 -1
  534. package/dist/TableBox-NP6bhtKb.mjs.map +0 -1
  535. package/dist/TableControls-CYTpBlQN.mjs.map +0 -1
  536. package/dist/Toggle-Dcn2Rqgm.mjs.map +0 -1
  537. package/dist/components/Grid/index.mjs.map +0 -1
  538. package/dist/components/Link/index.mjs.map +0 -1
  539. package/dist/components/Modal/index.mjs.map +0 -1
  540. package/dist/components/ProgressIndicator/index.mjs.map +0 -1
  541. package/dist/components/StatusIndicator/index.mjs.map +0 -1
  542. package/dist/fieldSchemaTypes-BVYSm74B.d.mts +0 -39
  543. package/dist/lib/fieldSchemaTypes.d.mts +0 -2
  544. package/dist/lib/fieldSchemaTypes.mjs +0 -41
  545. package/dist/lib/fieldSchemaTypes.mjs.map +0 -1
  546. package/dist/lib/methodChain.mjs.map +0 -1
  547. package/dist/useFormField-DsvC5dOb.mjs.map +0 -1
  548. /package/dist/{index--p6oQT9I.d.mts → index-B24gUwOx.d.mts} +0 -0
  549. /package/dist/{index-B33elXxm.d.mts → index-BFnNtGdX.d.mts} +0 -0
  550. /package/dist/{index-BO_854F2.d.mts → index-BNRXMhlr.d.mts} +0 -0
  551. /package/dist/{index-BrGZHEgX.d.mts → index-BPiqSRRl.d.mts} +0 -0
  552. /package/dist/{index-BwAfCVZH2.d.mts → index-BYd3Btr1.d.mts} +0 -0
  553. /package/dist/{index-CRo77wc3.d.mts → index-Bt4QNofW.d.mts} +0 -0
  554. /package/dist/{index-CX869wwk.d.mts → index-CEqOS-7M.d.mts} +0 -0
  555. /package/dist/{index-CsuikFeJ.d.mts → index-CIABef8t.d.mts} +0 -0
  556. /package/dist/{index-CuYZJcK3.d.mts → index-CTHojwxd.d.mts} +0 -0
  557. /package/dist/{index-CzItj62a.d.mts → index-Cm-1i165.d.mts} +0 -0
  558. /package/dist/{index-D13oYj4_.d.mts → index-DB7t8whN.d.mts} +0 -0
  559. /package/dist/{index-D4DUvwPf.d.mts → index-DBGd4WeR.d.mts} +0 -0
  560. /package/dist/{index-DMRtRo7y.d.mts → index-DGsJdI5l.d.mts} +0 -0
  561. /package/dist/{index-DXJd7-2Z.d.mts → index-DWfPppPU.d.mts} +0 -0
  562. /package/dist/{index-DZlqSwCF.d.mts → index-DedbSZMv.d.mts} +0 -0
  563. /package/dist/{index-Dflz2i1X.d.mts → index-Jh0C5PIG.d.mts} +0 -0
  564. /package/dist/{index-DkrC-i1D.d.mts → index-NKYLt_R9.d.mts} +0 -0
  565. /package/dist/{index-DztUdPP_.d.mts → index-Qwqzz3XM.d.mts} +0 -0
  566. /package/dist/{index-Rvd9MEUQ.d.mts → index-VWno75SQ.d.mts} +0 -0
  567. /package/dist/{index-bHnO4ZKt.d.mts → index-fxXoW-qc.d.mts} +0 -0
@@ -1,188 +1,2 @@
1
- import { a as styled, o as useTheme, r as css } from "../../styledComponentsInterop-NxwFjeA4.mjs";
2
- import { semanticColor, semanticTokens } from "../../lib/semanticColor.mjs";
3
- import { paragraphMixins } from "../../mixins/text.mjs";
4
- import { withAlpha } from "../../lib/color.mjs";
5
- import { focusOutline } from "../../mixins/focus.mjs";
6
- import { BorderRadius, Color, Spacing } from "@persona/design-tokens";
7
- import { jsx, jsxs } from "react/jsx-runtime";
8
- import { CircleCheckFillIcon, CircleFillIcon, CircleNullIcon, CircleWarningFillIcon, WarningFillIcon } from "@persona/icons";
9
- //#region components/ProgressIndicator/ProgressIndicator.tsx
10
- /**
11
- * Completed, warning, and error steps can be navigated back to.
12
- * The current step (first uncompleted or error) is also clickable so the user can
13
- * return to it after navigating back to an earlier step.
14
- * Active and upcoming steps (beyond the current) are not clickable.
15
- */
16
- function resolveClickable(status, isActive, isDisabled, isCurrent) {
17
- if (isDisabled || isActive) return false;
18
- return status === "completed" || status === "warning" || status === "error" || isCurrent;
19
- }
20
- function resolveIcon(status, isCurrent) {
21
- if (status === "completed") return CircleCheckFillIcon;
22
- if (status === "warning") return WarningFillIcon;
23
- if (status === "error") return CircleWarningFillIcon;
24
- if (isCurrent) return CircleFillIcon;
25
- return CircleNullIcon;
26
- }
27
- function resolveIconColor(theme, status, isActive, isDisabled) {
28
- if (isDisabled) return semanticColor(theme, "FgDisabled", Color.BorderIconDisabled);
29
- if (status === "completed") return semanticColor(theme, "FgSuccess", Color.BorderIconSuccess);
30
- if (status === "warning") return semanticColor(theme, "FgWarning1", Color.BorderIconWarning);
31
- if (status === "error") return semanticColor(theme, "FgDanger1", Color.BorderIconDanger);
32
- return isActive ? semanticColor(theme, "FgAccent", Color.BorderIconActive) : semanticColor(theme, "FgSecondary", Color.BorderIconSecondary);
33
- }
34
- function resolveTextColor(theme, status, isActive, isDisabled) {
35
- if (isDisabled) return semanticColor(theme, "FgDisabled", Color.TextDisabled);
36
- if (isActive) return semanticColor(theme, "FgAccent", Color.TextActive);
37
- if (status === "uncompleted") return semanticColor(theme, "FgSecondary", Color.TextSecondary);
38
- return semanticColor(theme, "FgPrimary", Color.TextPrimary);
39
- }
40
- const StepList = styled.ol`
41
- display: flex;
42
- flex-direction: ${({ $layout }) => $layout === "horizontal" ? "row" : "column"};
43
- gap: ${({ $layout }) => $layout === "horizontal" ? Spacing[2] : "0px"};
44
- list-style: none;
45
- margin: 0;
46
- padding: 0;
47
- `;
48
- const StepItem = styled.li`
49
- display: flex;
50
- align-items: center;
51
-
52
- ${({ $layout }) => $layout === "horizontal" && css`
53
- width: fit-content;
54
- white-space: nowrap;
55
- `}
56
- `;
57
- const StepContent = styled.button`
58
- display: flex;
59
- align-items: center;
60
- gap: ${Spacing[2]};
61
- width: 100%;
62
- padding: ${Spacing[2]};
63
- border-radius: ${BorderRadius.Md};
64
- border: none;
65
- margin: 0;
66
- font: inherit;
67
- color: inherit;
68
- text-align: left;
69
- outline: none;
70
- cursor: ${({ $isClickable, $interactive }) => $interactive && $isClickable ? "pointer" : "default"};
71
-
72
- ${({ theme, $isActive, $isClickable, $interactive }) => {
73
- const tokens = semanticTokens(theme);
74
- if ($isActive) return css`
75
- background-color: ${tokens ? withAlpha(tokens.SurfaceAccent, tokens.Opacity25) : Color.BackgroundInteractiveActive};
76
- `;
77
- if ($interactive && $isClickable) return css`
78
- background-color: ${tokens ? "transparent" : Color.BackgroundInteractiveDefault};
79
- &:hover {
80
- background-color: ${semanticColor(theme, "SurfaceSecondary", Color.BackgroundInteractiveHover)};
81
- }
82
- `;
83
- return css`
84
- background-color: transparent;
85
- `;
86
- }}
87
-
88
- ${focusOutline}
89
-
90
- &:focus-visible {
91
- position: relative;
92
- z-index: 1;
93
- }
94
- `;
95
- const IconWrapper = styled.span`
96
- display: inline-flex;
97
- flex-shrink: 0;
98
- width: 16px;
99
- height: 16px;
100
- color: ${({ $color }) => $color};
101
- line-height: 0;
102
- `;
103
- const StepLabel = styled.span`
104
- ${({ $isActive }) => $isActive ? paragraphMixins.mdBold : paragraphMixins.md};
105
- color: ${({ $color }) => $color};
106
- `;
107
- const Step = ({ step, isActive, isCurrent, layout, onStepClick }) => {
108
- const { id, label, status = "uncompleted", disabled = false } = step;
109
- const interactive = Boolean(onStepClick);
110
- const isClickable = resolveClickable(status, isActive, disabled, isCurrent);
111
- const isInteractionDisabled = disabled || !isActive && !isCurrent && status === "uncompleted";
112
- const theme = useTheme();
113
- const iconColor = resolveIconColor(theme, status, isActive, disabled);
114
- const textColor = resolveTextColor(theme, status, isActive, disabled);
115
- const Icon = resolveIcon(status, isCurrent);
116
- return /* @__PURE__ */ jsx(StepItem, {
117
- $layout: layout,
118
- "aria-current": !interactive && isActive ? "step" : void 0,
119
- "aria-disabled": !interactive && isInteractionDisabled ? true : void 0,
120
- children: /* @__PURE__ */ jsxs(StepContent, {
121
- ...interactive && isClickable ? {
122
- type: "button",
123
- onClick: () => onStepClick?.(id)
124
- } : { as: "div" },
125
- "aria-current": interactive && isActive ? "step" : void 0,
126
- "aria-disabled": interactive && isInteractionDisabled ? true : void 0,
127
- $isActive: isActive,
128
- $isClickable: isClickable,
129
- $interactive: interactive,
130
- children: [/* @__PURE__ */ jsx(IconWrapper, {
131
- $color: iconColor,
132
- "aria-hidden": "true",
133
- children: /* @__PURE__ */ jsx(Icon, {})
134
- }), /* @__PURE__ */ jsx(StepLabel, {
135
- $isActive: isActive,
136
- $color: textColor,
137
- children: label
138
- })]
139
- })
140
- });
141
- };
142
- /**
143
- * ProgressIndicator guides users through a sequence of steps.
144
- *
145
- * Interaction rules:
146
- * - **Completed / warning / error** steps are clickable — navigate back to review or fix.
147
- * - **Warning** does not block forward progression; later uncompleted steps remain reachable.
148
- * - **Error** blocks forward progression — treat it as the terminal step in the sequence.
149
- * - **Active** step is not clickable — the user is already there.
150
- * - **Upcoming (uncompleted)** steps are not clickable — sequential progression required.
151
- *
152
- * Navigation does not clear later steps. If a change on an earlier step
153
- * invalidates later data, the affected steps should be flagged and require
154
- * re-confirmation before submission — this logic lives in the consuming component.
155
- *
156
- * @example
157
- * ```tsx
158
- * <ProgressIndicator
159
- * steps={[
160
- * { id: 'identity', label: 'Identity', status: 'completed' },
161
- * { id: 'address', label: 'Address', status: 'uncompleted' },
162
- * { id: 'review', label: 'Review', status: 'uncompleted' },
163
- * ]}
164
- * activeStepId="address"
165
- * onStepClick={(id) => navigate(id)}
166
- * />
167
- * ```
168
- */
169
- const ProgressIndicator = ({ steps, activeStepId, layout = "vertical", onStepClick, "aria-label": ariaLabel = "Progress", ...rest }) => {
170
- const currentStepId = steps.find(({ status = "uncompleted" }) => status === "uncompleted" || status === "error")?.id;
171
- return /* @__PURE__ */ jsx(StepList, {
172
- $layout: layout,
173
- role: "list",
174
- "aria-label": ariaLabel,
175
- ...rest,
176
- children: steps.map((step) => /* @__PURE__ */ jsx(Step, {
177
- step,
178
- isActive: step.id === activeStepId,
179
- isCurrent: step.id === currentStepId,
180
- layout,
181
- onStepClick
182
- }, step.id))
183
- });
184
- };
185
- //#endregion
1
+ import { t as ProgressIndicator } from "../../ProgressIndicator-CQg08vuA.mjs";
186
2
  export { ProgressIndicator, ProgressIndicator as default };
187
-
188
- //# sourceMappingURL=index.mjs.map
@@ -1,2 +1,2 @@
1
- import { t as Radio } from "../../Radio-Ds1pODKw.mjs";
1
+ import { t as Radio } from "../../Radio-CYV290JI.mjs";
2
2
  export { Radio, Radio as default };
@@ -1,2 +1,2 @@
1
- import { n as RadioGroupProps, t as RadioGroup } from "../../RadioGroup-CxL6LW4q.mjs";
1
+ import { n as RadioGroupProps, t as RadioGroup } from "../../RadioGroup-Cq3KV1TN.mjs";
2
2
  export { RadioGroup, RadioGroup as default, RadioGroupProps };
@@ -1,2 +1,2 @@
1
- import { t as RadioGroup } from "../../RadioGroup-HIC9V2hO.mjs";
1
+ import { t as RadioGroup } from "../../RadioGroup-lWMMtu9V.mjs";
2
2
  export { RadioGroup, RadioGroup as default };
@@ -1,8 +1,10 @@
1
1
  import { a as styled } from "../../styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { semanticColor } from "../../lib/semanticColor.mjs";
2
3
  import { i as Paragraph } from "../../Text-BdluS7Fy.mjs";
3
- import { n as Stack, t as HStack } from "../../Stack-ChsImaEY.mjs";
4
- import { t as IconButton } from "../../IconButton-CqTPMhjV.mjs";
5
- import { t as LoadingShimmer } from "../../LoadingShimmer-Dizk2sZu.mjs";
4
+ import { semanticScrollbar } from "../../mixins/scrollbar.mjs";
5
+ import { n as Stack, t as HStack } from "../../Stack-Bkn0TUDe.mjs";
6
+ import { t as IconButton } from "../../IconButton-CCLMYWVN.mjs";
7
+ import { t as LoadingShimmer } from "../../LoadingShimmer-dRSkdlqD.mjs";
6
8
  import { Color, Spacing } from "@persona/design-tokens";
7
9
  import { useCallback, useEffect, useRef, useState } from "react";
8
10
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -73,7 +75,7 @@ const Handle = styled.div`
73
75
 
74
76
  &:hover::after,
75
77
  &${`.${DRAGGING_CLASSNAME}`}::after {
76
- background-color: ${({ theme }) => theme.color.border.active};
78
+ background-color: ${({ theme }) => semanticColor(theme, "BorderFocus", theme.color.border.active)};
77
79
  }
78
80
  `;
79
81
  const RightPanelResizeHandle = ({ onMove, onMoveTo, onMoveStart, onMoveEnd, onDoubleClick }) => {
@@ -165,17 +167,18 @@ const PanelInner = styled.div`
165
167
  outline: none;
166
168
  display: flex;
167
169
  flex-direction: column;
168
- background: ${Color.BackgroundPrimary};
169
- border-left: 1px solid ${Color.BorderDivider};
170
+ background: ${({ theme }) => semanticColor(theme, "SurfacePrimary", Color.BackgroundPrimary)};
171
+ border-left: 1px solid ${({ theme }) => semanticColor(theme, "BorderSubtle", Color.BorderDivider)};
170
172
  `;
171
173
  const PanelHeader = styled.div`
172
174
  padding: ${Spacing[4]};
173
- border-bottom: 1px solid ${({ theme }) => theme.color.border.primary};
175
+ border-bottom: 1px solid ${({ theme }) => semanticColor(theme, "BorderSubtle", theme.color.border.primary)};
174
176
  flex-shrink: 0;
175
177
  `;
176
178
  const PanelBody = styled.div`
177
179
  flex: 1;
178
180
  overflow-y: auto;
181
+ ${semanticScrollbar}
179
182
  padding: ${Spacing[4]};
180
183
  padding-bottom: ${BODY_BOTTOM_PADDING};
181
184
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/RightPanel/RightPanelLoadingContent.tsx","../../../components/RightPanel/RightPanelResizeHandle.tsx","../../../components/RightPanel/RightPanel.tsx"],"sourcesContent":["import { LoadingShimmer } from '@persona/design-system/components/LoadingShimmer';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport { Spacing } from '@persona/design-tokens';\n\nconst RightPanelLoadingContent = () => (\n <Stack spacing={Spacing[5]} aria-label='Loading panel content'>\n <Stack spacing={Spacing[2]}>\n <LoadingShimmer width='30%' height='16px' />\n <LoadingShimmer width='100%' height='40px' />\n </Stack>\n <Stack spacing={Spacing[2]}>\n <LoadingShimmer width='35%' height='16px' />\n <LoadingShimmer width='100%' height='200px' />\n </Stack>\n <HStack justify='flex-end'>\n <LoadingShimmer width='80px' height='32px' />\n </HStack>\n </Stack>\n);\n\nexport default RightPanelLoadingContent;\n","import { type FC, type KeyboardEvent, type PointerEvent, useEffect, useRef, useState } from 'react';\nimport { mergeProps, useMove } from 'react-aria';\nimport styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nconst DRAGGING_CLASSNAME = 'dragging';\nconst KEYBOARD_RESIZE_STEP = 10;\nconst KEYBOARD_RESIZE_STEP_LARGE = 40;\n\nexport interface RightPanelResizeHandleProps {\n onMove: (deltaX: number) => void;\n onMoveTo?: (clientX: number) => void;\n onMoveStart?: () => void;\n onMoveEnd?: () => void;\n onDoubleClick?: () => void;\n}\n\nconst Handle = styled.div`\n touch-action: none;\n cursor: col-resize;\n position: absolute;\n z-index: 1;\n width: ${Spacing[2]};\n top: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 2px;\n background-color: transparent;\n transition: background-color 0.15s ease-in;\n transition-delay: 0.025s;\n }\n\n &:hover::after,\n &${`.${DRAGGING_CLASSNAME}`}::after {\n background-color: ${({ theme }) => theme.color.border.active};\n }\n`;\n\nconst RightPanelResizeHandle: FC<RightPanelResizeHandleProps> = ({\n onMove,\n onMoveTo,\n onMoveStart,\n onMoveEnd,\n onDoubleClick,\n}) => {\n const [isDragging, setIsDragging] = useState(false);\n const isDraggingRef = useRef(false);\n const capturedPointerIdRef = useRef<number | null>(null);\n const onMoveEndRef = useRef(onMoveEnd);\n onMoveEndRef.current = onMoveEnd;\n\n const { moveProps } = useMove({\n onMoveStart(e) {\n if (e.pointerType !== 'keyboard') {\n isDraggingRef.current = true;\n setIsDragging(true);\n }\n onMoveStart?.();\n },\n onMove(e) {\n if (e.pointerType !== 'keyboard') {\n return;\n }\n const step = e.shiftKey ? KEYBOARD_RESIZE_STEP_LARGE : KEYBOARD_RESIZE_STEP;\n onMove(e.deltaX * step);\n },\n onMoveEnd(e) {\n if (e.pointerType !== 'keyboard') {\n isDraggingRef.current = false;\n setIsDragging(false);\n capturedPointerIdRef.current = null;\n }\n onMoveEnd?.();\n },\n });\n\n useEffect(() => {\n return () => {\n if (isDraggingRef.current) {\n onMoveEndRef.current?.();\n }\n };\n }, []);\n\n return (\n <Handle\n {...mergeProps(moveProps, {\n onDoubleClick,\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n onDoubleClick?.();\n e.preventDefault();\n }\n },\n onLostPointerCapture: (e: PointerEvent<HTMLDivElement>) => {\n if (capturedPointerIdRef.current !== e.pointerId) {\n return;\n }\n capturedPointerIdRef.current = null;\n window.dispatchEvent(\n new PointerEvent('pointerup', {\n bubbles: true,\n pointerId: e.pointerId,\n pointerType: e.pointerType || 'mouse',\n }),\n );\n },\n onPointerDown: (e: PointerEvent<HTMLDivElement>) => {\n if (e.button !== 0 || capturedPointerIdRef.current != null) {\n return;\n }\n capturedPointerIdRef.current = e.pointerId;\n try {\n e.currentTarget.setPointerCapture(e.pointerId);\n } catch {\n // Pointer capture unsupported.\n }\n },\n onPointerMove: (e: PointerEvent<HTMLDivElement>) => {\n if (capturedPointerIdRef.current !== e.pointerId) {\n return;\n }\n onMoveTo?.(e.clientX);\n },\n })}\n aria-label='Resize right panel'\n aria-orientation='vertical'\n role='separator'\n tabIndex={0}\n className={isDragging ? DRAGGING_CLASSNAME : undefined}\n />\n );\n};\n\nexport default RightPanelResizeHandle;\n","import { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\nimport {\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled from 'styled-components';\n\nimport { IconButton } from '@persona/design-system/components/Button';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport { Paragraph } from '@persona/design-system/components/Text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\n\nimport RightPanelLoadingContent from './RightPanelLoadingContent';\nimport RightPanelResizeHandle from './RightPanelResizeHandle';\n\nconst OPEN_DURATION = 0.4;\nconst CLOSE_DURATION = 0.3;\nconst DEFAULT_MIN_WIDTH = 450;\nconst MAX_WIDTH_RATIO = 0.5;\n// Reserves scroll-area space so form submit buttons don't collide with the\n// floating Copilot button (anchored at bottom: Spacing[5], 48px hit target).\nconst BODY_BOTTOM_PADDING = `calc(${Spacing[5]} + 48px + ${Spacing[5]})`;\n\nconst PanelOuter = styled(motion.div)`\n flex-shrink: 0;\n height: 100%;\n overflow: hidden;\n`;\n\nconst PanelInner = styled.div<{ $width: number; $useMinWidth: boolean }>`\n position: relative;\n ${({ $width, $useMinWidth }) => ($useMinWidth ? `min-width: ${$width}px;` : '')}\n height: 100%;\n outline: none;\n display: flex;\n flex-direction: column;\n background: ${Color.BackgroundPrimary};\n border-left: 1px solid ${Color.BorderDivider};\n`;\n\nconst PanelHeader = styled.div`\n padding: ${Spacing[4]};\n border-bottom: 1px solid ${({ theme }) => theme.color.border.primary};\n flex-shrink: 0;\n`;\n\nconst PanelBody = styled.div`\n flex: 1;\n overflow-y: auto;\n padding: ${Spacing[4]};\n padding-bottom: ${BODY_BOTTOM_PADDING};\n`;\n\nexport interface RightPanelProps {\n /** Controlled open state */\n open?: boolean;\n /** Panel id */\n id?: string;\n /** Called when open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** Panel title rendered in header */\n title: string;\n /** Optional description below title */\n description?: string;\n /** Panel content */\n children: ReactNode;\n /** Panel width in pixels */\n width?: number;\n /** Minimum width when resizable. Defaults to 450px. */\n minWidth?: number;\n /** When true, the panel is drag-resizable via its left edge. */\n resizable?: boolean;\n /** When true, render a shimmer placeholder in the body instead of children. */\n loading?: boolean;\n}\n\nconst RightPanel = ({\n id,\n open = false,\n onOpenChange,\n title,\n description,\n children,\n width = DEFAULT_MIN_WIDTH,\n minWidth = DEFAULT_MIN_WIDTH,\n resizable = false,\n loading = false,\n}: RightPanelProps) => {\n const panelRef = useRef<HTMLDivElement>(null);\n const previousActiveElementRef = useRef<HTMLElement | null>(null);\n const prefersReducedMotion = useReducedMotion();\n\n const defaultWidth = resizable ? Math.max(minWidth, width) : width;\n const [currentWidth, setCurrentWidth] = useState(defaultWidth);\n const [shouldAnimateWidth, setShouldAnimateWidth] = useState(true);\n\n const effectiveWidth = resizable ? currentWidth : width;\n\n const handleClose = useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n handleClose();\n }\n },\n [handleClose],\n );\n\n useEffect(() => {\n if (open) {\n previousActiveElementRef.current = document.activeElement as HTMLElement | null;\n panelRef.current?.focus();\n } else if (\n previousActiveElementRef.current &&\n document.contains(previousActiveElementRef.current)\n ) {\n previousActiveElementRef.current.focus();\n previousActiveElementRef.current = null;\n }\n }, [open]);\n\n const clampWidth = useCallback(\n (nextWidth: number) =>\n Math.min(MAX_WIDTH_RATIO * window.innerWidth, Math.max(minWidth, nextWidth)),\n [minWidth],\n );\n\n const handleMove = useCallback(\n (deltaX: number) => {\n setCurrentWidth((current) => clampWidth(current - deltaX));\n },\n [clampWidth],\n );\n\n const handleMoveTo = useCallback(\n (clientX: number) => {\n const rightEdge = panelRef.current?.getBoundingClientRect().right ?? window.innerWidth;\n setCurrentWidth(clampWidth(rightEdge - clientX));\n },\n [clampWidth],\n );\n\n const handleMoveStart = useCallback(() => {\n setShouldAnimateWidth(false);\n }, []);\n\n const handleMoveEnd = useCallback(() => {\n setShouldAnimateWidth(true);\n }, []);\n\n const handleDoubleClick = useCallback(() => {\n setShouldAnimateWidth(true);\n setCurrentWidth(defaultWidth);\n }, [defaultWidth]);\n\n return (\n <AnimatePresence>\n {open && (\n <PanelOuter\n initial={{\n width: prefersReducedMotion ? effectiveWidth : 0,\n minWidth: prefersReducedMotion ? effectiveWidth : 0,\n }}\n animate={{\n width: effectiveWidth,\n minWidth: effectiveWidth,\n transition: {\n duration: prefersReducedMotion ? 0 : OPEN_DURATION,\n ease: 'circOut',\n width: shouldAnimateWidth && !prefersReducedMotion ? undefined : { duration: 0 },\n minWidth: shouldAnimateWidth && !prefersReducedMotion ? undefined : { duration: 0 },\n },\n }}\n exit={{\n width: 0,\n minWidth: 0,\n transition: {\n duration: prefersReducedMotion ? 0 : CLOSE_DURATION,\n ease: 'circOut',\n },\n }}\n >\n <PanelInner\n ref={panelRef}\n id={id}\n $width={effectiveWidth}\n $useMinWidth={shouldAnimateWidth}\n role='complementary'\n aria-label={title}\n tabIndex={-1}\n onKeyDown={handleKeyDown}\n >\n {resizable && (\n <RightPanelResizeHandle\n onMove={handleMove}\n onMoveTo={handleMoveTo}\n onMoveStart={handleMoveStart}\n onMoveEnd={handleMoveEnd}\n onDoubleClick={handleDoubleClick}\n />\n )}\n <PanelHeader>\n <Stack spacing={Spacing[2]}>\n <HStack justify='space-between' align='center' spacing={Spacing[2]}>\n <Paragraph as='h3' size='lg' weight='bold' color='primary'>\n {title}\n </Paragraph>\n <IconButton size='md' aria-label='Close' onClick={handleClose}>\n <XIcon />\n </IconButton>\n </HStack>\n {description && (\n <Paragraph size='md' color='secondary'>\n {description}\n </Paragraph>\n )}\n </Stack>\n </PanelHeader>\n <PanelBody>{loading ? <RightPanelLoadingContent /> : children}</PanelBody>\n </PanelInner>\n </PanelOuter>\n )}\n </AnimatePresence>\n );\n};\n\nexport { RightPanel };\nexport default RightPanel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/RightPanel/RightPanelLoadingContent.tsx","../../../components/RightPanel/RightPanelResizeHandle.tsx","../../../components/RightPanel/RightPanel.tsx"],"sourcesContent":["import { LoadingShimmer } from '@persona/design-system/components/LoadingShimmer';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport { Spacing } from '@persona/design-tokens';\n\nconst RightPanelLoadingContent = () => (\n <Stack spacing={Spacing[5]} aria-label='Loading panel content'>\n <Stack spacing={Spacing[2]}>\n <LoadingShimmer width='30%' height='16px' />\n <LoadingShimmer width='100%' height='40px' />\n </Stack>\n <Stack spacing={Spacing[2]}>\n <LoadingShimmer width='35%' height='16px' />\n <LoadingShimmer width='100%' height='200px' />\n </Stack>\n <HStack justify='flex-end'>\n <LoadingShimmer width='80px' height='32px' />\n </HStack>\n </Stack>\n);\n\nexport default RightPanelLoadingContent;\n","import { type FC, type KeyboardEvent, type PointerEvent, useEffect, useRef, useState } from 'react';\nimport { mergeProps, useMove } from 'react-aria';\nimport styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport { semanticColor } from 'design-system/lib/semanticColor';\n\nconst DRAGGING_CLASSNAME = 'dragging';\nconst KEYBOARD_RESIZE_STEP = 10;\nconst KEYBOARD_RESIZE_STEP_LARGE = 40;\n\nexport interface RightPanelResizeHandleProps {\n onMove: (deltaX: number) => void;\n onMoveTo?: (clientX: number) => void;\n onMoveStart?: () => void;\n onMoveEnd?: () => void;\n onDoubleClick?: () => void;\n}\n\nconst Handle = styled.div`\n touch-action: none;\n cursor: col-resize;\n position: absolute;\n z-index: 1;\n width: ${Spacing[2]};\n top: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 2px;\n background-color: transparent;\n transition: background-color 0.15s ease-in;\n transition-delay: 0.025s;\n }\n\n &:hover::after,\n &${`.${DRAGGING_CLASSNAME}`}::after {\n background-color: ${({ theme }) => semanticColor(theme, 'BorderFocus', theme.color.border.active)};\n }\n`;\n\nconst RightPanelResizeHandle: FC<RightPanelResizeHandleProps> = ({\n onMove,\n onMoveTo,\n onMoveStart,\n onMoveEnd,\n onDoubleClick,\n}) => {\n const [isDragging, setIsDragging] = useState(false);\n const isDraggingRef = useRef(false);\n const capturedPointerIdRef = useRef<number | null>(null);\n const onMoveEndRef = useRef(onMoveEnd);\n onMoveEndRef.current = onMoveEnd;\n\n const { moveProps } = useMove({\n onMoveStart(e) {\n if (e.pointerType !== 'keyboard') {\n isDraggingRef.current = true;\n setIsDragging(true);\n }\n onMoveStart?.();\n },\n onMove(e) {\n if (e.pointerType !== 'keyboard') {\n return;\n }\n const step = e.shiftKey ? KEYBOARD_RESIZE_STEP_LARGE : KEYBOARD_RESIZE_STEP;\n onMove(e.deltaX * step);\n },\n onMoveEnd(e) {\n if (e.pointerType !== 'keyboard') {\n isDraggingRef.current = false;\n setIsDragging(false);\n capturedPointerIdRef.current = null;\n }\n onMoveEnd?.();\n },\n });\n\n useEffect(() => {\n return () => {\n if (isDraggingRef.current) {\n onMoveEndRef.current?.();\n }\n };\n }, []);\n\n return (\n <Handle\n {...mergeProps(moveProps, {\n onDoubleClick,\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n onDoubleClick?.();\n e.preventDefault();\n }\n },\n onLostPointerCapture: (e: PointerEvent<HTMLDivElement>) => {\n if (capturedPointerIdRef.current !== e.pointerId) {\n return;\n }\n capturedPointerIdRef.current = null;\n window.dispatchEvent(\n new PointerEvent('pointerup', {\n bubbles: true,\n pointerId: e.pointerId,\n pointerType: e.pointerType || 'mouse',\n }),\n );\n },\n onPointerDown: (e: PointerEvent<HTMLDivElement>) => {\n if (e.button !== 0 || capturedPointerIdRef.current != null) {\n return;\n }\n capturedPointerIdRef.current = e.pointerId;\n try {\n e.currentTarget.setPointerCapture(e.pointerId);\n } catch {\n // Pointer capture unsupported.\n }\n },\n onPointerMove: (e: PointerEvent<HTMLDivElement>) => {\n if (capturedPointerIdRef.current !== e.pointerId) {\n return;\n }\n onMoveTo?.(e.clientX);\n },\n })}\n aria-label='Resize right panel'\n aria-orientation='vertical'\n role='separator'\n tabIndex={0}\n className={isDragging ? DRAGGING_CLASSNAME : undefined}\n />\n );\n};\n\nexport default RightPanelResizeHandle;\n","import { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\nimport {\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled from 'styled-components';\n\nimport { IconButton } from '@persona/design-system/components/Button';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport { Paragraph } from '@persona/design-system/components/Text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport { semanticScrollbar } from 'design-system/mixins/scrollbar';\n\nimport RightPanelLoadingContent from './RightPanelLoadingContent';\nimport RightPanelResizeHandle from './RightPanelResizeHandle';\n\nconst OPEN_DURATION = 0.4;\nconst CLOSE_DURATION = 0.3;\nconst DEFAULT_MIN_WIDTH = 450;\nconst MAX_WIDTH_RATIO = 0.5;\n// Reserves scroll-area space so form submit buttons don't collide with the\n// floating Copilot button (anchored at bottom: Spacing[5], 48px hit target).\nconst BODY_BOTTOM_PADDING = `calc(${Spacing[5]} + 48px + ${Spacing[5]})`;\n\nconst PanelOuter = styled(motion.div)`\n flex-shrink: 0;\n height: 100%;\n overflow: hidden;\n`;\n\nconst PanelInner = styled.div<{ $width: number; $useMinWidth: boolean }>`\n position: relative;\n ${({ $width, $useMinWidth }) => ($useMinWidth ? `min-width: ${$width}px;` : '')}\n height: 100%;\n outline: none;\n display: flex;\n flex-direction: column;\n background: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', Color.BackgroundPrimary)};\n border-left: 1px solid ${({ theme }) => semanticColor(theme, 'BorderSubtle', Color.BorderDivider)};\n`;\n\nconst PanelHeader = styled.div`\n padding: ${Spacing[4]};\n border-bottom: 1px solid ${({ theme }) =>\n semanticColor(theme, 'BorderSubtle', theme.color.border.primary)};\n flex-shrink: 0;\n`;\n\nconst PanelBody = styled.div`\n flex: 1;\n overflow-y: auto;\n ${semanticScrollbar}\n padding: ${Spacing[4]};\n padding-bottom: ${BODY_BOTTOM_PADDING};\n`;\n\nexport interface RightPanelProps {\n /** Controlled open state */\n open?: boolean;\n /** Panel id */\n id?: string;\n /** Called when open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** Panel title rendered in header */\n title: string;\n /** Optional description below title */\n description?: string;\n /** Panel content */\n children: ReactNode;\n /** Panel width in pixels */\n width?: number;\n /** Minimum width when resizable. Defaults to 450px. */\n minWidth?: number;\n /** When true, the panel is drag-resizable via its left edge. */\n resizable?: boolean;\n /** When true, render a shimmer placeholder in the body instead of children. */\n loading?: boolean;\n}\n\nconst RightPanel = ({\n id,\n open = false,\n onOpenChange,\n title,\n description,\n children,\n width = DEFAULT_MIN_WIDTH,\n minWidth = DEFAULT_MIN_WIDTH,\n resizable = false,\n loading = false,\n}: RightPanelProps) => {\n const panelRef = useRef<HTMLDivElement>(null);\n const previousActiveElementRef = useRef<HTMLElement | null>(null);\n const prefersReducedMotion = useReducedMotion();\n\n const defaultWidth = resizable ? Math.max(minWidth, width) : width;\n const [currentWidth, setCurrentWidth] = useState(defaultWidth);\n const [shouldAnimateWidth, setShouldAnimateWidth] = useState(true);\n\n const effectiveWidth = resizable ? currentWidth : width;\n\n const handleClose = useCallback(() => {\n onOpenChange?.(false);\n }, [onOpenChange]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n handleClose();\n }\n },\n [handleClose],\n );\n\n useEffect(() => {\n if (open) {\n previousActiveElementRef.current = document.activeElement as HTMLElement | null;\n panelRef.current?.focus();\n } else if (\n previousActiveElementRef.current &&\n document.contains(previousActiveElementRef.current)\n ) {\n previousActiveElementRef.current.focus();\n previousActiveElementRef.current = null;\n }\n }, [open]);\n\n const clampWidth = useCallback(\n (nextWidth: number) =>\n Math.min(MAX_WIDTH_RATIO * window.innerWidth, Math.max(minWidth, nextWidth)),\n [minWidth],\n );\n\n const handleMove = useCallback(\n (deltaX: number) => {\n setCurrentWidth((current) => clampWidth(current - deltaX));\n },\n [clampWidth],\n );\n\n const handleMoveTo = useCallback(\n (clientX: number) => {\n const rightEdge = panelRef.current?.getBoundingClientRect().right ?? window.innerWidth;\n setCurrentWidth(clampWidth(rightEdge - clientX));\n },\n [clampWidth],\n );\n\n const handleMoveStart = useCallback(() => {\n setShouldAnimateWidth(false);\n }, []);\n\n const handleMoveEnd = useCallback(() => {\n setShouldAnimateWidth(true);\n }, []);\n\n const handleDoubleClick = useCallback(() => {\n setShouldAnimateWidth(true);\n setCurrentWidth(defaultWidth);\n }, [defaultWidth]);\n\n return (\n <AnimatePresence>\n {open && (\n <PanelOuter\n initial={{\n width: prefersReducedMotion ? effectiveWidth : 0,\n minWidth: prefersReducedMotion ? effectiveWidth : 0,\n }}\n animate={{\n width: effectiveWidth,\n minWidth: effectiveWidth,\n transition: {\n duration: prefersReducedMotion ? 0 : OPEN_DURATION,\n ease: 'circOut',\n width: shouldAnimateWidth && !prefersReducedMotion ? undefined : { duration: 0 },\n minWidth: shouldAnimateWidth && !prefersReducedMotion ? undefined : { duration: 0 },\n },\n }}\n exit={{\n width: 0,\n minWidth: 0,\n transition: {\n duration: prefersReducedMotion ? 0 : CLOSE_DURATION,\n ease: 'circOut',\n },\n }}\n >\n <PanelInner\n ref={panelRef}\n id={id}\n $width={effectiveWidth}\n $useMinWidth={shouldAnimateWidth}\n role='complementary'\n aria-label={title}\n tabIndex={-1}\n onKeyDown={handleKeyDown}\n >\n {resizable && (\n <RightPanelResizeHandle\n onMove={handleMove}\n onMoveTo={handleMoveTo}\n onMoveStart={handleMoveStart}\n onMoveEnd={handleMoveEnd}\n onDoubleClick={handleDoubleClick}\n />\n )}\n <PanelHeader>\n <Stack spacing={Spacing[2]}>\n <HStack justify='space-between' align='center' spacing={Spacing[2]}>\n <Paragraph as='h3' size='lg' weight='bold' color='primary'>\n {title}\n </Paragraph>\n <IconButton size='md' aria-label='Close' onClick={handleClose}>\n <XIcon />\n </IconButton>\n </HStack>\n {description && (\n <Paragraph size='md' color='secondary'>\n {description}\n </Paragraph>\n )}\n </Stack>\n </PanelHeader>\n <PanelBody>{loading ? <RightPanelLoadingContent /> : children}</PanelBody>\n </PanelInner>\n </PanelOuter>\n )}\n </AnimatePresence>\n );\n};\n\nexport { RightPanel };\nexport default RightPanel;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { i as SegmentedControlProps, n as SegmentedControlItem, t as SegmentedControl } from "../../SegmentedControl-vCnGsdXo.mjs";
1
+ import { i as SegmentedControlProps, n as SegmentedControlItem, t as SegmentedControl } from "../../SegmentedControl-DgDabSgr.mjs";
2
2
  export { SegmentedControl, SegmentedControl as default, SegmentedControlItem, SegmentedControlProps };
@@ -1,2 +1,2 @@
1
- import { n as SegmentedControlItem, t as SegmentedControl } from "../../SegmentedControl-OHrfJiw0.mjs";
1
+ import { n as SegmentedControlItem, t as SegmentedControl } from "../../SegmentedControl-BEbIcV3g.mjs";
2
2
  export { SegmentedControl, SegmentedControl as default, SegmentedControlItem };
@@ -1,2 +1,2 @@
1
- import { i as SelectProps, n as Select, r as SelectHeader, t as Option } from "../../Select-sQb4dQwT.mjs";
1
+ import { i as SelectProps, n as Select, r as SelectHeader, t as Option } from "../../Select-wqTtGyga.mjs";
2
2
  export { Option, Select, Select as default, SelectHeader, SelectProps };
@@ -1,2 +1,2 @@
1
- import { n as Select, r as SelectHeader, t as Option } from "../../Select-DE7uv9C8.mjs";
1
+ import { n as Select, r as SelectHeader, t as Option } from "../../Select-yC2t_gZb.mjs";
2
2
  export { Option, Select, Select as default, SelectHeader };
@@ -136,7 +136,7 @@ const SliderTrack = styled.div`
136
136
 
137
137
  ${({ theme, percents, track, disabled }) => {
138
138
  const activeColor = disabled ? semanticColor(theme, "InputBorderDisabled", Color.BorderInputDisabled) : semanticColor(theme, "InputBorderAccent", Color.CoreBlue700);
139
- const trackColor = semanticColor(theme, "BorderDivider", Color.BorderDivider);
139
+ const trackColor = semanticColor(theme, "BorderSubtle", Color.BorderDivider);
140
140
  if (track === false) return css`
141
141
  background: ${trackColor};
142
142
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Slider/SliderThumb.tsx","../../../components/Slider/Slider.tsx","../../../components/Slider/SliderRHF.tsx"],"sourcesContent":["import {\n autoUpdate,\n type ElementProps,\n flip,\n type FloatingContext,\n offset,\n shift,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { useFocusRing } from '@react-aria/focus';\nimport { useSliderThumb } from '@react-aria/slider';\nimport { mergeProps } from '@react-aria/utils';\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\nimport type { SliderState } from '@react-stately/slider';\nimport { debounce } from 'lodash-es';\nimport {\n type OutputHTMLAttributes,\n type RefObject,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled from 'styled-components';\n\nimport { Color } from '@persona/design-tokens';\nimport { FloatingTooltip } from 'design-system/components/Tooltip';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport { focusStyle } from 'design-system/mixins/focus';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst Tooltip = styled(FloatingTooltip)`\n ${paragraphMixins.sm};\n`;\n\nconst Thumb = styled('div')<{ disabled?: boolean }>`\n /* Note this will break if the element is not on a white background. Variable is provided to be able to override. */\n --background-color-behind-thumb: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', Color.PrimaryWhite)};\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n background: ${({ theme, disabled }) =>\n disabled\n ? semanticColor(theme, 'InputSurfaceDisabled', Color.BackgroundInputDisabled)\n : semanticColor(theme, 'InputSurfaceInverseStatic', Color.BackgroundInputDefault)};\n cursor: ${(props) => (props.disabled ? 'inherit' : 'pointer')};\n border-radius: 50%;\n border: 1px solid\n ${({ theme, disabled }) =>\n disabled\n ? semanticColor(theme, 'InputBorderDisabled', Color.BorderInputDisabled)\n : semanticColor(theme, 'BorderDefault', Color.BorderInputDisabled)};\n /* Enable clicks on thumb */\n pointer-events: auto;\n\n &[data-focused] {\n ${focusStyle}\n /* Extra pixel of size to overlap into the outline, fixing a small visual bug */\n box-shadow: 0 0 0 2px var(--background-color-behind-thumb);\n }\n`;\n\ninterface SliderThumbProps {\n state: SliderState;\n trackRef: RefObject<HTMLElement>;\n index: number;\n outputProps: OutputHTMLAttributes<HTMLOutputElement>;\n hideTooltips?: boolean;\n}\n\ninterface UsePressedOptions {\n delay?: number;\n}\n\nconst usePressed = (context: FloatingContext, options?: UsePressedOptions): ElementProps => {\n const closeHandler = useMemo(\n () => debounce(() => context.onOpenChange(false), options?.delay ?? 500),\n [],\n );\n return {\n reference: {\n onPointerDown: () => {\n context.onOpenChange(true);\n },\n onPointerUp: () => {\n closeHandler();\n },\n },\n };\n};\n\nconst SliderThumb = ({ state, trackRef, index, outputProps, hideTooltips }: SliderThumbProps) => {\n const inputRef = useRef(null);\n const { thumbProps, inputProps } = useSliderThumb(\n {\n index,\n trackRef,\n inputRef,\n },\n state,\n );\n\n const { focusProps, isFocused } = useFocusRing();\n\n const [open, setOpen] = useState(false);\n\n const { x, y, refs, strategy, context } = useFloating({\n placement: 'top',\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n middleware: [offset(4), flip(), shift({ padding: 4 })],\n });\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useRole(context, { role: 'tooltip' }),\n useDismiss(context),\n usePressed(context),\n ]);\n\n useEffect(() => {\n setOpen(isFocused);\n }, [isFocused]);\n\n return (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n left: `${state.getThumbPercent(index) * 100}%`,\n }}\n >\n {open && !hideTooltips && (\n <Tooltip\n {...mergeProps(\n getFloatingProps({\n ref: refs.setFloating,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n },\n }),\n outputProps,\n )}\n >\n {state.getThumbValueLabel(index)}\n </Tooltip>\n )}\n <Thumb\n {...mergeProps(\n thumbProps,\n getReferenceProps({\n ref: refs.setReference,\n }),\n isFocused ? { 'data-focused': true } : undefined,\n )}\n >\n <VisuallyHidden>\n <input ref={inputRef} {...mergeProps(inputProps, focusProps)} />\n </VisuallyHidden>\n </Thumb>\n </div>\n );\n};\n\nexport default SliderThumb;\n","import type { NumberFormatOptions } from '@internationalized/number';\nimport { useNumberFormatter } from '@react-aria/i18n';\nimport { useSlider } from '@react-aria/slider';\nimport { useSliderState } from '@react-stately/slider';\nimport type { SliderProps as SliderPropsType } from '@react-types/slider';\nimport { type FocusEventHandler, type ReactNode, useRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport SliderThumb from 'design-system/components/Slider/SliderThumb';\nimport { semanticColor, semanticOnly } from 'design-system/lib/semanticColor';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst SliderContainer = styled.div`\n display: flex;\n align-items: center;\n touch-action: none;\n position: relative;\n`;\n\nconst SliderLabel = styled.div<{ $disabled?: boolean }>`\n ${paragraphMixins.md};\n ${({ $disabled }) =>\n semanticOnly((tokens) => `color: ${$disabled ? tokens.FgDisabled : tokens.FgPrimary};`)}\n &:first-of-type {\n padding-right: ${Spacing[2]};\n }\n\n &:last-of-type {\n padding-left: ${Spacing[2]};\n }\n`;\n\ntype SliderTrackProps = {\n track?: boolean;\n percents: number[];\n disabled?: boolean;\n};\nconst SliderTrack = styled.div<SliderTrackProps>`\n position: relative;\n width: 100%;\n height: 4px;\n border-radius: 4px;\n outline: none;\n transition: background 0.2s;\n\n /* Disable clicks on slide bar */\n pointer-events: none;\n\n ${({ theme, percents, track, disabled }) => {\n const activeColor = disabled\n ? semanticColor(theme, 'InputBorderDisabled', Color.BorderInputDisabled)\n : semanticColor(theme, 'InputBorderAccent', Color.CoreBlue700);\n const trackColor = semanticColor(theme, 'BorderDivider', Color.BorderDivider);\n\n if (track === false) {\n return css`\n background: ${trackColor};\n `;\n }\n\n if (percents.length === 2) {\n return css`\n background: linear-gradient(\n to right,\n ${trackColor} 0%,\n ${trackColor} ${percents[0] * 100}%,\n ${activeColor} ${percents[0] * 100}%,\n ${activeColor} ${percents[1] * 100}%,\n ${trackColor} ${percents[1] * 100}%,\n ${trackColor} 100%\n );\n `;\n }\n\n const leftColor = activeColor;\n const rightColor = trackColor;\n\n return css`\n background: linear-gradient(\n to right,\n ${leftColor} 0%,\n ${leftColor} ${percents[0] * 100}%,\n ${rightColor} ${percents[0] * 100}%,\n ${rightColor} 100%\n );\n `;\n }}\n`;\n\nexport interface SliderProps<T = number | number[]> {\n min?: number;\n minLabel?: ReactNode;\n max?: number;\n maxLabel?: ReactNode;\n onChange?: (value: T) => void;\n value?: T;\n defaultValue?: T;\n step?: number;\n\n /**\n * Show labels on ends of track\n */\n showLabels?: boolean;\n\n /**\n * Track style\n */\n track?: boolean;\n\n /**\n * Hide tooltips on slider thumbs\n */\n hideTooltips?: boolean;\n width?: number | 'auto';\n disabled?: boolean;\n formatOptions?: NumberFormatOptions;\n\n id?: string;\n className?: string;\n name?: string;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\nexport const Slider = ({\n minLabel,\n maxLabel,\n showLabels,\n track,\n width,\n hideTooltips,\n className,\n id,\n onBlur,\n ...elemProps\n}: SliderProps) => {\n const { min, max, value, defaultValue, disabled } = elemProps;\n const trackRef = useRef(null);\n const numberFormatter = useNumberFormatter(elemProps.formatOptions);\n\n const ariaElemProps: SliderPropsType = {\n ...elemProps,\n isDisabled: disabled,\n minValue: min,\n maxValue: max,\n value: typeof value === 'number' ? [value] : value,\n defaultValue: typeof defaultValue === 'number' ? [defaultValue] : defaultValue,\n onChange:\n typeof elemProps.onChange !== 'undefined'\n ? (v) => {\n if (Array.isArray(v) && v.length === 1) {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return elemProps.onChange(v[0]);\n }\n\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return elemProps.onChange(v);\n }\n : undefined,\n };\n\n const state = useSliderState({ ...ariaElemProps, numberFormatter });\n const { groupProps, trackProps, outputProps } = useSlider(ariaElemProps, state, trackRef);\n\n return (\n <SliderContainer\n {...groupProps}\n style={{\n position: 'relative',\n alignItems: 'center',\n width: width ?? 300,\n touchAction: 'none',\n }}\n className={className}\n id={id}\n onBlur={onBlur}\n >\n {showLabels && <SliderLabel $disabled={disabled}>{minLabel ?? min}</SliderLabel>}\n <SliderTrack\n {...trackProps}\n track={track}\n ref={trackRef}\n percents={state.values.map((_v, i) => state.getThumbPercent(i))}\n disabled={disabled}\n >\n {state.values.map((_v, i) => (\n <SliderThumb\n key={`${trackProps.id}_thumb${i}`}\n index={i}\n state={state}\n trackRef={trackRef}\n hideTooltips={hideTooltips}\n outputProps={outputProps}\n />\n ))}\n </SliderTrack>\n {showLabels && <SliderLabel $disabled={disabled}>{maxLabel ?? max}</SliderLabel>}\n </SliderContainer>\n );\n};\n\nexport default Slider;\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { type Control, type FieldValues, useController } from 'react-hook-form';\n\nimport Slider from './Slider';\n\ninterface SliderRHFProps extends ComponentPropsWithoutRef<typeof Slider> {\n control: Control<FieldValues, object>;\n name: string;\n}\n\nconst SliderRHF = ({ control, name: nameProp, defaultValue, ...elemProps }: SliderRHFProps) => {\n const {\n field: { onChange, onBlur, name, value },\n } = useController({\n name: nameProp,\n control,\n rules: { required: true },\n defaultValue,\n });\n\n return <Slider {...elemProps} onBlur={onBlur} onChange={onChange} value={value} name={name} />;\n};\n\nexport default SliderRHF;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Slider/SliderThumb.tsx","../../../components/Slider/Slider.tsx","../../../components/Slider/SliderRHF.tsx"],"sourcesContent":["import {\n autoUpdate,\n type ElementProps,\n flip,\n type FloatingContext,\n offset,\n shift,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { useFocusRing } from '@react-aria/focus';\nimport { useSliderThumb } from '@react-aria/slider';\nimport { mergeProps } from '@react-aria/utils';\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\nimport type { SliderState } from '@react-stately/slider';\nimport { debounce } from 'lodash-es';\nimport {\n type OutputHTMLAttributes,\n type RefObject,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled from 'styled-components';\n\nimport { Color } from '@persona/design-tokens';\nimport { FloatingTooltip } from 'design-system/components/Tooltip';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport { focusStyle } from 'design-system/mixins/focus';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst Tooltip = styled(FloatingTooltip)`\n ${paragraphMixins.sm};\n`;\n\nconst Thumb = styled('div')<{ disabled?: boolean }>`\n /* Note this will break if the element is not on a white background. Variable is provided to be able to override. */\n --background-color-behind-thumb: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', Color.PrimaryWhite)};\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n background: ${({ theme, disabled }) =>\n disabled\n ? semanticColor(theme, 'InputSurfaceDisabled', Color.BackgroundInputDisabled)\n : semanticColor(theme, 'InputSurfaceInverseStatic', Color.BackgroundInputDefault)};\n cursor: ${(props) => (props.disabled ? 'inherit' : 'pointer')};\n border-radius: 50%;\n border: 1px solid\n ${({ theme, disabled }) =>\n disabled\n ? semanticColor(theme, 'InputBorderDisabled', Color.BorderInputDisabled)\n : semanticColor(theme, 'BorderDefault', Color.BorderInputDisabled)};\n /* Enable clicks on thumb */\n pointer-events: auto;\n\n &[data-focused] {\n ${focusStyle}\n /* Extra pixel of size to overlap into the outline, fixing a small visual bug */\n box-shadow: 0 0 0 2px var(--background-color-behind-thumb);\n }\n`;\n\ninterface SliderThumbProps {\n state: SliderState;\n trackRef: RefObject<HTMLElement>;\n index: number;\n outputProps: OutputHTMLAttributes<HTMLOutputElement>;\n hideTooltips?: boolean;\n}\n\ninterface UsePressedOptions {\n delay?: number;\n}\n\nconst usePressed = (context: FloatingContext, options?: UsePressedOptions): ElementProps => {\n const closeHandler = useMemo(\n () => debounce(() => context.onOpenChange(false), options?.delay ?? 500),\n [],\n );\n return {\n reference: {\n onPointerDown: () => {\n context.onOpenChange(true);\n },\n onPointerUp: () => {\n closeHandler();\n },\n },\n };\n};\n\nconst SliderThumb = ({ state, trackRef, index, outputProps, hideTooltips }: SliderThumbProps) => {\n const inputRef = useRef(null);\n const { thumbProps, inputProps } = useSliderThumb(\n {\n index,\n trackRef,\n inputRef,\n },\n state,\n );\n\n const { focusProps, isFocused } = useFocusRing();\n\n const [open, setOpen] = useState(false);\n\n const { x, y, refs, strategy, context } = useFloating({\n placement: 'top',\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n middleware: [offset(4), flip(), shift({ padding: 4 })],\n });\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useRole(context, { role: 'tooltip' }),\n useDismiss(context),\n usePressed(context),\n ]);\n\n useEffect(() => {\n setOpen(isFocused);\n }, [isFocused]);\n\n return (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n left: `${state.getThumbPercent(index) * 100}%`,\n }}\n >\n {open && !hideTooltips && (\n <Tooltip\n {...mergeProps(\n getFloatingProps({\n ref: refs.setFloating,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n },\n }),\n outputProps,\n )}\n >\n {state.getThumbValueLabel(index)}\n </Tooltip>\n )}\n <Thumb\n {...mergeProps(\n thumbProps,\n getReferenceProps({\n ref: refs.setReference,\n }),\n isFocused ? { 'data-focused': true } : undefined,\n )}\n >\n <VisuallyHidden>\n <input ref={inputRef} {...mergeProps(inputProps, focusProps)} />\n </VisuallyHidden>\n </Thumb>\n </div>\n );\n};\n\nexport default SliderThumb;\n","import type { NumberFormatOptions } from '@internationalized/number';\nimport { useNumberFormatter } from '@react-aria/i18n';\nimport { useSlider } from '@react-aria/slider';\nimport { useSliderState } from '@react-stately/slider';\nimport type { SliderProps as SliderPropsType } from '@react-types/slider';\nimport { type FocusEventHandler, type ReactNode, useRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport SliderThumb from 'design-system/components/Slider/SliderThumb';\nimport { semanticColor, semanticOnly } from 'design-system/lib/semanticColor';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst SliderContainer = styled.div`\n display: flex;\n align-items: center;\n touch-action: none;\n position: relative;\n`;\n\nconst SliderLabel = styled.div<{ $disabled?: boolean }>`\n ${paragraphMixins.md};\n ${({ $disabled }) =>\n semanticOnly((tokens) => `color: ${$disabled ? tokens.FgDisabled : tokens.FgPrimary};`)}\n &:first-of-type {\n padding-right: ${Spacing[2]};\n }\n\n &:last-of-type {\n padding-left: ${Spacing[2]};\n }\n`;\n\ntype SliderTrackProps = {\n track?: boolean;\n percents: number[];\n disabled?: boolean;\n};\nconst SliderTrack = styled.div<SliderTrackProps>`\n position: relative;\n width: 100%;\n height: 4px;\n border-radius: 4px;\n outline: none;\n transition: background 0.2s;\n\n /* Disable clicks on slide bar */\n pointer-events: none;\n\n ${({ theme, percents, track, disabled }) => {\n const activeColor = disabled\n ? semanticColor(theme, 'InputBorderDisabled', Color.BorderInputDisabled)\n : semanticColor(theme, 'InputBorderAccent', Color.CoreBlue700);\n const trackColor = semanticColor(theme, 'BorderSubtle', Color.BorderDivider);\n\n if (track === false) {\n return css`\n background: ${trackColor};\n `;\n }\n\n if (percents.length === 2) {\n return css`\n background: linear-gradient(\n to right,\n ${trackColor} 0%,\n ${trackColor} ${percents[0] * 100}%,\n ${activeColor} ${percents[0] * 100}%,\n ${activeColor} ${percents[1] * 100}%,\n ${trackColor} ${percents[1] * 100}%,\n ${trackColor} 100%\n );\n `;\n }\n\n const leftColor = activeColor;\n const rightColor = trackColor;\n\n return css`\n background: linear-gradient(\n to right,\n ${leftColor} 0%,\n ${leftColor} ${percents[0] * 100}%,\n ${rightColor} ${percents[0] * 100}%,\n ${rightColor} 100%\n );\n `;\n }}\n`;\n\nexport interface SliderProps<T = number | number[]> {\n min?: number;\n minLabel?: ReactNode;\n max?: number;\n maxLabel?: ReactNode;\n onChange?: (value: T) => void;\n value?: T;\n defaultValue?: T;\n step?: number;\n\n /**\n * Show labels on ends of track\n */\n showLabels?: boolean;\n\n /**\n * Track style\n */\n track?: boolean;\n\n /**\n * Hide tooltips on slider thumbs\n */\n hideTooltips?: boolean;\n width?: number | 'auto';\n disabled?: boolean;\n formatOptions?: NumberFormatOptions;\n\n id?: string;\n className?: string;\n name?: string;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\nexport const Slider = ({\n minLabel,\n maxLabel,\n showLabels,\n track,\n width,\n hideTooltips,\n className,\n id,\n onBlur,\n ...elemProps\n}: SliderProps) => {\n const { min, max, value, defaultValue, disabled } = elemProps;\n const trackRef = useRef(null);\n const numberFormatter = useNumberFormatter(elemProps.formatOptions);\n\n const ariaElemProps: SliderPropsType = {\n ...elemProps,\n isDisabled: disabled,\n minValue: min,\n maxValue: max,\n value: typeof value === 'number' ? [value] : value,\n defaultValue: typeof defaultValue === 'number' ? [defaultValue] : defaultValue,\n onChange:\n typeof elemProps.onChange !== 'undefined'\n ? (v) => {\n if (Array.isArray(v) && v.length === 1) {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return elemProps.onChange(v[0]);\n }\n\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return elemProps.onChange(v);\n }\n : undefined,\n };\n\n const state = useSliderState({ ...ariaElemProps, numberFormatter });\n const { groupProps, trackProps, outputProps } = useSlider(ariaElemProps, state, trackRef);\n\n return (\n <SliderContainer\n {...groupProps}\n style={{\n position: 'relative',\n alignItems: 'center',\n width: width ?? 300,\n touchAction: 'none',\n }}\n className={className}\n id={id}\n onBlur={onBlur}\n >\n {showLabels && <SliderLabel $disabled={disabled}>{minLabel ?? min}</SliderLabel>}\n <SliderTrack\n {...trackProps}\n track={track}\n ref={trackRef}\n percents={state.values.map((_v, i) => state.getThumbPercent(i))}\n disabled={disabled}\n >\n {state.values.map((_v, i) => (\n <SliderThumb\n key={`${trackProps.id}_thumb${i}`}\n index={i}\n state={state}\n trackRef={trackRef}\n hideTooltips={hideTooltips}\n outputProps={outputProps}\n />\n ))}\n </SliderTrack>\n {showLabels && <SliderLabel $disabled={disabled}>{maxLabel ?? max}</SliderLabel>}\n </SliderContainer>\n );\n};\n\nexport default Slider;\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { type Control, type FieldValues, useController } from 'react-hook-form';\n\nimport Slider from './Slider';\n\ninterface SliderRHFProps extends ComponentPropsWithoutRef<typeof Slider> {\n control: Control<FieldValues, object>;\n name: string;\n}\n\nconst SliderRHF = ({ control, name: nameProp, defaultValue, ...elemProps }: SliderRHFProps) => {\n const {\n field: { onChange, onBlur, name, value },\n } = useController({\n name: nameProp,\n control,\n rules: { required: true },\n defaultValue,\n });\n\n return <Slider {...elemProps} onBlur={onBlur} onChange={onChange} value={value} name={name} />;\n};\n\nexport default SliderRHF;\n"],"mappings":"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"}
@@ -1,105 +1,2 @@
1
- //#region components/SmartTextInput/parser/method-chain/types.d.ts
2
- declare enum ASTNodeType {
3
- Chain = "chain",
4
- Identifier = "identifier",
5
- Function = "function",
6
- CustomFunction = "custom_function",
7
- String = "string",
8
- Number = "number",
9
- Array = "array",
10
- ParenOpen = "paren_open",
11
- ParenClose = "paren_close",
12
- Error = "error",
13
- Dot = "dot"
14
- }
15
- declare enum ErrorKind {
16
- InvalidMethodChainSyntax = "invalidMethodChainSyntax",
17
- EmptyFunctionParam = "emptyFunctionParam",
18
- TrailingFunctionComma = "trailingFunctionComma",
19
- UnclosedFunctionParen = "unclosedFunctionParen",
20
- TrailingDot = "trailingDot"
21
- }
22
- type ASTMethodChainNode = ASTIdentifierNode | ASTFunctionNode | ASTCustomFunctionNode;
23
- declare const isASTMethodChainNode: (node: {
24
- type: string;
25
- }) => node is ASTMethodChainNode;
26
- declare const isAnyASTFunctionNode: (node: {
27
- type: string;
28
- }) => node is ASTFunctionNode | ASTCustomFunctionNode;
29
- declare const isASTCustomFunctionNode: (node: {
30
- type: string;
31
- }) => node is ASTCustomFunctionNode;
32
- type ASTFunctionParamType = ASTChain | ASTStringNode | ASTNumberNode | ASTArrayNode | ASTParenOpenNode | ASTParenCloseNode | ASTErrorNode;
33
- declare const isRealASTFunctionParamType: (node: {
34
- type: string;
35
- }) => node is ASTChain | ASTStringNode | ASTNumberNode | ASTArrayNode;
36
- interface ASTChain {
37
- type: ASTNodeType.Chain;
38
- children: (ASTMethodChainNode | ASTDotNode | ASTErrorNode)[];
39
- start: number;
40
- end: number;
41
- }
42
- interface ASTStringNode {
43
- type: ASTNodeType.String;
44
- value: string;
45
- start: number;
46
- end: number;
47
- }
48
- interface ASTNumberNode {
49
- type: ASTNodeType.Number;
50
- value: number;
51
- start: number;
52
- end: number;
53
- }
54
- interface ASTArrayNode {
55
- type: ASTNodeType.Array;
56
- children: (ASTStringNode | ASTNumberNode)[];
57
- start: number;
58
- end: number;
59
- }
60
- interface ASTIdentifierNode {
61
- type: ASTNodeType.Identifier;
62
- name: string;
63
- prefix?: string;
64
- start: number;
65
- end: number;
66
- }
67
- interface ASTErrorNode {
68
- type: ASTNodeType.Error;
69
- start: number;
70
- end: number;
71
- wip?: boolean;
72
- kind?: 'invalidMethodChainSyntax' | 'emptyFunctionParam' | 'trailingFunctionComma' | 'unclosedFunctionParen' | 'trailingDot' | 'trailingAtSign';
73
- }
74
- interface ASTDotNode {
75
- type: ASTNodeType.Dot;
76
- start: number;
77
- end: number;
78
- }
79
- interface ASTParenOpenNode {
80
- type: ASTNodeType.ParenOpen;
81
- start: number;
82
- end: number;
83
- }
84
- interface ASTParenCloseNode {
85
- type: ASTNodeType.ParenClose;
86
- start: number;
87
- end: number;
88
- }
89
- interface ASTFunctionNode {
90
- type: ASTNodeType.Function;
91
- name: string;
92
- children: ASTFunctionParamType[];
93
- start: number;
94
- end: number;
95
- }
96
- interface ASTCustomFunctionNode {
97
- type: ASTNodeType.CustomFunction;
98
- name: string;
99
- children: ASTFunctionParamType[];
100
- start: number;
101
- end: number;
102
- }
103
- //#endregion
104
- export { ASTArrayNode, ASTChain, ASTCustomFunctionNode, ASTDotNode, ASTErrorNode, ASTFunctionNode, ASTFunctionParamType, ASTIdentifierNode, ASTMethodChainNode, ASTNodeType, ASTNumberNode, ASTParenCloseNode, ASTParenOpenNode, ASTStringNode, ErrorKind, isASTCustomFunctionNode, isASTMethodChainNode, isAnyASTFunctionNode, isRealASTFunctionParamType };
105
- //# sourceMappingURL=types.d.mts.map
1
+ import { _ as isASTMethodChainNode, a as ASTErrorNode, c as ASTIdentifierNode, d as ASTNumberNode, f as ASTParenCloseNode, g as isASTCustomFunctionNode, h as ErrorKind, i as ASTDotNode, l as ASTMethodChainNode, m as ASTStringNode, n as ASTChain, o as ASTFunctionNode, p as ASTParenOpenNode, r as ASTCustomFunctionNode, s as ASTFunctionParamType, t as ASTArrayNode, u as ASTNodeType, v as isAnyASTFunctionNode, y as isRealASTFunctionParamType } from "../../../../types-BGMmkUpy.mjs";
2
+ export { ASTArrayNode, ASTChain, ASTCustomFunctionNode, ASTDotNode, ASTErrorNode, ASTFunctionNode, ASTFunctionParamType, ASTIdentifierNode, ASTMethodChainNode, ASTNodeType, ASTNumberNode, ASTParenCloseNode, ASTParenOpenNode, ASTStringNode, ErrorKind, isASTCustomFunctionNode, isASTMethodChainNode, isAnyASTFunctionNode, isRealASTFunctionParamType };
@@ -1,4 +1,4 @@
1
- import { ASTChain, ASTErrorNode, ASTMethodChainNode, ASTNodeType, ASTParenCloseNode, ASTParenOpenNode } from "../method-chain/types.mjs";
1
+ import { a as ASTErrorNode, f as ASTParenCloseNode, l as ASTMethodChainNode, n as ASTChain, p as ASTParenOpenNode, u as ASTNodeType } from "../../../../types-BGMmkUpy.mjs";
2
2
 
3
3
  //#region components/SmartTextInput/parser/smart-text/types.d.ts
4
4
  type ErrorKind = NonNullable<ASTErrorNode['kind']> | 'unclosedHandlebars' | 'emptyHandlebars' | 'invalidHandlebarsContent' | 'interpolationInDataPath';
@@ -1,2 +1,2 @@
1
- import { t as Spinner } from "../../Spinner-DplDSBqf.mjs";
1
+ import { t as Spinner } from "../../Spinner-BlAg8_OX.mjs";
2
2
  export { Spinner, Spinner as default };
@@ -1,2 +1,2 @@
1
- import { i as StackProps, n as HStackProps, r as Stack, t as HStack } from "../../Stack-8KGPQp0u.mjs";
1
+ import { i as StackProps, n as HStackProps, r as Stack, t as HStack } from "../../Stack-CYqjBXe8.mjs";
2
2
  export { HStack, HStackProps, Stack, Stack as default, StackProps };
@@ -1,2 +1,2 @@
1
- import { n as Stack, t as HStack } from "../../Stack-ChsImaEY.mjs";
1
+ import { n as Stack, t as HStack } from "../../Stack-Bkn0TUDe.mjs";
2
2
  export { HStack, Stack, Stack as default };