@persona/design-system 0.4.0 → 0.5.1

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 (565) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/dist/{Action-CcAyQpYN.d.mts → Action-C2FTJhnQ.d.mts} +3 -3
  3. package/dist/Action.d.mts +1 -1
  4. package/dist/AdvancedFilterRuleRow.d.mts +2 -2
  5. package/dist/AdvancedFilterRulesPopover.d.mts +2 -2
  6. package/dist/ArrayValueControl.d.mts +1 -1
  7. package/dist/Attribute.d.mts +7 -5
  8. package/dist/{Badge-BL0J5oMa.mjs → Badge-BtNIvtDZ.mjs} +3 -3
  9. package/dist/{Badge-BL0J5oMa.mjs.map → Badge-BtNIvtDZ.mjs.map} +1 -1
  10. package/dist/BooleanValueControl.d.mts +1 -1
  11. package/dist/{Breadcrumb-Df06cTnA.d.mts → Breadcrumb-BlAhp45l.d.mts} +1 -1
  12. package/dist/Breadcrumb.d.mts +1 -1
  13. package/dist/{Breadcrumbs-Zi5p0HDR.mjs → Breadcrumbs-ClKHNIr-.mjs} +14 -13
  14. package/dist/Breadcrumbs-ClKHNIr-.mjs.map +1 -0
  15. package/dist/{Breadcrumbs-D_Gzd4_J.d.mts → Breadcrumbs-DdZ14ZFw.d.mts} +2 -2
  16. package/dist/Breadcrumbs.d.mts +1 -1
  17. package/dist/{Button-BrI1s2-r.d.mts → Button-CTgyA3gc.d.mts} +4 -3
  18. package/dist/Button.d.mts +1 -1
  19. package/dist/{Calendar-DjnoZVcT.d.mts → Calendar-_gM6U5ET.d.mts} +1 -1
  20. package/dist/Calendar.d.mts +1 -1
  21. package/dist/CalendarBase.d.mts +1 -1
  22. package/dist/Card-Dorym91P.d.mts +75 -0
  23. package/dist/{Card-CKrJtn1f.mjs → Card-vQIPtdXi.mjs} +12 -10
  24. package/dist/Card-vQIPtdXi.mjs.map +1 -0
  25. package/dist/Card.d.mts +1 -1
  26. package/dist/Card2.d.mts +2 -2
  27. package/dist/{CardV2-CXxzl1EZ.mjs → CardV2-CFTjYWoO.mjs} +17 -16
  28. package/dist/CardV2-CFTjYWoO.mjs.map +1 -0
  29. package/dist/{Checkbox-DxNHp59y.mjs → Checkbox-CyeitZ5q.mjs} +25 -21
  30. package/dist/Checkbox-CyeitZ5q.mjs.map +1 -0
  31. package/dist/{Checkbox-CwPXPLCi.d.mts → Checkbox-DRJXDs2T.d.mts} +1 -1
  32. package/dist/Checkbox.d.mts +1 -1
  33. package/dist/CheckboxGroupField.d.mts +1 -1
  34. package/dist/ChoicesValueControl.d.mts +1 -1
  35. package/dist/CodeHighlight.d.mts +40 -0
  36. package/dist/{Combobox-C9QBItsc.d.mts → Combobox-DX4DLe1b.d.mts} +3 -3
  37. package/dist/{Combobox-BUtqtzKl.mjs → Combobox-Ddas5FN-.mjs} +22 -21
  38. package/dist/Combobox-Ddas5FN-.mjs.map +1 -0
  39. package/dist/Combobox.d.mts +2 -2
  40. package/dist/{ComboboxBase-BkSpdmsT.d.mts → ComboboxBase-Ds_i3K2m.d.mts} +18 -29
  41. package/dist/ComboboxBase.d.mts +1 -1
  42. package/dist/{ComboboxMultiSelect-DkVfwSKH.d.mts → ComboboxMultiSelect-S6oFJcOS.d.mts} +2 -2
  43. package/dist/ComboboxMultiSelect.d.mts +1 -1
  44. package/dist/{ComboboxSingleSelect-CpumBcDn.d.mts → ComboboxSingleSelect-DFzCwW1Y.d.mts} +4 -4
  45. package/dist/ComboboxSingleSelect.d.mts +1 -1
  46. package/dist/{CompactBar-COxu_FDd.d.mts → CompactBar-DEqItiZr.d.mts} +3 -3
  47. package/dist/CompactBar.d.mts +1 -1
  48. package/dist/{ConfigFormGroup-aSdn2r6Z.mjs → ConfigFormGroup-DcsM-u8o.mjs} +3 -3
  49. package/dist/{ConfigFormGroup-aSdn2r6Z.mjs.map → ConfigFormGroup-DcsM-u8o.mjs.map} +1 -1
  50. package/dist/{ControlBar-DwAhPcb5.d.mts → ControlBar-BVG5Pbvh.d.mts} +2 -2
  51. package/dist/ControlBar.d.mts +1 -1
  52. package/dist/DataTable.d.mts +19 -9
  53. package/dist/{DateField-tOyrGcx1.d.mts → DateField-CBCo8_d3.d.mts} +2 -2
  54. package/dist/DateField.d.mts +1 -1
  55. package/dist/{DatePicker-Bs9JODNg.d.mts → DatePicker-BZ4_I4Db.d.mts} +2 -2
  56. package/dist/{DatePicker-CLP-ajza.mjs → DatePicker-DTT-mJ8r.mjs} +44 -33
  57. package/dist/DatePicker-DTT-mJ8r.mjs.map +1 -0
  58. package/dist/DatePicker.d.mts +1 -1
  59. package/dist/{DateRangePicker-BT6-j8V7.d.mts → DateRangePicker-BMKJquPT.d.mts} +3 -3
  60. package/dist/DateRangePicker.d.mts +1 -1
  61. package/dist/DateRangeValueControl.d.mts +2 -2
  62. package/dist/DateValueControl.d.mts +1 -1
  63. package/dist/{DropdownButton-CCAfNZ9h.mjs → DropdownButton-DV5if_uG.mjs} +3 -3
  64. package/dist/{DropdownButton-CCAfNZ9h.mjs.map → DropdownButton-DV5if_uG.mjs.map} +1 -1
  65. package/dist/DropdownButton.d.mts +2 -2
  66. package/dist/{DropdownMenu-BoatixlO.d.mts → DropdownMenu-CbhEzWy1.d.mts} +2 -2
  67. package/dist/{DropdownMenu-CUnf420M.mjs → DropdownMenu-DovtBJBs.mjs} +3 -3
  68. package/dist/{DropdownMenu-CUnf420M.mjs.map → DropdownMenu-DovtBJBs.mjs.map} +1 -1
  69. package/dist/DropdownMenu.d.mts +1 -1
  70. package/dist/{ErrorProps-C9T857Wk.d.mts → ErrorProps-7eWoxSes.d.mts} +1 -1
  71. package/dist/ErrorProps.d.mts +1 -1
  72. package/dist/{FieldRegistry-D6niLExM.d.mts → FieldRegistry-BslyuPZw.d.mts} +2 -2
  73. package/dist/FieldRegistry.d.mts +1 -1
  74. package/dist/{FilterBar-DfBV7yKM.d.mts → FilterBar-DjZE4PoB.d.mts} +4 -4
  75. package/dist/FilterBar.d.mts +1 -1
  76. package/dist/FilterPickerMenu.d.mts +2 -2
  77. package/dist/FilterPill.d.mts +1 -1
  78. package/dist/FilterPopover.d.mts +1 -1
  79. package/dist/FloatValueControl.d.mts +1 -1
  80. package/dist/{FormControl-1BmoYFCu.mjs → FormControl-BvRzRknE.mjs} +8 -7
  81. package/dist/FormControl-BvRzRknE.mjs.map +1 -0
  82. package/dist/{FormControl-0H0Jeind.d.mts → FormControl-gpLZZpNs.d.mts} +2 -2
  83. package/dist/FormControl.d.mts +1 -1
  84. package/dist/FormControlLabel.d.mts +1 -1
  85. package/dist/{FormField-oBKH25qf.mjs → FormField-BDJ6zNE6.mjs} +20 -21
  86. package/dist/FormField-BDJ6zNE6.mjs.map +1 -0
  87. package/dist/{FormField-BcaFdmo5.d.mts → FormField-CZXKvCGt.d.mts} +6 -7
  88. package/dist/FormField.d.mts +1 -1
  89. package/dist/{Header-BjSoTEX_.d.mts → Header-1laYnwRP.d.mts} +1 -1
  90. package/dist/Header.d.mts +1 -1
  91. package/dist/{HelperTooltip-S20wVFCS.d.mts → HelperTooltip-BPJS3EwC.d.mts} +2 -2
  92. package/dist/HelperTooltip.d.mts +1 -1
  93. package/dist/{HoverCopyableField-GMXeF-3J.mjs → HoverCopyableField-WP6DPjy1.mjs} +7 -7
  94. package/dist/{HoverCopyableField-GMXeF-3J.mjs.map → HoverCopyableField-WP6DPjy1.mjs.map} +1 -1
  95. package/dist/{IconButton-BgL3QUVO.mjs → IconButton-CnJNIJVQ.mjs} +121 -22
  96. package/dist/IconButton-CnJNIJVQ.mjs.map +1 -0
  97. package/dist/{IconButton-BpyOr8Ev.d.mts → IconButton-PnrnqQ1s.d.mts} +2 -2
  98. package/dist/IconButton.d.mts +1 -1
  99. package/dist/ImageTile.d.mts +1 -1
  100. package/dist/InlineCombobox.d.mts +1 -1
  101. package/dist/InlineInput.d.mts +1 -1
  102. package/dist/{Input-BWlvBYB3.mjs → Input-DbfwNzS_.mjs} +12 -10
  103. package/dist/Input-DbfwNzS_.mjs.map +1 -0
  104. package/dist/{Input-qlQVD5h0.d.mts → Input-Diztxhle.d.mts} +4 -8
  105. package/dist/Input.d.mts +1 -1
  106. package/dist/{InputProps-D_7MnQfE.d.mts → InputProps-BILq1X-n.d.mts} +2 -2
  107. package/dist/InputProps.d.mts +1 -1
  108. package/dist/IntegerValueControl.d.mts +1 -1
  109. package/dist/{ListBox-9jHHEaqW.mjs → ListBox-CXh9Jfb-.mjs} +35 -27
  110. package/dist/ListBox-CXh9Jfb-.mjs.map +1 -0
  111. package/dist/{ListBox-ZE3MYMt6.d.mts → ListBox-P1eTecdo.d.mts} +3 -3
  112. package/dist/ListBox.d.mts +1 -1
  113. package/dist/ListBoxField.d.mts +2 -2
  114. package/dist/{LoadingShimmer-a2Hv0kAq.mjs → LoadingShimmer-DeVCDCjT.mjs} +13 -5
  115. package/dist/LoadingShimmer-DeVCDCjT.mjs.map +1 -0
  116. package/dist/LoadingShimmer.d.mts +1 -1
  117. package/dist/{LogicRow-CbMmaWXU.d.mts → LogicRow-DtZYOzQ8.d.mts} +3 -3
  118. package/dist/LogicRow.d.mts +1 -1
  119. package/dist/MaskedInput.d.mts +2 -2
  120. package/dist/{Menu-38UCGcte.mjs → Menu-CAGTCBqj.mjs} +40 -23
  121. package/dist/Menu-CAGTCBqj.mjs.map +1 -0
  122. package/dist/{Menu-ZShdhNd7.d.mts → Menu-_loh8pe3.d.mts} +3 -3
  123. package/dist/Menu.d.mts +1 -1
  124. package/dist/{MiddleTruncatedText-DnF7F_1D.mjs → MiddleTruncatedText-CO58jrNF.mjs} +2 -2
  125. package/dist/{MiddleTruncatedText-DnF7F_1D.mjs.map → MiddleTruncatedText-CO58jrNF.mjs.map} +1 -1
  126. package/dist/Modal.d.mts +3 -3
  127. package/dist/{PageHeader-B2-Slzhl.mjs → PageHeader-wpvRRTaa.mjs} +9 -6
  128. package/dist/PageHeader-wpvRRTaa.mjs.map +1 -0
  129. package/dist/PageHeader.d.mts +1 -1
  130. package/dist/{PageSelector-BcZx4nqe.d.mts → PageSelector-CIa3Zts9.d.mts} +3 -3
  131. package/dist/PageSelector.d.mts +1 -1
  132. package/dist/{Pagination-j4hF7GOk.d.mts → Pagination-C2eZEM7K.d.mts} +2 -2
  133. package/dist/{Pagination-CtUz0gdA.mjs → Pagination-wjr3W3xf.mjs} +9 -8
  134. package/dist/Pagination-wjr3W3xf.mjs.map +1 -0
  135. package/dist/Pagination.d.mts +1 -1
  136. package/dist/{Pii-RwKn-K84.mjs → Pii-Bm-qkweh.mjs} +2 -2
  137. package/dist/{Pii-RwKn-K84.mjs.map → Pii-Bm-qkweh.mjs.map} +1 -1
  138. package/dist/PillShell-D6dN9sWk.d.mts +85 -0
  139. package/dist/PillShell.d.mts +2 -85
  140. package/dist/{Popover-DlXyKYL5.mjs → Popover-DUyzmq3e.mjs} +9 -5
  141. package/dist/Popover-DUyzmq3e.mjs.map +1 -0
  142. package/dist/{PseudoClassProps-BPdn-ofQ.d.mts → PseudoClassProps-DnlHhW5u.d.mts} +1 -1
  143. package/dist/PseudoClassProps.d.mts +1 -1
  144. package/dist/{Radio-cLL9oatf.mjs → Radio-CkugnL91.mjs} +21 -17
  145. package/dist/Radio-CkugnL91.mjs.map +1 -0
  146. package/dist/{RadioGroup-BGo_kXKh.mjs → RadioGroup-8dI8gljw.mjs} +3 -3
  147. package/dist/{RadioGroup-BGo_kXKh.mjs.map → RadioGroup-8dI8gljw.mjs.map} +1 -1
  148. package/dist/{RadioGroup-BqULCH-D.d.mts → RadioGroup-Dg_gydUp.d.mts} +1 -1
  149. package/dist/RadioGroup.d.mts +1 -1
  150. package/dist/RangeCalendar.d.mts +1 -1
  151. package/dist/RangeCalendarPresets.d.mts +1 -1
  152. package/dist/RuleEditorFields.d.mts +2 -2
  153. package/dist/RulesPill.d.mts +1 -1
  154. package/dist/{SearchInput-Dc90GLTF.d.mts → SearchInput-CNg109M5.d.mts} +2 -2
  155. package/dist/SearchInput.d.mts +1 -1
  156. package/dist/SectionHeading.d.mts +1 -1
  157. package/dist/{SegmentedControl-Db78Pzo_.d.mts → SegmentedControl-BBIHKcvo.d.mts} +1 -1
  158. package/dist/{SegmentedControl-CvWJGhwy.mjs → SegmentedControl-DQE0hN57.mjs} +10 -9
  159. package/dist/SegmentedControl-DQE0hN57.mjs.map +1 -0
  160. package/dist/SegmentedControl.d.mts +1 -1
  161. package/dist/{Select-U_vQhK1A.mjs → Select-D9OVjzPR.mjs} +14 -13
  162. package/dist/Select-D9OVjzPR.mjs.map +1 -0
  163. package/dist/{Select-bafAe2wd.d.mts → Select-wnr46ROZ.d.mts} +3 -3
  164. package/dist/Select.d.mts +1 -1
  165. package/dist/{Spacer-BsK8tTwA.mjs → Spacer-D58qwuXR.mjs} +2 -2
  166. package/dist/{Spacer-BsK8tTwA.mjs.map → Spacer-D58qwuXR.mjs.map} +1 -1
  167. package/dist/{Spinner-BTyc6glU.mjs → Spinner-gBNWIwOn.mjs} +5 -7
  168. package/dist/Spinner-gBNWIwOn.mjs.map +1 -0
  169. package/dist/{Stack-Bre2oiov.mjs → Stack-BqQndGI9.mjs} +2 -2
  170. package/dist/{Stack-Bre2oiov.mjs.map → Stack-BqQndGI9.mjs.map} +1 -1
  171. package/dist/{Stack-_JcvIE31.d.mts → Stack-DgC83-nw.d.mts} +1 -1
  172. package/dist/Stack.d.mts +1 -1
  173. package/dist/{Sticker-CQ6sOKUj.mjs → Sticker-BDyejPZa.mjs} +157 -12
  174. package/dist/Sticker-BDyejPZa.mjs.map +1 -0
  175. package/dist/{Sticker-OKVOQt_C.d.mts → Sticker-qvWkqEMw.d.mts} +4 -4
  176. package/dist/Sticker.d.mts +1 -1
  177. package/dist/StringValueControl.d.mts +1 -1
  178. package/dist/Tab.d.mts +2 -3
  179. package/dist/{TabBar-B5NtgtgC.mjs → TabBar-B__54oO3.mjs} +15 -14
  180. package/dist/TabBar-B__54oO3.mjs.map +1 -0
  181. package/dist/TabBarIconButton.d.mts +1 -5
  182. package/dist/{Table-BcAgCIWq.d.mts → Table-CPvIH27_.d.mts} +1 -1
  183. package/dist/{Table-DfUD3I2s.mjs → Table-CqIi5mVF.mjs} +85 -38
  184. package/dist/Table-CqIi5mVF.mjs.map +1 -0
  185. package/dist/Table.d.mts +1 -1
  186. package/dist/{TableBody-D-RDBun9.d.mts → TableBody-CQYijW_3.d.mts} +1 -1
  187. package/dist/TableBody.d.mts +1 -1
  188. package/dist/{TableBox-0GvWjRln.mjs → TableBox-C-8RxZT4.mjs} +54 -44
  189. package/dist/TableBox-C-8RxZT4.mjs.map +1 -0
  190. package/dist/TableBox.d.mts +2 -2
  191. package/dist/{TableBoxCell-WXc57DwN.d.mts → TableBoxCell-CQ3zT1jG.d.mts} +6 -6
  192. package/dist/TableBoxCell.d.mts +1 -1
  193. package/dist/TableBoxField.d.mts +3 -3
  194. package/dist/{TableBoxRow-BQz0a9vr.d.mts → TableBoxRow-ClK2pceY.d.mts} +3 -3
  195. package/dist/TableBoxRow.d.mts +1 -1
  196. package/dist/{TableBoxRowActions-DfewtLrn.d.mts → TableBoxRowActions-CoF3DuUQ.d.mts} +2 -2
  197. package/dist/TableBoxRowActions.d.mts +1 -1
  198. package/dist/{index-Dc_BgmPv.d.mts → TableCell-BQv4ASkE.d.mts} +4 -25
  199. package/dist/TableCell.d.mts +1 -1
  200. package/dist/{TableControls-C26vGkWZ.d.mts → TableControls-CtEL3ioz.d.mts} +3 -3
  201. package/dist/{TableControls-WUNbzSNq.mjs → TableControls-DplArh-9.mjs} +73 -61
  202. package/dist/TableControls-DplArh-9.mjs.map +1 -0
  203. package/dist/TableControls.d.mts +1 -1
  204. package/dist/{TableControlsContext-ChFsFEjR.d.mts → TableControlsContext-X-Lupvc6.d.mts} +2 -2
  205. package/dist/TableControlsContext.d.mts +1 -1
  206. package/dist/{TableHead-PPaqXC0K.d.mts → TableHead-DLLn0zoP.d.mts} +1 -1
  207. package/dist/TableHead.d.mts +1 -1
  208. package/dist/{TableHeaderCell-K_avn-rR.d.mts → TableHeaderCell-DiJ2jyw4.d.mts} +3 -1
  209. package/dist/TableHeaderCell.d.mts +1 -1
  210. package/dist/{TableLayout-_Hd-Tvto.d.mts → TableLayout-BgnUz8NO.d.mts} +1 -1
  211. package/dist/TableLayout.d.mts +1 -1
  212. package/dist/{TableRow-BTWf9xVC.d.mts → TableRow-Dgg8hGy5.d.mts} +2 -2
  213. package/dist/TableRow.d.mts +1 -1
  214. package/dist/TableTH.d.mts +1 -1
  215. package/dist/{TableViewConfigurationDropdown-BqB7pOh8.d.mts → TableViewConfigurationDropdown-DRxd562-.d.mts} +2 -2
  216. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  217. package/dist/{TechnicalSticker-ClRR_6Ly.mjs → TechnicalSticker-D6MO_IfT.mjs} +26 -21
  218. package/dist/TechnicalSticker-D6MO_IfT.mjs.map +1 -0
  219. package/dist/{Text-B0orb-cZ.mjs → Text-Dn_p7ZvT.mjs} +16 -12
  220. package/dist/Text-Dn_p7ZvT.mjs.map +1 -0
  221. package/dist/{Text-CAKHcXSd.d.mts → Text-tgFz40XD.d.mts} +3 -3
  222. package/dist/Text.d.mts +1 -1
  223. package/dist/{TextArea-NjdArapc.d.mts → TextArea-BxxXQSwP.d.mts} +2 -2
  224. package/dist/{TextArea-n4IKHJKo.mjs → TextArea-CYirq-B2.mjs} +3 -3
  225. package/dist/{TextArea-n4IKHJKo.mjs.map → TextArea-CYirq-B2.mjs.map} +1 -1
  226. package/dist/TextArea.d.mts +1 -1
  227. package/dist/{TextUnderlineTooltip-Duzxfc_r.d.mts → TextUnderlineTooltip-DQVYsLqM.d.mts} +2 -2
  228. package/dist/TextUnderlineTooltip.d.mts +1 -1
  229. package/dist/Tile.d.mts +1 -1
  230. package/dist/Toast.d.mts +1 -1
  231. package/dist/{Toggle-fh80PA8P.d.mts → Toggle-BmUl78kH.d.mts} +1 -1
  232. package/dist/{Toggle-e8DCYa6i.mjs → Toggle-CqgFNIYS.mjs} +19 -10
  233. package/dist/Toggle-CqgFNIYS.mjs.map +1 -0
  234. package/dist/Toggle.d.mts +1 -1
  235. package/dist/{Tooltip-iJcfJqxn.mjs → Tooltip-BsuYG0fw.mjs} +11 -8
  236. package/dist/Tooltip-BsuYG0fw.mjs.map +1 -0
  237. package/dist/{Tooltip-DabloV0o.d.mts → Tooltip-eSaiYjxT.d.mts} +2 -2
  238. package/dist/Tooltip.d.mts +1 -1
  239. package/dist/{TruncatedText-B1W4BivL.d.mts → TruncatedText-B2v53Y11.d.mts} +1 -1
  240. package/dist/{codec-B0dZTwlG.d.mts → codec-D5qlDVgU.d.mts} +2 -2
  241. package/dist/codec.d.mts +1 -1
  242. package/dist/color-fQTsW4gq.d.mts +20 -0
  243. package/dist/components/Attribute/index.mjs +34 -9
  244. package/dist/components/Attribute/index.mjs.map +1 -1
  245. package/dist/components/Badge/index.mjs +1 -1
  246. package/dist/components/Banner/index.mjs +18 -7
  247. package/dist/components/Banner/index.mjs.map +1 -1
  248. package/dist/components/BottomPanel/index.mjs +4 -4
  249. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  250. package/dist/components/Breadcrumbs/index.mjs +1 -1
  251. package/dist/components/Button/index.d.mts +2 -2
  252. package/dist/components/Button/index.mjs +1 -1
  253. package/dist/components/ButtonGroup/index.mjs +13 -5
  254. package/dist/components/ButtonGroup/index.mjs.map +1 -1
  255. package/dist/components/Card/index.d.mts +2 -2
  256. package/dist/components/Card/index.mjs +1 -1
  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/CodeHighlight/PrismWithLanguages.d.mts +2 -0
  262. package/dist/components/CodeHighlight/PrismWithLanguages.mjs +48 -0
  263. package/dist/components/CodeHighlight/PrismWithLanguages.mjs.map +1 -0
  264. package/dist/components/CodeHighlight/index.d.mts +2 -0
  265. package/dist/components/CodeHighlight/index.mjs +381 -0
  266. package/dist/components/CodeHighlight/index.mjs.map +1 -0
  267. package/dist/components/Combobox/index.d.mts +2 -2
  268. package/dist/components/Combobox/index.mjs +1 -1
  269. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  270. package/dist/components/DataTable/TableControls/index.d.mts +20 -19
  271. package/dist/components/DataTable/TableControls/index.mjs +2 -2
  272. package/dist/components/DataTable/index.mjs +85 -52
  273. package/dist/components/DataTable/index.mjs.map +1 -1
  274. package/dist/components/DataTable/types.d.mts +2 -2
  275. package/dist/components/DatePicker/index.d.mts +4 -4
  276. package/dist/components/DatePicker/index.mjs +1 -1
  277. package/dist/components/DropdownButton/index.mjs +1 -1
  278. package/dist/components/DropdownMenu/index.d.mts +1 -1
  279. package/dist/components/DropdownMenu/index.mjs +1 -1
  280. package/dist/components/FloatingPanel/index.mjs +3 -3
  281. package/dist/components/FormControl/index.d.mts +2 -2
  282. package/dist/components/FormControl/index.mjs +2 -2
  283. package/dist/components/FormField/index.d.mts +1 -1
  284. package/dist/components/FormField/index.mjs +1 -1
  285. package/dist/components/Grid/index.mjs +1 -1
  286. package/dist/components/HoverCopyableField/index.mjs +1 -1
  287. package/dist/components/ImageTile/index.mjs +17 -16
  288. package/dist/components/ImageTile/index.mjs.map +1 -1
  289. package/dist/components/Input/index.d.mts +1 -1
  290. package/dist/components/Input/index.mjs +1 -1
  291. package/dist/components/Link/index.mjs +5 -6
  292. package/dist/components/Link/index.mjs.map +1 -1
  293. package/dist/components/ListBox/index.d.mts +3 -3
  294. package/dist/components/ListBox/index.mjs +1 -1
  295. package/dist/components/LoadingShimmer/index.mjs +1 -1
  296. package/dist/components/MaskedInput/index.mjs +1 -1
  297. package/dist/components/MatchHighlight/index.mjs +6 -4
  298. package/dist/components/MatchHighlight/index.mjs.map +1 -1
  299. package/dist/components/Menu/index.d.mts +1 -1
  300. package/dist/components/Menu/index.mjs +1 -1
  301. package/dist/components/Modal/index.mjs +10 -8
  302. package/dist/components/Modal/index.mjs.map +1 -1
  303. package/dist/components/PageHeader/index.mjs +1 -1
  304. package/dist/components/Pagination/index.d.mts +3 -3
  305. package/dist/components/Pagination/index.mjs +1 -1
  306. package/dist/components/Pii/index.mjs +1 -1
  307. package/dist/components/Popover/index.mjs +1 -1
  308. package/dist/components/ProgressBar/index.mjs +16 -19
  309. package/dist/components/ProgressBar/index.mjs.map +1 -1
  310. package/dist/components/ProgressIndicator/index.mjs +24 -18
  311. package/dist/components/ProgressIndicator/index.mjs.map +1 -1
  312. package/dist/components/Radio/index.mjs +1 -1
  313. package/dist/components/RadioGroup/index.d.mts +1 -1
  314. package/dist/components/RadioGroup/index.mjs +1 -1
  315. package/dist/components/RightPanel/index.mjs +5 -5
  316. package/dist/components/SegmentedControl/index.d.mts +1 -1
  317. package/dist/components/SegmentedControl/index.mjs +1 -1
  318. package/dist/components/Select/index.d.mts +1 -1
  319. package/dist/components/Select/index.mjs +1 -1
  320. package/dist/components/Slider/index.mjs +21 -12
  321. package/dist/components/Slider/index.mjs.map +1 -1
  322. package/dist/components/SmartTextInput/PillType.d.mts +10 -0
  323. package/dist/components/SmartTextInput/PillType.mjs +31 -0
  324. package/dist/components/SmartTextInput/PillType.mjs.map +1 -0
  325. package/dist/components/SmartTextInput/parser/method-chain/parser.d.mts +21 -0
  326. package/dist/components/SmartTextInput/parser/method-chain/parser.mjs +2 -0
  327. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +105 -0
  328. package/dist/components/SmartTextInput/parser/method-chain/types.mjs +31 -0
  329. package/dist/components/SmartTextInput/parser/method-chain/types.mjs.map +1 -0
  330. package/dist/components/SmartTextInput/parser/smart-text/parser.d.mts +17 -0
  331. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs +814 -0
  332. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs.map +1 -0
  333. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +72 -0
  334. package/dist/components/SmartTextInput/parser/smart-text/types.mjs +38 -0
  335. package/dist/components/SmartTextInput/parser/smart-text/types.mjs.map +1 -0
  336. package/dist/components/Spacer/index.mjs +1 -1
  337. package/dist/components/Spinner/index.mjs +1 -1
  338. package/dist/components/Stack/index.d.mts +1 -1
  339. package/dist/components/Stack/index.mjs +1 -1
  340. package/dist/components/StatusIndicator/index.mjs +111 -12
  341. package/dist/components/StatusIndicator/index.mjs.map +1 -1
  342. package/dist/components/Sticker/index.d.mts +1 -1
  343. package/dist/components/Sticker/index.mjs +1 -1
  344. package/dist/components/SwatchPicker/index.mjs +5 -4
  345. package/dist/components/SwatchPicker/index.mjs.map +1 -1
  346. package/dist/components/TabBar/index.mjs +1 -1
  347. package/dist/components/Table/index.d.mts +8 -7
  348. package/dist/components/Table/index.mjs +1 -1
  349. package/dist/components/TableBox/index.d.mts +2 -2
  350. package/dist/components/TableBox/index.mjs +1 -1
  351. package/dist/components/TechnicalSticker/index.mjs +1 -1
  352. package/dist/components/Text/index.d.mts +1 -1
  353. package/dist/components/Text/index.mjs +1 -1
  354. package/dist/components/TextArea/index.d.mts +1 -1
  355. package/dist/components/TextArea/index.mjs +1 -1
  356. package/dist/components/Tile/index.mjs +9 -8
  357. package/dist/components/Tile/index.mjs.map +1 -1
  358. package/dist/components/Toast/index.mjs +15 -9
  359. package/dist/components/Toast/index.mjs.map +1 -1
  360. package/dist/components/Toggle/index.d.mts +1 -1
  361. package/dist/components/Toggle/index.mjs +1 -1
  362. package/dist/components/Tooltip/index.d.mts +3 -3
  363. package/dist/components/Tooltip/index.mjs +1 -1
  364. package/dist/compound-expression.d.mts +1 -1
  365. package/dist/{constants-DcJ3tnwY.d.mts → constants-zZyl7QbX.d.mts} +1 -1
  366. package/dist/constants.d.mts +1 -1
  367. package/dist/{date-filter-BbWgAXy3.mjs → date-filter-DMZnJwGs.mjs} +1 -1
  368. package/dist/{date-filter-BbWgAXy3.mjs.map → date-filter-DMZnJwGs.mjs.map} +1 -1
  369. package/dist/{date-range-rule-value-DBEEWTQp.d.mts → date-range-rule-value-zJaa_jR9.d.mts} +2 -2
  370. package/dist/date-range-rule-value.d.mts +1 -1
  371. package/dist/{date-rule-intent-BArNGT2E.d.mts → date-rule-intent-CdWv68my.d.mts} +3 -3
  372. package/dist/date-rule-intent.d.mts +1 -1
  373. package/dist/display.d.mts +1 -1
  374. package/dist/fieldPickerOptions.d.mts +2 -2
  375. package/dist/fieldSchemaTypes-COEJOqYL.d.mts +39 -0
  376. package/dist/{filter-size-context-D1UhTwOG.d.mts → filter-size-context-DYkfYMkX.d.mts} +2 -2
  377. package/dist/filter-size-context.d.mts +1 -1
  378. package/dist/helpers.d.mts +1 -1
  379. package/dist/{index-Dpo-RP6S.d.mts → index-BJr_obTf.d.mts} +3 -3
  380. package/dist/{index-DASkW991.d.mts → index-BX8dSNcy.d.mts} +2 -2
  381. package/dist/index-DxIXll2Z.d.mts +21 -0
  382. package/dist/index-hcx6LMSC.d.mts +1 -0
  383. package/dist/index.d.mts +1 -1
  384. package/dist/index2.d.mts +1 -1
  385. package/dist/index3.d.mts +3 -3
  386. package/dist/index4.d.mts +2 -14
  387. package/dist/index5.d.mts +15 -2
  388. package/dist/{input-M7BEIewR.d.mts → input-DN_8iHVD.d.mts} +3 -3
  389. package/dist/inputFields.d.mts +10 -10
  390. package/dist/{intersperse-DQAyfeEw.mjs → intersperse-CRUnXmnu.mjs} +1 -1
  391. package/dist/{intersperse-DQAyfeEw.mjs.map → intersperse-CRUnXmnu.mjs.map} +1 -1
  392. package/dist/jsonSchema-B1VonQij.d.mts +222 -0
  393. package/dist/lib/GlobalStyles.mjs +1 -1
  394. package/dist/lib/HeadlessAriaButton.d.mts +1 -2
  395. package/dist/lib/HeadlessAriaButton.mjs +1 -1
  396. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  397. package/dist/lib/PDSProvider.d.mts +1 -1
  398. package/dist/lib/PDSProvider.mjs +1 -1
  399. package/dist/lib/TruncatedText.d.mts +1 -1
  400. package/dist/lib/TruncatedText.mjs +1 -1
  401. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  402. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  403. package/dist/lib/color.d.mts +2 -0
  404. package/dist/lib/color.mjs +21 -0
  405. package/dist/lib/color.mjs.map +1 -0
  406. package/dist/lib/date-filter/index.d.mts +2 -2
  407. package/dist/lib/date-filter/index.mjs +1 -1
  408. package/dist/lib/errorReporter.d.mts +7 -0
  409. package/dist/lib/errorReporter.mjs +15 -0
  410. package/dist/lib/errorReporter.mjs.map +1 -0
  411. package/dist/lib/fieldSchemaTypes.d.mts +2 -0
  412. package/dist/lib/fieldSchemaTypes.mjs +41 -0
  413. package/dist/lib/fieldSchemaTypes.mjs.map +1 -0
  414. package/dist/lib/jsonSchema.d.mts +2 -0
  415. package/dist/lib/jsonSchema.mjs +260 -0
  416. package/dist/lib/jsonSchema.mjs.map +1 -0
  417. package/dist/lib/message.d.mts +1 -1
  418. package/dist/lib/methodChain.d.mts +66 -0
  419. package/dist/lib/methodChain.mjs +239 -0
  420. package/dist/lib/methodChain.mjs.map +1 -0
  421. package/dist/lib/methodChainNormalize.d.mts +14 -0
  422. package/dist/lib/methodChainNormalize.mjs +53 -0
  423. package/dist/lib/methodChainNormalize.mjs.map +1 -0
  424. package/dist/lib/methodChainTypes.d.mts +23 -0
  425. package/dist/lib/methodChainTypes.mjs +0 -0
  426. package/dist/lib/objectSchemaTypes.d.mts +2 -0
  427. package/dist/lib/objectSchemaTypes.mjs +0 -0
  428. package/dist/lib/pseudoClass.d.mts +1 -1
  429. package/dist/lib/selectHelper.mjs.map +1 -1
  430. package/dist/lib/semanticColor.d.mts +2 -0
  431. package/dist/lib/semanticColor.mjs +17 -0
  432. package/dist/lib/semanticColor.mjs.map +1 -0
  433. package/dist/lib/useControlled.mjs.map +1 -1
  434. package/dist/{message-DaiDXonE.d.mts → message-DfEpU8lV.d.mts} +1 -1
  435. package/dist/mixins/focus.d.mts +4 -4
  436. package/dist/mixins/focus.mjs +7 -5
  437. package/dist/mixins/focus.mjs.map +1 -1
  438. package/dist/mixins/hoverable.d.mts +2 -2
  439. package/dist/mixins/hoverable.mjs +1 -1
  440. package/dist/mixins/input.d.mts +1 -1
  441. package/dist/mixins/input.mjs +55 -22
  442. package/dist/mixins/input.mjs.map +1 -1
  443. package/dist/mixins/menuItem.d.mts +2 -2
  444. package/dist/mixins/menuItem.mjs +78 -50
  445. package/dist/mixins/menuItem.mjs.map +1 -1
  446. package/dist/mixins/print/index.mjs +4 -2
  447. package/dist/mixins/print/index.mjs.map +1 -1
  448. package/dist/mixins/text.d.mts +1 -1
  449. package/dist/mixins/text.mjs +1 -1
  450. package/dist/{operators-BsSl7gPE.d.mts → operators-F8X0hyQB.d.mts} +2 -2
  451. package/dist/operators.d.mts +1 -1
  452. package/dist/palette-BANY1Xfs.d.mts +21 -0
  453. package/dist/palette.d.mts +2 -0
  454. package/dist/parser-Kxos6siN.mjs +2156 -0
  455. package/dist/parser-Kxos6siN.mjs.map +1 -0
  456. package/dist/patterns/LayoutLoadingShimmer/index.mjs +6 -6
  457. package/dist/patterns/LayoutLoadingSpinner/index.mjs +1 -1
  458. package/dist/patterns/PageLayout/index.mjs +1 -1
  459. package/dist/relative-date-label.d.mts +1 -1
  460. package/dist/semantic-Dy7mTyBP.d.mts +133 -0
  461. package/dist/semanticColor-DkVQjcbc.d.mts +29 -0
  462. package/dist/{styledComponentsInterop-8zScIQyC.mjs → styledComponentsInterop-NxwFjeA4.mjs} +2 -2
  463. package/dist/{styledComponentsInterop-8zScIQyC.mjs.map → styledComponentsInterop-NxwFjeA4.mjs.map} +1 -1
  464. package/dist/{text-DjTGRUM1.d.mts → text-BaQdW8qa.d.mts} +1 -1
  465. package/dist/{theme-Biwx2eJZ.d.mts → theme-D02MOaH6.d.mts} +22 -5
  466. package/dist/theme.d.mts +2 -2
  467. package/dist/theme.mjs +22 -1
  468. package/dist/theme.mjs.map +1 -1
  469. package/dist/tone.d.mts +17 -0
  470. package/dist/{types-V8UJX-rk.d.mts → types-1_JSe9Wr.d.mts} +2 -2
  471. package/dist/{types-B5VmRRMR.d.mts → types-C2s9yhgO.d.mts} +2 -2
  472. package/dist/{types-Bsf1VsW6.d.mts → types-COeginAF.d.mts} +1 -1
  473. package/dist/{types-Df0D37uh.d.mts → types-CtLY82w5.d.mts} +1 -1
  474. package/dist/{types-Cg3aXHUh2.d.mts → types-Ok2lRZeu.d.mts} +1 -1
  475. package/dist/types.d.mts +1 -1
  476. package/dist/types2.d.mts +1 -1
  477. package/dist/types3.d.mts +1 -1
  478. package/dist/types4.d.mts +1 -1
  479. package/dist/types5.d.mts +1 -1
  480. package/dist/{url-state-ektb0HnB.d.mts → url-state-DP78aDol.d.mts} +2 -2
  481. package/dist/url-state.d.mts +1 -1
  482. package/dist/useComboboxFooterAction.d.mts +1 -1
  483. package/dist/{useFilterStateV2-BB14vCC-.d.mts → useFilterStateV2-DC2rGXHK.d.mts} +3 -3
  484. package/dist/useFilterStateV2.d.mts +1 -1
  485. package/dist/{useFormField-CQo08dR4.d.mts → useFormField--_14te0K.d.mts} +2 -2
  486. package/dist/{useFormField-Bz2iMPBO.mjs → useFormField-C-K1lgmv.mjs} +2 -2
  487. package/dist/{useFormField-Bz2iMPBO.mjs.map → useFormField-C-K1lgmv.mjs.map} +1 -1
  488. package/dist/useFormField.d.mts +1 -1
  489. package/dist/{useFormGroup-CaTiD_Yt.mjs → useFormGroup-y-duFylq.mjs} +1 -1
  490. package/dist/{useFormGroup-CaTiD_Yt.mjs.map → useFormGroup-y-duFylq.mjs.map} +1 -1
  491. package/dist/{useTableBoxDragAndDrop-B-Dev5D6.d.mts → useTableBoxDragAndDrop-DkCxC7Mi.d.mts} +1 -1
  492. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  493. package/dist/{useToggle-Bo3yd14Y.mjs → useToggle-0zLL1E7s.mjs} +1 -1
  494. package/dist/{useToggle-Bo3yd14Y.mjs.map → useToggle-0zLL1E7s.mjs.map} +1 -1
  495. package/dist/useTruncation.d.mts +1 -1
  496. package/dist/{utilities-BHMNnJ8h.d.mts → utilities-C1hOxjt_.d.mts} +1 -1
  497. package/dist/utilities.d.mts +1 -1
  498. package/dist/utils/storybook.mjs +1 -1
  499. package/dist/utils/storybook.mjs.map +1 -1
  500. package/dist/utils/testing.mjs.map +1 -1
  501. package/dist/utils.d.mts +1 -1
  502. package/dist/{validation-B22QjCrV.d.mts → validation-CpDsI-TM.d.mts} +3 -3
  503. package/dist/validation.d.mts +1 -1
  504. package/dist/{value-control-resolver-qKTH1ErF.d.mts → value-control-resolver-DhaqxKmK.d.mts} +2 -2
  505. package/dist/value-control-resolver.d.mts +1 -1
  506. package/dist/variables/effect.d.mts +14 -3
  507. package/dist/variables/effect.mjs +5 -3
  508. package/dist/variables/effect.mjs.map +1 -1
  509. package/dist/variables/keyframes.mjs +1 -1
  510. package/dist/variables/semantic.d.mts +2 -0
  511. package/dist/variables/semantic.mjs +241 -0
  512. package/dist/variables/semantic.mjs.map +1 -0
  513. package/package.json +68 -7
  514. package/skills/ui-authoring/COMPONENTS.md +1 -1
  515. package/skills/ui-authoring/SKILL.md +1 -1
  516. package/skills/ui-authoring/TOKENS.md +1 -1
  517. package/dist/Breadcrumbs-Zi5p0HDR.mjs.map +0 -1
  518. package/dist/Card-CKrJtn1f.mjs.map +0 -1
  519. package/dist/Card-mZDNFaJy.d.mts +0 -52
  520. package/dist/CardV2-CXxzl1EZ.mjs.map +0 -1
  521. package/dist/Checkbox-DxNHp59y.mjs.map +0 -1
  522. package/dist/Combobox-BUtqtzKl.mjs.map +0 -1
  523. package/dist/DatePicker-CLP-ajza.mjs.map +0 -1
  524. package/dist/FormControl-1BmoYFCu.mjs.map +0 -1
  525. package/dist/FormField-oBKH25qf.mjs.map +0 -1
  526. package/dist/IconButton-BgL3QUVO.mjs.map +0 -1
  527. package/dist/Input-BWlvBYB3.mjs.map +0 -1
  528. package/dist/ListBox-9jHHEaqW.mjs.map +0 -1
  529. package/dist/LoadingShimmer-a2Hv0kAq.mjs.map +0 -1
  530. package/dist/Menu-38UCGcte.mjs.map +0 -1
  531. package/dist/PageHeader-B2-Slzhl.mjs.map +0 -1
  532. package/dist/Pagination-CtUz0gdA.mjs.map +0 -1
  533. package/dist/Popover-DlXyKYL5.mjs.map +0 -1
  534. package/dist/Radio-cLL9oatf.mjs.map +0 -1
  535. package/dist/SegmentedControl-CvWJGhwy.mjs.map +0 -1
  536. package/dist/Select-U_vQhK1A.mjs.map +0 -1
  537. package/dist/Spinner-BTyc6glU.mjs.map +0 -1
  538. package/dist/Sticker-CQ6sOKUj.mjs.map +0 -1
  539. package/dist/TabBar-B5NtgtgC.mjs.map +0 -1
  540. package/dist/Table-DfUD3I2s.mjs.map +0 -1
  541. package/dist/TableBox-0GvWjRln.mjs.map +0 -1
  542. package/dist/TableControls-WUNbzSNq.mjs.map +0 -1
  543. package/dist/TechnicalSticker-ClRR_6Ly.mjs.map +0 -1
  544. package/dist/Text-B0orb-cZ.mjs.map +0 -1
  545. package/dist/Toggle-e8DCYa6i.mjs.map +0 -1
  546. package/dist/Tooltip-iJcfJqxn.mjs.map +0 -1
  547. /package/dist/{index-8SLBz2NH.d.mts → index--p6oQT9I.d.mts} +0 -0
  548. /package/dist/{index-BINnViIh.d.mts → index-1-AkepUA.d.mts} +0 -0
  549. /package/dist/{index-BcsXXrHq.d.mts → index-BFnNtGdX.d.mts} +0 -0
  550. /package/dist/{index-Bt4QNofW.d.mts → index-BO_854F2.d.mts} +0 -0
  551. /package/dist/{index-BwFl_eS0.d.mts → index-BPiqSRRl.d.mts} +0 -0
  552. /package/dist/{index-CDGG7lCB.d.mts → index-BSVhZrWN.d.mts} +0 -0
  553. /package/dist/{index-CRo77wc3.d.mts → index-BYd3Btr1.d.mts} +0 -0
  554. /package/dist/{index-CX869wwk.d.mts → index-BrGZHEgX.d.mts} +0 -0
  555. /package/dist/{index-CliqZ9rj.d.mts → index-Ci-uuV07.d.mts} +0 -0
  556. /package/dist/{index-D4DUvwPf.d.mts → index-CknANNvQ2.d.mts} +0 -0
  557. /package/dist/{index-DBGd4WeR.d.mts → index-CtJuGxUp.d.mts} +0 -0
  558. /package/dist/{index-DDdPqD_H.d.mts → index-CuYZJcK3.d.mts} +0 -0
  559. /package/dist/{index-DMRtRo7y.d.mts → index-DWfPppPU.d.mts} +0 -0
  560. /package/dist/{index-Dflz2i1X.d.mts → index-DYX_PQ7T2.d.mts} +0 -0
  561. /package/dist/{index-DvmLVvRD.d.mts → index-DZlqSwCF.d.mts} +0 -0
  562. /package/dist/{index-DztUdPP_.d.mts → index-De7MV8-j.d.mts} +0 -0
  563. /package/dist/{index-Wc1llEvP.d.mts → index-Deol7ZWO.d.mts} +0 -0
  564. /package/dist/{index-dhjtMp5F.d.mts → index-N-OgGgfF.d.mts} +0 -0
  565. /package/dist/{index-e6k85DKM.d.mts → index-VWno75SQ.d.mts} +0 -0
@@ -1,6 +1,7 @@
1
- import { a as styled } from "./styledComponentsInterop-8zScIQyC.mjs";
1
+ import { a as styled } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { semanticColor } from "./lib/semanticColor.mjs";
2
3
  import { paragraphMixins } from "./mixins/text.mjs";
3
- import { n as useFormField } from "./useFormField-Bz2iMPBO.mjs";
4
+ import { n as useFormField } from "./useFormField-C-K1lgmv.mjs";
4
5
  import { BorderRadius, Spacing } from "@persona/design-tokens";
5
6
  import { createContext, forwardRef, useContext } from "react";
6
7
  import { ToggleButton, ToggleButtonGroup } from "react-aria-components";
@@ -9,7 +10,7 @@ import { jsx } from "react/jsx-runtime";
9
10
  const SegmentedControlSizeContext = createContext("md");
10
11
  const StyledSegmentedControl = styled(ToggleButtonGroup)`
11
12
  display: inline-flex;
12
- background-color: ${({ theme }) => theme.color.variants.basic.default};
13
+ background-color: ${({ theme }) => semanticColor(theme, "SurfaceInset", theme.color.variants.basic.default)};
13
14
  border-radius: 5px;
14
15
  padding: 1px;
15
16
  width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
@@ -58,7 +59,7 @@ const StyledSegment = styled(ToggleButton)`
58
59
  background-color: transparent;
59
60
  border: none;
60
61
  border-radius: ${BorderRadius.Md};
61
- color: ${({ theme }) => theme.color.text.secondary};
62
+ color: ${({ theme }) => semanticColor(theme, "FgSecondary", theme.color.text.secondary)};
62
63
  cursor: pointer;
63
64
  flex: 1;
64
65
  line-height: 1;
@@ -73,14 +74,14 @@ const StyledSegment = styled(ToggleButton)`
73
74
 
74
75
  /* Hover state */
75
76
  &[data-hovered] {
76
- background-color: ${({ theme }) => theme.color.variants.basic.hover};
77
+ background-color: ${({ theme }) => semanticColor(theme, "ActionNeutralHover", theme.color.variants.basic.hover)};
77
78
  }
78
79
 
79
80
  /* Selected state */
80
81
  &[data-selected] {
81
- background-color: ${({ theme }) => theme.color.primary.white};
82
- box-shadow: inset 0 0 0 1px ${({ theme }) => theme.color.border.input};
83
- color: ${({ theme }) => theme.color.text.primary};
82
+ background-color: ${({ theme }) => semanticColor(theme, "SurfacePrimary", theme.color.primary.white)};
83
+ box-shadow: inset 0 0 0 1px ${({ theme }) => semanticColor(theme, "BorderDefault", theme.color.border.input)};
84
+ color: ${({ theme }) => semanticColor(theme, "FgPrimary", theme.color.text.primary)};
84
85
  }
85
86
 
86
87
  /* Disabled state */
@@ -109,4 +110,4 @@ const SegmentedControlItem = forwardRef(function SegmentedControlItem({ disabled
109
110
  //#endregion
110
111
  export { SegmentedControlItem as n, SegmentedControl as t };
111
112
 
112
- //# sourceMappingURL=SegmentedControl-CvWJGhwy.mjs.map
113
+ //# sourceMappingURL=SegmentedControl-DQE0hN57.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl-DQE0hN57.mjs","names":[],"sources":["../components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import { createContext, forwardRef, type Key, type ReactNode, useContext } from 'react';\nimport { ToggleButton, ToggleButtonGroup, type ToggleButtonProps } from 'react-aria-components';\nimport styled from 'styled-components';\n\nimport { BorderRadius, Spacing } from '@persona/design-tokens';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst SegmentedControlSizeContext = createContext<'sm' | 'md'>('md');\n\nexport interface SegmentedControlProps {\n id?: string;\n className?: string;\n\n /**\n * Current selected key (controlled)\n */\n selectedKey?: Key;\n\n /**\n * Default selected key (uncontrolled)\n */\n defaultSelectedKey?: Key;\n\n /**\n * Callback when selection changes\n */\n onSelectionChange?: (key: Key) => void;\n\n /**\n * Whether the entire component is disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the component should take full width\n */\n fullWidth?: boolean;\n\n /**\n * Size of the segmented control\n */\n size?: 'sm' | 'md';\n\n /**\n * Accessible label for the group\n */\n 'aria-label'?: string;\n\n /**\n * Segment components\n */\n children: ReactNode;\n}\n\ninterface StyledSegmentedControlProps {\n id?: string;\n $fullWidth?: boolean;\n $size?: 'sm' | 'md';\n}\n\nconst StyledSegmentedControl = styled(ToggleButtonGroup)<StyledSegmentedControlProps>`\n display: inline-flex;\n background-color: ${({ theme }) =>\n semanticColor(theme, 'SurfaceInset', theme.color.variants.basic.default)};\n border-radius: 5px;\n padding: 1px;\n width: ${({ $fullWidth }) => ($fullWidth ? '100%' : 'auto')};\n height: ${({ $size = 'md' }) => ($size === 'sm' ? '20px' : '24px')};\n`;\n\n/**\n * A segmented control component that allows users to select between multiple options.\n * Built with React Aria for accessibility and keyboard navigation.\n */\nexport const SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>(\n function SegmentedControl(\n {\n id,\n selectedKey,\n defaultSelectedKey,\n onSelectionChange,\n disabled,\n fullWidth = false,\n size = 'md',\n className,\n 'aria-label': ariaLabel,\n children,\n ...props\n },\n ref,\n ) {\n const field = useFormField({ inputId: id, disabled });\n\n return (\n <SegmentedControlSizeContext.Provider value={size}>\n <StyledSegmentedControl\n ref={ref}\n className={className}\n selectionMode='single'\n selectedKeys={selectedKey ? [selectedKey] : undefined}\n defaultSelectedKeys={defaultSelectedKey ? [defaultSelectedKey] : undefined}\n onSelectionChange={(keys) => {\n const key = Array.from(keys)[0];\n if (key && onSelectionChange) {\n onSelectionChange(key);\n }\n }}\n isDisabled={field.disabled}\n aria-label={ariaLabel}\n aria-labelledby={field.labelId}\n aria-describedby={field.helperTextId}\n aria-errormessage={field.hasError ? field.helperTextId : undefined}\n aria-invalid={field.hasError}\n $fullWidth={fullWidth}\n $size={size}\n {...props}\n id={field.inputId}\n >\n {children}\n </StyledSegmentedControl>\n </SegmentedControlSizeContext.Provider>\n );\n },\n);\n\nconst StyledSegment = styled(ToggleButton)<{ $size?: 'sm' | 'md' }>`\n ${paragraphMixins.sm};\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border: none;\n border-radius: ${BorderRadius.Md};\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.secondary)};\n cursor: pointer;\n flex: 1;\n line-height: 1;\n\n & * {\n cursor: inherit;\n }\n padding: 0 ${({ $size = 'md' }) => ($size === 'sm' ? Spacing[1] : Spacing[2])};\n position: relative;\n transition: all 0.15s ease-in-out;\n white-space: nowrap;\n\n /* Hover state */\n &[data-hovered] {\n background-color: ${({ theme }) => semanticColor(theme, 'ActionNeutralHover', theme.color.variants.basic.hover)};\n }\n\n /* Selected state */\n &[data-selected] {\n background-color: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', theme.color.primary.white)};\n box-shadow: inset 0 0 0 1px ${({ theme }) => semanticColor(theme, 'BorderDefault', theme.color.border.input)};\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', theme.color.text.primary)};\n }\n\n /* Disabled state */\n &[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n /* Remove focus outline unless we're using a keyboard */\n &[data-focused]:not([data-focus-visible]) {\n outline: none;\n }\n`;\n\nexport interface SegmentedControlItemProps extends Omit<\n ToggleButtonProps,\n 'isDisabled' | 'style' | 'isSelected' | 'defaultSelected'\n> {\n /**\n * Whether this control item is disabled\n */\n disabled?: boolean;\n}\n\n/**\n * A segment item component for use within SegmentedControl.\n */\nconst SegmentedControlItem = forwardRef<HTMLButtonElement, SegmentedControlItemProps>(\n function SegmentedControlItem({ disabled, children, ...props }, ref) {\n const size = useContext(SegmentedControlSizeContext);\n return (\n <StyledSegment ref={ref} isDisabled={disabled} $size={size} {...props}>\n {children}\n </StyledSegment>\n );\n },\n);\n\nexport default SegmentedControl;\nexport { SegmentedControlItem };\n"],"mappings":";;;;;;;;;AASA,MAAM,8BAA8B,cAA2B,KAAK;AAqDpE,MAAM,yBAAyB,OAAO,kBAAkB;;uBAEjC,EAAE,YACrB,cAAc,OAAO,gBAAgB,MAAM,MAAM,SAAS,MAAM,QAAQ,CAAC;;;YAGjE,EAAE,iBAAkB,aAAa,SAAS,OAAQ;aACjD,EAAE,QAAQ,WAAY,UAAU,OAAO,SAAS,OAAQ;;;;;;AAOrE,MAAa,mBAAmB,WAC9B,SAAS,iBACP,EACE,IACA,aACA,oBACA,mBACA,UACA,YAAY,OACZ,OAAO,MACP,WACA,cAAc,WACd,UACA,GAAG,SAEL,KACA;CACA,MAAM,QAAQ,aAAa;EAAE,SAAS;EAAI;EAAU,CAAC;AAErD,QACE,oBAAC,4BAA4B,UAA7B;EAAsC,OAAO;YAC3C,oBAAC,wBAAD;GACO;GACM;GACX,eAAc;GACd,cAAc,cAAc,CAAC,YAAY,GAAG,KAAA;GAC5C,qBAAqB,qBAAqB,CAAC,mBAAmB,GAAG,KAAA;GACjE,oBAAoB,SAAS;IAC3B,MAAM,MAAM,MAAM,KAAK,KAAK,CAAC;AAC7B,QAAI,OAAO,kBACT,mBAAkB,IAAI;;GAG1B,YAAY,MAAM;GAClB,cAAY;GACZ,mBAAiB,MAAM;GACvB,oBAAkB,MAAM;GACxB,qBAAmB,MAAM,WAAW,MAAM,eAAe,KAAA;GACzD,gBAAc,MAAM;GACpB,YAAY;GACZ,OAAO;GACP,GAAI;GACJ,IAAI,MAAM;GAET;GACsB,CAAA;EACY,CAAA;EAG5C;AAED,MAAM,gBAAgB,OAAO,aAAa;IACtC,gBAAgB,GAAG;;;;;;mBAMJ,aAAa,GAAG;YACvB,EAAE,YAAY,cAAc,OAAO,eAAe,MAAM,MAAM,KAAK,UAAU,CAAC;;;;;;;;gBAQ1E,EAAE,QAAQ,WAAY,UAAU,OAAO,QAAQ,KAAK,QAAQ,GAAI;;;;;;;yBAOvD,EAAE,YAAY,cAAc,OAAO,sBAAsB,MAAM,MAAM,SAAS,MAAM,MAAM,CAAC;;;;;yBAK3F,EAAE,YAAY,cAAc,OAAO,kBAAkB,MAAM,MAAM,QAAQ,MAAM,CAAC;mCACtE,EAAE,YAAY,cAAc,OAAO,iBAAiB,MAAM,MAAM,OAAO,MAAM,CAAC;cACnG,EAAE,YAAY,cAAc,OAAO,aAAa,MAAM,MAAM,KAAK,QAAQ,CAAC;;;;;;;;;;;;;;;;;AA4BxF,MAAM,uBAAuB,WAC3B,SAAS,qBAAqB,EAAE,UAAU,UAAU,GAAG,SAAS,KAAK;AAEnE,QACE,oBAAC,eAAD;EAAoB;EAAK,YAAY;EAAU,OAFpC,WAAW,4BAEoC;EAAE,GAAI;EAC7D;EACa,CAAA;EAGrB"}
@@ -1,2 +1,2 @@
1
- import { i as SegmentedControlProps, n as SegmentedControlItem, r as SegmentedControlItemProps, t as SegmentedControl } from "./SegmentedControl-Db78Pzo_.mjs";
1
+ import { i as SegmentedControlProps, n as SegmentedControlItem, r as SegmentedControlItemProps, t as SegmentedControl } from "./SegmentedControl-BBIHKcvo.mjs";
2
2
  export { SegmentedControl, SegmentedControl as default, SegmentedControlItem, SegmentedControlItemProps, SegmentedControlProps };
@@ -1,14 +1,15 @@
1
- import { a as styled, r as css } from "./styledComponentsInterop-8zScIQyC.mjs";
1
+ import { a as styled, r as css } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { semanticColor } from "./lib/semanticColor.mjs";
2
3
  import { paragraphMixins } from "./mixins/text.mjs";
3
- import { i as Paragraph } from "./Text-B0orb-cZ.mjs";
4
+ import { i as Paragraph } from "./Text-Dn_p7ZvT.mjs";
4
5
  import { isNotDisabled } from "./lib/pseudoClass.mjs";
5
6
  import { Z_INDICES } from "./lib/zindex.mjs";
6
7
  import inputMixin from "./mixins/input.mjs";
7
- import { t as HStack } from "./Stack-Bre2oiov.mjs";
8
- import { t as IconButton } from "./IconButton-BgL3QUVO.mjs";
9
- import { n as useFormField } from "./useFormField-Bz2iMPBO.mjs";
10
- import { c as MenuList, i as Menu, o as MenuHeading, s as MenuItem } from "./Menu-38UCGcte.mjs";
11
- import { n as DropdownMenu_default } from "./DropdownMenu-CUnf420M.mjs";
8
+ import { t as HStack } from "./Stack-BqQndGI9.mjs";
9
+ import { t as IconButton } from "./IconButton-CnJNIJVQ.mjs";
10
+ import { n as useFormField } from "./useFormField-C-K1lgmv.mjs";
11
+ import { c as MenuList, i as Menu, o as MenuHeading, s as MenuItem } from "./Menu-CAGTCBqj.mjs";
12
+ import { n as DropdownMenu_default } from "./DropdownMenu-DovtBJBs.mjs";
12
13
  import { Color, Spacing } from "@persona/design-tokens";
13
14
  import { forwardRef } from "react";
14
15
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -35,7 +36,7 @@ const SelectButton = styled("button")`
35
36
  }
36
37
 
37
38
  ${({ theme, isSelectingPlaceholder }) => isSelectingPlaceholder && css`
38
- color: ${theme.color.text.secondary};
39
+ color: ${semanticColor(theme, "FgSecondary", theme.color.text.secondary)};
39
40
  `}
40
41
  `;
41
42
  const SelectValueContainer = styled.span`
@@ -49,7 +50,7 @@ const SelectValueContainer = styled.span`
49
50
  `}
50
51
  `;
51
52
  const OptionSubtitle = styled.div`
52
- color: ${({ theme }) => theme.color.text.secondary};
53
+ color: ${({ theme }) => semanticColor(theme, "FgSecondary", theme.color.text.secondary)};
53
54
  font-size: ${({ theme }) => theme.text.paragraph.sm.fontSize};
54
55
  margin-top: ${Spacing[1]};
55
56
  `;
@@ -104,7 +105,7 @@ const SelectHeaderContainer = styled(HStack)`
104
105
  const SelectFooter = styled.div`
105
106
  padding: ${Spacing[1]} 0;
106
107
  margin-top: ${Spacing[1]};
107
- border-top: 1px solid ${Color.BorderDivider};
108
+ border-top: 1px solid ${({ theme }) => semanticColor(theme, "BorderSubtle", Color.BorderDivider)};
108
109
  `;
109
110
  const SelectMenu = forwardRef(function SelectMenu(props, forwardedRef) {
110
111
  return /* @__PURE__ */ jsx(OptionsMenu, {
@@ -128,8 +129,8 @@ const StyledIconContainer = styled(SelectPrimitive.Icon)`
128
129
  display: flex;
129
130
  justify-content: center;
130
131
 
131
- ${({ disabled }) => css`
132
- color: ${disabled ? Color.BorderIconDisabled : Color.BorderIconPrimary};
132
+ ${({ theme, disabled }) => css`
133
+ color: ${disabled ? semanticColor(theme, "FgDisabled", Color.BorderIconDisabled) : semanticColor(theme, "FgPrimary", Color.BorderIconPrimary)};
133
134
  `}
134
135
  `;
135
136
  const SelectHeader = ({ title, menuItems, menuTriggerLabel }) => {
@@ -241,4 +242,4 @@ const Option = forwardRef(function Option({ children, subtitle, ...props }, forw
241
242
  //#endregion
242
243
  export { Select as n, SelectHeader as r, Option as t };
243
244
 
244
- //# sourceMappingURL=Select-U_vQhK1A.mjs.map
245
+ //# sourceMappingURL=Select-D9OVjzPR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-D9OVjzPR.mjs","names":["DropdownMenu"],"sources":["../components/Select/Select.tsx"],"sourcesContent":["import * as SelectPrimitive from '@radix-ui/react-select';\nimport type { Property } from 'csstype';\nimport { forwardRef, type ReactNode } from 'react';\nimport { useId } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { CaretDownIcon, MoreIcon } from '@persona/icons';\nimport { IconButton } from 'design-system/components/Button';\nimport DropdownMenu from 'design-system/components/DropdownMenu';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport Menu, {\n MenuHeading,\n MenuItem,\n type MenuItemProps,\n MenuList,\n type MenuProps,\n} from 'design-system/components/Menu';\nimport { HStack } from 'design-system/components/Stack';\nimport { Paragraph } from 'design-system/components/Text';\nimport { isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { semanticColor } from 'design-system/lib/semanticColor';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport inputMixin, { type InputMixinProps, type InputSizes } from 'design-system/mixins/input';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nexport interface SelectProps extends InputMixinProps, Omit<SelectPrimitive.SelectProps, 'value'> {\n 'aria-label'?: string;\n placeholder?: string;\n\n /**\n * id will be applied to trigger\n */\n id?: string;\n\n /**\n * Class name will be applied to trigger\n */\n className?: string;\n\n /**\n * Max height of options menu\n */\n maxHeight?: number;\n\n /**\n * Min width of the select\n */\n minWidth?: number;\n\n /**\n * Width of the selected value container\n */\n valueContainerWidth?: 'auto' | '100%';\n\n /**\n * Render dropdown menu in a portal.\n */\n portal?: boolean;\n\n /**\n * Element the portalled menu renders into. Defaults to `document.body`. Pass a container inside\n * the current dialog so the menu escapes clipping ancestors without leaving the dialog's\n * dismiss scope, which would close it on click. Requires `portal`.\n */\n portalContainer?: HTMLElement | null;\n\n /**\n * Props to apply to Radix Select.Trigger within\n */\n triggerProps?: SelectPrimitive.SelectTriggerProps;\n\n /**\n * Props to apply to Radix Select.Content within\n */\n contentProps?: SelectPrimitive.SelectContentProps;\n\n /**\n * Callback meant for use with `react-hook-form`'s `useForm` (or Persona's `useFormSecurely`)\n */\n onChange?: (event: { target: { value: string } }) => void;\n\n size?: InputSizes;\n\n value?: string | null;\n\n width?: string;\n\n header?: ReactNode;\n\n footer?: ReactNode;\n\n /**\n * z-index of content. Please use sparingly.\n */\n zIndex?: Property.ZIndex;\n}\n\ninterface SelectButtonProps extends InputMixinProps {\n isSelectingPlaceholder: boolean;\n $width?: string;\n $minWidth?: number;\n}\n\nconst SelectButton = styled('button')<SelectButtonProps>`\n ${inputMixin};\n display: inline-flex;\n position: relative;\n align-items: center;\n outline: none;\n appearance: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-right: ${Spacing[6]};\n width: ${({ $width }) => $width ?? '100%'};\n min-width: ${({ $minWidth }) => ($minWidth != null ? `${$minWidth}px` : 'auto')};\n\n &${isNotDisabled} {\n cursor: pointer;\n }\n\n ${({ theme, isSelectingPlaceholder }) =>\n isSelectingPlaceholder &&\n css`\n color: ${semanticColor(theme, 'FgSecondary', theme.color.text.secondary)};\n `}\n`;\n\ninterface SelectValueContainerProps {\n width?: string;\n}\n\nconst SelectValueContainer = styled.span<SelectValueContainerProps>`\n text-overflow: ellipsis;\n min-width: 0px;\n overflow: hidden;\n text-align: start;\n\n ${({ width }) =>\n width &&\n css`\n width: ${width};\n `}\n`;\n\nconst OptionSubtitle = styled.div`\n color: ${({ theme }) => semanticColor(theme, 'FgSecondary', theme.color.text.secondary)};\n font-size: ${({ theme }) => theme.text.paragraph.sm.fontSize};\n margin-top: ${Spacing[1]};\n`;\n\ninterface OptionsMenuProps {\n maxHeight?: number;\n size?: InputSizes;\n}\n\nconst OptionsMenu = styled(Menu)<OptionsMenuProps>`\n width: var(--radix-select-trigger-width);\n max-height: ${({ maxHeight }) => maxHeight ?? '225px !important'};\n overflow-y: auto;\n margin-bottom: 0;\n\n ${({ size }) => {\n switch (size) {\n case 'md': {\n return css`\n ${MenuList} {\n padding: ${Spacing[2]};\n }\n\n ${OptionItem} {\n ${paragraphMixins.md};\n padding: ${Spacing[2]};\n }\n\n ${MenuHeading} {\n padding: ${Spacing[2]};\n }\n `;\n }\n case 'sm': {\n return css`\n ${MenuList} {\n padding: ${Spacing[1]};\n }\n\n ${OptionItem} {\n ${paragraphMixins.sm};\n padding: ${Spacing[1]};\n }\n\n ${MenuHeading} {\n padding: ${Spacing[1]};\n }\n `;\n }\n }\n }}\n`;\n\nconst SelectContent = styled(SelectPrimitive.Content)<{ $zIndex?: number | string }>`\n z-index: ${({ $zIndex }) => $zIndex || Z_INDICES.dropdown};\n`;\n\nconst SelectHeaderContainer = styled(HStack)`\n display: flex;\n justify-content: space-between;\n padding: ${Spacing[1]} ${Spacing[1]} 0 ${Spacing[1]};\n margin-bottom: ${Spacing[1]};\n`;\n\nconst SelectFooter = styled.div`\n padding: ${Spacing[1]} 0;\n margin-top: ${Spacing[1]};\n border-top: 1px solid ${({ theme }) => semanticColor(theme, 'BorderSubtle', Color.BorderDivider)};\n`;\n\nconst SelectMenu = forwardRef<HTMLUListElement, MenuProps & OptionsMenuProps>(function SelectMenu(\n props: MenuProps,\n forwardedRef,\n) {\n return <OptionsMenu listRef={forwardedRef} {...props} />;\n});\n\nconst OptionItem = styled(MenuItem)`\n ${paragraphMixins.md};\n padding: ${Spacing[4]};\n`;\n\nconst SelectItem = forwardRef<HTMLDivElement, MenuItemProps>(function SelectItem(\n props: MenuItemProps,\n forwardedRef,\n) {\n return <OptionItem ref={forwardedRef} {...props} />;\n});\n\nconst StyledIconContainer = styled(SelectPrimitive.Icon)<{ disabled?: boolean }>`\n position: absolute;\n right: ${Spacing[2]};\n display: flex;\n justify-content: center;\n\n ${({ theme, disabled }) => css`\n color: ${\n disabled\n ? semanticColor(theme, 'FgDisabled', Color.BorderIconDisabled)\n : semanticColor(theme, 'FgPrimary', Color.BorderIconPrimary)\n };\n `}\n`;\n\ninterface SelectHeaderProps {\n title?: ReactNode;\n menuItems?: ReactNode;\n menuTriggerLabel?: string;\n}\n\nexport const SelectHeader = ({ title, menuItems, menuTriggerLabel }: SelectHeaderProps) => {\n const uniqueId = useId();\n\n return (\n <SelectHeaderContainer align='center'>\n {title && (\n <Paragraph color='primary' weight='bold' size='md'>\n {title}\n </Paragraph>\n )}\n {menuItems && (\n <DropdownMenu\n portal={true}\n trigger={\n <IconButton>\n <MoreIcon />\n </IconButton>\n }\n triggerProps={{\n 'aria-label': menuTriggerLabel,\n id: `select-header-menu-trigger-${uniqueId}`,\n }}\n side='right'\n align='start'\n zIndex={Z_INDICES.layeredDropdown}\n contentProps={{\n // Fix for Radix UI 2.1.15 upgrade breaking changes:\n // 1. Portal rendering causes pointer-events issues preventing dropdown interaction\n // 2. Portal timing causes onFocusOutside to fire immediately, closing dropdown\n style: {\n pointerEvents: 'auto', // Ensure dropdown items receive mouse events\n },\n onFocusOutside: (event) => event.preventDefault(), // Prevent immediate portal closing\n }}\n >\n {menuItems}\n </DropdownMenu>\n )}\n </SelectHeaderContainer>\n );\n};\n\nexport const Select = forwardRef<HTMLButtonElement, SelectProps>(function Select(\n { portal = false, portalContainer, size = 'md', ...props }: SelectProps,\n forwardedRef,\n) {\n const {\n 'aria-label': ariaLabel,\n hasError,\n hasWarning,\n focused,\n active,\n hovered,\n disabled,\n placeholder,\n maxHeight,\n children,\n triggerProps,\n contentProps,\n id,\n className,\n onChange,\n onValueChange,\n value,\n width,\n header,\n footer,\n minWidth,\n valueContainerWidth,\n zIndex,\n } = props;\n\n const field = useFormField({ inputId: props.id, disabled, hasWarning, hasError });\n\n const content = (\n <SelectContent\n position='popper'\n side='bottom'\n sideOffset={8}\n $zIndex={zIndex}\n {...contentProps}\n >\n <SelectMenu maxHeight={maxHeight} size={size}>\n {header}\n <SelectPrimitive.Viewport>{children}</SelectPrimitive.Viewport>\n {footer && (\n <>\n <SelectFooter>{footer}</SelectFooter>\n </>\n )}\n </SelectMenu>\n </SelectContent>\n );\n\n return (\n <SelectPrimitive.Root\n {...props}\n onValueChange={(value) => {\n onChange?.({ target: { value } });\n onValueChange?.(value);\n }}\n // Custom behavior to consider null as empty value\n value={value === null ? '' : value}\n >\n <SelectPrimitive.Trigger\n ref={forwardedRef}\n asChild\n id={id}\n className={className}\n disabled={field.disabled}\n aria-describedby={field.helperTextId}\n aria-errormessage={field.hasError ? field.helperTextId : undefined}\n aria-invalid={field.hasError}\n aria-label={ariaLabel}\n {...triggerProps}\n >\n <SelectButton\n hasWarning={field.hasWarning}\n hasError={field.hasError}\n hovered={hovered}\n focused={focused}\n active={active}\n disabled={field.disabled}\n placeholder={placeholder}\n isSelectingPlaceholder={props.value === '' || props.value == null}\n $minWidth={minWidth}\n $size={size}\n $width={width}\n >\n <SelectValueContainer width={valueContainerWidth}>\n <SelectPrimitive.Value placeholder={placeholder} />\n </SelectValueContainer>\n <StyledIconContainer disabled={disabled}>\n <CaretDownIcon />\n </StyledIconContainer>\n </SelectButton>\n </SelectPrimitive.Trigger>\n {portal ? (\n <SelectPrimitive.Portal container={portalContainer}>{content}</SelectPrimitive.Portal>\n ) : (\n content\n )}\n </SelectPrimitive.Root>\n );\n});\n\nexport default Select;\n\nexport const Option = forwardRef<HTMLDivElement, SelectPrimitive.SelectItemProps & MenuItemProps>(\n function Option({ children, subtitle, ...props }, forwardedRef) {\n return (\n <SelectPrimitive.Item {...props} ref={forwardedRef} asChild>\n <SelectItem {...props}>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n {subtitle && <OptionSubtitle>{subtitle}</OptionSubtitle>}\n </SelectItem>\n </SelectPrimitive.Item>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { n as InputSizes, t as InputMixinProps } from "./input-M7BEIewR.mjs";
2
- import { l as MenuItemProps } from "./Menu-ZShdhNd7.mjs";
1
+ import { l as MenuItemProps } from "./Menu-_loh8pe3.mjs";
2
+ import { n as InputSizes, t as InputMixinProps } from "./input-DN_8iHVD.mjs";
3
3
  import * as _$react from "react";
4
4
  import { ReactNode } from "react";
5
5
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
@@ -80,4 +80,4 @@ declare const Select: _$react.ForwardRefExoticComponent<SelectProps & _$react.Re
80
80
  declare const Option: _$react.ForwardRefExoticComponent<SelectPrimitive.SelectItemProps & MenuItemProps<"div"> & _$react.RefAttributes<HTMLDivElement>>;
81
81
  //#endregion
82
82
  export { SelectProps as i, Select as n, SelectHeader as r, Option as t };
83
- //# sourceMappingURL=Select-bafAe2wd.d.mts.map
83
+ //# sourceMappingURL=Select-wnr46ROZ.d.mts.map
package/dist/Select.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { i as SelectProps, n as Select, r as SelectHeader, t as Option } from "./Select-bafAe2wd.mjs";
1
+ import { i as SelectProps, n as Select, r as SelectHeader, t as Option } from "./Select-wnr46ROZ.mjs";
2
2
  export { Option, Select, Select as default, SelectHeader, SelectProps };
@@ -1,4 +1,4 @@
1
- import { a as styled } from "./styledComponentsInterop-8zScIQyC.mjs";
1
+ import { a as styled } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
2
  import "./variables/spacing.mjs";
3
3
  //#endregion
4
4
  //#region components/Spacer/index.ts
@@ -10,4 +10,4 @@ var Spacer_default = styled.div.attrs(() => ({ "aria-hidden": true }))`
10
10
  //#endregion
11
11
  export { Spacer_default as t };
12
12
 
13
- //# sourceMappingURL=Spacer-BsK8tTwA.mjs.map
13
+ //# sourceMappingURL=Spacer-D58qwuXR.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spacer-BsK8tTwA.mjs","names":[],"sources":["../components/Spacer/Spacer.tsx","../components/Spacer/index.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { BASE } from 'design-system/variables/spacing';\n\ninterface SpacerProps {\n height?: number;\n width?: number;\n}\n\n/**\n * A simple spacer element used to provide vertical space in grids.\n *\n * @deprecated You probably want to use `Stack` instead with a `gap` for spacing.\n */\nconst Spacer = styled.div.attrs(() => ({ 'aria-hidden': true }))<SpacerProps>`\n height: ${({ height = 5 }) => height * BASE}px;\n width: ${({ width = 0 }) => width * BASE}px;\n flex: none;\n`;\n\nexport default Spacer;\n","import Spacer from './Spacer';\n\nexport default Spacer;\n"],"mappings":";;;;ACEA,IAAA,iBAAe,ADYA,OAAO,IAAI,aAAa,EAAE,eAAe,MAAM,EAAE;aACnD,EAAE,SAAS,QAAQ,SAAA,EAAc;YAClC,EAAE,QAAQ,QAAQ,QAAA,EAAa"}
1
+ {"version":3,"file":"Spacer-D58qwuXR.mjs","names":[],"sources":["../components/Spacer/Spacer.tsx","../components/Spacer/index.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { BASE } from 'design-system/variables/spacing';\n\ninterface SpacerProps {\n height?: number;\n width?: number;\n}\n\n/**\n * A simple spacer element used to provide vertical space in grids.\n *\n * @deprecated You probably want to use `Stack` instead with a `gap` for spacing.\n */\nconst Spacer = styled.div.attrs(() => ({ 'aria-hidden': true }))<SpacerProps>`\n height: ${({ height = 5 }) => height * BASE}px;\n width: ${({ width = 0 }) => width * BASE}px;\n flex: none;\n`;\n\nexport default Spacer;\n","import Spacer from './Spacer';\n\nexport default Spacer;\n"],"mappings":";;;;ACEA,IAAA,iBAAe,ADYA,OAAO,IAAI,aAAa,EAAE,eAAe,MAAM,EAAE;aACnD,EAAE,SAAS,QAAQ,SAAA,EAAc;YAClC,EAAE,QAAQ,QAAQ,QAAA,EAAa"}
@@ -1,4 +1,5 @@
1
- import { a as styled } from "./styledComponentsInterop-8zScIQyC.mjs";
1
+ import { a as styled, o as useTheme } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { semanticColor } from "./lib/semanticColor.mjs";
2
3
  import { rotate } from "./variables/keyframes.mjs";
3
4
  import "./variables/transitions.mjs";
4
5
  import { Color } from "@persona/design-tokens";
@@ -6,10 +7,6 @@ import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import { LoaderIcon } from "@persona/icons";
7
8
  import { LoaderIcon as LoaderIcon$1 } from "@persona/icons/24px";
8
9
  //#region components/Spinner/Spinner.tsx
9
- const SPINNER_COLOR = {
10
- default: Color.BorderIconPrimary,
11
- inverse: Color.BorderIconInverse
12
- };
13
10
  const Container = styled.span`
14
11
  line-height: 0;
15
12
  display: inline-block;
@@ -27,7 +24,8 @@ const IconContainer = styled.span`
27
24
  animation: ${rotate} ${"1000ms"} linear infinite;
28
25
  `;
29
26
  const Spinner = ({ variant = "default", size = "sm", srText, className }) => {
30
- const resolvedColor = SPINNER_COLOR[variant];
27
+ const theme = useTheme();
28
+ const resolvedColor = variant === "inverse" ? semanticColor(theme, "FgInverse", Color.BorderIconInverse) : semanticColor(theme, "FgPrimary", Color.BorderIconPrimary);
31
29
  return /* @__PURE__ */ jsxs(Container, {
32
30
  role: "status",
33
31
  "aria-label": "loading spinner",
@@ -38,4 +36,4 @@ const Spinner = ({ variant = "default", size = "sm", srText, className }) => {
38
36
  //#endregion
39
37
  export { Spinner as t };
40
38
 
41
- //# sourceMappingURL=Spinner-BTyc6glU.mjs.map
39
+ //# sourceMappingURL=Spinner-gBNWIwOn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner-gBNWIwOn.mjs","names":["LoaderIconMedium"],"sources":["../components/Spinner/Spinner.tsx"],"sourcesContent":["import styled, { useTheme } from 'styled-components';\n\nimport { rotate } from '@persona/design-system/variables/keyframes';\nimport { TransitionDuration } from '@persona/design-system/variables/transitions';\nimport { Color } from '@persona/design-tokens';\nimport { LoaderIcon } from '@persona/icons';\nimport { LoaderIcon as LoaderIconMedium } from '@persona/icons/24px';\nimport { semanticColor } from 'design-system/lib/semanticColor';\n\nexport type SpinnerVariant = 'default' | 'inverse';\n\ntype SpinnerSize = 'sm' | 'md';\n\ninterface SpinnerProps {\n /**\n * `default` uses {@link Color.BorderIconPrimary}; `inverse` uses {@link Color.BorderIconInverse}\n * (e.g. on dark backgrounds).\n */\n variant?: SpinnerVariant;\n /** Size of the spinner. Defaults to 'sm'. */\n size?: SpinnerSize;\n /** Screen reader text. Defaults to \"Loading...\". */\n srText?: string;\n className?: string;\n}\n\nconst Container = styled.span`\n line-height: 0;\n display: inline-block;\n`;\n\nconst VisuallyHidden = styled.span`\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n`;\n\nconst IconContainer = styled.span`\n display: inline-block;\n animation: ${rotate} ${TransitionDuration.OneSecond} linear infinite;\n`;\n\nexport const Spinner = ({ variant = 'default', size = 'sm', srText, className }: SpinnerProps) => {\n const theme = useTheme();\n const resolvedColor =\n variant === 'inverse'\n ? semanticColor(theme, 'FgInverse', Color.BorderIconInverse)\n : semanticColor(theme, 'FgPrimary', Color.BorderIconPrimary);\n return (\n <Container role='status' aria-label='loading spinner' className={className}>\n <VisuallyHidden>{srText ?? 'Loading...'}</VisuallyHidden>\n <IconContainer>\n {size === 'sm' ? (\n <LoaderIcon color={resolvedColor} />\n ) : (\n <LoaderIconMedium color={resolvedColor} />\n )}\n </IconContainer>\n </Container>\n );\n};\n\nexport default Spinner;\n"],"mappings":";;;;;;;;;AA0BA,MAAM,YAAY,OAAO,IAAI;;;;AAK7B,MAAM,iBAAiB,OAAO,IAAI;;;;;;;;AASlC,MAAM,gBAAgB,OAAO,IAAI;;eAElB,OAAO,GAAA,SAAgC;;AAGtD,MAAa,WAAW,EAAE,UAAU,WAAW,OAAO,MAAM,QAAQ,gBAA8B;CAChG,MAAM,QAAQ,UAAU;CACxB,MAAM,gBACJ,YAAY,YACR,cAAc,OAAO,aAAa,MAAM,kBAAkB,GAC1D,cAAc,OAAO,aAAa,MAAM,kBAAkB;AAChE,QACE,qBAAC,WAAD;EAAW,MAAK;EAAS,cAAW;EAA6B;YAAjE,CACE,oBAAC,gBAAD,EAAA,UAAiB,UAAU,cAA8B,CAAA,EACzD,oBAAC,eAAD,EAAA,UACG,SAAS,OACR,oBAAC,YAAD,EAAY,OAAO,eAAiB,CAAA,GAEpC,oBAACA,cAAD,EAAkB,OAAO,eAAiB,CAAA,EAE9B,CAAA,CACN"}
@@ -1,4 +1,4 @@
1
- import { a as styled, r as css } from "./styledComponentsInterop-8zScIQyC.mjs";
1
+ import { a as styled, r as css } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
2
  import { Spacing } from "@persona/design-tokens";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region components/Stack/Stack.tsx
@@ -37,4 +37,4 @@ const HStack = (props) => /* @__PURE__ */ jsx(Stack, {
37
37
  //#endregion
38
38
  export { Stack as n, HStack as t };
39
39
 
40
- //# sourceMappingURL=Stack-Bre2oiov.mjs.map
40
+ //# sourceMappingURL=Stack-BqQndGI9.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stack-Bre2oiov.mjs","names":[],"sources":["../components/Stack/Stack.tsx"],"sourcesContent":["import type * as CSS from 'csstype';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nexport interface StackProps {\n /**\n * Spacing between items. Defaults to Spacing[3].\n *\n * @defaultValue Spacing[3]\n */\n spacing?: Spacing;\n\n /**\n * Direction of Stack. Defaults to vertical.\n *\n * @defaultValue 'vertical'\n */\n direction?: 'vertical' | 'horizontal';\n\n /**\n * Passed through as `align-items`\n */\n align?: CSS.Property.AlignItems;\n\n /**\n * Passed through as `justify-content`\n */\n justify?: CSS.Property.JustifyContent;\n\n /**\n * Passed through as `flex-wrap`\n */\n wrap?: CSS.Property.FlexWrap;\n\n /**\n * Give each item an equal width/height.\n */\n equal?: boolean;\n\n /**\n * Passed through as `width: 100%`\n */\n fullWidth?: boolean;\n}\n\nexport const Stack = styled('div')<StackProps>`\n display: flex;\n flex-direction: ${({ direction }) => (direction === 'horizontal' ? 'row' : 'column')};\n gap: ${({ spacing }) => spacing || Spacing[2]};\n\n ${({ align }) =>\n align &&\n css`\n align-items: ${align};\n `}\n\n ${({ justify }) =>\n justify &&\n css`\n justify-content: ${justify};\n `}\n\n ${({ wrap }) =>\n wrap &&\n css`\n flex-wrap: ${wrap};\n `}\n\n ${({ equal }) =>\n equal &&\n css`\n > * {\n flex-grow: 1;\n flex-basis: 0;\n }\n `}\n\n ${({ fullWidth }) =>\n fullWidth &&\n css`\n width: 100%;\n `}\n`;\n\nexport default Stack;\n\nexport type HStackProps = ComponentPropsWithoutRef<'div'> & StackProps;\n\nexport const HStack = (props: HStackProps) => <Stack {...props} direction='horizontal' />;\n"],"mappings":";;;;AA+CA,MAAa,QAAQ,OAAO,MAAM;;qBAEb,EAAE,gBAAiB,cAAc,eAAe,QAAQ,SAAU;UAC7E,EAAE,cAAc,WAAW,QAAQ,GAAG;;KAE3C,EAAE,YACH,SACA,GAAG;qBACc,MAAM;MACrB;;KAED,EAAE,cACH,WACA,GAAG;yBACkB,QAAQ;MAC3B;;KAED,EAAE,WACH,QACA,GAAG;mBACY,KAAK;MAClB;;KAED,EAAE,YACH,SACA,GAAG;;;;;MAKD;;KAED,EAAE,gBACH,aACA,GAAG;;MAED;;AAON,MAAa,UAAU,UAAuB,oBAAC,OAAD;CAAO,GAAI;CAAO,WAAU;CAAe,CAAA"}
1
+ {"version":3,"file":"Stack-BqQndGI9.mjs","names":[],"sources":["../components/Stack/Stack.tsx"],"sourcesContent":["import type * as CSS from 'csstype';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nexport interface StackProps {\n /**\n * Spacing between items. Defaults to Spacing[3].\n *\n * @defaultValue Spacing[3]\n */\n spacing?: Spacing;\n\n /**\n * Direction of Stack. Defaults to vertical.\n *\n * @defaultValue 'vertical'\n */\n direction?: 'vertical' | 'horizontal';\n\n /**\n * Passed through as `align-items`\n */\n align?: CSS.Property.AlignItems;\n\n /**\n * Passed through as `justify-content`\n */\n justify?: CSS.Property.JustifyContent;\n\n /**\n * Passed through as `flex-wrap`\n */\n wrap?: CSS.Property.FlexWrap;\n\n /**\n * Give each item an equal width/height.\n */\n equal?: boolean;\n\n /**\n * Passed through as `width: 100%`\n */\n fullWidth?: boolean;\n}\n\nexport const Stack = styled('div')<StackProps>`\n display: flex;\n flex-direction: ${({ direction }) => (direction === 'horizontal' ? 'row' : 'column')};\n gap: ${({ spacing }) => spacing || Spacing[2]};\n\n ${({ align }) =>\n align &&\n css`\n align-items: ${align};\n `}\n\n ${({ justify }) =>\n justify &&\n css`\n justify-content: ${justify};\n `}\n\n ${({ wrap }) =>\n wrap &&\n css`\n flex-wrap: ${wrap};\n `}\n\n ${({ equal }) =>\n equal &&\n css`\n > * {\n flex-grow: 1;\n flex-basis: 0;\n }\n `}\n\n ${({ fullWidth }) =>\n fullWidth &&\n css`\n width: 100%;\n `}\n`;\n\nexport default Stack;\n\nexport type HStackProps = ComponentPropsWithoutRef<'div'> & StackProps;\n\nexport const HStack = (props: HStackProps) => <Stack {...props} direction='horizontal' />;\n"],"mappings":";;;;AA+CA,MAAa,QAAQ,OAAO,MAAM;;qBAEb,EAAE,gBAAiB,cAAc,eAAe,QAAQ,SAAU;UAC7E,EAAE,cAAc,WAAW,QAAQ,GAAG;;KAE3C,EAAE,YACH,SACA,GAAG;qBACc,MAAM;MACrB;;KAED,EAAE,cACH,WACA,GAAG;yBACkB,QAAQ;MAC3B;;KAED,EAAE,WACH,QACA,GAAG;mBACY,KAAK;MAClB;;KAED,EAAE,YACH,SACA,GAAG;;;;;MAKD;;KAED,EAAE,gBACH,aACA,GAAG;;MAED;;AAON,MAAa,UAAU,UAAuB,oBAAC,OAAD;CAAO,GAAI;CAAO,WAAU;CAAe,CAAA"}
@@ -44,4 +44,4 @@ type HStackProps = ComponentPropsWithoutRef<'div'> & StackProps;
44
44
  declare const HStack: (props: HStackProps) => _$react_jsx_runtime0.JSX.Element;
45
45
  //#endregion
46
46
  export { StackProps as i, HStackProps as n, Stack as r, HStack as t };
47
- //# sourceMappingURL=Stack-_JcvIE31.d.mts.map
47
+ //# sourceMappingURL=Stack-DgC83-nw.d.mts.map
package/dist/Stack.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { i as StackProps, n as HStackProps, r as Stack, t as HStack } from "./Stack-_JcvIE31.mjs";
1
+ import { i as StackProps, n as HStackProps, r as Stack, t as HStack } from "./Stack-DgC83-nw.mjs";
2
2
  export { HStack, HStackProps, Stack, Stack as default, StackProps };
@@ -1,12 +1,116 @@
1
- import { a as styled } from "./styledComponentsInterop-8zScIQyC.mjs";
1
+ import { a as styled, r as css } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
2
  import { TruncatedText } from "./lib/TruncatedText.mjs";
3
+ import { semanticColor, semanticOnly, semanticTokens } from "./lib/semanticColor.mjs";
3
4
  import { paragraphMixins } from "./mixins/text.mjs";
5
+ import { withAlpha } from "./lib/color.mjs";
4
6
  import { isDisabled, isFocusedVisible, isHovered, isNotDisabled } from "./lib/pseudoClass.mjs";
5
- import { n as Stack } from "./Stack-Bre2oiov.mjs";
6
- import { t as IconButton } from "./IconButton-BgL3QUVO.mjs";
7
+ import { n as Stack } from "./Stack-BqQndGI9.mjs";
8
+ import { t as IconButton } from "./IconButton-CnJNIJVQ.mjs";
7
9
  import { BorderRadius, Color, Spacing } from "@persona/design-tokens";
8
10
  import { jsx, jsxs } from "react/jsx-runtime";
9
11
  import { XIcon } from "@persona/icons/12px";
12
+ //#region components/Sticker/tone.ts
13
+ const buildSemanticStickerTone = (t, variant, onSecondaryBackground) => {
14
+ switch (variant) {
15
+ case "white": return {
16
+ background: t.FeedbackNeutralInverse,
17
+ backgroundHover: t.FeedbackNeutral1,
18
+ color: t.FgPrimary,
19
+ colorHover: t.FgPrimary,
20
+ colorDisabled: t.FgDisabled
21
+ };
22
+ case "blue": return {
23
+ background: t.FeedbackInfo2,
24
+ backgroundHover: t.FeedbackInfo3,
25
+ color: t.FgPrimaryStatic,
26
+ colorHover: t.FgPrimaryStatic,
27
+ colorDisabled: t.FgDisabled
28
+ };
29
+ case "teal": return {
30
+ background: t.FeedbackMisc1,
31
+ backgroundHover: t.FeedbackMisc2,
32
+ color: t.FgPrimaryStatic,
33
+ colorHover: t.FgPrimaryStatic,
34
+ colorDisabled: t.FgDisabled
35
+ };
36
+ case "green":
37
+ case "success": return {
38
+ background: t.FeedbackSuccess2,
39
+ backgroundHover: t.FeedbackSuccess3,
40
+ color: t.FgPrimaryStatic,
41
+ colorHover: t.FgPrimaryStatic,
42
+ colorDisabled: t.FgDisabled
43
+ };
44
+ case "yellow":
45
+ case "caution": return {
46
+ background: t.FeedbackHighlight1,
47
+ backgroundHover: t.FeedbackHighlight2,
48
+ color: t.FgPrimaryStatic,
49
+ colorHover: t.FgPrimaryStatic,
50
+ colorDisabled: t.FgDisabled
51
+ };
52
+ case "orange": return {
53
+ background: t.FeedbackWarning2,
54
+ backgroundHover: t.FeedbackWarning3,
55
+ color: t.FgPrimaryStatic,
56
+ colorHover: t.FgPrimaryStatic,
57
+ colorDisabled: t.FgDisabled
58
+ };
59
+ case "pink":
60
+ case "danger": return {
61
+ background: t.FeedbackDanger2,
62
+ backgroundHover: t.FeedbackDanger3,
63
+ color: t.FgPrimaryStatic,
64
+ colorHover: t.FgPrimaryStatic,
65
+ colorDisabled: t.FgDisabled
66
+ };
67
+ case "red": return {
68
+ background: t.FeedbackDanger3,
69
+ backgroundHover: t.FeedbackDanger4,
70
+ color: t.FgInverse,
71
+ colorHover: t.FgInverseStatic,
72
+ colorDisabled: withAlpha(t.FgInverseStatic, t.Opacity65)
73
+ };
74
+ case "purple":
75
+ case "primary": return {
76
+ background: t.FeedbackAccent2,
77
+ backgroundHover: t.FeedbackAccent3,
78
+ color: t.FgPrimaryStatic,
79
+ colorHover: t.FgInverseStatic,
80
+ colorDisabled: t.FgDisabled
81
+ };
82
+ case "darkGrey": return {
83
+ background: t.FeedbackNeutral4,
84
+ backgroundHover: t.FeedbackNeutral5,
85
+ color: t.FgInverseStatic,
86
+ colorHover: t.FgInverseStatic,
87
+ colorDisabled: withAlpha(t.FgInverseStatic, t.Opacity65)
88
+ };
89
+ default: return {
90
+ background: onSecondaryBackground ? t.FeedbackNeutral2Static : t.FeedbackNeutral1,
91
+ backgroundHover: t.FeedbackNeutral3,
92
+ color: t.FgPrimary,
93
+ colorHover: t.FgPrimary,
94
+ colorDisabled: t.FgDisabled
95
+ };
96
+ }
97
+ };
98
+ const semanticStickerToneCache = /* @__PURE__ */ new WeakMap();
99
+ const semanticStickerTone = (t, variant, onSecondaryBackground = false) => {
100
+ let tones = semanticStickerToneCache.get(t);
101
+ if (!tones) {
102
+ tones = /* @__PURE__ */ new Map();
103
+ semanticStickerToneCache.set(t, tones);
104
+ }
105
+ const key = `${variant ?? ""}:${onSecondaryBackground ? "secondary" : "default"}`;
106
+ let tone = tones.get(key);
107
+ if (!tone) {
108
+ tone = buildSemanticStickerTone(t, variant, onSecondaryBackground);
109
+ tones.set(key, tone);
110
+ }
111
+ return tone;
112
+ };
113
+ //#endregion
10
114
  //#region components/Sticker/Sticker.tsx
11
115
  const STICKER_COLOR_CONFIG = {
12
116
  white: "White",
@@ -22,7 +126,12 @@ const STICKER_COLOR_CONFIG = {
22
126
  grey: "Grey"
23
127
  };
24
128
  const StickerIcon = styled("div")`
25
- color: ${({ theme, variant }) => {
129
+ color: ${({ theme, variant, disabled }) => {
130
+ const tokens = semanticTokens(theme);
131
+ if (tokens) {
132
+ const tone = semanticStickerTone(tokens, variant);
133
+ return disabled ? tone.colorDisabled : tone.color;
134
+ }
26
135
  switch (variant) {
27
136
  case "darkGrey":
28
137
  case "red": return theme.color.text.inverse;
@@ -36,7 +145,10 @@ const StickerIcon = styled("div")`
36
145
  }
37
146
  `;
38
147
  const RequiredAsterisk = styled.span`
39
- color: ${Color.TextDanger};
148
+ color: ${({ theme, variant, disabled }) => {
149
+ const tokens = semanticTokens(theme);
150
+ return disabled && tokens ? semanticStickerTone(tokens, variant).colorDisabled : semanticColor(theme, "FgDanger1", Color.TextDanger);
151
+ }};
40
152
  /* Ensure asterisk never gets hidden and takes minimal space */
41
153
  flex-shrink: 0;
42
154
  `;
@@ -59,7 +171,7 @@ const StyledTruncatedText = styled(TruncatedText)`
59
171
  `;
60
172
  const DismissButton = styled(IconButton)`
61
173
  /* Note this will break if the element is not on a white background. Variable is provided to be able to override. */
62
- --background-color-behind-sticker: ${Color.PrimaryWhite};
174
+ --background-color-behind-sticker: ${({ theme }) => semanticColor(theme, "SurfacePrimary", Color.PrimaryWhite)};
63
175
 
64
176
  border: none;
65
177
 
@@ -77,13 +189,26 @@ const DismissButton = styled(IconButton)`
77
189
  height: 12px;
78
190
  }
79
191
  color: ${({ theme, variant, disabled }) => {
192
+ const tokens = semanticTokens(theme);
193
+ if (tokens) {
194
+ const tone = semanticStickerTone(tokens, variant);
195
+ return disabled ? tone.colorDisabled : tone.color;
196
+ }
80
197
  if (variant === "red" || variant === "darkGrey") return theme.color.text.inverse;
81
198
  return disabled ? "inherit" : Color.BorderIconPrimary;
82
199
  }};
83
200
 
84
201
  &${isDisabled} {
85
202
  background-color: inherit !important;
86
- color: inherit !important;
203
+ color: ${({ theme, variant }) => {
204
+ const tokens = semanticTokens(theme);
205
+ return tokens ? semanticStickerTone(tokens, variant).colorDisabled : "inherit";
206
+ }} !important;
207
+
208
+ svg,
209
+ svg path {
210
+ color: inherit !important;
211
+ }
87
212
  }
88
213
 
89
214
  &${isFocusedVisible}${isNotDisabled} {
@@ -93,7 +218,12 @@ const DismissButton = styled(IconButton)`
93
218
  &${isHovered}${isNotDisabled} {
94
219
  cursor: pointer;
95
220
 
96
- background: ${({ variant }) => {
221
+ ${({ theme, variant }) => semanticOnly((tokens) => css`
222
+ color: ${semanticStickerTone(tokens, variant).colorHover};
223
+ `)({ theme })}
224
+ background: ${({ theme, variant }) => {
225
+ const tokens = semanticTokens(theme);
226
+ if (tokens) return semanticStickerTone(tokens, variant).backgroundHover;
97
227
  if (variant === "grey" || variant === "basic") return Color.BackgroundLabelGreyHover;
98
228
  else if (variant === "darkGrey") return Color.BackgroundLabelDarkGreyHover;
99
229
  else if (variant === "purple") return Color.BackgroundLabelPurpleHover;
@@ -117,7 +247,12 @@ const StyledSticker = styled("div")`
117
247
  height: 1rem;
118
248
  max-width: 100%;
119
249
 
120
- color: ${({ theme, variant, disabled }) => {
250
+ color: ${({ theme, variant, disabled, $onSecondaryBackground }) => {
251
+ const tokens = semanticTokens(theme);
252
+ if (tokens) {
253
+ const tone = semanticStickerTone(tokens, variant, $onSecondaryBackground);
254
+ return disabled ? tone.colorDisabled : tone.color;
255
+ }
121
256
  if (disabled) return variant === "red" || variant === "darkGrey" ? theme.color.text.inverse : theme.color.text.disabled;
122
257
  switch (variant) {
123
258
  case "darkGrey":
@@ -125,7 +260,12 @@ const StyledSticker = styled("div")`
125
260
  default: return theme.color.text.primary;
126
261
  }
127
262
  }};
128
- background: ${({ variant, disabled, $onSecondaryBackground }) => {
263
+ background: ${({ theme, variant, disabled, $onSecondaryBackground }) => {
264
+ const tokens = semanticTokens(theme);
265
+ if (tokens) {
266
+ const background = semanticStickerTone(tokens, variant, $onSecondaryBackground).background;
267
+ return disabled ? withAlpha(background, tokens.Opacity65) : background;
268
+ }
129
269
  if (disabled) switch (variant) {
130
270
  case "white": return Color.BackgroundLabelWhite;
131
271
  case "blue": return Color.BackgroundLabelBlueDisabled;
@@ -192,9 +332,14 @@ const Sticker = ({ variant, icon, children, onDismiss, disabled, dismissButtonPr
192
332
  spacing: Spacing[1],
193
333
  children: [icon && /* @__PURE__ */ jsx(StickerIcon, {
194
334
  variant,
335
+ disabled,
195
336
  children: icon
196
337
  }), hasContent && /* @__PURE__ */ jsx(StyledTruncatedText, { children })]
197
- }), isRequired && /* @__PURE__ */ jsx(RequiredAsterisk, { children: "*" })]
338
+ }), isRequired && /* @__PURE__ */ jsx(RequiredAsterisk, {
339
+ variant,
340
+ disabled,
341
+ children: "*"
342
+ })]
198
343
  }), onDismiss && /* @__PURE__ */ jsx(DismissButton, {
199
344
  variant,
200
345
  disabled,
@@ -210,4 +355,4 @@ const Sticker = ({ variant, icon, children, onDismiss, disabled, dismissButtonPr
210
355
  //#endregion
211
356
  export { StyledTruncatedText as a, StickerContentContainer as i, Sticker as n, StickerContainer as r, STICKER_COLOR_CONFIG as t };
212
357
 
213
- //# sourceMappingURL=Sticker-CQ6sOKUj.mjs.map
358
+ //# sourceMappingURL=Sticker-BDyejPZa.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sticker-BDyejPZa.mjs","names":[],"sources":["../components/Sticker/tone.ts","../components/Sticker/Sticker.tsx"],"sourcesContent":["import type { Color } from '@persona/design-tokens';\nimport { type PdsColor, withAlpha } from 'design-system/lib/color';\nimport type { SemanticTokens } from 'design-system/variables/semantic';\n\nimport type { StickerProps } from './Sticker';\n\nexport interface StickerTone {\n background: Color;\n backgroundHover: Color;\n color: Color;\n colorHover: Color;\n colorDisabled: PdsColor;\n}\n\nconst buildSemanticStickerTone = (\n t: SemanticTokens,\n variant: StickerProps['variant'],\n onSecondaryBackground: boolean,\n): StickerTone => {\n switch (variant) {\n case 'white':\n return {\n background: t.FeedbackNeutralInverse,\n backgroundHover: t.FeedbackNeutral1,\n color: t.FgPrimary,\n colorHover: t.FgPrimary,\n colorDisabled: t.FgDisabled,\n };\n case 'blue':\n return {\n background: t.FeedbackInfo2,\n backgroundHover: t.FeedbackInfo3,\n color: t.FgPrimaryStatic,\n colorHover: t.FgPrimaryStatic,\n colorDisabled: t.FgDisabled,\n };\n case 'teal':\n return {\n background: t.FeedbackMisc1,\n backgroundHover: t.FeedbackMisc2,\n color: t.FgPrimaryStatic,\n colorHover: t.FgPrimaryStatic,\n colorDisabled: t.FgDisabled,\n };\n case 'green':\n case 'success':\n return {\n background: t.FeedbackSuccess2,\n backgroundHover: t.FeedbackSuccess3,\n color: t.FgPrimaryStatic,\n colorHover: t.FgPrimaryStatic,\n colorDisabled: t.FgDisabled,\n };\n case 'yellow':\n case 'caution':\n return {\n background: t.FeedbackHighlight1,\n backgroundHover: t.FeedbackHighlight2,\n color: t.FgPrimaryStatic,\n colorHover: t.FgPrimaryStatic,\n colorDisabled: t.FgDisabled,\n };\n case 'orange':\n return {\n background: t.FeedbackWarning2,\n backgroundHover: t.FeedbackWarning3,\n color: t.FgPrimaryStatic,\n colorHover: t.FgPrimaryStatic,\n colorDisabled: t.FgDisabled,\n };\n case 'pink':\n case 'danger':\n return {\n background: t.FeedbackDanger2,\n backgroundHover: t.FeedbackDanger3,\n color: t.FgPrimaryStatic,\n colorHover: t.FgPrimaryStatic,\n colorDisabled: t.FgDisabled,\n };\n case 'red':\n return {\n background: t.FeedbackDanger3,\n backgroundHover: t.FeedbackDanger4,\n color: t.FgInverse,\n colorHover: t.FgInverseStatic,\n colorDisabled: withAlpha(t.FgInverseStatic, t.Opacity65),\n };\n case 'purple':\n case 'primary':\n return {\n background: t.FeedbackAccent2,\n backgroundHover: t.FeedbackAccent3,\n color: t.FgPrimaryStatic,\n colorHover: t.FgInverseStatic,\n colorDisabled: t.FgDisabled,\n };\n case 'darkGrey':\n return {\n background: t.FeedbackNeutral4,\n backgroundHover: t.FeedbackNeutral5,\n color: t.FgInverseStatic,\n colorHover: t.FgInverseStatic,\n colorDisabled: withAlpha(t.FgInverseStatic, t.Opacity65),\n };\n default:\n return {\n background: onSecondaryBackground ? t.FeedbackNeutral2Static : t.FeedbackNeutral1,\n backgroundHover: t.FeedbackNeutral3,\n color: t.FgPrimary,\n colorHover: t.FgPrimary,\n colorDisabled: t.FgDisabled,\n };\n }\n};\n\nconst semanticStickerToneCache = new WeakMap<SemanticTokens, Map<string, StickerTone>>();\n\nexport const semanticStickerTone = (\n t: SemanticTokens,\n variant: StickerProps['variant'],\n onSecondaryBackground = false,\n): StickerTone => {\n let tones = semanticStickerToneCache.get(t);\n if (!tones) {\n tones = new Map();\n semanticStickerToneCache.set(t, tones);\n }\n\n const key = `${variant ?? ''}:${onSecondaryBackground ? 'secondary' : 'default'}`;\n let tone = tones.get(key);\n if (!tone) {\n tone = buildSemanticStickerTone(t, variant, onSecondaryBackground);\n tones.set(key, tone);\n }\n return tone;\n};\n","import type { ComponentPropsWithoutRef, MouseEventHandler, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BorderRadius, Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons/12px';\nimport { IconButton } from 'design-system/components/Button';\nimport Stack from 'design-system/components/Stack';\nimport { withAlpha } from 'design-system/lib/color';\nimport {\n isDisabled,\n isFocusedVisible,\n isHovered,\n isNotDisabled,\n} from 'design-system/lib/pseudoClass';\nimport { semanticColor, semanticOnly, semanticTokens } from 'design-system/lib/semanticColor';\nimport { TruncatedText } from 'design-system/lib/TruncatedText';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport type { Variant } from 'design-system/theme';\n\nimport { semanticStickerTone } from './tone';\n// Define the options with labels\nexport const STICKER_COLOR_CONFIG = {\n white: 'White',\n blue: 'Blue',\n teal: 'Teal',\n green: 'Green',\n yellow: 'Yellow',\n orange: 'Orange',\n pink: 'Pink',\n red: 'Red',\n purple: 'Purple',\n darkGrey: 'Dark Grey',\n grey: 'Grey',\n} as const;\n\n// Derive the type from the object keys\nexport type LabelBackgrounds = keyof typeof STICKER_COLOR_CONFIG;\n\nexport interface StickerProps extends ComponentPropsWithoutRef<'div'> {\n variant?: LabelBackgrounds | Exclude<Variant, 'inverse'>;\n\n /**\n * Icon to render to the left of the Sticker. 12px icons recommended.\n */\n icon?: ReactNode;\n\n /**\n * Callback to call upon clicking \"x\" button. Non-null will render the button.\n */\n onDismiss?: MouseEventHandler;\n\n /**\n * Additional props to pass to the dismiss \"x\" button.\n */\n dismissButtonProps?: ComponentPropsWithoutRef<'button'>;\n\n /**\n * Renders disabled style for the entire Sticker and disables \"x\" button.\n */\n disabled?: boolean;\n\n /**\n * Shows a required asterisk (*) that won't be cut off when text is truncated.\n */\n isRequired?: boolean;\n\n /**\n * In some cases we render a sticker/badge on a secondary background, which needs an adjustment\n * for certain variants.\n */\n onSecondaryBackground?: boolean;\n}\n\nconst StickerIcon = styled('div')<Pick<StickerProps, 'variant' | 'disabled'>>`\n color: ${({ theme, variant, disabled }) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n const tone = semanticStickerTone(tokens, variant);\n return disabled ? tone.colorDisabled : tone.color;\n }\n switch (variant) {\n case 'darkGrey':\n case 'red':\n return theme.color.text.inverse;\n default:\n return 'inherit';\n }\n }};\n line-height: 0;\n svg {\n width: 12px;\n height: 12px;\n }\n`;\n\nconst RequiredAsterisk = styled.span<Pick<StickerProps, 'variant' | 'disabled'>>`\n color: ${({ theme, variant, disabled }) => {\n const tokens = semanticTokens(theme);\n return disabled && tokens\n ? semanticStickerTone(tokens, variant).colorDisabled\n : semanticColor(theme, 'FgDanger1', Color.TextDanger);\n }};\n /* Ensure asterisk never gets hidden and takes minimal space */\n flex-shrink: 0;\n`;\n\nexport const StickerContainer = styled(Stack)`\n padding: 2px ${Spacing[1]};\n /* Ensure container can shrink for text truncation */\n min-width: 0;\n flex: 1;\n`;\n\nexport const StickerContentContainer = styled(StickerContainer)`\n ${paragraphMixins.sm}\n padding: 0;\n`;\n\nexport const StyledTruncatedText = styled(TruncatedText)`\n ${paragraphMixins.sm}\n flex: 1;\n min-width: 0;\n line-height: 1;\n transform: translateY(0.5px);\n`;\n\nconst DismissButton = styled(IconButton)<Pick<StickerProps, 'variant' | 'disabled'>>`\n /* Note this will break if the element is not on a white background. Variable is provided to be able to override. */\n --background-color-behind-sticker: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', Color.PrimaryWhite)};\n\n border: none;\n\n padding: 0 ${Spacing[1]};\n border-radius: ${BorderRadius.Sm};\n width: 1rem;\n\n height: 100%;\n\n display: inline-flex;\n align-items: center;\n\n svg {\n width: 12px;\n height: 12px;\n }\n color: ${({ theme, variant, disabled }) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n const tone = semanticStickerTone(tokens, variant);\n return disabled ? tone.colorDisabled : tone.color;\n }\n if (variant === 'red' || variant === 'darkGrey') {\n return theme.color.text.inverse;\n }\n return disabled ? 'inherit' : Color.BorderIconPrimary;\n }};\n\n &${isDisabled} {\n background-color: inherit !important;\n color: ${({ theme, variant }) => {\n const tokens = semanticTokens(theme);\n return tokens ? semanticStickerTone(tokens, variant).colorDisabled : 'inherit';\n }} !important;\n\n svg,\n svg path {\n color: inherit !important;\n }\n }\n\n &${isFocusedVisible}${isNotDisabled} {\n box-shadow: 0 0 0 1px var(--background-color-behind-sticker);\n }\n\n &${isHovered}${isNotDisabled} {\n cursor: pointer;\n\n ${({ theme, variant }) =>\n semanticOnly(\n (tokens) => css`\n color: ${semanticStickerTone(tokens, variant).colorHover};\n `,\n )({ theme })}\n background: ${({ theme, variant }) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n return semanticStickerTone(tokens, variant).backgroundHover;\n }\n if (variant === 'grey' || variant === 'basic') {\n return Color.BackgroundLabelGreyHover;\n } else if (variant === 'darkGrey') {\n return Color.BackgroundLabelDarkGreyHover;\n } else if (variant === 'purple') {\n return Color.BackgroundLabelPurpleHover;\n } else if (variant === 'red' || variant === 'danger') {\n return Color.BackgroundLabelDarkRedHover;\n } else if (variant === 'orange') {\n return Color.BackgroundLabelOrangeHover;\n } else if (variant === 'yellow' || variant === 'caution') {\n return Color.BackgroundLabelYellowHover;\n } else if (variant === 'green' || variant === 'success') {\n return Color.BackgroundLabelGreenHover;\n } else if (variant === 'teal') {\n return Color.BackgroundLabelTealHover;\n } else if (variant === 'blue') {\n return Color.BackgroundLabelBlueHover;\n } else if (variant === 'pink') {\n return Color.BackgroundLabelRedHover;\n } else if (variant === 'white') {\n return Color.BackgroundLabelWhiteHover;\n } else {\n return 'inherit';\n }\n }};\n }\n`;\n\nconst StyledSticker = styled('div')<\n StickerProps & { sizeIcon?: boolean; $onSecondaryBackground?: boolean }\n>`\n display: inline-flex;\n white-space: nowrap;\n\n border-radius: ${BorderRadius.Sm};\n height: 1rem;\n max-width: 100%;\n\n color: ${({ theme, variant, disabled, $onSecondaryBackground }) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n const tone = semanticStickerTone(tokens, variant, $onSecondaryBackground);\n return disabled ? tone.colorDisabled : tone.color;\n }\n if (disabled) {\n return variant === 'red' || variant === 'darkGrey'\n ? theme.color.text.inverse\n : theme.color.text.disabled;\n }\n switch (variant) {\n case 'darkGrey':\n case 'red':\n return theme.color.text.inverse;\n default:\n return theme.color.text.primary;\n }\n }};\n background: ${({ theme, variant, disabled, $onSecondaryBackground }) => {\n const tokens = semanticTokens(theme);\n if (tokens) {\n const background = semanticStickerTone(tokens, variant, $onSecondaryBackground).background;\n return disabled ? withAlpha(background, tokens.Opacity65) : background;\n }\n if (disabled) {\n switch (variant) {\n case 'white':\n return Color.BackgroundLabelWhite;\n case 'blue':\n return Color.BackgroundLabelBlueDisabled;\n case 'teal':\n return Color.BackgroundLabelTealDisabled;\n case 'green':\n case 'success':\n return Color.BackgroundLabelGreenDisabled;\n case 'yellow':\n case 'caution':\n return Color.BackgroundLabelYellowDisabled;\n case 'orange':\n return Color.BackgroundLabelOrangeDisabled;\n case 'pink':\n case 'danger':\n return Color.BackgroundLabelRedDisabled;\n case 'red':\n return Color.BackgroundLabelDarkRedDisabled;\n case 'purple':\n case 'primary':\n return Color.BackgroundLabelPurpleDisabled;\n case 'darkGrey':\n return Color.BackgroundLabelDarkGreyDisabled;\n case 'basic':\n case 'grey':\n default:\n if ($onSecondaryBackground) {\n return Color.CoreSlate100;\n }\n return Color.BackgroundLabelGreyDisabled;\n }\n }\n switch (variant) {\n case 'white':\n return Color.BackgroundLabelWhiteDisabled;\n case 'blue':\n return Color.BackgroundLabelBlue;\n case 'teal':\n return Color.BackgroundLabelTeal;\n case 'green':\n case 'success':\n return Color.BackgroundLabelGreen;\n case 'yellow':\n case 'caution':\n return Color.BackgroundLabelYellow;\n case 'orange':\n return Color.BackgroundLabelOrange;\n case 'pink':\n case 'danger':\n return Color.BackgroundLabelRed;\n case 'red':\n return Color.BackgroundLabelDarkRed;\n case 'purple':\n case 'primary':\n return Color.BackgroundLabelPurple;\n case 'darkGrey':\n return Color.BackgroundLabelDarkGrey;\n case 'basic':\n default:\n if ($onSecondaryBackground) {\n return Color.CoreSlate200;\n }\n return Color.BackgroundLabelGrey;\n }\n }};\n`;\n\nexport const Sticker = ({\n variant,\n icon,\n children,\n onDismiss,\n disabled,\n dismissButtonProps,\n isRequired,\n onSecondaryBackground,\n ...props\n}: StickerProps) => {\n const hasContent = children != null;\n\n if (!hasContent) {\n const hasIcon = icon != null;\n if (!hasIcon) {\n console.warn('Sticker component requires content and/or an icon to render');\n return null;\n }\n\n if (hasIcon && !props['aria-label']) {\n console.warn('Sticker component requires an aria-label when only rendering an icon');\n }\n }\n\n return (\n <StyledSticker\n $onSecondaryBackground={onSecondaryBackground}\n variant={variant}\n disabled={disabled}\n sizeIcon={!!icon && !hasContent}\n {...props}\n >\n <StickerContainer direction='horizontal' align='center' spacing={Spacing[0]}>\n <StickerContentContainer direction='horizontal' align='center' spacing={Spacing[1]}>\n {icon && (\n <StickerIcon variant={variant} disabled={disabled}>\n {icon}\n </StickerIcon>\n )}\n {hasContent && <StyledTruncatedText>{children}</StyledTruncatedText>}\n </StickerContentContainer>\n {isRequired && (\n <RequiredAsterisk variant={variant} disabled={disabled}>\n *\n </RequiredAsterisk>\n )}\n </StickerContainer>\n\n {onDismiss && (\n <DismissButton\n variant={variant}\n disabled={disabled}\n id='sticker__dismiss-button'\n size='sm'\n onClick={onDismiss}\n aria-label='Remove'\n {...dismissButtonProps}\n >\n <XIcon />\n </DismissButton>\n )}\n </StyledSticker>\n );\n};\n\nexport default Sticker;\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { i as Variant } from "./theme-Biwx2eJZ.mjs";
2
- import { i as StackProps } from "./Stack-_JcvIE31.mjs";
3
- import { r as TruncatedTextProps } from "./TruncatedText-B1W4BivL.mjs";
1
+ import { o as Variant } from "./theme-D02MOaH6.mjs";
2
+ import { i as StackProps } from "./Stack-DgC83-nw.mjs";
3
+ import { r as TruncatedTextProps } from "./TruncatedText-B2v53Y11.mjs";
4
4
  import * as _$react from "react";
5
5
  import { ComponentPropsWithoutRef, MouseEventHandler, ReactNode } from "react";
6
6
  import * as _$styled_components0 from "styled-components";
@@ -65,4 +65,4 @@ declare const Sticker: ({
65
65
  }: StickerProps) => _$react_jsx_runtime0.JSX.Element | null;
66
66
  //#endregion
67
67
  export { StickerContentContainer as a, StickerContainer as i, STICKER_COLOR_CONFIG as n, StickerProps as o, Sticker as r, StyledTruncatedText as s, LabelBackgrounds as t };
68
- //# sourceMappingURL=Sticker-OKVOQt_C.d.mts.map
68
+ //# sourceMappingURL=Sticker-qvWkqEMw.d.mts.map
@@ -1,2 +1,2 @@
1
- import { a as StickerContentContainer, i as StickerContainer, n as STICKER_COLOR_CONFIG, o as StickerProps, r as Sticker, s as StyledTruncatedText, t as LabelBackgrounds } from "./Sticker-OKVOQt_C.mjs";
1
+ import { a as StickerContentContainer, i as StickerContainer, n as STICKER_COLOR_CONFIG, o as StickerProps, r as Sticker, s as StyledTruncatedText, t as LabelBackgrounds } from "./Sticker-qvWkqEMw.mjs";
2
2
  export { LabelBackgrounds, STICKER_COLOR_CONFIG, Sticker, Sticker as default, StickerContainer, StickerContentContainer, StickerProps, StyledTruncatedText };