@one-am/react-native-simple-image-slider 0.15.0 → 0.16.0

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 (58) hide show
  1. package/README.md +12 -6
  2. package/lib/commonjs/@types/pinch-to-zoom.js +0 -4
  3. package/lib/commonjs/AbsoluteComponentContainer.js +34 -0
  4. package/lib/commonjs/AbsoluteComponentContainer.js.map +1 -0
  5. package/lib/commonjs/BaseSimpleImageSlider.js +98 -132
  6. package/lib/commonjs/BaseSimpleImageSlider.js.map +1 -1
  7. package/lib/commonjs/FullScreenImageSlider.js +20 -29
  8. package/lib/commonjs/FullScreenImageSlider.js.map +1 -1
  9. package/lib/commonjs/PageCounter.js +24 -20
  10. package/lib/commonjs/PageCounter.js.map +1 -1
  11. package/lib/commonjs/PinchToZoom.js +5 -5
  12. package/lib/commonjs/PinchToZoom.js.map +1 -1
  13. package/lib/commonjs/SimpleImageSliderThemeProvider.js +19 -11
  14. package/lib/commonjs/SimpleImageSliderThemeProvider.js.map +1 -1
  15. package/lib/commonjs/index.js +9 -1
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/module/@types/pinch-to-zoom.js +0 -2
  18. package/lib/module/AbsoluteComponentContainer.js +28 -0
  19. package/lib/module/AbsoluteComponentContainer.js.map +1 -0
  20. package/lib/module/BaseSimpleImageSlider.js +99 -133
  21. package/lib/module/BaseSimpleImageSlider.js.map +1 -1
  22. package/lib/module/FullScreenImageSlider.js +21 -30
  23. package/lib/module/FullScreenImageSlider.js.map +1 -1
  24. package/lib/module/PageCounter.js +23 -20
  25. package/lib/module/PageCounter.js.map +1 -1
  26. package/lib/module/PinchToZoom.js +5 -5
  27. package/lib/module/PinchToZoom.js.map +1 -1
  28. package/lib/module/SimpleImageSliderThemeProvider.js +19 -12
  29. package/lib/module/SimpleImageSliderThemeProvider.js.map +1 -1
  30. package/lib/module/index.js +2 -2
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/typescript/src/@types/pinch-to-zoom.d.ts +3 -4
  33. package/lib/typescript/src/@types/pinch-to-zoom.d.ts.map +1 -1
  34. package/lib/typescript/src/AbsoluteComponentContainer.d.ts +7 -0
  35. package/lib/typescript/src/AbsoluteComponentContainer.d.ts.map +1 -0
  36. package/lib/typescript/src/BaseSimpleImageSlider.d.ts +1 -1
  37. package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +1 -1
  38. package/lib/typescript/src/FullScreenImageSlider.d.ts.map +1 -1
  39. package/lib/typescript/src/PageCounter.d.ts.map +1 -1
  40. package/lib/typescript/src/PinchToZoom.d.ts.map +1 -1
  41. package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts +10 -2
  42. package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts.map +1 -1
  43. package/lib/typescript/src/index.d.ts +2 -3
  44. package/lib/typescript/src/index.d.ts.map +1 -1
  45. package/package.json +161 -160
  46. package/src/@types/pinch-to-zoom.ts +3 -5
  47. package/src/AbsoluteComponentContainer.tsx +30 -0
  48. package/src/BaseSimpleImageSlider.tsx +118 -150
  49. package/src/FullScreenImageSlider.tsx +39 -34
  50. package/src/PageCounter.tsx +35 -17
  51. package/src/PinchToZoom.tsx +10 -9
  52. package/src/SimpleImageSliderThemeProvider.tsx +32 -13
  53. package/src/index.tsx +7 -2
  54. package/lib/commonjs/@types/styled.d.js +0 -4
  55. package/lib/commonjs/@types/styled.d.js.map +0 -1
  56. package/lib/module/@types/styled.d.js +0 -4
  57. package/lib/module/@types/styled.d.js.map +0 -1
  58. package/src/@types/styled.d.ts +0 -17
@@ -1,30 +1,49 @@
1
- import React, { type PropsWithChildren, useMemo } from 'react';
2
- import { type DefaultTheme, ThemeProvider } from 'styled-components/native';
1
+ import React, { createContext, type PropsWithChildren, useContext, useMemo } from 'react';
2
+
3
+ export type SimpleImageSliderTheme = {
4
+ colors: {
5
+ pageCounterBackground: string;
6
+ pageCounterBorder: string;
7
+ fullScreenCloseButton: string;
8
+ descriptionContainerBorder: string;
9
+ };
10
+ };
11
+
12
+ const defaultTheme: SimpleImageSliderTheme = {
13
+ colors: {
14
+ pageCounterBackground: '#D3D3D3',
15
+ pageCounterBorder: '#000000',
16
+ fullScreenCloseButton: '#FFFFFF',
17
+ descriptionContainerBorder: '#FFFFFF',
18
+ },
19
+ };
20
+
21
+ const ThemeContext = createContext<SimpleImageSliderTheme>(defaultTheme);
3
22
 
4
23
  export type SimpleImageSliderThemeProviderProps = PropsWithChildren<{
5
24
  overrides?: {
6
- colors: Partial<DefaultTheme['colors']>;
25
+ colors: Partial<SimpleImageSliderTheme['colors']>;
7
26
  };
8
27
  }>;
9
28
 
29
+ export function useSimpleImageSliderTheme() {
30
+ return useContext(ThemeContext);
31
+ }
32
+
10
33
  export default function SimpleImageSliderThemeProvider({
11
34
  overrides,
12
35
  children,
13
36
  }: SimpleImageSliderThemeProviderProps) {
14
- const theme: DefaultTheme = useMemo(
37
+ const theme: SimpleImageSliderTheme = useMemo(
15
38
  () => ({
39
+ ...defaultTheme,
16
40
  colors: {
17
- simpleImageSlider: {
18
- pageCounterBackground: '#D3D3D3',
19
- pageCounterBorder: '#000000',
20
- fullScreenCloseButton: '#FFFFFF',
21
- descriptionContainerBorder: '#FFFFFF',
22
- ...overrides?.colors?.simpleImageSlider,
23
- },
41
+ ...defaultTheme.colors,
42
+ ...overrides?.colors,
24
43
  },
25
44
  }),
26
- [overrides?.colors?.simpleImageSlider]
45
+ [overrides?.colors]
27
46
  );
28
47
 
29
- return <ThemeProvider theme={theme}>{children}</ThemeProvider>;
48
+ return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>;
30
49
  }
package/src/index.tsx CHANGED
@@ -1,5 +1,8 @@
1
- import SimpleImageSliderThemeProvider from './SimpleImageSliderThemeProvider';
2
- import type { SimpleImageSliderTheme } from './@types/styled';
1
+ import SimpleImageSliderThemeProvider, {
2
+ useSimpleImageSliderTheme,
3
+ type SimpleImageSliderTheme,
4
+ type SimpleImageSliderThemeProviderProps,
5
+ } from './SimpleImageSliderThemeProvider';
3
6
  import BaseListImageSlider, { type BaseSimpleImageSliderProps } from './BaseSimpleImageSlider';
4
7
  import SimpleImageSlider, { type SimpleImageSliderProps } from './SimpleImageSlider';
5
8
  import FullScreenImageSlider, { type FullScreenImageSliderProps } from './FullScreenImageSlider';
@@ -9,7 +12,9 @@ import PageCounter, { type PageCounterProps } from './PageCounter';
9
12
 
10
13
  export {
11
14
  SimpleImageSliderThemeProvider,
15
+ useSimpleImageSliderTheme,
12
16
  type SimpleImageSliderTheme,
17
+ type SimpleImageSliderThemeProviderProps,
13
18
  BaseListImageSlider,
14
19
  type BaseSimpleImageSliderProps,
15
20
  SimpleImageSlider,
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- require("styled-components/native");
4
- //# sourceMappingURL=styled.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["require"],"sourceRoot":"../../../src","sources":["@types/styled.d.ts"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- import 'styled-components/native';
4
- //# sourceMappingURL=styled.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/styled.d.ts"],"mappings":";;AAAA,OAAO,0BAA0B","ignoreList":[]}
@@ -1,17 +0,0 @@
1
- import 'styled-components/native';
2
-
3
- export type SimpleImageSliderTheme = {
4
- colors: {
5
- simpleImageSlider: {
6
- pageCounterBackground: string;
7
- pageCounterBorder: string;
8
- fullScreenCloseButton: string;
9
- descriptionContainerBorder: string;
10
- };
11
- };
12
- };
13
-
14
- declare module 'styled-components/native' {
15
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
16
- export interface DefaultTheme extends SimpleImageSliderTheme {}
17
- }