@lglab/compose-ui 0.26.0 → 0.28.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.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  import { NumberField as o } from "@base-ui/react/number-field";
4
- import { f as s } from "./form-variants-D4ge0qav.js";
4
+ import { a as s } from "./form-variants-LJ8gIbk0.js";
5
5
  import { c as n } from "./utils-B6yFEsav.js";
6
6
  const u = ({ className: e, ...r }) => /* @__PURE__ */ t(o.Root, { className: n(s, e), ...r });
7
7
  u.displayName = "NumberFieldRoot";
@@ -13,7 +13,7 @@ const m = ({ className: e, ...r }) => /* @__PURE__ */ t(
13
13
  }
14
14
  );
15
15
  m.displayName = "NumberFieldScrubArea";
16
- const d = ({
16
+ const a = ({
17
17
  className: e,
18
18
  ...r
19
19
  }) => /* @__PURE__ */ t(
@@ -23,9 +23,9 @@ const d = ({
23
23
  ...r
24
24
  }
25
25
  );
26
- d.displayName = "NumberFieldScrubAreaCursor";
27
- const a = ({ className: e, ...r }) => /* @__PURE__ */ t(o.Group, { className: n("flex", e), ...r });
28
- a.displayName = "NumberFieldGroup";
26
+ a.displayName = "NumberFieldScrubAreaCursor";
27
+ const d = ({ className: e, ...r }) => /* @__PURE__ */ t(o.Group, { className: n("flex", e), ...r });
28
+ d.displayName = "NumberFieldGroup";
29
29
  const b = ({ className: e, ...r }) => /* @__PURE__ */ t(
30
30
  o.Input,
31
31
  {
@@ -61,10 +61,10 @@ const l = ({ className: e, ...r }) => /* @__PURE__ */ t(
61
61
  l.displayName = "NumberFieldIncrement";
62
62
  export {
63
63
  c as NumberFieldDecrement,
64
- a as NumberFieldGroup,
64
+ d as NumberFieldGroup,
65
65
  l as NumberFieldIncrement,
66
66
  b as NumberFieldInput,
67
67
  u as NumberFieldRoot,
68
68
  m as NumberFieldScrubArea,
69
- d as NumberFieldScrubAreaCursor
69
+ a as NumberFieldScrubAreaCursor
70
70
  };
package/dist/select.js CHANGED
@@ -18,17 +18,17 @@ const n = ({ className: e, ...t }) => /* @__PURE__ */ a(
18
18
  }
19
19
  );
20
20
  n.displayName = "SelectTrigger";
21
- const d = ({ className: e, ...t }) => /* @__PURE__ */ a(
21
+ const c = ({ className: e, ...t }) => /* @__PURE__ */ a(
22
22
  r.Value,
23
23
  {
24
24
  className: o("data-placeholder:text-muted-foreground text-sm", e),
25
25
  ...t
26
26
  }
27
27
  );
28
- d.displayName = "SelectValue";
29
- const i = ({ className: e, ...t }) => /* @__PURE__ */ a(r.Icon, { className: o("flex", e), ...t });
30
- i.displayName = "SelectIcon";
31
- const c = ({ className: e, ...t }) => /* @__PURE__ */ a(
28
+ c.displayName = "SelectValue";
29
+ const d = ({ className: e, ...t }) => /* @__PURE__ */ a(r.Icon, { className: o("flex", e), ...t });
30
+ d.displayName = "SelectIcon";
31
+ const i = ({ className: e, ...t }) => /* @__PURE__ */ a(
32
32
  r.Backdrop,
33
33
  {
34
34
  className: o(
@@ -40,10 +40,10 @@ const c = ({ className: e, ...t }) => /* @__PURE__ */ a(
40
40
  ...t
41
41
  }
42
42
  );
43
- c.displayName = "SelectBackdrop";
44
- const p = (e) => /* @__PURE__ */ a(r.Portal, { ...e });
45
- p.displayName = "SelectPortal";
46
- const m = ({ className: e, ...t }) => /* @__PURE__ */ a(
43
+ i.displayName = "SelectBackdrop";
44
+ const m = (e) => /* @__PURE__ */ a(r.Portal, { ...e });
45
+ m.displayName = "SelectPortal";
46
+ const p = ({ className: e, ...t }) => /* @__PURE__ */ a(
47
47
  r.Positioner,
48
48
  {
49
49
  className: o("outline-none select-none z-50", e),
@@ -51,7 +51,7 @@ const m = ({ className: e, ...t }) => /* @__PURE__ */ a(
51
51
  ...t
52
52
  }
53
53
  );
54
- m.displayName = "SelectPositioner";
54
+ p.displayName = "SelectPositioner";
55
55
  const u = ({ className: e, ...t }) => /* @__PURE__ */ a(
56
56
  r.Popup,
57
57
  {
@@ -68,7 +68,7 @@ const u = ({ className: e, ...t }) => /* @__PURE__ */ a(
68
68
  }
69
69
  );
70
70
  u.displayName = "SelectPopup";
71
- const g = ({ className: e, ...t }) => /* @__PURE__ */ a(
71
+ const f = ({ className: e, ...t }) => /* @__PURE__ */ a(
72
72
  r.List,
73
73
  {
74
74
  className: o(
@@ -78,7 +78,7 @@ const g = ({ className: e, ...t }) => /* @__PURE__ */ a(
78
78
  ...t
79
79
  }
80
80
  );
81
- g.displayName = "SelectList";
81
+ f.displayName = "SelectList";
82
82
  const b = ({ className: e, ...t }) => /* @__PURE__ */ a(
83
83
  r.Arrow,
84
84
  {
@@ -91,36 +91,33 @@ const b = ({ className: e, ...t }) => /* @__PURE__ */ a(
91
91
  }
92
92
  );
93
93
  b.displayName = "SelectArrow";
94
- const f = ({ className: e, ...t }) => /* @__PURE__ */ a(
94
+ const g = ({ className: e, ...t }) => /* @__PURE__ */ a(
95
95
  r.Item,
96
96
  {
97
97
  className: o(
98
- "grid cursor-default grid-cols-[0.75rem_1fr] items-center gap-2 py-1.5 pr-4 pl-2.5 text-sm outline-none select-none",
99
- "group-data-[side=none]:pr-12 group-data-[side=none]:text-base group-data-[side=none]:leading-4",
100
- "data-highlighted:relative data-highlighted:z-0 data-highlighted:text-background",
101
- "data-highlighted:before:absolute data-highlighted:before:inset-x-1 data-highlighted:before:inset-y-0 data-highlighted:before:z-[-1] data-highlighted:before:rounded-sm data-highlighted:before:bg-foreground",
102
- "pointer-coarse:py-2.5 pointer-coarse:text-[0.925rem]",
98
+ "flex items-center justify-between gap-2 py-1.5 px-4 text-sm outline-none select-none",
99
+ "data-selected:bg-accent data-selected:text-accent-foreground",
103
100
  e
104
101
  ),
105
102
  ...t
106
103
  }
107
104
  );
108
- f.displayName = "SelectItem";
109
- const h = ({ className: e, ...t }) => /* @__PURE__ */ a(r.ItemText, { className: o("col-start-2 text-sm", e), ...t });
110
- h.displayName = "SelectItemText";
105
+ g.displayName = "SelectItem";
106
+ const S = ({ className: e, ...t }) => /* @__PURE__ */ a(r.ItemText, { className: o("col-start-2 text-sm", e), ...t });
107
+ S.displayName = "SelectItemText";
111
108
  const y = ({ className: e, ...t }) => /* @__PURE__ */ a(r.ItemIndicator, { className: o("col-start-1", e), ...t });
112
109
  y.displayName = "SelectItemIndicator";
113
- const S = ({ className: e, ...t }) => /* @__PURE__ */ a(r.Group, { className: o(e), ...t });
114
- S.displayName = "SelectGroup";
115
- const x = ({ className: e, ...t }) => /* @__PURE__ */ a(
110
+ const x = ({ className: e, ...t }) => /* @__PURE__ */ a(r.Group, { className: o(e), ...t });
111
+ x.displayName = "SelectGroup";
112
+ const N = ({ className: e, ...t }) => /* @__PURE__ */ a(
116
113
  r.GroupLabel,
117
114
  {
118
115
  className: o("px-3 py-1.5 text-sm font-semibold", e),
119
116
  ...t
120
117
  }
121
118
  );
122
- x.displayName = "SelectGroupLabel";
123
- const N = ({ className: e, ...t }) => /* @__PURE__ */ a(
119
+ N.displayName = "SelectGroupLabel";
120
+ const w = ({ className: e, ...t }) => /* @__PURE__ */ a(
124
121
  r.ScrollUpArrow,
125
122
  {
126
123
  className: o(
@@ -130,8 +127,8 @@ const N = ({ className: e, ...t }) => /* @__PURE__ */ a(
130
127
  ...t
131
128
  }
132
129
  );
133
- N.displayName = "SelectScrollUpArrow";
134
- const w = ({ className: e, ...t }) => /* @__PURE__ */ a(
130
+ w.displayName = "SelectScrollUpArrow";
131
+ const h = ({ className: e, ...t }) => /* @__PURE__ */ a(
135
132
  r.ScrollDownArrow,
136
133
  {
137
134
  className: o(
@@ -141,7 +138,7 @@ const w = ({ className: e, ...t }) => /* @__PURE__ */ a(
141
138
  ...t
142
139
  }
143
140
  );
144
- w.displayName = "SelectScrollDownArrow";
141
+ h.displayName = "SelectScrollDownArrow";
145
142
  const I = ({ className: e, ...t }) => /* @__PURE__ */ a(
146
143
  r.Separator,
147
144
  {
@@ -152,21 +149,21 @@ const I = ({ className: e, ...t }) => /* @__PURE__ */ a(
152
149
  I.displayName = "SelectSeparator";
153
150
  export {
154
151
  b as SelectArrow,
155
- c as SelectBackdrop,
156
- S as SelectGroup,
157
- x as SelectGroupLabel,
158
- i as SelectIcon,
159
- f as SelectItem,
152
+ i as SelectBackdrop,
153
+ x as SelectGroup,
154
+ N as SelectGroupLabel,
155
+ d as SelectIcon,
156
+ g as SelectItem,
160
157
  y as SelectItemIndicator,
161
- h as SelectItemText,
162
- g as SelectList,
158
+ S as SelectItemText,
159
+ f as SelectList,
163
160
  u as SelectPopup,
164
- p as SelectPortal,
165
- m as SelectPositioner,
161
+ m as SelectPortal,
162
+ p as SelectPositioner,
166
163
  s as SelectRoot,
167
- w as SelectScrollDownArrow,
168
- N as SelectScrollUpArrow,
164
+ h as SelectScrollDownArrow,
165
+ w as SelectScrollUpArrow,
169
166
  I as SelectSeparator,
170
167
  n as SelectTrigger,
171
- d as SelectValue
168
+ c as SelectValue
172
169
  };
@@ -17,6 +17,9 @@
17
17
  --color-accent: var(--accent);
18
18
  --color-accent-foreground: var(--accent-foreground);
19
19
  --color-destructive: var(--destructive);
20
+ --color-success: var(--success);
21
+ --color-warning: var(--warning);
22
+ --color-info: var(--info);
20
23
  --color-input: var(--input);
21
24
  --color-border: var(--border);
22
25
  --color-ring: var(--ring);
@@ -37,6 +40,9 @@
37
40
  --accent: oklch(0.97 0 0);
38
41
  --accent-foreground: oklch(0.205 0 0);
39
42
  --destructive: oklch(0.577 0.245 27.325);
43
+ --success: oklch(0.59 0.2 145);
44
+ --warning: oklch(0.75 0.18 85);
45
+ --info: oklch(0.55 0.2 255);
40
46
  --border: oklch(0.922 0 0);
41
47
  --input: oklch(0.922 0 0);
42
48
  --ring: oklch(0.708 0 0);
@@ -56,6 +62,9 @@
56
62
  --accent: oklch(0.269 0 0);
57
63
  --accent-foreground: oklch(0.985 0 0);
58
64
  --destructive: oklch(0.704 0.191 22.216);
65
+ --success: oklch(0.65 0.2 145);
66
+ --warning: oklch(0.795 0.184 86.047);
67
+ --info: oklch(0.65 0.2 255);
59
68
  --border: oklch(1 0 0 / 10%);
60
69
  --input: oklch(1 0 0 / 15%);
61
70
  --ring: oklch(0.556 0 0);
@@ -76,6 +85,9 @@
76
85
  --accent: oklch(0.269 0 0);
77
86
  --accent-foreground: oklch(0.985 0 0);
78
87
  --destructive: oklch(0.704 0.191 22.216);
88
+ --success: oklch(0.65 0.2 145);
89
+ --warning: oklch(0.795 0.184 86.047);
90
+ --info: oklch(0.65 0.2 255);
79
91
  --input: oklch(1 0 0 / 15%);
80
92
  --border: oklch(1 0 0 / 10%);
81
93
  --ring: oklch(0.556 0 0);
package/dist/textarea.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
- import { i as r } from "./form-variants-D4ge0qav.js";
3
+ import { i as r } from "./form-variants-LJ8gIbk0.js";
4
4
  import { c as s } from "./utils-B6yFEsav.js";
5
5
  const m = ({ className: a, ...e }) => /* @__PURE__ */ t(
6
6
  "textarea",
@@ -0,0 +1,56 @@
1
+ import { JSX } from 'react/jsx-runtime';
2
+ import * as React_2 from 'react';
3
+ import { Toolbar } from '@base-ui/react/toolbar';
4
+
5
+ declare type ControlSize = 'sm' | 'default' | 'lg' | 'icon' | 'icon-sm' | 'icon-lg';
6
+
7
+ declare type ControlVariant = 'default' | 'ghost';
8
+
9
+ export declare const ToolbarButton: {
10
+ ({ className, variant, size, ...props }: ToolbarButtonProps): JSX.Element;
11
+ displayName: string;
12
+ };
13
+
14
+ export declare type ToolbarButtonProps = React_2.ComponentProps<typeof Toolbar.Button> & {
15
+ /** Visual style of the toolbar button */
16
+ variant?: ControlVariant;
17
+ /** Size of the toolbar button */
18
+ size?: ControlSize;
19
+ };
20
+
21
+ export declare const ToolbarGroup: {
22
+ ({ className, ...props }: ToolbarGroupProps): JSX.Element;
23
+ displayName: string;
24
+ };
25
+
26
+ export declare type ToolbarGroupProps = React_2.ComponentProps<typeof Toolbar.Group>;
27
+
28
+ export declare const ToolbarInput: {
29
+ ({ className, ...props }: ToolbarInputProps): JSX.Element;
30
+ displayName: string;
31
+ };
32
+
33
+ export declare type ToolbarInputProps = React_2.ComponentProps<typeof Toolbar.Input>;
34
+
35
+ export declare const ToolbarLink: {
36
+ ({ className, ...props }: ToolbarLinkProps): JSX.Element;
37
+ displayName: string;
38
+ };
39
+
40
+ export declare type ToolbarLinkProps = React_2.ComponentProps<typeof Toolbar.Link>;
41
+
42
+ export declare const ToolbarRoot: {
43
+ ({ className, ...props }: ToolbarRootProps): JSX.Element;
44
+ displayName: string;
45
+ };
46
+
47
+ export declare type ToolbarRootProps = React_2.ComponentProps<typeof Toolbar.Root>;
48
+
49
+ export declare const ToolbarSeparator: {
50
+ ({ className, ...props }: ToolbarSeparatorProps): JSX.Element;
51
+ displayName: string;
52
+ };
53
+
54
+ export declare type ToolbarSeparatorProps = React_2.ComponentProps<typeof Toolbar.Separator>;
55
+
56
+ export { }
@@ -0,0 +1,69 @@
1
+ "use client";
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ import { Toolbar as a } from "@base-ui/react/toolbar";
4
+ import { c as l } from "./control-variants-Bwep4n0y.js";
5
+ import { c as t } from "./utils-B6yFEsav.js";
6
+ const m = ({ className: o, ...r }) => /* @__PURE__ */ e(
7
+ a.Root,
8
+ {
9
+ className: t(
10
+ "flex items-center gap-1 flex-wrap rounded-md border border-border bg-muted p-1",
11
+ o
12
+ ),
13
+ ...r
14
+ }
15
+ );
16
+ m.displayName = "ToolbarRoot";
17
+ const p = ({
18
+ className: o,
19
+ variant: r = "ghost",
20
+ size: n,
21
+ ...s
22
+ }) => /* @__PURE__ */ e(
23
+ a.Button,
24
+ {
25
+ className: t(l({ variant: r, size: n }), o),
26
+ ...s
27
+ }
28
+ );
29
+ p.displayName = "ToolbarButton";
30
+ const d = ({ className: o, ...r }) => /* @__PURE__ */ e(
31
+ a.Link,
32
+ {
33
+ className: t(
34
+ "text-sm text-muted-foreground no-underline hover:text-foreground",
35
+ o
36
+ ),
37
+ ...r
38
+ }
39
+ );
40
+ d.displayName = "ToolbarLink";
41
+ const u = ({ className: o, ...r }) => /* @__PURE__ */ e(
42
+ a.Input,
43
+ {
44
+ className: t(
45
+ "h-8 rounded-md border border-border bg-background px-2 text-sm outline-none",
46
+ o
47
+ ),
48
+ ...r
49
+ }
50
+ );
51
+ u.displayName = "ToolbarInput";
52
+ const b = ({ className: o, ...r }) => /* @__PURE__ */ e(a.Group, { className: t("flex items-center gap-1", o), ...r });
53
+ b.displayName = "ToolbarGroup";
54
+ const c = ({ className: o, ...r }) => /* @__PURE__ */ e(
55
+ a.Separator,
56
+ {
57
+ className: t("mx-1 h-4 w-px shrink-0 bg-border", o),
58
+ ...r
59
+ }
60
+ );
61
+ c.displayName = "ToolbarSeparator";
62
+ export {
63
+ p as ToolbarButton,
64
+ b as ToolbarGroup,
65
+ u as ToolbarInput,
66
+ d as ToolbarLink,
67
+ m as ToolbarRoot,
68
+ c as ToolbarSeparator
69
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lglab/compose-ui",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "description": "A collection of components built with Base UI & Tailwind CSS",
5
5
  "author": "LGLab",
6
6
  "license": "MIT",
@@ -30,6 +30,10 @@
30
30
  "import": "./dist/accordion.js",
31
31
  "types": "./dist/accordion.d.ts"
32
32
  },
33
+ "./autocomplete": {
34
+ "import": "./dist/autocomplete.js",
35
+ "types": "./dist/autocomplete.d.ts"
36
+ },
33
37
  "./alert-dialog": {
34
38
  "import": "./dist/alert-dialog.js",
35
39
  "types": "./dist/alert-dialog.d.ts"
@@ -38,6 +42,10 @@
38
42
  "import": "./dist/avatar.js",
39
43
  "types": "./dist/avatar.d.ts"
40
44
  },
45
+ "./badge": {
46
+ "import": "./dist/badge.js",
47
+ "types": "./dist/badge.d.ts"
48
+ },
41
49
  "./button": {
42
50
  "import": "./dist/button.js",
43
51
  "types": "./dist/button.d.ts"
@@ -58,6 +66,10 @@
58
66
  "import": "./dist/collapsible.js",
59
67
  "types": "./dist/collapsible.d.ts"
60
68
  },
69
+ "./combobox": {
70
+ "import": "./dist/combobox.js",
71
+ "types": "./dist/combobox.d.ts"
72
+ },
61
73
  "./context-menu": {
62
74
  "import": "./dist/context-menu.js",
63
75
  "types": "./dist/context-menu.d.ts"
@@ -166,6 +178,10 @@
166
178
  "import": "./dist/toggle-group.js",
167
179
  "types": "./dist/toggle-group.d.ts"
168
180
  },
181
+ "./toolbar": {
182
+ "import": "./dist/toolbar.js",
183
+ "types": "./dist/toolbar.d.ts"
184
+ },
169
185
  "./tooltip": {
170
186
  "import": "./dist/tooltip.js",
171
187
  "types": "./dist/tooltip.d.ts"
@@ -190,11 +206,11 @@
190
206
  },
191
207
  "devDependencies": {
192
208
  "@base-ui/react": "^1.1.0",
193
- "@types/node": "^25.0.9",
194
- "@types/react": "^19.2.8",
209
+ "@types/node": "^25.0.10",
210
+ "@types/react": "^19.2.9",
195
211
  "@types/react-dom": "^19.2.3",
196
212
  "@vitejs/plugin-react": "^5.1.2",
197
- "globals": "^17.0.0",
213
+ "globals": "^17.1.0",
198
214
  "react": "^19.2.3",
199
215
  "react-dom": "^19.2.3",
200
216
  "rollup-preserve-directives": "^1.1.3",
@@ -202,7 +218,7 @@
202
218
  "typescript-eslint": "^8.53.1",
203
219
  "vite": "^7.3.1",
204
220
  "vite-plugin-dts": "^4.5.4",
205
- "vite-plugin-static-copy": "^3.1.5"
221
+ "vite-plugin-static-copy": "^3.1.6"
206
222
  },
207
223
  "scripts": {
208
224
  "build": "tsc -b && vite build"