ksk-design-system 1.35.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.
- package/AGENTS.md +190 -0
- package/CLAUDE.md +189 -0
- package/DESIGN.md +190 -0
- package/LICENSE +21 -0
- package/MIGRATION.md +107 -0
- package/PUBLISHING.md +160 -0
- package/README.md +59 -0
- package/RELEASE.md +82 -0
- package/bin/init.js +112 -0
- package/contracts/components.json +1443 -0
- package/contracts/rules.json +447 -0
- package/dist/class-names.js +4 -0
- package/dist/index.js +13157 -0
- package/dist/native/ui.js +4928 -0
- package/dist/native.js +1559 -0
- package/dist/server-variants-Dr_V3bDI.js +55 -0
- package/dist/types/class-names.d.ts +27 -0
- package/dist/types/components/patterns/admin/bulk-actions.d.ts +17 -0
- package/dist/types/components/patterns/admin/chart-controls.d.ts +16 -0
- package/dist/types/components/patterns/admin/data-table.d.ts +165 -0
- package/dist/types/components/patterns/admin/image-uploader.d.ts +14 -0
- package/dist/types/components/patterns/admin/kebab-menu.d.ts +17 -0
- package/dist/types/components/patterns/admin/notification-list.d.ts +16 -0
- package/dist/types/components/patterns/admin/search-panel.d.ts +9 -0
- package/dist/types/components/patterns/admin/status-tabs.d.ts +13 -0
- package/dist/types/components/patterns/app-header.d.ts +76 -0
- package/dist/types/components/patterns/banner-carousel.d.ts +25 -0
- package/dist/types/components/patterns/banner.d.ts +13 -0
- package/dist/types/components/patterns/bottom-sheet-form.d.ts +17 -0
- package/dist/types/components/patterns/category-nav.d.ts +43 -0
- package/dist/types/components/patterns/category-scroll.d.ts +53 -0
- package/dist/types/components/patterns/chip-selector.d.ts +20 -0
- package/dist/types/components/patterns/chip.d.ts +42 -0
- package/dist/types/components/patterns/coach-mark-overlay.d.ts +66 -0
- package/dist/types/components/patterns/commerce/bottom-tab-bar.d.ts +27 -0
- package/dist/types/components/patterns/commerce/filter-bar.d.ts +39 -0
- package/dist/types/components/patterns/commerce/image-carousel.d.ts +14 -0
- package/dist/types/components/patterns/commerce/order-summary.d.ts +26 -0
- package/dist/types/components/patterns/commerce/price-display.d.ts +20 -0
- package/dist/types/components/patterns/commerce/product-card.d.ts +50 -0
- package/dist/types/components/patterns/commerce/product-carousel.d.ts +15 -0
- package/dist/types/components/patterns/commerce/quantity-selector.d.ts +21 -0
- package/dist/types/components/patterns/commerce/rating-display.d.ts +15 -0
- package/dist/types/components/patterns/commerce/review-card.d.ts +22 -0
- package/dist/types/components/patterns/commerce/review-summary.d.ts +12 -0
- package/dist/types/components/patterns/confirm-dialog.d.ts +32 -0
- package/dist/types/components/patterns/cookie-consent.d.ts +62 -0
- package/dist/types/components/patterns/empty-state.d.ts +15 -0
- package/dist/types/components/patterns/error-state.d.ts +10 -0
- package/dist/types/components/patterns/file-upload.d.ts +31 -0
- package/dist/types/components/patterns/filter-chip.d.ts +26 -0
- package/dist/types/components/patterns/footer.d.ts +24 -0
- package/dist/types/components/patterns/form-field.d.ts +30 -0
- package/dist/types/components/patterns/form.d.ts +13 -0
- package/dist/types/components/patterns/list-item.d.ts +23 -0
- package/dist/types/components/patterns/list-skeletons.d.ts +43 -0
- package/dist/types/components/patterns/menu-drawer.d.ts +27 -0
- package/dist/types/components/patterns/notification-badge.d.ts +15 -0
- package/dist/types/components/patterns/progress-steps.d.ts +7 -0
- package/dist/types/components/patterns/review-overlay.d.ts +25 -0
- package/dist/types/components/patterns/search-bar.d.ts +6 -0
- package/dist/types/components/patterns/section-header.d.ts +8 -0
- package/dist/types/components/patterns/share-buttons.d.ts +13 -0
- package/dist/types/components/patterns/shells/admin-shell.d.ts +8 -0
- package/dist/types/components/patterns/shells/app-shell.d.ts +7 -0
- package/dist/types/components/patterns/shells/marketing-shell.d.ts +7 -0
- package/dist/types/components/patterns/simple-pagination.d.ts +69 -0
- package/dist/types/components/patterns/stat-card.d.ts +43 -0
- package/dist/types/components/patterns/sticky-action-bar.d.ts +27 -0
- package/dist/types/components/patterns/swipe-row.d.ts +17 -0
- package/dist/types/components/patterns/tag-input.d.ts +20 -0
- package/dist/types/components/patterns/tag.d.ts +7 -0
- package/dist/types/components/ui/accordion.d.ts +7 -0
- package/dist/types/components/ui/alert-dialog.d.ts +47 -0
- package/dist/types/components/ui/alert.d.ts +45 -0
- package/dist/types/components/ui/auto-grow-textarea.d.ts +40 -0
- package/dist/types/components/ui/avatar.d.ts +6 -0
- package/dist/types/components/ui/badge.d.ts +18 -0
- package/dist/types/components/ui/breadcrumb.d.ts +16 -0
- package/dist/types/components/ui/button.d.ts +29 -0
- package/dist/types/components/ui/calendar.d.ts +5 -0
- package/dist/types/components/ui/card.d.ts +28 -0
- package/dist/types/components/ui/checkbox-card.d.ts +29 -0
- package/dist/types/components/ui/checkbox-field.d.ts +24 -0
- package/dist/types/components/ui/checkbox-group.d.ts +33 -0
- package/dist/types/components/ui/checkbox.d.ts +44 -0
- package/dist/types/components/ui/coach-mark.d.ts +27 -0
- package/dist/types/components/ui/collapsible.d.ts +24 -0
- package/dist/types/components/ui/combobox.d.ts +19 -0
- package/dist/types/components/ui/countdown-timer.d.ts +39 -0
- package/dist/types/components/ui/date-picker.d.ts +53 -0
- package/dist/types/components/ui/dialog.d.ts +54 -0
- package/dist/types/components/ui/dropdown-filter.d.ts +35 -0
- package/dist/types/components/ui/dropdown-menu.d.ts +42 -0
- package/dist/types/components/ui/error-boundary.d.ts +66 -0
- package/dist/types/components/ui/form.d.ts +61 -0
- package/dist/types/components/ui/hover-card.d.ts +24 -0
- package/dist/types/components/ui/image-gallery.d.ts +28 -0
- package/dist/types/components/ui/input.d.ts +17 -0
- package/dist/types/components/ui/label.d.ts +4 -0
- package/dist/types/components/ui/multi-select.d.ts +21 -0
- package/dist/types/components/ui/navigation-bar.d.ts +58 -0
- package/dist/types/components/ui/number-input.d.ts +20 -0
- package/dist/types/components/ui/pagination.d.ts +26 -0
- package/dist/types/components/ui/pill-toggle.d.ts +16 -0
- package/dist/types/components/ui/popover.d.ts +7 -0
- package/dist/types/components/ui/progress-ring.d.ts +31 -0
- package/dist/types/components/ui/progress.d.ts +34 -0
- package/dist/types/components/ui/radio-group.d.ts +22 -0
- package/dist/types/components/ui/responsive-dialog.d.ts +31 -0
- package/dist/types/components/ui/scroll-area.d.ts +5 -0
- package/dist/types/components/ui/select.d.ts +22 -0
- package/dist/types/components/ui/separator.d.ts +4 -0
- package/dist/types/components/ui/sheet.d.ts +139 -0
- package/dist/types/components/ui/skeleton.d.ts +31 -0
- package/dist/types/components/ui/slider.d.ts +14 -0
- package/dist/types/components/ui/social-icon-data.d.ts +10 -0
- package/dist/types/components/ui/social-icon.d.ts +38 -0
- package/dist/types/components/ui/social-login-button.d.ts +10 -0
- package/dist/types/components/ui/spinner.d.ts +22 -0
- package/dist/types/components/ui/star-rating.d.ts +12 -0
- package/dist/types/components/ui/sub-nav.d.ts +17 -0
- package/dist/types/components/ui/switch.d.ts +4 -0
- package/dist/types/components/ui/sync-status-badge.d.ts +17 -0
- package/dist/types/components/ui/tabs.d.ts +15 -0
- package/dist/types/components/ui/textarea.d.ts +8 -0
- package/dist/types/components/ui/time-picker.d.ts +14 -0
- package/dist/types/components/ui/toast.d.ts +49 -0
- package/dist/types/components/ui/tooltip.d.ts +7 -0
- package/dist/types/index.d.ts +174 -0
- package/dist/types/lib/server-variants/button-variants.d.ts +20 -0
- package/dist/types/lib/utils.d.ts +2 -0
- package/dist/types/native/components/Accordion.d.ts +12 -0
- package/dist/types/native/components/Alert.d.ts +9 -0
- package/dist/types/native/components/AlertDialog.d.ts +11 -0
- package/dist/types/native/components/AppHeader.d.ts +10 -0
- package/dist/types/native/components/AppShell.d.ts +13 -0
- package/dist/types/native/components/AutoGrowTextarea.d.ts +8 -0
- package/dist/types/native/components/Avatar.d.ts +8 -0
- package/dist/types/native/components/Badge.d.ts +8 -0
- package/dist/types/native/components/Banner.d.ts +10 -0
- package/dist/types/native/components/BannerCarousel.d.ts +8 -0
- package/dist/types/native/components/BottomSheetForm.d.ts +10 -0
- package/dist/types/native/components/BottomTabBar.d.ts +8 -0
- package/dist/types/native/components/Breadcrumb.d.ts +12 -0
- package/dist/types/native/components/Button.d.ts +9 -0
- package/dist/types/native/components/Calendar.d.ts +8 -0
- package/dist/types/native/components/Card.d.ts +11 -0
- package/dist/types/native/components/CategoryNav.d.ts +13 -0
- package/dist/types/native/components/CategoryScroll.d.ts +12 -0
- package/dist/types/native/components/Checkbox.d.ts +7 -0
- package/dist/types/native/components/CheckboxCard.d.ts +8 -0
- package/dist/types/native/components/CheckboxField.d.ts +8 -0
- package/dist/types/native/components/CheckboxGroup.d.ts +12 -0
- package/dist/types/native/components/Chip.d.ts +17 -0
- package/dist/types/native/components/ChipSelector.d.ts +13 -0
- package/dist/types/native/components/CoachMark.d.ts +12 -0
- package/dist/types/native/components/CoachMarkOverlay.d.ts +19 -0
- package/dist/types/native/components/Collapsible.d.ts +7 -0
- package/dist/types/native/components/Combobox.d.ts +14 -0
- package/dist/types/native/components/ConfirmDialog.d.ts +7 -0
- package/dist/types/native/components/CountdownTimer.d.ts +7 -0
- package/dist/types/native/components/DatePicker.d.ts +10 -0
- package/dist/types/native/components/Dialog.d.ts +12 -0
- package/dist/types/native/components/DropdownFilter.d.ts +12 -0
- package/dist/types/native/components/DropdownMenu.d.ts +19 -0
- package/dist/types/native/components/EmptyState.d.ts +8 -0
- package/dist/types/native/components/ErrorState.d.ts +8 -0
- package/dist/types/native/components/FileUpload.d.ts +12 -0
- package/dist/types/native/components/FilterBar.d.ts +13 -0
- package/dist/types/native/components/FilterChip.d.ts +7 -0
- package/dist/types/native/components/Footer.d.ts +9 -0
- package/dist/types/native/components/FormField.d.ts +9 -0
- package/dist/types/native/components/GlassView.d.ts +25 -0
- package/dist/types/native/components/ImageCarousel.d.ts +8 -0
- package/dist/types/native/components/ImageGallery.d.ts +7 -0
- package/dist/types/native/components/Input.d.ts +9 -0
- package/dist/types/native/components/Label.d.ts +7 -0
- package/dist/types/native/components/ListItem.d.ts +11 -0
- package/dist/types/native/components/ListSkeletons.d.ts +6 -0
- package/dist/types/native/components/MarketingShell.d.ts +9 -0
- package/dist/types/native/components/MenuDrawer.d.ts +21 -0
- package/dist/types/native/components/MultiSelect.d.ts +13 -0
- package/dist/types/native/components/NavigationBar.d.ts +18 -0
- package/dist/types/native/components/NotificationBadge.d.ts +9 -0
- package/dist/types/native/components/NumberInput.d.ts +9 -0
- package/dist/types/native/components/OrderSummary.d.ts +10 -0
- package/dist/types/native/components/Pagination.d.ts +7 -0
- package/dist/types/native/components/PillToggle.d.ts +12 -0
- package/dist/types/native/components/Popover.d.ts +14 -0
- package/dist/types/native/components/PriceDisplay.d.ts +8 -0
- package/dist/types/native/components/ProductCard.d.ts +14 -0
- package/dist/types/native/components/ProductCarousel.d.ts +11 -0
- package/dist/types/native/components/Progress.d.ts +7 -0
- package/dist/types/native/components/ProgressRing.d.ts +12 -0
- package/dist/types/native/components/ProgressSteps.d.ts +9 -0
- package/dist/types/native/components/QuantitySelector.d.ts +6 -0
- package/dist/types/native/components/RadioGroup.d.ts +13 -0
- package/dist/types/native/components/RatingDisplay.d.ts +7 -0
- package/dist/types/native/components/ResponsiveDialog.d.ts +7 -0
- package/dist/types/native/components/ReviewCard.d.ts +11 -0
- package/dist/types/native/components/ReviewOverlay.d.ts +7 -0
- package/dist/types/native/components/ReviewSummary.d.ts +7 -0
- package/dist/types/native/components/ScrollArea.d.ts +9 -0
- package/dist/types/native/components/SearchBar.d.ts +9 -0
- package/dist/types/native/components/SectionHeader.d.ts +10 -0
- package/dist/types/native/components/Select.d.ts +14 -0
- package/dist/types/native/components/Separator.d.ts +5 -0
- package/dist/types/native/components/ShareButtons.d.ts +11 -0
- package/dist/types/native/components/Sheet.d.ts +20 -0
- package/dist/types/native/components/SimplePagination.d.ts +7 -0
- package/dist/types/native/components/Skeleton.d.ts +11 -0
- package/dist/types/native/components/Slider.d.ts +9 -0
- package/dist/types/native/components/SocialIcon.d.ts +12 -0
- package/dist/types/native/components/SocialLoginButton.d.ts +8 -0
- package/dist/types/native/components/Spinner.d.ts +6 -0
- package/dist/types/native/components/Stack.d.ts +13 -0
- package/dist/types/native/components/StarRating.d.ts +9 -0
- package/dist/types/native/components/StatCard.d.ts +7 -0
- package/dist/types/native/components/StickyActionBar.d.ts +6 -0
- package/dist/types/native/components/SubNav.d.ts +12 -0
- package/dist/types/native/components/SwipeRow.d.ts +14 -0
- package/dist/types/native/components/Switch.d.ts +4 -0
- package/dist/types/native/components/SyncStatusBadge.d.ts +6 -0
- package/dist/types/native/components/Tabs.d.ts +23 -0
- package/dist/types/native/components/Tag.d.ts +10 -0
- package/dist/types/native/components/TagInput.d.ts +7 -0
- package/dist/types/native/components/Text.d.ts +10 -0
- package/dist/types/native/components/Textarea.d.ts +7 -0
- package/dist/types/native/components/TimePicker.d.ts +12 -0
- package/dist/types/native/components/Toast.d.ts +18 -0
- package/dist/types/native/components/index.d.ts +99 -0
- package/dist/types/native/components/social-icon-data.d.ts +5 -0
- package/dist/types/native/index.d.ts +4 -0
- package/dist/types/native/theme/ThemeProvider.d.ts +21 -0
- package/dist/types/native/typography.d.ts +8 -0
- package/dist/types/tokens/native/index.d.ts +13 -0
- package/dist/types/tokens/native/primitives.d.ts +116 -0
- package/dist/types/tokens/native/scales.d.ts +270 -0
- package/dist/types/tokens/native/themes.d.ts +1147 -0
- package/eslint/deprecated.js +104 -0
- package/eslint/no-colorless-border.js +217 -0
- package/package.json +215 -0
- package/scripts/codemod/README.md +51 -0
- package/scripts/codemod/template.mjs +164 -0
- package/src/components/COMPONENT_LOOKUP.md +190 -0
- package/src/preset.css +168 -0
- package/src/styles/categorical.css +161 -0
- package/src/styles/glass.css +365 -0
- package/src/styles/primitive.css +161 -0
- package/src/styles/semantic.css +247 -0
- package/src/styles/typography.css +140 -0
- package/src/themes/README.md +44 -0
- package/src/themes/blue.css +21 -0
- package/src/themes/default.css +12 -0
- package/src/themes/green.css +22 -0
- package/src/themes/orange.css +21 -0
- package/src/themes/violet.css +22 -0
- package/templates/AGENTS.md +77 -0
- package/templates/CLAUDE.md +77 -0
- package/tokens.json +607 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ChipSelectorOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
count?: number;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface ChipSelectorProps {
|
|
8
|
+
options: ChipSelectorOption[];
|
|
9
|
+
values?: string[];
|
|
10
|
+
onChange?: (values: string[]) => void;
|
|
11
|
+
multiple?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function ChipSelector({ options, values, onChange, multiple, }: ChipSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface CoachMarkProps {
|
|
2
|
+
title?: string;
|
|
3
|
+
description: string;
|
|
4
|
+
step?: number;
|
|
5
|
+
total?: number;
|
|
6
|
+
onNext?: () => void;
|
|
7
|
+
onSkip?: () => void;
|
|
8
|
+
nextLabel?: string;
|
|
9
|
+
skipLabel?: string;
|
|
10
|
+
}
|
|
11
|
+
/** Tooltip 風の説明バルーン。CoachMarkOverlay と組み合わせて使う前提。 */
|
|
12
|
+
export declare function CoachMark({ title, description, step, total, onNext, onSkip, nextLabel, skipLabel, }: CoachMarkProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface CoachMarkOverlayProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
/** ハイライト対象の画面座標。指定するとそのエリアだけ暗くしない */
|
|
6
|
+
highlight?: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
radius?: number;
|
|
12
|
+
};
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 背景を暗くしてフォーカスしたい領域だけ残す簡易オーバーレイ。
|
|
17
|
+
* ハイライト穴は4枚の View でスポットを囲う形(Mask 非依存)。
|
|
18
|
+
*/
|
|
19
|
+
export declare function CoachMarkOverlay({ open, onClose, highlight, children }: CoachMarkOverlayProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface CollapsibleProps {
|
|
3
|
+
title: string;
|
|
4
|
+
defaultOpen?: boolean;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function Collapsible({ title, defaultOpen, children }: CollapsibleProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ComboboxOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ComboboxProps {
|
|
6
|
+
options: ComboboxOption[];
|
|
7
|
+
value?: string;
|
|
8
|
+
onChange?: (value: string) => void;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
searchPlaceholder?: string;
|
|
11
|
+
emptyMessage?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function Combobox({ options, value, onChange, placeholder, searchPlaceholder, emptyMessage, disabled, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type AlertDialogProps } from "./AlertDialog";
|
|
2
|
+
export interface ConfirmDialogProps extends Omit<AlertDialogProps, "confirmLabel" | "cancelLabel"> {
|
|
3
|
+
confirmLabel?: string;
|
|
4
|
+
cancelLabel?: string;
|
|
5
|
+
}
|
|
6
|
+
/** AlertDialog の薄いラッパ(語感の違い吸収用)。 */
|
|
7
|
+
export declare function ConfirmDialog(props: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface CountdownTimerProps {
|
|
2
|
+
/** UNIX ミリ秒 or Date */
|
|
3
|
+
target: number | Date;
|
|
4
|
+
onComplete?: () => void;
|
|
5
|
+
tone?: "neutral" | "accent" | "caution";
|
|
6
|
+
}
|
|
7
|
+
export declare function CountdownTimer({ target, onComplete, tone }: CountdownTimerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface DatePickerProps {
|
|
2
|
+
value?: Date;
|
|
3
|
+
onChange?: (date: Date) => void;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
minDate?: Date;
|
|
6
|
+
maxDate?: Date;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
formatter?: (d: Date) => string;
|
|
9
|
+
}
|
|
10
|
+
export declare function DatePicker({ value, onChange, placeholder, minDate, maxDate, disabled, formatter, }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface DialogProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
title?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
footer?: React.ReactNode;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
/** タップで閉じるか */
|
|
10
|
+
dismissOnBackdrop?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function Dialog({ open, onClose, title, description, footer, children, dismissOnBackdrop, }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface DropdownFilterOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
count?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface DropdownFilterProps {
|
|
7
|
+
label: string;
|
|
8
|
+
options: DropdownFilterOption[];
|
|
9
|
+
value?: string;
|
|
10
|
+
onChange?: (value: string | undefined) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function DropdownFilter({ label, options, value, onChange }: DropdownFilterProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface DropdownMenuItem {
|
|
2
|
+
key: string;
|
|
3
|
+
label: string;
|
|
4
|
+
destructive?: boolean;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
onSelect?: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface DropdownMenuProps {
|
|
9
|
+
open: boolean;
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
anchor?: {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
width?: number;
|
|
15
|
+
height?: number;
|
|
16
|
+
};
|
|
17
|
+
items: DropdownMenuItem[];
|
|
18
|
+
}
|
|
19
|
+
export declare function DropdownMenu({ open, onClose, anchor, items }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface EmptyStateProps {
|
|
3
|
+
title: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
action?: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function EmptyState({ title, description, icon, action }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface ErrorStateProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
action?: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function ErrorState({ title, description, icon, action, }: ErrorStateProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface FileUploadProps {
|
|
2
|
+
title?: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
/** ファイル選択を起動するコールバック(Expo: expo-image-picker / DocumentPicker を呼び出す等) */
|
|
5
|
+
onPress?: () => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* ファイルピッカーをトリガするタッチ領域。実際の選択は consumer 側で
|
|
10
|
+
* expo-image-picker / expo-document-picker を起動して使う。
|
|
11
|
+
*/
|
|
12
|
+
export declare function FileUpload({ title, description, onPress, disabled, }: FileUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface FilterBarFilter {
|
|
2
|
+
key: string;
|
|
3
|
+
label: string;
|
|
4
|
+
value?: string;
|
|
5
|
+
active?: boolean;
|
|
6
|
+
onPress?: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface FilterBarProps {
|
|
9
|
+
filters: FilterBarFilter[];
|
|
10
|
+
sortLabel?: string;
|
|
11
|
+
onPressSort?: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function FilterBar({ filters, sortLabel, onPressSort }: FilterBarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ChipProps } from "./Chip";
|
|
2
|
+
export interface FilterChipProps extends Omit<ChipProps, "shape" | "variant"> {
|
|
3
|
+
/** 件数バッジ */
|
|
4
|
+
count?: number;
|
|
5
|
+
}
|
|
6
|
+
/** Chip のフィルタ用プリセット(pill + filled)。 */
|
|
7
|
+
export declare function FilterChip(props: FilterChipProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface FooterLink {
|
|
2
|
+
label: string;
|
|
3
|
+
onPress?: () => void;
|
|
4
|
+
}
|
|
5
|
+
export interface FooterProps {
|
|
6
|
+
copyright?: string;
|
|
7
|
+
links?: FooterLink[];
|
|
8
|
+
}
|
|
9
|
+
export declare function Footer({ copyright, links }: FooterProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface FormFieldProps {
|
|
3
|
+
label?: string;
|
|
4
|
+
required?: boolean;
|
|
5
|
+
description?: string;
|
|
6
|
+
error?: string;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare function FormField({ label, required, description, error, children }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type ViewProps } from "react-native";
|
|
3
|
+
export type GlassIntensity = "subtle" | "regular" | "thick";
|
|
4
|
+
export type GlassTint = "light" | "dark" | "system";
|
|
5
|
+
export interface GlassViewProps extends ViewProps {
|
|
6
|
+
intensity?: GlassIntensity;
|
|
7
|
+
tint?: GlassTint;
|
|
8
|
+
/** rim(縁の光屈折)を出す */
|
|
9
|
+
showRim?: boolean;
|
|
10
|
+
/** 角丸 */
|
|
11
|
+
borderRadius?: number;
|
|
12
|
+
children?: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* iOS 26 Liquid Glass マテリアル。
|
|
16
|
+
*
|
|
17
|
+
* 3-tier の表示戦略:
|
|
18
|
+
* 1. iOS + expo-blur が入っている → UIVisualEffectView (本物の Liquid Glass)
|
|
19
|
+
* 2. Web (RNW) → CSS の backdrop-filter で擬似
|
|
20
|
+
* 3. それ以外 (Android / expo-blur 未導入) → 半透明 surface でフォールバック
|
|
21
|
+
*
|
|
22
|
+
* expo-blur は optional peerDependency。consumer 側で `npx expo install expo-blur` するだけで
|
|
23
|
+
* 自動で 1 のパスに切り替わる。
|
|
24
|
+
*/
|
|
25
|
+
export declare function GlassView({ intensity, tint, showRim, borderRadius, style, children, ...rest }: GlassViewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ImageSourcePropType } from "react-native";
|
|
2
|
+
export interface ImageCarouselProps {
|
|
3
|
+
images: ImageSourcePropType[];
|
|
4
|
+
height?: number;
|
|
5
|
+
showCounter?: boolean;
|
|
6
|
+
showDots?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function ImageCarousel({ images, height, showCounter, showDots, }: ImageCarouselProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ImageSourcePropType } from "react-native";
|
|
2
|
+
export interface ImageGalleryProps {
|
|
3
|
+
images: ImageSourcePropType[];
|
|
4
|
+
initialIndex?: number;
|
|
5
|
+
thumbnailSize?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function ImageGallery({ images, initialIndex, thumbnailSize }: ImageGalleryProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type TextInputProps } from "react-native";
|
|
3
|
+
export interface InputProps extends Omit<TextInputProps, "style"> {
|
|
4
|
+
invalid?: boolean;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
leading?: React.ReactNode;
|
|
7
|
+
trailing?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare function Input({ invalid, disabled, leading, trailing, ...rest }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type ViewProps } from "react-native";
|
|
3
|
+
export interface LabelProps extends ViewProps {
|
|
4
|
+
required?: boolean;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function Label({ required, children, style, ...rest }: LabelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface ListItemProps {
|
|
3
|
+
leading?: React.ReactNode;
|
|
4
|
+
title: React.ReactNode;
|
|
5
|
+
description?: React.ReactNode;
|
|
6
|
+
trailing?: React.ReactNode;
|
|
7
|
+
showChevron?: boolean;
|
|
8
|
+
onPress?: () => void;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function ListItem({ leading, title, description, trailing, showChevron, onPress, disabled, }: ListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface MarketingShellProps {
|
|
3
|
+
header?: React.ReactNode;
|
|
4
|
+
footer?: React.ReactNode;
|
|
5
|
+
cta?: React.ReactNode;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
/** LP/集客系の縦長スクロールシェル。AppShell との違いは BottomNav なし & sticky CTA 領域あり。 */
|
|
9
|
+
export declare function MarketingShell({ header, footer, cta, children }: MarketingShellProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface MenuDrawerItem {
|
|
3
|
+
key: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
onPress?: () => void;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface MenuDrawerSection {
|
|
10
|
+
title?: string;
|
|
11
|
+
items: MenuDrawerItem[];
|
|
12
|
+
}
|
|
13
|
+
export interface MenuDrawerProps {
|
|
14
|
+
open: boolean;
|
|
15
|
+
onClose: () => void;
|
|
16
|
+
side?: "left" | "right";
|
|
17
|
+
header?: React.ReactNode;
|
|
18
|
+
sections: MenuDrawerSection[];
|
|
19
|
+
footer?: React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export declare function MenuDrawer({ open, onClose, side, header, sections, footer, }: MenuDrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface MultiSelectOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export interface MultiSelectProps {
|
|
6
|
+
options: MultiSelectOption[];
|
|
7
|
+
values?: string[];
|
|
8
|
+
onChange?: (values: string[]) => void;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
searchPlaceholder?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function MultiSelect({ options, values, onChange, placeholder, searchPlaceholder, disabled, }: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface NavigationBarItem {
|
|
3
|
+
key: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
badge?: number;
|
|
7
|
+
onPress?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface NavigationBarProps {
|
|
10
|
+
items: NavigationBarItem[];
|
|
11
|
+
value?: string;
|
|
12
|
+
onChange?: (key: string) => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Webの「ヘッダ型ナビゲーション」をRNで意味変換した BottomTabs風 ナビ。
|
|
16
|
+
* 画面下部に固定して使う想定。
|
|
17
|
+
*/
|
|
18
|
+
export declare function NavigationBar({ items, value, onChange }: NavigationBarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface NotificationBadgeProps {
|
|
3
|
+
count?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
dot?: boolean;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
/** 子要素の右上に未読カウントを重ねるバッジ。 */
|
|
9
|
+
export declare function NotificationBadge({ count, max, dot, children }: NotificationBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface NumberInputProps {
|
|
2
|
+
value: number;
|
|
3
|
+
onChange?: (value: number) => void;
|
|
4
|
+
min?: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
step?: number;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function NumberInput({ value, onChange, min, max, step, disabled, }: NumberInputProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface OrderSummaryLine {
|
|
2
|
+
label: string;
|
|
3
|
+
value: number;
|
|
4
|
+
emphasis?: "normal" | "discount" | "total";
|
|
5
|
+
}
|
|
6
|
+
export interface OrderSummaryProps {
|
|
7
|
+
lines: OrderSummaryLine[];
|
|
8
|
+
currency?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function OrderSummary({ lines, currency }: OrderSummaryProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface PillToggleOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
count?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface PillToggleProps {
|
|
7
|
+
options: PillToggleOption[];
|
|
8
|
+
value?: string;
|
|
9
|
+
onChange?: (value: string) => void;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function PillToggle({ options, value, onChange, disabled }: PillToggleProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface PopoverProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
/** triggerが描画される位置(画面座標)。anchor 計測は呼び出し側で行う */
|
|
6
|
+
anchor?: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
width?: number;
|
|
10
|
+
height?: number;
|
|
11
|
+
};
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export declare function Popover({ open, onClose, anchor, children }: PopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface PriceDisplayProps {
|
|
2
|
+
price: number;
|
|
3
|
+
originalPrice?: number;
|
|
4
|
+
currency?: string;
|
|
5
|
+
size?: "sm" | "md" | "lg";
|
|
6
|
+
showTax?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function PriceDisplay({ price, originalPrice, currency, size, showTax, }: PriceDisplayProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ImageSourcePropType } from "react-native";
|
|
2
|
+
export interface ProductCardProps {
|
|
3
|
+
image?: ImageSourcePropType;
|
|
4
|
+
title: string;
|
|
5
|
+
price: number;
|
|
6
|
+
originalPrice?: number;
|
|
7
|
+
rating?: number;
|
|
8
|
+
reviewCount?: number;
|
|
9
|
+
badge?: string;
|
|
10
|
+
soldOut?: boolean;
|
|
11
|
+
onPress?: () => void;
|
|
12
|
+
layout?: "vertical" | "horizontal";
|
|
13
|
+
}
|
|
14
|
+
export declare function ProductCard({ image, title, price, originalPrice, rating, reviewCount, badge, soldOut, onPress, layout, }: ProductCardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ProductCardProps } from "./ProductCard";
|
|
2
|
+
export interface ProductCarouselProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
action?: {
|
|
5
|
+
label: string;
|
|
6
|
+
onPress: () => void;
|
|
7
|
+
};
|
|
8
|
+
products: ProductCardProps[];
|
|
9
|
+
cardWidth?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function ProductCarousel({ title, action, products, cardWidth, }: ProductCarouselProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ProgressRingProps {
|
|
2
|
+
value: number;
|
|
3
|
+
max?: number;
|
|
4
|
+
size?: number;
|
|
5
|
+
thickness?: number;
|
|
6
|
+
showLabel?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* SVG非依存の簡易ProgressRing。
|
|
10
|
+
* 半円を2枚使った clip 風表現で React Native のViewのみで完結させる。
|
|
11
|
+
*/
|
|
12
|
+
export declare function ProgressRing({ value, max, size, thickness, showLabel, }: ProgressRingProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface StepItem {
|
|
2
|
+
key: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ProgressStepsProps {
|
|
6
|
+
steps: StepItem[];
|
|
7
|
+
current: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function ProgressSteps({ steps, current }: ProgressStepsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type NumberInputProps } from "./NumberInput";
|
|
2
|
+
export interface QuantitySelectorProps extends Omit<NumberInputProps, "min"> {
|
|
3
|
+
min?: number;
|
|
4
|
+
}
|
|
5
|
+
/** commerce 用の数量セレクタ。NumberInput を min=1 で使うだけ。 */
|
|
6
|
+
export declare function QuantitySelector({ min, ...rest }: QuantitySelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface RadioOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface RadioGroupProps {
|
|
8
|
+
options: RadioOption[];
|
|
9
|
+
value?: string;
|
|
10
|
+
onChange?: (value: string) => void;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function RadioGroup({ options, value, onChange, disabled }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type DialogProps } from "./Dialog";
|
|
2
|
+
export interface ResponsiveDialogProps extends DialogProps {
|
|
3
|
+
/** width <= breakpoint で BottomSheet 化(既定 600) */
|
|
4
|
+
breakpoint?: number;
|
|
5
|
+
}
|
|
6
|
+
/** sm 以下では Sheet(bottom)、それ以上は Dialog。 */
|
|
7
|
+
export declare function ResponsiveDialog({ breakpoint, ...props }: ResponsiveDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ImageSourcePropType } from "react-native";
|
|
2
|
+
export interface ReviewCardProps {
|
|
3
|
+
authorName: string;
|
|
4
|
+
authorAvatar?: ImageSourcePropType;
|
|
5
|
+
rating: number;
|
|
6
|
+
date?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
comment: string;
|
|
9
|
+
helpfulCount?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function ReviewCard({ authorName, authorAvatar, rating, date, title, comment, helpfulCount, }: ReviewCardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ReviewOverlayProps {
|
|
2
|
+
open: boolean;
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
title?: string;
|
|
5
|
+
onSubmit?: (rating: number, comment: string) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function ReviewOverlay({ open, onClose, title, onSubmit, }: ReviewOverlayProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ReviewSummaryProps {
|
|
2
|
+
average: number;
|
|
3
|
+
total: number;
|
|
4
|
+
/** rating -> 件数 のマップ。例: { 5: 120, 4: 32, 3: 11, 2: 4, 1: 2 } */
|
|
5
|
+
distribution: Record<number, number>;
|
|
6
|
+
}
|
|
7
|
+
export declare function ReviewSummary({ average, total, distribution }: ReviewSummaryProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type ScrollViewProps } from "react-native";
|
|
3
|
+
export interface ScrollAreaProps extends ScrollViewProps {
|
|
4
|
+
maxHeight?: number;
|
|
5
|
+
bordered?: boolean;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
/** ScrollView の薄いラッパ。max-height と枠線つけたいケース用。 */
|
|
9
|
+
export declare function ScrollArea({ maxHeight, bordered, children, ...rest }: ScrollAreaProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface SearchBarProps {
|
|
2
|
+
value: string;
|
|
3
|
+
onChange: (value: string) => void;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
onSubmit?: () => void;
|
|
6
|
+
onClear?: () => void;
|
|
7
|
+
autoFocus?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function SearchBar({ value, onChange, placeholder, onSubmit, onClear, autoFocus, }: SearchBarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface SectionHeaderProps {
|
|
2
|
+
title: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
action?: {
|
|
5
|
+
label: string;
|
|
6
|
+
onPress: () => void;
|
|
7
|
+
};
|
|
8
|
+
variant?: "default" | "subtle";
|
|
9
|
+
}
|
|
10
|
+
export declare function SectionHeader({ title, description, action, variant }: SectionHeaderProps): import("react/jsx-runtime").JSX.Element;
|