@byyuurin/ui 0.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 (101) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +32 -0
  3. package/dist/components/Accordion.vue +104 -0
  4. package/dist/components/App.vue +57 -0
  5. package/dist/components/Button.vue +94 -0
  6. package/dist/components/Card.vue +76 -0
  7. package/dist/components/Checkbox.vue +104 -0
  8. package/dist/components/Drawer.vue +133 -0
  9. package/dist/components/Input.vue +169 -0
  10. package/dist/components/Link.vue +117 -0
  11. package/dist/components/Modal.vue +145 -0
  12. package/dist/components/ModalProvider.vue +10 -0
  13. package/dist/components/Popover.vue +97 -0
  14. package/dist/components/RadioGroup.vue +180 -0
  15. package/dist/components/Select.vue +258 -0
  16. package/dist/components/Switch.vue +99 -0
  17. package/dist/components/Tabs.vue +117 -0
  18. package/dist/components/Toast.vue +126 -0
  19. package/dist/components/Toaster.vue +143 -0
  20. package/dist/components/Tooltip.vue +71 -0
  21. package/dist/components/index.d.ts +18 -0
  22. package/dist/components/index.mjs +18 -0
  23. package/dist/composables/index.d.ts +4 -0
  24. package/dist/composables/index.mjs +4 -0
  25. package/dist/composables/useComponentIcons.d.ts +26 -0
  26. package/dist/composables/useComponentIcons.mjs +24 -0
  27. package/dist/composables/useModal.d.ts +15 -0
  28. package/dist/composables/useModal.mjs +51 -0
  29. package/dist/composables/useTheme.d.ts +8 -0
  30. package/dist/composables/useTheme.mjs +18 -0
  31. package/dist/composables/useToast.d.ts +24 -0
  32. package/dist/composables/useToast.mjs +48 -0
  33. package/dist/index.d.ts +3 -0
  34. package/dist/index.mjs +3 -0
  35. package/dist/internal/constants.d.ts +3 -0
  36. package/dist/internal/constants.mjs +21 -0
  37. package/dist/internal/extend-theme.d.ts +9 -0
  38. package/dist/internal/extend-theme.mjs +16 -0
  39. package/dist/internal/extend-theme.test.d.ts +1 -0
  40. package/dist/internal/extend-theme.test.mjs +45 -0
  41. package/dist/internal/index.d.ts +4 -0
  42. package/dist/internal/index.mjs +4 -0
  43. package/dist/internal/link.d.ts +15 -0
  44. package/dist/internal/link.mjs +4 -0
  45. package/dist/internal/styler.d.ts +5 -0
  46. package/dist/internal/styler.mjs +236 -0
  47. package/dist/internal/styler.test.d.ts +1 -0
  48. package/dist/internal/styler.test.mjs +10 -0
  49. package/dist/nuxt.d.ts +10 -0
  50. package/dist/nuxt.mjs +28 -0
  51. package/dist/resolver.d.ts +10 -0
  52. package/dist/resolver.mjs +18 -0
  53. package/dist/theme/accordion.d.ts +39 -0
  54. package/dist/theme/accordion.mjs +25 -0
  55. package/dist/theme/app.d.ts +10 -0
  56. package/dist/theme/app.mjs +9 -0
  57. package/dist/theme/button.d.ts +184 -0
  58. package/dist/theme/button.mjs +140 -0
  59. package/dist/theme/card.d.ts +43 -0
  60. package/dist/theme/card.mjs +11 -0
  61. package/dist/theme/checkbox.d.ts +97 -0
  62. package/dist/theme/checkbox.mjs +53 -0
  63. package/dist/theme/drawer.d.ts +72 -0
  64. package/dist/theme/drawer.mjs +72 -0
  65. package/dist/theme/index.d.ts +17 -0
  66. package/dist/theme/index.mjs +17 -0
  67. package/dist/theme/input.d.ts +159 -0
  68. package/dist/theme/input.mjs +133 -0
  69. package/dist/theme/link.d.ts +31 -0
  70. package/dist/theme/link.mjs +23 -0
  71. package/dist/theme/modal.d.ts +50 -0
  72. package/dist/theme/modal.mjs +54 -0
  73. package/dist/theme/popover.d.ts +27 -0
  74. package/dist/theme/popover.mjs +10 -0
  75. package/dist/theme/radioGroup.d.ts +131 -0
  76. package/dist/theme/radioGroup.mjs +67 -0
  77. package/dist/theme/select.d.ts +177 -0
  78. package/dist/theme/select.mjs +154 -0
  79. package/dist/theme/switch.d.ts +131 -0
  80. package/dist/theme/switch.mjs +78 -0
  81. package/dist/theme/tabs.d.ts +101 -0
  82. package/dist/theme/tabs.mjs +117 -0
  83. package/dist/theme/toast.d.ts +51 -0
  84. package/dist/theme/toast.mjs +27 -0
  85. package/dist/theme/toaster.d.ts +73 -0
  86. package/dist/theme/toaster.mjs +89 -0
  87. package/dist/theme/tooltip.d.ts +31 -0
  88. package/dist/theme/tooltip.mjs +8 -0
  89. package/dist/types/components.d.ts +18 -0
  90. package/dist/types/components.mjs +0 -0
  91. package/dist/types/index.d.ts +7 -0
  92. package/dist/types/index.mjs +2 -0
  93. package/dist/types/utils.d.ts +29 -0
  94. package/dist/types/utils.mjs +0 -0
  95. package/dist/unocss-preset.d.ts +37 -0
  96. package/dist/unocss-preset.mjs +164 -0
  97. package/dist/utils/index.d.ts +18 -0
  98. package/dist/utils/index.mjs +70 -0
  99. package/dist/utils/unocss.d.ts +3 -0
  100. package/dist/utils/unocss.mjs +50 -0
  101. package/package.json +103 -0
@@ -0,0 +1,177 @@
1
+ declare const _default: {
2
+ base: undefined;
3
+ slots: {
4
+ base: string[];
5
+ value: string;
6
+ placeholder: string;
7
+ arrow: string;
8
+ content: string[];
9
+ viewport: string;
10
+ group: string;
11
+ empty: string;
12
+ label: string;
13
+ separator: string;
14
+ item: string[];
15
+ itemPrefixIcon: string;
16
+ itemSuffix: string;
17
+ itemSuffixIcon: string;
18
+ itemLabel: string;
19
+ prefix: string;
20
+ prefixIcon: string;
21
+ suffix: string;
22
+ suffixIcon: string;
23
+ };
24
+ variants: {
25
+ variant: {
26
+ outline: {
27
+ base: string[];
28
+ };
29
+ soft: {
30
+ base: string[];
31
+ };
32
+ ghost: {
33
+ base: string[];
34
+ };
35
+ none: {
36
+ base: string;
37
+ };
38
+ };
39
+ size: {
40
+ xs: {
41
+ base: string;
42
+ item: string;
43
+ };
44
+ sm: {
45
+ base: string;
46
+ item: string;
47
+ };
48
+ md: {
49
+ base: string;
50
+ item: string;
51
+ };
52
+ lg: {
53
+ base: string;
54
+ item: string;
55
+ };
56
+ xl: {
57
+ base: string;
58
+ item: string;
59
+ };
60
+ };
61
+ prefix: {
62
+ true: "";
63
+ };
64
+ suffix: {
65
+ true: "";
66
+ };
67
+ loading: {
68
+ true: "";
69
+ };
70
+ underline: {
71
+ true: "";
72
+ };
73
+ highlight: {
74
+ true: "";
75
+ };
76
+ };
77
+ compoundVariants: ({
78
+ variant: ("soft" | "ghost" | "none")[];
79
+ highlight: false;
80
+ underline: true;
81
+ class: {
82
+ base: string;
83
+ item?: undefined;
84
+ prefixIcon?: undefined;
85
+ suffixIcon?: undefined;
86
+ };
87
+ size?: undefined;
88
+ loading?: undefined;
89
+ prefix?: undefined;
90
+ suffix?: undefined;
91
+ } | {
92
+ size: ("xs" | "sm" | "md")[];
93
+ class: {
94
+ base: string;
95
+ item: string;
96
+ prefixIcon?: undefined;
97
+ suffixIcon?: undefined;
98
+ };
99
+ variant?: undefined;
100
+ highlight?: undefined;
101
+ underline?: undefined;
102
+ loading?: undefined;
103
+ prefix?: undefined;
104
+ suffix?: undefined;
105
+ } | {
106
+ size: ("lg" | "xl")[];
107
+ class: {
108
+ base: string;
109
+ item: string;
110
+ prefixIcon?: undefined;
111
+ suffixIcon?: undefined;
112
+ };
113
+ variant?: undefined;
114
+ highlight?: undefined;
115
+ underline?: undefined;
116
+ loading?: undefined;
117
+ prefix?: undefined;
118
+ suffix?: undefined;
119
+ } | {
120
+ variant: ("soft" | "ghost" | "none")[];
121
+ highlight: true;
122
+ class: {
123
+ base: string;
124
+ item?: undefined;
125
+ prefixIcon?: undefined;
126
+ suffixIcon?: undefined;
127
+ };
128
+ underline?: undefined;
129
+ size?: undefined;
130
+ loading?: undefined;
131
+ prefix?: undefined;
132
+ suffix?: undefined;
133
+ } | {
134
+ variant: "outline"[];
135
+ highlight: true;
136
+ class: {
137
+ base: string;
138
+ item?: undefined;
139
+ prefixIcon?: undefined;
140
+ suffixIcon?: undefined;
141
+ };
142
+ underline?: undefined;
143
+ size?: undefined;
144
+ loading?: undefined;
145
+ prefix?: undefined;
146
+ suffix?: undefined;
147
+ } | {
148
+ loading: true;
149
+ prefix: true;
150
+ class: {
151
+ prefixIcon: string;
152
+ base?: undefined;
153
+ item?: undefined;
154
+ suffixIcon?: undefined;
155
+ };
156
+ variant?: undefined;
157
+ highlight?: undefined;
158
+ underline?: undefined;
159
+ size?: undefined;
160
+ suffix?: undefined;
161
+ } | {
162
+ loading: true;
163
+ prefix: false;
164
+ suffix: true;
165
+ class: {
166
+ suffixIcon: string;
167
+ base?: undefined;
168
+ item?: undefined;
169
+ prefixIcon?: undefined;
170
+ };
171
+ variant?: undefined;
172
+ highlight?: undefined;
173
+ underline?: undefined;
174
+ size?: undefined;
175
+ })[];
176
+ };
177
+ export default _default;
@@ -0,0 +1,154 @@
1
+ import { ct } from "@byyuurin/ui-kit";
2
+ export default ct({
3
+ slots: {
4
+ base: [
5
+ "bg-ui-c1 relative group rounded-ui-base inline-flex items-center gap-x-2 focus:outline-none transition-colors",
6
+ "disabled:cursor-not-allowed disabled:opacity-50"
7
+ ],
8
+ value: "me-auto truncate pointer-events-none",
9
+ placeholder: "me-auto truncate color-ui-cb/50",
10
+ arrow: "fill-ui-c1 stroke-ui-cb/10",
11
+ content: [
12
+ "max-h-60 w-[var(--reka-popper-anchor-width)] bg-ui-c1 shadow-lg rounded-[calc(var(--ui-radius-tabs)*0.66)] ring ring-ui-cb/10 overflow-hidden pointer-events-auto",
13
+ "data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]"
14
+ ],
15
+ viewport: "divide-y divide-ui-cb/10 scroll-py-1",
16
+ group: "p-1 isolate",
17
+ empty: "py-2 text-center text-sm color-ui-cb/50",
18
+ label: "font-semibold color-ui-cb cursor-pointer",
19
+ separator: "-mx-1 my-1 h-px bg-ui-cb/10",
20
+ item: [
21
+ "group relative w-full flex gap-2 items-center select-none outline-none color-ui-cb/50 transition-colors cursor-pointer",
22
+ "aria-disabled:cursor-not-allowed aria-disabled:opacity-50",
23
+ "before:content-empty before:absolute before:z-[-1] before:inset-px before:rounded-ui-base before:transition-colors",
24
+ "data-[highlighted]:color-ui-cb data-[highlighted]:before:bg-ui-cb/3",
25
+ "data-[state=checked]:color-ui-base"
26
+ ],
27
+ itemPrefixIcon: "shrink-0 color-ui-cb/80 group-data-[highlighted]:color-ui-cb/80 transition-colors",
28
+ itemSuffix: "ms-auto inline-flex gap-1.5 items-center",
29
+ itemSuffixIcon: "shrink-0",
30
+ itemLabel: "truncate",
31
+ prefix: "flex items-center",
32
+ prefixIcon: "shrink-0 size-1.25em",
33
+ suffix: "flex items-center",
34
+ suffixIcon: "shrink-0 size-1.25em"
35
+ },
36
+ variants: {
37
+ variant: {
38
+ outline: {
39
+ base: [
40
+ "color-ui-cb/80 bg-ui-c1 ring ring-inset ring-ui-cb/50",
41
+ "focus-within:ring-2 focus-within:ring-ui-cb/50",
42
+ "disabled:ring-ui-cb/80 hover:disabled:ring-ui-cb/80"
43
+ ]
44
+ },
45
+ soft: {
46
+ base: [
47
+ "color-ui-cb/80 bg-ui-cb/4",
48
+ "hover:bg-ui-cb/6 hover:color-ui-cb/80 focus-within:bg-ui-cb/8 focus-within:color-ui-cb/85",
49
+ "disabled:color-ui-content/80 disabled:bg-ui-fill/5 hover:disabled:color-ui-content/80 hover:disabled:bg-ui-fill/5"
50
+ ]
51
+ },
52
+ ghost: {
53
+ base: [
54
+ "color-ui-cb/80 bg-transparent",
55
+ "hover:bg-ui-cb/6 hover:color-ui-cb/80 focus-within:bg-ui-cb/8 focus-within:color-ui-cb/85",
56
+ "disabled:color-ui-fill/80 disabled:bg-transparent hover:disabled:color-ui-fill/80 hover:disabled:bg-transparent"
57
+ ]
58
+ },
59
+ none: {
60
+ base: "color-ui-cb bg-transparent"
61
+ }
62
+ },
63
+ size: {
64
+ xs: {
65
+ base: "text-xs",
66
+ item: "text-xs"
67
+ },
68
+ sm: {
69
+ base: "text-sm",
70
+ item: "text-sm"
71
+ },
72
+ md: {
73
+ base: "text-base",
74
+ item: "text-base"
75
+ },
76
+ lg: {
77
+ base: "text-lg",
78
+ item: "text-lg"
79
+ },
80
+ xl: {
81
+ base: "text-xl",
82
+ item: "text-xl"
83
+ }
84
+ },
85
+ prefix: {
86
+ true: ""
87
+ },
88
+ suffix: {
89
+ true: ""
90
+ },
91
+ loading: {
92
+ true: ""
93
+ },
94
+ underline: {
95
+ true: ""
96
+ },
97
+ highlight: {
98
+ true: ""
99
+ }
100
+ },
101
+ compoundVariants: [
102
+ {
103
+ variant: ["soft", "ghost", "none"],
104
+ highlight: false,
105
+ underline: true,
106
+ class: {
107
+ base: "relative after:content-empty after:absolute after:inset-x-0 after:bottom-0 after:h-1px after:bg-ui-cb/40"
108
+ }
109
+ },
110
+ {
111
+ size: ["xs", "sm", "md"],
112
+ class: {
113
+ base: "p-1.5 px-2.5",
114
+ item: "p-1.5 px-2.5"
115
+ }
116
+ },
117
+ {
118
+ size: ["lg", "xl"],
119
+ class: {
120
+ base: "p-2.5 px-3.5",
121
+ item: "p-2.5 px-3.5"
122
+ }
123
+ },
124
+ {
125
+ variant: ["soft", "ghost", "none"],
126
+ highlight: true,
127
+ class: {
128
+ base: "ring ring-inset ring-ui-fill/80"
129
+ }
130
+ },
131
+ {
132
+ variant: ["outline"],
133
+ highlight: true,
134
+ class: {
135
+ base: "ring-2 ring-ui-fill/80 focus-within:ring-ui-fill/80"
136
+ }
137
+ },
138
+ {
139
+ loading: true,
140
+ prefix: true,
141
+ class: {
142
+ prefixIcon: "animate-spin"
143
+ }
144
+ },
145
+ {
146
+ loading: true,
147
+ prefix: false,
148
+ suffix: true,
149
+ class: {
150
+ suffixIcon: "animate-spin"
151
+ }
152
+ }
153
+ ]
154
+ });
@@ -0,0 +1,131 @@
1
+ declare const _default: {
2
+ base: undefined;
3
+ slots: {
4
+ root: string;
5
+ base: string[];
6
+ container: string;
7
+ thumb: string[];
8
+ icon: string[];
9
+ wrapper: string;
10
+ label: string;
11
+ description: string;
12
+ };
13
+ variants: {
14
+ size: {
15
+ xs: {
16
+ root: string;
17
+ };
18
+ sm: {
19
+ root: string;
20
+ };
21
+ md: {
22
+ root: string;
23
+ };
24
+ lg: {
25
+ root: string;
26
+ };
27
+ xl: {
28
+ root: string;
29
+ };
30
+ };
31
+ round: {
32
+ true: {
33
+ base: string;
34
+ thumb: string;
35
+ };
36
+ };
37
+ checked: {
38
+ true: {
39
+ icon: string;
40
+ };
41
+ };
42
+ unchecked: {
43
+ true: {
44
+ icon: string;
45
+ };
46
+ };
47
+ loading: {
48
+ true: {
49
+ root: string;
50
+ icon: string;
51
+ };
52
+ };
53
+ required: {
54
+ true: {
55
+ label: string;
56
+ };
57
+ };
58
+ disabled: {
59
+ true: {
60
+ root: string;
61
+ };
62
+ false: {
63
+ label: string;
64
+ };
65
+ };
66
+ };
67
+ compoundVariants: import("@byyuurin/ui-kit/index").CVCompoundVariants<{
68
+ size: {
69
+ xs: {
70
+ root: string;
71
+ };
72
+ sm: {
73
+ root: string;
74
+ };
75
+ md: {
76
+ root: string;
77
+ };
78
+ lg: {
79
+ root: string;
80
+ };
81
+ xl: {
82
+ root: string;
83
+ };
84
+ };
85
+ round: {
86
+ true: {
87
+ base: string;
88
+ thumb: string;
89
+ };
90
+ };
91
+ checked: {
92
+ true: {
93
+ icon: string;
94
+ };
95
+ };
96
+ unchecked: {
97
+ true: {
98
+ icon: string;
99
+ };
100
+ };
101
+ loading: {
102
+ true: {
103
+ root: string;
104
+ icon: string;
105
+ };
106
+ };
107
+ required: {
108
+ true: {
109
+ label: string;
110
+ };
111
+ };
112
+ disabled: {
113
+ true: {
114
+ root: string;
115
+ };
116
+ false: {
117
+ label: string;
118
+ };
119
+ };
120
+ }, {
121
+ root: string;
122
+ base: string[];
123
+ container: string;
124
+ thumb: string[];
125
+ icon: string[];
126
+ wrapper: string;
127
+ label: string;
128
+ description: string;
129
+ }, undefined>;
130
+ };
131
+ export default _default;
@@ -0,0 +1,78 @@
1
+ import { ct } from "@byyuurin/ui-kit";
2
+ export default ct({
3
+ slots: {
4
+ root: "relative flex items-start",
5
+ base: [
6
+ "inline-flex items-center shrink-0 rounded-ui-base border-2 border-transparent transition-colors duration-200",
7
+ "focus-visible:outline-2 focus-visible:outline-offset-2",
8
+ "data-[state=unchecked]:bg-ui-cb/10 data-[state=checked]:bg-ui-fill/80 focus-visible:outline-ui-base",
9
+ "w-2.7em"
10
+ ],
11
+ container: "flex items-center h-1.5em",
12
+ thumb: [
13
+ "group pointer-events-none rounded-ui-base size-1.25em bg-ui-c1 shadow-lg ring-0 transition-transform duration-200 flex items-center justify-center",
14
+ "data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:translate-x-0 data-[state=checked]:translate-x-1.25em data-[state=checked]:rtl:-translate-x-1.25em"
15
+ ],
16
+ icon: [
17
+ "absolute shrink-0 opacity-0 size-10/12 transition-[color,opacity] duration-200",
18
+ "group-data-[state=unchecked]:color-ui-cb/50 group-data-[state=checked]:color-ui-base"
19
+ ],
20
+ wrapper: "ms-2",
21
+ label: "flex color-ui-cb/80",
22
+ description: "color-ui-cb/60"
23
+ },
24
+ variants: {
25
+ size: {
26
+ xs: {
27
+ root: "text-xs"
28
+ },
29
+ sm: {
30
+ root: "text-sm"
31
+ },
32
+ md: {
33
+ root: "text-base"
34
+ },
35
+ lg: {
36
+ root: "text-lg"
37
+ },
38
+ xl: {
39
+ root: "text-xl"
40
+ }
41
+ },
42
+ round: {
43
+ true: {
44
+ base: "rounded-full",
45
+ thumb: "rounded-full"
46
+ }
47
+ },
48
+ checked: {
49
+ true: {
50
+ icon: "group-data-[state=checked]:opacity-100"
51
+ }
52
+ },
53
+ unchecked: {
54
+ true: {
55
+ icon: "group-data-[state=unchecked]:opacity-100"
56
+ }
57
+ },
58
+ loading: {
59
+ true: {
60
+ root: "opacity-50 after:content-empty after:absolute after:inset-0 after:cursor-not-allowed",
61
+ icon: "animate-spin"
62
+ }
63
+ },
64
+ required: {
65
+ true: {
66
+ label: `after:content-['*'] after:ms-0.5`
67
+ }
68
+ },
69
+ disabled: {
70
+ true: {
71
+ root: "opacity-50 after:content-empty after:absolute after:inset-0 after:cursor-not-allowed"
72
+ },
73
+ false: {
74
+ label: "cursor-pointer"
75
+ }
76
+ }
77
+ }
78
+ });
@@ -0,0 +1,101 @@
1
+ declare const _default: {
2
+ base: undefined;
3
+ slots: {
4
+ root: string;
5
+ list: string;
6
+ indicator: string;
7
+ trigger: string[];
8
+ content: string;
9
+ leadingIcon: string;
10
+ label: string;
11
+ };
12
+ variants: {
13
+ variant: {
14
+ solid: {
15
+ list: string;
16
+ trigger: string[];
17
+ indicator: string;
18
+ };
19
+ soft: {
20
+ list: string;
21
+ trigger: string[];
22
+ indicator: string;
23
+ };
24
+ link: {
25
+ list: string;
26
+ indicator: string;
27
+ trigger: string[];
28
+ };
29
+ };
30
+ orientation: {
31
+ horizontal: {
32
+ root: string;
33
+ list: string;
34
+ indicator: string;
35
+ trigger: string;
36
+ };
37
+ vertical: {
38
+ list: string;
39
+ indicator: string;
40
+ trigger: string;
41
+ };
42
+ };
43
+ size: {
44
+ xs: {
45
+ trigger: string;
46
+ leadingIcon: string;
47
+ };
48
+ sm: {
49
+ trigger: string;
50
+ leadingIcon: string;
51
+ };
52
+ md: {
53
+ trigger: string;
54
+ leadingIcon: string;
55
+ };
56
+ lg: {
57
+ trigger: string;
58
+ leadingIcon: string;
59
+ };
60
+ xl: {
61
+ trigger: string;
62
+ leadingIcon: string;
63
+ };
64
+ };
65
+ full: {
66
+ true: {
67
+ trigger: string;
68
+ };
69
+ };
70
+ };
71
+ compoundVariants: ({
72
+ orientation: "horizontal";
73
+ variant: ("solid" | "soft")[];
74
+ class: {
75
+ indicator: string;
76
+ list?: undefined;
77
+ };
78
+ } | {
79
+ orientation: "horizontal";
80
+ variant: "link";
81
+ class: {
82
+ list: string;
83
+ indicator: string;
84
+ };
85
+ } | {
86
+ orientation: "vertical";
87
+ variant: ("solid" | "soft")[];
88
+ class: {
89
+ indicator: string;
90
+ list: string;
91
+ };
92
+ } | {
93
+ orientation: "vertical";
94
+ variant: "link";
95
+ class: {
96
+ list: string;
97
+ indicator: string;
98
+ };
99
+ })[];
100
+ };
101
+ export default _default;