@xjur-ui/react 1.0.1 → 1.0.3
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/.turbo/turbo-build.log +19 -13
- package/CHANGELOG.md +14 -0
- package/dist/components/avatar-group.d.ts +34 -0
- package/dist/components/avatar-group.js +179 -0
- package/dist/components/avatar.js +1 -0
- package/dist/components/badge.d.ts +13 -0
- package/dist/components/badge.js +111 -0
- package/dist/components/chip.d.ts +1 -1
- package/dist/components/chip.js +1 -0
- package/dist/components/date-picker.js +11 -9
- package/dist/components/icon.d.ts +1 -1
- package/dist/components/icon.js +3 -1
- package/dist/components/input.d.ts +1 -1
- package/dist/components/input.js +23 -7
- package/dist/components/select.js +11 -9
- package/dist/components/table.d.ts +17 -0
- package/dist/components/table.js +196 -0
- package/dist/components/tag.d.ts +1 -1
- package/dist/components/typography.d.ts +2 -2
- package/dist/index.css +288 -55
- package/package.json +5 -2
- package/src/components/avatar-group.tsx +76 -0
- package/src/components/avatar.tsx +1 -0
- package/src/components/badge.tsx +40 -0
- package/src/components/date-picker.tsx +15 -9
- package/src/components/input.tsx +22 -7
- package/src/components/select.tsx +15 -9
- package/src/components/table.tsx +160 -0
- package/src/resources/icons.ts +3 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @xjur-ui/react@1.0.
|
|
2
|
+
> @xjur-ui/react@1.0.2 build
|
|
3
3
|
> tsup
|
|
4
4
|
|
|
5
|
-
CLI Building entry: src/index.ts, src/components/avatar.tsx, src/components/button.tsx, src/components/calendar.tsx, src/components/checkbox.tsx, src/components/chip.tsx, src/components/collapsible.tsx, src/components/date-picker.tsx, src/components/divider.tsx, src/components/dropdown-menu.tsx, src/components/icon.tsx, src/components/input.tsx, src/components/list.tsx, src/components/logo.tsx, src/components/otp-input.tsx, src/components/radio.tsx, src/components/search-input.tsx, src/components/select.tsx, src/components/sheet.tsx, src/components/switch.tsx, src/components/tabs.tsx, src/components/tag.tsx, src/components/typography.tsx
|
|
5
|
+
CLI Building entry: src/index.ts, src/components/avatar-group.tsx, src/components/avatar.tsx, src/components/badge.tsx, src/components/button.tsx, src/components/calendar.tsx, src/components/checkbox.tsx, src/components/chip.tsx, src/components/collapsible.tsx, src/components/date-picker.tsx, src/components/divider.tsx, src/components/dropdown-menu.tsx, src/components/icon.tsx, src/components/input.tsx, src/components/list.tsx, src/components/logo.tsx, src/components/otp-input.tsx, src/components/radio.tsx, src/components/search-input.tsx, src/components/select.tsx, src/components/sheet.tsx, src/components/switch.tsx, src/components/table.tsx, src/components/tabs.tsx, src/components/tag.tsx, src/components/typography.tsx
|
|
6
6
|
CLI Using tsconfig: tsconfig.json
|
|
7
7
|
CLI tsup v8.5.0
|
|
8
8
|
CLI Using tsup config: /home/vsts/work/1/s/packages/react/tsup.config.ts
|
|
@@ -11,32 +11,37 @@ CLI Cleaning output folder
|
|
|
11
11
|
ESM Build start
|
|
12
12
|
DTS Build start
|
|
13
13
|
ESM dist/index.js 0 B
|
|
14
|
-
ESM dist/components/avatar.js
|
|
15
|
-
ESM dist/index.css
|
|
14
|
+
ESM dist/components/avatar-group.js 4.98 KB
|
|
15
|
+
ESM dist/index.css 58.59 KB
|
|
16
|
+
ESM dist/components/avatar.js 1.38 KB
|
|
17
|
+
ESM dist/components/badge.js 3.08 KB
|
|
16
18
|
ESM dist/components/button.js 2.73 KB
|
|
17
19
|
ESM dist/components/calendar.js 19.27 KB
|
|
18
20
|
ESM dist/components/checkbox.js 4.64 KB
|
|
19
|
-
ESM dist/components/chip.js 6.
|
|
21
|
+
ESM dist/components/chip.js 6.49 KB
|
|
20
22
|
ESM dist/components/collapsible.js 998.00 B
|
|
21
|
-
ESM dist/components/date-picker.js 6.
|
|
23
|
+
ESM dist/components/date-picker.js 6.90 KB
|
|
22
24
|
ESM dist/components/divider.js 697.00 B
|
|
23
25
|
ESM dist/components/dropdown-menu.js 7.19 KB
|
|
24
|
-
ESM dist/components/icon.js 2.
|
|
25
|
-
ESM dist/components/input.js
|
|
26
|
+
ESM dist/components/icon.js 2.72 KB
|
|
27
|
+
ESM dist/components/input.js 8.07 KB
|
|
26
28
|
ESM dist/components/list.js 4.34 KB
|
|
27
29
|
ESM dist/components/logo.js 20.93 KB
|
|
28
30
|
ESM dist/components/otp-input.js 1.00 KB
|
|
29
31
|
ESM dist/components/radio.js 4.52 KB
|
|
30
32
|
ESM dist/components/search-input.js 7.70 KB
|
|
31
|
-
ESM dist/components/select.js 15.
|
|
33
|
+
ESM dist/components/select.js 15.44 KB
|
|
32
34
|
ESM dist/components/sheet.js 6.89 KB
|
|
33
35
|
ESM dist/components/switch.js 1.13 KB
|
|
36
|
+
ESM dist/components/table.js 4.35 KB
|
|
34
37
|
ESM dist/components/tabs.js 1.43 KB
|
|
35
38
|
ESM dist/components/tag.js 4.77 KB
|
|
36
39
|
ESM dist/components/typography.js 2.21 KB
|
|
37
|
-
ESM ⚡️ Build success in
|
|
38
|
-
DTS ⚡️ Build success in
|
|
40
|
+
ESM ⚡️ Build success in 1185ms
|
|
41
|
+
DTS ⚡️ Build success in 5286ms
|
|
39
42
|
DTS dist/index.d.ts 13.00 B
|
|
43
|
+
DTS dist/components/avatar-group.d.ts 815.00 B
|
|
44
|
+
DTS dist/components/badge.d.ts 607.00 B
|
|
40
45
|
DTS dist/components/calendar.d.ts 448.00 B
|
|
41
46
|
DTS dist/components/checkbox.d.ts 305.00 B
|
|
42
47
|
DTS dist/components/chip.d.ts 1.36 KB
|
|
@@ -54,8 +59,9 @@ DTS dist/components/search-input.d.ts 1.10 KB
|
|
|
54
59
|
DTS dist/components/button.d.ts 872.00 B
|
|
55
60
|
DTS dist/components/sheet.d.ts 1.62 KB
|
|
56
61
|
DTS dist/components/switch.d.ts 300.00 B
|
|
62
|
+
DTS dist/components/table.d.ts 1.28 KB
|
|
57
63
|
DTS dist/components/tabs.d.ts 737.00 B
|
|
58
64
|
DTS dist/components/tag.d.ts 1.07 KB
|
|
59
65
|
DTS dist/components/typography.d.ts 993.00 B
|
|
60
|
-
DTS dist/components/input.d.ts 2.
|
|
61
|
-
DTS dist/components/icon.d.ts 2.
|
|
66
|
+
DTS dist/components/input.d.ts 2.12 KB
|
|
67
|
+
DTS dist/components/icon.d.ts 2.25 KB
|
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
# @xjur-ui/react
|
|
2
2
|
|
|
3
|
+
## 1.0.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fb1a2db: Create avatar group component
|
|
8
|
+
- 31a7409: Adiciona componente de tabela
|
|
9
|
+
|
|
10
|
+
## 1.0.2
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- ca57b41: New release
|
|
15
|
+
|
|
3
16
|
## 1.0.1
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
6
19
|
|
|
20
|
+
- d3673d9: Melhorias no fluxo de inputs e novos components
|
|
7
21
|
- 78f16bc: Criação dos componentes principais para execução das telas de agenda
|
|
8
22
|
- ea53c28: Refactor package structure
|
|
9
23
|
- Updated dependencies [78f16bc]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface AvatarGroupProps {
|
|
4
|
+
/**
|
|
5
|
+
* Lista de avatares para exibir
|
|
6
|
+
*/
|
|
7
|
+
avatars: Array<{
|
|
8
|
+
src?: string;
|
|
9
|
+
alt?: string;
|
|
10
|
+
fallback?: string;
|
|
11
|
+
}>;
|
|
12
|
+
/**
|
|
13
|
+
* Número máximo de avatares a exibir antes de mostrar o indicador de overflow
|
|
14
|
+
* @default 3
|
|
15
|
+
*/
|
|
16
|
+
max?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Tamanho dos avatares
|
|
19
|
+
* @default 'md'
|
|
20
|
+
*/
|
|
21
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
22
|
+
/**
|
|
23
|
+
* Classe CSS adicional
|
|
24
|
+
*/
|
|
25
|
+
className?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Espaçamento entre os avatares (em pixels)
|
|
28
|
+
* @default -8
|
|
29
|
+
*/
|
|
30
|
+
spacing?: number;
|
|
31
|
+
}
|
|
32
|
+
declare function AvatarGroup({ avatars, max, size, className }: AvatarGroupProps): react_jsx_runtime.JSX.Element;
|
|
33
|
+
|
|
34
|
+
export { AvatarGroup, type AvatarGroupProps };
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// src/components/avatar-group.tsx
|
|
2
|
+
import { cx as cx2 } from "@xjur-ui/util";
|
|
3
|
+
|
|
4
|
+
// src/components/avatar.tsx
|
|
5
|
+
import "react";
|
|
6
|
+
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
7
|
+
import { cx } from "@xjur-ui/util";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
function AvatarRoot({
|
|
10
|
+
className,
|
|
11
|
+
size = "md",
|
|
12
|
+
...props
|
|
13
|
+
}) {
|
|
14
|
+
return /* @__PURE__ */ jsx(
|
|
15
|
+
AvatarPrimitive.Root,
|
|
16
|
+
{
|
|
17
|
+
className: cx(
|
|
18
|
+
"rounded-circle relative flex shrink-0 overflow-hidden",
|
|
19
|
+
"data-[size=lg]:size-large-8x data-[size=md]:size-large-4x data-[size=sm]:size-large-2x data-[size=xs]:size-large-1x",
|
|
20
|
+
"data-[size=lg]:text-size-headline-md data-[size=md]:text-size-label-lg data-[size=sm]:text-size-label-sm data-[size=xs]:text-size-label-sm",
|
|
21
|
+
className
|
|
22
|
+
),
|
|
23
|
+
"data-size": size,
|
|
24
|
+
"data-slot": "avatar",
|
|
25
|
+
...props
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
function AvatarImage({
|
|
30
|
+
className,
|
|
31
|
+
...props
|
|
32
|
+
}) {
|
|
33
|
+
return /* @__PURE__ */ jsx(
|
|
34
|
+
AvatarPrimitive.Image,
|
|
35
|
+
{
|
|
36
|
+
className: cx("aspect-square size-full", className),
|
|
37
|
+
"data-slot": "avatar-image",
|
|
38
|
+
...props
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
function AvatarFallback({
|
|
43
|
+
className,
|
|
44
|
+
...props
|
|
45
|
+
}) {
|
|
46
|
+
return /* @__PURE__ */ jsx(
|
|
47
|
+
AvatarPrimitive.Fallback,
|
|
48
|
+
{
|
|
49
|
+
className: cx(
|
|
50
|
+
"bg-alt-1 rounded-circle flex size-full items-center justify-center font-medium text-white",
|
|
51
|
+
className
|
|
52
|
+
),
|
|
53
|
+
"data-slot": "avatar-fallback",
|
|
54
|
+
...props
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// src/components/typography.tsx
|
|
60
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
61
|
+
import { cva } from "@xjur-ui/util";
|
|
62
|
+
import { memo } from "react";
|
|
63
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
64
|
+
var typographyVariants = cva("", {
|
|
65
|
+
variants: {
|
|
66
|
+
variant: {
|
|
67
|
+
body: "",
|
|
68
|
+
label: "",
|
|
69
|
+
title: "",
|
|
70
|
+
headline: ""
|
|
71
|
+
},
|
|
72
|
+
size: {
|
|
73
|
+
"sm-2x": "",
|
|
74
|
+
"sm-1x": "",
|
|
75
|
+
sm: "",
|
|
76
|
+
md: "",
|
|
77
|
+
lg: ""
|
|
78
|
+
},
|
|
79
|
+
weight: {
|
|
80
|
+
thin: "font-thin",
|
|
81
|
+
extraLight: "font-extralight",
|
|
82
|
+
light: "font-light",
|
|
83
|
+
normal: "font-normal",
|
|
84
|
+
medium: "font-medium",
|
|
85
|
+
semibold: "font-semibold",
|
|
86
|
+
bold: "font-bold",
|
|
87
|
+
extraBold: "font-extrabold",
|
|
88
|
+
black: "font-black"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
compoundVariants: [
|
|
92
|
+
{ variant: "body", size: "sm-1x", class: "text-size-body-sm-1x" },
|
|
93
|
+
{ variant: "body", size: "sm", class: "text-size-body-sm" },
|
|
94
|
+
{ variant: "body", size: "md", class: "text-size-body-md" },
|
|
95
|
+
{ variant: "body", size: "lg", class: "text-size-body-lg" },
|
|
96
|
+
{ variant: "label", size: "sm-2x", class: "text-size-label-sm-2x" },
|
|
97
|
+
{ variant: "label", size: "sm-1x", class: "text-size-label-sm-1x" },
|
|
98
|
+
{ variant: "label", size: "sm", class: "text-size-label-sm" },
|
|
99
|
+
{ variant: "label", size: "md", class: "text-size-label-md" },
|
|
100
|
+
{ variant: "label", size: "lg", class: "text-size-label-lg" },
|
|
101
|
+
{ variant: "title", size: "sm", class: "text-size-title-sm" },
|
|
102
|
+
{ variant: "title", size: "md", class: "text-size-title-md" },
|
|
103
|
+
{ variant: "title", size: "lg", class: "text-size-title-lg" },
|
|
104
|
+
{ variant: "headline", size: "sm", class: "text-size-headline-sm" },
|
|
105
|
+
{ variant: "headline", size: "md", class: "text-size-headline-md" },
|
|
106
|
+
{ variant: "headline", size: "lg", class: "text-size-headline-lg" }
|
|
107
|
+
],
|
|
108
|
+
defaultVariants: {
|
|
109
|
+
variant: "body",
|
|
110
|
+
size: "md",
|
|
111
|
+
weight: "normal"
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
var Typography = memo(
|
|
115
|
+
({
|
|
116
|
+
variant,
|
|
117
|
+
size,
|
|
118
|
+
weight,
|
|
119
|
+
asChild,
|
|
120
|
+
className,
|
|
121
|
+
...props
|
|
122
|
+
}) => {
|
|
123
|
+
const Component = asChild ? Slot : "span";
|
|
124
|
+
return /* @__PURE__ */ jsx2(
|
|
125
|
+
Component,
|
|
126
|
+
{
|
|
127
|
+
className: typographyVariants({ variant, size, weight, className }),
|
|
128
|
+
...props
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
Typography.displayName = "Typography";
|
|
134
|
+
|
|
135
|
+
// src/components/avatar-group.tsx
|
|
136
|
+
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
137
|
+
function AvatarGroup({
|
|
138
|
+
avatars,
|
|
139
|
+
max = 3,
|
|
140
|
+
size = "md",
|
|
141
|
+
className
|
|
142
|
+
}) {
|
|
143
|
+
const visibleAvatars = avatars.slice(0, max);
|
|
144
|
+
const remainingCount = avatars.length - max;
|
|
145
|
+
return /* @__PURE__ */ jsxs(
|
|
146
|
+
"div",
|
|
147
|
+
{
|
|
148
|
+
className: cx2("-space-x-small-1x flex items-center", className),
|
|
149
|
+
"data-slot": "avatar-group",
|
|
150
|
+
children: [
|
|
151
|
+
visibleAvatars.map((avatar, index) => /* @__PURE__ */ jsxs(
|
|
152
|
+
AvatarRoot,
|
|
153
|
+
{
|
|
154
|
+
className: "border-icon-neutral-5 border-2",
|
|
155
|
+
size,
|
|
156
|
+
children: [
|
|
157
|
+
avatar.src && /* @__PURE__ */ jsx3(
|
|
158
|
+
AvatarImage,
|
|
159
|
+
{
|
|
160
|
+
alt: avatar.alt || `Avatar ${index + 1}`,
|
|
161
|
+
src: avatar.src
|
|
162
|
+
}
|
|
163
|
+
),
|
|
164
|
+
/* @__PURE__ */ jsx3(AvatarFallback, { children: avatar.fallback || `A${index + 1}` })
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
index
|
|
168
|
+
)),
|
|
169
|
+
remainingCount > 0 && /* @__PURE__ */ jsx3(AvatarRoot, { className: "bg-layer-1-hover", size, children: /* @__PURE__ */ jsx3(AvatarFallback, { className: "bg-layer-1-hover font-medium", children: /* @__PURE__ */ jsxs(Typography, { className: "text-neutral-dark", weight: "medium", children: [
|
|
170
|
+
"+",
|
|
171
|
+
remainingCount
|
|
172
|
+
] }) }) })
|
|
173
|
+
]
|
|
174
|
+
}
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
export {
|
|
178
|
+
AvatarGroup
|
|
179
|
+
};
|
|
@@ -14,6 +14,7 @@ function AvatarRoot({
|
|
|
14
14
|
className: cx(
|
|
15
15
|
"rounded-circle relative flex shrink-0 overflow-hidden",
|
|
16
16
|
"data-[size=lg]:size-large-8x data-[size=md]:size-large-4x data-[size=sm]:size-large-2x data-[size=xs]:size-large-1x",
|
|
17
|
+
"data-[size=lg]:text-size-headline-md data-[size=md]:text-size-label-lg data-[size=sm]:text-size-label-sm data-[size=xs]:text-size-label-sm",
|
|
17
18
|
className
|
|
18
19
|
),
|
|
19
20
|
"data-size": size,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import { ClassVariantProps } from '@xjur-ui/util';
|
|
4
|
+
|
|
5
|
+
declare const badgeVariants: (props?: ({
|
|
6
|
+
variant?: "primary" | "secondary" | "neutral" | "success" | "warning" | "danger" | null | undefined;
|
|
7
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
8
|
+
declare function Badge({ variant, children, className }: ClassVariantProps<typeof badgeVariants> & {
|
|
9
|
+
children: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
}): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
export { Badge };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// src/components/badge.tsx
|
|
2
|
+
import { cva as cva2, cx } from "@xjur-ui/util";
|
|
3
|
+
|
|
4
|
+
// src/components/typography.tsx
|
|
5
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
6
|
+
import { cva } from "@xjur-ui/util";
|
|
7
|
+
import { memo } from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var typographyVariants = cva("", {
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
body: "",
|
|
13
|
+
label: "",
|
|
14
|
+
title: "",
|
|
15
|
+
headline: ""
|
|
16
|
+
},
|
|
17
|
+
size: {
|
|
18
|
+
"sm-2x": "",
|
|
19
|
+
"sm-1x": "",
|
|
20
|
+
sm: "",
|
|
21
|
+
md: "",
|
|
22
|
+
lg: ""
|
|
23
|
+
},
|
|
24
|
+
weight: {
|
|
25
|
+
thin: "font-thin",
|
|
26
|
+
extraLight: "font-extralight",
|
|
27
|
+
light: "font-light",
|
|
28
|
+
normal: "font-normal",
|
|
29
|
+
medium: "font-medium",
|
|
30
|
+
semibold: "font-semibold",
|
|
31
|
+
bold: "font-bold",
|
|
32
|
+
extraBold: "font-extrabold",
|
|
33
|
+
black: "font-black"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
compoundVariants: [
|
|
37
|
+
{ variant: "body", size: "sm-1x", class: "text-size-body-sm-1x" },
|
|
38
|
+
{ variant: "body", size: "sm", class: "text-size-body-sm" },
|
|
39
|
+
{ variant: "body", size: "md", class: "text-size-body-md" },
|
|
40
|
+
{ variant: "body", size: "lg", class: "text-size-body-lg" },
|
|
41
|
+
{ variant: "label", size: "sm-2x", class: "text-size-label-sm-2x" },
|
|
42
|
+
{ variant: "label", size: "sm-1x", class: "text-size-label-sm-1x" },
|
|
43
|
+
{ variant: "label", size: "sm", class: "text-size-label-sm" },
|
|
44
|
+
{ variant: "label", size: "md", class: "text-size-label-md" },
|
|
45
|
+
{ variant: "label", size: "lg", class: "text-size-label-lg" },
|
|
46
|
+
{ variant: "title", size: "sm", class: "text-size-title-sm" },
|
|
47
|
+
{ variant: "title", size: "md", class: "text-size-title-md" },
|
|
48
|
+
{ variant: "title", size: "lg", class: "text-size-title-lg" },
|
|
49
|
+
{ variant: "headline", size: "sm", class: "text-size-headline-sm" },
|
|
50
|
+
{ variant: "headline", size: "md", class: "text-size-headline-md" },
|
|
51
|
+
{ variant: "headline", size: "lg", class: "text-size-headline-lg" }
|
|
52
|
+
],
|
|
53
|
+
defaultVariants: {
|
|
54
|
+
variant: "body",
|
|
55
|
+
size: "md",
|
|
56
|
+
weight: "normal"
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
var Typography = memo(
|
|
60
|
+
({
|
|
61
|
+
variant,
|
|
62
|
+
size,
|
|
63
|
+
weight,
|
|
64
|
+
asChild,
|
|
65
|
+
className,
|
|
66
|
+
...props
|
|
67
|
+
}) => {
|
|
68
|
+
const Component = asChild ? Slot : "span";
|
|
69
|
+
return /* @__PURE__ */ jsx(
|
|
70
|
+
Component,
|
|
71
|
+
{
|
|
72
|
+
className: typographyVariants({ variant, size, weight, className }),
|
|
73
|
+
...props
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
Typography.displayName = "Typography";
|
|
79
|
+
|
|
80
|
+
// src/components/badge.tsx
|
|
81
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
82
|
+
var badgeVariants = cva2(
|
|
83
|
+
[
|
|
84
|
+
"flex items-center justify-center size-large p-small-2x text-neutral-label rounded-circle"
|
|
85
|
+
],
|
|
86
|
+
{
|
|
87
|
+
variants: {
|
|
88
|
+
variant: {
|
|
89
|
+
primary: "bg-primary-idle",
|
|
90
|
+
secondary: "bg-secondary-idle",
|
|
91
|
+
neutral: "bg-alt-2-idle",
|
|
92
|
+
success: "bg-success-idle",
|
|
93
|
+
warning: "bg-warning-idle",
|
|
94
|
+
danger: "bg-danger-idle"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
defaultVariants: {
|
|
98
|
+
variant: "neutral"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
function Badge({
|
|
103
|
+
variant = "neutral",
|
|
104
|
+
children,
|
|
105
|
+
className
|
|
106
|
+
}) {
|
|
107
|
+
return /* @__PURE__ */ jsx2("span", { className: cx(badgeVariants({ variant }), className), children: /* @__PURE__ */ jsx2(Typography, { className: "text-inherit", size: "sm-2x", variant: "label", children }) });
|
|
108
|
+
}
|
|
109
|
+
export {
|
|
110
|
+
Badge
|
|
111
|
+
};
|
|
@@ -8,7 +8,7 @@ import { AvatarRoot } from './avatar.js';
|
|
|
8
8
|
import '@radix-ui/react-avatar';
|
|
9
9
|
|
|
10
10
|
declare const chipVariants: (props?: ({
|
|
11
|
-
variant?: "primary" | "
|
|
11
|
+
variant?: "primary" | "neutral" | "danger" | null | undefined;
|
|
12
12
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
13
13
|
declare function ChipRoot({ className, variant, ...props }: ComponentProps<'div'> & ClassVariantProps<typeof chipVariants>): react_jsx_runtime.JSX.Element;
|
|
14
14
|
declare function ChipText({ variant, size, weight, className, ...props }: ComponentProps<typeof Typography>): react_jsx_runtime.JSX.Element;
|
package/dist/components/chip.js
CHANGED
|
@@ -116,6 +116,7 @@ function AvatarRoot({
|
|
|
116
116
|
className: cx2(
|
|
117
117
|
"rounded-circle relative flex shrink-0 overflow-hidden",
|
|
118
118
|
"data-[size=lg]:size-large-8x data-[size=md]:size-large-4x data-[size=sm]:size-large-2x data-[size=xs]:size-large-1x",
|
|
119
|
+
"data-[size=lg]:text-size-headline-md data-[size=md]:text-size-label-lg data-[size=sm]:text-size-label-sm data-[size=xs]:text-size-label-sm",
|
|
119
120
|
className
|
|
120
121
|
),
|
|
121
122
|
"data-size": size,
|
|
@@ -115,7 +115,7 @@ function DatePickerContent({
|
|
|
115
115
|
align,
|
|
116
116
|
className: cx(
|
|
117
117
|
className,
|
|
118
|
-
"group z-10 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-trigger-width)]"
|
|
118
|
+
"group z-10 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-content-available-width)] min-w-[var(--radix-popover-trigger-width)]"
|
|
119
119
|
),
|
|
120
120
|
side,
|
|
121
121
|
sideOffset,
|
|
@@ -156,25 +156,27 @@ function DatePickerLabel({
|
|
|
156
156
|
{
|
|
157
157
|
asChild: true,
|
|
158
158
|
className: cx(
|
|
159
|
-
"
|
|
160
|
-
"pointer-events-none absolute top-
|
|
161
|
-
"ease
|
|
159
|
+
"inline-block max-w-full truncate text-left font-normal",
|
|
160
|
+
"left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2",
|
|
161
|
+
"ease transition-all duration-250",
|
|
162
162
|
// Content Open
|
|
163
163
|
"group-data-[state=open]:text-primary-idle",
|
|
164
|
-
"group-data-[state=open]:bg-layer-2-idle",
|
|
165
164
|
"group-data-[state=open]:-top-[3px]",
|
|
166
165
|
"group-data-[state=open]:text-size-label-sm-1x",
|
|
167
166
|
"group-data-[state=open]:font-medium",
|
|
168
167
|
// Filled
|
|
169
168
|
"group-has-[input:not(:placeholder-shown)]:text-primary-idle",
|
|
170
|
-
"group-has-[input:not(:placeholder-shown)]:bg-layer-2-idle",
|
|
171
169
|
"group-has-[input:not(:placeholder-shown)]:-top-[3px]",
|
|
172
170
|
"group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x",
|
|
173
171
|
"group-has-[input:not(:placeholder-shown)]:font-medium",
|
|
174
172
|
// If has left slot
|
|
175
173
|
"group-has-[div[data-slot=date-picker-left-slot]]:left-large-4x",
|
|
176
|
-
"group-has-[div[data-slot=date-picker-left-slot]]:group-data-[state=open]:left-
|
|
177
|
-
"group-has-[div[data-slot=date-picker-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-
|
|
174
|
+
"group-has-[div[data-slot=date-picker-left-slot]]:group-data-[state=open]:left-small",
|
|
175
|
+
"group-has-[div[data-slot=date-picker-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-small",
|
|
176
|
+
// If has right slot
|
|
177
|
+
"group-has-[div[data-slot=date-picker-right-slot]]:right-large-4x",
|
|
178
|
+
"group-has-[div[data-slot=date-picker-right-slot]]:group-data-[state=open]:right-small",
|
|
179
|
+
"group-has-[div[data-slot=date-picker-right-slot]]:group-has-[input:not(:placeholder-shown)]:right-small",
|
|
178
180
|
// Animate
|
|
179
181
|
"group-data-[state=open]:animate-in",
|
|
180
182
|
"group-data-[state=closed]:animate-out",
|
|
@@ -183,7 +185,7 @@ function DatePickerLabel({
|
|
|
183
185
|
),
|
|
184
186
|
weight: "medium",
|
|
185
187
|
...props,
|
|
186
|
-
children: /* @__PURE__ */ jsx2("label", { htmlFor, children })
|
|
188
|
+
children: /* @__PURE__ */ jsx2("label", { htmlFor, children: /* @__PURE__ */ jsx2("span", { className: "bg-layer-2-idle rounded-small-1x max-w-full", children }) })
|
|
187
189
|
}
|
|
188
190
|
);
|
|
189
191
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ComponentProps } from 'react';
|
|
3
3
|
|
|
4
|
-
declare const icons: readonly ["account_balance", "ad_units", "add_a_photo", "add", "adjust", "archive", "arrow_downward_alt", "arrow_downward", "arrow_drop_down", "arrow_drop_up", "arrow_split", "arrow_upward_alt", "arrow_upward", "attach_file", "attach_money", "autorenew", "brightness_1", "calendar_today", "call", "chat_bubble", "check_circle", "check", "chevron_left", "chevron_right", "close", "collapse_all", "contacts", "content_copy", "dangerous", "dashboard", "delete", "download", "draft", "drafts", "drag_handle", "drag_indicator", "edit_document", "edit_square", "edit", "error", "expand_all", "file_export", "filter_alt", "filter_list", "first_page", "flag_2", "folder_open", "folder", "format_bold", "format_italic", "format_italic", "format_size", "format_strikethrough", "gavel", "group", "headphones", "help", "hourglass_bottom", "imagesmode", "import_contacts", "inbox", "info", "inventory_2", "keep", "keep", "keyboard_arrow_down", "keyboard_arrow_up", "keyboard_return", "label_off", "label", "last_page", "left_panel_close", "left_panel_open", "link_off", "link", "linked_services", "list", "location_on", "lock", "logout", "mail", "menu", "mic", "more_vert", "notifications", "numbers", "person_add", "person_off", "person", "play_circle", "progress_activity", "question_mark", "radio_button_unchecked", "refresh", "remove", "reply", "right_panel_close", "right_panel_open", "schedule", "search", "sell", "send", "settings", "share", "smart_display", "star", "star", "swap_vert", "thumb_down", "thumb_up", "tune", "unarchive", "undo", "upload", "verified_user", "videocam", "view_list", "view_module", "view_object_track", "visibility_off", "visibility", "warning", "wifi_2_bar", "wifi_off", "wifi", "work", "workspaces", "article", "id_card", "badge", "home", "save", "code", "favorite", "analytics", "reports", "event", "account_circle", "history", "security"];
|
|
4
|
+
declare const icons: readonly ["account_balance", "ad_units", "add_a_photo", "add", "adjust", "archive", "arrow_downward_alt", "arrow_downward", "arrow_drop_down", "arrow_drop_up", "arrow_split", "arrow_upward_alt", "arrow_upward", "attach_file", "attach_money", "autorenew", "brightness_1", "calendar_today", "call", "chat_bubble", "check_circle", "check", "chevron_left", "chevron_right", "close", "collapse_all", "contacts", "content_copy", "dangerous", "dashboard", "delete", "download", "draft", "drafts", "drag_handle", "drag_indicator", "edit_document", "edit_square", "edit", "error", "expand_all", "file_export", "filter_alt", "filter_list", "first_page", "flag_2", "folder_open", "folder", "format_bold", "format_italic", "format_italic", "format_size", "format_strikethrough", "gavel", "group", "headphones", "help", "hourglass_bottom", "imagesmode", "import_contacts", "inbox", "info", "inventory_2", "keep", "keep", "keyboard_arrow_down", "keyboard_arrow_up", "keyboard_return", "label_off", "label", "last_page", "left_panel_close", "left_panel_open", "link_off", "link", "linked_services", "list", "location_on", "lock", "logout", "mail", "menu", "mic", "more_vert", "notifications", "numbers", "person_add", "person_off", "person", "play_circle", "progress_activity", "question_mark", "radio_button_unchecked", "refresh", "remove", "reply", "right_panel_close", "right_panel_open", "schedule", "search", "sell", "send", "settings", "share", "smart_display", "star", "star", "swap_vert", "thumb_down", "thumb_up", "tune", "unarchive", "undo", "upload", "verified_user", "videocam", "view_list", "view_module", "view_object_track", "visibility_off", "visibility", "warning", "wifi_2_bar", "wifi_off", "wifi", "work", "workspaces", "article", "id_card", "badge", "home", "save", "code", "favorite", "analytics", "reports", "event", "account_circle", "history", "security", "bar_chart", "category"];
|
|
5
5
|
type IconType = (typeof icons)[number];
|
|
6
6
|
|
|
7
7
|
type IconProps = {
|
package/dist/components/icon.js
CHANGED
|
@@ -12,7 +12,7 @@ type InputProps = {
|
|
|
12
12
|
};
|
|
13
13
|
declare function InputRoot({ className, children, variant, ...props }: ComponentProps<'div'> & InputProps): react_jsx_runtime.JSX.Element;
|
|
14
14
|
declare function InputContent({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
15
|
-
declare function InputLabel({ htmlFor, className, ...props }: ComponentProps<'label'> & {
|
|
15
|
+
declare function InputLabel({ htmlFor, className, children, ...props }: ComponentProps<'label'> & {
|
|
16
16
|
htmlFor: string;
|
|
17
17
|
}): react_jsx_runtime.JSX.Element;
|
|
18
18
|
declare function InputText({ className, maskOptions, maskType, ...props }: ComponentProps<'input'> & {
|
package/dist/components/input.js
CHANGED
|
@@ -116,7 +116,7 @@ function InputContent({ className, ...props }) {
|
|
|
116
116
|
variants: {
|
|
117
117
|
variant: {
|
|
118
118
|
default: "",
|
|
119
|
-
outlined: "bg-layer-2-idle border-border-layer-2 border hover:border-border-layer-3 has-[input:not(:placeholder-shown)]:border-primary-idle",
|
|
119
|
+
outlined: "bg-layer-2-idle border-border-layer-2 border hover:group-has-[input:not(:focus-within)]:border-border-layer-3 has-[input:not(:placeholder-shown)]:border-primary-idle",
|
|
120
120
|
filled: "bg-layer-2-hover group-hover:border-border-layer-1 group-hover:border-1"
|
|
121
121
|
}
|
|
122
122
|
}
|
|
@@ -129,6 +129,7 @@ function InputContent({ className, ...props }) {
|
|
|
129
129
|
function InputLabel({
|
|
130
130
|
htmlFor,
|
|
131
131
|
className,
|
|
132
|
+
children,
|
|
132
133
|
...props
|
|
133
134
|
}) {
|
|
134
135
|
return /* @__PURE__ */ jsx(FieldContext.Consumer, { children: ({ variant }) => {
|
|
@@ -136,10 +137,10 @@ function InputLabel({
|
|
|
136
137
|
"label",
|
|
137
138
|
{
|
|
138
139
|
className: cx(
|
|
139
|
-
"
|
|
140
|
-
"ease animate-in pointer-events-none absolute top-1/2
|
|
140
|
+
"group text-size-body-md text-neutral-dark inline-block max-w-full truncate text-left",
|
|
141
|
+
"ease animate-in left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2 transition-all duration-250",
|
|
141
142
|
// Filled
|
|
142
|
-
"group-focus-within:text-primary-idle group-focus-within
|
|
143
|
+
"group-focus-within:text-primary-idle group-focus-within:-top-[3px]",
|
|
143
144
|
"group-focus-within:text-size-label-sm-1x group-focus-within:font-medium",
|
|
144
145
|
"group-has-[input:not(:placeholder-shown)]:-top-[3px]",
|
|
145
146
|
"group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x",
|
|
@@ -147,8 +148,12 @@ function InputLabel({
|
|
|
147
148
|
"data-[variant=outlined]:group-has-[input:not(:placeholder-shown)]:text-primary-idle",
|
|
148
149
|
// If has left slot
|
|
149
150
|
"group-has-[div[data-slot=input-left-slot]]:left-large-4x",
|
|
150
|
-
"group-has-[div[data-slot=input-left-slot]]:group-focus-within:left-
|
|
151
|
-
"group-has-[div[data-slot=input-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-
|
|
151
|
+
"group-has-[div[data-slot=input-left-slot]]:group-focus-within:left-small",
|
|
152
|
+
"group-has-[div[data-slot=input-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-small",
|
|
153
|
+
// If has right slot
|
|
154
|
+
"group-has-[div[data-slot=input-right-slot]]:right-large-4x",
|
|
155
|
+
"group-has-[div[data-slot=input-right-slot]]:group-focus-within:right-small",
|
|
156
|
+
"group-has-[div[data-slot=input-right-slot]]:group-has-[input:not(:placeholder-shown)]:right-small",
|
|
152
157
|
// Animate
|
|
153
158
|
"group-focus-within:animate-in",
|
|
154
159
|
"group-has-[input:not(:placeholder-shown)]:animate-out",
|
|
@@ -156,7 +161,18 @@ function InputLabel({
|
|
|
156
161
|
),
|
|
157
162
|
"data-variant": variant,
|
|
158
163
|
htmlFor,
|
|
159
|
-
...props
|
|
164
|
+
...props,
|
|
165
|
+
children: /* @__PURE__ */ jsx(
|
|
166
|
+
"span",
|
|
167
|
+
{
|
|
168
|
+
className: cx(
|
|
169
|
+
"rounded-small-1x max-w-full",
|
|
170
|
+
"group-data-[variant=outlined]:group-focus-within:bg-layer-2-idle group-data-[variant=filled]:group-focus-within:bg-layer-2-hover",
|
|
171
|
+
"group-data-[variant=outlined]:bg-layer-2-idle group-data-[variant=filled]:bg-layer-2-hover"
|
|
172
|
+
),
|
|
173
|
+
children
|
|
174
|
+
}
|
|
175
|
+
)
|
|
160
176
|
}
|
|
161
177
|
);
|
|
162
178
|
} });
|