@orion-ds/react 1.2.4 → 1.2.6

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 (48) hide show
  1. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  2. package/dist/components/Button/Button.d.ts.map +1 -1
  3. package/dist/components/Checkbox/Checkbox.d.ts +1 -0
  4. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  5. package/dist/components/Checkbox/Checkbox.types.d.ts +30 -5
  6. package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -1
  7. package/dist/components/Field/Field.d.ts +1 -0
  8. package/dist/components/Field/Field.d.ts.map +1 -1
  9. package/dist/components/Field/Field.types.d.ts +30 -0
  10. package/dist/components/Field/Field.types.d.ts.map +1 -1
  11. package/dist/components/Link/Link.d.ts.map +1 -1
  12. package/dist/components/Link/Link.types.d.ts +17 -0
  13. package/dist/components/Link/Link.types.d.ts.map +1 -1
  14. package/dist/components/Navbar/Navbar.d.ts +26 -15
  15. package/dist/components/Navbar/Navbar.d.ts.map +1 -1
  16. package/dist/components/Navbar/Navbar.types.d.ts +46 -0
  17. package/dist/components/Navbar/Navbar.types.d.ts.map +1 -1
  18. package/dist/components/Radio/Radio.d.ts +1 -0
  19. package/dist/components/Radio/Radio.d.ts.map +1 -1
  20. package/dist/components/Radio/Radio.types.d.ts +28 -4
  21. package/dist/components/Radio/Radio.types.d.ts.map +1 -1
  22. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -1
  23. package/dist/components/Spinner/Spinner.types.d.ts +1 -1
  24. package/dist/components/Spinner/Spinner.types.d.ts.map +1 -1
  25. package/dist/components/Stepper/Stepper.d.ts.map +1 -1
  26. package/dist/components/Stepper/Stepper.types.d.ts +7 -0
  27. package/dist/components/Stepper/Stepper.types.d.ts.map +1 -1
  28. package/dist/components/Switch/Switch.d.ts +1 -0
  29. package/dist/components/Switch/Switch.d.ts.map +1 -1
  30. package/dist/components/Switch/Switch.types.d.ts +31 -4
  31. package/dist/components/Switch/Switch.types.d.ts.map +1 -1
  32. package/dist/components/Textarea/TextArea 2.d.ts +32 -0
  33. package/dist/components/Textarea/TextArea 2.d.ts.map +1 -0
  34. package/dist/components/Textarea/TextArea.types 2.d.ts +91 -0
  35. package/dist/components/Textarea/TextArea.types 2.d.ts.map +1 -0
  36. package/dist/components/Textarea/Textarea.d.ts +1 -0
  37. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  38. package/dist/components/Textarea/Textarea.types.d.ts +36 -8
  39. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -1
  40. package/dist/index.cjs +16 -16
  41. package/dist/index.cjs.map +1 -1
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.mjs +16042 -15771
  45. package/dist/index.mjs.map +1 -1
  46. package/dist/react.css +1 -1
  47. package/dist/styles.css +21 -1
  48. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,oBAAoB,CAAC;AAG1E,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoHhD,CAAC"}
1
+ {"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,oBAAoB,CAAC;AAG1E,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6HhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,eAAO,MAAM,MAAM,2GAkElB,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,eAAO,MAAM,MAAM,2GAoElB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Checkbox Component
3
3
  *
4
4
  * Multi-select checkbox input with label and validation.
5
+ * Implements WCAG 2.1 AA accessibility guidelines.
5
6
  *
6
7
  * @example
7
8
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,QAAQ,wFAyFpB,CAAC"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,QAAQ,wFA+HpB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Checkbox Component Types
3
3
  *
4
4
  * Type definitions for the Orion Checkbox component.
5
+ * Implements WCAG 2.1 AA accessibility guidelines.
5
6
  */
6
7
  import type { InputHTMLAttributes } from 'react';
7
8
  /**
@@ -19,26 +20,50 @@ export type CheckboxSize = 'sm' | 'md' | 'lg';
19
20
  */
20
21
  export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
21
22
  /**
22
- * Checkbox label
23
+ * Checkbox label text.
24
+ * Required for accessibility unless aria-label is provided.
23
25
  */
24
26
  label?: string;
25
27
  /**
26
- * Helper text (shown below checkbox)
28
+ * Helper text displayed below the checkbox.
29
+ * Automatically linked via aria-describedby.
27
30
  */
28
31
  helperText?: string;
29
32
  /**
30
- * Error message
33
+ * Error message.
34
+ * Shows error state and displays message below checkbox.
31
35
  */
32
36
  error?: string;
33
37
  /**
34
- * Checkbox size
38
+ * Checkbox size variant.
35
39
  * @default 'md'
36
40
  */
37
41
  size?: CheckboxSize;
38
42
  /**
39
- * Indeterminate state (partially checked)
43
+ * Indeterminate state (partially checked).
44
+ * Used for "select all" patterns where some items are selected.
45
+ * Sets aria-checked="mixed" for screen readers.
40
46
  * @default false
41
47
  */
42
48
  indeterminate?: boolean;
49
+ /**
50
+ * Accessible label for screen readers when no visible label is provided.
51
+ * REQUIRED if `label` prop is not provided.
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * <Checkbox
56
+ * aria-label="Select row 1"
57
+ * checked={selected}
58
+ * onChange={handleSelect}
59
+ * />
60
+ * ```
61
+ */
62
+ 'aria-label'?: string;
63
+ /**
64
+ * Additional element IDs that describe this checkbox.
65
+ * Automatically includes error and helper text IDs when provided.
66
+ */
67
+ 'aria-describedby'?: string;
43
68
  }
44
69
  //# sourceMappingURL=Checkbox.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.types.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjG;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"Checkbox.types.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjG;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAMxB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -2,6 +2,7 @@
2
2
  * Field Component
3
3
  *
4
4
  * A type-safe, accessible input field with label, error states, and icon support.
5
+ * Implements WCAG 2.1 AA accessibility guidelines.
5
6
  *
6
7
  * @example
7
8
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,KAAK,yGAoHjB,CAAC"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,KAAK,yGAwJjB,CAAC"}
@@ -166,5 +166,35 @@ export interface FieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
166
166
  * @default false
167
167
  */
168
168
  optional?: boolean;
169
+ /**
170
+ * Accessible label for screen readers when no visible label is provided.
171
+ * REQUIRED if `label` prop is not provided.
172
+ *
173
+ * @example
174
+ * ```tsx
175
+ * // Icon-only search input
176
+ * <Field
177
+ * aria-label="Search"
178
+ * leftIcon={<Search size={18} />}
179
+ * placeholder="Search..."
180
+ * />
181
+ * ```
182
+ */
183
+ 'aria-label'?: string;
184
+ /**
185
+ * Additional element IDs that describe this input.
186
+ * Automatically includes error and helper text IDs when provided.
187
+ *
188
+ * @example
189
+ * ```tsx
190
+ * <p id="password-requirements">Must be 8+ characters</p>
191
+ * <Field
192
+ * label="Password"
193
+ * type="password"
194
+ * aria-describedby="password-requirements"
195
+ * />
196
+ * ```
197
+ */
198
+ 'aria-describedby'?: string;
169
199
  }
170
200
  //# sourceMappingURL=Field.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Field.types.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACrF;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"Field.types.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACrF;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAMnB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,IAAI,yGAiDhB,CAAC"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,IAAI,yGA6FhB,CAAC"}
@@ -12,6 +12,10 @@ export type LinkVariant = 'default' | 'subtle' | 'brand';
12
12
  * Link sizes
13
13
  */
14
14
  export type LinkSize = 'sm' | 'md' | 'lg';
15
+ /**
16
+ * Icon animation types
17
+ */
18
+ export type LinkIconAnimation = 'arrow' | 'arrow-left' | 'external' | 'none';
15
19
  /**
16
20
  * Link component props
17
21
  *
@@ -43,6 +47,11 @@ export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
43
47
  * @default true
44
48
  */
45
49
  underline?: boolean;
50
+ /**
51
+ * Whether to show the external link icon automatically when external is true
52
+ * @default true
53
+ */
54
+ showExternalIcon?: boolean;
46
55
  /**
47
56
  * Icon to display before the link text
48
57
  */
@@ -51,6 +60,14 @@ export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
51
60
  * Icon to display after the link text (e.g., external link icon)
52
61
  */
53
62
  iconRight?: ReactNode;
63
+ /**
64
+ * Icon hover animation type
65
+ * - 'arrow': moves icon right on hover
66
+ * - 'arrow-left': moves icon left on hover
67
+ * - 'external': diagonal movement for external links
68
+ * - 'none': no animation
69
+ */
70
+ iconAnimation?: LinkIconAnimation;
54
71
  /**
55
72
  * Link content
56
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Link.types.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAU,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACxE;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
1
+ {"version":3,"file":"Link.types.d.ts","sourceRoot":"","sources":["../../../src/components/Link/Link.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7E;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAU,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACxE;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -2,46 +2,57 @@
2
2
  * Navbar Component
3
3
  *
4
4
  * Application navigation header with brand, links, and actions.
5
+ * Includes responsive mobile menu with Toggle and Collapse.
5
6
  *
6
7
  * @example
7
8
  * ```tsx
9
+ * // Basic usage
8
10
  * <Navbar sticky bordered>
9
- * <Navbar.Brand href="/">
10
- * <img src="/logo.svg" alt="Logo" />
11
- * MyApp
12
- * </Navbar.Brand>
13
- *
11
+ * <Navbar.Brand href="/">MyApp</Navbar.Brand>
14
12
  * <Navbar.Nav>
15
13
  * <Navbar.Link href="/" active>Home</Navbar.Link>
16
- * <Navbar.Link href="/products">Products</Navbar.Link>
17
14
  * <Navbar.Link href="/about">About</Navbar.Link>
18
15
  * </Navbar.Nav>
19
- *
20
16
  * <Navbar.Actions>
21
- * <Button variant="ghost">Sign In</Button>
22
17
  * <Button>Get Started</Button>
23
18
  * </Navbar.Actions>
24
19
  * </Navbar>
25
20
  *
26
- * <Navbar variant="glass" height="lg">
27
- * <Navbar.Brand>Brand</Navbar.Brand>
28
- * <Navbar.Nav>
29
- * <Navbar.Link href="/dashboard">Dashboard</Navbar.Link>
30
- * </Navbar.Nav>
31
- * </Navbar>
21
+ * // With responsive mobile menu
22
+ * function ResponsiveNavbar() {
23
+ * const [isOpen, setIsOpen] = useState(false);
24
+ * return (
25
+ * <Navbar>
26
+ * <Navbar.Brand href="/">MyApp</Navbar.Brand>
27
+ * <Navbar.Nav>...</Navbar.Nav>
28
+ * <Navbar.Actions>...</Navbar.Actions>
29
+ * <Navbar.Toggle isOpen={isOpen} onToggle={() => setIsOpen(!isOpen)} />
30
+ * <Navbar.Collapse isOpen={isOpen}>
31
+ * <Navbar.Link href="/">Home</Navbar.Link>
32
+ * <Navbar.Link href="/about">About</Navbar.Link>
33
+ * </Navbar.Collapse>
34
+ * </Navbar>
35
+ * );
36
+ * }
32
37
  * ```
33
38
  */
34
39
  import React from 'react';
35
- import type { NavbarProps, NavbarBrandProps, NavbarNavProps, NavbarLinkProps, NavbarActionsProps } from './Navbar.types';
40
+ import type { NavbarProps, NavbarBrandProps, NavbarNavProps, NavbarLinkProps, NavbarActionsProps, NavbarToggleProps, NavbarCollapseProps } from './Navbar.types';
36
41
  declare const NavbarBrand: React.FC<NavbarBrandProps>;
37
42
  declare const NavbarNav: React.FC<NavbarNavProps>;
38
43
  declare const NavbarLink: React.FC<NavbarLinkProps>;
39
44
  declare const NavbarActions: React.FC<NavbarActionsProps>;
45
+ declare const NavbarToggle: React.FC<NavbarToggleProps>;
46
+ declare const NavbarCollapse: React.FC<NavbarCollapseProps>;
47
+ declare const NavbarCollapseActions: React.FC<NavbarActionsProps>;
40
48
  export declare const Navbar: React.FC<NavbarProps> & {
41
49
  Brand: typeof NavbarBrand;
42
50
  Nav: typeof NavbarNav;
43
51
  Link: typeof NavbarLink;
44
52
  Actions: typeof NavbarActions;
53
+ Toggle: typeof NavbarToggle;
54
+ Collapse: typeof NavbarCollapse;
55
+ CollapseActions: typeof NavbarCollapseActions;
45
56
  };
46
57
  export {};
47
58
  //# sourceMappingURL=Navbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../src/components/Navbar/Navbar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAOxB,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgB3C,CAAC;AAQF,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAQvC,CAAC;AAQF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqBzC,CAAC;AAQF,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAQ/C,CAAC;AAQF,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG;IAC3C,KAAK,EAAE,OAAO,WAAW,CAAC;IAC1B,GAAG,EAAE,OAAO,SAAS,CAAC;IACtB,IAAI,EAAE,OAAO,UAAU,CAAC;IACxB,OAAO,EAAE,OAAO,aAAa,CAAC;CA0B/B,CAAC"}
1
+ {"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../src/components/Navbar/Navbar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAOxB,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgB3C,CAAC;AAQF,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAQvC,CAAC;AAQF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuBzC,CAAC;AAQF,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAQ/C,CAAC;AAQF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwB7C,CAAC;AAQF,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmBjD,CAAC;AAQF,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAQvD,CAAC;AAQF,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG;IAC3C,KAAK,EAAE,OAAO,WAAW,CAAC;IAC1B,GAAG,EAAE,OAAO,SAAS,CAAC;IACtB,IAAI,EAAE,OAAO,UAAU,CAAC;IACxB,OAAO,EAAE,OAAO,aAAa,CAAC;IAC9B,MAAM,EAAE,OAAO,YAAY,CAAC;IAC5B,QAAQ,EAAE,OAAO,cAAc,CAAC;IAChC,eAAe,EAAE,OAAO,qBAAqB,CAAC;CA4B/C,CAAC"}
@@ -12,6 +12,10 @@ export type NavbarHeight = 'sm' | 'md' | 'lg';
12
12
  * Navbar background variants
13
13
  */
14
14
  export type NavbarVariant = 'solid' | 'transparent' | 'glass';
15
+ /**
16
+ * Navbar color scheme (for transparent/glass variants on colored backgrounds)
17
+ */
18
+ export type NavbarColorScheme = 'auto' | 'light' | 'dark';
15
19
  /**
16
20
  * Navbar component props
17
21
  *
@@ -46,6 +50,14 @@ export interface NavbarProps extends HTMLAttributes<HTMLElement> {
46
50
  * @default 'solid'
47
51
  */
48
52
  variant?: NavbarVariant;
53
+ /**
54
+ * Color scheme for text/links when using transparent or glass variants
55
+ * - 'auto': Uses default theme colors (dark text on light, light text on dark)
56
+ * - 'light': Forces light/white text (use on dark backgrounds)
57
+ * - 'dark': Forces dark text (use on light backgrounds)
58
+ * @default 'auto'
59
+ */
60
+ colorScheme?: NavbarColorScheme;
49
61
  /**
50
62
  * Sticky positioning
51
63
  * @default false
@@ -82,6 +94,10 @@ export interface NavbarLinkProps extends HTMLAttributes<HTMLAnchorElement> {
82
94
  children: ReactNode;
83
95
  href: string;
84
96
  active?: boolean;
97
+ /**
98
+ * Callback when link is clicked (useful for closing mobile menu)
99
+ */
100
+ onClick?: () => void;
85
101
  }
86
102
  /**
87
103
  * Navbar Actions (right side actions) props
@@ -89,4 +105,34 @@ export interface NavbarLinkProps extends HTMLAttributes<HTMLAnchorElement> {
89
105
  export interface NavbarActionsProps extends HTMLAttributes<HTMLDivElement> {
90
106
  children: ReactNode;
91
107
  }
108
+ /**
109
+ * Navbar Toggle (hamburger button) props
110
+ */
111
+ export interface NavbarToggleProps {
112
+ /**
113
+ * Whether the menu is open
114
+ */
115
+ isOpen: boolean;
116
+ /**
117
+ * Toggle callback
118
+ */
119
+ onToggle: () => void;
120
+ /**
121
+ * Additional CSS class
122
+ */
123
+ className?: string;
124
+ }
125
+ /**
126
+ * Navbar Collapse (collapsible container) props
127
+ */
128
+ export interface NavbarCollapseProps extends HTMLAttributes<HTMLDivElement> {
129
+ /**
130
+ * Content to show in collapse
131
+ */
132
+ children: ReactNode;
133
+ /**
134
+ * Whether the collapse is open (controlled by Toggle)
135
+ */
136
+ isOpen: boolean;
137
+ }
92
138
  //# sourceMappingURL=Navbar.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navbar.types.d.ts","sourceRoot":"","sources":["../../../src/components/Navbar/Navbar.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,CAAC;AAE9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC9D;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACxE,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,QAAQ,EAAE,SAAS,CAAC;CACrB"}
1
+ {"version":3,"file":"Navbar.types.d.ts","sourceRoot":"","sources":["../../../src/components/Navbar/Navbar.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC9D;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACxE,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACzE;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -2,6 +2,7 @@
2
2
  * Radio Component
3
3
  *
4
4
  * Single-select radio input with label and validation.
5
+ * Implements WCAG 2.1 AA accessibility guidelines.
5
6
  *
6
7
  * @example
7
8
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/Radio.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,KAAK,yGAwEjB,CAAC"}
1
+ {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/Radio.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,KAAK,yGAwGjB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Radio Component Types
3
3
  *
4
4
  * Type definitions for the Orion Radio component.
5
+ * Implements WCAG 2.1 AA accessibility guidelines.
5
6
  */
6
7
  import type { InputHTMLAttributes } from 'react';
7
8
  /**
@@ -19,21 +20,44 @@ export type RadioSize = 'sm' | 'md' | 'lg';
19
20
  */
20
21
  export interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
21
22
  /**
22
- * Radio label
23
+ * Radio label text.
24
+ * Required for accessibility unless aria-label is provided.
23
25
  */
24
26
  label?: string;
25
27
  /**
26
- * Helper text (shown below radio)
28
+ * Helper text displayed below the radio.
29
+ * Automatically linked via aria-describedby.
27
30
  */
28
31
  helperText?: string;
29
32
  /**
30
- * Error message
33
+ * Error message.
34
+ * Shows error state and displays message below radio.
31
35
  */
32
36
  error?: string;
33
37
  /**
34
- * Radio size
38
+ * Radio size variant.
35
39
  * @default 'md'
36
40
  */
37
41
  size?: RadioSize;
42
+ /**
43
+ * Accessible label for screen readers when no visible label is provided.
44
+ * REQUIRED if `label` prop is not provided.
45
+ *
46
+ * @example
47
+ * ```tsx
48
+ * <Radio
49
+ * name="color"
50
+ * value="red"
51
+ * aria-label="Red color"
52
+ * style={{ background: 'red' }}
53
+ * />
54
+ * ```
55
+ */
56
+ 'aria-label'?: string;
57
+ /**
58
+ * Additional element IDs that describe this radio.
59
+ * Automatically includes error and helper text IDs when provided.
60
+ */
61
+ 'aria-describedby'?: string;
38
62
  }
39
63
  //# sourceMappingURL=Radio.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.types.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/Radio.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9F;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
1
+ {"version":3,"file":"Radio.types.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/Radio.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9F;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAMjB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,WAAW,+GAgHvB,CAAC"}
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,WAAW,+GAmHvB,CAAC"}
@@ -11,7 +11,7 @@ export type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
11
11
  /**
12
12
  * Spinner variants
13
13
  */
14
- export type SpinnerVariant = 'primary' | 'secondary' | 'neutral';
14
+ export type SpinnerVariant = 'primary' | 'secondary' | 'neutral' | 'inverse';
15
15
  /**
16
16
  * Spinner component props
17
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.types.d.ts","sourceRoot":"","sources":["../../../src/components/Spinner/Spinner.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,cAAc,CAAC;IAClE;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"Spinner.types.d.ts","sourceRoot":"","sources":["../../../src/components/Spinner/Spinner.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,cAAc,CAAC;IAClE;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/components/Stepper/Stepper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAsG3E,eAAO,MAAM,OAAO,yGAiFnB,CAAC"}
1
+ {"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/components/Stepper/Stepper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAsG3E,eAAO,MAAM,OAAO,yGAoGnB,CAAC"}
@@ -117,6 +117,13 @@ export interface StepperProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCh
117
117
  * @default 'bottom'
118
118
  */
119
119
  labelPosition?: 'bottom' | 'right';
120
+ /**
121
+ * Enable horizontal scrolling on mobile for better UX with many steps
122
+ * When enabled, labels remain visible and the stepper scrolls horizontally.
123
+ * Auto-scrolls to center the current step when it changes.
124
+ * @default false
125
+ */
126
+ scrollable?: boolean;
120
127
  }
121
128
  /**
122
129
  * Step component props (internal)
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.types.d.ts","sourceRoot":"","sources":["../../../src/components/Stepper/Stepper.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACpF;;OAEG;IACH,KAAK,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAE1D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAC;CACnC"}
1
+ {"version":3,"file":"Stepper.types.d.ts","sourceRoot":"","sources":["../../../src/components/Stepper/Stepper.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACpF;;OAEG;IACH,KAAK,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAE1D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAEnC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAC;CACnC"}
@@ -2,6 +2,7 @@
2
2
  * Switch Component
3
3
  *
4
4
  * A toggle switch for boolean settings.
5
+ * Implements WCAG 2.1 AA accessibility guidelines.
5
6
  *
6
7
  * @example
7
8
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/components/Switch/Switch.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,eAAO,MAAM,MAAM,0GAoClB,CAAC"}
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/components/Switch/Switch.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,eAAO,MAAM,MAAM,0GA4GlB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Switch Component Types
3
3
  *
4
4
  * Type definitions for the Orion Switch component (toggle).
5
+ * Implements WCAG 2.1 AA accessibility guidelines.
5
6
  */
6
7
  import type { InputHTMLAttributes } from 'react';
7
8
  /**
@@ -19,17 +20,43 @@ export type SwitchSize = 'sm' | 'md' | 'lg';
19
20
  */
20
21
  export interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
21
22
  /**
22
- * Switch label
23
+ * Switch label text.
24
+ * Required for accessibility unless aria-label is provided.
23
25
  */
24
26
  label?: string;
25
27
  /**
26
- * Switch size
27
- * @default 'md'
28
+ * Switch size variant.
29
+ * @default 'sm'
28
30
  */
29
31
  size?: SwitchSize;
30
32
  /**
31
- * Helper text (shown below switch)
33
+ * Helper text displayed below the switch.
34
+ * Automatically linked via aria-describedby.
32
35
  */
33
36
  helperText?: string;
37
+ /**
38
+ * Error message.
39
+ * Shows error state and displays message below switch.
40
+ */
41
+ error?: string;
42
+ /**
43
+ * Accessible label for screen readers when no visible label is provided.
44
+ * REQUIRED if `label` prop is not provided.
45
+ *
46
+ * @example
47
+ * ```tsx
48
+ * <Switch
49
+ * aria-label="Enable dark mode"
50
+ * checked={darkMode}
51
+ * onChange={toggleDarkMode}
52
+ * />
53
+ * ```
54
+ */
55
+ 'aria-label'?: string;
56
+ /**
57
+ * Additional element IDs that describe this switch.
58
+ * Automatically includes error and helper text IDs when provided.
59
+ */
60
+ 'aria-describedby'?: string;
34
61
  }
35
62
  //# sourceMappingURL=Switch.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.types.d.ts","sourceRoot":"","sources":["../../../src/components/Switch/Switch.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/F;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"Switch.types.d.ts","sourceRoot":"","sources":["../../../src/components/Switch/Switch.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/F;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Textarea Component
3
+ *
4
+ * Multi-line text input with label, error states, and character counter.
5
+ * Implements WCAG 2.1 AA accessibility guidelines.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * <Textarea
10
+ * label="Description"
11
+ * placeholder="Enter description..."
12
+ * helperText="Provide detailed information"
13
+ * />
14
+ *
15
+ * <Textarea
16
+ * label="Bio"
17
+ * maxLength={500}
18
+ * showCounter
19
+ * resize="vertical"
20
+ * />
21
+ *
22
+ * <Textarea
23
+ * label="Comments"
24
+ * error="This field is required"
25
+ * size="lg"
26
+ * />
27
+ * ```
28
+ */
29
+ import React from 'react';
30
+ import type { TextareaProps } from './Textarea.types';
31
+ export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
32
+ //# sourceMappingURL=TextArea%202.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextArea 2.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/TextArea 2.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,QAAQ,2FA6KpB,CAAC"}