react-native-app-onboard 0.1.9 → 0.2.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 (80) hide show
  1. package/README.md +89 -7
  2. package/lib/commonjs/components/CustomPages.js +31 -55
  3. package/lib/commonjs/components/CustomPages.js.map +1 -1
  4. package/lib/commonjs/components/OnboardingPages.js +63 -79
  5. package/lib/commonjs/components/OnboardingPages.js.map +1 -1
  6. package/lib/commonjs/components/Page.js +8 -3
  7. package/lib/commonjs/components/Page.js.map +1 -1
  8. package/lib/commonjs/components/Pagination.js +75 -13
  9. package/lib/commonjs/components/Pagination.js.map +1 -1
  10. package/lib/commonjs/components/Swiper.js +58 -85
  11. package/lib/commonjs/components/Swiper.js.map +1 -1
  12. package/lib/commonjs/components/button.js +3 -1
  13. package/lib/commonjs/components/button.js.map +1 -1
  14. package/lib/commonjs/context/OnboardingContext.js +101 -21
  15. package/lib/commonjs/context/OnboardingContext.js.map +1 -1
  16. package/lib/commonjs/hooks/useOnboarding.js +1 -1
  17. package/lib/commonjs/hooks/useOnboarding.js.map +1 -1
  18. package/lib/commonjs/index.js +33 -2
  19. package/lib/commonjs/index.js.map +1 -1
  20. package/lib/commonjs/utils/color.js +308 -0
  21. package/lib/commonjs/utils/color.js.map +1 -0
  22. package/lib/commonjs/utils/persistence.js +51 -0
  23. package/lib/commonjs/utils/persistence.js.map +1 -0
  24. package/lib/module/components/CustomPages.js +31 -55
  25. package/lib/module/components/CustomPages.js.map +1 -1
  26. package/lib/module/components/OnboardingPages.js +64 -79
  27. package/lib/module/components/OnboardingPages.js.map +1 -1
  28. package/lib/module/components/Page.js +8 -3
  29. package/lib/module/components/Page.js.map +1 -1
  30. package/lib/module/components/Pagination.js +76 -14
  31. package/lib/module/components/Pagination.js.map +1 -1
  32. package/lib/module/components/Swiper.js +59 -86
  33. package/lib/module/components/Swiper.js.map +1 -1
  34. package/lib/module/components/button.js +3 -1
  35. package/lib/module/components/button.js.map +1 -1
  36. package/lib/module/context/OnboardingContext.js +102 -22
  37. package/lib/module/context/OnboardingContext.js.map +1 -1
  38. package/lib/module/hooks/useOnboarding.js +1 -1
  39. package/lib/module/hooks/useOnboarding.js.map +1 -1
  40. package/lib/module/index.js +8 -1
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/utils/color.js +299 -0
  43. package/lib/module/utils/color.js.map +1 -0
  44. package/lib/module/utils/persistence.js +42 -0
  45. package/lib/module/utils/persistence.js.map +1 -0
  46. package/lib/typescript/src/components/CustomPages.d.ts +6 -2
  47. package/lib/typescript/src/components/CustomPages.d.ts.map +1 -1
  48. package/lib/typescript/src/components/OnboardingPages.d.ts +6 -2
  49. package/lib/typescript/src/components/OnboardingPages.d.ts.map +1 -1
  50. package/lib/typescript/src/components/Page.d.ts +2 -0
  51. package/lib/typescript/src/components/Page.d.ts.map +1 -1
  52. package/lib/typescript/src/components/Pagination.d.ts +9 -0
  53. package/lib/typescript/src/components/Pagination.d.ts.map +1 -1
  54. package/lib/typescript/src/components/Swiper.d.ts.map +1 -1
  55. package/lib/typescript/src/components/button.d.ts.map +1 -1
  56. package/lib/typescript/src/context/OnboardingContext.d.ts +9 -0
  57. package/lib/typescript/src/context/OnboardingContext.d.ts.map +1 -1
  58. package/lib/typescript/src/hooks/useOnboarding.d.ts +3 -0
  59. package/lib/typescript/src/hooks/useOnboarding.d.ts.map +1 -1
  60. package/lib/typescript/src/index.d.ts +4 -0
  61. package/lib/typescript/src/index.d.ts.map +1 -1
  62. package/lib/typescript/src/types/index.d.ts +13 -0
  63. package/lib/typescript/src/types/index.d.ts.map +1 -1
  64. package/lib/typescript/src/utils/color.d.ts +18 -0
  65. package/lib/typescript/src/utils/color.d.ts.map +1 -0
  66. package/lib/typescript/src/utils/persistence.d.ts +31 -0
  67. package/lib/typescript/src/utils/persistence.d.ts.map +1 -0
  68. package/package.json +12 -6
  69. package/src/components/CustomPages.tsx +62 -69
  70. package/src/components/OnboardingPages.tsx +86 -89
  71. package/src/components/Page.tsx +8 -2
  72. package/src/components/Pagination.tsx +117 -29
  73. package/src/components/Swiper.tsx +65 -87
  74. package/src/components/button.tsx +6 -1
  75. package/src/context/OnboardingContext.tsx +145 -26
  76. package/src/hooks/useOnboarding.tsx +1 -3
  77. package/src/index.tsx +16 -1
  78. package/src/types/index.ts +13 -0
  79. package/src/utils/color.ts +284 -0
  80. package/src/utils/persistence.ts +58 -0
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Minimal color helpers — a tiny, dependency-free replacement for the subset of
3
+ * tinycolor2 this library used: perceived brightness, HSL-based lighten/darken,
4
+ * and producing an `rgba()` string with a custom alpha.
5
+ *
6
+ * Accepts hex (`#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`), `rgb()`/`rgba()`, and
7
+ * CSS named colors. Invalid input resolves to black, matching tinycolor's
8
+ * behavior of treating unparseable colors as having zero brightness.
9
+ */
10
+
11
+ // CSS extended color keywords (same set tinycolor recognizes).
12
+ const NAMED_COLORS = {
13
+ aliceblue: '#f0f8ff',
14
+ antiquewhite: '#faebd7',
15
+ aqua: '#00ffff',
16
+ aquamarine: '#7fffd4',
17
+ azure: '#f0ffff',
18
+ beige: '#f5f5dc',
19
+ bisque: '#ffe4c4',
20
+ black: '#000000',
21
+ blanchedalmond: '#ffebcd',
22
+ blue: '#0000ff',
23
+ blueviolet: '#8a2be2',
24
+ brown: '#a52a2a',
25
+ burlywood: '#deb887',
26
+ cadetblue: '#5f9ea0',
27
+ chartreuse: '#7fff00',
28
+ chocolate: '#d2691e',
29
+ coral: '#ff7f50',
30
+ cornflowerblue: '#6495ed',
31
+ cornsilk: '#fff8dc',
32
+ crimson: '#dc143c',
33
+ cyan: '#00ffff',
34
+ darkblue: '#00008b',
35
+ darkcyan: '#008b8b',
36
+ darkgoldenrod: '#b8860b',
37
+ darkgray: '#a9a9a9',
38
+ darkgreen: '#006400',
39
+ darkgrey: '#a9a9a9',
40
+ darkkhaki: '#bdb76b',
41
+ darkmagenta: '#8b008b',
42
+ darkolivegreen: '#556b2f',
43
+ darkorange: '#ff8c00',
44
+ darkorchid: '#9932cc',
45
+ darkred: '#8b0000',
46
+ darksalmon: '#e9967a',
47
+ darkseagreen: '#8fbc8f',
48
+ darkslateblue: '#483d8b',
49
+ darkslategray: '#2f4f4f',
50
+ darkslategrey: '#2f4f4f',
51
+ darkturquoise: '#00ced1',
52
+ darkviolet: '#9400d3',
53
+ deeppink: '#ff1493',
54
+ deepskyblue: '#00bfff',
55
+ dimgray: '#696969',
56
+ dimgrey: '#696969',
57
+ dodgerblue: '#1e90ff',
58
+ firebrick: '#b22222',
59
+ floralwhite: '#fffaf0',
60
+ forestgreen: '#228b22',
61
+ fuchsia: '#ff00ff',
62
+ gainsboro: '#dcdcdc',
63
+ ghostwhite: '#f8f8ff',
64
+ gold: '#ffd700',
65
+ goldenrod: '#daa520',
66
+ gray: '#808080',
67
+ green: '#008000',
68
+ greenyellow: '#adff2f',
69
+ grey: '#808080',
70
+ honeydew: '#f0fff0',
71
+ hotpink: '#ff69b4',
72
+ indianred: '#cd5c5c',
73
+ indigo: '#4b0082',
74
+ ivory: '#fffff0',
75
+ khaki: '#f0e68c',
76
+ lavender: '#e6e6fa',
77
+ lavenderblush: '#fff0f5',
78
+ lawngreen: '#7cfc00',
79
+ lemonchiffon: '#fffacd',
80
+ lightblue: '#add8e6',
81
+ lightcoral: '#f08080',
82
+ lightcyan: '#e0ffff',
83
+ lightgoldenrodyellow: '#fafad2',
84
+ lightgray: '#d3d3d3',
85
+ lightgreen: '#90ee90',
86
+ lightgrey: '#d3d3d3',
87
+ lightpink: '#ffb6c1',
88
+ lightsalmon: '#ffa07a',
89
+ lightseagreen: '#20b2aa',
90
+ lightskyblue: '#87cefa',
91
+ lightslategray: '#778899',
92
+ lightslategrey: '#778899',
93
+ lightsteelblue: '#b0c4de',
94
+ lightyellow: '#ffffe0',
95
+ lime: '#00ff00',
96
+ limegreen: '#32cd32',
97
+ linen: '#faf0e6',
98
+ magenta: '#ff00ff',
99
+ maroon: '#800000',
100
+ mediumaquamarine: '#66cdaa',
101
+ mediumblue: '#0000cd',
102
+ mediumorchid: '#ba55d3',
103
+ mediumpurple: '#9370db',
104
+ mediumseagreen: '#3cb371',
105
+ mediumslateblue: '#7b68ee',
106
+ mediumspringgreen: '#00fa9a',
107
+ mediumturquoise: '#48d1cc',
108
+ mediumvioletred: '#c71585',
109
+ midnightblue: '#191970',
110
+ mintcream: '#f5fffa',
111
+ mistyrose: '#ffe4e1',
112
+ moccasin: '#ffe4b5',
113
+ navajowhite: '#ffdead',
114
+ navy: '#000080',
115
+ oldlace: '#fdf5e6',
116
+ olive: '#808000',
117
+ olivedrab: '#6b8e23',
118
+ orange: '#ffa500',
119
+ orangered: '#ff4500',
120
+ orchid: '#da70d6',
121
+ palegoldenrod: '#eee8aa',
122
+ palegreen: '#98fb98',
123
+ paleturquoise: '#afeeee',
124
+ palevioletred: '#db7093',
125
+ papayawhip: '#ffefd5',
126
+ peachpuff: '#ffdab9',
127
+ peru: '#cd853f',
128
+ pink: '#ffc0cb',
129
+ plum: '#dda0dd',
130
+ powderblue: '#b0e0e6',
131
+ purple: '#800080',
132
+ rebeccapurple: '#663399',
133
+ red: '#ff0000',
134
+ rosybrown: '#bc8f8f',
135
+ royalblue: '#4169e1',
136
+ saddlebrown: '#8b4513',
137
+ salmon: '#fa8072',
138
+ sandybrown: '#f4a460',
139
+ seagreen: '#2e8b57',
140
+ seashell: '#fff5ee',
141
+ sienna: '#a0522d',
142
+ silver: '#c0c0c0',
143
+ skyblue: '#87ceeb',
144
+ slateblue: '#6a5acd',
145
+ slategray: '#708090',
146
+ slategrey: '#708090',
147
+ snow: '#fffafa',
148
+ springgreen: '#00ff7f',
149
+ steelblue: '#4682b4',
150
+ tan: '#d2b48c',
151
+ teal: '#008080',
152
+ thistle: '#d8bfd8',
153
+ tomato: '#ff6347',
154
+ turquoise: '#40e0d0',
155
+ violet: '#ee82ee',
156
+ wheat: '#f5deb3',
157
+ white: '#ffffff',
158
+ whitesmoke: '#f5f5f5',
159
+ yellow: '#ffff00',
160
+ yellowgreen: '#9acd32'
161
+ };
162
+ const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
163
+ function parse(input) {
164
+ let color = (input || '').trim().toLowerCase();
165
+ const named = NAMED_COLORS[color];
166
+ if (named) color = named;
167
+ if (color[0] === '#') {
168
+ let hex = color.slice(1);
169
+ if (hex.length === 3 || hex.length === 4) {
170
+ hex = hex.split('').map(c => c + c).join('');
171
+ }
172
+ const r = parseInt(hex.slice(0, 2), 16);
173
+ const g = parseInt(hex.slice(2, 4), 16);
174
+ const b = parseInt(hex.slice(4, 6), 16);
175
+ const a = hex.length === 8 ? parseInt(hex.slice(6, 8), 16) / 255 : 1;
176
+ if (![r, g, b].some(Number.isNaN)) return {
177
+ r,
178
+ g,
179
+ b,
180
+ a
181
+ };
182
+ }
183
+ const rgb = color.match(/^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*(?:,\s*([\d.]+)\s*)?\)$/);
184
+ if (rgb) {
185
+ return {
186
+ r: Number(rgb[1]),
187
+ g: Number(rgb[2]),
188
+ b: Number(rgb[3]),
189
+ a: rgb[4] !== undefined ? Number(rgb[4]) : 1
190
+ };
191
+ }
192
+ return {
193
+ r: 0,
194
+ g: 0,
195
+ b: 0,
196
+ a: 1
197
+ };
198
+ }
199
+ function rgbToHsl({
200
+ r,
201
+ g,
202
+ b
203
+ }) {
204
+ const rn = r / 255;
205
+ const gn = g / 255;
206
+ const bn = b / 255;
207
+ const max = Math.max(rn, gn, bn);
208
+ const min = Math.min(rn, gn, bn);
209
+ const l = (max + min) / 2;
210
+ let h = 0;
211
+ let s = 0;
212
+ if (max !== min) {
213
+ const d = max - min;
214
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
215
+ switch (max) {
216
+ case rn:
217
+ h = (gn - bn) / d + (gn < bn ? 6 : 0);
218
+ break;
219
+ case gn:
220
+ h = (bn - rn) / d + 2;
221
+ break;
222
+ default:
223
+ h = (rn - gn) / d + 4;
224
+ }
225
+ h /= 6;
226
+ }
227
+ return {
228
+ h,
229
+ s,
230
+ l
231
+ };
232
+ }
233
+ function hslToRgb(h, s, l) {
234
+ if (s === 0) {
235
+ const v = l * 255;
236
+ return {
237
+ r: v,
238
+ g: v,
239
+ b: v
240
+ };
241
+ }
242
+ const hue2rgb = (p, q, t) => {
243
+ let tt = t;
244
+ if (tt < 0) tt += 1;
245
+ if (tt > 1) tt -= 1;
246
+ if (tt < 1 / 6) return p + (q - p) * 6 * tt;
247
+ if (tt < 1 / 2) return q;
248
+ if (tt < 2 / 3) return p + (q - p) * (2 / 3 - tt) * 6;
249
+ return p;
250
+ };
251
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
252
+ const p = 2 * l - q;
253
+ return {
254
+ r: hue2rgb(p, q, h + 1 / 3) * 255,
255
+ g: hue2rgb(p, q, h) * 255,
256
+ b: hue2rgb(p, q, h - 1 / 3) * 255
257
+ };
258
+ }
259
+ const toHex = n => Math.round(clamp(n, 0, 255)).toString(16).padStart(2, '0');
260
+
261
+ /** Perceived brightness on a 0–255 scale (W3C formula, as tinycolor uses). */
262
+ export function getBrightness(input) {
263
+ const {
264
+ r,
265
+ g,
266
+ b
267
+ } = parse(input);
268
+ return (r * 299 + g * 587 + b * 114) / 1000;
269
+ }
270
+ function adjustLightness(input, delta) {
271
+ const hsl = rgbToHsl(parse(input));
272
+ const {
273
+ r,
274
+ g,
275
+ b
276
+ } = hslToRgb(hsl.h, hsl.s, clamp(hsl.l + delta, 0, 1));
277
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
278
+ }
279
+
280
+ /** Lighten by `amount` percent (HSL lightness), returning a hex string. */
281
+ export function lighten(input, amount = 10) {
282
+ return adjustLightness(input, amount / 100);
283
+ }
284
+
285
+ /** Darken by `amount` percent (HSL lightness), returning a hex string. */
286
+ export function darken(input, amount = 10) {
287
+ return adjustLightness(input, -amount / 100);
288
+ }
289
+
290
+ /** Return an `rgba()` string for `input` with the given alpha. */
291
+ export function setAlpha(input, alpha) {
292
+ const {
293
+ r,
294
+ g,
295
+ b
296
+ } = parse(input);
297
+ return `rgba(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)}, ${alpha})`;
298
+ }
299
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NAMED_COLORS","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","clamp","value","min","max","Math","parse","input","color","trim","toLowerCase","named","hex","slice","length","split","map","c","join","r","parseInt","g","b","a","some","Number","isNaN","rgb","match","undefined","rgbToHsl","rn","gn","bn","l","h","s","d","hslToRgb","v","hue2rgb","p","q","t","tt","toHex","n","round","toString","padStart","getBrightness","adjustLightness","delta","hsl","lighten","amount","darken","setAlpha","alpha"],"sourceRoot":"../../../src","sources":["utils/color.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Minimal AsyncStorage-compatible interface. Any storage that implements these
3
+ * three methods works (e.g. @react-native-async-storage/async-storage,
4
+ * expo-secure-store wrappers, or an in-memory mock in tests). Keeping the
5
+ * dependency injected means this library does not have to ship a storage peer
6
+ * dependency of its own.
7
+ */
8
+
9
+ const DEFAULT_KEY = '@react-native-app-onboard/completed';
10
+ const COMPLETED_VALUE = 'true';
11
+
12
+ /**
13
+ * Returns whether the user has previously completed onboarding stored under
14
+ * `key`. Defaults to a namespaced key so callers usually only pass the storage.
15
+ */
16
+ export async function hasCompletedOnboarding(storage, key = DEFAULT_KEY) {
17
+ const value = await storage.getItem(key);
18
+ return value === COMPLETED_VALUE;
19
+ }
20
+
21
+ /** Marks onboarding as completed so it can be skipped on subsequent launches. */
22
+ export async function markOnboardingComplete(storage, key = DEFAULT_KEY) {
23
+ await storage.setItem(key, COMPLETED_VALUE);
24
+ }
25
+
26
+ /** Clears the stored completion flag (useful for "replay onboarding" actions). */
27
+ export async function resetOnboarding(storage, key = DEFAULT_KEY) {
28
+ await storage.removeItem(key);
29
+ }
30
+
31
+ /**
32
+ * Convenience factory that binds a storage adapter (and optional key) once and
33
+ * returns ready-to-call helpers, so app code doesn't repeat the storage arg.
34
+ */
35
+ export function createOnboardingStorage(storage, key = DEFAULT_KEY) {
36
+ return {
37
+ hasCompleted: () => hasCompletedOnboarding(storage, key),
38
+ markComplete: () => markOnboardingComplete(storage, key),
39
+ reset: () => resetOnboarding(storage, key)
40
+ };
41
+ }
42
+ //# sourceMappingURL=persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_KEY","COMPLETED_VALUE","hasCompletedOnboarding","storage","key","value","getItem","markOnboardingComplete","setItem","resetOnboarding","removeItem","createOnboardingStorage","hasCompleted","markComplete","reset"],"sourceRoot":"../../../src","sources":["utils/persistence.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,MAAMA,WAAW,GAAG,qCAAqC;AACzD,MAAMC,eAAe,GAAG,MAAM;;AAE9B;AACA;AACA;AACA;AACA,OAAO,eAAeC,sBAAsBA,CAC1CC,OAAiC,EACjCC,GAAW,GAAGJ,WAAW,EACP;EAClB,MAAMK,KAAK,GAAG,MAAMF,OAAO,CAACG,OAAO,CAACF,GAAG,CAAC;EACxC,OAAOC,KAAK,KAAKJ,eAAe;AAClC;;AAEA;AACA,OAAO,eAAeM,sBAAsBA,CAC1CJ,OAAiC,EACjCC,GAAW,GAAGJ,WAAW,EACV;EACf,MAAMG,OAAO,CAACK,OAAO,CAACJ,GAAG,EAAEH,eAAe,CAAC;AAC7C;;AAEA;AACA,OAAO,eAAeQ,eAAeA,CACnCN,OAAiC,EACjCC,GAAW,GAAGJ,WAAW,EACV;EACf,MAAMG,OAAO,CAACO,UAAU,CAACN,GAAG,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASO,uBAAuBA,CACrCR,OAAiC,EACjCC,GAAW,GAAGJ,WAAW,EACzB;EACA,OAAO;IACLY,YAAY,EAAEA,CAAA,KAAMV,sBAAsB,CAACC,OAAO,EAAEC,GAAG,CAAC;IACxDS,YAAY,EAAEA,CAAA,KAAMN,sBAAsB,CAACJ,OAAO,EAAEC,GAAG,CAAC;IACxDU,KAAK,EAAEA,CAAA,KAAML,eAAe,CAACN,OAAO,EAAEC,GAAG;EAC3C,CAAC;AACH","ignoreList":[]}
@@ -1,14 +1,18 @@
1
- import { Animated, FlatList } from 'react-native';
1
+ import { Animated, FlatList, type NativeSyntheticEvent, type NativeScrollEvent } from 'react-native';
2
2
  import React from 'react';
3
3
  import type { OnboardingProps } from '../types';
4
4
  type CustomPagesProps = OnboardingProps & {
5
5
  children?: React.ReactNode[];
6
6
  currentPage: number;
7
7
  setPage: (newPageIndex: number) => void;
8
- flatListRef: React.RefObject<FlatList>;
8
+ setFlatListRef: (node: FlatList | null) => void;
9
9
  scrollX: Animated.Value;
10
+ dotsAnimatedValue: Animated.Value;
11
+ onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
12
+ onScrollBeginDrag: () => void;
10
13
  nextPage: () => void;
11
14
  numberOfScreens: number;
15
+ mirror?: boolean;
12
16
  };
13
17
  export type SliderProps = {
14
18
  index?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"CustomPages.d.ts","sourceRoot":"","sources":["../../../../src/components/CustomPages.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,KAAK,gBAAgB,GAAG,eAAe,GAAG;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,WAAW,2CAIrB,gBAAgB,sBAsHlB,CAAC"}
1
+ {"version":3,"file":"CustomPages.d.ts","sourceRoot":"","sources":["../../../../src/components/CustomPages.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EAER,QAAQ,EACR,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,KAAK,gBAAgB,GAAG,eAAe,GAAG;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;IACxB,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IAGxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,WAAW,2CAIrB,gBAAgB,sBAiGlB,CAAC"}
@@ -1,14 +1,18 @@
1
1
  import React from 'react';
2
- import { Animated, FlatList } from 'react-native';
2
+ import { Animated, FlatList, type NativeSyntheticEvent, type NativeScrollEvent } from 'react-native';
3
3
  import { type Page } from './Page';
4
4
  import type { OnboardingProps } from '../types';
5
5
  type Props = OnboardingProps & {
6
6
  pages: Page[];
7
7
  currentPage: number;
8
8
  setPage: (newPageIndex: number) => void;
9
- flatListRef: React.RefObject<FlatList>;
9
+ setFlatListRef: (node: FlatList | null) => void;
10
10
  scrollX: Animated.Value;
11
+ dotsAnimatedValue: Animated.Value;
12
+ onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
13
+ onScrollBeginDrag: () => void;
11
14
  nextPage: () => void;
15
+ mirror?: boolean;
12
16
  };
13
17
  export declare const OnboardingPages: ({ showPagination, showNext, ...props }: Props) => React.JSX.Element;
14
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingPages.d.ts","sourceRoot":"","sources":["../../../../src/components/OnboardingPages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAA0B,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAkB,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,KAAK,KAAK,GAAG,eAAe,GAAG;IAC7B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,eAAe,2CAIzB,KAAK,sBAoJP,CAAC"}
1
+ {"version":3,"file":"OnboardingPages.d.ts","sourceRoot":"","sources":["../../../../src/components/OnboardingPages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EACL,QAAQ,EAGR,QAAQ,EACR,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAkB,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,KAAK,KAAK,GAAG,eAAe,GAAG;IAC7B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;IACxB,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,eAAe,2CAIzB,KAAK,sBAmIP,CAAC"}
@@ -13,6 +13,8 @@ export type Page = {
13
13
  titleStyle?: StyleProp<TextStyle>;
14
14
  subtitleStyle?: StyleProp<TextStyle>;
15
15
  swap?: boolean;
16
+ /** Internal: counter-flips page content when the slider is mirrored for RTL. */
17
+ mirror?: boolean;
16
18
  };
17
19
  export declare function OnboardingPage(props: Page): React.JSX.Element;
18
20
  //# sourceMappingURL=Page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/components/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAKF,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,qBAuCzC"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/components/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAKF,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,qBAwCzC"}
@@ -9,9 +9,11 @@ type FooterProps = {
9
9
  showDone?: boolean;
10
10
  showSkip?: boolean;
11
11
  showNext?: boolean;
12
+ showPrevious?: boolean;
12
13
  nextLabel?: string | React.ReactNode;
13
14
  skipLabel?: string | React.ReactNode;
14
15
  doneLabel?: string | React.ReactNode;
16
+ previousLabel?: string | React.ReactNode;
15
17
  paginationContainerStyle?: StyleProp<ViewStyle>;
16
18
  buttonRightContainerStyle?: StyleProp<ViewStyle>;
17
19
  buttonLeftContainerStyle?: StyleProp<ViewStyle>;
@@ -19,11 +21,18 @@ type FooterProps = {
19
21
  doneLabelStyle?: StyleProp<TextStyle>;
20
22
  hasSkipPosition?: boolean;
21
23
  skipLabelStyle?: StyleProp<TextStyle>;
24
+ previousLabelStyle?: StyleProp<TextStyle>;
22
25
  skipButtonContainerStyle?: StyleProp<ViewStyle>;
23
26
  nextButtonContainerStyle?: StyleProp<ViewStyle>;
24
27
  doneButtonContainerStyle?: StyleProp<ViewStyle>;
28
+ previousButtonContainerStyle?: StyleProp<ViewStyle>;
25
29
  nextLabelStyle?: StyleProp<TextStyle>;
26
30
  paginationPosition?: 'top' | 'bottom';
31
+ paginationStyle?: 'dots' | 'progress';
32
+ progressBarStyle?: StyleProp<ViewStyle>;
33
+ progressBarFillStyle?: StyleProp<ViewStyle>;
34
+ dotsAreTappable?: boolean;
35
+ mirror?: boolean;
27
36
  onDone?: () => void;
28
37
  onSkip?: () => void;
29
38
  onNext?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAER,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,yBAAyB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,kBAAkB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,qBA+E5C"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EAER,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACzC,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,yBAAyB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,4BAA4B,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,kBAAkB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACtC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,qBA+I5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Swiper.d.ts","sourceRoot":"","sources":["../../../../src/components/Swiper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqG5C,CAAC"}
1
+ {"version":3,"file":"Swiper.d.ts","sourceRoot":"","sources":["../../../../src/components/Swiper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0E5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,MAAM,UAAW,WAAW,wFAkBxC,CAAC;AAEF,eAAO,MAAM,UAAU,UACd,WAAW,GAAG;IACnB,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;CACrC,sBAiBF,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,MAAM,UAAW,WAAW,wFAuBxC,CAAC;AAEF,eAAO,MAAM,UAAU,UACd,WAAW,GAAG;IACnB,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;CACrC,sBAiBF,CAAC"}
@@ -4,23 +4,32 @@ export type SliderProps = {
4
4
  currentPage: number;
5
5
  numberOfScreens: number;
6
6
  nextPage: (animated?: boolean) => void;
7
+ previousPage: (animated?: boolean) => void;
7
8
  scrollTo: (index: number, animated?: boolean) => void;
8
9
  };
9
10
  type OnboardingContextType = SliderProps & {
10
11
  setCurrentPage: (index: number) => void;
11
12
  flatListRef: React.RefObject<FlatList>;
13
+ setFlatListRef: (node: FlatList | null) => void;
12
14
  width?: number;
13
15
  numberOfScreens: number;
14
16
  progress: number;
15
17
  scrollEnabled?: boolean;
16
18
  enableScroll: React.Dispatch<React.SetStateAction<boolean | undefined>>;
17
19
  isDone: boolean;
20
+ pauseAutoPlay: () => void;
21
+ resumeAutoPlay: () => void;
18
22
  };
19
23
  type OnboardingProviderProps = {
20
24
  children: React.ReactNode;
21
25
  width?: number;
22
26
  numberOfScreens: number;
23
27
  scrollEnabled?: boolean;
28
+ onPageChange?: (index: number) => void;
29
+ scrollAnimationDuration?: number;
30
+ autoPlay?: boolean;
31
+ autoPlayInterval?: number;
32
+ loop?: boolean;
24
33
  };
25
34
  export declare const OnboardingContext: React.Context<OnboardingContextType | undefined>;
26
35
  export declare const OnboardingProvider: React.FC<OnboardingProviderProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingContext.d.ts","sourceRoot":"","sources":["../../../../src/context/OnboardingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,KAAK,qBAAqB,GAAG,WAAW,GAAG;IACzC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IACxE,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,kDAElB,CAAC;AAEb,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA8DhE,CAAC"}
1
+ {"version":3,"file":"OnboardingContext.d.ts","sourceRoot":"","sources":["../../../../src/context/OnboardingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,KAAK,qBAAqB,GAAG,WAAW,GAAG;IACzC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAKvC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IACxE,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,kDAElB,CAAC;AAEb,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmKhE,CAAC"}
@@ -2,11 +2,14 @@ import React from 'react';
2
2
  export declare const useOnboarding: () => import("../context/OnboardingContext").SliderProps & {
3
3
  setCurrentPage: (index: number) => void;
4
4
  flatListRef: React.RefObject<import("react-native").FlatList<any>>;
5
+ setFlatListRef: (node: import("react-native").FlatList<any> | null) => void;
5
6
  width?: number | undefined;
6
7
  numberOfScreens: number;
7
8
  progress: number;
8
9
  scrollEnabled?: boolean | undefined;
9
10
  enableScroll: React.Dispatch<React.SetStateAction<boolean | undefined>>;
10
11
  isDone: boolean;
12
+ pauseAutoPlay: () => void;
13
+ resumeAutoPlay: () => void;
11
14
  };
12
15
  //# sourceMappingURL=useOnboarding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOnboarding.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,aAAa;;;;;;;;;CAQzB,CAAC"}
1
+ {"version":3,"file":"useOnboarding.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,aAAa;;;;;;;;;;;;CAMzB,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { OnboardingProps } from './types';
3
3
  export { useOnboarding } from './hooks/useOnboarding';
4
+ export type { Page } from './components/Page';
5
+ export type { OnboardingProps } from './types';
6
+ export { createOnboardingStorage, hasCompletedOnboarding, markOnboardingComplete, resetOnboarding, } from './utils/persistence';
7
+ export type { OnboardingStorageAdapter } from './utils/persistence';
4
8
  export declare function Onboarding(props: OnboardingProps): React.JSX.Element;
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qBAUhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qBAgBhD"}
@@ -6,13 +6,19 @@ export type OnboardingProps = {
6
6
  nextLabel?: string | React.ReactNode;
7
7
  skipLabel?: string | React.ReactNode;
8
8
  doneLabel?: string | React.ReactNode;
9
+ previousLabel?: string | React.ReactNode;
9
10
  showSkip?: boolean;
10
11
  showNext?: boolean;
11
12
  showDone?: boolean;
13
+ showPrevious?: boolean;
12
14
  onDone?: () => void;
13
15
  onSkip?: () => void;
16
+ onPageChange?: (index: number) => void;
14
17
  showPagination?: boolean;
15
18
  scrollEnabled?: boolean;
19
+ autoPlay?: boolean;
20
+ autoPlayInterval?: number;
21
+ loop?: boolean;
16
22
  customFooter?: (props: {
17
23
  nextPage: () => void;
18
24
  }) => React.ReactNode;
@@ -22,9 +28,11 @@ export type OnboardingProps = {
22
28
  dotsContainerStyle?: StyleProp<ViewStyle>;
23
29
  doneLabelStyle?: StyleProp<TextStyle>;
24
30
  skipLabelStyle?: StyleProp<TextStyle>;
31
+ previousLabelStyle?: StyleProp<TextStyle>;
25
32
  skipButtonContainerStyle?: StyleProp<ViewStyle>;
26
33
  nextButtonContainerStyle?: StyleProp<ViewStyle>;
27
34
  doneButtonContainerStyle?: StyleProp<ViewStyle>;
35
+ previousButtonContainerStyle?: StyleProp<ViewStyle>;
28
36
  skipButtonPosition?: 'top-left' | 'top-right';
29
37
  nextLabelStyle?: StyleProp<TextStyle>;
30
38
  containerStyle?: StyleProp<ViewStyle>;
@@ -33,8 +41,13 @@ export type OnboardingProps = {
33
41
  titleStyle?: StyleProp<TextStyle>;
34
42
  subtitleStyle?: StyleProp<TextStyle>;
35
43
  paginationPosition?: 'top' | 'bottom';
44
+ paginationStyle?: 'dots' | 'progress';
45
+ progressBarStyle?: StyleProp<ViewStyle>;
46
+ progressBarFillStyle?: StyleProp<ViewStyle>;
47
+ dotsAreTappable?: boolean;
36
48
  scrollAnimationDuration?: number;
37
49
  useNativeDriver?: boolean;
50
+ rtl?: boolean;
38
51
  width?: number;
39
52
  color?: string;
40
53
  pages?: Page[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IACpE,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,yBAAyB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IAC9C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACtC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,CACA;IACE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;CAC9B,GACD;IAAE,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CACpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"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"}