@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,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview ScrollArea component
|
|
3
|
+
* @description Scrollable area component
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type ScrollViewProps, type ViewStyle } from 'react-native';
|
|
10
|
+
/**
|
|
11
|
+
* ScrollArea component props interface
|
|
12
|
+
*/
|
|
13
|
+
export interface ScrollAreaProps extends ScrollViewProps {
|
|
14
|
+
/**
|
|
15
|
+
* Show horizontal scroll indicator
|
|
16
|
+
*/
|
|
17
|
+
showHorizontal?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Show vertical scroll indicator
|
|
20
|
+
*/
|
|
21
|
+
showVertical?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Additional style
|
|
24
|
+
*/
|
|
25
|
+
style?: ViewStyle;
|
|
26
|
+
/**
|
|
27
|
+
* Test ID for testing
|
|
28
|
+
*/
|
|
29
|
+
testID?: string;
|
|
30
|
+
/**
|
|
31
|
+
* End prop (for API parity with web)
|
|
32
|
+
*/
|
|
33
|
+
end?: any;
|
|
34
|
+
/**
|
|
35
|
+
* Type prop (for API parity with web)
|
|
36
|
+
*/
|
|
37
|
+
type?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Scrollable area component.
|
|
41
|
+
* Wrapper around ScrollView for consistency.
|
|
42
|
+
*
|
|
43
|
+
* @component
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* <ScrollArea>
|
|
47
|
+
* <Text>Long content...</Text>
|
|
48
|
+
* </ScrollArea>
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
declare const ScrollArea: ({ children, showHorizontal, showVertical, style, testID, ...scrollViewProps }: ScrollAreaProps) => import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
/**
|
|
53
|
+
* ScrollBar component - No-op on React Native (handled by ScrollView)
|
|
54
|
+
*/
|
|
55
|
+
export declare const ScrollBar: ({ children }: {
|
|
56
|
+
children: React.ReactNode;
|
|
57
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
export default ScrollArea;
|
|
59
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/ScrollArea/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIhF;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC;IACV;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,UAAU,GAAI,+EAOjB,eAAe,4CAYjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CAEpE,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Section component
|
|
3
|
+
* @description Layout section with title and optional separator
|
|
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
|
+
* Section component props interface
|
|
13
|
+
*/
|
|
14
|
+
export interface SectionProps {
|
|
15
|
+
/**
|
|
16
|
+
* Section title
|
|
17
|
+
*/
|
|
18
|
+
title?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Section subtitle
|
|
21
|
+
*/
|
|
22
|
+
subtitle?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Section content
|
|
25
|
+
*/
|
|
26
|
+
children: ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Whether to show separator after title
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
showSeparator?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Separator prop (alias for showSeparator, for API parity with web)
|
|
34
|
+
*/
|
|
35
|
+
separator?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Whether the section is collapsible
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
collapsible?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Default collapsed state (only used when collapsible=true)
|
|
43
|
+
* @default true
|
|
44
|
+
*/
|
|
45
|
+
defaultCollapsed?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Tone variant
|
|
48
|
+
* @default 'default'
|
|
49
|
+
*/
|
|
50
|
+
tone?: 'default' | 'primary' | 'accent' | 'muted';
|
|
51
|
+
/**
|
|
52
|
+
* Text alignment for title
|
|
53
|
+
* @default 'start'
|
|
54
|
+
*/
|
|
55
|
+
align?: 'start' | 'center' | 'end';
|
|
56
|
+
/**
|
|
57
|
+
* Controlled open state (inverse of collapsed)
|
|
58
|
+
*/
|
|
59
|
+
open?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Callback when open state changes
|
|
62
|
+
*/
|
|
63
|
+
onOpenChange?: (open: boolean) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Default open state (inverse of defaultCollapsed)
|
|
66
|
+
*/
|
|
67
|
+
defaultOpen?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Actions rendered in the header (right side)
|
|
70
|
+
*/
|
|
71
|
+
actions?: ReactNode;
|
|
72
|
+
/**
|
|
73
|
+
* Additional style
|
|
74
|
+
*/
|
|
75
|
+
style?: ViewStyle;
|
|
76
|
+
/**
|
|
77
|
+
* Test ID for testing
|
|
78
|
+
*/
|
|
79
|
+
testID?: string;
|
|
80
|
+
}
|
|
81
|
+
declare const Section: ({ title, subtitle, children, showSeparator, separator, collapsible, defaultCollapsed, tone, align, open, onOpenChange, defaultOpen, actions, style, testID, }: SectionProps) => import("react/jsx-runtime").JSX.Element;
|
|
82
|
+
export default Section;
|
|
83
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Section/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAOtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClD;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2BD,QAAA,MAAM,OAAO,GAAI,+JAgBd,YAAY,4CAqFd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Select component
|
|
3
|
+
* @description Production-quality select component with modal overlay dismiss,
|
|
4
|
+
* search/filter, multi-select, grouped options, and smooth animations.
|
|
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
|
+
/**
|
|
12
|
+
* Select option interface
|
|
13
|
+
*/
|
|
14
|
+
export interface SelectOption {
|
|
15
|
+
value: string;
|
|
16
|
+
label: string;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
description?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Grouped options — a labelled group containing options.
|
|
22
|
+
*/
|
|
23
|
+
export interface SelectGroup {
|
|
24
|
+
label: string;
|
|
25
|
+
options: SelectOption[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Union helper — items can be flat options, grouped options, or a mix.
|
|
29
|
+
*/
|
|
30
|
+
type SelectItems = SelectOption[] | SelectGroup[];
|
|
31
|
+
/**
|
|
32
|
+
* Select component props interface.
|
|
33
|
+
*
|
|
34
|
+
* Backwards-compatible with the original API — all new props are optional.
|
|
35
|
+
*/
|
|
36
|
+
export interface SelectProps {
|
|
37
|
+
/** Selected value (single mode) or values (multi mode). */
|
|
38
|
+
value?: string | string[];
|
|
39
|
+
/** Change handler — receives a string in single mode, string[] in multi mode. */
|
|
40
|
+
onValueChange?: (value: string | string[]) => void;
|
|
41
|
+
/** Placeholder text shown when nothing is selected. */
|
|
42
|
+
placeholder?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Array of options or grouped options.
|
|
45
|
+
* Flat: `[{ value, label }]`
|
|
46
|
+
* Grouped: `[{ label: 'Group', options: [...] }]`
|
|
47
|
+
*/
|
|
48
|
+
options?: SelectItems;
|
|
49
|
+
/** Whether the select is disabled. @default false */
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
/** Label text rendered above the trigger. */
|
|
52
|
+
label?: string;
|
|
53
|
+
/** Whether the field is required (shows asterisk after label). */
|
|
54
|
+
required?: boolean;
|
|
55
|
+
/** Additional style applied to the root wrapper. */
|
|
56
|
+
style?: ViewStyle;
|
|
57
|
+
/** Test ID for testing. */
|
|
58
|
+
testID?: string;
|
|
59
|
+
/** Enable a search/filter input at the top of the dropdown. @default false */
|
|
60
|
+
searchable?: boolean;
|
|
61
|
+
/** Placeholder for the search input. @default 'Search...' */
|
|
62
|
+
searchPlaceholder?: string;
|
|
63
|
+
/** Enable multi-select with checkbox indicators. @default false */
|
|
64
|
+
multiple?: boolean;
|
|
65
|
+
/** Maximum height of the dropdown list. @default 300 */
|
|
66
|
+
maxHeight?: number;
|
|
67
|
+
/** Text shown when search yields no results. @default 'No results found' */
|
|
68
|
+
emptyMessage?: string;
|
|
69
|
+
/** Callback when open state changes. */
|
|
70
|
+
onOpenChange?: (open: boolean) => void;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Production-quality accessible select component.
|
|
74
|
+
*
|
|
75
|
+
* Features:
|
|
76
|
+
* - Modal overlay for outside-press dismiss
|
|
77
|
+
* - Proper positioning below (or above) the trigger
|
|
78
|
+
* - Theme-aware — all colors from `useTheme()`
|
|
79
|
+
* - Accessible roles and states
|
|
80
|
+
* - Animated dropdown (fade + slide)
|
|
81
|
+
* - Optional search/filter (`searchable`)
|
|
82
|
+
* - Optional multi-select (`multiple`)
|
|
83
|
+
* - Grouped options support
|
|
84
|
+
* - Hardware back button dismiss (Android)
|
|
85
|
+
* - Scrollable with configurable `maxHeight`
|
|
86
|
+
*
|
|
87
|
+
* @component
|
|
88
|
+
* @example
|
|
89
|
+
* ```tsx
|
|
90
|
+
* // Simple usage (backwards-compatible)
|
|
91
|
+
* <Select
|
|
92
|
+
* value={value}
|
|
93
|
+
* onValueChange={setValue}
|
|
94
|
+
* placeholder="Select an option..."
|
|
95
|
+
* options={[
|
|
96
|
+
* { value: 'option1', label: 'Option 1' },
|
|
97
|
+
* { value: 'option2', label: 'Option 2' },
|
|
98
|
+
* ]}
|
|
99
|
+
* />
|
|
100
|
+
*
|
|
101
|
+
* // Searchable with groups
|
|
102
|
+
* <Select
|
|
103
|
+
* searchable
|
|
104
|
+
* options={[
|
|
105
|
+
* { label: 'Fruits', options: [{ value: 'apple', label: 'Apple' }] },
|
|
106
|
+
* { label: 'Veggies', options: [{ value: 'carrot', label: 'Carrot' }] },
|
|
107
|
+
* ]}
|
|
108
|
+
* />
|
|
109
|
+
*
|
|
110
|
+
* // Multi-select
|
|
111
|
+
* <Select multiple value={selectedIds} onValueChange={setSelectedIds} options={items} />
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
declare const Select: ({ value, onValueChange, placeholder, options, disabled, label, required, style, testID, searchable, searchPlaceholder, multiple, maxHeight, emptyMessage, onOpenChange, }: SelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
115
|
+
export default Select;
|
|
116
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Select/index.tsx"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAGH,OAAO,EASL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAStB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;AAOlD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,iFAAiF;IACjF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAwED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,QAAA,MAAM,MAAM,GAAI,2KAgBb,WAAW,4CA+Zb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Separator component
|
|
3
|
+
* @description Visual separator line 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
|
+
* Separator orientation constants
|
|
13
|
+
*/
|
|
14
|
+
export declare const SEPARATOR_ORIENTATION: {
|
|
15
|
+
readonly HORIZONTAL: "horizontal";
|
|
16
|
+
readonly VERTICAL: "vertical";
|
|
17
|
+
};
|
|
18
|
+
export type SeparatorOrientation = (typeof SEPARATOR_ORIENTATION)[keyof typeof SEPARATOR_ORIENTATION];
|
|
19
|
+
/**
|
|
20
|
+
* Separator component props interface
|
|
21
|
+
*/
|
|
22
|
+
export interface SeparatorProps {
|
|
23
|
+
/**
|
|
24
|
+
* Orientation (horizontal or vertical)
|
|
25
|
+
* @default 'horizontal'
|
|
26
|
+
*/
|
|
27
|
+
orientation?: SeparatorOrientation;
|
|
28
|
+
/**
|
|
29
|
+
* Color variant
|
|
30
|
+
* @default 'default'
|
|
31
|
+
*/
|
|
32
|
+
variant?: 'default' | 'muted' | 'primary' | 'accent';
|
|
33
|
+
/**
|
|
34
|
+
* Inline content (e.g. "OR" divider text)
|
|
35
|
+
*/
|
|
36
|
+
children?: ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Additional style
|
|
39
|
+
*/
|
|
40
|
+
style?: ViewStyle;
|
|
41
|
+
/**
|
|
42
|
+
* Test ID for testing
|
|
43
|
+
*/
|
|
44
|
+
testID?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Visual separator line component.
|
|
48
|
+
*
|
|
49
|
+
* @component
|
|
50
|
+
* @example
|
|
51
|
+
* ```tsx
|
|
52
|
+
* <Separator />
|
|
53
|
+
* <Separator orientation="vertical" />
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
declare const Separator: ({ orientation, variant, children, style, testID, }: SeparatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
export default Separator;
|
|
58
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Separator/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiCD;;;;;;;;;GASG;AACH,QAAA,MAAM,SAAS,GAAI,oDAMhB,cAAc,4CAmBhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Sheet component
|
|
3
|
+
* @description Accessible sheet (slide-out) 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 { SURFACE_VARIANT } from '../../utils/constants';
|
|
11
|
+
import type { ReactNode } from 'react';
|
|
12
|
+
/**
|
|
13
|
+
* Sheet variant constants
|
|
14
|
+
*/
|
|
15
|
+
export declare const SHEET_VARIANT: {
|
|
16
|
+
readonly OUTLINE: "outline";
|
|
17
|
+
readonly GLASS: "glass";
|
|
18
|
+
readonly DEFAULT: "default";
|
|
19
|
+
readonly MUTED: "muted";
|
|
20
|
+
readonly PRIMARY: "primary";
|
|
21
|
+
readonly SECONDARY: "secondary";
|
|
22
|
+
readonly ACCENT: "accent";
|
|
23
|
+
readonly SUCCESS: "success";
|
|
24
|
+
readonly WARNING: "warning";
|
|
25
|
+
readonly DESTRUCTIVE: "destructive";
|
|
26
|
+
};
|
|
27
|
+
export type SheetVariant = (typeof SURFACE_VARIANT)[keyof typeof SURFACE_VARIANT];
|
|
28
|
+
/**
|
|
29
|
+
* Sheet component props interface
|
|
30
|
+
*/
|
|
31
|
+
export interface SheetProps {
|
|
32
|
+
/**
|
|
33
|
+
* The element that opens the sheet
|
|
34
|
+
*/
|
|
35
|
+
trigger?: ReactNode;
|
|
36
|
+
/**
|
|
37
|
+
* The title of the sheet
|
|
38
|
+
*/
|
|
39
|
+
title?: string | ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* The description of the sheet
|
|
42
|
+
*/
|
|
43
|
+
description?: string | ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Main content
|
|
46
|
+
*/
|
|
47
|
+
children?: ReactNode;
|
|
48
|
+
/**
|
|
49
|
+
* Controlled open state
|
|
50
|
+
*/
|
|
51
|
+
open?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Callback when open state changes
|
|
54
|
+
*/
|
|
55
|
+
onOpenChange?: (open: boolean) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Whether to show the overlay
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
60
|
+
showOverlay?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* The side of the screen the sheet slides from
|
|
63
|
+
* @default 'right'
|
|
64
|
+
*/
|
|
65
|
+
side?: 'top' | 'bottom' | 'left' | 'right';
|
|
66
|
+
/**
|
|
67
|
+
* Footer content (pinned at bottom)
|
|
68
|
+
*/
|
|
69
|
+
footer?: ReactNode;
|
|
70
|
+
/**
|
|
71
|
+
* Visual variant
|
|
72
|
+
* @default 'default'
|
|
73
|
+
*/
|
|
74
|
+
variant?: SheetVariant;
|
|
75
|
+
/**
|
|
76
|
+
* Additional style
|
|
77
|
+
*/
|
|
78
|
+
style?: ViewStyle;
|
|
79
|
+
/**
|
|
80
|
+
* Label for the close button
|
|
81
|
+
* @default 'Close'
|
|
82
|
+
*/
|
|
83
|
+
closeLabel?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Test ID for testing
|
|
86
|
+
*/
|
|
87
|
+
testID?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Accessible sheet (slide-out) component.
|
|
91
|
+
*
|
|
92
|
+
* @component
|
|
93
|
+
* @example
|
|
94
|
+
* ```tsx
|
|
95
|
+
* <Sheet
|
|
96
|
+
* trigger={<Button>Open Menu</Button>}
|
|
97
|
+
* title="Navigation"
|
|
98
|
+
* side="left"
|
|
99
|
+
* >
|
|
100
|
+
* <Text>Sheet content</Text>
|
|
101
|
+
* </Sheet>
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
declare const Sheet: ({ trigger, title, description, children, open: controlledOpen, onOpenChange, side, showOverlay, footer, variant, closeLabel, style, testID, }: SheetProps) => import("react/jsx-runtime").JSX.Element;
|
|
105
|
+
export default Sheet;
|
|
106
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Sheet/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;CAAkB,CAAC;AAE7C,MAAM,MAAM,YAAY,GACtB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAsED;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,KAAK,GAAI,+IAcZ,UAAU,4CAwGZ,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Skeleton component
|
|
3
|
+
* @description Skeleton component for loading states
|
|
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
|
+
/**
|
|
11
|
+
* Skeleton component props interface
|
|
12
|
+
*/
|
|
13
|
+
export interface SkeletonProps {
|
|
14
|
+
/**
|
|
15
|
+
* Animation variant
|
|
16
|
+
* @default 'pulse'
|
|
17
|
+
*/
|
|
18
|
+
variant?: 'pulse' | 'wave' | 'shimmer' | 'none';
|
|
19
|
+
/**
|
|
20
|
+
* Size preset for common content types
|
|
21
|
+
* @default 'custom'
|
|
22
|
+
*/
|
|
23
|
+
size?: 'text' | 'heading' | 'avatar' | 'button' | 'card' | 'image' | 'custom';
|
|
24
|
+
/**
|
|
25
|
+
* Custom width (in pixels or percentage string)
|
|
26
|
+
*/
|
|
27
|
+
width?: number | string;
|
|
28
|
+
/**
|
|
29
|
+
* Custom height (in pixels or percentage string)
|
|
30
|
+
*/
|
|
31
|
+
height?: number | string;
|
|
32
|
+
/**
|
|
33
|
+
* Number of lines for text skeleton
|
|
34
|
+
* @default 1
|
|
35
|
+
*/
|
|
36
|
+
lines?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Additional style
|
|
39
|
+
*/
|
|
40
|
+
style?: ViewStyle;
|
|
41
|
+
/**
|
|
42
|
+
* Test ID for testing
|
|
43
|
+
*/
|
|
44
|
+
testID?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Skeleton component for loading states.
|
|
48
|
+
*
|
|
49
|
+
* @component
|
|
50
|
+
* @example
|
|
51
|
+
* ```tsx
|
|
52
|
+
* <Skeleton size="text" lines={3} />
|
|
53
|
+
* <Skeleton size="avatar" variant="wave" />
|
|
54
|
+
* <Skeleton width={200} height={40} />
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
declare const Skeleton: ({ variant, size, width, height, lines, style, testID, }: SkeletonProps) => import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
export default Skeleton;
|
|
59
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Skeleton/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK1E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC9E;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,QAAQ,GAAI,yDAQf,aAAa,4CAgEf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Slider component
|
|
3
|
+
* @description Accessible slider component 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
|
+
* Slider component props interface
|
|
14
|
+
*/
|
|
15
|
+
export interface SliderProps {
|
|
16
|
+
/**
|
|
17
|
+
* Current value
|
|
18
|
+
*/
|
|
19
|
+
value?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Default value
|
|
22
|
+
*/
|
|
23
|
+
defaultValue?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Minimum value
|
|
26
|
+
* @default 0
|
|
27
|
+
*/
|
|
28
|
+
min?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Maximum value
|
|
31
|
+
* @default 100
|
|
32
|
+
*/
|
|
33
|
+
max?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Step value
|
|
36
|
+
* @default 1
|
|
37
|
+
*/
|
|
38
|
+
step?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Change handler
|
|
41
|
+
*/
|
|
42
|
+
onValueChange?: (value: number) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Semantic color variant
|
|
45
|
+
* @default 'default'
|
|
46
|
+
*/
|
|
47
|
+
variant?: (typeof CONTROL_VARIANT)[keyof typeof CONTROL_VARIANT];
|
|
48
|
+
/**
|
|
49
|
+
* Whether the slider is disabled
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
disabled?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Layout direction
|
|
55
|
+
* @default 'horizontal'
|
|
56
|
+
*/
|
|
57
|
+
orientation?: 'horizontal' | 'vertical';
|
|
58
|
+
/**
|
|
59
|
+
* Minimum steps between thumbs (for multi-thumb sliders)
|
|
60
|
+
*/
|
|
61
|
+
minStepsBetweenThumbs?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Reverse the slider direction
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
inverted?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Show current value
|
|
69
|
+
* @default false
|
|
70
|
+
*/
|
|
71
|
+
showValue?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Custom content
|
|
74
|
+
*/
|
|
75
|
+
children?: ReactNode;
|
|
76
|
+
/**
|
|
77
|
+
* Additional style
|
|
78
|
+
*/
|
|
79
|
+
style?: ViewStyle;
|
|
80
|
+
/**
|
|
81
|
+
* Test ID for testing
|
|
82
|
+
*/
|
|
83
|
+
testID?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Form name attribute (for API parity with web)
|
|
86
|
+
*/
|
|
87
|
+
name?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Accessible slider control with semantic color variants.
|
|
91
|
+
*
|
|
92
|
+
* @component
|
|
93
|
+
* @example
|
|
94
|
+
* ```tsx
|
|
95
|
+
* <Slider defaultValue={50} max={100} step={1} variant="success" />
|
|
96
|
+
* <Slider value={value} onValueChange={setValue} min={0} max={5} step={1} showValue />
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
declare const SliderComponent: ({ value, defaultValue, min, max, step, onValueChange, variant, disabled, orientation, minStepsBetweenThumbs, inverted, showValue, children, style, testID, }: SliderProps) => import("react/jsx-runtime").JSX.Element;
|
|
100
|
+
export default SliderComponent;
|
|
101
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Slider/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAaD;;;;;;;;;GASG;AACH,QAAA,MAAM,eAAe,GAAI,8JAgBtB,WAAW,4CAoHb,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Slot component
|
|
3
|
+
* @description Polymorphic component for composition
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type ViewProps } from 'react-native';
|
|
10
|
+
import type { ReactNode } from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* Slot component props interface
|
|
13
|
+
*/
|
|
14
|
+
export interface SlotProps extends ViewProps {
|
|
15
|
+
/**
|
|
16
|
+
* Slot children
|
|
17
|
+
*/
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Polymorphic component for composition.
|
|
22
|
+
* Merges styles and props with children.
|
|
23
|
+
*
|
|
24
|
+
* @component
|
|
25
|
+
*/
|
|
26
|
+
declare const Slot: ({ children, style, ...props }: SlotProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export default Slot;
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Slot/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,QAAA,MAAM,IAAI,GAAI,+BAA+B,SAAS,4CA0BrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
|