@comfyorg/design-system 1.2.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 (300) hide show
  1. package/README.md +27 -3
  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.js +1 -2
  5. package/dist/badge/CreditBadge.vue.d.ts +0 -1
  6. package/dist/badge/CreditBadge.vue.js +10 -24
  7. package/dist/badge/badge.variants.d.ts +1 -1
  8. package/dist/button/Button.vue.js +1 -2
  9. package/dist/button-group/ButtonGroup.vue.js +2 -4
  10. package/dist/button-group/IconGroup.vue.js +2 -4
  11. package/dist/card/Card.vue.js +1 -2
  12. package/dist/card/CardFooter.vue.js +1 -2
  13. package/dist/card/CardHeader.vue.js +1 -2
  14. package/dist/card/CoachmarkCard.vue.js +2 -4
  15. package/dist/chart/Chart.vue.js +4 -7
  16. package/dist/chart/__tests__/chartTestUtils.d.ts +3 -0
  17. package/dist/checkbox/Checkbox.vue.js +2 -4
  18. package/dist/chip/Tag.vue.d.ts +61 -0
  19. package/dist/chip/Tag.vue.js +71 -0
  20. package/dist/chip/TagRemoveButton.vue.js +1 -2
  21. package/dist/color-picker/ColorPicker.vue.d.ts +23 -0
  22. package/dist/color-picker/ColorPicker.vue.js +139 -0
  23. package/dist/color-picker/ColorPickerPanel.vue.d.ts +27 -0
  24. package/dist/color-picker/ColorPickerPanel.vue.js +1 -0
  25. package/dist/color-picker/ColorPickerSaturationValue.vue.d.ts +17 -0
  26. package/dist/color-picker/ColorPickerSaturationValue.vue.js +1 -0
  27. package/dist/color-picker/ColorPickerSlider.vue.d.ts +17 -0
  28. package/dist/color-picker/ColorPickerSlider.vue.js +1 -0
  29. package/dist/color-picker/types.d.ts +22 -0
  30. package/dist/color-picker/types.js +0 -0
  31. package/dist/color-picker/useColorPicker.d.ts +33 -0
  32. package/dist/common/CanvasBanner.vue.js +3 -5
  33. package/dist/common/ContentDivider.vue.js +2 -4
  34. package/dist/common/CustomFormValue.vue.js +1 -3
  35. package/dist/common/DotSpinner.vue.js +3 -5
  36. package/dist/common/EditableText.vue.js +3 -5
  37. package/dist/common/HighlightedText.vue.d.ts +8 -0
  38. package/dist/common/HighlightedText.vue.js +49 -0
  39. package/dist/common/LoadingOverlay.vue.js +3 -5
  40. package/dist/common/MarkdownText.vue.js +2 -4
  41. package/dist/common/MarqueeLine.vue.js +2 -3
  42. package/dist/common/NoResultsPlaceholder.vue.d.ts +28 -0
  43. package/dist/common/NoResultsPlaceholder.vue.js +49 -0
  44. package/dist/common/NotificationPopup.vue.d.ts +28 -0
  45. package/dist/common/NotificationPopup.vue.js +63 -0
  46. package/dist/common/OverlayIcon.vue.js +1 -2
  47. package/dist/common/SanitizedHtml.vue.js +2 -4
  48. package/dist/common/TextDivider.vue.js +3 -5
  49. package/dist/common/TextTicker.vue.js +2 -4
  50. package/dist/common/TextTickerMultiLine.vue.js +3 -6
  51. package/dist/common/UserAvatar.vue.d.ts +9 -0
  52. package/dist/common/UserAvatar.vue.js +45 -0
  53. package/dist/common/VerticalDivider.vue.js +2 -3
  54. package/dist/common/VideoCompareSlider.vue.js +3 -5
  55. package/dist/common/ViewportWidgetShell.vue.js +3 -5
  56. package/dist/common/VirtualGrid.vue.js +1 -3
  57. package/dist/common/highlightQuery.d.ts +6 -0
  58. package/dist/composables/useAttrsClass.js +1 -2
  59. package/dist/composables/usePopoverSizing.js +1 -2
  60. package/dist/confirm/ConfirmBody.vue.js +3 -5
  61. package/dist/confirm/ConfirmFooter.vue.d.ts +18 -0
  62. package/dist/confirm/ConfirmFooter.vue.js +53 -0
  63. package/dist/confirm/ConfirmHeader.vue.js +2 -4
  64. package/dist/content-card/CardBottom.vue.js +2 -4
  65. package/dist/content-card/CardContainer.vue.js +3 -5
  66. package/dist/content-card/CardTop.vue.js +2 -4
  67. package/dist/dialog/Dialog.vue.js +1 -3
  68. package/dist/dialog/DialogClose.vue.js +1 -24
  69. package/dist/dialog/DialogContent.vue.js +1 -73
  70. package/dist/dialog/DialogDescription.vue.js +2 -4
  71. package/dist/dialog/DialogFooter.vue.js +2 -4
  72. package/dist/dialog/DialogHeader.vue.js +2 -4
  73. package/dist/dialog/DialogMaximize.vue.js +2 -4
  74. package/dist/dialog/DialogOverlay.vue.js +1 -35
  75. package/dist/dialog/DialogPanel.vue.js +7 -9
  76. package/dist/dialog/DialogPortal.vue.js +1 -38
  77. package/dist/dialog/DialogTitle.vue.js +1 -2
  78. package/dist/dialog/Dialogue.vue.d.ts +22 -0
  79. package/dist/dialog/Dialogue.vue.js +56 -0
  80. package/dist/dialog/dialog.variants.js +4 -5
  81. package/dist/field/Field.vue.js +4 -7
  82. package/dist/field/FieldDescription.vue.js +2 -4
  83. package/dist/field/FieldError.vue.js +3 -5
  84. package/dist/field/FieldGroup.vue.js +2 -4
  85. package/dist/field/FieldLabel.vue.js +3 -5
  86. package/dist/field/FieldSwitch.vue.d.ts +16 -0
  87. package/dist/field/FieldSwitch.vue.js +43 -0
  88. package/dist/field/LayoutField.vue.d.ts +18 -0
  89. package/dist/field/LayoutField.vue.js +1 -0
  90. package/dist/field/ModelInfoField.vue.js +2 -4
  91. package/dist/hover-card/HoverCard.vue.js +1 -3
  92. package/dist/hover-card/HoverCardContent.vue.js +2 -4
  93. package/dist/hover-card/HoverCardTrigger.vue.js +1 -3
  94. package/dist/icon/ComfyLogo.vue.js +2 -4
  95. package/dist/icon/PuzzleIcon.vue.js +2 -4
  96. package/dist/icon/TinyChevronIcon.vue.js +1 -3
  97. package/dist/icon/VerifiedIcon.vue.js +2 -4
  98. package/dist/input/Input.vue.js +1 -2
  99. package/dist/input/PasswordInput.vue.js +5 -7
  100. package/dist/input-group/InputGroup.vue.js +1 -2
  101. package/dist/input-group/InputGroupAddon.vue.js +1 -2
  102. package/dist/input-group/InputGroupButton.vue.js +1 -2
  103. package/dist/input-group/InputGroupInput.vue.js +1 -2
  104. package/dist/input-group/inputGroup.variants.js +1 -2
  105. package/dist/knob/Knob.vue.js +3 -5
  106. package/dist/label/Label.vue.js +1 -2
  107. package/dist/layout/BaseModalLayout.vue.d.ts +67 -0
  108. package/dist/layout/BaseModalLayout.vue.js +198 -0
  109. package/dist/media/AudioPreview.vue.js +2 -4
  110. package/dist/media/ImageLightbox.vue.d.ts +17 -0
  111. package/dist/media/ImageLightbox.vue.js +76 -0
  112. package/dist/media/MediaTitle.vue.js +2 -4
  113. package/dist/media/Video.vue.d.ts +28 -0
  114. package/dist/media/Video.vue.js +100 -0
  115. package/dist/media/VideoPlayOverlay.vue.js +3 -5
  116. package/dist/media/VideoPreview.vue.js +2 -4
  117. package/dist/media/ZoomPane.vue.js +1 -3
  118. package/dist/menu/ContextMenu.vue.js +3 -5
  119. package/dist/menu/ContextMenuContent.vue.js +1 -2
  120. package/dist/menu/Menu.vue.js +3 -5
  121. package/dist/menu/MenuAction.vue.js +1 -2
  122. package/dist/menu/MenuContent.vue.js +1 -2
  123. package/dist/menu/MenuItem.vue.js +2 -4
  124. package/dist/menu/MenuItemContent.vue.js +1 -2
  125. package/dist/menu/MenuItems.vue.js +1 -2
  126. package/dist/menu/MenuRadioGroup.vue.js +1 -2
  127. package/dist/menu/MenuRadioItem.vue.js +1 -2
  128. package/dist/menu/MenuSeparator.vue.js +1 -2
  129. package/dist/menu/MenuSub.vue.js +1 -2
  130. package/dist/menu/MenuSubContent.vue.js +1 -2
  131. package/dist/menu/MenuSubTrigger.vue.js +1 -2
  132. package/dist/menu/MenuSubmenu.vue.js +1 -2
  133. package/dist/menu/menuAnchor.js +1 -2
  134. package/dist/menu/menuStyles.js +1 -2
  135. package/dist/menu/usePointMenu.js +1 -2
  136. package/dist/message/Message.vue.js +4 -6
  137. package/dist/message/message.variants.js +1 -2
  138. package/dist/multi-select/MultiSelect.vue.js +3 -5
  139. package/dist/multi-select/MultiSelectContent.vue.js +1 -2
  140. package/dist/multi-select/MultiSelectTrigger.vue.js +1 -2
  141. package/dist/navigation/LeftSidePanel.vue.d.ts +12 -0
  142. package/dist/navigation/LeftSidePanel.vue.js +82 -0
  143. package/dist/navigation/NavIcon.vue.d.ts +7 -0
  144. package/dist/navigation/NavIcon.vue.js +1 -0
  145. package/dist/navigation/NavItem.vue.d.ts +21 -0
  146. package/dist/navigation/NavItem.vue.js +1 -0
  147. package/dist/navigation/NavTitle.vue.js +1 -42
  148. package/dist/navigation/SidebarTopArea.vue.js +2 -3
  149. package/dist/navigation/types.d.ts +13 -0
  150. package/dist/navigation/types.js +0 -0
  151. package/dist/number-field/NumberField.vue.js +2 -4
  152. package/dist/number-field/NumberFieldDecrement.vue.js +2 -4
  153. package/dist/number-field/NumberFieldIncrement.vue.js +2 -4
  154. package/dist/number-field/NumberFieldInput.vue.js +2 -4
  155. package/dist/number-field/PropertyNumberField.vue.js +3 -5
  156. package/dist/pagination/Pagination.vue.js +8 -10
  157. package/dist/popover/PopoverContent.vue.js +1 -91
  158. package/dist/popover/usePopoverViewportDismiss.js +1 -2
  159. package/dist/radio-group/RadioGroup.vue.js +2 -4
  160. package/dist/radio-group/RadioGroupItem.vue.js +2 -4
  161. package/dist/search-input/AsyncSearchInput.vue.js +3 -5
  162. package/dist/search-input/SearchAutocomplete.vue.js +4 -6
  163. package/dist/search-input/SearchInput.vue.js +4 -6
  164. package/dist/select/DropdownControl.vue.js +2 -4
  165. package/dist/select/Select.vue.js +1 -2
  166. package/dist/select/SelectContent.vue.js +1 -2
  167. package/dist/select/SelectItem.vue.d.ts +4 -0
  168. package/dist/select/SelectItem.vue.js +1 -2
  169. package/dist/select/SelectScrollDownButton.vue.js +1 -2
  170. package/dist/select/SelectScrollUpButton.vue.js +1 -2
  171. package/dist/select/SelectTrigger.vue.js +1 -2
  172. package/dist/select/SelectValue.vue.js +1 -2
  173. package/dist/select/useSelectSearch.js +1 -2
  174. package/dist/shared/{Badge-D3uWa3yk.js → Badge-DFHO3AFi.js} +4 -6
  175. package/dist/shared/{Button-CilmsOkY.js → Button-Dj_H5v3V.js} +5 -8
  176. package/dist/shared/{Card-l7baUdn0.js → Card-BrvqUM49.js} +3 -5
  177. package/dist/shared/{CardFooter-BM6EmVi7.js → CardFooter-BV_I0pM-.js} +2 -4
  178. package/dist/shared/{CardHeader-B5To28Jp.js → CardHeader-CMutruBx.js} +2 -4
  179. package/dist/shared/ColorPickerPanel-DQGHuvxk.js +239 -0
  180. package/dist/shared/ColorPickerSaturationValue-B5VDiMcl.js +64 -0
  181. package/dist/shared/ColorPickerSlider--mnQyzWD.js +305 -0
  182. package/dist/shared/{ContextMenuContent-CNQHJQ81.js → ContextMenuContent-RNyBBJOX.js} +2 -4
  183. package/dist/shared/DialogClose-CrtPRSNX.js +22 -0
  184. package/dist/shared/DialogContent-v2s55FXs.js +71 -0
  185. package/dist/shared/DialogOverlay-C9qv0zme.js +33 -0
  186. package/dist/shared/DialogPortal-DtCpLgtO.js +36 -0
  187. package/dist/shared/{DialogTitle-CfkkTGuU.js → DialogTitle-Chomvpgq.js} +2 -4
  188. package/dist/shared/{Input-39RLwDr2.js → Input-DOeNoniw.js} +2 -4
  189. package/dist/shared/{InputGroup-kjQKkhyB.js → InputGroup-BYt6BWpk.js} +2 -4
  190. package/dist/shared/{InputGroupAddon-DLDRT0CQ.js → InputGroupAddon-B1cn7czs.js} +3 -5
  191. package/dist/shared/{InputGroupButton-BoEp2apg.js → InputGroupButton-tw5AYOoR.js} +3 -5
  192. package/dist/shared/{InputGroupInput-E2MlEVUU.js → InputGroupInput-C_kkIxvY.js} +3 -5
  193. package/dist/shared/{Label-Cx_lFofI.js → Label-kwhWNR2P.js} +2 -4
  194. package/dist/shared/LayoutField-C8KCaVF0.js +34 -0
  195. package/dist/shared/{MenuAction-BdghJ23k.js → MenuAction-0z8BSoX9.js} +5 -8
  196. package/dist/shared/{MenuContent-ChqlM3xA.js → MenuContent--tKCqaIO.js} +2 -4
  197. package/dist/shared/{MenuItemContent--dPNoBmU.js → MenuItemContent-Be658c7e.js} +6 -8
  198. package/dist/shared/{MenuItems-BJKetPV-.js → MenuItems-BZTlERd6.js} +5 -7
  199. package/dist/shared/{MenuRadioGroup-Bpjt9sHI.js → MenuRadioGroup-B28YS1p1.js} +4 -6
  200. package/dist/shared/{MenuRadioItem-h7hh_RGU.js → MenuRadioItem-D8DFu-KU.js} +2 -4
  201. package/dist/shared/{MenuSeparator-Dm6CkPqB.js → MenuSeparator-DrAiObmE.js} +2 -4
  202. package/dist/shared/{MenuSub-Dbnj2w-X.js → MenuSub-DSizq_fV.js} +1 -3
  203. package/dist/shared/{MenuSubContent-M-g3fllh.js → MenuSubContent-ghzkX4hX.js} +2 -4
  204. package/dist/shared/{MenuSubTrigger-D6-3s2NL.js → MenuSubTrigger-BGRIm_Bf.js} +2 -4
  205. package/dist/shared/{MenuSubmenu-QHWMyfKF.js → MenuSubmenu-CjPf8DXl.js} +5 -7
  206. package/dist/shared/{MultiSelectContent-c1D5avjh.js → MultiSelectContent-9xyBQKz3.js} +5 -7
  207. package/dist/shared/{MultiSelectTrigger-lmuXqETa.js → MultiSelectTrigger-DNySkpH9.js} +4 -6
  208. package/dist/shared/NavIcon-FTJH75HH.js +12 -0
  209. package/dist/shared/NavItem-sQJ-77Zw.js +77 -0
  210. package/dist/shared/NavTitle-BM22yfCR.js +40 -0
  211. package/dist/shared/{OverlayIcon-DntJI-mm.js → OverlayIcon-C-din824.js} +3 -5
  212. package/dist/shared/PopoverContent-DNqL6t-O.js +89 -0
  213. package/dist/shared/{SearchableSingleSelect-Dnti1kqJ.js → SearchableSingleSelect-DQauLQWW.js} +4 -6
  214. package/dist/shared/{Select-CP3OZjtL.js → Select-DtVgv7Po.js} +1 -3
  215. package/dist/shared/{SelectContent-C8aNlcFf.js → SelectContent-Ba1mCDWM.js} +4 -6
  216. package/dist/shared/{SelectItem-tU4CIa5J.js → SelectItem-DaOr3TFS.js} +23 -10
  217. package/dist/shared/{SelectScrollDownButton-Dvig5MVc.js → SelectScrollDownButton-DYmxtida.js} +2 -4
  218. package/dist/shared/{SelectScrollUpButton-lv-npT6v.js → SelectScrollUpButton-DiyvSb9O.js} +2 -4
  219. package/dist/shared/{SelectTrigger-CCDiZW91.js → SelectTrigger-BBicbVsI.js} +2 -4
  220. package/dist/shared/{SelectValue-DFZFSiQp.js → SelectValue-BjaQc-WU.js} +1 -3
  221. package/dist/shared/{Switch-DsCzHpDU.js → Switch-qavkHWMz.js} +3 -5
  222. package/dist/shared/{TableHead-OxGist4m.js → TableHead-DpsXVMzk.js} +2 -4
  223. package/dist/shared/{TagRemoveButton-BiCdscIC.js → TagRemoveButton-D919R-To.js} +4 -6
  224. package/dist/shared/{TextTooltip-ClHQl84h.js → TextTooltip-BNlZI515.js} +4 -6
  225. package/dist/shared/{Tooltip-DbXyHv20.js → Tooltip-4rCebVao.js} +2 -4
  226. package/dist/shared/{TooltipContent-Bju-U7gc.js → TooltipContent-0GR7hBNu.js} +3 -5
  227. package/dist/shared/{TooltipTrigger-CVwISmWo.js → TooltipTrigger-64EIE5f2.js} +2 -4
  228. package/dist/shared/TransitionCollapse-VfBzyj5a.js +108 -0
  229. package/dist/shared/{_plugin-vue_export-helper-BOaGB7Aw.js → _plugin-vue_export-helper-DjkACiAr.js} +1 -2
  230. package/dist/shared/{searchInput.variants-NOge_52E.js → searchInput.variants-BdYHNjce.js} +1 -2
  231. package/dist/shared/{select.variants-BPn5Z7N1.js → select.variants-cRXaATWS.js} +1 -2
  232. package/dist/shared/{src-CnJ6AzLP.js → src-DTwuqov4.js} +1 -2
  233. package/dist/shared/{tabKeys-BISOrxWu.js → tabKeys-CP6c3wTY.js} +1 -2
  234. package/dist/shared/{tabs.variants-XUREdHry.js → tabs.variants-Cgk7bRhG.js} +1 -2
  235. package/dist/shared/{tag.variants-CCqCn8Jc.js → tag.variants-BEXRRbPc.js} +1 -2
  236. package/dist/shared/{tagsInputContext-QXu7RrG5.js → tagsInputContext-C-X1-iNf.js} +1 -2
  237. package/dist/shared/{toggleGroup.variants-CvjZDHMw.js → toggleGroup.variants-BuwGELw0.js} +1 -2
  238. package/dist/shared/{tooltipContext-BL5JtM0i.js → tooltipContext-arEyjGQC.js} +1 -2
  239. package/dist/single-select/SearchableSingleSelect.vue.js +1 -2
  240. package/dist/single-select/SingleSelect.vue.js +5 -7
  241. package/dist/skeleton/Skeleton.vue.js +2 -4
  242. package/dist/slider/GradientSlider.vue.d.ts +20 -0
  243. package/dist/slider/GradientSlider.vue.js +100 -0
  244. package/dist/slider/Slider.vue.js +2 -4
  245. package/dist/slider/gradients.d.ts +6 -0
  246. package/dist/spinner/Spinner.vue.js +2 -4
  247. package/dist/splitter/SplitterGroup.vue.js +2 -4
  248. package/dist/splitter/SplitterPanel.vue.js +2 -4
  249. package/dist/splitter/SplitterResizeHandle.vue.js +2 -4
  250. package/dist/switch/Switch.vue.js +1 -2
  251. package/dist/tab/Tab.vue.js +5 -8
  252. package/dist/tab/TabList.vue.js +3 -5
  253. package/dist/tab/TabPanel.vue.js +3 -5
  254. package/dist/table/Table.vue.js +3 -5
  255. package/dist/table/TableBody.vue.js +2 -4
  256. package/dist/table/TableCell.vue.js +2 -4
  257. package/dist/table/TableHead.vue.js +1 -2
  258. package/dist/table/TableHeader.vue.js +2 -4
  259. package/dist/table/TableRow.vue.js +2 -4
  260. package/dist/table/TableSortHead.vue.js +3 -5
  261. package/dist/table/tableUtils.js +1 -2
  262. package/dist/tabs/Tabs.vue.js +2 -4
  263. package/dist/tabs/TabsContent.vue.js +2 -4
  264. package/dist/tabs/TabsList.vue.js +3 -5
  265. package/dist/tabs/TabsTrigger.vue.js +3 -5
  266. package/dist/tags-input/TagsInput.vue.js +4 -6
  267. package/dist/tags-input/TagsInputInput.vue.js +3 -5
  268. package/dist/tags-input/TagsInputItem.vue.js +3 -5
  269. package/dist/tags-input/TagsInputItemDelete.vue.js +2 -4
  270. package/dist/tags-input/TagsInputItemText.vue.js +2 -4
  271. package/dist/textarea/Textarea.vue.js +2 -4
  272. package/dist/toast/ToastClose.vue.js +3 -5
  273. package/dist/toast/ToastDescription.vue.js +2 -4
  274. package/dist/toast/ToastDock.vue.js +2 -4
  275. package/dist/toast/ToastPanel.vue.js +3 -5
  276. package/dist/toast/ToastRoot.vue.js +3 -5
  277. package/dist/toast/ToastTitle.vue.js +2 -4
  278. package/dist/toast/ToastViewport.vue.js +2 -4
  279. package/dist/toggle-group/ToggleGroup.vue.js +3 -5
  280. package/dist/toggle-group/ToggleGroupItem.vue.js +3 -5
  281. package/dist/tooltip/TextTooltip.vue.js +1 -2
  282. package/dist/tooltip/Tooltip.vue.js +1 -2
  283. package/dist/tooltip/TooltipContent.vue.js +1 -2
  284. package/dist/tooltip/TooltipProvider.vue.js +1 -3
  285. package/dist/tooltip/TooltipTrigger.vue.js +1 -2
  286. package/dist/tooltip/tooltipConfig.js +1 -2
  287. package/dist/transition/TransitionCollapse.vue.js +1 -110
  288. package/dist/tree/Tree.vue.d.ts +1 -1
  289. package/dist/tree/Tree.vue.js +2 -4
  290. package/dist/tree/TreeItem.vue.js +4 -6
  291. package/dist/tree/treeStyles.js +1 -2
  292. package/package.json +40 -20
  293. package/src/css/_mask-editor.css +0 -1
  294. package/src/css/component-support.css +69 -0
  295. package/src/css/iconSizing.test.ts +1 -1
  296. package/src/css/published.css +3 -0
  297. package/src/css/style.css +2 -316
  298. package/src/css/theme.css +243 -0
  299. package/src/css/themes/void.css +102 -0
  300. package/src/icons/README.md +41 -84
package/README.md CHANGED
@@ -21,6 +21,9 @@ Import the full theme from your app's entry stylesheet:
21
21
  @import '@comfyorg/design-system/css/style.css';
22
22
  ```
23
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
+
24
27
  This pulls in the fonts, the color palette, the Tailwind theme and utilities
25
28
  layers, `tw-animate-css`, the PrimeUI plugin, and the Comfy and Lucide icon
26
29
  plugins.
@@ -31,12 +34,32 @@ For the palette and fonts without the Tailwind layers or icon plugins:
31
34
  @import '@comfyorg/design-system/css/base.css';
32
35
  ```
33
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
+
34
54
  ## Exports
35
55
 
36
56
  | Path | Contents |
37
57
  | ------------------------------- | -------------------------------------------------------------------------------- |
38
58
  | `./css/style.css` | Full theme — palette, fonts, Tailwind layers, icon plugins |
59
+ | `./css/theme.css` | Full theme without automatic component source registration |
39
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 |
40
63
  | `./css/_palette.css` | Color variables |
41
64
  | `./css/fonts.css` | Font faces |
42
65
  | `./css/_deprecated-aliases.css` | Deprecated variable names kept for extensions; scheduled for removal |
@@ -58,15 +81,16 @@ utilities. Size them with `size-*`, not font-size classes.
58
81
  Install the component peers alongside the package:
59
82
 
60
83
  ```sh
61
- pnpm add vue reka-ui vue-component-type-helpers
84
+ pnpm add vue reka-ui vue-component-type-helpers @vueuse/core @vueuse/integrations
62
85
  ```
63
86
 
64
87
  Published components are compiled ES modules with declarations for TypeScript's
65
88
  `Bundler` module resolution; workspace imports use their Vue source. Reka is a
66
89
  peer so host providers and packaged components share its injection contexts.
67
90
  Its declarations require `vue-component-type-helpers`, which Reka currently
68
- omits from its published dependencies. These peers are optional for CSS-only
69
- consumers.
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.
70
94
 
71
95
  With strict dependency checking, VueUse also requires the `web-bluetooth`
72
96
  ambient types. Install `@types/web-bluetooth` and include `web-bluetooth` if your
@@ -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 };
@@ -1,2 +1 @@
1
- import { t as Badge_default } from "../shared/Badge-D3uWa3yk.js";
2
- export { Badge_default as default };
1
+ export { t as default } from "../shared/Badge-DFHO3AFi.js";
@@ -1,6 +1,5 @@
1
1
  type __VLS_Props = {
2
2
  text: string;
3
- rest?: string;
4
3
  };
5
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>;
6
5
  declare const _default: typeof __VLS_export;
@@ -1,35 +1,21 @@
1
- import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
- import { Fragment, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, toDisplayString, unref } from "vue";
3
- //#region src/components/badge/CreditBadge.vue?vue&type=script&setup=true&lang.ts
4
- var _hoisted_1 = ["textContent"];
5
- var _hoisted_2 = {
6
- key: 0,
7
- "data-testid": "credit-badge-rest",
8
- class: "-ml-1 flex h-5 max-w-max min-w-0 grow basis-0 items-center truncate rounded-r-full bg-input text-xs"
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"
9
6
  };
10
- var _hoisted_3 = ["textContent"];
11
- //#endregion
12
- //#region src/components/badge/CreditBadge.vue
7
+ var _hoisted_2 = ["textContent"];
8
+ // src/components/badge/CreditBadge.vue
13
9
  var CreditBadge_default = /* @__PURE__ */ defineComponent({
14
10
  __name: "CreditBadge",
15
- props: {
16
- text: {},
17
- rest: {}
18
- },
11
+ props: { text: {} },
19
12
  setup(__props) {
20
13
  return (_ctx, _cache) => {
21
- return openBlock(), createElementBlock(Fragment, null, [createElementVNode("span", {
22
- "data-testid": "credit-badge-required",
23
- class: normalizeClass(unref(cn)("flex h-5 shrink-0 items-center bg-input p-1 text-xs", __props.rest ? "rounded-l-full pr-1" : "rounded-full"))
24
- }, [_cache[0] || (_cache[0] = createElementVNode("i", { class: "icon-[lucide--coins] aspect-square h-full w-auto bg-credit" }, null, -1)), createElementVNode("span", {
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", {
25
15
  class: "truncate",
26
16
  textContent: toDisplayString(__props.text)
27
- }, null, 8, _hoisted_1)], 2), __props.rest ? (openBlock(), createElementBlock("span", _hoisted_2, [createElementVNode("span", {
28
- class: "pr-2",
29
- textContent: toDisplayString(__props.rest)
30
- }, null, 8, _hoisted_3)])) : createCommentVNode("", true)], 64);
17
+ }, null, 8, _hoisted_2)]);
31
18
  };
32
19
  }
33
20
  });
34
- //#endregion
35
21
  export { CreditBadge_default as default };
@@ -1,7 +1,7 @@
1
1
  import { VariantProps } from 'cva';
2
2
  export declare const badgeVariants: (props?: ({
3
3
  variant?: "label" | "circle" | "tag" | "chip" | "badge" | "compact" | "outline" | "square" | "pill" | "dot" | undefined;
4
- severity?: "contrast" | "warning" | "info" | "success" | "secondary" | "default" | "primary" | "muted" | "danger" | undefined;
4
+ severity?: "warning" | "info" | "success" | "secondary" | "default" | "contrast" | "primary" | "muted" | "danger" | undefined;
5
5
  } & ({
6
6
  class?: import('cva').ClassValue;
7
7
  className?: never;
@@ -1,2 +1 @@
1
- import { t as Button_default } from "../shared/Button-CilmsOkY.js";
2
- export { Button_default as default };
1
+ export { t as default } from "../shared/Button-Dj_H5v3V.js";
@@ -1,8 +1,7 @@
1
- import { t as cn } from "../shared/src-CnJ6AzLP.js";
1
+ import { t as cn } from "../shared/src-DTwuqov4.js";
2
2
  import { createBlock, createPropsRestProxy, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
3
  import { Primitive, useForwardProps } from "reka-ui";
4
- //#endregion
5
- //#region src/components/button-group/ButtonGroup.vue
4
+ // src/components/button-group/ButtonGroup.vue
6
5
  var ButtonGroup_default = /* @__PURE__ */ defineComponent({
7
6
  __name: "ButtonGroup",
8
7
  props: {
@@ -33,5 +32,4 @@ var ButtonGroup_default = /* @__PURE__ */ defineComponent({
33
32
  };
34
33
  }
35
34
  });
36
- //#endregion
37
35
  export { ButtonGroup_default as default };
@@ -1,7 +1,6 @@
1
- import { t as cn } from "../shared/src-CnJ6AzLP.js";
1
+ import { t as cn } from "../shared/src-DTwuqov4.js";
2
2
  import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
3
- //#endregion
4
- //#region src/components/button-group/IconGroup.vue
3
+ // src/components/button-group/IconGroup.vue
5
4
  var IconGroup_default = /* @__PURE__ */ defineComponent({
6
5
  __name: "IconGroup",
7
6
  props: { backgroundClass: {} },
@@ -11,5 +10,4 @@ var IconGroup_default = /* @__PURE__ */ defineComponent({
11
10
  };
12
11
  }
13
12
  });
14
- //#endregion
15
13
  export { IconGroup_default as default };
@@ -1,2 +1 @@
1
- import { t as Card_default } from "../shared/Card-l7baUdn0.js";
2
- export { Card_default as default };
1
+ export { t as default } from "../shared/Card-BrvqUM49.js";
@@ -1,2 +1 @@
1
- import { t as CardFooter_default } from "../shared/CardFooter-BM6EmVi7.js";
2
- export { CardFooter_default as default };
1
+ export { t as default } from "../shared/CardFooter-BV_I0pM-.js";
@@ -1,2 +1 @@
1
- import { t as CardHeader_default } from "../shared/CardHeader-B5To28Jp.js";
2
- export { CardHeader_default as default };
1
+ export { t as default } from "../shared/CardHeader-CMutruBx.js";
@@ -1,5 +1,5 @@
1
1
  import { createCommentVNode, createElementBlock, createElementVNode, defineComponent, openBlock, renderSlot, toDisplayString } from "vue";
2
- //#region src/components/card/CoachmarkCard.vue?vue&type=script&setup=true&lang.ts
2
+ // src/components/card/CoachmarkCard.vue?vue&type=script&setup=true&lang.ts
3
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
4
  var _hoisted_2 = {
5
5
  key: 0,
@@ -15,8 +15,7 @@ var _hoisted_9 = {
15
15
  key: 0,
16
16
  class: "flex w-full items-center gap-3"
17
17
  };
18
- //#endregion
19
- //#region src/components/card/CoachmarkCard.vue
18
+ // src/components/card/CoachmarkCard.vue
20
19
  var CoachmarkCard_default = /* @__PURE__ */ defineComponent({
21
20
  __name: "CoachmarkCard",
22
21
  props: {
@@ -53,5 +52,4 @@ var CoachmarkCard_default = /* @__PURE__ */ defineComponent({
53
52
  };
54
53
  }
55
54
  });
56
- //#endregion
57
55
  export { CoachmarkCard_default as default };
@@ -1,7 +1,7 @@
1
- import { t as cn } from "../shared/src-CnJ6AzLP.js";
1
+ import { t as cn } from "../shared/src-DTwuqov4.js";
2
2
  import { createElementBlock, createElementVNode, defineComponent, normalizeClass, onBeforeUnmount, onMounted, openBlock, toRaw, toRef, unref, useTemplateRef, watch } from "vue";
3
3
  import { BarController, BarElement, CategoryScale, Chart, Colors, Filler, Legend, LineController, LineElement, LinearScale, PointElement, Tooltip } from "chart.js";
4
- //#region src/components/chart/useChart.ts
4
+ // src/components/chart/useChart.ts
5
5
  Chart.register(BarController, BarElement, CategoryScale, Colors, Filler, Legend, LinearScale, LineController, LineElement, PointElement, Tooltip);
6
6
  function getCssVar(name) {
7
7
  return getComputedStyle(document.documentElement).getPropertyValue(name).trim();
@@ -143,12 +143,10 @@ function useChart(canvasRef, type, data) {
143
143
  chart = void 0;
144
144
  });
145
145
  }
146
- //#endregion
147
- //#region src/components/chart/Chart.vue?vue&type=script&setup=true&lang.ts
146
+ // src/components/chart/Chart.vue?vue&type=script&setup=true&lang.ts
148
147
  var _hoisted_1 = { class: "relative" };
149
148
  var _hoisted_2 = ["aria-label"];
150
- //#endregion
151
- //#region src/components/chart/Chart.vue
149
+ // src/components/chart/Chart.vue
152
150
  var Chart_default = /* @__PURE__ */ defineComponent({
153
151
  __name: "Chart",
154
152
  props: {
@@ -176,5 +174,4 @@ var Chart_default = /* @__PURE__ */ defineComponent({
176
174
  };
177
175
  }
178
176
  });
179
- //#endregion
180
177
  export { Chart_default as default };
@@ -0,0 +1,3 @@
1
+ import { Chart } from 'chart.js';
2
+ export declare function getChartByName(name: string): Chart | undefined;
3
+ export declare function stubCanvasGetContext(): void;
@@ -1,9 +1,8 @@
1
- import { t as cn } from "../shared/src-CnJ6AzLP.js";
1
+ import { t as cn } from "../shared/src-DTwuqov4.js";
2
2
  import { createBlock, createElementVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
3
  import { CheckboxIndicator, CheckboxRoot, useForwardPropsEmits } from "reka-ui";
4
4
  import { reactiveOmit } from "@vueuse/core";
5
- //#endregion
6
- //#region src/components/checkbox/Checkbox.vue
5
+ // src/components/checkbox/Checkbox.vue
7
6
  var Checkbox_default = /* @__PURE__ */ defineComponent({
8
7
  __name: "Checkbox",
9
8
  props: {
@@ -45,5 +44,4 @@ var Checkbox_default = /* @__PURE__ */ defineComponent({
45
44
  };
46
45
  }
47
46
  });
48
- //#endregion
49
47
  export { Checkbox_default as default };
@@ -0,0 +1,61 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ import { TagVariants } from '@comfyorg/design-system/tag.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
+ label: string;
11
+ shape?: TagVariants["shape"];
12
+ state?: TagVariants["state"];
13
+ removeTooltip?: string;
14
+ interactive?: boolean;
15
+ class?: HTMLAttributes["class"];
16
+ } & {
17
+ removable: true;
18
+ removeLabel: string;
19
+ }) | ({
20
+ label: string;
21
+ shape?: TagVariants["shape"];
22
+ state?: TagVariants["state"];
23
+ removeTooltip?: string;
24
+ interactive?: boolean;
25
+ class?: HTMLAttributes["class"];
26
+ } & {
27
+ removable?: false;
28
+ removeLabel?: string;
29
+ }), {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
30
+ remove: (event: Event) => any;
31
+ }, string, import('vue').PublicProps, Readonly<({
32
+ label: string;
33
+ shape?: TagVariants["shape"];
34
+ state?: TagVariants["state"];
35
+ removeTooltip?: string;
36
+ interactive?: boolean;
37
+ class?: HTMLAttributes["class"];
38
+ } & {
39
+ removable: true;
40
+ removeLabel: string;
41
+ }) | ({
42
+ label: string;
43
+ shape?: TagVariants["shape"];
44
+ state?: TagVariants["state"];
45
+ removeTooltip?: string;
46
+ interactive?: boolean;
47
+ class?: HTMLAttributes["class"];
48
+ } & {
49
+ removable?: false;
50
+ removeLabel?: string;
51
+ })> & Readonly<{
52
+ onRemove?: ((event: Event) => any) | undefined;
53
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
54
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
55
+ declare const _default: typeof __VLS_export;
56
+ export default _default;
57
+ type __VLS_WithSlots<T, S> = T & {
58
+ new (): {
59
+ $slots: S;
60
+ };
61
+ };
@@ -0,0 +1,71 @@
1
+ import { t as cn } from "../shared/src-DTwuqov4.js";
2
+ import { t as TagRemoveButton_default } from "../shared/TagRemoveButton-D919R-To.js";
3
+ import { n as tagVariants } from "../shared/tag.variants-BEXRRbPc.js";
4
+ import { createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withModifiers } from "vue";
5
+ // src/components/chip/Tag.vue?vue&type=script&setup=true&lang.ts
6
+ var _hoisted_1 = ["role", "tabindex"];
7
+ var _hoisted_2 = { class: "min-w-0 truncate" };
8
+ // src/components/chip/Tag.vue
9
+ var Tag_default = /* @__PURE__ */ defineComponent({
10
+ __name: "Tag",
11
+ props: {
12
+ label: {},
13
+ shape: { default: "square" },
14
+ state: { default: "default" },
15
+ removeTooltip: {},
16
+ interactive: {
17
+ type: Boolean,
18
+ default: false
19
+ },
20
+ class: { type: [
21
+ Boolean,
22
+ null,
23
+ String,
24
+ Object,
25
+ Array
26
+ ] },
27
+ removable: { type: Boolean },
28
+ removeLabel: {}
29
+ },
30
+ emits: ["remove"],
31
+ setup(__props, { emit: __emit }) {
32
+ const emit = __emit;
33
+ function handleKeydown(event) {
34
+ if (event.target !== event.currentTarget) return;
35
+ if (!__props.interactive) return;
36
+ if (event.key === "Enter" || event.key === " ") event.preventDefault();
37
+ if (event.key === "Enter" && event.currentTarget instanceof HTMLElement) event.currentTarget.click();
38
+ }
39
+ function handleKeyup(event) {
40
+ if (event.target !== event.currentTarget) return;
41
+ if (!__props.interactive || event.key !== " ") return;
42
+ event.preventDefault();
43
+ if (event.currentTarget instanceof HTMLElement) event.currentTarget.click();
44
+ }
45
+ return (_ctx, _cache) => {
46
+ return openBlock(), createElementBlock("span", {
47
+ role: __props.interactive ? "button" : void 0,
48
+ tabindex: __props.interactive ? 0 : void 0,
49
+ class: normalizeClass(unref(cn)(unref(tagVariants)({
50
+ shape: __props.shape,
51
+ state: __props.state,
52
+ removable: __props.removable,
53
+ interactive: __props.interactive
54
+ }), __props.class)),
55
+ onKeydown: handleKeydown,
56
+ onKeyup: handleKeyup
57
+ }, [
58
+ renderSlot(_ctx.$slots, "icon"),
59
+ createElementVNode("span", _hoisted_2, toDisplayString(__props.label), 1),
60
+ renderSlot(_ctx.$slots, "default"),
61
+ __props.removable ? (openBlock(), createBlock(unref(TagRemoveButton_default), {
62
+ key: 0,
63
+ "aria-label": __props.removeLabel,
64
+ tooltip: __props.removeTooltip,
65
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emit("remove", $event), ["stop"]))
66
+ }, null, 8, ["aria-label", "tooltip"])) : createCommentVNode("", true)
67
+ ], 42, _hoisted_1);
68
+ };
69
+ }
70
+ });
71
+ export { Tag_default as default };
@@ -1,2 +1 @@
1
- import { t as TagRemoveButton_default } from "../shared/TagRemoveButton-BiCdscIC.js";
2
- export { TagRemoveButton_default as default };
1
+ export { t as default } from "../shared/TagRemoveButton-D919R-To.js";
@@ -0,0 +1,23 @@
1
+ import { ColorPickerProps } from '@comfyorg/design-system/lib/color-picker/types';
2
+ type __VLS_Props = ColorPickerProps;
3
+ type __VLS_ModelProps = {
4
+ modelValue?: string;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
7
+ declare var __VLS_14: {};
8
+ type __VLS_Slots = {} & {
9
+ trigger?: (props: typeof __VLS_14) => any;
10
+ };
11
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ "update:modelValue": (value: string) => any;
13
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
14
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };