@azmr/ui 0.3.0 → 0.4.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,6 +1,10 @@
1
1
  import {
2
2
  renderElement
3
3
  } from "./chunk-LTOLV67A.js";
4
+ import {
5
+ ChevronRight,
6
+ Ellipsis
7
+ } from "./chunk-KN3OU7HF.js";
4
8
  import {
5
9
  Icon
6
10
  } from "./chunk-Q4PPM2SU.js";
@@ -9,7 +13,6 @@ import {
9
13
  } from "./chunk-7EOSDFS3.js";
10
14
 
11
15
  // src/components/breadcrumb/breadcrumb.tsx
12
- import { ChevronRight, Ellipsis } from "lucide-react";
13
16
  import {
14
17
  Fragment,
15
18
  forwardRef
@@ -3,6 +3,11 @@ import {
3
3
  FLOATING_MOTION,
4
4
  POSITION_DEFAULTS
5
5
  } from "./chunk-LZMX27IZ.js";
6
+ import {
7
+ Check,
8
+ ChevronRight,
9
+ Circle
10
+ } from "./chunk-ORAD4PGE.js";
6
11
  import {
7
12
  Icon
8
13
  } from "./chunk-XRZHP6BD.js";
@@ -17,7 +22,6 @@ import { forwardRef as forwardRef2 } from "react";
17
22
  import { ContextMenu } from "@base-ui/react/context-menu";
18
23
 
19
24
  // src/components/menu/parts.tsx
20
- import { Check, ChevronRight, Circle } from "lucide-react";
21
25
  import { forwardRef } from "react";
22
26
 
23
27
  // src/primitives/menu.ts
@@ -0,0 +1,258 @@
1
+ // src/icons/glyphs.ts
2
+ import {
3
+ ArrowDown as ArrowDownNode,
4
+ ArrowLeft as ArrowLeftNode,
5
+ ArrowRight as ArrowRightNode,
6
+ ArrowUpDown as ArrowUpDownNode,
7
+ ArrowUp as ArrowUpNode,
8
+ Bell as BellNode,
9
+ Calendar as CalendarNode,
10
+ Check as CheckNode,
11
+ ChevronDown as ChevronDownNode,
12
+ ChevronLeft as ChevronLeftNode,
13
+ ChevronRight as ChevronRightNode,
14
+ ChevronsLeft as ChevronsLeftNode,
15
+ ChevronsRight as ChevronsRightNode,
16
+ ChevronsUpDown as ChevronsUpDownNode,
17
+ ChevronUp as ChevronUpNode,
18
+ CircleAlert as CircleAlertNode,
19
+ CircleCheck as CircleCheckNode,
20
+ CircleDot as CircleDotNode,
21
+ Circle as CircleNode,
22
+ CircleX as CircleXNode,
23
+ Clock as ClockNode,
24
+ Copy as CopyNode,
25
+ Download as DownloadNode,
26
+ Ellipsis as EllipsisNode,
27
+ EllipsisVertical as EllipsisVerticalNode,
28
+ ExternalLink as ExternalLinkNode,
29
+ Eye as EyeNode,
30
+ EyeOff as EyeOffNode,
31
+ Funnel as FunnelNode,
32
+ GripVertical as GripVerticalNode,
33
+ House as HouseNode,
34
+ Info as InfoNode,
35
+ LoaderCircle as LoaderCircleNode,
36
+ Lock as LockNode,
37
+ LogOut as LogOutNode,
38
+ Mail as MailNode,
39
+ Menu as MenuNode,
40
+ Minus as MinusNode,
41
+ Monitor as MonitorNode,
42
+ Moon as MoonNode,
43
+ PanelLeft as PanelLeftNode,
44
+ Paperclip as PaperclipNode,
45
+ Pencil as PencilNode,
46
+ Plus as PlusNode,
47
+ RefreshCw as RefreshCwNode,
48
+ Save as SaveNode,
49
+ Search as SearchNode,
50
+ Settings as SettingsNode,
51
+ SquareCheck as SquareCheckNode,
52
+ SquareMinus as SquareMinusNode,
53
+ Square as SquareNode,
54
+ Star as StarNode,
55
+ Sun as SunNode,
56
+ Trash2 as Trash2Node,
57
+ TriangleAlert as TriangleAlertNode,
58
+ Upload as UploadNode,
59
+ User as UserNode,
60
+ Users as UsersNode,
61
+ X as XNode
62
+ } from "lucide";
63
+
64
+ // src/icons/glyph.tsx
65
+ import {
66
+ createElement,
67
+ forwardRef
68
+ } from "react";
69
+ var VIEWBOX_SIZE = 24;
70
+ var reactAttribute = (name) => name.startsWith("aria-") || name.startsWith("data-") ? name : name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
71
+ var hasAccessibleProp = (props) => Object.keys(props).some((key) => key.startsWith("aria-") || key === "role" || key === "title");
72
+ var pascal = (kebab) => kebab.replace(/(^|-)([a-z0-9])/g, (_, __, letter) => letter.toUpperCase());
73
+ function createGlyph(name, node, aliases = []) {
74
+ const shapes = node.map(([tag, attributes], index) => {
75
+ const props = {};
76
+ for (const [key, value] of Object.entries(attributes)) {
77
+ if (value !== void 0) props[reactAttribute(key)] = value;
78
+ }
79
+ return createElement(tag, { key: index, ...props });
80
+ });
81
+ const glyph = forwardRef(function Glyph({
82
+ size = VIEWBOX_SIZE,
83
+ color = "currentColor",
84
+ strokeWidth = 2,
85
+ absoluteStrokeWidth = false,
86
+ className,
87
+ children,
88
+ ...rest
89
+ }, ref) {
90
+ const classes = [
91
+ "lucide",
92
+ `lucide-${name}`,
93
+ ...aliases.map((alias) => `lucide-${alias}`),
94
+ ...className?.split(" ") ?? []
95
+ ].filter((value, index, all) => value !== "" && all.indexOf(value) === index);
96
+ return createElement(
97
+ "svg",
98
+ {
99
+ ref,
100
+ xmlns: "http://www.w3.org/2000/svg",
101
+ width: size,
102
+ height: size,
103
+ viewBox: `0 0 ${VIEWBOX_SIZE} ${VIEWBOX_SIZE}`,
104
+ fill: "none",
105
+ stroke: color,
106
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * VIEWBOX_SIZE / Number(size) : strokeWidth,
107
+ strokeLinecap: "round",
108
+ strokeLinejoin: "round",
109
+ className: classes.join(" "),
110
+ ...children || hasAccessibleProp(rest) ? {} : { "aria-hidden": "true" },
111
+ ...rest
112
+ },
113
+ ...shapes,
114
+ children
115
+ );
116
+ });
117
+ glyph.displayName = pascal(name);
118
+ return glyph;
119
+ }
120
+
121
+ // src/icons/glyphs.ts
122
+ var ArrowDown = /* @__PURE__ */ createGlyph("arrow-down", ArrowDownNode);
123
+ var ArrowLeft = /* @__PURE__ */ createGlyph("arrow-left", ArrowLeftNode);
124
+ var ArrowRight = /* @__PURE__ */ createGlyph("arrow-right", ArrowRightNode);
125
+ var ArrowUp = /* @__PURE__ */ createGlyph("arrow-up", ArrowUpNode);
126
+ var ArrowUpDown = /* @__PURE__ */ createGlyph("arrow-up-down", ArrowUpDownNode);
127
+ var Bell = /* @__PURE__ */ createGlyph("bell", BellNode);
128
+ var Calendar = /* @__PURE__ */ createGlyph("calendar", CalendarNode);
129
+ var Check = /* @__PURE__ */ createGlyph("check", CheckNode);
130
+ var ChevronDown = /* @__PURE__ */ createGlyph("chevron-down", ChevronDownNode);
131
+ var ChevronLeft = /* @__PURE__ */ createGlyph("chevron-left", ChevronLeftNode);
132
+ var ChevronRight = /* @__PURE__ */ createGlyph("chevron-right", ChevronRightNode);
133
+ var ChevronsLeft = /* @__PURE__ */ createGlyph("chevrons-left", ChevronsLeftNode);
134
+ var ChevronsRight = /* @__PURE__ */ createGlyph("chevrons-right", ChevronsRightNode);
135
+ var ChevronsUpDown = /* @__PURE__ */ createGlyph("chevrons-up-down", ChevronsUpDownNode);
136
+ var ChevronUp = /* @__PURE__ */ createGlyph("chevron-up", ChevronUpNode);
137
+ var Circle = /* @__PURE__ */ createGlyph("circle", CircleNode);
138
+ var CircleAlert = /* @__PURE__ */ createGlyph("circle-alert", CircleAlertNode, [
139
+ "alert-circle"
140
+ ]);
141
+ var CircleCheck = /* @__PURE__ */ createGlyph("circle-check", CircleCheckNode, [
142
+ "check-circle-2"
143
+ ]);
144
+ var CircleDot = /* @__PURE__ */ createGlyph("circle-dot", CircleDotNode);
145
+ var CircleX = /* @__PURE__ */ createGlyph("circle-x", CircleXNode, ["x-circle"]);
146
+ var Clock = /* @__PURE__ */ createGlyph("clock", ClockNode);
147
+ var Copy = /* @__PURE__ */ createGlyph("copy", CopyNode);
148
+ var Download = /* @__PURE__ */ createGlyph("download", DownloadNode);
149
+ var Ellipsis = /* @__PURE__ */ createGlyph("ellipsis", EllipsisNode, ["more-horizontal"]);
150
+ var EllipsisVertical = /* @__PURE__ */ createGlyph(
151
+ "ellipsis-vertical",
152
+ EllipsisVerticalNode,
153
+ ["more-vertical"]
154
+ );
155
+ var ExternalLink = /* @__PURE__ */ createGlyph("external-link", ExternalLinkNode);
156
+ var Eye = /* @__PURE__ */ createGlyph("eye", EyeNode);
157
+ var EyeOff = /* @__PURE__ */ createGlyph("eye-off", EyeOffNode);
158
+ var Funnel = /* @__PURE__ */ createGlyph("funnel", FunnelNode, ["filter"]);
159
+ var GripVertical = /* @__PURE__ */ createGlyph("grip-vertical", GripVerticalNode);
160
+ var House = /* @__PURE__ */ createGlyph("house", HouseNode, ["home"]);
161
+ var Info = /* @__PURE__ */ createGlyph("info", InfoNode);
162
+ var LoaderCircle = /* @__PURE__ */ createGlyph("loader-circle", LoaderCircleNode, [
163
+ "loader-2"
164
+ ]);
165
+ var Lock = /* @__PURE__ */ createGlyph("lock", LockNode);
166
+ var LogOut = /* @__PURE__ */ createGlyph("log-out", LogOutNode);
167
+ var Mail = /* @__PURE__ */ createGlyph("mail", MailNode);
168
+ var Menu = /* @__PURE__ */ createGlyph("menu", MenuNode);
169
+ var Minus = /* @__PURE__ */ createGlyph("minus", MinusNode);
170
+ var Monitor = /* @__PURE__ */ createGlyph("monitor", MonitorNode);
171
+ var Moon = /* @__PURE__ */ createGlyph("moon", MoonNode);
172
+ var PanelLeft = /* @__PURE__ */ createGlyph("panel-left", PanelLeftNode, ["sidebar"]);
173
+ var Paperclip = /* @__PURE__ */ createGlyph("paperclip", PaperclipNode);
174
+ var Pencil = /* @__PURE__ */ createGlyph("pencil", PencilNode);
175
+ var Plus = /* @__PURE__ */ createGlyph("plus", PlusNode);
176
+ var RefreshCw = /* @__PURE__ */ createGlyph("refresh-cw", RefreshCwNode);
177
+ var Save = /* @__PURE__ */ createGlyph("save", SaveNode);
178
+ var Search = /* @__PURE__ */ createGlyph("search", SearchNode);
179
+ var Settings = /* @__PURE__ */ createGlyph("settings", SettingsNode);
180
+ var Square = /* @__PURE__ */ createGlyph("square", SquareNode);
181
+ var SquareCheck = /* @__PURE__ */ createGlyph("square-check", SquareCheckNode, [
182
+ "check-square-2"
183
+ ]);
184
+ var SquareMinus = /* @__PURE__ */ createGlyph("square-minus", SquareMinusNode, [
185
+ "minus-square"
186
+ ]);
187
+ var Star = /* @__PURE__ */ createGlyph("star", StarNode);
188
+ var Sun = /* @__PURE__ */ createGlyph("sun", SunNode);
189
+ var Trash2 = /* @__PURE__ */ createGlyph("trash", Trash2Node, ["trash-2"]);
190
+ var TriangleAlert = /* @__PURE__ */ createGlyph("triangle-alert", TriangleAlertNode, [
191
+ "alert-triangle"
192
+ ]);
193
+ var Upload = /* @__PURE__ */ createGlyph("upload", UploadNode);
194
+ var User = /* @__PURE__ */ createGlyph("user", UserNode);
195
+ var Users = /* @__PURE__ */ createGlyph("users", UsersNode);
196
+ var X = /* @__PURE__ */ createGlyph("x", XNode);
197
+
198
+ export {
199
+ ArrowDown,
200
+ ArrowLeft,
201
+ ArrowRight,
202
+ ArrowUp,
203
+ ArrowUpDown,
204
+ Bell,
205
+ Calendar,
206
+ Check,
207
+ ChevronDown,
208
+ ChevronLeft,
209
+ ChevronRight,
210
+ ChevronsLeft,
211
+ ChevronsRight,
212
+ ChevronsUpDown,
213
+ ChevronUp,
214
+ Circle,
215
+ CircleAlert,
216
+ CircleCheck,
217
+ CircleDot,
218
+ CircleX,
219
+ Clock,
220
+ Copy,
221
+ Download,
222
+ Ellipsis,
223
+ EllipsisVertical,
224
+ ExternalLink,
225
+ Eye,
226
+ EyeOff,
227
+ Funnel,
228
+ GripVertical,
229
+ House,
230
+ Info,
231
+ LoaderCircle,
232
+ Lock,
233
+ LogOut,
234
+ Mail,
235
+ Menu,
236
+ Minus,
237
+ Monitor,
238
+ Moon,
239
+ PanelLeft,
240
+ Paperclip,
241
+ Pencil,
242
+ Plus,
243
+ RefreshCw,
244
+ Save,
245
+ Search,
246
+ Settings,
247
+ Square,
248
+ SquareCheck,
249
+ SquareMinus,
250
+ Star,
251
+ Sun,
252
+ Trash2,
253
+ TriangleAlert,
254
+ Upload,
255
+ User,
256
+ Users,
257
+ X
258
+ };
@@ -0,0 +1,150 @@
1
+ "use client";
2
+
3
+ // src/icons/glyphs.ts
4
+ import {
5
+ ArrowDown as ArrowDownNode,
6
+ ArrowLeft as ArrowLeftNode,
7
+ ArrowRight as ArrowRightNode,
8
+ ArrowUpDown as ArrowUpDownNode,
9
+ ArrowUp as ArrowUpNode,
10
+ Bell as BellNode,
11
+ Calendar as CalendarNode,
12
+ Check as CheckNode,
13
+ ChevronDown as ChevronDownNode,
14
+ ChevronLeft as ChevronLeftNode,
15
+ ChevronRight as ChevronRightNode,
16
+ ChevronsLeft as ChevronsLeftNode,
17
+ ChevronsRight as ChevronsRightNode,
18
+ ChevronsUpDown as ChevronsUpDownNode,
19
+ ChevronUp as ChevronUpNode,
20
+ CircleAlert as CircleAlertNode,
21
+ CircleCheck as CircleCheckNode,
22
+ CircleDot as CircleDotNode,
23
+ Circle as CircleNode,
24
+ CircleX as CircleXNode,
25
+ Clock as ClockNode,
26
+ Copy as CopyNode,
27
+ Download as DownloadNode,
28
+ Ellipsis as EllipsisNode,
29
+ EllipsisVertical as EllipsisVerticalNode,
30
+ ExternalLink as ExternalLinkNode,
31
+ Eye as EyeNode,
32
+ EyeOff as EyeOffNode,
33
+ Funnel as FunnelNode,
34
+ GripVertical as GripVerticalNode,
35
+ House as HouseNode,
36
+ Info as InfoNode,
37
+ LoaderCircle as LoaderCircleNode,
38
+ Lock as LockNode,
39
+ LogOut as LogOutNode,
40
+ Mail as MailNode,
41
+ Menu as MenuNode,
42
+ Minus as MinusNode,
43
+ Monitor as MonitorNode,
44
+ Moon as MoonNode,
45
+ PanelLeft as PanelLeftNode,
46
+ Paperclip as PaperclipNode,
47
+ Pencil as PencilNode,
48
+ Plus as PlusNode,
49
+ RefreshCw as RefreshCwNode,
50
+ Save as SaveNode,
51
+ Search as SearchNode,
52
+ Settings as SettingsNode,
53
+ SquareCheck as SquareCheckNode,
54
+ SquareMinus as SquareMinusNode,
55
+ Square as SquareNode,
56
+ Star as StarNode,
57
+ Sun as SunNode,
58
+ Trash2 as Trash2Node,
59
+ TriangleAlert as TriangleAlertNode,
60
+ Upload as UploadNode,
61
+ User as UserNode,
62
+ Users as UsersNode,
63
+ X as XNode
64
+ } from "lucide";
65
+
66
+ // src/icons/glyph.tsx
67
+ import {
68
+ createElement,
69
+ forwardRef
70
+ } from "react";
71
+ var VIEWBOX_SIZE = 24;
72
+ var reactAttribute = (name) => name.startsWith("aria-") || name.startsWith("data-") ? name : name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
73
+ var hasAccessibleProp = (props) => Object.keys(props).some((key) => key.startsWith("aria-") || key === "role" || key === "title");
74
+ var pascal = (kebab) => kebab.replace(/(^|-)([a-z0-9])/g, (_, __, letter) => letter.toUpperCase());
75
+ function createGlyph(name, node, aliases = []) {
76
+ const shapes = node.map(([tag, attributes], index) => {
77
+ const props = {};
78
+ for (const [key, value] of Object.entries(attributes)) {
79
+ if (value !== void 0) props[reactAttribute(key)] = value;
80
+ }
81
+ return createElement(tag, { key: index, ...props });
82
+ });
83
+ const glyph = forwardRef(function Glyph({
84
+ size = VIEWBOX_SIZE,
85
+ color = "currentColor",
86
+ strokeWidth = 2,
87
+ absoluteStrokeWidth = false,
88
+ className,
89
+ children,
90
+ ...rest
91
+ }, ref) {
92
+ const classes = [
93
+ "lucide",
94
+ `lucide-${name}`,
95
+ ...aliases.map((alias) => `lucide-${alias}`),
96
+ ...className?.split(" ") ?? []
97
+ ].filter((value, index, all) => value !== "" && all.indexOf(value) === index);
98
+ return createElement(
99
+ "svg",
100
+ {
101
+ ref,
102
+ xmlns: "http://www.w3.org/2000/svg",
103
+ width: size,
104
+ height: size,
105
+ viewBox: `0 0 ${VIEWBOX_SIZE} ${VIEWBOX_SIZE}`,
106
+ fill: "none",
107
+ stroke: color,
108
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * VIEWBOX_SIZE / Number(size) : strokeWidth,
109
+ strokeLinecap: "round",
110
+ strokeLinejoin: "round",
111
+ className: classes.join(" "),
112
+ ...children || hasAccessibleProp(rest) ? {} : { "aria-hidden": "true" },
113
+ ...rest
114
+ },
115
+ ...shapes,
116
+ children
117
+ );
118
+ });
119
+ glyph.displayName = pascal(name);
120
+ return glyph;
121
+ }
122
+
123
+ // src/icons/glyphs.ts
124
+ var Check = /* @__PURE__ */ createGlyph("check", CheckNode);
125
+ var ChevronDown = /* @__PURE__ */ createGlyph("chevron-down", ChevronDownNode);
126
+ var ChevronRight = /* @__PURE__ */ createGlyph("chevron-right", ChevronRightNode);
127
+ var Circle = /* @__PURE__ */ createGlyph("circle", CircleNode);
128
+ var CircleAlert = /* @__PURE__ */ createGlyph("circle-alert", CircleAlertNode, [
129
+ "alert-circle"
130
+ ]);
131
+ var CircleCheck = /* @__PURE__ */ createGlyph("circle-check", CircleCheckNode, [
132
+ "check-circle-2"
133
+ ]);
134
+ var Info = /* @__PURE__ */ createGlyph("info", InfoNode);
135
+ var TriangleAlert = /* @__PURE__ */ createGlyph("triangle-alert", TriangleAlertNode, [
136
+ "alert-triangle"
137
+ ]);
138
+ var X = /* @__PURE__ */ createGlyph("x", XNode);
139
+
140
+ export {
141
+ Check,
142
+ ChevronDown,
143
+ ChevronRight,
144
+ Circle,
145
+ CircleAlert,
146
+ CircleCheck,
147
+ Info,
148
+ TriangleAlert,
149
+ X
150
+ };
@@ -1,4 +1,7 @@
1
1
  "use client";
2
+ import {
3
+ ChevronDown
4
+ } from "./chunk-ORAD4PGE.js";
2
5
  import {
3
6
  Icon
4
7
  } from "./chunk-XRZHP6BD.js";
@@ -7,7 +10,6 @@ import {
7
10
  } from "./chunk-2TQSHVXA.js";
8
11
 
9
12
  // src/components/disclosure/accordion.tsx
10
- import { ChevronDown } from "lucide-react";
11
13
  import { createElement, forwardRef } from "react";
12
14
 
13
15
  // src/primitives/accordion.ts
package/dist/display.js CHANGED
@@ -1,6 +1,13 @@
1
1
  import {
2
2
  motionPresets
3
3
  } from "./chunk-GLB75NT3.js";
4
+ import {
5
+ CircleAlert,
6
+ CircleCheck,
7
+ Info,
8
+ TriangleAlert,
9
+ X
10
+ } from "./chunk-KN3OU7HF.js";
4
11
  import {
5
12
  Icon
6
13
  } from "./chunk-Q4PPM2SU.js";
@@ -9,7 +16,6 @@ import {
9
16
  } from "./chunk-7EOSDFS3.js";
10
17
 
11
18
  // src/components/display/alert.tsx
12
- import { CircleAlert, CircleCheck, Info, TriangleAlert, X } from "lucide-react";
13
19
  import { forwardRef } from "react";
14
20
 
15
21
  // src/components/display/status.ts
@@ -160,7 +166,6 @@ var CardFooter = forwardRef3(function CardFooter2({ className, ...props }, ref)
160
166
  });
161
167
 
162
168
  // src/components/display/chip.tsx
163
- import { X as X2 } from "lucide-react";
164
169
  import { forwardRef as forwardRef4 } from "react";
165
170
  import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
166
171
  var Chip = forwardRef4(function Chip2({ onRemove, removeLabel, className, children, ...props }, ref) {
@@ -174,7 +179,7 @@ var Chip = forwardRef4(function Chip2({ onRemove, removeLabel, className, childr
174
179
  "aria-label": label,
175
180
  onClick: onRemove,
176
181
  className: "rounded-sm p-0.5 outline-none transition-colors duration-(--motion-duration-fast) hover:bg-foreground/10 focus-visible:ring-2 focus-visible:ring-ring",
177
- children: /* @__PURE__ */ jsx4(Icon, { icon: X2, size: "xs" })
182
+ children: /* @__PURE__ */ jsx4(Icon, { icon: X, size: "xs" })
178
183
  }
179
184
  )
180
185
  ] });
@@ -1,4 +1,4 @@
1
- import { SVGProps, ComponentType } from 'react';
1
+ import { SVGProps, ComponentType, ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
 
3
3
  /** The size scale. A number is a literal pixel size (width and height). */
4
4
  type IconSize = "xs" | "sm" | "md" | "lg" | "xl" | number;
@@ -36,4 +36,17 @@ interface IconProps extends Omit<SVGProps<SVGSVGElement>, "ref" | "size" | "chil
36
36
  "aria-labelledby"?: string;
37
37
  }
38
38
 
39
- export type { IconProps as I, IconComponent as a, IconRenderProps as b, IconSize as c };
39
+ /** The props Lucide's React icons accept, so a glyph drops in wherever one was used. */
40
+ interface GlyphProps extends Omit<SVGProps<SVGSVGElement>, "ref"> {
41
+ /** Width and height. Default 24. */
42
+ size?: string | number;
43
+ /** Stroke colour. Default `currentColor`. */
44
+ color?: string;
45
+ /** Default 2. */
46
+ strokeWidth?: string | number;
47
+ /** Keep the stroke width the same in screen pixels at any size. */
48
+ absoluteStrokeWidth?: boolean;
49
+ }
50
+ type Glyph = ForwardRefExoticComponent<GlyphProps & RefAttributes<SVGSVGElement>>;
51
+
52
+ export type { Glyph as G, IconProps as I, IconComponent as a, GlyphProps as b, IconRenderProps as c, IconSize as d };
@@ -1,6 +1,5 @@
1
1
  import * as react from 'react';
2
- import { I as IconProps } from '../types-BBudf463.js';
3
- import * as lucide_react from 'lucide-react';
2
+ import { I as IconProps, G as Glyph } from '../glyph-Cj0bpG8i.js';
4
3
 
5
4
  /**
6
5
  * A small, curated set of Lucide icons (ISC licence): the ones components and everyday UI need.
@@ -9,69 +8,69 @@ import * as lucide_react from 'lucide-react';
9
8
  * import are bundled.
10
9
  */
11
10
  declare const lucideIcons: {
12
- readonly "arrow-down": lucide_react.LucideIcon;
13
- readonly "arrow-left": lucide_react.LucideIcon;
14
- readonly "arrow-right": lucide_react.LucideIcon;
15
- readonly "arrow-up": lucide_react.LucideIcon;
16
- readonly "arrow-up-down": lucide_react.LucideIcon;
17
- readonly bell: lucide_react.LucideIcon;
18
- readonly calendar: lucide_react.LucideIcon;
19
- readonly check: lucide_react.LucideIcon;
20
- readonly "chevron-down": lucide_react.LucideIcon;
21
- readonly "chevron-left": lucide_react.LucideIcon;
22
- readonly "chevron-right": lucide_react.LucideIcon;
23
- readonly "chevron-up": lucide_react.LucideIcon;
24
- readonly "chevrons-left": lucide_react.LucideIcon;
25
- readonly "chevrons-right": lucide_react.LucideIcon;
26
- readonly "chevrons-up-down": lucide_react.LucideIcon;
27
- readonly circle: lucide_react.LucideIcon;
28
- readonly "circle-alert": lucide_react.LucideIcon;
29
- readonly "circle-check": lucide_react.LucideIcon;
30
- readonly "circle-dot": lucide_react.LucideIcon;
31
- readonly "circle-x": lucide_react.LucideIcon;
32
- readonly clock: lucide_react.LucideIcon;
33
- readonly copy: lucide_react.LucideIcon;
34
- readonly download: lucide_react.LucideIcon;
35
- readonly ellipsis: lucide_react.LucideIcon;
36
- readonly "ellipsis-vertical": lucide_react.LucideIcon;
37
- readonly "external-link": lucide_react.LucideIcon;
38
- readonly eye: lucide_react.LucideIcon;
39
- readonly "eye-off": lucide_react.LucideIcon;
40
- readonly funnel: lucide_react.LucideIcon;
41
- readonly "grip-vertical": lucide_react.LucideIcon;
42
- readonly house: lucide_react.LucideIcon;
43
- readonly info: lucide_react.LucideIcon;
44
- readonly "loader-circle": lucide_react.LucideIcon;
45
- readonly lock: lucide_react.LucideIcon;
46
- readonly "log-out": lucide_react.LucideIcon;
47
- readonly mail: lucide_react.LucideIcon;
48
- readonly menu: lucide_react.LucideIcon;
49
- readonly minus: lucide_react.LucideIcon;
50
- readonly monitor: lucide_react.LucideIcon;
51
- readonly moon: lucide_react.LucideIcon;
52
- readonly "panel-left": lucide_react.LucideIcon;
53
- readonly paperclip: lucide_react.LucideIcon;
54
- readonly pencil: lucide_react.LucideIcon;
55
- readonly plus: lucide_react.LucideIcon;
56
- readonly "refresh-cw": lucide_react.LucideIcon;
57
- readonly save: lucide_react.LucideIcon;
58
- readonly search: lucide_react.LucideIcon;
59
- readonly settings: lucide_react.LucideIcon;
60
- readonly square: lucide_react.LucideIcon;
61
- readonly "square-check": lucide_react.LucideIcon;
62
- readonly "square-minus": lucide_react.LucideIcon;
63
- readonly star: lucide_react.LucideIcon;
64
- readonly sun: lucide_react.LucideIcon;
65
- readonly "trash-2": lucide_react.LucideIcon;
66
- readonly "triangle-alert": lucide_react.LucideIcon;
67
- readonly upload: lucide_react.LucideIcon;
68
- readonly user: lucide_react.LucideIcon;
69
- readonly users: lucide_react.LucideIcon;
70
- readonly x: lucide_react.LucideIcon;
11
+ readonly "arrow-down": Glyph;
12
+ readonly "arrow-left": Glyph;
13
+ readonly "arrow-right": Glyph;
14
+ readonly "arrow-up": Glyph;
15
+ readonly "arrow-up-down": Glyph;
16
+ readonly bell: Glyph;
17
+ readonly calendar: Glyph;
18
+ readonly check: Glyph;
19
+ readonly "chevron-down": Glyph;
20
+ readonly "chevron-left": Glyph;
21
+ readonly "chevron-right": Glyph;
22
+ readonly "chevron-up": Glyph;
23
+ readonly "chevrons-left": Glyph;
24
+ readonly "chevrons-right": Glyph;
25
+ readonly "chevrons-up-down": Glyph;
26
+ readonly circle: Glyph;
27
+ readonly "circle-alert": Glyph;
28
+ readonly "circle-check": Glyph;
29
+ readonly "circle-dot": Glyph;
30
+ readonly "circle-x": Glyph;
31
+ readonly clock: Glyph;
32
+ readonly copy: Glyph;
33
+ readonly download: Glyph;
34
+ readonly ellipsis: Glyph;
35
+ readonly "ellipsis-vertical": Glyph;
36
+ readonly "external-link": Glyph;
37
+ readonly eye: Glyph;
38
+ readonly "eye-off": Glyph;
39
+ readonly funnel: Glyph;
40
+ readonly "grip-vertical": Glyph;
41
+ readonly house: Glyph;
42
+ readonly info: Glyph;
43
+ readonly "loader-circle": Glyph;
44
+ readonly lock: Glyph;
45
+ readonly "log-out": Glyph;
46
+ readonly mail: Glyph;
47
+ readonly menu: Glyph;
48
+ readonly minus: Glyph;
49
+ readonly monitor: Glyph;
50
+ readonly moon: Glyph;
51
+ readonly "panel-left": Glyph;
52
+ readonly paperclip: Glyph;
53
+ readonly pencil: Glyph;
54
+ readonly plus: Glyph;
55
+ readonly "refresh-cw": Glyph;
56
+ readonly save: Glyph;
57
+ readonly search: Glyph;
58
+ readonly settings: Glyph;
59
+ readonly square: Glyph;
60
+ readonly "square-check": Glyph;
61
+ readonly "square-minus": Glyph;
62
+ readonly star: Glyph;
63
+ readonly sun: Glyph;
64
+ readonly "trash-2": Glyph;
65
+ readonly "triangle-alert": Glyph;
66
+ readonly upload: Glyph;
67
+ readonly user: Glyph;
68
+ readonly users: Glyph;
69
+ readonly x: Glyph;
71
70
  };
72
71
  declare const Icon: react.ForwardRefExoticComponent<Omit<IconProps, "name" | "icon"> & {
73
- name: "x" | "search" | "menu" | "square" | "copy" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-up-down" | "bell" | "calendar" | "check" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chevrons-left" | "chevrons-right" | "chevrons-up-down" | "circle" | "circle-alert" | "circle-check" | "circle-dot" | "circle-x" | "clock" | "download" | "ellipsis" | "ellipsis-vertical" | "external-link" | "eye" | "eye-off" | "funnel" | "grip-vertical" | "house" | "info" | "loader-circle" | "lock" | "log-out" | "mail" | "minus" | "monitor" | "moon" | "panel-left" | "paperclip" | "pencil" | "plus" | "refresh-cw" | "save" | "settings" | "square-check" | "square-minus" | "star" | "sun" | "trash-2" | "triangle-alert" | "upload" | "user" | "users";
72
+ name: "x" | "search" | "menu" | "square" | "copy" | "circle" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-up-down" | "bell" | "calendar" | "check" | "chevron-down" | "chevron-left" | "chevron-right" | "chevrons-left" | "chevrons-right" | "chevrons-up-down" | "chevron-up" | "circle-alert" | "circle-check" | "circle-dot" | "circle-x" | "clock" | "download" | "ellipsis" | "ellipsis-vertical" | "external-link" | "eye" | "eye-off" | "funnel" | "grip-vertical" | "house" | "info" | "loader-circle" | "lock" | "log-out" | "mail" | "minus" | "monitor" | "moon" | "panel-left" | "paperclip" | "pencil" | "plus" | "refresh-cw" | "save" | "settings" | "square-check" | "square-minus" | "star" | "sun" | "trash-2" | "triangle-alert" | "upload" | "user" | "users";
74
73
  } & react.RefAttributes<SVGSVGElement>>;
75
- declare const iconNames: readonly ("x" | "search" | "menu" | "square" | "copy" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-up-down" | "bell" | "calendar" | "check" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chevrons-left" | "chevrons-right" | "chevrons-up-down" | "circle" | "circle-alert" | "circle-check" | "circle-dot" | "circle-x" | "clock" | "download" | "ellipsis" | "ellipsis-vertical" | "external-link" | "eye" | "eye-off" | "funnel" | "grip-vertical" | "house" | "info" | "loader-circle" | "lock" | "log-out" | "mail" | "minus" | "monitor" | "moon" | "panel-left" | "paperclip" | "pencil" | "plus" | "refresh-cw" | "save" | "settings" | "square-check" | "square-minus" | "star" | "sun" | "trash-2" | "triangle-alert" | "upload" | "user" | "users")[];
74
+ declare const iconNames: readonly ("x" | "search" | "menu" | "square" | "copy" | "circle" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-up-down" | "bell" | "calendar" | "check" | "chevron-down" | "chevron-left" | "chevron-right" | "chevrons-left" | "chevrons-right" | "chevrons-up-down" | "chevron-up" | "circle-alert" | "circle-check" | "circle-dot" | "circle-x" | "clock" | "download" | "ellipsis" | "ellipsis-vertical" | "external-link" | "eye" | "eye-off" | "funnel" | "grip-vertical" | "house" | "info" | "loader-circle" | "lock" | "log-out" | "mail" | "minus" | "monitor" | "moon" | "panel-left" | "paperclip" | "pencil" | "plus" | "refresh-cw" | "save" | "settings" | "square-check" | "square-minus" | "star" | "sun" | "trash-2" | "triangle-alert" | "upload" | "user" | "users")[];
76
75
 
77
76
  export { Icon, iconNames, lucideIcons };
@@ -1,10 +1,6 @@
1
1
  import {
2
2
  createIconSet
3
3
  } from "../chunk-2RIWL363.js";
4
- import "../chunk-Q4PPM2SU.js";
5
- import "../chunk-7EOSDFS3.js";
6
-
7
- // src/icons/lucide.ts
8
4
  import {
9
5
  ArrowDown,
10
6
  ArrowLeft,
@@ -17,10 +13,10 @@ import {
17
13
  ChevronDown,
18
14
  ChevronLeft,
19
15
  ChevronRight,
16
+ ChevronUp,
20
17
  ChevronsLeft,
21
18
  ChevronsRight,
22
19
  ChevronsUpDown,
23
- ChevronUp,
24
20
  Circle,
25
21
  CircleAlert,
26
22
  CircleCheck,
@@ -65,7 +61,11 @@ import {
65
61
  User,
66
62
  Users,
67
63
  X
68
- } from "lucide-react";
64
+ } from "../chunk-KN3OU7HF.js";
65
+ import "../chunk-Q4PPM2SU.js";
66
+ import "../chunk-7EOSDFS3.js";
67
+
68
+ // src/icons/lucide.ts
69
69
  var lucideIcons = {
70
70
  "arrow-down": ArrowDown,
71
71
  "arrow-left": ArrowLeft,
package/dist/icons.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as react from 'react';
2
- import { I as IconProps, a as IconComponent } from './types-BBudf463.js';
3
- export { b as IconRenderProps, c as IconSize } from './types-BBudf463.js';
2
+ import { I as IconProps, a as IconComponent } from './glyph-Cj0bpG8i.js';
3
+ export { G as Glyph, b as GlyphProps, c as IconRenderProps, d as IconSize } from './glyph-Cj0bpG8i.js';
4
+ export { IconNode } from 'lucide';
4
5
 
5
6
  type SetIconProps<Name extends string> = Omit<IconProps, "icon" | "name"> & {
6
7
  name: Name;
package/dist/menu.js CHANGED
@@ -18,8 +18,9 @@ import {
18
18
  MenuSub,
19
19
  MenuSubContent,
20
20
  MenuSubTrigger
21
- } from "./chunk-EFHRRLAW.js";
21
+ } from "./chunk-D6B4MBMA.js";
22
22
  import "./chunk-LZMX27IZ.js";
23
+ import "./chunk-ORAD4PGE.js";
23
24
  import "./chunk-XRZHP6BD.js";
24
25
  import "./chunk-2TQSHVXA.js";
25
26
  export {
package/dist/modal.js CHANGED
@@ -1,4 +1,7 @@
1
1
  "use client";
2
+ import {
3
+ X
4
+ } from "./chunk-ORAD4PGE.js";
2
5
  import {
3
6
  Icon
4
7
  } from "./chunk-XRZHP6BD.js";
@@ -16,7 +19,6 @@ import { forwardRef as forwardRef2, useCallback, useRef } from "react";
16
19
  import { AlertDialog } from "@base-ui/react/alert-dialog";
17
20
 
18
21
  // src/components/modal/shared.tsx
19
- import { X } from "lucide-react";
20
22
  import {
21
23
  createContext,
22
24
  forwardRef,
@@ -1,6 +1,11 @@
1
1
  import {
2
2
  renderElement
3
3
  } from "./chunk-LTOLV67A.js";
4
+ import {
5
+ ChevronLeft,
6
+ ChevronRight,
7
+ Ellipsis
8
+ } from "./chunk-KN3OU7HF.js";
4
9
  import {
5
10
  Icon
6
11
  } from "./chunk-Q4PPM2SU.js";
@@ -42,7 +47,6 @@ function getPageRange({
42
47
  }
43
48
 
44
49
  // src/components/pagination/pagination.tsx
45
- import { ChevronLeft, ChevronRight, Ellipsis } from "lucide-react";
46
50
  import {
47
51
  forwardRef
48
52
  } from "react";
@@ -3,8 +3,11 @@ import {
3
3
  DropdownMenu,
4
4
  DropdownMenuContent,
5
5
  DropdownMenuTrigger
6
- } from "./chunk-EFHRRLAW.js";
6
+ } from "./chunk-D6B4MBMA.js";
7
7
  import "./chunk-LZMX27IZ.js";
8
+ import {
9
+ ChevronDown
10
+ } from "./chunk-ORAD4PGE.js";
8
11
  import {
9
12
  Icon
10
13
  } from "./chunk-XRZHP6BD.js";
@@ -22,7 +25,6 @@ import {
22
25
  } from "./chunk-2TQSHVXA.js";
23
26
 
24
27
  // src/components/split-button/split-button.tsx
25
- import { ChevronDown } from "lucide-react";
26
28
  import { forwardRef } from "react";
27
29
  import { jsx, jsxs } from "react/jsx-runtime";
28
30
  var SplitButton = forwardRef(function SplitButton2({ children, menu, menuLabel, variant = "default", size = "md", disabled, className, ...props }, ref) {
package/dist/stepper.js CHANGED
@@ -1,3 +1,7 @@
1
+ import {
2
+ Check,
3
+ X
4
+ } from "./chunk-KN3OU7HF.js";
1
5
  import {
2
6
  Icon
3
7
  } from "./chunk-Q4PPM2SU.js";
@@ -6,7 +10,6 @@ import {
6
10
  } from "./chunk-7EOSDFS3.js";
7
11
 
8
12
  // src/components/stepper/stepper.tsx
9
- import { Check, X } from "lucide-react";
10
13
  import { forwardRef } from "react";
11
14
  import { jsx, jsxs } from "react/jsx-runtime";
12
15
  var STATUS_LABELS = {
package/dist/toast.js CHANGED
@@ -1,4 +1,11 @@
1
1
  "use client";
2
+ import {
3
+ CircleAlert,
4
+ CircleCheck,
5
+ Info,
6
+ TriangleAlert,
7
+ X
8
+ } from "./chunk-ORAD4PGE.js";
2
9
  import {
3
10
  Icon
4
11
  } from "./chunk-XRZHP6BD.js";
@@ -75,7 +82,6 @@ var toast = Object.assign(show(void 0), {
75
82
  });
76
83
 
77
84
  // src/components/toast/toaster.tsx
78
- import { CircleAlert, CircleCheck, Info, TriangleAlert, X } from "lucide-react";
79
85
  import { jsx, jsxs } from "react/jsx-runtime";
80
86
  var VIEWPORT = "fixed z-(--z-toast) w-[calc(100vw-2rem)] outline-none sm:w-96";
81
87
  var PLACEMENT = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azmr/ui",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "React UI components wired to reactive Signals — Grid, useSignal",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -171,14 +171,15 @@
171
171
  "@base-ui/react": "^1.9.0",
172
172
  "class-variance-authority": "^0.7.1",
173
173
  "clsx": "^2.1.1",
174
- "lucide-react": "^1.57.0",
174
+ "lucide": "^1.59.0",
175
+ "lucide-react": "^1.59.0",
175
176
  "tailwind-merge": "^3.7.0"
176
177
  },
177
178
  "peerDependencies": {
178
179
  "@azmr/core": ">=0.0.2 <1.0.0",
180
+ "motion": "^14.0.0",
179
181
  "react": "^18.0.0 || ^19.0.0",
180
- "react-dom": "^18.0.0 || ^19.0.0",
181
- "motion": "^14.0.0"
182
+ "react-dom": "^18.0.0 || ^19.0.0"
182
183
  },
183
184
  "devDependencies": {
184
185
  "@mui/icons-material": "^9.5.0",
@@ -226,6 +227,7 @@
226
227
  "size": "size-limit && node scripts/check-css-size.mjs",
227
228
  "verify:consumer": "node scripts/verify-consumer.mjs",
228
229
  "build:registry": "node scripts/build-registry.mjs",
230
+ "verify:guides": "node scripts/verify-guides.mjs",
229
231
  "verify:registry": "node scripts/verify-registry.mjs"
230
232
  }
231
233
  }