@povio/ui 5.0.0-rc.2 → 5.0.0-rc.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 (436) hide show
  1. package/.rulesync/rules/ui-buttons-and-content.md +3 -1
  2. package/README.md +50 -7
  3. package/dist/{Accordion-CzFKi8Bp.js → Accordion-BzwO4_ml.js} +20 -136
  4. package/dist/{Alert-T25LY8ZL.js → Alert-CnvEb1D_.js} +16 -12
  5. package/dist/{Alert-f1dG-4Uy.d.ts → Alert-DfiJbKH0.d.ts} +2 -1
  6. package/dist/{AlertDialog-B6R2MbNg.d.ts → AlertDialog-OWTbR4km.d.ts} +3 -3
  7. package/dist/{Autocomplete-CQ63Cynd.d.ts → Autocomplete-BwNHp8fy.d.ts} +1 -1
  8. package/dist/{Badge-YKlKz-Jy.d.ts → Badge-CBNpj823.d.ts} +8 -5
  9. package/dist/BadgeButton-Ccgt3oGO.d.ts +15 -0
  10. package/dist/{BottomSheet-DvqBvth_.js → BottomSheet-BXLE3161.js} +7 -6
  11. package/dist/{BottomSheet-xaymO7aQ.d.ts → BottomSheet-DbQuzfAB.d.ts} +1 -1
  12. package/dist/{BottomSheet.lazy-CGBRPve_.d.ts → BottomSheet.lazy-D9LCEo7s.d.ts} +1 -1
  13. package/dist/{Breadcrumbs-DyriI-Bi.d.ts → Breadcrumbs-CUV6CU8Q.d.ts} +1 -1
  14. package/dist/{Breadcrumbs-DiIYJAWf.js → Breadcrumbs-FF8hMfXd.js} +24 -38
  15. package/dist/Button-C5rv4Cr2.js +506 -0
  16. package/dist/{Button-BZ3is6IU.d.ts → Button-D-4qb0IR.d.ts} +3 -3
  17. package/dist/{ButtonContent-B2_dZ6vA.js → ButtonContent-c7lJayVQ.js} +10 -8
  18. package/dist/{Calendar-DzQApBCy.js → Calendar-BTjajO6i.js} +25 -148
  19. package/dist/{CheckContent-DZ7Gk8GS.js → CheckContent-D7sZPmzx.js} +2 -2
  20. package/dist/{Checkbox-BepzfVfK.js → Checkbox-CV1ILXXO.js} +6 -6
  21. package/dist/{Checkbox-CHpgW3fI.d.ts → Checkbox-DVTWaMKa.d.ts} +1 -1
  22. package/dist/{CheckboxCheckmark-B3lnOjsU.js → CheckboxCheckmark-CpC3wlMs.js} +11 -11
  23. package/dist/{CheckboxGroup-CXrR3A-c.d.ts → CheckboxGroup-DGF12cmB.d.ts} +3 -3
  24. package/dist/ComponentGallery-BWiPGUL8.js +3665 -0
  25. package/dist/{DatePicker-B3l9TEjW.d.ts → DatePicker-8xSs_jNd.d.ts} +3 -3
  26. package/dist/{DatePicker-CI87jC4_.js → DatePicker-DOLL7mkc.js} +17 -16
  27. package/dist/{DatePickerInput-UBZcTmdv.js → DatePickerInput-BLBcySA2.js} +16 -26
  28. package/dist/{DatePickerInput-CZTEsrS0.d.ts → DatePickerInput-D81ZJ3fT.d.ts} +3 -3
  29. package/dist/{DateRangePicker-BX2O5zA8.js → DateRangePicker-BF-1CztH.js} +23 -194
  30. package/dist/{DateRangePicker-DKkc2B3n.d.ts → DateRangePicker-Bfq-yDm7.d.ts} +3 -3
  31. package/dist/{DateTimePicker-CVfkp45w.js → DateTimePicker-Cj0qvJUz.js} +16 -15
  32. package/dist/{DateTimePicker-IHr-wPq8.d.ts → DateTimePicker-D4lHyf6P.d.ts} +3 -3
  33. package/dist/{Dialog-DdRP4YFC.js → Dialog-9manOgMA.js} +4 -4
  34. package/dist/{Dialog-CXoVeIkU.js → Dialog-CKLkS00H.js} +10 -2
  35. package/dist/{Dialog-DEbI_9S-.d.ts → Dialog-CW93T9X1.d.ts} +3 -2
  36. package/dist/{DropdownMenu-zrodtd44.js → DropdownMenu-5jmtgLXd.js} +8 -6
  37. package/dist/{DropdownMenu-CWDhk3XA.d.ts → DropdownMenu-JNpYT4-3.d.ts} +3 -2
  38. package/dist/{DropdownMenuDesktop-CGYxsavQ.js → DropdownMenuDesktop-Cl9gZVq0.js} +9 -38
  39. package/dist/{FileInput-Dz1eESr_.js → FileInput-Br5DQaGQ.js} +10 -9
  40. package/dist/{FileInput-BQbn77bE.d.ts → FileInput-C4CE5kuP.d.ts} +5 -4
  41. package/dist/{FileTrigger-CDXcQthK.js → FileTrigger-Cthk5_Wp.js} +1 -30
  42. package/dist/{FileUpload-D3Io7Is5.js → FileUpload--7ub3EZO.js} +53 -140
  43. package/dist/{FileUpload-qySCMcLn.d.ts → FileUpload-CR7bZxV1.d.ts} +1 -1
  44. package/dist/{FileUploadContainer-qOyGvb5J.d.ts → FileUploadContainer-042ztsaL.d.ts} +1 -1
  45. package/dist/{Form-u_N_6mwo.d.ts → Form-BJ12MjE-.d.ts} +1 -1
  46. package/dist/{FormField-CHD4OJOt.js → FormField-B99dLt8o.js} +9 -9
  47. package/dist/{FormField-B0miX3gu.d.ts → FormField-Byiehm9y.d.ts} +1 -1
  48. package/dist/{FormFieldError-QRAFHUTt.js → FormFieldError-DeOHHLo2.js} +1 -1
  49. package/dist/FormFieldHeaderTooltip-BV2Ju4oB.js +17 -0
  50. package/dist/{IconButton-KXecZgYX.d.ts → IconButton-D4thBurp.d.ts} +2 -2
  51. package/dist/IconSlot-DSK7qNxc.js +79 -0
  52. package/dist/{InlineIconButton-CbKZ2U_a.d.ts → InlineIconButton-BeJCjl-q.d.ts} +2 -2
  53. package/dist/{InlineTooltipWrapper-g5yoeH1B.js → InlineTooltipWrapper-BpApaGXV.js} +3 -3
  54. package/dist/{Input-efmPwk8f.d.ts → Input-DOanwj3l.d.ts} +3 -3
  55. package/dist/{InputContent-DuBa9FuI.d.ts → InputContent-CXuP1ghQ.d.ts} +3 -3
  56. package/dist/{InputItem-2zf6QI5L.js → InputItem-CIxbTxZu.js} +11 -11
  57. package/dist/{Inputs-C-w03Q_F.d.ts → Inputs-DA73LmLc.d.ts} +1 -1
  58. package/dist/{Inputs-BceDTmdT.js → Inputs-DJSKiaWY.js} +1 -1
  59. package/dist/{Link-QYpprkN1.d.ts → Link-Ow9H7kNv.d.ts} +3 -2
  60. package/dist/{ListBox-B7DW1S7n.js → ListBox-CL8Ar4Q_.js} +5 -4
  61. package/dist/{MenuItem--Mjd_yK8.d.ts → MenuItem-DHyqOqln.d.ts} +1 -1
  62. package/dist/{Modal-CoFt5PGP.js → Modal-w60dVQcb.js} +1 -1
  63. package/dist/{NumberField-z2JatYK0.d.ts → NumberField-Cb9Gf6QJ.d.ts} +3 -3
  64. package/dist/NumberFormatter-CLDS_LRZ.js +265 -0
  65. package/dist/{NumberRangeInput-BxVrHq8R.js → NumberRangeInput-B8-LHfg3.js} +9 -8
  66. package/dist/{NumberRangeInput-Chai3iEi.d.ts → NumberRangeInput-BfbJQqzn.d.ts} +2 -2
  67. package/dist/{Pagination-CXtIDclf.d.ts → Pagination-CwQu5Py8.d.ts} +1 -1
  68. package/dist/{PaginationList-CXG4jWFD.d.ts → PaginationList-DMRUGtf8.d.ts} +1 -1
  69. package/dist/{PaginationList-0bAmvXC0.js → PaginationList-DtvuP63b.js} +2 -2
  70. package/dist/{PasswordInput-ub2TQxef.d.ts → PasswordInput-CLwFUgl0.d.ts} +1 -1
  71. package/dist/{Popover-DUKH0q9u.d.ts → Popover-BTHPteIh.d.ts} +2 -2
  72. package/dist/{Progress-DQWiFP0L.js → Progress-B3mY9rIP.js} +2 -2
  73. package/dist/{Progress-Dho39FDs.d.ts → Progress-CjWOR38H.d.ts} +2 -1
  74. package/dist/{QuerySelect-Bo1K6gi_.d.ts → QuerySelect-BGxb6Y0K.d.ts} +2 -2
  75. package/dist/{RadioGroup-B_zJdn4y.d.ts → RadioGroup-CZg2kIMk.d.ts} +3 -3
  76. package/dist/{RadioGroup-SSZYch-J.js → RadioGroup-DOw3PRoX.js} +13 -13
  77. package/dist/{RichTextEditor-D6RewmRj.js → RichTextEditor-D4yN7Wj7.js} +52 -133
  78. package/dist/{RichTextEditor-B_JX3nor.d.ts → RichTextEditor-YxuRUlI7.d.ts} +1 -1
  79. package/dist/{Select-CuZDkeQs.js → Select-UR0ec2Ux.js} +5 -4
  80. package/dist/{Select-DeapZMYx.d.ts → Select-pHbyJdZJ.d.ts} +1 -1
  81. package/dist/{SelectBase-7SE9Za2r.d.ts → SelectBase-Omiq2D3M.d.ts} +3 -3
  82. package/dist/{Slider-DJ9K_a-x.js → Slider-CzEmKYBF.js} +11 -11
  83. package/dist/{Slider-BFViQmM3.d.ts → Slider-EYlGCLWe.d.ts} +1 -1
  84. package/dist/{Spinner-BEYBu85B.js → Spinner-BeVTUzzx.js} +1 -1
  85. package/dist/{Spinner-BbcI6IOb.d.ts → Spinner-DbXeDOa2.d.ts} +2 -1
  86. package/dist/{SplitButton-lL87EcBL.d.ts → SplitButton-D9ngY1rJ.d.ts} +3 -3
  87. package/dist/{Stepper-C1YPgTBG.js → Stepper-Cp5vbL5g.js} +4 -117
  88. package/dist/{Stepper-hlhViuaK.d.ts → Stepper-TATlHZhQ.d.ts} +9 -8
  89. package/dist/{Switch-JxRmH1dX.js → Switch-CqnGEdeD.js} +11 -11
  90. package/dist/{Switch-DPftmB1b.d.ts → Switch-s_EPn0Jz.d.ts} +1 -1
  91. package/dist/Table-piX1SWvN.js +689 -0
  92. package/dist/Tag-AHfV_XSf.d.ts +44 -0
  93. package/dist/{Tag-HiDH438e.js → Tag-DPg5sL1Z.js} +22 -21
  94. package/dist/{TextArea-gikUKKDl.js → TextArea-D8WkKsGn.js} +7 -7
  95. package/dist/{TextArea-BhrCBGbq.d.ts → TextArea-l_keyLK7.d.ts} +2 -2
  96. package/dist/{TextButton-DnXRykhF.d.ts → TextButton-XUhV_1s0.d.ts} +4 -4
  97. package/dist/{TimePicker-CmT89X7v.d.ts → TimePicker-B1POvGWs.d.ts} +2 -2
  98. package/dist/{TimePicker-DtNTOOGr.js → TimePicker-C4taAOFQ.js} +15 -14
  99. package/dist/Toast-DtG3pA61.js +53 -0
  100. package/dist/{Toast-B4cXs2rj.d.ts → Toast-ruXqONDA.d.ts} +1 -1
  101. package/dist/{ToastContainer-BbsMIwtC.js → ToastContainer-qgpzMFD4.js} +4 -3
  102. package/dist/{ToggleButton-BGuzPJDO.d.ts → ToggleButton-7aP8Jb11.d.ts} +2 -2
  103. package/dist/{ToggleGroup-D9CFdM5-.d.ts → ToggleGroup-CRFDIPGZ.d.ts} +1 -1
  104. package/dist/{ToggleGroup-Cl0NS3fe.js → ToggleGroup-DOk27fgI.js} +29 -123
  105. package/dist/{Tooltip-aE1Vswxz.js → Tooltip-CpG1nz7Y.js} +8 -49
  106. package/dist/{Tooltip-D7dNwGy9.d.ts → Tooltip-DHv6vAqW.d.ts} +6 -5
  107. package/dist/{TooltipWrapper-CRf-JFeo.js → TooltipWrapper-3jyN0Wss.js} +4 -4
  108. package/dist/{Typography-B0Gp1lpc.js → Typography-LU4z2pR1.js} +2 -2
  109. package/dist/{Typography-BiuidzDC.d.ts → Typography-XljT9s02.d.ts} +1 -1
  110. package/dist/accordion.cva-CL1bVscW.js +129 -0
  111. package/dist/{autocomplete-BJ7rqWa4.d.ts → autocomplete-DeERHN8W.d.ts} +2 -2
  112. package/dist/badgeButton.cva-B2bgCQP6.d.ts +41 -0
  113. package/dist/badgeButton.cva-CvN4CTx5.js +300 -0
  114. package/dist/breadcrumbs.cva-7zzdDhVR.js +27 -0
  115. package/dist/{button.cva-BvRI-3Gn.d.ts → button.cva-C7kEhgoA.d.ts} +7 -6
  116. package/dist/{buttonContent.cva-BDT_CReI.d.ts → buttonContent.cva-DPIlROA9.d.ts} +2 -2
  117. package/dist/{checkbox-BfcE8J5P.d.ts → checkbox-DxIPDTK5.d.ts} +1 -1
  118. package/dist/{checkbox-group-CHs2wFHS.d.ts → checkbox-group-B3BOVshI.d.ts} +1 -1
  119. package/dist/{checkbox.cva-gv87kr1W.d.ts → checkbox.cva-t1Ox50hy.d.ts} +4 -3
  120. package/dist/components/accordion.js +1 -1
  121. package/dist/components/alert-dialog.d.ts +1 -1
  122. package/dist/components/alert-dialog.js +4 -4
  123. package/dist/components/alert.d.ts +1 -1
  124. package/dist/components/alert.js +1 -1
  125. package/dist/components/autocomplete.d.ts +1 -1
  126. package/dist/components/autocomplete.js +5 -4
  127. package/dist/components/badge-button.d.ts +2 -0
  128. package/dist/components/{pill-button.js → badge-button.js} +13 -12
  129. package/dist/components/badge.d.ts +1 -1
  130. package/dist/components/badge.js +56 -37
  131. package/dist/components/bottom-sheet.d.ts +2 -2
  132. package/dist/components/bottom-sheet.js +2 -2
  133. package/dist/components/breadcrumbs.d.ts +1 -1
  134. package/dist/components/breadcrumbs.js +1 -1
  135. package/dist/components/button.d.ts +2 -2
  136. package/dist/components/button.js +1 -1
  137. package/dist/components/checkbox-group.d.ts +1 -1
  138. package/dist/components/checkbox-group.js +6 -6
  139. package/dist/components/checkbox.d.ts +1 -1
  140. package/dist/components/checkbox.js +1 -1
  141. package/dist/components/date-picker.d.ts +1 -1
  142. package/dist/components/date-picker.js +1 -1
  143. package/dist/components/date-range-picker.d.ts +1 -1
  144. package/dist/components/date-range-picker.js +1 -1
  145. package/dist/components/date-time-picker.d.ts +1 -1
  146. package/dist/components/date-time-picker.js +1 -1
  147. package/dist/components/dialog.d.ts +1 -1
  148. package/dist/components/dialog.js +1 -1
  149. package/dist/components/drawer.js +3 -3
  150. package/dist/components/dropdown-menu.d.ts +2 -2
  151. package/dist/components/dropdown-menu.js +2 -2
  152. package/dist/components/file-input.d.ts +1 -1
  153. package/dist/components/file-input.js +1 -1
  154. package/dist/components/file-upload-container.d.ts +2 -2
  155. package/dist/components/file-upload-container.js +1 -1
  156. package/dist/components/file-upload.d.ts +2 -2
  157. package/dist/components/file-upload.js +1 -1
  158. package/dist/components/form-field.d.ts +1 -1
  159. package/dist/components/form-field.js +1 -1
  160. package/dist/components/icon-button.d.ts +1 -1
  161. package/dist/components/icon-button.js +2 -2
  162. package/dist/components/icon-slot.d.ts +2 -0
  163. package/dist/components/icon-slot.js +2 -0
  164. package/dist/components/inline-icon-button.d.ts +1 -1
  165. package/dist/components/inline-icon-button.js +1 -1
  166. package/dist/components/input.d.ts +1 -1
  167. package/dist/components/input.js +7 -7
  168. package/dist/components/link.d.ts +1 -1
  169. package/dist/components/link.js +32 -1
  170. package/dist/components/number-field.d.ts +1 -1
  171. package/dist/components/number-field.js +10 -9
  172. package/dist/components/number-range-input.d.ts +1 -1
  173. package/dist/components/number-range-input.js +1 -1
  174. package/dist/components/pagination-list.d.ts +1 -1
  175. package/dist/components/pagination-list.js +1 -1
  176. package/dist/components/pagination.d.ts +1 -1
  177. package/dist/components/pagination.js +34 -30
  178. package/dist/components/password-input.d.ts +1 -1
  179. package/dist/components/popover.d.ts +1 -1
  180. package/dist/components/popover.js +6 -5
  181. package/dist/components/progress.d.ts +1 -1
  182. package/dist/components/progress.js +1 -1
  183. package/dist/components/query-autocomplete.d.ts +2 -2
  184. package/dist/components/query-autocomplete.js +2 -2
  185. package/dist/components/query-select.d.ts +1 -1
  186. package/dist/components/query-select.js +3 -3
  187. package/dist/components/radio-group.d.ts +1 -1
  188. package/dist/components/radio-group.js +1 -1
  189. package/dist/components/select.d.ts +2 -2
  190. package/dist/components/select.js +1 -1
  191. package/dist/components/slider.d.ts +1 -1
  192. package/dist/components/slider.js +1 -1
  193. package/dist/components/spinner.d.ts +1 -1
  194. package/dist/components/spinner.js +1 -1
  195. package/dist/components/split-button.d.ts +1 -1
  196. package/dist/components/split-button.js +3 -3
  197. package/dist/components/stepper.d.ts +1 -1
  198. package/dist/components/stepper.js +1 -1
  199. package/dist/components/switch.d.ts +1 -1
  200. package/dist/components/switch.js +1 -1
  201. package/dist/components/tag.d.ts +1 -1
  202. package/dist/components/tag.js +1 -1
  203. package/dist/components/text-area.d.ts +1 -1
  204. package/dist/components/text-area.js +1 -1
  205. package/dist/components/text-button.d.ts +1 -1
  206. package/dist/components/text-button.js +1 -1
  207. package/dist/components/time-picker.d.ts +1 -1
  208. package/dist/components/time-picker.js +1 -1
  209. package/dist/components/toast.d.ts +2 -2
  210. package/dist/components/toast.js +2 -2
  211. package/dist/components/toggle-button.d.ts +1 -1
  212. package/dist/components/toggle-button.js +1 -1
  213. package/dist/components/toggle-group.d.ts +2 -2
  214. package/dist/components/toggle-group.js +1 -1
  215. package/dist/components/tooltip-ellipsis.js +1 -1
  216. package/dist/components/tooltip.d.ts +1 -1
  217. package/dist/components/tooltip.js +1 -1
  218. package/dist/components/typography.d.ts +2 -2
  219. package/dist/components/typography.js +1 -1
  220. package/dist/components/use-toast.d.ts +1 -1
  221. package/dist/components/use-toast.js +2 -2
  222. package/dist/config/confirmation.d.ts +1 -1
  223. package/dist/config/link-context.d.ts +2 -2
  224. package/dist/config/ui-config.d.ts +2 -2
  225. package/dist/config/ui-config.js +1 -1
  226. package/dist/config/ui-configurator-theme.d.ts +2 -0
  227. package/dist/config/ui-configurator-theme.js +2 -0
  228. package/dist/config/ui-configurator-vite.d.ts +10 -0
  229. package/dist/config/ui-configurator-vite.js +174 -0
  230. package/dist/config/ui-configurator.d.ts +934 -0
  231. package/dist/config/ui-configurator.js +4555 -0
  232. package/dist/config/ui-overrides.d.ts +1 -1
  233. package/dist/config/ui-overrides.js +1 -1
  234. package/dist/config/ui-router.js +1 -1
  235. package/dist/{confirmation.context-DPAKsLYl.d.ts → confirmation.context-BOeEVczb.d.ts} +1 -1
  236. package/dist/{date-picker-BYFWSbN8.d.ts → date-picker-DnxDmlOW.d.ts} +1 -1
  237. package/dist/{date-range-picker-BaaXOObm.d.ts → date-range-picker-DHDOSvHN.d.ts} +1 -1
  238. package/dist/{date-time-picker-D42cTCgx.d.ts → date-time-picker-UkTa0OJ8.d.ts} +1 -1
  239. package/dist/datePickerInput.cva-Cd7UUN61.js +14 -0
  240. package/dist/{datePickerValue.utils-CFCY-fRJ.js → datePickerValue.utils-DCgoSrP3.js} +9 -9
  241. package/dist/{dialog.cva---xiOXMQ.js → dialog.cva-COhDZaVl.js} +4 -4
  242. package/dist/{dist-B8h0VT0E.js → dist-CAdwxJbe.js} +1 -208
  243. package/dist/{dom.utils-DjuRTR6U.js → dom.utils-D1AopHx9.js} +1 -1
  244. package/dist/dropdownMenu.cva-DvEmX0bs.js +34 -0
  245. package/dist/{dynamicInputs-wEEikYeg.d.ts → dynamicInputs-iP39lVKf.d.ts} +102 -100
  246. package/dist/{fieldAdapter-C0lCFmf0.js → fieldAdapter-DjYls12j.js} +1 -1
  247. package/dist/{file-input-C56GXRwz.d.ts → file-input-DkbkdI7l.d.ts} +1 -1
  248. package/dist/{file-upload-Bx0X534g.d.ts → file-upload-CTsPhxJk.d.ts} +2 -2
  249. package/dist/fileUpload.cva-ujmStxB1.js +42 -0
  250. package/dist/{fileUpload.types-DWuQKA2l.d.ts → fileUpload.types-n5FxK_F-.d.ts} +2 -2
  251. package/dist/hooks/use-filters.js +1 -1
  252. package/dist/iconSlot.cva-CnpFzAOR.d.ts +21 -0
  253. package/dist/icons.d.ts +2 -1
  254. package/dist/icons.js +2 -1
  255. package/dist/index.d.ts +87 -86
  256. package/dist/index.js +57 -46
  257. package/dist/info-iUmX3uDk.js +32 -0
  258. package/dist/{input-D2kGX0hW.d.ts → input-CdQNCPgH.d.ts} +1 -1
  259. package/dist/{input.cva-BhDJxc7r.d.ts → input.cva-BsHgYa-L.d.ts} +3 -2
  260. package/dist/{input.cva-BcXyC1vZ.js → input.cva-DJA8ovm_.js} +9 -9
  261. package/dist/{link.context-CDZn6oL2.d.ts → link.context-D5qyz9Rf.d.ts} +1 -1
  262. package/dist/link.cva-DMTHZiJG.js +12 -0
  263. package/dist/{number-field-Bw2GKr0s.d.ts → number-field-CUDbenNV.d.ts} +1 -1
  264. package/dist/{number-range-input-Dqe6x2dR.d.ts → number-range-input-DZGrcvjL.d.ts} +1 -1
  265. package/dist/numberStatic.utils-BX50PSee.js +421 -0
  266. package/dist/{password-input-DepKyhh3.d.ts → password-input-fYN20cQO.d.ts} +1 -1
  267. package/dist/{popover.cva-BJSkLndY.js → popover.cva-Bhud1wnp.js} +1 -1
  268. package/dist/popoverAnimation-DEZSvKP8.js +4 -0
  269. package/dist/{query-autocomplete-BSpHin_R.d.ts → query-autocomplete-CfuQeiYG.d.ts} +2 -2
  270. package/dist/{query-select-m1DCp4UF.d.ts → query-select-CuT_sE6a.d.ts} +2 -2
  271. package/dist/{queryAutocomplete.types-CrbVUmvl.d.ts → queryAutocomplete.types-tl3r6iaY.d.ts} +2 -2
  272. package/dist/{radio-group-Civ3Fb70.d.ts → radio-group-B3ccPf0p.d.ts} +1 -1
  273. package/dist/{radio.cva-BlOrmxzf.d.ts → radio.cva-DN9VQ3Kb.d.ts} +4 -3
  274. package/dist/rhf/autocomplete.d.ts +2 -2
  275. package/dist/rhf/autocomplete.js +1 -1
  276. package/dist/rhf/checkbox-group.d.ts +2 -2
  277. package/dist/rhf/checkbox-group.js +1 -1
  278. package/dist/rhf/checkbox.d.ts +2 -2
  279. package/dist/rhf/checkbox.js +2 -2
  280. package/dist/rhf/date-picker.d.ts +2 -2
  281. package/dist/rhf/date-picker.js +2 -2
  282. package/dist/rhf/date-range-picker.d.ts +2 -2
  283. package/dist/rhf/date-range-picker.js +2 -2
  284. package/dist/rhf/date-time-picker.d.ts +2 -2
  285. package/dist/rhf/date-time-picker.js +2 -2
  286. package/dist/rhf/file-input.d.ts +2 -2
  287. package/dist/rhf/file-input.js +2 -2
  288. package/dist/rhf/file-upload.d.ts +2 -2
  289. package/dist/rhf/file-upload.js +2 -2
  290. package/dist/rhf/input.d.ts +2 -2
  291. package/dist/rhf/input.js +1 -1
  292. package/dist/rhf/inputs.d.ts +2 -2
  293. package/dist/rhf/number-field.d.ts +2 -2
  294. package/dist/rhf/number-field.js +1 -1
  295. package/dist/rhf/number-range-input.d.ts +2 -2
  296. package/dist/rhf/number-range-input.js +2 -2
  297. package/dist/rhf/password-input.d.ts +2 -2
  298. package/dist/rhf/password-input.js +1 -1
  299. package/dist/rhf/query-autocomplete.d.ts +1 -1
  300. package/dist/rhf/query-autocomplete.js +1 -1
  301. package/dist/rhf/query-select.d.ts +1 -1
  302. package/dist/rhf/query-select.js +1 -1
  303. package/dist/rhf/radio-group.d.ts +2 -2
  304. package/dist/rhf/radio-group.js +2 -2
  305. package/dist/rhf/rich-text-editor.d.ts +2 -2
  306. package/dist/rhf/rich-text-editor.js +2 -2
  307. package/dist/rhf/select.d.ts +2 -2
  308. package/dist/rhf/select.js +2 -2
  309. package/dist/rhf/slider.d.ts +2 -2
  310. package/dist/rhf/slider.js +2 -2
  311. package/dist/rhf/switch.d.ts +2 -2
  312. package/dist/rhf/switch.js +2 -2
  313. package/dist/rhf/text-area.d.ts +2 -2
  314. package/dist/rhf/text-area.js +2 -2
  315. package/dist/rhf/time-picker.d.ts +2 -2
  316. package/dist/rhf/time-picker.js +2 -2
  317. package/dist/rhf/toggle-group.d.ts +2 -2
  318. package/dist/rhf/toggle-group.js +2 -2
  319. package/dist/{rhf-D8B7mLO1.js → rhf-t348TCCL.js} +1 -1
  320. package/dist/rhf.d.ts +87 -86
  321. package/dist/rhf.js +57 -46
  322. package/dist/{rich-text-editor-DvNEOIux.d.ts → rich-text-editor-B-Onl7T8.d.ts} +1 -1
  323. package/dist/rich-text-editor.d.ts +1 -1
  324. package/dist/rich-text-editor.js +1 -1
  325. package/dist/{router.context-B0jTMtE0.js → router.context-B4FvsTim.js} +2 -2
  326. package/dist/{select-DY5QtwqI.d.ts → select-B4a52eWW.d.ts} +2 -2
  327. package/dist/selectDesktop.cva-CHAMxhfO.js +69 -0
  328. package/dist/{slider-CrB-Gkcv.d.ts → slider-dNj9jruO.d.ts} +1 -1
  329. package/dist/staticDateTimeSegments-DtU63_dw.js +1764 -0
  330. package/dist/{staticSelect.utils-Cm7MoDVG.js → staticSelect.utils-uHa8f_c6.js} +33 -231
  331. package/dist/stepper.cva-CZ0Kj-s7.js +116 -0
  332. package/dist/style-merge.util-zLimKwt6.d.ts +40 -0
  333. package/dist/styles/color-utilities.css +13 -25
  334. package/dist/styles/configurator.css +2365 -0
  335. package/dist/styles/input.d.ts +1 -1
  336. package/dist/{switch-8WzXfTS8.d.ts → switch-C--iWnY8.d.ts} +1 -1
  337. package/dist/switch.cva-CWNzmdRc.d.ts +16 -0
  338. package/dist/table.cva-DlMT-zLD.js +48 -0
  339. package/dist/tanstack/autocomplete.d.ts +1 -1
  340. package/dist/tanstack/checkbox-group.d.ts +1 -1
  341. package/dist/tanstack/checkbox.d.ts +1 -1
  342. package/dist/tanstack/checkbox.js +1 -1
  343. package/dist/tanstack/date-picker.d.ts +1 -1
  344. package/dist/tanstack/date-picker.js +1 -1
  345. package/dist/tanstack/date-range-picker.d.ts +1 -1
  346. package/dist/tanstack/date-range-picker.js +1 -1
  347. package/dist/tanstack/date-time-picker.d.ts +1 -1
  348. package/dist/tanstack/date-time-picker.js +1 -1
  349. package/dist/tanstack/file-input.d.ts +1 -1
  350. package/dist/tanstack/file-input.js +1 -1
  351. package/dist/tanstack/file-upload.d.ts +2 -2
  352. package/dist/tanstack/file-upload.js +1 -1
  353. package/dist/tanstack/form.d.ts +1 -1
  354. package/dist/tanstack/form.js +1 -1
  355. package/dist/tanstack/input.d.ts +1 -1
  356. package/dist/tanstack/inputs.d.ts +3 -3
  357. package/dist/tanstack/inputs.js +1 -1
  358. package/dist/tanstack/number-field.d.ts +1 -1
  359. package/dist/tanstack/number-range-input.d.ts +1 -1
  360. package/dist/tanstack/number-range-input.js +1 -1
  361. package/dist/tanstack/password-input.d.ts +1 -1
  362. package/dist/tanstack/query-select.d.ts +1 -1
  363. package/dist/tanstack/radio-group.d.ts +1 -1
  364. package/dist/tanstack/radio-group.js +1 -1
  365. package/dist/tanstack/rich-text-editor.d.ts +1 -1
  366. package/dist/tanstack/rich-text-editor.js +1 -1
  367. package/dist/tanstack/select.d.ts +1 -1
  368. package/dist/tanstack/select.js +1 -1
  369. package/dist/tanstack/slider.d.ts +1 -1
  370. package/dist/tanstack/slider.js +1 -1
  371. package/dist/tanstack/switch.d.ts +1 -1
  372. package/dist/tanstack/switch.js +1 -1
  373. package/dist/tanstack/table.d.ts +1 -1
  374. package/dist/tanstack/table.js +2 -1
  375. package/dist/tanstack/text-area.d.ts +1 -1
  376. package/dist/tanstack/text-area.js +1 -1
  377. package/dist/tanstack/time-picker.d.ts +1 -1
  378. package/dist/tanstack/time-picker.js +1 -1
  379. package/dist/tanstack/toggle-group.d.ts +2 -2
  380. package/dist/tanstack/toggle-group.js +1 -1
  381. package/dist/tanstack.d.ts +71 -70
  382. package/dist/tanstack.js +68 -55
  383. package/dist/{text-area-CqnKRWKq.d.ts → text-area-DQAtpOQp.d.ts} +1 -1
  384. package/dist/theme-model-DtYPxNvH.js +406 -0
  385. package/dist/theme-model-T1zIdBg8.d.ts +12 -0
  386. package/dist/{time-picker-Cz1GIzpF.d.ts → time-picker-DoGfbil6.d.ts} +1 -1
  387. package/dist/{toast.cva-Cj6o2Rmu.d.ts → toast.cva-By5lvAfr.d.ts} +3 -2
  388. package/dist/toast.cva-C_L_RffH.js +163 -0
  389. package/dist/{toast.runtime-CIKvmkjo.js → toast.runtime-cxex9e4E.js} +2 -1
  390. package/dist/{toggle-group-CPkKHm1t.d.ts → toggle-group-C1nMDOwz.d.ts} +1 -1
  391. package/dist/toggleGroup.cva-MbpaEBg1.js +35 -0
  392. package/dist/{toggleGroup.types-DD6uRI5G.d.ts → toggleGroup.types-Bp43zbSQ.d.ts} +2 -1
  393. package/dist/tooltip.cva-BIzlOXHH.js +48 -0
  394. package/dist/{tooltipWrapper.cva-CUu8pI-a.js → tooltipWrapper.cva-BBQ4ic3D.js} +1 -1
  395. package/dist/{typography.cva-jtp6WWUH.d.ts → typography.cva-D1JOEYl-.d.ts} +2 -1
  396. package/dist/{typography.cva-CJZZSGXW.js → typography.cva-iD15k56p.js} +1 -1
  397. package/dist/{uiConfig.context-D2eUIPHn.js → uiConfig.context-BS3r_kTS.js} +1 -1
  398. package/dist/{uiConfig.context-aoarCLYX.d.ts → uiConfig.context-DeBX2beU.d.ts} +8 -8
  399. package/dist/{uiOverrides.context-Bfm2n-n8.js → uiOverrides.context-BTCH9y5a.js} +2 -2
  400. package/dist/{uiOverrides.context-C3xb4Ttq.d.ts → uiOverrides.context-DEp139He.d.ts} +11 -44
  401. package/dist/underline-66hmELxa.js +81 -0
  402. package/dist/upload-CXU83BJ4.js +30 -0
  403. package/dist/{useBreakpoint-BOA-MyoT.js → useBreakpoint-DQoMN-BG.js} +1 -1
  404. package/dist/useControlledState-CzXkZCX8.js +30 -0
  405. package/dist/{useFieldAccessibility-D2_Qm26-.js → useFieldAccessibility-ScC6Mtd5.js} +15 -8
  406. package/dist/{useFilters-kkEUFKmQ.js → useFilters-XNH27Md2.js} +1 -1
  407. package/dist/{useFormAutosave-BYFn3LH8.js → useFormAutosave-DfuP7drj.js} +2 -2
  408. package/dist/{useStaticInputHandoff-DB9PgioW.js → useStaticInputHandoff-NeZVnci-.js} +14 -11
  409. package/dist/useTableColumnConfig-BTGZiluz.js +892 -0
  410. package/dist/{useTableNav-D9mICzNW.d.ts → useTableNav-Ckj5PBRk.d.ts} +3 -2
  411. package/dist/{useToast-DMSm59Y6.d.ts → useToast-yreVCUer.d.ts} +1 -1
  412. package/package.json +31 -5
  413. package/src/configurator/README.md +71 -0
  414. package/dist/Button-sn52l1Yv.js +0 -506
  415. package/dist/FocusScope-CO9oJ1sc.js +0 -343
  416. package/dist/FormFieldHeaderTooltip-Dl24v4_j.js +0 -45
  417. package/dist/Link-Btxj2gzg.js +0 -42
  418. package/dist/PillButton-DASBXLFB.d.ts +0 -15
  419. package/dist/Tag-Cch_68QO.d.ts +0 -43
  420. package/dist/chain-DIXr2VAT.js +0 -10
  421. package/dist/components/pill-button.d.ts +0 -2
  422. package/dist/focusSafely-DCGrr2bb.js +0 -447
  423. package/dist/getScrollParent-kSR7EtoT.js +0 -47
  424. package/dist/numberStatic.utils-BMgRzyd3.js +0 -902
  425. package/dist/openLink-CQhMhfzO.js +0 -121
  426. package/dist/pillButton.cva-BEWuu0qm.d.ts +0 -34
  427. package/dist/pillButton.cva-DlP5tOT5.js +0 -197
  428. package/dist/platform-BXNIIAfU.js +0 -42
  429. package/dist/staticDateTimeSegments-DR8bJw-F.js +0 -3605
  430. package/dist/switch.cva-8T0fw31t.d.ts +0 -15
  431. package/dist/useControlledState-DQxX6LMN.js +0 -189
  432. package/dist/useFocusable-Bd0UsrQ7.js +0 -63
  433. package/dist/useFormValidationState-D3z-gafz.js +0 -1341
  434. package/dist/useLayoutEffect-B2-1tbPJ.js +0 -83
  435. package/dist/useSyncRef-RGMv0rXK.js +0 -338
  436. package/dist/useTableColumnConfig-CcJxu14U.js +0 -1625
@@ -0,0 +1,3665 @@
1
+ import { t as createLucideIcon } from "./createLucideIcon-LcezOE4z.js";
2
+ import { n as ArrowLeft } from "./DropdownMenu-5jmtgLXd.js";
3
+ import { i as ArrowRight } from "./DropdownMenuDesktop-Cl9gZVq0.js";
4
+ import { n as Italic, r as Bold, t as Underline } from "./underline-66hmELxa.js";
5
+ import { s as Calendar, t as UIConfig } from "./uiConfig.context-BS3r_kTS.js";
6
+ import { t as Check } from "./check-DYMBkp_Z.js";
7
+ import { t as ChevronDown } from "./chevron-down-B4Pr8bD3.js";
8
+ import { t as ChevronUp } from "./chevron-up-D_Gqpb5M.js";
9
+ import { t as FileUpload } from "./FileUpload--7ub3EZO.js";
10
+ import { t as PasswordInput } from "./PasswordInput-DYwUZ4-k.js";
11
+ import { t as Table } from "./Table-piX1SWvN.js";
12
+ import { t as Info } from "./info-iUmX3uDk.js";
13
+ import { i as Search } from "./selectDesktop.cva-CHAMxhfO.js";
14
+ import { t as UIOverrides } from "./uiOverrides.context-BTCH9y5a.js";
15
+ import { t as Breadcrumbs } from "./Breadcrumbs-FF8hMfXd.js";
16
+ import { t as Checkbox } from "./Checkbox-CV1ILXXO.js";
17
+ import { t as Slider } from "./Slider-CzEmKYBF.js";
18
+ import { t as Accordion } from "./Accordion-BzwO4_ml.js";
19
+ import { t as RadioGroup } from "./RadioGroup-DOw3PRoX.js";
20
+ import { t as Switch } from "./Switch-CqnGEdeD.js";
21
+ import { t as TextArea } from "./TextArea-D8WkKsGn.js";
22
+ import { i as menuPopoverWrapperDefinition, n as menuItemDefinition, r as menuPopoverDefinition, t as dropdownMenuDefinition } from "./dropdownMenu.cva-DvEmX0bs.js";
23
+ import { i as tooltipTextDefinition, n as tooltipPointerHorizontalDefinition, t as tooltipDefinition } from "./tooltip.cva-BIzlOXHH.js";
24
+ import { t as Typography } from "./Typography-LU4z2pR1.js";
25
+ import { t as Spinner } from "./Spinner-BeVTUzzx.js";
26
+ import { t as Button } from "./Button-C5rv4Cr2.js";
27
+ import { IconButton } from "./components/icon-button.js";
28
+ import { BadgeButton } from "./components/badge-button.js";
29
+ import { SplitButton } from "./components/split-button.js";
30
+ import { TextButton } from "./components/text-button.js";
31
+ import { ToggleButton } from "./components/toggle-button.js";
32
+ import { t as Tag } from "./Tag-DPg5sL1Z.js";
33
+ import { t as popoverDefinition } from "./popover.cva-Bhud1wnp.js";
34
+ import { Input } from "./components/input.js";
35
+ import { Autocomplete } from "./components/autocomplete.js";
36
+ import { CheckboxGroup } from "./components/checkbox-group.js";
37
+ import { t as TimePicker } from "./TimePicker-C4taAOFQ.js";
38
+ import { t as ToggleGroup } from "./ToggleGroup-DOk27fgI.js";
39
+ import { t as DatePicker } from "./DatePicker-DOLL7mkc.js";
40
+ import { t as Select } from "./Select-UR0ec2Ux.js";
41
+ import { t as Progress } from "./Progress-B3mY9rIP.js";
42
+ import { NumberField } from "./components/number-field.js";
43
+ import { t as Stepper } from "./Stepper-Cp5vbL5g.js";
44
+ import { n as dialogMainDefinition, t as dialogContentDefinition } from "./dialog.cva-COhDZaVl.js";
45
+ import { t as Dialog } from "./Dialog-9manOgMA.js";
46
+ import { Pagination } from "./components/pagination.js";
47
+ import { t as Alert } from "./Alert-CnvEb1D_.js";
48
+ import { t as Toast } from "./Toast-DtG3pA61.js";
49
+ import { Link } from "./components/link.js";
50
+ import { Badge } from "./components/badge.js";
51
+ import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
52
+ import { c } from "react/compiler-runtime";
53
+ import { jsx, jsxs } from "react/jsx-runtime";
54
+ import { UNSAFE_PortalProvider } from "react-aria";
55
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/bell.mjs
56
+ /**
57
+ * @license lucide-react v1.43.0 - ISC
58
+ *
59
+ * This source code is licensed under the ISC license.
60
+ * See the LICENSE file in the root directory of this source tree.
61
+ */
62
+ const __iconData$9 = {
63
+ name: "bell",
64
+ size: 24,
65
+ node: [["path", {
66
+ d: "M10.268 21a2 2 0 0 0 3.464 0",
67
+ key: "vwvbt9"
68
+ }], ["path", {
69
+ d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",
70
+ key: "11g9vi"
71
+ }]]
72
+ };
73
+ __iconData$9.node;
74
+ const Bell = createLucideIcon(__iconData$9);
75
+ //#endregion
76
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/credit-card.mjs
77
+ /**
78
+ * @license lucide-react v1.43.0 - ISC
79
+ *
80
+ * This source code is licensed under the ISC license.
81
+ * See the LICENSE file in the root directory of this source tree.
82
+ */
83
+ const __iconData$8 = {
84
+ name: "credit-card",
85
+ size: 24,
86
+ node: [["rect", {
87
+ width: "20",
88
+ height: "14",
89
+ x: "2",
90
+ y: "5",
91
+ rx: "2",
92
+ key: "ynyp8z"
93
+ }], ["line", {
94
+ x1: "2",
95
+ x2: "22",
96
+ y1: "10",
97
+ y2: "10",
98
+ key: "1b3vmo"
99
+ }]]
100
+ };
101
+ __iconData$8.node;
102
+ const CreditCard = createLucideIcon(__iconData$8);
103
+ //#endregion
104
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/house.mjs
105
+ /**
106
+ * @license lucide-react v1.43.0 - ISC
107
+ *
108
+ * This source code is licensed under the ISC license.
109
+ * See the LICENSE file in the root directory of this source tree.
110
+ */
111
+ const __iconData$7 = {
112
+ name: "house",
113
+ size: 24,
114
+ node: [["path", {
115
+ d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",
116
+ key: "5wwlr5"
117
+ }], ["path", {
118
+ d: "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",
119
+ key: "r6nss1"
120
+ }]],
121
+ aliases: ["home"]
122
+ };
123
+ __iconData$7.node;
124
+ const House = createLucideIcon(__iconData$7);
125
+ //#endregion
126
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/maximize-2.mjs
127
+ /**
128
+ * @license lucide-react v1.43.0 - ISC
129
+ *
130
+ * This source code is licensed under the ISC license.
131
+ * See the LICENSE file in the root directory of this source tree.
132
+ */
133
+ const __iconData$6 = {
134
+ name: "maximize-2",
135
+ size: 24,
136
+ node: [
137
+ ["path", {
138
+ d: "M15 3h6v6",
139
+ key: "1q9fwt"
140
+ }],
141
+ ["path", {
142
+ d: "m21 3-7 7",
143
+ key: "1l2asr"
144
+ }],
145
+ ["path", {
146
+ d: "m3 21 7-7",
147
+ key: "tjx5ai"
148
+ }],
149
+ ["path", {
150
+ d: "M9 21H3v-6",
151
+ key: "wtvkvv"
152
+ }]
153
+ ]
154
+ };
155
+ __iconData$6.node;
156
+ const Maximize2 = createLucideIcon(__iconData$6);
157
+ //#endregion
158
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/minimize-2.mjs
159
+ /**
160
+ * @license lucide-react v1.43.0 - ISC
161
+ *
162
+ * This source code is licensed under the ISC license.
163
+ * See the LICENSE file in the root directory of this source tree.
164
+ */
165
+ const __iconData$5 = {
166
+ name: "minimize-2",
167
+ size: 24,
168
+ node: [
169
+ ["path", {
170
+ d: "m14 10 7-7",
171
+ key: "oa77jy"
172
+ }],
173
+ ["path", {
174
+ d: "M20 10h-6V4",
175
+ key: "mjg0md"
176
+ }],
177
+ ["path", {
178
+ d: "m3 21 7-7",
179
+ key: "tjx5ai"
180
+ }],
181
+ ["path", {
182
+ d: "M4 14h6v6",
183
+ key: "rmj7iw"
184
+ }]
185
+ ]
186
+ };
187
+ __iconData$5.node;
188
+ const Minimize2 = createLucideIcon(__iconData$5);
189
+ //#endregion
190
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/send.mjs
191
+ /**
192
+ * @license lucide-react v1.43.0 - ISC
193
+ *
194
+ * This source code is licensed under the ISC license.
195
+ * See the LICENSE file in the root directory of this source tree.
196
+ */
197
+ const __iconData$4 = {
198
+ name: "send",
199
+ size: 24,
200
+ node: [["path", {
201
+ d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
202
+ key: "1ffxy3"
203
+ }], ["path", {
204
+ d: "m21.854 2.147-10.94 10.939",
205
+ key: "12cjpa"
206
+ }]]
207
+ };
208
+ __iconData$4.node;
209
+ const Send = createLucideIcon(__iconData$4);
210
+ //#endregion
211
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/settings.mjs
212
+ /**
213
+ * @license lucide-react v1.43.0 - ISC
214
+ *
215
+ * This source code is licensed under the ISC license.
216
+ * See the LICENSE file in the root directory of this source tree.
217
+ */
218
+ const __iconData$3 = {
219
+ name: "settings",
220
+ size: 24,
221
+ node: [["path", {
222
+ d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
223
+ key: "1i5ecw"
224
+ }], ["circle", {
225
+ cx: "12",
226
+ cy: "12",
227
+ r: "3",
228
+ key: "1v7zrd"
229
+ }]]
230
+ };
231
+ __iconData$3.node;
232
+ const Settings = createLucideIcon(__iconData$3);
233
+ //#endregion
234
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/shield-check.mjs
235
+ /**
236
+ * @license lucide-react v1.43.0 - ISC
237
+ *
238
+ * This source code is licensed under the ISC license.
239
+ * See the LICENSE file in the root directory of this source tree.
240
+ */
241
+ const __iconData$2 = {
242
+ name: "shield-check",
243
+ size: 24,
244
+ node: [["path", {
245
+ d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
246
+ key: "oel41y"
247
+ }], ["path", {
248
+ d: "m9 12 2 2 4-4",
249
+ key: "dzmm74"
250
+ }]]
251
+ };
252
+ __iconData$2.node;
253
+ const ShieldCheck = createLucideIcon(__iconData$2);
254
+ //#endregion
255
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/user.mjs
256
+ /**
257
+ * @license lucide-react v1.43.0 - ISC
258
+ *
259
+ * This source code is licensed under the ISC license.
260
+ * See the LICENSE file in the root directory of this source tree.
261
+ */
262
+ const __iconData$1 = {
263
+ name: "user",
264
+ size: 24,
265
+ node: [["path", {
266
+ d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",
267
+ key: "975kel"
268
+ }], ["circle", {
269
+ cx: "12",
270
+ cy: "7",
271
+ r: "4",
272
+ key: "17ys0d"
273
+ }]]
274
+ };
275
+ __iconData$1.node;
276
+ const User = createLucideIcon(__iconData$1);
277
+ //#endregion
278
+ //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/users.mjs
279
+ /**
280
+ * @license lucide-react v1.43.0 - ISC
281
+ *
282
+ * This source code is licensed under the ISC license.
283
+ * See the LICENSE file in the root directory of this source tree.
284
+ */
285
+ const __iconData = {
286
+ name: "users",
287
+ size: 24,
288
+ node: [
289
+ ["path", {
290
+ d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",
291
+ key: "1yyitq"
292
+ }],
293
+ ["path", {
294
+ d: "M16 3.128a4 4 0 0 1 0 7.744",
295
+ key: "16gr8j"
296
+ }],
297
+ ["path", {
298
+ d: "M22 21v-2a4 4 0 0 0-3-3.87",
299
+ key: "kshegd"
300
+ }],
301
+ ["circle", {
302
+ cx: "9",
303
+ cy: "7",
304
+ r: "4",
305
+ key: "nufk8"
306
+ }]
307
+ ]
308
+ };
309
+ __iconData.node;
310
+ const Users = createLucideIcon(__iconData);
311
+ //#endregion
312
+ //#region src/configurator/inspector/token-classes.ts
313
+ /** Tailwind breakpoints from the Atlas base theme, in rem. */
314
+ const breakpoints = {
315
+ sm: 23.75,
316
+ md: 37.5,
317
+ lg: 80,
318
+ xl: 105
319
+ };
320
+ /** Utility prefix → the slots it sets, its specificity, and the theme namespace its value lives in. */
321
+ const utilities = [
322
+ [
323
+ "p",
324
+ [
325
+ "padding.top",
326
+ "padding.right",
327
+ "padding.bottom",
328
+ "padding.left"
329
+ ],
330
+ 0,
331
+ "spacing"
332
+ ],
333
+ [
334
+ "px",
335
+ ["padding.left", "padding.right"],
336
+ 1,
337
+ "spacing"
338
+ ],
339
+ [
340
+ "py",
341
+ ["padding.top", "padding.bottom"],
342
+ 1,
343
+ "spacing"
344
+ ],
345
+ [
346
+ "pt",
347
+ ["padding.top"],
348
+ 2,
349
+ "spacing"
350
+ ],
351
+ [
352
+ "pr",
353
+ ["padding.right"],
354
+ 2,
355
+ "spacing"
356
+ ],
357
+ [
358
+ "pe",
359
+ ["padding.right"],
360
+ 2,
361
+ "spacing"
362
+ ],
363
+ [
364
+ "pb",
365
+ ["padding.bottom"],
366
+ 2,
367
+ "spacing"
368
+ ],
369
+ [
370
+ "pl",
371
+ ["padding.left"],
372
+ 2,
373
+ "spacing"
374
+ ],
375
+ [
376
+ "ps",
377
+ ["padding.left"],
378
+ 2,
379
+ "spacing"
380
+ ],
381
+ [
382
+ "gap",
383
+ ["gap.row", "gap.column"],
384
+ 0,
385
+ "spacing"
386
+ ],
387
+ [
388
+ "gap-x",
389
+ ["gap.column"],
390
+ 1,
391
+ "spacing"
392
+ ],
393
+ [
394
+ "gap-y",
395
+ ["gap.row"],
396
+ 1,
397
+ "spacing"
398
+ ],
399
+ [
400
+ "rounded",
401
+ ["radius"],
402
+ 0,
403
+ "radius"
404
+ ]
405
+ ];
406
+ /** Splits `md:hover:px-4` into its variants and utility, ignoring colons inside `[...]` / `(...)`. */
407
+ function splitVariants(className) {
408
+ const parts = [];
409
+ let depth = 0;
410
+ let current = "";
411
+ for (const char of className) {
412
+ if (char === "[" || char === "(") depth++;
413
+ if (char === "]" || char === ")") depth--;
414
+ if (char === ":" && depth === 0) {
415
+ parts.push(current);
416
+ current = "";
417
+ } else current += char;
418
+ }
419
+ return {
420
+ variants: parts,
421
+ utility: current
422
+ };
423
+ }
424
+ /** Breakpoint weight when every variant is an active breakpoint; `undefined` for state variants or inactive breakpoints. */
425
+ function variantWeight(variants, viewportWidth, rootFontSize) {
426
+ let weight = 0;
427
+ for (const variant of variants) {
428
+ const max = variant.startsWith("max-");
429
+ const size = breakpoints[max ? variant.slice(4) : variant];
430
+ if (size === void 0) return void 0;
431
+ if (!(max ? viewportWidth < size * rootFontSize : viewportWidth >= size * rootFontSize)) return void 0;
432
+ weight = Math.max(weight, size);
433
+ }
434
+ return weight;
435
+ }
436
+ function tokenFor(value, namespace, isKnown) {
437
+ const referenced = value.match(/^\[.*?var\((--[\w-]+)/)?.[1] ?? value.match(/^\((--[\w-]+)\)$/)?.[1];
438
+ if (referenced) return isKnown(referenced) ? referenced : void 0;
439
+ const name = `--${namespace}-${value}`;
440
+ return isKnown(name) ? name : void 0;
441
+ }
442
+ /**
443
+ * Resolves which theme tokens drive an element's padding, gap and radius from its rendered Tailwind classes.
444
+ * Only tokens accepted by `isKnown` are returned, so every result can be opened in the editor.
445
+ */
446
+ function inspectTokens(className, isKnown, viewportWidth = Infinity, rootFontSize = 16) {
447
+ const winners = /* @__PURE__ */ new Map();
448
+ for (const raw of className.split(/\s+/).filter(Boolean)) {
449
+ const { variants, utility } = splitVariants(raw);
450
+ const weight = variantWeight(variants, viewportWidth, rootFontSize);
451
+ if (weight === void 0) continue;
452
+ const clean = utility.replace(/^!|!$/g, "");
453
+ for (const [prefix, slots, specificity, namespace] of utilities) {
454
+ if (!clean.startsWith(`${prefix}-`)) continue;
455
+ const token = tokenFor(clean.slice(prefix.length + 1), namespace, isKnown);
456
+ if (!token) continue;
457
+ const rank = weight * 10 + specificity;
458
+ for (const slot of slots) if ((winners.get(slot)?.rank ?? -1) <= rank) winners.set(slot, {
459
+ token,
460
+ rank
461
+ });
462
+ }
463
+ }
464
+ const result = {
465
+ padding: {},
466
+ gap: {}
467
+ };
468
+ for (const [slot, { token }] of winners) if (slot === "radius") result.radius = token;
469
+ else if (slot.startsWith("gap.")) result.gap[slot.slice(4)] = token;
470
+ else result.padding[slot.slice(8)] = token;
471
+ return result;
472
+ }
473
+ //#endregion
474
+ //#region src/configurator/inspector/Inspector.tsx
475
+ const px = (value) => parseFloat(value) || 0;
476
+ const hasTokens = (tokens) => !!(tokens.radius || tokens.gap.row || tokens.gap.column || Object.keys(tokens.padding).length);
477
+ /** Devtools-style overlay: hover an element to see its token-driven padding, gaps and radius, click one to edit it. */
478
+ function Inspector({ isKnown, describe, onSelect, revision, children }) {
479
+ const stageRef = useRef(null);
480
+ const contentRef = useRef(null);
481
+ const [target, setTarget] = useState(null);
482
+ const [regions, setRegions] = useState([]);
483
+ const [outline, setOutline] = useState(null);
484
+ const [active, setActive] = useState(null);
485
+ const tokensOf = useCallback((element) => inspectTokens(typeof element.className === "string" ? element.className : "", isKnown, window.innerWidth, px(getComputedStyle(document.documentElement).fontSize) || 16), [isKnown]);
486
+ const measure = useCallback(() => {
487
+ const stage = stageRef.current;
488
+ if (!stage || !target || !target.isConnected) {
489
+ setRegions([]);
490
+ setOutline(null);
491
+ return;
492
+ }
493
+ const origin = stage.getBoundingClientRect();
494
+ const box = target.getBoundingClientRect();
495
+ const scale = target.offsetWidth ? box.width / target.offsetWidth : 1;
496
+ const style = getComputedStyle(target);
497
+ const tokens = tokensOf(target);
498
+ const left = box.left - origin.left;
499
+ const top = box.top - origin.top;
500
+ const border = {
501
+ top: px(style.borderTopWidth) * scale,
502
+ right: px(style.borderRightWidth) * scale,
503
+ bottom: px(style.borderBottomWidth) * scale,
504
+ left: px(style.borderLeftWidth) * scale
505
+ };
506
+ const pad = {
507
+ top: px(style.paddingTop) * scale,
508
+ right: px(style.paddingRight) * scale,
509
+ bottom: px(style.paddingBottom) * scale,
510
+ left: px(style.paddingLeft) * scale
511
+ };
512
+ const inner = {
513
+ x: left + border.left,
514
+ y: top + border.top,
515
+ width: box.width - border.left - border.right,
516
+ height: box.height - border.top - border.bottom
517
+ };
518
+ const next = [];
519
+ const add = (kind, token, key, x, y, width, height) => {
520
+ if (token && width > .5 && height > .5) next.push({
521
+ key,
522
+ kind,
523
+ token,
524
+ label: describe(token),
525
+ x,
526
+ y,
527
+ width,
528
+ height
529
+ });
530
+ };
531
+ add("padding", tokens.padding.top, "pt", inner.x, inner.y, inner.width, pad.top);
532
+ add("padding", tokens.padding.bottom, "pb", inner.x, inner.y + inner.height - pad.bottom, inner.width, pad.bottom);
533
+ add("padding", tokens.padding.left, "pl", inner.x, inner.y + pad.top, pad.left, inner.height - pad.top - pad.bottom);
534
+ add("padding", tokens.padding.right, "pr", inner.x + inner.width - pad.right, inner.y + pad.top, pad.right, inner.height - pad.top - pad.bottom);
535
+ if (tokens.gap.row || tokens.gap.column) {
536
+ const children_0 = [...target.children].map((child) => child.getBoundingClientRect()).filter((rect) => rect.width > 0 && rect.height > 0);
537
+ const contentTop = inner.y + pad.top;
538
+ const contentHeight = inner.height - pad.top - pad.bottom;
539
+ const contentLeft = inner.x + pad.left;
540
+ const contentWidth = inner.width - pad.left - pad.right;
541
+ children_0.slice(1).forEach((rect_0, index) => {
542
+ const previous = children_0[index];
543
+ if (rect_0.left >= previous.right - .5) add("gap", tokens.gap.column, `gx${index}`, previous.right - origin.left, contentTop, rect_0.left - previous.right, contentHeight);
544
+ else if (rect_0.top >= previous.bottom - .5) add("gap", tokens.gap.row, `gy${index}`, contentLeft, previous.bottom - origin.top, contentWidth, rect_0.top - previous.bottom);
545
+ });
546
+ }
547
+ if (tokens.radius && px(style.borderTopLeftRadius) > 0) {
548
+ const size = Math.min(12, box.width / 3, box.height / 3);
549
+ add("radius", tokens.radius, "r-tl", left, top, size, size);
550
+ add("radius", tokens.radius, "r-tr", left + box.width - size, top, size, size);
551
+ add("radius", tokens.radius, "r-bl", left, top + box.height - size, size, size);
552
+ add("radius", tokens.radius, "r-br", left + box.width - size, top + box.height - size, size, size);
553
+ }
554
+ setRegions(next);
555
+ setOutline({
556
+ x: left,
557
+ y: top,
558
+ width: box.width,
559
+ height: box.height
560
+ });
561
+ }, [
562
+ target,
563
+ tokensOf,
564
+ describe
565
+ ]);
566
+ useLayoutEffect(measure, [measure, revision]);
567
+ useEffect(() => {
568
+ const stage_0 = stageRef.current;
569
+ if (!stage_0) return;
570
+ let frame = 0;
571
+ const schedule = () => {
572
+ cancelAnimationFrame(frame);
573
+ frame = requestAnimationFrame(measure);
574
+ };
575
+ const observer = new ResizeObserver(schedule);
576
+ observer.observe(stage_0);
577
+ if (target) observer.observe(target);
578
+ window.addEventListener("scroll", schedule, true);
579
+ return () => {
580
+ cancelAnimationFrame(frame);
581
+ observer.disconnect();
582
+ window.removeEventListener("scroll", schedule, true);
583
+ };
584
+ }, [measure, target]);
585
+ const onPointerMove = (event) => {
586
+ if (event.target.closest(".studio-inspect-region")) return;
587
+ const content = contentRef.current;
588
+ if (!content) return;
589
+ const hit = document.elementsFromPoint(event.clientX, event.clientY).find((element_0) => content.contains(element_0) && hasTokens(tokensOf(element_0)));
590
+ if (hit && hit !== target) setTarget(hit);
591
+ };
592
+ return /* @__PURE__ */ jsxs("div", {
593
+ ref: stageRef,
594
+ className: "studio-inspect-stage",
595
+ onPointerMove,
596
+ children: [
597
+ /* @__PURE__ */ jsx("div", {
598
+ ref: contentRef,
599
+ className: "studio-inspect-content",
600
+ children
601
+ }),
602
+ /* @__PURE__ */ jsxs("div", {
603
+ className: "studio-inspect-layer",
604
+ "aria-label": "Token inspector",
605
+ children: [
606
+ outline && /* @__PURE__ */ jsx("div", {
607
+ className: "studio-inspect-outline",
608
+ style: {
609
+ left: outline.x,
610
+ top: outline.y,
611
+ width: outline.width,
612
+ height: outline.height
613
+ }
614
+ }),
615
+ regions.map((region) => /* @__PURE__ */ jsx("button", {
616
+ type: "button",
617
+ className: `studio-inspect-region is-${region.kind} ${active === region.token ? "is-active" : ""}`,
618
+ style: {
619
+ left: region.x,
620
+ top: region.y,
621
+ width: region.width,
622
+ height: region.height
623
+ },
624
+ "aria-label": `Edit ${region.kind} ${region.label}`,
625
+ title: region.label,
626
+ onPointerEnter: () => setActive(region.token),
627
+ onPointerLeave: () => setActive(null),
628
+ onClick: (event_0) => {
629
+ event_0.stopPropagation();
630
+ onSelect(region.token);
631
+ }
632
+ }, region.key)),
633
+ active && regions.some((region_1) => region_1.token === active) && /* @__PURE__ */ jsx(InspectLabel, {
634
+ region: regions.find((region_0) => region_0.token === active),
635
+ stageWidth: stageRef.current?.clientWidth ?? 0
636
+ })
637
+ ]
638
+ }),
639
+ !target && /* @__PURE__ */ jsx("p", {
640
+ className: "studio-inspect-hint",
641
+ children: "Hover the component to see its paddings, gaps and radius."
642
+ })
643
+ ]
644
+ });
645
+ }
646
+ function InspectLabel(t0) {
647
+ const $ = c(10);
648
+ const { region, stageWidth } = t0;
649
+ const left = Math.max(4, Math.min(region.x, stageWidth - 220));
650
+ const t1 = `studio-inspect-label is-${region.kind}`;
651
+ const t2 = Math.max(0, region.y - 24);
652
+ let t3;
653
+ if ($[0] !== left || $[1] !== t2) {
654
+ t3 = {
655
+ left,
656
+ top: t2
657
+ };
658
+ $[0] = left;
659
+ $[1] = t2;
660
+ $[2] = t3;
661
+ } else t3 = $[2];
662
+ let t4;
663
+ if ($[3] !== region.kind) {
664
+ t4 = /* @__PURE__ */ jsx("strong", { children: region.kind });
665
+ $[3] = region.kind;
666
+ $[4] = t4;
667
+ } else t4 = $[4];
668
+ let t5;
669
+ if ($[5] !== region.label || $[6] !== t1 || $[7] !== t3 || $[8] !== t4) {
670
+ t5 = /* @__PURE__ */ jsxs("div", {
671
+ className: t1,
672
+ style: t3,
673
+ children: [
674
+ t4,
675
+ " ",
676
+ region.label
677
+ ]
678
+ });
679
+ $[5] = region.label;
680
+ $[6] = t1;
681
+ $[7] = t3;
682
+ $[8] = t4;
683
+ $[9] = t5;
684
+ } else t5 = $[9];
685
+ return t5;
686
+ }
687
+ //#endregion
688
+ //#region src/configurator/gallery/demos.tsx
689
+ const galleryGroups = [
690
+ "Buttons",
691
+ "Inputs",
692
+ "Selection",
693
+ "Files",
694
+ "Feedback",
695
+ "Text",
696
+ "Navigation",
697
+ "Overlays",
698
+ "Data"
699
+ ];
700
+ const noop = () => {};
701
+ const menuItems = [
702
+ {
703
+ label: "Edit",
704
+ onAction: noop
705
+ },
706
+ {
707
+ label: "Duplicate",
708
+ onAction: noop
709
+ },
710
+ {
711
+ label: "Archive",
712
+ isDisabled: true,
713
+ onAction: noop
714
+ }
715
+ ];
716
+ const eventItems = [
717
+ {
718
+ id: "1",
719
+ label: "Roundtable"
720
+ },
721
+ {
722
+ id: "2",
723
+ label: "Conference"
724
+ },
725
+ {
726
+ id: "3",
727
+ label: "Meeting"
728
+ },
729
+ {
730
+ id: "4",
731
+ label: "Party"
732
+ },
733
+ {
734
+ id: "5",
735
+ label: "Disabled item",
736
+ isDisabled: true
737
+ }
738
+ ];
739
+ const airportItems = Array.from({ length: 12 }, (_, index) => ({
740
+ id: `airport-${index + 1}`,
741
+ label: `Airport ${String(index + 1).padStart(3, "0")}`
742
+ }));
743
+ const groupOptions = [
744
+ {
745
+ label: "Option 1",
746
+ value: "option-1"
747
+ },
748
+ {
749
+ label: "Option 2",
750
+ value: "option-2"
751
+ },
752
+ {
753
+ label: "Option 3",
754
+ value: "option-3"
755
+ }
756
+ ];
757
+ const accordionContent = /* @__PURE__ */ jsx("p", {
758
+ className: "text-text-default-2",
759
+ children: "This is the content of the accordion item. It can contain any React elements."
760
+ });
761
+ const accordionItems = [
762
+ {
763
+ id: "item1",
764
+ heading: "What is your refund policy?",
765
+ subheading: "Returns & exchanges",
766
+ icon: Info,
767
+ children: accordionContent
768
+ },
769
+ {
770
+ id: "item2",
771
+ heading: "How do I track my order?",
772
+ subheading: "Shipping info",
773
+ icon: Info,
774
+ children: accordionContent
775
+ },
776
+ {
777
+ id: "item3",
778
+ heading: "Do you offer international shipping?",
779
+ subheading: "Global delivery",
780
+ icon: Info,
781
+ children: accordionContent
782
+ }
783
+ ];
784
+ const steps = [
785
+ {
786
+ id: "1",
787
+ title: "Account",
788
+ subtext: "Create your account"
789
+ },
790
+ {
791
+ id: "2",
792
+ title: "Profile",
793
+ subtext: "Tell us about yourself"
794
+ },
795
+ {
796
+ id: "3",
797
+ title: "Review",
798
+ subtext: "Review your details"
799
+ }
800
+ ];
801
+ const tableRows = [
802
+ {
803
+ name: "Ada Lovelace",
804
+ email: "ada@example.com",
805
+ role: "Admin"
806
+ },
807
+ {
808
+ name: "Alan Turing",
809
+ email: "alan@example.com",
810
+ role: "Editor"
811
+ },
812
+ {
813
+ name: "Grace Hopper",
814
+ email: "grace@example.com",
815
+ role: "Viewer"
816
+ },
817
+ {
818
+ name: "Linus Torvalds",
819
+ email: "linus@example.com",
820
+ role: "Editor"
821
+ }
822
+ ];
823
+ const tableColumns = [
824
+ {
825
+ accessorKey: "name",
826
+ header: "Name",
827
+ enableSorting: false
828
+ },
829
+ {
830
+ accessorKey: "email",
831
+ header: "Email",
832
+ enableSorting: false
833
+ },
834
+ {
835
+ accessorKey: "role",
836
+ header: "Role",
837
+ enableSorting: false
838
+ }
839
+ ];
840
+ function ToggleGroupDemo() {
841
+ const $ = c(11);
842
+ const [value, setValue] = useState("option1");
843
+ let t0;
844
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
845
+ t0 = ["bold"];
846
+ $[0] = t0;
847
+ } else t0 = $[0];
848
+ const [format, setFormat] = useState(t0);
849
+ let t1;
850
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
851
+ t1 = [
852
+ {
853
+ id: "option1",
854
+ label: "Option 1"
855
+ },
856
+ {
857
+ id: "option2",
858
+ label: "Option 2"
859
+ },
860
+ {
861
+ id: "option3",
862
+ label: "Option 3"
863
+ }
864
+ ];
865
+ $[1] = t1;
866
+ } else t1 = $[1];
867
+ let t2;
868
+ if ($[2] !== value) {
869
+ t2 = /* @__PURE__ */ jsx(ToggleGroup, {
870
+ "aria-label": "View",
871
+ items: t1,
872
+ value,
873
+ onChange: setValue
874
+ });
875
+ $[2] = value;
876
+ $[3] = t2;
877
+ } else t2 = $[3];
878
+ let t3;
879
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
880
+ t3 = /* @__PURE__ */ jsx(ToggleGroup, {
881
+ "aria-label": "Send options",
882
+ items: [{
883
+ id: "calendar",
884
+ label: "Calendar",
885
+ icon: Calendar
886
+ }, {
887
+ id: "send",
888
+ label: "Send",
889
+ icon: Send
890
+ }],
891
+ defaultValue: "calendar"
892
+ });
893
+ $[4] = t3;
894
+ } else t3 = $[4];
895
+ let t4;
896
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
897
+ t4 = [
898
+ {
899
+ id: "bold",
900
+ label: "Bold",
901
+ icon: Bold,
902
+ iconOnly: true
903
+ },
904
+ {
905
+ id: "italic",
906
+ label: "Italic",
907
+ icon: Italic,
908
+ iconOnly: true
909
+ },
910
+ {
911
+ id: "underline",
912
+ label: "Underline",
913
+ icon: Underline,
914
+ iconOnly: true
915
+ }
916
+ ];
917
+ $[5] = t4;
918
+ } else t4 = $[5];
919
+ let t5;
920
+ if ($[6] !== format) {
921
+ t5 = /* @__PURE__ */ jsx(ToggleGroup, {
922
+ "aria-label": "Formatting",
923
+ selectionMode: "multiple",
924
+ items: t4,
925
+ value: format,
926
+ onChange: setFormat
927
+ });
928
+ $[6] = format;
929
+ $[7] = t5;
930
+ } else t5 = $[7];
931
+ let t6;
932
+ if ($[8] !== t2 || $[9] !== t5) {
933
+ t6 = /* @__PURE__ */ jsxs("div", {
934
+ className: "flex flex-col items-start gap-3",
935
+ children: [
936
+ t2,
937
+ t3,
938
+ t5
939
+ ]
940
+ });
941
+ $[8] = t2;
942
+ $[9] = t5;
943
+ $[10] = t6;
944
+ } else t6 = $[10];
945
+ return t6;
946
+ }
947
+ function CheckboxGroupDemo() {
948
+ const $ = c(3);
949
+ let t0;
950
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
951
+ t0 = ["option-2"];
952
+ $[0] = t0;
953
+ } else t0 = $[0];
954
+ const [value, setValue] = useState(t0);
955
+ let t1;
956
+ if ($[1] !== value) {
957
+ t1 = /* @__PURE__ */ jsx(CheckboxGroup, {
958
+ label: "Checkbox group",
959
+ options: groupOptions,
960
+ value,
961
+ onChange: setValue
962
+ });
963
+ $[1] = value;
964
+ $[2] = t1;
965
+ } else t1 = $[2];
966
+ return t1;
967
+ }
968
+ function RadioGroupDemo() {
969
+ const $ = c(2);
970
+ const [value, setValue] = useState("option-1");
971
+ let t0;
972
+ if ($[0] !== value) {
973
+ t0 = /* @__PURE__ */ jsx(RadioGroup, {
974
+ label: "Radio group",
975
+ options: groupOptions,
976
+ value,
977
+ onChange: setValue
978
+ });
979
+ $[0] = value;
980
+ $[1] = t0;
981
+ } else t0 = $[1];
982
+ return t0;
983
+ }
984
+ function SelectDemo() {
985
+ const $ = c(8);
986
+ const [value, setValue] = useState("2");
987
+ let t0;
988
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
989
+ t0 = ["1", "3"];
990
+ $[0] = t0;
991
+ } else t0 = $[0];
992
+ const [multi, setMulti] = useState(t0);
993
+ let t1;
994
+ if ($[1] !== value) {
995
+ t1 = /* @__PURE__ */ jsx(Select, {
996
+ label: "Event type",
997
+ placeholder: "Ex.: Roundtable",
998
+ items: eventItems,
999
+ value,
1000
+ onChange: setValue
1001
+ });
1002
+ $[1] = value;
1003
+ $[2] = t1;
1004
+ } else t1 = $[2];
1005
+ let t2;
1006
+ if ($[3] !== multi) {
1007
+ t2 = /* @__PURE__ */ jsx(Select, {
1008
+ label: "Event types",
1009
+ placeholder: "Select several",
1010
+ selectionMode: "multiple",
1011
+ items: eventItems,
1012
+ value: multi,
1013
+ onChange: setMulti
1014
+ });
1015
+ $[3] = multi;
1016
+ $[4] = t2;
1017
+ } else t2 = $[4];
1018
+ let t3;
1019
+ if ($[5] !== t1 || $[6] !== t2) {
1020
+ t3 = /* @__PURE__ */ jsxs("div", {
1021
+ className: "flex flex-col gap-4",
1022
+ children: [t1, t2]
1023
+ });
1024
+ $[5] = t1;
1025
+ $[6] = t2;
1026
+ $[7] = t3;
1027
+ } else t3 = $[7];
1028
+ return t3;
1029
+ }
1030
+ function AutocompleteDemo() {
1031
+ const $ = c(2);
1032
+ const [value, setValue] = useState(null);
1033
+ let t0;
1034
+ if ($[0] !== value) {
1035
+ t0 = /* @__PURE__ */ jsx(Autocomplete, {
1036
+ label: "Airport",
1037
+ placeholder: "Choose an airport",
1038
+ items: airportItems,
1039
+ value,
1040
+ onChange: setValue
1041
+ });
1042
+ $[0] = value;
1043
+ $[1] = t0;
1044
+ } else t0 = $[1];
1045
+ return t0;
1046
+ }
1047
+ function DatePickerDemo() {
1048
+ const $ = c(2);
1049
+ const [value, setValue] = useState(null);
1050
+ let t0;
1051
+ if ($[0] !== value) {
1052
+ t0 = /* @__PURE__ */ jsx(DatePicker, {
1053
+ label: "Date",
1054
+ value,
1055
+ onChange: setValue
1056
+ });
1057
+ $[0] = value;
1058
+ $[1] = t0;
1059
+ } else t0 = $[1];
1060
+ return t0;
1061
+ }
1062
+ function TimePickerDemo() {
1063
+ const $ = c(2);
1064
+ const [value, setValue] = useState(null);
1065
+ let t0;
1066
+ if ($[0] !== value) {
1067
+ t0 = /* @__PURE__ */ jsx(TimePicker, {
1068
+ label: "Time",
1069
+ value,
1070
+ onChange: setValue
1071
+ });
1072
+ $[0] = value;
1073
+ $[1] = t0;
1074
+ } else t0 = $[1];
1075
+ return t0;
1076
+ }
1077
+ function PaginationDemo() {
1078
+ const $ = c(4);
1079
+ const [page, setPage] = useState(1);
1080
+ const [pageSize, setPageSize] = useState(10);
1081
+ let t0;
1082
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1083
+ t0 = (size) => {
1084
+ setPageSize(size);
1085
+ setPage(1);
1086
+ };
1087
+ $[0] = t0;
1088
+ } else t0 = $[0];
1089
+ let t1;
1090
+ if ($[1] !== page || $[2] !== pageSize) {
1091
+ t1 = /* @__PURE__ */ jsx(Pagination, {
1092
+ page,
1093
+ pageSize,
1094
+ totalItems: 100,
1095
+ hideFirstLast: true,
1096
+ onPageChange: setPage,
1097
+ onPageSizeChange: t0
1098
+ });
1099
+ $[1] = page;
1100
+ $[2] = pageSize;
1101
+ $[3] = t1;
1102
+ } else t1 = $[3];
1103
+ return t1;
1104
+ }
1105
+ function DialogDemo() {
1106
+ const $ = c(19);
1107
+ const ui = UIConfig.useConfig();
1108
+ const dialogMainCva = UIOverrides.useCva("dialog.mainCva", dialogMainDefinition);
1109
+ const dialogContentCva = UIOverrides.useCva("dialog.contentCva", dialogContentDefinition);
1110
+ let t0;
1111
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1112
+ t0 = /* @__PURE__ */ jsx(Button, { children: "Open dialog" });
1113
+ $[0] = t0;
1114
+ } else t0 = $[0];
1115
+ let t1;
1116
+ if ($[1] !== dialogMainCva) {
1117
+ t1 = dialogMainCva({});
1118
+ $[1] = dialogMainCva;
1119
+ $[2] = t1;
1120
+ } else t1 = $[2];
1121
+ let t2;
1122
+ if ($[3] !== dialogContentCva) {
1123
+ t2 = dialogContentCva({});
1124
+ $[3] = dialogContentCva;
1125
+ $[4] = t2;
1126
+ } else t2 = $[4];
1127
+ let t3;
1128
+ if ($[5] !== ui.alertDialog.titleTypography) {
1129
+ t3 = /* @__PURE__ */ jsx(Typography, {
1130
+ ...ui.alertDialog.titleTypography,
1131
+ as: "h2",
1132
+ className: "text-surface-default-card-foreground",
1133
+ children: "Delete project?"
1134
+ });
1135
+ $[5] = ui.alertDialog.titleTypography;
1136
+ $[6] = t3;
1137
+ } else t3 = $[6];
1138
+ let t4;
1139
+ if ($[7] !== ui.alertDialog.descriptionTypography) {
1140
+ t4 = /* @__PURE__ */ jsx(Typography, {
1141
+ ...ui.alertDialog.descriptionTypography,
1142
+ className: "text-surface-default-card-foreground",
1143
+ children: "This will permanently remove the project and all of its files. This action cannot be undone."
1144
+ });
1145
+ $[7] = ui.alertDialog.descriptionTypography;
1146
+ $[8] = t4;
1147
+ } else t4 = $[8];
1148
+ let t5;
1149
+ if ($[9] !== t3 || $[10] !== t4) {
1150
+ t5 = /* @__PURE__ */ jsxs("div", {
1151
+ className: "flex flex-col gap-modal-gap-text",
1152
+ children: [t3, t4]
1153
+ });
1154
+ $[9] = t3;
1155
+ $[10] = t4;
1156
+ $[11] = t5;
1157
+ } else t5 = $[11];
1158
+ let t6;
1159
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
1160
+ t6 = /* @__PURE__ */ jsxs("div", {
1161
+ className: "flex w-full flex-wrap gap-modal-gap-buttons pt-1",
1162
+ children: [/* @__PURE__ */ jsx(Button, {
1163
+ color: "secondary",
1164
+ width: "fill",
1165
+ className: "min-w-40 flex-1 shrink-0",
1166
+ children: "Cancel"
1167
+ }), /* @__PURE__ */ jsx(Button, {
1168
+ width: "fill",
1169
+ className: "min-w-40 flex-1 shrink-0",
1170
+ children: "Delete"
1171
+ })]
1172
+ });
1173
+ $[12] = t6;
1174
+ } else t6 = $[12];
1175
+ let t7;
1176
+ if ($[13] !== t2 || $[14] !== t5) {
1177
+ t7 = /* @__PURE__ */ jsxs("div", {
1178
+ "aria-label": "Delete project",
1179
+ className: t2,
1180
+ children: [t5, t6]
1181
+ });
1182
+ $[13] = t2;
1183
+ $[14] = t5;
1184
+ $[15] = t7;
1185
+ } else t7 = $[15];
1186
+ let t8;
1187
+ if ($[16] !== t1 || $[17] !== t7) {
1188
+ t8 = /* @__PURE__ */ jsxs("div", {
1189
+ className: "flex flex-col items-start gap-3",
1190
+ children: [t0, /* @__PURE__ */ jsx("div", {
1191
+ className: t1,
1192
+ children: t7
1193
+ })]
1194
+ });
1195
+ $[16] = t1;
1196
+ $[17] = t7;
1197
+ $[18] = t8;
1198
+ } else t8 = $[18];
1199
+ return t8;
1200
+ }
1201
+ function PopoverDemo() {
1202
+ const $ = c(6);
1203
+ const popoverCva = UIOverrides.useCva("popover.cva", popoverDefinition);
1204
+ let t0;
1205
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1206
+ t0 = /* @__PURE__ */ jsx(Button, {
1207
+ endIcon: ChevronDown,
1208
+ children: "Open popover"
1209
+ });
1210
+ $[0] = t0;
1211
+ } else t0 = $[0];
1212
+ let t1;
1213
+ if ($[1] !== popoverCva) {
1214
+ t1 = popoverCva({});
1215
+ $[1] = popoverCva;
1216
+ $[2] = t1;
1217
+ } else t1 = $[2];
1218
+ const t2 = `${t1} overflow-hidden p-2`;
1219
+ let t3;
1220
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
1221
+ t3 = /* @__PURE__ */ jsxs("div", {
1222
+ className: "flex flex-col gap-2",
1223
+ children: [
1224
+ /* @__PURE__ */ jsx(Typography, {
1225
+ size: "body",
1226
+ className: "font-bold",
1227
+ children: "Popover title"
1228
+ }),
1229
+ /* @__PURE__ */ jsx(Typography, {
1230
+ size: "small",
1231
+ children: "Popovers show rich content anchored to a trigger element."
1232
+ }),
1233
+ /* @__PURE__ */ jsx(TextButton, {
1234
+ size: "sm",
1235
+ children: "Learn more"
1236
+ })
1237
+ ]
1238
+ });
1239
+ $[3] = t3;
1240
+ } else t3 = $[3];
1241
+ let t4;
1242
+ if ($[4] !== t2) {
1243
+ t4 = /* @__PURE__ */ jsxs("div", {
1244
+ className: "flex flex-col items-start",
1245
+ children: [t0, /* @__PURE__ */ jsx("div", {
1246
+ className: "my-4 w-72 outline-none",
1247
+ children: /* @__PURE__ */ jsx("div", {
1248
+ "aria-label": "Popover",
1249
+ className: "outline-none",
1250
+ children: /* @__PURE__ */ jsx("div", {
1251
+ className: t2,
1252
+ children: t3
1253
+ })
1254
+ })
1255
+ })]
1256
+ });
1257
+ $[4] = t2;
1258
+ $[5] = t4;
1259
+ } else t4 = $[5];
1260
+ return t4;
1261
+ }
1262
+ function DropdownMenuDemo() {
1263
+ const $ = c(19);
1264
+ const menuPopoverCva = UIOverrides.useCva("dropdownMenu.popoverCva", menuPopoverDefinition);
1265
+ const menuPopoverWrapperCva = UIOverrides.useCva("dropdownMenu.popoverWrapperCva", menuPopoverWrapperDefinition);
1266
+ const menuCva = UIOverrides.useCva("dropdownMenu.cva", dropdownMenuDefinition);
1267
+ const menuItemCva = UIOverrides.useCva("dropdownMenu.itemCva", menuItemDefinition);
1268
+ let t0;
1269
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1270
+ t0 = [
1271
+ { label: "Profile" },
1272
+ { label: "Settings" },
1273
+ {
1274
+ label: "More options",
1275
+ submenu: true
1276
+ },
1277
+ {
1278
+ label: "Disabled item",
1279
+ disabled: true
1280
+ }
1281
+ ];
1282
+ $[0] = t0;
1283
+ } else t0 = $[0];
1284
+ const items = t0;
1285
+ let t1;
1286
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
1287
+ t1 = /* @__PURE__ */ jsx(BadgeButton, {
1288
+ icon: Settings,
1289
+ children: "Open menu"
1290
+ });
1291
+ $[1] = t1;
1292
+ } else t1 = $[1];
1293
+ let t2;
1294
+ if ($[2] !== menuPopoverCva) {
1295
+ t2 = menuPopoverCva({});
1296
+ $[2] = menuPopoverCva;
1297
+ $[3] = t2;
1298
+ } else t2 = $[3];
1299
+ const t3 = `${t2} w-56`;
1300
+ let t4;
1301
+ if ($[4] !== menuPopoverWrapperCva) {
1302
+ t4 = menuPopoverWrapperCva({});
1303
+ $[4] = menuPopoverWrapperCva;
1304
+ $[5] = t4;
1305
+ } else t4 = $[5];
1306
+ let t5;
1307
+ if ($[6] !== menuCva) {
1308
+ t5 = menuCva({ isMobile: false });
1309
+ $[6] = menuCva;
1310
+ $[7] = t5;
1311
+ } else t5 = $[7];
1312
+ let t6;
1313
+ if ($[8] !== menuItemCva) {
1314
+ t6 = items.map((item) => /* @__PURE__ */ jsxs("div", {
1315
+ "aria-disabled": item.disabled || void 0,
1316
+ "data-disabled": item.disabled || void 0,
1317
+ "data-has-submenu": item.submenu || void 0,
1318
+ className: menuItemCva({ isMobile: false }),
1319
+ children: [item.label, item.submenu && /* @__PURE__ */ jsx(ArrowRight, { className: "size-6" })]
1320
+ }, item.label));
1321
+ $[8] = menuItemCva;
1322
+ $[9] = t6;
1323
+ } else t6 = $[9];
1324
+ let t7;
1325
+ if ($[10] !== t5 || $[11] !== t6) {
1326
+ t7 = /* @__PURE__ */ jsx("div", {
1327
+ className: t5,
1328
+ children: t6
1329
+ });
1330
+ $[10] = t5;
1331
+ $[11] = t6;
1332
+ $[12] = t7;
1333
+ } else t7 = $[12];
1334
+ let t8;
1335
+ if ($[13] !== t4 || $[14] !== t7) {
1336
+ t8 = /* @__PURE__ */ jsx("div", {
1337
+ className: t4,
1338
+ children: t7
1339
+ });
1340
+ $[13] = t4;
1341
+ $[14] = t7;
1342
+ $[15] = t8;
1343
+ } else t8 = $[15];
1344
+ let t9;
1345
+ if ($[16] !== t3 || $[17] !== t8) {
1346
+ t9 = /* @__PURE__ */ jsxs("div", {
1347
+ className: "flex flex-col items-start",
1348
+ children: [t1, /* @__PURE__ */ jsx("div", {
1349
+ className: t3,
1350
+ children: t8
1351
+ })]
1352
+ });
1353
+ $[16] = t3;
1354
+ $[17] = t8;
1355
+ $[18] = t9;
1356
+ } else t9 = $[18];
1357
+ return t9;
1358
+ }
1359
+ function TooltipDemo() {
1360
+ const $ = c(19);
1361
+ const tooltipCva = UIOverrides.useCva("tooltip.cva", tooltipDefinition);
1362
+ const tooltipPointerCva = UIOverrides.useCva("tooltip.pointerHorizontalCva", tooltipPointerHorizontalDefinition);
1363
+ const tooltipTextCva = UIOverrides.useCva("tooltip.textCva", tooltipTextDefinition);
1364
+ let t0;
1365
+ if ($[0] !== tooltipCva) {
1366
+ t0 = tooltipCva({});
1367
+ $[0] = tooltipCva;
1368
+ $[1] = t0;
1369
+ } else t0 = $[1];
1370
+ let t1;
1371
+ if ($[2] !== tooltipTextCva) {
1372
+ t1 = tooltipTextCva({});
1373
+ $[2] = tooltipTextCva;
1374
+ $[3] = t1;
1375
+ } else t1 = $[3];
1376
+ const t2 = `${t1} font-bold`;
1377
+ let t3;
1378
+ if ($[4] !== t2) {
1379
+ t3 = /* @__PURE__ */ jsx(Typography, {
1380
+ size: "small",
1381
+ className: t2,
1382
+ children: "Tooltip text"
1383
+ });
1384
+ $[4] = t2;
1385
+ $[5] = t3;
1386
+ } else t3 = $[5];
1387
+ let t4;
1388
+ if ($[6] !== t0 || $[7] !== t3) {
1389
+ t4 = /* @__PURE__ */ jsx("div", {
1390
+ className: t0,
1391
+ children: t3
1392
+ });
1393
+ $[6] = t0;
1394
+ $[7] = t3;
1395
+ $[8] = t4;
1396
+ } else t4 = $[8];
1397
+ let t5;
1398
+ if ($[9] !== tooltipPointerCva) {
1399
+ t5 = tooltipPointerCva({});
1400
+ $[9] = tooltipPointerCva;
1401
+ $[10] = t5;
1402
+ } else t5 = $[10];
1403
+ let t6;
1404
+ if ($[11] !== t5) {
1405
+ t6 = /* @__PURE__ */ jsx(ChevronUp, {
1406
+ className: t5,
1407
+ fill: "currentColor",
1408
+ strokeWidth: 0,
1409
+ "aria-hidden": "true"
1410
+ });
1411
+ $[11] = t5;
1412
+ $[12] = t6;
1413
+ } else t6 = $[12];
1414
+ let t7;
1415
+ if ($[13] !== t4 || $[14] !== t6) {
1416
+ t7 = /* @__PURE__ */ jsxs("div", {
1417
+ className: "group flex flex-col items-center",
1418
+ "data-placement": "top",
1419
+ children: [t4, t6]
1420
+ });
1421
+ $[13] = t4;
1422
+ $[14] = t6;
1423
+ $[15] = t7;
1424
+ } else t7 = $[15];
1425
+ let t8;
1426
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
1427
+ t8 = /* @__PURE__ */ jsx(Button, {
1428
+ variant: "outlined",
1429
+ children: "Hover me"
1430
+ });
1431
+ $[16] = t8;
1432
+ } else t8 = $[16];
1433
+ let t9;
1434
+ if ($[17] !== t7) {
1435
+ t9 = /* @__PURE__ */ jsxs("div", {
1436
+ className: "flex flex-col items-center",
1437
+ children: [t7, t8]
1438
+ });
1439
+ $[17] = t7;
1440
+ $[18] = t9;
1441
+ } else t9 = $[18];
1442
+ return t9;
1443
+ }
1444
+ const demos = [
1445
+ {
1446
+ id: "button",
1447
+ title: "Button",
1448
+ group: "Buttons",
1449
+ render: () => /* @__PURE__ */ jsxs("div", {
1450
+ className: "flex flex-col gap-3",
1451
+ children: [
1452
+ /* @__PURE__ */ jsxs("div", {
1453
+ className: "flex flex-wrap items-center gap-2",
1454
+ children: [
1455
+ /* @__PURE__ */ jsx(Button, { children: "Contained" }),
1456
+ /* @__PURE__ */ jsx(Button, {
1457
+ variant: "outlined",
1458
+ children: "Outlined"
1459
+ }),
1460
+ /* @__PURE__ */ jsx(Button, {
1461
+ variant: "subtle",
1462
+ children: "Subtle"
1463
+ }),
1464
+ /* @__PURE__ */ jsx(Button, {
1465
+ variant: "ghost",
1466
+ children: "Ghost"
1467
+ }),
1468
+ /* @__PURE__ */ jsx(Button, {
1469
+ variant: "text",
1470
+ children: "Text"
1471
+ })
1472
+ ]
1473
+ }),
1474
+ /* @__PURE__ */ jsxs("div", {
1475
+ className: "flex flex-wrap items-center gap-2",
1476
+ children: [
1477
+ /* @__PURE__ */ jsx(Button, {
1478
+ color: "secondary",
1479
+ children: "Secondary"
1480
+ }),
1481
+ /* @__PURE__ */ jsx(Button, {
1482
+ color: "error",
1483
+ children: "Error"
1484
+ }),
1485
+ /* @__PURE__ */ jsx(Button, {
1486
+ startIcon: Calendar,
1487
+ children: "With icon"
1488
+ }),
1489
+ /* @__PURE__ */ jsx(Button, {
1490
+ isLoading: true,
1491
+ children: "Loading"
1492
+ })
1493
+ ]
1494
+ }),
1495
+ /* @__PURE__ */ jsxs("div", {
1496
+ className: "flex flex-wrap items-center gap-2",
1497
+ children: [
1498
+ /* @__PURE__ */ jsx(Button, {
1499
+ size: "sm",
1500
+ children: "Small"
1501
+ }),
1502
+ /* @__PURE__ */ jsx(Button, {
1503
+ size: "default",
1504
+ children: "Default"
1505
+ }),
1506
+ /* @__PURE__ */ jsx(Button, {
1507
+ isDisabled: true,
1508
+ children: "Disabled"
1509
+ }),
1510
+ /* @__PURE__ */ jsx(Button, {
1511
+ variant: "outlined",
1512
+ isDisabled: true,
1513
+ children: "Disabled"
1514
+ })
1515
+ ]
1516
+ })
1517
+ ]
1518
+ })
1519
+ },
1520
+ {
1521
+ id: "icon-button",
1522
+ title: "IconButton",
1523
+ group: "Buttons",
1524
+ render: () => /* @__PURE__ */ jsxs("div", {
1525
+ className: "flex flex-wrap items-center gap-2",
1526
+ children: [
1527
+ /* @__PURE__ */ jsx(IconButton, {
1528
+ icon: Calendar,
1529
+ label: "Calendar"
1530
+ }),
1531
+ /* @__PURE__ */ jsx(IconButton, {
1532
+ icon: Calendar,
1533
+ label: "Calendar",
1534
+ variant: "outlined"
1535
+ }),
1536
+ /* @__PURE__ */ jsx(IconButton, {
1537
+ icon: Calendar,
1538
+ label: "Calendar",
1539
+ variant: "subtle"
1540
+ }),
1541
+ /* @__PURE__ */ jsx(IconButton, {
1542
+ icon: Calendar,
1543
+ label: "Calendar",
1544
+ color: "secondary"
1545
+ }),
1546
+ /* @__PURE__ */ jsx(IconButton, {
1547
+ icon: Calendar,
1548
+ label: "Calendar",
1549
+ size: "sm"
1550
+ }),
1551
+ /* @__PURE__ */ jsx(IconButton, {
1552
+ icon: Calendar,
1553
+ label: "Calendar",
1554
+ isDisabled: true
1555
+ })
1556
+ ]
1557
+ })
1558
+ },
1559
+ {
1560
+ id: "text-button",
1561
+ title: "TextButton",
1562
+ group: "Buttons",
1563
+ render: () => /* @__PURE__ */ jsxs("div", {
1564
+ className: "flex flex-wrap items-center gap-4",
1565
+ children: [
1566
+ /* @__PURE__ */ jsx(TextButton, { children: "Log in" }),
1567
+ /* @__PURE__ */ jsx(TextButton, {
1568
+ icon: Calendar,
1569
+ children: "With icon"
1570
+ }),
1571
+ /* @__PURE__ */ jsx(TextButton, {
1572
+ color: "secondary",
1573
+ children: "Secondary"
1574
+ }),
1575
+ /* @__PURE__ */ jsx(TextButton, {
1576
+ color: "error",
1577
+ children: "Error"
1578
+ }),
1579
+ /* @__PURE__ */ jsx(TextButton, {
1580
+ isDisabled: true,
1581
+ children: "Disabled"
1582
+ })
1583
+ ]
1584
+ })
1585
+ },
1586
+ {
1587
+ id: "toggle-button",
1588
+ title: "ToggleButton",
1589
+ group: "Buttons",
1590
+ render: () => /* @__PURE__ */ jsxs("div", {
1591
+ className: "flex flex-wrap items-center gap-2",
1592
+ children: [
1593
+ /* @__PURE__ */ jsx(ToggleButton, { children: "Toggle me" }),
1594
+ /* @__PURE__ */ jsx(ToggleButton, {
1595
+ defaultSelected: true,
1596
+ children: "Selected"
1597
+ }),
1598
+ /* @__PURE__ */ jsx(ToggleButton, {
1599
+ isDisabled: true,
1600
+ children: "Disabled"
1601
+ })
1602
+ ]
1603
+ })
1604
+ },
1605
+ {
1606
+ id: "split-button",
1607
+ title: "SplitButton",
1608
+ group: "Buttons",
1609
+ render: () => /* @__PURE__ */ jsxs("div", {
1610
+ className: "flex flex-wrap items-center gap-3",
1611
+ children: [/* @__PURE__ */ jsx(SplitButton, {
1612
+ label: "Save",
1613
+ labelRight: "More",
1614
+ items: menuItems
1615
+ }), /* @__PURE__ */ jsx(SplitButton, {
1616
+ label: "Save",
1617
+ labelRight: "More",
1618
+ variant: "outlined",
1619
+ items: menuItems
1620
+ })]
1621
+ })
1622
+ },
1623
+ {
1624
+ id: "badge-button",
1625
+ title: "BadgeButton",
1626
+ group: "Buttons",
1627
+ render: () => /* @__PURE__ */ jsxs("div", {
1628
+ className: "flex flex-wrap items-center gap-2",
1629
+ children: [
1630
+ /* @__PURE__ */ jsx(BadgeButton, { children: "Badge" }),
1631
+ /* @__PURE__ */ jsx(BadgeButton, {
1632
+ icon: Calendar,
1633
+ children: "With icon"
1634
+ }),
1635
+ /* @__PURE__ */ jsx(BadgeButton, {
1636
+ dismissable: true,
1637
+ children: "Dismissable"
1638
+ }),
1639
+ /* @__PURE__ */ jsx(BadgeButton, {
1640
+ toggle: true,
1641
+ defaultSelected: true,
1642
+ children: "Selected"
1643
+ }),
1644
+ /* @__PURE__ */ jsx(BadgeButton, {
1645
+ isDisabled: true,
1646
+ children: "Disabled"
1647
+ })
1648
+ ]
1649
+ })
1650
+ },
1651
+ {
1652
+ id: "toggle-group",
1653
+ title: "ToggleGroup",
1654
+ group: "Buttons",
1655
+ render: () => /* @__PURE__ */ jsx(ToggleGroupDemo, {})
1656
+ },
1657
+ {
1658
+ id: "input",
1659
+ title: "Input",
1660
+ group: "Inputs",
1661
+ render: () => /* @__PURE__ */ jsxs("div", {
1662
+ className: "flex flex-col gap-4",
1663
+ children: [
1664
+ /* @__PURE__ */ jsx(Input, {
1665
+ label: "First name",
1666
+ placeholder: "Enter your name"
1667
+ }),
1668
+ /* @__PURE__ */ jsx(Input, {
1669
+ label: "Email",
1670
+ placeholder: "name@example.com",
1671
+ helperText: "We will never share your email.",
1672
+ isRequired: true
1673
+ }),
1674
+ /* @__PURE__ */ jsx(Input, {
1675
+ label: "Username",
1676
+ defaultValue: "admin",
1677
+ error: "This username is already taken."
1678
+ }),
1679
+ /* @__PURE__ */ jsx(Input, {
1680
+ label: "Disabled",
1681
+ defaultValue: "Read only value",
1682
+ isDisabled: true
1683
+ })
1684
+ ]
1685
+ })
1686
+ },
1687
+ {
1688
+ id: "text-area",
1689
+ title: "TextArea",
1690
+ group: "Inputs",
1691
+ render: () => /* @__PURE__ */ jsx(TextArea, {
1692
+ label: "Description",
1693
+ placeholder: "Tell us more",
1694
+ helperText: "Maximum 500 characters"
1695
+ })
1696
+ },
1697
+ {
1698
+ id: "password-input",
1699
+ title: "PasswordInput",
1700
+ group: "Inputs",
1701
+ render: () => /* @__PURE__ */ jsx(PasswordInput, {
1702
+ label: "Password",
1703
+ defaultValue: "supersecret",
1704
+ isRequired: true
1705
+ })
1706
+ },
1707
+ {
1708
+ id: "number-field",
1709
+ title: "NumberField",
1710
+ group: "Inputs",
1711
+ render: () => /* @__PURE__ */ jsx(NumberField, {
1712
+ label: "Quantity",
1713
+ defaultValue: 3
1714
+ })
1715
+ },
1716
+ {
1717
+ id: "checkbox",
1718
+ title: "Checkbox",
1719
+ group: "Inputs",
1720
+ render: () => /* @__PURE__ */ jsxs("div", {
1721
+ className: "flex flex-col gap-2",
1722
+ children: [
1723
+ /* @__PURE__ */ jsx(Checkbox, { children: "Unchecked" }),
1724
+ /* @__PURE__ */ jsx(Checkbox, {
1725
+ defaultSelected: true,
1726
+ children: "Checked"
1727
+ }),
1728
+ /* @__PURE__ */ jsx(Checkbox, {
1729
+ isIndeterminate: true,
1730
+ children: "Indeterminate"
1731
+ }),
1732
+ /* @__PURE__ */ jsx(Checkbox, {
1733
+ isDisabled: true,
1734
+ children: "Disabled"
1735
+ }),
1736
+ /* @__PURE__ */ jsx(Checkbox, {
1737
+ error: "This is an error message",
1738
+ children: "With error"
1739
+ })
1740
+ ]
1741
+ })
1742
+ },
1743
+ {
1744
+ id: "checkbox-group",
1745
+ title: "CheckboxGroup",
1746
+ group: "Inputs",
1747
+ render: () => /* @__PURE__ */ jsx(CheckboxGroupDemo, {})
1748
+ },
1749
+ {
1750
+ id: "radio-group",
1751
+ title: "RadioGroup",
1752
+ group: "Inputs",
1753
+ render: () => /* @__PURE__ */ jsx(RadioGroupDemo, {})
1754
+ },
1755
+ {
1756
+ id: "switch",
1757
+ title: "Switch",
1758
+ group: "Inputs",
1759
+ render: () => /* @__PURE__ */ jsxs("div", {
1760
+ className: "flex flex-col gap-2",
1761
+ children: [
1762
+ /* @__PURE__ */ jsx(Switch, { children: "Off" }),
1763
+ /* @__PURE__ */ jsx(Switch, {
1764
+ defaultSelected: true,
1765
+ children: "On"
1766
+ }),
1767
+ /* @__PURE__ */ jsx(Switch, {
1768
+ isDisabled: true,
1769
+ children: "Disabled"
1770
+ }),
1771
+ /* @__PURE__ */ jsx(Switch, {
1772
+ defaultSelected: true,
1773
+ isDisabled: true,
1774
+ children: "Selected disabled"
1775
+ })
1776
+ ]
1777
+ })
1778
+ },
1779
+ {
1780
+ id: "slider",
1781
+ title: "Slider",
1782
+ group: "Inputs",
1783
+ render: () => /* @__PURE__ */ jsxs("div", {
1784
+ className: "flex flex-col gap-4",
1785
+ children: [/* @__PURE__ */ jsx(Slider, {
1786
+ label: "Percentage",
1787
+ defaultValue: 40,
1788
+ unit: "%"
1789
+ }), /* @__PURE__ */ jsx(Slider, {
1790
+ label: "Range",
1791
+ isRange: true,
1792
+ defaultValue: [25, 75]
1793
+ })]
1794
+ })
1795
+ },
1796
+ {
1797
+ id: "select",
1798
+ title: "Select",
1799
+ group: "Selection",
1800
+ render: () => /* @__PURE__ */ jsx(SelectDemo, {})
1801
+ },
1802
+ {
1803
+ id: "autocomplete",
1804
+ title: "Autocomplete",
1805
+ group: "Selection",
1806
+ render: () => /* @__PURE__ */ jsx(AutocompleteDemo, {})
1807
+ },
1808
+ {
1809
+ id: "date-picker",
1810
+ title: "DatePicker",
1811
+ group: "Selection",
1812
+ render: () => /* @__PURE__ */ jsx(DatePickerDemo, {})
1813
+ },
1814
+ {
1815
+ id: "time-picker",
1816
+ title: "TimePicker",
1817
+ group: "Selection",
1818
+ render: () => /* @__PURE__ */ jsx(TimePickerDemo, {})
1819
+ },
1820
+ {
1821
+ id: "file-upload",
1822
+ title: "FileUpload",
1823
+ group: "Files",
1824
+ render: () => /* @__PURE__ */ jsx(FileUpload, {
1825
+ label: "Upload file",
1826
+ helperText: "Upload images (JPEG, PNG, WEBP)",
1827
+ acceptedFileTypes: [
1828
+ "image/jpeg",
1829
+ "image/png",
1830
+ "image/webp"
1831
+ ]
1832
+ })
1833
+ },
1834
+ {
1835
+ id: "alert",
1836
+ title: "Alert",
1837
+ group: "Feedback",
1838
+ render: () => /* @__PURE__ */ jsxs("div", {
1839
+ className: "flex flex-col gap-3",
1840
+ children: [
1841
+ /* @__PURE__ */ jsx(Alert, {
1842
+ text: "This is a neutral alert with some helpful information.",
1843
+ icon: Info
1844
+ }),
1845
+ /* @__PURE__ */ jsx(Alert, {
1846
+ color: "success",
1847
+ text: "Your changes have been saved.",
1848
+ icon: Check
1849
+ }),
1850
+ /* @__PURE__ */ jsx(Alert, {
1851
+ color: "warning",
1852
+ text: "Your trial ends in 3 days.",
1853
+ icon: Info
1854
+ }),
1855
+ /* @__PURE__ */ jsx(Alert, {
1856
+ variant: "contained",
1857
+ color: "error",
1858
+ text: "Something went wrong. Please try again.",
1859
+ icon: Info
1860
+ })
1861
+ ]
1862
+ })
1863
+ },
1864
+ {
1865
+ id: "toast",
1866
+ title: "Toast",
1867
+ group: "Feedback",
1868
+ render: () => /* @__PURE__ */ jsxs("div", {
1869
+ className: "flex flex-col gap-3",
1870
+ children: [/* @__PURE__ */ jsx(Toast, {
1871
+ variant: "outlined",
1872
+ color: "neutral",
1873
+ text: "This is a toast notification.",
1874
+ icon: Check,
1875
+ actions: [{
1876
+ text: "Undo",
1877
+ onPress: noop
1878
+ }, {
1879
+ text: "Dismiss",
1880
+ onPress: noop
1881
+ }]
1882
+ }), /* @__PURE__ */ jsx(Toast, {
1883
+ variant: "contained",
1884
+ color: "success",
1885
+ text: "File uploaded successfully.",
1886
+ icon: Check
1887
+ })]
1888
+ })
1889
+ },
1890
+ {
1891
+ id: "progress",
1892
+ title: "Progress",
1893
+ group: "Feedback",
1894
+ render: () => /* @__PURE__ */ jsxs("div", {
1895
+ className: "flex flex-col gap-4",
1896
+ children: [
1897
+ /* @__PURE__ */ jsx(Progress, {
1898
+ progress: 50,
1899
+ valueLabel: "trailing"
1900
+ }),
1901
+ /* @__PURE__ */ jsx(Progress, {
1902
+ progress: 30,
1903
+ valueLabel: "leading"
1904
+ }),
1905
+ /* @__PURE__ */ jsx(Progress, {
1906
+ progress: 75,
1907
+ valueLabel: "none"
1908
+ })
1909
+ ]
1910
+ })
1911
+ },
1912
+ {
1913
+ id: "spinner",
1914
+ title: "Spinner",
1915
+ group: "Feedback",
1916
+ render: () => /* @__PURE__ */ jsxs("div", {
1917
+ className: "flex items-center gap-6",
1918
+ children: [/* @__PURE__ */ jsx(Spinner, { size: "default" }), /* @__PURE__ */ jsx(Spinner, { size: "l" })]
1919
+ })
1920
+ },
1921
+ {
1922
+ id: "badge",
1923
+ title: "Badge",
1924
+ group: "Text",
1925
+ render: () => /* @__PURE__ */ jsxs("div", {
1926
+ className: "flex flex-wrap items-center gap-2",
1927
+ children: [
1928
+ /* @__PURE__ */ jsx(Badge, {
1929
+ color: "primary",
1930
+ children: "Primary"
1931
+ }),
1932
+ /* @__PURE__ */ jsx(Badge, {
1933
+ color: "secondary",
1934
+ children: "Secondary"
1935
+ }),
1936
+ /* @__PURE__ */ jsx(Badge, {
1937
+ color: "error",
1938
+ children: "Error"
1939
+ }),
1940
+ /* @__PURE__ */ jsx(Badge, {
1941
+ variant: "outlined",
1942
+ color: "primary",
1943
+ children: "Outlined"
1944
+ }),
1945
+ /* @__PURE__ */ jsx(Badge, {
1946
+ color: "primary",
1947
+ dismissable: true,
1948
+ onDismiss: noop,
1949
+ children: "Dismissable"
1950
+ })
1951
+ ]
1952
+ })
1953
+ },
1954
+ {
1955
+ id: "tag",
1956
+ title: "Tag",
1957
+ group: "Text",
1958
+ render: () => /* @__PURE__ */ jsxs("div", {
1959
+ className: "flex flex-wrap items-center gap-2",
1960
+ children: [
1961
+ /* @__PURE__ */ jsx(Tag, {
1962
+ color: "primary",
1963
+ children: "Primary"
1964
+ }),
1965
+ /* @__PURE__ */ jsx(Tag, {
1966
+ color: "secondary",
1967
+ children: "Secondary"
1968
+ }),
1969
+ /* @__PURE__ */ jsx(Tag, {
1970
+ color: "success",
1971
+ children: "Success"
1972
+ }),
1973
+ /* @__PURE__ */ jsx(Tag, {
1974
+ color: "warning",
1975
+ children: "Warning"
1976
+ }),
1977
+ /* @__PURE__ */ jsx(Tag, {
1978
+ color: "error",
1979
+ children: "Error"
1980
+ }),
1981
+ /* @__PURE__ */ jsx(Tag, {
1982
+ color: "primary",
1983
+ dismissable: true,
1984
+ onDismiss: noop,
1985
+ children: "Dismissable"
1986
+ })
1987
+ ]
1988
+ })
1989
+ },
1990
+ {
1991
+ id: "link",
1992
+ title: "Link",
1993
+ group: "Text",
1994
+ render: () => /* @__PURE__ */ jsxs(Typography, {
1995
+ size: "body",
1996
+ children: [
1997
+ "Read the ",
1998
+ /* @__PURE__ */ jsx(Link, {
1999
+ href: "#",
2000
+ children: "documentation"
2001
+ }),
2002
+ " or visit the ",
2003
+ /* @__PURE__ */ jsx(Link, {
2004
+ href: "#",
2005
+ children: "help center"
2006
+ }),
2007
+ "."
2008
+ ]
2009
+ })
2010
+ },
2011
+ {
2012
+ id: "typography",
2013
+ title: "Typography",
2014
+ group: "Text",
2015
+ render: () => /* @__PURE__ */ jsxs("div", {
2016
+ className: "flex flex-col gap-2",
2017
+ children: [
2018
+ /* @__PURE__ */ jsx(Typography, {
2019
+ size: "h1",
2020
+ as: "h1",
2021
+ children: "Heading 1"
2022
+ }),
2023
+ /* @__PURE__ */ jsx(Typography, {
2024
+ size: "h2",
2025
+ as: "h2",
2026
+ children: "Heading 2"
2027
+ }),
2028
+ /* @__PURE__ */ jsx(Typography, {
2029
+ size: "h3",
2030
+ as: "h3",
2031
+ children: "Heading 3"
2032
+ }),
2033
+ /* @__PURE__ */ jsx(Typography, {
2034
+ size: "lead",
2035
+ children: "Lead paragraph text."
2036
+ }),
2037
+ /* @__PURE__ */ jsx(Typography, {
2038
+ size: "body",
2039
+ children: "Body text for general content and descriptions."
2040
+ }),
2041
+ /* @__PURE__ */ jsx(Typography, {
2042
+ size: "small",
2043
+ children: "Small text for captions and metadata."
2044
+ })
2045
+ ]
2046
+ })
2047
+ },
2048
+ {
2049
+ id: "accordion",
2050
+ title: "Accordion",
2051
+ group: "Navigation",
2052
+ render: () => /* @__PURE__ */ jsx(Accordion, {
2053
+ items: accordionItems,
2054
+ defaultExpandedKeys: ["item1"]
2055
+ })
2056
+ },
2057
+ {
2058
+ id: "stepper",
2059
+ wide: true,
2060
+ title: "Stepper",
2061
+ group: "Navigation",
2062
+ render: () => /* @__PURE__ */ jsx(Stepper, {
2063
+ steps,
2064
+ currentStep: 1
2065
+ })
2066
+ },
2067
+ {
2068
+ id: "breadcrumbs",
2069
+ title: "Breadcrumbs",
2070
+ group: "Navigation",
2071
+ render: () => /* @__PURE__ */ jsx(Breadcrumbs, { items: [
2072
+ {
2073
+ id: "home",
2074
+ label: "Home",
2075
+ link: { href: "#" },
2076
+ icon: House
2077
+ },
2078
+ {
2079
+ id: "products",
2080
+ label: "Products",
2081
+ link: { href: "#" }
2082
+ },
2083
+ {
2084
+ id: "current",
2085
+ label: "Product details"
2086
+ }
2087
+ ] })
2088
+ },
2089
+ {
2090
+ id: "pagination",
2091
+ wide: true,
2092
+ title: "Pagination",
2093
+ group: "Navigation",
2094
+ render: () => /* @__PURE__ */ jsx(PaginationDemo, {})
2095
+ },
2096
+ {
2097
+ id: "dialog",
2098
+ title: "Dialog",
2099
+ group: "Overlays",
2100
+ overlay: true,
2101
+ render: () => /* @__PURE__ */ jsx(DialogDemo, {})
2102
+ },
2103
+ {
2104
+ id: "popover",
2105
+ title: "Popover",
2106
+ group: "Overlays",
2107
+ overlay: true,
2108
+ render: () => /* @__PURE__ */ jsx(PopoverDemo, {})
2109
+ },
2110
+ {
2111
+ id: "tooltip",
2112
+ title: "Tooltip",
2113
+ group: "Overlays",
2114
+ overlay: true,
2115
+ render: () => /* @__PURE__ */ jsx(TooltipDemo, {})
2116
+ },
2117
+ {
2118
+ id: "dropdown-menu",
2119
+ title: "DropdownMenu",
2120
+ group: "Overlays",
2121
+ overlay: true,
2122
+ render: () => /* @__PURE__ */ jsx(DropdownMenuDemo, {})
2123
+ },
2124
+ {
2125
+ id: "table",
2126
+ wide: true,
2127
+ title: "Table",
2128
+ group: "Data",
2129
+ render: () => /* @__PURE__ */ jsx(Table, {
2130
+ items: tableRows,
2131
+ columns: tableColumns
2132
+ })
2133
+ }
2134
+ ];
2135
+ //#endregion
2136
+ //#region src/configurator/gallery/LayoutPreview.tsx
2137
+ /** Daily active users for the stats card; the last day is highlighted as today. */
2138
+ const week = [
2139
+ {
2140
+ day: "M",
2141
+ value: 58
2142
+ },
2143
+ {
2144
+ day: "T",
2145
+ value: 72
2146
+ },
2147
+ {
2148
+ day: "W",
2149
+ value: 64
2150
+ },
2151
+ {
2152
+ day: "T",
2153
+ value: 80
2154
+ },
2155
+ {
2156
+ day: "F",
2157
+ value: 70
2158
+ },
2159
+ {
2160
+ day: "S",
2161
+ value: 44
2162
+ },
2163
+ {
2164
+ day: "S",
2165
+ value: 90
2166
+ }
2167
+ ];
2168
+ const team = [
2169
+ "AK",
2170
+ "MS",
2171
+ "LP"
2172
+ ];
2173
+ const features = [
2174
+ "Unlimited projects",
2175
+ "Shared design tokens",
2176
+ "Priority support"
2177
+ ];
2178
+ const teamSizes = [
2179
+ {
2180
+ id: "small",
2181
+ label: "1–10 people"
2182
+ },
2183
+ {
2184
+ id: "medium",
2185
+ label: "11–50 people"
2186
+ },
2187
+ {
2188
+ id: "large",
2189
+ label: "51+ people"
2190
+ }
2191
+ ];
2192
+ const navLinks = [
2193
+ "Dashboard",
2194
+ "Projects",
2195
+ "Team",
2196
+ "Settings"
2197
+ ];
2198
+ /** The app's top navigation: brand, page links, search, notifications and the signed-in user. */
2199
+ function NavigationBar(t0) {
2200
+ const $ = c(8);
2201
+ const { active } = t0;
2202
+ let t1;
2203
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2204
+ t1 = /* @__PURE__ */ jsxs("span", {
2205
+ className: "studio-layout-brand",
2206
+ children: [/* @__PURE__ */ jsx("span", {
2207
+ "aria-hidden": "true",
2208
+ children: "A"
2209
+ }), "Acme"]
2210
+ });
2211
+ $[0] = t1;
2212
+ } else t1 = $[0];
2213
+ let t2;
2214
+ if ($[1] !== active) {
2215
+ t2 = navLinks.map((link) => /* @__PURE__ */ jsx(Button, {
2216
+ size: "s",
2217
+ variant: link === active ? "subtle" : "ghost",
2218
+ "aria-current": link === active ? "page" : void 0,
2219
+ children: link
2220
+ }, link));
2221
+ $[1] = active;
2222
+ $[2] = t2;
2223
+ } else t2 = $[2];
2224
+ let t3;
2225
+ if ($[3] !== t2) {
2226
+ t3 = /* @__PURE__ */ jsx("nav", {
2227
+ "aria-label": "Main",
2228
+ className: "studio-layout-nav-links",
2229
+ children: t2
2230
+ });
2231
+ $[3] = t2;
2232
+ $[4] = t3;
2233
+ } else t3 = $[4];
2234
+ let t4;
2235
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
2236
+ t4 = /* @__PURE__ */ jsxs("div", {
2237
+ className: "studio-layout-nav-actions",
2238
+ children: [
2239
+ /* @__PURE__ */ jsx(Input, {
2240
+ label: "Search",
2241
+ hideLabel: true,
2242
+ placeholder: "Search",
2243
+ size: "small",
2244
+ leadingIcon: Search
2245
+ }),
2246
+ /* @__PURE__ */ jsx(IconButton, {
2247
+ icon: Bell,
2248
+ label: "Notifications",
2249
+ variant: "subtle",
2250
+ size: "sm"
2251
+ }),
2252
+ /* @__PURE__ */ jsx("span", {
2253
+ className: "studio-layout-nav-avatar",
2254
+ "aria-label": "Jane Doe",
2255
+ children: "JD"
2256
+ })
2257
+ ]
2258
+ });
2259
+ $[5] = t4;
2260
+ } else t4 = $[5];
2261
+ let t5;
2262
+ if ($[6] !== t3) {
2263
+ t5 = /* @__PURE__ */ jsxs("header", {
2264
+ className: "studio-layout-nav",
2265
+ children: [
2266
+ t1,
2267
+ t3,
2268
+ t4
2269
+ ]
2270
+ });
2271
+ $[6] = t3;
2272
+ $[7] = t5;
2273
+ } else t5 = $[7];
2274
+ return t5;
2275
+ }
2276
+ const stats = [
2277
+ {
2278
+ label: "Revenue",
2279
+ value: "€48,200",
2280
+ trend: "+8.2%"
2281
+ },
2282
+ {
2283
+ label: "Active projects",
2284
+ value: "24",
2285
+ trend: "+3"
2286
+ },
2287
+ {
2288
+ label: "New sign-ups",
2289
+ value: "312",
2290
+ trend: "+12%"
2291
+ },
2292
+ {
2293
+ label: "Churn",
2294
+ value: "1.8%",
2295
+ trend: "−0.4%"
2296
+ }
2297
+ ];
2298
+ const projects = [
2299
+ {
2300
+ name: "Onboarding redesign",
2301
+ owner: "Ada Lovelace",
2302
+ status: "Active",
2303
+ updated: "2 hours ago",
2304
+ budget: "€12,400"
2305
+ },
2306
+ {
2307
+ name: "Billing migration",
2308
+ owner: "Alan Turing",
2309
+ status: "Review",
2310
+ updated: "Yesterday",
2311
+ budget: "€8,900"
2312
+ },
2313
+ {
2314
+ name: "Mobile app 2.0",
2315
+ owner: "Grace Hopper",
2316
+ status: "Active",
2317
+ updated: "3 days ago",
2318
+ budget: "€21,000"
2319
+ },
2320
+ {
2321
+ name: "Design tokens",
2322
+ owner: "Linus Torvalds",
2323
+ status: "Blocked",
2324
+ updated: "Last week",
2325
+ budget: "€4,300"
2326
+ },
2327
+ {
2328
+ name: "Analytics dashboard",
2329
+ owner: "Margaret Hamilton",
2330
+ status: "Review",
2331
+ updated: "Last week",
2332
+ budget: "€9,750"
2333
+ }
2334
+ ];
2335
+ const statusColor = {
2336
+ Active: "primary",
2337
+ Review: "secondary",
2338
+ Blocked: "error"
2339
+ };
2340
+ const projectColumns = [
2341
+ {
2342
+ accessorKey: "name",
2343
+ header: "Project",
2344
+ enableSorting: false
2345
+ },
2346
+ {
2347
+ accessorKey: "owner",
2348
+ header: "Owner",
2349
+ enableSorting: false
2350
+ },
2351
+ {
2352
+ accessorKey: "status",
2353
+ header: "Status",
2354
+ enableSorting: false,
2355
+ cell: ({ row }) => /* @__PURE__ */ jsx(Badge, {
2356
+ color: statusColor[row.original.status],
2357
+ children: row.original.status
2358
+ })
2359
+ },
2360
+ {
2361
+ accessorKey: "updated",
2362
+ header: "Updated",
2363
+ enableSorting: false
2364
+ },
2365
+ {
2366
+ accessorKey: "budget",
2367
+ header: "Budget",
2368
+ enableSorting: false
2369
+ }
2370
+ ];
2371
+ /** A dashboard: navigation, KPI tiles, a project table with status badges and pagination. */
2372
+ function DashboardScreen() {
2373
+ const $ = c(9);
2374
+ const [page, setPage] = useState(1);
2375
+ const [pageSize, setPageSize] = useState(10);
2376
+ let t0;
2377
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2378
+ t0 = /* @__PURE__ */ jsx(NavigationBar, { active: "Dashboard" });
2379
+ $[0] = t0;
2380
+ } else t0 = $[0];
2381
+ let t1;
2382
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2383
+ t1 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Dashboard" }), /* @__PURE__ */ jsx("p", {
2384
+ className: "studio-layout-muted",
2385
+ children: "An overview of your team's projects this month."
2386
+ })] });
2387
+ $[1] = t1;
2388
+ } else t1 = $[1];
2389
+ let t2;
2390
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
2391
+ t2 = /* @__PURE__ */ jsxs("div", {
2392
+ className: "studio-layout-screen-heading",
2393
+ children: [t1, /* @__PURE__ */ jsxs("div", {
2394
+ className: "studio-layout-form-actions",
2395
+ children: [/* @__PURE__ */ jsx(Button, {
2396
+ size: "default",
2397
+ variant: "outlined",
2398
+ children: "Default button"
2399
+ }), /* @__PURE__ */ jsx(Button, {
2400
+ size: "default",
2401
+ children: "Default button"
2402
+ })]
2403
+ })]
2404
+ });
2405
+ $[2] = t2;
2406
+ } else t2 = $[2];
2407
+ let t3;
2408
+ let t4;
2409
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
2410
+ t3 = /* @__PURE__ */ jsx("div", {
2411
+ className: "studio-layout-stats",
2412
+ children: stats.map(_temp)
2413
+ });
2414
+ t4 = /* @__PURE__ */ jsx(Table, {
2415
+ items: projects,
2416
+ columns: projectColumns
2417
+ });
2418
+ $[3] = t3;
2419
+ $[4] = t4;
2420
+ } else {
2421
+ t3 = $[3];
2422
+ t4 = $[4];
2423
+ }
2424
+ let t5;
2425
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
2426
+ t5 = (size) => {
2427
+ setPageSize(size);
2428
+ setPage(1);
2429
+ };
2430
+ $[5] = t5;
2431
+ } else t5 = $[5];
2432
+ let t6;
2433
+ if ($[6] !== page || $[7] !== pageSize) {
2434
+ t6 = /* @__PURE__ */ jsxs("article", {
2435
+ className: "studio-layout-card is-screen",
2436
+ children: [
2437
+ t0,
2438
+ t2,
2439
+ t3,
2440
+ t4,
2441
+ /* @__PURE__ */ jsx(Pagination, {
2442
+ page,
2443
+ pageSize,
2444
+ totalItems: 42,
2445
+ hideFirstLast: true,
2446
+ onPageChange: setPage,
2447
+ onPageSizeChange: t5
2448
+ })
2449
+ ]
2450
+ });
2451
+ $[6] = page;
2452
+ $[7] = pageSize;
2453
+ $[8] = t6;
2454
+ } else t6 = $[8];
2455
+ return t6;
2456
+ }
2457
+ /** A sign-in screen: centered form with email, password, remember me, a primary and a secondary action. */
2458
+ function _temp(t0) {
2459
+ const { label, value, trend } = t0;
2460
+ return /* @__PURE__ */ jsxs("div", {
2461
+ className: "studio-layout-stat",
2462
+ children: [
2463
+ /* @__PURE__ */ jsx("span", {
2464
+ className: "studio-layout-label",
2465
+ children: label
2466
+ }),
2467
+ /* @__PURE__ */ jsx("span", {
2468
+ className: "studio-layout-amount",
2469
+ children: value
2470
+ }),
2471
+ /* @__PURE__ */ jsx("span", {
2472
+ className: "studio-layout-trend",
2473
+ children: trend
2474
+ })
2475
+ ]
2476
+ }, label);
2477
+ }
2478
+ function LoginScreen() {
2479
+ const $ = c(9);
2480
+ let t0;
2481
+ let t1;
2482
+ let t2;
2483
+ let t3;
2484
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2485
+ t0 = /* @__PURE__ */ jsxs("span", {
2486
+ className: "studio-layout-brand",
2487
+ children: [/* @__PURE__ */ jsx("span", {
2488
+ "aria-hidden": "true",
2489
+ children: "A"
2490
+ }), "Acme"]
2491
+ });
2492
+ t1 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Sign in to your account" }), /* @__PURE__ */ jsx("p", {
2493
+ className: "studio-layout-muted",
2494
+ children: "Welcome back. Enter your details to continue."
2495
+ })] });
2496
+ t2 = /* @__PURE__ */ jsx(Input, {
2497
+ label: "Email",
2498
+ placeholder: "jane@company.com",
2499
+ type: "email",
2500
+ size: "default"
2501
+ });
2502
+ t3 = /* @__PURE__ */ jsx(PasswordInput, {
2503
+ label: "Password",
2504
+ placeholder: "••••••••",
2505
+ size: "default"
2506
+ });
2507
+ $[0] = t0;
2508
+ $[1] = t1;
2509
+ $[2] = t2;
2510
+ $[3] = t3;
2511
+ } else {
2512
+ t0 = $[0];
2513
+ t1 = $[1];
2514
+ t2 = $[2];
2515
+ t3 = $[3];
2516
+ }
2517
+ let t4;
2518
+ let t5;
2519
+ let t6;
2520
+ let t7;
2521
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
2522
+ t4 = /* @__PURE__ */ jsxs("div", {
2523
+ className: "studio-layout-login-row",
2524
+ children: [/* @__PURE__ */ jsx(Checkbox, { children: "Remember me" }), /* @__PURE__ */ jsx(Link, {
2525
+ href: "#",
2526
+ children: "Forgot password?"
2527
+ })]
2528
+ });
2529
+ t5 = /* @__PURE__ */ jsx(Button, {
2530
+ size: "default",
2531
+ type: "submit",
2532
+ fullWidth: true,
2533
+ children: "Default button"
2534
+ });
2535
+ t6 = /* @__PURE__ */ jsx("span", {
2536
+ className: "studio-layout-login-divider",
2537
+ children: "or"
2538
+ });
2539
+ t7 = /* @__PURE__ */ jsx(Button, {
2540
+ size: "default",
2541
+ variant: "outlined",
2542
+ fullWidth: true,
2543
+ children: "Default button"
2544
+ });
2545
+ $[4] = t4;
2546
+ $[5] = t5;
2547
+ $[6] = t6;
2548
+ $[7] = t7;
2549
+ } else {
2550
+ t4 = $[4];
2551
+ t5 = $[5];
2552
+ t6 = $[6];
2553
+ t7 = $[7];
2554
+ }
2555
+ let t8;
2556
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
2557
+ t8 = /* @__PURE__ */ jsx("article", {
2558
+ className: "studio-layout-card is-screen is-login",
2559
+ children: /* @__PURE__ */ jsxs("form", {
2560
+ className: "studio-layout-login",
2561
+ onSubmit: _temp2,
2562
+ children: [
2563
+ t0,
2564
+ t1,
2565
+ t2,
2566
+ t3,
2567
+ t4,
2568
+ t5,
2569
+ t6,
2570
+ t7,
2571
+ /* @__PURE__ */ jsxs("p", {
2572
+ className: "studio-layout-muted studio-layout-login-footer",
2573
+ children: ["Don't have an account? ", /* @__PURE__ */ jsx(Link, {
2574
+ href: "#",
2575
+ children: "Sign up"
2576
+ })]
2577
+ })
2578
+ ]
2579
+ })
2580
+ });
2581
+ $[8] = t8;
2582
+ } else t8 = $[8];
2583
+ return t8;
2584
+ }
2585
+ function _temp2(event) {
2586
+ return event.preventDefault();
2587
+ }
2588
+ const settingsMenu = [
2589
+ {
2590
+ label: "Profile",
2591
+ icon: User,
2592
+ active: true
2593
+ },
2594
+ {
2595
+ label: "Team",
2596
+ icon: Users
2597
+ },
2598
+ {
2599
+ label: "Notifications",
2600
+ icon: Bell
2601
+ },
2602
+ {
2603
+ label: "Billing",
2604
+ icon: CreditCard
2605
+ },
2606
+ {
2607
+ label: "Security",
2608
+ icon: ShieldCheck
2609
+ }
2610
+ ];
2611
+ const roles = [
2612
+ {
2613
+ id: "designer",
2614
+ label: "Designer"
2615
+ },
2616
+ {
2617
+ id: "developer",
2618
+ label: "Developer"
2619
+ },
2620
+ {
2621
+ id: "manager",
2622
+ label: "Product manager"
2623
+ }
2624
+ ];
2625
+ /**
2626
+ * A settings page: a navigation menu built from the dropdown menu's item classes (so list tokens apply) beside a
2627
+ * profile form with an image drop zone, text fields, a select, a switch and default buttons.
2628
+ */
2629
+ function SettingsPage() {
2630
+ const $ = c(25);
2631
+ const menuCva = UIOverrides.useCva("dropdownMenu.cva", dropdownMenuDefinition);
2632
+ const menuItemCva = UIOverrides.useCva("dropdownMenu.itemCva", menuItemDefinition);
2633
+ const [role, setRole] = useState("designer");
2634
+ let t0;
2635
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2636
+ t0 = /* @__PURE__ */ jsx(NavigationBar, { active: "Settings" });
2637
+ $[0] = t0;
2638
+ } else t0 = $[0];
2639
+ let t1;
2640
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2641
+ t1 = {
2642
+ id: "home",
2643
+ label: "Home",
2644
+ link: { href: "#" }
2645
+ };
2646
+ $[1] = t1;
2647
+ } else t1 = $[1];
2648
+ let t2;
2649
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
2650
+ t2 = /* @__PURE__ */ jsx(Breadcrumbs, { items: [
2651
+ t1,
2652
+ {
2653
+ id: "settings",
2654
+ label: "Settings",
2655
+ link: { href: "#" }
2656
+ },
2657
+ {
2658
+ id: "profile",
2659
+ label: "Profile"
2660
+ }
2661
+ ] });
2662
+ $[2] = t2;
2663
+ } else t2 = $[2];
2664
+ let t3;
2665
+ if ($[3] !== menuCva) {
2666
+ t3 = menuCva({ isMobile: false });
2667
+ $[3] = menuCva;
2668
+ $[4] = t3;
2669
+ } else t3 = $[4];
2670
+ const t4 = `studio-layout-menu ${t3}`;
2671
+ let t5;
2672
+ if ($[5] !== menuItemCva) {
2673
+ t5 = settingsMenu.map((t6) => {
2674
+ const { label, icon: Icon, active } = t6;
2675
+ return /* @__PURE__ */ jsx("button", {
2676
+ type: "button",
2677
+ "aria-current": active ? "page" : void 0,
2678
+ className: menuItemCva({ isMobile: false }),
2679
+ children: /* @__PURE__ */ jsxs("span", {
2680
+ className: "studio-layout-menu-label",
2681
+ children: [/* @__PURE__ */ jsx(Icon, {
2682
+ size: 16,
2683
+ "aria-hidden": "true"
2684
+ }), label]
2685
+ })
2686
+ }, label);
2687
+ });
2688
+ $[5] = menuItemCva;
2689
+ $[6] = t5;
2690
+ } else t5 = $[6];
2691
+ let t6;
2692
+ if ($[7] !== t4 || $[8] !== t5) {
2693
+ t6 = /* @__PURE__ */ jsx("nav", {
2694
+ "aria-label": "Settings",
2695
+ className: t4,
2696
+ children: t5
2697
+ });
2698
+ $[7] = t4;
2699
+ $[8] = t5;
2700
+ $[9] = t6;
2701
+ } else t6 = $[9];
2702
+ let t7;
2703
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
2704
+ t7 = /* @__PURE__ */ jsxs("div", {
2705
+ className: "studio-layout-form-wide",
2706
+ children: [/* @__PURE__ */ jsx("h4", { children: "Profile" }), /* @__PURE__ */ jsx("p", {
2707
+ className: "studio-layout-muted",
2708
+ children: "This is how others see you across shared projects."
2709
+ })]
2710
+ });
2711
+ $[10] = t7;
2712
+ } else t7 = $[10];
2713
+ let t10;
2714
+ let t8;
2715
+ let t9;
2716
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
2717
+ t8 = /* @__PURE__ */ jsx("div", {
2718
+ className: "studio-layout-form-wide",
2719
+ children: /* @__PURE__ */ jsx(FileUpload, {
2720
+ label: "Profile photo",
2721
+ helperText: "Drop an image here (JPEG, PNG, WEBP), up to 5 MB.",
2722
+ acceptedFileTypes: [
2723
+ "image/jpeg",
2724
+ "image/png",
2725
+ "image/webp"
2726
+ ],
2727
+ variant: "horizontal"
2728
+ })
2729
+ });
2730
+ t9 = /* @__PURE__ */ jsx(Input, {
2731
+ label: "Display name",
2732
+ placeholder: "Jane Doe"
2733
+ });
2734
+ t10 = /* @__PURE__ */ jsx(Input, {
2735
+ label: "Email",
2736
+ placeholder: "jane@company.com",
2737
+ type: "email"
2738
+ });
2739
+ $[11] = t10;
2740
+ $[12] = t8;
2741
+ $[13] = t9;
2742
+ } else {
2743
+ t10 = $[11];
2744
+ t8 = $[12];
2745
+ t9 = $[13];
2746
+ }
2747
+ let t11;
2748
+ if ($[14] !== role) {
2749
+ t11 = /* @__PURE__ */ jsx(Select, {
2750
+ label: "Role",
2751
+ items: roles,
2752
+ value: role,
2753
+ onChange: setRole
2754
+ });
2755
+ $[14] = role;
2756
+ $[15] = t11;
2757
+ } else t11 = $[15];
2758
+ let t12;
2759
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
2760
+ t12 = /* @__PURE__ */ jsx(Input, {
2761
+ label: "Location",
2762
+ placeholder: "Ljubljana, Slovenia"
2763
+ });
2764
+ $[16] = t12;
2765
+ } else t12 = $[16];
2766
+ let t13;
2767
+ if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
2768
+ t13 = /* @__PURE__ */ jsx("div", {
2769
+ className: "studio-layout-form-wide",
2770
+ children: /* @__PURE__ */ jsx(TextArea, {
2771
+ label: "Bio",
2772
+ placeholder: "A few words about you",
2773
+ helperText: "Shown on your public profile."
2774
+ })
2775
+ });
2776
+ $[17] = t13;
2777
+ } else t13 = $[17];
2778
+ let t14;
2779
+ if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
2780
+ t14 = /* @__PURE__ */ jsx(Switch, {
2781
+ defaultSelected: true,
2782
+ children: "Public profile"
2783
+ });
2784
+ $[18] = t14;
2785
+ } else t14 = $[18];
2786
+ let t15;
2787
+ if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
2788
+ t15 = /* @__PURE__ */ jsxs("div", {
2789
+ className: "studio-layout-form-footer",
2790
+ children: [t14, /* @__PURE__ */ jsxs("div", {
2791
+ className: "studio-layout-form-actions",
2792
+ children: [/* @__PURE__ */ jsx(Button, {
2793
+ size: "default",
2794
+ variant: "outlined",
2795
+ children: "Default button"
2796
+ }), /* @__PURE__ */ jsx(Button, {
2797
+ size: "default",
2798
+ type: "submit",
2799
+ children: "Default button"
2800
+ })]
2801
+ })]
2802
+ });
2803
+ $[19] = t15;
2804
+ } else t15 = $[19];
2805
+ let t16;
2806
+ if ($[20] !== t11) {
2807
+ t16 = /* @__PURE__ */ jsxs("form", {
2808
+ className: "studio-layout-form",
2809
+ onSubmit: _temp3,
2810
+ children: [
2811
+ t7,
2812
+ t8,
2813
+ t9,
2814
+ t10,
2815
+ t11,
2816
+ t12,
2817
+ t13,
2818
+ t15
2819
+ ]
2820
+ });
2821
+ $[20] = t11;
2822
+ $[21] = t16;
2823
+ } else t16 = $[21];
2824
+ let t17;
2825
+ if ($[22] !== t16 || $[23] !== t6) {
2826
+ t17 = /* @__PURE__ */ jsxs("article", {
2827
+ className: "studio-layout-card is-settings",
2828
+ children: [
2829
+ t0,
2830
+ t2,
2831
+ /* @__PURE__ */ jsxs("div", {
2832
+ className: "studio-layout-settings",
2833
+ children: [t6, t16]
2834
+ })
2835
+ ]
2836
+ });
2837
+ $[22] = t16;
2838
+ $[23] = t6;
2839
+ $[24] = t17;
2840
+ } else t17 = $[24];
2841
+ return t17;
2842
+ }
2843
+ /**
2844
+ * Opens a real Dialog, so its enter and exit animation can be judged. It is portaled into the preview rather than the
2845
+ * page body, so it uses the draft tokens and the preview's color mode.
2846
+ */
2847
+ function _temp3(event) {
2848
+ return event.preventDefault();
2849
+ }
2850
+ function ModalCard() {
2851
+ const $ = c(10);
2852
+ const [isOpen, setIsOpen] = useState(false);
2853
+ const portalRef = useRef(null);
2854
+ let t0;
2855
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2856
+ t0 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Modal" }), /* @__PURE__ */ jsx("p", {
2857
+ className: "studio-layout-muted",
2858
+ children: "Opens a real dialog with its enter and exit animation."
2859
+ })] });
2860
+ $[0] = t0;
2861
+ } else t0 = $[0];
2862
+ let t1;
2863
+ let t2;
2864
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2865
+ t1 = /* @__PURE__ */ jsx(Button, {
2866
+ size: "default",
2867
+ onPress: () => setIsOpen(true),
2868
+ children: "Open modal"
2869
+ });
2870
+ t2 = /* @__PURE__ */ jsx("div", { ref: portalRef });
2871
+ $[1] = t1;
2872
+ $[2] = t2;
2873
+ } else {
2874
+ t1 = $[1];
2875
+ t2 = $[2];
2876
+ }
2877
+ let t3;
2878
+ let t4;
2879
+ let t5;
2880
+ let t6;
2881
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
2882
+ t3 = (event) => {
2883
+ event.preventDefault();
2884
+ setIsOpen(false);
2885
+ };
2886
+ t4 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Create project" }), /* @__PURE__ */ jsx("p", {
2887
+ className: "studio-layout-muted",
2888
+ children: "Projects group tasks, files and people around one goal."
2889
+ })] });
2890
+ t5 = /* @__PURE__ */ jsx(Input, {
2891
+ label: "Project name",
2892
+ placeholder: "Website relaunch",
2893
+ size: "default"
2894
+ });
2895
+ t6 = /* @__PURE__ */ jsx(TextArea, {
2896
+ label: "Description",
2897
+ placeholder: "What is this project about?"
2898
+ });
2899
+ $[3] = t3;
2900
+ $[4] = t4;
2901
+ $[5] = t5;
2902
+ $[6] = t6;
2903
+ } else {
2904
+ t3 = $[3];
2905
+ t4 = $[4];
2906
+ t5 = $[5];
2907
+ t6 = $[6];
2908
+ }
2909
+ let t7;
2910
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
2911
+ t7 = /* @__PURE__ */ jsxs("form", {
2912
+ className: "studio-layout-modal",
2913
+ onSubmit: t3,
2914
+ children: [
2915
+ t4,
2916
+ t5,
2917
+ t6,
2918
+ /* @__PURE__ */ jsxs("div", {
2919
+ className: "studio-layout-modal-actions",
2920
+ children: [/* @__PURE__ */ jsx(Button, {
2921
+ size: "default",
2922
+ variant: "outlined",
2923
+ onPress: () => setIsOpen(false),
2924
+ children: "Default button"
2925
+ }), /* @__PURE__ */ jsx(Button, {
2926
+ size: "default",
2927
+ type: "submit",
2928
+ children: "Default button"
2929
+ })]
2930
+ })
2931
+ ]
2932
+ });
2933
+ $[7] = t7;
2934
+ } else t7 = $[7];
2935
+ let t8;
2936
+ if ($[8] !== isOpen) {
2937
+ t8 = /* @__PURE__ */ jsxs("article", {
2938
+ className: "studio-layout-card is-modal",
2939
+ children: [
2940
+ t0,
2941
+ t1,
2942
+ t2,
2943
+ /* @__PURE__ */ jsx(Dialog, {
2944
+ isOpen,
2945
+ onOpenChange: setIsOpen,
2946
+ portalContainerRef: portalRef,
2947
+ showCloseIcon: true,
2948
+ "aria-label": "Create project",
2949
+ children: t7
2950
+ })
2951
+ ]
2952
+ });
2953
+ $[8] = isOpen;
2954
+ $[9] = t8;
2955
+ } else t8 = $[9];
2956
+ return t8;
2957
+ }
2958
+ /** Default-size inputs and buttons side by side, so control heights can be compared while sizing changes. */
2959
+ function InviteCard() {
2960
+ const $ = c(3);
2961
+ let t0;
2962
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2963
+ t0 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Invite your team" }), /* @__PURE__ */ jsx("p", {
2964
+ className: "studio-layout-muted",
2965
+ children: "Teammates get access to every shared project."
2966
+ })] });
2967
+ $[0] = t0;
2968
+ } else t0 = $[0];
2969
+ let t1;
2970
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2971
+ t1 = /* @__PURE__ */ jsxs("form", {
2972
+ className: "studio-layout-invite",
2973
+ onSubmit: _temp4,
2974
+ children: [/* @__PURE__ */ jsx(Input, {
2975
+ label: "Email address",
2976
+ placeholder: "name@company.com",
2977
+ type: "email",
2978
+ size: "default"
2979
+ }), /* @__PURE__ */ jsx(Button, {
2980
+ size: "default",
2981
+ type: "submit",
2982
+ children: "Default button"
2983
+ })]
2984
+ });
2985
+ $[1] = t1;
2986
+ } else t1 = $[1];
2987
+ let t2;
2988
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
2989
+ t2 = /* @__PURE__ */ jsxs("article", {
2990
+ className: "studio-layout-card is-invite",
2991
+ children: [
2992
+ t0,
2993
+ t1,
2994
+ /* @__PURE__ */ jsxs("div", {
2995
+ className: "studio-layout-invite-actions",
2996
+ children: [/* @__PURE__ */ jsx(Button, {
2997
+ size: "default",
2998
+ variant: "outlined",
2999
+ children: "Default button"
3000
+ }), /* @__PURE__ */ jsx(Button, {
3001
+ size: "default",
3002
+ variant: "ghost",
3003
+ children: "Default button"
3004
+ })]
3005
+ })
3006
+ ]
3007
+ });
3008
+ $[2] = t2;
3009
+ } else t2 = $[2];
3010
+ return t2;
3011
+ }
3012
+ /** A basic form, so input, label, helper text and focus styles can be judged in context. */
3013
+ function _temp4(event) {
3014
+ return event.preventDefault();
3015
+ }
3016
+ function DemoRequestForm() {
3017
+ const $ = c(10);
3018
+ const [teamSize, setTeamSize] = useState("medium");
3019
+ let t0;
3020
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3021
+ t0 = /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", { children: "Request a demo" }), /* @__PURE__ */ jsx("p", {
3022
+ className: "studio-layout-muted",
3023
+ children: "We will get back to you within one business day."
3024
+ })] });
3025
+ $[0] = t0;
3026
+ } else t0 = $[0];
3027
+ let t1;
3028
+ let t2;
3029
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
3030
+ t1 = /* @__PURE__ */ jsx(Input, {
3031
+ label: "Full name",
3032
+ placeholder: "Jane Doe"
3033
+ });
3034
+ t2 = /* @__PURE__ */ jsx(Input, {
3035
+ label: "Work email",
3036
+ placeholder: "jane@company.com",
3037
+ isRequired: true
3038
+ });
3039
+ $[1] = t1;
3040
+ $[2] = t2;
3041
+ } else {
3042
+ t1 = $[1];
3043
+ t2 = $[2];
3044
+ }
3045
+ let t3;
3046
+ if ($[3] !== teamSize) {
3047
+ t3 = /* @__PURE__ */ jsx(Select, {
3048
+ label: "Team size",
3049
+ placeholder: "Select team size",
3050
+ items: teamSizes,
3051
+ value: teamSize,
3052
+ onChange: setTeamSize
3053
+ });
3054
+ $[3] = teamSize;
3055
+ $[4] = t3;
3056
+ } else t3 = $[4];
3057
+ let t4;
3058
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
3059
+ t4 = /* @__PURE__ */ jsx("div", {
3060
+ className: "studio-layout-form-wide",
3061
+ children: /* @__PURE__ */ jsx(TextArea, {
3062
+ label: "Message",
3063
+ placeholder: "What would you like to see?",
3064
+ helperText: "Optional, up to 500 characters."
3065
+ })
3066
+ });
3067
+ $[5] = t4;
3068
+ } else t4 = $[5];
3069
+ let t5;
3070
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
3071
+ t5 = /* @__PURE__ */ jsx(Checkbox, {
3072
+ defaultSelected: true,
3073
+ children: "Send me product updates"
3074
+ });
3075
+ $[6] = t5;
3076
+ } else t5 = $[6];
3077
+ let t6;
3078
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
3079
+ t6 = /* @__PURE__ */ jsxs("div", {
3080
+ className: "studio-layout-form-footer",
3081
+ children: [t5, /* @__PURE__ */ jsxs("div", {
3082
+ className: "studio-layout-form-actions",
3083
+ children: [/* @__PURE__ */ jsx(Button, {
3084
+ size: "s",
3085
+ variant: "ghost",
3086
+ children: "Small button"
3087
+ }), /* @__PURE__ */ jsx(Button, {
3088
+ size: "s",
3089
+ type: "submit",
3090
+ children: "Small button"
3091
+ })]
3092
+ })]
3093
+ });
3094
+ $[7] = t6;
3095
+ } else t6 = $[7];
3096
+ let t7;
3097
+ if ($[8] !== t3) {
3098
+ t7 = /* @__PURE__ */ jsxs("article", {
3099
+ className: "studio-layout-card is-form",
3100
+ children: [t0, /* @__PURE__ */ jsxs("form", {
3101
+ className: "studio-layout-form",
3102
+ onSubmit: _temp5,
3103
+ children: [
3104
+ t1,
3105
+ t2,
3106
+ t3,
3107
+ t4,
3108
+ t6
3109
+ ]
3110
+ })]
3111
+ });
3112
+ $[8] = t3;
3113
+ $[9] = t7;
3114
+ } else t7 = $[9];
3115
+ return t7;
3116
+ }
3117
+ /**
3118
+ * Small product cards built only from theme tokens and Povio UI components, so palette, typography, radius and
3119
+ * component changes can be judged in a realistic composition rather than component by component.
3120
+ */
3121
+ function _temp5(event) {
3122
+ return event.preventDefault();
3123
+ }
3124
+ function LayoutCards() {
3125
+ const $ = c(12);
3126
+ let t0;
3127
+ let t1;
3128
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3129
+ t0 = /* @__PURE__ */ jsx("p", {
3130
+ className: "studio-layout-label",
3131
+ children: "Sprint 24"
3132
+ });
3133
+ t1 = /* @__PURE__ */ jsx("h4", { children: "Redesign onboarding flow" });
3134
+ $[0] = t0;
3135
+ $[1] = t1;
3136
+ } else {
3137
+ t0 = $[0];
3138
+ t1 = $[1];
3139
+ }
3140
+ let t2;
3141
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
3142
+ t2 = /* @__PURE__ */ jsxs("div", {
3143
+ className: "studio-layout-tags",
3144
+ children: [/* @__PURE__ */ jsx(Tag, { children: "Design" }), /* @__PURE__ */ jsx(Tag, { children: "Research" })]
3145
+ });
3146
+ $[2] = t2;
3147
+ } else t2 = $[2];
3148
+ let t3;
3149
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
3150
+ t3 = /* @__PURE__ */ jsxs("div", {
3151
+ className: "studio-layout-progress",
3152
+ children: [/* @__PURE__ */ jsx("span", { children: "12 of 18 tasks" }), /* @__PURE__ */ jsx(Progress, { progress: 65 })]
3153
+ });
3154
+ $[3] = t3;
3155
+ } else t3 = $[3];
3156
+ let t4;
3157
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
3158
+ t4 = /* @__PURE__ */ jsxs("article", {
3159
+ className: "studio-layout-card is-soft",
3160
+ children: [
3161
+ t0,
3162
+ t1,
3163
+ t2,
3164
+ t3,
3165
+ /* @__PURE__ */ jsxs("div", {
3166
+ className: "studio-layout-footer",
3167
+ children: [/* @__PURE__ */ jsx("div", {
3168
+ className: "studio-layout-avatars",
3169
+ "aria-label": `${team.length} team members`,
3170
+ children: team.map(_temp6)
3171
+ }), /* @__PURE__ */ jsx(Button, {
3172
+ size: "s",
3173
+ children: "Small button"
3174
+ })]
3175
+ })
3176
+ ]
3177
+ });
3178
+ $[4] = t4;
3179
+ } else t4 = $[4];
3180
+ let t5;
3181
+ let t6;
3182
+ let t7;
3183
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
3184
+ t5 = /* @__PURE__ */ jsx("p", {
3185
+ className: "studio-layout-label",
3186
+ children: "Weekly active users"
3187
+ });
3188
+ t6 = /* @__PURE__ */ jsx("p", {
3189
+ className: "studio-layout-amount",
3190
+ children: "8,420"
3191
+ });
3192
+ t7 = /* @__PURE__ */ jsx("p", {
3193
+ className: "studio-layout-trend",
3194
+ children: "+12% vs last week"
3195
+ });
3196
+ $[5] = t5;
3197
+ $[6] = t6;
3198
+ $[7] = t7;
3199
+ } else {
3200
+ t5 = $[5];
3201
+ t6 = $[6];
3202
+ t7 = $[7];
3203
+ }
3204
+ let t8;
3205
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
3206
+ t8 = /* @__PURE__ */ jsxs("article", {
3207
+ className: "studio-layout-card is-stats",
3208
+ children: [
3209
+ t5,
3210
+ t6,
3211
+ t7,
3212
+ /* @__PURE__ */ jsx("div", {
3213
+ className: "studio-layout-chart",
3214
+ role: "img",
3215
+ "aria-label": "Daily active users for the last seven days",
3216
+ children: week.map(_temp7)
3217
+ })
3218
+ ]
3219
+ });
3220
+ $[8] = t8;
3221
+ } else t8 = $[8];
3222
+ let t9;
3223
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
3224
+ t9 = /* @__PURE__ */ jsx("p", {
3225
+ className: "studio-layout-label",
3226
+ children: "Pro plan"
3227
+ });
3228
+ $[9] = t9;
3229
+ } else t9 = $[9];
3230
+ let t10;
3231
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
3232
+ t10 = /* @__PURE__ */ jsxs("p", {
3233
+ className: "studio-layout-price",
3234
+ children: ["€24", /* @__PURE__ */ jsx("span", { children: "/month" })]
3235
+ });
3236
+ $[10] = t10;
3237
+ } else t10 = $[10];
3238
+ let t11;
3239
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
3240
+ t11 = /* @__PURE__ */ jsxs("div", {
3241
+ className: "studio-layout-grid",
3242
+ children: [
3243
+ t4,
3244
+ t8,
3245
+ /* @__PURE__ */ jsxs("article", {
3246
+ className: "studio-layout-card is-bold",
3247
+ children: [
3248
+ t9,
3249
+ t10,
3250
+ /* @__PURE__ */ jsx("ul", {
3251
+ className: "studio-layout-features",
3252
+ children: features.map(_temp8)
3253
+ }),
3254
+ /* @__PURE__ */ jsx(Button, {
3255
+ size: "s",
3256
+ className: "studio-layout-cta",
3257
+ children: "Small button"
3258
+ })
3259
+ ]
3260
+ }),
3261
+ /* @__PURE__ */ jsx(InviteCard, {}),
3262
+ /* @__PURE__ */ jsx(DemoRequestForm, {}),
3263
+ /* @__PURE__ */ jsx(SettingsPage, {}),
3264
+ /* @__PURE__ */ jsx(DashboardScreen, {}),
3265
+ /* @__PURE__ */ jsx(LoginScreen, {}),
3266
+ /* @__PURE__ */ jsx(ModalCard, {})
3267
+ ]
3268
+ });
3269
+ $[11] = t11;
3270
+ } else t11 = $[11];
3271
+ return t11;
3272
+ }
3273
+ /** The layouts at an app's real width, filling the window, so sizes can be judged as they would ship. */
3274
+ function _temp8(feature) {
3275
+ return /* @__PURE__ */ jsxs("li", { children: [/* @__PURE__ */ jsx(Check, {
3276
+ size: 13,
3277
+ "aria-hidden": "true"
3278
+ }), feature] }, feature);
3279
+ }
3280
+ function _temp7(t0, index) {
3281
+ const { day, value } = t0;
3282
+ return /* @__PURE__ */ jsxs("div", {
3283
+ className: `studio-layout-bar ${index === week.length - 1 ? "is-today" : ""}`,
3284
+ children: [/* @__PURE__ */ jsx("span", { style: { height: `${value}%` } }), /* @__PURE__ */ jsx("span", {
3285
+ className: "studio-layout-day",
3286
+ children: day
3287
+ })]
3288
+ }, `${day}-${value}`);
3289
+ }
3290
+ function _temp6(initials) {
3291
+ return /* @__PURE__ */ jsx("span", { children: initials }, initials);
3292
+ }
3293
+ function FullScreenLayouts(t0) {
3294
+ const $ = c(12);
3295
+ const { onClose } = t0;
3296
+ const closeRef = useRef(null);
3297
+ let t1;
3298
+ let t2;
3299
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3300
+ t1 = () => closeRef.current?.focus();
3301
+ t2 = [];
3302
+ $[0] = t1;
3303
+ $[1] = t2;
3304
+ } else {
3305
+ t1 = $[0];
3306
+ t2 = $[1];
3307
+ }
3308
+ useEffect(t1, t2);
3309
+ let t3;
3310
+ if ($[2] !== onClose) {
3311
+ t3 = (event) => {
3312
+ if (event.key !== "Escape") return;
3313
+ event.stopPropagation();
3314
+ onClose();
3315
+ };
3316
+ $[2] = onClose;
3317
+ $[3] = t3;
3318
+ } else t3 = $[3];
3319
+ let t4;
3320
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
3321
+ t4 = /* @__PURE__ */ jsx("span", { children: "Layouts · actual size" });
3322
+ $[4] = t4;
3323
+ } else t4 = $[4];
3324
+ let t5;
3325
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
3326
+ t5 = /* @__PURE__ */ jsx(Minimize2, {
3327
+ size: 13,
3328
+ "aria-hidden": "true"
3329
+ });
3330
+ $[5] = t5;
3331
+ } else t5 = $[5];
3332
+ let t6;
3333
+ if ($[6] !== onClose) {
3334
+ t6 = /* @__PURE__ */ jsxs("div", {
3335
+ className: "studio-layout-fullscreen-bar",
3336
+ children: [t4, /* @__PURE__ */ jsxs("button", {
3337
+ ref: closeRef,
3338
+ type: "button",
3339
+ className: "studio-gallery-back",
3340
+ onClick: onClose,
3341
+ children: [t5, "Exit full screen"]
3342
+ })]
3343
+ });
3344
+ $[6] = onClose;
3345
+ $[7] = t6;
3346
+ } else t6 = $[7];
3347
+ let t7;
3348
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
3349
+ t7 = /* @__PURE__ */ jsx("div", {
3350
+ className: "studio-layout-fullscreen-stage",
3351
+ children: /* @__PURE__ */ jsx(LayoutCards, {})
3352
+ });
3353
+ $[8] = t7;
3354
+ } else t7 = $[8];
3355
+ let t8;
3356
+ if ($[9] !== t3 || $[10] !== t6) {
3357
+ t8 = /* @__PURE__ */ jsxs("div", {
3358
+ className: "studio-layout-fullscreen",
3359
+ role: "dialog",
3360
+ "aria-label": "Layouts at full size",
3361
+ onKeyDown: t3,
3362
+ children: [t6, t7]
3363
+ });
3364
+ $[9] = t3;
3365
+ $[10] = t6;
3366
+ $[11] = t8;
3367
+ } else t8 = $[11];
3368
+ return t8;
3369
+ }
3370
+ function LayoutPreview() {
3371
+ const $ = c(7);
3372
+ const [fullScreen, setFullScreen] = useState(false);
3373
+ const openRef = useRef(null);
3374
+ let t0;
3375
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3376
+ t0 = /* @__PURE__ */ jsx("h3", { children: "Layouts" });
3377
+ $[0] = t0;
3378
+ } else t0 = $[0];
3379
+ let t1;
3380
+ let t2;
3381
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
3382
+ t1 = /* @__PURE__ */ jsxs("div", {
3383
+ className: "studio-layout-heading",
3384
+ children: [t0, /* @__PURE__ */ jsxs("button", {
3385
+ ref: openRef,
3386
+ type: "button",
3387
+ className: "studio-gallery-back",
3388
+ onClick: () => setFullScreen(true),
3389
+ children: [/* @__PURE__ */ jsx(Maximize2, {
3390
+ size: 13,
3391
+ "aria-hidden": "true"
3392
+ }), "Full screen"]
3393
+ })]
3394
+ });
3395
+ t2 = /* @__PURE__ */ jsx(LayoutCards, {});
3396
+ $[1] = t1;
3397
+ $[2] = t2;
3398
+ } else {
3399
+ t1 = $[1];
3400
+ t2 = $[2];
3401
+ }
3402
+ let t3;
3403
+ if ($[3] !== fullScreen) {
3404
+ t3 = fullScreen && /* @__PURE__ */ jsx(FullScreenLayouts, { onClose: () => {
3405
+ setFullScreen(false);
3406
+ openRef.current?.focus();
3407
+ } });
3408
+ $[3] = fullScreen;
3409
+ $[4] = t3;
3410
+ } else t3 = $[4];
3411
+ let t4;
3412
+ if ($[5] !== t3) {
3413
+ t4 = /* @__PURE__ */ jsxs("section", {
3414
+ className: "studio-gallery-group",
3415
+ "aria-label": "Layouts",
3416
+ children: [
3417
+ t1,
3418
+ t2,
3419
+ t3
3420
+ ]
3421
+ });
3422
+ $[5] = t3;
3423
+ $[6] = t4;
3424
+ } else t4 = $[6];
3425
+ return t4;
3426
+ }
3427
+ //#endregion
3428
+ //#region src/configurator/gallery/ComponentGallery.tsx
3429
+ /** Keeps portaled overlays (tooltips, popovers) inside the card so they inherit preview tokens and stay in place. */
3430
+ function PortalHere(t0) {
3431
+ const $ = c(7);
3432
+ const { children } = t0;
3433
+ const [container, setContainer] = useState(null);
3434
+ let t1;
3435
+ if ($[0] !== container) {
3436
+ t1 = () => container ?? document.body;
3437
+ $[0] = container;
3438
+ $[1] = t1;
3439
+ } else t1 = $[1];
3440
+ let t2;
3441
+ if ($[2] !== children) {
3442
+ t2 = children(setContainer);
3443
+ $[2] = children;
3444
+ $[3] = t2;
3445
+ } else t2 = $[3];
3446
+ let t3;
3447
+ if ($[4] !== t1 || $[5] !== t2) {
3448
+ t3 = /* @__PURE__ */ jsx(UNSAFE_PortalProvider, {
3449
+ getContainer: t1,
3450
+ children: t2
3451
+ });
3452
+ $[4] = t1;
3453
+ $[5] = t2;
3454
+ $[6] = t3;
3455
+ } else t3 = $[6];
3456
+ return t3;
3457
+ }
3458
+ function ZoomedDemo(t0) {
3459
+ const $ = c(22);
3460
+ const { demo, width, onBack, inspector } = t0;
3461
+ const backRef = useRef(null);
3462
+ let t1;
3463
+ let t2;
3464
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3465
+ t1 = () => backRef.current?.focus();
3466
+ t2 = [];
3467
+ $[0] = t1;
3468
+ $[1] = t2;
3469
+ } else {
3470
+ t1 = $[0];
3471
+ t2 = $[1];
3472
+ }
3473
+ useEffect(t1, t2);
3474
+ let t3;
3475
+ if ($[2] !== onBack) {
3476
+ t3 = (event) => {
3477
+ if (event.key !== "Escape") return;
3478
+ event.stopPropagation();
3479
+ onBack();
3480
+ };
3481
+ $[2] = onBack;
3482
+ $[3] = t3;
3483
+ } else t3 = $[3];
3484
+ let t4;
3485
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
3486
+ t4 = /* @__PURE__ */ jsx(ArrowLeft, {
3487
+ size: 13,
3488
+ "aria-hidden": "true"
3489
+ });
3490
+ $[4] = t4;
3491
+ } else t4 = $[4];
3492
+ let t5;
3493
+ if ($[5] !== onBack) {
3494
+ t5 = /* @__PURE__ */ jsxs("button", {
3495
+ ref: backRef,
3496
+ type: "button",
3497
+ className: "studio-gallery-back",
3498
+ onClick: onBack,
3499
+ children: [t4, "All components"]
3500
+ });
3501
+ $[5] = onBack;
3502
+ $[6] = t5;
3503
+ } else t5 = $[6];
3504
+ let t6;
3505
+ if ($[7] !== demo.title) {
3506
+ t6 = /* @__PURE__ */ jsx("span", { children: demo.title });
3507
+ $[7] = demo.title;
3508
+ $[8] = t6;
3509
+ } else t6 = $[8];
3510
+ let t7;
3511
+ if ($[9] !== t5 || $[10] !== t6) {
3512
+ t7 = /* @__PURE__ */ jsxs("div", {
3513
+ className: "studio-gallery-zoom-bar",
3514
+ children: [t5, t6]
3515
+ });
3516
+ $[9] = t5;
3517
+ $[10] = t6;
3518
+ $[11] = t7;
3519
+ } else t7 = $[11];
3520
+ let t8;
3521
+ if ($[12] !== demo || $[13] !== width) {
3522
+ t8 = /* @__PURE__ */ jsx(PortalHere, { children: (portalRef) => /* @__PURE__ */ jsx("div", {
3523
+ ref: portalRef,
3524
+ className: "studio-gallery-demo",
3525
+ style: {
3526
+ width,
3527
+ maxWidth: "100%"
3528
+ },
3529
+ children: demo.render()
3530
+ }) });
3531
+ $[12] = demo;
3532
+ $[13] = width;
3533
+ $[14] = t8;
3534
+ } else t8 = $[14];
3535
+ let t9;
3536
+ if ($[15] !== inspector || $[16] !== t8) {
3537
+ t9 = /* @__PURE__ */ jsx("div", {
3538
+ className: "studio-gallery-zoom-stage",
3539
+ children: /* @__PURE__ */ jsx(Inspector, {
3540
+ ...inspector,
3541
+ children: t8
3542
+ })
3543
+ });
3544
+ $[15] = inspector;
3545
+ $[16] = t8;
3546
+ $[17] = t9;
3547
+ } else t9 = $[17];
3548
+ let t10;
3549
+ if ($[18] !== t3 || $[19] !== t7 || $[20] !== t9) {
3550
+ t10 = /* @__PURE__ */ jsxs("div", {
3551
+ className: "studio-gallery-zoom",
3552
+ onKeyDown: t3,
3553
+ children: [t7, t9]
3554
+ });
3555
+ $[18] = t3;
3556
+ $[19] = t7;
3557
+ $[20] = t9;
3558
+ $[21] = t10;
3559
+ } else t10 = $[21];
3560
+ return t10;
3561
+ }
3562
+ /** Every Povio UI component in one scrollable list; clicking a card zooms it into the token inspector. */
3563
+ function ComponentGallery(t0) {
3564
+ const $ = c(12);
3565
+ const { inspector } = t0;
3566
+ const [zoomed, setZoomed] = useState(null);
3567
+ const [zoomedWidth, setZoomedWidth] = useState();
3568
+ let t1;
3569
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3570
+ t1 = (id) => {
3571
+ setZoomedWidth(document.querySelector(`#gallery-card-${id} .studio-gallery-demo`)?.offsetWidth);
3572
+ setZoomed(id);
3573
+ };
3574
+ $[0] = t1;
3575
+ } else t1 = $[0];
3576
+ const open = t1;
3577
+ let t2;
3578
+ if ($[1] !== zoomed) {
3579
+ t2 = demos.find((demo) => demo.id === zoomed);
3580
+ $[1] = zoomed;
3581
+ $[2] = t2;
3582
+ } else t2 = $[2];
3583
+ const zoomedDemo = t2;
3584
+ const lastZoomed = useRef(null);
3585
+ let t3;
3586
+ let t4;
3587
+ if ($[3] !== zoomed) {
3588
+ t3 = () => {
3589
+ if (zoomed) lastZoomed.current = zoomed;
3590
+ else if (lastZoomed.current) document.querySelector(`#gallery-card-${lastZoomed.current} .studio-gallery-card-hit`)?.focus();
3591
+ };
3592
+ t4 = [zoomed];
3593
+ $[3] = zoomed;
3594
+ $[4] = t3;
3595
+ $[5] = t4;
3596
+ } else {
3597
+ t3 = $[4];
3598
+ t4 = $[5];
3599
+ }
3600
+ useEffect(t3, t4);
3601
+ if (zoomedDemo) {
3602
+ let t5;
3603
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
3604
+ t5 = () => setZoomed(null);
3605
+ $[6] = t5;
3606
+ } else t5 = $[6];
3607
+ let t6;
3608
+ if ($[7] !== inspector || $[8] !== zoomedDemo || $[9] !== zoomedWidth) {
3609
+ t6 = /* @__PURE__ */ jsx(ZoomedDemo, {
3610
+ demo: zoomedDemo,
3611
+ width: zoomedWidth,
3612
+ inspector,
3613
+ onBack: t5
3614
+ }, zoomedDemo.id);
3615
+ $[7] = inspector;
3616
+ $[8] = zoomedDemo;
3617
+ $[9] = zoomedWidth;
3618
+ $[10] = t6;
3619
+ } else t6 = $[10];
3620
+ return t6;
3621
+ }
3622
+ let t5;
3623
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
3624
+ t5 = /* @__PURE__ */ jsxs("div", {
3625
+ className: "studio-gallery",
3626
+ children: [/* @__PURE__ */ jsx(LayoutPreview, {}), galleryGroups.map((group) => {
3627
+ const items = demos.filter((demo_0) => demo_0.group === group);
3628
+ if (!items.length) return null;
3629
+ return /* @__PURE__ */ jsxs("section", {
3630
+ className: "studio-gallery-group",
3631
+ "aria-label": group,
3632
+ children: [/* @__PURE__ */ jsx("h3", { children: group }), /* @__PURE__ */ jsx("div", {
3633
+ className: "studio-gallery-grid",
3634
+ children: items.map((demo_1) => /* @__PURE__ */ jsxs("div", {
3635
+ id: `gallery-card-${demo_1.id}`,
3636
+ className: `studio-gallery-card ${demo_1.wide ? "is-wide" : ""}`,
3637
+ children: [
3638
+ /* @__PURE__ */ jsx("button", {
3639
+ type: "button",
3640
+ className: "studio-gallery-card-hit",
3641
+ "aria-label": `Inspect ${demo_1.title}`,
3642
+ onClick: () => open(demo_1.id)
3643
+ }),
3644
+ /* @__PURE__ */ jsx("span", {
3645
+ className: "studio-gallery-card-title",
3646
+ children: demo_1.title
3647
+ }),
3648
+ /* @__PURE__ */ jsx(PortalHere, { children: (portalRef) => /* @__PURE__ */ jsx("div", {
3649
+ ref: portalRef,
3650
+ className: "studio-gallery-demo",
3651
+ inert: true,
3652
+ children: demo_1.render()
3653
+ }) })
3654
+ ]
3655
+ }, demo_1.id))
3656
+ })]
3657
+ }, group);
3658
+ })]
3659
+ });
3660
+ $[11] = t5;
3661
+ } else t5 = $[11];
3662
+ return t5;
3663
+ }
3664
+ //#endregion
3665
+ export { ComponentGallery as default };