@rovula/ui 0.1.30 → 0.1.31

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.
@@ -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.filter((n) => n.toLowerCase().includes(filter.toLowerCase())).slice(0, 80)
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",