@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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rovula/ui",
3
- "version": "0.1.30",
3
+ "version": "0.1.31",
4
4
  "main": "dist/cjs/bundle.js",
5
5
  "module": "dist/esm/bundle.js",
6
6
  "types": "dist/index.d.ts",
@@ -63,10 +63,10 @@
63
63
  "@vitejs/plugin-react": "^4.3.4",
64
64
  "autoprefixer": "^10.4.19",
65
65
  "babel-loader": "^9.1.3",
66
- "jsdom": "^26.0.0",
67
66
  "chromatic": "^11.7.1",
68
67
  "copyfiles": "^2.4.1",
69
68
  "css-loader": "^7.1.2",
69
+ "jsdom": "^26.0.0",
70
70
  "postcss": "^8.4.38",
71
71
  "rollup": "^4.18.0",
72
72
  "rollup-plugin-dts": "^6.1.1",
@@ -111,7 +111,7 @@
111
111
  "class-variance-authority": "^0.7.0",
112
112
  "clsx": "^2.1.1",
113
113
  "date-fns": "^3.6.0",
114
- "lucide-react": "^0.460.0",
114
+ "lucide-react": "^1.7.0",
115
115
  "react": "^17.0.0 || ^18.0.0",
116
116
  "react-day-picker": "^9.0.7",
117
117
  "react-dom": "^17.0.0 || ^18.0.0",
@@ -390,13 +390,40 @@ export const PreviewLucideIcon = {
390
390
  <div className="flex flex-col justify-start gap-4 w-full h-full">
391
391
  <h4>Lucide icons (designer set)</h4>
392
392
  <p className="text-sm text-gray-500">
393
- Names from <a href="https://lucide.dev/icons" target="_blank" rel="noreferrer" className="underline">lucide.dev/icons</a>. Use <code>getLucideIconNames()</code> for full list.
393
+ Names from{" "}
394
+ <a
395
+ href="https://lucide.dev/icons"
396
+ target="_blank"
397
+ rel="noreferrer"
398
+ className="underline"
399
+ >
400
+ lucide.dev/icons
401
+ </a>
402
+ . Use <code>getLucideIconNames()</code> for full list.
394
403
  </p>
395
404
  {LUCIDE_DESIGNER_ICONS.map((iconName) => (
396
405
  <div key={iconName} className="flex flex-row gap-6 items-center">
397
- <Icon {...args} type="lucide" name={iconName} variant="outline" size="sm" />
398
- <Icon {...args} type="lucide" name={iconName} variant="outline" size="md" />
399
- <Icon {...args} type="lucide" name={iconName} variant="outline" size="lg" />
406
+ <Icon
407
+ {...args}
408
+ type="lucide"
409
+ name={iconName}
410
+ variant="outline"
411
+ size="sm"
412
+ />
413
+ <Icon
414
+ {...args}
415
+ type="lucide"
416
+ name={iconName}
417
+ variant="outline"
418
+ size="md"
419
+ />
420
+ <Icon
421
+ {...args}
422
+ type="lucide"
423
+ name={iconName}
424
+ variant="outline"
425
+ size="lg"
426
+ />
400
427
  <p className="ml-4 font-mono text-sm">{iconName}</p>
401
428
  </div>
402
429
  ))}
@@ -421,8 +448,12 @@ export const LucideIconBrowser = {
421
448
  });
422
449
  }, []);
423
450
 
451
+ console.log(names);
452
+
424
453
  const filtered = filter
425
- ? names.filter((n) => n.toLowerCase().includes(filter.toLowerCase())).slice(0, 80)
454
+ ? names
455
+ .filter((n) => n.toLowerCase().includes(filter.toLowerCase()))
456
+ .slice(0, 80)
426
457
  : names.slice(0, 50);
427
458
 
428
459
  return (
@@ -457,6 +488,47 @@ export const LucideIconBrowser = {
457
488
  },
458
489
  } satisfies StoryObj;
459
490
 
491
+ export const LucideIconAllBrowser = {
492
+ args: {},
493
+ render: () => {
494
+ const [names, setNames] = React.useState<string[]>([]);
495
+ const [loading, setLoading] = React.useState(true);
496
+
497
+ React.useEffect(() => {
498
+ import("@/icons").then(({ getLucideIconNames }) => {
499
+ getLucideIconNames().then((n) => {
500
+ setNames(n.sort());
501
+ setLoading(false);
502
+ });
503
+ });
504
+ }, []);
505
+
506
+ return (
507
+ <div className="flex flex-col gap-4 p-4 max-h-[80vh] overflow-auto w-full h-full">
508
+ <h4>Lucide icon names ({names.length} total)</h4>
509
+
510
+ {loading ? (
511
+ <p>Loading...</p>
512
+ ) : (
513
+ <div className="grid grid-cols-[repeat(auto-fill,minmax(140px,1fr))] gap-2">
514
+ {names.map((name) => (
515
+ <div
516
+ key={name}
517
+ className="flex flex-col items-center gap-1 p-2 border rounded hover:bg-gray-50"
518
+ >
519
+ <Icon type="lucide" name={name} size="md" />
520
+ <span className="font-mono text-xs truncate w-full text-center">
521
+ {name}
522
+ </span>
523
+ </div>
524
+ ))}
525
+ </div>
526
+ )}
527
+ </div>
528
+ );
529
+ },
530
+ } satisfies StoryObj;
531
+
460
532
  export const PreviewMaterialIcon = {
461
533
  args: {
462
534
  // variant: "outline",