@persona/design-system 0.10.11 → 0.10.13

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 (375) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/{Action-sLO73eKq.d.mts → Action-CHWYwpYR.d.mts} +2 -2
  3. package/dist/Action.d.mts +1 -1
  4. package/dist/AdvancedFilterRuleRow.d.mts +3 -0
  5. package/dist/AdvancedFilterRulesPopover.d.mts +4 -0
  6. package/dist/Attribute.d.mts +2 -2
  7. package/dist/{Badge-DZq6ByIU.mjs → Badge-B2AJMf3d.mjs} +2 -2
  8. package/dist/{Badge-DZq6ByIU.mjs.map → Badge-B2AJMf3d.mjs.map} +1 -1
  9. package/dist/{Breadcrumbs-DpsNZWF9.mjs → Breadcrumbs-DRs9eo1o.mjs} +8 -8
  10. package/dist/{Breadcrumbs-DpsNZWF9.mjs.map → Breadcrumbs-DRs9eo1o.mjs.map} +1 -1
  11. package/dist/{Button-C4a4BTjL.d.mts → Button-DjD8QxcY.d.mts} +2 -2
  12. package/dist/Button.d.mts +1 -1
  13. package/dist/CalendarBase.d.mts +1 -1
  14. package/dist/{Card-CPV4_mHk.d.mts → Card-DiUHtYg_.d.mts} +4 -4
  15. package/dist/Card.d.mts +1 -1
  16. package/dist/Card2.d.mts +1 -1
  17. package/dist/CardGrouping.d.mts +1 -1
  18. package/dist/{CardV2-DCoDfEvr.mjs → CardV2-DO-8COfu.mjs} +12 -12
  19. package/dist/{CardV2-DCoDfEvr.mjs.map → CardV2-DO-8COfu.mjs.map} +1 -1
  20. package/dist/{Checkbox-C3z7UUSC.mjs → Checkbox-BAh-wF_F.mjs} +5 -5
  21. package/dist/{Checkbox-C3z7UUSC.mjs.map → Checkbox-BAh-wF_F.mjs.map} +1 -1
  22. package/dist/{CheckboxGroupField-BT87OVOF.d.mts → CheckboxGroupField-BW_BcW3L.d.mts} +2 -2
  23. package/dist/CheckboxGroupField.d.mts +1 -1
  24. package/dist/{Combobox-aOJDTjzC.d.mts → Combobox-DgYwerwd.d.mts} +3 -3
  25. package/dist/{Combobox-BkK_tosd.mjs → Combobox-DmFQ5cAy.mjs} +92 -89
  26. package/dist/Combobox-DmFQ5cAy.mjs.map +1 -0
  27. package/dist/Combobox.d.mts +2 -2
  28. package/dist/{ComboboxBase-Brgv5nxk.d.mts → ComboboxBase-DoKiRjgS.d.mts} +6 -6
  29. package/dist/ComboboxBase.d.mts +1 -1
  30. package/dist/{ComboboxMultiSelect-DJyAv0Eg.d.mts → ComboboxMultiSelect-DsoIMJiZ.d.mts} +2 -2
  31. package/dist/ComboboxMultiSelect.d.mts +1 -1
  32. package/dist/{ComboboxSingleSelect-CP8-HLKl.d.mts → ComboboxSingleSelect-CKsqOAGB.d.mts} +3 -3
  33. package/dist/ComboboxSingleSelect.d.mts +1 -1
  34. package/dist/{CompactBar-B0LhjrYV.d.mts → CompactBar-tNtY2EhN.d.mts} +3 -3
  35. package/dist/CompactBar.d.mts +1 -1
  36. package/dist/{ConfigFormGroup-DAUqAhJW.mjs → ConfigFormGroup-BCTWCws5.mjs} +2 -2
  37. package/dist/{ConfigFormGroup-DAUqAhJW.mjs.map → ConfigFormGroup-BCTWCws5.mjs.map} +1 -1
  38. package/dist/{ControlBar-B3Jn8G0k.d.mts → ControlBar-CDb6b1_6.d.mts} +5 -3
  39. package/dist/ControlBar.d.mts +1 -1
  40. package/dist/{DataTable-DiwzhNMt.mjs → DataTable-DZ0B2Zm9.mjs} +159 -90
  41. package/dist/DataTable-DZ0B2Zm9.mjs.map +1 -0
  42. package/dist/{DataTable-CSl5Jn3E.d.mts → DataTable-on3vGhyi.d.mts} +32 -8
  43. package/dist/DataTable.d.mts +1 -1
  44. package/dist/{DatePicker-BK7ioKBm.mjs → DatePicker-CHVYVKB-.mjs} +375 -375
  45. package/dist/DatePicker-CHVYVKB-.mjs.map +1 -0
  46. package/dist/{DropdownButton-Dp-MZ5tA.mjs → DropdownButton-BxZ5hn0X.mjs} +3 -3
  47. package/dist/{DropdownButton-Dp-MZ5tA.mjs.map → DropdownButton-BxZ5hn0X.mjs.map} +1 -1
  48. package/dist/DropdownButton.d.mts +2 -2
  49. package/dist/{DropdownMenu-jJSHQaih.mjs → DropdownMenu-Ip75l4Th.mjs} +21 -4
  50. package/dist/DropdownMenu-Ip75l4Th.mjs.map +1 -0
  51. package/dist/{DropdownMenu-BnHPeHOm.d.mts → DropdownMenu-eVY-Yjpq.d.mts} +3 -3
  52. package/dist/DropdownMenu.d.mts +1 -1
  53. package/dist/{FilterBar-DDyk14sx.d.mts → FilterBar-CA4mDAXK.d.mts} +10 -2
  54. package/dist/FilterBar.d.mts +1 -1
  55. package/dist/{FloatingActionBar-BUgSKimy.d.mts → FloatingActionBar-CfgjHs81.d.mts} +5 -1
  56. package/dist/FloatingActionBar.d.mts +1 -1
  57. package/dist/{FloatingToolbar-rfKurDs8.mjs → FloatingToolbar-BA8Fqmrz.mjs} +4 -4
  58. package/dist/{FloatingToolbar-rfKurDs8.mjs.map → FloatingToolbar-BA8Fqmrz.mjs.map} +1 -1
  59. package/dist/{FormControl-DPYbLcBK.d.mts → FormControl-BQe3GRhi.d.mts} +2 -2
  60. package/dist/{FormControl--pbTH3bY.mjs → FormControl-BoKGiWdQ.mjs} +3 -3
  61. package/dist/{FormControl--pbTH3bY.mjs.map → FormControl-BoKGiWdQ.mjs.map} +1 -1
  62. package/dist/FormControl.d.mts +1 -1
  63. package/dist/FormControlLabel.d.mts +2 -2
  64. package/dist/{FormField-CYNGm2bJ.d.mts → FormField-BW5uMzId.d.mts} +2 -2
  65. package/dist/{FormField-DMxjftFw.mjs → FormField-BfVrDOY0.mjs} +13 -13
  66. package/dist/{FormField-DMxjftFw.mjs.map → FormField-BfVrDOY0.mjs.map} +1 -1
  67. package/dist/FormField.d.mts +1 -1
  68. package/dist/{Grid-DVC0SSEZ.mjs → Grid-CYpOqTUu.mjs} +2 -2
  69. package/dist/{Grid-DVC0SSEZ.mjs.map → Grid-CYpOqTUu.mjs.map} +1 -1
  70. package/dist/{Header-DaaUprCL.d.mts → Header-CV0Lcf0C.d.mts} +2 -2
  71. package/dist/Header.d.mts +1 -1
  72. package/dist/{HelperTooltip-C5BDdJSI.d.mts → HelperTooltip-BNM3pTM-.d.mts} +2 -2
  73. package/dist/HelperTooltip.d.mts +1 -1
  74. package/dist/HighlightedText.d.mts +1 -1
  75. package/dist/{HoverCopyableField-B2-xlwUt.mjs → HoverCopyableField-CJ_p3llp.mjs} +5 -5
  76. package/dist/{HoverCopyableField-B2-xlwUt.mjs.map → HoverCopyableField-CJ_p3llp.mjs.map} +1 -1
  77. package/dist/{IconButton-kSjnfhWt.mjs → IconButton-Bj1fry_K.mjs} +8 -8
  78. package/dist/{IconButton-kSjnfhWt.mjs.map → IconButton-Bj1fry_K.mjs.map} +1 -1
  79. package/dist/{IconButton-7k-wjvH3.d.mts → IconButton-C_ReZm8v.d.mts} +2 -2
  80. package/dist/IconButton.d.mts +1 -1
  81. package/dist/ImageTile.d.mts +1 -1
  82. package/dist/IndexTableLayout.d.mts +12 -4
  83. package/dist/InlineCombobox.d.mts +1 -1
  84. package/dist/InlineInput.d.mts +1 -1
  85. package/dist/{Input-CwvrBsiS.d.mts → Input-DH-5dKor.d.mts} +3 -3
  86. package/dist/{Input-TRmTBEav.mjs → Input-DcbzPaax.mjs} +5 -5
  87. package/dist/{Input-TRmTBEav.mjs.map → Input-DcbzPaax.mjs.map} +1 -1
  88. package/dist/Input.d.mts +1 -1
  89. package/dist/{Link-XvzUN8sY.mjs → Link-Df3zJrj2.mjs} +4 -4
  90. package/dist/{Link-XvzUN8sY.mjs.map → Link-Df3zJrj2.mjs.map} +1 -1
  91. package/dist/{ListBox-DahM1PgU.mjs → ListBox-BRgjgUSp.mjs} +12 -12
  92. package/dist/{ListBox-DahM1PgU.mjs.map → ListBox-BRgjgUSp.mjs.map} +1 -1
  93. package/dist/{ListBox-BePQBYR7.d.mts → ListBox-Bgug8YZF.d.mts} +3 -3
  94. package/dist/ListBox.d.mts +1 -1
  95. package/dist/{ListBoxField-lj7JN1BX.d.mts → ListBoxField-Cc1sX2bo.d.mts} +4 -4
  96. package/dist/ListBoxField.d.mts +1 -1
  97. package/dist/{LoadingShimmer-CpfKTSUs.mjs → LoadingShimmer-BVVdBeN-.mjs} +18 -21
  98. package/dist/LoadingShimmer-BVVdBeN-.mjs.map +1 -0
  99. package/dist/LoadingShimmer.d.mts +1 -1
  100. package/dist/{LogicRow-Do7t7Suf.d.mts → LogicRow-B1_35ZJT.d.mts} +2 -2
  101. package/dist/LogicRow.d.mts +1 -1
  102. package/dist/MaskedInput.d.mts +2 -2
  103. package/dist/MatchHighlight.d.mts +1 -1
  104. package/dist/{Menu-BvMzSH2I.mjs → Menu-BVn1jh46.mjs} +5 -5
  105. package/dist/{Menu-BvMzSH2I.mjs.map → Menu-BVn1jh46.mjs.map} +1 -1
  106. package/dist/{Menu-Ca5ftvo6.d.mts → Menu-keVl-eKm.d.mts} +4 -4
  107. package/dist/Menu.d.mts +1 -1
  108. package/dist/{MiddleTruncatedText--jzGTD00.mjs → MiddleTruncatedText-DicQsLDG.mjs} +2 -2
  109. package/dist/{MiddleTruncatedText--jzGTD00.mjs.map → MiddleTruncatedText-DicQsLDG.mjs.map} +1 -1
  110. package/dist/{Modal-BPfFyzkw.d.mts → Modal-CujB7DuB.d.mts} +3 -3
  111. package/dist/{Modal-B6X5AgWj.mjs → Modal-SnCo7ecm.mjs} +8 -7
  112. package/dist/Modal-SnCo7ecm.mjs.map +1 -0
  113. package/dist/Modal.d.mts +1 -1
  114. package/dist/{PageHeader-bhQTjuZF.mjs → PageHeader-6KvtGED-.mjs} +2 -2
  115. package/dist/{PageHeader-bhQTjuZF.mjs.map → PageHeader-6KvtGED-.mjs.map} +1 -1
  116. package/dist/{PageHeader-BeBmYmUX.d.mts → PageHeader-UPiqJpIF.d.mts} +2 -2
  117. package/dist/PageHeader.d.mts +1 -1
  118. package/dist/{PageLayout-BXM_pyrU.d.mts → PageLayout-BdVM37bV.d.mts} +2 -2
  119. package/dist/{PageLayout-DgEGcZgB.mjs → PageLayout-CPiVnS_r.mjs} +5 -3
  120. package/dist/PageLayout-CPiVnS_r.mjs.map +1 -0
  121. package/dist/PageLayout.d.mts +1 -1
  122. package/dist/{PageSelector-C14ABZVL.d.mts → PageSelector-B5CcAzss.d.mts} +2 -2
  123. package/dist/PageSelector.d.mts +1 -1
  124. package/dist/{Pagination-DE8wT55m.mjs → Pagination-CqFvnlXc.mjs} +5 -5
  125. package/dist/{Pagination-DE8wT55m.mjs.map → Pagination-CqFvnlXc.mjs.map} +1 -1
  126. package/dist/{Pii-C42ZY88Y.mjs → Pii-BYPkrBuT.mjs} +2 -2
  127. package/dist/{Pii-C42ZY88Y.mjs.map → Pii-BYPkrBuT.mjs.map} +1 -1
  128. package/dist/{Popover-DuFjaSoq.mjs → Popover-DP9DXReH.mjs} +48 -20
  129. package/dist/Popover-DP9DXReH.mjs.map +1 -0
  130. package/dist/Popover.d.mts +1 -1
  131. package/dist/ProgressBar.d.mts +1 -1
  132. package/dist/{ProgressIndicator-hy1P-RG1.mjs → ProgressIndicator-zt3ndT9U.mjs} +3 -3
  133. package/dist/{ProgressIndicator-hy1P-RG1.mjs.map → ProgressIndicator-zt3ndT9U.mjs.map} +1 -1
  134. package/dist/{Radio-B4TBAho6.mjs → Radio-B1H_S-Qj.mjs} +4 -4
  135. package/dist/{Radio-B4TBAho6.mjs.map → Radio-B1H_S-Qj.mjs.map} +1 -1
  136. package/dist/{RadioGroup-Bf24GKOb.mjs → RadioGroup-7hdcVhsp.mjs} +3 -3
  137. package/dist/{RadioGroup-Bf24GKOb.mjs.map → RadioGroup-7hdcVhsp.mjs.map} +1 -1
  138. package/dist/RichTextEditor.d.mts +1 -1
  139. package/dist/SectionHeading.d.mts +1 -1
  140. package/dist/{SegmentedControl-BpR7sUWO.mjs → SegmentedControl-BNOJ1FYQ.mjs} +3 -3
  141. package/dist/{SegmentedControl-BpR7sUWO.mjs.map → SegmentedControl-BNOJ1FYQ.mjs.map} +1 -1
  142. package/dist/{Select-DYdn73Nh.d.mts → Select-CiofH5-f.d.mts} +2 -2
  143. package/dist/{Select-RdTT2KoH.mjs → Select-DbWEgH5c.mjs} +9 -9
  144. package/dist/{Select-RdTT2KoH.mjs.map → Select-DbWEgH5c.mjs.map} +1 -1
  145. package/dist/Select.d.mts +1 -1
  146. package/dist/SmartTextInput.d.mts +1 -1
  147. package/dist/SmartTextInputField.d.mts +2 -2
  148. package/dist/SmartTextInputFunctionDialog.d.mts +1 -1
  149. package/dist/SmartTextInputListbox.d.mts +8 -3
  150. package/dist/SmartTextInputPopover.d.mts +1 -1
  151. package/dist/{Spinner-vcApnJzv.mjs → Spinner-k9ZiOdTr.mjs} +2 -2
  152. package/dist/{Spinner-vcApnJzv.mjs.map → Spinner-k9ZiOdTr.mjs.map} +1 -1
  153. package/dist/{Stack-B6MrjJeW.d.mts → Stack-CODxfzhl.d.mts} +2 -2
  154. package/dist/Stack.d.mts +1 -1
  155. package/dist/{StatusIndicator-lwt35J6B.mjs → StatusIndicator-CzRaEFSz.mjs} +3 -3
  156. package/dist/{StatusIndicator-lwt35J6B.mjs.map → StatusIndicator-CzRaEFSz.mjs.map} +1 -1
  157. package/dist/{Sticker-jfOM4Yi6.mjs → Sticker-4VdGEFAu.mjs} +5 -5
  158. package/dist/{Sticker-jfOM4Yi6.mjs.map → Sticker-4VdGEFAu.mjs.map} +1 -1
  159. package/dist/{Sticker-C7Wv3Obx.d.mts → Sticker-CLvRB8V5.d.mts} +4 -4
  160. package/dist/Sticker.d.mts +1 -1
  161. package/dist/Tab.d.mts +2 -2
  162. package/dist/{TabBar-DwHgbIQ6.mjs → TabBar-d4sdknti.mjs} +6 -6
  163. package/dist/{TabBar-DwHgbIQ6.mjs.map → TabBar-d4sdknti.mjs.map} +1 -1
  164. package/dist/{Table-SMJAWqoe.mjs → Table-9mNn8Q-d.mjs} +10 -10
  165. package/dist/{Table-SMJAWqoe.mjs.map → Table-9mNn8Q-d.mjs.map} +1 -1
  166. package/dist/{TableBox-DS8mpN3-.mjs → TableBox-RxpwflEb.mjs} +14 -14
  167. package/dist/{TableBox-DS8mpN3-.mjs.map → TableBox-RxpwflEb.mjs.map} +1 -1
  168. package/dist/TableBox.d.mts +1 -1
  169. package/dist/{TableBoxCell-Bo5xYEmR.d.mts → TableBoxCell-C65YFYqj.d.mts} +6 -6
  170. package/dist/TableBoxCell.d.mts +1 -1
  171. package/dist/{TableBoxField-CdgjSGLK.d.mts → TableBoxField-CHpClgsE.d.mts} +5 -5
  172. package/dist/TableBoxField.d.mts +1 -1
  173. package/dist/{TableBoxRow-DuWS2iRC.d.mts → TableBoxRow-CK-b79uD.d.mts} +2 -2
  174. package/dist/TableBoxRow.d.mts +1 -1
  175. package/dist/{TableBoxRowActions-zW74DkXt.d.mts → TableBoxRowActions-CRaabjaY.d.mts} +2 -2
  176. package/dist/TableBoxRowActions.d.mts +1 -1
  177. package/dist/{TableCell-uv_jqT5e.d.mts → TableCell-CQsF7t4e.d.mts} +2 -2
  178. package/dist/TableCell.d.mts +1 -1
  179. package/dist/{TableControls-CX7BvgD2.mjs → TableControls-DM4RddQ_.mjs} +77 -36
  180. package/dist/TableControls-DM4RddQ_.mjs.map +1 -0
  181. package/dist/{TableControls-9vz-HfDu.d.mts → TableControls-v1NmlFTW.d.mts} +5 -5
  182. package/dist/TableControls.d.mts +1 -1
  183. package/dist/{TableControlsContext-D0Hn3rwL.d.mts → TableControlsContext-DHYICXxy.d.mts} +2 -2
  184. package/dist/TableControlsContext.d.mts +1 -1
  185. package/dist/{TableViewConfigurationDropdown-CZcLH8uR.d.mts → TableViewConfigurationDropdown-1nT8wneI.d.mts} +2 -2
  186. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  187. package/dist/{TechnicalSticker-DrN45Vut.mjs → TechnicalSticker-DtV7Gawf.mjs} +7 -7
  188. package/dist/{TechnicalSticker-DrN45Vut.mjs.map → TechnicalSticker-DtV7Gawf.mjs.map} +1 -1
  189. package/dist/{Text-CdHeSHCc.d.mts → Text-CvaqognH.d.mts} +2 -2
  190. package/dist/Text.d.mts +1 -1
  191. package/dist/{TextUnderlineTooltip-By1VVsSs.d.mts → TextUnderlineTooltip-Bd5e8KH3.d.mts} +3 -3
  192. package/dist/TextUnderlineTooltip.d.mts +1 -1
  193. package/dist/Tile.d.mts +1 -1
  194. package/dist/{Toggle-DjmkjJlw.mjs → Toggle-CzHoIR-n.mjs} +6 -6
  195. package/dist/{Toggle-DjmkjJlw.mjs.map → Toggle-CzHoIR-n.mjs.map} +1 -1
  196. package/dist/{Tooltip-C2VB8I6y.mjs → Tooltip-CVBxc1yf.mjs} +4 -4
  197. package/dist/{Tooltip-C2VB8I6y.mjs.map → Tooltip-CVBxc1yf.mjs.map} +1 -1
  198. package/dist/{Tooltip-OxVvOfn8.d.mts → Tooltip-Ddy2Jq0K.d.mts} +3 -3
  199. package/dist/Tooltip.d.mts +1 -1
  200. package/dist/{TruncatedText-Dqj94BFK.d.mts → TruncatedText-sr9Fhm3N.d.mts} +2 -2
  201. package/dist/WizardModal.d.mts +1 -1
  202. package/dist/{clientFilterUtils-CMLuN8kK.d.mts → clientFilterUtils-CaF2QZBy.d.mts} +2 -2
  203. package/dist/clientFilterUtils.d.mts +1 -1
  204. package/dist/components/Accordion/index.mjs +5 -5
  205. package/dist/components/Attribute/index.mjs +6 -6
  206. package/dist/components/Badge/index.mjs +1 -1
  207. package/dist/components/Banner/index.mjs +3 -3
  208. package/dist/components/BottomPanel/index.mjs +7 -7
  209. package/dist/components/Breadcrumbs/index.mjs +1 -1
  210. package/dist/components/Button/index.d.mts +2 -2
  211. package/dist/components/Button/index.mjs +1 -1
  212. package/dist/components/ButtonGroup/index.mjs +2 -2
  213. package/dist/components/Card/index.d.mts +2 -2
  214. package/dist/components/CardV2/index.d.mts +1 -1
  215. package/dist/components/CardV2/index.mjs +1 -1
  216. package/dist/components/Checkbox/index.mjs +1 -1
  217. package/dist/components/CodeHighlight/index.mjs +4 -4
  218. package/dist/components/Combobox/index.d.mts +4 -4
  219. package/dist/components/Combobox/index.mjs +1 -1
  220. package/dist/components/ConfigFormGroup/index.mjs +1 -1
  221. package/dist/components/DataTable/TableControls/index.d.mts +9 -9
  222. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  223. package/dist/components/DataTable/index.d.mts +6 -6
  224. package/dist/components/DataTable/index.mjs +1 -1
  225. package/dist/components/DataTable/types.d.mts +1 -1
  226. package/dist/components/DatePicker/index.mjs +1 -1
  227. package/dist/components/DropdownButton/index.mjs +1 -1
  228. package/dist/components/DropdownMenu/index.d.mts +1 -1
  229. package/dist/components/DropdownMenu/index.mjs +1 -1
  230. package/dist/components/FloatingPanel/index.mjs +8 -8
  231. package/dist/components/FloatingToolbar/index.mjs +1 -1
  232. package/dist/components/FormControl/index.d.mts +1 -1
  233. package/dist/components/FormControl/index.mjs +1 -1
  234. package/dist/components/FormField/index.d.mts +5 -5
  235. package/dist/components/FormField/index.mjs +1 -1
  236. package/dist/components/Grid/index.mjs +1 -1
  237. package/dist/components/HoverCopyableField/index.mjs +1 -1
  238. package/dist/components/ImageTile/index.mjs +8 -8
  239. package/dist/components/Input/index.d.mts +1 -1
  240. package/dist/components/Input/index.mjs +1 -1
  241. package/dist/components/Link/index.mjs +1 -1
  242. package/dist/components/ListBox/index.d.mts +3 -3
  243. package/dist/components/ListBox/index.mjs +1 -1
  244. package/dist/components/LoadingShimmer/index.mjs +1 -1
  245. package/dist/components/MaskedInput/index.mjs +1 -1
  246. package/dist/components/Menu/index.d.mts +1 -1
  247. package/dist/components/Menu/index.mjs +1 -1
  248. package/dist/components/Modal/index.d.mts +1 -1
  249. package/dist/components/Modal/index.mjs +1 -1
  250. package/dist/components/PageHeader/index.d.mts +1 -1
  251. package/dist/components/PageHeader/index.mjs +1 -1
  252. package/dist/components/Pagination/index.d.mts +1 -1
  253. package/dist/components/Pagination/index.mjs +1 -1
  254. package/dist/components/Pii/index.mjs +1 -1
  255. package/dist/components/Popover/index.mjs +1 -1
  256. package/dist/components/ProgressBar/index.mjs +2 -2
  257. package/dist/components/ProgressIndicator/index.mjs +1 -1
  258. package/dist/components/Radio/index.mjs +1 -1
  259. package/dist/components/RadioGroup/index.mjs +1 -1
  260. package/dist/components/RichTextEditor/index.mjs +9 -9
  261. package/dist/components/RightPanel/index.mjs +4 -4
  262. package/dist/components/SegmentedControl/index.mjs +1 -1
  263. package/dist/components/Select/index.d.mts +1 -1
  264. package/dist/components/Select/index.mjs +1 -1
  265. package/dist/components/SelectionCard/index.mjs +5 -5
  266. package/dist/components/Slider/index.mjs +4 -4
  267. package/dist/components/SmartTextInput/index.mjs +112 -118
  268. package/dist/components/SmartTextInput/index.mjs.map +1 -1
  269. package/dist/{safe-parse.d.mts → components/SmartTextInput/parser/safe-parse.d.mts} +1 -1
  270. package/dist/components/SmartTextInput/parser/safe-parse.mjs +30 -0
  271. package/dist/components/SmartTextInput/parser/safe-parse.mjs.map +1 -0
  272. package/dist/{tree.d.mts → components/SmartTextInput/parser/tree.d.mts} +1 -1
  273. package/dist/components/SmartTextInput/parser/tree.mjs +42 -0
  274. package/dist/components/SmartTextInput/parser/tree.mjs.map +1 -0
  275. package/dist/components/Spinner/index.mjs +1 -1
  276. package/dist/components/Stack/index.d.mts +1 -1
  277. package/dist/components/StatusIndicator/index.mjs +1 -1
  278. package/dist/components/Sticker/index.d.mts +1 -1
  279. package/dist/components/Sticker/index.mjs +1 -1
  280. package/dist/components/SwatchPicker/index.mjs +1 -1
  281. package/dist/components/TabBar/index.mjs +1 -1
  282. package/dist/components/Table/index.d.mts +1 -1
  283. package/dist/components/Table/index.mjs +1 -1
  284. package/dist/components/TableBox/index.d.mts +1 -1
  285. package/dist/components/TableBox/index.mjs +1 -1
  286. package/dist/components/TechnicalSticker/index.mjs +1 -1
  287. package/dist/components/Text/index.d.mts +1 -1
  288. package/dist/components/Tile/index.mjs +2 -2
  289. package/dist/components/Toast/index.mjs +4 -4
  290. package/dist/components/Toggle/index.mjs +1 -1
  291. package/dist/components/Tooltip/index.d.mts +3 -3
  292. package/dist/components/Tooltip/index.mjs +1 -1
  293. package/dist/components/VersionHistory/index.mjs +7 -7
  294. package/dist/fieldPickerOptions.d.mts +1 -1
  295. package/dist/{filters-By_TYKAZ.d.mts → filters-CShP0Jag.d.mts} +3 -3
  296. package/dist/filters.d.mts +1 -1
  297. package/dist/{helpers-BIHsqdyX.d.mts → helpers-Bbi1LyMW.d.mts} +5 -3
  298. package/dist/helpers.d.mts +1 -1
  299. package/dist/{index-CZJp4Af6.d.mts → index-3-eDlpcj.d.mts} +3 -3
  300. package/dist/{index-BozzRwby.d.mts → index-DTM_t7OG.d.mts} +2 -2
  301. package/dist/index2.d.mts +1 -1
  302. package/dist/index4.d.mts +2 -2
  303. package/dist/index6.d.mts +2 -2
  304. package/dist/{inputFields-BqO2H-Kj.d.mts → inputFields-Dobwb4kT.d.mts} +6 -6
  305. package/dist/inputFields.d.mts +1 -1
  306. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  307. package/dist/lib/PDSProvider.d.mts +2 -1
  308. package/dist/lib/PDSProvider.mjs +8 -3
  309. package/dist/lib/PDSProvider.mjs.map +1 -1
  310. package/dist/lib/TruncatedText.d.mts +1 -1
  311. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  312. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  313. package/dist/lib/colorMode.d.mts +19 -8
  314. package/dist/lib/colorMode.mjs +47 -13
  315. package/dist/lib/colorMode.mjs.map +1 -1
  316. package/dist/lib/schemaOptions.mjs +1 -1
  317. package/dist/lib/schemaOptions.mjs.map +1 -1
  318. package/dist/lib/useChain.d.mts +1 -1
  319. package/dist/lib/useCloseFocus.d.mts +45 -0
  320. package/dist/lib/useCloseFocus.mjs +123 -0
  321. package/dist/lib/useCloseFocus.mjs.map +1 -0
  322. package/dist/mixins/focus.mjs +1 -1
  323. package/dist/mixins/hoverable.mjs +1 -1
  324. package/dist/mixins/input.mjs +2 -2
  325. package/dist/mixins/motion.d.mts +6 -2
  326. package/dist/mixins/motion.mjs +25 -3
  327. package/dist/mixins/motion.mjs.map +1 -1
  328. package/dist/patterns/CardGrouping/index.mjs +8 -8
  329. package/dist/patterns/IndexTableLayout/index.mjs +23 -16
  330. package/dist/patterns/IndexTableLayout/index.mjs.map +1 -1
  331. package/dist/patterns/LayoutLoadingShimmer/index.mjs +4 -4
  332. package/dist/patterns/LayoutLoadingSpinner/index.mjs +1 -1
  333. package/dist/patterns/PageLayout/index.d.mts +1 -1
  334. package/dist/patterns/PageLayout/index.mjs +1 -1
  335. package/dist/patterns/WizardModal/index.mjs +4 -4
  336. package/dist/tone.d.mts +1 -1
  337. package/dist/{types-C_CncajO.d.mts → types-BTaKBrxG.d.mts} +2 -2
  338. package/dist/{types-D5txFacG.d.mts → types-CUnL8JJj.d.mts} +7 -5
  339. package/dist/types5.d.mts +1 -1
  340. package/dist/{useChain-x9fd9Fyq.d.mts → useChain-B--KAtdN.d.mts} +2 -2
  341. package/dist/useChainAtCursor.d.mts +1 -1
  342. package/dist/useColumnConfiguration.d.mts +2 -2
  343. package/dist/useComboboxFooterAction.d.mts +1 -1
  344. package/dist/{useTableColumns-BEKJNrb1.d.mts → useTableColumns-BuxN7Usm.d.mts} +17 -2
  345. package/dist/useTableColumns.d.mts +1 -1
  346. package/dist/useTruncation.d.mts +1 -1
  347. package/dist/utils4.d.mts +1 -1
  348. package/dist/value-labels.d.mts +12 -0
  349. package/dist/withDisabledReason.d.mts +19 -0
  350. package/llms.txt +5 -4
  351. package/package.json +10 -12
  352. package/skills/ui-authoring/COMPONENTS.md +1 -2
  353. package/skills/ui-authoring/PATTERNS.md +6 -66
  354. package/skills/ui-authoring/STANDARD.md +11 -1
  355. package/skills/ui-authoring/TOKENS.md +14 -25
  356. package/dist/ChartFrame.d.mts +0 -61
  357. package/dist/ChartLegend.d.mts +0 -60
  358. package/dist/ChartPopover.d.mts +0 -155
  359. package/dist/Combobox-BkK_tosd.mjs.map +0 -1
  360. package/dist/DataTable-DiwzhNMt.mjs.map +0 -1
  361. package/dist/DatePicker-BK7ioKBm.mjs.map +0 -1
  362. package/dist/DropdownMenu-jJSHQaih.mjs.map +0 -1
  363. package/dist/LoadingShimmer-CpfKTSUs.mjs.map +0 -1
  364. package/dist/Modal-B6X5AgWj.mjs.map +0 -1
  365. package/dist/PageLayout-DgEGcZgB.mjs.map +0 -1
  366. package/dist/Popover-DuFjaSoq.mjs.map +0 -1
  367. package/dist/TableControls-CX7BvgD2.mjs.map +0 -1
  368. package/dist/chartColors.d.mts +0 -92
  369. package/dist/chartFrameLayout.d.mts +0 -46
  370. package/dist/components/Chart/index.d.mts +0 -9
  371. package/dist/components/Chart/index.mjs +0 -680
  372. package/dist/components/Chart/index.mjs.map +0 -1
  373. package/dist/useChartColors.d.mts +0 -30
  374. package/dist/useChartSeriesVisibility.d.mts +0 -22
  375. package/dist/useChartStyles.d.mts +0 -108
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox-C3z7UUSC.mjs","names":[],"sources":["../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import { uniqueId } from 'lodash-es';\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactNode,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport { InputCheckIcon, InputDashIcon } from '@persona/icons';\n\nimport useFormField from '#src/components/FormControl/useFormField';\nimport Stack from '#src/components/Stack/Stack';\nimport Tooltip from '#src/components/Tooltip';\nimport { TextWithDashedUnderline } from '#src/components/Tooltip/TextUnderlineTooltip';\nimport { opacityOf } from '#src/lib/color';\nimport {\n isChecked,\n isDisabled,\n isFocusedVisible,\n isHovered,\n isIndeterminate,\n isNotDisabled,\n} from '#src/lib/pseudoClass';\nimport { semanticColor, semanticOnly } from '#src/lib/semanticColor';\nimport useControlled from '#src/lib/useControlled';\nimport { focusStyle } from '#src/mixins/focus';\nimport { TransitionDuration, TransitionEasing } from '#src/variables/transitions';\n\nconst Container = styled(Stack)<{ size: 'md' | 'sm'; disabled?: boolean }>`\n position: relative;\n cursor: pointer;\n\n flex-wrap: nowrap;\n\n ${({ size }) =>\n size === 'sm' &&\n css`\n height: 16px;\n `}\n\n &${isDisabled} {\n cursor: default;\n }\n`;\n\nconst CheckboxBox = styled.div<{ disabled?: boolean; checked?: boolean }>`\n cursor: pointer;\n display: flex;\n flex: 0 0 16px;\n justify-content: center;\n align-items: center;\n transition:\n box-shadow ${TransitionDuration.Fast} ${TransitionEasing.Move},\n background-color ${TransitionDuration.Fast} ${TransitionEasing.Move},\n border-color ${TransitionDuration.Fast} ${TransitionEasing.Move};\n border-radius: 3px;\n height: ${Spacing[4]};\n width: ${Spacing[4]};\n box-sizing: border-box;\n border: 1px solid ${({ theme }) => semanticColor(theme, 'InputBorderStrong', Color.BorderInputCheckbox)};\n background: ${({ theme }) => semanticColor(theme, 'InputSurfaceDefault', Color.BackgroundInputDefault)};\n\n svg {\n color: ${({ theme }) => semanticColor(theme, 'FgInverseStatic', Color.BorderIconInverse)};\n }\n\n &${isDisabled} {\n cursor: default;\n background: ${({ theme }) =>\n semanticColor(theme, 'InputSurfaceDisabled', Color.BackgroundInputDisabled)};\n border-color: ${({ theme }) =>\n semanticColor(theme, 'InputBorderDisabled', Color.BorderInputDisabled)};\n ${semanticOnly((tokens) => `opacity: ${opacityOf(tokens.Opacity65)};`)}\n }\n\n ${({ checked, theme }) =>\n checked &&\n css`\n border-color: ${semanticColor(theme, 'InputBorderAccent', Color.BackgroundInputActive)};\n background: ${semanticColor(theme, 'InputSurfaceAccent', Color.BackgroundInputActive)};\n\n &${isDisabled} {\n border-color: ${semanticColor(theme, 'InputSurfaceAccentDisabled', Color.BackgroundInputActiveDisabled)};\n background: ${semanticColor(theme, 'InputSurfaceAccentDisabled', Color.BackgroundInputActiveDisabled)};\n }\n `}\n`;\n\nconst CheckboxInput = styled.input`\n cursor: inherit;\n height: 16px;\n width: 16px;\n margin: 0;\n border: 0;\n opacity: 0;\n overflow: hidden;\n position: absolute;\n\n &${isHovered}${isNotDisabled} ~ ${CheckboxBox} {\n border-color: ${({ theme }) =>\n semanticColor(theme, 'InputBorderHoverStrong', Color.BorderInputCheckboxHover)};\n ${semanticOnly((tokens) => `background: ${tokens.InputSurfaceHover};`)}\n }\n\n &${isChecked}, &${isIndeterminate} {\n &${isHovered}${isNotDisabled} ~ ${CheckboxBox} {\n background: ${({ theme }) => semanticColor(theme, 'InputSurfaceAccentHover', Color.BackgroundInputActiveHover)};\n border-color: ${({ theme }) => semanticColor(theme, 'InputSurfaceAccentHover', Color.BackgroundInputActiveHover)};\n }\n }\n\n &${isFocusedVisible}${isNotDisabled} ~ ${CheckboxBox} {\n ${focusStyle}\n }\n`;\n\nconst Label = styled.label<{ disabled: boolean; size: 'md' | 'sm' }>`\n cursor: inherit;\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n\n ${({ size }) =>\n size === 'sm'\n ? css`\n ${Typography.TextSmall};\n line-height: 16px;\n `\n : css`\n ${Typography.TextMedium};\n\n /** Nudge text for visual alignment */\n position: relative;\n bottom: -1px;\n `}\n\n ${({ theme, disabled }) =>\n disabled &&\n css`\n cursor: default;\n color: ${semanticColor(theme, 'FgDisabled', theme.color.text.disabled)};\n `}\n`;\n\nexport interface CheckboxProps extends Omit<ComponentPropsWithoutRef<'input'>, 'value' | 'size'> {\n /**\n * `id` for the underlying `<input>`. If not provided a unique ID is generated\n * automatically and linked to the label.\n */\n id?: string;\n /** Called whenever the checked state changes. */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Visible label rendered to the right of the checkbox box. */\n label?: ReactNode;\n /** Disables interaction and renders the checkbox in a muted style. */\n disabled?: boolean;\n /**\n * When true the checkbox displays a dash (−) instead of a tick, indicating a\n * mixed / partially-selected state. Sets `aria-checked=\"mixed\"` for screen readers.\n */\n indeterminate?: boolean;\n /**\n * Controlled checked state. Omit (or pass `undefined`) to let the component\n * manage state internally via `defaultChecked`.\n */\n checked?: boolean;\n /** Value submitted with a form. */\n value?: unknown;\n 'data-test'?: string;\n /** Additional props forwarded to the outer container `<div>`. */\n containerProps?: ComponentPropsWithoutRef<'div'>;\n /**\n * Size of the checkbox and its label text.\n * @defaultValue 'md'\n */\n size?: 'md' | 'sm';\n /**\n * Tooltip content to display when hovering over the label.\n * When provided, the label will be wrapped in a tooltip.\n */\n tooltip?: ReactNode;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(\n {\n className,\n disabled,\n indeterminate,\n onChange,\n checked: checkedProp,\n defaultChecked,\n id,\n label,\n 'data-test': dataTest,\n containerProps,\n value,\n size = 'md',\n tooltip,\n ...elemProps\n },\n ref,\n) {\n const field = useFormField({ disabled });\n const [checked, setChecked] = useControlled({\n controlledValue: checkedProp,\n default: defaultChecked,\n });\n const generatedId = useMemo(() => uniqueId('pds_checkbox__'), []);\n const inputRef = useRef<HTMLInputElement>();\n\n // Use the inputId from FormControl context if available, otherwise use the provided id or generate one\n const inputId = field.inputId || id || generatedId;\n\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n // Re-sync on `checked` changes too: a native click clears the input's\n // `indeterminate` property, so it must be re-applied when the prop stays true.\n useEffect(() => {\n if (inputRef.current) {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n inputRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate, checked, inputRef]);\n\n return (\n <Container\n direction='horizontal'\n className={className}\n data-test={dataTest}\n disabled={field.disabled}\n align='center'\n size={size}\n {...containerProps}\n >\n <CheckboxInput\n id={inputId}\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n ref={inputRef}\n data-test={dataTest && `${dataTest}-input`}\n disabled={field.disabled}\n type='checkbox'\n checked={checkedProp == null ? undefined : checked}\n defaultChecked={defaultChecked}\n onChange={(e) => {\n setChecked(e.target.checked);\n if (onChange) {\n onChange(e);\n }\n }}\n aria-checked={indeterminate ? 'mixed' : undefined}\n value={value as unknown as string}\n {...elemProps}\n />\n <CheckboxBox\n aria-hidden='true'\n disabled={field.disabled}\n checked={(checked != null && checked) || indeterminate}\n >\n {indeterminate ? <InputDashIcon /> : checked ? <InputCheckIcon /> : null}\n </CheckboxBox>\n {label &&\n (tooltip ? (\n <Tooltip\n size={size}\n trigger={\n <Label htmlFor={inputId} disabled={!!field.disabled} size={size}>\n <TextWithDashedUnderline>{label}</TextWithDashedUnderline>\n </Label>\n }\n >\n {tooltip}\n </Tooltip>\n ) : (\n <Label htmlFor={inputId} disabled={!!field.disabled} size={size}>\n {label}\n </Label>\n ))}\n </Container>\n );\n});\n\nexport default Checkbox;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox-BAh-wF_F.mjs","names":[],"sources":["../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import { uniqueId } from 'lodash-es';\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactNode,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport { InputCheckIcon, InputDashIcon } from '@persona/icons';\n\nimport useFormField from '#src/components/FormControl/useFormField';\nimport Stack from '#src/components/Stack/Stack';\nimport Tooltip from '#src/components/Tooltip';\nimport { TextWithDashedUnderline } from '#src/components/Tooltip/TextUnderlineTooltip';\nimport { opacityOf } from '#src/lib/color';\nimport {\n isChecked,\n isDisabled,\n isFocusedVisible,\n isHovered,\n isIndeterminate,\n isNotDisabled,\n} from '#src/lib/pseudoClass';\nimport { semanticColor, semanticOnly } from '#src/lib/semanticColor';\nimport useControlled from '#src/lib/useControlled';\nimport { focusStyle } from '#src/mixins/focus';\nimport { TransitionDuration, TransitionEasing } from '#src/variables/transitions';\n\nconst Container = styled(Stack)<{ size: 'md' | 'sm'; disabled?: boolean }>`\n position: relative;\n cursor: pointer;\n\n flex-wrap: nowrap;\n\n ${({ size }) =>\n size === 'sm' &&\n css`\n height: 16px;\n `}\n\n &${isDisabled} {\n cursor: default;\n }\n`;\n\nconst CheckboxBox = styled.div<{ disabled?: boolean; checked?: boolean }>`\n cursor: pointer;\n display: flex;\n flex: 0 0 16px;\n justify-content: center;\n align-items: center;\n transition:\n box-shadow ${TransitionDuration.Fast} ${TransitionEasing.Move},\n background-color ${TransitionDuration.Fast} ${TransitionEasing.Move},\n border-color ${TransitionDuration.Fast} ${TransitionEasing.Move};\n border-radius: 3px;\n height: ${Spacing[4]};\n width: ${Spacing[4]};\n box-sizing: border-box;\n border: 1px solid ${({ theme }) => semanticColor(theme, 'InputBorderStrong', Color.BorderInputCheckbox)};\n background: ${({ theme }) => semanticColor(theme, 'InputSurfaceDefault', Color.BackgroundInputDefault)};\n\n svg {\n color: ${({ theme }) => semanticColor(theme, 'FgInverseStatic', Color.BorderIconInverse)};\n }\n\n &${isDisabled} {\n cursor: default;\n background: ${({ theme }) =>\n semanticColor(theme, 'InputSurfaceDisabled', Color.BackgroundInputDisabled)};\n border-color: ${({ theme }) =>\n semanticColor(theme, 'InputBorderDisabled', Color.BorderInputDisabled)};\n ${semanticOnly((tokens) => `opacity: ${opacityOf(tokens.Opacity65)};`)}\n }\n\n ${({ checked, theme }) =>\n checked &&\n css`\n border-color: ${semanticColor(theme, 'InputBorderAccent', Color.BackgroundInputActive)};\n background: ${semanticColor(theme, 'InputSurfaceAccent', Color.BackgroundInputActive)};\n\n &${isDisabled} {\n border-color: ${semanticColor(theme, 'InputSurfaceAccentDisabled', Color.BackgroundInputActiveDisabled)};\n background: ${semanticColor(theme, 'InputSurfaceAccentDisabled', Color.BackgroundInputActiveDisabled)};\n }\n `}\n`;\n\nconst CheckboxInput = styled.input`\n cursor: inherit;\n height: 16px;\n width: 16px;\n margin: 0;\n border: 0;\n opacity: 0;\n overflow: hidden;\n position: absolute;\n\n &${isHovered}${isNotDisabled} ~ ${CheckboxBox} {\n border-color: ${({ theme }) =>\n semanticColor(theme, 'InputBorderHoverStrong', Color.BorderInputCheckboxHover)};\n ${semanticOnly((tokens) => `background: ${tokens.InputSurfaceHover};`)}\n }\n\n &${isChecked}, &${isIndeterminate} {\n &${isHovered}${isNotDisabled} ~ ${CheckboxBox} {\n background: ${({ theme }) => semanticColor(theme, 'InputSurfaceAccentHover', Color.BackgroundInputActiveHover)};\n border-color: ${({ theme }) => semanticColor(theme, 'InputSurfaceAccentHover', Color.BackgroundInputActiveHover)};\n }\n }\n\n &${isFocusedVisible}${isNotDisabled} ~ ${CheckboxBox} {\n ${focusStyle}\n }\n`;\n\nconst Label = styled.label<{ disabled: boolean; size: 'md' | 'sm' }>`\n cursor: inherit;\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n\n ${({ size }) =>\n size === 'sm'\n ? css`\n ${Typography.TextSmall};\n line-height: 16px;\n `\n : css`\n ${Typography.TextMedium};\n\n /** Nudge text for visual alignment */\n position: relative;\n bottom: -1px;\n `}\n\n ${({ theme, disabled }) =>\n disabled &&\n css`\n cursor: default;\n color: ${semanticColor(theme, 'FgDisabled', theme.color.text.disabled)};\n `}\n`;\n\nexport interface CheckboxProps extends Omit<ComponentPropsWithoutRef<'input'>, 'value' | 'size'> {\n /**\n * `id` for the underlying `<input>`. If not provided a unique ID is generated\n * automatically and linked to the label.\n */\n id?: string;\n /** Called whenever the checked state changes. */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Visible label rendered to the right of the checkbox box. */\n label?: ReactNode;\n /** Disables interaction and renders the checkbox in a muted style. */\n disabled?: boolean;\n /**\n * When true the checkbox displays a dash (−) instead of a tick, indicating a\n * mixed / partially-selected state. Sets `aria-checked=\"mixed\"` for screen readers.\n */\n indeterminate?: boolean;\n /**\n * Controlled checked state. Omit (or pass `undefined`) to let the component\n * manage state internally via `defaultChecked`.\n */\n checked?: boolean;\n /** Value submitted with a form. */\n value?: unknown;\n 'data-test'?: string;\n /** Additional props forwarded to the outer container `<div>`. */\n containerProps?: ComponentPropsWithoutRef<'div'>;\n /**\n * Size of the checkbox and its label text.\n * @defaultValue 'md'\n */\n size?: 'md' | 'sm';\n /**\n * Tooltip content to display when hovering over the label.\n * When provided, the label will be wrapped in a tooltip.\n */\n tooltip?: ReactNode;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(\n {\n className,\n disabled,\n indeterminate,\n onChange,\n checked: checkedProp,\n defaultChecked,\n id,\n label,\n 'data-test': dataTest,\n containerProps,\n value,\n size = 'md',\n tooltip,\n ...elemProps\n },\n ref,\n) {\n const field = useFormField({ disabled });\n const [checked, setChecked] = useControlled({\n controlledValue: checkedProp,\n default: defaultChecked,\n });\n const generatedId = useMemo(() => uniqueId('pds_checkbox__'), []);\n const inputRef = useRef<HTMLInputElement>();\n\n // Use the inputId from FormControl context if available, otherwise use the provided id or generate one\n const inputId = field.inputId || id || generatedId;\n\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n // Re-sync on `checked` changes too: a native click clears the input's\n // `indeterminate` property, so it must be re-applied when the prop stays true.\n useEffect(() => {\n if (inputRef.current) {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n inputRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate, checked, inputRef]);\n\n return (\n <Container\n direction='horizontal'\n className={className}\n data-test={dataTest}\n disabled={field.disabled}\n align='center'\n size={size}\n {...containerProps}\n >\n <CheckboxInput\n id={inputId}\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n ref={inputRef}\n data-test={dataTest && `${dataTest}-input`}\n disabled={field.disabled}\n type='checkbox'\n checked={checkedProp == null ? undefined : checked}\n defaultChecked={defaultChecked}\n onChange={(e) => {\n setChecked(e.target.checked);\n if (onChange) {\n onChange(e);\n }\n }}\n aria-checked={indeterminate ? 'mixed' : undefined}\n value={value as unknown as string}\n {...elemProps}\n />\n <CheckboxBox\n aria-hidden='true'\n disabled={field.disabled}\n checked={(checked != null && checked) || indeterminate}\n >\n {indeterminate ? <InputDashIcon /> : checked ? <InputCheckIcon /> : null}\n </CheckboxBox>\n {label &&\n (tooltip ? (\n <Tooltip\n size={size}\n trigger={\n <Label htmlFor={inputId} disabled={!!field.disabled} size={size}>\n <TextWithDashedUnderline>{label}</TextWithDashedUnderline>\n </Label>\n }\n >\n {tooltip}\n </Tooltip>\n ) : (\n <Label htmlFor={inputId} disabled={!!field.disabled} size={size}>\n {label}\n </Label>\n ))}\n </Container>\n );\n});\n\nexport default Checkbox;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { n as CheckboxProps } from "./Checkbox-Clt9mCTk.mjs";
2
- import { o as ImplementsFormField } from "./inputFields-BqO2H-Kj.mjs";
2
+ import { o as ImplementsFormField } from "./inputFields-Dobwb4kT.mjs";
3
3
  import { ReactElement } from "react";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
  import { AriaCheckboxGroupProps } from "react-aria";
@@ -22,4 +22,4 @@ declare const CheckboxGroupField: ({
22
22
  }: CheckboxGroupFieldProps) => _$react_jsx_runtime0.JSX.Element;
23
23
  //#endregion
24
24
  export { CheckboxGroupField as t };
25
- //# sourceMappingURL=CheckboxGroupField-BT87OVOF.d.mts.map
25
+ //# sourceMappingURL=CheckboxGroupField-BW_BcW3L.d.mts.map
@@ -1,2 +1,2 @@
1
- import { t as CheckboxGroupField } from "./CheckboxGroupField-BT87OVOF.mjs";
1
+ import { t as CheckboxGroupField } from "./CheckboxGroupField-BW_BcW3L.mjs";
2
2
  export { CheckboxGroupField as default };
@@ -1,5 +1,5 @@
1
- import { n as ComboboxMultiSelectProps, r as ComboboxServerMultiSelectProps } from "./ComboboxMultiSelect-DJyAv0Eg.mjs";
2
- import { r as ComboboxSingleSelectProps, t as ComboboxServerSingleSelectProps } from "./ComboboxSingleSelect-CP8-HLKl.mjs";
1
+ import { n as ComboboxMultiSelectProps, r as ComboboxServerMultiSelectProps } from "./ComboboxMultiSelect-DsoIMJiZ.mjs";
2
+ import { r as ComboboxSingleSelectProps, t as ComboboxServerSingleSelectProps } from "./ComboboxSingleSelect-CKsqOAGB.mjs";
3
3
 
4
4
  //#region src/components/Combobox/Combobox.d.ts
5
5
  type ComboboxProps<T = string> = ComboboxSingleSelectProps<T> | ComboboxMultiSelectProps<T>;
@@ -9,4 +9,4 @@ declare const Combobox: <T = string>(props: (ComboboxProps<T> | ComboboxServerPr
9
9
  }) => React.ReactElement;
10
10
  //#endregion
11
11
  export { ComboboxProps as n, ComboboxServerProps as r, Combobox as t };
12
- //# sourceMappingURL=Combobox-aOJDTjzC.d.mts.map
12
+ //# sourceMappingURL=Combobox-DgYwerwd.d.mts.map
@@ -1,23 +1,23 @@
1
1
  import { a as styled, r as css } from "./styledComponentsInterop-Cs5CCPRy.mjs";
2
- import { isDisabled, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
3
2
  import { semanticColor } from "./lib/semanticColor.mjs";
4
- import { focusStyle } from "./mixins/focus.mjs";
5
- import { semanticScrollbar } from "./mixins/scrollbar.mjs";
6
3
  import { i as Paragraph } from "./Text-D0vEReED.mjs";
7
- import { a as Tooltip } from "./Tooltip-C2VB8I6y.mjs";
4
+ import { a as Tooltip } from "./Tooltip-CVBxc1yf.mjs";
5
+ import { isDisabled, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
8
6
  import { useOutsideClick } from "./lib/useOutsideClick.mjs";
9
7
  import { Z_INDICES } from "./lib/zindex.mjs";
8
+ import { focusStyle } from "./mixins/focus.mjs";
9
+ import { semanticScrollbar } from "./mixins/scrollbar.mjs";
10
10
  import { n as Stack } from "./Stack-Bzom2BTR.mjs";
11
- import { n as Button } from "./IconButton-kSjnfhWt.mjs";
12
- import { n as Sticker } from "./Sticker-jfOM4Yi6.mjs";
11
+ import { n as Button } from "./IconButton-Bj1fry_K.mjs";
12
+ import { n as Sticker } from "./Sticker-4VdGEFAu.mjs";
13
13
  import { n as useFormField } from "./useFormField-pOVkb5BK.mjs";
14
- import { r as InputGroup } from "./Input-TRmTBEav.mjs";
14
+ import { r as InputGroup } from "./Input-DcbzPaax.mjs";
15
15
  import Input_default from "./components/Input/index.mjs";
16
- import { c as MenuList, n as IconContainer, o as MenuHeading, s as MenuItem, t as FloatingCard } from "./Menu-BvMzSH2I.mjs";
17
- import { t as Checkbox } from "./Checkbox-C3z7UUSC.mjs";
18
- import { t as Spinner } from "./Spinner-vcApnJzv.mjs";
19
- import { Color, Spacing, Typography } from "@persona/design-tokens";
16
+ import { c as MenuList, n as IconContainer, o as MenuHeading, s as MenuItem, t as FloatingCard } from "./Menu-BVn1jh46.mjs";
17
+ import { t as Checkbox } from "./Checkbox-BAh-wF_F.mjs";
18
+ import { t as Spinner } from "./Spinner-k9ZiOdTr.mjs";
20
19
  import { Fragment, cloneElement, forwardRef, isValidElement, useCallback, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
20
+ import { Color, Spacing, Typography } from "@persona/design-tokens";
21
21
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
22
22
  import { ArrowLeftIcon, CaretDownIcon, ChevronRightIcon, CircleXInverseIcon, SearchIcon } from "@persona/icons";
23
23
  import Fuse from "fuse.js";
@@ -1012,7 +1012,8 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1012
1012
  return item ? item.label : "";
1013
1013
  }, []);
1014
1014
  const getOptionId = useCallback((index) => `${field.inputId}-option-${index}`, [field.inputId]);
1015
- const { addSelectedItem, getSelectedItemProps, getDropdownProps, removeSelectedItem, reset, setSelectedItems } = useMultipleSelection({
1015
+ const reportValues = useCallback((nextValues) => onValuesChange?.([...new Set(nextValues)]), [onValuesChange]);
1016
+ const { getSelectedItemProps, getDropdownProps, removeSelectedItem, reset } = useMultipleSelection({
1016
1017
  selectedItems,
1017
1018
  itemToKey: mode.itemToKey,
1018
1019
  onStateChange: ({ selectedItems: newSelectedItems, type }) => {
@@ -1023,13 +1024,10 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1023
1024
  case useMultipleSelection.stateChangeTypes.FunctionRemoveSelectedItem:
1024
1025
  case useMultipleSelection.stateChangeTypes.FunctionAddSelectedItem:
1025
1026
  case useMultipleSelection.stateChangeTypes.FunctionSetSelectedItems:
1026
- if (onValuesChange && newSelectedItems) {
1027
- const newValues = newSelectedItems.map((item) => item.value);
1028
- onValuesChange?.(newValues);
1029
- }
1027
+ if (newSelectedItems) reportValues(newSelectedItems.map((item) => item.value));
1030
1028
  break;
1031
1029
  case useMultipleSelection.stateChangeTypes.FunctionReset:
1032
- if (onValuesChange) onValuesChange([]);
1030
+ reportValues([]);
1033
1031
  break;
1034
1032
  default: break;
1035
1033
  }
@@ -1053,10 +1051,10 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1053
1051
  const handleSelectAllToggle = useCallback(() => {
1054
1052
  if (selectedState.allSelected || selectedState.indeterminate) {
1055
1053
  const visibleValues = filteredOptions.map((option) => option.value);
1056
- setSelectedItems(selectedItems.filter((item) => !visibleValues.includes(item.value)));
1054
+ reportValues(selectedItems.filter((item) => !visibleValues.includes(item.value)).map((item) => item.value));
1057
1055
  } else {
1058
1056
  const newItems = filteredOptions.filter((option) => !values.includes(option.value));
1059
- setSelectedItems([...selectedItems, ...newItems]);
1057
+ reportValues([...selectedItems, ...newItems].map((item) => item.value));
1060
1058
  }
1061
1059
  }, [
1062
1060
  selectedState.allSelected,
@@ -1064,7 +1062,20 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1064
1062
  filteredOptions,
1065
1063
  selectedItems,
1066
1064
  values,
1067
- setSelectedItems
1065
+ reportValues
1066
+ ]);
1067
+ const handleOptionToggle = useCallback((option) => {
1068
+ if (option.value === SELECT_ALL_VALUE) {
1069
+ handleSelectAllToggle();
1070
+ return;
1071
+ }
1072
+ const currentValues = selectedItems.map((item) => item.value);
1073
+ reportValues(values.includes(option.value) ? currentValues.filter((value) => value !== option.value) : [...currentValues, option.value]);
1074
+ }, [
1075
+ selectedItems,
1076
+ values,
1077
+ reportValues,
1078
+ handleSelectAllToggle
1068
1079
  ]);
1069
1080
  const { isOpen, getToggleButtonProps, getMenuProps, getInputProps, getItemProps, highlightedIndex, setHighlightedIndex, closeMenu, openMenu } = useCombobox({
1070
1081
  items: navigableItems,
@@ -1084,21 +1095,12 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1084
1095
  if (rowIndex != null) virtualizer.scrollToIndex(rowIndex, { align: "auto" });
1085
1096
  }
1086
1097
  },
1087
- onStateChange({ type, selectedItem: newSelectedItem, inputValue: newInputValue }) {
1098
+ onStateChange({ type, inputValue: newInputValue }) {
1088
1099
  switch (type) {
1089
1100
  case useCombobox.stateChangeTypes.InputChange:
1090
1101
  setInputValue(newInputValue || "");
1091
1102
  mode.onInputChange?.(newInputValue || "");
1092
1103
  break;
1093
- case useCombobox.stateChangeTypes.InputKeyDownEnter:
1094
- case useCombobox.stateChangeTypes.ItemClick:
1095
- if (newSelectedItem && newSelectedItem.value === SELECT_ALL_VALUE) {
1096
- handleSelectAllToggle();
1097
- break;
1098
- }
1099
- if (newSelectedItem) if (values.includes(newSelectedItem.value)) removeSelectedItem(newSelectedItem);
1100
- else addSelectedItem(newSelectedItem);
1101
- break;
1102
1104
  default: break;
1103
1105
  }
1104
1106
  },
@@ -1134,7 +1136,8 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1134
1136
  if (option.value === SELECT_ALL_VALUE) return /* @__PURE__ */ jsx(StyledMenuItem$1, {
1135
1137
  ...getItemProps({
1136
1138
  item: option,
1137
- index: currentIndex
1139
+ index: currentIndex,
1140
+ onClick: () => handleOptionToggle(option)
1138
1141
  }),
1139
1142
  focused: isHighlighted,
1140
1143
  selected: false,
@@ -1160,7 +1163,8 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1160
1163
  ...getItemProps({
1161
1164
  item: option,
1162
1165
  index: currentIndex,
1163
- "aria-selected": isSelected
1166
+ "aria-selected": isSelected,
1167
+ onClick: () => handleOptionToggle(option)
1164
1168
  }),
1165
1169
  focused: isHighlighted,
1166
1170
  selected: false,
@@ -1196,7 +1200,8 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1196
1200
  values,
1197
1201
  getItemProps,
1198
1202
  size,
1199
- selectedState
1203
+ selectedState,
1204
+ handleOptionToggle
1200
1205
  ]);
1201
1206
  const isMenuOpen = isOpen;
1202
1207
  const { isFooterHighlighted, footerActionId, showFooterAction, handleFooterKeyDown, clearFooterHighlight } = useComboboxFooterAction({
@@ -1210,8 +1215,21 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1210
1215
  inputId: field.inputId
1211
1216
  });
1212
1217
  const handleKeyDown = useCallback((event) => {
1213
- if (event.key === "Enter" && !isMenuOpen) openMenu();
1214
- }, [isMenuOpen, openMenu]);
1218
+ if (event.key === "Enter") {
1219
+ if (!isMenuOpen) openMenu();
1220
+ else if (highlightedIndex >= 0 && navigableItems[highlightedIndex]) {
1221
+ event.preventDefault();
1222
+ Object.assign(event, { preventDownshiftDefault: true });
1223
+ handleOptionToggle(navigableItems[highlightedIndex]);
1224
+ }
1225
+ }
1226
+ }, [
1227
+ isMenuOpen,
1228
+ openMenu,
1229
+ highlightedIndex,
1230
+ navigableItems,
1231
+ handleOptionToggle
1232
+ ]);
1215
1233
  const dropdownPosition = useDropdownPosition(portalContainerRef, isMenuOpen, embedded ? false : portal);
1216
1234
  useEffect(() => {
1217
1235
  mode.onMenuOpenChange(isMenuOpen);
@@ -1251,13 +1269,7 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1251
1269
  }
1252
1270
  if (e.key === "Enter" && highlightedIndex >= 0 && navigableItems[highlightedIndex]) {
1253
1271
  e.preventDefault();
1254
- const selectedItem = navigableItems[highlightedIndex];
1255
- if (selectedItem.value === SELECT_ALL_VALUE) {
1256
- handleSelectAllToggle();
1257
- return;
1258
- }
1259
- if (values.includes(selectedItem.value)) removeSelectedItem(selectedItem);
1260
- else addSelectedItem(selectedItem);
1272
+ handleOptionToggle(navigableItems[highlightedIndex]);
1261
1273
  }
1262
1274
  if (e.key === "Escape") {
1263
1275
  clearFooterHighlight();
@@ -1277,12 +1289,9 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1277
1289
  handleFooterKeyDown,
1278
1290
  isFooterHighlighted,
1279
1291
  clearFooterHighlight,
1280
- values,
1281
- addSelectedItem,
1282
- removeSelectedItem,
1283
1292
  closeMenu,
1284
1293
  comboboxInputRef,
1285
- handleSelectAllToggle
1294
+ handleOptionToggle
1286
1295
  ]);
1287
1296
  useOutsideClick({
1288
1297
  ref: comboboxContainerRef,
@@ -1327,21 +1336,24 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
1327
1336
  ref: comboboxContainerRef,
1328
1337
  children: [embedded ? null : externalTrigger != null ? externalTrigger : /* @__PURE__ */ jsxs(InputContainer, { children: [
1329
1338
  /* @__PURE__ */ jsx(MultiSelectComboboxInput, {
1330
- ...getInputProps(getDropdownProps({
1331
- ...props,
1332
- ref: comboboxInputRef,
1333
- id: field.inputId,
1334
- placeholder: selectedItems.length === 0 ? placeholder : "",
1335
- disabled: field.disabled,
1336
- "aria-label": ariaLabel,
1337
- "aria-labelledby": labelId,
1338
- "aria-describedby": [field.helperTextId, field.hasWarning ? field.warningTextId : null].filter(Boolean).join(" ") || void 0,
1339
- "aria-errormessage": field.hasError ? field.errorTextId : void 0,
1340
- "aria-invalid": field.hasError,
1341
- "aria-required": required || void 0,
1342
- preventKeyAction: isMenuOpen,
1343
- onKeyDown: handleKeyDown
1344
- })),
1339
+ ...getInputProps({
1340
+ ...getDropdownProps({
1341
+ ...props,
1342
+ ref: comboboxInputRef,
1343
+ id: field.inputId,
1344
+ placeholder: selectedItems.length === 0 ? placeholder : "",
1345
+ disabled: field.disabled,
1346
+ "aria-label": ariaLabel,
1347
+ "aria-labelledby": labelId,
1348
+ "aria-describedby": [field.helperTextId, field.hasWarning ? field.warningTextId : null].filter(Boolean).join(" ") || void 0,
1349
+ "aria-errormessage": field.hasError ? field.errorTextId : void 0,
1350
+ "aria-invalid": field.hasError,
1351
+ "aria-required": required || void 0,
1352
+ preventKeyAction: isMenuOpen,
1353
+ onKeyDown: handleKeyDown
1354
+ }),
1355
+ ...isMenuOpen ? { onKeyDown: handleKeyDown } : {}
1356
+ }),
1345
1357
  size,
1346
1358
  $isOpen: isMenuOpen,
1347
1359
  hasWarning: field.hasWarning,
@@ -1609,7 +1621,6 @@ function ComboboxSingleSelectComponent(componentProps, ref) {
1609
1621
  const [navigationPath, setNavigationPath] = useState([]);
1610
1622
  const comboboxInputRef = useRef(null);
1611
1623
  const internalContainerRef = useRef(null);
1612
- const pendingDescentRef = useRef(null);
1613
1624
  const committedLabelRef = useRef(null);
1614
1625
  const lastValueRef = useRef(value);
1615
1626
  useEffect(() => {
@@ -1702,10 +1713,6 @@ function ComboboxSingleSelectComponent(componentProps, ref) {
1702
1713
  setNavigationPath((prev) => prev.length > 0 ? prev.slice(0, -1) : prev);
1703
1714
  setInputValue("");
1704
1715
  }, []);
1705
- const handleDescend = useCallback((groupLabel) => {
1706
- setNavigationPath((prev) => [...prev, groupLabel]);
1707
- setInputValue("");
1708
- }, []);
1709
1716
  const isItemDisabled = useCallback((item) => item?.kind === "leaf" && optionDisabledReason?.(item.option) != null, [optionDisabledReason]);
1710
1717
  const { isOpen, getToggleButtonProps, getMenuProps, getInputProps, getItemProps, highlightedIndex, setHighlightedIndex, openMenu } = useCombobox({
1711
1718
  items: downshiftItems,
@@ -1751,27 +1758,22 @@ function ComboboxSingleSelectComponent(componentProps, ref) {
1751
1758
  case useCombobox.stateChangeTypes.InputKeyDownEnter: {
1752
1759
  const candidate = changes.selectedItem;
1753
1760
  if (candidate?.kind === "leaf" && optionDisabledReason?.(candidate.option) != null) return state;
1754
- if (candidate && candidate.kind === "group") {
1755
- pendingDescentRef.current = candidate.group.label;
1756
- return {
1757
- ...changes,
1758
- selectedItem: state.selectedItem,
1759
- isOpen: true
1760
- };
1761
- }
1761
+ if (candidate && candidate.kind === "group") return {
1762
+ ...changes,
1763
+ selectedItem: state.selectedItem,
1764
+ isOpen: true
1765
+ };
1762
1766
  return changes;
1763
1767
  }
1764
1768
  default: return changes;
1765
1769
  }
1766
1770
  }
1767
1771
  });
1768
- useEffect(() => {
1769
- if (pendingDescentRef.current != null) {
1770
- const target = pendingDescentRef.current;
1771
- pendingDescentRef.current = null;
1772
- handleDescend(target);
1773
- }
1774
- });
1772
+ const handleDescend = useCallback((groupLabel) => {
1773
+ setNavigationPath((prev) => [...prev, groupLabel]);
1774
+ setInputValue("");
1775
+ setHighlightedIndex(-1);
1776
+ }, [setHighlightedIndex]);
1775
1777
  useEffect(() => {
1776
1778
  if (!isOpen && !embedded && navigationPath.length > 0) setNavigationPath([]);
1777
1779
  }, [
@@ -1841,6 +1843,7 @@ function ComboboxSingleSelectComponent(componentProps, ref) {
1841
1843
  },
1842
1844
  index: currentIndex
1843
1845
  }),
1846
+ onClick: () => handleDescend(group.label),
1844
1847
  "aria-haspopup": "menu",
1845
1848
  focused: isHighlighted,
1846
1849
  prefixIcon: group.prefixIcon,
@@ -1862,7 +1865,8 @@ function ComboboxSingleSelectComponent(componentProps, ref) {
1862
1865
  }, [
1863
1866
  highlightedIndex,
1864
1867
  getItemProps,
1865
- size
1868
+ size,
1869
+ handleDescend
1866
1870
  ]);
1867
1871
  const renderNestedLevel = useCallback((items) => {
1868
1872
  let navIndex = -1;
@@ -1917,14 +1921,13 @@ function ComboboxSingleSelectComponent(componentProps, ref) {
1917
1921
  if (!isMenuOpen) return;
1918
1922
  if (handleFooterKeyDown(event)) return;
1919
1923
  if (isSearching) return;
1920
- if (event.key === "Enter" && downshiftItems[highlightedIndex]?.kind === "group") {
1921
- event.stopPropagation();
1922
- return;
1923
- }
1924
- if (event.key === "ArrowRight") {
1924
+ if (event.key === "Enter" || event.key === "ArrowRight") {
1925
1925
  const highlighted = downshiftItems[highlightedIndex];
1926
- if (highlighted && highlighted.kind === "group") {
1926
+ if (highlighted?.kind === "group") {
1927
1927
  event.preventDefault();
1928
+ if (event.key === "Enter") event.stopPropagation();
1929
+ const nativeEvent = event.nativeEvent;
1930
+ nativeEvent.preventDownshiftDefault = true;
1928
1931
  handleDescend(highlighted.group.label);
1929
1932
  }
1930
1933
  return;
@@ -2139,4 +2142,4 @@ const Combobox = forwardRef(ComboboxComponent);
2139
2142
  //#endregion
2140
2143
  export { CaretButton as n, flattenOptions as r, Combobox as t };
2141
2144
 
2142
- //# sourceMappingURL=Combobox-BkK_tosd.mjs.map
2145
+ //# sourceMappingURL=Combobox-DmFQ5cAy.mjs.map