@persona/design-system 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/dist/{Action-C2waxwIy.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 +8 -6
  8. package/dist/{Badge-CM2TzkdE.mjs → Badge-BtNIvtDZ.mjs} +3 -3
  9. package/dist/{Badge-CM2TzkdE.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-BEYQlGbW.mjs → Breadcrumbs-CR-xdruP.mjs} +16 -15
  14. package/dist/Breadcrumbs-CR-xdruP.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-CRFbWv3l.d.mts → Button-CTgyA3gc.d.mts} +5 -4
  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 +3 -3
  27. package/dist/{CardV2-B2wx1NE3.mjs → CardV2-CBjhsfrn.mjs} +19 -18
  28. package/dist/CardV2-CBjhsfrn.mjs.map +1 -0
  29. package/dist/{Checkbox-DwZEsi7x.mjs → Checkbox-BHZ7c7_6.mjs} +27 -23
  30. package/dist/Checkbox-BHZ7c7_6.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-CKaVX-32.mjs → Combobox-BCYLeZDP.mjs} +23 -22
  37. package/dist/Combobox-BCYLeZDP.mjs.map +1 -0
  38. package/dist/{Combobox-BQN5OwB-.d.mts → Combobox-DMN3nc7E.d.mts} +3 -3
  39. package/dist/Combobox.d.mts +2 -2
  40. package/dist/{ComboboxBase-nfHr19x-.d.mts → ComboboxBase-DBLJYQrh.d.mts} +18 -29
  41. package/dist/ComboboxBase.d.mts +1 -1
  42. package/dist/{ComboboxMultiSelect-DRNj2Mtx.d.mts → ComboboxMultiSelect-CZRLyM_y.d.mts} +2 -2
  43. package/dist/ComboboxMultiSelect.d.mts +1 -1
  44. package/dist/{ComboboxSingleSelect-BkhbEx-F.d.mts → ComboboxSingleSelect-BS6pZpU_.d.mts} +4 -4
  45. package/dist/ComboboxSingleSelect.d.mts +1 -1
  46. package/dist/{CompactBar-CyHbWTv4.d.mts → CompactBar-DEqItiZr.d.mts} +3 -3
  47. package/dist/CompactBar.d.mts +1 -1
  48. package/dist/{ConfigFormGroup-CmCRJyse.mjs → ConfigFormGroup-BnRDAs0j.mjs} +3 -3
  49. package/dist/{ConfigFormGroup-CmCRJyse.mjs.map → ConfigFormGroup-BnRDAs0j.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 +17 -6
  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-D2SfjS-N.mjs → DatePicker-BcjrAr7o.mjs} +44 -33
  57. package/dist/DatePicker-BcjrAr7o.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-dpGAmVlN.mjs → DropdownButton-l-fzkb5_.mjs} +3 -3
  64. package/dist/{DropdownButton-dpGAmVlN.mjs.map → DropdownButton-l-fzkb5_.mjs.map} +1 -1
  65. package/dist/DropdownButton.d.mts +2 -2
  66. package/dist/{DropdownMenu-RTxQ0Zu1.d.mts → DropdownMenu-Bg68vvxx.d.mts} +3 -3
  67. package/dist/{DropdownMenu-CyxizDxJ.mjs → DropdownMenu-C0WK4bM0.mjs} +3 -3
  68. package/dist/{DropdownMenu-CyxizDxJ.mjs.map → DropdownMenu-C0WK4bM0.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-DQFefbrI.mjs → FormControl-BzMbbgr0.mjs} +8 -7
  81. package/dist/FormControl-BzMbbgr0.mjs.map +1 -0
  82. package/dist/{FormControl-BMYRsFkI.d.mts → FormControl-gpLZZpNs.d.mts} +3 -3
  83. package/dist/FormControl.d.mts +1 -1
  84. package/dist/FormControlLabel.d.mts +2 -2
  85. package/dist/{FormField-C7bW-O6H.mjs → FormField-2sNS5PzN.mjs} +16 -16
  86. package/dist/{FormField-C7bW-O6H.mjs.map → FormField-2sNS5PzN.mjs.map} +1 -1
  87. package/dist/{FormField-C1DaUT5U.d.mts → FormField-CZXKvCGt.d.mts} +2 -2
  88. package/dist/FormField.d.mts +1 -1
  89. package/dist/{Header-BKk3qESS.d.mts → Header-1laYnwRP.d.mts} +2 -2
  90. package/dist/Header.d.mts +1 -1
  91. package/dist/{HelperTooltip-CD_yy7Hp.d.mts → HelperTooltip-BPJS3EwC.d.mts} +2 -2
  92. package/dist/HelperTooltip.d.mts +1 -1
  93. package/dist/{HoverCopyableField-Bgt639FR.mjs → HoverCopyableField-CeJ0UP87.mjs} +8 -8
  94. package/dist/{HoverCopyableField-Bgt639FR.mjs.map → HoverCopyableField-CeJ0UP87.mjs.map} +1 -1
  95. package/dist/{IconButton-BnSEV7eR.mjs → IconButton-CnJNIJVQ.mjs} +124 -25
  96. package/dist/IconButton-CnJNIJVQ.mjs.map +1 -0
  97. package/dist/{IconButton-Bh-JJ-0x.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-D7of_GtJ.mjs → Input-DGWThZlt.mjs} +12 -10
  103. package/dist/Input-DGWThZlt.mjs.map +1 -0
  104. package/dist/{Input-1bDdMAgO.d.mts → Input-Diztxhle.d.mts} +5 -9
  105. package/dist/Input.d.mts +1 -1
  106. package/dist/{InputProps-BBShwi8N.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-DeFHRX2T.d.mts → ListBox-Awtw7Xy_.d.mts} +3 -3
  110. package/dist/{ListBox-jzXQDraS.mjs → ListBox-DqII8giL.mjs} +37 -29
  111. package/dist/ListBox-DqII8giL.mjs.map +1 -0
  112. package/dist/ListBox.d.mts +1 -1
  113. package/dist/ListBoxField.d.mts +2 -2
  114. package/dist/{LoadingShimmer-a2Hv0kAq.mjs → LoadingShimmer-ZyzJs5Vi.mjs} +13 -5
  115. package/dist/LoadingShimmer-ZyzJs5Vi.mjs.map +1 -0
  116. package/dist/LoadingShimmer.d.mts +2 -2
  117. package/dist/{LogicRow-BOhB0uNS.d.mts → LogicRow-DIn0gLEq.d.mts} +3 -3
  118. package/dist/LogicRow.d.mts +1 -1
  119. package/dist/MaskedInput.d.mts +2 -2
  120. package/dist/MatchHighlight.d.mts +1 -1
  121. package/dist/{Menu-DVI8l-4Q.mjs → Menu-CeV3lL2g.mjs} +42 -25
  122. package/dist/Menu-CeV3lL2g.mjs.map +1 -0
  123. package/dist/{Menu-BCVhmNEe.d.mts → Menu-DdHN-drQ.d.mts} +4 -4
  124. package/dist/Menu.d.mts +1 -1
  125. package/dist/{MiddleTruncatedText-DnF7F_1D.mjs → MiddleTruncatedText-CO58jrNF.mjs} +2 -2
  126. package/dist/{MiddleTruncatedText-DnF7F_1D.mjs.map → MiddleTruncatedText-CO58jrNF.mjs.map} +1 -1
  127. package/dist/Modal.d.mts +4 -4
  128. package/dist/{PageHeader-BpGT-BM0.mjs → PageHeader-UI_6yImi.mjs} +9 -6
  129. package/dist/PageHeader-UI_6yImi.mjs.map +1 -0
  130. package/dist/PageHeader.d.mts +2 -2
  131. package/dist/PageLayout.d.mts +1 -1
  132. package/dist/{PageSelector-D6tffcGW.d.mts → PageSelector-CIa3Zts9.d.mts} +3 -3
  133. package/dist/PageSelector.d.mts +1 -1
  134. package/dist/{Pagination-BkjmybcI.d.mts → Pagination-C2eZEM7K.d.mts} +2 -2
  135. package/dist/{Pagination-CVRTcKSG.mjs → Pagination-DgA0U1fa.mjs} +9 -8
  136. package/dist/Pagination-DgA0U1fa.mjs.map +1 -0
  137. package/dist/Pagination.d.mts +1 -1
  138. package/dist/{Pii-CA7aCuYT.mjs → Pii-bxG0qu3t.mjs} +2 -2
  139. package/dist/{Pii-CA7aCuYT.mjs.map → Pii-bxG0qu3t.mjs.map} +1 -1
  140. package/dist/{PillShell-CVqpZ5iV.d.mts → PillShell-D6dN9sWk.d.mts} +2 -2
  141. package/dist/PillShell.d.mts +1 -1
  142. package/dist/{Popover-DlXyKYL5.mjs → Popover-UiOUt5up.mjs} +9 -5
  143. package/dist/Popover-UiOUt5up.mjs.map +1 -0
  144. package/dist/{PseudoClassProps-BPdn-ofQ.d.mts → PseudoClassProps-DnlHhW5u.d.mts} +1 -1
  145. package/dist/PseudoClassProps.d.mts +1 -1
  146. package/dist/{Radio-DYGEt0FT.mjs → Radio-BrQzZhwP.mjs} +22 -18
  147. package/dist/Radio-BrQzZhwP.mjs.map +1 -0
  148. package/dist/{RadioGroup-pegXtLwD.mjs → RadioGroup-Bl9oXPIo.mjs} +3 -3
  149. package/dist/{RadioGroup-pegXtLwD.mjs.map → RadioGroup-Bl9oXPIo.mjs.map} +1 -1
  150. package/dist/{RadioGroup-DYIfRj02.d.mts → RadioGroup-Dg_gydUp.d.mts} +1 -1
  151. package/dist/RadioGroup.d.mts +1 -1
  152. package/dist/RangeCalendar.d.mts +1 -1
  153. package/dist/RangeCalendarPresets.d.mts +1 -1
  154. package/dist/RuleEditorFields.d.mts +2 -2
  155. package/dist/RulesPill.d.mts +1 -1
  156. package/dist/{SearchInput-Dc90GLTF.d.mts → SearchInput-CNg109M5.d.mts} +2 -2
  157. package/dist/SearchInput.d.mts +1 -1
  158. package/dist/SectionHeading.d.mts +1 -1
  159. package/dist/{SegmentedControl-DIHonamg.d.mts → SegmentedControl-BBIHKcvo.d.mts} +1 -1
  160. package/dist/{SegmentedControl-DwbltwDQ.mjs → SegmentedControl-BozydMtT.mjs} +10 -9
  161. package/dist/SegmentedControl-BozydMtT.mjs.map +1 -0
  162. package/dist/SegmentedControl.d.mts +1 -1
  163. package/dist/{Select-CBVvPyRJ.mjs → Select-CktsIrzf.mjs} +16 -15
  164. package/dist/Select-CktsIrzf.mjs.map +1 -0
  165. package/dist/{Select-DwqWnWBi.d.mts → Select-yPqzqe5k.d.mts} +3 -3
  166. package/dist/Select.d.mts +1 -1
  167. package/dist/{Spacer-BsK8tTwA.mjs → Spacer-D58qwuXR.mjs} +2 -2
  168. package/dist/{Spacer-BsK8tTwA.mjs.map → Spacer-D58qwuXR.mjs.map} +1 -1
  169. package/dist/{Spinner-e725Rxkd.mjs → Spinner-Dpw3-3JS.mjs} +6 -8
  170. package/dist/Spinner-Dpw3-3JS.mjs.map +1 -0
  171. package/dist/{Stack-Bre2oiov.mjs → Stack-BqQndGI9.mjs} +2 -2
  172. package/dist/{Stack-Bre2oiov.mjs.map → Stack-BqQndGI9.mjs.map} +1 -1
  173. package/dist/{Stack-6eOrxjJi.d.mts → Stack-DgC83-nw.d.mts} +2 -2
  174. package/dist/Stack.d.mts +1 -1
  175. package/dist/{Sticker-By3F8Aip.mjs → Sticker-BDyejPZa.mjs} +159 -14
  176. package/dist/Sticker-BDyejPZa.mjs.map +1 -0
  177. package/dist/{Sticker-Ep6N4Exq.d.mts → Sticker-qvWkqEMw.d.mts} +5 -5
  178. package/dist/Sticker.d.mts +1 -1
  179. package/dist/StringValueControl.d.mts +1 -1
  180. package/dist/Tab.d.mts +3 -4
  181. package/dist/{TabBar-CWF65Tv4.mjs → TabBar-Dw3xE_B-.mjs} +17 -16
  182. package/dist/TabBar-Dw3xE_B-.mjs.map +1 -0
  183. package/dist/TabBarIconButton.d.mts +1 -5
  184. package/dist/{Table-BOcWdwpv.d.mts → Table-CPvIH27_.d.mts} +1 -1
  185. package/dist/{Table-nWd5ZVbm.mjs → Table-ELLvSvH4.mjs} +86 -39
  186. package/dist/Table-ELLvSvH4.mjs.map +1 -0
  187. package/dist/Table.d.mts +1 -1
  188. package/dist/{TableBody-BFPFaZnD.d.mts → TableBody-CQYijW_3.d.mts} +1 -1
  189. package/dist/TableBody.d.mts +1 -1
  190. package/dist/{TableBox-Bd-H5oyh.mjs → TableBox-CCfha6G2.mjs} +57 -47
  191. package/dist/TableBox-CCfha6G2.mjs.map +1 -0
  192. package/dist/TableBox.d.mts +2 -2
  193. package/dist/{TableBoxCell-Cjlc_xJz.d.mts → TableBoxCell-xnzuHPV1.d.mts} +7 -7
  194. package/dist/TableBoxCell.d.mts +1 -1
  195. package/dist/TableBoxField.d.mts +3 -3
  196. package/dist/{TableBoxRow-CKDjNUsU.d.mts → TableBoxRow-BBDMh5xl.d.mts} +3 -3
  197. package/dist/TableBoxRow.d.mts +1 -1
  198. package/dist/{TableBoxRowActions-BJ8ue3Bk.d.mts → TableBoxRowActions-DCfol4GC.d.mts} +2 -2
  199. package/dist/TableBoxRowActions.d.mts +1 -1
  200. package/dist/{index-CvBvfQAY.d.mts → TableCell-BQv4ASkE.d.mts} +5 -26
  201. package/dist/TableCell.d.mts +1 -1
  202. package/dist/{TableControls-BnesnTue.mjs → TableControls-C-yb5EYU.mjs} +76 -64
  203. package/dist/TableControls-C-yb5EYU.mjs.map +1 -0
  204. package/dist/{TableControls-D8xMNgyS.d.mts → TableControls-CtEL3ioz.d.mts} +3 -3
  205. package/dist/TableControls.d.mts +1 -1
  206. package/dist/{TableControlsContext-ChFsFEjR.d.mts → TableControlsContext-X-Lupvc6.d.mts} +2 -2
  207. package/dist/TableControlsContext.d.mts +1 -1
  208. package/dist/{TableHead-CWDxuy5V.d.mts → TableHead-DLLn0zoP.d.mts} +1 -1
  209. package/dist/TableHead.d.mts +1 -1
  210. package/dist/{TableHeaderCell-C_sIU1d7.d.mts → TableHeaderCell-DiJ2jyw4.d.mts} +3 -1
  211. package/dist/TableHeaderCell.d.mts +1 -1
  212. package/dist/{TableLayout-CgGhKU_A.d.mts → TableLayout-BgnUz8NO.d.mts} +1 -1
  213. package/dist/TableLayout.d.mts +1 -1
  214. package/dist/{TableRow-B1UKlbze.d.mts → TableRow-Dgg8hGy5.d.mts} +2 -2
  215. package/dist/TableRow.d.mts +1 -1
  216. package/dist/TableTH.d.mts +1 -1
  217. package/dist/{TableViewConfigurationDropdown-BqB7pOh8.d.mts → TableViewConfigurationDropdown-DRxd562-.d.mts} +2 -2
  218. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  219. package/dist/{TechnicalSticker-Ct2WnNzJ.mjs → TechnicalSticker-CLbNA0kp.mjs} +27 -22
  220. package/dist/TechnicalSticker-CLbNA0kp.mjs.map +1 -0
  221. package/dist/{Text-B0orb-cZ.mjs → Text-Dn_p7ZvT.mjs} +16 -12
  222. package/dist/Text-Dn_p7ZvT.mjs.map +1 -0
  223. package/dist/{Text-BzzUdBdc.d.mts → Text-tgFz40XD.d.mts} +4 -4
  224. package/dist/Text.d.mts +1 -1
  225. package/dist/{TextArea-CGpY5xqX.d.mts → TextArea-BxxXQSwP.d.mts} +2 -2
  226. package/dist/{TextArea-CospIXEO.mjs → TextArea-oAK1DKId.mjs} +3 -3
  227. package/dist/{TextArea-CospIXEO.mjs.map → TextArea-oAK1DKId.mjs.map} +1 -1
  228. package/dist/TextArea.d.mts +1 -1
  229. package/dist/{TextUnderlineTooltip-DZYGjJq1.d.mts → TextUnderlineTooltip-DQVYsLqM.d.mts} +3 -3
  230. package/dist/TextUnderlineTooltip.d.mts +1 -1
  231. package/dist/Tile.d.mts +1 -1
  232. package/dist/Toast.d.mts +1 -1
  233. package/dist/{Toggle-BjAivdyX.d.mts → Toggle-BmUl78kH.d.mts} +1 -1
  234. package/dist/{Toggle-Do5z1VcO.mjs → Toggle-DZzirZ8p.mjs} +20 -11
  235. package/dist/Toggle-DZzirZ8p.mjs.map +1 -0
  236. package/dist/Toggle.d.mts +1 -1
  237. package/dist/{Tooltip-DSKGD33G.mjs → Tooltip-BsuYG0fw.mjs} +12 -9
  238. package/dist/Tooltip-BsuYG0fw.mjs.map +1 -0
  239. package/dist/{Tooltip-n3XkX4dp.d.mts → Tooltip-eSaiYjxT.d.mts} +3 -3
  240. package/dist/Tooltip.d.mts +1 -1
  241. package/dist/{TruncatedText-C-MJPIRi.d.mts → TruncatedText-B2v53Y11.d.mts} +2 -2
  242. package/dist/{codec-B0dZTwlG.d.mts → codec-D5qlDVgU.d.mts} +2 -2
  243. package/dist/codec.d.mts +1 -1
  244. package/dist/color-fQTsW4gq.d.mts +20 -0
  245. package/dist/components/Attribute/index.mjs +34 -9
  246. package/dist/components/Attribute/index.mjs.map +1 -1
  247. package/dist/components/Badge/index.mjs +1 -1
  248. package/dist/components/Banner/index.mjs +19 -8
  249. package/dist/components/Banner/index.mjs.map +1 -1
  250. package/dist/components/BottomPanel/index.mjs +4 -4
  251. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  252. package/dist/components/Breadcrumbs/index.mjs +1 -1
  253. package/dist/components/Button/index.d.mts +2 -2
  254. package/dist/components/Button/index.mjs +1 -1
  255. package/dist/components/ButtonGroup/index.mjs +13 -5
  256. package/dist/components/ButtonGroup/index.mjs.map +1 -1
  257. package/dist/components/Card/index.d.mts +2 -2
  258. package/dist/components/Card/index.mjs +1 -1
  259. package/dist/components/CardV2/index.d.mts +1 -1
  260. package/dist/components/CardV2/index.mjs +1 -1
  261. package/dist/components/Checkbox/index.d.mts +1 -1
  262. package/dist/components/Checkbox/index.mjs +1 -1
  263. package/dist/components/CodeHighlight/PrismWithLanguages.d.mts +2 -0
  264. package/dist/components/CodeHighlight/PrismWithLanguages.mjs +48 -0
  265. package/dist/components/CodeHighlight/PrismWithLanguages.mjs.map +1 -0
  266. package/dist/components/CodeHighlight/index.d.mts +2 -0
  267. package/dist/components/CodeHighlight/index.mjs +381 -0
  268. package/dist/components/CodeHighlight/index.mjs.map +1 -0
  269. package/dist/components/Combobox/index.d.mts +2 -2
  270. package/dist/components/Combobox/index.mjs +1 -1
  271. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  272. package/dist/components/DataTable/TableControls/index.d.mts +19 -19
  273. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  274. package/dist/components/DataTable/index.mjs +84 -44
  275. package/dist/components/DataTable/index.mjs.map +1 -1
  276. package/dist/components/DataTable/types.d.mts +2 -2
  277. package/dist/components/DatePicker/index.d.mts +4 -4
  278. package/dist/components/DatePicker/index.mjs +1 -1
  279. package/dist/components/DropdownButton/index.mjs +1 -1
  280. package/dist/components/DropdownMenu/index.d.mts +1 -1
  281. package/dist/components/DropdownMenu/index.mjs +1 -1
  282. package/dist/components/FloatingPanel/index.mjs +5 -5
  283. package/dist/components/FormControl/index.d.mts +2 -2
  284. package/dist/components/FormControl/index.mjs +2 -2
  285. package/dist/components/FormField/index.d.mts +1 -1
  286. package/dist/components/FormField/index.mjs +1 -1
  287. package/dist/components/Grid/index.mjs +1 -1
  288. package/dist/components/HoverCopyableField/index.mjs +1 -1
  289. package/dist/components/ImageTile/index.mjs +18 -17
  290. package/dist/components/ImageTile/index.mjs.map +1 -1
  291. package/dist/components/Input/index.d.mts +1 -1
  292. package/dist/components/Input/index.mjs +1 -1
  293. package/dist/components/Link/index.mjs +7 -8
  294. package/dist/components/Link/index.mjs.map +1 -1
  295. package/dist/components/ListBox/index.d.mts +3 -3
  296. package/dist/components/ListBox/index.mjs +1 -1
  297. package/dist/components/LoadingShimmer/index.mjs +1 -1
  298. package/dist/components/MaskedInput/index.mjs +1 -1
  299. package/dist/components/MatchHighlight/index.mjs +6 -4
  300. package/dist/components/MatchHighlight/index.mjs.map +1 -1
  301. package/dist/components/Menu/index.d.mts +1 -1
  302. package/dist/components/Menu/index.mjs +1 -1
  303. package/dist/components/Modal/index.mjs +12 -72
  304. package/dist/components/Modal/index.mjs.map +1 -1
  305. package/dist/components/PageHeader/index.mjs +1 -1
  306. package/dist/components/Pagination/index.d.mts +3 -3
  307. package/dist/components/Pagination/index.mjs +1 -1
  308. package/dist/components/Pii/index.mjs +1 -1
  309. package/dist/components/Popover/index.mjs +1 -1
  310. package/dist/components/ProgressBar/index.mjs +16 -19
  311. package/dist/components/ProgressBar/index.mjs.map +1 -1
  312. package/dist/components/ProgressIndicator/index.mjs +25 -19
  313. package/dist/components/ProgressIndicator/index.mjs.map +1 -1
  314. package/dist/components/Radio/index.mjs +1 -1
  315. package/dist/components/RadioGroup/index.d.mts +1 -1
  316. package/dist/components/RadioGroup/index.mjs +1 -1
  317. package/dist/components/RightPanel/index.mjs +5 -5
  318. package/dist/components/SegmentedControl/index.d.mts +1 -1
  319. package/dist/components/SegmentedControl/index.mjs +1 -1
  320. package/dist/components/Select/index.d.mts +1 -1
  321. package/dist/components/Select/index.mjs +1 -1
  322. package/dist/components/Slider/index.mjs +21 -12
  323. package/dist/components/Slider/index.mjs.map +1 -1
  324. package/dist/components/SmartTextInput/PillType.d.mts +10 -0
  325. package/dist/components/SmartTextInput/PillType.mjs +31 -0
  326. package/dist/components/SmartTextInput/PillType.mjs.map +1 -0
  327. package/dist/components/SmartTextInput/parser/method-chain/grammar.pegjs +219 -0
  328. package/dist/components/SmartTextInput/parser/method-chain/parser.d.mts +21 -0
  329. package/dist/components/SmartTextInput/parser/method-chain/parser.mjs +2 -0
  330. package/dist/components/SmartTextInput/parser/method-chain/types.d.mts +105 -0
  331. package/dist/components/SmartTextInput/parser/method-chain/types.mjs +31 -0
  332. package/dist/components/SmartTextInput/parser/method-chain/types.mjs.map +1 -0
  333. package/dist/components/SmartTextInput/parser/smart-text/grammar.pegjs +154 -0
  334. package/dist/components/SmartTextInput/parser/smart-text/parser.d.mts +17 -0
  335. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs +814 -0
  336. package/dist/components/SmartTextInput/parser/smart-text/parser.mjs.map +1 -0
  337. package/dist/components/SmartTextInput/parser/smart-text/types.d.mts +72 -0
  338. package/dist/components/SmartTextInput/parser/smart-text/types.mjs +38 -0
  339. package/dist/components/SmartTextInput/parser/smart-text/types.mjs.map +1 -0
  340. package/dist/components/Spacer/index.mjs +1 -1
  341. package/dist/components/Spinner/index.mjs +1 -1
  342. package/dist/components/Stack/index.d.mts +1 -1
  343. package/dist/components/Stack/index.mjs +1 -1
  344. package/dist/components/StatusIndicator/index.mjs +112 -13
  345. package/dist/components/StatusIndicator/index.mjs.map +1 -1
  346. package/dist/components/Sticker/index.d.mts +1 -1
  347. package/dist/components/Sticker/index.mjs +1 -1
  348. package/dist/components/SwatchPicker/index.mjs +5 -4
  349. package/dist/components/SwatchPicker/index.mjs.map +1 -1
  350. package/dist/components/TabBar/index.mjs +1 -1
  351. package/dist/components/Table/index.d.mts +8 -7
  352. package/dist/components/Table/index.mjs +1 -1
  353. package/dist/components/TableBox/index.d.mts +2 -2
  354. package/dist/components/TableBox/index.mjs +1 -1
  355. package/dist/components/TechnicalSticker/index.mjs +1 -1
  356. package/dist/components/Text/index.d.mts +1 -1
  357. package/dist/components/Text/index.mjs +1 -1
  358. package/dist/components/TextArea/index.d.mts +1 -1
  359. package/dist/components/TextArea/index.mjs +1 -1
  360. package/dist/components/Tile/index.mjs +9 -8
  361. package/dist/components/Tile/index.mjs.map +1 -1
  362. package/dist/components/Toast/index.mjs +18 -12
  363. package/dist/components/Toast/index.mjs.map +1 -1
  364. package/dist/components/Toggle/index.d.mts +1 -1
  365. package/dist/components/Toggle/index.mjs +1 -1
  366. package/dist/components/Tooltip/index.d.mts +3 -3
  367. package/dist/components/Tooltip/index.mjs +1 -1
  368. package/dist/compound-expression.d.mts +1 -1
  369. package/dist/{constants-Bs94Jw4y.d.mts → constants-zZyl7QbX.d.mts} +1 -1
  370. package/dist/constants.d.mts +1 -1
  371. package/dist/{date-filter-BbWgAXy3.mjs → date-filter-DMZnJwGs.mjs} +1 -1
  372. package/dist/{date-filter-BbWgAXy3.mjs.map → date-filter-DMZnJwGs.mjs.map} +1 -1
  373. package/dist/{date-range-rule-value-DBEEWTQp.d.mts → date-range-rule-value-zJaa_jR9.d.mts} +2 -2
  374. package/dist/date-range-rule-value.d.mts +1 -1
  375. package/dist/{date-rule-intent-BArNGT2E.d.mts → date-rule-intent-CdWv68my.d.mts} +3 -3
  376. package/dist/date-rule-intent.d.mts +1 -1
  377. package/dist/display.d.mts +1 -1
  378. package/dist/fieldPickerOptions.d.mts +2 -2
  379. package/dist/fieldSchemaTypes-COEJOqYL.d.mts +39 -0
  380. package/dist/{filter-size-context-D1UhTwOG.d.mts → filter-size-context-DYkfYMkX.d.mts} +2 -2
  381. package/dist/filter-size-context.d.mts +1 -1
  382. package/dist/helpers.d.mts +1 -1
  383. package/dist/{index-DASkW991.d.mts → index-BX8dSNcy.d.mts} +2 -2
  384. package/dist/{index-I_Cy3X5R.d.mts → index-CBWvk6Ch.d.mts} +3 -3
  385. package/dist/index-DxIXll2Z.d.mts +21 -0
  386. package/dist/index.d.mts +1 -1
  387. package/dist/index2.d.mts +1 -1
  388. package/dist/index3.d.mts +3 -3
  389. package/dist/index4.d.mts +1 -1
  390. package/dist/index5.d.mts +14 -14
  391. package/dist/{input-M7BEIewR.d.mts → input-DN_8iHVD.d.mts} +3 -3
  392. package/dist/inputFields.d.mts +10 -10
  393. package/dist/{intersperse-CRUnXmnu.mjs → intersperse-vOYvFOfF.mjs} +1 -1
  394. package/dist/{intersperse-CRUnXmnu.mjs.map → intersperse-vOYvFOfF.mjs.map} +1 -1
  395. package/dist/jsonSchema-B1VonQij.d.mts +222 -0
  396. package/dist/lib/GlobalStyles.mjs +1 -1
  397. package/dist/lib/HeadlessAriaButton.d.mts +1 -2
  398. package/dist/lib/HeadlessAriaButton.mjs +1 -1
  399. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  400. package/dist/lib/PDSProvider.d.mts +1 -1
  401. package/dist/lib/PDSProvider.mjs +1 -1
  402. package/dist/lib/TruncatedText.d.mts +1 -1
  403. package/dist/lib/TruncatedText.mjs +1 -1
  404. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  405. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  406. package/dist/lib/color.d.mts +2 -0
  407. package/dist/lib/color.mjs +21 -0
  408. package/dist/lib/color.mjs.map +1 -0
  409. package/dist/lib/date-filter/index.d.mts +2 -2
  410. package/dist/lib/date-filter/index.mjs +1 -1
  411. package/dist/lib/errorReporter.d.mts +7 -0
  412. package/dist/lib/errorReporter.mjs +15 -0
  413. package/dist/lib/errorReporter.mjs.map +1 -0
  414. package/dist/lib/fieldSchemaTypes.d.mts +2 -0
  415. package/dist/lib/fieldSchemaTypes.mjs +41 -0
  416. package/dist/lib/fieldSchemaTypes.mjs.map +1 -0
  417. package/dist/lib/jsonSchema.d.mts +2 -0
  418. package/dist/lib/jsonSchema.mjs +260 -0
  419. package/dist/lib/jsonSchema.mjs.map +1 -0
  420. package/dist/lib/message.d.mts +1 -1
  421. package/dist/lib/methodChain.d.mts +66 -0
  422. package/dist/lib/methodChain.mjs +239 -0
  423. package/dist/lib/methodChain.mjs.map +1 -0
  424. package/dist/lib/methodChainNormalize.d.mts +14 -0
  425. package/dist/lib/methodChainNormalize.mjs +53 -0
  426. package/dist/lib/methodChainNormalize.mjs.map +1 -0
  427. package/dist/lib/methodChainTypes.d.mts +23 -0
  428. package/dist/lib/methodChainTypes.mjs +0 -0
  429. package/dist/lib/objectSchemaTypes.d.mts +2 -0
  430. package/dist/lib/objectSchemaTypes.mjs +0 -0
  431. package/dist/lib/pseudoClass.d.mts +1 -1
  432. package/dist/lib/selectHelper.mjs.map +1 -1
  433. package/dist/lib/semanticColor.d.mts +2 -0
  434. package/dist/lib/semanticColor.mjs +17 -0
  435. package/dist/lib/semanticColor.mjs.map +1 -0
  436. package/dist/lib/useControlled.mjs.map +1 -1
  437. package/dist/lib/useModalInsetRight.mjs +69 -0
  438. package/dist/lib/useModalInsetRight.mjs.map +1 -0
  439. package/dist/{message-CyxgAWZl.d.mts → message-DfEpU8lV.d.mts} +1 -1
  440. package/dist/mixins/focus.d.mts +4 -4
  441. package/dist/mixins/focus.mjs +7 -5
  442. package/dist/mixins/focus.mjs.map +1 -1
  443. package/dist/mixins/hoverable.d.mts +2 -2
  444. package/dist/mixins/hoverable.mjs +2 -2
  445. package/dist/mixins/input.d.mts +1 -1
  446. package/dist/mixins/input.mjs +56 -23
  447. package/dist/mixins/input.mjs.map +1 -1
  448. package/dist/mixins/menuItem.d.mts +2 -2
  449. package/dist/mixins/menuItem.mjs +78 -50
  450. package/dist/mixins/menuItem.mjs.map +1 -1
  451. package/dist/mixins/print/index.mjs +4 -2
  452. package/dist/mixins/print/index.mjs.map +1 -1
  453. package/dist/mixins/text.d.mts +1 -1
  454. package/dist/mixins/text.mjs +1 -1
  455. package/dist/{operators-CXkmvFpP.d.mts → operators-F8X0hyQB.d.mts} +2 -2
  456. package/dist/operators.d.mts +1 -1
  457. package/dist/palette-BANY1Xfs.d.mts +21 -0
  458. package/dist/palette.d.mts +2 -0
  459. package/dist/parser-Kxos6siN.mjs +2156 -0
  460. package/dist/parser-Kxos6siN.mjs.map +1 -0
  461. package/dist/patterns/LayoutLoadingShimmer/index.mjs +6 -6
  462. package/dist/patterns/LayoutLoadingSpinner/index.mjs +1 -1
  463. package/dist/patterns/PageLayout/index.mjs +1 -1
  464. package/dist/relative-date-label.d.mts +1 -1
  465. package/dist/semantic-Dy7mTyBP.d.mts +133 -0
  466. package/dist/semanticColor-DkVQjcbc.d.mts +29 -0
  467. package/dist/{styledComponentsInterop-8zScIQyC.mjs → styledComponentsInterop-NxwFjeA4.mjs} +2 -2
  468. package/dist/{styledComponentsInterop-8zScIQyC.mjs.map → styledComponentsInterop-NxwFjeA4.mjs.map} +1 -1
  469. package/dist/{text-DjTGRUM1.d.mts → text-BaQdW8qa.d.mts} +1 -1
  470. package/dist/{theme-Biwx2eJZ.d.mts → theme-D02MOaH6.d.mts} +22 -5
  471. package/dist/theme.d.mts +2 -2
  472. package/dist/theme.mjs +22 -1
  473. package/dist/theme.mjs.map +1 -1
  474. package/dist/tone.d.mts +17 -0
  475. package/dist/{types-V8UJX-rk.d.mts → types-1_JSe9Wr.d.mts} +2 -2
  476. package/dist/{types-DBBfOCX1.d.mts → types-C2s9yhgO.d.mts} +2 -2
  477. package/dist/{types-Bsf1VsW6.d.mts → types-COeginAF.d.mts} +1 -1
  478. package/dist/{types-Df0D37uh.d.mts → types-CtLY82w5.d.mts} +1 -1
  479. package/dist/{types-Ds43XULD.d.mts → types-Ok2lRZeu.d.mts} +1 -1
  480. package/dist/types.d.mts +1 -1
  481. package/dist/types2.d.mts +1 -1
  482. package/dist/types3.d.mts +1 -1
  483. package/dist/types4.d.mts +1 -1
  484. package/dist/types5.d.mts +1 -1
  485. package/dist/{url-state-M64mdtQ2.d.mts → url-state-DP78aDol.d.mts} +2 -2
  486. package/dist/url-state.d.mts +1 -1
  487. package/dist/useComboboxFooterAction.d.mts +1 -1
  488. package/dist/{useFilterStateV2-gALqONXf.d.mts → useFilterStateV2-DC2rGXHK.d.mts} +3 -3
  489. package/dist/useFilterStateV2.d.mts +1 -1
  490. package/dist/{useFormField-Bo7oHMof.d.mts → useFormField--_14te0K.d.mts} +2 -2
  491. package/dist/{useFormField-C-K1lgmv.mjs → useFormField-DhYd6bNn.mjs} +2 -2
  492. package/dist/{useFormField-C-K1lgmv.mjs.map → useFormField-DhYd6bNn.mjs.map} +1 -1
  493. package/dist/useFormField.d.mts +1 -1
  494. package/dist/{useFormGroup-y-duFylq.mjs → useFormGroup-DWVW7A9f.mjs} +1 -1
  495. package/dist/{useFormGroup-y-duFylq.mjs.map → useFormGroup-DWVW7A9f.mjs.map} +1 -1
  496. package/dist/{useTableBoxDragAndDrop-BrJFRSaG.d.mts → useTableBoxDragAndDrop-DkCxC7Mi.d.mts} +1 -1
  497. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  498. package/dist/{useToggle-Bo3yd14Y.mjs → useToggle-0zLL1E7s.mjs} +1 -1
  499. package/dist/{useToggle-Bo3yd14Y.mjs.map → useToggle-0zLL1E7s.mjs.map} +1 -1
  500. package/dist/useTruncation.d.mts +1 -1
  501. package/dist/{utilities-BHMNnJ8h.d.mts → utilities-C1hOxjt_.d.mts} +1 -1
  502. package/dist/utilities.d.mts +1 -1
  503. package/dist/utils/storybook.mjs +1 -1
  504. package/dist/utils/storybook.mjs.map +1 -1
  505. package/dist/utils/testing.mjs.map +1 -1
  506. package/dist/utils.d.mts +1 -1
  507. package/dist/{validation-BCBIvN6H.d.mts → validation-CpDsI-TM.d.mts} +3 -3
  508. package/dist/validation.d.mts +1 -1
  509. package/dist/{value-control-resolver-qKTH1ErF.d.mts → value-control-resolver-DhaqxKmK.d.mts} +2 -2
  510. package/dist/value-control-resolver.d.mts +1 -1
  511. package/dist/variables/effect.d.mts +14 -3
  512. package/dist/variables/effect.mjs +5 -3
  513. package/dist/variables/effect.mjs.map +1 -1
  514. package/dist/variables/keyframes.mjs +1 -1
  515. package/dist/variables/semantic.d.mts +2 -0
  516. package/dist/variables/semantic.mjs +241 -0
  517. package/dist/variables/semantic.mjs.map +1 -0
  518. package/llms.txt +1 -0
  519. package/package.json +70 -7
  520. package/skills/design-system-component-authoring/SKILL.md +79 -0
  521. package/skills/design-system-component-authoring/clarifying-scope.md +18 -0
  522. package/skills/design-system-component-authoring/component-conventions.md +70 -0
  523. package/skills/design-system-component-authoring/prop-interface-patterns.md +30 -0
  524. package/skills/ui-authoring/COMPONENTS.md +1 -1
  525. package/skills/ui-authoring/TOKENS.md +1 -1
  526. package/dist/Breadcrumbs-BEYQlGbW.mjs.map +0 -1
  527. package/dist/Card-BoGV5tY2.d.mts +0 -52
  528. package/dist/Card-CKrJtn1f.mjs.map +0 -1
  529. package/dist/CardV2-B2wx1NE3.mjs.map +0 -1
  530. package/dist/Checkbox-DwZEsi7x.mjs.map +0 -1
  531. package/dist/Combobox-CKaVX-32.mjs.map +0 -1
  532. package/dist/DatePicker-D2SfjS-N.mjs.map +0 -1
  533. package/dist/FormControl-DQFefbrI.mjs.map +0 -1
  534. package/dist/IconButton-BnSEV7eR.mjs.map +0 -1
  535. package/dist/Input-D7of_GtJ.mjs.map +0 -1
  536. package/dist/ListBox-jzXQDraS.mjs.map +0 -1
  537. package/dist/LoadingShimmer-a2Hv0kAq.mjs.map +0 -1
  538. package/dist/Menu-DVI8l-4Q.mjs.map +0 -1
  539. package/dist/PageHeader-BpGT-BM0.mjs.map +0 -1
  540. package/dist/Pagination-CVRTcKSG.mjs.map +0 -1
  541. package/dist/Popover-DlXyKYL5.mjs.map +0 -1
  542. package/dist/Radio-DYGEt0FT.mjs.map +0 -1
  543. package/dist/SegmentedControl-DwbltwDQ.mjs.map +0 -1
  544. package/dist/Select-CBVvPyRJ.mjs.map +0 -1
  545. package/dist/Spinner-e725Rxkd.mjs.map +0 -1
  546. package/dist/Sticker-By3F8Aip.mjs.map +0 -1
  547. package/dist/TabBar-CWF65Tv4.mjs.map +0 -1
  548. package/dist/Table-nWd5ZVbm.mjs.map +0 -1
  549. package/dist/TableBox-Bd-H5oyh.mjs.map +0 -1
  550. package/dist/TableControls-BnesnTue.mjs.map +0 -1
  551. package/dist/TechnicalSticker-Ct2WnNzJ.mjs.map +0 -1
  552. package/dist/Text-B0orb-cZ.mjs.map +0 -1
  553. package/dist/Toggle-Do5z1VcO.mjs.map +0 -1
  554. package/dist/Tooltip-DSKGD33G.mjs.map +0 -1
  555. /package/dist/{index-8SLBz2NH.d.mts → index-1-AkepUA.d.mts} +0 -0
  556. /package/dist/{index-Bt4QNofW.d.mts → index-BFnNtGdX.d.mts} +0 -0
  557. /package/dist/{index-BwAfCVZH2.d.mts → index-BO_854F2.d.mts} +0 -0
  558. /package/dist/{index-BwFl_eS0.d.mts → index-BPiqSRRl.d.mts} +0 -0
  559. /package/dist/{index-CCKHlTA4.d.mts → index-BSVhZrWN.d.mts} +0 -0
  560. /package/dist/{index-CDGG7lCB.d.mts → index-BYd3Btr1.d.mts} +0 -0
  561. /package/dist/{index-CRo77wc3.d.mts → index-B_BBnMou.d.mts} +0 -0
  562. /package/dist/{index-CX869wwk.d.mts → index-BrGZHEgX.d.mts} +0 -0
  563. /package/dist/{index-D13oYj4_.d.mts → index-Ci-uuV07.d.mts} +0 -0
  564. /package/dist/{index-D4DUvwPf.d.mts → index-CknANNvQ2.d.mts} +0 -0
  565. /package/dist/{index-D7UbuJwP.d.mts → index-CtJuGxUp.d.mts} +0 -0
  566. /package/dist/{index-DA6_cwf8.d.mts → index-CuYZJcK3.d.mts} +0 -0
  567. /package/dist/{index-DMRtRo7y.d.mts → index-DWfPppPU.d.mts} +0 -0
  568. /package/dist/{index-Dflz2i1X.d.mts → index-DYX_PQ7T2.d.mts} +0 -0
  569. /package/dist/{index-DvmLVvRD.d.mts → index-DZlqSwCF.d.mts} +0 -0
  570. /package/dist/{index-Es5nKSSL.d.mts → index-De7MV8-j.d.mts} +0 -0
  571. /package/dist/{index-Wc1llEvP.d.mts → index-Deol7ZWO.d.mts} +0 -0
  572. /package/dist/{index-dhjtMp5F.d.mts → index-N-OgGgfF.d.mts} +0 -0
  573. /package/dist/{index-e6k85DKM.d.mts → index-VWno75SQ.d.mts} +0 -0
  574. /package/dist/{index-ehD5GjMH.d.mts → index-hcx6LMSC.d.mts} +0 -0
  575. /package/dist/{useModalInsetRight.d.mts → lib/useModalInsetRight.d.mts} +0 -0
@@ -1,8 +1,9 @@
1
- import { a as styled } from "./styledComponentsInterop-8zScIQyC.mjs";
2
- import "./variables/transitions.mjs";
1
+ import { a as styled, o as useTheme } from "./styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { semanticColor, semanticOnly } from "./lib/semanticColor.mjs";
3
3
  import { paragraphMixins } from "./mixins/text.mjs";
4
- import { t as Card_default } from "./Card-CKrJtn1f.mjs";
4
+ import { t as Card_default } from "./Card-vQIPtdXi.mjs";
5
5
  import { fadeIn } from "./variables/keyframes.mjs";
6
+ import "./variables/transitions.mjs";
6
7
  import { Color, Spacing } from "@persona/design-tokens";
7
8
  import { Children, cloneElement } from "react";
8
9
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -23,14 +24,15 @@ const FloatingTooltip = styled(Card_default)`
23
24
  z-index: ${({ zIndex }) => zIndex};
24
25
  margin: 0;
25
26
  max-width: ${({ maxWidth }) => maxWidth || "250px"};
26
- color: ${Color.TextPrimary};
27
+ ${semanticOnly((tokens) => `background-color: ${tokens.SurfaceElevated};`)}
28
+ color: ${({ theme }) => semanticColor(theme, "FgPrimary", Color.TextPrimary)};
27
29
  `;
28
30
  const TooltipArrow = styled.div`
29
31
  width: 0;
30
32
  height: 0;
31
- border-color: ${({ theme }) => theme.color.background.primary};
33
+ border-color: ${({ theme }) => semanticColor(theme, "SurfaceElevated", theme.color.background.primary)};
32
34
  border-left: 8px solid transparent;
33
- border-top: 8px solid ${({ theme }) => theme.color.background.primary};
35
+ border-top: 8px solid ${({ theme }) => semanticColor(theme, "SurfaceElevated", theme.color.background.primary)};
34
36
  border-right: 8px solid transparent;
35
37
  `;
36
38
  const TooltipIcon = styled.div`
@@ -90,9 +92,10 @@ const Tooltip = ({ trigger: triggerProp, iconTrigger, side = "bottom", hideArrow
90
92
  * Helper component for rendering help text via help icons.
91
93
  */
92
94
  const HelperTooltip = ({ children, size = "md", ...props }) => {
95
+ const iconColor = semanticColor(useTheme(), "FgSecondary", Color.BorderIconSecondary);
93
96
  return /* @__PURE__ */ jsx(Tooltip, {
94
97
  size,
95
- iconTrigger: size === "md" ? /* @__PURE__ */ jsx(CircleHelpIcon, { color: Color.BorderIconSecondary }) : /* @__PURE__ */ jsx(CircleHelpIcon$1, { color: Color.BorderIconSecondary }),
98
+ iconTrigger: size === "md" ? /* @__PURE__ */ jsx(CircleHelpIcon, { color: iconColor }) : /* @__PURE__ */ jsx(CircleHelpIcon$1, { color: iconColor }),
96
99
  ...props,
97
100
  children
98
101
  });
@@ -102,7 +105,7 @@ const HelperTooltip = ({ children, size = "md", ...props }) => {
102
105
  const TextWithDashedUnderline = styled.span`
103
106
  text-decoration: underline;
104
107
  text-decoration-style: dashed;
105
- text-decoration-color: ${Color.CoreSlate700};
108
+ text-decoration-color: ${({ theme }) => semanticColor(theme, "FgTertiary", Color.CoreSlate700)};
106
109
  text-underline-offset: 2px;
107
110
  text-decoration-thickness: 1px;
108
111
  width: fit-content;
@@ -117,4 +120,4 @@ const TextUnderlineTooltip = ({ children, tooltip, ...props }) => {
117
120
  //#endregion
118
121
  export { Tooltip as a, FloatingTooltip as i, TextWithDashedUnderline as n, HelperTooltip as r, TextUnderlineTooltip as t };
119
122
 
120
- //# sourceMappingURL=Tooltip-DSKGD33G.mjs.map
123
+ //# sourceMappingURL=Tooltip-BsuYG0fw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip-BsuYG0fw.mjs","names":["Card","CircleHelpIconSmall"],"sources":["../components/Tooltip/Tooltip.tsx","../components/Tooltip/HelperTooltip.tsx","../components/Tooltip/TextUnderlineTooltip.tsx"],"sourcesContent":["import * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport {\n Children,\n cloneElement,\n type ComponentPropsWithoutRef,\n type ComponentType,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport styled, { type DefaultTheme, type StyledComponent } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport Card, { type CardProps } from 'design-system/components/Card';\nimport { semanticColor, semanticOnly } from 'design-system/lib/semanticColor';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { fadeIn } from 'design-system/variables/keyframes';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ninterface FloatingTooltipProps extends CardProps {\n zIndex?: number;\n contentAlignment: 'start' | 'center' | 'end';\n maxWidth?: string;\n size?: 'sm' | 'md';\n}\n\nexport const FloatingTooltip: StyledComponent<\n ComponentType<ComponentPropsWithoutRef<typeof Card>>,\n DefaultTheme,\n FloatingTooltipProps\n> = styled(Card)<FloatingTooltipProps>`\n ${({ size = 'md' }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n line-height: ${({ size = 'md' }) => (size === 'sm' ? '16px' : '20px')};\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n display: flex;\n align-items: ${({ contentAlignment }) => contentAlignment || 'center'};\n justify-content: center;\n padding: 6px ${Spacing[2]};\n animation: ${fadeIn} ${TransitionDuration.Fast} ease-in-out;\n z-index: ${({ zIndex }) => zIndex};\n margin: 0;\n max-width: ${({ maxWidth }) => maxWidth || '250px'};\n ${semanticOnly((tokens) => `background-color: ${tokens.SurfaceElevated};`)}\n color: ${({ theme }) => semanticColor(theme, 'FgPrimary', Color.TextPrimary)};\n`;\n\nconst TooltipArrow = styled.div`\n width: 0;\n height: 0;\n border-color: ${({ theme }) => semanticColor(theme, 'SurfaceElevated', theme.color.background.primary)};\n border-left: 8px solid transparent;\n border-top: 8px solid ${({ theme }) => semanticColor(theme, 'SurfaceElevated', theme.color.background.primary)};\n border-right: 8px solid transparent;\n`;\n\nconst TooltipIcon = styled.div`\n display: inline-flex;\n`;\n\ninterface TooltipBaseProps\n extends\n Omit<TooltipPrimitive.TooltipProps, 'disableHoverableContent'>,\n TooltipPrimitive.TooltipContentProps {\n /**\n * Optionally hide tooltip arrow.\n */\n hideArrow?: boolean;\n\n children?: ReactNode;\n\n /**\n * Disabling will prevent tooltip from rendering on the trigger\n */\n disabled?: boolean;\n\n /**\n * Render in a portal.\n * Disable to render adjacent to trigger for rendering within elements such as modals\n */\n portal?: boolean;\n\n /**\n * Props applied to Radix UI Portal component\n */\n portalProps?: TooltipPrimitive.TooltipPortalProps;\n\n /**\n * Determines if the tooltip closes when the mouse hovers into the tooltip content area\n */\n interactive?: boolean;\n\n /**\n * Override the zIndex in case the tooltip is used in situations where the content is\n * already elevated\n */\n zIndex?: number;\n\n /**\n * Max width of the contents in the tooltip\n */\n maxWidth?: string;\n\n /**\n * Props to apply to Tooltip.Trigger within\n */\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n\n /**\n * Size of the tooltip. Defaults to 'md'.\n */\n size?: 'sm' | 'md';\n}\n\nexport interface TooltipStandardProps extends TooltipBaseProps {\n /**\n * Element that will trigger the tooltip. A `ref` will be set.\n */\n trigger: ReactElement;\n\n iconTrigger?: never;\n\n className?: never;\n\n contentAlignment?: 'start' | 'center' | 'end';\n}\n\nexport interface TooltipWithIconProps extends TooltipBaseProps {\n trigger?: never;\n\n /**\n * Icon that will trigger the tooltip. A wrapper div will be set.\n */\n iconTrigger: ReactElement;\n\n className?: string;\n\n contentAlignment?: 'start' | 'center' | 'end';\n}\n\ntype TooltipProps = TooltipStandardProps | TooltipWithIconProps;\n\nexport const Tooltip = ({\n trigger: triggerProp,\n iconTrigger,\n side = 'bottom',\n hideArrow,\n defaultOpen,\n open,\n delayDuration = 300,\n onOpenChange,\n interactive = true,\n children,\n 'aria-label': ariaLabel,\n portal = true,\n disabled = false,\n className,\n maxWidth,\n zIndex = 10,\n triggerProps,\n portalProps,\n contentAlignment,\n size = 'md',\n ...contentProps\n}: TooltipProps) => {\n let trigger;\n\n if (iconTrigger) {\n trigger = (\n <TooltipIcon tabIndex={0} aria-label={ariaLabel} className={className}>\n {cloneElement(iconTrigger, { focusable: false, 'aria-hidden': true })}\n </TooltipIcon>\n );\n } else {\n trigger = triggerProp;\n }\n\n // quick way to check if children are renderable. null, false, and true will be filtered out when converting to an array\n const hasRenderableChildren = Children.toArray(children).length > 0;\n\n const content = (\n <TooltipPrimitive.Content side={side} sideOffset={8} asChild {...contentProps}>\n <FloatingTooltip\n zIndex={zIndex}\n contentAlignment={contentAlignment}\n maxWidth={maxWidth}\n size={size}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow asChild>\n <TooltipArrow />\n </TooltipPrimitive.Arrow>\n )}\n </FloatingTooltip>\n </TooltipPrimitive.Content>\n );\n\n return (\n <TooltipPrimitive.Provider delayDuration={delayDuration}>\n <TooltipPrimitive.Root\n open={open}\n defaultOpen={defaultOpen}\n disableHoverableContent={!interactive}\n onOpenChange={onOpenChange}\n >\n <TooltipPrimitive.Trigger asChild aria-label={ariaLabel} {...triggerProps}>\n {trigger}\n </TooltipPrimitive.Trigger>\n\n {!disabled &&\n hasRenderableChildren &&\n (portal ? (\n <TooltipPrimitive.Portal {...portalProps}>{content}</TooltipPrimitive.Portal>\n ) : (\n content\n ))}\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n );\n};\n\nexport default Tooltip;\n","import type { ReactNode } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Color } from '@persona/design-tokens';\nimport { CircleHelpIcon } from '@persona/icons';\nimport { CircleHelpIcon as CircleHelpIconSmall } from '@persona/icons/12px';\nimport { semanticColor } from 'design-system/lib/semanticColor';\n\nimport Tooltip, { type TooltipWithIconProps } from './Tooltip';\n\nexport interface HelperTooltipProps extends Omit<TooltipWithIconProps, 'iconTrigger'> {\n children: ReactNode;\n size?: 'md' | 'sm';\n}\n\n/**\n * Helper component for rendering help text via help icons.\n */\nconst HelperTooltip = ({ children, size = 'md', ...props }: HelperTooltipProps) => {\n const theme = useTheme();\n const iconColor = semanticColor(theme, 'FgSecondary', Color.BorderIconSecondary);\n return (\n <Tooltip\n size={size}\n iconTrigger={\n size === 'md' ? (\n <CircleHelpIcon color={iconColor} />\n ) : (\n <CircleHelpIconSmall color={iconColor} />\n )\n }\n {...props}\n >\n {children}\n </Tooltip>\n );\n};\n\nexport default HelperTooltip;\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Color } from '@persona/design-tokens';\nimport { semanticColor } from 'design-system/lib/semanticColor';\n\nimport Tooltip, { type TooltipStandardProps } from './Tooltip';\n\nexport const TextWithDashedUnderline = styled.span`\n text-decoration: underline;\n text-decoration-style: dashed;\n text-decoration-color: ${({ theme }) => semanticColor(theme, 'FgTertiary', Color.CoreSlate700)};\n text-underline-offset: 2px;\n text-decoration-thickness: 1px;\n width: fit-content;\n`;\n\ninterface TextUnderlineTooltipProps extends Omit<TooltipStandardProps, 'trigger' | 'iconTrigger'> {\n tooltip: ReactNode;\n}\n\nconst TextUnderlineTooltip = ({ children, tooltip, ...props }: TextUnderlineTooltipProps) => {\n return (\n <Tooltip trigger={<TextWithDashedUnderline>{children}</TextWithDashedUnderline>} {...props}>\n {tooltip}\n </Tooltip>\n );\n};\n\nexport default TextUnderlineTooltip;\n"],"mappings":";;;;;;;;;;;;;AAyBA,MAAa,kBAIT,OAAOA,aAAK;KACX,EAAE,OAAO,WAAY,SAAS,OAAO,gBAAgB,KAAK,gBAAgB,GAAI;kBACjE,EAAE,OAAO,WAAY,SAAS,OAAO,SAAS,OAAQ;;;;kBAItD,EAAE,uBAAuB,oBAAoB,SAAS;;iBAEvD,QAAQ,GAAG;eACb,OAAO,GAAA,QAA2B;cACnC,EAAE,aAAa,OAAO;;gBAEpB,EAAE,eAAe,YAAY,QAAQ;IACjD,cAAc,WAAW,qBAAqB,OAAO,gBAAgB,GAAG,CAAC;YACjE,EAAE,YAAY,cAAc,OAAO,aAAa,MAAM,YAAY,CAAC;;AAG/E,MAAM,eAAe,OAAO,GAAG;;;mBAGZ,EAAE,YAAY,cAAc,OAAO,mBAAmB,MAAM,MAAM,WAAW,QAAQ,CAAC;;2BAE9E,EAAE,YAAY,cAAc,OAAO,mBAAmB,MAAM,MAAM,WAAW,QAAQ,CAAC;;;AAIjH,MAAM,cAAc,OAAO,GAAG;;;AAsF9B,MAAa,WAAW,EACtB,SAAS,aACT,aACA,OAAO,UACP,WACA,aACA,MACA,gBAAgB,KAChB,cACA,cAAc,MACd,UACA,cAAc,WACd,SAAS,MACT,WAAW,OACX,WACA,UACA,SAAS,IACT,cACA,aACA,kBACA,OAAO,MACP,GAAG,mBACe;CAClB,IAAI;AAEJ,KAAI,YACF,WACE,oBAAC,aAAD;EAAa,UAAU;EAAG,cAAY;EAAsB;YACzD,aAAa,aAAa;GAAE,WAAW;GAAO,eAAe;GAAM,CAAC;EACzD,CAAA;KAGhB,WAAU;CAIZ,MAAM,wBAAwB,SAAS,QAAQ,SAAS,CAAC,SAAS;CAElE,MAAM,UACJ,oBAAC,iBAAiB,SAAlB;EAAgC;EAAM,YAAY;EAAG,SAAA;EAAQ,GAAI;YAC/D,qBAAC,iBAAD;GACU;GACU;GACR;GACJ;aAJR,CAMG,UACA,CAAC,aACA,oBAAC,iBAAiB,OAAlB;IAAwB,SAAA;cACtB,oBAAC,cAAD,EAAgB,CAAA;IACO,CAAA,CAEX;;EACO,CAAA;AAG7B,QACE,oBAAC,iBAAiB,UAAlB;EAA0C;YACxC,qBAAC,iBAAiB,MAAlB;GACQ;GACO;GACb,yBAAyB,CAAC;GACZ;aAJhB,CAME,oBAAC,iBAAiB,SAAlB;IAA0B,SAAA;IAAQ,cAAY;IAAW,GAAI;cAC1D;IACwB,CAAA,EAE1B,CAAC,YACA,0BACC,SACC,oBAAC,iBAAiB,QAAlB;IAAyB,GAAI;cAAc;IAAkC,CAAA,GAE7E,SAEkB;;EACE,CAAA;;;;;;;ACvMhC,MAAM,iBAAiB,EAAE,UAAU,OAAO,MAAM,GAAG,YAAgC;CAEjF,MAAM,YAAY,cADJ,UACuB,EAAE,eAAe,MAAM,oBAAoB;AAChF,QACE,oBAAC,SAAD;EACQ;EACN,aACE,SAAS,OACP,oBAAC,gBAAD,EAAgB,OAAO,WAAa,CAAA,GAEpC,oBAACC,kBAAD,EAAqB,OAAO,WAAa,CAAA;EAG7C,GAAI;EAEH;EACO,CAAA;;;;AC1Bd,MAAa,0BAA0B,OAAO,IAAI;;;4BAGtB,EAAE,YAAY,cAAc,OAAO,cAAc,MAAM,aAAa,CAAC;;;;;AAUjG,MAAM,wBAAwB,EAAE,UAAU,SAAS,GAAG,YAAuC;AAC3F,QACE,oBAAC,SAAD;EAAS,SAAS,oBAAC,yBAAD,EAA0B,UAAmC,CAAA;EAAE,GAAI;YAClF;EACO,CAAA"}
@@ -1,6 +1,6 @@
1
- import { r as _default, t as CardProps } from "./Card-BoGV5tY2.mjs";
2
- import { DefaultTheme, StyledComponent } from "styled-components";
1
+ import { r as _default, t as CardProps } from "./Card-Dorym91P.mjs";
3
2
  import { ComponentPropsWithoutRef, ComponentType, ReactElement, ReactNode } from "react";
3
+ import { DefaultTheme, StyledComponent } from "styled-components";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
6
6
 
@@ -97,4 +97,4 @@ declare const Tooltip: ({
97
97
  }: TooltipProps) => _$react_jsx_runtime0.JSX.Element;
98
98
  //#endregion
99
99
  export { TooltipWithIconProps as i, Tooltip as n, TooltipStandardProps as r, FloatingTooltip as t };
100
- //# sourceMappingURL=Tooltip-n3XkX4dp.d.mts.map
100
+ //# sourceMappingURL=Tooltip-eSaiYjxT.d.mts.map
@@ -1,2 +1,2 @@
1
- import { i as TooltipWithIconProps, n as Tooltip, r as TooltipStandardProps, t as FloatingTooltip } from "./Tooltip-n3XkX4dp.mjs";
1
+ import { i as TooltipWithIconProps, n as Tooltip, r as TooltipStandardProps, t as FloatingTooltip } from "./Tooltip-eSaiYjxT.mjs";
2
2
  export { FloatingTooltip, Tooltip, Tooltip as default, TooltipStandardProps, TooltipWithIconProps };
@@ -1,5 +1,5 @@
1
- import * as _$styled_components0 from "styled-components";
2
1
  import { ComponentPropsWithoutRef, FC } from "react";
2
+ import * as _$styled_components0 from "styled-components";
3
3
 
4
4
  //#region lib/TruncatedText.d.ts
5
5
  declare const OverflowEllipsisSpan: _$styled_components0.StyledComponent<"span", any, {}, never>;
@@ -15,4 +15,4 @@ interface TruncatedTextProps extends ComponentPropsWithoutRef<'span'> {
15
15
  declare const TruncatedText: FC<TruncatedTextProps>;
16
16
  //#endregion
17
17
  export { TruncatedText as n, TruncatedTextProps as r, OverflowEllipsisSpan as t };
18
- //# sourceMappingURL=TruncatedText-C-MJPIRi.d.mts.map
18
+ //# sourceMappingURL=TruncatedText-B2v53Y11.d.mts.map
@@ -1,4 +1,4 @@
1
- import { a as DateFilterPreset, c as RelativeDateFilterValue, n as AbsoluteDateRange, o as DateFilterValue } from "./types-Bsf1VsW6.mjs";
1
+ import { a as DateFilterPreset, c as RelativeDateFilterValue, n as AbsoluteDateRange, o as DateFilterValue } from "./types-COeginAF.mjs";
2
2
  import { DateTime } from "luxon";
3
3
 
4
4
  //#region lib/date-filter/codec.d.ts
@@ -26,4 +26,4 @@ declare function isRelative(value: DateFilterValue): value is RelativeDateFilter
26
26
  declare function formatDateFilterValue(value: DateFilterValue): string | null;
27
27
  //#endregion
28
28
  export { selectedPresetFor as a, resolveDateFilterValue as i, isRelative as n, parseDateFilterValue as r, formatDateFilterValue as t };
29
- //# sourceMappingURL=codec-B0dZTwlG.d.mts.map
29
+ //# sourceMappingURL=codec-D5qlDVgU.d.mts.map
package/dist/codec.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as selectedPresetFor, i as resolveDateFilterValue, n as isRelative, r as parseDateFilterValue, t as formatDateFilterValue } from "./codec-B0dZTwlG.mjs";
1
+ import { a as selectedPresetFor, i as resolveDateFilterValue, n as isRelative, r as parseDateFilterValue, t as formatDateFilterValue } from "./codec-D5qlDVgU.mjs";
2
2
  export { formatDateFilterValue, isRelative, parseDateFilterValue, resolveDateFilterValue, selectedPresetFor };
@@ -0,0 +1,20 @@
1
+ import { t as CssPercentage } from "./semantic-Dy7mTyBP.mjs";
2
+ import { Color } from "@persona/design-tokens";
3
+
4
+ //#region lib/color.d.ts
5
+ /**
6
+ * A computed theme colour (not a token primitive). Property-branded rather than `unique symbol`
7
+ * so the brand survives declaration emit.
8
+ */
9
+ type CssColor = string & {
10
+ readonly __pdsCssColor: true;
11
+ };
12
+ type PdsColor = Color | CssColor;
13
+ declare const transparent: CssColor;
14
+ /** Percentage token as a unitless `opacity`; percentage `opacity` is below the browserslist floor. */
15
+ declare const opacityOf: (amount: CssPercentage) => string;
16
+ /** `rgba()` rather than `color-mix()`: browserslist still includes IE 11 and iOS Safari < 16.2. */
17
+ declare const withAlpha: (color: Color, amount: CssPercentage) => CssColor;
18
+ //#endregion
19
+ export { withAlpha as a, transparent as i, PdsColor as n, opacityOf as r, CssColor as t };
20
+ //# sourceMappingURL=color-fQTsW4gq.d.mts.map
@@ -1,8 +1,10 @@
1
- import { a as styled, r as css } from "../../styledComponentsInterop-8zScIQyC.mjs";
2
- import { i as Paragraph } from "../../Text-B0orb-cZ.mjs";
3
- import { r as HelperTooltip } from "../../Tooltip-DSKGD33G.mjs";
4
- import { t as IconButton } from "../../IconButton-BnSEV7eR.mjs";
5
- import { n as Sticker } from "../../Sticker-By3F8Aip.mjs";
1
+ import { a as styled, r as css } from "../../styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { semanticColor, semanticOnly } from "../../lib/semanticColor.mjs";
3
+ import { i as Paragraph } from "../../Text-Dn_p7ZvT.mjs";
4
+ import { r as HelperTooltip } from "../../Tooltip-BsuYG0fw.mjs";
5
+ import { isHovered, isNotDisabled } from "../../lib/pseudoClass.mjs";
6
+ import { t as IconButton } from "../../IconButton-CnJNIJVQ.mjs";
7
+ import { n as Sticker } from "../../Sticker-BDyejPZa.mjs";
6
8
  import { Color, Spacing, Typography } from "@persona/design-tokens";
7
9
  import { createContext, useContext, useEffect, useMemo, useRef } from "react";
8
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -23,13 +25,35 @@ const IconButtonContainer = styled(IconButton)`
23
25
 
24
26
  :hover {
25
27
  svg {
26
- color: ${Color.CorePurple800};
28
+ color: ${({ theme }) => semanticColor(theme, "FgAccent", Color.CorePurple800)};
27
29
  }
28
30
  }
31
+
32
+ ${semanticOnly((tokens) => css`
33
+ background-color: ${tokens.ActionNeutral};
34
+ color: ${tokens.FgPrimary};
35
+
36
+ svg {
37
+ color: ${tokens.FgPrimary};
38
+ }
39
+
40
+ svg.pds-icon path[stroke] {
41
+ stroke: currentColor;
42
+ }
43
+
44
+ &${isHovered}${isNotDisabled} {
45
+ background-color: ${tokens.ActionNeutralHover};
46
+ color: ${tokens.FgAccent};
47
+
48
+ svg path {
49
+ stroke: currentColor;
50
+ }
51
+ }
52
+ `)}
29
53
  `;
30
54
  const Value = styled.dd`
31
55
  ${({ size }) => size === "sm" ? Typography.TextSmall : Typography.TextMedium};
32
- color: ${({ isPlaceholder }) => isPlaceholder ? Color.TextSecondary : Color.CoreSlate1000};
56
+ color: ${({ isPlaceholder, theme }) => isPlaceholder ? semanticColor(theme, "FgSecondary", Color.TextSecondary) : semanticColor(theme, "FgPrimary", Color.CoreSlate1000)};
33
57
  margin: 0;
34
58
  text-overflow: ellipsis;
35
59
  overflow-x: hidden;
@@ -41,11 +65,11 @@ const Value = styled.dd`
41
65
  }
42
66
 
43
67
  a {
44
- color: ${({ theme }) => theme.color.text.brand};
68
+ color: ${({ theme }) => semanticColor(theme, "FgAccent", theme.color.text.brand)};
45
69
  text-decoration: none;
46
70
 
47
71
  &:visited {
48
- color: ${({ theme }) => theme.color.text.brand};
72
+ color: ${({ theme }) => semanticColor(theme, "FgAccent", theme.color.text.brand)};
49
73
  }
50
74
  }
51
75
  `;
@@ -96,6 +120,7 @@ const AttributeLabel = styled(Paragraph).attrs((props) => ({
96
120
  }))`
97
121
  margin: 0;
98
122
  overflow-wrap: break-word;
123
+ ${semanticOnly((tokens) => `color: ${tokens.FgSecondary};`)}
99
124
  `;
100
125
  const RightContainer = styled.span`
101
126
  display: inline-block;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Attribute/Attribute.tsx","../../../components/Attribute/AttributeGrid.tsx"],"sourcesContent":["import { repeat, uniqueId } from 'lodash-es';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentType,\n createContext,\n type FC,\n type PropsWithChildren,\n type ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport { useToggleButton } from 'react-aria';\nimport { useToggleState } from 'react-stately';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport { EyeIcon, EyeOffIcon } from '@persona/icons';\nimport IconButton from 'design-system/components/Button/IconButton';\nimport Sticker from 'design-system/components/Sticker';\nimport { Paragraph } from 'design-system/components/Text';\nimport { HelperTooltip } from 'design-system/components/Tooltip';\nimport type { ParagraphSize } from 'design-system/mixins/text';\n\nexport type WordBreak = 'break-all' | 'break-word' | 'normal';\nexport type TextTransform = 'capitalize' | 'sentence';\nexport type TableLayoutValue = boolean | 'full-width';\n\nexport type AttributeSize = 'sm' | 'md';\n\nexport const AttributeContext = createContext<{\n table?: TableLayoutValue;\n horizontal?: boolean;\n size?: AttributeSize;\n}>({});\n\n// TODO: Create Toggle Button component\nexport const IconButtonContainer = styled(IconButton)`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n svg {\n transition-duration: 150ms;\n }\n\n :hover {\n svg {\n color: ${Color.CorePurple800};\n }\n }\n`;\n\ninterface AttributeValueProps {\n placeholder: ReactNode;\n show?: boolean;\n redacted?: boolean;\n value?: ReactNode;\n textTransform?: TextTransform;\n wordBreak?: WordBreak;\n size?: AttributeSize;\n 'aria-labelledby': string;\n id: string;\n}\n\ninterface ValueFormatterProps {\n isPlaceholder?: boolean;\n wordBreak?: WordBreak;\n size?: AttributeSize;\n}\n\nconst Value = styled.dd<ValueFormatterProps>`\n ${({ size }) => (size === 'sm' ? Typography.TextSmall : Typography.TextMedium)};\n color: ${({ isPlaceholder }) => (isPlaceholder ? Color.TextSecondary : Color.CoreSlate1000)};\n margin: 0;\n text-overflow: ellipsis;\n overflow-x: hidden;\n word-break: ${({ wordBreak }) => (wordBreak ? wordBreak : 'normal')};\n\n ul,\n ol {\n list-style-position: inside;\n }\n\n a {\n color: ${({ theme }) => theme.color.text.brand};\n text-decoration: none;\n\n &:visited {\n color: ${({ theme }) => theme.color.text.brand};\n }\n }\n`;\n\nexport const AttributeValue = ({\n placeholder,\n show,\n redacted,\n value,\n wordBreak,\n size,\n id,\n 'aria-labelledby': ariaLabelledBy,\n}: AttributeValueProps) => {\n const isEmpty = value == null || value === '';\n\n const renderedVal = isEmpty ? (\n placeholder\n ) : (\n <>{!show ? repeat('•', typeof value === 'string' ? value.length : 8) : value}</>\n );\n\n return (\n <Value\n isPlaceholder={isEmpty}\n wordBreak={wordBreak}\n size={size}\n title={typeof value === 'string' ? value : undefined}\n aria-labelledby={ariaLabelledBy}\n id={id}\n >\n {redacted ? <Sticker id={id}>Redacted</Sticker> : renderedVal}\n </Value>\n );\n};\n\nexport interface AttributeProps extends ComponentPropsWithoutRef<'div'> {\n /**\n * Title of the attribute. Rendered as a <dt>.\n */\n label: ReactNode;\n\n /**\n * Value to display. Rendered as a <dd>.\n */\n value?: ReactNode;\n\n /**\n * Will display a \"Redacted\" sticker if there is a value.\n */\n redacted?: boolean;\n\n /**\n * Renders toggleable eye button to the right of the label\n */\n toggleable?: boolean;\n\n /**\n * Text to display in presence of null value.\n */\n placeholder?: string;\n\n /**\n * Word break styling for value.\n */\n wordBreak?: WordBreak;\n\n /**\n * Render a custom label component\n */\n labelComponent?: FC<PropsWithChildren<{ id: string; size?: ParagraphSize }>>;\n\n /**\n * Render a custom value component\n */\n valueComponent?: ComponentType<AttributeValueProps>;\n\n /**\n * Renders a HelperTooltip to display help text to the right of the label.\n */\n helpText?: ReactNode;\n\n /**\n * Custom adornments to display to the right of the label.\n */\n right?: ReactNode;\n\n /**\n * Renders attributes in a tabular layout.\n */\n table?: TableLayoutValue;\n}\n\ntype AttributeContainerProps = {\n horizontal?: boolean;\n table?: TableLayoutValue;\n size?: AttributeSize;\n};\nconst AttributeContainer = styled('div')<AttributeContainerProps>`\n ${({ table, size }) =>\n table &&\n css`\n display: table-row;\n\n > * {\n display: table-cell;\n }\n\n & > ${AttributeLabel} {\n padding: ${Spacing[1]} 0;\n padding-right: ${size === 'sm' ? Spacing[2] : Spacing[3]};\n }\n & > ${Value} {\n padding: ${size === 'sm' ? Spacing[1] : Spacing[2]} 0;\n }\n `}\n\n ${({ horizontal }) =>\n horizontal &&\n css`\n display: grid;\n gap: ${Spacing[4]};\n grid-template-columns: subgrid;\n grid-column: span 2;\n `}\n`;\n\nexport const AttributeLabel = styled(Paragraph).attrs<{ size?: ParagraphSize }>((props) => ({\n size: props.size ?? 'md',\n color: 'tertiary',\n as: 'dt',\n}))`\n margin: 0;\n overflow-wrap: break-word;\n`;\n\nconst RightContainer = styled.span`\n display: inline-block;\n vertical-align: middle;\n margin-left: ${Spacing[2]};\n`;\n\nexport const Attribute = ({\n label,\n value,\n redacted,\n placeholder = '-',\n wordBreak,\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n labelComponent: LabelComponent = AttributeLabel,\n valueComponent: ValueComponent = AttributeValue,\n right,\n helpText,\n toggleable,\n table,\n ...elemProps\n}: AttributeProps) => {\n const attrCtx = useContext(AttributeContext);\n const size = attrCtx?.size ?? 'md';\n const toggleRef = useRef();\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n const valueAsArray = [].concat(value).filter(Boolean);\n const showToggleButton = toggleable && !redacted && valueAsArray.length > 0;\n const state = useToggleState({ defaultSelected: !toggleable });\n const { buttonProps } = useToggleButton(\n {\n 'aria-label': state.isSelected ? `Hide ${label} value` : `Show ${label} value`,\n elementType: 'button',\n },\n state,\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n toggleRef,\n );\n const labelId = useMemo(() => uniqueId('pds_attribute_label__'), []);\n const valueId = useMemo(() => uniqueId('pds_attribute_value__'), []);\n const show = state.isSelected;\n\n useEffect(() => {\n state.setSelected(!toggleable);\n }, [toggleable]);\n\n return (\n <AttributeContainer\n table={table || attrCtx?.table}\n horizontal={attrCtx?.horizontal}\n size={size}\n {...elemProps}\n >\n <LabelComponent id={labelId} aria-details={valueId} size={size}>\n {label}\n {helpText && (\n <RightContainer>\n <HelperTooltip size='sm'>{helpText}</HelperTooltip>\n </RightContainer>\n )}\n {showToggleButton && (\n <RightContainer>\n {/* @ts-expect-error [strict-migration] The following line is not strict; please fix! */}\n <IconButtonContainer {...buttonProps} ref={toggleRef}>\n {show ? <EyeIcon /> : <EyeOffIcon />}\n </IconButtonContainer>\n </RightContainer>\n )}\n {right && <RightContainer>{right}</RightContainer>}\n </LabelComponent>\n <ValueComponent\n id={valueId}\n value={value}\n placeholder={placeholder}\n wordBreak={wordBreak}\n redacted={redacted}\n show={show}\n size={size}\n aria-labelledby={labelId}\n />\n </AttributeContainer>\n );\n};\n\nexport default Attribute;\n","import type { ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nimport { AttributeContext, type AttributeSize, type TableLayoutValue } from './Attribute';\n\ntype AttributeGridProps = {\n children?: ReactNode;\n /**\n * Sets the font size and spacing density for all child Attributes.\n * Defaults to `'md'`.\n */\n size?: AttributeSize;\n} & (\n | {\n /**\n * Set a fixed number of columns for the grid.\n */\n colCount?: number;\n /**\n * Display attributes in a stacked list with label first then value.\n */\n horizontal?: boolean;\n\n table?: never;\n }\n | {\n /**\n * Display attributes in a fixed tabular layout.\n * Set to `full-width` to expand to full width of container.\n */\n table?: TableLayoutValue;\n\n colCount?: never;\n horizontal?: never;\n }\n);\n\ntype AttributeGridComponentProps = {\n colCount?: number;\n horizontal?: boolean;\n table?: TableLayoutValue;\n size?: AttributeSize;\n};\nconst AttributeGridComponent = styled.dl<AttributeGridComponentProps>`\n ${({ colCount, table, horizontal, size }) =>\n table\n ? css`\n display: table;\n ${\n table === 'full-width' &&\n css`\n width: 100%;\n table-layout: fixed;\n border-spacing: 0 ${size === 'sm' ? Spacing[1] : Spacing[2]};\n `\n };\n `\n : css`\n display: grid;\n gap: ${size === 'sm' ? Spacing[2] : Spacing[4]};\n /* If the layout is horizontal we guarentee an even number of columns */\n grid-template-columns: ${\n colCount\n ? `repeat(${colCount}, ${horizontal ? '1fr 2fr' : '1fr'})`\n : `repeat(auto-fit, ${horizontal ? 'minmax(120px, 1fr) minmax(225px, 2fr)' : 'minmax(225px, 1fr)'})`\n };\n `}\n margin: 0;\n\n & + & {\n padding-bottom: ${Spacing[5]};\n }\n`;\n\nconst AttributeGrid = ({ children, horizontal, table, size, ...props }: AttributeGridProps) => {\n return (\n <AttributeGridComponent table={table} horizontal={horizontal} size={size} {...props}>\n <AttributeContext.Provider value={{ horizontal, table, size }}>\n {children}\n </AttributeContext.Provider>\n </AttributeGridComponent>\n );\n};\n\nexport default AttributeGrid;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Attribute/Attribute.tsx","../../../components/Attribute/AttributeGrid.tsx"],"sourcesContent":["import { repeat, uniqueId } from 'lodash-es';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentType,\n createContext,\n type FC,\n type PropsWithChildren,\n type ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport { useToggleButton } from 'react-aria';\nimport { useToggleState } from 'react-stately';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport { EyeIcon, EyeOffIcon } from '@persona/icons';\nimport IconButton from 'design-system/components/Button/IconButton';\nimport Sticker from 'design-system/components/Sticker';\nimport { Paragraph } from 'design-system/components/Text';\nimport { HelperTooltip } from 'design-system/components/Tooltip';\nimport { isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { semanticColor, semanticOnly } from 'design-system/lib/semanticColor';\nimport type { ParagraphSize } from 'design-system/mixins/text';\n\nexport type WordBreak = 'break-all' | 'break-word' | 'normal';\nexport type TextTransform = 'capitalize' | 'sentence';\nexport type TableLayoutValue = boolean | 'full-width';\n\nexport type AttributeSize = 'sm' | 'md';\n\nexport const AttributeContext = createContext<{\n table?: TableLayoutValue;\n horizontal?: boolean;\n size?: AttributeSize;\n}>({});\n\n// TODO: Create Toggle Button component\nexport const IconButtonContainer = styled(IconButton)`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n svg {\n transition-duration: 150ms;\n }\n\n :hover {\n svg {\n color: ${({ theme }) => semanticColor(theme, 'FgAccent', Color.CorePurple800)};\n }\n }\n\n ${semanticOnly(\n (tokens) => css`\n background-color: ${tokens.ActionNeutral};\n color: ${tokens.FgPrimary};\n\n svg {\n color: ${tokens.FgPrimary};\n }\n\n svg.pds-icon path[stroke] {\n stroke: currentColor;\n }\n\n &${isHovered}${isNotDisabled} {\n background-color: ${tokens.ActionNeutralHover};\n color: ${tokens.FgAccent};\n\n svg path {\n stroke: currentColor;\n }\n }\n `,\n )}\n`;\n\ninterface AttributeValueProps {\n placeholder: ReactNode;\n show?: boolean;\n redacted?: boolean;\n value?: ReactNode;\n textTransform?: TextTransform;\n wordBreak?: WordBreak;\n size?: AttributeSize;\n 'aria-labelledby': string;\n id: string;\n}\n\ninterface ValueFormatterProps {\n isPlaceholder?: boolean;\n wordBreak?: WordBreak;\n size?: AttributeSize;\n}\n\nconst Value = styled.dd<ValueFormatterProps>`\n ${({ size }) => (size === 'sm' ? Typography.TextSmall : Typography.TextMedium)};\n color: ${({ isPlaceholder, theme }) =>\n isPlaceholder\n ? semanticColor(theme, 'FgSecondary', Color.TextSecondary)\n : semanticColor(theme, 'FgPrimary', Color.CoreSlate1000)};\n margin: 0;\n text-overflow: ellipsis;\n overflow-x: hidden;\n word-break: ${({ wordBreak }) => (wordBreak ? wordBreak : 'normal')};\n\n ul,\n ol {\n list-style-position: inside;\n }\n\n a {\n color: ${({ theme }) => semanticColor(theme, 'FgAccent', theme.color.text.brand)};\n text-decoration: none;\n\n &:visited {\n color: ${({ theme }) => semanticColor(theme, 'FgAccent', theme.color.text.brand)};\n }\n }\n`;\n\nexport const AttributeValue = ({\n placeholder,\n show,\n redacted,\n value,\n wordBreak,\n size,\n id,\n 'aria-labelledby': ariaLabelledBy,\n}: AttributeValueProps) => {\n const isEmpty = value == null || value === '';\n\n const renderedVal = isEmpty ? (\n placeholder\n ) : (\n <>{!show ? repeat('•', typeof value === 'string' ? value.length : 8) : value}</>\n );\n\n return (\n <Value\n isPlaceholder={isEmpty}\n wordBreak={wordBreak}\n size={size}\n title={typeof value === 'string' ? value : undefined}\n aria-labelledby={ariaLabelledBy}\n id={id}\n >\n {redacted ? <Sticker id={id}>Redacted</Sticker> : renderedVal}\n </Value>\n );\n};\n\nexport interface AttributeProps extends ComponentPropsWithoutRef<'div'> {\n /**\n * Title of the attribute. Rendered as a <dt>.\n */\n label: ReactNode;\n\n /**\n * Value to display. Rendered as a <dd>.\n */\n value?: ReactNode;\n\n /**\n * Will display a \"Redacted\" sticker if there is a value.\n */\n redacted?: boolean;\n\n /**\n * Renders toggleable eye button to the right of the label\n */\n toggleable?: boolean;\n\n /**\n * Text to display in presence of null value.\n */\n placeholder?: string;\n\n /**\n * Word break styling for value.\n */\n wordBreak?: WordBreak;\n\n /**\n * Render a custom label component\n */\n labelComponent?: FC<PropsWithChildren<{ id: string; size?: ParagraphSize }>>;\n\n /**\n * Render a custom value component\n */\n valueComponent?: ComponentType<AttributeValueProps>;\n\n /**\n * Renders a HelperTooltip to display help text to the right of the label.\n */\n helpText?: ReactNode;\n\n /**\n * Custom adornments to display to the right of the label.\n */\n right?: ReactNode;\n\n /**\n * Renders attributes in a tabular layout.\n */\n table?: TableLayoutValue;\n}\n\ntype AttributeContainerProps = {\n horizontal?: boolean;\n table?: TableLayoutValue;\n size?: AttributeSize;\n};\nconst AttributeContainer = styled('div')<AttributeContainerProps>`\n ${({ table, size }) =>\n table &&\n css`\n display: table-row;\n\n > * {\n display: table-cell;\n }\n\n & > ${AttributeLabel} {\n padding: ${Spacing[1]} 0;\n padding-right: ${size === 'sm' ? Spacing[2] : Spacing[3]};\n }\n & > ${Value} {\n padding: ${size === 'sm' ? Spacing[1] : Spacing[2]} 0;\n }\n `}\n\n ${({ horizontal }) =>\n horizontal &&\n css`\n display: grid;\n gap: ${Spacing[4]};\n grid-template-columns: subgrid;\n grid-column: span 2;\n `}\n`;\n\nexport const AttributeLabel = styled(Paragraph).attrs<{ size?: ParagraphSize }>((props) => ({\n size: props.size ?? 'md',\n color: 'tertiary',\n as: 'dt',\n}))`\n margin: 0;\n overflow-wrap: break-word;\n ${semanticOnly((tokens) => `color: ${tokens.FgSecondary};`)}\n`;\n\nconst RightContainer = styled.span`\n display: inline-block;\n vertical-align: middle;\n margin-left: ${Spacing[2]};\n`;\n\nexport const Attribute = ({\n label,\n value,\n redacted,\n placeholder = '-',\n wordBreak,\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n labelComponent: LabelComponent = AttributeLabel,\n valueComponent: ValueComponent = AttributeValue,\n right,\n helpText,\n toggleable,\n table,\n ...elemProps\n}: AttributeProps) => {\n const attrCtx = useContext(AttributeContext);\n const size = attrCtx?.size ?? 'md';\n const toggleRef = useRef();\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n const valueAsArray = [].concat(value).filter(Boolean);\n const showToggleButton = toggleable && !redacted && valueAsArray.length > 0;\n const state = useToggleState({ defaultSelected: !toggleable });\n const { buttonProps } = useToggleButton(\n {\n 'aria-label': state.isSelected ? `Hide ${label} value` : `Show ${label} value`,\n elementType: 'button',\n },\n state,\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n toggleRef,\n );\n const labelId = useMemo(() => uniqueId('pds_attribute_label__'), []);\n const valueId = useMemo(() => uniqueId('pds_attribute_value__'), []);\n const show = state.isSelected;\n\n useEffect(() => {\n state.setSelected(!toggleable);\n }, [toggleable]);\n\n return (\n <AttributeContainer\n table={table || attrCtx?.table}\n horizontal={attrCtx?.horizontal}\n size={size}\n {...elemProps}\n >\n <LabelComponent id={labelId} aria-details={valueId} size={size}>\n {label}\n {helpText && (\n <RightContainer>\n <HelperTooltip size='sm'>{helpText}</HelperTooltip>\n </RightContainer>\n )}\n {showToggleButton && (\n <RightContainer>\n {/* @ts-expect-error [strict-migration] The following line is not strict; please fix! */}\n <IconButtonContainer {...buttonProps} ref={toggleRef}>\n {show ? <EyeIcon /> : <EyeOffIcon />}\n </IconButtonContainer>\n </RightContainer>\n )}\n {right && <RightContainer>{right}</RightContainer>}\n </LabelComponent>\n <ValueComponent\n id={valueId}\n value={value}\n placeholder={placeholder}\n wordBreak={wordBreak}\n redacted={redacted}\n show={show}\n size={size}\n aria-labelledby={labelId}\n />\n </AttributeContainer>\n );\n};\n\nexport default Attribute;\n","import type { ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nimport { AttributeContext, type AttributeSize, type TableLayoutValue } from './Attribute';\n\ntype AttributeGridProps = {\n children?: ReactNode;\n /**\n * Sets the font size and spacing density for all child Attributes.\n * Defaults to `'md'`.\n */\n size?: AttributeSize;\n} & (\n | {\n /**\n * Set a fixed number of columns for the grid.\n */\n colCount?: number;\n /**\n * Display attributes in a stacked list with label first then value.\n */\n horizontal?: boolean;\n\n table?: never;\n }\n | {\n /**\n * Display attributes in a fixed tabular layout.\n * Set to `full-width` to expand to full width of container.\n */\n table?: TableLayoutValue;\n\n colCount?: never;\n horizontal?: never;\n }\n);\n\ntype AttributeGridComponentProps = {\n colCount?: number;\n horizontal?: boolean;\n table?: TableLayoutValue;\n size?: AttributeSize;\n};\nconst AttributeGridComponent = styled.dl<AttributeGridComponentProps>`\n ${({ colCount, table, horizontal, size }) =>\n table\n ? css`\n display: table;\n ${\n table === 'full-width' &&\n css`\n width: 100%;\n table-layout: fixed;\n border-spacing: 0 ${size === 'sm' ? Spacing[1] : Spacing[2]};\n `\n };\n `\n : css`\n display: grid;\n gap: ${size === 'sm' ? Spacing[2] : Spacing[4]};\n /* If the layout is horizontal we guarentee an even number of columns */\n grid-template-columns: ${\n colCount\n ? `repeat(${colCount}, ${horizontal ? '1fr 2fr' : '1fr'})`\n : `repeat(auto-fit, ${horizontal ? 'minmax(120px, 1fr) minmax(225px, 2fr)' : 'minmax(225px, 1fr)'})`\n };\n `}\n margin: 0;\n\n & + & {\n padding-bottom: ${Spacing[5]};\n }\n`;\n\nconst AttributeGrid = ({ children, horizontal, table, size, ...props }: AttributeGridProps) => {\n return (\n <AttributeGridComponent table={table} horizontal={horizontal} size={size} {...props}>\n <AttributeContext.Provider value={{ horizontal, table, size }}>\n {children}\n </AttributeContext.Provider>\n </AttributeGridComponent>\n );\n};\n\nexport default AttributeGrid;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { t as Badge } from "../../Badge-CM2TzkdE.mjs";
1
+ import { t as Badge } from "../../Badge-BtNIvtDZ.mjs";
2
2
  export { Badge, Badge as default };
@@ -1,7 +1,9 @@
1
- import { a as styled, r as css } from "../../styledComponentsInterop-8zScIQyC.mjs";
2
- import { isActive, isFocused, isHovered, isNotDisabled } from "../../lib/pseudoClass.mjs";
1
+ import { a as styled, r as css } from "../../styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { semanticOnly, semanticTokens } from "../../lib/semanticColor.mjs";
3
3
  import { paragraphMixins } from "../../mixins/text.mjs";
4
- import { n as Button } from "../../IconButton-BnSEV7eR.mjs";
4
+ import { withAlpha } from "../../lib/color.mjs";
5
+ import { isActive, isFocused, isHovered, isNotDisabled } from "../../lib/pseudoClass.mjs";
6
+ import { n as Button } from "../../IconButton-CnJNIJVQ.mjs";
5
7
  import { Color, Spacing } from "@persona/design-tokens";
6
8
  import { jsx, jsxs } from "react/jsx-runtime";
7
9
  import { XIcon } from "@persona/icons";
@@ -16,14 +18,23 @@ const StyledBanner = styled("div")`
16
18
  min-height: 40px;
17
19
  padding: ${Spacing[2]};
18
20
  border-radius: 4px;
19
- background: ${({ variant }) => {
21
+ background: ${({ theme, variant }) => {
22
+ const tokens = semanticTokens(theme);
20
23
  switch (variant) {
21
- case "success": return Color.CoreGreen100;
22
- case "warning": return Color.CoreYellow100;
23
- case "alert": return Color.CoreRed100;
24
- default: return Color.CorePurple100;
24
+ case "success": return tokens ? withAlpha(tokens.FeedbackSuccess1, tokens.Opacity15) : Color.CoreGreen100;
25
+ case "warning": return tokens ? withAlpha(tokens.FeedbackWarning1, tokens.Opacity15) : Color.CoreYellow100;
26
+ case "alert": return tokens ? withAlpha(tokens.FeedbackDanger1, tokens.Opacity15) : Color.CoreRed100;
27
+ default: return tokens ? withAlpha(tokens.FeedbackInfo1, tokens.Opacity25) : Color.CorePurple100;
25
28
  }
26
29
  }};
30
+
31
+ ${semanticOnly((tokens) => css`
32
+ color: ${tokens.FgPrimary};
33
+
34
+ svg {
35
+ color: ${tokens.FgPrimary};
36
+ }
37
+ `)}
27
38
  `;
28
39
  const BannerContent = styled.div`
29
40
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Banner/Banner.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';\nimport { useFocusVisible } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport Button from 'design-system/components/Button';\nimport { isActive, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nexport interface BannerProps extends ComponentPropsWithoutRef<'div'> {\n children: ReactNode;\n\n /**\n * Semantic colour theme for the banner background.\n *\n * - `informational` – purple, for general tips or announcements (default).\n * - `success` – green, for confirmations or completed actions.\n * - `warning` – yellow, for non-blocking cautions.\n * - `alert` – red, for errors or destructive warnings.\n *\n * @defaultValue 'informational'\n */\n variant?: 'informational' | 'success' | 'warning' | 'alert';\n\n /**\n * Action affordance rendered to the right of the content.\n *\n * - Pass a `string` together with `onClose` to show a text button that calls `onClose`.\n * - Pass a `ReactElement` to render a fully custom action (e.g. a link or icon button).\n * In this case `onClose` is ignored for the action slot; wire dismissal inside the element.\n */\n action?: string | ReactElement;\n\n /**\n * Called when the user clicks the close (×) button.\n * When provided and `action` is absent, a close icon button is rendered automatically.\n * When `action` is a string, clicking that string-labelled button calls this handler.\n */\n onClose?: VoidFunction;\n\n /**\n * When true, the content area stretches to fill the full banner width.\n * Useful when `children` contains a layout that needs to span the entire space.\n */\n extendContentWidth?: boolean;\n}\n\nconst StyledBanner = styled('div')<BannerProps>`\n ${paragraphMixins.sm};\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n min-height: 40px;\n padding: ${Spacing[2]};\n border-radius: 4px;\n background: ${({ variant }) => {\n switch (variant) {\n case 'success':\n return Color.CoreGreen100;\n case 'warning':\n return Color.CoreYellow100;\n case 'alert':\n return Color.CoreRed100;\n case 'informational':\n default:\n return Color.CorePurple100;\n }\n }};\n`;\n\nconst BannerContent = styled.div<{ extendContentWidth?: boolean }>`\n display: flex;\n align-items: center;\n\n > svg:first-child {\n margin-right: ${Spacing[2]};\n flex-shrink: 0;\n }\n\n ${({ extendContentWidth }) =>\n extendContentWidth &&\n css`\n width: 100%;\n `}\n`;\n\nconst ActionButton = styled(Button)<{ isFocusVisible?: boolean }>`\n background-color: transparent;\n justify-self: space-between;\n\n &${isActive}${isNotDisabled}, &${isHovered}${isNotDisabled} {\n background-color: unset;\n }\n\n ${({ isFocusVisible }) =>\n !isFocusVisible &&\n css`\n &${isHovered}${isFocused}${isNotDisabled} {\n box-shadow: none;\n }\n &${isFocused}${isNotDisabled} {\n box-shadow: none;\n }\n `}\n`;\n\nexport const Banner = ({\n children,\n variant,\n action,\n onClose,\n extendContentWidth,\n ...elemProps\n}: BannerProps) => {\n const { isFocusVisible } = useFocusVisible();\n\n return (\n <StyledBanner variant={variant} role='alert' {...elemProps}>\n <BannerContent extendContentWidth={extendContentWidth}>{children}</BannerContent>\n {typeof action === 'string'\n ? onClose && (\n <ActionButton variant='basic' width='auto' size='sm' onClick={onClose}>\n {action}\n </ActionButton>\n )\n : action}\n {!action && onClose && (\n <ActionButton\n variant='basic'\n width='icon'\n size='sm'\n aria-label='Close'\n title='Close'\n onClick={onClose}\n isFocusVisible={isFocusVisible}\n >\n <XIcon />\n </ActionButton>\n )}\n </StyledBanner>\n );\n};\n\nexport default Banner;\n"],"mappings":";;;;;;;;;AAgDA,MAAM,eAAe,OAAO,MAAM;IAC9B,gBAAgB,GAAG;;;;;;aAMV,QAAQ,GAAG;;iBAEP,EAAE,cAAc;AAC7B,SAAQ,SAAR;EACE,KAAK,UACH,QAAO,MAAM;EACf,KAAK,UACH,QAAO,MAAM;EACf,KAAK,QACH,QAAO,MAAM;EAEf,QACE,QAAO,MAAM;;EAEjB;;AAGJ,MAAM,gBAAgB,OAAO,GAAqC;;;;;oBAK9C,QAAQ,GAAG;;;;KAI1B,EAAE,yBACH,sBACA,GAAG;;MAED;;AAGN,MAAM,eAAe,OAAO,OAAO;;;;KAI9B,WAAW,cAAc,KAAK,YAAY,cAAc;;;;KAIxD,EAAE,qBACH,CAAC,kBACD,GAAG;SACE,YAAY,YAAY,cAAc;;;SAGtC,YAAY,cAAc;;;MAG7B;;AAGN,MAAa,UAAU,EACrB,UACA,SACA,QACA,SACA,oBACA,GAAG,gBACc;CACjB,MAAM,EAAE,mBAAmB,iBAAiB;AAE5C,QACE,qBAAC,cAAD;EAAuB;EAAS,MAAK;EAAQ,GAAI;YAAjD;GACE,oBAAC,eAAD;IAAmC;IAAqB;IAAyB,CAAA;GAChF,OAAO,WAAW,WACf,WACE,oBAAC,cAAD;IAAc,SAAQ;IAAQ,OAAM;IAAO,MAAK;IAAK,SAAS;cAC3D;IACY,CAAA,GAEjB;GACH,CAAC,UAAU,WACV,oBAAC,cAAD;IACE,SAAQ;IACR,OAAM;IACN,MAAK;IACL,cAAW;IACX,OAAM;IACN,SAAS;IACO;cAEhB,oBAAC,OAAD,EAAS,CAAA;IACI,CAAA;GAEJ"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Banner/Banner.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';\nimport { useFocusVisible } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport Button from 'design-system/components/Button';\nimport { withAlpha } from 'design-system/lib/color';\nimport { isActive, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { semanticOnly, semanticTokens } from 'design-system/lib/semanticColor';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nexport interface BannerProps extends ComponentPropsWithoutRef<'div'> {\n children: ReactNode;\n\n /**\n * Semantic colour theme for the banner background.\n *\n * - `informational` – purple, for general tips or announcements (default).\n * - `success` – green, for confirmations or completed actions.\n * - `warning` – yellow, for non-blocking cautions.\n * - `alert` – red, for errors or destructive warnings.\n *\n * @defaultValue 'informational'\n */\n variant?: 'informational' | 'success' | 'warning' | 'alert';\n\n /**\n * Action affordance rendered to the right of the content.\n *\n * - Pass a `string` together with `onClose` to show a text button that calls `onClose`.\n * - Pass a `ReactElement` to render a fully custom action (e.g. a link or icon button).\n * In this case `onClose` is ignored for the action slot; wire dismissal inside the element.\n */\n action?: string | ReactElement;\n\n /**\n * Called when the user clicks the close (×) button.\n * When provided and `action` is absent, a close icon button is rendered automatically.\n * When `action` is a string, clicking that string-labelled button calls this handler.\n */\n onClose?: VoidFunction;\n\n /**\n * When true, the content area stretches to fill the full banner width.\n * Useful when `children` contains a layout that needs to span the entire space.\n */\n extendContentWidth?: boolean;\n}\n\nconst StyledBanner = styled('div')<BannerProps>`\n ${paragraphMixins.sm};\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n min-height: 40px;\n padding: ${Spacing[2]};\n border-radius: 4px;\n background: ${({ theme, variant }) => {\n const tokens = semanticTokens(theme);\n switch (variant) {\n case 'success':\n return tokens ? withAlpha(tokens.FeedbackSuccess1, tokens.Opacity15) : Color.CoreGreen100;\n case 'warning':\n return tokens ? withAlpha(tokens.FeedbackWarning1, tokens.Opacity15) : Color.CoreYellow100;\n case 'alert':\n return tokens ? withAlpha(tokens.FeedbackDanger1, tokens.Opacity15) : Color.CoreRed100;\n case 'informational':\n default:\n return tokens ? withAlpha(tokens.FeedbackInfo1, tokens.Opacity25) : Color.CorePurple100;\n }\n }};\n\n ${semanticOnly(\n (tokens) => css`\n color: ${tokens.FgPrimary};\n\n svg {\n color: ${tokens.FgPrimary};\n }\n `,\n )}\n`;\n\nconst BannerContent = styled.div<{ extendContentWidth?: boolean }>`\n display: flex;\n align-items: center;\n\n > svg:first-child {\n margin-right: ${Spacing[2]};\n flex-shrink: 0;\n }\n\n ${({ extendContentWidth }) =>\n extendContentWidth &&\n css`\n width: 100%;\n `}\n`;\n\nconst ActionButton = styled(Button)<{ isFocusVisible?: boolean }>`\n background-color: transparent;\n justify-self: space-between;\n\n &${isActive}${isNotDisabled}, &${isHovered}${isNotDisabled} {\n background-color: unset;\n }\n\n ${({ isFocusVisible }) =>\n !isFocusVisible &&\n css`\n &${isHovered}${isFocused}${isNotDisabled} {\n box-shadow: none;\n }\n &${isFocused}${isNotDisabled} {\n box-shadow: none;\n }\n `}\n`;\n\nexport const Banner = ({\n children,\n variant,\n action,\n onClose,\n extendContentWidth,\n ...elemProps\n}: BannerProps) => {\n const { isFocusVisible } = useFocusVisible();\n\n return (\n <StyledBanner variant={variant} role='alert' {...elemProps}>\n <BannerContent extendContentWidth={extendContentWidth}>{children}</BannerContent>\n {typeof action === 'string'\n ? onClose && (\n <ActionButton variant='basic' width='auto' size='sm' onClick={onClose}>\n {action}\n </ActionButton>\n )\n : action}\n {!action && onClose && (\n <ActionButton\n variant='basic'\n width='icon'\n size='sm'\n aria-label='Close'\n title='Close'\n onClick={onClose}\n isFocusVisible={isFocusVisible}\n >\n <XIcon />\n </ActionButton>\n )}\n </StyledBanner>\n );\n};\n\nexport default Banner;\n"],"mappings":";;;;;;;;;;;AAkDA,MAAM,eAAe,OAAO,MAAM;IAC9B,gBAAgB,GAAG;;;;;;aAMV,QAAQ,GAAG;;iBAEP,EAAE,OAAO,cAAc;CACpC,MAAM,SAAS,eAAe,MAAM;AACpC,SAAQ,SAAR;EACE,KAAK,UACH,QAAO,SAAS,UAAU,OAAO,kBAAkB,OAAO,UAAU,GAAG,MAAM;EAC/E,KAAK,UACH,QAAO,SAAS,UAAU,OAAO,kBAAkB,OAAO,UAAU,GAAG,MAAM;EAC/E,KAAK,QACH,QAAO,SAAS,UAAU,OAAO,iBAAiB,OAAO,UAAU,GAAG,MAAM;EAE9E,QACE,QAAO,SAAS,UAAU,OAAO,eAAe,OAAO,UAAU,GAAG,MAAM;;EAE9E;;IAEA,cACC,WAAW,GAAG;eACJ,OAAO,UAAU;;;iBAGf,OAAO,UAAU;;MAG/B,CAAC;;AAGJ,MAAM,gBAAgB,OAAO,GAAqC;;;;;oBAK9C,QAAQ,GAAG;;;;KAI1B,EAAE,yBACH,sBACA,GAAG;;MAED;;AAGN,MAAM,eAAe,OAAO,OAAO;;;;KAI9B,WAAW,cAAc,KAAK,YAAY,cAAc;;;;KAIxD,EAAE,qBACH,CAAC,kBACD,GAAG;SACE,YAAY,YAAY,cAAc;;;SAGtC,YAAY,cAAc;;;MAG7B;;AAGN,MAAa,UAAU,EACrB,UACA,SACA,QACA,SACA,oBACA,GAAG,gBACc;CACjB,MAAM,EAAE,mBAAmB,iBAAiB;AAE5C,QACE,qBAAC,cAAD;EAAuB;EAAS,MAAK;EAAQ,GAAI;YAAjD;GACE,oBAAC,eAAD;IAAmC;IAAqB;IAAyB,CAAA;GAChF,OAAO,WAAW,WACf,WACE,oBAAC,cAAD;IAAc,SAAQ;IAAQ,OAAM;IAAO,MAAK;IAAK,SAAS;cAC3D;IACY,CAAA,GAEjB;GACH,CAAC,UAAU,WACV,oBAAC,cAAD;IACE,SAAQ;IACR,OAAM;IACN,MAAK;IACL,cAAW;IACX,OAAM;IACN,SAAS;IACO;cAEhB,oBAAC,OAAD,EAAS,CAAA;IACI,CAAA;GAEJ"}
@@ -1,9 +1,9 @@
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 { useResizablePanel } from "../../lib/useResizablePanel.mjs";
3
3
  import { Z_INDICES } from "../../lib/zindex.mjs";
4
- import { t as IconButton } from "../../IconButton-BnSEV7eR.mjs";
5
- import { t as Badge } from "../../Badge-CM2TzkdE.mjs";
6
- import { i as TabBar, r as Tab } from "../../TabBar-CWF65Tv4.mjs";
4
+ import { t as IconButton } from "../../IconButton-CnJNIJVQ.mjs";
5
+ import { t as Badge } from "../../Badge-BtNIvtDZ.mjs";
6
+ import { i as TabBar, r as Tab } from "../../TabBar-Dw3xE_B-.mjs";
7
7
  import { Color, Spacing } from "@persona/design-tokens";
8
8
  import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "../../Breadcrumbs-D_Gzd4_J.mjs";
1
+ import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "../../Breadcrumbs-DdZ14ZFw.mjs";
2
2
  export { Breadcrumbs, Breadcrumbs as default, BreadcrumbsItemProps, BreadcrumbsProps };
@@ -1,2 +1,2 @@
1
- import { t as Breadcrumbs } from "../../Breadcrumbs-BEYQlGbW.mjs";
1
+ import { t as Breadcrumbs } from "../../Breadcrumbs-CR-xdruP.mjs";
2
2
  export { Breadcrumbs, Breadcrumbs as default };
@@ -1,3 +1,3 @@
1
- import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "../../Button-CRFbWv3l.mjs";
2
- import { t as IconButton } from "../../IconButton-Bh-JJ-0x.mjs";
1
+ import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "../../Button-CTgyA3gc.mjs";
2
+ import { t as IconButton } from "../../IconButton-PnrnqQ1s.mjs";
3
3
  export { Button, Button as default, ButtonChildren, ButtonProps, IconButton, StyledButton, SuffixIconContainer };
@@ -1,2 +1,2 @@
1
- import { a as SuffixIconContainer, i as StyledButton, n as Button, r as ButtonChildren, t as IconButton } from "../../IconButton-BnSEV7eR.mjs";
1
+ import { a as SuffixIconContainer, i as StyledButton, n as Button, r as ButtonChildren, t as IconButton } from "../../IconButton-CnJNIJVQ.mjs";
2
2
  export { Button, Button as default, ButtonChildren, IconButton, StyledButton, SuffixIconContainer };
@@ -1,6 +1,8 @@
1
- import { a as styled, r as css } from "../../styledComponentsInterop-8zScIQyC.mjs";
2
- import { t as IconButton } from "../../IconButton-BnSEV7eR.mjs";
3
- import { n as useFormField } from "../../useFormField-C-K1lgmv.mjs";
1
+ import { a as styled, r as css } from "../../styledComponentsInterop-NxwFjeA4.mjs";
2
+ import { semanticOnly } from "../../lib/semanticColor.mjs";
3
+ import { withAlpha } from "../../lib/color.mjs";
4
+ import { o as buttonPalette, t as IconButton } from "../../IconButton-CnJNIJVQ.mjs";
5
+ import { n as useFormField } from "../../useFormField-DhYd6bNn.mjs";
4
6
  import { BorderRadius } from "@persona/design-tokens";
5
7
  import { forwardRef } from "react";
6
8
  import { jsx } from "react/jsx-runtime";
@@ -15,7 +17,7 @@ const OptionItem = styled(IconButton)`
15
17
  border-radius: ${BorderRadius.Md};
16
18
  width: 32px;
17
19
  height: 32px;
18
- background-color: ${({ theme }) => theme.color.variants.basic.default};
20
+ background-color: ${({ theme }) => buttonPalette(theme, "basic").default};
19
21
  white-space: nowrap;
20
22
 
21
23
  // radix-toggle-group adds a wrapping div to the options, so this is to
@@ -27,9 +29,15 @@ const OptionItem = styled(IconButton)`
27
29
  }
28
30
 
29
31
  &[data-state='on'] {
30
- background-color: ${({ theme }) => theme.color.variants.basic.active};
32
+ background-color: ${({ theme }) => buttonPalette(theme, "basic").active};
31
33
  }
32
34
 
35
+ ${semanticOnly((tokens) => css`
36
+ &:disabled {
37
+ background-color: ${withAlpha(tokens.ActionNeutral, tokens.Opacity65)};
38
+ }
39
+ `)}
40
+
33
41
  &:first-child {
34
42
  border-top-right-radius: 0;
35
43
  border-bottom-right-radius: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport type {\n ToggleGroupMultipleProps,\n ToggleGroupSingleProps,\n} from '@radix-ui/react-toggle-group';\nimport { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BorderRadius } from '@persona/design-tokens';\nimport IconButton from 'design-system/components/Button/IconButton';\nimport useFormField from 'design-system/components/FormControl/useFormField';\n\nexport interface ButtonGroupProps {\n id?: string;\n className?: string;\n fullWidth?: boolean;\n}\n\nconst OptionItem = styled(IconButton)`\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n flex: 1;\n border-radius: ${BorderRadius.Md};\n width: 32px;\n height: 32px;\n background-color: ${({ theme }) => theme.color.variants.basic.default};\n white-space: nowrap;\n\n // radix-toggle-group adds a wrapping div to the options, so this is to\n // make sure the content is always center-aligned\n & > div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &[data-state='on'] {\n background-color: ${({ theme }) => theme.color.variants.basic.active};\n }\n\n &:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n\n &[tabindex='0'] {\n z-index: 1;\n }\n`;\n\nconst ButtonGroupContainer = styled.div<{ fullWidth?: boolean }>`\n display: inline-flex;\n justify-content: space-between;\n border-radius: 4px;\n width: ${({ fullWidth }) => (fullWidth ? `100%` : `max-content`)};\n gap: 1px;\n\n > * {\n ${({ fullWidth }) =>\n fullWidth &&\n css`\n flex: 1;\n `}\n }\n`;\n\nexport const ButtonGroup = ({\n children,\n fullWidth,\n ...props\n}: (ToggleGroupSingleProps | ToggleGroupMultipleProps) & ButtonGroupProps) => {\n const { disabled } = props;\n const field = useFormField({ inputId: props.id, disabled });\n\n return (\n <ToggleGroupPrimitive.Root\n {...props}\n disabled={field.disabled}\n aria-describedby={field.helperTextId}\n aria-errormessage={field.hasError ? field.helperTextId : undefined}\n aria-invalid={field.hasError}\n >\n <ButtonGroupContainer fullWidth={fullWidth} {...props}>\n {children}\n </ButtonGroupContainer>\n </ToggleGroupPrimitive.Root>\n );\n};\n\nexport default ButtonGroup;\n\nconst ButtonItem = forwardRef<HTMLButtonElement, ToggleGroupPrimitive.ToggleGroupItemProps>(\n function ButtonItem(props: ToggleGroupPrimitive.ToggleGroupItemProps, forwardedRef) {\n return <OptionItem ref={forwardedRef} {...props} />;\n },\n);\n\nexport const ButtonGroupItem = forwardRef<\n HTMLButtonElement,\n ToggleGroupPrimitive.ToggleGroupItemProps\n>(function ButtonGroupItem({ children, ...props }, forwardedRef) {\n return (\n <ToggleGroupPrimitive.Item {...props} ref={forwardedRef} asChild>\n <ButtonItem {...props}>{children}</ButtonItem>\n </ToggleGroupPrimitive.Item>\n );\n});\n"],"mappings":";;;;;;;;AAkBA,MAAM,aAAa,OAAO,WAAW;;;;;;mBAMlB,aAAa,GAAG;;;uBAGZ,EAAE,YAAY,MAAM,MAAM,SAAS,MAAM,QAAQ;;;;;;;;;;;;yBAY/C,EAAE,YAAY,MAAM,MAAM,SAAS,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;AAsBzE,MAAM,uBAAuB,OAAO,GAA4B;;;;YAIpD,EAAE,gBAAiB,YAAY,SAAS,cAAe;;;;OAI5D,EAAE,gBACH,aACA,GAAG;;QAED;;;AAIR,MAAa,eAAe,EAC1B,UACA,WACA,GAAG,YACyE;CAC5E,MAAM,EAAE,aAAa;CACrB,MAAM,QAAQ,aAAa;EAAE,SAAS,MAAM;EAAI;EAAU,CAAC;AAE3D,QACE,oBAAC,qBAAqB,MAAtB;EACE,GAAI;EACJ,UAAU,MAAM;EAChB,oBAAkB,MAAM;EACxB,qBAAmB,MAAM,WAAW,MAAM,eAAe,KAAA;EACzD,gBAAc,MAAM;YAEpB,oBAAC,sBAAD;GAAiC;GAAW,GAAI;GAC7C;GACoB,CAAA;EACG,CAAA;;AAMhC,MAAM,aAAa,WACjB,SAAS,WAAW,OAAkD,cAAc;AAClF,QAAO,oBAAC,YAAD;EAAY,KAAK;EAAc,GAAI;EAAS,CAAA;EAEtD;AAED,MAAa,kBAAkB,WAG7B,SAAS,gBAAgB,EAAE,UAAU,GAAG,SAAS,cAAc;AAC/D,QACE,oBAAC,qBAAqB,MAAtB;EAA2B,GAAI;EAAO,KAAK;EAAc,SAAA;YACvD,oBAAC,YAAD;GAAY,GAAI;GAAQ;GAAsB,CAAA;EACpB,CAAA;EAE9B"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport type {\n ToggleGroupMultipleProps,\n ToggleGroupSingleProps,\n} from '@radix-ui/react-toggle-group';\nimport { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BorderRadius } from '@persona/design-tokens';\nimport IconButton from 'design-system/components/Button/IconButton';\nimport { buttonPalette } from 'design-system/components/Button/palette';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { withAlpha } from 'design-system/lib/color';\nimport { semanticOnly } from 'design-system/lib/semanticColor';\n\nexport interface ButtonGroupProps {\n id?: string;\n className?: string;\n fullWidth?: boolean;\n}\n\nconst OptionItem = styled(IconButton)`\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n flex: 1;\n border-radius: ${BorderRadius.Md};\n width: 32px;\n height: 32px;\n background-color: ${({ theme }) => buttonPalette(theme, 'basic').default};\n white-space: nowrap;\n\n // radix-toggle-group adds a wrapping div to the options, so this is to\n // make sure the content is always center-aligned\n & > div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &[data-state='on'] {\n background-color: ${({ theme }) => buttonPalette(theme, 'basic').active};\n }\n\n ${semanticOnly(\n (tokens) => css`\n &:disabled {\n background-color: ${withAlpha(tokens.ActionNeutral, tokens.Opacity65)};\n }\n `,\n )}\n\n &:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n\n &[tabindex='0'] {\n z-index: 1;\n }\n`;\n\nconst ButtonGroupContainer = styled.div<{ fullWidth?: boolean }>`\n display: inline-flex;\n justify-content: space-between;\n border-radius: 4px;\n width: ${({ fullWidth }) => (fullWidth ? `100%` : `max-content`)};\n gap: 1px;\n\n > * {\n ${({ fullWidth }) =>\n fullWidth &&\n css`\n flex: 1;\n `}\n }\n`;\n\nexport const ButtonGroup = ({\n children,\n fullWidth,\n ...props\n}: (ToggleGroupSingleProps | ToggleGroupMultipleProps) & ButtonGroupProps) => {\n const { disabled } = props;\n const field = useFormField({ inputId: props.id, disabled });\n\n return (\n <ToggleGroupPrimitive.Root\n {...props}\n disabled={field.disabled}\n aria-describedby={field.helperTextId}\n aria-errormessage={field.hasError ? field.helperTextId : undefined}\n aria-invalid={field.hasError}\n >\n <ButtonGroupContainer fullWidth={fullWidth} {...props}>\n {children}\n </ButtonGroupContainer>\n </ToggleGroupPrimitive.Root>\n );\n};\n\nexport default ButtonGroup;\n\nconst ButtonItem = forwardRef<HTMLButtonElement, ToggleGroupPrimitive.ToggleGroupItemProps>(\n function ButtonItem(props: ToggleGroupPrimitive.ToggleGroupItemProps, forwardedRef) {\n return <OptionItem ref={forwardedRef} {...props} />;\n },\n);\n\nexport const ButtonGroupItem = forwardRef<\n HTMLButtonElement,\n ToggleGroupPrimitive.ToggleGroupItemProps\n>(function ButtonGroupItem({ children, ...props }, forwardedRef) {\n return (\n <ToggleGroupPrimitive.Item {...props} ref={forwardedRef} asChild>\n <ButtonItem {...props}>{children}</ButtonItem>\n </ToggleGroupPrimitive.Item>\n );\n});\n"],"mappings":";;;;;;;;;;AAqBA,MAAM,aAAa,OAAO,WAAW;;;;;;mBAMlB,aAAa,GAAG;;;uBAGZ,EAAE,YAAY,cAAc,OAAO,QAAQ,CAAC,QAAQ;;;;;;;;;;;;yBAYlD,EAAE,YAAY,cAAc,OAAO,QAAQ,CAAC,OAAO;;;IAGxE,cACC,WAAW,GAAG;;4BAES,UAAU,OAAO,eAAe,OAAO,UAAU,CAAC;;MAG3E,CAAC;;;;;;;;;;;;;;;;;;;;AAqBJ,MAAM,uBAAuB,OAAO,GAA4B;;;;YAIpD,EAAE,gBAAiB,YAAY,SAAS,cAAe;;;;OAI5D,EAAE,gBACH,aACA,GAAG;;QAED;;;AAIR,MAAa,eAAe,EAC1B,UACA,WACA,GAAG,YACyE;CAC5E,MAAM,EAAE,aAAa;CACrB,MAAM,QAAQ,aAAa;EAAE,SAAS,MAAM;EAAI;EAAU,CAAC;AAE3D,QACE,oBAAC,qBAAqB,MAAtB;EACE,GAAI;EACJ,UAAU,MAAM;EAChB,oBAAkB,MAAM;EACxB,qBAAmB,MAAM,WAAW,MAAM,eAAe,KAAA;EACzD,gBAAc,MAAM;YAEpB,oBAAC,sBAAD;GAAiC;GAAW,GAAI;GAC7C;GACoB,CAAA;EACG,CAAA;;AAMhC,MAAM,aAAa,WACjB,SAAS,WAAW,OAAkD,cAAc;AAClF,QAAO,oBAAC,YAAD;EAAY,KAAK;EAAc,GAAI;EAAS,CAAA;EAEtD;AAED,MAAa,kBAAkB,WAG7B,SAAS,gBAAgB,EAAE,UAAU,GAAG,SAAS,cAAc;AAC/D,QACE,oBAAC,qBAAqB,MAAtB;EAA2B,GAAI;EAAO,KAAK;EAAc,SAAA;YACvD,oBAAC,YAAD;GAAY,GAAI;GAAQ;GAAsB,CAAA;EACpB,CAAA;EAE9B"}
@@ -1,3 +1,3 @@
1
- import { a as Root, i as HeaderProps, n as Header, o as Title, r as HeaderContainer, s as TitleContainer, t as ActionsContainer } from "../../Header-BKk3qESS.mjs";
2
- import { n as SectionProps, r as _default, t as CardProps } from "../../Card-BoGV5tY2.mjs";
1
+ import { a as Root, i as HeaderProps, n as Header, o as Title, r as HeaderContainer, s as TitleContainer, t as ActionsContainer } from "../../Header-1laYnwRP.mjs";
2
+ import { n as SectionProps, r as _default, t as CardProps } from "../../Card-Dorym91P.mjs";
3
3
  export { ActionsContainer, CardProps, Header, HeaderContainer, HeaderProps, Root, SectionProps, Title, TitleContainer, _default as default };
@@ -1,2 +1,2 @@
1
- import { a as Root, i as HeaderContainer, n as ActionsContainer, o as Title, r as Header, s as TitleContainer, t as Card_default } from "../../Card-CKrJtn1f.mjs";
1
+ import { a as Root, i as HeaderContainer, n as ActionsContainer, o as Title, r as Header, s as TitleContainer, t as Card_default } from "../../Card-vQIPtdXi.mjs";
2
2
  export { ActionsContainer, Header, HeaderContainer, Root, Title, TitleContainer, Card_default as default };
@@ -1,4 +1,4 @@
1
- import { i as TextAction, n as IconAction, r as MenuAction } from "../../Action-C2waxwIy.mjs";
1
+ import { i as TextAction, n as IconAction, r as MenuAction } from "../../Action-C2FTJhnQ.mjs";
2
2
  import { CARD_HEADING_STICKY_OFFSET } from "../../SectionHeading.mjs";
3
3
  import _default from "../../Card2.mjs";
4
4
  export { CARD_HEADING_STICKY_OFFSET, _default as Card, _default as default, type IconAction, type MenuAction, type TextAction };
@@ -1,2 +1,2 @@
1
- import { n as CARD_HEADING_STICKY_OFFSET, t as Card_default } from "../../CardV2-B2wx1NE3.mjs";
1
+ import { n as CARD_HEADING_STICKY_OFFSET, t as Card_default } from "../../CardV2-CBjhsfrn.mjs";
2
2
  export { CARD_HEADING_STICKY_OFFSET, Card_default as Card, Card_default as default };
@@ -1,2 +1,2 @@
1
- import { n as CheckboxProps, t as Checkbox } from "../../Checkbox-CwPXPLCi.mjs";
1
+ import { n as CheckboxProps, t as Checkbox } from "../../Checkbox-DRJXDs2T.mjs";
2
2
  export { Checkbox, Checkbox as default, CheckboxProps };
@@ -1,2 +1,2 @@
1
- import { t as Checkbox } from "../../Checkbox-DwZEsi7x.mjs";
1
+ import { t as Checkbox } from "../../Checkbox-BHZ7c7_6.mjs";
2
2
  export { Checkbox, Checkbox as default };
@@ -0,0 +1,2 @@
1
+ import { Prism } from "prism-react-renderer";
2
+ export { Prism as default };
@@ -0,0 +1,48 @@
1
+ import { Prism } from "prism-react-renderer";
2
+ //#region components/CodeHighlight/PrismWithLanguages.tsx
3
+ Prism.languages.handlebars = {
4
+ comment: /\{\{![\s\S]*?\}\}/,
5
+ delimiter: {
6
+ pattern: /^\{\{\{?|\}\}\}?$/,
7
+ alias: "punctuation"
8
+ },
9
+ string: /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,
10
+ number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,
11
+ boolean: /\b(?:false|true)\b/,
12
+ block: {
13
+ pattern: /^(\s*(?:~\s*)?)[#/]\S+?(?=\s*(?:~\s*)?$|\s)/,
14
+ lookbehind: true,
15
+ alias: "keyword"
16
+ },
17
+ brackets: {
18
+ pattern: /\[[^\]]+\]/,
19
+ inside: {
20
+ punctuation: /\[|\]/,
21
+ variable: /[\s\S]+/
22
+ }
23
+ },
24
+ punctuation: /[!"#%&':()*+,./;<=>@[\\\]^`{|}~]/,
25
+ variable: /[^!"#%&'()*+,/;<=>@[\\\]^`{|}~\s]+/
26
+ };
27
+ Prism.languages.bash ??= {
28
+ string: /(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
29
+ comment: {
30
+ pattern: /(^|[^"{\\$])#.*/,
31
+ lookbehind: true
32
+ },
33
+ variable: /\$(?:[\w#?*!@-]+|\{[^}]*\})/,
34
+ function: {
35
+ pattern: /(^|[|&;]\s*)[\w./-]+/,
36
+ lookbehind: true
37
+ },
38
+ operator: /\|\||&&|\d?>>?|<<[-<]?|[|&<>]/,
39
+ number: /\b\d+\b/,
40
+ punctuation: /[{}[\];()]/
41
+ };
42
+ Prism.languages.shell ??= Prism.languages.bash;
43
+ Prism.languages.mustache = Prism.languages.handlebars;
44
+ var PrismWithLanguages_default = Prism;
45
+ //#endregion
46
+ export { PrismWithLanguages_default as default };
47
+
48
+ //# sourceMappingURL=PrismWithLanguages.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrismWithLanguages.mjs","names":[],"sources":["../../../components/CodeHighlight/PrismWithLanguages.tsx"],"sourcesContent":["import { Prism } from 'prism-react-renderer';\n\nPrism.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/,\n alias: 'punctuation',\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n boolean: /\\b(?:false|true)\\b/,\n block: {\n pattern: /^(\\s*(?:~\\s*)?)[#/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/,\n lookbehind: true,\n alias: 'keyword',\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/,\n },\n },\n punctuation: /[!\"#%&':()*+,./;<=>@[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,/;<=>@[\\\\\\]^`{|}~\\s]+/,\n};\n\n// Fallback only: a build that bundles the real bash grammar keeps it. String precedes comment so\n// that a `#` inside quotes stays part of the string.\nPrism.languages.bash ??= {\n string: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n comment: {\n pattern: /(^|[^\"{\\\\$])#.*/,\n lookbehind: true,\n },\n variable: /\\$(?:[\\w#?*!@-]+|\\{[^}]*\\})/,\n function: {\n pattern: /(^|[|&;]\\s*)[\\w./-]+/,\n lookbehind: true,\n },\n operator: /\\|\\||&&|\\d?>>?|<<[-<]?|[|&<>]/,\n number: /\\b\\d+\\b/,\n punctuation: /[{}[\\];()]/,\n};\n\nPrism.languages.shell ??= Prism.languages.bash;\n\nPrism.languages.mustache = Prism.languages.handlebars;\n\nexport default Prism;\n"],"mappings":";;AAEA,MAAM,UAAU,aAAa;CAC3B,SAAS;CACT,WAAW;EACT,SAAS;EACT,OAAO;EACR;CACD,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,OAAO;EACL,SAAS;EACT,YAAY;EACZ,OAAO;EACR;CACD,UAAU;EACR,SAAS;EACT,QAAQ;GACN,aAAa;GACb,UAAU;GACX;EACF;CACD,aAAa;CACb,UAAU;CACX;AAID,MAAM,UAAU,SAAS;CACvB,QAAQ;CACR,SAAS;EACP,SAAS;EACT,YAAY;EACb;CACD,UAAU;CACV,UAAU;EACR,SAAS;EACT,YAAY;EACb;CACD,UAAU;CACV,QAAQ;CACR,aAAa;CACd;AAED,MAAM,UAAU,UAAU,MAAM,UAAU;AAE1C,MAAM,UAAU,WAAW,MAAM,UAAU;AAE3C,IAAA,6BAAe"}
@@ -0,0 +1,2 @@
1
+ import CodeHighlight from "../../CodeHighlight.mjs";
2
+ export { CodeHighlight as default };