@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.
Files changed (261) hide show
  1. package/dist/__tests__/components/atomic.test.d.ts +10 -0
  2. package/dist/__tests__/components/atomic.test.d.ts.map +1 -0
  3. package/dist/__tests__/providers/ExpoAppProviders.test.d.ts +10 -0
  4. package/dist/__tests__/providers/ExpoAppProviders.test.d.ts.map +1 -0
  5. package/dist/__tests__/setup.d.ts +10 -0
  6. package/dist/__tests__/setup.d.ts.map +1 -0
  7. package/dist/__tests__/test-utils.d.ts +22 -0
  8. package/dist/__tests__/test-utils.d.ts.map +1 -0
  9. package/dist/atomic/Accordion/index.d.ts +65 -0
  10. package/dist/atomic/Accordion/index.d.ts.map +1 -0
  11. package/dist/atomic/Alert/index.d.ts +69 -0
  12. package/dist/atomic/Alert/index.d.ts.map +1 -0
  13. package/dist/atomic/AlertDialog/index.d.ts +83 -0
  14. package/dist/atomic/AlertDialog/index.d.ts.map +1 -0
  15. package/dist/atomic/Avatar/index.d.ts +53 -0
  16. package/dist/atomic/Avatar/index.d.ts.map +1 -0
  17. package/dist/atomic/Badge/index.d.ts +61 -0
  18. package/dist/atomic/Badge/index.d.ts.map +1 -0
  19. package/dist/atomic/Blockquote/index.d.ts +70 -0
  20. package/dist/atomic/Blockquote/index.d.ts.map +1 -0
  21. package/dist/atomic/Button/index.d.ts +117 -0
  22. package/dist/atomic/Button/index.d.ts.map +1 -0
  23. package/dist/atomic/Calendar/index.d.ts +55 -0
  24. package/dist/atomic/Calendar/index.d.ts.map +1 -0
  25. package/dist/atomic/CallToAction/index.d.ts +56 -0
  26. package/dist/atomic/CallToAction/index.d.ts.map +1 -0
  27. package/dist/atomic/Card/index.d.ts +102 -0
  28. package/dist/atomic/Card/index.d.ts.map +1 -0
  29. package/dist/atomic/Checkbox/index.d.ts +79 -0
  30. package/dist/atomic/Checkbox/index.d.ts.map +1 -0
  31. package/dist/atomic/Collapsible/index.d.ts +56 -0
  32. package/dist/atomic/Collapsible/index.d.ts.map +1 -0
  33. package/dist/atomic/Combobox/index.d.ts +137 -0
  34. package/dist/atomic/Combobox/index.d.ts.map +1 -0
  35. package/dist/atomic/Command/index.d.ts +94 -0
  36. package/dist/atomic/Command/index.d.ts.map +1 -0
  37. package/dist/atomic/CommandDialog/index.d.ts +62 -0
  38. package/dist/atomic/CommandDialog/index.d.ts.map +1 -0
  39. package/dist/atomic/ContextMenu/index.d.ts +60 -0
  40. package/dist/atomic/ContextMenu/index.d.ts.map +1 -0
  41. package/dist/atomic/CopyToClipboard/index.d.ts +78 -0
  42. package/dist/atomic/CopyToClipboard/index.d.ts.map +1 -0
  43. package/dist/atomic/DescriptionList/index.d.ts +60 -0
  44. package/dist/atomic/DescriptionList/index.d.ts.map +1 -0
  45. package/dist/atomic/Dialog/index.d.ts +105 -0
  46. package/dist/atomic/Dialog/index.d.ts.map +1 -0
  47. package/dist/atomic/DropdownMenu/index.d.ts +85 -0
  48. package/dist/atomic/DropdownMenu/index.d.ts.map +1 -0
  49. package/dist/atomic/DualCard/index.d.ts +101 -0
  50. package/dist/atomic/DualCard/index.d.ts.map +1 -0
  51. package/dist/atomic/FeatureFallback/index.d.ts +75 -0
  52. package/dist/atomic/FeatureFallback/index.d.ts.map +1 -0
  53. package/dist/atomic/FileButton/index.d.ts +55 -0
  54. package/dist/atomic/FileButton/index.d.ts.map +1 -0
  55. package/dist/atomic/Grid/index.d.ts +93 -0
  56. package/dist/atomic/Grid/index.d.ts.map +1 -0
  57. package/dist/atomic/HeroSection/index.d.ts +72 -0
  58. package/dist/atomic/HeroSection/index.d.ts.map +1 -0
  59. package/dist/atomic/HoverCard/index.d.ts +70 -0
  60. package/dist/atomic/HoverCard/index.d.ts.map +1 -0
  61. package/dist/atomic/Icons/index.d.ts +55 -0
  62. package/dist/atomic/Icons/index.d.ts.map +1 -0
  63. package/dist/atomic/InfiniteScroll/index.d.ts +62 -0
  64. package/dist/atomic/InfiniteScroll/index.d.ts.map +1 -0
  65. package/dist/atomic/Input/index.d.ts +100 -0
  66. package/dist/atomic/Input/index.d.ts.map +1 -0
  67. package/dist/atomic/Label/index.d.ts +49 -0
  68. package/dist/atomic/Label/index.d.ts.map +1 -0
  69. package/dist/atomic/List/index.d.ts +62 -0
  70. package/dist/atomic/List/index.d.ts.map +1 -0
  71. package/dist/atomic/NavigationMenu/index.d.ts +81 -0
  72. package/dist/atomic/NavigationMenu/index.d.ts.map +1 -0
  73. package/dist/atomic/Pagination/index.d.ts +86 -0
  74. package/dist/atomic/Pagination/index.d.ts.map +1 -0
  75. package/dist/atomic/PasswordInput/index.d.ts +95 -0
  76. package/dist/atomic/PasswordInput/index.d.ts.map +1 -0
  77. package/dist/atomic/Popover/index.d.ts +98 -0
  78. package/dist/atomic/Popover/index.d.ts.map +1 -0
  79. package/dist/atomic/Portal/index.d.ts +41 -0
  80. package/dist/atomic/Portal/index.d.ts.map +1 -0
  81. package/dist/atomic/PortalButton/index.d.ts +54 -0
  82. package/dist/atomic/PortalButton/index.d.ts.map +1 -0
  83. package/dist/atomic/Progress/index.d.ts +59 -0
  84. package/dist/atomic/Progress/index.d.ts.map +1 -0
  85. package/dist/atomic/RadioGroup/index.d.ts +91 -0
  86. package/dist/atomic/RadioGroup/index.d.ts.map +1 -0
  87. package/dist/atomic/RangeInput/index.d.ts +117 -0
  88. package/dist/atomic/RangeInput/index.d.ts.map +1 -0
  89. package/dist/atomic/Rating/index.d.ts +74 -0
  90. package/dist/atomic/Rating/index.d.ts.map +1 -0
  91. package/dist/atomic/ScrollArea/index.d.ts +59 -0
  92. package/dist/atomic/ScrollArea/index.d.ts.map +1 -0
  93. package/dist/atomic/Section/index.d.ts +83 -0
  94. package/dist/atomic/Section/index.d.ts.map +1 -0
  95. package/dist/atomic/Select/index.d.ts +116 -0
  96. package/dist/atomic/Select/index.d.ts.map +1 -0
  97. package/dist/atomic/Separator/index.d.ts +58 -0
  98. package/dist/atomic/Separator/index.d.ts.map +1 -0
  99. package/dist/atomic/Sheet/index.d.ts +106 -0
  100. package/dist/atomic/Sheet/index.d.ts.map +1 -0
  101. package/dist/atomic/Skeleton/index.d.ts +59 -0
  102. package/dist/atomic/Skeleton/index.d.ts.map +1 -0
  103. package/dist/atomic/Slider/index.d.ts +101 -0
  104. package/dist/atomic/Slider/index.d.ts.map +1 -0
  105. package/dist/atomic/Slot/index.d.ts +28 -0
  106. package/dist/atomic/Slot/index.d.ts.map +1 -0
  107. package/dist/atomic/Spinner/index.d.ts +52 -0
  108. package/dist/atomic/Spinner/index.d.ts.map +1 -0
  109. package/dist/atomic/Stack/index.d.ts +123 -0
  110. package/dist/atomic/Stack/index.d.ts.map +1 -0
  111. package/dist/atomic/Stepper/index.d.ts +102 -0
  112. package/dist/atomic/Stepper/index.d.ts.map +1 -0
  113. package/dist/atomic/Switch/index.d.ts +88 -0
  114. package/dist/atomic/Switch/index.d.ts.map +1 -0
  115. package/dist/atomic/Table/index.d.ts +107 -0
  116. package/dist/atomic/Table/index.d.ts.map +1 -0
  117. package/dist/atomic/Tabs/index.d.ts +91 -0
  118. package/dist/atomic/Tabs/index.d.ts.map +1 -0
  119. package/dist/atomic/Tag/index.d.ts +78 -0
  120. package/dist/atomic/Tag/index.d.ts.map +1 -0
  121. package/dist/atomic/Text/index.d.ts +81 -0
  122. package/dist/atomic/Text/index.d.ts.map +1 -0
  123. package/dist/atomic/Textarea/index.d.ts +66 -0
  124. package/dist/atomic/Textarea/index.d.ts.map +1 -0
  125. package/dist/atomic/Toaster/index.d.ts +69 -0
  126. package/dist/atomic/Toaster/index.d.ts.map +1 -0
  127. package/dist/atomic/Toggle/index.d.ts +76 -0
  128. package/dist/atomic/Toggle/index.d.ts.map +1 -0
  129. package/dist/atomic/ToggleGroup/index.d.ts +82 -0
  130. package/dist/atomic/ToggleGroup/index.d.ts.map +1 -0
  131. package/dist/atomic/Tooltip/index.d.ts +68 -0
  132. package/dist/atomic/Tooltip/index.d.ts.map +1 -0
  133. package/dist/atomic/VideoPlayer/index.d.ts +68 -0
  134. package/dist/atomic/VideoPlayer/index.d.ts.map +1 -0
  135. package/dist/atomic/VisuallyHidden/index.d.ts +33 -0
  136. package/dist/atomic/VisuallyHidden/index.d.ts.map +1 -0
  137. package/dist/atomic/index.d.ts +146 -0
  138. package/dist/atomic/index.d.ts.map +1 -0
  139. package/dist/crud/components/DateFilter.d.ts +29 -0
  140. package/dist/crud/components/DateFilter.d.ts.map +1 -0
  141. package/dist/crud/components/DisplayFieldRenderer.d.ts +29 -0
  142. package/dist/crud/components/DisplayFieldRenderer.d.ts.map +1 -0
  143. package/dist/crud/components/EntityCardList.d.ts +25 -0
  144. package/dist/crud/components/EntityCardList.d.ts.map +1 -0
  145. package/dist/crud/components/EntityDisplayRenderer.d.ts +26 -0
  146. package/dist/crud/components/EntityDisplayRenderer.d.ts.map +1 -0
  147. package/dist/crud/components/EntityFilters.d.ts +40 -0
  148. package/dist/crud/components/EntityFilters.d.ts.map +1 -0
  149. package/dist/crud/components/EntityFormRenderer.d.ts +66 -0
  150. package/dist/crud/components/EntityFormRenderer.d.ts.map +1 -0
  151. package/dist/crud/components/EntityList.d.ts +23 -0
  152. package/dist/crud/components/EntityList.d.ts.map +1 -0
  153. package/dist/crud/components/FormFieldRenderer.d.ts +38 -0
  154. package/dist/crud/components/FormFieldRenderer.d.ts.map +1 -0
  155. package/dist/crud/components/FormLayout.d.ts +33 -0
  156. package/dist/crud/components/FormLayout.d.ts.map +1 -0
  157. package/dist/crud/components/index.d.ts +27 -0
  158. package/dist/crud/components/index.d.ts.map +1 -0
  159. package/dist/crud/contexts/UploadContext.d.ts +22 -0
  160. package/dist/crud/contexts/UploadContext.d.ts.map +1 -0
  161. package/dist/crud/forms/hooks/useEntityForm.d.ts +11 -0
  162. package/dist/crud/forms/hooks/useEntityForm.d.ts.map +1 -0
  163. package/dist/crud/hooks/useUnsavedChangesWarning.d.ts +23 -0
  164. package/dist/crud/hooks/useUnsavedChangesWarning.d.ts.map +1 -0
  165. package/dist/crud/index.d.ts +17 -0
  166. package/dist/crud/index.d.ts.map +1 -0
  167. package/dist/crud/stores/index.d.ts +11 -0
  168. package/dist/crud/stores/index.d.ts.map +1 -0
  169. package/dist/features/auth/components/AuthPartnerButton.d.ts +31 -0
  170. package/dist/features/auth/components/AuthPartnerButton.d.ts.map +1 -0
  171. package/dist/features/auth/components/ConfirmDeleteDialog.d.ts +30 -0
  172. package/dist/features/auth/components/ConfirmDeleteDialog.d.ts.map +1 -0
  173. package/dist/features/auth/components/FeatureGuard.d.ts +53 -0
  174. package/dist/features/auth/components/FeatureGuard.d.ts.map +1 -0
  175. package/dist/features/auth/components/GoogleOneTap.d.ts +19 -0
  176. package/dist/features/auth/components/GoogleOneTap.d.ts.map +1 -0
  177. package/dist/features/auth/components/LoginModal.d.ts +18 -0
  178. package/dist/features/auth/components/LoginModal.d.ts.map +1 -0
  179. package/dist/features/auth/components/MultipleAuthProviders.d.ts +37 -0
  180. package/dist/features/auth/components/MultipleAuthProviders.d.ts.map +1 -0
  181. package/dist/features/auth/components/ReauthDialog.d.ts +30 -0
  182. package/dist/features/auth/components/ReauthDialog.d.ts.map +1 -0
  183. package/dist/features/auth/components/index.d.ts +22 -0
  184. package/dist/features/auth/components/index.d.ts.map +1 -0
  185. package/dist/features/auth/hooks/index.d.ts +14 -0
  186. package/dist/features/auth/hooks/index.d.ts.map +1 -0
  187. package/dist/features/auth/hooks/useAuthState.d.ts +29 -0
  188. package/dist/features/auth/hooks/useAuthState.d.ts.map +1 -0
  189. package/dist/features/auth/hooks/useCanAccess.d.ts +25 -0
  190. package/dist/features/auth/hooks/useCanAccess.d.ts.map +1 -0
  191. package/dist/features/auth/hooks/useHasRole.d.ts +26 -0
  192. package/dist/features/auth/hooks/useHasRole.d.ts.map +1 -0
  193. package/dist/features/auth/hooks/useUserRole.d.ts +25 -0
  194. package/dist/features/auth/hooks/useUserRole.d.ts.map +1 -0
  195. package/dist/features/auth/index.d.ts +16 -0
  196. package/dist/features/auth/index.d.ts.map +1 -0
  197. package/dist/features/billing/components/ProductCard.d.ts +37 -0
  198. package/dist/features/billing/components/ProductCard.d.ts.map +1 -0
  199. package/dist/features/billing/components/SecurityNotice.d.ts +26 -0
  200. package/dist/features/billing/components/SecurityNotice.d.ts.map +1 -0
  201. package/dist/features/billing/components/StripeCheckoutButton.d.ts +41 -0
  202. package/dist/features/billing/components/StripeCheckoutButton.d.ts.map +1 -0
  203. package/dist/features/billing/components/SubscriptionManager.d.ts +29 -0
  204. package/dist/features/billing/components/SubscriptionManager.d.ts.map +1 -0
  205. package/dist/features/billing/components/index.d.ts +17 -0
  206. package/dist/features/billing/components/index.d.ts.map +1 -0
  207. package/dist/features/billing/index.d.ts +12 -0
  208. package/dist/features/billing/index.d.ts.map +1 -0
  209. package/dist/features/index.d.ts +12 -0
  210. package/dist/features/index.d.ts.map +1 -0
  211. package/dist/features/oauth/components/MultipleOAuthProviders.d.ts +42 -0
  212. package/dist/features/oauth/components/MultipleOAuthProviders.d.ts.map +1 -0
  213. package/dist/features/oauth/components/OAuthConnectionModal.d.ts +21 -0
  214. package/dist/features/oauth/components/OAuthConnectionModal.d.ts.map +1 -0
  215. package/dist/features/oauth/components/OAuthFallback.d.ts +22 -0
  216. package/dist/features/oauth/components/OAuthFallback.d.ts.map +1 -0
  217. package/dist/features/oauth/components/OAuthPartnerButton.d.ts +35 -0
  218. package/dist/features/oauth/components/OAuthPartnerButton.d.ts.map +1 -0
  219. package/dist/features/oauth/components/index.d.ts +17 -0
  220. package/dist/features/oauth/components/index.d.ts.map +1 -0
  221. package/dist/features/oauth/index.d.ts +11 -0
  222. package/dist/features/oauth/index.d.ts.map +1 -0
  223. package/dist/firebase/authPersistence.d.ts +23 -0
  224. package/dist/firebase/authPersistence.d.ts.map +1 -0
  225. package/dist/firebase/index.d.ts +10 -0
  226. package/dist/firebase/index.d.ts.map +1 -0
  227. package/dist/index.d.ts +18 -0
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/providers/ExpoAppProviders.d.ts +46 -0
  230. package/dist/providers/ExpoAppProviders.d.ts.map +1 -0
  231. package/dist/routing/components.d.ts +26 -0
  232. package/dist/routing/components.d.ts.map +1 -0
  233. package/dist/routing/hooks.d.ts +87 -0
  234. package/dist/routing/hooks.d.ts.map +1 -0
  235. package/dist/routing/index.d.ts +11 -0
  236. package/dist/routing/index.d.ts.map +1 -0
  237. package/dist/routing/utils/useFormStoreSafe.d.ts +15 -0
  238. package/dist/routing/utils/useFormStoreSafe.d.ts.map +1 -0
  239. package/dist/storage/AsyncStorageStrategy.d.ts +55 -0
  240. package/dist/storage/AsyncStorageStrategy.d.ts.map +1 -0
  241. package/dist/storage/zustandAsyncStorage.d.ts +22 -0
  242. package/dist/storage/zustandAsyncStorage.d.ts.map +1 -0
  243. package/dist/theme/ThemeProvider.d.ts +111 -0
  244. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  245. package/dist/theme/index.d.ts +8 -0
  246. package/dist/theme/index.d.ts.map +1 -0
  247. package/dist/theme/tokens.d.ts +152 -0
  248. package/dist/theme/tokens.d.ts.map +1 -0
  249. package/dist/utils/constants.d.ts +73 -0
  250. package/dist/utils/constants.d.ts.map +1 -0
  251. package/dist/utils/helpers.d.ts +39 -0
  252. package/dist/utils/helpers.d.ts.map +1 -0
  253. package/dist/utils/index.d.ts +9 -0
  254. package/dist/utils/index.d.ts.map +1 -0
  255. package/dist/utils/theme-helpers.d.ts +29 -0
  256. package/dist/utils/theme-helpers.d.ts.map +1 -0
  257. package/dist/utils/useAuthSafe.d.ts +8 -0
  258. package/dist/utils/useAuthSafe.d.ts.map +1 -0
  259. package/dist/utils/variants.d.ts +25 -0
  260. package/dist/utils/variants.d.ts.map +1 -0
  261. package/package.json +85 -0
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @fileoverview CopyToClipboard component
3
+ * @description Component for copying text to clipboard with visual feedback
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
+ * CopyToClipboard component props interface
14
+ */
15
+ export interface CopyToClipboardProps extends Omit<ButtonProps, 'children' | 'onPress'> {
16
+ /**
17
+ * Text to copy to clipboard
18
+ */
19
+ text: string;
20
+ /**
21
+ * Custom copy button content
22
+ */
23
+ children?: React.ReactNode;
24
+ /**
25
+ * Callback when copy is successful
26
+ */
27
+ onCopy?: (text: string) => void;
28
+ /**
29
+ * Tooltip text when not copied
30
+ * @default 'Copy to clipboard'
31
+ */
32
+ tooltipText?: string;
33
+ /**
34
+ * Tooltip text when copied
35
+ * @default 'Copied!'
36
+ */
37
+ copiedTooltipText?: string;
38
+ /**
39
+ * Additional style
40
+ */
41
+ style?: ViewStyle;
42
+ /**
43
+ * Test ID for testing
44
+ */
45
+ testID?: string;
46
+ /**
47
+ * ARIA label (for API parity with web)
48
+ */
49
+ ariaLabel?: string;
50
+ /**
51
+ * Form name attribute (for API parity with web)
52
+ */
53
+ name?: string;
54
+ /**
55
+ * Form type attribute (for API parity with web)
56
+ */
57
+ type?: 'button' | 'submit' | 'reset';
58
+ /**
59
+ * Form value attribute (for API parity with web)
60
+ */
61
+ value?: string;
62
+ /**
63
+ * Icon prop (expo-only, for API parity)
64
+ */
65
+ icon?: ReactNode;
66
+ }
67
+ /**
68
+ * Component for copying text to clipboard with visual feedback.
69
+ *
70
+ * @component
71
+ * @example
72
+ * ```tsx
73
+ * <CopyToClipboard text="Hello World" />
74
+ * ```
75
+ */
76
+ declare const CopyToClipboard: ({ text, children, variant, onCopy, tooltipText, copiedTooltipText, style, testID, ...buttonProps }: CopyToClipboardProps) => import("react/jsx-runtime").JSX.Element;
77
+ export default CopyToClipboard;
78
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/CopyToClipboard/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,WAAW,EACX,UAAU,GAAG,SAAS,CACvB;IACC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;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;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAI,oGAUtB,oBAAoB,4CA2BtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @fileoverview DescriptionList component
3
+ * @description Semantic description list for key-value pairs
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
+ * Description item interface
13
+ */
14
+ export interface DescriptionItem {
15
+ /** Term/label */
16
+ label: string;
17
+ /** Definition/value */
18
+ value: ReactNode;
19
+ }
20
+ /**
21
+ * DescriptionList component props interface
22
+ */
23
+ export interface DescriptionListProps {
24
+ /**
25
+ * Array of term/definition pairs
26
+ */
27
+ items?: DescriptionItem[];
28
+ /**
29
+ * Alternative content (replaces items array rendering)
30
+ */
31
+ children?: ReactNode;
32
+ /**
33
+ * Layout orientation
34
+ * @default 'vertical'
35
+ */
36
+ orientation?: 'horizontal' | 'vertical';
37
+ /**
38
+ * Additional style
39
+ */
40
+ style?: ViewStyle;
41
+ /**
42
+ * Test ID for testing
43
+ */
44
+ testID?: string;
45
+ }
46
+ /**
47
+ * DescriptionList component for key-value pairs.
48
+ *
49
+ * @component
50
+ * @example
51
+ * ```tsx
52
+ * <DescriptionList items={[
53
+ * { label: 'Email', value: user.email },
54
+ * { label: 'Plan', value: 'Pro' }
55
+ * ]} />
56
+ * ```
57
+ */
58
+ declare const DescriptionList: ({ items, children, orientation, style, testID, }: DescriptionListProps) => import("react/jsx-runtime").JSX.Element | null;
59
+ export default DescriptionList;
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/DescriptionList/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAOpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,eAAe,GAAI,kDAMtB,oBAAoB,mDAwDtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * @fileoverview Dialog component
3
+ * @description Accessible modal dialog 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 { ButtonVariant } from '../Button';
12
+ import type { ReactNode } from 'react';
13
+ /**
14
+ * Content size type
15
+ */
16
+ export type ContentSize = 'auto' | 'form' | 'text' | 'image' | 'code' | 'full';
17
+ /**
18
+ * Dialog component props interface
19
+ */
20
+ export interface DialogProps {
21
+ /**
22
+ * The element that opens the dialog
23
+ */
24
+ trigger?: ReactNode;
25
+ /**
26
+ * Dialog title
27
+ */
28
+ title?: string | ReactNode;
29
+ /**
30
+ * Dialog description
31
+ */
32
+ description?: string | ReactNode;
33
+ /**
34
+ * Main content
35
+ */
36
+ children?: ReactNode;
37
+ /**
38
+ * Controlled open state
39
+ */
40
+ open?: boolean;
41
+ /**
42
+ * Callback when open state changes
43
+ */
44
+ onOpenChange?: (open: boolean) => void;
45
+ /**
46
+ * Content size
47
+ * @default 'auto'
48
+ */
49
+ contentSize?: ContentSize;
50
+ /**
51
+ * Visual variant
52
+ * @default 'default'
53
+ */
54
+ variant?: (typeof SURFACE_VARIANT)[keyof typeof SURFACE_VARIANT];
55
+ /**
56
+ * Structured action buttons for the dialog footer
57
+ */
58
+ actions?: {
59
+ cancel?: {
60
+ label: string;
61
+ onClick?: () => void;
62
+ };
63
+ confirm?: {
64
+ label: string;
65
+ onClick?: () => void;
66
+ variant?: ButtonVariant;
67
+ };
68
+ };
69
+ /**
70
+ * Footer actions (custom ReactNode)
71
+ */
72
+ footer?: ReactNode;
73
+ /**
74
+ * Additional style
75
+ */
76
+ style?: ViewStyle;
77
+ /**
78
+ * Label for the auto-rendered close button (shown when no footer/actions provided).
79
+ * Localize this at the call site.
80
+ * @default 'Close'
81
+ */
82
+ closeText?: string;
83
+ /**
84
+ * Test ID for testing
85
+ */
86
+ testID?: string;
87
+ }
88
+ /**
89
+ * Accessible modal dialog component.
90
+ *
91
+ * @component
92
+ * @example
93
+ * ```tsx
94
+ * <Dialog
95
+ * trigger={<Button>Open Dialog</Button>}
96
+ * title="Confirm"
97
+ * description="Are you sure?"
98
+ * >
99
+ * <Text>Dialog content</Text>
100
+ * </Dialog>
101
+ * ```
102
+ */
103
+ declare const Dialog: ({ trigger, title, description, children, open: controlledOpen, onOpenChange, contentSize, variant, actions, footer, style, closeText, testID, }: DialogProps) => import("react/jsx-runtime").JSX.Element;
104
+ export default Dialog;
105
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Dialog/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;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,WAAW,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;IACjE;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;QACjD,OAAO,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;YAAC,OAAO,CAAC,EAAE,aAAa,CAAA;SAAE,CAAC;KAC5E,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2BD;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,MAAM,GAAI,iJAcb,WAAW,4CA+Ib,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * @fileoverview DropdownMenu component
3
+ * @description Dropdown menu 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
+ * Dropdown menu item data interface
13
+ */
14
+ export interface DropdownMenuItemData {
15
+ label: string;
16
+ value?: string;
17
+ icon?: ReactNode;
18
+ disabled?: boolean;
19
+ separator?: boolean;
20
+ onSelect?: () => void;
21
+ }
22
+ /**
23
+ * DropdownMenu component props interface
24
+ */
25
+ export interface DropdownMenuProps {
26
+ /**
27
+ * Trigger element
28
+ */
29
+ trigger?: ReactNode;
30
+ /**
31
+ * Trigger content (alternative to trigger prop)
32
+ */
33
+ children?: ReactNode;
34
+ /**
35
+ * Menu items
36
+ */
37
+ items?: DropdownMenuItemData[];
38
+ /**
39
+ * Menu content (alternative to items)
40
+ */
41
+ content?: ReactNode;
42
+ /**
43
+ * Width of the dropdown content
44
+ */
45
+ contentWidth?: number | string;
46
+ /**
47
+ * Alignment of the dropdown content relative to trigger
48
+ * @default 'start'
49
+ */
50
+ contentAlign?: 'start' | 'center' | 'end';
51
+ /**
52
+ * Controlled open state
53
+ */
54
+ open?: boolean;
55
+ /**
56
+ * Callback when open state changes
57
+ */
58
+ onOpenChange?: (open: boolean) => void;
59
+ /**
60
+ * Additional style
61
+ */
62
+ style?: ViewStyle;
63
+ /**
64
+ * Test ID for testing
65
+ */
66
+ testID?: string;
67
+ }
68
+ /**
69
+ * Dropdown menu component.
70
+ *
71
+ * @component
72
+ * @example
73
+ * ```tsx
74
+ * <DropdownMenu
75
+ * trigger={<Button>Menu</Button>}
76
+ * items={[
77
+ * { label: 'Item 1', onSelect: () => console.log('1') },
78
+ * { label: 'Item 2', onSelect: () => console.log('2') }
79
+ * ]}
80
+ * />
81
+ * ```
82
+ */
83
+ declare const DropdownMenu: ({ trigger, children, items, content, contentWidth, contentAlign, open: controlledOpen, onOpenChange, style, testID, }: DropdownMenuProps) => import("react/jsx-runtime").JSX.Element;
84
+ export default DropdownMenu;
85
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/DropdownMenu/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,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,iBAAiB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC1C;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAoBD;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,YAAY,GAAI,uHAWnB,iBAAiB,4CA6FnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @fileoverview DualCard component
3
+ * @description Two-column card layout with vertical 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 { SURFACE_VARIANT } from '../../utils/constants';
11
+ import type { ReactNode } from 'react';
12
+ import type { CardContent } from '../Card';
13
+ /**
14
+ * DualCard component props interface
15
+ */
16
+ export interface DualCardProps {
17
+ /**
18
+ * Left side title
19
+ */
20
+ leftTitle?: string;
21
+ /**
22
+ * Left side subtitle
23
+ */
24
+ leftSubtitle?: string;
25
+ /**
26
+ * Left side content
27
+ */
28
+ leftContent?: CardContent;
29
+ /**
30
+ * Left side CTA
31
+ */
32
+ leftCTA?: ReactNode;
33
+ /**
34
+ * Left side icon (for API parity with web)
35
+ */
36
+ leftIcon?: ReactNode;
37
+ /**
38
+ * Right side title
39
+ */
40
+ rightTitle?: string;
41
+ /**
42
+ * Right side subtitle
43
+ */
44
+ rightSubtitle?: string;
45
+ /**
46
+ * Right side content
47
+ */
48
+ rightContent?: CardContent;
49
+ /**
50
+ * Right side CTA
51
+ */
52
+ rightCTA?: ReactNode;
53
+ /**
54
+ * Right side icon (for API parity with web)
55
+ */
56
+ rightIcon?: ReactNode;
57
+ /**
58
+ * Visual variant
59
+ * @default 'default'
60
+ */
61
+ variant?: (typeof SURFACE_VARIANT)[keyof typeof SURFACE_VARIANT];
62
+ /**
63
+ * Increases card shadow for elevated appearance
64
+ * @default false
65
+ */
66
+ elevated?: boolean;
67
+ /**
68
+ * Custom content override (replaces default dual layout)
69
+ */
70
+ children?: ReactNode;
71
+ /**
72
+ * Click handler
73
+ */
74
+ onClick?: () => void;
75
+ /**
76
+ * Additional style
77
+ */
78
+ style?: ViewStyle;
79
+ /**
80
+ * Test ID for testing
81
+ */
82
+ testID?: string;
83
+ }
84
+ /**
85
+ * Two-column card with vertical separator.
86
+ * Responsive: 2 columns on tablet+, stacks to 1 column on mobile.
87
+ *
88
+ * @component
89
+ * @example
90
+ * ```tsx
91
+ * <DualCard
92
+ * leftTitle="What we do"
93
+ * leftContent="Content left"
94
+ * rightTitle="How we do it"
95
+ * rightContent="Content right"
96
+ * />
97
+ * ```
98
+ */
99
+ declare const DualCard: ({ leftTitle, leftSubtitle, leftContent, leftCTA, rightTitle, rightSubtitle, rightContent, rightCTA, variant, elevated, children, onClick, style, testID, }: DualCardProps) => import("react/jsx-runtime").JSX.Element;
100
+ export default DualCard;
101
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/DualCard/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AASxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,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;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;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;AAMD;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,QAAQ,GAAI,4JAef,aAAa,4CAuFf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @fileoverview FeatureFallback component
3
+ * @description Component for graceful feature degradation
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, ComponentType } from 'react';
11
+ /**
12
+ * FeatureFallback component props interface
13
+ */
14
+ export interface FeatureFallbackProps {
15
+ /**
16
+ * Fallback content to show when feature is unavailable
17
+ */
18
+ children?: ReactNode;
19
+ /**
20
+ * Name of the unavailable feature
21
+ */
22
+ featureName?: string;
23
+ /**
24
+ * Custom message to display
25
+ */
26
+ message?: string;
27
+ /**
28
+ * Icon to display above the message
29
+ */
30
+ icon?: ReactNode;
31
+ /**
32
+ * Whether to show an action button
33
+ * @default false
34
+ */
35
+ showActionButton?: boolean;
36
+ /**
37
+ * Action button text
38
+ * @default 'Go Back'
39
+ */
40
+ actionButtonText?: string;
41
+ /**
42
+ * Additional help text below the message
43
+ */
44
+ helpText?: string;
45
+ /**
46
+ * Additional style
47
+ */
48
+ style?: ViewStyle;
49
+ /**
50
+ * Test ID for testing
51
+ */
52
+ testID?: string;
53
+ }
54
+ /**
55
+ * Component for graceful feature degradation.
56
+ *
57
+ * @component
58
+ * @example
59
+ * ```tsx
60
+ * <FeatureFallback>
61
+ * <Text>Feature not available</Text>
62
+ * </FeatureFallback>
63
+ * ```
64
+ */
65
+ declare const FeatureFallback: ({ children, featureName, message, icon, showActionButton, actionButtonText, helpText, style, testID, }: FeatureFallbackProps) => import("react/jsx-runtime").JSX.Element;
66
+ /**
67
+ * HOC to wrap components with feature fallback via ErrorBoundary.
68
+ * Catches React render errors that try/catch cannot.
69
+ */
70
+ export declare const withFeatureFallback: <P extends object>(WrappedComponent: ComponentType<P>, fallback: ReactNode) => {
71
+ (props: P): import("react/jsx-runtime").JSX.Element;
72
+ displayName: string;
73
+ };
74
+ export default FeatureFallback;
75
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/FeatureFallback/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAOpD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAa,MAAM,OAAO,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,eAAe,GAAI,wGAUtB,oBAAoB,4CA4DtB,CAAC;AAgCF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAClD,kBAAkB,aAAa,CAAC,CAAC,CAAC,EAClC,UAAU,SAAS;YAEiB,CAAC;;CAStC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @fileoverview FileButton component
3
+ * @description Button for file input
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
+ /**
12
+ * FileButton component props interface
13
+ */
14
+ export interface FileButtonProps extends Omit<ButtonProps, 'onPress'> {
15
+ /**
16
+ * Callback when file is selected
17
+ */
18
+ onFileSelect?: (file: {
19
+ uri: string;
20
+ name: string;
21
+ type: string;
22
+ size: number;
23
+ }) => void;
24
+ /**
25
+ * Accepted file types (MIME types)
26
+ */
27
+ accept?: string[];
28
+ /**
29
+ * Multiple file selection
30
+ * @default false
31
+ */
32
+ multiple?: boolean;
33
+ /**
34
+ * Additional style
35
+ */
36
+ style?: ViewStyle;
37
+ /**
38
+ * Test ID for testing
39
+ */
40
+ testID?: string;
41
+ }
42
+ /**
43
+ * Button for file input.
44
+ *
45
+ * @component
46
+ * @example
47
+ * ```tsx
48
+ * <FileButton onFileSelect={(file) => console.log(file)}>
49
+ * Choose File
50
+ * </FileButton>
51
+ * ```
52
+ */
53
+ declare const FileButton: ({ onFileSelect, accept, multiple, children, style, testID, ...buttonProps }: FileButtonProps) => import("react/jsx-runtime").JSX.Element;
54
+ export default FileButton;
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/FileButton/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI5E,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAIrD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IACnE;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,CAAC;IACX;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,UAAU,GAAI,6EAQjB,eAAe,4CAiCjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @fileoverview Grid component
3
+ * @description Grid layout component with responsive columns
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
+ * Responsive columns array: [mobile, tablet, laptop, desktop]
13
+ */
14
+ export type ResponsiveCols = [number, number, number, number];
15
+ /**
16
+ * Grid component props interface
17
+ */
18
+ export interface GridProps {
19
+ /**
20
+ * Number of columns - fixed or responsive
21
+ * @default 1
22
+ */
23
+ cols?: number | ResponsiveCols;
24
+ /**
25
+ * Spacing between items (in pixels)
26
+ * @default 16
27
+ */
28
+ gap?: number;
29
+ /**
30
+ * Cross-axis alignment of grid items
31
+ */
32
+ align?: 'start' | 'center' | 'end' | 'stretch';
33
+ /**
34
+ * Main-axis content justification
35
+ */
36
+ justify?: 'start' | 'center' | 'end' | 'space-between' | 'space-around';
37
+ /**
38
+ * Grid children
39
+ */
40
+ children: ReactNode;
41
+ /**
42
+ * Additional style
43
+ */
44
+ style?: ViewStyle;
45
+ /**
46
+ * Test ID for testing
47
+ */
48
+ testID?: string;
49
+ }
50
+ /**
51
+ * GridArea component props interface
52
+ */
53
+ export interface GridAreaProps {
54
+ /**
55
+ * Area name
56
+ */
57
+ name: string;
58
+ /**
59
+ * Area content
60
+ */
61
+ children: ReactNode;
62
+ /**
63
+ * Self-alignment within the grid cell
64
+ * @default 'auto'
65
+ */
66
+ alignSelf?: 'auto' | 'start' | 'center' | 'end' | 'stretch';
67
+ /**
68
+ * Justify self alignment (horizontal alignment within grid cell)
69
+ * @default 'stretch'
70
+ */
71
+ justifySelf?: 'start' | 'center' | 'end' | 'stretch';
72
+ /**
73
+ * Overflow behavior
74
+ * @default 'hidden'
75
+ */
76
+ overflow?: 'hidden' | 'visible' | 'auto' | 'scroll';
77
+ /**
78
+ * Minimum width for GridArea
79
+ */
80
+ min?: string | number;
81
+ /**
82
+ * Additional style
83
+ */
84
+ style?: ViewStyle;
85
+ /**
86
+ * Test ID for testing
87
+ */
88
+ testID?: string;
89
+ }
90
+ declare const Grid: ({ cols, gap, align, justify, children, style, testID }: GridProps) => import("react/jsx-runtime").JSX.Element;
91
+ export declare const GridArea: ({ name, children, alignSelf, justifySelf, overflow, min, style, testID }: GridAreaProps) => import("react/jsx-runtime").JSX.Element;
92
+ export default Grid;
93
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Grid/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,GAAG,cAAc,CAAC;IACxE;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACrD;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpD;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8BD,QAAA,MAAM,IAAI,GAAI,wDAAiE,SAAS,4CA4CvF,CAAC;AAsBF,eAAO,MAAM,QAAQ,GAAI,0EAStB,aAAa,4CAaf,CAAC;AAEF,eAAe,IAAI,CAAC"}