@skewedaspect/sleekspace-ui 0.2.0-beta.1 → 0.2.0-beta.3

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 (536) hide show
  1. package/dist/components/Accordion/SkAccordion.vue.d.ts +65 -0
  2. package/dist/components/Accordion/SkAccordionItem.vue.d.ts +52 -0
  3. package/dist/components/Accordion/index.d.ts +3 -0
  4. package/dist/components/Accordion/types.d.ts +3 -0
  5. package/dist/components/Alert/SkAlert.vue.d.ts +39 -0
  6. package/dist/components/Alert/types.d.ts +4 -0
  7. package/dist/components/Avatar/SkAvatar.vue.d.ts +75 -0
  8. package/dist/components/Avatar/index.d.ts +2 -0
  9. package/dist/components/Avatar/types.d.ts +20 -0
  10. package/dist/components/Breadcrumbs/SkBreadcrumbItem.vue.d.ts +51 -0
  11. package/dist/components/Breadcrumbs/SkBreadcrumbSeparator.vue.d.ts +13 -0
  12. package/dist/components/Breadcrumbs/SkBreadcrumbs.vue.d.ts +24 -0
  13. package/dist/components/Breadcrumbs/index.d.ts +4 -0
  14. package/dist/components/Breadcrumbs/types.d.ts +18 -0
  15. package/dist/components/Button/SkButton.vue.d.ts +97 -0
  16. package/dist/components/Button/types.d.ts +5 -0
  17. package/dist/components/Card/SkCard.vue.d.ts +88 -0
  18. package/dist/components/Card/types.d.ts +2 -0
  19. package/dist/components/Checkbox/SkCheckbox.vue.d.ts +71 -0
  20. package/dist/components/Checkbox/index.d.ts +2 -0
  21. package/dist/components/Checkbox/types.d.ts +3 -0
  22. package/dist/components/Collapsible/SkCollapsible.vue.d.ts +70 -0
  23. package/dist/components/Collapsible/index.d.ts +2 -0
  24. package/dist/components/Collapsible/types.d.ts +2 -0
  25. package/dist/components/Divider/SkDivider.vue.d.ts +39 -0
  26. package/dist/components/Divider/types.d.ts +8 -0
  27. package/dist/components/Dropdown/SkDropdown.vue.d.ts +63 -0
  28. package/dist/components/Dropdown/SkDropdownMenuItem.vue.d.ts +32 -0
  29. package/dist/components/Dropdown/SkDropdownMenuSeparator.vue.d.ts +2 -0
  30. package/dist/components/Dropdown/SkDropdownSubmenu.vue.d.ts +34 -0
  31. package/dist/components/Dropdown/index.d.ts +5 -0
  32. package/dist/components/Dropdown/types.d.ts +4 -0
  33. package/dist/components/Field/SkField.vue.d.ts +99 -0
  34. package/dist/components/Field/index.d.ts +2 -0
  35. package/dist/components/Field/types.d.ts +1 -0
  36. package/dist/components/Group/SkGroup.vue.d.ts +29 -0
  37. package/dist/components/Group/types.d.ts +4 -0
  38. package/dist/components/Input/SkInput.vue.d.ts +84 -0
  39. package/dist/components/Input/index.d.ts +2 -0
  40. package/dist/components/Input/types.d.ts +4 -0
  41. package/dist/components/Listbox/SkListbox.vue.d.ts +62 -0
  42. package/dist/components/Listbox/SkListboxItem.vue.d.ts +34 -0
  43. package/dist/components/Listbox/SkListboxSeparator.vue.d.ts +2 -0
  44. package/dist/components/Listbox/index.d.ts +4 -0
  45. package/dist/components/Listbox/types.d.ts +3 -0
  46. package/dist/components/Modal/SkModal.vue.d.ts +108 -0
  47. package/dist/components/Modal/index.d.ts +2 -0
  48. package/dist/components/Modal/types.d.ts +3 -0
  49. package/dist/components/NavBar/SkNavBar.vue.d.ts +40 -0
  50. package/dist/components/NavBar/index.d.ts +2 -0
  51. package/dist/components/NavBar/types.d.ts +6 -0
  52. package/dist/components/NumberInput/SkNumberInput.vue.d.ts +93 -0
  53. package/dist/components/NumberInput/index.d.ts +2 -0
  54. package/dist/components/NumberInput/types.d.ts +3 -0
  55. package/dist/components/Page/SkPage.vue.d.ts +55 -0
  56. package/dist/components/Page/index.d.ts +2 -0
  57. package/dist/components/Page/types.d.ts +13 -0
  58. package/dist/components/Pagination/SkPagination.vue.d.ts +79 -0
  59. package/dist/components/Pagination/SkPaginationItem.vue.d.ts +44 -0
  60. package/dist/components/Pagination/index.d.ts +3 -0
  61. package/dist/components/Pagination/types.d.ts +24 -0
  62. package/dist/components/Panel/SkPanel.vue.d.ts +55 -0
  63. package/dist/components/Panel/types.d.ts +3 -0
  64. package/dist/components/Popover/SkPopover.vue.d.ts +94 -0
  65. package/dist/components/Popover/index.d.ts +2 -0
  66. package/dist/components/Popover/types.d.ts +4 -0
  67. package/dist/components/Progress/SkProgress.vue.d.ts +66 -0
  68. package/dist/components/Progress/index.d.ts +2 -0
  69. package/dist/components/Progress/types.d.ts +22 -0
  70. package/dist/components/Radio/SkRadio.vue.d.ts +59 -0
  71. package/dist/components/Radio/SkRadioGroup.vue.d.ts +85 -0
  72. package/dist/components/Radio/index.d.ts +3 -0
  73. package/dist/components/Radio/types.d.ts +4 -0
  74. package/dist/components/Sidebar/SkSidebar.vue.d.ts +38 -0
  75. package/dist/components/Sidebar/SkSidebarItem.vue.d.ts +37 -0
  76. package/dist/components/Sidebar/SkSidebarSection.vue.d.ts +44 -0
  77. package/dist/components/Sidebar/types.d.ts +2 -0
  78. package/dist/components/Skeleton/SkSkeleton.vue.d.ts +55 -0
  79. package/dist/components/Skeleton/index.d.ts +2 -0
  80. package/dist/components/Skeleton/types.d.ts +21 -0
  81. package/dist/components/Slider/SkSlider.vue.d.ts +100 -0
  82. package/dist/components/Slider/index.d.ts +2 -0
  83. package/dist/components/Slider/types.d.ts +32 -0
  84. package/dist/components/Spinner/SkSpinner.vue.d.ts +39 -0
  85. package/dist/components/Spinner/index.d.ts +2 -0
  86. package/dist/components/Spinner/types.d.ts +16 -0
  87. package/dist/components/Switch/SkSwitch.vue.d.ts +120 -0
  88. package/dist/components/Switch/index.d.ts +2 -0
  89. package/dist/components/Switch/types.d.ts +3 -0
  90. package/dist/components/Table/SkTable.vue.d.ts +86 -0
  91. package/dist/components/Table/index.d.ts +2 -0
  92. package/dist/components/Table/types.d.ts +3 -0
  93. package/dist/components/Tabs/SkTab.vue.d.ts +49 -0
  94. package/dist/components/Tabs/SkTabList.vue.d.ts +28 -0
  95. package/dist/components/Tabs/SkTabPanel.vue.d.ts +33 -0
  96. package/dist/components/Tabs/SkTabPanels.vue.d.ts +17 -0
  97. package/dist/components/Tabs/SkTabs.vue.d.ts +60 -0
  98. package/dist/components/Tabs/types.d.ts +5 -0
  99. package/dist/components/Tag/SkTag.vue.d.ts +58 -0
  100. package/dist/components/Tag/types.d.ts +8 -0
  101. package/dist/components/TagsInput/SkTagsInput.vue.d.ts +77 -0
  102. package/dist/components/TagsInput/index.d.ts +2 -0
  103. package/dist/components/TagsInput/types.d.ts +3 -0
  104. package/dist/components/Textarea/SkTextarea.vue.d.ts +85 -0
  105. package/dist/components/Textarea/index.d.ts +2 -0
  106. package/dist/components/Textarea/types.d.ts +3 -0
  107. package/dist/components/Theme/SkTheme.vue.d.ts +20 -0
  108. package/dist/components/Theme/types.d.ts +16 -0
  109. package/dist/components/Theme/useTheme.d.ts +84 -0
  110. package/dist/components/Toast/SkToast.vue.d.ts +42 -0
  111. package/dist/components/Toast/SkToastProvider.vue.d.ts +62 -0
  112. package/dist/components/Toast/index.d.ts +3 -0
  113. package/dist/components/Toast/types.d.ts +35 -0
  114. package/dist/components/Toast/useToast.d.ts +33 -0
  115. package/dist/components/Tooltip/SkTooltip.vue.d.ts +81 -0
  116. package/dist/components/Tooltip/SkTooltipProvider.vue.d.ts +70 -0
  117. package/dist/components/Tooltip/index.d.ts +3 -0
  118. package/dist/components/Tooltip/types.d.ts +4 -0
  119. package/dist/composables/useCustomColors.d.ts +74 -0
  120. package/dist/composables/useCustomColors.test.d.ts +1 -0
  121. package/dist/composables/usePortalContext.d.ts +75 -0
  122. package/dist/composables/usePortalContext.test.d.ts +1 -0
  123. package/dist/index.d.ts +149 -0
  124. package/dist/sleekspace-ui.css +2 -16
  125. package/dist/sleekspace-ui.es.js +43 -42
  126. package/dist/sleekspace-ui.umd.js +43 -42
  127. package/dist/tokens.css +968 -0
  128. package/dist/types.d.ts +29 -0
  129. package/docs/components/accordion/_meta.yaml +9 -0
  130. package/docs/components/accordion/custom-colors.md +20 -0
  131. package/docs/components/accordion/intro.md +8 -0
  132. package/docs/components/accordion/kinds.md +30 -0
  133. package/docs/components/accordion/multiple.md +28 -0
  134. package/docs/components/accordion/real-world.md +31 -0
  135. package/docs/components/accordion/usage.md +28 -0
  136. package/docs/components/alert/_meta.yaml +10 -0
  137. package/docs/components/alert/custom-colors.md +30 -0
  138. package/docs/components/alert/custom-icons.md +17 -0
  139. package/docs/components/alert/intro.md +8 -0
  140. package/docs/components/alert/kinds.md +24 -0
  141. package/docs/components/alert/prominent.md +16 -0
  142. package/docs/components/alert/rich-content.md +19 -0
  143. package/docs/components/alert/usage.md +12 -0
  144. package/docs/components/avatar/_meta.yaml +10 -0
  145. package/docs/components/avatar/custom-colors.md +14 -0
  146. package/docs/components/avatar/images.md +12 -0
  147. package/docs/components/avatar/intro.md +8 -0
  148. package/docs/components/avatar/kinds.md +16 -0
  149. package/docs/components/avatar/real-world.md +25 -0
  150. package/docs/components/avatar/sizes.md +14 -0
  151. package/docs/components/avatar/usage.md +15 -0
  152. package/docs/components/breadcrumbs/_meta.yaml +9 -0
  153. package/docs/components/breadcrumbs/custom-colors.md +14 -0
  154. package/docs/components/breadcrumbs/intro.md +8 -0
  155. package/docs/components/breadcrumbs/kinds.md +16 -0
  156. package/docs/components/breadcrumbs/real-world.md +33 -0
  157. package/docs/components/breadcrumbs/separators.md +13 -0
  158. package/docs/components/breadcrumbs/usage.md +15 -0
  159. package/docs/components/card/_meta.yaml +10 -0
  160. package/docs/components/card/intro.md +8 -0
  161. package/docs/components/card/kinds.md +24 -0
  162. package/docs/components/card/media.md +25 -0
  163. package/docs/components/card/neon-kinds.md +24 -0
  164. package/docs/components/card/no-decoration.md +15 -0
  165. package/docs/components/card/scrollable.md +23 -0
  166. package/docs/components/card/usage.md +12 -0
  167. package/docs/components/checkbox/_meta.yaml +11 -0
  168. package/docs/components/checkbox/color-kinds.md +17 -0
  169. package/docs/components/checkbox/custom-colors.md +21 -0
  170. package/docs/components/checkbox/form-example.md +24 -0
  171. package/docs/components/checkbox/intro.md +8 -0
  172. package/docs/components/checkbox/kinds.md +16 -0
  173. package/docs/components/checkbox/sizes.md +13 -0
  174. package/docs/components/checkbox/states.md +14 -0
  175. package/docs/components/checkbox/usage.md +17 -0
  176. package/docs/components/collapsible/_meta.yaml +9 -0
  177. package/docs/components/collapsible/accessibility.md +6 -0
  178. package/docs/components/collapsible/custom-colors.md +16 -0
  179. package/docs/components/collapsible/custom-trigger.md +35 -0
  180. package/docs/components/collapsible/intro.md +8 -0
  181. package/docs/components/collapsible/kinds.md +16 -0
  182. package/docs/components/collapsible/usage.md +22 -0
  183. package/docs/components/divider/_meta.yaml +10 -0
  184. package/docs/components/divider/accessibility.md +6 -0
  185. package/docs/components/divider/intro.md +8 -0
  186. package/docs/components/divider/kinds.md +16 -0
  187. package/docs/components/divider/orientation.md +18 -0
  188. package/docs/components/divider/sizes.md +24 -0
  189. package/docs/components/divider/usage.md +14 -0
  190. package/docs/components/divider/variants.md +14 -0
  191. package/docs/components/dropdown/_meta.yaml +11 -0
  192. package/docs/components/dropdown/accessibility.md +6 -0
  193. package/docs/components/dropdown/custom-colors.md +17 -0
  194. package/docs/components/dropdown/custom-trigger.md +18 -0
  195. package/docs/components/dropdown/intro.md +8 -0
  196. package/docs/components/dropdown/kinds.md +23 -0
  197. package/docs/components/dropdown/positioning.md +23 -0
  198. package/docs/components/dropdown/submenus.md +28 -0
  199. package/docs/components/dropdown/usage.md +24 -0
  200. package/docs/components/field/_meta.yaml +10 -0
  201. package/docs/components/field/accessibility.md +6 -0
  202. package/docs/components/field/description.md +15 -0
  203. package/docs/components/field/intro.md +8 -0
  204. package/docs/components/field/label-position.md +16 -0
  205. package/docs/components/field/required.md +12 -0
  206. package/docs/components/field/usage.md +19 -0
  207. package/docs/components/field/validation.md +32 -0
  208. package/docs/components/group/_meta.yaml +7 -0
  209. package/docs/components/group/accessibility.md +6 -0
  210. package/docs/components/group/intro.md +8 -0
  211. package/docs/components/group/orientation.md +22 -0
  212. package/docs/components/group/usage.md +14 -0
  213. package/docs/components/input/_meta.yaml +11 -0
  214. package/docs/components/input/accessibility.md +6 -0
  215. package/docs/components/input/custom-colors.md +21 -0
  216. package/docs/components/input/intro.md +8 -0
  217. package/docs/components/input/kinds.md +16 -0
  218. package/docs/components/input/sizes.md +13 -0
  219. package/docs/components/input/states.md +12 -0
  220. package/docs/components/input/types.md +15 -0
  221. package/docs/components/input/usage.md +17 -0
  222. package/docs/components/listbox/_meta.yaml +12 -0
  223. package/docs/components/listbox/color-kinds.md +27 -0
  224. package/docs/components/listbox/custom-colors.md +18 -0
  225. package/docs/components/listbox/form-example.md +36 -0
  226. package/docs/components/listbox/intro.md +8 -0
  227. package/docs/components/listbox/kinds.md +30 -0
  228. package/docs/components/listbox/separators.md +19 -0
  229. package/docs/components/listbox/sizes.md +24 -0
  230. package/docs/components/listbox/states.md +19 -0
  231. package/docs/components/listbox/usage.md +23 -0
  232. package/docs/components/modal/_meta.yaml +13 -0
  233. package/docs/components/modal/close-behaviors.md +49 -0
  234. package/docs/components/modal/confirmation.md +19 -0
  235. package/docs/components/modal/controlled-state.md +29 -0
  236. package/docs/components/modal/custom-colors.md +25 -0
  237. package/docs/components/modal/custom-trigger.md +28 -0
  238. package/docs/components/modal/form-modal.md +23 -0
  239. package/docs/components/modal/intro.md +8 -0
  240. package/docs/components/modal/kinds.md +30 -0
  241. package/docs/components/modal/sizes.md +21 -0
  242. package/docs/components/modal/usage.md +15 -0
  243. package/docs/components/navbar/_meta.yaml +11 -0
  244. package/docs/components/navbar/complex-layouts.md +34 -0
  245. package/docs/components/navbar/custom-colors.md +24 -0
  246. package/docs/components/navbar/icons.md +33 -0
  247. package/docs/components/navbar/intro.md +8 -0
  248. package/docs/components/navbar/kinds.md +24 -0
  249. package/docs/components/navbar/neon-colors.md +24 -0
  250. package/docs/components/navbar/sticky.md +22 -0
  251. package/docs/components/navbar/usage.md +25 -0
  252. package/docs/components/number-input/_meta.yaml +12 -0
  253. package/docs/components/number-input/color-kinds.md +17 -0
  254. package/docs/components/number-input/custom-colors.md +21 -0
  255. package/docs/components/number-input/form-example.md +55 -0
  256. package/docs/components/number-input/intro.md +8 -0
  257. package/docs/components/number-input/kinds.md +16 -0
  258. package/docs/components/number-input/min-max-step.md +11 -0
  259. package/docs/components/number-input/sizes.md +13 -0
  260. package/docs/components/number-input/states.md +12 -0
  261. package/docs/components/number-input/usage.md +18 -0
  262. package/docs/components/page/_meta.yaml +9 -0
  263. package/docs/components/page/custom-width.md +17 -0
  264. package/docs/components/page/fixed-header.md +17 -0
  265. package/docs/components/page/intro.md +8 -0
  266. package/docs/components/page/real-world.md +37 -0
  267. package/docs/components/page/sidebar-position.md +18 -0
  268. package/docs/components/page/usage.md +33 -0
  269. package/docs/components/pagination/_meta.yaml +12 -0
  270. package/docs/components/pagination/config-options.md +17 -0
  271. package/docs/components/pagination/custom-colors.md +15 -0
  272. package/docs/components/pagination/intro.md +8 -0
  273. package/docs/components/pagination/kinds.md +13 -0
  274. package/docs/components/pagination/sizes.md +14 -0
  275. package/docs/components/pagination/states.md +10 -0
  276. package/docs/components/pagination/table-example.md +28 -0
  277. package/docs/components/pagination/usage.md +10 -0
  278. package/docs/components/pagination/variants.md +13 -0
  279. package/docs/components/panel/_meta.yaml +10 -0
  280. package/docs/components/panel/custom-colors.md +18 -0
  281. package/docs/components/panel/decoration.md +20 -0
  282. package/docs/components/panel/intro.md +8 -0
  283. package/docs/components/panel/kinds.md +23 -0
  284. package/docs/components/panel/scrollable.md +18 -0
  285. package/docs/components/panel/sizes.md +20 -0
  286. package/docs/components/panel/usage.md +13 -0
  287. package/docs/components/popover/_meta.yaml +9 -0
  288. package/docs/components/popover/arrow.md +15 -0
  289. package/docs/components/popover/custom-colors.md +19 -0
  290. package/docs/components/popover/intro.md +8 -0
  291. package/docs/components/popover/kinds.md +24 -0
  292. package/docs/components/popover/positioning.md +36 -0
  293. package/docs/components/popover/usage.md +15 -0
  294. package/docs/components/progress/_meta.yaml +10 -0
  295. package/docs/components/progress/custom-colors.md +14 -0
  296. package/docs/components/progress/indeterminate.md +11 -0
  297. package/docs/components/progress/intro.md +8 -0
  298. package/docs/components/progress/kinds.md +16 -0
  299. package/docs/components/progress/sizes.md +14 -0
  300. package/docs/components/progress/usage.md +13 -0
  301. package/docs/components/progress/value-label.md +12 -0
  302. package/docs/components/radio/_meta.yaml +10 -0
  303. package/docs/components/radio/custom-colors.md +24 -0
  304. package/docs/components/radio/intro.md +8 -0
  305. package/docs/components/radio/kinds.md +23 -0
  306. package/docs/components/radio/orientation.md +22 -0
  307. package/docs/components/radio/sizes.md +23 -0
  308. package/docs/components/radio/states.md +21 -0
  309. package/docs/components/radio/usage.md +21 -0
  310. package/docs/components/sidebar/_meta.yaml +10 -0
  311. package/docs/components/sidebar/active-state.md +35 -0
  312. package/docs/components/sidebar/custom-colors.md +20 -0
  313. package/docs/components/sidebar/intro.md +8 -0
  314. package/docs/components/sidebar/kinds.md +22 -0
  315. package/docs/components/sidebar/router.md +24 -0
  316. package/docs/components/sidebar/sections.md +24 -0
  317. package/docs/components/sidebar/usage.md +25 -0
  318. package/docs/components/skeleton/_meta.yaml +8 -0
  319. package/docs/components/skeleton/animations.md +17 -0
  320. package/docs/components/skeleton/composition.md +22 -0
  321. package/docs/components/skeleton/intro.md +8 -0
  322. package/docs/components/skeleton/usage.md +12 -0
  323. package/docs/components/skeleton/variants.md +17 -0
  324. package/docs/components/slider/_meta.yaml +12 -0
  325. package/docs/components/slider/accessibility.md +6 -0
  326. package/docs/components/slider/custom-colors.md +14 -0
  327. package/docs/components/slider/intro.md +8 -0
  328. package/docs/components/slider/kinds.md +16 -0
  329. package/docs/components/slider/range.md +16 -0
  330. package/docs/components/slider/sizes.md +14 -0
  331. package/docs/components/slider/step.md +13 -0
  332. package/docs/components/slider/usage.md +16 -0
  333. package/docs/components/slider/vertical.md +14 -0
  334. package/docs/components/spinner/_meta.yaml +10 -0
  335. package/docs/components/spinner/accessibility.md +6 -0
  336. package/docs/components/spinner/custom-colors.md +13 -0
  337. package/docs/components/spinner/intro.md +8 -0
  338. package/docs/components/spinner/kinds.md +16 -0
  339. package/docs/components/spinner/sizes.md +14 -0
  340. package/docs/components/spinner/usage.md +10 -0
  341. package/docs/components/spinner/variants.md +12 -0
  342. package/docs/components/switch/_meta.yaml +12 -0
  343. package/docs/components/switch/accessibility.md +6 -0
  344. package/docs/components/switch/custom-colors.md +29 -0
  345. package/docs/components/switch/disabled.md +11 -0
  346. package/docs/components/switch/dynamic-labels.md +12 -0
  347. package/docs/components/switch/intro.md +8 -0
  348. package/docs/components/switch/kinds.md +16 -0
  349. package/docs/components/switch/sizes.md +14 -0
  350. package/docs/components/switch/thumb-color.md +16 -0
  351. package/docs/components/switch/usage.md +18 -0
  352. package/docs/components/table/_meta.yaml +12 -0
  353. package/docs/components/table/accessibility.md +6 -0
  354. package/docs/components/table/borders.md +17 -0
  355. package/docs/components/table/hoverable.md +26 -0
  356. package/docs/components/table/intro.md +8 -0
  357. package/docs/components/table/kinds.md +18 -0
  358. package/docs/components/table/striped.md +28 -0
  359. package/docs/components/table/subtle.md +26 -0
  360. package/docs/components/table/usage.md +30 -0
  361. package/docs/components/table/variants.md +23 -0
  362. package/docs/components/tabs/_meta.yaml +10 -0
  363. package/docs/components/tabs/accessibility.md +6 -0
  364. package/docs/components/tabs/custom-colors.md +23 -0
  365. package/docs/components/tabs/icons.md +23 -0
  366. package/docs/components/tabs/intro.md +8 -0
  367. package/docs/components/tabs/kinds.md +30 -0
  368. package/docs/components/tabs/usage.md +38 -0
  369. package/docs/components/tabs/vertical.md +23 -0
  370. package/docs/components/tag/_meta.yaml +11 -0
  371. package/docs/components/tag/accessibility.md +6 -0
  372. package/docs/components/tag/custom-colors.md +32 -0
  373. package/docs/components/tag/intro.md +8 -0
  374. package/docs/components/tag/kinds.md +16 -0
  375. package/docs/components/tag/removable.md +33 -0
  376. package/docs/components/tag/sizes.md +13 -0
  377. package/docs/components/tag/usage.md +13 -0
  378. package/docs/components/tag/variants.md +13 -0
  379. package/docs/components/tags-input/_meta.yaml +13 -0
  380. package/docs/components/tags-input/color-kinds.md +17 -0
  381. package/docs/components/tags-input/custom-colors.md +21 -0
  382. package/docs/components/tags-input/form-example.md +30 -0
  383. package/docs/components/tags-input/intro.md +8 -0
  384. package/docs/components/tags-input/kinds.md +16 -0
  385. package/docs/components/tags-input/max-tags.md +10 -0
  386. package/docs/components/tags-input/sizes.md +13 -0
  387. package/docs/components/tags-input/states.md +10 -0
  388. package/docs/components/tags-input/tag-customization.md +17 -0
  389. package/docs/components/tags-input/usage.md +17 -0
  390. package/docs/components/textarea/_meta.yaml +12 -0
  391. package/docs/components/textarea/color-kinds.md +17 -0
  392. package/docs/components/textarea/custom-colors.md +21 -0
  393. package/docs/components/textarea/form-example.md +37 -0
  394. package/docs/components/textarea/intro.md +8 -0
  395. package/docs/components/textarea/kinds.md +16 -0
  396. package/docs/components/textarea/rows.md +12 -0
  397. package/docs/components/textarea/sizes.md +13 -0
  398. package/docs/components/textarea/states.md +12 -0
  399. package/docs/components/textarea/usage.md +17 -0
  400. package/docs/components/theme/_meta.yaml +9 -0
  401. package/docs/components/theme/available-themes.md +16 -0
  402. package/docs/components/theme/intro.md +8 -0
  403. package/docs/components/theme/nested-themes.md +16 -0
  404. package/docs/components/theme/portal-components.md +19 -0
  405. package/docs/components/theme/programmatic-switching.md +19 -0
  406. package/docs/components/theme/usage.md +16 -0
  407. package/docs/components/toast/_meta.yaml +11 -0
  408. package/docs/components/toast/dismiss.md +15 -0
  409. package/docs/components/toast/duration.md +23 -0
  410. package/docs/components/toast/intro.md +8 -0
  411. package/docs/components/toast/kinds.md +13 -0
  412. package/docs/components/toast/real-world.md +23 -0
  413. package/docs/components/toast/setup.md +16 -0
  414. package/docs/components/toast/usage.md +18 -0
  415. package/docs/components/toast/with-title.md +14 -0
  416. package/docs/components/tooltip/_meta.yaml +14 -0
  417. package/docs/components/tooltip/alignment.md +24 -0
  418. package/docs/components/tooltip/app-level-provider.md +21 -0
  419. package/docs/components/tooltip/arrow.md +21 -0
  420. package/docs/components/tooltip/custom-colors.md +24 -0
  421. package/docs/components/tooltip/delay.md +27 -0
  422. package/docs/components/tooltip/intro.md +8 -0
  423. package/docs/components/tooltip/kinds.md +27 -0
  424. package/docs/components/tooltip/positioning.md +24 -0
  425. package/docs/components/tooltip/provider.md +26 -0
  426. package/docs/components/tooltip/real-world.md +32 -0
  427. package/docs/components/tooltip/usage.md +15 -0
  428. package/docs/guides/ai-llms.md +63 -0
  429. package/docs/guides/design-tokens/_meta.yaml +14 -0
  430. package/docs/guides/design-tokens/advanced.md +60 -0
  431. package/docs/guides/design-tokens/architecture.md +11 -0
  432. package/docs/guides/design-tokens/best-practices.md +21 -0
  433. package/docs/guides/design-tokens/component-tokens.md +37 -0
  434. package/docs/guides/design-tokens/foundation-colors.md +13 -0
  435. package/docs/guides/design-tokens/foundation-other.md +41 -0
  436. package/docs/guides/design-tokens/intro.md +19 -0
  437. package/docs/guides/design-tokens/semantic-kinds.md +33 -0
  438. package/docs/guides/design-tokens/semantic-states.md +55 -0
  439. package/docs/guides/design-tokens/themes.md +38 -0
  440. package/docs/guides/design-tokens/usage.md +55 -0
  441. package/package.json +3 -5
  442. package/src/components/Accordion/SkAccordion.vue +51 -37
  443. package/src/components/Accordion/SkAccordionItem.vue +40 -20
  444. package/src/components/Alert/SkAlert.vue +37 -27
  445. package/src/components/Avatar/SkAvatar.vue +69 -10
  446. package/src/components/Breadcrumbs/SkBreadcrumbItem.vue +63 -1
  447. package/src/components/Breadcrumbs/SkBreadcrumbSeparator.vue +32 -3
  448. package/src/components/Breadcrumbs/SkBreadcrumbs.vue +36 -0
  449. package/src/components/Button/SkButton.vue +83 -17
  450. package/src/components/Card/SkCard.vue +84 -17
  451. package/src/components/Checkbox/SkCheckbox.vue +52 -12
  452. package/src/components/Collapsible/SkCollapsible.vue +65 -27
  453. package/src/components/Divider/SkDivider.vue +51 -11
  454. package/src/components/Dropdown/SkDropdown.vue +54 -11
  455. package/src/components/Dropdown/SkDropdownMenuItem.vue +25 -6
  456. package/src/components/Dropdown/SkDropdownMenuSeparator.vue +16 -2
  457. package/src/components/Dropdown/SkDropdownSubmenu.vue +30 -8
  458. package/src/components/Field/SkField.vue +83 -15
  459. package/src/components/Group/SkGroup.vue +24 -9
  460. package/src/components/Input/SkInput.vue +77 -15
  461. package/src/components/Listbox/SkListbox.vue +48 -10
  462. package/src/components/Listbox/SkListboxItem.vue +28 -7
  463. package/src/components/Listbox/SkListboxSeparator.vue +16 -2
  464. package/src/components/Modal/SkModal.vue +85 -36
  465. package/src/components/NavBar/SkNavBar.vue +39 -9
  466. package/src/components/NumberInput/SkNumberInput.vue +85 -16
  467. package/src/components/Page/SkPage.vue +55 -6
  468. package/src/components/Pagination/SkPagination.vue +88 -0
  469. package/src/components/Pagination/SkPaginationItem.vue +51 -1
  470. package/src/components/Panel/SkPanel.vue +46 -12
  471. package/src/components/Popover/SkPopover.vue +91 -36
  472. package/src/components/Progress/SkProgress.vue +74 -10
  473. package/src/components/Radio/SkRadio.vue +48 -12
  474. package/src/components/Radio/SkRadioGroup.vue +69 -13
  475. package/src/components/Sidebar/SkSidebar.vue +36 -29
  476. package/src/components/Sidebar/SkSidebarItem.vue +34 -9
  477. package/src/components/Sidebar/SkSidebarSection.vue +22 -8
  478. package/src/components/Skeleton/SkSkeleton.vue +75 -8
  479. package/src/components/Slider/SkSlider.vue +91 -15
  480. package/src/components/Spinner/SkSpinner.vue +50 -6
  481. package/src/components/Switch/SkSwitch.vue +98 -35
  482. package/src/components/Table/SkTable.vue +79 -15
  483. package/src/components/Tabs/SkTab.vue +41 -11
  484. package/src/components/Tabs/SkTabList.vue +24 -8
  485. package/src/components/Tabs/SkTabPanel.vue +31 -9
  486. package/src/components/Tabs/SkTabPanels.vue +21 -4
  487. package/src/components/Tabs/SkTabs.vue +49 -37
  488. package/src/components/Tag/SkTag.vue +57 -32
  489. package/src/components/TagsInput/SkTagsInput.vue +75 -14
  490. package/src/components/Textarea/SkTextarea.vue +78 -15
  491. package/src/components/Theme/SkTheme.vue +27 -3
  492. package/src/components/Theme/types.ts +14 -5
  493. package/src/components/Toast/SkToast.vue +56 -9
  494. package/src/components/Toast/SkToastProvider.vue +43 -17
  495. package/src/components/Tooltip/SkTooltip.vue +66 -35
  496. package/src/components/Tooltip/SkTooltipProvider.vue +36 -36
  497. package/src/composables/usePortalContext.test.ts +2 -0
  498. package/src/styles/components/_alert.scss +0 -22
  499. package/web-types.json +302 -282
  500. package/docs/components/accordion.md +0 -92
  501. package/docs/components/alert.md +0 -72
  502. package/docs/components/avatar.md +0 -69
  503. package/docs/components/breadcrumbs.md +0 -65
  504. package/docs/components/button.md +0 -110
  505. package/docs/components/card.md +0 -87
  506. package/docs/components/checkbox.md +0 -77
  507. package/docs/components/collapsible.md +0 -71
  508. package/docs/components/divider.md +0 -62
  509. package/docs/components/dropdown.md +0 -88
  510. package/docs/components/field.md +0 -80
  511. package/docs/components/group.md +0 -41
  512. package/docs/components/input.md +0 -84
  513. package/docs/components/listbox.md +0 -82
  514. package/docs/components/modal.md +0 -101
  515. package/docs/components/navbar.md +0 -64
  516. package/docs/components/number-input.md +0 -78
  517. package/docs/components/page.md +0 -77
  518. package/docs/components/pagination.md +0 -88
  519. package/docs/components/panel.md +0 -74
  520. package/docs/components/popover.md +0 -93
  521. package/docs/components/progress.md +0 -76
  522. package/docs/components/radio.md +0 -86
  523. package/docs/components/sidebar.md +0 -74
  524. package/docs/components/skeleton.md +0 -76
  525. package/docs/components/slider.md +0 -94
  526. package/docs/components/spinner.md +0 -59
  527. package/docs/components/switch.md +0 -97
  528. package/docs/components/table.md +0 -91
  529. package/docs/components/tabs.md +0 -108
  530. package/docs/components/tag.md +0 -75
  531. package/docs/components/tags-input.md +0 -88
  532. package/docs/components/textarea.md +0 -80
  533. package/docs/components/theme.md +0 -65
  534. package/docs/components/toast.md +0 -95
  535. package/docs/components/tooltip.md +0 -90
  536. package/docs/guides/design-tokens.md +0 -105
@@ -0,0 +1,38 @@
1
+ ---
2
+ section: themes
3
+ ---
4
+
5
+ ## Themes
6
+
7
+ Themes map foundation colors to semantic kinds. Each theme is defined as a CSS attribute selector that overrides semantic tokens.
8
+
9
+ ### Available Themes
10
+
11
+ **Greyscale (Default):** Neutral is gray, primary is blue, accent is orange.
12
+
13
+ **Colorful:** Neutral is blue, primary is orange, accent is blue.
14
+
15
+ ### Theme Files
16
+
17
+ Themes are defined in `src/styles/themes/`. Each theme file exports a `[data-scheme="name"]` selector:
18
+
19
+ ```scss
20
+ /* src/styles/themes/_mytheme.scss */
21
+ [data-scheme='mytheme']
22
+ {
23
+ --sk-neutral-base: var(--sk-color-purple-50);
24
+ --sk-primary-base: var(--sk-color-mint-50);
25
+ --sk-accent-base: var(--sk-color-orange-50);
26
+ /* ... define all 7 semantic kinds */
27
+ }
28
+ ```
29
+
30
+ ### Using Themes
31
+
32
+ Wrap your app in the `SkTheme` component:
33
+
34
+ ```vue
35
+ <SkTheme theme="greyscale">
36
+ <YourApp />
37
+ </SkTheme>
38
+ ```
@@ -0,0 +1,55 @@
1
+ ---
2
+ section: usage
3
+ ---
4
+
5
+ ## Usage Guide
6
+
7
+ ### When to Use Each Tier
8
+
9
+ **Use Foundation Tokens when:**
10
+ - You need a specific color shade that won't change with themes
11
+ - Building one-off custom components outside the design system
12
+ - Creating gradients or complex color manipulations
13
+
14
+ ```css
15
+ background: var(--sk-color-blue-30);
16
+ border: 1px solid var(--sk-color-gray-70);
17
+ ```
18
+
19
+ **Use Semantic Tokens when (preferred):**
20
+ - Building theme-aware components
21
+ - Using semantic meaning (success, danger, etc.)
22
+ - You want colors to change with theme switching
23
+
24
+ ```css
25
+ background: var(--sk-primary-base);
26
+ color: var(--sk-primary-text);
27
+ border: 1px solid var(--sk-danger-base);
28
+ ```
29
+
30
+ **Use Component Tokens when:**
31
+ - Working within a component's SCSS file
32
+ - Customizing existing components
33
+ - Building component variations
34
+
35
+ ```css
36
+ background: var(--sk-button-bg);
37
+ color: var(--sk-button-text);
38
+ padding: var(--sk-button-padding-base);
39
+ ```
40
+
41
+ ### Color Kind vs Semantic Kind
42
+
43
+ Use **Semantic Kinds** (preferred) for most components:
44
+
45
+ ```vue
46
+ <SkButton kind="primary">Save</SkButton>
47
+ <SkAlert kind="danger">Error occurred</SkAlert>
48
+ ```
49
+
50
+ Use **Color Kinds** when you need a specific color:
51
+
52
+ ```vue
53
+ <SkButton kind="neon-purple">Special</SkButton>
54
+ <SkPanel kind="neon-mint">Custom panel</SkPanel>
55
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skewedaspect/sleekspace-ui",
3
- "version": "0.2.0-beta.1",
3
+ "version": "0.2.0-beta.3",
4
4
  "description": "A Vue 3 component library with a cyberpunk aesthetic, featuring OKLCH colors, beveled corners, and a powerful design token system",
5
5
  "type": "module",
6
6
  "main": "dist/sleekspace-ui.umd.js",
@@ -27,8 +27,7 @@
27
27
  ],
28
28
  "scripts": {
29
29
  "dev": "vite build --watch",
30
- "build": "npm run generate:types && vue-docgen-web-types && npm run generate:api-docs && vite build && npm run build:tokens && npm run copy:docs",
31
- "generate:api-docs": "tsx scripts/generate-api-docs.ts",
30
+ "build": "npm run generate:types && vue-docgen-web-types && vite build && npm run build:tokens && npm run copy:docs",
32
31
  "build:tokens": "sass src/styles/tokens.scss dist/tokens.css --no-source-map",
33
32
  "copy:docs": "cp ../../Readme.md README.md && cp ../../LICENSE LICENSE",
34
33
  "generate:types": "tsx scripts/generate-global-types.ts",
@@ -50,7 +49,7 @@
50
49
  "license": "MIT",
51
50
  "repository": {
52
51
  "type": "git",
53
- "url": "https://gitlab.com/skewedaspect/sleekspace-ui.git",
52
+ "url": "git+https://gitlab.com/skewedaspect/sleekspace-ui.git",
54
53
  "directory": "packages/sleekspace-ui"
55
54
  },
56
55
  "bugs": "https://gitlab.com/skewedaspect/sleekspace-ui/-/issues",
@@ -62,7 +61,6 @@
62
61
  "@types/node": "^24.8.1",
63
62
  "@vitejs/plugin-vue": "^6.0.1",
64
63
  "sass": "^1.83.2",
65
- "ts-morph": "^27.0.2",
66
64
  "typescript": "^5.8.3",
67
65
  "vite": "^7.1.10",
68
66
  "vite-plugin-dts": "^4.5.3",
@@ -25,9 +25,24 @@
25
25
 
26
26
  <script setup lang="ts">
27
27
  /**
28
- * @component
29
- * Accordion root container for collapsible sections.
30
- * Use with SkAccordionItem components.
28
+ * @component SkAccordion
29
+ * @description A collapsible content container that organizes information into expandable sections. Built on
30
+ * RekaUI's Accordion primitive with smooth height animations and full keyboard accessibility. Supports two
31
+ * modes: single (only one item open at a time) or multiple (any number of items can be open simultaneously).
32
+ *
33
+ * @example
34
+ * ```vue
35
+ * <SkAccordion v-model="openItem" kind="primary">
36
+ * <SkAccordionItem value="faq-1" title="What is SleekSpace?">
37
+ * A Vue 3 component library with cyberpunk aesthetic.
38
+ * </SkAccordionItem>
39
+ * <SkAccordionItem value="faq-2" title="How do I get started?">
40
+ * Install via npm and import the components you need.
41
+ * </SkAccordionItem>
42
+ * </SkAccordion>
43
+ * ```
44
+ *
45
+ * @slot default - Container for SkAccordionItem components. Each item becomes a collapsible section.
31
46
  */
32
47
 
33
48
  import { computed, provide, toRef } from 'vue';
@@ -42,46 +57,45 @@
42
57
 
43
58
  //------------------------------------------------------------------------------------------------------------------
44
59
 
45
- /**
46
- * Accordion root container for collapsible sections.
47
- *
48
- * Supports single or multiple open items with smooth animations.
49
- *
50
- * @example Single mode (default)
51
- * ```vue
52
- * <SkAccordion v-model="openItem">
53
- * <SkAccordionItem value="item-1" title="Section 1">
54
- * Content 1
55
- * </SkAccordionItem>
56
- * <SkAccordionItem value="item-2" title="Section 2">
57
- * Content 2
58
- * </SkAccordionItem>
59
- * </SkAccordion>
60
- * ```
61
- *
62
- * @example Multiple mode
63
- * ```vue
64
- * <SkAccordion type="multiple" v-model="openItems">
65
- * <SkAccordionItem value="item-1" title="Section 1">
66
- * Content 1
67
- * </SkAccordionItem>
68
- * <SkAccordionItem value="item-2" title="Section 2">
69
- * Content 2
70
- * </SkAccordionItem>
71
- * </SkAccordion>
72
- * ```
73
- */
74
60
  export interface SkAccordionComponentProps extends ComponentCustomColors
75
61
  {
76
- /** Single or multiple open items */
62
+ /**
63
+ * Controls whether one or multiple accordion items can be open simultaneously.
64
+ * In 'single' mode, opening a new item automatically closes the previously open item.
65
+ * In 'multiple' mode, users can expand any number of items independently.
66
+ * @default 'single'
67
+ */
77
68
  type ?: SkAccordionType;
78
- /** Controlled state (v-model) */
69
+
70
+ /**
71
+ * The value(s) of currently open accordion item(s). Use with `v-model` for two-way binding.
72
+ * In 'single' mode, this is a string matching one item's `value` prop.
73
+ * In 'multiple' mode, this is an array of strings matching multiple items' `value` props.
74
+ */
79
75
  modelValue ?: string | string[];
80
- /** Allow closing all items (single mode only) */
76
+
77
+ /**
78
+ * When true and in 'single' mode, allows all items to be collapsed by clicking the open item again.
79
+ * When false, one item must always remain open (the first click selects, subsequent clicks don't collapse).
80
+ * This prop has no effect in 'multiple' mode where items are always independently collapsible.
81
+ * @default false
82
+ */
81
83
  collapsible ?: boolean;
82
- /** Semantic color kind */
84
+
85
+ /**
86
+ * Semantic color kind that controls the accordion's header and border colors. The kind is automatically
87
+ * inherited by all child SkAccordionItem components unless they specify their own kind.
88
+ * Semantic kinds (neutral, primary, accent, etc.) adapt to your theme.
89
+ * @default 'neutral'
90
+ */
83
91
  kind ?: SkAccordionKind;
84
- /** Disable all items */
92
+
93
+ /**
94
+ * When true, disables all accordion items. Items cannot be expanded or collapsed, and
95
+ * the accordion appears with reduced opacity. Individual items can also be disabled
96
+ * independently via their own `disabled` prop.
97
+ * @default false
98
+ */
85
99
  disabled ?: boolean;
86
100
  }
87
101
 
@@ -45,8 +45,22 @@
45
45
 
46
46
  <script setup lang="ts">
47
47
  /**
48
- * @component
49
- * Individual accordion item with collapsible content.
48
+ * @component SkAccordionItem
49
+ * @description An individual collapsible section within an SkAccordion container. Each item consists of a
50
+ * clickable header that toggles the visibility of its content panel. Features smooth height animations,
51
+ * an animated chevron indicator, and full keyboard navigation support (Enter/Space to toggle, arrow keys
52
+ * to navigate between items).
53
+ *
54
+ * @example
55
+ * ```vue
56
+ * <SkAccordionItem value="shipping" title="Shipping Information">
57
+ * <p>We ship worldwide with tracking included.</p>
58
+ * </SkAccordionItem>
59
+ * ```
60
+ *
61
+ * @slot default - The collapsible content displayed when the item is expanded. Can contain any content.
62
+ * @slot title - Custom header content. Receives `{ open: boolean }` indicating the current expanded state.
63
+ * Use this for complex headers with icons, badges, or conditional styling.
50
64
  */
51
65
 
52
66
  import { type ComputedRef, type Ref, computed, inject, ref } from 'vue';
@@ -62,29 +76,35 @@
62
76
 
63
77
  //------------------------------------------------------------------------------------------------------------------
64
78
 
65
- /**
66
- * Individual accordion item with collapsible content.
67
- *
68
- * @example With custom title slot
69
- * ```vue
70
- * <SkAccordionItem value="item-1">
71
- * <template #title="{ open }">
72
- * <span>Custom Title</span>
73
- * <SkBadge v-if="open" kind="primary">Open</SkBadge>
74
- * </template>
75
- * Content here
76
- * </SkAccordionItem>
77
- * ```
78
- */
79
79
  export interface SkAccordionItemComponentProps
80
80
  {
81
- /** Required unique identifier */
81
+ /**
82
+ * A unique identifier for this accordion item. This value is used by the parent SkAccordion
83
+ * to track which item(s) are currently open. Must be unique among siblings within the same
84
+ * accordion. The value is exposed in v-model bindings on the parent accordion.
85
+ */
82
86
  value : string;
83
- /** Title text (overridden by title slot) */
87
+
88
+ /**
89
+ * Text displayed in the accordion item's header/trigger button. This is the clickable
90
+ * area that expands or collapses the content. Can be overridden with the `title` slot
91
+ * for custom header content including icons, badges, or formatted text.
92
+ */
84
93
  title ?: string;
85
- /** Disable this item */
94
+
95
+ /**
96
+ * When true, this specific accordion item cannot be expanded or collapsed. The item
97
+ * appears with reduced opacity and the cursor changes to not-allowed. If the item
98
+ * was already open when disabled, it remains in its current state.
99
+ * @default false
100
+ */
86
101
  disabled ?: boolean;
87
- /** Override parent kind */
102
+
103
+ /**
104
+ * Overrides the semantic color kind inherited from the parent SkAccordion. Use this
105
+ * to highlight specific items differently, such as marking one section as 'warning'
106
+ * or 'danger'. When not specified, the item uses the parent accordion's kind.
107
+ */
88
108
  kind ?: SkAccordionKind;
89
109
  }
90
110
 
@@ -64,45 +64,55 @@
64
64
 
65
65
  <script setup lang="ts">
66
66
  /**
67
- * @component
68
- * A flexible alert component for displaying informational messages.
69
- * Supports multiple semantic kinds (info, success, warning, danger) with optional prominent styling.
67
+ * @component SkAlert
68
+ * @description A contextual feedback component for displaying informational, success, warning, or error messages.
69
+ * Features automatic icon selection based on alert kind and supports both subtle and prominent visual styles.
70
+ * Use alerts to communicate important status updates, validation results, or system messages to users.
71
+ *
72
+ * @example
73
+ * ```vue
74
+ * <SkAlert kind="success">Your changes have been saved!</SkAlert>
75
+ * ```
76
+ *
77
+ * @example Prominent warning with custom icon
78
+ * ```vue
79
+ * <SkAlert kind="warning" prominent>
80
+ * <template #icon><CustomIcon /></template>
81
+ * This action cannot be undone.
82
+ * </SkAlert>
83
+ * ```
84
+ *
85
+ * @slot default - The alert message content. Can include text, links, or any HTML content.
86
+ * @slot icon - Custom icon to override the default kind-based icon. Receives no slot props.
70
87
  */
71
88
 
72
89
  import { computed, toRef } from 'vue';
90
+
91
+ // Types
73
92
  import type { SkAlertKind } from './types';
74
93
  import type { ComponentCustomColors } from '@/types';
94
+
95
+ // Composables
75
96
  import { useCustomColors } from '@/composables/useCustomColors';
76
97
 
77
98
  //------------------------------------------------------------------------------------------------------------------
78
99
 
79
- /**
80
- * A flexible alert component for displaying informational messages.
81
- * Supports multiple semantic kinds (info, success, warning, danger) with optional prominent styling.
82
- *
83
- * @example Basic alert
84
- * ```vue
85
- * <SkAlert kind="success">
86
- * Your changes have been saved!
87
- * </SkAlert>
88
- * ```
89
- *
90
- * @example Custom colors
91
- * ```vue
92
- * <SkAlert
93
- * base-color="oklch(0.65 0.25 280)"
94
- * text-color="white"
95
- * prominent
96
- * >
97
- * Custom purple alert with custom colors
98
- * </SkAlert>
99
- * ```
100
- */
101
100
  export interface SkAlertComponentProps extends ComponentCustomColors
102
101
  {
103
- /** Semantic kind determining the alert color and icon (info, success, warning, danger) */
102
+ /**
103
+ * Semantic kind that determines the alert's color scheme and default icon. Each kind
104
+ * conveys a different meaning: 'info' for general information, 'success' for positive
105
+ * confirmations, 'warning' for cautionary messages, and 'danger' for errors or critical issues.
106
+ * @default 'info'
107
+ */
104
108
  kind ?: SkAlertKind;
105
- /** Whether to use prominent styling with darker background and bolder appearance */
109
+
110
+ /**
111
+ * When true, applies prominent styling with a more vivid background color and stronger
112
+ * visual presence. Use prominent alerts for critical messages that require immediate
113
+ * user attention, such as errors or important warnings.
114
+ * @default false
115
+ */
106
116
  prominent ?: boolean;
107
117
  }
108
118
 
@@ -39,9 +39,30 @@
39
39
  <script setup lang="ts">
40
40
  /**
41
41
  * @component SkAvatar
42
- * A user profile avatar component with image, initials, or icon fallback.
43
- * Square shape with beveled top-left and bottom-right corners.
44
- * Supports all 7 semantic kinds and custom colors.
42
+ * @description A user profile avatar component displaying an image, initials, or placeholder icon. Features a
43
+ * distinctive square shape with beveled top-left and bottom-right corners matching the SleekSpace design system.
44
+ * Implements graceful degradation: shows image if provided and loads successfully, falls back to initials if
45
+ * specified, otherwise displays a generic user icon. Supports all semantic color kinds and custom colors.
46
+ *
47
+ * @example
48
+ * ```vue
49
+ * <!-- With image -->
50
+ * <SkAvatar src="/avatars/user.jpg" alt="Jane Doe" size="lg" />
51
+ *
52
+ * <!-- With initials fallback -->
53
+ * <SkAvatar src="/avatars/user.jpg" initials="JD" kind="primary" />
54
+ *
55
+ * <!-- Initials only -->
56
+ * <SkAvatar initials="AB" kind="accent" size="xl" />
57
+ *
58
+ * <!-- Custom icon fallback -->
59
+ * <SkAvatar kind="info">
60
+ * <template #icon><RobotIcon /></template>
61
+ * </SkAvatar>
62
+ * ```
63
+ *
64
+ * @slot icon - Custom fallback icon displayed when no image or initials are provided. Defaults to a generic
65
+ * user silhouette icon. Use for bots, system users, or other non-person entities.
45
66
  */
46
67
 
47
68
  import { computed, ref } from 'vue';
@@ -54,19 +75,57 @@
54
75
 
55
76
  export interface SkAvatarComponentProps
56
77
  {
57
- /** Image source URL */
78
+ /**
79
+ * URL of the avatar image to display. When provided, the component attempts to load and display
80
+ * this image. If the image fails to load (404, network error, etc.), the component automatically
81
+ * falls back to initials or the default icon. Supports any valid image URL including data URIs.
82
+ */
58
83
  src ?: string;
59
- /** Alt text for image */
84
+
85
+ /**
86
+ * Alternative text for the avatar image, used for accessibility. Screen readers announce this
87
+ * text, so provide meaningful descriptions like "Jane Doe's profile photo" rather than generic
88
+ * text like "avatar". Only applies when displaying an image.
89
+ * @default ''
90
+ */
60
91
  alt ?: string;
61
- /** Fallback initials (1-2 characters) */
92
+
93
+ /**
94
+ * Fallback text to display when no image is provided or the image fails to load. Typically
95
+ * a user's initials (first and last name letters). Automatically truncated to 2 characters
96
+ * and uppercased. If neither src nor initials are provided, displays the default user icon.
97
+ */
62
98
  initials ?: string;
63
- /** Semantic color kind */
99
+
100
+ /**
101
+ * Semantic color kind that controls the avatar's background and text colors when displaying
102
+ * initials or the fallback icon. Has no visible effect when displaying an image. Semantic kinds
103
+ * (neutral, primary, accent, info, success, warning, danger) adapt to your theme.
104
+ * @default 'neutral'
105
+ */
64
106
  kind ?: ComponentKind;
65
- /** Avatar size */
107
+
108
+ /**
109
+ * Avatar size controlling both dimensions and text/icon scaling. Available sizes: 'xs' (extra
110
+ * small, 24px), 'sm' (small, 32px), 'md' (medium, 40px), 'lg' (large, 48px), 'xl' (extra large,
111
+ * 64px), '2xl' (double extra large, 80px). Choose based on context: 'sm' for lists, 'lg' for
112
+ * profile headers, 'xl' for profile pages.
113
+ * @default 'md'
114
+ */
66
115
  size ?: SkAvatarSize;
67
- /** Custom background color (overrides kind) */
116
+
117
+ /**
118
+ * Custom background color that overrides the kind's default. Use for brand colors, user-selected
119
+ * colors, or dynamically generated colors based on user ID. Accepts any valid CSS color value.
120
+ * Only visible when displaying initials or the fallback icon.
121
+ */
68
122
  baseColor ?: string;
69
- /** Custom text color */
123
+
124
+ /**
125
+ * Custom text/icon color that overrides the kind's default. Should provide sufficient contrast
126
+ * against baseColor for accessibility. Accepts any valid CSS color value. Only visible when
127
+ * displaying initials or the fallback icon.
128
+ */
70
129
  textColor ?: string;
71
130
  }
72
131
 
@@ -1,3 +1,7 @@
1
+ <!----------------------------------------------------------------------------------------------------------------------
2
+ - Breadcrumb Item Component
3
+ --------------------------------------------------------------------------------------------------------------------->
4
+
1
5
  <template>
2
6
  <li class="sk-breadcrumb-item">
3
7
  <component
@@ -23,6 +27,34 @@
23
27
  <!--------------------------------------------------------------------------------------------------------------------->
24
28
 
25
29
  <script setup lang="ts">
30
+ /**
31
+ * @component SkBreadcrumbItem
32
+ * @description A single item within a breadcrumb navigation trail representing one level in the hierarchy.
33
+ * Automatically renders as the appropriate element type based on props: `RouterLink` for Vue Router
34
+ * navigation, `<a>` for external links, `<span>` for current/disabled items, or `<button>` for click handlers.
35
+ *
36
+ * @example
37
+ * ```vue
38
+ * <!-- Vue Router link -->
39
+ * <SkBreadcrumbItem to="/dashboard">Dashboard</SkBreadcrumbItem>
40
+ *
41
+ * <!-- External link -->
42
+ * <SkBreadcrumbItem href="https://docs.example.com">Docs</SkBreadcrumbItem>
43
+ *
44
+ * <!-- Current page (non-interactive) -->
45
+ * <SkBreadcrumbItem current>Settings</SkBreadcrumbItem>
46
+ *
47
+ * <!-- With icon -->
48
+ * <SkBreadcrumbItem to="/">
49
+ * <template #icon><HomeIcon /></template>
50
+ * Home
51
+ * </SkBreadcrumbItem>
52
+ * ```
53
+ *
54
+ * @slot default - The breadcrumb label text or custom content.
55
+ * @slot icon - Optional icon displayed before the label. Useful for home icons or category indicators.
56
+ */
57
+
26
58
  import { computed, inject } from 'vue';
27
59
  import { RouterLink } from 'vue-router';
28
60
 
@@ -31,7 +63,37 @@
31
63
 
32
64
  //------------------------------------------------------------------------------------------------------------------
33
65
 
34
- export type SkBreadcrumbItemComponentProps = SkBreadcrumbItemProps;
66
+ export interface SkBreadcrumbItemComponentProps
67
+ {
68
+ /**
69
+ * Vue Router destination for client-side navigation. When provided, the item renders as a
70
+ * `RouterLink` component. Accepts any valid `RouteLocationRaw` value including path strings,
71
+ * named routes, and route objects with params.
72
+ */
73
+ to ?: SkBreadcrumbItemProps['to'];
74
+
75
+ /**
76
+ * URL for standard anchor link navigation. When provided (and `to` is not set), the item
77
+ * renders as an `<a>` element. Use this for external links or non-Vue-Router navigation.
78
+ */
79
+ href ?: string;
80
+
81
+ /**
82
+ * When true, marks this item as the current page in the breadcrumb trail. The item renders
83
+ * as a non-interactive `<span>` and receives `aria-current="page"` for accessibility.
84
+ * Typically used on the last item in the breadcrumb list.
85
+ * @default false
86
+ */
87
+ current ?: boolean;
88
+
89
+ /**
90
+ * When true, the item is disabled and cannot be interacted with. The item renders as a
91
+ * non-interactive `<span>` with reduced opacity. Use for items that represent inaccessible
92
+ * or locked sections of the application.
93
+ * @default false
94
+ */
95
+ disabled ?: boolean;
96
+ }
35
97
 
36
98
  //------------------------------------------------------------------------------------------------------------------
37
99
 
@@ -1,3 +1,7 @@
1
+ <!----------------------------------------------------------------------------------------------------------------------
2
+ - Breadcrumb Separator Component
3
+ --------------------------------------------------------------------------------------------------------------------->
4
+
1
5
  <template>
2
6
  <span class="sk-breadcrumb-separator" aria-hidden="true">
3
7
  {{ displaySeparator }}
@@ -13,14 +17,39 @@
13
17
  <!--------------------------------------------------------------------------------------------------------------------->
14
18
 
15
19
  <script setup lang="ts">
20
+ /**
21
+ * @component SkBreadcrumbSeparator
22
+ * @description A visual separator displayed between breadcrumb items. Typically used internally by
23
+ * `SkBreadcrumbs`, but can be used directly when you need custom separator patterns or want to
24
+ * place separators manually. The separator is hidden from screen readers via `aria-hidden`.
25
+ *
26
+ * @example
27
+ * ```vue
28
+ * <!-- Manual separator usage -->
29
+ * <SkBreadcrumbItem to="/">Home</SkBreadcrumbItem>
30
+ * <SkBreadcrumbSeparator separator=">" />
31
+ * <SkBreadcrumbItem current>Settings</SkBreadcrumbItem>
32
+ * ```
33
+ */
34
+
16
35
  import { computed, inject } from 'vue';
17
36
 
18
- // Types
19
- import type { SkBreadcrumbSeparatorProps } from './types';
37
+ //------------------------------------------------------------------------------------------------------------------
38
+
39
+ export interface SkBreadcrumbSeparatorComponentProps
40
+ {
41
+ /**
42
+ * Custom separator character or string to display. When not provided, inherits the separator
43
+ * from the parent `SkBreadcrumbs` component. Use this to override specific separators while
44
+ * keeping others consistent with the parent setting.
45
+ * @default '/' (inherited from parent)
46
+ */
47
+ separator ?: string;
48
+ }
20
49
 
21
50
  //------------------------------------------------------------------------------------------------------------------
22
51
 
23
- const props = withDefaults(defineProps<SkBreadcrumbSeparatorProps>(), {
52
+ const props = withDefaults(defineProps<SkBreadcrumbSeparatorComponentProps>(), {
24
53
  separator: undefined,
25
54
  });
26
55