@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,17 @@
1
+ /**
2
+ * @fileoverview CRUD exports
3
+ * @description Exports for CRUD functionality
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ export * from './components';
10
+ export { UploadProvider, useUploadContext } from './contexts/UploadContext';
11
+ export type { UploadProviderProps } from './contexts/UploadContext';
12
+ export { useUnsavedChangesWarning, useConfirmNavigation, } from './hooks/useUnsavedChangesWarning';
13
+ export * from './stores';
14
+ export * from './forms/hooks/useEntityForm';
15
+ export { useCrud, useCrudList, useCrudCardList, getCrudService, useCrudStore, useCrudFilters, useEntityForm as useEntityFormBase, useEntityField, useController, isFieldEditable, getFieldsForOperation, validateEntity, translateFieldLabel, translateLabel, registerFieldType, getFieldRegistry, registerBuiltinFieldTypes, useFileUpload, useEntityFavorites, useRelatedItems, } from '@donotdev/crud';
16
+ export type { CrudServiceInterface, CrudState, CrudActions, OptimisticStatus, OptimisticMeta, CrudStoreApi, CacheOptions, MutationOptions, FilterState, CollectionUIState, ViewerRole, RenderableField, GetFieldsForOperationOptions, EntityFieldsInput, SchemaOperation, ValidationIssue, ValidationResult, InferEntityData, InferEntityInput, InferEntityOutput, UseEntityFormOptions, EntityFormReturn, EntityFieldReturn, UseControllerProps, UseControllerReturn, ControllerRenderProps, ControllerFieldState, FieldTypeRegistration, ControlledFieldProps, UncontrolledFieldProps, } from '@donotdev/crud';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crud/index.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAG1C,cAAc,UAAU,CAAC;AAGzB,cAAc,6BAA6B,CAAC;AAG5C,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,cAAc,EACd,YAAY,EACZ,cAAc,EACd,aAAa,IAAI,iBAAiB,EAClC,cAAc,EACd,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @fileoverview CRUD Stores
3
+ * @description Store exports for CRUD feature
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ export { useFormStore, useFormStatus, useFormLoading, useUploadProgress, useFormError, useFormIsDirty, useHasDirtyForms, type FormStatus, type FormStoreState, type FormStoreActions, } from '@donotdev/crud';
10
+ export { useUploadStore, useTotalProgress, useIsUploading, useFieldProgress, useFieldUploadStatus, type UploadStatus, type UploadFunction, type UploadStoreState, type UploadStoreActions, } from '@donotdev/crud';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crud/stores/index.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @fileoverview AuthPartnerButton component for Expo
3
+ * @description Authentication button component for React Native
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 AuthPartnerId } from '@donotdev/core';
11
+ import type { ReactNode } from 'react';
12
+ /** Auth method type (popup/redirect are web-only; on mobile, always uses system browser) */
13
+ type AuthMethod = 'redirect' | 'popup';
14
+ export interface AuthPartnerButtonProps {
15
+ partnerId: AuthPartnerId;
16
+ method?: AuthMethod | null;
17
+ children?: ReactNode;
18
+ disabled?: boolean;
19
+ /** Display mode: 'compact' (icon-only), 'full' (icon+label), 'auto' (responsive) */
20
+ display?: 'compact' | 'full' | 'auto';
21
+ onSuccess?: (result: any) => void;
22
+ onError?: (error: Error) => void;
23
+ style?: ViewStyle;
24
+ testID?: string;
25
+ }
26
+ /**
27
+ * AuthPartnerButton - Authentication button component for Expo
28
+ */
29
+ declare function AuthPartnerButton({ partnerId, method, onSuccess, onError, children, disabled, style, testID, ...props }: AuthPartnerButtonProps): import("react/jsx-runtime").JSX.Element | null;
30
+ export default AuthPartnerButton;
31
+ //# sourceMappingURL=AuthPartnerButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthPartnerButton.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/components/AuthPartnerButton.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAInF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,4FAA4F;AAC5F,KAAK,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvC,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAgB,EAChB,KAAK,EACL,MAAM,EACN,GAAG,KAAK,EACT,EAAE,sBAAsB,kDA0FxB;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @fileoverview ConfirmDeleteDialog component for Expo
3
+ * @description Confirmation dialog for account deletion
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ export interface ConfirmDeleteDialogProps {
10
+ /** Whether dialog is open */
11
+ open: boolean;
12
+ /** Whether deletion is in progress */
13
+ isLoading?: boolean;
14
+ /** Error message if any */
15
+ error?: string | null;
16
+ /** Confirm deletion handler (web compat) */
17
+ onConfirm?: () => Promise<void>;
18
+ /** Cancel handler (web compat) */
19
+ onCancel?: () => void;
20
+ /** Open state change handler */
21
+ onOpenChange?: (open: boolean) => void;
22
+ onSuccess?: () => void;
23
+ onError?: (error: Error) => void;
24
+ }
25
+ /**
26
+ * ConfirmDeleteDialog - Confirmation dialog for account deletion
27
+ */
28
+ declare function ConfirmDeleteDialog({ open, isLoading, error, onConfirm, onCancel, onOpenChange, onSuccess, onError, }: ConfirmDeleteDialogProps): import("react/jsx-runtime").JSX.Element;
29
+ export default ConfirmDeleteDialog;
30
+ //# sourceMappingURL=ConfirmDeleteDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmDeleteDialog.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/components/ConfirmDeleteDialog.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AASH,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gCAAgC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,iBAAS,mBAAmB,CAAC,EAC3B,IAAI,EACJ,SAAS,EACT,KAAK,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,OAAO,GACR,EAAE,wBAAwB,2CAkE1B;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @fileoverview FeatureGuard component for Expo
3
+ * @description Component-level feature access control
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 { UserRole, SubscriptionTier } from '@donotdev/core';
11
+ import type { ReactNode, ComponentType } from 'react';
12
+ export interface FeatureGuardProps {
13
+ children: ReactNode;
14
+ role?: UserRole | UserRole[];
15
+ tier?: SubscriptionTier;
16
+ subscription?: boolean;
17
+ validate?: (role: UserRole, tier: SubscriptionTier) => boolean;
18
+ fallback?: ComponentType<{
19
+ requiredRole?: UserRole | UserRole[];
20
+ requiredTier?: SubscriptionTier;
21
+ requiresSubscription?: boolean;
22
+ userRole?: UserRole;
23
+ userTier?: SubscriptionTier;
24
+ }>;
25
+ style?: ViewStyle;
26
+ testID?: string;
27
+ }
28
+ /**
29
+ * FeatureGuard - Protects components based on user permissions
30
+ */
31
+ declare function FeatureGuard({ children, role, tier, subscription, validate, fallback: Fallback, style, testID, }: FeatureGuardProps): import("react/jsx-runtime").JSX.Element;
32
+ /**
33
+ * Hook to check if current user can access a feature
34
+ *
35
+ * Provides programmatic access to feature permission checking without
36
+ * rendering components. Useful for conditional logic, analytics, and
37
+ * programmatic feature access validation.
38
+ *
39
+ * @param config - Feature access configuration
40
+ * @returns True if user can access the feature, false otherwise
41
+ *
42
+ * @version 0.0.1
43
+ * @since 0.0.1
44
+ * @author AMBROISE PARK Consulting
45
+ */
46
+ export declare function useCanAccessFeature(config: {
47
+ role?: UserRole | UserRole[];
48
+ tier?: SubscriptionTier;
49
+ subscription?: boolean;
50
+ validate?: (role: UserRole, tier: SubscriptionTier) => boolean;
51
+ }): boolean;
52
+ export default FeatureGuard;
53
+ //# sourceMappingURL=FeatureGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeatureGuard.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/components/FeatureGuard.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKjE,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAC/D,QAAQ,CAAC,EAAE,aAAa,CAAC;QACvB,YAAY,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;QACrC,YAAY,CAAC,EAAE,gBAAgB,CAAC;QAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KAC7B,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,EACpB,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,QAAQ,EAAE,QAAQ,EAClB,KAAK,EACL,MAAM,GACP,EAAE,iBAAiB,2CAmHnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC;CAChE,GAAG,OAAO,CAsCV;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview GoogleOneTap component for Expo
3
+ * @description Google One Tap is web-only, shows fallback on mobile
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ import { type ViewStyle } from 'react-native';
10
+ interface GoogleOneTapProps {
11
+ style?: ViewStyle;
12
+ testID?: string;
13
+ }
14
+ /**
15
+ * GoogleOneTap - Not available on mobile, shows fallback
16
+ */
17
+ declare function GoogleOneTap({ style, testID }: GoogleOneTapProps): null;
18
+ export default GoogleOneTap;
19
+ //# sourceMappingURL=GoogleOneTap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoogleOneTap.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/components/GoogleOneTap.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpD,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,QAIzD;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @fileoverview LoginModal component for Expo
3
+ * @description Modal dialog for authentication on React Native
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ export interface LoginModalProps {
10
+ open: boolean;
11
+ onOpenChange: (open: boolean) => void;
12
+ }
13
+ /**
14
+ * Modal dialog for authentication
15
+ */
16
+ declare function LoginModal({ open, onOpenChange }: LoginModalProps): import("react/jsx-runtime").JSX.Element;
17
+ export default LoginModal;
18
+ //# sourceMappingURL=LoginModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginModal.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/components/LoginModal.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAOH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,iBAAS,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,eAAe,2CAiB1D;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @fileoverview MultipleAuthProviders component for Expo
3
+ * @description Display multiple authentication provider buttons
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ import { type AuthPartnerId } from '@donotdev/core';
10
+ import type { ViewStyle } from 'react-native';
11
+ export interface MultipleAuthProvidersProps {
12
+ /** Providers to display (alias: enabledPartners) */
13
+ providers?: AuthPartnerId[];
14
+ /** @deprecated Use providers instead */
15
+ enabledPartners?: AuthPartnerId[];
16
+ /** Button layout */
17
+ layout?: 'vertical' | 'horizontal' | 'grid';
18
+ /** Whether to show text labels on buttons */
19
+ showLabels?: boolean;
20
+ /** Auth method */
21
+ method?: 'popup' | 'redirect' | null;
22
+ /** Whether buttons should take full width */
23
+ fullWidth?: boolean;
24
+ /** Callback when authentication succeeds */
25
+ onSuccess?: () => void;
26
+ /** Callback when authentication fails */
27
+ onError?: (error: Error) => void;
28
+ }
29
+ /**
30
+ * MultipleAuthProviders - Display multiple authentication provider buttons
31
+ */
32
+ declare function MultipleAuthProviders({ providers, enabledPartners, layout, showLabels, method, fullWidth, onSuccess, onError, style, testID, }: MultipleAuthProvidersProps & {
33
+ style?: ViewStyle;
34
+ testID?: string;
35
+ }): import("react/jsx-runtime").JSX.Element;
36
+ export default MultipleAuthProviders;
37
+ //# sourceMappingURL=MultipleAuthProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipleAuthProviders.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/components/MultipleAuthProviders.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAInF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,0BAA0B;IACzC,oDAAoD;IACpD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,wCAAwC;IACxC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,oBAAoB;IACpB,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC5C,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC;IACrC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,yCAAyC;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,iBAAS,qBAAqB,CAAC,EAC7B,SAAS,EACT,eAAe,EACf,MAAmB,EACnB,UAAiB,EACjB,MAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,MAAM,GACP,EAAE,0BAA0B,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,2CA+BrE;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @fileoverview ReauthDialog component for Expo
3
+ * @description Re-authentication dialog for React Native
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ export interface ReauthDialogProps {
10
+ /** Whether dialog is open */
11
+ open: boolean;
12
+ /** Whether re-authentication is in progress */
13
+ isLoading?: boolean;
14
+ /** Error message if any */
15
+ error?: string | null;
16
+ /** Re-authentication handler */
17
+ onReauth?: (password: string) => Promise<void>;
18
+ /** Cancel handler */
19
+ onCancel?: () => void;
20
+ /** Open state change handler */
21
+ onOpenChange?: (open: boolean) => void;
22
+ onSuccess?: () => void;
23
+ onError?: (error: Error) => void;
24
+ }
25
+ /**
26
+ * ReauthDialog - Re-authentication dialog
27
+ */
28
+ declare function ReauthDialog({ open, isLoading, error, onReauth, onCancel, onOpenChange, onSuccess, onError, }: ReauthDialogProps): import("react/jsx-runtime").JSX.Element;
29
+ export default ReauthDialog;
30
+ //# sourceMappingURL=ReauthDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReauthDialog.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/components/ReauthDialog.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAOH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gCAAgC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,EACpB,IAAI,EACJ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,OAAO,GACR,EAAE,iBAAiB,2CA+BnB;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @fileoverview Auth components exports
3
+ * @description Exports for auth components
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ export { default as AuthPartnerButton } from './AuthPartnerButton';
10
+ export type { AuthPartnerButtonProps } from './AuthPartnerButton';
11
+ export { default as LoginModal } from './LoginModal';
12
+ export type { LoginModalProps } from './LoginModal';
13
+ export { default as MultipleAuthProviders } from './MultipleAuthProviders';
14
+ export type { MultipleAuthProvidersProps } from './MultipleAuthProviders';
15
+ export { default as FeatureGuard, useCanAccessFeature } from './FeatureGuard';
16
+ export type { FeatureGuardProps } from './FeatureGuard';
17
+ export { default as GoogleOneTap } from './GoogleOneTap';
18
+ export { default as ReauthDialog } from './ReauthDialog';
19
+ export type { ReauthDialogProps } from './ReauthDialog';
20
+ export { default as ConfirmDeleteDialog } from './ConfirmDeleteDialog';
21
+ export type { ConfirmDeleteDialogProps } from './ConfirmDeleteDialog';
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/components/index.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @fileoverview Auth hooks exports for Expo
3
+ * @description Exports all auth-related hooks
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ export { useUserRole } from './useUserRole';
10
+ export { useHasRole } from './useHasRole';
11
+ export { useAuthState } from './useAuthState';
12
+ export { useCanAccess } from './useCanAccess';
13
+ export { useCanAccessFeature } from '../components/FeatureGuard';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/hooks/index.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @fileoverview useAuthState hook for Expo
3
+ * @description Hook to get all auth state for debugging/display
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ /**
10
+ * Hook to get all auth state for debugging
11
+ * Returns comprehensive auth state object
12
+ *
13
+ * @returns Auth state object with authenticated, role, tier, loading, userId
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * const authState = useAuthState();
18
+ * console.log('User:', authState.userId, 'Role:', authState.role);
19
+ * ```
20
+ */
21
+ export declare function useAuthState(): {
22
+ authenticated: boolean;
23
+ role: string | undefined;
24
+ tier: string;
25
+ loading: boolean;
26
+ userId: string | undefined;
27
+ };
28
+ export default useAuthState;
29
+ //# sourceMappingURL=useAuthState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuthState.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/hooks/useAuthState.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAKH;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY;;;;;;EAY3B;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @fileoverview useCanAccess hook for Expo
3
+ * @description Hook to check if user can access a route/feature based on auth config
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ import type { PageAuth } from '@donotdev/core';
10
+ /**
11
+ * Hook to check if user can access a route/feature
12
+ * Uses the same logic as useAuth('can').navigate()
13
+ *
14
+ * @param authConfig - Auth configuration (PageAuth or false)
15
+ * @returns True if user can access, false otherwise
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * const canAccess = useCanAccess({ role: USER_ROLES.ADMIN });
20
+ * if (!canAccess) return <Redirect />;
21
+ * ```
22
+ */
23
+ export declare function useCanAccess(authConfig: PageAuth | false): boolean;
24
+ export default useCanAccess;
25
+ //# sourceMappingURL=useCanAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCanAccess.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/hooks/useCanAccess.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,CAGlE;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @fileoverview useHasRole hook for Expo
3
+ * @description Hook to check if user has a specific role
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ import { type UserRole } from '@donotdev/core';
10
+ /**
11
+ * Hook to check if user has a specific role
12
+ *
13
+ * @param role - Role to check for
14
+ * @returns True if user has the role, false otherwise
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * const isAdmin = useHasRole(USER_ROLES.ADMIN);
19
+ * if (isAdmin) {
20
+ * // Admin-only code
21
+ * }
22
+ * ```
23
+ */
24
+ export declare function useHasRole(role: UserRole): boolean;
25
+ export default useHasRole;
26
+ //# sourceMappingURL=useHasRole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHasRole.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/hooks/useHasRole.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAGlD;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @fileoverview useUserRole hook for Expo
3
+ * @description Hook to get current user role
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ /**
10
+ * Hook to get current user role
11
+ * Returns the user's role or GUEST if not authenticated
12
+ *
13
+ * @returns Current user role
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * const role = useUserRole();
18
+ * if (role === USER_ROLES.ADMIN) {
19
+ * // Admin-only code
20
+ * }
21
+ * ```
22
+ */
23
+ export declare function useUserRole(): string;
24
+ export default useUserRole;
25
+ //# sourceMappingURL=useUserRole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUserRole.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/hooks/useUserRole.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAKH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,WAE1B;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Auth package exports for Expo
3
+ * @description Re-exports auth hooks and components with Expo-compatible components
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ export { useAuth } from '@donotdev/auth';
10
+ export { useDeleteAccount } from '@donotdev/auth';
11
+ export type { DeleteAccountState } from '@donotdev/auth';
12
+ export { getAuthState, subscribeToAuth } from '@donotdev/auth';
13
+ export { useUserRole, useHasRole, useAuthState, useCanAccess, useCanAccessFeature, } from './hooks';
14
+ export * from './components';
15
+ export type { AuthError, AuthUser as User, UserRole, SubscriptionTier, } from '@donotdev/core';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/auth/index.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,cAAc,cAAc,CAAC;AAG7B,YAAY,EACV,SAAS,EACT,QAAQ,IAAI,IAAI,EAChB,QAAQ,EACR,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @fileoverview ProductCard component for Expo
3
+ * @description Product card component for React Native
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 CheckoutMode } from '@donotdev/core';
11
+ export interface ProductCardProps {
12
+ namespace?: string;
13
+ configKey: string;
14
+ id: string;
15
+ name: string;
16
+ price: string;
17
+ currency: string;
18
+ description: string;
19
+ features: string[];
20
+ popular?: boolean;
21
+ limitedTime?: boolean;
22
+ mode: CheckoutMode;
23
+ priceId: string;
24
+ allowPromotionCodes?: boolean;
25
+ metadata?: Record<string, string>;
26
+ successUrl?: string;
27
+ cancelUrl?: string;
28
+ }
29
+ /**
30
+ * ProductCard - Displays a product with features and purchase/subscription button
31
+ */
32
+ export declare function ProductCard({ namespace, configKey, id, name, price, currency, description, features, popular, limitedTime, mode, priceId, allowPromotionCodes, metadata, successUrl, cancelUrl, style, testID, }: ProductCardProps & {
33
+ style?: ViewStyle;
34
+ testID?: string;
35
+ }): import("react/jsx-runtime").JSX.Element;
36
+ export default ProductCard;
37
+ //# sourceMappingURL=ProductCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../../../src/features/billing/components/ProductCard.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,SAAqB,EACrB,SAAS,EACT,EAAE,EACF,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,OAAe,EACf,WAAmB,EACnB,IAAI,EACJ,OAAO,EACP,mBAA0B,EAC1B,QAAa,EACb,UAA+B,EAC/B,SAAuB,EACvB,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,2CAgG3D;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @fileoverview SecurityNotice component for Expo
3
+ * @description Security notice component for React Native
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
+ export interface SecurityNoticeProps {
11
+ /** Whether the notice can be dismissed */
12
+ dismissible?: boolean;
13
+ /** Whether to show the notice */
14
+ show?: boolean;
15
+ /** Callback when notice is dismissed */
16
+ onDismiss?: () => void;
17
+ }
18
+ /**
19
+ * SecurityNotice - Security notice component
20
+ */
21
+ export declare function SecurityNotice({ dismissible, show, onDismiss, style, testID, }: SecurityNoticeProps & {
22
+ style?: ViewStyle;
23
+ testID?: string;
24
+ }): import("react/jsx-runtime").JSX.Element | null;
25
+ export default SecurityNotice;
26
+ //# sourceMappingURL=SecurityNotice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityNotice.d.ts","sourceRoot":"","sources":["../../../../src/features/billing/components/SecurityNotice.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,IAAW,EACX,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,mBAAmB,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,kDAiB9D;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @fileoverview StripeCheckoutButton component for Expo
3
+ * @description Unified Stripe checkout button component for React Native
4
+ *
5
+ * @version 0.0.1
6
+ * @since 0.0.1
7
+ * @author AMBROISE PARK Consulting
8
+ */
9
+ import { type ButtonProps } from '../../../atomic';
10
+ import type { CheckoutMode } from '@donotdev/core';
11
+ import type { ViewStyle } from 'react-native';
12
+ export interface StripeCheckoutButtonProps extends Omit<ButtonProps, 'onPress' | 'children'> {
13
+ /** Stripe price ID */
14
+ priceId: string;
15
+ /** Payment mode */
16
+ mode: CheckoutMode;
17
+ /** Configuration key from stripeFrontConfig */
18
+ configKey?: string;
19
+ /** Success redirect URL */
20
+ successUrl?: string;
21
+ /** Cancel redirect URL */
22
+ cancelUrl?: string;
23
+ /** Additional metadata */
24
+ metadata?: Record<string, string>;
25
+ /** Allow promotion codes */
26
+ allowPromotionCodes?: boolean;
27
+ /** Loading text */
28
+ loadingText?: string;
29
+ /** Button content */
30
+ children?: React.ReactNode;
31
+ /** Error callback */
32
+ onError?: (error: Error) => void;
33
+ style?: ViewStyle;
34
+ testID?: string;
35
+ }
36
+ /**
37
+ * Unified Stripe checkout button component for Expo
38
+ */
39
+ export declare function StripeCheckoutButton({ configKey, priceId, mode, successUrl, cancelUrl, metadata, allowPromotionCodes, variant, disabled, loadingText, children, onError, style, testID, ...buttonProps }: StripeCheckoutButtonProps): import("react/jsx-runtime").JSX.Element;
40
+ export default StripeCheckoutButton;
41
+ //# sourceMappingURL=StripeCheckoutButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StripeCheckoutButton.d.ts","sourceRoot":"","sources":["../../../../src/features/billing/components/StripeCheckoutButton.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAIH,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAC;IAC1F,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,IAAI,EAAE,YAAY,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4BAA4B;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,OAAO,EACP,IAAI,EACJ,UAAU,EACV,SAAS,EACT,QAAa,EACb,mBAA0B,EAC1B,OAAmB,EACnB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,GAAG,WAAW,EACf,EAAE,yBAAyB,2CAsD3B;AAED,eAAe,oBAAoB,CAAC"}