@hemia/lume-registry 0.0.1 → 0.0.2
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.
- package/package.json +1 -1
- package/registry/vue/alert/alert.vue +4 -4
- package/registry/vue/alertdialog/alertdialog-content.vue +1 -1
- package/registry/vue/alertdialog/alertdialog-footer.vue +1 -1
- package/registry/vue/badge/badge.vue +7 -7
- package/registry/vue/button/button.vue +10 -10
- package/registry/vue/card/card-footer.vue +1 -1
- package/registry/vue/field/field-group.vue +1 -1
- package/registry/vue/textfield/textfield.vue +9 -9
package/package.json
CHANGED
|
@@ -4,15 +4,15 @@ import { cva, type VariantProps } from "class-variance-authority"
|
|
|
4
4
|
import { cn } from "@hemia/lume-vue"
|
|
5
5
|
|
|
6
6
|
const alertVariants = cva(
|
|
7
|
-
"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
|
|
7
|
+
"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-lume-foreground",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
variant: {
|
|
11
|
-
default: "bg-muted/50 text-foreground border-border",
|
|
11
|
+
default: "bg-lume-muted/50 text-lume-foreground border-lume-border",
|
|
12
12
|
destructive:
|
|
13
|
-
"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive bg-destructive/10 dark:bg-destructive/20",
|
|
13
|
+
"border-lume-destructive/50 text-lume-destructive dark:border-lume-destructive [&>svg]:text-lume-destructive bg-lume-destructive/10 dark:bg-lume-destructive/20",
|
|
14
14
|
tonal:
|
|
15
|
-
"border-transparent bg-destructive/10 text-destructive dark:bg-destructive/30 dark:text-destructive-200",
|
|
15
|
+
"border-transparent bg-lume-destructive/10 text-lume-destructive dark:bg-lume-destructive/30 dark:text-lume-destructive-200",
|
|
16
16
|
success:
|
|
17
17
|
"border-transparent bg-emerald-500/10 text-emerald-700 dark:text-emerald-200 dark:bg-emerald-500/30",
|
|
18
18
|
warning:
|
|
@@ -65,7 +65,7 @@ const isCentered = computed(() => props.size === 'sm')
|
|
|
65
65
|
>
|
|
66
66
|
<div
|
|
67
67
|
v-if="isOpen"
|
|
68
|
-
class="fixed left-[50%] top-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] gap-0 border bg-background shadow-lg duration-200 sm:rounded-lg"
|
|
68
|
+
class="fixed left-[50%] top-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] gap-0 border bg-lume-background shadow-lg duration-200 sm:rounded-lg"
|
|
69
69
|
:class="cn(sizeClasses, isCentered && 'text-center', props.class)"
|
|
70
70
|
>
|
|
71
71
|
<slot />
|
|
@@ -24,7 +24,7 @@ const isSm = computed(() => size === 'sm')
|
|
|
24
24
|
isSm
|
|
25
25
|
? 'flex-col-reverse'
|
|
26
26
|
: 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',
|
|
27
|
-
'bg-muted/50 rounded-b-lg px-6 py-4 dark:bg-muted/30',
|
|
27
|
+
'bg-lume-muted/50 rounded-b-lg px-6 py-4 dark:bg-lume-muted/30',
|
|
28
28
|
isSm && 'grid grid-cols-2 gap-2',
|
|
29
29
|
props.class
|
|
30
30
|
)"
|
|
@@ -3,19 +3,19 @@ import { cva, type VariantProps } from "class-variance-authority"
|
|
|
3
3
|
import { cn } from "@hemia/lume-vue"
|
|
4
4
|
|
|
5
5
|
const badgeVariants = cva(
|
|
6
|
-
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
6
|
+
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-lume-ring focus:ring-offset-2",
|
|
7
7
|
{
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
10
10
|
default:
|
|
11
|
-
"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
|
|
11
|
+
"border-transparent bg-lume-primary text-lume-primary-foreground shadow hover:bg-lume-primary/80",
|
|
12
12
|
secondary:
|
|
13
|
-
"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
13
|
+
"border-transparent bg-lume-secondary text-lume-secondary-foreground hover:bg-lume-secondary/80",
|
|
14
14
|
destructive:
|
|
15
|
-
"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
|
|
16
|
-
outline: "text-foreground",
|
|
17
|
-
ghost: "border-transparent hover:bg-accent hover:text-accent-foreground",
|
|
18
|
-
link: "border-transparent text-primary underline-offset-4 hover:underline",
|
|
15
|
+
"border-transparent bg-lume-destructive text-lume-destructive-foreground shadow hover:bg-lume-destructive/80",
|
|
16
|
+
outline: "text-lume-foreground",
|
|
17
|
+
ghost: "border-transparent hover:bg-lume-accent hover:text-lume-accent-foreground",
|
|
18
|
+
link: "border-transparent text-lume-primary underline-offset-4 hover:underline",
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
21
|
defaultVariants: {
|
|
@@ -3,25 +3,25 @@ import { cva, type VariantProps } from "class-variance-authority"
|
|
|
3
3
|
import { cn } from "@hemia/lume-vue"
|
|
4
4
|
|
|
5
5
|
const buttonVariants = cva(
|
|
6
|
-
"group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap rounded-[calc(var(--radius)*2.6)] border border-transparent bg-clip-padding text-sm font-medium transition-all outline-none select-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
6
|
+
"group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap rounded-[calc(var(--lume-radius)*2.6)] border border-transparent bg-clip-padding text-sm font-medium transition-all outline-none select-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-lume-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
7
7
|
{
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
10
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
10
|
+
default: "bg-lume-primary text-lume-primary-foreground hover:bg-lume-primary/90",
|
|
11
11
|
destructive:
|
|
12
|
-
"bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
12
|
+
"bg-lume-destructive text-lume-destructive-foreground hover:bg-lume-destructive/90",
|
|
13
13
|
outline:
|
|
14
|
-
"border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
14
|
+
"border-lume-input bg-lume-background hover:bg-lume-accent hover:text-lume-accent-foreground",
|
|
15
15
|
secondary:
|
|
16
|
-
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
17
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
18
|
-
link: "text-primary underline-offset-4 hover:underline",
|
|
16
|
+
"bg-lume-secondary text-lume-secondary-foreground hover:bg-lume-secondary/80",
|
|
17
|
+
ghost: "hover:bg-lume-accent hover:text-lume-accent-foreground",
|
|
18
|
+
link: "text-lume-primary underline-offset-4 hover:underline",
|
|
19
19
|
},
|
|
20
20
|
size: {
|
|
21
21
|
default: "h-9 px-4 py-2",
|
|
22
|
-
xs: "h-7 rounded-
|
|
23
|
-
sm: "h-8 rounded-
|
|
24
|
-
lg: "h-10 rounded-
|
|
22
|
+
xs: "h-7 rounded-[var(--lume-radius-sm)] px-2 text-xs [&_svg:not([class*='size-'])]:size-3",
|
|
23
|
+
sm: "h-8 rounded-[calc(var(--lume-radius)*1.5)] px-3",
|
|
24
|
+
lg: "h-10 rounded-[calc(var(--lume-radius)*2)] px-8",
|
|
25
25
|
icon: "size-9",
|
|
26
26
|
"icon-xs": "size-7 [&_svg:not([class*='size-'])]:size-3",
|
|
27
27
|
"icon-sm": "size-8",
|
|
@@ -16,7 +16,7 @@ const props = defineProps<{
|
|
|
16
16
|
isSm
|
|
17
17
|
? 'flex-col-reverse w-[calc(100%+1rem)] -mx-2 -mb-2 px-2'
|
|
18
18
|
: 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 -mx-6 -mb-6 px-6',
|
|
19
|
-
'bg-muted/50 rounded-b-xl dark:bg-muted/30 py-3',
|
|
19
|
+
'bg-lume-muted/50 rounded-b-xl dark:bg-lume-muted/30 py-3',
|
|
20
20
|
props.class
|
|
21
21
|
)">
|
|
22
22
|
<slot />
|
|
@@ -3,7 +3,7 @@ import { cva } from "class-variance-authority"
|
|
|
3
3
|
import { cn } from "@hemia/lume-vue"
|
|
4
4
|
|
|
5
5
|
const fieldGroupVariants = cva(
|
|
6
|
-
"flex flex-wrap items-center gap-2 has-[input:focus]:rounded-lg has-[input:focus]:border-ring has-[input:focus]:ring-3 has-[input:focus]:ring-ring/50"
|
|
6
|
+
"flex flex-wrap items-center gap-2 has-[input:focus]:rounded-lg has-[input:focus]:border-lume-ring has-[input:focus]:ring-3 has-[input:focus]:ring-lume-ring/50"
|
|
7
7
|
)
|
|
8
8
|
|
|
9
9
|
const props = defineProps<{
|
|
@@ -4,12 +4,12 @@ import { cn } from "@hemia/lume-vue"
|
|
|
4
4
|
import { Field, FieldLabel, FieldDescription, FieldGroup } from "../field/index"
|
|
5
5
|
|
|
6
6
|
const textfieldVariants = cva(
|
|
7
|
-
"flex h-9 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-0 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
7
|
+
"flex h-9 w-full min-w-0 rounded-lg border border-lume-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-lume-foreground placeholder:text-lume-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-lume-input/50 disabled:opacity-50 focus-visible:ring-2 focus-visible:ring-lume-ring focus-visible:ring-offset-0 aria-invalid:border-lume-destructive aria-invalid:ring-3 aria-invalid:ring-lume-destructive/20 md:text-sm dark:bg-lume-input/30 dark:disabled:bg-lume-input/80 dark:aria-invalid:border-lume-destructive/50 dark:aria-invalid:ring-lume-destructive/40",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
variant: {
|
|
11
11
|
default: "",
|
|
12
|
-
error: "bg-background border-destructive aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
12
|
+
error: "bg-lume-background border-lume-destructive aria-invalid:border-lume-destructive aria-invalid:ring-lume-destructive/20 dark:aria-invalid:border-lume-destructive/50 dark:aria-invalid:ring-lume-destructive/40",
|
|
13
13
|
},
|
|
14
14
|
size: {
|
|
15
15
|
default: "",
|
|
@@ -25,7 +25,7 @@ const textfieldVariants = cva(
|
|
|
25
25
|
)
|
|
26
26
|
|
|
27
27
|
const textfieldIconVariants = cva(
|
|
28
|
-
"text-muted-foreground flex shrink-0 items-center",
|
|
28
|
+
"text-lume-muted-foreground flex shrink-0 items-center",
|
|
29
29
|
{
|
|
30
30
|
variants: {
|
|
31
31
|
size: {
|
|
@@ -96,21 +96,21 @@ const getInputPaddingClass = () => {
|
|
|
96
96
|
<component
|
|
97
97
|
v-if="prependIcon"
|
|
98
98
|
:is="prependIcon"
|
|
99
|
-
class="text-muted-foreground flex shrink-0 items-center"
|
|
99
|
+
class="text-lume-muted-foreground flex shrink-0 items-center"
|
|
100
100
|
:class="iconSize === 'sm' ? 'size-3.5' : iconSize === 'lg' ? 'size-5' : 'size-4'"
|
|
101
101
|
/>
|
|
102
102
|
<!-- Textfield inner container -->
|
|
103
103
|
<div
|
|
104
104
|
:class="cn(
|
|
105
105
|
textfieldVariants({ variant: error ? 'error' : variant, size }),
|
|
106
|
-
'flex flex-1 items-center focus-within:rounded-lg focus-within:ring-2 focus-within:ring-ring/50 dark:focus-within:[--ring:217.2_32.6%_50%] focus-within:[--ring:210_5%_80%]'
|
|
106
|
+
'flex flex-1 items-center focus-within:rounded-lg focus-within:ring-2 focus-within:ring-lume-ring/50 dark:focus-within:[--ring:217.2_32.6%_50%] focus-within:[--ring:210_5%_80%]'
|
|
107
107
|
)"
|
|
108
108
|
>
|
|
109
109
|
<!-- Prepend-inner icon (inside, at start) -->
|
|
110
110
|
<component
|
|
111
111
|
v-if="prependInnerIcon"
|
|
112
112
|
:is="prependInnerIcon"
|
|
113
|
-
class="text-muted-foreground flex shrink-0 items-center"
|
|
113
|
+
class="text-lume-muted-foreground flex shrink-0 items-center"
|
|
114
114
|
:class="[
|
|
115
115
|
iconSize === 'sm' ? 'size-3.5' : iconSize === 'lg' ? 'size-5' : 'size-4',
|
|
116
116
|
'me-1.5'
|
|
@@ -124,7 +124,7 @@ const getInputPaddingClass = () => {
|
|
|
124
124
|
:disabled="disabled"
|
|
125
125
|
:aria-invalid="!!error"
|
|
126
126
|
:class="cn(
|
|
127
|
-
'flex-1 bg-transparent outline-none placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 w-full min-w-0',
|
|
127
|
+
'flex-1 bg-transparent outline-none placeholder:text-lume-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 w-full min-w-0',
|
|
128
128
|
getInputPaddingClass()
|
|
129
129
|
)"
|
|
130
130
|
:style="{ '--tf-padding-x': '0.625rem' }"
|
|
@@ -134,7 +134,7 @@ const getInputPaddingClass = () => {
|
|
|
134
134
|
<component
|
|
135
135
|
v-if="appendInnerIcon"
|
|
136
136
|
:is="appendInnerIcon"
|
|
137
|
-
class="text-muted-foreground flex shrink-0 items-center"
|
|
137
|
+
class="text-lume-muted-foreground flex shrink-0 items-center"
|
|
138
138
|
:class="[
|
|
139
139
|
iconSize === 'sm' ? 'size-3.5' : iconSize === 'lg' ? 'size-5' : 'size-4',
|
|
140
140
|
'ms-1.5'
|
|
@@ -145,7 +145,7 @@ const getInputPaddingClass = () => {
|
|
|
145
145
|
<component
|
|
146
146
|
v-if="appendIcon"
|
|
147
147
|
:is="appendIcon"
|
|
148
|
-
class="text-muted-foreground flex shrink-0 items-center"
|
|
148
|
+
class="text-lume-muted-foreground flex shrink-0 items-center"
|
|
149
149
|
:class="iconSize === 'sm' ? 'size-3.5' : iconSize === 'lg' ? 'size-5' : 'size-4'"
|
|
150
150
|
/>
|
|
151
151
|
</FieldGroup>
|