@fountain-ui/lab 1.15.4 → 1.17.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,38 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.17.0](https://github.com/tappytoon/tappytoon/compare/@fountain-ui/lab@1.13.0...@fountain-ui/lab@1.17.0) (2022-01-25)
7
+
8
+ **Note:** Version bump only for package @fountain-ui/lab
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.16.2](https://github.com/tappytoon/tappytoon/compare/@fountain-ui/lab@1.13.0...@fountain-ui/lab@1.16.2) (2022-01-13)
15
+
16
+ **Note:** Version bump only for package @fountain-ui/lab
17
+
18
+
19
+
20
+
21
+
22
+ ## [1.16.1](https://github.com/tappytoon/tappytoon/compare/@fountain-ui/lab@1.13.0...@fountain-ui/lab@1.16.1) (2022-01-07)
23
+
24
+ **Note:** Version bump only for package @fountain-ui/lab
25
+
26
+
27
+
28
+
29
+
30
+ # [1.16.0](https://github.com/tappytoon/tappytoon/compare/@fountain-ui/lab@1.13.0...@fountain-ui/lab@1.16.0) (2021-12-27)
31
+
32
+ **Note:** Version bump only for package @fountain-ui/lab
33
+
34
+
35
+
36
+
37
+
6
38
  ## [1.15.4](https://github.com/tappytoon/tappytoon/compare/@fountain-ui/lab@1.13.0...@fountain-ui/lab@1.15.4) (2021-11-18)
7
39
 
8
40
  **Note:** Version bump only for package @fountain-ui/lab
@@ -7,10 +7,10 @@ exports.default = Carousel;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _reactNative = require("react-native");
11
-
12
10
  var _reactNativeSnapCarousel = _interopRequireDefault(require("react-native-snap-carousel"));
13
11
 
12
+ var _core = require("@fountain-ui/core");
13
+
14
14
  var _utils = require("./utils");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -31,7 +31,7 @@ function Carousel(props) {
31
31
 
32
32
  const carouselRef = _react.default.useRef(null);
33
33
 
34
- const window = (0, _reactNative.useWindowDimensions)();
34
+ const window = (0, _core.useValidWindowDimensions)();
35
35
  const sliderWidth = window.width;
36
36
  const itemWidth = centerSlidePadding !== undefined ? sliderWidth - centerSlidePadding * 2 : sliderWidth;
37
37
 
@@ -1 +1 @@
1
- {"version":3,"sources":["CarouselNative.tsx"],"names":["Carousel","props","autoplay","defaultAutoplay","autoplayInterval","defaultAutoplayInterval","centerSlidePadding","data","inactiveSlideOpacity","defaultInactiveSlideOpacity","inactiveSlideScale","defaultInactiveSlideScale","index","infinite","defaultInfinite","onChange","renderItem","carouselRef","React","useRef","window","sliderWidth","width","itemWidth","undefined","useEffect","carousel","current","currentIndex","snapToItem","handleSnapToItem","newIndex"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;AAQe,SAASA,QAAT,CAAyBC,KAAzB,EAAsD;AACjE,QAAM;AACFC,IAAAA,QAAQ,GAAGC,sBADT;AAEFC,IAAAA,gBAAgB,GAAGC,8BAFjB;AAGFC,IAAAA,kBAHE;AAIFC,IAAAA,IAJE;AAKFC,IAAAA,oBAAoB,GAAGC,kCALrB;AAMFC,IAAAA,kBAAkB,GAAGC,gCANnB;AAOFC,IAAAA,KAPE;AAQFC,IAAAA,QAAQ,GAAGC,sBART;AASFC,IAAAA,QATE;AAUFC,IAAAA;AAVE,MAWFf,KAXJ;;AAaA,QAAMgB,WAAW,GAAGC,eAAMC,MAAN,CAA2C,IAA3C,CAApB;;AAEA,QAAMC,MAAM,GAAG,uCAAf;AACA,QAAMC,WAAW,GAAGD,MAAM,CAACE,KAA3B;AACA,QAAMC,SAAS,GAAGjB,kBAAkB,KAAKkB,SAAvB,GACZH,WAAW,GAAIf,kBAAkB,GAAG,CADxB,GAEZe,WAFN;;AAIAH,iBAAMO,SAAN,CAAgB,MAAM;AAClB,UAAMC,QAAQ,GAAGT,WAAW,CAACU,OAA7B;;AACA,QAAID,QAAQ,IAAId,KAAK,KAAKc,QAAQ,CAACE,YAAnC,EAAiD;AAC7CF,MAAAA,QAAQ,CAACG,UAAT,CAAoBjB,KAApB,EAA2B,IAA3B;AACH;AACJ,GALD,EAKG,CAACA,KAAD,CALH;;AAOA,QAAMkB,gBAAgB,GAAIC,QAAD,IAAsB;AAC3C,QAAIhB,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAACgB,QAAD,CAAR;AACH;AACJ,GAJD;;AAMA,sBACI,6BAAC,gCAAD;AACI,IAAA,QAAQ,EAAE7B,QADd;AAEI,IAAA,gBAAgB,EAAEE,gBAFtB;AAGI,IAAA,IAAI,EAAEG,IAHV;AAII,IAAA,UAAU,EAAE,IAJhB;AAKI,IAAA,oBAAoB,EAAEC,oBAL1B;AAMI,IAAA,kBAAkB,EAAEE,kBANxB;AAOI,IAAA,SAAS,EAAEa,SAPf;AAQI,IAAA,IAAI,EAAEV,QARV;AASI,IAAA,iBAAiB,EAAE,CATvB;AAUI,IAAA,YAAY,EAAEiB,gBAVlB;AAWI,IAAA,GAAG,EAAEb,WAXT;AAYI,IAAA,UAAU,EAAED,UAZhB;AAaI,IAAA,WAAW,EAAEK;AAbjB,IADJ;AAiBH;;AAAA","sourcesContent":["import React from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport RNSnapCarousel from 'react-native-snap-carousel';\nimport type CarouselProps from './CarouselProps';\nimport {\n defaultAutoplay,\n defaultAutoplayInterval,\n defaultInactiveSlideOpacity,\n defaultInactiveSlideScale,\n defaultInfinite,\n} from './utils';\n\nexport default function Carousel<ItemT>(props: CarouselProps<ItemT>) {\n const {\n autoplay = defaultAutoplay,\n autoplayInterval = defaultAutoplayInterval,\n centerSlidePadding,\n data,\n inactiveSlideOpacity = defaultInactiveSlideOpacity,\n inactiveSlideScale = defaultInactiveSlideScale,\n index,\n infinite = defaultInfinite,\n onChange,\n renderItem,\n } = props;\n\n const carouselRef = React.useRef<RNSnapCarousel<ItemT> | null>(null);\n\n const window = useWindowDimensions();\n const sliderWidth = window.width;\n const itemWidth = centerSlidePadding !== undefined\n ? sliderWidth - (centerSlidePadding * 2)\n : sliderWidth;\n\n React.useEffect(() => {\n const carousel = carouselRef.current;\n if (carousel && index !== carousel.currentIndex) {\n carousel.snapToItem(index, true);\n }\n }, [index]);\n\n const handleSnapToItem = (newIndex: number) => {\n if (onChange) {\n onChange(newIndex);\n }\n };\n\n return (\n <RNSnapCarousel\n autoplay={autoplay}\n autoplayInterval={autoplayInterval}\n data={data}\n horizontal={true}\n inactiveSlideOpacity={inactiveSlideOpacity}\n inactiveSlideScale={inactiveSlideScale}\n itemWidth={itemWidth}\n loop={infinite}\n loopClonesPerSide={2}\n onSnapToItem={handleSnapToItem}\n ref={carouselRef}\n renderItem={renderItem}\n sliderWidth={sliderWidth}\n />\n );\n};\n"]}
1
+ {"version":3,"sources":["CarouselNative.tsx"],"names":["Carousel","props","autoplay","defaultAutoplay","autoplayInterval","defaultAutoplayInterval","centerSlidePadding","data","inactiveSlideOpacity","defaultInactiveSlideOpacity","inactiveSlideScale","defaultInactiveSlideScale","index","infinite","defaultInfinite","onChange","renderItem","carouselRef","React","useRef","window","sliderWidth","width","itemWidth","undefined","useEffect","carousel","current","currentIndex","snapToItem","handleSnapToItem","newIndex"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;AAQe,SAASA,QAAT,CAAyBC,KAAzB,EAAsD;AACjE,QAAM;AACFC,IAAAA,QAAQ,GAAGC,sBADT;AAEFC,IAAAA,gBAAgB,GAAGC,8BAFjB;AAGFC,IAAAA,kBAHE;AAIFC,IAAAA,IAJE;AAKFC,IAAAA,oBAAoB,GAAGC,kCALrB;AAMFC,IAAAA,kBAAkB,GAAGC,gCANnB;AAOFC,IAAAA,KAPE;AAQFC,IAAAA,QAAQ,GAAGC,sBART;AASFC,IAAAA,QATE;AAUFC,IAAAA;AAVE,MAWFf,KAXJ;;AAaA,QAAMgB,WAAW,GAAGC,eAAMC,MAAN,CAA2C,IAA3C,CAApB;;AAEA,QAAMC,MAAM,GAAG,qCAAf;AACA,QAAMC,WAAW,GAAGD,MAAM,CAACE,KAA3B;AACA,QAAMC,SAAS,GAAGjB,kBAAkB,KAAKkB,SAAvB,GACZH,WAAW,GAAIf,kBAAkB,GAAG,CADxB,GAEZe,WAFN;;AAIAH,iBAAMO,SAAN,CAAgB,MAAM;AAClB,UAAMC,QAAQ,GAAGT,WAAW,CAACU,OAA7B;;AACA,QAAID,QAAQ,IAAId,KAAK,KAAKc,QAAQ,CAACE,YAAnC,EAAiD;AAC7CF,MAAAA,QAAQ,CAACG,UAAT,CAAoBjB,KAApB,EAA2B,IAA3B;AACH;AACJ,GALD,EAKG,CAACA,KAAD,CALH;;AAOA,QAAMkB,gBAAgB,GAAIC,QAAD,IAAsB;AAC3C,QAAIhB,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAACgB,QAAD,CAAR;AACH;AACJ,GAJD;;AAMA,sBACI,6BAAC,gCAAD;AACI,IAAA,QAAQ,EAAE7B,QADd;AAEI,IAAA,gBAAgB,EAAEE,gBAFtB;AAGI,IAAA,IAAI,EAAEG,IAHV;AAII,IAAA,UAAU,EAAE,IAJhB;AAKI,IAAA,oBAAoB,EAAEC,oBAL1B;AAMI,IAAA,kBAAkB,EAAEE,kBANxB;AAOI,IAAA,SAAS,EAAEa,SAPf;AAQI,IAAA,IAAI,EAAEV,QARV;AASI,IAAA,iBAAiB,EAAE,CATvB;AAUI,IAAA,YAAY,EAAEiB,gBAVlB;AAWI,IAAA,GAAG,EAAEb,WAXT;AAYI,IAAA,UAAU,EAAED,UAZhB;AAaI,IAAA,WAAW,EAAEK;AAbjB,IADJ;AAiBH;;AAAA","sourcesContent":["import React from 'react';\nimport RNSnapCarousel from 'react-native-snap-carousel';\nimport { useValidWindowDimensions } from '@fountain-ui/core';\nimport type CarouselProps from './CarouselProps';\nimport {\n defaultAutoplay,\n defaultAutoplayInterval,\n defaultInactiveSlideOpacity,\n defaultInactiveSlideScale,\n defaultInfinite,\n} from './utils';\n\nexport default function Carousel<ItemT>(props: CarouselProps<ItemT>) {\n const {\n autoplay = defaultAutoplay,\n autoplayInterval = defaultAutoplayInterval,\n centerSlidePadding,\n data,\n inactiveSlideOpacity = defaultInactiveSlideOpacity,\n inactiveSlideScale = defaultInactiveSlideScale,\n index,\n infinite = defaultInfinite,\n onChange,\n renderItem,\n } = props;\n\n const carouselRef = React.useRef<RNSnapCarousel<ItemT> | null>(null);\n\n const window = useValidWindowDimensions();\n const sliderWidth = window.width;\n const itemWidth = centerSlidePadding !== undefined\n ? sliderWidth - (centerSlidePadding * 2)\n : sliderWidth;\n\n React.useEffect(() => {\n const carousel = carouselRef.current;\n if (carousel && index !== carousel.currentIndex) {\n carousel.snapToItem(index, true);\n }\n }, [index]);\n\n const handleSnapToItem = (newIndex: number) => {\n if (onChange) {\n onChange(newIndex);\n }\n };\n\n return (\n <RNSnapCarousel\n autoplay={autoplay}\n autoplayInterval={autoplayInterval}\n data={data}\n horizontal={true}\n inactiveSlideOpacity={inactiveSlideOpacity}\n inactiveSlideScale={inactiveSlideScale}\n itemWidth={itemWidth}\n loop={infinite}\n loopClonesPerSide={2}\n onSnapToItem={handleSnapToItem}\n ref={carouselRef}\n renderItem={renderItem}\n sliderWidth={sliderWidth}\n />\n );\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { useWindowDimensions } from 'react-native';
3
2
  import RNSnapCarousel from 'react-native-snap-carousel';
3
+ import { useValidWindowDimensions } from '@fountain-ui/core';
4
4
  import { defaultAutoplay, defaultAutoplayInterval, defaultInactiveSlideOpacity, defaultInactiveSlideScale, defaultInfinite } from './utils';
5
5
  export default function Carousel(props) {
6
6
  const {
@@ -16,7 +16,7 @@ export default function Carousel(props) {
16
16
  renderItem
17
17
  } = props;
18
18
  const carouselRef = React.useRef(null);
19
- const window = useWindowDimensions();
19
+ const window = useValidWindowDimensions();
20
20
  const sliderWidth = window.width;
21
21
  const itemWidth = centerSlidePadding !== undefined ? sliderWidth - centerSlidePadding * 2 : sliderWidth;
22
22
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["CarouselNative.tsx"],"names":["React","useWindowDimensions","RNSnapCarousel","defaultAutoplay","defaultAutoplayInterval","defaultInactiveSlideOpacity","defaultInactiveSlideScale","defaultInfinite","Carousel","props","autoplay","autoplayInterval","centerSlidePadding","data","inactiveSlideOpacity","inactiveSlideScale","index","infinite","onChange","renderItem","carouselRef","useRef","window","sliderWidth","width","itemWidth","undefined","useEffect","carousel","current","currentIndex","snapToItem","handleSnapToItem","newIndex"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,mBAAT,QAAoC,cAApC;AACA,OAAOC,cAAP,MAA2B,4BAA3B;AAEA,SACIC,eADJ,EAEIC,uBAFJ,EAGIC,2BAHJ,EAIIC,yBAJJ,EAKIC,eALJ,QAMO,SANP;AAQA,eAAe,SAASC,QAAT,CAAyBC,KAAzB,EAAsD;AACjE,QAAM;AACFC,IAAAA,QAAQ,GAAGP,eADT;AAEFQ,IAAAA,gBAAgB,GAAGP,uBAFjB;AAGFQ,IAAAA,kBAHE;AAIFC,IAAAA,IAJE;AAKFC,IAAAA,oBAAoB,GAAGT,2BALrB;AAMFU,IAAAA,kBAAkB,GAAGT,yBANnB;AAOFU,IAAAA,KAPE;AAQFC,IAAAA,QAAQ,GAAGV,eART;AASFW,IAAAA,QATE;AAUFC,IAAAA;AAVE,MAWFV,KAXJ;AAaA,QAAMW,WAAW,GAAGpB,KAAK,CAACqB,MAAN,CAA2C,IAA3C,CAApB;AAEA,QAAMC,MAAM,GAAGrB,mBAAmB,EAAlC;AACA,QAAMsB,WAAW,GAAGD,MAAM,CAACE,KAA3B;AACA,QAAMC,SAAS,GAAGb,kBAAkB,KAAKc,SAAvB,GACZH,WAAW,GAAIX,kBAAkB,GAAG,CADxB,GAEZW,WAFN;AAIAvB,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,MAAM;AAClB,UAAMC,QAAQ,GAAGR,WAAW,CAACS,OAA7B;;AACA,QAAID,QAAQ,IAAIZ,KAAK,KAAKY,QAAQ,CAACE,YAAnC,EAAiD;AAC7CF,MAAAA,QAAQ,CAACG,UAAT,CAAoBf,KAApB,EAA2B,IAA3B;AACH;AACJ,GALD,EAKG,CAACA,KAAD,CALH;;AAOA,QAAMgB,gBAAgB,GAAIC,QAAD,IAAsB;AAC3C,QAAIf,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAACe,QAAD,CAAR;AACH;AACJ,GAJD;;AAMA,sBACI,oBAAC,cAAD;AACI,IAAA,QAAQ,EAAEvB,QADd;AAEI,IAAA,gBAAgB,EAAEC,gBAFtB;AAGI,IAAA,IAAI,EAAEE,IAHV;AAII,IAAA,UAAU,EAAE,IAJhB;AAKI,IAAA,oBAAoB,EAAEC,oBAL1B;AAMI,IAAA,kBAAkB,EAAEC,kBANxB;AAOI,IAAA,SAAS,EAAEU,SAPf;AAQI,IAAA,IAAI,EAAER,QARV;AASI,IAAA,iBAAiB,EAAE,CATvB;AAUI,IAAA,YAAY,EAAEe,gBAVlB;AAWI,IAAA,GAAG,EAAEZ,WAXT;AAYI,IAAA,UAAU,EAAED,UAZhB;AAaI,IAAA,WAAW,EAAEI;AAbjB,IADJ;AAiBH;AAAA","sourcesContent":["import React from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport RNSnapCarousel from 'react-native-snap-carousel';\nimport type CarouselProps from './CarouselProps';\nimport {\n defaultAutoplay,\n defaultAutoplayInterval,\n defaultInactiveSlideOpacity,\n defaultInactiveSlideScale,\n defaultInfinite,\n} from './utils';\n\nexport default function Carousel<ItemT>(props: CarouselProps<ItemT>) {\n const {\n autoplay = defaultAutoplay,\n autoplayInterval = defaultAutoplayInterval,\n centerSlidePadding,\n data,\n inactiveSlideOpacity = defaultInactiveSlideOpacity,\n inactiveSlideScale = defaultInactiveSlideScale,\n index,\n infinite = defaultInfinite,\n onChange,\n renderItem,\n } = props;\n\n const carouselRef = React.useRef<RNSnapCarousel<ItemT> | null>(null);\n\n const window = useWindowDimensions();\n const sliderWidth = window.width;\n const itemWidth = centerSlidePadding !== undefined\n ? sliderWidth - (centerSlidePadding * 2)\n : sliderWidth;\n\n React.useEffect(() => {\n const carousel = carouselRef.current;\n if (carousel && index !== carousel.currentIndex) {\n carousel.snapToItem(index, true);\n }\n }, [index]);\n\n const handleSnapToItem = (newIndex: number) => {\n if (onChange) {\n onChange(newIndex);\n }\n };\n\n return (\n <RNSnapCarousel\n autoplay={autoplay}\n autoplayInterval={autoplayInterval}\n data={data}\n horizontal={true}\n inactiveSlideOpacity={inactiveSlideOpacity}\n inactiveSlideScale={inactiveSlideScale}\n itemWidth={itemWidth}\n loop={infinite}\n loopClonesPerSide={2}\n onSnapToItem={handleSnapToItem}\n ref={carouselRef}\n renderItem={renderItem}\n sliderWidth={sliderWidth}\n />\n );\n};\n"]}
1
+ {"version":3,"sources":["CarouselNative.tsx"],"names":["React","RNSnapCarousel","useValidWindowDimensions","defaultAutoplay","defaultAutoplayInterval","defaultInactiveSlideOpacity","defaultInactiveSlideScale","defaultInfinite","Carousel","props","autoplay","autoplayInterval","centerSlidePadding","data","inactiveSlideOpacity","inactiveSlideScale","index","infinite","onChange","renderItem","carouselRef","useRef","window","sliderWidth","width","itemWidth","undefined","useEffect","carousel","current","currentIndex","snapToItem","handleSnapToItem","newIndex"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,cAAP,MAA2B,4BAA3B;AACA,SAASC,wBAAT,QAAyC,mBAAzC;AAEA,SACIC,eADJ,EAEIC,uBAFJ,EAGIC,2BAHJ,EAIIC,yBAJJ,EAKIC,eALJ,QAMO,SANP;AAQA,eAAe,SAASC,QAAT,CAAyBC,KAAzB,EAAsD;AACjE,QAAM;AACFC,IAAAA,QAAQ,GAAGP,eADT;AAEFQ,IAAAA,gBAAgB,GAAGP,uBAFjB;AAGFQ,IAAAA,kBAHE;AAIFC,IAAAA,IAJE;AAKFC,IAAAA,oBAAoB,GAAGT,2BALrB;AAMFU,IAAAA,kBAAkB,GAAGT,yBANnB;AAOFU,IAAAA,KAPE;AAQFC,IAAAA,QAAQ,GAAGV,eART;AASFW,IAAAA,QATE;AAUFC,IAAAA;AAVE,MAWFV,KAXJ;AAaA,QAAMW,WAAW,GAAGpB,KAAK,CAACqB,MAAN,CAA2C,IAA3C,CAApB;AAEA,QAAMC,MAAM,GAAGpB,wBAAwB,EAAvC;AACA,QAAMqB,WAAW,GAAGD,MAAM,CAACE,KAA3B;AACA,QAAMC,SAAS,GAAGb,kBAAkB,KAAKc,SAAvB,GACZH,WAAW,GAAIX,kBAAkB,GAAG,CADxB,GAEZW,WAFN;AAIAvB,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,MAAM;AAClB,UAAMC,QAAQ,GAAGR,WAAW,CAACS,OAA7B;;AACA,QAAID,QAAQ,IAAIZ,KAAK,KAAKY,QAAQ,CAACE,YAAnC,EAAiD;AAC7CF,MAAAA,QAAQ,CAACG,UAAT,CAAoBf,KAApB,EAA2B,IAA3B;AACH;AACJ,GALD,EAKG,CAACA,KAAD,CALH;;AAOA,QAAMgB,gBAAgB,GAAIC,QAAD,IAAsB;AAC3C,QAAIf,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAACe,QAAD,CAAR;AACH;AACJ,GAJD;;AAMA,sBACI,oBAAC,cAAD;AACI,IAAA,QAAQ,EAAEvB,QADd;AAEI,IAAA,gBAAgB,EAAEC,gBAFtB;AAGI,IAAA,IAAI,EAAEE,IAHV;AAII,IAAA,UAAU,EAAE,IAJhB;AAKI,IAAA,oBAAoB,EAAEC,oBAL1B;AAMI,IAAA,kBAAkB,EAAEC,kBANxB;AAOI,IAAA,SAAS,EAAEU,SAPf;AAQI,IAAA,IAAI,EAAER,QARV;AASI,IAAA,iBAAiB,EAAE,CATvB;AAUI,IAAA,YAAY,EAAEe,gBAVlB;AAWI,IAAA,GAAG,EAAEZ,WAXT;AAYI,IAAA,UAAU,EAAED,UAZhB;AAaI,IAAA,WAAW,EAAEI;AAbjB,IADJ;AAiBH;AAAA","sourcesContent":["import React from 'react';\nimport RNSnapCarousel from 'react-native-snap-carousel';\nimport { useValidWindowDimensions } from '@fountain-ui/core';\nimport type CarouselProps from './CarouselProps';\nimport {\n defaultAutoplay,\n defaultAutoplayInterval,\n defaultInactiveSlideOpacity,\n defaultInactiveSlideScale,\n defaultInfinite,\n} from './utils';\n\nexport default function Carousel<ItemT>(props: CarouselProps<ItemT>) {\n const {\n autoplay = defaultAutoplay,\n autoplayInterval = defaultAutoplayInterval,\n centerSlidePadding,\n data,\n inactiveSlideOpacity = defaultInactiveSlideOpacity,\n inactiveSlideScale = defaultInactiveSlideScale,\n index,\n infinite = defaultInfinite,\n onChange,\n renderItem,\n } = props;\n\n const carouselRef = React.useRef<RNSnapCarousel<ItemT> | null>(null);\n\n const window = useValidWindowDimensions();\n const sliderWidth = window.width;\n const itemWidth = centerSlidePadding !== undefined\n ? sliderWidth - (centerSlidePadding * 2)\n : sliderWidth;\n\n React.useEffect(() => {\n const carousel = carouselRef.current;\n if (carousel && index !== carousel.currentIndex) {\n carousel.snapToItem(index, true);\n }\n }, [index]);\n\n const handleSnapToItem = (newIndex: number) => {\n if (onChange) {\n onChange(newIndex);\n }\n };\n\n return (\n <RNSnapCarousel\n autoplay={autoplay}\n autoplayInterval={autoplayInterval}\n data={data}\n horizontal={true}\n inactiveSlideOpacity={inactiveSlideOpacity}\n inactiveSlideScale={inactiveSlideScale}\n itemWidth={itemWidth}\n loop={infinite}\n loopClonesPerSide={2}\n onSnapToItem={handleSnapToItem}\n ref={carouselRef}\n renderItem={renderItem}\n sliderWidth={sliderWidth}\n />\n );\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fountain-ui/lab",
3
- "version": "1.15.4",
3
+ "version": "1.17.0",
4
4
  "private": false,
5
5
  "author": "Fountain-UI Team",
6
6
  "description": "Incubator for Fountain-UI React components.",
@@ -17,7 +17,7 @@
17
17
  "dependencies": {
18
18
  "@emotion/react": "^11.4.1",
19
19
  "@emotion/styled": "^11.0.0",
20
- "@fountain-ui/icons": "^1.14.1",
20
+ "@fountain-ui/icons": "^1.16.0",
21
21
  "@fountain-ui/utils": "^1.1.0",
22
22
  "react-native-calendars": "1.1267.0"
23
23
  },
@@ -53,7 +53,7 @@
53
53
  }
54
54
  },
55
55
  "devDependencies": {
56
- "@fountain-ui/core": "^1.13.1",
56
+ "@fountain-ui/core": "^1.15.0",
57
57
  "@gorhom/bottom-sheet": "4.1.3",
58
58
  "@react-native-community/viewpager": "^4.2.2",
59
59
  "@types/react-native-snap-carousel": "^3.8.4",
@@ -85,5 +85,5 @@
85
85
  "publishConfig": {
86
86
  "access": "public"
87
87
  },
88
- "gitHead": "df0582f571240438818f2ee16b2380657d559ae6"
88
+ "gitHead": "e4a73c0ba0c0a618713494e095b658410e720766"
89
89
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { useWindowDimensions } from 'react-native';
3
2
  import RNSnapCarousel from 'react-native-snap-carousel';
3
+ import { useValidWindowDimensions } from '@fountain-ui/core';
4
4
  import type CarouselProps from './CarouselProps';
5
5
  import {
6
6
  defaultAutoplay,
@@ -26,7 +26,7 @@ export default function Carousel<ItemT>(props: CarouselProps<ItemT>) {
26
26
 
27
27
  const carouselRef = React.useRef<RNSnapCarousel<ItemT> | null>(null);
28
28
 
29
- const window = useWindowDimensions();
29
+ const window = useValidWindowDimensions();
30
30
  const sliderWidth = window.width;
31
31
  const itemWidth = centerSlidePadding !== undefined
32
32
  ? sliderWidth - (centerSlidePadding * 2)