···11+// Re-export all Lucide icons (static) from @lucide/svelte.
22+// Usage: import { ArrowRight, Check } from '@foxui/core/icons';
33+export * from '@lucide/svelte';
+4
packages/core/src/lib/moving-icons/index.ts
···11+// Re-export all Moving Icons (animated Lucide-style) from @jis3r/icons.
22+// Usage: import { Copy, Check } from '@foxui/core/moving-icons';
33+// Each icon accepts an `animate` prop to trigger motion.
44+export * from '@jis3r/icons';
···11+# Icons
22+33+foxui re-exports two icon libraries so your icons match the components out of the box.
44+55+- **Static icons** — [Lucide](https://lucide.dev) (~1500 icons). The de-facto Svelte icon set. Clean, consistent, friendly.
66+- **Animated icons** — [Moving Icons](https://www.movingicons.dev) (~500 icons). Hand-crafted animated versions of popular Lucide icons, built natively for Svelte 5.
77+88+Both use the same API (size, color, strokeWidth, class). Moving Icons additionally accept an `animate` prop to trigger motion.
99+1010+## Static icons
1111+1212+Import any [Lucide icon](https://lucide.dev/icons) in PascalCase:
1313+1414+```svelte
1515+<script>
1616+ import { ArrowRight, Check, User } from '@foxui/core/icons';
1717+</script>
1818+1919+<ArrowRight size={20} />
2020+<Check size={16} strokeWidth={2.5} />
2121+<User class="text-accent-500" />
2222+```
2323+2424+Browse the full icon set at [lucide.dev/icons](https://lucide.dev/icons).
2525+2626+## Animated icons
2727+2828+Import any [Moving Icon](https://www.movingicons.dev/icons) with the same name as its Lucide counterpart:
2929+3030+```svelte
3131+<script>
3232+ import { Bell } from '@foxui/core/moving-icons';
3333+3434+ let animate = $state(false);
3535+</script>
3636+3737+<button
3838+ onmouseenter={() => (animate = true)}
3939+ onmouseleave={() => (animate = false)}
4040+>
4141+ <Bell size={20} {animate} />
4242+</button>
4343+```
4444+4545+Set `animate={true}` to play the motion once (useful for mount / state change) or bind it to hover/focus state for interactive animations.
4646+4747+Browse the animated set at [movingicons.dev/icons](https://www.movingicons.dev/icons).
4848+4949+## Props
5050+5151+Both libraries share the same core props:
5252+5353+- `size` — Icon size in pixels (default: `24`)
5454+- `color` — Stroke color, any CSS color (default: `'currentColor'`)
5555+- `strokeWidth` — SVG stroke width (default: `2`)
5656+- `class` — Tailwind or custom classes
5757+5858+Moving icons add one more:
5959+6060+- `animate` — Boolean. When `true`, plays the icon's animation.
6161+6262+## Using with @foxui/all
6363+6464+If you use the metapackage, the same subpaths work:
6565+6666+```svelte
6767+<script>
6868+ import { Check } from '@foxui/all/icons';
6969+ import { Copy } from '@foxui/all/moving-icons';
7070+</script>
7171+```
7272+7373+## Picking the right one
7474+7575+- Use **static** icons for most cases — in-page UI, content, buttons without interaction feedback
7676+- Use **animated** icons for moments that deserve motion — copy success, notification bells, menu toggles, hover feedback on important actions
7777+7878+Both libraries are fully tree-shaken, so only the icons you actually import end up in your bundle.