@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
@@ -1,3 +1,7 @@
1
+ <!----------------------------------------------------------------------------------------------------------------------
2
+ - Breadcrumbs Component
3
+ --------------------------------------------------------------------------------------------------------------------->
4
+
1
5
  <template>
2
6
  <nav :class="classes" :style="customColorStyles" aria-label="Breadcrumb">
3
7
  <ol class="sk-breadcrumbs-list">
@@ -18,6 +22,24 @@
18
22
  <!--------------------------------------------------------------------------------------------------------------------->
19
23
 
20
24
  <script setup lang="ts">
25
+ /**
26
+ * @component SkBreadcrumbs
27
+ * @description A navigation component that displays a hierarchical trail of links showing the user's current
28
+ * location within an application. Automatically inserts separators between breadcrumb items and provides
29
+ * ARIA-compliant navigation landmarks for screen readers.
30
+ *
31
+ * @example
32
+ * ```vue
33
+ * <SkBreadcrumbs kind="primary">
34
+ * <SkBreadcrumbItem to="/">Home</SkBreadcrumbItem>
35
+ * <SkBreadcrumbItem to="/products">Products</SkBreadcrumbItem>
36
+ * <SkBreadcrumbItem current>Widget Pro</SkBreadcrumbItem>
37
+ * </SkBreadcrumbs>
38
+ * ```
39
+ *
40
+ * @slot default - Contains `SkBreadcrumbItem` components representing each level in the navigation hierarchy.
41
+ */
42
+
21
43
  import { type Slots, type VNode, computed, provide, toRef, useSlots } from 'vue';
22
44
 
23
45
  // Types
@@ -28,6 +50,20 @@
28
50
 
29
51
  export interface SkBreadcrumbsComponentProps extends SkBreadcrumbsProps, ComponentCustomColors
30
52
  {
53
+ /**
54
+ * Semantic color kind that controls the appearance of breadcrumb links. The kind affects link colors
55
+ * for normal, hover, and active states. All child `SkBreadcrumbItem` components inherit this kind.
56
+ * @default 'neutral'
57
+ */
58
+ kind ?: SkBreadcrumbsProps['kind'];
59
+
60
+ /**
61
+ * Character or string displayed between breadcrumb items. Common separators include '/', '>', and
62
+ * unicode characters like '\u203A' (single right-pointing angle quotation mark). Can be overridden
63
+ * on individual `SkBreadcrumbSeparator` components for custom patterns.
64
+ * @default '/'
65
+ */
66
+ separator ?: string;
31
67
  }
32
68
 
33
69
  //------------------------------------------------------------------------------------------------------------------
@@ -43,41 +43,107 @@
43
43
 
44
44
  <script setup lang="ts">
45
45
  /**
46
- * @component
47
- * A versatile button component with multiple variants, sizes, and states.
48
- * Supports rendering as button, link (a), or router-link.
46
+ * @component SkButton
47
+ * @description A versatile button component supporting multiple visual variants, sizes, and interactive states.
48
+ * Automatically renders as a `<button>`, `<a>`, or `<router-link>` based on the props provided. Use for
49
+ * primary actions, navigation, form submissions, and toggleable controls with full keyboard accessibility.
50
+ *
51
+ * @example
52
+ * ```vue
53
+ * <SkButton kind="primary" @click="save">Save Changes</SkButton>
54
+ * <SkButton variant="outline" href="/docs">Documentation</SkButton>
55
+ * <SkButton :loading="isSaving" kind="accent">Submit</SkButton>
56
+ * ```
57
+ *
58
+ * @slot default - Button label text or content. Supports text, icons, or any inline elements.
59
+ * @slot leading - Icon or element displayed before the button text. Ideal for action icons.
60
+ * @slot trailing - Icon or element displayed after the button text. Useful for arrows or indicators.
61
+ * @slot icon - Icon for icon-only buttons. When used without the default slot, creates a square icon button.
49
62
  */
50
63
 
51
64
  import { type Slots, computed, toRef, useSlots } from 'vue';
52
- import type { SkButtonKind, SkButtonSize, SkButtonType, SkButtonVariant } from './types';
65
+
66
+ // Types
53
67
  import type { ComponentCustomColors } from '@/types';
68
+ import type { SkButtonKind, SkButtonSize, SkButtonType, SkButtonVariant } from './types';
69
+
70
+ // Composables
54
71
  import { useCustomColors } from '@/composables/useCustomColors';
55
72
 
56
73
  //------------------------------------------------------------------------------------------------------------------
57
74
 
58
- /**
59
- * A versatile button component with multiple variants, sizes, and states.
60
- * Supports rendering as button, link (a), or router-link.
61
- */
62
75
  export interface SkButtonComponentProps extends ComponentCustomColors
63
76
  {
64
- /** HTML button type attribute */
77
+ /**
78
+ * The HTML `type` attribute for the button element. Only applies when rendering as a `<button>`
79
+ * (i.e., when neither `href` nor `to` props are provided). Use 'submit' for form submission
80
+ * buttons and 'reset' for form reset buttons.
81
+ * @default 'button'
82
+ */
65
83
  type ?: SkButtonType;
66
- /** Semantic color kind */
84
+
85
+ /**
86
+ * Semantic color kind that controls the button's color scheme. Semantic kinds (neutral, primary,
87
+ * accent, etc.) adapt to your theme colors, while color kinds (neon-blue, neon-purple, etc.)
88
+ * provide fixed branding colors that remain consistent across themes.
89
+ * @default 'neutral'
90
+ */
67
91
  kind ?: SkButtonKind;
68
- /** Visual variant style */
92
+
93
+ /**
94
+ * Visual variant that determines the button's styling approach. 'solid' provides a filled
95
+ * background, 'outline' shows a bordered button with transparent background, and 'ghost'
96
+ * renders a minimal button with no background or border until hovered.
97
+ * @default 'solid'
98
+ */
69
99
  variant ?: SkButtonVariant;
70
- /** Button size */
100
+
101
+ /**
102
+ * Button size controlling padding, font size, and overall dimensions. Available sizes:
103
+ * 'sm' (small, compact), 'md' (medium, default), 'lg' (large), 'xl' (extra large).
104
+ * Icon-only buttons automatically adjust to square proportions at each size.
105
+ * @default 'md'
106
+ */
71
107
  size ?: SkButtonSize;
72
- /** Disabled state */
108
+
109
+ /**
110
+ * When true, disables the button preventing all user interaction. The button appears with
111
+ * reduced opacity and the cursor changes to not-allowed. Also disables any navigation
112
+ * for link-style buttons.
113
+ * @default false
114
+ */
73
115
  disabled ?: boolean;
74
- /** Loading state with spinner */
116
+
117
+ /**
118
+ * When true, displays a loading spinner and disables the button. The button content remains
119
+ * visible but dimmed while the spinner overlays it. Use this to indicate async operations
120
+ * like form submissions or data fetching.
121
+ * @default false
122
+ */
75
123
  loading ?: boolean;
76
- /** Toggle pressed state */
124
+
125
+ /**
126
+ * Toggle state for buttons used as toggle controls. When true, applies the pressed visual
127
+ * state and sets `aria-pressed="true"` for accessibility. Use with `@click` to toggle
128
+ * the value for toolbar buttons or toggle switches.
129
+ * @default false
130
+ */
77
131
  pressed ?: boolean;
78
- /** Href for anchor tag rendering */
132
+
133
+ /**
134
+ * URL for the button to navigate to. When provided, the button renders as an `<a>` element
135
+ * instead of a `<button>`. Use for external links or simple navigation that doesn't require
136
+ * Vue Router.
137
+ * @default undefined
138
+ */
79
139
  href ?: string;
80
- /** Route for router-link rendering */
140
+
141
+ /**
142
+ * Vue Router route for the button to navigate to. When provided, the button renders as a
143
+ * `<router-link>` component. Accepts either a string path or a route location object with
144
+ * name, params, and query properties.
145
+ * @default undefined
146
+ */
81
147
  to ?: string | Record<string, any>;
82
148
  }
83
149
 
@@ -34,40 +34,107 @@
34
34
 
35
35
  <script setup lang="ts">
36
36
  /**
37
- * @component
38
- * A structured card component with optional header, media, content, and footer sections.
39
- * Built on top of SkPanel with additional styling and layout features.
37
+ * @component SkCard
38
+ * @description A structured card component with distinct header, media, content, and footer sections. Built on top
39
+ * of SkPanel, cards are ideal for displaying grouped information like product listings, user profiles, or article
40
+ * previews. Supports scrollable content areas for fixed-height layouts.
41
+ *
42
+ * @example
43
+ * ```vue
44
+ * <SkCard title="Product Details" kind="primary">
45
+ * <template #media>
46
+ * <img src="/product.jpg" alt="Product" />
47
+ * </template>
48
+ * <p>Product description goes here.</p>
49
+ * <template #footer>
50
+ * <SkButton>Add to Cart</SkButton>
51
+ * </template>
52
+ * </SkCard>
53
+ * ```
54
+ *
55
+ * @slot default - The main content area of the card. Displays below the header and media sections.
56
+ * @slot header - Custom header content. Renders alongside or instead of the `title` prop. Use for action buttons,
57
+ * badges, or complex header layouts.
58
+ * @slot media - Media content area (images, videos, etc.) that spans the full width without padding. Displays
59
+ * between the header and content sections.
60
+ * @slot footer - Footer content area for actions, links, or metadata. Displays at the bottom of the card with
61
+ * appropriate spacing.
40
62
  */
41
63
 
42
64
  import { computed } from 'vue';
43
- import SkPanel from '../Panel/SkPanel.vue';
65
+
66
+ // Types
67
+ import type { ComponentCustomColors } from '@/types';
44
68
  import type { SkCardKind } from './types';
45
69
  import type { SkPanelSize } from '../Panel/types';
46
- import type { ComponentCustomColors } from '@/types';
70
+
71
+ // Components
72
+ import SkPanel from '../Panel/SkPanel.vue';
47
73
 
48
74
  //------------------------------------------------------------------------------------------------------------------
49
75
 
50
- /**
51
- * A structured card component with optional header, media, content, and footer sections.
52
- * Built on top of SkPanel with additional styling and layout features.
53
- */
54
76
  export interface SkCardComponentProps extends ComponentCustomColors
55
77
  {
56
- /** Semantic color kind for the card */
78
+ /**
79
+ * Semantic color kind that controls the card's border color and decorative accent stripe.
80
+ * Semantic kinds (neutral, primary, accent, etc.) automatically adapt to your current theme,
81
+ * while color kinds (neon-blue, neon-purple, etc.) provide fixed branding colors.
82
+ * @default 'neutral'
83
+ */
57
84
  kind ?: SkCardKind;
58
- /** Size of the card affecting padding and spacing */
85
+
86
+ /**
87
+ * Controls the internal padding of the card's content areas. Larger sizes provide more
88
+ * breathing room, while smaller sizes create compact layouts. The header, content, and
89
+ * footer sections all respect this sizing. Available: 'sm', 'md', 'lg', 'xl'.
90
+ * @default 'md'
91
+ */
59
92
  size ?: SkPanelSize;
60
- /** Whether to show the decorative accent border (when not explicitly disabled by noDecoration) */
93
+
94
+ /**
95
+ * When true, displays a colored accent stripe along the top edge of the card.
96
+ * Can be explicitly set to override the default behavior. Takes precedence over
97
+ * `noDecoration` when explicitly set to true.
98
+ * @default undefined (defaults to true unless noDecoration is set)
99
+ */
61
100
  showDecoration ?: boolean;
62
- /** Explicitly disable the decorative accent border */
101
+
102
+ /**
103
+ * When true, explicitly disables the decorative accent stripe. Use this for cleaner
104
+ * card appearances where the color accent is not needed. This is overridden if
105
+ * `showDecoration` is explicitly set to true.
106
+ * @default false
107
+ */
63
108
  noDecoration ?: boolean;
64
- /** Whether to hide the card border entirely */
109
+
110
+ /**
111
+ * When true, removes the border entirely from the card. Useful for flat card designs
112
+ * or when cards are displayed on contrasting backgrounds. Note: This automatically
113
+ * disables the decoration stripe since it's part of the border styling.
114
+ * @default false
115
+ */
65
116
  noBorder ?: boolean;
66
- /** Optional title text displayed in the header section */
117
+
118
+ /**
119
+ * Title text displayed prominently in the card header section. The title is rendered
120
+ * as an h3 element for proper document semantics. For more complex headers, use the
121
+ * `header` slot instead of or alongside this prop.
122
+ */
67
123
  title ?: string;
68
- /** Custom background color for the card header */
124
+
125
+ /**
126
+ * Custom CSS background color for the header section only. Accepts any valid CSS color
127
+ * value (hex, rgb, oklch, etc.). Use this to create visual distinction between the
128
+ * header and content areas, or to match brand colors.
129
+ */
69
130
  headerColor ?: string;
70
- /** Makes the content area scrollable (card needs a constrained height) */
131
+
132
+ /**
133
+ * When true, makes the content area scrollable with a fixed maximum height. The card
134
+ * itself must have a constrained height (via CSS or parent container) for scrolling
135
+ * to take effect. Header and footer remain fixed while content scrolls.
136
+ * @default false
137
+ */
71
138
  scrollable ?: boolean;
72
139
  }
73
140
 
@@ -58,9 +58,17 @@
58
58
 
59
59
  <script setup lang="ts">
60
60
  /**
61
- * @component
62
- * A checkbox component for boolean or indeterminate states powered by RekaUI.
63
- * Supports semantic color kinds and flexible sizing.
61
+ * @component SkCheckbox
62
+ * @description A checkbox input component supporting boolean and indeterminate states. Built on RekaUI's
63
+ * Checkbox primitive with beveled corner styling and full keyboard accessibility. Use with `v-model` for
64
+ * two-way binding of the checked state.
65
+ *
66
+ * @example
67
+ * ```vue
68
+ * <SkCheckbox v-model="accepted" label="Accept terms" kind="primary" />
69
+ * ```
70
+ *
71
+ * @slot default - Custom label content. Overrides the `label` prop when provided.
64
72
  */
65
73
 
66
74
  import { computed, toRef } from 'vue';
@@ -75,22 +83,47 @@
75
83
 
76
84
  //------------------------------------------------------------------------------------------------------------------
77
85
 
78
- /**
79
- * A checkbox component for boolean or indeterminate states powered by RekaUI.
80
- */
81
86
  export interface SkCheckboxComponentProps extends ComponentCustomColors
82
87
  {
83
- /** Semantic color kind */
88
+ /**
89
+ * Semantic color kind that controls the checkbox appearance when checked. Semantic kinds
90
+ * (neutral, primary, accent, etc.) adapt to your theme, while color kinds (neon-blue,
91
+ * neon-purple, etc.) provide fixed branding colors.
92
+ * @default 'neutral'
93
+ */
84
94
  kind ?: SkCheckboxKind;
85
- /** Checkbox size */
95
+
96
+ /**
97
+ * Checkbox size. Controls both the checkbox box dimensions and the label text size.
98
+ * Available sizes: 'sm' (small), 'md' (medium), 'lg' (large), 'xl' (extra large).
99
+ * @default 'md'
100
+ */
86
101
  size ?: SkCheckboxSize;
87
- /** Disabled state */
102
+
103
+ /**
104
+ * When true, the checkbox is disabled and cannot be interacted with. The checkbox
105
+ * appears with reduced opacity and the cursor changes to not-allowed.
106
+ * @default false
107
+ */
88
108
  disabled ?: boolean;
89
- /** Required for form validation */
109
+
110
+ /**
111
+ * When true, marks the checkbox as required for form validation. This does not
112
+ * add visual indication—use a SkField wrapper for required field styling.
113
+ * @default false
114
+ */
90
115
  required ?: boolean;
91
- /** Form field name */
116
+
117
+ /**
118
+ * The form field name used when submitting the checkbox value in a form.
119
+ * Required for native form submission.
120
+ */
92
121
  name ?: string;
93
- /** Label text (can be overridden by default slot) */
122
+
123
+ /**
124
+ * Label text displayed next to the checkbox. Can be overridden by the default slot
125
+ * for custom label content (icons, formatted text, etc.).
126
+ */
94
127
  label ?: string;
95
128
  }
96
129
 
@@ -107,6 +140,13 @@
107
140
 
108
141
  //------------------------------------------------------------------------------------------------------------------
109
142
 
143
+ /**
144
+ * The checkbox state. Use with `v-model` for two-way binding.
145
+ * - `true` — checked (displays checkmark)
146
+ * - `false` — unchecked (empty box)
147
+ * - `'indeterminate'` — indeterminate state (displays horizontal line)
148
+ * @default false
149
+ */
110
150
  const checked = defineModel<boolean | 'indeterminate'>({ default: false });
111
151
 
112
152
  //------------------------------------------------------------------------------------------------------------------
@@ -54,8 +54,36 @@
54
54
 
55
55
  <script setup lang="ts">
56
56
  /**
57
- * @component
58
- * Collapsible component for showing/hiding content with smooth animations.
57
+ * @component SkCollapsible
58
+ * @description An expandable/collapsible container that reveals or hides content with smooth height animations.
59
+ * Built on RekaUI's Collapsible primitive for robust accessibility and keyboard support. Use for FAQ sections,
60
+ * expandable details, or any content that should be hidden by default to reduce visual clutter.
61
+ *
62
+ * @example
63
+ * ```vue
64
+ * <SkCollapsible v-model:open="showDetails" trigger-text="Show Details" kind="primary">
65
+ * <p>This content is hidden until the user clicks the trigger.</p>
66
+ * </SkCollapsible>
67
+ * ```
68
+ *
69
+ * @example Custom trigger with slot
70
+ * ```vue
71
+ * <SkCollapsible v-model:open="isExpanded">
72
+ * <template #trigger="{ open }">
73
+ * <SkButton variant="outline">
74
+ * {{ open ? 'Hide' : 'Show' }} Advanced Options
75
+ * </SkButton>
76
+ * </template>
77
+ * <div class="options-panel">
78
+ * <!-- Advanced options content -->
79
+ * </div>
80
+ * </SkCollapsible>
81
+ * ```
82
+ *
83
+ * @slot default - The collapsible content that is shown/hidden. This content animates smoothly when the
84
+ * collapsed state changes.
85
+ * @slot trigger - Custom trigger element. Receives `{ open: boolean }` slot props to allow the trigger to
86
+ * reflect the current state. When not provided, a default SkButton with chevron icon is rendered.
59
87
  */
60
88
 
61
89
  import { computed, toRef } from 'vue';
@@ -77,37 +105,47 @@
77
105
 
78
106
  //------------------------------------------------------------------------------------------------------------------
79
107
 
80
- /**
81
- * Collapsible component for showing/hiding content with smooth animations.
82
- *
83
- * @example Basic usage
84
- * ```vue
85
- * <SkCollapsible v-model:open="isOpen" trigger-text="Show more">
86
- * <p>Hidden content here</p>
87
- * </SkCollapsible>
88
- * ```
89
- *
90
- * @example Custom trigger
91
- * ```vue
92
- * <SkCollapsible v-model:open="isOpen">
93
- * <template #trigger="{ open }">
94
- * <SkButton>{{ open ? 'Hide' : 'Show' }} Details</SkButton>
95
- * </template>
96
- * <p>Collapsible content here</p>
97
- * </SkCollapsible>
98
- * ```
99
- */
100
108
  export interface SkCollapsibleComponentProps extends ComponentCustomColors
101
109
  {
102
- /** Controlled state (v-model:open) */
110
+ /**
111
+ * Controls the expanded/collapsed state of the component. Use with `v-model:open` for
112
+ * two-way binding. When true, the content is visible; when false, it's hidden. If not
113
+ * provided, the component manages its own state internally starting with `defaultOpen`.
114
+ * @default undefined (uncontrolled mode)
115
+ */
103
116
  open ?: boolean;
104
- /** Initial uncontrolled state */
117
+
118
+ /**
119
+ * The initial expanded state when the component is first rendered in uncontrolled mode.
120
+ * Only applies when the `open` prop is not provided. After initial render, the component
121
+ * manages its own state.
122
+ * @default false
123
+ */
105
124
  defaultOpen ?: boolean;
106
- /** Disable interaction */
125
+
126
+ /**
127
+ * When true, disables the trigger and prevents state changes. The current expanded/collapsed
128
+ * state is preserved but cannot be changed by user interaction. The trigger element appears
129
+ * with reduced opacity and cursor changes to not-allowed.
130
+ * @default false
131
+ */
107
132
  disabled ?: boolean;
108
- /** Semantic color kind */
133
+
134
+ /**
135
+ * Semantic color kind that controls the default trigger button appearance. Semantic kinds
136
+ * (neutral, primary, accent, etc.) adapt to your theme, while color kinds provide fixed
137
+ * branding colors. Only applies when using the default trigger; ignored when using the
138
+ * trigger slot.
139
+ * @default 'neutral'
140
+ */
109
141
  kind ?: SkCollapsibleKind;
110
- /** Text for default trigger */
142
+
143
+ /**
144
+ * Label text for the default trigger button. Displayed alongside the animated chevron
145
+ * icon. Only applies when the trigger slot is not provided. For more control over the
146
+ * trigger appearance, use the trigger slot instead.
147
+ * @default 'Toggle'
148
+ */
111
149
  triggerText ?: string;
112
150
  }
113
151
 
@@ -10,30 +10,70 @@
10
10
 
11
11
  <script setup lang="ts">
12
12
  /**
13
- * @component
14
- * A visual separator component for dividing content.
15
- * Supports horizontal and vertical orientations with subtle or default styling.
13
+ * @component SkDivider
14
+ * @description A visual separator component used to divide content into distinct sections. Renders as a semantic
15
+ * `<hr>` element with proper ARIA attributes for accessibility. Use horizontal dividers to separate stacked
16
+ * content, or vertical dividers to separate inline elements like toolbar buttons.
17
+ *
18
+ * @example
19
+ * ```vue
20
+ * <div>
21
+ * <p>First section content</p>
22
+ * <SkDivider kind="primary" />
23
+ * <p>Second section content</p>
24
+ * </div>
25
+ * ```
26
+ *
27
+ * @example Vertical divider in a toolbar
28
+ * ```vue
29
+ * <SkGroup orientation="horizontal">
30
+ * <SkButton>Edit</SkButton>
31
+ * <SkDivider orientation="vertical" variant="subtle" />
32
+ * <SkButton>Delete</SkButton>
33
+ * </SkGroup>
34
+ * ```
16
35
  */
17
36
 
18
37
  import { computed } from 'vue';
38
+
39
+ // Types
19
40
  import type { ComponentKind, ComponentSize } from '@/types';
20
41
  import type { SkDividerOrientation, SkDividerVariant } from './types';
21
42
 
22
43
  //------------------------------------------------------------------------------------------------------------------
23
44
 
24
- /**
25
- * A visual separator component for dividing content.
26
- * Supports horizontal and vertical orientations with subtle or default styling.
27
- */
28
45
  export interface SkDividerComponentProps
29
46
  {
30
- /** Orientation of the divider line (horizontal or vertical) */
47
+ /**
48
+ * Controls the direction of the divider line. Use 'horizontal' for separating
49
+ * vertically stacked content (the divider spans width), or 'vertical' for
50
+ * separating horizontally arranged elements (the divider spans height).
51
+ * @default 'horizontal'
52
+ */
31
53
  orientation ?: SkDividerOrientation;
32
- /** Semantic color kind for the divider */
54
+
55
+ /**
56
+ * Semantic color kind that controls the divider's line color. Semantic kinds
57
+ * (neutral, primary, accent, etc.) adapt to your theme. Use colored dividers
58
+ * sparingly to draw attention to important content boundaries.
59
+ * @default 'neutral'
60
+ */
33
61
  kind ?: ComponentKind;
34
- /** Visual variant (subtle for lighter appearance) */
62
+
63
+ /**
64
+ * Visual intensity variant for the divider. The default variant provides a
65
+ * clearly visible line, while 'subtle' reduces opacity for a softer, less
66
+ * prominent separation that doesn't compete with content for attention.
67
+ * @default undefined (uses default styling)
68
+ */
35
69
  variant ?: SkDividerVariant;
36
- /** Size of the divider (controls thickness and spacing) */
70
+
71
+ /**
72
+ * Controls the thickness of the divider line and the spacing (margin) around it.
73
+ * Larger sizes create bolder visual breaks between content sections, while smaller
74
+ * sizes provide minimal separation. Available: 'sm', 'md', 'lg', 'xl'.
75
+ * @default 'md'
76
+ */
37
77
  size ?: ComponentSize;
38
78
  }
39
79