@povio/ui 5.0.0-rc.9 → 6.0.0-rc.2

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 (592) hide show
  1. package/MIGRATION.md +673 -0
  2. package/README.md +206 -55
  3. package/dist/{Accordion-BzwO4_ml.js → Accordion-DycXjzGK.js} +10 -10
  4. package/dist/{Alert-DfiJbKH0.d.ts → Alert-BpPHCE5-.d.ts} +3 -3
  5. package/dist/{AlertDialog-OWTbR4km.d.ts → AlertDialog-CDCbfARJ.d.ts} +3 -3
  6. package/dist/Autocomplete-BUslodfn.d.ts +23 -0
  7. package/dist/Autocomplete-DSwAc7jF.js +142 -0
  8. package/dist/Autocomplete.bound-Db5C6Jph.d.ts +9 -0
  9. package/dist/Autocomplete.bound-e5WbxlBm.js +28 -0
  10. package/dist/{Badge-CBNpj823.d.ts → Badge-Dp091PcC.d.ts} +2 -2
  11. package/dist/{BadgeButton-Ccgt3oGO.d.ts → BadgeButton-DZm_aw29.d.ts} +2 -2
  12. package/dist/{BottomSheet-DbQuzfAB.d.ts → BottomSheet-C-jdDmO7.d.ts} +1 -1
  13. package/dist/{BottomSheet-BXLE3161.js → BottomSheet-DB0Cdlgx.js} +10 -84
  14. package/dist/{BottomSheet.lazy-D9LCEo7s.d.ts → BottomSheet.lazy-C0_6p_UQ.d.ts} +1 -1
  15. package/dist/{Breadcrumbs-CUV6CU8Q.d.ts → Breadcrumbs-CuupIZuv.d.ts} +1 -1
  16. package/dist/{Breadcrumbs-FF8hMfXd.js → Breadcrumbs-V-Bea_bs.js} +16 -13
  17. package/dist/Button-BL5ils-5.d.ts +13 -0
  18. package/dist/{Button-D6KlWSFL.js → Button-C1YB5dOw.js} +3 -3
  19. package/dist/Button-DU1Q8GDB.js +16 -0
  20. package/dist/ButtonBase-BhlpPPDi.js +87 -0
  21. package/dist/ButtonBase-C_ODj77A.d.ts +32 -0
  22. package/dist/{ButtonContent-c7lJayVQ.js → ButtonContent-BBup-vN6.js} +4 -13
  23. package/dist/{Calendar-BTjajO6i.js → Calendar-ChmIflXX.js} +31 -31
  24. package/dist/{CheckContent-D7sZPmzx.js → CheckContent-DHKG_FY6.js} +1 -1
  25. package/dist/{Checkbox-DVTWaMKa.d.ts → Checkbox-BjZVQ-6_.d.ts} +9 -8
  26. package/dist/{Checkbox-CV1ILXXO.js → Checkbox-Bo03jrPX.js} +20 -37
  27. package/dist/Checkbox.bound-DN4OVaMs.js +33 -0
  28. package/dist/Checkbox.bound-DTO008Tl.d.ts +9 -0
  29. package/dist/CheckboxCheckmark-C4yFclkZ.js +44 -0
  30. package/dist/CheckboxGroup-B_rzZgta.d.ts +30 -0
  31. package/dist/CheckboxGroup-D3LxgocB.js +139 -0
  32. package/dist/CheckboxGroup.bound-8hjoP-xP.js +32 -0
  33. package/dist/CheckboxGroup.bound-CiA60XsD.d.ts +9 -0
  34. package/dist/ComboBox-DFlz6HJ8.js +212 -0
  35. package/dist/{DatePicker-8xSs_jNd.d.ts → DatePicker-B_caFHFY.d.ts} +21 -10
  36. package/dist/{DatePicker-DOLL7mkc.js → DatePicker-Bc_E4UZ1.js} +40 -50
  37. package/dist/DatePicker.bound-C5-DL4SJ.d.ts +9 -0
  38. package/dist/DatePicker.bound-CtBL5w-8.js +36 -0
  39. package/dist/{DatePickerInput-D81ZJ3fT.d.ts → DatePickerInput-8gKhZdGY.d.ts} +3 -3
  40. package/dist/{DatePickerInput-BLBcySA2.js → DatePickerInput-TND0rEMc.js} +68 -48
  41. package/dist/{DateRangePicker-BF-1CztH.js → DateRangePicker-BNMTOQ2N.js} +81 -70
  42. package/dist/{DateRangePicker-Bfq-yDm7.d.ts → DateRangePicker-CzWwO5bA.d.ts} +30 -10
  43. package/dist/DateRangePicker.bound-C4mHtr-b.d.ts +9 -0
  44. package/dist/DateRangePicker.bound-GeRw9Iuj.js +35 -0
  45. package/dist/{DateTimePicker-Cj0qvJUz.js → DateTimePicker-B3YjV4uj.js} +40 -44
  46. package/dist/{DateTimePicker-D4lHyf6P.d.ts → DateTimePicker-CzGdmamp.d.ts} +21 -11
  47. package/dist/DateTimePicker.bound-ByjHsAnf.js +32 -0
  48. package/dist/DateTimePicker.bound-DwClL-pe.d.ts +9 -0
  49. package/dist/Dialog-2XpWsphI.d.ts +21 -0
  50. package/dist/{Dialog-9manOgMA.js → Dialog-COvYzwNU.js} +11 -8
  51. package/dist/{Dialog-CKLkS00H.js → Dialog-lFYX-7Ax.js} +22 -27
  52. package/dist/{DropdownMenu-5jmtgLXd.js → DropdownMenu-DtZdv5mo.js} +7 -7
  53. package/dist/DropdownMenu-gKIXzj63.d.ts +25 -0
  54. package/dist/{DropdownMenuDesktop-Cl9gZVq0.js → DropdownMenuDesktop-BMkiHEuY.js} +4 -4
  55. package/dist/{FileInput-C4CE5kuP.d.ts → FileInput-0o8-IJUh.d.ts} +26 -22
  56. package/dist/{FileInput-Br5DQaGQ.js → FileInput-Bpm2HJSB.js} +34 -47
  57. package/dist/FileInput.bound-B6oGPCP8.js +30 -0
  58. package/dist/FileInput.bound-BEeceBBO.d.ts +8 -0
  59. package/dist/{FileTrigger-Cthk5_Wp.js → FileTrigger-DBX1Io6E.js} +36 -7
  60. package/dist/FileUpload--AQJW3vz.d.ts +11 -0
  61. package/dist/{FileUpload--7ub3EZO.js → FileUpload-G7tdtNKN.js} +276 -165
  62. package/dist/FileUpload.bound-DqqPejvc.js +30 -0
  63. package/dist/FileUpload.bound-i5zfLhoY.d.ts +16 -0
  64. package/dist/{FileUploadContainer-042ztsaL.d.ts → FileUploadContainer-D1eYflb2.d.ts} +1 -1
  65. package/dist/{Form-DlQcyN1f.js → Form-CqF1SaVw.js} +2 -2
  66. package/dist/{FormField-Byiehm9y.d.ts → FormField-BsR2Cjxm.d.ts} +4 -2
  67. package/dist/FormField-DyqEbqx3.js +119 -0
  68. package/dist/{FormFieldError-DeOHHLo2.js → FormFieldError-BaVgIKrv.js} +2 -13
  69. package/dist/FormFieldHeaderTooltip-Bxc4f9i4.js +47 -0
  70. package/dist/{Heading-nI1_VOaE.js → Heading-D4XFYv__.js} +2 -2
  71. package/dist/IconButton-DdvODpP7.d.ts +25 -0
  72. package/dist/{IconSlot-DSK7qNxc.js → IconSlot-Cuvpj1gd.js} +2 -2
  73. package/dist/{InlineTooltipWrapper-BpApaGXV.js → InlineTooltipWrapper-HDHIaQtS.js} +1 -1
  74. package/dist/{Input-BsbLZDtC.js → Input-BG0Xjw5X.js} +2 -2
  75. package/dist/Input-BdCci6BF.js +229 -0
  76. package/dist/{Input-DOanwj3l.d.ts → Input-Bu4G9gcn.d.ts} +13 -9
  77. package/dist/Input.bound-CnqI-L-b.js +31 -0
  78. package/dist/Input.bound-CxfKRXzI.d.ts +9 -0
  79. package/dist/{InputContent-CXuP1ghQ.d.ts → InputContent-BGTEvv6a.d.ts} +4 -4
  80. package/dist/{useFieldAccessibility-ScC6Mtd5.js → InputContent-Ca4oVqIe.js} +24 -37
  81. package/dist/{Label-B2-B-uFY.js → Label-BGvF9vWx.js} +2 -2
  82. package/dist/{Link-FupWOW1f.js → Link-Chux-Clm.js} +2 -2
  83. package/dist/{Link-Ow9H7kNv.d.ts → Link-D0Kk3F5w.d.ts} +3 -3
  84. package/dist/{ListBox-CL8Ar4Q_.js → ListBox-CoUk0kkt.js} +10 -11
  85. package/dist/{MenuItem-DHyqOqln.d.ts → MenuItem-Bo5a7_Nw.d.ts} +1 -1
  86. package/dist/{Modal-w60dVQcb.js → Modal-B4p1zFqi.js} +58 -20
  87. package/dist/NumberField-BLAwsjns.js +225 -0
  88. package/dist/{NumberField-Cb9Gf6QJ.d.ts → NumberField-DCMQZPY9.d.ts} +13 -9
  89. package/dist/NumberField.bound-DiDYEZM4.js +32 -0
  90. package/dist/NumberField.bound-fZLE6Odv.d.ts +9 -0
  91. package/dist/{NumberFormatter-CLDS_LRZ.js → NumberFormatter-DYarfm5F.js} +2 -36
  92. package/dist/{NumberRangeInput-BfbJQqzn.d.ts → NumberRangeInput-CtSYPK2e.d.ts} +13 -8
  93. package/dist/{NumberRangeInput-B8-LHfg3.js → NumberRangeInput-al32ZeSy.js} +23 -51
  94. package/dist/NumberRangeInput.bound-B0e7yUDI.js +32 -0
  95. package/dist/NumberRangeInput.bound-CxAk_1_K.d.ts +9 -0
  96. package/dist/{OverlayArrow-D8z7cCsw.js → OverlayArrow-DF0jMwul.js} +2 -2
  97. package/dist/{Pagination-CwQu5Py8.d.ts → Pagination-DikJEIWD.d.ts} +1 -1
  98. package/dist/{PaginationList-DMRUGtf8.d.ts → PaginationList-D7PVQ5WX.d.ts} +1 -1
  99. package/dist/PaginationList-vfqgyTIP.js +258 -0
  100. package/dist/PasswordInput-Dy5hMeFP.d.ts +11 -0
  101. package/dist/{PasswordInput-CLwFUgl0.d.ts → PasswordInput.bound-B5sHHU26.d.ts} +5 -6
  102. package/dist/PasswordInput.bound-Bj3WO1zC.js +23 -0
  103. package/dist/{Popover-BTHPteIh.d.ts → Popover-DxTsc2y6.d.ts} +2 -2
  104. package/dist/{Progress-CjWOR38H.d.ts → Progress-CtxPBAgr.d.ts} +4 -4
  105. package/dist/{Progress-B3mY9rIP.js → Progress-ZsKwo9ne.js} +3 -28
  106. package/dist/RadioGroup-BYS8ha2C.d.ts +26 -0
  107. package/dist/{RadioGroup-DOw3PRoX.js → RadioGroup-D0X47mm7.js} +13 -117
  108. package/dist/RadioGroup.bound-CibzUsQL.d.ts +9 -0
  109. package/dist/RadioGroup.bound-aK3GC6i7.js +32 -0
  110. package/dist/RichTextEditor-k9LvNCjg.d.ts +28 -0
  111. package/dist/{RichTextEditor-D4yN7Wj7.js → RichTextEditor-qoxzWBFP.js} +154 -85
  112. package/dist/{staticSelect.utils-uHa8f_c6.js → Select-BAlYMh4h.js} +218 -252
  113. package/dist/{SelectBase-Omiq2D3M.d.ts → Select-NNohxr1t.d.ts} +32 -11
  114. package/dist/Select.bound-CQPG2sWV.js +34 -0
  115. package/dist/Select.bound-Dh5kywfV.d.ts +17 -0
  116. package/dist/{SelectionIndicator-JblvLKCu.js → SelectionIndicator-B7C5Y0JM.js} +1 -1
  117. package/dist/{SharedElementTransition-Da1c_cOO.js → SharedElementTransition-DJ9CCbEa.js} +1 -1
  118. package/dist/{Slider-CzEmKYBF.js → Slider-DMrnZn3I.js} +16 -40
  119. package/dist/{Slider-EYlGCLWe.d.ts → Slider-zbLmrW6J.d.ts} +9 -8
  120. package/dist/Slider.bound-BaJHbE6d.d.ts +9 -0
  121. package/dist/Slider.bound-BoIYW8I5.js +31 -0
  122. package/dist/{Spinner-BeVTUzzx.js → Spinner-CFj5Iu77.js} +28 -40
  123. package/dist/{Spinner-DbXeDOa2.d.ts → Spinner-b365xHHG.d.ts} +5 -5
  124. package/dist/{SplitButton-D9ngY1rJ.d.ts → SplitButton-CzvD7LIK.d.ts} +3 -3
  125. package/dist/{Stepper-TATlHZhQ.d.ts → Stepper-Bk1JUf6K.d.ts} +18 -18
  126. package/dist/{Stepper-Cp5vbL5g.js → Stepper-DlyScdAM.js} +11 -10
  127. package/dist/{Switch-CqnGEdeD.js → Switch-Ck_zSDuw.js} +9 -58
  128. package/dist/Switch-uqTGk-H6.d.ts +24 -0
  129. package/dist/Switch.bound-Brw5UUA6.js +33 -0
  130. package/dist/Switch.bound-DWuDmr2C.d.ts +9 -0
  131. package/dist/Tag--FasSNEh.d.ts +44 -0
  132. package/dist/{Text-D2MPZ3sY.js → Text-D72yc4S6.js} +1 -1
  133. package/dist/{TextArea-D8WkKsGn.js → TextArea-33uOXvnc.js} +30 -33
  134. package/dist/{TextArea-l_keyLK7.d.ts → TextArea-t5IYaVds.d.ts} +11 -9
  135. package/dist/TextArea.bound-DPALjcvO.js +28 -0
  136. package/dist/TextArea.bound-DcflHR7X.d.ts +9 -0
  137. package/dist/TextArea.cva-Bb73hriz.js +5 -0
  138. package/dist/TimePicker-BK4AnHQa.d.ts +45 -0
  139. package/dist/{TimePicker-C4taAOFQ.js → TimePicker-CmBGkxDC.js} +59 -51
  140. package/dist/TimePicker.bound-3i1DJgrU.js +32 -0
  141. package/dist/TimePicker.bound-BMZWRtpJ.d.ts +9 -0
  142. package/dist/{Toast-ruXqONDA.d.ts → Toast-6rYk8AAG.d.ts} +1 -1
  143. package/dist/{ToastContainer-qgpzMFD4.js → ToastContainer-D1Jl3PPk.js} +3 -3
  144. package/dist/{ToggleButton-BW1ensey.js → ToggleButton-DUQ8nwKY.js} +5 -5
  145. package/dist/ToggleButton-DZ340rQr.d.ts +17 -0
  146. package/dist/{toggleGroup.types-Bp43zbSQ.d.ts → ToggleGroup-BTqYh6FH.d.ts} +16 -15
  147. package/dist/{ToggleGroup-DOk27fgI.js → ToggleGroup-cvzIyIhi.js} +136 -162
  148. package/dist/ToggleGroup.bound-BEtnF-L-.d.ts +9 -0
  149. package/dist/ToggleGroup.bound-DjwakG--.js +67 -0
  150. package/dist/{Tooltip-CpG1nz7Y.js → Tooltip-CqbyoJhl.js} +45 -10
  151. package/dist/Tooltip-DP5RDkXs.d.ts +16 -0
  152. package/dist/{TooltipWrapper-3jyN0Wss.js → TooltipWrapper-BrftXInI.js} +7 -7
  153. package/dist/{Typography-XljT9s02.d.ts → Typography-BD-MSuTp.d.ts} +1 -1
  154. package/dist/{Typography-LU4z2pR1.js → Typography-Ba5l4rmj.js} +1 -1
  155. package/dist/{accordion.cva-CL1bVscW.js → accordion.cva-C-gUiXk5.js} +16 -24
  156. package/dist/badgeButton.cva-C1BuYx1N.js +138 -0
  157. package/dist/{badgeButton.cva-B2bgCQP6.d.ts → badgeButton.cva-Cj5AWgfv.d.ts} +8 -8
  158. package/dist/{breadcrumbs.cva-7zzdDhVR.js → breadcrumbs.cva-DCAdmxWR.js} +8 -8
  159. package/dist/{button.cva-C7kEhgoA.d.ts → button.cva-YpNNY6C-.d.ts} +21 -16
  160. package/dist/button.cva-fkUW5b2d.js +267 -0
  161. package/dist/{buttonContent.cva-DPIlROA9.d.ts → buttonContent.cva-CxgT-rxJ.d.ts} +2 -2
  162. package/dist/{checkbox.cva-t1Ox50hy.d.ts → checkbox.cva-CZnnBl8g.d.ts} +6 -6
  163. package/dist/checkbox.cva-DCVi4-4z.js +128 -0
  164. package/dist/components/accordion.js +1 -1
  165. package/dist/components/alert-dialog.d.ts +1 -1
  166. package/dist/components/alert-dialog.js +102 -100
  167. package/dist/components/alert.d.ts +1 -1
  168. package/dist/components/alert.js +116 -1
  169. package/dist/components/autocomplete.d.ts +2 -2
  170. package/dist/components/autocomplete.js +1 -134
  171. package/dist/components/badge-button.d.ts +1 -1
  172. package/dist/components/badge-button.js +4 -4
  173. package/dist/components/badge.d.ts +1 -1
  174. package/dist/components/badge.js +8 -8
  175. package/dist/components/bottom-sheet-header.d.ts +16 -0
  176. package/dist/components/bottom-sheet-header.js +80 -0
  177. package/dist/components/bottom-sheet.d.ts +2 -2
  178. package/dist/components/bottom-sheet.js +2 -2
  179. package/dist/components/breadcrumb/react-aria.js +1 -1
  180. package/dist/components/breadcrumbs.d.ts +1 -1
  181. package/dist/components/breadcrumbs.js +1 -1
  182. package/dist/components/button-group.d.ts +12 -0
  183. package/dist/components/button-group.js +46 -0
  184. package/dist/components/button.d.ts +2 -2
  185. package/dist/components/button.js +1 -1
  186. package/dist/components/checkbox-group.d.ts +2 -2
  187. package/dist/components/checkbox-group.js +1 -163
  188. package/dist/components/checkbox.d.ts +2 -2
  189. package/dist/components/checkbox.js +2 -2
  190. package/dist/components/combo-box/react-aria.js +1 -1
  191. package/dist/components/date-picker/react-aria.js +1 -1
  192. package/dist/components/date-picker.d.ts +2 -2
  193. package/dist/components/date-picker.js +1 -1
  194. package/dist/components/date-range-picker/react-aria.js +1 -1
  195. package/dist/components/date-range-picker.d.ts +2 -2
  196. package/dist/components/date-range-picker.js +1 -1
  197. package/dist/components/date-time-picker.d.ts +2 -2
  198. package/dist/components/date-time-picker.js +1 -1
  199. package/dist/components/dialog-trigger/react-aria.js +1 -1
  200. package/dist/components/dialog.d.ts +1 -1
  201. package/dist/components/dialog.js +1 -1
  202. package/dist/components/drawer.js +4 -4
  203. package/dist/components/dropdown-menu.d.ts +2 -2
  204. package/dist/components/dropdown-menu.js +2 -2
  205. package/dist/components/file-input.d.ts +2 -2
  206. package/dist/components/file-input.js +1 -1
  207. package/dist/components/file-upload-container.d.ts +2 -2
  208. package/dist/components/file-upload-container.js +1 -1
  209. package/dist/components/file-upload.d.ts +3 -3
  210. package/dist/components/file-upload.js +1 -1
  211. package/dist/components/form-field.d.ts +1 -1
  212. package/dist/components/form-field.js +1 -1
  213. package/dist/components/icon-button.d.ts +1 -1
  214. package/dist/components/icon-button.js +17 -15
  215. package/dist/components/icon-slot.d.ts +1 -1
  216. package/dist/components/icon-slot.js +1 -1
  217. package/dist/components/input-frame.d.ts +93 -0
  218. package/dist/{useStaticInputHandoff-NeZVnci-.js → components/input-frame.js} +50 -99
  219. package/dist/components/input.d.ts +2 -2
  220. package/dist/components/input.js +1 -241
  221. package/dist/components/link.d.ts +1 -1
  222. package/dist/components/link.js +2 -2
  223. package/dist/components/menu-trigger/react-aria.js +1 -1
  224. package/dist/components/modal/react-aria.js +1 -1
  225. package/dist/components/modal-overlay/react-aria.js +1 -1
  226. package/dist/components/number-field.d.ts +2 -2
  227. package/dist/components/number-field.js +1 -245
  228. package/dist/components/number-range-input.d.ts +2 -2
  229. package/dist/components/number-range-input.js +1 -1
  230. package/dist/components/pagination-list.d.ts +1 -1
  231. package/dist/components/pagination-list.js +1 -1
  232. package/dist/components/pagination.d.ts +1 -1
  233. package/dist/components/pagination.js +14 -10
  234. package/dist/components/password-input.d.ts +2 -2
  235. package/dist/components/password-input.js +22 -1
  236. package/dist/components/popover/react-aria.js +1 -1
  237. package/dist/components/popover.d.ts +1 -1
  238. package/dist/components/popover.js +39 -31
  239. package/dist/components/progress.d.ts +1 -1
  240. package/dist/components/progress.js +1 -1
  241. package/dist/components/radio-group.d.ts +2 -2
  242. package/dist/components/radio-group.js +1 -1
  243. package/dist/components/select/react-aria.js +1 -1
  244. package/dist/components/select.d.ts +2 -3
  245. package/dist/components/select.js +1 -1
  246. package/dist/components/slider.d.ts +2 -2
  247. package/dist/components/slider.js +1 -1
  248. package/dist/components/spinner.d.ts +1 -1
  249. package/dist/components/spinner.js +1 -1
  250. package/dist/components/split-button.d.ts +1 -1
  251. package/dist/components/split-button.js +2 -2
  252. package/dist/components/stepper.d.ts +1 -1
  253. package/dist/components/stepper.js +1 -1
  254. package/dist/components/style-definitions.d.ts +3 -0
  255. package/dist/components/style-definitions.js +121 -0
  256. package/dist/components/submenu-trigger/react-aria.js +1 -1
  257. package/dist/components/switch.d.ts +2 -2
  258. package/dist/components/switch.js +1 -1
  259. package/dist/components/tag.d.ts +1 -1
  260. package/dist/components/tag.js +93 -1
  261. package/dist/components/text-area.d.ts +2 -2
  262. package/dist/components/text-area.js +1 -1
  263. package/dist/components/time-picker.d.ts +2 -2
  264. package/dist/components/time-picker.js +1 -1
  265. package/dist/components/toast.d.ts +2 -2
  266. package/dist/components/toast.js +2 -2
  267. package/dist/components/toggle-button.d.ts +1 -1
  268. package/dist/components/toggle-button.js +17 -30
  269. package/dist/components/toggle-group.d.ts +2 -3
  270. package/dist/components/toggle-group.js +1 -1
  271. package/dist/components/tooltip-ellipsis.js +1 -1
  272. package/dist/components/tooltip.d.ts +1 -1
  273. package/dist/components/tooltip.js +1 -1
  274. package/dist/components/typography.d.ts +2 -2
  275. package/dist/components/typography.js +1 -1
  276. package/dist/components/use-toast.d.ts +1 -1
  277. package/dist/components/use-toast.js +2 -2
  278. package/dist/config/component-configuration.d.ts +30 -0
  279. package/dist/config/component-configuration.js +69 -0
  280. package/dist/config/confirmation.d.ts +1 -1
  281. package/dist/config/confirmation.js +1 -1
  282. package/dist/config/link-context.d.ts +2 -2
  283. package/dist/config/resources.d.ts +1 -1
  284. package/dist/config/resources.js +1 -1
  285. package/dist/config/ui-config.d.ts +2 -2
  286. package/dist/config/ui-config.js +1 -1
  287. package/dist/config/ui-overrides.d.ts +1 -1
  288. package/dist/{confirmation.context-BuzgCfYl.js → confirmation.context-BSn1s-ip.js} +1 -1
  289. package/dist/{confirmation.context-BOeEVczb.d.ts → confirmation.context-DdxzxDWB.d.ts} +1 -1
  290. package/dist/{datePickerInput.cva-Cd7UUN61.js → datePickerInput.cva--gCeAsRx.js} +1 -1
  291. package/dist/{datePickerValue.utils-DCgoSrP3.js → datePickerValue.utils-BxHR_BQZ.js} +21 -13
  292. package/dist/{dialog.cva-COhDZaVl.js → dialog.cva-DzJlaK5a.js} +6 -6
  293. package/dist/{dist-CAdwxJbe.js → dist-D35rjADF.js} +54 -1
  294. package/dist/{dom.utils-D1AopHx9.js → dom.utils-BbfrA6RP.js} +1 -1
  295. package/dist/dropdownMenu.cva-CS5Q2b_3.js +31 -0
  296. package/dist/{PasswordInput-DYwUZ4-k.js → eye-BA4nRlMX.js} +1 -22
  297. package/dist/{fileUpload.cva-ujmStxB1.js → fileUpload.cva-DVJcCCYz.js} +10 -10
  298. package/dist/{fileUpload.types-n5FxK_F-.d.ts → fileUpload.types-DKICER1J.d.ts} +17 -17
  299. package/dist/form.binding-B-2id68q.js +49 -0
  300. package/dist/form.types-C8P4sznq.d.ts +22 -0
  301. package/dist/formFieldError.cva-Cc-dELdU.js +14 -0
  302. package/dist/formFieldHelper.cva-5YaiUEcL.js +97 -0
  303. package/dist/hooks/use-async-list.d.ts +2 -0
  304. package/dist/hooks/use-async-list.js +2 -0
  305. package/dist/hooks/use-filters.js +1 -1
  306. package/dist/{i18n-CX1vFM9r.d.ts → i18n-2z5on9No.d.ts} +18 -0
  307. package/dist/{i18n-CX2EjhJI.js → i18n-BjNKHh_D.js} +20 -2
  308. package/dist/{iconSlot.cva-CnpFzAOR.d.ts → iconSlot.cva-BrT0X2qq.d.ts} +4 -3
  309. package/dist/icons.d.ts +1 -1
  310. package/dist/icons.js +1 -1
  311. package/dist/index.d.ts +95 -91
  312. package/dist/index.js +87 -85
  313. package/dist/input.cva-AHLI_M3K.js +185 -0
  314. package/dist/{input.cva-BsHgYa-L.d.ts → input.cva-CEFEpKml.d.ts} +10 -10
  315. package/dist/{intlStrings-chfsan9H.js → intlStrings-Cu1YN1tA.js} +35 -35
  316. package/dist/isEqual-LFw0W5rU.js +97 -0
  317. package/dist/{link.context-D5qyz9Rf.d.ts → link.context-pIX2TUSb.d.ts} +1 -1
  318. package/dist/link.cva-isgDrId6.js +12 -0
  319. package/dist/{numberStatic.utils-BX50PSee.js → numberStatic.utils-BIyZuILs.js} +5 -5
  320. package/dist/outline.clsx-DGGQQRkM.js +6 -0
  321. package/dist/{popover.cva-Bhud1wnp.js → popover.cva-Ciu9Ro5G.js} +1 -1
  322. package/dist/progress.cva-D0PKV_ET.js +28 -0
  323. package/dist/radio.cva-Dn2Auqxw.js +79 -0
  324. package/dist/{radio.cva-DN9VQ3Kb.d.ts → radio.cva-VUie6k1Y.d.ts} +4 -4
  325. package/dist/rich-text-editor.d.ts +2 -2
  326. package/dist/rich-text-editor.js +1 -1
  327. package/dist/{routing.utils-UTQonIhB.js → routing.utils-DfxEt0_Y.js} +5 -0
  328. package/dist/selectDesktop.cva-CGBkscBY.js +14 -0
  329. package/dist/selectItem.cva-Ch6oK4jP.js +27 -0
  330. package/dist/{staticDateTimeSegments-DtU63_dw.js → staticDateTimeSegments-CA_lwN-O.js} +60 -56
  331. package/dist/status.cva-CUpcOT4W.js +130 -0
  332. package/dist/{stepper.cva-CZ0Kj-s7.js → stepper.cva-CQGechUm.js} +22 -34
  333. package/dist/style-definitions-DzsmGccZ.d.ts +1028 -0
  334. package/dist/styles/editor.css +9 -9
  335. package/dist/styles/input.d.ts +1 -1
  336. package/dist/styles/outline.js +1 -1
  337. package/dist/switch.cva-C9bO_QI-.js +24 -0
  338. package/dist/switch.cva-x4SdjrQp.d.ts +16 -0
  339. package/dist/table.cva-BMIizuGy.js +111 -0
  340. package/dist/table.cva-HHTd92di.d.ts +84 -0
  341. package/dist/tag.cva-BVa0EWBU.js +24 -0
  342. package/dist/tanstack/autocomplete.d.ts +3 -2
  343. package/dist/tanstack/autocomplete.js +1 -1
  344. package/dist/tanstack/checkbox-group.d.ts +3 -2
  345. package/dist/tanstack/checkbox-group.js +1 -1
  346. package/dist/tanstack/checkbox.d.ts +3 -2
  347. package/dist/tanstack/checkbox.js +2 -2
  348. package/dist/tanstack/date-picker.d.ts +3 -2
  349. package/dist/tanstack/date-picker.js +1 -1
  350. package/dist/tanstack/date-range-picker.d.ts +3 -2
  351. package/dist/tanstack/date-range-picker.js +1 -1
  352. package/dist/tanstack/date-time-picker.d.ts +3 -2
  353. package/dist/tanstack/date-time-picker.js +1 -1
  354. package/dist/tanstack/file-input.d.ts +3 -2
  355. package/dist/tanstack/file-input.js +1 -1
  356. package/dist/tanstack/file-upload.d.ts +4 -3
  357. package/dist/tanstack/file-upload.js +1 -1
  358. package/dist/tanstack/form.d.ts +3 -3
  359. package/dist/tanstack/form.js +3 -3
  360. package/dist/tanstack/input.d.ts +3 -2
  361. package/dist/tanstack/input.js +1 -1
  362. package/dist/tanstack/number-field.d.ts +3 -2
  363. package/dist/tanstack/number-field.js +1 -1
  364. package/dist/tanstack/number-range-input.d.ts +3 -2
  365. package/dist/tanstack/number-range-input.js +1 -1
  366. package/dist/tanstack/password-input.d.ts +1 -1
  367. package/dist/tanstack/password-input.js +1 -1
  368. package/dist/tanstack/radio-group.d.ts +3 -2
  369. package/dist/tanstack/radio-group.js +1 -1
  370. package/dist/tanstack/rich-text-editor.d.ts +9 -2
  371. package/dist/tanstack/rich-text-editor.js +27 -1
  372. package/dist/tanstack/select.d.ts +3 -2
  373. package/dist/tanstack/select.js +1 -1
  374. package/dist/tanstack/slider.d.ts +3 -2
  375. package/dist/tanstack/slider.js +1 -1
  376. package/dist/tanstack/switch.d.ts +3 -2
  377. package/dist/tanstack/switch.js +1 -1
  378. package/dist/tanstack/table.d.ts +3 -2
  379. package/dist/tanstack/table.js +2 -3
  380. package/dist/tanstack/text-area.d.ts +3 -2
  381. package/dist/tanstack/text-area.js +1 -1
  382. package/dist/tanstack/time-picker.d.ts +3 -2
  383. package/dist/tanstack/time-picker.js +1 -1
  384. package/dist/tanstack/toggle-group.d.ts +3 -3
  385. package/dist/tanstack/toggle-group.js +1 -1
  386. package/dist/tanstack-CSiB125i.d.ts +469 -0
  387. package/dist/tanstack.d.ts +79 -78
  388. package/dist/tanstack.js +87 -83
  389. package/dist/{toast.cva-By5lvAfr.d.ts → toast.cva-B8i61tEN.d.ts} +10 -10
  390. package/dist/{toast.cva-C_L_RffH.js → toast.cva-BMOx7_9f.js} +21 -37
  391. package/dist/{toast.runtime-cxex9e4E.js → toast.runtime-D18gn2Ty.js} +1 -2
  392. package/dist/toggleGroup.cva-C9Y5-kpk.js +26 -0
  393. package/dist/{tooltip.cva-BIzlOXHH.js → tooltip.cva-Clfcn_r2.js} +10 -10
  394. package/dist/tw-ui-plugin.js +5 -1
  395. package/dist/typography.cva-CKCCpIMj.d.ts +36 -0
  396. package/dist/typography.cva-CXolEQdT.js +31 -0
  397. package/dist/{uiConfig.context-DeBX2beU.d.ts → uiConfig.context-B1SCCG5j.d.ts} +12 -20
  398. package/dist/{uiConfig.context-BS3r_kTS.js → uiConfig.context-dxsO9puE.js} +12 -118
  399. package/dist/{uiOverrides.context-DEp139He.d.ts → uiOverrides.context-Dmev7iRS.d.ts} +44 -6
  400. package/dist/useAsyncList-Cu-Y8If2.d.ts +9 -0
  401. package/dist/useAsyncList-yHz7twsj.js +445 -0
  402. package/dist/{useBreakpoint-DQoMN-BG.js → useBreakpoint-DOUmXVZ2.js} +5 -5
  403. package/dist/{useControlledState-CzXkZCX8.js → useControlledState-CuU1VIh1.js} +2 -2
  404. package/dist/useFieldAccessibility-eZIMECmG.js +19 -0
  405. package/dist/{useFilters-XNH27Md2.js → useFilters-HIngImwn.js} +1 -1
  406. package/dist/{form.binding-DVJ5F0JE.d.ts → useForm-I6z23FXf.d.ts} +15 -15
  407. package/dist/{form.binding-CG1RPv6o.js → useForm-eW4KpH1u.js} +79 -42
  408. package/dist/useFormAutosave-BBLm3Ujo.d.ts +34 -0
  409. package/dist/useFormAutosave-XEQqk1lK.js +216 -0
  410. package/dist/useStaticInputHandoff-DyYxfwv6.js +77 -0
  411. package/dist/useTableColumnConfig-DoTYVxqG.js +1349 -0
  412. package/dist/{useTableNav-Ckj5PBRk.d.ts → useTableNav-D2zCwy63.d.ts} +34 -96
  413. package/dist/{useToast-yreVCUer.d.ts → useToast-CA0BGCDK.d.ts} +1 -1
  414. package/dist/{utils-Czcqspm7.js → utils-BkLF-JA3.js} +1 -1
  415. package/package.json +66 -234
  416. package/.rulesync/rules/ui-buttons-and-content.md +0 -56
  417. package/.rulesync/rules/ui-inputs-and-forms.md +0 -62
  418. package/.rulesync/rules/ui-overlays-navigation-and-styling.md +0 -49
  419. package/.rulesync/rules/ui-overview.md +0 -33
  420. package/dist/Alert-CnvEb1D_.js +0 -244
  421. package/dist/AppCanvasPage--RG31Yyv.js +0 -2421
  422. package/dist/AppCanvasPage-BIFYeEeS.d.ts +0 -80
  423. package/dist/Autocomplete-BwNHp8fy.d.ts +0 -15
  424. package/dist/Button-C5rv4Cr2.js +0 -506
  425. package/dist/Button-D-4qb0IR.d.ts +0 -42
  426. package/dist/CheckboxCheckmark-CpC3wlMs.js +0 -178
  427. package/dist/CheckboxGroup-DGF12cmB.d.ts +0 -28
  428. package/dist/ComponentGallery-C6exitZN.js +0 -3513
  429. package/dist/Dialog-CW93T9X1.d.ts +0 -56
  430. package/dist/DropdownMenu-JNpYT4-3.d.ts +0 -62
  431. package/dist/FileUpload-CR7bZxV1.d.ts +0 -7
  432. package/dist/Form-DbEWnCKc.d.ts +0 -49
  433. package/dist/FormField-B99dLt8o.js +0 -212
  434. package/dist/FormFieldHeaderTooltip-BV2Ju4oB.js +0 -17
  435. package/dist/IconButton-D4thBurp.d.ts +0 -16
  436. package/dist/InlineIconButton-BeJCjl-q.d.ts +0 -15
  437. package/dist/InputItem-CIxbTxZu.js +0 -63
  438. package/dist/Inputs-DJSKiaWY.js +0 -17
  439. package/dist/Inputs-O84btFJL.d.ts +0 -13
  440. package/dist/PaginationList-DtvuP63b.js +0 -220
  441. package/dist/QuerySelect-BGxb6Y0K.d.ts +0 -24
  442. package/dist/RadioGroup-CZg2kIMk.d.ts +0 -24
  443. package/dist/RichTextEditor-YxuRUlI7.d.ts +0 -26
  444. package/dist/Select-UR0ec2Ux.js +0 -154
  445. package/dist/Select-pHbyJdZJ.d.ts +0 -15
  446. package/dist/Switch-s_EPn0Jz.d.ts +0 -22
  447. package/dist/Table-BN2_J_Ne.js +0 -636
  448. package/dist/Tag-AHfV_XSf.d.ts +0 -44
  449. package/dist/Tag-DPg5sL1Z.js +0 -146
  450. package/dist/TextButton-XUhV_1s0.d.ts +0 -15
  451. package/dist/TimePicker-B1POvGWs.d.ts +0 -33
  452. package/dist/Toast-DtG3pA61.js +0 -53
  453. package/dist/ToggleButton-7aP8Jb11.d.ts +0 -11
  454. package/dist/ToggleGroup-CRFDIPGZ.d.ts +0 -7
  455. package/dist/Tooltip-DHv6vAqW.d.ts +0 -57
  456. package/dist/UIConfigurator-BwLRfe-a.js +0 -6704
  457. package/dist/autocomplete-DeERHN8W.d.ts +0 -16
  458. package/dist/badgeButton.cva-CvN4CTx5.js +0 -300
  459. package/dist/checkbox-DxIPDTK5.d.ts +0 -9
  460. package/dist/checkbox-group-B3BOVshI.d.ts +0 -9
  461. package/dist/chevron-left-Dgo_b9wJ.js +0 -20
  462. package/dist/chevron-up-D_Gqpb5M.js +0 -20
  463. package/dist/components/inline-icon-button.d.ts +0 -2
  464. package/dist/components/inline-icon-button.js +0 -40
  465. package/dist/components/query-autocomplete.d.ts +0 -8
  466. package/dist/components/query-autocomplete.js +0 -134
  467. package/dist/components/query-select.d.ts +0 -2
  468. package/dist/components/query-select.js +0 -147
  469. package/dist/components/text-button.d.ts +0 -2
  470. package/dist/components/text-button.js +0 -35
  471. package/dist/config/app-canvas-tanstack.d.ts +0 -23
  472. package/dist/config/app-canvas-tanstack.js +0 -62
  473. package/dist/config/app-canvas.d.ts +0 -12
  474. package/dist/config/app-canvas.js +0 -2
  475. package/dist/config/ui-configurator-theme.d.ts +0 -2
  476. package/dist/config/ui-configurator-theme.js +0 -2
  477. package/dist/config/ui-configurator-vite.d.ts +0 -10
  478. package/dist/config/ui-configurator-vite.js +0 -174
  479. package/dist/config/ui-configurator.d.ts +0 -15
  480. package/dist/config/ui-configurator.js +0 -3
  481. package/dist/configuration.context-f_FSPWhQ.d.ts +0 -926
  482. package/dist/date-picker-DnxDmlOW.d.ts +0 -9
  483. package/dist/date-range-picker-DHDOSvHN.d.ts +0 -9
  484. package/dist/date-time-picker-UkTa0OJ8.d.ts +0 -9
  485. package/dist/date.transforms-DLg-eFcE.js +0 -15
  486. package/dist/dropdownMenu.cva-DvEmX0bs.js +0 -34
  487. package/dist/dynamicInputs-ByVMnx4Z.d.ts +0 -772
  488. package/dist/dynamicInputs-CRMWIpHA.js +0 -194
  489. package/dist/dynamicInputs-m_DQu5q0.js +0 -214
  490. package/dist/fieldAdapter-C4sDFC8f.d.ts +0 -9
  491. package/dist/fieldAdapter-DjYls12j.js +0 -63
  492. package/dist/file-input-DkbkdI7l.d.ts +0 -9
  493. package/dist/file-upload-CTsPhxJk.d.ts +0 -10
  494. package/dist/form.types-CecYaerF.d.ts +0 -13
  495. package/dist/form.types-ZNGbcqJS.d.ts +0 -13
  496. package/dist/info-iUmX3uDk.js +0 -32
  497. package/dist/input-CdQNCPgH.d.ts +0 -8
  498. package/dist/input.cva-DJA8ovm_.js +0 -208
  499. package/dist/link.cva-DMTHZiJG.js +0 -12
  500. package/dist/number-field-CUDbenNV.d.ts +0 -8
  501. package/dist/number-range-input-DZGrcvjL.d.ts +0 -8
  502. package/dist/outline.clsx-50W_vNDl.js +0 -6
  503. package/dist/password-input-fYN20cQO.d.ts +0 -8
  504. package/dist/query-autocomplete-CfuQeiYG.d.ts +0 -14
  505. package/dist/query-select-CuT_sE6a.d.ts +0 -15
  506. package/dist/queryAutocomplete.types-tl3r6iaY.d.ts +0 -27
  507. package/dist/radio-group-B3ccPf0p.d.ts +0 -9
  508. package/dist/rhf/autocomplete.d.ts +0 -3
  509. package/dist/rhf/autocomplete.js +0 -8
  510. package/dist/rhf/checkbox-group.d.ts +0 -3
  511. package/dist/rhf/checkbox-group.js +0 -8
  512. package/dist/rhf/checkbox.d.ts +0 -3
  513. package/dist/rhf/checkbox.js +0 -8
  514. package/dist/rhf/date-picker.d.ts +0 -3
  515. package/dist/rhf/date-picker.js +0 -9
  516. package/dist/rhf/date-range-picker.d.ts +0 -3
  517. package/dist/rhf/date-range-picker.js +0 -9
  518. package/dist/rhf/date-time-picker.d.ts +0 -3
  519. package/dist/rhf/date-time-picker.js +0 -9
  520. package/dist/rhf/file-input.d.ts +0 -3
  521. package/dist/rhf/file-input.js +0 -6
  522. package/dist/rhf/file-upload.d.ts +0 -3
  523. package/dist/rhf/file-upload.js +0 -6
  524. package/dist/rhf/input.d.ts +0 -3
  525. package/dist/rhf/input.js +0 -6
  526. package/dist/rhf/inputs.d.ts +0 -4
  527. package/dist/rhf/inputs.js +0 -2
  528. package/dist/rhf/number-field.d.ts +0 -3
  529. package/dist/rhf/number-field.js +0 -6
  530. package/dist/rhf/number-range-input.d.ts +0 -3
  531. package/dist/rhf/number-range-input.js +0 -6
  532. package/dist/rhf/password-input.d.ts +0 -3
  533. package/dist/rhf/password-input.js +0 -6
  534. package/dist/rhf/query-autocomplete.d.ts +0 -2
  535. package/dist/rhf/query-autocomplete.js +0 -8
  536. package/dist/rhf/query-select.d.ts +0 -2
  537. package/dist/rhf/query-select.js +0 -8
  538. package/dist/rhf/radio-group.d.ts +0 -3
  539. package/dist/rhf/radio-group.js +0 -8
  540. package/dist/rhf/rich-text-editor.d.ts +0 -3
  541. package/dist/rhf/rich-text-editor.js +0 -6
  542. package/dist/rhf/select.d.ts +0 -3
  543. package/dist/rhf/select.js +0 -8
  544. package/dist/rhf/slider.d.ts +0 -3
  545. package/dist/rhf/slider.js +0 -6
  546. package/dist/rhf/switch.d.ts +0 -3
  547. package/dist/rhf/switch.js +0 -8
  548. package/dist/rhf/text-area.d.ts +0 -3
  549. package/dist/rhf/text-area.js +0 -6
  550. package/dist/rhf/time-picker.d.ts +0 -3
  551. package/dist/rhf/time-picker.js +0 -9
  552. package/dist/rhf/toggle-group.d.ts +0 -3
  553. package/dist/rhf/toggle-group.js +0 -6
  554. package/dist/rhf-t348TCCL.js +0 -256
  555. package/dist/rhf.d.ts +0 -106
  556. package/dist/rhf.js +0 -112
  557. package/dist/rich-text-editor-B-Onl7T8.d.ts +0 -8
  558. package/dist/select-B4a52eWW.d.ts +0 -16
  559. package/dist/selectDesktop.cva-CHAMxhfO.js +0 -69
  560. package/dist/slider-dNj9jruO.d.ts +0 -8
  561. package/dist/style-merge.util-zLimKwt6.d.ts +0 -40
  562. package/dist/styles/app-canvas.css +0 -740
  563. package/dist/styles/color-utilities.css +0 -20
  564. package/dist/styles/configurator.css +0 -3280
  565. package/dist/switch-C--iWnY8.d.ts +0 -9
  566. package/dist/switch.cva-CWNzmdRc.d.ts +0 -16
  567. package/dist/table.cva-D5oQ-QvA.js +0 -101
  568. package/dist/tanstack/inputs.d.ts +0 -5
  569. package/dist/tanstack/inputs.js +0 -3
  570. package/dist/tanstack/query-autocomplete.d.ts +0 -2
  571. package/dist/tanstack/query-autocomplete.js +0 -2
  572. package/dist/tanstack/query-select.d.ts +0 -2
  573. package/dist/tanstack/query-select.js +0 -2
  574. package/dist/text-area-DQAtpOQp.d.ts +0 -8
  575. package/dist/theme-model-DtYPxNvH.js +0 -406
  576. package/dist/theme-model-T1zIdBg8.d.ts +0 -12
  577. package/dist/time-picker-DoGfbil6.d.ts +0 -9
  578. package/dist/toggle-group-C1nMDOwz.d.ts +0 -9
  579. package/dist/toggleGroup.cva-MbpaEBg1.js +0 -35
  580. package/dist/typography.cva-D1JOEYl-.d.ts +0 -36
  581. package/dist/typography.cva-iD15k56p.js +0 -51
  582. package/dist/underline-66hmELxa.js +0 -81
  583. package/dist/upload-CXU83BJ4.js +0 -30
  584. package/dist/useFormAutosave-DfuP7drj.js +0 -198
  585. package/dist/useQueryAutocomplete-CraXvRm_.js +0 -152
  586. package/dist/useTableColumnConfig-Di0_w80v.js +0 -892
  587. package/dist/zod.utils-DrrPDT9v.js +0 -24
  588. package/rulesync.jsonc +0 -11
  589. package/scripts/generate-rules.mjs +0 -34
  590. package/src/configurator/README.md +0 -77
  591. package/dist/{import-BE0r63d8.js → import-D_3dPATF.js} +2 -2
  592. /package/dist/{queries.utils-CmbhAoHU.js → tanstack-CmbhAoHU.js} +0 -0
@@ -1,3280 +0,0 @@
1
- .studio,
2
- .studio-overlay {
3
- font-family: "Inter Variable", Inter, sans-serif;
4
- color: #242424;
5
- font-size: 11px;
6
- line-height: 1.5;
7
- }
8
- .studio {
9
- min-height: 100vh;
10
- background: #f6f6f6;
11
- padding: 60px 24px;
12
- }
13
- .studio-landing {
14
- max-width: 850px;
15
- margin: auto;
16
- }
17
- .studio-brand,
18
- .studio-title,
19
- .studio-export-actions {
20
- display: flex;
21
- align-items: center;
22
- gap: 12px;
23
- }
24
- .studio-logo {
25
- display: inline-flex;
26
- background: #373737;
27
- color: #fff;
28
- border-radius: 10px;
29
- padding: 10px;
30
- }
31
- .studio-brand {
32
- font-weight: 700;
33
- font-size: 17px;
34
- }
35
- .studio-badge {
36
- font-size: 9px;
37
- font-weight: 600;
38
- letter-spacing: 1.4px;
39
- padding: 5px 9px;
40
- border: 1px solid #dedede;
41
- border-radius: 5px;
42
- color: #747474;
43
- }
44
- .studio-landing h1 {
45
- font-size: clamp(36px, 5vw, 58px);
46
- line-height: 1.08;
47
- letter-spacing: -2px;
48
- margin: 35px 0 18px;
49
- font-weight: 550;
50
- }
51
- .studio-landing > p {
52
- color: #727272;
53
- margin-bottom: 25px;
54
- }
55
- .studio-landing > small {
56
- display: block;
57
- margin: 15px 0 35px;
58
- color: #818181;
59
- }
60
- .studio button,
61
- .studio-overlay button {
62
- cursor: pointer;
63
- }
64
- .studio-primary {
65
- display: inline-flex;
66
- align-items: center;
67
- justify-content: center;
68
- gap: 8px;
69
- background: #393939 !important;
70
- color: white !important;
71
- border: 1px solid #393939 !important;
72
- padding: 10px 15px;
73
- border-radius: 7px;
74
- font-size: 11px;
75
- font-weight: 550;
76
- }
77
- /* Keep the application visible around the movable configurator window. */
78
- .studio-overlay {
79
- position: fixed;
80
- inset: 0;
81
- background: #14232240;
82
- display: grid;
83
- place-items: center;
84
- padding: 8px;
85
- z-index: 1000;
86
- }
87
- .studio-modal {
88
- position: relative;
89
- container-type: inline-size;
90
- width: min(1440px, calc(100vw - 48px));
91
- height: min(900px, calc(100dvh - 48px));
92
- border-radius: 12px;
93
- box-shadow: 0 25px 90px #12251f30;
94
- background: #fff;
95
- overflow: hidden;
96
- }
97
- /*
98
- * The editor column stacks the top bar, the editor and the footer; the preview fills the second column from top to
99
- * bottom, like a design tool's canvas.
100
- */
101
- .studio-dialog {
102
- display: grid;
103
- grid-template-columns: var(--studio-editor-track, minmax(300px, 0.8fr)) minmax(320px, 1.25fr);
104
- grid-template-rows: auto minmax(0, 1fr) auto;
105
- height: 100%;
106
- outline: none;
107
- }
108
- .studio-title h2 {
109
- margin: 0;
110
- font-size: 11px;
111
- font-weight: 650;
112
- letter-spacing: -0.3px;
113
- }
114
- /* Title, section tabs and global controls share one bar above the editor; the tabs take their own row. */
115
- .studio-topbar {
116
- grid-column: 1;
117
- grid-row: 1;
118
- display: flex;
119
- flex-wrap: wrap;
120
- align-items: center;
121
- gap: 8px 16px;
122
- padding: 10px 16px;
123
- background: #fbfbfb;
124
- border-bottom: 1px solid #eaeaea;
125
- min-width: 0;
126
- }
127
- .studio-topbar .studio-title {
128
- gap: 9px;
129
- flex-shrink: 0;
130
- }
131
- .studio-topbar .studio-nav {
132
- order: 1;
133
- flex-basis: 100%;
134
- margin-inline: -4px;
135
- }
136
- .studio-topbar .studio-title h2 {
137
- white-space: nowrap;
138
- }
139
- /* Controls share the title's row and only wrap below it once even their narrowest layout no longer fits. */
140
- .studio-topbar-controls {
141
- display: flex;
142
- flex: 1 1 min-content;
143
- justify-content: flex-end;
144
- align-items: center;
145
- gap: 8px;
146
- margin-left: auto;
147
- min-width: 0;
148
- }
149
- .studio-topbar .studio-search {
150
- margin: 0;
151
- flex: 1 1 90px;
152
- max-width: 190px;
153
- padding: 7px 9px;
154
- background: #fff;
155
- }
156
- .studio-topbar .studio-search:has(input:disabled) {
157
- opacity: 0.5;
158
- }
159
- @container (max-width: 800px) {
160
- .studio-topbar-controls {
161
- flex-wrap: wrap;
162
- margin-left: 0;
163
- flex-shrink: 1;
164
- }
165
- .studio-topbar .studio-search {
166
- width: auto;
167
- flex: 1 1 100%;
168
- }
169
- .studio-topbar .studio-title {
170
- flex: 1;
171
- }
172
- }
173
- /* The body only groups the panels in markup; they are placed on the dialog's grid. */
174
- .studio-body {
175
- display: contents;
176
- }
177
- .studio-body > .studio-editor {
178
- grid-column: 1;
179
- grid-row: 2;
180
- }
181
- .studio-body > .studio-preview {
182
- grid-column: 2;
183
- grid-row: 1 / -1;
184
- }
185
- /* Dividers overlap the start of their grid column and show a line and grip on hover. */
186
- .studio-resize-handle {
187
- grid-row: 1 / -1;
188
- justify-self: start;
189
- position: relative;
190
- z-index: 2;
191
- width: 10px;
192
- margin-left: -5px;
193
- cursor: col-resize;
194
- touch-action: none;
195
- outline: none;
196
- }
197
- .studio-resize-handle::before {
198
- content: "";
199
- position: absolute;
200
- inset: 0 4px;
201
- background: #393939;
202
- opacity: 0;
203
- transition: opacity 120ms;
204
- }
205
- .studio-resize-handle::after {
206
- content: "";
207
- position: absolute;
208
- top: 50%;
209
- left: 50%;
210
- width: 6px;
211
- height: 32px;
212
- translate: -50% -50%;
213
- border-radius: 3px;
214
- background: #393939;
215
- opacity: 0;
216
- transition: opacity 120ms;
217
- }
218
- .studio-resize-handle:is(:hover, :active, :focus-visible)::before,
219
- .studio-resize-handle:is(:hover, :active, :focus-visible)::after {
220
- opacity: 1;
221
- }
222
- .studio-nav {
223
- display: flex;
224
- align-items: center;
225
- gap: 2px;
226
- min-width: 0;
227
- overflow-x: auto;
228
- scrollbar-width: none;
229
- }
230
- .studio-section-tabs {
231
- display: flex;
232
- flex: 1;
233
- align-items: center;
234
- gap: 2px;
235
- min-width: 0;
236
- overflow-x: auto;
237
- scrollbar-width: none;
238
- }
239
- .studio-nav .studio-preview-tab {
240
- display: none;
241
- }
242
- .studio-nav-divider {
243
- flex-shrink: 0;
244
- width: 1px;
245
- height: 18px;
246
- margin: 0 8px;
247
- background: #e5e5e5;
248
- }
249
- .studio-nav button {
250
- display: flex;
251
- flex-shrink: 0;
252
- align-items: center;
253
- gap: 7px;
254
- white-space: nowrap;
255
- padding: 7px 10px;
256
- color: #707070;
257
- background: transparent;
258
- border: 0;
259
- border-radius: 6px;
260
- font-size: 11px;
261
- }
262
- .studio-nav button[aria-current] {
263
- background: #eeeeee;
264
- color: #464646;
265
- font-weight: 600;
266
- }
267
- .studio-editor {
268
- --studio-editor-pad: 20px;
269
- padding: var(--studio-editor-pad);
270
- padding-top: 12px;
271
- overflow: auto;
272
- min-width: 0;
273
- }
274
- .studio-subtabs-bar {
275
- display: flex;
276
- align-items: center;
277
- gap: 12px;
278
- margin-bottom: 12px;
279
- border-bottom: 1px solid #eaeaea;
280
- }
281
- .studio-subtabs-bar .studio-toggle-all {
282
- margin-left: auto;
283
- margin-bottom: 2px;
284
- }
285
- .studio-subtabs {
286
- display: flex;
287
- flex: 1;
288
- gap: 18px;
289
- min-width: 0;
290
- overflow-x: auto;
291
- scrollbar-width: none;
292
- }
293
- .studio-subtabs button {
294
- display: flex;
295
- flex-shrink: 0;
296
- align-items: center;
297
- gap: 6px;
298
- padding: 0 0 9px;
299
- margin-bottom: -1px;
300
- border: 0;
301
- border-bottom: 2px solid transparent;
302
- background: transparent;
303
- color: #707070;
304
- font-size: 11px;
305
- white-space: nowrap;
306
- }
307
- .studio-subtabs button[aria-selected="true"] {
308
- border-bottom-color: #393939;
309
- color: #464646;
310
- font-weight: 600;
311
- }
312
- .studio-subtabs button:disabled {
313
- opacity: 0.5;
314
- }
315
- .studio-editor-heading {
316
- display: flex;
317
- align-items: center;
318
- justify-content: space-between;
319
- gap: 12px;
320
- margin-bottom: 10px;
321
- }
322
- .studio-editor-heading h2 {
323
- font-size: 11px;
324
- font-weight: 550;
325
- letter-spacing: -0.6px;
326
- margin: 0;
327
- }
328
- .studio-mode {
329
- display: inline-flex;
330
- border: 1px solid #e5e5e5;
331
- background: #f7f7f7;
332
- border-radius: 6px;
333
- padding: 3px;
334
- gap: 3px;
335
- }
336
- .studio-mode button {
337
- display: flex;
338
- align-items: center;
339
- justify-content: center;
340
- gap: 6px;
341
- border: 0;
342
- border-radius: 4px;
343
- padding: 5px 11px;
344
- font-size: 11px;
345
- background: transparent;
346
- color: #8e8e8e;
347
- text-transform: capitalize;
348
- }
349
- .studio-mode button[aria-pressed="true"] {
350
- background: white;
351
- box-shadow: 0 1px 3px #37373717;
352
- color: #454545;
353
- }
354
- .studio-search {
355
- display: flex;
356
- align-items: center;
357
- gap: 8px;
358
- padding: 9px 11px;
359
- border: 1px solid #e5e5e5;
360
- border-radius: 6px;
361
- margin: 20px 0 12px;
362
- color: #9f9f9f;
363
- }
364
- .studio-search input {
365
- width: 100%;
366
- outline: none;
367
- border: 0;
368
- background: transparent;
369
- color: #414141;
370
- font-size: 11px;
371
- }
372
- .studio-token {
373
- padding: 4px 0;
374
- border-bottom: 1px solid #efefef;
375
- }
376
- .studio-token label {
377
- display: block;
378
- margin-bottom: 5px;
379
- }
380
- .studio-token label > span {
381
- display: block;
382
- font-size: 11px;
383
- font-weight: 550;
384
- text-transform: capitalize;
385
- }
386
- .studio-token.is-changed label > span::after {
387
- content: " •";
388
- color: #727272;
389
- }
390
- .studio-token-value {
391
- display: flex;
392
- align-items: center;
393
- gap: 8px;
394
- }
395
- .studio-token-value input:not([type="color"]) {
396
- border: 1px solid #e6e6e6;
397
- border-radius: 5px;
398
- height: 24px;
399
- padding: 2px 7px;
400
- line-height: 18px;
401
- font-family: inherit;
402
- font-variant-numeric: tabular-nums;
403
- font-size: 11px;
404
- color: #6a6a6a;
405
- min-width: 0;
406
- width: 100%;
407
- background: #fff;
408
- }
409
- .studio-token-value input[type="color"] {
410
- width: 24px;
411
- height: 24px;
412
- border: 1px solid #e6e6e6;
413
- border-radius: 5px;
414
- padding: 2px;
415
- flex-shrink: 0;
416
- background: white;
417
- }
418
- .studio-palette-swatch {
419
- width: 18px;
420
- height: 18px;
421
- flex-shrink: 0;
422
- border: 1px solid #dadada;
423
- border-radius: 3px;
424
- }
425
- /* Base palette picker for semantic colors: a swatch trigger and a grouped swatch list. */
426
- .studio-palette-picker {
427
- display: flex;
428
- flex: 1;
429
- min-width: 0;
430
- }
431
- .studio-palette-picker.is-custom {
432
- flex: none;
433
- }
434
- .studio-token-value .studio-palette-trigger {
435
- display: flex;
436
- flex: 1;
437
- align-items: center;
438
- gap: 7px;
439
- width: auto;
440
- min-width: 0;
441
- height: auto;
442
- min-height: 24px;
443
- padding: 0 7px;
444
- border: 0;
445
- background: transparent;
446
- color: #414141;
447
- font: inherit;
448
- font-size: 11px;
449
- text-align: left;
450
- text-transform: capitalize;
451
- cursor: pointer;
452
- }
453
- .studio-token-value .studio-palette-trigger:hover {
454
- background: #f7f7f7;
455
- }
456
- .studio-palette-trigger > svg {
457
- flex-shrink: 0;
458
- margin-left: auto;
459
- color: #939393;
460
- }
461
- .studio-palette-trigger-label {
462
- overflow: hidden;
463
- text-overflow: ellipsis;
464
- white-space: nowrap;
465
- }
466
- .studio-palette-popover {
467
- z-index: 1002;
468
- display: flex;
469
- width: 220px;
470
- border: 1px solid #e5e5e5;
471
- border-radius: 10px;
472
- background: #fff;
473
- box-shadow: 0 12px 40px #21212126;
474
- font-family: "Inter Variable", Inter, sans-serif;
475
- font-size: 11px;
476
- color: #242424;
477
- }
478
- /* The list scrolls itself so opening it can bring the selected color into view. */
479
- .studio-palette-list {
480
- position: relative;
481
- flex: 1;
482
- max-height: min(420px, calc(var(--visual-viewport-height, 100vh) - 80px));
483
- overflow: auto;
484
- padding: 6px;
485
- outline: none;
486
- }
487
- .studio-palette-list header {
488
- padding: 10px 8px 5px;
489
- color: #717171;
490
- font-size: 10px;
491
- font-weight: 600;
492
- text-transform: capitalize;
493
- }
494
- .studio-palette-list section:first-child header {
495
- padding-top: 4px;
496
- }
497
- .studio-palette-item {
498
- display: flex;
499
- align-items: center;
500
- gap: 9px;
501
- padding: 5px 8px;
502
- border-radius: 6px;
503
- outline: none;
504
- cursor: pointer;
505
- }
506
- .studio-palette-item[data-focused],
507
- .studio-palette-item[data-hovered] {
508
- background: #f3f3f3;
509
- }
510
- .studio-palette-item[data-selected] {
511
- background: #eeeeee;
512
- color: #464646;
513
- font-weight: 600;
514
- }
515
- .studio-palette-item code {
516
- margin-left: auto;
517
- color: #939393;
518
- font-size: 10px;
519
- }
520
- .studio-palette-item.is-custom {
521
- margin-top: 4px;
522
- border-top: 1px solid #f0f0f0;
523
- border-radius: 0 0 6px 6px;
524
- color: #717171;
525
- }
526
- .studio-token-value button {
527
- display: grid;
528
- place-items: center;
529
- width: 24px;
530
- height: 24px;
531
- flex-shrink: 0;
532
- border: 0;
533
- background: transparent;
534
- padding: 4px;
535
- color: #757575;
536
- }
537
- /* Configurator chrome only: the preview (.studio-sample) shows components with their own disabled and focus styles. */
538
- .studio-overlay button:disabled:where(:not(.studio-sample *)) {
539
- opacity: 0.35;
540
- cursor: default;
541
- }
542
- .studio-overlay :is(input, select, textarea, button):focus-visible:where(:not(.studio-sample *)) {
543
- outline: 2px solid #797979;
544
- outline-offset: 3px;
545
- }
546
- .studio-token-value input[aria-invalid="true"] {
547
- border-color: #c34839;
548
- }
549
- .studio-error {
550
- color: #b8362c;
551
- display: block;
552
- margin-top: 4px;
553
- font-size: 11px;
554
- }
555
- .studio-preview {
556
- background: #f7f7f7;
557
- border-left: 1px solid #eaeaea;
558
- padding: 20px;
559
- overflow: auto;
560
- min-width: 0;
561
- }
562
- .studio-preview-heading {
563
- display: flex;
564
- justify-content: space-between;
565
- align-items: center;
566
- margin-bottom: 16px;
567
- }
568
- .studio-preview-actions {
569
- display: flex;
570
- flex-wrap: wrap;
571
- justify-content: flex-end;
572
- align-items: center;
573
- gap: 8px;
574
- }
575
- .studio-preview-heading > span {
576
- font-size: 9px;
577
- font-weight: 600;
578
- letter-spacing: 1.1px;
579
- color: #8d8d8d;
580
- }
581
- .studio-preview-heading i {
582
- display: inline-block;
583
- height: 5px;
584
- width: 5px;
585
- border-radius: 50%;
586
- background: #8c8c8c;
587
- margin-right: 5px;
588
- }
589
- /* Shares the color mode switch's segmented style, so the preview header controls match. */
590
- .studio-preview-modes {
591
- flex-shrink: 0;
592
- }
593
- .studio-preview-modes button {
594
- cursor: pointer;
595
- text-transform: none;
596
- }
597
- .studio-preview-modes button:focus-visible {
598
- outline: 2px solid #797979;
599
- outline-offset: 2px;
600
- }
601
- .studio-preview-note {
602
- text-align: center;
603
- color: #a7a7a7;
604
- font-size: 11px;
605
- line-height: 1.7;
606
- margin-top: 20px;
607
- }
608
- .studio-sample {
609
- padding: 16px;
610
- border-radius: 10px;
611
- background: rgb(var(--surface-default-background-base));
612
- color: rgb(var(--surface-default-card-foreground-base));
613
- font-family: var(--font-body);
614
- }
615
- .studio-footer {
616
- grid-column: 1;
617
- grid-row: 3;
618
- display: flex;
619
- align-items: center;
620
- gap: 10px;
621
- padding: 10px 20px;
622
- border-top: 1px solid #eaeaea;
623
- flex-shrink: 0;
624
- }
625
- .studio-footer > button:not(.studio-primary),
626
- .studio-export-actions button {
627
- display: flex;
628
- align-items: center;
629
- justify-content: center;
630
- gap: 7px;
631
- color: #717171;
632
- border: 1px solid #e7e7e7;
633
- border-radius: 6px;
634
- padding: 9px 12px;
635
- background: white;
636
- font-size: 11px;
637
- }
638
- .studio-footer > span {
639
- flex: 1;
640
- color: #929292;
641
- font-size: 11px;
642
- }
643
- /* Confirmation dialogs sit above the full-page configurator. */
644
- .studio-overlay.studio-confirm-overlay {
645
- z-index: 1001;
646
- display: grid;
647
- place-items: center;
648
- padding: 16px;
649
- background: #20202066;
650
- }
651
- .studio-confirm {
652
- width: min(420px, 100%);
653
- background: #fff;
654
- border-radius: 12px;
655
- box-shadow: 0 25px 90px #21212140;
656
- }
657
- .studio-confirm-dialog {
658
- padding: 22px;
659
- outline: none;
660
- }
661
- .studio-confirm-dialog h2 {
662
- margin: 0 0 8px;
663
- font-size: 14px;
664
- font-weight: 650;
665
- }
666
- .studio-confirm-dialog p {
667
- margin: 0;
668
- color: #717171;
669
- font-size: 12px;
670
- }
671
- .studio-confirm-actions {
672
- display: flex;
673
- justify-content: flex-end;
674
- gap: 8px;
675
- margin-top: 20px;
676
- }
677
- .studio-confirm-actions > button:not(.studio-danger) {
678
- padding: 9px 12px;
679
- border: 1px solid #e7e7e7;
680
- border-radius: 6px;
681
- background: #fff;
682
- color: #717171;
683
- font-size: 11px;
684
- }
685
- .studio-confirm-actions > button.studio-danger {
686
- display: flex;
687
- align-items: center;
688
- gap: 7px;
689
- padding: 9px 12px;
690
- border: 1px solid #b8362c;
691
- border-radius: 6px;
692
- background: #b8362c;
693
- color: #fff;
694
- font-size: 11px;
695
- }
696
- .studio-settings h3 {
697
- font-size: 11px;
698
- font-weight: 650;
699
- margin: 18px 0 6px;
700
- }
701
- .studio-setting {
702
- display: flex;
703
- justify-content: space-between;
704
- align-items: center;
705
- gap: 10px;
706
- padding: 10px 0;
707
- border-bottom: 1px solid #efefef;
708
- font-size: 11px;
709
- }
710
- .studio-setting select {
711
- background: white;
712
- border: 1px solid #e2e2e2;
713
- border-radius: 5px;
714
- padding: 7px;
715
- color: #676767;
716
- }
717
- .studio-setting input {
718
- accent-color: #525252;
719
- }
720
- .studio-setting small {
721
- display: block;
722
- color: #9e9e9e;
723
- font-size: 11px;
724
- margin-top: 4px;
725
- }
726
- .studio-help,
727
- .studio-export > p {
728
- color: #929292;
729
- font-size: 11px;
730
- line-height: 1.7;
731
- margin-top: 20px;
732
- }
733
- .studio-export textarea {
734
- background: #f8f8f8;
735
- border: 1px solid #e5e5e5;
736
- border-radius: 7px;
737
- font-size: 11px;
738
- font-family: monospace;
739
- padding: 15px;
740
- width: 100%;
741
- height: 320px;
742
- resize: vertical;
743
- color: #4e4e4e;
744
- margin: 18px 0;
745
- }
746
- @container (max-width: 1050px) {
747
- .studio-dialog {
748
- grid-template-columns: var(--studio-editor-track, minmax(260px, 0.8fr)) minmax(280px, 1.25fr);
749
- }
750
- .studio-editor {
751
- --studio-editor-pad: 18px;
752
- }
753
- .studio-preview {
754
- padding: 18px;
755
- }
756
- .studio-sample {
757
- padding: 8px;
758
- }
759
- }
760
- @container (max-width: 800px) {
761
- /* One scrolling column: top bar, editor, preview, then the footer pinned to the bottom. */
762
- .studio-dialog {
763
- display: flex;
764
- flex-direction: column;
765
- overflow: auto;
766
- }
767
- .studio-footer {
768
- position: sticky;
769
- bottom: 0;
770
- z-index: 3;
771
- background: #fff;
772
- }
773
- .studio-resize-handle {
774
- display: none;
775
- }
776
- .studio-editor,
777
- .studio-preview {
778
- overflow: visible;
779
- flex-shrink: 0;
780
- }
781
- .studio-preview {
782
- border-top: 1px solid #eaeaea;
783
- }
784
- .studio-footer {
785
- flex-wrap: wrap;
786
- padding: 12px;
787
- gap: 8px;
788
- }
789
- .studio-footer > span {
790
- flex-basis: 60%;
791
- }
792
- }
793
-
794
- .studio-token-group {
795
- min-width: 0;
796
- margin: 10px 0 0;
797
- padding: 8px 10px 10px;
798
- border: 1px solid #e6e6e6;
799
- border-radius: 8px;
800
- }
801
- .studio-token-group legend {
802
- padding: 0 6px;
803
- font-size: 11px;
804
- font-weight: 600;
805
- text-transform: capitalize;
806
- color: #434343;
807
- }
808
- /* Typography keeps its compact three-field styles but shares the table's group header rows. */
809
- :is(.studio-token-list-inline, .studio-token-list-rows) {
810
- --studio-cell-line: #eaeaea;
811
- }
812
- /* Section titles are header rows of one continuous table rather than separately bordered boxes. */
813
- :is(.studio-token-list-rows, .studio-token-list-inline) .studio-token-group {
814
- margin: 0 calc(-1 * var(--studio-editor-pad));
815
- padding: 0;
816
- border: 0;
817
- border-radius: 0;
818
- }
819
- :is(.studio-token-list-rows, .studio-token-list-inline) .studio-token-group legend {
820
- float: left;
821
- display: flex;
822
- align-items: center;
823
- width: 100%;
824
- box-sizing: border-box;
825
- margin: 0;
826
- padding: 0 var(--studio-editor-pad) 0 0;
827
- background: #f7f7f7;
828
- border-bottom: 1px solid var(--studio-cell-line);
829
- }
830
- /* The whole header row toggles its group, not only the title text. */
831
- :is(.studio-token-list-rows, .studio-token-list-inline) .studio-token-group .studio-group-toggle {
832
- flex: 1;
833
- align-self: stretch;
834
- min-width: 0;
835
- padding: 7px 0 7px var(--studio-editor-pad);
836
- text-align: left;
837
- }
838
- :is(.studio-token-list-rows, .studio-token-list-inline) .studio-token-group:first-child legend {
839
- border-top: 1px solid var(--studio-cell-line);
840
- }
841
- :is(.studio-token-list-rows, .studio-token-list-inline) .studio-token-group > div {
842
- clear: both;
843
- }
844
- .studio-token-list-inline .studio-token-group .studio-token {
845
- padding-inline: var(--studio-editor-pad);
846
- }
847
- .studio-token-group > div > .studio-token:last-child {
848
- border-bottom: 0;
849
- padding-bottom: 0;
850
- }
851
- .studio-type-fields {
852
- display: grid;
853
- grid-template-columns: repeat(3, minmax(0, 1fr));
854
- gap: 8px;
855
- }
856
- .studio-type-fields .studio-token {
857
- min-width: 0;
858
- padding: 0;
859
- border: 0;
860
- }
861
- .studio-type-fields .studio-token label > span {
862
- font-size: 11px;
863
- white-space: nowrap;
864
- text-transform: none;
865
- margin-bottom: 0;
866
- }
867
- .studio-type-fields .studio-token-value {
868
- position: relative;
869
- gap: 0;
870
- }
871
- .studio-type-fields .studio-token-value input:not([type="color"]) {
872
- padding-right: 27px;
873
- }
874
- .studio-type-fields .studio-token-value button {
875
- position: absolute;
876
- right: 1px;
877
- padding: 5px;
878
- }
879
- @container (min-width: 801px) and (max-width: 1100px) {
880
- .studio-type-fields {
881
- grid-template-columns: 1fr;
882
- }
883
- }
884
- @container (max-width: 420px) {
885
- .studio-type-fields {
886
- gap: 6px;
887
- }
888
- .studio-type-fields .studio-token-value input:not([type="color"]) {
889
- padding-left: 6px;
890
- font-size: 11px;
891
- }
892
- }
893
-
894
- .studio-color-mode {
895
- flex-shrink: 0;
896
- }
897
- .studio-color-mode button {
898
- cursor: pointer;
899
- }
900
- .studio-color-mode button:focus-visible {
901
- outline: 2px solid #797979;
902
- outline-offset: 2px;
903
- }
904
- .studio-token-list-inline .studio-token {
905
- display: grid;
906
- grid-template-columns: minmax(0, 1fr) minmax(170px, 46%);
907
- align-items: center;
908
- gap: 6px 14px;
909
- }
910
- .studio-token-list-inline .studio-token label {
911
- margin: 0;
912
- overflow-wrap: anywhere;
913
- }
914
- .studio-token-list-inline .studio-token-value {
915
- min-width: 0;
916
- }
917
- .studio-token-list-inline .studio-error {
918
- grid-column: 2;
919
- margin: 0;
920
- }
921
- @container (max-width: 420px) {
922
- .studio-token-list-inline .studio-token {
923
- grid-template-columns: minmax(0, 1fr) minmax(165px, 50%);
924
- gap: 6px 10px;
925
- }
926
- }
927
-
928
- /* A compact select that shows only a chevron; its text is hidden so the placeholder never shows. */
929
- .studio-size-presets {
930
- appearance: none;
931
- width: 20px;
932
- height: 24px;
933
- flex-shrink: 0;
934
- padding: 0;
935
- border: 1px solid #e6e6e6;
936
- border-radius: 4px;
937
- background: #fff
938
- url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a6a6a' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
939
- center / 12px no-repeat;
940
- color: transparent;
941
- font-size: 11px;
942
- cursor: pointer;
943
- }
944
- .studio-size-presets:hover {
945
- border-color: #d4d4d4;
946
- background-color: #f7f7f7;
947
- }
948
- .studio-size-presets :is(option, optgroup) {
949
- color: #393939;
950
- }
951
- .studio-token-value:has(.studio-size-presets) {
952
- gap: 3px;
953
- }
954
- .studio-type-fields .studio-token-value:has(.studio-size-presets) input {
955
- padding-right: 5px;
956
- }
957
- .studio-type-fields .studio-token-value:has(.studio-size-presets) button {
958
- position: static;
959
- width: 20px;
960
- }
961
-
962
- .studio-token-input {
963
- position: relative;
964
- display: flex;
965
- flex: 1;
966
- min-width: 0;
967
- }
968
- .studio-token-unit {
969
- position: absolute;
970
- right: 4px;
971
- top: 50%;
972
- transform: translateY(-50%);
973
- color: #939393;
974
- font-size: 11px;
975
- font-variant-numeric: tabular-nums;
976
- pointer-events: none;
977
- }
978
- .studio-token-value .studio-token-input:has(.studio-token-unit) input {
979
- padding-right: 32px;
980
- }
981
- /* Compact text-style fields keep their reset button inside the input, so the unit sits to its left. */
982
- .studio-type-fields .studio-token-value:not(:has(.studio-size-presets)) .studio-token-unit {
983
- right: 29px;
984
- }
985
- .studio-type-fields
986
- .studio-token-value:not(:has(.studio-size-presets))
987
- .studio-token-input:has(.studio-token-unit)
988
- input {
989
- padding-right: 52px;
990
- }
991
-
992
- .studio-group-toggle {
993
- display: inline-flex;
994
- align-items: center;
995
- gap: 4px;
996
- padding: 0;
997
- border: 0;
998
- background: transparent;
999
- color: inherit;
1000
- font: inherit;
1001
- text-transform: inherit;
1002
- cursor: pointer;
1003
- }
1004
- .studio-group-toggle svg {
1005
- color: #929292;
1006
- transition: transform 0.15s ease;
1007
- }
1008
- .studio-group-toggle[aria-expanded="true"] svg {
1009
- transform: rotate(90deg);
1010
- }
1011
- .studio-group-toggle:focus-visible {
1012
- outline: 2px solid #797979;
1013
- outline-offset: 2px;
1014
- border-radius: 3px;
1015
- }
1016
- .studio-group-changed {
1017
- width: 5px;
1018
- height: 5px;
1019
- border-radius: 50%;
1020
- background: #727272;
1021
- margin-left: 2px;
1022
- }
1023
- .studio-token-group.is-collapsed {
1024
- padding-bottom: 0;
1025
- }
1026
-
1027
- /* A text-only action, so the section heading stays one compact line. */
1028
- .studio-toggle-all {
1029
- display: inline-flex;
1030
- align-items: center;
1031
- gap: 4px;
1032
- flex-shrink: 0;
1033
- padding: 2px 0;
1034
- border: 0;
1035
- border-radius: 4px;
1036
- background: transparent;
1037
- color: #6a6a6a;
1038
- font-size: 11px;
1039
- line-height: 1;
1040
- cursor: pointer;
1041
- }
1042
- .studio-toggle-all:hover:not(:disabled) {
1043
- color: #393939;
1044
- text-decoration: underline;
1045
- text-underline-offset: 2px;
1046
- }
1047
- .studio-toggle-all:disabled {
1048
- opacity: 0.5;
1049
- cursor: default;
1050
- }
1051
- .studio-toggle-all:focus-visible {
1052
- outline: 2px solid #797979;
1053
- outline-offset: 2px;
1054
- }
1055
- .studio-token-list:not(.studio-token-list-inline, .studio-token-list-rows) .studio-token-group.is-collapsed {
1056
- border-inline: 0;
1057
- border-bottom: 0;
1058
- border-radius: 0;
1059
- padding-inline: 0;
1060
- }
1061
-
1062
- /* Table rows: label | value (+ swatch/unit) | presets | reset, divided by shared hairlines. */
1063
- .studio-token-list-inline .studio-token-group .studio-token {
1064
- align-items: stretch;
1065
- gap: 0;
1066
- padding-block: 0;
1067
- padding-right: 0;
1068
- min-height: 32px;
1069
- border-bottom-color: var(--studio-cell-line);
1070
- }
1071
- .studio-token-list-inline .studio-token-group .studio-token:hover {
1072
- background: #fbfbfb;
1073
- }
1074
- .studio-token-list-inline .studio-token-group > div > .studio-token:last-child {
1075
- border-bottom: 1px solid var(--studio-cell-line);
1076
- }
1077
- .studio-token-list-inline .studio-token-group .studio-token label {
1078
- display: flex;
1079
- align-items: center;
1080
- padding: 6px 12px 6px 0;
1081
- }
1082
- .studio-token-list-inline .studio-token-group .studio-token-value {
1083
- gap: 0;
1084
- align-items: stretch;
1085
- border-left: 1px solid var(--studio-cell-line);
1086
- }
1087
- .studio-token-list-inline .studio-token-group .studio-token-value > * + * {
1088
- border-left: 1px solid var(--studio-cell-line);
1089
- }
1090
- .studio-token-list-inline .studio-token-group .studio-token-value input:not([type="color"]) {
1091
- height: 100%;
1092
- min-height: 32px;
1093
- padding: 0 8px;
1094
- border: 0;
1095
- border-radius: 0;
1096
- background: transparent;
1097
- }
1098
- .studio-token-list-inline .studio-token-group .studio-token-value input[aria-invalid="true"] {
1099
- background: #fdf1ef;
1100
- box-shadow: inset 0 0 0 1px #c34839;
1101
- }
1102
- .studio-token-list-inline .studio-token-group .studio-token-value input[type="color"] {
1103
- align-self: center;
1104
- width: 32px;
1105
- height: 32px;
1106
- padding: 8px;
1107
- border: 0;
1108
- border-radius: 0;
1109
- background: transparent;
1110
- cursor: pointer;
1111
- }
1112
- .studio-token-list-inline .studio-token-group .studio-token-value input[type="color"]::-webkit-color-swatch-wrapper {
1113
- padding: 0;
1114
- }
1115
- .studio-token-list-inline .studio-token-group .studio-token-value input[type="color"]::-webkit-color-swatch {
1116
- border: 1px solid #dddddd;
1117
- border-radius: 3px;
1118
- }
1119
- .studio-token-list-inline .studio-token-group .studio-token-value input[type="color"]::-moz-color-swatch {
1120
- border: 1px solid #dddddd;
1121
- border-radius: 3px;
1122
- }
1123
- .studio-token-list-inline .studio-token-group .studio-palette-swatch {
1124
- align-self: center;
1125
- margin: 0 7px;
1126
- }
1127
- .studio-token-list-inline .studio-token-group .studio-palette-trigger {
1128
- min-height: 32px;
1129
- }
1130
- .studio-token-list-inline .studio-token-group .studio-size-presets {
1131
- width: 28px;
1132
- height: auto;
1133
- border: 0;
1134
- border-radius: 0;
1135
- /* Only the color: the chevron icon is the background image. */
1136
- background-color: transparent;
1137
- }
1138
- .studio-token-list-inline .studio-token-group .studio-token-value .studio-size-presets {
1139
- border-left: 1px solid var(--studio-cell-line);
1140
- }
1141
- .studio-token-list-inline .studio-token-group .studio-token-value > button {
1142
- width: 32px;
1143
- height: auto;
1144
- border-radius: 0;
1145
- }
1146
- .studio-token-list-inline .studio-token-group .studio-token-value :is(input, select, button):focus-visible {
1147
- outline-offset: -2px;
1148
- }
1149
- .studio-token-list-inline .studio-token-group .studio-error {
1150
- margin: 0;
1151
- padding: 6px 8px;
1152
- border-left: 1px solid var(--studio-cell-line);
1153
- }
1154
-
1155
- /* Component gallery */
1156
- .studio-sample {
1157
- position: relative;
1158
- }
1159
- .studio-gallery-loading {
1160
- margin: 0;
1161
- padding: 24px;
1162
- color: #8d8d8d;
1163
- font-size: 11px;
1164
- text-align: center;
1165
- }
1166
- .studio-gallery {
1167
- display: grid;
1168
- gap: 22px;
1169
- }
1170
- .studio-gallery-group h3 {
1171
- margin: 0 0 8px;
1172
- font:
1173
- 600 9px "Inter Variable",
1174
- Inter,
1175
- sans-serif;
1176
- letter-spacing: 1.1px;
1177
- text-transform: uppercase;
1178
- color: rgb(var(--surface-default-foreground-base));
1179
- opacity: 0.8;
1180
- }
1181
- .studio-gallery-grid {
1182
- display: grid;
1183
- grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
1184
- gap: 24px 28px;
1185
- }
1186
- /* Components float freely in the preview; the whole block is the click target. */
1187
- .studio-gallery-card {
1188
- position: relative;
1189
- display: flex;
1190
- flex-direction: column;
1191
- gap: 10px;
1192
- min-width: 0;
1193
- padding: 4px 0;
1194
- }
1195
- .studio-gallery-card-hit {
1196
- position: absolute;
1197
- inset: 0;
1198
- z-index: 1;
1199
- padding: 0;
1200
- border: 0;
1201
- border-radius: 4px;
1202
- background: transparent;
1203
- cursor: pointer;
1204
- }
1205
- .studio-gallery-card:hover .studio-gallery-card-title {
1206
- color: rgb(var(--surface-default-card-foreground-base));
1207
- }
1208
- .studio-overlay .studio-gallery-card-hit:focus-visible {
1209
- outline: 2px solid #797979;
1210
- outline-offset: 4px;
1211
- }
1212
- .studio-gallery-card-title {
1213
- font:
1214
- 500 11px "Inter Variable",
1215
- Inter,
1216
- sans-serif;
1217
- color: rgb(var(--surface-default-foreground-base));
1218
- }
1219
- .studio-gallery-demo {
1220
- position: relative;
1221
- min-width: 0;
1222
- }
1223
- .studio-gallery-card .studio-gallery-demo {
1224
- pointer-events: none;
1225
- }
1226
-
1227
- /* Zoomed component */
1228
- .studio-gallery-zoom {
1229
- display: flex;
1230
- flex-direction: column;
1231
- gap: 14px;
1232
- animation: studio-zoom-in 0.2s ease-out;
1233
- }
1234
- @keyframes studio-zoom-in {
1235
- from {
1236
- opacity: 0;
1237
- }
1238
- }
1239
- .studio-gallery-zoom-bar {
1240
- display: flex;
1241
- align-items: center;
1242
- gap: 10px;
1243
- font:
1244
- 600 11px "Inter Variable",
1245
- Inter,
1246
- sans-serif;
1247
- color: rgb(var(--surface-default-card-foreground-base));
1248
- }
1249
- .studio-gallery-back {
1250
- display: inline-flex;
1251
- align-items: center;
1252
- gap: 5px;
1253
- padding: 5px 9px;
1254
- border: 1px solid #e5e5e5;
1255
- border-radius: 6px;
1256
- background: #fff;
1257
- color: #6a6a6a;
1258
- font:
1259
- 400 11px "Inter Variable",
1260
- Inter,
1261
- sans-serif;
1262
- cursor: pointer;
1263
- }
1264
- .studio-gallery-back:hover {
1265
- background: #f7f7f7;
1266
- color: #454545;
1267
- }
1268
- .studio-gallery-zoom-stage {
1269
- display: flex;
1270
- justify-content: center;
1271
- padding: 24px 0;
1272
- }
1273
-
1274
- /* Inspector */
1275
- .studio-inspect-stage {
1276
- position: relative;
1277
- }
1278
- .studio-inspect-layer {
1279
- position: absolute;
1280
- inset: 0;
1281
- pointer-events: none;
1282
- }
1283
- .studio-inspect-outline {
1284
- position: absolute;
1285
- outline: 1px dashed #2f7fd6;
1286
- outline-offset: 0;
1287
- }
1288
- .studio-inspect-region {
1289
- position: absolute;
1290
- padding: 0;
1291
- border: 0;
1292
- pointer-events: auto;
1293
- cursor: pointer;
1294
- opacity: 0.55;
1295
- transition: opacity 0.1s ease;
1296
- }
1297
- .studio-inspect-region:hover,
1298
- .studio-inspect-region.is-active {
1299
- opacity: 0.85;
1300
- }
1301
- .studio-inspect-region.is-padding {
1302
- background: #93c47d;
1303
- }
1304
- .studio-inspect-region.is-gap {
1305
- background: repeating-linear-gradient(45deg, #fb923c 0 3px, #fed7aa 3px 6px);
1306
- }
1307
- .studio-inspect-region.is-radius {
1308
- background: #f0a35e;
1309
- border-radius: 50%;
1310
- }
1311
- .studio-overlay .studio-inspect-region:focus-visible {
1312
- outline: 2px solid #1d5fa8;
1313
- outline-offset: 0;
1314
- opacity: 0.9;
1315
- }
1316
- .studio-inspect-label {
1317
- position: absolute;
1318
- z-index: 1;
1319
- max-width: 220px;
1320
- padding: 3px 7px;
1321
- border-radius: 4px;
1322
- background: #272727;
1323
- color: #fff;
1324
- font:
1325
- 400 11px "Inter Variable",
1326
- Inter,
1327
- sans-serif;
1328
- white-space: nowrap;
1329
- overflow: hidden;
1330
- text-overflow: ellipsis;
1331
- pointer-events: none;
1332
- }
1333
- .studio-inspect-label strong {
1334
- font-weight: 600;
1335
- text-transform: capitalize;
1336
- }
1337
- .studio-inspect-label.is-padding strong {
1338
- color: #b9e0a5;
1339
- }
1340
- .studio-inspect-label.is-gap strong {
1341
- color: #fed7aa;
1342
- }
1343
- .studio-inspect-label.is-radius strong {
1344
- color: #f6c08f;
1345
- }
1346
- .studio-inspect-hint {
1347
- margin: 14px 0 0;
1348
- color: #8d8d8d;
1349
- font:
1350
- 400 11px "Inter Variable",
1351
- Inter,
1352
- sans-serif;
1353
- text-align: center;
1354
- }
1355
-
1356
- /* Token picked in the inspector */
1357
- .studio-token.is-highlighted {
1358
- background: #f1f1f1;
1359
- box-shadow: inset 3px 0 0 #797979;
1360
- animation: studio-token-flash 1.2s ease-out;
1361
- }
1362
- .studio-token-list-inline .studio-token-group .studio-token.is-highlighted:hover {
1363
- background: #ececec;
1364
- }
1365
- @keyframes studio-token-flash {
1366
- 0%,
1367
- 30% {
1368
- background: #dfdfdf;
1369
- }
1370
- }
1371
- .studio-gallery-card.is-wide {
1372
- grid-column: 1 / -1;
1373
- }
1374
- .studio-gallery-card.is-wide .studio-gallery-demo,
1375
- .studio-gallery-zoom .studio-gallery-demo {
1376
- overflow-x: auto;
1377
- padding-bottom: 2px;
1378
- }
1379
-
1380
- .studio-cva-field {
1381
- display: grid;
1382
- gap: 4px;
1383
- margin: 8px 0;
1384
- }
1385
- .studio-cva-field > span {
1386
- font-size: 11px;
1387
- color: #6a6a6a;
1388
- overflow-wrap: anywhere;
1389
- }
1390
- .studio-cva-field input {
1391
- width: 100%;
1392
- min-width: 0;
1393
- height: 26px;
1394
- padding: 3px 7px;
1395
- border: 1px solid #e6e6e6;
1396
- border-radius: 5px;
1397
- background: white;
1398
- color: #414141;
1399
- font: 11px monospace;
1400
- }
1401
- .studio-cva-reset {
1402
- padding: 5px 9px;
1403
- border: 1px solid #e6e6e6;
1404
- border-radius: 5px;
1405
- background: white;
1406
- color: #414141;
1407
- font-size: 12px;
1408
- }
1409
-
1410
- .studio-context-preview {
1411
- padding: 16px;
1412
- border-radius: 10px;
1413
- background: rgb(var(--surface-default-background-base));
1414
- color: rgb(var(--surface-default-card-foreground-base));
1415
- font-family: var(--font-body);
1416
- }
1417
- .studio-context-preview > h3,
1418
- .studio-context-preview [data-testid="cva-preview"] > h3 {
1419
- font: 600 14px sans-serif;
1420
- text-transform: capitalize;
1421
- margin: 0 0 14px;
1422
- }
1423
- .studio-preview-controls {
1424
- display: grid;
1425
- grid-template-columns: repeat(2, minmax(0, 1fr));
1426
- gap: 8px 12px;
1427
- margin-bottom: 16px;
1428
- }
1429
- .studio-preview-controls label {
1430
- display: flex;
1431
- align-items: center;
1432
- justify-content: space-between;
1433
- gap: 5px;
1434
- min-width: 0;
1435
- font: 11px sans-serif;
1436
- }
1437
- .studio-preview-controls select {
1438
- min-width: 0;
1439
- max-width: 110px;
1440
- height: 26px;
1441
- border: 1px solid #e1e1e1;
1442
- border-radius: 4px;
1443
- background: white;
1444
- color: #414141;
1445
- }
1446
- .studio-cva-stage {
1447
- position: relative;
1448
- contain: layout paint;
1449
- isolation: isolate;
1450
- display: grid;
1451
- align-items: center;
1452
- justify-items: start;
1453
- min-height: 180px;
1454
- padding: 24px;
1455
- background: rgb(var(--surface-default-card-base));
1456
- border: 1px solid rgb(var(--border-default-subtle-base));
1457
- border-radius: 8px;
1458
- overflow: auto;
1459
- }
1460
- .studio-cva-stage > * {
1461
- max-width: 100%;
1462
- }
1463
- .studio-preview-caption {
1464
- margin-top: 10px;
1465
- font: 10px/1.5 sans-serif;
1466
- color: #919191;
1467
- }
1468
- .studio-token-samples {
1469
- display: grid;
1470
- gap: 18px;
1471
- }
1472
- .studio-token-sample > span {
1473
- display: block;
1474
- margin-bottom: 4px;
1475
- font: 11px sans-serif;
1476
- text-transform: capitalize;
1477
- }
1478
- .studio-token-specimen {
1479
- overflow-wrap: anywhere;
1480
- }
1481
-
1482
- /* Shades generator for base palette groups; its group gets top padding so the panel clears the header row. */
1483
- .studio-token-group > div:has(> .studio-shades) {
1484
- padding-top: 10px;
1485
- }
1486
- .studio-palette-actions {
1487
- display: flex;
1488
- gap: 6px;
1489
- margin-left: auto;
1490
- }
1491
- .studio-token-group legend:has(.studio-shades-toggle) {
1492
- display: flex;
1493
- align-items: center;
1494
- width: 100%;
1495
- box-sizing: border-box;
1496
- }
1497
- .studio-shades-toggle {
1498
- display: inline-flex;
1499
- align-items: center;
1500
- gap: 4px;
1501
- padding: 3px 8px;
1502
- border: 1px solid #e3e3e3;
1503
- border-radius: 5px;
1504
- background: #fff;
1505
- color: #525252;
1506
- font-size: 10px;
1507
- font-weight: 550;
1508
- text-transform: none;
1509
- }
1510
- .studio-shades {
1511
- display: flex;
1512
- flex-direction: column;
1513
- gap: 12px;
1514
- margin: 0 10px 10px;
1515
- padding: 10px;
1516
- border: 1px solid #e3e3e3;
1517
- border-radius: 8px;
1518
- background: #fbfbfb;
1519
- }
1520
- .studio-shades-input {
1521
- display: flex;
1522
- align-items: center;
1523
- gap: 8px;
1524
- }
1525
- .studio-shades-input label {
1526
- font-size: 11px;
1527
- font-weight: 550;
1528
- white-space: nowrap;
1529
- }
1530
- .studio-shades-input .studio-token-input {
1531
- align-items: center;
1532
- gap: 4px;
1533
- max-width: 140px;
1534
- padding-left: 8px;
1535
- border: 1px solid #e5e5e5;
1536
- border-radius: 5px;
1537
- background: #fff;
1538
- color: #939393;
1539
- }
1540
- .studio-shades-input .studio-token-input input {
1541
- width: 100%;
1542
- border: 0;
1543
- padding: 6px 6px 6px 0;
1544
- outline: none;
1545
- font-family: ui-monospace, monospace;
1546
- text-transform: uppercase;
1547
- }
1548
- /* Compact actions share the base color row to save vertical space. */
1549
- .studio-shades-actions {
1550
- display: flex;
1551
- gap: 6px;
1552
- margin-left: auto;
1553
- }
1554
- .studio-shades-actions button {
1555
- padding: 4px 8px;
1556
- border-radius: 5px;
1557
- font-size: 10px;
1558
- line-height: 1.3;
1559
- }
1560
- .studio-shades-actions button:not(.studio-primary) {
1561
- border: 1px solid #e7e7e7;
1562
- background: #fff;
1563
- color: #717171;
1564
- }
1565
- .studio-shades-actions .studio-primary:disabled {
1566
- opacity: 0.5;
1567
- }
1568
- /* Global rounding stepper at the top of the Radius section. */
1569
- .studio-rounding {
1570
- display: flex;
1571
- align-items: center;
1572
- gap: 10px;
1573
- margin-bottom: 12px;
1574
- padding: 10px;
1575
- border: 1px solid #e3e3e3;
1576
- border-radius: 8px;
1577
- background: #fbfbfb;
1578
- }
1579
- .studio-rounding-preview {
1580
- flex: none;
1581
- width: 22px;
1582
- height: 22px;
1583
- border-top: 2px solid #393939;
1584
- border-left: 2px solid #393939;
1585
- box-sizing: border-box;
1586
- transition: border-radius 150ms ease;
1587
- }
1588
- .studio-scale-preview-spacing {
1589
- display: flex;
1590
- justify-content: center;
1591
- border: 0;
1592
- transition: gap 150ms ease;
1593
- }
1594
- .studio-scale-preview-spacing i {
1595
- width: 6px;
1596
- border-radius: 2px;
1597
- background: #393939;
1598
- }
1599
- .studio-scale-preview-sizing {
1600
- width: 16px;
1601
- height: 16px;
1602
- margin: 3px;
1603
- border: 2px solid #393939;
1604
- border-radius: 3px;
1605
- transition: scale 150ms ease;
1606
- }
1607
- .studio-scale-preview-font-size {
1608
- display: flex;
1609
- align-items: center;
1610
- justify-content: center;
1611
- border: 0;
1612
- color: #393939;
1613
- font-weight: 600;
1614
- line-height: 1;
1615
- transition: font-size 150ms ease;
1616
- }
1617
- .studio-rounding-text {
1618
- display: flex;
1619
- flex-direction: column;
1620
- gap: 2px;
1621
- min-width: 0;
1622
- }
1623
- .studio-rounding-text strong {
1624
- font-size: 11px;
1625
- font-weight: 550;
1626
- }
1627
- .studio-rounding-text span {
1628
- color: #717171;
1629
- font-size: 10px;
1630
- }
1631
- .studio-rounding-stepper {
1632
- display: flex;
1633
- align-items: center;
1634
- margin-left: auto;
1635
- border: 1px solid #e5e5e5;
1636
- border-radius: 6px;
1637
- background: #fff;
1638
- }
1639
- .studio-rounding-stepper button {
1640
- display: inline-flex;
1641
- align-items: center;
1642
- justify-content: center;
1643
- width: 26px;
1644
- height: 26px;
1645
- padding: 0;
1646
- border: 0;
1647
- background: none;
1648
- color: #525252;
1649
- }
1650
- .studio-rounding-stepper button:disabled {
1651
- opacity: 0.35;
1652
- cursor: default;
1653
- }
1654
- .studio-rounding-stepper output {
1655
- min-width: 56px;
1656
- font-size: 11px;
1657
- font-weight: 550;
1658
- text-align: center;
1659
- font-variant-numeric: tabular-nums;
1660
- }
1661
- .studio-token-list-inline .studio-token-group .studio-palette-trigger .studio-palette-swatch {
1662
- margin: 0;
1663
- }
1664
-
1665
- /* Translucent colors: a half solid, half checkerboard swatch, hex value and opacity, as in Figma. */
1666
- .studio-alpha-color {
1667
- display: flex;
1668
- flex: 1;
1669
- align-items: center;
1670
- gap: 7px;
1671
- min-width: 0;
1672
- padding-left: 4px;
1673
- }
1674
- .studio-alpha-swatch {
1675
- position: relative;
1676
- flex-shrink: 0;
1677
- width: 18px;
1678
- height: 18px;
1679
- overflow: hidden;
1680
- border: 1px solid #dadada;
1681
- border-radius: 3px;
1682
- background:
1683
- linear-gradient(90deg, var(--swatch-solid) 50%, transparent 50%),
1684
- linear-gradient(var(--swatch-color), var(--swatch-color)),
1685
- repeating-conic-gradient(#cdcdcd 0 25%, #fff 0 50%) 0 0 / 8px 8px;
1686
- }
1687
- .studio-alpha-swatch input[type="color"] {
1688
- position: absolute;
1689
- inset: 0;
1690
- width: 100%;
1691
- height: 100%;
1692
- padding: 0;
1693
- border: 0;
1694
- opacity: 0;
1695
- cursor: pointer;
1696
- }
1697
- .studio-alpha-color .studio-alpha-hex {
1698
- flex: 1;
1699
- min-width: 0;
1700
- padding: 6px 0;
1701
- border: 0;
1702
- outline: none;
1703
- background: transparent;
1704
- font: inherit;
1705
- font-size: 11px;
1706
- text-transform: uppercase;
1707
- }
1708
- .studio-alpha-opacity {
1709
- display: flex;
1710
- flex-shrink: 0;
1711
- align-items: center;
1712
- width: 52px;
1713
- margin-right: 4px;
1714
- border-radius: 4px;
1715
- background: #f4f4f4;
1716
- }
1717
- .studio-alpha-opacity input {
1718
- width: 100%;
1719
- padding: 3px 6px;
1720
- border: 0;
1721
- outline: none;
1722
- background: transparent;
1723
- font: inherit;
1724
- font-size: 11px;
1725
- text-align: right;
1726
- }
1727
- .studio-alpha-opacity:focus-within,
1728
- .studio-alpha-color .studio-alpha-hex:focus-visible {
1729
- box-shadow: 0 0 0 2px #79797955;
1730
- }
1731
-
1732
- /* Layout preview: product cards built only from theme tokens, at the top of the gallery. */
1733
- .studio-layout-heading {
1734
- display: flex;
1735
- align-items: center;
1736
- justify-content: space-between;
1737
- gap: 8px;
1738
- margin-bottom: 8px;
1739
- }
1740
- .studio-layout-heading h3 {
1741
- margin: 0;
1742
- }
1743
- /* Full screen layouts fill the window at an app's real width, still inside the preview so draft tokens apply. */
1744
- .studio-layout-fullscreen {
1745
- position: fixed;
1746
- inset: 0;
1747
- z-index: 1000;
1748
- display: flex;
1749
- flex-direction: column;
1750
- overflow: auto;
1751
- background: var(--color-surface-default-background);
1752
- color: var(--color-surface-default-foreground);
1753
- animation: studio-zoom-in 0.2s ease-out;
1754
- }
1755
- .studio-layout-fullscreen-bar {
1756
- position: sticky;
1757
- top: 0;
1758
- z-index: 1;
1759
- display: flex;
1760
- align-items: center;
1761
- justify-content: space-between;
1762
- gap: 12px;
1763
- padding: 10px 24px;
1764
- border-bottom: 1px solid #e8e8e8;
1765
- background: #fafafa;
1766
- color: #393939;
1767
- font:
1768
- 600 11px "Inter Variable",
1769
- Inter,
1770
- sans-serif;
1771
- }
1772
- .studio-layout-fullscreen-stage {
1773
- width: 100%;
1774
- max-width: 1200px;
1775
- margin: 0 auto;
1776
- padding: 32px 24px;
1777
- box-sizing: border-box;
1778
- }
1779
- /* Cards share a row but grow to fit their content, so larger buttons or text widen the card instead of overflowing. */
1780
- .studio-layout-grid {
1781
- display: flex;
1782
- flex-wrap: wrap;
1783
- gap: 14px;
1784
- }
1785
- .studio-layout-card {
1786
- flex: 1 1 190px;
1787
- min-width: min-content;
1788
- box-sizing: border-box;
1789
- display: flex;
1790
- flex-direction: column;
1791
- gap: 10px;
1792
- min-height: 270px;
1793
- padding: 16px;
1794
- border-radius: var(--radius-modal-rounding-default);
1795
- font-family: var(--font-body);
1796
- font-size: var(--text-small);
1797
- line-height: var(--text-small--line-height);
1798
- }
1799
- .studio-layout-card p,
1800
- .studio-layout-card h4,
1801
- .studio-layout-card ul {
1802
- margin: 0;
1803
- }
1804
- .studio-layout-label {
1805
- font-weight: 600;
1806
- opacity: 0.7;
1807
- }
1808
- .studio-layout-card h4,
1809
- .studio-layout-amount,
1810
- .studio-layout-price {
1811
- font-family: var(--font-titles);
1812
- font-size: var(--text-h4);
1813
- line-height: var(--text-h4--line-height);
1814
- letter-spacing: var(--text-h4--letter-spacing);
1815
- font-weight: 600;
1816
- }
1817
- .studio-layout-card.is-soft {
1818
- border: 1px solid var(--color-border-default-subtle);
1819
- background: var(--color-surface-default-background);
1820
- color: var(--color-surface-default-card-foreground);
1821
- }
1822
- .studio-layout-tags {
1823
- display: flex;
1824
- flex-wrap: wrap;
1825
- gap: 6px;
1826
- }
1827
- .studio-layout-progress {
1828
- display: grid;
1829
- gap: 6px;
1830
- margin-top: auto;
1831
- }
1832
- .studio-layout-footer {
1833
- display: flex;
1834
- align-items: center;
1835
- justify-content: space-between;
1836
- gap: 8px;
1837
- }
1838
- .studio-layout-avatars {
1839
- display: flex;
1840
- }
1841
- .studio-layout-avatars span {
1842
- display: grid;
1843
- place-items: center;
1844
- width: 26px;
1845
- height: 26px;
1846
- margin-left: -6px;
1847
- border: 2px solid var(--color-surface-default-background);
1848
- border-radius: var(--radius-avatar-rounding-default);
1849
- background: var(--color-interactive-subtle-secondary-background);
1850
- color: var(--color-interactive-subtle-secondary-foreground);
1851
- font-size: 9px;
1852
- font-weight: 600;
1853
- }
1854
- .studio-layout-avatars span:first-child {
1855
- margin-left: 0;
1856
- }
1857
- .studio-layout-avatars span:nth-child(2) {
1858
- background: var(--color-interactive-primary-background);
1859
- color: var(--color-interactive-primary-foreground);
1860
- }
1861
- .studio-layout-card.is-stats {
1862
- gap: 2px;
1863
- border: 1px solid var(--color-border-default-subtle);
1864
- background: var(--color-surface-default-card);
1865
- color: var(--color-surface-default-card-foreground);
1866
- }
1867
- .studio-layout-amount {
1868
- margin-top: 4px;
1869
- font-size: var(--text-h3);
1870
- line-height: var(--text-h3--line-height);
1871
- }
1872
- .studio-layout-trend {
1873
- color: var(--color-surface-success-base);
1874
- font-weight: 600;
1875
- }
1876
- .studio-layout-chart {
1877
- display: flex;
1878
- flex: 1;
1879
- gap: 6px;
1880
- margin-top: 14px;
1881
- }
1882
- .studio-layout-bar {
1883
- display: flex;
1884
- flex: 1;
1885
- flex-direction: column;
1886
- justify-content: flex-end;
1887
- align-items: center;
1888
- gap: 6px;
1889
- }
1890
- .studio-layout-bar > span:first-child {
1891
- width: 100%;
1892
- max-width: 20px;
1893
- border-radius: var(--radius-global-rounding-s) var(--radius-global-rounding-s) 0 0;
1894
- background: color-mix(in srgb, var(--color-interactive-secondary-background) 30%, transparent);
1895
- }
1896
- .studio-layout-bar.is-today > span:first-child {
1897
- background: var(--color-interactive-primary-background);
1898
- }
1899
- .studio-layout-day {
1900
- opacity: 0.6;
1901
- }
1902
- /* The highlighted ("recommended") plan: a card outlined in the primary color, which reads in light and dark mode. */
1903
- .studio-layout-card.is-bold {
1904
- border: 2px solid var(--color-interactive-primary-background);
1905
- background: var(--color-surface-default-card);
1906
- color: var(--color-surface-default-card-foreground);
1907
- }
1908
- .studio-layout-price span {
1909
- margin-left: 2px;
1910
- font-family: var(--font-body);
1911
- font-size: var(--text-small);
1912
- font-weight: 400;
1913
- opacity: 0.7;
1914
- }
1915
- .studio-layout-features {
1916
- display: grid;
1917
- gap: 8px;
1918
- margin-top: 4px;
1919
- padding: 0;
1920
- list-style: none;
1921
- }
1922
- .studio-layout-features li {
1923
- display: flex;
1924
- align-items: center;
1925
- gap: 8px;
1926
- }
1927
- .studio-layout-features svg {
1928
- flex-shrink: 0;
1929
- color: var(--color-interactive-primary-background);
1930
- }
1931
- .studio-layout-card .studio-layout-cta {
1932
- margin-top: auto;
1933
- }
1934
- .studio-layout-card.is-form {
1935
- flex-basis: 100%;
1936
- container-type: inline-size;
1937
- min-height: 0;
1938
- gap: 14px;
1939
- border: 1px solid var(--color-border-default-subtle);
1940
- background: var(--color-surface-default-card);
1941
- color: var(--color-surface-default-card-foreground);
1942
- }
1943
- .studio-layout-card.is-invite {
1944
- flex-basis: 100%;
1945
- min-height: 0;
1946
- gap: 14px;
1947
- border: 1px solid var(--color-border-default-subtle);
1948
- background: var(--color-surface-default-card);
1949
- color: var(--color-surface-default-card-foreground);
1950
- }
1951
- /* The submit button sits on the input's baseline row, so mismatched control heights show at a glance. */
1952
- .studio-layout-invite {
1953
- display: flex;
1954
- flex-wrap: wrap;
1955
- align-items: flex-end;
1956
- gap: 8px;
1957
- }
1958
- .studio-layout-invite > :first-child {
1959
- flex: 1 1 200px;
1960
- }
1961
- .studio-layout-invite-actions {
1962
- display: flex;
1963
- flex-wrap: wrap;
1964
- gap: 8px;
1965
- }
1966
- .studio-layout-card.is-settings {
1967
- flex-basis: 100%;
1968
- container-type: inline-size;
1969
- min-height: 0;
1970
- gap: 14px;
1971
- border: 1px solid var(--color-border-default-subtle);
1972
- background: var(--color-surface-default-card);
1973
- color: var(--color-surface-default-card-foreground);
1974
- }
1975
- /* Top navigation spans the card edge to edge, above the breadcrumbs. */
1976
- .studio-layout-nav {
1977
- display: flex;
1978
- flex-wrap: wrap;
1979
- align-items: center;
1980
- gap: 8px 16px;
1981
- margin: -16px -16px 0;
1982
- padding: 10px 16px;
1983
- border-bottom: 1px solid var(--color-border-default-subtle);
1984
- }
1985
- .studio-layout-brand {
1986
- display: inline-flex;
1987
- align-items: center;
1988
- gap: 8px;
1989
- font-family: var(--font-titles);
1990
- font-size: var(--text-lead);
1991
- font-weight: 700;
1992
- }
1993
- .studio-layout-brand > span {
1994
- display: grid;
1995
- place-items: center;
1996
- width: 26px;
1997
- height: 26px;
1998
- border-radius: var(--radius-global-rounding-s);
1999
- background: var(--color-interactive-primary-background);
2000
- color: var(--color-interactive-primary-foreground);
2001
- font-size: var(--text-small);
2002
- }
2003
- .studio-layout-nav-links {
2004
- display: flex;
2005
- flex-wrap: wrap;
2006
- gap: 4px;
2007
- }
2008
- .studio-layout-nav-actions {
2009
- display: flex;
2010
- align-items: center;
2011
- gap: 8px;
2012
- margin-left: auto;
2013
- }
2014
- .studio-layout-nav-actions > :first-child {
2015
- width: 200px;
2016
- }
2017
- .studio-layout-nav-avatar {
2018
- display: grid;
2019
- place-items: center;
2020
- width: 32px;
2021
- height: 32px;
2022
- border-radius: var(--radius-avatar-rounding-default);
2023
- background: var(--color-interactive-subtle-secondary-background);
2024
- color: var(--color-interactive-subtle-secondary-foreground);
2025
- font-size: var(--text-small);
2026
- font-weight: 600;
2027
- }
2028
- /* Menu beside the form, stacking above it in narrow previews. */
2029
- .studio-layout-settings {
2030
- display: grid;
2031
- grid-template-columns: minmax(160px, 200px) minmax(0, 1fr);
2032
- gap: 24px;
2033
- align-items: start;
2034
- }
2035
- @container (max-width: 560px) {
2036
- .studio-layout-settings {
2037
- grid-template-columns: minmax(0, 1fr);
2038
- }
2039
- }
2040
- .studio-layout-menu {
2041
- display: flex;
2042
- flex-direction: column;
2043
- overflow: hidden;
2044
- border: 1px solid var(--color-border-default-subtle);
2045
- border-radius: var(--radius-list-rounding-dropdown);
2046
- }
2047
- .studio-layout-menu button {
2048
- width: 100%;
2049
- font: inherit;
2050
- text-align: left;
2051
- }
2052
- /* The current page uses the menu's highlighted (open) item colors. */
2053
- .studio-layout-menu button[aria-current="page"] {
2054
- background: var(--color-interactive-primary-background);
2055
- color: var(--color-interactive-primary-foreground);
2056
- }
2057
- .studio-layout-menu-label {
2058
- display: inline-flex;
2059
- align-items: center;
2060
- gap: inherit;
2061
- }
2062
- .studio-layout-muted {
2063
- margin-top: 2px;
2064
- opacity: 0.7;
2065
- }
2066
- .studio-layout-form {
2067
- display: grid;
2068
- grid-template-columns: repeat(2, minmax(0, 1fr));
2069
- gap: 14px 16px;
2070
- align-items: start;
2071
- }
2072
- .studio-layout-form-wide {
2073
- grid-column: 1 / -1;
2074
- }
2075
- @container (max-width: 440px) {
2076
- .studio-layout-form {
2077
- grid-template-columns: minmax(0, 1fr);
2078
- }
2079
- }
2080
- .studio-layout-form-footer {
2081
- display: flex;
2082
- flex-wrap: wrap;
2083
- grid-column: 1 / -1;
2084
- align-items: center;
2085
- justify-content: space-between;
2086
- gap: 12px;
2087
- }
2088
- .studio-layout-form-actions {
2089
- display: flex;
2090
- gap: 8px;
2091
- }
2092
-
2093
- .studio-token-list-rows .studio-type-fields {
2094
- padding: 12px var(--studio-editor-pad) 14px;
2095
- border-bottom: 1px solid var(--studio-cell-line);
2096
- }
2097
- .studio-shades-toggle:disabled {
2098
- opacity: 0.45;
2099
- cursor: default;
2100
- }
2101
- /* Icon-only reset, last in the palette header row. */
2102
- .studio-palette-reset {
2103
- display: grid;
2104
- place-items: center;
2105
- /* Same width as the row reset column, and flush right so the icons line up. */
2106
- width: 32px;
2107
- margin-right: calc(-1 * var(--studio-editor-pad));
2108
- height: 22px;
2109
- padding: 0;
2110
- border: 0;
2111
- border-radius: 4px;
2112
- background: transparent;
2113
- color: #828282;
2114
- cursor: pointer;
2115
- }
2116
- .studio-palette-reset:hover:not(:disabled) {
2117
- color: #393939;
2118
- }
2119
- .studio-palette-reset:disabled {
2120
- opacity: 0.4;
2121
- cursor: default;
2122
- }
2123
- .studio-palette-reset:focus-visible {
2124
- outline: 2px solid #797979;
2125
- outline-offset: 1px;
2126
- }
2127
-
2128
- /* Font roles: picker cards for heading and body fonts, above the font families they choose from. */
2129
- .studio-font-roles {
2130
- display: grid;
2131
- gap: 8px;
2132
- padding: 12px 0 4px;
2133
- }
2134
- .studio-font-role {
2135
- position: relative;
2136
- display: flex;
2137
- align-items: center;
2138
- gap: 12px;
2139
- padding: 10px 14px;
2140
- border: 1px solid #e5e5e5;
2141
- border-radius: 10px;
2142
- background: #fff;
2143
- }
2144
- .studio-font-role:hover {
2145
- border-color: #d0d0d0;
2146
- background: #fafafa;
2147
- }
2148
- .studio-font-role:has(select:focus-visible) {
2149
- outline: 2px solid #797979;
2150
- outline-offset: 2px;
2151
- }
2152
- .studio-font-role-text {
2153
- display: flex;
2154
- flex: 1;
2155
- flex-direction: column;
2156
- gap: 2px;
2157
- min-width: 0;
2158
- }
2159
- .studio-font-role-text span {
2160
- color: #8e8e8e;
2161
- font-size: 10px;
2162
- }
2163
- .studio-font-role-text strong {
2164
- overflow: hidden;
2165
- color: #2f2f2f;
2166
- font-size: 13px;
2167
- font-weight: 600;
2168
- text-overflow: ellipsis;
2169
- white-space: nowrap;
2170
- }
2171
- .studio-font-role-sample {
2172
- color: #2f2f2f;
2173
- font-size: 20px;
2174
- line-height: 1;
2175
- }
2176
- .studio-font-role-select {
2177
- position: absolute;
2178
- inset: 0;
2179
- width: 100%;
2180
- opacity: 0;
2181
- cursor: pointer;
2182
- }
2183
- /* The reset sits above the select so it stays clickable. */
2184
- .studio-font-role-reset {
2185
- position: relative;
2186
- z-index: 1;
2187
- display: grid;
2188
- place-items: center;
2189
- width: 24px;
2190
- height: 24px;
2191
- padding: 0;
2192
- border: 0;
2193
- border-radius: 4px;
2194
- background: transparent;
2195
- color: #7a7a7a;
2196
- cursor: pointer;
2197
- }
2198
- .studio-font-role-reset:hover {
2199
- background: #efefef;
2200
- }
2201
- .studio-font-divider {
2202
- margin: 16px 0 4px;
2203
- border: 0;
2204
- border-top: 1px solid #e5e5e5;
2205
- }
2206
- .studio-font-upload {
2207
- display: flex;
2208
- flex-wrap: wrap;
2209
- align-items: center;
2210
- gap: 6px 10px;
2211
- padding-top: 8px;
2212
- }
2213
- .studio-font-upload-note {
2214
- flex: 1 1 200px;
2215
- margin: 0;
2216
- color: #8e8e8e;
2217
- font-size: 10px;
2218
- line-height: 1.5;
2219
- }
2220
-
2221
- /* Presets: one row per preset with a palette strip, its description and an apply button. */
2222
- .studio-presets {
2223
- display: grid;
2224
- gap: 8px;
2225
- }
2226
- .studio-presets-intro {
2227
- margin: 0 0 4px;
2228
- color: #8e8e8e;
2229
- font-size: 11px;
2230
- line-height: 1.5;
2231
- }
2232
- .studio-preset {
2233
- display: flex;
2234
- align-items: center;
2235
- gap: 12px;
2236
- padding: 12px 14px;
2237
- border: 1px solid #e5e5e5;
2238
- border-radius: 10px;
2239
- background: #fff;
2240
- }
2241
- .studio-preset.is-active {
2242
- border-color: #b9b9b9;
2243
- background: #fafafa;
2244
- }
2245
- .studio-preset-swatches {
2246
- display: flex;
2247
- flex-shrink: 0;
2248
- overflow: hidden;
2249
- border: 1px solid #e5e5e5;
2250
- border-radius: 6px;
2251
- }
2252
- .studio-preset-swatches i {
2253
- width: 12px;
2254
- height: 28px;
2255
- }
2256
- .studio-preset-text {
2257
- display: flex;
2258
- flex: 1;
2259
- flex-direction: column;
2260
- gap: 2px;
2261
- min-width: 0;
2262
- }
2263
- .studio-preset-text strong {
2264
- color: #2f2f2f;
2265
- font-size: 12px;
2266
- font-weight: 600;
2267
- }
2268
- .studio-preset-text span {
2269
- color: #8e8e8e;
2270
- font-size: 10px;
2271
- line-height: 1.4;
2272
- }
2273
- .studio-preset button {
2274
- flex-shrink: 0;
2275
- padding: 7px 11px;
2276
- border: 1px solid #e5e5e5;
2277
- border-radius: 6px;
2278
- background: #fff;
2279
- color: #707070;
2280
- font-size: 11px;
2281
- }
2282
- .studio-preset button:disabled {
2283
- cursor: default;
2284
- }
2285
-
2286
- /* Full app screens (dashboard, sign-in) span the preview like the settings page. */
2287
- .studio-layout-card.is-screen {
2288
- flex-basis: 100%;
2289
- container-type: inline-size;
2290
- min-height: 0;
2291
- gap: 16px;
2292
- border: 1px solid var(--color-border-default-subtle);
2293
- background: var(--color-surface-default-card);
2294
- color: var(--color-surface-default-card-foreground);
2295
- }
2296
- .studio-layout-screen-heading {
2297
- display: flex;
2298
- flex-wrap: wrap;
2299
- align-items: flex-end;
2300
- justify-content: space-between;
2301
- gap: 12px;
2302
- }
2303
- .studio-layout-stats {
2304
- display: grid;
2305
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
2306
- gap: 12px;
2307
- }
2308
- .studio-layout-stat {
2309
- display: flex;
2310
- flex-direction: column;
2311
- gap: 4px;
2312
- padding: 14px;
2313
- border: 1px solid var(--color-border-default-subtle);
2314
- border-radius: var(--radius-global-rounding-m);
2315
- }
2316
- .studio-layout-card.is-login {
2317
- align-items: center;
2318
- padding: 40px 16px;
2319
- background: var(--color-surface-default-background);
2320
- }
2321
- .studio-layout-login {
2322
- display: flex;
2323
- flex-direction: column;
2324
- gap: 14px;
2325
- width: 100%;
2326
- max-width: 360px;
2327
- padding: 28px;
2328
- box-sizing: border-box;
2329
- border: 1px solid var(--color-border-default-subtle);
2330
- border-radius: var(--radius-modal-rounding-default);
2331
- background: var(--color-surface-default-card);
2332
- }
2333
- .studio-layout-login-row {
2334
- display: flex;
2335
- flex-wrap: wrap;
2336
- align-items: center;
2337
- justify-content: space-between;
2338
- gap: 8px;
2339
- }
2340
- .studio-layout-login-divider {
2341
- display: flex;
2342
- align-items: center;
2343
- gap: 10px;
2344
- opacity: 0.6;
2345
- }
2346
- .studio-layout-login-divider::before,
2347
- .studio-layout-login-divider::after {
2348
- content: "";
2349
- flex: 1;
2350
- border-top: 1px solid var(--color-border-default-subtle);
2351
- }
2352
- .studio-layout-login-footer {
2353
- text-align: center;
2354
- }
2355
-
2356
- /* The modal card holds a trigger; the dialog itself is portaled into the card so it inherits the preview's tokens. */
2357
- .studio-layout-card.is-modal {
2358
- min-height: 0;
2359
- justify-content: space-between;
2360
- border: 1px solid var(--color-border-default-subtle);
2361
- background: var(--color-surface-default-card);
2362
- color: var(--color-surface-default-card-foreground);
2363
- }
2364
- .studio-layout-modal {
2365
- display: flex;
2366
- flex-direction: column;
2367
- gap: 14px;
2368
- width: min(420px, 100%);
2369
- font-family: var(--font-body);
2370
- }
2371
- .studio-layout-modal h4 {
2372
- margin: 0;
2373
- font-family: var(--font-titles);
2374
- font-size: var(--text-h4);
2375
- line-height: var(--text-h4--line-height);
2376
- }
2377
- .studio-layout-modal p {
2378
- margin: 0;
2379
- }
2380
- .studio-layout-modal-actions {
2381
- display: flex;
2382
- justify-content: flex-end;
2383
- gap: 8px;
2384
- }
2385
-
2386
- .studio-window-grip {
2387
- position: absolute;
2388
- top: 20px;
2389
- right: 18px;
2390
- z-index: 5;
2391
- display: grid;
2392
- place-items: center;
2393
- border: 0;
2394
- padding: 4px;
2395
- background: transparent;
2396
- color: #858585;
2397
- touch-action: none;
2398
- flex-shrink: 0;
2399
- border-radius: 5px;
2400
- }
2401
- .studio-overlay .studio-window-grip {
2402
- cursor: grab;
2403
- }
2404
- .studio-overlay .studio-window-grip:active {
2405
- cursor: grabbing;
2406
- }
2407
- .studio-window-resize {
2408
- position: absolute;
2409
- z-index: 4;
2410
- display: block;
2411
- border: 0;
2412
- padding: 0;
2413
- background: transparent;
2414
- touch-action: none;
2415
- }
2416
- .studio-window-resize-n,
2417
- .studio-window-resize-s {
2418
- left: 12px;
2419
- right: 12px;
2420
- height: 6px;
2421
- }
2422
- .studio-window-resize-e,
2423
- .studio-window-resize-w {
2424
- top: 12px;
2425
- bottom: 12px;
2426
- width: 6px;
2427
- }
2428
- .studio-window-resize-n {
2429
- top: 0;
2430
- cursor: ns-resize !important;
2431
- }
2432
- .studio-window-resize-s {
2433
- bottom: 0;
2434
- cursor: ns-resize !important;
2435
- }
2436
- .studio-window-resize-e {
2437
- right: 0;
2438
- cursor: ew-resize !important;
2439
- }
2440
- .studio-window-resize-w {
2441
- left: 0;
2442
- cursor: ew-resize !important;
2443
- }
2444
- .studio-window-resize-ne,
2445
- .studio-window-resize-se,
2446
- .studio-window-resize-sw,
2447
- .studio-window-resize-nw {
2448
- width: 12px;
2449
- height: 12px;
2450
- }
2451
- .studio-window-resize-ne {
2452
- top: 0;
2453
- right: 0;
2454
- cursor: nesw-resize !important;
2455
- }
2456
- .studio-window-resize-se {
2457
- bottom: 0;
2458
- right: 0;
2459
- cursor: nwse-resize !important;
2460
- }
2461
- .studio-window-resize-sw {
2462
- bottom: 0;
2463
- left: 0;
2464
- cursor: nesw-resize !important;
2465
- }
2466
- .studio-window-resize-nw {
2467
- top: 0;
2468
- left: 0;
2469
- cursor: nwse-resize !important;
2470
- }
2471
- .studio-window-grip:focus-visible,
2472
- .studio-window-resize:focus-visible {
2473
- outline: 2px solid #555;
2474
- outline-offset: -2px;
2475
- }
2476
- @media (max-width: 600px) {
2477
- .studio-modal {
2478
- width: calc(100vw - 16px);
2479
- height: calc(100dvh - 16px);
2480
- }
2481
- }
2482
-
2483
- /* The grip belongs to the window, so scrolling or hiding the preview cannot hide it. */
2484
- .studio-preview-actions {
2485
- padding-right: 36px;
2486
- }
2487
- @container (max-width: 1050px) {
2488
- .studio-window-grip {
2489
- top: 18px;
2490
- }
2491
- }
2492
- @container (max-width: 800px) {
2493
- .studio-window-grip {
2494
- top: 10px;
2495
- right: 12px;
2496
- }
2497
- .studio-topbar {
2498
- padding-right: 48px;
2499
- }
2500
- .studio-preview-actions {
2501
- padding-right: 0;
2502
- }
2503
- }
2504
-
2505
- /* Resized windows must not inherit the gallery specimens' intrinsic minimum width. */
2506
- .studio-layout-card {
2507
- min-width: 0;
2508
- max-width: 100%;
2509
- }
2510
- .studio-gallery-grid {
2511
- grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
2512
- }
2513
- .studio-palette-actions {
2514
- flex-shrink: 0;
2515
- }
2516
- @container (max-width: 800px) {
2517
- .studio-dialog > .studio-topbar,
2518
- .studio-body > .studio-editor,
2519
- .studio-body > .studio-preview,
2520
- .studio-dialog > .studio-footer {
2521
- min-width: 0;
2522
- max-width: 100%;
2523
- box-sizing: border-box;
2524
- }
2525
- }
2526
- /* Wide specimens (tables and steppers) scroll within their own preview, never the window. */
2527
- .studio-layout-card.is-screen,
2528
- .studio-gallery-demo {
2529
- min-width: 0;
2530
- max-width: 100%;
2531
- overflow-x: auto;
2532
- }
2533
- @container (max-width: 800px) {
2534
- .studio-topbar {
2535
- position: sticky;
2536
- top: 0;
2537
- z-index: 4;
2538
- flex-shrink: 0;
2539
- }
2540
- .studio-nav .studio-preview-tab {
2541
- display: flex;
2542
- margin-left: auto;
2543
- }
2544
- .studio-dialog:not([data-compact-preview]) .studio-preview,
2545
- .studio-dialog[data-compact-preview] .studio-editor {
2546
- display: none;
2547
- }
2548
- }
2549
-
2550
- .studio-window-popout {
2551
- position: absolute;
2552
- top: 20px;
2553
- right: 50px;
2554
- z-index: 5;
2555
- display: grid;
2556
- place-items: center;
2557
- width: 28px;
2558
- height: 28px;
2559
- border: 0;
2560
- border-radius: 5px;
2561
- color: #858585;
2562
- background: transparent;
2563
- }
2564
- .studio-window-popout:focus-visible {
2565
- outline: 2px solid #555;
2566
- outline-offset: -2px;
2567
- }
2568
- .studio-preview-actions {
2569
- padding-right: 68px;
2570
- }
2571
- @container (max-width: 1050px) {
2572
- .studio-window-popout {
2573
- top: 18px;
2574
- }
2575
- }
2576
- @container (max-width: 800px) {
2577
- .studio-window-popout {
2578
- top: 10px;
2579
- right: 44px;
2580
- }
2581
- .studio-topbar {
2582
- padding-right: 80px;
2583
- }
2584
- .studio-preview-actions {
2585
- padding-right: 0;
2586
- }
2587
- }
2588
- [data-povio-ui-popout] .studio-overlay {
2589
- padding: 0;
2590
- }
2591
- [data-povio-ui-popout] .studio-modal-popout {
2592
- width: 100vw;
2593
- height: 100dvh;
2594
- border-radius: 0;
2595
- box-shadow: none;
2596
- }
2597
- .studio-modal-popout .studio-window-popout {
2598
- right: 18px;
2599
- }
2600
- .studio-modal-popout .studio-preview-actions {
2601
- padding-right: 36px;
2602
- }
2603
- @container (max-width: 800px) {
2604
- .studio-modal-popout .studio-topbar {
2605
- padding-right: 48px;
2606
- }
2607
- .studio-modal-popout .studio-preview-actions {
2608
- padding-right: 0;
2609
- }
2610
- }
2611
-
2612
- @container (max-width: 800px) {
2613
- .studio-topbar,
2614
- .studio-modal-popout .studio-topbar {
2615
- padding-right: 16px;
2616
- }
2617
- .studio-topbar-controls {
2618
- margin-right: 64px;
2619
- }
2620
- .studio-modal-popout .studio-topbar-controls {
2621
- margin-right: 32px;
2622
- }
2623
- }
2624
- .studio-palette-native {
2625
- position: relative;
2626
- }
2627
- .studio-palette-native > select {
2628
- position: absolute;
2629
- inset: 0;
2630
- width: 100%;
2631
- height: 100%;
2632
- opacity: 0;
2633
- cursor: pointer;
2634
- }
2635
- .studio-palette-native:focus-within {
2636
- outline: 2px solid #797979;
2637
- outline-offset: 2px;
2638
- border-radius: 4px;
2639
- }
2640
-
2641
- .studio-window-minimize {
2642
- position: absolute;
2643
- top: 20px;
2644
- right: 82px;
2645
- z-index: 5;
2646
- display: grid;
2647
- place-items: center;
2648
- width: 28px;
2649
- height: 28px;
2650
- padding: 0;
2651
- border: 0;
2652
- border-radius: 5px;
2653
- color: #858585;
2654
- background: transparent;
2655
- }
2656
- .studio-window-minimize:focus-visible {
2657
- outline: 2px solid #555;
2658
- outline-offset: -2px;
2659
- }
2660
- .studio-preview-actions {
2661
- padding-right: 100px;
2662
- }
2663
- .studio-modal-popout .studio-window-minimize {
2664
- right: 50px;
2665
- }
2666
- .studio-modal-popout .studio-preview-actions {
2667
- padding-right: 68px;
2668
- }
2669
- @container (max-width: 1050px) {
2670
- .studio-window-minimize {
2671
- top: 18px;
2672
- }
2673
- }
2674
- @container (max-width: 800px) {
2675
- .studio-window-minimize {
2676
- top: 10px;
2677
- right: 76px;
2678
- }
2679
- .studio-topbar-controls {
2680
- margin-right: 96px;
2681
- }
2682
- .studio-modal-popout .studio-topbar-controls {
2683
- margin-right: 64px;
2684
- }
2685
- .studio-preview-actions,
2686
- .studio-modal-popout .studio-preview-actions {
2687
- padding-right: 0;
2688
- }
2689
- }
2690
- .studio-floating-launcher {
2691
- position: fixed;
2692
- z-index: 1000;
2693
- display: flex;
2694
- align-items: center;
2695
- gap: 10px;
2696
- padding: 12px 16px;
2697
- border: 1px solid #555;
2698
- border-radius: 999px;
2699
- background: #292929;
2700
- color: #fff;
2701
- box-shadow: 0 4px 16px #0003;
2702
- font:
2703
- 600 13px/1.4 "Inter Variable",
2704
- Inter,
2705
- sans-serif;
2706
- cursor: grab;
2707
- touch-action: none;
2708
- user-select: none;
2709
- }
2710
- .studio-floating-launcher:active {
2711
- cursor: grabbing;
2712
- }
2713
- .studio-floating-launcher:focus-visible {
2714
- outline: 2px solid #555;
2715
- outline-offset: 3px;
2716
- }
2717
-
2718
- /* Live-preview inspection keeps the canvas and property sidebar independently scrollable. */
2719
- .studio-preview:has(.studio-hover-inspector) {
2720
- display: flex;
2721
- flex-direction: column;
2722
- overflow: hidden;
2723
- min-height: 0;
2724
- }
2725
- .studio-preview-heading,
2726
- .studio-preview-note {
2727
- flex-shrink: 0;
2728
- }
2729
- .studio-hover-inspector {
2730
- display: grid;
2731
- grid-template-columns: minmax(0, 1fr);
2732
- grid-template-rows: auto minmax(0, 1fr);
2733
- grid-auto-rows: minmax(0, 1fr);
2734
- flex: 1;
2735
- min-width: 0;
2736
- min-height: 0;
2737
- gap: 16px;
2738
- container: studio-inspection / inline-size;
2739
- }
2740
- .studio-hover-inspector.has-inspector {
2741
- grid-template-columns: minmax(0, 1fr) 270px;
2742
- }
2743
- .studio-inspector-toolbar {
2744
- grid-column: 1 / -1;
2745
- display: flex;
2746
- align-items: center;
2747
- justify-content: space-between;
2748
- flex-wrap: wrap;
2749
- gap: 8px;
2750
- color: #8b8b8b;
2751
- font-size: 10px;
2752
- }
2753
- .studio-inspector-toolbar .studio-mode button {
2754
- padding: 4px 8px;
2755
- font-size: 10px;
2756
- }
2757
- .studio-inspector-canvas-shell {
2758
- position: relative;
2759
- min-width: 0;
2760
- min-height: 0;
2761
- height: 100%;
2762
- }
2763
- .studio-inspector-canvas {
2764
- height: 100%;
2765
- min-height: 0;
2766
- overflow: auto;
2767
- overscroll-behavior: contain;
2768
- }
2769
- .studio-hover-outline-layer {
2770
- position: absolute;
2771
- inset: 0;
2772
- overflow: hidden;
2773
- pointer-events: none;
2774
- z-index: 2;
2775
- }
2776
- .studio-hover-outline {
2777
- position: absolute;
2778
- border: 1px solid #8b5cf6;
2779
- box-shadow: 0 0 0 1px #8b5cf633;
2780
- }
2781
- .studio-hover-outline > span {
2782
- position: absolute;
2783
- top: 0;
2784
- left: 0;
2785
- transform: translateY(-100%);
2786
- max-width: 280px;
2787
- padding: 2px 5px;
2788
- border-radius: 3px 3px 0 0;
2789
- background: #7c3aed;
2790
- color: #fff;
2791
- font:
2792
- 10px/1.5 "Inter Variable",
2793
- sans-serif;
2794
- white-space: nowrap;
2795
- }
2796
- .studio-inspector-panel {
2797
- grid-column: 2;
2798
- position: relative;
2799
- align-self: stretch;
2800
- height: 100%;
2801
- min-width: 0;
2802
- min-height: 0;
2803
- overflow: auto;
2804
- box-sizing: border-box;
2805
- border: 1px solid #dedde4;
2806
- border-radius: 10px;
2807
- background: #fff;
2808
- color: #292730;
2809
- font:
2810
- 11px/1.5 "Inter Variable",
2811
- Inter,
2812
- sans-serif;
2813
- overscroll-behavior: contain;
2814
- }
2815
- .studio-inspector-panel > header {
2816
- position: sticky;
2817
- top: 0;
2818
- z-index: 1;
2819
- display: flex;
2820
- align-items: center;
2821
- gap: 4px;
2822
- padding: 9px 12px;
2823
- border-bottom: 1px solid #efedf3;
2824
- background: #fff;
2825
- }
2826
- .studio-inspector-panel > header > strong {
2827
- flex: 1;
2828
- font-size: 11px;
2829
- }
2830
- .studio-inspector-panel button {
2831
- border: 0;
2832
- border-radius: 4px;
2833
- background: transparent;
2834
- color: #716c7d;
2835
- cursor: pointer;
2836
- }
2837
- .studio-inspector-panel > header button {
2838
- display: grid;
2839
- place-items: center;
2840
- padding: 5px;
2841
- }
2842
- .studio-inspector-panel button[aria-pressed="true"] {
2843
- background: #ede9fe;
2844
- color: #7c3aed;
2845
- }
2846
- .studio-inspector-panel button:focus-visible {
2847
- outline: 2px solid #8b5cf6;
2848
- outline-offset: 1px;
2849
- }
2850
- .studio-inspector-panel section {
2851
- border-top: 1px solid #efedf3;
2852
- padding: 10px 12px;
2853
- }
2854
- .studio-inspector-panel h3 {
2855
- margin: 0 0 7px;
2856
- font-size: 9px;
2857
- font-weight: 600;
2858
- color: #928a9d;
2859
- text-transform: uppercase;
2860
- letter-spacing: 0.6px;
2861
- }
2862
- .studio-inspector-section-heading {
2863
- display: flex;
2864
- align-items: center;
2865
- justify-content: space-between;
2866
- margin-bottom: 10px;
2867
- }
2868
- .studio-inspector-section-heading h3 {
2869
- margin: 0;
2870
- }
2871
- .studio-inspector-section-heading > span {
2872
- padding: 1px 5px;
2873
- border-radius: 4px;
2874
- background: #f4f4f4;
2875
- color: #777;
2876
- font-size: 10px;
2877
- }
2878
- .studio-inspector-panel dl {
2879
- margin: 0;
2880
- }
2881
- .studio-inspector-panel dl > div {
2882
- display: grid;
2883
- grid-template-columns: 85px minmax(0, 1fr);
2884
- gap: 6px;
2885
- padding: 3px 0;
2886
- }
2887
- .studio-inspector-panel dt {
2888
- color: #817b8b;
2889
- }
2890
- .studio-inspector-panel dd {
2891
- display: flex;
2892
- flex-wrap: wrap;
2893
- align-items: center;
2894
- gap: 4px;
2895
- margin: 0;
2896
- min-width: 0;
2897
- overflow-wrap: anywhere;
2898
- }
2899
- .studio-inspector-panel dd > i {
2900
- width: 12px;
2901
- height: 12px;
2902
- border: 1px solid #0002;
2903
- border-radius: 3px;
2904
- flex-shrink: 0;
2905
- }
2906
- .studio-inspector-panel dd > button {
2907
- max-width: 100%;
2908
- padding: 2px 5px;
2909
- background: #f3effb;
2910
- color: #7752ae;
2911
- font-size: 9px;
2912
- text-align: left;
2913
- overflow-wrap: anywhere;
2914
- }
2915
- .studio-inspector-empty {
2916
- margin: 0;
2917
- padding: 16px 12px;
2918
- color: #89838e;
2919
- }
2920
- .studio-box-model {
2921
- margin: 0;
2922
- padding: 8px;
2923
- border-radius: 7px;
2924
- background: #fafafa;
2925
- color: #393939;
2926
- }
2927
- .studio-box-model figcaption {
2928
- margin-top: 6px;
2929
- text-align: center;
2930
- color: #8b8b8b;
2931
- font-size: 9px;
2932
- }
2933
- .studio-box-layer {
2934
- position: relative;
2935
- padding: 24px;
2936
- box-sizing: border-box;
2937
- font:
2938
- 10px/1.3 "Inter Variable",
2939
- sans-serif;
2940
- }
2941
- .studio-box-layer.is-position {
2942
- border: 1px dotted #b8b8b8;
2943
- }
2944
- .studio-box-layer.is-margin {
2945
- border: 1px dashed #b8b8b8;
2946
- }
2947
- .studio-box-layer.is-border {
2948
- border: 1px solid #b8b8b8;
2949
- }
2950
- .studio-box-layer.is-padding {
2951
- border: 1px dashed #a7a7a7;
2952
- background: #e9e9e9;
2953
- }
2954
- .studio-box-name {
2955
- position: absolute;
2956
- top: -7px;
2957
- left: 8px;
2958
- padding: 0 3px;
2959
- background: #fafafa;
2960
- color: #747474;
2961
- font-size: 9px;
2962
- }
2963
- .studio-box-layer.is-padding > .studio-box-name {
2964
- background: #e9e9e9;
2965
- }
2966
- .studio-box-value {
2967
- position: absolute;
2968
- font-variant-numeric: tabular-nums;
2969
- }
2970
- .studio-box-value.is-top {
2971
- top: 3px;
2972
- left: 50%;
2973
- transform: translateX(-50%);
2974
- }
2975
- .studio-box-value.is-bottom {
2976
- bottom: 3px;
2977
- left: 50%;
2978
- transform: translateX(-50%);
2979
- }
2980
- .studio-box-value.is-left {
2981
- left: 3px;
2982
- top: 50%;
2983
- transform: translateY(-50%);
2984
- }
2985
- .studio-box-value.is-right {
2986
- right: 3px;
2987
- top: 50%;
2988
- transform: translateY(-50%);
2989
- }
2990
- .studio-inspector-panel .studio-box-value {
2991
- padding: 0;
2992
- border-radius: 2px;
2993
- color: inherit;
2994
- line-height: 1.3;
2995
- font-size: 10px;
2996
- }
2997
- .studio-inspector-panel button.studio-box-value[data-token] {
2998
- text-decoration: underline dotted;
2999
- text-underline-offset: 2px;
3000
- }
3001
- .studio-box-radius {
3002
- position: absolute;
3003
- padding: 1px 2px;
3004
- border-radius: 3px;
3005
- background: #f5f5f5;
3006
- color: #777;
3007
- font-size: 8px;
3008
- line-height: 1;
3009
- }
3010
- .studio-box-radius.is-topLeft {
3011
- top: 3px;
3012
- left: 3px;
3013
- }
3014
- .studio-box-radius.is-topRight {
3015
- top: 3px;
3016
- right: 3px;
3017
- }
3018
- .studio-box-radius.is-bottomLeft {
3019
- bottom: 3px;
3020
- left: 3px;
3021
- }
3022
- .studio-box-radius.is-bottomRight {
3023
- bottom: 3px;
3024
- right: 3px;
3025
- }
3026
- .studio-inspector-panel .studio-box-radius {
3027
- padding: 1px;
3028
- color: #777;
3029
- font-size: 8px;
3030
- line-height: 1;
3031
- }
3032
- .studio-inspector-panel button.studio-box-radius[data-token] {
3033
- text-decoration: underline dotted;
3034
- }
3035
- .studio-box-content {
3036
- min-width: 0;
3037
- padding: 5px 2px;
3038
- border: 1px solid #b8b8b8;
3039
- background: #fafafa;
3040
- text-align: center;
3041
- font-variant-numeric: tabular-nums;
3042
- }
3043
- .studio-box-dimensions {
3044
- display: flex;
3045
- justify-content: center;
3046
- align-items: center;
3047
- flex-wrap: wrap;
3048
- gap: 2px;
3049
- font-size: 9px;
3050
- }
3051
- .studio-box-gaps {
3052
- display: flex;
3053
- justify-content: center;
3054
- margin-top: 12px;
3055
- padding: 12px;
3056
- border: 1px solid #e0e0e0;
3057
- border-radius: 5px;
3058
- }
3059
- .studio-gap-grid {
3060
- display: grid;
3061
- width: 130px;
3062
- max-width: 100%;
3063
- align-items: center;
3064
- justify-items: center;
3065
- }
3066
- .studio-gap-grid i {
3067
- width: 100%;
3068
- height: 100%;
3069
- box-sizing: border-box;
3070
- border: 1px solid #bdbdbd;
3071
- border-radius: 2px;
3072
- background: #e9e9e9;
3073
- }
3074
- .studio-gap-grid i:nth-child(1) {
3075
- grid-column: 1;
3076
- grid-row: 1;
3077
- }
3078
- .studio-gap-grid i:nth-child(2) {
3079
- grid-column: 3;
3080
- grid-row: 1;
3081
- }
3082
- .studio-gap-grid i:nth-child(3) {
3083
- grid-column: 1;
3084
- grid-row: 3;
3085
- }
3086
- .studio-gap-grid i:nth-child(4) {
3087
- grid-column: 3;
3088
- grid-row: 3;
3089
- }
3090
- .studio-gap-number {
3091
- color: #555;
3092
- font-size: 10px;
3093
- }
3094
- .studio-gap-number.is-column {
3095
- grid-column: 2;
3096
- grid-row: 1;
3097
- }
3098
- .studio-gap-number.is-row {
3099
- grid-column: 1;
3100
- grid-row: 2;
3101
- }
3102
- .studio-inspector-panel button.studio-gap-number[data-token] {
3103
- padding: 0;
3104
- text-decoration: underline dotted;
3105
- font-size: 10px;
3106
- }
3107
- .studio-box-layer.is-position,
3108
- .studio-box-layer.is-position .studio-box-layer {
3109
- padding: 16px;
3110
- }
3111
- @container studio-inspection (max-width: 620px) {
3112
- .studio-inspector-canvas-shell,
3113
- .studio-inspector-panel {
3114
- grid-column: 1 / -1;
3115
- }
3116
- .studio-inspector-canvas-shell {
3117
- grid-row: 2;
3118
- }
3119
- .studio-inspector-panel {
3120
- grid-row: 3;
3121
- }
3122
- }
3123
- @container (max-width: 800px) {
3124
- .studio-preview:has(.studio-hover-inspector) {
3125
- height: max(420px, calc(100dvh - 220px));
3126
- }
3127
- }
3128
- .studio-box-layer.is-border:has(.studio-box-radius) {
3129
- border-color: transparent;
3130
- }
3131
- .studio-box-layer.is-border:has(.studio-box-radius)::before {
3132
- content: "";
3133
- position: absolute;
3134
- inset: -3px;
3135
- border: 1px solid #b8b8b8;
3136
- border-radius: inherit;
3137
- pointer-events: none;
3138
- }
3139
- .studio-box-radius {
3140
- z-index: 1;
3141
- }
3142
- .studio-box-radius.is-topLeft {
3143
- top: 4px;
3144
- left: 4px;
3145
- }
3146
- .studio-box-radius.is-topRight {
3147
- top: 4px;
3148
- right: 4px;
3149
- }
3150
- .studio-box-radius.is-bottomLeft {
3151
- bottom: 4px;
3152
- left: 4px;
3153
- }
3154
- .studio-box-radius.is-bottomRight {
3155
- bottom: 4px;
3156
- right: 4px;
3157
- }
3158
-
3159
- .studio-measure-regions {
3160
- position: absolute;
3161
- inset: 0;
3162
- pointer-events: none;
3163
- }
3164
- .studio-measure-region {
3165
- position: absolute;
3166
- box-sizing: border-box;
3167
- background: #7c3aed88;
3168
- color: #4c1d95;
3169
- box-shadow:
3170
- inset 0 0 0 1px currentColor,
3171
- 0 0 0 1px #fff;
3172
- }
3173
- .studio-measure-region.is-margin {
3174
- background: #22c55e88;
3175
- color: #15803d;
3176
- }
3177
- .studio-measure-region.is-border {
3178
- background: #2563ebbf;
3179
- color: #1e40af;
3180
- }
3181
- .studio-measure-region.is-gap {
3182
- background: repeating-linear-gradient(45deg, #fb923c88 0 3px, #ea580cbf 3px 5px);
3183
- color: #c2410c;
3184
- }
3185
- .studio-measure-region.is-horizontal {
3186
- height: 1px !important;
3187
- border-top: 2px solid currentColor;
3188
- background: none;
3189
- }
3190
- .studio-measure-region.is-vertical {
3191
- width: 1px !important;
3192
- border-left: 2px solid currentColor;
3193
- background: none;
3194
- }
3195
- .studio-measure-region.is-horizontal::before,
3196
- .studio-measure-region.is-horizontal::after {
3197
- content: "";
3198
- position: absolute;
3199
- top: -4px;
3200
- height: 7px;
3201
- border-left: 2px solid currentColor;
3202
- }
3203
- .studio-measure-region.is-horizontal::before {
3204
- left: 0;
3205
- }
3206
- .studio-measure-region.is-horizontal::after {
3207
- right: 0;
3208
- }
3209
- .studio-measure-region.is-vertical::before,
3210
- .studio-measure-region.is-vertical::after {
3211
- content: "";
3212
- position: absolute;
3213
- left: -4px;
3214
- width: 7px;
3215
- border-top: 2px solid currentColor;
3216
- }
3217
- .studio-measure-region.is-vertical::before {
3218
- top: 0;
3219
- }
3220
- .studio-measure-region.is-vertical::after {
3221
- bottom: 0;
3222
- }
3223
- .studio-measure-region.is-corner {
3224
- background: none;
3225
- box-shadow: none;
3226
- }
3227
- .studio-measure-region.is-corner svg {
3228
- display: block;
3229
- width: 100%;
3230
- height: 100%;
3231
- overflow: visible;
3232
- }
3233
- .studio-measure-label {
3234
- position: absolute;
3235
- max-width: 220px;
3236
- padding: 3px 6px;
3237
- border-radius: 4px;
3238
- background: #6d28d9;
3239
- color: #fff;
3240
- font:
3241
- 10px/1.4 "Inter Variable",
3242
- sans-serif;
3243
- box-shadow:
3244
- 0 0 0 1px #fff,
3245
- 0 2px 6px #0004;
3246
- }
3247
- .studio-inspector-panel .studio-box-dimension-value {
3248
- padding: 0;
3249
- font: inherit;
3250
- font-size: 9px;
3251
- line-height: 1.3;
3252
- color: inherit;
3253
- }
3254
- .studio-inspector-panel .studio-gap-number {
3255
- padding: 0;
3256
- font-size: 10px;
3257
- }
3258
- .studio-box-model button[data-box-highlight]:hover,
3259
- .studio-box-model button[data-box-highlight]:focus-visible {
3260
- background: #ede9fe;
3261
- color: #6d28d9;
3262
- }
3263
-
3264
- .studio-measure-region.is-corner path {
3265
- stroke-width: 3px;
3266
- filter: drop-shadow(0 0 1px #fff);
3267
- }
3268
-
3269
- /* The canvas editor is a movable tool window; the workspace remains interactive. */
3270
- .studio-overlay.studio-overlay-floating {
3271
- background: transparent;
3272
- backdrop-filter: none;
3273
- pointer-events: none;
3274
- }
3275
- .studio-overlay-floating > .studio-modal {
3276
- pointer-events: auto;
3277
- box-shadow:
3278
- 0 16px 64px #17102030,
3279
- 0 0 0 1px #17102018;
3280
- }