@craftzbay/ui 0.8.0 → 0.9.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.
Files changed (114) hide show
  1. package/README.md +20 -15
  2. package/dist-lib/components/ui/Chart.d.ts +10 -7
  3. package/dist-lib/components/ui/DesignSystemProvider.d.ts +56 -30
  4. package/dist-lib/components/ui/Icon.d.ts +34 -0
  5. package/dist-lib/components/ui/Toast.d.ts +20 -0
  6. package/dist-lib/icons/index.d.ts +80 -3
  7. package/dist-lib/index.cjs +2 -2
  8. package/dist-lib/index.cjs.map +1 -1
  9. package/dist-lib/index.d.ts +1 -11
  10. package/dist-lib/index.js +2226 -3205
  11. package/dist-lib/index.js.map +1 -1
  12. package/dist-lib/styles.css +1 -1
  13. package/package.json +9 -12
  14. package/dist-lib/catalog.d.ts +0 -8
  15. package/dist-lib/components/patterns/AppShell.d.ts +0 -150
  16. package/dist-lib/components/patterns/Authentication.d.ts +0 -45
  17. package/dist-lib/components/patterns/DataTablePage.d.ts +0 -81
  18. package/dist-lib/components/patterns/FirstRunEmpty.d.ts +0 -39
  19. package/dist-lib/components/patterns/Onboarding.d.ts +0 -65
  20. package/dist-lib/components/patterns/Pricing.d.ts +0 -40
  21. package/dist-lib/components/patterns/RecordDetail.d.ts +0 -48
  22. package/dist-lib/components/patterns/Settings.d.ts +0 -34
  23. package/dist-lib/favicon.svg +0 -4
  24. package/dist-lib/showcase/components/Accordion.docs.d.ts +0 -3
  25. package/dist-lib/showcase/components/Alert.docs.d.ts +0 -3
  26. package/dist-lib/showcase/components/Avatar.docs.d.ts +0 -3
  27. package/dist-lib/showcase/components/Badge.docs.d.ts +0 -3
  28. package/dist-lib/showcase/components/Breadcrumbs.docs.d.ts +0 -3
  29. package/dist-lib/showcase/components/Button.docs.d.ts +0 -3
  30. package/dist-lib/showcase/components/Calendar.docs.d.ts +0 -3
  31. package/dist-lib/showcase/components/Card.docs.d.ts +0 -3
  32. package/dist-lib/showcase/components/Carousel.docs.d.ts +0 -3
  33. package/dist-lib/showcase/components/Chart.docs.d.ts +0 -3
  34. package/dist-lib/showcase/components/Checkbox.docs.d.ts +0 -3
  35. package/dist-lib/showcase/components/Combobox.docs.d.ts +0 -3
  36. package/dist-lib/showcase/components/CommandPalette.docs.d.ts +0 -3
  37. package/dist-lib/showcase/components/ContextMenu.docs.d.ts +0 -3
  38. package/dist-lib/showcase/components/DataGrid.docs.d.ts +0 -3
  39. package/dist-lib/showcase/components/DatePicker.docs.d.ts +0 -3
  40. package/dist-lib/showcase/components/Dialog.docs.d.ts +0 -3
  41. package/dist-lib/showcase/components/Drawer.docs.d.ts +0 -3
  42. package/dist-lib/showcase/components/DropdownMenu.docs.d.ts +0 -3
  43. package/dist-lib/showcase/components/EmptyState.docs.d.ts +0 -3
  44. package/dist-lib/showcase/components/ErrorState.docs.d.ts +0 -3
  45. package/dist-lib/showcase/components/FileUpload.docs.d.ts +0 -3
  46. package/dist-lib/showcase/components/Form.docs.d.ts +0 -3
  47. package/dist-lib/showcase/components/IconButton.docs.d.ts +0 -3
  48. package/dist-lib/showcase/components/Input.docs.d.ts +0 -3
  49. package/dist-lib/showcase/components/Kbd.docs.d.ts +0 -3
  50. package/dist-lib/showcase/components/MultiSelect.docs.d.ts +0 -3
  51. package/dist-lib/showcase/components/Pagination.docs.d.ts +0 -3
  52. package/dist-lib/showcase/components/Popover.docs.d.ts +0 -3
  53. package/dist-lib/showcase/components/Progress.docs.d.ts +0 -3
  54. package/dist-lib/showcase/components/RadioGroup.docs.d.ts +0 -3
  55. package/dist-lib/showcase/components/ScrollArea.docs.d.ts +0 -3
  56. package/dist-lib/showcase/components/Select.docs.d.ts +0 -3
  57. package/dist-lib/showcase/components/Separator.docs.d.ts +0 -3
  58. package/dist-lib/showcase/components/Sheet.docs.d.ts +0 -3
  59. package/dist-lib/showcase/components/Sidebar.docs.d.ts +0 -3
  60. package/dist-lib/showcase/components/Skeleton.docs.d.ts +0 -3
  61. package/dist-lib/showcase/components/Slider.docs.d.ts +0 -3
  62. package/dist-lib/showcase/components/Snackbar.docs.d.ts +0 -3
  63. package/dist-lib/showcase/components/Spinner.docs.d.ts +0 -3
  64. package/dist-lib/showcase/components/Stepper.docs.d.ts +0 -3
  65. package/dist-lib/showcase/components/Switch.docs.d.ts +0 -3
  66. package/dist-lib/showcase/components/Table.docs.d.ts +0 -3
  67. package/dist-lib/showcase/components/Tabs.docs.d.ts +0 -3
  68. package/dist-lib/showcase/components/TagInput.docs.d.ts +0 -3
  69. package/dist-lib/showcase/components/Textarea.docs.d.ts +0 -3
  70. package/dist-lib/showcase/components/Timeline.docs.d.ts +0 -3
  71. package/dist-lib/showcase/components/Toast.docs.d.ts +0 -3
  72. package/dist-lib/showcase/components/Tooltip.docs.d.ts +0 -3
  73. package/dist-lib/showcase/components/TopNav.docs.d.ts +0 -3
  74. package/dist-lib/showcase/components/Tree.docs.d.ts +0 -3
  75. package/dist-lib/showcase/guides/DarkMode.d.ts +0 -1
  76. package/dist-lib/showcase/guides/Forms.d.ts +0 -1
  77. package/dist-lib/showcase/guides/Migration.d.ts +0 -1
  78. package/dist-lib/showcase/guides/Responsive.d.ts +0 -1
  79. package/dist-lib/showcase/guides/Theming.d.ts +0 -1
  80. package/dist-lib/showcase/layout/DocLayout.d.ts +0 -28
  81. package/dist-lib/showcase/layout/DocSidebar.d.ts +0 -41
  82. package/dist-lib/showcase/layout/ShowcaseFooter.d.ts +0 -5
  83. package/dist-lib/showcase/layout/ShowcaseTopBar.d.ts +0 -13
  84. package/dist-lib/showcase/layout/sidebars.d.ts +0 -22
  85. package/dist-lib/showcase/pages/ComponentDocPage.d.ts +0 -6
  86. package/dist-lib/showcase/pages/ComponentsIndexPage.d.ts +0 -1
  87. package/dist-lib/showcase/pages/GuidePage.d.ts +0 -6
  88. package/dist-lib/showcase/pages/GuidesIndexPage.d.ts +0 -1
  89. package/dist-lib/showcase/pages/HomePage.d.ts +0 -1
  90. package/dist-lib/showcase/pages/TemplateDocPage.d.ts +0 -6
  91. package/dist-lib/showcase/pages/TemplatesIndexPage.d.ts +0 -1
  92. package/dist-lib/showcase/registry/components.d.ts +0 -4
  93. package/dist-lib/showcase/registry/generated-props.d.ts +0 -7
  94. package/dist-lib/showcase/registry/guides.d.ts +0 -3
  95. package/dist-lib/showcase/registry/templates.d.ts +0 -3
  96. package/dist-lib/showcase/registry/types.d.ts +0 -69
  97. package/dist-lib/showcase/routing.d.ts +0 -39
  98. package/dist-lib/showcase/templates/AuthForgot.template.d.ts +0 -3
  99. package/dist-lib/showcase/templates/AuthMagic.template.d.ts +0 -3
  100. package/dist-lib/showcase/templates/AuthSignIn.template.d.ts +0 -3
  101. package/dist-lib/showcase/templates/AuthSignUp.template.d.ts +0 -3
  102. package/dist-lib/showcase/templates/Dashboard.template.d.ts +0 -3
  103. package/dist-lib/showcase/templates/DataTable.template.d.ts +0 -3
  104. package/dist-lib/showcase/templates/FirstRunEmpty.template.d.ts +0 -3
  105. package/dist-lib/showcase/templates/Onboarding.template.d.ts +0 -3
  106. package/dist-lib/showcase/templates/Pricing.template.d.ts +0 -3
  107. package/dist-lib/showcase/templates/RecordDetail.template.d.ts +0 -3
  108. package/dist-lib/showcase/templates/Settings.template.d.ts +0 -3
  109. package/dist-lib/showcase/widgets/CodeBlock.d.ts +0 -12
  110. package/dist-lib/showcase/widgets/CodePreview.d.ts +0 -14
  111. package/dist-lib/showcase/widgets/PropsTable.d.ts +0 -10
  112. package/dist-lib/showcase/widgets/SectionAnchor.d.ts +0 -13
  113. package/dist-lib/test/setup.d.ts +0 -0
  114. package/dist-lib/theme-init.js +0 -9
package/README.md CHANGED
@@ -4,9 +4,9 @@ A refined-minimal Tailwind v4 + React design system. Production-grade
4
4
  primitives — Button through DataGrid — plus composed patterns
5
5
  (authentication, app shell, settings, etc.).
6
6
 
7
- - **Showcase:** [design.runestonetechnologies.com](https://design.runestonetechnologies.com)
8
- - **Components catalog:** [design.runestonetechnologies.com#catalog](https://design.runestonetechnologies.com#catalog)
9
- - **Docs:** [design.runestonetechnologies.com#docs](https://design.runestonetechnologies.com#docs)
7
+ - **Showcase:** [components.runestonetechnologies.com](https://components.runestonetechnologies.com)
8
+ - **Components:** [components.runestonetechnologies.com#components](https://components.runestonetechnologies.com#components)
9
+ - **Templates:** [components.runestonetechnologies.com#templates](https://components.runestonetechnologies.com#templates)
10
10
 
11
11
  > **Aesthetic direction:** Linear / Vercel / Stripe Dashboard / Notion / Raycast.
12
12
  > Neutral-dominant, one accent, hairline borders, generous whitespace, fast quiet
@@ -31,12 +31,19 @@ Peer dependencies: `react@>=18`, `react-dom@>=18`.
31
31
 
32
32
  ## Local development
33
33
 
34
+ This package lives in the [`craftzbay-ui`](https://github.com/craftzbay/craftzbay-ui)
35
+ monorepo (`packages/ui`). The showcase site is a separate workspace
36
+ (`apps/site`) that consumes this package's source directly. From the repo root:
37
+
34
38
  ```bash
35
39
  pnpm install
36
- pnpm dev # Vite showcase at localhost:5173
37
- pnpm build:lib # Build library → dist-lib/
40
+ pnpm dev # showcase site (apps/site) — edits to this package hot-reload
41
+ pnpm build:lib # build this library → packages/ui/dist-lib/
38
42
  ```
39
43
 
44
+ Inside `packages/ui` itself, `pnpm build` produces the distributable bundle and
45
+ `pnpm test` runs the component tests.
46
+
40
47
  ## Tech stack
41
48
 
42
49
  - **Tailwind CSS v4** — tokens defined in `@theme` in `src/styles/globals.css`
@@ -128,16 +135,14 @@ docs/
128
135
  ### Typography
129
136
  - [Kbd](./src/components/ui/Kbd.tsx) — keyboard shortcut indicator
130
137
 
131
- ## Patterns (composed layouts)
138
+ ## Blocks (page templates)
132
139
 
133
- - [Authentication](./src/components/patterns/Authentication.tsx)sign-in, sign-up, forgot, magic-link
134
- - [AppShell + Dashboard](./src/components/patterns/AppShell.tsx)sidebar + topnav shell, 4 stat cards + chart + activity table
135
- - [Settings](./src/components/patterns/Settings.tsx) sub-nav + 5 sections
136
- - [DataTablePage](./src/components/patterns/DataTablePage.tsx) filter / search / bulk actions / pagination
137
- - [RecordDetail](./src/components/patterns/RecordDetail.tsx)header + tabs + side panel
138
- - [Onboarding](./src/components/patterns/Onboarding.tsx) — 4-step stepper flow
139
- - [Pricing](./src/components/patterns/Pricing.tsx) — 3-tier comparison
140
- - [FirstRunEmpty](./src/components/patterns/FirstRunEmpty.tsx) — hero + 3 next-step cards
140
+ Whole-page compositionsdashboard, settings, auth, pricing, data table,
141
+ record detail, onboarding, first-runare **not** shipped as importable
142
+ components. They live in the showcase as copy-paste **blocks**: complete pages
143
+ assembled from the primitives above, with the full source on the page. Read it,
144
+ copy it, adapt it no opaque `<Dashboard />` import. Browse them under
145
+ **Templates** in the [showcase](https://components.runestonetechnologies.com/#templates).
141
146
 
142
147
  ## Documentation
143
148
 
@@ -154,4 +159,4 @@ docs/
154
159
  3. Every interactive element ships with: default, hover, focus-visible, active,
155
160
  disabled, loading, and (where applicable) error / success states.
156
161
  4. Forward refs correctly; set `displayName`.
157
- 5. Run `pnpm typecheck && pnpm lint` before opening a PR.
162
+ 5. Run `pnpm typecheck && pnpm test` before opening a PR.
@@ -1,8 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
2
  /**
3
- * Tiny, dependency-free chart primitives for inline dashboards. For complex
4
- * visualisations reach for a charting library (Recharts, visx). These suffice
5
- * for sparklines, KPI cards, and at-a-glance trends.
3
+ * Tiny, dependency-free chart primitives for inline dashboards sparklines,
4
+ * KPI cards, at-a-glance trends. For heavy interactive visualisations reach for
5
+ * a charting library. These render as responsive SVG (the line/area stretch to
6
+ * the container width; strokes stay crisp via non-scaling-stroke).
6
7
  */
7
8
  export interface ChartPoint {
8
9
  x: string | number;
@@ -10,14 +11,16 @@ export interface ChartPoint {
10
11
  }
11
12
  export interface ChartProps {
12
13
  data: ChartPoint[];
13
- /** Defaults to 24px height per point + 60px padding. */
14
+ /** Drawing height in px. */
14
15
  height?: number;
15
16
  /** Defaults to fluid 100%. */
16
17
  width?: number | string;
17
18
  /** Tooltip / label rendered above the chart. */
18
19
  caption?: ReactNode;
20
+ /** Faint horizontal gridlines. Default true. */
21
+ grid?: boolean;
19
22
  className?: string;
20
23
  }
21
- export declare function LineChart({ data, height, width, caption, className }: ChartProps): import("react/jsx-runtime").JSX.Element;
22
- export declare function AreaChart({ data, height, width, caption, className }: ChartProps): import("react/jsx-runtime").JSX.Element;
23
- export declare function BarChart({ data, height, width, caption, className }: ChartProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function LineChart({ data, height, width, caption, grid, className }: ChartProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function AreaChart(props: ChartProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare function BarChart({ data, height, width, caption, grid, className }: ChartProps): import("react/jsx-runtime").JSX.Element;
@@ -5,15 +5,12 @@ import { HTMLAttributes, ReactNode } from 'react';
5
5
  * design system default.
6
6
  *
7
7
  * @example
8
- * <DesignSystemProvider tokens={{ 'color-accent': '#ff5555', 'radius-md': '10px' }}>
8
+ * <DesignSystemProvider tokens={{ accent: '#ff5555', 'radius-md': '10px' }}>
9
9
  * <App />
10
10
  * </DesignSystemProvider>
11
11
  *
12
- * @example Multiple brands in one app
13
- * <DesignSystemProvider tokens={edgelogBrand}>
14
- * <Card>...</Card>
15
- * </DesignSystemProvider>
16
- * <DesignSystemProvider tokens={geregeBrand}>
12
+ * @example Swap in one of the built-in accent presets
13
+ * <DesignSystemProvider tokens={brandPresets.violet}>
17
14
  * <Card>...</Card>
18
15
  * </DesignSystemProvider>
19
16
  */
@@ -26,35 +23,64 @@ export interface DesignSystemProviderProps extends HTMLAttributes<HTMLDivElement
26
23
  }
27
24
  export declare function DesignSystemProvider({ tokens, className, children, style, ...props }: DesignSystemProviderProps): import("react/jsx-runtime").JSX.Element;
28
25
  /**
29
- * Built-in brand presets — drop-in starters showing how a token override
30
- * map is shaped. Consumers can fork or replace any value.
26
+ * Built-in accent presets — swap the system's single accent colour without
27
+ * touching anything else.
28
+ *
29
+ * These override the *semantic* tokens the utilities resolve to. globals.css
30
+ * maps the accent utilities with `@theme inline` (e.g. `bg-accent` →
31
+ * `var(--accent)`, `bg-accent-soft` → `var(--accent-subtle)`), so the override
32
+ * must target `--accent` / `--accent-subtle` / `--accent-subtle-foreground` /
33
+ * `--ring` — NOT `--color-accent` (which `inline` never emits). The hover/
34
+ * active steps (`--color-accent-700/800`) come from the raw palette and are
35
+ * overridden directly. `default` is the built-in graphite-indigo.
31
36
  */
32
37
  export declare const brandPresets: {
38
+ /** The library default — graphite indigo. */
33
39
  readonly default: BrandTokens;
34
- /** Cool indigo accent, slightly rounder corners. */
35
- readonly edgelog: {
36
- readonly 'color-accent': "oklch(0.55 0.18 250)";
37
- readonly 'color-accent-700': "oklch(0.46 0.16 250)";
38
- readonly 'color-accent-800': "oklch(0.38 0.14 250)";
39
- readonly 'color-accent-soft': "oklch(0.95 0.04 250)";
40
- readonly 'radius-md': "8px";
41
- readonly 'radius-lg': "12px";
40
+ /** Blue. */
41
+ readonly blue: {
42
+ readonly accent: "oklch(0.55 0.16 250)";
43
+ readonly 'color-accent-700': "oklch(0.47 0.16 250)";
44
+ readonly 'color-accent-800': "oklch(0.39 0.14 250)";
45
+ readonly 'accent-subtle': "oklch(0.95 0.04 250)";
46
+ readonly 'accent-subtle-foreground': "oklch(0.45 0.15 250)";
47
+ readonly ring: "oklch(0.62 0.16 250)";
48
+ };
49
+ /** Violet. */
50
+ readonly violet: {
51
+ readonly accent: "oklch(0.53 0.20 295)";
52
+ readonly 'color-accent-700': "oklch(0.45 0.18 295)";
53
+ readonly 'color-accent-800': "oklch(0.38 0.16 295)";
54
+ readonly 'accent-subtle': "oklch(0.95 0.04 295)";
55
+ readonly 'accent-subtle-foreground': "oklch(0.45 0.18 295)";
56
+ readonly ring: "oklch(0.60 0.20 295)";
57
+ };
58
+ /** Emerald. */
59
+ readonly emerald: {
60
+ readonly accent: "oklch(0.55 0.13 160)";
61
+ readonly 'color-accent-700': "oklch(0.47 0.13 160)";
62
+ readonly 'color-accent-800': "oklch(0.39 0.12 160)";
63
+ readonly 'accent-subtle': "oklch(0.95 0.04 160)";
64
+ readonly 'accent-subtle-foreground': "oklch(0.42 0.12 160)";
65
+ readonly ring: "oklch(0.60 0.13 160)";
42
66
  };
43
- /** Warm copper accent, tighter geometry. */
44
- readonly gerege: {
45
- readonly 'color-accent': "oklch(0.62 0.16 45)";
46
- readonly 'color-accent-700': "oklch(0.54 0.16 45)";
47
- readonly 'color-accent-800': "oklch(0.46 0.14 45)";
48
- readonly 'color-accent-soft': "oklch(0.95 0.04 45)";
49
- readonly 'radius-md': "4px";
50
- readonly 'radius-lg': "6px";
67
+ /** Rose. */
68
+ readonly rose: {
69
+ readonly accent: "oklch(0.57 0.19 12)";
70
+ readonly 'color-accent-700': "oklch(0.49 0.18 12)";
71
+ readonly 'color-accent-800': "oklch(0.41 0.16 12)";
72
+ readonly 'accent-subtle': "oklch(0.95 0.035 12)";
73
+ readonly 'accent-subtle-foreground': "oklch(0.48 0.18 12)";
74
+ readonly ring: "oklch(0.62 0.19 12)";
51
75
  };
52
- /** Forest green accent. */
53
- readonly forest: {
54
- readonly 'color-accent': "oklch(0.55 0.14 155)";
55
- readonly 'color-accent-700': "oklch(0.47 0.14 155)";
56
- readonly 'color-accent-800': "oklch(0.39 0.12 155)";
57
- readonly 'color-accent-soft': "oklch(0.95 0.04 155)";
76
+ /** Amber. */
77
+ readonly amber: {
78
+ readonly accent: "oklch(0.62 0.14 65)";
79
+ readonly 'color-accent-700': "oklch(0.54 0.13 65)";
80
+ readonly 'color-accent-800': "oklch(0.46 0.12 65)";
81
+ readonly 'accent-subtle': "oklch(0.95 0.05 75)";
82
+ readonly 'accent-subtle-foreground': "oklch(0.48 0.12 65)";
83
+ readonly ring: "oklch(0.66 0.14 65)";
58
84
  };
59
85
  };
60
86
  export type BrandName = keyof typeof brandPresets;
@@ -0,0 +1,34 @@
1
+ import { ReactNode } from 'react';
2
+ import { default as dynamicIconImports } from 'lucide-react/dynamicIconImports';
3
+ import { LucideProps } from 'lucide-react';
4
+ /** Every lucide icon name, kebab-case — e.g. `calendar`, `chevrons-up-down`. */
5
+ export type IconName = keyof typeof dynamicIconImports;
6
+ /** All available icon names (useful for pickers and docs). */
7
+ export declare const iconNames: IconName[];
8
+ export interface IconProps extends Omit<LucideProps, 'ref'> {
9
+ /** Lucide icon name in kebab-case, e.g. `name="calendar"`. Autocompletes. */
10
+ name: IconName;
11
+ /**
12
+ * Shown while the icon chunk loads (first use only — icons are cached).
13
+ * Defaults to an invisible square so layout doesn't shift.
14
+ */
15
+ fallback?: ReactNode;
16
+ }
17
+ /**
18
+ * Name-addressed lucide icon. Use when the icon is dynamic (data-driven
19
+ * nav items, user-configurable dashboards) or when importing components for
20
+ * every icon is friction.
21
+ *
22
+ * Each icon is code-split and loaded on first use, so referencing the full
23
+ * lucide set costs nothing up front — `<Icon name="rocket" />` ships only
24
+ * the rocket.
25
+ *
26
+ * @example
27
+ * <Icon name="calendar" className="size-4" />
28
+ * <Icon name="chevrons-up-down" size={16} strokeWidth={1.5} />
29
+ *
30
+ * @do Use `size-4` (16px) inline with text, `size-5` (20px) inside buttons.
31
+ * @dont Reach for this in hot lists with hundreds of distinct icons on first
32
+ * paint — statically imported icons from `Icons` skip the lazy hop.
33
+ */
34
+ export declare function Icon({ name, fallback, ...props }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -13,6 +13,26 @@ export declare const ToastTitle: import('react').ForwardRefExoticComponent<Omit<
13
13
  export declare const ToastDescription: import('react').ForwardRefExoticComponent<Omit<ToastPrimitive.ToastDescriptionProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
14
14
  export declare const ToastAction: import('react').ForwardRefExoticComponent<Omit<ToastPrimitive.ToastActionProps & import('react').RefAttributes<HTMLButtonElement>, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
15
15
  export declare const ToastClose: import('react').ForwardRefExoticComponent<Omit<ToastPrimitive.ToastCloseProps & import('react').RefAttributes<HTMLButtonElement>, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
16
+ /**
17
+ * Drop-in host that connects the `useToast()` queue to the Radix primitives.
18
+ * Mount it once near your app root — then `useToast().push({...})` (or the
19
+ * standalone `toast()`) from anywhere renders here. Self-contained: it brings
20
+ * its own ToastProvider + Viewport, so no other Toast wiring is needed.
21
+ *
22
+ * @example
23
+ * function App() {
24
+ * return (
25
+ * <>
26
+ * <Routes />
27
+ * <Toaster />
28
+ * </>
29
+ * );
30
+ * }
31
+ */
32
+ export declare function Toaster(): import("react/jsx-runtime").JSX.Element;
33
+ export declare namespace Toaster {
34
+ var displayName: string;
35
+ }
16
36
  export {};
17
37
  /**
18
38
  * @example
@@ -1,11 +1,88 @@
1
1
  /**
2
- * Curated re-exports from `lucide-react`. Components should import icons from
3
- * here, never directly from `lucide-react`, so the design system can swap
2
+ * Curated re-exports from lucide-react. Components should import icons from
3
+ * here, never directly from 'lucide-react', so the design system can swap
4
4
  * icon sets later if needed and so unused icons stay tree-shakable.
5
5
  *
6
+ * Icons are imported via their per-module paths (not the package barrel) on
7
+ * purpose: <Icon name="…"> lazy-loads arbitrary icons through
8
+ * lucide-react/dynamicIconImports, and if the barrel were in the static module
9
+ * graph, Rollup would co-locate every dynamically imported icon into the
10
+ * barrel's chunk — inlining the entire icon set instead of code-splitting it.
11
+ * (Type-only imports from 'lucide-react' are fine — they erase at build time.)
12
+ *
6
13
  * Defaults applied at the call site:
7
14
  * - 16px for inline-with-text usage
8
15
  * - 20px for use inside buttons
9
16
  * - strokeWidth 1.5
10
17
  */
11
- export { AlertCircle, AlertTriangle, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, ArrowUpDown, AtSign, BarChart3, Bell, Bookmark, Calendar, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, ChevronsLeft, ChevronsRight, ChevronsUpDown, Circle, Copy, CornerDownLeft, CreditCard, Download, Edit2, Ellipsis, Eye, EyeOff, Filter, Folder, GripVertical, Home, Inbox, LayoutGrid, Lock, LogOut, HelpCircle, Info, Link2, Loader2, Mail, Menu, Minus, MoreHorizontal, Package, Plug, Plus, Search, Sparkles, Settings, Sun, Moon, Trash2, Upload, User, Users, X, XCircle, ExternalLink, type LucideIcon, type LucideProps, } from 'lucide-react';
18
+ export { default as AlertCircle } from 'lucide-react/dist/esm/icons/alert-circle.js';
19
+ export { default as AlertTriangle } from 'lucide-react/dist/esm/icons/alert-triangle.js';
20
+ export { default as ArrowDown } from 'lucide-react/dist/esm/icons/arrow-down.js';
21
+ export { default as ArrowLeft } from 'lucide-react/dist/esm/icons/arrow-left.js';
22
+ export { default as ArrowRight } from 'lucide-react/dist/esm/icons/arrow-right.js';
23
+ export { default as ArrowUp } from 'lucide-react/dist/esm/icons/arrow-up.js';
24
+ export { default as ArrowUpDown } from 'lucide-react/dist/esm/icons/arrow-up-down.js';
25
+ export { default as AtSign } from 'lucide-react/dist/esm/icons/at-sign.js';
26
+ export { default as BarChart3 } from 'lucide-react/dist/esm/icons/bar-chart-3.js';
27
+ export { default as Bell } from 'lucide-react/dist/esm/icons/bell.js';
28
+ export { default as Bookmark } from 'lucide-react/dist/esm/icons/bookmark.js';
29
+ export { default as Calendar } from 'lucide-react/dist/esm/icons/calendar.js';
30
+ export { default as Check } from 'lucide-react/dist/esm/icons/check.js';
31
+ export { default as CheckCircle2 } from 'lucide-react/dist/esm/icons/check-circle-2.js';
32
+ export { default as ChevronDown } from 'lucide-react/dist/esm/icons/chevron-down.js';
33
+ export { default as ChevronLeft } from 'lucide-react/dist/esm/icons/chevron-left.js';
34
+ export { default as ChevronRight } from 'lucide-react/dist/esm/icons/chevron-right.js';
35
+ export { default as ChevronUp } from 'lucide-react/dist/esm/icons/chevron-up.js';
36
+ export { default as ChevronsLeft } from 'lucide-react/dist/esm/icons/chevrons-left.js';
37
+ export { default as ChevronsRight } from 'lucide-react/dist/esm/icons/chevrons-right.js';
38
+ export { default as ChevronsUpDown } from 'lucide-react/dist/esm/icons/chevrons-up-down.js';
39
+ export { default as Circle } from 'lucide-react/dist/esm/icons/circle.js';
40
+ export { default as Copy } from 'lucide-react/dist/esm/icons/copy.js';
41
+ export { default as CornerDownLeft } from 'lucide-react/dist/esm/icons/corner-down-left.js';
42
+ export { default as CreditCard } from 'lucide-react/dist/esm/icons/credit-card.js';
43
+ export { default as Download } from 'lucide-react/dist/esm/icons/download.js';
44
+ export { default as Edit2 } from 'lucide-react/dist/esm/icons/edit-2.js';
45
+ export { default as Ellipsis } from 'lucide-react/dist/esm/icons/ellipsis.js';
46
+ export { default as ExternalLink } from 'lucide-react/dist/esm/icons/external-link.js';
47
+ export { default as Eye } from 'lucide-react/dist/esm/icons/eye.js';
48
+ export { default as EyeOff } from 'lucide-react/dist/esm/icons/eye-off.js';
49
+ export { default as File } from 'lucide-react/dist/esm/icons/file.js';
50
+ export { default as FileText } from 'lucide-react/dist/esm/icons/file-text.js';
51
+ export { default as Filter } from 'lucide-react/dist/esm/icons/filter.js';
52
+ export { default as Folder } from 'lucide-react/dist/esm/icons/folder.js';
53
+ export { default as FolderOpen } from 'lucide-react/dist/esm/icons/folder-open.js';
54
+ export { default as Github } from 'lucide-react/dist/esm/icons/github.js';
55
+ export { default as GripVertical } from 'lucide-react/dist/esm/icons/grip-vertical.js';
56
+ export { default as Heart } from 'lucide-react/dist/esm/icons/heart.js';
57
+ export { default as HelpCircle } from 'lucide-react/dist/esm/icons/help-circle.js';
58
+ export { default as Home } from 'lucide-react/dist/esm/icons/home.js';
59
+ export { default as Inbox } from 'lucide-react/dist/esm/icons/inbox.js';
60
+ export { default as Info } from 'lucide-react/dist/esm/icons/info.js';
61
+ export { default as LayoutGrid } from 'lucide-react/dist/esm/icons/layout-grid.js';
62
+ export { default as Link2 } from 'lucide-react/dist/esm/icons/link-2.js';
63
+ export { default as Loader2 } from 'lucide-react/dist/esm/icons/loader-2.js';
64
+ export { default as Lock } from 'lucide-react/dist/esm/icons/lock.js';
65
+ export { default as LogOut } from 'lucide-react/dist/esm/icons/log-out.js';
66
+ export { default as Mail } from 'lucide-react/dist/esm/icons/mail.js';
67
+ export { default as Menu } from 'lucide-react/dist/esm/icons/menu.js';
68
+ export { default as Minus } from 'lucide-react/dist/esm/icons/minus.js';
69
+ export { default as Moon } from 'lucide-react/dist/esm/icons/moon.js';
70
+ export { default as MoreHorizontal } from 'lucide-react/dist/esm/icons/more-horizontal.js';
71
+ export { default as Package } from 'lucide-react/dist/esm/icons/package.js';
72
+ export { default as Pencil } from 'lucide-react/dist/esm/icons/pencil.js';
73
+ export { default as Plug } from 'lucide-react/dist/esm/icons/plug.js';
74
+ export { default as Plus } from 'lucide-react/dist/esm/icons/plus.js';
75
+ export { default as Search } from 'lucide-react/dist/esm/icons/search.js';
76
+ export { default as Settings } from 'lucide-react/dist/esm/icons/settings.js';
77
+ export { default as ShoppingCart } from 'lucide-react/dist/esm/icons/shopping-cart.js';
78
+ export { default as Sparkles } from 'lucide-react/dist/esm/icons/sparkles.js';
79
+ export { default as Star } from 'lucide-react/dist/esm/icons/star.js';
80
+ export { default as Sun } from 'lucide-react/dist/esm/icons/sun.js';
81
+ export { default as Trash2 } from 'lucide-react/dist/esm/icons/trash-2.js';
82
+ export { default as Upload } from 'lucide-react/dist/esm/icons/upload.js';
83
+ export { default as User } from 'lucide-react/dist/esm/icons/user.js';
84
+ export { default as Users } from 'lucide-react/dist/esm/icons/users.js';
85
+ export { default as X } from 'lucide-react/dist/esm/icons/x.js';
86
+ export { default as XCircle } from 'lucide-react/dist/esm/icons/x-circle.js';
87
+ export { default as Zap } from 'lucide-react/dist/esm/icons/zap.js';
88
+ export type { LucideIcon, LucideProps } from 'lucide-react';