@povio/ui 5.0.0-rc.1 → 5.0.0-rc.11

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