@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,18 +1,18 @@
1
1
  import { a as styled, r as css } from "./styledComponentsInterop-Cs5CCPRy.mjs";
2
- import { isDisabled, isFocused, isFocusedVisible, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
3
2
  import { semanticColor, semanticOnly, semanticTokens } from "./lib/semanticColor.mjs";
4
- import { focusWithinOutline } from "./mixins/focus.mjs";
5
- import { withAlpha } from "./lib/color.mjs";
6
- import inputMixin from "./mixins/input.mjs";
7
3
  import { t as Card_default } from "./Card-DuQHyroh.mjs";
4
+ import { withAlpha } from "./lib/color.mjs";
5
+ import { isDisabled, isFocused, isFocusedVisible, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
8
6
  import { Z_INDICES } from "./lib/zindex.mjs";
9
- import { t as IconButton } from "./IconButton-kSjnfhWt.mjs";
10
- import { t as ClearButton } from "./Input-TRmTBEav.mjs";
11
- import { c as MenuList, s as MenuItem } from "./Menu-BvMzSH2I.mjs";
12
- import { s as Popover_default } from "./Popover-DuFjaSoq.mjs";
13
- import { a as FormLabel } from "./FormControl--pbTH3bY.mjs";
14
- import { BorderRadius, Color, Spacing, Typography } from "@persona/design-tokens";
7
+ import { focusWithinOutline } from "./mixins/focus.mjs";
8
+ import inputMixin from "./mixins/input.mjs";
9
+ import { t as IconButton } from "./IconButton-Bj1fry_K.mjs";
10
+ import { t as ClearButton } from "./Input-DcbzPaax.mjs";
11
+ import { c as MenuList, s as MenuItem } from "./Menu-BVn1jh46.mjs";
12
+ import { s as Popover_default } from "./Popover-DP9DXReH.mjs";
13
+ import { a as FormLabel } from "./FormControl-BoKGiWdQ.mjs";
15
14
  import { forwardRef, memo, useCallback, useEffect, useRef, useState } from "react";
15
+ import { BorderRadius, Color, Spacing, Typography } from "@persona/design-tokens";
16
16
  import { jsx, jsxs } from "react/jsx-runtime";
17
17
  import { DateTime, Settings } from "luxon";
18
18
  import { ArrowLeftIcon, ArrowRightIcon, CircleXInverseIcon } from "@persona/icons";
@@ -172,283 +172,6 @@ const CalendarGrid = ({ state, offset = {}, skipFromTabOrder = false }) => {
172
172
  });
173
173
  };
174
174
  //#endregion
175
- //#region src/components/DatePicker/common.ts
176
- const createCalendar = () => new GregorianCalendar();
177
- //#endregion
178
- //#region src/components/DatePicker/Calendar/Calendar.tsx
179
- const Calendar = (props) => {
180
- const { locale } = useLocale();
181
- const state = useCalendarState({
182
- ...props,
183
- locale,
184
- createCalendar
185
- });
186
- const { calendarProps, prevButtonProps, nextButtonProps, title } = useCalendar(props, state);
187
- return /* @__PURE__ */ jsxs(CalendarContainer, {
188
- ...calendarProps,
189
- ref: props.calendarRef,
190
- children: [/* @__PURE__ */ jsxs(CalendarHeader, { children: [
191
- /* @__PURE__ */ jsx(CalendarButton, {
192
- ...prevButtonProps,
193
- children: /* @__PURE__ */ jsx(ArrowLeftIcon, {})
194
- }),
195
- /* @__PURE__ */ jsx(CalendarHeading, { children: title }),
196
- /* @__PURE__ */ jsx(CalendarButton, {
197
- ...nextButtonProps,
198
- children: /* @__PURE__ */ jsx(ArrowRightIcon, {})
199
- })
200
- ] }), /* @__PURE__ */ jsx(CalendarGrid, { state })]
201
- });
202
- };
203
- //#endregion
204
- //#region src/components/DatePicker/DateField.tsx
205
- const DateSegmentContainer = styled.div`
206
- font-variant-numeric: tabular-nums;
207
- box-sizing: content-box;
208
- text-align: end;
209
-
210
- ${isFocused} {
211
- outline: 2px solid ${({ theme }) => semanticColor(theme, "BorderFocus", Color.BorderFocus)};
212
- outline-offset: 1px;
213
- background-color: ${({ theme }) => {
214
- const tokens = semanticTokens(theme);
215
- return tokens ? withAlpha(tokens.SurfaceAccent, tokens.Opacity25) : Color.CorePurple200;
216
- }};
217
- ${semanticOnly((tokens) => `color: ${tokens.FgAccent};`)}
218
- }
219
-
220
- ${({ $isComma, $isTimezone }) => ($isComma || $isTimezone) && css`
221
- margin-left: 0.25ch;
222
- margin-right: 0.25ch;
223
- `}
224
-
225
- ${({ $isTimezone }) => $isTimezone && css`
226
- color: ${({ theme }) => semanticColor(theme, "FgSecondary", Color.TextSecondary)};
227
- pointer-events: none;
228
-
229
- &:focus {
230
- outline: none;
231
- background-color: transparent;
232
- }
233
- `}
234
- `;
235
- const DateSegmentPlaceholder = styled.span`
236
- display: block;
237
- width: 100%;
238
- pointer-events: none;
239
-
240
- &:focus {
241
- outline: none;
242
- }
243
-
244
- ${({ isPlaceholder }) => isPlaceholder ? css`
245
- height: 100%;
246
- color: ${({ theme }) => semanticColor(theme, "FgSecondary", theme.color.text.tertiary)};
247
- ` : css`
248
- visibility: hidden;
249
- height: 0;
250
- `}
251
- ${({ type }) => type === "literal" && css`
252
- padding-left: ${Spacing[1]};
253
- padding-right: ${Spacing[1]};
254
- `}
255
- ${({ type, isPlaceholder }) => type === "month" && isPlaceholder && css`
256
- width: 3ch;
257
- `}
258
- `;
259
- function DateSegment({ segment, state }) {
260
- const ref = useRef();
261
- const { segmentProps } = useDateSegment(segment, state, ref);
262
- let minWidth;
263
- switch (segment.type) {
264
- case "dayPeriod":
265
- minWidth = "2.75ch";
266
- break;
267
- default:
268
- minWidth = `${segment.maxValue != null && String(segment.maxValue).length + .25}ch`;
269
- break;
270
- }
271
- const isComma = segment.type === "literal" && segment.text === ", ";
272
- const isTimezone = segment.type === "timeZoneName";
273
- return /* @__PURE__ */ jsxs(DateSegmentContainer, {
274
- ...segmentProps,
275
- ref,
276
- style: {
277
- ...segmentProps.style,
278
- minWidth
279
- },
280
- $isComma: isComma,
281
- $isTimezone: isTimezone,
282
- ...isTimezone && {
283
- tabIndex: -1,
284
- role: "presentation"
285
- },
286
- children: [segment.placeholder && /* @__PURE__ */ jsx(DateSegmentPlaceholder, {
287
- "aria-hidden": "true",
288
- isPlaceholder: segment.isPlaceholder,
289
- type: segment.type,
290
- children: segment.placeholder
291
- }), segment.isPlaceholder ? "" : segment.text]
292
- });
293
- }
294
- const InputBox = styled.div`
295
- ${inputMixin};
296
- display: flex;
297
- padding-left: ${Spacing[2]};
298
- padding-right: ${Spacing[2]};
299
- line-height: 1;
300
- position: relative;
301
- white-space: nowrap;
302
-
303
- ${({ $hasTimeZone }) => $hasTimeZone && css`
304
- width: auto;
305
- flex: 1 0 auto;
306
- `}
307
-
308
- &${isFocusedVisible}${isNotDisabled} {
309
- position: relative;
310
- z-index: 1;
311
- }
312
-
313
- ${focusWithinOutline}
314
-
315
- ${({ $inputPosition }) => {
316
- switch ($inputPosition) {
317
- case "start": return css`
318
- border-top-right-radius: 0px;
319
- border-bottom-right-radius: 0px;
320
- `;
321
- case "end": return css`
322
- margin-left: -1px;
323
- border-top-left-radius: 0px;
324
- border-bottom-left-radius: 0px;
325
- `;
326
- }
327
- }}
328
- `;
329
- const DateField = forwardRef(function DateField(props, forwardedRef) {
330
- const { locale } = useLocale$1();
331
- const state = useDateFieldState({
332
- ...props,
333
- locale,
334
- createCalendar
335
- });
336
- const ref = useRef();
337
- const { fieldProps } = useDateField(props, state, ref);
338
- return /* @__PURE__ */ jsx(InputBox, {
339
- ...fieldProps,
340
- ...props.dateFieldProps || {},
341
- ref: mergeRefs(ref, forwardedRef),
342
- focused: props.focused,
343
- disabled: props.disabled,
344
- "aria-label": props["aria-label"],
345
- $size: props.size ?? "md",
346
- $inputPosition: props.inputPosition,
347
- $hasTimeZone: state.segments.some((segment) => segment.type === "timeZoneName"),
348
- hasError: props.hasError,
349
- children: state.segments.map((segment, i) => /* @__PURE__ */ jsx(DateSegment, {
350
- segment,
351
- state
352
- }, i))
353
- });
354
- });
355
- //#endregion
356
- //#region src/components/DatePicker/DatePicker.tsx
357
- const OpenButton$1 = ({ calendarRef }) => {
358
- const openCalBtnRef = useRef(null);
359
- const { buttonProps } = useButton({ onPress: () => {
360
- if (calendarRef.current) calendarRef.current.querySelector("button[aria-label=\"Previous\"]").focus();
361
- } }, openCalBtnRef);
362
- return /* @__PURE__ */ jsx("button", {
363
- ...buttonProps,
364
- ref: openCalBtnRef,
365
- "aria-label": "Open calendar"
366
- });
367
- };
368
- const DatePicker = (props) => {
369
- const state = useDatePickerState(props);
370
- const ref = useRef(null);
371
- const fieldRef = useRef(null);
372
- const { groupProps, fieldProps, calendarProps } = useDatePicker(props, state, ref);
373
- const calendarRef = useRef(null);
374
- const isClosingRef = useRef(false);
375
- const { focusWithinProps } = useFocusWithin({
376
- onFocusWithin: () => {
377
- if (!state.isOpen && !isClosingRef.current) state.setOpen(true);
378
- },
379
- onBlurWithin: (e) => {
380
- if (e.relatedTarget && !calendarRef?.current?.contains(e.relatedTarget) && state.isOpen) state.setOpen(false);
381
- }
382
- });
383
- const handleOutsideClick = (e) => {
384
- const target = e.target;
385
- if (ref.current?.contains(target)) return;
386
- if (state.isOpen) state.setOpen(false);
387
- };
388
- const handleKeyDown = useCallback((event) => {
389
- if (event.key === "Enter" && !state.isOpen) {
390
- event.preventDefault();
391
- state.setOpen(true);
392
- }
393
- }, [state]);
394
- return /* @__PURE__ */ jsx("div", {
395
- style: {
396
- display: "flex",
397
- flexDirection: "column"
398
- },
399
- children: /* @__PURE__ */ jsxs(Popover_default, {
400
- open: state.isOpen,
401
- modal: false,
402
- contentProps: {
403
- style: { zIndex: props.useModalZIndex ? Z_INDICES.modalDropdown : Z_INDICES.dropdown },
404
- align: "start",
405
- "aria-modal": true,
406
- onInteractOutside: handleOutsideClick,
407
- onEscapeKeyDown: () => {
408
- state.setOpen(false);
409
- },
410
- onCloseAutoFocus: (e) => {
411
- e.preventDefault();
412
- isClosingRef.current = true;
413
- if (fieldRef.current) {
414
- const firstEditableSegment = fieldRef.current.querySelector("[tabindex=\"0\"]");
415
- if (firstEditableSegment instanceof HTMLElement) firstEditableSegment.focus();
416
- }
417
- requestAnimationFrame(() => {
418
- isClosingRef.current = false;
419
- });
420
- },
421
- noPadding: true
422
- },
423
- children: [/* @__PURE__ */ jsx(Popover_default.Trigger, {
424
- asChild: true,
425
- children: /* @__PURE__ */ jsxs("div", {
426
- ...mergeProps(groupProps, focusWithinProps),
427
- ref,
428
- style: {
429
- display: "flex",
430
- position: "relative"
431
- },
432
- children: [/* @__PURE__ */ jsx(DateField, {
433
- ref: fieldRef,
434
- id: props.id,
435
- dateFieldProps: props.dateFieldProps,
436
- disabled: props.disabled,
437
- size: props.size,
438
- ...mergeProps(fieldProps, { onKeyDown: handleKeyDown }),
439
- value: fieldProps.value ?? void 0
440
- }), /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(OpenButton$1, { calendarRef }) })]
441
- })
442
- }), /* @__PURE__ */ jsx(Calendar, {
443
- ...calendarProps,
444
- autoFocus: void 0,
445
- calendarRef,
446
- id: "calendar-popover"
447
- })]
448
- })
449
- });
450
- };
451
- //#endregion
452
175
  //#region src/components/DatePicker/Calendar/RangeCalendarPresets.tsx
453
176
  /** The preset windows the picker offers; the codec resolves the same ids on read. */
454
177
  const getDefaultPresets = (tz) => {
@@ -579,6 +302,9 @@ const arePropsEqual = (prevProps, nextProps) => {
579
302
  };
580
303
  var RangeCalendarPresets_default = memo(DateRangePickerPresets, arePropsEqual);
581
304
  //#endregion
305
+ //#region src/components/DatePicker/common.ts
306
+ const createCalendar = () => new GregorianCalendar();
307
+ //#endregion
582
308
  //#region src/components/DatePicker/time-range.ts
583
309
  const earliest = (a, b) => a.compare(b) <= 0 ? a : b;
584
310
  const presetEnd = (end) => earliest(end.set({
@@ -626,96 +352,248 @@ const RangeCalendarContainer = styled.div`
626
352
  const PresetsContainer = styled(Card_default.Body)`
627
353
  border-right: 1px solid ${({ theme }) => semanticColor(theme, "BorderDivider", Color.BorderHairline)};
628
354
  `;
629
- const hasTimeComponent = (date) => "hour" in date;
630
- const RangeCalendar = ({ calendarRef, onSelectDate, minDate, maxDate, hidePresets, visibleMonths = 2, setDateMode, onPresetSelect, selectedPreset, setValue, granularity, ...props }) => {
631
- const { locale } = useLocale();
632
- const timezoneName = Settings.defaultZone.name;
633
- const rangeCalendarState = useRangeCalendarState({
355
+ const hasTimeComponent = (date) => "hour" in date;
356
+ const RangeCalendar = ({ calendarRef, onSelectDate, minDate, maxDate, hidePresets, visibleMonths = 2, setDateMode, onPresetSelect, selectedPreset, setValue, granularity, ...props }) => {
357
+ const { locale } = useLocale();
358
+ const timezoneName = Settings.defaultZone.name;
359
+ const rangeCalendarState = useRangeCalendarState({
360
+ ...props,
361
+ minValue: minDate,
362
+ maxValue: maxDate,
363
+ visibleDuration: { months: visibleMonths },
364
+ locale,
365
+ createCalendar
366
+ });
367
+ const state = {
368
+ ...rangeCalendarState,
369
+ setValue: (value) => {
370
+ if (!value || granularity === "day") {
371
+ rangeCalendarState.setValue(value);
372
+ return;
373
+ }
374
+ setValue({
375
+ start: toZoned(toCalendarDateTime(value.start), timezoneName),
376
+ end: toZoned(hasTimeComponent(value.end) ? toCalendarDateTime(value.end) : presetEnd(toCalendarDateTime(value.end)), timezoneName)
377
+ });
378
+ },
379
+ selectDate: (date) => {
380
+ if (onSelectDate) {
381
+ onSelectDate(date);
382
+ rangeCalendarState.setAnchorDate(null);
383
+ } else rangeCalendarState.selectDate(date);
384
+ }
385
+ };
386
+ const commitRef = useRef(state.setValue);
387
+ useEffect(() => {
388
+ commitRef.current = state.setValue;
389
+ });
390
+ const commitRange = useCallback((value) => commitRef.current(value), []);
391
+ const ref = useRef();
392
+ const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(props, state, ref);
393
+ const monthDateFormatter = useDateFormatter({
394
+ month: "long",
395
+ year: "numeric",
396
+ timeZone: timezoneName
397
+ });
398
+ const monthHeaders = range(0, visibleMonths).map((i) => {
399
+ return /* @__PURE__ */ jsxs(CalendarHeaderMonth, { children: [
400
+ i === 0 && /* @__PURE__ */ jsx(PrevButton, {
401
+ ...prevButtonProps,
402
+ children: /* @__PURE__ */ jsx(ArrowLeftIcon, {})
403
+ }),
404
+ /* @__PURE__ */ jsx(RangeCalendarHeading, {
405
+ "aria-hidden": true,
406
+ children: monthDateFormatter.format(state.visibleRange.start.add({ months: i }).toDate(timezoneName))
407
+ }),
408
+ i === visibleMonths - 1 && /* @__PURE__ */ jsx(NextButton, {
409
+ ...nextButtonProps,
410
+ children: /* @__PURE__ */ jsx(ArrowRightIcon, {})
411
+ })
412
+ ] }, `calendar-month-${i}`);
413
+ });
414
+ const monthGrids = range(0, visibleMonths).map((i) => {
415
+ return /* @__PURE__ */ jsx(CalendarGrid, {
416
+ state,
417
+ offset: { months: i },
418
+ skipFromTabOrder: i > 0
419
+ }, `calendar-grid-${i}`);
420
+ });
421
+ return /* @__PURE__ */ jsxs(RangeCalendarContainer, {
422
+ ref: calendarRef,
423
+ children: [!hidePresets && /* @__PURE__ */ jsx(PresetsContainer, {
424
+ padding: Spacing[3],
425
+ children: /* @__PURE__ */ jsx(RangeCalendarPresets_default, {
426
+ state,
427
+ commitRange,
428
+ setDateMode,
429
+ onPresetSelect,
430
+ selectedPreset
431
+ })
432
+ }), /* @__PURE__ */ jsx(Card_default.Body, {
433
+ padding: Spacing[3],
434
+ children: /* @__PURE__ */ jsxs(CalendarContainer, {
435
+ ...calendarProps,
436
+ ref,
437
+ children: [/* @__PURE__ */ jsxs(RangeCalendarHeader, { children: [/* @__PURE__ */ jsx(VisuallyHidden, {
438
+ isFocusable: false,
439
+ children: calendarProps["aria-label"]
440
+ }), monthHeaders] }), /* @__PURE__ */ jsx(CalendarGrids, { children: monthGrids })]
441
+ })
442
+ })]
443
+ });
444
+ };
445
+ //#endregion
446
+ //#region src/components/DatePicker/DateField.tsx
447
+ const DateSegmentContainer = styled.div`
448
+ font-variant-numeric: tabular-nums;
449
+ box-sizing: content-box;
450
+ text-align: end;
451
+
452
+ ${isFocused} {
453
+ outline: 2px solid ${({ theme }) => semanticColor(theme, "BorderFocus", Color.BorderFocus)};
454
+ outline-offset: 1px;
455
+ background-color: ${({ theme }) => {
456
+ const tokens = semanticTokens(theme);
457
+ return tokens ? withAlpha(tokens.SurfaceAccent, tokens.Opacity25) : Color.CorePurple200;
458
+ }};
459
+ ${semanticOnly((tokens) => `color: ${tokens.FgAccent};`)}
460
+ }
461
+
462
+ ${({ $isComma, $isTimezone }) => ($isComma || $isTimezone) && css`
463
+ margin-left: 0.25ch;
464
+ margin-right: 0.25ch;
465
+ `}
466
+
467
+ ${({ $isTimezone }) => $isTimezone && css`
468
+ color: ${({ theme }) => semanticColor(theme, "FgSecondary", Color.TextSecondary)};
469
+ pointer-events: none;
470
+
471
+ &:focus {
472
+ outline: none;
473
+ background-color: transparent;
474
+ }
475
+ `}
476
+ `;
477
+ const DateSegmentPlaceholder = styled.span`
478
+ display: block;
479
+ width: 100%;
480
+ pointer-events: none;
481
+
482
+ &:focus {
483
+ outline: none;
484
+ }
485
+
486
+ ${({ isPlaceholder }) => isPlaceholder ? css`
487
+ height: 100%;
488
+ color: ${({ theme }) => semanticColor(theme, "FgSecondary", theme.color.text.tertiary)};
489
+ ` : css`
490
+ visibility: hidden;
491
+ height: 0;
492
+ `}
493
+ ${({ type }) => type === "literal" && css`
494
+ padding-left: ${Spacing[1]};
495
+ padding-right: ${Spacing[1]};
496
+ `}
497
+ ${({ type, isPlaceholder }) => type === "month" && isPlaceholder && css`
498
+ width: 3ch;
499
+ `}
500
+ `;
501
+ function DateSegment({ segment, state }) {
502
+ const ref = useRef();
503
+ const { segmentProps } = useDateSegment(segment, state, ref);
504
+ let minWidth;
505
+ switch (segment.type) {
506
+ case "dayPeriod":
507
+ minWidth = "2.75ch";
508
+ break;
509
+ default:
510
+ minWidth = `${segment.maxValue != null && String(segment.maxValue).length + .25}ch`;
511
+ break;
512
+ }
513
+ const isComma = segment.type === "literal" && segment.text === ", ";
514
+ const isTimezone = segment.type === "timeZoneName";
515
+ return /* @__PURE__ */ jsxs(DateSegmentContainer, {
516
+ ...segmentProps,
517
+ ref,
518
+ style: {
519
+ ...segmentProps.style,
520
+ minWidth
521
+ },
522
+ $isComma: isComma,
523
+ $isTimezone: isTimezone,
524
+ ...isTimezone && {
525
+ tabIndex: -1,
526
+ role: "presentation"
527
+ },
528
+ children: [segment.placeholder && /* @__PURE__ */ jsx(DateSegmentPlaceholder, {
529
+ "aria-hidden": "true",
530
+ isPlaceholder: segment.isPlaceholder,
531
+ type: segment.type,
532
+ children: segment.placeholder
533
+ }), segment.isPlaceholder ? "" : segment.text]
534
+ });
535
+ }
536
+ const InputBox = styled.div`
537
+ ${inputMixin};
538
+ display: flex;
539
+ padding-left: ${Spacing[2]};
540
+ padding-right: ${Spacing[2]};
541
+ line-height: 1;
542
+ position: relative;
543
+ white-space: nowrap;
544
+
545
+ ${({ $hasTimeZone }) => $hasTimeZone && css`
546
+ width: auto;
547
+ flex: 1 0 auto;
548
+ `}
549
+
550
+ &${isFocusedVisible}${isNotDisabled} {
551
+ position: relative;
552
+ z-index: 1;
553
+ }
554
+
555
+ ${focusWithinOutline}
556
+
557
+ ${({ $inputPosition }) => {
558
+ switch ($inputPosition) {
559
+ case "start": return css`
560
+ border-top-right-radius: 0px;
561
+ border-bottom-right-radius: 0px;
562
+ `;
563
+ case "end": return css`
564
+ margin-left: -1px;
565
+ border-top-left-radius: 0px;
566
+ border-bottom-left-radius: 0px;
567
+ `;
568
+ }
569
+ }}
570
+ `;
571
+ const DateField = forwardRef(function DateField(props, forwardedRef) {
572
+ const { locale } = useLocale$1();
573
+ const state = useDateFieldState({
634
574
  ...props,
635
- minValue: minDate,
636
- maxValue: maxDate,
637
- visibleDuration: { months: visibleMonths },
638
575
  locale,
639
576
  createCalendar
640
577
  });
641
- const state = {
642
- ...rangeCalendarState,
643
- setValue: (value) => {
644
- if (!value || granularity === "day") {
645
- rangeCalendarState.setValue(value);
646
- return;
647
- }
648
- setValue({
649
- start: toZoned(toCalendarDateTime(value.start), timezoneName),
650
- end: toZoned(hasTimeComponent(value.end) ? toCalendarDateTime(value.end) : presetEnd(toCalendarDateTime(value.end)), timezoneName)
651
- });
652
- },
653
- selectDate: (date) => {
654
- if (onSelectDate) {
655
- onSelectDate(date);
656
- rangeCalendarState.setAnchorDate(null);
657
- } else rangeCalendarState.selectDate(date);
658
- }
659
- };
660
- const commitRef = useRef(state.setValue);
661
- useEffect(() => {
662
- commitRef.current = state.setValue;
663
- });
664
- const commitRange = useCallback((value) => commitRef.current(value), []);
665
578
  const ref = useRef();
666
- const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(props, state, ref);
667
- const monthDateFormatter = useDateFormatter({
668
- month: "long",
669
- year: "numeric",
670
- timeZone: timezoneName
671
- });
672
- const monthHeaders = range(0, visibleMonths).map((i) => {
673
- return /* @__PURE__ */ jsxs(CalendarHeaderMonth, { children: [
674
- i === 0 && /* @__PURE__ */ jsx(PrevButton, {
675
- ...prevButtonProps,
676
- children: /* @__PURE__ */ jsx(ArrowLeftIcon, {})
677
- }),
678
- /* @__PURE__ */ jsx(RangeCalendarHeading, {
679
- "aria-hidden": true,
680
- children: monthDateFormatter.format(state.visibleRange.start.add({ months: i }).toDate(timezoneName))
681
- }),
682
- i === visibleMonths - 1 && /* @__PURE__ */ jsx(NextButton, {
683
- ...nextButtonProps,
684
- children: /* @__PURE__ */ jsx(ArrowRightIcon, {})
685
- })
686
- ] }, `calendar-month-${i}`);
687
- });
688
- const monthGrids = range(0, visibleMonths).map((i) => {
689
- return /* @__PURE__ */ jsx(CalendarGrid, {
690
- state,
691
- offset: { months: i },
692
- skipFromTabOrder: i > 0
693
- }, `calendar-grid-${i}`);
694
- });
695
- return /* @__PURE__ */ jsxs(RangeCalendarContainer, {
696
- ref: calendarRef,
697
- children: [!hidePresets && /* @__PURE__ */ jsx(PresetsContainer, {
698
- padding: Spacing[3],
699
- children: /* @__PURE__ */ jsx(RangeCalendarPresets_default, {
700
- state,
701
- commitRange,
702
- setDateMode,
703
- onPresetSelect,
704
- selectedPreset
705
- })
706
- }), /* @__PURE__ */ jsx(Card_default.Body, {
707
- padding: Spacing[3],
708
- children: /* @__PURE__ */ jsxs(CalendarContainer, {
709
- ...calendarProps,
710
- ref,
711
- children: [/* @__PURE__ */ jsxs(RangeCalendarHeader, { children: [/* @__PURE__ */ jsx(VisuallyHidden, {
712
- isFocusable: false,
713
- children: calendarProps["aria-label"]
714
- }), monthHeaders] }), /* @__PURE__ */ jsx(CalendarGrids, { children: monthGrids })]
715
- })
716
- })]
579
+ const { fieldProps } = useDateField(props, state, ref);
580
+ return /* @__PURE__ */ jsx(InputBox, {
581
+ ...fieldProps,
582
+ ...props.dateFieldProps || {},
583
+ ref: mergeRefs(ref, forwardedRef),
584
+ focused: props.focused,
585
+ disabled: props.disabled,
586
+ "aria-label": props["aria-label"],
587
+ $size: props.size ?? "md",
588
+ $inputPosition: props.inputPosition,
589
+ $hasTimeZone: state.segments.some((segment) => segment.type === "timeZoneName"),
590
+ hasError: props.hasError,
591
+ children: state.segments.map((segment, i) => /* @__PURE__ */ jsx(DateSegment, {
592
+ segment,
593
+ state
594
+ }, i))
717
595
  });
718
- };
596
+ });
719
597
  //#endregion
720
598
  //#region src/components/DatePicker/DateRangePicker.tsx
721
599
  const DateRangeContainer = styled.div`
@@ -754,7 +632,7 @@ const CustomFormLabel = styled(FormLabel)`
754
632
  margin-bottom: ${Spacing[2]};
755
633
  ${Typography.TextMediumBold};
756
634
  `;
757
- const OpenButton = ({ onOpen, disabled }) => {
635
+ const OpenButton$1 = ({ onOpen, disabled }) => {
758
636
  const openCalBtnRef = useRef(null);
759
637
  const { buttonProps } = useButton({
760
638
  isDisabled: disabled,
@@ -973,7 +851,7 @@ const DateRangePicker = ({ granularity = "day", hideTimeZone = true, className,
973
851
  "aria-label": "Clear date range",
974
852
  children: /* @__PURE__ */ jsx(CircleXInverseIcon, {})
975
853
  }),
976
- /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(OpenButton, {
854
+ /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(OpenButton$1, {
977
855
  onOpen: openCalendarWithFocus,
978
856
  disabled: props.disabled
979
857
  }) })
@@ -1068,6 +946,128 @@ const DateRangePicker = ({ granularity = "day", hideTimeZone = true, className,
1068
946
  });
1069
947
  };
1070
948
  //#endregion
1071
- export { Calendar as a, DateField as i, RangeCalendar as n, DatePicker as r, DateRangePicker as t };
949
+ //#region src/components/DatePicker/Calendar/Calendar.tsx
950
+ const Calendar = (props) => {
951
+ const { locale } = useLocale();
952
+ const state = useCalendarState({
953
+ ...props,
954
+ locale,
955
+ createCalendar
956
+ });
957
+ const { calendarProps, prevButtonProps, nextButtonProps, title } = useCalendar(props, state);
958
+ return /* @__PURE__ */ jsxs(CalendarContainer, {
959
+ ...calendarProps,
960
+ ref: props.calendarRef,
961
+ children: [/* @__PURE__ */ jsxs(CalendarHeader, { children: [
962
+ /* @__PURE__ */ jsx(CalendarButton, {
963
+ ...prevButtonProps,
964
+ children: /* @__PURE__ */ jsx(ArrowLeftIcon, {})
965
+ }),
966
+ /* @__PURE__ */ jsx(CalendarHeading, { children: title }),
967
+ /* @__PURE__ */ jsx(CalendarButton, {
968
+ ...nextButtonProps,
969
+ children: /* @__PURE__ */ jsx(ArrowRightIcon, {})
970
+ })
971
+ ] }), /* @__PURE__ */ jsx(CalendarGrid, { state })]
972
+ });
973
+ };
974
+ //#endregion
975
+ //#region src/components/DatePicker/DatePicker.tsx
976
+ const OpenButton = ({ calendarRef }) => {
977
+ const openCalBtnRef = useRef(null);
978
+ const { buttonProps } = useButton({ onPress: () => {
979
+ if (calendarRef.current) calendarRef.current.querySelector("button[aria-label=\"Previous\"]").focus();
980
+ } }, openCalBtnRef);
981
+ return /* @__PURE__ */ jsx("button", {
982
+ ...buttonProps,
983
+ ref: openCalBtnRef,
984
+ "aria-label": "Open calendar"
985
+ });
986
+ };
987
+ const DatePicker = (props) => {
988
+ const state = useDatePickerState(props);
989
+ const ref = useRef(null);
990
+ const fieldRef = useRef(null);
991
+ const { groupProps, fieldProps, calendarProps } = useDatePicker(props, state, ref);
992
+ const calendarRef = useRef(null);
993
+ const isClosingRef = useRef(false);
994
+ const { focusWithinProps } = useFocusWithin({
995
+ onFocusWithin: () => {
996
+ if (!state.isOpen && !isClosingRef.current) state.setOpen(true);
997
+ },
998
+ onBlurWithin: (e) => {
999
+ if (e.relatedTarget && !calendarRef?.current?.contains(e.relatedTarget) && state.isOpen) state.setOpen(false);
1000
+ }
1001
+ });
1002
+ const handleOutsideClick = (e) => {
1003
+ const target = e.target;
1004
+ if (ref.current?.contains(target)) return;
1005
+ if (state.isOpen) state.setOpen(false);
1006
+ };
1007
+ const handleKeyDown = useCallback((event) => {
1008
+ if (event.key === "Enter" && !state.isOpen) {
1009
+ event.preventDefault();
1010
+ state.setOpen(true);
1011
+ }
1012
+ }, [state]);
1013
+ return /* @__PURE__ */ jsx("div", {
1014
+ style: {
1015
+ display: "flex",
1016
+ flexDirection: "column"
1017
+ },
1018
+ children: /* @__PURE__ */ jsxs(Popover_default, {
1019
+ open: state.isOpen,
1020
+ modal: false,
1021
+ contentProps: {
1022
+ style: { zIndex: props.useModalZIndex ? Z_INDICES.modalDropdown : Z_INDICES.dropdown },
1023
+ align: "start",
1024
+ "aria-modal": true,
1025
+ onInteractOutside: handleOutsideClick,
1026
+ onEscapeKeyDown: () => {
1027
+ state.setOpen(false);
1028
+ },
1029
+ onCloseAutoFocus: (e) => {
1030
+ e.preventDefault();
1031
+ isClosingRef.current = true;
1032
+ if (fieldRef.current) {
1033
+ const firstEditableSegment = fieldRef.current.querySelector("[tabindex=\"0\"]");
1034
+ if (firstEditableSegment instanceof HTMLElement) firstEditableSegment.focus();
1035
+ }
1036
+ requestAnimationFrame(() => {
1037
+ isClosingRef.current = false;
1038
+ });
1039
+ },
1040
+ noPadding: true
1041
+ },
1042
+ children: [/* @__PURE__ */ jsx(Popover_default.Trigger, {
1043
+ asChild: true,
1044
+ children: /* @__PURE__ */ jsxs("div", {
1045
+ ...mergeProps(groupProps, focusWithinProps),
1046
+ ref,
1047
+ style: {
1048
+ display: "flex",
1049
+ position: "relative"
1050
+ },
1051
+ children: [/* @__PURE__ */ jsx(DateField, {
1052
+ ref: fieldRef,
1053
+ id: props.id,
1054
+ dateFieldProps: props.dateFieldProps,
1055
+ disabled: props.disabled,
1056
+ size: props.size,
1057
+ ...mergeProps(fieldProps, { onKeyDown: handleKeyDown }),
1058
+ value: fieldProps.value ?? void 0
1059
+ }), /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(OpenButton, { calendarRef }) })]
1060
+ })
1061
+ }), /* @__PURE__ */ jsx(Calendar, {
1062
+ ...calendarProps,
1063
+ autoFocus: void 0,
1064
+ calendarRef,
1065
+ id: "calendar-popover"
1066
+ })]
1067
+ })
1068
+ });
1069
+ };
1070
+ //#endregion
1071
+ export { RangeCalendar as a, DateField as i, Calendar as n, DateRangePicker as r, DatePicker as t };
1072
1072
 
1073
- //# sourceMappingURL=DatePicker-BK7ioKBm.mjs.map
1073
+ //# sourceMappingURL=DatePicker-CHVYVKB-.mjs.map