@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.
@@ -1,8 +1,8 @@
1
1
 
2
- > @xjur-ui/react@1.0.0 build
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 1.23 KB
15
- ESM dist/index.css 51.62 KB
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.34 KB
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.55 KB
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.69 KB
25
- ESM dist/components/input.js 7.41 KB
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.07 KB
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 1663ms
38
- DTS ⚡️ Build success in 5675ms
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.11 KB
61
- DTS dist/components/icon.d.ts 2.22 KB
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" | "danger" | "neutral" | null | undefined;
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;
@@ -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
- "bg-layer-2-idle w-fit font-normal",
160
- "pointer-events-none absolute top-[50%] left-auto -translate-y-1/2",
161
- "ease pointer-events-none transition-all duration-150",
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-auto",
177
- "group-has-[div[data-slot=date-picker-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-auto",
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 = {
@@ -142,7 +142,9 @@ var icons = [
142
142
  "event",
143
143
  "account_circle",
144
144
  "history",
145
- "security"
145
+ "security",
146
+ "bar_chart",
147
+ "category"
146
148
  ];
147
149
 
148
150
  // src/components/icon.tsx
@@ -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'> & {
@@ -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
- "rounded-small-1x text-size-body-md text-neutral-dark data-[variant=outlined]:bg-layer-2-idle bg-layer-2-hover w-fit font-normal",
140
- "ease animate-in pointer-events-none absolute top-1/2 left-auto -translate-y-1/2 transition-all duration-250",
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:bg-layer-2-hover data-[variant=outlined]:group-focus-within:bg-layer-2-idle group-focus-within:-top-[3px]",
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-auto",
151
- "group-has-[div[data-slot=input-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-auto",
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
  } });