kaze-design-system 0.1.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 (202) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +143 -0
  3. package/components.css +3738 -0
  4. package/dist/components/Alert/Alert.js +25 -0
  5. package/dist/components/Avatar/Avatar.js +23 -0
  6. package/dist/components/Badge/Badge.js +29 -0
  7. package/dist/components/BarChart/BarChart.js +29 -0
  8. package/dist/components/BarList/BarList.js +51 -0
  9. package/dist/components/Breadcrumb/Breadcrumb.js +12 -0
  10. package/dist/components/Button/Button.js +38 -0
  11. package/dist/components/CTABanner/CTABanner.js +16 -0
  12. package/dist/components/Card/Card.js +59 -0
  13. package/dist/components/Checkbox/Checkbox.js +26 -0
  14. package/dist/components/CommandPalette/CommandPalette.js +202 -0
  15. package/dist/components/DescriptionList/DescriptionList.js +29 -0
  16. package/dist/components/Dialog/Dialog.js +131 -0
  17. package/dist/components/Divider/Divider.js +30 -0
  18. package/dist/components/DonutChart/DonutChart.js +88 -0
  19. package/dist/components/Dropdown/Dropdown.js +253 -0
  20. package/dist/components/EmptyState/EmptyState.js +15 -0
  21. package/dist/components/FAB/FAB.js +40 -0
  22. package/dist/components/FAQ/FAQ.js +64 -0
  23. package/dist/components/FeatureGrid/FeatureGrid.js +35 -0
  24. package/dist/components/FormField/FormField.js +53 -0
  25. package/dist/components/Grid/Grid.js +52 -0
  26. package/dist/components/Heading/Heading.js +29 -0
  27. package/dist/components/Hero/Hero.js +40 -0
  28. package/dist/components/Icon/Icon.js +30 -0
  29. package/dist/components/Input/Input.js +20 -0
  30. package/dist/components/LPFooter/LPFooter.js +36 -0
  31. package/dist/components/Layout/Layout.js +18 -0
  32. package/dist/components/List/List.js +60 -0
  33. package/dist/components/Logo/Logo.js +70 -0
  34. package/dist/components/Meter/Meter.js +83 -0
  35. package/dist/components/Metric/Metric.js +31 -0
  36. package/dist/components/Navbar/Navbar.js +56 -0
  37. package/dist/components/NumberField/NumberField.js +173 -0
  38. package/dist/components/Pagination/Pagination.js +79 -0
  39. package/dist/components/Pricing/Pricing.js +78 -0
  40. package/dist/components/Progress/Progress.js +54 -0
  41. package/dist/components/Radio/Radio.js +60 -0
  42. package/dist/components/Search/Search.js +61 -0
  43. package/dist/components/Section/Section.js +43 -0
  44. package/dist/components/Select/Select.js +21 -0
  45. package/dist/components/Sidebar/Sidebar.js +44 -0
  46. package/dist/components/Skeleton/Skeleton.js +19 -0
  47. package/dist/components/Sparkline/Sparkline.js +47 -0
  48. package/dist/components/SplitSection/SplitSection.js +30 -0
  49. package/dist/components/Stats/Stats.js +22 -0
  50. package/dist/components/Stepper/Stepper.js +48 -0
  51. package/dist/components/Switch/Switch.js +28 -0
  52. package/dist/components/Table/Table.js +54 -0
  53. package/dist/components/Tabs/Tabs.js +119 -0
  54. package/dist/components/Testimonial/Testimonial.js +34 -0
  55. package/dist/components/Text/Text.js +37 -0
  56. package/dist/components/Textarea/Textarea.js +20 -0
  57. package/dist/components/Timeline/Timeline.js +28 -0
  58. package/dist/components/Toast/Toast.js +161 -0
  59. package/dist/components/Tooltip/Tooltip.js +131 -0
  60. package/dist/components/TopBar/TopBar.js +23 -0
  61. package/dist/components/Tracker/Tracker.js +29 -0
  62. package/dist/components/Watermark/Watermark.js +80 -0
  63. package/dist/hooks/useFocusTrap.js +58 -0
  64. package/dist/hooks/useTheme.js +84 -0
  65. package/dist/hooks.js +8 -0
  66. package/dist/index.js +159 -0
  67. package/dist/lib/chartColors.js +11 -0
  68. package/dist/lib/utils.js +6 -0
  69. package/dist/tokens.js +73 -0
  70. package/dist/types/components/Alert/Alert.d.ts +9 -0
  71. package/dist/types/components/Alert/index.d.ts +2 -0
  72. package/dist/types/components/Avatar/Avatar.d.ts +9 -0
  73. package/dist/types/components/Avatar/index.d.ts +2 -0
  74. package/dist/types/components/Badge/Badge.d.ts +11 -0
  75. package/dist/types/components/Badge/index.d.ts +2 -0
  76. package/dist/types/components/BarChart/BarChart.d.ts +14 -0
  77. package/dist/types/components/BarChart/index.d.ts +2 -0
  78. package/dist/types/components/BarList/BarList.d.ts +24 -0
  79. package/dist/types/components/BarList/index.d.ts +2 -0
  80. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +13 -0
  81. package/dist/types/components/Breadcrumb/index.d.ts +2 -0
  82. package/dist/types/components/Button/Button.d.ts +10 -0
  83. package/dist/types/components/Button/index.d.ts +2 -0
  84. package/dist/types/components/CTABanner/CTABanner.d.ts +6 -0
  85. package/dist/types/components/CTABanner/index.d.ts +2 -0
  86. package/dist/types/components/Card/Card.d.ts +21 -0
  87. package/dist/types/components/Card/index.d.ts +2 -0
  88. package/dist/types/components/Checkbox/Checkbox.d.ts +5 -0
  89. package/dist/types/components/Checkbox/index.d.ts +2 -0
  90. package/dist/types/components/CommandPalette/CommandPalette.d.ts +21 -0
  91. package/dist/types/components/CommandPalette/index.d.ts +2 -0
  92. package/dist/types/components/DescriptionList/DescriptionList.d.ts +12 -0
  93. package/dist/types/components/DescriptionList/index.d.ts +2 -0
  94. package/dist/types/components/Dialog/Dialog.d.ts +20 -0
  95. package/dist/types/components/Dialog/index.d.ts +2 -0
  96. package/dist/types/components/Divider/Divider.d.ts +6 -0
  97. package/dist/types/components/Divider/index.d.ts +2 -0
  98. package/dist/types/components/DonutChart/DonutChart.d.ts +16 -0
  99. package/dist/types/components/DonutChart/index.d.ts +2 -0
  100. package/dist/types/components/Dropdown/Dropdown.d.ts +24 -0
  101. package/dist/types/components/Dropdown/index.d.ts +2 -0
  102. package/dist/types/components/EmptyState/EmptyState.d.ts +8 -0
  103. package/dist/types/components/EmptyState/index.d.ts +2 -0
  104. package/dist/types/components/FAB/FAB.d.ts +14 -0
  105. package/dist/types/components/FAB/index.d.ts +2 -0
  106. package/dist/types/components/FAQ/FAQ.d.ts +9 -0
  107. package/dist/types/components/FAQ/index.d.ts +2 -0
  108. package/dist/types/components/FeatureGrid/FeatureGrid.d.ts +12 -0
  109. package/dist/types/components/FeatureGrid/index.d.ts +2 -0
  110. package/dist/types/components/FormField/FormField.d.ts +18 -0
  111. package/dist/types/components/FormField/index.d.ts +2 -0
  112. package/dist/types/components/Grid/Grid.d.ts +21 -0
  113. package/dist/types/components/Grid/index.d.ts +2 -0
  114. package/dist/types/components/Heading/Heading.d.ts +10 -0
  115. package/dist/types/components/Heading/index.d.ts +2 -0
  116. package/dist/types/components/Hero/Hero.d.ts +13 -0
  117. package/dist/types/components/Hero/index.d.ts +2 -0
  118. package/dist/types/components/Icon/Icon.d.ts +12 -0
  119. package/dist/types/components/Icon/index.d.ts +2 -0
  120. package/dist/types/components/Input/Input.d.ts +7 -0
  121. package/dist/types/components/Input/index.d.ts +2 -0
  122. package/dist/types/components/LPFooter/LPFooter.d.ts +16 -0
  123. package/dist/types/components/LPFooter/index.d.ts +2 -0
  124. package/dist/types/components/Layout/Layout.d.ts +7 -0
  125. package/dist/types/components/Layout/index.d.ts +2 -0
  126. package/dist/types/components/List/List.d.ts +18 -0
  127. package/dist/types/components/List/index.d.ts +2 -0
  128. package/dist/types/components/Logo/Logo.d.ts +6 -0
  129. package/dist/types/components/Logo/index.d.ts +2 -0
  130. package/dist/types/components/Meter/Meter.d.ts +23 -0
  131. package/dist/types/components/Meter/index.d.ts +2 -0
  132. package/dist/types/components/Metric/Metric.d.ts +12 -0
  133. package/dist/types/components/Metric/index.d.ts +2 -0
  134. package/dist/types/components/Navbar/Navbar.d.ts +16 -0
  135. package/dist/types/components/Navbar/index.d.ts +2 -0
  136. package/dist/types/components/NumberField/NumberField.d.ts +35 -0
  137. package/dist/types/components/NumberField/index.d.ts +2 -0
  138. package/dist/types/components/Pagination/Pagination.d.ts +14 -0
  139. package/dist/types/components/Pagination/index.d.ts +2 -0
  140. package/dist/types/components/Pricing/Pricing.d.ts +14 -0
  141. package/dist/types/components/Pricing/index.d.ts +2 -0
  142. package/dist/types/components/Progress/Progress.d.ts +12 -0
  143. package/dist/types/components/Progress/index.d.ts +2 -0
  144. package/dist/types/components/Radio/Radio.d.ts +13 -0
  145. package/dist/types/components/Radio/index.d.ts +2 -0
  146. package/dist/types/components/Search/Search.d.ts +13 -0
  147. package/dist/types/components/Search/index.d.ts +2 -0
  148. package/dist/types/components/Section/Section.d.ts +13 -0
  149. package/dist/types/components/Section/index.d.ts +2 -0
  150. package/dist/types/components/Select/Select.d.ts +5 -0
  151. package/dist/types/components/Select/index.d.ts +2 -0
  152. package/dist/types/components/Sidebar/Sidebar.d.ts +17 -0
  153. package/dist/types/components/Sidebar/index.d.ts +2 -0
  154. package/dist/types/components/Skeleton/Skeleton.d.ts +7 -0
  155. package/dist/types/components/Skeleton/index.d.ts +2 -0
  156. package/dist/types/components/Sparkline/Sparkline.d.ts +9 -0
  157. package/dist/types/components/Sparkline/index.d.ts +2 -0
  158. package/dist/types/components/SplitSection/SplitSection.d.ts +10 -0
  159. package/dist/types/components/SplitSection/index.d.ts +2 -0
  160. package/dist/types/components/Stats/Stats.d.ts +9 -0
  161. package/dist/types/components/Stats/index.d.ts +2 -0
  162. package/dist/types/components/Stepper/Stepper.d.ts +9 -0
  163. package/dist/types/components/Stepper/index.d.ts +2 -0
  164. package/dist/types/components/Switch/Switch.d.ts +5 -0
  165. package/dist/types/components/Switch/index.d.ts +2 -0
  166. package/dist/types/components/Table/Table.d.ts +20 -0
  167. package/dist/types/components/Table/index.d.ts +2 -0
  168. package/dist/types/components/Tabs/Tabs.d.ts +39 -0
  169. package/dist/types/components/Tabs/index.d.ts +2 -0
  170. package/dist/types/components/Testimonial/Testimonial.d.ts +13 -0
  171. package/dist/types/components/Testimonial/index.d.ts +2 -0
  172. package/dist/types/components/Text/Text.d.ts +16 -0
  173. package/dist/types/components/Text/index.d.ts +2 -0
  174. package/dist/types/components/Textarea/Textarea.d.ts +5 -0
  175. package/dist/types/components/Textarea/index.d.ts +2 -0
  176. package/dist/types/components/Timeline/Timeline.d.ts +13 -0
  177. package/dist/types/components/Timeline/index.d.ts +2 -0
  178. package/dist/types/components/Toast/Toast.d.ts +31 -0
  179. package/dist/types/components/Toast/index.d.ts +2 -0
  180. package/dist/types/components/Tooltip/Tooltip.d.ts +13 -0
  181. package/dist/types/components/Tooltip/index.d.ts +2 -0
  182. package/dist/types/components/TopBar/TopBar.d.ts +6 -0
  183. package/dist/types/components/TopBar/index.d.ts +2 -0
  184. package/dist/types/components/Tracker/Tracker.d.ts +15 -0
  185. package/dist/types/components/Tracker/index.d.ts +2 -0
  186. package/dist/types/components/Watermark/Watermark.d.ts +17 -0
  187. package/dist/types/components/Watermark/index.d.ts +2 -0
  188. package/dist/types/components/index.d.ts +120 -0
  189. package/dist/types/hooks/index.d.ts +3 -0
  190. package/dist/types/hooks/useFocusTrap.d.ts +8 -0
  191. package/dist/types/hooks/useTheme.d.ts +14 -0
  192. package/dist/types/lib/chartColors.d.ts +2 -0
  193. package/dist/types/lib/types.d.ts +1 -0
  194. package/dist/types/lib/utils.d.ts +2 -0
  195. package/dist/types/tokens/tokens.d.ts +72 -0
  196. package/dist/types/utils/scrollLock.d.ts +13 -0
  197. package/dist/utils/scrollLock.js +22 -0
  198. package/kaze.css +20 -0
  199. package/package.json +109 -0
  200. package/reset.css +169 -0
  201. package/tokens.css +400 -0
  202. package/utilities.css +506 -0
@@ -0,0 +1,21 @@
1
+ import { type HTMLAttributes, type ReactNode } from "react";
2
+ export interface Command {
3
+ id: string;
4
+ label: string;
5
+ icon?: ReactNode;
6
+ group?: string;
7
+ onSelect: () => void;
8
+ }
9
+ export interface CommandPaletteProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
10
+ open: boolean;
11
+ onOpenChange: (open: boolean) => void;
12
+ commands: Command[];
13
+ placeholder?: string;
14
+ /** Accessible label for the search input (default: "コマンド検索") */
15
+ searchLabel?: string;
16
+ /** Accessible label for the dialog (default: "コマンドパレット") */
17
+ label?: string;
18
+ /** Message shown when no commands match (default: "該当するコマンドが見つかりません") */
19
+ emptyMessage?: string;
20
+ }
21
+ export declare const CommandPalette: import("react").ForwardRefExoticComponent<CommandPaletteProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { CommandPalette } from "./CommandPalette";
2
+ export type { CommandPaletteProps, Command } from "./CommandPalette";
@@ -0,0 +1,12 @@
1
+ import { type ReactNode, type HTMLAttributes } from "react";
2
+ export interface DescriptionListProps extends HTMLAttributes<HTMLDListElement> {
3
+ horizontal?: boolean;
4
+ bordered?: boolean;
5
+ children: ReactNode;
6
+ }
7
+ export declare const DescriptionList: import("react").ForwardRefExoticComponent<DescriptionListProps & import("react").RefAttributes<HTMLDListElement>>;
8
+ export interface DescriptionItemProps extends HTMLAttributes<HTMLDivElement> {
9
+ term: ReactNode;
10
+ children: ReactNode;
11
+ }
12
+ export declare const DescriptionItem: import("react").ForwardRefExoticComponent<DescriptionItemProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { DescriptionList, DescriptionItem } from "./DescriptionList";
2
+ export type { DescriptionListProps, DescriptionItemProps } from "./DescriptionList";
@@ -0,0 +1,20 @@
1
+ import { type HTMLAttributes, type RefObject } from "react";
2
+ export interface DialogProps extends HTMLAttributes<HTMLDivElement> {
3
+ open: boolean;
4
+ onClose: () => void;
5
+ /** @deprecated useFocusTrap handles focus restoration automatically. Kept for backward compat — ignored. */
6
+ returnFocusRef?: RefObject<HTMLElement | null>;
7
+ }
8
+ export declare const Dialog: import("react").ForwardRefExoticComponent<DialogProps & import("react").RefAttributes<HTMLDivElement>>;
9
+ export interface DialogHeaderProps extends HTMLAttributes<HTMLDivElement> {
10
+ }
11
+ export declare const DialogHeader: import("react").ForwardRefExoticComponent<DialogHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
12
+ export interface DialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {
13
+ }
14
+ export declare const DialogTitle: import("react").ForwardRefExoticComponent<DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>>;
15
+ export interface DialogBodyProps extends HTMLAttributes<HTMLDivElement> {
16
+ }
17
+ export declare const DialogBody: import("react").ForwardRefExoticComponent<DialogBodyProps & import("react").RefAttributes<HTMLDivElement>>;
18
+ export interface DialogFooterProps extends HTMLAttributes<HTMLDivElement> {
19
+ }
20
+ export declare const DialogFooter: import("react").ForwardRefExoticComponent<DialogFooterProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Dialog, DialogHeader, DialogTitle, DialogBody, DialogFooter, } from "./Dialog";
2
+ export type { DialogProps, DialogHeaderProps, DialogTitleProps, DialogBodyProps, DialogFooterProps, } from "./Dialog";
@@ -0,0 +1,6 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface DividerProps extends HTMLAttributes<HTMLElement> {
3
+ text?: string;
4
+ subtle?: boolean;
5
+ }
6
+ export declare const Divider: import("react").ForwardRefExoticComponent<DividerProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,2 @@
1
+ export { Divider } from "./Divider";
2
+ export type { DividerProps } from "./Divider";
@@ -0,0 +1,16 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface DonutChartSegment {
3
+ label: string;
4
+ value: number;
5
+ color?: string;
6
+ }
7
+ export interface DonutChartProps extends Omit<HTMLAttributes<HTMLDivElement>, "aria-label"> {
8
+ data: DonutChartSegment[];
9
+ size?: number;
10
+ strokeWidth?: number;
11
+ centerLabel?: string;
12
+ showLegend?: boolean;
13
+ /** Accessible label for the chart (required for accessibility) */
14
+ "aria-label": string;
15
+ }
16
+ export declare const DonutChart: import("react").ForwardRefExoticComponent<DonutChartProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { DonutChart } from "./DonutChart";
2
+ export type { DonutChartProps, DonutChartSegment } from "./DonutChart";
@@ -0,0 +1,24 @@
1
+ import { type ReactNode, type HTMLAttributes } from "react";
2
+ export interface DropdownProps {
3
+ children: ReactNode;
4
+ open?: boolean;
5
+ onOpenChange?: (open: boolean) => void;
6
+ }
7
+ export interface DropdownTriggerProps {
8
+ children: ReactNode;
9
+ }
10
+ export interface DropdownMenuProps extends HTMLAttributes<HTMLDivElement> {
11
+ children: ReactNode;
12
+ }
13
+ export interface DropdownItemProps extends HTMLAttributes<HTMLDivElement> {
14
+ onSelect?: () => void;
15
+ disabled?: boolean;
16
+ children: ReactNode;
17
+ }
18
+ export interface DropdownSeparatorProps {
19
+ }
20
+ export declare const Dropdown: import("react").ForwardRefExoticComponent<DropdownProps & import("react").RefAttributes<HTMLDivElement>>;
21
+ export declare const DropdownTrigger: import("react").ForwardRefExoticComponent<DropdownTriggerProps & import("react").RefAttributes<HTMLSpanElement>>;
22
+ export declare const DropdownMenu: import("react").ForwardRefExoticComponent<DropdownMenuProps & import("react").RefAttributes<HTMLDivElement>>;
23
+ export declare const DropdownItem: import("react").ForwardRefExoticComponent<DropdownItemProps & import("react").RefAttributes<HTMLDivElement>>;
24
+ export declare const DropdownSeparator: import("react").ForwardRefExoticComponent<DropdownSeparatorProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Dropdown, DropdownTrigger, DropdownMenu, DropdownItem, DropdownSeparator, } from "./Dropdown";
2
+ export type { DropdownProps, DropdownTriggerProps, DropdownMenuProps, DropdownItemProps, DropdownSeparatorProps, } from "./Dropdown";
@@ -0,0 +1,8 @@
1
+ import { type ReactNode, type HTMLAttributes } from "react";
2
+ export interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {
3
+ icon?: ReactNode;
4
+ title: string;
5
+ description?: string;
6
+ actions?: ReactNode;
7
+ }
8
+ export declare const EmptyState: import("react").ForwardRefExoticComponent<EmptyStateProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { EmptyState } from "./EmptyState";
2
+ export type { EmptyStateProps } from "./EmptyState";
@@ -0,0 +1,14 @@
1
+ import { type ButtonHTMLAttributes } from "react";
2
+ export type FABVariant = "primary" | "secondary";
3
+ export type FABSize = "sm" | "md" | "lg";
4
+ export type FABPosition = "bottom-right" | "bottom-left" | "top-right" | "top-left";
5
+ export interface FABProps extends ButtonHTMLAttributes<HTMLButtonElement> {
6
+ /** Accessible label for the button (required for icon-only FABs) */
7
+ label: string;
8
+ variant?: FABVariant;
9
+ size?: FABSize;
10
+ position?: FABPosition;
11
+ /** When true, shows icon + label side by side */
12
+ extended?: boolean;
13
+ }
14
+ export declare const FAB: import("react").ForwardRefExoticComponent<FABProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,2 @@
1
+ export { FAB } from "./FAB";
2
+ export type { FABProps, FABVariant, FABSize, FABPosition } from "./FAB";
@@ -0,0 +1,9 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface FAQProps extends HTMLAttributes<HTMLDivElement> {
3
+ }
4
+ export declare const FAQ: import("react").ForwardRefExoticComponent<FAQProps & import("react").RefAttributes<HTMLDivElement>>;
5
+ export interface FAQItemProps extends HTMLAttributes<HTMLDivElement> {
6
+ question: string;
7
+ answer?: string;
8
+ }
9
+ export declare const FAQItem: import("react").ForwardRefExoticComponent<FAQItemProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { FAQ, FAQItem } from "./FAQ";
2
+ export type { FAQProps, FAQItemProps } from "./FAQ";
@@ -0,0 +1,12 @@
1
+ import { type HTMLAttributes, type ReactNode } from "react";
2
+ export type FeatureGridColumns = 2 | 3 | 4;
3
+ export interface FeatureGridProps extends HTMLAttributes<HTMLDivElement> {
4
+ columns?: FeatureGridColumns;
5
+ }
6
+ export declare const FeatureGrid: import("react").ForwardRefExoticComponent<FeatureGridProps & import("react").RefAttributes<HTMLDivElement>>;
7
+ export interface FeatureCardProps extends HTMLAttributes<HTMLDivElement> {
8
+ icon?: ReactNode;
9
+ title: string;
10
+ description: string;
11
+ }
12
+ export declare const FeatureCard: import("react").ForwardRefExoticComponent<FeatureCardProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { FeatureGrid, FeatureCard } from "./FeatureGrid";
2
+ export type { FeatureGridProps, FeatureGridColumns, FeatureCardProps, } from "./FeatureGrid";
@@ -0,0 +1,18 @@
1
+ import { type HTMLAttributes, type ReactElement } from "react";
2
+ export interface FormFieldProps extends HTMLAttributes<HTMLDivElement> {
3
+ /** Label text for the form control */
4
+ label?: string;
5
+ /** Description / helper text shown below the label */
6
+ description?: string;
7
+ /** Error message. When set, the child control receives aria-invalid */
8
+ error?: string;
9
+ /** Whether the field is required (appends * to label) */
10
+ required?: boolean;
11
+ /** Maximum character count – renders a counter below the control */
12
+ maxLength?: number;
13
+ /** Current character count for the counter display */
14
+ currentLength?: number;
15
+ /** The form control element (Input, Select, Textarea, etc.) */
16
+ children?: ReactElement;
17
+ }
18
+ export declare const FormField: import("react").ForwardRefExoticComponent<FormFieldProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { FormField } from "./FormField";
2
+ export type { FormFieldProps } from "./FormField";
@@ -0,0 +1,21 @@
1
+ import { type HTMLAttributes } from "react";
2
+ import { space } from "@/tokens/tokens";
3
+ export type GridColumns = 1 | 2 | 3 | 4 | 5 | 6;
4
+ type SpaceToken = keyof typeof space;
5
+ export type GridGap = "xs" | "sm" | "md" | "lg" | "xl" | SpaceToken | number | (string & {});
6
+ export interface GridProps extends HTMLAttributes<HTMLDivElement> {
7
+ /** Column count at desktop (default) */
8
+ columns?: GridColumns;
9
+ /** Column count at ≤1024px */
10
+ columnsMd?: GridColumns;
11
+ /** Column count at ≤640px */
12
+ columnsSm?: GridColumns;
13
+ /** Gap between items — semantic token ("sm", "md", etc.), space token (e.g. 4), or any CSS value */
14
+ gap?: GridGap;
15
+ /** Gap at ≤1024px — falls back to gap */
16
+ gapMd?: GridGap;
17
+ /** Gap at ≤640px — falls back to gapMd, then gap */
18
+ gapSm?: GridGap;
19
+ }
20
+ export declare const Grid: import("react").ForwardRefExoticComponent<GridProps & import("react").RefAttributes<HTMLDivElement>>;
21
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Grid } from "./Grid";
2
+ export type { GridProps, GridColumns } from "./Grid";
@@ -0,0 +1,10 @@
1
+ import { type ReactNode, type HTMLAttributes } from "react";
2
+ export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
3
+ export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
4
+ level?: HeadingLevel;
5
+ as?: `h${HeadingLevel}`;
6
+ description?: ReactNode;
7
+ bordered?: boolean;
8
+ children: ReactNode;
9
+ }
10
+ export declare const Heading: import("react").ForwardRefExoticComponent<HeadingProps & import("react").RefAttributes<HTMLHeadingElement>>;
@@ -0,0 +1,2 @@
1
+ export { Heading } from "./Heading";
2
+ export type { HeadingProps, HeadingLevel } from "./Heading";
@@ -0,0 +1,13 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface HeroProps extends HTMLAttributes<HTMLElement> {
3
+ badge?: string;
4
+ title: string;
5
+ subtitle?: string;
6
+ /** Background color — any CSS value, e.g. "var(--blue-500)" */
7
+ bg?: string;
8
+ /** Background image — URL or CSS gradient, e.g. "url(...)" or "linear-gradient(...)" */
9
+ bgImage?: string;
10
+ /** Dark overlay opacity (0–1). true = 0.5. Useful for readability on images. */
11
+ overlay?: boolean | number;
12
+ }
13
+ export declare const Hero: import("react").ForwardRefExoticComponent<HeroProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,2 @@
1
+ export { Hero } from "./Hero";
2
+ export type { HeroProps } from "./Hero";
@@ -0,0 +1,12 @@
1
+ import { type HTMLAttributes } from "react";
2
+ import type { LucideIcon } from "lucide-react";
3
+ export type IconSize = "xs" | "sm" | "md" | "lg" | "xl";
4
+ export interface IconProps extends HTMLAttributes<HTMLSpanElement> {
5
+ /** A lucide-react icon component */
6
+ icon: LucideIcon;
7
+ /** Size of the icon */
8
+ size?: IconSize;
9
+ /** Accessible label — if omitted, the icon is decorative (aria-hidden) */
10
+ label?: string;
11
+ }
12
+ export declare const Icon: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,2 @@
1
+ export { Icon } from "./Icon";
2
+ export type { IconProps, IconSize } from "./Icon";
@@ -0,0 +1,7 @@
1
+ import { type InputHTMLAttributes } from "react";
2
+ export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
3
+ error?: boolean;
4
+ /** ID of the element that describes this input (e.g. error or helper text) */
5
+ "aria-describedby"?: string;
6
+ }
7
+ export declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ export { Input } from "./Input";
2
+ export type { InputProps } from "./Input";
@@ -0,0 +1,16 @@
1
+ import { type HTMLAttributes, type ReactNode } from "react";
2
+ export interface FooterColumn {
3
+ title: string;
4
+ links: {
5
+ label: string;
6
+ href: string;
7
+ }[];
8
+ }
9
+ export interface LPFooterProps extends HTMLAttributes<HTMLElement> {
10
+ logo?: ReactNode;
11
+ description?: string;
12
+ columns: FooterColumn[];
13
+ bottomLeft?: ReactNode;
14
+ bottomRight?: ReactNode;
15
+ }
16
+ export declare const LPFooter: import("react").ForwardRefExoticComponent<LPFooterProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,2 @@
1
+ export { LPFooter } from "./LPFooter";
2
+ export type { LPFooterProps, FooterColumn } from "./LPFooter";
@@ -0,0 +1,7 @@
1
+ import { type HTMLAttributes, type ReactNode } from "react";
2
+ export interface AppLayoutProps extends HTMLAttributes<HTMLDivElement> {
3
+ sidebar?: ReactNode;
4
+ topbar?: ReactNode;
5
+ children: ReactNode;
6
+ }
7
+ export declare const AppLayout: import("react").ForwardRefExoticComponent<AppLayoutProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { AppLayout } from "./Layout";
2
+ export type { AppLayoutProps } from "./Layout";
@@ -0,0 +1,18 @@
1
+ import { type ReactNode, type HTMLAttributes } from "react";
2
+ export type ListMarker = "disc" | "decimal" | "none";
3
+ export interface ListProps extends HTMLAttributes<HTMLUListElement> {
4
+ divided?: boolean;
5
+ /** List marker style */
6
+ marker?: ListMarker;
7
+ children: ReactNode;
8
+ }
9
+ export declare const List: import("react").ForwardRefExoticComponent<ListProps & import("react").RefAttributes<HTMLUListElement>>;
10
+ export interface ListItemProps extends Omit<HTMLAttributes<HTMLLIElement>, "title"> {
11
+ leading?: ReactNode;
12
+ trailing?: ReactNode;
13
+ title?: ReactNode;
14
+ description?: ReactNode;
15
+ interactive?: boolean;
16
+ children?: ReactNode;
17
+ }
18
+ export declare const ListItem: import("react").ForwardRefExoticComponent<ListItemProps & import("react").RefAttributes<HTMLLIElement>>;
@@ -0,0 +1,2 @@
1
+ export { List, ListItem } from "./List";
2
+ export type { ListProps, ListItemProps, ListMarker } from "./List";
@@ -0,0 +1,6 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface LogoProps extends HTMLAttributes<HTMLDivElement> {
3
+ size?: "sm" | "md" | "lg";
4
+ showText?: boolean;
5
+ }
6
+ export declare const Logo: import("react").ForwardRefExoticComponent<LogoProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Logo } from "./Logo";
2
+ export type { LogoProps } from "./Logo";
@@ -0,0 +1,23 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export type MeterColor = "default" | "positive" | "negative" | "warning" | "info";
3
+ export interface MeterProps extends HTMLAttributes<HTMLDivElement> {
4
+ /** Current value */
5
+ value: number;
6
+ /** Minimum value */
7
+ min?: number;
8
+ /** Maximum value */
9
+ max?: number;
10
+ /** Threshold for warning zone (optional, expressed as fraction 0-1) */
11
+ warningThreshold?: number;
12
+ /** Threshold for danger zone (optional, expressed as fraction 0-1) */
13
+ dangerThreshold?: number;
14
+ /** Label text */
15
+ label?: string;
16
+ /** Show percentage text */
17
+ showValue?: boolean;
18
+ /** Color variant (overrides threshold-based coloring) */
19
+ color?: MeterColor;
20
+ /** Size */
21
+ size?: "sm" | "md" | "lg";
22
+ }
23
+ export declare const Meter: import("react").ForwardRefExoticComponent<MeterProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Meter } from "./Meter";
2
+ export type { MeterProps, MeterColor } from "./Meter";
@@ -0,0 +1,12 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface MetricChange {
3
+ value: string;
4
+ trend: "positive" | "negative";
5
+ }
6
+ export interface MetricProps extends HTMLAttributes<HTMLDivElement> {
7
+ label: string;
8
+ value: string | number;
9
+ large?: boolean;
10
+ change?: MetricChange;
11
+ }
12
+ export declare const Metric: import("react").ForwardRefExoticComponent<MetricProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Metric } from "./Metric";
2
+ export type { MetricProps, MetricChange } from "./Metric";
@@ -0,0 +1,16 @@
1
+ import { type HTMLAttributes, type AnchorHTMLAttributes, type ReactNode } from "react";
2
+ export interface NavbarProps extends HTMLAttributes<HTMLElement> {
3
+ logo?: ReactNode;
4
+ actions?: ReactNode;
5
+ transparent?: boolean;
6
+ }
7
+ export declare const Navbar: import("react").ForwardRefExoticComponent<NavbarProps & import("react").RefAttributes<HTMLElement>>;
8
+ export interface NavbarLinksProps extends HTMLAttributes<HTMLUListElement> {
9
+ }
10
+ export declare const NavbarLinks: import("react").ForwardRefExoticComponent<NavbarLinksProps & import("react").RefAttributes<HTMLUListElement>>;
11
+ export interface NavbarLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
12
+ active?: boolean;
13
+ /** Render as a different element (default: "a"). Accepts Next.js Link etc. */
14
+ as?: React.ElementType;
15
+ }
16
+ export declare const NavbarLink: import("react").ForwardRefExoticComponent<NavbarLinkProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,2 @@
1
+ export { Navbar, NavbarLinks, NavbarLink } from "./Navbar";
2
+ export type { NavbarProps, NavbarLinksProps, NavbarLinkProps } from "./Navbar";
@@ -0,0 +1,35 @@
1
+ import { type InputHTMLAttributes } from "react";
2
+ export type NumberFieldCurrency = "JPY" | "USD" | "EUR" | "GBP" | "CNY" | "KRW";
3
+ export interface NumberFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "type"> {
4
+ /** Current numeric value */
5
+ value?: number | null;
6
+ /** Change handler */
7
+ onChange?: (value: number | null) => void;
8
+ /** Minimum allowed value */
9
+ min?: number;
10
+ /** Maximum allowed value */
11
+ max?: number;
12
+ /** Increment step */
13
+ step?: number;
14
+ /** Currency code for formatting */
15
+ currency?: NumberFieldCurrency;
16
+ /** Locale for formatting (default: "ja-JP") */
17
+ locale?: string;
18
+ /** Whether to show increment/decrement buttons */
19
+ showStepper?: boolean;
20
+ /** Label */
21
+ label?: string;
22
+ /** Error state */
23
+ error?: boolean;
24
+ /** Error message */
25
+ errorMessage?: string;
26
+ /** Prefix text (e.g. "¥") — auto-set by currency */
27
+ prefix?: string;
28
+ /** Suffix text (e.g. "%", "件") */
29
+ suffix?: string;
30
+ /** Accessible label for decrement button (default: "減少") */
31
+ decrementLabel?: string;
32
+ /** Accessible label for increment button (default: "増加") */
33
+ incrementLabel?: string;
34
+ }
35
+ export declare const NumberField: import("react").ForwardRefExoticComponent<NumberFieldProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ export { NumberField } from "./NumberField";
2
+ export type { NumberFieldProps, NumberFieldCurrency } from "./NumberField";
@@ -0,0 +1,14 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface PaginationProps extends HTMLAttributes<HTMLElement> {
3
+ currentPage: number;
4
+ totalPages: number;
5
+ onPageChange?: (page: number) => void;
6
+ siblingCount?: number;
7
+ /** Accessible label for the nav element (default: "ページネーション") */
8
+ label?: string;
9
+ /** Accessible label for the previous button (default: "前のページ") */
10
+ prevLabel?: string;
11
+ /** Accessible label for the next button (default: "次のページ") */
12
+ nextLabel?: string;
13
+ }
14
+ export declare const Pagination: import("react").ForwardRefExoticComponent<PaginationProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,2 @@
1
+ export { Pagination } from "./Pagination";
2
+ export type { PaginationProps } from "./Pagination";
@@ -0,0 +1,14 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface PricingGridProps extends HTMLAttributes<HTMLDivElement> {
3
+ }
4
+ export declare const PricingGrid: import("react").ForwardRefExoticComponent<PricingGridProps & import("react").RefAttributes<HTMLDivElement>>;
5
+ export interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
6
+ name: string;
7
+ description?: string;
8
+ price: string;
9
+ period?: string;
10
+ features: string[];
11
+ featured?: boolean;
12
+ badge?: string;
13
+ }
14
+ export declare const PricingCard: import("react").ForwardRefExoticComponent<PricingCardProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { PricingGrid, PricingCard } from "./Pricing";
2
+ export type { PricingGridProps, PricingCardProps } from "./Pricing";
@@ -0,0 +1,12 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export type ProgressColor = "default" | "positive" | "negative" | "warning" | "info";
3
+ export type ProgressSize = "sm" | "md" | "lg";
4
+ export interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
5
+ value: number;
6
+ max?: number;
7
+ label?: string;
8
+ showValue?: boolean;
9
+ color?: ProgressColor;
10
+ size?: ProgressSize;
11
+ }
12
+ export declare const Progress: import("react").ForwardRefExoticComponent<ProgressProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Progress } from "./Progress";
2
+ export type { ProgressProps, ProgressColor, ProgressSize } from "./Progress";
@@ -0,0 +1,13 @@
1
+ import { type InputHTMLAttributes, type HTMLAttributes } from "react";
2
+ export interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type"> {
3
+ label?: string;
4
+ error?: boolean;
5
+ }
6
+ export declare const Radio: import("react").ForwardRefExoticComponent<RadioProps & import("react").RefAttributes<HTMLInputElement>>;
7
+ export interface RadioGroupProps extends HTMLAttributes<HTMLFieldSetElement> {
8
+ label?: string;
9
+ orientation?: "horizontal" | "vertical";
10
+ error?: boolean;
11
+ errorMessage?: string;
12
+ }
13
+ export declare const RadioGroup: import("react").ForwardRefExoticComponent<RadioGroupProps & import("react").RefAttributes<HTMLFieldSetElement>>;
@@ -0,0 +1,2 @@
1
+ export { Radio, RadioGroup } from "./Radio";
2
+ export type { RadioProps, RadioGroupProps } from "./Radio";
@@ -0,0 +1,13 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export interface SearchProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
3
+ placeholder?: string;
4
+ shortcut?: string;
5
+ onSearch?: (value: string) => void;
6
+ /** Controlled value */
7
+ value?: string;
8
+ /** Change handler for controlled mode */
9
+ onChange?: (value: string) => void;
10
+ /** Accessible label for the search input */
11
+ "aria-label"?: string;
12
+ }
13
+ export declare const Search: import("react").ForwardRefExoticComponent<SearchProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ export { Search } from "./Search";
2
+ export type { SearchProps } from "./Search";
@@ -0,0 +1,13 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export type SectionSize = "sm" | "md" | "lg";
3
+ export type SectionBackground = "default" | "muted" | "dark";
4
+ export interface SectionProps extends HTMLAttributes<HTMLElement> {
5
+ size?: SectionSize;
6
+ background?: SectionBackground;
7
+ }
8
+ export declare const Section: import("react").ForwardRefExoticComponent<SectionProps & import("react").RefAttributes<HTMLElement>>;
9
+ export interface SectionHeaderProps extends HTMLAttributes<HTMLDivElement> {
10
+ title: string;
11
+ description?: string;
12
+ }
13
+ export declare const SectionHeader: import("react").ForwardRefExoticComponent<SectionHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Section, SectionHeader } from "./Section";
2
+ export type { SectionProps, SectionSize, SectionBackground, SectionHeaderProps, } from "./Section";