@byyuurin/ui 0.0.11 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/README.md +170 -58
  2. package/dist/module.d.mts +4 -13
  3. package/dist/module.json +4 -4
  4. package/dist/module.mjs +54 -20
  5. package/dist/runtime/components/Accordion.vue +28 -23
  6. package/dist/runtime/components/Accordion.vue.d.ts +51 -29
  7. package/dist/runtime/components/Alert.vue +47 -27
  8. package/dist/runtime/components/Alert.vue.d.ts +37 -25
  9. package/dist/runtime/components/App.vue +9 -8
  10. package/dist/runtime/components/App.vue.d.ts +22 -20
  11. package/dist/runtime/components/Avatar.vue +65 -21
  12. package/dist/runtime/components/Avatar.vue.d.ts +27 -13
  13. package/dist/runtime/components/AvatarGroup.vue +14 -10
  14. package/dist/runtime/components/AvatarGroup.vue.d.ts +12 -9
  15. package/dist/runtime/components/Badge.vue +64 -32
  16. package/dist/runtime/components/Badge.vue.d.ts +30 -29
  17. package/dist/runtime/components/Breadcrumb.vue +40 -22
  18. package/dist/runtime/components/Breadcrumb.vue.d.ts +48 -21
  19. package/dist/runtime/components/Button.vue +113 -52
  20. package/dist/runtime/components/Button.vue.d.ts +36 -20
  21. package/dist/runtime/components/Calendar.vue +50 -43
  22. package/dist/runtime/components/Calendar.vue.d.ts +58 -31
  23. package/dist/runtime/components/Card.vue +18 -14
  24. package/dist/runtime/components/Card.vue.d.ts +18 -14
  25. package/dist/runtime/components/Carousel.vue +99 -46
  26. package/dist/runtime/components/Carousel.vue.d.ts +46 -25
  27. package/dist/runtime/components/Checkbox.vue +60 -35
  28. package/dist/runtime/components/Checkbox.vue.d.ts +35 -28
  29. package/dist/runtime/components/CheckboxGroup.vue +131 -0
  30. package/dist/runtime/components/CheckboxGroup.vue.d.ts +89 -0
  31. package/dist/runtime/components/Chip.vue +35 -32
  32. package/dist/runtime/components/Chip.vue.d.ts +33 -15
  33. package/dist/runtime/components/Collapsible.vue +13 -9
  34. package/dist/runtime/components/Collapsible.vue.d.ts +16 -8
  35. package/dist/runtime/components/Drawer.vue +80 -70
  36. package/dist/runtime/components/Drawer.vue.d.ts +51 -28
  37. package/dist/runtime/components/DropdownMenu.vue +23 -16
  38. package/dist/runtime/components/DropdownMenu.vue.d.ts +77 -36
  39. package/dist/runtime/components/DropdownMenuContent.vue +136 -106
  40. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +38 -26
  41. package/dist/runtime/components/FieldGroup.vue +33 -0
  42. package/dist/runtime/components/FieldGroup.vue.d.ts +33 -0
  43. package/dist/runtime/components/Form.vue +172 -88
  44. package/dist/runtime/components/Form.vue.d.ts +69 -44
  45. package/dist/runtime/components/FormField.vue +108 -0
  46. package/dist/runtime/components/FormField.vue.d.ts +63 -0
  47. package/dist/runtime/components/Icon.vue +20 -0
  48. package/dist/runtime/components/Icon.vue.d.ts +9 -0
  49. package/dist/runtime/components/Input.vue +84 -79
  50. package/dist/runtime/components/Input.vue.d.ts +55 -43
  51. package/dist/runtime/components/InputNumber.vue +66 -52
  52. package/dist/runtime/components/InputNumber.vue.d.ts +50 -109
  53. package/dist/runtime/components/InputTags.vue +155 -0
  54. package/dist/runtime/components/InputTags.vue.d.ts +85 -0
  55. package/dist/runtime/components/Kbd.vue +11 -5
  56. package/dist/runtime/components/Kbd.vue.d.ts +17 -11
  57. package/dist/runtime/components/Link.vue +54 -197
  58. package/dist/runtime/components/Link.vue.d.ts +17 -17
  59. package/dist/runtime/components/LinkBase.vue +11 -33
  60. package/dist/runtime/components/LinkBase.vue.d.ts +8 -3
  61. package/dist/runtime/components/Marquee.vue +38 -0
  62. package/dist/runtime/components/Marquee.vue.d.ts +54 -0
  63. package/dist/runtime/components/Modal.vue +53 -39
  64. package/dist/runtime/components/Modal.vue.d.ts +64 -34
  65. package/dist/runtime/components/NavigationMenu.vue +345 -0
  66. package/dist/runtime/components/NavigationMenu.vue.d.ts +216 -0
  67. package/dist/runtime/components/OverlayProvider.vue +3 -3
  68. package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -1
  69. package/dist/runtime/components/Pagination.vue +39 -47
  70. package/dist/runtime/components/Pagination.vue.d.ts +54 -31
  71. package/dist/runtime/components/PinInput.vue +46 -32
  72. package/dist/runtime/components/PinInput.vue.d.ts +40 -21
  73. package/dist/runtime/components/Popover.vue +33 -19
  74. package/dist/runtime/components/Popover.vue.d.ts +57 -32
  75. package/dist/runtime/components/Progress.vue +31 -26
  76. package/dist/runtime/components/Progress.vue.d.ts +32 -23
  77. package/dist/runtime/components/RadioGroup.vue +75 -48
  78. package/dist/runtime/components/RadioGroup.vue.d.ts +58 -36
  79. package/dist/runtime/components/ScrollArea.vue +33 -31
  80. package/dist/runtime/components/ScrollArea.vue.d.ts +9 -5
  81. package/dist/runtime/components/Select.vue +166 -76
  82. package/dist/runtime/components/Select.vue.d.ts +206 -65
  83. package/dist/runtime/components/Separator.vue +42 -16
  84. package/dist/runtime/components/Separator.vue.d.ts +35 -14
  85. package/dist/runtime/components/Skeleton.vue +18 -6
  86. package/dist/runtime/components/Skeleton.vue.d.ts +4 -4
  87. package/dist/runtime/components/Slider.vue +42 -24
  88. package/dist/runtime/components/Slider.vue.d.ts +43 -27
  89. package/dist/runtime/components/Switch.vue +40 -31
  90. package/dist/runtime/components/Switch.vue.d.ts +36 -27
  91. package/dist/runtime/components/Table.vue +329 -79
  92. package/dist/runtime/components/Table.vue.d.ts +152 -66
  93. package/dist/runtime/components/Tabs.vue +70 -23
  94. package/dist/runtime/components/Tabs.vue.d.ts +61 -29
  95. package/dist/runtime/components/Textarea.vue +102 -54
  96. package/dist/runtime/components/Textarea.vue.d.ts +57 -41
  97. package/dist/runtime/components/Timeline.vue +102 -0
  98. package/dist/runtime/components/Timeline.vue.d.ts +74 -0
  99. package/dist/runtime/components/Toast.vue +84 -38
  100. package/dist/runtime/components/Toast.vue.d.ts +48 -27
  101. package/dist/runtime/components/ToastProvider.vue +31 -22
  102. package/dist/runtime/components/ToastProvider.vue.d.ts +30 -17
  103. package/dist/runtime/components/Tooltip.vue +33 -21
  104. package/dist/runtime/components/Tooltip.vue.d.ts +37 -15
  105. package/dist/runtime/composables/defineShortcuts.d.ts +16 -0
  106. package/dist/runtime/composables/defineShortcuts.js +129 -0
  107. package/dist/runtime/composables/useAvatarGroup.d.ts +8 -3
  108. package/dist/runtime/composables/useAvatarGroup.js +10 -3
  109. package/dist/runtime/composables/useComponentIcons.d.ts +9 -6
  110. package/dist/runtime/composables/useComponentIcons.js +4 -4
  111. package/dist/runtime/composables/useFieldGroup.d.ts +8 -0
  112. package/dist/runtime/composables/useFieldGroup.js +14 -0
  113. package/dist/runtime/composables/useFormField.d.ts +62 -0
  114. package/dist/runtime/composables/useFormField.js +99 -0
  115. package/dist/runtime/composables/useKbd.d.ts +3 -2
  116. package/dist/runtime/composables/useKbd.js +3 -2
  117. package/dist/runtime/composables/useLocale.d.ts +68 -5
  118. package/dist/runtime/composables/useLocale.js +11 -11
  119. package/dist/runtime/composables/useOverlay.d.ts +51 -15
  120. package/dist/runtime/composables/useOverlay.js +44 -30
  121. package/dist/runtime/composables/usePortal.d.ts +6 -0
  122. package/dist/runtime/composables/usePortal.js +17 -0
  123. package/dist/runtime/composables/useToast.d.ts +12 -5
  124. package/dist/runtime/composables/useToast.js +12 -7
  125. package/dist/runtime/locale/en.d.ts +30 -1
  126. package/dist/runtime/locale/en.js +2 -1
  127. package/dist/runtime/locale/index.d.ts +2 -2
  128. package/dist/runtime/locale/index.js +1 -1
  129. package/dist/runtime/locale/zh_tw.d.ts +31 -0
  130. package/dist/runtime/locale/{zh-tw.js → zh_tw.js} +2 -1
  131. package/dist/runtime/plugins/colors.d.ts +2 -0
  132. package/dist/runtime/plugins/colors.js +50 -0
  133. package/dist/runtime/types/app.config.d.ts +6 -0
  134. package/dist/runtime/types/form.d.ts +58 -17
  135. package/dist/runtime/types/form.js +11 -0
  136. package/dist/runtime/types/index.d.ts +56 -8
  137. package/dist/runtime/types/index.js +49 -1
  138. package/dist/runtime/types/input.d.ts +8 -0
  139. package/dist/runtime/types/locale.d.ts +5 -0
  140. package/dist/runtime/types/style.d.ts +33 -0
  141. package/dist/runtime/types/style.js +0 -0
  142. package/dist/runtime/types/unocss.d.ts +4 -0
  143. package/dist/runtime/types/utils.d.ts +41 -37
  144. package/dist/runtime/utils/form.d.ts +5 -1
  145. package/dist/runtime/utils/form.js +49 -0
  146. package/dist/runtime/utils/index.d.ts +10 -13
  147. package/dist/runtime/utils/index.js +41 -48
  148. package/dist/runtime/utils/link.d.ts +3 -2
  149. package/dist/runtime/utils/link.js +16 -2
  150. package/dist/runtime/utils/locale.d.ts +5 -0
  151. package/dist/runtime/utils/locale.js +10 -0
  152. package/dist/runtime/utils/style.d.ts +94 -0
  153. package/dist/runtime/utils/style.js +37 -0
  154. package/dist/runtime/vue/components/Icon.vue +15 -0
  155. package/dist/runtime/vue/components/Icon.vue.d.ts +7 -0
  156. package/dist/runtime/vue/components/Link.vue +163 -0
  157. package/dist/runtime/vue/components/Link.vue.d.ts +95 -0
  158. package/dist/runtime/vue/composables/useAppConfig.d.ts +1 -0
  159. package/dist/runtime/vue/composables/useAppConfig.js +4 -0
  160. package/dist/runtime/vue/plugins/color-mode.d.ts +4 -0
  161. package/dist/runtime/vue/plugins/color-mode.js +6 -0
  162. package/dist/runtime/vue/plugins/head.d.ts +4 -0
  163. package/dist/runtime/vue/plugins/head.js +9 -0
  164. package/dist/runtime/vue/stubs.d.ts +16 -1
  165. package/dist/runtime/vue/stubs.js +32 -1
  166. package/dist/setup.d.mts +13 -0
  167. package/dist/setup.mjs +12 -0
  168. package/dist/shared/ui.CzIlLITK.mjs +51 -0
  169. package/dist/shared/ui.DLOxhmP0.mjs +4242 -0
  170. package/dist/shared/ui.DpbffTXs.d.mts +84 -0
  171. package/dist/shared/ui.IulR-OYx.d.mts +64 -0
  172. package/dist/types.d.mts +3 -1
  173. package/dist/unocss.d.mts +12 -52
  174. package/dist/unocss.mjs +144 -254
  175. package/dist/unplugin.d.mts +13 -26
  176. package/dist/unplugin.mjs +193 -18
  177. package/dist/vite.d.mts +10 -1
  178. package/dist/vite.mjs +12 -3
  179. package/package.json +154 -87
  180. package/vue-plugin.d.ts +5 -0
  181. package/dist/module.d.ts +0 -13
  182. package/dist/module.mjs.map +0 -1
  183. package/dist/runtime/app/injections.d.ts +0 -9331
  184. package/dist/runtime/app/injections.js +0 -61
  185. package/dist/runtime/components/ButtonGroup.vue +0 -26
  186. package/dist/runtime/components/ButtonGroup.vue.d.ts +0 -26
  187. package/dist/runtime/components/FormItem.vue +0 -90
  188. package/dist/runtime/components/FormItem.vue.d.ts +0 -60
  189. package/dist/runtime/composables/useButtonGroup.d.ts +0 -5
  190. package/dist/runtime/composables/useButtonGroup.js +0 -9
  191. package/dist/runtime/composables/useFormItem.d.ts +0 -27
  192. package/dist/runtime/composables/useFormItem.js +0 -64
  193. package/dist/runtime/composables/useTheme.d.ts +0 -9
  194. package/dist/runtime/composables/useTheme.js +0 -23
  195. package/dist/runtime/index.d.ts +0 -44
  196. package/dist/runtime/index.js +0 -44
  197. package/dist/runtime/locale/zh-tw.d.ts +0 -2
  198. package/dist/runtime/theme/accordion.d.ts +0 -50
  199. package/dist/runtime/theme/accordion.js +0 -28
  200. package/dist/runtime/theme/alert.d.ts +0 -119
  201. package/dist/runtime/theme/alert.js +0 -47
  202. package/dist/runtime/theme/app.d.ts +0 -19
  203. package/dist/runtime/theme/app.js +0 -19
  204. package/dist/runtime/theme/avatar-group.d.ts +0 -46
  205. package/dist/runtime/theme/avatar-group.js +0 -32
  206. package/dist/runtime/theme/avatar.d.ts +0 -50
  207. package/dist/runtime/theme/avatar.js +0 -34
  208. package/dist/runtime/theme/badge.d.ts +0 -76
  209. package/dist/runtime/theme/badge.js +0 -92
  210. package/dist/runtime/theme/breadcrumb.d.ts +0 -61
  211. package/dist/runtime/theme/breadcrumb.js +0 -44
  212. package/dist/runtime/theme/button-group.d.ts +0 -60
  213. package/dist/runtime/theme/button-group.js +0 -42
  214. package/dist/runtime/theme/button.d.ts +0 -184
  215. package/dist/runtime/theme/button.js +0 -164
  216. package/dist/runtime/theme/calendar.d.ts +0 -58
  217. package/dist/runtime/theme/calendar.js +0 -86
  218. package/dist/runtime/theme/card.d.ts +0 -56
  219. package/dist/runtime/theme/card.js +0 -37
  220. package/dist/runtime/theme/carousel.d.ts +0 -107
  221. package/dist/runtime/theme/carousel.js +0 -43
  222. package/dist/runtime/theme/checkbox.d.ts +0 -82
  223. package/dist/runtime/theme/checkbox.js +0 -54
  224. package/dist/runtime/theme/chip.d.ts +0 -61
  225. package/dist/runtime/theme/chip.js +0 -66
  226. package/dist/runtime/theme/collapsible.d.ts +0 -32
  227. package/dist/runtime/theme/collapsible.js +0 -10
  228. package/dist/runtime/theme/drawer.d.ts +0 -142
  229. package/dist/runtime/theme/drawer.js +0 -113
  230. package/dist/runtime/theme/dropdown-menu.d.ts +0 -65
  231. package/dist/runtime/theme/dropdown-menu.js +0 -83
  232. package/dist/runtime/theme/form-item.d.ts +0 -70
  233. package/dist/runtime/theme/form-item.js +0 -34
  234. package/dist/runtime/theme/form.d.ts +0 -2
  235. package/dist/runtime/theme/form.js +0 -7
  236. package/dist/runtime/theme/index.d.ts +0 -41
  237. package/dist/runtime/theme/index.js +0 -41
  238. package/dist/runtime/theme/input-number.d.ts +0 -115
  239. package/dist/runtime/theme/input-number.js +0 -95
  240. package/dist/runtime/theme/input.d.ts +0 -172
  241. package/dist/runtime/theme/input.js +0 -151
  242. package/dist/runtime/theme/kbd.d.ts +0 -33
  243. package/dist/runtime/theme/kbd.js +0 -26
  244. package/dist/runtime/theme/link.d.ts +0 -38
  245. package/dist/runtime/theme/link.js +0 -26
  246. package/dist/runtime/theme/modal.d.ts +0 -42
  247. package/dist/runtime/theme/modal.js +0 -55
  248. package/dist/runtime/theme/pagination.d.ts +0 -74
  249. package/dist/runtime/theme/pagination.js +0 -17
  250. package/dist/runtime/theme/pinInput.d.ts +0 -94
  251. package/dist/runtime/theme/pinInput.js +0 -111
  252. package/dist/runtime/theme/popover.d.ts +0 -32
  253. package/dist/runtime/theme/popover.js +0 -13
  254. package/dist/runtime/theme/progress.d.ts +0 -180
  255. package/dist/runtime/theme/progress.js +0 -95
  256. package/dist/runtime/theme/radio-group.d.ts +0 -104
  257. package/dist/runtime/theme/radio-group.js +0 -61
  258. package/dist/runtime/theme/scroll-area.d.ts +0 -67
  259. package/dist/runtime/theme/scroll-area.js +0 -33
  260. package/dist/runtime/theme/select.d.ts +0 -186
  261. package/dist/runtime/theme/select.js +0 -173
  262. package/dist/runtime/theme/separator.d.ts +0 -74
  263. package/dist/runtime/theme/separator.js +0 -53
  264. package/dist/runtime/theme/skeleton.d.ts +0 -2
  265. package/dist/runtime/theme/skeleton.js +0 -7
  266. package/dist/runtime/theme/slider.d.ts +0 -70
  267. package/dist/runtime/theme/slider.js +0 -52
  268. package/dist/runtime/theme/switch.d.ts +0 -116
  269. package/dist/runtime/theme/switch.js +0 -78
  270. package/dist/runtime/theme/table.d.ts +0 -86
  271. package/dist/runtime/theme/table.js +0 -36
  272. package/dist/runtime/theme/tabs.d.ts +0 -129
  273. package/dist/runtime/theme/tabs.js +0 -146
  274. package/dist/runtime/theme/textarea.d.ts +0 -90
  275. package/dist/runtime/theme/textarea.js +0 -116
  276. package/dist/runtime/theme/toast-provider.d.ts +0 -116
  277. package/dist/runtime/theme/toast-provider.js +0 -97
  278. package/dist/runtime/theme/toast.d.ts +0 -83
  279. package/dist/runtime/theme/toast.js +0 -35
  280. package/dist/runtime/theme/tooltip.d.ts +0 -38
  281. package/dist/runtime/theme/tooltip.js +0 -11
  282. package/dist/runtime/types/components.d.ts +0 -42
  283. package/dist/runtime/utils/extend-theme.d.ts +0 -9
  284. package/dist/runtime/utils/extend-theme.js +0 -27
  285. package/dist/runtime/utils/styler.d.ts +0 -4
  286. package/dist/runtime/utils/styler.js +0 -10
  287. package/dist/runtime/utils/translator.d.ts +0 -18
  288. package/dist/runtime/utils/translator.js +0 -8
  289. package/dist/shared/ui.D1BTWZFB.mjs +0 -5
  290. package/dist/shared/ui.D1BTWZFB.mjs.map +0 -1
  291. package/dist/unocss.d.ts +0 -52
  292. package/dist/unocss.mjs.map +0 -1
  293. package/dist/unplugin.d.ts +0 -26
  294. package/dist/unplugin.mjs.map +0 -1
  295. package/dist/vite.d.ts +0 -9
  296. package/dist/vite.mjs.map +0 -1
  297. /package/dist/runtime/types/{components.js → input.js} +0 -0
@@ -1,61 +0,0 @@
1
- import { defineInjection } from "../utils/index.js";
2
- export const {
3
- InjectionKey: InjectionKeyAvatarGroup,
4
- inject: injectAvatarGroup,
5
- provide: provideAvatarGroup
6
- } = defineInjection("ui.avatar-group");
7
- export const {
8
- InjectionKey: InjectionKeyButtonGroup,
9
- inject: injectButtonGroup,
10
- provide: provideButtonGroup
11
- } = defineInjection("ui.button-group");
12
- export const {
13
- InjectionKey: InjectionKeyFormOptions,
14
- inject: injectFormOptions,
15
- provide: provideFormOptions
16
- } = defineInjection("ui.form-options");
17
- export const {
18
- InjectionKey: InjectionKeyFormBus,
19
- inject: injectFormBus,
20
- provide: provideFormBus
21
- } = defineInjection("ui.form-bus");
22
- export const {
23
- InjectionKey: InjectionKeyFormItem,
24
- inject: injectFormItem,
25
- provide: provideFormItem
26
- } = defineInjection("ui.form-item");
27
- export const {
28
- InjectionKey: InjectionKeyFormInputId,
29
- inject: injectFormInputId,
30
- provide: provideFormInputId
31
- } = defineInjection("ui.form-input-id");
32
- export const {
33
- InjectionKey: InjectionKeyFormInputs,
34
- inject: injectFormInputs,
35
- provide: provideFormInputs
36
- } = defineInjection("ui.form-inputs");
37
- export const {
38
- InjectionKey: InjectionKeyFormLoading,
39
- inject: injectFormLoading,
40
- provide: provideFormLoading
41
- } = defineInjection("ui.form-loading");
42
- export const {
43
- InjectionKey: InjectionKeyFormErrors,
44
- inject: injectFormErrors,
45
- provide: provideFormErrors
46
- } = defineInjection("ui.form-errors", null);
47
- export const {
48
- InjectionKey: InjectionKeyLocaleContext,
49
- inject: injectLocaleContext,
50
- provide: provideLocaleContext
51
- } = defineInjection("ui.locale-context");
52
- export const {
53
- InjectionKey: InjectionKeyThemeExtension,
54
- provide: provideThemeExtension,
55
- inject: injectThemeExtension
56
- } = defineInjection("ui.theme-extension", {});
57
- export const {
58
- InjectionKey: InjectionKeyUnoConfig,
59
- provide: provideUnoConfig,
60
- inject: injectUnoConfig
61
- } = defineInjection("ui.uno-config", {});
@@ -1,26 +0,0 @@
1
- <script>
2
-
3
- </script>
4
-
5
- <script setup>
6
- import { Primitive } from "reka-ui";
7
- import { computed } from "vue";
8
- import { provideButtonGroup } from "../app/injections";
9
- import { useTheme } from "../composables/useTheme";
10
- const props = defineProps({
11
- as: { type: null, required: false },
12
- size: { type: null, required: false },
13
- orientation: { type: null, required: false, default: "horizontal" },
14
- class: { type: null, required: false }
15
- });
16
- defineSlots();
17
- provideButtonGroup(computed(() => props));
18
- const { generateStyle } = useTheme();
19
- const style = computed(() => generateStyle("buttonGroup", props));
20
- </script>
21
-
22
- <template>
23
- <Primitive :as="props.as" :class="style.base()" data-part="base">
24
- <slot></slot>
25
- </Primitive>
26
- </template>
@@ -1,26 +0,0 @@
1
- import type { VariantProps } from '@byyuurin/ui-kit';
2
- import type { PrimitiveProps } from 'reka-ui';
3
- import type { buttonGroup } from '../theme/index.js';
4
- import type { ComponentAttrs } from '../types/index.js';
5
- export interface ButtonGroupSlots {
6
- default?: (props?: {}) => any;
7
- }
8
- type ButtonGroupVariant = VariantProps<typeof buttonGroup>;
9
- export interface ButtonGroupProps extends Omit<ComponentAttrs<typeof buttonGroup>, 'ui'> {
10
- /**
11
- * The element or component this component should render as.
12
- * @default "div"
13
- */
14
- as?: PrimitiveProps['as'];
15
- size?: ButtonGroupVariant['size'];
16
- orientation?: ButtonGroupVariant['orientation'];
17
- }
18
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ButtonGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonGroupProps> & Readonly<{}>, {
19
- orientation: "horizontal" | "vertical";
20
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonGroupSlots>;
21
- export default _default;
22
- type __VLS_WithSlots<T, S> = T & {
23
- new (): {
24
- $slots: S;
25
- };
26
- };
@@ -1,90 +0,0 @@
1
- <script>
2
-
3
- </script>
4
-
5
- <script setup>
6
- import { Label, Primitive } from "reka-ui";
7
- import { computed, ref, useId } from "vue";
8
- import { injectFormErrors, provideFormInputId, provideFormItem } from "../app/injections";
9
- import { useTheme } from "../composables/useTheme";
10
- const props = defineProps({
11
- as: { type: null, required: false },
12
- name: { type: String, required: false },
13
- errorPattern: { type: null, required: false },
14
- label: { type: String, required: false },
15
- description: { type: String, required: false },
16
- help: { type: String, required: false },
17
- error: { type: [String, Boolean], required: false },
18
- hint: { type: String, required: false },
19
- size: { type: null, required: false },
20
- required: { type: Boolean, required: false },
21
- eagerValidation: { type: Boolean, required: false },
22
- validateOnInputDelay: { type: Number, required: false },
23
- class: { type: null, required: false },
24
- ui: { type: null, required: false }
25
- });
26
- const slots = defineSlots();
27
- const id = ref(useId());
28
- const ariaId = id.value;
29
- provideFormInputId(id);
30
- const formErrors = injectFormErrors();
31
- const error = computed(() => {
32
- if (props.error)
33
- return props.error;
34
- const formError = formErrors?.value.find((error2) => {
35
- if (error2.name && error2.name === props.name)
36
- return true;
37
- if (error2.name && props.errorPattern)
38
- return error2.name.match(props.errorPattern);
39
- return false;
40
- });
41
- return formError?.message;
42
- });
43
- provideFormItem(computed(() => ({
44
- ...props,
45
- error: error.value,
46
- ariaId
47
- })));
48
- const { generateStyle } = useTheme();
49
- const style = computed(() => generateStyle("formItem", props));
50
- </script>
51
-
52
- <template>
53
- <Primitive :as="props.as" :class="style.root({ class: [props.class, props.ui?.root] })" data-part="root">
54
- <div :class="style.wrapper({ class: props.ui?.wrapper })" data-part="wrapper">
55
- <div v-if="props.label || slots.label" :class="style.labelWrapper({ class: props.ui?.labelWrapper })" data-part="label-wrapper">
56
- <Label :for="id" :class="style.label({ class: props.ui?.label })" data-part="label">
57
- <slot name="label" :label="props.label">
58
- {{ props.label }}
59
- </slot>
60
- </Label>
61
- <span v-if="props.hint || slots.hint" :id="`${ariaId}-hint`" :class="style.hint({ class: props.ui?.hint })" data-part="hint">
62
- <slot name="hint" :hint="props.hint">
63
- {{ props.hint }}
64
- </slot>
65
- </span>
66
- </div>
67
-
68
- <p v-if="props.description || slots.description" :id="`${ariaId}-description`" :class="style.description({ class: props.ui?.description })" data-part="description">
69
- <slot name="description" :description="props.description">
70
- {{ props.description }}
71
- </slot>
72
- </p>
73
- </div>
74
-
75
- <div :class="(props.label || slots.label || props.description || slots.description) && style.container({ class: props.ui?.container })" data-part="container">
76
- <slot :error="error"></slot>
77
-
78
- <p v-if="typeof error === 'string' && error || slots.error" :id="`${ariaId}-error`" :class="style.error({ class: props.ui?.error })" data-part="error">
79
- <slot name="error" :error="error">
80
- {{ error }}
81
- </slot>
82
- </p>
83
- <p v-else :class="style.help({ class: props.ui?.help })" data-part="help">
84
- <slot name="help" :help="props.help">
85
- {{ help }}
86
- </slot>
87
- </p>
88
- </div>
89
- </Primitive>
90
- </template>
@@ -1,60 +0,0 @@
1
- import type { VariantProps } from '@byyuurin/ui-kit';
2
- import type { PrimitiveProps } from 'reka-ui';
3
- import type { formItem } from '../theme/index.js';
4
- import type { ComponentAttrs } from '../types/index.js';
5
- export interface FormFieldSlots {
6
- label?: (props: {
7
- label?: string;
8
- }) => any;
9
- hint?: (props: {
10
- hint?: string;
11
- }) => any;
12
- description?: (props: {
13
- description?: string;
14
- }) => any;
15
- help?: (props: {
16
- help?: string;
17
- }) => any;
18
- error?: (props: {
19
- error?: string | boolean;
20
- }) => any;
21
- default?: (props: {
22
- error?: string | boolean;
23
- }) => any;
24
- }
25
- type FormItemVariants = VariantProps<typeof formItem>;
26
- export interface FormItemProps extends ComponentAttrs<typeof formItem> {
27
- /**
28
- * The element or component this component should render as.
29
- * @default "div"
30
- */
31
- as?: PrimitiveProps['as'];
32
- /** The name of the FormItem. Also used to match form errors. */
33
- name?: string;
34
- /** A regular expression to match form error names. */
35
- errorPattern?: RegExp;
36
- label?: string;
37
- description?: string;
38
- help?: string;
39
- error?: string | boolean;
40
- hint?: string;
41
- /**
42
- * @default 'md'
43
- */
44
- size?: FormItemVariants['size'];
45
- required?: boolean;
46
- /** If true, validation on input will be active immediately instead of waiting for a blur event. */
47
- eagerValidation?: boolean;
48
- /**
49
- * Delay in milliseconds before validating the form on input events.
50
- * @default 300
51
- */
52
- validateOnInputDelay?: number;
53
- }
54
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<FormItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<FormItemProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, FormFieldSlots>;
55
- export default _default;
56
- type __VLS_WithSlots<T, S> = T & {
57
- new (): {
58
- $slots: S;
59
- };
60
- };
@@ -1,5 +0,0 @@
1
- import type { ButtonProps } from '../types/index.js';
2
- export declare function useButtonGroup(props?: Pick<ButtonProps, 'size'>): {
3
- size: import("vue").ComputedRef<"xs" | "sm" | "md" | "lg" | "xl" | undefined>;
4
- orientation: import("vue").ComputedRef<"horizontal" | "vertical" | undefined>;
5
- };
@@ -1,9 +0,0 @@
1
- import { computed } from "vue";
2
- import { injectButtonGroup } from "../app/injections.js";
3
- export function useButtonGroup(props = {}) {
4
- const buttonGroup = injectButtonGroup();
5
- return {
6
- size: computed(() => props.size ?? buttonGroup?.value.size),
7
- orientation: computed(() => buttonGroup?.value.orientation)
8
- };
9
- }
@@ -1,27 +0,0 @@
1
- import type { GetObjectField } from '../types/index.js';
2
- interface Props<T> {
3
- id?: string;
4
- name?: string;
5
- size?: GetObjectField<T, 'size'>;
6
- highlight?: boolean;
7
- disabled?: boolean;
8
- }
9
- export declare function useFormItem<T>(props?: Props<T>, options?: {
10
- bind?: boolean;
11
- deferInputValidation?: boolean;
12
- }): {
13
- id: import("vue").ComputedRef<string | undefined>;
14
- name: import("vue").ComputedRef<string | undefined>;
15
- size: import("vue").ComputedRef<"xs" | "sm" | "md" | "lg" | "xl" | NonNullable<GetObjectField<T, "size">> | undefined>;
16
- highlight: import("vue").ComputedRef<boolean | undefined>;
17
- disabled: import("vue").ComputedRef<boolean | undefined>;
18
- emitFormBlur: () => void;
19
- emitFormInput: import("@vueuse/core").UseDebounceFnReturn<() => void>;
20
- emitFormChange: () => void;
21
- emitFormFocus: () => void;
22
- ariaAttrs: import("vue").ComputedRef<{
23
- 'aria-describedby': string;
24
- 'aria-invalid': boolean;
25
- } | undefined>;
26
- };
27
- export {};
@@ -1,64 +0,0 @@
1
- import { useDebounceFn } from "@vueuse/core";
2
- import { computed } from "vue";
3
- import {
4
- injectFormBus,
5
- injectFormInputId,
6
- injectFormInputs,
7
- injectFormItem,
8
- injectFormOptions
9
- } from "../app/injections.js";
10
- export function useFormItem(props, options) {
11
- const formOptions = injectFormOptions();
12
- const formBus = injectFormBus();
13
- const formItem = injectFormItem();
14
- const formInputs = injectFormInputs();
15
- const inputId = injectFormInputId();
16
- if (formItem && inputId) {
17
- if (options?.bind === false) {
18
- inputId.value = void 0;
19
- } else if (props?.id) {
20
- inputId.value = props?.id;
21
- }
22
- if (formInputs && formItem.value.name && inputId.value)
23
- formInputs.value[formItem.value.name] = { id: inputId.value, pattern: formItem.value.errorPattern };
24
- }
25
- function emitFormEvent(type, name, eager) {
26
- if (formBus && formItem && name)
27
- formBus.emit({ type, name, eager });
28
- }
29
- function emitFormBlur() {
30
- emitFormEvent("blur", formItem?.value.name);
31
- }
32
- function emitFormFocus() {
33
- emitFormEvent("focus", formItem?.value.name);
34
- }
35
- function emitFormChange() {
36
- emitFormEvent("change", formItem?.value.name);
37
- }
38
- const emitFormInput = useDebounceFn(
39
- () => {
40
- emitFormEvent("input", formItem?.value.name, !options?.deferInputValidation || formItem?.value.eagerValidation);
41
- },
42
- formItem?.value.validateOnInputDelay ?? formOptions?.value.validateOnInputDelay ?? 0
43
- );
44
- return {
45
- id: computed(() => props?.id ?? inputId?.value),
46
- name: computed(() => props?.name ?? formItem?.value.name),
47
- size: computed(() => props?.size ?? formItem?.value.size),
48
- highlight: computed(() => formItem?.value.error ? true : props?.highlight),
49
- disabled: computed(() => formOptions?.value.disabled || props?.disabled),
50
- emitFormBlur,
51
- emitFormInput,
52
- emitFormChange,
53
- emitFormFocus,
54
- ariaAttrs: computed(() => {
55
- if (!formItem?.value)
56
- return;
57
- const descriptiveAttrs = ["error", "hint", "help", "description"].filter((type) => formItem?.value?.[type]).map((type) => `${formItem?.value.ariaId}-${type}`) || [];
58
- return {
59
- "aria-describedby": descriptiveAttrs.join(" "),
60
- "aria-invalid": !!formItem?.value.error
61
- };
62
- })
63
- };
64
- }
@@ -1,9 +0,0 @@
1
- import * as uiTheme from '../theme/index.js';
2
- import type { StylerProps, StylerReturnType, StylerTheme } from '../types/index.js';
3
- type UITheme = typeof uiTheme;
4
- export declare const useTheme: () => {
5
- theme: import("vue").ComputedRef<typeof uiTheme>;
6
- createStyler: <V extends import("@byyuurin/ui-kit").CVVariants<P, B>, CV extends import("@byyuurin/ui-kit").CVCompoundVariants<V, P, B>, DV extends import("@byyuurin/ui-kit").CVDefaultVariants<V, P>, B extends import("@byyuurin/ui-kit").ClassValue = undefined, P extends import("@byyuurin/ui-kit").CVParts = undefined>(scope: import("@byyuurin/ui-kit").CVScope<V, CV, DV, B, P>) => [keyof V] extends string[] ? (props: import("@byyuurin/ui-kit").VariantProps<import("@byyuurin/ui-kit").CVReturnType<V, P, B>> & import("../types/index.js").StylerBaseProps) => P extends undefined ? { [K in B extends undefined ? never : "base"]: import("@byyuurin/ui-kit").CVHandler<V, P, string>; } : { [K_1 in (B extends undefined ? never : "base") | keyof P]: import("@byyuurin/ui-kit").CVHandler<V, P, string>; } : (props?: import("../types/index.js").StylerBaseProps) => P extends undefined ? { [K in B extends undefined ? never : "base"]: import("@byyuurin/ui-kit").CVHandler<V, P, string>; } : { [K_1 in (B extends undefined ? never : "base") | keyof P]: import("@byyuurin/ui-kit").CVHandler<V, P, string>; };
7
- generateStyle: <T extends keyof UITheme>(name: T, props?: StylerProps<UITheme[T]>) => StylerReturnType<StylerTheme<UITheme[T]>>;
8
- };
9
- export {};
@@ -1,23 +0,0 @@
1
- import { transformUnoRules } from "@byyuurin/ui/unocss";
2
- import { createSharedComposable } from "@vueuse/core";
3
- import { computed, toValue } from "vue";
4
- import { injectThemeExtension, injectUnoConfig } from "../app/injections.js";
5
- import * as uiTheme from "../theme/index.js";
6
- import { extendTheme, prepareStyler } from "../utils/index.js";
7
- export const useTheme = createSharedComposable(() => {
8
- const themeExtension = injectThemeExtension();
9
- const unoConfig = injectUnoConfig();
10
- const mergeRules = transformUnoRules(toValue(unoConfig));
11
- const { createStyler } = prepareStyler(mergeRules);
12
- const themeDefaults = JSON.parse(JSON.stringify(uiTheme));
13
- const theme = computed(() => extendTheme(toValue(themeExtension), themeDefaults));
14
- function generateStyle(name, props) {
15
- const styler = createStyler(theme.value[name]);
16
- return styler(props);
17
- }
18
- return {
19
- theme,
20
- createStyler,
21
- generateStyle
22
- };
23
- });
@@ -1,44 +0,0 @@
1
- export { default as Accordion } from './components/Accordion.vue.js';
2
- export { default as Alert } from './components/Alert.vue.js';
3
- export { default as App } from './components/App.vue.js';
4
- export { default as Avatar } from './components/Avatar.vue.js';
5
- export { default as AvatarGroup } from './components/AvatarGroup.vue.js';
6
- export { default as Badge } from './components/Badge.vue.js';
7
- export { default as Breadcrumb } from './components/Breadcrumb.vue.js';
8
- export { default as Button } from './components/Button.vue.js';
9
- export { default as ButtonGroup } from './components/ButtonGroup.vue.js';
10
- export { default as Calendar } from './components/Calendar.vue.js';
11
- export { default as Card } from './components/Card.vue.js';
12
- export { default as Carousel } from './components/Carousel.vue.js';
13
- export { default as Checkbox } from './components/Checkbox.vue.js';
14
- export { default as Chip } from './components/Chip.vue.js';
15
- export { default as Collapsible } from './components/Collapsible.vue.js';
16
- export { default as Drawer } from './components/Drawer.vue.js';
17
- export { default as DropdownMenu } from './components/DropdownMenu.vue.js';
18
- export { default as Form } from './components/Form.vue.js';
19
- export { default as FormItem } from './components/FormItem.vue.js';
20
- export { default as Input } from './components/Input.vue.js';
21
- export { default as InputNumber } from './components/InputNumber.vue.js';
22
- export { default as Kbd } from './components/Kbd.vue.js';
23
- export { default as Link } from './components/Link.vue.js';
24
- export { default as LinkBase } from './components/LinkBase.vue.js';
25
- export { default as Modal } from './components/Modal.vue.js';
26
- export { default as OverlayProvider } from './components/OverlayProvider.vue.js';
27
- export { default as Pagination } from './components/Pagination.vue.js';
28
- export { default as PinInput } from './components/PinInput.vue.js';
29
- export { default as Popover } from './components/Popover.vue.js';
30
- export { default as Progress } from './components/Progress.vue.js';
31
- export { default as RadioGroup } from './components/RadioGroup.vue.js';
32
- export { default as ScrollArea } from './components/ScrollArea.vue.js';
33
- export { default as Select } from './components/Select.vue.js';
34
- export { default as Separator } from './components/Separator.vue.js';
35
- export { default as Skeleton } from './components/Skeleton.vue.js';
36
- export { default as Slider } from './components/Slider.vue.js';
37
- export { default as Switch } from './components/Switch.vue.js';
38
- export { default as Table } from './components/Table.vue.js';
39
- export { default as Tabs } from './components/Tabs.vue.js';
40
- export { default as Textarea } from './components/Textarea.vue.js';
41
- export { default as Toast } from './components/Toast.vue.js';
42
- export { default as ToastProvider } from './components/ToastProvider.vue.js';
43
- export { default as Tooltip } from './components/Tooltip.vue.js';
44
- export * from './types/index.js';
@@ -1,44 +0,0 @@
1
- export { default as Accordion } from "./components/Accordion.vue";
2
- export { default as Alert } from "./components/Alert.vue";
3
- export { default as App } from "./components/App.vue";
4
- export { default as Avatar } from "./components/Avatar.vue";
5
- export { default as AvatarGroup } from "./components/AvatarGroup.vue";
6
- export { default as Badge } from "./components/Badge.vue";
7
- export { default as Breadcrumb } from "./components/Breadcrumb.vue";
8
- export { default as Button } from "./components/Button.vue";
9
- export { default as ButtonGroup } from "./components/ButtonGroup.vue";
10
- export { default as Calendar } from "./components/Calendar.vue";
11
- export { default as Card } from "./components/Card.vue";
12
- export { default as Carousel } from "./components/Carousel.vue";
13
- export { default as Checkbox } from "./components/Checkbox.vue";
14
- export { default as Chip } from "./components/Chip.vue";
15
- export { default as Collapsible } from "./components/Collapsible.vue";
16
- export { default as Drawer } from "./components/Drawer.vue";
17
- export { default as DropdownMenu } from "./components/DropdownMenu.vue";
18
- export { default as Form } from "./components/Form.vue";
19
- export { default as FormItem } from "./components/FormItem.vue";
20
- export { default as Input } from "./components/Input.vue";
21
- export { default as InputNumber } from "./components/InputNumber.vue";
22
- export { default as Kbd } from "./components/Kbd.vue";
23
- export { default as Link } from "./components/Link.vue";
24
- export { default as LinkBase } from "./components/LinkBase.vue";
25
- export { default as Modal } from "./components/Modal.vue";
26
- export { default as OverlayProvider } from "./components/OverlayProvider.vue";
27
- export { default as Pagination } from "./components/Pagination.vue";
28
- export { default as PinInput } from "./components/PinInput.vue";
29
- export { default as Popover } from "./components/Popover.vue";
30
- export { default as Progress } from "./components/Progress.vue";
31
- export { default as RadioGroup } from "./components/RadioGroup.vue";
32
- export { default as ScrollArea } from "./components/ScrollArea.vue";
33
- export { default as Select } from "./components/Select.vue";
34
- export { default as Separator } from "./components/Separator.vue";
35
- export { default as Skeleton } from "./components/Skeleton.vue";
36
- export { default as Slider } from "./components/Slider.vue";
37
- export { default as Switch } from "./components/Switch.vue";
38
- export { default as Table } from "./components/Table.vue";
39
- export { default as Tabs } from "./components/Tabs.vue";
40
- export { default as Textarea } from "./components/Textarea.vue";
41
- export { default as Toast } from "./components/Toast.vue";
42
- export { default as ToastProvider } from "./components/ToastProvider.vue";
43
- export { default as Tooltip } from "./components/Tooltip.vue";
44
- export * from "./types/index.js";
@@ -1,2 +0,0 @@
1
- declare const _default: import("../utils/index.js").Locale<import("..").Messages>;
2
- export default _default;
@@ -1,50 +0,0 @@
1
- declare const _default: import("@byyuurin/ui-kit").CVScopeMeta<{
2
- disabled: {
3
- true: {
4
- trigger: string;
5
- };
6
- };
7
- }, import("@byyuurin/ui-kit").CVCompoundVariants<{
8
- disabled: {
9
- true: {
10
- trigger: string;
11
- };
12
- };
13
- }, {
14
- root: string;
15
- item: string;
16
- header: string;
17
- trigger: string;
18
- content: string[];
19
- body: string;
20
- leadingIcon: string;
21
- trailingIcon: string;
22
- label: string;
23
- }, undefined>, import("@byyuurin/ui-kit").CVDefaultVariants<{
24
- disabled: {
25
- true: {
26
- trigger: string;
27
- };
28
- };
29
- }, {
30
- root: string;
31
- item: string;
32
- header: string;
33
- trigger: string;
34
- content: string[];
35
- body: string;
36
- leadingIcon: string;
37
- trailingIcon: string;
38
- label: string;
39
- }>, undefined, {
40
- root: string;
41
- item: string;
42
- header: string;
43
- trigger: string;
44
- content: string[];
45
- body: string;
46
- leadingIcon: string;
47
- trailingIcon: string;
48
- label: string;
49
- }>;
50
- export default _default;
@@ -1,28 +0,0 @@
1
- import { ct } from "@byyuurin/ui-kit";
2
- export default ct(
3
- /* @unocss-include */
4
- {
5
- parts: {
6
- root: "w-full color-ui-base",
7
- item: "border-b last:border-b-0",
8
- header: "flex",
9
- trigger: "group flex-1 flex items-center gap-2 font-medium text-sm py-4 outline-none focus-visible:outline-ui-base/80 min-w-0",
10
- content: [
11
- "overflow-hidden focus:outline-none",
12
- "data-[state=open]:animate-[accordion-down_200ms_ease-out]",
13
- "data-[state=closed]:animate-[accordion-up_200ms_ease-out]"
14
- ],
15
- body: "text-sm pb-4 color-ui-base/80",
16
- leadingIcon: "shrink-0 size-5",
17
- trailingIcon: "shrink-0 size-5 ms-auto group-data-[state=open]:rotate-180 transition-all duration-200",
18
- label: "text-start break-words"
19
- },
20
- variants: {
21
- disabled: {
22
- true: {
23
- trigger: "cursor-not-allowed opacity-50"
24
- }
25
- }
26
- }
27
- }
28
- );