@rovula/ui 0.1.30 → 0.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/bundle.css +8 -8
- package/dist/cjs/bundle.js +14 -9235
- package/dist/cjs/bundle.js.map +1 -1
- package/dist/cjs/types/components/Icon/Icon.stories.d.ts +4 -0
- package/dist/components/Icon/Icon.stories.js +21 -2
- package/dist/components/Navbar/Navbar.js +1 -1
- package/dist/esm/bundle.css +8 -8
- package/dist/esm/bundle.js +14 -9235
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/types/components/Icon/Icon.stories.d.ts +4 -0
- package/dist/src/theme/global.css +13 -13
- package/package.json +3 -3
- package/src/components/Icon/Icon.stories.tsx +77 -5
- package/src/components/Navbar/Navbar.tsx +8 -7
- package/src/theme/tokens/components/navbar.css +3 -3
|
@@ -510,6 +510,10 @@ export declare const LucideIconBrowser: {
|
|
|
510
510
|
args: {};
|
|
511
511
|
render: () => import("react/jsx-runtime").JSX.Element;
|
|
512
512
|
};
|
|
513
|
+
export declare const LucideIconAllBrowser: {
|
|
514
|
+
args: {};
|
|
515
|
+
render: () => import("react/jsx-runtime").JSX.Element;
|
|
516
|
+
};
|
|
513
517
|
export declare const PreviewMaterialIcon: {
|
|
514
518
|
args: {};
|
|
515
519
|
render: (args: {}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -348,7 +348,7 @@ const LUCIDE_DESIGNER_ICONS = [
|
|
|
348
348
|
];
|
|
349
349
|
export const PreviewLucideIcon = {
|
|
350
350
|
args: {},
|
|
351
|
-
render: (args) => (_jsx("div", { className: "grid grid-cols-1 gap-4 w-full h-full", children: _jsxs("div", { className: "flex flex-col justify-start gap-4 w-full h-full", children: [_jsx("h4", { children: "Lucide icons (designer set)" }), _jsxs("p", { className: "text-sm text-gray-500", children: ["Names from ", _jsx("a", { href: "https://lucide.dev/icons", target: "_blank", rel: "noreferrer", className: "underline", children: "lucide.dev/icons" }), ". Use ", _jsx("code", { children: "getLucideIconNames()" }), " for full list."] }), LUCIDE_DESIGNER_ICONS.map((iconName) => (_jsxs("div", { className: "flex flex-row gap-6 items-center", children: [_jsx(Icon, Object.assign({}, args, { type: "lucide", name: iconName, variant: "outline", size: "sm" })), _jsx(Icon, Object.assign({}, args, { type: "lucide", name: iconName, variant: "outline", size: "md" })), _jsx(Icon, Object.assign({}, args, { type: "lucide", name: iconName, variant: "outline", size: "lg" })), _jsx("p", { className: "ml-4 font-mono text-sm", children: iconName })] }, iconName)))] }) })),
|
|
351
|
+
render: (args) => (_jsx("div", { className: "grid grid-cols-1 gap-4 w-full h-full", children: _jsxs("div", { className: "flex flex-col justify-start gap-4 w-full h-full", children: [_jsx("h4", { children: "Lucide icons (designer set)" }), _jsxs("p", { className: "text-sm text-gray-500", children: ["Names from", " ", _jsx("a", { href: "https://lucide.dev/icons", target: "_blank", rel: "noreferrer", className: "underline", children: "lucide.dev/icons" }), ". Use ", _jsx("code", { children: "getLucideIconNames()" }), " for full list."] }), LUCIDE_DESIGNER_ICONS.map((iconName) => (_jsxs("div", { className: "flex flex-row gap-6 items-center", children: [_jsx(Icon, Object.assign({}, args, { type: "lucide", name: iconName, variant: "outline", size: "sm" })), _jsx(Icon, Object.assign({}, args, { type: "lucide", name: iconName, variant: "outline", size: "md" })), _jsx(Icon, Object.assign({}, args, { type: "lucide", name: iconName, variant: "outline", size: "lg" })), _jsx("p", { className: "ml-4 font-mono text-sm", children: iconName })] }, iconName)))] }) })),
|
|
352
352
|
};
|
|
353
353
|
export const LucideIconBrowser = {
|
|
354
354
|
args: {},
|
|
@@ -364,12 +364,31 @@ export const LucideIconBrowser = {
|
|
|
364
364
|
});
|
|
365
365
|
});
|
|
366
366
|
}, []);
|
|
367
|
+
console.log(names);
|
|
367
368
|
const filtered = filter
|
|
368
|
-
? names
|
|
369
|
+
? names
|
|
370
|
+
.filter((n) => n.toLowerCase().includes(filter.toLowerCase()))
|
|
371
|
+
.slice(0, 80)
|
|
369
372
|
: names.slice(0, 50);
|
|
370
373
|
return (_jsxs("div", { className: "flex flex-col gap-4 p-4 max-h-[80vh] overflow-auto", children: [_jsxs("h4", { children: ["Lucide icon names (", names.length, " total)"] }), _jsx("input", { type: "text", placeholder: "Search icons...", value: filter, onChange: (e) => setFilter(e.target.value), className: "px-3 py-2 border rounded w-64" }), loading ? (_jsx("p", { children: "Loading..." })) : (_jsx("div", { className: "grid grid-cols-[repeat(auto-fill,minmax(140px,1fr))] gap-2", children: filtered.map((name) => (_jsxs("div", { className: "flex flex-col items-center gap-1 p-2 border rounded hover:bg-gray-50", children: [_jsx(Icon, { type: "lucide", name: name, size: "md" }), _jsx("span", { className: "font-mono text-xs truncate w-full text-center", children: name })] }, name))) }))] }));
|
|
371
374
|
},
|
|
372
375
|
};
|
|
376
|
+
export const LucideIconAllBrowser = {
|
|
377
|
+
args: {},
|
|
378
|
+
render: () => {
|
|
379
|
+
const [names, setNames] = React.useState([]);
|
|
380
|
+
const [loading, setLoading] = React.useState(true);
|
|
381
|
+
React.useEffect(() => {
|
|
382
|
+
import("@/icons").then(({ getLucideIconNames }) => {
|
|
383
|
+
getLucideIconNames().then((n) => {
|
|
384
|
+
setNames(n.sort());
|
|
385
|
+
setLoading(false);
|
|
386
|
+
});
|
|
387
|
+
});
|
|
388
|
+
}, []);
|
|
389
|
+
return (_jsxs("div", { className: "flex flex-col gap-4 p-4 max-h-[80vh] overflow-auto w-full h-full", children: [_jsxs("h4", { children: ["Lucide icon names (", names.length, " total)"] }), loading ? (_jsx("p", { children: "Loading..." })) : (_jsx("div", { className: "grid grid-cols-[repeat(auto-fill,minmax(140px,1fr))] gap-2", children: names.map((name) => (_jsxs("div", { className: "flex flex-col items-center gap-1 p-2 border rounded hover:bg-gray-50", children: [_jsx(Icon, { type: "lucide", name: name, size: "md" }), _jsx("span", { className: "font-mono text-xs truncate w-full text-center", children: name })] }, name))) }))] }));
|
|
390
|
+
},
|
|
391
|
+
};
|
|
373
392
|
export const PreviewMaterialIcon = {
|
|
374
393
|
args: {
|
|
375
394
|
// variant: "outline",
|
|
@@ -15,7 +15,7 @@ const Navbar = ({ children, className, variant = "default", scrollShadow = false
|
|
|
15
15
|
return () => window.removeEventListener("scroll", handleScroll);
|
|
16
16
|
}, [scrollShadow]);
|
|
17
17
|
const isTransparent = variant === "transparent";
|
|
18
|
-
return (_jsxs("header", { className: cn("relative w-full px-4 py-6 h-[var(--navbar-height)] box-border overflow-hidden typography-subtitle2 border-solid border-b-2
|
|
18
|
+
return (_jsxs("header", { className: cn("relative w-full px-4 py-6 h-[var(--navbar-height)] box-border overflow-hidden typography-subtitle2 border-solid border-b-2 border-b-[var(--navbar-border-color)] transition-shadow duration-200", isTransparent ? "text-inherit" : "text-[var(--navbar-text-color)]", { position }, scrollShadow && isScrolled && "shadow-[var(--navbar-shadow-scrolled)]", className), children: [!isTransparent && (_jsx("div", { className: "absolute inset-0 -z-10 bg-[var(--navbar-bg-color)]", "aria-hidden": true })), _jsx("div", { className: cn("absolute inset-0 -z-[5] pointer-events-none", className), "aria-hidden": true }), _jsx("div", { className: cn("relative mx-auto flex h-full justify-between items-center", {
|
|
19
19
|
container,
|
|
20
20
|
}, containerClassName), children: children || (_jsxs(_Fragment, { children: [_jsx("nav", { className: cn("flex w-1/2 gap-x-[var(--navbar-gap)] text-xl", leftNavClassName), children: leftNav }), _jsx("div", { className: cn("flex flex-shrink-0 flex-wrap justify-center", centerClassName), children: center }), _jsx("nav", { className: cn("flex w-1/2 justify-end gap-x-[var(--navbar-gap)] text-xl", rightNavClassName), children: rightNav })] })) })] }));
|
|
21
21
|
};
|
package/dist/esm/bundle.css
CHANGED
|
@@ -2026,8 +2026,8 @@ input[type=number] {
|
|
|
2026
2026
|
.border-white\/20{
|
|
2027
2027
|
border-color: rgb(255 255 255 / 0.2);
|
|
2028
2028
|
}
|
|
2029
|
-
.border-b-\[
|
|
2030
|
-
border-bottom-color:
|
|
2029
|
+
.border-b-\[var\(--navbar-border-color\)\]{
|
|
2030
|
+
border-bottom-color: var(--navbar-border-color);
|
|
2031
2031
|
}
|
|
2032
2032
|
.border-l-input-default-stroke{
|
|
2033
2033
|
--tw-border-opacity: 1;
|
|
@@ -2111,9 +2111,6 @@ input[type=number] {
|
|
|
2111
2111
|
.bg-\[rgb\(var\(--base-bg-2\)\)\]{
|
|
2112
2112
|
background-color: rgb(var(--base-bg-2));
|
|
2113
2113
|
}
|
|
2114
|
-
.bg-\[rgb\(var\(--navbar-bg-color\)\)\]{
|
|
2115
|
-
background-color: rgb(var(--navbar-bg-color));
|
|
2116
|
-
}
|
|
2117
2114
|
.bg-\[var\(--badge-default-bg\)\]{
|
|
2118
2115
|
background-color: var(--badge-default-bg);
|
|
2119
2116
|
}
|
|
@@ -2165,6 +2162,9 @@ input[type=number] {
|
|
|
2165
2162
|
.bg-\[var\(--footer-bg-color\)\]{
|
|
2166
2163
|
background-color: var(--footer-bg-color);
|
|
2167
2164
|
}
|
|
2165
|
+
.bg-\[var\(--navbar-bg-color\)\]{
|
|
2166
|
+
background-color: var(--navbar-bg-color);
|
|
2167
|
+
}
|
|
2168
2168
|
.bg-action-button-icon-active{
|
|
2169
2169
|
--tw-bg-opacity: 1;
|
|
2170
2170
|
background-color: color-mix(in srgb, var(--action-button-icon-active-bg) calc(100% * var(--tw-bg-opacity, 1)), transparent);
|
|
@@ -4131,9 +4131,6 @@ input[type=number] {
|
|
|
4131
4131
|
--tw-text-opacity: 1 !important;
|
|
4132
4132
|
color: color-mix(in srgb, var(--state-primary-text-solid) calc(100% * var(--tw-text-opacity, 1)), transparent) !important;
|
|
4133
4133
|
}
|
|
4134
|
-
.text-\[rgb\(var\(--navbar-text-color\)\)\]{
|
|
4135
|
-
color: rgb(var(--navbar-text-color));
|
|
4136
|
-
}
|
|
4137
4134
|
.text-\[var\(--badge-default-text\)\]{
|
|
4138
4135
|
color: var(--badge-default-text);
|
|
4139
4136
|
}
|
|
@@ -4179,6 +4176,9 @@ input[type=number] {
|
|
|
4179
4176
|
.text-\[var\(--loading-track-color\)\]{
|
|
4180
4177
|
color: var(--loading-track-color);
|
|
4181
4178
|
}
|
|
4179
|
+
.text-\[var\(--navbar-text-color\)\]{
|
|
4180
|
+
color: var(--navbar-text-color);
|
|
4181
|
+
}
|
|
4182
4182
|
.text-action-button-icon-active{
|
|
4183
4183
|
--tw-text-opacity: 1;
|
|
4184
4184
|
color: color-mix(in srgb, var(--action-button-icon-active-text) calc(100% * var(--tw-text-opacity, 1)), transparent);
|