@n3wth/ui 0.3.5 → 0.4.1

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 (50) hide show
  1. package/README.md +25 -93
  2. package/dist/atoms/Button/Button.d.ts +9 -1
  3. package/dist/atoms/Button/Button.d.ts.map +1 -1
  4. package/dist/atoms/Button/index.d.ts +1 -1
  5. package/dist/atoms/Button/index.d.ts.map +1 -1
  6. package/dist/atoms/Character/Character.d.ts +15 -0
  7. package/dist/atoms/Character/Character.d.ts.map +1 -0
  8. package/dist/atoms/Character/index.d.ts +3 -0
  9. package/dist/atoms/Character/index.d.ts.map +1 -0
  10. package/dist/atoms/Shape/Shape.d.ts +46 -0
  11. package/dist/atoms/Shape/Shape.d.ts.map +1 -0
  12. package/dist/atoms/Shape/index.d.ts +4 -0
  13. package/dist/atoms/Shape/index.d.ts.map +1 -0
  14. package/dist/atoms/Shape/patterns.d.ts +20 -0
  15. package/dist/atoms/Shape/patterns.d.ts.map +1 -0
  16. package/dist/atoms/SpeechBubble/SpeechBubble.d.ts +15 -0
  17. package/dist/atoms/SpeechBubble/SpeechBubble.d.ts.map +1 -0
  18. package/dist/atoms/SpeechBubble/index.d.ts +3 -0
  19. package/dist/atoms/SpeechBubble/index.d.ts.map +1 -0
  20. package/dist/atoms/index.d.ts +6 -0
  21. package/dist/atoms/index.d.ts.map +1 -1
  22. package/dist/favicon.svg +3 -0
  23. package/dist/hooks/index.d.ts +3 -2
  24. package/dist/hooks/index.d.ts.map +1 -1
  25. package/dist/hooks/useMediaQuery.d.ts +53 -1
  26. package/dist/hooks/useMediaQuery.d.ts.map +1 -1
  27. package/dist/hooks/useReducedMotion.d.ts +41 -0
  28. package/dist/hooks/useReducedMotion.d.ts.map +1 -1
  29. package/dist/index.d.ts +14 -3
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +2338 -4812
  32. package/dist/index.js.map +1 -0
  33. package/dist/molecules/CompositeShape/CompositeShape.d.ts +10 -0
  34. package/dist/molecules/CompositeShape/CompositeShape.d.ts.map +1 -0
  35. package/dist/molecules/CompositeShape/index.d.ts +5 -0
  36. package/dist/molecules/CompositeShape/index.d.ts.map +1 -0
  37. package/dist/molecules/CompositeShape/presets.d.ts +15 -0
  38. package/dist/molecules/CompositeShape/presets.d.ts.map +1 -0
  39. package/dist/molecules/index.d.ts +4 -0
  40. package/dist/molecules/index.d.ts.map +1 -1
  41. package/dist/robots.txt +4 -0
  42. package/dist/sitemap.xml +8 -0
  43. package/dist/styles.css +340 -0
  44. package/dist/tokens/colors.d.ts +20 -0
  45. package/dist/tokens/colors.d.ts.map +1 -1
  46. package/package.json +2 -2
  47. package/public/favicon.svg +3 -0
  48. package/public/robots.txt +4 -0
  49. package/public/sitemap.xml +8 -0
  50. package/tailwind.preset.js +32 -0
package/README.md CHANGED
@@ -1,122 +1,54 @@
1
- # @n3wth/ui
1
+ # n3wth/ui
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@n3wth/ui.svg)](https://www.npmjs.com/package/@n3wth/ui)
4
- [![npm downloads](https://img.shields.io/npm/dm/@n3wth/ui.svg)](https://www.npmjs.com/package/@n3wth/ui)
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
3
+ Atomic design system. Flat, minimal, iOS-inspired. No shadows, no glows, just clean glass morphism.
6
4
 
7
- Atomic design system for Newth sites. Flat, minimal, iOS-inspired. No shadows, no glows, just clean glass morphism.
5
+ **[ui.newth.ai](https://ui.newth.ai)** / **[npm](https://www.npmjs.com/package/@n3wth/ui)**
8
6
 
9
- **Demo**: [ui.newth.ai](https://ui.newth.ai)
10
-
11
- ## Installation
7
+ ## Install
12
8
 
13
9
  ```bash
14
10
  npm install @n3wth/ui
15
11
  ```
16
12
 
17
- ### Peer Dependencies
18
-
19
- Requires React 18+ and React DOM:
20
-
21
- ```bash
22
- npm install react react-dom
23
- ```
24
-
25
- ## Quick Start
26
-
27
13
  ```tsx
28
14
  import { Button, Card, Nav } from '@n3wth/ui'
29
15
  import '@n3wth/ui/styles'
30
16
  ```
31
17
 
32
- ### Tailwind CSS Preset
33
-
34
- Include the design tokens in your Tailwind config:
18
+ ## Components
35
19
 
36
- ```js
37
- // tailwind.config.js
38
- export default {
39
- presets: [require('@n3wth/ui/tailwind')],
40
- content: [
41
- './src/**/*.{js,ts,jsx,tsx}',
42
- './node_modules/@n3wth/ui/dist/**/*.js'
43
- ]
44
- }
45
- ```
20
+ **Atoms** - Button, Badge, Input, Icon, AnimatedText, HamburgerIcon, NoiseOverlay, ScrollIndicator
46
21
 
47
- ## Components
22
+ **Molecules** - Card, NavLink, CommandBox, ThemeToggle, MobileDrawer
48
23
 
49
- ### Atoms
50
-
51
- | Component | Description |
52
- |-----------|-------------|
53
- | `Button` | Primary, secondary, ghost, glass variants with loading state |
54
- | `Badge` | Default, sage, coral, mint, gold, outline variants |
55
- | `Input` | Text input with glass variant, icons, and error state |
56
- | `Icon` | SVG icons via iconoir-react |
57
- | `AnimatedText` | Text with entrance animations |
58
- | `HamburgerIcon` | Animated menu icon |
59
- | `NoiseOverlay` | Subtle noise texture overlay |
60
- | `ScrollIndicator` | Scroll progress indicator |
61
-
62
- ### Molecules
63
-
64
- | Component | Description |
65
- |-----------|-------------|
66
- | `Card` | Container with header, content, footer. Glass/interactive variants |
67
- | `NavLink` | Navigation link with underline/pill styles |
68
- | `CommandBox` | Copy-to-clipboard code display |
69
- | `ThemeToggle` | Dark/light mode toggle |
70
- | `MobileDrawer` | Slide-out mobile navigation |
71
-
72
- ### Organisms
73
-
74
- | Component | Description |
75
- |-----------|-------------|
76
- | `Nav` | Fixed navigation with mobile menu and theme toggle |
77
- | `Hero` | Hero section with badge, title, description, CTAs |
78
- | `Section` | Content section wrapper with header |
79
- | `Footer` | Multi-column footer with sections |
24
+ **Organisms** - Nav, Hero, Section, Footer
80
25
 
81
26
  ## Hooks
82
27
 
83
- | Hook | Description |
84
- |------|-------------|
85
- | `useTheme` | Dark/light theme management with system preference detection |
86
- | `useMediaQuery` | Responsive breakpoint detection |
87
- | `useKeyboardShortcuts` | Keyboard shortcut handler |
88
- | `useReducedMotion` | Respects user's motion preferences |
28
+ `useTheme` - Dark/light mode with system detection
89
29
 
90
- ## Development
30
+ `useMediaQuery` - Responsive breakpoints
91
31
 
92
- ```bash
93
- npm run dev # Watch mode for library
94
- npm run demo # Run demo app at localhost:5173
95
- npm run build # Build library to dist/
96
- npm run demo:build # Build demo for Vercel
97
- npm run lint # Lint
98
- ```
32
+ `useKeyboardShortcuts` - Keyboard handler
99
33
 
100
- ## Publishing
34
+ `useReducedMotion` - Motion preference detection
101
35
 
102
- ```bash
103
- npm run release:patch # 0.3.2 → 0.3.3
104
- npm run release:minor # 0.3.2 → 0.4.0
105
- npm run release:major # 0.3.2 → 1.0.0
106
- ```
36
+ ## Tailwind Preset
107
37
 
108
- Single command: bumps version, commits, pushes, tags, creates GitHub release. GitHub Actions publishes to npm via OIDC.
38
+ ```js
39
+ // tailwind.config.js
40
+ export default {
41
+ presets: [require('@n3wth/ui/tailwind')],
42
+ content: ['./node_modules/@n3wth/ui/dist/**/*.js']
43
+ }
44
+ ```
109
45
 
110
- ## Project Structure
46
+ ## Development
111
47
 
112
- ```
113
- src/
114
- atoms/ # Button, Badge, Input, Icon, etc.
115
- molecules/ # Card, NavLink, CommandBox, etc.
116
- organisms/ # Nav, Hero, Footer, Section
117
- hooks/ # useTheme, useMediaQuery, etc.
118
- tokens/ # Design tokens (colors, typography)
119
- demo/ # Demo app (ui.newth.ai)
48
+ ```bash
49
+ npm run dev # Watch library
50
+ npm run demo # Demo at localhost:5173
51
+ npm run build # Build to dist/
120
52
  ```
121
53
 
122
54
  ## License
@@ -1,12 +1,20 @@
1
1
  import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ export type ButtonSize = 'sm' | 'md' | 'lg';
2
3
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3
4
  variant?: 'primary' | 'secondary' | 'ghost' | 'glass';
4
- size?: 'sm' | 'md' | 'lg';
5
+ /** Size of the button. Can be a single value or responsive object */
6
+ size?: ButtonSize | {
7
+ base?: ButtonSize;
8
+ md?: ButtonSize;
9
+ lg?: ButtonSize;
10
+ };
5
11
  children: ReactNode;
6
12
  isLoading?: boolean;
7
13
  leftIcon?: ReactNode;
8
14
  rightIcon?: ReactNode;
9
15
  asChild?: boolean;
16
+ /** Ensures minimum 44px touch target for accessibility (WCAG 2.5.5) */
17
+ touchTarget?: boolean;
10
18
  }
11
19
  export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
12
20
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/atoms/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAA;AAGd,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CAAA;IACrD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,MAAM,2GAgGlB,CAAA"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/atoms/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAA;AAGd,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE3C,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CAAA;IACrD,qEAAqE;IACrE,IAAI,CAAC,EAAE,UAAU,GAAG;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,EAAE,CAAC,EAAE,UAAU,CAAC;QAAC,EAAE,CAAC,EAAE,UAAU,CAAA;KAAE,CAAA;IAC3E,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,uEAAuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,eAAO,MAAM,MAAM,2GA6HlB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export { Button } from './Button';
2
- export type { ButtonProps } from './Button';
2
+ export type { ButtonProps, ButtonSize } from './Button';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,15 @@
1
+ export type Expression = 'happy' | 'wink' | 'surprised' | 'excited' | 'thinking' | 'cool' | 'sleepy' | 'love';
2
+ export type Accessory = 'none' | 'glasses' | 'hat' | 'flower' | 'bowtie';
3
+ export interface CharacterProps {
4
+ expression?: Expression;
5
+ size?: number;
6
+ color?: string;
7
+ featureColor?: string;
8
+ accessory?: Accessory;
9
+ accessoryColor?: string;
10
+ animate?: boolean;
11
+ className?: string;
12
+ style?: React.CSSProperties;
13
+ }
14
+ export declare function Character({ expression, size, color, featureColor, accessory, accessoryColor, animate, className, style, }: CharacterProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=Character.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Character.d.ts","sourceRoot":"","sources":["../../../src/atoms/Character/Character.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,MAAM,GACN,WAAW,GACX,SAAS,GACT,UAAU,GACV,MAAM,GACN,QAAQ,GACR,MAAM,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAExE,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B;AA+ID,wBAAgB,SAAS,CAAC,EACxB,UAAoB,EACpB,IAAS,EACT,KAAiB,EACjB,YAAwB,EACxB,SAAkB,EAClB,cAA0B,EAC1B,OAAe,EACf,SAAS,EACT,KAAK,GACN,EAAE,cAAc,2CA8ChB"}
@@ -0,0 +1,3 @@
1
+ export { Character } from './Character';
2
+ export type { CharacterProps, Expression, Accessory } from './Character';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/Character/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,46 @@
1
+ import { PatternType } from './patterns';
2
+ export type ShapeType = 'circle' | 'square' | 'triangle' | 'diamond' | 'hexagon' | 'semicircle' | 'arc' | 'pill' | 'star';
3
+ export type ResponsiveSize = {
4
+ base?: number | {
5
+ width: number;
6
+ height: number;
7
+ };
8
+ sm?: number | {
9
+ width: number;
10
+ height: number;
11
+ };
12
+ md?: number | {
13
+ width: number;
14
+ height: number;
15
+ };
16
+ lg?: number | {
17
+ width: number;
18
+ height: number;
19
+ };
20
+ };
21
+ export interface ShapeProps {
22
+ type: ShapeType;
23
+ /**
24
+ * Size of the shape. Can be:
25
+ * - A number (same width/height)
26
+ * - An object { width, height }
27
+ * - A responsive object { base, sm, md, lg }
28
+ */
29
+ size?: number | {
30
+ width: number;
31
+ height: number;
32
+ } | ResponsiveSize;
33
+ color?: string;
34
+ pattern?: PatternType;
35
+ patternColors?: string[];
36
+ patternScale?: number;
37
+ patternAngle?: number;
38
+ rotation?: number;
39
+ opacity?: number;
40
+ className?: string;
41
+ style?: React.CSSProperties;
42
+ /** Disable animations when user prefers reduced motion (handled via CSS) */
43
+ 'aria-hidden'?: boolean;
44
+ }
45
+ export declare function Shape({ type, size, color, pattern, patternColors, patternScale, patternAngle, rotation, opacity, className, style, 'aria-hidden': ariaHidden, }: ShapeProps): import("react/jsx-runtime").JSX.Element;
46
+ //# sourceMappingURL=Shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shape.d.ts","sourceRoot":"","sources":["../../../src/atoms/Shape/Shape.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAA;AAEzD,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,GACT,SAAS,GACT,YAAY,GACZ,KAAK,GACL,MAAM,GACN,MAAM,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAChD,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAA;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,CAAA;IAClE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAoCD,wBAAgB,KAAK,CAAC,EACpB,IAAI,EACJ,IAAS,EACT,KAAsB,EACtB,OAAiB,EACjB,aAAa,EACb,YAAgB,EAChB,YAAiB,EACjB,QAAY,EACZ,OAAW,EACX,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAiB,GACjC,EAAE,UAAU,2CA0FZ"}
@@ -0,0 +1,4 @@
1
+ export { Shape } from './Shape';
2
+ export type { ShapeProps, ShapeType, ResponsiveSize } from './Shape';
3
+ export type { PatternType, PatternConfig } from './patterns';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/Shape/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACpE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SVG pattern generators for shapes
3
+ * Returns pattern definition and pattern ID for use in fills
4
+ */
5
+ export type PatternType = 'solid' | 'checkered' | 'striped' | 'dotted';
6
+ export interface PatternConfig {
7
+ type: PatternType;
8
+ colors: string[];
9
+ scale?: number;
10
+ angle?: number;
11
+ }
12
+ export declare function generatePatternId(): string;
13
+ export declare function generateCheckeredPattern(id: string, colors: [string, string], scale?: number): string;
14
+ export declare function generateStripedPattern(id: string, colors: string[], scale?: number, angle?: number): string;
15
+ export declare function generateDottedPattern(id: string, bgColor: string, dotColor: string, scale?: number): string;
16
+ export declare function generatePattern(config: PatternConfig): {
17
+ defs: string;
18
+ fill: string;
19
+ } | null;
20
+ //# sourceMappingURL=patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/atoms/Shape/patterns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAID,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,KAAK,GAAE,MAAU,GAChB,MAAM,CAWR;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,GAAE,MAAU,EACjB,KAAK,GAAE,MAAW,GACjB,MAAM,CAcR;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAU,GAChB,MAAM,CASR;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA2B5F"}
@@ -0,0 +1,15 @@
1
+ export type BubbleDirection = 'left' | 'right' | 'top' | 'bottom';
2
+ export type BubbleVariant = 'speech' | 'thought';
3
+ export type BubbleSize = 'sm' | 'md' | 'lg';
4
+ export interface SpeechBubbleProps {
5
+ children: React.ReactNode;
6
+ direction?: BubbleDirection;
7
+ variant?: BubbleVariant;
8
+ size?: BubbleSize;
9
+ color?: string;
10
+ borderColor?: string;
11
+ className?: string;
12
+ style?: React.CSSProperties;
13
+ }
14
+ export declare function SpeechBubble({ children, direction, variant, size, color, borderColor, className, style, }: SpeechBubbleProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=SpeechBubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpeechBubble.d.ts","sourceRoot":"","sources":["../../../src/atoms/SpeechBubble/SpeechBubble.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AACjE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAA;AAChD,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE3C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B;AAQD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAoB,EACpB,OAAkB,EAClB,IAAW,EACX,KAAoD,EACpD,WAA6D,EAC7D,SAAS,EACT,KAAK,GACN,EAAE,iBAAiB,2CAwEnB"}
@@ -0,0 +1,3 @@
1
+ export { SpeechBubble } from './SpeechBubble';
2
+ export type { SpeechBubbleProps, BubbleDirection, BubbleVariant, BubbleSize } from './SpeechBubble';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/SpeechBubble/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA"}
@@ -14,4 +14,10 @@ export { HamburgerIcon } from './HamburgerIcon';
14
14
  export type { HamburgerIconProps } from './HamburgerIcon';
15
15
  export { AnimatedText } from './AnimatedText';
16
16
  export type { AnimatedTextProps } from './AnimatedText';
17
+ export { Shape } from './Shape';
18
+ export type { ShapeProps, ShapeType, PatternType } from './Shape';
19
+ export { Character } from './Character';
20
+ export type { CharacterProps, Expression, Accessory } from './Character';
21
+ export { SpeechBubble } from './SpeechBubble';
22
+ export type { SpeechBubbleProps, BubbleDirection, BubbleVariant, BubbleSize } from './SpeechBubble';
17
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAExE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
+ <path d="M16 4L28 26H4L16 4Z" fill="#30d158"/>
3
+ </svg>
@@ -2,8 +2,9 @@ export { useTheme } from './useTheme';
2
2
  export type { Theme, UseThemeOptions, UseThemeReturn } from './useTheme';
3
3
  export { useKeyboardShortcuts, getModifierKey, formatShortcut, } from './useKeyboardShortcuts';
4
4
  export type { KeyboardShortcut, UseKeyboardShortcutsOptions } from './useKeyboardShortcuts';
5
- export { useReducedMotion } from './useReducedMotion';
6
- export { useMediaQuery, useIsMobile, useIsTablet, useIsDesktop, } from './useMediaQuery';
5
+ export { useReducedMotion, useMotionConfig, usePrefersHighContrast } from './useReducedMotion';
6
+ export { useMediaQuery, useIsMobile, useIsTablet, useIsDesktop, useIsLargeDesktop, useBreakpoint, useIsTouchDevice, useIsPortrait, useIsLandscape, BREAKPOINTS, } from './useMediaQuery';
7
+ export type { Breakpoint } from './useMediaQuery';
7
8
  export { useCountUp } from './useCountUp';
8
9
  export type { UseCountUpOptions, UseCountUpReturn } from './useCountUp';
9
10
  export { useScrollReveal } from './useScrollReveal';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAExE,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAExE,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAE3F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAE9F,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,GACZ,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,5 +1,57 @@
1
- export declare function useMediaQuery(query: string): boolean;
1
+ /**
2
+ * Standard breakpoints matching Tailwind CSS defaults
3
+ * sm: 640px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px
4
+ */
5
+ export declare const BREAKPOINTS: {
6
+ readonly sm: 640;
7
+ readonly md: 768;
8
+ readonly lg: 1024;
9
+ readonly xl: 1280;
10
+ readonly '2xl': 1536;
11
+ };
12
+ export type Breakpoint = keyof typeof BREAKPOINTS;
13
+ /**
14
+ * Hook for responsive media queries with SSR safety
15
+ * Returns false during SSR to prevent hydration mismatches
16
+ *
17
+ * @param query - CSS media query string
18
+ * @param defaultValue - Initial value for SSR (defaults to false)
19
+ * @returns boolean indicating if the query matches
20
+ */
21
+ export declare function useMediaQuery(query: string, defaultValue?: boolean): boolean;
22
+ /**
23
+ * Returns true when viewport is mobile width (< 768px)
24
+ * Mobile-first default: returns true initially for SSR
25
+ */
2
26
  export declare function useIsMobile(): boolean;
27
+ /**
28
+ * Returns true when viewport is tablet width (768px - 1023px)
29
+ */
3
30
  export declare function useIsTablet(): boolean;
31
+ /**
32
+ * Returns true when viewport is desktop width (>= 1024px)
33
+ */
4
34
  export declare function useIsDesktop(): boolean;
35
+ /**
36
+ * Returns true when viewport is large desktop width (>= 1280px)
37
+ */
38
+ export declare function useIsLargeDesktop(): boolean;
39
+ /**
40
+ * Returns the current breakpoint name
41
+ * Useful for conditional rendering based on screen size
42
+ */
43
+ export declare function useBreakpoint(): Breakpoint | 'xs';
44
+ /**
45
+ * Returns true when user prefers touch interaction
46
+ * Useful for adapting UI interactions
47
+ */
48
+ export declare function useIsTouchDevice(): boolean;
49
+ /**
50
+ * Returns true when viewport is in portrait orientation
51
+ */
52
+ export declare function useIsPortrait(): boolean;
53
+ /**
54
+ * Returns true when viewport is in landscape orientation
55
+ */
56
+ export declare function useIsLandscape(): boolean;
5
57
  //# sourceMappingURL=useMediaQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAiBpD;AAGD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
1
+ {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;CAMd,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,WAAW,CAAA;AAEjD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CA8B1E;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAejD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
@@ -1,2 +1,43 @@
1
+ /**
2
+ * Hook to detect user's motion preference with SSR safety
3
+ * Returns true if user prefers reduced motion
4
+ *
5
+ * Note: For animations, consider using this to:
6
+ * - Disable or reduce animation duration
7
+ * - Use fade instead of transform animations
8
+ * - Skip parallax and auto-playing animations
9
+ */
1
10
  export declare function useReducedMotion(): boolean;
11
+ /**
12
+ * Returns animation configuration based on reduced motion preference
13
+ * Provides sensible defaults that can be spread into animation props
14
+ */
15
+ export declare function useMotionConfig(): {
16
+ /** Whether reduced motion is preferred */
17
+ isReduced: boolean;
18
+ /** Suggested animation duration in ms */
19
+ duration: number;
20
+ /** Suggested animation duration as CSS value */
21
+ durationCss: string;
22
+ /** Suggested easing function */
23
+ easing: string;
24
+ /** Whether to disable transform animations */
25
+ disableTransform: boolean;
26
+ /** Whether to disable parallax effects */
27
+ disableParallax: boolean;
28
+ /** Whether to disable auto-playing animations */
29
+ disableAutoPlay: boolean;
30
+ /** Suggested transition config for Framer Motion / GSAP */
31
+ transition: {
32
+ duration: number;
33
+ ease?: undefined;
34
+ } | {
35
+ duration: number;
36
+ ease: number[];
37
+ };
38
+ };
39
+ /**
40
+ * Returns true if user prefers high contrast
41
+ */
42
+ export declare function usePrefersHighContrast(): boolean;
2
43
  //# sourceMappingURL=useReducedMotion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReducedMotion.d.ts","sourceRoot":"","sources":["../../src/hooks/useReducedMotion.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,IAAI,OAAO,CAiB1C"}
1
+ {"version":3,"file":"useReducedMotion.d.ts","sourceRoot":"","sources":["../../src/hooks/useReducedMotion.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CA8B1C;AAED;;;GAGG;AACH,wBAAgB,eAAe;IAKzB,0CAA0C;;IAG1C,yCAAyC;;IAGzC,gDAAgD;;IAGhD,gCAAgC;;IAGhC,8CAA8C;;IAG9C,0CAA0C;;IAG1C,iDAAiD;;IAGjD,2DAA2D;;;;;;;;EAOhE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CA2BhD"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from './tokens';
2
2
  export { cn } from './utils/cn';
3
3
  export { Button } from './atoms/Button';
4
- export type { ButtonProps } from './atoms/Button';
4
+ export type { ButtonProps, ButtonSize } from './atoms/Button';
5
5
  export { Badge } from './atoms/Badge';
6
6
  export type { BadgeProps } from './atoms/Badge';
7
7
  export { Input } from './atoms/Input';
@@ -20,6 +20,12 @@ export { CodeBlock } from './atoms/CodeBlock';
20
20
  export type { CodeBlockProps } from './atoms/CodeBlock';
21
21
  export { Skeleton, CardSkeleton } from './atoms/Skeleton';
22
22
  export type { SkeletonProps, CardSkeletonProps } from './atoms/Skeleton';
23
+ export { Shape } from './atoms/Shape';
24
+ export type { ShapeProps, ShapeType, PatternType, ResponsiveSize } from './atoms/Shape';
25
+ export { Character } from './atoms/Character';
26
+ export type { CharacterProps, Expression, Accessory } from './atoms/Character';
27
+ export { SpeechBubble } from './atoms/SpeechBubble';
28
+ export type { SpeechBubbleProps, BubbleDirection, BubbleVariant, BubbleSize } from './atoms/SpeechBubble';
23
29
  export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, } from './molecules/Card';
24
30
  export type { CardProps, CardHeaderProps, CardTitleProps, CardDescriptionProps, CardContentProps, CardFooterProps, } from './molecules/Card';
25
31
  export { NavLink } from './molecules/NavLink';
@@ -32,6 +38,10 @@ export { MobileDrawer } from './molecules/MobileDrawer';
32
38
  export type { MobileDrawerProps } from './molecules/MobileDrawer';
33
39
  export { ErrorBoundary, ErrorFallback } from './molecules/ErrorBoundary';
34
40
  export type { ErrorBoundaryProps, ErrorFallbackProps } from './molecules/ErrorBoundary';
41
+ export { CompositeShape } from './molecules/CompositeShape';
42
+ export type { CompositeShapeProps } from './molecules/CompositeShape';
43
+ export { presets } from './molecules/CompositeShape';
44
+ export type { CompositePreset, ShapeLayer } from './molecules/CompositeShape';
35
45
  export { Nav } from './organisms/Nav';
36
46
  export type { NavProps, NavItem } from './organisms/Nav';
37
47
  export { Footer } from './organisms/Footer';
@@ -44,8 +54,9 @@ export { useTheme } from './hooks/useTheme';
44
54
  export type { Theme, UseThemeOptions, UseThemeReturn } from './hooks/useTheme';
45
55
  export { useKeyboardShortcuts, getModifierKey, formatShortcut, } from './hooks/useKeyboardShortcuts';
46
56
  export type { KeyboardShortcut, UseKeyboardShortcutsOptions } from './hooks/useKeyboardShortcuts';
47
- export { useReducedMotion } from './hooks/useReducedMotion';
48
- export { useMediaQuery, useIsMobile, useIsTablet, useIsDesktop, } from './hooks/useMediaQuery';
57
+ export { useReducedMotion, useMotionConfig, usePrefersHighContrast } from './hooks/useReducedMotion';
58
+ export { useMediaQuery, useIsMobile, useIsTablet, useIsDesktop, useIsLargeDesktop, useBreakpoint, useIsTouchDevice, useIsPortrait, useIsLandscape, BREAKPOINTS, } from './hooks/useMediaQuery';
59
+ export type { Breakpoint } from './hooks/useMediaQuery';
49
60
  export { useCountUp } from './hooks/useCountUp';
50
61
  export type { UseCountUpOptions, UseCountUpReturn } from './hooks/useCountUp';
51
62
  export { useScrollReveal } from './hooks/useScrollReveal';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}