@colorffy/ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/README.md +634 -0
  2. package/dist/components/layout/HeaderContent.vue.d.ts +71 -0
  3. package/dist/components/layout/HeaderContent.vue.d.ts.map +1 -0
  4. package/dist/components/layout/PaneContent.vue.d.ts +42 -0
  5. package/dist/components/layout/PaneContent.vue.d.ts.map +1 -0
  6. package/dist/components/state/BaseSkeleton.vue.d.ts +30 -0
  7. package/dist/components/state/BaseSkeleton.vue.d.ts.map +1 -0
  8. package/dist/components/state/Empty.vue.d.ts +37 -0
  9. package/dist/components/state/Empty.vue.d.ts.map +1 -0
  10. package/dist/components/state/ExpressiveLoading.vue.d.ts +24 -0
  11. package/dist/components/state/ExpressiveLoading.vue.d.ts.map +1 -0
  12. package/dist/components/state/GridSkeleton.vue.d.ts +21 -0
  13. package/dist/components/state/GridSkeleton.vue.d.ts.map +1 -0
  14. package/dist/components/state/Loading.vue.d.ts +26 -0
  15. package/dist/components/state/Loading.vue.d.ts.map +1 -0
  16. package/dist/components/state/ShapeLoading.vue.d.ts +22 -0
  17. package/dist/components/state/ShapeLoading.vue.d.ts.map +1 -0
  18. package/dist/components/state/TableSkeleton.vue.d.ts +26 -0
  19. package/dist/components/state/TableSkeleton.vue.d.ts.map +1 -0
  20. package/dist/components/ui/accordion/Accordion.stories.d.ts +86 -0
  21. package/dist/components/ui/accordion/Accordion.stories.d.ts.map +1 -0
  22. package/dist/components/ui/accordion/Accordion.vue.d.ts +37 -0
  23. package/dist/components/ui/accordion/Accordion.vue.d.ts.map +1 -0
  24. package/dist/components/ui/accordion/AccordionGroup.vue.d.ts +22 -0
  25. package/dist/components/ui/accordion/AccordionGroup.vue.d.ts.map +1 -0
  26. package/dist/components/ui/alert/Alert.stories.d.ts +70 -0
  27. package/dist/components/ui/alert/Alert.stories.d.ts.map +1 -0
  28. package/dist/components/ui/alert/Alert.vue.d.ts +26 -0
  29. package/dist/components/ui/alert/Alert.vue.d.ts.map +1 -0
  30. package/dist/components/ui/alert/AlertToast.vue.d.ts +21 -0
  31. package/dist/components/ui/alert/AlertToast.vue.d.ts.map +1 -0
  32. package/dist/components/ui/badge/Badge.stories.d.ts +45 -0
  33. package/dist/components/ui/badge/Badge.stories.d.ts.map +1 -0
  34. package/dist/components/ui/badge/Badge.vue.d.ts +13 -0
  35. package/dist/components/ui/badge/Badge.vue.d.ts.map +1 -0
  36. package/dist/components/ui/badge/BadgeGroup.vue.d.ts +18 -0
  37. package/dist/components/ui/badge/BadgeGroup.vue.d.ts.map +1 -0
  38. package/dist/components/ui/button/Button.stories.d.ts +110 -0
  39. package/dist/components/ui/button/Button.stories.d.ts.map +1 -0
  40. package/dist/components/ui/button/Button.vue.d.ts +37 -0
  41. package/dist/components/ui/button/Button.vue.d.ts.map +1 -0
  42. package/dist/components/ui/button/ButtonFabGroup.vue.d.ts +23 -0
  43. package/dist/components/ui/button/ButtonFabGroup.vue.d.ts.map +1 -0
  44. package/dist/components/ui/button/ButtonGroup.vue.d.ts +24 -0
  45. package/dist/components/ui/button/ButtonGroup.vue.d.ts.map +1 -0
  46. package/dist/components/ui/button/ButtonMenu.vue.d.ts +46 -0
  47. package/dist/components/ui/button/ButtonMenu.vue.d.ts.map +1 -0
  48. package/dist/components/ui/button/ButtonMenuDivider.vue.d.ts +3 -0
  49. package/dist/components/ui/button/ButtonMenuDivider.vue.d.ts.map +1 -0
  50. package/dist/components/ui/button/ButtonMenuItem.vue.d.ts +26 -0
  51. package/dist/components/ui/button/ButtonMenuItem.vue.d.ts.map +1 -0
  52. package/dist/components/ui/button/ButtonMenuText.vue.d.ts +9 -0
  53. package/dist/components/ui/button/ButtonMenuText.vue.d.ts.map +1 -0
  54. package/dist/components/ui/button/ButtonToggleGroup.vue.d.ts +30 -0
  55. package/dist/components/ui/button/ButtonToggleGroup.vue.d.ts.map +1 -0
  56. package/dist/components/ui/button/ButtonTooltip.vue.d.ts +42 -0
  57. package/dist/components/ui/button/ButtonTooltip.vue.d.ts.map +1 -0
  58. package/dist/components/ui/card/Card.stories.d.ts +57 -0
  59. package/dist/components/ui/card/Card.stories.d.ts.map +1 -0
  60. package/dist/components/ui/card/Card.vue.d.ts +28 -0
  61. package/dist/components/ui/card/Card.vue.d.ts.map +1 -0
  62. package/dist/components/ui/datatable/Datatable.stories.d.ts +13 -0
  63. package/dist/components/ui/datatable/Datatable.stories.d.ts.map +1 -0
  64. package/dist/components/ui/datatable/Datatable.vue.d.ts +48 -0
  65. package/dist/components/ui/datatable/Datatable.vue.d.ts.map +1 -0
  66. package/dist/components/ui/dialog/ConfirmModal.vue.d.ts +49 -0
  67. package/dist/components/ui/dialog/ConfirmModal.vue.d.ts.map +1 -0
  68. package/dist/components/ui/dialog/Modal.stories.d.ts +79 -0
  69. package/dist/components/ui/dialog/Modal.stories.d.ts.map +1 -0
  70. package/dist/components/ui/dialog/Modal.vue.d.ts +41 -0
  71. package/dist/components/ui/dialog/Modal.vue.d.ts.map +1 -0
  72. package/dist/components/ui/icon/App.vue.d.ts +16 -0
  73. package/dist/components/ui/icon/App.vue.d.ts.map +1 -0
  74. package/dist/components/ui/icon/Material.stories.d.ts +36 -0
  75. package/dist/components/ui/icon/Material.stories.d.ts.map +1 -0
  76. package/dist/components/ui/icon/Material.vue.d.ts +7 -0
  77. package/dist/components/ui/icon/Material.vue.d.ts.map +1 -0
  78. package/dist/components/ui/icon/Shapes.vue.d.ts +10 -0
  79. package/dist/components/ui/icon/Shapes.vue.d.ts.map +1 -0
  80. package/dist/components/ui/icon/Tool.vue.d.ts +9 -0
  81. package/dist/components/ui/icon/Tool.vue.d.ts.map +1 -0
  82. package/dist/components/ui/image/Avatar.stories.d.ts +12 -0
  83. package/dist/components/ui/image/Avatar.stories.d.ts.map +1 -0
  84. package/dist/components/ui/image/Avatar.vue.d.ts +10 -0
  85. package/dist/components/ui/image/Avatar.vue.d.ts.map +1 -0
  86. package/dist/components/ui/input/Check.stories.d.ts +10 -0
  87. package/dist/components/ui/input/Check.stories.d.ts.map +1 -0
  88. package/dist/components/ui/input/Check.vue.d.ts +25 -0
  89. package/dist/components/ui/input/Check.vue.d.ts.map +1 -0
  90. package/dist/components/ui/input/ColorPicker.stories.d.ts +10 -0
  91. package/dist/components/ui/input/ColorPicker.stories.d.ts.map +1 -0
  92. package/dist/components/ui/input/ColorPicker.vue.d.ts +26 -0
  93. package/dist/components/ui/input/ColorPicker.vue.d.ts.map +1 -0
  94. package/dist/components/ui/input/File.vue.d.ts +30 -0
  95. package/dist/components/ui/input/File.vue.d.ts.map +1 -0
  96. package/dist/components/ui/input/PhoneNumber.vue.d.ts +40 -0
  97. package/dist/components/ui/input/PhoneNumber.vue.d.ts.map +1 -0
  98. package/dist/components/ui/input/Radio.vue.d.ts +28 -0
  99. package/dist/components/ui/input/Radio.vue.d.ts.map +1 -0
  100. package/dist/components/ui/input/Range.stories.d.ts +13 -0
  101. package/dist/components/ui/input/Range.stories.d.ts.map +1 -0
  102. package/dist/components/ui/input/Range.vue.d.ts +36 -0
  103. package/dist/components/ui/input/Range.vue.d.ts.map +1 -0
  104. package/dist/components/ui/input/Select.stories.d.ts +14 -0
  105. package/dist/components/ui/input/Select.stories.d.ts.map +1 -0
  106. package/dist/components/ui/input/Select.vue.d.ts +42 -0
  107. package/dist/components/ui/input/Select.vue.d.ts.map +1 -0
  108. package/dist/components/ui/input/Text.stories.d.ts +12 -0
  109. package/dist/components/ui/input/Text.stories.d.ts.map +1 -0
  110. package/dist/components/ui/input/Text.vue.d.ts +48 -0
  111. package/dist/components/ui/input/Text.vue.d.ts.map +1 -0
  112. package/dist/components/ui/input/TextArea.stories.d.ts +18 -0
  113. package/dist/components/ui/input/TextArea.stories.d.ts.map +1 -0
  114. package/dist/components/ui/input/Textarea.vue.d.ts +48 -0
  115. package/dist/components/ui/input/Textarea.vue.d.ts.map +1 -0
  116. package/dist/components/ui/link/LinkTooltip.vue.d.ts +40 -0
  117. package/dist/components/ui/link/LinkTooltip.vue.d.ts.map +1 -0
  118. package/dist/components/ui/list/List.stories.d.ts +62 -0
  119. package/dist/components/ui/list/List.stories.d.ts.map +1 -0
  120. package/dist/components/ui/list/ListGroup.vue.d.ts +24 -0
  121. package/dist/components/ui/list/ListGroup.vue.d.ts.map +1 -0
  122. package/dist/components/ui/list/ListItem.vue.d.ts +11 -0
  123. package/dist/components/ui/list/ListItem.vue.d.ts.map +1 -0
  124. package/dist/components/ui/navbar/Navbar.stories.d.ts +56 -0
  125. package/dist/components/ui/navbar/Navbar.stories.d.ts.map +1 -0
  126. package/dist/components/ui/navbar/Navbar.vue.d.ts +24 -0
  127. package/dist/components/ui/navbar/Navbar.vue.d.ts.map +1 -0
  128. package/dist/components/ui/navbar/NavbarAvatar.vue.d.ts +13 -0
  129. package/dist/components/ui/navbar/NavbarAvatar.vue.d.ts.map +1 -0
  130. package/dist/components/ui/navbar/NavbarBrand.vue.d.ts +29 -0
  131. package/dist/components/ui/navbar/NavbarBrand.vue.d.ts.map +1 -0
  132. package/dist/components/ui/navbar/NavbarCollapse.vue.d.ts +22 -0
  133. package/dist/components/ui/navbar/NavbarCollapse.vue.d.ts.map +1 -0
  134. package/dist/components/ui/navbar/NavbarItem.vue.d.ts +21 -0
  135. package/dist/components/ui/navbar/NavbarItem.vue.d.ts.map +1 -0
  136. package/dist/components/ui/navbar/NavbarLink.vue.d.ts +31 -0
  137. package/dist/components/ui/navbar/NavbarLink.vue.d.ts.map +1 -0
  138. package/dist/components/ui/navbar/NavbarMobileMenu.vue.d.ts +21 -0
  139. package/dist/components/ui/navbar/NavbarMobileMenu.vue.d.ts.map +1 -0
  140. package/dist/components/ui/navbar/NavbarNav.vue.d.ts +22 -0
  141. package/dist/components/ui/navbar/NavbarNav.vue.d.ts.map +1 -0
  142. package/dist/components/ui/navbar/NavbarTitle.vue.d.ts +23 -0
  143. package/dist/components/ui/navbar/NavbarTitle.vue.d.ts.map +1 -0
  144. package/dist/components/ui/navbar/NavbarToggle.vue.d.ts +13 -0
  145. package/dist/components/ui/navbar/NavbarToggle.vue.d.ts.map +1 -0
  146. package/dist/components/ui/navigation/NavigationBar.vue.d.ts +16 -0
  147. package/dist/components/ui/navigation/NavigationBar.vue.d.ts.map +1 -0
  148. package/dist/components/ui/navigation/PopoverMenu.vue.d.ts +50 -0
  149. package/dist/components/ui/navigation/PopoverMenu.vue.d.ts.map +1 -0
  150. package/dist/components/ui/navigation/SegmentedControls.vue.d.ts +16 -0
  151. package/dist/components/ui/navigation/SegmentedControls.vue.d.ts.map +1 -0
  152. package/dist/components/ui/navigation/Tabs.vue.d.ts +16 -0
  153. package/dist/components/ui/navigation/Tabs.vue.d.ts.map +1 -0
  154. package/dist/components/ui/sidebar/Sidebar.stories.d.ts +64 -0
  155. package/dist/components/ui/sidebar/Sidebar.stories.d.ts.map +1 -0
  156. package/dist/components/ui/sidebar/Sidebar.vue.d.ts +27 -0
  157. package/dist/components/ui/sidebar/Sidebar.vue.d.ts.map +1 -0
  158. package/dist/components/ui/sidebar/SidebarBody.vue.d.ts +22 -0
  159. package/dist/components/ui/sidebar/SidebarBody.vue.d.ts.map +1 -0
  160. package/dist/components/ui/sidebar/SidebarDropdown.vue.d.ts +25 -0
  161. package/dist/components/ui/sidebar/SidebarDropdown.vue.d.ts.map +1 -0
  162. package/dist/components/ui/sidebar/SidebarFooter.vue.d.ts +22 -0
  163. package/dist/components/ui/sidebar/SidebarFooter.vue.d.ts.map +1 -0
  164. package/dist/components/ui/sidebar/SidebarGroup.vue.d.ts +25 -0
  165. package/dist/components/ui/sidebar/SidebarGroup.vue.d.ts.map +1 -0
  166. package/dist/components/ui/sidebar/SidebarHeader.vue.d.ts +22 -0
  167. package/dist/components/ui/sidebar/SidebarHeader.vue.d.ts.map +1 -0
  168. package/dist/components/ui/sidebar/SidebarLink.vue.d.ts +47 -0
  169. package/dist/components/ui/sidebar/SidebarLink.vue.d.ts.map +1 -0
  170. package/dist/components/ui/sidebar/SidebarText.vue.d.ts +11 -0
  171. package/dist/components/ui/sidebar/SidebarText.vue.d.ts.map +1 -0
  172. package/dist/components-CPV7PsCp.cjs +10 -0
  173. package/dist/components-CPV7PsCp.cjs.map +1 -0
  174. package/dist/components-DUB9BBm_.js +4210 -0
  175. package/dist/components-DUB9BBm_.js.map +1 -0
  176. package/dist/components.d.ts +68 -0
  177. package/dist/components.d.ts.map +1 -0
  178. package/dist/composables/useDateUtils.d.ts +4 -0
  179. package/dist/composables/useDateUtils.d.ts.map +1 -0
  180. package/dist/composables/useTextUtils.d.ts +6 -0
  181. package/dist/composables/useTextUtils.d.ts.map +1 -0
  182. package/dist/composables/useToast.d.ts +14 -0
  183. package/dist/composables/useToast.d.ts.map +1 -0
  184. package/dist/index.cjs +2 -0
  185. package/dist/index.cjs.map +1 -0
  186. package/dist/index.d.ts +17 -0
  187. package/dist/index.d.ts.map +1 -0
  188. package/dist/index.js +102 -0
  189. package/dist/index.js.map +1 -0
  190. package/dist/nuxt.cjs +2 -0
  191. package/dist/nuxt.cjs.map +1 -0
  192. package/dist/nuxt.d.ts +1 -0
  193. package/dist/nuxt.js +21 -0
  194. package/dist/nuxt.js.map +1 -0
  195. package/dist/plugin.d.ts +4 -0
  196. package/dist/plugin.d.ts.map +1 -0
  197. package/dist/style.css +1 -0
  198. package/dist/types/accordion.d.ts +56 -0
  199. package/dist/types/accordion.d.ts.map +1 -0
  200. package/dist/types/alert.d.ts +46 -0
  201. package/dist/types/alert.d.ts.map +1 -0
  202. package/dist/types/avatar.d.ts +16 -0
  203. package/dist/types/avatar.d.ts.map +1 -0
  204. package/dist/types/badge.d.ts +47 -0
  205. package/dist/types/badge.d.ts.map +1 -0
  206. package/dist/types/button.d.ts +115 -0
  207. package/dist/types/button.d.ts.map +1 -0
  208. package/dist/types/card.d.ts +37 -0
  209. package/dist/types/card.d.ts.map +1 -0
  210. package/dist/types/dialog.d.ts +89 -0
  211. package/dist/types/dialog.d.ts.map +1 -0
  212. package/dist/types/icon.d.ts +142 -0
  213. package/dist/types/icon.d.ts.map +1 -0
  214. package/dist/types/list.d.ts +70 -0
  215. package/dist/types/list.d.ts.map +1 -0
  216. package/dist/types/navbar.d.ts +184 -0
  217. package/dist/types/navbar.d.ts.map +1 -0
  218. package/dist/types/sidebar.d.ts +146 -0
  219. package/dist/types/sidebar.d.ts.map +1 -0
  220. package/package.json +70 -0
@@ -0,0 +1,184 @@
1
+ export type NavbarClassName = string | string[] | Record<string, boolean>;
2
+ /**
3
+ * Interface props for the Navbar component.
4
+ */
5
+ export interface INavbarProps {
6
+ /**
7
+ * Enable sticky positioning with .nav-sticky wrapper.
8
+ * @default false
9
+ */
10
+ sticky?: boolean;
11
+ /**
12
+ * Use fluid container (.container-fluid vs .container).
13
+ * @default true
14
+ */
15
+ fluid?: boolean;
16
+ /**
17
+ * Optional custom CSS classes to apply to the navbar.
18
+ */
19
+ customClass?: NavbarClassName | null;
20
+ }
21
+ /**
22
+ * Interface props for the NavbarBrand component.
23
+ */
24
+ export interface INavbarBrandProps {
25
+ /**
26
+ * Brand text to display.
27
+ */
28
+ text?: string;
29
+ /**
30
+ * Link target (for NuxtLink/router-link).
31
+ */
32
+ to?: string | object;
33
+ /**
34
+ * Standard href for <a> tag.
35
+ */
36
+ href?: string;
37
+ /**
38
+ * Brand logo image URL.
39
+ */
40
+ logo?: string | null;
41
+ /**
42
+ * Initials to show in avatar (if no logo).
43
+ */
44
+ initials?: string | null;
45
+ /**
46
+ * Optional custom CSS classes.
47
+ */
48
+ customClass?: NavbarClassName | null;
49
+ }
50
+ /**
51
+ * Interface props for the NavbarTitle component.
52
+ */
53
+ export interface INavbarTitleProps {
54
+ /**
55
+ * Page title text to display.
56
+ */
57
+ title?: string;
58
+ /**
59
+ * Optional custom CSS classes.
60
+ */
61
+ customClass?: NavbarClassName | null;
62
+ }
63
+ /**
64
+ * Interface props for the NavbarToggle component.
65
+ */
66
+ export interface INavbarToggleProps {
67
+ /**
68
+ * Whether sidebar is collapsed.
69
+ * Controls icon display and tooltip text.
70
+ * @default false
71
+ */
72
+ collapsed?: boolean;
73
+ /**
74
+ * Tooltip text when sidebar is expanded.
75
+ * @default 'Collapse sidebar'
76
+ */
77
+ collapseText?: string;
78
+ /**
79
+ * Tooltip text when sidebar is collapsed.
80
+ * @default 'Expand sidebar'
81
+ */
82
+ expandText?: string;
83
+ /**
84
+ * Optional custom CSS classes.
85
+ */
86
+ customClass?: NavbarClassName | null;
87
+ }
88
+ /**
89
+ * Interface props for the NavbarAvatar component.
90
+ */
91
+ export interface INavbarAvatarProps {
92
+ /**
93
+ * Avatar image source URL.
94
+ */
95
+ src?: string | null;
96
+ /**
97
+ * Image alt text.
98
+ */
99
+ alt?: string;
100
+ /**
101
+ * Avatar size variant.
102
+ * - sm: Small avatar for mobile
103
+ * - navbar: Standard navbar avatar for desktop
104
+ * @default 'navbar'
105
+ */
106
+ size?: 'sm' | 'navbar';
107
+ /**
108
+ * Optional custom CSS classes.
109
+ */
110
+ customClass?: NavbarClassName | null;
111
+ }
112
+ /**
113
+ * Interface props for the NavbarMobileMenu component.
114
+ */
115
+ export interface INavbarMobileMenuProps {
116
+ /**
117
+ * Optional custom CSS classes.
118
+ */
119
+ customClass?: NavbarClassName | null;
120
+ }
121
+ /**
122
+ * Interface props for the NavbarCollapse component.
123
+ */
124
+ export interface INavbarCollapseProps {
125
+ /**
126
+ * Optional custom CSS classes.
127
+ */
128
+ customClass?: NavbarClassName | null;
129
+ }
130
+ /**
131
+ * Interface props for the NavbarNav component.
132
+ */
133
+ export interface INavbarNavProps {
134
+ /**
135
+ * Navigation position.
136
+ * - start: Align left (.nav-start)
137
+ * - end: Align right (.nav-end)
138
+ * @default 'start'
139
+ */
140
+ position?: 'start' | 'end';
141
+ /**
142
+ * Optional custom CSS classes.
143
+ */
144
+ customClass?: NavbarClassName | null;
145
+ }
146
+ /**
147
+ * Interface props for the NavbarItem component.
148
+ */
149
+ export interface INavbarItemProps {
150
+ /**
151
+ * Optional custom CSS classes.
152
+ */
153
+ customClass?: NavbarClassName | null;
154
+ }
155
+ /**
156
+ * Interface props for the NavbarLink component.
157
+ */
158
+ export interface INavbarLinkProps {
159
+ /**
160
+ * Link text content.
161
+ */
162
+ text?: string;
163
+ /**
164
+ * Link target (for router-link or NuxtLink).
165
+ */
166
+ to?: string | object;
167
+ /**
168
+ * Standard href for <a> tag.
169
+ */
170
+ href?: string;
171
+ /**
172
+ * Mark link as active.
173
+ */
174
+ active?: boolean;
175
+ /**
176
+ * Disable the link.
177
+ */
178
+ disabled?: boolean;
179
+ /**
180
+ * Optional custom CSS classes.
181
+ */
182
+ customClass?: NavbarClassName | null;
183
+ }
184
+ //# sourceMappingURL=navbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../src/types/navbar.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEzE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEnB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAA;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC"}
@@ -0,0 +1,146 @@
1
+ export type SidebarClassName = string | string[] | Record<string, boolean>;
2
+ /**
3
+ * Interface props for the Sidebar (NavigationDrawer) component.
4
+ */
5
+ export interface ISidebarProps {
6
+ /**
7
+ * Applies bordered variant (removes shadow, adds right border).
8
+ */
9
+ bordered?: boolean;
10
+ /**
11
+ * Rail mode - collapses sidebar to show only icons.
12
+ * Applies .drawer-closed class for compact view.
13
+ */
14
+ rail?: boolean;
15
+ /**
16
+ * Custom width of the sidebar.
17
+ * Sets --theme-nav-drawer-width CSS variable.
18
+ * When null/undefined, uses the default CSS variable value.
19
+ * @default null
20
+ */
21
+ width?: string | null;
22
+ /**
23
+ * Optional custom CSS classes to apply to the sidebar container.
24
+ */
25
+ customClass?: SidebarClassName | null;
26
+ }
27
+ /**
28
+ * Interface props for the SidebarLink component.
29
+ */
30
+ export interface ISidebarLinkProps {
31
+ /**
32
+ * Optional ID for the link element.
33
+ */
34
+ id?: string;
35
+ /**
36
+ * Link text content.
37
+ */
38
+ text?: string;
39
+ /**
40
+ * Tooltip text shown on hover.
41
+ */
42
+ tooltipText?: string;
43
+ /**
44
+ * Link href (standard <a> tag).
45
+ */
46
+ href?: string;
47
+ /**
48
+ * Link target (for router-link or NuxtLink).
49
+ * Can be string or route object.
50
+ */
51
+ to?: string | object;
52
+ /**
53
+ * Material icon code for the link icon.
54
+ * Optional - link can be text-only without an icon.
55
+ */
56
+ icon?: string | null;
57
+ /**
58
+ * Tooltip placement position.
59
+ * @default 'right'
60
+ */
61
+ tooltipPlacement?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
62
+ /**
63
+ * Marks link as active (applies .active class).
64
+ * Useful when not using router auto-detection.
65
+ */
66
+ active?: boolean;
67
+ /**
68
+ * Disables the link.
69
+ */
70
+ disabled?: boolean;
71
+ /**
72
+ * Marks as child/nested link (applies .drawer-item-child class with indentation).
73
+ */
74
+ child?: boolean;
75
+ /**
76
+ * Optional custom CSS classes to apply to the link.
77
+ */
78
+ customClass?: SidebarClassName | null;
79
+ /**
80
+ * ARIA labelledby attribute for accessibility.
81
+ */
82
+ ariaLabelledby?: string;
83
+ }
84
+ /**
85
+ * Interface props for the SidebarDropdown component.
86
+ * A dropdown component for sidebar header/footer with title, subtitle, and menu.
87
+ */
88
+ export interface ISidebarDropdownProps {
89
+ /**
90
+ * Main title text displayed in the dropdown trigger.
91
+ */
92
+ title?: string;
93
+ /**
94
+ * Optional subtitle text displayed below the title.
95
+ */
96
+ subtitle?: string | null;
97
+ /**
98
+ * Enable interactive dropdown menu.
99
+ * When false, displays static content without dropdown.
100
+ * @default true
101
+ */
102
+ interactive?: boolean;
103
+ /**
104
+ * Dropdown menu placement position.
105
+ * Only applies when interactive is true.
106
+ * @default 'bottom'
107
+ */
108
+ placement?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
109
+ /**
110
+ * Optional custom CSS classes to apply to the dropdown content.
111
+ */
112
+ customClass?: string | null;
113
+ }
114
+ /**
115
+ * Interface props for the SidebarGroup component.
116
+ * Groups sidebar links together with an optional label.
117
+ */
118
+ export interface ISidebarGroupProps {
119
+ /**
120
+ * Optional group label/text displayed above the grouped links.
121
+ */
122
+ text?: string;
123
+ /**
124
+ * Optional Material icon code for the group header.
125
+ * Only displayed when collapsible is true.
126
+ * @default null
127
+ */
128
+ icon?: string | null;
129
+ /**
130
+ * Enable collapsible behavior with expand/collapse functionality.
131
+ * When true, the group label becomes a clickable trigger with an arrow icon.
132
+ * @default false
133
+ */
134
+ collapsible?: boolean;
135
+ /**
136
+ * Default open state for collapsible groups.
137
+ * Only applies when collapsible is true.
138
+ * @default true
139
+ */
140
+ defaultOpen?: boolean;
141
+ /**
142
+ * Optional custom CSS classes to apply to the group container.
143
+ */
144
+ customClass?: SidebarClassName | null;
145
+ }
146
+ //# sourceMappingURL=sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/types/sidebar.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE1E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEpB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAA;IAE1K;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAErC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAA;IAEnK;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACtC"}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@colorffy/ui",
3
+ "version": "1.0.0",
4
+ "description": "A modern Vue 3 component library built with TypeScript and Colorffy CSS",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.mjs",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./nuxt": {
16
+ "types": "./dist/nuxt.d.ts",
17
+ "import": "./dist/nuxt.js",
18
+ "require": "./dist/nuxt.cjs"
19
+ }
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "scripts": {
25
+ "dev": "vite build --watch",
26
+ "build": "vite build",
27
+ "prepublishOnly": "pnpm run build",
28
+ "fix:imports": "node scripts/fix-imports.js",
29
+ "publish": "npm publish --access public",
30
+ "version:patch": "npm version patch",
31
+ "version:minor": "npm version minor",
32
+ "version:major": "npm version major",
33
+ "storybook": "storybook dev -p 6006",
34
+ "build-storybook": "storybook build"
35
+ },
36
+ "peerDependencies": {
37
+ "@vueuse/components": "14.0.0",
38
+ "floating-vue": "^5.2.0",
39
+ "nuxt": "^4.2.0",
40
+ "vue": "^3.5.0"
41
+ },
42
+ "devDependencies": {
43
+ "@colorffy/css": "workspace:*",
44
+ "@nuxt/kit": "^4.2.1",
45
+ "@nuxt/schema": "^4.2.1",
46
+ "@storybook/addon-essentials": "^8.6.14",
47
+ "@storybook/addon-links": "^8.6.14",
48
+ "@storybook/vue3": "^8.6.14",
49
+ "@storybook/vue3-vite": "^8.6.14",
50
+ "@types/node": "^24.10.0",
51
+ "@vitejs/plugin-vue": "^5.0.0",
52
+ "@vueuse/core": "^14.0.0",
53
+ "nuxt": "^4.2.0",
54
+ "storybook": "^8.6.14",
55
+ "typescript": "^5.4.0",
56
+ "vite": "^5.0.0",
57
+ "vite-plugin-dts": "^4.5.4",
58
+ "vue": "^3.5.0",
59
+ "vue-router": "^4.6.3",
60
+ "vue-tsc": "^2.0.0"
61
+ },
62
+ "keywords": [
63
+ "vue",
64
+ "components",
65
+ "ui",
66
+ "typescript"
67
+ ],
68
+ "author": "Giancarlos Garza",
69
+ "license": "ISC"
70
+ }