@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,52 @@
1
+ /**
2
+ * @fileoverview Spinner component
3
+ * @description Spinner component for loading states with inline and overlay modes
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 { THEME_VARIANT } from '../../utils/constants';
11
+ /**
12
+ * Spinner component props interface
13
+ */
14
+ export interface SpinnerProps {
15
+ /**
16
+ * If true, renders as full-page overlay with backdrop. If false/undefined, renders inline (default).
17
+ * @default false
18
+ */
19
+ overlay?: boolean;
20
+ /**
21
+ * Color variant - theme color for spinner
22
+ * @default 'primary'
23
+ */
24
+ variant?: (typeof THEME_VARIANT)[keyof typeof THEME_VARIANT];
25
+ /**
26
+ * Size of the spinner
27
+ * @default 'small'
28
+ */
29
+ size?: 'small' | 'large';
30
+ /**
31
+ * Additional style
32
+ */
33
+ style?: ViewStyle;
34
+ /**
35
+ * Test ID for testing
36
+ */
37
+ testID?: string;
38
+ }
39
+ /**
40
+ * Spinner component for loading states.
41
+ *
42
+ * @component
43
+ * @example
44
+ * ```tsx
45
+ * <Spinner />
46
+ * <Spinner variant="primary" size="large" />
47
+ * <Spinner overlay />
48
+ * ```
49
+ */
50
+ declare const Spinner: ({ overlay, variant, size, style, testID, }: SpinnerProps) => import("react/jsx-runtime").JSX.Element;
51
+ export default Spinner;
52
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Spinner/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;IAC7D;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,OAAO,GAAI,4CAMd,YAAY,4CA+Bd,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @fileoverview Stack component
3
+ * @description Polymorphic flexbox layout primitive for linear organization (vertical or horizontal).
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
+ * Stack direction constants
13
+ */
14
+ export declare const STACK_DIRECTION: {
15
+ readonly ROW: "row";
16
+ readonly COLUMN: "column";
17
+ };
18
+ export type StackDirection = (typeof STACK_DIRECTION)[keyof typeof STACK_DIRECTION];
19
+ /**
20
+ * Stack alignment constants
21
+ */
22
+ export declare const STACK_ALIGN: {
23
+ readonly START: "flex-start";
24
+ readonly CENTER: "center";
25
+ readonly END: "flex-end";
26
+ readonly STRETCH: "stretch";
27
+ readonly BASELINE: "baseline";
28
+ };
29
+ export type StackAlign = (typeof STACK_ALIGN)[keyof typeof STACK_ALIGN];
30
+ /**
31
+ * Stack justify constants
32
+ */
33
+ export declare const STACK_JUSTIFY: {
34
+ readonly START: "flex-start";
35
+ readonly CENTER: "center";
36
+ readonly END: "flex-end";
37
+ readonly SPACE_BETWEEN: "space-between";
38
+ readonly SPACE_AROUND: "space-around";
39
+ readonly SPACE_EVENLY: "space-evenly";
40
+ };
41
+ export type StackJustify = (typeof STACK_JUSTIFY)[keyof typeof STACK_JUSTIFY];
42
+ /**
43
+ * Stack component props interface
44
+ */
45
+ export interface StackProps {
46
+ /**
47
+ * Stack children
48
+ */
49
+ children: ReactNode;
50
+ /**
51
+ * Direction (row or column)
52
+ * @default 'column'
53
+ */
54
+ direction?: StackDirection;
55
+ /**
56
+ * Alignment along cross axis
57
+ * @default 'stretch'
58
+ */
59
+ align?: StackAlign;
60
+ /**
61
+ * Justification along main axis
62
+ * @default 'flex-start'
63
+ */
64
+ justify?: StackJustify;
65
+ /**
66
+ * Gap between items (in pixels)
67
+ * @default 0
68
+ */
69
+ gap?: number;
70
+ /**
71
+ * Whether children should wrap to next line
72
+ * @default false
73
+ */
74
+ wrap?: boolean;
75
+ /**
76
+ * Flex value (0 = auto, 1 = fill available)
77
+ */
78
+ flex?: number;
79
+ /**
80
+ * Center children on both axes (shorthand for align="center" justify="center")
81
+ * @default false
82
+ */
83
+ centered?: boolean;
84
+ /**
85
+ * Additional style
86
+ */
87
+ style?: ViewStyle;
88
+ /**
89
+ * Test ID for testing
90
+ */
91
+ testID?: string;
92
+ /**
93
+ * Overflow behavior (for API parity with web)
94
+ */
95
+ overflow?: 'visible' | 'hidden' | 'scroll' | 'auto';
96
+ }
97
+ /**
98
+ * Polymorphic flexbox layout primitive for linear organization.
99
+ *
100
+ * @component
101
+ * @example
102
+ * ```tsx
103
+ * // Vertical stack (default)
104
+ * <Stack>
105
+ * <Text>Item 1</Text>
106
+ * <Text>Item 2</Text>
107
+ * </Stack>
108
+ *
109
+ * // Horizontal stack
110
+ * <Stack direction="row" gap={16}>
111
+ * <Button>Previous</Button>
112
+ * <Button>Next</Button>
113
+ * </Stack>
114
+ *
115
+ * // Centered stack
116
+ * <Stack align="center" justify="center">
117
+ * <Text>Centered content</Text>
118
+ * </Stack>
119
+ * ```
120
+ */
121
+ declare const Stack: ({ children, direction, align, justify, gap, wrap, flex, centered, style, overflow, testID, }: StackProps) => import("react/jsx-runtime").JSX.Element;
122
+ export default Stack;
123
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Stack/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,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,MAAM,MAAM,cAAc,GACxB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,KAAK,GAAI,8FAYZ,UAAU,4CAgBZ,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * @fileoverview Stepper component
3
+ * @description Reusable stepper component for step-by-step workflows
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 { THEME_VARIANT } from '../../utils/constants';
11
+ import type { ReactNode } from 'react';
12
+ /**
13
+ * Stepper step interface
14
+ */
15
+ export interface StepperStep {
16
+ /** Step number */
17
+ number: number;
18
+ /** Step title */
19
+ title: string;
20
+ /** Step icon (optional) */
21
+ icon?: ReactNode;
22
+ /** Step content */
23
+ content: ReactNode;
24
+ }
25
+ /**
26
+ * Stepper component props interface
27
+ */
28
+ export interface StepperProps {
29
+ /**
30
+ * Array of steps to display
31
+ */
32
+ steps: StepperStep[];
33
+ /**
34
+ * Initial active step index (0-based)
35
+ * @default 0
36
+ */
37
+ defaultStep?: number;
38
+ /**
39
+ * Whether to show step numbers in navigation
40
+ * @default true
41
+ */
42
+ showStepNumbers?: boolean;
43
+ /**
44
+ * Show previous/next navigation buttons
45
+ * @default false
46
+ */
47
+ showNavigation?: boolean;
48
+ /**
49
+ * Show step info text "Step X of Y"
50
+ * @default false
51
+ */
52
+ showStepInfo?: boolean;
53
+ /**
54
+ * Label for previous button
55
+ * @default 'Previous'
56
+ */
57
+ previousLabel?: string;
58
+ /**
59
+ * Label for next button
60
+ * @default 'Next'
61
+ */
62
+ nextLabel?: string;
63
+ /**
64
+ * Template string for step info (e.g. "Step {current} of {total}")
65
+ * Replaces default "Step X of Y" text when showStepInfo is true
66
+ */
67
+ stepInfoTemplate?: string;
68
+ /**
69
+ * Variant style
70
+ * @default 'default'
71
+ */
72
+ variant?: (typeof THEME_VARIANT)[keyof typeof THEME_VARIANT];
73
+ /**
74
+ * Callback when step changes
75
+ */
76
+ onStepChange?: (stepIndex: number) => void;
77
+ /**
78
+ * Additional style
79
+ */
80
+ style?: ViewStyle;
81
+ /**
82
+ * Test ID for testing
83
+ */
84
+ testID?: string;
85
+ }
86
+ /**
87
+ * Reusable stepper component for step-by-step workflows.
88
+ *
89
+ * @component
90
+ * @example
91
+ * ```tsx
92
+ * <Stepper
93
+ * steps={[
94
+ * { number: 1, title: 'Step 1', content: <Text>Step 1 Content</Text> },
95
+ * { number: 2, title: 'Step 2', content: <Text>Step 2 Content</Text> }
96
+ * ]}
97
+ * />
98
+ * ```
99
+ */
100
+ declare const Stepper: ({ steps, defaultStep, showStepNumbers, showNavigation, showStepInfo, stepInfoTemplate, previousLabel, nextLabel, variant, onStepChange, style, testID, }: StepperProps) => import("react/jsx-runtime").JSX.Element | null;
101
+ export default Stepper;
102
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Stepper/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mBAAmB;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;IAC7D;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAeD;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,OAAO,GAAI,0JAad,YAAY,mDA8Hd,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @fileoverview Switch component
3
+ * @description Accessible switch/toggle control with semantic color variants
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ import { type ViewStyle } from 'react-native';
10
+ import { CONTROL_VARIANT } from '../../utils/constants';
11
+ import type { ReactNode } from 'react';
12
+ /**
13
+ * Switch component props interface
14
+ */
15
+ export interface SwitchProps {
16
+ /**
17
+ * Whether switch is checked
18
+ */
19
+ checked?: boolean;
20
+ /**
21
+ * Whether switch is disabled
22
+ * @default false
23
+ */
24
+ disabled?: boolean;
25
+ /**
26
+ * Semantic color variant (affects track color when checked)
27
+ * @default 'default'
28
+ */
29
+ variant?: (typeof CONTROL_VARIANT)[keyof typeof CONTROL_VARIANT];
30
+ /**
31
+ * Change handler
32
+ */
33
+ onCheckedChange?: (checked: boolean) => void;
34
+ /**
35
+ * Optional label text
36
+ */
37
+ label?: ReactNode;
38
+ /**
39
+ * Label shown when switch is unchecked
40
+ */
41
+ uncheckedLabel?: string;
42
+ /**
43
+ * Label shown when switch is checked
44
+ */
45
+ checkedLabel?: string;
46
+ /**
47
+ * Whether the field is required
48
+ * @default false
49
+ */
50
+ required?: boolean;
51
+ /**
52
+ * Label content (rendered after the switch)
53
+ */
54
+ children?: ReactNode;
55
+ /**
56
+ * Additional container style
57
+ */
58
+ style?: ViewStyle;
59
+ /**
60
+ * Test ID for testing
61
+ */
62
+ testID?: string;
63
+ /**
64
+ * Form name attribute (for API parity with web)
65
+ */
66
+ name?: string;
67
+ /**
68
+ * Form type attribute (for API parity with web)
69
+ */
70
+ type?: string;
71
+ /**
72
+ * Form value attribute (for API parity with web)
73
+ */
74
+ value?: string;
75
+ }
76
+ /**
77
+ * Accessible switch/toggle control with semantic color variants.
78
+ *
79
+ * @component
80
+ * @example
81
+ * ```tsx
82
+ * <Switch checked={enabled} onCheckedChange={setEnabled} />
83
+ * <Switch checked={notifications} onCheckedChange={setNotifications} label="Enable notifications" />
84
+ * ```
85
+ */
86
+ declare const Switch: ({ checked, disabled, variant, onCheckedChange, label, uncheckedLabel, checkedLabel, required, children, style, testID, }: SwitchProps) => import("react/jsx-runtime").JSX.Element;
87
+ export default Switch;
88
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Switch/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;IACjE;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;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;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqBD;;;;;;;;;GASG;AACH,QAAA,MAAM,MAAM,GAAI,0HAYb,WAAW,4CAmDb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @fileoverview Table component
3
+ * @description Table component with sorting and selection
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
+ * Table column configuration
13
+ */
14
+ export interface TableColumn<T = any> {
15
+ key: string;
16
+ /** Column header */
17
+ title: string | ReactNode;
18
+ dataIndex?: keyof T;
19
+ sortable?: boolean;
20
+ filterable?: boolean;
21
+ /** Render prop for custom cell content */
22
+ render?: (value: any, record: T, index: number) => ReactNode;
23
+ /** Column width */
24
+ width?: string | number;
25
+ /** Text alignment */
26
+ align?: 'start' | 'center' | 'end';
27
+ }
28
+ /**
29
+ * Data table component props
30
+ */
31
+ export interface DataTableProps<T = any> {
32
+ /** Data array */
33
+ data: T[];
34
+ /** Column definitions */
35
+ columns: TableColumn<T>[];
36
+ /** Enable sorting */
37
+ sortable?: boolean;
38
+ /** Enable row selection */
39
+ selectable?: boolean;
40
+ /** Enable search */
41
+ searchable?: boolean;
42
+ /** Enable pagination */
43
+ pagination?: boolean;
44
+ /** Current page (1-indexed) */
45
+ currentPage?: number;
46
+ /** Page size */
47
+ pageSize?: number;
48
+ /** Total number of items */
49
+ total?: number;
50
+ /** Callback when page changes */
51
+ onPageChange?: (page: number) => void;
52
+ /** Callback when page size changes */
53
+ onPageSizeChange?: (pageSize: number) => void;
54
+ /** Loading state */
55
+ loading?: boolean;
56
+ /** Callback when sorting changes */
57
+ onSort?: (column: string, direction: 'asc' | 'desc') => void;
58
+ /** Callback when selection changes */
59
+ onSelect?: (selectedRows: T[]) => void;
60
+ /** Callback when search query changes */
61
+ onSearch?: (query: string) => void;
62
+ /** Callback when a row is clicked/pressed */
63
+ onRowClick?: (row: T) => void;
64
+ /** Alias for onRowClick (React Native convention) */
65
+ onRowPress?: (row: T) => void;
66
+ /** Label template for showing range (e.g. "Showing {from}-{to} of {total}") */
67
+ showingLabel?: string;
68
+ /** Previous button label for pagination */
69
+ paginationPreviousLabel?: string;
70
+ /** Next button label for pagination */
71
+ paginationNextLabel?: string;
72
+ /** Placeholder text for items per page selector */
73
+ paginationItemsPerPagePlaceholder?: string;
74
+ /** Show cell border lines */
75
+ gridLines?: boolean;
76
+ /** Additional style */
77
+ style?: ViewStyle;
78
+ /** Test ID for testing */
79
+ testID?: string;
80
+ }
81
+ /**
82
+ * Basic Table wrapper component.
83
+ */
84
+ declare function Table({ children, style, testID, }: {
85
+ children: ReactNode;
86
+ style?: ViewStyle;
87
+ testID?: string;
88
+ }): import("react/jsx-runtime").JSX.Element;
89
+ /**
90
+ * Data table component with sorting, selection, and pagination.
91
+ *
92
+ * @component
93
+ * @example
94
+ * ```tsx
95
+ * <DataTable
96
+ * data={data}
97
+ * columns={[
98
+ * { key: 'name', title: 'Name', dataIndex: 'name' },
99
+ * { key: 'age', title: 'Age', dataIndex: 'age', sortable: true }
100
+ * ]}
101
+ * />
102
+ * ```
103
+ */
104
+ declare function DataTable<T = any>({ data, columns, sortable, selectable, searchable, pagination, currentPage: controlledPage, pageSize: controlledPageSize, total, onPageChange, onPageSizeChange, loading, onSort, onSelect, onSearch, onRowClick, onRowPress, showingLabel, paginationPreviousLabel, paginationNextLabel, paginationItemsPerPagePlaceholder, gridLines, style, testID, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
105
+ export default Table;
106
+ export { DataTable };
107
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Table/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @fileoverview Tabs component
3
+ * @description Tabbed interface 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 { THEME_VARIANT } from '../../utils/constants';
11
+ import type { ReactNode } from 'react';
12
+ /**
13
+ * Tab item interface
14
+ */
15
+ export interface TabItem {
16
+ /** Unique identifier for the tab */
17
+ value: string;
18
+ /** Tab label content */
19
+ label: string | ReactNode;
20
+ /** Tab panel content */
21
+ content: ReactNode;
22
+ /** Whether the tab is disabled */
23
+ disabled?: boolean;
24
+ }
25
+ /**
26
+ * Tabs component props interface
27
+ */
28
+ export interface TabsProps {
29
+ /**
30
+ * Default active tab value
31
+ */
32
+ defaultValue?: string;
33
+ /**
34
+ * Controlled active tab value
35
+ */
36
+ value?: string;
37
+ /**
38
+ * Change handler
39
+ */
40
+ onValueChange?: (value: string) => void;
41
+ /**
42
+ * Array of tab items
43
+ */
44
+ items: TabItem[];
45
+ /**
46
+ * Variant style
47
+ * @default 'default'
48
+ */
49
+ variant?: (typeof THEME_VARIANT)[keyof typeof THEME_VARIANT];
50
+ /**
51
+ * Gap between tab triggers
52
+ */
53
+ gap?: number;
54
+ /**
55
+ * Align tab list
56
+ */
57
+ align?: 'start' | 'center' | 'end';
58
+ /**
59
+ * Justify tab list
60
+ */
61
+ justify?: 'start' | 'center' | 'end' | 'space-between';
62
+ /**
63
+ * Shorthand for align=center justify=center
64
+ * @default false
65
+ */
66
+ center?: boolean;
67
+ /**
68
+ * Tab list direction
69
+ * @default 'horizontal'
70
+ */
71
+ orientation?: 'horizontal' | 'vertical';
72
+ /**
73
+ * Additional style
74
+ */
75
+ style?: ViewStyle;
76
+ /**
77
+ * Test ID for testing
78
+ */
79
+ testID?: string;
80
+ /**
81
+ * Tab list style (for API parity with web)
82
+ */
83
+ listStyle?: ViewStyle;
84
+ /**
85
+ * Tab content style (for API parity with web)
86
+ */
87
+ contentStyle?: ViewStyle;
88
+ }
89
+ declare const Tabs: ({ defaultValue, value: controlledValue, onValueChange, items, variant, gap: tabGap, align, justify, center, orientation, style, listStyle, contentStyle, testID, }: TabsProps) => import("react/jsx-runtime").JSX.Element;
90
+ export default Tabs;
91
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Tabs/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,wBAAwB;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;IAC7D;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,CAAC;IACvD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;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;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAgCD,QAAA,MAAM,IAAI,GAAI,oKAeX,SAAS,4CA2FX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @fileoverview Tag component
3
+ * @description Interactive tag component for categorization and filters
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
+ * Tag variant constants
13
+ */
14
+ export declare const TAG_VARIANT: {
15
+ readonly DEFAULT: "default";
16
+ readonly OUTLINE: "outline";
17
+ readonly ACCENT: "accent";
18
+ };
19
+ export type TagVariant = (typeof TAG_VARIANT)[keyof typeof TAG_VARIANT];
20
+ /**
21
+ * Tag component props interface
22
+ */
23
+ export interface TagProps {
24
+ /**
25
+ * Tag content
26
+ */
27
+ children: ReactNode;
28
+ /**
29
+ * Variant style
30
+ * @default 'default'
31
+ */
32
+ variant?: TagVariant;
33
+ /**
34
+ * Size
35
+ * @default 'md'
36
+ */
37
+ size?: 'sm' | 'md' | 'lg';
38
+ /**
39
+ * Whether the tag is interactive (clickable)
40
+ * @default false
41
+ */
42
+ interactive?: boolean;
43
+ /**
44
+ * Callback when tag is clicked
45
+ */
46
+ onClick?: () => void;
47
+ /**
48
+ * Callback when remove button is clicked
49
+ */
50
+ onRemove?: () => void;
51
+ /**
52
+ * Whether the tag is disabled
53
+ * @default false
54
+ */
55
+ disabled?: boolean;
56
+ /**
57
+ * Additional style
58
+ */
59
+ style?: ViewStyle;
60
+ /**
61
+ * Test ID for testing
62
+ */
63
+ testID?: string;
64
+ }
65
+ /**
66
+ * Interactive tag component for categorization and filters.
67
+ *
68
+ * @component
69
+ * @example
70
+ * ```tsx
71
+ * <Tag>React</Tag>
72
+ * <Tag variant="outline" onRemove={() => console.log('removed')}>Filter</Tag>
73
+ * <Tag variant="accent" interactive onClick={() => console.log('clicked')}>Click me</Tag>
74
+ * ```
75
+ */
76
+ declare const Tag: ({ children, variant, size, interactive, onClick, onRemove, disabled, style, testID, }: TagProps) => import("react/jsx-runtime").JSX.Element;
77
+ export default Tag;
78
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Tag/index.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyDD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,GAAG,GAAI,uFAUV,QAAQ,4CAmDV,CAAC;AAEF,eAAe,GAAG,CAAC"}