@cytario/design 1.6.1 → 1.7.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 (179) hide show
  1. package/dist/index.d.ts +583 -58
  2. package/dist/index.js +2145 -32
  3. package/dist/index.js.map +1 -0
  4. package/package.json +7 -5
  5. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -11
  6. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
  7. package/dist/components/Breadcrumbs/Breadcrumbs.js +0 -9
  8. package/dist/components/Breadcrumbs/index.d.ts +0 -3
  9. package/dist/components/Breadcrumbs/index.d.ts.map +0 -1
  10. package/dist/components/Breadcrumbs/index.js +0 -1
  11. package/dist/components/Button/Button.d.ts +0 -18
  12. package/dist/components/Button/Button.d.ts.map +0 -1
  13. package/dist/components/Button/Button.js +0 -51
  14. package/dist/components/Button/index.d.ts +0 -3
  15. package/dist/components/Button/index.d.ts.map +0 -1
  16. package/dist/components/Button/index.js +0 -1
  17. package/dist/components/ButtonLink/ButtonLink.d.ts +0 -35
  18. package/dist/components/ButtonLink/ButtonLink.d.ts.map +0 -1
  19. package/dist/components/ButtonLink/ButtonLink.js +0 -47
  20. package/dist/components/ButtonLink/index.d.ts +0 -3
  21. package/dist/components/ButtonLink/index.d.ts.map +0 -1
  22. package/dist/components/ButtonLink/index.js +0 -1
  23. package/dist/components/Checkbox/Checkbox.d.ts +0 -8
  24. package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
  25. package/dist/components/Checkbox/Checkbox.js +0 -19
  26. package/dist/components/Checkbox/index.d.ts +0 -3
  27. package/dist/components/Checkbox/index.d.ts.map +0 -1
  28. package/dist/components/Checkbox/index.js +0 -1
  29. package/dist/components/Dialog/Dialog.d.ts +0 -11
  30. package/dist/components/Dialog/Dialog.d.ts.map +0 -1
  31. package/dist/components/Dialog/Dialog.js +0 -31
  32. package/dist/components/Dialog/index.d.ts +0 -3
  33. package/dist/components/Dialog/index.d.ts.map +0 -1
  34. package/dist/components/Dialog/index.js +0 -1
  35. package/dist/components/EmptyState/EmptyState.d.ts +0 -11
  36. package/dist/components/EmptyState/EmptyState.d.ts.map +0 -1
  37. package/dist/components/EmptyState/EmptyState.js +0 -10
  38. package/dist/components/EmptyState/index.d.ts +0 -3
  39. package/dist/components/EmptyState/index.d.ts.map +0 -1
  40. package/dist/components/EmptyState/index.js +0 -1
  41. package/dist/components/Field/Field.d.ts +0 -13
  42. package/dist/components/Field/Field.d.ts.map +0 -1
  43. package/dist/components/Field/Field.js +0 -15
  44. package/dist/components/Field/index.d.ts +0 -3
  45. package/dist/components/Field/index.d.ts.map +0 -1
  46. package/dist/components/Field/index.js +0 -1
  47. package/dist/components/Fieldset/Fieldset.d.ts +0 -8
  48. package/dist/components/Fieldset/Fieldset.d.ts.map +0 -1
  49. package/dist/components/Fieldset/Fieldset.js +0 -15
  50. package/dist/components/Fieldset/index.d.ts +0 -3
  51. package/dist/components/Fieldset/index.d.ts.map +0 -1
  52. package/dist/components/Fieldset/index.js +0 -1
  53. package/dist/components/Heading/Heading.d.ts +0 -19
  54. package/dist/components/Heading/Heading.d.ts.map +0 -1
  55. package/dist/components/Heading/Heading.js +0 -39
  56. package/dist/components/Heading/index.d.ts +0 -3
  57. package/dist/components/Heading/index.d.ts.map +0 -1
  58. package/dist/components/Heading/index.js +0 -1
  59. package/dist/components/Icon/Icon.d.ts +0 -15
  60. package/dist/components/Icon/Icon.d.ts.map +0 -1
  61. package/dist/components/Icon/Icon.js +0 -11
  62. package/dist/components/Icon/index.d.ts +0 -3
  63. package/dist/components/Icon/index.d.ts.map +0 -1
  64. package/dist/components/Icon/index.js +0 -1
  65. package/dist/components/IconButton/IconButton.d.ts +0 -23
  66. package/dist/components/IconButton/IconButton.d.ts.map +0 -1
  67. package/dist/components/IconButton/IconButton.js +0 -59
  68. package/dist/components/IconButton/index.d.ts +0 -3
  69. package/dist/components/IconButton/index.d.ts.map +0 -1
  70. package/dist/components/IconButton/index.js +0 -1
  71. package/dist/components/Input/Input.d.ts +0 -23
  72. package/dist/components/Input/Input.d.ts.map +0 -1
  73. package/dist/components/Input/Input.js +0 -97
  74. package/dist/components/Input/index.d.ts +0 -3
  75. package/dist/components/Input/index.d.ts.map +0 -1
  76. package/dist/components/Input/index.js +0 -1
  77. package/dist/components/InputAddon/InputAddon.d.ts +0 -7
  78. package/dist/components/InputAddon/InputAddon.d.ts.map +0 -1
  79. package/dist/components/InputAddon/InputAddon.js +0 -35
  80. package/dist/components/InputAddon/index.d.ts +0 -3
  81. package/dist/components/InputAddon/index.d.ts.map +0 -1
  82. package/dist/components/InputAddon/index.js +0 -1
  83. package/dist/components/InputGroup/InputGroup.d.ts +0 -7
  84. package/dist/components/InputGroup/InputGroup.d.ts.map +0 -1
  85. package/dist/components/InputGroup/InputGroup.js +0 -16
  86. package/dist/components/InputGroup/InputGroupContext.d.ts +0 -9
  87. package/dist/components/InputGroup/InputGroupContext.d.ts.map +0 -1
  88. package/dist/components/InputGroup/InputGroupContext.js +0 -8
  89. package/dist/components/InputGroup/index.d.ts +0 -5
  90. package/dist/components/InputGroup/index.d.ts.map +0 -1
  91. package/dist/components/InputGroup/index.js +0 -2
  92. package/dist/components/Label/Label.d.ts +0 -7
  93. package/dist/components/Label/Label.d.ts.map +0 -1
  94. package/dist/components/Label/Label.js +0 -12
  95. package/dist/components/Label/index.d.ts +0 -3
  96. package/dist/components/Label/index.d.ts.map +0 -1
  97. package/dist/components/Label/index.js +0 -1
  98. package/dist/components/Link/Link.d.ts +0 -10
  99. package/dist/components/Link/Link.d.ts.map +0 -1
  100. package/dist/components/Link/Link.js +0 -22
  101. package/dist/components/Link/index.d.ts +0 -3
  102. package/dist/components/Link/index.d.ts.map +0 -1
  103. package/dist/components/Link/index.js +0 -1
  104. package/dist/components/Menu/Menu.d.ts +0 -24
  105. package/dist/components/Menu/Menu.d.ts.map +0 -1
  106. package/dist/components/Menu/Menu.js +0 -29
  107. package/dist/components/Menu/index.d.ts +0 -3
  108. package/dist/components/Menu/index.d.ts.map +0 -1
  109. package/dist/components/Menu/index.js +0 -1
  110. package/dist/components/Popover/Popover.d.ts +0 -44
  111. package/dist/components/Popover/Popover.d.ts.map +0 -1
  112. package/dist/components/Popover/Popover.js +0 -46
  113. package/dist/components/Popover/index.d.ts +0 -3
  114. package/dist/components/Popover/index.d.ts.map +0 -1
  115. package/dist/components/Popover/index.js +0 -1
  116. package/dist/components/Radio/Radio.d.ts +0 -18
  117. package/dist/components/Radio/Radio.d.ts.map +0 -1
  118. package/dist/components/Radio/Radio.js +0 -43
  119. package/dist/components/Radio/index.d.ts +0 -3
  120. package/dist/components/Radio/index.d.ts.map +0 -1
  121. package/dist/components/Radio/index.js +0 -1
  122. package/dist/components/Select/Select.d.ts +0 -17
  123. package/dist/components/Select/Select.d.ts.map +0 -1
  124. package/dist/components/Select/Select.js +0 -42
  125. package/dist/components/Select/index.d.ts +0 -3
  126. package/dist/components/Select/index.d.ts.map +0 -1
  127. package/dist/components/Select/index.js +0 -1
  128. package/dist/components/Spinner/Spinner.d.ts +0 -10
  129. package/dist/components/Spinner/Spinner.d.ts.map +0 -1
  130. package/dist/components/Spinner/Spinner.js +0 -12
  131. package/dist/components/Spinner/index.d.ts +0 -3
  132. package/dist/components/Spinner/index.d.ts.map +0 -1
  133. package/dist/components/Spinner/index.js +0 -1
  134. package/dist/components/Switch/Switch.d.ts +0 -12
  135. package/dist/components/Switch/Switch.d.ts.map +0 -1
  136. package/dist/components/Switch/Switch.js +0 -34
  137. package/dist/components/Switch/index.d.ts +0 -3
  138. package/dist/components/Switch/index.d.ts.map +0 -1
  139. package/dist/components/Switch/index.js +0 -1
  140. package/dist/components/Table/Table.d.ts +0 -13
  141. package/dist/components/Table/Table.d.ts.map +0 -1
  142. package/dist/components/Table/Table.js +0 -61
  143. package/dist/components/Table/index.d.ts +0 -3
  144. package/dist/components/Table/index.d.ts.map +0 -1
  145. package/dist/components/Table/index.js +0 -1
  146. package/dist/components/Tabs/Tabs.d.ts +0 -32
  147. package/dist/components/Tabs/Tabs.d.ts.map +0 -1
  148. package/dist/components/Tabs/Tabs.js +0 -100
  149. package/dist/components/Tabs/index.d.ts +0 -3
  150. package/dist/components/Tabs/index.d.ts.map +0 -1
  151. package/dist/components/Tabs/index.js +0 -1
  152. package/dist/components/Toast/Toast.d.ts +0 -33
  153. package/dist/components/Toast/Toast.d.ts.map +0 -1
  154. package/dist/components/Toast/Toast.js +0 -102
  155. package/dist/components/Toast/index.d.ts +0 -3
  156. package/dist/components/Toast/index.d.ts.map +0 -1
  157. package/dist/components/Toast/index.js +0 -1
  158. package/dist/components/ToggleButton/ToggleButton.d.ts +0 -13
  159. package/dist/components/ToggleButton/ToggleButton.d.ts.map +0 -1
  160. package/dist/components/ToggleButton/ToggleButton.js +0 -42
  161. package/dist/components/ToggleButton/index.d.ts +0 -3
  162. package/dist/components/ToggleButton/index.d.ts.map +0 -1
  163. package/dist/components/ToggleButton/index.js +0 -1
  164. package/dist/components/Tooltip/Tooltip.d.ts +0 -15
  165. package/dist/components/Tooltip/Tooltip.d.ts.map +0 -1
  166. package/dist/components/Tooltip/Tooltip.js +0 -20
  167. package/dist/components/Tooltip/index.d.ts +0 -3
  168. package/dist/components/Tooltip/index.d.ts.map +0 -1
  169. package/dist/components/Tooltip/index.js +0 -1
  170. package/dist/components/_shared/styles.d.ts +0 -5
  171. package/dist/components/_shared/styles.d.ts.map +0 -1
  172. package/dist/components/_shared/styles.js +0 -43
  173. package/dist/index.d.ts.map +0 -1
  174. package/dist/test-setup.d.ts +0 -2
  175. package/dist/test-setup.d.ts.map +0 -1
  176. package/dist/test-setup.js +0 -1
  177. package/dist/tokens/tokens.d.ts +0 -144
  178. package/dist/tokens/tokens.d.ts.map +0 -1
  179. package/dist/tokens/tokens.js +0 -143
@@ -1,19 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Checkbox as AriaCheckbox, } from "react-aria-components";
3
- import { Check } from "lucide-react";
4
- export function Checkbox({ children, className, ...props }) {
5
- return (_jsx(AriaCheckbox, { ...props, className: [
6
- "group flex items-center gap-2 text-[length:var(--font-size-sm)] text-[var(--color-text-primary)] cursor-pointer",
7
- "disabled:opacity-50 disabled:cursor-default",
8
- className,
9
- ]
10
- .filter(Boolean)
11
- .join(" "), children: ({ isSelected, isIndeterminate }) => (_jsxs(_Fragment, { children: [_jsxs("div", { className: [
12
- "flex items-center justify-center w-6 h-6 shrink-0",
13
- "rounded-[var(--border-radius-sm)] border transition-colors",
14
- "group-focus-visible:ring-2 group-focus-visible:ring-[var(--color-border-focus)] group-focus-visible:ring-offset-2",
15
- isSelected || isIndeterminate
16
- ? "bg-[var(--color-action-primary)] border-[var(--color-action-primary)]"
17
- : "bg-[var(--color-surface-default)] border-[var(--color-border-default)] group-hover:border-[var(--color-border-strong)]",
18
- ].join(" "), children: [isSelected && (_jsx(Check, { className: "w-4 h-4 text-[var(--color-text-inverse)]", strokeWidth: 3 })), isIndeterminate && (_jsx("div", { className: "w-3 h-0.5 bg-[var(--color-text-inverse)] rounded-full" }))] }), children && _jsx("span", { children: children })] })) }));
19
- }
@@ -1,3 +0,0 @@
1
- export { Checkbox } from "./Checkbox";
2
- export type { CheckboxProps } from "./Checkbox";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- export { Checkbox } from "./Checkbox";
@@ -1,11 +0,0 @@
1
- import type React from "react";
2
- export interface DialogProps {
3
- isOpen: boolean;
4
- onOpenChange: (isOpen: boolean) => void;
5
- title: string;
6
- size?: "sm" | "md" | "lg" | "xl";
7
- children: React.ReactNode;
8
- className?: string;
9
- }
10
- export declare function Dialog({ isOpen, onOpenChange, title, size, children, className, }: DialogProps): import("react/jsx-runtime").JSX.Element;
11
- //# sourceMappingURL=Dialog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,YAAY,EACZ,KAAK,EACL,IAAW,EACX,QAAQ,EACR,SAAS,GACV,EAAE,WAAW,2CAwDb"}
@@ -1,31 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Modal, ModalOverlay, Dialog as AriaDialog, Heading, } from "react-aria-components";
3
- import { X } from "lucide-react";
4
- const sizeStyles = {
5
- sm: "max-w-md",
6
- md: "max-w-lg",
7
- lg: "max-w-2xl",
8
- xl: "max-w-4xl",
9
- };
10
- export function Dialog({ isOpen, onOpenChange, title, size = "md", children, className, }) {
11
- return (_jsx(ModalOverlay, { isOpen: isOpen, onOpenChange: onOpenChange, isDismissable: true, className: [
12
- "fixed inset-0 z-50 bg-[var(--color-overlay-backdrop)] backdrop-blur-sm",
13
- "flex items-center justify-center",
14
- "data-[entering]:animate-in data-[entering]:fade-in",
15
- "data-[exiting]:animate-out data-[exiting]:fade-out",
16
- ].join(" "), children: _jsx(Modal, { className: [
17
- "w-full mx-4",
18
- sizeStyles[size],
19
- "bg-[var(--color-surface-default)] rounded-lg shadow-xl max-h-[85vh] flex flex-col",
20
- "data-[entering]:animate-in data-[entering]:zoom-in-95 data-[entering]:fade-in",
21
- "data-[exiting]:animate-out data-[exiting]:zoom-out-95 data-[exiting]:fade-out",
22
- className,
23
- ]
24
- .filter(Boolean)
25
- .join(" "), children: _jsx(AriaDialog, { className: "outline-none flex flex-col max-h-[85vh]", children: ({ close }) => (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between px-6 py-4 border-b border-[var(--color-border-default)]", children: [_jsx(Heading, { slot: "title", className: "text-lg font-semibold text-[var(--color-text-primary)]", children: title }), _jsx("button", { type: "button", onClick: close, className: [
26
- "inline-flex items-center justify-center rounded-md p-1",
27
- "text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)] hover:bg-[var(--color-surface-muted)]",
28
- "outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2",
29
- "transition-colors",
30
- ].join(" "), "aria-label": "Close", children: _jsx(X, { size: 20, "aria-hidden": "true" }) })] }), _jsx("div", { className: "px-6 py-4 overflow-y-auto", children: children })] })) }) }) }));
31
- }
@@ -1,3 +0,0 @@
1
- export { Dialog } from "./Dialog";
2
- export type { DialogProps } from "./Dialog";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- export { Dialog } from "./Dialog";
@@ -1,11 +0,0 @@
1
- import type React from "react";
2
- import type { LucideIcon } from "lucide-react";
3
- export interface EmptyStateProps {
4
- icon?: LucideIcon;
5
- title: string;
6
- description?: string;
7
- action?: React.ReactNode;
8
- className?: string;
9
- }
10
- export declare function EmptyState({ icon, title, description, action, className, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
11
- //# sourceMappingURL=EmptyState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE,eAAe,2CAwBjB"}
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Icon } from "../Icon";
3
- export function EmptyState({ icon, title, description, action, className, }) {
4
- return (_jsxs("div", { className: [
5
- "flex flex-col items-center text-center py-12 px-6",
6
- className,
7
- ]
8
- .filter(Boolean)
9
- .join(" "), children: [icon && (_jsx(Icon, { icon: icon, size: "xl", className: "text-[var(--color-text-tertiary)]" })), _jsx("h3", { className: "text-lg font-semibold text-[var(--color-text-primary)] mt-4", children: title }), description && (_jsx("p", { className: "text-sm text-[var(--color-text-secondary)] mt-2 max-w-sm", children: description })), action && _jsx("div", { className: "mt-6", children: action })] }));
10
- }
@@ -1,3 +0,0 @@
1
- export { EmptyState } from "./EmptyState";
2
- export type { EmptyStateProps } from "./EmptyState";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- export { EmptyState } from "./EmptyState";
@@ -1,13 +0,0 @@
1
- import type React from "react";
2
- export interface FieldProps {
3
- label?: string;
4
- isRequired?: boolean;
5
- description?: string;
6
- error?: string | {
7
- message?: string;
8
- };
9
- children: React.ReactNode;
10
- className?: string;
11
- }
12
- export declare function Field({ label, isRequired, description, error, children, className, }: FieldProps): import("react/jsx-runtime").JSX.Element;
13
- //# sourceMappingURL=Field.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,UAAU,2CAuBZ"}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Label } from "../Label";
3
- function getErrorMessage(error) {
4
- if (!error)
5
- return undefined;
6
- if (typeof error === "string")
7
- return error;
8
- return error.message;
9
- }
10
- export function Field({ label, isRequired, description, error, children, className, }) {
11
- const errorMessage = getErrorMessage(error);
12
- return (_jsxs("div", { className: ["flex flex-col gap-[var(--spacing-1)]", className]
13
- .filter(Boolean)
14
- .join(" "), children: [label && _jsx(Label, { isRequired: isRequired, children: label }), children, description && !errorMessage && (_jsx("p", { className: "text-[length:var(--font-size-sm)] text-[var(--color-text-secondary)]", children: description })), errorMessage && (_jsx("p", { className: "text-[length:var(--font-size-sm)] text-[var(--color-text-danger)]", children: errorMessage }))] }));
15
- }
@@ -1,3 +0,0 @@
1
- export { Field } from "./Field";
2
- export type { FieldProps } from "./Field";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- export { Field } from "./Field";
@@ -1,8 +0,0 @@
1
- import type React from "react";
2
- export interface FieldsetProps {
3
- legend?: string;
4
- children: React.ReactNode;
5
- className?: string;
6
- }
7
- export declare function Fieldset({ legend, children, className }: FieldsetProps): import("react/jsx-runtime").JSX.Element;
8
- //# sourceMappingURL=Fieldset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Fieldset.d.ts","sourceRoot":"","sources":["../../../src/components/Fieldset/Fieldset.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,aAAa,2CA0BtE"}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function Fieldset({ legend, children, className }) {
3
- return (_jsxs("fieldset", { className: [
4
- "flex flex-col gap-[var(--spacing-8)]",
5
- "border-none p-0 m-0",
6
- className,
7
- ]
8
- .filter(Boolean)
9
- .join(" "), children: [legend && (_jsx("legend", { className: [
10
- "text-[length:var(--font-size-lg)]",
11
- "font-[number:var(--font-weight-semibold)]",
12
- "text-[var(--color-text-primary)]",
13
- "p-0",
14
- ].join(" "), children: legend })), children] }));
15
- }
@@ -1,3 +0,0 @@
1
- export { Fieldset } from "./Fieldset";
2
- export type { FieldsetProps } from "./Fieldset";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Fieldset/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- export { Fieldset } from "./Fieldset";
@@ -1,19 +0,0 @@
1
- import type React from "react";
2
- export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
3
- export type HeadingSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
4
- export interface HeadingProps {
5
- /** HTML heading element to render */
6
- as?: HeadingLevel;
7
- /** Visual size (defaults to match the `as` level) */
8
- size?: HeadingSize;
9
- children: React.ReactNode;
10
- className?: string;
11
- }
12
- export declare function Heading({ as: Tag, size, className, children, }: HeadingProps): import("react/jsx-runtime").JSX.Element;
13
- /** Convenience: renders `<h1>` at 2xl size */
14
- export declare function H1(props: Omit<HeadingProps, "as">): import("react/jsx-runtime").JSX.Element;
15
- /** Convenience: renders `<h2>` at xl size */
16
- export declare function H2(props: Omit<HeadingProps, "as">): import("react/jsx-runtime").JSX.Element;
17
- /** Convenience: renders `<h3>` at lg size */
18
- export declare function H3(props: Omit<HeadingProps, "as">): import("react/jsx-runtime").JSX.Element;
19
- //# sourceMappingURL=Heading.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../../src/components/Heading/Heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACnE,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,qDAAqD;IACrD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,wBAAgB,OAAO,CAAC,EACtB,EAAE,EAAE,GAAU,EACd,IAAI,EACJ,SAAS,EACT,QAAQ,GACT,EAAE,YAAY,2CAgBd;AAED,8CAA8C;AAC9C,wBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,2CAEjD;AAED,6CAA6C;AAC7C,wBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,2CAEjD;AAED,6CAA6C;AAC7C,wBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,2CAEjD"}
@@ -1,39 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- const defaultSizeMap = {
3
- h1: "2xl",
4
- h2: "xl",
5
- h3: "lg",
6
- h4: "md",
7
- h5: "sm",
8
- h6: "xs",
9
- };
10
- const sizeStyles = {
11
- xs: "text-sm",
12
- sm: "text-base",
13
- md: "text-lg",
14
- lg: "text-xl",
15
- xl: "text-2xl",
16
- "2xl": "text-3xl",
17
- };
18
- export function Heading({ as: Tag = "h2", size, className, children, }) {
19
- const resolvedSize = size ?? defaultSizeMap[Tag];
20
- return (_jsx(Tag, { className: [
21
- "font-semibold text-[var(--color-text-primary)]",
22
- sizeStyles[resolvedSize],
23
- className,
24
- ]
25
- .filter(Boolean)
26
- .join(" "), children: children }));
27
- }
28
- /** Convenience: renders `<h1>` at 2xl size */
29
- export function H1(props) {
30
- return _jsx(Heading, { ...props, as: "h1", size: props.size ?? "2xl" });
31
- }
32
- /** Convenience: renders `<h2>` at xl size */
33
- export function H2(props) {
34
- return _jsx(Heading, { ...props, as: "h2", size: props.size ?? "xl" });
35
- }
36
- /** Convenience: renders `<h3>` at lg size */
37
- export function H3(props) {
38
- return _jsx(Heading, { ...props, as: "h3", size: props.size ?? "lg" });
39
- }
@@ -1,3 +0,0 @@
1
- export { Heading, H1, H2, H3 } from "./Heading";
2
- export type { HeadingProps, HeadingLevel, HeadingSize } from "./Heading";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Heading/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- export { Heading, H1, H2, H3 } from "./Heading";
@@ -1,15 +0,0 @@
1
- import type { LucideIcon } from "lucide-react";
2
- export interface IconProps {
3
- /** A Lucide icon component */
4
- icon: LucideIcon;
5
- /** Size preset */
6
- size?: "sm" | "md" | "lg" | "xl";
7
- /** SVG stroke width */
8
- strokeWidth?: number;
9
- /** Accessible label — when provided, the icon is treated as meaningful */
10
- "aria-label"?: string;
11
- /** Additional CSS classes */
12
- className?: string;
13
- }
14
- export declare function Icon({ icon: LucideComponent, size, strokeWidth, "aria-label": ariaLabel, className, }: IconProps): import("react/jsx-runtime").JSX.Element;
15
- //# sourceMappingURL=Icon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,IAAI,CAAC,EACnB,IAAI,EAAE,eAAe,EACrB,IAAW,EACX,WAAW,EACX,YAAY,EAAE,SAAS,EACvB,SAAS,GACV,EAAE,SAAS,2CAaX"}
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- const sizeMap = {
3
- sm: 16,
4
- md: 20,
5
- lg: 24,
6
- xl: 32,
7
- };
8
- export function Icon({ icon: LucideComponent, size = "md", strokeWidth, "aria-label": ariaLabel, className, }) {
9
- const isDecorative = !ariaLabel;
10
- return (_jsx(LucideComponent, { size: sizeMap[size], strokeWidth: strokeWidth, role: isDecorative ? undefined : "img", "aria-label": ariaLabel, "aria-hidden": isDecorative ? "true" : undefined, className: className }));
11
- }
@@ -1,3 +0,0 @@
1
- export { Icon } from "./Icon";
2
- export type { IconProps } from "./Icon";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
@@ -1 +0,0 @@
1
- export { Icon } from "./Icon";
@@ -1,23 +0,0 @@
1
- import type { LucideIcon } from "lucide-react";
2
- import { type ButtonProps as AriaButtonProps } from "react-aria-components";
3
- import { type ButtonVariant } from "../_shared/styles";
4
- export interface IconButtonProps extends Omit<AriaButtonProps, "className"> {
5
- /** Lucide icon to render */
6
- icon: LucideIcon;
7
- /** Required for accessibility — also used as tooltip content */
8
- "aria-label": string;
9
- /** Visual style variant */
10
- variant?: ButtonVariant;
11
- /** Size preset */
12
- size?: "sm" | "md" | "lg";
13
- /** Show tooltip on hover (default true) */
14
- showTooltip?: boolean;
15
- /** Tooltip placement */
16
- tooltipPlacement?: "top" | "bottom" | "left" | "right";
17
- /** Shows a spinner and disables interaction */
18
- isLoading?: boolean;
19
- /** Additional CSS classes */
20
- className?: string;
21
- }
22
- export declare function IconButton({ icon, "aria-label": ariaLabel, variant, size, showTooltip, tooltipPlacement, isLoading, isDisabled, className, ...props }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
23
- //# sourceMappingURL=IconButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/IconButton/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,KAAK,WAAW,IAAI,eAAe,EACpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,mBAAmB,CAAC;AAMtE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;IACzE,4BAA4B;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACvD,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,OAAiB,EACjB,IAAW,EACX,WAAkB,EAClB,gBAAwB,EACxB,SAAiB,EACjB,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,2CAqDjB"}
@@ -1,59 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Button as AriaButton, } from "react-aria-components";
3
- import { variantStyles } from "../_shared/styles";
4
- import { Icon } from "../Icon";
5
- import { Spinner } from "../Spinner";
6
- import { Tooltip } from "../Tooltip";
7
- import { useInputGroup } from "../InputGroup/InputGroupContext";
8
- const squareSizeStyles = {
9
- sm: "h-8 w-8",
10
- md: "h-10 w-10",
11
- lg: "h-12 w-12",
12
- };
13
- const iconSizeMap = {
14
- sm: "sm",
15
- md: "sm",
16
- lg: "md",
17
- };
18
- function groupRadiusClass(position) {
19
- switch (position) {
20
- case "start":
21
- return "rounded-l-[var(--border-radius-md)] rounded-r-none";
22
- case "middle":
23
- return "rounded-none";
24
- case "end":
25
- return "rounded-r-[var(--border-radius-md)] rounded-l-none";
26
- default:
27
- return "rounded-[var(--border-radius-md)]";
28
- }
29
- }
30
- export function IconButton({ icon, "aria-label": ariaLabel, variant = "ghost", size = "md", showTooltip = true, tooltipPlacement = "top", isLoading = false, isDisabled, className, ...props }) {
31
- const { inGroup, position } = useInputGroup();
32
- const radiusClass = inGroup
33
- ? groupRadiusClass(position)
34
- : "rounded-[var(--border-radius-md)]";
35
- const marginClass = inGroup && position !== "start" && position !== "standalone"
36
- ? "-ml-px"
37
- : "";
38
- const focusRing = inGroup
39
- ? "focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-0 focus-visible:z-10"
40
- : "focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2";
41
- const button = (_jsx(AriaButton, { ...props, "aria-label": ariaLabel, isDisabled: isDisabled || isLoading, className: [
42
- "inline-flex items-center justify-center shrink-0",
43
- radiusClass,
44
- "outline-none transition-colors",
45
- focusRing,
46
- "disabled:opacity-50 disabled:pointer-events-none",
47
- isLoading ? "pointer-events-none" : "",
48
- variantStyles[variant],
49
- squareSizeStyles[size],
50
- marginClass,
51
- className,
52
- ]
53
- .filter(Boolean)
54
- .join(" "), children: isLoading ? (_jsx(Spinner, { size: iconSizeMap[size] })) : (_jsx(Icon, { icon: icon, size: iconSizeMap[size] })) }));
55
- if (showTooltip) {
56
- return (_jsx(Tooltip, { content: ariaLabel, placement: tooltipPlacement, children: button }));
57
- }
58
- return button;
59
- }
@@ -1,3 +0,0 @@
1
- export { IconButton } from "./IconButton";
2
- export type { IconButtonProps } from "./IconButton";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/IconButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- export { IconButton } from "./IconButton";
@@ -1,23 +0,0 @@
1
- import { type TextFieldProps } from "react-aria-components";
2
- export interface InputProps extends Omit<TextFieldProps, "children" | "className"> {
3
- /** Label text displayed above the input. Omit for raw input mode. */
4
- label?: string;
5
- /** Placeholder text shown when the input is empty */
6
- placeholder?: string;
7
- /** Help text shown below the input */
8
- description?: string;
9
- /** Error message shown below the input (triggers error styling) */
10
- errorMessage?: string;
11
- /** HTML input type */
12
- type?: "text" | "email" | "password" | "number";
13
- /** Controls padding and font size */
14
- size?: "sm" | "md" | "lg";
15
- /** Text prefix shown inside the input on the left (e.g., "$", "https://") */
16
- prefix?: string;
17
- /** Text alignment within the input */
18
- align?: "left" | "center" | "right";
19
- /** Additional CSS class for the outer wrapper */
20
- className?: string;
21
- }
22
- export declare function Input({ label, placeholder, description, errorMessage, type, size, prefix, align, isDisabled, isRequired, className, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
23
- //# sourceMappingURL=Input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAqB/B,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,WAAW,CAAC;IACtD,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAChD,qCAAqC;IACrC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqBD,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,IAAa,EACb,IAAW,EACX,MAAM,EACN,KAAc,EACd,UAAU,EACV,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,UAAU,2CAkIZ"}
@@ -1,97 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { TextField, Label, Input as AriaInput, Text, } from "react-aria-components";
3
- import { useInputGroup } from "../InputGroup/InputGroupContext";
4
- const sizeClasses = {
5
- sm: "px-3 py-1.5 text-sm",
6
- md: "px-4 py-2 text-base",
7
- lg: "px-4 py-3 text-lg",
8
- };
9
- const prefixSizeClasses = {
10
- sm: "px-3 text-sm",
11
- md: "px-3 text-base",
12
- lg: "px-4 text-lg",
13
- };
14
- const alignClasses = {
15
- left: "text-left",
16
- center: "text-center",
17
- right: "text-right",
18
- };
19
- /**
20
- * Returns Tailwind border-radius classes for the border-bearing element
21
- * based on InputGroup position context.
22
- */
23
- function groupRadiusClasses(position) {
24
- switch (position) {
25
- case "start":
26
- return "rounded-l-[var(--border-radius-md)] rounded-r-none";
27
- case "middle":
28
- return "rounded-none";
29
- case "end":
30
- return "rounded-r-[var(--border-radius-md)] rounded-l-none";
31
- default:
32
- return "rounded-[var(--border-radius-md)]";
33
- }
34
- }
35
- export function Input({ label, placeholder, description, errorMessage, type = "text", size = "md", prefix, align = "left", isDisabled, isRequired, className, ...props }) {
36
- const isInvalid = !!errorMessage;
37
- const { inGroup, position } = useInputGroup();
38
- const borderColor = isInvalid
39
- ? "border-[var(--color-border-danger)]"
40
- : "border-[var(--color-border-default)] hover:border-[var(--color-border-strong)]";
41
- const radiusClass = inGroup
42
- ? groupRadiusClasses(position)
43
- : "rounded-[var(--border-radius-md)]";
44
- /** When not first in a group, overlap left border with previous sibling */
45
- const marginClass = inGroup && position !== "start" && position !== "standalone" ? "-ml-px" : "";
46
- return (_jsxs(TextField, { ...props, type: type, isDisabled: isDisabled, isRequired: isRequired, isInvalid: isInvalid, className: [
47
- "flex flex-col gap-[var(--spacing-1)]",
48
- inGroup ? "min-w-0 flex-1" : "",
49
- marginClass,
50
- className,
51
- ]
52
- .filter(Boolean)
53
- .join(" "), children: [label && (_jsxs(Label, { className: [
54
- "text-[length:var(--font-size-sm)]",
55
- "font-[number:var(--font-weight-medium)]",
56
- "text-[var(--color-text-primary)]",
57
- ].join(" "), children: [label, isRequired && (_jsx("span", { "aria-hidden": "true", className: "ml-0.5 text-[var(--color-text-danger)]", children: "*" }))] })), prefix ? (_jsxs("div", { className: [
58
- "flex items-center overflow-hidden",
59
- radiusClass,
60
- "border",
61
- "bg-[var(--color-surface-default)]",
62
- "outline-none transition-colors",
63
- borderColor,
64
- "focus-within:ring-2 focus-within:ring-[var(--color-border-focus)] focus-within:border-[var(--color-border-focus)]",
65
- inGroup ? "focus-within:z-10" : "",
66
- isDisabled ? "opacity-50 pointer-events-none" : "",
67
- ]
68
- .filter(Boolean)
69
- .join(" "), children: [_jsx("span", { className: [
70
- "self-stretch flex items-center shrink-0 select-none",
71
- "bg-[var(--color-surface-subtle)]",
72
- "border-r border-r-[var(--color-border-default)]",
73
- "text-[var(--color-text-secondary)]",
74
- prefixSizeClasses[size],
75
- ].join(" "), children: prefix }), _jsx(AriaInput, { placeholder: placeholder, className: [
76
- "w-full bg-transparent",
77
- sizeClasses[size],
78
- alignClasses[align],
79
- "text-[var(--color-text-primary)]",
80
- "placeholder:text-[var(--color-text-tertiary)]",
81
- "outline-none border-none",
82
- ].join(" ") })] })) : (_jsx(AriaInput, { placeholder: placeholder, className: [
83
- "w-full",
84
- sizeClasses[size],
85
- alignClasses[align],
86
- radiusClass,
87
- "border",
88
- "text-[var(--color-text-primary)]",
89
- "bg-[var(--color-surface-default)]",
90
- "placeholder:text-[var(--color-text-tertiary)]",
91
- "outline-none transition-colors",
92
- borderColor,
93
- "focus:ring-2 focus:ring-[var(--color-border-focus)] focus:border-[var(--color-border-focus)]",
94
- inGroup ? "focus:z-10" : "",
95
- "disabled:opacity-50 disabled:pointer-events-none",
96
- ].join(" ") })), description && !isInvalid && (_jsx(Text, { slot: "description", className: "text-[length:var(--font-size-sm)] text-[var(--color-text-secondary)]", children: description })), isInvalid && (_jsx(Text, { slot: "errorMessage", className: "text-[length:var(--font-size-sm)] text-[var(--color-text-danger)]", children: errorMessage }))] }));
97
- }
@@ -1,3 +0,0 @@
1
- export { Input } from "./Input";
2
- export type { InputProps } from "./Input";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- export { Input } from "./Input";
@@ -1,7 +0,0 @@
1
- import type React from "react";
2
- export interface InputAddonProps {
3
- children: React.ReactNode;
4
- className?: string;
5
- }
6
- export declare function InputAddon({ children, className }: InputAddonProps): import("react/jsx-runtime").JSX.Element;
7
- //# sourceMappingURL=InputAddon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputAddon.d.ts","sourceRoot":"","sources":["../../../src/components/InputAddon/InputAddon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiBD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,2CA8BlE"}