@cdx-ui/components 0.0.1-beta.79 → 0.0.1-beta.80

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 (214) hide show
  1. package/lib/commonjs/animation/hooks/index.js +17 -0
  2. package/lib/commonjs/animation/hooks/index.js.map +1 -0
  3. package/lib/commonjs/animation/hooks/useCombinedAnimationDisabledState.js +50 -0
  4. package/lib/commonjs/animation/hooks/useCombinedAnimationDisabledState.js.map +1 -0
  5. package/lib/commonjs/animation/index.js +39 -0
  6. package/lib/commonjs/animation/index.js.map +1 -0
  7. package/lib/commonjs/animation/types.js +6 -0
  8. package/lib/commonjs/animation/types.js.map +1 -0
  9. package/lib/commonjs/animation/utils.js +223 -0
  10. package/lib/commonjs/animation/utils.js.map +1 -0
  11. package/lib/commonjs/components/CLAUDE.md +1 -1
  12. package/lib/commonjs/components/Card/index.js +45 -17
  13. package/lib/commonjs/components/Card/index.js.map +1 -1
  14. package/lib/commonjs/components/Toast/animation.js +329 -0
  15. package/lib/commonjs/components/Toast/animation.js.map +1 -0
  16. package/lib/commonjs/components/Toast/hooks.js +66 -0
  17. package/lib/commonjs/components/Toast/hooks.js.map +1 -0
  18. package/lib/commonjs/components/Toast/index.js +493 -0
  19. package/lib/commonjs/components/Toast/index.js.map +1 -0
  20. package/lib/commonjs/components/Toast/styles.js +141 -0
  21. package/lib/commonjs/components/Toast/styles.js.map +1 -0
  22. package/lib/commonjs/components/Toast/types.js +6 -0
  23. package/lib/commonjs/components/Toast/types.js.map +1 -0
  24. package/lib/commonjs/components/index.js +12 -0
  25. package/lib/commonjs/components/index.js.map +1 -1
  26. package/lib/commonjs/index.js +15 -0
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/providers/animation-settings/index.js +31 -0
  29. package/lib/commonjs/providers/animation-settings/index.js.map +1 -0
  30. package/lib/commonjs/providers/animation-settings/provider.js +59 -0
  31. package/lib/commonjs/providers/animation-settings/provider.js.map +1 -0
  32. package/lib/commonjs/providers/animation-settings/types.js +6 -0
  33. package/lib/commonjs/providers/animation-settings/types.js.map +1 -0
  34. package/lib/commonjs/providers/forge-design/index.js +29 -0
  35. package/lib/commonjs/providers/forge-design/index.js.map +1 -0
  36. package/lib/commonjs/providers/forge-design/provider.js +71 -0
  37. package/lib/commonjs/providers/forge-design/provider.js.map +1 -0
  38. package/lib/commonjs/providers/forge-design/types.js +6 -0
  39. package/lib/commonjs/providers/forge-design/types.js.map +1 -0
  40. package/lib/commonjs/providers/text-component/index.js +28 -0
  41. package/lib/commonjs/providers/text-component/index.js.map +1 -0
  42. package/lib/commonjs/providers/text-component/provider.js +11 -0
  43. package/lib/commonjs/providers/text-component/provider.js.map +1 -0
  44. package/lib/commonjs/providers/text-component/types.js +6 -0
  45. package/lib/commonjs/providers/text-component/types.js.map +1 -0
  46. package/lib/commonjs/providers/toast/index.js +33 -0
  47. package/lib/commonjs/providers/toast/index.js.map +1 -0
  48. package/lib/commonjs/providers/toast/insets-container.js +160 -0
  49. package/lib/commonjs/providers/toast/insets-container.js.map +1 -0
  50. package/lib/commonjs/providers/toast/lifecycle.context.js +36 -0
  51. package/lib/commonjs/providers/toast/lifecycle.context.js.map +1 -0
  52. package/lib/commonjs/providers/toast/provider.js +508 -0
  53. package/lib/commonjs/providers/toast/provider.js.map +1 -0
  54. package/lib/commonjs/providers/toast/reducer.js +46 -0
  55. package/lib/commonjs/providers/toast/reducer.js.map +1 -0
  56. package/lib/commonjs/providers/toast/toast-config.context.js +29 -0
  57. package/lib/commonjs/providers/toast/toast-config.context.js.map +1 -0
  58. package/lib/commonjs/providers/toast/toast-item-renderer.js +43 -0
  59. package/lib/commonjs/providers/toast/toast-item-renderer.js.map +1 -0
  60. package/lib/commonjs/providers/toast/types.js +6 -0
  61. package/lib/commonjs/providers/toast/types.js.map +1 -0
  62. package/lib/module/animation/hooks/index.js +4 -0
  63. package/lib/module/animation/hooks/index.js.map +1 -0
  64. package/lib/module/animation/hooks/useCombinedAnimationDisabledState.js +47 -0
  65. package/lib/module/animation/hooks/useCombinedAnimationDisabledState.js.map +1 -0
  66. package/lib/module/animation/index.js +6 -0
  67. package/lib/module/animation/index.js.map +1 -0
  68. package/lib/module/animation/types.js +4 -0
  69. package/lib/module/animation/types.js.map +1 -0
  70. package/lib/module/animation/utils.js +212 -0
  71. package/lib/module/animation/utils.js.map +1 -0
  72. package/lib/module/components/CLAUDE.md +1 -1
  73. package/lib/module/components/Card/index.js +47 -19
  74. package/lib/module/components/Card/index.js.map +1 -1
  75. package/lib/module/components/Toast/animation.js +324 -0
  76. package/lib/module/components/Toast/animation.js.map +1 -0
  77. package/lib/module/components/Toast/hooks.js +61 -0
  78. package/lib/module/components/Toast/hooks.js.map +1 -0
  79. package/lib/module/components/Toast/index.js +487 -0
  80. package/lib/module/components/Toast/index.js.map +1 -0
  81. package/lib/module/components/Toast/styles.js +138 -0
  82. package/lib/module/components/Toast/styles.js.map +1 -0
  83. package/lib/module/components/Toast/types.js +4 -0
  84. package/lib/module/components/Toast/types.js.map +1 -0
  85. package/lib/module/components/index.js +1 -0
  86. package/lib/module/components/index.js.map +1 -1
  87. package/lib/module/index.js +1 -0
  88. package/lib/module/index.js.map +1 -1
  89. package/lib/module/providers/animation-settings/index.js +4 -0
  90. package/lib/module/providers/animation-settings/index.js.map +1 -0
  91. package/lib/module/providers/animation-settings/provider.js +52 -0
  92. package/lib/module/providers/animation-settings/provider.js.map +1 -0
  93. package/lib/module/providers/animation-settings/types.js +4 -0
  94. package/lib/module/providers/animation-settings/types.js.map +1 -0
  95. package/lib/module/providers/forge-design/index.js +5 -0
  96. package/lib/module/providers/forge-design/index.js.map +1 -0
  97. package/lib/module/providers/forge-design/provider.js +66 -0
  98. package/lib/module/providers/forge-design/provider.js.map +1 -0
  99. package/lib/module/providers/forge-design/types.js +4 -0
  100. package/lib/module/providers/forge-design/types.js.map +1 -0
  101. package/lib/module/providers/text-component/index.js +5 -0
  102. package/lib/module/providers/text-component/index.js.map +1 -0
  103. package/lib/module/providers/text-component/provider.js +6 -0
  104. package/lib/module/providers/text-component/provider.js.map +1 -0
  105. package/lib/module/providers/text-component/types.js +4 -0
  106. package/lib/module/providers/text-component/types.js.map +1 -0
  107. package/lib/module/providers/toast/index.js +6 -0
  108. package/lib/module/providers/toast/index.js.map +1 -0
  109. package/lib/module/providers/toast/insets-container.js +156 -0
  110. package/lib/module/providers/toast/insets-container.js.map +1 -0
  111. package/lib/module/providers/toast/lifecycle.context.js +32 -0
  112. package/lib/module/providers/toast/lifecycle.context.js.map +1 -0
  113. package/lib/module/providers/toast/provider.js +503 -0
  114. package/lib/module/providers/toast/provider.js.map +1 -0
  115. package/lib/module/providers/toast/reducer.js +42 -0
  116. package/lib/module/providers/toast/reducer.js.map +1 -0
  117. package/lib/module/providers/toast/toast-config.context.js +25 -0
  118. package/lib/module/providers/toast/toast-config.context.js.map +1 -0
  119. package/lib/module/providers/toast/toast-item-renderer.js +39 -0
  120. package/lib/module/providers/toast/toast-item-renderer.js.map +1 -0
  121. package/lib/module/providers/toast/types.js +4 -0
  122. package/lib/module/providers/toast/types.js.map +1 -0
  123. package/lib/typescript/animation/hooks/index.d.ts +2 -0
  124. package/lib/typescript/animation/hooks/index.d.ts.map +1 -0
  125. package/lib/typescript/animation/hooks/useCombinedAnimationDisabledState.d.ts +22 -0
  126. package/lib/typescript/animation/hooks/useCombinedAnimationDisabledState.d.ts.map +1 -0
  127. package/lib/typescript/animation/index.d.ts +4 -0
  128. package/lib/typescript/animation/index.d.ts.map +1 -0
  129. package/lib/typescript/animation/types.d.ts +105 -0
  130. package/lib/typescript/animation/types.d.ts.map +1 -0
  131. package/lib/typescript/animation/utils.d.ts +120 -0
  132. package/lib/typescript/animation/utils.d.ts.map +1 -0
  133. package/lib/typescript/components/Card/index.d.ts +4 -0
  134. package/lib/typescript/components/Card/index.d.ts.map +1 -1
  135. package/lib/typescript/components/Toast/animation.d.ts +21 -0
  136. package/lib/typescript/components/Toast/animation.d.ts.map +1 -0
  137. package/lib/typescript/components/Toast/hooks.d.ts +17 -0
  138. package/lib/typescript/components/Toast/hooks.d.ts.map +1 -0
  139. package/lib/typescript/components/Toast/index.d.ts +28 -0
  140. package/lib/typescript/components/Toast/index.d.ts.map +1 -0
  141. package/lib/typescript/components/Toast/styles.d.ts +73 -0
  142. package/lib/typescript/components/Toast/styles.d.ts.map +1 -0
  143. package/lib/typescript/components/Toast/types.d.ts +303 -0
  144. package/lib/typescript/components/Toast/types.d.ts.map +1 -0
  145. package/lib/typescript/components/index.d.ts +1 -0
  146. package/lib/typescript/components/index.d.ts.map +1 -1
  147. package/lib/typescript/index.d.ts +2 -0
  148. package/lib/typescript/index.d.ts.map +1 -1
  149. package/lib/typescript/providers/animation-settings/index.d.ts +3 -0
  150. package/lib/typescript/providers/animation-settings/index.d.ts.map +1 -0
  151. package/lib/typescript/providers/animation-settings/provider.d.ts +28 -0
  152. package/lib/typescript/providers/animation-settings/provider.d.ts.map +1 -0
  153. package/lib/typescript/providers/animation-settings/types.d.ts +35 -0
  154. package/lib/typescript/providers/animation-settings/types.d.ts.map +1 -0
  155. package/lib/typescript/providers/forge-design/index.d.ts +3 -0
  156. package/lib/typescript/providers/forge-design/index.d.ts.map +1 -0
  157. package/lib/typescript/providers/forge-design/provider.d.ts +24 -0
  158. package/lib/typescript/providers/forge-design/provider.d.ts.map +1 -0
  159. package/lib/typescript/providers/forge-design/types.d.ts +82 -0
  160. package/lib/typescript/providers/forge-design/types.d.ts.map +1 -0
  161. package/lib/typescript/providers/text-component/index.d.ts +3 -0
  162. package/lib/typescript/providers/text-component/index.d.ts.map +1 -0
  163. package/lib/typescript/providers/text-component/provider.d.ts +7 -0
  164. package/lib/typescript/providers/text-component/provider.d.ts.map +1 -0
  165. package/lib/typescript/providers/text-component/types.d.ts +51 -0
  166. package/lib/typescript/providers/text-component/types.d.ts.map +1 -0
  167. package/lib/typescript/providers/toast/index.d.ts +5 -0
  168. package/lib/typescript/providers/toast/index.d.ts.map +1 -0
  169. package/lib/typescript/providers/toast/insets-container.d.ts +72 -0
  170. package/lib/typescript/providers/toast/insets-container.d.ts.map +1 -0
  171. package/lib/typescript/providers/toast/lifecycle.context.d.ts +32 -0
  172. package/lib/typescript/providers/toast/lifecycle.context.d.ts.map +1 -0
  173. package/lib/typescript/providers/toast/provider.d.ts +32 -0
  174. package/lib/typescript/providers/toast/provider.d.ts.map +1 -0
  175. package/lib/typescript/providers/toast/reducer.d.ts +14 -0
  176. package/lib/typescript/providers/toast/reducer.d.ts.map +1 -0
  177. package/lib/typescript/providers/toast/toast-config.context.d.ts +20 -0
  178. package/lib/typescript/providers/toast/toast-config.context.d.ts.map +1 -0
  179. package/lib/typescript/providers/toast/toast-item-renderer.d.ts +7 -0
  180. package/lib/typescript/providers/toast/toast-item-renderer.d.ts.map +1 -0
  181. package/lib/typescript/providers/toast/types.d.ts +422 -0
  182. package/lib/typescript/providers/toast/types.d.ts.map +1 -0
  183. package/package.json +4 -4
  184. package/src/animation/hooks/index.ts +1 -0
  185. package/src/animation/hooks/useCombinedAnimationDisabledState.ts +46 -0
  186. package/src/animation/index.ts +3 -0
  187. package/src/animation/types.ts +128 -0
  188. package/src/animation/utils.ts +249 -0
  189. package/src/components/CLAUDE.md +1 -1
  190. package/src/components/Card/index.tsx +58 -28
  191. package/src/components/Toast/animation.ts +387 -0
  192. package/src/components/Toast/hooks.ts +92 -0
  193. package/src/components/Toast/index.tsx +520 -0
  194. package/src/components/Toast/styles.ts +186 -0
  195. package/src/components/Toast/types.ts +332 -0
  196. package/src/components/index.ts +1 -0
  197. package/src/index.ts +2 -0
  198. package/src/providers/animation-settings/index.ts +11 -0
  199. package/src/providers/animation-settings/provider.tsx +54 -0
  200. package/src/providers/animation-settings/types.ts +37 -0
  201. package/src/providers/forge-design/index.ts +2 -0
  202. package/src/providers/forge-design/provider.tsx +61 -0
  203. package/src/providers/forge-design/types.ts +84 -0
  204. package/src/providers/text-component/index.ts +2 -0
  205. package/src/providers/text-component/provider.tsx +7 -0
  206. package/src/providers/text-component/types.ts +52 -0
  207. package/src/providers/toast/index.ts +4 -0
  208. package/src/providers/toast/insets-container.tsx +230 -0
  209. package/src/providers/toast/lifecycle.context.tsx +37 -0
  210. package/src/providers/toast/provider.tsx +567 -0
  211. package/src/providers/toast/reducer.ts +40 -0
  212. package/src/providers/toast/toast-config.context.ts +25 -0
  213. package/src/providers/toast/toast-item-renderer.tsx +40 -0
  214. package/src/providers/toast/types.ts +431 -0
@@ -4,6 +4,7 @@
4
4
  export * from './components';
5
5
  export * from './hooks';
6
6
  export * from './navigation';
7
+ export { ToastProvider, useToast } from './providers/toast';
7
8
  export { View, ScrollView, KeyboardAvoidingView } from 'react-native';
8
9
  export { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["View","ScrollView","KeyboardAvoidingView","SafeAreaView","useSafeAreaInsets"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,SAASA,IAAI,EAAEC,UAAU,EAAEC,oBAAoB,QAAQ,cAAc;AACrE,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,gCAAgC","ignoreList":[]}
1
+ {"version":3,"names":["ToastProvider","useToast","View","ScrollView","KeyboardAvoidingView","SafeAreaView","useSafeAreaInsets"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,SAASA,aAAa,EAAEC,QAAQ,QAAQ,mBAAmB;AAE3D,SAASC,IAAI,EAAEC,UAAU,EAAEC,oBAAoB,QAAQ,cAAc;AACrE,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,gCAAgC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { GlobalAnimationSettingsProvider, AnimationSettingsProvider, useGlobalAnimationSettings, useAnimationSettings } from './provider';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GlobalAnimationSettingsProvider","AnimationSettingsProvider","useGlobalAnimationSettings","useAnimationSettings"],"sourceRoot":"../../../../src","sources":["providers/animation-settings/index.ts"],"mappings":";;AAAA,SACEA,+BAA+B,EAC/BC,yBAAyB,EACzBC,0BAA0B,EAC1BC,oBAAoB,QACf,YAAY","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { useReducedMotion } from 'react-native-reanimated';
5
+ import { createContext } from '@cdx-ui/utils';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const [GlobalAnimationSettingsProviderComponent, useGlobalAnimationSettings] = createContext('GlobalAnimationSettingsContext', {
8
+ strict: false,
9
+ defaultValue: {
10
+ globalIsAllAnimationsDisabled: false
11
+ }
12
+ });
13
+ export { useGlobalAnimationSettings };
14
+
15
+ /**
16
+ * GlobalAnimationSettingsProvider Component
17
+ *
18
+ * @description
19
+ * Provider component that controls global animation settings across the application.
20
+ * When animation is set to 'disable-all', all animations will be disabled globally.
21
+ * Additionally, if the user has enabled reduce motion in accessibility settings,
22
+ * all animations will be disabled automatically.
23
+ *
24
+ * The global setting is read directly via `useGlobalAnimationSettings`; the
25
+ * separate `AnimationSettingsProvider` handles per-subtree cascading. Both
26
+ * contexts are non-strict, so components can read them without a provider
27
+ * mounted (falling back to "animations enabled").
28
+ *
29
+ * @param {GlobalAnimationSettingsProviderProps} props - Provider props
30
+ * @param {AnimationRootDisableAll} [props.animation] - Global animation setting
31
+ * @param {ReactNode} props.children - Child components to wrap
32
+ */
33
+ export const GlobalAnimationSettingsProvider = ({
34
+ animation,
35
+ children
36
+ }) => {
37
+ const reducedMotion = useReducedMotion();
38
+ const globalIsAllAnimationsDisabled = animation === 'disable-all' || reducedMotion;
39
+ return /*#__PURE__*/_jsx(GlobalAnimationSettingsProviderComponent, {
40
+ value: {
41
+ globalIsAllAnimationsDisabled
42
+ },
43
+ children: children
44
+ });
45
+ };
46
+ export const [AnimationSettingsProvider, useAnimationSettings] = createContext('AnimationSettingsContext', {
47
+ strict: false,
48
+ defaultValue: {
49
+ isAllAnimationsDisabled: false
50
+ }
51
+ });
52
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useReducedMotion","createContext","jsx","_jsx","GlobalAnimationSettingsProviderComponent","useGlobalAnimationSettings","strict","defaultValue","globalIsAllAnimationsDisabled","GlobalAnimationSettingsProvider","animation","children","reducedMotion","value","AnimationSettingsProvider","useAnimationSettings","isAllAnimationsDisabled"],"sourceRoot":"../../../../src","sources":["providers/animation-settings/provider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,yBAAyB;AAC1D,SAASC,aAAa,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO9C,MAAM,CAACC,wCAAwC,EAAEC,0BAA0B,CAAC,GAC1EJ,aAAa,CAAsC,gCAAgC,EAAE;EACnFK,MAAM,EAAE,KAAK;EACbC,YAAY,EAAE;IAAEC,6BAA6B,EAAE;EAAM;AACvD,CAAC,CAAC;AAEJ,SAASH,0BAA0B;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,+BAA+E,GAAGA,CAAC;EAC9FC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAGZ,gBAAgB,CAAC,CAAC;EACxC,MAAMQ,6BAA6B,GAAGE,SAAS,KAAK,aAAa,IAAIE,aAAa;EAElF,oBACET,IAAA,CAACC,wCAAwC;IAACS,KAAK,EAAE;MAAEL;IAA8B,CAAE;IAAAG,QAAA,EAChFA;EAAQ,CAC+B,CAAC;AAE/C,CAAC;AAED,OAAO,MAAM,CAACG,yBAAyB,EAAEC,oBAAoB,CAAC,GAC5Dd,aAAa,CAAgC,0BAA0B,EAAE;EACvEK,MAAM,EAAE,KAAK;EACbC,YAAY,EAAE;IAAES,uBAAuB,EAAE;EAAM;AACjD,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["providers/animation-settings/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export { default as ForgeDesignProvider } from './provider';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","ForgeDesignProvider"],"sourceRoot":"../../../../src","sources":["providers/forge-design/index.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,mBAAmB,QAAQ,YAAY;AAC3D,cAAc,SAAS","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { SafeAreaListener } from 'react-native-safe-area-context';
5
+ import { Uniwind } from 'uniwind';
6
+ import { PortalHost } from '@cdx-ui/primitives';
7
+ import { GlobalAnimationSettingsProvider } from '../animation-settings';
8
+ import { TextComponentProvider } from '../text-component/provider';
9
+ import { ToastProvider } from '../toast/provider';
10
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
+ /**
12
+ * ForgeDesignProvider Component
13
+ *
14
+ * @description
15
+ * Main provider component for HeroUI Native that configures the application
16
+ * with global settings. This component should wrap your entire application
17
+ * or the section where you want to use HeroUI Native components.
18
+ *
19
+ * Currently provides:
20
+ * - Global animation settings
21
+ * - Global text component configuration
22
+ * - Toast notification system
23
+ * - Portal management for overlays
24
+ *
25
+ * @param {ForgeDesignProviderProps} props - Provider configuration props
26
+ * @param {ReactNode} props.children - Child components to wrap
27
+ * @param {ForgeDesignConfig} [props.config] - Configuration object
28
+ *
29
+ */
30
+ const ForgeDesignProvider = ({
31
+ children,
32
+ config = {}
33
+ }) => {
34
+ const {
35
+ textProps,
36
+ toast,
37
+ animation
38
+ } = config;
39
+
40
+ // Determine if toast should be enabled and get props
41
+ const isToastEnabled = toast !== false && toast !== 'disabled';
42
+ const toastProps = typeof toast === 'object' ? toast : {};
43
+ return /*#__PURE__*/_jsx(SafeAreaListener, {
44
+ onChange: ({
45
+ insets
46
+ }) => {
47
+ Uniwind.updateInsets(insets);
48
+ },
49
+ children: /*#__PURE__*/_jsx(GlobalAnimationSettingsProvider, {
50
+ animation: animation,
51
+ children: /*#__PURE__*/_jsx(TextComponentProvider, {
52
+ value: {
53
+ textProps
54
+ },
55
+ children: isToastEnabled ? /*#__PURE__*/_jsxs(ToastProvider, {
56
+ ...toastProps,
57
+ children: [children, /*#__PURE__*/_jsx(PortalHost, {})]
58
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
59
+ children: [children, /*#__PURE__*/_jsx(PortalHost, {})]
60
+ })
61
+ })
62
+ })
63
+ });
64
+ };
65
+ export default ForgeDesignProvider;
66
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","SafeAreaListener","Uniwind","PortalHost","GlobalAnimationSettingsProvider","TextComponentProvider","ToastProvider","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ForgeDesignProvider","children","config","textProps","toast","animation","isToastEnabled","toastProps","onChange","insets","updateInsets","value"],"sourceRoot":"../../../../src","sources":["providers/forge-design/provider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,OAAO,QAAQ,SAAS;AACjC,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,+BAA+B,QAAQ,uBAAuB;AACvE,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,aAAa,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAuD,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,MAAM,GAAG,CAAC;AAAE,CAAC,KAAK;EAC7F,MAAM;IAAEC,SAAS;IAAEC,KAAK;IAAEC;EAAU,CAAC,GAAGH,MAAM;;EAE9C;EACA,MAAMI,cAAc,GAAGF,KAAK,KAAK,KAAK,IAAIA,KAAK,KAAK,UAAU;EAC9D,MAAMG,UAAU,GAAG,OAAOH,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,CAAC,CAAC;EAEzD,oBACET,IAAA,CAACP,gBAAgB;IACfoB,QAAQ,EAAEA,CAAC;MAAEC;IAAO,CAAC,KAAK;MACxBpB,OAAO,CAACqB,YAAY,CAACD,MAAM,CAAC;IAC9B,CAAE;IAAAR,QAAA,eAEFN,IAAA,CAACJ,+BAA+B;MAACc,SAAS,EAAEA,SAAU;MAAAJ,QAAA,eACpDN,IAAA,CAACH,qBAAqB;QAACmB,KAAK,EAAE;UAAER;QAAU,CAAE;QAAAF,QAAA,EACzCK,cAAc,gBACbT,KAAA,CAACJ,aAAa;UAAA,GAAKc,UAAU;UAAAN,QAAA,GAC1BA,QAAQ,eACTN,IAAA,CAACL,UAAU,IAAE,CAAC;QAAA,CACD,CAAC,gBAEhBO,KAAA,CAAAE,SAAA;UAAAE,QAAA,GACGA,QAAQ,eACTN,IAAA,CAACL,UAAU,IAAE,CAAC;QAAA,CACd;MACH,CACoB;IAAC,CACO;EAAC,CAClB,CAAC;AAEvB,CAAC;AAED,eAAeU,mBAAmB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["providers/forge-design/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export * from './provider';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["providers/text-component/index.ts"],"mappings":";;AAAA,cAAc,YAAY;AAC1B,cAAc,SAAS","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ import { createContext } from '@cdx-ui/utils';
4
+ const [TextComponentProvider, useTextComponent] = createContext('TextComponentContext');
5
+ export { TextComponentProvider, useTextComponent };
6
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","TextComponentProvider","useTextComponent"],"sourceRoot":"../../../../src","sources":["providers/text-component/provider.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,eAAe;AAG7C,MAAM,CAACC,qBAAqB,EAAEC,gBAAgB,CAAC,GAC7CF,aAAa,CAA4B,sBAAsB,CAAC;AAElE,SAASC,qBAAqB,EAAEC,gBAAgB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["providers/text-component/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export { ToastProvider, useToast } from './provider';
4
+ export { useToastConfig } from './toast-config.context';
5
+ export { useToastLifecycle } from './lifecycle.context';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ToastProvider","useToast","useToastConfig","useToastLifecycle"],"sourceRoot":"../../../../src","sources":["providers/toast/index.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,YAAY;AACpD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,iBAAiB,QAAQ,qBAAqB","ignoreList":[]}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useMemo, useRef } from 'react';
4
+ import { Platform, View } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+ import { FullWindowOverlay } from '@cdx-ui/primitives';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * Container component that applies inset padding to position toasts
10
+ * away from screen edges and safe areas
11
+ *
12
+ * Combines custom insets with safe area insets:
13
+ * - If custom inset is provided, it overrides safe area + default padding
14
+ * - If not provided, uses platform-specific defaults:
15
+ * - iOS: safe area inset + 0px for top, + 6px for bottom, + 12px for left/right
16
+ * - Android: safe area inset + 12px for all edges
17
+ *
18
+ * On web, wires pointer/focus/visibility listeners to pause/resume timers
19
+ * per WCAG 2.2.1 (keyboard/pointer/hidden-tab pausing).
20
+ */
21
+ export function InsetsContainer({
22
+ insets,
23
+ announceLabel = 'Notifications',
24
+ contentWrapper,
25
+ children,
26
+ disableFullWindowOverlay,
27
+ unstable_accessibilityContainerViewIsModal,
28
+ pauseAll,
29
+ resumeAll,
30
+ hide
31
+ }) {
32
+ const safeAreaInsets = useSafeAreaInsets();
33
+ const finalInsets = useMemo(() => {
34
+ return {
35
+ top: insets?.top ?? safeAreaInsets.top + (Platform.OS === 'ios' ? 0 : 12),
36
+ bottom: insets?.bottom ?? safeAreaInsets.bottom + (Platform.OS === 'ios' ? 6 : 12),
37
+ left: insets?.left ?? safeAreaInsets.left + 12,
38
+ right: insets?.right ?? safeAreaInsets.right + 12
39
+ };
40
+ }, [safeAreaInsets, insets]);
41
+
42
+ // Track pause sources independently so overlapping pointer + focus
43
+ // don't accidentally resume while the other source is still active.
44
+ const pauseSourcesRef = useRef(new Set());
45
+ const pauseAllRef = useRef(pauseAll);
46
+ const resumeAllRef = useRef(resumeAll);
47
+ pauseAllRef.current = pauseAll;
48
+ resumeAllRef.current = resumeAll;
49
+ const addPauseSource = useCallback(source => {
50
+ const wasEmpty = pauseSourcesRef.current.size === 0;
51
+ pauseSourcesRef.current.add(source);
52
+ if (wasEmpty) pauseAllRef.current();
53
+ }, []);
54
+ const removePauseSource = useCallback(source => {
55
+ pauseSourcesRef.current.delete(source);
56
+ if (pauseSourcesRef.current.size === 0) resumeAllRef.current();
57
+ }, []);
58
+
59
+ // Ref for the container so we can attach native DOM listeners on web.
60
+ const containerRef = useRef(null);
61
+ const hideRef = useRef(hide);
62
+ hideRef.current = hide;
63
+
64
+ // Web-only: attach pointer, focus, visibility, and keyboard listeners
65
+ // via native DOM APIs to avoid RNW making the container focusable
66
+ // (RNW adds tabIndex when React onFocus/onBlur handlers are present).
67
+ useEffect(() => {
68
+ if (Platform.OS !== 'web') return;
69
+ const node = containerRef.current;
70
+ const sources = pauseSourcesRef.current;
71
+ const handleVisibilityChange = () => {
72
+ if (document.hidden) {
73
+ addPauseSource('visibility');
74
+ } else {
75
+ removePauseSource('visibility');
76
+ }
77
+ };
78
+
79
+ // The container is `absolute inset-0` (full viewport). Using
80
+ // pointerenter/pointerleave here would pause as soon as the cursor
81
+ // is anywhere on the page — far too aggressive. Instead use
82
+ // pointerover/pointerout (which bubble) and gate on whether the
83
+ // pointer is actually over a toast element (identified by the
84
+ // `data-state` attribute emitted on every toast wrapper).
85
+ const isInsideToast = el => {
86
+ if (!el || !(el instanceof HTMLElement)) return false;
87
+ return !!el.closest('[data-state]');
88
+ };
89
+ const handlePointerOver = e => {
90
+ if (isInsideToast(e.target)) addPauseSource('pointer');
91
+ };
92
+ const handlePointerOut = e => {
93
+ if (!isInsideToast(e.relatedTarget)) removePauseSource('pointer');
94
+ };
95
+ const handleFocusIn = e => {
96
+ if (isInsideToast(e.target)) addPauseSource('focus');
97
+ };
98
+ const handleFocusOut = e => {
99
+ if (!isInsideToast(e.relatedTarget)) removePauseSource('focus');
100
+ };
101
+ const handleKeyDown = event => {
102
+ if (event.key === 'Escape') {
103
+ event.stopPropagation();
104
+ hideRef.current();
105
+ }
106
+ };
107
+ document.addEventListener('visibilitychange', handleVisibilityChange);
108
+ if (node && typeof node.addEventListener === 'function') {
109
+ node.addEventListener('pointerover', handlePointerOver);
110
+ node.addEventListener('pointerout', handlePointerOut);
111
+ node.addEventListener('focusin', handleFocusIn);
112
+ node.addEventListener('focusout', handleFocusOut);
113
+ node.addEventListener('keydown', handleKeyDown);
114
+ }
115
+ return () => {
116
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
117
+ if (node && typeof node.removeEventListener === 'function') {
118
+ node.removeEventListener('pointerover', handlePointerOver);
119
+ node.removeEventListener('pointerout', handlePointerOut);
120
+ node.removeEventListener('focusin', handleFocusIn);
121
+ node.removeEventListener('focusout', handleFocusOut);
122
+ node.removeEventListener('keydown', handleKeyDown);
123
+ }
124
+ if (sources.size > 0) {
125
+ sources.clear();
126
+ resumeAllRef.current();
127
+ }
128
+ };
129
+ }, [addPauseSource, removePauseSource]);
130
+ const content = /*#__PURE__*/_jsx(View, {
131
+ ref: containerRef,
132
+ className: "absolute inset-0 pointer-events-box-none",
133
+ role: "region",
134
+ "aria-label": announceLabel,
135
+ ...(Platform.OS === 'web' && {
136
+ 'aria-live': 'polite',
137
+ 'aria-atomic': false
138
+ }),
139
+ style: {
140
+ paddingTop: finalInsets.top,
141
+ paddingBottom: finalInsets.bottom,
142
+ paddingLeft: finalInsets.left,
143
+ paddingRight: finalInsets.right
144
+ },
145
+ children: contentWrapper ? contentWrapper(children) : children
146
+ });
147
+ if (Platform.OS !== 'ios') {
148
+ return content;
149
+ }
150
+ return /*#__PURE__*/_jsx(FullWindowOverlay, {
151
+ disableFullWindowOverlay: disableFullWindowOverlay,
152
+ unstable_accessibilityContainerViewIsModal: unstable_accessibilityContainerViewIsModal,
153
+ children: content
154
+ });
155
+ }
156
+ //# sourceMappingURL=insets-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","Platform","View","useSafeAreaInsets","FullWindowOverlay","jsx","_jsx","InsetsContainer","insets","announceLabel","contentWrapper","children","disableFullWindowOverlay","unstable_accessibilityContainerViewIsModal","pauseAll","resumeAll","hide","safeAreaInsets","finalInsets","top","OS","bottom","left","right","pauseSourcesRef","Set","pauseAllRef","resumeAllRef","current","addPauseSource","source","wasEmpty","size","add","removePauseSource","delete","containerRef","hideRef","node","sources","handleVisibilityChange","document","hidden","isInsideToast","el","HTMLElement","closest","handlePointerOver","e","target","handlePointerOut","relatedTarget","handleFocusIn","handleFocusOut","handleKeyDown","event","key","stopPropagation","addEventListener","removeEventListener","clear","content","ref","className","role","style","paddingTop","paddingBottom","paddingLeft","paddingRight"],"sourceRoot":"../../../../src","sources":["providers/toast/insets-container.tsx"],"mappings":";;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC/D,SAASC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAC7C,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,iBAAiB,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA0DvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAC9BC,MAAM;EACNC,aAAa,GAAG,eAAe;EAC/BC,cAAc;EACdC,QAAQ;EACRC,wBAAwB;EACxBC,0CAA0C;EAC1CC,QAAQ;EACRC,SAAS;EACTC;AAC8B,CAAC,EAAE;EACjC,MAAMC,cAAc,GAAGd,iBAAiB,CAAC,CAAC;EAE1C,MAAMe,WAAW,GAAGnB,OAAO,CAAC,MAAM;IAChC,OAAO;MACLoB,GAAG,EAAEX,MAAM,EAAEW,GAAG,IAAIF,cAAc,CAACE,GAAG,IAAIlB,QAAQ,CAACmB,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;MACzEC,MAAM,EAAEb,MAAM,EAAEa,MAAM,IAAIJ,cAAc,CAACI,MAAM,IAAIpB,QAAQ,CAACmB,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;MAClFE,IAAI,EAAEd,MAAM,EAAEc,IAAI,IAAIL,cAAc,CAACK,IAAI,GAAG,EAAE;MAC9CC,KAAK,EAAEf,MAAM,EAAEe,KAAK,IAAIN,cAAc,CAACM,KAAK,GAAG;IACjD,CAAC;EACH,CAAC,EAAE,CAACN,cAAc,EAAET,MAAM,CAAC,CAAC;;EAE5B;EACA;EACA,MAAMgB,eAAe,GAAGxB,MAAM,CAAc,IAAIyB,GAAG,CAAC,CAAC,CAAC;EACtD,MAAMC,WAAW,GAAG1B,MAAM,CAACc,QAAQ,CAAC;EACpC,MAAMa,YAAY,GAAG3B,MAAM,CAACe,SAAS,CAAC;EACtCW,WAAW,CAACE,OAAO,GAAGd,QAAQ;EAC9Ba,YAAY,CAACC,OAAO,GAAGb,SAAS;EAEhC,MAAMc,cAAc,GAAGhC,WAAW,CAAEiC,MAAc,IAAK;IACrD,MAAMC,QAAQ,GAAGP,eAAe,CAACI,OAAO,CAACI,IAAI,KAAK,CAAC;IACnDR,eAAe,CAACI,OAAO,CAACK,GAAG,CAACH,MAAM,CAAC;IACnC,IAAIC,QAAQ,EAAEL,WAAW,CAACE,OAAO,CAAC,CAAC;EACrC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMM,iBAAiB,GAAGrC,WAAW,CAAEiC,MAAc,IAAK;IACxDN,eAAe,CAACI,OAAO,CAACO,MAAM,CAACL,MAAM,CAAC;IACtC,IAAIN,eAAe,CAACI,OAAO,CAACI,IAAI,KAAK,CAAC,EAAEL,YAAY,CAACC,OAAO,CAAC,CAAC;EAChE,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMQ,YAAY,GAAGpC,MAAM,CAAc,IAAI,CAAC;EAC9C,MAAMqC,OAAO,GAAGrC,MAAM,CAACgB,IAAI,CAAC;EAC5BqB,OAAO,CAACT,OAAO,GAAGZ,IAAI;;EAEtB;EACA;EACA;EACAlB,SAAS,CAAC,MAAM;IACd,IAAIG,QAAQ,CAACmB,EAAE,KAAK,KAAK,EAAE;IAE3B,MAAMkB,IAAI,GAAGF,YAAY,CAACR,OAAwC;IAClE,MAAMW,OAAO,GAAGf,eAAe,CAACI,OAAO;IAEvC,MAAMY,sBAAsB,GAAGA,CAAA,KAAM;MACnC,IAAIC,QAAQ,CAACC,MAAM,EAAE;QACnBb,cAAc,CAAC,YAAY,CAAC;MAC9B,CAAC,MAAM;QACLK,iBAAiB,CAAC,YAAY,CAAC;MACjC;IACF,CAAC;;IAED;IACA;IACA;IACA;IACA;IACA;IACA,MAAMS,aAAa,GAAIC,EAAsB,IAAc;MACzD,IAAI,CAACA,EAAE,IAAI,EAAEA,EAAE,YAAYC,WAAW,CAAC,EAAE,OAAO,KAAK;MACrD,OAAO,CAAC,CAACD,EAAE,CAACE,OAAO,CAAC,cAAc,CAAC;IACrC,CAAC;IAED,MAAMC,iBAAiB,GAAIC,CAAe,IAAK;MAC7C,IAAIL,aAAa,CAACK,CAAC,CAACC,MAAM,CAAC,EAAEpB,cAAc,CAAC,SAAS,CAAC;IACxD,CAAC;IACD,MAAMqB,gBAAgB,GAAIF,CAAe,IAAK;MAC5C,IAAI,CAACL,aAAa,CAACK,CAAC,CAACG,aAAa,CAAC,EAAEjB,iBAAiB,CAAC,SAAS,CAAC;IACnE,CAAC;IAED,MAAMkB,aAAa,GAAIJ,CAAa,IAAK;MACvC,IAAIL,aAAa,CAACK,CAAC,CAACC,MAAM,CAAC,EAAEpB,cAAc,CAAC,OAAO,CAAC;IACtD,CAAC;IACD,MAAMwB,cAAc,GAAIL,CAAa,IAAK;MACxC,IAAI,CAACL,aAAa,CAACK,CAAC,CAACG,aAAa,CAAC,EAAEjB,iBAAiB,CAAC,OAAO,CAAC;IACjE,CAAC;IAED,MAAMoB,aAAa,GAAIC,KAAoB,IAAK;MAC9C,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,EAAE;QAC1BD,KAAK,CAACE,eAAe,CAAC,CAAC;QACvBpB,OAAO,CAACT,OAAO,CAAC,CAAC;MACnB;IACF,CAAC;IAEDa,QAAQ,CAACiB,gBAAgB,CAAC,kBAAkB,EAAElB,sBAAsB,CAAC;IAErE,IAAIF,IAAI,IAAI,OAAOA,IAAI,CAACoB,gBAAgB,KAAK,UAAU,EAAE;MACvDpB,IAAI,CAACoB,gBAAgB,CAAC,aAAa,EAAEX,iBAAiB,CAAC;MACvDT,IAAI,CAACoB,gBAAgB,CAAC,YAAY,EAAER,gBAAgB,CAAC;MACrDZ,IAAI,CAACoB,gBAAgB,CAAC,SAAS,EAAEN,aAAa,CAAC;MAC/Cd,IAAI,CAACoB,gBAAgB,CAAC,UAAU,EAAEL,cAAc,CAAC;MACjDf,IAAI,CAACoB,gBAAgB,CAAC,SAAS,EAAEJ,aAAa,CAAC;IACjD;IAEA,OAAO,MAAM;MACXb,QAAQ,CAACkB,mBAAmB,CAAC,kBAAkB,EAAEnB,sBAAsB,CAAC;MACxE,IAAIF,IAAI,IAAI,OAAOA,IAAI,CAACqB,mBAAmB,KAAK,UAAU,EAAE;QAC1DrB,IAAI,CAACqB,mBAAmB,CAAC,aAAa,EAAEZ,iBAAiB,CAAC;QAC1DT,IAAI,CAACqB,mBAAmB,CAAC,YAAY,EAAET,gBAAgB,CAAC;QACxDZ,IAAI,CAACqB,mBAAmB,CAAC,SAAS,EAAEP,aAAa,CAAC;QAClDd,IAAI,CAACqB,mBAAmB,CAAC,UAAU,EAAEN,cAAc,CAAC;QACpDf,IAAI,CAACqB,mBAAmB,CAAC,SAAS,EAAEL,aAAa,CAAC;MACpD;MACA,IAAIf,OAAO,CAACP,IAAI,GAAG,CAAC,EAAE;QACpBO,OAAO,CAACqB,KAAK,CAAC,CAAC;QACfjC,YAAY,CAACC,OAAO,CAAC,CAAC;MACxB;IACF,CAAC;EACH,CAAC,EAAE,CAACC,cAAc,EAAEK,iBAAiB,CAAC,CAAC;EAEvC,MAAM2B,OAAO,gBACXvD,IAAA,CAACJ,IAAI;IACH4D,GAAG,EAAE1B,YAAa;IAClB2B,SAAS,EAAC,0CAA0C;IACpDC,IAAI,EAAC,QAAQ;IACb,cAAYvD,aAAc;IAAA,IACrBR,QAAQ,CAACmB,EAAE,KAAK,KAAK,IAAI;MAC5B,WAAW,EAAE,QAAQ;MACrB,aAAa,EAAE;IACjB,CAAC;IACD6C,KAAK,EAAE;MACLC,UAAU,EAAEhD,WAAW,CAACC,GAAG;MAC3BgD,aAAa,EAAEjD,WAAW,CAACG,MAAM;MACjC+C,WAAW,EAAElD,WAAW,CAACI,IAAI;MAC7B+C,YAAY,EAAEnD,WAAW,CAACK;IAC5B,CAAE;IAAAZ,QAAA,EAEDD,cAAc,GAAGA,cAAc,CAACC,QAAQ,CAAC,GAAGA;EAAQ,CACjD,CACP;EAED,IAAIV,QAAQ,CAACmB,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOyC,OAAO;EAChB;EAEA,oBACEvD,IAAA,CAACF,iBAAiB;IAChBQ,wBAAwB,EAAEA,wBAAyB;IACnDC,0CAA0C,EAAEA,0CAA2C;IAAAF,QAAA,EAEtFkD;EAAO,CACS,CAAC;AAExB","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext } from 'react';
4
+
5
+ /**
6
+ * Internal context that exposes the pending-removal lifecycle for web toasts.
7
+ *
8
+ * Web toasts stay mounted after `hide()` is dispatched so the CSS exit
9
+ * transition can play. The toast component reads `pendingRemovalIds` to
10
+ * flip its `data-state="closed"` attribute and calls `remove(id)` when
11
+ * the CSS transition completes (or a safety timeout fires).
12
+ *
13
+ * On native this context is provided but effectively unused — Reanimated's
14
+ * `exiting` layout animation plays before unmount, so nothing lingers.
15
+ *
16
+ * @internal
17
+ */
18
+
19
+ export const ToastLifecycleContext = /*#__PURE__*/createContext(null);
20
+
21
+ /**
22
+ * Access the toast lifecycle context.
23
+ *
24
+ * Returns `null` when the styled Toast is rendered outside a `ToastProvider`
25
+ * (e.g. in isolated unit tests) so callers must handle the null case.
26
+ *
27
+ * @internal
28
+ */
29
+ export function useToastLifecycle() {
30
+ return useContext(ToastLifecycleContext);
31
+ }
32
+ //# sourceMappingURL=lifecycle.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","ToastLifecycleContext","useToastLifecycle"],"sourceRoot":"../../../../src","sources":["providers/toast/lifecycle.context.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,MAAMC,qBAAqB,gBAAGF,aAAa,CAAoC,IAAI,CAAC;;AAE3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,iBAAiBA,CAAA,EAAsC;EACrE,OAAOF,UAAU,CAACC,qBAAqB,CAAC;AAC1C","ignoreList":[]}