@comfyorg/design-system 1.0.1 → 1.2.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 (446) hide show
  1. package/README.md +89 -9
  2. package/dist/badge/Badge.vue.d.ts +49 -0
  3. package/dist/badge/Badge.vue.js +2 -0
  4. package/dist/badge/CreditBadge.vue.d.ts +7 -0
  5. package/dist/badge/CreditBadge.vue.js +35 -0
  6. package/dist/badge/badge.variants.d.ts +12 -0
  7. package/dist/button/Button.vue.d.ts +31 -0
  8. package/dist/button/Button.vue.js +2 -0
  9. package/dist/button-group/ButtonGroup.vue.d.ts +18 -0
  10. package/dist/button-group/ButtonGroup.vue.js +37 -0
  11. package/dist/button-group/IconGroup.vue.d.ts +16 -0
  12. package/dist/button-group/IconGroup.vue.js +15 -0
  13. package/dist/card/Card.vue.d.ts +19 -0
  14. package/dist/card/Card.vue.js +2 -0
  15. package/dist/card/CardFooter.vue.d.ts +17 -0
  16. package/dist/card/CardFooter.vue.js +2 -0
  17. package/dist/card/CardHeader.vue.d.ts +17 -0
  18. package/dist/card/CardHeader.vue.js +2 -0
  19. package/dist/card/CoachmarkCard.vue.d.ts +24 -0
  20. package/dist/card/CoachmarkCard.vue.js +57 -0
  21. package/dist/card/card.variants.d.ts +11 -0
  22. package/dist/chart/Chart.vue.d.ts +12 -0
  23. package/dist/chart/Chart.vue.js +180 -0
  24. package/dist/chart/useChart.d.ts +4 -0
  25. package/dist/checkbox/Checkbox.vue.d.ts +25 -0
  26. package/dist/checkbox/Checkbox.vue.js +49 -0
  27. package/dist/chip/TagRemoveButton.vue.d.ts +18 -0
  28. package/dist/chip/TagRemoveButton.vue.js +2 -0
  29. package/dist/common/CanvasBanner.vue.d.ts +23 -0
  30. package/dist/common/CanvasBanner.vue.js +23 -0
  31. package/dist/common/ContentDivider.vue.d.ts +7 -0
  32. package/dist/common/ContentDivider.vue.js +22 -0
  33. package/dist/common/CustomFormValue.vue.d.ts +6 -0
  34. package/dist/common/CustomFormValue.vue.js +28 -0
  35. package/dist/common/DotSpinner.vue.d.ts +7 -0
  36. package/dist/common/DotSpinner.vue.js +34 -0
  37. package/dist/common/EditableText.vue.d.ts +16 -0
  38. package/dist/common/EditableText.vue.js +73 -0
  39. package/dist/common/LoadingOverlay.vue.d.ts +18 -0
  40. package/dist/common/LoadingOverlay.vue.js +41 -0
  41. package/dist/common/MarkdownText.vue.d.ts +6 -0
  42. package/dist/common/MarkdownText.vue.js +93 -0
  43. package/dist/common/MarqueeLine.vue.d.ts +13 -0
  44. package/dist/common/MarqueeLine.vue.js +12 -0
  45. package/dist/common/OverlayIcon.vue.d.ts +13 -0
  46. package/dist/common/OverlayIcon.vue.js +2 -0
  47. package/dist/common/SanitizedHtml.vue.d.ts +8 -0
  48. package/dist/common/SanitizedHtml.vue.js +60 -0
  49. package/dist/common/TextDivider.vue.d.ts +8 -0
  50. package/dist/common/TextDivider.vue.js +36 -0
  51. package/dist/common/TextTicker.vue.d.ts +17 -0
  52. package/dist/common/TextTicker.vue.js +53 -0
  53. package/dist/common/TextTickerMultiLine.vue.d.ts +6 -0
  54. package/dist/common/TextTickerMultiLine.vue.js +54 -0
  55. package/dist/common/VerticalDivider.vue.d.ts +3 -0
  56. package/dist/common/VerticalDivider.vue.js +15 -0
  57. package/dist/common/VideoCompareSlider.vue.d.ts +24 -0
  58. package/dist/common/VideoCompareSlider.vue.js +141 -0
  59. package/dist/common/ViewportWidgetShell.vue.d.ts +27 -0
  60. package/dist/common/ViewportWidgetShell.vue.js +58 -0
  61. package/dist/common/VirtualGrid.vue.d.ts +38 -0
  62. package/dist/common/VirtualGrid.vue.js +107 -0
  63. package/dist/common/textTickerUtils.d.ts +1 -0
  64. package/dist/components.css +44 -0
  65. package/dist/composables/useAttrsClass.d.ts +12 -0
  66. package/dist/composables/useAttrsClass.js +18 -0
  67. package/dist/composables/usePopoverSizing.d.ts +12 -0
  68. package/dist/composables/usePopoverSizing.js +18 -0
  69. package/dist/confirm/ConfirmBody.vue.d.ts +8 -0
  70. package/dist/confirm/ConfirmBody.vue.js +27 -0
  71. package/dist/confirm/ConfirmHeader.vue.d.ts +7 -0
  72. package/dist/confirm/ConfirmHeader.vue.js +27 -0
  73. package/dist/content-card/CardBottom.vue.d.ts +16 -0
  74. package/dist/content-card/CardBottom.vue.js +19 -0
  75. package/dist/content-card/CardContainer.vue.d.ts +26 -0
  76. package/dist/content-card/CardContainer.vue.js +61 -0
  77. package/dist/content-card/CardTop.vue.d.ts +36 -0
  78. package/dist/content-card/CardTop.vue.js +72 -0
  79. package/dist/dialog/Dialog.vue.d.ts +21 -0
  80. package/dist/dialog/Dialog.vue.js +25 -0
  81. package/dist/dialog/DialogClose.vue.d.ts +13 -0
  82. package/dist/dialog/DialogClose.vue.js +24 -0
  83. package/dist/dialog/DialogContent.vue.d.ts +36 -0
  84. package/dist/dialog/DialogContent.vue.js +73 -0
  85. package/dist/dialog/DialogDescription.vue.d.ts +18 -0
  86. package/dist/dialog/DialogDescription.vue.js +33 -0
  87. package/dist/dialog/DialogFooter.vue.d.ts +17 -0
  88. package/dist/dialog/DialogFooter.vue.js +24 -0
  89. package/dist/dialog/DialogHeader.vue.d.ts +17 -0
  90. package/dist/dialog/DialogHeader.vue.js +24 -0
  91. package/dist/dialog/DialogMaximize.vue.d.ts +10 -0
  92. package/dist/dialog/DialogMaximize.vue.js +27 -0
  93. package/dist/dialog/DialogOverlay.vue.d.ts +8 -0
  94. package/dist/dialog/DialogOverlay.vue.js +35 -0
  95. package/dist/dialog/DialogPanel.vue.d.ts +18 -0
  96. package/dist/dialog/DialogPanel.vue.js +55 -0
  97. package/dist/dialog/DialogPortal.vue.d.ts +14 -0
  98. package/dist/dialog/DialogPortal.vue.js +38 -0
  99. package/dist/dialog/DialogTitle.vue.d.ts +18 -0
  100. package/dist/dialog/DialogTitle.vue.js +2 -0
  101. package/dist/dialog/dialog.variants.d.ts +16 -0
  102. package/dist/dialog/dialog.variants.js +39 -0
  103. package/dist/dialog/types.d.ts +6 -0
  104. package/dist/dialog/types.js +0 -0
  105. package/dist/field/Field.vue.d.ts +19 -0
  106. package/dist/field/Field.vue.js +42 -0
  107. package/dist/field/FieldDescription.vue.d.ts +17 -0
  108. package/dist/field/FieldDescription.vue.js +24 -0
  109. package/dist/field/FieldError.vue.d.ts +21 -0
  110. package/dist/field/FieldError.vue.js +39 -0
  111. package/dist/field/FieldGroup.vue.d.ts +17 -0
  112. package/dist/field/FieldGroup.vue.js +24 -0
  113. package/dist/field/FieldLabel.vue.d.ts +17 -0
  114. package/dist/field/FieldLabel.vue.js +28 -0
  115. package/dist/field/ModelInfoField.vue.d.ts +18 -0
  116. package/dist/field/ModelInfoField.vue.js +18 -0
  117. package/dist/field/field.variants.d.ts +11 -0
  118. package/dist/hover-card/HoverCard.vue.d.ts +18 -0
  119. package/dist/hover-card/HoverCard.vue.js +26 -0
  120. package/dist/hover-card/HoverCardContent.vue.d.ts +18 -0
  121. package/dist/hover-card/HoverCardContent.vue.js +68 -0
  122. package/dist/hover-card/HoverCardTrigger.vue.d.ts +14 -0
  123. package/dist/hover-card/HoverCardTrigger.vue.js +23 -0
  124. package/dist/icon/ComfyLogo.vue.d.ts +9 -0
  125. package/dist/icon/ComfyLogo.vue.js +33 -0
  126. package/dist/icon/PuzzleIcon.vue.d.ts +8 -0
  127. package/dist/icon/PuzzleIcon.vue.js +40 -0
  128. package/dist/icon/TinyChevronIcon.vue.d.ts +6 -0
  129. package/dist/icon/TinyChevronIcon.vue.js +31 -0
  130. package/dist/icon/VerifiedIcon.vue.d.ts +8 -0
  131. package/dist/icon/VerifiedIcon.vue.js +32 -0
  132. package/dist/input/Input.vue.d.ts +21 -0
  133. package/dist/input/Input.vue.js +2 -0
  134. package/dist/input/PasswordInput.vue.d.ts +18 -0
  135. package/dist/input/PasswordInput.vue.js +68 -0
  136. package/dist/input-group/InputGroup.vue.d.ts +17 -0
  137. package/dist/input-group/InputGroup.vue.js +2 -0
  138. package/dist/input-group/InputGroupAddon.vue.d.ts +19 -0
  139. package/dist/input-group/InputGroupAddon.vue.js +2 -0
  140. package/dist/input-group/InputGroupButton.vue.d.ts +21 -0
  141. package/dist/input-group/InputGroupButton.vue.js +2 -0
  142. package/dist/input-group/InputGroupInput.vue.d.ts +15 -0
  143. package/dist/input-group/InputGroupInput.vue.js +2 -0
  144. package/dist/input-group/inputGroup.variants.d.ts +21 -0
  145. package/dist/input-group/inputGroup.variants.js +22 -0
  146. package/dist/knob/Knob.vue.d.ts +19 -0
  147. package/dist/knob/Knob.vue.js +124 -0
  148. package/dist/label/Label.vue.d.ts +18 -0
  149. package/dist/label/Label.vue.js +2 -0
  150. package/dist/media/AudioPreview.vue.d.ts +6 -0
  151. package/dist/media/AudioPreview.vue.js +28 -0
  152. package/dist/media/MediaTitle.vue.d.ts +6 -0
  153. package/dist/media/MediaTitle.vue.js +19 -0
  154. package/dist/media/VideoPlayOverlay.vue.d.ts +8 -0
  155. package/dist/media/VideoPlayOverlay.vue.js +28 -0
  156. package/dist/media/VideoPreview.vue.d.ts +7 -0
  157. package/dist/media/VideoPreview.vue.js +32 -0
  158. package/dist/media/ZoomPane.vue.d.ts +17 -0
  159. package/dist/media/ZoomPane.vue.js +62 -0
  160. package/dist/menu/ContextMenu.vue.d.ts +31 -0
  161. package/dist/menu/ContextMenu.vue.js +52 -0
  162. package/dist/menu/ContextMenuContent.vue.d.ts +32 -0
  163. package/dist/menu/ContextMenuContent.vue.js +2 -0
  164. package/dist/menu/Menu.vue.d.ts +41 -0
  165. package/dist/menu/Menu.vue.js +79 -0
  166. package/dist/menu/MenuAction.vue.d.ts +26 -0
  167. package/dist/menu/MenuAction.vue.js +2 -0
  168. package/dist/menu/MenuContent.vue.d.ts +35 -0
  169. package/dist/menu/MenuContent.vue.js +2 -0
  170. package/dist/menu/MenuItem.vue.d.ts +22 -0
  171. package/dist/menu/MenuItem.vue.js +35 -0
  172. package/dist/menu/MenuItemContent.vue.d.ts +8 -0
  173. package/dist/menu/MenuItemContent.vue.js +2 -0
  174. package/dist/menu/MenuItems.vue.d.ts +32 -0
  175. package/dist/menu/MenuItems.vue.js +2 -0
  176. package/dist/menu/MenuRadioGroup.vue.d.ts +26 -0
  177. package/dist/menu/MenuRadioGroup.vue.js +2 -0
  178. package/dist/menu/MenuRadioItem.vue.d.ts +22 -0
  179. package/dist/menu/MenuRadioItem.vue.js +2 -0
  180. package/dist/menu/MenuSeparator.vue.d.ts +8 -0
  181. package/dist/menu/MenuSeparator.vue.js +2 -0
  182. package/dist/menu/MenuSub.vue.d.ts +20 -0
  183. package/dist/menu/MenuSub.vue.js +2 -0
  184. package/dist/menu/MenuSubContent.vue.d.ts +36 -0
  185. package/dist/menu/MenuSubContent.vue.js +2 -0
  186. package/dist/menu/MenuSubTrigger.vue.d.ts +18 -0
  187. package/dist/menu/MenuSubTrigger.vue.js +2 -0
  188. package/dist/menu/MenuSubmenu.vue.d.ts +21 -0
  189. package/dist/menu/MenuSubmenu.vue.js +2 -0
  190. package/dist/menu/menuAnchor.d.ts +4 -0
  191. package/dist/menu/menuAnchor.js +15 -0
  192. package/dist/menu/menuStyles.d.ts +4 -0
  193. package/dist/menu/menuStyles.js +7 -0
  194. package/dist/menu/mouseDownUtil.d.ts +3 -0
  195. package/dist/menu/types.d.ts +69 -0
  196. package/dist/menu/types.js +0 -0
  197. package/dist/menu/usePointMenu.d.ts +19 -0
  198. package/dist/menu/usePointMenu.js +56 -0
  199. package/dist/message/Message.vue.d.ts +50 -0
  200. package/dist/message/Message.vue.js +75 -0
  201. package/dist/message/message.variants.d.ts +11 -0
  202. package/dist/message/message.variants.js +15 -0
  203. package/dist/multi-select/MultiSelect.vue.d.ts +170 -0
  204. package/dist/multi-select/MultiSelect.vue.js +137 -0
  205. package/dist/multi-select/MultiSelectContent.vue.d.ts +32 -0
  206. package/dist/multi-select/MultiSelectContent.vue.js +2 -0
  207. package/dist/multi-select/MultiSelectTrigger.vue.d.ts +24 -0
  208. package/dist/multi-select/MultiSelectTrigger.vue.js +2 -0
  209. package/dist/multi-select/types.d.ts +35 -0
  210. package/dist/multi-select/types.js +0 -0
  211. package/dist/navigation/NavTitle.vue.d.ts +12 -0
  212. package/dist/navigation/NavTitle.vue.js +42 -0
  213. package/dist/navigation/SidebarTopArea.vue.d.ts +15 -0
  214. package/dist/navigation/SidebarTopArea.vue.js +16 -0
  215. package/dist/number-field/NumberField.vue.d.ts +26 -0
  216. package/dist/number-field/NumberField.vue.js +75 -0
  217. package/dist/number-field/NumberFieldDecrement.vue.d.ts +18 -0
  218. package/dist/number-field/NumberFieldDecrement.vue.js +35 -0
  219. package/dist/number-field/NumberFieldIncrement.vue.d.ts +18 -0
  220. package/dist/number-field/NumberFieldIncrement.vue.js +35 -0
  221. package/dist/number-field/NumberFieldInput.vue.d.ts +7 -0
  222. package/dist/number-field/NumberFieldInput.vue.js +25 -0
  223. package/dist/number-field/PropertyNumberField.vue.d.ts +14 -0
  224. package/dist/number-field/PropertyNumberField.vue.js +56 -0
  225. package/dist/pagination/Pagination.vue.d.ts +22 -0
  226. package/dist/pagination/Pagination.vue.js +140 -0
  227. package/dist/popover/PopoverContent.vue.d.ts +33 -0
  228. package/dist/popover/PopoverContent.vue.js +91 -0
  229. package/dist/popover/usePopoverViewportDismiss.d.ts +2 -0
  230. package/dist/popover/usePopoverViewportDismiss.js +13 -0
  231. package/dist/radio-group/RadioGroup.vue.d.ts +22 -0
  232. package/dist/radio-group/RadioGroup.vue.js +45 -0
  233. package/dist/radio-group/RadioGroupItem.vue.d.ts +22 -0
  234. package/dist/radio-group/RadioGroupItem.vue.js +42 -0
  235. package/dist/search-input/AsyncSearchInput.vue.d.ts +27 -0
  236. package/dist/search-input/AsyncSearchInput.vue.js +104 -0
  237. package/dist/search-input/SearchAutocomplete.vue.d.ts +53 -0
  238. package/dist/search-input/SearchAutocomplete.vue.js +234 -0
  239. package/dist/search-input/SearchInput.vue.d.ts +46 -0
  240. package/dist/search-input/SearchInput.vue.js +127 -0
  241. package/dist/search-input/searchInput.variants.d.ts +45 -0
  242. package/dist/select/DropdownControl.vue.d.ts +16 -0
  243. package/dist/select/DropdownControl.vue.js +48 -0
  244. package/dist/select/Select.vue.d.ts +21 -0
  245. package/dist/select/Select.vue.js +2 -0
  246. package/dist/select/SelectContent.vue.d.ts +29 -0
  247. package/dist/select/SelectContent.vue.js +2 -0
  248. package/dist/select/SelectItem.vue.d.ts +18 -0
  249. package/dist/select/SelectItem.vue.js +2 -0
  250. package/dist/select/SelectScrollDownButton.vue.d.ts +18 -0
  251. package/dist/select/SelectScrollDownButton.vue.js +2 -0
  252. package/dist/select/SelectScrollUpButton.vue.d.ts +18 -0
  253. package/dist/select/SelectScrollUpButton.vue.js +2 -0
  254. package/dist/select/SelectTrigger.vue.d.ts +22 -0
  255. package/dist/select/SelectTrigger.vue.js +2 -0
  256. package/dist/select/SelectValue.vue.d.ts +14 -0
  257. package/dist/select/SelectValue.vue.js +2 -0
  258. package/dist/select/types.d.ts +4 -0
  259. package/dist/select/types.js +0 -0
  260. package/dist/select/useSelectSearch.d.ts +3 -0
  261. package/dist/select/useSelectSearch.js +15 -0
  262. package/dist/shared/Badge-D3uWa3yk.js +92 -0
  263. package/dist/shared/Button-CilmsOkY.js +141 -0
  264. package/dist/shared/Card-l7baUdn0.js +34 -0
  265. package/dist/shared/CardFooter-BM6EmVi7.js +21 -0
  266. package/dist/shared/CardHeader-B5To28Jp.js +21 -0
  267. package/dist/shared/ContextMenuContent-CNQHJQ81.js +64 -0
  268. package/dist/shared/DialogTitle-CfkkTGuU.js +43 -0
  269. package/dist/shared/Input-39RLwDr2.js +38 -0
  270. package/dist/shared/InputGroup-kjQKkhyB.js +25 -0
  271. package/dist/shared/InputGroupAddon-DLDRT0CQ.js +38 -0
  272. package/dist/shared/InputGroupButton-BoEp2apg.js +41 -0
  273. package/dist/shared/InputGroupInput-E2MlEVUU.js +32 -0
  274. package/dist/shared/Label-Cx_lFofI.js +36 -0
  275. package/dist/shared/MenuAction-BdghJ23k.js +124 -0
  276. package/dist/shared/MenuContent-ChqlM3xA.js +80 -0
  277. package/dist/shared/MenuItemContent--dPNoBmU.js +69 -0
  278. package/dist/shared/MenuItems-BJKetPV-.js +69 -0
  279. package/dist/shared/MenuRadioGroup-Bpjt9sHI.js +65 -0
  280. package/dist/shared/MenuRadioItem-h7hh_RGU.js +36 -0
  281. package/dist/shared/MenuSeparator-Dm6CkPqB.js +28 -0
  282. package/dist/shared/MenuSub-Dbnj2w-X.js +23 -0
  283. package/dist/shared/MenuSubContent-M-g3fllh.js +69 -0
  284. package/dist/shared/MenuSubTrigger-D6-3s2NL.js +35 -0
  285. package/dist/shared/MenuSubmenu-QHWMyfKF.js +43 -0
  286. package/dist/shared/MultiSelectContent-c1D5avjh.js +162 -0
  287. package/dist/shared/MultiSelectTrigger-lmuXqETa.js +52 -0
  288. package/dist/shared/OverlayIcon-DntJI-mm.js +45 -0
  289. package/dist/shared/SearchableSingleSelect-Dnti1kqJ.js +184 -0
  290. package/dist/shared/Select-CP3OZjtL.js +33 -0
  291. package/dist/shared/SelectContent-C8aNlcFf.js +91 -0
  292. package/dist/shared/SelectItem-tU4CIa5J.js +42 -0
  293. package/dist/shared/SelectScrollDownButton-Dvig5MVc.js +30 -0
  294. package/dist/shared/SelectScrollUpButton-lv-npT6v.js +30 -0
  295. package/dist/shared/SelectTrigger-CCDiZW91.js +47 -0
  296. package/dist/shared/SelectValue-DFZFSiQp.js +23 -0
  297. package/dist/shared/Switch-DsCzHpDU.js +63 -0
  298. package/dist/shared/TableHead-OxGist4m.js +24 -0
  299. package/dist/shared/TagRemoveButton-BiCdscIC.js +38 -0
  300. package/dist/shared/TextTooltip-ClHQl84h.js +29 -0
  301. package/dist/shared/Tooltip-DbXyHv20.js +34 -0
  302. package/dist/shared/TooltipContent-Bju-U7gc.js +91 -0
  303. package/dist/shared/TooltipTrigger-CVwISmWo.js +65 -0
  304. package/dist/shared/_plugin-vue_export-helper-BOaGB7Aw.js +8 -0
  305. package/dist/shared/searchInput.variants-NOge_52E.js +47 -0
  306. package/dist/shared/select.variants-BPn5Z7N1.js +40 -0
  307. package/dist/shared/src-CnJ6AzLP.js +12 -0
  308. package/dist/shared/tabKeys-BISOrxWu.js +4 -0
  309. package/dist/shared/tabs.variants-XUREdHry.js +23 -0
  310. package/dist/shared/tag.variants-CCqCn8Jc.js +34 -0
  311. package/dist/shared/tagsInputContext-QXu7RrG5.js +5 -0
  312. package/dist/shared/toggleGroup.variants-CvjZDHMw.js +39 -0
  313. package/dist/shared/tooltipContext-BL5JtM0i.js +4 -0
  314. package/dist/single-select/SearchableSingleSelect.vue.d.ts +39 -0
  315. package/dist/single-select/SearchableSingleSelect.vue.js +2 -0
  316. package/dist/single-select/SingleSelect.vue.d.ts +38 -0
  317. package/dist/single-select/SingleSelect.vue.js +187 -0
  318. package/dist/single-select/types.d.ts +25 -0
  319. package/dist/single-select/types.js +0 -0
  320. package/dist/skeleton/Skeleton.vue.d.ts +7 -0
  321. package/dist/skeleton/Skeleton.vue.js +24 -0
  322. package/dist/slider/Slider.vue.d.ts +16 -0
  323. package/dist/slider/Slider.vue.js +88 -0
  324. package/dist/spinner/Spinner.vue.d.ts +7 -0
  325. package/dist/spinner/Spinner.vue.js +41 -0
  326. package/dist/splitter/SplitterGroup.vue.d.ts +23 -0
  327. package/dist/splitter/SplitterGroup.vue.js +40 -0
  328. package/dist/splitter/SplitterPanel.vue.d.ts +26 -0
  329. package/dist/splitter/SplitterPanel.vue.js +45 -0
  330. package/dist/splitter/SplitterResizeHandle.vue.d.ts +22 -0
  331. package/dist/splitter/SplitterResizeHandle.vue.js +37 -0
  332. package/dist/switch/Switch.vue.d.ts +17 -0
  333. package/dist/switch/Switch.vue.js +2 -0
  334. package/dist/tab/Tab.vue.d.ts +24 -0
  335. package/dist/tab/Tab.vue.js +76 -0
  336. package/dist/tab/TabList.vue.d.ts +26 -0
  337. package/dist/tab/TabList.vue.js +31 -0
  338. package/dist/tab/TabPanel.vue.d.ts +23 -0
  339. package/dist/tab/TabPanel.vue.js +28 -0
  340. package/dist/tab/tab.variants.d.ts +9 -0
  341. package/dist/tab/tabKeys.d.ts +7 -0
  342. package/dist/table/Table.vue.d.ts +17 -0
  343. package/dist/table/Table.vue.js +23 -0
  344. package/dist/table/TableBody.vue.d.ts +17 -0
  345. package/dist/table/TableBody.vue.js +21 -0
  346. package/dist/table/TableCell.vue.d.ts +17 -0
  347. package/dist/table/TableCell.vue.js +21 -0
  348. package/dist/table/TableHead.vue.d.ts +17 -0
  349. package/dist/table/TableHead.vue.js +2 -0
  350. package/dist/table/TableHeader.vue.d.ts +17 -0
  351. package/dist/table/TableHeader.vue.js +21 -0
  352. package/dist/table/TableRow.vue.d.ts +17 -0
  353. package/dist/table/TableRow.vue.js +21 -0
  354. package/dist/table/TableSortHead.vue.d.ts +26 -0
  355. package/dist/table/TableSortHead.vue.js +47 -0
  356. package/dist/table/tableUtils.d.ts +3 -0
  357. package/dist/table/tableUtils.js +19 -0
  358. package/dist/tabs/Tabs.vue.d.ts +22 -0
  359. package/dist/tabs/Tabs.vue.js +43 -0
  360. package/dist/tabs/TabsContent.vue.d.ts +18 -0
  361. package/dist/tabs/TabsContent.vue.js +37 -0
  362. package/dist/tabs/TabsList.vue.d.ts +20 -0
  363. package/dist/tabs/TabsList.vue.js +38 -0
  364. package/dist/tabs/TabsTrigger.vue.d.ts +20 -0
  365. package/dist/tabs/TabsTrigger.vue.js +39 -0
  366. package/dist/tabs/tabs.variants.d.ts +21 -0
  367. package/dist/tags-input/TagsInput.vue.d.ts +32 -0
  368. package/dist/tags-input/TagsInput.vue.js +98 -0
  369. package/dist/tags-input/TagsInputInput.vue.d.ts +9 -0
  370. package/dist/tags-input/TagsInputInput.vue.js +56 -0
  371. package/dist/tags-input/TagsInputItem.vue.d.ts +18 -0
  372. package/dist/tags-input/TagsInputItem.vue.js +34 -0
  373. package/dist/tags-input/TagsInputItemDelete.vue.d.ts +18 -0
  374. package/dist/tags-input/TagsInputItemDelete.vue.js +35 -0
  375. package/dist/tags-input/TagsInputItemText.vue.d.ts +8 -0
  376. package/dist/tags-input/TagsInputItemText.vue.js +28 -0
  377. package/dist/tags-input/tagsInputContext.d.ts +4 -0
  378. package/dist/textarea/Textarea.vue.d.ts +17 -0
  379. package/dist/textarea/Textarea.vue.js +33 -0
  380. package/dist/toast/ToastClose.vue.d.ts +8 -0
  381. package/dist/toast/ToastClose.vue.js +42 -0
  382. package/dist/toast/ToastDescription.vue.d.ts +18 -0
  383. package/dist/toast/ToastDescription.vue.js +31 -0
  384. package/dist/toast/ToastDock.vue.d.ts +13 -0
  385. package/dist/toast/ToastDock.vue.js +29 -0
  386. package/dist/toast/ToastPanel.vue.d.ts +30 -0
  387. package/dist/toast/ToastPanel.vue.js +47 -0
  388. package/dist/toast/ToastRoot.vue.d.ts +100 -0
  389. package/dist/toast/ToastRoot.vue.js +55 -0
  390. package/dist/toast/ToastTitle.vue.d.ts +18 -0
  391. package/dist/toast/ToastTitle.vue.js +31 -0
  392. package/dist/toast/ToastViewport.vue.d.ts +9 -0
  393. package/dist/toast/ToastViewport.vue.js +33 -0
  394. package/dist/toggle-group/ToggleGroup.vue.d.ts +25 -0
  395. package/dist/toggle-group/ToggleGroup.vue.js +61 -0
  396. package/dist/toggle-group/ToggleGroupItem.vue.d.ts +21 -0
  397. package/dist/toggle-group/ToggleGroupItem.vue.js +45 -0
  398. package/dist/toggle-group/toggleGroup.variants.d.ts +24 -0
  399. package/dist/tooltip/TextTooltip.vue.d.ts +20 -0
  400. package/dist/tooltip/TextTooltip.vue.js +2 -0
  401. package/dist/tooltip/Tooltip.vue.d.ts +23 -0
  402. package/dist/tooltip/Tooltip.vue.js +2 -0
  403. package/dist/tooltip/TooltipContent.vue.d.ts +24 -0
  404. package/dist/tooltip/TooltipContent.vue.js +2 -0
  405. package/dist/tooltip/TooltipProvider.vue.d.ts +15 -0
  406. package/dist/tooltip/TooltipProvider.vue.js +39 -0
  407. package/dist/tooltip/TooltipTrigger.vue.d.ts +14 -0
  408. package/dist/tooltip/TooltipTrigger.vue.js +2 -0
  409. package/dist/tooltip/tooltipConfig.d.ts +5 -0
  410. package/dist/tooltip/tooltipConfig.js +8 -0
  411. package/dist/tooltip/tooltipContext.d.ts +2 -0
  412. package/dist/transition/TransitionCollapse.vue.d.ts +21 -0
  413. package/dist/transition/TransitionCollapse.vue.js +110 -0
  414. package/dist/tree/Tree.vue.d.ts +32 -0
  415. package/dist/tree/Tree.vue.js +55 -0
  416. package/dist/tree/TreeItem.vue.d.ts +29 -0
  417. package/dist/tree/TreeItem.vue.js +82 -0
  418. package/dist/tree/treeStyles.d.ts +4 -0
  419. package/dist/tree/treeStyles.js +7 -0
  420. package/dist-types/button.variants.d.ts +16 -0
  421. package/dist-types/select.variants.d.ts +24 -0
  422. package/dist-types/tag.variants.d.ts +21 -0
  423. package/dist-types/workspaceAvatar.d.ts +5 -0
  424. package/package.json +167 -7
  425. package/src/button.variants.ts +84 -0
  426. package/src/css/_deprecated-aliases.css +12 -0
  427. package/src/css/_legacy-palette.css +33 -0
  428. package/src/css/_legacy-ui.css +418 -0
  429. package/src/css/_markdown.css +227 -0
  430. package/src/css/_mask-editor.css +180 -0
  431. package/src/css/_palette.css +43 -0
  432. package/src/css/base.css +0 -6
  433. package/src/css/iconSizing.test.ts +80 -0
  434. package/src/css/iconifyDynamicPlugin.ts +15 -6
  435. package/src/css/icons.test.ts +17 -0
  436. package/src/css/lucideStrokePlugin.js +5 -6
  437. package/src/css/style.css +109 -1698
  438. package/src/icons/README.md +33 -26
  439. package/src/icons/astroid-filled.svg +3 -0
  440. package/src/icons/claude.svg +1 -1
  441. package/src/icons/comfy-cloud.svg +4 -0
  442. package/src/icons/comfy-logo.svg +2 -2
  443. package/src/select.variants.ts +53 -0
  444. package/src/tag.variants.ts +38 -0
  445. package/src/workspaceAvatar.ts +54 -0
  446. package/src/icons/credits.svg +0 -3
@@ -0,0 +1,37 @@
1
+ import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
+ import { createBlock, createPropsRestProxy, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
+ import { SplitterResizeHandle, useForwardPropsEmits } from "reka-ui";
4
+ //#endregion
5
+ //#region src/components/splitter/SplitterResizeHandle.vue
6
+ var SplitterResizeHandle_default = /* @__PURE__ */ defineComponent({
7
+ __name: "SplitterResizeHandle",
8
+ props: {
9
+ id: {},
10
+ hitAreaMargins: {},
11
+ tabindex: {},
12
+ disabled: { type: Boolean },
13
+ nonce: {},
14
+ asChild: { type: Boolean },
15
+ as: {},
16
+ class: { type: [
17
+ Boolean,
18
+ null,
19
+ String,
20
+ Object,
21
+ Array
22
+ ] }
23
+ },
24
+ emits: ["dragging"],
25
+ setup(__props, { emit: __emit }) {
26
+ const restProps = createPropsRestProxy(__props, ["class"]);
27
+ const forwarded = useForwardPropsEmits(restProps, __emit);
28
+ return (_ctx, _cache) => {
29
+ return openBlock(), createBlock(unref(SplitterResizeHandle), mergeProps(unref(forwarded), { class: unref(cn)("relative z-10 flex w-px shrink-0 items-center justify-center bg-border outline-none", "after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2", "hover:bg-primary data-[state=drag]:bg-primary", "focus-visible:ring-1 focus-visible:ring-ring", "data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full", "data-[orientation=vertical]:after:inset-x-0 data-[orientation=vertical]:after:top-1/2 data-[orientation=vertical]:after:h-1 data-[orientation=vertical]:after:w-full data-[orientation=vertical]:after:translate-x-0 data-[orientation=vertical]:after:-translate-y-1/2", __props.class) }), {
30
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
31
+ _: 3
32
+ }, 16, ["class"]);
33
+ };
34
+ }
35
+ });
36
+ //#endregion
37
+ export { SplitterResizeHandle_default as default };
@@ -0,0 +1,17 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ type __VLS_Props = {
3
+ class?: HTMLAttributes['class'];
4
+ disabled?: boolean;
5
+ readonly?: boolean;
6
+ };
7
+ type __VLS_ModelProps = {
8
+ modelValue?: boolean;
9
+ };
10
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
11
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ "update:modelValue": (value: boolean) => any;
13
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
14
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { t as Switch_default } from "../shared/Switch-DsCzHpDU.js";
2
+ export { Switch_default as default };
@@ -0,0 +1,24 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ declare const __VLS_export: <T extends string = string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<{
4
+ value: T;
5
+ class?: HTMLAttributes["class"];
6
+ }> & (typeof globalThis extends {
7
+ __VLS_PROPS_FALLBACK: infer P;
8
+ } ? P : {});
9
+ expose: (exposed: {}) => void;
10
+ attrs: any;
11
+ slots: {
12
+ default?: (props: {}) => any;
13
+ };
14
+ emit: {};
15
+ }>) => import('vue').VNode & {
16
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
17
+ };
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
21
+ [K in keyof T]: T[K];
22
+ } : {
23
+ [K in keyof T as K]: T[K];
24
+ }) & {};
@@ -0,0 +1,76 @@
1
+ import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
+ import { t as TAB_LIST_INJECTION_KEY } from "../shared/tabKeys-BISOrxWu.js";
3
+ import { computed, createElementBlock, defineComponent, inject, normalizeClass, openBlock, renderSlot, unref } from "vue";
4
+ import { cva } from "cva";
5
+ //#region src/components/tab/tab.variants.ts
6
+ var tabStateVariants = cva({
7
+ base: "cursor-pointer rounded-lg border-none text-sm outline-hidden transition-all duration-200 focus-visible:ring-1 focus-visible:ring-ring",
8
+ variants: { active: {
9
+ true: "bg-accent text-foreground",
10
+ false: "bg-transparent text-muted-foreground hover:bg-accent focus:bg-accent"
11
+ } },
12
+ defaultVariants: { active: false }
13
+ });
14
+ //#endregion
15
+ //#region src/components/tab/Tab.vue?vue&type=script&setup=true&lang.ts
16
+ var _hoisted_1 = [
17
+ "id",
18
+ "aria-selected",
19
+ "aria-controls",
20
+ "data-state",
21
+ "tabindex"
22
+ ];
23
+ //#endregion
24
+ //#region src/components/tab/Tab.vue
25
+ var Tab_default = /* @__PURE__ */ defineComponent({
26
+ __name: "Tab",
27
+ props: {
28
+ value: {},
29
+ class: { type: [
30
+ Boolean,
31
+ null,
32
+ String,
33
+ Object,
34
+ Array
35
+ ] }
36
+ },
37
+ setup(__props) {
38
+ const props = __props;
39
+ const context = inject(TAB_LIST_INJECTION_KEY);
40
+ const isActive = computed(() => context?.modelValue.value === props.value);
41
+ function handleClick() {
42
+ context?.select(props.value);
43
+ }
44
+ function handleKeydown(event) {
45
+ const tablist = event.currentTarget.parentElement;
46
+ if (!tablist) return;
47
+ const tabs = Array.from(tablist.querySelectorAll("[role=\"tab\"]"));
48
+ const currentIndex = tabs.indexOf(event.currentTarget);
49
+ let targetIndex = -1;
50
+ if (event.key === "ArrowRight" || event.key === "ArrowDown") targetIndex = (currentIndex + 1) % tabs.length;
51
+ else if (event.key === "ArrowLeft" || event.key === "ArrowUp") targetIndex = (currentIndex - 1 + tabs.length) % tabs.length;
52
+ else if (event.key === "Home") targetIndex = 0;
53
+ else if (event.key === "End") targetIndex = tabs.length - 1;
54
+ if (targetIndex !== -1) {
55
+ event.preventDefault();
56
+ tabs[targetIndex].focus();
57
+ }
58
+ }
59
+ return (_ctx, _cache) => {
60
+ return openBlock(), createElementBlock("button", {
61
+ id: `tab-${props.value}`,
62
+ role: "tab",
63
+ type: "button",
64
+ "aria-selected": isActive.value,
65
+ "aria-controls": `tabpanel-${props.value}`,
66
+ "data-state": isActive.value ? "active" : "inactive",
67
+ tabindex: isActive.value ? 0 : -1,
68
+ class: normalizeClass(unref(cn)("flex h-8 shrink-0 items-center justify-center", "px-2.5", unref(tabStateVariants)({ active: isActive.value }), props.class)),
69
+ onClick: handleClick,
70
+ onKeydown: handleKeydown
71
+ }, [renderSlot(_ctx.$slots, "default")], 42, _hoisted_1);
72
+ };
73
+ }
74
+ });
75
+ //#endregion
76
+ export { Tab_default as default };
@@ -0,0 +1,26 @@
1
+ declare const __VLS_export: <T extends string = string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<({
3
+ class?: string;
4
+ } & {
5
+ modelValue: T;
6
+ }) & {
7
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
8
+ }> & (typeof globalThis extends {
9
+ __VLS_PROPS_FALLBACK: infer P;
10
+ } ? P : {});
11
+ expose: (exposed: {}) => void;
12
+ attrs: any;
13
+ slots: {
14
+ default?: (props: {}) => any;
15
+ };
16
+ emit: (event: "update:modelValue", value: T) => void;
17
+ }>) => import('vue').VNode & {
18
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
19
+ };
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
22
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
23
+ [K in keyof T]: T[K];
24
+ } : {
25
+ [K in keyof T as K]: T[K];
26
+ }) & {};
@@ -0,0 +1,31 @@
1
+ import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
+ import { t as TAB_LIST_INJECTION_KEY } from "../shared/tabKeys-BISOrxWu.js";
3
+ import { createElementBlock, defineComponent, mergeModels, normalizeClass, openBlock, provide, renderSlot, unref, useModel } from "vue";
4
+ //#endregion
5
+ //#region src/components/tab/TabList.vue
6
+ var TabList_default = /* @__PURE__ */ defineComponent({
7
+ __name: "TabList",
8
+ props: /*@__PURE__*/ mergeModels({ class: { default: "" } }, {
9
+ "modelValue": { required: true },
10
+ "modelModifiers": {}
11
+ }),
12
+ emits: ["update:modelValue"],
13
+ setup(__props) {
14
+ const modelValue = useModel(__props, "modelValue");
15
+ function select(value) {
16
+ modelValue.value = value;
17
+ }
18
+ provide(TAB_LIST_INJECTION_KEY, {
19
+ modelValue,
20
+ select
21
+ });
22
+ return (_ctx, _cache) => {
23
+ return openBlock(), createElementBlock("div", {
24
+ role: "tablist",
25
+ class: normalizeClass(unref(cn)("flex w-full items-center gap-2", __props.class))
26
+ }, [renderSlot(_ctx.$slots, "default")], 2);
27
+ };
28
+ }
29
+ });
30
+ //#endregion
31
+ export { TabList_default as default };
@@ -0,0 +1,23 @@
1
+ declare const __VLS_export: <T extends string = string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<{
3
+ value: T;
4
+ modelValue?: T;
5
+ }> & (typeof globalThis extends {
6
+ __VLS_PROPS_FALLBACK: infer P;
7
+ } ? P : {});
8
+ expose: (exposed: {}) => void;
9
+ attrs: any;
10
+ slots: {
11
+ default?: (props: {}) => any;
12
+ };
13
+ emit: {};
14
+ }>) => import('vue').VNode & {
15
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
16
+ };
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
20
+ [K in keyof T]: T[K];
21
+ } : {
22
+ [K in keyof T as K]: T[K];
23
+ }) & {};
@@ -0,0 +1,28 @@
1
+ import { t as TAB_LIST_INJECTION_KEY } from "../shared/tabKeys-BISOrxWu.js";
2
+ import { computed, createCommentVNode, createElementBlock, defineComponent, inject, openBlock, renderSlot } from "vue";
3
+ //#region src/components/tab/TabPanel.vue?vue&type=script&setup=true&lang.ts
4
+ var _hoisted_1 = ["id", "aria-labelledby"];
5
+ //#endregion
6
+ //#region src/components/tab/TabPanel.vue
7
+ var TabPanel_default = /* @__PURE__ */ defineComponent({
8
+ __name: "TabPanel",
9
+ props: {
10
+ value: {},
11
+ modelValue: {}
12
+ },
13
+ setup(__props) {
14
+ const context = inject(TAB_LIST_INJECTION_KEY, void 0);
15
+ const isActive = computed(() => __props.modelValue !== void 0 ? __props.modelValue === __props.value : context?.modelValue.value === __props.value);
16
+ return (_ctx, _cache) => {
17
+ return isActive.value ? (openBlock(), createElementBlock("div", {
18
+ key: 0,
19
+ id: `tabpanel-${__props.value}`,
20
+ role: "tabpanel",
21
+ tabindex: "0",
22
+ "aria-labelledby": `tab-${__props.value}`
23
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1)) : createCommentVNode("", true);
24
+ };
25
+ }
26
+ });
27
+ //#endregion
28
+ export { TabPanel_default as default };
@@ -0,0 +1,9 @@
1
+ export declare const tabStateVariants: (props?: ({
2
+ active?: boolean | undefined;
3
+ } & ({
4
+ class?: import('cva').ClassValue;
5
+ className?: never;
6
+ } | {
7
+ class?: never;
8
+ className?: import('cva').ClassValue;
9
+ })) | undefined) => string;
@@ -0,0 +1,7 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+ interface TabListContext {
3
+ modelValue: Ref<string>;
4
+ select: (value: string) => void;
5
+ }
6
+ export declare const TAB_LIST_INJECTION_KEY: InjectionKey<TabListContext>;
7
+ export {};
@@ -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,23 @@
1
+ import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
+ import { createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
3
+ //#region src/components/table/Table.vue?vue&type=script&setup=true&lang.ts
4
+ var _hoisted_1 = { class: "w-full table-fixed caption-bottom border-separate border-spacing-0 text-sm" };
5
+ //#endregion
6
+ //#region src/components/table/Table.vue
7
+ var Table_default = /* @__PURE__ */ defineComponent({
8
+ __name: "Table",
9
+ props: { class: { type: [
10
+ Boolean,
11
+ null,
12
+ String,
13
+ Object,
14
+ Array
15
+ ] } },
16
+ setup(__props) {
17
+ return (_ctx, _cache) => {
18
+ return openBlock(), createElementBlock("div", { class: normalizeClass(unref(cn)("relative w-full overflow-auto rounded-lg border", __props.class)) }, [createElementVNode("table", _hoisted_1, [renderSlot(_ctx.$slots, "default")])], 2);
19
+ };
20
+ }
21
+ });
22
+ //#endregion
23
+ export { Table_default as default };
@@ -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,21 @@
1
+ import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
+ import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
3
+ //#endregion
4
+ //#region src/components/table/TableBody.vue
5
+ var TableBody_default = /* @__PURE__ */ defineComponent({
6
+ __name: "TableBody",
7
+ props: { class: { type: [
8
+ Boolean,
9
+ null,
10
+ String,
11
+ Object,
12
+ Array
13
+ ] } },
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createElementBlock("tbody", { class: normalizeClass(unref(cn)("[&_tr:last-child]:border-0", __props.class)) }, [renderSlot(_ctx.$slots, "default")], 2);
17
+ };
18
+ }
19
+ });
20
+ //#endregion
21
+ export { TableBody_default as default };
@@ -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,21 @@
1
+ import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
+ import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
3
+ //#endregion
4
+ //#region src/components/table/TableCell.vue
5
+ var TableCell_default = /* @__PURE__ */ defineComponent({
6
+ __name: "TableCell",
7
+ props: { class: { type: [
8
+ Boolean,
9
+ null,
10
+ String,
11
+ Object,
12
+ Array
13
+ ] } },
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createElementBlock("td", { class: normalizeClass(unref(cn)("px-2 py-2.5 align-middle whitespace-nowrap", __props.class)) }, [renderSlot(_ctx.$slots, "default")], 2);
17
+ };
18
+ }
19
+ });
20
+ //#endregion
21
+ export { TableCell_default as default };
@@ -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,2 @@
1
+ import { t as TableHead_default } from "../shared/TableHead-OxGist4m.js";
2
+ export { TableHead_default as default };
@@ -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,21 @@
1
+ import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
+ import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
3
+ //#endregion
4
+ //#region src/components/table/TableHeader.vue
5
+ var TableHeader_default = /* @__PURE__ */ defineComponent({
6
+ __name: "TableHeader",
7
+ props: { class: { type: [
8
+ Boolean,
9
+ null,
10
+ String,
11
+ Object,
12
+ Array
13
+ ] } },
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createElementBlock("thead", { class: normalizeClass(unref(cn)("[&_tr]:border-b [&_tr]:border-border/30", __props.class)) }, [renderSlot(_ctx.$slots, "default")], 2);
17
+ };
18
+ }
19
+ });
20
+ //#endregion
21
+ export { TableHeader_default as default };
@@ -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,21 @@
1
+ import { t as cn } from "../shared/src-CnJ6AzLP.js";
2
+ import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
3
+ //#endregion
4
+ //#region src/components/table/TableRow.vue
5
+ var TableRow_default = /* @__PURE__ */ defineComponent({
6
+ __name: "TableRow",
7
+ props: { class: { type: [
8
+ Boolean,
9
+ null,
10
+ String,
11
+ Object,
12
+ Array
13
+ ] } },
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createElementBlock("tr", { class: normalizeClass(unref(cn)("border-b border-border/30 transition-colors hover:bg-secondary/50 focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-ring data-[state=selected]:bg-secondary/50", __props.class)) }, [renderSlot(_ctx.$slots, "default")], 2);
17
+ };
18
+ }
19
+ });
20
+ //#endregion
21
+ export { TableRow_default as default };
@@ -0,0 +1,26 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ import { TableSortDirection } from './tableUtils';
3
+ type __VLS_Props = {
4
+ class?: HTMLAttributes['class'];
5
+ };
6
+ type __VLS_ModelProps = {
7
+ 'direction'?: TableSortDirection | null;
8
+ };
9
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
+ declare var __VLS_16: {};
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_16) => any;
13
+ };
14
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
+ "update:direction": (value: TableSortDirection | null) => any;
16
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
17
+ "onUpdate:direction"?: ((value: TableSortDirection | null) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
19
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,47 @@
1
+ import { t as Button_default } from "../shared/Button-CilmsOkY.js";
2
+ import { t as TableHead_default } from "../shared/TableHead-OxGist4m.js";
3
+ import { createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeModels, normalizeClass, openBlock, renderSlot, unref, useModel, withCtx } from "vue";
4
+ //#endregion
5
+ //#region src/components/table/TableSortHead.vue
6
+ var TableSortHead_default = /* @__PURE__ */ defineComponent({
7
+ __name: "TableSortHead",
8
+ props: /*@__PURE__*/ mergeModels({ class: { type: [
9
+ Boolean,
10
+ null,
11
+ String,
12
+ Object,
13
+ Array
14
+ ] } }, {
15
+ "direction": { default: null },
16
+ "directionModifiers": {}
17
+ }),
18
+ emits: ["update:direction"],
19
+ setup(__props) {
20
+ const direction = useModel(__props, "direction");
21
+ function toggle() {
22
+ direction.value = direction.value === "ascending" ? "descending" : "ascending";
23
+ }
24
+ return (_ctx, _cache) => {
25
+ return openBlock(), createBlock(TableHead_default, {
26
+ class: normalizeClass(__props.class),
27
+ "aria-sort": direction.value ?? "none"
28
+ }, {
29
+ default: withCtx(() => [createVNode(unref(Button_default), {
30
+ variant: "link",
31
+ size: "link",
32
+ onClick: toggle
33
+ }, {
34
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default"), direction.value ? (openBlock(), createElementBlock("i", {
35
+ key: 0,
36
+ class: normalizeClass(direction.value === "ascending" ? "icon-[lucide--arrow-up]" : "icon-[lucide--arrow-down]"),
37
+ "aria-hidden": "true"
38
+ }, null, 2)) : createCommentVNode("", true)]),
39
+ _: 3
40
+ })]),
41
+ _: 3
42
+ }, 8, ["class", "aria-sort"]);
43
+ };
44
+ }
45
+ });
46
+ //#endregion
47
+ export { TableSortHead_default as default };
@@ -0,0 +1,3 @@
1
+ export type TableSortDirection = 'ascending' | 'descending';
2
+ export declare function filterByQuery<T>(items: readonly T[], query: string, getSearchFields: (item: T) => string[]): T[];
3
+ export declare function sortByText<T>(items: readonly T[], direction: TableSortDirection | null, getText: (item: T) => string): T[];
@@ -0,0 +1,19 @@
1
+ import { deburr } from "es-toolkit";
2
+ //#region src/components/table/tableUtils.ts
3
+ var collator = new Intl.Collator(void 0, { numeric: true });
4
+ function normalizeSearchText(text) {
5
+ return deburr(text).toLocaleLowerCase();
6
+ }
7
+ function filterByQuery(items, query, getSearchFields) {
8
+ const normalizedQuery = normalizeSearchText(query.trim());
9
+ return items.filter((item) => getSearchFields(item).some((field) => normalizeSearchText(field).includes(normalizedQuery)));
10
+ }
11
+ function sortByText(items, direction, getText) {
12
+ if (!direction) return [...items];
13
+ return [...items].sort((a, b) => {
14
+ const result = collator.compare(getText(a), getText(b));
15
+ return direction === "ascending" ? result : -result;
16
+ });
17
+ }
18
+ //#endregion
19
+ export { filterByQuery, sortByText };
@@ -0,0 +1,22 @@
1
+ import { TabsRootProps } from 'reka-ui';
2
+ import { HTMLAttributes } from 'vue';
3
+ type __VLS_Props = TabsRootProps & {
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<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ "update:modelValue": (payload: import('reka-ui').StringOrNumber) => any;
12
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ "onUpdate:modelValue"?: ((payload: import('reka-ui').StringOrNumber) => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
18
+ type __VLS_WithSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };