@persona/design-system 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (708) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +20 -1
  3. package/dist/Attribute.d.mts +1 -1
  4. package/dist/{Badge-DortWowZ.mjs → Badge-DEVbRlJX.mjs} +2 -2
  5. package/dist/{Badge-DortWowZ.mjs.map → Badge-DEVbRlJX.mjs.map} +1 -1
  6. package/dist/{Breadcrumbs-CDZ_Mrcg.mjs → Breadcrumbs-W8hIhdHD.mjs} +3 -3
  7. package/dist/{Breadcrumbs-CDZ_Mrcg.mjs.map → Breadcrumbs-W8hIhdHD.mjs.map} +1 -1
  8. package/dist/{Button-9p469xA1.d.mts → Button-Vd5O4DUp.d.mts} +3 -3
  9. package/dist/Button.d.mts +1 -1
  10. package/dist/CalendarBase.d.mts +1 -1
  11. package/dist/{CardV2-C9z0Hr-c.mjs → CardV2-C0fcOUdp.mjs} +5 -5
  12. package/dist/{CardV2-C9z0Hr-c.mjs.map → CardV2-C0fcOUdp.mjs.map} +1 -1
  13. package/dist/{Checkbox-B0bjZbji.mjs → Checkbox-BcuiFvK7.mjs} +2 -2
  14. package/dist/{Checkbox-B0bjZbji.mjs.map → Checkbox-BcuiFvK7.mjs.map} +1 -1
  15. package/dist/{Combobox-BdqU5WLG.mjs → Combobox-B6JyLog8.mjs} +13 -7
  16. package/dist/Combobox-B6JyLog8.mjs.map +1 -0
  17. package/dist/{Combobox-DBWMHwUt.d.cts → Combobox-BaD0f2Du.d.mts} +3 -3
  18. package/dist/Combobox.d.mts +2 -2
  19. package/dist/{ComboboxBase-BsY7CYoB.d.mts → ComboboxBase-BsPf8BZh.d.mts} +8 -3
  20. package/dist/ComboboxBase.d.mts +1 -1
  21. package/dist/{ComboboxMultiSelect-dNuETspL.d.mts → ComboboxMultiSelect-DhLzCWbz.d.mts} +2 -2
  22. package/dist/ComboboxMultiSelect.d.mts +1 -1
  23. package/dist/{ComboboxSingleSelect-C8KvIJ43.d.mts → ComboboxSingleSelect-P0r5rs_u.d.mts} +3 -3
  24. package/dist/ComboboxSingleSelect.d.mts +1 -1
  25. package/dist/DataTable.d.mts +9 -0
  26. package/dist/{DatePicker-DY1YA_Fu.mjs → DatePicker-Bw79p-Lx.mjs} +5 -5
  27. package/dist/{DatePicker-DY1YA_Fu.mjs.map → DatePicker-Bw79p-Lx.mjs.map} +1 -1
  28. package/dist/{DropdownButton-DKLjJylQ.mjs → DropdownButton-BI3IFJun.mjs} +3 -3
  29. package/dist/{DropdownButton-DKLjJylQ.mjs.map → DropdownButton-BI3IFJun.mjs.map} +1 -1
  30. package/dist/DropdownButton.d.mts +2 -2
  31. package/dist/{DropdownMenu-DGYexb7s.mjs → DropdownMenu-D25WBCah.mjs} +2 -2
  32. package/dist/{DropdownMenu-DGYexb7s.mjs.map → DropdownMenu-D25WBCah.mjs.map} +1 -1
  33. package/dist/{DropdownMenu-CVPanvKA.d.mts → DropdownMenu-D6nfAsi0.d.mts} +2 -2
  34. package/dist/DropdownMenu.d.mts +1 -1
  35. package/dist/{FormControl-B28qa7aQ.mjs → FormControl-CFU9uKF7.mjs} +2 -2
  36. package/dist/{FormControl-B28qa7aQ.mjs.map → FormControl-CFU9uKF7.mjs.map} +1 -1
  37. package/dist/{FormField-PeYYRO4s.mjs → FormField-DdmgSWq4.mjs} +14 -11
  38. package/dist/{FormField-PeYYRO4s.mjs.map → FormField-DdmgSWq4.mjs.map} +1 -1
  39. package/dist/{HoverCopyableField-ClXBg_ld.mjs → HoverCopyableField-7TWP0Y1Z.mjs} +3 -3
  40. package/dist/{HoverCopyableField-ClXBg_ld.mjs.map → HoverCopyableField-7TWP0Y1Z.mjs.map} +1 -1
  41. package/dist/{IconButton-ZcyTFjPn.d.cts → IconButton-BHCmHIx5.d.mts} +2 -2
  42. package/dist/{IconButton-CIWiEsS-.mjs → IconButton-P8w0JDI5.mjs} +2 -2
  43. package/dist/{IconButton-CIWiEsS-.mjs.map → IconButton-P8w0JDI5.mjs.map} +1 -1
  44. package/dist/IconButton.d.mts +1 -1
  45. package/dist/InlineCombobox.d.mts +1 -1
  46. package/dist/InlineInput.d.mts +1 -1
  47. package/dist/{Input-BPClVzwD.d.mts → Input-DMgVyZyq.d.mts} +3 -3
  48. package/dist/{Input-BFI_e7aU.mjs → Input-QC6xla6I.mjs} +2 -2
  49. package/dist/Input-QC6xla6I.mjs.map +1 -0
  50. package/dist/Input.d.mts +1 -1
  51. package/dist/{ListBox-_fcSPynx.d.mts → ListBox-D09N1a5D.d.mts} +8 -3
  52. package/dist/{ListBox-BwID8jpk.mjs → ListBox-TrL3Tb7X.mjs} +13 -7
  53. package/dist/ListBox-TrL3Tb7X.mjs.map +1 -0
  54. package/dist/ListBox.d.mts +1 -1
  55. package/dist/ListBoxField.d.mts +2 -2
  56. package/dist/{LogicRow-BtCKGX_j.d.mts → LogicRow-BcuiSTHN.d.mts} +2 -2
  57. package/dist/LogicRow.d.mts +1 -1
  58. package/dist/MaskedInput.d.mts +1 -1
  59. package/dist/{Menu-CUp_9HgC.d.mts → Menu-Bv8dsrz6.d.mts} +2 -2
  60. package/dist/{Menu-CPYXo61N.mjs → Menu-DmeMgN-i.mjs} +2 -2
  61. package/dist/{Menu-CPYXo61N.mjs.map → Menu-DmeMgN-i.mjs.map} +1 -1
  62. package/dist/Menu.d.mts +1 -1
  63. package/dist/Modal.d.mts +1 -1
  64. package/dist/{PageHeader-D-6W61E_.mjs → PageHeader-jSLud2JI.mjs} +5 -4
  65. package/dist/PageHeader-jSLud2JI.mjs.map +1 -0
  66. package/dist/PageHeader.d.mts +7 -2
  67. package/dist/{Pagination-ztqhywAP.mjs → Pagination-BeYukNCj.mjs} +4 -4
  68. package/dist/{Pagination-ztqhywAP.mjs.map → Pagination-BeYukNCj.mjs.map} +1 -1
  69. package/dist/{Pii-DrrtEz7U.mjs → Pii-QsTrz8wn.mjs} +2 -2
  70. package/dist/{Pii-DrrtEz7U.mjs.map → Pii-QsTrz8wn.mjs.map} +1 -1
  71. package/dist/{Select-2KbtKawr.d.mts → Select-Bk27TgN8.d.mts} +2 -2
  72. package/dist/{Select-cPEORy70.mjs → Select-C1ZoRk39.mjs} +4 -4
  73. package/dist/{Select-cPEORy70.mjs.map → Select-C1ZoRk39.mjs.map} +1 -1
  74. package/dist/Select.d.mts +1 -1
  75. package/dist/{Sticker-DbqKLe33.mjs → Sticker-CyGb9dEu.mjs} +2 -2
  76. package/dist/{Sticker-DbqKLe33.mjs.map → Sticker-CyGb9dEu.mjs.map} +1 -1
  77. package/dist/Tab.d.mts +13 -4
  78. package/dist/{TabBar-zSA8kyE6.mjs → TabBar-Bn8PHHBZ.mjs} +15 -9
  79. package/dist/TabBar-Bn8PHHBZ.mjs.map +1 -0
  80. package/dist/TabBarIconButton.d.mts +1 -1
  81. package/dist/{Table-D8IcpACv.mjs → Table-BfontAeY.mjs} +7 -5
  82. package/dist/{Table-D8IcpACv.mjs.map → Table-BfontAeY.mjs.map} +1 -1
  83. package/dist/{TableBox-luasMC73.mjs → TableBox-bmrKh_ax.mjs} +86 -35
  84. package/dist/TableBox-bmrKh_ax.mjs.map +1 -0
  85. package/dist/TableBox.d.mts +1 -1
  86. package/dist/{TableBoxCell-By1xE6_Q.d.mts → TableBoxCell-CvjLYhTV.d.mts} +21 -7
  87. package/dist/TableBoxCell.d.mts +1 -1
  88. package/dist/TableBoxField.d.mts +7 -4
  89. package/dist/{TableBoxRow-CsRPRPQ-.d.mts → TableBoxRow-BzXECgid.d.mts} +2 -2
  90. package/dist/TableBoxRow.d.mts +1 -1
  91. package/dist/{TableBoxRowActions-DMYOI8Do.d.mts → TableBoxRowActions-BAiFXiCh.d.mts} +2 -2
  92. package/dist/TableBoxRowActions.d.mts +1 -1
  93. package/dist/{TableControls-DHMs7o58.mjs → TableControls-DVTtNAPo.mjs} +11 -11
  94. package/dist/{TableControls-DHMs7o58.mjs.map → TableControls-DVTtNAPo.mjs.map} +1 -1
  95. package/dist/{TableLayout-Ct0kepcA.d.cts → TableLayout-BZeP8qfg.d.mts} +7 -1
  96. package/dist/TableLayout.d.mts +1 -1
  97. package/dist/{Tooltip-C6AR1xT-.mjs → Tooltip-BvDbmXak.mjs} +2 -2
  98. package/dist/{Tooltip-C6AR1xT-.mjs.map → Tooltip-BvDbmXak.mjs.map} +1 -1
  99. package/dist/components/Attribute/index.mjs +3 -3
  100. package/dist/components/Badge/index.mjs +1 -1
  101. package/dist/components/Banner/index.mjs +1 -1
  102. package/dist/components/Breadcrumbs/index.mjs +1 -1
  103. package/dist/components/Button/index.d.mts +2 -2
  104. package/dist/components/Button/index.mjs +1 -1
  105. package/dist/components/ButtonGroup/index.mjs +1 -1
  106. package/dist/components/CardV2/index.mjs +1 -1
  107. package/dist/components/Checkbox/index.mjs +1 -1
  108. package/dist/components/Combobox/index.d.mts +2 -2
  109. package/dist/components/Combobox/index.mjs +1 -1
  110. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  111. package/dist/components/DataTable/index.mjs +14 -12
  112. package/dist/components/DataTable/index.mjs.map +1 -1
  113. package/dist/components/DataTable/types.d.mts +1 -1
  114. package/dist/components/DatePicker/index.mjs +1 -1
  115. package/dist/components/DropdownButton/index.mjs +1 -1
  116. package/dist/components/DropdownMenu/index.d.mts +1 -1
  117. package/dist/components/DropdownMenu/index.mjs +1 -1
  118. package/dist/components/FormControl/index.mjs +1 -1
  119. package/dist/components/FormField/index.d.mts +2 -2
  120. package/dist/components/FormField/index.mjs +2 -2
  121. package/dist/components/HoverCopyableField/index.mjs +1 -1
  122. package/dist/components/ImageTile/index.mjs +4 -4
  123. package/dist/components/Input/index.d.mts +1 -1
  124. package/dist/components/Input/index.mjs +1 -1
  125. package/dist/components/ListBox/index.d.mts +3 -3
  126. package/dist/components/ListBox/index.mjs +1 -1
  127. package/dist/components/MaskedInput/index.mjs +1 -1
  128. package/dist/components/Menu/index.d.mts +1 -1
  129. package/dist/components/Menu/index.mjs +1 -1
  130. package/dist/components/Modal/index.mjs +2 -2
  131. package/dist/components/PageHeader/index.mjs +1 -1
  132. package/dist/components/Pagination/index.mjs +1 -1
  133. package/dist/components/Pii/index.mjs +1 -1
  134. package/dist/components/ProgressBar/index.mjs +1 -1
  135. package/dist/components/Select/index.d.mts +1 -1
  136. package/dist/components/Select/index.mjs +1 -1
  137. package/dist/components/Slider/index.mjs +1 -1
  138. package/dist/components/Sticker/index.mjs +1 -1
  139. package/dist/components/TabBar/index.mjs +1 -1
  140. package/dist/components/Table/index.d.mts +1 -1
  141. package/dist/components/Table/index.mjs +1 -1
  142. package/dist/components/TableBox/index.d.mts +1 -1
  143. package/dist/components/TableBox/index.mjs +1 -1
  144. package/dist/components/TechnicalSticker/index.mjs +1 -1
  145. package/dist/components/Tile/index.mjs +2 -2
  146. package/dist/components/Toast/index.mjs +1 -1
  147. package/dist/components/Tooltip/index.mjs +1 -1
  148. package/dist/fieldPickerOptions.d.mts +1 -1
  149. package/dist/{index-IlwGkCAe2.d.mts → index-BxXTpeUb2.d.mts} +4 -3
  150. package/dist/inputFields.d.mts +4 -4
  151. package/dist/layouts/LayoutLoadingShimmer/index.mjs +3 -3
  152. package/dist/lib/TruncatedTextWithTooltip.mjs +1 -1
  153. package/dist/lib/useScrollOverflow.d.mts +7 -0
  154. package/dist/lib/useScrollOverflow.mjs +22 -1
  155. package/dist/lib/useScrollOverflow.mjs.map +1 -1
  156. package/dist/useComboboxFooterAction.d.mts +1 -1
  157. package/dist/useTruncation.d.mts +1 -1
  158. package/package.json +202 -746
  159. package/skills/ui-authoring/COMPONENTS.md +331 -0
  160. package/skills/ui-authoring/EXAMPLES.md +370 -0
  161. package/skills/ui-authoring/REFERENCE.md +293 -0
  162. package/skills/ui-authoring/SKILL.md +237 -0
  163. package/dist/Action-E90Wvqmc.d.cts +0 -35
  164. package/dist/Action.d.cts +0 -2
  165. package/dist/Attribute.d.cts +0 -107
  166. package/dist/AttributeGrid.d.cts +0 -40
  167. package/dist/Badge-ADPloFsd.cjs +0 -38
  168. package/dist/Badge-ADPloFsd.cjs.map +0 -1
  169. package/dist/Badge.d.cts +0 -25
  170. package/dist/Banner.d.cts +0 -48
  171. package/dist/Breadcrumb-VH-Mwo-M.d.cts +0 -44
  172. package/dist/Breadcrumb.d.cts +0 -2
  173. package/dist/Breadcrumbs-BBREROrw.d.cts +0 -26
  174. package/dist/Breadcrumbs-tR49JqAS.cjs +0 -295
  175. package/dist/Breadcrumbs-tR49JqAS.cjs.map +0 -1
  176. package/dist/Breadcrumbs.d.cts +0 -2
  177. package/dist/Button-C_3p5Xfi.d.cts +0 -101
  178. package/dist/Button.d.cts +0 -2
  179. package/dist/ButtonGroup.d.cts +0 -20
  180. package/dist/Calendar.d.cts +0 -11
  181. package/dist/Card-CJPEmUvg.d.cts +0 -52
  182. package/dist/Card-Csz-PxX0.cjs +0 -248
  183. package/dist/Card-Csz-PxX0.cjs.map +0 -1
  184. package/dist/Card.d.cts +0 -2
  185. package/dist/Card2.d.cts +0 -95
  186. package/dist/CardV2-DJXgFomd.cjs +0 -419
  187. package/dist/CardV2-DJXgFomd.cjs.map +0 -1
  188. package/dist/Checkbox-CmCujC1W.cjs +0 -183
  189. package/dist/Checkbox-CmCujC1W.cjs.map +0 -1
  190. package/dist/Checkbox-Cr8ifm10.d.cts +0 -46
  191. package/dist/Checkbox.d.cts +0 -2
  192. package/dist/CheckboxGroupField.d.cts +0 -24
  193. package/dist/Combobox-BdqU5WLG.mjs.map +0 -1
  194. package/dist/Combobox-C99xluaM.d.mts +0 -11
  195. package/dist/Combobox-COXvmxlM.cjs +0 -1877
  196. package/dist/Combobox-COXvmxlM.cjs.map +0 -1
  197. package/dist/Combobox.d.cts +0 -3
  198. package/dist/ComboboxBase-zZ3tE-dH.d.cts +0 -361
  199. package/dist/ComboboxBase.d.cts +0 -2
  200. package/dist/ComboboxMultiSelect-ioB4Jx7_.d.cts +0 -47
  201. package/dist/ComboboxMultiSelect.d.cts +0 -2
  202. package/dist/ComboboxSingleSelect-Fn80tdhz.d.cts +0 -35
  203. package/dist/ComboboxSingleSelect.d.cts +0 -2
  204. package/dist/CompactBar-BEAK55kh.d.cts +0 -21
  205. package/dist/CompactBar.d.cts +0 -2
  206. package/dist/ConfigFormGroup-m5YdVa9n.cjs +0 -35
  207. package/dist/ConfigFormGroup-m5YdVa9n.cjs.map +0 -1
  208. package/dist/ConfigFormGroup.d.cts +0 -7
  209. package/dist/ControlBar-D8CirAyZ.d.cts +0 -151
  210. package/dist/ControlBar.d.cts +0 -2
  211. package/dist/DataTable.d.cts +0 -372
  212. package/dist/DateField.d.cts +0 -23
  213. package/dist/DatePicker-BlCgFb7g.cjs +0 -948
  214. package/dist/DatePicker-BlCgFb7g.cjs.map +0 -1
  215. package/dist/DatePicker.d.cts +0 -19
  216. package/dist/DateRangePicker.d.cts +0 -52
  217. package/dist/DropdownButton-Dl7IEzAc.cjs +0 -32
  218. package/dist/DropdownButton-Dl7IEzAc.cjs.map +0 -1
  219. package/dist/DropdownButton.d.cts +0 -26
  220. package/dist/DropdownMenu-DnlQqTjs.cjs +0 -74
  221. package/dist/DropdownMenu-DnlQqTjs.cjs.map +0 -1
  222. package/dist/DropdownMenu-FkiManPP.d.cts +0 -75
  223. package/dist/DropdownMenu.d.cts +0 -2
  224. package/dist/ErrorProps-Dxqb4gw_.d.cts +0 -8
  225. package/dist/ErrorProps.d.cts +0 -2
  226. package/dist/FieldRegistry-OX60T3hr.d.cts +0 -122
  227. package/dist/FieldRegistry.d.cts +0 -2
  228. package/dist/FilterBar-YzOh02f9.d.cts +0 -103
  229. package/dist/FilterBar.d.cts +0 -2
  230. package/dist/FloatingActionBar.d.cts +0 -40
  231. package/dist/FormControl-DFp_qcW1.d.cts +0 -60
  232. package/dist/FormControl-MkBXuUF6.cjs +0 -212
  233. package/dist/FormControl-MkBXuUF6.cjs.map +0 -1
  234. package/dist/FormControl.d.cts +0 -2
  235. package/dist/FormField-D3XhxTMg.cjs +0 -550
  236. package/dist/FormField-D3XhxTMg.cjs.map +0 -1
  237. package/dist/FormField-idNLw5PW.d.cts +0 -69
  238. package/dist/FormField.d.cts +0 -2
  239. package/dist/Header-C-WhPOin.d.cts +0 -35
  240. package/dist/Header.d.cts +0 -2
  241. package/dist/HelperTooltip-T-sTGGLD.d.cts +0 -20
  242. package/dist/HelperTooltip.d.cts +0 -2
  243. package/dist/HoverCopyableField-CRkM7o4B.cjs +0 -110
  244. package/dist/HoverCopyableField-CRkM7o4B.cjs.map +0 -1
  245. package/dist/HoverCopyableField.d.cts +0 -16
  246. package/dist/IconButton-BSES_-6g.d.mts +0 -24
  247. package/dist/IconButton-nlgjJQCS.cjs +0 -372
  248. package/dist/IconButton-nlgjJQCS.cjs.map +0 -1
  249. package/dist/IconButton.d.cts +0 -2
  250. package/dist/ImageTile.d.cts +0 -60
  251. package/dist/Input-BFI_e7aU.mjs.map +0 -1
  252. package/dist/Input-BM0DzWEf.d.cts +0 -65
  253. package/dist/Input-OJPQ07TW.cjs +0 -209
  254. package/dist/Input-OJPQ07TW.cjs.map +0 -1
  255. package/dist/Input.d.cts +0 -2
  256. package/dist/InputProps-CoVNpQSj.d.cts +0 -16
  257. package/dist/InputProps.d.cts +0 -2
  258. package/dist/Inserter.d.cts +0 -12
  259. package/dist/LayoutLoadingShimmer.d.cts +0 -20
  260. package/dist/Link.d.cts +0 -43
  261. package/dist/ListBox-BP1eaG7L.cjs +0 -448
  262. package/dist/ListBox-BP1eaG7L.cjs.map +0 -1
  263. package/dist/ListBox-BwID8jpk.mjs.map +0 -1
  264. package/dist/ListBox-QaeRQBSC.d.cts +0 -138
  265. package/dist/ListBox.d.cts +0 -2
  266. package/dist/ListBoxField.d.cts +0 -46
  267. package/dist/LoadingShimmer-Dx6ncVUV.cjs +0 -92
  268. package/dist/LoadingShimmer-Dx6ncVUV.cjs.map +0 -1
  269. package/dist/LoadingShimmer.d.cts +0 -38
  270. package/dist/LogicRow-C6lrFIq0.d.cts +0 -40
  271. package/dist/LogicRow.d.cts +0 -2
  272. package/dist/MaskedInput.d.cts +0 -10
  273. package/dist/MatchHighlight.d.cts +0 -11
  274. package/dist/Menu-fUnbIYr5.d.cts +0 -70
  275. package/dist/Menu-t2q8NrV0.cjs +0 -217
  276. package/dist/Menu-t2q8NrV0.cjs.map +0 -1
  277. package/dist/Menu.d.cts +0 -2
  278. package/dist/MiddleTruncatedText-CO76xIqP.cjs +0 -178
  279. package/dist/MiddleTruncatedText-CO76xIqP.cjs.map +0 -1
  280. package/dist/Modal.d.cts +0 -146
  281. package/dist/PageHeader-CUDnarkt.cjs +0 -77
  282. package/dist/PageHeader-CUDnarkt.cjs.map +0 -1
  283. package/dist/PageHeader-D-6W61E_.mjs.map +0 -1
  284. package/dist/PageHeader.d.cts +0 -35
  285. package/dist/PageSelector-CNnVp3Al.d.cts +0 -30
  286. package/dist/PageSelector.d.cts +0 -2
  287. package/dist/Pagination-2Yo1vRJZ.cjs +0 -236
  288. package/dist/Pagination-2Yo1vRJZ.cjs.map +0 -1
  289. package/dist/Pagination-D04tn-tf.d.cts +0 -39
  290. package/dist/Pagination.d.cts +0 -2
  291. package/dist/Pii-DHTb3ewO.cjs +0 -25
  292. package/dist/Pii-DHTb3ewO.cjs.map +0 -1
  293. package/dist/Pii.d.cts +0 -16
  294. package/dist/Popover-BzgMAhsX.cjs +0 -168
  295. package/dist/Popover-BzgMAhsX.cjs.map +0 -1
  296. package/dist/Popover.d.cts +0 -90
  297. package/dist/ProgressBar.d.cts +0 -83
  298. package/dist/ProgressIndicator.d.cts +0 -64
  299. package/dist/PseudoClassProps-C5jpj6Rp.d.cts +0 -12
  300. package/dist/PseudoClassProps.d.cts +0 -2
  301. package/dist/Radio-BrTzy7-C.cjs +0 -154
  302. package/dist/Radio-BrTzy7-C.cjs.map +0 -1
  303. package/dist/Radio.d.cts +0 -21
  304. package/dist/RadioGroup-CriF2InQ.cjs +0 -57
  305. package/dist/RadioGroup-CriF2InQ.cjs.map +0 -1
  306. package/dist/RadioGroup-XYWjprsv.d.cts +0 -21
  307. package/dist/RadioGroup.d.cts +0 -2
  308. package/dist/SearchInput-CTI59-NW.d.cts +0 -46
  309. package/dist/SearchInput.d.cts +0 -2
  310. package/dist/SectionHeading-C6hjGdK-.d.cts +0 -71
  311. package/dist/SectionHeading.d.cts +0 -2
  312. package/dist/SegmentedControl-C2XZF0ys.cjs +0 -125
  313. package/dist/SegmentedControl-C2XZF0ys.cjs.map +0 -1
  314. package/dist/SegmentedControl-nHIK1ZvR.d.cts +0 -59
  315. package/dist/SegmentedControl.d.cts +0 -2
  316. package/dist/Select-BH3hXMxp.d.cts +0 -83
  317. package/dist/Select-BurtT6bN.cjs +0 -265
  318. package/dist/Select-BurtT6bN.cjs.map +0 -1
  319. package/dist/Select.d.cts +0 -2
  320. package/dist/Slider.d.cts +0 -51
  321. package/dist/SliderRHF.d.cts +0 -18
  322. package/dist/Spacer-B2CerL6e.cjs +0 -20
  323. package/dist/Spacer-B2CerL6e.cjs.map +0 -1
  324. package/dist/Spacer.d.cts +0 -17
  325. package/dist/Spinner-B6bx70yR.cjs +0 -48
  326. package/dist/Spinner-B6bx70yR.cjs.map +0 -1
  327. package/dist/Spinner.d.cts +0 -26
  328. package/dist/Stack-BzVkf3cz.d.cts +0 -47
  329. package/dist/Stack-UeifHn3c.cjs +0 -53
  330. package/dist/Stack-UeifHn3c.cjs.map +0 -1
  331. package/dist/Stack.d.cts +0 -2
  332. package/dist/StatusIndicator.d.cts +0 -82
  333. package/dist/Sticker-CI-XxUmM.d.cts +0 -68
  334. package/dist/Sticker-CIoseh9f.cjs +0 -244
  335. package/dist/Sticker-CIoseh9f.cjs.map +0 -1
  336. package/dist/Sticker.d.cts +0 -2
  337. package/dist/SwatchPicker.d.cts +0 -18
  338. package/dist/Tab.d.cts +0 -26
  339. package/dist/TabBar-PFaDNRw0.cjs +0 -298
  340. package/dist/TabBar-PFaDNRw0.cjs.map +0 -1
  341. package/dist/TabBar-zSA8kyE6.mjs.map +0 -1
  342. package/dist/TabBar.d.cts +0 -33
  343. package/dist/TabBarIconButton.d.cts +0 -10
  344. package/dist/Table-DXqyNohc.d.cts +0 -13
  345. package/dist/Table-DxLvJYWK.cjs +0 -478
  346. package/dist/Table-DxLvJYWK.cjs.map +0 -1
  347. package/dist/Table.d.cts +0 -2
  348. package/dist/TableBody-CxwHmdNb.d.cts +0 -9
  349. package/dist/TableBody.d.cts +0 -2
  350. package/dist/TableBox-CiuXCXyv.cjs +0 -1370
  351. package/dist/TableBox-CiuXCXyv.cjs.map +0 -1
  352. package/dist/TableBox-luasMC73.mjs.map +0 -1
  353. package/dist/TableBox.d.cts +0 -3
  354. package/dist/TableBoxCell-DIMenSwX.d.cts +0 -259
  355. package/dist/TableBoxCell.d.cts +0 -2
  356. package/dist/TableBoxField.d.cts +0 -99
  357. package/dist/TableBoxRow-RNQ6wJLh.d.cts +0 -86
  358. package/dist/TableBoxRow.d.cts +0 -2
  359. package/dist/TableBoxRowActions-CYpoPhYZ.d.cts +0 -57
  360. package/dist/TableBoxRowActions.d.cts +0 -2
  361. package/dist/TableCell.d.cts +0 -2
  362. package/dist/TableControls-BtXK7Ils.cjs +0 -3995
  363. package/dist/TableControls-BtXK7Ils.cjs.map +0 -1
  364. package/dist/TableControls-CLNF0AJG.d.cts +0 -70
  365. package/dist/TableControls.d.cts +0 -2
  366. package/dist/TableControlsContext-DAZx6Rrj.d.cts +0 -21
  367. package/dist/TableControlsContext.d.cts +0 -2
  368. package/dist/TableHead-Ch4Ho3LW.d.cts +0 -12
  369. package/dist/TableHead.d.cts +0 -2
  370. package/dist/TableHeaderCell-Crsa2R2g.d.cts +0 -17
  371. package/dist/TableHeaderCell.d.cts +0 -2
  372. package/dist/TableLayout-nwy094C_.d.mts +0 -19
  373. package/dist/TableLayout.d.cts +0 -2
  374. package/dist/TableRow-DVTPqT4w.d.cts +0 -13
  375. package/dist/TableRow.d.cts +0 -2
  376. package/dist/TableTH.d.cts +0 -2
  377. package/dist/TableViewConfigurationDropdown-CaiOGyrU.d.cts +0 -32
  378. package/dist/TableViewConfigurationDropdown.d.cts +0 -2
  379. package/dist/TechnicalSticker.d.cts +0 -51
  380. package/dist/Text-CrGiWG2E.d.cts +0 -42
  381. package/dist/Text-G9QmYf0P.cjs +0 -95
  382. package/dist/Text-G9QmYf0P.cjs.map +0 -1
  383. package/dist/Text.d.cts +0 -2
  384. package/dist/TextArea-BNiipQDb.cjs +0 -40
  385. package/dist/TextArea-BNiipQDb.cjs.map +0 -1
  386. package/dist/TextArea-CHW9FKM4.d.cts +0 -10
  387. package/dist/TextArea.d.cts +0 -2
  388. package/dist/TextUnderlineTooltip-DMEyOu8C.d.cts +0 -18
  389. package/dist/TextUnderlineTooltip.d.cts +0 -2
  390. package/dist/Tile.d.cts +0 -63
  391. package/dist/Toast.d.cts +0 -23
  392. package/dist/Toggle-Ce-rF8Xp.cjs +0 -174
  393. package/dist/Toggle-Ce-rF8Xp.cjs.map +0 -1
  394. package/dist/Toggle-tbIebQWC.d.cts +0 -54
  395. package/dist/Toggle.d.cts +0 -2
  396. package/dist/Tooltip--eDrrk2r.d.cts +0 -100
  397. package/dist/Tooltip-olP3rdUO.cjs +0 -152
  398. package/dist/Tooltip-olP3rdUO.cjs.map +0 -1
  399. package/dist/Tooltip.d.cts +0 -2
  400. package/dist/TruncatedText-Dit2NJI6.d.cts +0 -18
  401. package/dist/chunk-CKQMccvm.cjs +0 -28
  402. package/dist/components/Attribute/index.cjs +0 -210
  403. package/dist/components/Attribute/index.cjs.map +0 -1
  404. package/dist/components/Attribute/index.d.cts +0 -3
  405. package/dist/components/Badge/index.cjs +0 -7
  406. package/dist/components/Badge/index.d.cts +0 -2
  407. package/dist/components/Banner/index.cjs +0 -99
  408. package/dist/components/Banner/index.cjs.map +0 -1
  409. package/dist/components/Banner/index.d.cts +0 -2
  410. package/dist/components/Breadcrumbs/index.cjs +0 -7
  411. package/dist/components/Breadcrumbs/index.d.cts +0 -2
  412. package/dist/components/Button/index.cjs +0 -11
  413. package/dist/components/Button/index.d.cts +0 -3
  414. package/dist/components/ButtonGroup/index.cjs +0 -112
  415. package/dist/components/ButtonGroup/index.cjs.map +0 -1
  416. package/dist/components/ButtonGroup/index.d.cts +0 -2
  417. package/dist/components/Card/index.cjs +0 -12
  418. package/dist/components/Card/index.d.cts +0 -3
  419. package/dist/components/CardV2/index.cjs +0 -7
  420. package/dist/components/CardV2/index.d.cts +0 -3
  421. package/dist/components/Checkbox/index.cjs +0 -7
  422. package/dist/components/Checkbox/index.d.cts +0 -2
  423. package/dist/components/Combobox/index.cjs +0 -9
  424. package/dist/components/Combobox/index.d.cts +0 -3
  425. package/dist/components/ConfigFormGroup/index.cjs +0 -10
  426. package/dist/components/ConfigFormGroup/index.d.cts +0 -3
  427. package/dist/components/DataTable/TableControls/index.cjs +0 -27
  428. package/dist/components/DataTable/TableControls/index.d.cts +0 -16
  429. package/dist/components/DataTable/index.cjs +0 -1434
  430. package/dist/components/DataTable/index.cjs.map +0 -1
  431. package/dist/components/DataTable/index.d.cts +0 -8
  432. package/dist/components/DataTable/types.cjs +0 -0
  433. package/dist/components/DataTable/types.d.cts +0 -159
  434. package/dist/components/DatePicker/index.cjs +0 -10
  435. package/dist/components/DatePicker/index.d.cts +0 -5
  436. package/dist/components/DropdownButton/index.cjs +0 -7
  437. package/dist/components/DropdownButton/index.d.cts +0 -2
  438. package/dist/components/DropdownMenu/index.cjs +0 -7
  439. package/dist/components/DropdownMenu/index.d.cts +0 -2
  440. package/dist/components/FormControl/index.cjs +0 -15
  441. package/dist/components/FormControl/index.d.cts +0 -3
  442. package/dist/components/FormField/index.cjs +0 -19
  443. package/dist/components/FormField/index.d.cts +0 -6
  444. package/dist/components/HoverCopyableField/index.cjs +0 -2
  445. package/dist/components/HoverCopyableField/index.d.cts +0 -2
  446. package/dist/components/ImageTile/index.cjs +0 -225
  447. package/dist/components/ImageTile/index.cjs.map +0 -1
  448. package/dist/components/ImageTile/index.d.cts +0 -2
  449. package/dist/components/Input/index.cjs +0 -14
  450. package/dist/components/Input/index.cjs.map +0 -1
  451. package/dist/components/Input/index.d.cts +0 -2
  452. package/dist/components/Link/index.cjs +0 -87
  453. package/dist/components/Link/index.cjs.map +0 -1
  454. package/dist/components/Link/index.d.cts +0 -2
  455. package/dist/components/ListBox/index.cjs +0 -8
  456. package/dist/components/ListBox/index.d.cts +0 -4
  457. package/dist/components/LoadingShimmer/index.cjs +0 -6
  458. package/dist/components/LoadingShimmer/index.d.cts +0 -2
  459. package/dist/components/MaskedInput/index.cjs +0 -29
  460. package/dist/components/MaskedInput/index.cjs.map +0 -1
  461. package/dist/components/MaskedInput/index.d.cts +0 -2
  462. package/dist/components/MatchHighlight/index.cjs +0 -31
  463. package/dist/components/MatchHighlight/index.cjs.map +0 -1
  464. package/dist/components/MatchHighlight/index.d.cts +0 -2
  465. package/dist/components/Menu/index.cjs +0 -14
  466. package/dist/components/Menu/index.d.cts +0 -2
  467. package/dist/components/Modal/index.cjs +0 -290
  468. package/dist/components/Modal/index.cjs.map +0 -1
  469. package/dist/components/Modal/index.d.cts +0 -2
  470. package/dist/components/PageHeader/index.cjs +0 -7
  471. package/dist/components/PageHeader/index.d.cts +0 -2
  472. package/dist/components/Pagination/index.cjs +0 -10
  473. package/dist/components/Pagination/index.d.cts +0 -4
  474. package/dist/components/Pii/index.cjs +0 -2
  475. package/dist/components/Pii/index.d.cts +0 -2
  476. package/dist/components/Popover/index.cjs +0 -12
  477. package/dist/components/Popover/index.d.cts +0 -2
  478. package/dist/components/ProgressBar/index.cjs +0 -177
  479. package/dist/components/ProgressBar/index.cjs.map +0 -1
  480. package/dist/components/ProgressBar/index.d.cts +0 -2
  481. package/dist/components/ProgressIndicator/index.cjs +0 -185
  482. package/dist/components/ProgressIndicator/index.cjs.map +0 -1
  483. package/dist/components/ProgressIndicator/index.d.cts +0 -2
  484. package/dist/components/Radio/index.cjs +0 -7
  485. package/dist/components/Radio/index.d.cts +0 -2
  486. package/dist/components/RadioGroup/index.cjs +0 -7
  487. package/dist/components/RadioGroup/index.d.cts +0 -2
  488. package/dist/components/SegmentedControl/index.cjs +0 -8
  489. package/dist/components/SegmentedControl/index.d.cts +0 -2
  490. package/dist/components/Select/index.cjs +0 -9
  491. package/dist/components/Select/index.d.cts +0 -2
  492. package/dist/components/Slider/index.cjs +0 -245
  493. package/dist/components/Slider/index.cjs.map +0 -1
  494. package/dist/components/Slider/index.d.cts +0 -3
  495. package/dist/components/Spacer/index.cjs +0 -2
  496. package/dist/components/Spacer/index.d.cts +0 -2
  497. package/dist/components/Spinner/index.cjs +0 -7
  498. package/dist/components/Spinner/index.d.cts +0 -2
  499. package/dist/components/Stack/index.cjs +0 -8
  500. package/dist/components/Stack/index.d.cts +0 -2
  501. package/dist/components/StatusIndicator/index.cjs +0 -224
  502. package/dist/components/StatusIndicator/index.cjs.map +0 -1
  503. package/dist/components/StatusIndicator/index.d.cts +0 -2
  504. package/dist/components/Sticker/index.cjs +0 -11
  505. package/dist/components/Sticker/index.d.cts +0 -2
  506. package/dist/components/SwatchPicker/index.cjs +0 -63
  507. package/dist/components/SwatchPicker/index.cjs.map +0 -1
  508. package/dist/components/SwatchPicker/index.d.cts +0 -2
  509. package/dist/components/TabBar/index.cjs +0 -11
  510. package/dist/components/TabBar/index.d.cts +0 -4
  511. package/dist/components/Table/index.cjs +0 -21
  512. package/dist/components/Table/index.d.cts +0 -8
  513. package/dist/components/TableBox/index.cjs +0 -7
  514. package/dist/components/TableBox/index.d.cts +0 -3
  515. package/dist/components/TechnicalSticker/index.cjs +0 -239
  516. package/dist/components/TechnicalSticker/index.cjs.map +0 -1
  517. package/dist/components/TechnicalSticker/index.d.cts +0 -2
  518. package/dist/components/Text/index.cjs +0 -8
  519. package/dist/components/Text/index.d.cts +0 -2
  520. package/dist/components/TextArea/index.cjs +0 -7
  521. package/dist/components/TextArea/index.d.cts +0 -2
  522. package/dist/components/Tile/index.cjs +0 -102
  523. package/dist/components/Tile/index.cjs.map +0 -1
  524. package/dist/components/Tile/index.d.cts +0 -2
  525. package/dist/components/Toast/index.cjs +0 -134
  526. package/dist/components/Toast/index.cjs.map +0 -1
  527. package/dist/components/Toast/index.d.cts +0 -2
  528. package/dist/components/Toggle/index.cjs +0 -7
  529. package/dist/components/Toggle/index.d.cts +0 -2
  530. package/dist/components/Tooltip/index.cjs +0 -11
  531. package/dist/components/Tooltip/index.d.cts +0 -4
  532. package/dist/constants-B6c8S033.d.cts +0 -6
  533. package/dist/constants.d.cts +0 -2
  534. package/dist/constants2.d.cts +0 -10
  535. package/dist/filter-size-context-CIw0Zi6r.d.cts +0 -52
  536. package/dist/filter-size-context.d.cts +0 -2
  537. package/dist/helpers.d.cts +0 -76
  538. package/dist/index-BIAn8oQh.d.cts +0 -1
  539. package/dist/index-BL32-cvv.d.cts +0 -1
  540. package/dist/index-BPSCxsMC.d.cts +0 -1
  541. package/dist/index-BR1oNnaF.d.cts +0 -1
  542. package/dist/index-BXpMZvwA.d.cts +0 -1
  543. package/dist/index-BhY1qu3m.d.cts +0 -1
  544. package/dist/index-BlwcRiXv.d.cts +0 -1
  545. package/dist/index-Bw8QVu_o.d.cts +0 -75
  546. package/dist/index-C0NRIDsj2.d.cts +0 -1
  547. package/dist/index-C1ihAKnV.d.cts +0 -1
  548. package/dist/index-C9EIpBh8.d.cts +0 -7
  549. package/dist/index-CDAfh8Ew.d.cts +0 -1
  550. package/dist/index-CFG0_wK4.d.cts +0 -1
  551. package/dist/index-CQ25UCod.d.cts +0 -1
  552. package/dist/index-Cv0jeUQf2.d.cts +0 -1
  553. package/dist/index-CwSIy_W-.d.cts +0 -1
  554. package/dist/index-D-BciAtf.d.cts +0 -1
  555. package/dist/index-D34XP8vp.d.cts +0 -54
  556. package/dist/index-D6CnpA_r.d.cts +0 -1
  557. package/dist/index-D9IqtUDs.d.cts +0 -1
  558. package/dist/index-DFKoAoY2.d.cts +0 -1
  559. package/dist/index-DpEKQcoR.d.cts +0 -1
  560. package/dist/index-_wQ5ClJU.d.cts +0 -1
  561. package/dist/index-dC-i2r_u.d.cts +0 -1
  562. package/dist/index-sQecLSpR.d.cts +0 -1
  563. package/dist/index.cjs +0 -0
  564. package/dist/index.d.cts +0 -2
  565. package/dist/index2.d.cts +0 -2
  566. package/dist/index3.d.cts +0 -4
  567. package/dist/index4.d.cts +0 -11
  568. package/dist/index5.d.cts +0 -1
  569. package/dist/input-DPB0cX2m.d.cts +0 -17
  570. package/dist/inputFields.d.cts +0 -83
  571. package/dist/intersperse-_0nQM5Rb.cjs +0 -26
  572. package/dist/intersperse-_0nQM5Rb.cjs.map +0 -1
  573. package/dist/layouts/LayoutLoadingShimmer/index.cjs +0 -139
  574. package/dist/layouts/LayoutLoadingShimmer/index.cjs.map +0 -1
  575. package/dist/layouts/LayoutLoadingShimmer/index.d.cts +0 -2
  576. package/dist/lib/ConfigContext.cjs +0 -15
  577. package/dist/lib/ConfigContext.cjs.map +0 -1
  578. package/dist/lib/ConfigContext.d.cts +0 -16
  579. package/dist/lib/GlobalStyles.cjs +0 -57
  580. package/dist/lib/GlobalStyles.cjs.map +0 -1
  581. package/dist/lib/GlobalStyles.d.cts +0 -8
  582. package/dist/lib/HeadlessAriaButton.cjs +0 -33
  583. package/dist/lib/HeadlessAriaButton.cjs.map +0 -1
  584. package/dist/lib/HeadlessAriaButton.d.cts +0 -12
  585. package/dist/lib/MiddleTruncatedText.cjs +0 -7
  586. package/dist/lib/MiddleTruncatedText.d.cts +0 -14
  587. package/dist/lib/PDSProvider.cjs +0 -13
  588. package/dist/lib/PDSProvider.cjs.map +0 -1
  589. package/dist/lib/PDSProvider.d.cts +0 -10
  590. package/dist/lib/TruncatedText.cjs +0 -39
  591. package/dist/lib/TruncatedText.cjs.map +0 -1
  592. package/dist/lib/TruncatedText.d.cts +0 -2
  593. package/dist/lib/TruncatedTextWithTooltip.cjs +0 -34
  594. package/dist/lib/TruncatedTextWithTooltip.cjs.map +0 -1
  595. package/dist/lib/TruncatedTextWithTooltip.d.cts +0 -15
  596. package/dist/lib/comboboxHelper.cjs +0 -46
  597. package/dist/lib/comboboxHelper.cjs.map +0 -1
  598. package/dist/lib/comboboxHelper.d.cts +0 -24
  599. package/dist/lib/copyTextToClipboard.cjs +0 -33
  600. package/dist/lib/copyTextToClipboard.cjs.map +0 -1
  601. package/dist/lib/copyTextToClipboard.d.cts +0 -4
  602. package/dist/lib/datePickerHelper.cjs +0 -36
  603. package/dist/lib/datePickerHelper.cjs.map +0 -1
  604. package/dist/lib/datePickerHelper.d.cts +0 -19
  605. package/dist/lib/message.cjs +0 -12
  606. package/dist/lib/message.cjs.map +0 -1
  607. package/dist/lib/message.d.cts +0 -2
  608. package/dist/lib/pseudoClass.cjs +0 -31
  609. package/dist/lib/pseudoClass.cjs.map +0 -1
  610. package/dist/lib/pseudoClass.d.cts +0 -45
  611. package/dist/lib/reorderItems.cjs +0 -38
  612. package/dist/lib/reorderItems.cjs.map +0 -1
  613. package/dist/lib/reorderItems.d.cts +0 -26
  614. package/dist/lib/selectHelper.cjs +0 -22
  615. package/dist/lib/selectHelper.cjs.map +0 -1
  616. package/dist/lib/selectHelper.d.cts +0 -14
  617. package/dist/lib/useControlled.cjs +0 -20
  618. package/dist/lib/useControlled.cjs.map +0 -1
  619. package/dist/lib/useControlled.d.cts +0 -16
  620. package/dist/lib/useIsOverflow.cjs +0 -58
  621. package/dist/lib/useIsOverflow.cjs.map +0 -1
  622. package/dist/lib/useIsOverflow.d.cts +0 -11
  623. package/dist/lib/useOutsideClick.cjs +0 -19
  624. package/dist/lib/useOutsideClick.cjs.map +0 -1
  625. package/dist/lib/useOutsideClick.d.cts +0 -13
  626. package/dist/lib/useScrollOverflow.cjs +0 -61
  627. package/dist/lib/useScrollOverflow.cjs.map +0 -1
  628. package/dist/lib/useScrollOverflow.d.cts +0 -36
  629. package/dist/lib/zindex.cjs +0 -26
  630. package/dist/lib/zindex.cjs.map +0 -1
  631. package/dist/lib/zindex.d.cts +0 -25
  632. package/dist/message-BEgtEjQC.d.cts +0 -9
  633. package/dist/mixins/focus.cjs +0 -39
  634. package/dist/mixins/focus.cjs.map +0 -1
  635. package/dist/mixins/focus.d.cts +0 -11
  636. package/dist/mixins/hoverable.cjs +0 -38
  637. package/dist/mixins/hoverable.cjs.map +0 -1
  638. package/dist/mixins/hoverable.d.cts +0 -16
  639. package/dist/mixins/input.cjs +0 -95
  640. package/dist/mixins/input.cjs.map +0 -1
  641. package/dist/mixins/input.d.cts +0 -2
  642. package/dist/mixins/menuItem.cjs +0 -110
  643. package/dist/mixins/menuItem.cjs.map +0 -1
  644. package/dist/mixins/menuItem.d.cts +0 -30
  645. package/dist/mixins/print/index.cjs +0 -25
  646. package/dist/mixins/print/index.cjs.map +0 -1
  647. package/dist/mixins/print/index.d.cts +0 -11
  648. package/dist/mixins/text.cjs +0 -93
  649. package/dist/mixins/text.cjs.map +0 -1
  650. package/dist/mixins/text.d.cts +0 -2
  651. package/dist/operators-1qE2GpC7.d.cts +0 -43
  652. package/dist/operators.d.cts +0 -2
  653. package/dist/text-PmH5oc61.d.cts +0 -14
  654. package/dist/theme-Cadb1xzQ.d.cts +0 -154
  655. package/dist/theme.cjs +0 -353
  656. package/dist/theme.cjs.map +0 -1
  657. package/dist/theme.d.cts +0 -2
  658. package/dist/types-B_HHNlia.d.cts +0 -158
  659. package/dist/types-CCvc590y.d.cts +0 -45
  660. package/dist/types-CkiXVJeR.d.cts +0 -10
  661. package/dist/types-SYSKcZKW.d.cts +0 -25
  662. package/dist/types.d.cts +0 -2
  663. package/dist/types2.d.cts +0 -2
  664. package/dist/types3.d.cts +0 -2
  665. package/dist/types4.d.cts +0 -2
  666. package/dist/useFilterStateV2-DbPwX5N1.d.cts +0 -93
  667. package/dist/useFilterStateV2.d.cts +0 -2
  668. package/dist/useFormField--Q8ZdpW5.d.cts +0 -30
  669. package/dist/useFormField-BZlArnsI.cjs +0 -37
  670. package/dist/useFormField-BZlArnsI.cjs.map +0 -1
  671. package/dist/useFormField.d.cts +0 -2
  672. package/dist/useFormGroup-Bmnzgq0S.cjs +0 -26
  673. package/dist/useFormGroup-Bmnzgq0S.cjs.map +0 -1
  674. package/dist/useFormGroup.d.cts +0 -18
  675. package/dist/useTableBoxDragAndDrop-DnbUToce.d.cts +0 -69
  676. package/dist/useTableBoxDragAndDrop.d.cts +0 -2
  677. package/dist/useTableColumns.d.cts +0 -72
  678. package/dist/useToggle-DARO917w.cjs +0 -27
  679. package/dist/useToggle-DARO917w.cjs.map +0 -1
  680. package/dist/utilities-mSlaTrjB.d.cts +0 -9
  681. package/dist/utilities.d.cts +0 -2
  682. package/dist/utils/storybook.cjs +0 -12
  683. package/dist/utils/storybook.cjs.map +0 -1
  684. package/dist/utils/testing.cjs +0 -50
  685. package/dist/utils/testing.cjs.map +0 -1
  686. package/dist/utils/testing.d.cts +0 -18
  687. package/dist/validation-CJymv6JE.d.cts +0 -51
  688. package/dist/validation.d.cts +0 -2
  689. package/dist/value-control-resolver-B9p25q3G.d.cts +0 -46
  690. package/dist/value-control-resolver.d.cts +0 -2
  691. package/dist/variables/color.cjs +0 -22
  692. package/dist/variables/color.cjs.map +0 -1
  693. package/dist/variables/color.d.cts +0 -19
  694. package/dist/variables/effect.cjs +0 -27
  695. package/dist/variables/effect.cjs.map +0 -1
  696. package/dist/variables/effect.d.cts +0 -21
  697. package/dist/variables/keyframes.cjs +0 -22
  698. package/dist/variables/keyframes.cjs.map +0 -1
  699. package/dist/variables/keyframes.d.cts +0 -8
  700. package/dist/variables/spacing.cjs +0 -10
  701. package/dist/variables/spacing.cjs.map +0 -1
  702. package/dist/variables/spacing.d.cts +0 -8
  703. package/dist/variables/text.cjs +0 -13
  704. package/dist/variables/text.cjs.map +0 -1
  705. package/dist/variables/text.d.cts +0 -10
  706. package/dist/variables/transitions.cjs +0 -24
  707. package/dist/variables/transitions.cjs.map +0 -1
  708. package/dist/variables/transitions.d.cts +0 -19
@@ -1,448 +0,0 @@
1
- const require_chunk = require("./chunk-CKQMccvm.cjs");
2
- const require_lib_pseudoClass = require("./lib/pseudoClass.cjs");
3
- const require_mixins_text = require("./mixins/text.cjs");
4
- const require_Stack = require("./Stack-UeifHn3c.cjs");
5
- const require_lib_HeadlessAriaButton = require("./lib/HeadlessAriaButton.cjs");
6
- const require_lib_reorderItems = require("./lib/reorderItems.cjs");
7
- const require_lib_zindex = require("./lib/zindex.cjs");
8
- const require_IconButton = require("./IconButton-nlgjJQCS.cjs");
9
- const require_Menu = require("./Menu-t2q8NrV0.cjs");
10
- const require_DropdownMenu = require("./DropdownMenu-DnlQqTjs.cjs");
11
- const require_useFormGroup = require("./useFormGroup-Bmnzgq0S.cjs");
12
- const require_Sticker = require("./Sticker-CIoseh9f.cjs");
13
- const require_Popover = require("./Popover-BzgMAhsX.cjs");
14
- const require_FormControl = require("./FormControl-MkBXuUF6.cjs");
15
- let _persona_design_tokens = require("@persona/design-tokens");
16
- let styled_components = require("styled-components");
17
- styled_components = require_chunk.__toESM(styled_components);
18
- let react_jsx_runtime = require("react/jsx-runtime");
19
- let react_aria_components = require("react-aria-components");
20
- let react = require("react");
21
- let _persona_icons = require("@persona/icons");
22
- let _persona_icons_12px = require("@persona/icons/12px");
23
- let lodash_fp_uniqueId_js = require("lodash/fp/uniqueId.js");
24
- lodash_fp_uniqueId_js = require_chunk.__toESM(lodash_fp_uniqueId_js);
25
- //#region components/ListBox/ListBox.tsx
26
- const ListBoxContext = (0, react.createContext)(null);
27
- /**
28
- * Hook to access ListBox context values (like size) from child components
29
- */
30
- const useListBoxContext = () => {
31
- return (0, react.useContext)(ListBoxContext);
32
- };
33
- const StyledListBox = (0, styled_components.default)(react_aria_components.GridList)`
34
- ${({ $size }) => $size === "sm" ? require_mixins_text.paragraphMixins.sm : require_mixins_text.paragraphMixins.md};
35
-
36
- box-sizing: border-box;
37
- background: ${_persona_design_tokens.Color.BackgroundPrimary};
38
- border-radius: ${_persona_design_tokens.BorderRadius.Md};
39
- border: 1px solid ${_persona_design_tokens.Color.BorderDivider};
40
- padding: ${_persona_design_tokens.Spacing[1]};
41
-
42
- ${({ fullWidth }) => !fullWidth && styled_components.css`
43
- width: 204px;
44
- `}
45
- `;
46
- const StyledDropIndicator = (0, styled_components.default)(react_aria_components.DropIndicator)`
47
- height: 2px;
48
- background: ${({ theme }) => theme.color.text.brand};
49
- `;
50
- const ListBoxEmptyState = styled_components.default.button`
51
- ${({ $size }) => $size === "sm" ? require_mixins_text.paragraphMixins.sm : require_mixins_text.paragraphMixins.md};
52
-
53
- background-color: transparent;
54
- outline: none;
55
- border: none;
56
- padding: ${_persona_design_tokens.Spacing[1]};
57
- color: ${_persona_design_tokens.Color.TextSecondary};
58
- `;
59
- const ListBoxEmptyStateButton = (0, styled_components.default)(ListBoxEmptyState)`
60
- &:hover {
61
- cursor: pointer;
62
- }
63
- `;
64
- const ListBox$1 = ({ children, onAdd, onDelete, emptyText, deleteDisabled, selectedKeys, onSelectionChange, editable = true, size = "md", reorderConfig, items, ...props }) => {
65
- const listBoxRef = (0, react.useRef)(null);
66
- const listBoxId = (0, react.useMemo)(() => (0, lodash_fp_uniqueId_js.default)("listbox-"), []);
67
- const rowDropdownId = `${listBoxId}-row-dropdown`;
68
- const [itemHasActionsOrDelete, setItemHasActionsOrDelete] = (0, react.useState)(false);
69
- const { dragAndDropHooks } = (0, react_aria_components.useDragAndDrop)({
70
- getItems: (keys) => Array.from(keys).map((key) => ({ "text/plain": String(key) })),
71
- getAllowedDropOperations: () => ["move"],
72
- onReorder: (e) => {
73
- if (!reorderConfig || !items) return;
74
- const { onReorder, itemKeyPath } = reorderConfig;
75
- if (!onReorder || !itemKeyPath) return;
76
- const draggedKey = Array.from(e.keys)[0];
77
- if (draggedKey == null) return;
78
- const itemsArr = Array.from(items);
79
- const fromIndex = require_lib_reorderItems.findIndexByKey(itemsArr, itemKeyPath, String(draggedKey));
80
- const targetIndex = require_lib_reorderItems.findIndexByKey(itemsArr, itemKeyPath, String(e.target.key));
81
- if (fromIndex === -1 || targetIndex === -1) return;
82
- const targetIndexAfterRemoval = fromIndex < targetIndex ? targetIndex - 1 : targetIndex;
83
- onReorder(require_lib_reorderItems.moveItemByIndex(itemsArr, fromIndex, e.target.dropPosition === "before" ? targetIndexAfterRemoval : targetIndexAfterRemoval + 1));
84
- },
85
- renderDropIndicator: (target) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledDropIndicator, { target })
86
- });
87
- const handleOutsideClick = (0, react.useCallback)((event) => {
88
- if (!document.querySelector(`[id="${rowDropdownId}"][data-state="open"]`)) return;
89
- const target = event.target;
90
- const isOutsideListBox = listBoxRef.current && !listBoxRef.current.contains(target);
91
- const isOnRowDropdownContent = target.closest(`[id="${rowDropdownId}"]`);
92
- if (isOutsideListBox && !isOnRowDropdownContent && selectedKeys != null && selectedKeys !== "all" && Array.from(selectedKeys).length > 0 && onSelectionChange) onSelectionChange(/* @__PURE__ */ new Set());
93
- }, [
94
- selectedKeys,
95
- onSelectionChange,
96
- rowDropdownId
97
- ]);
98
- (0, react.useEffect)(() => {
99
- document.addEventListener("mousedown", handleOutsideClick);
100
- return () => {
101
- document.removeEventListener("mousedown", handleOutsideClick);
102
- };
103
- }, [handleOutsideClick]);
104
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListBoxContext.Provider, {
105
- value: {
106
- size,
107
- listBoxId,
108
- setItemHasActionsOrDelete
109
- },
110
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.Stack, {
111
- spacing: _persona_design_tokens.Spacing[1],
112
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledListBox, {
113
- ref: listBoxRef,
114
- onSelectionChange,
115
- renderEmptyState: () => onAdd ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListBoxEmptyStateButton, {
116
- as: "button",
117
- onClick: onAdd,
118
- $size: size,
119
- children: emptyText || "Click to add an option"
120
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListBoxEmptyState, {
121
- type: "button",
122
- $size: size,
123
- children: emptyText || "No options."
124
- }),
125
- selectedKeys,
126
- $size: size,
127
- items,
128
- ...itemHasActionsOrDelete && { shouldSelectOnPressUp: true },
129
- ...reorderConfig && { dragAndDropHooks },
130
- ...props,
131
- children
132
- }), editable && (onAdd || onDelete) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.Stack, {
133
- direction: "horizontal",
134
- spacing: _persona_design_tokens.Spacing[1],
135
- children: [onAdd && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.Button, {
136
- size: "sm",
137
- variant: "basic",
138
- width: "auto",
139
- onClick: onAdd,
140
- children: "Add"
141
- }), onDelete && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.Button, {
142
- size: "sm",
143
- variant: "basic",
144
- width: "auto",
145
- onClick: () => onDelete?.(selectedKeys),
146
- disabled: deleteDisabled || selectedKeys == null,
147
- children: "Delete"
148
- })]
149
- })]
150
- })
151
- });
152
- };
153
- const IconButtonWidth = 16;
154
- const BackgroundFadeWidth = parseInt(_persona_design_tokens.Spacing[3]);
155
- const RowActionsContainer = (0, styled_components.default)("div")`
156
- width: ${BackgroundFadeWidth + parseInt(_persona_design_tokens.Spacing[1]) + IconButtonWidth + parseInt(_persona_design_tokens.Spacing[2])}px;
157
- position: absolute;
158
- right: 0;
159
- top: 0;
160
- height: 100%;
161
- padding-right: ${_persona_design_tokens.Spacing[2]};
162
- display: flex;
163
- align-items: center;
164
- justify-content: end;
165
- `;
166
- const StyledItem = (0, styled_components.default)(require_Menu.ListItem)`
167
- position: relative;
168
- padding: ${_persona_design_tokens.Spacing[1]} ${_persona_design_tokens.Spacing[2]};
169
- overflow: hidden;
170
- white-space: nowrap;
171
-
172
- ${RowActionsContainer} {
173
- background: linear-gradient(
174
- to right,
175
- transparent,
176
- ${_persona_design_tokens.Color.BackgroundPrimary} ${BackgroundFadeWidth}px
177
- );
178
- }
179
-
180
- // If both actions and delete are present or only delete is present, hide actions by default, show on hover
181
- ${({ $hasActions, $hasDelete }) => ($hasActions && $hasDelete || !$hasActions && $hasDelete) && styled_components.css`
182
- ${RowActionsContainer} {
183
- opacity: 0;
184
- }
185
- `}
186
-
187
- // increase the width of the row actions container when both actions and delete are present
188
- ${({ $hasActions, $hasDelete }) => $hasActions && $hasDelete && styled_components.css`
189
- ${RowActionsContainer} {
190
- width: ${BackgroundFadeWidth + parseInt(_persona_design_tokens.Spacing[1]) + IconButtonWidth * 2 + parseInt(_persona_design_tokens.Spacing[2])}px;
191
- }
192
- `}
193
-
194
- &${require_lib_pseudoClass.isNotDisabled}${require_lib_pseudoClass.isHovered}:not([data-selected], [data-dragging]),
195
- &${require_lib_pseudoClass.isNotDisabled}${require_lib_pseudoClass.isFocused}:not([data-selected], [data-dragging]),
196
- &[data-hovered]:not([data-selected], [data-dragging]) {
197
- cursor: pointer;
198
- color: ${({ theme }) => theme.color.text.primary};
199
- background-color: ${_persona_design_tokens.Color.BackgroundSecondary};
200
-
201
- ${RowActionsContainer} {
202
- opacity: 1;
203
- background: linear-gradient(
204
- to right,
205
- transparent,
206
- ${_persona_design_tokens.Color.BackgroundSecondary} ${BackgroundFadeWidth}px
207
- );
208
- }
209
- }
210
-
211
- &[data-selected],
212
- &[data-selected]${require_lib_pseudoClass.isFocused}, &[data-selected]:focus,
213
- &${require_lib_pseudoClass.isNotDisabled}${require_lib_pseudoClass.isHovered}[data-selected] {
214
- outline: none;
215
- color: ${({ theme }) => theme.color.text.brand};
216
- background-color: ${({ theme }) => theme.color.background.highlight};
217
-
218
- ${RowActionsContainer} {
219
- opacity: 1;
220
- background: linear-gradient(
221
- to right,
222
- transparent,
223
- ${({ theme }) => theme.color.background.highlight} ${BackgroundFadeWidth}px
224
- );
225
- }
226
- }
227
-
228
- &[data-dragging] {
229
- opacity: 0.5;
230
- background-color: ${_persona_design_tokens.Color.BackgroundPrimary};
231
- }
232
-
233
- .react-aria-Section:not(:first-child) {
234
- margin-top: ${_persona_design_tokens.Spacing[1]};
235
- }
236
- `;
237
- const ContentContainer = styled_components.default.div`
238
- width: 100%;
239
- display: flex;
240
- align-items: center;
241
- gap: ${_persona_design_tokens.Spacing[2]};
242
- `;
243
- const DragHandle = (0, styled_components.default)(require_lib_HeadlessAriaButton.HeadlessAriaButton)`
244
- display: flex;
245
- align-items: center;
246
- `;
247
- const TextContent = styled_components.default.span`
248
- flex: 1;
249
- min-width: 0;
250
- overflow: hidden;
251
- text-overflow: ellipsis;
252
- white-space: nowrap;
253
- `;
254
- const DropdownPopoverHeading = styled_components.default.div`
255
- ${({ $size }) => $size === "md" ? _persona_design_tokens.Typography.TextMediumBold : _persona_design_tokens.Typography.TextSmallBold};
256
- border-bottom: 1px solid ${_persona_design_tokens.Color.BorderHairline};
257
- padding: ${_persona_design_tokens.Spacing[2]} ${_persona_design_tokens.Spacing[3]} ${_persona_design_tokens.Spacing[1]};
258
- `;
259
- const DropdownPopoverContent = (0, styled_components.default)(require_Stack.Stack)`
260
- min-width: var(--radix-popover-trigger-width);
261
- padding: ${_persona_design_tokens.Spacing[3]};
262
-
263
- ${require_FormControl.Container} {
264
- min-width: 0;
265
- }
266
- `;
267
- const DropdownPopoverFooter = styled_components.default.div`
268
- border-top: 1px solid ${_persona_design_tokens.Color.BorderHairline};
269
- padding: ${_persona_design_tokens.Spacing[1]};
270
- `;
271
- const ListBoxItem = ({ children, actions, onDelete, size, dropdownHeadingText, dropdownFormFields, dropdownContent, dropdownFooter, ...props }) => {
272
- const context = useListBoxContext();
273
- const effectiveSize = size ?? context?.size ?? "md";
274
- (0, react.useEffect)(() => {
275
- if (context && (actions || onDelete)) context.setItemHasActionsOrDelete(true);
276
- }, [
277
- context,
278
- actions,
279
- onDelete
280
- ]);
281
- const shouldRenderDropdown = dropdownFormFields || dropdownContent;
282
- const handleDelete = (e) => {
283
- e.preventDefault();
284
- e.stopPropagation();
285
- if (onDelete && props.id != null) onDelete(props.id, e);
286
- };
287
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledItem, {
288
- as: react_aria_components.GridListItem,
289
- $hasActions: actions && actions.length > 0,
290
- $hasDelete: !!onDelete,
291
- textValue: typeof children === "string" ? children : void 0,
292
- size: effectiveSize,
293
- ...props,
294
- children: ({ isSelected, allowsDragging }) => {
295
- const contentWithDragHandle = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ContentContainer, { children: [
296
- allowsDragging && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragHandle, {
297
- slot: "drag",
298
- "aria-label": "Drag to reorder",
299
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.DragIcon, {})
300
- }),
301
- typeof children === "string" || typeof children === "number" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TextContent, { children }) : children,
302
- (onDelete || actions) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(RowActionsContainer, { children: [actions && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DropdownMenu.DropdownMenu_default, {
303
- trigger: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.IconButton, {
304
- "aria-label": "Actions",
305
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons_12px.MoreIcon, {})
306
- }),
307
- align: "start",
308
- portal: true,
309
- children: actions.map((action) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DropdownMenu.DropdownMenu_default.Item, {
310
- ...action,
311
- onClick: action.onClick,
312
- size: effectiveSize,
313
- children: action.label
314
- }, action.label))
315
- }), onDelete && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IconButton.IconButton, {
316
- "aria-label": "Delete",
317
- onClick: handleDelete,
318
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons_12px.XIcon, {})
319
- })] })
320
- ] });
321
- return shouldRenderDropdown ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Popover.Popover_default, {
322
- trigger: contentWithDragHandle,
323
- open: isSelected,
324
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Popover.Popover_default.Card, {
325
- id: `${context?.listBoxId}-row-dropdown`,
326
- noPadding: true,
327
- style: { zIndex: require_lib_zindex.Z_INDICES.modalDropdown },
328
- children: [
329
- dropdownHeadingText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownPopoverHeading, {
330
- $size: effectiveSize,
331
- children: dropdownHeadingText
332
- }),
333
- dropdownFormFields && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownPopoverContent, {
334
- spacing: _persona_design_tokens.Spacing[2],
335
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_useFormGroup.FormGroupContext.Provider, {
336
- value: {
337
- configField: true,
338
- labelTooltipZIndex: require_lib_zindex.Z_INDICES.modalDropdownTooltip
339
- },
340
- children: dropdownFormFields
341
- })
342
- }),
343
- dropdownContent && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownPopoverContent, {
344
- spacing: _persona_design_tokens.Spacing[3],
345
- children: dropdownContent
346
- }),
347
- dropdownFooter && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownPopoverFooter, { children: dropdownFooter })
348
- ]
349
- })
350
- }) : contentWithDragHandle;
351
- }
352
- });
353
- };
354
- const StyledMenuHeading = (0, styled_components.default)(require_Menu.MenuHeading)`
355
- padding: ${_persona_design_tokens.Spacing[1]} ${_persona_design_tokens.Spacing[2]};
356
- `;
357
- const ListBoxHeader = (props) => {
358
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledMenuHeading, {
359
- as: react_aria_components.Header,
360
- ...props
361
- });
362
- };
363
- ListBox$1.Item = ListBoxItem;
364
- ListBox$1.Section = react_aria_components.ListBoxSection;
365
- ListBox$1.Header = ListBoxHeader;
366
- //#endregion
367
- //#region components/ListBox/LogicRow.tsx
368
- const LogicRowSticker = (0, styled_components.default)(require_Sticker.Sticker)`
369
- display: inline;
370
- height: initial;
371
-
372
- ${require_Sticker.StickerContainer}, ${require_Sticker.StickerContentContainer}, ${require_Sticker.StyledTruncatedText} {
373
- display: inline;
374
- }
375
- `;
376
- const LogicListBoxItem = (0, styled_components.default)(ListBox$1.Item)`
377
- padding: 0;
378
-
379
- &[data-selected],
380
- &[data-selected]${require_lib_pseudoClass.isFocused}, &[data-selected]:focus,
381
- &[data-selected]${require_lib_pseudoClass.isHovered}, &[data-selected]:hover,
382
- &[data-selected]:not(:disabled)${require_lib_pseudoClass.isHovered}, &[data-selected]:not(:disabled):hover {
383
- color: ${_persona_design_tokens.Color.TextPrimary};
384
-
385
- ${LogicRowSticker} {
386
- background-color: ${_persona_design_tokens.Color.BackgroundLabelPurple};
387
- }
388
- }
389
-
390
- &:hover:not([data-selected]) {
391
- ${LogicRowSticker} {
392
- background-color: ${_persona_design_tokens.Color.BackgroundLabelGreyHover};
393
- }
394
- }
395
- `;
396
- const LogicRuleContainer = styled_components.default.div`
397
- display: grid;
398
- grid-template-columns: ${({ $hideCondition }) => $hideCondition ? "repeat(3, min-content)" : "32px repeat(3, min-content)"};
399
- grid-gap: 6px;
400
- align-items: baseline;
401
- padding: ${_persona_design_tokens.Spacing[1]};
402
- width: 100%;
403
- ${({ $size }) => $size === "md" ? _persona_design_tokens.Typography.TextMedium : _persona_design_tokens.Typography.TextSmall}
404
- `;
405
- const LogicRow = ({ condition, attributeName, operator, matchLevelName, editable = true, id, onDelete, dropdownHeadingText, dropdownFormFields, size, hideCondition = false, ...listBoxItemProps }) => {
406
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogicListBoxItem, {
407
- id,
408
- disabled: !editable,
409
- onDelete,
410
- dropdownHeadingText,
411
- dropdownFormFields,
412
- ...listBoxItemProps,
413
- size,
414
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(LogicRuleContainer, {
415
- $hideCondition: hideCondition,
416
- $size: size,
417
- children: [!hideCondition && (condition || "\xA0"), attributeName && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
418
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogicRowSticker, {
419
- disabled: !editable,
420
- children: attributeName
421
- }),
422
- operator,
423
- matchLevelName && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogicRowSticker, {
424
- disabled: !editable,
425
- children: matchLevelName
426
- })
427
- ] })]
428
- })
429
- });
430
- };
431
- //#endregion
432
- //#region components/ListBox/index.ts
433
- const ListBox = Object.assign(ListBox$1, { LogicRow });
434
- //#endregion
435
- Object.defineProperty(exports, "ListBox", {
436
- enumerable: true,
437
- get: function() {
438
- return ListBox;
439
- }
440
- });
441
- Object.defineProperty(exports, "useListBoxContext", {
442
- enumerable: true,
443
- get: function() {
444
- return useListBoxContext;
445
- }
446
- });
447
-
448
- //# sourceMappingURL=ListBox-BP1eaG7L.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListBox-BP1eaG7L.cjs","names":["GridList","paragraphMixins","Color","BorderRadius","Spacing","DropIndicator","ListBox","findIndexByKey","moveItemByIndex","Stack","Button","ListItem","isNotDisabled","isHovered","isFocused","HeadlessAriaButton","Typography","FormControlContainer","GridListItem","DragIcon","DropdownMenu","IconButton","MoreIcon","XIcon","Popover","Z_INDICES","FormGroupContext","MenuHeading","Header","Section","Sticker","StickerContainer","StickerContentContainer","StyledTruncatedText","ListBox","isFocused","isHovered","Color","Spacing","Typography","BaseListBox"],"sources":["../components/ListBox/ListBox.tsx","../components/ListBox/LogicRow.tsx","../components/ListBox/index.ts"],"sourcesContent":["import uniqueId from 'lodash/fp/uniqueId';\nimport {\n type ComponentPropsWithoutRef,\n createContext,\n type PropsWithChildren,\n type ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n DropIndicator,\n type DroppableCollectionReorderEvent,\n GridList,\n GridListItem,\n Header,\n ListBoxSection as Section,\n useDragAndDrop,\n} from 'react-aria-components';\nimport styled, { css } from 'styled-components';\n\nimport { BorderRadius, Color, Spacing, Typography } from '@persona/design-tokens';\nimport { DragIcon } from '@persona/icons';\nimport { MoreIcon, XIcon } from '@persona/icons/12px';\nimport Button, { type ButtonProps, IconButton } from 'design-system/components/Button';\nimport { FormGroupContext } from 'design-system/components/ConfigFormGroup/useFormGroup';\nimport DropdownMenu from 'design-system/components/DropdownMenu';\nimport { Container as FormControlContainer } from 'design-system/components/FormControl';\nimport { ListItem, MenuHeading, type MenuItemProps } from 'design-system/components/Menu';\nimport Popover from 'design-system/components/Popover/Popover';\nimport Stack from 'design-system/components/Stack';\nimport { HeadlessAriaButton } from 'design-system/lib/HeadlessAriaButton';\nimport { isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { findIndexByKey, moveItemByIndex } from 'design-system/lib/reorderItems';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\n// Context for sharing ListBox configuration with child items\ninterface ListBoxContextValue {\n size: 'sm' | 'md';\n listBoxId: string;\n setItemHasActionsOrDelete: (value: boolean) => void;\n}\n\nconst ListBoxContext = createContext<ListBoxContextValue | null>(null);\n\n/**\n * Hook to access ListBox context values (like size) from child components\n */\nexport const useListBoxContext = () => {\n return useContext(ListBoxContext);\n};\n\nexport interface ListBoxProps<T extends object> extends Omit<\n ComponentPropsWithoutRef<typeof GridList<T>>,\n 'slot' | 'autoFocus' | 'orientation' | 'shouldFocusWrap' | 'dragAndDropHooks' | 'layout'\n> {\n /**\n * Called when \"Add\" button is clicked. Only renders \"Add\" button if this prop is present.\n */\n onAdd?: ButtonProps['onClick'];\n\n /**\n * Called when \"Delete\" button is clicked. Only renders \"Delete\" button if this prop is present.\n */\n onDelete?: (selectedKeys: ListBoxProps<T>['selectedKeys']) => void;\n\n /**\n * Whether or not delete button should be disabled.\n */\n deleteDisabled?: boolean;\n\n /**\n * Whether or not the Add/Delete buttons should be shown.\n */\n editable?: boolean;\n\n /**\n * Text to display if no options are available.\n */\n emptyText?: string;\n\n /**\n * Whether or not to expand the box to the full width of the container.\n */\n fullWidth?: boolean;\n\n /**\n * When provided, enables drag and drop functionality.\n */\n reorderConfig?: {\n /**\n * Called when items are reordered via drag and drop. Receives the reordered\n * array of items when an item is dropped.\n */\n onReorder: (reorderedItems: T[]) => void;\n /**\n * The name of the property on the item that was passed as the key to\n * `ListBox.Item`. For exanple, if the item is`{ id: '1', name: 'First Item' }`,\n * and you passed ListBox.Item `key={item.id}`, then the `itemKeyPath`\n * should be `'id'`.\n */\n itemKeyPath: string;\n };\n\n /**\n * Size of the list box.\n */\n size?: 'sm' | 'md';\n}\n\nconst StyledListBox = styled(GridList)<{ fullWidth?: boolean; $size?: 'sm' | 'md' }>`\n ${({ $size }) => ($size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n\n box-sizing: border-box;\n background: ${Color.BackgroundPrimary};\n border-radius: ${BorderRadius.Md};\n border: 1px solid ${Color.BorderDivider};\n padding: ${Spacing[1]};\n\n ${({ fullWidth }) =>\n !fullWidth &&\n css`\n width: 204px;\n `}\n`;\n\nconst StyledDropIndicator = styled(DropIndicator)`\n height: 2px;\n background: ${({ theme }) => theme.color.text.brand};\n`;\n\nconst ListBoxEmptyState = styled.button<{ $size?: 'sm' | 'md' }>`\n ${({ $size }) => ($size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n\n background-color: transparent;\n outline: none;\n border: none;\n padding: ${Spacing[1]};\n color: ${Color.TextSecondary};\n`;\n\nconst ListBoxEmptyStateButton = styled(ListBoxEmptyState)`\n &:hover {\n cursor: pointer;\n }\n`;\n\nexport const ListBox = <T extends object>({\n children,\n onAdd,\n onDelete,\n emptyText,\n deleteDisabled,\n selectedKeys,\n onSelectionChange,\n editable = true,\n size = 'md',\n reorderConfig,\n items,\n ...props\n}: PropsWithChildren<ListBoxProps<T>>) => {\n const listBoxRef = useRef<HTMLDivElement>(null);\n const listBoxId = useMemo(() => uniqueId('listbox-'), []);\n const rowDropdownId = `${listBoxId}-row-dropdown`;\n const [itemHasActionsOrDelete, setItemHasActionsOrDelete] = useState(false);\n\n const { dragAndDropHooks } = useDragAndDrop({\n getItems: (keys) =>\n Array.from(keys).map((key) => ({\n 'text/plain': String(key),\n })),\n getAllowedDropOperations: () => ['move'],\n onReorder: (e: DroppableCollectionReorderEvent) => {\n if (!reorderConfig || !items) {\n return;\n }\n const { onReorder, itemKeyPath } = reorderConfig;\n if (!onReorder || !itemKeyPath) {\n return;\n }\n\n const draggedKey = Array.from(e.keys)[0];\n if (draggedKey == null) {\n return;\n }\n\n const itemsArr = Array.from(items);\n const fromIndex = findIndexByKey(itemsArr, itemKeyPath, String(draggedKey));\n const targetIndex = findIndexByKey(itemsArr, itemKeyPath, String(e.target.key));\n if (fromIndex === -1 || targetIndex === -1) {\n return;\n }\n\n // After removing the dragged item, a target that sat after it shifts down by one.\n const targetIndexAfterRemoval = fromIndex < targetIndex ? targetIndex - 1 : targetIndex;\n const toIndex =\n e.target.dropPosition === 'before' ? targetIndexAfterRemoval : targetIndexAfterRemoval + 1;\n\n onReorder(moveItemByIndex(itemsArr, fromIndex, toIndex));\n },\n renderDropIndicator: (target) => <StyledDropIndicator target={target} />,\n });\n\n // If row dropdowns are open, deselect items (which also closes the dropdown) when clicking outside the ListBox\n const handleOutsideClick = useCallback(\n (event: MouseEvent) => {\n const rowDropdownIsOpen = document.querySelector(\n `[id=\"${rowDropdownId}\"][data-state=\"open\"]`,\n );\n if (!rowDropdownIsOpen) {\n return;\n }\n\n const target = event.target as HTMLElement;\n const isOutsideListBox = listBoxRef.current && !listBoxRef.current.contains(target);\n const isOnRowDropdownContent = target.closest(`[id=\"${rowDropdownId}\"]`);\n\n // Only deselect if:\n // 1. Click is outside the ListBox\n // 2. Click is not on popover content\n // 3. There are selected items\n // 4. onSelectionChange is available (to allow deselection)\n if (\n isOutsideListBox &&\n !isOnRowDropdownContent &&\n selectedKeys != null &&\n selectedKeys !== 'all' &&\n Array.from(selectedKeys).length > 0 &&\n onSelectionChange\n ) {\n // Deselect all items when clicking outside (but not on popover content)\n onSelectionChange(new Set());\n }\n },\n [selectedKeys, onSelectionChange, rowDropdownId],\n );\n\n // Set up outside click listener\n useEffect(() => {\n document.addEventListener('mousedown', handleOutsideClick);\n return () => {\n document.removeEventListener('mousedown', handleOutsideClick);\n };\n }, [handleOutsideClick]);\n\n return (\n <ListBoxContext.Provider value={{ size, listBoxId, setItemHasActionsOrDelete }}>\n <Stack spacing={Spacing[1]}>\n <StyledListBox\n ref={listBoxRef}\n onSelectionChange={onSelectionChange}\n renderEmptyState={() =>\n onAdd ? (\n <ListBoxEmptyStateButton as='button' onClick={onAdd} $size={size}>\n {emptyText || 'Click to add an option'}\n </ListBoxEmptyStateButton>\n ) : (\n <ListBoxEmptyState type='button' $size={size}>\n {emptyText || 'No options.'}\n </ListBoxEmptyState>\n )\n }\n selectedKeys={selectedKeys}\n $size={size}\n items={items}\n // Without this, clicking delete triggers item selection (on press down)\n // before the delete/action callback fires (on click/press up)\n {...(itemHasActionsOrDelete && { shouldSelectOnPressUp: true })}\n {...(reorderConfig && { dragAndDropHooks })}\n {...props}\n >\n {children}\n </StyledListBox>\n {editable && (onAdd || onDelete) && (\n <Stack direction='horizontal' spacing={Spacing[1]}>\n {onAdd && (\n <Button size='sm' variant='basic' width='auto' onClick={onAdd}>\n Add\n </Button>\n )}\n {onDelete && (\n <Button\n size='sm'\n variant='basic'\n width='auto'\n onClick={() => onDelete?.(selectedKeys)}\n disabled={deleteDisabled || selectedKeys == null}\n >\n Delete\n </Button>\n )}\n </Stack>\n )}\n </Stack>\n </ListBoxContext.Provider>\n );\n};\n\nconst IconButtonWidth = 16;\nconst BackgroundFadeWidth = parseInt(Spacing[3]);\n\nconst RowActionsContainer = styled('div')`\n width: ${BackgroundFadeWidth + parseInt(Spacing[1]) + IconButtonWidth + parseInt(Spacing[2])}px;\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n padding-right: ${Spacing[2]};\n display: flex;\n align-items: center;\n justify-content: end;\n`;\n\nconst StyledItem = styled(ListItem)<{\n $hasActions?: boolean;\n $hasDelete?: boolean;\n}>`\n position: relative;\n padding: ${Spacing[1]} ${Spacing[2]};\n overflow: hidden;\n white-space: nowrap;\n\n ${RowActionsContainer} {\n background: linear-gradient(\n to right,\n transparent,\n ${Color.BackgroundPrimary} ${BackgroundFadeWidth}px\n );\n }\n\n // If both actions and delete are present or only delete is present, hide actions by default, show on hover\n ${({ $hasActions, $hasDelete }) =>\n (($hasActions && $hasDelete) || (!$hasActions && $hasDelete)) &&\n css`\n ${RowActionsContainer} {\n opacity: 0;\n }\n `}\n\n // increase the width of the row actions container when both actions and delete are present\n ${({ $hasActions, $hasDelete }) =>\n $hasActions &&\n $hasDelete &&\n css`\n ${RowActionsContainer} {\n width: ${\n BackgroundFadeWidth + parseInt(Spacing[1]) + IconButtonWidth * 2 + parseInt(Spacing[2])\n }px;\n }\n `}\n\n &${isNotDisabled}${isHovered}:not([data-selected], [data-dragging]),\n &${isNotDisabled}${isFocused}:not([data-selected], [data-dragging]),\n &[data-hovered]:not([data-selected], [data-dragging]) {\n cursor: pointer;\n color: ${({ theme }) => theme.color.text.primary};\n background-color: ${Color.BackgroundSecondary};\n\n ${RowActionsContainer} {\n opacity: 1;\n background: linear-gradient(\n to right,\n transparent,\n ${Color.BackgroundSecondary} ${BackgroundFadeWidth}px\n );\n }\n }\n\n &[data-selected],\n &[data-selected]${isFocused}, &[data-selected]:focus,\n &${isNotDisabled}${isHovered}[data-selected] {\n outline: none;\n color: ${({ theme }) => theme.color.text.brand};\n background-color: ${({ theme }) => theme.color.background.highlight};\n\n ${RowActionsContainer} {\n opacity: 1;\n background: linear-gradient(\n to right,\n transparent,\n ${({ theme }) => theme.color.background.highlight} ${BackgroundFadeWidth}px\n );\n }\n }\n\n &[data-dragging] {\n opacity: 0.5;\n background-color: ${Color.BackgroundPrimary};\n }\n\n .react-aria-Section:not(:first-child) {\n margin-top: ${Spacing[1]};\n }\n`;\n\nconst ContentContainer = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\n// The drag handle wraps a 16x16 icon in an HTML <button>. Without this, the\n// button inherits the row's line-height and the icon aligns to the text\n// baseline, leaving a descender gap below it — so the icon visually sits\n// above the row's center. Making the button itself a flex container forces\n// the icon to be centered within the button's box.\nconst DragHandle = styled(HeadlessAriaButton)`\n display: flex;\n align-items: center;\n`;\n\nconst TextContent = styled.span`\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst DropdownPopoverHeading = styled.div<{ $size: 'sm' | 'md' }>`\n ${({ $size }) => ($size === 'md' ? Typography.TextMediumBold : Typography.TextSmallBold)};\n border-bottom: 1px solid ${Color.BorderHairline};\n padding: ${Spacing[2]} ${Spacing[3]} ${Spacing[1]};\n`;\n\nconst DropdownPopoverContent = styled(Stack)`\n min-width: var(--radix-popover-trigger-width);\n padding: ${Spacing[3]};\n\n ${FormControlContainer} {\n min-width: 0;\n }\n`;\n\nconst DropdownPopoverFooter = styled.div`\n border-top: 1px solid ${Color.BorderHairline};\n padding: ${Spacing[1]};\n`;\n\nexport interface ListBoxItemProps extends ComponentPropsWithoutRef<typeof GridListItem> {\n /**\n * Actions to display in a dropdown menu.\n * Supports all props from `MenuItem`.\n */\n actions?: Array<\n {\n label: string;\n onClick: () => void;\n } & Omit<MenuItemProps, 'children'>\n >;\n\n /**\n * Called when the delete (X) icon is clicked. Only renders item-level delete icon if this prop is present.\n * Receives the item's id and the click event as parameters.\n */\n onDelete?: (id: string | number, e: React.MouseEvent<HTMLButtonElement>) => void;\n\n /**\n * Size of the list box item.\n */\n size?: 'sm' | 'md';\n\n /**\n * Form fields to be rendered inside a row dropdown popover.\n * The configField prop will be set to true for all fields via FormGroupContext.\n * Dropdown will be opened when the item is selected.\n */\n dropdownFormFields?: ReactNode;\n\n /**\n * Content to be rendered inside the row dropdown popover.\n * Dropdown will be opened when the item is selected.\n */\n dropdownContent?: ReactNode;\n\n /**\n * Optional heading text to display in the row dropdown popover.\n * Either dropdownFormFields or dropdownContent must also be provided,\n * otherwise the dropdown will not be rendered.\n */\n dropdownHeadingText?: string;\n\n /**\n * Footer to be rendered inside the row dropdown popover.\n * Either dropdownFormFields or dropdownContent must also be provided,\n * otherwise the dropdown will not be rendered.\n */\n dropdownFooter?: ReactNode;\n}\n\nconst ListBoxItem = ({\n children,\n actions,\n onDelete,\n size,\n dropdownHeadingText,\n dropdownFormFields,\n dropdownContent,\n dropdownFooter,\n ...props\n}: ListBoxItemProps) => {\n const context = useListBoxContext();\n // Use explicit prop if provided, otherwise fall back to context value, then default to 'md'\n const effectiveSize = size ?? context?.size ?? 'md';\n\n // Update context if this item has actions or onDelete\n useEffect(() => {\n if (context && (actions || onDelete)) {\n context.setItemHasActionsOrDelete(true);\n }\n }, [context, actions, onDelete]);\n\n // Only render dropdown if there are form fields or content provided, not if there's just a header or footer.\n const shouldRenderDropdown = dropdownFormFields || dropdownContent;\n\n const handleDelete = (e: React.MouseEvent<HTMLButtonElement>) => {\n // avoid triggering row selection\n e.preventDefault();\n e.stopPropagation();\n\n if (onDelete && props.id != null) {\n onDelete(props.id, e);\n }\n };\n\n return (\n <StyledItem\n as={GridListItem}\n $hasActions={actions && actions.length > 0}\n $hasDelete={!!onDelete}\n textValue={typeof children === 'string' ? children : undefined}\n size={effectiveSize}\n {...props}\n >\n {({ isSelected, allowsDragging }) => {\n const contentWithDragHandle = (\n <ContentContainer>\n {allowsDragging && (\n <DragHandle slot='drag' aria-label='Drag to reorder'>\n <DragIcon />\n </DragHandle>\n )}\n {typeof children === 'string' || typeof children === 'number' ? (\n <TextContent>{children}</TextContent>\n ) : (\n children\n )}\n {(onDelete || actions) && (\n <RowActionsContainer>\n {actions && (\n <DropdownMenu\n trigger={\n <IconButton aria-label='Actions'>\n <MoreIcon />\n </IconButton>\n }\n align='start'\n portal\n >\n {actions.map((action) => (\n <DropdownMenu.Item\n key={action.label}\n {...action}\n onClick={action.onClick}\n size={effectiveSize}\n >\n {action.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu>\n )}\n {onDelete && (\n <IconButton aria-label='Delete' onClick={handleDelete}>\n <XIcon />\n </IconButton>\n )}\n </RowActionsContainer>\n )}\n </ContentContainer>\n );\n\n return shouldRenderDropdown ? (\n <Popover trigger={contentWithDragHandle} open={isSelected}>\n <Popover.Card\n id={`${context?.listBoxId}-row-dropdown`}\n noPadding\n style={{ zIndex: Z_INDICES.modalDropdown }}\n >\n {dropdownHeadingText && (\n <DropdownPopoverHeading $size={effectiveSize}>\n {dropdownHeadingText}\n </DropdownPopoverHeading>\n )}\n {dropdownFormFields && (\n <DropdownPopoverContent spacing={Spacing[2]}>\n <FormGroupContext.Provider\n value={{\n configField: true,\n labelTooltipZIndex: Z_INDICES.modalDropdownTooltip,\n }}\n >\n {dropdownFormFields}\n </FormGroupContext.Provider>\n </DropdownPopoverContent>\n )}\n {dropdownContent && (\n <DropdownPopoverContent spacing={Spacing[3]}>\n {dropdownContent}\n </DropdownPopoverContent>\n )}\n {dropdownFooter && <DropdownPopoverFooter>{dropdownFooter}</DropdownPopoverFooter>}\n </Popover.Card>\n </Popover>\n ) : (\n contentWithDragHandle\n );\n }}\n </StyledItem>\n );\n};\n\nconst StyledMenuHeading = styled(MenuHeading)`\n padding: ${Spacing[1]} ${Spacing[2]};\n`;\n\nconst ListBoxHeader = (props: ComponentPropsWithoutRef<typeof Header>) => {\n return <StyledMenuHeading as={Header} {...props} />;\n};\n\nListBox.Item = ListBoxItem;\n\nListBox.Section = Section;\n\nListBox.Header = ListBoxHeader;\n\nexport default ListBox;\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport Sticker, {\n StickerContainer,\n StickerContentContainer,\n StyledTruncatedText,\n} from 'design-system/components/Sticker';\nimport { isFocused, isHovered } from 'design-system/lib/pseudoClass';\nimport type { InputSizes } from 'design-system/mixins/input';\n\nimport ListBox, { type ListBoxItemProps } from './ListBox';\n\nconst LogicRowSticker = styled(Sticker)`\n display: inline;\n height: initial;\n\n ${StickerContainer}, ${StickerContentContainer}, ${StyledTruncatedText} {\n display: inline;\n }\n`;\n\nconst LogicListBoxItem = styled(ListBox.Item)`\n padding: 0;\n\n &[data-selected],\n &[data-selected]${isFocused}, &[data-selected]:focus,\n &[data-selected]${isHovered}, &[data-selected]:hover,\n &[data-selected]:not(:disabled)${isHovered}, &[data-selected]:not(:disabled):hover {\n color: ${Color.TextPrimary};\n\n ${LogicRowSticker} {\n background-color: ${Color.BackgroundLabelPurple};\n }\n }\n\n &:hover:not([data-selected]) {\n ${LogicRowSticker} {\n background-color: ${Color.BackgroundLabelGreyHover};\n }\n }\n`;\n\nconst LogicRuleContainer = styled.div<{ $hideCondition?: boolean; $size?: InputSizes }>`\n display: grid;\n grid-template-columns: ${({ $hideCondition }) =>\n $hideCondition ? 'repeat(3, min-content)' : '32px repeat(3, min-content)'};\n grid-gap: 6px;\n align-items: baseline;\n padding: ${Spacing[1]};\n width: 100%;\n ${({ $size }) => ($size === 'md' ? Typography.TextMedium : Typography.TextSmall)}\n`;\n\nexport interface LogicRowProps extends ListBoxItemProps {\n condition: string;\n attributeName?: string;\n operator?: string;\n matchLevelName?: string;\n editable?: boolean;\n id: string | number;\n dropdownHeadingText?: string;\n /** Form fields rendered inside the row dropdown. */\n dropdownFormFields?: ReactNode;\n size?: InputSizes;\n /**\n * Removes the condition column when the surrounding group already communicates\n * the conjunction.\n */\n hideCondition?: boolean;\n}\n\nconst LogicRow = ({\n condition,\n attributeName,\n operator,\n matchLevelName,\n editable = true,\n id,\n onDelete,\n dropdownHeadingText,\n dropdownFormFields,\n size,\n hideCondition = false,\n ...listBoxItemProps\n}: LogicRowProps) => {\n return (\n <LogicListBoxItem\n id={id}\n disabled={!editable}\n onDelete={onDelete}\n dropdownHeadingText={dropdownHeadingText}\n dropdownFormFields={dropdownFormFields}\n {...listBoxItemProps}\n size={size}\n >\n <LogicRuleContainer $hideCondition={hideCondition} $size={size}>\n {!hideCondition && (condition || '\\u00A0')}\n {attributeName && (\n <>\n <LogicRowSticker disabled={!editable}>{attributeName}</LogicRowSticker>\n {operator}\n {matchLevelName && (\n <LogicRowSticker disabled={!editable}>{matchLevelName}</LogicRowSticker>\n )}\n </>\n )}\n </LogicRuleContainer>\n </LogicListBoxItem>\n );\n};\n\nexport default LogicRow;\n","import BaseListBox, { useListBoxContext } from './ListBox';\nimport LogicRow from './LogicRow';\n\nconst ListBox = Object.assign(BaseListBox, { LogicRow });\n\nexport { ListBox, useListBoxContext };\nexport type { ListBoxProps, ListBoxItemProps } from './ListBox';\nexport type { LogicRowProps } from './LogicRow';\n\nexport default ListBox;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListBox-BwID8jpk.mjs","names":["ListBox","Button","FormControlContainer","DropdownMenu","MoreIcon","XIcon","Popover","Section","ListBox","BaseListBox"],"sources":["../components/ListBox/ListBox.tsx","../components/ListBox/LogicRow.tsx","../components/ListBox/index.ts"],"sourcesContent":["import uniqueId from 'lodash/fp/uniqueId';\nimport {\n type ComponentPropsWithoutRef,\n createContext,\n type PropsWithChildren,\n type ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n DropIndicator,\n type DroppableCollectionReorderEvent,\n GridList,\n GridListItem,\n Header,\n ListBoxSection as Section,\n useDragAndDrop,\n} from 'react-aria-components';\nimport styled, { css } from 'styled-components';\n\nimport { BorderRadius, Color, Spacing, Typography } from '@persona/design-tokens';\nimport { DragIcon } from '@persona/icons';\nimport { MoreIcon, XIcon } from '@persona/icons/12px';\nimport Button, { type ButtonProps, IconButton } from 'design-system/components/Button';\nimport { FormGroupContext } from 'design-system/components/ConfigFormGroup/useFormGroup';\nimport DropdownMenu from 'design-system/components/DropdownMenu';\nimport { Container as FormControlContainer } from 'design-system/components/FormControl';\nimport { ListItem, MenuHeading, type MenuItemProps } from 'design-system/components/Menu';\nimport Popover from 'design-system/components/Popover/Popover';\nimport Stack from 'design-system/components/Stack';\nimport { HeadlessAriaButton } from 'design-system/lib/HeadlessAriaButton';\nimport { isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { findIndexByKey, moveItemByIndex } from 'design-system/lib/reorderItems';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\n// Context for sharing ListBox configuration with child items\ninterface ListBoxContextValue {\n size: 'sm' | 'md';\n listBoxId: string;\n setItemHasActionsOrDelete: (value: boolean) => void;\n}\n\nconst ListBoxContext = createContext<ListBoxContextValue | null>(null);\n\n/**\n * Hook to access ListBox context values (like size) from child components\n */\nexport const useListBoxContext = () => {\n return useContext(ListBoxContext);\n};\n\nexport interface ListBoxProps<T extends object> extends Omit<\n ComponentPropsWithoutRef<typeof GridList<T>>,\n 'slot' | 'autoFocus' | 'orientation' | 'shouldFocusWrap' | 'dragAndDropHooks' | 'layout'\n> {\n /**\n * Called when \"Add\" button is clicked. Only renders \"Add\" button if this prop is present.\n */\n onAdd?: ButtonProps['onClick'];\n\n /**\n * Called when \"Delete\" button is clicked. Only renders \"Delete\" button if this prop is present.\n */\n onDelete?: (selectedKeys: ListBoxProps<T>['selectedKeys']) => void;\n\n /**\n * Whether or not delete button should be disabled.\n */\n deleteDisabled?: boolean;\n\n /**\n * Whether or not the Add/Delete buttons should be shown.\n */\n editable?: boolean;\n\n /**\n * Text to display if no options are available.\n */\n emptyText?: string;\n\n /**\n * Whether or not to expand the box to the full width of the container.\n */\n fullWidth?: boolean;\n\n /**\n * When provided, enables drag and drop functionality.\n */\n reorderConfig?: {\n /**\n * Called when items are reordered via drag and drop. Receives the reordered\n * array of items when an item is dropped.\n */\n onReorder: (reorderedItems: T[]) => void;\n /**\n * The name of the property on the item that was passed as the key to\n * `ListBox.Item`. For exanple, if the item is`{ id: '1', name: 'First Item' }`,\n * and you passed ListBox.Item `key={item.id}`, then the `itemKeyPath`\n * should be `'id'`.\n */\n itemKeyPath: string;\n };\n\n /**\n * Size of the list box.\n */\n size?: 'sm' | 'md';\n}\n\nconst StyledListBox = styled(GridList)<{ fullWidth?: boolean; $size?: 'sm' | 'md' }>`\n ${({ $size }) => ($size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n\n box-sizing: border-box;\n background: ${Color.BackgroundPrimary};\n border-radius: ${BorderRadius.Md};\n border: 1px solid ${Color.BorderDivider};\n padding: ${Spacing[1]};\n\n ${({ fullWidth }) =>\n !fullWidth &&\n css`\n width: 204px;\n `}\n`;\n\nconst StyledDropIndicator = styled(DropIndicator)`\n height: 2px;\n background: ${({ theme }) => theme.color.text.brand};\n`;\n\nconst ListBoxEmptyState = styled.button<{ $size?: 'sm' | 'md' }>`\n ${({ $size }) => ($size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n\n background-color: transparent;\n outline: none;\n border: none;\n padding: ${Spacing[1]};\n color: ${Color.TextSecondary};\n`;\n\nconst ListBoxEmptyStateButton = styled(ListBoxEmptyState)`\n &:hover {\n cursor: pointer;\n }\n`;\n\nexport const ListBox = <T extends object>({\n children,\n onAdd,\n onDelete,\n emptyText,\n deleteDisabled,\n selectedKeys,\n onSelectionChange,\n editable = true,\n size = 'md',\n reorderConfig,\n items,\n ...props\n}: PropsWithChildren<ListBoxProps<T>>) => {\n const listBoxRef = useRef<HTMLDivElement>(null);\n const listBoxId = useMemo(() => uniqueId('listbox-'), []);\n const rowDropdownId = `${listBoxId}-row-dropdown`;\n const [itemHasActionsOrDelete, setItemHasActionsOrDelete] = useState(false);\n\n const { dragAndDropHooks } = useDragAndDrop({\n getItems: (keys) =>\n Array.from(keys).map((key) => ({\n 'text/plain': String(key),\n })),\n getAllowedDropOperations: () => ['move'],\n onReorder: (e: DroppableCollectionReorderEvent) => {\n if (!reorderConfig || !items) {\n return;\n }\n const { onReorder, itemKeyPath } = reorderConfig;\n if (!onReorder || !itemKeyPath) {\n return;\n }\n\n const draggedKey = Array.from(e.keys)[0];\n if (draggedKey == null) {\n return;\n }\n\n const itemsArr = Array.from(items);\n const fromIndex = findIndexByKey(itemsArr, itemKeyPath, String(draggedKey));\n const targetIndex = findIndexByKey(itemsArr, itemKeyPath, String(e.target.key));\n if (fromIndex === -1 || targetIndex === -1) {\n return;\n }\n\n // After removing the dragged item, a target that sat after it shifts down by one.\n const targetIndexAfterRemoval = fromIndex < targetIndex ? targetIndex - 1 : targetIndex;\n const toIndex =\n e.target.dropPosition === 'before' ? targetIndexAfterRemoval : targetIndexAfterRemoval + 1;\n\n onReorder(moveItemByIndex(itemsArr, fromIndex, toIndex));\n },\n renderDropIndicator: (target) => <StyledDropIndicator target={target} />,\n });\n\n // If row dropdowns are open, deselect items (which also closes the dropdown) when clicking outside the ListBox\n const handleOutsideClick = useCallback(\n (event: MouseEvent) => {\n const rowDropdownIsOpen = document.querySelector(\n `[id=\"${rowDropdownId}\"][data-state=\"open\"]`,\n );\n if (!rowDropdownIsOpen) {\n return;\n }\n\n const target = event.target as HTMLElement;\n const isOutsideListBox = listBoxRef.current && !listBoxRef.current.contains(target);\n const isOnRowDropdownContent = target.closest(`[id=\"${rowDropdownId}\"]`);\n\n // Only deselect if:\n // 1. Click is outside the ListBox\n // 2. Click is not on popover content\n // 3. There are selected items\n // 4. onSelectionChange is available (to allow deselection)\n if (\n isOutsideListBox &&\n !isOnRowDropdownContent &&\n selectedKeys != null &&\n selectedKeys !== 'all' &&\n Array.from(selectedKeys).length > 0 &&\n onSelectionChange\n ) {\n // Deselect all items when clicking outside (but not on popover content)\n onSelectionChange(new Set());\n }\n },\n [selectedKeys, onSelectionChange, rowDropdownId],\n );\n\n // Set up outside click listener\n useEffect(() => {\n document.addEventListener('mousedown', handleOutsideClick);\n return () => {\n document.removeEventListener('mousedown', handleOutsideClick);\n };\n }, [handleOutsideClick]);\n\n return (\n <ListBoxContext.Provider value={{ size, listBoxId, setItemHasActionsOrDelete }}>\n <Stack spacing={Spacing[1]}>\n <StyledListBox\n ref={listBoxRef}\n onSelectionChange={onSelectionChange}\n renderEmptyState={() =>\n onAdd ? (\n <ListBoxEmptyStateButton as='button' onClick={onAdd} $size={size}>\n {emptyText || 'Click to add an option'}\n </ListBoxEmptyStateButton>\n ) : (\n <ListBoxEmptyState type='button' $size={size}>\n {emptyText || 'No options.'}\n </ListBoxEmptyState>\n )\n }\n selectedKeys={selectedKeys}\n $size={size}\n items={items}\n // Without this, clicking delete triggers item selection (on press down)\n // before the delete/action callback fires (on click/press up)\n {...(itemHasActionsOrDelete && { shouldSelectOnPressUp: true })}\n {...(reorderConfig && { dragAndDropHooks })}\n {...props}\n >\n {children}\n </StyledListBox>\n {editable && (onAdd || onDelete) && (\n <Stack direction='horizontal' spacing={Spacing[1]}>\n {onAdd && (\n <Button size='sm' variant='basic' width='auto' onClick={onAdd}>\n Add\n </Button>\n )}\n {onDelete && (\n <Button\n size='sm'\n variant='basic'\n width='auto'\n onClick={() => onDelete?.(selectedKeys)}\n disabled={deleteDisabled || selectedKeys == null}\n >\n Delete\n </Button>\n )}\n </Stack>\n )}\n </Stack>\n </ListBoxContext.Provider>\n );\n};\n\nconst IconButtonWidth = 16;\nconst BackgroundFadeWidth = parseInt(Spacing[3]);\n\nconst RowActionsContainer = styled('div')`\n width: ${BackgroundFadeWidth + parseInt(Spacing[1]) + IconButtonWidth + parseInt(Spacing[2])}px;\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n padding-right: ${Spacing[2]};\n display: flex;\n align-items: center;\n justify-content: end;\n`;\n\nconst StyledItem = styled(ListItem)<{\n $hasActions?: boolean;\n $hasDelete?: boolean;\n}>`\n position: relative;\n padding: ${Spacing[1]} ${Spacing[2]};\n overflow: hidden;\n white-space: nowrap;\n\n ${RowActionsContainer} {\n background: linear-gradient(\n to right,\n transparent,\n ${Color.BackgroundPrimary} ${BackgroundFadeWidth}px\n );\n }\n\n // If both actions and delete are present or only delete is present, hide actions by default, show on hover\n ${({ $hasActions, $hasDelete }) =>\n (($hasActions && $hasDelete) || (!$hasActions && $hasDelete)) &&\n css`\n ${RowActionsContainer} {\n opacity: 0;\n }\n `}\n\n // increase the width of the row actions container when both actions and delete are present\n ${({ $hasActions, $hasDelete }) =>\n $hasActions &&\n $hasDelete &&\n css`\n ${RowActionsContainer} {\n width: ${\n BackgroundFadeWidth + parseInt(Spacing[1]) + IconButtonWidth * 2 + parseInt(Spacing[2])\n }px;\n }\n `}\n\n &${isNotDisabled}${isHovered}:not([data-selected], [data-dragging]),\n &${isNotDisabled}${isFocused}:not([data-selected], [data-dragging]),\n &[data-hovered]:not([data-selected], [data-dragging]) {\n cursor: pointer;\n color: ${({ theme }) => theme.color.text.primary};\n background-color: ${Color.BackgroundSecondary};\n\n ${RowActionsContainer} {\n opacity: 1;\n background: linear-gradient(\n to right,\n transparent,\n ${Color.BackgroundSecondary} ${BackgroundFadeWidth}px\n );\n }\n }\n\n &[data-selected],\n &[data-selected]${isFocused}, &[data-selected]:focus,\n &${isNotDisabled}${isHovered}[data-selected] {\n outline: none;\n color: ${({ theme }) => theme.color.text.brand};\n background-color: ${({ theme }) => theme.color.background.highlight};\n\n ${RowActionsContainer} {\n opacity: 1;\n background: linear-gradient(\n to right,\n transparent,\n ${({ theme }) => theme.color.background.highlight} ${BackgroundFadeWidth}px\n );\n }\n }\n\n &[data-dragging] {\n opacity: 0.5;\n background-color: ${Color.BackgroundPrimary};\n }\n\n .react-aria-Section:not(:first-child) {\n margin-top: ${Spacing[1]};\n }\n`;\n\nconst ContentContainer = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\n// The drag handle wraps a 16x16 icon in an HTML <button>. Without this, the\n// button inherits the row's line-height and the icon aligns to the text\n// baseline, leaving a descender gap below it — so the icon visually sits\n// above the row's center. Making the button itself a flex container forces\n// the icon to be centered within the button's box.\nconst DragHandle = styled(HeadlessAriaButton)`\n display: flex;\n align-items: center;\n`;\n\nconst TextContent = styled.span`\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst DropdownPopoverHeading = styled.div<{ $size: 'sm' | 'md' }>`\n ${({ $size }) => ($size === 'md' ? Typography.TextMediumBold : Typography.TextSmallBold)};\n border-bottom: 1px solid ${Color.BorderHairline};\n padding: ${Spacing[2]} ${Spacing[3]} ${Spacing[1]};\n`;\n\nconst DropdownPopoverContent = styled(Stack)`\n min-width: var(--radix-popover-trigger-width);\n padding: ${Spacing[3]};\n\n ${FormControlContainer} {\n min-width: 0;\n }\n`;\n\nconst DropdownPopoverFooter = styled.div`\n border-top: 1px solid ${Color.BorderHairline};\n padding: ${Spacing[1]};\n`;\n\nexport interface ListBoxItemProps extends ComponentPropsWithoutRef<typeof GridListItem> {\n /**\n * Actions to display in a dropdown menu.\n * Supports all props from `MenuItem`.\n */\n actions?: Array<\n {\n label: string;\n onClick: () => void;\n } & Omit<MenuItemProps, 'children'>\n >;\n\n /**\n * Called when the delete (X) icon is clicked. Only renders item-level delete icon if this prop is present.\n * Receives the item's id and the click event as parameters.\n */\n onDelete?: (id: string | number, e: React.MouseEvent<HTMLButtonElement>) => void;\n\n /**\n * Size of the list box item.\n */\n size?: 'sm' | 'md';\n\n /**\n * Form fields to be rendered inside a row dropdown popover.\n * The configField prop will be set to true for all fields via FormGroupContext.\n * Dropdown will be opened when the item is selected.\n */\n dropdownFormFields?: ReactNode;\n\n /**\n * Content to be rendered inside the row dropdown popover.\n * Dropdown will be opened when the item is selected.\n */\n dropdownContent?: ReactNode;\n\n /**\n * Optional heading text to display in the row dropdown popover.\n * Either dropdownFormFields or dropdownContent must also be provided,\n * otherwise the dropdown will not be rendered.\n */\n dropdownHeadingText?: string;\n\n /**\n * Footer to be rendered inside the row dropdown popover.\n * Either dropdownFormFields or dropdownContent must also be provided,\n * otherwise the dropdown will not be rendered.\n */\n dropdownFooter?: ReactNode;\n}\n\nconst ListBoxItem = ({\n children,\n actions,\n onDelete,\n size,\n dropdownHeadingText,\n dropdownFormFields,\n dropdownContent,\n dropdownFooter,\n ...props\n}: ListBoxItemProps) => {\n const context = useListBoxContext();\n // Use explicit prop if provided, otherwise fall back to context value, then default to 'md'\n const effectiveSize = size ?? context?.size ?? 'md';\n\n // Update context if this item has actions or onDelete\n useEffect(() => {\n if (context && (actions || onDelete)) {\n context.setItemHasActionsOrDelete(true);\n }\n }, [context, actions, onDelete]);\n\n // Only render dropdown if there are form fields or content provided, not if there's just a header or footer.\n const shouldRenderDropdown = dropdownFormFields || dropdownContent;\n\n const handleDelete = (e: React.MouseEvent<HTMLButtonElement>) => {\n // avoid triggering row selection\n e.preventDefault();\n e.stopPropagation();\n\n if (onDelete && props.id != null) {\n onDelete(props.id, e);\n }\n };\n\n return (\n <StyledItem\n as={GridListItem}\n $hasActions={actions && actions.length > 0}\n $hasDelete={!!onDelete}\n textValue={typeof children === 'string' ? children : undefined}\n size={effectiveSize}\n {...props}\n >\n {({ isSelected, allowsDragging }) => {\n const contentWithDragHandle = (\n <ContentContainer>\n {allowsDragging && (\n <DragHandle slot='drag' aria-label='Drag to reorder'>\n <DragIcon />\n </DragHandle>\n )}\n {typeof children === 'string' || typeof children === 'number' ? (\n <TextContent>{children}</TextContent>\n ) : (\n children\n )}\n {(onDelete || actions) && (\n <RowActionsContainer>\n {actions && (\n <DropdownMenu\n trigger={\n <IconButton aria-label='Actions'>\n <MoreIcon />\n </IconButton>\n }\n align='start'\n portal\n >\n {actions.map((action) => (\n <DropdownMenu.Item\n key={action.label}\n {...action}\n onClick={action.onClick}\n size={effectiveSize}\n >\n {action.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu>\n )}\n {onDelete && (\n <IconButton aria-label='Delete' onClick={handleDelete}>\n <XIcon />\n </IconButton>\n )}\n </RowActionsContainer>\n )}\n </ContentContainer>\n );\n\n return shouldRenderDropdown ? (\n <Popover trigger={contentWithDragHandle} open={isSelected}>\n <Popover.Card\n id={`${context?.listBoxId}-row-dropdown`}\n noPadding\n style={{ zIndex: Z_INDICES.modalDropdown }}\n >\n {dropdownHeadingText && (\n <DropdownPopoverHeading $size={effectiveSize}>\n {dropdownHeadingText}\n </DropdownPopoverHeading>\n )}\n {dropdownFormFields && (\n <DropdownPopoverContent spacing={Spacing[2]}>\n <FormGroupContext.Provider\n value={{\n configField: true,\n labelTooltipZIndex: Z_INDICES.modalDropdownTooltip,\n }}\n >\n {dropdownFormFields}\n </FormGroupContext.Provider>\n </DropdownPopoverContent>\n )}\n {dropdownContent && (\n <DropdownPopoverContent spacing={Spacing[3]}>\n {dropdownContent}\n </DropdownPopoverContent>\n )}\n {dropdownFooter && <DropdownPopoverFooter>{dropdownFooter}</DropdownPopoverFooter>}\n </Popover.Card>\n </Popover>\n ) : (\n contentWithDragHandle\n );\n }}\n </StyledItem>\n );\n};\n\nconst StyledMenuHeading = styled(MenuHeading)`\n padding: ${Spacing[1]} ${Spacing[2]};\n`;\n\nconst ListBoxHeader = (props: ComponentPropsWithoutRef<typeof Header>) => {\n return <StyledMenuHeading as={Header} {...props} />;\n};\n\nListBox.Item = ListBoxItem;\n\nListBox.Section = Section;\n\nListBox.Header = ListBoxHeader;\n\nexport default ListBox;\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport Sticker, {\n StickerContainer,\n StickerContentContainer,\n StyledTruncatedText,\n} from 'design-system/components/Sticker';\nimport { isFocused, isHovered } from 'design-system/lib/pseudoClass';\nimport type { InputSizes } from 'design-system/mixins/input';\n\nimport ListBox, { type ListBoxItemProps } from './ListBox';\n\nconst LogicRowSticker = styled(Sticker)`\n display: inline;\n height: initial;\n\n ${StickerContainer}, ${StickerContentContainer}, ${StyledTruncatedText} {\n display: inline;\n }\n`;\n\nconst LogicListBoxItem = styled(ListBox.Item)`\n padding: 0;\n\n &[data-selected],\n &[data-selected]${isFocused}, &[data-selected]:focus,\n &[data-selected]${isHovered}, &[data-selected]:hover,\n &[data-selected]:not(:disabled)${isHovered}, &[data-selected]:not(:disabled):hover {\n color: ${Color.TextPrimary};\n\n ${LogicRowSticker} {\n background-color: ${Color.BackgroundLabelPurple};\n }\n }\n\n &:hover:not([data-selected]) {\n ${LogicRowSticker} {\n background-color: ${Color.BackgroundLabelGreyHover};\n }\n }\n`;\n\nconst LogicRuleContainer = styled.div<{ $hideCondition?: boolean; $size?: InputSizes }>`\n display: grid;\n grid-template-columns: ${({ $hideCondition }) =>\n $hideCondition ? 'repeat(3, min-content)' : '32px repeat(3, min-content)'};\n grid-gap: 6px;\n align-items: baseline;\n padding: ${Spacing[1]};\n width: 100%;\n ${({ $size }) => ($size === 'md' ? Typography.TextMedium : Typography.TextSmall)}\n`;\n\nexport interface LogicRowProps extends ListBoxItemProps {\n condition: string;\n attributeName?: string;\n operator?: string;\n matchLevelName?: string;\n editable?: boolean;\n id: string | number;\n dropdownHeadingText?: string;\n /** Form fields rendered inside the row dropdown. */\n dropdownFormFields?: ReactNode;\n size?: InputSizes;\n /**\n * Removes the condition column when the surrounding group already communicates\n * the conjunction.\n */\n hideCondition?: boolean;\n}\n\nconst LogicRow = ({\n condition,\n attributeName,\n operator,\n matchLevelName,\n editable = true,\n id,\n onDelete,\n dropdownHeadingText,\n dropdownFormFields,\n size,\n hideCondition = false,\n ...listBoxItemProps\n}: LogicRowProps) => {\n return (\n <LogicListBoxItem\n id={id}\n disabled={!editable}\n onDelete={onDelete}\n dropdownHeadingText={dropdownHeadingText}\n dropdownFormFields={dropdownFormFields}\n {...listBoxItemProps}\n size={size}\n >\n <LogicRuleContainer $hideCondition={hideCondition} $size={size}>\n {!hideCondition && (condition || '\\u00A0')}\n {attributeName && (\n <>\n <LogicRowSticker disabled={!editable}>{attributeName}</LogicRowSticker>\n {operator}\n {matchLevelName && (\n <LogicRowSticker disabled={!editable}>{matchLevelName}</LogicRowSticker>\n )}\n </>\n )}\n </LogicRuleContainer>\n </LogicListBoxItem>\n );\n};\n\nexport default LogicRow;\n","import BaseListBox, { useListBoxContext } from './ListBox';\nimport LogicRow from './LogicRow';\n\nconst ListBox = Object.assign(BaseListBox, { LogicRow });\n\nexport { ListBox, useListBoxContext };\nexport type { ListBoxProps, ListBoxItemProps } from './ListBox';\nexport type { LogicRowProps } from './LogicRow';\n\nexport default ListBox;\n"],"mappings":"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"}