@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,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PasswordInput component
|
|
3
|
+
* @description Password input with show/hide toggle functionality
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import { type TextInputProps, type ViewStyle, type TextStyle } from 'react-native';
|
|
10
|
+
/**
|
|
11
|
+
* PasswordInput component props interface
|
|
12
|
+
*/
|
|
13
|
+
export interface PasswordInputProps extends Omit<TextInputProps, 'type' | 'style'> {
|
|
14
|
+
/**
|
|
15
|
+
* Whether the password is currently visible
|
|
16
|
+
*/
|
|
17
|
+
visible?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Callback when visibility changes
|
|
20
|
+
*/
|
|
21
|
+
onVisibilityChange?: (visible: boolean) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Label text (shown above input)
|
|
24
|
+
*/
|
|
25
|
+
label?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Error message (shown below input)
|
|
28
|
+
*/
|
|
29
|
+
error?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the field is required
|
|
32
|
+
*/
|
|
33
|
+
required?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the input is disabled
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Additional container style
|
|
41
|
+
*/
|
|
42
|
+
containerStyle?: ViewStyle;
|
|
43
|
+
/**
|
|
44
|
+
* Additional input style
|
|
45
|
+
*/
|
|
46
|
+
inputStyle?: TextStyle;
|
|
47
|
+
/**
|
|
48
|
+
* Test ID for testing
|
|
49
|
+
*/
|
|
50
|
+
testID?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Form name attribute (for API parity with web)
|
|
53
|
+
*/
|
|
54
|
+
name?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Form type attribute (for API parity with web)
|
|
57
|
+
*/
|
|
58
|
+
type?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Checked state (for API parity with web)
|
|
61
|
+
*/
|
|
62
|
+
checked?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Maximum value (for API parity with web)
|
|
65
|
+
*/
|
|
66
|
+
max?: number | string;
|
|
67
|
+
/**
|
|
68
|
+
* Minimum value (for API parity with web)
|
|
69
|
+
*/
|
|
70
|
+
min?: number | string;
|
|
71
|
+
/**
|
|
72
|
+
* Step value (for API parity with web)
|
|
73
|
+
*/
|
|
74
|
+
step?: number | string;
|
|
75
|
+
/**
|
|
76
|
+
* Style prop (for API parity with web, maps to inputStyle)
|
|
77
|
+
*/
|
|
78
|
+
style?: TextStyle;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Password input field with show/hide toggle functionality.
|
|
82
|
+
*
|
|
83
|
+
* @component
|
|
84
|
+
* @example
|
|
85
|
+
* ```tsx
|
|
86
|
+
* <PasswordInput
|
|
87
|
+
* value={password}
|
|
88
|
+
* onChangeText={setPassword}
|
|
89
|
+
* placeholder="Enter password"
|
|
90
|
+
* />
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
declare const PasswordInput: ({ visible: controlledVisible, onVisibilityChange, label, error, required, disabled, containerStyle, inputStyle, name, type, checked, max, min, step, style, testID, ...textInputProps }: PasswordInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
export default PasswordInput;
|
|
95
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/PasswordInput/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAOtB;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,cAAc,EACd,MAAM,GAAG,OAAO,CACjB;IACC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;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,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA4CD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,aAAa,GAAI,yLAkBpB,kBAAkB,4CAwEpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Popover component
|
|
3
|
+
* @description Accessible popover 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 { FLOATING_VARIANT } from '../../utils/constants';
|
|
11
|
+
import type { ReactNode } from 'react';
|
|
12
|
+
/**
|
|
13
|
+
* Popover variant constants
|
|
14
|
+
*/
|
|
15
|
+
export declare const POPOVER_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 PopoverVariant = (typeof FLOATING_VARIANT)[keyof typeof FLOATING_VARIANT];
|
|
28
|
+
/**
|
|
29
|
+
* Popover component props interface
|
|
30
|
+
*/
|
|
31
|
+
export interface PopoverProps {
|
|
32
|
+
/**
|
|
33
|
+
* The element that opens the popover
|
|
34
|
+
*/
|
|
35
|
+
trigger?: ReactNode;
|
|
36
|
+
/**
|
|
37
|
+
* Trigger content (alternative to trigger prop)
|
|
38
|
+
*/
|
|
39
|
+
children?: ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Popover content
|
|
42
|
+
*/
|
|
43
|
+
content: ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Controlled open state
|
|
46
|
+
*/
|
|
47
|
+
open?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Callback when open state changes
|
|
50
|
+
*/
|
|
51
|
+
onOpenChange?: (open: boolean) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Popover side
|
|
54
|
+
* @default 'bottom'
|
|
55
|
+
*/
|
|
56
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
57
|
+
/**
|
|
58
|
+
* Content alignment relative to trigger
|
|
59
|
+
* @default 'center'
|
|
60
|
+
*/
|
|
61
|
+
align?: 'start' | 'center' | 'end';
|
|
62
|
+
/**
|
|
63
|
+
* Offset from the trigger edge (in pixels)
|
|
64
|
+
* @default 4
|
|
65
|
+
*/
|
|
66
|
+
sideOffset?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Whether the popover is modal (blocks interaction with rest of page)
|
|
69
|
+
* @default false
|
|
70
|
+
*/
|
|
71
|
+
modal?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Variant style
|
|
74
|
+
* @default 'default'
|
|
75
|
+
*/
|
|
76
|
+
variant?: PopoverVariant;
|
|
77
|
+
/**
|
|
78
|
+
* Additional style
|
|
79
|
+
*/
|
|
80
|
+
style?: ViewStyle;
|
|
81
|
+
/**
|
|
82
|
+
* Test ID for testing
|
|
83
|
+
*/
|
|
84
|
+
testID?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Accessible popover component.
|
|
88
|
+
* On React Native, popovers are simpler and show on press.
|
|
89
|
+
*
|
|
90
|
+
* @component
|
|
91
|
+
* @example
|
|
92
|
+
* ```tsx
|
|
93
|
+
* <Popover trigger={<Button>Open</Button>} content={<Text>Popover content</Text>} />
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
declare const Popover: ({ trigger, children, content, open: controlledOpen, onOpenChange, side, align, sideOffset, modal, variant, style, testID, }: PopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
export default Popover;
|
|
98
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Popover/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;CAAmB,CAAC;AAEhD,MAAM,MAAM,cAAc,GACxB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;GASG;AACH,QAAA,MAAM,OAAO,GAAI,6HAad,YAAY,4CAuEd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Portal component
|
|
3
|
+
* @description Portal component for rendering outside the normal tree
|
|
4
|
+
*
|
|
5
|
+
* @version 0.0.1
|
|
6
|
+
* @since 0.0.1
|
|
7
|
+
* @author AMBROISE PARK Consulting
|
|
8
|
+
*/
|
|
9
|
+
import type { ReactNode } from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Portal component props interface
|
|
12
|
+
*/
|
|
13
|
+
export interface PortalProps {
|
|
14
|
+
/**
|
|
15
|
+
* Portal content
|
|
16
|
+
*/
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Container name (unused on React Native)
|
|
20
|
+
*/
|
|
21
|
+
container?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Style prop (for API parity with web)
|
|
24
|
+
*/
|
|
25
|
+
style?: any;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Portal component for rendering outside the normal tree.
|
|
29
|
+
* On React Native, uses Modal for overlay rendering.
|
|
30
|
+
*
|
|
31
|
+
* @component
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* <Portal>
|
|
35
|
+
* <Dialog>Content</Dialog>
|
|
36
|
+
* </Portal>
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
declare const Portal: ({ children, container }: PortalProps) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export default Portal;
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Portal/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,MAAM,GAAI,yBAAyB,WAAW,4CAInD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PortalButton component
|
|
3
|
+
* @description Button that opens content in a portal/modal
|
|
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 ButtonProps } from '../Button';
|
|
11
|
+
import type { ReactNode } from 'react';
|
|
12
|
+
/**
|
|
13
|
+
* PortalButton component props interface
|
|
14
|
+
*/
|
|
15
|
+
export interface PortalButtonProps extends Omit<ButtonProps, 'onPress'> {
|
|
16
|
+
/**
|
|
17
|
+
* Content to show in portal/modal
|
|
18
|
+
*/
|
|
19
|
+
portalContent: ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Additional style
|
|
22
|
+
*/
|
|
23
|
+
style?: ViewStyle;
|
|
24
|
+
/**
|
|
25
|
+
* Test ID for testing
|
|
26
|
+
*/
|
|
27
|
+
testID?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Form name attribute (for API parity with web)
|
|
30
|
+
*/
|
|
31
|
+
name?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Button type (for API parity with web)
|
|
34
|
+
*/
|
|
35
|
+
type?: 'button' | 'submit' | 'reset';
|
|
36
|
+
/**
|
|
37
|
+
* Form value attribute (for API parity with web)
|
|
38
|
+
*/
|
|
39
|
+
value?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Button that opens content in a portal/modal.
|
|
43
|
+
*
|
|
44
|
+
* @component
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* <PortalButton portalContent={<Text>Portal content</Text>}>
|
|
48
|
+
* Open Portal
|
|
49
|
+
* </PortalButton>
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
declare const PortalButton: ({ portalContent, children, style, testID, ...buttonProps }: PortalButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
export default PortalButton;
|
|
54
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/PortalButton/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IACrE;;OAEG;IACH,aAAa,EAAE,SAAS,CAAC;IACzB;;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,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiBD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,GAAI,4DAMnB,iBAAiB,4CAsCnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Progress component
|
|
3
|
+
* @description Accessible progress 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
|
+
* Progress component props interface
|
|
13
|
+
*/
|
|
14
|
+
export interface ProgressProps {
|
|
15
|
+
/**
|
|
16
|
+
* Progress value (0-100)
|
|
17
|
+
* @default 0
|
|
18
|
+
*/
|
|
19
|
+
value?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum value
|
|
22
|
+
* @default 100
|
|
23
|
+
*/
|
|
24
|
+
max?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Color variant
|
|
27
|
+
* @default 'default'
|
|
28
|
+
*/
|
|
29
|
+
variant?: 'default' | 'primary' | 'success' | 'warning' | 'destructive';
|
|
30
|
+
/**
|
|
31
|
+
* Custom accessibility value label
|
|
32
|
+
*/
|
|
33
|
+
getValueLabel?: (value: number, max: number) => string;
|
|
34
|
+
/**
|
|
35
|
+
* Content below the progress bar
|
|
36
|
+
*/
|
|
37
|
+
children?: ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Additional style
|
|
40
|
+
*/
|
|
41
|
+
style?: ViewStyle;
|
|
42
|
+
/**
|
|
43
|
+
* Test ID for testing
|
|
44
|
+
*/
|
|
45
|
+
testID?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Accessible progress component.
|
|
49
|
+
*
|
|
50
|
+
* @component
|
|
51
|
+
* @example
|
|
52
|
+
* ```tsx
|
|
53
|
+
* <Progress value={50} />
|
|
54
|
+
* <Progress value={75} max={100} />
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
declare const Progress: ({ value, max, variant, getValueLabel, children, style, testID, }: ProgressProps) => import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
export default Progress;
|
|
59
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Progress/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;IACxE;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvD;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD;;;;;;;;;GASG;AACH,QAAA,MAAM,QAAQ,GAAI,kEAQf,aAAa,4CAsCf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview RadioGroup component
|
|
3
|
+
* @description Accessible radio group 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
|
+
* Radio option interface
|
|
14
|
+
*/
|
|
15
|
+
export interface RadioOption {
|
|
16
|
+
value: string;
|
|
17
|
+
label: string;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* RadioGroup component props interface
|
|
22
|
+
*/
|
|
23
|
+
export interface RadioGroupProps {
|
|
24
|
+
/**
|
|
25
|
+
* Selected value
|
|
26
|
+
*/
|
|
27
|
+
value?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Change handler
|
|
30
|
+
*/
|
|
31
|
+
onValueChange?: (value: string) => void;
|
|
32
|
+
/**
|
|
33
|
+
* List of radio options
|
|
34
|
+
*/
|
|
35
|
+
items?: RadioOption[];
|
|
36
|
+
/**
|
|
37
|
+
* Semantic color variant
|
|
38
|
+
* @default 'default'
|
|
39
|
+
*/
|
|
40
|
+
variant?: (typeof CONTROL_VARIANT)[keyof typeof CONTROL_VARIANT];
|
|
41
|
+
/**
|
|
42
|
+
* Disables all radio items
|
|
43
|
+
* @default false
|
|
44
|
+
*/
|
|
45
|
+
disabled?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Layout direction
|
|
48
|
+
* @default 'vertical'
|
|
49
|
+
*/
|
|
50
|
+
orientation?: 'horizontal' | 'vertical';
|
|
51
|
+
/**
|
|
52
|
+
* Indicates required field
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
required?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Custom content to render
|
|
58
|
+
*/
|
|
59
|
+
children?: ReactNode;
|
|
60
|
+
/**
|
|
61
|
+
* Additional style
|
|
62
|
+
*/
|
|
63
|
+
style?: ViewStyle;
|
|
64
|
+
/**
|
|
65
|
+
* Test ID for testing
|
|
66
|
+
*/
|
|
67
|
+
testID?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Form name attribute (for API parity with web)
|
|
70
|
+
*/
|
|
71
|
+
name?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Accessible radio group component with semantic color variants.
|
|
75
|
+
*
|
|
76
|
+
* @component
|
|
77
|
+
* @example
|
|
78
|
+
* ```tsx
|
|
79
|
+
* <RadioGroup
|
|
80
|
+
* value={value}
|
|
81
|
+
* onValueChange={setValue}
|
|
82
|
+
* items={[
|
|
83
|
+
* { value: 'option1', label: 'Option 1' },
|
|
84
|
+
* { value: 'option2', label: 'Option 2' }
|
|
85
|
+
* ]}
|
|
86
|
+
* />
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
declare const RadioGroup: ({ value, onValueChange, items, variant, disabled, orientation, required, children, style, testID, }: RadioGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
90
|
+
export default RadioGroup;
|
|
91
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/RadioGroup/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,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB;;;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;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;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;AAwBD;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,UAAU,GAAI,qGAWjB,eAAe,4CA6DjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview RangeInput component
|
|
3
|
+
* @description Two-input range component for min/max values
|
|
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
|
+
* RangeInput component props interface
|
|
13
|
+
*/
|
|
14
|
+
export interface RangeInputProps {
|
|
15
|
+
/**
|
|
16
|
+
* Label for the range
|
|
17
|
+
*/
|
|
18
|
+
label?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Placeholder for min input
|
|
21
|
+
*/
|
|
22
|
+
minPlaceholder?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Placeholder for max input
|
|
25
|
+
*/
|
|
26
|
+
maxPlaceholder?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Current min value
|
|
29
|
+
*/
|
|
30
|
+
minValue?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Current max value
|
|
33
|
+
*/
|
|
34
|
+
maxValue?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Display minimum (different from track min)
|
|
37
|
+
*/
|
|
38
|
+
actualMin?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Display maximum (different from track max)
|
|
41
|
+
*/
|
|
42
|
+
actualMax?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the range input is disabled
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
disabled?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Track minimum value
|
|
50
|
+
*/
|
|
51
|
+
min?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Track maximum value
|
|
54
|
+
*/
|
|
55
|
+
max?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Placeholder text
|
|
58
|
+
*/
|
|
59
|
+
placeholder?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the field is required
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
required?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Step value for numeric inputs
|
|
67
|
+
*/
|
|
68
|
+
step?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Change handler: (min, max) => void
|
|
71
|
+
*/
|
|
72
|
+
onChange: (min: string, max: string) => void;
|
|
73
|
+
/**
|
|
74
|
+
* Clear handler
|
|
75
|
+
*/
|
|
76
|
+
onClear: () => void;
|
|
77
|
+
/**
|
|
78
|
+
* Custom content
|
|
79
|
+
*/
|
|
80
|
+
children?: ReactNode;
|
|
81
|
+
/**
|
|
82
|
+
* Additional style
|
|
83
|
+
*/
|
|
84
|
+
style?: ViewStyle;
|
|
85
|
+
/**
|
|
86
|
+
* Test ID for testing
|
|
87
|
+
*/
|
|
88
|
+
testID?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Form name attribute (for API parity with web)
|
|
91
|
+
*/
|
|
92
|
+
name?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Form type attribute (for API parity with web)
|
|
95
|
+
*/
|
|
96
|
+
type?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Checked state (for API parity with web)
|
|
99
|
+
*/
|
|
100
|
+
checked?: boolean;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Two-input range component for min/max values.
|
|
104
|
+
*
|
|
105
|
+
* @component
|
|
106
|
+
* @example
|
|
107
|
+
* ```tsx
|
|
108
|
+
* <RangeInput
|
|
109
|
+
* label="Price"
|
|
110
|
+
* onChange={(min, max) => setFilter({ min, max })}
|
|
111
|
+
* onClear={() => setFilter({ min: '', max: '' })}
|
|
112
|
+
* />
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
declare const RangeInput: ({ label, minPlaceholder, maxPlaceholder, minValue, maxValue, actualMin, actualMax, disabled, min, max, placeholder, required, step, onChange, onClear, children, style, testID, }: RangeInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
116
|
+
export default RangeInput;
|
|
117
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/RangeInput/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,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,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;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,UAAU,GAAI,mLAmBjB,eAAe,4CA+CjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Rating component
|
|
3
|
+
* @description Interactive star rating component for forms and display
|
|
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
|
+
* Rating component props interface
|
|
14
|
+
*/
|
|
15
|
+
export interface RatingProps {
|
|
16
|
+
/**
|
|
17
|
+
* Current rating value (1-5, supports decimals for display)
|
|
18
|
+
*/
|
|
19
|
+
value?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Callback when rating changes (only fires whole numbers 1-5)
|
|
22
|
+
*/
|
|
23
|
+
onChange?: (value: number) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Maximum rating value
|
|
26
|
+
* @default 5
|
|
27
|
+
*/
|
|
28
|
+
max?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Read-only mode (no interaction)
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
readonly?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Disabled state
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Semantic color variant
|
|
41
|
+
* @default 'warning'
|
|
42
|
+
*/
|
|
43
|
+
variant?: (typeof CONTROL_VARIANT)[keyof typeof CONTROL_VARIANT];
|
|
44
|
+
/**
|
|
45
|
+
* Show numeric value next to stars
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
showValue?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Custom content after the rating stars
|
|
51
|
+
*/
|
|
52
|
+
children?: ReactNode;
|
|
53
|
+
/**
|
|
54
|
+
* Additional style
|
|
55
|
+
*/
|
|
56
|
+
style?: ViewStyle;
|
|
57
|
+
/**
|
|
58
|
+
* Test ID for testing
|
|
59
|
+
*/
|
|
60
|
+
testID?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Interactive star rating component.
|
|
64
|
+
*
|
|
65
|
+
* @component
|
|
66
|
+
* @example
|
|
67
|
+
* ```tsx
|
|
68
|
+
* <Rating value={3} onChange={setRating} />
|
|
69
|
+
* <Rating value={4.5} readonly showValue />
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
declare const Rating: ({ value, onChange, max, readonly, disabled, variant, showValue, children, style, testID, }: RatingProps) => import("react/jsx-runtime").JSX.Element;
|
|
73
|
+
export default Rating;
|
|
74
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Rating/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAIL,KAAK,SAAS,EACf,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,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;IACjE;;;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;CACjB;AAuCD;;;;;;;;;GASG;AACH,QAAA,MAAM,MAAM,GAAI,4FAWb,WAAW,4CAgDb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|