@persona/design-system 0.7.0 → 0.7.2

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 (468) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +9 -9
  3. package/dist/Accordion.d.mts +38 -0
  4. package/dist/AccordionItem.d.mts +31 -0
  5. package/dist/{Action-C7INft7X.d.mts → Action-Cyo6KCsS.d.mts} +3 -3
  6. package/dist/Action.d.mts +1 -1
  7. package/dist/AdvancedFilterRuleRow.d.mts +2 -2
  8. package/dist/AdvancedFilterRulesPopover.d.mts +2 -2
  9. package/dist/ArrayValueControl.d.mts +1 -1
  10. package/dist/Attribute.d.mts +3 -3
  11. package/dist/BooleanValueControl.d.mts +1 -1
  12. package/dist/{Breadcrumb-DtW1R9xW.d.mts → Breadcrumb-CYXkrKXl.d.mts} +1 -1
  13. package/dist/Breadcrumb.d.mts +1 -1
  14. package/dist/{Breadcrumbs-B6JyoS8n.d.mts → Breadcrumbs-CP7eUYUy.d.mts} +2 -2
  15. package/dist/{Breadcrumbs-CCmf8oZ4.mjs → Breadcrumbs-CrXfUK1V.mjs} +3 -3
  16. package/dist/{Breadcrumbs-CCmf8oZ4.mjs.map → Breadcrumbs-CrXfUK1V.mjs.map} +1 -1
  17. package/dist/Breadcrumbs.d.mts +1 -1
  18. package/dist/{Button-HodDf_bB.d.mts → Button-Dhiund3f.d.mts} +4 -4
  19. package/dist/Button.d.mts +1 -1
  20. package/dist/{Calendar-DrdTvzAa.d.mts → Calendar-CMeIZ0BO.d.mts} +1 -1
  21. package/dist/Calendar.d.mts +1 -1
  22. package/dist/CalendarBase.d.mts +1 -1
  23. package/dist/{Card-CpDwATnX.d.mts → Card-DCYB_mtR.d.mts} +3 -3
  24. package/dist/Card.d.mts +1 -1
  25. package/dist/{CardV2-Y_kRfd-R.mjs → CardV2-M3o4BELp.mjs} +5 -5
  26. package/dist/{CardV2-Y_kRfd-R.mjs.map → CardV2-M3o4BELp.mjs.map} +1 -1
  27. package/dist/{Checkbox-DBAXDIQf.mjs → Checkbox-AjL7ucoR.mjs} +2 -2
  28. package/dist/{Checkbox-DBAXDIQf.mjs.map → Checkbox-AjL7ucoR.mjs.map} +1 -1
  29. package/dist/{Checkbox-C-hMfItK.d.mts → Checkbox-fWj7GkBl.d.mts} +1 -1
  30. package/dist/Checkbox.d.mts +1 -1
  31. package/dist/CheckboxGroupField.d.mts +1 -1
  32. package/dist/ChoicesValueControl.d.mts +1 -1
  33. package/dist/{Combobox-CNdpK8VG.mjs → Combobox-C2b9u955.mjs} +11 -8
  34. package/dist/Combobox-C2b9u955.mjs.map +1 -0
  35. package/dist/{Combobox-CPE-IV79.d.mts → Combobox-CC-Osr57.d.mts} +3 -3
  36. package/dist/Combobox.d.mts +2 -2
  37. package/dist/{ComboboxBase-B3Es1y9g.d.mts → ComboboxBase-Evo0FRxP.d.mts} +7 -5
  38. package/dist/ComboboxBase.d.mts +1 -1
  39. package/dist/{ComboboxMultiSelect-4sRA7oL0.d.mts → ComboboxMultiSelect-CvAc0FT3.d.mts} +2 -2
  40. package/dist/ComboboxMultiSelect.d.mts +1 -1
  41. package/dist/{ComboboxSingleSelect-DVPznL7L.d.mts → ComboboxSingleSelect-CBm7x0oh.d.mts} +4 -4
  42. package/dist/ComboboxSingleSelect.d.mts +1 -1
  43. package/dist/{CompactBar-DhHh7Roq.d.mts → CompactBar-D_2qMK4y.d.mts} +3 -3
  44. package/dist/CompactBar.d.mts +1 -1
  45. package/dist/{ConfigFormGroup-4lUy7CZH.mjs → ConfigFormGroup-Cz7GeTYd.mjs} +2 -2
  46. package/dist/{ConfigFormGroup-4lUy7CZH.mjs.map → ConfigFormGroup-Cz7GeTYd.mjs.map} +1 -1
  47. package/dist/{ControlBar-C8kagIck.d.mts → ControlBar-B7j9sOr9.d.mts} +2 -2
  48. package/dist/ControlBar.d.mts +1 -1
  49. package/dist/DataTable.d.mts +3 -3
  50. package/dist/{DateField-2aigfD4u.d.mts → DateField-BamAk9_w.d.mts} +2 -2
  51. package/dist/DateField.d.mts +1 -1
  52. package/dist/{DatePicker-DC_RKjdM.d.mts → DatePicker-C3xNSkPG.d.mts} +2 -2
  53. package/dist/{DatePicker-CSd20-CW.mjs → DatePicker-IgiUI3Wj.mjs} +6 -6
  54. package/dist/{DatePicker-CSd20-CW.mjs.map → DatePicker-IgiUI3Wj.mjs.map} +1 -1
  55. package/dist/DatePicker.d.mts +1 -1
  56. package/dist/{DateRangePicker-ByD6IsLB.d.mts → DateRangePicker-C4QKMo2a.d.mts} +3 -3
  57. package/dist/DateRangePicker.d.mts +1 -1
  58. package/dist/DateRangeValueControl.d.mts +2 -2
  59. package/dist/DateValueControl.d.mts +1 -1
  60. package/dist/{DropdownButton-gmGRrD1z.mjs → DropdownButton-BWiXLMfD.mjs} +2 -2
  61. package/dist/{DropdownButton-gmGRrD1z.mjs.map → DropdownButton-BWiXLMfD.mjs.map} +1 -1
  62. package/dist/DropdownButton.d.mts +2 -2
  63. package/dist/{DropdownMenu-I5WDO-q5.mjs → DropdownMenu-CuKSNxc9.mjs} +2 -2
  64. package/dist/{DropdownMenu-I5WDO-q5.mjs.map → DropdownMenu-CuKSNxc9.mjs.map} +1 -1
  65. package/dist/{DropdownMenu-eP6v6XE4.d.mts → DropdownMenu-DL5ye-0m.d.mts} +2 -2
  66. package/dist/DropdownMenu.d.mts +1 -1
  67. package/dist/{ErrorProps-Dgu98PkH.d.mts → ErrorProps-BA0-m_Wp.d.mts} +1 -1
  68. package/dist/ErrorProps.d.mts +1 -1
  69. package/dist/{FieldRegistry-BtdqMYUD.d.mts → FieldRegistry-bKxrF1gC.d.mts} +2 -2
  70. package/dist/FieldRegistry.d.mts +1 -1
  71. package/dist/{FilterBar-CAnqGXgE.d.mts → FilterBar-DhlBLWxw.d.mts} +4 -4
  72. package/dist/FilterBar.d.mts +1 -1
  73. package/dist/FilterPickerMenu.d.mts +2 -2
  74. package/dist/FilterPill.d.mts +1 -1
  75. package/dist/FilterPopover.d.mts +1 -1
  76. package/dist/FloatValueControl.d.mts +1 -1
  77. package/dist/{FormControl-CJfYdgZF.d.mts → FormControl-D5xyPkST.d.mts} +6 -2
  78. package/dist/{FormControl-CButLg9b.mjs → FormControl-DnfZTli_.mjs} +26 -11
  79. package/dist/FormControl-DnfZTli_.mjs.map +1 -0
  80. package/dist/FormControl.d.mts +1 -1
  81. package/dist/FormControlLabel.d.mts +1 -1
  82. package/dist/{FormField-BHUeWCsa.mjs → FormField-74TPV8-8.mjs} +29 -19
  83. package/dist/FormField-74TPV8-8.mjs.map +1 -0
  84. package/dist/{FormField-CK8o1sMB.d.mts → FormField-BJZUj6jg.d.mts} +4 -2
  85. package/dist/FormField.d.mts +1 -1
  86. package/dist/Grid-DOyYYsvk.mjs +92 -0
  87. package/dist/Grid-DOyYYsvk.mjs.map +1 -0
  88. package/dist/Grid.d.mts +4 -1
  89. package/dist/{Header-ZnHGm8fs.d.mts → Header-BqEKkEp5.d.mts} +1 -1
  90. package/dist/Header.d.mts +1 -1
  91. package/dist/{HelperTooltip-CQpPO16Q.d.mts → HelperTooltip-mOVSuEB8.d.mts} +2 -2
  92. package/dist/HelperTooltip.d.mts +1 -1
  93. package/dist/{HoverCopyableField-B89NIwlE.mjs → HoverCopyableField-CN3gl0ny.mjs} +2 -2
  94. package/dist/{HoverCopyableField-B89NIwlE.mjs.map → HoverCopyableField-CN3gl0ny.mjs.map} +1 -1
  95. package/dist/{IconButton-zu-VNp1h.d.mts → IconButton-CjPFhpVG.d.mts} +2 -2
  96. package/dist/IconButton-CqTPMhjV.mjs.map +1 -1
  97. package/dist/IconButton.d.mts +1 -1
  98. package/dist/ImageTile.d.mts +1 -1
  99. package/dist/InlineCombobox.d.mts +1 -1
  100. package/dist/InlineInput.d.mts +1 -1
  101. package/dist/{Input-Ce8FvSYf.d.mts → Input-CZ_6KWDN.d.mts} +3 -3
  102. package/dist/{Input-C-TwCer2.mjs → Input-C_3QwAAt.mjs} +2 -2
  103. package/dist/{Input-C-TwCer2.mjs.map → Input-C_3QwAAt.mjs.map} +1 -1
  104. package/dist/Input.d.mts +1 -1
  105. package/dist/{InputProps-B1Xod4wm.d.mts → InputProps-lag6BM5h.d.mts} +2 -2
  106. package/dist/InputProps.d.mts +1 -1
  107. package/dist/IntegerValueControl.d.mts +1 -1
  108. package/dist/Link.d.mts +1 -1
  109. package/dist/{ListBox-BHE4DO2l.mjs → ListBox-D4j4LCT3.mjs} +6 -6
  110. package/dist/{ListBox-BHE4DO2l.mjs.map → ListBox-D4j4LCT3.mjs.map} +1 -1
  111. package/dist/{ListBox-CCBWdAUR.d.mts → ListBox-nYAdYVQx.d.mts} +3 -3
  112. package/dist/ListBox.d.mts +1 -1
  113. package/dist/ListBoxField.d.mts +3 -2
  114. package/dist/{LoadingShimmer-JyGh7M7V.mjs → LoadingShimmer-Dizk2sZu.mjs} +1 -1
  115. package/dist/{LoadingShimmer-JyGh7M7V.mjs.map → LoadingShimmer-Dizk2sZu.mjs.map} +1 -1
  116. package/dist/LoadingShimmer.d.mts +1 -1
  117. package/dist/{LogicRow-DmI8NKrI.d.mts → LogicRow-k4ZPtjN0.d.mts} +3 -3
  118. package/dist/LogicRow.d.mts +1 -1
  119. package/dist/MaskedInput.d.mts +2 -2
  120. package/dist/{Menu-C8RxFGOG.d.mts → Menu-Bu7-KBhp.d.mts} +3 -3
  121. package/dist/{Menu-xENvm-Oa.mjs → Menu-Cd6oxjAe.mjs} +1 -1
  122. package/dist/{Menu-xENvm-Oa.mjs.map → Menu-Cd6oxjAe.mjs.map} +1 -1
  123. package/dist/Menu.d.mts +1 -1
  124. package/dist/Modal-BN0K8QXi.mjs +258 -0
  125. package/dist/Modal-BN0K8QXi.mjs.map +1 -0
  126. package/dist/Modal-Dwq-QBw_.d.mts +145 -0
  127. package/dist/Modal.d.mts +2 -145
  128. package/dist/{PageHeader-7GBfUjU_.mjs → PageHeader-BTtm3hRQ.mjs} +2 -2
  129. package/dist/{PageHeader-7GBfUjU_.mjs.map → PageHeader-BTtm3hRQ.mjs.map} +1 -1
  130. package/dist/PageHeader.d.mts +1 -1
  131. package/dist/PageLayoutFrame.d.mts +28 -0
  132. package/dist/{PageSelector-BMz2Q4P6.d.mts → PageSelector-CeGC84N1.d.mts} +3 -3
  133. package/dist/PageSelector.d.mts +1 -1
  134. package/dist/{Pagination-BxNqU2yh.mjs → Pagination-CPd4mSnw.mjs} +3 -3
  135. package/dist/{Pagination-BxNqU2yh.mjs.map → Pagination-CPd4mSnw.mjs.map} +1 -1
  136. package/dist/{Pagination-ne9hnVoe.d.mts → Pagination-H-CcXrCD.d.mts} +2 -2
  137. package/dist/Pagination.d.mts +1 -1
  138. package/dist/{Pii-B29k0Omf.mjs → Pii-Dz4woKd8.mjs} +1 -1
  139. package/dist/{Pii-B29k0Omf.mjs.map → Pii-Dz4woKd8.mjs.map} +1 -1
  140. package/dist/{PillShell-D9iQyM-8.d.mts → PillShell-BQC-k7Rl.d.mts} +2 -2
  141. package/dist/PillShell.d.mts +1 -1
  142. package/dist/{Popover-Dn3xmzSK.mjs → Popover-opVa9Xhc.mjs} +1 -1
  143. package/dist/{Popover-Dn3xmzSK.mjs.map → Popover-opVa9Xhc.mjs.map} +1 -1
  144. package/dist/ProgressIndicator-3A4Aqci6.mjs +188 -0
  145. package/dist/ProgressIndicator-3A4Aqci6.mjs.map +1 -0
  146. package/dist/ProgressIndicator-DbOLOaxJ.d.mts +66 -0
  147. package/dist/ProgressIndicator.d.mts +2 -66
  148. package/dist/{PseudoClassProps-CdRF3QNn.d.mts → PseudoClassProps-CHtBNv8B.d.mts} +1 -1
  149. package/dist/PseudoClassProps.d.mts +1 -1
  150. package/dist/{Radio-BRPoGITE.mjs → Radio-Cxt89w8s.mjs} +2 -2
  151. package/dist/{Radio-BRPoGITE.mjs.map → Radio-Cxt89w8s.mjs.map} +1 -1
  152. package/dist/{RadioGroup-CahrWsXi.mjs → RadioGroup-B6Cg1kdm.mjs} +2 -2
  153. package/dist/{RadioGroup-CahrWsXi.mjs.map → RadioGroup-B6Cg1kdm.mjs.map} +1 -1
  154. package/dist/{RadioGroup-CxL6LW4q.d.mts → RadioGroup-BjrfVPZQ.d.mts} +1 -1
  155. package/dist/RadioGroup.d.mts +1 -1
  156. package/dist/{RangeCalendar-B7TwRJbg.d.mts → RangeCalendar-CPnLaM-J.d.mts} +2 -2
  157. package/dist/RangeCalendar.d.mts +1 -1
  158. package/dist/RangeCalendarPresets.d.mts +1 -1
  159. package/dist/{RouterContext-B7N12wkK.d.mts → RouterContext-CbvHIl4K.d.mts} +2 -2
  160. package/dist/RouterContext.d.mts +1 -1
  161. package/dist/{RouterLink-Bq36EGjc.d.mts → RouterLink-v9AG9fYa.d.mts} +2 -2
  162. package/dist/RouterLink.d.mts +1 -1
  163. package/dist/RuleEditorFields.d.mts +2 -2
  164. package/dist/RulesPill.d.mts +1 -1
  165. package/dist/{SearchInput-D69WxMNq.d.mts → SearchInput-CIjwmT8R.d.mts} +2 -2
  166. package/dist/SearchInput.d.mts +1 -1
  167. package/dist/SectionHeading.d.mts +1 -1
  168. package/dist/{SegmentedControl-DLkAC2kW.mjs → SegmentedControl-BcwfLuHA.mjs} +12 -5
  169. package/dist/SegmentedControl-BcwfLuHA.mjs.map +1 -0
  170. package/dist/{SegmentedControl-vCnGsdXo.d.mts → SegmentedControl-Crr_aHAs.d.mts} +2 -1
  171. package/dist/SegmentedControl.d.mts +1 -1
  172. package/dist/{Select-YOgn_uD0.mjs → Select-BstCz8P1.mjs} +4 -4
  173. package/dist/{Select-YOgn_uD0.mjs.map → Select-BstCz8P1.mjs.map} +1 -1
  174. package/dist/{Select-CpRijO_l.d.mts → Select-CJQeuCiF.d.mts} +3 -3
  175. package/dist/Select.d.mts +1 -1
  176. package/dist/SingleColumnLayout.d.mts +16 -0
  177. package/dist/{Spinner-BDa0D1ze.mjs → Spinner-DplDSBqf.mjs} +1 -1
  178. package/dist/{Spinner-BDa0D1ze.mjs.map → Spinner-DplDSBqf.mjs.map} +1 -1
  179. package/dist/SplitColumnLayout.d.mts +19 -0
  180. package/dist/{Stack-8KGPQp0u.d.mts → Stack-RVptVTVi.d.mts} +1 -1
  181. package/dist/Stack.d.mts +1 -1
  182. package/dist/{Sticker-Bf9rhSkv.d.mts → Sticker-BVX38LKi.d.mts} +4 -4
  183. package/dist/Sticker.d.mts +1 -1
  184. package/dist/StringValueControl.d.mts +1 -1
  185. package/dist/Tab.d.mts +1 -1
  186. package/dist/{TabBar-RenaeJJ6.mjs → TabBar-BepWbJHz.mjs} +1 -1
  187. package/dist/{TabBar-RenaeJJ6.mjs.map → TabBar-BepWbJHz.mjs.map} +1 -1
  188. package/dist/{Table-DaxiIS96.mjs → Table-B1gRr2XT.mjs} +2 -2
  189. package/dist/{Table-DaxiIS96.mjs.map → Table-B1gRr2XT.mjs.map} +1 -1
  190. package/dist/{Table-BefytM6w.d.mts → Table-DFiSWroB.d.mts} +1 -1
  191. package/dist/Table.d.mts +1 -1
  192. package/dist/{TableBody-BZ34-_wV.d.mts → TableBody-Di9JYHDN.d.mts} +1 -1
  193. package/dist/TableBody.d.mts +1 -1
  194. package/dist/{TableBox-C7ZXamI7.mjs → TableBox-DAQ3Plqx.mjs} +7 -7
  195. package/dist/{TableBox-C7ZXamI7.mjs.map → TableBox-DAQ3Plqx.mjs.map} +1 -1
  196. package/dist/TableBox.d.mts +2 -2
  197. package/dist/{TableBoxCell-B7kjO76l.d.mts → TableBoxCell-D6h1X5ph.d.mts} +6 -6
  198. package/dist/TableBoxCell.d.mts +1 -1
  199. package/dist/TableBoxField.d.mts +4 -3
  200. package/dist/{TableBoxRow-oVGEFVOO.d.mts → TableBoxRow-C6l6J4mq.d.mts} +3 -3
  201. package/dist/TableBoxRow.d.mts +1 -1
  202. package/dist/{TableBoxRowActions-DIZw2OPP.d.mts → TableBoxRowActions-CsLN1b1J.d.mts} +2 -2
  203. package/dist/TableBoxRowActions.d.mts +1 -1
  204. package/dist/{TableCell-DorRxyke.d.mts → TableCell-WSDXw79Q.d.mts} +2 -2
  205. package/dist/TableCell.d.mts +1 -1
  206. package/dist/{TableControls-DxAUnR9v.mjs → TableControls-BxuPCUQS.mjs} +34 -21
  207. package/dist/TableControls-BxuPCUQS.mjs.map +1 -0
  208. package/dist/{TableControls-BtGFiZeD.d.mts → TableControls-cswMgBAr.d.mts} +3 -3
  209. package/dist/TableControls.d.mts +1 -1
  210. package/dist/{TableControlsContext-C3DYeUmB.d.mts → TableControlsContext-Cbh8wear.d.mts} +2 -2
  211. package/dist/TableControlsContext.d.mts +1 -1
  212. package/dist/{TableHead-B0Fdldgw.d.mts → TableHead-CkL1fEg2.d.mts} +1 -1
  213. package/dist/TableHead.d.mts +1 -1
  214. package/dist/{TableHeaderCell-C_7X8QAT.d.mts → TableHeaderCell-K9Ry6YqO.d.mts} +1 -1
  215. package/dist/TableHeaderCell.d.mts +1 -1
  216. package/dist/{TableLayout-CXVVzq0e.d.mts → TableLayout-CYRGIFEl.d.mts} +1 -1
  217. package/dist/TableLayout.d.mts +1 -1
  218. package/dist/{TableRow-Dr61XJNw.d.mts → TableRow-DMHlo1eg.d.mts} +2 -2
  219. package/dist/TableRow.d.mts +1 -1
  220. package/dist/TableTH.d.mts +1 -1
  221. package/dist/{TableViewConfigurationDropdown-CCtwcB3I.d.mts → TableViewConfigurationDropdown-BRbOcVNc.d.mts} +2 -2
  222. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  223. package/dist/{TechnicalSticker-D1PqG_yT.mjs → TechnicalSticker-_LtE-PRY.mjs} +1 -1
  224. package/dist/{TechnicalSticker-D1PqG_yT.mjs.map → TechnicalSticker-_LtE-PRY.mjs.map} +1 -1
  225. package/dist/{Text-DD_W_ixb.d.mts → Text-B69gp3X_.d.mts} +3 -3
  226. package/dist/Text.d.mts +1 -1
  227. package/dist/{TextArea-wwV-s5Oa.mjs → TextArea-CcxltuBh.mjs} +2 -2
  228. package/dist/{TextArea-wwV-s5Oa.mjs.map → TextArea-CcxltuBh.mjs.map} +1 -1
  229. package/dist/{TextArea-DOofaXJi.d.mts → TextArea-Cjsdl07-.d.mts} +2 -2
  230. package/dist/TextArea.d.mts +1 -1
  231. package/dist/{TextUnderlineTooltip-BPLKU9wu.d.mts → TextUnderlineTooltip-DDzKLCeX.d.mts} +2 -2
  232. package/dist/TextUnderlineTooltip.d.mts +1 -1
  233. package/dist/Tile.d.mts +1 -1
  234. package/dist/Toast.d.mts +1 -1
  235. package/dist/{Toggle-2nrUX591.d.mts → Toggle-B5sSdb_q.d.mts} +3 -1
  236. package/dist/{Toggle-iG2x_IZR.mjs → Toggle-DWbJOwf3.mjs} +4 -3
  237. package/dist/Toggle-DWbJOwf3.mjs.map +1 -0
  238. package/dist/Toggle.d.mts +1 -1
  239. package/dist/{Tooltip-Cnqf1-tx.d.mts → Tooltip-x1pFf-Mj.d.mts} +2 -2
  240. package/dist/Tooltip.d.mts +1 -1
  241. package/dist/{TruncatedText-g2T5HlqX.d.mts → TruncatedText-BE8FuEQm.d.mts} +1 -1
  242. package/dist/WizardModal.d.mts +41 -0
  243. package/dist/accordionTitleTypography-BYhjSN9t.d.mts +17 -0
  244. package/dist/accordionTitleTypography.d.mts +2 -0
  245. package/dist/{codec-CoX6LfOY.d.mts → codec-BcgsGCHE.d.mts} +2 -2
  246. package/dist/codec.d.mts +1 -1
  247. package/dist/{color-Bt0Lv1e3.d.mts → color-LH7zKfKo.d.mts} +2 -2
  248. package/dist/components/Accordion/index.d.mts +4 -0
  249. package/dist/components/Accordion/index.mjs +330 -0
  250. package/dist/components/Accordion/index.mjs.map +1 -0
  251. package/dist/components/BottomPanel/index.mjs +1 -1
  252. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  253. package/dist/components/Breadcrumbs/index.mjs +1 -1
  254. package/dist/components/Button/index.d.mts +2 -2
  255. package/dist/components/ButtonGroup/index.mjs +1 -1
  256. package/dist/components/Card/index.d.mts +2 -2
  257. package/dist/components/CardV2/index.d.mts +1 -1
  258. package/dist/components/CardV2/index.mjs +1 -1
  259. package/dist/components/Checkbox/index.d.mts +1 -1
  260. package/dist/components/Checkbox/index.mjs +1 -1
  261. package/dist/components/Combobox/index.d.mts +2 -2
  262. package/dist/components/Combobox/index.mjs +1 -1
  263. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  264. package/dist/components/DataTable/TableControls/index.d.mts +19 -19
  265. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  266. package/dist/components/DataTable/index.mjs +7 -7
  267. package/dist/components/DataTable/index.mjs.map +1 -1
  268. package/dist/components/DataTable/types.d.mts +2 -2
  269. package/dist/components/DatePicker/index.d.mts +5 -5
  270. package/dist/components/DatePicker/index.mjs +1 -1
  271. package/dist/components/DropdownButton/index.mjs +1 -1
  272. package/dist/components/DropdownMenu/index.d.mts +1 -1
  273. package/dist/components/DropdownMenu/index.mjs +1 -1
  274. package/dist/components/FormControl/index.d.mts +2 -2
  275. package/dist/components/FormControl/index.mjs +2 -2
  276. package/dist/components/FormField/index.d.mts +1 -1
  277. package/dist/components/FormField/index.mjs +1 -1
  278. package/dist/components/Grid/index.d.mts +2 -2
  279. package/dist/components/Grid/index.mjs +2 -85
  280. package/dist/components/HoverCopyableField/index.mjs +1 -1
  281. package/dist/components/ImageTile/index.mjs +3 -3
  282. package/dist/components/Input/index.d.mts +1 -1
  283. package/dist/components/Input/index.mjs +1 -1
  284. package/dist/components/Link/index.mjs.map +1 -1
  285. package/dist/components/ListBox/index.d.mts +3 -3
  286. package/dist/components/ListBox/index.mjs +1 -1
  287. package/dist/components/LoadingShimmer/index.mjs +1 -1
  288. package/dist/components/MaskedInput/index.mjs +1 -1
  289. package/dist/components/Menu/index.d.mts +1 -1
  290. package/dist/components/Menu/index.mjs +1 -1
  291. package/dist/components/Modal/index.d.mts +1 -1
  292. package/dist/components/Modal/index.mjs +1 -257
  293. package/dist/components/PageHeader/index.mjs +1 -1
  294. package/dist/components/Pagination/index.d.mts +3 -3
  295. package/dist/components/Pagination/index.mjs +1 -1
  296. package/dist/components/Pii/index.mjs +1 -1
  297. package/dist/components/Popover/index.mjs +1 -1
  298. package/dist/components/ProgressIndicator/index.d.mts +2 -2
  299. package/dist/components/ProgressIndicator/index.mjs +1 -187
  300. package/dist/components/Radio/index.mjs +1 -1
  301. package/dist/components/RadioGroup/index.d.mts +1 -1
  302. package/dist/components/RadioGroup/index.mjs +1 -1
  303. package/dist/components/RightPanel/index.mjs +1 -1
  304. package/dist/components/SegmentedControl/index.d.mts +1 -1
  305. package/dist/components/SegmentedControl/index.mjs +1 -1
  306. package/dist/components/Select/index.d.mts +1 -1
  307. package/dist/components/Select/index.mjs +1 -1
  308. package/dist/components/Spinner/index.mjs +1 -1
  309. package/dist/components/Stack/index.d.mts +1 -1
  310. package/dist/components/Sticker/index.d.mts +1 -1
  311. package/dist/components/TabBar/index.mjs +1 -1
  312. package/dist/components/Table/index.d.mts +8 -8
  313. package/dist/components/Table/index.mjs +1 -1
  314. package/dist/components/TableBox/index.d.mts +2 -2
  315. package/dist/components/TableBox/index.mjs +1 -1
  316. package/dist/components/TechnicalSticker/index.mjs +1 -1
  317. package/dist/components/Text/index.d.mts +1 -1
  318. package/dist/components/TextArea/index.d.mts +1 -1
  319. package/dist/components/TextArea/index.mjs +1 -1
  320. package/dist/components/Toggle/index.d.mts +1 -1
  321. package/dist/components/Toggle/index.mjs +1 -1
  322. package/dist/components/Tooltip/index.d.mts +3 -3
  323. package/dist/components/WizardModal/index.d.mts +2 -0
  324. package/dist/components/WizardModal/index.mjs +106 -0
  325. package/dist/components/WizardModal/index.mjs.map +1 -0
  326. package/dist/compound-expression.d.mts +1 -1
  327. package/dist/{constants-D8bzZ-7B.d.mts → constants-BpwnTzcv.d.mts} +1 -1
  328. package/dist/constants.d.mts +1 -1
  329. package/dist/{createPath-BDYRvl57.d.mts → createPath-Bst12Uxr.d.mts} +2 -2
  330. package/dist/createPath.d.mts +1 -1
  331. package/dist/{date-range-rule-value-C3wrh0jw.d.mts → date-range-rule-value-C4ir2Y8W.d.mts} +2 -2
  332. package/dist/date-range-rule-value.d.mts +1 -1
  333. package/dist/{date-rule-intent-CC1LdkE7.d.mts → date-rule-intent-gKmuxMVA.d.mts} +3 -3
  334. package/dist/date-rule-intent.d.mts +1 -1
  335. package/dist/display.d.mts +1 -1
  336. package/dist/fieldPickerOptions.d.mts +2 -2
  337. package/dist/{filter-size-context-CCfFnaib.d.mts → filter-size-context-BOpH6pBm.d.mts} +2 -2
  338. package/dist/filter-size-context.d.mts +1 -1
  339. package/dist/helpers.d.mts +1 -1
  340. package/dist/{index-Nip77QqW.d.mts → index-BXdrzR0c.d.mts} +3 -3
  341. package/dist/{index-DalP_w0c.d.mts → index-C2-PBfN3.d.mts} +2 -2
  342. package/dist/{index-D-RD2Kfg.d.mts → index-c0aXmZV9.d.mts} +2 -2
  343. package/dist/index-dhjtMp5F.d.mts +1 -0
  344. package/dist/index-xmouCHX9.d.mts +1 -0
  345. package/dist/index.d.mts +1 -1
  346. package/dist/index2.d.mts +1 -1
  347. package/dist/index3.d.mts +3 -3
  348. package/dist/index4.d.mts +1 -1
  349. package/dist/index5.d.mts +14 -14
  350. package/dist/{input-DCJivcWf.d.mts → input-DVJhMlxU.d.mts} +3 -3
  351. package/dist/inputFields.d.mts +14 -12
  352. package/dist/{intersperse-DQAyfeEw.mjs → intersperse-Bxcrxj2Q.mjs} +1 -1
  353. package/dist/{intersperse-DQAyfeEw.mjs.map → intersperse-Bxcrxj2Q.mjs.map} +1 -1
  354. package/dist/{jsonSchema-c_EfAj8y.d.mts → jsonSchema-DmdZYC4a.d.mts} +35 -11
  355. package/dist/lib/PDSProvider.d.mts +2 -2
  356. package/dist/lib/TruncatedText.d.mts +1 -1
  357. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  358. package/dist/lib/color.d.mts +1 -1
  359. package/dist/lib/date-filter/index.d.mts +2 -2
  360. package/dist/lib/jsonSchema.d.mts +2 -2
  361. package/dist/lib/jsonSchema.mjs +10 -10
  362. package/dist/lib/jsonSchema.mjs.map +1 -1
  363. package/dist/lib/message.d.mts +1 -1
  364. package/dist/lib/methodChain.d.mts +1 -1
  365. package/dist/lib/objectSchemaTypes.d.mts +1 -1
  366. package/dist/lib/pseudoClass.d.mts +1 -1
  367. package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
  368. package/dist/lib/router/adapters/tanstack.d.mts +1 -1
  369. package/dist/lib/router/index.d.mts +5 -5
  370. package/dist/lib/semanticColor.d.mts +1 -1
  371. package/dist/{message-CjIHdhX1.d.mts → message-CKSLIKF0.d.mts} +1 -1
  372. package/dist/mixins/focus.d.mts +1 -1
  373. package/dist/mixins/hoverable.d.mts +2 -2
  374. package/dist/mixins/input.d.mts +1 -1
  375. package/dist/mixins/menuItem.d.mts +2 -2
  376. package/dist/mixins/text.d.mts +1 -1
  377. package/dist/{operators-C4yL6qbl.d.mts → operators-1_jTgYRX.d.mts} +2 -2
  378. package/dist/operators.d.mts +1 -1
  379. package/dist/{palette-qgPRWgUN.d.mts → palette-CMOEyNPH.d.mts} +3 -3
  380. package/dist/palette.d.mts +1 -1
  381. package/dist/patterns/LayoutLoadingShimmer/index.mjs +4 -4
  382. package/dist/patterns/PageLayout/index.d.mts +4 -1
  383. package/dist/patterns/PageLayout/index.mjs +99 -2
  384. package/dist/patterns/PageLayout/index.mjs.map +1 -1
  385. package/dist/reactRouterFallback.d.mts +1 -1
  386. package/dist/relative-date-label.d.mts +1 -1
  387. package/dist/scrollExpandedItemIntoView.d.mts +12 -0
  388. package/dist/{semantic-DUctmpu_.d.mts → semantic-BXwNUd4a.d.mts} +1 -1
  389. package/dist/{semanticColor-IAhXS17y.d.mts → semanticColor-Cru2gSys.d.mts} +3 -3
  390. package/dist/{text-DjTGRUM1.d.mts → text-CxIup7HJ.d.mts} +1 -1
  391. package/dist/{theme-DKiszVRN.d.mts → theme-CW6qlONZ.d.mts} +3 -3
  392. package/dist/theme.d.mts +1 -1
  393. package/dist/tone.d.mts +3 -3
  394. package/dist/{types-B8aAvU2a2.d.mts → types-3iEDsymE.d.mts} +2 -2
  395. package/dist/{types-CuQSgl1F.d.mts → types-B-stjYNc.d.mts} +1 -1
  396. package/dist/{types-I9z-0m7q.d.mts → types-BEjWTkZV.d.mts} +3 -3
  397. package/dist/{types-CcZbBH0e.d.mts → types-ChkiGhjQ.d.mts} +1 -1
  398. package/dist/{types-D8rWSj3z.d.mts → types-YojUycQK.d.mts} +1 -1
  399. package/dist/{types-RWjW1d9I.d.mts → types-g-aqbnek.d.mts} +1 -1
  400. package/dist/types.d.mts +1 -1
  401. package/dist/types2.d.mts +1 -1
  402. package/dist/types3.d.mts +1 -1
  403. package/dist/types4.d.mts +1 -1
  404. package/dist/types5.d.mts +1 -1
  405. package/dist/types6.d.mts +1 -1
  406. package/dist/{url-state-BOkOTKNZ.d.mts → url-state-CHK2N2fA.d.mts} +2 -2
  407. package/dist/url-state.d.mts +1 -1
  408. package/dist/useComboboxFooterAction.d.mts +1 -1
  409. package/dist/{useFilterStateV2-CjXG2vjy.d.mts → useFilterStateV2-B26e5iUx.d.mts} +3 -3
  410. package/dist/useFilterStateV2.d.mts +1 -1
  411. package/dist/{useFormField-C61u9KvG.mjs → useFormField-BzhMbl5P.mjs} +3 -2
  412. package/dist/useFormField-BzhMbl5P.mjs.map +1 -0
  413. package/dist/{useFormField-DDbo-ExT.d.mts → useFormField-DPFClB5h.d.mts} +4 -2
  414. package/dist/useFormField.d.mts +1 -1
  415. package/dist/{useFormGroup-C89-oI4w.mjs → useFormGroup-CH3kiXoa.mjs} +1 -1
  416. package/dist/{useFormGroup-C89-oI4w.mjs.map → useFormGroup-CH3kiXoa.mjs.map} +1 -1
  417. package/dist/{useLocationPathname-K2N4fw8j.d.mts → useLocationPathname-CnRd_Rzn.d.mts} +1 -1
  418. package/dist/useLocationPathname.d.mts +1 -1
  419. package/dist/{useTableBoxDragAndDrop-CbbH3pMK.d.mts → useTableBoxDragAndDrop-DWlG5vhl.d.mts} +1 -1
  420. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  421. package/dist/useTruncation.d.mts +1 -1
  422. package/dist/{utilities-D0EhDri-.d.mts → utilities-BcGuP8Fd.d.mts} +1 -1
  423. package/dist/utilities.d.mts +1 -1
  424. package/dist/utils/testing.d.mts +1 -1
  425. package/dist/utils/testing.mjs.map +1 -1
  426. package/dist/utils.d.mts +1 -1
  427. package/dist/{validation-C07D6XjI.d.mts → validation-B-Om4ANo.d.mts} +3 -3
  428. package/dist/validation.d.mts +1 -1
  429. package/dist/{value-control-resolver-zYNPNlRW.d.mts → value-control-resolver-BiyhB8zt.d.mts} +2 -2
  430. package/dist/value-control-resolver.d.mts +1 -1
  431. package/dist/variables/effect.d.mts +1 -1
  432. package/dist/variables/semantic.d.mts +1 -1
  433. package/llms.txt +10 -1
  434. package/package.json +5 -3
  435. package/skills/ui-authoring/COMPONENTS.md +5 -1
  436. package/skills/ui-authoring/PATTERNS.md +74 -115
  437. package/dist/Combobox-CNdpK8VG.mjs.map +0 -1
  438. package/dist/FormControl-CButLg9b.mjs.map +0 -1
  439. package/dist/FormField-BHUeWCsa.mjs.map +0 -1
  440. package/dist/SegmentedControl-DLkAC2kW.mjs.map +0 -1
  441. package/dist/TableControls-DxAUnR9v.mjs.map +0 -1
  442. package/dist/Toggle-iG2x_IZR.mjs.map +0 -1
  443. package/dist/components/Grid/index.mjs.map +0 -1
  444. package/dist/components/Modal/index.mjs.map +0 -1
  445. package/dist/components/ProgressIndicator/index.mjs.map +0 -1
  446. package/dist/fieldSchemaTypes-BVYSm74B.d.mts +0 -39
  447. package/dist/lib/fieldSchemaTypes.d.mts +0 -2
  448. package/dist/lib/fieldSchemaTypes.mjs +0 -41
  449. package/dist/lib/fieldSchemaTypes.mjs.map +0 -1
  450. package/dist/useFormField-C61u9KvG.mjs.map +0 -1
  451. /package/dist/{index-B33elXxm.d.mts → index-BCh-G39Y2.d.mts} +0 -0
  452. /package/dist/{index-B_BBnMou.d.mts → index-BMBcfD_R.d.mts} +0 -0
  453. /package/dist/{index-BrGZHEgX.d.mts → index-BOn0AAue.d.mts} +0 -0
  454. /package/dist/{index-BwAfCVZH2.d.mts → index-BcsXXrHq.d.mts} +0 -0
  455. /package/dist/{index-C6HcjJiY.d.mts → index-BwFl_eS0.d.mts} +0 -0
  456. /package/dist/{index-CX869wwk.d.mts → index-C-lwXyQ6.d.mts} +0 -0
  457. /package/dist/{index-CjDodOH2.d.mts → index-C1o2TFfS.d.mts} +0 -0
  458. /package/dist/{index-CsuikFeJ.d.mts → index-C3kE54DD.d.mts} +0 -0
  459. /package/dist/{index-CzItj62a.d.mts → index-CREkvfw9.d.mts} +0 -0
  460. /package/dist/{index-D13oYj4_.d.mts → index-CfCYi7PF.d.mts} +0 -0
  461. /package/dist/{index-D4DUvwPf.d.mts → index-DCTy4zg0.d.mts} +0 -0
  462. /package/dist/{index-DMRtRo7y.d.mts → index-DWIh4oP5.d.mts} +0 -0
  463. /package/dist/{index-DXJd7-2Z.d.mts → index-De7MV8-j.d.mts} +0 -0
  464. /package/dist/{index-DZlqSwCF.d.mts → index-DgJfEygr.d.mts} +0 -0
  465. /package/dist/{index-DeVKzGce.d.mts → index-DrK1_jKY.d.mts} +0 -0
  466. /package/dist/{index-Deol7ZWO.d.mts → index-Es5nKSSL.d.mts} +0 -0
  467. /package/dist/{index-DztUdPP_.d.mts → index-Qwqzz3XM.d.mts} +0 -0
  468. /package/dist/{index-Rvd9MEUQ.d.mts → index-Wc1llEvP.d.mts} +0 -0
@@ -1,5 +1,5 @@
1
- import { n as ControlBarProps } from "./ControlBar-C8kagIck.mjs";
2
- import { i as TableViewConfigurationProps } from "./TableViewConfigurationDropdown-CCtwcB3I.mjs";
1
+ import { n as ControlBarProps } from "./ControlBar-B7j9sOr9.mjs";
2
+ import { i as TableViewConfigurationProps } from "./TableViewConfigurationDropdown-BRbOcVNc.mjs";
3
3
  import { ReactNode } from "react";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
 
@@ -64,4 +64,4 @@ declare const TableControls: ({
64
64
  }: TableControlsProps) => _$react_jsx_runtime0.JSX.Element;
65
65
  //#endregion
66
66
  export { TableControlsProps as n, TableControls as t };
67
- //# sourceMappingURL=TableControls-BtGFiZeD.d.mts.map
67
+ //# sourceMappingURL=TableControls-cswMgBAr.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as TableControlsProps, t as TableControls } from "./TableControls-BtGFiZeD.mjs";
1
+ import { n as TableControlsProps, t as TableControls } from "./TableControls-cswMgBAr.mjs";
2
2
  export { TableControlsProps, TableControls as default };
@@ -1,4 +1,4 @@
1
- import { n as BaseActiveFilter, r as BaseFilterConfig } from "./types-RWjW1d9I.mjs";
1
+ import { n as BaseActiveFilter, r as BaseFilterConfig } from "./types-g-aqbnek.mjs";
2
2
  import * as _$react from "react";
3
3
  import { ReactNode } from "react";
4
4
 
@@ -18,4 +18,4 @@ declare function TableControlsProvider<TFilter extends BaseFilterConfig = BaseFi
18
18
  }): _$react.FunctionComponentElement<_$react.ProviderProps<TableControlsContextProps<BaseFilterConfig, BaseActiveFilter<BaseFilterConfig>>>>;
19
19
  //#endregion
20
20
  export { useTableControls as i, TableControlsContextProps as n, TableControlsProvider as r, TableControlsContext as t };
21
- //# sourceMappingURL=TableControlsContext-C3DYeUmB.d.mts.map
21
+ //# sourceMappingURL=TableControlsContext-Cbh8wear.d.mts.map
@@ -1,2 +1,2 @@
1
- import { i as useTableControls, n as TableControlsContextProps, r as TableControlsProvider, t as TableControlsContext } from "./TableControlsContext-C3DYeUmB.mjs";
1
+ import { i as useTableControls, n as TableControlsContextProps, r as TableControlsProvider, t as TableControlsContext } from "./TableControlsContext-Cbh8wear.mjs";
2
2
  export { TableControlsContextProps, TableControlsProvider, TableControlsContext as default, useTableControls };
@@ -9,4 +9,4 @@ declare const TableHead: _$styled_components0.StyledComponent<"thead", any, {
9
9
  } & TableHeadProps, "role">;
10
10
  //#endregion
11
11
  export { TableHead as t };
12
- //# sourceMappingURL=TableHead-B0Fdldgw.d.mts.map
12
+ //# sourceMappingURL=TableHead-CkL1fEg2.d.mts.map
@@ -1,2 +1,2 @@
1
- import { t as TableHead } from "./TableHead-B0Fdldgw.mjs";
1
+ import { t as TableHead } from "./TableHead-CkL1fEg2.mjs";
2
2
  export { TableHead as default };
@@ -16,4 +16,4 @@ interface TableIconContainerProps {
16
16
  declare const TableHeaderCell: _$react.ForwardRefExoticComponent<Omit<_$react.DetailedHTMLProps<_$react.ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>, "ref"> & TableHeaderCellProps & TableIconContainerProps & _$react.RefAttributes<HTMLTableCellElement>>;
17
17
  //#endregion
18
18
  export { TableHeaderCell as t };
19
- //# sourceMappingURL=TableHeaderCell-C_7X8QAT.d.mts.map
19
+ //# sourceMappingURL=TableHeaderCell-K9Ry6YqO.d.mts.map
@@ -1,2 +1,2 @@
1
- import { t as TableHeaderCell } from "./TableHeaderCell-C_7X8QAT.mjs";
1
+ import { t as TableHeaderCell } from "./TableHeaderCell-K9Ry6YqO.mjs";
2
2
  export { TableHeaderCell as default };
@@ -22,4 +22,4 @@ interface TableLayoutProps {
22
22
  declare const TableLayout: FC<PropsWithChildren<TableLayoutProps>>;
23
23
  //#endregion
24
24
  export { TableLayout as t };
25
- //# sourceMappingURL=TableLayout-CXVVzq0e.d.mts.map
25
+ //# sourceMappingURL=TableLayout-CYRGIFEl.d.mts.map
@@ -1,2 +1,2 @@
1
- import { t as TableLayout } from "./TableLayout-CXVVzq0e.mjs";
1
+ import { t as TableLayout } from "./TableLayout-CYRGIFEl.mjs";
2
2
  export { TableLayout as default };
@@ -1,4 +1,4 @@
1
- import { t as PseudoClassProps } from "./PseudoClassProps-CdRF3QNn.mjs";
1
+ import { t as PseudoClassProps } from "./PseudoClassProps-CHtBNv8B.mjs";
2
2
  import * as _$styled_components0 from "styled-components";
3
3
 
4
4
  //#region components/Table/TableRow.d.ts
@@ -10,4 +10,4 @@ declare const TableRow: _$styled_components0.StyledComponent<"tr", any, {
10
10
  } & TableRowProps, "role">;
11
11
  //#endregion
12
12
  export { TableRowProps as n, TableRow as t };
13
- //# sourceMappingURL=TableRow-Dr61XJNw.d.mts.map
13
+ //# sourceMappingURL=TableRow-DMHlo1eg.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as TableRowProps, t as TableRow } from "./TableRow-Dr61XJNw.mjs";
1
+ import { n as TableRowProps, t as TableRow } from "./TableRow-DMHlo1eg.mjs";
2
2
  export { TableRowProps, TableRow as default };
@@ -1,2 +1,2 @@
1
- import { n as TableTHProps, t as TableTH } from "./index-DalP_w0c.mjs";
1
+ import { n as TableTHProps, t as TableTH } from "./index-C2-PBfN3.mjs";
2
2
  export { TableTHProps, TableTH as default };
@@ -1,4 +1,4 @@
1
- import { t as AttributeColumn } from "./types-RWjW1d9I.mjs";
1
+ import { t as AttributeColumn } from "./types-g-aqbnek.mjs";
2
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region components/DataTable/TableControls/TableViewConfigurationDropdown.d.ts
@@ -31,4 +31,4 @@ declare const TableViewConfiguration: ({
31
31
  }: TableViewConfigurationProps) => _$react_jsx_runtime0.JSX.Element;
32
32
  //#endregion
33
33
  export { TableViewConfigurationProps as i, TableViewConfigurationDropdown as n, TableViewConfigurationDropdownProps as r, TableViewConfiguration as t };
34
- //# sourceMappingURL=TableViewConfigurationDropdown-CCtwcB3I.d.mts.map
34
+ //# sourceMappingURL=TableViewConfigurationDropdown-BRbOcVNc.d.mts.map
@@ -1,2 +1,2 @@
1
- import { i as TableViewConfigurationProps, n as TableViewConfigurationDropdown, r as TableViewConfigurationDropdownProps, t as TableViewConfiguration } from "./TableViewConfigurationDropdown-CCtwcB3I.mjs";
1
+ import { i as TableViewConfigurationProps, n as TableViewConfigurationDropdown, r as TableViewConfigurationDropdownProps, t as TableViewConfiguration } from "./TableViewConfigurationDropdown-BRbOcVNc.mjs";
2
2
  export { TableViewConfiguration, TableViewConfigurationDropdownProps, TableViewConfigurationProps, TableViewConfigurationDropdown as default };
@@ -268,4 +268,4 @@ const TechnicalSticker = ({ variant = "grey", href, tooltipLabel: tooltipLabelPr
268
268
  //#endregion
269
269
  export { TechnicalSticker as t };
270
270
 
271
- //# sourceMappingURL=TechnicalSticker-D1PqG_yT.mjs.map
271
+ //# sourceMappingURL=TechnicalSticker-_LtE-PRY.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TechnicalSticker-D1PqG_yT.mjs","names":[],"sources":["../components/TechnicalSticker/TechnicalSticker.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled, { css, useTheme } from 'styled-components';\n\nimport { BorderRadius, Color, Spacing, Typography } from '@persona/design-tokens';\nimport { CopyIcon } from '@persona/icons/12px';\nimport Tooltip from 'design-system/components/Tooltip';\nimport { withAlpha } from 'design-system/lib/color';\nimport copyTextToClipboard from 'design-system/lib/copyTextToClipboard';\nimport MiddleTruncatedText from 'design-system/lib/MiddleTruncatedText';\nimport { isHovered } from 'design-system/lib/pseudoClass';\nimport {\n type MaybeSemanticTheme,\n semanticColor,\n semanticTokens,\n} from 'design-system/lib/semanticColor';\nimport useToggle from 'design-system/lib/useToggle';\nimport type { SemanticTokens } from 'design-system/variables/semantic';\n\nexport type TechnicalStickerVariant = 'grey' | 'white';\n\nconst COPY_CONFIRMATION_TEXT = 'Copied!';\nconst COPY_CONFIRMATION_DURATION_MS = 1200;\nconst DEFAULT_COPY_TOOLTIP_LABEL = 'Copy ID';\nconst HREF_VALIDATION_BASE_URL = 'https://withpersona.com';\nconst TECHNICAL_TEXT_FONT = `${Typography.TextMono.fontWeight} ${Typography.TextExtraSmall.fontSize} ${Typography.TextMono.fontFamily}`;\n\nconst semanticRestFill = (tokens: SemanticTokens, variant: TechnicalStickerVariant) =>\n variant === 'white' ? tokens.FeedbackNeutralInverse : tokens.FeedbackNeutral1;\n\nconst restFill = (theme: MaybeSemanticTheme, variant: TechnicalStickerVariant) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n return semanticRestFill(tokens, variant);\n }\n return variant === 'white' ? Color.BackgroundLabelWhite : Color.BackgroundLabelGrey;\n};\n\nconst hoverFill = (theme: MaybeSemanticTheme, variant: TechnicalStickerVariant) =>\n variant === 'white'\n ? semanticColor(theme, 'FeedbackNeutral1', Color.BackgroundButtonInverseHover)\n : semanticColor(theme, 'ActionNeutralActive', Color.BackgroundLabelGreyHover);\n\nconst isSafeTechnicalStickerHref = (href: string) => {\n try {\n const url = new URL(href, HREF_VALIDATION_BASE_URL);\n return url.protocol === 'http:' || url.protocol === 'https:';\n } catch {\n return false;\n }\n};\n\nconst TechnicalStickerShell = styled.div<{\n variant: TechnicalStickerVariant;\n disabled?: boolean;\n $width?: number | string;\n}>`\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n\n border-radius: ${BorderRadius.Sm};\n height: 1rem;\n width: ${({ $width }) => (typeof $width === 'number' ? `${$width}px` : ($width ?? 'auto'))};\n max-width: 100%;\n box-sizing: border-box;\n\n color: ${({ theme, disabled }) =>\n disabled\n ? semanticColor(theme, 'FgDisabled', theme.color.text.disabled)\n : semanticColor(theme, 'FgPrimary', theme.color.text.primary)};\n background: ${({ theme, variant, disabled }) => {\n const tokens = semanticTokens(theme);\n return tokens && disabled\n ? withAlpha(semanticRestFill(tokens, variant), tokens.Opacity65)\n : restFill(theme, variant);\n }};\n\n position: relative;\n overflow: hidden;\n border: 1px solid ${({ theme }) => semanticColor(theme, 'BorderDefault', Color.BorderInputDefault)};\n\n ${({ theme, variant, disabled }) =>\n !disabled &&\n css`\n &:hover {\n background: ${hoverFill(theme, variant)};\n }\n `}\n`;\n\nconst labelContainerStyles = css`\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1 1 auto;\n min-width: 0;\n padding: 0 ${Spacing[1]};\n`;\n\nconst LabelContainer = styled.div`\n ${labelContainerStyles}\n`;\n\nconst LabelLink = styled.a`\n ${labelContainerStyles}\n color: inherit;\n text-decoration: none;\n`;\n\nconst TechnicalText = styled(MiddleTruncatedText)<{\n $isLinkEnabled: boolean;\n $isTruncated: boolean;\n}>`\n ${Typography.TextMono};\n font-size: ${Typography.TextExtraSmall.fontSize};\n line-height: ${Typography.TextExtraSmall.lineHeight};\n text-align: center;\n\n ${({ $isLinkEnabled, $isTruncated }) =>\n $isTruncated &&\n css`\n cursor: ${$isLinkEnabled ? 'pointer' : 'default'};\n user-select: none;\n\n & > span {\n user-select: none;\n }\n `}\n`;\n\nconst CopyActions = styled.div<{ $visible: boolean }>`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n height: 16px;\n opacity: ${({ $visible }) => ($visible ? 1 : 0)};\n pointer-events: ${({ $visible }) => ($visible ? 'auto' : 'none')};\n transition: opacity 120ms ease-in-out;\n\n /* Keyboard focus keeps the actions reachable, but a click also focuses the\n button — matching plain :focus-within would leave them visible after the\n pointer moves away. */\n &:has(:focus-visible) {\n opacity: 1;\n pointer-events: auto;\n }\n`;\n\nconst CopyGradient = styled.div<{ $background: string }>`\n width: 8px;\n height: 16px;\n background: linear-gradient(to left, ${({ $background }) => $background}, transparent);\n`;\n\nconst CopyButton = styled.button<{ $background: string }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n padding: 0 2px 0 0;\n border: none;\n background: ${({ $background }) => $background};\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.BorderIconPrimary)};\n cursor: pointer;\n\n &:disabled {\n cursor: not-allowed;\n }\n\n &${isHovered}:not(:disabled) {\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n }\n`;\n\nexport interface TechnicalStickerProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n /** Full untruncated technical value displayed in the sticker. */\n children: string;\n /** Visual style for the technical sticker. Default: `grey`. */\n variant?: TechnicalStickerVariant;\n /** Renders disabled style and disables copy/link interaction. */\n disabled?: boolean;\n /** Opens in a new tab when the sticker body is clicked. */\n href?: string;\n /**\n * Hover tooltip for the sticker body. Shown when text is truncated or when set explicitly.\n * Defaults to the untruncated `children` string when shown.\n */\n tooltipLabel?: string;\n /**\n * Hover tooltip for the copy icon.\n * Defaults to `Copy ID`.\n */\n copyTooltipLabel?: string;\n /**\n * Confirmation label shown in the copy tooltip after a successful copy.\n * Defaults to `Copied!`.\n */\n copyConfirmationLabel?: string;\n /** Whether to show the hover copy action. Default: true. */\n copyable?: boolean;\n /** Value copied to the clipboard. Defaults to `children`. */\n copyValue?: string;\n /** Width of the sticker. Numbers are interpreted as pixels. */\n width?: number | string;\n /** Max width for middle truncation. Default: '96px'. */\n maxWidth?: number | string;\n}\n\nexport const TechnicalSticker = ({\n variant = 'grey',\n href,\n tooltipLabel: tooltipLabelProp,\n copyTooltipLabel = DEFAULT_COPY_TOOLTIP_LABEL,\n copyConfirmationLabel = COPY_CONFIRMATION_TEXT,\n copyable = true,\n copyValue,\n width,\n maxWidth = '96px',\n children,\n disabled,\n onMouseEnter,\n onMouseLeave,\n ...stickerProps\n}: TechnicalStickerProps) => {\n const [isHoveredState, setIsHoveredState] = useState(false);\n const [isCopyButtonKeyboardFocused, setIsCopyButtonKeyboardFocused] = useState(false);\n const [isTruncated, setIsTruncated] = useState(false);\n const [isCopyTooltipOpen, setIsCopyTooltipOpen] = useState(false);\n const [copyConfirmationOpen, { enable: showCopyConfirmation, disable: hideCopyConfirmation }] =\n useToggle(false);\n const copyConfirmationTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const copyButtonRef = useRef<HTMLButtonElement>(null);\n const isPointerFocusRef = useRef(false);\n const copyRequestIdRef = useRef(0);\n\n const tooltipLabel = tooltipLabelProp ?? children;\n const hasCustomTooltipLabel = tooltipLabelProp != null;\n\n const theme = useTheme();\n const hoverBackground = hoverFill(theme, variant);\n const copyActionBackground = isHoveredState ? hoverBackground : restFill(theme, variant);\n const showCopyActions =\n copyable &&\n !disabled &&\n (isHoveredState || isCopyButtonKeyboardFocused || copyConfirmationOpen);\n const showStickerTooltip = tooltipLabel.length > 0 && (isTruncated || hasCustomTooltipLabel);\n const isCopyTooltipVisible = isCopyTooltipOpen || copyConfirmationOpen;\n const isLinkEnabled = href != null && !disabled && isSafeTechnicalStickerHref(href);\n\n const handleCopyTooltipOpenChange = useCallback(\n (open: boolean) => {\n if (copyConfirmationOpen) {\n return;\n }\n\n setIsCopyTooltipOpen(open);\n },\n [copyConfirmationOpen],\n );\n\n const dismissCopyConfirmation = useCallback(() => {\n // Writing to the clipboard is async, so a copy still in flight would\n // otherwise surface its confirmation after the dismissal.\n copyRequestIdRef.current += 1;\n\n if (copyConfirmationTimerRef.current) {\n clearTimeout(copyConfirmationTimerRef.current);\n copyConfirmationTimerRef.current = null;\n }\n\n setIsCopyTooltipOpen(false);\n hideCopyConfirmation();\n }, [hideCopyConfirmation]);\n\n const handleCopy = useCallback(\n async (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n const requestId = ++copyRequestIdRef.current;\n const copyWasSuccessful = await copyTextToClipboard(copyValue ?? children);\n if (!copyWasSuccessful || requestId !== copyRequestIdRef.current) {\n return;\n }\n\n setIsCopyTooltipOpen(true);\n showCopyConfirmation();\n if (copyConfirmationTimerRef.current) {\n clearTimeout(copyConfirmationTimerRef.current);\n }\n copyConfirmationTimerRef.current = setTimeout(() => {\n setIsCopyTooltipOpen(false);\n hideCopyConfirmation();\n copyConfirmationTimerRef.current = null;\n }, COPY_CONFIRMATION_DURATION_MS);\n },\n [children, copyValue, disabled, hideCopyConfirmation, showCopyConfirmation],\n );\n\n useEffect(\n () => () => {\n if (copyConfirmationTimerRef.current) {\n clearTimeout(copyConfirmationTimerRef.current);\n }\n },\n [],\n );\n\n // Clicking an already keyboard-focused button fires no second focus event, so\n // pointer input has to retire the keyboard state itself.\n const handleCopyButtonMouseDown = () => {\n isPointerFocusRef.current = true;\n setIsCopyButtonKeyboardFocused(false);\n };\n\n // A click focuses the button too, so treating any focus as a reason to keep\n // the actions visible would pin them open once the pointer moves away.\n const handleCopyButtonFocus = () => {\n setIsCopyButtonKeyboardFocused(!isPointerFocusRef.current);\n isPointerFocusRef.current = false;\n };\n\n const handleCopyButtonBlur = () => {\n isPointerFocusRef.current = false;\n setIsCopyButtonKeyboardFocused(false);\n };\n\n const technicalText = (\n <TechnicalText\n value={children}\n maxWidth={width ?? maxWidth}\n font={TECHNICAL_TEXT_FONT}\n onTruncatedChange={setIsTruncated}\n titleBehavior='never'\n $isLinkEnabled={isLinkEnabled}\n $isTruncated={isTruncated}\n />\n );\n\n const labelContent = isLinkEnabled ? (\n <LabelLink href={href} target='_blank' rel='noopener noreferrer'>\n {technicalText}\n </LabelLink>\n ) : (\n <LabelContainer>{technicalText}</LabelContainer>\n );\n\n const labelWithTooltip = showStickerTooltip ? (\n <Tooltip trigger={labelContent} interactive side='top' maxWidth='400px'>\n {tooltipLabel}\n </Tooltip>\n ) : (\n labelContent\n );\n\n return (\n <TechnicalStickerShell\n {...stickerProps}\n variant={variant}\n disabled={disabled}\n $width={width}\n onMouseEnter={(event) => {\n onMouseEnter?.(event);\n setIsHoveredState(true);\n }}\n onMouseLeave={(event) => {\n onMouseLeave?.(event);\n setIsHoveredState(false);\n if (!isCopyButtonKeyboardFocused) {\n // Otherwise a click's focus lingers on a button that is now hidden.\n copyButtonRef.current?.blur();\n dismissCopyConfirmation();\n }\n }}\n >\n {labelWithTooltip}\n {copyable && (\n <CopyActions $visible={showCopyActions}>\n <CopyGradient $background={copyActionBackground} />\n <Tooltip\n open={isCopyTooltipVisible}\n onOpenChange={handleCopyTooltipOpenChange}\n trigger={\n <CopyButton\n ref={copyButtonRef}\n type='button'\n aria-label='Copy'\n disabled={disabled}\n $background={copyActionBackground}\n onClick={handleCopy}\n onMouseDown={handleCopyButtonMouseDown}\n onBlur={handleCopyButtonBlur}\n onFocus={handleCopyButtonFocus}\n >\n <CopyIcon />\n </CopyButton>\n }\n interactive={false}\n side='top'\n >\n {copyConfirmationOpen ? copyConfirmationLabel : copyTooltipLabel}\n </Tooltip>\n </CopyActions>\n )}\n </TechnicalStickerShell>\n );\n};\n\nexport default TechnicalSticker;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TechnicalSticker-_LtE-PRY.mjs","names":[],"sources":["../components/TechnicalSticker/TechnicalSticker.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled, { css, useTheme } from 'styled-components';\n\nimport { BorderRadius, Color, Spacing, Typography } from '@persona/design-tokens';\nimport { CopyIcon } from '@persona/icons/12px';\nimport Tooltip from 'design-system/components/Tooltip';\nimport { withAlpha } from 'design-system/lib/color';\nimport copyTextToClipboard from 'design-system/lib/copyTextToClipboard';\nimport MiddleTruncatedText from 'design-system/lib/MiddleTruncatedText';\nimport { isHovered } from 'design-system/lib/pseudoClass';\nimport {\n type MaybeSemanticTheme,\n semanticColor,\n semanticTokens,\n} from 'design-system/lib/semanticColor';\nimport useToggle from 'design-system/lib/useToggle';\nimport type { SemanticTokens } from 'design-system/variables/semantic';\n\nexport type TechnicalStickerVariant = 'grey' | 'white';\n\nconst COPY_CONFIRMATION_TEXT = 'Copied!';\nconst COPY_CONFIRMATION_DURATION_MS = 1200;\nconst DEFAULT_COPY_TOOLTIP_LABEL = 'Copy ID';\nconst HREF_VALIDATION_BASE_URL = 'https://withpersona.com';\nconst TECHNICAL_TEXT_FONT = `${Typography.TextMono.fontWeight} ${Typography.TextExtraSmall.fontSize} ${Typography.TextMono.fontFamily}`;\n\nconst semanticRestFill = (tokens: SemanticTokens, variant: TechnicalStickerVariant) =>\n variant === 'white' ? tokens.FeedbackNeutralInverse : tokens.FeedbackNeutral1;\n\nconst restFill = (theme: MaybeSemanticTheme, variant: TechnicalStickerVariant) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n return semanticRestFill(tokens, variant);\n }\n return variant === 'white' ? Color.BackgroundLabelWhite : Color.BackgroundLabelGrey;\n};\n\nconst hoverFill = (theme: MaybeSemanticTheme, variant: TechnicalStickerVariant) =>\n variant === 'white'\n ? semanticColor(theme, 'FeedbackNeutral1', Color.BackgroundButtonInverseHover)\n : semanticColor(theme, 'ActionNeutralActive', Color.BackgroundLabelGreyHover);\n\nconst isSafeTechnicalStickerHref = (href: string) => {\n try {\n const url = new URL(href, HREF_VALIDATION_BASE_URL);\n return url.protocol === 'http:' || url.protocol === 'https:';\n } catch {\n return false;\n }\n};\n\nconst TechnicalStickerShell = styled.div<{\n variant: TechnicalStickerVariant;\n disabled?: boolean;\n $width?: number | string;\n}>`\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n\n border-radius: ${BorderRadius.Sm};\n height: 1rem;\n width: ${({ $width }) => (typeof $width === 'number' ? `${$width}px` : ($width ?? 'auto'))};\n max-width: 100%;\n box-sizing: border-box;\n\n color: ${({ theme, disabled }) =>\n disabled\n ? semanticColor(theme, 'FgDisabled', theme.color.text.disabled)\n : semanticColor(theme, 'FgPrimary', theme.color.text.primary)};\n background: ${({ theme, variant, disabled }) => {\n const tokens = semanticTokens(theme);\n return tokens && disabled\n ? withAlpha(semanticRestFill(tokens, variant), tokens.Opacity65)\n : restFill(theme, variant);\n }};\n\n position: relative;\n overflow: hidden;\n border: 1px solid ${({ theme }) => semanticColor(theme, 'BorderDefault', Color.BorderInputDefault)};\n\n ${({ theme, variant, disabled }) =>\n !disabled &&\n css`\n &:hover {\n background: ${hoverFill(theme, variant)};\n }\n `}\n`;\n\nconst labelContainerStyles = css`\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1 1 auto;\n min-width: 0;\n padding: 0 ${Spacing[1]};\n`;\n\nconst LabelContainer = styled.div`\n ${labelContainerStyles}\n`;\n\nconst LabelLink = styled.a`\n ${labelContainerStyles}\n color: inherit;\n text-decoration: none;\n`;\n\nconst TechnicalText = styled(MiddleTruncatedText)<{\n $isLinkEnabled: boolean;\n $isTruncated: boolean;\n}>`\n ${Typography.TextMono};\n font-size: ${Typography.TextExtraSmall.fontSize};\n line-height: ${Typography.TextExtraSmall.lineHeight};\n text-align: center;\n\n ${({ $isLinkEnabled, $isTruncated }) =>\n $isTruncated &&\n css`\n cursor: ${$isLinkEnabled ? 'pointer' : 'default'};\n user-select: none;\n\n & > span {\n user-select: none;\n }\n `}\n`;\n\nconst CopyActions = styled.div<{ $visible: boolean }>`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n height: 16px;\n opacity: ${({ $visible }) => ($visible ? 1 : 0)};\n pointer-events: ${({ $visible }) => ($visible ? 'auto' : 'none')};\n transition: opacity 120ms ease-in-out;\n\n /* Keyboard focus keeps the actions reachable, but a click also focuses the\n button — matching plain :focus-within would leave them visible after the\n pointer moves away. */\n &:has(:focus-visible) {\n opacity: 1;\n pointer-events: auto;\n }\n`;\n\nconst CopyGradient = styled.div<{ $background: string }>`\n width: 8px;\n height: 16px;\n background: linear-gradient(to left, ${({ $background }) => $background}, transparent);\n`;\n\nconst CopyButton = styled.button<{ $background: string }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n padding: 0 2px 0 0;\n border: none;\n background: ${({ $background }) => $background};\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.BorderIconPrimary)};\n cursor: pointer;\n\n &:disabled {\n cursor: not-allowed;\n }\n\n &${isHovered}:not(:disabled) {\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n }\n`;\n\nexport interface TechnicalStickerProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n /** Full untruncated technical value displayed in the sticker. */\n children: string;\n /** Visual style for the technical sticker. Default: `grey`. */\n variant?: TechnicalStickerVariant;\n /** Renders disabled style and disables copy/link interaction. */\n disabled?: boolean;\n /** Opens in a new tab when the sticker body is clicked. */\n href?: string;\n /**\n * Hover tooltip for the sticker body. Shown when text is truncated or when set explicitly.\n * Defaults to the untruncated `children` string when shown.\n */\n tooltipLabel?: string;\n /**\n * Hover tooltip for the copy icon.\n * Defaults to `Copy ID`.\n */\n copyTooltipLabel?: string;\n /**\n * Confirmation label shown in the copy tooltip after a successful copy.\n * Defaults to `Copied!`.\n */\n copyConfirmationLabel?: string;\n /** Whether to show the hover copy action. Default: true. */\n copyable?: boolean;\n /** Value copied to the clipboard. Defaults to `children`. */\n copyValue?: string;\n /** Width of the sticker. Numbers are interpreted as pixels. */\n width?: number | string;\n /** Max width for middle truncation. Default: '96px'. */\n maxWidth?: number | string;\n}\n\nexport const TechnicalSticker = ({\n variant = 'grey',\n href,\n tooltipLabel: tooltipLabelProp,\n copyTooltipLabel = DEFAULT_COPY_TOOLTIP_LABEL,\n copyConfirmationLabel = COPY_CONFIRMATION_TEXT,\n copyable = true,\n copyValue,\n width,\n maxWidth = '96px',\n children,\n disabled,\n onMouseEnter,\n onMouseLeave,\n ...stickerProps\n}: TechnicalStickerProps) => {\n const [isHoveredState, setIsHoveredState] = useState(false);\n const [isCopyButtonKeyboardFocused, setIsCopyButtonKeyboardFocused] = useState(false);\n const [isTruncated, setIsTruncated] = useState(false);\n const [isCopyTooltipOpen, setIsCopyTooltipOpen] = useState(false);\n const [copyConfirmationOpen, { enable: showCopyConfirmation, disable: hideCopyConfirmation }] =\n useToggle(false);\n const copyConfirmationTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const copyButtonRef = useRef<HTMLButtonElement>(null);\n const isPointerFocusRef = useRef(false);\n const copyRequestIdRef = useRef(0);\n\n const tooltipLabel = tooltipLabelProp ?? children;\n const hasCustomTooltipLabel = tooltipLabelProp != null;\n\n const theme = useTheme();\n const hoverBackground = hoverFill(theme, variant);\n const copyActionBackground = isHoveredState ? hoverBackground : restFill(theme, variant);\n const showCopyActions =\n copyable &&\n !disabled &&\n (isHoveredState || isCopyButtonKeyboardFocused || copyConfirmationOpen);\n const showStickerTooltip = tooltipLabel.length > 0 && (isTruncated || hasCustomTooltipLabel);\n const isCopyTooltipVisible = isCopyTooltipOpen || copyConfirmationOpen;\n const isLinkEnabled = href != null && !disabled && isSafeTechnicalStickerHref(href);\n\n const handleCopyTooltipOpenChange = useCallback(\n (open: boolean) => {\n if (copyConfirmationOpen) {\n return;\n }\n\n setIsCopyTooltipOpen(open);\n },\n [copyConfirmationOpen],\n );\n\n const dismissCopyConfirmation = useCallback(() => {\n // Writing to the clipboard is async, so a copy still in flight would\n // otherwise surface its confirmation after the dismissal.\n copyRequestIdRef.current += 1;\n\n if (copyConfirmationTimerRef.current) {\n clearTimeout(copyConfirmationTimerRef.current);\n copyConfirmationTimerRef.current = null;\n }\n\n setIsCopyTooltipOpen(false);\n hideCopyConfirmation();\n }, [hideCopyConfirmation]);\n\n const handleCopy = useCallback(\n async (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n const requestId = ++copyRequestIdRef.current;\n const copyWasSuccessful = await copyTextToClipboard(copyValue ?? children);\n if (!copyWasSuccessful || requestId !== copyRequestIdRef.current) {\n return;\n }\n\n setIsCopyTooltipOpen(true);\n showCopyConfirmation();\n if (copyConfirmationTimerRef.current) {\n clearTimeout(copyConfirmationTimerRef.current);\n }\n copyConfirmationTimerRef.current = setTimeout(() => {\n setIsCopyTooltipOpen(false);\n hideCopyConfirmation();\n copyConfirmationTimerRef.current = null;\n }, COPY_CONFIRMATION_DURATION_MS);\n },\n [children, copyValue, disabled, hideCopyConfirmation, showCopyConfirmation],\n );\n\n useEffect(\n () => () => {\n if (copyConfirmationTimerRef.current) {\n clearTimeout(copyConfirmationTimerRef.current);\n }\n },\n [],\n );\n\n // Clicking an already keyboard-focused button fires no second focus event, so\n // pointer input has to retire the keyboard state itself.\n const handleCopyButtonMouseDown = () => {\n isPointerFocusRef.current = true;\n setIsCopyButtonKeyboardFocused(false);\n };\n\n // A click focuses the button too, so treating any focus as a reason to keep\n // the actions visible would pin them open once the pointer moves away.\n const handleCopyButtonFocus = () => {\n setIsCopyButtonKeyboardFocused(!isPointerFocusRef.current);\n isPointerFocusRef.current = false;\n };\n\n const handleCopyButtonBlur = () => {\n isPointerFocusRef.current = false;\n setIsCopyButtonKeyboardFocused(false);\n };\n\n const technicalText = (\n <TechnicalText\n value={children}\n maxWidth={width ?? maxWidth}\n font={TECHNICAL_TEXT_FONT}\n onTruncatedChange={setIsTruncated}\n titleBehavior='never'\n $isLinkEnabled={isLinkEnabled}\n $isTruncated={isTruncated}\n />\n );\n\n const labelContent = isLinkEnabled ? (\n <LabelLink href={href} target='_blank' rel='noopener noreferrer'>\n {technicalText}\n </LabelLink>\n ) : (\n <LabelContainer>{technicalText}</LabelContainer>\n );\n\n const labelWithTooltip = showStickerTooltip ? (\n <Tooltip trigger={labelContent} interactive side='top' maxWidth='400px'>\n {tooltipLabel}\n </Tooltip>\n ) : (\n labelContent\n );\n\n return (\n <TechnicalStickerShell\n {...stickerProps}\n variant={variant}\n disabled={disabled}\n $width={width}\n onMouseEnter={(event) => {\n onMouseEnter?.(event);\n setIsHoveredState(true);\n }}\n onMouseLeave={(event) => {\n onMouseLeave?.(event);\n setIsHoveredState(false);\n if (!isCopyButtonKeyboardFocused) {\n // Otherwise a click's focus lingers on a button that is now hidden.\n copyButtonRef.current?.blur();\n dismissCopyConfirmation();\n }\n }}\n >\n {labelWithTooltip}\n {copyable && (\n <CopyActions $visible={showCopyActions}>\n <CopyGradient $background={copyActionBackground} />\n <Tooltip\n open={isCopyTooltipVisible}\n onOpenChange={handleCopyTooltipOpenChange}\n trigger={\n <CopyButton\n ref={copyButtonRef}\n type='button'\n aria-label='Copy'\n disabled={disabled}\n $background={copyActionBackground}\n onClick={handleCopy}\n onMouseDown={handleCopyButtonMouseDown}\n onBlur={handleCopyButtonBlur}\n onFocus={handleCopyButtonFocus}\n >\n <CopyIcon />\n </CopyButton>\n }\n interactive={false}\n side='top'\n >\n {copyConfirmationOpen ? copyConfirmationLabel : copyTooltipLabel}\n </Tooltip>\n </CopyActions>\n )}\n </TechnicalStickerShell>\n );\n};\n\nexport default TechnicalSticker;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { i as ParagraphSize, n as HeadingSize, t as DisplaySize } from "./text-DjTGRUM1.mjs";
2
- import { a as TextColors } from "./theme-DKiszVRN.mjs";
1
+ import { i as ParagraphSize, n as HeadingSize, t as DisplaySize } from "./text-CxIup7HJ.mjs";
2
+ import { a as TextColors } from "./theme-CW6qlONZ.mjs";
3
3
  import { ComponentPropsWithoutRef, ComponentType, FC, PropsWithChildren } from "react";
4
4
  import * as _$styled_components0 from "styled-components";
5
5
 
@@ -39,4 +39,4 @@ declare const Label: _$styled_components0.StyledComponent<FC<PropsWithChildren<S
39
39
  declare const TabularNumber: _$styled_components0.StyledComponent<FC<PropsWithChildren<SpanProps>>, any, ParagraphProps, never>;
40
40
  //#endregion
41
41
  export { Label as a, ParagraphProps as c, TabularNumber as d, HeadingProps as i, Span as l, DisplayProps as n, LabelProps as o, Heading as r, Paragraph as s, Display as t, SpanProps as u };
42
- //# sourceMappingURL=Text-DD_W_ixb.d.mts.map
42
+ //# sourceMappingURL=Text-B69gp3X_.d.mts.map
package/dist/Text.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as Label, c as ParagraphProps, d as TabularNumber, i as HeadingProps, l as Span, n as DisplayProps, o as LabelProps, r as Heading, s as Paragraph, t as Display, u as SpanProps } from "./Text-DD_W_ixb.mjs";
1
+ import { a as Label, c as ParagraphProps, d as TabularNumber, i as HeadingProps, l as Span, n as DisplayProps, o as LabelProps, r as Heading, s as Paragraph, t as Display, u as SpanProps } from "./Text-B69gp3X_.mjs";
2
2
  export { Display, DisplayProps, Heading, HeadingProps, Label, LabelProps, Paragraph, ParagraphProps, Span, SpanProps, TabularNumber };
@@ -1,7 +1,7 @@
1
1
  import { a as styled } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
2
  import "./variables/transitions.mjs";
3
3
  import inputMixin from "./mixins/input.mjs";
4
- import { n as useFormField } from "./useFormField-C61u9KvG.mjs";
4
+ import { n as useFormField } from "./useFormField-BzhMbl5P.mjs";
5
5
  import { forwardRef } from "react";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  //#region components/TextArea/TextArea.tsx
@@ -30,4 +30,4 @@ const TextAreaWithStyle = forwardRef(function TextAreaWithStyle({ size, ...props
30
30
  //#endregion
31
31
  export { TextAreaWithStyle as t };
32
32
 
33
- //# sourceMappingURL=TextArea-wwV-s5Oa.mjs.map
33
+ //# sourceMappingURL=TextArea-CcxltuBh.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea-wwV-s5Oa.mjs","names":[],"sources":["../components/TextArea/TextArea.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport inputMixin, { type InputMixinProps } from 'design-system/mixins/input';\nimport type { InputProps } from 'design-system/types/InputProps';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\nexport interface TextAreaProps\n extends ComponentPropsWithoutRef<'textarea'>, Omit<InputProps, 'inputSize'> {}\n\nconst TextArea = styled('textarea')<InputMixinProps>`\n ${inputMixin};\n /* Don't cut off overflow text */\n padding-bottom: 0;\n font-family: ${({ theme }) => theme.text.fontFamily.base};\n height: ${({ theme }) => theme.element.height.xl};\n white-space: pre-wrap;\n transition:\n all ${TransitionDuration.Fast},\n height 0s,\n width 0s;\n`;\n\nconst TextAreaWithStyle = forwardRef<HTMLTextAreaElement, TextAreaProps>(function TextAreaWithStyle(\n { size, ...props },\n ref,\n) {\n const { inputId } = useFormField(props);\n\n return (\n <TextArea\n id={inputId}\n aria-invalid={props.hasError === true}\n ref={ref}\n {...props}\n $size={size}\n />\n );\n});\n\nexport { TextAreaWithStyle as TextArea };\nexport default TextAreaWithStyle;\n"],"mappings":";;;;;;;AAWA,MAAM,WAAW,OAAO,WAAW;IAC/B,WAAW;;;kBAGG,EAAE,YAAY,MAAM,KAAK,WAAW,KAAK;aAC9C,EAAE,YAAY,MAAM,QAAQ,OAAO,GAAG;;;kBAGjB;;;;AAKlC,MAAM,oBAAoB,WAA+C,SAAS,kBAChF,EAAE,MAAM,GAAG,SACX,KACA;CACA,MAAM,EAAE,YAAY,aAAa,MAAM;AAEvC,QACE,oBAAC,UAAD;EACE,IAAI;EACJ,gBAAc,MAAM,aAAa;EAC5B;EACL,GAAI;EACJ,OAAO;EACP,CAAA;EAEJ"}
1
+ {"version":3,"file":"TextArea-CcxltuBh.mjs","names":[],"sources":["../components/TextArea/TextArea.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport inputMixin, { type InputMixinProps } from 'design-system/mixins/input';\nimport type { InputProps } from 'design-system/types/InputProps';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\nexport interface TextAreaProps\n extends ComponentPropsWithoutRef<'textarea'>, Omit<InputProps, 'inputSize'> {}\n\nconst TextArea = styled('textarea')<InputMixinProps>`\n ${inputMixin};\n /* Don't cut off overflow text */\n padding-bottom: 0;\n font-family: ${({ theme }) => theme.text.fontFamily.base};\n height: ${({ theme }) => theme.element.height.xl};\n white-space: pre-wrap;\n transition:\n all ${TransitionDuration.Fast},\n height 0s,\n width 0s;\n`;\n\nconst TextAreaWithStyle = forwardRef<HTMLTextAreaElement, TextAreaProps>(function TextAreaWithStyle(\n { size, ...props },\n ref,\n) {\n const { inputId } = useFormField(props);\n\n return (\n <TextArea\n id={inputId}\n aria-invalid={props.hasError === true}\n ref={ref}\n {...props}\n $size={size}\n />\n );\n});\n\nexport { TextAreaWithStyle as TextArea };\nexport default TextAreaWithStyle;\n"],"mappings":";;;;;;;AAWA,MAAM,WAAW,OAAO,WAAW;IAC/B,WAAW;;;kBAGG,EAAE,YAAY,MAAM,KAAK,WAAW,KAAK;aAC9C,EAAE,YAAY,MAAM,QAAQ,OAAO,GAAG;;;kBAGjB;;;;AAKlC,MAAM,oBAAoB,WAA+C,SAAS,kBAChF,EAAE,MAAM,GAAG,SACX,KACA;CACA,MAAM,EAAE,YAAY,aAAa,MAAM;AAEvC,QACE,oBAAC,UAAD;EACE,IAAI;EACJ,gBAAc,MAAM,aAAa;EAC5B;EACL,GAAI;EACJ,OAAO;EACP,CAAA;EAEJ"}
@@ -1,4 +1,4 @@
1
- import { t as InputProps } from "./InputProps-B1Xod4wm.mjs";
1
+ import { t as InputProps } from "./InputProps-lag6BM5h.mjs";
2
2
  import * as _$react from "react";
3
3
  import { ComponentPropsWithoutRef } from "react";
4
4
 
@@ -7,4 +7,4 @@ interface TextAreaProps extends ComponentPropsWithoutRef<'textarea'>, Omit<Input
7
7
  declare const TextAreaWithStyle: _$react.ForwardRefExoticComponent<TextAreaProps & _$react.RefAttributes<HTMLTextAreaElement>>;
8
8
  //#endregion
9
9
  export { TextAreaWithStyle as n, TextAreaProps as t };
10
- //# sourceMappingURL=TextArea-DOofaXJi.d.mts.map
10
+ //# sourceMappingURL=TextArea-Cjsdl07-.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as TextAreaWithStyle, t as TextAreaProps } from "./TextArea-DOofaXJi.mjs";
1
+ import { n as TextAreaWithStyle, t as TextAreaProps } from "./TextArea-Cjsdl07-.mjs";
2
2
  export { TextAreaWithStyle as TextArea, TextAreaWithStyle as default, TextAreaProps };
@@ -1,4 +1,4 @@
1
- import { r as TooltipStandardProps } from "./Tooltip-Cnqf1-tx.mjs";
1
+ import { r as TooltipStandardProps } from "./Tooltip-x1pFf-Mj.mjs";
2
2
  import { ReactNode } from "react";
3
3
  import * as _$styled_components0 from "styled-components";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
@@ -15,4 +15,4 @@ declare const TextUnderlineTooltip: ({
15
15
  }: TextUnderlineTooltipProps) => _$react_jsx_runtime0.JSX.Element;
16
16
  //#endregion
17
17
  export { TextWithDashedUnderline as n, TextUnderlineTooltip as t };
18
- //# sourceMappingURL=TextUnderlineTooltip-BPLKU9wu.d.mts.map
18
+ //# sourceMappingURL=TextUnderlineTooltip-DDzKLCeX.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as TextWithDashedUnderline, t as TextUnderlineTooltip } from "./TextUnderlineTooltip-BPLKU9wu.mjs";
1
+ import { n as TextWithDashedUnderline, t as TextUnderlineTooltip } from "./TextUnderlineTooltip-DDzKLCeX.mjs";
2
2
  export { TextWithDashedUnderline, TextUnderlineTooltip as default };
package/dist/Tile.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { o as StickerProps } from "./Sticker-Bf9rhSkv.mjs";
1
+ import { o as StickerProps } from "./Sticker-BVX38LKi.mjs";
2
2
  import { ComponentPropsWithoutRef, ReactNode } from "react";
3
3
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
package/dist/Toast.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { t as MessageType } from "./message-CjIHdhX1.mjs";
1
+ import { t as MessageType } from "./message-CKSLIKF0.mjs";
2
2
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { HTMLMotionProps } from "framer-motion";
4
4
 
@@ -7,6 +7,8 @@ interface ToggleProps {
7
7
  className?: string;
8
8
  /** Disables interaction and renders the toggle in a muted style. */
9
9
  disabled?: boolean;
10
+ /** Marks the switch as required (sets aria-required). */
11
+ required?: boolean;
10
12
  /**
11
13
  * Tooltip / title shown on the root element when the toggle is off.
12
14
  * @defaultValue 'Off'
@@ -51,4 +53,4 @@ interface ToggleProps {
51
53
  declare const Toggle: _$react.ForwardRefExoticComponent<ToggleProps & _$react.RefAttributes<HTMLDivElement>>;
52
54
  //#endregion
53
55
  export { ToggleProps as n, Toggle as t };
54
- //# sourceMappingURL=Toggle-2nrUX591.d.mts.map
56
+ //# sourceMappingURL=Toggle-B5sSdb_q.d.mts.map
@@ -5,7 +5,7 @@ import { t as useToggle } from "./useToggle-DUHQjohK.mjs";
5
5
  import "./variables/transitions.mjs";
6
6
  import { isDisabled, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
7
7
  import { focusOutlineControlled } from "./mixins/focus.mjs";
8
- import { n as useFormField } from "./useFormField-C61u9KvG.mjs";
8
+ import { n as useFormField } from "./useFormField-BzhMbl5P.mjs";
9
9
  import { Color, Spacing } from "@persona/design-tokens";
10
10
  import { forwardRef, useCallback, useRef } from "react";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -121,7 +121,7 @@ const HiddenInput = styled.input`
121
121
  clip: rect(0, 0, 0, 0);
122
122
  position: absolute;
123
123
  `;
124
- const Toggle = forwardRef(function Toggle({ className, disabled, titleOff = "Off", titleOn = "On", onChange = () => void 0, value, id, labelOn, labelOff, "data-test": dataTest, "aria-label": ariaLabel, size = "md" }, ref) {
124
+ const Toggle = forwardRef(function Toggle({ className, disabled, required, titleOff = "Off", titleOn = "On", onChange = () => void 0, value, id, labelOn, labelOff, "data-test": dataTest, "aria-label": ariaLabel, size = "md" }, ref) {
125
125
  const field = useFormField({ disabled });
126
126
  const generatedId = useId();
127
127
  const label = value ? labelOn : labelOff || labelOn;
@@ -165,6 +165,7 @@ const Toggle = forwardRef(function Toggle({ className, disabled, titleOff = "Off
165
165
  "aria-checked": !!value,
166
166
  role: "switch",
167
167
  "aria-readonly": field.disabled,
168
+ "aria-required": required || void 0,
168
169
  ...label ? { "aria-labelledby": generatedId } : { "aria-label": ariaLabel ?? (value ? "Toggle on" : "Toggle off") }
169
170
  })
170
171
  ]
@@ -173,4 +174,4 @@ const Toggle = forwardRef(function Toggle({ className, disabled, titleOff = "Off
173
174
  //#endregion
174
175
  export { Toggle as t };
175
176
 
176
- //# sourceMappingURL=Toggle-iG2x_IZR.mjs.map
177
+ //# sourceMappingURL=Toggle-DWbJOwf3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle-DWbJOwf3.mjs","names":[],"sources":["../components/Toggle/Toggle.tsx"],"sourcesContent":["import { forwardRef, type ReactNode, useCallback, useRef } from 'react';\nimport { useId } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { Label } from 'design-system/components/Text';\nimport { isDisabled, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { semanticColor, semanticTokens } from 'design-system/lib/semanticColor';\nimport useToggle from 'design-system/lib/useToggle';\nimport { focusOutlineControlled } from 'design-system/mixins/focus';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ntype ToggleSize = 'md' | 'sm';\n\ninterface SwitchSizes {\n width: number;\n height: number;\n}\n\nconst SWITCH_SIZES: Record<ToggleSize, SwitchSizes> = {\n md: { width: 32, height: 18 },\n sm: { width: 28, height: parseInt(Spacing[4], 10) }, // 16px height from tokens\n};\n\ninterface SliderSizes {\n diameter: number;\n offset: number;\n}\n\nconst SLIDER_SIZES: Record<ToggleSize, SliderSizes> = {\n md: { diameter: 14, offset: 2 },\n sm: { diameter: parseInt(Spacing[3], 10), offset: 2 }, // 12px diameter from tokens\n};\n\nconst Container = styled.div`\n display: inline-flex;\n align-items: center;\n position: relative;\n`;\n\ntype SwitchProps = Pick<ToggleProps, 'disabled'> & {\n checked: boolean;\n focused: boolean;\n size: ToggleSize;\n};\nconst Switch = styled.div<SwitchProps>`\n transition: box-shadow ${TransitionDuration.Fast};\n position: relative;\n display: inline-flex;\n height: ${({ size }) => SWITCH_SIZES[size].height}px;\n width: ${({ size }) => SWITCH_SIZES[size].width}px;\n border-radius: 1000px;\n cursor: pointer;\n &${isDisabled} {\n cursor: not-allowed;\n }\n\n ${focusOutlineControlled}\n\n /* Background */\n &:before {\n position: absolute;\n content: '';\n height: ${({ size }) => SWITCH_SIZES[size].height}px;\n width: ${({ size }) => SWITCH_SIZES[size].width}px;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: ${({ theme, checked, disabled }) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n if (disabled) {\n return checked ? tokens.InputSurfaceAccentDisabled : tokens.InputSurfaceDisabled;\n }\n return checked ? tokens.InputSurfaceAccent : tokens.InputBorderStrong;\n }\n if (disabled) {\n return checked ? Color.BackgroundInputActiveDisabled : Color.BackgroundInputDisabled;\n }\n return checked ? Color.BackgroundInputActive : Color.BackgroundInputToggle;\n }};\n\n transition: ${TransitionDuration.Medium};\n border-radius: 1000px;\n }\n\n &${isHovered}${isNotDisabled}:before {\n background-color: ${({ theme, checked }) =>\n checked\n ? semanticColor(theme, 'InputSurfaceAccentHover', Color.BackgroundInputActiveHover)\n : semanticColor(theme, 'InputBorderHoverStrong', Color.BackgroundInputToggleHover)};\n }\n\n /* Slider thumb */\n &:after {\n position: absolute;\n content: '';\n height: ${({ size }) => SLIDER_SIZES[size].diameter}px;\n width: ${({ size }) => SLIDER_SIZES[size].diameter}px;\n bottom: ${({ size }) => SLIDER_SIZES[size].offset}px;\n background-color: ${({ theme }) => semanticColor(theme, 'InputSurfaceInverseStatic', Color.BackgroundInputDefault)};\n transition: ${TransitionDuration.Medium};\n border-radius: 1000px;\n\n right: ${({ size }) => SLIDER_SIZES[size].offset}px;\n\n ${({ checked, size }) =>\n !checked &&\n css`\n transform: translateX(-${getSlideDistance(size)}px);\n `}\n }\n`;\n\nconst ToggleLabel = styled(Label)<Pick<ToggleProps, 'disabled' | 'size'>>`\n cursor: ${({ disabled }) => (disabled ? 'initial' : 'pointer')};\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', Color.TextSecondary)};\n\n padding: 0 ${Spacing[2]};\n white-space: nowrap;\n line-height: ${({ size = 'md' }) => `${SWITCH_SIZES[size].height}px`};\n\n ${({ theme, disabled }) =>\n disabled &&\n css`\n color: ${semanticColor(theme, 'FgDisabled', theme.color.text.disabled)};\n `}\n`;\n\nfunction getSlideDistance(size: ToggleSize) {\n const switchSize = SWITCH_SIZES[size];\n const sliderSize = SLIDER_SIZES[size];\n return switchSize.width - sliderSize.diameter - sliderSize.offset * 2;\n}\n\nconst HiddenInput = styled.input`\n height: 0;\n width: 0;\n margin: -1px;\n border: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n position: absolute;\n`;\n\nexport interface ToggleProps {\n className?: string;\n /** Disables interaction and renders the toggle in a muted style. */\n disabled?: boolean;\n /** Marks the switch as required (sets aria-required). */\n required?: boolean;\n /**\n * Tooltip / title shown on the root element when the toggle is off.\n * @defaultValue 'Off'\n */\n titleOff?: string;\n /**\n * Tooltip / title shown on the root element when the toggle is on.\n * @defaultValue 'On'\n */\n titleOn?: string;\n /**\n * Called with the new boolean value when the user clicks the toggle.\n * The component is fully controlled — you must update `value` in response.\n */\n onChange?: (value: boolean) => void;\n /**\n * Current on/off state. Falsy values (`false`, `null`, `undefined`, `''`)\n * are treated as off; `true` is treated as on.\n */\n value: boolean | null | undefined | '';\n /** `id` forwarded to the visible switch element. */\n id?: string;\n /** Label node rendered to the left of the switch when the toggle is on. */\n labelOn?: ReactNode;\n /**\n * Label node rendered to the left of the switch when the toggle is off.\n * Falls back to `labelOn` when not provided.\n */\n labelOff?: ReactNode;\n 'data-test'?: string;\n /**\n * Accessible label for the hidden `<input role=\"switch\">`.\n * Required when no visible label is provided via `labelOn` / `labelOff`.\n */\n 'aria-label'?: string;\n /**\n * Size of the toggle switch.\n * @defaultValue 'md'\n */\n size?: ToggleSize;\n}\n\nexport const Toggle = forwardRef<HTMLDivElement, ToggleProps>(function Toggle(\n {\n className,\n disabled,\n required,\n titleOff = 'Off',\n titleOn = 'On',\n onChange = () => undefined,\n value,\n id,\n labelOn,\n labelOff,\n 'data-test': dataTest,\n 'aria-label': ariaLabel,\n size = 'md',\n },\n ref,\n) {\n const field = useFormField({ disabled });\n const generatedId = useId();\n const label = value ? labelOn : labelOff || labelOn;\n\n const [focused, { enable: setFocus, disable: clearFocus }] = useToggle();\n\n const handleChange = useCallback(() => {\n onChange(!value);\n inputRef.current?.focus();\n }, [onChange, value]);\n\n const inputRef = useRef<HTMLInputElement>();\n\n return (\n <Container\n className={className}\n data-test={dataTest}\n title={value ? titleOn : titleOff}\n ref={ref}\n >\n {label != null && (\n <ToggleLabel htmlFor={generatedId} disabled={field.disabled} size={size}>\n {label}\n </ToggleLabel>\n )}\n <Switch\n id={id}\n checked={!!value}\n disabled={field.disabled}\n focused={focused}\n onClick={field.disabled ? undefined : handleChange}\n size={size}\n />\n <HiddenInput\n id={generatedId}\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n ref={inputRef}\n data-test-toggle-status={value ? 'on' : 'off'}\n disabled={field.disabled}\n type='checkbox'\n checked={!!value}\n readOnly={true}\n onChange={disabled ? undefined : handleChange}\n onFocus={setFocus}\n onBlur={clearFocus}\n aria-checked={!!value}\n role='switch'\n aria-readonly={field.disabled}\n aria-required={required || undefined}\n {...(label\n ? { 'aria-labelledby': generatedId }\n : { 'aria-label': ariaLabel ?? (value ? 'Toggle on' : 'Toggle off') })}\n />\n </Container>\n );\n});\n\nexport default Toggle;\n"],"mappings":"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"}
package/dist/Toggle.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { n as ToggleProps, t as Toggle } from "./Toggle-2nrUX591.mjs";
1
+ import { n as ToggleProps, t as Toggle } from "./Toggle-B5sSdb_q.mjs";
2
2
  export { Toggle, Toggle as default, ToggleProps };
@@ -1,4 +1,4 @@
1
- import { r as _default, t as CardProps } from "./Card-CpDwATnX.mjs";
1
+ import { r as _default, t as CardProps } from "./Card-DCYB_mtR.mjs";
2
2
  import { ComponentPropsWithoutRef, ComponentType, ReactElement, ReactNode } from "react";
3
3
  import { DefaultTheme, StyledComponent } from "styled-components";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
@@ -97,4 +97,4 @@ declare const Tooltip: ({
97
97
  }: TooltipProps) => _$react_jsx_runtime0.JSX.Element;
98
98
  //#endregion
99
99
  export { TooltipWithIconProps as i, Tooltip as n, TooltipStandardProps as r, FloatingTooltip as t };
100
- //# sourceMappingURL=Tooltip-Cnqf1-tx.d.mts.map
100
+ //# sourceMappingURL=Tooltip-x1pFf-Mj.d.mts.map
@@ -1,2 +1,2 @@
1
- import { i as TooltipWithIconProps, n as Tooltip, r as TooltipStandardProps, t as FloatingTooltip } from "./Tooltip-Cnqf1-tx.mjs";
1
+ import { i as TooltipWithIconProps, n as Tooltip, r as TooltipStandardProps, t as FloatingTooltip } from "./Tooltip-x1pFf-Mj.mjs";
2
2
  export { FloatingTooltip, Tooltip, Tooltip as default, TooltipStandardProps, TooltipWithIconProps };
@@ -15,4 +15,4 @@ interface TruncatedTextProps extends ComponentPropsWithoutRef<'span'> {
15
15
  declare const TruncatedText: FC<TruncatedTextProps>;
16
16
  //#endregion
17
17
  export { TruncatedText as n, TruncatedTextProps as r, OverflowEllipsisSpan as t };
18
- //# sourceMappingURL=TruncatedText-g2T5HlqX.d.mts.map
18
+ //# sourceMappingURL=TruncatedText-BE8FuEQm.d.mts.map
@@ -0,0 +1,41 @@
1
+ import { i as ModalRenderProps, s as _default } from "./Modal-Dwq-QBw_.mjs";
2
+ import { i as StepStatus, r as ProgressIndicatorStep } from "./ProgressIndicator-DbOLOaxJ.mjs";
3
+ import { ComponentProps, ReactNode } from "react";
4
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
+
6
+ //#region components/WizardModal/WizardModal.d.ts
7
+ type ModalChromeProps = Pick<ComponentProps<typeof _default>, 'title' | 'open' | 'defaultOpen' | 'onOpenChange' | 'size' | 'trigger' | 'isDismissable' | 'isKeyboardDismissDisabled'>;
8
+ type WizardProceedResult = 'valid' | Extract<StepStatus, 'warning' | 'error'>;
9
+ declare const statusFromProceed: (result: WizardProceedResult) => StepStatus;
10
+ type WizardModalSteps = [ProgressIndicatorStep, ProgressIndicatorStep, ...ProgressIndicatorStep[]];
11
+ interface WizardModalProps extends ModalChromeProps {
12
+ steps: WizardModalSteps;
13
+ activeStepId: string;
14
+ onActiveStepChange: (stepId: string) => void;
15
+ onProceed?: () => WizardProceedResult;
16
+ onComplete: () => void | Promise<void>;
17
+ confirmLabel?: string;
18
+ layout?: 'vertical' | 'horizontal';
19
+ children: ReactNode | ((props: ModalRenderProps) => ReactNode);
20
+ }
21
+ declare const WizardModal: ({
22
+ steps,
23
+ activeStepId,
24
+ onActiveStepChange,
25
+ onProceed,
26
+ onComplete,
27
+ confirmLabel,
28
+ layout,
29
+ children,
30
+ title,
31
+ open,
32
+ defaultOpen,
33
+ onOpenChange,
34
+ size,
35
+ trigger,
36
+ isDismissable,
37
+ isKeyboardDismissDisabled
38
+ }: WizardModalProps) => _$react_jsx_runtime0.JSX.Element;
39
+ //#endregion
40
+ export { WizardModal, WizardModal as default, WizardModalProps, WizardModalSteps, WizardProceedResult, statusFromProceed };
41
+ //# sourceMappingURL=WizardModal.d.mts.map
@@ -0,0 +1,17 @@
1
+ import { i as ParagraphSize, n as HeadingSize } from "./text-CxIup7HJ.mjs";
2
+
3
+ //#region components/Accordion/accordionTitleTypography.d.ts
4
+ type AccordionSize = 'sm' | 'md' | 'lg';
5
+ type AccordionTitleTypography = {
6
+ variant: 'heading';
7
+ size: HeadingSize;
8
+ } | {
9
+ variant: 'paragraph';
10
+ size: Extract<ParagraphSize, 'sm' | 'md' | 'lg'>;
11
+ weight?: 'normal' | 'bold';
12
+ };
13
+ declare const getDefaultTitleTypography: (size: AccordionSize) => AccordionTitleTypography;
14
+ declare const resolveTitleTypography: (size: AccordionSize, titleTypography?: AccordionTitleTypography) => AccordionTitleTypography;
15
+ //#endregion
16
+ export { resolveTitleTypography as i, AccordionTitleTypography as n, getDefaultTitleTypography as r, AccordionSize as t };
17
+ //# sourceMappingURL=accordionTitleTypography-BYhjSN9t.d.mts.map
@@ -0,0 +1,2 @@
1
+ import { i as resolveTitleTypography, n as AccordionTitleTypography, r as getDefaultTitleTypography, t as AccordionSize } from "./accordionTitleTypography-BYhjSN9t.mjs";
2
+ export { AccordionSize, AccordionTitleTypography, getDefaultTitleTypography, resolveTitleTypography };
@@ -1,4 +1,4 @@
1
- import { a as DateFilterPreset, c as RelativeDateFilterValue, n as AbsoluteDateRange, o as DateFilterValue } from "./types-D8rWSj3z.mjs";
1
+ import { a as DateFilterPreset, c as RelativeDateFilterValue, n as AbsoluteDateRange, o as DateFilterValue } from "./types-YojUycQK.mjs";
2
2
  import { DateTime } from "luxon";
3
3
 
4
4
  //#region lib/date-filter/codec.d.ts
@@ -26,4 +26,4 @@ declare function isRelative(value: DateFilterValue): value is RelativeDateFilter
26
26
  declare function formatDateFilterValue(value: DateFilterValue): string | null;
27
27
  //#endregion
28
28
  export { selectedPresetFor as a, resolveDateFilterValue as i, isRelative as n, parseDateFilterValue as r, formatDateFilterValue as t };
29
- //# sourceMappingURL=codec-CoX6LfOY.d.mts.map
29
+ //# sourceMappingURL=codec-BcgsGCHE.d.mts.map
package/dist/codec.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as selectedPresetFor, i as resolveDateFilterValue, n as isRelative, r as parseDateFilterValue, t as formatDateFilterValue } from "./codec-CoX6LfOY.mjs";
1
+ import { a as selectedPresetFor, i as resolveDateFilterValue, n as isRelative, r as parseDateFilterValue, t as formatDateFilterValue } from "./codec-BcgsGCHE.mjs";
2
2
  export { formatDateFilterValue, isRelative, parseDateFilterValue, resolveDateFilterValue, selectedPresetFor };
@@ -1,4 +1,4 @@
1
- import { t as CssPercentage } from "./semantic-DUctmpu_.mjs";
1
+ import { t as CssPercentage } from "./semantic-BXwNUd4a.mjs";
2
2
  import { Color } from "@persona/design-tokens";
3
3
 
4
4
  //#region lib/color.d.ts
@@ -17,4 +17,4 @@ declare const opacityOf: (amount: CssPercentage) => string;
17
17
  declare const withAlpha: (color: Color, amount: CssPercentage) => CssColor;
18
18
  //#endregion
19
19
  export { withAlpha as a, transparent as i, PdsColor as n, opacityOf as r, CssColor as t };
20
- //# sourceMappingURL=color-Bt0Lv1e3.d.mts.map
20
+ //# sourceMappingURL=color-LH7zKfKo.d.mts.map
@@ -0,0 +1,4 @@
1
+ import { n as AccordionTitleTypography, t as AccordionSize } from "../../accordionTitleTypography-BYhjSN9t.mjs";
2
+ import { AccordionTitleHeadingAs } from "../../AccordionItem.mjs";
3
+ import { Accordion, AccordionItemProps, AccordionProps } from "../../Accordion.mjs";
4
+ export { Accordion, Accordion as default, type AccordionItemProps, type AccordionProps, type AccordionSize, type AccordionTitleHeadingAs, type AccordionTitleTypography };