@persona/design-system 0.7.2 → 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 (548) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/Accordion.d.mts +1 -1
  3. package/dist/AccordionItem.d.mts +1 -1
  4. package/dist/{Action-Cyo6KCsS.d.mts → Action-B-AiHknZ.d.mts} +3 -3
  5. package/dist/Action.d.mts +1 -1
  6. package/dist/AdvancedFilterRuleRow.d.mts +2 -2
  7. package/dist/AdvancedFilterRulesPopover.d.mts +2 -2
  8. package/dist/ArrayValueControl.d.mts +1 -1
  9. package/dist/Attribute.d.mts +3 -3
  10. package/dist/{Badge-BD0Ut46g.mjs → Badge-COqUjFQu.mjs} +2 -2
  11. package/dist/{Badge-BD0Ut46g.mjs.map → Badge-COqUjFQu.mjs.map} +1 -1
  12. package/dist/BooleanValueControl.d.mts +1 -1
  13. package/dist/{Breadcrumb-CYXkrKXl.d.mts → Breadcrumb-DRFY46ZW.d.mts} +1 -1
  14. package/dist/Breadcrumb.d.mts +1 -1
  15. package/dist/{Breadcrumbs-CP7eUYUy.d.mts → Breadcrumbs-DUSbT1I7.d.mts} +2 -2
  16. package/dist/{Breadcrumbs-CrXfUK1V.mjs → Breadcrumbs-DXS7rU7_.mjs} +5 -5
  17. package/dist/{Breadcrumbs-CrXfUK1V.mjs.map → Breadcrumbs-DXS7rU7_.mjs.map} +1 -1
  18. package/dist/Breadcrumbs.d.mts +1 -1
  19. package/dist/{Button-Dhiund3f.d.mts → Button-xZ6DC5XC.d.mts} +4 -4
  20. package/dist/Button.d.mts +1 -1
  21. package/dist/{Calendar-CMeIZ0BO.d.mts → Calendar-dPmo2dkj.d.mts} +1 -1
  22. package/dist/Calendar.d.mts +1 -1
  23. package/dist/CalendarBase.d.mts +1 -1
  24. package/dist/{Card-DCYB_mtR.d.mts → Card-CUeM8Lh8.d.mts} +3 -3
  25. package/dist/Card.d.mts +1 -1
  26. package/dist/{CardV2-M3o4BELp.mjs → CardV2-D9p7D7jX.mjs} +9 -7
  27. package/dist/{CardV2-M3o4BELp.mjs.map → CardV2-D9p7D7jX.mjs.map} +1 -1
  28. package/dist/{Checkbox-AjL7ucoR.mjs → Checkbox-DQynkc_I.mjs} +3 -3
  29. package/dist/{Checkbox-AjL7ucoR.mjs.map → Checkbox-DQynkc_I.mjs.map} +1 -1
  30. package/dist/{Checkbox-fWj7GkBl.d.mts → Checkbox-DoJpxPEz.d.mts} +1 -1
  31. package/dist/Checkbox.d.mts +1 -1
  32. package/dist/CheckboxGroupField.d.mts +1 -1
  33. package/dist/ChoicesValueControl.d.mts +1 -1
  34. package/dist/{Combobox-C2b9u955.mjs → Combobox-C_kCY3P3.mjs} +23 -10
  35. package/dist/Combobox-C_kCY3P3.mjs.map +1 -0
  36. package/dist/{Combobox-CC-Osr57.d.mts → Combobox-D7hyf-jA.d.mts} +3 -3
  37. package/dist/Combobox.d.mts +2 -2
  38. package/dist/{ComboboxBase-Evo0FRxP.d.mts → ComboboxBase-BMCY6O7Y.d.mts} +8 -5
  39. package/dist/ComboboxBase.d.mts +1 -1
  40. package/dist/{ComboboxMultiSelect-CvAc0FT3.d.mts → ComboboxMultiSelect-L0KYMkmm.d.mts} +2 -2
  41. package/dist/ComboboxMultiSelect.d.mts +1 -1
  42. package/dist/{ComboboxSingleSelect-CBm7x0oh.d.mts → ComboboxSingleSelect-v5oNrJ7M.d.mts} +4 -4
  43. package/dist/ComboboxSingleSelect.d.mts +1 -1
  44. package/dist/{CompactBar-D_2qMK4y.d.mts → CompactBar-DjFaUAsN.d.mts} +4 -4
  45. package/dist/CompactBar.d.mts +1 -1
  46. package/dist/{ConfigFormGroup-Cz7GeTYd.mjs → ConfigFormGroup-DLOZOuLf.mjs} +2 -2
  47. package/dist/{ConfigFormGroup-Cz7GeTYd.mjs.map → ConfigFormGroup-DLOZOuLf.mjs.map} +1 -1
  48. package/dist/{ControlBar-B7j9sOr9.d.mts → ControlBar-Cegjxa6-.d.mts} +7 -2
  49. package/dist/ControlBar.d.mts +1 -1
  50. package/dist/DataTable.d.mts +4 -3
  51. package/dist/{DateField-BamAk9_w.d.mts → DateField-Dk5ykLdr.d.mts} +2 -2
  52. package/dist/DateField.d.mts +1 -1
  53. package/dist/{DatePicker-IgiUI3Wj.mjs → DatePicker-C7z1yodK.mjs} +77 -42
  54. package/dist/DatePicker-C7z1yodK.mjs.map +1 -0
  55. package/dist/{DatePicker-C3xNSkPG.d.mts → DatePicker-Dtvv0V45.d.mts} +2 -2
  56. package/dist/DatePicker.d.mts +1 -1
  57. package/dist/{DateRangePicker-C4QKMo2a.d.mts → DateRangePicker-HPYsa4wC.d.mts} +3 -3
  58. package/dist/DateRangePicker.d.mts +1 -1
  59. package/dist/DateRangeValueControl.d.mts +5 -3
  60. package/dist/DateValueControl.d.mts +8 -5
  61. package/dist/{DropdownButton-BWiXLMfD.mjs → DropdownButton-CQrFHOIW.mjs} +3 -3
  62. package/dist/{DropdownButton-BWiXLMfD.mjs.map → DropdownButton-CQrFHOIW.mjs.map} +1 -1
  63. package/dist/DropdownButton.d.mts +2 -2
  64. package/dist/{DropdownMenu-DL5ye-0m.d.mts → DropdownMenu-D1qvgGTZ.d.mts} +2 -2
  65. package/dist/{DropdownMenu-CuKSNxc9.mjs → DropdownMenu-rm9Nnxn7.mjs} +7 -2
  66. package/dist/DropdownMenu-rm9Nnxn7.mjs.map +1 -0
  67. package/dist/DropdownMenu.d.mts +1 -1
  68. package/dist/{ErrorProps-BA0-m_Wp.d.mts → ErrorProps-B8-Mqf1W.d.mts} +1 -1
  69. package/dist/ErrorProps.d.mts +1 -1
  70. package/dist/{FieldRegistry-bKxrF1gC.d.mts → FieldRegistry-0LmSQ-jc.d.mts} +2 -2
  71. package/dist/FieldRegistry.d.mts +1 -1
  72. package/dist/{FilterBar-DhlBLWxw.d.mts → FilterBar-BMM4Swbt.d.mts} +11 -4
  73. package/dist/FilterBar.d.mts +1 -1
  74. package/dist/FilterPickerMenu.d.mts +2 -2
  75. package/dist/FilterPill.d.mts +1 -1
  76. package/dist/FilterPopover.d.mts +1 -1
  77. package/dist/FloatValueControl.d.mts +1 -1
  78. package/dist/{FormControl-DnfZTli_.mjs → FormControl-DXrxoJLl.mjs} +3 -3
  79. package/dist/{FormControl-DnfZTli_.mjs.map → FormControl-DXrxoJLl.mjs.map} +1 -1
  80. package/dist/{FormControl-D5xyPkST.d.mts → FormControl-Dg8doZq2.d.mts} +2 -2
  81. package/dist/FormControl.d.mts +1 -1
  82. package/dist/FormControlLabel.d.mts +1 -1
  83. package/dist/{FormField-BJZUj6jg.d.mts → FormField-BeLigf9j.d.mts} +2 -2
  84. package/dist/{FormField-74TPV8-8.mjs → FormField-Crp3F-hv.mjs} +16 -16
  85. package/dist/{FormField-74TPV8-8.mjs.map → FormField-Crp3F-hv.mjs.map} +1 -1
  86. package/dist/FormField.d.mts +1 -1
  87. package/dist/{Grid-DOyYYsvk.mjs → Grid-eMLuyRzV.mjs} +1 -1
  88. package/dist/{Grid-DOyYYsvk.mjs.map → Grid-eMLuyRzV.mjs.map} +1 -1
  89. package/dist/{Header-BqEKkEp5.d.mts → Header-DxJ6TfPw.d.mts} +1 -1
  90. package/dist/Header.d.mts +1 -1
  91. package/dist/{HelperTooltip-mOVSuEB8.d.mts → HelperTooltip-DcyrpEZI.d.mts} +2 -2
  92. package/dist/HelperTooltip.d.mts +1 -1
  93. package/dist/{HoverCopyableField-CN3gl0ny.mjs → HoverCopyableField-12bBuG-d.mjs} +3 -3
  94. package/dist/{HoverCopyableField-CN3gl0ny.mjs.map → HoverCopyableField-12bBuG-d.mjs.map} +1 -1
  95. package/dist/{IconButton-CjPFhpVG.d.mts → IconButton-BUMMN-gH.d.mts} +2 -2
  96. package/dist/{IconButton-CqTPMhjV.mjs → IconButton-CCLMYWVN.mjs} +1 -1
  97. package/dist/{IconButton-CqTPMhjV.mjs.map → IconButton-CCLMYWVN.mjs.map} +1 -1
  98. package/dist/IconButton.d.mts +1 -1
  99. package/dist/ImageTile.d.mts +1 -1
  100. package/dist/InlineCombobox.d.mts +1 -1
  101. package/dist/InlineInput.d.mts +1 -1
  102. package/dist/{Input-CZ_6KWDN.d.mts → Input-2N2e5JCf.d.mts} +3 -3
  103. package/dist/{Input-C_3QwAAt.mjs → Input-Cl4o41k4.mjs} +7 -3
  104. package/dist/Input-Cl4o41k4.mjs.map +1 -0
  105. package/dist/Input.d.mts +1 -1
  106. package/dist/{InputProps-lag6BM5h.d.mts → InputProps-TWzig3QO.d.mts} +2 -2
  107. package/dist/InputProps.d.mts +1 -1
  108. package/dist/IntegerValueControl.d.mts +1 -1
  109. package/dist/Link-I9Bklen-.mjs +79 -0
  110. package/dist/Link-I9Bklen-.mjs.map +1 -0
  111. package/dist/Link.d.mts +1 -1
  112. package/dist/{ListBox-nYAdYVQx.d.mts → ListBox-BcoXOt73.d.mts} +3 -3
  113. package/dist/{ListBox-D4j4LCT3.mjs → ListBox-sqeLBiKS.mjs} +33 -16
  114. package/dist/ListBox-sqeLBiKS.mjs.map +1 -0
  115. package/dist/ListBox.d.mts +1 -1
  116. package/dist/ListBoxField.d.mts +2 -2
  117. package/dist/{LoadingShimmer-Dizk2sZu.mjs → LoadingShimmer-dRSkdlqD.mjs} +13 -8
  118. package/dist/LoadingShimmer-dRSkdlqD.mjs.map +1 -0
  119. package/dist/LoadingShimmer.d.mts +1 -1
  120. package/dist/{LogicRow-k4ZPtjN0.d.mts → LogicRow-DXywXdYt.d.mts} +3 -3
  121. package/dist/LogicRow.d.mts +1 -1
  122. package/dist/MaskedInput.d.mts +1 -1
  123. package/dist/{Menu-Bu7-KBhp.d.mts → Menu-BekLwm8w.d.mts} +3 -3
  124. package/dist/{Menu-Cd6oxjAe.mjs → Menu-CwlI7BMN.mjs} +1 -1
  125. package/dist/{Menu-Cd6oxjAe.mjs.map → Menu-CwlI7BMN.mjs.map} +1 -1
  126. package/dist/Menu.d.mts +1 -1
  127. package/dist/{Modal-BN0K8QXi.mjs → Modal-CMiFcXC9.mjs} +6 -4
  128. package/dist/Modal-CMiFcXC9.mjs.map +1 -0
  129. package/dist/{Modal-Dwq-QBw_.d.mts → Modal-ymxlGYKt.d.mts} +2 -2
  130. package/dist/Modal.d.mts +1 -1
  131. package/dist/{PageHeader-BTtm3hRQ.mjs → PageHeader-D_0p7UK_.mjs} +2 -2
  132. package/dist/{PageHeader-BTtm3hRQ.mjs.map → PageHeader-D_0p7UK_.mjs.map} +1 -1
  133. package/dist/PageHeader.d.mts +1 -1
  134. package/dist/{PageSelector-CeGC84N1.d.mts → PageSelector-Bxulu6vU.d.mts} +3 -3
  135. package/dist/PageSelector.d.mts +1 -1
  136. package/dist/{Pagination-CPd4mSnw.mjs → Pagination-Co9CfyFQ.mjs} +5 -5
  137. package/dist/{Pagination-CPd4mSnw.mjs.map → Pagination-Co9CfyFQ.mjs.map} +1 -1
  138. package/dist/{Pagination-H-CcXrCD.d.mts → Pagination-Dg-4O7F7.d.mts} +2 -2
  139. package/dist/Pagination.d.mts +1 -1
  140. package/dist/{Pii-Dz4woKd8.mjs → Pii-JGV9gP95.mjs} +2 -2
  141. package/dist/{Pii-Dz4woKd8.mjs.map → Pii-JGV9gP95.mjs.map} +1 -1
  142. package/dist/{PillShell-BQC-k7Rl.d.mts → PillShell-BA7KK1zS.d.mts} +2 -2
  143. package/dist/PillShell.d.mts +1 -1
  144. package/dist/{Popover-opVa9Xhc.mjs → Popover-ZAj03lws.mjs} +15 -2
  145. package/dist/Popover-ZAj03lws.mjs.map +1 -0
  146. package/dist/{ProgressIndicator-3A4Aqci6.mjs → ProgressIndicator-CQg08vuA.mjs} +3 -3
  147. package/dist/ProgressIndicator-CQg08vuA.mjs.map +1 -0
  148. package/dist/{ProgressIndicator-DbOLOaxJ.d.mts → ProgressIndicator-D85HQGSx.d.mts} +1 -1
  149. package/dist/ProgressIndicator.d.mts +1 -1
  150. package/dist/{PseudoClassProps-CHtBNv8B.d.mts → PseudoClassProps-BHs8TX_3.d.mts} +1 -1
  151. package/dist/PseudoClassProps.d.mts +1 -1
  152. package/dist/{Radio-Cxt89w8s.mjs → Radio-CYV290JI.mjs} +2 -2
  153. package/dist/{Radio-Cxt89w8s.mjs.map → Radio-CYV290JI.mjs.map} +1 -1
  154. package/dist/{RadioGroup-BjrfVPZQ.d.mts → RadioGroup-Cq3KV1TN.d.mts} +1 -1
  155. package/dist/{RadioGroup-B6Cg1kdm.mjs → RadioGroup-lWMMtu9V.mjs} +2 -2
  156. package/dist/{RadioGroup-B6Cg1kdm.mjs.map → RadioGroup-lWMMtu9V.mjs.map} +1 -1
  157. package/dist/RadioGroup.d.mts +1 -1
  158. package/dist/{RangeCalendar-CPnLaM-J.d.mts → RangeCalendar-Mh7h74Tp.d.mts} +2 -2
  159. package/dist/RangeCalendar.d.mts +1 -1
  160. package/dist/RangeCalendarPresets.d.mts +1 -1
  161. package/dist/{RouterContext-CbvHIl4K.d.mts → RouterContext-B3IU1jb0.d.mts} +2 -2
  162. package/dist/RouterContext.d.mts +1 -1
  163. package/dist/{RouterLink-v9AG9fYa.d.mts → RouterLink-CwAqTLC2.d.mts} +2 -2
  164. package/dist/RouterLink.d.mts +1 -1
  165. package/dist/RuleEditorFields.d.mts +2 -2
  166. package/dist/RulesPill.d.mts +1 -1
  167. package/dist/{SearchInput-CIjwmT8R.d.mts → SearchInput-BGyUUcoz.d.mts} +2 -2
  168. package/dist/SearchInput.d.mts +1 -1
  169. package/dist/SectionHeading.d.mts +1 -1
  170. package/dist/{SegmentedControl-BcwfLuHA.mjs → SegmentedControl-BEbIcV3g.mjs} +3 -3
  171. package/dist/SegmentedControl-BEbIcV3g.mjs.map +1 -0
  172. package/dist/{SegmentedControl-Crr_aHAs.d.mts → SegmentedControl-DgDabSgr.d.mts} +1 -1
  173. package/dist/SegmentedControl.d.mts +1 -1
  174. package/dist/{Select-CJQeuCiF.d.mts → Select-wqTtGyga.d.mts} +3 -3
  175. package/dist/{Select-BstCz8P1.mjs → Select-yC2t_gZb.mjs} +10 -8
  176. package/dist/Select-yC2t_gZb.mjs.map +1 -0
  177. package/dist/Select.d.mts +1 -1
  178. package/dist/{Spinner-DplDSBqf.mjs → Spinner-BlAg8_OX.mjs} +1 -1
  179. package/dist/{Spinner-DplDSBqf.mjs.map → Spinner-BlAg8_OX.mjs.map} +1 -1
  180. package/dist/{Stack-ChsImaEY.mjs → Stack-Bkn0TUDe.mjs} +1 -1
  181. package/dist/{Stack-ChsImaEY.mjs.map → Stack-Bkn0TUDe.mjs.map} +1 -1
  182. package/dist/{Stack-RVptVTVi.d.mts → Stack-CYqjBXe8.d.mts} +1 -1
  183. package/dist/Stack.d.mts +1 -1
  184. package/dist/StatusIndicator-DT2zNbkp.mjs +315 -0
  185. package/dist/StatusIndicator-DT2zNbkp.mjs.map +1 -0
  186. package/dist/{Sticker-C3Eb13OQ.mjs → Sticker-BLbgJxcH.mjs} +5 -8
  187. package/dist/Sticker-BLbgJxcH.mjs.map +1 -0
  188. package/dist/{Sticker-BVX38LKi.d.mts → Sticker-BmyKaxwx.d.mts} +4 -4
  189. package/dist/Sticker.d.mts +1 -1
  190. package/dist/StringValueControl.d.mts +1 -1
  191. package/dist/Tab.d.mts +1 -1
  192. package/dist/{TabBar-BepWbJHz.mjs → TabBar-Bj84q1Mr.mjs} +4 -7
  193. package/dist/{TabBar-BepWbJHz.mjs.map → TabBar-Bj84q1Mr.mjs.map} +1 -1
  194. package/dist/{Table-DFiSWroB.d.mts → Table-DhdHUQ8V.d.mts} +1 -1
  195. package/dist/{Table-B1gRr2XT.mjs → Table-WqNfjasd.mjs} +22 -3
  196. package/dist/Table-WqNfjasd.mjs.map +1 -0
  197. package/dist/Table.d.mts +1 -1
  198. package/dist/{TableBody-Di9JYHDN.d.mts → TableBody-qoSvQDds.d.mts} +1 -1
  199. package/dist/TableBody.d.mts +1 -1
  200. package/dist/{TableBox-DAQ3Plqx.mjs → TableBox-obl64W5Y.mjs} +22 -17
  201. package/dist/TableBox-obl64W5Y.mjs.map +1 -0
  202. package/dist/TableBox.d.mts +2 -2
  203. package/dist/{TableBoxCell-D6h1X5ph.d.mts → TableBoxCell-DzYMx4Ju.d.mts} +6 -6
  204. package/dist/TableBoxCell.d.mts +1 -1
  205. package/dist/TableBoxField.d.mts +3 -3
  206. package/dist/{TableBoxRow-C6l6J4mq.d.mts → TableBoxRow-B4rFCvWK.d.mts} +3 -3
  207. package/dist/TableBoxRow.d.mts +1 -1
  208. package/dist/{TableBoxRowActions-CsLN1b1J.d.mts → TableBoxRowActions-qMKcVuTL.d.mts} +2 -2
  209. package/dist/TableBoxRowActions.d.mts +1 -1
  210. package/dist/{TableCell-WSDXw79Q.d.mts → TableCell-CGPQRc5g.d.mts} +2 -2
  211. package/dist/TableCell.d.mts +1 -1
  212. package/dist/{TableControls-BxuPCUQS.mjs → TableControls-RS_ozBsI.mjs} +207 -66
  213. package/dist/TableControls-RS_ozBsI.mjs.map +1 -0
  214. package/dist/{TableControls-cswMgBAr.d.mts → TableControls-WP78qtET.d.mts} +4 -3
  215. package/dist/TableControls.d.mts +1 -1
  216. package/dist/{TableControlsContext-Cbh8wear.d.mts → TableControlsContext-DZIZSyfX.d.mts} +2 -2
  217. package/dist/TableControlsContext.d.mts +1 -1
  218. package/dist/{TableHead-CkL1fEg2.d.mts → TableHead-36j-_oyn.d.mts} +1 -1
  219. package/dist/TableHead.d.mts +1 -1
  220. package/dist/{TableHeaderCell-K9Ry6YqO.d.mts → TableHeaderCell-C7gp9j1X.d.mts} +1 -1
  221. package/dist/TableHeaderCell.d.mts +1 -1
  222. package/dist/{TableLayout-CYRGIFEl.d.mts → TableLayout-CQqIV0vj.d.mts} +1 -1
  223. package/dist/TableLayout.d.mts +1 -1
  224. package/dist/{TableRow-DMHlo1eg.d.mts → TableRow-BJZM8I8i.d.mts} +2 -2
  225. package/dist/TableRow.d.mts +1 -1
  226. package/dist/TableTH.d.mts +1 -1
  227. package/dist/{TableViewConfigurationDropdown-BRbOcVNc.d.mts → TableViewConfigurationDropdown-Dwy_9FBz.d.mts} +2 -2
  228. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  229. package/dist/{TechnicalSticker-_LtE-PRY.mjs → TechnicalSticker-CL0zkOAj.mjs} +1 -1
  230. package/dist/{TechnicalSticker-_LtE-PRY.mjs.map → TechnicalSticker-CL0zkOAj.mjs.map} +1 -1
  231. package/dist/{Text-B69gp3X_.d.mts → Text-DbtTa83E.d.mts} +3 -3
  232. package/dist/Text.d.mts +1 -1
  233. package/dist/{TextArea-Cjsdl07-.d.mts → TextArea-CbxF6u7z.d.mts} +2 -2
  234. package/dist/{TextArea-CcxltuBh.mjs → TextArea-CfZr5Sk4.mjs} +2 -2
  235. package/dist/{TextArea-CcxltuBh.mjs.map → TextArea-CfZr5Sk4.mjs.map} +1 -1
  236. package/dist/TextArea.d.mts +1 -1
  237. package/dist/{TextUnderlineTooltip-DDzKLCeX.d.mts → TextUnderlineTooltip-BgLQuK38.d.mts} +2 -2
  238. package/dist/TextUnderlineTooltip.d.mts +1 -1
  239. package/dist/Tile.d.mts +1 -1
  240. package/dist/Toast.d.mts +1 -1
  241. package/dist/{Toggle-B5sSdb_q.d.mts → Toggle-BYMLrPXk.d.mts} +1 -1
  242. package/dist/{Toggle-DWbJOwf3.mjs → Toggle-D4ZaUcVt.mjs} +9 -4
  243. package/dist/Toggle-D4ZaUcVt.mjs.map +1 -0
  244. package/dist/Toggle.d.mts +1 -1
  245. package/dist/{Tooltip-x1pFf-Mj.d.mts → Tooltip-4pshzB_i.d.mts} +2 -2
  246. package/dist/Tooltip.d.mts +1 -1
  247. package/dist/{TruncatedText-BE8FuEQm.d.mts → TruncatedText-O7hE3w0O.d.mts} +1 -1
  248. package/dist/VersionHistory.d.mts +23 -0
  249. package/dist/VersionHistoryItem-CIcEgl0K.d.mts +54 -0
  250. package/dist/VersionHistoryItem.d.mts +2 -0
  251. package/dist/WizardModal.d.mts +2 -2
  252. package/dist/{accordionTitleTypography-BYhjSN9t.d.mts → accordionTitleTypography-CNB1w3kn.d.mts} +2 -2
  253. package/dist/accordionTitleTypography.d.mts +1 -1
  254. package/dist/assertNever.d.mts +5 -0
  255. package/dist/{codec-BcgsGCHE.d.mts → codec-BXVBsB8Y.d.mts} +2 -2
  256. package/dist/codec.d.mts +1 -1
  257. package/dist/{color-LH7zKfKo.d.mts → color-3UO63ocQ.d.mts} +9 -4
  258. package/dist/components/Accordion/index.d.mts +1 -1
  259. package/dist/components/Accordion/index.mjs +1 -1
  260. package/dist/components/Attribute/index.mjs +2 -2
  261. package/dist/components/Badge/index.mjs +1 -1
  262. package/dist/components/Banner/index.mjs +1 -1
  263. package/dist/components/BottomPanel/index.mjs +5 -3
  264. package/dist/components/BottomPanel/index.mjs.map +1 -1
  265. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  266. package/dist/components/Breadcrumbs/index.mjs +1 -1
  267. package/dist/components/Button/index.d.mts +2 -2
  268. package/dist/components/Button/index.mjs +1 -1
  269. package/dist/components/ButtonGroup/index.mjs +2 -2
  270. package/dist/components/Card/index.d.mts +2 -2
  271. package/dist/components/CardV2/index.d.mts +1 -1
  272. package/dist/components/CardV2/index.mjs +1 -1
  273. package/dist/components/Checkbox/index.d.mts +1 -1
  274. package/dist/components/Checkbox/index.mjs +1 -1
  275. package/dist/components/CodeHighlight/index.mjs +3 -1
  276. package/dist/components/CodeHighlight/index.mjs.map +1 -1
  277. package/dist/components/Combobox/index.d.mts +2 -2
  278. package/dist/components/Combobox/index.mjs +1 -1
  279. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  280. package/dist/components/DataTable/TableControls/index.d.mts +19 -19
  281. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  282. package/dist/components/DataTable/index.mjs +27 -16
  283. package/dist/components/DataTable/index.mjs.map +1 -1
  284. package/dist/components/DataTable/types.d.mts +2 -2
  285. package/dist/components/DatePicker/index.d.mts +5 -5
  286. package/dist/components/DatePicker/index.mjs +1 -1
  287. package/dist/components/DropdownButton/index.mjs +1 -1
  288. package/dist/components/DropdownMenu/index.d.mts +1 -1
  289. package/dist/components/DropdownMenu/index.mjs +1 -1
  290. package/dist/components/FloatingPanel/index.mjs +10 -7
  291. package/dist/components/FloatingPanel/index.mjs.map +1 -1
  292. package/dist/components/FormControl/index.d.mts +2 -2
  293. package/dist/components/FormControl/index.mjs +2 -2
  294. package/dist/components/FormField/index.d.mts +1 -1
  295. package/dist/components/FormField/index.mjs +1 -1
  296. package/dist/components/Grid/index.mjs +1 -1
  297. package/dist/components/HoverCopyableField/index.mjs +1 -1
  298. package/dist/components/ImageTile/index.mjs +13 -9
  299. package/dist/components/ImageTile/index.mjs.map +1 -1
  300. package/dist/components/Input/index.d.mts +1 -1
  301. package/dist/components/Input/index.mjs +1 -1
  302. package/dist/components/Link/index.mjs +1 -78
  303. package/dist/components/ListBox/index.d.mts +3 -3
  304. package/dist/components/ListBox/index.mjs +1 -1
  305. package/dist/components/LoadingShimmer/index.mjs +1 -1
  306. package/dist/components/MaskedInput/index.mjs +1 -1
  307. package/dist/components/Menu/index.d.mts +1 -1
  308. package/dist/components/Menu/index.mjs +1 -1
  309. package/dist/components/Modal/index.d.mts +1 -1
  310. package/dist/components/Modal/index.mjs +1 -1
  311. package/dist/components/PageHeader/index.mjs +1 -1
  312. package/dist/components/Pagination/index.d.mts +3 -3
  313. package/dist/components/Pagination/index.mjs +1 -1
  314. package/dist/components/Pii/index.mjs +1 -1
  315. package/dist/components/Popover/index.mjs +1 -1
  316. package/dist/components/ProgressBar/index.mjs +1 -2
  317. package/dist/components/ProgressBar/index.mjs.map +1 -1
  318. package/dist/components/ProgressIndicator/index.d.mts +1 -1
  319. package/dist/components/ProgressIndicator/index.mjs +1 -1
  320. package/dist/components/Radio/index.mjs +1 -1
  321. package/dist/components/RadioGroup/index.d.mts +1 -1
  322. package/dist/components/RadioGroup/index.mjs +1 -1
  323. package/dist/components/RightPanel/index.mjs +10 -7
  324. package/dist/components/RightPanel/index.mjs.map +1 -1
  325. package/dist/components/SegmentedControl/index.d.mts +1 -1
  326. package/dist/components/SegmentedControl/index.mjs +1 -1
  327. package/dist/components/Select/index.d.mts +1 -1
  328. package/dist/components/Select/index.mjs +1 -1
  329. package/dist/components/Slider/index.mjs +1 -1
  330. package/dist/components/Slider/index.mjs.map +1 -1
  331. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +2 -105
  332. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +1 -1
  333. package/dist/components/Spinner/index.mjs +1 -1
  334. package/dist/components/Stack/index.d.mts +1 -1
  335. package/dist/components/Stack/index.mjs +1 -1
  336. package/dist/components/StatusIndicator/index.mjs +1 -314
  337. package/dist/components/Sticker/index.d.mts +1 -1
  338. package/dist/components/Sticker/index.mjs +1 -1
  339. package/dist/components/TabBar/index.mjs +1 -1
  340. package/dist/components/Table/index.d.mts +8 -8
  341. package/dist/components/Table/index.mjs +1 -1
  342. package/dist/components/TableBox/index.d.mts +2 -2
  343. package/dist/components/TableBox/index.mjs +1 -1
  344. package/dist/components/TechnicalSticker/index.mjs +1 -1
  345. package/dist/components/Text/index.d.mts +1 -1
  346. package/dist/components/TextArea/index.d.mts +1 -1
  347. package/dist/components/TextArea/index.mjs +1 -1
  348. package/dist/components/Tile/index.mjs +2 -2
  349. package/dist/components/Toast/index.mjs +2 -2
  350. package/dist/components/Toast/index.mjs.map +1 -1
  351. package/dist/components/Toggle/index.d.mts +1 -1
  352. package/dist/components/Toggle/index.mjs +1 -1
  353. package/dist/components/Tooltip/index.d.mts +3 -3
  354. package/dist/components/VersionHistory/index.d.mts +3 -0
  355. package/dist/components/VersionHistory/index.mjs +389 -0
  356. package/dist/components/VersionHistory/index.mjs.map +1 -0
  357. package/dist/components/WizardModal/index.mjs +4 -4
  358. package/dist/compound-expression.d.mts +1 -1
  359. package/dist/{constants-BpwnTzcv.d.mts → constants-BOxzLX-O.d.mts} +1 -1
  360. package/dist/constants.d.mts +1 -1
  361. package/dist/{createPath-Bst12Uxr.d.mts → createPath-OeTC9kvS.d.mts} +2 -2
  362. package/dist/createPath.d.mts +1 -1
  363. package/dist/{date-filter-CZeChs9T.mjs → date-filter-BnzR6NxT.mjs} +1 -1
  364. package/dist/{date-filter-CZeChs9T.mjs.map → date-filter-BnzR6NxT.mjs.map} +1 -1
  365. package/dist/{date-range-rule-value-C4ir2Y8W.d.mts → date-range-rule-value-BRp5Bi7R.d.mts} +2 -2
  366. package/dist/date-range-rule-value.d.mts +1 -1
  367. package/dist/{date-rule-intent-gKmuxMVA.d.mts → date-rule-intent-CDBtV0ET.d.mts} +3 -3
  368. package/dist/date-rule-intent.d.mts +1 -1
  369. package/dist/display.d.mts +2 -2
  370. package/dist/fieldPickerOptions.d.mts +2 -2
  371. package/dist/{filter-size-context-BOpH6pBm.d.mts → filter-size-context-CqvQ190x.d.mts} +2 -2
  372. package/dist/filter-size-context.d.mts +1 -1
  373. package/dist/format-date-value.d.mts +5 -0
  374. package/dist/helpers.d.mts +1 -1
  375. package/dist/{index-C2-PBfN3.d.mts → index-BXSe73Xn.d.mts} +2 -2
  376. package/dist/{index-c0aXmZV9.d.mts → index-CyAok7As.d.mts} +2 -2
  377. package/dist/{index-BXdrzR0c.d.mts → index-wKK9f9La.d.mts} +3 -3
  378. package/dist/index.d.mts +1 -1
  379. package/dist/index2.d.mts +1 -1
  380. package/dist/index3.d.mts +3 -3
  381. package/dist/index4.d.mts +1 -1
  382. package/dist/index5.d.mts +14 -14
  383. package/dist/{input-DVJhMlxU.d.mts → input-C6cyiqm2.d.mts} +3 -3
  384. package/dist/inputFields.d.mts +10 -10
  385. package/dist/{intersperse-Bxcrxj2Q.mjs → intersperse-Df9zw7Bk.mjs} +1 -1
  386. package/dist/{intersperse-Bxcrxj2Q.mjs.map → intersperse-Df9zw7Bk.mjs.map} +1 -1
  387. package/dist/{jsonSchema-DmdZYC4a.d.mts → jsonSchema-CfGi1bzI.d.mts} +34 -2
  388. package/dist/lib/PDSProvider.d.mts +2 -2
  389. package/dist/lib/TruncatedText.d.mts +1 -1
  390. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  391. package/dist/lib/chainTypes.d.mts +17 -0
  392. package/dist/lib/chainTypes.mjs +0 -0
  393. package/dist/lib/color.d.mts +2 -2
  394. package/dist/lib/color.mjs +18 -11
  395. package/dist/lib/color.mjs.map +1 -1
  396. package/dist/lib/customFunctionSchema.d.mts +49 -0
  397. package/dist/lib/customFunctionSchema.mjs +299 -0
  398. package/dist/lib/customFunctionSchema.mjs.map +1 -0
  399. package/dist/lib/date-filter/index.d.mts +2 -2
  400. package/dist/lib/date-filter/index.mjs +1 -1
  401. package/dist/lib/jsonSchema.d.mts +2 -2
  402. package/dist/lib/jsonSchema.mjs +26 -1
  403. package/dist/lib/jsonSchema.mjs.map +1 -1
  404. package/dist/lib/jsonSchemaType.d.mts +7 -0
  405. package/dist/lib/jsonSchemaType.mjs +31 -0
  406. package/dist/lib/jsonSchemaType.mjs.map +1 -0
  407. package/dist/lib/letPointerDownReachDocument.d.mts +22 -0
  408. package/dist/lib/letPointerDownReachDocument.mjs +25 -0
  409. package/dist/lib/letPointerDownReachDocument.mjs.map +1 -0
  410. package/dist/lib/message.d.mts +1 -1
  411. package/dist/lib/methodChain.d.mts +3 -66
  412. package/dist/lib/methodChain.mjs +1 -237
  413. package/dist/lib/methodChainNormalize.d.mts +2 -2
  414. package/dist/lib/methodChainTypes.d.mts +2 -23
  415. package/dist/lib/objectSchemaTypes.d.mts +1 -1
  416. package/dist/lib/platformObject.d.mts +38 -0
  417. package/dist/lib/platformObject.mjs +79 -0
  418. package/dist/lib/platformObject.mjs.map +1 -0
  419. package/dist/lib/pseudoClass.d.mts +1 -1
  420. package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
  421. package/dist/lib/router/adapters/tanstack.d.mts +1 -1
  422. package/dist/lib/router/index.d.mts +5 -5
  423. package/dist/lib/schemaOptions.d.mts +173 -0
  424. package/dist/lib/schemaOptions.mjs +481 -0
  425. package/dist/lib/schemaOptions.mjs.map +1 -0
  426. package/dist/lib/semanticColor.d.mts +1 -1
  427. package/dist/lib/snakifyPath.d.mts +5 -0
  428. package/dist/lib/snakifyPath.mjs +11 -0
  429. package/dist/lib/snakifyPath.mjs.map +1 -0
  430. package/dist/{message-CKSLIKF0.d.mts → message-CblP0EjG.d.mts} +1 -1
  431. package/dist/methodChain-DAQxLgxt.mjs +241 -0
  432. package/dist/methodChain-DAQxLgxt.mjs.map +1 -0
  433. package/dist/methodChain-Pk1C3i_E.d.mts +66 -0
  434. package/dist/methodChainTypes-CqWzfx0M.d.mts +23 -0
  435. package/dist/mixins/focus.d.mts +1 -1
  436. package/dist/mixins/hoverable.d.mts +2 -2
  437. package/dist/mixins/input.d.mts +1 -1
  438. package/dist/mixins/input.mjs +6 -14
  439. package/dist/mixins/input.mjs.map +1 -1
  440. package/dist/mixins/menuItem.d.mts +2 -2
  441. package/dist/mixins/scrollbar.d.mts +10 -0
  442. package/dist/mixins/scrollbar.mjs +31 -0
  443. package/dist/mixins/scrollbar.mjs.map +1 -0
  444. package/dist/mixins/text.d.mts +1 -1
  445. package/dist/{operators-1_jTgYRX.d.mts → operators-CoXL5Hv6.d.mts} +2 -2
  446. package/dist/operators.d.mts +1 -1
  447. package/dist/{palette-CMOEyNPH.d.mts → palette-CxXUs1Fu.d.mts} +3 -3
  448. package/dist/palette.d.mts +1 -1
  449. package/dist/patterns/LayoutLoadingShimmer/index.mjs +5 -5
  450. package/dist/patterns/PageLayout/index.mjs +2 -2
  451. package/dist/reactRouterFallback.d.mts +1 -1
  452. package/dist/relative-date-label.d.mts +1 -1
  453. package/dist/{semantic-BXwNUd4a.d.mts → semantic-CFMBsuiJ.d.mts} +2 -2
  454. package/dist/{semanticColor-Cru2gSys.d.mts → semanticColor-DuJCmDrH.d.mts} +3 -3
  455. package/dist/{text-CxIup7HJ.d.mts → text-D8HPjiEX.d.mts} +1 -1
  456. package/dist/{theme-CW6qlONZ.d.mts → theme-BcaR-Au5.d.mts} +3 -3
  457. package/dist/theme.d.mts +1 -1
  458. package/dist/time-range.d.mts +7 -0
  459. package/dist/tone.d.mts +3 -3
  460. package/dist/{types-ChkiGhjQ.d.mts → types-BCiq4hGv.d.mts} +1 -1
  461. package/dist/types-BGMmkUpy.d.mts +105 -0
  462. package/dist/{types-BEjWTkZV.d.mts → types-C4WUSW3e.d.mts} +7 -2
  463. package/dist/{types-B-stjYNc.d.mts → types-CkpixGWr.d.mts} +1 -1
  464. package/dist/{types-YojUycQK.d.mts → types-Cl-w8tYc.d.mts} +1 -1
  465. package/dist/{types-3iEDsymE.d.mts → types-CoVZwrMW.d.mts} +2 -2
  466. package/dist/{types-g-aqbnek.d.mts → types-DgyGecdM.d.mts} +1 -1
  467. package/dist/types.d.mts +1 -1
  468. package/dist/types2.d.mts +1 -1
  469. package/dist/types3.d.mts +1 -1
  470. package/dist/types4.d.mts +1 -1
  471. package/dist/types5.d.mts +1 -1
  472. package/dist/types6.d.mts +1 -1
  473. package/dist/{url-state-CHK2N2fA.d.mts → url-state-8j_ef8Uf.d.mts} +2 -2
  474. package/dist/url-state.d.mts +1 -1
  475. package/dist/useComboboxFooterAction.d.mts +1 -1
  476. package/dist/{useFilterStateV2-B26e5iUx.d.mts → useFilterStateV2-CW6eght1.d.mts} +3 -3
  477. package/dist/useFilterStateV2.d.mts +1 -1
  478. package/dist/{useFormField-DPFClB5h.d.mts → useFormField-CLRZkUZt.d.mts} +2 -2
  479. package/dist/{useFormField-BzhMbl5P.mjs → useFormField-XezSxho_.mjs} +2 -2
  480. package/dist/{useFormField-BzhMbl5P.mjs.map → useFormField-XezSxho_.mjs.map} +1 -1
  481. package/dist/useFormField.d.mts +1 -1
  482. package/dist/{useFormGroup-CH3kiXoa.mjs → useFormGroup-C7Cax8zO.mjs} +1 -1
  483. package/dist/{useFormGroup-CH3kiXoa.mjs.map → useFormGroup-C7Cax8zO.mjs.map} +1 -1
  484. package/dist/{useLocationPathname-CnRd_Rzn.d.mts → useLocationPathname-DH5Tdq5X.d.mts} +1 -1
  485. package/dist/useLocationPathname.d.mts +1 -1
  486. package/dist/{useTableBoxDragAndDrop-DWlG5vhl.d.mts → useTableBoxDragAndDrop-Da4TiYBT.d.mts} +1 -1
  487. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  488. package/dist/useTruncation.d.mts +1 -1
  489. package/dist/{utilities-BcGuP8Fd.d.mts → utilities-DcsbI71T.d.mts} +1 -1
  490. package/dist/utilities.d.mts +1 -1
  491. package/dist/utils/storybook.mjs +1 -1
  492. package/dist/utils/testing.d.mts +1 -1
  493. package/dist/utils.d.mts +1 -1
  494. package/dist/{validation-B-Om4ANo.d.mts → validation-BgwNghi2.d.mts} +3 -3
  495. package/dist/validation.d.mts +1 -1
  496. package/dist/{value-control-resolver-BiyhB8zt.d.mts → value-control-resolver-B0HDRxRN.d.mts} +3 -2
  497. package/dist/value-control-resolver.d.mts +1 -1
  498. package/dist/variables/effect.d.mts +1 -1
  499. package/dist/variables/semantic.d.mts +1 -1
  500. package/dist/variables/semantic.mjs +15 -18
  501. package/dist/variables/semantic.mjs.map +1 -1
  502. package/package.json +23 -4
  503. package/skills/ui-authoring/COMPONENTS.md +1 -0
  504. package/dist/Combobox-C2b9u955.mjs.map +0 -1
  505. package/dist/DatePicker-IgiUI3Wj.mjs.map +0 -1
  506. package/dist/DropdownMenu-CuKSNxc9.mjs.map +0 -1
  507. package/dist/Input-C_3QwAAt.mjs.map +0 -1
  508. package/dist/ListBox-D4j4LCT3.mjs.map +0 -1
  509. package/dist/LoadingShimmer-Dizk2sZu.mjs.map +0 -1
  510. package/dist/Modal-BN0K8QXi.mjs.map +0 -1
  511. package/dist/Popover-opVa9Xhc.mjs.map +0 -1
  512. package/dist/ProgressIndicator-3A4Aqci6.mjs.map +0 -1
  513. package/dist/SegmentedControl-BcwfLuHA.mjs.map +0 -1
  514. package/dist/Select-BstCz8P1.mjs.map +0 -1
  515. package/dist/Sticker-C3Eb13OQ.mjs.map +0 -1
  516. package/dist/Table-B1gRr2XT.mjs.map +0 -1
  517. package/dist/TableBox-DAQ3Plqx.mjs.map +0 -1
  518. package/dist/TableControls-BxuPCUQS.mjs.map +0 -1
  519. package/dist/Toggle-DWbJOwf3.mjs.map +0 -1
  520. package/dist/components/Link/index.mjs.map +0 -1
  521. package/dist/components/StatusIndicator/index.mjs.map +0 -1
  522. package/dist/lib/methodChain.mjs.map +0 -1
  523. /package/dist/{index--p6oQT9I.d.mts → index-B24gUwOx.d.mts} +0 -0
  524. /package/dist/{index-BCh-G39Y2.d.mts → index-BFnNtGdX.d.mts} +0 -0
  525. /package/dist/{index-BMBcfD_R.d.mts → index-BNRXMhlr.d.mts} +0 -0
  526. /package/dist/{index-BO_854F2.d.mts → index-BPiqSRRl.d.mts} +0 -0
  527. /package/dist/{index-BOn0AAue.d.mts → index-BYd3Btr1.d.mts} +0 -0
  528. /package/dist/{index-BcsXXrHq.d.mts → index-B_BBnMou.d.mts} +0 -0
  529. /package/dist/{index-BwFl_eS0.d.mts → index-Bt4QNofW.d.mts} +0 -0
  530. /package/dist/{index-C-lwXyQ6.d.mts → index-C6HcjJiY.d.mts} +0 -0
  531. /package/dist/{index-C1o2TFfS.d.mts → index-CEqOS-7M.d.mts} +0 -0
  532. /package/dist/{index-C3kE54DD.d.mts → index-CIABef8t.d.mts} +0 -0
  533. /package/dist/{index-CREkvfw9.d.mts → index-CTHojwxd.d.mts} +0 -0
  534. /package/dist/{index-CRo77wc3.d.mts → index-CjDodOH2.d.mts} +0 -0
  535. /package/dist/{index-CfCYi7PF.d.mts → index-Cm-1i165.d.mts} +0 -0
  536. /package/dist/{index-CuYZJcK3.d.mts → index-DB7t8whN.d.mts} +0 -0
  537. /package/dist/{index-DCTy4zg0.d.mts → index-DBGd4WeR.d.mts} +0 -0
  538. /package/dist/{index-DWIh4oP5.d.mts → index-DGsJdI5l.d.mts} +0 -0
  539. /package/dist/{index-De7MV8-j.d.mts → index-DWfPppPU.d.mts} +0 -0
  540. /package/dist/{index-Dflz2i1X.d.mts → index-DeVKzGce.d.mts} +0 -0
  541. /package/dist/{index-DgJfEygr.d.mts → index-DedbSZMv.d.mts} +0 -0
  542. /package/dist/{index-DkrC-i1D.d.mts → index-Deol7ZWO.d.mts} +0 -0
  543. /package/dist/{index-DrK1_jKY.d.mts → index-Jh0C5PIG.d.mts} +0 -0
  544. /package/dist/{index-Es5nKSSL.d.mts → index-NKYLt_R9.d.mts} +0 -0
  545. /package/dist/{index-Wc1llEvP.d.mts → index-VWno75SQ.d.mts} +0 -0
  546. /package/dist/{index-bHnO4ZKt.d.mts → index-fxXoW-qc.d.mts} +0 -0
  547. /package/dist/{index-dhjtMp5F.d.mts → index-gVcIuWLd.d.mts} +0 -0
  548. /package/dist/{index-xmouCHX9.d.mts → index-zeAhjge4.d.mts} +0 -0
@@ -1,2 +1,2 @@
1
- import { a as MenuDivider, c as MenuList, i as Menu, n as IconContainer, o as MenuHeading, r as ListItem, s as MenuItem, t as FloatingCard } from "../../Menu-Cd6oxjAe.mjs";
1
+ import { a as MenuDivider, c as MenuList, i as Menu, n as IconContainer, o as MenuHeading, r as ListItem, s as MenuItem, t as FloatingCard } from "../../Menu-CwlI7BMN.mjs";
2
2
  export { FloatingCard, IconContainer, ListItem, Menu, Menu as default, MenuDivider, MenuHeading, MenuItem, MenuList };
@@ -1,2 +1,2 @@
1
- import { a as ModalTitleProps, i as ModalRenderProps, n as ModalContent, o as ModalTrigger, r as ModalProps, s as _default, t as ModalClose } from "../../Modal-Dwq-QBw_.mjs";
1
+ import { a as ModalTitleProps, i as ModalRenderProps, n as ModalContent, o as ModalTrigger, r as ModalProps, s as _default, t as ModalClose } from "../../Modal-ymxlGYKt.mjs";
2
2
  export { ModalClose, ModalContent, ModalProps, ModalRenderProps, ModalTitleProps, ModalTrigger, _default as default };
@@ -1,2 +1,2 @@
1
- import { i as Modal_default, n as ModalContent, r as ModalTrigger, t as ModalClose } from "../../Modal-BN0K8QXi.mjs";
1
+ import { i as Modal_default, n as ModalContent, r as ModalTrigger, t as ModalClose } from "../../Modal-CMiFcXC9.mjs";
2
2
  export { ModalClose, ModalContent, ModalTrigger, Modal_default as default };
@@ -1,2 +1,2 @@
1
- import { n as PageHeaderContainer, t as PageHeader } from "../../PageHeader-BTtm3hRQ.mjs";
1
+ import { n as PageHeaderContainer, t as PageHeader } from "../../PageHeader-D_0p7UK_.mjs";
2
2
  export { PageHeaderContainer, PageHeader as default };
@@ -1,4 +1,4 @@
1
- import { t as Pagination } from "../../Pagination-H-CcXrCD.mjs";
2
- import { r as PageSelector, t as PAGE_LIMIT_BEFORE_SCROLL_MODE } from "../../PageSelector-CeGC84N1.mjs";
3
- import { n as MIN_PAGE_SIZE, t as DEFAULT_PAGE_SIZE_OPTIONS } from "../../constants-BpwnTzcv.mjs";
1
+ import { t as Pagination } from "../../Pagination-Dg-4O7F7.mjs";
2
+ import { r as PageSelector, t as PAGE_LIMIT_BEFORE_SCROLL_MODE } from "../../PageSelector-Bxulu6vU.mjs";
3
+ import { n as MIN_PAGE_SIZE, t as DEFAULT_PAGE_SIZE_OPTIONS } from "../../constants-BOxzLX-O.mjs";
4
4
  export { DEFAULT_PAGE_SIZE_OPTIONS, MIN_PAGE_SIZE, PAGE_LIMIT_BEFORE_SCROLL_MODE, PageSelector, Pagination as default };
@@ -1,2 +1,2 @@
1
- import { a as MIN_PAGE_SIZE, i as DEFAULT_PAGE_SIZE_OPTIONS, n as PAGE_LIMIT_BEFORE_SCROLL_MODE, r as PageSelector, t as Pagination_default } from "../../Pagination-CPd4mSnw.mjs";
1
+ import { a as MIN_PAGE_SIZE, i as DEFAULT_PAGE_SIZE_OPTIONS, n as PAGE_LIMIT_BEFORE_SCROLL_MODE, r as PageSelector, t as Pagination_default } from "../../Pagination-Co9CfyFQ.mjs";
2
2
  export { DEFAULT_PAGE_SIZE_OPTIONS, MIN_PAGE_SIZE, PAGE_LIMIT_BEFORE_SCROLL_MODE, PageSelector, Pagination_default as default };
@@ -1,2 +1,2 @@
1
- import { t as Pii_default } from "../../Pii-Dz4woKd8.mjs";
1
+ import { t as Pii_default } from "../../Pii-JGV9gP95.mjs";
2
2
  export { Pii_default as default };
@@ -1,2 +1,2 @@
1
- import { a as PopoverPortal, i as PopoverContent, n as PopoverCard, o as PopoverTrigger, r as PopoverClose, s as Popover_default, t as PopoverAnchor } from "../../Popover-opVa9Xhc.mjs";
1
+ import { a as PopoverPortal, i as PopoverContent, n as PopoverCard, o as PopoverTrigger, r as PopoverClose, s as Popover_default, t as PopoverAnchor } from "../../Popover-ZAj03lws.mjs";
2
2
  export { PopoverAnchor, PopoverCard, PopoverClose, PopoverContent, PopoverPortal, PopoverTrigger, Popover_default as default };
@@ -13,7 +13,6 @@ const statusFill = (theme, status) => {
13
13
  if (status === "success") return semanticColor(theme, "StatusSuccess3", Color.BorderIconSuccess);
14
14
  return semanticColor(theme, "StatusInfo3", Color.BorderInputActive);
15
15
  };
16
- const statusIconColor = (theme, status) => status === "exception" ? semanticColor(theme, "FgDanger1", Color.BorderInputDanger) : semanticColor(theme, "FgSuccess", Color.BorderIconSuccess);
17
16
  const TRACK_HEIGHT = {
18
17
  sm: "4px",
19
18
  md: "8px"
@@ -91,7 +90,7 @@ const IconWrapper = styled.span`
91
90
  display: flex;
92
91
  flex-shrink: 0;
93
92
  line-height: 0;
94
- color: ${({ theme, $status }) => statusIconColor(theme, $status)};
93
+ color: ${({ theme, $status }) => statusFill(theme, $status)};
95
94
  `;
96
95
  /**
97
96
  * ProgressBar shows the completion status of an operation as a filled bar.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/ProgressBar/ProgressBar.tsx","../../../components/ProgressBar/index.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { useId } from 'react-aria';\nimport styled, { keyframes } from 'styled-components';\n\nimport { Tooltip } from '@persona/design-system/components/Tooltip';\nimport { paragraphMixins } from '@persona/design-system/mixins/text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport CircleCheckFillIcon from '@persona/icons/CircleCheckFillIcon';\nimport CircleWarningFillIcon from '@persona/icons/CircleWarningFillIcon';\nimport { type MaybeSemanticTheme, semanticColor } from 'design-system/lib/semanticColor';\n\nexport type ProgressBarStatus = 'default' | 'exception' | 'success';\nexport type ProgressBarSize = 'sm' | 'md';\nexport type ProgressBarType = 'determinate' | 'indeterminate';\n\nconst statusFill = (theme: MaybeSemanticTheme, status: ProgressBarStatus) => {\n if (status === 'exception') {\n return semanticColor(theme, 'StatusDanger4', Color.BorderInputDanger);\n }\n if (status === 'success') {\n return semanticColor(theme, 'StatusSuccess3', Color.BorderIconSuccess);\n }\n return semanticColor(theme, 'StatusInfo3', Color.BorderInputActive);\n};\n\nconst statusIconColor = (theme: MaybeSemanticTheme, status: 'exception' | 'success') =>\n status === 'exception'\n ? semanticColor(theme, 'FgDanger1', Color.BorderInputDanger)\n : semanticColor(theme, 'FgSuccess', Color.BorderIconSuccess);\n\nconst TRACK_HEIGHT: Record<ProgressBarSize, string> = {\n sm: '4px',\n md: '8px',\n};\n\n// 20px matches the line-height of TextMedium — the tallest element in the bar row\nconst BAR_ROW_HEIGHT = '20px';\n\nconst indeterminateScan = keyframes`\n 0% { left: -40%; width: 40%; }\n 60% { left: 100%; width: 40%; }\n 100% { left: 100%; width: 40%; }\n`;\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nconst LabelText = styled.span`\n ${paragraphMixins.md}\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n`;\n\nconst BarRow = styled.div`\n display: flex;\n gap: ${Spacing[2]};\n align-items: center;\n min-height: ${BAR_ROW_HEIGHT};\n width: 100%;\n`;\n\nconst Track = styled.div<{ $size: ProgressBarSize; $railColor?: Color }>`\n flex: 1;\n height: ${({ $size }) => TRACK_HEIGHT[$size]};\n background-color: ${({ theme, $railColor }) =>\n $railColor ?? semanticColor(theme, 'BorderSubtle', Color.BorderDivider)};\n border-radius: 4px;\n overflow: hidden;\n position: relative;\n`;\n\nconst Fill = styled.div<{\n $percent: number;\n $left: number;\n $status: ProgressBarStatus;\n $fillColor?: Color;\n $hasSuccessBefore: boolean;\n}>`\n position: absolute;\n top: 0;\n bottom: 0;\n left: ${({ $left }) => `${$left}%`};\n width: ${({ $percent }) => `${$percent}%`};\n background-color: ${({ theme, $status, $fillColor }) => $fillColor ?? statusFill(theme, $status)};\n border-radius: ${({ $hasSuccessBefore }) => ($hasSuccessBefore ? '0 4px 4px 0' : '4px')};\n transition: width 0.3s ease, left 0.3s ease;\n`;\n\nconst SuccessFill = styled.div<{ $percent: number; $hasInProgressAfter: boolean }>`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: ${({ $percent }) => `${$percent}%`};\n background-color: ${({ theme }) => statusFill(theme, 'success')};\n border-radius: ${({ $hasInProgressAfter }) => ($hasInProgressAfter ? '4px 0 0 4px' : '4px')};\n transition: width 0.3s ease;\n`;\n\nconst IndeterminateFill = styled.div`\n position: absolute;\n inset: 0 auto 0 auto;\n height: 100%;\n background-color: ${({ theme }) => semanticColor(theme, 'FeedbackNeutral5', Color.BorderIconPrimary)};\n border-radius: 4px;\n animation: ${indeterminateScan} 2.5s ease-in-out infinite;\n`;\n\nconst SuffixRow = styled.div`\n display: flex;\n gap: ${Spacing[1]};\n align-items: center;\n flex-shrink: 0;\n`;\n\nconst PercentText = styled.span`\n ${paragraphMixins.md}\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n white-space: nowrap;\n`;\n\nconst IconWrapper = styled.span<{ $status: 'exception' | 'success' }>`\n display: flex;\n flex-shrink: 0;\n line-height: 0;\n color: ${({ theme, $status }) => statusIconColor(theme, $status)};\n`;\n\nexport interface ProgressBarProps extends ComponentPropsWithoutRef<'div'> {\n /** Completion percentage, 0–100 */\n percent?: number;\n /** Size of the bar track */\n size?: ProgressBarSize;\n /** Status — affects fill color */\n status?: ProgressBarStatus;\n /**\n * `'determinate'` shows a filled bar for a known percentage.\n * `'indeterminate'` shows a scanning animation for unknown progress.\n * @defaultValue 'determinate'\n */\n type?: ProgressBarType;\n /** Label text */\n label?: string;\n /**\n * Show a right-hand info slot: percentage while in progress, status icon when\n * success or exception. The two are mutually exclusive — icon replaces percentage\n * once the bar reaches a terminal state.\n * Defaults to `true` when `successPercent` is set.\n */\n showInfo?: boolean;\n /** Custom fill color (design-system token) — overrides status color */\n fillColor?: Color;\n /** Custom track/rail background color (design-system token) */\n railColor?: Color;\n /**\n * Format function for the displayed percentage value.\n * @defaultValue (percent) => `${percent}%`\n */\n format?: (percent: number) => string;\n /**\n * When set, renders a green success segment from 0 to `successPercent`%,\n * with the main fill continuing from `successPercent`% to `percent`%.\n * Clamped to [0, percent]. Also enables `showInfo` by default.\n */\n successPercent?: number;\n /**\n * Tooltip content shown when hovering the bar track.\n * Use to surface a segment breakdown, e.g. \"3 done / 3 in progress / 4 to do\".\n */\n tooltip?: string;\n}\n\n/**\n * ProgressBar shows the completion status of an operation as a filled bar.\n *\n * @example\n * ```tsx\n * <ProgressBar\n * percent={60}\n * size=\"md\"\n * label=\"Uploading\"\n * showInfo\n * />\n * ```\n */\nexport const ProgressBar = ({\n percent = 0,\n size = 'sm',\n status = 'default',\n type = 'determinate',\n label,\n showInfo,\n fillColor,\n railColor,\n format,\n successPercent,\n tooltip,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n}: ProgressBarProps) => {\n const labelId = useId();\n const clampedPercent = Math.min(100, Math.max(0, percent));\n const clampedSuccessPercent =\n successPercent != null ? Math.min(clampedPercent, Math.max(0, successPercent)) : 0;\n const inProgressPercent = clampedPercent - clampedSuccessPercent;\n const hasSuccessSegment = clampedSuccessPercent > 0;\n const hasInProgressSegment = inProgressPercent > 0;\n\n // Automatically derive success status when fully complete (unless caller set exception)\n const effectiveStatus: ProgressBarStatus =\n clampedPercent >= 100 && status !== 'exception' ? 'success' : status;\n\n // showInfo defaults to true when successPercent is used\n const effectiveShowInfo = showInfo ?? successPercent != null;\n\n const isTerminal = effectiveStatus === 'exception' || effectiveStatus === 'success';\n const formattedPercent = format ? format(clampedPercent) : `${clampedPercent}%`;\n const isIndeterminate = type === 'indeterminate';\n\n const labelledBy = label ? [labelId, ariaLabelledBy].filter(Boolean).join(' ') : ariaLabelledBy;\n const accessibleLabel = labelledBy ? undefined : (ariaLabel ?? 'Progress');\n\n const track = (\n <Track\n $size={size}\n $railColor={railColor}\n role='progressbar'\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={isIndeterminate ? undefined : clampedPercent}\n aria-valuetext={isIndeterminate ? undefined : formattedPercent}\n aria-labelledby={labelledBy || undefined}\n aria-label={accessibleLabel}\n >\n {isIndeterminate ? (\n <IndeterminateFill />\n ) : (\n <>\n {hasSuccessSegment && (\n <SuccessFill\n $percent={clampedSuccessPercent}\n $hasInProgressAfter={hasInProgressSegment}\n />\n )}\n {hasInProgressSegment && (\n <Fill\n $percent={inProgressPercent}\n $left={clampedSuccessPercent}\n $status={effectiveStatus}\n $fillColor={fillColor}\n $hasSuccessBefore={hasSuccessSegment}\n />\n )}\n </>\n )}\n </Track>\n );\n\n return (\n <Container {...props}>\n {label && <LabelText id={labelId}>{label}</LabelText>}\n <BarRow>\n {tooltip ? (\n <Tooltip trigger={track} side='top' contentAlignment='center'>\n {tooltip}\n </Tooltip>\n ) : (\n track\n )}\n {effectiveShowInfo && (\n <SuffixRow>\n {isTerminal ? (\n <IconWrapper $status={effectiveStatus}>\n {effectiveStatus === 'exception' ? (\n <CircleWarningFillIcon size={16} />\n ) : (\n <CircleCheckFillIcon size={16} />\n )}\n </IconWrapper>\n ) : (\n <PercentText>{formattedPercent}</PercentText>\n )}\n </SuffixRow>\n )}\n </BarRow>\n </Container>\n );\n};\n\nexport default ProgressBar;\n","import ProgressBar from './ProgressBar';\n\nexport { ProgressBar };\nexport type {\n ProgressBarProps,\n ProgressBarSize,\n ProgressBarStatus,\n ProgressBarType,\n} from './ProgressBar';\n\nexport default ProgressBar;\n"],"mappings":";;;;;;;;;;AAeA,MAAM,cAAc,OAA2B,WAA8B;AAC3E,KAAI,WAAW,YACb,QAAO,cAAc,OAAO,iBAAiB,MAAM,kBAAkB;AAEvE,KAAI,WAAW,UACb,QAAO,cAAc,OAAO,kBAAkB,MAAM,kBAAkB;AAExE,QAAO,cAAc,OAAO,eAAe,MAAM,kBAAkB;;AAGrE,MAAM,mBAAmB,OAA2B,WAClD,WAAW,cACP,cAAc,OAAO,aAAa,MAAM,kBAAkB,GAC1D,cAAc,OAAO,aAAa,MAAM,kBAAkB;AAEhE,MAAM,eAAgD;CACpD,IAAI;CACJ,IAAI;CACL;AAGD,MAAM,iBAAiB;AAEvB,MAAM,oBAAoB,SAAS;;;;;AAMnC,MAAM,YAAY,OAAO,GAAG;;;;;AAM5B,MAAM,YAAY,OAAO,IAAI;IACzB,gBAAgB,GAAG;YACX,EAAE,YAAY,cAAc,OAAO,aAAa,MAAM,YAAY,CAAC;;AAG/E,MAAM,SAAS,OAAO,GAAG;;SAEhB,QAAQ,GAAG;;gBAEJ,eAAe;;;AAI/B,MAAM,QAAQ,OAAO,GAAmD;;aAE3D,EAAE,YAAY,aAAa,OAAO;uBACxB,EAAE,OAAO,iBAC5B,cAAc,cAAc,OAAO,gBAAgB,MAAM,cAAc,CAAC;;;;;AAM5E,MAAM,OAAO,OAAO,GAMlB;;;;WAIS,EAAE,YAAY,GAAG,MAAM,GAAG;YACzB,EAAE,eAAe,GAAG,SAAS,GAAG;uBACrB,EAAE,OAAO,SAAS,iBAAiB,cAAc,WAAW,OAAO,QAAQ,CAAC;oBAC/E,EAAE,wBAAyB,oBAAoB,gBAAgB,MAAO;;;AAI1F,MAAM,cAAc,OAAO,GAAuD;;;;;YAKtE,EAAE,eAAe,GAAG,SAAS,GAAG;uBACrB,EAAE,YAAY,WAAW,OAAO,UAAU,CAAC;oBAC9C,EAAE,0BAA2B,sBAAsB,gBAAgB,MAAO;;;AAI9F,MAAM,oBAAoB,OAAO,GAAG;;;;uBAIb,EAAE,YAAY,cAAc,OAAO,oBAAoB,MAAM,kBAAkB,CAAC;;eAExF,kBAAkB;;AAGjC,MAAM,YAAY,OAAO,GAAG;;SAEnB,QAAQ,GAAG;;;;AAKpB,MAAM,cAAc,OAAO,IAAI;IAC3B,gBAAgB,GAAG;YACX,EAAE,YAAY,cAAc,OAAO,aAAa,MAAM,YAAY,CAAC;;;AAI/E,MAAM,cAAc,OAAO,IAA0C;;;;YAIzD,EAAE,OAAO,cAAc,gBAAgB,OAAO,QAAQ,CAAC;;;;;;;;;;;;;;;AA4DnE,MAAa,eAAe,EAC1B,UAAU,GACV,OAAO,MACP,SAAS,WACT,OAAO,eACP,OACA,UACA,WACA,WACA,QACA,gBACA,SACA,cAAc,WACd,mBAAmB,gBACnB,GAAG,YACmB;CACtB,MAAM,UAAU,OAAO;CACvB,MAAM,iBAAiB,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,QAAQ,CAAC;CAC1D,MAAM,wBACJ,kBAAkB,OAAO,KAAK,IAAI,gBAAgB,KAAK,IAAI,GAAG,eAAe,CAAC,GAAG;CACnF,MAAM,oBAAoB,iBAAiB;CAC3C,MAAM,oBAAoB,wBAAwB;CAClD,MAAM,uBAAuB,oBAAoB;CAGjD,MAAM,kBACJ,kBAAkB,OAAO,WAAW,cAAc,YAAY;CAGhE,MAAM,oBAAoB,YAAY,kBAAkB;CAExD,MAAM,aAAa,oBAAoB,eAAe,oBAAoB;CAC1E,MAAM,mBAAmB,SAAS,OAAO,eAAe,GAAG,GAAG,eAAe;CAC7E,MAAM,kBAAkB,SAAS;CAEjC,MAAM,aAAa,QAAQ,CAAC,SAAS,eAAe,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,GAAG;CAGjF,MAAM,QACJ,oBAAC,OAAD;EACE,OAAO;EACP,YAAY;EACZ,MAAK;EACL,iBAAe;EACf,iBAAe;EACf,iBAAe,kBAAkB,KAAA,IAAY;EAC7C,kBAAgB,kBAAkB,KAAA,IAAY;EAC9C,mBAAiB,cAAc,KAAA;EAC/B,cAZoB,aAAa,KAAA,IAAa,aAAa;YAc1D,kBACC,oBAAC,mBAAD,EAAqB,CAAA,GAErB,qBAAA,UAAA,EAAA,UAAA,CACG,qBACC,oBAAC,aAAD;GACE,UAAU;GACV,qBAAqB;GACrB,CAAA,EAEH,wBACC,oBAAC,MAAD;GACE,UAAU;GACV,OAAO;GACP,SAAS;GACT,YAAY;GACZ,mBAAmB;GACnB,CAAA,CAEH,EAAA,CAAA;EAEC,CAAA;AAGV,QACE,qBAAC,WAAD;EAAW,GAAI;YAAf,CACG,SAAS,oBAAC,WAAD;GAAW,IAAI;aAAU;GAAkB,CAAA,EACrD,qBAAC,QAAD,EAAA,UAAA,CACG,UACC,oBAAC,SAAD;GAAS,SAAS;GAAO,MAAK;GAAM,kBAAiB;aAClD;GACO,CAAA,GAEV,OAED,qBACC,oBAAC,WAAD,EAAA,UACG,aACC,oBAAC,aAAD;GAAa,SAAS;aACnB,oBAAoB,cACnB,oBAAC,uBAAD,EAAuB,MAAM,IAAM,CAAA,GAEnC,oBAAC,qBAAD,EAAqB,MAAM,IAAM,CAAA;GAEvB,CAAA,GAEd,oBAAC,aAAD,EAAA,UAAc,kBAA+B,CAAA,EAErC,CAAA,CAEP,EAAA,CAAA,CACC;;;;;ACtRhB,IAAA,sBAAe"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/ProgressBar/ProgressBar.tsx","../../../components/ProgressBar/index.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { useId } from 'react-aria';\nimport styled, { keyframes } from 'styled-components';\n\nimport { Tooltip } from '@persona/design-system/components/Tooltip';\nimport { paragraphMixins } from '@persona/design-system/mixins/text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport CircleCheckFillIcon from '@persona/icons/CircleCheckFillIcon';\nimport CircleWarningFillIcon from '@persona/icons/CircleWarningFillIcon';\nimport { type MaybeSemanticTheme, semanticColor } from 'design-system/lib/semanticColor';\n\nexport type ProgressBarStatus = 'default' | 'exception' | 'success';\nexport type ProgressBarSize = 'sm' | 'md';\nexport type ProgressBarType = 'determinate' | 'indeterminate';\n\nconst statusFill = (theme: MaybeSemanticTheme, status: ProgressBarStatus) => {\n if (status === 'exception') {\n return semanticColor(theme, 'StatusDanger4', Color.BorderInputDanger);\n }\n if (status === 'success') {\n return semanticColor(theme, 'StatusSuccess3', Color.BorderIconSuccess);\n }\n return semanticColor(theme, 'StatusInfo3', Color.BorderInputActive);\n};\n\nconst TRACK_HEIGHT: Record<ProgressBarSize, string> = {\n sm: '4px',\n md: '8px',\n};\n\n// 20px matches the line-height of TextMedium — the tallest element in the bar row\nconst BAR_ROW_HEIGHT = '20px';\n\nconst indeterminateScan = keyframes`\n 0% { left: -40%; width: 40%; }\n 60% { left: 100%; width: 40%; }\n 100% { left: 100%; width: 40%; }\n`;\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nconst LabelText = styled.span`\n ${paragraphMixins.md}\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n`;\n\nconst BarRow = styled.div`\n display: flex;\n gap: ${Spacing[2]};\n align-items: center;\n min-height: ${BAR_ROW_HEIGHT};\n width: 100%;\n`;\n\nconst Track = styled.div<{ $size: ProgressBarSize; $railColor?: Color }>`\n flex: 1;\n height: ${({ $size }) => TRACK_HEIGHT[$size]};\n background-color: ${({ theme, $railColor }) =>\n $railColor ?? semanticColor(theme, 'BorderSubtle', Color.BorderDivider)};\n border-radius: 4px;\n overflow: hidden;\n position: relative;\n`;\n\nconst Fill = styled.div<{\n $percent: number;\n $left: number;\n $status: ProgressBarStatus;\n $fillColor?: Color;\n $hasSuccessBefore: boolean;\n}>`\n position: absolute;\n top: 0;\n bottom: 0;\n left: ${({ $left }) => `${$left}%`};\n width: ${({ $percent }) => `${$percent}%`};\n background-color: ${({ theme, $status, $fillColor }) => $fillColor ?? statusFill(theme, $status)};\n border-radius: ${({ $hasSuccessBefore }) => ($hasSuccessBefore ? '0 4px 4px 0' : '4px')};\n transition: width 0.3s ease, left 0.3s ease;\n`;\n\nconst SuccessFill = styled.div<{ $percent: number; $hasInProgressAfter: boolean }>`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: ${({ $percent }) => `${$percent}%`};\n background-color: ${({ theme }) => statusFill(theme, 'success')};\n border-radius: ${({ $hasInProgressAfter }) => ($hasInProgressAfter ? '4px 0 0 4px' : '4px')};\n transition: width 0.3s ease;\n`;\n\nconst IndeterminateFill = styled.div`\n position: absolute;\n inset: 0 auto 0 auto;\n height: 100%;\n background-color: ${({ theme }) => semanticColor(theme, 'FeedbackNeutral5', Color.BorderIconPrimary)};\n border-radius: 4px;\n animation: ${indeterminateScan} 2.5s ease-in-out infinite;\n`;\n\nconst SuffixRow = styled.div`\n display: flex;\n gap: ${Spacing[1]};\n align-items: center;\n flex-shrink: 0;\n`;\n\nconst PercentText = styled.span`\n ${paragraphMixins.md}\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n white-space: nowrap;\n`;\n\nconst IconWrapper = styled.span<{ $status: 'exception' | 'success' }>`\n display: flex;\n flex-shrink: 0;\n line-height: 0;\n color: ${({ theme, $status }) => statusFill(theme, $status)};\n`;\n\nexport interface ProgressBarProps extends ComponentPropsWithoutRef<'div'> {\n /** Completion percentage, 0–100 */\n percent?: number;\n /** Size of the bar track */\n size?: ProgressBarSize;\n /** Status — affects fill color */\n status?: ProgressBarStatus;\n /**\n * `'determinate'` shows a filled bar for a known percentage.\n * `'indeterminate'` shows a scanning animation for unknown progress.\n * @defaultValue 'determinate'\n */\n type?: ProgressBarType;\n /** Label text */\n label?: string;\n /**\n * Show a right-hand info slot: percentage while in progress, status icon when\n * success or exception. The two are mutually exclusive — icon replaces percentage\n * once the bar reaches a terminal state.\n * Defaults to `true` when `successPercent` is set.\n */\n showInfo?: boolean;\n /** Custom fill color (design-system token) — overrides status color */\n fillColor?: Color;\n /** Custom track/rail background color (design-system token) */\n railColor?: Color;\n /**\n * Format function for the displayed percentage value.\n * @defaultValue (percent) => `${percent}%`\n */\n format?: (percent: number) => string;\n /**\n * When set, renders a green success segment from 0 to `successPercent`%,\n * with the main fill continuing from `successPercent`% to `percent`%.\n * Clamped to [0, percent]. Also enables `showInfo` by default.\n */\n successPercent?: number;\n /**\n * Tooltip content shown when hovering the bar track.\n * Use to surface a segment breakdown, e.g. \"3 done / 3 in progress / 4 to do\".\n */\n tooltip?: string;\n}\n\n/**\n * ProgressBar shows the completion status of an operation as a filled bar.\n *\n * @example\n * ```tsx\n * <ProgressBar\n * percent={60}\n * size=\"md\"\n * label=\"Uploading\"\n * showInfo\n * />\n * ```\n */\nexport const ProgressBar = ({\n percent = 0,\n size = 'sm',\n status = 'default',\n type = 'determinate',\n label,\n showInfo,\n fillColor,\n railColor,\n format,\n successPercent,\n tooltip,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n}: ProgressBarProps) => {\n const labelId = useId();\n const clampedPercent = Math.min(100, Math.max(0, percent));\n const clampedSuccessPercent =\n successPercent != null ? Math.min(clampedPercent, Math.max(0, successPercent)) : 0;\n const inProgressPercent = clampedPercent - clampedSuccessPercent;\n const hasSuccessSegment = clampedSuccessPercent > 0;\n const hasInProgressSegment = inProgressPercent > 0;\n\n // Automatically derive success status when fully complete (unless caller set exception)\n const effectiveStatus: ProgressBarStatus =\n clampedPercent >= 100 && status !== 'exception' ? 'success' : status;\n\n // showInfo defaults to true when successPercent is used\n const effectiveShowInfo = showInfo ?? successPercent != null;\n\n const isTerminal = effectiveStatus === 'exception' || effectiveStatus === 'success';\n const formattedPercent = format ? format(clampedPercent) : `${clampedPercent}%`;\n const isIndeterminate = type === 'indeterminate';\n\n const labelledBy = label ? [labelId, ariaLabelledBy].filter(Boolean).join(' ') : ariaLabelledBy;\n const accessibleLabel = labelledBy ? undefined : (ariaLabel ?? 'Progress');\n\n const track = (\n <Track\n $size={size}\n $railColor={railColor}\n role='progressbar'\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={isIndeterminate ? undefined : clampedPercent}\n aria-valuetext={isIndeterminate ? undefined : formattedPercent}\n aria-labelledby={labelledBy || undefined}\n aria-label={accessibleLabel}\n >\n {isIndeterminate ? (\n <IndeterminateFill />\n ) : (\n <>\n {hasSuccessSegment && (\n <SuccessFill\n $percent={clampedSuccessPercent}\n $hasInProgressAfter={hasInProgressSegment}\n />\n )}\n {hasInProgressSegment && (\n <Fill\n $percent={inProgressPercent}\n $left={clampedSuccessPercent}\n $status={effectiveStatus}\n $fillColor={fillColor}\n $hasSuccessBefore={hasSuccessSegment}\n />\n )}\n </>\n )}\n </Track>\n );\n\n return (\n <Container {...props}>\n {label && <LabelText id={labelId}>{label}</LabelText>}\n <BarRow>\n {tooltip ? (\n <Tooltip trigger={track} side='top' contentAlignment='center'>\n {tooltip}\n </Tooltip>\n ) : (\n track\n )}\n {effectiveShowInfo && (\n <SuffixRow>\n {isTerminal ? (\n <IconWrapper $status={effectiveStatus}>\n {effectiveStatus === 'exception' ? (\n <CircleWarningFillIcon size={16} />\n ) : (\n <CircleCheckFillIcon size={16} />\n )}\n </IconWrapper>\n ) : (\n <PercentText>{formattedPercent}</PercentText>\n )}\n </SuffixRow>\n )}\n </BarRow>\n </Container>\n );\n};\n\nexport default ProgressBar;\n","import ProgressBar from './ProgressBar';\n\nexport { ProgressBar };\nexport type {\n ProgressBarProps,\n ProgressBarSize,\n ProgressBarStatus,\n ProgressBarType,\n} from './ProgressBar';\n\nexport default ProgressBar;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { i as StepStatus, n as ProgressIndicatorProps, r as ProgressIndicatorStep, t as ProgressIndicator } from "../../ProgressIndicator-DbOLOaxJ.mjs";
1
+ import { i as StepStatus, n as ProgressIndicatorProps, r as ProgressIndicatorStep, t as ProgressIndicator } from "../../ProgressIndicator-D85HQGSx.mjs";
2
2
  export { ProgressIndicator, ProgressIndicator as default, ProgressIndicatorProps, ProgressIndicatorStep, StepStatus };
@@ -1,2 +1,2 @@
1
- import { t as ProgressIndicator } from "../../ProgressIndicator-3A4Aqci6.mjs";
1
+ import { t as ProgressIndicator } from "../../ProgressIndicator-CQg08vuA.mjs";
2
2
  export { ProgressIndicator, ProgressIndicator as default };
@@ -1,2 +1,2 @@
1
- import { t as Radio } from "../../Radio-Cxt89w8s.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-BjrfVPZQ.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-B6Cg1kdm.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":";;;;;;;;;;;;;;AAIA,MAAM,iCACJ,qBAAC,OAAD;CAAO,SAAS,QAAQ;CAAI,cAAW;WAAvC;EACE,qBAAC,OAAD;GAAO,SAAS,QAAQ;aAAxB,CACE,oBAAC,gBAAD;IAAgB,OAAM;IAAM,QAAO;IAAS,CAAA,EAC5C,oBAAC,gBAAD;IAAgB,OAAM;IAAO,QAAO;IAAS,CAAA,CACvC;;EACR,qBAAC,OAAD;GAAO,SAAS,QAAQ;aAAxB,CACE,oBAAC,gBAAD;IAAgB,OAAM;IAAM,QAAO;IAAS,CAAA,EAC5C,oBAAC,gBAAD;IAAgB,OAAM;IAAO,QAAO;IAAU,CAAA,CACxC;;EACR,oBAAC,QAAD;GAAQ,SAAQ;aACd,oBAAC,gBAAD;IAAgB,OAAM;IAAO,QAAO;IAAS,CAAA;GACtC,CAAA;EACH;;;;ACVV,MAAM,qBAAqB;AAC3B,MAAM,uBAAuB;AAC7B,MAAM,6BAA6B;AAUnC,MAAM,SAAS,OAAO,GAAG;;;;;WAKd,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;KAmBjB,IAAI,qBAAqB;yBACL,EAAE,YAAY,cAAc,OAAO,eAAe,MAAM,MAAM,OAAO,OAAO,CAAC;;;AAItG,MAAM,0BAA2D,EAC/D,QACA,UACA,aACA,WACA,oBACI;CACJ,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CACnD,MAAM,gBAAgB,OAAO,MAAM;CACnC,MAAM,uBAAuB,OAAsB,KAAK;CACxD,MAAM,eAAe,OAAO,UAAU;AACtC,cAAa,UAAU;CAEvB,MAAM,EAAE,cAAc,QAAQ;EAC5B,YAAY,GAAG;AACb,OAAI,EAAE,gBAAgB,YAAY;AAChC,kBAAc,UAAU;AACxB,kBAAc,KAAK;;AAErB,kBAAe;;EAEjB,OAAO,GAAG;AACR,OAAI,EAAE,gBAAgB,WACpB;GAEF,MAAM,OAAO,EAAE,WAAW,6BAA6B;AACvD,UAAO,EAAE,SAAS,KAAK;;EAEzB,UAAU,GAAG;AACX,OAAI,EAAE,gBAAgB,YAAY;AAChC,kBAAc,UAAU;AACxB,kBAAc,MAAM;AACpB,yBAAqB,UAAU;;AAEjC,gBAAa;;EAEhB,CAAC;AAEF,iBAAgB;AACd,eAAa;AACX,OAAI,cAAc,QAChB,cAAa,WAAW;;IAG3B,EAAE,CAAC;AAEN,QACE,oBAAC,QAAD;EACE,GAAI,WAAW,WAAW;GACxB;GACA,YAAY,MAAqB;AAC/B,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,sBAAiB;AACjB,OAAE,gBAAgB;;;GAGtB,uBAAuB,MAAoC;AACzD,QAAI,qBAAqB,YAAY,EAAE,UACrC;AAEF,yBAAqB,UAAU;AAC/B,WAAO,cACL,IAAI,aAAa,aAAa;KAC5B,SAAS;KACT,WAAW,EAAE;KACb,aAAa,EAAE,eAAe;KAC/B,CAAC,CACH;;GAEH,gBAAgB,MAAoC;AAClD,QAAI,EAAE,WAAW,KAAK,qBAAqB,WAAW,KACpD;AAEF,yBAAqB,UAAU,EAAE;AACjC,QAAI;AACF,OAAE,cAAc,kBAAkB,EAAE,UAAU;YACxC;;GAIV,gBAAgB,MAAoC;AAClD,QAAI,qBAAqB,YAAY,EAAE,UACrC;AAEF,eAAW,EAAE,QAAQ;;GAExB,CAAC;EACF,cAAW;EACX,oBAAiB;EACjB,MAAK;EACL,UAAU;EACV,WAAW,aAAa,qBAAqB,KAAA;EAC7C,CAAA;;;;ACtHN,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AACvB,MAAM,oBAAoB;AAC1B,MAAM,kBAAkB;AAGxB,MAAM,sBAAsB,QAAQ,QAAQ,GAAG,YAAY,QAAQ,GAAG;AAEtE,MAAM,aAAa,OAAO,OAAO,IAAI;;;;;AAMrC,MAAM,aAAa,OAAO,GAA8C;;KAEnE,EAAE,QAAQ,mBAAoB,eAAe,cAAc,OAAO,OAAO,GAAI;;;;;iBAKjE,EAAE,YAAY,cAAc,OAAO,kBAAkB,MAAM,kBAAkB,CAAC;4BACnE,EAAE,YAAY,cAAc,OAAO,gBAAgB,MAAM,cAAc,CAAC;;AAGpG,MAAM,cAAc,OAAO,GAAG;aACjB,QAAQ,GAAG;8BACM,EAAE,YAC5B,cAAc,OAAO,gBAAgB,MAAM,MAAM,OAAO,QAAQ,CAAC;;;AAIrE,MAAM,YAAY,OAAO,GAAG;;;IAGxB,kBAAkB;aACT,QAAQ,GAAG;oBACJ,oBAAoB;;AA0BxC,MAAM,cAAc,EAClB,IACA,OAAO,OACP,cACA,OACA,aACA,UACA,QAAQ,mBACR,WAAW,mBACX,YAAY,OACZ,UAAU,YACW;CACrB,MAAM,WAAW,OAAuB,KAAK;CAC7C,MAAM,2BAA2B,OAA2B,KAAK;CACjE,MAAM,uBAAuB,kBAAkB;CAE/C,MAAM,eAAe,YAAY,KAAK,IAAI,UAAU,MAAM,GAAG;CAC7D,MAAM,CAAC,cAAc,mBAAmB,SAAS,aAAa;CAC9D,MAAM,CAAC,oBAAoB,yBAAyB,SAAS,KAAK;CAElE,MAAM,iBAAiB,YAAY,eAAe;CAElD,MAAM,cAAc,kBAAkB;AACpC,iBAAe,MAAM;IACpB,CAAC,aAAa,CAAC;CAElB,MAAM,gBAAgB,aACnB,MAAqB;AACpB,MAAI,EAAE,QAAQ,SACZ,cAAa;IAGjB,CAAC,YAAY,CACd;AAED,iBAAgB;AACd,MAAI,MAAM;AACR,4BAAyB,UAAU,SAAS;AAC5C,YAAS,SAAS,OAAO;aAEzB,yBAAyB,WACzB,SAAS,SAAS,yBAAyB,QAAQ,EACnD;AACA,4BAAyB,QAAQ,OAAO;AACxC,4BAAyB,UAAU;;IAEpC,CAAC,KAAK,CAAC;CAEV,MAAM,aAAa,aAChB,cACC,KAAK,IAAI,kBAAkB,OAAO,YAAY,KAAK,IAAI,UAAU,UAAU,CAAC,EAC9E,CAAC,SAAS,CACX;CAED,MAAM,aAAa,aAChB,WAAmB;AAClB,mBAAiB,YAAY,WAAW,UAAU,OAAO,CAAC;IAE5D,CAAC,WAAW,CACb;CAED,MAAM,eAAe,aAClB,YAAoB;AAEnB,kBAAgB,YADE,SAAS,SAAS,uBAAuB,CAAC,SAAS,OAAO,cACrC,QAAQ,CAAC;IAElD,CAAC,WAAW,CACb;CAED,MAAM,kBAAkB,kBAAkB;AACxC,wBAAsB,MAAM;IAC3B,EAAE,CAAC;CAEN,MAAM,gBAAgB,kBAAkB;AACtC,wBAAsB,KAAK;IAC1B,EAAE,CAAC;CAEN,MAAM,oBAAoB,kBAAkB;AAC1C,wBAAsB,KAAK;AAC3B,kBAAgB,aAAa;IAC5B,CAAC,aAAa,CAAC;AAElB,QACE,oBAAC,iBAAD,EAAA,UACG,QACC,oBAAC,YAAD;EACE,SAAS;GACP,OAAO,uBAAuB,iBAAiB;GAC/C,UAAU,uBAAuB,iBAAiB;GACnD;EACD,SAAS;GACP,OAAO;GACP,UAAU;GACV,YAAY;IACV,UAAU,uBAAuB,IAAI;IACrC,MAAM;IACN,OAAO,sBAAsB,CAAC,uBAAuB,KAAA,IAAY,EAAE,UAAU,GAAG;IAChF,UAAU,sBAAsB,CAAC,uBAAuB,KAAA,IAAY,EAAE,UAAU,GAAG;IACpF;GACF;EACD,MAAM;GACJ,OAAO;GACP,UAAU;GACV,YAAY;IACV,UAAU,uBAAuB,IAAI;IACrC,MAAM;IACP;GACF;YAED,qBAAC,YAAD;GACE,KAAK;GACD;GACJ,QAAQ;GACR,cAAc;GACd,MAAK;GACL,cAAY;GACZ,UAAU;GACV,WAAW;aARb;IAUG,aACC,oBAAC,wBAAD;KACE,QAAQ;KACR,UAAU;KACV,aAAa;KACb,WAAW;KACX,eAAe;KACf,CAAA;IAEJ,oBAAC,aAAD,EAAA,UACE,qBAAC,OAAD;KAAO,SAAS,QAAQ;eAAxB,CACE,qBAAC,QAAD;MAAQ,SAAQ;MAAgB,OAAM;MAAS,SAAS,QAAQ;gBAAhE,CACE,oBAAC,WAAD;OAAW,IAAG;OAAK,MAAK;OAAK,QAAO;OAAO,OAAM;iBAC9C;OACS,CAAA,EACZ,oBAAC,YAAD;OAAY,MAAK;OAAK,cAAW;OAAQ,SAAS;iBAChD,oBAAC,OAAD,EAAS,CAAA;OACE,CAAA,CACN;SACR,eACC,oBAAC,WAAD;MAAW,MAAK;MAAK,OAAM;gBACxB;MACS,CAAA,CAER;QACI,CAAA;IACd,oBAAC,WAAD,EAAA,UAAY,UAAU,oBAAC,0BAAD,EAA4B,CAAA,GAAG,UAAqB,CAAA;IAC/D;;EACF,CAAA,EAEC,CAAA"}
@@ -1,2 +1,2 @@
1
- import { i as SegmentedControlProps, n as SegmentedControlItem, t as SegmentedControl } from "../../SegmentedControl-Crr_aHAs.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-BcwfLuHA.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-CJQeuCiF.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-BstCz8P1.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-RVptVTVi.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 };