@comfyorg/design-system 1.1.0 → 1.3.0-alpha.0

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 (509) hide show
  1. package/README.md +113 -10
  2. package/dist/accordion/PropertiesAccordionItem.vue.d.ts +34 -0
  3. package/dist/accordion/PropertiesAccordionItem.vue.js +62 -0
  4. package/dist/badge/Badge.vue.d.ts +49 -0
  5. package/dist/badge/Badge.vue.js +1 -0
  6. package/dist/badge/CreditBadge.vue.d.ts +6 -0
  7. package/dist/badge/CreditBadge.vue.js +21 -0
  8. package/dist/badge/badge.variants.d.ts +12 -0
  9. package/dist/button/Button.vue.d.ts +31 -0
  10. package/dist/button/Button.vue.js +1 -0
  11. package/dist/button-group/ButtonGroup.vue.d.ts +18 -0
  12. package/dist/button-group/ButtonGroup.vue.js +35 -0
  13. package/dist/button-group/IconGroup.vue.d.ts +16 -0
  14. package/dist/button-group/IconGroup.vue.js +13 -0
  15. package/dist/card/Card.vue.d.ts +19 -0
  16. package/dist/card/Card.vue.js +1 -0
  17. package/dist/card/CardFooter.vue.d.ts +17 -0
  18. package/dist/card/CardFooter.vue.js +1 -0
  19. package/dist/card/CardHeader.vue.d.ts +17 -0
  20. package/dist/card/CardHeader.vue.js +1 -0
  21. package/dist/card/CoachmarkCard.vue.d.ts +24 -0
  22. package/dist/card/CoachmarkCard.vue.js +55 -0
  23. package/dist/card/card.variants.d.ts +11 -0
  24. package/dist/chart/Chart.vue.d.ts +12 -0
  25. package/dist/chart/Chart.vue.js +177 -0
  26. package/dist/chart/__tests__/chartTestUtils.d.ts +3 -0
  27. package/dist/chart/useChart.d.ts +4 -0
  28. package/dist/checkbox/Checkbox.vue.d.ts +25 -0
  29. package/dist/checkbox/Checkbox.vue.js +47 -0
  30. package/dist/chip/Tag.vue.d.ts +61 -0
  31. package/dist/chip/Tag.vue.js +71 -0
  32. package/dist/chip/TagRemoveButton.vue.d.ts +18 -0
  33. package/dist/chip/TagRemoveButton.vue.js +1 -0
  34. package/dist/color-picker/ColorPicker.vue.d.ts +23 -0
  35. package/dist/color-picker/ColorPicker.vue.js +139 -0
  36. package/dist/color-picker/ColorPickerPanel.vue.d.ts +27 -0
  37. package/dist/color-picker/ColorPickerPanel.vue.js +1 -0
  38. package/dist/color-picker/ColorPickerSaturationValue.vue.d.ts +17 -0
  39. package/dist/color-picker/ColorPickerSaturationValue.vue.js +1 -0
  40. package/dist/color-picker/ColorPickerSlider.vue.d.ts +17 -0
  41. package/dist/color-picker/ColorPickerSlider.vue.js +1 -0
  42. package/dist/color-picker/types.d.ts +22 -0
  43. package/dist/color-picker/types.js +0 -0
  44. package/dist/color-picker/useColorPicker.d.ts +33 -0
  45. package/dist/common/CanvasBanner.vue.d.ts +23 -0
  46. package/dist/common/CanvasBanner.vue.js +21 -0
  47. package/dist/common/ContentDivider.vue.d.ts +7 -0
  48. package/dist/common/ContentDivider.vue.js +20 -0
  49. package/dist/common/CustomFormValue.vue.d.ts +6 -0
  50. package/dist/common/CustomFormValue.vue.js +26 -0
  51. package/dist/common/DotSpinner.vue.d.ts +7 -0
  52. package/dist/common/DotSpinner.vue.js +32 -0
  53. package/dist/common/EditableText.vue.d.ts +16 -0
  54. package/dist/common/EditableText.vue.js +71 -0
  55. package/dist/common/HighlightedText.vue.d.ts +8 -0
  56. package/dist/common/HighlightedText.vue.js +49 -0
  57. package/dist/common/LoadingOverlay.vue.d.ts +18 -0
  58. package/dist/common/LoadingOverlay.vue.js +39 -0
  59. package/dist/common/MarkdownText.vue.d.ts +6 -0
  60. package/dist/common/MarkdownText.vue.js +91 -0
  61. package/dist/common/MarqueeLine.vue.d.ts +13 -0
  62. package/dist/common/MarqueeLine.vue.js +11 -0
  63. package/dist/common/NoResultsPlaceholder.vue.d.ts +28 -0
  64. package/dist/common/NoResultsPlaceholder.vue.js +49 -0
  65. package/dist/common/NotificationPopup.vue.d.ts +28 -0
  66. package/dist/common/NotificationPopup.vue.js +63 -0
  67. package/dist/common/OverlayIcon.vue.d.ts +13 -0
  68. package/dist/common/OverlayIcon.vue.js +1 -0
  69. package/dist/common/SanitizedHtml.vue.d.ts +8 -0
  70. package/dist/common/SanitizedHtml.vue.js +58 -0
  71. package/dist/common/TextDivider.vue.d.ts +8 -0
  72. package/dist/common/TextDivider.vue.js +34 -0
  73. package/dist/common/TextTicker.vue.d.ts +17 -0
  74. package/dist/common/TextTicker.vue.js +51 -0
  75. package/dist/common/TextTickerMultiLine.vue.d.ts +6 -0
  76. package/dist/common/TextTickerMultiLine.vue.js +51 -0
  77. package/dist/common/UserAvatar.vue.d.ts +9 -0
  78. package/dist/common/UserAvatar.vue.js +45 -0
  79. package/dist/common/VerticalDivider.vue.d.ts +3 -0
  80. package/dist/common/VerticalDivider.vue.js +14 -0
  81. package/dist/common/VideoCompareSlider.vue.d.ts +24 -0
  82. package/dist/common/VideoCompareSlider.vue.js +139 -0
  83. package/dist/common/ViewportWidgetShell.vue.d.ts +27 -0
  84. package/dist/common/ViewportWidgetShell.vue.js +56 -0
  85. package/dist/common/VirtualGrid.vue.d.ts +38 -0
  86. package/dist/common/VirtualGrid.vue.js +105 -0
  87. package/dist/common/highlightQuery.d.ts +6 -0
  88. package/dist/common/textTickerUtils.d.ts +1 -0
  89. package/dist/components.css +44 -0
  90. package/dist/composables/useAttrsClass.d.ts +12 -0
  91. package/dist/composables/useAttrsClass.js +17 -0
  92. package/dist/composables/usePopoverSizing.d.ts +12 -0
  93. package/dist/composables/usePopoverSizing.js +17 -0
  94. package/dist/confirm/ConfirmBody.vue.d.ts +8 -0
  95. package/dist/confirm/ConfirmBody.vue.js +25 -0
  96. package/dist/confirm/ConfirmFooter.vue.d.ts +18 -0
  97. package/dist/confirm/ConfirmFooter.vue.js +53 -0
  98. package/dist/confirm/ConfirmHeader.vue.d.ts +7 -0
  99. package/dist/confirm/ConfirmHeader.vue.js +25 -0
  100. package/dist/content-card/CardBottom.vue.d.ts +16 -0
  101. package/dist/content-card/CardBottom.vue.js +17 -0
  102. package/dist/content-card/CardContainer.vue.d.ts +26 -0
  103. package/dist/content-card/CardContainer.vue.js +59 -0
  104. package/dist/content-card/CardTop.vue.d.ts +36 -0
  105. package/dist/content-card/CardTop.vue.js +70 -0
  106. package/dist/dialog/Dialog.vue.d.ts +21 -0
  107. package/dist/dialog/Dialog.vue.js +23 -0
  108. package/dist/dialog/DialogClose.vue.d.ts +13 -0
  109. package/dist/dialog/DialogClose.vue.js +1 -0
  110. package/dist/dialog/DialogContent.vue.d.ts +36 -0
  111. package/dist/dialog/DialogContent.vue.js +1 -0
  112. package/dist/dialog/DialogDescription.vue.d.ts +18 -0
  113. package/dist/dialog/DialogDescription.vue.js +31 -0
  114. package/dist/dialog/DialogFooter.vue.d.ts +17 -0
  115. package/dist/dialog/DialogFooter.vue.js +22 -0
  116. package/dist/dialog/DialogHeader.vue.d.ts +17 -0
  117. package/dist/dialog/DialogHeader.vue.js +22 -0
  118. package/dist/dialog/DialogMaximize.vue.d.ts +10 -0
  119. package/dist/dialog/DialogMaximize.vue.js +25 -0
  120. package/dist/dialog/DialogOverlay.vue.d.ts +8 -0
  121. package/dist/dialog/DialogOverlay.vue.js +1 -0
  122. package/dist/dialog/DialogPanel.vue.d.ts +18 -0
  123. package/dist/dialog/DialogPanel.vue.js +53 -0
  124. package/dist/dialog/DialogPortal.vue.d.ts +14 -0
  125. package/dist/dialog/DialogPortal.vue.js +1 -0
  126. package/dist/dialog/DialogTitle.vue.d.ts +18 -0
  127. package/dist/dialog/DialogTitle.vue.js +1 -0
  128. package/dist/dialog/Dialogue.vue.d.ts +22 -0
  129. package/dist/dialog/Dialogue.vue.js +56 -0
  130. package/dist/dialog/dialog.variants.d.ts +16 -0
  131. package/dist/dialog/dialog.variants.js +38 -0
  132. package/dist/dialog/types.d.ts +6 -0
  133. package/dist/dialog/types.js +0 -0
  134. package/dist/field/Field.vue.d.ts +19 -0
  135. package/dist/field/Field.vue.js +39 -0
  136. package/dist/field/FieldDescription.vue.d.ts +17 -0
  137. package/dist/field/FieldDescription.vue.js +22 -0
  138. package/dist/field/FieldError.vue.d.ts +21 -0
  139. package/dist/field/FieldError.vue.js +37 -0
  140. package/dist/field/FieldGroup.vue.d.ts +17 -0
  141. package/dist/field/FieldGroup.vue.js +22 -0
  142. package/dist/field/FieldLabel.vue.d.ts +17 -0
  143. package/dist/field/FieldLabel.vue.js +26 -0
  144. package/dist/field/FieldSwitch.vue.d.ts +16 -0
  145. package/dist/field/FieldSwitch.vue.js +43 -0
  146. package/dist/field/LayoutField.vue.d.ts +18 -0
  147. package/dist/field/LayoutField.vue.js +1 -0
  148. package/dist/field/ModelInfoField.vue.d.ts +18 -0
  149. package/dist/field/ModelInfoField.vue.js +16 -0
  150. package/dist/field/field.variants.d.ts +11 -0
  151. package/dist/hover-card/HoverCard.vue.d.ts +18 -0
  152. package/dist/hover-card/HoverCard.vue.js +24 -0
  153. package/dist/hover-card/HoverCardContent.vue.d.ts +18 -0
  154. package/dist/hover-card/HoverCardContent.vue.js +66 -0
  155. package/dist/hover-card/HoverCardTrigger.vue.d.ts +14 -0
  156. package/dist/hover-card/HoverCardTrigger.vue.js +21 -0
  157. package/dist/icon/ComfyLogo.vue.d.ts +9 -0
  158. package/dist/icon/ComfyLogo.vue.js +31 -0
  159. package/dist/icon/PuzzleIcon.vue.d.ts +8 -0
  160. package/dist/icon/PuzzleIcon.vue.js +38 -0
  161. package/dist/icon/TinyChevronIcon.vue.d.ts +6 -0
  162. package/dist/icon/TinyChevronIcon.vue.js +29 -0
  163. package/dist/icon/VerifiedIcon.vue.d.ts +8 -0
  164. package/dist/icon/VerifiedIcon.vue.js +30 -0
  165. package/dist/input/Input.vue.d.ts +21 -0
  166. package/dist/input/Input.vue.js +1 -0
  167. package/dist/input/PasswordInput.vue.d.ts +18 -0
  168. package/dist/input/PasswordInput.vue.js +66 -0
  169. package/dist/input-group/InputGroup.vue.d.ts +17 -0
  170. package/dist/input-group/InputGroup.vue.js +1 -0
  171. package/dist/input-group/InputGroupAddon.vue.d.ts +19 -0
  172. package/dist/input-group/InputGroupAddon.vue.js +1 -0
  173. package/dist/input-group/InputGroupButton.vue.d.ts +21 -0
  174. package/dist/input-group/InputGroupButton.vue.js +1 -0
  175. package/dist/input-group/InputGroupInput.vue.d.ts +15 -0
  176. package/dist/input-group/InputGroupInput.vue.js +1 -0
  177. package/dist/input-group/inputGroup.variants.d.ts +21 -0
  178. package/dist/input-group/inputGroup.variants.js +21 -0
  179. package/dist/knob/Knob.vue.d.ts +19 -0
  180. package/dist/knob/Knob.vue.js +122 -0
  181. package/dist/label/Label.vue.d.ts +18 -0
  182. package/dist/label/Label.vue.js +1 -0
  183. package/dist/layout/BaseModalLayout.vue.d.ts +67 -0
  184. package/dist/layout/BaseModalLayout.vue.js +198 -0
  185. package/dist/media/AudioPreview.vue.d.ts +6 -0
  186. package/dist/media/AudioPreview.vue.js +26 -0
  187. package/dist/media/ImageLightbox.vue.d.ts +17 -0
  188. package/dist/media/ImageLightbox.vue.js +76 -0
  189. package/dist/media/MediaTitle.vue.d.ts +6 -0
  190. package/dist/media/MediaTitle.vue.js +17 -0
  191. package/dist/media/Video.vue.d.ts +28 -0
  192. package/dist/media/Video.vue.js +100 -0
  193. package/dist/media/VideoPlayOverlay.vue.d.ts +8 -0
  194. package/dist/media/VideoPlayOverlay.vue.js +26 -0
  195. package/dist/media/VideoPreview.vue.d.ts +7 -0
  196. package/dist/media/VideoPreview.vue.js +30 -0
  197. package/dist/media/ZoomPane.vue.d.ts +17 -0
  198. package/dist/media/ZoomPane.vue.js +60 -0
  199. package/dist/menu/ContextMenu.vue.d.ts +31 -0
  200. package/dist/menu/ContextMenu.vue.js +50 -0
  201. package/dist/menu/ContextMenuContent.vue.d.ts +32 -0
  202. package/dist/menu/ContextMenuContent.vue.js +1 -0
  203. package/dist/menu/Menu.vue.d.ts +41 -0
  204. package/dist/menu/Menu.vue.js +77 -0
  205. package/dist/menu/MenuAction.vue.d.ts +26 -0
  206. package/dist/menu/MenuAction.vue.js +1 -0
  207. package/dist/menu/MenuContent.vue.d.ts +35 -0
  208. package/dist/menu/MenuContent.vue.js +1 -0
  209. package/dist/menu/MenuItem.vue.d.ts +22 -0
  210. package/dist/menu/MenuItem.vue.js +33 -0
  211. package/dist/menu/MenuItemContent.vue.d.ts +8 -0
  212. package/dist/menu/MenuItemContent.vue.js +1 -0
  213. package/dist/menu/MenuItems.vue.d.ts +32 -0
  214. package/dist/menu/MenuItems.vue.js +1 -0
  215. package/dist/menu/MenuRadioGroup.vue.d.ts +26 -0
  216. package/dist/menu/MenuRadioGroup.vue.js +1 -0
  217. package/dist/menu/MenuRadioItem.vue.d.ts +22 -0
  218. package/dist/menu/MenuRadioItem.vue.js +1 -0
  219. package/dist/menu/MenuSeparator.vue.d.ts +8 -0
  220. package/dist/menu/MenuSeparator.vue.js +1 -0
  221. package/dist/menu/MenuSub.vue.d.ts +20 -0
  222. package/dist/menu/MenuSub.vue.js +1 -0
  223. package/dist/menu/MenuSubContent.vue.d.ts +36 -0
  224. package/dist/menu/MenuSubContent.vue.js +1 -0
  225. package/dist/menu/MenuSubTrigger.vue.d.ts +18 -0
  226. package/dist/menu/MenuSubTrigger.vue.js +1 -0
  227. package/dist/menu/MenuSubmenu.vue.d.ts +21 -0
  228. package/dist/menu/MenuSubmenu.vue.js +1 -0
  229. package/dist/menu/menuAnchor.d.ts +4 -0
  230. package/dist/menu/menuAnchor.js +14 -0
  231. package/dist/menu/menuStyles.d.ts +4 -0
  232. package/dist/menu/menuStyles.js +6 -0
  233. package/dist/menu/mouseDownUtil.d.ts +3 -0
  234. package/dist/menu/types.d.ts +69 -0
  235. package/dist/menu/types.js +0 -0
  236. package/dist/menu/usePointMenu.d.ts +19 -0
  237. package/dist/menu/usePointMenu.js +55 -0
  238. package/dist/message/Message.vue.d.ts +50 -0
  239. package/dist/message/Message.vue.js +73 -0
  240. package/dist/message/message.variants.d.ts +11 -0
  241. package/dist/message/message.variants.js +14 -0
  242. package/dist/multi-select/MultiSelect.vue.d.ts +170 -0
  243. package/dist/multi-select/MultiSelect.vue.js +135 -0
  244. package/dist/multi-select/MultiSelectContent.vue.d.ts +32 -0
  245. package/dist/multi-select/MultiSelectContent.vue.js +1 -0
  246. package/dist/multi-select/MultiSelectTrigger.vue.d.ts +24 -0
  247. package/dist/multi-select/MultiSelectTrigger.vue.js +1 -0
  248. package/dist/multi-select/types.d.ts +35 -0
  249. package/dist/multi-select/types.js +0 -0
  250. package/dist/navigation/LeftSidePanel.vue.d.ts +12 -0
  251. package/dist/navigation/LeftSidePanel.vue.js +82 -0
  252. package/dist/navigation/NavIcon.vue.d.ts +7 -0
  253. package/dist/navigation/NavIcon.vue.js +1 -0
  254. package/dist/navigation/NavItem.vue.d.ts +21 -0
  255. package/dist/navigation/NavItem.vue.js +1 -0
  256. package/dist/navigation/NavTitle.vue.d.ts +12 -0
  257. package/dist/navigation/NavTitle.vue.js +1 -0
  258. package/dist/navigation/SidebarTopArea.vue.d.ts +15 -0
  259. package/dist/navigation/SidebarTopArea.vue.js +15 -0
  260. package/dist/navigation/types.d.ts +13 -0
  261. package/dist/navigation/types.js +0 -0
  262. package/dist/number-field/NumberField.vue.d.ts +26 -0
  263. package/dist/number-field/NumberField.vue.js +73 -0
  264. package/dist/number-field/NumberFieldDecrement.vue.d.ts +18 -0
  265. package/dist/number-field/NumberFieldDecrement.vue.js +33 -0
  266. package/dist/number-field/NumberFieldIncrement.vue.d.ts +18 -0
  267. package/dist/number-field/NumberFieldIncrement.vue.js +33 -0
  268. package/dist/number-field/NumberFieldInput.vue.d.ts +7 -0
  269. package/dist/number-field/NumberFieldInput.vue.js +23 -0
  270. package/dist/number-field/PropertyNumberField.vue.d.ts +14 -0
  271. package/dist/number-field/PropertyNumberField.vue.js +54 -0
  272. package/dist/pagination/Pagination.vue.d.ts +22 -0
  273. package/dist/pagination/Pagination.vue.js +138 -0
  274. package/dist/popover/PopoverContent.vue.d.ts +33 -0
  275. package/dist/popover/PopoverContent.vue.js +1 -0
  276. package/dist/popover/usePopoverViewportDismiss.d.ts +2 -0
  277. package/dist/popover/usePopoverViewportDismiss.js +12 -0
  278. package/dist/radio-group/RadioGroup.vue.d.ts +22 -0
  279. package/dist/radio-group/RadioGroup.vue.js +43 -0
  280. package/dist/radio-group/RadioGroupItem.vue.d.ts +22 -0
  281. package/dist/radio-group/RadioGroupItem.vue.js +40 -0
  282. package/dist/search-input/AsyncSearchInput.vue.d.ts +27 -0
  283. package/dist/search-input/AsyncSearchInput.vue.js +102 -0
  284. package/dist/search-input/SearchAutocomplete.vue.d.ts +53 -0
  285. package/dist/search-input/SearchAutocomplete.vue.js +232 -0
  286. package/dist/search-input/SearchInput.vue.d.ts +46 -0
  287. package/dist/search-input/SearchInput.vue.js +125 -0
  288. package/dist/search-input/searchInput.variants.d.ts +45 -0
  289. package/dist/select/DropdownControl.vue.d.ts +16 -0
  290. package/dist/select/DropdownControl.vue.js +46 -0
  291. package/dist/select/Select.vue.d.ts +21 -0
  292. package/dist/select/Select.vue.js +1 -0
  293. package/dist/select/SelectContent.vue.d.ts +29 -0
  294. package/dist/select/SelectContent.vue.js +1 -0
  295. package/dist/select/SelectItem.vue.d.ts +22 -0
  296. package/dist/select/SelectItem.vue.js +1 -0
  297. package/dist/select/SelectScrollDownButton.vue.d.ts +18 -0
  298. package/dist/select/SelectScrollDownButton.vue.js +1 -0
  299. package/dist/select/SelectScrollUpButton.vue.d.ts +18 -0
  300. package/dist/select/SelectScrollUpButton.vue.js +1 -0
  301. package/dist/select/SelectTrigger.vue.d.ts +22 -0
  302. package/dist/select/SelectTrigger.vue.js +1 -0
  303. package/dist/select/SelectValue.vue.d.ts +14 -0
  304. package/dist/select/SelectValue.vue.js +1 -0
  305. package/dist/select/types.d.ts +4 -0
  306. package/dist/select/types.js +0 -0
  307. package/dist/select/useSelectSearch.d.ts +3 -0
  308. package/dist/select/useSelectSearch.js +14 -0
  309. package/dist/shared/Badge-DFHO3AFi.js +90 -0
  310. package/dist/shared/Button-Dj_H5v3V.js +138 -0
  311. package/dist/shared/Card-BrvqUM49.js +32 -0
  312. package/dist/shared/CardFooter-BV_I0pM-.js +19 -0
  313. package/dist/shared/CardHeader-CMutruBx.js +19 -0
  314. package/dist/shared/ColorPickerPanel-DQGHuvxk.js +239 -0
  315. package/dist/shared/ColorPickerSaturationValue-B5VDiMcl.js +64 -0
  316. package/dist/shared/ColorPickerSlider--mnQyzWD.js +305 -0
  317. package/dist/shared/ContextMenuContent-RNyBBJOX.js +62 -0
  318. package/dist/shared/DialogClose-CrtPRSNX.js +22 -0
  319. package/dist/shared/DialogContent-v2s55FXs.js +71 -0
  320. package/dist/shared/DialogOverlay-C9qv0zme.js +33 -0
  321. package/dist/shared/DialogPortal-DtCpLgtO.js +36 -0
  322. package/dist/shared/DialogTitle-Chomvpgq.js +41 -0
  323. package/dist/shared/Input-DOeNoniw.js +36 -0
  324. package/dist/shared/InputGroup-BYt6BWpk.js +23 -0
  325. package/dist/shared/InputGroupAddon-B1cn7czs.js +36 -0
  326. package/dist/shared/InputGroupButton-tw5AYOoR.js +39 -0
  327. package/dist/shared/InputGroupInput-C_kkIxvY.js +30 -0
  328. package/dist/shared/Label-kwhWNR2P.js +34 -0
  329. package/dist/shared/LayoutField-C8KCaVF0.js +34 -0
  330. package/dist/shared/MenuAction-0z8BSoX9.js +121 -0
  331. package/dist/shared/MenuContent--tKCqaIO.js +78 -0
  332. package/dist/shared/MenuItemContent-Be658c7e.js +67 -0
  333. package/dist/shared/MenuItems-BZTlERd6.js +67 -0
  334. package/dist/shared/MenuRadioGroup-B28YS1p1.js +63 -0
  335. package/dist/shared/MenuRadioItem-D8DFu-KU.js +34 -0
  336. package/dist/shared/MenuSeparator-DrAiObmE.js +26 -0
  337. package/dist/shared/MenuSub-DSizq_fV.js +21 -0
  338. package/dist/shared/MenuSubContent-ghzkX4hX.js +67 -0
  339. package/dist/shared/MenuSubTrigger-BGRIm_Bf.js +33 -0
  340. package/dist/shared/MenuSubmenu-CjPf8DXl.js +41 -0
  341. package/dist/shared/MultiSelectContent-9xyBQKz3.js +160 -0
  342. package/dist/shared/MultiSelectTrigger-DNySkpH9.js +50 -0
  343. package/dist/shared/NavIcon-FTJH75HH.js +12 -0
  344. package/dist/shared/NavItem-sQJ-77Zw.js +77 -0
  345. package/dist/shared/NavTitle-BM22yfCR.js +40 -0
  346. package/dist/shared/OverlayIcon-C-din824.js +43 -0
  347. package/dist/shared/PopoverContent-DNqL6t-O.js +89 -0
  348. package/dist/shared/SearchableSingleSelect-DQauLQWW.js +182 -0
  349. package/dist/shared/Select-DtVgv7Po.js +31 -0
  350. package/dist/shared/SelectContent-Ba1mCDWM.js +89 -0
  351. package/dist/shared/SelectItem-DaOr3TFS.js +55 -0
  352. package/dist/shared/SelectScrollDownButton-DYmxtida.js +28 -0
  353. package/dist/shared/SelectScrollUpButton-DiyvSb9O.js +28 -0
  354. package/dist/shared/SelectTrigger-BBicbVsI.js +45 -0
  355. package/dist/shared/SelectValue-BjaQc-WU.js +21 -0
  356. package/dist/shared/Switch-qavkHWMz.js +61 -0
  357. package/dist/shared/TableHead-DpsXVMzk.js +22 -0
  358. package/dist/shared/TagRemoveButton-D919R-To.js +36 -0
  359. package/dist/shared/TextTooltip-BNlZI515.js +27 -0
  360. package/dist/shared/Tooltip-4rCebVao.js +32 -0
  361. package/dist/shared/TooltipContent-0GR7hBNu.js +89 -0
  362. package/dist/shared/TooltipTrigger-64EIE5f2.js +63 -0
  363. package/dist/shared/TransitionCollapse-VfBzyj5a.js +108 -0
  364. package/dist/shared/_plugin-vue_export-helper-DjkACiAr.js +7 -0
  365. package/dist/shared/searchInput.variants-BdYHNjce.js +46 -0
  366. package/dist/shared/select.variants-cRXaATWS.js +39 -0
  367. package/dist/shared/src-DTwuqov4.js +11 -0
  368. package/dist/shared/tabKeys-CP6c3wTY.js +3 -0
  369. package/dist/shared/tabs.variants-Cgk7bRhG.js +22 -0
  370. package/dist/shared/tag.variants-BEXRRbPc.js +33 -0
  371. package/dist/shared/tagsInputContext-C-X1-iNf.js +4 -0
  372. package/dist/shared/toggleGroup.variants-BuwGELw0.js +38 -0
  373. package/dist/shared/tooltipContext-arEyjGQC.js +3 -0
  374. package/dist/single-select/SearchableSingleSelect.vue.d.ts +39 -0
  375. package/dist/single-select/SearchableSingleSelect.vue.js +1 -0
  376. package/dist/single-select/SingleSelect.vue.d.ts +38 -0
  377. package/dist/single-select/SingleSelect.vue.js +185 -0
  378. package/dist/single-select/types.d.ts +25 -0
  379. package/dist/single-select/types.js +0 -0
  380. package/dist/skeleton/Skeleton.vue.d.ts +7 -0
  381. package/dist/skeleton/Skeleton.vue.js +22 -0
  382. package/dist/slider/GradientSlider.vue.d.ts +20 -0
  383. package/dist/slider/GradientSlider.vue.js +100 -0
  384. package/dist/slider/Slider.vue.d.ts +16 -0
  385. package/dist/slider/Slider.vue.js +86 -0
  386. package/dist/slider/gradients.d.ts +6 -0
  387. package/dist/spinner/Spinner.vue.d.ts +7 -0
  388. package/dist/spinner/Spinner.vue.js +39 -0
  389. package/dist/splitter/SplitterGroup.vue.d.ts +23 -0
  390. package/dist/splitter/SplitterGroup.vue.js +38 -0
  391. package/dist/splitter/SplitterPanel.vue.d.ts +26 -0
  392. package/dist/splitter/SplitterPanel.vue.js +43 -0
  393. package/dist/splitter/SplitterResizeHandle.vue.d.ts +22 -0
  394. package/dist/splitter/SplitterResizeHandle.vue.js +35 -0
  395. package/dist/switch/Switch.vue.d.ts +17 -0
  396. package/dist/switch/Switch.vue.js +1 -0
  397. package/dist/tab/Tab.vue.d.ts +24 -0
  398. package/dist/tab/Tab.vue.js +73 -0
  399. package/dist/tab/TabList.vue.d.ts +26 -0
  400. package/dist/tab/TabList.vue.js +29 -0
  401. package/dist/tab/TabPanel.vue.d.ts +23 -0
  402. package/dist/tab/TabPanel.vue.js +26 -0
  403. package/dist/tab/tab.variants.d.ts +9 -0
  404. package/dist/tab/tabKeys.d.ts +7 -0
  405. package/dist/table/Table.vue.d.ts +17 -0
  406. package/dist/table/Table.vue.js +21 -0
  407. package/dist/table/TableBody.vue.d.ts +17 -0
  408. package/dist/table/TableBody.vue.js +19 -0
  409. package/dist/table/TableCell.vue.d.ts +17 -0
  410. package/dist/table/TableCell.vue.js +19 -0
  411. package/dist/table/TableHead.vue.d.ts +17 -0
  412. package/dist/table/TableHead.vue.js +1 -0
  413. package/dist/table/TableHeader.vue.d.ts +17 -0
  414. package/dist/table/TableHeader.vue.js +19 -0
  415. package/dist/table/TableRow.vue.d.ts +17 -0
  416. package/dist/table/TableRow.vue.js +19 -0
  417. package/dist/table/TableSortHead.vue.d.ts +26 -0
  418. package/dist/table/TableSortHead.vue.js +45 -0
  419. package/dist/table/tableUtils.d.ts +3 -0
  420. package/dist/table/tableUtils.js +18 -0
  421. package/dist/tabs/Tabs.vue.d.ts +22 -0
  422. package/dist/tabs/Tabs.vue.js +41 -0
  423. package/dist/tabs/TabsContent.vue.d.ts +18 -0
  424. package/dist/tabs/TabsContent.vue.js +35 -0
  425. package/dist/tabs/TabsList.vue.d.ts +20 -0
  426. package/dist/tabs/TabsList.vue.js +36 -0
  427. package/dist/tabs/TabsTrigger.vue.d.ts +20 -0
  428. package/dist/tabs/TabsTrigger.vue.js +37 -0
  429. package/dist/tabs/tabs.variants.d.ts +21 -0
  430. package/dist/tags-input/TagsInput.vue.d.ts +32 -0
  431. package/dist/tags-input/TagsInput.vue.js +96 -0
  432. package/dist/tags-input/TagsInputInput.vue.d.ts +9 -0
  433. package/dist/tags-input/TagsInputInput.vue.js +54 -0
  434. package/dist/tags-input/TagsInputItem.vue.d.ts +18 -0
  435. package/dist/tags-input/TagsInputItem.vue.js +32 -0
  436. package/dist/tags-input/TagsInputItemDelete.vue.d.ts +18 -0
  437. package/dist/tags-input/TagsInputItemDelete.vue.js +33 -0
  438. package/dist/tags-input/TagsInputItemText.vue.d.ts +8 -0
  439. package/dist/tags-input/TagsInputItemText.vue.js +26 -0
  440. package/dist/tags-input/tagsInputContext.d.ts +4 -0
  441. package/dist/textarea/Textarea.vue.d.ts +17 -0
  442. package/dist/textarea/Textarea.vue.js +31 -0
  443. package/dist/toast/ToastClose.vue.d.ts +8 -0
  444. package/dist/toast/ToastClose.vue.js +40 -0
  445. package/dist/toast/ToastDescription.vue.d.ts +18 -0
  446. package/dist/toast/ToastDescription.vue.js +29 -0
  447. package/dist/toast/ToastDock.vue.d.ts +13 -0
  448. package/dist/toast/ToastDock.vue.js +27 -0
  449. package/dist/toast/ToastPanel.vue.d.ts +30 -0
  450. package/dist/toast/ToastPanel.vue.js +45 -0
  451. package/dist/toast/ToastRoot.vue.d.ts +100 -0
  452. package/dist/toast/ToastRoot.vue.js +53 -0
  453. package/dist/toast/ToastTitle.vue.d.ts +18 -0
  454. package/dist/toast/ToastTitle.vue.js +29 -0
  455. package/dist/toast/ToastViewport.vue.d.ts +9 -0
  456. package/dist/toast/ToastViewport.vue.js +31 -0
  457. package/dist/toggle-group/ToggleGroup.vue.d.ts +25 -0
  458. package/dist/toggle-group/ToggleGroup.vue.js +59 -0
  459. package/dist/toggle-group/ToggleGroupItem.vue.d.ts +21 -0
  460. package/dist/toggle-group/ToggleGroupItem.vue.js +43 -0
  461. package/dist/toggle-group/toggleGroup.variants.d.ts +24 -0
  462. package/dist/tooltip/TextTooltip.vue.d.ts +20 -0
  463. package/dist/tooltip/TextTooltip.vue.js +1 -0
  464. package/dist/tooltip/Tooltip.vue.d.ts +23 -0
  465. package/dist/tooltip/Tooltip.vue.js +1 -0
  466. package/dist/tooltip/TooltipContent.vue.d.ts +24 -0
  467. package/dist/tooltip/TooltipContent.vue.js +1 -0
  468. package/dist/tooltip/TooltipProvider.vue.d.ts +15 -0
  469. package/dist/tooltip/TooltipProvider.vue.js +37 -0
  470. package/dist/tooltip/TooltipTrigger.vue.d.ts +14 -0
  471. package/dist/tooltip/TooltipTrigger.vue.js +1 -0
  472. package/dist/tooltip/tooltipConfig.d.ts +5 -0
  473. package/dist/tooltip/tooltipConfig.js +7 -0
  474. package/dist/tooltip/tooltipContext.d.ts +2 -0
  475. package/dist/transition/TransitionCollapse.vue.d.ts +21 -0
  476. package/dist/transition/TransitionCollapse.vue.js +1 -0
  477. package/dist/tree/Tree.vue.d.ts +32 -0
  478. package/dist/tree/Tree.vue.js +53 -0
  479. package/dist/tree/TreeItem.vue.d.ts +29 -0
  480. package/dist/tree/TreeItem.vue.js +80 -0
  481. package/dist/tree/treeStyles.d.ts +4 -0
  482. package/dist/tree/treeStyles.js +6 -0
  483. package/dist-types/button.variants.d.ts +16 -0
  484. package/dist-types/select.variants.d.ts +24 -0
  485. package/dist-types/tag.variants.d.ts +21 -0
  486. package/dist-types/workspaceAvatar.d.ts +5 -0
  487. package/package.json +186 -8
  488. package/src/button.variants.ts +84 -0
  489. package/src/css/_deprecated-aliases.css +12 -0
  490. package/src/css/_legacy-palette.css +33 -0
  491. package/src/css/_legacy-ui.css +418 -0
  492. package/src/css/_markdown.css +227 -0
  493. package/src/css/_mask-editor.css +179 -0
  494. package/src/css/_palette.css +40 -4
  495. package/src/css/base.css +0 -6
  496. package/src/css/component-support.css +69 -0
  497. package/src/css/iconSizing.test.ts +80 -0
  498. package/src/css/iconifyDynamicPlugin.ts +15 -6
  499. package/src/css/icons.test.ts +17 -0
  500. package/src/css/lucideStrokePlugin.js +5 -6
  501. package/src/css/published.css +3 -0
  502. package/src/css/style.css +5 -1909
  503. package/src/css/theme.css +243 -0
  504. package/src/css/themes/void.css +102 -0
  505. package/src/icons/README.md +61 -97
  506. package/src/icons/astroid-filled.svg +3 -0
  507. package/src/icons/claude.svg +1 -1
  508. package/src/select.variants.ts +53 -0
  509. package/src/tag.variants.ts +38 -0
package/src/css/style.css CHANGED
@@ -1,1910 +1,6 @@
1
- @layer theme, base, primevue, components, utilities;
1
+ @import './theme.css';
2
2
 
3
- @import './fonts.css';
4
- @import './_palette.css';
5
- @import 'tailwindcss/theme' layer(theme);
6
- @import 'tailwindcss/utilities' layer(utilities);
7
- @import 'tw-animate-css';
8
-
9
- @plugin 'tailwindcss-primeui';
10
-
11
- @plugin "./iconifyDynamicPlugin.ts";
12
-
13
- @plugin "./lucideStrokePlugin.js";
14
-
15
- /* Safelist dynamic comfy icons for node library folders */
16
- @source inline("icon-[comfy--{ai-model,anthropic,bfl,bria,bytedance,claude,comfy-cloud,comfy-logo,credits,elevenlabs,extensions-blocks,file-output,gemini,grok,hitpaw,ideogram,image-ai-edit,kling,ltxv,luma,magnific,mask,meshy,minimax,moonvalley-marey,node,openai,pin,pixverse,play,recraft,reve,rodin,runway,sora,stability-ai,template,tencent,topaz,tripo,veo,vidu,wan,wavespeed,workflow,quiver}]");
17
-
18
- /* Badge icon names are built at runtime, so the scanner cannot find them. */
19
- @source inline("icon-mask-[comfy--{3d-decomp,ai-model,anthropic,batch-images-node,bfl,bria,brightness-contrast,bytedance,canny,canny-to-image,canny-to-video,channels,chromatic-aberration,claude,comfy-c,comfy-logo,credits,depth-to-image,depth-to-video,dial,elevenlabs,extensions-blocks,file-output,frames-to-video,gemini,get-video-components,glow,grain,grok,hitpaw,ideogram,image-ai-edit,image-batch,image-blur,image-canny,image-captioning,image-collage,image-compare,image-depth,image-edit,image-inpaint,image-invert,image-outpaint,image-outpainting,image-remove-background,image-rotate,image-select-object-segmentation,image-shader,image-sharpen,image-to-3d,image-to-image,image-to-layers,image-to-video,image-upscale,image-vectorize,kling,load-3d,load-audio,load-video,lora-loader,ltxv,luma,magnific,mask,meshy,minimax,moonvalley-marey,node,open-ai-chat-node,openai,pin,pixverse,play,pose-to-image,pose-to-video,quiver,recraft,reve,rodin,runway,save-3d,save-audio,save-video,send,sora,stability-ai,template,tencent,text-prompt-enhance,text-to-3d,text-to-audio,text-to-image,text-to-video,topaz,tripo,veo,video-captioning,video-edit,video-enhance,video-extract-frame,video-inpaint,video-interpolation,video-select-object-segmentation,video-slice,video-split-screen,video-trim,video-upscale,vidu,voice-clone,wan,wavespeed,workflow}]");
20
-
21
- @custom-variant touch (@media (hover: none));
22
-
23
- @theme {
24
- --shadow-interface: var(--interface-panel-box-shadow);
25
- --shadow-inset-highlight: inset 0 1px 0 0 rgb(from white r g b / 0.1);
26
-
27
- --text-2xs: 0.625rem;
28
- --text-2xs--line-height: calc(1 / 0.625);
29
-
30
- --text-3xs: 0.5625rem;
31
- --text-3xs--line-height: calc(1 / 0.5625);
32
-
33
- --color-ivory-100: #fdfbfa;
34
- --color-ivory-200: #faf9f5;
35
- --color-ivory-300: #f0eee6;
36
-
37
- --color-sand-100: #e1ded5;
38
- --color-sand-200: #fff7d5;
39
- --color-sand-300: #888682;
40
- --color-sand-400: #eed7ac;
41
-
42
- --color-azure-300: #78bae9;
43
- --color-azure-400: #31b9f4;
44
- --color-azure-600: #0b8ce9;
45
-
46
- --color-cobalt-800: #185a8b;
47
-
48
- --color-jade-400: #47e469;
49
- --color-jade-600: #00cd72;
50
-
51
- --color-gold-400: #fcbf64;
52
- --color-gold-500: #fdab34;
53
- --color-gold-600: #fd9903;
54
- --color-gold-700: #c77700;
55
- --color-gold-800: #8c6a38;
56
-
57
- --color-credit: #ddbd31;
58
-
59
- --color-coral-500: #f75951;
60
- --color-coral-600: #e04e48;
61
- --color-coral-700: #b33a3a;
62
-
63
- --color-magenta-300: #ceaac9;
64
- --color-magenta-700: #6a246a;
65
-
66
- --color-ocean-300: #badde8;
67
- --color-ocean-600: #2f687a;
68
- --color-ocean-900: #253236;
69
-
70
- --color-primary-comfy-ink: #211927;
71
- --color-primary-comfy-canvas: #c2bfb9;
72
- --color-primary-warm-white: #f0efed;
73
- --color-primary-warm-gray: #7e7c78;
74
-
75
- --color-danger-100: #c02323;
76
- --color-danger-200: #d62952;
77
-
78
- --color-bypass: #6a246a;
79
- --color-error: #962a2a;
80
-
81
- --color-interface-panel-job-progress-primary: var(--color-azure-300);
82
- --color-interface-panel-job-progress-secondary: var(
83
- --color-alpha-azure-600-30
84
- );
85
- --color-interface-panel-job-progress-border: var(--base-foreground);
86
-
87
- --color-blue-selection: rgb(from var(--color-azure-600) r g b / 0.3);
88
- --color-node-hover-100: rgb(from var(--color-charcoal-800) r g b / 0.15);
89
- --color-node-hover-200: rgb(from var(--color-charcoal-800) r g b / 0.1);
90
- --color-modal-tag: rgb(from var(--color-smoke-400) r g b / 0.4);
91
- --color-alpha-charcoal-600-30: color-mix(
92
- in srgb,
93
- var(--color-charcoal-600) 30%,
94
- transparent
95
- );
96
- --color-alpha-ash-500-20: color-mix(
97
- in srgb,
98
- var(--color-ash-500) 20%,
99
- transparent
100
- );
101
- --color-alpha-smoke-500-50: color-mix(
102
- in srgb,
103
- var(--color-smoke-500) 50%,
104
- transparent
105
- );
106
- --color-alpha-smoke-500-20: #c5c5c533;
107
- --color-alpha-smoke-400-40: #d9d9d966;
108
- --color-alpha-azure-600-30: #0b8ce94d;
109
- --color-alpha-magenta-700-60: #6a246a99;
110
- --color-alpha-magenta-300-60: #ceaac999;
111
-
112
- /* Onboarding coachmark overlay (always renders over a dark scrim) */
113
- --color-coach-scrim: rgb(0 0 0 / 0.6);
114
- --color-coach-ring: #fff;
115
-
116
- /* PrimeVue pulled colors */
117
- --color-muted: var(--p-text-muted-color);
118
- --color-highlight: var(--p-primary-color);
119
-
120
- /* Special Colors (temporary) */
121
- --color-dark-elevation-1-5: rgba(from white r g b / 0.015);
122
- --color-dark-elevation-2: rgba(from white r g b / 0.03);
123
- }
124
-
125
- :root {
126
- --fg-color: #000;
127
- --bg-color: #fff;
128
- --default-transition-duration: 0.1s;
129
- --comfy-menu-bg: #353535;
130
- --comfy-menu-secondary-bg: #292929;
131
- --comfy-topbar-height: 2.5rem;
132
- --workflow-tabs-height: 2.375rem;
133
- --comfy-input-bg: #222;
134
- --comfy-textarea-font-size: 10px;
135
- --input-text: #ddd;
136
- --descrip-text: #999;
137
- --drag-text: #ccc;
138
- --error-text: #ff4444;
139
- --border-color: #4e4e4e;
140
- --tr-even-bg-color: #222;
141
- --tr-odd-bg-color: #353535;
142
- --primary-bg: #236692;
143
- --primary-fg: #ffffff;
144
- --primary-hover-bg: #3485bb;
145
- --primary-hover-fg: #ffffff;
146
- --content-bg: #e0e0e0;
147
- --content-fg: #000;
148
- --content-hover-bg: #adadad;
149
- --content-hover-fg: #000;
150
-
151
- --button-surface: var(--color-white);
152
- --button-surface-contrast: var(--color-black);
153
-
154
- /* Code styling colors for help menu*/
155
- --code-text-color: rgb(0 122 255 / 1);
156
- --code-bg-color: rgb(96 165 250 / 0.2);
157
- --code-block-bg-color: rgb(60 60 60 / 0.12);
158
-
159
- /* --- */
160
-
161
- --accent-primary: var(--color-charcoal-700);
162
- --backdrop: var(--color-white);
163
-
164
- --button-hover-surface: var(--color-smoke-200);
165
- --button-active-surface: var(--color-smoke-400);
166
- --button-icon: var(--color-smoke-600);
167
-
168
- --dialog-surface: var(--color-neutral-200);
169
-
170
- --interface-menu-component-surface-hovered: var(--color-smoke-200);
171
- --interface-menu-component-surface-selected: var(--color-smoke-400);
172
- --interface-menu-keybind-surface-default: var(--color-smoke-500);
173
- --interface-menu-surface: var(--color-white);
174
- --interface-menu-stroke: var(--color-smoke-600);
175
- --interface-panel-surface: var(--color-white);
176
- --interface-stroke: var(--color-smoke-300);
177
-
178
- --interface-builder-mode-background: var(--color-ocean-300);
179
- --interface-builder-mode-button-background: var(--color-ocean-600);
180
- --interface-builder-mode-button-foreground: var(--color-white);
181
- --interface-builder-mode-footer-background: var(--color-ocean-900);
182
-
183
- --nav-background: var(--color-white);
184
-
185
- --node-border: var(--color-smoke-300);
186
- --node-component-border: var(--color-smoke-400);
187
- --node-component-disabled: var(--color-alpha-ash-500-20);
188
- --node-component-executing: var(--color-blue-500);
189
- --node-component-header: var(--fg-color);
190
- --node-component-header-icon: var(--color-ash-800);
191
- --node-component-header-surface: var(--color-smoke-200);
192
- --node-component-outline: var(--color-black);
193
- --node-component-ring: rgb(from var(--color-smoke-500) r g b / 50%);
194
- --node-component-slot-dot-outline-opacity-mult: 1;
195
- --node-component-slot-dot-outline-opacity: 5%;
196
- --node-component-slot-dot-outline: var(--color-black);
197
- --node-component-slot-text: var(--color-ash-800);
198
- --node-component-surface-highlight: var(--color-smoke-800);
199
- --node-component-surface-hovered: var(--color-smoke-200);
200
- --node-component-surface-selected: var(--color-charcoal-200);
201
- --node-component-surface: var(--color-white);
202
- --node-component-tooltip: var(--color-charcoal-700);
203
- --node-component-tooltip-border: var(--color-sand-100);
204
- --node-component-tooltip-surface: var(--color-white);
205
- --node-component-widget-input: var(--fg-color);
206
- --node-component-widget-input-surface: rgb(
207
- from var(--color-zinc-500) r g b / 10%
208
- );
209
- --node-component-widget-skeleton-surface: var(--color-zinc-300);
210
- --node-divider: var(--color-sand-100);
211
- --node-icon-disabled: var(--color-alpha-smoke-500-50);
212
- --node-stroke: var(--color-smoke-400);
213
- --node-stroke-selected: var(--color-accent-primary);
214
- --node-stroke-error: var(--color-error);
215
- --node-stroke-executing: var(--color-azure-600);
216
-
217
- --text-secondary: var(--color-smoke-800);
218
- --text-primary: var(--color-charcoal-700);
219
- --input-surface: rgb(0 0 0 / 0.15);
220
-
221
- /* Semantic tokens - light mode */
222
- --muted-foreground: var(--color-charcoal-200);
223
- --base-foreground: var(--color-charcoal-800);
224
- --brand-yellow: var(--color-electric-400);
225
- --brand-blue: var(--color-sapphire-700);
226
- --secondary-background: var(--color-smoke-200);
227
- --secondary-background-hover: var(--color-smoke-400);
228
- --secondary-background-selected: var(--color-smoke-600);
229
- --tertiary-background: var(--color-smoke-400);
230
- --tertiary-background-hover: var(--color-smoke-500);
231
- --base-background: var(--color-white);
232
- --primary-background: var(--color-azure-400);
233
- --primary-background-hover: var(--color-cobalt-800);
234
- --destructive-background: var(--color-coral-500);
235
- --destructive-background-hover: var(--color-coral-600);
236
- --inverted-background-hover: var(--color-charcoal-600);
237
- --warning-background: var(--color-gold-400);
238
- --warning-background-hover: var(--color-gold-500);
239
- --warning-foreground: var(--color-gold-800);
240
- --warning-on-background: var(--color-charcoal-800);
241
- --success-background: var(--color-jade-600);
242
- --border-default: var(--color-smoke-600);
243
- --border-subtle: var(--color-smoke-400);
244
- --muted-background: var(--color-smoke-700);
245
- --accent-background: var(--color-smoke-800);
246
-
247
- /* Component/Node tokens from design system light */
248
- --component-node-background: var(--color-white);
249
- --component-node-border: var(--color-border-default);
250
- --component-node-foreground: var(--base-foreground);
251
- --component-node-foreground-secondary: var(--color-muted-foreground);
252
- --component-node-widget-background: var(--secondary-background);
253
- --component-node-widget-background-hovered: var(--secondary-background-hover);
254
- --component-node-widget-background-selected: var(
255
- --secondary-background-selected
256
- );
257
- --component-node-widget-background-disabled: var(--color-alpha-ash-500-20);
258
- --component-node-widget-background-highlighted: var(--color-smoke-800);
259
- --component-node-widget-promoted: var(--color-purple-700);
260
- --component-node-widget-advanced: var(--color-azure-400);
261
-
262
- --video-trim-selection-background: var(--color-datatype-CLIP, #ffd500);
263
- --video-trim-playhead-background: #f0513b;
264
-
265
- /* Default UI element color palette variables */
266
- --palette-contrast-mix-color: #fff;
267
- --palette-interface-panel-surface: var(--comfy-menu-bg);
268
- --palette-interface-stroke: color-mix(
269
- in srgb,
270
- var(--interface-panel-surface) 75.5%,
271
- var(--contrast-mix-color)
272
- );
273
-
274
- --palette-interface-panel-box-shadow: 1px 1px 8px 0 rgb(0 0 0 / 0.4);
275
- --palette-interface-panel-drop-shadow: 1px 1px 4px rgb(0 0 0 / 0.4);
276
- --palette-interface-panel-hover-surface: color-mix(
277
- in srgb,
278
- var(--interface-panel-surface) 92.5%,
279
- var(--contrast-mix-color)
280
- );
281
- --palette-interface-panel-selected-surface: color-mix(
282
- in srgb,
283
- var(--interface-panel-surface) 87.5%,
284
- var(--contrast-mix-color)
285
- );
286
- --palette-interface-button-hover-surface: color-mix(
287
- in srgb,
288
- var(--interface-panel-surface) 82%,
289
- var(--contrast-mix-color)
290
- );
291
-
292
- --modal-card-background: var(--secondary-background);
293
- --modal-card-background-hovered: var(--secondary-background-hover);
294
- --modal-card-border-highlighted: var(--secondary-background-selected);
295
- --modal-card-button-surface: var(--color-smoke-300);
296
- --modal-card-placeholder-background: var(--color-smoke-600);
297
- --modal-card-tag-background: var(--color-smoke-200);
298
- --modal-card-tag-foreground: var(--base-foreground);
299
- --modal-panel-background: var(--color-white);
300
- }
301
-
302
- .dark-theme {
303
- --fg-color: #fff;
304
- --bg-color: #202020;
305
- --content-bg: #4e4e4e;
306
- --content-fg: #fff;
307
- --content-hover-bg: #222;
308
- --content-hover-fg: #fff;
309
-
310
- --accent-primary: var(--color-white);
311
- --backdrop: var(--color-neutral-900);
312
-
313
- --button-surface: var(--color-charcoal-600);
314
- --button-surface-contrast: var(--color-white);
315
- --button-hover-surface: var(--color-charcoal-600);
316
- --button-active-surface: var(--color-charcoal-600);
317
- --button-icon: var(--color-smoke-800);
318
-
319
- --dialog-surface: var(--color-neutral-700);
320
-
321
- --interface-menu-component-surface-hovered: var(--color-charcoal-400);
322
- --interface-menu-component-surface-selected: var(--color-charcoal-300);
323
- --interface-menu-keybind-surface-default: var(--color-charcoal-200);
324
- --interface-menu-surface: var(--color-charcoal-800);
325
- --interface-menu-stroke: var(--color-ash-800);
326
- --interface-panel-surface: var(--color-charcoal-800);
327
- --interface-stroke: var(--color-charcoal-400);
328
-
329
- --interface-builder-mode-background: var(--color-ocean-900);
330
- --interface-builder-mode-button-background: var(--color-ocean-600);
331
- --interface-builder-mode-button-foreground: var(--color-white);
332
- --interface-builder-mode-footer-background: var(--color-ocean-900);
333
-
334
- --nav-background: var(--color-charcoal-800);
335
-
336
- --node-border: var(--color-charcoal-500);
337
- --node-component-border: var(--color-ash-800);
338
- --node-component-border-error: var(--color-danger-100);
339
- --node-component-border-executing: var(--color-blue-500);
340
- --node-component-border-selected: var(--color-charcoal-200);
341
- --node-component-header-icon: var(--color-smoke-800);
342
- --node-component-header-surface: var(--color-charcoal-700);
343
- --node-component-outline: var(--color-white);
344
- --node-component-ring: rgb(var(--color-smoke-500) / 20%);
345
- --node-component-slot-dot-outline-opacity: 10%;
346
- --node-component-slot-dot-outline: var(--color-white);
347
- --node-component-slot-text: var(--color-smoke-700);
348
- --node-component-surface-highlight: var(--color-smoke-800);
349
- --node-component-surface-hovered: var(--color-charcoal-600);
350
- --node-component-surface-selected: var(--color-charcoal-200);
351
- --node-component-surface: var(--color-charcoal-600);
352
- --node-component-tooltip: var(--color-white);
353
- --node-component-tooltip-border: var(--color-charcoal-200);
354
- --node-component-tooltip-surface: var(--color-charcoal-800);
355
- --node-component-widget-skeleton-surface: var(--color-zinc-800);
356
- --node-component-disabled: var(--color-alpha-charcoal-600-30);
357
- --node-divider: var(--color-charcoal-500);
358
- --node-icon-disabled: var(--color-alpha-ash-500-20);
359
- --node-stroke: var(--color-ash-800);
360
- --node-stroke-selected: var(--color-white);
361
- --node-stroke-error: var(--color-error);
362
- --node-stroke-executing: var(--color-azure-600);
363
-
364
- /* Queue progress (dark theme) */
365
- --color-interface-panel-job-progress-primary: var(--color-cobalt-800);
366
- --color-interface-panel-job-progress-secondary: var(
367
- --color-alpha-azure-600-30
368
- );
369
- --color-interface-panel-job-progress-border: var(--base-foreground);
370
-
371
- --text-secondary: var(--color-smoke-700);
372
- --text-primary: var(--color-white);
373
-
374
- --input-surface: rgb(130 130 130 / 0.1);
375
-
376
- /* Semantic tokens - dark mode */
377
- --muted-foreground: var(--color-smoke-800);
378
- --base-foreground: var(--color-white);
379
- --brand-yellow: var(--color-electric-400);
380
- --brand-blue: var(--color-sapphire-700);
381
- --secondary-background: var(--color-charcoal-600);
382
- --secondary-background-hover: var(--color-charcoal-400);
383
- --secondary-background-selected: var(--color-charcoal-200);
384
- --tertiary-background: var(--color-charcoal-400);
385
- --tertiary-background-hover: var(--color-charcoal-300);
386
- --base-background: var(--color-charcoal-800);
387
- --primary-background: var(--color-azure-600);
388
- --primary-background-hover: var(--color-azure-400);
389
- --destructive-background: var(--color-coral-700);
390
- --destructive-background-hover: var(--color-coral-600);
391
- --inverted-background-hover: var(--color-smoke-200);
392
- --warning-background: var(--color-gold-600);
393
- --warning-background-hover: var(--color-gold-500);
394
- --warning-foreground: var(--color-gold-600);
395
- --warning-on-background: var(--color-charcoal-800);
396
- --success-background: var(--color-jade-600);
397
- --border-default: var(--color-charcoal-200);
398
- --border-subtle: var(--color-charcoal-300);
399
- --muted-background: var(--color-charcoal-100);
400
- --accent-background: var(--color-charcoal-100);
401
-
402
- /* Component/Node tokens from design dark system */
403
- --component-node-background: var(--color-charcoal-600);
404
- --component-node-border: var(--color-charcoal-100);
405
- --component-node-foreground: var(--base-foreground);
406
- --component-node-foreground-secondary: var(--color-muted-foreground);
407
- --component-node-widget-background: var(--secondary-background-hover);
408
- --component-node-widget-background-hovered: var(
409
- --secondary-background-selected
410
- );
411
- --component-node-widget-background-selected: var(--color-charcoal-100);
412
- --component-node-widget-background-disabled: var(--color-charcoal-800);
413
- --component-node-widget-background-highlighted: var(--color-smoke-800);
414
- --component-node-widget-promoted: var(--color-purple-700);
415
- --component-node-widget-advanced: var(--color-azure-600);
416
-
417
- --modal-card-background: var(--secondary-background);
418
- --modal-card-background-hovered: var(--secondary-background-hover);
419
- --modal-card-border-highlighted: var(--color-ash-400);
420
- --modal-card-button-surface: var(--color-charcoal-300);
421
- --modal-card-placeholder-background: var(--secondary-background);
422
- --modal-card-tag-background: var(--color-ash-800);
423
- --modal-card-tag-foreground: var(--base-foreground);
424
- --modal-panel-background: var(--color-charcoal-600);
425
- }
426
-
427
- @theme inline {
428
- --color-backdrop: var(--backdrop);
429
- --color-button-active-surface: var(--button-active-surface);
430
- --color-button-hover-surface: var(--button-hover-surface);
431
- --color-button-icon: var(--button-icon);
432
- --color-button-surface: var(--button-surface);
433
- --color-button-surface-contrast: var(--button-surface-contrast);
434
-
435
- --color-modal-card-background: var(--modal-card-background);
436
- --color-modal-card-background-hovered: var(--modal-card-background-hovered);
437
- --color-modal-card-border-highlighted: var(--modal-card-border-highlighted);
438
- --color-modal-card-button-surface: var(--modal-card-button-surface);
439
- --color-modal-card-placeholder-background: var(
440
- --modal-card-placeholder-background
441
- );
442
- --color-modal-card-tag-background: var(--modal-card-tag-background);
443
- --color-modal-card-tag-foreground: var(--modal-card-tag-foreground);
444
- --color-modal-panel-background: var(--modal-panel-background);
445
-
446
- --color-dialog-surface: var(--dialog-surface);
447
- --color-interface-menu-component-surface-hovered: var(
448
- --interface-menu-component-surface-hovered
449
- );
450
- --color-interface-menu-component-surface-selected: var(
451
- --interface-menu-component-surface-selected
452
- );
453
- --color-interface-menu-keybind-surface-default: var(
454
- --interface-menu-keybind-surface-default
455
- );
456
- --color-interface-menu-surface: var(--interface-menu-surface);
457
- --color-interface-menu-stroke: var(--interface-menu-stroke);
458
- --color-interface-panel-surface: var(--interface-panel-surface);
459
- --color-interface-panel-hover-surface: var(--interface-panel-hover-surface);
460
- --color-interface-panel-selected-surface: var(
461
- --interface-panel-selected-surface
462
- );
463
- --color-interface-button-hover-surface: var(--interface-button-hover-surface);
464
- --color-comfy-input: var(--comfy-input-bg);
465
- --color-comfy-input-foreground: var(--input-text);
466
- --color-comfy-menu-bg: var(--comfy-menu-bg);
467
- --color-comfy-menu-secondary: var(--comfy-menu-secondary-bg);
468
-
469
- --color-interface-builder-mode-background: var(
470
- --interface-builder-mode-background
471
- );
472
- --color-interface-builder-mode-button-background: var(
473
- --interface-builder-mode-button-background
474
- );
475
- --color-interface-builder-mode-button-foreground: var(
476
- --interface-builder-mode-button-foreground
477
- );
478
- --color-interface-builder-mode-footer-background: var(
479
- --interface-builder-mode-footer-background
480
- );
481
- --color-interface-stroke: var(--interface-stroke);
482
- --color-nav-background: var(--nav-background);
483
- --color-node-border: var(--node-border);
484
- --color-node-component-border: var(--node-component-border);
485
- --color-node-component-executing: var(--node-component-executing);
486
- --color-node-component-header: var(--node-component-header);
487
- --color-node-component-header-icon: var(--node-component-header-icon);
488
- --color-node-component-header-surface: var(--node-component-header-surface);
489
- --color-node-component-outline: var(--node-component-outline);
490
- --color-node-component-ring: var(--node-component-ring);
491
- --color-node-component-slot-dot-outline: rgb(
492
- from var(--node-component-slot-dot-outline) r g b /
493
- calc(
494
- var(--node-component-slot-dot-outline-opacity) *
495
- var(--node-component-slot-dot-outline-opacity-mult)
496
- )
497
- );
498
- --color-node-component-slot-text: var(--node-component-slot-text);
499
- --color-node-component-surface-highlight: var(
500
- --node-component-surface-highlight
501
- );
502
- --color-node-component-surface-hovered: var(--node-component-surface-hovered);
503
- --color-node-component-surface-selected: var(--component-surface-selected);
504
- --color-node-component-surface: var(--node-component-surface);
505
- --color-node-component-tooltip: var(--node-component-tooltip);
506
- --color-node-component-tooltip-border: var(--node-component-tooltip-border);
507
- --color-node-component-tooltip-surface: var(--node-component-tooltip-surface);
508
- --color-node-component-widget-input: var(--node-component-widget-input);
509
- --color-node-component-widget-input-surface: var(
510
- --node-component-widget-input-surface
511
- );
512
- --color-node-component-widget-skeleton-surface: var(
513
- --node-component-widget-skeleton-surface
514
- );
515
- --color-node-component-disabled: var(--node-component-disabled);
516
- --color-node-divider: var(--node-divider);
517
- --color-node-icon-disabled: var(--node-icon-disabled);
518
- --color-node-stroke: var(--node-stroke);
519
- --color-node-stroke-selected: var(--node-stroke-selected);
520
- --color-node-stroke-error: var(--node-stroke-error);
521
- --color-node-stroke-executing: var(--node-stroke-executing);
522
- --color-text-secondary: var(--text-secondary);
523
- --color-text-primary: var(--text-primary);
524
- --color-input-surface: var(--input-surface);
525
-
526
- /* Component/Node design tokens */
527
- --color-component-node-background: var(--component-node-background);
528
- --color-component-node-border: var(--component-node-border);
529
- --color-component-node-foreground: var(--component-node-foreground);
530
- --color-component-node-foreground-secondary: var(
531
- --component-node-foreground-secondary
532
- );
533
- --color-component-node-widget-background: var(
534
- --component-node-widget-background
535
- );
536
- --color-component-node-widget-background-hovered: var(
537
- --component-node-widget-background-hovered
538
- );
539
- --color-component-node-widget-background-selected: var(
540
- --component-node-widget-background-selected
541
- );
542
- --color-component-node-widget-background-disabled: var(
543
- --component-node-widget-background-disabled
544
- );
545
- --color-component-node-widget-background-highlighted: var(
546
- --component-node-widget-background-highlighted
547
- );
548
- --color-component-node-widget-promoted: var(--component-node-widget-promoted);
549
- --color-component-node-widget-advanced: var(--component-node-widget-advanced);
550
- --color-video-trim-selection-background: var(
551
- --video-trim-selection-background
552
- );
553
- --color-video-trim-playhead-background: var(--video-trim-playhead-background);
554
-
555
- /* Semantic tokens */
556
- --color-base-foreground: var(--base-foreground);
557
- --color-muted-foreground: var(--muted-foreground);
558
- --color-base-background: var(--base-background);
559
- --color-secondary-background: var(--secondary-background);
560
- --color-secondary-background-hover: var(--secondary-background-hover);
561
- --color-secondary-background-selected: var(--secondary-background-selected);
562
- --color-tertiary-background: var(--tertiary-background);
563
- --color-tertiary-background-hover: var(--tertiary-background-hover);
564
- --color-primary-background: var(--primary-background);
565
- --color-primary-background-hover: var(--primary-background-hover);
566
- --color-destructive-background: var(--destructive-background);
567
- --color-destructive-background-hover: var(--destructive-background-hover);
568
- --color-inverted-background-hover: var(--inverted-background-hover);
569
- --color-warning-background: var(--warning-background);
570
- --color-warning-background-hover: var(--warning-background-hover);
571
- --color-warning-foreground: var(--warning-foreground);
572
- --color-warning-on-background: var(--warning-on-background);
573
- --color-success-background: var(--success-background);
574
- --color-border-default: var(--border-default);
575
- --color-border-subtle: var(--border-subtle);
576
- --color-muted-background: var(--muted-background);
577
- --color-accent-background: var(--accent-background);
578
- --color-brand-yellow: var(--brand-yellow);
579
- --color-brand-blue: var(--brand-blue);
580
- }
581
-
582
- @custom-variant dark-theme {
583
- .dark-theme & {
584
- @slot;
585
- }
586
- }
587
-
588
- @utility highlight {
589
- background-color: color-mix(in srgb, currentColor 20%, transparent);
590
- font-weight: 700;
591
- border-radius: 0.25rem;
592
- }
593
-
594
- @utility scrollbar-hide {
595
- scrollbar-width: none;
596
- &::-webkit-scrollbar {
597
- width: 1px;
598
- }
599
- &::-webkit-scrollbar-thumb {
600
- background-color: transparent;
601
- }
602
- }
603
-
604
- /* ===================== Scrollbar Utilities (Tailwind) =====================
605
- Usage: Add `scrollbar-custom` class to scrollable containers.
606
- The scrollbar styling adapts to light/dark theme automatically.
607
- ============================================================================ */
608
-
609
- @utility scrollbar-custom {
610
- overflow-y: auto;
611
- /* Firefox */
612
- scrollbar-width: thin;
613
- scrollbar-color: var(--dialog-surface) transparent;
614
-
615
- /* WebKit */
616
- &::-webkit-scrollbar {
617
- width: 10px;
618
- height: 10px;
619
- background-color: transparent;
620
- }
621
- &::-webkit-scrollbar-track {
622
- background: transparent;
623
- }
624
- &::-webkit-scrollbar-thumb {
625
- background: var(--dialog-surface);
626
- border-radius: 9999px;
627
- border: 2px solid transparent;
628
- }
629
- &::-webkit-scrollbar-thumb:hover {
630
- background: var(--dialog-surface);
631
- }
632
- &::-webkit-scrollbar-corner {
633
- background: transparent;
634
- }
635
- }
636
- /* =================== End Custom Scrollbar (cross-browser) =================== */
637
-
638
- /* Everthing below here to be cleaned up over time. */
639
-
640
- body {
641
- width: 100vw;
642
- height: 100vh;
643
- margin: 0;
644
- overflow: hidden;
645
- min-height: -webkit-fill-available;
646
- max-height: -webkit-fill-available;
647
- min-width: -webkit-fill-available;
648
- max-width: -webkit-fill-available;
649
- font-family: Inter, Arial, sans-serif;
650
- }
651
-
652
- .comfy-multiline-input {
653
- background-color: var(--comfy-input-bg);
654
- color: var(--input-text);
655
- overflow: hidden;
656
- overflow-y: auto;
657
- padding: 2px;
658
- resize: none;
659
- border: none;
660
- box-sizing: border-box;
661
- font-size: var(--comfy-textarea-font-size);
662
- }
663
-
664
- .comfy-markdown {
665
- /* We assign the textarea and the Tiptap editor to the same CSS grid area to stack them on top of one another. */
666
- display: grid;
667
- & > textarea,
668
- .tiptap {
669
- grid-area: 1 / 1 / 2 / 2;
670
- }
671
-
672
- & > textarea {
673
- opacity: 0;
674
- pointer-events: none;
675
- }
676
-
677
- &.editing {
678
- & > textarea {
679
- opacity: 1;
680
- pointer-events: all;
681
- }
682
-
683
- .tiptap {
684
- opacity: 0;
685
- pointer-events: none;
686
- }
687
- }
688
-
689
- .tiptap {
690
- overflow-y: auto;
691
- font-size: var(--comfy-textarea-font-size);
692
-
693
- :first-child {
694
- margin-top: 0;
695
- }
696
-
697
- :last-child {
698
- margin-bottom: 0;
699
- }
700
- }
701
- }
702
-
703
- .comfy-markdown .tiptap blockquote {
704
- border-left: medium solid;
705
- margin-left: 1em;
706
- padding-left: 0.5em;
707
- }
708
-
709
- .comfy-markdown .tiptap pre {
710
- border: thin dotted;
711
- border-radius: 0.5em;
712
- margin: 0.5em;
713
- padding: 0.5em;
714
- }
715
-
716
- .comfy-markdown .tiptap table {
717
- border-collapse: collapse;
718
- }
719
-
720
- .comfy-markdown .tiptap th {
721
- text-align: left;
722
- background: var(--comfy-menu-bg);
723
- }
724
-
725
- .comfy-markdown .tiptap th,
726
- .comfy-markdown .tiptap td {
727
- padding: 0.5em;
728
- border: thin solid;
729
- }
730
-
731
- /* Heading rhythm shared by both markdown renderers; em-relative so margins scale with the heading, not the root font size. */
732
- .comfy-markdown .tiptap h1,
733
- .comfy-markdown .tiptap h2,
734
- .comfy-markdown .tiptap h3,
735
- .comfy-markdown .tiptap h4,
736
- .comfy-markdown .tiptap h5,
737
- .comfy-markdown .tiptap h6,
738
- .comfy-markdown-content h1,
739
- .comfy-markdown-content h2,
740
- .comfy-markdown-content h3,
741
- .comfy-markdown-content h4,
742
- .comfy-markdown-content h5,
743
- .comfy-markdown-content h6 {
744
- margin-block: 0.67em;
745
- }
746
-
747
- /* Tiptap headings already resolve to `normal`; only the parsed-HTML renderer needs its 1.6 body leading overridden. */
748
- .comfy-markdown-content h1,
749
- .comfy-markdown-content h2,
750
- .comfy-markdown-content h3,
751
- .comfy-markdown-content h4,
752
- .comfy-markdown-content h5,
753
- .comfy-markdown-content h6 {
754
- line-height: 1.2;
755
- }
756
-
757
- /* Shared markdown content styling for consistent rendering across components */
758
- .comfy-markdown-content {
759
- /* Typography */
760
- font-size: var(--comfy-textarea-font-size);
761
- line-height: 1.6;
762
- word-wrap: break-word;
763
- }
764
-
765
- /* Headings */
766
- .comfy-markdown-content h1 {
767
- font-size: calc(22 / 14 * var(--comfy-textarea-font-size));
768
- font-weight: 700; /* font-bold */
769
- }
770
-
771
- .comfy-markdown-content h2 {
772
- font-size: calc(18 / 14 * var(--comfy-textarea-font-size));
773
- font-weight: 700; /* font-bold */
774
- }
775
-
776
- .comfy-markdown-content h3 {
777
- font-size: calc(16 / 14 * var(--comfy-textarea-font-size));
778
- font-weight: 700; /* font-bold */
779
- }
780
-
781
- /* Paragraphs */
782
- .comfy-markdown-content p {
783
- margin: 0 0 0.5em;
784
- }
785
-
786
- .comfy-markdown-content p:last-child {
787
- margin-bottom: 0;
788
- }
789
-
790
- /* First child reset */
791
- .comfy-markdown-content *:first-child {
792
- margin-top: 0; /* mt-0 */
793
- }
794
-
795
- /* Lists */
796
- .comfy-markdown-content ul,
797
- .comfy-markdown-content ol {
798
- padding-left: 2rem; /* pl-8 */
799
- margin: 0.5rem 0; /* my-2 */
800
- }
801
-
802
- /* Nested lists */
803
- .comfy-markdown-content ul ul,
804
- .comfy-markdown-content ol ol,
805
- .comfy-markdown-content ul ol,
806
- .comfy-markdown-content ol ul {
807
- padding-left: 1.5rem; /* pl-6 */
808
- margin: 0.5rem 0; /* my-2 */
809
- }
810
-
811
- .comfy-markdown-content li {
812
- margin: 0.5rem 0; /* my-2 */
813
- }
814
-
815
- /* Code */
816
- .comfy-markdown-content code {
817
- color: var(--code-text-color);
818
- background-color: var(--code-bg-color);
819
- border-radius: 0.25rem; /* rounded */
820
- padding: 0.125rem 0.375rem; /* px-1.5 py-0.5 */
821
- font-family: monospace;
822
- }
823
-
824
- .comfy-markdown-content pre {
825
- background-color: var(--code-block-bg-color);
826
- border-radius: 0.25rem; /* rounded */
827
- padding: 1rem; /* p-4 */
828
- margin: 1rem 0; /* my-4 */
829
- overflow-x: auto; /* overflow-x-auto */
830
- }
831
-
832
- .comfy-markdown-content pre code {
833
- background-color: transparent; /* bg-transparent */
834
- padding: 0; /* p-0 */
835
- color: var(--p-text-color);
836
- }
837
-
838
- /* Tables */
839
- .comfy-markdown-content table {
840
- width: 100%; /* w-full */
841
- border-collapse: collapse; /* border-collapse */
842
- }
843
-
844
- .comfy-markdown-content th,
845
- .comfy-markdown-content td {
846
- padding: 0.5rem; /* px-2 py-2 */
847
- }
848
-
849
- .comfy-markdown-content th {
850
- color: var(--fg-color);
851
- }
852
-
853
- .comfy-markdown-content td {
854
- color: var(--drag-text);
855
- }
856
-
857
- .comfy-markdown-content tr {
858
- border-bottom: 1px solid var(--content-bg);
859
- }
860
-
861
- .comfy-markdown-content tr:last-child {
862
- border-bottom: none;
863
- }
864
-
865
- .comfy-markdown-content thead {
866
- border-bottom: 1px solid var(--p-text-color);
867
- }
868
-
869
- /* Links */
870
- .comfy-markdown-content a {
871
- color: var(--drag-text);
872
- text-decoration: underline;
873
- }
874
-
875
- /* Media */
876
- .comfy-markdown-content img,
877
- .comfy-markdown-content video {
878
- max-width: 100%; /* max-w-full */
879
- height: auto; /* h-auto */
880
- display: block; /* block */
881
- margin-bottom: 1rem; /* mb-4 */
882
- }
883
-
884
- /* Blockquotes */
885
- .comfy-markdown-content blockquote {
886
- border-left: 3px solid var(--p-primary-color, var(--primary-bg));
887
- padding-left: 0.75em;
888
- margin: 0.5em 0;
889
- opacity: 0.8;
890
- }
891
-
892
- /* Horizontal rule */
893
- .comfy-markdown-content hr {
894
- border: none;
895
- border-top: 1px solid var(--p-border-color, var(--border-color));
896
- margin: 1em 0;
897
- }
898
-
899
- /* Strong and emphasis */
900
- .comfy-markdown-content strong {
901
- font-weight: 700;
902
- }
903
-
904
- .comfy-markdown-content em {
905
- font-style: italic;
906
- }
907
-
908
- .comfy-modal {
909
- display: none; /* Hidden by default */
910
- position: fixed; /* Stay in place */
911
- z-index: 100; /* Sit on top */
912
- padding: 30px 30px 10px;
913
- background-color: var(--comfy-menu-bg); /* Modal background */
914
- color: var(--error-text);
915
- box-shadow: 0 0 20px #888888;
916
- border-radius: 10px;
917
- top: 50%;
918
- left: 50%;
919
- max-width: 80vw;
920
- max-height: 80vh;
921
- transform: translate(-50%, -50%);
922
- overflow: hidden;
923
- justify-content: center;
924
- font-family: monospace;
925
- font-size: 15px;
926
- }
927
-
928
- .comfy-modal-content {
929
- display: flex;
930
- flex-direction: column;
931
- }
932
-
933
- .comfy-modal p {
934
- overflow: auto;
935
- white-space: pre-line; /* This will respect line breaks */
936
- margin-bottom: 20px; /* Add some margin between the text and the close button*/
937
- }
938
-
939
- .comfy-modal select,
940
- .comfy-modal input[type='button'],
941
- .comfy-modal input[type='checkbox'] {
942
- margin: 3px 3px 3px 4px;
943
- }
944
-
945
- .comfy-menu {
946
- font-size: 15px;
947
- position: absolute;
948
- top: 50%;
949
- right: 0;
950
- text-align: center;
951
- z-index: 999;
952
- width: 190px;
953
- display: flex;
954
- flex-direction: column;
955
- align-items: center;
956
- color: var(--descrip-text);
957
- background-color: var(--comfy-menu-bg);
958
- padding: 10px;
959
- border-radius: 0 8px 8px;
960
- box-shadow: 3px 3px 8px rgb(0 0 0 / 0.4);
961
- }
962
-
963
- .comfy-menu-header {
964
- display: flex;
965
- }
966
-
967
- .comfy-menu-actions {
968
- display: flex;
969
- gap: 3px;
970
- align-items: center;
971
- height: 20px;
972
- position: relative;
973
- top: -1px;
974
- font-size: 22px;
975
- }
976
-
977
- .comfy-menu .comfy-menu-actions button {
978
- background-color: rgb(0 0 0 / 0);
979
- padding: 0;
980
- border: none;
981
- cursor: pointer;
982
- font-size: inherit;
983
- }
984
-
985
- .comfy-menu .comfy-menu-actions .comfy-settings-btn {
986
- font-size: 0.6em;
987
- }
988
-
989
- button.comfy-close-menu-btn {
990
- font-size: 1em;
991
- line-height: 12px;
992
- color: #ccc;
993
- position: relative;
994
- top: -1px;
995
- }
996
-
997
- .comfy-menu-queue-size {
998
- flex: auto;
999
- }
1000
-
1001
- .comfy-menu button,
1002
- .comfy-modal button {
1003
- font-size: 20px;
1004
- }
1005
-
1006
- .comfy-menu-btns {
1007
- margin-bottom: 10px;
1008
- width: 100%;
1009
- }
1010
-
1011
- .comfy-menu-btns button {
1012
- font-size: 10px;
1013
- width: 50%;
1014
- color: var(--descrip-text) !important;
1015
- }
1016
-
1017
- .comfy-menu > button {
1018
- width: 100%;
1019
- }
1020
-
1021
- .comfy-btn,
1022
- .comfy-menu > button,
1023
- .comfy-menu-btns button,
1024
- .comfy-menu .comfy-list button,
1025
- .comfy-modal button {
1026
- color: var(--input-text);
1027
- background-color: var(--comfy-input-bg);
1028
- border-width: initial;
1029
- border-radius: 8px;
1030
- border-color: var(--border-color);
1031
- border-style: solid;
1032
- margin-top: 2px;
1033
- }
1034
-
1035
- .comfy-btn:hover:not(:disabled),
1036
- .comfy-menu > button:hover,
1037
- .comfy-menu-btns button:hover,
1038
- .comfy-menu .comfy-list button:hover,
1039
- .comfy-modal button:hover,
1040
- .comfy-menu-actions button:hover {
1041
- filter: brightness(1.2);
1042
- will-change: transform;
1043
- cursor: pointer;
1044
- }
1045
-
1046
- span.drag-handle {
1047
- display: inline-block;
1048
- overflow: hidden;
1049
- line-height: 5px;
1050
- padding: 3px 4px;
1051
- vertical-align: middle;
1052
- margin-top: -0.4em;
1053
- margin-left: -0.2em;
1054
- font-size: 12px;
1055
- letter-spacing: 2px;
1056
- color: var(--drag-text);
1057
- text-shadow: 1px 0 1px black;
1058
- touch-action: none;
1059
- }
1060
-
1061
- span.drag-handle::after {
1062
- content: '.. .. ..';
1063
- }
1064
-
1065
- .comfy-queue-btn {
1066
- width: 100%;
1067
- }
1068
-
1069
- .comfy-list {
1070
- color: var(--descrip-text);
1071
- background-color: var(--comfy-menu-bg);
1072
- margin-bottom: 10px;
1073
- border-color: var(--border-color);
1074
- border-style: solid;
1075
- }
1076
-
1077
- .comfy-list-items {
1078
- overflow-y: scroll;
1079
- max-height: 100px;
1080
- min-height: 25px;
1081
- background-color: var(--comfy-input-bg);
1082
- padding: 5px;
1083
- }
1084
-
1085
- .comfy-list h4 {
1086
- min-width: 160px;
1087
- margin: 0;
1088
- padding: 3px;
1089
- font-weight: 400;
1090
- }
1091
-
1092
- .comfy-list-items button {
1093
- font-size: 10px;
1094
- }
1095
-
1096
- .comfy-list-actions {
1097
- margin: 5px;
1098
- display: flex;
1099
- gap: 5px;
1100
- justify-content: center;
1101
- }
1102
-
1103
- .comfy-list-actions button {
1104
- font-size: 12px;
1105
- }
1106
-
1107
- button.comfy-queue-btn {
1108
- margin: 6px 0 !important;
1109
- }
1110
-
1111
- .comfy-modal.comfy-settings,
1112
- .comfy-modal.comfy-manage-templates {
1113
- text-align: center;
1114
- color: var(--descrip-text);
1115
- z-index: 99;
1116
- }
1117
-
1118
- .comfy-modal.comfy-settings input[type='range'] {
1119
- vertical-align: middle;
1120
- }
1121
-
1122
- .comfy-modal.comfy-settings input[type='range'] + input[type='number'] {
1123
- width: 3.5em;
1124
- }
1125
-
1126
- .comfy-modal input,
1127
- .comfy-modal select {
1128
- color: var(--input-text);
1129
- background-color: var(--comfy-input-bg);
1130
- border-radius: 8px;
1131
- border-color: var(--border-color);
1132
- border-style: solid;
1133
- font-size: inherit;
1134
- }
1135
-
1136
- .comfy-tooltip-indicator {
1137
- text-decoration: underline;
1138
- text-decoration-style: dashed;
1139
- }
1140
-
1141
- @media only screen and (max-height: 850px) {
1142
- .comfy-menu {
1143
- top: 0 !important;
1144
- bottom: 0 !important;
1145
- left: auto !important;
1146
- right: 0 !important;
1147
- border-radius: 0;
1148
- }
1149
-
1150
- .comfy-menu span.drag-handle {
1151
- display: none;
1152
- }
1153
-
1154
- .comfy-menu-queue-size {
1155
- flex: unset;
1156
- }
1157
-
1158
- .comfy-menu-header {
1159
- justify-content: space-between;
1160
- }
1161
- .comfy-menu-actions {
1162
- gap: 10px;
1163
- font-size: 28px;
1164
- }
1165
- }
1166
-
1167
- /* Input popup */
1168
-
1169
- .graphdialog {
1170
- min-height: 1em;
1171
- background-color: var(--comfy-menu-bg);
1172
- z-index: 1500;
1173
- }
1174
-
1175
- .graphdialog .name {
1176
- font-size: 14px;
1177
- color: var(--descrip-text);
1178
- }
1179
-
1180
- .graphdialog button {
1181
- margin-top: unset;
1182
- vertical-align: unset;
1183
- height: 1.6em;
1184
- padding-right: 8px;
1185
- }
1186
-
1187
- .graphdialog input,
1188
- .graphdialog textarea,
1189
- .graphdialog select {
1190
- background-color: var(--comfy-input-bg);
1191
- border: 2px solid;
1192
- border-color: var(--border-color);
1193
- color: var(--input-text);
1194
- border-radius: 12px 0 0 12px;
1195
- }
1196
-
1197
- /* Dialogs */
1198
-
1199
- dialog {
1200
- box-shadow: 0 0 20px #888888;
1201
- }
1202
-
1203
- dialog::backdrop {
1204
- background: rgb(0 0 0 / 0.5);
1205
- }
1206
-
1207
- .comfy-dialog.comfyui-dialog.comfy-modal {
1208
- top: 0;
1209
- left: 0;
1210
- right: 0;
1211
- bottom: 0;
1212
- transform: none;
1213
- }
1214
-
1215
- .comfy-dialog.comfy-modal {
1216
- border-color: var(--bg-color);
1217
- box-shadow: none;
1218
- border: 2px solid var(--border-color);
1219
- }
1220
-
1221
- .comfy-dialog .comfy-modal-content {
1222
- flex-direction: row;
1223
- flex-wrap: wrap;
1224
- gap: 10px;
1225
- color: var(--fg-color);
1226
- }
1227
-
1228
- .comfy-dialog .comfy-modal-content h3 {
1229
- margin-top: 0;
1230
- }
1231
-
1232
- .comfy-dialog .comfy-modal-content > p {
1233
- width: 100%;
1234
- }
1235
-
1236
- .comfy-dialog .comfy-modal-content > .comfyui-button {
1237
- flex: 1;
1238
- justify-content: center;
1239
- }
1240
-
1241
- /* Context menu */
1242
-
1243
- .litegraph .dialog {
1244
- z-index: 1;
1245
- }
1246
-
1247
- .litegraph .litemenu-entry.has_submenu {
1248
- position: relative;
1249
- padding-right: 20px;
1250
- }
1251
-
1252
- .litemenu-entry.has_submenu::after {
1253
- content: '>';
1254
- position: absolute;
1255
- top: 0;
1256
- right: 2px;
1257
- }
1258
-
1259
- .litegraph.litecontextmenu,
1260
- .litegraph.litecontextmenu.dark {
1261
- z-index: 9999 !important;
1262
- background-color: var(--comfy-menu-bg);
1263
- }
1264
-
1265
- .litegraph.litecontextmenu .litemenu-entry.submenu,
1266
- .litegraph.litecontextmenu.dark .litemenu-entry.submenu {
1267
- background-color: var(--comfy-menu-bg);
1268
- color: var(--fg-color);
1269
- }
1270
-
1271
- .litegraph.litecontextmenu input {
1272
- background-color: var(--comfy-input-bg);
1273
- color: var(--input-text);
1274
- }
1275
-
1276
- .comfy-context-menu-filter {
1277
- box-sizing: border-box;
1278
- border: 1px solid #999;
1279
- margin: 0 0 5px 5px;
1280
- width: calc(100% - 10px);
1281
- }
1282
-
1283
- .comfy-img-preview {
1284
- pointer-events: none;
1285
- overflow: hidden;
1286
- display: flex;
1287
- flex-wrap: wrap;
1288
- align-content: flex-start;
1289
- justify-content: center;
1290
- }
1291
-
1292
- .comfy-img-preview img {
1293
- object-fit: contain;
1294
- width: var(--comfy-img-preview-width);
1295
- height: var(--comfy-img-preview-height);
1296
- }
1297
-
1298
- .comfy-img-preview video {
1299
- pointer-events: auto;
1300
- object-fit: contain;
1301
- height: 100%;
1302
- width: 100%;
1303
- }
1304
-
1305
- .comfy-missing-nodes li button {
1306
- font-size: 12px;
1307
- margin-left: 5px;
1308
- }
1309
-
1310
- /* Search box */
1311
-
1312
- .litegraph.litesearchbox {
1313
- z-index: 9999 !important;
1314
- background-color: var(--comfy-menu-bg);
1315
- overflow: hidden;
1316
- display: block;
1317
- }
1318
-
1319
- .litegraph.litesearchbox input,
1320
- .litegraph.litesearchbox select {
1321
- background-color: var(--comfy-input-bg);
1322
- color: var(--input-text);
1323
- }
1324
-
1325
- .litegraph.lite-search-item {
1326
- color: var(--input-text);
1327
- background-color: var(--comfy-input-bg);
1328
- filter: brightness(80%);
1329
- will-change: transform;
1330
- padding-left: 0.2em;
1331
- }
1332
-
1333
- .litegraph.lite-search-item.generic_type {
1334
- color: var(--input-text);
1335
- filter: brightness(50%);
1336
- will-change: transform;
1337
- }
1338
-
1339
- audio.comfy-audio.empty-audio-widget {
1340
- display: none;
1341
- }
1342
-
1343
- #vue-app {
1344
- position: absolute;
1345
- top: 0;
1346
- left: 0;
1347
- width: 100%;
1348
- height: 100%;
1349
- }
1350
-
1351
- /* Set auto complete panel's width as it is not accessible within vue-root */
1352
- .p-autocomplete-overlay {
1353
- max-width: 25vw;
1354
- }
1355
-
1356
- .p-tree-node-content {
1357
- padding: var(--comfy-tree-explorer-item-padding) !important;
1358
- }
1359
-
1360
- /* [Desktop] Electron window specific styles */
1361
- .app-drag {
1362
- app-region: drag;
1363
- }
1364
-
1365
- .no-drag {
1366
- app-region: no-drag;
1367
- }
1368
-
1369
- .window-actions-spacer {
1370
- width: calc(100vw - env(titlebar-area-width, 100vw));
1371
- }
1372
- /* End of [Desktop] Electron window specific styles */
1373
-
1374
- .lg-node {
1375
- /* Disable text selection on all nodes */
1376
- user-select: none;
1377
- }
1378
-
1379
- .lg-node .lg-slot,
1380
- .lg-node .lg-widget {
1381
- transition:
1382
- opacity 0.1s ease,
1383
- font-size 0.1s ease;
1384
- }
1385
-
1386
- /* ===================== Mask Editor Styles ===================== */
1387
- /* To be migrated to Tailwind later */
1388
- #maskEditor_brush {
1389
- position: absolute;
1390
- backgroundcolor: transparent;
1391
- z-index: 8889;
1392
- pointer-events: none;
1393
- border-radius: 50%;
1394
- overflow: visible;
1395
- outline: 1px dashed black;
1396
- box-shadow: 0 0 0 1px white;
1397
- }
1398
- #maskEditor_brushPreviewGradient {
1399
- position: absolute;
1400
- width: 100%;
1401
- height: 100%;
1402
- border-radius: 50%;
1403
- display: none;
1404
- }
1405
- .maskEditor_sidePanelTitle {
1406
- text-align: center;
1407
- font-size: 15px;
1408
- color: var(--descrip-text);
1409
- margin-top: 10px;
1410
- }
1411
- .maskEditor_sidePanelBrushShapeCircle {
1412
- width: 35px;
1413
- height: 35px;
1414
- border-radius: 50%;
1415
- border: 1px solid var(--border-color);
1416
- pointer-events: auto;
1417
- transition: background 0.1s;
1418
- margin-left: 7.5px;
1419
- }
1420
- .maskEditor_sidePanelBrushRange {
1421
- width: 180px;
1422
- appearance: none;
1423
- background: transparent;
1424
- cursor: pointer;
1425
- }
1426
- .maskEditor_sidePanelBrushRange::-webkit-slider-thumb {
1427
- height: 20px;
1428
- width: 20px;
1429
- border-radius: 50%;
1430
- cursor: grab;
1431
- margin-top: -8px;
1432
- background: var(--p-surface-700);
1433
- border: 1px solid var(--border-color);
1434
- }
1435
- .maskEditor_sidePanelBrushRange::-moz-range-thumb {
1436
- height: 20px;
1437
- width: 20px;
1438
- border-radius: 50%;
1439
- cursor: grab;
1440
- background: var(--p-surface-800);
1441
- border: 1px solid var(--border-color);
1442
- }
1443
- .maskEditor_sidePanelBrushRange::-webkit-slider-runnable-track {
1444
- background: var(--p-surface-700);
1445
- height: 3px;
1446
- }
1447
- .maskEditor_sidePanelBrushRange::-moz-range-track {
1448
- background: var(--p-surface-700);
1449
- height: 3px;
1450
- }
1451
-
1452
- .maskEditor_sidePanelBrushShapeSquare {
1453
- width: 35px;
1454
- height: 35px;
1455
- margin: 5px;
1456
- border: 1px solid var(--border-color);
1457
- pointer-events: auto;
1458
- transition: background 0.1s;
1459
- }
1460
-
1461
- .maskEditor_brushShape_dark {
1462
- background: transparent;
1463
- }
1464
-
1465
- .maskEditor_brushShape_dark:hover {
1466
- background: var(--p-surface-900);
1467
- }
1468
-
1469
- .maskEditor_brushShape_light {
1470
- background: transparent;
1471
- }
1472
-
1473
- .maskEditor_brushShape_light:hover {
1474
- background: var(--comfy-menu-bg);
1475
- }
1476
-
1477
- .maskEditor_sidePanelLayer {
1478
- display: flex;
1479
- width: 100%;
1480
- height: 50px;
1481
- }
1482
- .maskEditor_sidePanelLayerVisibilityContainer {
1483
- width: 50px;
1484
- height: 50px;
1485
- border-radius: 8px;
1486
- display: flex;
1487
- justify-content: center;
1488
- align-items: center;
1489
- }
1490
- .maskEditor_sidePanelVisibilityToggle {
1491
- width: 12px;
1492
- height: 12px;
1493
- border-radius: 50%;
1494
- pointer-events: auto;
1495
- }
1496
- .maskEditor_sidePanelLayerIconContainer {
1497
- width: 60px;
1498
- height: 50px;
1499
- border-radius: 8px;
1500
- display: flex;
1501
- justify-content: center;
1502
- align-items: center;
1503
- fill: var(--input-text);
1504
- }
1505
- .maskEditor_sidePanelLayerIconContainer svg {
1506
- width: 30px;
1507
- height: 30px;
1508
- }
1509
- .maskEditor_sidePanelBigButton {
1510
- width: 85px;
1511
- height: 30px;
1512
- background: rgb(0 0 0 / 0.2);
1513
- border: 1px solid var(--border-color);
1514
- color: var(--input-text);
1515
- font-size: 15px;
1516
- pointer-events: auto;
1517
- transition: background-color 0.1s;
1518
- }
1519
- .maskEditor_sidePanelBigButton:hover {
1520
- background-color: var(--p-overlaybadge-outline-color);
1521
- border: none;
1522
- }
1523
- .maskEditor_toolPanelContainer {
1524
- width: 4rem;
1525
- height: 4rem;
1526
- display: flex;
1527
- justify-content: center;
1528
- align-items: center;
1529
- position: relative;
1530
- transition: background-color 0.2s;
1531
- }
1532
- .maskEditor_toolPanelContainerSelected .maskEditor_toolPanelIndicator {
1533
- display: block;
1534
- }
1535
- .maskEditor_toolPanelContainer svg {
1536
- width: 75%;
1537
- aspect-ratio: 1/1;
1538
- }
1539
-
1540
- .maskEditor_toolPanelContainerDark:hover {
1541
- background-color: var(--p-surface-800);
1542
- }
1543
-
1544
- .maskEditor_toolPanelContainerLight:hover {
1545
- background-color: var(--p-surface-300);
1546
- }
1547
-
1548
- .maskEditor_toolPanelIndicator {
1549
- display: none;
1550
- height: 100%;
1551
- width: 4px;
1552
- position: absolute;
1553
- left: 0;
1554
- background: currentColor;
1555
- }
1556
- .maskEditor_sidePanelSeparator {
1557
- width: 100%;
1558
- height: 2px;
1559
- background: var(--border-color);
1560
- margin-top: 1.5em;
1561
- margin-bottom: 5px;
1562
- }
1563
- #maskEditorCanvasContainer {
1564
- position: absolute;
1565
- width: 1000px;
1566
- height: 667px;
1567
- left: 359px;
1568
- top: 280px;
1569
- }
1570
-
1571
- .maskEditor_topPanelIconButton_dark {
1572
- width: 50px;
1573
- height: 30px;
1574
- pointer-events: auto;
1575
- display: flex;
1576
- justify-content: center;
1577
- align-items: center;
1578
- transition: background-color 0.1s;
1579
- background: var(--p-surface-800);
1580
- border: 1px solid var(--p-form-field-border-color);
1581
- border-radius: 10px;
1582
- }
1583
-
1584
- .maskEditor_topPanelIconButton_dark:hover {
1585
- background-color: var(--p-surface-900);
1586
- }
1587
-
1588
- .maskEditor_topPanelIconButton_dark svg {
1589
- width: 25px;
1590
- height: 25px;
1591
- pointer-events: none;
1592
- fill: var(--input-text);
1593
- }
1594
-
1595
- .maskEditor_topPanelIconButton_light {
1596
- width: 50px;
1597
- height: 30px;
1598
- pointer-events: auto;
1599
- display: flex;
1600
- justify-content: center;
1601
- align-items: center;
1602
- transition: background-color 0.1s;
1603
- background: var(--comfy-menu-bg);
1604
- border: 1px solid var(--p-form-field-border-color);
1605
- border-radius: 10px;
1606
- }
1607
-
1608
- .maskEditor_topPanelIconButton_light:hover {
1609
- background-color: var(--p-surface-300);
1610
- }
1611
-
1612
- .maskEditor_topPanelIconButton_light svg {
1613
- width: 25px;
1614
- height: 25px;
1615
- pointer-events: none;
1616
- fill: var(--input-text);
1617
- }
1618
-
1619
- .maskEditor_topPanelButton_dark {
1620
- height: 30px;
1621
- background: var(--p-surface-800);
1622
- border: 1px solid var(--p-form-field-border-color);
1623
- border-radius: 10px;
1624
- color: var(--input-text);
1625
- pointer-events: auto;
1626
- transition: 0.1s;
1627
- width: 60px;
1628
- }
1629
-
1630
- .maskEditor_topPanelButton_dark:hover {
1631
- background-color: var(--p-surface-900);
1632
- }
1633
-
1634
- .maskEditor_topPanelButton_light {
1635
- height: 30px;
1636
- background: var(--comfy-menu-bg);
1637
- border: 1px solid var(--p-form-field-border-color);
1638
- border-radius: 10px;
1639
- color: var(--input-text);
1640
- pointer-events: auto;
1641
- transition: 0.1s;
1642
- width: 60px;
1643
- }
1644
-
1645
- .maskEditor_topPanelButton_light:hover {
1646
- background-color: var(--p-surface-300);
1647
- }
1648
-
1649
- .maskEditor_sidePanel_paintBucket_Container {
1650
- width: 180px;
1651
- display: flex;
1652
- flex-direction: column;
1653
- position: relative;
1654
- }
1655
-
1656
- .maskEditor_sidePanel_colorSelect_Container {
1657
- display: flex;
1658
- width: 180px;
1659
- align-items: center;
1660
- gap: 5px;
1661
- height: 30px;
1662
- }
1663
-
1664
- .maskEditor_sidePanel_colorSelect_tolerance_container {
1665
- display: flex;
1666
- flex-direction: column;
1667
- gap: 10px;
1668
- margin-bottom: 10px;
1669
- }
1670
-
1671
- .maskEditor_sidePanelContainerColumn {
1672
- display: flex;
1673
- flex-direction: column;
1674
- gap: 12px;
1675
- padding-bottom: 12px;
1676
- }
1677
-
1678
- .maskEditor_sidePanelContainerRow {
1679
- display: flex;
1680
- flex-direction: row;
1681
- gap: 10px;
1682
- align-items: center;
1683
- min-height: 24px;
1684
- position: relative;
1685
- }
1686
-
1687
- .maskEditor_accent_bg_dark {
1688
- background: var(--p-surface-800);
1689
- }
1690
-
1691
- .maskEditor_accent_bg_very_dark {
1692
- background: var(--p-surface-900);
1693
- }
1694
-
1695
- .maskEditor_accent_bg_light {
1696
- background: var(--p-surface-300);
1697
- }
1698
-
1699
- .maskEditor_accent_bg_very_light {
1700
- background: var(--comfy-menu-bg);
1701
- }
1702
-
1703
- .maskEditor_sidePanelToggleContainer {
1704
- cursor: pointer;
1705
- display: inline-block;
1706
- position: absolute;
1707
- right: 0;
1708
- }
1709
-
1710
- .maskEditor_sidePanelToggleSwitch {
1711
- display: inline-block;
1712
- border-radius: 16px;
1713
- width: 40px;
1714
- height: 24px;
1715
- position: relative;
1716
- vertical-align: middle;
1717
- transition: background 0.25s;
1718
- background: var(--p-surface-300);
1719
- }
1720
-
1721
- .dark-theme .maskEditor_sidePanelToggleSwitch {
1722
- background: var(--p-surface-700);
1723
- }
1724
-
1725
- .maskEditor_sidePanelToggleSwitch::before,
1726
- .maskEditor_sidePanelToggleSwitch::after {
1727
- content: '';
1728
- }
1729
- .maskEditor_sidePanelToggleSwitch::before {
1730
- display: block;
1731
- background: linear-gradient(to bottom, #fff 0%, #eee 100%);
1732
- border-radius: 50%;
1733
- width: 16px;
1734
- height: 16px;
1735
- position: absolute;
1736
- top: 4px;
1737
- left: 4px;
1738
- transition: ease 0.2s;
1739
- }
1740
- .maskEditor_sidePanelToggleContainer:hover
1741
- .maskEditor_sidePanelToggleSwitch::before {
1742
- background: linear-gradient(to bottom, #fff 0%, #fff 100%);
1743
- }
1744
- .maskEditor_sidePanelToggleCheckbox:checked
1745
- + .maskEditor_sidePanelToggleSwitch {
1746
- background: var(--p-button-text-primary-color);
1747
- }
1748
- .maskEditor_sidePanelToggleCheckbox:checked
1749
- + .maskEditor_sidePanelToggleSwitch::before {
1750
- background: var(--comfy-menu-bg);
1751
- left: 20px;
1752
- }
1753
- .dark-theme
1754
- .maskEditor_sidePanelToggleCheckbox:checked
1755
- + .maskEditor_sidePanelToggleSwitch::before {
1756
- background: var(--p-surface-900);
1757
- }
1758
-
1759
- .maskEditor_sidePanelToggleCheckbox {
1760
- position: absolute;
1761
- visibility: hidden;
1762
- }
1763
-
1764
- .maskEditor_sidePanelDropdown {
1765
- border: 1px solid var(--p-form-field-border-color);
1766
- background: var(--comfy-menu-bg);
1767
- height: 24px;
1768
- padding-left: 5px;
1769
- padding-right: 5px;
1770
- border-radius: 6px;
1771
- transition: background 0.1s;
1772
- }
1773
-
1774
- .maskEditor_sidePanelDropdown option {
1775
- background: var(--comfy-menu-bg);
1776
- }
1777
-
1778
- .maskEditor_sidePanelDropdown:focus {
1779
- outline: 1px solid var(--p-surface-300);
1780
- }
1781
-
1782
- .maskEditor_sidePanelDropdown option:hover {
1783
- background: white;
1784
- }
1785
- .maskEditor_sidePanelDropdown option:active {
1786
- background: var(--p-surface-300);
1787
- }
1788
-
1789
- .dark-theme .maskEditor_sidePanelDropdown {
1790
- background: var(--p-surface-900);
1791
- }
1792
-
1793
- .dark-theme .maskEditor_sidePanelDropdown option {
1794
- background: var(--p-surface-900);
1795
- }
1796
-
1797
- .dark-theme .maskEditor_sidePanelDropdown:focus {
1798
- outline: 1px solid var(--p-button-text-primary-color);
1799
- }
1800
-
1801
- .dark-theme .maskEditor_sidePanelDropdown option:active {
1802
- background: var(--p-highlight-background);
1803
- }
1804
-
1805
- .maskEditor_layerRow {
1806
- height: 50px;
1807
- width: 100%;
1808
- border-radius: 10px;
1809
- }
1810
-
1811
- .maskEditor_sidePanelLayerPreviewContainer {
1812
- width: 40px;
1813
- height: 30px;
1814
- }
1815
-
1816
- .maskEditor_sidePanelLayerPreviewContainer > svg {
1817
- width: 100%;
1818
- height: 100%;
1819
- object-fit: contain;
1820
- fill: var(--p-surface-100);
1821
- }
1822
-
1823
- .maskEditor_sidePanelImageLayerImage {
1824
- width: 100%;
1825
- height: 100%;
1826
- object-fit: contain;
1827
- }
1828
-
1829
- .maskEditor_sidePanelSubTitle {
1830
- text-align: left;
1831
- font-size: 12px;
1832
- color: var(--descrip-text);
1833
- }
1834
-
1835
- .maskEditor_containerDropdown {
1836
- position: absolute;
1837
- right: 0;
1838
- }
1839
-
1840
- .maskEditor_sidePanelLayerCheckbox {
1841
- margin-left: 15px;
1842
- }
1843
- /* ===================== End of Mask Editor Styles ===================== */
1844
-
1845
- /* ===================== Skeleton Shimmer ===================== */
1846
- .skeleton-shimmer {
1847
- background:
1848
- linear-gradient(135deg, rgb(188 188 188 / 0.5) 0%, rgb(0 0 0 / 0.5) 100%) 0
1849
- 0 / 200% 200%,
1850
- #000;
1851
- animation: skeleton-shimmer 2s ease-in-out infinite;
1852
- }
1853
-
1854
- @keyframes skeleton-shimmer {
1855
- 0%,
1856
- 100% {
1857
- background-position: 100% 100%;
1858
- }
1859
- 50% {
1860
- background-position: 0 0;
1861
- }
1862
- }
1863
-
1864
- @utility scroll-shadows-* {
1865
- overflow: auto;
1866
-
1867
- background:
1868
- /* Shadow Cover TOP */
1869
- linear-gradient(--value(--color-*) 30%, transparent) center top,
1870
- /* Shadow Cover BOTTOM */
1871
- linear-gradient(transparent, --value(--color-*) 70%) center bottom,
1872
- /* Shadow TOP */
1873
- radial-gradient(
1874
- farthest-side at 50% 0,
1875
- color-mix(in oklab, --value(--color-*), #777777 35%),
1876
- 60%,
1877
- transparent
1878
- )
1879
- center top,
1880
- /* Shadow BOTTOM */
1881
- radial-gradient(
1882
- farthest-side at 50% 100%,
1883
- color-mix(in oklab, --value(--color-*), #777777 35%),
1884
- 60%,
1885
- transparent
1886
- )
1887
- center bottom;
1888
-
1889
- background-repeat: no-repeat;
1890
- background-size:
1891
- 300% 40px,
1892
- 300% 40px,
1893
- 300% 14px,
1894
- 300% 14px;
1895
- background-attachment: local, local, scroll, scroll;
1896
- }
1897
-
1898
- /*
1899
- PrimeVue overlays teleport to body. When a Reka modal dialog is open it sets
1900
- body { pointer-events: none } via DismissableLayer, which propagates to the
1901
- body-portaled overlays and makes them unclickable. PrimeVue's own Dialog
1902
- sets pointer-events inline, but Select / ColorPicker / Popover / Autocomplete
1903
- overlays do not, so they need to opt in here.
1904
- */
1905
- .p-select-overlay,
1906
- .p-colorpicker-panel,
1907
- .p-popover,
1908
- .p-autocomplete-overlay {
1909
- pointer-events: auto;
1910
- }
3
+ @source '../components';
4
+ @source not '../components/**/*.test.ts';
5
+ @source not '../components/**/*.stories.ts';
6
+ @source not '../components/**/*.md';