@persona/design-system 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/{Action-CVtzREhU.d.mts → Action-B25g4O9p.d.mts} +3 -3
  3. package/dist/Action.d.mts +1 -1
  4. package/dist/AdvancedFilterRuleRow.d.mts +3 -3
  5. package/dist/AdvancedFilterRulesPopover.d.mts +3 -3
  6. package/dist/ArrayValueControl.d.mts +1 -1
  7. package/dist/Attribute.d.mts +5 -5
  8. package/dist/AttributeGrid.d.mts +1 -1
  9. package/dist/{Badge-DEVbRlJX.mjs → Badge-Bd_k492g.mjs} +2 -2
  10. package/dist/{Badge-DEVbRlJX.mjs.map → Badge-Bd_k492g.mjs.map} +1 -1
  11. package/dist/Banner.d.mts +1 -1
  12. package/dist/BooleanValueControl.d.mts +1 -1
  13. package/dist/{Breadcrumb-lziQ1FX9.d.mts → Breadcrumb-DEwZFJHF.d.mts} +10 -2
  14. package/dist/Breadcrumb.d.mts +1 -1
  15. package/dist/{Breadcrumbs-DJ5qqqRD.d.mts → Breadcrumbs-0e_3v9FF.d.mts} +2 -2
  16. package/dist/{Breadcrumbs-W8hIhdHD.mjs → Breadcrumbs-C9udlH48.mjs} +44 -27
  17. package/dist/Breadcrumbs-C9udlH48.mjs.map +1 -0
  18. package/dist/Breadcrumbs.d.mts +1 -1
  19. package/dist/{Button-Vd5O4DUp.d.mts → Button-KCl4uRtU.d.mts} +4 -4
  20. package/dist/Button.d.mts +1 -1
  21. package/dist/ButtonGroup.d.mts +1 -1
  22. package/dist/Calendar.d.mts +1 -1
  23. package/dist/CalendarBase.d.mts +1 -1
  24. package/dist/{Card-CqnG--CU.d.mts → Card-8DuhHQIk.d.mts} +4 -4
  25. package/dist/{Card-BMCB9eFC.mjs → Card-CLTkZLKr.mjs} +4 -4
  26. package/dist/{Card-BMCB9eFC.mjs.map → Card-CLTkZLKr.mjs.map} +1 -1
  27. package/dist/Card.d.mts +1 -1
  28. package/dist/Card2.d.mts +2 -2
  29. package/dist/{CardV2-C0fcOUdp.mjs → CardV2-_GfXFd3d.mjs} +16 -16
  30. package/dist/{CardV2-C0fcOUdp.mjs.map → CardV2-_GfXFd3d.mjs.map} +1 -1
  31. package/dist/{Checkbox-Bm8exUfH.d.mts → Checkbox-Bmm-r5ei.d.mts} +1 -1
  32. package/dist/{Checkbox-BcuiFvK7.mjs → Checkbox-D77Rg7La.mjs} +7 -7
  33. package/dist/{Checkbox-BcuiFvK7.mjs.map → Checkbox-D77Rg7La.mjs.map} +1 -1
  34. package/dist/Checkbox.d.mts +1 -1
  35. package/dist/CheckboxGroupField.d.mts +2 -2
  36. package/dist/ChoicesValueControl.d.mts +1 -1
  37. package/dist/{Combobox-B6JyLog8.mjs → Combobox-BzqlrMK0.mjs} +55 -31
  38. package/dist/Combobox-BzqlrMK0.mjs.map +1 -0
  39. package/dist/{Combobox-BaD0f2Du.d.mts → Combobox-DVI8PoKx.d.mts} +3 -3
  40. package/dist/Combobox.d.mts +2 -2
  41. package/dist/{ComboboxBase-BsPf8BZh.d.mts → ComboboxBase-B8evOZpf.d.mts} +8 -8
  42. package/dist/ComboboxBase.d.mts +1 -1
  43. package/dist/{ComboboxMultiSelect-DhLzCWbz.d.mts → ComboboxMultiSelect-KJarhRm4.d.mts} +2 -2
  44. package/dist/ComboboxMultiSelect.d.mts +1 -1
  45. package/dist/{ComboboxSingleSelect-P0r5rs_u.d.mts → ComboboxSingleSelect-CcIGaphR.d.mts} +4 -4
  46. package/dist/ComboboxSingleSelect.d.mts +1 -1
  47. package/dist/{CompactBar-CXqlVKy7.d.mts → CompactBar-DfP7Wu1l.d.mts} +3 -3
  48. package/dist/CompactBar.d.mts +1 -1
  49. package/dist/{ConfigFormGroup-yhb2jldT.mjs → ConfigFormGroup-D1Qma23p.mjs} +2 -2
  50. package/dist/{ConfigFormGroup-yhb2jldT.mjs.map → ConfigFormGroup-D1Qma23p.mjs.map} +1 -1
  51. package/dist/{ControlBar-tOCQnbAl.d.mts → ControlBar-DYrjBDzu.d.mts} +2 -2
  52. package/dist/ControlBar.d.mts +1 -1
  53. package/dist/DataTable.d.mts +4 -4
  54. package/dist/DateField.d.mts +1 -1
  55. package/dist/{DatePicker-Bw79p-Lx.mjs → DatePicker-CK2D9jvG.mjs} +24 -24
  56. package/dist/DatePicker-CK2D9jvG.mjs.map +1 -0
  57. package/dist/DatePicker.d.mts +1 -1
  58. package/dist/DateRangePicker.d.mts +2 -1
  59. package/dist/DateValueControl.d.mts +1 -1
  60. package/dist/{DropdownButton-BI3IFJun.mjs → DropdownButton-CaM0itat.mjs} +3 -3
  61. package/dist/{DropdownButton-BI3IFJun.mjs.map → DropdownButton-CaM0itat.mjs.map} +1 -1
  62. package/dist/DropdownButton.d.mts +2 -2
  63. package/dist/{DropdownMenu-D25WBCah.mjs → DropdownMenu-B4f3LNoW.mjs} +3 -3
  64. package/dist/{DropdownMenu-D25WBCah.mjs.map → DropdownMenu-B4f3LNoW.mjs.map} +1 -1
  65. package/dist/{DropdownMenu-D6nfAsi0.d.mts → DropdownMenu-Bgho2AsJ.d.mts} +3 -3
  66. package/dist/DropdownMenu.d.mts +1 -1
  67. package/dist/{ErrorProps-CN2XjaOX.d.mts → ErrorProps-DX50vo-U.d.mts} +1 -1
  68. package/dist/ErrorProps.d.mts +1 -1
  69. package/dist/{FieldRegistry-rqSkjchY.d.mts → FieldRegistry-COyIA4VU.d.mts} +2 -2
  70. package/dist/FieldRegistry.d.mts +1 -1
  71. package/dist/{FilterBar-D3LiIy1-.d.mts → FilterBar-CS2YjiTr.d.mts} +8 -5
  72. package/dist/FilterBar.d.mts +1 -1
  73. package/dist/FilterPickerMenu.d.mts +3 -3
  74. package/dist/FilterPill.d.mts +1 -1
  75. package/dist/FilterPopover.d.mts +13 -3
  76. package/dist/FloatValueControl.d.mts +1 -1
  77. package/dist/{FormControl-CFU9uKF7.mjs → FormControl-CFYlkv7E.mjs} +3 -3
  78. package/dist/{FormControl-CFU9uKF7.mjs.map → FormControl-CFYlkv7E.mjs.map} +1 -1
  79. package/dist/{FormControl-DH3bgqaB.d.mts → FormControl-iPeOOlFb.d.mts} +4 -4
  80. package/dist/FormControl.d.mts +1 -1
  81. package/dist/FormControlLabel.d.mts +2 -2
  82. package/dist/{FormField-DdmgSWq4.mjs → FormField-Bol8gzNt.mjs} +20 -20
  83. package/dist/FormField-Bol8gzNt.mjs.map +1 -0
  84. package/dist/{FormField-BugkBvN4.d.mts → FormField-BruK7Des.d.mts} +2 -2
  85. package/dist/FormField.d.mts +1 -1
  86. package/dist/{Header-CDTYK1XJ.d.mts → Header-BxTdWg0Q.d.mts} +2 -2
  87. package/dist/Header.d.mts +1 -1
  88. package/dist/{HelperTooltip-B7Ysh8B3.d.mts → HelperTooltip-Z5NdrLCT.d.mts} +3 -3
  89. package/dist/HelperTooltip.d.mts +1 -1
  90. package/dist/{HoverCopyableField-7TWP0Y1Z.mjs → HoverCopyableField-C8AdtVrT.mjs} +7 -7
  91. package/dist/{HoverCopyableField-7TWP0Y1Z.mjs.map → HoverCopyableField-C8AdtVrT.mjs.map} +1 -1
  92. package/dist/HoverCopyableField.d.mts +1 -1
  93. package/dist/{IconButton-P8w0JDI5.mjs → IconButton-Bi4kdsbV.mjs} +9 -9
  94. package/dist/{IconButton-P8w0JDI5.mjs.map → IconButton-Bi4kdsbV.mjs.map} +1 -1
  95. package/dist/{IconButton-BHCmHIx5.d.mts → IconButton-BycIGS3p.d.mts} +2 -2
  96. package/dist/IconButton.d.mts +1 -1
  97. package/dist/ImageTile.d.mts +2 -2
  98. package/dist/InlineCombobox.d.mts +2 -2
  99. package/dist/InlineInput.d.mts +1 -1
  100. package/dist/{Input-DMgVyZyq.d.mts → Input-CEcoDtTu.d.mts} +5 -5
  101. package/dist/{Input-QC6xla6I.mjs → Input-CSOxMzlt.mjs} +4 -4
  102. package/dist/{Input-QC6xla6I.mjs.map → Input-CSOxMzlt.mjs.map} +1 -1
  103. package/dist/Input.d.mts +1 -1
  104. package/dist/{InputProps-BnjxrdWQ.d.mts → InputProps-Buxtnz77.d.mts} +2 -2
  105. package/dist/InputProps.d.mts +1 -1
  106. package/dist/IntegerValueControl.d.mts +1 -1
  107. package/dist/LayoutLoadingShimmer.d.mts +1 -1
  108. package/dist/Link.d.mts +1 -1
  109. package/dist/{ListBox-TrL3Tb7X.mjs → ListBox-CSMVAgHm.mjs} +13 -13
  110. package/dist/{ListBox-TrL3Tb7X.mjs.map → ListBox-CSMVAgHm.mjs.map} +1 -1
  111. package/dist/{ListBox-D09N1a5D.d.mts → ListBox-CajNIX9P.d.mts} +5 -5
  112. package/dist/ListBox.d.mts +1 -1
  113. package/dist/ListBoxField.d.mts +3 -3
  114. package/dist/LoadingShimmer.d.mts +2 -2
  115. package/dist/{LogicRow-BcuiSTHN.d.mts → LogicRow-DK1NcP2a.d.mts} +4 -4
  116. package/dist/LogicRow.d.mts +1 -1
  117. package/dist/MaskedInput.d.mts +2 -2
  118. package/dist/MatchHighlight.d.mts +1 -1
  119. package/dist/{Menu-Bv8dsrz6.d.mts → Menu-BLtjpLst.d.mts} +4 -4
  120. package/dist/{Menu-DmeMgN-i.mjs → Menu-DDXR9uHy.mjs} +5 -5
  121. package/dist/{Menu-DmeMgN-i.mjs.map → Menu-DDXR9uHy.mjs.map} +1 -1
  122. package/dist/Menu.d.mts +1 -1
  123. package/dist/{MiddleTruncatedText-GXI-CPvs.mjs → MiddleTruncatedText-DjsUk8HM.mjs} +4 -4
  124. package/dist/{MiddleTruncatedText-GXI-CPvs.mjs.map → MiddleTruncatedText-DjsUk8HM.mjs.map} +1 -1
  125. package/dist/Modal.d.mts +3 -3
  126. package/dist/{PageHeader-jSLud2JI.mjs → PageHeader-BI2gxol5.mjs} +3 -3
  127. package/dist/{PageHeader-jSLud2JI.mjs.map → PageHeader-BI2gxol5.mjs.map} +1 -1
  128. package/dist/PageHeader.d.mts +2 -2
  129. package/dist/PageLayout.d.mts +16 -0
  130. package/dist/{PageSelector-vay4jpMp.d.mts → PageSelector-BDo3ge1E.d.mts} +3 -3
  131. package/dist/PageSelector.d.mts +1 -1
  132. package/dist/{Pagination-ygLutOst.d.mts → Pagination-Dcmv7bVe.d.mts} +2 -2
  133. package/dist/{Pagination-BeYukNCj.mjs → Pagination-DiaJX5Da.mjs} +8 -8
  134. package/dist/{Pagination-BeYukNCj.mjs.map → Pagination-DiaJX5Da.mjs.map} +1 -1
  135. package/dist/Pagination.d.mts +1 -1
  136. package/dist/{Pii-QsTrz8wn.mjs → Pii-CSBV5Is7.mjs} +2 -2
  137. package/dist/{Pii-QsTrz8wn.mjs.map → Pii-CSBV5Is7.mjs.map} +1 -1
  138. package/dist/Pii.d.mts +1 -1
  139. package/dist/PillShell.d.mts +1 -1
  140. package/dist/{Popover-BkDpDdaO.mjs → Popover-5y0p85Sw.mjs} +6 -6
  141. package/dist/{Popover-BkDpDdaO.mjs.map → Popover-5y0p85Sw.mjs.map} +1 -1
  142. package/dist/Popover.d.mts +1 -1
  143. package/dist/ProgressBar.d.mts +1 -1
  144. package/dist/ProgressIndicator.d.mts +1 -1
  145. package/dist/{PseudoClassProps-DLxPxo7T.d.mts → PseudoClassProps-CcSlKNev.d.mts} +1 -1
  146. package/dist/PseudoClassProps.d.mts +1 -1
  147. package/dist/{Radio-CSX2eO-O.mjs → Radio-aMjdUp4K.mjs} +3 -3
  148. package/dist/{Radio-CSX2eO-O.mjs.map → Radio-aMjdUp4K.mjs.map} +1 -1
  149. package/dist/{RadioGroup-CnK0opBd.mjs → RadioGroup-BpoKyoi3.mjs} +3 -3
  150. package/dist/{RadioGroup-CnK0opBd.mjs.map → RadioGroup-BpoKyoi3.mjs.map} +1 -1
  151. package/dist/{RadioGroup-DKqbSfju.d.mts → RadioGroup-Xn46ovrV.d.mts} +1 -1
  152. package/dist/RadioGroup.d.mts +1 -1
  153. package/dist/RangeCalendar.d.mts +3 -1
  154. package/dist/RangeCalendarPresets.d.mts +1 -1
  155. package/dist/RuleEditorFields.d.mts +3 -3
  156. package/dist/RulesPill.d.mts +1 -1
  157. package/dist/{SearchInput-Bp2yjaE1.d.mts → SearchInput-Try11aJD.d.mts} +10 -3
  158. package/dist/SearchInput.d.mts +1 -1
  159. package/dist/Section.d.mts +1 -1
  160. package/dist/{SectionHeading-Q-rx2LEd.d.mts → SectionHeading-BxKNuU2m.d.mts} +2 -2
  161. package/dist/SectionHeading.d.mts +1 -1
  162. package/dist/{SegmentedControl-CgDQIVll.mjs → SegmentedControl-Cgs6qlhN.mjs} +3 -3
  163. package/dist/{SegmentedControl-CgDQIVll.mjs.map → SegmentedControl-Cgs6qlhN.mjs.map} +1 -1
  164. package/dist/{SegmentedControl-DrjdUOU9.d.mts → SegmentedControl-DckAdhcD.d.mts} +2 -2
  165. package/dist/SegmentedControl.d.mts +1 -1
  166. package/dist/{Select-Bk27TgN8.d.mts → Select-COT4bkPb.d.mts} +4 -4
  167. package/dist/{Select-C1ZoRk39.mjs → Select-CmJEiYXU.mjs} +11 -11
  168. package/dist/{Select-C1ZoRk39.mjs.map → Select-CmJEiYXU.mjs.map} +1 -1
  169. package/dist/Select.d.mts +1 -1
  170. package/dist/Slider.d.mts +1 -1
  171. package/dist/SliderRHF.d.mts +1 -1
  172. package/dist/SliderThumb.d.mts +1 -1
  173. package/dist/{Spacer-CJp0lwkL.mjs → Spacer-Ln3KChb5.mjs} +1 -1
  174. package/dist/{Spacer-CJp0lwkL.mjs.map → Spacer-Ln3KChb5.mjs.map} +1 -1
  175. package/dist/{Spinner-BEPF42RW.mjs → Spinner-BXfYWjC_.mjs} +2 -2
  176. package/dist/{Spinner-BEPF42RW.mjs.map → Spinner-BXfYWjC_.mjs.map} +1 -1
  177. package/dist/{Stack-CkV7k7TE.d.mts → Stack-DHaK1-dw.d.mts} +2 -2
  178. package/dist/{Stack-Bl54WmhY.mjs → Stack-ckRN7LrP.mjs} +1 -1
  179. package/dist/{Stack-Bl54WmhY.mjs.map → Stack-ckRN7LrP.mjs.map} +1 -1
  180. package/dist/Stack.d.mts +1 -1
  181. package/dist/StatusIndicator.d.mts +1 -1
  182. package/dist/{Sticker-CyGb9dEu.mjs → Sticker-BOlAy2TE.mjs} +5 -5
  183. package/dist/{Sticker-CyGb9dEu.mjs.map → Sticker-BOlAy2TE.mjs.map} +1 -1
  184. package/dist/{Sticker-Bs25ISz7.d.mts → Sticker-C8rvpu7M.d.mts} +6 -6
  185. package/dist/Sticker.d.mts +1 -1
  186. package/dist/StringValueControl.d.mts +1 -1
  187. package/dist/SwatchPicker.d.mts +1 -1
  188. package/dist/Tab.d.mts +3 -3
  189. package/dist/{TabBar-Bn8PHHBZ.mjs → TabBar-DX1Spi6D.mjs} +6 -6
  190. package/dist/{TabBar-Bn8PHHBZ.mjs.map → TabBar-DX1Spi6D.mjs.map} +1 -1
  191. package/dist/TabBarIconButton.d.mts +2 -2
  192. package/dist/{Table-BNScLj9g.d.mts → Table-8jXlKYLy.d.mts} +1 -1
  193. package/dist/{Table-BfontAeY.mjs → Table-BnYZVCLj.mjs} +7 -7
  194. package/dist/{Table-BfontAeY.mjs.map → Table-BnYZVCLj.mjs.map} +1 -1
  195. package/dist/Table.d.mts +1 -1
  196. package/dist/{TableBody-CrDNMyT8.d.mts → TableBody-ByEcFueE.d.mts} +1 -1
  197. package/dist/TableBody.d.mts +1 -1
  198. package/dist/{TableBox-bmrKh_ax.mjs → TableBox-BC5l3UMT.mjs} +68 -58
  199. package/dist/TableBox-BC5l3UMT.mjs.map +1 -0
  200. package/dist/TableBox.d.mts +2 -2
  201. package/dist/{TableBoxCell-CvjLYhTV.d.mts → TableBoxCell-CWh_riC8.d.mts} +8 -8
  202. package/dist/TableBoxCell.d.mts +1 -1
  203. package/dist/TableBoxField.d.mts +4 -4
  204. package/dist/{TableBoxRow-BzXECgid.d.mts → TableBoxRow-JnJXVqMr.d.mts} +4 -4
  205. package/dist/TableBoxRow.d.mts +1 -1
  206. package/dist/{TableBoxRowActions-BAiFXiCh.d.mts → TableBoxRowActions-CfEE1r4C.d.mts} +2 -2
  207. package/dist/TableBoxRowActions.d.mts +1 -1
  208. package/dist/TableCell.d.mts +1 -1
  209. package/dist/{TableControls-DVTtNAPo.mjs → TableControls-51NYgFvI.mjs} +133 -61
  210. package/dist/TableControls-51NYgFvI.mjs.map +1 -0
  211. package/dist/{TableControls-BehR7CKS.d.mts → TableControls-DscP6fyt.d.mts} +4 -4
  212. package/dist/TableControls.d.mts +1 -1
  213. package/dist/{TableControlsContext-D_SBFZN1.d.mts → TableControlsContext-BeJ7GHPN.d.mts} +2 -2
  214. package/dist/TableControlsContext.d.mts +1 -1
  215. package/dist/{TableHead-LxvG0e9k.d.mts → TableHead-g3afLl5B.d.mts} +1 -1
  216. package/dist/TableHead.d.mts +1 -1
  217. package/dist/{TableHeaderCell-Br8ZE3Xe.d.mts → TableHeaderCell-CWTMf2Fe.d.mts} +1 -1
  218. package/dist/TableHeaderCell.d.mts +1 -1
  219. package/dist/{TableLayout-BZeP8qfg.d.mts → TableLayout-hPlVO3dD.d.mts} +1 -1
  220. package/dist/TableLayout.d.mts +1 -1
  221. package/dist/{TableRow-BvS4yjo6.d.mts → TableRow-lvjbVccA.d.mts} +2 -2
  222. package/dist/TableRow.d.mts +1 -1
  223. package/dist/TableTH.d.mts +1 -1
  224. package/dist/{TableViewConfigurationDropdown-BYPh4dIP.d.mts → TableViewConfigurationDropdown-Ccxtk5dA.d.mts} +2 -2
  225. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  226. package/dist/TechnicalSticker-D7viw4H5.mjs +266 -0
  227. package/dist/TechnicalSticker-D7viw4H5.mjs.map +1 -0
  228. package/dist/TechnicalSticker.d.mts +7 -1
  229. package/dist/{Text-DNPbAuUG.d.mts → Text-CEisq2at.d.mts} +4 -4
  230. package/dist/{Text-RcEfNFLx.mjs → Text-hEoPeOc9.mjs} +1 -1
  231. package/dist/{Text-RcEfNFLx.mjs.map → Text-hEoPeOc9.mjs.map} +1 -1
  232. package/dist/Text.d.mts +1 -1
  233. package/dist/{TextArea-B89wtTsF.d.mts → TextArea-DiKEhpfD.d.mts} +2 -2
  234. package/dist/{TextArea-NCLsW-03.mjs → TextArea-DjmlpCdJ.mjs} +2 -2
  235. package/dist/{TextArea-NCLsW-03.mjs.map → TextArea-DjmlpCdJ.mjs.map} +1 -1
  236. package/dist/TextArea.d.mts +1 -1
  237. package/dist/{TextUnderlineTooltip-5-0D8s4z.d.mts → TextUnderlineTooltip-BKE4peKI.d.mts} +3 -3
  238. package/dist/TextUnderlineTooltip.d.mts +1 -1
  239. package/dist/Tile.d.mts +2 -2
  240. package/dist/Toast.d.mts +1 -1
  241. package/dist/{Toggle-Bie9zCem.mjs → Toggle-D1rEjYoN.mjs} +5 -5
  242. package/dist/{Toggle-Bie9zCem.mjs.map → Toggle-D1rEjYoN.mjs.map} +1 -1
  243. package/dist/{Toggle-DzYLgxGk.d.mts → Toggle-oukvAn6V.d.mts} +1 -1
  244. package/dist/Toggle.d.mts +1 -1
  245. package/dist/{Tooltip-BvDbmXak.mjs → Tooltip-B-DDlRMw.mjs} +4 -4
  246. package/dist/{Tooltip-BvDbmXak.mjs.map → Tooltip-B-DDlRMw.mjs.map} +1 -1
  247. package/dist/{Tooltip-CUC-JuRL.d.mts → Tooltip-DZVPqxai.d.mts} +3 -3
  248. package/dist/Tooltip.d.mts +1 -1
  249. package/dist/{TruncatedText-BJnowVTx.d.mts → TruncatedText-D2R7uy_y.d.mts} +2 -2
  250. package/dist/components/Attribute/index.mjs +7 -7
  251. package/dist/components/Attribute/index.mjs.map +1 -1
  252. package/dist/components/Badge/index.mjs +1 -1
  253. package/dist/components/Banner/index.mjs +2 -2
  254. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  255. package/dist/components/Breadcrumbs/index.mjs +1 -1
  256. package/dist/components/Button/index.d.mts +2 -2
  257. package/dist/components/Button/index.mjs +1 -1
  258. package/dist/components/ButtonGroup/index.mjs +2 -2
  259. package/dist/components/Card/index.d.mts +2 -2
  260. package/dist/components/Card/index.mjs +1 -1
  261. package/dist/components/CardV2/index.d.mts +1 -1
  262. package/dist/components/CardV2/index.mjs +1 -1
  263. package/dist/components/Checkbox/index.d.mts +1 -1
  264. package/dist/components/Checkbox/index.mjs +1 -1
  265. package/dist/components/Combobox/index.d.mts +2 -2
  266. package/dist/components/Combobox/index.mjs +1 -1
  267. package/dist/components/ConfigFormGroup/index.mjs +1 -1
  268. package/dist/components/DataTable/TableControls/index.d.mts +15 -15
  269. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  270. package/dist/components/DataTable/index.mjs +24 -24
  271. package/dist/components/DataTable/index.mjs.map +1 -1
  272. package/dist/components/DataTable/types.d.mts +2 -2
  273. package/dist/components/DatePicker/index.mjs +1 -1
  274. package/dist/components/DropdownButton/index.mjs +1 -1
  275. package/dist/components/DropdownMenu/index.d.mts +1 -1
  276. package/dist/components/DropdownMenu/index.mjs +1 -1
  277. package/dist/components/FormControl/index.d.mts +2 -2
  278. package/dist/components/FormControl/index.mjs +1 -1
  279. package/dist/components/FormField/index.d.mts +1 -1
  280. package/dist/components/FormField/index.mjs +1 -1
  281. package/dist/components/HoverCopyableField/index.mjs +1 -1
  282. package/dist/components/ImageTile/index.mjs +8 -8
  283. package/dist/components/Input/index.d.mts +1 -1
  284. package/dist/components/Input/index.mjs +1 -1
  285. package/dist/components/Link/index.mjs +3 -3
  286. package/dist/components/ListBox/index.d.mts +3 -3
  287. package/dist/components/ListBox/index.mjs +1 -1
  288. package/dist/components/MaskedInput/index.mjs +2 -2
  289. package/dist/components/Menu/index.d.mts +1 -1
  290. package/dist/components/Menu/index.mjs +1 -1
  291. package/dist/components/Modal/index.mjs +7 -7
  292. package/dist/components/PageHeader/index.mjs +1 -1
  293. package/dist/components/Pagination/index.d.mts +3 -3
  294. package/dist/components/Pagination/index.mjs +1 -1
  295. package/dist/components/Pii/index.mjs +1 -1
  296. package/dist/components/Popover/index.mjs +1 -1
  297. package/dist/components/ProgressBar/index.mjs +1 -1
  298. package/dist/components/ProgressIndicator/index.mjs +1 -1
  299. package/dist/components/Radio/index.mjs +1 -1
  300. package/dist/components/RadioGroup/index.d.mts +1 -1
  301. package/dist/components/RadioGroup/index.mjs +1 -1
  302. package/dist/components/SegmentedControl/index.d.mts +1 -1
  303. package/dist/components/SegmentedControl/index.mjs +1 -1
  304. package/dist/components/Select/index.d.mts +1 -1
  305. package/dist/components/Select/index.mjs +1 -1
  306. package/dist/components/Slider/index.mjs +3 -3
  307. package/dist/components/Spacer/index.mjs +1 -1
  308. package/dist/components/Spinner/index.mjs +1 -1
  309. package/dist/components/Stack/index.d.mts +1 -1
  310. package/dist/components/Stack/index.mjs +1 -1
  311. package/dist/components/StatusIndicator/index.mjs +1 -1
  312. package/dist/components/Sticker/index.d.mts +1 -1
  313. package/dist/components/Sticker/index.mjs +1 -1
  314. package/dist/components/TabBar/index.mjs +1 -1
  315. package/dist/components/Table/index.d.mts +7 -7
  316. package/dist/components/Table/index.mjs +1 -1
  317. package/dist/components/TableBox/index.d.mts +2 -2
  318. package/dist/components/TableBox/index.mjs +1 -1
  319. package/dist/components/TechnicalSticker/index.mjs +1 -231
  320. package/dist/components/Text/index.d.mts +1 -1
  321. package/dist/components/Text/index.mjs +1 -1
  322. package/dist/components/TextArea/index.d.mts +1 -1
  323. package/dist/components/TextArea/index.mjs +1 -1
  324. package/dist/components/Tile/index.mjs +4 -4
  325. package/dist/components/Toast/index.mjs +4 -4
  326. package/dist/components/Toggle/index.d.mts +1 -1
  327. package/dist/components/Toggle/index.mjs +1 -1
  328. package/dist/components/Tooltip/index.d.mts +3 -3
  329. package/dist/components/Tooltip/index.mjs +1 -1
  330. package/dist/compound-expression.d.mts +1 -1
  331. package/dist/{constants-BASogfT_.d.mts → constants-bA9kCzRQ.d.mts} +1 -1
  332. package/dist/constants.d.mts +1 -1
  333. package/dist/containers.d.mts +1 -1
  334. package/dist/display.d.mts +1 -1
  335. package/dist/fieldPickerOptions.d.mts +2 -2
  336. package/dist/{filter-size-context-Blw6Sd69.d.mts → filter-size-context-C1TvrE_O.d.mts} +2 -2
  337. package/dist/filter-size-context.d.mts +1 -1
  338. package/dist/helpers.d.mts +1 -1
  339. package/dist/{index-4_B2yRzD.d.mts → index-BC4edEsD.d.mts} +2 -2
  340. package/dist/{index-BxXTpeUb2.d.mts → index-DLV1eMsr.d.mts} +5 -5
  341. package/dist/{index-DDbjWdk0.d.mts → index-Doptc4HI.d.mts} +5 -5
  342. package/dist/index.d.mts +1 -1
  343. package/dist/index2.d.mts +1 -1
  344. package/dist/index3.d.mts +3 -3
  345. package/dist/index4.d.mts +10 -10
  346. package/dist/{input-Bv5fKt5J.d.mts → input-D3Qd6dI8.d.mts} +3 -3
  347. package/dist/inputFields.d.mts +11 -11
  348. package/dist/lib/MiddleTruncatedText.mjs +1 -1
  349. package/dist/lib/PDSProvider.d.mts +1 -1
  350. package/dist/lib/TruncatedText.d.mts +1 -1
  351. package/dist/lib/TruncatedText.mjs +1 -1
  352. package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
  353. package/dist/lib/TruncatedTextWithTooltip.mjs +2 -2
  354. package/dist/lib/message.d.mts +1 -1
  355. package/dist/lib/pseudoClass.d.mts +1 -1
  356. package/dist/{message-CMHvlPGn.d.mts → message-CsK3sIq0.d.mts} +1 -1
  357. package/dist/mixins/focus.d.mts +1 -1
  358. package/dist/mixins/hoverable.d.mts +2 -2
  359. package/dist/mixins/hoverable.mjs +1 -1
  360. package/dist/mixins/input.d.mts +1 -1
  361. package/dist/mixins/input.mjs +1 -1
  362. package/dist/mixins/menuItem.d.mts +2 -2
  363. package/dist/mixins/text.d.mts +1 -1
  364. package/dist/{operators-Bo31xlc2.d.mts → operators-C_xPzItk.d.mts} +2 -2
  365. package/dist/operators.d.mts +1 -1
  366. package/dist/{layouts → patterns}/LayoutLoadingShimmer/index.mjs +6 -6
  367. package/dist/patterns/LayoutLoadingShimmer/index.mjs.map +1 -0
  368. package/dist/patterns/PageLayout/index.d.mts +2 -0
  369. package/dist/patterns/PageLayout/index.mjs +35 -0
  370. package/dist/patterns/PageLayout/index.mjs.map +1 -0
  371. package/dist/{text-B21s9mRZ.d.mts → text-BaQdW8qa.d.mts} +1 -1
  372. package/dist/{theme-BzBpJXhO.d.mts → theme-D9Y6NOzb.d.mts} +1 -1
  373. package/dist/theme.d.mts +1 -1
  374. package/dist/{types-D7ppqnNj.d.mts → types-BKEwt0uq.d.mts} +2 -2
  375. package/dist/{types-DEh_pXgS.d.mts → types-CjHuZoVJ.d.mts} +1 -1
  376. package/dist/{types-TV9nVfSe.d.mts → types-DVsBRqjZ.d.mts} +1 -1
  377. package/dist/{types-D58IoRx6.d.mts → types-mb3woqzE.d.mts} +6 -7
  378. package/dist/types.d.mts +1 -1
  379. package/dist/types2.d.mts +1 -1
  380. package/dist/types3.d.mts +1 -1
  381. package/dist/types4.d.mts +1 -1
  382. package/dist/useComboboxFooterAction.d.mts +1 -1
  383. package/dist/{useFilterStateV2-DCQghouq.d.mts → useFilterStateV2-CGzRyv0i.d.mts} +3 -3
  384. package/dist/useFilterStateV2.d.mts +1 -1
  385. package/dist/{useFormField-D8mLsiQc.d.mts → useFormField-DhwEi45-.d.mts} +2 -2
  386. package/dist/useFormField.d.mts +1 -1
  387. package/dist/{useTableBoxDragAndDrop-BMo-iaUF.d.mts → useTableBoxDragAndDrop-CsnN52lx.d.mts} +1 -1
  388. package/dist/useTableBoxDragAndDrop.d.mts +1 -1
  389. package/dist/{useToggle-Bo3yd14Y.mjs → useToggle-3k3EkV8V.mjs} +1 -1
  390. package/dist/{useToggle-Bo3yd14Y.mjs.map → useToggle-3k3EkV8V.mjs.map} +1 -1
  391. package/dist/useTruncation.d.mts +1 -1
  392. package/dist/{utilities-BO_95qFA.d.mts → utilities-DnSIlR1i.d.mts} +1 -1
  393. package/dist/utilities.d.mts +1 -1
  394. package/dist/utils/storybook.mjs +1 -1
  395. package/dist/utils/testing.d.mts +1 -1
  396. package/dist/utils/testing.mjs +1 -1
  397. package/dist/utils.d.mts +1 -1
  398. package/dist/{validation-vLh3t2dk.d.mts → validation-BdP2vajF.d.mts} +3 -3
  399. package/dist/validation.d.mts +1 -1
  400. package/dist/{value-control-resolver-CE-bqdAl.d.mts → value-control-resolver-CiGEHQAc.d.mts} +2 -2
  401. package/dist/value-control-resolver.d.mts +1 -1
  402. package/llms.txt +43 -0
  403. package/package.json +8 -5
  404. package/skills/ui-authoring/SKILL.md +27 -1
  405. package/dist/Breadcrumbs-W8hIhdHD.mjs.map +0 -1
  406. package/dist/Combobox-B6JyLog8.mjs.map +0 -1
  407. package/dist/DatePicker-Bw79p-Lx.mjs.map +0 -1
  408. package/dist/FormField-DdmgSWq4.mjs.map +0 -1
  409. package/dist/TableBox-bmrKh_ax.mjs.map +0 -1
  410. package/dist/TableControls-DVTtNAPo.mjs.map +0 -1
  411. package/dist/components/TechnicalSticker/index.mjs.map +0 -1
  412. package/dist/layouts/LayoutLoadingShimmer/index.mjs.map +0 -1
  413. /package/dist/{index--p6oQT9I.d.mts → index-0-W_aPej.d.mts} +0 -0
  414. /package/dist/{index-BYd3Btr1.d.mts → index-7in8TPrM.d.mts} +0 -0
  415. /package/dist/{index-CDGG7lCB.d.mts → index-7rWKHdox.d.mts} +0 -0
  416. /package/dist/{index-CMuRFTR3.d.mts → index-B4woaFSm.d.mts} +0 -0
  417. /package/dist/{index-CNxS4Tlu.d.mts → index-BINnViIh.d.mts} +0 -0
  418. /package/dist/{index-CWB6exYm.d.mts → index-BNRXMhlr.d.mts} +0 -0
  419. /package/dist/{index-CzItj62a.d.mts → index-BO_854F2.d.mts} +0 -0
  420. /package/dist/{index-D4DUvwPf.d.mts → index-BOn0AAue.d.mts} +0 -0
  421. /package/dist/{index-D5tSVhTd.d.mts → index-CCt0lwyI.d.mts} +0 -0
  422. /package/dist/{index-DGsJdI5l.d.mts → index-CREkvfw9.d.mts} +0 -0
  423. /package/dist/{index-DM6vVDZD.d.mts → index-CRo77wc3.d.mts} +0 -0
  424. /package/dist/{index-DWfPppPU.d.mts → index-Ci-uuV07.d.mts} +0 -0
  425. /package/dist/{index-DXJd7-2Z.d.mts → index-CsuikFeJ.d.mts} +0 -0
  426. /package/dist/{index-DkrC-i1D.d.mts → index-CzUpNo0e.d.mts} +0 -0
  427. /package/dist/{index-DvuJXuAN.d.mts → index-DDdPqD_H.d.mts} +0 -0
  428. /package/dist/{index-Iujpc9_6.d.mts → index-DeVKzGce.d.mts} +0 -0
  429. /package/dist/{index-PWQavSPf.d.mts → index-Es5nKSSL.d.mts} +0 -0
  430. /package/dist/{index-e6k85DKM.d.mts → index-FtE8MXJ_.d.mts} +0 -0
  431. /package/dist/{index-lIMqGGJz.d.mts → index-ehD5GjMH.d.mts} +0 -0
  432. /package/dist/{index-sViox9YW.d.mts → index-uMNhmxEh.d.mts} +0 -0
  433. /package/dist/{layouts → patterns}/LayoutLoadingShimmer/index.d.mts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle-Bie9zCem.mjs","names":[],"sources":["../components/Toggle/Toggle.tsx"],"sourcesContent":["import { forwardRef, type ReactNode, useCallback, useRef } from 'react';\nimport { useId } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { Label } from 'design-system/components/Text';\nimport { isDisabled, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport useToggle from 'design-system/lib/useToggle';\nimport { focusOutlineControlled } from 'design-system/mixins/focus';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ntype ToggleSize = 'md' | 'sm';\n\ninterface SwitchSizes {\n width: number;\n height: number;\n}\n\nconst SWITCH_SIZES: Record<ToggleSize, SwitchSizes> = {\n md: { width: 32, height: 18 },\n sm: { width: 28, height: parseInt(Spacing[4], 10) }, // 16px height from tokens\n};\n\ninterface SliderSizes {\n diameter: number;\n offset: number;\n}\n\nconst SLIDER_SIZES: Record<ToggleSize, SliderSizes> = {\n md: { diameter: 14, offset: 2 },\n sm: { diameter: parseInt(Spacing[3], 10), offset: 2 }, // 12px diameter from tokens\n};\n\nconst Container = styled.div`\n display: inline-flex;\n align-items: center;\n position: relative;\n`;\n\ntype SwitchProps = Pick<ToggleProps, 'disabled'> & {\n checked: boolean;\n focused: boolean;\n size: ToggleSize;\n};\nconst Switch = styled.div<SwitchProps>`\n transition: box-shadow ${TransitionDuration.Fast};\n position: relative;\n display: inline-flex;\n height: ${({ size }) => SWITCH_SIZES[size].height}px;\n width: ${({ size }) => SWITCH_SIZES[size].width}px;\n border-radius: 1000px;\n cursor: pointer;\n &${isDisabled} {\n cursor: not-allowed;\n }\n\n ${focusOutlineControlled}\n\n /* Background */\n &:before {\n position: absolute;\n content: '';\n height: ${({ size }) => SWITCH_SIZES[size].height}px;\n width: ${({ size }) => SWITCH_SIZES[size].width}px;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: ${({ checked, disabled }) =>\n disabled\n ? checked\n ? Color.BackgroundInputActiveDisabled\n : Color.BackgroundInputDisabled\n : checked\n ? Color.BackgroundInputActive\n : Color.BackgroundInputToggle};\n\n transition: ${TransitionDuration.Medium};\n border-radius: 1000px;\n }\n\n &${isHovered}${isNotDisabled}:before {\n background-color: ${({ checked }) =>\n checked ? Color.BackgroundInputActiveHover : Color.BackgroundInputToggleHover};\n }\n\n /* Slider thumb */\n &:after {\n position: absolute;\n content: '';\n height: ${({ size }) => SLIDER_SIZES[size].diameter}px;\n width: ${({ size }) => SLIDER_SIZES[size].diameter}px;\n bottom: ${({ size }) => SLIDER_SIZES[size].offset}px;\n background-color: ${Color.BackgroundInputDefault};\n transition: ${TransitionDuration.Medium};\n border-radius: 1000px;\n\n right: ${({ size }) => SLIDER_SIZES[size].offset}px;\n\n ${({ checked, size }) =>\n !checked &&\n css`\n transform: translateX(-${getSlideDistance(size)}px);\n `}\n }\n`;\n\nconst ToggleLabel = styled(Label)<Pick<ToggleProps, 'disabled' | 'size'>>`\n cursor: ${({ disabled }) => (disabled ? 'initial' : 'pointer')};\n color: ${Color.TextSecondary};\n\n padding: 0 ${Spacing[2]};\n white-space: nowrap;\n line-height: ${({ size = 'md' }) => `${SWITCH_SIZES[size].height}px`};\n\n ${({ theme, disabled }) =>\n disabled &&\n css`\n color: ${theme.color.text.disabled};\n `}\n`;\n\nfunction getSlideDistance(size: ToggleSize) {\n const switchSize = SWITCH_SIZES[size];\n const sliderSize = SLIDER_SIZES[size];\n return switchSize.width - sliderSize.diameter - sliderSize.offset * 2;\n}\n\nconst HiddenInput = styled.input`\n height: 0;\n width: 0;\n margin: -1px;\n border: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n position: absolute;\n`;\n\nexport interface ToggleProps {\n className?: string;\n /** Disables interaction and renders the toggle in a muted style. */\n disabled?: boolean;\n /**\n * Tooltip / title shown on the root element when the toggle is off.\n * @defaultValue 'Off'\n */\n titleOff?: string;\n /**\n * Tooltip / title shown on the root element when the toggle is on.\n * @defaultValue 'On'\n */\n titleOn?: string;\n /**\n * Called with the new boolean value when the user clicks the toggle.\n * The component is fully controlled — you must update `value` in response.\n */\n onChange?: (value: boolean) => void;\n /**\n * Current on/off state. Falsy values (`false`, `null`, `undefined`, `''`)\n * are treated as off; `true` is treated as on.\n */\n value: boolean | null | undefined | '';\n /** `id` forwarded to the visible switch element. */\n id?: string;\n /** Label node rendered to the left of the switch when the toggle is on. */\n labelOn?: ReactNode;\n /**\n * Label node rendered to the left of the switch when the toggle is off.\n * Falls back to `labelOn` when not provided.\n */\n labelOff?: ReactNode;\n 'data-test'?: string;\n /**\n * Accessible label for the hidden `<input role=\"switch\">`.\n * Required when no visible label is provided via `labelOn` / `labelOff`.\n */\n 'aria-label'?: string;\n /**\n * Size of the toggle switch.\n * @defaultValue 'md'\n */\n size?: ToggleSize;\n}\n\nexport const Toggle = forwardRef<HTMLDivElement, ToggleProps>(function Toggle(\n {\n className,\n disabled,\n titleOff = 'Off',\n titleOn = 'On',\n onChange = () => undefined,\n value,\n id,\n labelOn,\n labelOff,\n 'data-test': dataTest,\n 'aria-label': ariaLabel,\n size = 'md',\n },\n ref,\n) {\n const field = useFormField({ disabled });\n const generatedId = useId();\n const label = value ? labelOn : labelOff || labelOn;\n\n const [focused, { enable: setFocus, disable: clearFocus }] = useToggle();\n\n const handleChange = useCallback(() => {\n onChange(!value);\n inputRef.current?.focus();\n }, [onChange, value]);\n\n const inputRef = useRef<HTMLInputElement>();\n\n return (\n <Container\n className={className}\n data-test={dataTest}\n title={value ? titleOn : titleOff}\n ref={ref}\n >\n {label != null && (\n <ToggleLabel htmlFor={generatedId} disabled={field.disabled} size={size}>\n {label}\n </ToggleLabel>\n )}\n <Switch\n id={id}\n checked={!!value}\n disabled={field.disabled}\n focused={focused}\n onClick={field.disabled ? undefined : handleChange}\n size={size}\n />\n <HiddenInput\n id={generatedId}\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n ref={inputRef}\n data-test-toggle-status={value ? 'on' : 'off'}\n disabled={field.disabled}\n type='checkbox'\n checked={!!value}\n readOnly={true}\n onChange={disabled ? undefined : handleChange}\n onFocus={setFocus}\n onBlur={clearFocus}\n aria-checked={!!value}\n role='switch'\n aria-readonly={field.disabled}\n {...(label\n ? { 'aria-labelledby': generatedId }\n : { 'aria-label': ariaLabel ?? (value ? 'Toggle on' : 'Toggle off') })}\n />\n </Container>\n );\n});\n\nexport default Toggle;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Toggle-D1rEjYoN.mjs","names":[],"sources":["../components/Toggle/Toggle.tsx"],"sourcesContent":["import { forwardRef, type ReactNode, useCallback, useRef } from 'react';\nimport { useId } from 'react-aria';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport useFormField from 'design-system/components/FormControl/useFormField';\nimport { Label } from 'design-system/components/Text';\nimport { isDisabled, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport useToggle from 'design-system/lib/useToggle';\nimport { focusOutlineControlled } from 'design-system/mixins/focus';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ntype ToggleSize = 'md' | 'sm';\n\ninterface SwitchSizes {\n width: number;\n height: number;\n}\n\nconst SWITCH_SIZES: Record<ToggleSize, SwitchSizes> = {\n md: { width: 32, height: 18 },\n sm: { width: 28, height: parseInt(Spacing[4], 10) }, // 16px height from tokens\n};\n\ninterface SliderSizes {\n diameter: number;\n offset: number;\n}\n\nconst SLIDER_SIZES: Record<ToggleSize, SliderSizes> = {\n md: { diameter: 14, offset: 2 },\n sm: { diameter: parseInt(Spacing[3], 10), offset: 2 }, // 12px diameter from tokens\n};\n\nconst Container = styled.div`\n display: inline-flex;\n align-items: center;\n position: relative;\n`;\n\ntype SwitchProps = Pick<ToggleProps, 'disabled'> & {\n checked: boolean;\n focused: boolean;\n size: ToggleSize;\n};\nconst Switch = styled.div<SwitchProps>`\n transition: box-shadow ${TransitionDuration.Fast};\n position: relative;\n display: inline-flex;\n height: ${({ size }) => SWITCH_SIZES[size].height}px;\n width: ${({ size }) => SWITCH_SIZES[size].width}px;\n border-radius: 1000px;\n cursor: pointer;\n &${isDisabled} {\n cursor: not-allowed;\n }\n\n ${focusOutlineControlled}\n\n /* Background */\n &:before {\n position: absolute;\n content: '';\n height: ${({ size }) => SWITCH_SIZES[size].height}px;\n width: ${({ size }) => SWITCH_SIZES[size].width}px;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: ${({ checked, disabled }) =>\n disabled\n ? checked\n ? Color.BackgroundInputActiveDisabled\n : Color.BackgroundInputDisabled\n : checked\n ? Color.BackgroundInputActive\n : Color.BackgroundInputToggle};\n\n transition: ${TransitionDuration.Medium};\n border-radius: 1000px;\n }\n\n &${isHovered}${isNotDisabled}:before {\n background-color: ${({ checked }) =>\n checked ? Color.BackgroundInputActiveHover : Color.BackgroundInputToggleHover};\n }\n\n /* Slider thumb */\n &:after {\n position: absolute;\n content: '';\n height: ${({ size }) => SLIDER_SIZES[size].diameter}px;\n width: ${({ size }) => SLIDER_SIZES[size].diameter}px;\n bottom: ${({ size }) => SLIDER_SIZES[size].offset}px;\n background-color: ${Color.BackgroundInputDefault};\n transition: ${TransitionDuration.Medium};\n border-radius: 1000px;\n\n right: ${({ size }) => SLIDER_SIZES[size].offset}px;\n\n ${({ checked, size }) =>\n !checked &&\n css`\n transform: translateX(-${getSlideDistance(size)}px);\n `}\n }\n`;\n\nconst ToggleLabel = styled(Label)<Pick<ToggleProps, 'disabled' | 'size'>>`\n cursor: ${({ disabled }) => (disabled ? 'initial' : 'pointer')};\n color: ${Color.TextSecondary};\n\n padding: 0 ${Spacing[2]};\n white-space: nowrap;\n line-height: ${({ size = 'md' }) => `${SWITCH_SIZES[size].height}px`};\n\n ${({ theme, disabled }) =>\n disabled &&\n css`\n color: ${theme.color.text.disabled};\n `}\n`;\n\nfunction getSlideDistance(size: ToggleSize) {\n const switchSize = SWITCH_SIZES[size];\n const sliderSize = SLIDER_SIZES[size];\n return switchSize.width - sliderSize.diameter - sliderSize.offset * 2;\n}\n\nconst HiddenInput = styled.input`\n height: 0;\n width: 0;\n margin: -1px;\n border: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n position: absolute;\n`;\n\nexport interface ToggleProps {\n className?: string;\n /** Disables interaction and renders the toggle in a muted style. */\n disabled?: boolean;\n /**\n * Tooltip / title shown on the root element when the toggle is off.\n * @defaultValue 'Off'\n */\n titleOff?: string;\n /**\n * Tooltip / title shown on the root element when the toggle is on.\n * @defaultValue 'On'\n */\n titleOn?: string;\n /**\n * Called with the new boolean value when the user clicks the toggle.\n * The component is fully controlled — you must update `value` in response.\n */\n onChange?: (value: boolean) => void;\n /**\n * Current on/off state. Falsy values (`false`, `null`, `undefined`, `''`)\n * are treated as off; `true` is treated as on.\n */\n value: boolean | null | undefined | '';\n /** `id` forwarded to the visible switch element. */\n id?: string;\n /** Label node rendered to the left of the switch when the toggle is on. */\n labelOn?: ReactNode;\n /**\n * Label node rendered to the left of the switch when the toggle is off.\n * Falls back to `labelOn` when not provided.\n */\n labelOff?: ReactNode;\n 'data-test'?: string;\n /**\n * Accessible label for the hidden `<input role=\"switch\">`.\n * Required when no visible label is provided via `labelOn` / `labelOff`.\n */\n 'aria-label'?: string;\n /**\n * Size of the toggle switch.\n * @defaultValue 'md'\n */\n size?: ToggleSize;\n}\n\nexport const Toggle = forwardRef<HTMLDivElement, ToggleProps>(function Toggle(\n {\n className,\n disabled,\n titleOff = 'Off',\n titleOn = 'On',\n onChange = () => undefined,\n value,\n id,\n labelOn,\n labelOff,\n 'data-test': dataTest,\n 'aria-label': ariaLabel,\n size = 'md',\n },\n ref,\n) {\n const field = useFormField({ disabled });\n const generatedId = useId();\n const label = value ? labelOn : labelOff || labelOn;\n\n const [focused, { enable: setFocus, disable: clearFocus }] = useToggle();\n\n const handleChange = useCallback(() => {\n onChange(!value);\n inputRef.current?.focus();\n }, [onChange, value]);\n\n const inputRef = useRef<HTMLInputElement>();\n\n return (\n <Container\n className={className}\n data-test={dataTest}\n title={value ? titleOn : titleOff}\n ref={ref}\n >\n {label != null && (\n <ToggleLabel htmlFor={generatedId} disabled={field.disabled} size={size}>\n {label}\n </ToggleLabel>\n )}\n <Switch\n id={id}\n checked={!!value}\n disabled={field.disabled}\n focused={focused}\n onClick={field.disabled ? undefined : handleChange}\n size={size}\n />\n <HiddenInput\n id={generatedId}\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n ref={inputRef}\n data-test-toggle-status={value ? 'on' : 'off'}\n disabled={field.disabled}\n type='checkbox'\n checked={!!value}\n readOnly={true}\n onChange={disabled ? undefined : handleChange}\n onFocus={setFocus}\n onBlur={clearFocus}\n aria-checked={!!value}\n role='switch'\n aria-readonly={field.disabled}\n {...(label\n ? { 'aria-labelledby': generatedId }\n : { 'aria-label': ariaLabel ?? (value ? 'Toggle on' : 'Toggle off') })}\n />\n </Container>\n );\n});\n\nexport default Toggle;\n"],"mappings":"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"}
@@ -51,4 +51,4 @@ interface ToggleProps {
51
51
  declare const Toggle: _$react.ForwardRefExoticComponent<ToggleProps & _$react.RefAttributes<HTMLDivElement>>;
52
52
  //#endregion
53
53
  export { ToggleProps as n, Toggle as t };
54
- //# sourceMappingURL=Toggle-DzYLgxGk.d.mts.map
54
+ //# sourceMappingURL=Toggle-oukvAn6V.d.mts.map
package/dist/Toggle.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { n as ToggleProps, t as Toggle } from "./Toggle-DzYLgxGk.mjs";
1
+ import { n as ToggleProps, t as Toggle } from "./Toggle-oukvAn6V.mjs";
2
2
  export { Toggle, Toggle as default, ToggleProps };
@@ -1,11 +1,11 @@
1
- import "./variables/transitions.mjs";
2
1
  import { paragraphMixins } from "./mixins/text.mjs";
3
- import { t as Card_default } from "./Card-BMCB9eFC.mjs";
2
+ import { t as Card_default } from "./Card-CLTkZLKr.mjs";
4
3
  import { fadeIn } from "./variables/keyframes.mjs";
4
+ import "./variables/transitions.mjs";
5
5
  import { Color, Spacing } from "@persona/design-tokens";
6
+ import { Children, cloneElement } from "react";
6
7
  import styled from "styled-components";
7
8
  import { jsx, jsxs } from "react/jsx-runtime";
8
- import { Children, cloneElement } from "react";
9
9
  import { CircleHelpIcon } from "@persona/icons";
10
10
  import { CircleHelpIcon as CircleHelpIcon$1 } from "@persona/icons/12px";
11
11
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
@@ -117,4 +117,4 @@ const TextUnderlineTooltip = ({ children, tooltip, ...props }) => {
117
117
  //#endregion
118
118
  export { Tooltip as a, FloatingTooltip as i, TextWithDashedUnderline as n, HelperTooltip as r, TextUnderlineTooltip as t };
119
119
 
120
- //# sourceMappingURL=Tooltip-BvDbmXak.mjs.map
120
+ //# sourceMappingURL=Tooltip-B-DDlRMw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip-BvDbmXak.mjs","names":["Card","CircleHelpIconSmall"],"sources":["../components/Tooltip/Tooltip.tsx","../components/Tooltip/HelperTooltip.tsx","../components/Tooltip/TextUnderlineTooltip.tsx"],"sourcesContent":["import * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport {\n Children,\n cloneElement,\n type ComponentPropsWithoutRef,\n type ComponentType,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport styled, { type DefaultTheme, type StyledComponent } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport Card, { type CardProps } from 'design-system/components/Card';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { fadeIn } from 'design-system/variables/keyframes';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ninterface FloatingTooltipProps extends CardProps {\n zIndex?: number;\n contentAlignment: 'start' | 'center' | 'end';\n maxWidth?: string;\n size?: 'sm' | 'md';\n}\n\nexport const FloatingTooltip: StyledComponent<\n ComponentType<ComponentPropsWithoutRef<typeof Card>>,\n DefaultTheme,\n FloatingTooltipProps\n> = styled(Card)<FloatingTooltipProps>`\n ${({ size = 'md' }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n line-height: ${({ size = 'md' }) => (size === 'sm' ? '16px' : '20px')};\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n display: flex;\n align-items: ${({ contentAlignment }) => contentAlignment || 'center'};\n justify-content: center;\n padding: 6px ${Spacing[2]};\n animation: ${fadeIn} ${TransitionDuration.Fast} ease-in-out;\n z-index: ${({ zIndex }) => zIndex};\n margin: 0;\n max-width: ${({ maxWidth }) => maxWidth || '250px'};\n color: ${Color.TextPrimary};\n`;\n\nconst TooltipArrow = styled.div`\n width: 0;\n height: 0;\n border-color: ${({ theme }) => theme.color.background.primary};\n border-left: 8px solid transparent;\n border-top: 8px solid ${({ theme }) => theme.color.background.primary};\n border-right: 8px solid transparent;\n`;\n\nconst TooltipIcon = styled.div`\n display: inline-flex;\n`;\n\ninterface TooltipBaseProps\n extends\n Omit<TooltipPrimitive.TooltipProps, 'disableHoverableContent'>,\n TooltipPrimitive.TooltipContentProps {\n /**\n * Optionally hide tooltip arrow.\n */\n hideArrow?: boolean;\n\n children?: ReactNode;\n\n /**\n * Disabling will prevent tooltip from rendering on the trigger\n */\n disabled?: boolean;\n\n /**\n * Render in a portal.\n * Disable to render adjacent to trigger for rendering within elements such as modals\n */\n portal?: boolean;\n\n /**\n * Props applied to Radix UI Portal component\n */\n portalProps?: TooltipPrimitive.TooltipPortalProps;\n\n /**\n * Determines if the tooltip closes when the mouse hovers into the tooltip content area\n */\n interactive?: boolean;\n\n /**\n * Override the zIndex in case the tooltip is used in situations where the content is\n * already elevated\n */\n zIndex?: number;\n\n /**\n * Max width of the contents in the tooltip\n */\n maxWidth?: string;\n\n /**\n * Props to apply to Tooltip.Trigger within\n */\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n\n /**\n * Size of the tooltip. Defaults to 'md'.\n */\n size?: 'sm' | 'md';\n}\n\nexport interface TooltipStandardProps extends TooltipBaseProps {\n /**\n * Element that will trigger the tooltip. A `ref` will be set.\n */\n trigger: ReactElement;\n\n iconTrigger?: never;\n\n className?: never;\n\n contentAlignment?: 'start' | 'center' | 'end';\n}\n\nexport interface TooltipWithIconProps extends TooltipBaseProps {\n trigger?: never;\n\n /**\n * Icon that will trigger the tooltip. A wrapper div will be set.\n */\n iconTrigger: ReactElement;\n\n className?: string;\n\n contentAlignment?: 'start' | 'center' | 'end';\n}\n\ntype TooltipProps = TooltipStandardProps | TooltipWithIconProps;\n\nexport const Tooltip = ({\n trigger: triggerProp,\n iconTrigger,\n side = 'bottom',\n hideArrow,\n defaultOpen,\n open,\n delayDuration = 300,\n onOpenChange,\n interactive = true,\n children,\n 'aria-label': ariaLabel,\n portal = true,\n disabled = false,\n className,\n maxWidth,\n zIndex = 10,\n triggerProps,\n portalProps,\n contentAlignment,\n size = 'md',\n ...contentProps\n}: TooltipProps) => {\n let trigger;\n\n if (iconTrigger) {\n trigger = (\n <TooltipIcon tabIndex={0} aria-label={ariaLabel} className={className}>\n {cloneElement(iconTrigger, { focusable: false, 'aria-hidden': true })}\n </TooltipIcon>\n );\n } else {\n trigger = triggerProp;\n }\n\n // quick way to check if children are renderable. null, false, and true will be filtered out when converting to an array\n const hasRenderableChildren = Children.toArray(children).length > 0;\n\n const content = (\n <TooltipPrimitive.Content side={side} sideOffset={8} asChild {...contentProps}>\n <FloatingTooltip\n zIndex={zIndex}\n contentAlignment={contentAlignment}\n maxWidth={maxWidth}\n size={size}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow asChild>\n <TooltipArrow />\n </TooltipPrimitive.Arrow>\n )}\n </FloatingTooltip>\n </TooltipPrimitive.Content>\n );\n\n return (\n <TooltipPrimitive.Provider delayDuration={delayDuration}>\n <TooltipPrimitive.Root\n open={open}\n defaultOpen={defaultOpen}\n disableHoverableContent={!interactive}\n onOpenChange={onOpenChange}\n >\n <TooltipPrimitive.Trigger asChild aria-label={ariaLabel} {...triggerProps}>\n {trigger}\n </TooltipPrimitive.Trigger>\n\n {!disabled &&\n hasRenderableChildren &&\n (portal ? (\n <TooltipPrimitive.Portal {...portalProps}>{content}</TooltipPrimitive.Portal>\n ) : (\n content\n ))}\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n );\n};\n\nexport default Tooltip;\n","import type { ReactNode } from 'react';\n\nimport { Color } from '@persona/design-tokens';\nimport { CircleHelpIcon } from '@persona/icons';\nimport { CircleHelpIcon as CircleHelpIconSmall } from '@persona/icons/12px';\n\nimport Tooltip, { type TooltipWithIconProps } from './Tooltip';\n\nexport interface HelperTooltipProps extends Omit<TooltipWithIconProps, 'iconTrigger'> {\n children: ReactNode;\n size?: 'md' | 'sm';\n}\n\n/**\n * Helper component for rendering help text via help icons.\n */\nconst HelperTooltip = ({ children, size = 'md', ...props }: HelperTooltipProps) => {\n return (\n <Tooltip\n size={size}\n iconTrigger={\n size === 'md' ? (\n <CircleHelpIcon color={Color.BorderIconSecondary} />\n ) : (\n <CircleHelpIconSmall color={Color.BorderIconSecondary} />\n )\n }\n {...props}\n >\n {children}\n </Tooltip>\n );\n};\n\nexport default HelperTooltip;\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Color } from '@persona/design-tokens';\n\nimport Tooltip, { type TooltipStandardProps } from './Tooltip';\n\nexport const TextWithDashedUnderline = styled.span`\n text-decoration: underline;\n text-decoration-style: dashed;\n text-decoration-color: ${Color.CoreSlate700};\n text-underline-offset: 2px;\n text-decoration-thickness: 1px;\n width: fit-content;\n`;\n\ninterface TextUnderlineTooltipProps extends Omit<TooltipStandardProps, 'trigger' | 'iconTrigger'> {\n tooltip: ReactNode;\n}\n\nconst TextUnderlineTooltip = ({ children, tooltip, ...props }: TextUnderlineTooltipProps) => {\n return (\n <Tooltip trigger={<TextWithDashedUnderline>{children}</TextWithDashedUnderline>} {...props}>\n {tooltip}\n </Tooltip>\n );\n};\n\nexport default TextUnderlineTooltip;\n"],"mappings":";;;;;;;;;;;;AAwBA,MAAa,kBAIT,OAAOA,aAAK;KACX,EAAE,OAAO,WAAY,SAAS,OAAO,gBAAgB,KAAK,gBAAgB,GAAI;kBACjE,EAAE,OAAO,WAAY,SAAS,OAAO,SAAS,OAAQ;;;;kBAItD,EAAE,uBAAuB,oBAAoB,SAAS;;iBAEvD,QAAQ,GAAG;eACb,OAAO,GAAA,QAA2B;cACnC,EAAE,aAAa,OAAO;;gBAEpB,EAAE,eAAe,YAAY,QAAQ;WAC1C,MAAM,YAAY;;AAG7B,MAAM,eAAe,OAAO,GAAG;;;mBAGZ,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;;2BAErC,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;;;AAIxE,MAAM,cAAc,OAAO,GAAG;;;AAsF9B,MAAa,WAAW,EACtB,SAAS,aACT,aACA,OAAO,UACP,WACA,aACA,MACA,gBAAgB,KAChB,cACA,cAAc,MACd,UACA,cAAc,WACd,SAAS,MACT,WAAW,OACX,WACA,UACA,SAAS,IACT,cACA,aACA,kBACA,OAAO,MACP,GAAG,mBACe;CAClB,IAAI;AAEJ,KAAI,YACF,WACE,oBAAC,aAAD;EAAa,UAAU;EAAG,cAAY;EAAsB;YACzD,aAAa,aAAa;GAAE,WAAW;GAAO,eAAe;GAAM,CAAC;EACzD,CAAA;KAGhB,WAAU;CAIZ,MAAM,wBAAwB,SAAS,QAAQ,SAAS,CAAC,SAAS;CAElE,MAAM,UACJ,oBAAC,iBAAiB,SAAlB;EAAgC;EAAM,YAAY;EAAG,SAAA;EAAQ,GAAI;YAC/D,qBAAC,iBAAD;GACU;GACU;GACR;GACJ;aAJR,CAMG,UACA,CAAC,aACA,oBAAC,iBAAiB,OAAlB;IAAwB,SAAA;cACtB,oBAAC,cAAD,EAAgB,CAAA;IACO,CAAA,CAEX;;EACO,CAAA;AAG7B,QACE,oBAAC,iBAAiB,UAAlB;EAA0C;YACxC,qBAAC,iBAAiB,MAAlB;GACQ;GACO;GACb,yBAAyB,CAAC;GACZ;aAJhB,CAME,oBAAC,iBAAiB,SAAlB;IAA0B,SAAA;IAAQ,cAAY;IAAW,GAAI;cAC1D;IACwB,CAAA,EAE1B,CAAC,YACA,0BACC,SACC,oBAAC,iBAAiB,QAAlB;IAAyB,GAAI;cAAc;IAAkC,CAAA,GAE7E,SAEkB;;EACE,CAAA;;;;;;;ACvMhC,MAAM,iBAAiB,EAAE,UAAU,OAAO,MAAM,GAAG,YAAgC;AACjF,QACE,oBAAC,SAAD;EACQ;EACN,aACE,SAAS,OACP,oBAAC,gBAAD,EAAgB,OAAO,MAAM,qBAAuB,CAAA,GAEpD,oBAACC,kBAAD,EAAqB,OAAO,MAAM,qBAAuB,CAAA;EAG7D,GAAI;EAEH;EACO,CAAA;;;;ACvBd,MAAa,0BAA0B,OAAO,IAAI;;;2BAGvB,MAAM,aAAa;;;;;AAU9C,MAAM,wBAAwB,EAAE,UAAU,SAAS,GAAG,YAAuC;AAC3F,QACE,oBAAC,SAAD;EAAS,SAAS,oBAAC,yBAAD,EAA0B,UAAmC,CAAA;EAAE,GAAI;YAClF;EACO,CAAA"}
1
+ {"version":3,"file":"Tooltip-B-DDlRMw.mjs","names":["Card","CircleHelpIconSmall"],"sources":["../components/Tooltip/Tooltip.tsx","../components/Tooltip/HelperTooltip.tsx","../components/Tooltip/TextUnderlineTooltip.tsx"],"sourcesContent":["import * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport {\n Children,\n cloneElement,\n type ComponentPropsWithoutRef,\n type ComponentType,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport styled, { type DefaultTheme, type StyledComponent } from 'styled-components';\n\nimport { Color, Spacing } from '@persona/design-tokens';\nimport Card, { type CardProps } from 'design-system/components/Card';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { fadeIn } from 'design-system/variables/keyframes';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ninterface FloatingTooltipProps extends CardProps {\n zIndex?: number;\n contentAlignment: 'start' | 'center' | 'end';\n maxWidth?: string;\n size?: 'sm' | 'md';\n}\n\nexport const FloatingTooltip: StyledComponent<\n ComponentType<ComponentPropsWithoutRef<typeof Card>>,\n DefaultTheme,\n FloatingTooltipProps\n> = styled(Card)<FloatingTooltipProps>`\n ${({ size = 'md' }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n line-height: ${({ size = 'md' }) => (size === 'sm' ? '16px' : '20px')};\n box-shadow: 0px 0px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n display: flex;\n align-items: ${({ contentAlignment }) => contentAlignment || 'center'};\n justify-content: center;\n padding: 6px ${Spacing[2]};\n animation: ${fadeIn} ${TransitionDuration.Fast} ease-in-out;\n z-index: ${({ zIndex }) => zIndex};\n margin: 0;\n max-width: ${({ maxWidth }) => maxWidth || '250px'};\n color: ${Color.TextPrimary};\n`;\n\nconst TooltipArrow = styled.div`\n width: 0;\n height: 0;\n border-color: ${({ theme }) => theme.color.background.primary};\n border-left: 8px solid transparent;\n border-top: 8px solid ${({ theme }) => theme.color.background.primary};\n border-right: 8px solid transparent;\n`;\n\nconst TooltipIcon = styled.div`\n display: inline-flex;\n`;\n\ninterface TooltipBaseProps\n extends\n Omit<TooltipPrimitive.TooltipProps, 'disableHoverableContent'>,\n TooltipPrimitive.TooltipContentProps {\n /**\n * Optionally hide tooltip arrow.\n */\n hideArrow?: boolean;\n\n children?: ReactNode;\n\n /**\n * Disabling will prevent tooltip from rendering on the trigger\n */\n disabled?: boolean;\n\n /**\n * Render in a portal.\n * Disable to render adjacent to trigger for rendering within elements such as modals\n */\n portal?: boolean;\n\n /**\n * Props applied to Radix UI Portal component\n */\n portalProps?: TooltipPrimitive.TooltipPortalProps;\n\n /**\n * Determines if the tooltip closes when the mouse hovers into the tooltip content area\n */\n interactive?: boolean;\n\n /**\n * Override the zIndex in case the tooltip is used in situations where the content is\n * already elevated\n */\n zIndex?: number;\n\n /**\n * Max width of the contents in the tooltip\n */\n maxWidth?: string;\n\n /**\n * Props to apply to Tooltip.Trigger within\n */\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n\n /**\n * Size of the tooltip. Defaults to 'md'.\n */\n size?: 'sm' | 'md';\n}\n\nexport interface TooltipStandardProps extends TooltipBaseProps {\n /**\n * Element that will trigger the tooltip. A `ref` will be set.\n */\n trigger: ReactElement;\n\n iconTrigger?: never;\n\n className?: never;\n\n contentAlignment?: 'start' | 'center' | 'end';\n}\n\nexport interface TooltipWithIconProps extends TooltipBaseProps {\n trigger?: never;\n\n /**\n * Icon that will trigger the tooltip. A wrapper div will be set.\n */\n iconTrigger: ReactElement;\n\n className?: string;\n\n contentAlignment?: 'start' | 'center' | 'end';\n}\n\ntype TooltipProps = TooltipStandardProps | TooltipWithIconProps;\n\nexport const Tooltip = ({\n trigger: triggerProp,\n iconTrigger,\n side = 'bottom',\n hideArrow,\n defaultOpen,\n open,\n delayDuration = 300,\n onOpenChange,\n interactive = true,\n children,\n 'aria-label': ariaLabel,\n portal = true,\n disabled = false,\n className,\n maxWidth,\n zIndex = 10,\n triggerProps,\n portalProps,\n contentAlignment,\n size = 'md',\n ...contentProps\n}: TooltipProps) => {\n let trigger;\n\n if (iconTrigger) {\n trigger = (\n <TooltipIcon tabIndex={0} aria-label={ariaLabel} className={className}>\n {cloneElement(iconTrigger, { focusable: false, 'aria-hidden': true })}\n </TooltipIcon>\n );\n } else {\n trigger = triggerProp;\n }\n\n // quick way to check if children are renderable. null, false, and true will be filtered out when converting to an array\n const hasRenderableChildren = Children.toArray(children).length > 0;\n\n const content = (\n <TooltipPrimitive.Content side={side} sideOffset={8} asChild {...contentProps}>\n <FloatingTooltip\n zIndex={zIndex}\n contentAlignment={contentAlignment}\n maxWidth={maxWidth}\n size={size}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow asChild>\n <TooltipArrow />\n </TooltipPrimitive.Arrow>\n )}\n </FloatingTooltip>\n </TooltipPrimitive.Content>\n );\n\n return (\n <TooltipPrimitive.Provider delayDuration={delayDuration}>\n <TooltipPrimitive.Root\n open={open}\n defaultOpen={defaultOpen}\n disableHoverableContent={!interactive}\n onOpenChange={onOpenChange}\n >\n <TooltipPrimitive.Trigger asChild aria-label={ariaLabel} {...triggerProps}>\n {trigger}\n </TooltipPrimitive.Trigger>\n\n {!disabled &&\n hasRenderableChildren &&\n (portal ? (\n <TooltipPrimitive.Portal {...portalProps}>{content}</TooltipPrimitive.Portal>\n ) : (\n content\n ))}\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n );\n};\n\nexport default Tooltip;\n","import type { ReactNode } from 'react';\n\nimport { Color } from '@persona/design-tokens';\nimport { CircleHelpIcon } from '@persona/icons';\nimport { CircleHelpIcon as CircleHelpIconSmall } from '@persona/icons/12px';\n\nimport Tooltip, { type TooltipWithIconProps } from './Tooltip';\n\nexport interface HelperTooltipProps extends Omit<TooltipWithIconProps, 'iconTrigger'> {\n children: ReactNode;\n size?: 'md' | 'sm';\n}\n\n/**\n * Helper component for rendering help text via help icons.\n */\nconst HelperTooltip = ({ children, size = 'md', ...props }: HelperTooltipProps) => {\n return (\n <Tooltip\n size={size}\n iconTrigger={\n size === 'md' ? (\n <CircleHelpIcon color={Color.BorderIconSecondary} />\n ) : (\n <CircleHelpIconSmall color={Color.BorderIconSecondary} />\n )\n }\n {...props}\n >\n {children}\n </Tooltip>\n );\n};\n\nexport default HelperTooltip;\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Color } from '@persona/design-tokens';\n\nimport Tooltip, { type TooltipStandardProps } from './Tooltip';\n\nexport const TextWithDashedUnderline = styled.span`\n text-decoration: underline;\n text-decoration-style: dashed;\n text-decoration-color: ${Color.CoreSlate700};\n text-underline-offset: 2px;\n text-decoration-thickness: 1px;\n width: fit-content;\n`;\n\ninterface TextUnderlineTooltipProps extends Omit<TooltipStandardProps, 'trigger' | 'iconTrigger'> {\n tooltip: ReactNode;\n}\n\nconst TextUnderlineTooltip = ({ children, tooltip, ...props }: TextUnderlineTooltipProps) => {\n return (\n <Tooltip trigger={<TextWithDashedUnderline>{children}</TextWithDashedUnderline>} {...props}>\n {tooltip}\n </Tooltip>\n );\n};\n\nexport default TextUnderlineTooltip;\n"],"mappings":";;;;;;;;;;;;AAwBA,MAAa,kBAIT,OAAOA,aAAK;KACX,EAAE,OAAO,WAAY,SAAS,OAAO,gBAAgB,KAAK,gBAAgB,GAAI;kBACjE,EAAE,OAAO,WAAY,SAAS,OAAO,SAAS,OAAQ;;;;kBAItD,EAAE,uBAAuB,oBAAoB,SAAS;;iBAEvD,QAAQ,GAAG;eACb,OAAO,GAAA,QAA2B;cACnC,EAAE,aAAa,OAAO;;gBAEpB,EAAE,eAAe,YAAY,QAAQ;WAC1C,MAAM,YAAY;;AAG7B,MAAM,eAAe,OAAO,GAAG;;;mBAGZ,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;;2BAErC,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;;;AAIxE,MAAM,cAAc,OAAO,GAAG;;;AAsF9B,MAAa,WAAW,EACtB,SAAS,aACT,aACA,OAAO,UACP,WACA,aACA,MACA,gBAAgB,KAChB,cACA,cAAc,MACd,UACA,cAAc,WACd,SAAS,MACT,WAAW,OACX,WACA,UACA,SAAS,IACT,cACA,aACA,kBACA,OAAO,MACP,GAAG,mBACe;CAClB,IAAI;AAEJ,KAAI,YACF,WACE,oBAAC,aAAD;EAAa,UAAU;EAAG,cAAY;EAAsB;YACzD,aAAa,aAAa;GAAE,WAAW;GAAO,eAAe;GAAM,CAAC;EACzD,CAAA;KAGhB,WAAU;CAIZ,MAAM,wBAAwB,SAAS,QAAQ,SAAS,CAAC,SAAS;CAElE,MAAM,UACJ,oBAAC,iBAAiB,SAAlB;EAAgC;EAAM,YAAY;EAAG,SAAA;EAAQ,GAAI;YAC/D,qBAAC,iBAAD;GACU;GACU;GACR;GACJ;aAJR,CAMG,UACA,CAAC,aACA,oBAAC,iBAAiB,OAAlB;IAAwB,SAAA;cACtB,oBAAC,cAAD,EAAgB,CAAA;IACO,CAAA,CAEX;;EACO,CAAA;AAG7B,QACE,oBAAC,iBAAiB,UAAlB;EAA0C;YACxC,qBAAC,iBAAiB,MAAlB;GACQ;GACO;GACb,yBAAyB,CAAC;GACZ;aAJhB,CAME,oBAAC,iBAAiB,SAAlB;IAA0B,SAAA;IAAQ,cAAY;IAAW,GAAI;cAC1D;IACwB,CAAA,EAE1B,CAAC,YACA,0BACC,SACC,oBAAC,iBAAiB,QAAlB;IAAyB,GAAI;cAAc;IAAkC,CAAA,GAE7E,SAEkB;;EACE,CAAA;;;;;;;ACvMhC,MAAM,iBAAiB,EAAE,UAAU,OAAO,MAAM,GAAG,YAAgC;AACjF,QACE,oBAAC,SAAD;EACQ;EACN,aACE,SAAS,OACP,oBAAC,gBAAD,EAAgB,OAAO,MAAM,qBAAuB,CAAA,GAEpD,oBAACC,kBAAD,EAAqB,OAAO,MAAM,qBAAuB,CAAA;EAG7D,GAAI;EAEH;EACO,CAAA;;;;ACvBd,MAAa,0BAA0B,OAAO,IAAI;;;2BAGvB,MAAM,aAAa;;;;;AAU9C,MAAM,wBAAwB,EAAE,UAAU,SAAS,GAAG,YAAuC;AAC3F,QACE,oBAAC,SAAD;EAAS,SAAS,oBAAC,yBAAD,EAA0B,UAAmC,CAAA;EAAE,GAAI;YAClF;EACO,CAAA"}
@@ -1,7 +1,7 @@
1
- import { r as _default, t as CardProps } from "./Card-CqnG--CU.mjs";
1
+ import { r as _default, t as CardProps } from "./Card-8DuhHQIk.mjs";
2
+ import { ComponentPropsWithoutRef, ComponentType, ReactElement, ReactNode } from "react";
2
3
  import { DefaultTheme, StyledComponent } from "styled-components";
3
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
- import { ComponentPropsWithoutRef, ComponentType, ReactElement, ReactNode } from "react";
5
5
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
6
6
 
7
7
  //#region components/Tooltip/Tooltip.d.ts
@@ -97,4 +97,4 @@ declare const Tooltip: ({
97
97
  }: TooltipProps) => _$react_jsx_runtime0.JSX.Element;
98
98
  //#endregion
99
99
  export { TooltipWithIconProps as i, Tooltip as n, TooltipStandardProps as r, FloatingTooltip as t };
100
- //# sourceMappingURL=Tooltip-CUC-JuRL.d.mts.map
100
+ //# sourceMappingURL=Tooltip-DZVPqxai.d.mts.map
@@ -1,2 +1,2 @@
1
- import { i as TooltipWithIconProps, n as Tooltip, r as TooltipStandardProps, t as FloatingTooltip } from "./Tooltip-CUC-JuRL.mjs";
1
+ import { i as TooltipWithIconProps, n as Tooltip, r as TooltipStandardProps, t as FloatingTooltip } from "./Tooltip-DZVPqxai.mjs";
2
2
  export { FloatingTooltip, Tooltip, Tooltip as default, TooltipStandardProps, TooltipWithIconProps };
@@ -1,5 +1,5 @@
1
- import * as _$styled_components0 from "styled-components";
2
1
  import { ComponentPropsWithoutRef, FC } from "react";
2
+ import * as _$styled_components0 from "styled-components";
3
3
 
4
4
  //#region lib/TruncatedText.d.ts
5
5
  declare const OverflowEllipsisSpan: _$styled_components0.StyledComponent<"span", any, {}, never>;
@@ -15,4 +15,4 @@ interface TruncatedTextProps extends ComponentPropsWithoutRef<'span'> {
15
15
  declare const TruncatedText: FC<TruncatedTextProps>;
16
16
  //#endregion
17
17
  export { TruncatedText as n, TruncatedTextProps as r, OverflowEllipsisSpan as t };
18
- //# sourceMappingURL=TruncatedText-BJnowVTx.d.mts.map
18
+ //# sourceMappingURL=TruncatedText-D2R7uy_y.d.mts.map
@@ -1,11 +1,11 @@
1
- import { i as Paragraph } from "../../Text-RcEfNFLx.mjs";
2
- import { r as HelperTooltip } from "../../Tooltip-BvDbmXak.mjs";
3
- import { t as IconButton } from "../../IconButton-P8w0JDI5.mjs";
4
- import { n as Sticker } from "../../Sticker-CyGb9dEu.mjs";
1
+ import { i as Paragraph } from "../../Text-hEoPeOc9.mjs";
2
+ import { r as HelperTooltip } from "../../Tooltip-B-DDlRMw.mjs";
3
+ import { t as IconButton } from "../../IconButton-Bi4kdsbV.mjs";
4
+ import { n as Sticker } from "../../Sticker-BOlAy2TE.mjs";
5
5
  import { Color, Spacing, Typography } from "@persona/design-tokens";
6
- import styled, { css } from "styled-components";
7
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
6
  import { createContext, useContext, useEffect, useMemo, useRef } from "react";
7
+ import styled, { css } from "styled-components";
8
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
9
  import { EyeIcon, EyeOffIcon } from "@persona/icons";
10
10
  import { uniqueId } from "lodash/fp.js";
11
11
  import { useToggleButton } from "react-aria";
@@ -52,7 +52,7 @@ const Value = styled.dd`
52
52
  `;
53
53
  const AttributeValue = ({ placeholder, show, redacted, value, wordBreak, size, id, "aria-labelledby": ariaLabelledBy }) => {
54
54
  const isEmpty = value == null || value === "";
55
- const renderedVal = isEmpty ? placeholder : /* @__PURE__ */ jsx(Fragment, { children: !show ? repeat("•", typeof value === "string" ? value.length : 8) : value });
55
+ const renderedVal = isEmpty ? placeholder : /* @__PURE__ */ jsx(Fragment$1, { children: !show ? repeat("•", typeof value === "string" ? value.length : 8) : value });
56
56
  return /* @__PURE__ */ jsx(Value, {
57
57
  isPlaceholder: isEmpty,
58
58
  wordBreak,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Attribute/Attribute.tsx","../../../components/Attribute/AttributeGrid.tsx"],"sourcesContent":["import { repeat } from 'lodash';\nimport { uniqueId } from 'lodash/fp';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentType,\n createContext,\n type FC,\n type PropsWithChildren,\n type ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport { useToggleButton } from 'react-aria';\nimport { useToggleState } from 'react-stately';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport { EyeIcon, EyeOffIcon } from '@persona/icons';\nimport IconButton from 'design-system/components/Button/IconButton';\nimport Sticker from 'design-system/components/Sticker';\nimport { Paragraph } from 'design-system/components/Text';\nimport { HelperTooltip } from 'design-system/components/Tooltip';\nimport type { ParagraphSize } from 'design-system/mixins/text';\n\nexport type WordBreak = 'break-all' | 'break-word' | 'normal';\nexport type TextTransform = 'capitalize' | 'sentence';\nexport type TableLayoutValue = boolean | 'full-width';\n\nexport type AttributeSize = 'sm' | 'md';\n\nexport const AttributeContext = createContext<{\n table?: TableLayoutValue;\n horizontal?: boolean;\n size?: AttributeSize;\n}>({});\n\n// TODO: Create Toggle Button component\nexport const IconButtonContainer = styled(IconButton)`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n svg {\n transition-duration: 150ms;\n }\n\n :hover {\n svg {\n color: ${Color.CorePurple800};\n }\n }\n`;\n\ninterface AttributeValueProps {\n placeholder: ReactNode;\n show?: boolean;\n redacted?: boolean;\n value?: ReactNode;\n textTransform?: TextTransform;\n wordBreak?: WordBreak;\n size?: AttributeSize;\n 'aria-labelledby': string;\n id: string;\n}\n\ninterface ValueFormatterProps {\n isPlaceholder?: boolean;\n wordBreak?: WordBreak;\n size?: AttributeSize;\n}\n\nconst Value = styled.dd<ValueFormatterProps>`\n ${({ size }) => (size === 'sm' ? Typography.TextSmall : Typography.TextMedium)};\n color: ${({ isPlaceholder }) => (isPlaceholder ? Color.TextSecondary : Color.CoreSlate1000)};\n margin: 0;\n text-overflow: ellipsis;\n overflow-x: hidden;\n word-break: ${({ wordBreak }) => (wordBreak ? wordBreak : 'normal')};\n\n ul,\n ol {\n list-style-position: inside;\n }\n\n a {\n color: ${({ theme }) => theme.color.text.brand};\n text-decoration: none;\n\n &:visited {\n color: ${({ theme }) => theme.color.text.brand};\n }\n }\n`;\n\nexport const AttributeValue = ({\n placeholder,\n show,\n redacted,\n value,\n wordBreak,\n size,\n id,\n 'aria-labelledby': ariaLabelledBy,\n}: AttributeValueProps) => {\n const isEmpty = value == null || value === '';\n\n const renderedVal = isEmpty ? (\n placeholder\n ) : (\n <>{!show ? repeat('•', typeof value === 'string' ? value.length : 8) : value}</>\n );\n\n return (\n <Value\n isPlaceholder={isEmpty}\n wordBreak={wordBreak}\n size={size}\n title={typeof value === 'string' ? value : undefined}\n aria-labelledby={ariaLabelledBy}\n id={id}\n >\n {redacted ? <Sticker id={id}>Redacted</Sticker> : renderedVal}\n </Value>\n );\n};\n\nexport interface AttributeProps extends ComponentPropsWithoutRef<'div'> {\n /**\n * Title of the attribute. Rendered as a <dt>.\n */\n label: ReactNode;\n\n /**\n * Value to display. Rendered as a <dd>.\n */\n value?: ReactNode;\n\n /**\n * Will display a \"Redacted\" sticker if there is a value.\n */\n redacted?: boolean;\n\n /**\n * Renders toggleable eye button to the right of the label\n */\n toggleable?: boolean;\n\n /**\n * Text to display in presence of null value.\n */\n placeholder?: string;\n\n /**\n * Word break styling for value.\n */\n wordBreak?: WordBreak;\n\n /**\n * Render a custom label component\n */\n labelComponent?: FC<PropsWithChildren<{ id: string; size?: ParagraphSize }>>;\n\n /**\n * Render a custom value component\n */\n valueComponent?: ComponentType<AttributeValueProps>;\n\n /**\n * Renders a HelperTooltip to display help text to the right of the label.\n */\n helpText?: ReactNode;\n\n /**\n * Custom adornments to display to the right of the label.\n */\n right?: ReactNode;\n\n /**\n * Renders attributes in a tabular layout.\n */\n table?: TableLayoutValue;\n}\n\ntype AttributeContainerProps = {\n horizontal?: boolean;\n table?: TableLayoutValue;\n size?: AttributeSize;\n};\nconst AttributeContainer = styled('div')<AttributeContainerProps>`\n ${({ table, size }) =>\n table &&\n css`\n display: table-row;\n\n > * {\n display: table-cell;\n }\n\n & > ${AttributeLabel} {\n padding: ${Spacing[1]} 0;\n padding-right: ${size === 'sm' ? Spacing[2] : Spacing[3]};\n }\n & > ${Value} {\n padding: ${size === 'sm' ? Spacing[1] : Spacing[2]} 0;\n }\n `}\n\n ${({ horizontal }) =>\n horizontal &&\n css`\n display: grid;\n gap: ${Spacing[4]};\n grid-template-columns: subgrid;\n grid-column: span 2;\n `}\n`;\n\nexport const AttributeLabel = styled(Paragraph).attrs<{ size?: ParagraphSize }>((props) => ({\n size: props.size ?? 'md',\n color: 'tertiary',\n as: 'dt',\n}))`\n margin: 0;\n overflow-wrap: break-word;\n`;\n\nconst RightContainer = styled.span`\n display: inline-block;\n vertical-align: middle;\n margin-left: ${Spacing[2]};\n`;\n\nexport const Attribute = ({\n label,\n value,\n redacted,\n placeholder = '-',\n wordBreak,\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n labelComponent: LabelComponent = AttributeLabel,\n valueComponent: ValueComponent = AttributeValue,\n right,\n helpText,\n toggleable,\n table,\n ...elemProps\n}: AttributeProps) => {\n const attrCtx = useContext(AttributeContext);\n const size = attrCtx?.size ?? 'md';\n const toggleRef = useRef();\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n const valueAsArray = [].concat(value).filter(Boolean);\n const showToggleButton = toggleable && !redacted && valueAsArray.length > 0;\n const state = useToggleState({ defaultSelected: !toggleable });\n const { buttonProps } = useToggleButton(\n {\n 'aria-label': state.isSelected ? `Hide ${label} value` : `Show ${label} value`,\n elementType: 'button',\n },\n state,\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n toggleRef,\n );\n const labelId = useMemo(() => uniqueId('pds_attribute_label__'), []);\n const valueId = useMemo(() => uniqueId('pds_attribute_value__'), []);\n const show = state.isSelected;\n\n useEffect(() => {\n state.setSelected(!toggleable);\n }, [toggleable]);\n\n return (\n <AttributeContainer\n table={table || attrCtx?.table}\n horizontal={attrCtx?.horizontal}\n size={size}\n {...elemProps}\n >\n <LabelComponent id={labelId} aria-details={valueId} size={size}>\n {label}\n {helpText && (\n <RightContainer>\n <HelperTooltip size='sm'>{helpText}</HelperTooltip>\n </RightContainer>\n )}\n {showToggleButton && (\n <RightContainer>\n {/* @ts-expect-error [strict-migration] The following line is not strict; please fix! */}\n <IconButtonContainer {...buttonProps} ref={toggleRef}>\n {show ? <EyeIcon /> : <EyeOffIcon />}\n </IconButtonContainer>\n </RightContainer>\n )}\n {right && <RightContainer>{right}</RightContainer>}\n </LabelComponent>\n <ValueComponent\n id={valueId}\n value={value}\n placeholder={placeholder}\n wordBreak={wordBreak}\n redacted={redacted}\n show={show}\n size={size}\n aria-labelledby={labelId}\n />\n </AttributeContainer>\n );\n};\n\nexport default Attribute;\n","import type { ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nimport { AttributeContext, type AttributeSize, type TableLayoutValue } from './Attribute';\n\ntype AttributeGridProps = {\n children?: ReactNode;\n /**\n * Sets the font size and spacing density for all child Attributes.\n * Defaults to `'md'`.\n */\n size?: AttributeSize;\n} & (\n | {\n /**\n * Set a fixed number of columns for the grid.\n */\n colCount?: number;\n /**\n * Display attributes in a stacked list with label first then value.\n */\n horizontal?: boolean;\n\n table?: never;\n }\n | {\n /**\n * Display attributes in a fixed tabular layout.\n * Set to `full-width` to expand to full width of container.\n */\n table?: TableLayoutValue;\n\n colCount?: never;\n horizontal?: never;\n }\n);\n\ntype AttributeGridComponentProps = {\n colCount?: number;\n horizontal?: boolean;\n table?: TableLayoutValue;\n size?: AttributeSize;\n};\nconst AttributeGridComponent = styled.dl<AttributeGridComponentProps>`\n ${({ colCount, table, horizontal, size }) =>\n table\n ? css`\n display: table;\n ${\n table === 'full-width' &&\n css`\n width: 100%;\n table-layout: fixed;\n border-spacing: 0 ${size === 'sm' ? Spacing[1] : Spacing[2]};\n `\n };\n `\n : css`\n display: grid;\n gap: ${size === 'sm' ? Spacing[2] : Spacing[4]};\n /* If the layout is horizontal we guarentee an even number of columns */\n grid-template-columns: ${\n colCount\n ? `repeat(${colCount}, ${horizontal ? '1fr 2fr' : '1fr'})`\n : `repeat(auto-fit, ${horizontal ? 'minmax(120px, 1fr) minmax(225px, 2fr)' : 'minmax(225px, 1fr)'})`\n };\n `}\n margin: 0;\n\n & + & {\n padding-bottom: ${Spacing[5]};\n }\n`;\n\nconst AttributeGrid = ({ children, horizontal, table, size, ...props }: AttributeGridProps) => {\n return (\n <AttributeGridComponent table={table} horizontal={horizontal} size={size} {...props}>\n <AttributeContext.Provider value={{ horizontal, table, size }}>\n {children}\n </AttributeContext.Provider>\n </AttributeGridComponent>\n );\n};\n\nexport default AttributeGrid;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Attribute/Attribute.tsx","../../../components/Attribute/AttributeGrid.tsx"],"sourcesContent":["import { repeat } from 'lodash';\nimport { uniqueId } from 'lodash/fp';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentType,\n createContext,\n type FC,\n type PropsWithChildren,\n type ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport { useToggleButton } from 'react-aria';\nimport { useToggleState } from 'react-stately';\nimport styled, { css } from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport { EyeIcon, EyeOffIcon } from '@persona/icons';\nimport IconButton from 'design-system/components/Button/IconButton';\nimport Sticker from 'design-system/components/Sticker';\nimport { Paragraph } from 'design-system/components/Text';\nimport { HelperTooltip } from 'design-system/components/Tooltip';\nimport type { ParagraphSize } from 'design-system/mixins/text';\n\nexport type WordBreak = 'break-all' | 'break-word' | 'normal';\nexport type TextTransform = 'capitalize' | 'sentence';\nexport type TableLayoutValue = boolean | 'full-width';\n\nexport type AttributeSize = 'sm' | 'md';\n\nexport const AttributeContext = createContext<{\n table?: TableLayoutValue;\n horizontal?: boolean;\n size?: AttributeSize;\n}>({});\n\n// TODO: Create Toggle Button component\nexport const IconButtonContainer = styled(IconButton)`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n svg {\n transition-duration: 150ms;\n }\n\n :hover {\n svg {\n color: ${Color.CorePurple800};\n }\n }\n`;\n\ninterface AttributeValueProps {\n placeholder: ReactNode;\n show?: boolean;\n redacted?: boolean;\n value?: ReactNode;\n textTransform?: TextTransform;\n wordBreak?: WordBreak;\n size?: AttributeSize;\n 'aria-labelledby': string;\n id: string;\n}\n\ninterface ValueFormatterProps {\n isPlaceholder?: boolean;\n wordBreak?: WordBreak;\n size?: AttributeSize;\n}\n\nconst Value = styled.dd<ValueFormatterProps>`\n ${({ size }) => (size === 'sm' ? Typography.TextSmall : Typography.TextMedium)};\n color: ${({ isPlaceholder }) => (isPlaceholder ? Color.TextSecondary : Color.CoreSlate1000)};\n margin: 0;\n text-overflow: ellipsis;\n overflow-x: hidden;\n word-break: ${({ wordBreak }) => (wordBreak ? wordBreak : 'normal')};\n\n ul,\n ol {\n list-style-position: inside;\n }\n\n a {\n color: ${({ theme }) => theme.color.text.brand};\n text-decoration: none;\n\n &:visited {\n color: ${({ theme }) => theme.color.text.brand};\n }\n }\n`;\n\nexport const AttributeValue = ({\n placeholder,\n show,\n redacted,\n value,\n wordBreak,\n size,\n id,\n 'aria-labelledby': ariaLabelledBy,\n}: AttributeValueProps) => {\n const isEmpty = value == null || value === '';\n\n const renderedVal = isEmpty ? (\n placeholder\n ) : (\n <>{!show ? repeat('•', typeof value === 'string' ? value.length : 8) : value}</>\n );\n\n return (\n <Value\n isPlaceholder={isEmpty}\n wordBreak={wordBreak}\n size={size}\n title={typeof value === 'string' ? value : undefined}\n aria-labelledby={ariaLabelledBy}\n id={id}\n >\n {redacted ? <Sticker id={id}>Redacted</Sticker> : renderedVal}\n </Value>\n );\n};\n\nexport interface AttributeProps extends ComponentPropsWithoutRef<'div'> {\n /**\n * Title of the attribute. Rendered as a <dt>.\n */\n label: ReactNode;\n\n /**\n * Value to display. Rendered as a <dd>.\n */\n value?: ReactNode;\n\n /**\n * Will display a \"Redacted\" sticker if there is a value.\n */\n redacted?: boolean;\n\n /**\n * Renders toggleable eye button to the right of the label\n */\n toggleable?: boolean;\n\n /**\n * Text to display in presence of null value.\n */\n placeholder?: string;\n\n /**\n * Word break styling for value.\n */\n wordBreak?: WordBreak;\n\n /**\n * Render a custom label component\n */\n labelComponent?: FC<PropsWithChildren<{ id: string; size?: ParagraphSize }>>;\n\n /**\n * Render a custom value component\n */\n valueComponent?: ComponentType<AttributeValueProps>;\n\n /**\n * Renders a HelperTooltip to display help text to the right of the label.\n */\n helpText?: ReactNode;\n\n /**\n * Custom adornments to display to the right of the label.\n */\n right?: ReactNode;\n\n /**\n * Renders attributes in a tabular layout.\n */\n table?: TableLayoutValue;\n}\n\ntype AttributeContainerProps = {\n horizontal?: boolean;\n table?: TableLayoutValue;\n size?: AttributeSize;\n};\nconst AttributeContainer = styled('div')<AttributeContainerProps>`\n ${({ table, size }) =>\n table &&\n css`\n display: table-row;\n\n > * {\n display: table-cell;\n }\n\n & > ${AttributeLabel} {\n padding: ${Spacing[1]} 0;\n padding-right: ${size === 'sm' ? Spacing[2] : Spacing[3]};\n }\n & > ${Value} {\n padding: ${size === 'sm' ? Spacing[1] : Spacing[2]} 0;\n }\n `}\n\n ${({ horizontal }) =>\n horizontal &&\n css`\n display: grid;\n gap: ${Spacing[4]};\n grid-template-columns: subgrid;\n grid-column: span 2;\n `}\n`;\n\nexport const AttributeLabel = styled(Paragraph).attrs<{ size?: ParagraphSize }>((props) => ({\n size: props.size ?? 'md',\n color: 'tertiary',\n as: 'dt',\n}))`\n margin: 0;\n overflow-wrap: break-word;\n`;\n\nconst RightContainer = styled.span`\n display: inline-block;\n vertical-align: middle;\n margin-left: ${Spacing[2]};\n`;\n\nexport const Attribute = ({\n label,\n value,\n redacted,\n placeholder = '-',\n wordBreak,\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n labelComponent: LabelComponent = AttributeLabel,\n valueComponent: ValueComponent = AttributeValue,\n right,\n helpText,\n toggleable,\n table,\n ...elemProps\n}: AttributeProps) => {\n const attrCtx = useContext(AttributeContext);\n const size = attrCtx?.size ?? 'md';\n const toggleRef = useRef();\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n const valueAsArray = [].concat(value).filter(Boolean);\n const showToggleButton = toggleable && !redacted && valueAsArray.length > 0;\n const state = useToggleState({ defaultSelected: !toggleable });\n const { buttonProps } = useToggleButton(\n {\n 'aria-label': state.isSelected ? `Hide ${label} value` : `Show ${label} value`,\n elementType: 'button',\n },\n state,\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n toggleRef,\n );\n const labelId = useMemo(() => uniqueId('pds_attribute_label__'), []);\n const valueId = useMemo(() => uniqueId('pds_attribute_value__'), []);\n const show = state.isSelected;\n\n useEffect(() => {\n state.setSelected(!toggleable);\n }, [toggleable]);\n\n return (\n <AttributeContainer\n table={table || attrCtx?.table}\n horizontal={attrCtx?.horizontal}\n size={size}\n {...elemProps}\n >\n <LabelComponent id={labelId} aria-details={valueId} size={size}>\n {label}\n {helpText && (\n <RightContainer>\n <HelperTooltip size='sm'>{helpText}</HelperTooltip>\n </RightContainer>\n )}\n {showToggleButton && (\n <RightContainer>\n {/* @ts-expect-error [strict-migration] The following line is not strict; please fix! */}\n <IconButtonContainer {...buttonProps} ref={toggleRef}>\n {show ? <EyeIcon /> : <EyeOffIcon />}\n </IconButtonContainer>\n </RightContainer>\n )}\n {right && <RightContainer>{right}</RightContainer>}\n </LabelComponent>\n <ValueComponent\n id={valueId}\n value={value}\n placeholder={placeholder}\n wordBreak={wordBreak}\n redacted={redacted}\n show={show}\n size={size}\n aria-labelledby={labelId}\n />\n </AttributeContainer>\n );\n};\n\nexport default Attribute;\n","import type { ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nimport { AttributeContext, type AttributeSize, type TableLayoutValue } from './Attribute';\n\ntype AttributeGridProps = {\n children?: ReactNode;\n /**\n * Sets the font size and spacing density for all child Attributes.\n * Defaults to `'md'`.\n */\n size?: AttributeSize;\n} & (\n | {\n /**\n * Set a fixed number of columns for the grid.\n */\n colCount?: number;\n /**\n * Display attributes in a stacked list with label first then value.\n */\n horizontal?: boolean;\n\n table?: never;\n }\n | {\n /**\n * Display attributes in a fixed tabular layout.\n * Set to `full-width` to expand to full width of container.\n */\n table?: TableLayoutValue;\n\n colCount?: never;\n horizontal?: never;\n }\n);\n\ntype AttributeGridComponentProps = {\n colCount?: number;\n horizontal?: boolean;\n table?: TableLayoutValue;\n size?: AttributeSize;\n};\nconst AttributeGridComponent = styled.dl<AttributeGridComponentProps>`\n ${({ colCount, table, horizontal, size }) =>\n table\n ? css`\n display: table;\n ${\n table === 'full-width' &&\n css`\n width: 100%;\n table-layout: fixed;\n border-spacing: 0 ${size === 'sm' ? Spacing[1] : Spacing[2]};\n `\n };\n `\n : css`\n display: grid;\n gap: ${size === 'sm' ? Spacing[2] : Spacing[4]};\n /* If the layout is horizontal we guarentee an even number of columns */\n grid-template-columns: ${\n colCount\n ? `repeat(${colCount}, ${horizontal ? '1fr 2fr' : '1fr'})`\n : `repeat(auto-fit, ${horizontal ? 'minmax(120px, 1fr) minmax(225px, 2fr)' : 'minmax(225px, 1fr)'})`\n };\n `}\n margin: 0;\n\n & + & {\n padding-bottom: ${Spacing[5]};\n }\n`;\n\nconst AttributeGrid = ({ children, horizontal, table, size, ...props }: AttributeGridProps) => {\n return (\n <AttributeGridComponent table={table} horizontal={horizontal} size={size} {...props}>\n <AttributeContext.Provider value={{ horizontal, table, size }}>\n {children}\n </AttributeContext.Provider>\n </AttributeGridComponent>\n );\n};\n\nexport default AttributeGrid;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { t as Badge } from "../../Badge-DEVbRlJX.mjs";
1
+ import { t as Badge } from "../../Badge-Bd_k492g.mjs";
2
2
  export { Badge, Badge as default };
@@ -1,6 +1,6 @@
1
- import { isActive, isFocused, isHovered, isNotDisabled } from "../../lib/pseudoClass.mjs";
2
1
  import { paragraphMixins } from "../../mixins/text.mjs";
3
- import { n as Button } from "../../IconButton-P8w0JDI5.mjs";
2
+ import { isActive, isFocused, isHovered, isNotDisabled } from "../../lib/pseudoClass.mjs";
3
+ import { n as Button } from "../../IconButton-Bi4kdsbV.mjs";
4
4
  import { Color, Spacing } from "@persona/design-tokens";
5
5
  import styled, { css } from "styled-components";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "../../Breadcrumbs-DJ5qqqRD.mjs";
1
+ import { n as BreadcrumbsItemProps, r as BreadcrumbsProps, t as Breadcrumbs } from "../../Breadcrumbs-0e_3v9FF.mjs";
2
2
  export { Breadcrumbs, Breadcrumbs as default, BreadcrumbsItemProps, BreadcrumbsProps };
@@ -1,2 +1,2 @@
1
- import { t as Breadcrumbs } from "../../Breadcrumbs-W8hIhdHD.mjs";
1
+ import { t as Breadcrumbs } from "../../Breadcrumbs-C9udlH48.mjs";
2
2
  export { Breadcrumbs, Breadcrumbs as default };
@@ -1,3 +1,3 @@
1
- import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "../../Button-Vd5O4DUp.mjs";
2
- import { t as IconButton } from "../../IconButton-BHCmHIx5.mjs";
1
+ import { a as SuffixIconContainer, i as StyledButton, n as ButtonChildren, r as ButtonProps, t as Button } from "../../Button-KCl4uRtU.mjs";
2
+ import { t as IconButton } from "../../IconButton-BycIGS3p.mjs";
3
3
  export { Button, Button as default, ButtonChildren, ButtonProps, IconButton, StyledButton, SuffixIconContainer };
@@ -1,2 +1,2 @@
1
- import { a as SuffixIconContainer, i as StyledButton, n as Button, r as ButtonChildren, t as IconButton } from "../../IconButton-P8w0JDI5.mjs";
1
+ import { a as SuffixIconContainer, i as StyledButton, n as Button, r as ButtonChildren, t as IconButton } from "../../IconButton-Bi4kdsbV.mjs";
2
2
  export { Button, Button as default, ButtonChildren, IconButton, StyledButton, SuffixIconContainer };
@@ -1,9 +1,9 @@
1
- import { t as IconButton } from "../../IconButton-P8w0JDI5.mjs";
1
+ import { t as IconButton } from "../../IconButton-Bi4kdsbV.mjs";
2
2
  import { n as useFormField } from "../../useFormField-DhYd6bNn.mjs";
3
3
  import { BorderRadius } from "@persona/design-tokens";
4
+ import { forwardRef } from "react";
4
5
  import styled, { css } from "styled-components";
5
6
  import { jsx } from "react/jsx-runtime";
6
- import { forwardRef } from "react";
7
7
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
8
8
  //#region components/ButtonGroup/ButtonGroup.tsx
9
9
  const OptionItem = styled(IconButton)`
@@ -1,3 +1,3 @@
1
- import { a as Root, i as HeaderProps, n as Header, o as Title, r as HeaderContainer, s as TitleContainer, t as ActionsContainer } from "../../Header-CDTYK1XJ.mjs";
2
- import { n as SectionProps, r as _default, t as CardProps } from "../../Card-CqnG--CU.mjs";
1
+ import { a as Root, i as HeaderProps, n as Header, o as Title, r as HeaderContainer, s as TitleContainer, t as ActionsContainer } from "../../Header-BxTdWg0Q.mjs";
2
+ import { n as SectionProps, r as _default, t as CardProps } from "../../Card-8DuhHQIk.mjs";
3
3
  export { ActionsContainer, CardProps, Header, HeaderContainer, HeaderProps, Root, SectionProps, Title, TitleContainer, _default as default };
@@ -1,2 +1,2 @@
1
- import { a as Root, i as HeaderContainer, n as ActionsContainer, o as Title, r as Header, s as TitleContainer, t as Card_default } from "../../Card-BMCB9eFC.mjs";
1
+ import { a as Root, i as HeaderContainer, n as ActionsContainer, o as Title, r as Header, s as TitleContainer, t as Card_default } from "../../Card-CLTkZLKr.mjs";
2
2
  export { ActionsContainer, Header, HeaderContainer, Root, Title, TitleContainer, Card_default as default };
@@ -1,3 +1,3 @@
1
- import { i as TextAction, n as IconAction, r as MenuAction } from "../../Action-CVtzREhU.mjs";
1
+ import { i as TextAction, n as IconAction, r as MenuAction } from "../../Action-B25g4O9p.mjs";
2
2
  import _default from "../../Card2.mjs";
3
3
  export { _default as Card, _default as default, type IconAction, type MenuAction, type TextAction };
@@ -1,2 +1,2 @@
1
- import { t as Card_default } from "../../CardV2-C0fcOUdp.mjs";
1
+ import { t as Card_default } from "../../CardV2-_GfXFd3d.mjs";
2
2
  export { Card_default as Card, Card_default as default };
@@ -1,2 +1,2 @@
1
- import { n as CheckboxProps, t as Checkbox } from "../../Checkbox-Bm8exUfH.mjs";
1
+ import { n as CheckboxProps, t as Checkbox } from "../../Checkbox-Bmm-r5ei.mjs";
2
2
  export { Checkbox, Checkbox as default, CheckboxProps };
@@ -1,2 +1,2 @@
1
- import { t as Checkbox } from "../../Checkbox-BcuiFvK7.mjs";
1
+ import { t as Checkbox } from "../../Checkbox-D77Rg7La.mjs";
2
2
  export { Checkbox, Checkbox as default };
@@ -1,3 +1,3 @@
1
- import { D as flattenOptions, a as ComboboxOptionGroup, i as ComboboxOption, o as ComboboxOptionsOrGroups, t as CaretButton } from "../../ComboboxBase-BsPf8BZh.mjs";
2
- import { n as ComboboxProps, t as Combobox } from "../../Combobox-BaD0f2Du.mjs";
1
+ import { D as flattenOptions, a as ComboboxOptionGroup, i as ComboboxOption, o as ComboboxOptionsOrGroups, t as CaretButton } from "../../ComboboxBase-B8evOZpf.mjs";
2
+ import { n as ComboboxProps, t as Combobox } from "../../Combobox-DVI8PoKx.mjs";
3
3
  export { CaretButton, Combobox, Combobox as default, ComboboxOption, ComboboxOptionGroup, ComboboxOptionsOrGroups, ComboboxProps, flattenOptions };
@@ -1,2 +1,2 @@
1
- import { n as CaretButton, r as flattenOptions, t as Combobox } from "../../Combobox-B6JyLog8.mjs";
1
+ import { n as CaretButton, r as flattenOptions, t as Combobox } from "../../Combobox-BzqlrMK0.mjs";
2
2
  export { CaretButton, Combobox, Combobox as default, flattenOptions };
@@ -1,3 +1,3 @@
1
1
  import { n as useFormGroup, t as FormGroupContext } from "../../useFormGroup-DWVW7A9f.mjs";
2
- import { t as ConfigFormGroup } from "../../ConfigFormGroup-yhb2jldT.mjs";
2
+ import { t as ConfigFormGroup } from "../../ConfigFormGroup-D1Qma23p.mjs";
3
3
  export { ConfigFormGroup, ConfigFormGroup as default, FormGroupContext, useFormGroup };
@@ -1,16 +1,16 @@
1
- import { n as ControlBarProps, t as ControlBar } from "../../../ControlBar-tOCQnbAl.mjs";
2
- import { n as DataTableCompactBar } from "../../../CompactBar-CXqlVKy7.mjs";
3
- import { i as TableViewConfigurationProps, n as TableViewConfigurationDropdown, r as TableViewConfigurationDropdownProps, t as TableViewConfiguration } from "../../../TableViewConfigurationDropdown-BYPh4dIP.mjs";
4
- import { i as useTableControls, n as TableControlsContextProps, r as TableControlsProvider, t as TableControlsContext } from "../../../TableControlsContext-D_SBFZN1.mjs";
5
- import { a as FilterField, c as FilterOperator, d as FilterSize, f as FilterStateV2, i as EMPTY_FILTER_STATE, l as FilterRule, n as CompoundExpression, o as FilterFieldSource, p as TopLevelFilterRule, r as DateRangeFilterValue, s as FilterFieldType, t as AndGroup, u as FilterRuleValue } from "../../../types-D58IoRx6.mjs";
6
- import { n as RawFieldInfo, r as buildFieldRegistry, t as FieldRegistry } from "../../../FieldRegistry-rqSkjchY.mjs";
7
- import { n as ValueControlResolver, r as resolveValueControl, t as ResolveValueControlOptions } from "../../../value-control-resolver-CE-bqdAl.mjs";
8
- import { t as FilterBar } from "../../../FilterBar-D3LiIy1-.mjs";
9
- import { t as FilterBarProps } from "../../../index-4_B2yRzD.mjs";
10
- import { a as useFilterBarSize } from "../../../filter-size-context-Blw6Sd69.mjs";
11
- import { a as getOperatorsForField, o as getOperatorsForType, r as getDefaultOperatorForType, s as isValuelessOperator } from "../../../operators-Bo31xlc2.mjs";
12
- import { n as UseFilterStateV2Result, r as useFilterStateV2, t as UseFilterStateV2Options } from "../../../useFilterStateV2-DCQghouq.mjs";
13
- import { n as isFilterStateV2, r as pruneToRegistry, t as hasCompleteValue } from "../../../validation-vLh3t2dk.mjs";
14
- import { t as ValueControlProps } from "../../../types-D7ppqnNj.mjs";
15
- import { t as TableControls } from "../../../TableControls-BehR7CKS.mjs";
1
+ import { n as ControlBarProps, t as ControlBar } from "../../../ControlBar-DYrjBDzu.mjs";
2
+ import { n as DataTableCompactBar } from "../../../CompactBar-DfP7Wu1l.mjs";
3
+ import { i as TableViewConfigurationProps, n as TableViewConfigurationDropdown, r as TableViewConfigurationDropdownProps, t as TableViewConfiguration } from "../../../TableViewConfigurationDropdown-Ccxtk5dA.mjs";
4
+ import { i as useTableControls, n as TableControlsContextProps, r as TableControlsProvider, t as TableControlsContext } from "../../../TableControlsContext-BeJ7GHPN.mjs";
5
+ import { a as FilterField, c as FilterOperator, d as FilterSize, f as FilterStateV2, i as EMPTY_FILTER_STATE, l as FilterRule, n as CompoundExpression, o as FilterFieldSource, p as TopLevelFilterRule, r as DateRangeFilterValue, s as FilterFieldType, t as AndGroup, u as FilterRuleValue } from "../../../types-mb3woqzE.mjs";
6
+ import { n as RawFieldInfo, r as buildFieldRegistry, t as FieldRegistry } from "../../../FieldRegistry-COyIA4VU.mjs";
7
+ import { n as ValueControlResolver, r as resolveValueControl, t as ResolveValueControlOptions } from "../../../value-control-resolver-CiGEHQAc.mjs";
8
+ import { t as FilterBar } from "../../../FilterBar-CS2YjiTr.mjs";
9
+ import { t as FilterBarProps } from "../../../index-BC4edEsD.mjs";
10
+ import { a as useFilterBarSize } from "../../../filter-size-context-C1TvrE_O.mjs";
11
+ import { a as getOperatorsForField, o as getOperatorsForType, r as getDefaultOperatorForType, s as isValuelessOperator } from "../../../operators-C_xPzItk.mjs";
12
+ import { n as UseFilterStateV2Result, r as useFilterStateV2, t as UseFilterStateV2Options } from "../../../useFilterStateV2-CGzRyv0i.mjs";
13
+ import { n as isFilterStateV2, r as pruneToRegistry, t as hasCompleteValue } from "../../../validation-BdP2vajF.mjs";
14
+ import { t as ValueControlProps } from "../../../types-BKEwt0uq.mjs";
15
+ import { t as TableControls } from "../../../TableControls-DscP6fyt.mjs";
16
16
  export { AndGroup, CompoundExpression, ControlBar, ControlBarProps, DataTableCompactBar, DateRangeFilterValue, EMPTY_FILTER_STATE, FieldRegistry, FilterBar, FilterBarProps, FilterField, FilterFieldSource, FilterFieldType, FilterOperator, FilterRule, FilterRuleValue, FilterSize, FilterStateV2, RawFieldInfo, ResolveValueControlOptions, TableControlsContext, TableControlsContextProps, TableControlsProvider, TableViewConfiguration, TableViewConfigurationDropdown, TableViewConfigurationDropdownProps, TableViewConfigurationProps, TopLevelFilterRule, UseFilterStateV2Options, UseFilterStateV2Result, ValueControlProps, ValueControlResolver, buildFieldRegistry, TableControls as default, getDefaultOperatorForType, getOperatorsForField, getOperatorsForType, hasCompleteValue, isFilterStateV2, isValuelessOperator, pruneToRegistry, resolveValueControl, useFilterBarSize, useFilterStateV2, useTableControls };
@@ -1,2 +1,2 @@
1
- import { S as DataTableCompactBar, _ as useTableControls, a as hasCompleteValue, b as TableControls, c as EMPTY_FILTER_STATE, d as getDefaultOperatorForType, f as getOperatorsForField, g as TableControlsProvider, h as TableControlsContext, i as useFilterStateV2, l as resolveValueControl, m as isValuelessOperator, n as buildFieldRegistry, o as isFilterStateV2, p as getOperatorsForType, r as FilterBar_default, s as pruneToRegistry, t as FieldRegistry, u as useFilterBarSize, v as TableViewConfiguration, x as ControlBar, y as TableViewConfigurationDropdown } from "../../../TableControls-DVTtNAPo.mjs";
1
+ import { S as DataTableCompactBar, _ as useTableControls, a as hasCompleteValue, b as TableControls, c as EMPTY_FILTER_STATE, d as getDefaultOperatorForType, f as getOperatorsForField, g as TableControlsProvider, h as TableControlsContext, i as useFilterStateV2, l as resolveValueControl, m as isValuelessOperator, n as buildFieldRegistry, o as isFilterStateV2, p as getOperatorsForType, r as FilterBar_default, s as pruneToRegistry, t as FieldRegistry, u as useFilterBarSize, v as TableViewConfiguration, x as ControlBar, y as TableViewConfigurationDropdown } from "../../../TableControls-51NYgFvI.mjs";
2
2
  export { ControlBar, DataTableCompactBar, EMPTY_FILTER_STATE, FieldRegistry, FilterBar_default as FilterBar, TableControlsContext, TableControlsProvider, TableViewConfiguration, TableViewConfigurationDropdown, buildFieldRegistry, TableControls as default, getDefaultOperatorForType, getOperatorsForField, getOperatorsForType, hasCompleteValue, isFilterStateV2, isValuelessOperator, pruneToRegistry, resolveValueControl, useFilterBarSize, useFilterStateV2, useTableControls };
@@ -1,27 +1,27 @@
1
- import { isFocused } from "../../lib/pseudoClass.mjs";
2
- import "../../variables/effect.mjs";
1
+ import { i as Paragraph, o as TabularNumber } from "../../Text-hEoPeOc9.mjs";
3
2
  import "../../variables/transitions.mjs";
4
- import { t as HStack } from "../../Stack-Bl54WmhY.mjs";
5
- import { i as Paragraph, o as TabularNumber } from "../../Text-RcEfNFLx.mjs";
6
- import { t as TextUnderlineTooltip } from "../../Tooltip-BvDbmXak.mjs";
3
+ import { t as TextUnderlineTooltip } from "../../Tooltip-B-DDlRMw.mjs";
4
+ import { isFocused } from "../../lib/pseudoClass.mjs";
7
5
  import { Z_INDICES } from "../../lib/zindex.mjs";
8
- import { n as Button, t as IconButton } from "../../IconButton-P8w0JDI5.mjs";
9
- import { n as DropdownMenu_default } from "../../DropdownMenu-D25WBCah.mjs";
10
- import { a as StickyTH, d as TableTR, f as TableTH, i as StickyTD, n as TableBody, o as TableActionTD, p as TableRow, s as TableCell, t as TableLayout, u as TableTD } from "../../Table-BfontAeY.mjs";
11
- import { n as Sticker } from "../../Sticker-CyGb9dEu.mjs";
12
- import { t as Checkbox } from "../../Checkbox-BcuiFvK7.mjs";
13
- import { t as Pagination_default } from "../../Pagination-BeYukNCj.mjs";
14
- import { t as HoverCopyableField_default } from "../../HoverCopyableField-7TWP0Y1Z.mjs";
15
- import { t as Pii_default } from "../../Pii-QsTrz8wn.mjs";
16
- import { b as TableControls, y as TableViewConfigurationDropdown } from "../../TableControls-DVTtNAPo.mjs";
6
+ import "../../variables/effect.mjs";
7
+ import { t as HStack } from "../../Stack-ckRN7LrP.mjs";
8
+ import { n as Button, t as IconButton } from "../../IconButton-Bi4kdsbV.mjs";
9
+ import { n as DropdownMenu_default } from "../../DropdownMenu-B4f3LNoW.mjs";
10
+ import { a as StickyTH, d as TableTR, f as TableTH, i as StickyTD, n as TableBody, o as TableActionTD, p as TableRow, s as TableCell, t as TableLayout, u as TableTD } from "../../Table-BnYZVCLj.mjs";
11
+ import { n as Sticker } from "../../Sticker-BOlAy2TE.mjs";
12
+ import { t as Checkbox } from "../../Checkbox-D77Rg7La.mjs";
13
+ import { t as Pagination_default } from "../../Pagination-DiaJX5Da.mjs";
14
+ import { t as HoverCopyableField_default } from "../../HoverCopyableField-C8AdtVrT.mjs";
15
+ import { t as Pii_default } from "../../Pii-CSBV5Is7.mjs";
16
+ import { b as TableControls, y as TableViewConfigurationDropdown } from "../../TableControls-51NYgFvI.mjs";
17
17
  import "./types.mjs";
18
18
  import { BorderRadius, Color, Spacing } from "@persona/design-tokens";
19
- import styled, { css } from "styled-components";
20
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
21
- import { Link } from "react-router-dom";
22
19
  import { createElement, useCallback, useEffect, useMemo, useRef, useState } from "react";
20
+ import styled, { css } from "styled-components";
21
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
23
22
  import { ChevronDownIcon, ChevronRightIcon, ImageIcon, MoreIcon, XIcon } from "@persona/icons";
24
23
  import { PlusIcon as PlusIcon$1 } from "@persona/icons/12px";
24
+ import { Link } from "react-router-dom";
25
25
  import { kebabCase } from "lodash";
26
26
  import { createColumnHelper, flexRender, getCoreRowModel, getFilteredRowModel, getMemoOptions, getPaginationRowModel, getSortedRowModel, memo as memo$1, useReactTable } from "@tanstack/react-table";
27
27
  import { DateTime } from "luxon";
@@ -233,14 +233,14 @@ const renderAsPii = (row, config) => {
233
233
  if (!config || !row) return "";
234
234
  const { isRedacted, piiValue, emptyText } = config;
235
235
  const piiValueString = piiValue(row);
236
- if (piiValueString == null || piiValueString.length === 0) return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Paragraph, { children: emptyText }), config.subComponent?.(row)] });
237
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Pii_default, {
236
+ if (piiValueString == null || piiValueString.length === 0) return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Paragraph, { children: emptyText }), config.subComponent?.(row)] });
237
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Pii_default, {
238
238
  isRedacted: isRedacted(row),
239
239
  children: piiValueString
240
240
  }), config.subComponent?.(row)] });
241
241
  };
242
242
  const renderAsLightweightImage = (value, config) => {
243
- if (value == null || value === "" || Array.isArray(value) && value.length === 0) return config?.fallback ? /* @__PURE__ */ jsx(Fragment, { children: config.fallback }) : /* @__PURE__ */ jsx(EmptyImageContainer, {
243
+ if (value == null || value === "" || Array.isArray(value) && value.length === 0) return config?.fallback ? /* @__PURE__ */ jsx(Fragment$1, { children: config.fallback }) : /* @__PURE__ */ jsx(EmptyImageContainer, {
244
244
  $width: config?.width,
245
245
  $height: config?.height,
246
246
  "aria-label": config?.alt ?? "image",
@@ -572,7 +572,7 @@ function useTableColumns({ columns, data, compact, sort, clientSearch, clientFil
572
572
  }
573
573
  }));
574
574
  if (hasRowActions) {
575
- const emptyHeader = () => /* @__PURE__ */ jsx(Fragment, {});
575
+ const emptyHeader = () => /* @__PURE__ */ jsx(Fragment$1, {});
576
576
  tableColumns.push(columnHelper.display({
577
577
  id: "action-col",
578
578
  enableResizing: false,
@@ -1212,7 +1212,7 @@ const DataTable = ({ data, columns, detailComponent, expandColumnVisibility = "a
1212
1212
  $onAddRow: !!onAddRow,
1213
1213
  stickyHeader,
1214
1214
  containerScrollsHorizontally: scrollsHorizontally,
1215
- headerTR: /* @__PURE__ */ jsx(Fragment, { children: tableHeaderGroup.headers.map((header) => {
1215
+ headerTR: /* @__PURE__ */ jsx(Fragment$1, { children: tableHeaderGroup.headers.map((header) => {
1216
1216
  const pinningStyles = getCommonPinningStyles(header.column);
1217
1217
  const isPinned = pinningStyles.position === "sticky";
1218
1218
  const width = header.column.columnDef.meta?.width ? `${header.column.columnDef.meta?.width}px` : void 0;
@@ -1355,14 +1355,14 @@ const DataTable = ({ data, columns, detailComponent, expandColumnVisibility = "a
1355
1355
  else detailContent = rowData._details;
1356
1356
  else if (detailComponent) detailContent = /* @__PURE__ */ jsx(detailComponent, { rowData });
1357
1357
  if (detailContent) {
1358
- const detailCells = initialColumnPinning?.left?.length ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(StickyTD, {
1358
+ const detailCells = initialColumnPinning?.left?.length ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(StickyTD, {
1359
1359
  colSpan: 1,
1360
1360
  left: pinnedColumnLeftOffset
1361
1361
  }), /* @__PURE__ */ jsx(StickyDetailsTD, {
1362
1362
  colSpan: tableHeaderGroup.headers.length - 1,
1363
1363
  left: EXPAND_COLUMN_WIDTH + pinnedColumnLeftOffset,
1364
1364
  children: detailContent
1365
- })] }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(TableTD, { colSpan: 1 }), /* @__PURE__ */ jsx(DetailsTD, {
1365
+ })] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(TableTD, { colSpan: 1 }), /* @__PURE__ */ jsx(DetailsTD, {
1366
1366
  colSpan: tableHeaderGroup.headers.length - 1,
1367
1367
  children: detailContent
1368
1368
  })] });