@persona/design-system 0.1.5-pre.4

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 (897) hide show
  1. package/CHANGELOG.md +461 -0
  2. package/LICENSE +77 -0
  3. package/README.md +9 -0
  4. package/dist/Action-B10lxofb.d.mts +35 -0
  5. package/dist/Action-uduFOh2m.d.cts +35 -0
  6. package/dist/Action.d.cts +2 -0
  7. package/dist/Action.d.mts +2 -0
  8. package/dist/Attribute.d.cts +107 -0
  9. package/dist/Attribute.d.mts +107 -0
  10. package/dist/AttributeGrid.d.cts +40 -0
  11. package/dist/AttributeGrid.d.mts +41 -0
  12. package/dist/Badge-BqLnhb4n.mjs +34 -0
  13. package/dist/Badge-BqLnhb4n.mjs.map +1 -0
  14. package/dist/Badge-BwAZD9BH.cjs +41 -0
  15. package/dist/Badge-BwAZD9BH.cjs.map +1 -0
  16. package/dist/Badge.d.cts +25 -0
  17. package/dist/Badge.d.mts +25 -0
  18. package/dist/Banner.d.cts +48 -0
  19. package/dist/Banner.d.mts +48 -0
  20. package/dist/Button-C_3p5Xfi.d.cts +101 -0
  21. package/dist/Button-DqDLGURJ.d.mts +101 -0
  22. package/dist/Button.d.cts +2 -0
  23. package/dist/Button.d.mts +2 -0
  24. package/dist/ButtonGroup.d.cts +20 -0
  25. package/dist/ButtonGroup.d.mts +20 -0
  26. package/dist/Calendar.d.cts +11 -0
  27. package/dist/Calendar.d.mts +12 -0
  28. package/dist/CalendarBase.d.mts +12 -0
  29. package/dist/CalendarCell.d.mts +18 -0
  30. package/dist/CalendarGrid.d.mts +18 -0
  31. package/dist/Card-CcU9cKCd.d.mts +52 -0
  32. package/dist/Card-CrQL0hXm.d.cts +52 -0
  33. package/dist/Card-CyCKL-M5.cjs +248 -0
  34. package/dist/Card-CyCKL-M5.cjs.map +1 -0
  35. package/dist/Card-DeJSt5ys.mjs +205 -0
  36. package/dist/Card-DeJSt5ys.mjs.map +1 -0
  37. package/dist/Card.d.cts +2 -0
  38. package/dist/Card.d.mts +2 -0
  39. package/dist/Card2.d.cts +95 -0
  40. package/dist/Card2.d.mts +96 -0
  41. package/dist/Checkbox-BWJNAP27.d.mts +46 -0
  42. package/dist/Checkbox-BmjK0Wac.d.cts +46 -0
  43. package/dist/Checkbox-C5bGcb-r.mjs +176 -0
  44. package/dist/Checkbox-C5bGcb-r.mjs.map +1 -0
  45. package/dist/Checkbox-D4nv7eNs.cjs +183 -0
  46. package/dist/Checkbox-D4nv7eNs.cjs.map +1 -0
  47. package/dist/Checkbox.d.cts +2 -0
  48. package/dist/Checkbox.d.mts +2 -0
  49. package/dist/CheckboxGroupField.d.cts +24 -0
  50. package/dist/CheckboxGroupField.d.mts +25 -0
  51. package/dist/Combobox-B_-swcix.mjs +1672 -0
  52. package/dist/Combobox-B_-swcix.mjs.map +1 -0
  53. package/dist/Combobox-B_oe33Re.cjs +1692 -0
  54. package/dist/Combobox-B_oe33Re.cjs.map +1 -0
  55. package/dist/Combobox-DjbJYK_u.d.mts +11 -0
  56. package/dist/Combobox.d.cts +12 -0
  57. package/dist/Combobox.d.mts +3 -0
  58. package/dist/ComboboxBase-D2wypeXf.d.cts +320 -0
  59. package/dist/ComboboxBase-INya0Csa.d.mts +320 -0
  60. package/dist/ComboboxBase.d.cts +2 -0
  61. package/dist/ComboboxBase.d.mts +2 -0
  62. package/dist/ComboboxMultiSelect-Dn8cRZ6Z.d.cts +47 -0
  63. package/dist/ComboboxMultiSelect-Dq9DGH8S.d.mts +47 -0
  64. package/dist/ComboboxMultiSelect.d.cts +2 -0
  65. package/dist/ComboboxMultiSelect.d.mts +2 -0
  66. package/dist/ComboboxSingleSelect-D8YM7GKP.d.cts +35 -0
  67. package/dist/ComboboxSingleSelect-WwBJRb0e.d.mts +35 -0
  68. package/dist/ComboboxSingleSelect.d.cts +2 -0
  69. package/dist/ComboboxSingleSelect.d.mts +2 -0
  70. package/dist/ConfigFormGroup.d.cts +7 -0
  71. package/dist/ConfigFormGroup.d.mts +7 -0
  72. package/dist/DateField-Bwe_0qm9.d.cts +24 -0
  73. package/dist/DateField-Chko9oLb.d.mts +24 -0
  74. package/dist/DateField.d.cts +2 -0
  75. package/dist/DateField.d.mts +2 -0
  76. package/dist/DatePicker.d.cts +19 -0
  77. package/dist/DatePicker.d.mts +19 -0
  78. package/dist/DateRangePicker.d.cts +46 -0
  79. package/dist/DateRangePicker.d.mts +47 -0
  80. package/dist/DropdownButton-DO4NqvWR.cjs +33 -0
  81. package/dist/DropdownButton-DO4NqvWR.cjs.map +1 -0
  82. package/dist/DropdownButton-k9kEcexu.mjs +27 -0
  83. package/dist/DropdownButton-k9kEcexu.mjs.map +1 -0
  84. package/dist/DropdownButton.d.cts +26 -0
  85. package/dist/DropdownButton.d.mts +26 -0
  86. package/dist/DropdownMenu-BTk--LWo.mjs +60 -0
  87. package/dist/DropdownMenu-BTk--LWo.mjs.map +1 -0
  88. package/dist/DropdownMenu-Bm2QqLEq.d.cts +75 -0
  89. package/dist/DropdownMenu-D2fzpkX2.cjs +74 -0
  90. package/dist/DropdownMenu-D2fzpkX2.cjs.map +1 -0
  91. package/dist/DropdownMenu-rWgROxQe.d.mts +75 -0
  92. package/dist/DropdownMenu.d.cts +2 -0
  93. package/dist/DropdownMenu.d.mts +2 -0
  94. package/dist/ErrorProps-DLdVsYlk.d.cts +8 -0
  95. package/dist/ErrorProps-DYUKygmd.d.mts +8 -0
  96. package/dist/ErrorProps.d.cts +2 -0
  97. package/dist/ErrorProps.d.mts +2 -0
  98. package/dist/FormControl-BXHqI_2D.mjs +168 -0
  99. package/dist/FormControl-BXHqI_2D.mjs.map +1 -0
  100. package/dist/FormControl-CM7wTn1P.d.mts +60 -0
  101. package/dist/FormControl-DiR2e7Od.cjs +212 -0
  102. package/dist/FormControl-DiR2e7Od.cjs.map +1 -0
  103. package/dist/FormControl-KkeIYuBa.d.cts +60 -0
  104. package/dist/FormControl.d.cts +2 -0
  105. package/dist/FormControl.d.mts +2 -0
  106. package/dist/FormField-19ownwjH.d.cts +69 -0
  107. package/dist/FormField-CdMru4s5.d.mts +69 -0
  108. package/dist/FormField.d.cts +2 -0
  109. package/dist/FormField.d.mts +2 -0
  110. package/dist/Header-D8oDtnIL.d.cts +35 -0
  111. package/dist/Header-t1plnZc0.d.mts +35 -0
  112. package/dist/Header.d.cts +2 -0
  113. package/dist/Header.d.mts +2 -0
  114. package/dist/HelperTooltip-Cd7I0Ucq.d.mts +20 -0
  115. package/dist/HelperTooltip-oXdyk2At.d.cts +20 -0
  116. package/dist/HelperTooltip.d.cts +2 -0
  117. package/dist/HelperTooltip.d.mts +2 -0
  118. package/dist/IconButton-B1ZL8BqW.cjs +372 -0
  119. package/dist/IconButton-B1ZL8BqW.cjs.map +1 -0
  120. package/dist/IconButton-C28qxOdi.mjs +341 -0
  121. package/dist/IconButton-C28qxOdi.mjs.map +1 -0
  122. package/dist/IconButton-DsXbc3nQ.d.mts +24 -0
  123. package/dist/IconButton-ZcyTFjPn.d.cts +24 -0
  124. package/dist/IconButton.d.cts +2 -0
  125. package/dist/IconButton.d.mts +2 -0
  126. package/dist/ImageTile.d.cts +60 -0
  127. package/dist/ImageTile.d.mts +60 -0
  128. package/dist/Input-Cv5qieRg.d.mts +65 -0
  129. package/dist/Input-DHOsR4cl.cjs +210 -0
  130. package/dist/Input-DHOsR4cl.cjs.map +1 -0
  131. package/dist/Input-XppkvfUf.d.cts +65 -0
  132. package/dist/Input-eoFk39bE.mjs +191 -0
  133. package/dist/Input-eoFk39bE.mjs.map +1 -0
  134. package/dist/Input.d.cts +2 -0
  135. package/dist/Input.d.mts +2 -0
  136. package/dist/InputProps-BHu05fX0.d.mts +16 -0
  137. package/dist/InputProps-CitGo8QA.d.cts +16 -0
  138. package/dist/InputProps.d.cts +2 -0
  139. package/dist/InputProps.d.mts +2 -0
  140. package/dist/Link.d.cts +43 -0
  141. package/dist/Link.d.mts +43 -0
  142. package/dist/ListBox-AyjzT6ra.d.mts +138 -0
  143. package/dist/ListBox-CE3mfDSB.cjs +383 -0
  144. package/dist/ListBox-CE3mfDSB.cjs.map +1 -0
  145. package/dist/ListBox-DbyZFy2W.d.cts +138 -0
  146. package/dist/ListBox-Z1y0LG1H.mjs +369 -0
  147. package/dist/ListBox-Z1y0LG1H.mjs.map +1 -0
  148. package/dist/ListBox.d.cts +2 -0
  149. package/dist/ListBox.d.mts +2 -0
  150. package/dist/ListBoxField.d.cts +46 -0
  151. package/dist/ListBoxField.d.mts +47 -0
  152. package/dist/LoadingShimmer-CNE6JUVF.mjs +67 -0
  153. package/dist/LoadingShimmer-CNE6JUVF.mjs.map +1 -0
  154. package/dist/LoadingShimmer-DMK9RC4N.cjs +92 -0
  155. package/dist/LoadingShimmer-DMK9RC4N.cjs.map +1 -0
  156. package/dist/LoadingShimmer.d.cts +38 -0
  157. package/dist/LoadingShimmer.d.mts +38 -0
  158. package/dist/MaskedInput.d.cts +10 -0
  159. package/dist/MaskedInput.d.mts +10 -0
  160. package/dist/MatchHighlight.d.cts +11 -0
  161. package/dist/MatchHighlight.d.mts +11 -0
  162. package/dist/Menu-BpkjNO81.cjs +217 -0
  163. package/dist/Menu-BpkjNO81.cjs.map +1 -0
  164. package/dist/Menu-DIFkRQ6x.d.mts +70 -0
  165. package/dist/Menu-DNRHo2i_.mjs +167 -0
  166. package/dist/Menu-DNRHo2i_.mjs.map +1 -0
  167. package/dist/Menu-DPrNMatb.d.cts +70 -0
  168. package/dist/Menu.d.cts +2 -0
  169. package/dist/Menu.d.mts +2 -0
  170. package/dist/Modal.d.cts +141 -0
  171. package/dist/Modal.d.mts +141 -0
  172. package/dist/PageHeader.d.cts +26 -0
  173. package/dist/PageHeader.d.mts +26 -0
  174. package/dist/PageSelector.d.cts +30 -0
  175. package/dist/PageSelector.d.mts +30 -0
  176. package/dist/PageSizeSelector.d.mts +22 -0
  177. package/dist/Pagination.d.cts +33 -0
  178. package/dist/Pagination.d.mts +33 -0
  179. package/dist/Pii.d.cts +16 -0
  180. package/dist/Pii.d.mts +17 -0
  181. package/dist/Popover-BSdyxuja.mjs +124 -0
  182. package/dist/Popover-BSdyxuja.mjs.map +1 -0
  183. package/dist/Popover-C2dBSwiU.cjs +168 -0
  184. package/dist/Popover-C2dBSwiU.cjs.map +1 -0
  185. package/dist/Popover.d.cts +90 -0
  186. package/dist/Popover.d.mts +90 -0
  187. package/dist/ProgressBar.d.cts +83 -0
  188. package/dist/ProgressBar.d.mts +83 -0
  189. package/dist/ProgressIndicator.d.cts +64 -0
  190. package/dist/ProgressIndicator.d.mts +64 -0
  191. package/dist/PseudoClassProps-C5jpj6Rp.d.cts +12 -0
  192. package/dist/PseudoClassProps-mZgO_iZJ.d.mts +12 -0
  193. package/dist/PseudoClassProps.d.cts +2 -0
  194. package/dist/PseudoClassProps.d.mts +2 -0
  195. package/dist/Radio-mFfT6G3d.cjs +154 -0
  196. package/dist/Radio-mFfT6G3d.cjs.map +1 -0
  197. package/dist/Radio-w-L3Otuk.mjs +147 -0
  198. package/dist/Radio-w-L3Otuk.mjs.map +1 -0
  199. package/dist/Radio.d.cts +21 -0
  200. package/dist/Radio.d.mts +21 -0
  201. package/dist/RadioGroup-B8htTzsS.mjs +50 -0
  202. package/dist/RadioGroup-B8htTzsS.mjs.map +1 -0
  203. package/dist/RadioGroup-BjDmweRK.cjs +57 -0
  204. package/dist/RadioGroup-BjDmweRK.cjs.map +1 -0
  205. package/dist/RadioGroup-D5ueuC6a.d.cts +21 -0
  206. package/dist/RadioGroup-Ls0vPsP_.d.mts +21 -0
  207. package/dist/RadioGroup.d.cts +2 -0
  208. package/dist/RadioGroup.d.mts +2 -0
  209. package/dist/RangeCalendar.d.mts +33 -0
  210. package/dist/RangeCalendarPresets.d.mts +25 -0
  211. package/dist/RegisterComponent-BDb43KvI.d.mts +34 -0
  212. package/dist/RegisterComponent-CpXIR-51.d.cts +34 -0
  213. package/dist/Section.d.mts +67 -0
  214. package/dist/SectionHeading-DVSXofwK.d.cts +72 -0
  215. package/dist/SectionHeading-QvAmhVmD.d.mts +72 -0
  216. package/dist/SectionHeading.d.cts +2 -0
  217. package/dist/SectionHeading.d.mts +2 -0
  218. package/dist/SegmentedControl-CvznPXgC.cjs +124 -0
  219. package/dist/SegmentedControl-CvznPXgC.cjs.map +1 -0
  220. package/dist/SegmentedControl-DRtXdbLe.d.cts +59 -0
  221. package/dist/SegmentedControl-Dk5S4Dhz.d.mts +59 -0
  222. package/dist/SegmentedControl-DnwNjYre.mjs +111 -0
  223. package/dist/SegmentedControl-DnwNjYre.mjs.map +1 -0
  224. package/dist/SegmentedControl.d.cts +2 -0
  225. package/dist/SegmentedControl.d.mts +2 -0
  226. package/dist/Select-BdPdgtfU.d.cts +77 -0
  227. package/dist/Select-CVB-Q1g1.cjs +266 -0
  228. package/dist/Select-CVB-Q1g1.cjs.map +1 -0
  229. package/dist/Select-Cl3AOq0-.mjs +246 -0
  230. package/dist/Select-Cl3AOq0-.mjs.map +1 -0
  231. package/dist/Select-DRnRqMAL.d.mts +77 -0
  232. package/dist/Select.d.cts +2 -0
  233. package/dist/Select.d.mts +2 -0
  234. package/dist/Slider-D3gz7otf.d.mts +56 -0
  235. package/dist/Slider-uH5MOu2D.d.cts +56 -0
  236. package/dist/Slider.d.cts +2 -0
  237. package/dist/Slider.d.mts +2 -0
  238. package/dist/SliderRHF-Cc-9RuPe.d.cts +984 -0
  239. package/dist/SliderRHF-DIV-tCEv.d.mts +984 -0
  240. package/dist/SliderRHF.d.cts +2 -0
  241. package/dist/SliderRHF.d.mts +2 -0
  242. package/dist/SliderThumb.d.mts +139 -0
  243. package/dist/Spacer-DWGkX170.cjs +20 -0
  244. package/dist/Spacer-DWGkX170.cjs.map +1 -0
  245. package/dist/Spacer-DxH_sQrV.mjs +13 -0
  246. package/dist/Spacer-DxH_sQrV.mjs.map +1 -0
  247. package/dist/Spacer.d.cts +17 -0
  248. package/dist/Spacer.d.mts +18 -0
  249. package/dist/Spinner-C05An_fn.mjs +41 -0
  250. package/dist/Spinner-C05An_fn.mjs.map +1 -0
  251. package/dist/Spinner-z7DrPE1d.cjs +48 -0
  252. package/dist/Spinner-z7DrPE1d.cjs.map +1 -0
  253. package/dist/Spinner.d.cts +26 -0
  254. package/dist/Spinner.d.mts +26 -0
  255. package/dist/Stack-BHb3ZB2A.cjs +53 -0
  256. package/dist/Stack-BHb3ZB2A.cjs.map +1 -0
  257. package/dist/Stack-BntgUvsW.d.mts +47 -0
  258. package/dist/Stack-hwgS2FU1.mjs +40 -0
  259. package/dist/Stack-hwgS2FU1.mjs.map +1 -0
  260. package/dist/Stack-toDRLy--.d.cts +47 -0
  261. package/dist/Stack.d.cts +2 -0
  262. package/dist/Stack.d.mts +2 -0
  263. package/dist/StatusIndicator.d.cts +54 -0
  264. package/dist/StatusIndicator.d.mts +54 -0
  265. package/dist/Sticker-Bd7KkekO.d.mts +68 -0
  266. package/dist/Sticker-D6bwBTGr.mjs +215 -0
  267. package/dist/Sticker-D6bwBTGr.mjs.map +1 -0
  268. package/dist/Sticker-D_dutvp_.cjs +246 -0
  269. package/dist/Sticker-D_dutvp_.cjs.map +1 -0
  270. package/dist/Sticker-S6QWjlEJ.d.cts +68 -0
  271. package/dist/Sticker.d.cts +2 -0
  272. package/dist/Sticker.d.mts +2 -0
  273. package/dist/SwatchPicker.d.cts +18 -0
  274. package/dist/SwatchPicker.d.mts +18 -0
  275. package/dist/Tab.d.cts +26 -0
  276. package/dist/Tab.d.mts +26 -0
  277. package/dist/TabBar-BMv8dAS3.cjs +297 -0
  278. package/dist/TabBar-BMv8dAS3.cjs.map +1 -0
  279. package/dist/TabBar-Bf89XksH.mjs +266 -0
  280. package/dist/TabBar-Bf89XksH.mjs.map +1 -0
  281. package/dist/TabBar.d.cts +33 -0
  282. package/dist/TabBar.d.mts +33 -0
  283. package/dist/TabBarContext.d.mts +10 -0
  284. package/dist/TabBarIconButton.d.cts +10 -0
  285. package/dist/TabBarIconButton.d.mts +11 -0
  286. package/dist/Table-34f5m7w5.d.mts +13 -0
  287. package/dist/Table-DkAA1lt_.d.cts +13 -0
  288. package/dist/Table.d.cts +2 -0
  289. package/dist/Table.d.mts +2 -0
  290. package/dist/TableBody-5QcVMPP_.d.cts +9 -0
  291. package/dist/TableBody-Clf34yzJ.d.mts +9 -0
  292. package/dist/TableBody.d.cts +2 -0
  293. package/dist/TableBody.d.mts +2 -0
  294. package/dist/TableCell-DIs9h97h.d.cts +75 -0
  295. package/dist/TableCell-Dog4Blfq.d.mts +75 -0
  296. package/dist/TableCell.d.cts +2 -0
  297. package/dist/TableCell.d.mts +2 -0
  298. package/dist/TableHead-9LLM1B8I.d.cts +12 -0
  299. package/dist/TableHead-DJBGHoUD.d.mts +12 -0
  300. package/dist/TableHead.d.cts +2 -0
  301. package/dist/TableHead.d.mts +2 -0
  302. package/dist/TableHeaderCell-25lC9tNk.d.cts +17 -0
  303. package/dist/TableHeaderCell-DzYZq7SG.d.mts +17 -0
  304. package/dist/TableHeaderCell.d.cts +2 -0
  305. package/dist/TableHeaderCell.d.mts +2 -0
  306. package/dist/TableLayout-BA3jbdbi.d.mts +19 -0
  307. package/dist/TableLayout-CmDKOu10.d.cts +19 -0
  308. package/dist/TableLayout.d.cts +2 -0
  309. package/dist/TableLayout.d.mts +2 -0
  310. package/dist/TableRow-CBKpDeUV.d.mts +13 -0
  311. package/dist/TableRow-IPjQnK2q.d.cts +13 -0
  312. package/dist/TableRow.d.cts +2 -0
  313. package/dist/TableRow.d.mts +2 -0
  314. package/dist/TableTH.d.cts +2 -0
  315. package/dist/TableTH.d.mts +2 -0
  316. package/dist/Text-CnXedFut.d.mts +42 -0
  317. package/dist/Text-CrGiWG2E.d.cts +42 -0
  318. package/dist/Text-DOTYjIt0.mjs +58 -0
  319. package/dist/Text-DOTYjIt0.mjs.map +1 -0
  320. package/dist/Text-DVz8erdF.cjs +95 -0
  321. package/dist/Text-DVz8erdF.cjs.map +1 -0
  322. package/dist/Text.d.cts +2 -0
  323. package/dist/Text.d.mts +2 -0
  324. package/dist/TextArea-1bHvaq9p.d.mts +10 -0
  325. package/dist/TextArea-B1kitxCl.mjs +33 -0
  326. package/dist/TextArea-B1kitxCl.mjs.map +1 -0
  327. package/dist/TextArea-MVgGGM6r.cjs +40 -0
  328. package/dist/TextArea-MVgGGM6r.cjs.map +1 -0
  329. package/dist/TextArea-j43fhp2P.d.cts +10 -0
  330. package/dist/TextArea.d.cts +2 -0
  331. package/dist/TextArea.d.mts +2 -0
  332. package/dist/TextUnderlineTooltip-BDMs4iXn.d.cts +18 -0
  333. package/dist/TextUnderlineTooltip-z4sSGL91.d.mts +18 -0
  334. package/dist/TextUnderlineTooltip.d.cts +2 -0
  335. package/dist/TextUnderlineTooltip.d.mts +2 -0
  336. package/dist/Tile.d.cts +63 -0
  337. package/dist/Tile.d.mts +63 -0
  338. package/dist/Toast.d.cts +27 -0
  339. package/dist/Toast.d.mts +27 -0
  340. package/dist/Toggle-8GNRxyvE.mjs +167 -0
  341. package/dist/Toggle-8GNRxyvE.mjs.map +1 -0
  342. package/dist/Toggle-B3Cdyf7T.d.mts +54 -0
  343. package/dist/Toggle-BjkbL_uf.d.cts +54 -0
  344. package/dist/Toggle-CVdg5iQ0.cjs +174 -0
  345. package/dist/Toggle-CVdg5iQ0.cjs.map +1 -0
  346. package/dist/Toggle.d.cts +2 -0
  347. package/dist/Toggle.d.mts +2 -0
  348. package/dist/Tooltip-0i_15ysU.cjs +152 -0
  349. package/dist/Tooltip-0i_15ysU.cjs.map +1 -0
  350. package/dist/Tooltip-C0PS5InA.d.mts +100 -0
  351. package/dist/Tooltip-CE1oH6Iz.d.cts +100 -0
  352. package/dist/Tooltip-T7RQpy_a.mjs +120 -0
  353. package/dist/Tooltip-T7RQpy_a.mjs.map +1 -0
  354. package/dist/Tooltip.d.cts +2 -0
  355. package/dist/Tooltip.d.mts +2 -0
  356. package/dist/TruncatedText-0Tf8CwFX.d.mts +18 -0
  357. package/dist/TruncatedText-D8f3AiBL.d.cts +18 -0
  358. package/dist/chunk-Bpcn9VDT.mjs +39 -0
  359. package/dist/chunk-CoPdw6nB.cjs +64 -0
  360. package/dist/common.d.mts +7 -0
  361. package/dist/components/Attribute/index.cjs +210 -0
  362. package/dist/components/Attribute/index.cjs.map +1 -0
  363. package/dist/components/Attribute/index.d.cts +3 -0
  364. package/dist/components/Attribute/index.d.mts +3 -0
  365. package/dist/components/Attribute/index.mjs +198 -0
  366. package/dist/components/Attribute/index.mjs.map +1 -0
  367. package/dist/components/Badge/index.cjs +8 -0
  368. package/dist/components/Badge/index.d.cts +2 -0
  369. package/dist/components/Badge/index.d.mts +2 -0
  370. package/dist/components/Badge/index.mjs +2 -0
  371. package/dist/components/Banner/index.cjs +100 -0
  372. package/dist/components/Banner/index.cjs.map +1 -0
  373. package/dist/components/Banner/index.d.cts +2 -0
  374. package/dist/components/Banner/index.d.mts +2 -0
  375. package/dist/components/Banner/index.mjs +93 -0
  376. package/dist/components/Banner/index.mjs.map +1 -0
  377. package/dist/components/Button/index.cjs +12 -0
  378. package/dist/components/Button/index.d.cts +3 -0
  379. package/dist/components/Button/index.d.mts +3 -0
  380. package/dist/components/Button/index.mjs +2 -0
  381. package/dist/components/ButtonGroup/index.cjs +112 -0
  382. package/dist/components/ButtonGroup/index.cjs.map +1 -0
  383. package/dist/components/ButtonGroup/index.d.cts +2 -0
  384. package/dist/components/ButtonGroup/index.d.mts +2 -0
  385. package/dist/components/ButtonGroup/index.mjs +103 -0
  386. package/dist/components/ButtonGroup/index.mjs.map +1 -0
  387. package/dist/components/Card/index.cjs +13 -0
  388. package/dist/components/Card/index.d.cts +3 -0
  389. package/dist/components/Card/index.d.mts +3 -0
  390. package/dist/components/Card/index.mjs +2 -0
  391. package/dist/components/CardV2/index.cjs +512 -0
  392. package/dist/components/CardV2/index.cjs.map +1 -0
  393. package/dist/components/CardV2/index.d.cts +3 -0
  394. package/dist/components/CardV2/index.d.mts +3 -0
  395. package/dist/components/CardV2/index.mjs +511 -0
  396. package/dist/components/CardV2/index.mjs.map +1 -0
  397. package/dist/components/Checkbox/index.cjs +8 -0
  398. package/dist/components/Checkbox/index.d.cts +2 -0
  399. package/dist/components/Checkbox/index.d.mts +2 -0
  400. package/dist/components/Checkbox/index.mjs +2 -0
  401. package/dist/components/Combobox/index.cjs +10 -0
  402. package/dist/components/Combobox/index.d.cts +3 -0
  403. package/dist/components/Combobox/index.d.mts +3 -0
  404. package/dist/components/Combobox/index.mjs +2 -0
  405. package/dist/components/ConfigFormGroup/index.cjs +37 -0
  406. package/dist/components/ConfigFormGroup/index.cjs.map +1 -0
  407. package/dist/components/ConfigFormGroup/index.d.cts +3 -0
  408. package/dist/components/ConfigFormGroup/index.d.mts +3 -0
  409. package/dist/components/ConfigFormGroup/index.mjs +28 -0
  410. package/dist/components/ConfigFormGroup/index.mjs.map +1 -0
  411. package/dist/components/DatePicker/index.cjs +11503 -0
  412. package/dist/components/DatePicker/index.cjs.map +1 -0
  413. package/dist/components/DatePicker/index.d.cts +5 -0
  414. package/dist/components/DatePicker/index.d.mts +5 -0
  415. package/dist/components/DatePicker/index.mjs +11491 -0
  416. package/dist/components/DatePicker/index.mjs.map +1 -0
  417. package/dist/components/DropdownButton/index.cjs +8 -0
  418. package/dist/components/DropdownButton/index.d.cts +2 -0
  419. package/dist/components/DropdownButton/index.d.mts +2 -0
  420. package/dist/components/DropdownButton/index.mjs +2 -0
  421. package/dist/components/DropdownMenu/index.cjs +8 -0
  422. package/dist/components/DropdownMenu/index.d.cts +2 -0
  423. package/dist/components/DropdownMenu/index.d.mts +2 -0
  424. package/dist/components/DropdownMenu/index.mjs +2 -0
  425. package/dist/components/FormControl/index.cjs +16 -0
  426. package/dist/components/FormControl/index.d.cts +3 -0
  427. package/dist/components/FormControl/index.d.mts +3 -0
  428. package/dist/components/FormControl/index.mjs +3 -0
  429. package/dist/components/FormField/index.cjs +385 -0
  430. package/dist/components/FormField/index.cjs.map +1 -0
  431. package/dist/components/FormField/index.d.cts +5 -0
  432. package/dist/components/FormField/index.d.mts +5 -0
  433. package/dist/components/FormField/index.mjs +367 -0
  434. package/dist/components/FormField/index.mjs.map +1 -0
  435. package/dist/components/ImageTile/index.cjs +228 -0
  436. package/dist/components/ImageTile/index.cjs.map +1 -0
  437. package/dist/components/ImageTile/index.d.cts +2 -0
  438. package/dist/components/ImageTile/index.d.mts +2 -0
  439. package/dist/components/ImageTile/index.mjs +221 -0
  440. package/dist/components/ImageTile/index.mjs.map +1 -0
  441. package/dist/components/Input/index.cjs +15 -0
  442. package/dist/components/Input/index.cjs.map +1 -0
  443. package/dist/components/Input/index.d.cts +2 -0
  444. package/dist/components/Input/index.d.mts +2 -0
  445. package/dist/components/Input/index.mjs +7 -0
  446. package/dist/components/Input/index.mjs.map +1 -0
  447. package/dist/components/Link/index.cjs +87 -0
  448. package/dist/components/Link/index.cjs.map +1 -0
  449. package/dist/components/Link/index.d.cts +2 -0
  450. package/dist/components/Link/index.d.mts +2 -0
  451. package/dist/components/Link/index.mjs +80 -0
  452. package/dist/components/Link/index.mjs.map +1 -0
  453. package/dist/components/ListBox/index.cjs +9 -0
  454. package/dist/components/ListBox/index.d.cts +2 -0
  455. package/dist/components/ListBox/index.d.mts +2 -0
  456. package/dist/components/ListBox/index.mjs +2 -0
  457. package/dist/components/LoadingShimmer/index.cjs +7 -0
  458. package/dist/components/LoadingShimmer/index.d.cts +2 -0
  459. package/dist/components/LoadingShimmer/index.d.mts +2 -0
  460. package/dist/components/LoadingShimmer/index.mjs +2 -0
  461. package/dist/components/MaskedInput/index.cjs +29 -0
  462. package/dist/components/MaskedInput/index.cjs.map +1 -0
  463. package/dist/components/MaskedInput/index.d.cts +2 -0
  464. package/dist/components/MaskedInput/index.d.mts +2 -0
  465. package/dist/components/MaskedInput/index.mjs +24 -0
  466. package/dist/components/MaskedInput/index.mjs.map +1 -0
  467. package/dist/components/MatchHighlight/index.cjs +31 -0
  468. package/dist/components/MatchHighlight/index.cjs.map +1 -0
  469. package/dist/components/MatchHighlight/index.d.cts +2 -0
  470. package/dist/components/MatchHighlight/index.d.mts +2 -0
  471. package/dist/components/MatchHighlight/index.mjs +24 -0
  472. package/dist/components/MatchHighlight/index.mjs.map +1 -0
  473. package/dist/components/Menu/index.cjs +15 -0
  474. package/dist/components/Menu/index.d.cts +2 -0
  475. package/dist/components/Menu/index.d.mts +2 -0
  476. package/dist/components/Menu/index.mjs +2 -0
  477. package/dist/components/Modal/index.cjs +285 -0
  478. package/dist/components/Modal/index.cjs.map +1 -0
  479. package/dist/components/Modal/index.d.cts +2 -0
  480. package/dist/components/Modal/index.d.mts +2 -0
  481. package/dist/components/Modal/index.mjs +276 -0
  482. package/dist/components/Modal/index.mjs.map +1 -0
  483. package/dist/components/PageHeader/index.cjs +71 -0
  484. package/dist/components/PageHeader/index.cjs.map +1 -0
  485. package/dist/components/PageHeader/index.d.cts +2 -0
  486. package/dist/components/PageHeader/index.d.mts +2 -0
  487. package/dist/components/PageHeader/index.mjs +64 -0
  488. package/dist/components/PageHeader/index.mjs.map +1 -0
  489. package/dist/components/Pagination/index.cjs +211 -0
  490. package/dist/components/Pagination/index.cjs.map +1 -0
  491. package/dist/components/Pagination/index.d.cts +3 -0
  492. package/dist/components/Pagination/index.d.mts +3 -0
  493. package/dist/components/Pagination/index.mjs +203 -0
  494. package/dist/components/Pagination/index.mjs.map +1 -0
  495. package/dist/components/Pii/index.cjs +20 -0
  496. package/dist/components/Pii/index.cjs.map +1 -0
  497. package/dist/components/Pii/index.d.cts +2 -0
  498. package/dist/components/Pii/index.d.mts +2 -0
  499. package/dist/components/Pii/index.mjs +19 -0
  500. package/dist/components/Pii/index.mjs.map +1 -0
  501. package/dist/components/Popover/index.cjs +13 -0
  502. package/dist/components/Popover/index.d.cts +2 -0
  503. package/dist/components/Popover/index.d.mts +2 -0
  504. package/dist/components/Popover/index.mjs +2 -0
  505. package/dist/components/ProgressBar/index.cjs +177 -0
  506. package/dist/components/ProgressBar/index.cjs.map +1 -0
  507. package/dist/components/ProgressBar/index.d.cts +2 -0
  508. package/dist/components/ProgressBar/index.d.mts +2 -0
  509. package/dist/components/ProgressBar/index.mjs +168 -0
  510. package/dist/components/ProgressBar/index.mjs.map +1 -0
  511. package/dist/components/ProgressIndicator/index.cjs +185 -0
  512. package/dist/components/ProgressIndicator/index.cjs.map +1 -0
  513. package/dist/components/ProgressIndicator/index.d.cts +2 -0
  514. package/dist/components/ProgressIndicator/index.d.mts +2 -0
  515. package/dist/components/ProgressIndicator/index.mjs +178 -0
  516. package/dist/components/ProgressIndicator/index.mjs.map +1 -0
  517. package/dist/components/Radio/index.cjs +8 -0
  518. package/dist/components/Radio/index.d.cts +2 -0
  519. package/dist/components/Radio/index.d.mts +2 -0
  520. package/dist/components/Radio/index.mjs +2 -0
  521. package/dist/components/RadioGroup/index.cjs +8 -0
  522. package/dist/components/RadioGroup/index.d.cts +2 -0
  523. package/dist/components/RadioGroup/index.d.mts +2 -0
  524. package/dist/components/RadioGroup/index.mjs +2 -0
  525. package/dist/components/SegmentedControl/index.cjs +9 -0
  526. package/dist/components/SegmentedControl/index.d.cts +2 -0
  527. package/dist/components/SegmentedControl/index.d.mts +2 -0
  528. package/dist/components/SegmentedControl/index.mjs +2 -0
  529. package/dist/components/Select/index.cjs +10 -0
  530. package/dist/components/Select/index.d.cts +2 -0
  531. package/dist/components/Select/index.d.mts +2 -0
  532. package/dist/components/Select/index.mjs +2 -0
  533. package/dist/components/Slider/index.cjs +1507 -0
  534. package/dist/components/Slider/index.cjs.map +1 -0
  535. package/dist/components/Slider/index.d.cts +3 -0
  536. package/dist/components/Slider/index.d.mts +3 -0
  537. package/dist/components/Slider/index.mjs +1497 -0
  538. package/dist/components/Slider/index.mjs.map +1 -0
  539. package/dist/components/Spacer/index.cjs +3 -0
  540. package/dist/components/Spacer/index.d.cts +2 -0
  541. package/dist/components/Spacer/index.d.mts +2 -0
  542. package/dist/components/Spacer/index.mjs +2 -0
  543. package/dist/components/Spinner/index.cjs +8 -0
  544. package/dist/components/Spinner/index.d.cts +2 -0
  545. package/dist/components/Spinner/index.d.mts +2 -0
  546. package/dist/components/Spinner/index.mjs +2 -0
  547. package/dist/components/Stack/index.cjs +9 -0
  548. package/dist/components/Stack/index.d.cts +2 -0
  549. package/dist/components/Stack/index.d.mts +2 -0
  550. package/dist/components/Stack/index.mjs +2 -0
  551. package/dist/components/StatusIndicator/index.cjs +174 -0
  552. package/dist/components/StatusIndicator/index.cjs.map +1 -0
  553. package/dist/components/StatusIndicator/index.d.cts +2 -0
  554. package/dist/components/StatusIndicator/index.d.mts +2 -0
  555. package/dist/components/StatusIndicator/index.mjs +167 -0
  556. package/dist/components/StatusIndicator/index.mjs.map +1 -0
  557. package/dist/components/Sticker/index.cjs +12 -0
  558. package/dist/components/Sticker/index.d.cts +2 -0
  559. package/dist/components/Sticker/index.d.mts +2 -0
  560. package/dist/components/Sticker/index.mjs +2 -0
  561. package/dist/components/SwatchPicker/index.cjs +65 -0
  562. package/dist/components/SwatchPicker/index.cjs.map +1 -0
  563. package/dist/components/SwatchPicker/index.d.cts +2 -0
  564. package/dist/components/SwatchPicker/index.d.mts +2 -0
  565. package/dist/components/SwatchPicker/index.mjs +58 -0
  566. package/dist/components/SwatchPicker/index.mjs.map +1 -0
  567. package/dist/components/TabBar/index.cjs +12 -0
  568. package/dist/components/TabBar/index.d.cts +4 -0
  569. package/dist/components/TabBar/index.d.mts +4 -0
  570. package/dist/components/TabBar/index.mjs +2 -0
  571. package/dist/components/Table/index.cjs +400 -0
  572. package/dist/components/Table/index.cjs.map +1 -0
  573. package/dist/components/Table/index.d.cts +8 -0
  574. package/dist/components/Table/index.d.mts +8 -0
  575. package/dist/components/Table/index.mjs +379 -0
  576. package/dist/components/Table/index.mjs.map +1 -0
  577. package/dist/components/Text/index.cjs +9 -0
  578. package/dist/components/Text/index.d.cts +2 -0
  579. package/dist/components/Text/index.d.mts +2 -0
  580. package/dist/components/Text/index.mjs +2 -0
  581. package/dist/components/TextArea/index.cjs +8 -0
  582. package/dist/components/TextArea/index.d.cts +2 -0
  583. package/dist/components/TextArea/index.d.mts +2 -0
  584. package/dist/components/TextArea/index.mjs +2 -0
  585. package/dist/components/Tile/index.cjs +103 -0
  586. package/dist/components/Tile/index.cjs.map +1 -0
  587. package/dist/components/Tile/index.d.cts +2 -0
  588. package/dist/components/Tile/index.d.mts +2 -0
  589. package/dist/components/Tile/index.mjs +96 -0
  590. package/dist/components/Tile/index.mjs.map +1 -0
  591. package/dist/components/Toast/index.cjs +141 -0
  592. package/dist/components/Toast/index.cjs.map +1 -0
  593. package/dist/components/Toast/index.d.cts +2 -0
  594. package/dist/components/Toast/index.d.mts +2 -0
  595. package/dist/components/Toast/index.mjs +136 -0
  596. package/dist/components/Toast/index.mjs.map +1 -0
  597. package/dist/components/Toggle/index.cjs +8 -0
  598. package/dist/components/Toggle/index.d.cts +2 -0
  599. package/dist/components/Toggle/index.d.mts +2 -0
  600. package/dist/components/Toggle/index.mjs +2 -0
  601. package/dist/components/Tooltip/index.cjs +12 -0
  602. package/dist/components/Tooltip/index.d.cts +4 -0
  603. package/dist/components/Tooltip/index.d.mts +4 -0
  604. package/dist/components/Tooltip/index.mjs +2 -0
  605. package/dist/constants.d.mts +5 -0
  606. package/dist/ids-Cr-NW2RJ.d.mts +11 -0
  607. package/dist/ids-e4V5Y3Ub.d.cts +11 -0
  608. package/dist/index-1-AkepUA.d.mts +1 -0
  609. package/dist/index-7in8TPrM.d.mts +1 -0
  610. package/dist/index-8R9vlM2B.d.mts +83 -0
  611. package/dist/index-B2KLYYkM.d.cts +1 -0
  612. package/dist/index-BBDa5smF.d.cts +1 -0
  613. package/dist/index-BJ8-FA6N.d.cts +1 -0
  614. package/dist/index-BM1DqNZf.d.cts +628 -0
  615. package/dist/index-BPSCxsMC.d.cts +1 -0
  616. package/dist/index-BPiqSRRl.d.mts +1 -0
  617. package/dist/index-BUYyA1Xh.d.cts +1 -0
  618. package/dist/index-CCt0lwyI.d.mts +1 -0
  619. package/dist/index-CEDY7cmG.d.cts +1 -0
  620. package/dist/index-CEqOS-7M.d.mts +1 -0
  621. package/dist/index-CExuKKOI.d.cts +218 -0
  622. package/dist/index-CIABef8t.d.mts +1 -0
  623. package/dist/index-CIBxlpQo.d.mts +1 -0
  624. package/dist/index-CKu60b9I.d.mts +154 -0
  625. package/dist/index-CP2eJYlK.d.mts +1 -0
  626. package/dist/index-CRo77wc3.d.mts +1 -0
  627. package/dist/index-CiBIKhMu.d.cts +1 -0
  628. package/dist/index-Cii4Qb1X.d.mts +1 -0
  629. package/dist/index-CspKFJM1.d.cts +1 -0
  630. package/dist/index-CsuikFeJ.d.mts +1 -0
  631. package/dist/index-Cz6N-KeS.d.cts +1 -0
  632. package/dist/index-D-BciAtf.d.cts +1 -0
  633. package/dist/index-D26lpgQi.d.cts +1 -0
  634. package/dist/index-D2HUTZ-d.d.cts +1 -0
  635. package/dist/index-D4DUvwPf.d.mts +1 -0
  636. package/dist/index-D4ELpJXS.d.cts +1 -0
  637. package/dist/index-D6CnpA_r.d.cts +1 -0
  638. package/dist/index-DLoAMD9J.d.cts +1 -0
  639. package/dist/index-DQvVmqvS.d.mts +628 -0
  640. package/dist/index-DWfPppPU.d.mts +1 -0
  641. package/dist/index-DcU87nuJ2.d.cts +1 -0
  642. package/dist/index-DkrC-i1D.d.mts +1 -0
  643. package/dist/index-DvuJXuAN.d.mts +1 -0
  644. package/dist/index-OEBbnNdr.d.mts +1 -0
  645. package/dist/index-QbUkWSLh.d.mts +1 -0
  646. package/dist/index-VmEFGBxN.d.cts +1 -0
  647. package/dist/index.cjs +1 -0
  648. package/dist/index.d.cts +2 -0
  649. package/dist/index.d.mts +2 -0
  650. package/dist/index.mjs +0 -0
  651. package/dist/index2.d.cts +1 -0
  652. package/dist/index2.d.mts +1 -0
  653. package/dist/input-BCmP106-.d.mts +17 -0
  654. package/dist/input-Bm_anD8X.d.cts +17 -0
  655. package/dist/inputFields.d.cts +83 -0
  656. package/dist/inputFields.d.mts +83 -0
  657. package/dist/intersperse.d.mts +18 -0
  658. package/dist/lib/ConfigContext.cjs +15 -0
  659. package/dist/lib/ConfigContext.cjs.map +1 -0
  660. package/dist/lib/ConfigContext.d.cts +16 -0
  661. package/dist/lib/ConfigContext.d.mts +17 -0
  662. package/dist/lib/ConfigContext.mjs +15 -0
  663. package/dist/lib/ConfigContext.mjs.map +1 -0
  664. package/dist/lib/HeadlessAriaButton.cjs +33 -0
  665. package/dist/lib/HeadlessAriaButton.cjs.map +1 -0
  666. package/dist/lib/HeadlessAriaButton.d.cts +12 -0
  667. package/dist/lib/HeadlessAriaButton.d.mts +12 -0
  668. package/dist/lib/HeadlessAriaButton.mjs +30 -0
  669. package/dist/lib/HeadlessAriaButton.mjs.map +1 -0
  670. package/dist/lib/PDSProvider.cjs +20 -0
  671. package/dist/lib/PDSProvider.cjs.map +1 -0
  672. package/dist/lib/PDSProvider.d.cts +12 -0
  673. package/dist/lib/PDSProvider.d.mts +13 -0
  674. package/dist/lib/PDSProvider.mjs +19 -0
  675. package/dist/lib/PDSProvider.mjs.map +1 -0
  676. package/dist/lib/TruncatedText.cjs +39 -0
  677. package/dist/lib/TruncatedText.cjs.map +1 -0
  678. package/dist/lib/TruncatedText.d.cts +2 -0
  679. package/dist/lib/TruncatedText.d.mts +2 -0
  680. package/dist/lib/TruncatedText.mjs +31 -0
  681. package/dist/lib/TruncatedText.mjs.map +1 -0
  682. package/dist/lib/TruncatedTextWithTooltip.cjs +34 -0
  683. package/dist/lib/TruncatedTextWithTooltip.cjs.map +1 -0
  684. package/dist/lib/TruncatedTextWithTooltip.d.cts +15 -0
  685. package/dist/lib/TruncatedTextWithTooltip.d.mts +15 -0
  686. package/dist/lib/TruncatedTextWithTooltip.mjs +28 -0
  687. package/dist/lib/TruncatedTextWithTooltip.mjs.map +1 -0
  688. package/dist/lib/comboboxHelper.cjs +46 -0
  689. package/dist/lib/comboboxHelper.cjs.map +1 -0
  690. package/dist/lib/comboboxHelper.d.cts +24 -0
  691. package/dist/lib/comboboxHelper.d.mts +24 -0
  692. package/dist/lib/comboboxHelper.mjs +42 -0
  693. package/dist/lib/comboboxHelper.mjs.map +1 -0
  694. package/dist/lib/datePickerHelper.cjs +3568 -0
  695. package/dist/lib/datePickerHelper.cjs.map +1 -0
  696. package/dist/lib/datePickerHelper.d.cts +19 -0
  697. package/dist/lib/datePickerHelper.d.mts +19 -0
  698. package/dist/lib/datePickerHelper.mjs +3566 -0
  699. package/dist/lib/datePickerHelper.mjs.map +1 -0
  700. package/dist/lib/pseudoClass.cjs +32 -0
  701. package/dist/lib/pseudoClass.cjs.map +1 -0
  702. package/dist/lib/pseudoClass.d.cts +45 -0
  703. package/dist/lib/pseudoClass.d.mts +45 -0
  704. package/dist/lib/pseudoClass.mjs +18 -0
  705. package/dist/lib/pseudoClass.mjs.map +1 -0
  706. package/dist/lib/register/RegisterComponent.cjs +91 -0
  707. package/dist/lib/register/RegisterComponent.cjs.map +1 -0
  708. package/dist/lib/register/RegisterComponent.d.cts +2 -0
  709. package/dist/lib/register/RegisterComponent.d.mts +2 -0
  710. package/dist/lib/register/RegisterComponent.mjs +88 -0
  711. package/dist/lib/register/RegisterComponent.mjs.map +1 -0
  712. package/dist/lib/register/ids.cjs +31 -0
  713. package/dist/lib/register/ids.cjs.map +1 -0
  714. package/dist/lib/register/ids.d.cts +2 -0
  715. package/dist/lib/register/ids.d.mts +2 -0
  716. package/dist/lib/register/ids.mjs +28 -0
  717. package/dist/lib/register/ids.mjs.map +1 -0
  718. package/dist/lib/register/index.cjs +8 -0
  719. package/dist/lib/register/index.d.cts +4 -0
  720. package/dist/lib/register/index.d.mts +4 -0
  721. package/dist/lib/register/index.mjs +3 -0
  722. package/dist/lib/register/types.cjs +1 -0
  723. package/dist/lib/register/types.d.cts +2 -0
  724. package/dist/lib/register/types.d.mts +2 -0
  725. package/dist/lib/register/types.mjs +0 -0
  726. package/dist/lib/reorderItems.cjs +39 -0
  727. package/dist/lib/reorderItems.cjs.map +1 -0
  728. package/dist/lib/reorderItems.d.cts +26 -0
  729. package/dist/lib/reorderItems.d.mts +26 -0
  730. package/dist/lib/reorderItems.mjs +36 -0
  731. package/dist/lib/reorderItems.mjs.map +1 -0
  732. package/dist/lib/selectHelper.cjs +22 -0
  733. package/dist/lib/selectHelper.cjs.map +1 -0
  734. package/dist/lib/selectHelper.d.cts +14 -0
  735. package/dist/lib/selectHelper.d.mts +14 -0
  736. package/dist/lib/selectHelper.mjs +20 -0
  737. package/dist/lib/selectHelper.mjs.map +1 -0
  738. package/dist/lib/useControlled.cjs +20 -0
  739. package/dist/lib/useControlled.cjs.map +1 -0
  740. package/dist/lib/useControlled.d.cts +16 -0
  741. package/dist/lib/useControlled.d.mts +17 -0
  742. package/dist/lib/useControlled.mjs +19 -0
  743. package/dist/lib/useControlled.mjs.map +1 -0
  744. package/dist/lib/useIsOverflow.cjs +58 -0
  745. package/dist/lib/useIsOverflow.cjs.map +1 -0
  746. package/dist/lib/useIsOverflow.d.cts +11 -0
  747. package/dist/lib/useIsOverflow.d.mts +11 -0
  748. package/dist/lib/useIsOverflow.mjs +56 -0
  749. package/dist/lib/useIsOverflow.mjs.map +1 -0
  750. package/dist/lib/useOutsideClick.cjs +19 -0
  751. package/dist/lib/useOutsideClick.cjs.map +1 -0
  752. package/dist/lib/useOutsideClick.d.cts +13 -0
  753. package/dist/lib/useOutsideClick.d.mts +13 -0
  754. package/dist/lib/useOutsideClick.mjs +17 -0
  755. package/dist/lib/useOutsideClick.mjs.map +1 -0
  756. package/dist/lib/zindex.cjs +27 -0
  757. package/dist/lib/zindex.cjs.map +1 -0
  758. package/dist/lib/zindex.d.cts +25 -0
  759. package/dist/lib/zindex.d.mts +25 -0
  760. package/dist/lib/zindex.mjs +25 -0
  761. package/dist/lib/zindex.mjs.map +1 -0
  762. package/dist/mergeRefs-BZinWopc.cjs +31 -0
  763. package/dist/mergeRefs-BZinWopc.cjs.map +1 -0
  764. package/dist/mergeRefs-BgcbK0Qy.mjs +26 -0
  765. package/dist/mergeRefs-BgcbK0Qy.mjs.map +1 -0
  766. package/dist/mixins/focus.cjs +39 -0
  767. package/dist/mixins/focus.cjs.map +1 -0
  768. package/dist/mixins/focus.d.cts +11 -0
  769. package/dist/mixins/focus.d.mts +11 -0
  770. package/dist/mixins/focus.mjs +34 -0
  771. package/dist/mixins/focus.mjs.map +1 -0
  772. package/dist/mixins/hoverable.cjs +38 -0
  773. package/dist/mixins/hoverable.cjs.map +1 -0
  774. package/dist/mixins/hoverable.d.cts +16 -0
  775. package/dist/mixins/hoverable.d.mts +16 -0
  776. package/dist/mixins/hoverable.mjs +32 -0
  777. package/dist/mixins/hoverable.mjs.map +1 -0
  778. package/dist/mixins/input.cjs +95 -0
  779. package/dist/mixins/input.cjs.map +1 -0
  780. package/dist/mixins/input.d.cts +2 -0
  781. package/dist/mixins/input.d.mts +2 -0
  782. package/dist/mixins/input.mjs +94 -0
  783. package/dist/mixins/input.mjs.map +1 -0
  784. package/dist/mixins/menuItem.cjs +110 -0
  785. package/dist/mixins/menuItem.cjs.map +1 -0
  786. package/dist/mixins/menuItem.d.cts +30 -0
  787. package/dist/mixins/menuItem.d.mts +31 -0
  788. package/dist/mixins/menuItem.mjs +109 -0
  789. package/dist/mixins/menuItem.mjs.map +1 -0
  790. package/dist/mixins/print/index.cjs +25 -0
  791. package/dist/mixins/print/index.cjs.map +1 -0
  792. package/dist/mixins/print/index.d.cts +11 -0
  793. package/dist/mixins/print/index.d.mts +11 -0
  794. package/dist/mixins/print/index.mjs +23 -0
  795. package/dist/mixins/print/index.mjs.map +1 -0
  796. package/dist/mixins/text.cjs +93 -0
  797. package/dist/mixins/text.cjs.map +1 -0
  798. package/dist/mixins/text.d.cts +2 -0
  799. package/dist/mixins/text.d.mts +2 -0
  800. package/dist/mixins/text.mjs +88 -0
  801. package/dist/mixins/text.mjs.map +1 -0
  802. package/dist/motion-DoikasqZ.mjs +7483 -0
  803. package/dist/motion-DoikasqZ.mjs.map +1 -0
  804. package/dist/motion-QW6imSxE.cjs +7488 -0
  805. package/dist/motion-QW6imSxE.cjs.map +1 -0
  806. package/dist/react.esm-C-es35jP.cjs +11441 -0
  807. package/dist/react.esm-C-es35jP.cjs.map +1 -0
  808. package/dist/react.esm-Dv1lMDRs.mjs +11397 -0
  809. package/dist/react.esm-Dv1lMDRs.mjs.map +1 -0
  810. package/dist/text-BrSUs-88.d.mts +14 -0
  811. package/dist/text-PmH5oc61.d.cts +14 -0
  812. package/dist/theme-Cadb1xzQ.d.cts +154 -0
  813. package/dist/theme-DGAqgnUa.d.mts +154 -0
  814. package/dist/theme.cjs +353 -0
  815. package/dist/theme.cjs.map +1 -0
  816. package/dist/theme.d.cts +2 -0
  817. package/dist/theme.d.mts +2 -0
  818. package/dist/theme.mjs +346 -0
  819. package/dist/theme.mjs.map +1 -0
  820. package/dist/types-DzHQ5MGm.d.mts +69 -0
  821. package/dist/types-N-cXznfM.d.cts +69 -0
  822. package/dist/useFormField-Ba0CQ43u.d.cts +30 -0
  823. package/dist/useFormField-BmtItl8y.d.mts +30 -0
  824. package/dist/useFormField-DN3gpEEV.cjs +37 -0
  825. package/dist/useFormField-DN3gpEEV.cjs.map +1 -0
  826. package/dist/useFormField-eftOPiXj.mjs +25 -0
  827. package/dist/useFormField-eftOPiXj.mjs.map +1 -0
  828. package/dist/useFormField.d.cts +2 -0
  829. package/dist/useFormField.d.mts +2 -0
  830. package/dist/useFormGroup-BMukAMAd.mjs +14 -0
  831. package/dist/useFormGroup-BMukAMAd.mjs.map +1 -0
  832. package/dist/useFormGroup-B_mFNoN9.cjs +26 -0
  833. package/dist/useFormGroup-B_mFNoN9.cjs.map +1 -0
  834. package/dist/useFormGroup.d.cts +18 -0
  835. package/dist/useFormGroup.d.mts +18 -0
  836. package/dist/useLabel-BcbghpIU.cjs +1465 -0
  837. package/dist/useLabel-BcbghpIU.cjs.map +1 -0
  838. package/dist/useLabel-DHGzNIKw.mjs +1212 -0
  839. package/dist/useLabel-DHGzNIKw.mjs.map +1 -0
  840. package/dist/useModalInsetRight.d.mts +21 -0
  841. package/dist/useToggle-0zLL1E7s.mjs +21 -0
  842. package/dist/useToggle-0zLL1E7s.mjs.map +1 -0
  843. package/dist/useToggle-DNrEsTpr.cjs +27 -0
  844. package/dist/useToggle-DNrEsTpr.cjs.map +1 -0
  845. package/dist/useToggle.d.mts +17 -0
  846. package/dist/useTruncation.d.mts +12 -0
  847. package/dist/utilities-C8Jf-xpi.d.cts +9 -0
  848. package/dist/utilities-w1K54IAy.d.mts +9 -0
  849. package/dist/utilities.d.cts +2 -0
  850. package/dist/utilities.d.mts +2 -0
  851. package/dist/utils/storybook.cjs +13 -0
  852. package/dist/utils/storybook.cjs.map +1 -0
  853. package/dist/utils/storybook.mjs +11 -0
  854. package/dist/utils/storybook.mjs.map +1 -0
  855. package/dist/utils/testing.cjs +50 -0
  856. package/dist/utils/testing.cjs.map +1 -0
  857. package/dist/utils/testing.d.cts +370 -0
  858. package/dist/utils/testing.d.mts +370 -0
  859. package/dist/utils/testing.mjs +45 -0
  860. package/dist/utils/testing.mjs.map +1 -0
  861. package/dist/variables/color.cjs +23 -0
  862. package/dist/variables/color.cjs.map +1 -0
  863. package/dist/variables/color.d.cts +19 -0
  864. package/dist/variables/color.d.mts +19 -0
  865. package/dist/variables/color.mjs +21 -0
  866. package/dist/variables/color.mjs.map +1 -0
  867. package/dist/variables/effect.cjs +27 -0
  868. package/dist/variables/effect.cjs.map +1 -0
  869. package/dist/variables/effect.d.cts +21 -0
  870. package/dist/variables/effect.d.mts +21 -0
  871. package/dist/variables/effect.mjs +24 -0
  872. package/dist/variables/effect.mjs.map +1 -0
  873. package/dist/variables/keyframes.cjs +22 -0
  874. package/dist/variables/keyframes.cjs.map +1 -0
  875. package/dist/variables/keyframes.d.cts +8 -0
  876. package/dist/variables/keyframes.d.mts +8 -0
  877. package/dist/variables/keyframes.mjs +19 -0
  878. package/dist/variables/keyframes.mjs.map +1 -0
  879. package/dist/variables/spacing.cjs +11 -0
  880. package/dist/variables/spacing.cjs.map +1 -0
  881. package/dist/variables/spacing.d.cts +8 -0
  882. package/dist/variables/spacing.d.mts +8 -0
  883. package/dist/variables/spacing.mjs +9 -0
  884. package/dist/variables/spacing.mjs.map +1 -0
  885. package/dist/variables/text.cjs +14 -0
  886. package/dist/variables/text.cjs.map +1 -0
  887. package/dist/variables/text.d.cts +10 -0
  888. package/dist/variables/text.d.mts +10 -0
  889. package/dist/variables/text.mjs +12 -0
  890. package/dist/variables/text.mjs.map +1 -0
  891. package/dist/variables/transitions.cjs +25 -0
  892. package/dist/variables/transitions.cjs.map +1 -0
  893. package/dist/variables/transitions.d.cts +19 -0
  894. package/dist/variables/transitions.d.mts +19 -0
  895. package/dist/variables/transitions.mjs +22 -0
  896. package/dist/variables/transitions.mjs.map +1 -0
  897. package/package.json +781 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["Spacing","LoadingShimmer","Color","focusOutline","ImageIcon","Paragraph","Checkbox","DropdownMenu","IconButton","MoreIcon","Tooltip","LockedIcon","Stack"],"sources":["../../../components/ImageTile/ImageTile.tsx"],"sourcesContent":["import { IconButton } from '@persona/design-system/components/Button';\nimport Checkbox from '@persona/design-system/components/Checkbox';\nimport DropdownMenu from '@persona/design-system/components/DropdownMenu';\nimport { LoadingShimmer } from '@persona/design-system/components/LoadingShimmer';\nimport Stack from '@persona/design-system/components/Stack';\nimport { Paragraph } from '@persona/design-system/components/Text';\nimport { Tooltip } from '@persona/design-system/components/Tooltip';\nimport { focusOutline } from '@persona/design-system/mixins/focus';\nimport { TransitionDuration } from '@persona/design-system/variables/transitions';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { ImageIcon, LockedIcon, MoreIcon } from '@persona/icons';\nimport {\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n useEffect,\n useState,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { TextAction } from 'design-system/types/Action';\n\nconst MIN_WIDTH = '180px';\nconst MAX_WIDTH = '420px';\nconst OVERLAY_INSET = Spacing[2];\nconst EMPTY_COPY = 'No available preview';\nconst DEFAULT_SELECTION_LABEL = 'Select image';\n\nexport interface ImageTileProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n /** URL of the thumbnail. While loading shows shimmer; on error shows the empty fallback. */\n src: string | null;\n /** Alt text for the thumbnail. Also seeds the default checkbox label. */\n alt?: string;\n /** How the thumbnail fills its area. `cover` crops overflow; `contain` letterboxes to fit. Defaults to `cover`. */\n objectFit?: 'cover' | 'contain';\n\n /** Enables the selection checkbox (top-left). */\n selectable?: boolean;\n /** Controlled checked state for the selection checkbox. */\n selected?: boolean;\n /** Called with the new checked value when the checkbox is toggled. */\n onSelectedChange?: (selected: boolean) => void;\n /** Accessible label for the checkbox. Defaults to \"Select {alt}\" or \"Select image\". */\n selectionLabel?: string;\n\n /**\n * Action menu items rendered behind a 3-dot IconButton in the top-right.\n * Ignored when `locked` is true. Pass an empty array (or omit) to hide the menu.\n */\n actions?: TextAction[];\n /**\n * Replaces the action menu with a non-interactive lock icon. Indicates the\n * viewer does not have permission to edit. `actions` are ignored.\n */\n locked?: boolean;\n /** Tooltip string shown when hovering the lock icon. */\n lockedTooltip?: string;\n\n /**\n * Metadata rows rendered beneath the thumbnail. Each entry becomes a\n * full-width, left-aligned row in a vertical Stack. Block content fills the\n * row; inline content (e.g. a Sticker) hugs the left. Region is omitted when\n * the array is empty or undefined.\n */\n metadata?: ReactNode[];\n\n /** Optional click handler for the whole tile. When provided, the tile is keyboard-activatable. */\n onClick?: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nconst ImageContainer = styled.div`\n position: relative;\n aspect-ratio: 200 / 144;\n background-color: ${({ theme }) => theme.color.background.secondary};\n overflow: hidden;\n`;\n\nconst Thumbnail = styled.img<{ $visible: boolean; $objectFit: 'cover' | 'contain' }>`\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: ${({ $objectFit }) => $objectFit};\n display: block;\n opacity: ${({ $visible }) => ($visible ? 1 : 0)};\n transition: opacity ${TransitionDuration.Fast};\n`;\n\nconst ImageShimmer = styled(LoadingShimmer)`\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n border-radius: 0;\n`;\n\nconst EmptyState = styled.div`\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: ${Spacing[1]};\n color: ${Color.BorderIconDisabled};\n padding: ${Spacing[3]};\n text-align: center;\n`;\n\nconst MetadataContainer = styled.div`\n padding: ${Spacing[3]};\n background-color: ${({ theme }) => theme.color.background.primary};\n border-top: 1px solid ${({ theme }) => theme.color.border.primary};\n transition: background-color ${TransitionDuration.Fast};\n`;\n\nconst MetadataRow = styled.div`\n width: 100%;\n // Without these Stickers get bottom aligned\n display: flex;\n align-items: flex-start;\n`;\n\nconst SelectionOverlay = styled.div`\n position: absolute;\n top: ${OVERLAY_INSET};\n left: ${OVERLAY_INSET};\n z-index: 1;\n`;\n\nconst ActionsOverlay = styled.div`\n position: absolute;\n top: ${OVERLAY_INSET};\n right: ${OVERLAY_INSET};\n z-index: 1;\n`;\n\nconst LockedOverlay = styled.div`\n position: absolute;\n top: ${OVERLAY_INSET};\n right: ${OVERLAY_INSET};\n z-index: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.color.text.secondary};\n`;\n\nconst Root = styled.div<{ $clickable: boolean }>`\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: ${MIN_WIDTH};\n max-width: ${MAX_WIDTH};\n background-color: ${({ theme }) => theme.color.background.primary};\n border: 1px solid ${({ theme }) => theme.color.border.primary};\n border-radius: ${({ theme }) => theme.card.borderRadius};\n box-sizing: border-box;\n overflow: hidden;\n ${focusOutline};\n\n ${({ $clickable }) =>\n $clickable &&\n css`\n cursor: pointer;\n `}\n\n &:hover ${MetadataContainer} {\n background-color: ${({ theme }) => theme.color.background.highlight};\n }\n`;\n\nconst stopPropagation = (e: MouseEvent) => {\n e.stopPropagation();\n};\n\nexport const ImageTile = ({\n src,\n alt = '',\n objectFit = 'cover',\n selectable = false,\n selected = false,\n onSelectedChange,\n selectionLabel,\n actions,\n locked = false,\n lockedTooltip,\n metadata,\n onClick,\n ...props\n}: ImageTileProps) => {\n const [loaded, setLoaded] = useState(false);\n const [hasError, setHasError] = useState(false);\n\n useEffect(() => {\n setLoaded(false);\n setHasError(false);\n }, [src]);\n\n const hasSrc = Boolean(src);\n const isLoading = hasSrc && !loaded && !hasError;\n const showEmpty = !hasSrc || hasError;\n\n const visibleActions = actions?.filter((action) => !action.hidden) ?? [];\n const renderActions = !locked && visibleActions.length > 0;\n const clickable = Boolean(onClick);\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (!onClick) {\n return;\n }\n // Only activate when the key event originates from the tile root itself.\n // Interactive descendants (selection checkbox, action buttons) must keep\n // their own native Space/Enter behavior.\n if (e.target !== e.currentTarget) {\n return;\n }\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.currentTarget.click();\n }\n };\n\n const accessibleSelectionLabel =\n selectionLabel ?? (alt ? `Select ${alt}` : DEFAULT_SELECTION_LABEL);\n\n const hasMetadata = (metadata?.length ?? 0) > 0;\n const renderMetadata = hasMetadata || isLoading;\n\n return (\n <Root\n $clickable={clickable}\n onClick={onClick}\n onKeyDown={clickable ? handleKeyDown : undefined}\n role={clickable ? 'button' : undefined}\n tabIndex={clickable ? 0 : undefined}\n {...props}\n >\n <ImageContainer>\n {hasSrc && !hasError && (\n <Thumbnail\n $visible={loaded}\n $objectFit={objectFit}\n src={src ?? undefined}\n alt={alt}\n onLoad={() => setLoaded(true)}\n onError={() => setHasError(true)}\n />\n )}\n {isLoading && <ImageShimmer />}\n {showEmpty && (\n <EmptyState>\n <ImageIcon size={24} aria-hidden />\n <Paragraph size='sm' color='secondary' as='span'>\n {EMPTY_COPY}\n </Paragraph>\n </EmptyState>\n )}\n\n {selectable && (\n <SelectionOverlay onClick={stopPropagation}>\n <Checkbox\n size='sm'\n checked={selected}\n onChange={(e) => onSelectedChange?.(e.target.checked)}\n aria-label={accessibleSelectionLabel}\n />\n </SelectionOverlay>\n )}\n\n {renderActions && (\n <ActionsOverlay onClick={stopPropagation}>\n <DropdownMenu\n portal\n trigger={\n <IconButton size='sm' aria-label='More actions'>\n <MoreIcon />\n </IconButton>\n }\n >\n {visibleActions.map((action, idx) => (\n <DropdownMenu.Item\n key={action.id ?? `${action.label}-${idx}`}\n prefixIcon={action.prefixIcon}\n suffixIcon={action.suffixIcon}\n disabled={action.disabled}\n variant={action.variant === 'danger' ? 'danger' : 'basic'}\n onClick={(e) => {\n if (action.disabled) {\n return;\n }\n return action.onClick?.(e);\n }}\n >\n {action.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu>\n </ActionsOverlay>\n )}\n\n {locked && (\n <LockedOverlay onClick={stopPropagation}>\n {lockedTooltip ? (\n <Tooltip iconTrigger={<LockedIcon size={16} />} aria-label={lockedTooltip}>\n {lockedTooltip}\n </Tooltip>\n ) : (\n <LockedIcon size={16} aria-label='Locked' />\n )}\n </LockedOverlay>\n )}\n </ImageContainer>\n\n {renderMetadata && (\n <MetadataContainer>\n {isLoading ? (\n <LoadingShimmer width='60%' height='14px' />\n ) : (\n <Stack spacing={Spacing[2]}>\n {metadata?.map((row, idx) => (\n <MetadataRow key={idx}>{row}</MetadataRow>\n ))}\n </Stack>\n )}\n </MetadataContainer>\n )}\n </Root>\n );\n};\n\nexport default ImageTile;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ImageTile, ImageTileProps } from "../../ImageTile.cjs";
2
+ export { ImageTile, ImageTile as default, type ImageTileProps };
@@ -0,0 +1,2 @@
1
+ import { ImageTile, ImageTileProps } from "../../ImageTile.mjs";
2
+ export { ImageTile, ImageTile as default, type ImageTileProps };
@@ -0,0 +1,221 @@
1
+ import { focusOutline } from "../../mixins/focus.mjs";
2
+ import "../../variables/transitions.mjs";
3
+ import { n as Stack } from "../../Stack-hwgS2FU1.mjs";
4
+ import "../Stack/index.mjs";
5
+ import { i as Paragraph } from "../../Text-DOTYjIt0.mjs";
6
+ import { a as Tooltip } from "../../Tooltip-T7RQpy_a.mjs";
7
+ import { t as IconButton } from "../../IconButton-C28qxOdi.mjs";
8
+ import "../Button/index.mjs";
9
+ import { n as DropdownMenu_default } from "../../DropdownMenu-BTk--LWo.mjs";
10
+ import "../DropdownMenu/index.mjs";
11
+ import { t as LoadingShimmer } from "../../LoadingShimmer-CNE6JUVF.mjs";
12
+ import { t as Checkbox } from "../../Checkbox-C5bGcb-r.mjs";
13
+ import { Color, Spacing } from "@persona/design-tokens";
14
+ import styled, { css } from "styled-components";
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ import { useEffect, useState } from "react";
17
+ import { ImageIcon, LockedIcon, MoreIcon } from "@persona/icons";
18
+ //#region components/ImageTile/ImageTile.tsx
19
+ const MIN_WIDTH = "180px";
20
+ const MAX_WIDTH = "420px";
21
+ const OVERLAY_INSET = Spacing[2];
22
+ const EMPTY_COPY = "No available preview";
23
+ const DEFAULT_SELECTION_LABEL = "Select image";
24
+ const ImageContainer = styled.div`
25
+ position: relative;
26
+ aspect-ratio: 200 / 144;
27
+ background-color: ${({ theme }) => theme.color.background.secondary};
28
+ overflow: hidden;
29
+ `;
30
+ const Thumbnail = styled.img`
31
+ position: absolute;
32
+ inset: 0;
33
+ width: 100%;
34
+ height: 100%;
35
+ object-fit: ${({ $objectFit }) => $objectFit};
36
+ display: block;
37
+ opacity: ${({ $visible }) => $visible ? 1 : 0};
38
+ transition: opacity ${"200ms"};
39
+ `;
40
+ const ImageShimmer = styled(LoadingShimmer)`
41
+ position: absolute;
42
+ inset: 0;
43
+ width: 100%;
44
+ height: 100%;
45
+ border-radius: 0;
46
+ `;
47
+ const EmptyState = styled.div`
48
+ position: absolute;
49
+ inset: 0;
50
+ display: flex;
51
+ flex-direction: column;
52
+ align-items: center;
53
+ justify-content: center;
54
+ gap: ${Spacing[1]};
55
+ color: ${Color.BorderIconDisabled};
56
+ padding: ${Spacing[3]};
57
+ text-align: center;
58
+ `;
59
+ const MetadataContainer = styled.div`
60
+ padding: ${Spacing[3]};
61
+ background-color: ${({ theme }) => theme.color.background.primary};
62
+ border-top: 1px solid ${({ theme }) => theme.color.border.primary};
63
+ transition: background-color ${"200ms"};
64
+ `;
65
+ const MetadataRow = styled.div`
66
+ width: 100%;
67
+ // Without these Stickers get bottom aligned
68
+ display: flex;
69
+ align-items: flex-start;
70
+ `;
71
+ const SelectionOverlay = styled.div`
72
+ position: absolute;
73
+ top: ${OVERLAY_INSET};
74
+ left: ${OVERLAY_INSET};
75
+ z-index: 1;
76
+ `;
77
+ const ActionsOverlay = styled.div`
78
+ position: absolute;
79
+ top: ${OVERLAY_INSET};
80
+ right: ${OVERLAY_INSET};
81
+ z-index: 1;
82
+ `;
83
+ const LockedOverlay = styled.div`
84
+ position: absolute;
85
+ top: ${OVERLAY_INSET};
86
+ right: ${OVERLAY_INSET};
87
+ z-index: 1;
88
+ display: inline-flex;
89
+ align-items: center;
90
+ justify-content: center;
91
+ color: ${({ theme }) => theme.color.text.secondary};
92
+ `;
93
+ const Root = styled.div`
94
+ position: relative;
95
+ display: flex;
96
+ flex-direction: column;
97
+ width: 100%;
98
+ min-width: ${MIN_WIDTH};
99
+ max-width: ${MAX_WIDTH};
100
+ background-color: ${({ theme }) => theme.color.background.primary};
101
+ border: 1px solid ${({ theme }) => theme.color.border.primary};
102
+ border-radius: ${({ theme }) => theme.card.borderRadius};
103
+ box-sizing: border-box;
104
+ overflow: hidden;
105
+ ${focusOutline};
106
+
107
+ ${({ $clickable }) => $clickable && css`
108
+ cursor: pointer;
109
+ `}
110
+
111
+ &:hover ${MetadataContainer} {
112
+ background-color: ${({ theme }) => theme.color.background.highlight};
113
+ }
114
+ `;
115
+ const stopPropagation = (e) => {
116
+ e.stopPropagation();
117
+ };
118
+ const ImageTile = ({ src, alt = "", objectFit = "cover", selectable = false, selected = false, onSelectedChange, selectionLabel, actions, locked = false, lockedTooltip, metadata, onClick, ...props }) => {
119
+ const [loaded, setLoaded] = useState(false);
120
+ const [hasError, setHasError] = useState(false);
121
+ useEffect(() => {
122
+ setLoaded(false);
123
+ setHasError(false);
124
+ }, [src]);
125
+ const hasSrc = Boolean(src);
126
+ const isLoading = hasSrc && !loaded && !hasError;
127
+ const showEmpty = !hasSrc || hasError;
128
+ const visibleActions = actions?.filter((action) => !action.hidden) ?? [];
129
+ const renderActions = !locked && visibleActions.length > 0;
130
+ const clickable = Boolean(onClick);
131
+ const handleKeyDown = (e) => {
132
+ if (!onClick) return;
133
+ if (e.target !== e.currentTarget) return;
134
+ if (e.key === "Enter" || e.key === " ") {
135
+ e.preventDefault();
136
+ e.currentTarget.click();
137
+ }
138
+ };
139
+ const accessibleSelectionLabel = selectionLabel ?? (alt ? `Select ${alt}` : DEFAULT_SELECTION_LABEL);
140
+ const renderMetadata = (metadata?.length ?? 0) > 0 || isLoading;
141
+ return /* @__PURE__ */ jsxs(Root, {
142
+ $clickable: clickable,
143
+ onClick,
144
+ onKeyDown: clickable ? handleKeyDown : void 0,
145
+ role: clickable ? "button" : void 0,
146
+ tabIndex: clickable ? 0 : void 0,
147
+ ...props,
148
+ children: [/* @__PURE__ */ jsxs(ImageContainer, { children: [
149
+ hasSrc && !hasError && /* @__PURE__ */ jsx(Thumbnail, {
150
+ $visible: loaded,
151
+ $objectFit: objectFit,
152
+ src: src ?? void 0,
153
+ alt,
154
+ onLoad: () => setLoaded(true),
155
+ onError: () => setHasError(true)
156
+ }),
157
+ isLoading && /* @__PURE__ */ jsx(ImageShimmer, {}),
158
+ showEmpty && /* @__PURE__ */ jsxs(EmptyState, { children: [/* @__PURE__ */ jsx(ImageIcon, {
159
+ size: 24,
160
+ "aria-hidden": true
161
+ }), /* @__PURE__ */ jsx(Paragraph, {
162
+ size: "sm",
163
+ color: "secondary",
164
+ as: "span",
165
+ children: EMPTY_COPY
166
+ })] }),
167
+ selectable && /* @__PURE__ */ jsx(SelectionOverlay, {
168
+ onClick: stopPropagation,
169
+ children: /* @__PURE__ */ jsx(Checkbox, {
170
+ size: "sm",
171
+ checked: selected,
172
+ onChange: (e) => onSelectedChange?.(e.target.checked),
173
+ "aria-label": accessibleSelectionLabel
174
+ })
175
+ }),
176
+ renderActions && /* @__PURE__ */ jsx(ActionsOverlay, {
177
+ onClick: stopPropagation,
178
+ children: /* @__PURE__ */ jsx(DropdownMenu_default, {
179
+ portal: true,
180
+ trigger: /* @__PURE__ */ jsx(IconButton, {
181
+ size: "sm",
182
+ "aria-label": "More actions",
183
+ children: /* @__PURE__ */ jsx(MoreIcon, {})
184
+ }),
185
+ children: visibleActions.map((action, idx) => /* @__PURE__ */ jsx(DropdownMenu_default.Item, {
186
+ prefixIcon: action.prefixIcon,
187
+ suffixIcon: action.suffixIcon,
188
+ disabled: action.disabled,
189
+ variant: action.variant === "danger" ? "danger" : "basic",
190
+ onClick: (e) => {
191
+ if (action.disabled) return;
192
+ return action.onClick?.(e);
193
+ },
194
+ children: action.label
195
+ }, action.id ?? `${action.label}-${idx}`))
196
+ })
197
+ }),
198
+ locked && /* @__PURE__ */ jsx(LockedOverlay, {
199
+ onClick: stopPropagation,
200
+ children: lockedTooltip ? /* @__PURE__ */ jsx(Tooltip, {
201
+ iconTrigger: /* @__PURE__ */ jsx(LockedIcon, { size: 16 }),
202
+ "aria-label": lockedTooltip,
203
+ children: lockedTooltip
204
+ }) : /* @__PURE__ */ jsx(LockedIcon, {
205
+ size: 16,
206
+ "aria-label": "Locked"
207
+ })
208
+ })
209
+ ] }), renderMetadata && /* @__PURE__ */ jsx(MetadataContainer, { children: isLoading ? /* @__PURE__ */ jsx(LoadingShimmer, {
210
+ width: "60%",
211
+ height: "14px"
212
+ }) : /* @__PURE__ */ jsx(Stack, {
213
+ spacing: Spacing[2],
214
+ children: metadata?.map((row, idx) => /* @__PURE__ */ jsx(MetadataRow, { children: row }, idx))
215
+ }) })]
216
+ });
217
+ };
218
+ //#endregion
219
+ export { ImageTile, ImageTile as default };
220
+
221
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["DropdownMenu"],"sources":["../../../components/ImageTile/ImageTile.tsx"],"sourcesContent":["import { IconButton } from '@persona/design-system/components/Button';\nimport Checkbox from '@persona/design-system/components/Checkbox';\nimport DropdownMenu from '@persona/design-system/components/DropdownMenu';\nimport { LoadingShimmer } from '@persona/design-system/components/LoadingShimmer';\nimport Stack from '@persona/design-system/components/Stack';\nimport { Paragraph } from '@persona/design-system/components/Text';\nimport { Tooltip } from '@persona/design-system/components/Tooltip';\nimport { focusOutline } from '@persona/design-system/mixins/focus';\nimport { TransitionDuration } from '@persona/design-system/variables/transitions';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { ImageIcon, LockedIcon, MoreIcon } from '@persona/icons';\nimport {\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n useEffect,\n useState,\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { TextAction } from 'design-system/types/Action';\n\nconst MIN_WIDTH = '180px';\nconst MAX_WIDTH = '420px';\nconst OVERLAY_INSET = Spacing[2];\nconst EMPTY_COPY = 'No available preview';\nconst DEFAULT_SELECTION_LABEL = 'Select image';\n\nexport interface ImageTileProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n /** URL of the thumbnail. While loading shows shimmer; on error shows the empty fallback. */\n src: string | null;\n /** Alt text for the thumbnail. Also seeds the default checkbox label. */\n alt?: string;\n /** How the thumbnail fills its area. `cover` crops overflow; `contain` letterboxes to fit. Defaults to `cover`. */\n objectFit?: 'cover' | 'contain';\n\n /** Enables the selection checkbox (top-left). */\n selectable?: boolean;\n /** Controlled checked state for the selection checkbox. */\n selected?: boolean;\n /** Called with the new checked value when the checkbox is toggled. */\n onSelectedChange?: (selected: boolean) => void;\n /** Accessible label for the checkbox. Defaults to \"Select {alt}\" or \"Select image\". */\n selectionLabel?: string;\n\n /**\n * Action menu items rendered behind a 3-dot IconButton in the top-right.\n * Ignored when `locked` is true. Pass an empty array (or omit) to hide the menu.\n */\n actions?: TextAction[];\n /**\n * Replaces the action menu with a non-interactive lock icon. Indicates the\n * viewer does not have permission to edit. `actions` are ignored.\n */\n locked?: boolean;\n /** Tooltip string shown when hovering the lock icon. */\n lockedTooltip?: string;\n\n /**\n * Metadata rows rendered beneath the thumbnail. Each entry becomes a\n * full-width, left-aligned row in a vertical Stack. Block content fills the\n * row; inline content (e.g. a Sticker) hugs the left. Region is omitted when\n * the array is empty or undefined.\n */\n metadata?: ReactNode[];\n\n /** Optional click handler for the whole tile. When provided, the tile is keyboard-activatable. */\n onClick?: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nconst ImageContainer = styled.div`\n position: relative;\n aspect-ratio: 200 / 144;\n background-color: ${({ theme }) => theme.color.background.secondary};\n overflow: hidden;\n`;\n\nconst Thumbnail = styled.img<{ $visible: boolean; $objectFit: 'cover' | 'contain' }>`\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: ${({ $objectFit }) => $objectFit};\n display: block;\n opacity: ${({ $visible }) => ($visible ? 1 : 0)};\n transition: opacity ${TransitionDuration.Fast};\n`;\n\nconst ImageShimmer = styled(LoadingShimmer)`\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n border-radius: 0;\n`;\n\nconst EmptyState = styled.div`\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: ${Spacing[1]};\n color: ${Color.BorderIconDisabled};\n padding: ${Spacing[3]};\n text-align: center;\n`;\n\nconst MetadataContainer = styled.div`\n padding: ${Spacing[3]};\n background-color: ${({ theme }) => theme.color.background.primary};\n border-top: 1px solid ${({ theme }) => theme.color.border.primary};\n transition: background-color ${TransitionDuration.Fast};\n`;\n\nconst MetadataRow = styled.div`\n width: 100%;\n // Without these Stickers get bottom aligned\n display: flex;\n align-items: flex-start;\n`;\n\nconst SelectionOverlay = styled.div`\n position: absolute;\n top: ${OVERLAY_INSET};\n left: ${OVERLAY_INSET};\n z-index: 1;\n`;\n\nconst ActionsOverlay = styled.div`\n position: absolute;\n top: ${OVERLAY_INSET};\n right: ${OVERLAY_INSET};\n z-index: 1;\n`;\n\nconst LockedOverlay = styled.div`\n position: absolute;\n top: ${OVERLAY_INSET};\n right: ${OVERLAY_INSET};\n z-index: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.color.text.secondary};\n`;\n\nconst Root = styled.div<{ $clickable: boolean }>`\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: ${MIN_WIDTH};\n max-width: ${MAX_WIDTH};\n background-color: ${({ theme }) => theme.color.background.primary};\n border: 1px solid ${({ theme }) => theme.color.border.primary};\n border-radius: ${({ theme }) => theme.card.borderRadius};\n box-sizing: border-box;\n overflow: hidden;\n ${focusOutline};\n\n ${({ $clickable }) =>\n $clickable &&\n css`\n cursor: pointer;\n `}\n\n &:hover ${MetadataContainer} {\n background-color: ${({ theme }) => theme.color.background.highlight};\n }\n`;\n\nconst stopPropagation = (e: MouseEvent) => {\n e.stopPropagation();\n};\n\nexport const ImageTile = ({\n src,\n alt = '',\n objectFit = 'cover',\n selectable = false,\n selected = false,\n onSelectedChange,\n selectionLabel,\n actions,\n locked = false,\n lockedTooltip,\n metadata,\n onClick,\n ...props\n}: ImageTileProps) => {\n const [loaded, setLoaded] = useState(false);\n const [hasError, setHasError] = useState(false);\n\n useEffect(() => {\n setLoaded(false);\n setHasError(false);\n }, [src]);\n\n const hasSrc = Boolean(src);\n const isLoading = hasSrc && !loaded && !hasError;\n const showEmpty = !hasSrc || hasError;\n\n const visibleActions = actions?.filter((action) => !action.hidden) ?? [];\n const renderActions = !locked && visibleActions.length > 0;\n const clickable = Boolean(onClick);\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (!onClick) {\n return;\n }\n // Only activate when the key event originates from the tile root itself.\n // Interactive descendants (selection checkbox, action buttons) must keep\n // their own native Space/Enter behavior.\n if (e.target !== e.currentTarget) {\n return;\n }\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.currentTarget.click();\n }\n };\n\n const accessibleSelectionLabel =\n selectionLabel ?? (alt ? `Select ${alt}` : DEFAULT_SELECTION_LABEL);\n\n const hasMetadata = (metadata?.length ?? 0) > 0;\n const renderMetadata = hasMetadata || isLoading;\n\n return (\n <Root\n $clickable={clickable}\n onClick={onClick}\n onKeyDown={clickable ? handleKeyDown : undefined}\n role={clickable ? 'button' : undefined}\n tabIndex={clickable ? 0 : undefined}\n {...props}\n >\n <ImageContainer>\n {hasSrc && !hasError && (\n <Thumbnail\n $visible={loaded}\n $objectFit={objectFit}\n src={src ?? undefined}\n alt={alt}\n onLoad={() => setLoaded(true)}\n onError={() => setHasError(true)}\n />\n )}\n {isLoading && <ImageShimmer />}\n {showEmpty && (\n <EmptyState>\n <ImageIcon size={24} aria-hidden />\n <Paragraph size='sm' color='secondary' as='span'>\n {EMPTY_COPY}\n </Paragraph>\n </EmptyState>\n )}\n\n {selectable && (\n <SelectionOverlay onClick={stopPropagation}>\n <Checkbox\n size='sm'\n checked={selected}\n onChange={(e) => onSelectedChange?.(e.target.checked)}\n aria-label={accessibleSelectionLabel}\n />\n </SelectionOverlay>\n )}\n\n {renderActions && (\n <ActionsOverlay onClick={stopPropagation}>\n <DropdownMenu\n portal\n trigger={\n <IconButton size='sm' aria-label='More actions'>\n <MoreIcon />\n </IconButton>\n }\n >\n {visibleActions.map((action, idx) => (\n <DropdownMenu.Item\n key={action.id ?? `${action.label}-${idx}`}\n prefixIcon={action.prefixIcon}\n suffixIcon={action.suffixIcon}\n disabled={action.disabled}\n variant={action.variant === 'danger' ? 'danger' : 'basic'}\n onClick={(e) => {\n if (action.disabled) {\n return;\n }\n return action.onClick?.(e);\n }}\n >\n {action.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu>\n </ActionsOverlay>\n )}\n\n {locked && (\n <LockedOverlay onClick={stopPropagation}>\n {lockedTooltip ? (\n <Tooltip iconTrigger={<LockedIcon size={16} />} aria-label={lockedTooltip}>\n {lockedTooltip}\n </Tooltip>\n ) : (\n <LockedIcon size={16} aria-label='Locked' />\n )}\n </LockedOverlay>\n )}\n </ImageContainer>\n\n {renderMetadata && (\n <MetadataContainer>\n {isLoading ? (\n <LoadingShimmer width='60%' height='14px' />\n ) : (\n <Stack spacing={Spacing[2]}>\n {metadata?.map((row, idx) => (\n <MetadataRow key={idx}>{row}</MetadataRow>\n ))}\n </Stack>\n )}\n </MetadataContainer>\n )}\n </Root>\n );\n};\n\nexport default ImageTile;\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ require("../../chunk-CoPdw6nB.cjs");
6
+ const require_Input = require("../../Input-DHOsR4cl.cjs");
7
+ //#region components/Input/index.ts
8
+ var Input_default = require_Input.Input;
9
+ //#endregion
10
+ exports.ClearButton = require_Input.ClearButton;
11
+ exports.Input = require_Input.Input;
12
+ exports.InputGroup = require_Input.InputGroup;
13
+ exports.default = Input_default;
14
+
15
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["Input"],"sources":["../../../components/Input/index.ts"],"sourcesContent":["import Input from './Input';\n\nexport * from './Input';\n\nexport default Input;\n\nexport type { InputProps } from './Input';\n"],"mappings":";;;;;;;AAIA,IAAA,gBAAeA,cAAAA"}
@@ -0,0 +1,2 @@
1
+ import { a as InputProps, i as InputGroupProps, n as Input, r as InputGroup, t as ClearButton } from "../../Input-XppkvfUf.cjs";
2
+ export { ClearButton, Input, Input as default, InputGroup, InputGroupProps, InputProps };
@@ -0,0 +1,2 @@
1
+ import { a as InputProps, i as InputGroupProps, n as Input, r as InputGroup, t as ClearButton } from "../../Input-Cv5qieRg.mjs";
2
+ export { ClearButton, Input, Input as default, InputGroup, InputGroupProps, InputProps };
@@ -0,0 +1,7 @@
1
+ import { n as Input, r as InputGroup, t as ClearButton } from "../../Input-eoFk39bE.mjs";
2
+ //#region components/Input/index.ts
3
+ var Input_default = Input;
4
+ //#endregion
5
+ export { ClearButton, Input, InputGroup, Input_default as default };
6
+
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Input/index.ts"],"sourcesContent":["import Input from './Input';\n\nexport * from './Input';\n\nexport default Input;\n\nexport type { InputProps } from './Input';\n"],"mappings":";;AAIA,IAAA,gBAAe"}
@@ -0,0 +1,87 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_chunk = require("../../chunk-CoPdw6nB.cjs");
6
+ const require_mixins_focus = require("../../mixins/focus.cjs");
7
+ require("../../variables/transitions.cjs");
8
+ const require_mixins_text = require("../../mixins/text.cjs");
9
+ let _persona_design_tokens = require("@persona/design-tokens");
10
+ let styled_components = require("styled-components");
11
+ styled_components = require_chunk.__toESM(styled_components);
12
+ let react_jsx_runtime = require("react/jsx-runtime");
13
+ let react_router_dom = require("react-router-dom");
14
+ let _persona_icons = require("@persona/icons");
15
+ //#region components/Link/Link.tsx
16
+ const IconContainer = styled_components.default.span`
17
+ display: inline-block;
18
+ vertical-align: middle;
19
+ /* Uses padding here since we can't define flex on the element for multiline support */
20
+ padding-left: 2px;
21
+ /* Needed to reset the height of the container for SVG */
22
+ line-height: 0;
23
+ position: relative;
24
+ /* Optical alignment adjustments */
25
+ bottom: 1px;
26
+ `;
27
+ const baseLinkStyles = styled_components.css`
28
+ ${require_mixins_text.paragraphMixins.md};
29
+ color: ${_persona_design_tokens.Color.CorePurple600};
30
+ width: fit-content;
31
+ position: relative;
32
+ overflow: hidden;
33
+ text-decoration: underline;
34
+
35
+ transition:
36
+ color ${"100ms"} ease-out,
37
+ text-underline-offset ${"100ms"} ease-out;
38
+ text-underline-offset: 2px;
39
+
40
+ &:hover {
41
+ /* TODO (ivan): move to semantic tokens */
42
+ color: ${_persona_design_tokens.Color.CorePurple800};
43
+ text-underline-offset: ${_persona_design_tokens.Spacing[1]};
44
+ }
45
+
46
+ border-radius: ${({ theme }) => theme.button.borderRadius};
47
+ ${require_mixins_focus.focusOutline}
48
+
49
+ &:active {
50
+ /* TODO (ivan): move to semantic tokens */
51
+ color: ${_persona_design_tokens.Color.CorePurple900};
52
+ }
53
+ `;
54
+ const StyledAnchor = styled_components.default.a`
55
+ ${baseLinkStyles}
56
+ `;
57
+ const StyledRouterLink = (0, styled_components.default)(react_router_dom.Link)`
58
+ ${baseLinkStyles}
59
+ `;
60
+ const Link = ({ children, url, ...props }) => {
61
+ const isAbsoluteUrl = /^https?:\/\//.test(url);
62
+ const hasBlankTarget = props.target === "_blank";
63
+ if (isAbsoluteUrl || hasBlankTarget) {
64
+ const { "aria-label": ariaLabel, ...anchorProps } = props;
65
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(StyledAnchor, {
66
+ href: url,
67
+ target: "_blank",
68
+ rel: "noopener noreferrer",
69
+ "aria-label": ariaLabel,
70
+ title: ariaLabel ? void 0 : "Opens in new window",
71
+ ...anchorProps,
72
+ children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconContainer, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_persona_icons.LinkExternalIcon, { size: 12 }) })]
73
+ });
74
+ }
75
+ const { "aria-label": ariaLabel, ...routerProps } = props;
76
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledRouterLink, {
77
+ to: url,
78
+ "aria-label": ariaLabel,
79
+ ...routerProps,
80
+ children
81
+ });
82
+ };
83
+ //#endregion
84
+ exports.Link = Link;
85
+ exports.default = Link;
86
+
87
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["paragraphMixins","Color","Spacing","focusOutline","RouterLink","LinkExternalIcon"],"sources":["../../../components/Link/Link.tsx"],"sourcesContent":["import { Color, Spacing } from '@persona/design-tokens';\nimport { LinkExternalIcon } from '@persona/icons';\nimport type { AnchorHTMLAttributes, ReactNode } from 'react';\nimport { Link as RouterLink, type LinkProps as RouterLinkProps } from 'react-router-dom';\nimport styled, { css } from 'styled-components';\n\nimport { focusOutline } from 'design-system/mixins/focus';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ntype Target = '_blank' | '_self' | '_parent' | '_top';\n\ninterface BaseLinkProps {\n /**\n * The content to display inside the link.\n *\n */\n children?: ReactNode;\n /**\n * Provides an accessible name for the link when the visible text alone\n * isn't descriptive enough for screen reader users\n */\n 'aria-label'?: string;\n}\n\ninterface ExternalLinkProps extends BaseLinkProps, AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * The URL to navigate to. Can be internal (e.g., \"/dashboard\") or external (e.g., \"https://example.com\").\n */\n url: string;\n\n /**\n * Where to open the link. Use \"_blank\" for external links to open in a new tab.\n */\n target?: Target;\n}\n\ninterface InternalLinkProps extends BaseLinkProps, Omit<RouterLinkProps, 'to'> {\n /**\n * The URL to navigate to. Should be an internal route (e.g., \"/dashboard\").\n */\n url: string;\n}\n\nexport type LinkProps = ExternalLinkProps | InternalLinkProps;\n\nconst IconContainer = styled.span`\n display: inline-block;\n vertical-align: middle;\n /* Uses padding here since we can't define flex on the element for multiline support */\n padding-left: 2px;\n /* Needed to reset the height of the container for SVG */\n line-height: 0;\n position: relative;\n /* Optical alignment adjustments */\n bottom: 1px;\n`;\n\nconst baseLinkStyles = css`\n ${paragraphMixins.md};\n color: ${Color.CorePurple600};\n width: fit-content;\n position: relative;\n overflow: hidden;\n text-decoration: underline;\n\n transition:\n color ${TransitionDuration.ExtraFast} ease-out,\n text-underline-offset ${TransitionDuration.ExtraFast} ease-out;\n text-underline-offset: 2px;\n\n &:hover {\n /* TODO (ivan): move to semantic tokens */\n color: ${Color.CorePurple800};\n text-underline-offset: ${Spacing[1]};\n }\n\n border-radius: ${({ theme }) => theme.button.borderRadius};\n ${focusOutline}\n\n &:active {\n /* TODO (ivan): move to semantic tokens */\n color: ${Color.CorePurple900};\n }\n`;\n\nconst StyledAnchor = styled.a`\n ${baseLinkStyles}\n`;\n\nconst StyledRouterLink = styled(RouterLink)`\n ${baseLinkStyles}\n`;\n\nexport const Link = ({ children, url, ...props }: LinkProps) => {\n // Check if the URL is external by looking at the protocol or if target is _blank\n const isAbsoluteUrl = /^https?:\\/\\//.test(url);\n const hasBlankTarget = props.target === '_blank';\n const isExternal = isAbsoluteUrl || hasBlankTarget;\n\n if (isExternal) {\n const { 'aria-label': ariaLabel, ...anchorProps } = props;\n const externalProps = {\n href: url,\n target: '_blank',\n rel: 'noopener noreferrer',\n 'aria-label': ariaLabel,\n // Automatically inform screen readers that link opens in new window\n title: ariaLabel ? undefined : 'Opens in new window',\n ...anchorProps,\n };\n\n return (\n <StyledAnchor {...externalProps}>\n {children}\n <IconContainer>\n <LinkExternalIcon size={12} />\n </IconContainer>\n </StyledAnchor>\n );\n }\n\n // Internal link using React Router\n const { 'aria-label': ariaLabel, ...routerProps } = props;\n const internalProps = {\n to: url,\n 'aria-label': ariaLabel,\n\n ...routerProps,\n };\n\n return <StyledRouterLink {...internalProps}>{children}</StyledRouterLink>;\n};\n\nexport default Link;\n"],"mappings":";;;;;;;;;;;;;;;AA8CA,MAAM,gBAAgB,kBAAA,QAAO,IAAI;;;;;;;;;;;AAYjC,MAAM,iBAAiB,kBAAA,GAAG;IACtBA,oBAAAA,gBAAgB,GAAG;WACZC,uBAAAA,MAAM,cAAc;;;;;;;oBAOU;oCACgB;;;;;aAK5CA,uBAAAA,MAAM,cAAc;6BACJC,uBAAAA,QAAQ,GAAG;;;oBAGpB,EAAE,YAAY,MAAM,OAAO,aAAa;IACxDC,qBAAAA,aAAa;;;;aAIJF,uBAAAA,MAAM,cAAc;;;AAIjC,MAAM,eAAe,kBAAA,QAAO,CAAC;IACzB,eAAe;;AAGnB,MAAM,mBAAmB,CAAA,GAAA,kBAAA,SAAOG,iBAAAA,KAAW;IACvC,eAAe;;AAGnB,MAAa,QAAQ,EAAE,UAAU,KAAK,GAAG,YAAuB;CAE9D,MAAM,gBAAgB,eAAe,KAAK,IAAI;CAC9C,MAAM,iBAAiB,MAAM,WAAW;AAGxC,KAFmB,iBAAiB,gBAEpB;EACd,MAAM,EAAE,cAAc,WAAW,GAAG,gBAAgB;AAWpD,SACE,iBAAA,GAAA,kBAAA,MAAC,cAAD;GAVA,MAAM;GACN,QAAQ;GACR,KAAK;GACL,cAAc;GAEd,OAAO,YAAY,KAAA,IAAY;GAC/B,GAAG;aAIH,CACG,UACD,iBAAA,GAAA,kBAAA,KAAC,eAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAACC,eAAAA,kBAAD,EAAkB,MAAM,IAAM,CAAA,EAChB,CAAA,CACH;;;CAKnB,MAAM,EAAE,cAAc,WAAW,GAAG,gBAAgB;AAQpD,QAAO,iBAAA,GAAA,kBAAA,KAAC,kBAAD;EANL,IAAI;EACJ,cAAc;EAEd,GAAG;EAGwC;EAA4B,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { Link } from "../../Link.cjs";
2
+ export { Link, Link as default };
@@ -0,0 +1,2 @@
1
+ import { Link } from "../../Link.mjs";
2
+ export { Link, Link as default };
@@ -0,0 +1,80 @@
1
+ import { focusOutline } from "../../mixins/focus.mjs";
2
+ import "../../variables/transitions.mjs";
3
+ import { paragraphMixins } from "../../mixins/text.mjs";
4
+ import { Color, Spacing } from "@persona/design-tokens";
5
+ import styled, { css } from "styled-components";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Link as Link$1 } from "react-router-dom";
8
+ import { LinkExternalIcon } from "@persona/icons";
9
+ //#region components/Link/Link.tsx
10
+ const IconContainer = styled.span`
11
+ display: inline-block;
12
+ vertical-align: middle;
13
+ /* Uses padding here since we can't define flex on the element for multiline support */
14
+ padding-left: 2px;
15
+ /* Needed to reset the height of the container for SVG */
16
+ line-height: 0;
17
+ position: relative;
18
+ /* Optical alignment adjustments */
19
+ bottom: 1px;
20
+ `;
21
+ const baseLinkStyles = css`
22
+ ${paragraphMixins.md};
23
+ color: ${Color.CorePurple600};
24
+ width: fit-content;
25
+ position: relative;
26
+ overflow: hidden;
27
+ text-decoration: underline;
28
+
29
+ transition:
30
+ color ${"100ms"} ease-out,
31
+ text-underline-offset ${"100ms"} ease-out;
32
+ text-underline-offset: 2px;
33
+
34
+ &:hover {
35
+ /* TODO (ivan): move to semantic tokens */
36
+ color: ${Color.CorePurple800};
37
+ text-underline-offset: ${Spacing[1]};
38
+ }
39
+
40
+ border-radius: ${({ theme }) => theme.button.borderRadius};
41
+ ${focusOutline}
42
+
43
+ &:active {
44
+ /* TODO (ivan): move to semantic tokens */
45
+ color: ${Color.CorePurple900};
46
+ }
47
+ `;
48
+ const StyledAnchor = styled.a`
49
+ ${baseLinkStyles}
50
+ `;
51
+ const StyledRouterLink = styled(Link$1)`
52
+ ${baseLinkStyles}
53
+ `;
54
+ const Link = ({ children, url, ...props }) => {
55
+ const isAbsoluteUrl = /^https?:\/\//.test(url);
56
+ const hasBlankTarget = props.target === "_blank";
57
+ if (isAbsoluteUrl || hasBlankTarget) {
58
+ const { "aria-label": ariaLabel, ...anchorProps } = props;
59
+ return /* @__PURE__ */ jsxs(StyledAnchor, {
60
+ href: url,
61
+ target: "_blank",
62
+ rel: "noopener noreferrer",
63
+ "aria-label": ariaLabel,
64
+ title: ariaLabel ? void 0 : "Opens in new window",
65
+ ...anchorProps,
66
+ children: [children, /* @__PURE__ */ jsx(IconContainer, { children: /* @__PURE__ */ jsx(LinkExternalIcon, { size: 12 }) })]
67
+ });
68
+ }
69
+ const { "aria-label": ariaLabel, ...routerProps } = props;
70
+ return /* @__PURE__ */ jsx(StyledRouterLink, {
71
+ to: url,
72
+ "aria-label": ariaLabel,
73
+ ...routerProps,
74
+ children
75
+ });
76
+ };
77
+ //#endregion
78
+ export { Link, Link as default };
79
+
80
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["RouterLink"],"sources":["../../../components/Link/Link.tsx"],"sourcesContent":["import { Color, Spacing } from '@persona/design-tokens';\nimport { LinkExternalIcon } from '@persona/icons';\nimport type { AnchorHTMLAttributes, ReactNode } from 'react';\nimport { Link as RouterLink, type LinkProps as RouterLinkProps } from 'react-router-dom';\nimport styled, { css } from 'styled-components';\n\nimport { focusOutline } from 'design-system/mixins/focus';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ntype Target = '_blank' | '_self' | '_parent' | '_top';\n\ninterface BaseLinkProps {\n /**\n * The content to display inside the link.\n *\n */\n children?: ReactNode;\n /**\n * Provides an accessible name for the link when the visible text alone\n * isn't descriptive enough for screen reader users\n */\n 'aria-label'?: string;\n}\n\ninterface ExternalLinkProps extends BaseLinkProps, AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * The URL to navigate to. Can be internal (e.g., \"/dashboard\") or external (e.g., \"https://example.com\").\n */\n url: string;\n\n /**\n * Where to open the link. Use \"_blank\" for external links to open in a new tab.\n */\n target?: Target;\n}\n\ninterface InternalLinkProps extends BaseLinkProps, Omit<RouterLinkProps, 'to'> {\n /**\n * The URL to navigate to. Should be an internal route (e.g., \"/dashboard\").\n */\n url: string;\n}\n\nexport type LinkProps = ExternalLinkProps | InternalLinkProps;\n\nconst IconContainer = styled.span`\n display: inline-block;\n vertical-align: middle;\n /* Uses padding here since we can't define flex on the element for multiline support */\n padding-left: 2px;\n /* Needed to reset the height of the container for SVG */\n line-height: 0;\n position: relative;\n /* Optical alignment adjustments */\n bottom: 1px;\n`;\n\nconst baseLinkStyles = css`\n ${paragraphMixins.md};\n color: ${Color.CorePurple600};\n width: fit-content;\n position: relative;\n overflow: hidden;\n text-decoration: underline;\n\n transition:\n color ${TransitionDuration.ExtraFast} ease-out,\n text-underline-offset ${TransitionDuration.ExtraFast} ease-out;\n text-underline-offset: 2px;\n\n &:hover {\n /* TODO (ivan): move to semantic tokens */\n color: ${Color.CorePurple800};\n text-underline-offset: ${Spacing[1]};\n }\n\n border-radius: ${({ theme }) => theme.button.borderRadius};\n ${focusOutline}\n\n &:active {\n /* TODO (ivan): move to semantic tokens */\n color: ${Color.CorePurple900};\n }\n`;\n\nconst StyledAnchor = styled.a`\n ${baseLinkStyles}\n`;\n\nconst StyledRouterLink = styled(RouterLink)`\n ${baseLinkStyles}\n`;\n\nexport const Link = ({ children, url, ...props }: LinkProps) => {\n // Check if the URL is external by looking at the protocol or if target is _blank\n const isAbsoluteUrl = /^https?:\\/\\//.test(url);\n const hasBlankTarget = props.target === '_blank';\n const isExternal = isAbsoluteUrl || hasBlankTarget;\n\n if (isExternal) {\n const { 'aria-label': ariaLabel, ...anchorProps } = props;\n const externalProps = {\n href: url,\n target: '_blank',\n rel: 'noopener noreferrer',\n 'aria-label': ariaLabel,\n // Automatically inform screen readers that link opens in new window\n title: ariaLabel ? undefined : 'Opens in new window',\n ...anchorProps,\n };\n\n return (\n <StyledAnchor {...externalProps}>\n {children}\n <IconContainer>\n <LinkExternalIcon size={12} />\n </IconContainer>\n </StyledAnchor>\n );\n }\n\n // Internal link using React Router\n const { 'aria-label': ariaLabel, ...routerProps } = props;\n const internalProps = {\n to: url,\n 'aria-label': ariaLabel,\n\n ...routerProps,\n };\n\n return <StyledRouterLink {...internalProps}>{children}</StyledRouterLink>;\n};\n\nexport default Link;\n"],"mappings":";;;;;;;;;AA8CA,MAAM,gBAAgB,OAAO,IAAI;;;;;;;;;;;AAYjC,MAAM,iBAAiB,GAAG;IACtB,gBAAgB,GAAG;WACZ,MAAM,cAAc;;;;;;;oBAOU;oCACgB;;;;;aAK5C,MAAM,cAAc;6BACJ,QAAQ,GAAG;;;oBAGpB,EAAE,YAAY,MAAM,OAAO,aAAa;IACxD,aAAa;;;;aAIJ,MAAM,cAAc;;;AAIjC,MAAM,eAAe,OAAO,CAAC;IACzB,eAAe;;AAGnB,MAAM,mBAAmB,OAAOA,OAAW;IACvC,eAAe;;AAGnB,MAAa,QAAQ,EAAE,UAAU,KAAK,GAAG,YAAuB;CAE9D,MAAM,gBAAgB,eAAe,KAAK,IAAI;CAC9C,MAAM,iBAAiB,MAAM,WAAW;AAGxC,KAFmB,iBAAiB,gBAEpB;EACd,MAAM,EAAE,cAAc,WAAW,GAAG,gBAAgB;AAWpD,SACE,qBAAC,cAAD;GAVA,MAAM;GACN,QAAQ;GACR,KAAK;GACL,cAAc;GAEd,OAAO,YAAY,KAAA,IAAY;GAC/B,GAAG;aAIH,CACG,UACD,oBAAC,eAAD,EAAA,UACE,oBAAC,kBAAD,EAAkB,MAAM,IAAM,CAAA,EAChB,CAAA,CACH;;;CAKnB,MAAM,EAAE,cAAc,WAAW,GAAG,gBAAgB;AAQpD,QAAO,oBAAC,kBAAD;EANL,IAAI;EACJ,cAAc;EAEd,GAAG;EAGwC;EAA4B,CAAA"}
@@ -0,0 +1,9 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ require("../../chunk-CoPdw6nB.cjs");
6
+ const require_ListBox = require("../../ListBox-CE3mfDSB.cjs");
7
+ exports.ListBox = require_ListBox.ListBox;
8
+ exports.default = require_ListBox.ListBox;
9
+ exports.useListBoxContext = require_ListBox.useListBoxContext;
@@ -0,0 +1,2 @@
1
+ import { i as useListBoxContext, n as ListBoxItemProps, r as ListBoxProps, t as ListBox } from "../../ListBox-DbyZFy2W.cjs";
2
+ export { ListBox, ListBox as default, ListBoxItemProps, ListBoxProps, useListBoxContext };
@@ -0,0 +1,2 @@
1
+ import { i as useListBoxContext, n as ListBoxItemProps, r as ListBoxProps, t as ListBox } from "../../ListBox-AyjzT6ra.mjs";
2
+ export { ListBox, ListBox as default, ListBoxItemProps, ListBoxProps, useListBoxContext };
@@ -0,0 +1,2 @@
1
+ import { n as useListBoxContext, t as ListBox } from "../../ListBox-Z1y0LG1H.mjs";
2
+ export { ListBox, ListBox as default, useListBoxContext };
@@ -0,0 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../../chunk-CoPdw6nB.cjs");
3
+ const require_LoadingShimmer = require("../../LoadingShimmer-DMK9RC4N.cjs");
4
+ exports.LoadingShimmer = require_LoadingShimmer.LoadingShimmer;
5
+ exports.LoadingShimmerHeading = require_LoadingShimmer.LoadingShimmerHeading;
6
+ exports.LoadingShimmerParagraph = require_LoadingShimmer.LoadingShimmerParagraph;
7
+ exports.MaybeLoadingShimmer = require_LoadingShimmer.MaybeLoadingShimmer;
@@ -0,0 +1,2 @@
1
+ import { LoadingShimmer, LoadingShimmerHeading, LoadingShimmerParagraph, MaybeLoadingShimmer } from "../../LoadingShimmer.cjs";
2
+ export { LoadingShimmer, LoadingShimmerHeading, LoadingShimmerParagraph, MaybeLoadingShimmer };
@@ -0,0 +1,2 @@
1
+ import { LoadingShimmer, LoadingShimmerHeading, LoadingShimmerParagraph, MaybeLoadingShimmer } from "../../LoadingShimmer.mjs";
2
+ export { LoadingShimmer, LoadingShimmerHeading, LoadingShimmerParagraph, MaybeLoadingShimmer };
@@ -0,0 +1,2 @@
1
+ import { i as MaybeLoadingShimmer, n as LoadingShimmerHeading, r as LoadingShimmerParagraph, t as LoadingShimmer } from "../../LoadingShimmer-CNE6JUVF.mjs";
2
+ export { LoadingShimmer, LoadingShimmerHeading, LoadingShimmerParagraph, MaybeLoadingShimmer };
@@ -0,0 +1,29 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ require("../../chunk-CoPdw6nB.cjs");
6
+ const require_Input = require("../../Input-DHOsR4cl.cjs");
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let react = require("react");
9
+ //#region components/MaskedInput/MaskedInput.tsx
10
+ const MaskedInputBase = (0, require("react-imask").IMaskMixin)(({ inputRef, size, componentProps, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Input.Input, {
11
+ ...props,
12
+ ...componentProps,
13
+ ref: inputRef
14
+ }));
15
+ const MaskedInput = (0, react.forwardRef)(function MaskedInput(props, ref) {
16
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MaskedInputBase, {
17
+ ...props,
18
+ componentProps: props,
19
+ inputRef: ref
20
+ });
21
+ });
22
+ //#endregion
23
+ //#region components/MaskedInput/index.ts
24
+ var MaskedInput_default = MaskedInput;
25
+ //#endregion
26
+ exports.MaskedInput = MaskedInput;
27
+ exports.default = MaskedInput_default;
28
+
29
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["Input"],"sources":["../../../components/MaskedInput/MaskedInput.tsx","../../../components/MaskedInput/index.ts"],"sourcesContent":["import { forwardRef, type Ref } from 'react';\nimport { IMaskMixin, type ReactElementProps } from 'react-imask';\nimport type { IMaskInputProps } from 'react-imask/mixin';\n\nimport Input, { type InputProps } from 'design-system/components/Input/Input';\n\ninterface MaskedInputBaseProps {\n inputRef: Ref<HTMLInputElement>;\n componentProps?: InputProps;\n}\n\nconst MaskedInputBase = IMaskMixin<HTMLInputElement, MaskedInputBaseProps>(\n ({\n inputRef,\n size,\n componentProps,\n ...props\n }: ReactElementProps<HTMLInputElement> & MaskedInputBaseProps) => (\n <Input {...props} {...componentProps} ref={inputRef} />\n ),\n);\n\nexport type MaskedInputProps = Omit<\n IMaskInputProps<HTMLInputElement>,\n 'inputRef' | 'componentProps' | 'size' | 'ref'\n> &\n InputProps;\n\nexport const MaskedInput = forwardRef<HTMLInputElement, MaskedInputProps>(function MaskedInput(\n props: MaskedInputProps,\n ref,\n) {\n return <MaskedInputBase {...props} componentProps={props} inputRef={ref} />;\n});\n\nexport default MaskedInput;\n","import MaskedInput from './MaskedInput';\n\nexport * from './MaskedInput';\n\nexport default MaskedInput;\n"],"mappings":";;;;;;;;;AAWA,MAAM,mBAAA,yBAAA,CAAA,aACH,EACC,UACA,MACA,gBACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,KAACA,cAAAA,OAAD;CAAO,GAAI;CAAO,GAAI;CAAgB,KAAK;CAAY,CAAA,CAE1D;AAQD,MAAa,eAAA,GAAA,MAAA,YAA6D,SAAS,YACjF,OACA,KACA;AACA,QAAO,iBAAA,GAAA,kBAAA,KAAC,iBAAD;EAAiB,GAAI;EAAO,gBAAgB;EAAO,UAAU;EAAO,CAAA;EAC3E;;;AC7BF,IAAA,sBAAe"}
@@ -0,0 +1,2 @@
1
+ import { MaskedInput, MaskedInputProps } from "../../MaskedInput.cjs";
2
+ export { MaskedInput, MaskedInput as default, MaskedInputProps };
@@ -0,0 +1,2 @@
1
+ import { MaskedInput, MaskedInputProps } from "../../MaskedInput.mjs";
2
+ export { MaskedInput, MaskedInput as default, MaskedInputProps };