@persona/design-system 0.10.5 → 0.10.7

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 (559) 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-Bmo8B-Q3.d.mts → Action-BLMJwLBV.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-8YzapjWf.mjs.map +1 -1
  11. package/dist/BooleanValueControl.d.mts +1 -1
  12. package/dist/BottomPanel.d.mts +7 -0
  13. package/dist/{Breadcrumb-DnY8n3EL.d.mts → Breadcrumb-chGXhl3V.d.mts} +1 -1
  14. package/dist/Breadcrumb.d.mts +1 -1
  15. package/dist/{Breadcrumbs-DRu_JfdI.d.mts → Breadcrumbs-ChKWIuRq.d.mts} +2 -2
  16. package/dist/Breadcrumbs-Dft2TR4v.mjs.map +1 -1
  17. package/dist/Breadcrumbs.d.mts +1 -1
  18. package/dist/{Button-Cg8KyT5M.d.mts → Button-B79_aXfC.d.mts} +4 -4
  19. package/dist/Button.d.mts +1 -1
  20. package/dist/{Calendar-D-6WOLJ1.d.mts → Calendar-50D7poM_.d.mts} +1 -1
  21. package/dist/Calendar.d.mts +1 -1
  22. package/dist/CalendarBase.d.mts +1 -1
  23. package/dist/CalendarCell.d.mts +1 -1
  24. package/dist/CalendarGrid.d.mts +1 -1
  25. package/dist/{Card-CfECLwQ6.d.mts → Card-DOIqF954.d.mts} +3 -3
  26. package/dist/Card-DuQHyroh.mjs.map +1 -1
  27. package/dist/Card.d.mts +1 -1
  28. package/dist/CardGrouping.d.mts +2 -2
  29. package/dist/CardV2-BRJbRSts.mjs.map +1 -1
  30. package/dist/Checkbox-Dr4LMKHV.mjs.map +1 -1
  31. package/dist/{Checkbox-ZywrdT_h.d.mts → Checkbox-EgYclGfH.d.mts} +1 -1
  32. package/dist/Checkbox.d.mts +1 -1
  33. package/dist/{CheckboxGroupField-UHpA38U5.d.mts → CheckboxGroupField-Cw-1UxIW.d.mts} +3 -3
  34. package/dist/CheckboxGroupField.d.mts +1 -1
  35. package/dist/ChoicesValueControl.d.mts +1 -1
  36. package/dist/{Combobox-BXkcQ2aY.d.mts → Combobox-BkDYZlUh.d.mts} +3 -3
  37. package/dist/Combobox-DQxaOCLA.mjs.map +1 -1
  38. package/dist/Combobox.d.mts +2 -2
  39. package/dist/{ComboboxBase-D2rDQHYZ.d.mts → ComboboxBase-1Xy4pnRV.d.mts} +6 -6
  40. package/dist/ComboboxBase.d.mts +1 -1
  41. package/dist/{ComboboxMultiSelect-CrvB6ap5.d.mts → ComboboxMultiSelect-DHf7NK7Z.d.mts} +2 -2
  42. package/dist/ComboboxMultiSelect.d.mts +1 -1
  43. package/dist/{ComboboxSingleSelect-Dp0iTdDO.d.mts → ComboboxSingleSelect-Ble5PcXQ.d.mts} +4 -4
  44. package/dist/ComboboxSingleSelect.d.mts +1 -1
  45. package/dist/{CompactBar-zYfXjFmn.d.mts → CompactBar-DmoFq5i6.d.mts} +3 -3
  46. package/dist/CompactBar.d.mts +1 -1
  47. package/dist/{ControlBar-kJ_eWf8f.d.mts → ControlBar-dqzVo6e6.d.mts} +2 -2
  48. package/dist/ControlBar.d.mts +1 -1
  49. package/dist/{DataTable-DEJHWrsy.mjs → DataTable-B7QqP6YU.mjs} +8 -7
  50. package/dist/DataTable-B7QqP6YU.mjs.map +1 -0
  51. package/dist/{DataTable-C000E74h.d.mts → DataTable-Cblw6bLk.d.mts} +7 -6
  52. package/dist/DataTable.d.mts +1 -1
  53. package/dist/{DateField-g7malFm-.d.mts → DateField-CbTxDzYF.d.mts} +2 -2
  54. package/dist/DateField.d.mts +1 -1
  55. package/dist/{DatePicker-8kUpFFh8.d.mts → DatePicker-1BADH9Pi.d.mts} +2 -2
  56. package/dist/{DatePicker-D-_ibUd1.mjs → DatePicker-CHaNe2Es.mjs} +2 -2
  57. package/dist/DatePicker-CHaNe2Es.mjs.map +1 -0
  58. package/dist/DatePicker.d.mts +1 -1
  59. package/dist/{DateRangePicker-Nv4uNuIW.d.mts → DateRangePicker-fq-_pFpg.d.mts} +3 -3
  60. package/dist/DateRangePicker.d.mts +1 -1
  61. package/dist/DateRangeValueControl.d.mts +2 -2
  62. package/dist/DateValueControl.d.mts +1 -1
  63. package/dist/DropdownButton-BiFRlSVD.mjs.map +1 -1
  64. package/dist/DropdownButton.d.mts +2 -2
  65. package/dist/{DropdownMenu-CQbS7ML5.d.mts → DropdownMenu-DjdNBJqP.d.mts} +2 -2
  66. package/dist/DropdownMenu-Q8S-9rXm.mjs.map +1 -1
  67. package/dist/DropdownMenu.d.mts +1 -1
  68. package/dist/{ErrorProps-Cy-APmdC.d.mts → ErrorProps-D4G9EWX2.d.mts} +1 -1
  69. package/dist/ErrorProps.d.mts +1 -1
  70. package/dist/{FieldRegistry-a44G08fS.d.mts → FieldRegistry-CPr7YoG5.d.mts} +2 -2
  71. package/dist/FieldRegistry.d.mts +1 -1
  72. package/dist/{FilterBar-BpMguIXl.d.mts → FilterBar-DPCPfr4_.d.mts} +4 -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/{FloatingActionBar-DPA9v_yH.d.mts → FloatingActionBar-u3TJcigs.d.mts} +1 -1
  79. package/dist/FloatingActionBar.d.mts +1 -1
  80. package/dist/FloatingToolbar-Df90f7Dm.mjs +493 -0
  81. package/dist/FloatingToolbar-Df90f7Dm.mjs.map +1 -0
  82. package/dist/FloatingToolbar.d.mts +1 -1
  83. package/dist/FormControl-BztNXLn6.mjs.map +1 -1
  84. package/dist/{FormControl-TkYMZeBd.d.mts → FormControl-D8vpeAPI.d.mts} +2 -2
  85. package/dist/FormControl.d.mts +1 -1
  86. package/dist/FormControlLabel.d.mts +1 -1
  87. package/dist/{FormField-g1zQFM9T.mjs → FormField-BStxmlZT.mjs} +2 -2
  88. package/dist/FormField-BStxmlZT.mjs.map +1 -0
  89. package/dist/{FormField-PBo1ctY8.d.mts → FormField-C6vp1Vfe.d.mts} +3 -3
  90. package/dist/FormField.d.mts +1 -1
  91. package/dist/{Grid-BtTuj5mR.mjs → Grid-CYpOqTUu.mjs} +1 -1
  92. package/dist/{Grid-BtTuj5mR.mjs.map → Grid-CYpOqTUu.mjs.map} +1 -1
  93. package/dist/{Header-fwlbzxYx.d.mts → Header-C9oYPBLv.d.mts} +1 -1
  94. package/dist/Header.d.mts +1 -1
  95. package/dist/{HelperTooltip-BLfPfJRN.d.mts → HelperTooltip-jHTdkLQq.d.mts} +2 -2
  96. package/dist/HelperTooltip.d.mts +1 -1
  97. package/dist/HighlightedText.d.mts +2 -2
  98. package/dist/HoverCopyableField-CW7Jxmni.mjs.map +1 -1
  99. package/dist/{I18nContext-EPmbUprm.d.mts → I18nContext-DzV-RDIh.d.mts} +2 -2
  100. package/dist/I18nContext.d.mts +1 -1
  101. package/dist/{IconButton-KhCwTwPx.d.mts → IconButton-CaEvsrOn.d.mts} +2 -2
  102. package/dist/IconButton-DftINsp7.mjs.map +1 -1
  103. package/dist/IconButton.d.mts +1 -1
  104. package/dist/ImageTile.d.mts +1 -1
  105. package/dist/IndexTableLayout.d.mts +5 -5
  106. package/dist/InlineCombobox.d.mts +1 -1
  107. package/dist/InlineInput.d.mts +1 -1
  108. package/dist/{Input-QNjbGo38.d.mts → Input-DQ2J9wlC.d.mts} +3 -3
  109. package/dist/Input-DtO3qMnE.mjs.map +1 -1
  110. package/dist/Input.d.mts +1 -1
  111. package/dist/{InputProps-BT7-RfnD.d.mts → InputProps-DrG94eFF.d.mts} +2 -2
  112. package/dist/InputProps.d.mts +1 -1
  113. package/dist/{Inserter-BnQVEqHV.d.mts → Inserter-CZeKlPqj.d.mts} +1 -1
  114. package/dist/Inserter.d.mts +1 -1
  115. package/dist/IntegerValueControl.d.mts +1 -1
  116. package/dist/Link-DKYmdL9t.mjs.map +1 -1
  117. package/dist/Link.d.mts +1 -1
  118. package/dist/ListBox-CDG0EAPg.mjs.map +1 -1
  119. package/dist/{ListBox-D9SYTzOd.d.mts → ListBox-DxbXE_EE.d.mts} +3 -3
  120. package/dist/ListBox.d.mts +1 -1
  121. package/dist/{ListBoxField-CtPDd_Aw.d.mts → ListBoxField-DVLggscv.d.mts} +4 -4
  122. package/dist/ListBoxField.d.mts +1 -1
  123. package/dist/LoadingShimmer-oPIv2ESr.mjs.map +1 -1
  124. package/dist/LoadingShimmer.d.mts +1 -1
  125. package/dist/{LogicRow-BWIZ7262.d.mts → LogicRow-DG06PsUe.d.mts} +3 -3
  126. package/dist/LogicRow.d.mts +1 -1
  127. package/dist/MaskedInput.d.mts +1 -1
  128. package/dist/{Menu-DizjcMbO.d.mts → Menu-Bq6Lij2L.d.mts} +3 -3
  129. package/dist/Menu-EIT_MwK6.mjs.map +1 -1
  130. package/dist/Menu.d.mts +1 -1
  131. package/dist/{Modal-92O_uW8H.mjs → Modal-BBlilB-B.mjs} +2 -2
  132. package/dist/Modal-BBlilB-B.mjs.map +1 -0
  133. package/dist/{Modal-Bhwq1bQJ.d.mts → Modal-kEgKwLg4.d.mts} +2 -2
  134. package/dist/Modal.d.mts +1 -1
  135. package/dist/{PageHeader-D2QLrS7-.d.mts → PageHeader-BGGhOS81.d.mts} +2 -2
  136. package/dist/{PageHeader-BzvA_NNt.mjs → PageHeader-DEKTopzU.mjs} +1 -1
  137. package/dist/PageHeader-DEKTopzU.mjs.map +1 -0
  138. package/dist/PageHeader.d.mts +1 -1
  139. package/dist/{PageLayout-DfAbeFIh.d.mts → PageLayout-B_LKPZD8.d.mts} +1 -1
  140. package/dist/{PageLayout-DCe3F76N.mjs → PageLayout-DjtGrvJa.mjs} +2 -2
  141. package/dist/PageLayout-DjtGrvJa.mjs.map +1 -0
  142. package/dist/PageLayout.d.mts +1 -1
  143. package/dist/{PageLayoutFrame-CQLREOBH.d.mts → PageLayoutFrame-uf17F41p.d.mts} +1 -1
  144. package/dist/PageLayoutFrame.d.mts +1 -1
  145. package/dist/{PageSelector-QaKYtk6y.d.mts → PageSelector-CLeG2gFh.d.mts} +10 -4
  146. package/dist/PageSelector.d.mts +1 -1
  147. package/dist/{Pagination-dTsHLVAk.mjs → Pagination-C8hPOu0l.mjs} +15 -11
  148. package/dist/Pagination-C8hPOu0l.mjs.map +1 -0
  149. package/dist/{Pagination-DeXorbSK.d.mts → Pagination-y3kn2X_A.d.mts} +11 -3
  150. package/dist/Pagination.d.mts +1 -1
  151. package/dist/{PillShell-B35z66jZ.d.mts → PillShell-Clv4b-2w.d.mts} +2 -2
  152. package/dist/PillShell.d.mts +1 -1
  153. package/dist/Popover-DordjYNM.mjs.map +1 -1
  154. package/dist/{ProgressIndicator-COCwRZfK.d.mts → ProgressIndicator-tVvf0cY5.d.mts} +1 -1
  155. package/dist/{ProgressIndicator-ISARECzW.mjs → ProgressIndicator-zt3ndT9U.mjs} +1 -1
  156. package/dist/ProgressIndicator-zt3ndT9U.mjs.map +1 -0
  157. package/dist/ProgressIndicator.d.mts +1 -1
  158. package/dist/{PseudoClassProps-D_f-JUT1.d.mts → PseudoClassProps-D-sdJdnG.d.mts} +1 -1
  159. package/dist/PseudoClassProps.d.mts +1 -1
  160. package/dist/Radio-BlEtetrr.mjs.map +1 -1
  161. package/dist/{RadioGroup-pyGpWhhj.d.mts → RadioGroup-9AnTQbh9.d.mts} +1 -1
  162. package/dist/RadioGroup-CMrXmmn4.mjs.map +1 -1
  163. package/dist/RadioGroup.d.mts +1 -1
  164. package/dist/{RangeCalendar-BiugsdSP.d.mts → RangeCalendar-D86xh2yV.d.mts} +2 -2
  165. package/dist/RangeCalendar.d.mts +1 -1
  166. package/dist/RangeCalendarPresets.d.mts +2 -2
  167. package/dist/{RouterContext-BUdfr1it.d.mts → RouterContext-Bgg29ZJo.d.mts} +2 -2
  168. package/dist/RouterContext.d.mts +1 -1
  169. package/dist/{RouterLink-BKbfvJcM.d.mts → RouterLink-CMCsV5H-.d.mts} +2 -2
  170. package/dist/RouterLink.d.mts +1 -1
  171. package/dist/RuleEditorFields.d.mts +2 -2
  172. package/dist/RulesPill.d.mts +1 -1
  173. package/dist/{SearchInput-BejaiGsS.d.mts → SearchInput-NlIspWun.d.mts} +2 -2
  174. package/dist/SearchInput.d.mts +1 -1
  175. package/dist/SectionHeading.d.mts +1 -1
  176. package/dist/{SegmentedControl-UV03Ujqn.d.mts → SegmentedControl-C4C5ge4p.d.mts} +1 -1
  177. package/dist/SegmentedControl-D_DA-MU1.mjs.map +1 -1
  178. package/dist/SegmentedControl.d.mts +1 -1
  179. package/dist/{Select-Chk5WB1F.d.mts → Select-By_LoM1n.d.mts} +3 -3
  180. package/dist/Select-DkUMz4LG.mjs.map +1 -1
  181. package/dist/Select.d.mts +1 -1
  182. package/dist/{SingleColumnLayout-DBo35psH.d.mts → SingleColumnLayout-C4qrVyMf.d.mts} +2 -2
  183. package/dist/SingleColumnLayout.d.mts +1 -1
  184. package/dist/SmartTextInput.d.mts +6 -6
  185. package/dist/SmartTextInputField.d.mts +2 -2
  186. package/dist/SmartTextInputFunctionDialog.d.mts +4 -4
  187. package/dist/SmartTextInputListbox.d.mts +2 -2
  188. package/dist/SmartTextInputPopover.d.mts +1 -1
  189. package/dist/Spacer-C4d9Aho6.mjs.map +1 -1
  190. package/dist/Spinner-CXb-KUs1.mjs.map +1 -1
  191. package/dist/{SplitColumnLayout-C6m_mwdf.d.mts → SplitColumnLayout-BXT7AeNx.d.mts} +2 -2
  192. package/dist/SplitColumnLayout.d.mts +1 -1
  193. package/dist/{Stack-DrYxBkiF.d.mts → Stack-BqRcxDQM.d.mts} +1 -1
  194. package/dist/Stack.d.mts +1 -1
  195. package/dist/{StatusIndicator-pWl1-FLb.mjs → StatusIndicator-Zf75KK3O.mjs} +1 -1
  196. package/dist/StatusIndicator-Zf75KK3O.mjs.map +1 -0
  197. package/dist/Sticker-Bi_fezCO.mjs.map +1 -1
  198. package/dist/{Sticker-sIBnBbHD.d.mts → Sticker-C2zp47FB.d.mts} +4 -4
  199. package/dist/Sticker.d.mts +1 -1
  200. package/dist/StringValueControl.d.mts +1 -1
  201. package/dist/Tab.d.mts +1 -1
  202. package/dist/TabBar-DpXYsWgS.mjs.map +1 -1
  203. package/dist/{Table-BJfcRpMX.d.mts → Table-DGl3mDwc.d.mts} +1 -1
  204. package/dist/Table-DPi4Dt5H.mjs.map +1 -1
  205. package/dist/Table.d.mts +1 -1
  206. package/dist/{TableBody-CBz2PjA-.d.mts → TableBody-BbC-H2qj.d.mts} +1 -1
  207. package/dist/TableBody.d.mts +1 -1
  208. package/dist/TableBox-BfSF36Gy.mjs.map +1 -1
  209. package/dist/TableBox.d.mts +2 -2
  210. package/dist/{TableBoxCell-CwroLAWy.d.mts → TableBoxCell-DuvWTwOm.d.mts} +6 -6
  211. package/dist/TableBoxCell.d.mts +1 -1
  212. package/dist/{TableBoxField-B7bHv7uV.d.mts → TableBoxField-DRx24VAz.d.mts} +5 -5
  213. package/dist/TableBoxField.d.mts +1 -1
  214. package/dist/{TableBoxRow-Dke8B99J.d.mts → TableBoxRow-DFPTf-bZ.d.mts} +3 -3
  215. package/dist/TableBoxRow.d.mts +1 -1
  216. package/dist/{TableBoxRowActions-CkUDVERC.d.mts → TableBoxRowActions-CFCnGc7D.d.mts} +2 -2
  217. package/dist/TableBoxRowActions.d.mts +1 -1
  218. package/dist/{TableCell-KHx5JlqZ.d.mts → TableCell-Do9W49SJ.d.mts} +2 -2
  219. package/dist/TableCell.d.mts +1 -1
  220. package/dist/{TableControls-BDXOQMr7.mjs → TableControls-Dgle87OP.mjs} +8 -6
  221. package/dist/TableControls-Dgle87OP.mjs.map +1 -0
  222. package/dist/{TableControls-DAjx1TYG.d.mts → TableControls-r58fZb_C.d.mts} +6 -5
  223. package/dist/TableControls.d.mts +1 -1
  224. package/dist/{TableControlsContext-BEIvE9qN.d.mts → TableControlsContext-nz8GXmXc.d.mts} +2 -2
  225. package/dist/TableControlsContext.d.mts +1 -1
  226. package/dist/{TableHead-D5A3bOwt.d.mts → TableHead-CIXIrZGE.d.mts} +1 -1
  227. package/dist/TableHead.d.mts +1 -1
  228. package/dist/{TableHeaderCell-BXgnxPpX.d.mts → TableHeaderCell-wKcp8rZj.d.mts} +1 -1
  229. package/dist/TableHeaderCell.d.mts +1 -1
  230. package/dist/{TableLayout-Dy5ht8KO.d.mts → TableLayout-0-9FnNvt.d.mts} +1 -1
  231. package/dist/TableLayout.d.mts +1 -1
  232. package/dist/{TableRow-C1iGbNjZ.d.mts → TableRow-C011thJ3.d.mts} +2 -2
  233. package/dist/TableRow.d.mts +1 -1
  234. package/dist/TableTH.d.mts +1 -1
  235. package/dist/{TableViewConfigurationDropdown-vYnU0d4k.d.mts → TableViewConfigurationDropdown-D0VcRmd4.d.mts} +2 -2
  236. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  237. package/dist/TechnicalSticker-B_JlBkXZ.mjs.map +1 -1
  238. package/dist/{Text-SaoRBdB6.d.mts → Text-BgSW0yDb.d.mts} +3 -3
  239. package/dist/Text-D0vEReED.mjs.map +1 -1
  240. package/dist/Text.d.mts +1 -1
  241. package/dist/{TextArea-gtSlghjy.d.mts → TextArea-CyWv8jaV.d.mts} +2 -2
  242. package/dist/TextArea-Dro-HH8O.mjs.map +1 -1
  243. package/dist/TextArea.d.mts +1 -1
  244. package/dist/{TextUnderlineTooltip-DV61avLv.d.mts → TextUnderlineTooltip-CcyG4VkJ.d.mts} +2 -2
  245. package/dist/TextUnderlineTooltip.d.mts +1 -1
  246. package/dist/Tile.d.mts +1 -1
  247. package/dist/Toast.d.mts +1 -1
  248. package/dist/{Toggle-BlvrM-Cw.d.mts → Toggle-BIJoB1AA.d.mts} +1 -1
  249. package/dist/Toggle-D9MzTIZs.mjs.map +1 -1
  250. package/dist/Toggle.d.mts +1 -1
  251. package/dist/{Tooltip-CysnLwST.d.mts → Tooltip-CrpfAAfA.d.mts} +2 -2
  252. package/dist/Tooltip-YViXzMdm.mjs.map +1 -1
  253. package/dist/Tooltip.d.mts +1 -1
  254. package/dist/{TruncatedText-YcjNG-zP.d.mts → TruncatedText-DaGx3CX6.d.mts} +1 -1
  255. package/dist/VersionHistory.d.mts +1 -1
  256. package/dist/{VersionHistoryItem-Px3ylMMq.d.mts → VersionHistoryItem-Bo78T7y7.d.mts} +1 -1
  257. package/dist/VersionHistoryItem.d.mts +1 -1
  258. package/dist/WizardModal.d.mts +2 -2
  259. package/dist/{accordionTitleTypography-Dlo2YyWd.d.mts → accordionTitleTypography-D7tOgRzj.d.mts} +2 -2
  260. package/dist/accordionTitleTypography.d.mts +1 -1
  261. package/dist/{chainTypes-aF5rWav-.d.mts → chainTypes-CLKwXymd.d.mts} +4 -4
  262. package/dist/{clientFilterUtils-DYKgw2Yq.d.mts → clientFilterUtils-BnASP9Tt.d.mts} +2 -2
  263. package/dist/clientFilterUtils.d.mts +1 -1
  264. package/dist/{codec-D8ZKFLgs.d.mts → codec-C4WJftW6.d.mts} +2 -2
  265. package/dist/codec.d.mts +1 -1
  266. package/dist/{color-Cy_0z4IY.d.mts → color-Db57Wms_.d.mts} +2 -2
  267. package/dist/complete-typography.d.mts +1 -1
  268. package/dist/components/Accordion/index.d.mts +1 -1
  269. package/dist/components/Accordion/index.mjs.map +1 -1
  270. package/dist/components/Attribute/index.mjs.map +1 -1
  271. package/dist/components/Banner/index.mjs.map +1 -1
  272. package/dist/components/BottomPanel/index.mjs +67 -6
  273. package/dist/components/BottomPanel/index.mjs.map +1 -1
  274. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  275. package/dist/components/Button/index.d.mts +2 -2
  276. package/dist/components/ButtonGroup/index.mjs.map +1 -1
  277. package/dist/components/Card/index.d.mts +2 -2
  278. package/dist/components/CardV2/index.d.mts +1 -1
  279. package/dist/components/Checkbox/index.d.mts +1 -1
  280. package/dist/components/CodeHighlight/index.mjs.map +1 -1
  281. package/dist/components/Combobox/index.d.mts +2 -2
  282. package/dist/components/DataTable/TableControls/index.d.mts +21 -21
  283. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  284. package/dist/components/DataTable/index.d.mts +8 -8
  285. package/dist/components/DataTable/index.mjs +1 -1
  286. package/dist/components/DataTable/types.d.mts +1 -1
  287. package/dist/components/DatePicker/index.d.mts +5 -5
  288. package/dist/components/DatePicker/index.mjs +1 -1
  289. package/dist/components/DropdownMenu/index.d.mts +1 -1
  290. package/dist/components/FloatingPanel/index.mjs.map +1 -1
  291. package/dist/components/FloatingToolbar/index.d.mts +2 -0
  292. package/dist/components/FloatingToolbar/index.mjs +2 -0
  293. package/dist/components/FormControl/index.d.mts +2 -2
  294. package/dist/components/FormField/index.d.mts +5 -5
  295. package/dist/components/FormField/index.mjs +1 -1
  296. package/dist/components/Grid/index.mjs +1 -1
  297. package/dist/components/ImageTile/index.mjs.map +1 -1
  298. package/dist/components/Input/index.d.mts +1 -1
  299. package/dist/components/ListBox/index.d.mts +3 -3
  300. package/dist/components/MaskedInput/index.mjs.map +1 -1
  301. package/dist/components/MatchHighlight/index.mjs.map +1 -1
  302. package/dist/components/Menu/index.d.mts +1 -1
  303. package/dist/components/Modal/index.d.mts +1 -1
  304. package/dist/components/Modal/index.mjs +1 -1
  305. package/dist/components/PageHeader/index.d.mts +1 -1
  306. package/dist/components/PageHeader/index.mjs +1 -1
  307. package/dist/components/Pagination/index.d.mts +3 -3
  308. package/dist/components/Pagination/index.mjs +1 -1
  309. package/dist/components/ProgressBar/index.mjs.map +1 -1
  310. package/dist/components/ProgressIndicator/index.d.mts +1 -1
  311. package/dist/components/ProgressIndicator/index.mjs +1 -1
  312. package/dist/components/RadioGroup/index.d.mts +1 -1
  313. package/dist/components/RichTextEditor/index.d.mts +1 -2
  314. package/dist/components/RichTextEditor/index.mjs +22 -477
  315. package/dist/components/RichTextEditor/index.mjs.map +1 -1
  316. package/dist/components/RightPanel/index.mjs.map +1 -1
  317. package/dist/components/SegmentedControl/index.d.mts +1 -1
  318. package/dist/components/Select/index.d.mts +1 -1
  319. package/dist/components/SelectionCard/index.mjs.map +1 -1
  320. package/dist/components/Slider/index.mjs.map +1 -1
  321. package/dist/components/SmartTextInput/index.d.mts +2 -2
  322. package/dist/components/SmartTextInput/index.mjs +2 -2
  323. package/dist/components/SmartTextInput/index.mjs.map +1 -1
  324. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +1 -1
  325. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +2 -2
  326. package/dist/components/Stack/index.d.mts +1 -1
  327. package/dist/components/StatusIndicator/index.mjs +1 -1
  328. package/dist/components/Sticker/index.d.mts +1 -1
  329. package/dist/components/SwatchPicker/index.mjs.map +1 -1
  330. package/dist/components/Table/index.d.mts +8 -8
  331. package/dist/components/TableBox/index.d.mts +2 -2
  332. package/dist/components/Text/index.d.mts +1 -1
  333. package/dist/components/TextArea/index.d.mts +1 -1
  334. package/dist/components/Tile/index.mjs.map +1 -1
  335. package/dist/components/Toast/index.mjs.map +1 -1
  336. package/dist/components/Toggle/index.d.mts +1 -1
  337. package/dist/components/Tooltip/index.d.mts +3 -3
  338. package/dist/components/VersionHistory/index.d.mts +1 -1
  339. package/dist/components/VersionHistory/index.mjs +2 -2
  340. package/dist/components/VersionHistory/index.mjs.map +1 -1
  341. package/dist/compound-expression.d.mts +1 -1
  342. package/dist/{constants-CW1DRgwi.d.mts → constants-B2NIZBD6.d.mts} +1 -1
  343. package/dist/{constants-D1hoZ5LO.d.mts → constants-ChVceduh.d.mts} +1 -1
  344. package/dist/constants.d.mts +1 -1
  345. package/dist/constants2.d.mts +1 -1
  346. package/dist/{createPath-C4ZFkt93.d.mts → createPath-D_opTH9A.d.mts} +2 -2
  347. package/dist/createPath.d.mts +1 -1
  348. package/dist/{date-range-rule-value-CrVBpQcf.d.mts → date-range-rule-value-3izEoXmi.d.mts} +2 -2
  349. package/dist/date-range-rule-value.d.mts +1 -1
  350. package/dist/{date-rule-intent-C1aptAoX.d.mts → date-rule-intent-DjYIGcGO.d.mts} +3 -3
  351. package/dist/date-rule-intent.d.mts +1 -1
  352. package/dist/display.d.mts +2 -2
  353. package/dist/fieldPickerOptions.d.mts +2 -2
  354. package/dist/{filter-size-context-CbT4pi3S.d.mts → filter-size-context-BcpjykVw.d.mts} +2 -2
  355. package/dist/filter-size-context.d.mts +1 -1
  356. package/dist/{filters-DjXkx8GJ.d.mts → filters-DUI7TLSn.d.mts} +2 -2
  357. package/dist/filters.d.mts +1 -1
  358. package/dist/{formatDateTime-BikGGrvq.d.mts → formatDateTime-CgQvW3A5.d.mts} +1 -1
  359. package/dist/formatDateTime.d.mts +1 -1
  360. package/dist/{helpers-CdxEL7ri.d.mts → helpers-CDZ7Zk9G.d.mts} +4 -4
  361. package/dist/helpers.d.mts +1 -1
  362. package/dist/{i18n-BLyCaSdJ.mjs → i18n-DaOKaFc2.mjs} +4 -2
  363. package/dist/i18n-DaOKaFc2.mjs.map +1 -0
  364. package/dist/{index-BWAycP6L.d.mts → index-B9kfFACl.d.mts} +1 -1
  365. package/dist/{index-DX5Zu9JU.d.mts → index-CDFw-zKW.d.mts} +3 -3
  366. package/dist/{index-D2YFHdsf.d.mts → index-DntqThoS.d.mts} +2 -2
  367. package/dist/{index-FgIOTuJ4.d.mts → index-_D_TMpPU.d.mts} +2 -2
  368. package/dist/index2.d.mts +1 -1
  369. package/dist/index3.d.mts +1 -1
  370. package/dist/index4.d.mts +3 -3
  371. package/dist/index5.d.mts +1 -1
  372. package/dist/index6.d.mts +14 -14
  373. package/dist/{input-gtTnb9M8.d.mts → input-RTMLTvG1.d.mts} +3 -3
  374. package/dist/{inputFields-CYttsz5M.d.mts → inputFields-iRg_emVK.d.mts} +11 -11
  375. package/dist/inputFields.d.mts +1 -1
  376. package/dist/{jsonSchema-DUkfAip_.d.mts → jsonSchema-BJpNaFc4.d.mts} +1 -1
  377. package/dist/lib/PDSProvider.d.mts +3 -3
  378. package/dist/lib/PDSProvider.mjs +1 -1
  379. package/dist/lib/PDSProvider.mjs.map +1 -1
  380. package/dist/lib/TruncatedText.d.mts +1 -1
  381. package/dist/lib/TruncatedText.mjs.map +1 -1
  382. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  383. package/dist/lib/TruncatedTextWithTooltip.mjs.map +1 -1
  384. package/dist/lib/chainTypes.d.mts +1 -1
  385. package/dist/lib/color.d.mts +1 -1
  386. package/dist/lib/color.mjs.map +1 -1
  387. package/dist/lib/colorMode.d.mts +2 -2
  388. package/dist/lib/colorMode.mjs.map +1 -1
  389. package/dist/lib/customFunctionSchema.d.mts +1 -1
  390. package/dist/lib/date-filter/index.d.mts +2 -2
  391. package/dist/lib/i18n/index.d.mts +3 -3
  392. package/dist/lib/i18n/index.mjs +1 -1
  393. package/dist/lib/jsonSchema.d.mts +1 -1
  394. package/dist/lib/jsonSchemaType.d.mts +1 -1
  395. package/dist/lib/message.d.mts +1 -1
  396. package/dist/lib/methodChain.d.mts +2 -2
  397. package/dist/lib/methodChainNormalize.d.mts +2 -2
  398. package/dist/lib/methodChainTypes.d.mts +1 -1
  399. package/dist/lib/objectSchemaTypes.d.mts +1 -1
  400. package/dist/lib/platformObject.d.mts +1 -1
  401. package/dist/lib/pseudoClass.d.mts +1 -1
  402. package/dist/lib/pseudoClass.mjs.map +1 -1
  403. package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
  404. package/dist/lib/router/adapters/tanstack.d.mts +1 -1
  405. package/dist/lib/router/index.d.mts +5 -5
  406. package/dist/lib/schemaOptions.d.mts +1 -1
  407. package/dist/lib/semanticColor.d.mts +1 -1
  408. package/dist/lib/semanticColor.mjs.map +1 -1
  409. package/dist/lib/useChain.d.mts +1 -1
  410. package/dist/lib/useEmbeddedSurface.mjs.map +1 -1
  411. package/dist/lint/index.d.mts +1 -1
  412. package/dist/{listbox-options-CkwENvff.d.mts → listbox-options-D0JmYWjB.d.mts} +3 -3
  413. package/dist/listbox-options.d.mts +1 -1
  414. package/dist/{message-klSuXfNN.d.mts → message-Bk5UTw75.d.mts} +1 -1
  415. package/dist/{methodChain-CRYRDa1k.d.mts → methodChain-C3u60_V8.d.mts} +4 -4
  416. package/dist/{methodChainTypes-BtbYWrdP.d.mts → methodChainTypes-Di4GCMX7.d.mts} +2 -2
  417. package/dist/min-copy-size.d.mts +1 -1
  418. package/dist/mixins/focus.d.mts +1 -1
  419. package/dist/mixins/focus.mjs.map +1 -1
  420. package/dist/mixins/hoverable.d.mts +2 -2
  421. package/dist/mixins/hoverable.mjs.map +1 -1
  422. package/dist/mixins/input.d.mts +1 -1
  423. package/dist/mixins/input.mjs.map +1 -1
  424. package/dist/mixins/menuItem.d.mts +2 -2
  425. package/dist/mixins/menuItem.mjs.map +1 -1
  426. package/dist/mixins/print/index.mjs.map +1 -1
  427. package/dist/mixins/scrollbar.d.mts +1 -1
  428. package/dist/mixins/scrollbar.mjs.map +1 -1
  429. package/dist/mixins/text.d.mts +1 -1
  430. package/dist/no-raw-table.d.mts +1 -1
  431. package/dist/{operators-gCG7uZ6y.d.mts → operators-BTCnQpeu.d.mts} +3 -3
  432. package/dist/operators.d.mts +1 -1
  433. package/dist/{palette-C1gBbxLO.d.mts → palette-D61sDyDI.d.mts} +3 -3
  434. package/dist/palette.d.mts +1 -1
  435. package/dist/patterns/CardGrouping/index.mjs +1 -1
  436. package/dist/patterns/CardGrouping/index.mjs.map +1 -1
  437. package/dist/patterns/IndexTableLayout/index.mjs +3 -3
  438. package/dist/patterns/IndexTableLayout/index.mjs.map +1 -1
  439. package/dist/patterns/LayoutLoadingShimmer/index.mjs +1 -1
  440. package/dist/patterns/LayoutLoadingShimmer/index.mjs.map +1 -1
  441. package/dist/patterns/LayoutLoadingSpinner/index.mjs.map +1 -1
  442. package/dist/patterns/PageLayout/index.d.mts +4 -4
  443. package/dist/patterns/PageLayout/index.mjs +1 -1
  444. package/dist/patterns/WizardModal/index.mjs +2 -2
  445. package/dist/patterns/WizardModal/index.mjs.map +1 -1
  446. package/dist/reactRouterFallback.d.mts +1 -1
  447. package/dist/reduced-motion.d.mts +1 -1
  448. package/dist/relative-date-label.d.mts +1 -1
  449. package/dist/safe-parse.d.mts +1 -1
  450. package/dist/{schemaOptions-C_JM2-sg.d.mts → schemaOptions-BKtrXvjR.d.mts} +3 -3
  451. package/dist/{semantic-BLaQSW1r.d.mts → semantic-BZbvb3LV.d.mts} +1 -1
  452. package/dist/semantic-color.d.mts +1 -1
  453. package/dist/{semanticColor-Bxufk3ZO.d.mts → semanticColor-y9byerSl.d.mts} +3 -3
  454. package/dist/shared.d.mts +1 -1
  455. package/dist/{strings-CK9n6b65.d.mts → strings-T-gsdqiJ.d.mts} +8 -1
  456. package/dist/strings.d.mts +1 -1
  457. package/dist/{text-Csytfclh.d.mts → text-CKLxMlG4.d.mts} +1 -1
  458. package/dist/{theme-mQ4WkH90.d.mts → theme-BFP-_PEh.d.mts} +3 -3
  459. package/dist/theme.d.mts +1 -1
  460. package/dist/theme.mjs.map +1 -1
  461. package/dist/tone.d.mts +3 -3
  462. package/dist/tree.d.mts +1 -1
  463. package/dist/{types-B4KbdEDc.d.mts → types-1p-ij0cd.d.mts} +2 -2
  464. package/dist/{types-Dhz6VMKx.d.mts → types-B5RbKp2V.d.mts} +1 -1
  465. package/dist/{types-dmItSshr.d.mts → types-Bg_sfqXE.d.mts} +2 -2
  466. package/dist/{types-CayYd8EX.d.mts → types-BiRayNak.d.mts} +3 -3
  467. package/dist/{types-XjJqUj-p.d.mts → types-BnXYfNrd.d.mts} +4 -4
  468. package/dist/{types-C2RhHxbE.d.mts → types-Bu5rhBdH.d.mts} +1 -1
  469. package/dist/{types-DJobO07d.d.mts → types-C31ecr0j.d.mts} +3 -3
  470. package/dist/{types-rDQg74j-.d.mts → types-FG-jOit9.d.mts} +1 -1
  471. package/dist/{types-DbOD5vE_.d.mts → types-K57NVM0M.d.mts} +2 -2
  472. package/dist/{types-6L0ptM6-.d.mts → types-QYT1VZgy.d.mts} +1 -1
  473. package/dist/types.d.mts +1 -1
  474. package/dist/types2.d.mts +1 -1
  475. package/dist/types3.d.mts +1 -1
  476. package/dist/types4.d.mts +1 -1
  477. package/dist/types5.d.mts +1 -1
  478. package/dist/types6.d.mts +1 -1
  479. package/dist/types8.d.mts +1 -1
  480. package/dist/{url-state-CmgyDnG7.d.mts → url-state-DmhG0Qg-.d.mts} +2 -2
  481. package/dist/url-state.d.mts +1 -1
  482. package/dist/{useChain-7ztbfujM.d.mts → useChain-CIwI4Xop.d.mts} +6 -6
  483. package/dist/useChain-D1aNsdvn.mjs.map +1 -1
  484. package/dist/useChainAtCursor.d.mts +6 -6
  485. package/dist/useCodeChainFunctionPanel.d.mts +1 -1
  486. package/dist/useColumnConfiguration.d.mts +2 -2
  487. package/dist/useComboboxFooterAction.d.mts +1 -1
  488. package/dist/{useFilterStateV2-CPBt0qwc.d.mts → useFilterStateV2-DPzkJpGT.d.mts} +3 -3
  489. package/dist/useFilterStateV2.d.mts +1 -1
  490. package/dist/{useFormField-CmEJCqse.d.mts → useFormField-ATKyX8CU.d.mts} +2 -2
  491. package/dist/useFormField-pOVkb5BK.mjs.map +1 -1
  492. package/dist/useFormField.d.mts +1 -1
  493. package/dist/{useLocationPathname-Cnqj8pf4.d.mts → useLocationPathname-DPMpqO1_.d.mts} +1 -1
  494. package/dist/useLocationPathname.d.mts +1 -1
  495. package/dist/{useTableBoxDragAndDrop-8NS4JBuI.d.mts → useTableBoxDragAndDrop-CCMADt-F.d.mts} +1 -1
  496. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  497. package/dist/{useTableColumns-BK-KYY0L.d.mts → useTableColumns-Bw0HvnP4.d.mts} +2 -2
  498. package/dist/useTableColumns.d.mts +1 -1
  499. package/dist/useTruncation.d.mts +1 -1
  500. package/dist/{utilities-CXoc5Cyr.d.mts → utilities-BfXjJZQt.d.mts} +1 -1
  501. package/dist/utilities.d.mts +1 -1
  502. package/dist/utils/storybook.mjs.map +1 -1
  503. package/dist/utils/testing.d.mts +1 -1
  504. package/dist/utils.d.mts +1 -1
  505. package/dist/utils4.d.mts +5 -5
  506. package/dist/{validation-BaqPVG1C.d.mts → validation-yhA0siru.d.mts} +3 -3
  507. package/dist/validation.d.mts +1 -1
  508. package/dist/validation2.d.mts +4 -4
  509. package/dist/{value-control-resolver-CMyFwEY7.d.mts → value-control-resolver-Df0AmGFe.d.mts} +2 -2
  510. package/dist/value-control-resolver.d.mts +1 -1
  511. package/dist/variables/effect.d.mts +1 -1
  512. package/dist/variables/effect.mjs.map +1 -1
  513. package/dist/variables/semantic.d.mts +1 -1
  514. package/llms.txt +1 -1
  515. package/package.json +25 -13
  516. package/skills/ui-authoring/COMPONENTS.md +1 -0
  517. package/dist/DataTable-DEJHWrsy.mjs.map +0 -1
  518. package/dist/DatePicker-D-_ibUd1.mjs.map +0 -1
  519. package/dist/FormField-g1zQFM9T.mjs.map +0 -1
  520. package/dist/Modal-92O_uW8H.mjs.map +0 -1
  521. package/dist/PageHeader-BzvA_NNt.mjs.map +0 -1
  522. package/dist/PageLayout-DCe3F76N.mjs.map +0 -1
  523. package/dist/Pagination-dTsHLVAk.mjs.map +0 -1
  524. package/dist/ProgressIndicator-ISARECzW.mjs.map +0 -1
  525. package/dist/StatusIndicator-pWl1-FLb.mjs.map +0 -1
  526. package/dist/TableControls-BDXOQMr7.mjs.map +0 -1
  527. package/dist/i18n-BLyCaSdJ.mjs.map +0 -1
  528. /package/dist/{index-AnhM47-e2.d.mts → index-BAJc0Rej.d.mts} +0 -0
  529. /package/dist/{index-B33elXxm.d.mts → index-BFHp82YL.d.mts} +0 -0
  530. /package/dist/{index-B4woaFSm.d.mts → index-BYd3Btr1.d.mts} +0 -0
  531. /package/dist/{index-B6T7ov8p.d.mts → index-C6HcjJiY.d.mts} +0 -0
  532. /package/dist/{index-BNRXMhlr.d.mts → index-CEUVsenl.d.mts} +0 -0
  533. /package/dist/{index-BPiqSRRl.d.mts → index-CEqOS-7M.d.mts} +0 -0
  534. /package/dist/{index-BTviwbFV.d.mts → index-CNxS4Tlu.d.mts} +0 -0
  535. /package/dist/{index-Bo9LXG4r.d.mts → index-CP2eJYlK.d.mts} +0 -0
  536. /package/dist/{index-Bq9Ub6MB.d.mts → index-CQQezDJQ2.d.mts} +0 -0
  537. /package/dist/{index-BrGZHEgX.d.mts → index-CWB6exYm.d.mts} +0 -0
  538. /package/dist/{index-Bt4QNofW.d.mts → index-CcSfkYLp2.d.mts} +0 -0
  539. /package/dist/{index-CFuHCx9T.d.mts → index-Cm-1i165.d.mts} +0 -0
  540. /package/dist/{index-CLTQPxoD.d.mts → index-D-giXKyu.d.mts} +0 -0
  541. /package/dist/{index-CaqYCRmZ.d.mts → index-D4DUvwPf.d.mts} +0 -0
  542. /package/dist/{index-CjmAoxrR2.d.mts → index-DCTy4zg0.d.mts} +0 -0
  543. /package/dist/{index-Cx0vQ6ld.d.mts → index-DWIh4oP5.d.mts} +0 -0
  544. /package/dist/{index-CzItj62a.d.mts → index-Dflz2i1X.d.mts} +0 -0
  545. /package/dist/{index-CzUpNo0e.d.mts → index-DhiymMxa.d.mts} +0 -0
  546. /package/dist/{index-DBGd4WeR.d.mts → index-DkrC-i1D.d.mts} +0 -0
  547. /package/dist/{index-DMRtRo7y.d.mts → index-Dp7lwkTl2.d.mts} +0 -0
  548. /package/dist/{index-DNjQe1D8.d.mts → index-DqCA6utX.d.mts} +0 -0
  549. /package/dist/{index-DW3xeuzq.d.mts → index-Iujpc9_6.d.mts} +0 -0
  550. /package/dist/{index-DZlqSwCF.d.mts → index-Jh0C5PIG.d.mts} +0 -0
  551. /package/dist/{index-De7MV8-j.d.mts → index-N-OgGgfF.d.mts} +0 -0
  552. /package/dist/{index-DjG1RCY5.d.mts → index-Oio5ygqN.d.mts} +0 -0
  553. /package/dist/{index-Dlcv6Ku22.d.mts → index-Rvd9MEUQ.d.mts} +0 -0
  554. /package/dist/{index-DrK1_jKY.d.mts → index-YB8V3VRW.d.mts} +0 -0
  555. /package/dist/{index-DztUdPP_.d.mts → index-aKlsLnwy.d.mts} +0 -0
  556. /package/dist/{index-K614ZhWK.d.mts → index-fxXoW-qc.d.mts} +0 -0
  557. /package/dist/{index-NKYLt_R9.d.mts → index-ikHBE458.d.mts} +0 -0
  558. /package/dist/{index-VWno75SQ.d.mts → index-luywJTzJ.d.mts} +0 -0
  559. /package/dist/{index-uMNhmxEh.d.mts → index-xmouCHX9.d.mts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,35 @@
1
+ ## 0.10.7 (2026-10-28)
2
+
3
+ ### Features
4
+
5
+ - **BottomPanel:** add optional error count indicator to header
6
+ - **design-system:** publish FloatingToolbar as its own components/FloatingToolbar entry point
7
+
8
+ ### Bug Fixes
9
+
10
+ - **design-system:** stack FloatingToolbar above chrome and self-subscribe to editor state
11
+ - **design-system:** upgrade tiptap to v3 for GHSA-cp6q-959q-f8rh ([#479](https://github.com/persona-id/persona-design-system/pull/479))
12
+
13
+ ### 🧱 Updated Dependencies
14
+
15
+ - Updated design-tokens to 0.4.23
16
+ - Updated icons to 0.1.12
17
+
18
+ ## 0.10.6 (2026-10-28)
19
+
20
+ ### Features
21
+
22
+ - **pagination:** show totals that are lower bounds as N+ ([#475](https://github.com/persona-id/persona-design-system/pull/475))
23
+
24
+ ### Bug Fixes
25
+
26
+ - **design-system:** forward and gate the saved-view Reset action ([#474](https://github.com/persona-id/persona-design-system/pull/474))
27
+
28
+ ### 🧱 Updated Dependencies
29
+
30
+ - Updated design-tokens to 0.4.22
31
+ - Updated icons to 0.1.11
32
+
1
33
  ## 0.10.5 (2026-10-27)
2
34
 
3
35
  ### Features
@@ -1,4 +1,4 @@
1
- import { n as AccordionTitleTypography, t as AccordionSize } from "./accordionTitleTypography-Dlo2YyWd.mjs";
1
+ import { n as AccordionTitleTypography, t as AccordionSize } from "./accordionTitleTypography-D7tOgRzj.mjs";
2
2
  import { AccordionTitleHeadingAs } from "./AccordionItem.mjs";
3
3
  import { ReactNode } from "react";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { n as AccordionTitleTypography, t as AccordionSize } from "./accordionTitleTypography-Dlo2YyWd.mjs";
1
+ import { n as AccordionTitleTypography, t as AccordionSize } from "./accordionTitleTypography-D7tOgRzj.mjs";
2
2
  import { ReactNode } from "react";
3
3
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
@@ -1,5 +1,5 @@
1
- import { n as Tooltip } from "./Tooltip-CysnLwST.mjs";
2
- import { t as RequireOneOf } from "./utilities-CXoc5Cyr.mjs";
1
+ import { n as Tooltip } from "./Tooltip-CrpfAAfA.mjs";
2
+ import { t as RequireOneOf } from "./utilities-BfXjJZQt.mjs";
3
3
  import { ComponentProps, ComponentPropsWithoutRef, ReactElement } from "react";
4
4
 
5
5
  //#region src/types/Action.d.ts
@@ -32,4 +32,4 @@ type MenuAction = Action & {
32
32
  };
33
33
  //#endregion
34
34
  export { TextAction as i, IconAction as n, MenuAction as r, Action as t };
35
- //# sourceMappingURL=Action-Bmo8B-Q3.d.mts.map
35
+ //# sourceMappingURL=Action-BLMJwLBV.d.mts.map
package/dist/Action.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { i as TextAction, n as IconAction, r as MenuAction, t as Action } from "./Action-Bmo8B-Q3.mjs";
1
+ import { i as TextAction, n as IconAction, r as MenuAction, t as Action } from "./Action-BLMJwLBV.mjs";
2
2
  export { Action, IconAction, MenuAction, TextAction };
@@ -1,5 +1,5 @@
1
- import { d as FilterRuleValue, f as FilterRuleValueChange, l as FilterOperator, o as FilterField, p as FilterSize, u as FilterRule } from "./types-DbOD5vE_.mjs";
2
- import { t as FieldRegistry } from "./FieldRegistry-a44G08fS.mjs";
1
+ import { d as FilterRuleValue, f as FilterRuleValueChange, l as FilterOperator, o as FilterField, p as FilterSize, u as FilterRule } from "./types-K57NVM0M.mjs";
2
+ import { t as FieldRegistry } from "./FieldRegistry-CPr7YoG5.mjs";
3
3
  import { ReactNode } from "react";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
 
@@ -1,5 +1,5 @@
1
- import { d as FilterRuleValue, f as FilterRuleValueChange, l as FilterOperator, n as CompoundExpression, o as FilterField, p as FilterSize, u as FilterRule } from "./types-DbOD5vE_.mjs";
2
- import { t as FieldRegistry } from "./FieldRegistry-a44G08fS.mjs";
1
+ import { d as FilterRuleValue, f as FilterRuleValueChange, l as FilterOperator, n as CompoundExpression, o as FilterField, p as FilterSize, u as FilterRule } from "./types-K57NVM0M.mjs";
2
+ import { t as FieldRegistry } from "./FieldRegistry-CPr7YoG5.mjs";
3
3
  import { ReactElement, ReactNode } from "react";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
 
@@ -1,4 +1,4 @@
1
- import { t as ValueControlProps } from "./types-B4KbdEDc.mjs";
1
+ import { t as ValueControlProps } from "./types-1p-ij0cd.mjs";
2
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/DataTable/TableControls/FiltersV2/value-controls/ArrayValueControl/ArrayValueControl.d.ts
@@ -1,6 +1,6 @@
1
- import { i as ParagraphSize } from "./text-Csytfclh.mjs";
2
- import { c as ParagraphProps, u as SpanProps } from "./Text-SaoRBdB6.mjs";
3
- import { t as MaybeSemanticTheme } from "./semanticColor-Bxufk3ZO.mjs";
1
+ import { i as ParagraphSize } from "./text-CKLxMlG4.mjs";
2
+ import { c as ParagraphProps, u as SpanProps } from "./Text-BgSW0yDb.mjs";
3
+ import { t as MaybeSemanticTheme } from "./semanticColor-y9byerSl.mjs";
4
4
  import * as _$react from "react";
5
5
  import { ComponentPropsWithoutRef, ComponentType, FC, PropsWithChildren, ReactNode } from "react";
6
6
  import * as _$styled_components0 from "styled-components";
@@ -1 +1 @@
1
- {"version":3,"file":"Badge-8YzapjWf.mjs","names":[],"sources":["../src/components/Badge/Badge.tsx"],"sourcesContent":["import styled, { css, type DefaultTheme, type StyledComponent } from 'styled-components';\n\nimport Sticker, { type StickerProps } from 'design-system/components/Sticker';\n\nexport interface BadgeProps {\n /**\n * When rendered on a secondary background (e.g. inside a panel or card with\n * a grey fill), set this to true so the component adjusts its colours\n * appropriately for certain variants.\n */\n onSecondaryBackground?: boolean;\n /**\n * Semantic colour variant for the badge.\n *\n * - `basic` – neutral grey, for informational counts or labels (default).\n * - `active` – purple, to highlight an active or selected state.\n * - `alert` – red/danger, to draw attention to errors or urgent counts.\n *\n * @defaultValue 'basic'\n */\n variant?: 'alert' | 'active' | 'basic';\n}\n\nexport const Badge = styled(({ variant, ...rest }: BadgeProps) => {\n let variantProp: StickerProps['variant'];\n switch (variant) {\n case 'alert':\n variantProp = 'danger';\n break;\n case 'active':\n variantProp = 'purple';\n break;\n case 'basic':\n default:\n variantProp = 'grey';\n }\n\n return <Sticker {...rest} variant={variantProp} />;\n})<BadgeProps>(\n () => css`\n min-width: 16px;\n text-align: center;\n border-radius: 100px;\n span {\n font-size: 10px;\n }\n `,\n) as StyledComponent<'span', DefaultTheme, BadgeProps, never>;\n/**\n * The type workaround above makes the correct types available for Badge.\n * Having duplicate prop names between Badge and Sticker seems to cause some oddities.\n *\n * We insist on making this a styled component so the component itself can be targeted in styles.\n * See: https://styled-components.com/docs/advanced#referring-to-other-components\n */\n\nexport default Badge;\n"],"mappings":";;;;AAuBA,MAAa,QAAQ,QAAQ,EAAE,SAAS,GAAG,WAAuB;CAChE,IAAI;AACJ,SAAQ,SAAR;EACE,KAAK;AACH,iBAAc;AACd;EACF,KAAK;AACH,iBAAc;AACd;EAEF,QACE,eAAc;;AAGlB,QAAO,oBAAC,SAAD;EAAS,GAAI;EAAM,SAAS;EAAe,CAAA;EAClD,OACM,GAAG;;;;;;;IAQV"}
1
+ {"version":3,"file":"Badge-8YzapjWf.mjs","names":[],"sources":["../src/components/Badge/Badge.tsx"],"sourcesContent":["import styled, { css, type DefaultTheme, type StyledComponent } from 'styled-components';\n\nimport Sticker, { type StickerProps } from '#src/components/Sticker';\n\nexport interface BadgeProps {\n /**\n * When rendered on a secondary background (e.g. inside a panel or card with\n * a grey fill), set this to true so the component adjusts its colours\n * appropriately for certain variants.\n */\n onSecondaryBackground?: boolean;\n /**\n * Semantic colour variant for the badge.\n *\n * - `basic` – neutral grey, for informational counts or labels (default).\n * - `active` – purple, to highlight an active or selected state.\n * - `alert` – red/danger, to draw attention to errors or urgent counts.\n *\n * @defaultValue 'basic'\n */\n variant?: 'alert' | 'active' | 'basic';\n}\n\nexport const Badge = styled(({ variant, ...rest }: BadgeProps) => {\n let variantProp: StickerProps['variant'];\n switch (variant) {\n case 'alert':\n variantProp = 'danger';\n break;\n case 'active':\n variantProp = 'purple';\n break;\n case 'basic':\n default:\n variantProp = 'grey';\n }\n\n return <Sticker {...rest} variant={variantProp} />;\n})<BadgeProps>(\n () => css`\n min-width: 16px;\n text-align: center;\n border-radius: 100px;\n span {\n font-size: 10px;\n }\n `,\n) as StyledComponent<'span', DefaultTheme, BadgeProps, never>;\n/**\n * The type workaround above makes the correct types available for Badge.\n * Having duplicate prop names between Badge and Sticker seems to cause some oddities.\n *\n * We insist on making this a styled component so the component itself can be targeted in styles.\n * See: https://styled-components.com/docs/advanced#referring-to-other-components\n */\n\nexport default Badge;\n"],"mappings":";;;;AAuBA,MAAa,QAAQ,QAAQ,EAAE,SAAS,GAAG,WAAuB;CAChE,IAAI;AACJ,SAAQ,SAAR;EACE,KAAK;AACH,iBAAc;AACd;EACF,KAAK;AACH,iBAAc;AACd;EAEF,QACE,eAAc;;AAGlB,QAAO,oBAAC,SAAD;EAAS,GAAI;EAAM,SAAS;EAAe,CAAA;EAClD,OACM,GAAG;;;;;;;IAQV"}
@@ -1,4 +1,4 @@
1
- import { t as ValueControlProps } from "./types-B4KbdEDc.mjs";
1
+ import { t as ValueControlProps } from "./types-1p-ij0cd.mjs";
2
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/DataTable/TableControls/FiltersV2/value-controls/BooleanValueControl/BooleanValueControl.d.ts
@@ -20,6 +20,13 @@ interface BottomPanelHandle {
20
20
  interface BottomPanelProps {
21
21
  /** Tabs to show, in order. */
22
22
  panels: BottomPanelItemProps[];
23
+ /**
24
+ * Error count rendered as an icon + count at the right edge of the header, next to
25
+ * the expand/collapse controls. `0` renders dimmed; `undefined` hides it.
26
+ */
27
+ errorCount?: number;
28
+ /** Turns the error count into a button (e.g. to open the panel listing the errors). */
29
+ onErrorCountClick?: () => void;
23
30
  }
24
31
  /**
25
32
  * Resizable drawer anchored to the bottom of its container with one tab per
@@ -54,4 +54,4 @@ declare const Breadcrumb: ({
54
54
  }: BreadcrumbProps) => _$react_jsx_runtime0.JSX.Element;
55
55
  //#endregion
56
56
  export { getInlineActionCount as a, BreadcrumbSize as i, BreadcrumbHeadingAs as n, BreadcrumbProps as r, Breadcrumb as t };
57
- //# sourceMappingURL=Breadcrumb-DnY8n3EL.d.mts.map
57
+ //# sourceMappingURL=Breadcrumb-chGXhl3V.d.mts.map
@@ -1,2 +1,2 @@
1
- import { a as getInlineActionCount, i as BreadcrumbSize, n as BreadcrumbHeadingAs, r as BreadcrumbProps, t as Breadcrumb } from "./Breadcrumb-DnY8n3EL.mjs";
1
+ import { a as getInlineActionCount, i as BreadcrumbSize, n as BreadcrumbHeadingAs, r as BreadcrumbProps, t as Breadcrumb } from "./Breadcrumb-chGXhl3V.mjs";
2
2
  export { BreadcrumbHeadingAs, BreadcrumbProps, BreadcrumbSize, Breadcrumb as default, getInlineActionCount };
@@ -1,4 +1,4 @@
1
- import { i as BreadcrumbSize, n as BreadcrumbHeadingAs, r as BreadcrumbProps } from "./Breadcrumb-DnY8n3EL.mjs";
1
+ import { i as BreadcrumbSize, n as BreadcrumbHeadingAs, r as BreadcrumbProps } from "./Breadcrumb-chGXhl3V.mjs";
2
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/Breadcrumbs/Breadcrumbs.d.ts
@@ -23,4 +23,4 @@ declare const Breadcrumbs: ({
23
23
  }: BreadcrumbsProps) => _$react_jsx_runtime0.JSX.Element | null;
24
24
  //#endregion
25
25
  export { BreadcrumbsItemProps as n, BreadcrumbsProps as r, Breadcrumbs as t };
26
- //# sourceMappingURL=Breadcrumbs-DRu_JfdI.d.mts.map
26
+ //# sourceMappingURL=Breadcrumbs-ChKWIuRq.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs-Dft2TR4v.mjs","names":["Input"],"sources":["../src/components/Breadcrumbs/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { type ChangeEvent, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport { CopyIcon, EditIcon } from '@persona/icons';\nimport { IconButton } from 'design-system/components/Button';\nimport Input from 'design-system/components/Input';\nimport { HStack } from 'design-system/components/Stack';\nimport TechnicalSticker from 'design-system/components/TechnicalSticker';\nimport { Paragraph } from 'design-system/components/Text';\nimport Tooltip from 'design-system/components/Tooltip';\nimport { RouterLink } from 'design-system/lib/router';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport TruncatedTextWithTooltip from 'design-system/lib/TruncatedTextWithTooltip';\nimport { focusOutline } from 'design-system/mixins/focus';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\nexport type BreadcrumbSize = 'md' | 'lg';\n\nexport type BreadcrumbHeadingAs = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nconst COPY_TOOLTIP_LABEL = 'Copy ID';\nconst COPIED_TOOLTIP_LABEL = 'Copied!';\nconst DEFAULT_EDIT_MAX_LENGTH = 100;\nconst COPY_TOOLTIP_STICKER_MAX_WIDTH = '96px';\nconst COPY_TOOLTIP_STICKER_TOOLTIP_MAX_WIDTH = '250px';\n\nexport type BreadcrumbProps = {\n label: string;\n size?: BreadcrumbSize;\n current?: boolean;\n /**\n * Overrides the heading element rendered for the current crumb. Defaults to `h1`; use `h2` or\n * lower when the page already has an `h1`.\n */\n headingAs?: BreadcrumbHeadingAs;\n showCopyAction?: boolean;\n copyValue?: string;\n copyTooltipLabel?: string;\n /** Copy tooltip text shown after a successful copy. Defaults to `Copied!`. */\n copiedTooltipLabel?: string;\n /**\n * Appends `copyValue` to both copy tooltip texts as a `TechnicalSticker`, so the tooltip shows\n * which token is being copied.\n */\n showCopyValueInTooltip?: boolean;\n /** Internal path (e.g. `/cases`), rendered as a router-aware link. */\n href?: string;\n /**\n * Activates a non-current crumb without a route change, for trails that navigate in-place (e.g.\n * a control panel drilling into a sub-panel). Ignored when `href` is set.\n */\n onClick?: () => void;\n onEdit?: (newLabel: string) => void;\n editMaxLength?: number;\n onCopy?: () => void;\n};\n\nconst LABEL_ACTION_GAP = Spacing[2];\nconst ACTION_BUTTON_GAP = Spacing[1];\n\nexport const getInlineActionCount = ({\n onEdit,\n showCopyAction,\n copyValue,\n}: Pick<BreadcrumbProps, 'onEdit' | 'showCopyAction' | 'copyValue'>) =>\n Number(onEdit != null) + (showCopyAction && copyValue != null ? 1 : 0);\n\nconst CrumbRow = styled(HStack)`\n align-items: center;\n min-width: 0;\n`;\n\nconst InlineActions = styled(HStack)`\n flex-shrink: 0;\n`;\n\nconst BreadcrumbLabel = styled.span`\n overflow-wrap: anywhere;\n`;\n\nconst TruncatedBreadcrumbLabel = ({ label }: { label: string }) => (\n <TruncatedTextWithTooltip tooltipProps={{ maxWidth: '400px' }}>\n <BreadcrumbLabel>{label}</BreadcrumbLabel>\n </TruncatedTextWithTooltip>\n);\n\nconst crumbLayoutStyles = (size: BreadcrumbSize) => css`\n display: inline-flex;\n align-items: center;\n min-width: 0;\n min-height: ${({ theme }) => theme.element.height.xs};\n ${\n size === 'lg'\n ? css`\n font-size: ${({ theme }) => theme.text.paragraph.lg.fontSize};\n line-height: ${({ theme }) => theme.text.paragraph.lg.lineHeight};\n `\n : css``\n };\n`;\n\nconst editInputTextStyles = (size: BreadcrumbSize, current: boolean) => {\n if (current) {\n return size === 'lg' ? paragraphMixins.lgBold : paragraphMixins.mdBold;\n }\n return size === 'lg' ? paragraphMixins.lg : paragraphMixins.md;\n};\n\nconst ancestorCrumbStyles = css<{ $size: BreadcrumbSize }>`\n ${paragraphMixins.md};\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.secondary)};\n text-decoration: none;\n transition: color ${TransitionDuration.ExtraFast} ease-out;\n ${focusOutline}\n ${({ $size }) => crumbLayoutStyles($size)}\n\n &:hover {\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', theme.color.text.primary)};\n }\n`;\n\nconst AncestorNavLink = styled(RouterLink)<{ $size: BreadcrumbSize }>`\n ${ancestorCrumbStyles}\n`;\n\nconst AncestorNavButton = styled.button<{ $size: BreadcrumbSize }>`\n ${ancestorCrumbStyles}\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n`;\n\nconst InlineEditInput = styled(Input)<{\n $size: BreadcrumbSize;\n $current: boolean;\n $editMinWidth?: number;\n}>`\n margin: 0;\n padding: 2px 10px;\n width: auto;\n max-width: 100%;\n min-width: ${({ $editMinWidth }) => ($editMinWidth != null ? `${$editMinWidth}px` : '0')};\n field-sizing: content;\n display: inline-block;\n ${({ $size, $current }) => editInputTextStyles($size, $current)};\n background-color: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', theme.color.background.primary)};\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', theme.color.text.primary)};\n\n &:not(:focus) {\n border-color: transparent;\n }\n\n &:hover:not(:disabled) {\n border-style: solid;\n }\n`;\n\nconst CurrentLabel = styled(Paragraph)<{ $size: BreadcrumbSize }>`\n margin: 0;\n ${({ $size }) => crumbLayoutStyles($size)}\n`;\n\nconst copyToClipboard = async (value: string): Promise<boolean> => {\n try {\n if (navigator.clipboard?.writeText == null) {\n return false;\n }\n\n await navigator.clipboard.writeText(value);\n return true;\n } catch {\n return false;\n }\n};\n\nconst BreadcrumbCopyButton = ({\n copyValue,\n copyTooltipLabel = COPY_TOOLTIP_LABEL,\n copiedTooltipLabel = COPIED_TOOLTIP_LABEL,\n showCopyValueInTooltip = false,\n onCopy,\n}: {\n copyValue: string;\n copyTooltipLabel?: string;\n copiedTooltipLabel?: string;\n showCopyValueInTooltip?: boolean;\n onCopy?: () => void;\n}) => {\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n const success = await copyToClipboard(copyValue);\n if (!success) {\n return;\n }\n\n setCopied(true);\n setTooltipOpen(true);\n onCopy?.();\n\n window.setTimeout(() => {\n setTooltipOpen(false);\n window.setTimeout(() => setCopied(false), 200);\n }, 1000);\n };\n\n const handleMouseEnter = () => {\n if (!copied) {\n setTooltipOpen(true);\n }\n };\n\n const handleMouseLeave = () => {\n if (!copied) {\n setTooltipOpen(false);\n }\n };\n\n const trigger = (\n <span onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n <IconButton\n type='button'\n size='sm'\n aria-label={`Copy ${copyValue}`}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n void handleCopy();\n }}\n >\n <CopyIcon />\n </IconButton>\n </span>\n );\n\n const tooltipLabel = copied ? copiedTooltipLabel : copyTooltipLabel;\n\n return (\n <Tooltip\n trigger={trigger}\n open={tooltipOpen}\n side='top'\n sideOffset={4}\n size='sm'\n contentAlignment='center'\n interactive={false}\n hideArrow\n portal={false}\n maxWidth={showCopyValueInTooltip ? COPY_TOOLTIP_STICKER_TOOLTIP_MAX_WIDTH : undefined}\n >\n {showCopyValueInTooltip ? (\n <HStack spacing={ACTION_BUTTON_GAP} align='center'>\n <span>{tooltipLabel}</span>\n <TechnicalSticker copyable={false} maxWidth={COPY_TOOLTIP_STICKER_MAX_WIDTH}>\n {copyValue}\n </TechnicalSticker>\n </HStack>\n ) : (\n tooltipLabel\n )}\n </Tooltip>\n );\n};\n\nconst Breadcrumb = ({\n label,\n size = 'md',\n current = false,\n headingAs = 'h1',\n showCopyAction = false,\n copyValue,\n copyTooltipLabel,\n copiedTooltipLabel,\n showCopyValueInTooltip,\n href,\n onClick,\n onEdit,\n editMaxLength = DEFAULT_EDIT_MAX_LENGTH,\n onCopy,\n}: BreadcrumbProps) => {\n const [isEditing, setIsEditing] = useState(false);\n const [editValue, setEditValue] = useState(label);\n const [editMinWidth, setEditMinWidth] = useState<number | undefined>();\n const editInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!isEditing) {\n setEditValue(label);\n }\n }, [isEditing, label]);\n\n useEffect(() => {\n if (!isEditing) {\n setEditMinWidth(undefined);\n return;\n }\n\n const input = editInputRef.current;\n if (input == null) {\n return;\n }\n\n setEditMinWidth(input.offsetWidth);\n input.focus();\n input.select();\n }, [isEditing]);\n\n const commitEdit = () => {\n if (!isEditing) {\n return;\n }\n\n setIsEditing(false);\n if (editValue !== label) {\n onEdit?.(editValue);\n }\n };\n\n const inlineActionCount = getInlineActionCount({ onEdit, showCopyAction, copyValue });\n const inlineActions = !isEditing && inlineActionCount > 0 && (\n <InlineActions spacing={ACTION_BUTTON_GAP} align='center'>\n {onEdit != null && (\n <IconButton\n type='button'\n size='sm'\n aria-label={`Edit ${label}`}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n setIsEditing(true);\n }}\n >\n <EditIcon />\n </IconButton>\n )}\n {showCopyAction && copyValue != null && (\n <BreadcrumbCopyButton\n copyValue={copyValue}\n copyTooltipLabel={copyTooltipLabel}\n copiedTooltipLabel={copiedTooltipLabel}\n showCopyValueInTooltip={showCopyValueInTooltip}\n onCopy={onCopy}\n />\n )}\n </InlineActions>\n );\n\n if (isEditing) {\n return (\n <CrumbRow spacing={LABEL_ACTION_GAP}>\n <InlineEditInput\n ref={editInputRef}\n $size={size}\n $current={current}\n $editMinWidth={editMinWidth}\n size='md'\n aria-label={`Edit ${label}`}\n maxLength={editMaxLength}\n value={editValue}\n onChange={(event: ChangeEvent<HTMLInputElement>) => setEditValue(event.target.value)}\n onBlur={commitEdit}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n commitEdit();\n }\n if (event.key === 'Escape') {\n setEditValue(label);\n setIsEditing(false);\n }\n }}\n />\n </CrumbRow>\n );\n }\n\n if (current) {\n return (\n <CrumbRow spacing={LABEL_ACTION_GAP}>\n <CurrentLabel\n $size={size}\n size={size === 'lg' ? 'lg' : 'md'}\n weight='bold'\n color='primary'\n as={headingAs}\n >\n <TruncatedBreadcrumbLabel label={label} />\n </CurrentLabel>\n {inlineActions}\n </CrumbRow>\n );\n }\n\n if (href == null && onClick != null) {\n return (\n <CrumbRow spacing={LABEL_ACTION_GAP}>\n <AncestorNavButton type='button' onClick={onClick} $size={size}>\n <TruncatedBreadcrumbLabel label={label} />\n </AncestorNavButton>\n {inlineActions}\n </CrumbRow>\n );\n }\n\n return (\n <CrumbRow spacing={LABEL_ACTION_GAP}>\n <AncestorNavLink to={href ?? ''} $size={size}>\n <TruncatedBreadcrumbLabel label={label} />\n </AncestorNavLink>\n {inlineActions}\n </CrumbRow>\n );\n};\n\nexport default Breadcrumb;\n","import styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport { intersperse } from 'design-system/lib/intersperse';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nimport Breadcrumb, {\n type BreadcrumbHeadingAs,\n type BreadcrumbProps,\n type BreadcrumbSize,\n getInlineActionCount,\n} from './Breadcrumb';\n\nexport type BreadcrumbsItemProps = Omit<BreadcrumbProps, 'size' | 'current' | 'headingAs'>;\n\nexport type BreadcrumbsProps = {\n items: BreadcrumbsItemProps[];\n size?: BreadcrumbSize;\n /**\n * Overrides the heading element rendered for the current crumb. Defaults to `h1`; use `h2` or\n * lower when the page already has an `h1`.\n */\n headingAs?: BreadcrumbHeadingAs;\n 'aria-label'?: string;\n className?: string;\n};\n\nconst ANCESTOR_MIN_CHARS = 8;\nconst CURRENT_MIN_CHARS = 12;\n\nconst BreadcrumbNav = styled.nav`\n min-width: 0;\n`;\n\nconst BreadcrumbList = styled.ol`\n max-width: 100%;\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n min-width: 0;\n`;\n\nconst BreadcrumbListItem = styled.li<{\n $size: BreadcrumbSize;\n $isCurrent: boolean;\n $isShort: boolean;\n $minWidth?: string;\n}>`\n display: flex;\n align-items: center;\n ${({ $size }) => ($size === 'lg' ? paragraphMixins.lg : paragraphMixins.md)};\n ${({ $isShort, $isCurrent }) =>\n $isShort ? 'flex-shrink: 0;' : $isCurrent ? 'flex: 0 1 auto;' : 'flex: 0 100000 auto;'}\n ${({ $minWidth }) => $minWidth != null && `min-width: ${$minWidth};`}\n\n &:has(input) {\n flex-shrink: 1;\n }\n`;\n\nconst SeparatorListItem = styled.li`\n display: flex;\n align-items: center;\n flex-shrink: 0;\n`;\n\nconst Separator = styled.span<{ $size: BreadcrumbSize }>`\n padding: 0 ${Spacing[2]};\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.tertiary)};\n user-select: none;\n ${({ $size }) => ($size === 'lg' ? paragraphMixins.lg : paragraphMixins.md)};\n`;\n\nexport const Breadcrumbs = ({\n items,\n size = 'md',\n headingAs = 'h1',\n 'aria-label': ariaLabel = 'Breadcrumbs',\n className,\n}: BreadcrumbsProps) => {\n if (items.length === 0) {\n return null;\n }\n\n const crumbNodes = items.map((item, index) => {\n const isCurrent = index === items.length - 1;\n const minChars = isCurrent ? CURRENT_MIN_CHARS : ANCESTOR_MIN_CHARS;\n const actionCount = getInlineActionCount(item);\n const actionsWidth =\n actionCount === 0\n ? 0\n : Number.parseFloat(Spacing[2]) +\n actionCount * 24 +\n (actionCount - 1) * Number.parseFloat(Spacing[1]);\n\n return (\n <BreadcrumbListItem\n key={`${item.label}-${index}`}\n aria-current={isCurrent ? 'page' : undefined}\n $size={size}\n $isCurrent={isCurrent}\n $isShort={item.label.length <= minChars}\n $minWidth={\n item.label.length > minChars ? `calc(${minChars}ch + ${actionsWidth}px)` : undefined\n }\n >\n <Breadcrumb {...item} size={size} current={isCurrent} headingAs={headingAs} />\n </BreadcrumbListItem>\n );\n });\n\n const listItems = intersperse(crumbNodes, (separatorIndex: number) => (\n <SeparatorListItem key={`separator-${separatorIndex}`} aria-hidden='true'>\n <Separator $size={size}>/</Separator>\n </SeparatorListItem>\n ));\n\n return (\n <BreadcrumbNav aria-label={ariaLabel} className={className}>\n <BreadcrumbList>{listItems}</BreadcrumbList>\n </BreadcrumbNav>\n );\n};\n\nexport default Breadcrumbs;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs-Dft2TR4v.mjs","names":["Input"],"sources":["../src/components/Breadcrumbs/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { type ChangeEvent, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport { CopyIcon, EditIcon } from '@persona/icons';\n\nimport { IconButton } from '#src/components/Button';\nimport Input from '#src/components/Input';\nimport { HStack } from '#src/components/Stack';\nimport TechnicalSticker from '#src/components/TechnicalSticker';\nimport { Paragraph } from '#src/components/Text';\nimport Tooltip from '#src/components/Tooltip';\nimport { RouterLink } from '#src/lib/router';\nimport { semanticColor } from '#src/lib/semanticColor';\nimport TruncatedTextWithTooltip from '#src/lib/TruncatedTextWithTooltip';\nimport { focusOutline } from '#src/mixins/focus';\nimport { paragraphMixins } from '#src/mixins/text';\nimport { TransitionDuration } from '#src/variables/transitions';\n\nexport type BreadcrumbSize = 'md' | 'lg';\n\nexport type BreadcrumbHeadingAs = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nconst COPY_TOOLTIP_LABEL = 'Copy ID';\nconst COPIED_TOOLTIP_LABEL = 'Copied!';\nconst DEFAULT_EDIT_MAX_LENGTH = 100;\nconst COPY_TOOLTIP_STICKER_MAX_WIDTH = '96px';\nconst COPY_TOOLTIP_STICKER_TOOLTIP_MAX_WIDTH = '250px';\n\nexport type BreadcrumbProps = {\n label: string;\n size?: BreadcrumbSize;\n current?: boolean;\n /**\n * Overrides the heading element rendered for the current crumb. Defaults to `h1`; use `h2` or\n * lower when the page already has an `h1`.\n */\n headingAs?: BreadcrumbHeadingAs;\n showCopyAction?: boolean;\n copyValue?: string;\n copyTooltipLabel?: string;\n /** Copy tooltip text shown after a successful copy. Defaults to `Copied!`. */\n copiedTooltipLabel?: string;\n /**\n * Appends `copyValue` to both copy tooltip texts as a `TechnicalSticker`, so the tooltip shows\n * which token is being copied.\n */\n showCopyValueInTooltip?: boolean;\n /** Internal path (e.g. `/cases`), rendered as a router-aware link. */\n href?: string;\n /**\n * Activates a non-current crumb without a route change, for trails that navigate in-place (e.g.\n * a control panel drilling into a sub-panel). Ignored when `href` is set.\n */\n onClick?: () => void;\n onEdit?: (newLabel: string) => void;\n editMaxLength?: number;\n onCopy?: () => void;\n};\n\nconst LABEL_ACTION_GAP = Spacing[2];\nconst ACTION_BUTTON_GAP = Spacing[1];\n\nexport const getInlineActionCount = ({\n onEdit,\n showCopyAction,\n copyValue,\n}: Pick<BreadcrumbProps, 'onEdit' | 'showCopyAction' | 'copyValue'>) =>\n Number(onEdit != null) + (showCopyAction && copyValue != null ? 1 : 0);\n\nconst CrumbRow = styled(HStack)`\n align-items: center;\n min-width: 0;\n`;\n\nconst InlineActions = styled(HStack)`\n flex-shrink: 0;\n`;\n\nconst BreadcrumbLabel = styled.span`\n overflow-wrap: anywhere;\n`;\n\nconst TruncatedBreadcrumbLabel = ({ label }: { label: string }) => (\n <TruncatedTextWithTooltip tooltipProps={{ maxWidth: '400px' }}>\n <BreadcrumbLabel>{label}</BreadcrumbLabel>\n </TruncatedTextWithTooltip>\n);\n\nconst crumbLayoutStyles = (size: BreadcrumbSize) => css`\n display: inline-flex;\n align-items: center;\n min-width: 0;\n min-height: ${({ theme }) => theme.element.height.xs};\n ${\n size === 'lg'\n ? css`\n font-size: ${({ theme }) => theme.text.paragraph.lg.fontSize};\n line-height: ${({ theme }) => theme.text.paragraph.lg.lineHeight};\n `\n : css``\n };\n`;\n\nconst editInputTextStyles = (size: BreadcrumbSize, current: boolean) => {\n if (current) {\n return size === 'lg' ? paragraphMixins.lgBold : paragraphMixins.mdBold;\n }\n return size === 'lg' ? paragraphMixins.lg : paragraphMixins.md;\n};\n\nconst ancestorCrumbStyles = css<{ $size: BreadcrumbSize }>`\n ${paragraphMixins.md};\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.secondary)};\n text-decoration: none;\n transition: color ${TransitionDuration.ExtraFast} ease-out;\n ${focusOutline}\n ${({ $size }) => crumbLayoutStyles($size)}\n\n &:hover {\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', theme.color.text.primary)};\n }\n`;\n\nconst AncestorNavLink = styled(RouterLink)<{ $size: BreadcrumbSize }>`\n ${ancestorCrumbStyles}\n`;\n\nconst AncestorNavButton = styled.button<{ $size: BreadcrumbSize }>`\n ${ancestorCrumbStyles}\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n`;\n\nconst InlineEditInput = styled(Input)<{\n $size: BreadcrumbSize;\n $current: boolean;\n $editMinWidth?: number;\n}>`\n margin: 0;\n padding: 2px 10px;\n width: auto;\n max-width: 100%;\n min-width: ${({ $editMinWidth }) => ($editMinWidth != null ? `${$editMinWidth}px` : '0')};\n field-sizing: content;\n display: inline-block;\n ${({ $size, $current }) => editInputTextStyles($size, $current)};\n background-color: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', theme.color.background.primary)};\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', theme.color.text.primary)};\n\n &:not(:focus) {\n border-color: transparent;\n }\n\n &:hover:not(:disabled) {\n border-style: solid;\n }\n`;\n\nconst CurrentLabel = styled(Paragraph)<{ $size: BreadcrumbSize }>`\n margin: 0;\n ${({ $size }) => crumbLayoutStyles($size)}\n`;\n\nconst copyToClipboard = async (value: string): Promise<boolean> => {\n try {\n if (navigator.clipboard?.writeText == null) {\n return false;\n }\n\n await navigator.clipboard.writeText(value);\n return true;\n } catch {\n return false;\n }\n};\n\nconst BreadcrumbCopyButton = ({\n copyValue,\n copyTooltipLabel = COPY_TOOLTIP_LABEL,\n copiedTooltipLabel = COPIED_TOOLTIP_LABEL,\n showCopyValueInTooltip = false,\n onCopy,\n}: {\n copyValue: string;\n copyTooltipLabel?: string;\n copiedTooltipLabel?: string;\n showCopyValueInTooltip?: boolean;\n onCopy?: () => void;\n}) => {\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n const success = await copyToClipboard(copyValue);\n if (!success) {\n return;\n }\n\n setCopied(true);\n setTooltipOpen(true);\n onCopy?.();\n\n window.setTimeout(() => {\n setTooltipOpen(false);\n window.setTimeout(() => setCopied(false), 200);\n }, 1000);\n };\n\n const handleMouseEnter = () => {\n if (!copied) {\n setTooltipOpen(true);\n }\n };\n\n const handleMouseLeave = () => {\n if (!copied) {\n setTooltipOpen(false);\n }\n };\n\n const trigger = (\n <span onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n <IconButton\n type='button'\n size='sm'\n aria-label={`Copy ${copyValue}`}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n void handleCopy();\n }}\n >\n <CopyIcon />\n </IconButton>\n </span>\n );\n\n const tooltipLabel = copied ? copiedTooltipLabel : copyTooltipLabel;\n\n return (\n <Tooltip\n trigger={trigger}\n open={tooltipOpen}\n side='top'\n sideOffset={4}\n size='sm'\n contentAlignment='center'\n interactive={false}\n hideArrow\n portal={false}\n maxWidth={showCopyValueInTooltip ? COPY_TOOLTIP_STICKER_TOOLTIP_MAX_WIDTH : undefined}\n >\n {showCopyValueInTooltip ? (\n <HStack spacing={ACTION_BUTTON_GAP} align='center'>\n <span>{tooltipLabel}</span>\n <TechnicalSticker copyable={false} maxWidth={COPY_TOOLTIP_STICKER_MAX_WIDTH}>\n {copyValue}\n </TechnicalSticker>\n </HStack>\n ) : (\n tooltipLabel\n )}\n </Tooltip>\n );\n};\n\nconst Breadcrumb = ({\n label,\n size = 'md',\n current = false,\n headingAs = 'h1',\n showCopyAction = false,\n copyValue,\n copyTooltipLabel,\n copiedTooltipLabel,\n showCopyValueInTooltip,\n href,\n onClick,\n onEdit,\n editMaxLength = DEFAULT_EDIT_MAX_LENGTH,\n onCopy,\n}: BreadcrumbProps) => {\n const [isEditing, setIsEditing] = useState(false);\n const [editValue, setEditValue] = useState(label);\n const [editMinWidth, setEditMinWidth] = useState<number | undefined>();\n const editInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!isEditing) {\n setEditValue(label);\n }\n }, [isEditing, label]);\n\n useEffect(() => {\n if (!isEditing) {\n setEditMinWidth(undefined);\n return;\n }\n\n const input = editInputRef.current;\n if (input == null) {\n return;\n }\n\n setEditMinWidth(input.offsetWidth);\n input.focus();\n input.select();\n }, [isEditing]);\n\n const commitEdit = () => {\n if (!isEditing) {\n return;\n }\n\n setIsEditing(false);\n if (editValue !== label) {\n onEdit?.(editValue);\n }\n };\n\n const inlineActionCount = getInlineActionCount({ onEdit, showCopyAction, copyValue });\n const inlineActions = !isEditing && inlineActionCount > 0 && (\n <InlineActions spacing={ACTION_BUTTON_GAP} align='center'>\n {onEdit != null && (\n <IconButton\n type='button'\n size='sm'\n aria-label={`Edit ${label}`}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n setIsEditing(true);\n }}\n >\n <EditIcon />\n </IconButton>\n )}\n {showCopyAction && copyValue != null && (\n <BreadcrumbCopyButton\n copyValue={copyValue}\n copyTooltipLabel={copyTooltipLabel}\n copiedTooltipLabel={copiedTooltipLabel}\n showCopyValueInTooltip={showCopyValueInTooltip}\n onCopy={onCopy}\n />\n )}\n </InlineActions>\n );\n\n if (isEditing) {\n return (\n <CrumbRow spacing={LABEL_ACTION_GAP}>\n <InlineEditInput\n ref={editInputRef}\n $size={size}\n $current={current}\n $editMinWidth={editMinWidth}\n size='md'\n aria-label={`Edit ${label}`}\n maxLength={editMaxLength}\n value={editValue}\n onChange={(event: ChangeEvent<HTMLInputElement>) => setEditValue(event.target.value)}\n onBlur={commitEdit}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n commitEdit();\n }\n if (event.key === 'Escape') {\n setEditValue(label);\n setIsEditing(false);\n }\n }}\n />\n </CrumbRow>\n );\n }\n\n if (current) {\n return (\n <CrumbRow spacing={LABEL_ACTION_GAP}>\n <CurrentLabel\n $size={size}\n size={size === 'lg' ? 'lg' : 'md'}\n weight='bold'\n color='primary'\n as={headingAs}\n >\n <TruncatedBreadcrumbLabel label={label} />\n </CurrentLabel>\n {inlineActions}\n </CrumbRow>\n );\n }\n\n if (href == null && onClick != null) {\n return (\n <CrumbRow spacing={LABEL_ACTION_GAP}>\n <AncestorNavButton type='button' onClick={onClick} $size={size}>\n <TruncatedBreadcrumbLabel label={label} />\n </AncestorNavButton>\n {inlineActions}\n </CrumbRow>\n );\n }\n\n return (\n <CrumbRow spacing={LABEL_ACTION_GAP}>\n <AncestorNavLink to={href ?? ''} $size={size}>\n <TruncatedBreadcrumbLabel label={label} />\n </AncestorNavLink>\n {inlineActions}\n </CrumbRow>\n );\n};\n\nexport default Breadcrumb;\n","import styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nimport { intersperse } from '#src/lib/intersperse';\nimport { semanticColor } from '#src/lib/semanticColor';\nimport { paragraphMixins } from '#src/mixins/text';\n\nimport Breadcrumb, {\n type BreadcrumbHeadingAs,\n type BreadcrumbProps,\n type BreadcrumbSize,\n getInlineActionCount,\n} from './Breadcrumb';\n\nexport type BreadcrumbsItemProps = Omit<BreadcrumbProps, 'size' | 'current' | 'headingAs'>;\n\nexport type BreadcrumbsProps = {\n items: BreadcrumbsItemProps[];\n size?: BreadcrumbSize;\n /**\n * Overrides the heading element rendered for the current crumb. Defaults to `h1`; use `h2` or\n * lower when the page already has an `h1`.\n */\n headingAs?: BreadcrumbHeadingAs;\n 'aria-label'?: string;\n className?: string;\n};\n\nconst ANCESTOR_MIN_CHARS = 8;\nconst CURRENT_MIN_CHARS = 12;\n\nconst BreadcrumbNav = styled.nav`\n min-width: 0;\n`;\n\nconst BreadcrumbList = styled.ol`\n max-width: 100%;\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n min-width: 0;\n`;\n\nconst BreadcrumbListItem = styled.li<{\n $size: BreadcrumbSize;\n $isCurrent: boolean;\n $isShort: boolean;\n $minWidth?: string;\n}>`\n display: flex;\n align-items: center;\n ${({ $size }) => ($size === 'lg' ? paragraphMixins.lg : paragraphMixins.md)};\n ${({ $isShort, $isCurrent }) =>\n $isShort ? 'flex-shrink: 0;' : $isCurrent ? 'flex: 0 1 auto;' : 'flex: 0 100000 auto;'}\n ${({ $minWidth }) => $minWidth != null && `min-width: ${$minWidth};`}\n\n &:has(input) {\n flex-shrink: 1;\n }\n`;\n\nconst SeparatorListItem = styled.li`\n display: flex;\n align-items: center;\n flex-shrink: 0;\n`;\n\nconst Separator = styled.span<{ $size: BreadcrumbSize }>`\n padding: 0 ${Spacing[2]};\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.tertiary)};\n user-select: none;\n ${({ $size }) => ($size === 'lg' ? paragraphMixins.lg : paragraphMixins.md)};\n`;\n\nexport const Breadcrumbs = ({\n items,\n size = 'md',\n headingAs = 'h1',\n 'aria-label': ariaLabel = 'Breadcrumbs',\n className,\n}: BreadcrumbsProps) => {\n if (items.length === 0) {\n return null;\n }\n\n const crumbNodes = items.map((item, index) => {\n const isCurrent = index === items.length - 1;\n const minChars = isCurrent ? CURRENT_MIN_CHARS : ANCESTOR_MIN_CHARS;\n const actionCount = getInlineActionCount(item);\n const actionsWidth =\n actionCount === 0\n ? 0\n : Number.parseFloat(Spacing[2]) +\n actionCount * 24 +\n (actionCount - 1) * Number.parseFloat(Spacing[1]);\n\n return (\n <BreadcrumbListItem\n key={`${item.label}-${index}`}\n aria-current={isCurrent ? 'page' : undefined}\n $size={size}\n $isCurrent={isCurrent}\n $isShort={item.label.length <= minChars}\n $minWidth={\n item.label.length > minChars ? `calc(${minChars}ch + ${actionsWidth}px)` : undefined\n }\n >\n <Breadcrumb {...item} size={size} current={isCurrent} headingAs={headingAs} />\n </BreadcrumbListItem>\n );\n });\n\n const listItems = intersperse(crumbNodes, (separatorIndex: number) => (\n <SeparatorListItem key={`separator-${separatorIndex}`} aria-hidden='true'>\n <Separator $size={size}>/</Separator>\n </SeparatorListItem>\n ));\n\n return (\n <BreadcrumbNav aria-label={ariaLabel} className={className}>\n <BreadcrumbList>{listItems}</BreadcrumbList>\n </BreadcrumbNav>\n );\n};\n\nexport default Breadcrumbs;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "./Breadcrumbs-DRu_JfdI.mjs";
1
+ import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "./Breadcrumbs-ChKWIuRq.mjs";
2
2
  export { Breadcrumbs, Breadcrumbs as default, BreadcrumbsItemProps, BreadcrumbsProps };
@@ -1,6 +1,6 @@
1
- import { i as To } from "./types-Dhz6VMKx.mjs";
2
- import { t as PseudoClassProps } from "./PseudoClassProps-D_f-JUT1.mjs";
3
- import { n as ButtonVariant } from "./palette-C1gBbxLO.mjs";
1
+ import { i as To } from "./types-B5RbKp2V.mjs";
2
+ import { t as PseudoClassProps } from "./PseudoClassProps-D-sdJdnG.mjs";
3
+ import { n as ButtonVariant } from "./palette-D61sDyDI.mjs";
4
4
  import * as _$react from "react";
5
5
  import { ComponentPropsWithoutRef, HTMLAttributeAnchorTarget, MouseEvent, ReactNode, Ref } from "react";
6
6
  import * as _$styled_components0 from "styled-components";
@@ -108,4 +108,4 @@ interface ButtonProps extends ComponentPropsWithoutRef<'button'>, Omit<PseudoCla
108
108
  declare const Button: _$react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & _$react.RefAttributes<HTMLButtonElement>>;
109
109
  //#endregion
110
110
  export { SuffixIconContainer as a, StyledButton as i, ButtonChildren as n, ButtonProps as r, Button as t };
111
- //# sourceMappingURL=Button-Cg8KyT5M.d.mts.map
111
+ //# sourceMappingURL=Button-B79_aXfC.d.mts.map
package/dist/Button.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "./Button-Cg8KyT5M.mjs";
1
+ import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "./Button-B79_aXfC.mjs";
2
2
  export { ButtonChildren, ButtonProps, StyledButton, SuffixIconContainer, Button as default };
@@ -9,4 +9,4 @@ interface CalendarProps extends AriaCalendarProps<DateValue> {
9
9
  declare const Calendar: (props: CalendarProps) => _$react_jsx_runtime0.JSX.Element;
10
10
  //#endregion
11
11
  export { Calendar as t };
12
- //# sourceMappingURL=Calendar-D-6WOLJ1.d.mts.map
12
+ //# sourceMappingURL=Calendar-50D7poM_.d.mts.map
@@ -1,2 +1,2 @@
1
- import { t as Calendar } from "./Calendar-D-6WOLJ1.mjs";
1
+ import { t as Calendar } from "./Calendar-50D7poM_.mjs";
2
2
  export { Calendar as default };
@@ -1,4 +1,4 @@
1
- import { n as IconButtonProps } from "./IconButton-KhCwTwPx.mjs";
1
+ import { n as IconButtonProps } from "./IconButton-CaEvsrOn.mjs";
2
2
  import * as _$styled_components0 from "styled-components";
3
3
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
@@ -1,6 +1,6 @@
1
1
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
- import { CalendarState, RangeCalendarState } from "react-stately";
3
2
  import { CalendarDate, DateValue } from "@internationalized/date";
3
+ import { CalendarState, RangeCalendarState } from "react-stately";
4
4
 
5
5
  //#region src/components/DatePicker/Calendar/CalendarCell.d.ts
6
6
  interface CalendarCellProps {
@@ -1,6 +1,6 @@
1
1
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
- import { CalendarState, RangeCalendarState } from "react-stately";
3
2
  import { DateDuration } from "@internationalized/date";
3
+ import { CalendarState, RangeCalendarState } from "react-stately";
4
4
 
5
5
  //#region src/components/DatePicker/Calendar/CalendarGrid.d.ts
6
6
  interface CalendarGridProps {
@@ -1,5 +1,5 @@
1
- import { c as ParagraphProps, u as SpanProps } from "./Text-SaoRBdB6.mjs";
2
- import { i as HeaderProps } from "./Header-fwlbzxYx.mjs";
1
+ import { c as ParagraphProps, u as SpanProps } from "./Text-BgSW0yDb.mjs";
2
+ import { i as HeaderProps } from "./Header-C9oYPBLv.mjs";
3
3
  import { ComponentPropsWithoutRef, FC, PropsWithChildren, ReactElement, ReactNode } from "react";
4
4
  import * as _$styled_components0 from "styled-components";
5
5
  import { Spacing } from "@persona/design-tokens";
@@ -72,4 +72,4 @@ declare const _default: typeof Card & {
72
72
  };
73
73
  //#endregion
74
74
  export { SectionProps as n, _default as r, CardProps as t };
75
- //# sourceMappingURL=Card-CfECLwQ6.d.mts.map
75
+ //# sourceMappingURL=Card-DOIqF954.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card-DuQHyroh.mjs","names":["Title","Spacer"],"sources":["../src/components/Card/Header/Header.tsx","../src/components/Card/Card.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { semanticColor, semanticOnly } from 'design-system/lib/semanticColor';\nimport { headingMixins, paragraphMixins } from 'design-system/mixins/text';\n\nexport interface HeaderProps {\n children: ReactNode;\n subtitle?: ReactNode;\n variant?: 'title' | 'section';\n actions?: ReactNode;\n $matchCardV2?: boolean;\n}\n\nexport const HeaderContainer = styled.div<Pick<HeaderProps, 'variant' | '$matchCardV2'>>`\n ${paragraphMixins.md};\n display: flex;\n align-items: center;\n justify-content: space-between;\n &:not(:only-child) {\n margin: 0px 0px ${Spacing[4]} 0px;\n ${({ $matchCardV2 }) =>\n $matchCardV2 &&\n css`\n margin-bottom: ${Spacing[1]};\n `}\n }\n ${({ variant }) =>\n variant === 'section' &&\n css`\n border-bottom: 1px solid ${({ theme }) => semanticColor(theme, 'BorderDivider', theme.color.border.primary)};\n `}\n`;\n\nexport const TitleContainer = styled.div`\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\nexport const Title = styled.h3<Pick<HeaderProps, 'variant' | '$matchCardV2'>>`\n display: flex;\n align-items: center;\n margin: 0px;\n gap: ${Spacing[2]};\n ${semanticOnly((tokens) => `color: ${tokens.FgPrimary};`)}\n ${({ variant }) => {\n switch (variant) {\n case 'section':\n return paragraphMixins.lgBold;\n case 'title':\n default:\n return headingMixins.sm;\n }\n }}\n ${({ $matchCardV2 }) =>\n $matchCardV2 &&\n css`\n ${headingMixins.xsm};\n `}\n`;\n\nexport const ActionsContainer = styled.div`\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.secondary)};\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\nconst FullDivider = styled.hr`\n border-top: 1px solid ${({ theme }) => semanticColor(theme, 'BorderSubtle', Color.BorderDivider)};\n margin: 0;\n\n /* Use negative margin to bleed the divider out of the grid. */\n margin-left: -${Spacing[5]};\n margin-right: -${Spacing[5]};\n`;\n\nconst Header = ({\n children,\n variant,\n actions,\n subtitle,\n $matchCardV2,\n ...elemProps\n}: HeaderProps & ComponentPropsWithoutRef<'div'>) => {\n return (\n <>\n <HeaderContainer variant={variant} {...elemProps} $matchCardV2={$matchCardV2}>\n <TitleContainer>\n <Title variant={variant} $matchCardV2={$matchCardV2}>\n {children}\n </Title>\n {subtitle}\n </TitleContainer>\n <ActionsContainer>{actions}</ActionsContainer>\n </HeaderContainer>\n {$matchCardV2 && <FullDivider />}\n </>\n );\n};\n\nexport const Root = Header;\n\nexport default Header;\n","import type {\n ComponentPropsWithoutRef,\n FC,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport { ChevronDownIcon, ChevronUpIcon } from '@persona/icons';\nimport Header, { type HeaderProps } from 'design-system/components/Card/Header';\nimport Spacer from 'design-system/components/Spacer';\nimport { Paragraph } from 'design-system/components/Text';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport useToggle from 'design-system/lib/useToggle';\nimport { BASE } from 'design-system/variables/spacing';\n\nexport interface CardProps {\n elevated?: boolean;\n $matchCardV2?: boolean;\n}\n\n/**\n * @deprecated Use CardV2 instead\n */\nconst Card = styled('div')<CardProps>`\n border-radius: ${({ theme }) => {\n return theme.card.borderRadius;\n }};\n display: flex;\n flex-direction: column;\n margin-bottom: ${Spacing[4]};\n background-color: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', theme.color.background.primary)};\n font-family: ${({ theme }) => theme.text.fontFamily.base};\n ${({ elevated }) =>\n elevated &&\n css`\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n `}\n\n ${({ $matchCardV2 }) =>\n $matchCardV2 &&\n css`\n margin-bottom: 0;\n `}\n`;\n\n/**\n * To be used within cards. Provides padding and basic layout. Should not be\n * used if card's contents are edge-to-edge with no padding.\n */\nconst Body = styled('section')<{ gap?: number; padding?: Spacing; $matchCardV2?: boolean }>`\n margin: 0;\n padding: ${({ padding }) => padding ?? Spacing[5]};\n display: grid;\n grid-auto-flow: row;\n grid-gap: ${({ gap }) => (gap != null ? gap : BASE)}px;\n /**\n * Prevent grid blowout\n * https://css-tricks.com/preventing-a-grid-blowout/\n */\n grid-template-columns: minmax(0, 1fr);\n\n ${({ $matchCardV2 }) =>\n $matchCardV2 &&\n css`\n padding: ${Spacing[4]} ${Spacing[5]};\n grid-gap: ${Spacing[3]};\n `}\n`;\n\nconst IconContainer = styled('div')`\n margin-right: ${Spacing[3]};\n display: flex;\n align-items: center;\n\n > svg {\n height: 24px;\n width: 24px;\n }\n`;\n\nconst ImageWrapper = styled('div')<{ height: number }>`\n width: 100%;\n overflow: hidden;\n border-radius: ${({ theme }) => theme.card.borderRadius} ${({ theme }) => theme.card.borderRadius}\n 0px 0px;\n\n ${({ height }) => {\n return css`\n height: ${height}px;\n `;\n }};\n\n > img,\n svg {\n width: 100%;\n border-radius: ${({ theme }) => theme.card.borderRadius}\n ${({ theme }) => theme.card.borderRadius} 0px 0px;\n }\n`;\n\ninterface TitleBaseProps {\n icon?: ReactElement;\n}\n\ninterface TitleProps\n extends\n TitleBaseProps,\n Pick<HeaderProps, 'actions' | 'subtitle'>,\n Omit<ComponentPropsWithoutRef<'h3'>, 'color' | 'size'> {\n $matchCardV2?: boolean;\n}\n\n/**\n * Label to be used within cards. Note that some cards lead with a Title while\n * some others lead with a Subtitle (see below).\n */\nconst Title: FC<TitleProps> = ({ icon, children, ...elemProps }) => (\n <Header variant='title' {...elemProps}>\n {icon != null && <IconContainer>{icon}</IconContainer>}\n {children}\n </Header>\n);\n\n/**\n * Smaller label to be used within cards.\n */\nconst Subtitle = styled(Paragraph).attrs(() => ({ size: 'md' }))`\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.tertiary)};\n`;\n\nexport interface SectionProps\n extends\n Pick<HeaderProps, 'subtitle' | 'actions'>,\n Omit<ComponentPropsWithoutRef<'h3'>, 'color' | 'size'> {}\n\n/**\n * Header for section headers within a Card\n */\nconst SectionHeader = ({ children, ...elemProps }: SectionProps) => (\n <Header variant='section' {...elemProps}>\n {children}\n </Header>\n);\n\n/**\n * Wrapper for a full-width image to be used at the top of a card.\n */\n\ninterface ImageProps {\n height: number;\n children: ReactNode;\n}\n\nconst Image: FC<ImageProps> = ({ height, children, ...elemProps }) => (\n <ImageWrapper {...elemProps} height={height}>\n {children}\n </ImageWrapper>\n);\n\ninterface CollapsibleSectionProps {\n id?: string;\n defaultExpanded?: boolean;\n title: ReactNode;\n}\n\nconst CollapsibleSection: FC<PropsWithChildren<CollapsibleSectionProps>> = ({\n id,\n defaultExpanded,\n title,\n children,\n}) => {\n const [isOpen, { toggle }] = useToggle(defaultExpanded);\n\n return (\n <section>\n <div id={id} onClick={toggle}>\n <Header variant='section'>\n <HeaderIcon>\n {isOpen ? <ChevronUpIcon /> : <ChevronDownIcon />}\n <Spacer width={0.5} height={0} />\n </HeaderIcon>\n {title}\n </Header>\n </div>\n <div>\n {isOpen && (\n <>\n <Spacer height={1} />\n {children}\n </>\n )}\n </div>\n <Spacer height={1} />\n </section>\n );\n};\n\nconst HeaderIcon = styled.div`\n display: flex;\n`;\n\nexport default Object.assign(Card, {\n Title,\n SectionHeader,\n Subtitle,\n Body,\n Image,\n CollapsibleSection,\n}) as typeof Card & {\n Title: typeof Title;\n SectionHeader: typeof SectionHeader;\n Subtitle: typeof Subtitle;\n Body: typeof Body;\n Image: typeof Image;\n CollapsibleSection: typeof CollapsibleSection;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Card-DuQHyroh.mjs","names":["Title","Spacer"],"sources":["../src/components/Card/Header/Header.tsx","../src/components/Card/Card.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\n\nimport { semanticColor, semanticOnly } from '#src/lib/semanticColor';\nimport { headingMixins, paragraphMixins } from '#src/mixins/text';\n\nexport interface HeaderProps {\n children: ReactNode;\n subtitle?: ReactNode;\n variant?: 'title' | 'section';\n actions?: ReactNode;\n $matchCardV2?: boolean;\n}\n\nexport const HeaderContainer = styled.div<Pick<HeaderProps, 'variant' | '$matchCardV2'>>`\n ${paragraphMixins.md};\n display: flex;\n align-items: center;\n justify-content: space-between;\n &:not(:only-child) {\n margin: 0px 0px ${Spacing[4]} 0px;\n ${({ $matchCardV2 }) =>\n $matchCardV2 &&\n css`\n margin-bottom: ${Spacing[1]};\n `}\n }\n ${({ variant }) =>\n variant === 'section' &&\n css`\n border-bottom: 1px solid ${({ theme }) => semanticColor(theme, 'BorderDivider', theme.color.border.primary)};\n `}\n`;\n\nexport const TitleContainer = styled.div`\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\nexport const Title = styled.h3<Pick<HeaderProps, 'variant' | '$matchCardV2'>>`\n display: flex;\n align-items: center;\n margin: 0px;\n gap: ${Spacing[2]};\n ${semanticOnly((tokens) => `color: ${tokens.FgPrimary};`)}\n ${({ variant }) => {\n switch (variant) {\n case 'section':\n return paragraphMixins.lgBold;\n case 'title':\n default:\n return headingMixins.sm;\n }\n }}\n ${({ $matchCardV2 }) =>\n $matchCardV2 &&\n css`\n ${headingMixins.xsm};\n `}\n`;\n\nexport const ActionsContainer = styled.div`\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.secondary)};\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\nconst FullDivider = styled.hr`\n border-top: 1px solid ${({ theme }) => semanticColor(theme, 'BorderSubtle', Color.BorderDivider)};\n margin: 0;\n\n /* Use negative margin to bleed the divider out of the grid. */\n margin-left: -${Spacing[5]};\n margin-right: -${Spacing[5]};\n`;\n\nconst Header = ({\n children,\n variant,\n actions,\n subtitle,\n $matchCardV2,\n ...elemProps\n}: HeaderProps & ComponentPropsWithoutRef<'div'>) => {\n return (\n <>\n <HeaderContainer variant={variant} {...elemProps} $matchCardV2={$matchCardV2}>\n <TitleContainer>\n <Title variant={variant} $matchCardV2={$matchCardV2}>\n {children}\n </Title>\n {subtitle}\n </TitleContainer>\n <ActionsContainer>{actions}</ActionsContainer>\n </HeaderContainer>\n {$matchCardV2 && <FullDivider />}\n </>\n );\n};\n\nexport const Root = Header;\n\nexport default Header;\n","import type {\n ComponentPropsWithoutRef,\n FC,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport { ChevronDownIcon, ChevronUpIcon } from '@persona/icons';\n\nimport Header, { type HeaderProps } from '#src/components/Card/Header';\nimport Spacer from '#src/components/Spacer';\nimport { Paragraph } from '#src/components/Text';\nimport { semanticColor } from '#src/lib/semanticColor';\nimport useToggle from '#src/lib/useToggle';\nimport { BASE } from '#src/variables/spacing';\n\nexport interface CardProps {\n elevated?: boolean;\n $matchCardV2?: boolean;\n}\n\n/**\n * @deprecated Use CardV2 instead\n */\nconst Card = styled('div')<CardProps>`\n border-radius: ${({ theme }) => {\n return theme.card.borderRadius;\n }};\n display: flex;\n flex-direction: column;\n margin-bottom: ${Spacing[4]};\n background-color: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', theme.color.background.primary)};\n font-family: ${({ theme }) => theme.text.fontFamily.base};\n ${({ elevated }) =>\n elevated &&\n css`\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n `}\n\n ${({ $matchCardV2 }) =>\n $matchCardV2 &&\n css`\n margin-bottom: 0;\n `}\n`;\n\n/**\n * To be used within cards. Provides padding and basic layout. Should not be\n * used if card's contents are edge-to-edge with no padding.\n */\nconst Body = styled('section')<{ gap?: number; padding?: Spacing; $matchCardV2?: boolean }>`\n margin: 0;\n padding: ${({ padding }) => padding ?? Spacing[5]};\n display: grid;\n grid-auto-flow: row;\n grid-gap: ${({ gap }) => (gap != null ? gap : BASE)}px;\n /**\n * Prevent grid blowout\n * https://css-tricks.com/preventing-a-grid-blowout/\n */\n grid-template-columns: minmax(0, 1fr);\n\n ${({ $matchCardV2 }) =>\n $matchCardV2 &&\n css`\n padding: ${Spacing[4]} ${Spacing[5]};\n grid-gap: ${Spacing[3]};\n `}\n`;\n\nconst IconContainer = styled('div')`\n margin-right: ${Spacing[3]};\n display: flex;\n align-items: center;\n\n > svg {\n height: 24px;\n width: 24px;\n }\n`;\n\nconst ImageWrapper = styled('div')<{ height: number }>`\n width: 100%;\n overflow: hidden;\n border-radius: ${({ theme }) => theme.card.borderRadius} ${({ theme }) => theme.card.borderRadius}\n 0px 0px;\n\n ${({ height }) => {\n return css`\n height: ${height}px;\n `;\n }};\n\n > img,\n svg {\n width: 100%;\n border-radius: ${({ theme }) => theme.card.borderRadius}\n ${({ theme }) => theme.card.borderRadius} 0px 0px;\n }\n`;\n\ninterface TitleBaseProps {\n icon?: ReactElement;\n}\n\ninterface TitleProps\n extends\n TitleBaseProps,\n Pick<HeaderProps, 'actions' | 'subtitle'>,\n Omit<ComponentPropsWithoutRef<'h3'>, 'color' | 'size'> {\n $matchCardV2?: boolean;\n}\n\n/**\n * Label to be used within cards. Note that some cards lead with a Title while\n * some others lead with a Subtitle (see below).\n */\nconst Title: FC<TitleProps> = ({ icon, children, ...elemProps }) => (\n <Header variant='title' {...elemProps}>\n {icon != null && <IconContainer>{icon}</IconContainer>}\n {children}\n </Header>\n);\n\n/**\n * Smaller label to be used within cards.\n */\nconst Subtitle = styled(Paragraph).attrs(() => ({ size: 'md' }))`\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.tertiary)};\n`;\n\nexport interface SectionProps\n extends\n Pick<HeaderProps, 'subtitle' | 'actions'>,\n Omit<ComponentPropsWithoutRef<'h3'>, 'color' | 'size'> {}\n\n/**\n * Header for section headers within a Card\n */\nconst SectionHeader = ({ children, ...elemProps }: SectionProps) => (\n <Header variant='section' {...elemProps}>\n {children}\n </Header>\n);\n\n/**\n * Wrapper for a full-width image to be used at the top of a card.\n */\n\ninterface ImageProps {\n height: number;\n children: ReactNode;\n}\n\nconst Image: FC<ImageProps> = ({ height, children, ...elemProps }) => (\n <ImageWrapper {...elemProps} height={height}>\n {children}\n </ImageWrapper>\n);\n\ninterface CollapsibleSectionProps {\n id?: string;\n defaultExpanded?: boolean;\n title: ReactNode;\n}\n\nconst CollapsibleSection: FC<PropsWithChildren<CollapsibleSectionProps>> = ({\n id,\n defaultExpanded,\n title,\n children,\n}) => {\n const [isOpen, { toggle }] = useToggle(defaultExpanded);\n\n return (\n <section>\n <div id={id} onClick={toggle}>\n <Header variant='section'>\n <HeaderIcon>\n {isOpen ? <ChevronUpIcon /> : <ChevronDownIcon />}\n <Spacer width={0.5} height={0} />\n </HeaderIcon>\n {title}\n </Header>\n </div>\n <div>\n {isOpen && (\n <>\n <Spacer height={1} />\n {children}\n </>\n )}\n </div>\n <Spacer height={1} />\n </section>\n );\n};\n\nconst HeaderIcon = styled.div`\n display: flex;\n`;\n\nexport default Object.assign(Card, {\n Title,\n SectionHeader,\n Subtitle,\n Body,\n Image,\n CollapsibleSection,\n}) as typeof Card & {\n Title: typeof Title;\n SectionHeader: typeof SectionHeader;\n Subtitle: typeof Subtitle;\n Body: typeof Body;\n Image: typeof Image;\n CollapsibleSection: typeof CollapsibleSection;\n};\n"],"mappings":"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"}
package/dist/Card.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { n as SectionProps, r as _default, t as CardProps } from "./Card-CfECLwQ6.mjs";
1
+ import { n as SectionProps, r as _default, t as CardProps } from "./Card-DOIqF954.mjs";
2
2
  export { CardProps, SectionProps, _default as default };
@@ -1,5 +1,5 @@
1
- import { i as TextAction, n as IconAction } from "./Action-Bmo8B-Q3.mjs";
2
- import { n as SingleColumnLayoutProps } from "./SingleColumnLayout-DBo35psH.mjs";
1
+ import { i as TextAction, n as IconAction } from "./Action-BLMJwLBV.mjs";
2
+ import { n as SingleColumnLayoutProps } from "./SingleColumnLayout-C4qrVyMf.mjs";
3
3
  import { ReactElement, ReactNode } from "react";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5