@youcan/celeste 0.6.59 → 0.6.61

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 (412) hide show
  1. package/dist/celeste.css +3836 -3173
  2. package/dist/cjs/alert.js +1 -0
  3. package/dist/cjs/badge.js +1 -0
  4. package/dist/cjs/button.js +1 -0
  5. package/dist/cjs/checkbox-card.js +1 -0
  6. package/dist/cjs/checkbox-label.js +1 -0
  7. package/dist/cjs/checkbox.js +3 -2
  8. package/dist/cjs/chunks/alpha-slider.js +1 -1
  9. package/dist/cjs/chunks/collapsible-content.js +27 -0
  10. package/dist/cjs/chunks/collapsible-trigger.js +22 -0
  11. package/dist/cjs/chunks/collapsible.js +28 -0
  12. package/dist/cjs/chunks/index.js +140 -0
  13. package/dist/cjs/chunks/index2.js +18 -0
  14. package/dist/cjs/chunks/index3.js +240 -1425
  15. package/dist/cjs/chunks/index4.js +1336 -16336
  16. package/dist/cjs/chunks/index5.js +16457 -0
  17. package/dist/cjs/chunks/rich-editor.vue_vue_type_style_index_0_scoped_dbc85b1a_lang.js +4575 -0
  18. package/dist/cjs/chunks/sheet-trigger.js +22 -0
  19. package/dist/cjs/chunks/sheet.js +26 -0
  20. package/dist/cjs/chunks/sidebar-content.js +21 -0
  21. package/dist/cjs/chunks/sidebar-element.js +28 -0
  22. package/dist/cjs/chunks/sidebar-footer.js +21 -0
  23. package/dist/cjs/chunks/sidebar-group-label.js +29 -0
  24. package/dist/cjs/chunks/sidebar-group.js +21 -0
  25. package/dist/cjs/chunks/sidebar-header.js +21 -0
  26. package/dist/cjs/chunks/sidebar-menu-action.js +34 -0
  27. package/dist/cjs/chunks/sidebar-menu-badge.js +29 -0
  28. package/dist/cjs/chunks/sidebar-menu-button.js +39 -0
  29. package/dist/cjs/chunks/sidebar-menu-item.js +21 -0
  30. package/dist/cjs/chunks/sidebar-menu-sub-button.js +37 -0
  31. package/dist/cjs/chunks/sidebar-menu-sub-item.js +21 -0
  32. package/dist/cjs/chunks/sidebar-menu-sub.js +21 -0
  33. package/dist/cjs/chunks/sidebar-menu.js +21 -0
  34. package/dist/cjs/chunks/sidebar-provider.vue_vue_type_style_index_0_lang.js +63 -0
  35. package/dist/cjs/chunks/sidebar-separator.vue_vue_type_style_index_0_lang.js +128 -0
  36. package/dist/cjs/chunks/sidebar.js +84 -0
  37. package/dist/cjs/chunks/{use-color-model.js → tinycolor.js} +0 -30
  38. package/dist/cjs/chunks/tooltip-provider.js +26 -0
  39. package/dist/cjs/chunks/tooltip-root.js +36 -0
  40. package/dist/cjs/chunks/tooltip-trigger.js +23 -0
  41. package/dist/cjs/chunks/tooltip.js +84 -0
  42. package/dist/cjs/collapsible-content.js +4 -0
  43. package/dist/cjs/collapsible-trigger.js +3 -0
  44. package/dist/cjs/collapsible.js +3 -0
  45. package/dist/cjs/color-area.js +2 -1
  46. package/dist/cjs/color-picker.js +13 -11
  47. package/dist/cjs/color-swatch.js +5 -3
  48. package/dist/cjs/combobox-empty.js +1 -0
  49. package/dist/cjs/combobox-group.js +1 -0
  50. package/dist/cjs/combobox-input.js +1 -0
  51. package/dist/cjs/combobox-item.js +4 -2
  52. package/dist/cjs/combobox-list.js +1 -0
  53. package/dist/cjs/combobox-root.js +1 -0
  54. package/dist/cjs/combobox-separator.js +1 -0
  55. package/dist/cjs/combobox-trigger.js +1 -0
  56. package/dist/cjs/combobox.js +1 -0
  57. package/dist/cjs/compact-button.js +1 -0
  58. package/dist/cjs/counter-input.js +3 -2
  59. package/dist/cjs/digit-input-group.js +1 -0
  60. package/dist/cjs/digit-input-slot.js +1 -0
  61. package/dist/cjs/digit-input.js +1 -0
  62. package/dist/cjs/dropdown-menu-content.js +1 -0
  63. package/dist/cjs/dropdown-menu-group.js +1 -0
  64. package/dist/cjs/dropdown-menu-item.js +1 -0
  65. package/dist/cjs/dropdown-menu-label.js +1 -0
  66. package/dist/cjs/dropdown-menu-separator.js +1 -0
  67. package/dist/cjs/dropdown-menu-sub-content.js +1 -0
  68. package/dist/cjs/dropdown-menu-sub-trigger.js +1 -0
  69. package/dist/cjs/dropdown-menu-trigger.js +1 -0
  70. package/dist/cjs/dropdown-menu.js +1 -0
  71. package/dist/cjs/extra-settings.js +3 -2
  72. package/dist/cjs/file-upload-area.js +44 -178
  73. package/dist/cjs/hint-text.js +1 -0
  74. package/dist/cjs/hue-slider.js +1 -0
  75. package/dist/cjs/index.js +156 -21
  76. package/dist/cjs/label.js +3 -2
  77. package/dist/cjs/link-bubble.js +5 -3
  78. package/dist/cjs/modal-body.js +1 -0
  79. package/dist/cjs/modal-content.js +1 -0
  80. package/dist/cjs/modal-footer.js +1 -0
  81. package/dist/cjs/modal-header.js +1 -0
  82. package/dist/cjs/pagination-content.js +1 -0
  83. package/dist/cjs/pagination-ellipsis.js +1 -0
  84. package/dist/cjs/pagination.js +1 -0
  85. package/dist/cjs/popover-content.js +1 -0
  86. package/dist/cjs/popover-trigger.js +1 -0
  87. package/dist/cjs/progress-bar.js +1 -0
  88. package/dist/cjs/progress-circle.js +1 -0
  89. package/dist/cjs/radio-group-card.js +1 -0
  90. package/dist/cjs/radio-group-item.js +3 -2
  91. package/dist/cjs/radio-group-label.js +1 -0
  92. package/dist/cjs/radio-group.js +3 -2
  93. package/dist/cjs/rich-editor.js +11 -4577
  94. package/dist/cjs/scroll-bar.js +1 -0
  95. package/dist/cjs/segmented-control-item.js +1 -0
  96. package/dist/cjs/segmented-control.js +1 -0
  97. package/dist/cjs/select-content.js +1 -0
  98. package/dist/cjs/select-item.js +1 -0
  99. package/dist/cjs/select-trigger.js +1 -0
  100. package/dist/cjs/select-value.js +1 -0
  101. package/dist/cjs/sheet-close.js +29 -0
  102. package/dist/cjs/sheet-content.js +61 -0
  103. package/dist/cjs/sheet-description.js +31 -0
  104. package/dist/cjs/sheet-footer.js +28 -0
  105. package/dist/cjs/sheet-header.js +23 -0
  106. package/dist/cjs/sheet-title.js +31 -0
  107. package/dist/cjs/sheet-trigger.js +3 -0
  108. package/dist/cjs/sheet.js +3 -0
  109. package/dist/cjs/sidebar-content.js +4 -0
  110. package/dist/cjs/sidebar-element.js +4 -0
  111. package/dist/cjs/sidebar-footer.js +4 -0
  112. package/dist/cjs/sidebar-group-content.js +24 -0
  113. package/dist/cjs/sidebar-group-label.js +4 -0
  114. package/dist/cjs/sidebar-group.js +4 -0
  115. package/dist/cjs/sidebar-header.js +4 -0
  116. package/dist/cjs/sidebar-menu-action.js +4 -0
  117. package/dist/cjs/sidebar-menu-badge.js +4 -0
  118. package/dist/cjs/sidebar-menu-button.js +4 -0
  119. package/dist/cjs/sidebar-menu-item.js +4 -0
  120. package/dist/cjs/sidebar-menu-sub-button.js +4 -0
  121. package/dist/cjs/sidebar-menu-sub-item.js +4 -0
  122. package/dist/cjs/sidebar-menu-sub.js +4 -0
  123. package/dist/cjs/sidebar-menu.js +4 -0
  124. package/dist/cjs/sidebar-provider.js +3 -0
  125. package/dist/cjs/sidebar-separator.js +3 -0
  126. package/dist/cjs/sidebar-trigger.js +34 -0
  127. package/dist/cjs/sidebar.js +4 -0
  128. package/dist/cjs/slider.js +3 -2
  129. package/dist/cjs/sonner-alert.js +1 -0
  130. package/dist/cjs/status-badge.js +1 -0
  131. package/dist/cjs/switch.js +3 -2
  132. package/dist/cjs/tab-menu-content.js +1 -0
  133. package/dist/cjs/tab-menu-item.js +1 -0
  134. package/dist/cjs/tab-menu-list.js +1 -0
  135. package/dist/cjs/tab-menu.js +1 -0
  136. package/dist/cjs/tag.js +1 -0
  137. package/dist/cjs/text-input-button.js +1 -0
  138. package/dist/cjs/text-input.js +1 -0
  139. package/dist/cjs/textarea.js +1 -0
  140. package/dist/cjs/tooltip-content.js +94 -0
  141. package/dist/cjs/tooltip-provider.js +3 -0
  142. package/dist/cjs/tooltip-root.js +3 -0
  143. package/dist/cjs/tooltip-trigger.js +3 -0
  144. package/dist/cjs/tooltip.js +2 -114
  145. package/dist/cjs/use-color-model.js +31 -4
  146. package/dist/cjs/use-sidebar.js +18 -0
  147. package/dist/components/collapsible/collapsible-content.d.ts +14 -0
  148. package/dist/components/collapsible/collapsible-trigger.d.ts +12 -0
  149. package/dist/components/collapsible/collapsible.d.ts +18 -0
  150. package/dist/components/collapsible/index.d.ts +6 -0
  151. package/dist/components/combobox/combobox-root.d.ts +2 -2
  152. package/dist/components/combobox/combobox.d.ts +2 -2
  153. package/dist/components/file-upload/file-upload-area.d.ts +1 -1
  154. package/dist/components/index.d.ts +3 -0
  155. package/dist/components/select/select.d.ts +2 -2
  156. package/dist/components/sheet/index.d.ts +16 -0
  157. package/dist/components/sheet/sheet-close.d.ts +14 -0
  158. package/dist/components/sheet/sheet-content.d.ts +31 -0
  159. package/dist/components/sheet/sheet-description.d.ts +14 -0
  160. package/dist/components/sheet/sheet-footer.d.ts +13 -0
  161. package/dist/components/sheet/sheet-header.d.ts +13 -0
  162. package/dist/components/sheet/sheet-title.d.ts +14 -0
  163. package/dist/components/sheet/sheet-trigger.d.ts +12 -0
  164. package/dist/components/sheet/sheet.d.ts +22 -0
  165. package/dist/components/sidebar/index.d.ts +38 -0
  166. package/dist/components/sidebar/sidebar-content.d.ts +21 -0
  167. package/dist/components/sidebar/sidebar-element.d.ts +16 -0
  168. package/dist/components/sidebar/sidebar-footer.d.ts +13 -0
  169. package/dist/components/sidebar/sidebar-group-content.d.ts +21 -0
  170. package/dist/components/sidebar/sidebar-group-label.d.ts +22 -0
  171. package/dist/components/sidebar/sidebar-group.d.ts +21 -0
  172. package/dist/components/sidebar/sidebar-header.d.ts +13 -0
  173. package/dist/components/sidebar/sidebar-menu-action.d.ts +17 -0
  174. package/dist/components/sidebar/sidebar-menu-badge.d.ts +14 -0
  175. package/dist/components/sidebar/sidebar-menu-button.d.ts +28 -0
  176. package/dist/components/sidebar/sidebar-menu-item.d.ts +21 -0
  177. package/dist/components/sidebar/sidebar-menu-sub-button.d.ts +20 -0
  178. package/dist/components/sidebar/sidebar-menu-sub-item.d.ts +21 -0
  179. package/dist/components/sidebar/sidebar-menu-sub.d.ts +21 -0
  180. package/dist/components/sidebar/sidebar-menu.d.ts +21 -0
  181. package/dist/components/sidebar/sidebar-provider.d.ts +30 -0
  182. package/dist/components/sidebar/sidebar-separator.d.ts +6 -0
  183. package/dist/components/sidebar/sidebar-trigger.d.ts +6 -0
  184. package/dist/components/sidebar/sidebar.d.ts +19 -0
  185. package/dist/components/tooltip/index.d.ts +8 -0
  186. package/dist/components/tooltip/tooltip-content.d.ts +31 -0
  187. package/dist/components/tooltip/tooltip-provider.d.ts +14 -0
  188. package/dist/components/tooltip/tooltip-root.d.ts +16 -0
  189. package/dist/components/tooltip/tooltip-trigger.d.ts +12 -0
  190. package/dist/composables/index.d.ts +2 -0
  191. package/dist/composables/use-sidebar.d.ts +56 -0
  192. package/dist/es/alert.js +1 -0
  193. package/dist/es/badge.js +1 -0
  194. package/dist/es/button.js +2 -1
  195. package/dist/es/checkbox-card.js +2 -1
  196. package/dist/es/checkbox-label.js +2 -1
  197. package/dist/es/checkbox.js +2 -1
  198. package/dist/es/chunks/alpha-slider.js +1 -1
  199. package/dist/es/chunks/collapsible-content.js +28 -0
  200. package/dist/es/chunks/collapsible-trigger.js +23 -0
  201. package/dist/es/chunks/collapsible.js +29 -0
  202. package/dist/es/chunks/combobox-anchor.js +1 -1
  203. package/dist/es/chunks/content-divider.vue_vue_type_style_index_0_lang.js +1 -1
  204. package/dist/es/chunks/{counter-input.vue_vue_type_style_index_0_lang.js → counter-input.js} +1 -1
  205. package/dist/es/chunks/index.js +224 -84
  206. package/dist/es/chunks/index2.js +19 -1
  207. package/dist/es/chunks/index3.js +241 -1425
  208. package/dist/es/chunks/index4.js +1335 -16336
  209. package/dist/es/chunks/index5.js +16458 -0
  210. package/dist/es/chunks/popover.js +1 -1
  211. package/dist/es/chunks/{radio-group-item.vue_vue_type_style_index_0_lang.js → radio-group-item.js} +1 -1
  212. package/dist/es/chunks/rich-editor.vue_vue_type_style_index_0_scoped_dbc85b1a_lang.js +4576 -0
  213. package/dist/es/chunks/select-group.js +1 -1
  214. package/dist/es/chunks/sheet-trigger.js +23 -0
  215. package/dist/es/chunks/sheet.js +27 -0
  216. package/dist/es/chunks/sidebar-content.js +22 -0
  217. package/dist/es/chunks/sidebar-element.js +29 -0
  218. package/dist/es/chunks/sidebar-footer.js +22 -0
  219. package/dist/es/chunks/sidebar-group-label.js +30 -0
  220. package/dist/es/chunks/sidebar-group.js +22 -0
  221. package/dist/es/chunks/sidebar-header.js +22 -0
  222. package/dist/es/chunks/sidebar-menu-action.js +35 -0
  223. package/dist/es/chunks/sidebar-menu-badge.js +30 -0
  224. package/dist/es/chunks/sidebar-menu-button.js +40 -0
  225. package/dist/es/chunks/sidebar-menu-item.js +22 -0
  226. package/dist/es/chunks/sidebar-menu-sub-button.js +38 -0
  227. package/dist/es/chunks/sidebar-menu-sub-item.js +22 -0
  228. package/dist/es/chunks/sidebar-menu-sub.js +22 -0
  229. package/dist/es/chunks/sidebar-menu.js +22 -0
  230. package/dist/es/chunks/sidebar-provider.vue_vue_type_style_index_0_lang.js +64 -0
  231. package/dist/es/chunks/sidebar-separator.vue_vue_type_style_index_0_lang.js +129 -0
  232. package/dist/es/chunks/sidebar.js +85 -0
  233. package/dist/es/chunks/{slider.vue_vue_type_style_index_0_lang.js → slider.js} +1 -1
  234. package/dist/es/chunks/{switch.vue_vue_type_style_index_0_lang.js → switch.js} +1 -1
  235. package/dist/es/chunks/{use-color-model.js → tinycolor.js} +0 -30
  236. package/dist/es/chunks/tooltip-provider.js +27 -0
  237. package/dist/es/chunks/tooltip-root.js +37 -0
  238. package/dist/es/chunks/tooltip-trigger.js +24 -0
  239. package/dist/es/chunks/tooltip.js +85 -0
  240. package/dist/es/collapsible-content.js +5 -0
  241. package/dist/es/collapsible-trigger.js +4 -0
  242. package/dist/es/collapsible.js +4 -0
  243. package/dist/es/color-area.js +2 -1
  244. package/dist/es/color-picker.js +5 -3
  245. package/dist/es/color-swatch.js +3 -1
  246. package/dist/es/combobox-empty.js +1 -0
  247. package/dist/es/combobox-group.js +2 -1
  248. package/dist/es/combobox-input.js +2 -1
  249. package/dist/es/combobox-item.js +4 -2
  250. package/dist/es/combobox-list.js +2 -1
  251. package/dist/es/combobox-root.js +2 -1
  252. package/dist/es/combobox-separator.js +2 -1
  253. package/dist/es/combobox-trigger.js +2 -1
  254. package/dist/es/combobox.js +1 -0
  255. package/dist/es/command-group.js +1 -1
  256. package/dist/es/command-input.js +1 -1
  257. package/dist/es/command-item.js +1 -1
  258. package/dist/es/command-list.js +1 -1
  259. package/dist/es/command-root.js +1 -1
  260. package/dist/es/command-separator.js +1 -1
  261. package/dist/es/compact-button.js +2 -1
  262. package/dist/es/counter-input.js +2 -1
  263. package/dist/es/digit-input-group.js +2 -1
  264. package/dist/es/digit-input-slot.js +2 -1
  265. package/dist/es/digit-input.js +2 -1
  266. package/dist/es/dropdown-menu-content.js +2 -1
  267. package/dist/es/dropdown-menu-group.js +2 -1
  268. package/dist/es/dropdown-menu-item.js +2 -1
  269. package/dist/es/dropdown-menu-label.js +2 -1
  270. package/dist/es/dropdown-menu-separator.js +2 -1
  271. package/dist/es/dropdown-menu-sub-content.js +2 -1
  272. package/dist/es/dropdown-menu-sub-trigger.js +2 -1
  273. package/dist/es/dropdown-menu-trigger.js +2 -1
  274. package/dist/es/dropdown-menu.js +2 -1
  275. package/dist/es/extra-settings.js +3 -2
  276. package/dist/es/fancy-button.js +1 -1
  277. package/dist/es/file-upload-area.js +44 -178
  278. package/dist/es/hint-text.js +1 -0
  279. package/dist/es/hue-slider.js +1 -0
  280. package/dist/es/index.js +203 -68
  281. package/dist/es/label.js +4 -3
  282. package/dist/es/link-bubble.js +4 -2
  283. package/dist/es/link-button.js +1 -1
  284. package/dist/es/modal-body.js +1 -0
  285. package/dist/es/modal-content.js +2 -1
  286. package/dist/es/modal-footer.js +1 -0
  287. package/dist/es/modal-header.js +2 -1
  288. package/dist/es/pagination-content.js +2 -1
  289. package/dist/es/pagination-ellipsis.js +2 -1
  290. package/dist/es/pagination.js +2 -1
  291. package/dist/es/popover-content.js +2 -1
  292. package/dist/es/popover-trigger.js +2 -1
  293. package/dist/es/progress-bar.js +2 -1
  294. package/dist/es/progress-circle.js +2 -1
  295. package/dist/es/radio-group-card.js +2 -1
  296. package/dist/es/radio-group-item.js +2 -1
  297. package/dist/es/radio-group-label.js +2 -1
  298. package/dist/es/radio-group.js +2 -1
  299. package/dist/es/rich-editor.js +16 -4582
  300. package/dist/es/scroll-bar.js +2 -1
  301. package/dist/es/segmented-control-item.js +2 -1
  302. package/dist/es/segmented-control.js +2 -1
  303. package/dist/es/select-content.js +2 -1
  304. package/dist/es/select-item.js +2 -1
  305. package/dist/es/select-label.js +1 -1
  306. package/dist/es/select-separator.js +1 -1
  307. package/dist/es/select-trigger.js +2 -1
  308. package/dist/es/select-value.js +2 -1
  309. package/dist/es/sheet-close.js +30 -0
  310. package/dist/es/sheet-content.js +62 -0
  311. package/dist/es/sheet-description.js +32 -0
  312. package/dist/es/sheet-footer.js +29 -0
  313. package/dist/es/sheet-header.js +24 -0
  314. package/dist/es/sheet-title.js +32 -0
  315. package/dist/es/sheet-trigger.js +4 -0
  316. package/dist/es/sheet.js +4 -0
  317. package/dist/es/sidebar-content.js +5 -0
  318. package/dist/es/sidebar-element.js +5 -0
  319. package/dist/es/sidebar-footer.js +5 -0
  320. package/dist/es/sidebar-group-content.js +25 -0
  321. package/dist/es/sidebar-group-label.js +5 -0
  322. package/dist/es/sidebar-group.js +5 -0
  323. package/dist/es/sidebar-header.js +5 -0
  324. package/dist/es/sidebar-menu-action.js +5 -0
  325. package/dist/es/sidebar-menu-badge.js +5 -0
  326. package/dist/es/sidebar-menu-button.js +5 -0
  327. package/dist/es/sidebar-menu-item.js +5 -0
  328. package/dist/es/sidebar-menu-sub-button.js +5 -0
  329. package/dist/es/sidebar-menu-sub-item.js +5 -0
  330. package/dist/es/sidebar-menu-sub.js +5 -0
  331. package/dist/es/sidebar-menu.js +5 -0
  332. package/dist/es/sidebar-provider.js +4 -0
  333. package/dist/es/sidebar-separator.js +4 -0
  334. package/dist/es/sidebar-trigger.js +35 -0
  335. package/dist/es/sidebar.js +5 -0
  336. package/dist/es/slider.js +2 -1
  337. package/dist/es/social-button.js +1 -1
  338. package/dist/es/sonner-alert.js +1 -0
  339. package/dist/es/status-badge.js +1 -0
  340. package/dist/es/switch.js +2 -1
  341. package/dist/es/tab-menu-content.js +2 -1
  342. package/dist/es/tab-menu-item.js +2 -1
  343. package/dist/es/tab-menu-list.js +2 -1
  344. package/dist/es/tab-menu.js +2 -1
  345. package/dist/es/tag.js +2 -1
  346. package/dist/es/text-input-button.js +1 -0
  347. package/dist/es/text-input.js +2 -1
  348. package/dist/es/textarea.js +1 -0
  349. package/dist/es/tooltip-content.js +95 -0
  350. package/dist/es/tooltip-provider.js +4 -0
  351. package/dist/es/tooltip-root.js +4 -0
  352. package/dist/es/tooltip-trigger.js +4 -0
  353. package/dist/es/tooltip.js +2 -114
  354. package/dist/es/use-color-model.js +31 -4
  355. package/dist/es/use-sidebar.js +18 -0
  356. package/dist/index.d.ts +1 -0
  357. package/package.json +4 -3
  358. package/src/components/collapsible/collapsible-content.vue +38 -0
  359. package/src/components/collapsible/collapsible-trigger.vue +16 -0
  360. package/src/components/collapsible/collapsible.vue +19 -0
  361. package/src/components/collapsible/index.ts +6 -0
  362. package/src/components/collapsible/stories/collapsible.stories.ts +67 -0
  363. package/src/components/file-upload/file-upload-area.vue +10 -4
  364. package/src/components/index.ts +3 -0
  365. package/src/components/sheet/index.ts +16 -0
  366. package/src/components/sheet/sheet-close.vue +26 -0
  367. package/src/components/sheet/sheet-content.vue +163 -0
  368. package/src/components/sheet/sheet-description.vue +33 -0
  369. package/src/components/sheet/sheet-footer.vue +40 -0
  370. package/src/components/sheet/sheet-header.vue +36 -0
  371. package/src/components/sheet/sheet-title.vue +33 -0
  372. package/src/components/sheet/sheet-trigger.vue +16 -0
  373. package/src/components/sheet/sheet.vue +15 -0
  374. package/src/components/sheet/stories/sheet.stories.ts +88 -0
  375. package/src/components/sidebar/index.ts +38 -0
  376. package/src/components/sidebar/sidebar-content.vue +32 -0
  377. package/src/components/sidebar/sidebar-element.vue +68 -0
  378. package/src/components/sidebar/sidebar-footer.vue +34 -0
  379. package/src/components/sidebar/sidebar-group-content.vue +24 -0
  380. package/src/components/sidebar/sidebar-group-label.vue +55 -0
  381. package/src/components/sidebar/sidebar-group.vue +28 -0
  382. package/src/components/sidebar/sidebar-header.vue +34 -0
  383. package/src/components/sidebar/sidebar-menu-action.vue +118 -0
  384. package/src/components/sidebar/sidebar-menu-badge.vue +70 -0
  385. package/src/components/sidebar/sidebar-menu-button.vue +141 -0
  386. package/src/components/sidebar/sidebar-menu-item.vue +23 -0
  387. package/src/components/sidebar/sidebar-menu-sub-button.vue +110 -0
  388. package/src/components/sidebar/sidebar-menu-sub-item.vue +23 -0
  389. package/src/components/sidebar/sidebar-menu-sub.vue +35 -0
  390. package/src/components/sidebar/sidebar-menu.vue +27 -0
  391. package/src/components/sidebar/sidebar-provider.vue +101 -0
  392. package/src/components/sidebar/sidebar-separator.vue +31 -0
  393. package/src/components/sidebar/sidebar-trigger.vue +39 -0
  394. package/src/components/sidebar/sidebar.vue +201 -0
  395. package/src/components/sidebar/stories/sidebar.stories.ts +358 -0
  396. package/src/components/tooltip/index.ts +12 -0
  397. package/src/components/tooltip/tooltip-content.vue +249 -0
  398. package/src/components/tooltip/tooltip-provider.vue +17 -0
  399. package/src/components/tooltip/tooltip-root.vue +23 -0
  400. package/src/components/tooltip/tooltip-trigger.vue +17 -0
  401. package/src/components/tooltip/tooltip.vue +21 -214
  402. package/src/composables/index.ts +2 -0
  403. package/src/composables/use-sidebar.ts +19 -0
  404. package/src/index.ts +1 -0
  405. /package/dist/cjs/chunks/{checkbox.vue_vue_type_style_index_0_lang.js → checkbox.js} +0 -0
  406. /package/dist/cjs/chunks/{counter-input.vue_vue_type_style_index_0_lang.js → counter-input.js} +0 -0
  407. /package/dist/cjs/chunks/{radio-group-item.vue_vue_type_style_index_0_lang.js → radio-group-item.js} +0 -0
  408. /package/dist/cjs/chunks/{radio-group.vue_vue_type_style_index_0_lang.js → radio-group.js} +0 -0
  409. /package/dist/cjs/chunks/{slider.vue_vue_type_style_index_0_lang.js → slider.js} +0 -0
  410. /package/dist/cjs/chunks/{switch.vue_vue_type_style_index_0_lang.js → switch.js} +0 -0
  411. /package/dist/es/chunks/{checkbox.vue_vue_type_style_index_0_lang.js → checkbox.js} +0 -0
  412. /package/dist/es/chunks/{radio-group.vue_vue_type_style_index_0_lang.js → radio-group.js} +0 -0
@@ -0,0 +1,163 @@
1
+ <script setup lang="ts">
2
+ import type { DialogContentEmits, DialogContentProps } from 'radix-vue';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import CompactButton from '@/components/button/compact-button.vue';
5
+ import { reactiveOmit } from '@vueuse/core';
6
+ import clsx from 'clsx';
7
+ import {
8
+ DialogClose,
9
+ DialogContent,
10
+ DialogOverlay,
11
+ DialogPortal,
12
+ useForwardPropsEmits,
13
+ } from 'radix-vue';
14
+
15
+ defineOptions({
16
+ inheritAttrs: false,
17
+ });
18
+
19
+ const props = withDefaults(defineProps<SheetContentProps>(), {
20
+ side: 'right',
21
+ });
22
+
23
+ const emits = defineEmits<DialogContentEmits>();
24
+
25
+ const delegated = reactiveOmit(props, 'class', 'side');
26
+ const forwarded = useForwardPropsEmits(delegated, emits);
27
+ </script>
28
+
29
+ <script lang="ts">
30
+ export interface SheetContentProps extends DialogContentProps {
31
+ class?: HTMLAttributes['class'];
32
+ side?: 'top' | 'bottom' | 'left' | 'right';
33
+ }
34
+ </script>
35
+
36
+ <template>
37
+ <DialogPortal>
38
+ <DialogOverlay class="celeste-sheet-overlay" />
39
+ <DialogContent
40
+ :class="clsx('celeste-sheet-content', `celeste-sheet-side-${side}`, props.class)"
41
+ v-bind="{ ...forwarded, ...$attrs }"
42
+ >
43
+ <slot />
44
+
45
+ <DialogClose as-child class="celeste-sheet-close">
46
+ <CompactButton
47
+ size="lg"
48
+ variant="ghost"
49
+ icon="i-celeste-close-line"
50
+ />
51
+ </DialogClose>
52
+ </DialogContent>
53
+ </DialogPortal>
54
+ </template>
55
+
56
+ <style scoped lang="css">
57
+ .celeste-sheet-overlay {
58
+ position: fixed;
59
+ inset: 0;
60
+ z-index: 50;
61
+ background-color: rgb(0 0 0 / 80%);
62
+ }
63
+
64
+ .celeste-sheet-overlay[data-state='open'] {
65
+ animation: celeste-fade-in var(--animation-fast) ease-in;
66
+ }
67
+
68
+ .celeste-sheet-overlay[data-state='closed'] {
69
+ animation: celeste-fade-out var(--animation-fast) ease-out;
70
+ }
71
+
72
+ .celeste-sheet-content {
73
+ position: fixed;
74
+ z-index: 50;
75
+ background-color: var(--color-bg-white-0);
76
+ box-shadow: var(--shadow-regular-lg);
77
+ gap: var(--spacing-16);
78
+ }
79
+
80
+ .celeste-sheet-side-top {
81
+ top: 0;
82
+ right: 0;
83
+ left: 0;
84
+ border-bottom: 1px solid var(--color-stroke-soft-200);
85
+ }
86
+
87
+ .celeste-sheet-side-top[data-state='open'] {
88
+ animation: celeste-slide-in-from-top var(--animation-fast) ease-in-out;
89
+ }
90
+
91
+ .celeste-sheet-side-top[data-state='closed'] {
92
+ animation: celeste-slide-out-to-top var(--animation-fast) ease-in-out;
93
+ }
94
+
95
+ .celeste-sheet-side-bottom {
96
+ right: 0;
97
+ bottom: 0;
98
+ left: 0;
99
+ border-top: 1px solid var(--color-stroke-soft-200);
100
+ }
101
+
102
+ .celeste-sheet-side-bottom[data-state='open'] {
103
+ animation: celeste-slide-in-from-bottom var(--animation-fast) ease-in-out;
104
+ }
105
+
106
+ .celeste-sheet-side-bottom[data-state='closed'] {
107
+ animation: celeste-slide-out-to-bottom var(--animation-fast) ease-in-out;
108
+ }
109
+
110
+ .celeste-sheet-side-left {
111
+ top: 0;
112
+ bottom: 0;
113
+ left: 0;
114
+ height: 100%;
115
+ border-right: 1px solid var(--color-stroke-soft-200);
116
+ }
117
+
118
+ .celeste-sheet-side-left[data-state='open'] {
119
+ animation: celeste-slide-in-from-left var(--animation-fast) ease-in-out;
120
+ }
121
+
122
+ .celeste-sheet-side-left[data-state='closed'] {
123
+ animation: celeste-slide-out-to-left var(--animation-fast) ease-in-out;
124
+ }
125
+
126
+ @media (width >= 640px) {
127
+ .celeste-sheet-side-left {
128
+ max-width: 384px;
129
+ }
130
+ }
131
+
132
+ .celeste-sheet-side-right {
133
+ top: 0;
134
+ right: 0;
135
+ bottom: 0;
136
+ height: 100%;
137
+ border-left: 1px solid var(--color-stroke-soft-200);
138
+ }
139
+
140
+ .celeste-sheet-side-right[data-state='open'] {
141
+ animation: celeste-slide-in-from-right var(--animation-fast) ease-in-out;
142
+ }
143
+
144
+ .celeste-sheet-side-right[data-state='closed'] {
145
+ animation: celeste-slide-out-to-right var(--animation-fast) ease-in-out;
146
+ }
147
+
148
+ @media (width >= 640px) {
149
+ .celeste-sheet-side-right {
150
+ max-width: 384px;
151
+ }
152
+ }
153
+
154
+ .celeste-sheet-close {
155
+ position: absolute;
156
+ inset-inline-end: var(--spacing-16);
157
+ inset-block-start: var(--spacing-16);
158
+ }
159
+
160
+ .celeste-sheet-close[data-state='open'] {
161
+ background-color: var(--color-bg-weak-50);
162
+ }
163
+ </style>
@@ -0,0 +1,33 @@
1
+ <script setup lang="ts">
2
+ import type { DialogDescriptionProps } from 'radix-vue';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import clsx from 'clsx';
6
+ import { DialogDescription } from 'radix-vue';
7
+
8
+ const props = defineProps<SheetDescriptionProps>();
9
+
10
+ const delegated = reactiveOmit(props, 'class');
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ export interface SheetDescriptionProps extends DialogDescriptionProps {
15
+ class?: HTMLAttributes['class'];
16
+ }
17
+ </script>
18
+
19
+ <template>
20
+ <DialogDescription
21
+ :class="clsx('celeste-sheet-description', props.class)"
22
+ v-bind="delegated"
23
+ >
24
+ <slot />
25
+ </DialogDescription>
26
+ </template>
27
+
28
+ <style scoped lang="scss">
29
+ .celeste-sheet-description {
30
+ color: var(--color-text-sub-600);
31
+ font: var(--paragraph-sm);
32
+ }
33
+ </style>
@@ -0,0 +1,40 @@
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from 'vue';
3
+ import clsx from 'clsx';
4
+
5
+ const props = defineProps<SheetFooterProps>();
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ export interface SheetFooterProps {
10
+ class?: HTMLAttributes['class'];
11
+ }
12
+ </script>
13
+
14
+ <template>
15
+ <div
16
+ :class="
17
+ clsx(
18
+ 'celeste-sheet-footer',
19
+ props.class,
20
+ )
21
+ "
22
+ >
23
+ <slot />
24
+ </div>
25
+ </template>
26
+
27
+ <style scoped lang="scss">
28
+ .celeste-sheet-footer {
29
+ display: flex;
30
+ flex-direction: column-reverse;
31
+ gap: var(--spacing-8);
32
+ }
33
+
34
+ @media (width >= 640px) {
35
+ .celeste-sheet-footer {
36
+ flex-direction: row;
37
+ justify-content: flex-end;
38
+ }
39
+ }
40
+ </style>
@@ -0,0 +1,36 @@
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from 'vue';
3
+ import clsx from 'clsx';
4
+
5
+ const props = defineProps<SheetHeaderProps>();
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ export interface SheetHeaderProps {
10
+ class?: HTMLAttributes['class'];
11
+ }
12
+ </script>
13
+
14
+ <template>
15
+ <div
16
+ :class="clsx('celeste-sheet-header', props.class)"
17
+ >
18
+ <slot />
19
+ </div>
20
+ </template>
21
+
22
+ <style scoped lang="scss">
23
+ .celeste-sheet-header {
24
+ display: flex;
25
+ flex-direction: column;
26
+ font: var(--label-md);
27
+ row-gap: var(--spacing-2);
28
+ text-align: center;
29
+ }
30
+
31
+ @media (width >= 640px) {
32
+ .celeste-sheet-header {
33
+ text-align: start;
34
+ }
35
+ }
36
+ </style>
@@ -0,0 +1,33 @@
1
+ <script setup lang="ts">
2
+ import type { DialogTitleProps } from 'radix-vue';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import { reactiveOmit } from '@vueuse/core';
5
+ import clsx from 'clsx';
6
+ import { DialogTitle } from 'radix-vue';
7
+
8
+ const props = defineProps<SheetTitleProps>();
9
+
10
+ const delegatedProps = reactiveOmit(props, 'class');
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ export interface SheetTitleProps extends DialogTitleProps {
15
+ class?: HTMLAttributes['class'];
16
+ }
17
+ </script>
18
+
19
+ <template>
20
+ <DialogTitle
21
+ :class="clsx('celeste-sheet-title', props.class)"
22
+ v-bind="delegatedProps"
23
+ >
24
+ <slot />
25
+ </DialogTitle>
26
+ </template>
27
+
28
+ <style scoped>
29
+ .celeste-sheet-title {
30
+ color: var(--color-text-strong-950);
31
+ font: var(--label-md);
32
+ }
33
+ </style>
@@ -0,0 +1,16 @@
1
+ <script setup lang="ts">
2
+ import type { DialogTriggerProps } from 'radix-vue';
3
+ import { DialogTrigger } from 'radix-vue';
4
+
5
+ const props = defineProps<SheetTriggerProps>();
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ export interface SheetTriggerProps extends DialogTriggerProps {}
10
+ </script>
11
+
12
+ <template>
13
+ <DialogTrigger v-bind="props">
14
+ <slot />
15
+ </DialogTrigger>
16
+ </template>
@@ -0,0 +1,15 @@
1
+ <script setup lang="ts">
2
+ import type { DialogRootEmits, DialogRootProps } from 'radix-vue';
3
+ import { DialogRoot, useForwardPropsEmits } from 'radix-vue';
4
+
5
+ const props = defineProps<DialogRootProps>();
6
+ const emits = defineEmits<DialogRootEmits>();
7
+
8
+ const forwarded = useForwardPropsEmits(props, emits);
9
+ </script>
10
+
11
+ <template>
12
+ <DialogRoot v-bind="forwarded">
13
+ <slot />
14
+ </DialogRoot>
15
+ </template>
@@ -0,0 +1,88 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import Button from '@/components/button/button.vue';
3
+ import ContentDivider from '@/components/content-divider/content-divider.vue';
4
+ import Label from '@/components/label/label.vue';
5
+ import TextInput from '@/components/text-input/text-input.vue';
6
+ import SheetClose from '../sheet-close.vue';
7
+ import SheetContent from '../sheet-content.vue';
8
+ import SheetDescription from '../sheet-description.vue';
9
+ import SheetFooter from '../sheet-footer.vue';
10
+ import SheetHeader from '../sheet-header.vue';
11
+ import SheetTitle from '../sheet-title.vue';
12
+ import SheetTrigger from '../sheet-trigger.vue';
13
+ import Sheet from '../sheet.vue';
14
+
15
+ const meta: Meta<typeof Sheet> = {
16
+ title: 'Components/Sheet',
17
+ component: Sheet,
18
+ };
19
+
20
+ export default meta;
21
+
22
+ type Story = StoryObj<typeof Sheet>;
23
+
24
+ export const Default: Story = {
25
+ args: {},
26
+
27
+ render: args => ({
28
+ components: {
29
+ Sheet,
30
+ SheetTrigger,
31
+ SheetContent,
32
+ SheetHeader,
33
+ SheetTitle,
34
+ SheetDescription,
35
+ SheetFooter,
36
+ SheetClose,
37
+ Button,
38
+ Label,
39
+ TextInput,
40
+ ContentDivider,
41
+ },
42
+ setup() {
43
+ return { args };
44
+ },
45
+ template: `
46
+ <Sheet v-bind="args">
47
+ <SheetTrigger as-child>
48
+ <Button variant="stroke" intent="neutral">
49
+ <i class="i-celeste-user-settings-line" />
50
+ Edit Profile
51
+ </Button>
52
+ </SheetTrigger>
53
+ <SheetContent>
54
+
55
+ <SheetHeader>
56
+ <SheetTitle>Edit Profile</SheetTitle>
57
+ <SheetDescription>
58
+ Make changes to your profile here. Click save when you're done.
59
+ </SheetDescription>
60
+ </SheetHeader>
61
+
62
+ <ContentDivider />
63
+
64
+ <div style="display: grid; gap: 16px; margin-top: 16px;">
65
+ <div>
66
+ <Label style="margin-bottom: 4px;">Name</Label>
67
+ <TextInput placeholder="Dara" />
68
+ </div>
69
+ <div>
70
+ <Label style="margin-bottom: 4px;">Email</Label>
71
+ <TextInput type="email" placeholder="dara-@outlook.jp" />
72
+ </div>
73
+ </div>
74
+
75
+
76
+ <SheetFooter style="margin-top: 16px;">
77
+ <SheetClose as-child>
78
+ <Button intent="neutral" variant="stroke">Cancel</Button>
79
+ </SheetClose>
80
+ <SheetClose as-child>
81
+ <Button>Save changes</Button>
82
+ </SheetClose>
83
+ </SheetFooter>
84
+ </SheetContent>
85
+ </Sheet>
86
+ `,
87
+ }),
88
+ };
@@ -0,0 +1,38 @@
1
+ export { default as SidebarContent } from './sidebar-content.vue';
2
+ export * from './sidebar-content.vue';
3
+ export { default as SidebarElement } from './sidebar-element.vue';
4
+ export * from './sidebar-element.vue';
5
+ export { default as SidebarFooter } from './sidebar-footer.vue';
6
+ export * from './sidebar-footer.vue';
7
+ export { default as SidebarGroupContent } from './sidebar-group-content.vue';
8
+ export * from './sidebar-group-content.vue';
9
+ export { default as SidebarGroupLabel } from './sidebar-group-label.vue';
10
+ export * from './sidebar-group-label.vue';
11
+ export { default as SidebarGroup } from './sidebar-group.vue';
12
+ export * from './sidebar-group.vue';
13
+ export { default as SidebarHeader } from './sidebar-header.vue';
14
+ export * from './sidebar-header.vue';
15
+ export { default as SidebarMenuAction } from './sidebar-menu-action.vue';
16
+ export * from './sidebar-menu-action.vue';
17
+ export { default as SidebarMenuBadge } from './sidebar-menu-badge.vue';
18
+ export * from './sidebar-menu-badge.vue';
19
+ export { default as SidebarMenuButton } from './sidebar-menu-button.vue';
20
+ export * from './sidebar-menu-button.vue';
21
+ export { default as SidebarMenuItem } from './sidebar-menu-item.vue';
22
+ export * from './sidebar-menu-item.vue';
23
+ export { default as SidebarMenuSubButton } from './sidebar-menu-sub-button.vue';
24
+ export * from './sidebar-menu-sub-button.vue';
25
+ export { default as SidebarMenuSubItem } from './sidebar-menu-sub-item.vue';
26
+ export * from './sidebar-menu-sub-item.vue';
27
+ export { default as SidebarMenuSub } from './sidebar-menu-sub.vue';
28
+ export * from './sidebar-menu-sub.vue';
29
+ export { default as SidebarMenu } from './sidebar-menu.vue';
30
+ export * from './sidebar-menu.vue';
31
+ export { default as SidebarProvider } from './sidebar-provider.vue';
32
+ export * from './sidebar-provider.vue';
33
+ export { default as SidebarSeparator } from './sidebar-separator.vue';
34
+ export * from './sidebar-separator.vue';
35
+ export { default as SidebarTrigger } from './sidebar-trigger.vue';
36
+ export * from './sidebar-trigger.vue';
37
+ export { default as Sidebar } from './sidebar.vue';
38
+ export * from './sidebar.vue';
@@ -0,0 +1,32 @@
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from 'vue';
3
+ import clsx from 'clsx';
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes['class'];
7
+ }>();
8
+ </script>
9
+
10
+ <template>
11
+ <div
12
+ data-sidebar="content"
13
+ :class="clsx('celeste-sidebar-content', props.class)"
14
+ >
15
+ <slot />
16
+ </div>
17
+ </template>
18
+
19
+ <style lang="css">
20
+ .celeste-sidebar-content {
21
+ display: flex;
22
+ flex: 1;
23
+ flex-direction: column;
24
+ min-height: 0;
25
+ gap: var(--spacing-8);
26
+ overflow: auto;
27
+ }
28
+
29
+ [data-collapsible='icon'] .celeste-sidebar-content {
30
+ overflow: hidden;
31
+ }
32
+ </style>
@@ -0,0 +1,68 @@
1
+ <script setup lang="ts">
2
+ import type { PrimitiveProps } from 'radix-vue';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import clsx from 'clsx';
5
+ import { Primitive } from 'radix-vue';
6
+
7
+ const props = withDefaults(defineProps<SidebarElementProps>(), {
8
+ as: 'div',
9
+ });
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ export interface SidebarElementProps extends PrimitiveProps {
14
+ class?: HTMLAttributes['class'];
15
+ }
16
+ </script>
17
+
18
+ <template>
19
+ <Primitive
20
+ data-sidebar="element"
21
+ :class="clsx('celeste-sidebar-element', props.class)"
22
+ :as="as"
23
+ v-bind="$attrs"
24
+ >
25
+ <slot />
26
+ </Primitive>
27
+ </template>
28
+
29
+ <style lang="css">
30
+ .celeste-sidebar-element {
31
+ display: flex;
32
+ align-items: center;
33
+ width: 100%;
34
+ gap: var(--spacing-8);
35
+ padding: var(--spacing-8);
36
+ transition: background-color var(--animation-fast);
37
+ border-radius: var(--radius-8);
38
+ outline: none;
39
+ }
40
+
41
+ .celeste-sidebar-element :is(svg, i) {
42
+ flex-shrink: 0;
43
+ width: 18px;
44
+ height: 18px;
45
+ }
46
+
47
+ .celeste-sidebar-element > :is(span, div):not(:first-child) {
48
+ overflow: hidden;
49
+ text-overflow: ellipsis;
50
+ white-space: nowrap;
51
+ }
52
+
53
+ .celeste-sidebar-desktop[data-state='collapsed'][data-collapsible='icon'] .celeste-sidebar-element {
54
+ justify-content: center;
55
+ padding: var(--spacing-8) var(--spacing-4);
56
+ }
57
+
58
+ .celeste-sidebar-desktop[data-state='collapsed'][data-collapsible='icon']
59
+ .celeste-sidebar-element
60
+ > *:not(:first-child) {
61
+ display: none;
62
+ }
63
+
64
+ .celeste-sidebar-desktop[data-state='collapsed'][data-collapsible='icon'] .celeste-sidebar-element > *:first-child {
65
+ width: 18px;
66
+ height: 18px;
67
+ }
68
+ </style>
@@ -0,0 +1,34 @@
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from 'vue';
3
+ import clsx from 'clsx';
4
+
5
+ const props = defineProps<SidebarFooterProps>();
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ export interface SidebarFooterProps {
10
+ class?: HTMLAttributes['class'];
11
+ }
12
+ </script>
13
+
14
+ <template>
15
+ <div
16
+ data-sidebar="footer"
17
+ :class="clsx('celeste-sidebar-footer', props.class)"
18
+ >
19
+ <slot />
20
+ </div>
21
+ </template>
22
+
23
+ <style lang="css">
24
+ .celeste-sidebar-footer {
25
+ display: flex;
26
+ flex-direction: column;
27
+ padding: var(--spacing-10);
28
+ gap: var(--spacing-8);
29
+ }
30
+
31
+ [data-collapsible='icon'] .celeste-sidebar-footer {
32
+ padding: var(--spacing-8) var(--spacing-4);
33
+ }
34
+ </style>
@@ -0,0 +1,24 @@
1
+ <script setup lang="ts">
2
+ import type { HTMLAttributes } from 'vue';
3
+ import clsx from 'clsx';
4
+
5
+ const props = defineProps<{
6
+ class?: HTMLAttributes['class'];
7
+ }>();
8
+ </script>
9
+
10
+ <template>
11
+ <div
12
+ data-sidebar="group-content"
13
+ :class="clsx('celeste-sidebar-group-content', props.class)"
14
+ >
15
+ <slot />
16
+ </div>
17
+ </template>
18
+
19
+ <style scoped lang="css">
20
+ .celeste-sidebar-group-content {
21
+ width: 100%;
22
+ font: var(--paragraph-sm);
23
+ }
24
+ </style>
@@ -0,0 +1,55 @@
1
+ <script setup lang="ts">
2
+ import type { PrimitiveProps } from 'radix-vue';
3
+ import type { HTMLAttributes } from 'vue';
4
+ import clsx from 'clsx';
5
+ import { Primitive } from 'radix-vue';
6
+
7
+ const props = defineProps<PrimitiveProps & {
8
+ class?: HTMLAttributes['class'];
9
+ }>();
10
+ </script>
11
+
12
+ <template>
13
+ <Primitive
14
+ data-sidebar="group-label"
15
+ :as="as"
16
+ :as-child="asChild"
17
+ :class="clsx('celeste-sidebar-group-label', props.class)"
18
+ >
19
+ <slot />
20
+ </Primitive>
21
+ </template>
22
+
23
+ <style lang="css">
24
+ .celeste-sidebar-group-label {
25
+ display: flex;
26
+ flex-shrink: 0;
27
+ align-items: center;
28
+ height: 32px;
29
+ padding-inline: var(--spacing-8);
30
+ transition:
31
+ margin var(--animation-fast) linear,
32
+ opacity var(--animation-fast) linear;
33
+ border-radius: var(--radius-8);
34
+ outline: none;
35
+ color: var(--color-text-soft-400);
36
+ font: var(--subheading-xs);
37
+ text-transform: uppercase;
38
+ }
39
+
40
+ .celeste-sidebar-group-label:focus-visible {
41
+ box-shadow: 0 0 0 2px var(--sidebar-ring);
42
+ }
43
+
44
+ .celeste-sidebar-group-label svg,
45
+ .celeste-sidebar-group-label i {
46
+ flex-shrink: 0;
47
+ width: 18px;
48
+ height: 18px;
49
+ }
50
+
51
+ [data-collapsible='icon'] .celeste-sidebar-group-label {
52
+ margin-top: -32px;
53
+ opacity: 0;
54
+ }
55
+ </style>