@povio/ui 4.0.3 → 5.0.0-rc.10

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