Skip to content
This repository was archived by the owner on Sep 24, 2024. It is now read-only.

Commit 020cf0c

Browse files
authored
Merge pull request #88 from selemondev/fix-button-variants
fix: button variants
2 parents 0bc919e + 652e259 commit 020cf0c

File tree

5 files changed

+179
-15
lines changed

5 files changed

+179
-15
lines changed

CHANGELOG.md

+156
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,162 @@
11
# Changelog
22

33

4+
## v0.0.3
5+
6+
7+
### 🚀 Enhancements
8+
9+
- **app:** #1 Icon ([#1](https://github.com/selemondev/nuxtlabs-ui-vue/issues/1))
10+
- **app:** #9 Link ([#9](https://github.com/selemondev/nuxtlabs-ui-vue/issues/9))
11+
- **app:** #6 Button ([#6](https://github.com/selemondev/nuxtlabs-ui-vue/issues/6))
12+
- **app:** #36 This pull request is intended to close issue #36 ([#36](https://github.com/selemondev/nuxtlabs-ui-vue/issues/36))
13+
- **app:** #4 Avatar ([#4](https://github.com/selemondev/nuxtlabs-ui-vue/issues/4))
14+
- **app:** #39 AvatarGroup ([#39](https://github.com/selemondev/nuxtlabs-ui-vue/issues/39))
15+
- **app:** #2 Accordion ([#2](https://github.com/selemondev/nuxtlabs-ui-vue/issues/2))
16+
- **app:** #3 Alert ([#3](https://github.com/selemondev/nuxtlabs-ui-vue/issues/3))
17+
- **app:** #5 Badge ([#5](https://github.com/selemondev/nuxtlabs-ui-vue/issues/5))
18+
- **app:** #7 Dropdown ([#7](https://github.com/selemondev/nuxtlabs-ui-vue/issues/7))
19+
- **app:** #10 Input ([#10](https://github.com/selemondev/nuxtlabs-ui-vue/issues/10))
20+
- **app:** #11 Textarea ([#11](https://github.com/selemondev/nuxtlabs-ui-vue/issues/11))
21+
- **app:** #12 Select ([#12](https://github.com/selemondev/nuxtlabs-ui-vue/issues/12))
22+
- **app:** #13 Select Menu ([#13](https://github.com/selemondev/nuxtlabs-ui-vue/issues/13))
23+
- **app:** #14 Checkbox ([#14](https://github.com/selemondev/nuxtlabs-ui-vue/issues/14))
24+
- **app:** #15 Radio ([#15](https://github.com/selemondev/nuxtlabs-ui-vue/issues/15))
25+
- **app:** #16 Toggle ([#16](https://github.com/selemondev/nuxtlabs-ui-vue/issues/16))
26+
- **app:** #17 Range ([#17](https://github.com/selemondev/nuxtlabs-ui-vue/issues/17))
27+
- **app:** #18 FormGroup ([#18](https://github.com/selemondev/nuxtlabs-ui-vue/issues/18))
28+
- **app:** #19 Table ([#19](https://github.com/selemondev/nuxtlabs-ui-vue/issues/19))
29+
- **app:** #20 Vertical Navigation ([#20](https://github.com/selemondev/nuxtlabs-ui-vue/issues/20))
30+
- **app:** #21 Command Palette ([#21](https://github.com/selemondev/nuxtlabs-ui-vue/issues/21))
31+
- **app:** #22 Pagination ([#22](https://github.com/selemondev/nuxtlabs-ui-vue/issues/22))
32+
- **app:** #22 Pagination ([#22](https://github.com/selemondev/nuxtlabs-ui-vue/issues/22))
33+
- **app:** #23 Tabs ([#23](https://github.com/selemondev/nuxtlabs-ui-vue/issues/23))
34+
- **app:** #24 Modal ([#24](https://github.com/selemondev/nuxtlabs-ui-vue/issues/24))
35+
- **app:** #25 Slideover ([#25](https://github.com/selemondev/nuxtlabs-ui-vue/issues/25))
36+
- **app:** #26 Popover ([#26](https://github.com/selemondev/nuxtlabs-ui-vue/issues/26))
37+
- **app:** #27 Tooltip ([#27](https://github.com/selemondev/nuxtlabs-ui-vue/issues/27))
38+
- **app:** #28 Context Menu ([#28](https://github.com/selemondev/nuxtlabs-ui-vue/issues/28))
39+
- **app:** #29 Notification ([#29](https://github.com/selemondev/nuxtlabs-ui-vue/issues/29))
40+
- **app:** #30 Card ([#30](https://github.com/selemondev/nuxtlabs-ui-vue/issues/30))
41+
- **app:** #31 Container ([#31](https://github.com/selemondev/nuxtlabs-ui-vue/issues/31))
42+
- **app:** #32 Skeleton ([#32](https://github.com/selemondev/nuxtlabs-ui-vue/issues/32))
43+
- **app:** Auto imports ([2fd26ea](https://github.com/selemondev/nuxtlabs-ui-vue/commit/2fd26ea))
44+
45+
### 🩹 Fixes
46+
47+
- **app:** Fix Link component ([f26f487](https://github.com/selemondev/nuxtlabs-ui-vue/commit/f26f487))
48+
- **app:** Form inputs' borders ([391918e](https://github.com/selemondev/nuxtlabs-ui-vue/commit/391918e))
49+
- **app:** Remove redundant code ([52f0f18](https://github.com/selemondev/nuxtlabs-ui-vue/commit/52f0f18))
50+
- **app:** Component variants ([b28aca1](https://github.com/selemondev/nuxtlabs-ui-vue/commit/b28aca1))
51+
- **app:** Components' variant ([774600d](https://github.com/selemondev/nuxtlabs-ui-vue/commit/774600d))
52+
- Github actions ([091650f](https://github.com/selemondev/nuxtlabs-ui-vue/commit/091650f))
53+
- Slideover transitions ([7bd3ba4](https://github.com/selemondev/nuxtlabs-ui-vue/commit/7bd3ba4))
54+
- Import paths ([329bf20](https://github.com/selemondev/nuxtlabs-ui-vue/commit/329bf20))
55+
56+
### 📖 Documentation
57+
58+
- README ([a41e3b9](https://github.com/selemondev/nuxtlabs-ui-vue/commit/a41e3b9))
59+
60+
### 🏡 Chore
61+
62+
- Update workflow ([bec49af](https://github.com/selemondev/nuxtlabs-ui-vue/commit/bec49af))
63+
- Update workflow ([4257469](https://github.com/selemondev/nuxtlabs-ui-vue/commit/4257469))
64+
- Remove logs ([16ae9ee](https://github.com/selemondev/nuxtlabs-ui-vue/commit/16ae9ee))
65+
- Update eslint rules ([81fcc20](https://github.com/selemondev/nuxtlabs-ui-vue/commit/81fcc20))
66+
- Update .gitignore ([05aa79e](https://github.com/selemondev/nuxtlabs-ui-vue/commit/05aa79e))
67+
- Update files ([4512065](https://github.com/selemondev/nuxtlabs-ui-vue/commit/4512065))
68+
- Update workspace ([ace6a33](https://github.com/selemondev/nuxtlabs-ui-vue/commit/ace6a33))
69+
- **release:** V0.0.1 ([6988c92](https://github.com/selemondev/nuxtlabs-ui-vue/commit/6988c92))
70+
- Release v0.0.1 ([0e247e7](https://github.com/selemondev/nuxtlabs-ui-vue/commit/0e247e7))
71+
- Release v0.0.2 ([4ab699d](https://github.com/selemondev/nuxtlabs-ui-vue/commit/4ab699d))
72+
- Release v0.1.0 ([43f011a](https://github.com/selemondev/nuxtlabs-ui-vue/commit/43f011a))
73+
- Release v0.1.1 ([0c92c7b](https://github.com/selemondev/nuxtlabs-ui-vue/commit/0c92c7b))
74+
- Release v0.1.2 ([62eec9b](https://github.com/selemondev/nuxtlabs-ui-vue/commit/62eec9b))
75+
- Release v0.1.3 ([da1a768](https://github.com/selemondev/nuxtlabs-ui-vue/commit/da1a768))
76+
77+
### ❤️ Contributors
78+
79+
- Selemondev <selemondev@Selemondevs-MacBook-Pro.local>
80+
- System Administrator <root@Selemondevs-MacBook-Pro.local>
81+
82+
## v0.0.2
83+
84+
85+
### 🚀 Enhancements
86+
87+
- **app:** #1 Icon ([#1](https://github.com/selemondev/nuxtlabs-ui-vue/issues/1))
88+
- **app:** #9 Link ([#9](https://github.com/selemondev/nuxtlabs-ui-vue/issues/9))
89+
- **app:** #6 Button ([#6](https://github.com/selemondev/nuxtlabs-ui-vue/issues/6))
90+
- **app:** #36 This pull request is intended to close issue #36 ([#36](https://github.com/selemondev/nuxtlabs-ui-vue/issues/36))
91+
- **app:** #4 Avatar ([#4](https://github.com/selemondev/nuxtlabs-ui-vue/issues/4))
92+
- **app:** #39 AvatarGroup ([#39](https://github.com/selemondev/nuxtlabs-ui-vue/issues/39))
93+
- **app:** #2 Accordion ([#2](https://github.com/selemondev/nuxtlabs-ui-vue/issues/2))
94+
- **app:** #3 Alert ([#3](https://github.com/selemondev/nuxtlabs-ui-vue/issues/3))
95+
- **app:** #5 Badge ([#5](https://github.com/selemondev/nuxtlabs-ui-vue/issues/5))
96+
- **app:** #7 Dropdown ([#7](https://github.com/selemondev/nuxtlabs-ui-vue/issues/7))
97+
- **app:** #10 Input ([#10](https://github.com/selemondev/nuxtlabs-ui-vue/issues/10))
98+
- **app:** #11 Textarea ([#11](https://github.com/selemondev/nuxtlabs-ui-vue/issues/11))
99+
- **app:** #12 Select ([#12](https://github.com/selemondev/nuxtlabs-ui-vue/issues/12))
100+
- **app:** #13 Select Menu ([#13](https://github.com/selemondev/nuxtlabs-ui-vue/issues/13))
101+
- **app:** #14 Checkbox ([#14](https://github.com/selemondev/nuxtlabs-ui-vue/issues/14))
102+
- **app:** #15 Radio ([#15](https://github.com/selemondev/nuxtlabs-ui-vue/issues/15))
103+
- **app:** #16 Toggle ([#16](https://github.com/selemondev/nuxtlabs-ui-vue/issues/16))
104+
- **app:** #17 Range ([#17](https://github.com/selemondev/nuxtlabs-ui-vue/issues/17))
105+
- **app:** #18 FormGroup ([#18](https://github.com/selemondev/nuxtlabs-ui-vue/issues/18))
106+
- **app:** #19 Table ([#19](https://github.com/selemondev/nuxtlabs-ui-vue/issues/19))
107+
- **app:** #20 Vertical Navigation ([#20](https://github.com/selemondev/nuxtlabs-ui-vue/issues/20))
108+
- **app:** #21 Command Palette ([#21](https://github.com/selemondev/nuxtlabs-ui-vue/issues/21))
109+
- **app:** #22 Pagination ([#22](https://github.com/selemondev/nuxtlabs-ui-vue/issues/22))
110+
- **app:** #22 Pagination ([#22](https://github.com/selemondev/nuxtlabs-ui-vue/issues/22))
111+
- **app:** #23 Tabs ([#23](https://github.com/selemondev/nuxtlabs-ui-vue/issues/23))
112+
- **app:** #24 Modal ([#24](https://github.com/selemondev/nuxtlabs-ui-vue/issues/24))
113+
- **app:** #25 Slideover ([#25](https://github.com/selemondev/nuxtlabs-ui-vue/issues/25))
114+
- **app:** #26 Popover ([#26](https://github.com/selemondev/nuxtlabs-ui-vue/issues/26))
115+
- **app:** #27 Tooltip ([#27](https://github.com/selemondev/nuxtlabs-ui-vue/issues/27))
116+
- **app:** #28 Context Menu ([#28](https://github.com/selemondev/nuxtlabs-ui-vue/issues/28))
117+
- **app:** #29 Notification ([#29](https://github.com/selemondev/nuxtlabs-ui-vue/issues/29))
118+
- **app:** #30 Card ([#30](https://github.com/selemondev/nuxtlabs-ui-vue/issues/30))
119+
- **app:** #31 Container ([#31](https://github.com/selemondev/nuxtlabs-ui-vue/issues/31))
120+
- **app:** #32 Skeleton ([#32](https://github.com/selemondev/nuxtlabs-ui-vue/issues/32))
121+
- **app:** Auto imports ([2fd26ea](https://github.com/selemondev/nuxtlabs-ui-vue/commit/2fd26ea))
122+
123+
### 🩹 Fixes
124+
125+
- **app:** Fix Link component ([f26f487](https://github.com/selemondev/nuxtlabs-ui-vue/commit/f26f487))
126+
- **app:** Form inputs' borders ([391918e](https://github.com/selemondev/nuxtlabs-ui-vue/commit/391918e))
127+
- **app:** Remove redundant code ([52f0f18](https://github.com/selemondev/nuxtlabs-ui-vue/commit/52f0f18))
128+
- **app:** Component variants ([b28aca1](https://github.com/selemondev/nuxtlabs-ui-vue/commit/b28aca1))
129+
- **app:** Components' variant ([774600d](https://github.com/selemondev/nuxtlabs-ui-vue/commit/774600d))
130+
- Github actions ([091650f](https://github.com/selemondev/nuxtlabs-ui-vue/commit/091650f))
131+
- Slideover transitions ([7bd3ba4](https://github.com/selemondev/nuxtlabs-ui-vue/commit/7bd3ba4))
132+
- Import paths ([329bf20](https://github.com/selemondev/nuxtlabs-ui-vue/commit/329bf20))
133+
134+
### 📖 Documentation
135+
136+
- README ([a41e3b9](https://github.com/selemondev/nuxtlabs-ui-vue/commit/a41e3b9))
137+
138+
### 🏡 Chore
139+
140+
- Update workflow ([bec49af](https://github.com/selemondev/nuxtlabs-ui-vue/commit/bec49af))
141+
- Update workflow ([4257469](https://github.com/selemondev/nuxtlabs-ui-vue/commit/4257469))
142+
- Remove logs ([16ae9ee](https://github.com/selemondev/nuxtlabs-ui-vue/commit/16ae9ee))
143+
- Update eslint rules ([81fcc20](https://github.com/selemondev/nuxtlabs-ui-vue/commit/81fcc20))
144+
- Update .gitignore ([05aa79e](https://github.com/selemondev/nuxtlabs-ui-vue/commit/05aa79e))
145+
- Update files ([4512065](https://github.com/selemondev/nuxtlabs-ui-vue/commit/4512065))
146+
- Update workspace ([ace6a33](https://github.com/selemondev/nuxtlabs-ui-vue/commit/ace6a33))
147+
- **release:** V0.0.1 ([6988c92](https://github.com/selemondev/nuxtlabs-ui-vue/commit/6988c92))
148+
- Release v0.0.1 ([0e247e7](https://github.com/selemondev/nuxtlabs-ui-vue/commit/0e247e7))
149+
- Release v0.0.2 ([4ab699d](https://github.com/selemondev/nuxtlabs-ui-vue/commit/4ab699d))
150+
- Release v0.1.0 ([43f011a](https://github.com/selemondev/nuxtlabs-ui-vue/commit/43f011a))
151+
- Release v0.1.1 ([0c92c7b](https://github.com/selemondev/nuxtlabs-ui-vue/commit/0c92c7b))
152+
- Release v0.1.2 ([62eec9b](https://github.com/selemondev/nuxtlabs-ui-vue/commit/62eec9b))
153+
- Release v0.1.3 ([da1a768](https://github.com/selemondev/nuxtlabs-ui-vue/commit/da1a768))
154+
155+
### ❤️ Contributors
156+
157+
- Selemondev <selemondev@Selemondevs-MacBook-Pro.local>
158+
- System Administrator <root@Selemondevs-MacBook-Pro.local>
159+
4160
## v0.0.1
5161

6162

README.md

+14-10
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ app.mount('#app')
145145

146146
2. Now you can use the component as shown below:
147147

148-
```js
148+
```vue
149149
<script setup lang='ts'>
150150
const items = [
151151
[{
@@ -158,6 +158,7 @@ const items = [
158158
icon: 'heroicons:pencil-square-20-solid',
159159
shortcuts: ['E'],
160160
click: () => {
161+
// eslint-disable-next-line no-console
161162
console.log('Edit')
162163
}
163164
}, {
@@ -258,7 +259,7 @@ export default defineConfig({
258259

259260
4. Now you can simply use any component that you want and it will be auto imported on demand ✨
260261

261-
```js
262+
```vue
262263
<script setup lang='ts'>
263264
const items = [
264265
[{
@@ -271,6 +272,7 @@ const items = [
271272
icon: 'heroicons:pencil-square-20-solid',
272273
shortcuts: ['E'],
273274
click: () => {
275+
// eslint-disable-next-line no-console
274276
console.log('Edit')
275277
}
276278
}, {
@@ -324,15 +326,17 @@ In regards to customization, NuxtLabs UI Vue offers two ways of customizing your
324326
325327
Here is an example of customizing a `UButton` component through the `variants` property:
326328
327-
```js
329+
```vue
328330
<template>
329-
<div>
330-
<UButton :variants="{
331-
'my-variant': {
332-
rounded: 'rounded-full'
333-
}
334-
}" :variant="['my-variant']" color="red" label="Button" />
335-
</div>
331+
<div>
332+
<UButton
333+
:variants="{
334+
'my-variant': {
335+
rounded: 'rounded-full',
336+
},
337+
}" :variant="['my-variant']" color="red" label="Button"
338+
/>
339+
</div>
336340
</template>
337341
```
338342

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@nuxtlabsui/vue-monorepo",
3-
"version": "0.0.1",
3+
"version": "0.0.3",
44
"private": false,
55
"scripts": {
66
"build": "rimraf packages/*/{dist,es,lib} && nr -r -F \"./packages/nuxtlabs-ui-vue\" build",
@@ -44,4 +44,4 @@
4444
"pnpm lint:fix"
4545
]
4646
}
47-
}
47+
}

packages/nuxtlabs-ui-vue/src/components/elements/Button/UButton.vue

+2
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ const buttonClass = computed(() => {
160160
nuxtLabsTheme.UButton.base.gap[props.size],
161161
props.padded && nuxtLabsTheme.UButton.base[isSquare.value ? 'square' : 'padding'][props.size],
162162
variants.replaceAll('{color}', props.color),
163+
props.disabled && variant.value.buttonDisabled,
164+
(props.loading) && variant.value.buttonLoading,
163165
props.block ? variant.value.block : variant.value.normal,
164166
)
165167
})

packages/nuxtlabs-ui-vue/src/theme/nuxtLabsTheme.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -196,11 +196,13 @@ export default {
196196

197197
UButton: {
198198
base: {
199-
root: 'focus:outline-none focus-visible:outline-0 disabled:cursor-not-allowed disabled:opacity-75 flex-shrink-0',
199+
root: 'focus:outline-none text-white dark:text-white block font-medium focus-visible:outline-0 rounded-md disabled:cursor-not-allowed disabled:opacity-75 flex-shrink-0 transition-all duration-200 ease-in',
200200
font: 'font-medium',
201201
rounded: 'rounded-md',
202202
block: 'w-full flex justify-center items-center',
203203
normal: 'inline-flex items-center',
204+
buttonLoading: '!bg-opacity-50 opacity-50 pointer-events-none !cursor-not-allowed !hover:bg-opacity-50 inline-flex items-center',
205+
buttonDisabled: '!shadow-none !cursor-not-allowed pointer-events-none opacity-50',
204206
truncate: 'text-left break-all line-clamp-1',
205207
size: {
206208
'2xs': 'text-xs',
@@ -272,7 +274,7 @@ export default {
272274
size: 'sm',
273275
intent: 'solid',
274276
color: 'green',
275-
loadingIcon: 'svg-spinners:bars-rotate-fade',
277+
loadingIcon: 'heroicons:arrow-path-20-solid',
276278
},
277279
},
278280

@@ -282,7 +284,7 @@ export default {
282284
size: 'sm',
283285
intent: 'solid',
284286
color: 'green',
285-
loadingIcon: 'svg-spinners:bars-rotate-fade',
287+
loadingIcon: 'heroicons:arrow-path-20-solid',
286288
},
287289
intent: {
288290
solid: 'shadow-sm text-white dark:text-gray-900 bg-{color}-500 hover:enabled:bg-{color}-600 disabled:bg-{color}-500 dark:bg-{color}-400 dark:hover:enabled:bg-{color}-500 dark:disabled:bg-{color}-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-{color}-500 dark:focus-visible:outline-{color}-400',

0 commit comments

Comments
 (0)