@persona/design-system 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/Accordion.d.mts +1 -1
  3. package/dist/AccordionItem.d.mts +1 -1
  4. package/dist/{Action-BwYS9qaG.d.mts → Action-DcK0fRrq.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-D-5tbZDw.mjs → Badge-DLuyKRCQ.mjs} +2 -2
  11. package/dist/{Badge-D-5tbZDw.mjs.map → Badge-DLuyKRCQ.mjs.map} +1 -1
  12. package/dist/BooleanValueControl.d.mts +1 -1
  13. package/dist/{Breadcrumb-BADja8tn.d.mts → Breadcrumb-CEHEUe8l.d.mts} +1 -1
  14. package/dist/Breadcrumb.d.mts +1 -1
  15. package/dist/{Breadcrumbs-CNpM0aXm.mjs → Breadcrumbs-B8aXFPdV.mjs} +8 -8
  16. package/dist/{Breadcrumbs-CNpM0aXm.mjs.map → Breadcrumbs-B8aXFPdV.mjs.map} +1 -1
  17. package/dist/{Breadcrumbs-CxP7ktfM.d.mts → Breadcrumbs-BQ-Gj6UV.d.mts} +2 -2
  18. package/dist/Breadcrumbs.d.mts +1 -1
  19. package/dist/{Button-CnswHEJ2.d.mts → Button-DKUomFPj.d.mts} +4 -4
  20. package/dist/Button.d.mts +1 -1
  21. package/dist/{Calendar-Cke5IlMI.d.mts → Calendar-BvsTQ3e1.d.mts} +1 -1
  22. package/dist/Calendar.d.mts +1 -1
  23. package/dist/CalendarBase.d.mts +1 -1
  24. package/dist/{Card-Dz6jqJuJ.mjs → Card-BXNxWX5C.mjs} +4 -4
  25. package/dist/{Card-Dz6jqJuJ.mjs.map → Card-BXNxWX5C.mjs.map} +1 -1
  26. package/dist/{Card-Bp6L08H4.d.mts → Card-DMXDx1W7.d.mts} +3 -3
  27. package/dist/Card.d.mts +1 -1
  28. package/dist/CardGrouping.d.mts +38 -0
  29. package/dist/{CardV2-DEW6mw_o.mjs → CardV2-JPGFAqui.mjs} +9 -9
  30. package/dist/{CardV2-DEW6mw_o.mjs.map → CardV2-JPGFAqui.mjs.map} +1 -1
  31. package/dist/{Checkbox-DUXws1Os.d.mts → Checkbox-CVa8WOf2.d.mts} +1 -1
  32. package/dist/{Checkbox-GibG2pg5.mjs → Checkbox-iSBIpu0l.mjs} +4 -4
  33. package/dist/{Checkbox-GibG2pg5.mjs.map → Checkbox-iSBIpu0l.mjs.map} +1 -1
  34. package/dist/Checkbox.d.mts +1 -1
  35. package/dist/{CheckboxGroupField-DzdOYIjo.d.mts → CheckboxGroupField-BMJwuTpJ.d.mts} +3 -3
  36. package/dist/CheckboxGroupField.d.mts +1 -1
  37. package/dist/ChoicesValueControl.d.mts +1 -1
  38. package/dist/{Combobox-CCDoNF9Y.mjs → Combobox-BkpRqaxB.mjs} +72 -28
  39. package/dist/Combobox-BkpRqaxB.mjs.map +1 -0
  40. package/dist/{Combobox-CnxmKUQf.d.mts → Combobox-C2R9eTPr.d.mts} +3 -3
  41. package/dist/Combobox.d.mts +2 -2
  42. package/dist/{ComboboxBase-CtNrsPO9.d.mts → ComboboxBase-BghIk4Vk.d.mts} +6 -6
  43. package/dist/ComboboxBase.d.mts +1 -1
  44. package/dist/{ComboboxMultiSelect-CMH6iVu4.d.mts → ComboboxMultiSelect-CIOHnhrv.d.mts} +2 -2
  45. package/dist/ComboboxMultiSelect.d.mts +1 -1
  46. package/dist/{ComboboxSingleSelect-BLPbLmMY.d.mts → ComboboxSingleSelect-C1JZxli3.d.mts} +5 -4
  47. package/dist/ComboboxSingleSelect.d.mts +1 -1
  48. package/dist/{CompactBar-BwKIIlWz.d.mts → CompactBar-DPJAY1NB.d.mts} +3 -3
  49. package/dist/CompactBar.d.mts +1 -1
  50. package/dist/{ConfigFormGroup-BQXN2Pgj.mjs → ConfigFormGroup-BBIJsQgy.mjs} +2 -2
  51. package/dist/{ConfigFormGroup-BQXN2Pgj.mjs.map → ConfigFormGroup-BBIJsQgy.mjs.map} +1 -1
  52. package/dist/{ControlBar-BJUY6GOX.d.mts → ControlBar-Cg36sjz3.d.mts} +17 -2
  53. package/dist/ControlBar.d.mts +1 -1
  54. package/dist/DataTable.d.mts +6 -3
  55. package/dist/{DateField-BojOHfrv.d.mts → DateField-BXUuqbnb.d.mts} +2 -2
  56. package/dist/DateField.d.mts +1 -1
  57. package/dist/{DatePicker-LPIJrc0n.mjs → DatePicker-CjuR6ORz.mjs} +40 -8
  58. package/dist/DatePicker-CjuR6ORz.mjs.map +1 -0
  59. package/dist/{DatePicker-BHVx_i_F.d.mts → DatePicker-Cmn1vViU.d.mts} +2 -2
  60. package/dist/DatePicker.d.mts +1 -1
  61. package/dist/{DateRangePicker-CelDK_44.d.mts → DateRangePicker-CKhp9Obv.d.mts} +3 -3
  62. package/dist/DateRangePicker.d.mts +1 -1
  63. package/dist/DateRangeValueControl.d.mts +2 -2
  64. package/dist/DateValueControl.d.mts +1 -1
  65. package/dist/{DropdownButton-i5Dmxiq1.mjs → DropdownButton-CRJDAGjJ.mjs} +3 -3
  66. package/dist/{DropdownButton-i5Dmxiq1.mjs.map → DropdownButton-CRJDAGjJ.mjs.map} +1 -1
  67. package/dist/DropdownButton.d.mts +2 -2
  68. package/dist/{DropdownMenu-j8NWbAvM.mjs → DropdownMenu-C2BHv8Lc.mjs} +2 -2
  69. package/dist/{DropdownMenu-j8NWbAvM.mjs.map → DropdownMenu-C2BHv8Lc.mjs.map} +1 -1
  70. package/dist/{DropdownMenu-YtLxcNWt.d.mts → DropdownMenu-CNkQDiJr.d.mts} +2 -2
  71. package/dist/DropdownMenu.d.mts +1 -1
  72. package/dist/{ErrorProps-6dRdJ4QQ.d.mts → ErrorProps-oCHtJzEB.d.mts} +1 -1
  73. package/dist/ErrorProps.d.mts +1 -1
  74. package/dist/{FieldRegistry-DqO8HiYb.d.mts → FieldRegistry-B7P4wC7y.d.mts} +2 -2
  75. package/dist/FieldRegistry.d.mts +1 -1
  76. package/dist/{FilterBar-CpAA2Ozk.d.mts → FilterBar-clWmrKkT.d.mts} +4 -4
  77. package/dist/FilterBar.d.mts +1 -1
  78. package/dist/FilterPickerMenu.d.mts +3 -3
  79. package/dist/FilterPill.d.mts +1 -1
  80. package/dist/FilterPopover.d.mts +3 -1
  81. package/dist/FloatValueControl.d.mts +2 -2
  82. package/dist/{FormControl-B-s6G9mp.d.mts → FormControl-C44o35FL.d.mts} +2 -2
  83. package/dist/{FormControl-bDxFF0hl.mjs → FormControl-jfjKwUfK.mjs} +4 -4
  84. package/dist/{FormControl-bDxFF0hl.mjs.map → FormControl-jfjKwUfK.mjs.map} +1 -1
  85. package/dist/FormControl.d.mts +1 -1
  86. package/dist/FormControlLabel.d.mts +1 -1
  87. package/dist/{FormField-DbcqNcx2.mjs → FormField-C3nUzhGT.mjs} +16 -16
  88. package/dist/{FormField-DbcqNcx2.mjs.map → FormField-C3nUzhGT.mjs.map} +1 -1
  89. package/dist/{FormField-D3k-f3-f.d.mts → FormField-CXznMtuS.d.mts} +2 -2
  90. package/dist/FormField.d.mts +1 -1
  91. package/dist/{Grid-CeH9E5Ai.mjs → Grid-D0mlxk8_.mjs} +1 -1
  92. package/dist/{Grid-CeH9E5Ai.mjs.map → Grid-D0mlxk8_.mjs.map} +1 -1
  93. package/dist/{Header-2K49LYkR.d.mts → Header-DvpIsOUN.d.mts} +1 -1
  94. package/dist/Header.d.mts +1 -1
  95. package/dist/{HelperTooltip-CTHUM2nC.d.mts → HelperTooltip-C4tgbLYw.d.mts} +2 -2
  96. package/dist/HelperTooltip.d.mts +1 -1
  97. package/dist/HighlightedText.d.mts +2 -2
  98. package/dist/{HoverCopyableField-BARZLhfO.mjs → HoverCopyableField-1_LHm80n.mjs} +6 -6
  99. package/dist/{HoverCopyableField-BARZLhfO.mjs.map → HoverCopyableField-1_LHm80n.mjs.map} +1 -1
  100. package/dist/I18nContext-DlvagRAO.d.mts +22 -0
  101. package/dist/I18nContext.d.mts +2 -0
  102. package/dist/{IconButton-D5hx405r.d.mts → IconButton-Bt3WyiGq.d.mts} +2 -2
  103. package/dist/{IconButton-BHFCjvzs.mjs → IconButton-Cqxfmrea.mjs} +3 -3
  104. package/dist/{IconButton-BHFCjvzs.mjs.map → IconButton-Cqxfmrea.mjs.map} +1 -1
  105. package/dist/IconButton.d.mts +1 -1
  106. package/dist/ImageTile.d.mts +1 -1
  107. package/dist/InlineCombobox.d.mts +1 -1
  108. package/dist/InlineInput.d.mts +1 -1
  109. package/dist/{Input-BQbcIiVj.d.mts → Input-CAsOWM0S.d.mts} +3 -3
  110. package/dist/{Input-BQN97Hzm.mjs → Input-Cg2HxteL.mjs} +4 -4
  111. package/dist/{Input-BQN97Hzm.mjs.map → Input-Cg2HxteL.mjs.map} +1 -1
  112. package/dist/Input.d.mts +1 -1
  113. package/dist/{InputProps-DT1ZReZS.d.mts → InputProps-BU9iiBBz.d.mts} +2 -2
  114. package/dist/InputProps.d.mts +1 -1
  115. package/dist/IntegerValueControl.d.mts +2 -2
  116. package/dist/{Link-Bzm4AL5J.mjs → Link-Cf__H8gD.mjs} +2 -2
  117. package/dist/{Link-Bzm4AL5J.mjs.map → Link-Cf__H8gD.mjs.map} +1 -1
  118. package/dist/Link.d.mts +1 -1
  119. package/dist/{ListBox-CdqRwBvA.d.mts → ListBox--IH6uofo.d.mts} +3 -3
  120. package/dist/{ListBox-DOqN9DNl.mjs → ListBox-CjNokYs6.mjs} +13 -10
  121. package/dist/{ListBox-DOqN9DNl.mjs.map → ListBox-CjNokYs6.mjs.map} +1 -1
  122. package/dist/ListBox.d.mts +1 -1
  123. package/dist/{ListBoxField-Bl2WLplO.d.mts → ListBoxField-BUKop1Ca.d.mts} +4 -4
  124. package/dist/ListBoxField.d.mts +1 -1
  125. package/dist/{LoadingShimmer-Ds7rvIUN.mjs → LoadingShimmer-C73hJqaW.mjs} +1 -1
  126. package/dist/{LoadingShimmer-Ds7rvIUN.mjs.map → LoadingShimmer-C73hJqaW.mjs.map} +1 -1
  127. package/dist/LoadingShimmer.d.mts +1 -1
  128. package/dist/{LogicRow-CwMAn1sh.d.mts → LogicRow-C8Hdl8xB.d.mts} +3 -3
  129. package/dist/LogicRow.d.mts +1 -1
  130. package/dist/MaskedInput.d.mts +2 -2
  131. package/dist/{Menu-CUN9bmc1.d.mts → Menu-BSHJpKyL.d.mts} +3 -3
  132. package/dist/{Menu-DjW2b3Wk.mjs → Menu-CwKmfxKI.mjs} +2 -2
  133. package/dist/{Menu-DjW2b3Wk.mjs.map → Menu-CwKmfxKI.mjs.map} +1 -1
  134. package/dist/Menu.d.mts +1 -1
  135. package/dist/{Modal-DHLPK65-.mjs → Modal-BBIJVhv2.mjs} +6 -6
  136. package/dist/{Modal-DHLPK65-.mjs.map → Modal-BBIJVhv2.mjs.map} +1 -1
  137. package/dist/{Modal-CGXJGrKg.d.mts → Modal-CoUHxtgN.d.mts} +2 -2
  138. package/dist/Modal.d.mts +1 -1
  139. package/dist/{PageHeader-eI4RM_uL.mjs → PageHeader-5GyfuGLe.mjs} +3 -3
  140. package/dist/{PageHeader-eI4RM_uL.mjs.map → PageHeader-5GyfuGLe.mjs.map} +1 -1
  141. package/dist/PageHeader.d.mts +1 -1
  142. package/dist/PageLayout-C7ZC7GBA.mjs +132 -0
  143. package/dist/PageLayout-C7ZC7GBA.mjs.map +1 -0
  144. package/dist/PageLayout-C7hDmoy_.d.mts +16 -0
  145. package/dist/PageLayout.d.mts +2 -16
  146. package/dist/PageLayoutFrame--HlvI4Pp.d.mts +28 -0
  147. package/dist/PageLayoutFrame.d.mts +2 -28
  148. package/dist/{PageSelector-kAfYxEky.d.mts → PageSelector-CrUb586l.d.mts} +3 -3
  149. package/dist/PageSelector.d.mts +1 -1
  150. package/dist/{Pagination-Bhr7xyd2.d.mts → Pagination-C67fsrxl.d.mts} +2 -2
  151. package/dist/{Pagination-6BDOn9bX.mjs → Pagination-c4YBCy5d.mjs} +40 -49
  152. package/dist/Pagination-c4YBCy5d.mjs.map +1 -0
  153. package/dist/Pagination.d.mts +1 -1
  154. package/dist/{Pii-DhL1gblz.mjs → Pii-oW_2TUUc.mjs} +2 -2
  155. package/dist/{Pii-DhL1gblz.mjs.map → Pii-oW_2TUUc.mjs.map} +1 -1
  156. package/dist/{PillShell-CVJL1k5I.d.mts → PillShell-BkYHghx0.d.mts} +2 -2
  157. package/dist/PillShell.d.mts +1 -1
  158. package/dist/{Popover-CbYaWrAy.mjs → Popover-BcII7usF.mjs} +3 -3
  159. package/dist/{Popover-CbYaWrAy.mjs.map → Popover-BcII7usF.mjs.map} +1 -1
  160. package/dist/{ProgressIndicator-CYyM6OSx.d.mts → ProgressIndicator-CdhC2LVI.d.mts} +1 -1
  161. package/dist/{ProgressIndicator-BpF3XLn3.mjs → ProgressIndicator-STyTM0Hq.mjs} +1 -1
  162. package/dist/{ProgressIndicator-BpF3XLn3.mjs.map → ProgressIndicator-STyTM0Hq.mjs.map} +1 -1
  163. package/dist/ProgressIndicator.d.mts +1 -1
  164. package/dist/{PseudoClassProps-BOVN6Etr.d.mts → PseudoClassProps-CverE9Ni.d.mts} +1 -1
  165. package/dist/PseudoClassProps.d.mts +1 -1
  166. package/dist/{Radio-DPaX-9LH.mjs → Radio-CHme6WTz.mjs} +2 -2
  167. package/dist/{Radio-DPaX-9LH.mjs.map → Radio-CHme6WTz.mjs.map} +1 -1
  168. package/dist/{RadioGroup-C0l0pdEt.d.mts → RadioGroup-CDEfCg-b.d.mts} +1 -1
  169. package/dist/{RadioGroup-D7f4m2Uc.mjs → RadioGroup-DOLRqHIZ.mjs} +2 -2
  170. package/dist/{RadioGroup-D7f4m2Uc.mjs.map → RadioGroup-DOLRqHIZ.mjs.map} +1 -1
  171. package/dist/RadioGroup.d.mts +1 -1
  172. package/dist/{RangeCalendar-BJn9V3iN.d.mts → RangeCalendar-BOt59kTG.d.mts} +2 -2
  173. package/dist/RangeCalendar.d.mts +1 -1
  174. package/dist/RangeCalendarPresets.d.mts +1 -1
  175. package/dist/{RouterContext-BLrzYlJ_.d.mts → RouterContext-D7HBESqO.d.mts} +2 -2
  176. package/dist/{RouterContext-CsPnkNdI.mjs → RouterContext-nPSb55p9.mjs} +1 -1
  177. package/dist/{RouterContext-CsPnkNdI.mjs.map → RouterContext-nPSb55p9.mjs.map} +1 -1
  178. package/dist/RouterContext.d.mts +1 -1
  179. package/dist/{RouterLink-BHXjhqps.d.mts → RouterLink-dppNWLgP.d.mts} +2 -2
  180. package/dist/RouterLink.d.mts +1 -1
  181. package/dist/RuleEditorFields.d.mts +2 -2
  182. package/dist/RulesPill.d.mts +1 -1
  183. package/dist/{SearchInput-Buh8LdIL.d.mts → SearchInput-B7JYHJZI.d.mts} +2 -2
  184. package/dist/SearchInput.d.mts +1 -1
  185. package/dist/SectionHeading.d.mts +1 -1
  186. package/dist/{SegmentedControl-B9qLyIIW.d.mts → SegmentedControl-C_7mTcuL.d.mts} +1 -1
  187. package/dist/{SegmentedControl-zEvBtVj0.mjs → SegmentedControl-d9tHqWce.mjs} +2 -2
  188. package/dist/{SegmentedControl-zEvBtVj0.mjs.map → SegmentedControl-d9tHqWce.mjs.map} +1 -1
  189. package/dist/SegmentedControl.d.mts +1 -1
  190. package/dist/{Select-BoZuM_e9.mjs → Select-Da6UZicF.mjs} +7 -7
  191. package/dist/{Select-BoZuM_e9.mjs.map → Select-Da6UZicF.mjs.map} +1 -1
  192. package/dist/{Select-Cv_9PLOt.d.mts → Select-Ek-A2Cpo.d.mts} +3 -3
  193. package/dist/Select.d.mts +1 -1
  194. package/dist/SingleColumnLayout-ByWxiD7d.d.mts +16 -0
  195. package/dist/SingleColumnLayout.d.mts +2 -16
  196. package/dist/SmartTextInput.d.mts +9 -9
  197. package/dist/SmartTextInputField.d.mts +2 -2
  198. package/dist/SmartTextInputFunctionDialog.d.mts +4 -4
  199. package/dist/SmartTextInputListbox.d.mts +2 -2
  200. package/dist/SmartTextInputPopover.d.mts +1 -1
  201. package/dist/{Spacer-BFOuo0sZ.mjs → Spacer-J_HuhxX2.mjs} +1 -1
  202. package/dist/{Spacer-BFOuo0sZ.mjs.map → Spacer-J_HuhxX2.mjs.map} +1 -1
  203. package/dist/{Spinner-CarSRiBF.mjs → Spinner-C4UyK9If.mjs} +1 -1
  204. package/dist/{Spinner-CarSRiBF.mjs.map → Spinner-C4UyK9If.mjs.map} +1 -1
  205. package/dist/SplitColumnLayout-DYyJabQ3.d.mts +19 -0
  206. package/dist/SplitColumnLayout.d.mts +2 -19
  207. package/dist/{Stack-CEPzs4Pb.mjs → Stack-BkC7FCdF.mjs} +1 -1
  208. package/dist/{Stack-CEPzs4Pb.mjs.map → Stack-BkC7FCdF.mjs.map} +1 -1
  209. package/dist/{Stack-XzBzPvSV.d.mts → Stack-D0Dt776K.d.mts} +1 -1
  210. package/dist/Stack.d.mts +1 -1
  211. package/dist/{StatusIndicator-bEnMWV_S.mjs → StatusIndicator-akDwBiBW.mjs} +1 -1
  212. package/dist/{StatusIndicator-bEnMWV_S.mjs.map → StatusIndicator-akDwBiBW.mjs.map} +1 -1
  213. package/dist/{Sticker-DGfNuxUK.d.mts → Sticker-Cit5EKiU.d.mts} +4 -4
  214. package/dist/{Sticker-B-fU8lgu.mjs → Sticker-_vmpUMfk.mjs} +3 -3
  215. package/dist/{Sticker-B-fU8lgu.mjs.map → Sticker-_vmpUMfk.mjs.map} +1 -1
  216. package/dist/Sticker.d.mts +1 -1
  217. package/dist/StringValueControl.d.mts +1 -1
  218. package/dist/Tab.d.mts +1 -1
  219. package/dist/{TabBar-BSl5v5aa.mjs → TabBar-CmYqreN0.mjs} +6 -9
  220. package/dist/TabBar-CmYqreN0.mjs.map +1 -0
  221. package/dist/{Table-B2V5tlfA.d.mts → Table-BtNYI6QX.d.mts} +1 -1
  222. package/dist/{Table-msXj0glu.mjs → Table-CV8nogHu.mjs} +4 -4
  223. package/dist/{Table-msXj0glu.mjs.map → Table-CV8nogHu.mjs.map} +1 -1
  224. package/dist/Table.d.mts +1 -1
  225. package/dist/{TableBody-SlQe4Jyp.d.mts → TableBody-DQ7pivxP.d.mts} +1 -1
  226. package/dist/TableBody.d.mts +1 -1
  227. package/dist/{TableBox-CF1_Fk0j.mjs → TableBox-vCTkOPlC.mjs} +10 -10
  228. package/dist/{TableBox-CF1_Fk0j.mjs.map → TableBox-vCTkOPlC.mjs.map} +1 -1
  229. package/dist/TableBox.d.mts +2 -2
  230. package/dist/{TableBoxCell-BRhGeUnO.d.mts → TableBoxCell-BkJ587Lf.d.mts} +6 -6
  231. package/dist/TableBoxCell.d.mts +1 -1
  232. package/dist/{TableBoxField-Cq9M1upV.d.mts → TableBoxField-Dj9Cx9NP.d.mts} +5 -5
  233. package/dist/TableBoxField.d.mts +1 -1
  234. package/dist/{TableBoxRow-DZzRYoID.d.mts → TableBoxRow-CpR9Cti1.d.mts} +3 -3
  235. package/dist/TableBoxRow.d.mts +1 -1
  236. package/dist/{TableBoxRowActions-4-j3flJq.d.mts → TableBoxRowActions-Bj-LZaI7.d.mts} +2 -2
  237. package/dist/TableBoxRowActions.d.mts +1 -1
  238. package/dist/{TableCell-D5Sqb6iO.d.mts → TableCell-DOjW6ADs.d.mts} +2 -2
  239. package/dist/TableCell.d.mts +1 -1
  240. package/dist/{TableControls-CqW_nyBY.mjs → TableControls-BtKBTGYR.mjs} +822 -388
  241. package/dist/TableControls-BtKBTGYR.mjs.map +1 -0
  242. package/dist/{TableControls-B-LakH-8.d.mts → TableControls-Cw7LDHWj.d.mts} +6 -3
  243. package/dist/TableControls.d.mts +1 -1
  244. package/dist/{TableControlsContext-Dh1YVmBM.d.mts → TableControlsContext-DgoZhMpQ.d.mts} +2 -2
  245. package/dist/TableControlsContext.d.mts +1 -1
  246. package/dist/{TableHead-BCrVa0BY.d.mts → TableHead-BGUg_aXc.d.mts} +1 -1
  247. package/dist/TableHead.d.mts +1 -1
  248. package/dist/{TableHeaderCell-CcEkDozs.d.mts → TableHeaderCell-DcZcMQyR.d.mts} +1 -1
  249. package/dist/TableHeaderCell.d.mts +1 -1
  250. package/dist/{TableLayout-Bhj1QBBz.d.mts → TableLayout-CwYQaZlA.d.mts} +1 -1
  251. package/dist/TableLayout.d.mts +1 -1
  252. package/dist/{TableRow-Cy1y7b9S.d.mts → TableRow-Dad6_CoD.d.mts} +2 -2
  253. package/dist/TableRow.d.mts +1 -1
  254. package/dist/TableTH.d.mts +1 -1
  255. package/dist/{TableViewConfigurationDropdown-BzygLtGm.d.mts → TableViewConfigurationDropdown-BGuWAarQ.d.mts} +2 -2
  256. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  257. package/dist/{TechnicalSticker-B6T7cHHc.mjs → TechnicalSticker-BhUxOU-L.mjs} +3 -3
  258. package/dist/{TechnicalSticker-B6T7cHHc.mjs.map → TechnicalSticker-BhUxOU-L.mjs.map} +1 -1
  259. package/dist/{Text-BdluS7Fy.mjs → Text-CSwFifQF.mjs} +1 -1
  260. package/dist/{Text-BdluS7Fy.mjs.map → Text-CSwFifQF.mjs.map} +1 -1
  261. package/dist/{Text-BVGJ-Nlw.d.mts → Text-CUhW_agW.d.mts} +3 -3
  262. package/dist/Text.d.mts +1 -1
  263. package/dist/{TextArea-Bzj593VO.d.mts → TextArea-Djd1uT3B.d.mts} +2 -2
  264. package/dist/{TextArea-C1CmFRiz.mjs → TextArea-J_EscGvm.mjs} +2 -2
  265. package/dist/{TextArea-C1CmFRiz.mjs.map → TextArea-J_EscGvm.mjs.map} +1 -1
  266. package/dist/TextArea.d.mts +1 -1
  267. package/dist/{TextUnderlineTooltip-CgFmtqF_.d.mts → TextUnderlineTooltip-DCVONTD0.d.mts} +2 -2
  268. package/dist/TextUnderlineTooltip.d.mts +1 -1
  269. package/dist/Tile.d.mts +1 -1
  270. package/dist/Toast.d.mts +1 -1
  271. package/dist/{Toggle-CntyMUPJ.mjs → Toggle-BEOoATjS.mjs} +4 -4
  272. package/dist/{Toggle-CntyMUPJ.mjs.map → Toggle-BEOoATjS.mjs.map} +1 -1
  273. package/dist/{Toggle-bSu1xAaq.d.mts → Toggle-EYpW34LO.d.mts} +1 -1
  274. package/dist/Toggle.d.mts +1 -1
  275. package/dist/{Tooltip-C0FuZS1C.mjs → Tooltip-B-0VRuKT.mjs} +2 -2
  276. package/dist/{Tooltip-C0FuZS1C.mjs.map → Tooltip-B-0VRuKT.mjs.map} +1 -1
  277. package/dist/{Tooltip-Duw4Fz1t.d.mts → Tooltip-DLK9Q2Rg.d.mts} +2 -2
  278. package/dist/Tooltip.d.mts +1 -1
  279. package/dist/{TruncatedText-CbTpX_R1.d.mts → TruncatedText-B_u70y6w.d.mts} +1 -1
  280. package/dist/VersionHistory.d.mts +1 -1
  281. package/dist/{VersionHistoryItem-D05QYej7.d.mts → VersionHistoryItem-iUabmk_y.d.mts} +1 -1
  282. package/dist/VersionHistoryItem.d.mts +1 -1
  283. package/dist/WizardModal.d.mts +2 -2
  284. package/dist/{accordionTitleTypography-Leehcmb3.d.mts → accordionTitleTypography-C7VVJvlx.d.mts} +2 -2
  285. package/dist/accordionTitleTypography.d.mts +1 -1
  286. package/dist/{chainTypes-D8SGRGba.d.mts → chainTypes-DT-9j_sG.d.mts} +4 -4
  287. package/dist/{codec-Vsztf4fe.d.mts → codec-CGj8cwcj.d.mts} +2 -2
  288. package/dist/codec.d.mts +1 -1
  289. package/dist/{color-CrlF3pba.d.mts → color-BOm5A1Si.d.mts} +2 -2
  290. package/dist/components/Accordion/index.d.mts +1 -1
  291. package/dist/components/Accordion/index.mjs +2 -2
  292. package/dist/components/Attribute/index.mjs +4 -4
  293. package/dist/components/Badge/index.mjs +1 -1
  294. package/dist/components/Banner/index.mjs +1 -1
  295. package/dist/components/BottomPanel/index.mjs +3 -3
  296. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  297. package/dist/components/Breadcrumbs/index.mjs +1 -1
  298. package/dist/components/Button/index.d.mts +2 -2
  299. package/dist/components/Button/index.mjs +1 -1
  300. package/dist/components/ButtonGroup/index.mjs +2 -2
  301. package/dist/components/Card/index.d.mts +2 -2
  302. package/dist/components/Card/index.mjs +1 -1
  303. package/dist/components/CardV2/index.d.mts +1 -1
  304. package/dist/components/CardV2/index.mjs +1 -1
  305. package/dist/components/Checkbox/index.d.mts +1 -1
  306. package/dist/components/Checkbox/index.mjs +1 -1
  307. package/dist/components/CodeHighlight/index.mjs +2 -2
  308. package/dist/components/Combobox/index.d.mts +2 -2
  309. package/dist/components/Combobox/index.mjs +1 -1
  310. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  311. package/dist/components/DataTable/TableControls/index.d.mts +20 -20
  312. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  313. package/dist/components/DataTable/index.d.mts +2 -2
  314. package/dist/components/DataTable/index.mjs +83 -60
  315. package/dist/components/DataTable/index.mjs.map +1 -1
  316. package/dist/components/DataTable/types.d.mts +9 -2
  317. package/dist/components/DatePicker/index.d.mts +5 -5
  318. package/dist/components/DatePicker/index.mjs +1 -1
  319. package/dist/components/DropdownButton/index.mjs +1 -1
  320. package/dist/components/DropdownMenu/index.d.mts +1 -1
  321. package/dist/components/DropdownMenu/index.mjs +1 -1
  322. package/dist/components/FloatingPanel/index.mjs +3 -3
  323. package/dist/components/FormControl/index.d.mts +2 -2
  324. package/dist/components/FormControl/index.mjs +2 -2
  325. package/dist/components/FormField/index.d.mts +5 -5
  326. package/dist/components/FormField/index.mjs +1 -1
  327. package/dist/components/Grid/index.mjs +1 -1
  328. package/dist/components/HoverCopyableField/index.mjs +1 -1
  329. package/dist/components/ImageTile/index.mjs +7 -7
  330. package/dist/components/Input/index.d.mts +1 -1
  331. package/dist/components/Input/index.mjs +1 -1
  332. package/dist/components/Link/index.mjs +1 -1
  333. package/dist/components/ListBox/index.d.mts +3 -3
  334. package/dist/components/ListBox/index.mjs +1 -1
  335. package/dist/components/LoadingShimmer/index.mjs +1 -1
  336. package/dist/components/MaskedInput/index.mjs +1 -1
  337. package/dist/components/Menu/index.d.mts +1 -1
  338. package/dist/components/Menu/index.mjs +1 -1
  339. package/dist/components/Modal/index.d.mts +1 -1
  340. package/dist/components/Modal/index.mjs +1 -1
  341. package/dist/components/PageHeader/index.mjs +1 -1
  342. package/dist/components/Pagination/index.d.mts +3 -3
  343. package/dist/components/Pagination/index.mjs +1 -1
  344. package/dist/components/Pii/index.mjs +1 -1
  345. package/dist/components/Popover/index.mjs +1 -1
  346. package/dist/components/ProgressBar/index.mjs +1 -1
  347. package/dist/components/ProgressIndicator/index.d.mts +1 -1
  348. package/dist/components/ProgressIndicator/index.mjs +1 -1
  349. package/dist/components/Radio/index.mjs +1 -1
  350. package/dist/components/RadioGroup/index.d.mts +1 -1
  351. package/dist/components/RadioGroup/index.mjs +1 -1
  352. package/dist/components/RightPanel/index.mjs +4 -4
  353. package/dist/components/SegmentedControl/index.d.mts +1 -1
  354. package/dist/components/SegmentedControl/index.mjs +1 -1
  355. package/dist/components/Select/index.d.mts +1 -1
  356. package/dist/components/Select/index.mjs +1 -1
  357. package/dist/components/Slider/index.mjs +1 -1
  358. package/dist/components/SmartTextInput/index.d.mts +2 -2
  359. package/dist/components/SmartTextInput/index.mjs +8 -8
  360. package/dist/components/SmartTextInput/index.mjs.map +1 -1
  361. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +1 -1
  362. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +2 -2
  363. package/dist/components/Spacer/index.mjs +1 -1
  364. package/dist/components/Spinner/index.mjs +1 -1
  365. package/dist/components/Stack/index.d.mts +1 -1
  366. package/dist/components/Stack/index.mjs +1 -1
  367. package/dist/components/StatusIndicator/index.mjs +1 -1
  368. package/dist/components/Sticker/index.d.mts +1 -1
  369. package/dist/components/Sticker/index.mjs +1 -1
  370. package/dist/components/TabBar/index.mjs +1 -1
  371. package/dist/components/Table/index.d.mts +8 -8
  372. package/dist/components/Table/index.mjs +1 -1
  373. package/dist/components/TableBox/index.d.mts +2 -2
  374. package/dist/components/TableBox/index.mjs +1 -1
  375. package/dist/components/TechnicalSticker/index.mjs +1 -1
  376. package/dist/components/Text/index.d.mts +1 -1
  377. package/dist/components/Text/index.mjs +1 -1
  378. package/dist/components/TextArea/index.d.mts +1 -1
  379. package/dist/components/TextArea/index.mjs +1 -1
  380. package/dist/components/Tile/index.mjs +4 -4
  381. package/dist/components/Toast/index.mjs +1 -1
  382. package/dist/components/Toggle/index.d.mts +1 -1
  383. package/dist/components/Toggle/index.mjs +1 -1
  384. package/dist/components/Tooltip/index.d.mts +3 -3
  385. package/dist/components/Tooltip/index.mjs +1 -1
  386. package/dist/components/VersionHistory/index.d.mts +1 -1
  387. package/dist/components/VersionHistory/index.mjs +8 -8
  388. package/dist/compound-expression.d.mts +1 -1
  389. package/dist/{constants-CQUCM6__.d.mts → constants-CwzbyAdc.d.mts} +1 -1
  390. package/dist/constants.d.mts +1 -1
  391. package/dist/{createPath-Bq7wYGt_.d.mts → createPath-C4jIHe68.d.mts} +2 -2
  392. package/dist/createPath.d.mts +1 -1
  393. package/dist/{date-filter-D6IfCkwp.mjs → date-filter-B8PKh5vg.mjs} +1 -1
  394. package/dist/{date-filter-D6IfCkwp.mjs.map → date-filter-B8PKh5vg.mjs.map} +1 -1
  395. package/dist/{date-range-rule-value-DVhMQP4-.d.mts → date-range-rule-value-BTlHwhVf.d.mts} +2 -2
  396. package/dist/date-range-rule-value.d.mts +1 -1
  397. package/dist/{date-rule-intent-BwQ6OTVD.d.mts → date-rule-intent-zdKP-tW_.d.mts} +3 -3
  398. package/dist/date-rule-intent.d.mts +1 -1
  399. package/dist/display.d.mts +12 -4
  400. package/dist/fieldPickerOptions.d.mts +5 -3
  401. package/dist/{filter-size-context-BjTzcZwZ.d.mts → filter-size-context-D3ZSzFKe.d.mts} +2 -2
  402. package/dist/filter-size-context.d.mts +1 -1
  403. package/dist/format-date-value.d.mts +6 -1
  404. package/dist/formatDateTime-zyRMjfH8.d.mts +30 -0
  405. package/dist/formatDateTime.d.mts +2 -0
  406. package/dist/helpers.d.mts +24 -10
  407. package/dist/i18n-DeJa-arS.mjs +209 -0
  408. package/dist/i18n-DeJa-arS.mjs.map +1 -0
  409. package/dist/{index-C-xpEL8b.d.mts → index-B13LwAGD.d.mts} +2 -2
  410. package/dist/{index-BFIFjR7Q.d.mts → index-B7KIL3U6.d.mts} +2 -2
  411. package/dist/{index-BhDvrF4l.d.mts → index-DHmZDtDG.d.mts} +3 -3
  412. package/dist/index-sViox9YW.d.mts +1 -0
  413. package/dist/index-xAZnxq0d2.d.mts +1 -0
  414. package/dist/index.d.mts +1 -1
  415. package/dist/index2.d.mts +1 -1
  416. package/dist/index3.d.mts +3 -3
  417. package/dist/index4.d.mts +1 -1
  418. package/dist/index5.d.mts +15 -15
  419. package/dist/{input-DpHBIUpP.d.mts → input-DMPo8gRT.d.mts} +3 -3
  420. package/dist/{inputFields-BVDurw3L.d.mts → inputFields-DHdFgzS2.d.mts} +11 -11
  421. package/dist/inputFields.d.mts +1 -1
  422. package/dist/{intersperse-bvY2gibK.mjs → intersperse-DWUGtKug.mjs} +1 -1
  423. package/dist/{intersperse-bvY2gibK.mjs.map → intersperse-DWUGtKug.mjs.map} +1 -1
  424. package/dist/{jsonSchema-Bl-qzgrr.d.mts → jsonSchema-6mcLrVG3.d.mts} +1 -1
  425. package/dist/lib/PDSProvider.d.mts +14 -2
  426. package/dist/lib/PDSProvider.mjs +15 -8
  427. package/dist/lib/PDSProvider.mjs.map +1 -1
  428. package/dist/lib/TruncatedText.d.mts +1 -1
  429. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  430. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  431. package/dist/lib/chainTypes.d.mts +1 -1
  432. package/dist/lib/color.d.mts +1 -1
  433. package/dist/lib/customFunctionSchema.d.mts +1 -1
  434. package/dist/lib/date-filter/index.d.mts +2 -2
  435. package/dist/lib/date-filter/index.mjs +1 -1
  436. package/dist/lib/i18n/index.d.mts +4 -0
  437. package/dist/lib/i18n/index.mjs +2 -0
  438. package/dist/lib/jsonSchema.d.mts +1 -1
  439. package/dist/lib/jsonSchemaType.d.mts +1 -1
  440. package/dist/lib/message.d.mts +1 -1
  441. package/dist/lib/methodChain.d.mts +2 -2
  442. package/dist/lib/methodChain.mjs +1 -1
  443. package/dist/lib/methodChainNormalize.d.mts +2 -2
  444. package/dist/lib/methodChainTypes.d.mts +1 -1
  445. package/dist/lib/objectSchemaTypes.d.mts +1 -1
  446. package/dist/lib/platformObject.d.mts +1 -1
  447. package/dist/lib/pseudoClass.d.mts +1 -1
  448. package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
  449. package/dist/lib/router/adapters/reactRouter.mjs +1 -1
  450. package/dist/lib/router/adapters/tanstack.d.mts +1 -1
  451. package/dist/lib/router/adapters/tanstack.mjs +1 -1
  452. package/dist/lib/router/index.d.mts +5 -5
  453. package/dist/lib/router/index.mjs +2 -2
  454. package/dist/lib/schemaOptions.d.mts +1 -1
  455. package/dist/lib/schemaOptions.mjs +1 -1
  456. package/dist/lib/semanticColor.d.mts +1 -1
  457. package/dist/lib/useChain.d.mts +1 -1
  458. package/dist/lib/useChain.mjs +1 -1
  459. package/dist/{listbox-options-BjOkovND.d.mts → listbox-options-yLjqZp4H.d.mts} +3 -3
  460. package/dist/listbox-options.d.mts +1 -1
  461. package/dist/{message-w_1-kTDE.d.mts → message-C5n7wFiN.d.mts} +1 -1
  462. package/dist/{methodChain-B5vZEOff.d.mts → methodChain-BNDytoaD.d.mts} +4 -4
  463. package/dist/{methodChain-L_h8Z8Bx.mjs → methodChain-xZ1_vhbz.mjs} +1 -1
  464. package/dist/{methodChain-L_h8Z8Bx.mjs.map → methodChain-xZ1_vhbz.mjs.map} +1 -1
  465. package/dist/{methodChainTypes-BVkTI8MX.d.mts → methodChainTypes-BuwpPC73.d.mts} +2 -2
  466. package/dist/mixins/focus.d.mts +1 -1
  467. package/dist/mixins/hoverable.d.mts +2 -2
  468. package/dist/mixins/input.d.mts +1 -1
  469. package/dist/mixins/menuItem.d.mts +2 -2
  470. package/dist/mixins/scrollbar.d.mts +1 -1
  471. package/dist/mixins/text.d.mts +1 -1
  472. package/dist/{operators-BG82-g3M.d.mts → operators-B12UYEsV.d.mts} +18 -11
  473. package/dist/operators.d.mts +2 -2
  474. package/dist/{palette-C8tyI81D.d.mts → palette-BCszfY7I.d.mts} +3 -3
  475. package/dist/palette.d.mts +1 -1
  476. package/dist/patterns/CardGrouping/index.d.mts +2 -0
  477. package/dist/patterns/CardGrouping/index.mjs +280 -0
  478. package/dist/patterns/CardGrouping/index.mjs.map +1 -0
  479. package/dist/patterns/LayoutLoadingShimmer/index.mjs +5 -5
  480. package/dist/patterns/PageLayout/index.d.mts +5 -5
  481. package/dist/patterns/PageLayout/index.mjs +1 -131
  482. package/dist/patterns/WizardModal/index.mjs +4 -4
  483. package/dist/reactRouterFallback.d.mts +1 -1
  484. package/dist/relative-date-label.d.mts +1 -1
  485. package/dist/{router-7FYDW80v.mjs → router-COrZcVkf.mjs} +2 -2
  486. package/dist/{router-7FYDW80v.mjs.map → router-COrZcVkf.mjs.map} +1 -1
  487. package/dist/safe-parse.d.mts +1 -1
  488. package/dist/{schemaOptions-DGca6x7E.d.mts → schemaOptions-DBOUChxi.d.mts} +3 -3
  489. package/dist/{semantic-D1661f_6.d.mts → semantic-Duoh2Pxp.d.mts} +1 -1
  490. package/dist/{semanticColor-Bg0H3RUL.d.mts → semanticColor-BuG977_M.d.mts} +3 -3
  491. package/dist/strings-DQ3vxBj8.d.mts +149 -0
  492. package/dist/strings.d.mts +2 -0
  493. package/dist/{text-Iw9DKpbZ.d.mts → text-B7hx6G99.d.mts} +1 -1
  494. package/dist/{theme-BB1B6Wkz.d.mts → theme-BKg55Zk1.d.mts} +3 -3
  495. package/dist/theme.d.mts +1 -1
  496. package/dist/tone.d.mts +3 -3
  497. package/dist/tree.d.mts +1 -1
  498. package/dist/{types-M-rsm1Km.d.mts → types-4wnr5R9P.d.mts} +1 -1
  499. package/dist/{types-CI2bPi02.d.mts → types-6QeQmbFm.d.mts} +1 -1
  500. package/dist/{types-DZTbvdpO.d.mts → types-BjMJFNYH.d.mts} +1 -1
  501. package/dist/{types-Cs6CdZCO.d.mts → types-CEQWndtF.d.mts} +4 -4
  502. package/dist/{types-Dy3lZv9z.d.mts → types-CM8L7-ij.d.mts} +31 -9
  503. package/dist/{types-D1DijcJv.d.mts → types-CgKSEQyB.d.mts} +1 -1
  504. package/dist/{types-DdTu747j.d.mts → types-CwzwClJx.d.mts} +1 -1
  505. package/dist/{types-BYRTxB0a.d.mts → types-VgGkS4JB.d.mts} +2 -2
  506. package/dist/{types-B0ilOIfE.d.mts → types-eemD0jxb.d.mts} +2 -2
  507. package/dist/types.d.mts +1 -1
  508. package/dist/types2.d.mts +1 -1
  509. package/dist/types3.d.mts +1 -1
  510. package/dist/types4.d.mts +2 -2
  511. package/dist/types5.d.mts +1 -1
  512. package/dist/types6.d.mts +1 -1
  513. package/dist/types7.d.mts +1 -1
  514. package/dist/{url-state-DWA7UFxS.d.mts → url-state-BW1mN6WQ.d.mts} +2 -2
  515. package/dist/url-state.d.mts +1 -1
  516. package/dist/{useChain-CEsXE2Bx.d.mts → useChain-BreIP4fW.d.mts} +6 -6
  517. package/dist/{useChain-CKqYGdx4.mjs → useChain-Cu4KDfFk.mjs} +2 -2
  518. package/dist/{useChain-CKqYGdx4.mjs.map → useChain-Cu4KDfFk.mjs.map} +1 -1
  519. package/dist/useChainAtCursor.d.mts +6 -6
  520. package/dist/useCodeChainFunctionPanel.d.mts +1 -1
  521. package/dist/useComboboxFooterAction.d.mts +5 -2
  522. package/dist/{useFilterStateV2-DoJ9lyJx.d.mts → useFilterStateV2-B8VebPBe.d.mts} +5 -4
  523. package/dist/useFilterStateV2.d.mts +1 -1
  524. package/dist/{useFormField-BtnAYcHV.d.mts → useFormField-DAwApAKK.d.mts} +2 -2
  525. package/dist/{useFormField-BAmkdxtA.mjs → useFormField-J0LiPcpm.mjs} +2 -2
  526. package/dist/{useFormField-BAmkdxtA.mjs.map → useFormField-J0LiPcpm.mjs.map} +1 -1
  527. package/dist/useFormField.d.mts +1 -1
  528. package/dist/{useFormGroup-BZayb9fZ.mjs → useFormGroup-CALbrUkl.mjs} +1 -1
  529. package/dist/{useFormGroup-BZayb9fZ.mjs.map → useFormGroup-CALbrUkl.mjs.map} +1 -1
  530. package/dist/{useLocationPathname-pLyLOrAi.d.mts → useLocationPathname-BHL0pgiu.d.mts} +1 -1
  531. package/dist/useLocationPathname.d.mts +1 -1
  532. package/dist/{useTableBoxDragAndDrop-wjc_LCpC.d.mts → useTableBoxDragAndDrop-Dq30b6yY.d.mts} +1 -1
  533. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  534. package/dist/{useToggle-DUHQjohK.mjs → useToggle-DRzCDqrc.mjs} +1 -1
  535. package/dist/{useToggle-DUHQjohK.mjs.map → useToggle-DRzCDqrc.mjs.map} +1 -1
  536. package/dist/useTruncation.d.mts +1 -1
  537. package/dist/{utilities-DL18UdPs.d.mts → utilities-B2ry7_20.d.mts} +1 -1
  538. package/dist/utilities.d.mts +1 -1
  539. package/dist/utils/storybook.mjs +1 -1
  540. package/dist/utils/testing.d.mts +1 -1
  541. package/dist/utils.d.mts +1 -1
  542. package/dist/utils4.d.mts +5 -5
  543. package/dist/{validation-PeVTwtd-.d.mts → validation-ZHnFPRP6.d.mts} +3 -3
  544. package/dist/validation.d.mts +1 -1
  545. package/dist/validation2.d.mts +4 -4
  546. package/dist/{value-control-resolver-Cx_wXQFv.d.mts → value-control-resolver-D3qzy8Kk.d.mts} +2 -2
  547. package/dist/value-control-resolver.d.mts +1 -1
  548. package/dist/variables/effect.d.mts +1 -1
  549. package/dist/variables/semantic.d.mts +1 -1
  550. package/llms.txt +2 -1
  551. package/package.json +7 -3
  552. package/skills/ui-authoring/COMPONENTS.md +2 -0
  553. package/skills/ui-authoring/PATTERNS.md +7 -2
  554. package/skills/ui-authoring/SKILL.md +23 -0
  555. package/dist/Combobox-CCDoNF9Y.mjs.map +0 -1
  556. package/dist/DatePicker-LPIJrc0n.mjs.map +0 -1
  557. package/dist/Pagination-6BDOn9bX.mjs.map +0 -1
  558. package/dist/TabBar-BSl5v5aa.mjs.map +0 -1
  559. package/dist/TableControls-CqW_nyBY.mjs.map +0 -1
  560. package/dist/patterns/PageLayout/index.mjs.map +0 -1
  561. /package/dist/{index-BCq_fh4A2.d.mts → index-8SLBz2NH.d.mts} +0 -0
  562. /package/dist/{index-BINnViIh.d.mts → index-B24gUwOx.d.mts} +0 -0
  563. /package/dist/{index-BMBcfD_R.d.mts → index-B8M0Grl_2.d.mts} +0 -0
  564. /package/dist/{index-BOn0AAue.d.mts → index-BFnNtGdX.d.mts} +0 -0
  565. /package/dist/{index-BcsXXrHq.d.mts → index-BTviwbFV.d.mts} +0 -0
  566. /package/dist/{index-BwXb5CoQ.d.mts → index-BwFl_eS0.d.mts} +0 -0
  567. /package/dist/{index-C9achTF6.d.mts → index-C3kE54DD.d.mts} +0 -0
  568. /package/dist/{index-CCKHlTA4.d.mts → index-C6HcjJiY.d.mts} +0 -0
  569. /package/dist/{index-CFuHCx9T.d.mts → index-CSf15oCd.d.mts} +0 -0
  570. /package/dist/{index-CWB6exYm.d.mts → index-CX869wwk.d.mts} +0 -0
  571. /package/dist/{index-CryTAIZM.d.mts → index-CXaDbCtw.d.mts} +0 -0
  572. /package/dist/{index-CuYZJcK3.d.mts → index-D4DUvwPf.d.mts} +0 -0
  573. /package/dist/{index-CuheJfs-.d.mts → index-DB7t8whN.d.mts} +0 -0
  574. /package/dist/{index-D-9tW2r5.d.mts → index-DhiymMxa.d.mts} +0 -0
  575. /package/dist/{index-D9XihFV1.d.mts → index-DvwPIy8X.d.mts} +0 -0
  576. /package/dist/{index-Dflz2i1X.d.mts → index-Oio5ygqN.d.mts} +0 -0
  577. /package/dist/{index-DrK1_jKY.d.mts → index-Wc1llEvP.d.mts} +0 -0
  578. /package/dist/{index-Iujpc9_6.d.mts → index-bHnO4ZKt.d.mts} +0 -0
  579. /package/dist/{index-e6k85DKM.d.mts → index-dzI_9J-Z.d.mts} +0 -0
  580. /package/dist/{index-irNqT1qQ2.d.mts → index-lIMqGGJz.d.mts} +0 -0
  581. /package/dist/{index-xmouCHX9.d.mts → index-luywJTzJ.d.mts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,65 @@
1
+ ## 0.9.0 (2026-10-15)
2
+
3
+ ### Features
4
+
5
+ - **design-system:** add CardGrouping pattern
6
+ - ⚠️ **design-system:** support configurable Filter V2 conditions
7
+ - **combobox:** support per-option disabled reasons in single select
8
+
9
+ ### Bug Fixes
10
+
11
+ - **design-system:** keep saved-view tabs in place when hiding and reorder narrow tabs ([#396](https://github.com/persona-id/persona-design-system/pull/396))
12
+
13
+ ### ⚠️ Breaking Changes
14
+
15
+ - **design-system:** support configurable Filter V2 conditions
16
+ FilterOperator includes numeric comparisons and custom operator identifiers; exhaustive consumer maps and switches must handle the expanded union.
17
+
18
+ ### 🧱 Updated Dependencies
19
+
20
+ - Updated design-tokens to 0.4.18
21
+ - Updated icons to 0.1.7
22
+
23
+ ## 0.8.2 (2026-10-11)
24
+
25
+ ### Features
26
+
27
+ - **design-system:** localize table chrome via PDSProvider strings ([#393](https://github.com/persona-id/persona-design-system/pull/393))
28
+ - **design-system:** let users hide and reorder saved view tabs ([#389](https://github.com/persona-id/persona-design-system/pull/389))
29
+ - **workflows:** remove Personerd gating from custom chain functions
30
+ - **smart-text-input:** fold SmartTextInputTableBoxCell into SmartTextInputField
31
+ - 🎸 add support for CCF panel to smart input
32
+ - 🎸 support popoverFooter in smart input props
33
+ - 🎸 support ccf dialog in smart input
34
+ - 🎸 clicking custom function span in smart input opens dialog
35
+ - 🎸 always allow link clicks in SmartTextInput
36
+ - 🎸 set assumeOnNextLink when clicking to end of chains
37
+ - 🎸 assume next link in smart input when cursor after function parens
38
+ - 🎸 update SmartTextInput chain naming
39
+ - 🎸 allow customizing SmartTextInput context menu
40
+ - 🎸 properly support custom functions in SmartTextInput
41
+ - 🎸 add loading handling to SmartTextInput
42
+ - 🎸 forward useChainRootDescriptions in SmartTextInput
43
+ - 🎸 update SmartTextInput to pass schema and AST in onChange
44
+ - 🎸 add LayoutSmartTextInput and use in data display
45
+ - 🎸 pass valueType in onChange of SmartTextInput
46
+ - 🎸 add SmartTextInputField
47
+ - 🎸 add SmartTextInput component
48
+ - 🎸 add SmartTextInput popover components
49
+
50
+ ### Bug Fixes
51
+
52
+ - **filtersv2:** fit minute date ranges across timezones ([#392](https://github.com/persona-id/persona-design-system/pull/392))
53
+ - **design-system:** file the SmartTextInputField story under FormField
54
+ - **design-system:** file SmartTextInput stories under the design system sidebar
55
+ - **search-input:** stop stale upstream value clobbering in-flight typing
56
+ - **design-system:** keep SmartTextInput schema fixtures out of the Storybook Code panel
57
+ - **design-system:** restore the SmartTextInputField stories meta render wrapper
58
+ - 🐛 add error message for common syntax error in SmartTextInput
59
+ - 🐛 pass function schemas correctly in SmartTextInput
60
+ - 🐛 prevent SmartTextInput changing value type when it should not
61
+ - 🐛 wireup portalling for SmartTextInput popover
62
+
1
63
  ## 0.8.1 (2026-10-08)
2
64
 
3
65
  ### Features
@@ -1,4 +1,4 @@
1
- import { n as AccordionTitleTypography, t as AccordionSize } from "./accordionTitleTypography-Leehcmb3.mjs";
1
+ import { n as AccordionTitleTypography, t as AccordionSize } from "./accordionTitleTypography-C7VVJvlx.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-Leehcmb3.mjs";
1
+ import { n as AccordionTitleTypography, t as AccordionSize } from "./accordionTitleTypography-C7VVJvlx.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-Duw4Fz1t.mjs";
2
- import { t as RequireOneOf } from "./utilities-DL18UdPs.mjs";
1
+ import { n as Tooltip } from "./Tooltip-DLK9Q2Rg.mjs";
2
+ import { t as RequireOneOf } from "./utilities-B2ry7_20.mjs";
3
3
  import { ComponentProps, ComponentPropsWithoutRef, ReactElement } from "react";
4
4
 
5
5
  //#region 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-BwYS9qaG.d.mts.map
35
+ //# sourceMappingURL=Action-DcK0fRrq.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-BwYS9qaG.mjs";
1
+ import { i as TextAction, n as IconAction, r as MenuAction, t as Action } from "./Action-DcK0fRrq.mjs";
2
2
  export { Action, IconAction, MenuAction, TextAction };
@@ -1,5 +1,5 @@
1
- import { a as FilterField, c as FilterOperator, d as FilterRuleValueChange, f as FilterSize, l as FilterRule, u as FilterRuleValue } from "./types-Dy3lZv9z.mjs";
2
- import { t as FieldRegistry } from "./FieldRegistry-DqO8HiYb.mjs";
1
+ import { d as FilterRuleValue, f as FilterRuleValueChange, l as FilterOperator, o as FilterField, p as FilterSize, u as FilterRule } from "./types-CM8L7-ij.mjs";
2
+ import { t as FieldRegistry } from "./FieldRegistry-B7P4wC7y.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 { a as FilterField, c as FilterOperator, d as FilterRuleValueChange, f as FilterSize, l as FilterRule, n as CompoundExpression, u as FilterRuleValue } from "./types-Dy3lZv9z.mjs";
2
- import { t as FieldRegistry } from "./FieldRegistry-DqO8HiYb.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-CM8L7-ij.mjs";
2
+ import { t as FieldRegistry } from "./FieldRegistry-B7P4wC7y.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-B0ilOIfE.mjs";
1
+ import { t as ValueControlProps } from "./types-eemD0jxb.mjs";
2
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region components/DataTable/TableControls/FiltersV2/value-controls/ArrayValueControl/ArrayValueControl.d.ts
@@ -1,6 +1,6 @@
1
- import { i as ParagraphSize } from "./text-Iw9DKpbZ.mjs";
2
- import { c as ParagraphProps, u as SpanProps } from "./Text-BVGJ-Nlw.mjs";
3
- import { t as MaybeSemanticTheme } from "./semanticColor-Bg0H3RUL.mjs";
1
+ import { i as ParagraphSize } from "./text-B7hx6G99.mjs";
2
+ import { c as ParagraphProps, u as SpanProps } from "./Text-CUhW_agW.mjs";
3
+ import { t as MaybeSemanticTheme } from "./semanticColor-BuG977_M.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,5 +1,5 @@
1
1
  import { a as styled, r as css } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
- import { n as Sticker } from "./Sticker-B-fU8lgu.mjs";
2
+ import { n as Sticker } from "./Sticker-_vmpUMfk.mjs";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region components/Badge/Badge.tsx
5
5
  const Badge = styled(({ variant, ...rest }) => {
@@ -28,4 +28,4 @@ const Badge = styled(({ variant, ...rest }) => {
28
28
  //#endregion
29
29
  export { Badge as t };
30
30
 
31
- //# sourceMappingURL=Badge-D-5tbZDw.mjs.map
31
+ //# sourceMappingURL=Badge-DLuyKRCQ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge-D-5tbZDw.mjs","names":[],"sources":["../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-DLuyKRCQ.mjs","names":[],"sources":["../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,4 +1,4 @@
1
- import { t as ValueControlProps } from "./types-B0ilOIfE.mjs";
1
+ import { t as ValueControlProps } from "./types-eemD0jxb.mjs";
2
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region components/DataTable/TableControls/FiltersV2/value-controls/BooleanValueControl/BooleanValueControl.d.ts
@@ -49,4 +49,4 @@ declare const Breadcrumb: ({
49
49
  }: BreadcrumbProps) => _$react_jsx_runtime0.JSX.Element;
50
50
  //#endregion
51
51
  export { BreadcrumbSize as i, BreadcrumbHeadingAs as n, BreadcrumbProps as r, Breadcrumb as t };
52
- //# sourceMappingURL=Breadcrumb-BADja8tn.d.mts.map
52
+ //# sourceMappingURL=Breadcrumb-CEHEUe8l.d.mts.map
@@ -1,2 +1,2 @@
1
- import { i as BreadcrumbSize, n as BreadcrumbHeadingAs, r as BreadcrumbProps, t as Breadcrumb } from "./Breadcrumb-BADja8tn.mjs";
1
+ import { i as BreadcrumbSize, n as BreadcrumbHeadingAs, r as BreadcrumbProps, t as Breadcrumb } from "./Breadcrumb-CEHEUe8l.mjs";
2
2
  export { BreadcrumbHeadingAs, BreadcrumbProps, BreadcrumbSize, Breadcrumb as default };
@@ -1,16 +1,16 @@
1
1
  import { a as styled, r as css } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
- import { n as RouterLink } from "./router-7FYDW80v.mjs";
2
+ import { n as RouterLink } from "./router-COrZcVkf.mjs";
3
3
  import { semanticColor } from "./lib/semanticColor.mjs";
4
4
  import { paragraphMixins } from "./mixins/text.mjs";
5
- import { i as Paragraph } from "./Text-BdluS7Fy.mjs";
5
+ import { i as Paragraph } from "./Text-CSwFifQF.mjs";
6
6
  import "./variables/transitions.mjs";
7
- import { a as Tooltip } from "./Tooltip-C0FuZS1C.mjs";
7
+ import { a as Tooltip } from "./Tooltip-B-0VRuKT.mjs";
8
8
  import { focusOutline } from "./mixins/focus.mjs";
9
- import { t as HStack } from "./Stack-CEPzs4Pb.mjs";
10
- import { t as IconButton } from "./IconButton-BHFCjvzs.mjs";
11
- import { t as intersperse } from "./intersperse-bvY2gibK.mjs";
9
+ import { t as HStack } from "./Stack-BkC7FCdF.mjs";
10
+ import { t as IconButton } from "./IconButton-Cqxfmrea.mjs";
11
+ import { t as intersperse } from "./intersperse-DWUGtKug.mjs";
12
12
  import Input_default from "./components/Input/index.mjs";
13
- import { t as TechnicalSticker } from "./TechnicalSticker-B6T7cHHc.mjs";
13
+ import { t as TechnicalSticker } from "./TechnicalSticker-BhUxOU-L.mjs";
14
14
  import { Spacing } from "@persona/design-tokens";
15
15
  import { useEffect, useRef, useState } from "react";
16
16
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -303,4 +303,4 @@ const Breadcrumbs = ({ items, size = "md", headingAs = "h1", "aria-label": ariaL
303
303
  //#endregion
304
304
  export { Breadcrumbs as t };
305
305
 
306
- //# sourceMappingURL=Breadcrumbs-CNpM0aXm.mjs.map
306
+ //# sourceMappingURL=Breadcrumbs-B8aXFPdV.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs-CNpM0aXm.mjs","names":["Input"],"sources":["../components/Breadcrumbs/Breadcrumb.tsx","../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 { 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\nconst CrumbRow = styled(HStack)`\n align-items: center;\n min-width: 0;\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 inlineActions = !isEditing && (showCopyAction || onEdit) && (\n <HStack spacing={ACTION_BUTTON_GAP} align='center'>\n {onEdit && (\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 </HStack>\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 {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 {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 {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} 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 BreadcrumbList = styled.ol`\n max-width: 100%;\n display: flex;\n flex-wrap: wrap;\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 display: flex;\n align-items: center;\n min-width: 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\n return (\n <BreadcrumbListItem\n key={`${item.label}-${index}`}\n aria-current={isCurrent ? 'page' : undefined}\n >\n <Breadcrumb {...item} size={size} current={isCurrent} headingAs={headingAs} />\n </BreadcrumbListItem>\n );\n });\n\n const listItems = intersperse(crumbNodes, (separatorIndex: number) => (\n <BreadcrumbListItem key={`separator-${separatorIndex}`} aria-hidden='true'>\n <Separator $size={size}>/</Separator>\n </BreadcrumbListItem>\n ));\n\n return (\n <nav aria-label={ariaLabel} className={className}>\n <BreadcrumbList>{listItems}</BreadcrumbList>\n </nav>\n );\n};\n\nexport default Breadcrumbs;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs-B8aXFPdV.mjs","names":["Input"],"sources":["../components/Breadcrumbs/Breadcrumb.tsx","../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 { 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\nconst CrumbRow = styled(HStack)`\n align-items: center;\n min-width: 0;\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 inlineActions = !isEditing && (showCopyAction || onEdit) && (\n <HStack spacing={ACTION_BUTTON_GAP} align='center'>\n {onEdit && (\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 </HStack>\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 {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 {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 {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} 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 BreadcrumbList = styled.ol`\n max-width: 100%;\n display: flex;\n flex-wrap: wrap;\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 display: flex;\n align-items: center;\n min-width: 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\n return (\n <BreadcrumbListItem\n key={`${item.label}-${index}`}\n aria-current={isCurrent ? 'page' : undefined}\n >\n <Breadcrumb {...item} size={size} current={isCurrent} headingAs={headingAs} />\n </BreadcrumbListItem>\n );\n });\n\n const listItems = intersperse(crumbNodes, (separatorIndex: number) => (\n <BreadcrumbListItem key={`separator-${separatorIndex}`} aria-hidden='true'>\n <Separator $size={size}>/</Separator>\n </BreadcrumbListItem>\n ));\n\n return (\n <nav aria-label={ariaLabel} className={className}>\n <BreadcrumbList>{listItems}</BreadcrumbList>\n </nav>\n );\n};\n\nexport default Breadcrumbs;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { i as BreadcrumbSize, n as BreadcrumbHeadingAs, r as BreadcrumbProps } from "./Breadcrumb-BADja8tn.mjs";
1
+ import { i as BreadcrumbSize, n as BreadcrumbHeadingAs, r as BreadcrumbProps } from "./Breadcrumb-CEHEUe8l.mjs";
2
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region 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-CxP7ktfM.d.mts.map
26
+ //# sourceMappingURL=Breadcrumbs-BQ-Gj6UV.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "./Breadcrumbs-CxP7ktfM.mjs";
1
+ import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "./Breadcrumbs-BQ-Gj6UV.mjs";
2
2
  export { Breadcrumbs, Breadcrumbs as default, BreadcrumbsItemProps, BreadcrumbsProps };
@@ -1,6 +1,6 @@
1
- import { i as To } from "./types-D1DijcJv.mjs";
2
- import { t as PseudoClassProps } from "./PseudoClassProps-BOVN6Etr.mjs";
3
- import { n as ButtonVariant } from "./palette-C8tyI81D.mjs";
1
+ import { i as To } from "./types-CgKSEQyB.mjs";
2
+ import { t as PseudoClassProps } from "./PseudoClassProps-CverE9Ni.mjs";
3
+ import { n as ButtonVariant } from "./palette-BCszfY7I.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-CnswHEJ2.d.mts.map
111
+ //# sourceMappingURL=Button-DKUomFPj.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-CnswHEJ2.mjs";
1
+ import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "./Button-DKUomFPj.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-Cke5IlMI.d.mts.map
12
+ //# sourceMappingURL=Calendar-BvsTQ3e1.d.mts.map
@@ -1,2 +1,2 @@
1
- import { t as Calendar } from "./Calendar-Cke5IlMI.mjs";
1
+ import { t as Calendar } from "./Calendar-BvsTQ3e1.mjs";
2
2
  export { Calendar as default };
@@ -1,4 +1,4 @@
1
- import { n as IconButtonProps } from "./IconButton-D5hx405r.mjs";
1
+ import { n as IconButtonProps } from "./IconButton-Bt3WyiGq.mjs";
2
2
  import * as _$styled_components0 from "styled-components";
3
3
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
@@ -2,9 +2,9 @@ import { a as styled, r as css } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
2
  import { semanticColor, semanticOnly } from "./lib/semanticColor.mjs";
3
3
  import { headingMixins, paragraphMixins } from "./mixins/text.mjs";
4
4
  import "./variables/spacing.mjs";
5
- import { t as Spacer_default } from "./Spacer-BFOuo0sZ.mjs";
6
- import { i as Paragraph } from "./Text-BdluS7Fy.mjs";
7
- import { t as useToggle } from "./useToggle-DUHQjohK.mjs";
5
+ import { t as Spacer_default } from "./Spacer-J_HuhxX2.mjs";
6
+ import { i as Paragraph } from "./Text-CSwFifQF.mjs";
7
+ import { t as useToggle } from "./useToggle-DRzCDqrc.mjs";
8
8
  import { Color, Spacing } from "@persona/design-tokens";
9
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
10
  import { ChevronDownIcon, ChevronUpIcon } from "@persona/icons";
@@ -204,4 +204,4 @@ var Card_default = Object.assign(Card, {
204
204
  //#endregion
205
205
  export { Root as a, HeaderContainer as i, ActionsContainer as n, Title$1 as o, Header as r, TitleContainer as s, Card_default as t };
206
206
 
207
- //# sourceMappingURL=Card-Dz6jqJuJ.mjs.map
207
+ //# sourceMappingURL=Card-BXNxWX5C.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card-Dz6jqJuJ.mjs","names":["Title","Spacer"],"sources":["../components/Card/Header/Header.tsx","../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-BXNxWX5C.mjs","names":["Title","Spacer"],"sources":["../components/Card/Header/Header.tsx","../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,5 +1,5 @@
1
- import { c as ParagraphProps, u as SpanProps } from "./Text-BVGJ-Nlw.mjs";
2
- import { i as HeaderProps } from "./Header-2K49LYkR.mjs";
1
+ import { c as ParagraphProps, u as SpanProps } from "./Text-CUhW_agW.mjs";
2
+ import { i as HeaderProps } from "./Header-DvpIsOUN.mjs";
3
3
  import { Spacing } from "@persona/design-tokens";
4
4
  import { ComponentPropsWithoutRef, FC, PropsWithChildren, ReactElement, ReactNode } from "react";
5
5
  import * as _$styled_components0 from "styled-components";
@@ -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-Bp6L08H4.d.mts.map
75
+ //# sourceMappingURL=Card-DMXDx1W7.d.mts.map
package/dist/Card.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { n as SectionProps, r as _default, t as CardProps } from "./Card-Bp6L08H4.mjs";
1
+ import { n as SectionProps, r as _default, t as CardProps } from "./Card-DMXDx1W7.mjs";
2
2
  export { CardProps, SectionProps, _default as default };
@@ -0,0 +1,38 @@
1
+ import { i as TextAction, n as IconAction } from "./Action-DcK0fRrq.mjs";
2
+ import { n as SingleColumnLayoutProps } from "./SingleColumnLayout-ByWxiD7d.mjs";
3
+ import { ReactElement, ReactNode } from "react";
4
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
+
6
+ //#region patterns/CardGrouping/CardGrouping.d.ts
7
+ type HeaderAction = IconAction | TextAction;
8
+ type CardGroupingGroup = {
9
+ title: string;
10
+ sticker?: ReactElement;
11
+ actions?: HeaderAction[]; /** @defaultValue false */
12
+ defaultExpanded?: boolean;
13
+ children: ReactNode;
14
+ };
15
+ type CardGroupingHeaderProps = Omit<SingleColumnLayoutProps, 'main'> & {
16
+ title?: string;
17
+ description?: string;
18
+ sticker?: ReactElement;
19
+ status?: ReactElement;
20
+ actions?: HeaderAction[]; /** Extra controls under the description, inside the list title group. */
21
+ controls?: ReactNode;
22
+ };
23
+ type CardGroupingProps = CardGroupingHeaderProps & {
24
+ groups: CardGroupingGroup[];
25
+ };
26
+ declare const CardGrouping: ({
27
+ title,
28
+ description,
29
+ sticker,
30
+ status,
31
+ actions,
32
+ controls,
33
+ groups,
34
+ ...chrome
35
+ }: CardGroupingProps) => _$react_jsx_runtime0.JSX.Element;
36
+ //#endregion
37
+ export { CardGrouping, CardGroupingGroup, CardGroupingProps };
38
+ //# sourceMappingURL=CardGrouping.d.mts.map
@@ -3,18 +3,18 @@ import { a as styled, r as css } from "./styledComponentsInterop-NxwFjeA4.mjs";
3
3
  import { HeadlessAriaButton } from "./lib/HeadlessAriaButton.mjs";
4
4
  import { TruncatedText } from "./lib/TruncatedText.mjs";
5
5
  import { semanticColor } from "./lib/semanticColor.mjs";
6
- import { i as Paragraph, n as Heading$1 } from "./Text-BdluS7Fy.mjs";
6
+ import { i as Paragraph, n as Heading$1 } from "./Text-CSwFifQF.mjs";
7
7
  import "./variables/transitions.mjs";
8
- import { a as Tooltip } from "./Tooltip-C0FuZS1C.mjs";
8
+ import { a as Tooltip } from "./Tooltip-B-0VRuKT.mjs";
9
9
  import { Z_INDICES } from "./lib/zindex.mjs";
10
10
  import { focusStyle } from "./mixins/focus.mjs";
11
11
  import { semanticScrollbar } from "./mixins/scrollbar.mjs";
12
- import { t as HStack } from "./Stack-CEPzs4Pb.mjs";
13
- import { n as Button$1, t as IconButton } from "./IconButton-BHFCjvzs.mjs";
14
- import { t as intersperse } from "./intersperse-bvY2gibK.mjs";
15
- import { n as DropdownMenu_default } from "./DropdownMenu-j8NWbAvM.mjs";
16
- import { t as DropdownButton } from "./DropdownButton-i5Dmxiq1.mjs";
17
- import { t as LoadingShimmer } from "./LoadingShimmer-Ds7rvIUN.mjs";
12
+ import { t as HStack } from "./Stack-BkC7FCdF.mjs";
13
+ import { n as Button$1, t as IconButton } from "./IconButton-Cqxfmrea.mjs";
14
+ import { t as intersperse } from "./intersperse-DWUGtKug.mjs";
15
+ import { n as DropdownMenu_default } from "./DropdownMenu-C2BHv8Lc.mjs";
16
+ import { t as DropdownButton } from "./DropdownButton-CRJDAGjJ.mjs";
17
+ import { t as LoadingShimmer } from "./LoadingShimmer-C73hJqaW.mjs";
18
18
  import { Color, Spacing, Typography } from "@persona/design-tokens";
19
19
  import { createContext, useContext } from "react";
20
20
  import { Disclosure, DisclosurePanel } from "react-aria-components";
@@ -417,4 +417,4 @@ var Card_default = Object.assign(Card, {
417
417
  //#endregion
418
418
  export { CARD_HEADING_STICKY_OFFSET as n, Card_default as t };
419
419
 
420
- //# sourceMappingURL=CardV2-DEW6mw_o.mjs.map
420
+ //# sourceMappingURL=CardV2-JPGFAqui.mjs.map