@persona/design-system 0.1.7 → 0.1.9

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 (952) hide show
  1. package/CHANGELOG.md +355 -221
  2. package/README.md +20 -1
  3. package/dist/{Action-DkNqzc2X.d.mts → Action-CVtzREhU.d.mts} +3 -3
  4. package/dist/Action.d.mts +1 -1
  5. package/dist/AdvancedFilterRuleRow.d.mts +37 -0
  6. package/dist/AdvancedFilterRulesPopover.d.mts +62 -0
  7. package/dist/ArrayValueControl.d.mts +38 -0
  8. package/dist/Attribute.d.mts +4 -4
  9. package/dist/AttributeGrid.d.mts +1 -1
  10. package/dist/{Badge-DRn_r6is.mjs → Badge-DEVbRlJX.mjs} +2 -2
  11. package/dist/{Badge-DRn_r6is.mjs.map → Badge-DEVbRlJX.mjs.map} +1 -1
  12. package/dist/Banner.d.mts +1 -1
  13. package/dist/BooleanValueControl.d.mts +20 -0
  14. package/dist/{Breadcrumb-On7pOpgt.d.mts → Breadcrumb-lziQ1FX9.d.mts} +15 -2
  15. package/dist/Breadcrumb.d.mts +2 -2
  16. package/dist/Breadcrumbs-DJ5qqqRD.d.mts +26 -0
  17. package/dist/Breadcrumbs-W8hIhdHD.mjs +288 -0
  18. package/dist/Breadcrumbs-W8hIhdHD.mjs.map +1 -0
  19. package/dist/Breadcrumbs.d.mts +2 -20
  20. package/dist/{Button-C_3p5Xfi.d.cts → Button-Vd5O4DUp.d.mts} +6 -6
  21. package/dist/Button.d.mts +1 -1
  22. package/dist/ButtonGroup.d.mts +1 -1
  23. package/dist/Calendar.d.mts +1 -1
  24. package/dist/CalendarBase.d.mts +1 -1
  25. package/dist/{Card-CLTkZLKr.mjs → Card-BMCB9eFC.mjs} +4 -4
  26. package/dist/{Card-CLTkZLKr.mjs.map → Card-BMCB9eFC.mjs.map} +1 -1
  27. package/dist/{Card-IOBCsfke.d.mts → Card-CqnG--CU.d.mts} +4 -4
  28. package/dist/Card.d.mts +1 -1
  29. package/dist/Card2.d.mts +1 -1
  30. package/dist/CardV2-C0fcOUdp.mjs +411 -0
  31. package/dist/CardV2-C0fcOUdp.mjs.map +1 -0
  32. package/dist/{Checkbox-BghGF-iW.mjs → Checkbox-BcuiFvK7.mjs} +5 -5
  33. package/dist/{Checkbox-BghGF-iW.mjs.map → Checkbox-BcuiFvK7.mjs.map} +1 -1
  34. package/dist/{Checkbox-DfI0Xp3y.d.cts → Checkbox-Bm8exUfH.d.mts} +1 -1
  35. package/dist/Checkbox.d.mts +1 -1
  36. package/dist/CheckboxGroupField.d.mts +2 -2
  37. package/dist/ChoicesValueControl.d.mts +35 -0
  38. package/dist/{Combobox-CeKMrlxy.mjs → Combobox-B6JyLog8.mjs} +261 -71
  39. package/dist/Combobox-B6JyLog8.mjs.map +1 -0
  40. package/dist/{Combobox-5rAFq_52.d.cts → Combobox-BaD0f2Du.d.mts} +3 -3
  41. package/dist/Combobox.d.mts +2 -2
  42. package/dist/{ComboboxBase-DGZUdsQa.d.mts → ComboboxBase-BsPf8BZh.d.mts} +53 -8
  43. package/dist/ComboboxBase.d.mts +2 -2
  44. package/dist/{ComboboxMultiSelect-DMWPiBrE.d.mts → ComboboxMultiSelect-DhLzCWbz.d.mts} +2 -2
  45. package/dist/ComboboxMultiSelect.d.mts +1 -1
  46. package/dist/{ComboboxSingleSelect-CcppU_hq.d.mts → ComboboxSingleSelect-P0r5rs_u.d.mts} +4 -4
  47. package/dist/ComboboxSingleSelect.d.mts +1 -1
  48. package/dist/{CompactBar-2cpJD7qg.d.mts → CompactBar-CXqlVKy7.d.mts} +3 -3
  49. package/dist/CompactBar.d.mts +1 -1
  50. package/dist/{ConfigFormGroup-DISUwz5j.mjs → ConfigFormGroup-yhb2jldT.mjs} +3 -3
  51. package/dist/{ConfigFormGroup-DISUwz5j.mjs.map → ConfigFormGroup-yhb2jldT.mjs.map} +1 -1
  52. package/dist/{ControlBar-DXyl1gjc.d.mts → ControlBar-tOCQnbAl.d.mts} +2 -2
  53. package/dist/ControlBar.d.mts +1 -1
  54. package/dist/DataTable.d.mts +13 -4
  55. package/dist/DateField.d.mts +1 -1
  56. package/dist/DatePicker-Bw79p-Lx.mjs +922 -0
  57. package/dist/DatePicker-Bw79p-Lx.mjs.map +1 -0
  58. package/dist/DatePicker.d.mts +1 -1
  59. package/dist/DateRangePicker.d.mts +1 -1
  60. package/dist/DateValueControl.d.mts +26 -0
  61. package/dist/{DropdownButton-B397h6ka.mjs → DropdownButton-BI3IFJun.mjs} +3 -3
  62. package/dist/{DropdownButton-B397h6ka.mjs.map → DropdownButton-BI3IFJun.mjs.map} +1 -1
  63. package/dist/DropdownButton.d.mts +2 -2
  64. package/dist/{DropdownMenu-cnkoGc7C.mjs → DropdownMenu-D25WBCah.mjs} +3 -3
  65. package/dist/{DropdownMenu-cnkoGc7C.mjs.map → DropdownMenu-D25WBCah.mjs.map} +1 -1
  66. package/dist/{DropdownMenu-5qIgQ14A.d.mts → DropdownMenu-D6nfAsi0.d.mts} +3 -3
  67. package/dist/DropdownMenu.d.mts +1 -1
  68. package/dist/{ErrorProps-BosuK6zJ.d.cts → ErrorProps-CN2XjaOX.d.mts} +1 -1
  69. package/dist/ErrorProps.d.mts +1 -1
  70. package/dist/FieldRegistry-rqSkjchY.d.mts +122 -0
  71. package/dist/FieldRegistry.d.mts +2 -0
  72. package/dist/FilterBar-D3LiIy1-.d.mts +103 -0
  73. package/dist/FilterBar.d.mts +2 -0
  74. package/dist/FilterPickerMenu.d.mts +84 -0
  75. package/dist/FilterPill.d.mts +60 -0
  76. package/dist/FilterPopover.d.mts +87 -0
  77. package/dist/FloatValueControl.d.mts +40 -0
  78. package/dist/{FormControl-ArDcvmir.mjs → FormControl-CFU9uKF7.mjs} +6 -6
  79. package/dist/{FormControl-ArDcvmir.mjs.map → FormControl-CFU9uKF7.mjs.map} +1 -1
  80. package/dist/{FormControl-DnsC4vTX.d.mts → FormControl-DH3bgqaB.d.mts} +3 -3
  81. package/dist/FormControl.d.mts +1 -1
  82. package/dist/FormControlLabel.d.mts +1 -1
  83. package/dist/{FormField-BddCs6P0.d.mts → FormField-BugkBvN4.d.mts} +2 -2
  84. package/dist/FormField-DdmgSWq4.mjs +474 -0
  85. package/dist/FormField-DdmgSWq4.mjs.map +1 -0
  86. package/dist/FormField.d.mts +1 -1
  87. package/dist/{Header-B-Us54dR.d.mts → Header-CDTYK1XJ.d.mts} +2 -2
  88. package/dist/Header.d.mts +1 -1
  89. package/dist/{HelperTooltip-CofPKyZh.d.mts → HelperTooltip-B7Ysh8B3.d.mts} +3 -3
  90. package/dist/HelperTooltip.d.mts +1 -1
  91. package/dist/{HoverCopyableField-DR575ayC.mjs → HoverCopyableField-7TWP0Y1Z.mjs} +6 -6
  92. package/dist/{HoverCopyableField-DR575ayC.mjs.map → HoverCopyableField-7TWP0Y1Z.mjs.map} +1 -1
  93. package/dist/HoverCopyableField.d.mts +1 -1
  94. package/dist/{IconButton-ZcyTFjPn.d.cts → IconButton-BHCmHIx5.d.mts} +2 -2
  95. package/dist/{IconButton-DC4rh6ow.mjs → IconButton-P8w0JDI5.mjs} +5 -5
  96. package/dist/{IconButton-DC4rh6ow.mjs.map → IconButton-P8w0JDI5.mjs.map} +1 -1
  97. package/dist/IconButton.d.mts +1 -1
  98. package/dist/ImageTile.d.mts +2 -2
  99. package/dist/InlineCombobox.d.mts +2 -2
  100. package/dist/InlineInput.d.mts +1 -1
  101. package/dist/{Input-CEcTvtX2.d.cts → Input-DMgVyZyq.d.mts} +6 -6
  102. package/dist/{Input-PWfwMSJ7.mjs → Input-QC6xla6I.mjs} +5 -5
  103. package/dist/Input-QC6xla6I.mjs.map +1 -0
  104. package/dist/Input.d.mts +1 -1
  105. package/dist/{InputProps-DNlik5IZ.d.cts → InputProps-BnjxrdWQ.d.mts} +2 -2
  106. package/dist/InputProps.d.mts +1 -1
  107. package/dist/IntegerValueControl.d.mts +39 -0
  108. package/dist/LayoutLoadingShimmer.d.mts +20 -0
  109. package/dist/Link.d.mts +1 -1
  110. package/dist/{ListBox-DZIAlPbc.d.mts → ListBox-D09N1a5D.d.mts} +10 -5
  111. package/dist/{ListBox-CDNOJmvz.mjs → ListBox-TrL3Tb7X.mjs} +89 -14
  112. package/dist/ListBox-TrL3Tb7X.mjs.map +1 -0
  113. package/dist/ListBox.d.mts +1 -1
  114. package/dist/ListBoxField.d.mts +3 -3
  115. package/dist/{LoadingShimmer-Bu6KtQ06.mjs → LoadingShimmer-Dsc_RCCf.mjs} +1 -1
  116. package/dist/{LoadingShimmer-Bu6KtQ06.mjs.map → LoadingShimmer-Dsc_RCCf.mjs.map} +1 -1
  117. package/dist/LoadingShimmer.d.mts +2 -2
  118. package/dist/LogicRow-BcuiSTHN.d.mts +40 -0
  119. package/dist/LogicRow.d.mts +2 -0
  120. package/dist/MaskedInput.d.mts +1 -1
  121. package/dist/{Menu-BJ5c7HGD.d.mts → Menu-Bv8dsrz6.d.mts} +4 -4
  122. package/dist/{Menu-CVuFAxl2.mjs → Menu-DmeMgN-i.mjs} +4 -4
  123. package/dist/{Menu-CVuFAxl2.mjs.map → Menu-DmeMgN-i.mjs.map} +1 -1
  124. package/dist/Menu.d.mts +1 -1
  125. package/dist/{MiddleTruncatedText-Bzpg3zAU.mjs → MiddleTruncatedText-GXI-CPvs.mjs} +3 -3
  126. package/dist/{MiddleTruncatedText-Bzpg3zAU.mjs.map → MiddleTruncatedText-GXI-CPvs.mjs.map} +1 -1
  127. package/dist/Modal.d.mts +3 -3
  128. package/dist/PageHeader-jSLud2JI.mjs +65 -0
  129. package/dist/PageHeader-jSLud2JI.mjs.map +1 -0
  130. package/dist/PageHeader.d.mts +18 -4
  131. package/dist/{PageSelector-CMoV-cHa.d.mts → PageSelector-vay4jpMp.d.mts} +3 -3
  132. package/dist/PageSelector.d.mts +1 -1
  133. package/dist/PageSizeSelector.d.mts +7 -1
  134. package/dist/{Pagination-Cj08JRG9.mjs → Pagination-BeYukNCj.mjs} +13 -10
  135. package/dist/Pagination-BeYukNCj.mjs.map +1 -0
  136. package/dist/{Pagination-QWNK_hH7.d.mts → Pagination-ygLutOst.d.mts} +9 -3
  137. package/dist/Pagination.d.mts +1 -1
  138. package/dist/{Pii-Bxh6_R4T.mjs → Pii-QsTrz8wn.mjs} +2 -2
  139. package/dist/{Pii-Bxh6_R4T.mjs.map → Pii-QsTrz8wn.mjs.map} +1 -1
  140. package/dist/Pii.d.mts +1 -1
  141. package/dist/PillShell.d.mts +85 -0
  142. package/dist/{Popover-D0QY5f-J.mjs → Popover-BkDpDdaO.mjs} +5 -5
  143. package/dist/{Popover-D0QY5f-J.mjs.map → Popover-BkDpDdaO.mjs.map} +1 -1
  144. package/dist/Popover.d.mts +1 -1
  145. package/dist/ProgressBar.d.mts +1 -1
  146. package/dist/ProgressIndicator.d.mts +1 -1
  147. package/dist/{PseudoClassProps-ySXCGUEQ.d.mts → PseudoClassProps-DLxPxo7T.d.mts} +1 -1
  148. package/dist/PseudoClassProps.d.mts +1 -1
  149. package/dist/{Radio-C9DevagH.mjs → Radio-CSX2eO-O.mjs} +3 -3
  150. package/dist/{Radio-C9DevagH.mjs.map → Radio-CSX2eO-O.mjs.map} +1 -1
  151. package/dist/{RadioGroup-B3hRbIWF.mjs → RadioGroup-CnK0opBd.mjs} +3 -3
  152. package/dist/{RadioGroup-B3hRbIWF.mjs.map → RadioGroup-CnK0opBd.mjs.map} +1 -1
  153. package/dist/{RadioGroup-nhMXEbCx.d.mts → RadioGroup-DKqbSfju.d.mts} +1 -1
  154. package/dist/RadioGroup.d.mts +1 -1
  155. package/dist/RangeCalendar.d.mts +1 -1
  156. package/dist/RangeCalendarPresets.d.mts +1 -1
  157. package/dist/RuleEditorFields.d.mts +37 -0
  158. package/dist/RulesPill.d.mts +65 -0
  159. package/dist/{SearchInput-s6qGC2WZ.d.mts → SearchInput-Bp2yjaE1.d.mts} +3 -3
  160. package/dist/SearchInput.d.mts +1 -1
  161. package/dist/Section.d.mts +1 -1
  162. package/dist/{SectionHeading-CDBQ4m9E.d.mts → SectionHeading-Q-rx2LEd.d.mts} +2 -2
  163. package/dist/SectionHeading.d.mts +1 -1
  164. package/dist/{SegmentedControl-B1ZLgu61.mjs → SegmentedControl-CgDQIVll.mjs} +8 -7
  165. package/dist/SegmentedControl-CgDQIVll.mjs.map +1 -0
  166. package/dist/{SegmentedControl-BYuXohIp.d.cts → SegmentedControl-DrjdUOU9.d.mts} +2 -2
  167. package/dist/SegmentedControl.d.mts +1 -1
  168. package/dist/{Select-NcaURrGZ.d.cts → Select-Bk27TgN8.d.mts} +11 -5
  169. package/dist/{Select-ByTgXOlU.mjs → Select-C1ZoRk39.mjs} +14 -11
  170. package/dist/Select-C1ZoRk39.mjs.map +1 -0
  171. package/dist/Select.d.mts +1 -1
  172. package/dist/Slider.d.mts +1 -1
  173. package/dist/SliderRHF.d.mts +1 -1
  174. package/dist/SliderThumb.d.mts +1 -1
  175. package/dist/{Spacer-Ln3KChb5.mjs → Spacer-CJp0lwkL.mjs} +1 -1
  176. package/dist/{Spacer-Ln3KChb5.mjs.map → Spacer-CJp0lwkL.mjs.map} +1 -1
  177. package/dist/{Stack-ckRN7LrP.mjs → Stack-Bl54WmhY.mjs} +1 -1
  178. package/dist/{Stack-ckRN7LrP.mjs.map → Stack-Bl54WmhY.mjs.map} +1 -1
  179. package/dist/{Stack-UMhJ6F_3.d.mts → Stack-CkV7k7TE.d.mts} +2 -2
  180. package/dist/Stack.d.mts +1 -1
  181. package/dist/StatusIndicator.d.mts +32 -4
  182. package/dist/{Sticker-DjF9VJQB.d.mts → Sticker-Bs25ISz7.d.mts} +5 -5
  183. package/dist/{Sticker-B0TbkV4o.mjs → Sticker-CyGb9dEu.mjs} +3 -3
  184. package/dist/{Sticker-B0TbkV4o.mjs.map → Sticker-CyGb9dEu.mjs.map} +1 -1
  185. package/dist/Sticker.d.mts +1 -1
  186. package/dist/StringValueControl.d.mts +39 -0
  187. package/dist/SwatchPicker.d.mts +1 -1
  188. package/dist/Tab.d.mts +14 -5
  189. package/dist/{TabBar-ByusqAXF.mjs → TabBar-Bn8PHHBZ.mjs} +16 -10
  190. package/dist/TabBar-Bn8PHHBZ.mjs.map +1 -0
  191. package/dist/TabBarIconButton.d.mts +1 -1
  192. package/dist/{Table-DJZtluW3.d.cts → Table-BNScLj9g.d.mts} +1 -1
  193. package/dist/{Table-CNs8p8hL.mjs → Table-BfontAeY.mjs} +8 -6
  194. package/dist/{Table-CNs8p8hL.mjs.map → Table-BfontAeY.mjs.map} +1 -1
  195. package/dist/Table.d.mts +1 -1
  196. package/dist/{TableBody-BFPF07n4.d.cts → TableBody-CrDNMyT8.d.mts} +1 -1
  197. package/dist/TableBody.d.mts +1 -1
  198. package/dist/{TableBox-DIJffyts.mjs → TableBox-bmrKh_ax.mjs} +89 -38
  199. package/dist/TableBox-bmrKh_ax.mjs.map +1 -0
  200. package/dist/TableBox.d.mts +2 -2
  201. package/dist/{TableBoxCell-D1bjYv7b.d.mts → TableBoxCell-CvjLYhTV.d.mts} +24 -10
  202. package/dist/TableBoxCell.d.mts +1 -1
  203. package/dist/TableBoxField.d.mts +8 -5
  204. package/dist/{TableBoxRow-CTR14HJF.d.mts → TableBoxRow-BzXECgid.d.mts} +4 -4
  205. package/dist/TableBoxRow.d.mts +1 -1
  206. package/dist/{TableBoxRowActions-BoMt5d0b.d.mts → TableBoxRowActions-BAiFXiCh.d.mts} +2 -2
  207. package/dist/TableBoxRowActions.d.mts +1 -1
  208. package/dist/TableCell.d.mts +1 -1
  209. package/dist/{TableControls-BZyiqk9V.d.mts → TableControls-BehR7CKS.d.mts} +4 -4
  210. package/dist/TableControls-DVTtNAPo.mjs +3859 -0
  211. package/dist/TableControls-DVTtNAPo.mjs.map +1 -0
  212. package/dist/TableControls.d.mts +1 -1
  213. package/dist/{TableControlsContext-CleTWT7z.d.mts → TableControlsContext-D_SBFZN1.d.mts} +2 -2
  214. package/dist/TableControlsContext.d.mts +1 -1
  215. package/dist/{TableHead-CTsZNRJm.d.cts → TableHead-LxvG0e9k.d.mts} +1 -1
  216. package/dist/TableHead.d.mts +1 -1
  217. package/dist/{TableHeaderCell-UoY92mzR.d.cts → TableHeaderCell-Br8ZE3Xe.d.mts} +1 -1
  218. package/dist/TableHeaderCell.d.mts +1 -1
  219. package/dist/{TableLayout-_TWUnffx.d.mts → TableLayout-BZeP8qfg.d.mts} +7 -1
  220. package/dist/TableLayout.d.mts +1 -1
  221. package/dist/{TableRow-BVzduO4G.d.cts → TableRow-BvS4yjo6.d.mts} +2 -2
  222. package/dist/TableRow.d.mts +1 -1
  223. package/dist/TableTH.d.mts +1 -1
  224. package/dist/{TableViewConfigurationDropdown-D2TM2wCv.d.mts → TableViewConfigurationDropdown-BYPh4dIP.d.mts} +2 -2
  225. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  226. package/dist/TechnicalSticker.d.mts +1 -1
  227. package/dist/{Text-D3FXEnG6.d.mts → Text-DNPbAuUG.d.mts} +3 -3
  228. package/dist/{Text-hEoPeOc9.mjs → Text-RcEfNFLx.mjs} +1 -1
  229. package/dist/{Text-hEoPeOc9.mjs.map → Text-RcEfNFLx.mjs.map} +1 -1
  230. package/dist/Text.d.mts +1 -1
  231. package/dist/{TextArea-KpDoXg-5.d.cts → TextArea-B89wtTsF.d.mts} +2 -2
  232. package/dist/{TextArea-DIPeBLkr.mjs → TextArea-NCLsW-03.mjs} +3 -3
  233. package/dist/{TextArea-DIPeBLkr.mjs.map → TextArea-NCLsW-03.mjs.map} +1 -1
  234. package/dist/TextArea.d.mts +1 -1
  235. package/dist/{TextUnderlineTooltip-Cep5cgEQ.d.mts → TextUnderlineTooltip-5-0D8s4z.d.mts} +3 -3
  236. package/dist/TextUnderlineTooltip.d.mts +1 -1
  237. package/dist/Tile.d.mts +2 -2
  238. package/dist/Toast.d.mts +1 -1
  239. package/dist/{Toggle-CfjUQlcK.mjs → Toggle-Bie9zCem.mjs} +5 -5
  240. package/dist/{Toggle-CfjUQlcK.mjs.map → Toggle-Bie9zCem.mjs.map} +1 -1
  241. package/dist/{Toggle-BQCOJZjZ.d.mts → Toggle-DzYLgxGk.d.mts} +1 -1
  242. package/dist/Toggle.d.mts +1 -1
  243. package/dist/{Tooltip-CDvOu1UN.mjs → Tooltip-BvDbmXak.mjs} +3 -3
  244. package/dist/{Tooltip-CDvOu1UN.mjs.map → Tooltip-BvDbmXak.mjs.map} +1 -1
  245. package/dist/{Tooltip-DRgufW3i.d.mts → Tooltip-CUC-JuRL.d.mts} +3 -3
  246. package/dist/Tooltip.d.mts +1 -1
  247. package/dist/{TruncatedText-Cy8NpHzm.d.mts → TruncatedText-BJnowVTx.d.mts} +1 -1
  248. package/dist/components/Attribute/index.mjs +10 -10
  249. package/dist/components/Attribute/index.mjs.map +1 -1
  250. package/dist/components/Badge/index.mjs +1 -1
  251. package/dist/components/Banner/index.mjs +1 -1
  252. package/dist/components/Breadcrumbs/index.d.mts +2 -2
  253. package/dist/components/Breadcrumbs/index.mjs +1 -267
  254. package/dist/components/Button/index.d.mts +2 -2
  255. package/dist/components/Button/index.mjs +1 -1
  256. package/dist/components/ButtonGroup/index.mjs +3 -3
  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 -410
  261. package/dist/components/Checkbox/index.d.mts +1 -1
  262. package/dist/components/Checkbox/index.mjs +1 -1
  263. package/dist/components/Combobox/index.d.mts +2 -2
  264. package/dist/components/Combobox/index.mjs +1 -1
  265. package/dist/components/ConfigFormGroup/index.mjs +2 -2
  266. package/dist/components/DataTable/TableControls/index.d.mts +16 -6
  267. package/dist/components/DataTable/TableControls/index.mjs +2 -2
  268. package/dist/components/DataTable/index.mjs +28 -26
  269. package/dist/components/DataTable/index.mjs.map +1 -1
  270. package/dist/components/DataTable/types.d.mts +2 -2
  271. package/dist/components/DatePicker/index.mjs +1 -921
  272. package/dist/components/DropdownButton/index.mjs +1 -1
  273. package/dist/components/DropdownMenu/index.d.mts +1 -1
  274. package/dist/components/DropdownMenu/index.mjs +1 -1
  275. package/dist/components/FormControl/index.d.mts +2 -2
  276. package/dist/components/FormControl/index.mjs +2 -2
  277. package/dist/components/FormField/index.d.mts +3 -3
  278. package/dist/components/FormField/index.mjs +2 -471
  279. package/dist/components/HoverCopyableField/index.mjs +1 -1
  280. package/dist/components/ImageTile/index.mjs +8 -8
  281. package/dist/components/Input/index.d.mts +1 -1
  282. package/dist/components/Input/index.mjs +1 -1
  283. package/dist/components/Link/index.mjs +1 -1
  284. package/dist/components/ListBox/index.d.mts +4 -2
  285. package/dist/components/ListBox/index.mjs +1 -1
  286. package/dist/components/LoadingShimmer/index.mjs +1 -1
  287. package/dist/components/MaskedInput/index.mjs +2 -2
  288. package/dist/components/Menu/index.d.mts +1 -1
  289. package/dist/components/Menu/index.mjs +1 -1
  290. package/dist/components/Modal/index.mjs +7 -7
  291. package/dist/components/PageHeader/index.mjs +1 -63
  292. package/dist/components/Pagination/index.d.mts +3 -3
  293. package/dist/components/Pagination/index.mjs +1 -1
  294. package/dist/components/Pii/index.mjs +1 -1
  295. package/dist/components/Popover/index.mjs +1 -1
  296. package/dist/components/ProgressBar/index.mjs +1 -1
  297. package/dist/components/Radio/index.mjs +1 -1
  298. package/dist/components/RadioGroup/index.d.mts +1 -1
  299. package/dist/components/RadioGroup/index.mjs +1 -1
  300. package/dist/components/SegmentedControl/index.d.mts +1 -1
  301. package/dist/components/SegmentedControl/index.mjs +1 -1
  302. package/dist/components/Select/index.d.mts +1 -1
  303. package/dist/components/Select/index.mjs +1 -1
  304. package/dist/components/Slider/index.mjs +2 -2
  305. package/dist/components/Spacer/index.mjs +1 -1
  306. package/dist/components/Stack/index.d.mts +1 -1
  307. package/dist/components/Stack/index.mjs +1 -1
  308. package/dist/components/StatusIndicator/index.d.mts +2 -2
  309. package/dist/components/StatusIndicator/index.mjs +61 -12
  310. package/dist/components/StatusIndicator/index.mjs.map +1 -1
  311. package/dist/components/Sticker/index.d.mts +1 -1
  312. package/dist/components/Sticker/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 +4 -4
  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 +4 -4
  324. package/dist/components/Toast/index.mjs +1 -1
  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 +9 -0
  330. package/dist/{constants-DVwPpTt5.d.mts → constants-BASogfT_.d.mts} +1 -1
  331. package/dist/constants.d.mts +1 -1
  332. package/dist/containers.d.mts +8 -0
  333. package/dist/display.d.mts +8 -0
  334. package/dist/fieldPickerOptions.d.mts +29 -0
  335. package/dist/filter-size-context-Blw6Sd69.d.mts +52 -0
  336. package/dist/filter-size-context.d.mts +2 -0
  337. package/dist/helpers.d.mts +1 -1
  338. package/dist/index-4_B2yRzD.d.mts +7 -0
  339. package/dist/index-BxXTpeUb2.d.mts +55 -0
  340. package/dist/{index-BPnJP0jZ.d.mts → index-DDbjWdk0.d.mts} +4 -4
  341. package/dist/index.d.mts +1 -1
  342. package/dist/index2.d.mts +1 -1
  343. package/dist/index3.d.mts +4 -1
  344. package/dist/index4.d.mts +11 -0
  345. package/dist/index5.d.mts +2 -0
  346. package/dist/{input-BkzqXwn7.d.cts → input-Bv5fKt5J.d.mts} +3 -3
  347. package/dist/inputFields.d.mts +11 -11
  348. package/dist/{intersperse-yd3oMrQl.mjs → intersperse-vOYvFOfF.mjs} +1 -1
  349. package/dist/{intersperse-Gxwgpbk8.cjs.map → intersperse-vOYvFOfF.mjs.map} +1 -1
  350. package/dist/layouts/LayoutLoadingShimmer/index.d.mts +2 -0
  351. package/dist/layouts/LayoutLoadingShimmer/index.mjs +133 -0
  352. package/dist/layouts/LayoutLoadingShimmer/index.mjs.map +1 -0
  353. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  354. package/dist/lib/PDSProvider.d.mts +1 -1
  355. package/dist/lib/TruncatedText.d.mts +1 -1
  356. package/dist/lib/TruncatedText.mjs +1 -1
  357. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  358. package/dist/lib/TruncatedTextWithTooltip.mjs +2 -2
  359. package/dist/lib/message.d.mts +1 -1
  360. package/dist/lib/pseudoClass.d.mts +1 -1
  361. package/dist/lib/useScrollOverflow.d.mts +7 -0
  362. package/dist/lib/useScrollOverflow.mjs +22 -1
  363. package/dist/lib/useScrollOverflow.mjs.map +1 -1
  364. package/dist/{message-BfJ87aIU.d.mts → message-CMHvlPGn.d.mts} +1 -1
  365. package/dist/mixins/focus.d.mts +1 -1
  366. package/dist/mixins/hoverable.d.mts +2 -2
  367. package/dist/mixins/input.d.mts +1 -1
  368. package/dist/mixins/menuItem.d.mts +2 -2
  369. package/dist/mixins/text.d.mts +1 -1
  370. package/dist/operators-Bo31xlc2.d.mts +43 -0
  371. package/dist/operators.d.mts +2 -0
  372. package/dist/{text-CtoDqqAO.d.mts → text-B21s9mRZ.d.mts} +1 -1
  373. package/dist/{theme-Bx2sn3Lt.d.mts → theme-BzBpJXhO.d.mts} +1 -1
  374. package/dist/theme.d.mts +1 -1
  375. package/dist/types-D58IoRx6.d.mts +158 -0
  376. package/dist/types-D7ppqnNj.d.mts +45 -0
  377. package/dist/{types-B34lbI2k.d.mts → types-DEh_pXgS.d.mts} +1 -1
  378. package/dist/{types-CuCT-YnX.d.cts → types-TV9nVfSe.d.mts} +1 -1
  379. package/dist/types.d.mts +1 -1
  380. package/dist/types2.d.mts +2 -2
  381. package/dist/types3.d.mts +2 -0
  382. package/dist/types4.d.mts +2 -0
  383. package/dist/use-rules-popover-selection.d.mts +19 -0
  384. package/dist/useComboboxFooterAction.d.mts +47 -0
  385. package/dist/useFilterStateV2-DCQghouq.d.mts +93 -0
  386. package/dist/useFilterStateV2.d.mts +2 -0
  387. package/dist/{useFormField-BE0rTBF1.d.mts → useFormField-D8mLsiQc.d.mts} +2 -2
  388. package/dist/{useFormField-eftOPiXj.mjs → useFormField-DhYd6bNn.mjs} +2 -2
  389. package/dist/{useFormField-eftOPiXj.mjs.map → useFormField-DhYd6bNn.mjs.map} +1 -1
  390. package/dist/useFormField.d.mts +1 -1
  391. package/dist/{useFormGroup-BMukAMAd.mjs → useFormGroup-DWVW7A9f.mjs} +1 -1
  392. package/dist/{useFormGroup-BMukAMAd.mjs.map → useFormGroup-DWVW7A9f.mjs.map} +1 -1
  393. package/dist/{useTableBoxDragAndDrop--QBq2FQh.d.cts → useTableBoxDragAndDrop-BMo-iaUF.d.mts} +1 -1
  394. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  395. package/dist/{useToggle-3k3EkV8V.mjs → useToggle-Bo3yd14Y.mjs} +1 -1
  396. package/dist/{useToggle-3k3EkV8V.mjs.map → useToggle-Bo3yd14Y.mjs.map} +1 -1
  397. package/dist/useTruncation.d.mts +1 -1
  398. package/dist/{utilities-DqO6Sh94.d.cts → utilities-BO_95qFA.d.mts} +1 -1
  399. package/dist/utilities.d.mts +1 -1
  400. package/dist/utils/storybook.mjs +1 -1
  401. package/dist/utils/testing.d.mts +1 -1
  402. package/dist/utils/testing.mjs +1 -1
  403. package/dist/utils.d.mts +22 -5
  404. package/dist/utils2.d.mts +9 -0
  405. package/dist/validation-vLh3t2dk.d.mts +51 -0
  406. package/dist/validation.d.mts +2 -0
  407. package/dist/value-control-resolver-CE-bqdAl.d.mts +46 -0
  408. package/dist/value-control-resolver.d.mts +2 -0
  409. package/package.json +203 -738
  410. package/skills/ui-authoring/COMPONENTS.md +331 -0
  411. package/skills/ui-authoring/EXAMPLES.md +370 -0
  412. package/skills/ui-authoring/REFERENCE.md +293 -0
  413. package/skills/ui-authoring/SKILL.md +237 -0
  414. package/dist/Action-z1rV4qON.d.cts +0 -35
  415. package/dist/Action.d.cts +0 -2
  416. package/dist/Attribute.d.cts +0 -107
  417. package/dist/AttributeGrid.d.cts +0 -40
  418. package/dist/Badge-DAGPU4-e.cjs +0 -38
  419. package/dist/Badge-DAGPU4-e.cjs.map +0 -1
  420. package/dist/Badge.d.cts +0 -25
  421. package/dist/Banner.d.cts +0 -48
  422. package/dist/Breadcrumb-BOxfam3E.d.cts +0 -31
  423. package/dist/Breadcrumb.d.cts +0 -2
  424. package/dist/Breadcrumbs.d.cts +0 -20
  425. package/dist/Button-DXsYU5qU.d.mts +0 -101
  426. package/dist/Button.d.cts +0 -2
  427. package/dist/ButtonGroup.d.cts +0 -20
  428. package/dist/Calendar.d.cts +0 -11
  429. package/dist/Card-CaOItkgL.cjs +0 -248
  430. package/dist/Card-CaOItkgL.cjs.map +0 -1
  431. package/dist/Card-DnmrsQWi.d.cts +0 -52
  432. package/dist/Card.d.cts +0 -2
  433. package/dist/Card2.d.cts +0 -95
  434. package/dist/Checkbox-DhxpxzGp.cjs +0 -183
  435. package/dist/Checkbox-DhxpxzGp.cjs.map +0 -1
  436. package/dist/Checkbox-MUC37dLY.d.mts +0 -46
  437. package/dist/Checkbox.d.cts +0 -2
  438. package/dist/CheckboxGroupField.d.cts +0 -24
  439. package/dist/Combobox-4Bi9-N1p.cjs +0 -1693
  440. package/dist/Combobox-4Bi9-N1p.cjs.map +0 -1
  441. package/dist/Combobox-Bedo_GIj.d.mts +0 -11
  442. package/dist/Combobox-CeKMrlxy.mjs.map +0 -1
  443. package/dist/Combobox.d.cts +0 -3
  444. package/dist/ComboboxBase-BoR9DVwe.d.cts +0 -321
  445. package/dist/ComboboxBase.d.cts +0 -2
  446. package/dist/ComboboxMultiSelect-CnI6sFAF.d.cts +0 -47
  447. package/dist/ComboboxMultiSelect.d.cts +0 -2
  448. package/dist/ComboboxSingleSelect-Japejm0g.d.cts +0 -35
  449. package/dist/ComboboxSingleSelect.d.cts +0 -2
  450. package/dist/CompactBar-DTsGo1zU.d.cts +0 -21
  451. package/dist/CompactBar.d.cts +0 -2
  452. package/dist/ConfigFormGroup-DVRhkS2L.cjs +0 -35
  453. package/dist/ConfigFormGroup-DVRhkS2L.cjs.map +0 -1
  454. package/dist/ConfigFormGroup.d.cts +0 -7
  455. package/dist/ControlBar-BGmXymCB.d.cts +0 -151
  456. package/dist/ControlBar.d.cts +0 -2
  457. package/dist/DataTable.d.cts +0 -372
  458. package/dist/DateField.d.cts +0 -23
  459. package/dist/DatePicker.d.cts +0 -19
  460. package/dist/DateRangePicker.d.cts +0 -52
  461. package/dist/DropdownButton-Du6dwZVL.cjs +0 -32
  462. package/dist/DropdownButton-Du6dwZVL.cjs.map +0 -1
  463. package/dist/DropdownButton.d.cts +0 -26
  464. package/dist/DropdownMenu-CfJxgWN5.cjs +0 -74
  465. package/dist/DropdownMenu-CfJxgWN5.cjs.map +0 -1
  466. package/dist/DropdownMenu-FIYz6oAo.d.cts +0 -75
  467. package/dist/DropdownMenu.d.cts +0 -2
  468. package/dist/ErrorProps-iEj4BIVA.d.mts +0 -8
  469. package/dist/ErrorProps.d.cts +0 -2
  470. package/dist/FloatingActionBar.d.cts +0 -40
  471. package/dist/FormControl-BrsML00L.d.cts +0 -60
  472. package/dist/FormControl-Czt95h2L.cjs +0 -212
  473. package/dist/FormControl-Czt95h2L.cjs.map +0 -1
  474. package/dist/FormControl.d.cts +0 -2
  475. package/dist/FormField-DoSXvnJ3.d.cts +0 -69
  476. package/dist/FormField.d.cts +0 -2
  477. package/dist/Header-CkZvzbzL.d.cts +0 -35
  478. package/dist/Header.d.cts +0 -2
  479. package/dist/HelperTooltip-C1CYMpJP.d.cts +0 -20
  480. package/dist/HelperTooltip.d.cts +0 -2
  481. package/dist/HoverCopyableField-B_WNB7Qp.cjs +0 -110
  482. package/dist/HoverCopyableField-B_WNB7Qp.cjs.map +0 -1
  483. package/dist/HoverCopyableField.d.cts +0 -16
  484. package/dist/IconButton-DNy7g5zh.cjs +0 -372
  485. package/dist/IconButton-DNy7g5zh.cjs.map +0 -1
  486. package/dist/IconButton-Dnnlf9uO.d.mts +0 -24
  487. package/dist/IconButton.d.cts +0 -2
  488. package/dist/ImageTile.d.cts +0 -60
  489. package/dist/Input-4KeYlOWM.d.mts +0 -65
  490. package/dist/Input-BDLUq-pK.cjs +0 -209
  491. package/dist/Input-BDLUq-pK.cjs.map +0 -1
  492. package/dist/Input-PWfwMSJ7.mjs.map +0 -1
  493. package/dist/Input.d.cts +0 -2
  494. package/dist/InputProps-CTLG2Tr0.d.mts +0 -16
  495. package/dist/InputProps.d.cts +0 -2
  496. package/dist/Inserter.d.cts +0 -12
  497. package/dist/Link.d.cts +0 -43
  498. package/dist/ListBox-BCscLcYL.cjs +0 -379
  499. package/dist/ListBox-BCscLcYL.cjs.map +0 -1
  500. package/dist/ListBox-CDNOJmvz.mjs.map +0 -1
  501. package/dist/ListBox-WyZvseo5.d.cts +0 -138
  502. package/dist/ListBox.d.cts +0 -2
  503. package/dist/ListBoxField.d.cts +0 -46
  504. package/dist/LoadingShimmer-CUjbAqGd.cjs +0 -92
  505. package/dist/LoadingShimmer-CUjbAqGd.cjs.map +0 -1
  506. package/dist/LoadingShimmer.d.cts +0 -38
  507. package/dist/MaskedInput.d.cts +0 -10
  508. package/dist/MatchHighlight.d.cts +0 -11
  509. package/dist/Menu-BKMxOXkj.d.cts +0 -70
  510. package/dist/Menu-BXic-30n.cjs +0 -217
  511. package/dist/Menu-BXic-30n.cjs.map +0 -1
  512. package/dist/Menu.d.cts +0 -2
  513. package/dist/MiddleTruncatedText-BIzKECv9.cjs +0 -178
  514. package/dist/MiddleTruncatedText-BIzKECv9.cjs.map +0 -1
  515. package/dist/Modal.d.cts +0 -146
  516. package/dist/PageHeader.d.cts +0 -26
  517. package/dist/PageSelector-DoROR_Uh.d.cts +0 -30
  518. package/dist/PageSelector.d.cts +0 -2
  519. package/dist/Pagination-B97xQ-Wk.d.cts +0 -33
  520. package/dist/Pagination-Cj08JRG9.mjs.map +0 -1
  521. package/dist/Pagination-D4IVVj3S.cjs +0 -233
  522. package/dist/Pagination-D4IVVj3S.cjs.map +0 -1
  523. package/dist/Pagination.d.cts +0 -2
  524. package/dist/Pii-D-Ry7L0t.cjs +0 -25
  525. package/dist/Pii-D-Ry7L0t.cjs.map +0 -1
  526. package/dist/Pii.d.cts +0 -16
  527. package/dist/Popover-BAv7BujW.cjs +0 -168
  528. package/dist/Popover-BAv7BujW.cjs.map +0 -1
  529. package/dist/Popover.d.cts +0 -90
  530. package/dist/ProgressBar.d.cts +0 -83
  531. package/dist/ProgressIndicator.d.cts +0 -64
  532. package/dist/PseudoClassProps-C5jpj6Rp.d.cts +0 -12
  533. package/dist/PseudoClassProps.d.cts +0 -2
  534. package/dist/Radio-nw846eRv.cjs +0 -154
  535. package/dist/Radio-nw846eRv.cjs.map +0 -1
  536. package/dist/Radio.d.cts +0 -21
  537. package/dist/RadioGroup-D_H1B7JV.d.cts +0 -21
  538. package/dist/RadioGroup-DmGVJCgT.cjs +0 -57
  539. package/dist/RadioGroup-DmGVJCgT.cjs.map +0 -1
  540. package/dist/RadioGroup.d.cts +0 -2
  541. package/dist/SearchInput-CAHYPQVX.d.cts +0 -46
  542. package/dist/SearchInput.d.cts +0 -2
  543. package/dist/SectionHeading-D-L4uPoX.d.cts +0 -71
  544. package/dist/SectionHeading.d.cts +0 -2
  545. package/dist/SegmentedControl-B1ZLgu61.mjs.map +0 -1
  546. package/dist/SegmentedControl-CE845gnm.d.mts +0 -59
  547. package/dist/SegmentedControl-CIJz0oxY.cjs +0 -124
  548. package/dist/SegmentedControl-CIJz0oxY.cjs.map +0 -1
  549. package/dist/SegmentedControl.d.cts +0 -2
  550. package/dist/Select-BMEwCfbv.d.mts +0 -77
  551. package/dist/Select-ByTgXOlU.mjs.map +0 -1
  552. package/dist/Select-C65bfYeT.cjs +0 -262
  553. package/dist/Select-C65bfYeT.cjs.map +0 -1
  554. package/dist/Select.d.cts +0 -2
  555. package/dist/Slider.d.cts +0 -51
  556. package/dist/SliderRHF.d.cts +0 -18
  557. package/dist/Spacer-GYHbk-dS.cjs +0 -20
  558. package/dist/Spacer-GYHbk-dS.cjs.map +0 -1
  559. package/dist/Spacer.d.cts +0 -17
  560. package/dist/Spinner-B6bx70yR.cjs +0 -48
  561. package/dist/Spinner-B6bx70yR.cjs.map +0 -1
  562. package/dist/Spinner.d.cts +0 -26
  563. package/dist/Stack-BF-9YjA1.cjs +0 -53
  564. package/dist/Stack-BF-9YjA1.cjs.map +0 -1
  565. package/dist/Stack-D979gYU9.d.cts +0 -47
  566. package/dist/Stack.d.cts +0 -2
  567. package/dist/StatusIndicator.d.cts +0 -54
  568. package/dist/Sticker-D0jIU2Dt.cjs +0 -244
  569. package/dist/Sticker-D0jIU2Dt.cjs.map +0 -1
  570. package/dist/Sticker-N8XZnv7M.d.cts +0 -68
  571. package/dist/Sticker.d.cts +0 -2
  572. package/dist/SwatchPicker.d.cts +0 -18
  573. package/dist/Tab.d.cts +0 -26
  574. package/dist/TabBar-BpHMYvNb.cjs +0 -298
  575. package/dist/TabBar-BpHMYvNb.cjs.map +0 -1
  576. package/dist/TabBar-ByusqAXF.mjs.map +0 -1
  577. package/dist/TabBar.d.cts +0 -33
  578. package/dist/TabBarIconButton.d.cts +0 -10
  579. package/dist/Table-C9rjUVpn.cjs +0 -478
  580. package/dist/Table-C9rjUVpn.cjs.map +0 -1
  581. package/dist/Table-D3nyiZt0.d.mts +0 -13
  582. package/dist/Table.d.cts +0 -2
  583. package/dist/TableBody-DpRjZgzU.d.mts +0 -9
  584. package/dist/TableBody.d.cts +0 -2
  585. package/dist/TableBox-DIJffyts.mjs.map +0 -1
  586. package/dist/TableBox-DO-yToJk.cjs +0 -1370
  587. package/dist/TableBox-DO-yToJk.cjs.map +0 -1
  588. package/dist/TableBox.d.cts +0 -3
  589. package/dist/TableBoxCell-DOQ8PnAT.d.cts +0 -259
  590. package/dist/TableBoxCell.d.cts +0 -2
  591. package/dist/TableBoxField.d.cts +0 -99
  592. package/dist/TableBoxRow-BUK5RjRA.d.cts +0 -86
  593. package/dist/TableBoxRow.d.cts +0 -2
  594. package/dist/TableBoxRowActions-CKgUEH38.d.cts +0 -57
  595. package/dist/TableBoxRowActions.d.cts +0 -2
  596. package/dist/TableCell.d.cts +0 -2
  597. package/dist/TableControls-Bkd3jhC1.d.cts +0 -70
  598. package/dist/TableControls-BkdSeQvt.mjs +0 -1029
  599. package/dist/TableControls-BkdSeQvt.mjs.map +0 -1
  600. package/dist/TableControls-DcbnNqeK.cjs +0 -1080
  601. package/dist/TableControls-DcbnNqeK.cjs.map +0 -1
  602. package/dist/TableControls.d.cts +0 -2
  603. package/dist/TableControlsContext-D6XpuRVw.d.cts +0 -21
  604. package/dist/TableControlsContext.d.cts +0 -2
  605. package/dist/TableHead-wl78HqPT.d.mts +0 -12
  606. package/dist/TableHead.d.cts +0 -2
  607. package/dist/TableHeaderCell-B2yiOw4w.d.mts +0 -17
  608. package/dist/TableHeaderCell.d.cts +0 -2
  609. package/dist/TableLayout-GyRS-Awa.d.cts +0 -19
  610. package/dist/TableLayout.d.cts +0 -2
  611. package/dist/TableRow-C-faHbkL.d.mts +0 -13
  612. package/dist/TableRow.d.cts +0 -2
  613. package/dist/TableTH.d.cts +0 -2
  614. package/dist/TableViewConfigurationDropdown-u3-prEHJ.d.cts +0 -32
  615. package/dist/TableViewConfigurationDropdown.d.cts +0 -2
  616. package/dist/TechnicalSticker.d.cts +0 -51
  617. package/dist/Text-CrGiWG2E.d.cts +0 -42
  618. package/dist/Text-CzN0DOXV.cjs +0 -95
  619. package/dist/Text-CzN0DOXV.cjs.map +0 -1
  620. package/dist/Text.d.cts +0 -2
  621. package/dist/TextArea-DVHi0K7M.cjs +0 -40
  622. package/dist/TextArea-DVHi0K7M.cjs.map +0 -1
  623. package/dist/TextArea-weASn4Hq.d.mts +0 -10
  624. package/dist/TextArea.d.cts +0 -2
  625. package/dist/TextUnderlineTooltip-cSMjZOuB.d.cts +0 -18
  626. package/dist/TextUnderlineTooltip.d.cts +0 -2
  627. package/dist/Tile.d.cts +0 -63
  628. package/dist/Toast.d.cts +0 -23
  629. package/dist/Toggle-CTtrhzsV.cjs +0 -174
  630. package/dist/Toggle-CTtrhzsV.cjs.map +0 -1
  631. package/dist/Toggle-CYQE1Nk_.d.cts +0 -54
  632. package/dist/Toggle.d.cts +0 -2
  633. package/dist/Tooltip-BhGRP9QA.d.cts +0 -100
  634. package/dist/Tooltip-vylydKVv.cjs +0 -152
  635. package/dist/Tooltip-vylydKVv.cjs.map +0 -1
  636. package/dist/Tooltip.d.cts +0 -2
  637. package/dist/TruncatedText-D8f3AiBL.d.cts +0 -18
  638. package/dist/chunk-CKQMccvm.cjs +0 -28
  639. package/dist/components/Attribute/index.cjs +0 -210
  640. package/dist/components/Attribute/index.cjs.map +0 -1
  641. package/dist/components/Attribute/index.d.cts +0 -3
  642. package/dist/components/Badge/index.cjs +0 -7
  643. package/dist/components/Badge/index.d.cts +0 -2
  644. package/dist/components/Banner/index.cjs +0 -99
  645. package/dist/components/Banner/index.cjs.map +0 -1
  646. package/dist/components/Banner/index.d.cts +0 -2
  647. package/dist/components/Breadcrumbs/index.cjs +0 -275
  648. package/dist/components/Breadcrumbs/index.cjs.map +0 -1
  649. package/dist/components/Breadcrumbs/index.d.cts +0 -2
  650. package/dist/components/Breadcrumbs/index.mjs.map +0 -1
  651. package/dist/components/Button/index.cjs +0 -11
  652. package/dist/components/Button/index.d.cts +0 -3
  653. package/dist/components/ButtonGroup/index.cjs +0 -112
  654. package/dist/components/ButtonGroup/index.cjs.map +0 -1
  655. package/dist/components/ButtonGroup/index.d.cts +0 -2
  656. package/dist/components/Card/index.cjs +0 -12
  657. package/dist/components/Card/index.d.cts +0 -3
  658. package/dist/components/CardV2/index.cjs +0 -419
  659. package/dist/components/CardV2/index.cjs.map +0 -1
  660. package/dist/components/CardV2/index.d.cts +0 -3
  661. package/dist/components/CardV2/index.mjs.map +0 -1
  662. package/dist/components/Checkbox/index.cjs +0 -7
  663. package/dist/components/Checkbox/index.d.cts +0 -2
  664. package/dist/components/Combobox/index.cjs +0 -9
  665. package/dist/components/Combobox/index.d.cts +0 -3
  666. package/dist/components/ConfigFormGroup/index.cjs +0 -10
  667. package/dist/components/ConfigFormGroup/index.d.cts +0 -3
  668. package/dist/components/DataTable/TableControls/index.cjs +0 -13
  669. package/dist/components/DataTable/TableControls/index.d.cts +0 -6
  670. package/dist/components/DataTable/index.cjs +0 -1434
  671. package/dist/components/DataTable/index.cjs.map +0 -1
  672. package/dist/components/DataTable/index.d.cts +0 -8
  673. package/dist/components/DataTable/types.cjs +0 -0
  674. package/dist/components/DataTable/types.d.cts +0 -159
  675. package/dist/components/DatePicker/index.cjs +0 -933
  676. package/dist/components/DatePicker/index.cjs.map +0 -1
  677. package/dist/components/DatePicker/index.d.cts +0 -5
  678. package/dist/components/DatePicker/index.mjs.map +0 -1
  679. package/dist/components/DropdownButton/index.cjs +0 -7
  680. package/dist/components/DropdownButton/index.d.cts +0 -2
  681. package/dist/components/DropdownMenu/index.cjs +0 -7
  682. package/dist/components/DropdownMenu/index.d.cts +0 -2
  683. package/dist/components/FormControl/index.cjs +0 -15
  684. package/dist/components/FormControl/index.d.cts +0 -3
  685. package/dist/components/FormField/index.cjs +0 -490
  686. package/dist/components/FormField/index.cjs.map +0 -1
  687. package/dist/components/FormField/index.d.cts +0 -6
  688. package/dist/components/FormField/index.mjs.map +0 -1
  689. package/dist/components/HoverCopyableField/index.cjs +0 -2
  690. package/dist/components/HoverCopyableField/index.d.cts +0 -2
  691. package/dist/components/ImageTile/index.cjs +0 -225
  692. package/dist/components/ImageTile/index.cjs.map +0 -1
  693. package/dist/components/ImageTile/index.d.cts +0 -2
  694. package/dist/components/Input/index.cjs +0 -14
  695. package/dist/components/Input/index.cjs.map +0 -1
  696. package/dist/components/Input/index.d.cts +0 -2
  697. package/dist/components/Link/index.cjs +0 -87
  698. package/dist/components/Link/index.cjs.map +0 -1
  699. package/dist/components/Link/index.d.cts +0 -2
  700. package/dist/components/ListBox/index.cjs +0 -8
  701. package/dist/components/ListBox/index.d.cts +0 -2
  702. package/dist/components/LoadingShimmer/index.cjs +0 -6
  703. package/dist/components/LoadingShimmer/index.d.cts +0 -2
  704. package/dist/components/MaskedInput/index.cjs +0 -29
  705. package/dist/components/MaskedInput/index.cjs.map +0 -1
  706. package/dist/components/MaskedInput/index.d.cts +0 -2
  707. package/dist/components/MatchHighlight/index.cjs +0 -31
  708. package/dist/components/MatchHighlight/index.cjs.map +0 -1
  709. package/dist/components/MatchHighlight/index.d.cts +0 -2
  710. package/dist/components/Menu/index.cjs +0 -14
  711. package/dist/components/Menu/index.d.cts +0 -2
  712. package/dist/components/Modal/index.cjs +0 -290
  713. package/dist/components/Modal/index.cjs.map +0 -1
  714. package/dist/components/Modal/index.d.cts +0 -2
  715. package/dist/components/PageHeader/index.cjs +0 -71
  716. package/dist/components/PageHeader/index.cjs.map +0 -1
  717. package/dist/components/PageHeader/index.d.cts +0 -2
  718. package/dist/components/PageHeader/index.mjs.map +0 -1
  719. package/dist/components/Pagination/index.cjs +0 -10
  720. package/dist/components/Pagination/index.d.cts +0 -4
  721. package/dist/components/Pii/index.cjs +0 -2
  722. package/dist/components/Pii/index.d.cts +0 -2
  723. package/dist/components/Popover/index.cjs +0 -12
  724. package/dist/components/Popover/index.d.cts +0 -2
  725. package/dist/components/ProgressBar/index.cjs +0 -177
  726. package/dist/components/ProgressBar/index.cjs.map +0 -1
  727. package/dist/components/ProgressBar/index.d.cts +0 -2
  728. package/dist/components/ProgressIndicator/index.cjs +0 -185
  729. package/dist/components/ProgressIndicator/index.cjs.map +0 -1
  730. package/dist/components/ProgressIndicator/index.d.cts +0 -2
  731. package/dist/components/Radio/index.cjs +0 -7
  732. package/dist/components/Radio/index.d.cts +0 -2
  733. package/dist/components/RadioGroup/index.cjs +0 -7
  734. package/dist/components/RadioGroup/index.d.cts +0 -2
  735. package/dist/components/SegmentedControl/index.cjs +0 -8
  736. package/dist/components/SegmentedControl/index.d.cts +0 -2
  737. package/dist/components/Select/index.cjs +0 -9
  738. package/dist/components/Select/index.d.cts +0 -2
  739. package/dist/components/Slider/index.cjs +0 -245
  740. package/dist/components/Slider/index.cjs.map +0 -1
  741. package/dist/components/Slider/index.d.cts +0 -3
  742. package/dist/components/Spacer/index.cjs +0 -2
  743. package/dist/components/Spacer/index.d.cts +0 -2
  744. package/dist/components/Spinner/index.cjs +0 -7
  745. package/dist/components/Spinner/index.d.cts +0 -2
  746. package/dist/components/Stack/index.cjs +0 -8
  747. package/dist/components/Stack/index.d.cts +0 -2
  748. package/dist/components/StatusIndicator/index.cjs +0 -174
  749. package/dist/components/StatusIndicator/index.cjs.map +0 -1
  750. package/dist/components/StatusIndicator/index.d.cts +0 -2
  751. package/dist/components/Sticker/index.cjs +0 -11
  752. package/dist/components/Sticker/index.d.cts +0 -2
  753. package/dist/components/SwatchPicker/index.cjs +0 -63
  754. package/dist/components/SwatchPicker/index.cjs.map +0 -1
  755. package/dist/components/SwatchPicker/index.d.cts +0 -2
  756. package/dist/components/TabBar/index.cjs +0 -11
  757. package/dist/components/TabBar/index.d.cts +0 -4
  758. package/dist/components/Table/index.cjs +0 -21
  759. package/dist/components/Table/index.d.cts +0 -8
  760. package/dist/components/TableBox/index.cjs +0 -7
  761. package/dist/components/TableBox/index.d.cts +0 -3
  762. package/dist/components/TechnicalSticker/index.cjs +0 -239
  763. package/dist/components/TechnicalSticker/index.cjs.map +0 -1
  764. package/dist/components/TechnicalSticker/index.d.cts +0 -2
  765. package/dist/components/Text/index.cjs +0 -8
  766. package/dist/components/Text/index.d.cts +0 -2
  767. package/dist/components/TextArea/index.cjs +0 -7
  768. package/dist/components/TextArea/index.d.cts +0 -2
  769. package/dist/components/Tile/index.cjs +0 -102
  770. package/dist/components/Tile/index.cjs.map +0 -1
  771. package/dist/components/Tile/index.d.cts +0 -2
  772. package/dist/components/Toast/index.cjs +0 -134
  773. package/dist/components/Toast/index.cjs.map +0 -1
  774. package/dist/components/Toast/index.d.cts +0 -2
  775. package/dist/components/Toggle/index.cjs +0 -7
  776. package/dist/components/Toggle/index.d.cts +0 -2
  777. package/dist/components/Tooltip/index.cjs +0 -11
  778. package/dist/components/Tooltip/index.d.cts +0 -4
  779. package/dist/constants-kwVsjw8O.d.cts +0 -6
  780. package/dist/constants.d.cts +0 -2
  781. package/dist/constants2.d.cts +0 -10
  782. package/dist/helpers.d.cts +0 -76
  783. package/dist/index-D-BciAtf.d.cts +0 -1
  784. package/dist/index-D2HUTZ-d.d.cts +0 -1
  785. package/dist/index-D8dPsry7.d.mts +0 -1
  786. package/dist/index-DeEmP3Jc.d.cts +0 -1
  787. package/dist/index-DeVKzGce.d.mts +0 -1
  788. package/dist/index-DrZ2Dh-H.d.cts +0 -1
  789. package/dist/index-DxSM7VXJ.d.cts +0 -1
  790. package/dist/index-FtE8MXJ_.d.mts +0 -1
  791. package/dist/index-JuxZj_Qp2.d.mts +0 -1
  792. package/dist/index-LhFpnU-f.d.mts +0 -1
  793. package/dist/index-N-OgGgfF.d.mts +0 -1
  794. package/dist/index-NKYLt_R9.d.mts +0 -1
  795. package/dist/index-VWno75SQ.d.mts +0 -1
  796. package/dist/index-_tQRydn9.d.cts +0 -75
  797. package/dist/index-_wQ5ClJU.d.cts +0 -1
  798. package/dist/index-c55Utzva.d.mts +0 -1
  799. package/dist/index-gpCH5158.d.mts +0 -1
  800. package/dist/index-lQ_hGQ08.d.cts +0 -1
  801. package/dist/index-luywJTzJ.d.mts +0 -1
  802. package/dist/index-zO0Ly4bS.d.cts +0 -1
  803. package/dist/index.cjs +0 -0
  804. package/dist/index.d.cts +0 -2
  805. package/dist/index2.d.cts +0 -2
  806. package/dist/index3.d.cts +0 -1
  807. package/dist/input-DrG6mA0V.d.mts +0 -17
  808. package/dist/inputFields.d.cts +0 -83
  809. package/dist/intersperse-Gxwgpbk8.cjs +0 -26
  810. package/dist/intersperse-yd3oMrQl.mjs.map +0 -1
  811. package/dist/lib/ConfigContext.cjs +0 -15
  812. package/dist/lib/ConfigContext.cjs.map +0 -1
  813. package/dist/lib/ConfigContext.d.cts +0 -16
  814. package/dist/lib/GlobalStyles.cjs +0 -57
  815. package/dist/lib/GlobalStyles.cjs.map +0 -1
  816. package/dist/lib/GlobalStyles.d.cts +0 -8
  817. package/dist/lib/HeadlessAriaButton.cjs +0 -33
  818. package/dist/lib/HeadlessAriaButton.cjs.map +0 -1
  819. package/dist/lib/HeadlessAriaButton.d.cts +0 -12
  820. package/dist/lib/MiddleTruncatedText.cjs +0 -7
  821. package/dist/lib/MiddleTruncatedText.d.cts +0 -14
  822. package/dist/lib/PDSProvider.cjs +0 -13
  823. package/dist/lib/PDSProvider.cjs.map +0 -1
  824. package/dist/lib/PDSProvider.d.cts +0 -10
  825. package/dist/lib/TruncatedText.cjs +0 -39
  826. package/dist/lib/TruncatedText.cjs.map +0 -1
  827. package/dist/lib/TruncatedText.d.cts +0 -2
  828. package/dist/lib/TruncatedTextWithTooltip.cjs +0 -34
  829. package/dist/lib/TruncatedTextWithTooltip.cjs.map +0 -1
  830. package/dist/lib/TruncatedTextWithTooltip.d.cts +0 -15
  831. package/dist/lib/comboboxHelper.cjs +0 -46
  832. package/dist/lib/comboboxHelper.cjs.map +0 -1
  833. package/dist/lib/comboboxHelper.d.cts +0 -24
  834. package/dist/lib/copyTextToClipboard.cjs +0 -33
  835. package/dist/lib/copyTextToClipboard.cjs.map +0 -1
  836. package/dist/lib/copyTextToClipboard.d.cts +0 -4
  837. package/dist/lib/datePickerHelper.cjs +0 -36
  838. package/dist/lib/datePickerHelper.cjs.map +0 -1
  839. package/dist/lib/datePickerHelper.d.cts +0 -19
  840. package/dist/lib/message.cjs +0 -12
  841. package/dist/lib/message.cjs.map +0 -1
  842. package/dist/lib/message.d.cts +0 -2
  843. package/dist/lib/pseudoClass.cjs +0 -31
  844. package/dist/lib/pseudoClass.cjs.map +0 -1
  845. package/dist/lib/pseudoClass.d.cts +0 -45
  846. package/dist/lib/reorderItems.cjs +0 -38
  847. package/dist/lib/reorderItems.cjs.map +0 -1
  848. package/dist/lib/reorderItems.d.cts +0 -26
  849. package/dist/lib/selectHelper.cjs +0 -22
  850. package/dist/lib/selectHelper.cjs.map +0 -1
  851. package/dist/lib/selectHelper.d.cts +0 -14
  852. package/dist/lib/useControlled.cjs +0 -20
  853. package/dist/lib/useControlled.cjs.map +0 -1
  854. package/dist/lib/useControlled.d.cts +0 -16
  855. package/dist/lib/useIsOverflow.cjs +0 -58
  856. package/dist/lib/useIsOverflow.cjs.map +0 -1
  857. package/dist/lib/useIsOverflow.d.cts +0 -11
  858. package/dist/lib/useOutsideClick.cjs +0 -19
  859. package/dist/lib/useOutsideClick.cjs.map +0 -1
  860. package/dist/lib/useOutsideClick.d.cts +0 -13
  861. package/dist/lib/useScrollOverflow.cjs +0 -61
  862. package/dist/lib/useScrollOverflow.cjs.map +0 -1
  863. package/dist/lib/useScrollOverflow.d.cts +0 -36
  864. package/dist/lib/zindex.cjs +0 -26
  865. package/dist/lib/zindex.cjs.map +0 -1
  866. package/dist/lib/zindex.d.cts +0 -25
  867. package/dist/message-C2286H-r.d.cts +0 -9
  868. package/dist/mixins/focus.cjs +0 -39
  869. package/dist/mixins/focus.cjs.map +0 -1
  870. package/dist/mixins/focus.d.cts +0 -11
  871. package/dist/mixins/hoverable.cjs +0 -38
  872. package/dist/mixins/hoverable.cjs.map +0 -1
  873. package/dist/mixins/hoverable.d.cts +0 -16
  874. package/dist/mixins/input.cjs +0 -95
  875. package/dist/mixins/input.cjs.map +0 -1
  876. package/dist/mixins/input.d.cts +0 -2
  877. package/dist/mixins/menuItem.cjs +0 -110
  878. package/dist/mixins/menuItem.cjs.map +0 -1
  879. package/dist/mixins/menuItem.d.cts +0 -30
  880. package/dist/mixins/print/index.cjs +0 -25
  881. package/dist/mixins/print/index.cjs.map +0 -1
  882. package/dist/mixins/print/index.d.cts +0 -11
  883. package/dist/mixins/text.cjs +0 -93
  884. package/dist/mixins/text.cjs.map +0 -1
  885. package/dist/mixins/text.d.cts +0 -2
  886. package/dist/text-PmH5oc61.d.cts +0 -14
  887. package/dist/theme-Cadb1xzQ.d.cts +0 -154
  888. package/dist/theme.cjs +0 -353
  889. package/dist/theme.cjs.map +0 -1
  890. package/dist/theme.d.cts +0 -2
  891. package/dist/types-C_AUGurs.d.cts +0 -25
  892. package/dist/types-DTak9UTv.d.mts +0 -10
  893. package/dist/types.d.cts +0 -2
  894. package/dist/types2.d.cts +0 -2
  895. package/dist/useFormField-B98dmreO.cjs +0 -37
  896. package/dist/useFormField-B98dmreO.cjs.map +0 -1
  897. package/dist/useFormField-CaIdE7JQ.d.cts +0 -30
  898. package/dist/useFormField.d.cts +0 -2
  899. package/dist/useFormGroup-BE7v9eAj.cjs +0 -26
  900. package/dist/useFormGroup-BE7v9eAj.cjs.map +0 -1
  901. package/dist/useFormGroup.d.cts +0 -18
  902. package/dist/useTableBoxDragAndDrop-BTtv9PEt.d.mts +0 -69
  903. package/dist/useTableBoxDragAndDrop.d.cts +0 -2
  904. package/dist/useTableColumns.d.cts +0 -72
  905. package/dist/useToggle-CSkZWXtQ.cjs +0 -27
  906. package/dist/useToggle-CSkZWXtQ.cjs.map +0 -1
  907. package/dist/utilities-SMbDe8oK.d.mts +0 -9
  908. package/dist/utilities.d.cts +0 -2
  909. package/dist/utils/storybook.cjs +0 -12
  910. package/dist/utils/storybook.cjs.map +0 -1
  911. package/dist/utils/testing.cjs +0 -50
  912. package/dist/utils/testing.cjs.map +0 -1
  913. package/dist/utils/testing.d.cts +0 -18
  914. package/dist/variables/color.cjs +0 -22
  915. package/dist/variables/color.cjs.map +0 -1
  916. package/dist/variables/color.d.cts +0 -19
  917. package/dist/variables/effect.cjs +0 -27
  918. package/dist/variables/effect.cjs.map +0 -1
  919. package/dist/variables/effect.d.cts +0 -21
  920. package/dist/variables/keyframes.cjs +0 -22
  921. package/dist/variables/keyframes.cjs.map +0 -1
  922. package/dist/variables/keyframes.d.cts +0 -8
  923. package/dist/variables/spacing.cjs +0 -10
  924. package/dist/variables/spacing.cjs.map +0 -1
  925. package/dist/variables/spacing.d.cts +0 -8
  926. package/dist/variables/text.cjs +0 -13
  927. package/dist/variables/text.cjs.map +0 -1
  928. package/dist/variables/text.d.cts +0 -10
  929. package/dist/variables/transitions.cjs +0 -24
  930. package/dist/variables/transitions.cjs.map +0 -1
  931. package/dist/variables/transitions.d.cts +0 -19
  932. /package/dist/{index-8SLBz2NH.d.mts → index--p6oQT9I.d.mts} +0 -0
  933. /package/dist/{index-B2KLYYkM.d.cts → index-BYd3Btr1.d.mts} +0 -0
  934. /package/dist/{index-B5cbLMbC2.d.cts → index-CDGG7lCB.d.mts} +0 -0
  935. /package/dist/{index-BCsiC0tv.d.cts → index-CKKoxA9V.d.mts} +0 -0
  936. /package/dist/{index-BPSCxsMC.d.cts → index-CMuRFTR3.d.mts} +0 -0
  937. /package/dist/{index-BPiqSRRl.d.mts → index-CNxS4Tlu.d.mts} +0 -0
  938. /package/dist/{index-BR1oNnaF.d.cts → index-CWB6exYm.d.mts} +0 -0
  939. /package/dist/{index-BSVhZrWN.d.mts → index-CzItj62a.d.mts} +0 -0
  940. /package/dist/{index-BTImeehL2.d.mts → index-D4DUvwPf.d.mts} +0 -0
  941. /package/dist/{index-C0NRIDsj2.d.cts → index-DGsJdI5l.d.mts} +0 -0
  942. /package/dist/{index-C3kE54DD.d.mts → index-DM6vVDZD.d.mts} +0 -0
  943. /package/dist/{index-C6yvNuzO.d.cts → index-DWfPppPU.d.mts} +0 -0
  944. /package/dist/{index-C8k_zgEm.d.cts → index-DXJd7-2Z.d.mts} +0 -0
  945. /package/dist/{index-CEqOS-7M.d.mts → index-DkrC-i1D.d.mts} +0 -0
  946. /package/dist/{index-CROz1VSV.d.mts → index-DvuJXuAN.d.mts} +0 -0
  947. /package/dist/{index-CWt1yJ75.d.cts → index-Iujpc9_6.d.mts} +0 -0
  948. /package/dist/{index-CmCelmEL.d.cts → index-PWQavSPf.d.mts} +0 -0
  949. /package/dist/{index-CmUzJ4E-2.d.cts → index-e6k85DKM.d.mts} +0 -0
  950. /package/dist/{index-CsuikFeJ.d.mts → index-lIMqGGJz.d.mts} +0 -0
  951. /package/dist/{index-CtCMUyZA.d.cts → index-sViox9YW.d.mts} +0 -0
  952. /package/dist/{index-Cz6N-KeS.d.cts → index6.d.mts} +0 -0
@@ -0,0 +1,331 @@
1
+ # Component Patterns & Props Reference
2
+
3
+ ## Form Configuration
4
+
5
+ ```tsx
6
+ import ConfigFormGroup from '@persona/design-system/components/ConfigFormGroup';
7
+ import { TextField, TextAreaField } from '@persona/design-system/components/FormField';
8
+
9
+ const [config, setConfig] = useState({ name: '', description: '', prompt: '' });
10
+
11
+ <ConfigFormGroup>
12
+ <TextField
13
+ label="Name"
14
+ value={config.name}
15
+ onChange={(e) => setConfig({ ...config, name: e.target.value })}
16
+ configField={true} // helperText becomes a tooltip
17
+ helperText="Unique identifier"
18
+ errorText={errors.name}
19
+ rightActions={<Button size="sm" variant="basic">Generate</Button>}
20
+ />
21
+ <TextAreaField
22
+ label="Prompt"
23
+ value={config.prompt}
24
+ onChange={(e) => setConfig({ ...config, prompt: e.target.value })}
25
+ configField={true}
26
+ warningText={warnings.prompt}
27
+ />
28
+ </ConfigFormGroup>
29
+ ```
30
+
31
+ - `configField={true}` → helper text becomes a tooltip instead of inline text
32
+ - `ConfigFormGroup` provides consistent 20px spacing between fields
33
+ - Use controlled inputs; clear `errorText` on change via `updateField` in form state hook
34
+
35
+ ## Form State Hook
36
+
37
+ ```tsx
38
+ const useFormState = (initialConfig) => {
39
+ const [config, setConfig] = useState(initialConfig);
40
+ const [errors, setErrors] = useState({});
41
+
42
+ const updateField = useCallback((field, value) => {
43
+ setConfig(prev => ({ ...prev, [field]: value }));
44
+ setErrors(prev => { const next = { ...prev }; delete next[field]; return next; });
45
+ }, []);
46
+
47
+ const validate = useCallback(() => {
48
+ const newErrors = {};
49
+ if (!config.name) newErrors.name = 'Required';
50
+ setErrors(newErrors);
51
+ return Object.keys(newErrors).length === 0;
52
+ }, [config]);
53
+
54
+ return { config, errors, updateField, validate };
55
+ };
56
+ ```
57
+
58
+ ## Dynamic List (ListBox)
59
+
60
+ ```tsx
61
+ import { ListBox } from '@persona/design-system/components/ListBox';
62
+
63
+ <ListBox
64
+ items={items}
65
+ selectedKeys={selectedKeys}
66
+ onSelectionChange={setSelectedKeys}
67
+ onAdd={() => setItems([...items, { id: uuid(), name: 'New' }])}
68
+ onDelete={(keys) => setItems(items.filter(i => !keys.has(i.id)))}
69
+ selectionMode="multiple"
70
+ emptyText="No items"
71
+ >
72
+ {items.map(item => (
73
+ <ListBox.Item key={item.id}>{item.name}</ListBox.Item>
74
+ ))}
75
+ </ListBox>
76
+ ```
77
+
78
+ Drag-drop reordering: add `reorderConfig={{ onReorder: (items) => void, dragIcon: ReactNode }}`.
79
+
80
+ ## Editable Table (TableBox)
81
+
82
+ Use `TableBox` for **small, form-adjacent tables** — config editors, field mappings, inline-editable row lists. Use `DataTable` for **data views** with pagination, sorting, and server-side data.
83
+
84
+ ```tsx
85
+ import TableBox from '@persona/design-system/components/TableBox';
86
+
87
+ const columns = [
88
+ { key: 'name', title: 'Name' },
89
+ { key: 'type', title: 'Type' },
90
+ ];
91
+
92
+ <TableBox columns={columns} aria-label='File list' selectionMode='none'>
93
+ {items.map((item) => (
94
+ <TableBox.Row key={item.id} id={item.id} onDelete={() => removeItem(item.id)}>
95
+ <TableBox.Cell>{item.name}</TableBox.Cell>
96
+ <TableBox.Cell>{item.type}</TableBox.Cell>
97
+ </TableBox.Row>
98
+ ))}
99
+ </TableBox>
100
+ ```
101
+
102
+ - `aria-label` is **required**
103
+ - Rows are composed via `TableBox.Row` + `TableBox.Cell` children (not an `items` prop)
104
+ - Row actions: pass `actions={[{ label, onClick }]}` or `onDelete` on `TableBox.Row`
105
+ - Drag-drop reordering: `reorderConfig={{ items, itemKeyPath: 'id', onReorder }}`
106
+ - Empty state: `emptyText`; pass `onCreateNewRow` to make the message a clickable "add row" button
107
+ - `onCreateNewRow` also fires after Enter on the **last cell of the last row** (single-line text inline edit only)
108
+
109
+ ### Inline editing
110
+
111
+ Declare `inlineEditConfig` on column definitions; pass `columnKey`, `itemId`, and `value` on each cell:
112
+
113
+ ```tsx
114
+ const columns = [
115
+ {
116
+ key: 'name',
117
+ title: 'Name',
118
+ inlineEditConfig: { type: 'text', onChange: (id, value) => updateField(id, 'name', value) },
119
+ },
120
+ {
121
+ key: 'role',
122
+ title: 'Role',
123
+ inlineEditConfig: {
124
+ type: 'combobox',
125
+ options: roleOptions,
126
+ onChange: (id, value) => updateField(id, 'role', value),
127
+ },
128
+ },
129
+ ];
130
+
131
+ <TableBox columns={columns} aria-label='Editable users'>
132
+ {users.map((user) => (
133
+ <TableBox.Row key={user.id} id={user.id}>
134
+ <TableBox.Cell columnKey='name' itemId={user.id} value={user.name} errorText={errors[user.id]?.name}>
135
+ {user.name}
136
+ </TableBox.Cell>
137
+ <TableBox.Cell columnKey='role' itemId={user.id} value={user.role}>
138
+ {roleLabel(user.role)}
139
+ </TableBox.Cell>
140
+ </TableBox.Row>
141
+ ))}
142
+ </TableBox>
143
+ ```
144
+
145
+ - Inline editing forces fixed-width layout (no horizontal scroll) automatically
146
+ - Cell/row validation: pass `errorText` on `TableBox.Cell` or `TableBox.Row`
147
+ - For adding rows from a form field, prefer `TableBoxField` (below) over bare `onCreateNewRow`
148
+
149
+ ### Form field wrapper (TableBoxField)
150
+
151
+ Use inside `ConfigFormGroup` when the table needs a label, add/delete toolbar, and row creation:
152
+
153
+ ```tsx
154
+ import { TableBoxField } from '@persona/design-system/components/FormField';
155
+
156
+ <TableBoxField
157
+ label='Case actions'
158
+ labelProps={{ size: 'md' }} // defaults to 'sm'; match sibling ControlPanel labels
159
+ columns={columns}
160
+ createNewRow={() => addRow()}
161
+ onDelete={(selectedKey) => removeRow(selectedKey)}
162
+ selectionMode='single'
163
+ >
164
+ {rows.map((row) => (
165
+ <TableBoxField.Row key={row.id} id={row.id}>
166
+ <TableBoxField.Cell columnKey='key' itemId={row.id} value={row.key}>
167
+ {row.key}
168
+ </TableBoxField.Cell>
169
+ </TableBoxField.Row>
170
+ ))}
171
+ </TableBoxField>
172
+ ```
173
+
174
+ `TableBoxField.Row` and `TableBoxField.Cell` are aliases for `TableBox.Row` / `TableBox.Cell`.
175
+
176
+ ## Collapsible Sections (Card)
177
+
178
+ ```tsx
179
+ import { Card } from '@persona/design-system/components/CardV2';
180
+
181
+ <Card>
182
+ <Card.Section header="Basic Settings" collapsible={true} defaultCollapsed={false}>
183
+ {/* Content */}
184
+ </Card.Section>
185
+ <Card.Section header="Advanced" collapsible={true}>
186
+ {/* Content */}
187
+ </Card.Section>
188
+ </Card>
189
+ ```
190
+
191
+ ## Modal
192
+
193
+ ```tsx
194
+ import { Modal } from '@persona/design-system/components/Modal';
195
+
196
+ <Modal
197
+ isOpen={isOpen}
198
+ onClose={() => setIsOpen(false)}
199
+ title="Add Tools"
200
+ footer={
201
+ <>
202
+ <Button variant="basic" onClick={() => setIsOpen(false)}>Cancel</Button>
203
+ <Button variant="primary" onClick={handleSave}>Save</Button>
204
+ </>
205
+ }
206
+ >
207
+ {/* Content */}
208
+ </Modal>
209
+ ```
210
+
211
+ ## Testing
212
+
213
+ ```tsx
214
+ import { render as dsRender, screen } from '@persona/design-system/utils/testing';
215
+ import userEvent from '@testing-library/user-event';
216
+ import { waitFor } from '@testing-library/react';
217
+
218
+ it('handles input', async () => {
219
+ dsRender(<MyComponent />);
220
+ await userEvent.type(screen.getByLabelText('Name'), 'Test');
221
+ expect(screen.getByLabelText('Name')).toHaveValue('Test');
222
+ });
223
+
224
+ it('shows validation errors', async () => {
225
+ dsRender(<MyComponent />);
226
+ await userEvent.click(screen.getByRole('button', { name: /save/i }));
227
+ await waitFor(() => expect(screen.getByText('Required')).toBeInTheDocument());
228
+ });
229
+ ```
230
+
231
+ - Use `dsRender` (wraps with ThemeProvider)
232
+ - Prefer `userEvent.type()` over `fireEvent.change()`
233
+ - Use `waitFor()` for async state updates
234
+ - Prefer `getByRole`, `getByLabelText`, `getByText` over `getByTestId`
235
+
236
+ ## Props Reference
237
+
238
+ ### TextField / TextAreaField
239
+ - `label` — field label
240
+ - `value` / `onChange` — controlled input
241
+ - `helperText` — help text (tooltip if `configField={true}`)
242
+ - `errorText` — error message (red)
243
+ - `warningText` — warning message (yellow)
244
+ - `configField` — boolean, renders helper as tooltip
245
+ - `rightActions` — ReactNode for buttons/icons next to label
246
+ - `disabled` — boolean
247
+
248
+ ### ListBox
249
+ - `items` — array of items
250
+ - `selectedKeys` / `onSelectionChange` — controlled selection (`Set<string>`)
251
+ - `selectionMode` — `"single"` | `"multiple"` | `"none"`
252
+ - `onAdd` — add button callback
253
+ - `onDelete` — delete callback (receives `Set<string>` of keys)
254
+ - `reorderConfig` — `{ onReorder: (items) => void, dragIcon: ReactNode }`
255
+ - `emptyText` — shown when no items
256
+
257
+ ### TableBox
258
+ - `columns` — `{ key, title, inlineEditConfig? }[]` (required)
259
+ - `aria-label` — accessible table name (required)
260
+ - `emptyText` — shown when no rows
261
+ - `selectionMode` — `"single"` | `"none"` (default `"none"`)
262
+ - `selectedKey` / `onSelectionChange` / `defaultSelectedKey` — row selection
263
+ - `onCreateNewRow` — makes empty state clickable; fires after Enter on last cell of last row (single-line text)
264
+ - `newRowId` — auto-opens inline edit on the first column of the new row
265
+ - `disabled` — view-only; blocks edits, delete, and reorder
266
+ - `reorderConfig` — `{ items, itemKeyPath, onReorder }` for drag-drop row reorder
267
+ - `disableHorizontalScroll` — fixed-width/truncating layout (auto when any column has `inlineEditConfig`)
268
+ - `hideHeader` — hide column headers (e.g. single-column tables under a `FormField` label)
269
+
270
+ #### TableBox.Row
271
+ - `id` — row identifier (required)
272
+ - `actions` — `[{ label, onClick }]` dropdown menu items
273
+ - `onDelete` — renders row delete button
274
+ - `errorText` — row-wide validation error (shown in first cell)
275
+ - `dropdownFormFields` / `dropdownContent` / `dropdownHeadingText` / `dropdownFooter` — expandable row popover (requires `selectionMode='single'`; opens when row is selected)
276
+
277
+ #### TableBox.Cell
278
+ - `columnKey` / `itemId` / `value` — required for inline editing
279
+ - `errorText` — cell validation error
280
+ - `inlineEditConfigOverride` — per-cell override of column `inlineEditConfig`
281
+
282
+ #### TableBoxField (extends TableBox + FormField)
283
+ - `label`, `helperText`, `errorText`, `warningText`, `configField` — standard form field props
284
+ - `createNewRow` — returns new row id; wires add button and empty state
285
+ - `onAdd` — alternative add handler (when not using `createNewRow`)
286
+ - `onDelete` — deletes the currently selected row
287
+ - `actions` — toolbar dropdown actions (receives `selectedKey`)
288
+ - `addDropdownConfig` — `{ options, onSelection }` for add-menu instead of direct add
289
+
290
+ ### Card / Card.Section
291
+ - `collapsible` — boolean
292
+ - `defaultCollapsed` — boolean
293
+ - `header` — section header text
294
+ - `loading` — boolean
295
+ - `empty` — boolean
296
+
297
+ ### Stack / HStack
298
+ - `spacing` — spacing value (default: `Spacing[2]`)
299
+ - `align` — `"start"` | `"center"` | `"end"` | `"stretch"`
300
+ - `justify` — `"start"` | `"center"` | `"end"` | `"space-between"`
301
+ - `wrap` — boolean
302
+ - `fullWidth` — boolean
303
+
304
+ ### Modal
305
+ - `isOpen` / `onClose` — controlled open state
306
+ - `title` — modal title
307
+ - `footer` — footer content (ReactNode)
308
+
309
+ ### Sticker
310
+ - `variant` — `"blue"` | `"teal"` | `"green"` | `"yellow"` | `"orange"` | `"red"` | `"purple"` | `"darkGrey"` | `"white"` | `"success"` | `"danger"` | `"caution"` | `"basic"` | `"grey"`
311
+ - `icon` — optional icon component (use 12px icons)
312
+ - `onDismiss` — dismiss button callback
313
+ - `required` — boolean, shows asterisk
314
+
315
+ ## Key File Paths
316
+
317
+ - `@persona/design-system/components/ConfigFormGroup/ConfigFormGroup.tsx`
318
+ - `@persona/design-system/components/FormField/FormField.tsx`
319
+ - `@persona/design-system/components/Input/Input.tsx`
320
+ - `@persona/design-system/components/TextArea/TextArea.tsx`
321
+ - `@persona/design-system/components/ListBox/ListBox.tsx`
322
+ - `@persona/design-system/components/TableBox/TableBox.tsx`
323
+ - `@persona/design-system/components/FormField/TableBoxField.tsx`
324
+ - `@persona/design-system/components/CardV2/Card.tsx`
325
+ - `@persona/design-system/components/Stack/Stack.tsx`
326
+ - `@persona/design-system/components/Text/` (Heading, Paragraph, Label)
327
+ - `@persona/design-system/components/Sticker/Sticker.tsx`
328
+ - `@persona/design-system/components/Modal/Modal.tsx`
329
+ - `@persona/design-system/components/Popover/Popover.tsx`
330
+ - `@persona/design-system/utils/testing.tsx`
331
+ - `@persona/design-system/components/DataTable/`
@@ -0,0 +1,370 @@
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.