@persona/design-system 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +3 -3
  3. package/dist/{Action-DnR0YTxO.d.mts → Action-DL3kHI9Z.d.mts} +3 -3
  4. package/dist/Action.d.mts +1 -1
  5. package/dist/AdvancedFilterRuleRow.d.mts +2 -2
  6. package/dist/AdvancedFilterRulesPopover.d.mts +2 -2
  7. package/dist/ArrayValueControl.d.mts +1 -1
  8. package/dist/Attribute.d.mts +4 -4
  9. package/dist/{Badge-DRn_r6is.mjs → Badge-BL0J5oMa.mjs} +3 -3
  10. package/dist/{Badge-DRn_r6is.mjs.map → Badge-BL0J5oMa.mjs.map} +1 -1
  11. package/dist/BooleanValueControl.d.mts +1 -1
  12. package/dist/{Breadcrumb-DEwZFJHF.d.mts → Breadcrumb-Czgdi0xf.d.mts} +1 -1
  13. package/dist/Breadcrumb.d.mts +1 -1
  14. package/dist/{Breadcrumbs-Byf2ye6H.mjs → Breadcrumbs-ed4wRDS7.mjs} +10 -10
  15. package/dist/{Breadcrumbs-Byf2ye6H.mjs.map → Breadcrumbs-ed4wRDS7.mjs.map} +1 -1
  16. package/dist/{Breadcrumbs-0e_3v9FF.d.mts → Breadcrumbs-zei-cpdU.d.mts} +2 -2
  17. package/dist/Breadcrumbs.d.mts +1 -1
  18. package/dist/{Button-DkjwN_Op.d.mts → Button-CKzNTpPL.d.mts} +3 -3
  19. package/dist/Button.d.mts +1 -1
  20. package/dist/Calendar-CcxN7y3e.d.mts +12 -0
  21. package/dist/Calendar.d.mts +2 -12
  22. package/dist/CalendarBase.d.mts +1 -1
  23. package/dist/{Card-CLTkZLKr.mjs → Card-CKrJtn1f.mjs} +5 -5
  24. package/dist/{Card-CLTkZLKr.mjs.map → Card-CKrJtn1f.mjs.map} +1 -1
  25. package/dist/{Card-DxFajLnx.d.mts → Card-pr4FQWjn.d.mts} +4 -4
  26. package/dist/Card.d.mts +1 -1
  27. package/dist/Card2.d.mts +4 -4
  28. package/dist/{CardV2-m9yOInMU.mjs → CardV2-D3m5EKlp.mjs} +19 -13
  29. package/dist/CardV2-D3m5EKlp.mjs.map +1 -0
  30. package/dist/{Checkbox-CU27-Aa8.mjs → Checkbox-Ccuicmlo.mjs} +8 -8
  31. package/dist/Checkbox-Ccuicmlo.mjs.map +1 -0
  32. package/dist/ChoicesValueControl.d.mts +1 -1
  33. package/dist/{Combobox-DhTUY8JT.mjs → Combobox-BGRyr_-L.mjs} +12 -12
  34. package/dist/{Combobox-DhTUY8JT.mjs.map → Combobox-BGRyr_-L.mjs.map} +1 -1
  35. package/dist/{Combobox-BgKEHP9p.d.mts → Combobox-Bf_Xe1BG.d.mts} +3 -3
  36. package/dist/Combobox.d.mts +2 -2
  37. package/dist/{ComboboxBase-Dmzn8a53.d.mts → ComboboxBase-CWzN8GML.d.mts} +7 -7
  38. package/dist/ComboboxBase.d.mts +1 -1
  39. package/dist/{ComboboxMultiSelect-BLKUKNEW.d.mts → ComboboxMultiSelect-iSuvyOx2.d.mts} +2 -2
  40. package/dist/ComboboxMultiSelect.d.mts +1 -1
  41. package/dist/{ComboboxSingleSelect-Kpl-iOok.d.mts → ComboboxSingleSelect-DVRFKPi1.d.mts} +4 -4
  42. package/dist/ComboboxSingleSelect.d.mts +1 -1
  43. package/dist/{CompactBar-E9hPDRvI.d.mts → CompactBar-C_61pgp7.d.mts} +3 -3
  44. package/dist/CompactBar.d.mts +1 -1
  45. package/dist/{ConfigFormGroup-GgzSDzgL.mjs → ConfigFormGroup-DGCTW3by.mjs} +3 -3
  46. package/dist/{ConfigFormGroup-GgzSDzgL.mjs.map → ConfigFormGroup-DGCTW3by.mjs.map} +1 -1
  47. package/dist/{ControlBar-DYrjBDzu.d.mts → ControlBar-0XwbM4yC.d.mts} +2 -2
  48. package/dist/ControlBar.d.mts +1 -1
  49. package/dist/DataTable.d.mts +3 -3
  50. package/dist/DateField-CKeSIhGy.d.mts +23 -0
  51. package/dist/DateField.d.mts +2 -23
  52. package/dist/DatePicker-B1iWrqR5.d.mts +19 -0
  53. package/dist/{DatePicker-DpGvo7Bd.mjs → DatePicker-BNnZ6L1y.mjs} +37 -19
  54. package/dist/DatePicker-BNnZ6L1y.mjs.map +1 -0
  55. package/dist/DatePicker.d.mts +2 -19
  56. package/dist/DateRangePicker-BmF9eH9R.d.mts +53 -0
  57. package/dist/DateRangePicker.d.mts +2 -53
  58. package/dist/DateRangeValueControl.d.mts +19 -0
  59. package/dist/DateValueControl.d.mts +1 -1
  60. package/dist/{DropdownButton-DGgfGW_o.mjs → DropdownButton-BlVeFbJ0.mjs} +3 -3
  61. package/dist/{DropdownButton-DGgfGW_o.mjs.map → DropdownButton-BlVeFbJ0.mjs.map} +1 -1
  62. package/dist/DropdownButton.d.mts +2 -2
  63. package/dist/{DropdownMenu-DZIFSJXD.mjs → DropdownMenu-82xH1AZr.mjs} +3 -3
  64. package/dist/{DropdownMenu-DZIFSJXD.mjs.map → DropdownMenu-82xH1AZr.mjs.map} +1 -1
  65. package/dist/{DropdownMenu-B2t3Bwky.d.mts → DropdownMenu-DuTnq9j7.d.mts} +3 -3
  66. package/dist/DropdownMenu.d.mts +1 -1
  67. package/dist/{FieldRegistry-COyIA4VU.d.mts → FieldRegistry-D1vghSC_.d.mts} +2 -2
  68. package/dist/FieldRegistry.d.mts +1 -1
  69. package/dist/{FilterBar-CS2YjiTr.d.mts → FilterBar-Ck085Dic.d.mts} +5 -8
  70. package/dist/FilterBar.d.mts +1 -1
  71. package/dist/FilterPickerMenu.d.mts +2 -2
  72. package/dist/FilterPill.d.mts +1 -1
  73. package/dist/FilterPopover.d.mts +2 -12
  74. package/dist/FloatValueControl.d.mts +1 -1
  75. package/dist/FloatingPanel.d.mts +80 -0
  76. package/dist/FloatingPanelContext.d.mts +33 -0
  77. package/dist/FloatingPanelRenderer.d.mts +7 -0
  78. package/dist/{FormControl-CZFmub1N.d.mts → FormControl-CfpwZGlD.d.mts} +2 -2
  79. package/dist/{FormControl-BIXJ-FPI.mjs → FormControl-D1HIqDKm.mjs} +6 -6
  80. package/dist/FormControl-D1HIqDKm.mjs.map +1 -0
  81. package/dist/FormControl.d.mts +1 -1
  82. package/dist/FormControlLabel.d.mts +2 -2
  83. package/dist/{FormField-8rlT8pm0.d.mts → FormField-0p4y0sS5.d.mts} +2 -2
  84. package/dist/{FormField-DcGQvgNW.mjs → FormField-CVnbsNvU.mjs} +46 -44
  85. package/dist/FormField-CVnbsNvU.mjs.map +1 -0
  86. package/dist/FormField.d.mts +1 -1
  87. package/dist/{Header-OLZuv8fF.d.mts → Header-gDUTQgWj.d.mts} +2 -2
  88. package/dist/Header.d.mts +1 -1
  89. package/dist/{HelperTooltip-CJDG7Ugp.d.mts → HelperTooltip-CqhiRb5g.d.mts} +2 -2
  90. package/dist/HelperTooltip.d.mts +1 -1
  91. package/dist/{HoverCopyableField-BHdCaR-R.mjs → HoverCopyableField-HWshrU_1.mjs} +32 -21
  92. package/dist/HoverCopyableField-HWshrU_1.mjs.map +1 -0
  93. package/dist/HoverCopyableField.d.mts +14 -3
  94. package/dist/{IconButton-DC4rh6ow.mjs → IconButton-BgL3QUVO.mjs} +9 -9
  95. package/dist/IconButton-BgL3QUVO.mjs.map +1 -0
  96. package/dist/{IconButton-Dc17jZPG.d.mts → IconButton-CLsHdYm7.d.mts} +2 -2
  97. package/dist/IconButton.d.mts +1 -1
  98. package/dist/ImageTile.d.mts +1 -1
  99. package/dist/InlineCombobox.d.mts +1 -1
  100. package/dist/InlineInput.d.mts +1 -1
  101. package/dist/{Input-DsS4J78T.d.mts → Input-BHHWpSKN.d.mts} +5 -5
  102. package/dist/{Input-PWfwMSJ7.mjs → Input-DoB8YswA.mjs} +5 -5
  103. package/dist/{Input-PWfwMSJ7.mjs.map → Input-DoB8YswA.mjs.map} +1 -1
  104. package/dist/Input.d.mts +1 -1
  105. package/dist/{InputProps-Buxtnz77.d.mts → InputProps-sHxlDiss.d.mts} +2 -2
  106. package/dist/InputProps.d.mts +1 -1
  107. package/dist/IntegerValueControl.d.mts +1 -1
  108. package/dist/LayoutLoadingSpinner.d.mts +11 -0
  109. package/dist/Link.d.mts +2 -2
  110. package/dist/{ListBox-BwD-q7wF.mjs → ListBox-B9uuMt2R.mjs} +23 -16
  111. package/dist/ListBox-B9uuMt2R.mjs.map +1 -0
  112. package/dist/{ListBox-Nl9aOBeh.d.mts → ListBox-BrY1bQ5-.d.mts} +3 -3
  113. package/dist/ListBox.d.mts +1 -1
  114. package/dist/ListBoxField.d.mts +5 -2
  115. package/dist/{LoadingShimmer-BPYPtFE1.mjs → LoadingShimmer-dsBWRdTU.mjs} +2 -2
  116. package/dist/{LoadingShimmer-BPYPtFE1.mjs.map → LoadingShimmer-dsBWRdTU.mjs.map} +1 -1
  117. package/dist/LoadingShimmer.d.mts +2 -2
  118. package/dist/{LogicRow-BAREMenx.d.mts → LogicRow-9a_klV2v.d.mts} +3 -3
  119. package/dist/LogicRow.d.mts +1 -1
  120. package/dist/MaskedInput.d.mts +2 -2
  121. package/dist/MatchHighlight.d.mts +1 -1
  122. package/dist/{Menu-DpM8o234.mjs → Menu-CHbUf9PQ.mjs} +5 -5
  123. package/dist/{Menu-DpM8o234.mjs.map → Menu-CHbUf9PQ.mjs.map} +1 -1
  124. package/dist/{Menu-DM9OoZ71.d.mts → Menu-D4Y_J-QI.d.mts} +4 -4
  125. package/dist/Menu.d.mts +1 -1
  126. package/dist/{MiddleTruncatedText-Bzpg3zAU.mjs → MiddleTruncatedText-DnF7F_1D.mjs} +2 -2
  127. package/dist/{MiddleTruncatedText-Bzpg3zAU.mjs.map → MiddleTruncatedText-DnF7F_1D.mjs.map} +1 -1
  128. package/dist/Modal.d.mts +4 -5
  129. package/dist/{PageHeader-Dq-J3san.mjs → PageHeader-XxGsFLHb.mjs} +4 -4
  130. package/dist/{PageHeader-Dq-J3san.mjs.map → PageHeader-XxGsFLHb.mjs.map} +1 -1
  131. package/dist/PageHeader.d.mts +2 -2
  132. package/dist/PageLayout.d.mts +1 -1
  133. package/dist/{PageSelector-Ca4TcyxG.d.mts → PageSelector-BDo3ge1E.d.mts} +2 -2
  134. package/dist/PageSelector.d.mts +1 -1
  135. package/dist/{Pagination-GALyid4q.mjs → Pagination-DvVKQLdC.mjs} +8 -8
  136. package/dist/{Pagination-GALyid4q.mjs.map → Pagination-DvVKQLdC.mjs.map} +1 -1
  137. package/dist/{Pii-BalLvfze.mjs → Pii-BD48BtZ0.mjs} +2 -2
  138. package/dist/{Pii-BalLvfze.mjs.map → Pii-BD48BtZ0.mjs.map} +1 -1
  139. package/dist/PillShell.d.mts +1 -1
  140. package/dist/{Popover-BZ5Bs80y.mjs → Popover-DNH8Jx1-.mjs} +4 -4
  141. package/dist/{Popover-BZ5Bs80y.mjs.map → Popover-DNH8Jx1-.mjs.map} +1 -1
  142. package/dist/{PseudoClassProps-CcSlKNev.d.mts → PseudoClassProps-DgT5G_z5.d.mts} +1 -1
  143. package/dist/PseudoClassProps.d.mts +1 -1
  144. package/dist/{Radio-CtPz3EzX.mjs → Radio-DSMPX5_2.mjs} +5 -5
  145. package/dist/Radio-DSMPX5_2.mjs.map +1 -0
  146. package/dist/{RadioGroup-sjBzFE_-.mjs → RadioGroup-D5IITQLz.mjs} +3 -3
  147. package/dist/{RadioGroup-sjBzFE_-.mjs.map → RadioGroup-D5IITQLz.mjs.map} +1 -1
  148. package/dist/{RadioGroup-Xn46ovrV.d.mts → RadioGroup-Jl1yAvGu.d.mts} +1 -1
  149. package/dist/RadioGroup.d.mts +1 -1
  150. package/dist/RuleEditorFields.d.mts +2 -2
  151. package/dist/RulesPill.d.mts +1 -1
  152. package/dist/{SearchInput-Try11aJD.d.mts → SearchInput-CaKHRC_s.d.mts} +2 -2
  153. package/dist/SearchInput.d.mts +1 -1
  154. package/dist/Section.d.mts +1 -1
  155. package/dist/SectionHeading.d.mts +77 -2
  156. package/dist/{SegmentedControl-BugnH-h2.mjs → SegmentedControl-JUgRw_M-.mjs} +3 -3
  157. package/dist/{SegmentedControl-BugnH-h2.mjs.map → SegmentedControl-JUgRw_M-.mjs.map} +1 -1
  158. package/dist/{SegmentedControl-DckAdhcD.d.mts → SegmentedControl-e6xDtoHC.d.mts} +1 -1
  159. package/dist/SegmentedControl.d.mts +1 -1
  160. package/dist/{Select-BmJ1OjXA.d.mts → Select-CPYztD4m.d.mts} +3 -3
  161. package/dist/{Select-DL-AjL0Q.mjs → Select-DX3toj6M.mjs} +10 -10
  162. package/dist/{Select-DL-AjL0Q.mjs.map → Select-DX3toj6M.mjs.map} +1 -1
  163. package/dist/Select.d.mts +1 -1
  164. package/dist/{Spacer-Ln3KChb5.mjs → Spacer-BsK8tTwA.mjs} +2 -2
  165. package/dist/{Spacer-Ln3KChb5.mjs.map → Spacer-BsK8tTwA.mjs.map} +1 -1
  166. package/dist/{Spinner-BgBCCHGo.mjs → Spinner-D3wXIoXN.mjs} +3 -3
  167. package/dist/{Spinner-BgBCCHGo.mjs.map → Spinner-D3wXIoXN.mjs.map} +1 -1
  168. package/dist/{Stack-ckRN7LrP.mjs → Stack-Bre2oiov.mjs} +2 -2
  169. package/dist/{Stack-ckRN7LrP.mjs.map → Stack-Bre2oiov.mjs.map} +1 -1
  170. package/dist/{Stack-CbcJykx9.d.mts → Stack-DHaK1-dw.d.mts} +2 -2
  171. package/dist/Stack.d.mts +1 -1
  172. package/dist/{Sticker-B0TbkV4o.mjs → Sticker-CQ6sOKUj.mjs} +6 -6
  173. package/dist/{Sticker-B0TbkV4o.mjs.map → Sticker-CQ6sOKUj.mjs.map} +1 -1
  174. package/dist/{Sticker-BIVuastf.d.mts → Sticker-DnSemOcW.d.mts} +5 -5
  175. package/dist/Sticker.d.mts +1 -1
  176. package/dist/StringValueControl.d.mts +1 -1
  177. package/dist/Tab.d.mts +2 -2
  178. package/dist/{TabBar-DLf4Hwa4.mjs → TabBar-sYllYizt.mjs} +6 -6
  179. package/dist/{TabBar-DLf4Hwa4.mjs.map → TabBar-sYllYizt.mjs.map} +1 -1
  180. package/dist/TabBarIconButton.d.mts +2 -2
  181. package/dist/{Table-C-mx8Uj0.mjs → Table-C2pkP5Xg.mjs} +7 -7
  182. package/dist/{Table-C-mx8Uj0.mjs.map → Table-C2pkP5Xg.mjs.map} +1 -1
  183. package/dist/{Table-8jXlKYLy.d.mts → Table-CFbPINKr.d.mts} +1 -1
  184. package/dist/Table.d.mts +1 -1
  185. package/dist/{TableBody-ByEcFueE.d.mts → TableBody-BQsGc4Lw.d.mts} +1 -1
  186. package/dist/TableBody.d.mts +1 -1
  187. package/dist/{TableBox-DGjKVQFO.mjs → TableBox-CaTHcR4F.mjs} +15 -15
  188. package/dist/{TableBox-DGjKVQFO.mjs.map → TableBox-CaTHcR4F.mjs.map} +1 -1
  189. package/dist/TableBox.d.mts +2 -2
  190. package/dist/{TableBoxCell-BmoPs1u1.d.mts → TableBoxCell-52g97gEg.d.mts} +7 -7
  191. package/dist/TableBoxCell.d.mts +1 -1
  192. package/dist/TableBoxField.d.mts +3 -3
  193. package/dist/{TableBoxRow-BAYvEDjT.d.mts → TableBoxRow-DnoumHIE.d.mts} +3 -3
  194. package/dist/TableBoxRow.d.mts +1 -1
  195. package/dist/{TableBoxRowActions-DRs4MdK0.d.mts → TableBoxRowActions-CDcREhP4.d.mts} +2 -2
  196. package/dist/TableBoxRowActions.d.mts +1 -1
  197. package/dist/TableCell.d.mts +1 -1
  198. package/dist/{TableControls-BK8DCsqi.mjs → TableControls-3bXyd8gS.mjs} +247 -103
  199. package/dist/TableControls-3bXyd8gS.mjs.map +1 -0
  200. package/dist/{TableControls-DscP6fyt.d.mts → TableControls-CrGGlkEG.d.mts} +4 -8
  201. package/dist/TableControls.d.mts +1 -1
  202. package/dist/{TableControlsContext-BeJ7GHPN.d.mts → TableControlsContext-BKZt2Jid.d.mts} +2 -2
  203. package/dist/TableControlsContext.d.mts +1 -1
  204. package/dist/{TableHead-g3afLl5B.d.mts → TableHead-CqVIJfjh.d.mts} +1 -1
  205. package/dist/TableHead.d.mts +1 -1
  206. package/dist/{TableHeaderCell-CWTMf2Fe.d.mts → TableHeaderCell-DK4R8vdK.d.mts} +1 -1
  207. package/dist/TableHeaderCell.d.mts +1 -1
  208. package/dist/{TableLayout-hPlVO3dD.d.mts → TableLayout-BcIazRB-.d.mts} +1 -1
  209. package/dist/TableLayout.d.mts +1 -1
  210. package/dist/{TableRow-lvjbVccA.d.mts → TableRow-DdJcjG2b.d.mts} +2 -2
  211. package/dist/TableRow.d.mts +1 -1
  212. package/dist/TableTH.d.mts +1 -1
  213. package/dist/{TableViewConfigurationDropdown-Ccxtk5dA.d.mts → TableViewConfigurationDropdown-CHBOjw7O.d.mts} +5 -3
  214. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  215. package/dist/{TechnicalSticker-BrvR0zhC.mjs → TechnicalSticker-D3eeGMDR.mjs} +6 -6
  216. package/dist/{TechnicalSticker-BrvR0zhC.mjs.map → TechnicalSticker-D3eeGMDR.mjs.map} +1 -1
  217. package/dist/{Text-hEoPeOc9.mjs → Text-B0orb-cZ.mjs} +2 -2
  218. package/dist/{Text-hEoPeOc9.mjs.map → Text-B0orb-cZ.mjs.map} +1 -1
  219. package/dist/{Text-CfIFUyHt.d.mts → Text-BIgrwIdS.d.mts} +4 -4
  220. package/dist/Text.d.mts +1 -1
  221. package/dist/{TextArea-DiKEhpfD.d.mts → TextArea-CiLttt0s.d.mts} +2 -2
  222. package/dist/{TextArea-BFsXUkuj.mjs → TextArea-DWXuV2aZ.mjs} +3 -3
  223. package/dist/{TextArea-BFsXUkuj.mjs.map → TextArea-DWXuV2aZ.mjs.map} +1 -1
  224. package/dist/TextArea.d.mts +1 -1
  225. package/dist/{TextUnderlineTooltip-Bs6Jn5yr.d.mts → TextUnderlineTooltip-_7mIrZ2-.d.mts} +3 -3
  226. package/dist/TextUnderlineTooltip.d.mts +1 -1
  227. package/dist/Tile.d.mts +1 -1
  228. package/dist/Toast.d.mts +1 -1
  229. package/dist/{Toggle-oukvAn6V.d.mts → Toggle-Cav7bMxg.d.mts} +1 -1
  230. package/dist/{Toggle-CC2FTAKS.mjs → Toggle-e8DCYa6i.mjs} +6 -6
  231. package/dist/{Toggle-CC2FTAKS.mjs.map → Toggle-e8DCYa6i.mjs.map} +1 -1
  232. package/dist/Toggle.d.mts +1 -1
  233. package/dist/{Tooltip-0iXDCV2O.d.mts → Tooltip-DX-N-szt.d.mts} +3 -3
  234. package/dist/{Tooltip-CDvOu1UN.mjs → Tooltip-iJcfJqxn.mjs} +4 -4
  235. package/dist/{Tooltip-CDvOu1UN.mjs.map → Tooltip-iJcfJqxn.mjs.map} +1 -1
  236. package/dist/Tooltip.d.mts +1 -1
  237. package/dist/{TruncatedText-CdeU19Ev.d.mts → TruncatedText-D2R7uy_y.d.mts} +2 -2
  238. package/dist/components/Attribute/index.mjs +8 -9
  239. package/dist/components/Attribute/index.mjs.map +1 -1
  240. package/dist/components/Badge/index.mjs +1 -1
  241. package/dist/components/Banner/index.mjs +3 -3
  242. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  243. package/dist/components/Breadcrumbs/index.mjs +1 -1
  244. package/dist/components/Button/index.d.mts +2 -2
  245. package/dist/components/Button/index.mjs +1 -1
  246. package/dist/components/ButtonGroup/index.mjs +3 -3
  247. package/dist/components/Card/index.d.mts +2 -2
  248. package/dist/components/Card/index.mjs +1 -1
  249. package/dist/components/CardV2/index.d.mts +3 -2
  250. package/dist/components/CardV2/index.mjs +2 -2
  251. package/dist/components/Checkbox/index.mjs +1 -1
  252. package/dist/components/Combobox/index.d.mts +2 -2
  253. package/dist/components/Combobox/index.mjs +1 -1
  254. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  255. package/dist/components/DataTable/TableControls/index.d.mts +16 -16
  256. package/dist/components/DataTable/TableControls/index.mjs +2 -2
  257. package/dist/components/DataTable/index.mjs +22 -24
  258. package/dist/components/DataTable/index.mjs.map +1 -1
  259. package/dist/components/DataTable/types.d.mts +2 -2
  260. package/dist/components/DatePicker/index.d.mts +4 -4
  261. package/dist/components/DatePicker/index.mjs +1 -1
  262. package/dist/components/DropdownButton/index.mjs +1 -1
  263. package/dist/components/DropdownMenu/index.d.mts +1 -1
  264. package/dist/components/DropdownMenu/index.mjs +1 -1
  265. package/dist/components/FloatingPanel/index.d.mts +5 -0
  266. package/dist/components/FloatingPanel/index.mjs +635 -0
  267. package/dist/components/FloatingPanel/index.mjs.map +1 -0
  268. package/dist/components/FormControl/index.d.mts +2 -2
  269. package/dist/components/FormControl/index.mjs +2 -2
  270. package/dist/components/FormField/index.d.mts +1 -1
  271. package/dist/components/FormField/index.mjs +1 -1
  272. package/dist/components/HoverCopyableField/index.d.mts +2 -2
  273. package/dist/components/HoverCopyableField/index.mjs +2 -2
  274. package/dist/components/ImageTile/index.mjs +9 -9
  275. package/dist/components/Input/index.d.mts +1 -1
  276. package/dist/components/Input/index.mjs +1 -1
  277. package/dist/components/Link/index.mjs +3 -3
  278. package/dist/components/Link/index.mjs.map +1 -1
  279. package/dist/components/ListBox/index.d.mts +3 -3
  280. package/dist/components/ListBox/index.mjs +1 -1
  281. package/dist/components/LoadingShimmer/index.mjs +1 -1
  282. package/dist/components/MaskedInput/index.mjs +1 -1
  283. package/dist/components/MatchHighlight/index.mjs +1 -1
  284. package/dist/components/Menu/index.d.mts +1 -1
  285. package/dist/components/Menu/index.mjs +1 -1
  286. package/dist/components/Modal/index.mjs +46 -17
  287. package/dist/components/Modal/index.mjs.map +1 -1
  288. package/dist/components/PageHeader/index.mjs +1 -1
  289. package/dist/components/Pagination/index.d.mts +1 -1
  290. package/dist/components/Pagination/index.mjs +1 -1
  291. package/dist/components/Pii/index.mjs +1 -1
  292. package/dist/components/Popover/index.mjs +1 -1
  293. package/dist/components/ProgressBar/index.mjs +4 -4
  294. package/dist/components/ProgressBar/index.mjs.map +1 -1
  295. package/dist/components/ProgressIndicator/index.mjs +2 -2
  296. package/dist/components/Radio/index.mjs +1 -1
  297. package/dist/components/RadioGroup/index.d.mts +1 -1
  298. package/dist/components/RadioGroup/index.mjs +1 -1
  299. package/dist/components/SegmentedControl/index.d.mts +1 -1
  300. package/dist/components/SegmentedControl/index.mjs +1 -1
  301. package/dist/components/Select/index.d.mts +1 -1
  302. package/dist/components/Select/index.mjs +1 -1
  303. package/dist/components/Slider/index.mjs +5 -5
  304. package/dist/components/Slider/index.mjs.map +1 -1
  305. package/dist/components/Spacer/index.mjs +1 -1
  306. package/dist/components/Spinner/index.mjs +1 -1
  307. package/dist/components/Stack/index.d.mts +1 -1
  308. package/dist/components/Stack/index.mjs +1 -1
  309. package/dist/components/StatusIndicator/index.mjs +2 -2
  310. package/dist/components/Sticker/index.d.mts +1 -1
  311. package/dist/components/Sticker/index.mjs +1 -1
  312. package/dist/components/SwatchPicker/index.mjs +1 -1
  313. package/dist/components/TabBar/index.mjs +1 -1
  314. package/dist/components/Table/index.d.mts +7 -7
  315. package/dist/components/Table/index.mjs +1 -1
  316. package/dist/components/TableBox/index.d.mts +2 -2
  317. package/dist/components/TableBox/index.mjs +1 -1
  318. package/dist/components/TechnicalSticker/index.mjs +1 -1
  319. package/dist/components/Text/index.d.mts +1 -1
  320. package/dist/components/Text/index.mjs +1 -1
  321. package/dist/components/TextArea/index.d.mts +1 -1
  322. package/dist/components/TextArea/index.mjs +1 -1
  323. package/dist/components/Tile/index.mjs +5 -5
  324. package/dist/components/Toast/index.mjs +5 -5
  325. package/dist/components/Toggle/index.d.mts +1 -1
  326. package/dist/components/Toggle/index.mjs +1 -1
  327. package/dist/components/Tooltip/index.d.mts +3 -3
  328. package/dist/components/Tooltip/index.mjs +1 -1
  329. package/dist/compound-expression.d.mts +1 -1
  330. package/dist/display.d.mts +1 -1
  331. package/dist/fieldPickerOptions.d.mts +2 -2
  332. package/dist/{filter-size-context-C1TvrE_O.d.mts → filter-size-context-C7injfBh.d.mts} +2 -2
  333. package/dist/filter-size-context.d.mts +1 -1
  334. package/dist/{index-BC4edEsD.d.mts → index-BPfK-u7y.d.mts} +2 -2
  335. package/dist/{index-CdaoOvFH.d.mts → index-BxBsQi2S.d.mts} +3 -3
  336. package/dist/{index-DJn4AeE4.d.mts → index-d_fTFuMM.d.mts} +4 -4
  337. package/dist/index.d.mts +1 -1
  338. package/dist/index2.d.mts +1 -1
  339. package/dist/index3.d.mts +3 -3
  340. package/dist/index4.d.mts +11 -11
  341. package/dist/{input-D3Qd6dI8.d.mts → input-D9FuQmlI.d.mts} +2 -2
  342. package/dist/inputFields.d.mts +10 -24
  343. package/dist/{intersperse-yd3oMrQl.mjs → intersperse-CLkblj9A.mjs} +1 -1
  344. package/dist/{intersperse-yd3oMrQl.mjs.map → intersperse-CLkblj9A.mjs.map} +1 -1
  345. package/dist/lib/ConfigContext.d.mts +4 -1
  346. package/dist/lib/ConfigContext.mjs.map +1 -1
  347. package/dist/lib/GlobalStyles.mjs +1 -1
  348. package/dist/lib/HeadlessAriaButton.mjs +1 -1
  349. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  350. package/dist/lib/PDSProvider.d.mts +1 -1
  351. package/dist/lib/PDSProvider.mjs +1 -1
  352. package/dist/lib/TruncatedText.d.mts +1 -1
  353. package/dist/lib/TruncatedText.mjs +1 -1
  354. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  355. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  356. package/dist/lib/embeddedSurfaceProtocol.d.mts +13 -1
  357. package/dist/lib/embeddedSurfaceProtocol.mjs +32 -5
  358. package/dist/lib/embeddedSurfaceProtocol.mjs.map +1 -1
  359. package/dist/lib/message.d.mts +1 -1
  360. package/dist/lib/pseudoClass.d.mts +1 -1
  361. package/dist/lib/useEmbeddedSurface.d.mts +31 -3
  362. package/dist/lib/useEmbeddedSurface.mjs +118 -13
  363. package/dist/lib/useEmbeddedSurface.mjs.map +1 -1
  364. package/dist/{message-CsK3sIq0.d.mts → message-CqKB5mko.d.mts} +1 -1
  365. package/dist/mixins/focus.d.mts +1 -1
  366. package/dist/mixins/focus.mjs +1 -1
  367. package/dist/mixins/hoverable.d.mts +2 -2
  368. package/dist/mixins/hoverable.mjs +2 -2
  369. package/dist/mixins/input.d.mts +1 -1
  370. package/dist/mixins/input.mjs +2 -2
  371. package/dist/mixins/menuItem.d.mts +2 -2
  372. package/dist/mixins/menuItem.mjs +1 -1
  373. package/dist/mixins/print/index.mjs +1 -1
  374. package/dist/mixins/text.d.mts +1 -1
  375. package/dist/mixins/text.mjs +1 -1
  376. package/dist/{operators-C_xPzItk.d.mts → operators-CgcsYzfy.d.mts} +24 -3
  377. package/dist/operators.d.mts +2 -2
  378. package/dist/patterns/LayoutLoadingShimmer/index.mjs +6 -6
  379. package/dist/patterns/LayoutLoadingSpinner/index.d.mts +2 -0
  380. package/dist/patterns/LayoutLoadingSpinner/index.mjs +56 -0
  381. package/dist/patterns/LayoutLoadingSpinner/index.mjs.map +1 -0
  382. package/dist/patterns/PageLayout/index.mjs +1 -1
  383. package/dist/styledComponentsInterop-8zScIQyC.mjs +33 -0
  384. package/dist/styledComponentsInterop-8zScIQyC.mjs.map +1 -0
  385. package/dist/{text-BaQdW8qa.d.mts → text-xwtyWIbE.d.mts} +1 -1
  386. package/dist/{theme-D9Y6NOzb.d.mts → theme-Ftogn9Wo.d.mts} +1 -1
  387. package/dist/theme.d.mts +1 -1
  388. package/dist/{types-CjHuZoVJ.d.mts → types-0_9G0kWg.d.mts} +3 -1
  389. package/dist/{types-BKEwt0uq.d.mts → types-BrNreYUU.d.mts} +2 -2
  390. package/dist/{types-mb3woqzE.d.mts → types-D55MZSyx.d.mts} +6 -3
  391. package/dist/types.d.mts +1 -1
  392. package/dist/types2.d.mts +1 -1
  393. package/dist/types3.d.mts +1 -1
  394. package/dist/useComboboxFooterAction.d.mts +1 -1
  395. package/dist/{useFilterStateV2-CGzRyv0i.d.mts → useFilterStateV2-D8Q8QKhS.d.mts} +3 -3
  396. package/dist/useFilterStateV2.d.mts +1 -1
  397. package/dist/{useFormField-DhwEi45-.d.mts → useFormField-BBbq1izo.d.mts} +1 -1
  398. package/dist/{useFormField-eftOPiXj.mjs → useFormField-Bz2iMPBO.mjs} +2 -2
  399. package/dist/{useFormField-eftOPiXj.mjs.map → useFormField-Bz2iMPBO.mjs.map} +1 -1
  400. package/dist/useFormField.d.mts +1 -1
  401. package/dist/{useFormGroup-BMukAMAd.mjs → useFormGroup-CaTiD_Yt.mjs} +1 -1
  402. package/dist/{useFormGroup-BMukAMAd.mjs.map → useFormGroup-CaTiD_Yt.mjs.map} +1 -1
  403. package/dist/{useTableBoxDragAndDrop-CsnN52lx.d.mts → useTableBoxDragAndDrop-Bye8gJTl.d.mts} +1 -1
  404. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  405. package/dist/{useToggle-3k3EkV8V.mjs → useToggle-Bo3yd14Y.mjs} +1 -1
  406. package/dist/{useToggle-3k3EkV8V.mjs.map → useToggle-Bo3yd14Y.mjs.map} +1 -1
  407. package/dist/useTruncation.d.mts +1 -1
  408. package/dist/{utilities-DnSIlR1i.d.mts → utilities-Bmwk_DRn.d.mts} +1 -1
  409. package/dist/utilities.d.mts +1 -1
  410. package/dist/utils/storybook.mjs +1 -1
  411. package/dist/utils.d.mts +1 -1
  412. package/dist/utils2.d.mts +12 -1
  413. package/dist/utils3.d.mts +7 -0
  414. package/dist/{validation-BdP2vajF.d.mts → validation-CAtTuHO9.d.mts} +3 -3
  415. package/dist/validation.d.mts +1 -1
  416. package/dist/{value-control-resolver-CiGEHQAc.d.mts → value-control-resolver-DadI8r9a.d.mts} +2 -2
  417. package/dist/value-control-resolver.d.mts +1 -1
  418. package/dist/variables/keyframes.mjs +1 -1
  419. package/llms.txt +5 -5
  420. package/package.json +8 -3
  421. package/skills/ui-authoring/COMPONENTS.md +69 -305
  422. package/skills/ui-authoring/PATTERNS.md +362 -0
  423. package/skills/ui-authoring/SKILL.md +15 -147
  424. package/skills/ui-authoring/TOKENS.md +400 -0
  425. package/dist/CardV2-m9yOInMU.mjs.map +0 -1
  426. package/dist/Checkbox-CU27-Aa8.mjs.map +0 -1
  427. package/dist/DatePicker-DpGvo7Bd.mjs.map +0 -1
  428. package/dist/FormControl-BIXJ-FPI.mjs.map +0 -1
  429. package/dist/FormField-DcGQvgNW.mjs.map +0 -1
  430. package/dist/HoverCopyableField-BHdCaR-R.mjs.map +0 -1
  431. package/dist/IconButton-DC4rh6ow.mjs.map +0 -1
  432. package/dist/ListBox-BwD-q7wF.mjs.map +0 -1
  433. package/dist/Radio-CtPz3EzX.mjs.map +0 -1
  434. package/dist/SectionHeading-DvP9NEgN.d.mts +0 -71
  435. package/dist/TableControls-BK8DCsqi.mjs.map +0 -1
  436. package/skills/ui-authoring/EXAMPLES.md +0 -370
  437. package/skills/ui-authoring/REFERENCE.md +0 -293
  438. /package/dist/{index-7rWKHdox.d.mts → index-BSVhZrWN.d.mts} +0 -0
  439. /package/dist/{index-B4woaFSm.d.mts → index-BrGZHEgX.d.mts} +0 -0
  440. /package/dist/{index-BOn0AAue.d.mts → index-BwAfCVZH2.d.mts} +0 -0
  441. /package/dist/{index-CKKoxA9V.d.mts → index-CDGG7lCB.d.mts} +0 -0
  442. /package/dist/{index-CRo77wc3.d.mts → index-CFhUdAHM.d.mts} +0 -0
  443. /package/dist/{index-Ci-uuV07.d.mts → index-CROz1VSV.d.mts} +0 -0
  444. /package/dist/{index-DDdPqD_H.d.mts → index-DA6_cwf8.d.mts} +0 -0
  445. /package/dist/{index-Es5nKSSL.d.mts → index-DM6vVDZD.d.mts} +0 -0
  446. /package/dist/{index-FtE8MXJ_.d.mts → index-Jh0C5PIG.d.mts} +0 -0
  447. /package/dist/{index-ehD5GjMH.d.mts → index-PWQavSPf.d.mts} +0 -0
  448. /package/dist/{index-uMNhmxEh.d.mts → index-sViox9YW.d.mts} +0 -0
@@ -1,370 +0,0 @@
1
- # PDS UI Examples
2
-
3
- Common patterns for building UI with the Persona design system.
4
-
5
- ## Table of Contents
6
-
7
- - [Buttons](#buttons)
8
- - [Forms](#forms)
9
- - [Modals](#modals)
10
- - [Data Tables](#data-tables)
11
- - [Status Indicators](#status-indicators)
12
- - [Layout](#layout)
13
- - [Navigation — Tabs](#navigation--tabs)
14
- - [Text Components](#text-components)
15
- - [Feedback Components](#feedback-components)
16
- - [Empty States](#empty-states)
17
-
18
- ## Buttons
19
-
20
- ```tsx
21
- import Button from '@persona/design-system/components/Button';
22
- import { PlusIcon, ArrowRightIcon } from '@persona/icons';
23
-
24
- // Variants
25
- <Button variant="primary" size="md">Save Changes</Button>
26
- <Button variant="basic" size="md">Cancel</Button>
27
- <Button variant="danger" size="md">Delete Account</Button>
28
- <Button variant="outline" size="md">Learn More</Button>
29
- <Button variant="text" size="md">Skip</Button>
30
-
31
- // States
32
- <Button variant="primary" disabled>Submit</Button>
33
- <Button variant="primary" isPending>Saving...</Button>
34
-
35
- // With icons
36
- <Button variant="primary" prefixIcon={<PlusIcon />}>Add Item</Button>
37
- <Button variant="basic" suffixIcon={<ArrowRightIcon />}>Next</Button>
38
-
39
- // Icon-only (must include aria-label)
40
- <Button variant="basic" width="icon" aria-label="Add"><PlusIcon /></Button>
41
-
42
- // Widths
43
- <Button variant="primary" width="full">Full Width</Button>
44
- <Button variant="primary" width="auto">Auto Width</Button>
45
- ```
46
-
47
- ## Forms
48
-
49
- **Always use `ConfigFormGroup` + `TextField`/`TextAreaField` — never hand-roll `styled.input` or `styled.label`.**
50
-
51
- ### Basic form
52
-
53
- ```tsx
54
- import ConfigFormGroup from '@persona/design-system/components/ConfigFormGroup';
55
- import { TextField, TextAreaField } from '@persona/design-system/components/FormField';
56
- import { Select } from '@persona/design-system/components/Select';
57
- import { TextUnderlineTooltip } from '@persona/design-system/components/Tooltip';
58
- import { Label } from '@persona/design-system/components/Text';
59
- import Stack from '@persona/design-system/components/Stack';
60
- import { Spacing } from '@persona/design-tokens';
61
-
62
- <ConfigFormGroup>
63
- {/* Field with tooltip: use TextUnderlineTooltip, never an info icon */}
64
- <TextUnderlineTooltip tooltip="Must be unique." side="right">
65
- <TextField
66
- label="Name"
67
- value={config.name}
68
- onChange={(e) => setConfig({ ...config, name: e.target.value })}
69
- configField={true}
70
- errorText={errors.name}
71
- />
72
- </TextUnderlineTooltip>
73
-
74
- <TextAreaField
75
- label="Description"
76
- value={config.description}
77
- onChange={(e) => setConfig({ ...config, description: e.target.value })}
78
- configField={true}
79
- helperText="Short summary shown in listings."
80
- />
81
-
82
- {/* Dropdown */}
83
- <Stack spacing={Spacing[2]}>
84
- <Label size="sm" color="secondary">Enforcement</Label>
85
- <Select
86
- value={config.enforcement}
87
- onChange={(val) => setConfig({ ...config, enforcement: val })}
88
- options={[
89
- { label: 'Strict', value: 'strict' },
90
- { label: 'Lenient', value: 'lenient' },
91
- { label: 'Disabled', value: 'disabled' },
92
- ]}
93
- />
94
- </Stack>
95
- </ConfigFormGroup>
96
- ```
97
-
98
- ### Form state hook
99
-
100
- ```tsx
101
- const useFormState = (initialConfig) => {
102
- const [config, setConfig] = useState(initialConfig);
103
- const [errors, setErrors] = useState({});
104
-
105
- const updateField = useCallback((field, value) => {
106
- setConfig(prev => ({ ...prev, [field]: value }));
107
- setErrors(prev => { const next = { ...prev }; delete next[field]; return next; });
108
- }, []);
109
-
110
- const validate = useCallback(() => {
111
- const newErrors = {};
112
- if (!config.name) newErrors.name = 'Required';
113
- setErrors(newErrors);
114
- return Object.keys(newErrors).length === 0;
115
- }, [config]);
116
-
117
- return { config, errors, updateField, validate };
118
- };
119
- ```
120
-
121
- ### Form with footer buttons
122
-
123
- ```tsx
124
- import Stack from '@persona/design-system/components/Stack';
125
- import { HStack } from '@persona/design-system/components/Stack';
126
-
127
- <Stack spacing={Spacing[5]}>
128
- <ConfigFormGroup>
129
- <TextField label="Name" value={config.name} onChange={...} />
130
- <TextAreaField label="Description" value={config.description} onChange={...} />
131
- </ConfigFormGroup>
132
- <HStack spacing={Spacing[3]} justify="flex-end">
133
- <Button variant="basic" onClick={onCancel}>Cancel</Button>
134
- <Button variant="primary" onClick={handleSave} isPending={isSaving}>Save</Button>
135
- </HStack>
136
- </Stack>
137
- ```
138
-
139
- ## Modals
140
-
141
- **Always use the `Modal` component — never hand-roll `ModalOverlay`/`ModalContainer` styled divs.**
142
-
143
- ```tsx
144
- import { Modal } from '@persona/design-system/components/Modal';
145
-
146
- const [isOpen, setIsOpen] = useState(false);
147
-
148
- <Modal
149
- isOpen={isOpen}
150
- onClose={() => setIsOpen(false)}
151
- title="Confirm Delete"
152
- footer={
153
- <>
154
- <Button variant="basic" onClick={() => setIsOpen(false)}>Cancel</Button>
155
- <Button variant="danger" onClick={handleDelete} isPending={isDeleting}>Delete</Button>
156
- </>
157
- }
158
- >
159
- <Paragraph>Are you sure you want to delete this rule? This action cannot be undone.</Paragraph>
160
- </Modal>
161
- ```
162
-
163
- ## Data Tables
164
-
165
- Use **`DataTable`** for data views (pagination, sorting, server-side data). For small, form-adjacent editable tables, use **`TableBox`** — see [COMPONENTS.md — Editable Table (TableBox)](COMPONENTS.md#editable-table-tablebox). Never hand-roll `<table>`.
166
-
167
- ```tsx
168
- import DataTable from '@persona/design-system/components/DataTable';
169
-
170
- const columns = [
171
- 'name',
172
- {
173
- accessor: 'enforcement',
174
- header: 'Enforcement',
175
- format: {
176
- type: 'sticker',
177
- config: { colors: { strict: 'danger', lenient: 'caution', disabled: 'basic' } },
178
- },
179
- },
180
- { accessor: 'lastModified', header: 'Last Modified', format: { type: 'datetime' } },
181
- ];
182
-
183
- <DataTable
184
- columns={columns}
185
- data={rules}
186
- rowActions={[
187
- { label: 'Edit', onClick: (rowId) => handleEdit(rowId) },
188
- { label: 'Delete', onClick: (rowId) => setDeleteTarget(rowId) },
189
- ]}
190
- pagination={{ clientPagination: true, pageSize: 10, pageSizeOptions: [10, 25, 50] }}
191
- />
192
- ```
193
-
194
- ## Status Indicators
195
-
196
- ### Sticker (Status Labels)
197
-
198
- ```tsx
199
- import Sticker from '@persona/design-system/components/Sticker';
200
- import { CheckCircleIcon } from '@persona/icons/12px'; // 12px for sticker icons
201
-
202
- // Semantic variants — match business status to variant:
203
- // approved/active/verified → success
204
- // declined/failed/error → danger
205
- // pending/in-review/flagged → caution
206
- // inactive/archived → basic
207
- <Sticker variant="success">Approved</Sticker>
208
- <Sticker variant="danger">Failed</Sticker>
209
- <Sticker variant="caution">Pending</Sticker>
210
- <Sticker variant="basic">Inactive</Sticker>
211
-
212
- // Color variants for categorization
213
- <Sticker variant="purple">New</Sticker>
214
- <Sticker variant="blue">In Progress</Sticker>
215
-
216
- // With icon (use 12px icons)
217
- <Sticker variant="success" icon={<CheckCircleIcon />}>Verified</Sticker>
218
-
219
- // Dismissible
220
- <Sticker variant="purple" onDismiss={() => handleRemove()}>Removable Tag</Sticker>
221
- ```
222
-
223
- ### Banner (Alert / Notification)
224
-
225
- ```tsx
226
- import Banner from '@persona/design-system/components/Banner';
227
- import { CircleInfoIcon, CheckCircleIcon, AlertTriangleIcon, XCircleIcon } from '@persona/icons';
228
-
229
- <Banner variant="informational"><CircleInfoIcon />This is an informational message.</Banner>
230
- <Banner variant="success"><CheckCircleIcon />Changes saved successfully!</Banner>
231
- <Banner variant="warning"><AlertTriangleIcon />Please review before submitting.</Banner>
232
- <Banner variant="alert"><XCircleIcon />There was an error processing your request.</Banner>
233
-
234
- // With dismiss
235
- <Banner variant="informational" onClose={() => setShowBanner(false)}>
236
- <CircleInfoIcon />You can dismiss this message.
237
- </Banner>
238
- ```
239
-
240
- ## Layout
241
-
242
- ### Stack / HStack
243
-
244
- ```tsx
245
- import Stack from '@persona/design-system/components/Stack';
246
- import { HStack } from '@persona/design-system/components/Stack';
247
-
248
- // Vertical layout
249
- <Stack spacing={Spacing[4]}>
250
- <Heading size="sm">Section Title</Heading>
251
- <Paragraph>Content...</Paragraph>
252
- </Stack>
253
-
254
- // Horizontal layout
255
- <HStack spacing={Spacing[3]} justify="flex-end">
256
- <Button variant="basic">Cancel</Button>
257
- <Button variant="primary">Save</Button>
258
- </HStack>
259
-
260
- // Space between header + action
261
- <HStack spacing={Spacing[4]} justify="space-between" align="center">
262
- <Heading size="sm">Policy Rules</Heading>
263
- <Button variant="primary" size="sm" prefixIcon={<PlusIcon />}>Add Rule</Button>
264
- </HStack>
265
-
266
- // Wrapping tags/stickers
267
- <HStack spacing={Spacing[2]} wrap>
268
- <Sticker variant="purple">Tag 1</Sticker>
269
- <Sticker variant="blue">Tag 2</Sticker>
270
- </HStack>
271
- ```
272
-
273
- ### Card with collapsible sections
274
-
275
- ```tsx
276
- import { Card } from '@persona/design-system/components/CardV2';
277
-
278
- <Card>
279
- <Card.Section header="Basic Settings" collapsible={true} defaultCollapsed={false}>
280
- <ConfigFormGroup>
281
- <TextField label="Name" value={...} onChange={...} />
282
- </ConfigFormGroup>
283
- </Card.Section>
284
- <Card.Section header="Advanced" collapsible={true}>
285
- {/* Advanced fields */}
286
- </Card.Section>
287
- </Card>
288
- ```
289
-
290
- ## Navigation — Tabs
291
-
292
- ```tsx
293
- import TabBar, { Tab } from '@persona/design-system/components/TabBar';
294
- import Badge from '@persona/design-system/components/Badge';
295
- import { useState } from 'react';
296
-
297
- const [selectedTab, setSelectedTab] = useState(0);
298
-
299
- <TabBar aria-label="Policy tabs" title="Policy Configuration">
300
- <Tab selected={selectedTab === 0} onClick={() => setSelectedTab(0)}>Overview</Tab>
301
- <Tab selected={selectedTab === 1} onClick={() => setSelectedTab(1)} badge={<Badge variant="active">5</Badge>}>
302
- Pending
303
- </Tab>
304
- <Tab selected={selectedTab === 2} onClick={() => setSelectedTab(2)} badge={<Badge variant="alert">2</Badge>}>
305
- Alerts
306
- </Tab>
307
- </TabBar>
308
- ```
309
-
310
- ## Text Components
311
-
312
- ```tsx
313
- import { Heading, Paragraph, Label } from '@persona/design-system/components/Text';
314
-
315
- // Headings
316
- <Heading size="lg" color="primary">Page Title</Heading>
317
- <Heading size="md" color="primary">Section Title</Heading>
318
- <Heading size="sm" color="primary">Subsection</Heading>
319
-
320
- // Body text — defaults to color="secondary" (grey); use color="primary" for black
321
- <Paragraph size="md" color="primary">Black body text</Paragraph>
322
- <Paragraph size="md">Secondary (grey) body text</Paragraph>
323
- <Paragraph size="sm" color="tertiary">Helper / caption text</Paragraph>
324
-
325
- // Form labels
326
- <Label size="sm" color="secondary">Field Name</Label>
327
- ```
328
-
329
- ## Feedback Components
330
-
331
- ### Spinner
332
-
333
- ```tsx
334
- import Spinner from '@persona/design-system/components/Spinner';
335
-
336
- // Centered loading state
337
- <Stack align="center" spacing={Spacing[3]}>
338
- <Spinner size="md" srText="Loading policies..." />
339
- </Stack>
340
-
341
- // Inline in button (use isPending prop on Button instead when possible)
342
- <Button variant="primary" isPending>Saving...</Button>
343
- ```
344
-
345
- ### Tooltip (standalone, no label)
346
-
347
- ```tsx
348
- import Tooltip from '@persona/design-system/components/Tooltip';
349
- import { HelpCircleIcon } from '@persona/icons';
350
-
351
- // Standalone icon trigger (only when there's no adjacent label)
352
- <Tooltip iconTrigger={<HelpCircleIcon />} side="right">
353
- Additional help text appears here.
354
- </Tooltip>
355
- ```
356
-
357
- ## Empty States
358
-
359
- For tables/lists when there is no data to show:
360
-
361
- ```tsx
362
- // Inside a Card section or table container
363
- <Stack align="center" spacing={Spacing[3]} style={{ padding: Spacing[6] }}>
364
- <Paragraph color="secondary">No policy rules yet.</Paragraph>
365
- <Button variant="primary" size="sm" prefixIcon={<PlusIcon />}>Add Rule</Button>
366
- </Stack>
367
- ```
368
-
369
- For `ListBox`, pass `emptyText="No items"` prop directly.
370
- For `Card.Section`, pass `empty={true}` to show the built-in empty state.
@@ -1,293 +0,0 @@
1
- # Design Tokens Reference
2
-
3
- Complete reference for `@persona/design-tokens` package.
4
-
5
- ## Import
6
-
7
- ```tsx
8
- import { Color, Spacing, Typography } from '@persona/design-tokens';
9
- ```
10
-
11
- ## Color
12
-
13
- `Color` is an enum with semantic color names organized by purpose.
14
-
15
- ### Core Color Palette
16
-
17
- Each core color has shades from 50 (lightest) to 1100 (darkest):
18
-
19
- ```tsx
20
- // Purple
21
- Color.CorePurple50 // #F4F5FF (lightest)
22
- Color.CorePurple100
23
- Color.CorePurple500 // Mid-range purple
24
- Color.CorePurple700
25
- Color.CorePurple1100 // #010334 (darkest)
26
-
27
- // Other core colors follow same pattern:
28
- // CoreRed, CoreOrange, CoreYellow, CoreGreen, CoreTeal, CoreBlue, CoreSlate
29
- ```
30
-
31
- ### Primary Colors
32
-
33
- ```tsx
34
- Color.PrimaryBlack // #000000
35
- Color.PrimaryWhite // #FFFFFF
36
- Color.PrimaryPurple // #3F48FD (brand purple)
37
- Color.PrimaryRed // #F04B38
38
- Color.PrimaryOrange // #F59602
39
- Color.PrimaryYellow // #DFFD2F
40
- Color.PrimaryGreen // #41D49D
41
- Color.PrimaryTeal // #36EBFD
42
- Color.PrimaryBlue // #2B7FFD
43
- ```
44
-
45
- ### Background Colors
46
-
47
- ```tsx
48
- Color.BackgroundPrimary // #FFFFFF (main background)
49
- Color.BackgroundSecondary // #F5F5F6
50
-
51
- // Button backgrounds
52
- Color.BackgroundButtonDefault
53
- Color.BackgroundButtonDefaultHover
54
- Color.BackgroundButtonPrimary
55
- Color.BackgroundButtonPrimaryHover
56
- Color.BackgroundButtonDanger
57
- Color.BackgroundButtonDangerHover
58
-
59
- // Input backgrounds
60
- Color.BackgroundInputDefault
61
- Color.BackgroundInputActive
62
- Color.BackgroundInputDisabled
63
-
64
- // Label backgrounds
65
- Color.BackgroundLabelGrey
66
- Color.BackgroundLabelPurple
67
- Color.BackgroundLabelRed
68
- Color.BackgroundLabelGreen
69
- // ... and more label variants
70
-
71
- // Status indicator backgrounds
72
- Color.BackgroundStatusIndicatorSuccess
73
- Color.BackgroundStatusIndicatorWarning
74
- Color.BackgroundStatusIndicatorCritical
75
- Color.BackgroundStatusIndicatorFeature
76
- ```
77
-
78
- ### Text Colors
79
-
80
- ```tsx
81
- Color.TextPrimary // #313131 (main text)
82
- Color.TextSecondary // #707070 (secondary text)
83
- Color.TextInverse // #FFFFFF (text on dark backgrounds)
84
- Color.TextActive // #3F48FD (active/link text)
85
- Color.TextDanger // #B81F0E (error text)
86
- Color.TextDisabled // #BDBDBD (disabled text)
87
-
88
- // Status indicator text colors
89
- Color.TextStatusIndicatorSuccess
90
- Color.TextStatusIndicatorWarning
91
- Color.TextStatusIndicatorCritical
92
- ```
93
-
94
- ### Border Colors
95
-
96
- ```tsx
97
- Color.BorderHairline // #F1F1F2 (subtle border)
98
- Color.BorderDivider // #E2E2E3 (section divider)
99
- Color.BorderFocus // #2B7FFD (focus state)
100
-
101
- // Input borders
102
- Color.BorderInputDefault
103
- Color.BorderInputHover
104
- Color.BorderInputActive
105
- Color.BorderInputWarning
106
- Color.BorderInputDanger
107
- Color.BorderInputDisabled
108
-
109
- // Icon borders
110
- Color.BorderIconPrimary
111
- Color.BorderIconSecondary
112
- Color.BorderIconActive
113
- Color.BorderIconSuccess
114
- Color.BorderIconWarning
115
- Color.BorderIconDanger
116
- ```
117
-
118
- ### Usage Example
119
-
120
- ```tsx
121
- const StyledCard = styled.div`
122
- background-color: ${Color.BackgroundPrimary};
123
- border: 1px solid ${Color.BorderDivider};
124
- color: ${Color.TextPrimary};
125
-
126
- &:hover {
127
- background-color: ${Color.BackgroundSecondary};
128
- }
129
- `;
130
- ```
131
-
132
- ## Spacing
133
-
134
- `Spacing` is an enum with numeric indices 0-9:
135
-
136
- ```tsx
137
- Spacing[0] // "0px"
138
- Spacing[1] // "4px"
139
- Spacing[2] // "8px"
140
- Spacing[3] // "12px"
141
- Spacing[4] // "16px"
142
- Spacing[5] // "24px"
143
- Spacing[6] // "32px"
144
- Spacing[7] // "40px"
145
- Spacing[8] // "48px"
146
- Spacing[9] // "56px"
147
- ```
148
-
149
- ### Common Usage
150
-
151
- - **Micro spacing** (1-2): Icon-to-text, tight groupings
152
- - **Small spacing** (3-4): Form field padding, button padding
153
- - **Medium spacing** (5): Section margins, card padding
154
- - **Large spacing** (6-7): Component spacing, page sections
155
- - **Extra large** (8-9): Hero sections, major divisions
156
-
157
- ### Usage Example
158
-
159
- ```tsx
160
- const Container = styled.div`
161
- padding: ${Spacing[5]};
162
- margin-bottom: ${Spacing[4]};
163
- gap: ${Spacing[3]};
164
- `;
165
- ```
166
-
167
- **For values >56px**: Use hardcoded pixels with a comment explaining the custom value.
168
-
169
- ## Typography
170
-
171
- `Typography` provides complete type styles (font family, size, weight, line height, decoration).
172
-
173
- ### Display Styles
174
-
175
- Large, prominent text for headers and hero sections:
176
-
177
- ```tsx
178
- Typography.DisplayLarge // 64px, bold
179
- Typography.DisplayMedium // 48px, bold
180
- Typography.DisplaySmall // 36px, bold
181
- ```
182
-
183
- ### Heading Styles
184
-
185
- For section headers and sub-headers:
186
-
187
- ```tsx
188
- Typography.HeadingLarge // 28px
189
- Typography.HeadingMedium // 24px
190
- Typography.HeadingSmall // 20px
191
- Typography.HeadingExtraSmall // 16px
192
- ```
193
-
194
- ### Text/Paragraph Styles
195
-
196
- For body copy and UI text:
197
-
198
- ```tsx
199
- // Large text variants
200
- Typography.TextLarge // 16px, regular
201
- Typography.TextLargeBold // 16px, bold
202
- Typography.TextLargeLight // 16px, light
203
-
204
- // Medium text variants (most common for body)
205
- Typography.TextMedium // 14px, regular
206
- Typography.TextMediumBold // 14px, bold
207
- Typography.TextMediumLight // 14px, light
208
- Typography.TextMediumLink // 14px, regular, underlined
209
-
210
- // Small text variants
211
- Typography.TextSmall // 12px, regular
212
- Typography.TextSmallBold // 12px, bold
213
- Typography.TextSmallLink // 12px, regular, underlined
214
- Typography.TextExtraSmall // 10px
215
-
216
- // Monospace
217
- Typography.TextMono // 14px, monospace
218
- ```
219
-
220
- ### Typography Usage
221
-
222
- **IMPORTANT**: Always use complete `Typography` styles. Do not use individual typography tokens like `FontSize`, `FontWeight`, or `FontFamily` directly.
223
-
224
- Each `Typography` style is a complete `PDSTypeStyle` object containing:
225
-
226
- ```tsx
227
- type PDSTypeStyle = {
228
- fontFamily: FontFamily;
229
- fontWeight: FontWeight;
230
- lineHeight: LineHeight;
231
- fontSize: FontSize;
232
- textDecoration: TextDecoration;
233
- };
234
- ```
235
-
236
- **Styled components usage:**
237
-
238
- ```tsx
239
- const Heading = styled.h1`
240
- ${Typography.HeadingLarge}
241
- color: ${Color.TextPrimary};
242
- `;
243
-
244
- const BodyText = styled.p`
245
- ${Typography.TextMedium}
246
- color: ${Color.TextSecondary};
247
- `;
248
-
249
- const SmallLabel = styled.span`
250
- ${Typography.TextSmall}
251
- color: ${Color.TextSecondary};
252
- `;
253
- ```
254
-
255
- ## Finding Colors
256
-
257
- When you need a color:
258
-
259
- 1. **For semantic purposes**, use purpose-named colors:
260
- - Buttons: `Color.BackgroundButtonPrimary`
261
- - Text: `Color.TextPrimary`, `Color.TextSecondary`
262
- - Borders: `Color.BorderDivider`, `Color.BorderInputDefault`
263
-
264
- 2. **For specific shades**, use core colors with shade numbers:
265
- - Light purple: `Color.CorePurple200`
266
- - Mid purple: `Color.CorePurple500`
267
- - Dark purple: `Color.CorePurple900`
268
-
269
- 3. **If exact color doesn't exist**: Use the closest available color with a comment explaining the choice.
270
-
271
- ## Token Verification
272
-
273
- To explore available tokens in your project:
274
-
275
- ```bash
276
- # Search for color definitions
277
- grep -r "Color\." node_modules/@persona/design-tokens/dist/js/colors.d.ts
278
-
279
- # Check spacing values
280
- cat node_modules/@persona/design-tokens/dist/js/spacing.d.ts
281
-
282
- # See typography styles
283
- cat node_modules/@persona/design-tokens/dist/js/typography.d.ts
284
- ```
285
-
286
- Or check programmatically:
287
-
288
- ```tsx
289
- import * as DesignTokens from '@persona/design-tokens';
290
- console.log(DesignTokens.Color);
291
- console.log(DesignTokens.Spacing);
292
- console.log(DesignTokens.Typography);
293
- ```