@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/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # @comfyorg/design-system
2
2
 
3
- Shared design tokens, theme, and icon set for Comfy Org frontends. Ships raw CSS
4
- and SVG so consumers compile them with their own Tailwind build.
3
+ Shared design tokens, theme, icon set, and Vue components for Comfy Org
4
+ frontends. Ships raw CSS and SVG so consumers compile them with their own
5
+ Tailwind build, plus compiled Vue components with declarations.
5
6
 
6
7
  ## Install
7
8
 
@@ -20,6 +21,9 @@ Import the full theme from your app's entry stylesheet:
20
21
  @import '@comfyorg/design-system/css/style.css';
21
22
  ```
22
23
 
24
+ Use this package import rather than a filesystem path into the package. Its
25
+ published export registers the compiled component sources for Tailwind.
26
+
23
27
  This pulls in the fonts, the color palette, the Tailwind theme and utilities
24
28
  layers, `tw-animate-css`, the PrimeUI plugin, and the Comfy and Lucide icon
25
29
  plugins.
@@ -30,21 +34,120 @@ For the palette and fonts without the Tailwind layers or icon plugins:
30
34
  @import '@comfyorg/design-system/css/base.css';
31
35
  ```
32
36
 
37
+ ## Void theme
38
+
39
+ Void is the near-black look used by Comfy Desktop. An app with its own Tailwind
40
+ build and global styles imports it instead of `style.css`, which carries
41
+ ComfyUI's colors and app-wide rules:
42
+
43
+ ```css
44
+ @import 'tailwindcss';
45
+ @import '@comfyorg/design-system/css/themes/void.css';
46
+ ```
47
+
48
+ The theme gives the components their colors, registers the compiled component
49
+ sources for Tailwind, and adds Void's type, radius, shadow and motion tokens.
50
+ ComfyUI does not import it, so changing Void cannot change ComfyUI. It does not
51
+ declare fonts: the host provides `Inter` and `PP Formula`. Published consumers
52
+ still import `components.css`, as described under [Vue components](#vue-components).
53
+
33
54
  ## Exports
34
55
 
35
- | Path | Contents |
36
- | -------------------- | ---------------------------------------------------------- |
37
- | `./css/style.css` | Full theme — palette, fonts, Tailwind layers, icon plugins |
38
- | `./css/base.css` | Palette and fonts only |
39
- | `./css/_palette.css` | Color variables |
40
- | `./css/fonts.css` | Font faces |
41
- | `./icons/*.svg` | Comfy icon set source SVGs |
42
- | `./workspaceAvatar` | Deterministic workspace avatar styles by plan and name |
56
+ | Path | Contents |
57
+ | ------------------------------- | -------------------------------------------------------------------------------- |
58
+ | `./css/style.css` | Full theme — palette, fonts, Tailwind layers, icon plugins |
59
+ | `./css/theme.css` | Full theme without automatic component source registration |
60
+ | `./css/base.css` | Palette and fonts only |
61
+ | `./css/component-support.css` | Palette, icon plugins, animations, layers and utilities the components need |
62
+ | `./css/themes/void.css` | Void theme for apps other than ComfyUI, including component support |
63
+ | `./css/_palette.css` | Color variables |
64
+ | `./css/fonts.css` | Font faces |
65
+ | `./css/_deprecated-aliases.css` | Deprecated variable names kept for extensions; scheduled for removal |
66
+ | `./css/_legacy-palette.css` | Pre-theme palette variables (`--fg-color`, `--comfy-menu-bg`, ...) |
67
+ | `./icons/*.svg` | Comfy icon set source SVGs |
68
+ | `./workspaceAvatar` | Deterministic workspace avatar styles by plan and name |
69
+ | `./button.variants` | Button class recipes |
70
+ | `./select.variants` | Select class recipes |
71
+ | `./tag.variants` | Tag class recipes |
72
+ | `./<folder>/<Component>` | Compiled Vue components, for example `./card/Card` |
73
+ | `./components.css` | Built scoped component styles and animations, for published consumers only |
74
+ | `./lib/<folder>/<module>` | Component support types, recipes and composables, for example `./lib/menu/types` |
43
75
 
44
76
  Icons are exposed to Tailwind as `icon-[comfy--*]` and `icon-mask-[comfy--*]`
45
77
  utilities. Size them with `size-*`, not font-size classes.
46
78
 
79
+ ## Vue components
80
+
81
+ Install the component peers alongside the package:
82
+
83
+ ```sh
84
+ pnpm add vue reka-ui vue-component-type-helpers @vueuse/core @vueuse/integrations
85
+ ```
86
+
87
+ Published components are compiled ES modules with declarations for TypeScript's
88
+ `Bundler` module resolution; workspace imports use their Vue source. Reka is a
89
+ peer so host providers and packaged components share its injection contexts.
90
+ Its declarations require `vue-component-type-helpers`, which Reka currently
91
+ omits from its published dependencies. VueUse provides the component composables
92
+ and search integration. These peers are optional for CSS-only consumers and are
93
+ not automatically installed. Install them explicitly when using Vue components.
94
+
95
+ With strict dependency checking, VueUse also requires the `web-bluetooth`
96
+ ambient types. Install `@types/web-bluetooth` and include `web-bluetooth` if your
97
+ TypeScript configuration restricts `compilerOptions.types`.
98
+
99
+ Workspace and published component imports both use the theme imported above,
100
+ which scans the component classes for Tailwind utilities.
101
+
102
+ Published consumers must also import the component stylesheet for scoped styles
103
+ and animations:
104
+
105
+ ```ts
106
+ import '@comfyorg/design-system/components.css'
107
+ ```
108
+
109
+ Import supporting types and recipes through the `./lib/` entries listed in the
110
+ [exports table](#exports); other `lib/` paths are not exported.
111
+
112
+ Components that retain `pi-*` icon classes require the host to load
113
+ `primeicons/primeicons.css` separately.
114
+
115
+ ```vue
116
+ <script setup lang="ts">
117
+ import Card from '@comfyorg/design-system/card/Card'
118
+ import CardHeader from '@comfyorg/design-system/card/CardHeader'
119
+ import CardFooter from '@comfyorg/design-system/card/CardFooter'
120
+ </script>
121
+
122
+ <template>
123
+ <Card surface="secondary">
124
+ <CardHeader>Workspace</CardHeader>
125
+ <p>Shared workspace content</p>
126
+ <CardFooter>Actions</CardFooter>
127
+ </Card>
128
+ </template>
129
+ ```
130
+
47
131
  ## Releasing
48
132
 
49
133
  Run the **Version Bump Design System** workflow to open a version PR, then merge
50
134
  it with the `Release` label. Publishing to npm happens automatically on merge.
135
+
136
+ ### SemVer policy
137
+
138
+ This package follows SemVer for everything it exports: the CSS entry points
139
+ (`style.css`, `base.css`, and every `./css/*` path in the [exports
140
+ table](#exports)), the icon SVGs, the component paths, the `./lib/` entries, and
141
+ component props, events, and slots are the public surface. Removing or
142
+ repurposing tokens, `@font-face` declarations, a component or `./lib/` entry, a
143
+ component prop, or an entire file from that surface is a **major** bump — even when no in-repo consumer breaks, because
144
+ published consumers pin this package by version.
145
+
146
+ Precedent (updated 2026-09-28): #14790 ("move the brand layer into the
147
+ package") took brand tokens out of `_palette.css` and stopped `base.css`
148
+ loading Inter. The review raised whether that should be a major release. npm
149
+ subsequently published `1.1.0` from `main` without the brand-layer move, while
150
+ #14790's merge remains outside `main`. The verdict is unchanged: the move **is
151
+ breaking** — the PR's own body says so — and now breaks the public surface of
152
+ the shipped `1.1.0`. When the brand-layer move reaches `main`, its first npm
153
+ release must therefore be **`2.0.0`**, not another `1.x` release.
@@ -0,0 +1,34 @@
1
+ type __VLS_Props = {
2
+ disabled?: boolean;
3
+ label?: string;
4
+ enableEmptyState?: boolean;
5
+ tooltip?: string;
6
+ size?: 'default' | 'lg';
7
+ variant?: 'default' | 'card';
8
+ class?: string;
9
+ };
10
+ type __VLS_ModelProps = {
11
+ 'collapse'?: boolean;
12
+ };
13
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
14
+ declare var __VLS_13: {}, __VLS_27: {}, __VLS_29: {};
15
+ type __VLS_Slots = {} & {
16
+ label?: (props: typeof __VLS_13) => any;
17
+ } & {
18
+ default?: (props: typeof __VLS_27) => any;
19
+ } & {
20
+ empty?: (props: typeof __VLS_29) => any;
21
+ };
22
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
+ "update:collapse": (value: boolean) => any;
24
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
25
+ "onUpdate:collapse"?: ((value: boolean) => any) | undefined;
26
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ type __VLS_WithSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,62 @@
1
+ import { t as Tooltip_default } from "../shared/Tooltip-4rCebVao.js";
2
+ import { t as TooltipContent_default } from "../shared/TooltipContent-0GR7hBNu.js";
3
+ import { t as TooltipTrigger_default } from "../shared/TooltipTrigger-64EIE5f2.js";
4
+ import { t as cn } from "../shared/src-DTwuqov4.js";
5
+ import { t as TransitionCollapse_default } from "../shared/TransitionCollapse-VfBzyj5a.js";
6
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, normalizeClass, openBlock, renderSlot, toDisplayString, unref, useModel, withCtx } from "vue";
7
+ // src/components/accordion/PropertiesAccordionItem.vue?vue&type=script&setup=true&lang.ts
8
+ var _hoisted_1 = { class: "sticky top-0 z-10 flex items-center justify-between bg-inherit backdrop-blur-xl" };
9
+ var _hoisted_2 = ["tabindex"];
10
+ var _hoisted_3 = ["disabled"];
11
+ var _hoisted_4 = {
12
+ key: 0,
13
+ class: "pb-4"
14
+ };
15
+ // src/components/accordion/PropertiesAccordionItem.vue
16
+ var PropertiesAccordionItem_default = /* @__PURE__ */ defineComponent({
17
+ __name: "PropertiesAccordionItem",
18
+ props: /*@__PURE__*/ mergeModels({
19
+ disabled: { type: Boolean },
20
+ label: {},
21
+ enableEmptyState: { type: Boolean },
22
+ tooltip: {},
23
+ size: { default: "default" },
24
+ variant: { default: "default" },
25
+ class: {}
26
+ }, {
27
+ "collapse": {
28
+ type: Boolean,
29
+ default: false
30
+ },
31
+ "collapseModifiers": {}
32
+ }),
33
+ emits: ["update:collapse"],
34
+ setup(__props) {
35
+ const isCollapse = useModel(__props, "collapse");
36
+ const isExpanded = computed(() => !isCollapse.value && !__props.disabled);
37
+ return (_ctx, _cache) => {
38
+ return openBlock(), createElementBlock("div", { class: normalizeClass(unref(cn)("flex flex-col bg-background", __props.variant === "card" && "border-t bg-card", __props.class)) }, [createElementVNode("div", _hoisted_1, [createVNode(unref(Tooltip_default), { disabled: !__props.tooltip }, {
39
+ default: withCtx(() => [createVNode(unref(TooltipTrigger_default), { "as-child": "" }, {
40
+ default: withCtx(() => [createElementVNode("div", {
41
+ class: "w-full",
42
+ tabindex: __props.disabled && __props.tooltip ? 0 : void 0
43
+ }, [createElementVNode("button", {
44
+ type: "button",
45
+ class: normalizeClass(unref(cn)("group flex w-full items-center justify-between border-0 bg-transparent pr-3 pl-4 text-left ring-0 outline-0 disabled:text-muted-foreground", __props.size === "lg" ? "min-h-16" : "min-h-12", !__props.disabled && "cursor-pointer")),
46
+ disabled: __props.disabled,
47
+ onClick: _cache[0] || (_cache[0] = ($event) => isCollapse.value = !isCollapse.value)
48
+ }, [createElementVNode("span", { class: normalizeClass(unref(cn)("line-clamp-2 flex-1 font-semibold", __props.variant === "card" ? "text-xs uppercase select-none" : "text-sm")) }, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(__props.label), 1)])], 2), createElementVNode("i", { class: normalizeClass(unref(cn)("icon-[lucide--chevron-up] text-muted-foreground transition-all group-hover:text-foreground group-focus:text-foreground group-has-[.subbutton:hover]:text-muted-foreground", isCollapse.value && "-rotate-180", __props.disabled && "opacity-0")) }, null, 2)], 10, _hoisted_3)], 8, _hoisted_2)]),
49
+ _: 3
50
+ }), createVNode(unref(TooltipContent_default), null, {
51
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.tooltip), 1)]),
52
+ _: 1
53
+ })]),
54
+ _: 3
55
+ }, 8, ["disabled"])]), createVNode(unref(TransitionCollapse_default), null, {
56
+ default: withCtx(() => [isExpanded.value ? (openBlock(), createElementBlock("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")])) : __props.enableEmptyState && __props.disabled ? renderSlot(_ctx.$slots, "empty", {}, void 0, void 0, 1) : createCommentVNode("", true)]),
57
+ _: 3
58
+ })], 2);
59
+ };
60
+ }
61
+ });
62
+ export { PropertiesAccordionItem_default as default };
@@ -0,0 +1,49 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ import { BadgeVariants } from './badge.variants';
3
+ declare var __VLS_1: {}, __VLS_3: {};
4
+ type __VLS_Slots = {} & {
5
+ icon?: (props: typeof __VLS_1) => any;
6
+ } & {
7
+ default?: (props: typeof __VLS_3) => any;
8
+ };
9
+ declare const __VLS_base: import('vue').DefineComponent<({
10
+ variant?: BadgeVariants["variant"];
11
+ severity?: BadgeVariants["severity"];
12
+ class?: HTMLAttributes["class"];
13
+ } & {
14
+ removable: true;
15
+ removeLabel: string;
16
+ }) | ({
17
+ variant?: BadgeVariants["variant"];
18
+ severity?: BadgeVariants["severity"];
19
+ class?: HTMLAttributes["class"];
20
+ } & {
21
+ removable?: false;
22
+ removeLabel?: string;
23
+ }), {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
24
+ remove: (event: MouseEvent) => any;
25
+ }, string, import('vue').PublicProps, Readonly<({
26
+ variant?: BadgeVariants["variant"];
27
+ severity?: BadgeVariants["severity"];
28
+ class?: HTMLAttributes["class"];
29
+ } & {
30
+ removable: true;
31
+ removeLabel: string;
32
+ }) | ({
33
+ variant?: BadgeVariants["variant"];
34
+ severity?: BadgeVariants["severity"];
35
+ class?: HTMLAttributes["class"];
36
+ } & {
37
+ removable?: false;
38
+ removeLabel?: string;
39
+ })> & Readonly<{
40
+ onRemove?: ((event: MouseEvent) => any) | undefined;
41
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
42
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
43
+ declare const _default: typeof __VLS_export;
44
+ export default _default;
45
+ type __VLS_WithSlots<T, S> = T & {
46
+ new (): {
47
+ $slots: S;
48
+ };
49
+ };
@@ -0,0 +1 @@
1
+ export { t as default } from "../shared/Badge-DFHO3AFi.js";
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ text: string;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import { createElementBlock, createElementVNode, defineComponent, openBlock, toDisplayString } from "vue";
2
+ // src/components/badge/CreditBadge.vue?vue&type=script&setup=true&lang.ts
3
+ var _hoisted_1 = {
4
+ "data-testid": "credit-badge",
5
+ class: "flex h-5 shrink-0 items-center gap-1 rounded-md bg-input px-2 py-0.5 text-xs"
6
+ };
7
+ var _hoisted_2 = ["textContent"];
8
+ // src/components/badge/CreditBadge.vue
9
+ var CreditBadge_default = /* @__PURE__ */ defineComponent({
10
+ __name: "CreditBadge",
11
+ props: { text: {} },
12
+ setup(__props) {
13
+ return (_ctx, _cache) => {
14
+ return openBlock(), createElementBlock("span", _hoisted_1, [_cache[0] || (_cache[0] = createElementVNode("i", { class: "icon-[lucide--coins] aspect-square size-3.5 bg-credit" }, null, -1)), createElementVNode("span", {
15
+ class: "truncate",
16
+ textContent: toDisplayString(__props.text)
17
+ }, null, 8, _hoisted_2)]);
18
+ };
19
+ }
20
+ });
21
+ export { CreditBadge_default as default };
@@ -0,0 +1,12 @@
1
+ import { VariantProps } from 'cva';
2
+ export declare const badgeVariants: (props?: ({
3
+ variant?: "label" | "circle" | "tag" | "chip" | "badge" | "compact" | "outline" | "square" | "pill" | "dot" | undefined;
4
+ severity?: "warning" | "info" | "success" | "secondary" | "default" | "contrast" | "primary" | "muted" | "danger" | undefined;
5
+ } & ({
6
+ class?: import('cva').ClassValue;
7
+ className?: never;
8
+ } | {
9
+ class?: never;
10
+ className?: import('cva').ClassValue;
11
+ })) | undefined) => string;
12
+ export type BadgeVariants = VariantProps<typeof badgeVariants>;
@@ -0,0 +1,31 @@
1
+ import { PrimitiveProps, TooltipContentProps } from 'reka-ui';
2
+ import { HTMLAttributes } from 'vue';
3
+ import { ButtonVariants } from '@comfyorg/design-system/button.variants';
4
+ interface Props extends PrimitiveProps {
5
+ class?: HTMLAttributes['class'];
6
+ disabled?: boolean;
7
+ icon?: string;
8
+ indicator?: boolean;
9
+ loading?: boolean;
10
+ size?: ButtonVariants['size'];
11
+ tooltip?: string;
12
+ tooltipSide?: TooltipContentProps['side'];
13
+ variant?: ButtonVariants['variant'];
14
+ }
15
+ declare var __VLS_9: {}, __VLS_17: {}, __VLS_19: {};
16
+ type __VLS_Slots = {} & {
17
+ tooltip?: (props: typeof __VLS_9) => any;
18
+ } & {
19
+ default?: (props: typeof __VLS_17) => any;
20
+ } & {
21
+ default?: (props: typeof __VLS_19) => any;
22
+ };
23
+ declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
24
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
27
+ type __VLS_WithSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1 @@
1
+ export { t as default } from "../shared/Button-Dj_H5v3V.js";
@@ -0,0 +1,18 @@
1
+ import { PrimitiveProps } from 'reka-ui';
2
+ import { HTMLAttributes } from 'vue';
3
+ interface Props extends PrimitiveProps {
4
+ class?: HTMLAttributes['class'];
5
+ }
6
+ declare var __VLS_8: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_8) => any;
9
+ };
10
+ declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,35 @@
1
+ import { t as cn } from "../shared/src-DTwuqov4.js";
2
+ import { createBlock, createPropsRestProxy, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
+ import { Primitive, useForwardProps } from "reka-ui";
4
+ // src/components/button-group/ButtonGroup.vue
5
+ var ButtonGroup_default = /* @__PURE__ */ defineComponent({
6
+ __name: "ButtonGroup",
7
+ props: {
8
+ class: {
9
+ type: [
10
+ Boolean,
11
+ null,
12
+ String,
13
+ Object,
14
+ Array
15
+ ],
16
+ default: ""
17
+ },
18
+ asChild: { type: Boolean },
19
+ as: { default: "div" }
20
+ },
21
+ setup(__props) {
22
+ const restProps = createPropsRestProxy(__props, ["as", "class"]);
23
+ const forwardedProps = useForwardProps(restProps);
24
+ return (_ctx, _cache) => {
25
+ return openBlock(), createBlock(unref(Primitive), mergeProps(unref(forwardedProps), {
26
+ as: __props.as,
27
+ class: unref(cn)("inline-flex items-stretch overflow-hidden rounded-md", __props.class)
28
+ }), {
29
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
30
+ _: 3
31
+ }, 16, ["as", "class"]);
32
+ };
33
+ }
34
+ });
35
+ export { ButtonGroup_default as default };
@@ -0,0 +1,16 @@
1
+ type __VLS_Props = {
2
+ backgroundClass?: string;
3
+ };
4
+ declare var __VLS_1: {};
5
+ type __VLS_Slots = {} & {
6
+ default?: (props: typeof __VLS_1) => any;
7
+ };
8
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1,13 @@
1
+ import { t as cn } from "../shared/src-DTwuqov4.js";
2
+ import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
3
+ // src/components/button-group/IconGroup.vue
4
+ var IconGroup_default = /* @__PURE__ */ defineComponent({
5
+ __name: "IconGroup",
6
+ props: { backgroundClass: {} },
7
+ setup(__props) {
8
+ return (_ctx, _cache) => {
9
+ return openBlock(), createElementBlock("div", { class: normalizeClass(unref(cn)("flex shrink-0 cursor-pointer items-center justify-center rounded-lg border-none bg-secondary p-0 shadow-sm outline-hidden transition-all duration-200", __props.backgroundClass)) }, [renderSlot(_ctx.$slots, "default")], 2);
10
+ };
11
+ }
12
+ });
13
+ export { IconGroup_default as default };
@@ -0,0 +1,19 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ import { CardVariants } from './card.variants';
3
+ type __VLS_Props = {
4
+ class?: HTMLAttributes['class'];
5
+ surface?: CardVariants['surface'];
6
+ };
7
+ declare var __VLS_1: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ };
11
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
@@ -0,0 +1 @@
1
+ export { t as default } from "../shared/Card-BrvqUM49.js";
@@ -0,0 +1,17 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ type __VLS_Props = {
3
+ class?: HTMLAttributes['class'];
4
+ };
5
+ declare var __VLS_1: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_1) => any;
8
+ };
9
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1 @@
1
+ export { t as default } from "../shared/CardFooter-BV_I0pM-.js";
@@ -0,0 +1,17 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ type __VLS_Props = {
3
+ class?: HTMLAttributes['class'];
4
+ };
5
+ declare var __VLS_1: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_1) => any;
8
+ };
9
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1 @@
1
+ export { t as default } from "../shared/CardHeader-CMutruBx.js";
@@ -0,0 +1,24 @@
1
+ type __VLS_Props = {
2
+ title: string;
3
+ titleId?: string;
4
+ message: string;
5
+ subtitle?: string;
6
+ subtitleId?: string;
7
+ image?: string;
8
+ messageId?: string;
9
+ };
10
+ declare var __VLS_1: {}, __VLS_3: {};
11
+ type __VLS_Slots = {} & {
12
+ image?: (props: typeof __VLS_1) => any;
13
+ } & {
14
+ actions?: (props: typeof __VLS_3) => any;
15
+ };
16
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,55 @@
1
+ import { createCommentVNode, createElementBlock, createElementVNode, defineComponent, openBlock, renderSlot, toDisplayString } from "vue";
2
+ // src/components/card/CoachmarkCard.vue?vue&type=script&setup=true&lang.ts
3
+ var _hoisted_1 = { class: "flex w-full flex-col items-start justify-center gap-3 rounded-2xl bg-secondary p-4 drop-shadow-md" };
4
+ var _hoisted_2 = {
5
+ key: 0,
6
+ class: "flex h-[146px] flex-col items-start justify-center gap-4 self-stretch overflow-hidden rounded-xl bg-background"
7
+ };
8
+ var _hoisted_3 = ["src"];
9
+ var _hoisted_4 = { class: "flex flex-col items-end justify-end gap-6 self-stretch" };
10
+ var _hoisted_5 = { class: "flex flex-col items-start gap-2 self-stretch text-foreground" };
11
+ var _hoisted_6 = ["id"];
12
+ var _hoisted_7 = ["id"];
13
+ var _hoisted_8 = ["id"];
14
+ var _hoisted_9 = {
15
+ key: 0,
16
+ class: "flex w-full items-center gap-3"
17
+ };
18
+ // src/components/card/CoachmarkCard.vue
19
+ var CoachmarkCard_default = /* @__PURE__ */ defineComponent({
20
+ __name: "CoachmarkCard",
21
+ props: {
22
+ title: {},
23
+ titleId: {},
24
+ message: {},
25
+ subtitle: {},
26
+ subtitleId: {},
27
+ image: {},
28
+ messageId: {}
29
+ },
30
+ setup(__props) {
31
+ return (_ctx, _cache) => {
32
+ return openBlock(), createElementBlock("div", _hoisted_1, [__props.image || _ctx.$slots.image ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "image", {}, () => [__props.image ? (openBlock(), createElementBlock("img", {
33
+ key: 0,
34
+ src: __props.image,
35
+ alt: "",
36
+ class: "size-full object-cover"
37
+ }, null, 8, _hoisted_3)) : createCommentVNode("", true)])])) : createCommentVNode("", true), createElementVNode("div", _hoisted_4, [createElementVNode("div", _hoisted_5, [
38
+ __props.subtitle ? (openBlock(), createElementBlock("p", {
39
+ key: 0,
40
+ id: __props.subtitleId,
41
+ class: "m-0 text-xs/normal"
42
+ }, toDisplayString(__props.subtitle), 9, _hoisted_6)) : createCommentVNode("", true),
43
+ createElementVNode("h3", {
44
+ id: __props.titleId,
45
+ class: "m-0 text-base/normal font-semibold"
46
+ }, toDisplayString(__props.title), 9, _hoisted_7),
47
+ createElementVNode("p", {
48
+ id: __props.messageId,
49
+ class: "m-0 text-sm/normal text-muted-foreground"
50
+ }, toDisplayString(__props.message), 9, _hoisted_8)
51
+ ]), _ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_9, [renderSlot(_ctx.$slots, "actions")])) : createCommentVNode("", true)])]);
52
+ };
53
+ }
54
+ });
55
+ export { CoachmarkCard_default as default };
@@ -0,0 +1,11 @@
1
+ import { VariantProps } from 'cva';
2
+ export declare const cardVariants: (props?: ({
3
+ surface?: "secondary" | "background" | undefined;
4
+ } & ({
5
+ class?: import('cva').ClassValue;
6
+ className?: never;
7
+ } | {
8
+ class?: never;
9
+ className?: import('cva').ClassValue;
10
+ })) | undefined) => string;
11
+ export type CardVariants = VariantProps<typeof cardVariants>;
@@ -0,0 +1,12 @@
1
+ import { ChartData } from 'chart.js';
2
+ import { HTMLAttributes } from 'vue';
3
+ import { SupportedChartType } from './useChart';
4
+ type __VLS_Props = {
5
+ data: ChartData;
6
+ label: string;
7
+ type: SupportedChartType;
8
+ class?: HTMLAttributes['class'];
9
+ };
10
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;