@zipkito/gallery 1.0.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.
Potentially problematic release.
This version of @zipkito/gallery might be problematic. Click here for more details.
- package/dist/index.d.mts +189 -0
- package/dist/index.d.ts +189 -0
- package/dist/index.js +900 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +860 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/MDXGallery/MDXGallery.tsx","../src/MDXGallery/MDXGallery.styled.ts","../src/SlideGallery/SlideGallery.tsx","../src/ImageSlider/ImageSlider.tsx","../src/ImageSlider/ImageSlider.styled.ts","../src/ImageSlider/components/ImageSliderControls/ImageSliderControls.tsx","../src/ImageSlider/components/ImageSliderControls/ImageSliderControls.styled.ts","../src/ImageSlider/components/ArrowButton/ArrowButton.tsx","../src/SlideGallery/SlideGallery.styled.ts","../src/IframeGallery/IframeGallery.tsx","../src/IframeGallery/IframeGallery.styled.ts","../src/types/galleries.ts"],"sourcesContent":["import * as runtime from \"react/jsx-runtime\";\nimport { compile, run } from \"@mdx-js/mdx\";\nimport { getSlotSx, Overlay } from \"@zipkito/shared\";\nimport { Container as MuiContainer } from \"@mui/material\";\nimport { memo, useEffect, useMemo, useState, type FC } from \"react\";\n\nimport type { MDXGalleryProps } from \"./MDXGallery.types\";\nimport { MDXGalleryErrorMessage, MDXGalleryLoadingMessage, MDXGalleryRoot } from \"./MDXGallery.styled\";\n\ntype LoadStatus = \"idle\" | \"loading\" | \"error\" | \"ready\";\n\nexport const MDXGallery = memo((props: MDXGalleryProps) => {\n const { gallery, mdxContext, actions, slots = {}, slotProps = {}, overlayProps = {}, sx } = props;\n\n const [Content, setContent] = useState<FC | null>(null);\n const [status, setStatus] = useState<LoadStatus>(\"idle\");\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (!gallery.visible || !gallery.file) {\n setStatus(\"idle\");\n setContent(null);\n setError(null);\n return;\n }\n\n let cancelled = false;\n\n const load = async () => {\n try {\n setStatus(\"loading\");\n setError(null);\n\n const source = await mdxContext.loadSource(gallery.file!);\n\n const compiled = await compile(source, {\n outputFormat: \"function-body\",\n providerImportSource: \"@mdx-js/react\",\n });\n\n const evaluated = await run(String(compiled), {\n ...runtime,\n\n useMDXComponents: () => mdxContext.components ?? {},\n });\n\n if (!cancelled && typeof evaluated.default === \"function\") {\n setContent(() => evaluated.default as FC);\n setStatus(\"ready\");\n }\n } catch (err: unknown) {\n if (!cancelled) {\n setError(err instanceof Error ? err.message : \"Failed to load MDX\");\n setStatus(\"error\");\n }\n }\n };\n\n load();\n return () => {\n cancelled = true;\n };\n }, [gallery.file, gallery.visible, mdxContext]);\n\n if (!gallery.visible) return null;\n\n const Root = slots.root ?? MDXGalleryRoot;\n const Container = slots.container ?? MuiContainer;\n const LoadingMessage = slots.loadingMessage ?? MDXGalleryLoadingMessage;\n const ErrorMessage = slots.errorMessage ?? MDXGalleryErrorMessage;\n\n const rootProps = useMemo(\n () => ({\n ...slotProps.root,\n sx: getSlotSx(\"root\", sx),\n }),\n [slotProps.root, sx]\n );\n\n const containerProps = useMemo(\n () => ({\n ...slotProps.container,\n sx: getSlotSx(\"container\", sx),\n }),\n [slotProps.container, sx]\n );\n\n const loadingMessageProps = useMemo(\n () => ({\n ...slotProps.loadingMessage,\n sx: getSlotSx(\"loadingMessage\", sx),\n }),\n [slotProps.loadingMessage, sx]\n );\n\n const errorMessageProps = useMemo(\n () => ({\n ...slotProps.errorMessage,\n sx: getSlotSx(\"errorMessage\", sx),\n }),\n [slotProps.errorMessage, sx]\n );\n\n return (\n <Overlay visible={gallery.visible} {...overlayProps}>\n <Root {...rootProps}>\n <Container maxWidth=\"xl\" {...containerProps}>\n {status === \"loading\" && (\n <LoadingMessage variant=\"subh2\" {...loadingMessageProps}>\n Loading content...\n </LoadingMessage>\n )}\n\n {status === \"error\" && (\n <ErrorMessage variant=\"subh2\" {...errorMessageProps}>\n Error loading content: {error}\n </ErrorMessage>\n )}\n\n {status === \"ready\" && Content && <Content />}\n </Container>\n </Root>\n {actions}\n </Overlay>\n );\n});\n\nMDXGallery.displayName = \"MDXGallery\";\n","import { styled } from \"@mui/material/styles\";\nimport type { StyledComponent } from \"@emotion/styled\";\nimport { Typography, type TypographyProps } from \"@mui/material\";\n\nexport const MDXGalleryRoot: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"MDXGallery\",\n slot: \"Root\",\n})(({ theme }) => ({\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n padding: \"24px\",\n background: \"radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 45%)\",\n scrollbarGutter: \"stable\",\n scrollbarColor: `${theme.palette.primary.main} rgba(255, 255, 255, 0.3)`,\n scrollbarWidth: \"thin\",\n position: \"relative\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n}));\n\nexport const MDXGalleryLoadingMessage: StyledComponent<TypographyProps, {}, {}> = styled(Typography, {\n name: \"MDXGallery\",\n slot: \"LoadingMessage\",\n})(() => ({\n textAlign: \"center\",\n padding: \"40px\",\n color: \"#666\",\n}));\n\nexport const MDXGalleryErrorMessage: StyledComponent<TypographyProps, {}, {}> = styled(Typography, {\n name: \"MDXGallery\",\n slot: \"ErrorMessage\",\n})(() => ({\n textAlign: \"center\",\n padding: \"40px\",\n color: \"#d32f2f\",\n}));\n","import { memo, useMemo } from \"react\";\nimport { getSlotSx, Overlay } from \"@zipkito/shared\";\n\nimport { ImageSlider } from \"../ImageSlider\";\nimport { SlideGalleryRoot } from \"./SlideGallery.styled\";\nimport type { SlideGalleryProps } from \"./SlideGallery.types\";\n\nexport const SlideGallery = memo((props: SlideGalleryProps) => {\n const { gallery, slots = {}, slotProps = {}, imageSliderProps, controlsProps, overlayProps, sx } = props;\n\n const slides = useMemo(\n () =>\n gallery.slides.map((slide, idx) => ({\n ...slide,\n alt: slide.title ?? `Slide ${idx + 1}`,\n })),\n [gallery.slides]\n );\n\n if (!gallery.visible || slides.length === 0) return null;\n\n const Root = slots.root ?? SlideGalleryRoot;\n\n const rootProps = useMemo(\n () => ({\n ...slotProps.root,\n sx: getSlotSx(\"root\", sx),\n }),\n [slotProps.root, sx]\n );\n\n return (\n <Overlay visible={gallery.visible} {...overlayProps}>\n <Root {...rootProps}>\n <ImageSlider slides={slides} {...imageSliderProps} controlsProps={controlsProps} />\n </Root>\n </Overlay>\n );\n});\n\nSlideGallery.displayName = \"SlideGallery\";\n","import { Box } from \"@mui/material\";\nimport { ExternalLink } from \"lucide-react\";\nimport { getSlotSx } from \"@zipkito/shared\";\nimport { useState, useRef, useCallback, useMemo, useEffect } from \"react\";\n\nimport {\n ImageSliderSlideLink,\n ImageSliderSlideEmbed,\n ImageSliderSlideDescription,\n ImageSliderSlideImage,\n ImageSliderSlideTitle,\n ImageSliderTextWrapper,\n ImageSliderImageWrapper,\n ImageSliderSlideItem,\n ImageSliderRoot,\n ImageSliderSlidesWrapper,\n ImageSliderSliderWrapper,\n ImageSliderSlideContent,\n} from \"./ImageSlider.styled\";\nimport type { ImageSliderProps } from \"./ImageSlider.types\";\nimport { ImageSliderControls } from \"./components/ImageSliderControls\";\n\nexport const ImageSlider = (props: ImageSliderProps) => {\n const {\n loop = false,\n showDots = true,\n showArrows = true,\n slides,\n className,\n transitionDuration = 500,\n onSlideChange,\n slots = {},\n slotProps = {},\n controlsProps = {},\n sx,\n } = props;\n\n const isTransitioningRef = useRef(false);\n const slidesWrapperRef = useRef<HTMLDivElement>(null);\n\n const [, forceUpdate] = useState(0);\n const [currentSlide, setCurrentSlide] = useState(0);\n\n const slidesCount = slides.length;\n\n const canGoNext = loop || currentSlide < slidesCount - 1;\n const canGoPrev = loop || currentSlide > 0;\n\n const goToSlide = useCallback(\n (index: number) => {\n if (isTransitioningRef.current || index === currentSlide || slidesCount === 0) return;\n\n let newIndex = index;\n\n if (loop) {\n if (index < 0) newIndex = slidesCount - 1;\n if (index >= slidesCount) newIndex = 0;\n }\n\n if (newIndex < 0 || newIndex >= slidesCount) return;\n\n isTransitioningRef.current = true;\n setCurrentSlide(newIndex);\n onSlideChange?.(newIndex);\n\n setTimeout(() => {\n isTransitioningRef.current = false;\n }, transitionDuration);\n },\n [currentSlide, slidesCount, transitionDuration, onSlideChange, loop]\n );\n\n const next = useCallback(() => goToSlide(currentSlide + 1), [currentSlide, goToSlide]);\n const prev = useCallback(() => goToSlide(currentSlide - 1), [currentSlide, goToSlide]);\n\n useEffect(() => {\n const handleResize = () => forceUpdate((prev) => prev + 1);\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n useEffect(() => {\n const onKey = (e: KeyboardEvent) => {\n if (e.key === \"ArrowLeft\") prev();\n if (e.key === \"ArrowRight\") next();\n };\n window.addEventListener(\"keydown\", onKey);\n return () => window.removeEventListener(\"keydown\", onKey);\n }, [prev, next]);\n\n useEffect(() => {\n const wrapper = slidesWrapperRef.current;\n if (!wrapper) return;\n\n let startX: number | null = null;\n\n const onTouchStart = (e: TouchEvent) => {\n startX = e.touches[0].clientX;\n };\n const onTouchEnd = (e: TouchEvent) => {\n if (startX === null) return;\n const deltaX = e.changedTouches[0].clientX - startX;\n if (Math.abs(deltaX) > 50) {\n if (deltaX > 0) prev();\n else next();\n }\n startX = null;\n };\n wrapper.addEventListener(\"touchstart\", onTouchStart);\n wrapper.addEventListener(\"touchend\", onTouchEnd);\n return () => {\n wrapper.removeEventListener(\"touchstart\", onTouchStart);\n wrapper.removeEventListener(\"touchend\", onTouchEnd);\n };\n }, [prev, next]);\n\n const memoizedSlides = useMemo(() => slides, [slides]);\n\n if (slidesCount === 0) return null;\n\n const Root = slots.root ?? ImageSliderRoot;\n const SliderWrapper = slots.sliderWrapper ?? ImageSliderSliderWrapper;\n const SlidesWrapper = slots.slidesWrapper ?? ImageSliderSlidesWrapper;\n const SlideItem = slots.slideItem ?? ImageSliderSlideItem;\n const SlideContent = slots.slideContent ?? ImageSliderSlideContent;\n const ImageWrapper = slots.imageWrapper ?? ImageSliderImageWrapper;\n const SlideImage = slots.slideImage ?? ImageSliderSlideImage;\n const TextWrapper = slots.textWrapper ?? ImageSliderTextWrapper;\n const SlideTitle = slots.slideTitle ?? ImageSliderSlideTitle;\n const SlideDescription = slots.slideDescription ?? ImageSliderSlideDescription;\n const SlideEmbed = slots.slideEmbed ?? ImageSliderSlideEmbed;\n const SlideLink = slots.slideLink ?? ImageSliderSlideLink;\n const EmptyControls =\n slots.emptyControls ?? (({ height, mt }: { height: number; mt: number }) => <Box height={height} mt={mt} />);\n\n const rootProps = useMemo(\n () => ({\n ...slotProps.root,\n sx: getSlotSx(\"root\", sx),\n }),\n [slotProps.root, sx]\n );\n\n const sliderWrapperProps = useMemo(\n () => ({\n ...slotProps.sliderWrapper,\n sx: getSlotSx(\"sliderWrapper\", sx),\n }),\n [slotProps.sliderWrapper, sx]\n );\n\n const slidesWrapperProps = useMemo(\n () => ({\n ...slotProps.slidesWrapper,\n sx: getSlotSx(\"slidesWrapper\", sx),\n }),\n [slotProps.slidesWrapper, sx]\n );\n\n const slideItemProps = useMemo(\n () => ({\n ...slotProps.slideItem,\n sx: getSlotSx(\"slideItem\", sx),\n }),\n [slotProps.slideItem, sx]\n );\n\n const slideContentProps = useMemo(\n () => ({\n ...slotProps.slideContent,\n sx: getSlotSx(\"slideContent\", sx),\n }),\n [slotProps.slideContent, sx]\n );\n\n const imageWrapperProps = useMemo(\n () => ({\n ...slotProps.imageWrapper,\n sx: getSlotSx(\"imageWrapper\", sx),\n }),\n [slotProps.imageWrapper, sx]\n );\n\n const slideImageProps = useMemo(\n () => ({\n ...slotProps.slideImage,\n sx: getSlotSx(\"slideImage\", sx),\n }),\n [slotProps.slideImage, sx]\n );\n\n const textWrapperProps = useMemo(\n () => ({\n ...slotProps.textWrapper,\n sx: getSlotSx(\"textWrapper\", sx),\n }),\n [slotProps.textWrapper, sx]\n );\n\n const slideTitleProps = useMemo(\n () => ({\n ...slotProps.slideTitle,\n sx: getSlotSx(\"slideTitle\", sx),\n }),\n [slotProps.slideTitle, sx]\n );\n\n const slideDescriptionProps = useMemo(\n () => ({\n ...slotProps.slideDescription,\n sx: getSlotSx(\"slideDescription\", sx),\n }),\n [slotProps.slideDescription, sx]\n );\n\n const slideEmbedProps = useMemo(\n () => ({\n ...slotProps.slideEmbed,\n sx: getSlotSx(\"slideEmbed\", sx),\n }),\n [slotProps.slideEmbed, sx]\n );\n\n const slideLinkProps = useMemo(\n () => ({\n ...slotProps.slideLink,\n sx: getSlotSx(\"slideLink\", sx),\n }),\n [slotProps.slideLink, sx]\n );\n\n const emptyControlsProps = useMemo(\n () => ({\n ...slotProps.emptyControls,\n sx: getSlotSx(\"emptyControls\", sx),\n }),\n [slotProps.emptyControls, sx]\n );\n\n return (\n <Root className={className} {...rootProps}>\n <SliderWrapper {...sliderWrapperProps}>\n <SlidesWrapper\n {...slidesWrapperProps}\n ref={slidesWrapperRef}\n $currentSlide={currentSlide}\n $transitionDuration={transitionDuration}\n >\n {memoizedSlides.map((slide, idx) => (\n <SlideItem {...slideItemProps} key={idx} $isActive={idx === currentSlide}>\n <SlideContent {...slideContentProps}>\n {slide.type !== \"PDF\" ? (\n <>\n <ImageWrapper {...imageWrapperProps}>\n <SlideImage\n src={slide.image}\n alt={slide.alt}\n loading={idx === 0 ? \"eager\" : \"lazy\"}\n draggable={false}\n tabIndex={idx === currentSlide ? 0 : -1}\n {...slideImageProps}\n />\n </ImageWrapper>\n {(slide.title || slide.description) && (\n <TextWrapper {...textWrapperProps}>\n {slide.title && <SlideTitle {...slideTitleProps}>{slide.title}</SlideTitle>}\n {slide.description && (\n <SlideDescription {...slideDescriptionProps}>{slide.description}</SlideDescription>\n )}\n </TextWrapper>\n )}\n </>\n ) : (\n <>\n <SlideEmbed src={slide.file} {...slideEmbedProps} />\n <SlideLink href={slide.file} target=\"_blank\" rel=\"noopener noreferrer\" {...slideLinkProps}>\n <ExternalLink size={24} color=\"#ffffff\" />\n <p>Open file in the new tab</p>\n </SlideLink>\n </>\n )}\n </SlideContent>\n </SlideItem>\n ))}\n </SlidesWrapper>\n </SliderWrapper>\n\n {slidesCount > 1 ? (\n <ImageSliderControls\n showArrows={showArrows}\n showDots={showDots}\n memoizedSlides={memoizedSlides}\n currentSlide={currentSlide}\n goToSlide={goToSlide}\n canGoPrev={canGoPrev}\n canGoNext={canGoNext}\n prev={prev}\n next={next}\n {...controlsProps}\n />\n ) : (\n <EmptyControls height={55} mt={2} {...emptyControlsProps} />\n )}\n </Root>\n );\n};\n\nImageSlider.displayName = \"ImageSlider\";\n","import { styled } from \"@mui/material/styles\";\nimport type { StyledComponent } from \"@emotion/styled\";\n\nexport const ImageSliderRoot: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"ImageSlider\",\n slot: \"Root\",\n})(() => ({\n width: \"100%\",\n height: \"100%\",\n maxWidth: \"100%\",\n maxHeight: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n minHeight: 0,\n position: \"relative\",\n overflow: \"hidden\",\n boxSizing: \"border-box\",\n}));\n\nexport const ImageSliderSliderWrapper: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"ImageSlider\",\n slot: \"SliderWrapper\",\n})(() => ({\n flex: \"1 1 auto\",\n minHeight: 0,\n minWidth: 0,\n display: \"flex\",\n position: \"relative\",\n overflow: \"hidden\",\n width: \"100%\",\n height: \"100%\",\n maxWidth: \"100%\",\n maxHeight: \"100%\",\n boxSizing: \"border-box\",\n\n \"@media (max-width: 768px)\": {\n minHeight: 0,\n minWidth: 0,\n },\n}));\n\nexport const ImageSliderSlidesWrapper: StyledComponent<{ $currentSlide: number; $transitionDuration: number }, {}, {}> =\n styled(\"div\", {\n name: \"ImageSlider\",\n slot: \"SlidesWrapper\",\n })<{ $currentSlide: number; $transitionDuration: number }>(({ $currentSlide, $transitionDuration }) => ({\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n maxHeight: \"100%\",\n transform: `translateX(-${$currentSlide * 100}%)`,\n transition: `transform ${$transitionDuration}ms cubic-bezier(0.4, 0, 0.2, 1)`,\n willChange: \"transform\",\n position: \"relative\",\n }));\n\nexport const ImageSliderSlideItem: StyledComponent<{ $isActive: boolean }, {}, {}> = styled(\"div\", {\n name: \"ImageSlider\",\n slot: \"SlideItem\",\n})<{ $isActive: boolean }>(({ $isActive }) => ({\n minWidth: \"100%\",\n width: \"100%\",\n height: \"100%\",\n maxHeight: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n opacity: $isActive ? 1 : 0.7,\n transition: \"opacity 0.3s\",\n padding: \"0\",\n overflow: \"hidden\",\n position: \"relative\",\n boxSizing: \"border-box\",\n\n \"@media (max-width: 768px)\": {\n padding: \"0\",\n },\n}));\n\nexport const ImageSliderSlideContent: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"ImageSlider\",\n slot: \"SlideContent\",\n})(() => ({\n width: \"100%\",\n height: \"100%\",\n maxWidth: \"100%\",\n maxHeight: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"16px\",\n boxSizing: \"border-box\",\n overflowY: \"auto\",\n overflowX: \"hidden\",\n position: \"relative\",\n\n \"&::-webkit-scrollbar\": {\n width: \"6px\",\n },\n\n \"&::-webkit-scrollbar-track\": {\n background: \"transparent\",\n },\n\n \"&::-webkit-scrollbar-thumb\": {\n background: \"rgba(255, 255, 255, 0.3)\",\n borderRadius: \"3px\",\n\n \"&:hover\": {\n background: \"rgba(255, 255, 255, 0.5)\",\n },\n },\n}));\n\nexport const ImageSliderImageWrapper: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"ImageSlider\",\n slot: \"ImageWrapper\",\n})(() => ({\n flex: \"1 1 auto\",\n minHeight: \"0\",\n minWidth: \"0\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n maxWidth: \"100%\",\n maxHeight: \"100%\",\n overflow: \"hidden\",\n position: \"relative\",\n}));\n\nexport const ImageSliderSlideImage: StyledComponent<{}, {}, {}> = styled(\"img\", {\n name: \"ImageSlider\",\n slot: \"SlideImage\",\n})(() => ({\n maxWidth: \"100%\",\n maxHeight: \"100%\",\n width: \"100%\",\n height: \"100%\",\n objectFit: \"contain\",\n userSelect: \"none\",\n pointerEvents: \"none\",\n display: \"block\",\n position: \"relative\",\n\n \"@media (max-width: 768px)\": {\n maxWidth: \"95%\",\n maxHeight: \"95%\",\n },\n\n \"@media (max-width: 480px)\": {\n maxWidth: \"90%\",\n maxHeight: \"90%\",\n },\n\n \"@media (orientation: landscape) and (max-height: 600px)\": {\n maxHeight: \"85%\",\n },\n}));\n\nexport const ImageSliderTextWrapper: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"ImageSlider\",\n slot: \"TextWrapper\",\n})(() => ({\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n maxWidth: \"800px\",\n flexShrink: 0,\n gap: \"8px\",\n padding: \"0 16px\",\n boxSizing: \"border-box\",\n minWidth: \"0\",\n\n \"@media (max-width: 768px)\": {\n maxWidth: \"100%\",\n padding: \"0 8px\",\n gap: \"6px\",\n },\n\n \"@media (max-width: 480px)\": {\n padding: \"0 4px\",\n gap: \"4px\",\n },\n\n \"@media (orientation: landscape) and (max-height: 600px)\": {\n gap: \"4px\",\n padding: \"0 8px\",\n },\n}));\n\nexport const ImageSliderSlideTitle: StyledComponent<{}, {}, {}> = styled(\"h3\", {\n name: \"ImageSlider\",\n slot: \"SlideTitle\",\n})(() => ({\n fontWeight: 700,\n fontSize: \"clamp(20px, 4vw, 32px)\",\n lineHeight: \"1.4\",\n textAlign: \"center\",\n letterSpacing: \"0.01em\",\n color: \"#ffffff\",\n margin: 0,\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n\n \"@media (max-width: 768px)\": {\n fontSize: \"clamp(18px, 4.5vw, 24px)\",\n },\n\n \"@media (max-width: 480px)\": {\n fontSize: \"clamp(16px, 5vw, 20px)\",\n },\n\n \"@media (orientation: landscape) and (max-height: 600px)\": {\n fontSize: \"clamp(16px, 3vw, 22px)\",\n },\n}));\n\nexport const ImageSliderSlideDescription: StyledComponent<{}, {}, {}> = styled(\"p\", {\n name: \"ImageSlider\",\n slot: \"SlideDescription\",\n})(() => ({\n fontWeight: 400,\n fontSize: \"clamp(14px, 2.5vw, 16px)\",\n lineHeight: \"1.6\",\n textAlign: \"center\",\n color: \"#ffffff\",\n maxWidth: \"100%\",\n margin: 0,\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n\n \"@media (max-width: 768px)\": {\n fontSize: \"clamp(13px, 3vw, 15px)\",\n lineHeight: \"1.5\",\n },\n\n \"@media (max-width: 480px)\": {\n fontSize: \"clamp(12px, 3.5vw, 14px)\",\n },\n\n \"@media (orientation: landscape) and (max-height: 600px)\": {\n fontSize: \"clamp(12px, 2vw, 14px)\",\n lineHeight: \"1.4\",\n },\n}));\n\nexport const ImageSliderSlideEmbed: StyledComponent<{}, {}, {}> = styled(\"embed\", {\n name: \"ImageSlider\",\n slot: \"SlideEmbed\",\n})(() => ({\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n margin: \"0 auto\",\n borderRadius: \"10px\",\n\n \"@media (max-width: 640px), (max-width: 900px) and (orientation: landscape)\": {\n display: \"none\",\n },\n}));\n\nexport const ImageSliderSlideLink: StyledComponent<{}, {}, {}> = styled(\"a\", {\n name: \"ImageSlider\",\n slot: \"SlideLink\",\n})(() => ({\n display: \"none\",\n backgroundColor: \"#00263E\",\n border: `2px solid #00263E`,\n color: \"#ffffff\",\n padding: \"8px 16px\",\n borderRadius: \"8px\",\n columnGap: \"12px\",\n flexFlow: \"row nowrap\",\n alignItems: \"center\",\n fontWeight: 400,\n fontSize: \"clamp(14px, 2.5vw, 16px)\",\n lineHeight: \"1.6\",\n\n \"@media (max-width: 640px), (max-width: 900px) and (orientation: landscape)\": {\n display: \"flex\",\n },\n\n \"& path\": {\n stroke: \"#ffffff\",\n },\n}));\n","import { memo, useMemo } from \"react\";\nimport { getSlotSx } from \"@zipkito/shared\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"lucide-react\";\n\nimport {\n ImageSliderControlsDot,\n ImageSliderControlsDotsWrapper,\n ImageSliderControlsRoot,\n} from \"./ImageSliderControls.styled\";\nimport { ArrowButton } from \"../ArrowButton\";\nimport type { ImageSliderControlsProps } from \"./ImageSliderControls.types\";\n\nexport const ImageSliderControls = memo((props: ImageSliderControlsProps) => {\n const {\n showArrows,\n showDots,\n memoizedSlides,\n currentSlide,\n canGoPrev,\n canGoNext,\n prev,\n next,\n goToSlide,\n slots = {},\n slotProps = {},\n sx,\n } = props;\n\n const Root = slots.root ?? ImageSliderControlsRoot;\n const DotsWrapper = slots.dotsWrapper ?? ImageSliderControlsDotsWrapper;\n const Dot = slots.dot ?? ImageSliderControlsDot;\n const LeftArrow = slots.leftArrow;\n const RightArrow = slots.rightArrow;\n\n const rootProps = useMemo(\n () => ({\n ...slotProps.root,\n sx: getSlotSx(\"root\", sx),\n }),\n [slotProps.root, sx]\n );\n\n const dotsWrapperProps = useMemo(\n () => ({\n ...slotProps.dotsWrapper,\n sx: getSlotSx(\"dotsWrapper\", sx),\n }),\n [slotProps.dotsWrapper, sx]\n );\n\n const dotProps = useMemo(\n () => ({\n ...slotProps.dot,\n sx: getSlotSx(\"dot\", sx),\n }),\n [slotProps.dot, sx]\n );\n\n const leftArrowProps = useMemo(\n () => ({\n ...slotProps.leftArrow,\n sx: getSlotSx(\"leftArrow\", sx),\n }),\n [slotProps.leftArrow, sx]\n );\n\n const rightArrowProps = useMemo(\n () => ({\n ...slotProps.rightArrow,\n sx: getSlotSx(\"rightArrow\", sx),\n }),\n [slotProps.rightArrow, sx]\n );\n\n return (\n <Root {...rootProps}>\n {showArrows && LeftArrow ? (\n <LeftArrow disabled={!canGoPrev} onClick={prev} {...leftArrowProps} />\n ) : (\n <ArrowButton disabled={!canGoPrev} onClick={prev} {...leftArrowProps}>\n <ArrowLeftIcon size={24} />\n </ArrowButton>\n )}\n\n {showDots && (\n <DotsWrapper {...dotsWrapperProps}>\n {memoizedSlides.map((_, i) => (\n <Dot\n key={i}\n $active={i === currentSlide}\n onClick={() => goToSlide(i)}\n role=\"button\"\n onKeyDown={(e: KeyboardEvent) => e.key === \"Enter\" || (e.key === \" \" && goToSlide(i))}\n {...dotProps}\n />\n ))}\n </DotsWrapper>\n )}\n\n {showArrows && RightArrow ? (\n <RightArrow disabled={!canGoNext} onClick={next} {...rightArrowProps} />\n ) : (\n <ArrowButton disabled={!canGoNext} onClick={next} {...rightArrowProps}>\n <ArrowRightIcon size={24} />\n </ArrowButton>\n )}\n </Root>\n );\n});\n\nImageSliderControls.displayName = \"ImageSliderControls\";\n","import { styled } from \"@mui/material/styles\";\nimport type { StyledComponent } from \"@emotion/styled\";\n\nexport const ImageSliderControlsRoot: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"ImageSliderControls\",\n slot: \"Root\",\n})(() => ({\n width: \"100%\",\n height: \"55px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"16px\",\n marginTop: \"16px\",\n flexShrink: 0,\n padding: \"0 8px\",\n\n \"@media (max-width: 768px)\": {\n gap: \"12px\",\n marginTop: \"12px\",\n },\n\n \"@media (max-width: 480px)\": {\n gap: \"8px\",\n marginTop: \"8px\",\n },\n}));\n\nexport const ImageSliderControlsDotsWrapper: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"ImageSliderControls\",\n slot: \"DotsWrapper\",\n})(() => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"10px\",\n}));\n\nexport const ImageSliderControlsDot: StyledComponent<{ $active: boolean }, {}, {}> = styled(\"div\", {\n name: \"ImageSliderControls\",\n slot: \"Dot\",\n})<{ $active: boolean }>(({ $active }) => ({\n width: $active ? \"12px\" : \"8px\",\n height: $active ? \"12px\" : \"8px\",\n background: $active ? \"#fff\" : \"#5b5b5b\",\n borderRadius: \"50%\",\n cursor: \"pointer\",\n transition: \"0.2s\",\n outline: \"none\",\n \"&:focus\": { boxShadow: \"0 0 0 2px #fff\" },\n}));\n","import { IconButton } from \"@mui/material\";\nimport { ComponentProps, memo } from \"react\";\n\nexport const ArrowButton = memo(({ children, ...props }: ComponentProps<typeof IconButton>) => (\n <IconButton {...props} color=\"default\">\n {children}\n </IconButton>\n));\n\nArrowButton.displayName = \"ArrowButton\";\n","import { styled } from \"@mui/material/styles\";\nimport type { StyledComponent } from \"@emotion/styled\";\n\nexport const SlideGalleryRoot: StyledComponent<{}, {}, {}> = styled(\"div\", {\n name: \"SlideGallery\",\n slot: \"Root\",\n})(() => ({\n flex: 1,\n minHeight: 0,\n display: \"flex\",\n width: \"100%\",\n padding: \"16px\",\n borderRadius: \"16px\",\n}));\n","import { memo, useMemo } from \"react\";\nimport { Overlay } from \"@zipkito/shared\";\n\nimport { IframeGalleryFrame } from \"./IframeGallery.styled\";\nimport type { IframeGalleryProps } from \"./IframeGallery.types\";\n\nexport const IframeGallery = memo((props: IframeGalleryProps) => {\n const { gallery, actions, slots = {}, slotProps = {}, overlayProps = {}, sx } = props;\n\n const src = useMemo(() => gallery?.path, [gallery?.path]);\n\n if (!gallery.visible || !src) return null;\n\n const Frame = slots.frame ?? IframeGalleryFrame;\n\n return (\n <Overlay visible={gallery.visible} {...overlayProps}>\n <Frame src={src} sx={sx} loading=\"lazy\" {...slotProps.frame} />\n {actions}\n </Overlay>\n );\n});\n\nIframeGallery.displayName = \"IframeGallery\";\n","import { styled } from \"@mui/material/styles\";\nimport type { StyledComponent } from \"@emotion/styled\";\n\nexport const IframeGalleryFrame: StyledComponent<{}, {}, {}> = styled(\"iframe\", {\n name: \"IframeGallery\",\n slot: \"Frame\",\n})(() => ({\n border: 0,\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n background: \"transparent\",\n borderRadius: 16,\n boxShadow: \"0 12px 30px rgba(0, 0, 0, 0.25)\",\n}));\n","import { SlideGallerySlide } from \"./slides\";\n\nexport const GALLERY_TYPE = {\n Slide: \"slide\",\n MDX: \"mdx\",\n Iframe: \"iframe\",\n} as const;\n\nexport interface WithVisibility {\n visible: boolean;\n originalIndex: number;\n type: (typeof GALLERY_TYPE)[keyof typeof GALLERY_TYPE];\n}\n\nexport interface MDXGalleryType extends WithVisibility {\n file?: string;\n}\n\nexport interface SlideGalleryType extends WithVisibility {\n slides: SlideGallerySlide[];\n}\n\nexport interface IframeGalleryType extends WithVisibility {\n path?: string;\n}\n"],"mappings":"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","names":["memo","useMemo","getSlotSx","Overlay","getSlotSx","useState","useMemo","useEffect","styled","memo","useMemo","getSlotSx","styled","memo","jsx","jsx","jsxs","memo","useMemo","getSlotSx","jsx","jsxs","useState","useEffect","prev","useMemo","getSlotSx","styled","jsx","memo","useMemo","getSlotSx","Overlay","memo","useMemo","Overlay","styled","jsx","jsxs","memo","useMemo","Overlay"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zipkito/gallery",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Reusable gallery components (iframe, slide, mdx) for DGE projects",
|
|
5
|
+
"private": false,
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"main": "dist/index.cjs",
|
|
8
|
+
"module": "dist/index.mjs",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@zipkito/shared": "0.1.0"
|
|
15
|
+
},
|
|
16
|
+
"peerDependencies": {
|
|
17
|
+
"@mdx-js/mdx": "^3.0.0",
|
|
18
|
+
"@mdx-js/react": "^3.0.0",
|
|
19
|
+
"@mui/material": ">=5",
|
|
20
|
+
"lucide-react": "^0.560.0",
|
|
21
|
+
"react": ">=18",
|
|
22
|
+
"react-dom": ">=18",
|
|
23
|
+
"@zipkito/shared": "^0.1.0",
|
|
24
|
+
"@emotion/styled": ">=11"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@mdx-js/mdx": "^3.1.1",
|
|
28
|
+
"@mdx-js/react": "^3.1.1",
|
|
29
|
+
"@mui/material": "^5.18.0",
|
|
30
|
+
"@mui/styled-engine": "^5.18.0",
|
|
31
|
+
"@mui/system": "^5.18.0",
|
|
32
|
+
"@types/react": "^18.3.27",
|
|
33
|
+
"@types/react-dom": "^18.3.7",
|
|
34
|
+
"lucide-react": "^0.560.0",
|
|
35
|
+
"react": "^18.3.1",
|
|
36
|
+
"react-dom": "^18.3.1",
|
|
37
|
+
"tsup": "^8.5.1",
|
|
38
|
+
"typescript": "^5.9.3",
|
|
39
|
+
"@emotion/styled": "^11.14.1"
|
|
40
|
+
},
|
|
41
|
+
"publishConfig": {
|
|
42
|
+
"access": "public"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsup",
|
|
46
|
+
"dev": "tsup --watch"
|
|
47
|
+
}
|
|
48
|
+
}
|