@hitachivantara/uikit-react-core 5.48.0 → 5.48.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.cjs","sources":["../../../src/Carousel/Carousel.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n Children,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport useCarousel, { EmblaOptionsType } from \"embla-carousel-react\";\n\nimport {\n Backwards,\n Forwards,\n Close,\n Fullscreen,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvButton } from \"../Button\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvTooltip } from \"../Tooltip\";\nimport { HvTypography } from \"../Typography\";\nimport { HvContainer } from \"../Container\";\nimport { ExtractNames } from \"../utils/classes\";\n\nimport { HvCarouselControls } from \"./CarouselControls\";\nimport { HvCarouselThumbnails } from \"./CarouselThumbnails\";\nimport { staticClasses, useClasses } from \"./Carousel.styles\";\n\nconst clamp = (num: number, max: number, min = 0) =>\n Math.min(Math.max(num, min), max);\n\nexport { staticClasses as carouselClasses };\n\nexport type HvCarouselClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCarouselProps\n extends HvBaseProps<HTMLDivElement, \"title\" | \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCarouselClasses;\n /** Height of the Slider container. If `undefined`, images will keep a 16/9 aspect-ratio */\n height?: CSSProperties[\"height\"];\n /** Width of the thumbnail. Height will try to maintain a 16/9 aspect-ratio */\n thumbnailWidth?: CSSProperties[\"width\"];\n /** Title of the carousel */\n title?: React.ReactNode;\n /** Content slides to be displayed. @see `<HvCarouselSlide />` */\n children?: React.ReactNode;\n /** Custom content to render in the actions area */\n actions?: React.ReactNode;\n /** Whether Carousel is in \"xs mode\" - to use in embedded contexts */\n xs?: boolean;\n /** Whether to show dots instead of arrow pagination. Defaults to true under 5 elements */\n showDots?: boolean;\n /** Whether to show the counter on the top-right corner of the active slide */\n showCounter?: boolean;\n /** Whether to show the back/forwards buttons over the active slide */\n showSlideControls?: boolean;\n /** Whether to enable the fullscreen toggle button */\n showFullscreen?: boolean;\n /** Whether to hide the thumbnails. Hidden by default in \"xs\" mode */\n hideThumbnails?: boolean;\n /** Controls position. */\n controlsPosition?: \"top\" | \"bottom\";\n /** Thumbnails position. */\n thumbnailsPosition?: \"top\" | \"bottom\";\n /** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */\n carouselOptions?: EmblaOptionsType;\n /** Function that renders the thumbnail. */\n renderThumbnail?: (index: number) => React.ReactNode;\n /** The callback fired when the active slide changes. */\n onChange?: (index: number) => void;\n}\n\n/**\n * A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.\n * It allows you to focus on a particular content while having a notion of how many you have to explore.\n */\nexport const HvCarousel = (props: HvCarouselProps) => {\n const {\n className,\n classes: classesProp,\n height: heightProp = \"auto\",\n thumbnailWidth = 90,\n title,\n children,\n actions: actionsProp,\n xs,\n showDots: showDotsProp,\n showCounter: showCounterProp,\n showSlideControls,\n showFullscreen: showFullscreenProp,\n hideThumbnails: hideThumbnailsProp,\n controlsPosition: controlsPositionProp,\n thumbnailsPosition: thumbnailsPositionProp,\n carouselOptions,\n renderThumbnail,\n onChange,\n ...others\n } = useDefaultProps(\"HvCarousel\", props);\n const { activeTheme } = useTheme();\n const { classes, css, cx } = useClasses(classesProp);\n const thumbnailsRef = useRef<HTMLDivElement>(null);\n const [isFullscreen, setIsFullscreen] = useState(false);\n\n const isDs3 = activeTheme?.name === \"ds3\";\n const actionsPosition = isDs3 ? \"header\" : \"controls\";\n const controlsPosition = controlsPositionProp ?? (isDs3 ? \"bottom\" : \"top\");\n const thumbnailsPosition = thumbnailsPositionProp ?? \"bottom\";\n\n const [containerRef, controller] = useCarousel({\n align: \"start\",\n loop: true,\n ...carouselOptions,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(\n carouselOptions?.startIndex ?? 0\n );\n\n const numSlides = Children.count(children);\n\n const handlePrevious = useCallback(() => {\n controller?.scrollPrev();\n }, [controller]);\n\n const handleNext = useCallback(() => {\n controller?.scrollNext();\n }, [controller]);\n\n const handleScroll = (index: number) => {\n controller?.scrollTo(index);\n };\n\n const handleSelect = useCallback(() => {\n if (!controller) return;\n\n const slideIndex = controller.selectedScrollSnap();\n setSelectedIndex(slideIndex);\n\n // scroll to thumbnail button\n thumbnailsRef.current\n ?.querySelectorAll(\"button\")\n ?.[slideIndex]?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n\n onChange?.(slideIndex);\n }, [controller, onChange]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.on(\"select\", handleSelect);\n\n return () => {\n controller.off(\"select\", handleSelect);\n };\n }, [controller, handleSelect]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.reInit();\n setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides, 0));\n }, [numSlides, controller]);\n\n const canPrev = controller?.canScrollPrev() ?? false;\n const canNext = controller?.canScrollNext() ?? false;\n const showTitle = !!title && (!xs || isFullscreen);\n const showFullscreen = showFullscreenProp ?? xs;\n const height = isFullscreen ? \"100%\" : heightProp ?? \"auto\";\n const showCounter = xs;\n const hideThumbnails = hideThumbnailsProp ?? (xs && !isFullscreen);\n const showThumbnails = !hideThumbnails && !!renderThumbnail;\n const showDots = showDotsProp ?? numSlides <= 5;\n\n const actions = (\n <div\n className={cx(\n classes.actions,\n actionsPosition === \"header\"\n ? css({ position: \"relative\", top: -40, height: 0 })\n : css({ position: \"absolute\" })\n )}\n >\n {actionsProp}\n {showFullscreen && (\n <HvTooltip title={isFullscreen ? \"Close\" : \"Fullscreen\"}>\n <HvButton\n icon\n onClick={() => setIsFullscreen((curr) => !curr)}\n className={classes.closeButton}\n >\n {isFullscreen ? <Close /> : <Fullscreen />}\n </HvButton>\n </HvTooltip>\n )}\n </div>\n );\n\n const controls = (\n <HvCarouselControls\n classes={classes}\n showDots={showDots}\n page={selectedIndex}\n pages={numSlides}\n canPrevious={canPrev}\n canNext={canNext}\n onPreviousClick={handlePrevious}\n onNextClick={handleNext}\n actions={actionsPosition === \"controls\" && actions}\n />\n );\n\n const thumbnails = showThumbnails && (\n <HvCarouselThumbnails\n classes={classes}\n ref={thumbnailsRef}\n page={selectedIndex}\n pages={numSlides}\n width={thumbnailWidth}\n onThumbnailClick={(evt, i) => handleScroll(i)}\n renderThumbnail={renderThumbnail}\n />\n );\n\n return (\n <HvContainer\n className={cx(classes.root, className, {\n [classes.xs]: xs,\n [classes.fullscreen]: isFullscreen,\n })}\n {...others}\n >\n {showTitle && (\n <HvTypography variant=\"title2\" className={classes.title}>\n {title}\n </HvTypography>\n )}\n\n {actionsPosition === \"header\" && actions}\n {thumbnailsPosition === \"top\" && thumbnails}\n {controlsPosition === \"top\" && controls}\n <div\n className={cx(classes.main, {\n [classes.mainXs]: xs,\n [classes.mainFullscreen]: isFullscreen,\n })}\n >\n {showCounter && (\n <div className={classes.counterContainer}>\n <span className={classes.counter}>\n {`${selectedIndex + 1}/${numSlides}`}\n </span>\n </div>\n )}\n\n {showSlideControls && (\n <div className={classes.slideControls}>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondarySubtle\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondarySubtle\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </div>\n )}\n\n <div\n ref={containerRef}\n style={{ height }}\n className={classes.slidesViewport}\n >\n <div className={classes.slidesContainer}>{children}</div>\n </div>\n </div>\n {controlsPosition === \"bottom\" && controls}\n {thumbnailsPosition === \"bottom\" && thumbnails}\n </HvContainer>\n );\n};\n"],"names":["useDefaultProps","useTheme","useClasses","useRef","useState","useCarousel","Children","useCallback","useEffect","jsxs","jsx","HvTooltip","HvButton","Close","Fullscreen","HvCarouselControls","HvCarouselThumbnails","HvContainer","HvTypography","Backwards","Forwards"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Carousel.cjs","sources":["../../../src/Carousel/Carousel.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n Children,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport useCarousel from \"embla-carousel-react\";\n\nimport {\n Backwards,\n Forwards,\n Close,\n Fullscreen,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvButton } from \"../Button\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvTooltip } from \"../Tooltip\";\nimport { HvTypography } from \"../Typography\";\nimport { HvContainer } from \"../Container\";\nimport { ExtractNames } from \"../utils/classes\";\n\nimport { HvCarouselControls } from \"./CarouselControls\";\nimport { HvCarouselThumbnails } from \"./CarouselThumbnails\";\nimport { staticClasses, useClasses } from \"./Carousel.styles\";\n\nconst clamp = (num: number, max: number, min = 0) =>\n Math.min(Math.max(num, min), max);\n\nexport { staticClasses as carouselClasses };\n\nexport type HvCarouselClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCarouselProps\n extends HvBaseProps<HTMLDivElement, \"title\" | \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCarouselClasses;\n /** Height of the Slider container. If `undefined`, images will keep a 16/9 aspect-ratio */\n height?: CSSProperties[\"height\"];\n /** Width of the thumbnail. Height will try to maintain a 16/9 aspect-ratio */\n thumbnailWidth?: CSSProperties[\"width\"];\n /** Title of the carousel */\n title?: React.ReactNode;\n /** Content slides to be displayed. @see `<HvCarouselSlide />` */\n children?: React.ReactNode;\n /** Custom content to render in the actions area */\n actions?: React.ReactNode;\n /** Whether Carousel is in \"xs mode\" - to use in embedded contexts */\n xs?: boolean;\n /** Whether to show dots instead of arrow pagination. Defaults to true under 5 elements */\n showDots?: boolean;\n /** Whether to show the counter on the top-right corner of the active slide */\n showCounter?: boolean;\n /** Whether to show the back/forwards buttons over the active slide */\n showSlideControls?: boolean;\n /** Whether to enable the fullscreen toggle button */\n showFullscreen?: boolean;\n /** Whether to hide the thumbnails. Hidden by default in \"xs\" mode */\n hideThumbnails?: boolean;\n /** Controls position. */\n controlsPosition?: \"top\" | \"bottom\";\n /** Thumbnails position. */\n thumbnailsPosition?: \"top\" | \"bottom\";\n /** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */\n carouselOptions?: Parameters<typeof useCarousel>[0];\n /** Function that renders the thumbnail. */\n renderThumbnail?: (index: number) => React.ReactNode;\n /** The callback fired when the active slide changes. */\n onChange?: (index: number) => void;\n}\n\n/**\n * A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.\n * It allows you to focus on a particular content while having a notion of how many you have to explore.\n */\nexport const HvCarousel = (props: HvCarouselProps) => {\n const {\n className,\n classes: classesProp,\n height: heightProp = \"auto\",\n thumbnailWidth = 90,\n title,\n children,\n actions: actionsProp,\n xs,\n showDots: showDotsProp,\n showCounter: showCounterProp,\n showSlideControls,\n showFullscreen: showFullscreenProp,\n hideThumbnails: hideThumbnailsProp,\n controlsPosition: controlsPositionProp,\n thumbnailsPosition: thumbnailsPositionProp,\n carouselOptions,\n renderThumbnail,\n onChange,\n ...others\n } = useDefaultProps(\"HvCarousel\", props);\n const { activeTheme } = useTheme();\n const { classes, css, cx } = useClasses(classesProp);\n const thumbnailsRef = useRef<HTMLDivElement>(null);\n const [isFullscreen, setIsFullscreen] = useState(false);\n\n const isDs3 = activeTheme?.name === \"ds3\";\n const actionsPosition = isDs3 ? \"header\" : \"controls\";\n const controlsPosition = controlsPositionProp ?? (isDs3 ? \"bottom\" : \"top\");\n const thumbnailsPosition = thumbnailsPositionProp ?? \"bottom\";\n\n const [containerRef, controller] = useCarousel({\n align: \"start\",\n loop: true,\n ...carouselOptions,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(\n carouselOptions?.startIndex ?? 0\n );\n\n const numSlides = Children.count(children);\n\n const handlePrevious = useCallback(() => {\n controller?.scrollPrev();\n }, [controller]);\n\n const handleNext = useCallback(() => {\n controller?.scrollNext();\n }, [controller]);\n\n const handleScroll = (index: number) => {\n controller?.scrollTo(index);\n };\n\n const handleSelect = useCallback(() => {\n if (!controller) return;\n\n const slideIndex = controller.selectedScrollSnap();\n setSelectedIndex(slideIndex);\n\n // scroll to thumbnail button\n thumbnailsRef.current\n ?.querySelectorAll(\"button\")\n ?.[slideIndex]?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n\n onChange?.(slideIndex);\n }, [controller, onChange]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.on(\"select\", handleSelect);\n\n return () => {\n controller.off(\"select\", handleSelect);\n };\n }, [controller, handleSelect]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.reInit();\n setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides, 0));\n }, [numSlides, controller]);\n\n const canPrev = controller?.canScrollPrev() ?? false;\n const canNext = controller?.canScrollNext() ?? false;\n const showTitle = !!title && (!xs || isFullscreen);\n const showFullscreen = showFullscreenProp ?? xs;\n const height = isFullscreen ? \"100%\" : heightProp ?? \"auto\";\n const showCounter = xs;\n const hideThumbnails = hideThumbnailsProp ?? (xs && !isFullscreen);\n const showThumbnails = !hideThumbnails && !!renderThumbnail;\n const showDots = showDotsProp ?? numSlides <= 5;\n\n const actions = (\n <div\n className={cx(\n classes.actions,\n actionsPosition === \"header\"\n ? css({ position: \"relative\", top: -40, height: 0 })\n : css({ position: \"absolute\" })\n )}\n >\n {actionsProp}\n {showFullscreen && (\n <HvTooltip title={isFullscreen ? \"Close\" : \"Fullscreen\"}>\n <HvButton\n icon\n onClick={() => setIsFullscreen((curr) => !curr)}\n className={classes.closeButton}\n >\n {isFullscreen ? <Close /> : <Fullscreen />}\n </HvButton>\n </HvTooltip>\n )}\n </div>\n );\n\n const controls = (\n <HvCarouselControls\n classes={classes}\n showDots={showDots}\n page={selectedIndex}\n pages={numSlides}\n canPrevious={canPrev}\n canNext={canNext}\n onPreviousClick={handlePrevious}\n onNextClick={handleNext}\n actions={actionsPosition === \"controls\" && actions}\n />\n );\n\n const thumbnails = showThumbnails && (\n <HvCarouselThumbnails\n classes={classes}\n ref={thumbnailsRef}\n page={selectedIndex}\n pages={numSlides}\n width={thumbnailWidth}\n onThumbnailClick={(evt, i) => handleScroll(i)}\n renderThumbnail={renderThumbnail}\n />\n );\n\n return (\n <HvContainer\n className={cx(classes.root, className, {\n [classes.xs]: xs,\n [classes.fullscreen]: isFullscreen,\n })}\n {...others}\n >\n {showTitle && (\n <HvTypography variant=\"title2\" className={classes.title}>\n {title}\n </HvTypography>\n )}\n\n {actionsPosition === \"header\" && actions}\n {thumbnailsPosition === \"top\" && thumbnails}\n {controlsPosition === \"top\" && controls}\n <div\n className={cx(classes.main, {\n [classes.mainXs]: xs,\n [classes.mainFullscreen]: isFullscreen,\n })}\n >\n {showCounter && (\n <div className={classes.counterContainer}>\n <span className={classes.counter}>\n {`${selectedIndex + 1}/${numSlides}`}\n </span>\n </div>\n )}\n\n {showSlideControls && (\n <div className={classes.slideControls}>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondarySubtle\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondarySubtle\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </div>\n )}\n\n <div\n ref={containerRef}\n style={{ height }}\n className={classes.slidesViewport}\n >\n <div className={classes.slidesContainer}>{children}</div>\n </div>\n </div>\n {controlsPosition === \"bottom\" && controls}\n {thumbnailsPosition === \"bottom\" && thumbnails}\n </HvContainer>\n );\n};\n"],"names":["useDefaultProps","useTheme","useClasses","useRef","useState","useCarousel","Children","useCallback","useEffect","jsxs","jsx","HvTooltip","HvButton","Close","Fullscreen","HvCarouselControls","HvCarouselThumbnails","HvContainer","HvTypography","Backwards","Forwards"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","sources":["../../../src/Carousel/Carousel.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n Children,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport useCarousel, { EmblaOptionsType } from \"embla-carousel-react\";\n\nimport {\n Backwards,\n Forwards,\n Close,\n Fullscreen,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvButton } from \"../Button\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvTooltip } from \"../Tooltip\";\nimport { HvTypography } from \"../Typography\";\nimport { HvContainer } from \"../Container\";\nimport { ExtractNames } from \"../utils/classes\";\n\nimport { HvCarouselControls } from \"./CarouselControls\";\nimport { HvCarouselThumbnails } from \"./CarouselThumbnails\";\nimport { staticClasses, useClasses } from \"./Carousel.styles\";\n\nconst clamp = (num: number, max: number, min = 0) =>\n Math.min(Math.max(num, min), max);\n\nexport { staticClasses as carouselClasses };\n\nexport type HvCarouselClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCarouselProps\n extends HvBaseProps<HTMLDivElement, \"title\" | \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCarouselClasses;\n /** Height of the Slider container. If `undefined`, images will keep a 16/9 aspect-ratio */\n height?: CSSProperties[\"height\"];\n /** Width of the thumbnail. Height will try to maintain a 16/9 aspect-ratio */\n thumbnailWidth?: CSSProperties[\"width\"];\n /** Title of the carousel */\n title?: React.ReactNode;\n /** Content slides to be displayed. @see `<HvCarouselSlide />` */\n children?: React.ReactNode;\n /** Custom content to render in the actions area */\n actions?: React.ReactNode;\n /** Whether Carousel is in \"xs mode\" - to use in embedded contexts */\n xs?: boolean;\n /** Whether to show dots instead of arrow pagination. Defaults to true under 5 elements */\n showDots?: boolean;\n /** Whether to show the counter on the top-right corner of the active slide */\n showCounter?: boolean;\n /** Whether to show the back/forwards buttons over the active slide */\n showSlideControls?: boolean;\n /** Whether to enable the fullscreen toggle button */\n showFullscreen?: boolean;\n /** Whether to hide the thumbnails. Hidden by default in \"xs\" mode */\n hideThumbnails?: boolean;\n /** Controls position. */\n controlsPosition?: \"top\" | \"bottom\";\n /** Thumbnails position. */\n thumbnailsPosition?: \"top\" | \"bottom\";\n /** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */\n carouselOptions?: EmblaOptionsType;\n /** Function that renders the thumbnail. */\n renderThumbnail?: (index: number) => React.ReactNode;\n /** The callback fired when the active slide changes. */\n onChange?: (index: number) => void;\n}\n\n/**\n * A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.\n * It allows you to focus on a particular content while having a notion of how many you have to explore.\n */\nexport const HvCarousel = (props: HvCarouselProps) => {\n const {\n className,\n classes: classesProp,\n height: heightProp = \"auto\",\n thumbnailWidth = 90,\n title,\n children,\n actions: actionsProp,\n xs,\n showDots: showDotsProp,\n showCounter: showCounterProp,\n showSlideControls,\n showFullscreen: showFullscreenProp,\n hideThumbnails: hideThumbnailsProp,\n controlsPosition: controlsPositionProp,\n thumbnailsPosition: thumbnailsPositionProp,\n carouselOptions,\n renderThumbnail,\n onChange,\n ...others\n } = useDefaultProps(\"HvCarousel\", props);\n const { activeTheme } = useTheme();\n const { classes, css, cx } = useClasses(classesProp);\n const thumbnailsRef = useRef<HTMLDivElement>(null);\n const [isFullscreen, setIsFullscreen] = useState(false);\n\n const isDs3 = activeTheme?.name === \"ds3\";\n const actionsPosition = isDs3 ? \"header\" : \"controls\";\n const controlsPosition = controlsPositionProp ?? (isDs3 ? \"bottom\" : \"top\");\n const thumbnailsPosition = thumbnailsPositionProp ?? \"bottom\";\n\n const [containerRef, controller] = useCarousel({\n align: \"start\",\n loop: true,\n ...carouselOptions,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(\n carouselOptions?.startIndex ?? 0\n );\n\n const numSlides = Children.count(children);\n\n const handlePrevious = useCallback(() => {\n controller?.scrollPrev();\n }, [controller]);\n\n const handleNext = useCallback(() => {\n controller?.scrollNext();\n }, [controller]);\n\n const handleScroll = (index: number) => {\n controller?.scrollTo(index);\n };\n\n const handleSelect = useCallback(() => {\n if (!controller) return;\n\n const slideIndex = controller.selectedScrollSnap();\n setSelectedIndex(slideIndex);\n\n // scroll to thumbnail button\n thumbnailsRef.current\n ?.querySelectorAll(\"button\")\n ?.[slideIndex]?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n\n onChange?.(slideIndex);\n }, [controller, onChange]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.on(\"select\", handleSelect);\n\n return () => {\n controller.off(\"select\", handleSelect);\n };\n }, [controller, handleSelect]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.reInit();\n setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides, 0));\n }, [numSlides, controller]);\n\n const canPrev = controller?.canScrollPrev() ?? false;\n const canNext = controller?.canScrollNext() ?? false;\n const showTitle = !!title && (!xs || isFullscreen);\n const showFullscreen = showFullscreenProp ?? xs;\n const height = isFullscreen ? \"100%\" : heightProp ?? \"auto\";\n const showCounter = xs;\n const hideThumbnails = hideThumbnailsProp ?? (xs && !isFullscreen);\n const showThumbnails = !hideThumbnails && !!renderThumbnail;\n const showDots = showDotsProp ?? numSlides <= 5;\n\n const actions = (\n <div\n className={cx(\n classes.actions,\n actionsPosition === \"header\"\n ? css({ position: \"relative\", top: -40, height: 0 })\n : css({ position: \"absolute\" })\n )}\n >\n {actionsProp}\n {showFullscreen && (\n <HvTooltip title={isFullscreen ? \"Close\" : \"Fullscreen\"}>\n <HvButton\n icon\n onClick={() => setIsFullscreen((curr) => !curr)}\n className={classes.closeButton}\n >\n {isFullscreen ? <Close /> : <Fullscreen />}\n </HvButton>\n </HvTooltip>\n )}\n </div>\n );\n\n const controls = (\n <HvCarouselControls\n classes={classes}\n showDots={showDots}\n page={selectedIndex}\n pages={numSlides}\n canPrevious={canPrev}\n canNext={canNext}\n onPreviousClick={handlePrevious}\n onNextClick={handleNext}\n actions={actionsPosition === \"controls\" && actions}\n />\n );\n\n const thumbnails = showThumbnails && (\n <HvCarouselThumbnails\n classes={classes}\n ref={thumbnailsRef}\n page={selectedIndex}\n pages={numSlides}\n width={thumbnailWidth}\n onThumbnailClick={(evt, i) => handleScroll(i)}\n renderThumbnail={renderThumbnail}\n />\n );\n\n return (\n <HvContainer\n className={cx(classes.root, className, {\n [classes.xs]: xs,\n [classes.fullscreen]: isFullscreen,\n })}\n {...others}\n >\n {showTitle && (\n <HvTypography variant=\"title2\" className={classes.title}>\n {title}\n </HvTypography>\n )}\n\n {actionsPosition === \"header\" && actions}\n {thumbnailsPosition === \"top\" && thumbnails}\n {controlsPosition === \"top\" && controls}\n <div\n className={cx(classes.main, {\n [classes.mainXs]: xs,\n [classes.mainFullscreen]: isFullscreen,\n })}\n >\n {showCounter && (\n <div className={classes.counterContainer}>\n <span className={classes.counter}>\n {`${selectedIndex + 1}/${numSlides}`}\n </span>\n </div>\n )}\n\n {showSlideControls && (\n <div className={classes.slideControls}>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondarySubtle\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondarySubtle\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </div>\n )}\n\n <div\n ref={containerRef}\n style={{ height }}\n className={classes.slidesViewport}\n >\n <div className={classes.slidesContainer}>{children}</div>\n </div>\n </div>\n {controlsPosition === \"bottom\" && controls}\n {thumbnailsPosition === \"bottom\" && thumbnails}\n </HvContainer>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Carousel.js","sources":["../../../src/Carousel/Carousel.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n Children,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport useCarousel from \"embla-carousel-react\";\n\nimport {\n Backwards,\n Forwards,\n Close,\n Fullscreen,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvButton } from \"../Button\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvTooltip } from \"../Tooltip\";\nimport { HvTypography } from \"../Typography\";\nimport { HvContainer } from \"../Container\";\nimport { ExtractNames } from \"../utils/classes\";\n\nimport { HvCarouselControls } from \"./CarouselControls\";\nimport { HvCarouselThumbnails } from \"./CarouselThumbnails\";\nimport { staticClasses, useClasses } from \"./Carousel.styles\";\n\nconst clamp = (num: number, max: number, min = 0) =>\n Math.min(Math.max(num, min), max);\n\nexport { staticClasses as carouselClasses };\n\nexport type HvCarouselClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCarouselProps\n extends HvBaseProps<HTMLDivElement, \"title\" | \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCarouselClasses;\n /** Height of the Slider container. If `undefined`, images will keep a 16/9 aspect-ratio */\n height?: CSSProperties[\"height\"];\n /** Width of the thumbnail. Height will try to maintain a 16/9 aspect-ratio */\n thumbnailWidth?: CSSProperties[\"width\"];\n /** Title of the carousel */\n title?: React.ReactNode;\n /** Content slides to be displayed. @see `<HvCarouselSlide />` */\n children?: React.ReactNode;\n /** Custom content to render in the actions area */\n actions?: React.ReactNode;\n /** Whether Carousel is in \"xs mode\" - to use in embedded contexts */\n xs?: boolean;\n /** Whether to show dots instead of arrow pagination. Defaults to true under 5 elements */\n showDots?: boolean;\n /** Whether to show the counter on the top-right corner of the active slide */\n showCounter?: boolean;\n /** Whether to show the back/forwards buttons over the active slide */\n showSlideControls?: boolean;\n /** Whether to enable the fullscreen toggle button */\n showFullscreen?: boolean;\n /** Whether to hide the thumbnails. Hidden by default in \"xs\" mode */\n hideThumbnails?: boolean;\n /** Controls position. */\n controlsPosition?: \"top\" | \"bottom\";\n /** Thumbnails position. */\n thumbnailsPosition?: \"top\" | \"bottom\";\n /** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */\n carouselOptions?: Parameters<typeof useCarousel>[0];\n /** Function that renders the thumbnail. */\n renderThumbnail?: (index: number) => React.ReactNode;\n /** The callback fired when the active slide changes. */\n onChange?: (index: number) => void;\n}\n\n/**\n * A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.\n * It allows you to focus on a particular content while having a notion of how many you have to explore.\n */\nexport const HvCarousel = (props: HvCarouselProps) => {\n const {\n className,\n classes: classesProp,\n height: heightProp = \"auto\",\n thumbnailWidth = 90,\n title,\n children,\n actions: actionsProp,\n xs,\n showDots: showDotsProp,\n showCounter: showCounterProp,\n showSlideControls,\n showFullscreen: showFullscreenProp,\n hideThumbnails: hideThumbnailsProp,\n controlsPosition: controlsPositionProp,\n thumbnailsPosition: thumbnailsPositionProp,\n carouselOptions,\n renderThumbnail,\n onChange,\n ...others\n } = useDefaultProps(\"HvCarousel\", props);\n const { activeTheme } = useTheme();\n const { classes, css, cx } = useClasses(classesProp);\n const thumbnailsRef = useRef<HTMLDivElement>(null);\n const [isFullscreen, setIsFullscreen] = useState(false);\n\n const isDs3 = activeTheme?.name === \"ds3\";\n const actionsPosition = isDs3 ? \"header\" : \"controls\";\n const controlsPosition = controlsPositionProp ?? (isDs3 ? \"bottom\" : \"top\");\n const thumbnailsPosition = thumbnailsPositionProp ?? \"bottom\";\n\n const [containerRef, controller] = useCarousel({\n align: \"start\",\n loop: true,\n ...carouselOptions,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(\n carouselOptions?.startIndex ?? 0\n );\n\n const numSlides = Children.count(children);\n\n const handlePrevious = useCallback(() => {\n controller?.scrollPrev();\n }, [controller]);\n\n const handleNext = useCallback(() => {\n controller?.scrollNext();\n }, [controller]);\n\n const handleScroll = (index: number) => {\n controller?.scrollTo(index);\n };\n\n const handleSelect = useCallback(() => {\n if (!controller) return;\n\n const slideIndex = controller.selectedScrollSnap();\n setSelectedIndex(slideIndex);\n\n // scroll to thumbnail button\n thumbnailsRef.current\n ?.querySelectorAll(\"button\")\n ?.[slideIndex]?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n\n onChange?.(slideIndex);\n }, [controller, onChange]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.on(\"select\", handleSelect);\n\n return () => {\n controller.off(\"select\", handleSelect);\n };\n }, [controller, handleSelect]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.reInit();\n setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides, 0));\n }, [numSlides, controller]);\n\n const canPrev = controller?.canScrollPrev() ?? false;\n const canNext = controller?.canScrollNext() ?? false;\n const showTitle = !!title && (!xs || isFullscreen);\n const showFullscreen = showFullscreenProp ?? xs;\n const height = isFullscreen ? \"100%\" : heightProp ?? \"auto\";\n const showCounter = xs;\n const hideThumbnails = hideThumbnailsProp ?? (xs && !isFullscreen);\n const showThumbnails = !hideThumbnails && !!renderThumbnail;\n const showDots = showDotsProp ?? numSlides <= 5;\n\n const actions = (\n <div\n className={cx(\n classes.actions,\n actionsPosition === \"header\"\n ? css({ position: \"relative\", top: -40, height: 0 })\n : css({ position: \"absolute\" })\n )}\n >\n {actionsProp}\n {showFullscreen && (\n <HvTooltip title={isFullscreen ? \"Close\" : \"Fullscreen\"}>\n <HvButton\n icon\n onClick={() => setIsFullscreen((curr) => !curr)}\n className={classes.closeButton}\n >\n {isFullscreen ? <Close /> : <Fullscreen />}\n </HvButton>\n </HvTooltip>\n )}\n </div>\n );\n\n const controls = (\n <HvCarouselControls\n classes={classes}\n showDots={showDots}\n page={selectedIndex}\n pages={numSlides}\n canPrevious={canPrev}\n canNext={canNext}\n onPreviousClick={handlePrevious}\n onNextClick={handleNext}\n actions={actionsPosition === \"controls\" && actions}\n />\n );\n\n const thumbnails = showThumbnails && (\n <HvCarouselThumbnails\n classes={classes}\n ref={thumbnailsRef}\n page={selectedIndex}\n pages={numSlides}\n width={thumbnailWidth}\n onThumbnailClick={(evt, i) => handleScroll(i)}\n renderThumbnail={renderThumbnail}\n />\n );\n\n return (\n <HvContainer\n className={cx(classes.root, className, {\n [classes.xs]: xs,\n [classes.fullscreen]: isFullscreen,\n })}\n {...others}\n >\n {showTitle && (\n <HvTypography variant=\"title2\" className={classes.title}>\n {title}\n </HvTypography>\n )}\n\n {actionsPosition === \"header\" && actions}\n {thumbnailsPosition === \"top\" && thumbnails}\n {controlsPosition === \"top\" && controls}\n <div\n className={cx(classes.main, {\n [classes.mainXs]: xs,\n [classes.mainFullscreen]: isFullscreen,\n })}\n >\n {showCounter && (\n <div className={classes.counterContainer}>\n <span className={classes.counter}>\n {`${selectedIndex + 1}/${numSlides}`}\n </span>\n </div>\n )}\n\n {showSlideControls && (\n <div className={classes.slideControls}>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondarySubtle\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondarySubtle\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </div>\n )}\n\n <div\n ref={containerRef}\n style={{ height }}\n className={classes.slidesViewport}\n >\n <div className={classes.slidesContainer}>{children}</div>\n </div>\n </div>\n {controlsPosition === \"bottom\" && controls}\n {thumbnailsPosition === \"bottom\" && thumbnails}\n </HvContainer>\n );\n};\n"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -30,7 +30,6 @@ import { DrawerProps } from '@mui/material/Drawer';
|
|
|
30
30
|
import { ds3 } from '@hitachivantara/uikit-styles';
|
|
31
31
|
import { ds5 } from '@hitachivantara/uikit-styles';
|
|
32
32
|
import { ElementType } from 'react';
|
|
33
|
-
import { EmblaOptionsType } from 'embla-carousel-react';
|
|
34
33
|
import { EmotionCache } from '@emotion/cache';
|
|
35
34
|
import { EmotionContext } from '@hitachivantara/uikit-react-shared';
|
|
36
35
|
import { ForwardRefExoticComponent } from 'react';
|
|
@@ -66,7 +65,8 @@ import { ImgHTMLAttributes } from 'react';
|
|
|
66
65
|
import { InputBaseComponentProps } from '@mui/material/InputBase';
|
|
67
66
|
import { InputBaseProps } from '@mui/material/InputBase';
|
|
68
67
|
import { InputProps } from '@mui/material/Input';
|
|
69
|
-
import { JSX as JSX_2 } from '
|
|
68
|
+
import { JSX as JSX_2 } from 'react';
|
|
69
|
+
import { JSX as JSX_3 } from '@emotion/react/jsx-runtime';
|
|
70
70
|
import { JSXElementConstructor } from 'react';
|
|
71
71
|
import { MouseEvent as MouseEvent_2 } from 'react';
|
|
72
72
|
import { MouseEventHandler } from 'react';
|
|
@@ -112,6 +112,7 @@ import { themes } from '@hitachivantara/uikit-styles';
|
|
|
112
112
|
import { ThHTMLAttributes } from 'react';
|
|
113
113
|
import { TooltipProps } from '@mui/material/Tooltip';
|
|
114
114
|
import { TransitionProps } from '@mui/material/transitions';
|
|
115
|
+
import useCarousel from 'embla-carousel-react';
|
|
115
116
|
import { UseColumnOrderInstanceProps } from 'react-table';
|
|
116
117
|
import { UseColumnOrderState } from 'react-table';
|
|
117
118
|
import { useEffect } from 'react';
|
|
@@ -522,13 +523,13 @@ declare type CellValue<V = any> = V;
|
|
|
522
523
|
export declare const CellWithCheckBox: ({ row, labels: labelsProp }: {
|
|
523
524
|
row: any;
|
|
524
525
|
labels: any;
|
|
525
|
-
}) =>
|
|
526
|
+
}) => JSX_3.Element;
|
|
526
527
|
|
|
527
528
|
export declare const CellWithExpandButton: ({ row, cell, labels: labelsProp }: {
|
|
528
529
|
row: any;
|
|
529
530
|
cell: any;
|
|
530
531
|
labels: any;
|
|
531
|
-
}) =>
|
|
532
|
+
}) => JSX_3.Element;
|
|
532
533
|
|
|
533
534
|
export declare const charCounterClasses: {
|
|
534
535
|
root: "HvCharCounter-root";
|
|
@@ -1021,8 +1022,8 @@ export declare const getSelectorIcons: (options: {
|
|
|
1021
1022
|
disabled: boolean;
|
|
1022
1023
|
semantic: boolean;
|
|
1023
1024
|
}, classes: HvBaseRadioClasses) => {
|
|
1024
|
-
radio:
|
|
1025
|
-
radioChecked:
|
|
1025
|
+
radio: JSX_3.Element;
|
|
1026
|
+
radioChecked: JSX_3.Element;
|
|
1026
1027
|
};
|
|
1027
1028
|
|
|
1028
1029
|
export declare const getTableHeadPropsHook: (props: any, { instance }: {
|
|
@@ -1119,7 +1120,7 @@ export declare type HvAccentColors = Record<HvAccentColorKeys, string>;
|
|
|
1119
1120
|
/**
|
|
1120
1121
|
* A accordion is a design element that expands in place to expose hidden information.
|
|
1121
1122
|
*/
|
|
1122
|
-
export declare const HvAccordion: (props: HvAccordionProps) =>
|
|
1123
|
+
export declare const HvAccordion: (props: HvAccordionProps) => JSX_3.Element;
|
|
1123
1124
|
|
|
1124
1125
|
export declare type HvAccordionClasses = ExtractNames<typeof useClasses_15>;
|
|
1125
1126
|
|
|
@@ -1166,7 +1167,7 @@ export declare interface HvAccordionProps extends HvBaseProps<HTMLDivElement, "o
|
|
|
1166
1167
|
classes?: HvAccordionClasses;
|
|
1167
1168
|
}
|
|
1168
1169
|
|
|
1169
|
-
export declare const HvActionBar: (props: HvActionBarProps) =>
|
|
1170
|
+
export declare const HvActionBar: (props: HvActionBarProps) => JSX_3.Element;
|
|
1170
1171
|
|
|
1171
1172
|
export declare type HvActionBarClasses = ExtractNames<typeof useClasses_16>;
|
|
1172
1173
|
|
|
@@ -1197,7 +1198,7 @@ export declare interface HvActionGeneric {
|
|
|
1197
1198
|
disabled?: boolean;
|
|
1198
1199
|
}
|
|
1199
1200
|
|
|
1200
|
-
export declare const HvActionsGeneric: (props: HvActionsGenericProps) =>
|
|
1201
|
+
export declare const HvActionsGeneric: (props: HvActionsGenericProps) => JSX_3.Element | null;
|
|
1201
1202
|
|
|
1202
1203
|
export declare type HvActionsGenericClasses = ExtractNames<typeof useClasses_17>;
|
|
1203
1204
|
|
|
@@ -1244,9 +1245,9 @@ export declare interface HvAdornmentProps extends HvBaseProps<HTMLDivElement | H
|
|
|
1244
1245
|
classes?: HvAdornmentClasses;
|
|
1245
1246
|
}
|
|
1246
1247
|
|
|
1247
|
-
export declare const HvAppSwitcher: (props: HvAppSwitcherProps) =>
|
|
1248
|
+
export declare const HvAppSwitcher: (props: HvAppSwitcherProps) => JSX_3.Element;
|
|
1248
1249
|
|
|
1249
|
-
export declare const HvAppSwitcherAction: ({ id, className, classes: classesProp, application, onClickCallback, isSelectedCallback, }: HvAppSwitcherActionProps) =>
|
|
1250
|
+
export declare const HvAppSwitcherAction: ({ id, className, classes: classesProp, application, onClickCallback, isSelectedCallback, }: HvAppSwitcherActionProps) => JSX_3.Element;
|
|
1250
1251
|
|
|
1251
1252
|
export declare interface HvAppSwitcherActionApplication {
|
|
1252
1253
|
/** Id of the application. */
|
|
@@ -1398,7 +1399,7 @@ export declare type HvAvatarVariant = "circular" | "square";
|
|
|
1398
1399
|
/**
|
|
1399
1400
|
* The badge is a component used to notify the user that something has occurred, in the app context.
|
|
1400
1401
|
*/
|
|
1401
|
-
export declare const HvBadge: (props: HvBadgeProps) =>
|
|
1402
|
+
export declare const HvBadge: (props: HvBadgeProps) => JSX_3.Element;
|
|
1402
1403
|
|
|
1403
1404
|
export declare type HvBadgeClasses = ExtractNames<typeof useClasses_22>;
|
|
1404
1405
|
|
|
@@ -1437,7 +1438,7 @@ export declare interface HvBadgeProps extends HvBaseProps {
|
|
|
1437
1438
|
* A Banner displays an important and succinct message. It can also provide actions for the user to address, or dismiss.
|
|
1438
1439
|
* It requires a user action, for it to be dismissed. Banners should appear at the top of the screen, below a top app bar.
|
|
1439
1440
|
*/
|
|
1440
|
-
export declare const HvBanner: (props: HvBannerProps) =>
|
|
1441
|
+
export declare const HvBanner: (props: HvBannerProps) => JSX_3.Element;
|
|
1441
1442
|
|
|
1442
1443
|
export declare type HvBannerActionPosition = "auto" | "inline" | "bottom-right";
|
|
1443
1444
|
|
|
@@ -1685,7 +1686,7 @@ export declare interface HvBaseDropdownProps extends HvBaseProps {
|
|
|
1685
1686
|
* An Input component that only posses the most basic functionalities.
|
|
1686
1687
|
* It should be used alongside the other form elements to construct a proper accessible form.
|
|
1687
1688
|
*/
|
|
1688
|
-
export declare const HvBaseInput: (props: HvBaseInputProps) =>
|
|
1689
|
+
export declare const HvBaseInput: (props: HvBaseInputProps) => JSX_3.Element;
|
|
1689
1690
|
|
|
1690
1691
|
export declare type HvBaseInputClasses = ExtractNames<typeof useClasses_13>;
|
|
1691
1692
|
|
|
@@ -1900,7 +1901,7 @@ export declare type HvBoxProps = <C extends React.ElementType = "div">(props: Hv
|
|
|
1900
1901
|
/**
|
|
1901
1902
|
* A breadcrumb is a graphical control element frequently used as a navigational aid.
|
|
1902
1903
|
*/
|
|
1903
|
-
export declare const HvBreadCrumb: (props: HvBreadCrumbProps) =>
|
|
1904
|
+
export declare const HvBreadCrumb: (props: HvBreadCrumbProps) => JSX_3.Element;
|
|
1904
1905
|
|
|
1905
1906
|
export declare type HvBreadCrumbClasses = ExtractNames<typeof useClasses_29>;
|
|
1906
1907
|
|
|
@@ -1932,7 +1933,7 @@ export { HvBreakpoints }
|
|
|
1932
1933
|
* Bulk Actions allow users to perform an action on a single or multiple items.
|
|
1933
1934
|
* Also known as "batch production" of multiple items at once, one stage at a time.
|
|
1934
1935
|
*/
|
|
1935
|
-
export declare const HvBulkActions: (props: HvBulkActionsProps) =>
|
|
1936
|
+
export declare const HvBulkActions: (props: HvBulkActionsProps) => JSX_3.Element;
|
|
1936
1937
|
|
|
1937
1938
|
export declare type HvBulkActionsClasses = ExtractNames<typeof useClasses_31>;
|
|
1938
1939
|
|
|
@@ -2006,7 +2007,7 @@ export declare interface HvBulkActionsProps extends HvBaseProps {
|
|
|
2006
2007
|
/**
|
|
2007
2008
|
* Button component is used to trigger an action or event.
|
|
2008
2009
|
*/
|
|
2009
|
-
export declare const HvButton: <C extends ElementType<any> = "button">(props: {
|
|
2010
|
+
export declare const HvButton: <C extends ElementType<any, keyof JSX_2.IntrinsicElements> = "button">(props: {
|
|
2010
2011
|
/** Use the variant prop to change the visual style of the Button. */
|
|
2011
2012
|
variant?: "secondary" | "primary" | "semantic" | "secondarySubtle" | "secondaryGhost" | "primaryGhost" | "primarySubtle" | "ghost" | undefined;
|
|
2012
2013
|
/** Whether the Button is an icon-only button. */
|
|
@@ -2085,12 +2086,12 @@ export declare type HvButtonSize = (typeof buttonSize)[number];
|
|
|
2085
2086
|
|
|
2086
2087
|
export declare type HvButtonVariant = (typeof buttonVariant)[number];
|
|
2087
2088
|
|
|
2088
|
-
export declare const HvCalendar: (props: HvCalendarProps) =>
|
|
2089
|
+
export declare const HvCalendar: (props: HvCalendarProps) => JSX_3.Element;
|
|
2089
2090
|
|
|
2090
2091
|
export declare type HvCalendarClasses = ExtractNames<typeof useClasses_34>;
|
|
2091
2092
|
|
|
2092
2093
|
export declare const HvCalendarHeader: {
|
|
2093
|
-
(props: HvCalendarHeaderProps):
|
|
2094
|
+
(props: HvCalendarHeaderProps): JSX_3.Element;
|
|
2094
2095
|
formElementType: string;
|
|
2095
2096
|
};
|
|
2096
2097
|
|
|
@@ -2212,11 +2213,11 @@ export declare interface HvCalendarProps {
|
|
|
2212
2213
|
* linked short representation of a conceptual unit. For that reason,
|
|
2213
2214
|
* this pattern must be used as an entry-point for further information.
|
|
2214
2215
|
*/
|
|
2215
|
-
export declare const HvCard: (props: HvCardProps) =>
|
|
2216
|
+
export declare const HvCard: (props: HvCardProps) => JSX_3.Element;
|
|
2216
2217
|
|
|
2217
2218
|
export declare type HvCardClasses = ExtractNames<typeof useClasses_36>;
|
|
2218
2219
|
|
|
2219
|
-
export declare const HvCardContent: ({ id, classes: classesProp, className, children, onClick, ...others }: HvCardContentProps) =>
|
|
2220
|
+
export declare const HvCardContent: ({ id, classes: classesProp, className, children, onClick, ...others }: HvCardContentProps) => JSX_3.Element;
|
|
2220
2221
|
|
|
2221
2222
|
export declare type HvCardContentClasses = ExtractNames<typeof useClasses_38>;
|
|
2222
2223
|
|
|
@@ -2227,7 +2228,7 @@ export declare interface HvCardContentProps extends Omit<CardContentProps, "clas
|
|
|
2227
2228
|
classes?: HvCardContentClasses;
|
|
2228
2229
|
}
|
|
2229
2230
|
|
|
2230
|
-
export declare const HvCardHeader: (props: HvCardHeaderProps) =>
|
|
2231
|
+
export declare const HvCardHeader: (props: HvCardHeaderProps) => JSX_3.Element;
|
|
2231
2232
|
|
|
2232
2233
|
export declare type HvCardHeaderClasses = ExtractNames<typeof useClasses_37>;
|
|
2233
2234
|
|
|
@@ -2244,7 +2245,7 @@ export declare interface HvCardHeaderProps extends Omit<CardHeaderProps, "classe
|
|
|
2244
2245
|
classes?: HvCardHeaderClasses;
|
|
2245
2246
|
}
|
|
2246
2247
|
|
|
2247
|
-
export declare const HvCardMedia: ({ id, classes: classesProp, className, children, title, onClick, ...others }: HvCardMediaProps) =>
|
|
2248
|
+
export declare const HvCardMedia: ({ id, classes: classesProp, className, children, title, onClick, ...others }: HvCardMediaProps) => JSX_3.Element;
|
|
2248
2249
|
|
|
2249
2250
|
export declare type HvCardMediaClasses = ExtractNames<typeof useClasses_39>;
|
|
2250
2251
|
|
|
@@ -2285,11 +2286,11 @@ export declare interface HvCardProps extends HvBaseProps {
|
|
|
2285
2286
|
* A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.
|
|
2286
2287
|
* It allows you to focus on a particular content while having a notion of how many you have to explore.
|
|
2287
2288
|
*/
|
|
2288
|
-
export declare const HvCarousel: (props: HvCarouselProps) =>
|
|
2289
|
+
export declare const HvCarousel: (props: HvCarouselProps) => JSX_3.Element;
|
|
2289
2290
|
|
|
2290
2291
|
export declare type HvCarouselClasses = ExtractNames<typeof useClasses_40>;
|
|
2291
2292
|
|
|
2292
|
-
export declare const HvCarouselControls: (props: HvCarouselControlsProps) =>
|
|
2293
|
+
export declare const HvCarouselControls: (props: HvCarouselControlsProps) => JSX_3.Element;
|
|
2293
2294
|
|
|
2294
2295
|
declare interface HvCarouselControlsProps extends HvBaseProps<HTMLDivElement>, Pick<HvPaginationProps, "page" | "pages" | "canPrevious" | "canNext"> {
|
|
2295
2296
|
showDots?: boolean;
|
|
@@ -2329,7 +2330,7 @@ export declare interface HvCarouselProps extends HvBaseProps<HTMLDivElement, "ti
|
|
|
2329
2330
|
/** Thumbnails position. */
|
|
2330
2331
|
thumbnailsPosition?: "top" | "bottom";
|
|
2331
2332
|
/** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */
|
|
2332
|
-
carouselOptions?:
|
|
2333
|
+
carouselOptions?: Parameters<typeof useCarousel>[0];
|
|
2333
2334
|
/** Function that renders the thumbnail. */
|
|
2334
2335
|
renderThumbnail?: (index: number) => React_2.ReactNode;
|
|
2335
2336
|
/** The callback fired when the active slide changes. */
|
|
@@ -2340,7 +2341,7 @@ export declare interface HvCarouselProps extends HvBaseProps<HTMLDivElement, "ti
|
|
|
2340
2341
|
* A container to use as `children` of `HvCarousel`.
|
|
2341
2342
|
* Pass `img` props directly to it, or `children` for any custom content
|
|
2342
2343
|
*/
|
|
2343
|
-
export declare const HvCarouselSlide: ({ classes: classesProp, className, children, size: flexBasis, src, alt, ...props }: HvCarouselSlideProps) =>
|
|
2344
|
+
export declare const HvCarouselSlide: ({ classes: classesProp, className, children, size: flexBasis, src, alt, ...props }: HvCarouselSlideProps) => JSX_3.Element;
|
|
2344
2345
|
|
|
2345
2346
|
export declare type HvCarouselSlideClasses = ExtractNames<typeof useClasses_41>;
|
|
2346
2347
|
|
|
@@ -2391,7 +2392,7 @@ export declare interface HvCellProps<D extends object = Record<string, unknown>,
|
|
|
2391
2392
|
* Use the character counter when there is a character or word limit.
|
|
2392
2393
|
* By itself it doesn't block the user from going above the limit.
|
|
2393
2394
|
*/
|
|
2394
|
-
export declare const HvCharCounter: (props: HvCharCounterProps) =>
|
|
2395
|
+
export declare const HvCharCounter: (props: HvCharCounterProps) => JSX_3.Element;
|
|
2395
2396
|
|
|
2396
2397
|
export declare type HvCharCounterClasses = ExtractNames<typeof useClasses_5>;
|
|
2397
2398
|
|
|
@@ -2704,7 +2705,7 @@ export declare interface HvContainerProps extends Omit<ContainerProps, "classes"
|
|
|
2704
2705
|
classes?: HvContainerClasses;
|
|
2705
2706
|
}
|
|
2706
2707
|
|
|
2707
|
-
export declare const HvControls: (props: HvControlsProps) =>
|
|
2708
|
+
export declare const HvControls: (props: HvControlsProps) => JSX_3.Element;
|
|
2708
2709
|
|
|
2709
2710
|
export declare type HvControlsClasses = ExtractNames<typeof useClasses_47>;
|
|
2710
2711
|
|
|
@@ -2875,11 +2876,11 @@ export declare interface HvDatePickerProps extends Omit<HvFormElementProps, "onC
|
|
|
2875
2876
|
/** @deprecated use `HvFormStatus` instead */
|
|
2876
2877
|
export declare type HvDatePickerStatus = HvFormStatus;
|
|
2877
2878
|
|
|
2878
|
-
export declare const HvDialog: (props: HvDialogProps) =>
|
|
2879
|
+
export declare const HvDialog: (props: HvDialogProps) => JSX_3.Element;
|
|
2879
2880
|
|
|
2880
2881
|
export declare type HvDialogActionClasses = ExtractNames<typeof useClasses_59>;
|
|
2881
2882
|
|
|
2882
|
-
export declare const HvDialogActions: (props: HvDialogActionsProps) =>
|
|
2883
|
+
export declare const HvDialogActions: (props: HvDialogActionsProps) => JSX_3.Element;
|
|
2883
2884
|
|
|
2884
2885
|
export declare interface HvDialogActionsProps extends Omit<DialogActionsProps, "classes"> {
|
|
2885
2886
|
/** Set the dialog to fullscreen mode. @deprecated set `fullscreen` in `HvDialog` */
|
|
@@ -2890,7 +2891,7 @@ export declare interface HvDialogActionsProps extends Omit<DialogActionsProps, "
|
|
|
2890
2891
|
|
|
2891
2892
|
export declare type HvDialogClasses = ExtractNames<typeof useClasses_60>;
|
|
2892
2893
|
|
|
2893
|
-
export declare const HvDialogContent: (props: HvDialogContentProps) =>
|
|
2894
|
+
export declare const HvDialogContent: (props: HvDialogContentProps) => JSX_3.Element;
|
|
2894
2895
|
|
|
2895
2896
|
export declare type HvDialogContentClasses = ExtractNames<typeof useClasses_58>;
|
|
2896
2897
|
|
|
@@ -2932,7 +2933,7 @@ export declare interface HvDialogProps extends Omit<DialogProps, "fullScreen" |
|
|
|
2932
2933
|
component?: DialogProps["component"];
|
|
2933
2934
|
}
|
|
2934
2935
|
|
|
2935
|
-
export declare const HvDialogTitle: (props: HvDialogTitleProps) =>
|
|
2936
|
+
export declare const HvDialogTitle: (props: HvDialogTitleProps) => JSX_3.Element;
|
|
2936
2937
|
|
|
2937
2938
|
export declare type HvDialogTitleClasses = ExtractNames<typeof useClasses_57>;
|
|
2938
2939
|
|
|
@@ -2953,7 +2954,7 @@ export declare type HvDialogTitleVariant = "success" | "warning" | "error" | "in
|
|
|
2953
2954
|
* Pagination is the process of dividing a document into discrete pages. It relates to how users interact with structured content on a website or application.
|
|
2954
2955
|
* This component uses Radio Buttons to represent each page.
|
|
2955
2956
|
*/
|
|
2956
|
-
export declare const HvDotPagination: (props: HvDotPaginationProps) =>
|
|
2957
|
+
export declare const HvDotPagination: (props: HvDotPaginationProps) => JSX_3.Element;
|
|
2957
2958
|
|
|
2958
2959
|
export declare type HvDotPaginationClasses = ExtractNames<typeof useClasses_61>;
|
|
2959
2960
|
|
|
@@ -2997,7 +2998,7 @@ export declare interface HvDotPaginationProps extends Omit<HvRadioGroupProps, "c
|
|
|
2997
2998
|
* It only provides the pane with a close button, the rest of the
|
|
2998
2999
|
* content can be customized.
|
|
2999
3000
|
*/
|
|
3000
|
-
export declare const HvDrawer: (props: HvDrawerProps) =>
|
|
3001
|
+
export declare const HvDrawer: (props: HvDrawerProps) => JSX_3.Element;
|
|
3001
3002
|
|
|
3002
3003
|
export declare type HvDrawerClasses = ExtractNames<typeof useClasses_63>;
|
|
3003
3004
|
|
|
@@ -3153,7 +3154,7 @@ declare interface HvDropdownListProps {
|
|
|
3153
3154
|
/**
|
|
3154
3155
|
* A drop-down menu is a graphical control element, similar to a list box, that allows the user to choose a value from a list.
|
|
3155
3156
|
*/
|
|
3156
|
-
export declare const HvDropDownMenu: (props: HvDropDownMenuProps) =>
|
|
3157
|
+
export declare const HvDropDownMenu: (props: HvDropDownMenuProps) => JSX_3.Element;
|
|
3157
3158
|
|
|
3158
3159
|
export declare type HvDropDownMenuClasses = ExtractNames<typeof useClasses_30>;
|
|
3159
3160
|
|
|
@@ -3350,7 +3351,7 @@ declare interface HvDropZoneLabels {
|
|
|
3350
3351
|
/**
|
|
3351
3352
|
* Empty states communicate that there’s no information, data or values to display in a given context.
|
|
3352
3353
|
*/
|
|
3353
|
-
export declare const HvEmptyState: (props: HvEmptyStateProps) =>
|
|
3354
|
+
export declare const HvEmptyState: (props: HvEmptyStateProps) => JSX_3.Element;
|
|
3354
3355
|
|
|
3355
3356
|
export declare type HvEmptyStateClasses = ExtractNames<typeof useClasses_64>;
|
|
3356
3357
|
|
|
@@ -3378,7 +3379,7 @@ export { HvExtraDeepProps }
|
|
|
3378
3379
|
|
|
3379
3380
|
export { HvExtraProps }
|
|
3380
3381
|
|
|
3381
|
-
export declare const HvFile: (props: HvFileProps) =>
|
|
3382
|
+
export declare const HvFile: (props: HvFileProps) => JSX_3.Element;
|
|
3382
3383
|
|
|
3383
3384
|
export declare type HvFileClasses = ExtractNames<typeof useClasses_66>;
|
|
3384
3385
|
|
|
@@ -3446,7 +3447,7 @@ export declare type HvFilesAddedEvent = (files: HvFileData[]) => void;
|
|
|
3446
3447
|
*
|
|
3447
3448
|
* Accepted file types follow the format of the html input accept attribute. Please check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file for more details.
|
|
3448
3449
|
*/
|
|
3449
|
-
export declare const HvFileUploader: (props: HvFileUploaderProps) =>
|
|
3450
|
+
export declare const HvFileUploader: (props: HvFileUploaderProps) => JSX_3.Element;
|
|
3450
3451
|
|
|
3451
3452
|
export declare interface HvFileUploaderLabels extends HvDropZoneLabels {
|
|
3452
3453
|
/**
|
|
@@ -3459,7 +3460,7 @@ export declare interface HvFileUploaderLabels extends HvDropZoneLabels {
|
|
|
3459
3460
|
* The `HvFileUploaderPreview` component is available to facilitate the styling
|
|
3460
3461
|
* of the button (when clickable) and the detection of image unloading.
|
|
3461
3462
|
*/
|
|
3462
|
-
export declare const HvFileUploaderPreview: (props: HvFileUploaderPreviewProps) =>
|
|
3463
|
+
export declare const HvFileUploaderPreview: (props: HvFileUploaderPreviewProps) => JSX_3.Element;
|
|
3463
3464
|
|
|
3464
3465
|
export declare type HvFileUploaderPreviewClasses = ExtractNames<typeof useClasses_65>;
|
|
3465
3466
|
|
|
@@ -3629,7 +3630,7 @@ export declare interface HvFilterGroupProps extends Omit<HvFormElementProps, "cl
|
|
|
3629
3630
|
|
|
3630
3631
|
export declare type HvFilterGroupValue = (string | number)[][];
|
|
3631
3632
|
|
|
3632
|
-
export declare const HvFocus: ({ classes: classesProp, children, configuration, disabledClass, selected, disabled, rootRef, focusOnClick, focusDisabled, strategy, useFalseFocus, filterClass, navigationJump, }: HvFocusProps) =>
|
|
3633
|
+
export declare const HvFocus: ({ classes: classesProp, children, configuration, disabledClass, selected, disabled, rootRef, focusOnClick, focusDisabled, strategy, useFalseFocus, filterClass, navigationJump, }: HvFocusProps) => JSX_3.Element;
|
|
3633
3634
|
|
|
3634
3635
|
export declare type HvFocusClasses = ExtractNames<typeof useClasses_2>;
|
|
3635
3636
|
|
|
@@ -3668,7 +3669,7 @@ export declare type HvFocusStrategies = "listbox" | "menu" | "card" | "grid";
|
|
|
3668
3669
|
/**
|
|
3669
3670
|
* A Footer is a way of providing extra information at the end of a page.
|
|
3670
3671
|
*/
|
|
3671
|
-
export declare const HvFooter: (props: HvFooterProps) =>
|
|
3672
|
+
export declare const HvFooter: (props: HvFooterProps) => JSX_3.Element;
|
|
3672
3673
|
|
|
3673
3674
|
export declare type HvFooterClasses = ExtractNames<typeof useClasses_69>;
|
|
3674
3675
|
|
|
@@ -3692,7 +3693,7 @@ declare type HvFooterProps_2<D extends object = Record<string, unknown>> = HvTab
|
|
|
3692
3693
|
};
|
|
3693
3694
|
|
|
3694
3695
|
export declare const HvFormElement: {
|
|
3695
|
-
(props: HvFormElementProps):
|
|
3696
|
+
(props: HvFormElementProps): JSX_3.Element;
|
|
3696
3697
|
formElementType: string;
|
|
3697
3698
|
};
|
|
3698
3699
|
|
|
@@ -3791,7 +3792,7 @@ export declare type HvFormStatus = "standBy" | "valid" | "invalid" | "empty";
|
|
|
3791
3792
|
* Global Actions are actions that affect the entire page they live in.
|
|
3792
3793
|
* They should persist while scrolling down the screen.
|
|
3793
3794
|
*/
|
|
3794
|
-
export declare const HvGlobalActions: (props: HvGlobalActionsProps) =>
|
|
3795
|
+
export declare const HvGlobalActions: (props: HvGlobalActionsProps) => JSX_3.Element;
|
|
3795
3796
|
|
|
3796
3797
|
export declare type HvGlobalActionsClasses = ExtractNames<typeof useClasses_70>;
|
|
3797
3798
|
|
|
@@ -3941,9 +3942,9 @@ export declare type HvGridSpacing = "xs" | "sm" | "md" | "lg" | "xl" | "auto" |
|
|
|
3941
3942
|
/**
|
|
3942
3943
|
* Header component is used to render a header bar with logo and brand name, navigation and actions.
|
|
3943
3944
|
*/
|
|
3944
|
-
export declare const HvHeader: (props: HvHeaderProps) =>
|
|
3945
|
+
export declare const HvHeader: (props: HvHeaderProps) => JSX_3.Element;
|
|
3945
3946
|
|
|
3946
|
-
export declare const HvHeaderActions: (props: HvHeaderActionsProps) =>
|
|
3947
|
+
export declare const HvHeaderActions: (props: HvHeaderActionsProps) => JSX_3.Element;
|
|
3947
3948
|
|
|
3948
3949
|
export declare type HvHeaderActionsClasses = ExtractNames<typeof useClasses_73>;
|
|
3949
3950
|
|
|
@@ -3954,7 +3955,7 @@ export declare interface HvHeaderActionsProps extends HvBaseProps {
|
|
|
3954
3955
|
/**
|
|
3955
3956
|
* Header component is used to render a header bar with logo and brand name, navigation and actions.
|
|
3956
3957
|
*/
|
|
3957
|
-
export declare const HvHeaderBrand: (props: HvHeaderBrandProps) =>
|
|
3958
|
+
export declare const HvHeaderBrand: (props: HvHeaderBrandProps) => JSX_3.Element;
|
|
3958
3959
|
|
|
3959
3960
|
export declare type HvHeaderBrandClasses = ExtractNames<typeof useClasses_74>;
|
|
3960
3961
|
|
|
@@ -3970,7 +3971,7 @@ declare interface HvHeaderGroup<D extends object = Record<string, unknown>, H ex
|
|
|
3970
3971
|
headers: Array<HvHeaderGroup<D, H>>;
|
|
3971
3972
|
}
|
|
3972
3973
|
|
|
3973
|
-
export declare const HvHeaderMenuBar: (props: HvHeaderMenuBarProps) =>
|
|
3974
|
+
export declare const HvHeaderMenuBar: (props: HvHeaderMenuBarProps) => JSX_3.Element;
|
|
3974
3975
|
|
|
3975
3976
|
declare type HvHeaderMenuBarClasses = ExtractNames<typeof useClasses_75>;
|
|
3976
3977
|
|
|
@@ -3983,7 +3984,7 @@ declare interface HvHeaderMenuBarProps extends HvBaseProps<HTMLDivElement, "onCl
|
|
|
3983
3984
|
classes?: HvHeaderMenuBarClasses;
|
|
3984
3985
|
}
|
|
3985
3986
|
|
|
3986
|
-
export declare const HvHeaderMenuItem: (props: HvHeaderMenuItemProps) =>
|
|
3987
|
+
export declare const HvHeaderMenuItem: (props: HvHeaderMenuItemProps) => JSX_3.Element;
|
|
3987
3988
|
|
|
3988
3989
|
declare type HvHeaderMenuItemClasses = ExtractNames<typeof useClasses_76>;
|
|
3989
3990
|
|
|
@@ -3996,7 +3997,7 @@ declare interface HvHeaderMenuItemProps extends HvBaseProps<HTMLDivElement, "onC
|
|
|
3996
3997
|
classes?: HvHeaderMenuItemClasses;
|
|
3997
3998
|
}
|
|
3998
3999
|
|
|
3999
|
-
export declare const HvHeaderNavigation: (props: HvHeaderNavigationProps) =>
|
|
4000
|
+
export declare const HvHeaderNavigation: (props: HvHeaderNavigationProps) => JSX_3.Element;
|
|
4000
4001
|
|
|
4001
4002
|
export declare type HvHeaderNavigationClasses = ExtractNames<typeof useClasses_77>;
|
|
4002
4003
|
|
|
@@ -4062,7 +4063,7 @@ export declare type HvHorizontalScrollListItemClasses = ExtractNames<typeof useC
|
|
|
4062
4063
|
/**
|
|
4063
4064
|
* Provides the user with additional descriptive text for the form element.
|
|
4064
4065
|
*/
|
|
4065
|
-
export declare const HvInfoMessage: (props: HvInfoMessageProps) =>
|
|
4066
|
+
export declare const HvInfoMessage: (props: HvInfoMessageProps) => JSX_3.Element;
|
|
4066
4067
|
|
|
4067
4068
|
export declare type HvInfoMessageClasses = ExtractNames<typeof useClasses_9>;
|
|
4068
4069
|
|
|
@@ -4079,7 +4080,7 @@ export declare interface HvInfoMessageProps extends HvTypographyProps<"label"> {
|
|
|
4079
4080
|
* An Inline Editor allows the user to edit a record without making a major switch
|
|
4080
4081
|
* between viewing and editing, making it an efficient method of updating a record.
|
|
4081
4082
|
*/
|
|
4082
|
-
export declare const HvInlineEditor: (props: HvInlineEditorProps) =>
|
|
4083
|
+
export declare const HvInlineEditor: (props: HvInlineEditorProps) => JSX_3.Element;
|
|
4083
4084
|
|
|
4084
4085
|
export declare type HvInlineEditorClasses = ExtractNames<typeof useClasses_78>;
|
|
4085
4086
|
|
|
@@ -4259,7 +4260,7 @@ export declare interface HvKnobProperty {
|
|
|
4259
4260
|
* and its success/failure against a given target. KPIs are the first item read on a dashboard.
|
|
4260
4261
|
* Communicates simple, immediate and vital information for operational decision making.
|
|
4261
4262
|
*/
|
|
4262
|
-
export declare const HvKpi: (props: HvKpiProps) =>
|
|
4263
|
+
export declare const HvKpi: (props: HvKpiProps) => JSX_3.Element;
|
|
4263
4264
|
|
|
4264
4265
|
export declare type HvKpiClasses = ExtractNames<typeof useClasses_79>;
|
|
4265
4266
|
|
|
@@ -4299,7 +4300,7 @@ export declare interface HvKpiProps extends HvBaseProps<HTMLDivElement, "childre
|
|
|
4299
4300
|
/**
|
|
4300
4301
|
* Provides the user with a recognizable name for a given form element.
|
|
4301
4302
|
*/
|
|
4302
|
-
export declare const HvLabel: (props: HvLabelProps) =>
|
|
4303
|
+
export declare const HvLabel: (props: HvLabelProps) => JSX_3.Element;
|
|
4303
4304
|
|
|
4304
4305
|
export declare type HvLabelClasses = ExtractNames<typeof useClasses_8>;
|
|
4305
4306
|
|
|
@@ -4318,7 +4319,7 @@ export declare interface HvLabelProps extends HvTypographyProps<"label"> {
|
|
|
4318
4319
|
classes?: HvLabelClasses;
|
|
4319
4320
|
}
|
|
4320
4321
|
|
|
4321
|
-
export declare const HvLeftControl: ({ id, classes: classesProp, className, children, placeholder, onSearch, hideSearch, searchProps, ...others }: HvLeftControlProps) =>
|
|
4322
|
+
export declare const HvLeftControl: ({ id, classes: classesProp, className, children, placeholder, onSearch, hideSearch, searchProps, ...others }: HvLeftControlProps) => JSX_3.Element;
|
|
4322
4323
|
|
|
4323
4324
|
export declare type HvLeftControlClasses = ExtractNames<typeof useClasses_52>;
|
|
4324
4325
|
|
|
@@ -4335,7 +4336,7 @@ export declare interface HvLeftControlProps extends HvBaseProps {
|
|
|
4335
4336
|
classes?: HvLeftControlClasses;
|
|
4336
4337
|
}
|
|
4337
4338
|
|
|
4338
|
-
export declare const HvLink: (props: HvLinkProps) =>
|
|
4339
|
+
export declare const HvLink: (props: HvLinkProps) => JSX_3.Element;
|
|
4339
4340
|
|
|
4340
4341
|
export declare type HvLinkClasses = ExtractNames<typeof useClasses_80>;
|
|
4341
4342
|
|
|
@@ -4351,7 +4352,7 @@ export declare interface HvLinkProps extends HvBaseProps<HTMLAnchorElement, "onC
|
|
|
4351
4352
|
/**
|
|
4352
4353
|
* Component used to show a set of related data to the user.
|
|
4353
4354
|
*/
|
|
4354
|
-
export declare const HvList: (props: HvListProps) =>
|
|
4355
|
+
export declare const HvList: (props: HvListProps) => JSX_3.Element | null;
|
|
4355
4356
|
|
|
4356
4357
|
export declare type HvListClasses = ExtractNames<typeof useClasses_81>;
|
|
4357
4358
|
|
|
@@ -4504,7 +4505,7 @@ export declare interface HvListValue extends HvExtraProps {
|
|
|
4504
4505
|
/**
|
|
4505
4506
|
* Loading provides feedback about a process that is taking place in the application.
|
|
4506
4507
|
*/
|
|
4507
|
-
export declare const HvLoading: (props: HvLoadingProps) =>
|
|
4508
|
+
export declare const HvLoading: (props: HvLoadingProps) => JSX_3.Element;
|
|
4508
4509
|
|
|
4509
4510
|
export declare type HvLoadingClasses = ExtractNames<typeof useClasses_82>;
|
|
4510
4511
|
|
|
@@ -4524,7 +4525,7 @@ export declare interface HvLoadingProps extends HvBaseProps {
|
|
|
4524
4525
|
/**
|
|
4525
4526
|
* Container layout for the login form.
|
|
4526
4527
|
*/
|
|
4527
|
-
export declare const HvLogin: (props: HvLoginProps) =>
|
|
4528
|
+
export declare const HvLogin: (props: HvLoginProps) => JSX_3.Element;
|
|
4528
4529
|
|
|
4529
4530
|
export declare type HvLoginClasses = ExtractNames<typeof useClasses_83>;
|
|
4530
4531
|
|
|
@@ -4551,7 +4552,7 @@ declare interface HvMetaBase<D extends object = Record<string, unknown>, H exten
|
|
|
4551
4552
|
userProps: any;
|
|
4552
4553
|
}
|
|
4553
4554
|
|
|
4554
|
-
export declare const HvMultiButton: (props: HvMultiButtonProps) =>
|
|
4555
|
+
export declare const HvMultiButton: (props: HvMultiButtonProps) => JSX_3.Element;
|
|
4555
4556
|
|
|
4556
4557
|
export declare type HvMultiButtonClasses = ExtractNames<typeof useClasses_84>;
|
|
4557
4558
|
|
|
@@ -4588,7 +4589,7 @@ export declare const hvNumberFallback: (value: any) => number | "—";
|
|
|
4588
4589
|
/**
|
|
4589
4590
|
* This component generates a tooltip whenever the text is overflowed.
|
|
4590
4591
|
*/
|
|
4591
|
-
export declare const HvOverflowTooltip: (props: HvOverflowTooltipProps) =>
|
|
4592
|
+
export declare const HvOverflowTooltip: (props: HvOverflowTooltipProps) => JSX_3.Element;
|
|
4592
4593
|
|
|
4593
4594
|
export declare type HvOverflowTooltipClasses = ExtractNames<typeof useClasses_85>;
|
|
4594
4595
|
|
|
@@ -4611,7 +4612,7 @@ export declare interface HvOverflowTooltipProps extends HvBaseProps {
|
|
|
4611
4612
|
* Pagination is the process of dividing a document into discrete pages. It relates to how users interact
|
|
4612
4613
|
* with structured content on a website or application.
|
|
4613
4614
|
*/
|
|
4614
|
-
export declare const HvPagination: (props: HvPaginationProps) =>
|
|
4615
|
+
export declare const HvPagination: (props: HvPaginationProps) => JSX_3.Element;
|
|
4615
4616
|
|
|
4616
4617
|
export declare type HvPaginationClasses = ExtractNames<typeof useClasses_43>;
|
|
4617
4618
|
|
|
@@ -4668,7 +4669,7 @@ export declare interface HvPanelProps extends HvBaseProps {
|
|
|
4668
4669
|
|
|
4669
4670
|
export declare type HvPolarizedColorKeys = "positive" | "positive_120" | "positive_80" | "warning" | "warning_120" | "warning_140" | "negative" | "cat21" | "cat22" | "cat23" | "cat24" | "cat25" | "cat26" | "cat27" | "cat28" | "catastrophic";
|
|
4670
4671
|
|
|
4671
|
-
export declare const HvProgressBar: (props: HvProgressBarProps) =>
|
|
4672
|
+
export declare const HvProgressBar: (props: HvProgressBarProps) => JSX_3.Element;
|
|
4672
4673
|
|
|
4673
4674
|
export declare type HvProgressBarClasses = ExtractNames<typeof useClasses_88>;
|
|
4674
4675
|
|
|
@@ -4717,7 +4718,7 @@ export declare type HvPropGetter<D extends object = Record<string, unknown>, H e
|
|
|
4717
4718
|
/**
|
|
4718
4719
|
* Enables theming capabilities and makes cross-component theme properties available down the tree.
|
|
4719
4720
|
*/
|
|
4720
|
-
export declare const HvProvider: ({ children, rootElementId, cssBaseline, cssTheme, themes, theme, colorMode, classNameKey, }: HvProviderProps) =>
|
|
4721
|
+
export declare const HvProvider: ({ children, rootElementId, cssBaseline, cssTheme, themes, theme, colorMode, classNameKey, }: HvProviderProps) => JSX_3.Element;
|
|
4721
4722
|
|
|
4722
4723
|
export declare interface HvProviderProps {
|
|
4723
4724
|
/**
|
|
@@ -4778,7 +4779,7 @@ export declare interface HvProviderProps {
|
|
|
4778
4779
|
*
|
|
4779
4780
|
* Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/widgets-query-builder-usage--docs) to learn more about this component.
|
|
4780
4781
|
*/
|
|
4781
|
-
export declare const HvQueryBuilder: (props: HvQueryBuilderProps) =>
|
|
4782
|
+
export declare const HvQueryBuilder: (props: HvQueryBuilderProps) => JSX_3.Element;
|
|
4782
4783
|
|
|
4783
4784
|
export declare interface HvQueryBuilderAttribute extends Record<string, unknown> {
|
|
4784
4785
|
id?: string;
|
|
@@ -5336,7 +5337,7 @@ export declare interface HvRadioProps extends Omit<RadioProps, "onChange" | "cla
|
|
|
5336
5337
|
|
|
5337
5338
|
export declare type HvRadioStatus = "standBy" | "valid" | "invalid";
|
|
5338
5339
|
|
|
5339
|
-
export declare const HvRightControl: ({ id, classes: classesProp, className, children, values, onSort, hideSortBy, sortProps, ...others }: HvRightControlProps) =>
|
|
5340
|
+
export declare const HvRightControl: ({ id, classes: classesProp, className, children, values, onSort, hideSortBy, sortProps, ...others }: HvRightControlProps) => JSX_3.Element;
|
|
5340
5341
|
|
|
5341
5342
|
export declare type HvRightControlClasses = ExtractNames<typeof useClasses_53>;
|
|
5342
5343
|
|
|
@@ -5375,7 +5376,7 @@ declare type HvRowPropGetter<D extends object = Record<string, unknown>, H exten
|
|
|
5375
5376
|
/**
|
|
5376
5377
|
* The horizontal scroll to element can be used to quickly navigate in a page.
|
|
5377
5378
|
*/
|
|
5378
|
-
export declare const HvScrollToHorizontal: (props: HvScrollToHorizontalProps) =>
|
|
5379
|
+
export declare const HvScrollToHorizontal: (props: HvScrollToHorizontalProps) => JSX_3.Element;
|
|
5379
5380
|
|
|
5380
5381
|
export declare type HvScrollToHorizontalClasses = ExtractNames<typeof useClasses_94>;
|
|
5381
5382
|
|
|
@@ -5428,7 +5429,7 @@ export declare type HvScrollToTooltipPositions = "left" | "right" | "top" | "bot
|
|
|
5428
5429
|
/**
|
|
5429
5430
|
* The vertical scroll to element can be used to quickly navigate in a page.
|
|
5430
5431
|
*/
|
|
5431
|
-
export declare const HvScrollToVertical: (props: HvScrollToVerticalProps) =>
|
|
5432
|
+
export declare const HvScrollToVertical: (props: HvScrollToVerticalProps) => JSX_3.Element;
|
|
5432
5433
|
|
|
5433
5434
|
export declare type HvScrollToVerticalClasses = ExtractNames<typeof useClasses_92>;
|
|
5434
5435
|
|
|
@@ -5578,7 +5579,7 @@ export declare type HvSemanticColors = Record<HvSemanticColorKeys, string>;
|
|
|
5578
5579
|
|
|
5579
5580
|
export declare type HvSequentialColorKeys = "cat1" | "cat1_100" | "cat1_200" | "cat1_300" | "cat1_400" | "cat1_500" | "cat1_600" | "cat1_700" | "cat1_800" | "cat1_900";
|
|
5580
5581
|
|
|
5581
|
-
export declare const HvSimpleGrid: (props: HvSimpleGridProps) =>
|
|
5582
|
+
export declare const HvSimpleGrid: (props: HvSimpleGridProps) => JSX_3.Element;
|
|
5582
5583
|
|
|
5583
5584
|
export declare type HvSimpleGridClasses = ExtractNames<typeof useClasses_96>;
|
|
5584
5585
|
|
|
@@ -5755,7 +5756,7 @@ export declare interface HvSliderProps extends HvBaseProps<HTMLDivElement, "onCh
|
|
|
5755
5756
|
* One is the HvSnackbar, which wraps all the positioning, transition, auto hide, etc.
|
|
5756
5757
|
* The other is the HvSnackbarContent, which allows a finer control and customization of the content of the Snackbar.
|
|
5757
5758
|
*/
|
|
5758
|
-
export declare const HvSnackbar: ({ classes: classesProp, className, id, open, onClose, label, anchorOrigin, autoHideDuration, variant, showIcon, customIcon, action, actionCallback, transitionDuration, transitionDirection, offset, snackbarContentProps, ...others }: HvSnackbarProps) =>
|
|
5759
|
+
export declare const HvSnackbar: ({ classes: classesProp, className, id, open, onClose, label, anchorOrigin, autoHideDuration, variant, showIcon, customIcon, action, actionCallback, transitionDuration, transitionDirection, offset, snackbarContentProps, ...others }: HvSnackbarProps) => JSX_3.Element;
|
|
5759
5760
|
|
|
5760
5761
|
export declare type HvSnackbarClasses = ExtractNames<typeof useClasses_98>;
|
|
5761
5762
|
|
|
@@ -5815,7 +5816,7 @@ export declare interface HvSnackbarProps extends Omit<SnackbarProps, "action" |
|
|
|
5815
5816
|
ref?: SnackbarProps["ref"];
|
|
5816
5817
|
}
|
|
5817
5818
|
|
|
5818
|
-
export declare const HvSnackbarProvider: ({ children, notistackClassesOverride, maxSnack, autoHideDuration, anchorOrigin, classes: classesProp, className, ...others }: HvSnackbarProviderProps) =>
|
|
5819
|
+
export declare const HvSnackbarProvider: ({ children, notistackClassesOverride, maxSnack, autoHideDuration, anchorOrigin, classes: classesProp, className, ...others }: HvSnackbarProviderProps) => JSX_3.Element;
|
|
5819
5820
|
|
|
5820
5821
|
export declare type HvSnackbarProviderClasses = ExtractNames<typeof useClasses_100>;
|
|
5821
5822
|
|
|
@@ -5842,7 +5843,7 @@ export declare type HvSnackbarVariant = "default" | "success" | "warning" | "err
|
|
|
5842
5843
|
*
|
|
5843
5844
|
* It also allows the specification of the spacing between the stack elements and the addition of a divider between the elements.
|
|
5844
5845
|
*/
|
|
5845
|
-
export declare const HvStack: (props: HvStackProps) =>
|
|
5846
|
+
export declare const HvStack: (props: HvStackProps) => JSX_3.Element;
|
|
5846
5847
|
|
|
5847
5848
|
export declare interface HvStackBreakpoints extends Record<HvBreakpoints, string> {
|
|
5848
5849
|
}
|
|
@@ -6018,7 +6019,7 @@ export declare interface HvSwitchProps extends Omit<SwitchProps, "onChange" | "c
|
|
|
6018
6019
|
component?: SwitchProps["component"];
|
|
6019
6020
|
}
|
|
6020
6021
|
|
|
6021
|
-
export declare const HvTab: (props: HvTabProps) =>
|
|
6022
|
+
export declare const HvTab: (props: HvTabProps) => JSX_3.Element;
|
|
6022
6023
|
|
|
6023
6024
|
export declare type HvTabClasses = ExtractNames<typeof useClasses_103>;
|
|
6024
6025
|
|
|
@@ -6353,7 +6354,7 @@ export declare interface HvTabProps extends Omit<TabProps, "children"> {
|
|
|
6353
6354
|
* A Tab is a graphical control element that allows multiple documents or panels to be contained within a single window.
|
|
6354
6355
|
* Tabs can be used as a navigational widget for switching between sets of documents.
|
|
6355
6356
|
*/
|
|
6356
|
-
export declare const HvTabs: (props: HvTabsProps) =>
|
|
6357
|
+
export declare const HvTabs: (props: HvTabsProps) => JSX_3.Element;
|
|
6357
6358
|
|
|
6358
6359
|
export declare type HvTabsClasses = ExtractNames<typeof useClasses_108>;
|
|
6359
6360
|
|
|
@@ -6643,7 +6644,7 @@ export declare interface HvThemePalette {
|
|
|
6643
6644
|
support: HvSupportColors;
|
|
6644
6645
|
}
|
|
6645
6646
|
|
|
6646
|
-
export declare const HvThemeProvider: ({ children, themes: themesList, theme, emotionCache, colorMode, themeRootId: rootId, }: HvThemeProviderProps) =>
|
|
6647
|
+
export declare const HvThemeProvider: ({ children, themes: themesList, theme, emotionCache, colorMode, themeRootId: rootId, }: HvThemeProviderProps) => JSX_3.Element;
|
|
6647
6648
|
|
|
6648
6649
|
declare interface HvThemeProviderProps {
|
|
6649
6650
|
children: React.ReactNode;
|
|
@@ -6657,7 +6658,7 @@ declare interface HvThemeProviderProps {
|
|
|
6657
6658
|
/**
|
|
6658
6659
|
* The HvTimeAgo component implements the Design System relative time format guidelines.
|
|
6659
6660
|
*/
|
|
6660
|
-
export declare const HvTimeAgo: <C extends ElementType<any> = "p">(props: {
|
|
6661
|
+
export declare const HvTimeAgo: <C extends ElementType<any, keyof JSX_2.IntrinsicElements> = "p">(props: {
|
|
6661
6662
|
/**
|
|
6662
6663
|
* The timestamp to format, in seconds or milliseconds.
|
|
6663
6664
|
* Defaults to `emptyElement` if value is null or 0
|
|
@@ -6947,7 +6948,7 @@ export declare interface HvTreeViewProps<Multiple extends boolean | undefined> e
|
|
|
6947
6948
|
/**
|
|
6948
6949
|
* Typography component is used to render text and paragraphs within an interface.
|
|
6949
6950
|
*/
|
|
6950
|
-
export declare const HvTypography: <C extends ElementType<any> = "p">(props: {
|
|
6951
|
+
export declare const HvTypography: <C extends ElementType<any, keyof JSX_2.IntrinsicElements> = "p">(props: {
|
|
6951
6952
|
/** Use the variant prop to change the visual style of the Typography. */
|
|
6952
6953
|
variant?: "display" | "title1" | "title2" | "title3" | "title4" | "label" | "body" | "caption1" | "caption2" | HvTypographyLegacyVariants | undefined;
|
|
6953
6954
|
/** If `true` the typography will display the look of a link. */
|
|
@@ -7086,9 +7087,9 @@ export declare interface HvValidationMessages {
|
|
|
7086
7087
|
*
|
|
7087
7088
|
* Both modes are available via the `mode` property and each app should choose the most appropriate.
|
|
7088
7089
|
*/
|
|
7089
|
-
export declare const HvVerticalNavigation: (props: HvVerticalNavigationProps) =>
|
|
7090
|
+
export declare const HvVerticalNavigation: (props: HvVerticalNavigationProps) => JSX_3.Element;
|
|
7090
7091
|
|
|
7091
|
-
export declare const HvVerticalNavigationAction: ({ className, classes: classesProp, id, label, icon, onClick, ...others }: HvVerticalNavigationActionProps) =>
|
|
7092
|
+
export declare const HvVerticalNavigationAction: ({ className, classes: classesProp, id, label, icon, onClick, ...others }: HvVerticalNavigationActionProps) => JSX_3.Element;
|
|
7092
7093
|
|
|
7093
7094
|
export declare type HvVerticalNavigationActionClasses = ExtractNames<typeof useClasses_119>;
|
|
7094
7095
|
|
|
@@ -7119,7 +7120,7 @@ export declare interface HvVerticalNavigationActionProps {
|
|
|
7119
7120
|
onClick?: MouseEventHandler<HTMLElement>;
|
|
7120
7121
|
}
|
|
7121
7122
|
|
|
7122
|
-
export declare const HvVerticalNavigationActions: ({ className, classes: classesProp, id, children, ...others }: HvVerticalNavigationActionsProps) =>
|
|
7123
|
+
export declare const HvVerticalNavigationActions: ({ className, classes: classesProp, id, children, ...others }: HvVerticalNavigationActionsProps) => JSX_3.Element;
|
|
7123
7124
|
|
|
7124
7125
|
export declare type HvVerticalNavigationActionsClasses = ExtractNames<typeof useClasses_118>;
|
|
7125
7126
|
|
|
@@ -7144,7 +7145,7 @@ export declare interface HvVerticalNavigationActionsProps {
|
|
|
7144
7145
|
|
|
7145
7146
|
export declare type HvVerticalNavigationClasses = ExtractNames<typeof useClasses_116>;
|
|
7146
7147
|
|
|
7147
|
-
export declare const HvVerticalNavigationHeader: ({ title, openIcon: openIconProp, closeIcon: closeIconProp, collapseButtonProps, backButtonProps, className, classes: classesProp, onCollapseButtonClick, ...others }: HvVerticalNavigationHeaderProps) =>
|
|
7148
|
+
export declare const HvVerticalNavigationHeader: ({ title, openIcon: openIconProp, closeIcon: closeIconProp, collapseButtonProps, backButtonProps, className, classes: classesProp, onCollapseButtonClick, ...others }: HvVerticalNavigationHeaderProps) => JSX_3.Element | null;
|
|
7148
7149
|
|
|
7149
7150
|
export declare type HvVerticalNavigationHeaderClasses = ExtractNames<typeof useClasses_117>;
|
|
7150
7151
|
|
|
@@ -7231,7 +7232,7 @@ export declare interface HvVerticalNavigationProps {
|
|
|
7231
7232
|
useIcons?: boolean;
|
|
7232
7233
|
}
|
|
7233
7234
|
|
|
7234
|
-
export declare const HvVerticalNavigationSlider: (props: HvVerticalNavigationSliderProps) =>
|
|
7235
|
+
export declare const HvVerticalNavigationSlider: (props: HvVerticalNavigationSliderProps) => JSX_3.Element;
|
|
7235
7236
|
|
|
7236
7237
|
export declare type HvVerticalNavigationSliderClasses = ExtractNames<typeof useClasses_121>;
|
|
7237
7238
|
|
|
@@ -7271,7 +7272,7 @@ export declare interface HvVerticalNavigationSliderProps {
|
|
|
7271
7272
|
forwardButtonAriaLabel?: string;
|
|
7272
7273
|
}
|
|
7273
7274
|
|
|
7274
|
-
export declare const HvVerticalNavigationTree: ({ id, className, classes: classesProp, data, mode, collapsible, expanded: expandedProp, defaultExpanded, onToggle, selected: selectedProp, defaultSelected, onChange, sliderForwardButtonAriaLabel, ...others }: HvVerticalNavigationTreeProps) =>
|
|
7275
|
+
export declare const HvVerticalNavigationTree: ({ id, className, classes: classesProp, data, mode, collapsible, expanded: expandedProp, defaultExpanded, onToggle, selected: selectedProp, defaultSelected, onChange, sliderForwardButtonAriaLabel, ...others }: HvVerticalNavigationTreeProps) => JSX_3.Element;
|
|
7275
7276
|
|
|
7276
7277
|
export declare type HvVerticalNavigationTreeClasses = ExtractNames<typeof useClasses_120>;
|
|
7277
7278
|
|
|
@@ -7519,7 +7520,7 @@ export declare type HvVerticalScrollListItemClasses = ExtractNames<typeof useCla
|
|
|
7519
7520
|
/**
|
|
7520
7521
|
* Provides the user with a descriptive text, signaling an error, for when the form element is in an invalid state.
|
|
7521
7522
|
*/
|
|
7522
|
-
export declare const HvWarningText: (props: HvWarningTextProps) =>
|
|
7523
|
+
export declare const HvWarningText: (props: HvWarningTextProps) => JSX_3.Element;
|
|
7523
7524
|
|
|
7524
7525
|
export declare type HvWarningTextClasses = ExtractNames<typeof useClasses_10>;
|
|
7525
7526
|
|
|
@@ -7542,7 +7543,7 @@ export declare interface HvWarningTextProps extends HvBaseProps {
|
|
|
7542
7543
|
classes?: HvWarningTextClasses;
|
|
7543
7544
|
}
|
|
7544
7545
|
|
|
7545
|
-
export declare const iconVariant: (variant: "success" | "warning" | "error" | "info" | "default", color?: IconBaseProps["color"], semantic?: true) =>
|
|
7546
|
+
export declare const iconVariant: (variant: "success" | "warning" | "error" | "info" | "default", color?: IconBaseProps["color"], semantic?: true) => JSX_3.Element | null;
|
|
7546
7547
|
|
|
7547
7548
|
declare type IdType<D> = StringKey<D> | string;
|
|
7548
7549
|
|
|
@@ -11070,8 +11071,8 @@ export declare const warningTextClasses: {
|
|
|
11070
11071
|
topBorder: "HvWarningText-topBorder";
|
|
11071
11072
|
};
|
|
11072
11073
|
|
|
11073
|
-
export declare const withTooltip: (Component: React.FunctionComponent, label: string | undefined, placement: HvTooltipPlacementType, hideTooltip?: ((event: React.MouseEvent<HTMLDivElement>) => boolean) | undefined, tooltipProps?: Partial<HvTooltipProps>, tooltipContainerProps?: HvBaseProps) => (props: any) =>
|
|
11074
|
+
export declare const withTooltip: (Component: React.FunctionComponent, label: string | undefined, placement: HvTooltipPlacementType, hideTooltip?: ((event: React.MouseEvent<HTMLDivElement>) => boolean) | undefined, tooltipProps?: Partial<HvTooltipProps>, tooltipContainerProps?: HvBaseProps) => (props: any) => JSX_3.Element;
|
|
11074
11075
|
|
|
11075
|
-
export declare const wrapperTooltip: (hasTooltips: boolean, Component: any, label: any) => ((props: any) =>
|
|
11076
|
+
export declare const wrapperTooltip: (hasTooltips: boolean, Component: any, label: any) => ((props: any) => JSX_3.Element) | (() => any);
|
|
11076
11077
|
|
|
11077
11078
|
export { }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-core",
|
|
3
|
-
"version": "5.48.
|
|
3
|
+
"version": "5.48.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Hitachi Vantara UI Kit Team",
|
|
6
6
|
"description": "Core React components for the NEXT Design System.",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"access": "public",
|
|
64
64
|
"directory": "package"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "55151d9d8e1f3fd2ca2407efa1446ea50095f5ed",
|
|
67
67
|
"main": "dist/cjs/index.cjs",
|
|
68
68
|
"exports": {
|
|
69
69
|
".": {
|