@donotdev/expo 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/components/atomic.test.d.ts +10 -0
- package/dist/__tests__/components/atomic.test.d.ts.map +1 -0
- package/dist/__tests__/providers/ExpoAppProviders.test.d.ts +10 -0
- package/dist/__tests__/providers/ExpoAppProviders.test.d.ts.map +1 -0
- package/dist/__tests__/setup.d.ts +10 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/test-utils.d.ts +22 -0
- package/dist/__tests__/test-utils.d.ts.map +1 -0
- package/dist/atomic/Accordion/index.d.ts +65 -0
- package/dist/atomic/Accordion/index.d.ts.map +1 -0
- package/dist/atomic/Alert/index.d.ts +69 -0
- package/dist/atomic/Alert/index.d.ts.map +1 -0
- package/dist/atomic/AlertDialog/index.d.ts +83 -0
- package/dist/atomic/AlertDialog/index.d.ts.map +1 -0
- package/dist/atomic/Avatar/index.d.ts +53 -0
- package/dist/atomic/Avatar/index.d.ts.map +1 -0
- package/dist/atomic/Badge/index.d.ts +61 -0
- package/dist/atomic/Badge/index.d.ts.map +1 -0
- package/dist/atomic/Blockquote/index.d.ts +70 -0
- package/dist/atomic/Blockquote/index.d.ts.map +1 -0
- package/dist/atomic/Button/index.d.ts +117 -0
- package/dist/atomic/Button/index.d.ts.map +1 -0
- package/dist/atomic/Calendar/index.d.ts +55 -0
- package/dist/atomic/Calendar/index.d.ts.map +1 -0
- package/dist/atomic/CallToAction/index.d.ts +56 -0
- package/dist/atomic/CallToAction/index.d.ts.map +1 -0
- package/dist/atomic/Card/index.d.ts +102 -0
- package/dist/atomic/Card/index.d.ts.map +1 -0
- package/dist/atomic/Checkbox/index.d.ts +79 -0
- package/dist/atomic/Checkbox/index.d.ts.map +1 -0
- package/dist/atomic/Collapsible/index.d.ts +56 -0
- package/dist/atomic/Collapsible/index.d.ts.map +1 -0
- package/dist/atomic/Combobox/index.d.ts +137 -0
- package/dist/atomic/Combobox/index.d.ts.map +1 -0
- package/dist/atomic/Command/index.d.ts +94 -0
- package/dist/atomic/Command/index.d.ts.map +1 -0
- package/dist/atomic/CommandDialog/index.d.ts +62 -0
- package/dist/atomic/CommandDialog/index.d.ts.map +1 -0
- package/dist/atomic/ContextMenu/index.d.ts +60 -0
- package/dist/atomic/ContextMenu/index.d.ts.map +1 -0
- package/dist/atomic/CopyToClipboard/index.d.ts +78 -0
- package/dist/atomic/CopyToClipboard/index.d.ts.map +1 -0
- package/dist/atomic/DescriptionList/index.d.ts +60 -0
- package/dist/atomic/DescriptionList/index.d.ts.map +1 -0
- package/dist/atomic/Dialog/index.d.ts +105 -0
- package/dist/atomic/Dialog/index.d.ts.map +1 -0
- package/dist/atomic/DropdownMenu/index.d.ts +85 -0
- package/dist/atomic/DropdownMenu/index.d.ts.map +1 -0
- package/dist/atomic/DualCard/index.d.ts +101 -0
- package/dist/atomic/DualCard/index.d.ts.map +1 -0
- package/dist/atomic/FeatureFallback/index.d.ts +75 -0
- package/dist/atomic/FeatureFallback/index.d.ts.map +1 -0
- package/dist/atomic/FileButton/index.d.ts +55 -0
- package/dist/atomic/FileButton/index.d.ts.map +1 -0
- package/dist/atomic/Grid/index.d.ts +93 -0
- package/dist/atomic/Grid/index.d.ts.map +1 -0
- package/dist/atomic/HeroSection/index.d.ts +72 -0
- package/dist/atomic/HeroSection/index.d.ts.map +1 -0
- package/dist/atomic/HoverCard/index.d.ts +70 -0
- package/dist/atomic/HoverCard/index.d.ts.map +1 -0
- package/dist/atomic/Icons/index.d.ts +55 -0
- package/dist/atomic/Icons/index.d.ts.map +1 -0
- package/dist/atomic/InfiniteScroll/index.d.ts +62 -0
- package/dist/atomic/InfiniteScroll/index.d.ts.map +1 -0
- package/dist/atomic/Input/index.d.ts +100 -0
- package/dist/atomic/Input/index.d.ts.map +1 -0
- package/dist/atomic/Label/index.d.ts +49 -0
- package/dist/atomic/Label/index.d.ts.map +1 -0
- package/dist/atomic/List/index.d.ts +62 -0
- package/dist/atomic/List/index.d.ts.map +1 -0
- package/dist/atomic/NavigationMenu/index.d.ts +81 -0
- package/dist/atomic/NavigationMenu/index.d.ts.map +1 -0
- package/dist/atomic/Pagination/index.d.ts +86 -0
- package/dist/atomic/Pagination/index.d.ts.map +1 -0
- package/dist/atomic/PasswordInput/index.d.ts +95 -0
- package/dist/atomic/PasswordInput/index.d.ts.map +1 -0
- package/dist/atomic/Popover/index.d.ts +98 -0
- package/dist/atomic/Popover/index.d.ts.map +1 -0
- package/dist/atomic/Portal/index.d.ts +41 -0
- package/dist/atomic/Portal/index.d.ts.map +1 -0
- package/dist/atomic/PortalButton/index.d.ts +54 -0
- package/dist/atomic/PortalButton/index.d.ts.map +1 -0
- package/dist/atomic/Progress/index.d.ts +59 -0
- package/dist/atomic/Progress/index.d.ts.map +1 -0
- package/dist/atomic/RadioGroup/index.d.ts +91 -0
- package/dist/atomic/RadioGroup/index.d.ts.map +1 -0
- package/dist/atomic/RangeInput/index.d.ts +117 -0
- package/dist/atomic/RangeInput/index.d.ts.map +1 -0
- package/dist/atomic/Rating/index.d.ts +74 -0
- package/dist/atomic/Rating/index.d.ts.map +1 -0
- package/dist/atomic/ScrollArea/index.d.ts +59 -0
- package/dist/atomic/ScrollArea/index.d.ts.map +1 -0
- package/dist/atomic/Section/index.d.ts +83 -0
- package/dist/atomic/Section/index.d.ts.map +1 -0
- package/dist/atomic/Select/index.d.ts +116 -0
- package/dist/atomic/Select/index.d.ts.map +1 -0
- package/dist/atomic/Separator/index.d.ts +58 -0
- package/dist/atomic/Separator/index.d.ts.map +1 -0
- package/dist/atomic/Sheet/index.d.ts +106 -0
- package/dist/atomic/Sheet/index.d.ts.map +1 -0
- package/dist/atomic/Skeleton/index.d.ts +59 -0
- package/dist/atomic/Skeleton/index.d.ts.map +1 -0
- package/dist/atomic/Slider/index.d.ts +101 -0
- package/dist/atomic/Slider/index.d.ts.map +1 -0
- package/dist/atomic/Slot/index.d.ts +28 -0
- package/dist/atomic/Slot/index.d.ts.map +1 -0
- package/dist/atomic/Spinner/index.d.ts +52 -0
- package/dist/atomic/Spinner/index.d.ts.map +1 -0
- package/dist/atomic/Stack/index.d.ts +123 -0
- package/dist/atomic/Stack/index.d.ts.map +1 -0
- package/dist/atomic/Stepper/index.d.ts +102 -0
- package/dist/atomic/Stepper/index.d.ts.map +1 -0
- package/dist/atomic/Switch/index.d.ts +88 -0
- package/dist/atomic/Switch/index.d.ts.map +1 -0
- package/dist/atomic/Table/index.d.ts +107 -0
- package/dist/atomic/Table/index.d.ts.map +1 -0
- package/dist/atomic/Tabs/index.d.ts +91 -0
- package/dist/atomic/Tabs/index.d.ts.map +1 -0
- package/dist/atomic/Tag/index.d.ts +78 -0
- package/dist/atomic/Tag/index.d.ts.map +1 -0
- package/dist/atomic/Text/index.d.ts +81 -0
- package/dist/atomic/Text/index.d.ts.map +1 -0
- package/dist/atomic/Textarea/index.d.ts +66 -0
- package/dist/atomic/Textarea/index.d.ts.map +1 -0
- package/dist/atomic/Toaster/index.d.ts +69 -0
- package/dist/atomic/Toaster/index.d.ts.map +1 -0
- package/dist/atomic/Toggle/index.d.ts +76 -0
- package/dist/atomic/Toggle/index.d.ts.map +1 -0
- package/dist/atomic/ToggleGroup/index.d.ts +82 -0
- package/dist/atomic/ToggleGroup/index.d.ts.map +1 -0
- package/dist/atomic/Tooltip/index.d.ts +68 -0
- package/dist/atomic/Tooltip/index.d.ts.map +1 -0
- package/dist/atomic/VideoPlayer/index.d.ts +68 -0
- package/dist/atomic/VideoPlayer/index.d.ts.map +1 -0
- package/dist/atomic/VisuallyHidden/index.d.ts +33 -0
- package/dist/atomic/VisuallyHidden/index.d.ts.map +1 -0
- package/dist/atomic/index.d.ts +146 -0
- package/dist/atomic/index.d.ts.map +1 -0
- package/dist/crud/components/DateFilter.d.ts +29 -0
- package/dist/crud/components/DateFilter.d.ts.map +1 -0
- package/dist/crud/components/DisplayFieldRenderer.d.ts +29 -0
- package/dist/crud/components/DisplayFieldRenderer.d.ts.map +1 -0
- package/dist/crud/components/EntityCardList.d.ts +25 -0
- package/dist/crud/components/EntityCardList.d.ts.map +1 -0
- package/dist/crud/components/EntityDisplayRenderer.d.ts +26 -0
- package/dist/crud/components/EntityDisplayRenderer.d.ts.map +1 -0
- package/dist/crud/components/EntityFilters.d.ts +40 -0
- package/dist/crud/components/EntityFilters.d.ts.map +1 -0
- package/dist/crud/components/EntityFormRenderer.d.ts +66 -0
- package/dist/crud/components/EntityFormRenderer.d.ts.map +1 -0
- package/dist/crud/components/EntityList.d.ts +23 -0
- package/dist/crud/components/EntityList.d.ts.map +1 -0
- package/dist/crud/components/FormFieldRenderer.d.ts +38 -0
- package/dist/crud/components/FormFieldRenderer.d.ts.map +1 -0
- package/dist/crud/components/FormLayout.d.ts +33 -0
- package/dist/crud/components/FormLayout.d.ts.map +1 -0
- package/dist/crud/components/index.d.ts +27 -0
- package/dist/crud/components/index.d.ts.map +1 -0
- package/dist/crud/contexts/UploadContext.d.ts +22 -0
- package/dist/crud/contexts/UploadContext.d.ts.map +1 -0
- package/dist/crud/forms/hooks/useEntityForm.d.ts +11 -0
- package/dist/crud/forms/hooks/useEntityForm.d.ts.map +1 -0
- package/dist/crud/hooks/useUnsavedChangesWarning.d.ts +23 -0
- package/dist/crud/hooks/useUnsavedChangesWarning.d.ts.map +1 -0
- package/dist/crud/index.d.ts +17 -0
- package/dist/crud/index.d.ts.map +1 -0
- package/dist/crud/stores/index.d.ts +11 -0
- package/dist/crud/stores/index.d.ts.map +1 -0
- package/dist/features/auth/components/AuthPartnerButton.d.ts +31 -0
- package/dist/features/auth/components/AuthPartnerButton.d.ts.map +1 -0
- package/dist/features/auth/components/ConfirmDeleteDialog.d.ts +30 -0
- package/dist/features/auth/components/ConfirmDeleteDialog.d.ts.map +1 -0
- package/dist/features/auth/components/FeatureGuard.d.ts +53 -0
- package/dist/features/auth/components/FeatureGuard.d.ts.map +1 -0
- package/dist/features/auth/components/GoogleOneTap.d.ts +19 -0
- package/dist/features/auth/components/GoogleOneTap.d.ts.map +1 -0
- package/dist/features/auth/components/LoginModal.d.ts +18 -0
- package/dist/features/auth/components/LoginModal.d.ts.map +1 -0
- package/dist/features/auth/components/MultipleAuthProviders.d.ts +37 -0
- package/dist/features/auth/components/MultipleAuthProviders.d.ts.map +1 -0
- package/dist/features/auth/components/ReauthDialog.d.ts +30 -0
- package/dist/features/auth/components/ReauthDialog.d.ts.map +1 -0
- package/dist/features/auth/components/index.d.ts +22 -0
- package/dist/features/auth/components/index.d.ts.map +1 -0
- package/dist/features/auth/hooks/index.d.ts +14 -0
- package/dist/features/auth/hooks/index.d.ts.map +1 -0
- package/dist/features/auth/hooks/useAuthState.d.ts +29 -0
- package/dist/features/auth/hooks/useAuthState.d.ts.map +1 -0
- package/dist/features/auth/hooks/useCanAccess.d.ts +25 -0
- package/dist/features/auth/hooks/useCanAccess.d.ts.map +1 -0
- package/dist/features/auth/hooks/useHasRole.d.ts +26 -0
- package/dist/features/auth/hooks/useHasRole.d.ts.map +1 -0
- package/dist/features/auth/hooks/useUserRole.d.ts +25 -0
- package/dist/features/auth/hooks/useUserRole.d.ts.map +1 -0
- package/dist/features/auth/index.d.ts +16 -0
- package/dist/features/auth/index.d.ts.map +1 -0
- package/dist/features/billing/components/ProductCard.d.ts +37 -0
- package/dist/features/billing/components/ProductCard.d.ts.map +1 -0
- package/dist/features/billing/components/SecurityNotice.d.ts +26 -0
- package/dist/features/billing/components/SecurityNotice.d.ts.map +1 -0
- package/dist/features/billing/components/StripeCheckoutButton.d.ts +41 -0
- package/dist/features/billing/components/StripeCheckoutButton.d.ts.map +1 -0
- package/dist/features/billing/components/SubscriptionManager.d.ts +29 -0
- package/dist/features/billing/components/SubscriptionManager.d.ts.map +1 -0
- package/dist/features/billing/components/index.d.ts +17 -0
- package/dist/features/billing/components/index.d.ts.map +1 -0
- package/dist/features/billing/index.d.ts +12 -0
- package/dist/features/billing/index.d.ts.map +1 -0
- package/dist/features/index.d.ts +12 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/oauth/components/MultipleOAuthProviders.d.ts +42 -0
- package/dist/features/oauth/components/MultipleOAuthProviders.d.ts.map +1 -0
- package/dist/features/oauth/components/OAuthConnectionModal.d.ts +21 -0
- package/dist/features/oauth/components/OAuthConnectionModal.d.ts.map +1 -0
- package/dist/features/oauth/components/OAuthFallback.d.ts +22 -0
- package/dist/features/oauth/components/OAuthFallback.d.ts.map +1 -0
- package/dist/features/oauth/components/OAuthPartnerButton.d.ts +35 -0
- package/dist/features/oauth/components/OAuthPartnerButton.d.ts.map +1 -0
- package/dist/features/oauth/components/index.d.ts +17 -0
- package/dist/features/oauth/components/index.d.ts.map +1 -0
- package/dist/features/oauth/index.d.ts +11 -0
- package/dist/features/oauth/index.d.ts.map +1 -0
- package/dist/firebase/authPersistence.d.ts +23 -0
- package/dist/firebase/authPersistence.d.ts.map +1 -0
- package/dist/firebase/index.d.ts +10 -0
- package/dist/firebase/index.d.ts.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/providers/ExpoAppProviders.d.ts +46 -0
- package/dist/providers/ExpoAppProviders.d.ts.map +1 -0
- package/dist/routing/components.d.ts +26 -0
- package/dist/routing/components.d.ts.map +1 -0
- package/dist/routing/hooks.d.ts +87 -0
- package/dist/routing/hooks.d.ts.map +1 -0
- package/dist/routing/index.d.ts +11 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/utils/useFormStoreSafe.d.ts +15 -0
- package/dist/routing/utils/useFormStoreSafe.d.ts.map +1 -0
- package/dist/storage/AsyncStorageStrategy.d.ts +55 -0
- package/dist/storage/AsyncStorageStrategy.d.ts.map +1 -0
- package/dist/storage/zustandAsyncStorage.d.ts +22 -0
- package/dist/storage/zustandAsyncStorage.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +111 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/index.d.ts +8 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/tokens.d.ts +152 -0
- package/dist/theme/tokens.d.ts.map +1 -0
- package/dist/utils/constants.d.ts +73 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/helpers.d.ts +39 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/theme-helpers.d.ts +29 -0
- package/dist/utils/theme-helpers.d.ts.map +1 -0
- package/dist/utils/useAuthSafe.d.ts +8 -0
- package/dist/utils/useAuthSafe.d.ts.map +1 -0
- package/dist/utils/variants.d.ts +25 -0
- package/dist/utils/variants.d.ts.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview CallToAction component
|
|
3
|
+
* @description Conversion-focused CTA section with title, subtitle, and actions
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type ViewStyle } from 'react-native';
|
|
10
|
+
import type { ReactNode } from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* CallToAction component props interface
|
|
13
|
+
*/
|
|
14
|
+
export interface CallToActionProps {
|
|
15
|
+
/**
|
|
16
|
+
* Main title
|
|
17
|
+
*/
|
|
18
|
+
title?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Subtitle or description
|
|
21
|
+
*/
|
|
22
|
+
subtitle?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Primary action button
|
|
25
|
+
*/
|
|
26
|
+
primaryAction?: ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Secondary action button
|
|
29
|
+
*/
|
|
30
|
+
secondaryAction?: ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* Visual tone for background color
|
|
33
|
+
* @default 'default'
|
|
34
|
+
*/
|
|
35
|
+
tone?: 'default' | 'primary' | 'accent' | 'muted';
|
|
36
|
+
/**
|
|
37
|
+
* Alternative content (replaces structured title/subtitle/actions)
|
|
38
|
+
*/
|
|
39
|
+
children?: ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Content alignment
|
|
42
|
+
* @default 'center'
|
|
43
|
+
*/
|
|
44
|
+
align?: 'start' | 'center' | 'end';
|
|
45
|
+
/**
|
|
46
|
+
* Additional style
|
|
47
|
+
*/
|
|
48
|
+
style?: ViewStyle;
|
|
49
|
+
/**
|
|
50
|
+
* Test ID for testing
|
|
51
|
+
*/
|
|
52
|
+
testID?: string;
|
|
53
|
+
}
|
|
54
|
+
declare const CallToAction: ({ title, subtitle, primaryAction, secondaryAction, tone, children, align, style, testID, }: CallToActionProps) => import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export default CallToAction;
|
|
56
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/CallToAction/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAOhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClD;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwCD,QAAA,MAAM,YAAY,GAAI,4FAUnB,iBAAiB,4CAoDnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Card component
|
|
3
|
+
* @description Card component with behavioral variants and elevation
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type ViewStyle } from 'react-native';
|
|
10
|
+
import { SURFACE_VARIANT } from '../../utils/constants';
|
|
11
|
+
import type { ReactNode } from 'react';
|
|
12
|
+
/**
|
|
13
|
+
* Card variant type
|
|
14
|
+
*/
|
|
15
|
+
export type CardVariant = (typeof SURFACE_VARIANT)[keyof typeof SURFACE_VARIANT];
|
|
16
|
+
/**
|
|
17
|
+
* Card content type - string, string[], or ReactNode
|
|
18
|
+
*/
|
|
19
|
+
export type CardContent = string | string[] | ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Renders card content
|
|
22
|
+
*/
|
|
23
|
+
export declare function renderCardContent(content: CardContent | undefined): ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* Renders card header with title and subtitle
|
|
26
|
+
*/
|
|
27
|
+
export declare function renderCardHeader({ title, subtitle, }: {
|
|
28
|
+
title?: string;
|
|
29
|
+
subtitle?: string;
|
|
30
|
+
}): ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* Card component props interface
|
|
33
|
+
*/
|
|
34
|
+
export interface CardProps {
|
|
35
|
+
/**
|
|
36
|
+
* Icon element rendered in the card header
|
|
37
|
+
*/
|
|
38
|
+
icon?: ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Card title
|
|
41
|
+
*/
|
|
42
|
+
title?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Card subtitle
|
|
45
|
+
*/
|
|
46
|
+
subtitle?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Card content (string, string[], or ReactNode)
|
|
49
|
+
*/
|
|
50
|
+
content?: CardContent;
|
|
51
|
+
/**
|
|
52
|
+
* Footer content
|
|
53
|
+
*/
|
|
54
|
+
footer?: ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* Variant style
|
|
57
|
+
* @default 'default'
|
|
58
|
+
*/
|
|
59
|
+
variant?: CardVariant;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the card is clickable (wraps in pressable)
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
clickable?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Whether to apply elevated shadow
|
|
67
|
+
* @default false
|
|
68
|
+
*/
|
|
69
|
+
elevated?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Press handler (implies clickable)
|
|
72
|
+
*/
|
|
73
|
+
onPress?: () => void;
|
|
74
|
+
/**
|
|
75
|
+
* Card children (alternative to content)
|
|
76
|
+
*/
|
|
77
|
+
children?: ReactNode;
|
|
78
|
+
/**
|
|
79
|
+
* Additional style
|
|
80
|
+
*/
|
|
81
|
+
style?: ViewStyle;
|
|
82
|
+
/**
|
|
83
|
+
* Test ID for testing
|
|
84
|
+
*/
|
|
85
|
+
testID?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Card component with behavioral variants.
|
|
89
|
+
*
|
|
90
|
+
* @component
|
|
91
|
+
* @example
|
|
92
|
+
* ```tsx
|
|
93
|
+
* <Card title="Title" content="Content text" />
|
|
94
|
+
* <Card title="Title" subtitle="Subtitle" content={["Item 1", "Item 2"]} />
|
|
95
|
+
* <Card variant="primary">
|
|
96
|
+
* <Text>Custom content</Text>
|
|
97
|
+
* </Card>
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
declare const Card: ({ icon, title, subtitle, content, footer, variant, clickable, elevated, onPress, children, style, testID, }: CardProps) => import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
export default Card;
|
|
102
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Card/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,WAAW,GACrB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAExD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAqB7E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,SAAS,CAgBZ;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,IAAI,GAAI,6GAaX,SAAS,4CA2DX,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Checkbox component
|
|
3
|
+
* @description Accessible checkbox control with semantic color variants
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type ViewStyle } from 'react-native';
|
|
10
|
+
import { CONTROL_VARIANT } from '../../utils/constants';
|
|
11
|
+
import type { ReactNode } from 'react';
|
|
12
|
+
/**
|
|
13
|
+
* Checkbox component props interface
|
|
14
|
+
*/
|
|
15
|
+
export interface CheckboxProps {
|
|
16
|
+
/**
|
|
17
|
+
* Whether checkbox is checked
|
|
18
|
+
*/
|
|
19
|
+
checked?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether checkbox is disabled
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Semantic color variant
|
|
27
|
+
* @default 'default'
|
|
28
|
+
*/
|
|
29
|
+
variant?: (typeof CONTROL_VARIANT)[keyof typeof CONTROL_VARIANT];
|
|
30
|
+
/**
|
|
31
|
+
* Change handler
|
|
32
|
+
*/
|
|
33
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
34
|
+
/**
|
|
35
|
+
* Optional label text
|
|
36
|
+
*/
|
|
37
|
+
label?: ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Label content next to the checkbox (alternative to label prop)
|
|
40
|
+
*/
|
|
41
|
+
children?: ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* Whether label shows required indicator
|
|
44
|
+
*/
|
|
45
|
+
required?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Additional style
|
|
48
|
+
*/
|
|
49
|
+
style?: ViewStyle;
|
|
50
|
+
/**
|
|
51
|
+
* Test ID for testing
|
|
52
|
+
*/
|
|
53
|
+
testID?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Form name attribute (for API parity with web)
|
|
56
|
+
*/
|
|
57
|
+
name?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Form type attribute (for API parity with web)
|
|
60
|
+
*/
|
|
61
|
+
type?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Form value attribute (for API parity with web)
|
|
64
|
+
*/
|
|
65
|
+
value?: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Accessible checkbox control with semantic color variants.
|
|
69
|
+
*
|
|
70
|
+
* @component
|
|
71
|
+
* @example
|
|
72
|
+
* ```tsx
|
|
73
|
+
* <Checkbox checked={agreed} onCheckedChange={setAgreed} />
|
|
74
|
+
* <Checkbox checked={consent} onCheckedChange={setConsent} label="I agree" required />
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
declare const Checkbox: ({ checked, disabled, variant, onCheckedChange, label, children, required, style, testID, }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
|
|
78
|
+
export default Checkbox;
|
|
79
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Checkbox/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;IACjE;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD;;;;;;;;;GASG;AACH,QAAA,MAAM,QAAQ,GAAI,4FAUf,aAAa,4CAkFf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Collapsible component
|
|
3
|
+
* @description Interactive component for expanding/collapsing content
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type ViewStyle } from 'react-native';
|
|
10
|
+
import type { ReactNode } from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* Collapsible component props interface
|
|
13
|
+
*/
|
|
14
|
+
export interface CollapsibleProps {
|
|
15
|
+
/** Trigger element (button, text, etc.) */
|
|
16
|
+
trigger?: ReactNode;
|
|
17
|
+
/** Collapsible content */
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
/** Controlled open state */
|
|
20
|
+
open?: boolean;
|
|
21
|
+
/** Callback when open state changes */
|
|
22
|
+
onOpenChange?: (open: boolean) => void;
|
|
23
|
+
/** Default open state (uncontrolled) */
|
|
24
|
+
defaultOpen?: boolean;
|
|
25
|
+
/** Whether the collapsible is disabled */
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Show icon indicator
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
showIcon?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Icon style: 'plus-minus' or 'chevron'
|
|
34
|
+
* @default 'plus-minus'
|
|
35
|
+
*/
|
|
36
|
+
iconStyle?: 'plus-minus' | 'chevron';
|
|
37
|
+
/** Additional style */
|
|
38
|
+
style?: ViewStyle;
|
|
39
|
+
/** Test ID for testing */
|
|
40
|
+
testID?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Accessible collapsible component.
|
|
44
|
+
* Expands and collapses content.
|
|
45
|
+
*
|
|
46
|
+
* @component
|
|
47
|
+
* @example
|
|
48
|
+
* ```tsx
|
|
49
|
+
* <Collapsible trigger={<Button>Toggle details</Button>}>
|
|
50
|
+
* <Text>Hidden content here</Text>
|
|
51
|
+
* </Collapsible>
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
declare const Collapsible: ({ trigger, children, open: controlledOpen, onOpenChange, defaultOpen, disabled, showIcon, iconStyle, style, testID, }: CollapsibleProps) => import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export default Collapsible;
|
|
56
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Collapsible/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACrC,uBAAuB;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,WAAW,GAAI,uHAWlB,gBAAgB,4CAuDlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Combobox component
|
|
3
|
+
* @description Searchable select with autocomplete, Modal-based outside-press dismiss,
|
|
4
|
+
* debounced filtering, loading/empty states, and custom option rendering.
|
|
5
|
+
*
|
|
6
|
+
* @version 0.1.0
|
|
7
|
+
* @since 0.0.1
|
|
8
|
+
* @author AMBROISE PARK Consulting
|
|
9
|
+
*/
|
|
10
|
+
import { type ViewStyle } from 'react-native';
|
|
11
|
+
import { CONTROL_VARIANT } from '../../utils/constants';
|
|
12
|
+
import type { ReactNode } from 'react';
|
|
13
|
+
/**
|
|
14
|
+
* Combobox option interface
|
|
15
|
+
*/
|
|
16
|
+
export interface ComboboxOption {
|
|
17
|
+
value: string;
|
|
18
|
+
label: string;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
description?: string;
|
|
21
|
+
content?: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Combobox component props interface
|
|
25
|
+
*/
|
|
26
|
+
export interface ComboboxProps {
|
|
27
|
+
/** Selected value(s) */
|
|
28
|
+
value?: string | string[];
|
|
29
|
+
/** Change handler */
|
|
30
|
+
onValueChange?: (value: string | string[]) => void;
|
|
31
|
+
/** Placeholder text */
|
|
32
|
+
placeholder?: string;
|
|
33
|
+
/** Array of options */
|
|
34
|
+
options?: ComboboxOption[];
|
|
35
|
+
/**
|
|
36
|
+
* Whether the combobox is disabled
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the combobox is loading options asynchronously
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
isLoading?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Variant style
|
|
47
|
+
* @default 'default'
|
|
48
|
+
*/
|
|
49
|
+
variant?: (typeof CONTROL_VARIANT)[keyof typeof CONTROL_VARIANT];
|
|
50
|
+
/**
|
|
51
|
+
* Empty message shown when filter yields no results
|
|
52
|
+
* @default 'No results found'
|
|
53
|
+
*/
|
|
54
|
+
emptyMessage?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Multiple selection
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
multiple?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether users can create new options when no match is found
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
creatable?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Label for the create option
|
|
67
|
+
* @default 'Create'
|
|
68
|
+
*/
|
|
69
|
+
createLabel?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Whether the selection can be cleared
|
|
72
|
+
* @default false
|
|
73
|
+
*/
|
|
74
|
+
clearable?: boolean;
|
|
75
|
+
/** Label text */
|
|
76
|
+
label?: string;
|
|
77
|
+
/** Whether field is required */
|
|
78
|
+
required?: boolean;
|
|
79
|
+
/** Additional style */
|
|
80
|
+
style?: ViewStyle;
|
|
81
|
+
/** Test ID for testing */
|
|
82
|
+
testID?: string;
|
|
83
|
+
/** Callback when open state changes */
|
|
84
|
+
onOpenChange?: (open: boolean) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Whether users can create new options from search text.
|
|
87
|
+
* Alias for `creatable` — when true, shows a "Create …" row.
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
allowCreate?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Callback fired when the user selects the "Create" row.
|
|
93
|
+
* Receives the trimmed search text. If omitted the value is
|
|
94
|
+
* passed through `onValueChange` as-is.
|
|
95
|
+
*/
|
|
96
|
+
onCreateOption?: (text: string) => void;
|
|
97
|
+
/**
|
|
98
|
+
* Custom option renderer. Receives the option and whether it is selected.
|
|
99
|
+
* When provided, replaces the default label + description layout.
|
|
100
|
+
*/
|
|
101
|
+
renderOption?: (option: ComboboxOption, selected: boolean) => ReactNode;
|
|
102
|
+
/**
|
|
103
|
+
* Maximum height of the scrollable options list (px).
|
|
104
|
+
* @default 300
|
|
105
|
+
*/
|
|
106
|
+
maxHeight?: number;
|
|
107
|
+
/**
|
|
108
|
+
* Debounce delay in ms applied to the search input.
|
|
109
|
+
* @default 150
|
|
110
|
+
*/
|
|
111
|
+
debounce?: number;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Searchable select component with autocomplete.
|
|
115
|
+
*
|
|
116
|
+
* Features:
|
|
117
|
+
* - Modal overlay for reliable outside-press dismiss
|
|
118
|
+
* - Always-visible TextInput for search/filter
|
|
119
|
+
* - Debounced filtering for performance
|
|
120
|
+
* - Loading, empty, and create-new states
|
|
121
|
+
* - Custom option rendering via `renderOption`
|
|
122
|
+
* - Fully theme-aware — no hardcoded colors
|
|
123
|
+
*
|
|
124
|
+
* @component
|
|
125
|
+
* @example
|
|
126
|
+
* ```tsx
|
|
127
|
+
* <Combobox
|
|
128
|
+
* value={value}
|
|
129
|
+
* onValueChange={setValue}
|
|
130
|
+
* options={[{ value: '1', label: 'Option 1' }]}
|
|
131
|
+
* placeholder="Search items..."
|
|
132
|
+
* />
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
declare const Combobox: ({ value, onValueChange, placeholder, options, disabled, isLoading, variant, emptyMessage, multiple, creatable, createLabel, clearable, label, required, style, testID, onOpenChange, allowCreate, onCreateOption, renderOption, maxHeight, debounce, }: ComboboxProps) => import("react/jsx-runtime").JSX.Element;
|
|
136
|
+
export default Combobox;
|
|
137
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Combobox/index.tsx"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAGH,OAAO,EAQL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,qBAAqB;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;IACjE;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAIvC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAC;IACxE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAqBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,QAAQ,GAAI,wPAuBf,aAAa,4CA4Uf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Command component
|
|
3
|
+
* @description Command palette component
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type ViewStyle } from 'react-native';
|
|
10
|
+
import type { ReactNode } from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* Command item interface
|
|
13
|
+
*/
|
|
14
|
+
export interface CommandItem {
|
|
15
|
+
/** The main label text */
|
|
16
|
+
label: string;
|
|
17
|
+
/** Optional value (defaults to label) */
|
|
18
|
+
value?: string;
|
|
19
|
+
/** Optional description */
|
|
20
|
+
description?: string;
|
|
21
|
+
/** Optional icon */
|
|
22
|
+
icon?: ReactNode;
|
|
23
|
+
/** Optional badge */
|
|
24
|
+
badge?: ReactNode;
|
|
25
|
+
/** Callback when selected */
|
|
26
|
+
onSelect?: () => void;
|
|
27
|
+
/** Keyboard shortcut hint */
|
|
28
|
+
shortcut?: string;
|
|
29
|
+
/** Whether the item is disabled */
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Command group interface
|
|
34
|
+
*/
|
|
35
|
+
export interface CommandGroup {
|
|
36
|
+
/** Group heading */
|
|
37
|
+
heading?: string;
|
|
38
|
+
/** List of items in the group */
|
|
39
|
+
items: CommandItem[];
|
|
40
|
+
/** Whether to show a separator before this group */
|
|
41
|
+
separator?: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Command component props interface
|
|
45
|
+
*/
|
|
46
|
+
export interface CommandProps {
|
|
47
|
+
/**
|
|
48
|
+
* Placeholder text for the search input
|
|
49
|
+
*/
|
|
50
|
+
placeholder?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Message to show when no results found
|
|
53
|
+
*/
|
|
54
|
+
emptyMessage?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Groups of command items
|
|
57
|
+
*/
|
|
58
|
+
groups?: CommandGroup[];
|
|
59
|
+
/**
|
|
60
|
+
* Standalone command items (ungrouped)
|
|
61
|
+
*/
|
|
62
|
+
items?: CommandItem[];
|
|
63
|
+
/**
|
|
64
|
+
* Callback when close button is clicked
|
|
65
|
+
*/
|
|
66
|
+
onClose?: () => void;
|
|
67
|
+
/**
|
|
68
|
+
* Additional style
|
|
69
|
+
*/
|
|
70
|
+
style?: ViewStyle;
|
|
71
|
+
/**
|
|
72
|
+
* Test ID for testing
|
|
73
|
+
*/
|
|
74
|
+
testID?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Command palette component.
|
|
78
|
+
*
|
|
79
|
+
* @component
|
|
80
|
+
* @example
|
|
81
|
+
* ```tsx
|
|
82
|
+
* <Command
|
|
83
|
+
* groups={[
|
|
84
|
+
* {
|
|
85
|
+
* heading: 'Actions',
|
|
86
|
+
* items: [{ label: 'Copy', onSelect: handleCopy }]
|
|
87
|
+
* }
|
|
88
|
+
* ]}
|
|
89
|
+
* />
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
declare const Command: ({ placeholder, emptyMessage, groups, items, onClose, style, testID, }: CommandProps) => import("react/jsx-runtime").JSX.Element;
|
|
93
|
+
export default Command;
|
|
94
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Command/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qBAAqB;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAeD;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,OAAO,GAAI,uEAQd,YAAY,4CA0Id,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview CommandDialog component
|
|
3
|
+
* @description Command palette in a dialog
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type CommandProps } from '../Command';
|
|
10
|
+
import type { ReactNode } from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* Hook to close command dialog
|
|
13
|
+
*/
|
|
14
|
+
export declare const useCommandDialogClose: () => () => void;
|
|
15
|
+
/**
|
|
16
|
+
* CommandDialog component props interface
|
|
17
|
+
*/
|
|
18
|
+
export interface CommandDialogProps extends Omit<CommandProps, 'onClose'> {
|
|
19
|
+
/**
|
|
20
|
+
* Controlled open state
|
|
21
|
+
*/
|
|
22
|
+
open?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Callback when open state changes
|
|
25
|
+
*/
|
|
26
|
+
onOpenChange?: (open: boolean) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Trigger element
|
|
29
|
+
*/
|
|
30
|
+
trigger?: React.ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* Dialog description text
|
|
33
|
+
*/
|
|
34
|
+
description?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Custom content override (replaces default Command rendering)
|
|
37
|
+
*/
|
|
38
|
+
children?: ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Footer content rendered below the command list
|
|
41
|
+
*/
|
|
42
|
+
footer?: ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* Test ID for testing
|
|
45
|
+
*/
|
|
46
|
+
testID?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Command palette in a dialog.
|
|
50
|
+
*
|
|
51
|
+
* @component
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* <CommandDialog
|
|
55
|
+
* trigger={<Button>Open Command</Button>}
|
|
56
|
+
* groups={[{ heading: 'Actions', items: [{ label: 'Copy', onSelect: handleCopy }] }]}
|
|
57
|
+
* />
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
declare const CommandDialog: ({ open: controlledOpen, onOpenChange, trigger, description, children, footer, testID, ...commandProps }: CommandDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export default CommandDialog;
|
|
62
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/CommandDialog/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAMH,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASvC;;GAEG;AACH,eAAO,MAAM,qBAAqB,cANnB,IASd,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IACvE;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,aAAa,GAAI,yGASpB,kBAAkB,4CAwCpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview ContextMenu component
|
|
3
|
+
* @description Context menu component (long press on mobile)
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type ViewStyle } from 'react-native';
|
|
10
|
+
import type { ReactNode } from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* Context menu item type
|
|
13
|
+
*/
|
|
14
|
+
export interface ContextMenuItemType {
|
|
15
|
+
label: string;
|
|
16
|
+
value?: string;
|
|
17
|
+
icon?: ReactNode;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
separator?: boolean;
|
|
20
|
+
onSelect?: () => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* ContextMenu component props interface
|
|
24
|
+
*/
|
|
25
|
+
export interface ContextMenuProps {
|
|
26
|
+
/**
|
|
27
|
+
* Trigger element
|
|
28
|
+
*/
|
|
29
|
+
trigger: ReactNode;
|
|
30
|
+
/**
|
|
31
|
+
* Menu items
|
|
32
|
+
*/
|
|
33
|
+
items?: ContextMenuItemType[];
|
|
34
|
+
/**
|
|
35
|
+
* Additional style
|
|
36
|
+
*/
|
|
37
|
+
style?: ViewStyle;
|
|
38
|
+
/**
|
|
39
|
+
* Test ID for testing
|
|
40
|
+
*/
|
|
41
|
+
testID?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Context menu component (long press on mobile).
|
|
45
|
+
*
|
|
46
|
+
* @component
|
|
47
|
+
* @example
|
|
48
|
+
* ```tsx
|
|
49
|
+
* <ContextMenu
|
|
50
|
+
* trigger={<View>Long press me</View>}
|
|
51
|
+
* items={[
|
|
52
|
+
* { label: 'Copy', onSelect: () => console.log('copy') },
|
|
53
|
+
* { label: 'Delete', onSelect: () => console.log('delete') }
|
|
54
|
+
* ]}
|
|
55
|
+
* />
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
declare const ContextMenu: ({ trigger, items, style, testID, }: ContextMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
export default ContextMenu;
|
|
60
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/ContextMenu/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,WAAW,GAAI,oCAKlB,gBAAgB,4CAgGlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|