@ledgerhq/react-ui 0.20.0 → 0.21.0-next.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.
@@ -60,12 +60,27 @@ const CarouselContainer = import_styled_components.default.div`
60
60
  --hover-transition: 1;
61
61
  }
62
62
  `;
63
- const Carousel = ({ children, variant = "default", autoPlay = 0, onNext, onPrev }) => {
63
+ const Carousel = ({
64
+ children,
65
+ variant = "default",
66
+ initialDelay = 0,
67
+ autoPlay = 0,
68
+ onNext,
69
+ onPrev
70
+ }) => {
64
71
  const [currentIndex, setCurrentIndex] = (0, import_react.useState)(0);
65
- const [emblaRef, emblaApi] = (0, import_embla_carousel_react.default)(
66
- { loop: true },
67
- autoPlay ? [(0, import_embla_carousel_autoplay.default)({ delay: autoPlay, ...AutoplayFlags })] : []
72
+ const [autoplayEnabled, setAutoplayEnabled] = (0, import_react.useState)(false);
73
+ const plugins = (0, import_react.useMemo)(
74
+ () => autoplayEnabled && autoPlay ? [(0, import_embla_carousel_autoplay.default)({ delay: autoPlay, ...AutoplayFlags })] : [],
75
+ [autoplayEnabled, autoPlay]
68
76
  );
77
+ const [emblaRef, emblaApi] = (0, import_embla_carousel_react.default)({ loop: true }, plugins);
78
+ (0, import_react.useEffect)(() => {
79
+ if (autoPlay) {
80
+ const timer = setTimeout(() => setAutoplayEnabled(true), initialDelay);
81
+ return () => clearTimeout(timer);
82
+ }
83
+ }, [autoPlay]);
69
84
  const updateIndex = (0, import_react.useCallback)(() => {
70
85
  if (!emblaApi)
71
86
  return;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/layout/Carousel/index.tsx"],
4
- "sourcesContent": ["import type { EmblaCarouselType, EmblaEventType } from \"embla-carousel\";\nimport Autoplay from \"embla-carousel-autoplay\";\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport debounce from \"lodash/debounce\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport styled from \"styled-components\";\nimport Footer from \"./Footer\";\nimport { Props } from \"./types\";\nimport { ChevronArrow } from \"./ChevronArrow\";\n\nconst Embla = styled.div`\n overflow: hidden;\n`;\n\nconst EmblaContainer = styled.div`\n display: flex;\n`;\n\nconst EmblaSlide = styled.div`\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n > * {\n flex-basis: 100%;\n }\n`;\n\nconst CarouselContainer = styled.div<Pick<Props, \"variant\">>`\n position: relative;\n\n --hover-transition: 0;\n &:hover {\n --hover-transition: 1;\n }\n`;\n\n/**\n * This component uses the https://github.com/davidjerleke/embla-carousel library.\n */\nconst Carousel = ({ children, variant = \"default\", autoPlay = 0, onNext, onPrev }: Props) => {\n const [currentIndex, setCurrentIndex] = useState(0);\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true },\n autoPlay ? [Autoplay({ delay: autoPlay, ...AutoplayFlags })] : [],\n );\n\n const updateIndex = useCallback(() => {\n if (!emblaApi) return;\n\n const newIndex = emblaApi.selectedScrollSnap();\n setCurrentIndex(newIndex);\n emblaApi.scrollTo(newIndex);\n }, [emblaApi]);\n\n useEffect(() => {\n if (!emblaApi) return;\n\n // Initial call to update carousel index\n updateIndex();\n\n const dragX = watchDragX(emblaApi);\n\n // When the selected scroll snap changes\n const handleAnySelect = debounce((mightBeASwipe: boolean) => {\n updateIndex();\n if (!mightBeASwipe || variant !== \"default\") return; // onNext/onPrev events are not supported for content-card variant ATM\n if (dragX.value > 0) return onPrev?.();\n if (dragX.value < 0) return onNext?.();\n }, 0); // all events are fired on the same tick so no need to wait past the next tick\n\n emblaApi.on(\"select\", handleSelect);\n emblaApi.on(\"autoplay:select\" as EmblaEventType, handleAutoPlaySelect);\n emblaApi.on(\"button:prev\" as EmblaEventType, handlePrevButton);\n emblaApi.on(\"button:next\" as EmblaEventType, handleNextButton);\n\n // When `reInit` is called or when window is resized\n emblaApi.on(\"reInit\", updateIndex);\n\n return () => {\n dragX.clean();\n emblaApi.off(\"select\", handleSelect);\n emblaApi.off(\"autoplay:select\" as EmblaEventType, handleAutoPlaySelect);\n emblaApi.off(\"button:prev\" as EmblaEventType, handlePrevButton);\n emblaApi.off(\"button:next\" as EmblaEventType, handleNextButton);\n emblaApi.off(\"reInit\", updateIndex);\n };\n\n function handleSelect() {\n handleAnySelect(true); // This could be a swipe action. As this runs first the debounce will override the value otherwise\n }\n function handleAutoPlaySelect() {\n handleAnySelect(false);\n }\n function handlePrevButton() {\n emblaApi?.scrollPrev();\n onPrev?.();\n handleAnySelect(false);\n }\n function handleNextButton() {\n emblaApi?.scrollNext();\n onNext?.();\n handleAnySelect(false);\n }\n }, [emblaApi, updateIndex, variant]);\n\n if (!children.length) return null;\n\n const handleGotoPrevSlide = () => emblaApi?.emit(\"button:prev\" as EmblaEventType);\n const handleGotoNextSlide = () => emblaApi?.emit(\"button:next\" as EmblaEventType);\n\n return (\n <div>\n <CarouselContainer variant={variant}>\n {variant === \"default\" && children.length > 1 && (\n <>\n <ChevronArrow\n data-testid=\"carousel-arrow-prev\"\n direction=\"left\"\n onClick={handleGotoPrevSlide}\n />\n <ChevronArrow\n data-testid=\"carousel-arrow-next\"\n direction=\"right\"\n onClick={handleGotoNextSlide}\n />\n </>\n )}\n\n <Embla ref={emblaRef}>\n <EmblaContainer>\n {children.map(child => (\n <EmblaSlide key={child.key}>{child}</EmblaSlide>\n ))}\n </EmblaContainer>\n </Embla>\n </CarouselContainer>\n\n <Footer\n children={children}\n variant={variant}\n emblaApi={emblaApi}\n currentIndex={currentIndex}\n />\n </div>\n );\n};\n\nexport default Carousel;\n\nconst AutoplayFlags = {\n play: true,\n stopOnMouseEnter: true,\n stopOnInteraction: false,\n};\n\nfunction watchDragX(emblaApi: EmblaCarouselType) {\n emblaApi.on(\"pointerDown\", watchMouse);\n\n let start: number | undefined;\n let end: number | undefined;\n\n return {\n get value() {\n return typeof start === \"undefined\" || typeof end === \"undefined\" ? 0 : end - start;\n },\n clean: () => {\n emblaApi.off(\"pointerDown\", watchMouse);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n },\n };\n\n function watchMouse() {\n document.addEventListener(\"mousemove\", handleMouseMove);\n document.addEventListener(\"mouseup\", handleMouseUp);\n }\n function handleMouseMove(event: MouseEvent) {\n document.removeEventListener(\"mousemove\", handleMouseMove);\n start = event.clientX;\n end = undefined;\n }\n function handleMouseUp(event: MouseEvent) {\n document.removeEventListener(\"mouseup\", handleMouseUp);\n end = event.clientX;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["styled", "useEmblaCarousel", "Autoplay", "debounce", "React", "Footer"]
4
+ "sourcesContent": ["import type { EmblaCarouselType, EmblaEventType } from \"embla-carousel\";\nimport Autoplay from \"embla-carousel-autoplay\";\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport debounce from \"lodash/debounce\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport styled from \"styled-components\";\nimport Footer from \"./Footer\";\nimport { Props } from \"./types\";\nimport { ChevronArrow } from \"./ChevronArrow\";\n\nconst Embla = styled.div`\n overflow: hidden;\n`;\n\nconst EmblaContainer = styled.div`\n display: flex;\n`;\n\nconst EmblaSlide = styled.div`\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n > * {\n flex-basis: 100%;\n }\n`;\n\nconst CarouselContainer = styled.div<Pick<Props, \"variant\">>`\n position: relative;\n\n --hover-transition: 0;\n &:hover {\n --hover-transition: 1;\n }\n`;\n\n/**\n * This component uses the https://github.com/davidjerleke/embla-carousel library.\n */\nconst Carousel = ({\n children,\n variant = \"default\",\n initialDelay = 0,\n autoPlay = 0,\n onNext,\n onPrev,\n}: Props) => {\n const [currentIndex, setCurrentIndex] = useState(0);\n const [autoplayEnabled, setAutoplayEnabled] = useState<boolean>(false);\n\n const plugins = useMemo(\n () => (autoplayEnabled && autoPlay ? [Autoplay({ delay: autoPlay, ...AutoplayFlags })] : []),\n [autoplayEnabled, autoPlay],\n );\n\n const [emblaRef, emblaApi] = useEmblaCarousel({ loop: true }, plugins);\n\n useEffect(() => {\n if (autoPlay) {\n const timer = setTimeout(() => setAutoplayEnabled(true), initialDelay);\n return () => clearTimeout(timer);\n }\n }, [autoPlay]);\n\n const updateIndex = useCallback(() => {\n if (!emblaApi) return;\n\n const newIndex = emblaApi.selectedScrollSnap();\n setCurrentIndex(newIndex);\n emblaApi.scrollTo(newIndex);\n }, [emblaApi]);\n\n useEffect(() => {\n if (!emblaApi) return;\n\n // Initial call to update carousel index\n updateIndex();\n\n const dragX = watchDragX(emblaApi);\n\n // When the selected scroll snap changes\n const handleAnySelect = debounce((mightBeASwipe: boolean) => {\n updateIndex();\n if (!mightBeASwipe || variant !== \"default\") return; // onNext/onPrev events are not supported for content-card variant ATM\n if (dragX.value > 0) return onPrev?.();\n if (dragX.value < 0) return onNext?.();\n }, 0); // all events are fired on the same tick so no need to wait past the next tick\n\n emblaApi.on(\"select\", handleSelect);\n emblaApi.on(\"autoplay:select\" as EmblaEventType, handleAutoPlaySelect);\n emblaApi.on(\"button:prev\" as EmblaEventType, handlePrevButton);\n emblaApi.on(\"button:next\" as EmblaEventType, handleNextButton);\n\n // When `reInit` is called or when window is resized\n emblaApi.on(\"reInit\", updateIndex);\n\n return () => {\n dragX.clean();\n emblaApi.off(\"select\", handleSelect);\n emblaApi.off(\"autoplay:select\" as EmblaEventType, handleAutoPlaySelect);\n emblaApi.off(\"button:prev\" as EmblaEventType, handlePrevButton);\n emblaApi.off(\"button:next\" as EmblaEventType, handleNextButton);\n emblaApi.off(\"reInit\", updateIndex);\n };\n\n function handleSelect() {\n handleAnySelect(true); // This could be a swipe action. As this runs first the debounce will override the value otherwise\n }\n function handleAutoPlaySelect() {\n handleAnySelect(false);\n }\n function handlePrevButton() {\n emblaApi?.scrollPrev();\n onPrev?.();\n handleAnySelect(false);\n }\n function handleNextButton() {\n emblaApi?.scrollNext();\n onNext?.();\n handleAnySelect(false);\n }\n }, [emblaApi, updateIndex, variant]);\n\n if (!children.length) return null;\n\n const handleGotoPrevSlide = () => emblaApi?.emit(\"button:prev\" as EmblaEventType);\n const handleGotoNextSlide = () => emblaApi?.emit(\"button:next\" as EmblaEventType);\n\n return (\n <div>\n <CarouselContainer variant={variant}>\n {variant === \"default\" && children.length > 1 && (\n <>\n <ChevronArrow\n data-testid=\"carousel-arrow-prev\"\n direction=\"left\"\n onClick={handleGotoPrevSlide}\n />\n <ChevronArrow\n data-testid=\"carousel-arrow-next\"\n direction=\"right\"\n onClick={handleGotoNextSlide}\n />\n </>\n )}\n\n <Embla ref={emblaRef}>\n <EmblaContainer>\n {children.map(child => (\n <EmblaSlide key={child.key}>{child}</EmblaSlide>\n ))}\n </EmblaContainer>\n </Embla>\n </CarouselContainer>\n\n <Footer\n children={children}\n variant={variant}\n emblaApi={emblaApi}\n currentIndex={currentIndex}\n />\n </div>\n );\n};\n\nexport default Carousel;\n\nconst AutoplayFlags = {\n play: true,\n stopOnMouseEnter: true,\n stopOnInteraction: false,\n};\n\nfunction watchDragX(emblaApi: EmblaCarouselType) {\n emblaApi.on(\"pointerDown\", watchMouse);\n\n let start: number | undefined;\n let end: number | undefined;\n\n return {\n get value() {\n return typeof start === \"undefined\" || typeof end === \"undefined\" ? 0 : end - start;\n },\n clean: () => {\n emblaApi.off(\"pointerDown\", watchMouse);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n },\n };\n\n function watchMouse() {\n document.addEventListener(\"mousemove\", handleMouseMove);\n document.addEventListener(\"mouseup\", handleMouseUp);\n }\n function handleMouseMove(event: MouseEvent) {\n document.removeEventListener(\"mousemove\", handleMouseMove);\n start = event.clientX;\n end = undefined;\n }\n function handleMouseUp(event: MouseEvent) {\n document.removeEventListener(\"mouseup\", handleMouseUp);\n end = event.clientX;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["styled", "Autoplay", "useEmblaCarousel", "debounce", "React", "Footer"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/layout/Carousel/types.ts"],
4
- "sourcesContent": ["import { ReactElement } from \"react\";\nimport { UseEmblaCarouselType } from \"embla-carousel-react\";\n\nexport type Variant = \"content-card\" | \"default\";\n\nexport type Props = {\n children: ReactElement[];\n autoPlay?: number;\n variant?: Variant;\n onPrev?: () => void;\n onNext?: () => void;\n};\n\n/**\n * Carousel's sub props to be passed to any component used by the carousel..\n */\nexport type SubProps = Required<Pick<Props, \"children\" | \"variant\">> & {\n emblaApi: UseEmblaCarouselType[1];\n currentIndex: number;\n};\n"],
4
+ "sourcesContent": ["import { ReactElement } from \"react\";\nimport { UseEmblaCarouselType } from \"embla-carousel-react\";\n\nexport type Variant = \"content-card\" | \"default\";\n\nexport type Props = {\n children: ReactElement[];\n initialDelay?: number;\n autoPlay?: number;\n variant?: Variant;\n onPrev?: () => void;\n onNext?: () => void;\n};\n\n/**\n * Carousel's sub props to be passed to any component used by the carousel..\n */\nexport type SubProps = Required<Pick<Props, \"children\" | \"variant\">> & {\n emblaApi: UseEmblaCarouselType[1];\n currentIndex: number;\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -3,6 +3,6 @@ import { Props } from "./types";
3
3
  /**
4
4
  * This component uses the https://github.com/davidjerleke/embla-carousel library.
5
5
  */
6
- declare const Carousel: ({ children, variant, autoPlay, onNext, onPrev }: Props) => React.JSX.Element | null;
6
+ declare const Carousel: ({ children, variant, initialDelay, autoPlay, onNext, onPrev, }: Props) => React.JSX.Element | null;
7
7
  export default Carousel;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Carousel/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AA6BhC;;GAEG;AACH,QAAA,MAAM,QAAQ,oDAAqE,KAAK,6BA0GvF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Carousel/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AA6BhC;;GAEG;AACH,QAAA,MAAM,QAAQ,mEAOX,KAAK,6BAqHP,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import Autoplay from "embla-carousel-autoplay";
2
2
  import useEmblaCarousel from "embla-carousel-react";
3
3
  import debounce from "lodash/debounce";
4
- import React, { useCallback, useEffect, useState } from "react";
4
+ import React, { useCallback, useEffect, useMemo, useState } from "react";
5
5
  import styled from "styled-components";
6
6
  import Footer from "./Footer";
7
7
  import { ChevronArrow } from "./ChevronArrow";
@@ -30,9 +30,17 @@ const CarouselContainer = styled.div `
30
30
  /**
31
31
  * This component uses the https://github.com/davidjerleke/embla-carousel library.
32
32
  */
33
- const Carousel = ({ children, variant = "default", autoPlay = 0, onNext, onPrev }) => {
33
+ const Carousel = ({ children, variant = "default", initialDelay = 0, autoPlay = 0, onNext, onPrev, }) => {
34
34
  const [currentIndex, setCurrentIndex] = useState(0);
35
- const [emblaRef, emblaApi] = useEmblaCarousel({ loop: true }, autoPlay ? [Autoplay({ delay: autoPlay, ...AutoplayFlags })] : []);
35
+ const [autoplayEnabled, setAutoplayEnabled] = useState(false);
36
+ const plugins = useMemo(() => (autoplayEnabled && autoPlay ? [Autoplay({ delay: autoPlay, ...AutoplayFlags })] : []), [autoplayEnabled, autoPlay]);
37
+ const [emblaRef, emblaApi] = useEmblaCarousel({ loop: true }, plugins);
38
+ useEffect(() => {
39
+ if (autoPlay) {
40
+ const timer = setTimeout(() => setAutoplayEnabled(true), initialDelay);
41
+ return () => clearTimeout(timer);
42
+ }
43
+ }, [autoPlay]);
36
44
  const updateIndex = useCallback(() => {
37
45
  if (!emblaApi)
38
46
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/layout/Carousel/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/layout/Carousel/index.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { UseEmblaCarouselType } from "embla-carousel-react";
3
3
  export type Variant = "content-card" | "default";
4
4
  export type Props = {
5
5
  children: ReactElement[];
6
+ initialDelay?: number;
6
7
  autoPlay?: number;
7
8
  variant?: Variant;
8
9
  onPrev?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Carousel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG;IACrE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Carousel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG;IACrE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/react-ui",
3
- "version": "0.20.0",
3
+ "version": "0.21.0-next.0",
4
4
  "description": "Ledger Live - Desktop UI",
5
5
  "author": "Ledger Live Team <team-live@ledger.fr>",
6
6
  "repository": {
@@ -69,8 +69,8 @@
69
69
  "react-transition-group": "^4.4.2",
70
70
  "react-window": "^1.8.6",
71
71
  "styled-system": "^5.1.5",
72
- "@ledgerhq/icons-ui": "^0.8.1",
73
72
  "@ledgerhq/crypto-icons-ui": "^1.10.0",
73
+ "@ledgerhq/icons-ui": "^0.8.1",
74
74
  "@ledgerhq/ui-shared": "^0.3.0"
75
75
  },
76
76
  "peerDependencies": {