@dalexto/lexsys-registry 0.0.6 → 0.1.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.
- package/dist/index.js +211 -3
- package/dist/items/breadcrumb.d.ts +7 -0
- package/dist/items/data-table.d.ts +7 -0
- package/dist/items/date-picker.d.ts +7 -0
- package/dist/items/filter-toolbar.d.ts +7 -0
- package/dist/items/index.d.ts +8 -0
- package/dist/items/page-header.d.ts +7 -0
- package/dist/items/pagination.d.ts +7 -0
- package/dist/items/settings-page-layout.d.ts +7 -0
- package/dist/items/stats-card.d.ts +7 -0
- package/package.json +1 -1
- package/templates/blocks/CommandPalette/CommandPalette.tsx +12 -8
- package/templates/blocks/CommandPalette/CommandPalette.types.ts +2 -2
- package/templates/blocks/DataTable/DataTable.tsx +236 -0
- package/templates/blocks/DataTable/DataTable.types.ts +74 -0
- package/templates/blocks/DataTable/DataTable.variants.ts +23 -0
- package/templates/blocks/FilterToolbar/FilterToolbar.tsx +126 -0
- package/templates/blocks/FilterToolbar/FilterToolbar.types.ts +31 -0
- package/templates/blocks/FilterToolbar/FilterToolbar.variants.ts +24 -0
- package/templates/blocks/PageHeader/PageHeader.tsx +215 -0
- package/templates/blocks/PageHeader/PageHeader.types.ts +66 -0
- package/templates/blocks/PageHeader/PageHeader.variants.ts +48 -0
- package/templates/blocks/StatsCard/StatsCard.tsx +132 -0
- package/templates/blocks/StatsCard/StatsCard.types.ts +43 -0
- package/templates/blocks/StatsCard/StatsCard.variants.ts +28 -0
- package/templates/primitives/Breadcrumb/Breadcrumb.tsx +142 -0
- package/templates/primitives/Breadcrumb/Breadcrumb.types.ts +62 -0
- package/templates/primitives/Breadcrumb/Breadcrumb.variants.ts +37 -0
- package/templates/primitives/DatePicker/DatePicker.tsx +263 -0
- package/templates/primitives/DatePicker/DatePicker.types.ts +52 -0
- package/templates/primitives/DatePicker/DatePicker.variants.ts +76 -0
- package/templates/primitives/Pagination/Pagination.tsx +160 -0
- package/templates/primitives/Pagination/Pagination.types.ts +54 -0
- package/templates/primitives/Pagination/Pagination.variants.ts +47 -0
- package/templates/primitives/Toolbar/Toolbar.variants.ts +15 -15
- package/templates/styles/theme.css +1 -1
- package/templates/styles/tokens.css +334 -1
- package/templates/templates/SettingsPageLayout/SettingsPageLayout.tsx +198 -0
- package/templates/templates/SettingsPageLayout/SettingsPageLayout.types.ts +55 -0
- package/templates/templates/SettingsPageLayout/SettingsPageLayout.variants.ts +42 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, HTMLAttributes, Ref } from "react"
|
|
2
|
+
/**
|
|
3
|
+
* DatePicker.types.ts
|
|
4
|
+
*
|
|
5
|
+
* Public and internal types for DatePicker component.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { InputProps } from "../Input/Input.types"
|
|
9
|
+
import type {
|
|
10
|
+
PopoverProps,
|
|
11
|
+
PopoverTriggerProps,
|
|
12
|
+
} from "../Popover/Popover.types"
|
|
13
|
+
|
|
14
|
+
export type DatePickerProps<Payload = unknown> = PopoverProps<Payload>
|
|
15
|
+
|
|
16
|
+
export type DatePickerTriggerProps<Payload = unknown> =
|
|
17
|
+
PopoverTriggerProps<Payload>
|
|
18
|
+
|
|
19
|
+
export type DatePickerInputProps = InputProps
|
|
20
|
+
|
|
21
|
+
export interface DatePickerContentProps extends Omit<
|
|
22
|
+
HTMLAttributes<HTMLDivElement>,
|
|
23
|
+
"className"
|
|
24
|
+
> {
|
|
25
|
+
ref?: Ref<HTMLDivElement>
|
|
26
|
+
className?: string
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface DatePickerCalendarProps extends Omit<
|
|
30
|
+
HTMLAttributes<HTMLDivElement>,
|
|
31
|
+
"className" | "onSelect"
|
|
32
|
+
> {
|
|
33
|
+
ref?: Ref<HTMLDivElement>
|
|
34
|
+
className?: string
|
|
35
|
+
value?: Date
|
|
36
|
+
defaultMonth?: Date
|
|
37
|
+
month?: Date
|
|
38
|
+
onMonthChange?: (month: Date) => void
|
|
39
|
+
onSelect?: (date: Date) => void
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface DatePickerDayProps extends Omit<
|
|
43
|
+
ButtonHTMLAttributes<HTMLButtonElement>,
|
|
44
|
+
"className"
|
|
45
|
+
> {
|
|
46
|
+
ref?: Ref<HTMLButtonElement>
|
|
47
|
+
className?: string
|
|
48
|
+
date: Date
|
|
49
|
+
isSelected?: boolean
|
|
50
|
+
isOutside?: boolean
|
|
51
|
+
isToday?: boolean
|
|
52
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DatePicker.variants.ts
|
|
3
|
+
*
|
|
4
|
+
* Defines visual variants using class composition.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { cva } from "class-variance-authority"
|
|
8
|
+
import { disabledStateClasses } from "@/lib/utils"
|
|
9
|
+
|
|
10
|
+
export const datePickerContentVariants = cva("p-0")
|
|
11
|
+
|
|
12
|
+
export const datePickerCalendarVariants = cva(
|
|
13
|
+
"flex w-(--lex-date-picker-calendar-width) flex-col gap-(--lex-date-picker-calendar-gap) rounded-(--lex-date-picker-calendar-radius) border border-(--lex-date-picker-calendar-border-color) bg-(--lex-date-picker-calendar-background) p-(--lex-date-picker-calendar-padding) text-(--lex-date-picker-calendar-foreground)",
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
export const datePickerHeaderVariants = cva(
|
|
17
|
+
"flex items-center justify-between gap-(--lex-date-picker-calendar-gap)",
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
export const datePickerMonthLabelVariants = cva(
|
|
21
|
+
"font-(--lex-date-picker-header-font-weight) text-(length:--lex-date-picker-header-font-size) leading-(--lex-date-picker-header-font-line-height) text-(--lex-date-picker-header-foreground)",
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
export const datePickerNavButtonVariants = cva(
|
|
25
|
+
[
|
|
26
|
+
"inline-flex h-(--lex-date-picker-nav-size) w-(--lex-date-picker-nav-size) items-center justify-center rounded-(--lex-date-picker-nav-radius)",
|
|
27
|
+
"text-(--lex-date-picker-nav-foreground) transition-colors duration-(--lex-date-picker-transition-duration) ease-(--lex-date-picker-transition-easing)",
|
|
28
|
+
"outline-none hover:bg-(--lex-date-picker-nav-hover-background) hover:text-(--lex-date-picker-nav-hover-foreground)",
|
|
29
|
+
"focus-visible:ring-(length:--lex-date-picker-focus-ring-width) focus-visible:ring-(--lex-date-picker-focus-ring-color) focus-visible:ring-offset-(length:--lex-date-picker-focus-ring-offset) focus-visible:ring-offset-(--lex-date-picker-focus-ring-offset-color)",
|
|
30
|
+
disabledStateClasses,
|
|
31
|
+
].join(" "),
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
export const datePickerWeekdaysVariants = cva(
|
|
35
|
+
"grid grid-cols-7 gap-(--lex-space-1)",
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
export const datePickerWeekdayVariants = cva(
|
|
39
|
+
"text-center text-(length:--lex-date-picker-weekday-font-size) font-(--lex-date-picker-weekday-font-weight) leading-(--lex-date-picker-weekday-font-line-height) text-(--lex-date-picker-weekday-foreground)",
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
export const datePickerGridVariants = cva(
|
|
43
|
+
"grid grid-cols-7 gap-(--lex-space-1)",
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
export const datePickerDayVariants = cva(
|
|
47
|
+
[
|
|
48
|
+
"inline-flex h-(--lex-date-picker-day-size) w-(--lex-date-picker-day-size) items-center justify-center rounded-(--lex-date-picker-day-radius)",
|
|
49
|
+
"bg-(--lex-date-picker-day-background) text-(length:--lex-date-picker-day-font-size) font-(--lex-date-picker-day-font-weight) leading-(--lex-date-picker-day-font-line-height)",
|
|
50
|
+
"transition-colors duration-(--lex-date-picker-transition-duration) ease-(--lex-date-picker-transition-easing)",
|
|
51
|
+
"outline-none hover:bg-(--lex-date-picker-day-hover-background)",
|
|
52
|
+
"focus-visible:ring-(length:--lex-date-picker-focus-ring-width) focus-visible:ring-(--lex-date-picker-focus-ring-color) focus-visible:ring-offset-(length:--lex-date-picker-focus-ring-offset) focus-visible:ring-offset-(--lex-date-picker-focus-ring-offset-color)",
|
|
53
|
+
disabledStateClasses,
|
|
54
|
+
].join(" "),
|
|
55
|
+
{
|
|
56
|
+
variants: {
|
|
57
|
+
isSelected: {
|
|
58
|
+
true: "bg-(--lex-date-picker-day-selected-background) text-(--lex-date-picker-day-selected-foreground) hover:bg-(--lex-date-picker-day-selected-background)",
|
|
59
|
+
false: "text-(--lex-date-picker-day-foreground)",
|
|
60
|
+
},
|
|
61
|
+
isOutside: {
|
|
62
|
+
true: "text-(--lex-date-picker-day-outside-foreground)",
|
|
63
|
+
false: "",
|
|
64
|
+
},
|
|
65
|
+
isToday: {
|
|
66
|
+
true: "border border-(--lex-date-picker-day-today-border-color)",
|
|
67
|
+
false: "border border-transparent",
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
defaultVariants: {
|
|
71
|
+
isSelected: false,
|
|
72
|
+
isOutside: false,
|
|
73
|
+
isToday: false,
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
)
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination.tsx
|
|
3
|
+
*
|
|
4
|
+
* Reference Pagination component implementation.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react"
|
|
8
|
+
import type {
|
|
9
|
+
PaginationContentProps,
|
|
10
|
+
PaginationEllipsisProps,
|
|
11
|
+
PaginationItemProps,
|
|
12
|
+
PaginationLinkProps,
|
|
13
|
+
PaginationNextProps,
|
|
14
|
+
PaginationPreviousProps,
|
|
15
|
+
PaginationProps,
|
|
16
|
+
} from "./Pagination.types"
|
|
17
|
+
import {
|
|
18
|
+
paginationContentVariants,
|
|
19
|
+
paginationEllipsisVariants,
|
|
20
|
+
paginationItemVariants,
|
|
21
|
+
paginationLinkVariants,
|
|
22
|
+
paginationRootVariants,
|
|
23
|
+
} from "./Pagination.variants"
|
|
24
|
+
import { cn } from "@/lib/utils"
|
|
25
|
+
|
|
26
|
+
const Pagination = ({ ref, className, ...props }: PaginationProps) => {
|
|
27
|
+
return (
|
|
28
|
+
<nav
|
|
29
|
+
ref={ref}
|
|
30
|
+
aria-label="pagination"
|
|
31
|
+
className={cn(paginationRootVariants(), className)}
|
|
32
|
+
{...props}
|
|
33
|
+
/>
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
Pagination.displayName = "Pagination"
|
|
38
|
+
|
|
39
|
+
const PaginationContent = ({
|
|
40
|
+
ref,
|
|
41
|
+
className,
|
|
42
|
+
...props
|
|
43
|
+
}: PaginationContentProps) => {
|
|
44
|
+
return (
|
|
45
|
+
<ul
|
|
46
|
+
ref={ref}
|
|
47
|
+
className={cn(paginationContentVariants(), className)}
|
|
48
|
+
{...props}
|
|
49
|
+
/>
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
PaginationContent.displayName = "PaginationContent"
|
|
54
|
+
|
|
55
|
+
const PaginationItem = ({ ref, className, ...props }: PaginationItemProps) => {
|
|
56
|
+
return (
|
|
57
|
+
<li
|
|
58
|
+
ref={ref}
|
|
59
|
+
className={cn(paginationItemVariants(), className)}
|
|
60
|
+
{...props}
|
|
61
|
+
/>
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
PaginationItem.displayName = "PaginationItem"
|
|
66
|
+
|
|
67
|
+
const PaginationLink = ({
|
|
68
|
+
ref,
|
|
69
|
+
className,
|
|
70
|
+
isActive,
|
|
71
|
+
size,
|
|
72
|
+
...props
|
|
73
|
+
}: PaginationLinkProps) => {
|
|
74
|
+
return (
|
|
75
|
+
<a
|
|
76
|
+
ref={ref}
|
|
77
|
+
aria-current={isActive ? "page" : undefined}
|
|
78
|
+
className={cn(paginationLinkVariants({ isActive, size }), className)}
|
|
79
|
+
{...props}
|
|
80
|
+
/>
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
PaginationLink.displayName = "PaginationLink"
|
|
85
|
+
|
|
86
|
+
const PaginationPrevious = ({
|
|
87
|
+
ref,
|
|
88
|
+
className,
|
|
89
|
+
children,
|
|
90
|
+
size = "md",
|
|
91
|
+
...props
|
|
92
|
+
}: PaginationPreviousProps) => {
|
|
93
|
+
return (
|
|
94
|
+
<PaginationLink
|
|
95
|
+
ref={ref}
|
|
96
|
+
aria-label="Go to previous page"
|
|
97
|
+
size={size}
|
|
98
|
+
className={cn("gap-(--lex-space-1) px-(--lex-space-2)", className)}
|
|
99
|
+
{...props}
|
|
100
|
+
>
|
|
101
|
+
<ChevronLeft aria-hidden="true" size={16} />
|
|
102
|
+
{children ?? <span>Previous</span>}
|
|
103
|
+
</PaginationLink>
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
PaginationPrevious.displayName = "PaginationPrevious"
|
|
108
|
+
|
|
109
|
+
const PaginationNext = ({
|
|
110
|
+
ref,
|
|
111
|
+
className,
|
|
112
|
+
children,
|
|
113
|
+
size = "md",
|
|
114
|
+
...props
|
|
115
|
+
}: PaginationNextProps) => {
|
|
116
|
+
return (
|
|
117
|
+
<PaginationLink
|
|
118
|
+
ref={ref}
|
|
119
|
+
aria-label="Go to next page"
|
|
120
|
+
size={size}
|
|
121
|
+
className={cn("gap-(--lex-space-1) px-(--lex-space-2)", className)}
|
|
122
|
+
{...props}
|
|
123
|
+
>
|
|
124
|
+
{children ?? <span>Next</span>}
|
|
125
|
+
<ChevronRight aria-hidden="true" size={16} />
|
|
126
|
+
</PaginationLink>
|
|
127
|
+
)
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
PaginationNext.displayName = "PaginationNext"
|
|
131
|
+
|
|
132
|
+
const PaginationEllipsis = ({
|
|
133
|
+
ref,
|
|
134
|
+
className,
|
|
135
|
+
...props
|
|
136
|
+
}: PaginationEllipsisProps) => {
|
|
137
|
+
return (
|
|
138
|
+
<span
|
|
139
|
+
ref={ref}
|
|
140
|
+
aria-hidden="true"
|
|
141
|
+
className={cn(paginationEllipsisVariants(), className)}
|
|
142
|
+
{...props}
|
|
143
|
+
>
|
|
144
|
+
<MoreHorizontal size={16} />
|
|
145
|
+
<span className="sr-only">More pages</span>
|
|
146
|
+
</span>
|
|
147
|
+
)
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
PaginationEllipsis.displayName = "PaginationEllipsis"
|
|
151
|
+
|
|
152
|
+
export {
|
|
153
|
+
Pagination,
|
|
154
|
+
PaginationContent,
|
|
155
|
+
PaginationItem,
|
|
156
|
+
PaginationLink,
|
|
157
|
+
PaginationPrevious,
|
|
158
|
+
PaginationNext,
|
|
159
|
+
PaginationEllipsis,
|
|
160
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { AnchorHTMLAttributes, HTMLAttributes, Ref } from "react"
|
|
2
|
+
/**
|
|
3
|
+
* Pagination.types.ts
|
|
4
|
+
*
|
|
5
|
+
* Public and internal types for Pagination component.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export type PaginationSize = "sm" | "md"
|
|
9
|
+
|
|
10
|
+
export interface PaginationProps extends Omit<
|
|
11
|
+
HTMLAttributes<HTMLElement>,
|
|
12
|
+
"className"
|
|
13
|
+
> {
|
|
14
|
+
ref?: Ref<HTMLElement>
|
|
15
|
+
className?: string
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface PaginationContentProps extends Omit<
|
|
19
|
+
HTMLAttributes<HTMLUListElement>,
|
|
20
|
+
"className"
|
|
21
|
+
> {
|
|
22
|
+
ref?: Ref<HTMLUListElement>
|
|
23
|
+
className?: string
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface PaginationItemProps extends Omit<
|
|
27
|
+
HTMLAttributes<HTMLLIElement>,
|
|
28
|
+
"className"
|
|
29
|
+
> {
|
|
30
|
+
ref?: Ref<HTMLLIElement>
|
|
31
|
+
className?: string
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface PaginationLinkProps extends Omit<
|
|
35
|
+
AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
36
|
+
"className"
|
|
37
|
+
> {
|
|
38
|
+
ref?: Ref<HTMLAnchorElement>
|
|
39
|
+
className?: string
|
|
40
|
+
isActive?: boolean
|
|
41
|
+
size?: PaginationSize
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type PaginationPreviousProps = PaginationLinkProps
|
|
45
|
+
|
|
46
|
+
export type PaginationNextProps = PaginationLinkProps
|
|
47
|
+
|
|
48
|
+
export interface PaginationEllipsisProps extends Omit<
|
|
49
|
+
HTMLAttributes<HTMLSpanElement>,
|
|
50
|
+
"className"
|
|
51
|
+
> {
|
|
52
|
+
ref?: Ref<HTMLSpanElement>
|
|
53
|
+
className?: string
|
|
54
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination.variants.ts
|
|
3
|
+
*
|
|
4
|
+
* Defines visual variants using class composition.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { cva } from "class-variance-authority"
|
|
8
|
+
import { disabledStateClasses } from "@/lib/utils"
|
|
9
|
+
|
|
10
|
+
export const paginationRootVariants = cva("mx-auto flex w-full justify-center")
|
|
11
|
+
|
|
12
|
+
export const paginationContentVariants = cva(
|
|
13
|
+
"flex flex-row flex-wrap items-center gap-(--lex-pagination-gap)",
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
export const paginationItemVariants = cva("inline-flex items-center")
|
|
17
|
+
|
|
18
|
+
export const paginationLinkVariants = cva(
|
|
19
|
+
[
|
|
20
|
+
"inline-flex items-center justify-center border border-(--lex-pagination-link-border-color) bg-(--lex-pagination-link-background)",
|
|
21
|
+
"text-(--lex-pagination-link-foreground) transition-colors duration-(--lex-pagination-transition-duration) ease-(--lex-pagination-transition-easing)",
|
|
22
|
+
"rounded-(--lex-pagination-link-radius) font-(--lex-pagination-link-font-weight) leading-(--lex-pagination-link-font-line-height)",
|
|
23
|
+
"outline-none hover:bg-(--lex-pagination-link-hover-background)",
|
|
24
|
+
"focus-visible:ring-(length:--lex-pagination-focus-ring-width) focus-visible:ring-(--lex-pagination-focus-ring-color) focus-visible:ring-offset-(length:--lex-pagination-focus-ring-offset) focus-visible:ring-offset-(--lex-pagination-focus-ring-offset-color)",
|
|
25
|
+
disabledStateClasses,
|
|
26
|
+
].join(" "),
|
|
27
|
+
{
|
|
28
|
+
variants: {
|
|
29
|
+
isActive: {
|
|
30
|
+
true: "border-(--lex-pagination-link-active-background) bg-(--lex-pagination-link-active-background) text-(--lex-pagination-link-active-foreground) hover:bg-(--lex-pagination-link-active-background)",
|
|
31
|
+
false: "",
|
|
32
|
+
},
|
|
33
|
+
size: {
|
|
34
|
+
sm: "h-(--lex-pagination-link-height-sm) min-w-(--lex-pagination-link-height-sm) px-(--lex-pagination-link-padding-x-sm) text-(length:--lex-pagination-link-font-size-sm)",
|
|
35
|
+
md: "h-(--lex-pagination-link-height-md) min-w-(--lex-pagination-link-height-md) px-(--lex-pagination-link-padding-x-md) text-(length:--lex-pagination-link-font-size-md)",
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
defaultVariants: {
|
|
39
|
+
isActive: false,
|
|
40
|
+
size: "md",
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
export const paginationEllipsisVariants = cva(
|
|
46
|
+
"inline-flex h-(--lex-pagination-ellipsis-size) w-(--lex-pagination-ellipsis-size) items-center justify-center text-(--lex-pagination-ellipsis-foreground)",
|
|
47
|
+
)
|
|
@@ -8,7 +8,7 @@ import { cva } from "class-variance-authority"
|
|
|
8
8
|
import { disabledStateClasses } from "@/lib/utils"
|
|
9
9
|
|
|
10
10
|
export const toolbarRootVariants = cva(
|
|
11
|
-
"flex items-center gap-(--lex-
|
|
11
|
+
"flex items-center gap-(--lex-toolbar-root-gap) rounded-(--lex-toolbar-radius) border border-(--lex-toolbar-root-border-color) bg-(--lex-toolbar-root-background) p-(--lex-toolbar-root-padding)",
|
|
12
12
|
{
|
|
13
13
|
variants: {
|
|
14
14
|
orientation: {
|
|
@@ -23,7 +23,7 @@ export const toolbarRootVariants = cva(
|
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
export const toolbarGroupVariants = cva(
|
|
26
|
-
"flex items-center gap-(--lex-
|
|
26
|
+
"flex items-center gap-(--lex-toolbar-group-gap)",
|
|
27
27
|
{
|
|
28
28
|
variants: {
|
|
29
29
|
orientation: {
|
|
@@ -39,31 +39,31 @@ export const toolbarGroupVariants = cva(
|
|
|
39
39
|
|
|
40
40
|
export const toolbarButtonVariants = cva(
|
|
41
41
|
[
|
|
42
|
-
"inline-flex h-(--lex-button-height
|
|
43
|
-
"text-(length:--lex-button-font-size
|
|
44
|
-
"transition-colors duration-(--lex-
|
|
45
|
-
"outline-none hover:bg-(--lex-button-
|
|
42
|
+
"inline-flex h-(--lex-toolbar-button-height) items-center justify-center rounded-(--lex-toolbar-radius) border border-transparent px-(--lex-toolbar-button-padding-x)",
|
|
43
|
+
"text-(length:--lex-toolbar-button-font-size) font-(--lex-toolbar-button-font-weight) leading-(--lex-toolbar-button-font-line-height) text-(--lex-toolbar-button-foreground)",
|
|
44
|
+
"transition-colors duration-(--lex-toolbar-transition-duration) ease-(--lex-toolbar-transition-easing)",
|
|
45
|
+
"outline-none hover:bg-(--lex-toolbar-button-hover-background) focus-visible:ring-(length:--lex-toolbar-button-focus-ring-width) focus-visible:ring-(--lex-toolbar-button-focus-ring-color) focus-visible:ring-offset-(length:--lex-toolbar-button-focus-ring-offset) focus-visible:ring-offset-(--lex-toolbar-button-focus-ring-offset-color)",
|
|
46
46
|
disabledStateClasses,
|
|
47
47
|
].join(" "),
|
|
48
48
|
)
|
|
49
49
|
|
|
50
50
|
export const toolbarLinkVariants = cva(
|
|
51
51
|
[
|
|
52
|
-
"inline-flex h-(--lex-
|
|
53
|
-
"text-(length:--lex-
|
|
54
|
-
"transition-colors duration-(--lex-
|
|
55
|
-
"outline-none hover:bg-(--lex-
|
|
52
|
+
"inline-flex h-(--lex-toolbar-link-height) items-center justify-center rounded-(--lex-toolbar-radius) px-(--lex-toolbar-link-padding-x)",
|
|
53
|
+
"text-(length:--lex-toolbar-link-font-size) font-(--lex-toolbar-link-font-weight) leading-(--lex-toolbar-link-font-line-height) text-(--lex-toolbar-link-foreground)",
|
|
54
|
+
"transition-colors duration-(--lex-toolbar-transition-duration) ease-(--lex-toolbar-transition-easing)",
|
|
55
|
+
"outline-none hover:bg-(--lex-toolbar-link-hover-background) focus-visible:ring-(length:--lex-toolbar-link-focus-ring-width) focus-visible:ring-(--lex-toolbar-link-focus-ring-color) focus-visible:ring-offset-(length:--lex-toolbar-link-focus-ring-offset) focus-visible:ring-offset-(--lex-toolbar-link-focus-ring-offset-color)",
|
|
56
56
|
disabledStateClasses,
|
|
57
57
|
].join(" "),
|
|
58
58
|
)
|
|
59
59
|
|
|
60
60
|
export const toolbarInputVariants = cva(
|
|
61
61
|
[
|
|
62
|
-
"h-(--lex-input-height
|
|
63
|
-
"text-(length:--lex-input-font-size
|
|
64
|
-
"placeholder:text-(--lex-input-placeholder-color)",
|
|
65
|
-
"transition-colors duration-(--lex-
|
|
66
|
-
"outline-none focus-visible:border-(--lex-input-focus-border-color) focus-visible:ring-(length:--lex-input-focus-ring-width) focus-visible:ring-(--lex-input-focus-ring-color) focus-visible:ring-offset-(length:--lex-input-focus-ring-offset) focus-visible:ring-offset-(--lex-input-focus-ring-offset-color)",
|
|
62
|
+
"h-(--lex-toolbar-input-height) min-w-0 rounded-(--lex-toolbar-input-radius) border border-(--lex-toolbar-input-border-color) bg-(--lex-toolbar-input-background) px-(--lex-toolbar-input-padding-x)",
|
|
63
|
+
"text-(length:--lex-toolbar-input-font-size) font-(family-name:--lex-toolbar-input-font-family) font-(--lex-toolbar-input-font-weight) leading-(--lex-toolbar-input-font-line-height) text-(--lex-toolbar-input-foreground)",
|
|
64
|
+
"placeholder:text-(--lex-toolbar-input-placeholder-color)",
|
|
65
|
+
"transition-colors duration-(--lex-toolbar-transition-duration) ease-(--lex-toolbar-transition-easing)",
|
|
66
|
+
"outline-none focus-visible:border-(--lex-toolbar-input-focus-border-color) focus-visible:ring-(length:--lex-toolbar-input-focus-ring-width) focus-visible:ring-(--lex-toolbar-input-focus-ring-color) focus-visible:ring-offset-(length:--lex-toolbar-input-focus-ring-offset) focus-visible:ring-offset-(--lex-toolbar-input-focus-ring-offset-color)",
|
|
67
67
|
disabledStateClasses,
|
|
68
68
|
].join(" "),
|
|
69
69
|
)
|