diff --git a/dist/index.js b/dist/index.js index b77152d..e3e8293 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1366,7 +1366,7 @@ SingleSelect.Trigger = SingleSelectInput_default; var import_react17 = __toESM(require("react")); var import_react18 = require("react"); var defaultStyles4 = { - container: "dark:text-bdp-white dark:shadow-dark-light gap-2 flex items-center justify-between w-full px-2 sm:px-4 shadow-md transition-all duration-200 ease-in-out text-center", + container: "dark:text-bdp-white dark:shadow-dark-light gap-2 flex items-center justify-between w-full px-2 sm:px-4 shadow-md transition-all duration-200 ease-in-out text-center h-auto opacity-100 max-h-[200px]", bannerInfoContainer: `flex flex-col flex-[1_1_auto]`, headingText: "font-semibold text-sm md:text-lg", bodyText: "text-sm md:text-base", @@ -1389,9 +1389,7 @@ function Banner({ "data-has-heading": Boolean(headingText), className: cn( defaultStyles4.container, - "data-[has-heading='true']:h-16", - "data-[has-heading='false']:h-12", - "data-[show-banner='false']:h-0 overflow-hidden", + "data-[show-banner='false']:max-h-[0] overflow-hidden", styles.container ) }, @@ -1400,6 +1398,8 @@ function Banner({ { className: cn( defaultStyles4.bannerInfoContainer, + "py-2", + // padding here because it cannot be set on the parent due to transitioning height styles.bannerInfoContainer ) }, diff --git a/dist/index.js.map b/dist/index.js.map index 731b823..ca42483 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/index.ts","../src/components/button/Button.tsx","../src/components/footer/Footer.tsx","../src/components/footer/FooterAbout.tsx","../src/components/footer/FooterFeedback.tsx","../src/components/footer/FooterSocials.tsx","../src/icons/AppsIcon.tsx","../src/icons/ArrowLeft.tsx","../src/icons/ArrowLinkRight.tsx","../src/icons/ArrowLinkUpRight.tsx","../src/icons/ArrowRight.tsx","../src/icons/ArrowUp.tsx","../src/icons/AuthorIcon.tsx","../src/icons/BitcoinIcon.tsx","../src/icons/BookmarkIcon.tsx","../src/icons/CalendarIcon.tsx","../src/icons/CloseIconOutlined.tsx","../src/icons/DateIcon.tsx","../src/icons/DayIcon.tsx","../src/icons/DiceIcon.tsx","../src/icons/DiscordIcon.tsx","../src/icons/FilterIcon.tsx","../src/icons/FilterCloseIcon.tsx","../src/icons/GithubIcon.tsx","../src/icons/LightningIconSolid.tsx","../src/icons/MicIcon.tsx","../src/icons/NightIcon.tsx","../src/icons/NostrIcon.tsx","../src/icons/PlusIcon.tsx","../src/icons/SearchIcon.tsx","../src/icons/SortIcon.tsx","../src/icons/SourceIcon.tsx","../src/icons/TimeIcon.tsx","../src/icons/TwitterXIcon.tsx","../src/components/footer/FooterPublic.tsx","../src/components/carousel/Carousel.tsx","../src/components/carousel/defaults.ts","../src/utils/index.ts","../src/components/carousel/CarouselComponents.tsx","../src/components/select/MultiSelect.tsx","../src/components/select/useSelectNavigate.tsx","../src/utils/navigation.ts","../src/components/select/SelectInput.tsx","../src/utils/cn.ts","../src/components/select/SelectList.tsx","../src/utils/filter.ts","../src/components/select/BaseSelectList.tsx","../src/components/select/Dropdown.tsx","../src/components/select/SingleSelectList.tsx","../src/components/select/SingleSelectInput.tsx","../src/components/banner/Banner.tsx"],"sourcesContent":["export * from \"./components/button\";\nexport * from \"./components/footer\";\nexport * from \"./components/carousel\";\nexport * from \"./components/select\";\nexport * from \"./components/banner\";\n","// src/components/Button/Button.tsx\n\nimport React from \"react\";\nexport interface ButtonProps {\n label: string;\n onClick?: () => void;\n variant?: \"primary\" | \"secondary\";\n size?: \"small\" | \"medium\" | \"large\";\n disabled?: boolean;\n}\n\nexport const Button: React.FC = ({\n label,\n onClick,\n variant = \"primary\",\n size = \"medium\",\n disabled = false,\n}) => {\n const baseStyles = \"font-bold py-2 px-4 rounded\";\n const variantStyles = {\n primary: \"bg-blue-500 hover:bg-blue-700 text-white\",\n secondary: \"bg-gray-300 hover:bg-gray-400 text-gray-800\",\n };\n const sizeStyles = {\n small: \"text-sm\",\n medium: \"text-base\",\n large: \"text-lg\",\n };\n\n const className = `\n ${baseStyles}\n ${variantStyles[variant]}\n ${sizeStyles[size]}\n ${disabled ? \"opacity-50 cursor-not-allowed\" : \"\"}\n `.trim();\n\n return (\n \n );\n};\n","import React from \"react\";\nimport FooterAbout, { FooterAboutProps } from \"./FooterAbout\";\nimport FooterFeedback, { FooterFeedbackProps } from \"./FooterFeedback\";\nimport { FooterSocials, FooterSocialsProps } from \"./FooterSocials\";\nimport FooterPublic, { FooterPublicProps } from \"./FooterPublic\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterRootProps\n extends FooterPartsPrimitiveProps {\n separator?: React.ReactElement;\n}\n\nconst Separator = () => (\n \n );\n};\n\nFooter.About = FooterAbout;\nFooter.Feedback = FooterFeedback;\nFooter.Socials = FooterSocials;\nFooter.Public = FooterPublic;\n\nexport { Footer, Separator };\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterAboutProps\n extends FooterPartsPrimitiveProps {\n entityLink?: string;\n entityName?: string;\n}\n\nconst FooterAbout = (props: React.PropsWithChildren) => {\n const { className, children, entityLink, entityName, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n\n return (\n \n Built with 🧡 by the{\" \"}\n \n {entityName ?? \"Bitcoin Dev Project\"}\n \n \n );\n};\n\nFooterAbout.displayName = \"FooterAbout\";\nexport default FooterAbout;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterFeedbackProps\n extends FooterPartsPrimitiveProps {\n feedbackLink: string;\n}\n\nconst FooterFeedback = (\n props: React.PropsWithChildren,\n) => {\n const { className, children, feedbackLink, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n return (\n \n We'd love to hear your feedback on this project?\n \n Give Feedback\n \n \n );\n};\n\nFooterFeedback.displayName = \"FooterFeedback\";\nexport default FooterFeedback;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { TwitterXIcon, GithubIcon, DiscordIcon, NostrIcon } from \"../../icons\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\ntype SupportedSocialMedia = \"twitter\" | \"github\" | \"discord\" | \"nostr\";\n\ntype ManadatorySocialMediaProps = {\n entityLink: string;\n iconProps?: React.SVGProps;\n} & T;\n\ntype SocialMediaProps =\n | ManadatorySocialMediaProps<{\n entity: SupportedSocialMedia;\n icon?: React.ReactElement;\n }>\n | ManadatorySocialMediaProps<{\n entity: Exclude;\n icon: React.ReactElement;\n }>;\n\nexport interface FooterSocialsProps\n extends FooterPartsPrimitiveProps {\n platforms: SocialMediaProps[];\n}\n\nconst Platform = ({ platform }: { platform: SocialMediaProps }) => {\n const { entity, entityLink, icon, iconProps } = platform;\n const { className, ...rest } = iconProps ?? {};\n const getIcon = (entity: SocialMediaProps[\"entity\"]) => {\n if (icon) {\n return React.cloneElement(icon, { ...rest, className });\n }\n if (entity === \"twitter\") {\n return (\n \n );\n }\n if (entity === \"github\") {\n return (\n \n );\n }\n if (entity === \"discord\") {\n return (\n \n );\n }\n if (entity === \"nostr\") {\n return (\n \n );\n }\n };\n const iconElement = getIcon(entity);\n\n return (\n
\n \n {iconElement}\n \n
\n );\n};\n\n/**\n * FooterSocials Component\n * @description Renders social media icons with links in the footer.\n * @param {FooterSocialsProps} props - The component props\n * @param {SocialMediaProps[]} props.platforms - Array of social media platform configurations\n * @remarks\n * Provides corresponding icons for twitter, github, discord, and nostr entities.\n * If a custom string is passed as entity, the icon prop is required.\n */\n\nexport const FooterSocials = (\n props: React.PropsWithChildren,\n) => {\n const { className: classname, children, platforms, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n const resolvedClassName = twMerge(\n clsx(\n \"text-black mb-[6px] md:mb-0 dark:text-white flex w-fit max-w-full gap-[24px]\",\n classname,\n ),\n );\n return (\n
\n {platforms.map((platform) => (\n \n ))}\n
\n );\n};\n\nFooterSocials.displayName = \"FooterSocials\";\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst AppsIcon = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default AppsIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowLeft = ({\n width = 7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowLeft;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst ArrowLinkRight = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default ArrowLinkRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst ArrowLinkUpRight = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default ArrowLinkUpRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowRight = ({\n width = 7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowUp = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowUp;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst AuthorIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default AuthorIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst BitcoinIcon = ({\n width = 18,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default BitcoinIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst BookmarkIcon = ({\n width = 25,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default BookmarkIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst CalendarIcon = ({\n width = 23,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n \n \n);\n\nexport default CalendarIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst CloseIconOutlined = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default CloseIconOutlined;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DateIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default DateIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst DayIcon = ({ width = 16, height, ...props }: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default DayIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DiceIcon = ({\n width = 23,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n \n);\n\nexport default DiceIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DiscordIcon = ({\n width = 45,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n \n \n \n);\n\nexport default DiscordIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst FilterIcon = ({\n width = 13,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default FilterIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst FilterCloseIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default FilterCloseIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst GithubIcon = ({\n width = 52,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default GithubIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst LightningIconSolid = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default LightningIconSolid;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst MicIcon = ({\n width = 27,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n);\n\nexport default MicIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst NightIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...svgProps\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default NightIcon;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst NostrIcon = ({\n width = 31,\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n);\n\nexport default NostrIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst PlusIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default PlusIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst SearchIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\nexport default SearchIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst SortIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n \n \n \n);\n\nexport default SortIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst SourceIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default SourceIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst TimeIcon = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default TimeIcon;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst TwitterXIcon = ({\n width = 37,\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n);\n\nexport default TwitterXIcon;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterPublicProps\n extends FooterPartsPrimitiveProps {\n dashboardLink: string;\n}\n\nconst FooterPublic = ({\n className,\n dashboardLink,\n ...rest\n}: FooterPublicProps) => {\n return (\n \n View our public visitor count\n \n );\n};\n\nexport default FooterPublic;\n","\"use client\";\n\nimport React, { useCallback, useLayoutEffect, useMemo, useRef } from \"react\";\nimport { CarouselConfig, DefaultCarouselConfig } from \"./defaults\";\nimport { throttledDebounce } from \"../../utils\";\nimport {\n CarouselButtonProps,\n CarouselContainer,\n CarouselContainerProps,\n CarouselControlProps,\n CarouselControls,\n CarouselItem,\n CarouselItemProps,\n CarouselNextButton,\n CarouselPreviousButton,\n} from \"./CarouselComponents\";\n\nexport interface CarouselContextType {\n containerRef: React.RefObject;\n totalCarouselItems: number;\n goToNextSlide: () => void;\n goToPreviousSlide: () => void;\n possibleDirection: {\n canGoToNextSlide: boolean;\n canGoToPreviousSlide: boolean;\n };\n}\n\nconst CarouselContext = React.createContext(null);\n\nexport const useCarousel = () => {\n const context = React.useContext(CarouselContext);\n if (!context) {\n throw new Error(\"useCarousel must be used within a CarouselProvider\");\n }\n return context;\n};\n\nexport interface CarouselProviderProps {\n children: React.ReactNode;\n containerRef: React.RefObject;\n config?: CarouselConfig;\n}\n\nconst CarouselProvider: React.FC = ({\n children,\n containerRef,\n config = DefaultCarouselConfig,\n}) => {\n const { stepWidthInPercent } = config;\n\n const [carouselWidth, setCarouselWidth] = React.useState(0);\n const [scrollableWidth, setScrollableWidth] = React.useState(0);\n const [scrollLeft, setScrollLeft] = React.useState(0);\n\n const possibleDirection = useMemo(() => {\n if (!containerRef.current)\n return { canGoToNextSlide: false, canGoToPreviousSlide: false };\n const canGoToNextSlide = scrollLeft < scrollableWidth - carouselWidth;\n const canGoToPreviousSlide = scrollLeft > 0;\n return { canGoToNextSlide, canGoToPreviousSlide };\n }, [containerRef, scrollableWidth, carouselWidth, scrollLeft]);\n\n const handleScroll = throttledDebounce(() => {\n if (!containerRef.current) return;\n setScrollLeft(containerRef.current?.scrollLeft ?? 0);\n }, 200);\n\n // init update containerRef details on mount and resize\n useLayoutEffect(() => {\n if (!containerRef.current) return;\n\n const updateSize = throttledDebounce(() => {\n setCarouselWidth(containerRef.current?.clientWidth ?? 0);\n setScrollableWidth(containerRef.current?.scrollWidth ?? 0);\n setScrollLeft(containerRef.current?.scrollLeft ?? 0);\n }, 200);\n\n const resizeObserver = new ResizeObserver(updateSize);\n resizeObserver.observe(containerRef.current);\n\n // Initial size update\n updateSize();\n\n return () => {\n if (containerRef.current) {\n resizeObserver.unobserve(containerRef.current);\n }\n };\n }, []);\n\n // update scroll position on scroll\n useLayoutEffect(() => {\n if (!containerRef.current) return;\n\n containerRef.current?.addEventListener(\"scroll\", handleScroll);\n\n return () => {\n if (containerRef.current) {\n containerRef.current.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, []);\n\n const totalCarouselItems = useMemo(() => {\n return containerRef.current?.children.length ?? 0;\n }, [containerRef]);\n\n const goToNextSlide = useCallback(() => {\n if (!containerRef.current) return;\n const stepWidth =\n (containerRef.current.clientWidth * stepWidthInPercent) / 100;\n const responsiveStepWidth =\n stepWidth < containerRef.current.children[0].clientWidth\n ? containerRef.current.clientWidth\n : stepWidth;\n const scrollLeft = containerRef.current.scrollLeft + responsiveStepWidth;\n containerRef.current.scrollTo({\n left: scrollLeft,\n behavior: \"smooth\",\n });\n }, [containerRef, stepWidthInPercent]);\n\n const goToPreviousSlide = useCallback(() => {\n if (!containerRef.current) return;\n const stepWidth =\n (containerRef.current.clientWidth * stepWidthInPercent) / 100;\n // const responsiveStepWidth = Math.max(containerRef.current.clientWidth, containerRef.current.clientWidth * stepWidthInPercent / 100) ;\n const responsiveStepWidth =\n stepWidth < containerRef.current.children[0].clientWidth\n ? containerRef.current.clientWidth\n : stepWidth;\n const scrollLeft = Math.max(\n 0,\n containerRef.current.scrollLeft - responsiveStepWidth,\n );\n containerRef.current.scrollTo({\n left: scrollLeft,\n behavior: \"smooth\",\n });\n }, [containerRef, stepWidthInPercent]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const Carousel: React.FC> & {\n Container: React.FC;\n Item: React.FC;\n Controls: React.FC;\n PreviousButton: React.FC;\n NextButton: React.FC;\n} = ({ children, config }: Omit) => {\n const containerRef = useRef(null);\n return (\n \n {children}\n \n );\n};\n\nCarousel.Container = CarouselContainer;\nCarousel.Item = CarouselItem;\nCarousel.Controls = CarouselControls;\nCarousel.PreviousButton = CarouselPreviousButton;\nCarousel.NextButton = CarouselNextButton;\n","export type CarouselConfig = {\n stepWidthInPercent: number;\n // TODO: Add support for scrollSteps\n // scrollSteps?: number;\n};\n\nexport const DefaultCarouselConfig: CarouselConfig = {\n stepWidthInPercent: 100,\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce void>(\n func: T,\n wait: number,\n): (...args: Parameters) => void {\n let timeout: ReturnType | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: Parameters) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n const later = () => {\n timeout = null;\n func.apply(context, args);\n };\n\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(later, wait);\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function throttledDebounce void>(\n func: T,\n limit: number,\n): (...args: Parameters) => void {\n let inThrottle: boolean = false;\n let lastArgs: Parameters | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: Parameters) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n if (!inThrottle) {\n func.apply(context, args);\n inThrottle = true;\n setTimeout(() => {\n inThrottle = false;\n if (lastArgs) {\n func.apply(context, lastArgs);\n lastArgs = null;\n }\n }, limit);\n } else {\n lastArgs = args;\n }\n };\n}\n\nexport const numberFormat = new Intl.NumberFormat(\"en-US\", {\n compactDisplay: \"short\",\n notation: \"compact\",\n});\n","import React from \"react\";\nimport { CarouselContextType, useCarousel } from \"./Carousel\";\nimport { ComponentStylePrimitiveProps } from \"../../primitives/types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface CarouselContainerProps\n extends ComponentStylePrimitiveProps {\n children: React.ReactNode;\n}\n\nexport const CarouselContainer: React.FC = ({\n children,\n ...props\n}) => {\n const { className, ...rest } = props;\n const { containerRef } = useCarousel();\n return (\n \n {children}\n \n );\n};\n\nexport type CarouselItemProps = CarouselContainerProps;\n\nexport const CarouselItem: React.FC = ({\n children,\n ...props\n}) => {\n const { className, ...rest } = props;\n return (\n \n {children}\n \n );\n};\n\nexport interface CarouselControlProps\n extends ComponentStylePrimitiveProps {\n children: React.ReactNode;\n}\n\nexport const CarouselControls: React.FC = ({\n children,\n className,\n ...props\n}) => {\n return (\n \n {children}\n \n );\n};\nexport interface CarouselButtonProps\n extends Omit, \"children\"> {\n children?:\n | React.ReactNode\n | ((\n goToPreviousSlide: () => void,\n possibleDirection: CarouselContextType[\"possibleDirection\"],\n ) => React.ReactNode);\n icon: React.ReactNode;\n}\n\nexport const CarouselPreviousButton: React.FC = ({\n children,\n ...props\n}) => {\n const { goToPreviousSlide, possibleDirection } = useCarousel();\n\n if (children) {\n if (typeof children === \"function\") {\n return <>{children(goToPreviousSlide, possibleDirection)};\n } else {\n console.warn(\n \"CarouselPreviousButton: Children prop is not a function (opts out of navigation logic). Rendering children as-is.\",\n );\n return <>{children};\n }\n }\n\n const { icon, className, ...rest } = props;\n\n return (\n \n {icon}\n \n );\n};\n\nexport const CarouselNextButton: React.FC = ({\n children,\n ...props\n}) => {\n const { goToNextSlide, possibleDirection } = useCarousel();\n\n if (children) {\n if (typeof children === \"function\") {\n return <>{children(goToNextSlide, possibleDirection)};\n } else {\n console.warn(\n \"CarouselNextButton: Children prop is not a function (opts out of navigation logic). Rendering children as-is.\",\n );\n return <>{children};\n }\n }\n\n const { icon, className, ...rest } = props;\n\n return (\n \n {icon}\n \n );\n};\n","import React, { useState } from \"react\";\nimport useCheckboxNavigate from \"./useSelectNavigate\";\nimport SelectInput, { SelectInputProps } from \"./SelectInput\";\nimport SelectList, { MultiSelectListProps } from \"./SelectList\";\n\nexport type SelectContextType = {\n containerRef: React.MutableRefObject | null;\n setContainerRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n searchInputRef: React.MutableRefObject | null;\n setSearchInputRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n isListOpen: boolean;\n toggleListOpen: () => void;\n currentNavigateCheckbox: string;\n toggleRefocus: () => void;\n onSearch: (value: string) => void;\n inputValue: string;\n};\n\ntype SelectProviderProps = {\n children: React.ReactNode;\n isCollapsible?: boolean;\n};\n\nconst SelectContext = React.createContext(null);\nexport const useMultiSelect = () => {\n const context = React.useContext(SelectContext);\n if (!context) {\n throw new Error(\"useMultiSelect must be used within a MultiSelectProvider\");\n }\n return context;\n};\n\nexport const MultiSelectProvider = ({\n children,\n isCollapsible = true,\n}: SelectProviderProps) => {\n const [containerRef, setContainerRef] =\n useState | null>(null);\n const [searchInputRef, setSearchInputRef] =\n useState | null>(null);\n\n const [isListOpen, setIsListOpen] = useState(true);\n\n const toggleListOpen = () => {\n if (!isCollapsible) return;\n setIsListOpen((prev) => !prev);\n };\n\n const [inputValue, setInputValue] = useState(\"\");\n\n const { currentNavigateCheckbox, toggleRefocus } = useCheckboxNavigate({\n checkboxContainer: containerRef,\n searchEl: searchInputRef,\n options: [],\n });\n\n // const [currentNavigateCheckbox, setcurrentNavigateCheckbox] = useState(\"\")\n const onSearch = (value: string) => {\n const newValue = value.trim();\n setInputValue(newValue);\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport const MultiSelect: React.FC & {\n Input: React.FC;\n List: React.FC;\n} = ({ children, isCollapsible = true }: SelectProviderProps) => {\n return (\n \n {children}\n \n );\n};\n\nMultiSelect.Input = SelectInput;\nMultiSelect.List = SelectList;\n","import { useEffect, useRef, useState } from \"react\";\nimport { isInViewport } from \"../../utils/navigation\";\n\ntype ChekboxNavigateProps = {\n checkboxContainer: React.MutableRefObject | null;\n searchEl: React.MutableRefObject | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options: any[];\n};\n\nconst useCheckboxNavigate = ({\n checkboxContainer,\n searchEl,\n options,\n}: ChekboxNavigateProps) => {\n const checkboxNavIndex = useRef(null);\n\n const [currentNavigateCheckbox, setcurrentNavigateCheckbox] = useState(\"\");\n\n const refocus = useRef(false);\n\n const toggleRefocus = () => {\n refocus.current = !refocus.current;\n };\n\n useEffect(() => {\n if (!checkboxContainer || !searchEl) return;\n const multiCheckboxWrapper = checkboxContainer.current;\n const multiCheckboxList =\n multiCheckboxWrapper &&\n (Array.from(multiCheckboxWrapper?.children) as HTMLElement[]);\n const searchInput = searchEl.current;\n // focus back to search when options changes\n if (refocus.current) {\n if (searchInput) {\n searchInput.focus();\n }\n toggleRefocus();\n }\n\n let currentCheckboxNavIndex = checkboxNavIndex.current;\n\n const handleOptionNavigation = (e: KeyboardEvent) => {\n if (currentNavigateCheckbox && currentCheckboxNavIndex === null) {\n const isPrevCheckInListIdx = multiCheckboxList.findIndex(\n (label) => label?.dataset?.checkbox === currentNavigateCheckbox,\n );\n if (isPrevCheckInListIdx !== -1) {\n currentCheckboxNavIndex = isPrevCheckInListIdx;\n }\n }\n\n switch (e.key) {\n // downArrow\n case \"ArrowDown\":\n e.preventDefault();\n if (currentCheckboxNavIndex === null) {\n currentCheckboxNavIndex = 0;\n } else {\n if (currentCheckboxNavIndex >= multiCheckboxList.length - 1) {\n currentCheckboxNavIndex = 0;\n } else {\n currentCheckboxNavIndex += 1;\n }\n }\n break;\n\n // upArrow\n case \"ArrowUp\":\n e.preventDefault();\n if (currentCheckboxNavIndex === null) {\n currentCheckboxNavIndex = multiCheckboxList.length - 1;\n } else {\n if (currentCheckboxNavIndex === 0) {\n currentCheckboxNavIndex = multiCheckboxList.length - 1;\n } else {\n currentCheckboxNavIndex -= 1;\n }\n }\n break;\n\n // Enter\n case \"Enter\": {\n e.preventDefault();\n if (currentCheckboxNavIndex) {\n const input =\n multiCheckboxList[currentCheckboxNavIndex]?.querySelector(\n '[role=\"button\"]',\n );\n if (input) {\n (input as HTMLButtonElement).click();\n }\n }\n break;\n }\n\n default:\n break;\n }\n\n const currentLabel =\n typeof currentCheckboxNavIndex === \"number\"\n ? multiCheckboxList[currentCheckboxNavIndex]\n : null;\n\n if (currentLabel) {\n const inViewPort = isInViewport(currentLabel);\n if (!inViewPort) {\n currentLabel.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n inline: \"nearest\",\n });\n }\n }\n setcurrentNavigateCheckbox(currentLabel?.dataset?.checkbox ?? \"\");\n };\n\n if (searchInput) {\n searchInput.addEventListener(\"keydown\", handleOptionNavigation);\n searchInput.addEventListener(\"focusout\", () =>\n setcurrentNavigateCheckbox(\"\"),\n );\n }\n\n return () => {\n if (searchInput) {\n searchInput.removeEventListener(\"keydown\", handleOptionNavigation);\n searchInput.removeEventListener(\"focusout\", () =>\n setcurrentNavigateCheckbox(\"\"),\n );\n }\n };\n }, [options, checkboxContainer, searchEl, currentNavigateCheckbox]);\n\n return { currentNavigateCheckbox, toggleRefocus };\n};\n\nexport default useCheckboxNavigate;\n","export function isInViewport(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n}\n","import React, { useEffect, useRef } from \"react\";\nimport { SearchIcon, ArrowRight } from \"../../icons\";\nimport { cn } from \"../../utils/cn\";\nimport { useMultiSelect } from \"./MultiSelect\";\n\ntype StyleConfig = {\n container?: string;\n input?: string;\n searchIcon?: string;\n searchIconWrapper?: string;\n arrowIcon?: string;\n arrowIconWrapper?: string;\n};\n\nexport type SelectInputProps = {\n defaultPlaceholder: string;\n className?: string;\n styles?: StyleConfig;\n};\n\nconst defaultStyles = {\n container: \"relative text-bdp-primary-text\",\n input:\n \"bg-transparent text-base 2xl:text-base font-medium w-full pl-12 pr-10 py-4 rounded-xl border-[1px] border-bdp-stroke focus:outline-none focus:outline-bdp-secondary-text focus:outline-offset-0 leading-none\",\n searchIcon: \"stroke-bdp-secondary-text w-[16px] h-[16px]\",\n searchIconWrapper: \"absolute top-1/2 -translate-y-1/2 left-[18px]\",\n arrowIcon: \"\",\n arrowIconWrapper:\n \"absolute p-2 cursor-pointer top-1/2 -translate-y-1/2 right-[18px] rotate-90 data-[is-open=false]:-rotate-90 transition-transform\",\n} as const;\n\nconst SelectInput = ({\n defaultPlaceholder,\n className,\n styles = {},\n}: SelectInputProps) => {\n const selectContextData = useMultiSelect();\n\n const searchRef = useRef(null!);\n const {\n currentNavigateCheckbox,\n toggleListOpen,\n isListOpen,\n onSearch,\n searchInputRef,\n setSearchInputRef,\n } = selectContextData;\n\n useEffect(() => {\n if (searchRef.current && !searchInputRef) {\n setSearchInputRef(searchRef);\n }\n }, []);\n\n return (\n
\n {\n onSearch(e.target.value);\n }}\n ref={searchRef}\n />\n \n \n \n \n \n \n
\n );\n};\n\nexport default SelectInput;\n","import { twMerge } from \"tailwind-merge\";\nimport { clsx } from \"clsx\";\n\nexport function cn(...inputs: (string | undefined)[]) {\n return twMerge(clsx(inputs));\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport { matchCharactersWithRegex } from \"../../utils/filter\";\nimport BaseSelectList, { SelectListProps } from \"./BaseSelectList\";\nimport { useMultiSelect } from \"./MultiSelect\";\n\nexport type MultiSelectListProps = Omit;\n\nconst SelectList = (props: MultiSelectListProps) => {\n const selectContextData = useMultiSelect();\n\n const containerRef = useRef(null!);\n const {\n containerRef: containerRefProvider,\n setContainerRef,\n isListOpen,\n currentNavigateCheckbox,\n inputValue: searchTerm,\n } = selectContextData;\n\n useEffect(() => {\n if (!containerRefProvider && containerRef.current) {\n setContainerRef(containerRef);\n }\n }, []);\n\n const filteredOptions = useMemo(() => {\n if (searchTerm.trim()) {\n return props.options.filter((option) => {\n return matchCharactersWithRegex(option.label, searchTerm.trim());\n });\n }\n return props.options;\n }, [props.options, searchTerm]);\n\n return (\n \n );\n};\n\nexport default SelectList;\n","export function matchCharactersWithRegex(word: string, searchTerm: string) {\n const escapedSearchTerm = searchTerm.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\n const regexPattern = escapedSearchTerm\n .split(\"\")\n .map((char) => `(?=.*${char})`)\n .join(\"\");\n\n const regex = new RegExp(regexPattern, \"i\"); // 'i' flag for case-insensitive matching\n\n return regex.test(word);\n}\n","import { LightningIconSolid } from \"../../icons\";\nimport { numberFormat } from \"../../utils\";\nimport { cn } from \"../../utils/cn\";\nimport React from \"react\";\n\nexport type BaseSelectContextTypeForList = {\n isListOpen: boolean;\n currentNavigateCheckbox: string;\n containerRef: React.MutableRefObject | null;\n};\n\nexport type SelectOption = {\n label: string;\n count?: number;\n value: string;\n selected: boolean;\n};\n\ntype StyleConfig = {\n container?: string;\n optionWrapper?: string;\n selectedOption?: string;\n optionInner?: string;\n icon?: string;\n label?: string;\n count?: string;\n noResults?: string;\n};\n\nexport type OnOptionSelect = ({\n action,\n value,\n event,\n}: {\n action: \"select\" | \"deselect\";\n value: string;\n event: React.MouseEvent;\n}) => void;\n\nexport type SelectListProps = {\n options: SelectOption[];\n label: string;\n onOptionSelect: OnOptionSelect;\n className?: string;\n styles?: StyleConfig;\n noResultsMessage?: string; // New: Customizable empty state\n selectContextData: BaseSelectContextTypeForList;\n};\n\nconst defaultStyles = {\n container:\n \"scroller font-medium mt-2 max-h-[300px] py-[6px] overflow-auto border border-bdp-stroke rounded-xl data-[is-open='false']:hidden\",\n optionWrapper: `flex gap-1 py-1 2xl:py-2 px-[14px] group/checkOption hover:bg-bdp-hover-state data-[current-navigated=true]:bg-bdp-hover-state\n group-hover/container:data-[current-navigated=true]:bg-transparent\n group-hover/container:data-[current-navigated=true]:hover:bg-bdp-hover-state\n data-[selected=true]:text-bdp-accent text-bdp-primary-text`,\n optionInner: \"selectable-option flex grow items-center gap-3\",\n icon: \"shrink-0 group-data-[selected=false]/checkOption:invisible w-[12px] 2xl:w-[16px] h-auto\",\n label:\n \"grow capitalize text-sm 2xl:text-base group-data-[selected=true]/checkOption:font-bold\",\n count: \"shrink-0 group-data-[selected=true]/checkOption:font-medium\",\n noResults: \"w-full text-sm 2xl:text-base text-center px-2\",\n} as const;\n\nconst BaseSelectList = ({\n options,\n label,\n onOptionSelect,\n className,\n styles = {},\n noResultsMessage = \"No matching options\",\n selectContextData,\n}: SelectListProps) => {\n const { isListOpen, currentNavigateCheckbox, containerRef } =\n selectContextData;\n return (\n \n {options.length < 1 && (\n

\n {noResultsMessage}\n

\n )}\n {options?.map((option) => {\n const checked = option.selected;\n const value = option.value;\n return (\n \n \n onOptionSelect({ action: \"select\", value, event })\n }\n role=\"button\"\n aria-label={`${\n checked ? \"uncheck\" : \"check\"\n } filter ${label}:${option.label}`}\n >\n \n \n \n {option.label}\n \n \n {option.count ? (\n \n {numberFormat.format(option.count)}\n \n ) : null}\n \n \n );\n })}\n \n );\n};\n\nexport default BaseSelectList;\n","\"use client\";\n\nimport React, { createContext, useCallback, useState } from \"react\";\nimport SingleSelectList, {\n SingleSelectListProps,\n SingleSelectOption,\n} from \"./SingleSelectList\";\nimport SingleSelectTrigger, {\n SingleSelectTriggerProps,\n} from \"./SingleSelectInput\";\n\ntype StyleConfig = {\n container?: string;\n input?: string;\n list?: string;\n option?: string;\n};\n\ntype SelectContextType = {\n isListOpen: boolean;\n toggleListOpen: () => void;\n selectedOption: SingleSelectOption | null;\n setSelectedOption: (option: SingleSelectOption | null) => void;\n containerRef: React.MutableRefObject | null;\n setContainerRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n handleSelectOption: (option: SingleSelectOption) => void;\n triggerRef: React.RefObject;\n};\n\nconst SingleSelectContext = createContext(null);\nexport const useSingleSelect = () => {\n const context = React.useContext(SingleSelectContext);\n if (!context) {\n throw new Error(\n \"useSingleSelect must be used within a SingleSelectProvider\",\n );\n }\n return context;\n};\n\ntype SingleSelectProviderProps = {\n children: React.ReactNode;\n triggerRef: React.RefObject;\n className?: string;\n styles?: StyleConfig;\n disabled?: boolean;\n};\n\nconst SingleSelectProvider = ({\n children,\n triggerRef,\n disabled = false,\n}: SingleSelectProviderProps) => {\n const [isListOpen, setIsListOpen] = useState(false);\n const [containerRef, setContainerRef] =\n useState | null>(null);\n const [selectedOption, setSelectedOption] =\n useState(null);\n\n const toggleListOpen = () => {\n if (!disabled) {\n setIsListOpen((prev) => !prev);\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleSelectOption = (_option: SingleSelectOption) => {\n setIsListOpen(false);\n };\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n if (\n containerRef?.current &&\n triggerRef?.current &&\n !containerRef.current.contains(event.target as Node) &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n setIsListOpen(false);\n }\n },\n [containerRef, isListOpen],\n );\n\n React.useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [containerRef]);\n\n const contextValue = {\n isListOpen,\n toggleListOpen,\n selectedOption,\n setSelectedOption,\n handleSelectOption,\n containerRef,\n setContainerRef,\n triggerRef,\n };\n\n return (\n \n
{children}
\n
\n );\n};\n\nexport const SingleSelect: React.FC<\n Omit\n> & {\n List: React.FC;\n Trigger: React.FC;\n} = ({\n children,\n disabled = false,\n}: Omit) => {\n const triggerRef = React.useRef(null);\n return (\n \n {children}\n \n );\n};\n\nSingleSelect.List = SingleSelectList;\nSingleSelect.Trigger = SingleSelectTrigger;\n","import React, { useEffect } from \"react\";\nimport BaseSelectList, { SelectListProps } from \"./BaseSelectList\";\nimport { useSingleSelect } from \"./Dropdown\";\n\nexport type SingleSelectOption = {\n label: string;\n value: string;\n};\n\nexport type OptionSelectHandler = (option: SingleSelectOption) => void;\n\nexport type SingleSelectListProps = Omit<\n SelectListProps,\n \"selectContextData\" | \"options\" | \"onOptionSelect\"\n> & {\n options: SingleSelectOption[];\n value: string;\n onOptionSelect: OptionSelectHandler;\n};\n\nconst SingleSelectList = (props: SingleSelectListProps) => {\n const {\n isListOpen,\n containerRef: containerRefProvider,\n setContainerRef,\n handleSelectOption,\n setSelectedOption,\n } = useSingleSelect();\n const containerRef = React.useRef(null!);\n\n useEffect(() => {\n if (!containerRefProvider && containerRef.current) {\n setContainerRef(containerRef);\n }\n }, []);\n\n const handleOption = ({\n value,\n }: {\n action: \"select\" | \"deselect\";\n value: string;\n event: React.MouseEvent;\n }) => {\n const option = props.options.find((option) => option.value === value);\n if (option) {\n handleSelectOption(option);\n props.onOptionSelect(option);\n }\n };\n\n const managedOptions = props.options.map((option) => ({\n ...option,\n selected: option.value === props.value,\n }));\n\n useEffect(() => {\n setSelectedOption(\n props.options.find((option) => option.value === props.value) || null,\n );\n }, [props.value, props.options]);\n\n return (\n \n );\n};\n\nexport default SingleSelectList;\n","import React from \"react\";\nimport { ArrowRight } from \"../../icons\";\nimport { cn } from \"../../utils/cn\";\nimport { useSingleSelect } from \"./Dropdown\";\n\ntype StyleConfig = {\n container?: string;\n trigger?: string;\n arrowIcon?: string;\n arrowIconWrapper?: string;\n};\n\nexport type SingleSelectTriggerProps = {\n defaultPlaceholder: string;\n className?: string;\n styles?: StyleConfig;\n};\n\nconst defaultStyles = {\n container: \"relative text-bdp-primary-text\",\n trigger:\n \"block bg-transparent text-base text-bdp-accent 2xl:text-base font-medium w-full pl-6 py-4 rounded-xl border-[1px] border-bdp-stroke focus:outline-none focus:outline-bdp-secondary-text focus:outline-offset-0 leading-none\",\n arrowIcon: \"\",\n arrowIconWrapper:\n \"absolute p-2 cursor-pointer top-1/2 -translate-y-1/2 right-[18px] rotate-90 data-[is-open=false]:-rotate-90 transition-transform\",\n} as const;\n\nconst SingleSelectTrigger = ({\n defaultPlaceholder,\n className,\n styles = {},\n}: SingleSelectTriggerProps) => {\n const { selectedOption, toggleListOpen, isListOpen, triggerRef } =\n useSingleSelect();\n\n return (\n \n \n \n \n \n \n );\n};\n\nexport default SingleSelectTrigger;\n","\"use client\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ntype StyleConfig = {\n container?: string;\n bannerInfoContainer?: string;\n bodyText?: string;\n headingText?: string;\n link?: string;\n icon?: string;\n boss?: string;\n};\ntype Links = {\n linkText: string;\n linkTo: string;\n};\ntype Props = Links & {\n bodyText?: string;\n headingText: string;\n styles?: StyleConfig;\n hasBoss?: boolean;\n};\n\nconst defaultStyles = {\n container:\n \"dark:text-bdp-white dark:shadow-dark-light gap-2 flex items-center justify-between w-full px-2 sm:px-4 shadow-md transition-all duration-200 ease-in-out text-center\",\n bannerInfoContainer: `flex flex-col flex-[1_1_auto]`,\n headingText: \"font-semibold text-sm md:text-lg\",\n bodyText: \"text-sm md:text-base\",\n link: \"text-bdp-accent underline font-semibold text-xs md:text-sm\",\n icon: \"text-bdp-lightGrey hover:text-red-500 transition-all duration-200 ease-in-out\",\n boss: \"text-bdp-accent text-base md:text-lg\",\n} as const;\n\nexport function Banner({\n bodyText,\n headingText,\n styles = {},\n hasBoss,\n ...rest\n}: Props) {\n const [showBanner, setShowBanner] = useState(true);\n\n return (\n \n \n {!!headingText && (\n

\n {headingText}\n {hasBoss && (\n â‚¿OSS\n )}\n

\n )}\n {!!bodyText && (\n

\n {bodyText}\n

\n )}\n {!!rest.linkText && (\n setShowBanner(false)}\n className={cn(defaultStyles.link, styles.link)}\n href={rest.linkTo}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {rest.linkText}\n \n )}\n \n setShowBanner(false)}\n data-show-banner={showBanner}\n className={cn(\n defaultStyles.icon,\n \"opacity-1\",\n \"data-[show-banner='false']:opacity-0\",\n styles.icon,\n )}\n >\n \n \n \n \n \n );\n}\n"],"mappings":"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","names":["React","import_react","import_react","React","clsx","import_react","import_tailwind_merge","import_clsx","React","clsx","import_react","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","import_tailwind_merge","import_clsx","entity","React","clsx","import_react","import_tailwind_merge","import_clsx","React","clsx","import_tailwind_merge","import_clsx","React","clsx","import_react","import_react","import_tailwind_merge","import_clsx","React","clsx","React","scrollLeft","import_react","import_react","_a","import_react","import_tailwind_merge","import_clsx","React","import_react","import_react","defaultStyles","React","React","React","import_react","import_react","React","option","import_react","defaultStyles","React","React","import_react","defaultStyles","React"]} \ No newline at end of file +{"version":3,"sources":["../src/index.ts","../src/components/button/Button.tsx","../src/components/footer/Footer.tsx","../src/components/footer/FooterAbout.tsx","../src/components/footer/FooterFeedback.tsx","../src/components/footer/FooterSocials.tsx","../src/icons/AppsIcon.tsx","../src/icons/ArrowLeft.tsx","../src/icons/ArrowLinkRight.tsx","../src/icons/ArrowLinkUpRight.tsx","../src/icons/ArrowRight.tsx","../src/icons/ArrowUp.tsx","../src/icons/AuthorIcon.tsx","../src/icons/BitcoinIcon.tsx","../src/icons/BookmarkIcon.tsx","../src/icons/CalendarIcon.tsx","../src/icons/CloseIconOutlined.tsx","../src/icons/DateIcon.tsx","../src/icons/DayIcon.tsx","../src/icons/DiceIcon.tsx","../src/icons/DiscordIcon.tsx","../src/icons/FilterIcon.tsx","../src/icons/FilterCloseIcon.tsx","../src/icons/GithubIcon.tsx","../src/icons/LightningIconSolid.tsx","../src/icons/MicIcon.tsx","../src/icons/NightIcon.tsx","../src/icons/NostrIcon.tsx","../src/icons/PlusIcon.tsx","../src/icons/SearchIcon.tsx","../src/icons/SortIcon.tsx","../src/icons/SourceIcon.tsx","../src/icons/TimeIcon.tsx","../src/icons/TwitterXIcon.tsx","../src/components/footer/FooterPublic.tsx","../src/components/carousel/Carousel.tsx","../src/components/carousel/defaults.ts","../src/utils/index.ts","../src/components/carousel/CarouselComponents.tsx","../src/components/select/MultiSelect.tsx","../src/components/select/useSelectNavigate.tsx","../src/utils/navigation.ts","../src/components/select/SelectInput.tsx","../src/utils/cn.ts","../src/components/select/SelectList.tsx","../src/utils/filter.ts","../src/components/select/BaseSelectList.tsx","../src/components/select/Dropdown.tsx","../src/components/select/SingleSelectList.tsx","../src/components/select/SingleSelectInput.tsx","../src/components/banner/Banner.tsx"],"sourcesContent":["export * from \"./components/button\";\nexport * from \"./components/footer\";\nexport * from \"./components/carousel\";\nexport * from \"./components/select\";\nexport * from \"./components/banner\";\n","// src/components/Button/Button.tsx\n\nimport React from \"react\";\nexport interface ButtonProps {\n label: string;\n onClick?: () => void;\n variant?: \"primary\" | \"secondary\";\n size?: \"small\" | \"medium\" | \"large\";\n disabled?: boolean;\n}\n\nexport const Button: React.FC = ({\n label,\n onClick,\n variant = \"primary\",\n size = \"medium\",\n disabled = false,\n}) => {\n const baseStyles = \"font-bold py-2 px-4 rounded\";\n const variantStyles = {\n primary: \"bg-blue-500 hover:bg-blue-700 text-white\",\n secondary: \"bg-gray-300 hover:bg-gray-400 text-gray-800\",\n };\n const sizeStyles = {\n small: \"text-sm\",\n medium: \"text-base\",\n large: \"text-lg\",\n };\n\n const className = `\n ${baseStyles}\n ${variantStyles[variant]}\n ${sizeStyles[size]}\n ${disabled ? \"opacity-50 cursor-not-allowed\" : \"\"}\n `.trim();\n\n return (\n \n );\n};\n","import React from \"react\";\nimport FooterAbout, { FooterAboutProps } from \"./FooterAbout\";\nimport FooterFeedback, { FooterFeedbackProps } from \"./FooterFeedback\";\nimport { FooterSocials, FooterSocialsProps } from \"./FooterSocials\";\nimport FooterPublic, { FooterPublicProps } from \"./FooterPublic\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterRootProps\n extends FooterPartsPrimitiveProps {\n separator?: React.ReactElement;\n}\n\nconst Separator = () => (\n \n );\n};\n\nFooter.About = FooterAbout;\nFooter.Feedback = FooterFeedback;\nFooter.Socials = FooterSocials;\nFooter.Public = FooterPublic;\n\nexport { Footer, Separator };\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterAboutProps\n extends FooterPartsPrimitiveProps {\n entityLink?: string;\n entityName?: string;\n}\n\nconst FooterAbout = (props: React.PropsWithChildren) => {\n const { className, children, entityLink, entityName, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n\n return (\n \n Built with 🧡 by the{\" \"}\n \n {entityName ?? \"Bitcoin Dev Project\"}\n \n \n );\n};\n\nFooterAbout.displayName = \"FooterAbout\";\nexport default FooterAbout;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterFeedbackProps\n extends FooterPartsPrimitiveProps {\n feedbackLink: string;\n}\n\nconst FooterFeedback = (\n props: React.PropsWithChildren,\n) => {\n const { className, children, feedbackLink, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n return (\n \n We'd love to hear your feedback on this project?\n \n Give Feedback\n \n \n );\n};\n\nFooterFeedback.displayName = \"FooterFeedback\";\nexport default FooterFeedback;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { TwitterXIcon, GithubIcon, DiscordIcon, NostrIcon } from \"../../icons\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\ntype SupportedSocialMedia = \"twitter\" | \"github\" | \"discord\" | \"nostr\";\n\ntype ManadatorySocialMediaProps = {\n entityLink: string;\n iconProps?: React.SVGProps;\n} & T;\n\ntype SocialMediaProps =\n | ManadatorySocialMediaProps<{\n entity: SupportedSocialMedia;\n icon?: React.ReactElement;\n }>\n | ManadatorySocialMediaProps<{\n entity: Exclude;\n icon: React.ReactElement;\n }>;\n\nexport interface FooterSocialsProps\n extends FooterPartsPrimitiveProps {\n platforms: SocialMediaProps[];\n}\n\nconst Platform = ({ platform }: { platform: SocialMediaProps }) => {\n const { entity, entityLink, icon, iconProps } = platform;\n const { className, ...rest } = iconProps ?? {};\n const getIcon = (entity: SocialMediaProps[\"entity\"]) => {\n if (icon) {\n return React.cloneElement(icon, { ...rest, className });\n }\n if (entity === \"twitter\") {\n return (\n \n );\n }\n if (entity === \"github\") {\n return (\n \n );\n }\n if (entity === \"discord\") {\n return (\n \n );\n }\n if (entity === \"nostr\") {\n return (\n \n );\n }\n };\n const iconElement = getIcon(entity);\n\n return (\n
\n \n {iconElement}\n \n
\n );\n};\n\n/**\n * FooterSocials Component\n * @description Renders social media icons with links in the footer.\n * @param {FooterSocialsProps} props - The component props\n * @param {SocialMediaProps[]} props.platforms - Array of social media platform configurations\n * @remarks\n * Provides corresponding icons for twitter, github, discord, and nostr entities.\n * If a custom string is passed as entity, the icon prop is required.\n */\n\nexport const FooterSocials = (\n props: React.PropsWithChildren,\n) => {\n const { className: classname, children, platforms, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n const resolvedClassName = twMerge(\n clsx(\n \"text-black mb-[6px] md:mb-0 dark:text-white flex w-fit max-w-full gap-[24px]\",\n classname,\n ),\n );\n return (\n
\n {platforms.map((platform) => (\n \n ))}\n
\n );\n};\n\nFooterSocials.displayName = \"FooterSocials\";\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst AppsIcon = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default AppsIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowLeft = ({\n width = 7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowLeft;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst ArrowLinkRight = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default ArrowLinkRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst ArrowLinkUpRight = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default ArrowLinkUpRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowRight = ({\n width = 7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowUp = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowUp;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst AuthorIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default AuthorIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst BitcoinIcon = ({\n width = 18,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default BitcoinIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst BookmarkIcon = ({\n width = 25,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default BookmarkIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst CalendarIcon = ({\n width = 23,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n \n \n);\n\nexport default CalendarIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst CloseIconOutlined = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default CloseIconOutlined;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DateIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default DateIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst DayIcon = ({ width = 16, height, ...props }: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default DayIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DiceIcon = ({\n width = 23,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n \n);\n\nexport default DiceIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DiscordIcon = ({\n width = 45,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n \n \n \n);\n\nexport default DiscordIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst FilterIcon = ({\n width = 13,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default FilterIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst FilterCloseIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default FilterCloseIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst GithubIcon = ({\n width = 52,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default GithubIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst LightningIconSolid = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default LightningIconSolid;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst MicIcon = ({\n width = 27,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n);\n\nexport default MicIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst NightIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...svgProps\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default NightIcon;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst NostrIcon = ({\n width = 31,\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n);\n\nexport default NostrIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst PlusIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default PlusIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst SearchIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\nexport default SearchIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst SortIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n \n \n \n);\n\nexport default SortIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst SourceIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default SourceIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst TimeIcon = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default TimeIcon;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst TwitterXIcon = ({\n width = 37,\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n);\n\nexport default TwitterXIcon;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterPublicProps\n extends FooterPartsPrimitiveProps {\n dashboardLink: string;\n}\n\nconst FooterPublic = ({\n className,\n dashboardLink,\n ...rest\n}: FooterPublicProps) => {\n return (\n \n View our public visitor count\n \n );\n};\n\nexport default FooterPublic;\n","\"use client\";\n\nimport React, { useCallback, useLayoutEffect, useMemo, useRef } from \"react\";\nimport { CarouselConfig, DefaultCarouselConfig } from \"./defaults\";\nimport { throttledDebounce } from \"../../utils\";\nimport {\n CarouselButtonProps,\n CarouselContainer,\n CarouselContainerProps,\n CarouselControlProps,\n CarouselControls,\n CarouselItem,\n CarouselItemProps,\n CarouselNextButton,\n CarouselPreviousButton,\n} from \"./CarouselComponents\";\n\nexport interface CarouselContextType {\n containerRef: React.RefObject;\n totalCarouselItems: number;\n goToNextSlide: () => void;\n goToPreviousSlide: () => void;\n possibleDirection: {\n canGoToNextSlide: boolean;\n canGoToPreviousSlide: boolean;\n };\n}\n\nconst CarouselContext = React.createContext(null);\n\nexport const useCarousel = () => {\n const context = React.useContext(CarouselContext);\n if (!context) {\n throw new Error(\"useCarousel must be used within a CarouselProvider\");\n }\n return context;\n};\n\nexport interface CarouselProviderProps {\n children: React.ReactNode;\n containerRef: React.RefObject;\n config?: CarouselConfig;\n}\n\nconst CarouselProvider: React.FC = ({\n children,\n containerRef,\n config = DefaultCarouselConfig,\n}) => {\n const { stepWidthInPercent } = config;\n\n const [carouselWidth, setCarouselWidth] = React.useState(0);\n const [scrollableWidth, setScrollableWidth] = React.useState(0);\n const [scrollLeft, setScrollLeft] = React.useState(0);\n\n const possibleDirection = useMemo(() => {\n if (!containerRef.current)\n return { canGoToNextSlide: false, canGoToPreviousSlide: false };\n const canGoToNextSlide = scrollLeft < scrollableWidth - carouselWidth;\n const canGoToPreviousSlide = scrollLeft > 0;\n return { canGoToNextSlide, canGoToPreviousSlide };\n }, [containerRef, scrollableWidth, carouselWidth, scrollLeft]);\n\n const handleScroll = throttledDebounce(() => {\n if (!containerRef.current) return;\n setScrollLeft(containerRef.current?.scrollLeft ?? 0);\n }, 200);\n\n // init update containerRef details on mount and resize\n useLayoutEffect(() => {\n if (!containerRef.current) return;\n\n const updateSize = throttledDebounce(() => {\n setCarouselWidth(containerRef.current?.clientWidth ?? 0);\n setScrollableWidth(containerRef.current?.scrollWidth ?? 0);\n setScrollLeft(containerRef.current?.scrollLeft ?? 0);\n }, 200);\n\n const resizeObserver = new ResizeObserver(updateSize);\n resizeObserver.observe(containerRef.current);\n\n // Initial size update\n updateSize();\n\n return () => {\n if (containerRef.current) {\n resizeObserver.unobserve(containerRef.current);\n }\n };\n }, []);\n\n // update scroll position on scroll\n useLayoutEffect(() => {\n if (!containerRef.current) return;\n\n containerRef.current?.addEventListener(\"scroll\", handleScroll);\n\n return () => {\n if (containerRef.current) {\n containerRef.current.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, []);\n\n const totalCarouselItems = useMemo(() => {\n return containerRef.current?.children.length ?? 0;\n }, [containerRef]);\n\n const goToNextSlide = useCallback(() => {\n if (!containerRef.current) return;\n const stepWidth =\n (containerRef.current.clientWidth * stepWidthInPercent) / 100;\n const responsiveStepWidth =\n stepWidth < containerRef.current.children[0].clientWidth\n ? containerRef.current.clientWidth\n : stepWidth;\n const scrollLeft = containerRef.current.scrollLeft + responsiveStepWidth;\n containerRef.current.scrollTo({\n left: scrollLeft,\n behavior: \"smooth\",\n });\n }, [containerRef, stepWidthInPercent]);\n\n const goToPreviousSlide = useCallback(() => {\n if (!containerRef.current) return;\n const stepWidth =\n (containerRef.current.clientWidth * stepWidthInPercent) / 100;\n // const responsiveStepWidth = Math.max(containerRef.current.clientWidth, containerRef.current.clientWidth * stepWidthInPercent / 100) ;\n const responsiveStepWidth =\n stepWidth < containerRef.current.children[0].clientWidth\n ? containerRef.current.clientWidth\n : stepWidth;\n const scrollLeft = Math.max(\n 0,\n containerRef.current.scrollLeft - responsiveStepWidth,\n );\n containerRef.current.scrollTo({\n left: scrollLeft,\n behavior: \"smooth\",\n });\n }, [containerRef, stepWidthInPercent]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const Carousel: React.FC> & {\n Container: React.FC;\n Item: React.FC;\n Controls: React.FC;\n PreviousButton: React.FC;\n NextButton: React.FC;\n} = ({ children, config }: Omit) => {\n const containerRef = useRef(null);\n return (\n \n {children}\n \n );\n};\n\nCarousel.Container = CarouselContainer;\nCarousel.Item = CarouselItem;\nCarousel.Controls = CarouselControls;\nCarousel.PreviousButton = CarouselPreviousButton;\nCarousel.NextButton = CarouselNextButton;\n","export type CarouselConfig = {\n stepWidthInPercent: number;\n // TODO: Add support for scrollSteps\n // scrollSteps?: number;\n};\n\nexport const DefaultCarouselConfig: CarouselConfig = {\n stepWidthInPercent: 100,\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce void>(\n func: T,\n wait: number,\n): (...args: Parameters) => void {\n let timeout: ReturnType | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: Parameters) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n const later = () => {\n timeout = null;\n func.apply(context, args);\n };\n\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(later, wait);\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function throttledDebounce void>(\n func: T,\n limit: number,\n): (...args: Parameters) => void {\n let inThrottle: boolean = false;\n let lastArgs: Parameters | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: Parameters) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n if (!inThrottle) {\n func.apply(context, args);\n inThrottle = true;\n setTimeout(() => {\n inThrottle = false;\n if (lastArgs) {\n func.apply(context, lastArgs);\n lastArgs = null;\n }\n }, limit);\n } else {\n lastArgs = args;\n }\n };\n}\n\nexport const numberFormat = new Intl.NumberFormat(\"en-US\", {\n compactDisplay: \"short\",\n notation: \"compact\",\n});\n","import React from \"react\";\nimport { CarouselContextType, useCarousel } from \"./Carousel\";\nimport { ComponentStylePrimitiveProps } from \"../../primitives/types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface CarouselContainerProps\n extends ComponentStylePrimitiveProps {\n children: React.ReactNode;\n}\n\nexport const CarouselContainer: React.FC = ({\n children,\n ...props\n}) => {\n const { className, ...rest } = props;\n const { containerRef } = useCarousel();\n return (\n \n {children}\n \n );\n};\n\nexport type CarouselItemProps = CarouselContainerProps;\n\nexport const CarouselItem: React.FC = ({\n children,\n ...props\n}) => {\n const { className, ...rest } = props;\n return (\n \n {children}\n \n );\n};\n\nexport interface CarouselControlProps\n extends ComponentStylePrimitiveProps {\n children: React.ReactNode;\n}\n\nexport const CarouselControls: React.FC = ({\n children,\n className,\n ...props\n}) => {\n return (\n \n {children}\n \n );\n};\nexport interface CarouselButtonProps\n extends Omit, \"children\"> {\n children?:\n | React.ReactNode\n | ((\n goToPreviousSlide: () => void,\n possibleDirection: CarouselContextType[\"possibleDirection\"],\n ) => React.ReactNode);\n icon: React.ReactNode;\n}\n\nexport const CarouselPreviousButton: React.FC = ({\n children,\n ...props\n}) => {\n const { goToPreviousSlide, possibleDirection } = useCarousel();\n\n if (children) {\n if (typeof children === \"function\") {\n return <>{children(goToPreviousSlide, possibleDirection)};\n } else {\n console.warn(\n \"CarouselPreviousButton: Children prop is not a function (opts out of navigation logic). Rendering children as-is.\",\n );\n return <>{children};\n }\n }\n\n const { icon, className, ...rest } = props;\n\n return (\n \n {icon}\n \n );\n};\n\nexport const CarouselNextButton: React.FC = ({\n children,\n ...props\n}) => {\n const { goToNextSlide, possibleDirection } = useCarousel();\n\n if (children) {\n if (typeof children === \"function\") {\n return <>{children(goToNextSlide, possibleDirection)};\n } else {\n console.warn(\n \"CarouselNextButton: Children prop is not a function (opts out of navigation logic). Rendering children as-is.\",\n );\n return <>{children};\n }\n }\n\n const { icon, className, ...rest } = props;\n\n return (\n \n {icon}\n \n );\n};\n","import React, { useState } from \"react\";\nimport useCheckboxNavigate from \"./useSelectNavigate\";\nimport SelectInput, { SelectInputProps } from \"./SelectInput\";\nimport SelectList, { MultiSelectListProps } from \"./SelectList\";\n\nexport type SelectContextType = {\n containerRef: React.MutableRefObject | null;\n setContainerRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n searchInputRef: React.MutableRefObject | null;\n setSearchInputRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n isListOpen: boolean;\n toggleListOpen: () => void;\n currentNavigateCheckbox: string;\n toggleRefocus: () => void;\n onSearch: (value: string) => void;\n inputValue: string;\n};\n\ntype SelectProviderProps = {\n children: React.ReactNode;\n isCollapsible?: boolean;\n};\n\nconst SelectContext = React.createContext(null);\nexport const useMultiSelect = () => {\n const context = React.useContext(SelectContext);\n if (!context) {\n throw new Error(\"useMultiSelect must be used within a MultiSelectProvider\");\n }\n return context;\n};\n\nexport const MultiSelectProvider = ({\n children,\n isCollapsible = true,\n}: SelectProviderProps) => {\n const [containerRef, setContainerRef] =\n useState | null>(null);\n const [searchInputRef, setSearchInputRef] =\n useState | null>(null);\n\n const [isListOpen, setIsListOpen] = useState(true);\n\n const toggleListOpen = () => {\n if (!isCollapsible) return;\n setIsListOpen((prev) => !prev);\n };\n\n const [inputValue, setInputValue] = useState(\"\");\n\n const { currentNavigateCheckbox, toggleRefocus } = useCheckboxNavigate({\n checkboxContainer: containerRef,\n searchEl: searchInputRef,\n options: [],\n });\n\n // const [currentNavigateCheckbox, setcurrentNavigateCheckbox] = useState(\"\")\n const onSearch = (value: string) => {\n const newValue = value.trim();\n setInputValue(newValue);\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport const MultiSelect: React.FC & {\n Input: React.FC;\n List: React.FC;\n} = ({ children, isCollapsible = true }: SelectProviderProps) => {\n return (\n \n {children}\n \n );\n};\n\nMultiSelect.Input = SelectInput;\nMultiSelect.List = SelectList;\n","import { useEffect, useRef, useState } from \"react\";\nimport { isInViewport } from \"../../utils/navigation\";\n\ntype ChekboxNavigateProps = {\n checkboxContainer: React.MutableRefObject | null;\n searchEl: React.MutableRefObject | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options: any[];\n};\n\nconst useCheckboxNavigate = ({\n checkboxContainer,\n searchEl,\n options,\n}: ChekboxNavigateProps) => {\n const checkboxNavIndex = useRef(null);\n\n const [currentNavigateCheckbox, setcurrentNavigateCheckbox] = useState(\"\");\n\n const refocus = useRef(false);\n\n const toggleRefocus = () => {\n refocus.current = !refocus.current;\n };\n\n useEffect(() => {\n if (!checkboxContainer || !searchEl) return;\n const multiCheckboxWrapper = checkboxContainer.current;\n const multiCheckboxList =\n multiCheckboxWrapper &&\n (Array.from(multiCheckboxWrapper?.children) as HTMLElement[]);\n const searchInput = searchEl.current;\n // focus back to search when options changes\n if (refocus.current) {\n if (searchInput) {\n searchInput.focus();\n }\n toggleRefocus();\n }\n\n let currentCheckboxNavIndex = checkboxNavIndex.current;\n\n const handleOptionNavigation = (e: KeyboardEvent) => {\n if (currentNavigateCheckbox && currentCheckboxNavIndex === null) {\n const isPrevCheckInListIdx = multiCheckboxList.findIndex(\n (label) => label?.dataset?.checkbox === currentNavigateCheckbox,\n );\n if (isPrevCheckInListIdx !== -1) {\n currentCheckboxNavIndex = isPrevCheckInListIdx;\n }\n }\n\n switch (e.key) {\n // downArrow\n case \"ArrowDown\":\n e.preventDefault();\n if (currentCheckboxNavIndex === null) {\n currentCheckboxNavIndex = 0;\n } else {\n if (currentCheckboxNavIndex >= multiCheckboxList.length - 1) {\n currentCheckboxNavIndex = 0;\n } else {\n currentCheckboxNavIndex += 1;\n }\n }\n break;\n\n // upArrow\n case \"ArrowUp\":\n e.preventDefault();\n if (currentCheckboxNavIndex === null) {\n currentCheckboxNavIndex = multiCheckboxList.length - 1;\n } else {\n if (currentCheckboxNavIndex === 0) {\n currentCheckboxNavIndex = multiCheckboxList.length - 1;\n } else {\n currentCheckboxNavIndex -= 1;\n }\n }\n break;\n\n // Enter\n case \"Enter\": {\n e.preventDefault();\n if (currentCheckboxNavIndex) {\n const input =\n multiCheckboxList[currentCheckboxNavIndex]?.querySelector(\n '[role=\"button\"]',\n );\n if (input) {\n (input as HTMLButtonElement).click();\n }\n }\n break;\n }\n\n default:\n break;\n }\n\n const currentLabel =\n typeof currentCheckboxNavIndex === \"number\"\n ? multiCheckboxList[currentCheckboxNavIndex]\n : null;\n\n if (currentLabel) {\n const inViewPort = isInViewport(currentLabel);\n if (!inViewPort) {\n currentLabel.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n inline: \"nearest\",\n });\n }\n }\n setcurrentNavigateCheckbox(currentLabel?.dataset?.checkbox ?? \"\");\n };\n\n if (searchInput) {\n searchInput.addEventListener(\"keydown\", handleOptionNavigation);\n searchInput.addEventListener(\"focusout\", () =>\n setcurrentNavigateCheckbox(\"\"),\n );\n }\n\n return () => {\n if (searchInput) {\n searchInput.removeEventListener(\"keydown\", handleOptionNavigation);\n searchInput.removeEventListener(\"focusout\", () =>\n setcurrentNavigateCheckbox(\"\"),\n );\n }\n };\n }, [options, checkboxContainer, searchEl, currentNavigateCheckbox]);\n\n return { currentNavigateCheckbox, toggleRefocus };\n};\n\nexport default useCheckboxNavigate;\n","export function isInViewport(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n}\n","import React, { useEffect, useRef } from \"react\";\nimport { SearchIcon, ArrowRight } from \"../../icons\";\nimport { cn } from \"../../utils/cn\";\nimport { useMultiSelect } from \"./MultiSelect\";\n\ntype StyleConfig = {\n container?: string;\n input?: string;\n searchIcon?: string;\n searchIconWrapper?: string;\n arrowIcon?: string;\n arrowIconWrapper?: string;\n};\n\nexport type SelectInputProps = {\n defaultPlaceholder: string;\n className?: string;\n styles?: StyleConfig;\n};\n\nconst defaultStyles = {\n container: \"relative text-bdp-primary-text\",\n input:\n \"bg-transparent text-base 2xl:text-base font-medium w-full pl-12 pr-10 py-4 rounded-xl border-[1px] border-bdp-stroke focus:outline-none focus:outline-bdp-secondary-text focus:outline-offset-0 leading-none\",\n searchIcon: \"stroke-bdp-secondary-text w-[16px] h-[16px]\",\n searchIconWrapper: \"absolute top-1/2 -translate-y-1/2 left-[18px]\",\n arrowIcon: \"\",\n arrowIconWrapper:\n \"absolute p-2 cursor-pointer top-1/2 -translate-y-1/2 right-[18px] rotate-90 data-[is-open=false]:-rotate-90 transition-transform\",\n} as const;\n\nconst SelectInput = ({\n defaultPlaceholder,\n className,\n styles = {},\n}: SelectInputProps) => {\n const selectContextData = useMultiSelect();\n\n const searchRef = useRef(null!);\n const {\n currentNavigateCheckbox,\n toggleListOpen,\n isListOpen,\n onSearch,\n searchInputRef,\n setSearchInputRef,\n } = selectContextData;\n\n useEffect(() => {\n if (searchRef.current && !searchInputRef) {\n setSearchInputRef(searchRef);\n }\n }, []);\n\n return (\n
\n {\n onSearch(e.target.value);\n }}\n ref={searchRef}\n />\n \n \n \n \n \n \n
\n );\n};\n\nexport default SelectInput;\n","import { twMerge } from \"tailwind-merge\";\nimport { clsx } from \"clsx\";\n\nexport function cn(...inputs: (string | undefined)[]) {\n return twMerge(clsx(inputs));\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport { matchCharactersWithRegex } from \"../../utils/filter\";\nimport BaseSelectList, { SelectListProps } from \"./BaseSelectList\";\nimport { useMultiSelect } from \"./MultiSelect\";\n\nexport type MultiSelectListProps = Omit;\n\nconst SelectList = (props: MultiSelectListProps) => {\n const selectContextData = useMultiSelect();\n\n const containerRef = useRef(null!);\n const {\n containerRef: containerRefProvider,\n setContainerRef,\n isListOpen,\n currentNavigateCheckbox,\n inputValue: searchTerm,\n } = selectContextData;\n\n useEffect(() => {\n if (!containerRefProvider && containerRef.current) {\n setContainerRef(containerRef);\n }\n }, []);\n\n const filteredOptions = useMemo(() => {\n if (searchTerm.trim()) {\n return props.options.filter((option) => {\n return matchCharactersWithRegex(option.label, searchTerm.trim());\n });\n }\n return props.options;\n }, [props.options, searchTerm]);\n\n return (\n \n );\n};\n\nexport default SelectList;\n","export function matchCharactersWithRegex(word: string, searchTerm: string) {\n const escapedSearchTerm = searchTerm.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\n const regexPattern = escapedSearchTerm\n .split(\"\")\n .map((char) => `(?=.*${char})`)\n .join(\"\");\n\n const regex = new RegExp(regexPattern, \"i\"); // 'i' flag for case-insensitive matching\n\n return regex.test(word);\n}\n","import { LightningIconSolid } from \"../../icons\";\nimport { numberFormat } from \"../../utils\";\nimport { cn } from \"../../utils/cn\";\nimport React from \"react\";\n\nexport type BaseSelectContextTypeForList = {\n isListOpen: boolean;\n currentNavigateCheckbox: string;\n containerRef: React.MutableRefObject | null;\n};\n\nexport type SelectOption = {\n label: string;\n count?: number;\n value: string;\n selected: boolean;\n};\n\ntype StyleConfig = {\n container?: string;\n optionWrapper?: string;\n selectedOption?: string;\n optionInner?: string;\n icon?: string;\n label?: string;\n count?: string;\n noResults?: string;\n};\n\nexport type OnOptionSelect = ({\n action,\n value,\n event,\n}: {\n action: \"select\" | \"deselect\";\n value: string;\n event: React.MouseEvent;\n}) => void;\n\nexport type SelectListProps = {\n options: SelectOption[];\n label: string;\n onOptionSelect: OnOptionSelect;\n className?: string;\n styles?: StyleConfig;\n noResultsMessage?: string; // New: Customizable empty state\n selectContextData: BaseSelectContextTypeForList;\n};\n\nconst defaultStyles = {\n container:\n \"scroller font-medium mt-2 max-h-[300px] py-[6px] overflow-auto border border-bdp-stroke rounded-xl data-[is-open='false']:hidden\",\n optionWrapper: `flex gap-1 py-1 2xl:py-2 px-[14px] group/checkOption hover:bg-bdp-hover-state data-[current-navigated=true]:bg-bdp-hover-state\n group-hover/container:data-[current-navigated=true]:bg-transparent\n group-hover/container:data-[current-navigated=true]:hover:bg-bdp-hover-state\n data-[selected=true]:text-bdp-accent text-bdp-primary-text`,\n optionInner: \"selectable-option flex grow items-center gap-3\",\n icon: \"shrink-0 group-data-[selected=false]/checkOption:invisible w-[12px] 2xl:w-[16px] h-auto\",\n label:\n \"grow capitalize text-sm 2xl:text-base group-data-[selected=true]/checkOption:font-bold\",\n count: \"shrink-0 group-data-[selected=true]/checkOption:font-medium\",\n noResults: \"w-full text-sm 2xl:text-base text-center px-2\",\n} as const;\n\nconst BaseSelectList = ({\n options,\n label,\n onOptionSelect,\n className,\n styles = {},\n noResultsMessage = \"No matching options\",\n selectContextData,\n}: SelectListProps) => {\n const { isListOpen, currentNavigateCheckbox, containerRef } =\n selectContextData;\n return (\n \n {options.length < 1 && (\n

\n {noResultsMessage}\n

\n )}\n {options?.map((option) => {\n const checked = option.selected;\n const value = option.value;\n return (\n \n \n onOptionSelect({ action: \"select\", value, event })\n }\n role=\"button\"\n aria-label={`${\n checked ? \"uncheck\" : \"check\"\n } filter ${label}:${option.label}`}\n >\n \n \n \n {option.label}\n \n \n {option.count ? (\n \n {numberFormat.format(option.count)}\n \n ) : null}\n \n \n );\n })}\n \n );\n};\n\nexport default BaseSelectList;\n","\"use client\";\n\nimport React, { createContext, useCallback, useState } from \"react\";\nimport SingleSelectList, {\n SingleSelectListProps,\n SingleSelectOption,\n} from \"./SingleSelectList\";\nimport SingleSelectTrigger, {\n SingleSelectTriggerProps,\n} from \"./SingleSelectInput\";\n\ntype StyleConfig = {\n container?: string;\n input?: string;\n list?: string;\n option?: string;\n};\n\ntype SelectContextType = {\n isListOpen: boolean;\n toggleListOpen: () => void;\n selectedOption: SingleSelectOption | null;\n setSelectedOption: (option: SingleSelectOption | null) => void;\n containerRef: React.MutableRefObject | null;\n setContainerRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n handleSelectOption: (option: SingleSelectOption) => void;\n triggerRef: React.RefObject;\n};\n\nconst SingleSelectContext = createContext(null);\nexport const useSingleSelect = () => {\n const context = React.useContext(SingleSelectContext);\n if (!context) {\n throw new Error(\n \"useSingleSelect must be used within a SingleSelectProvider\",\n );\n }\n return context;\n};\n\ntype SingleSelectProviderProps = {\n children: React.ReactNode;\n triggerRef: React.RefObject;\n className?: string;\n styles?: StyleConfig;\n disabled?: boolean;\n};\n\nconst SingleSelectProvider = ({\n children,\n triggerRef,\n disabled = false,\n}: SingleSelectProviderProps) => {\n const [isListOpen, setIsListOpen] = useState(false);\n const [containerRef, setContainerRef] =\n useState | null>(null);\n const [selectedOption, setSelectedOption] =\n useState(null);\n\n const toggleListOpen = () => {\n if (!disabled) {\n setIsListOpen((prev) => !prev);\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleSelectOption = (_option: SingleSelectOption) => {\n setIsListOpen(false);\n };\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n if (\n containerRef?.current &&\n triggerRef?.current &&\n !containerRef.current.contains(event.target as Node) &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n setIsListOpen(false);\n }\n },\n [containerRef, isListOpen],\n );\n\n React.useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [containerRef]);\n\n const contextValue = {\n isListOpen,\n toggleListOpen,\n selectedOption,\n setSelectedOption,\n handleSelectOption,\n containerRef,\n setContainerRef,\n triggerRef,\n };\n\n return (\n \n
{children}
\n
\n );\n};\n\nexport const SingleSelect: React.FC<\n Omit\n> & {\n List: React.FC;\n Trigger: React.FC;\n} = ({\n children,\n disabled = false,\n}: Omit) => {\n const triggerRef = React.useRef(null);\n return (\n \n {children}\n \n );\n};\n\nSingleSelect.List = SingleSelectList;\nSingleSelect.Trigger = SingleSelectTrigger;\n","import React, { useEffect } from \"react\";\nimport BaseSelectList, { SelectListProps } from \"./BaseSelectList\";\nimport { useSingleSelect } from \"./Dropdown\";\n\nexport type SingleSelectOption = {\n label: string;\n value: string;\n};\n\nexport type OptionSelectHandler = (option: SingleSelectOption) => void;\n\nexport type SingleSelectListProps = Omit<\n SelectListProps,\n \"selectContextData\" | \"options\" | \"onOptionSelect\"\n> & {\n options: SingleSelectOption[];\n value: string;\n onOptionSelect: OptionSelectHandler;\n};\n\nconst SingleSelectList = (props: SingleSelectListProps) => {\n const {\n isListOpen,\n containerRef: containerRefProvider,\n setContainerRef,\n handleSelectOption,\n setSelectedOption,\n } = useSingleSelect();\n const containerRef = React.useRef(null!);\n\n useEffect(() => {\n if (!containerRefProvider && containerRef.current) {\n setContainerRef(containerRef);\n }\n }, []);\n\n const handleOption = ({\n value,\n }: {\n action: \"select\" | \"deselect\";\n value: string;\n event: React.MouseEvent;\n }) => {\n const option = props.options.find((option) => option.value === value);\n if (option) {\n handleSelectOption(option);\n props.onOptionSelect(option);\n }\n };\n\n const managedOptions = props.options.map((option) => ({\n ...option,\n selected: option.value === props.value,\n }));\n\n useEffect(() => {\n setSelectedOption(\n props.options.find((option) => option.value === props.value) || null,\n );\n }, [props.value, props.options]);\n\n return (\n \n );\n};\n\nexport default SingleSelectList;\n","import React from \"react\";\nimport { ArrowRight } from \"../../icons\";\nimport { cn } from \"../../utils/cn\";\nimport { useSingleSelect } from \"./Dropdown\";\n\ntype StyleConfig = {\n container?: string;\n trigger?: string;\n arrowIcon?: string;\n arrowIconWrapper?: string;\n};\n\nexport type SingleSelectTriggerProps = {\n defaultPlaceholder: string;\n className?: string;\n styles?: StyleConfig;\n};\n\nconst defaultStyles = {\n container: \"relative text-bdp-primary-text\",\n trigger:\n \"block bg-transparent text-base text-bdp-accent 2xl:text-base font-medium w-full pl-6 py-4 rounded-xl border-[1px] border-bdp-stroke focus:outline-none focus:outline-bdp-secondary-text focus:outline-offset-0 leading-none\",\n arrowIcon: \"\",\n arrowIconWrapper:\n \"absolute p-2 cursor-pointer top-1/2 -translate-y-1/2 right-[18px] rotate-90 data-[is-open=false]:-rotate-90 transition-transform\",\n} as const;\n\nconst SingleSelectTrigger = ({\n defaultPlaceholder,\n className,\n styles = {},\n}: SingleSelectTriggerProps) => {\n const { selectedOption, toggleListOpen, isListOpen, triggerRef } =\n useSingleSelect();\n\n return (\n \n \n \n \n \n \n );\n};\n\nexport default SingleSelectTrigger;\n","\"use client\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ntype StyleConfig = {\n container?: string;\n bannerInfoContainer?: string;\n bodyText?: string;\n headingText?: string;\n link?: string;\n icon?: string;\n boss?: string;\n};\ntype Links = {\n linkText: string;\n linkTo: string;\n};\ntype Props = Links & {\n bodyText?: string;\n headingText: string;\n styles?: StyleConfig;\n hasBoss?: boolean;\n};\n\nconst defaultStyles = {\n container:\n \"dark:text-bdp-white dark:shadow-dark-light gap-2 flex items-center justify-between w-full px-2 sm:px-4 shadow-md transition-all duration-200 ease-in-out text-center h-auto opacity-100 max-h-[200px]\",\n bannerInfoContainer: `flex flex-col flex-[1_1_auto]`,\n headingText: \"font-semibold text-sm md:text-lg\",\n bodyText: \"text-sm md:text-base\",\n link: \"text-bdp-accent underline font-semibold text-xs md:text-sm\",\n icon: \"text-bdp-lightGrey hover:text-red-500 transition-all duration-200 ease-in-out\",\n boss: \"text-bdp-accent text-base md:text-lg\",\n} as const;\n\nexport function Banner({\n bodyText,\n headingText,\n styles = {},\n hasBoss,\n ...rest\n}: Props) {\n const [showBanner, setShowBanner] = useState(true);\n\n return (\n \n \n {!!headingText && (\n

\n {headingText}\n {hasBoss && (\n â‚¿OSS\n )}\n

\n )}\n {!!bodyText && (\n

\n {bodyText}\n

\n )}\n {!!rest.linkText && (\n setShowBanner(false)}\n className={cn(defaultStyles.link, styles.link)}\n href={rest.linkTo}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {rest.linkText}\n \n )}\n \n setShowBanner(false)}\n data-show-banner={showBanner}\n className={cn(\n defaultStyles.icon,\n \"opacity-1\",\n \"data-[show-banner='false']:opacity-0\",\n styles.icon,\n )}\n >\n \n \n \n \n \n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,mBAAkB;AASX,IAAM,SAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,WAAW;AACb,MAAM;AACJ,QAAM,aAAa;AACnB,QAAM,gBAAgB;AAAA,IACpB,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AACA,QAAM,aAAa;AAAA,IACjB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAEA,QAAM,YAAY;AAAA,MACd,UAAU;AAAA,MACV,cAAc,OAAO,CAAC;AAAA,MACtB,WAAW,IAAI,CAAC;AAAA,MAChB,WAAW,kCAAkC,EAAE;AAAA,IACjD,KAAK;AAEP,SACE,6BAAAA,QAAA,cAAC,YAAO,WAAsB,SAAkB,YAC7C,KACH;AAEJ;;;ACzCA,IAAAC,gBAAkB;;;ACAlB,IAAAC,gBAAkB;AAElB,4BAAwB;AACxB,kBAAiB;AAQjB,IAAM,cAAc,CAAC,UAAqD;AACxE,QAAM,EAAE,WAAW,UAAU,YAAY,YAAY,GAAG,KAAK,IAAI;AACjE,MAAI,UAAU;AACZ,kCAAAC,QAAA,cAAC,SAAK,GAAG,MAAM,aACZ,MAAM,QACT;AAAA,EACF;AAEA,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,eAAW;AAAA,YACT,YAAAC;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA;AAAA,IACD;AAAA,IACY,8BAAAD,QAAA,cAAC,cAAK,WAAE;AAAA,IAAO;AAAA,IAAQ;AAAA,IAClC,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,kCAAc;AAAA,QACpB,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,WAAU;AAAA;AAAA,MAET,kCAAc;AAAA,IACjB;AAAA,EACF;AAEJ;AAEA,YAAY,cAAc;AAC1B,IAAO,sBAAQ;;;AC3Cf,IAAAE,gBAAkB;AAElB,IAAAC,yBAAwB;AACxB,IAAAC,eAAiB;AAOjB,IAAM,iBAAiB,CACrB,UACG;AACH,QAAM,EAAE,WAAW,UAAU,cAAc,GAAG,KAAK,IAAI;AACvD,MAAI,UAAU;AACZ,kCAAAC,QAAA,cAAC,SAAK,GAAG,MAAM,WAAW,MAAM,aAC7B,MAAM,QACT;AAAA,EACF;AACA,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,eAAW;AAAA,YACT,aAAAC;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA;AAAA,IAEA,8BAAAD,QAAA,cAAC,cAAK,kDAAqD;AAAA,IAC3D,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,WAAU;AAAA;AAAA,MACX;AAAA,IAED;AAAA,EACF;AAEJ;AAEA,eAAe,cAAc;AAC7B,IAAO,yBAAQ;;;AC3Cf,IAAAE,gBAAkB;;;ACAlB,IAAAC,SAAuB;;;ACAvB,IAAAC,SAAuB;;;ACAvB,IAAAC,SAAuB;;;ACAvB,IAAAC,SAAuB;;;ACAvB,IAAAC,SAAuB;AAEvB,IAAM,aAAa,CAAC;AAAA,EAClB,QAAQ;AAAA;AAAA,EAER;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA0E;AAExE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAG;AAAA;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA,QACJ,GAAG;AAAA;AAAA,IACN;AAAA,EACF;AAEJ;AACA,IAAO,qBAAQ;;;AC5Bf,IAAAC,SAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;AAGvB,IAAM,cAAc,CAAC;AAAA,EACnB,QAAQ;AAAA;AAAA,EAER;AAAA;AAAA,EAEA;AAAA,EACA,GAAG;AACL;AAAA;AAAA;AAAA,EAGE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAG;AAAA;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAAA;AAGF,IAAO,sBAAQ;;;AC7Bf,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;AAGvB,IAAM,aAAa,CAAC;AAAA,EAClB,QAAQ;AAAA;AAAA,EAER;AAAA,EACA,GAAG;AACL;AAAA;AAAA,EAEE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAG;AAAA;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAAA;AAGF,IAAO,qBAAQ;;;ACxBf,IAAAC,UAAuB;AAEvB,IAAM,qBAAqB,CAAC;AAAA,EAC1B,QAAQ;AAAA;AAAA,EAER;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA0E;AAExE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAG;AAAA;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACJ,GAAG;AAAA;AAAA,IACN;AAAA,EACF;AAEJ;AACA,IAAO,6BAAQ;;;AC1Bf,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACCvB,IAAAC,UAAuB;AAGvB,IAAM,YAAY,CAAC;AAAA,EACjB,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,GAAG;AACL;AAAA;AAAA;AAAA,EAIE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAG;AAAA;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAAA;AAGF,IAAO,oBAAQ;;;AC3Bf,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;AAEvB,IAAM,aAAa,CAAC;AAAA,EAClB,QAAQ;AAAA;AAAA,EAER;AAAA,EACA,GAAG;AACL;AAAA;AAAA,EAEE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAG;AAAA;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAa;AAAA;AAAA,IACf;AAAA,EACF;AAAA;AAEF,IAAO,qBAAQ;;;AC5Bf,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACAvB,IAAAC,UAAuB;;;ACCvB,IAAAC,UAAuB;AAGvB,IAAM,eAAe,CAAC;AAAA,EACpB,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,GAAG;AACL;AAAA;AAAA;AAAA,EAIE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAG;AAAA;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAAA;AAGF,IAAO,uBAAQ;;;A5BxBf,IAAAC,yBAAwB;AACxB,IAAAC,eAAiB;AAwBjB,IAAM,WAAW,CAAC,EAAE,SAAS,MAAsC;AACjE,QAAM,EAAE,QAAQ,YAAY,MAAM,UAAU,IAAI;AAChD,QAAM,EAAE,WAAW,GAAG,KAAK,IAAI,gCAAa,CAAC;AAC7C,QAAM,UAAU,CAACC,YAAuC;AACtD,QAAI,MAAM;AACR,aAAO,cAAAC,QAAM,aAAa,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC;AAAA,IACxD;AACA,QAAID,YAAW,WAAW;AACxB,aACE,8BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,eAAW,oCAAQ,aAAAC,SAAK,UAAU,SAAS,CAAC;AAAA,UAC3C,GAAG;AAAA;AAAA,MACN;AAAA,IAEJ;AACA,QAAIF,YAAW,UAAU;AACvB,aACE,8BAAAC,QAAA,cAAC,sBAAW,eAAW,oCAAQ,aAAAC,SAAK,UAAU,SAAS,CAAC,GAAI,GAAG,MAAM;AAAA,IAEzE;AACA,QAAIF,YAAW,WAAW;AACxB,aACE,8BAAAC,QAAA,cAAC,uBAAY,eAAW,oCAAQ,aAAAC,SAAK,UAAU,SAAS,CAAC,GAAI,GAAG,MAAM;AAAA,IAE1E;AACA,QAAIF,YAAW,SAAS;AACtB,aACE,8BAAAC,QAAA,cAAC,qBAAU,eAAW,oCAAQ,aAAAC,SAAK,UAAU,SAAS,CAAC,GAAI,GAAG,MAAM;AAAA,IAExE;AAAA,EACF;AACA,QAAM,cAAc,QAAQ,MAAM;AAElC,SACE,8BAAAD,QAAA,cAAC,SAAI,WAAU,uEACb,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,WAAU;AAAA;AAAA,IAET;AAAA,EACH,CACF;AAEJ;AAYO,IAAM,gBAAgB,CAC3B,UACG;AACH,QAAM,EAAE,WAAW,WAAW,UAAU,WAAW,GAAG,KAAK,IAAI;AAC/D,MAAI,UAAU;AACZ,kCAAAA,QAAA,cAAC,SAAK,GAAG,MAAM,WAAW,aACvB,MAAM,QACT;AAAA,EACF;AACA,QAAM,wBAAoB;AAAA,QACxB,aAAAC;AAAA,MACE;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,SACE,8BAAAD,QAAA,cAAC,SAAK,GAAG,MAAM,WAAW,qBACvB,UAAU,IAAI,CAAC,aACd,8BAAAA,QAAA,cAAC,YAAS,KAAK,SAAS,QAAQ,UAAoB,CACrD,CACH;AAEJ;AAEA,cAAc,cAAc;;;A6B7G5B,IAAAE,gBAAkB;AAElB,IAAAC,yBAAwB;AACxB,IAAAC,eAAiB;AAOjB,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAyB;AACvB,SACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,eAAW;AAAA,YACT,aAAAC;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IACL;AAAA,EAED;AAEJ;AAEA,IAAO,uBAAQ;;;AhC3Bf,IAAAC,yBAAwB;AACxB,IAAAC,eAAiB;AAOjB,IAAM,YAAY,MAChB,8BAAAC,QAAA,cAAC,SAAI,WAAU,mEAAkE;AAGnF,IAAM,SAKF,CAAC,EAAE,UAAU,WAAW,WAAW,GAAG,KAAK,MAAuB;AACpE,QAAM,gBAAgB,gCAAa,8BAAAA,QAAA,cAAC,eAAU;AAE9C,QAAM,8BAA8B,MAAM;AACxC,UAAM,cAAiC,CAAC;AACxC,kBAAAA,QAAM,SAAS,QAAQ,UAAU,CAAC,OAAO,UAAU;AACjD,UAAI,cAAAA,QAAM,eAAe,KAAK,GAAG;AAE/B,cAAM,cAAe,MAAM,KAAa;AACxC,oBAAY,KAAK,KAAK;AACtB,YAAI,QAAQ,cAAAA,QAAM,SAAS,MAAM,QAAQ,IAAI,GAAG;AAC9C,sBAAY;AAAA,YACV,cAAAA,QAAM,aAAa,eAAe;AAAA,cAChC,KAAK,GAAG,WAAW,cAAc,KAAK;AAAA,YACxC,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAEA,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,eAAW;AAAA,YACT,aAAAC;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IAEH,4BAA4B;AAAA,EAC/B;AAEJ;AAEA,OAAO,QAAQ;AACf,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,OAAO,SAAS;;;AiC7DhB,IAAAC,gBAAqE;;;ACI9D,IAAM,wBAAwC;AAAA,EACnD,oBAAoB;AACtB;;;ACiBO,SAAS,kBACd,MACA,OACkC;AAClC,MAAI,aAAsB;AAC1B,MAAI,WAAiC;AAGrC,SAAO,YAAwB,MAAqB;AAElD,UAAM,UAAU;AAEhB,QAAI,CAAC,YAAY;AACf,WAAK,MAAM,SAAS,IAAI;AACxB,mBAAa;AACb,iBAAW,MAAM;AACf,qBAAa;AACb,YAAI,UAAU;AACZ,eAAK,MAAM,SAAS,QAAQ;AAC5B,qBAAW;AAAA,QACb;AAAA,MACF,GAAG,KAAK;AAAA,IACV,OAAO;AACL,iBAAW;AAAA,IACb;AAAA,EACF;AACF;AAEO,IAAM,eAAe,IAAI,KAAK,aAAa,SAAS;AAAA,EACzD,gBAAgB;AAAA,EAChB,UAAU;AACZ,CAAC;;;ACxDD,IAAAC,gBAAkB;AAGlB,IAAAC,yBAAwB;AACxB,IAAAC,eAAiB;AAOV,IAAM,oBAAsD,CAAC;AAAA,EAClE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAC/B,QAAM,EAAE,aAAa,IAAI,YAAY;AACrC,SACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,eAAW;AAAA,YACT,aAAAC;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IAEH;AAAA,EACH;AAEJ;AAIO,IAAM,eAA4C,CAAC;AAAA,EACxD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAC/B,SACE,8BAAAD,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,eAAW,oCAAQ,aAAAC,SAAK,0BAA0B,SAAS,CAAC;AAAA,MAC3D,GAAG;AAAA;AAAA,IAEH;AAAA,EACH;AAEJ;AAOO,IAAM,mBAAmD,CAAC;AAAA,EAC/D;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE,8BAAAD,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,eAAW;AAAA,YACT,aAAAC,SAAK,uDAAuD,SAAS;AAAA,MACvE;AAAA,MACC,GAAG;AAAA;AAAA,IAEH;AAAA,EACH;AAEJ;AAYO,IAAM,yBAAwD,CAAC;AAAA,EACpE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,mBAAmB,kBAAkB,IAAI,YAAY;AAE7D,MAAI,UAAU;AACZ,QAAI,OAAO,aAAa,YAAY;AAClC,aAAO,8BAAAD,QAAA,4BAAAA,QAAA,gBAAG,SAAS,mBAAmB,iBAAiB,CAAE;AAAA,IAC3D,OAAO;AACL,cAAQ;AAAA,QACN;AAAA,MACF;AACA,aAAO,8BAAAA,QAAA,4BAAAA,QAAA,gBAAG,QAAS;AAAA,IACrB;AAAA,EACF;AAEA,QAAM,EAAE,MAAM,WAAW,GAAG,KAAK,IAAI;AAErC,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,UAAU,CAAC,kBAAkB;AAAA,MAC7B,eAAW;AAAA,YACT,aAAAC;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IAEH;AAAA,EACH;AAEJ;AAEO,IAAM,qBAAoD,CAAC;AAAA,EAChE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,eAAe,kBAAkB,IAAI,YAAY;AAEzD,MAAI,UAAU;AACZ,QAAI,OAAO,aAAa,YAAY;AAClC,aAAO,8BAAAD,QAAA,4BAAAA,QAAA,gBAAG,SAAS,eAAe,iBAAiB,CAAE;AAAA,IACvD,OAAO;AACL,cAAQ;AAAA,QACN;AAAA,MACF;AACA,aAAO,8BAAAA,QAAA,4BAAAA,QAAA,gBAAG,QAAS;AAAA,IACrB;AAAA,EACF;AAEA,QAAM,EAAE,MAAM,WAAW,GAAG,KAAK,IAAI;AAErC,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,UAAU,CAAC,kBAAkB;AAAA,MAC7B,eAAW;AAAA,YACT,aAAAC;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IAEH;AAAA,EACH;AAEJ;;;AH5HA,IAAM,kBAAkB,cAAAC,QAAM,cAA0C,IAAI;AAErE,IAAM,cAAc,MAAM;AAC/B,QAAM,UAAU,cAAAA,QAAM,WAAW,eAAe;AAChD,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,oDAAoD;AAAA,EACtE;AACA,SAAO;AACT;AAQA,IAAM,mBAAoD,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA,SAAS;AACX,MAAM;AACJ,QAAM,EAAE,mBAAmB,IAAI;AAE/B,QAAM,CAAC,eAAe,gBAAgB,IAAI,cAAAA,QAAM,SAAS,CAAC;AAC1D,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,cAAAA,QAAM,SAAS,CAAC;AAC9D,QAAM,CAAC,YAAY,aAAa,IAAI,cAAAA,QAAM,SAAS,CAAC;AAEpD,QAAM,wBAAoB,uBAAQ,MAAM;AACtC,QAAI,CAAC,aAAa;AAChB,aAAO,EAAE,kBAAkB,OAAO,sBAAsB,MAAM;AAChE,UAAM,mBAAmB,aAAa,kBAAkB;AACxD,UAAM,uBAAuB,aAAa;AAC1C,WAAO,EAAE,kBAAkB,qBAAqB;AAAA,EAClD,GAAG,CAAC,cAAc,iBAAiB,eAAe,UAAU,CAAC;AAE7D,QAAM,eAAe,kBAAkB,MAAM;AA/D/C;AAgEI,QAAI,CAAC,aAAa,QAAS;AAC3B,mBAAc,wBAAa,YAAb,mBAAsB,eAAtB,YAAoC,CAAC;AAAA,EACrD,GAAG,GAAG;AAGN,qCAAgB,MAAM;AACpB,QAAI,CAAC,aAAa,QAAS;AAE3B,UAAM,aAAa,kBAAkB,MAAM;AAxE/C;AAyEM,wBAAiB,wBAAa,YAAb,mBAAsB,gBAAtB,YAAqC,CAAC;AACvD,0BAAmB,wBAAa,YAAb,mBAAsB,gBAAtB,YAAqC,CAAC;AACzD,qBAAc,wBAAa,YAAb,mBAAsB,eAAtB,YAAoC,CAAC;AAAA,IACrD,GAAG,GAAG;AAEN,UAAM,iBAAiB,IAAI,eAAe,UAAU;AACpD,mBAAe,QAAQ,aAAa,OAAO;AAG3C,eAAW;AAEX,WAAO,MAAM;AACX,UAAI,aAAa,SAAS;AACxB,uBAAe,UAAU,aAAa,OAAO;AAAA,MAC/C;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAGL,qCAAgB,MAAM;AA5FxB;AA6FI,QAAI,CAAC,aAAa,QAAS;AAE3B,uBAAa,YAAb,mBAAsB,iBAAiB,UAAU;AAEjD,WAAO,MAAM;AACX,UAAI,aAAa,SAAS;AACxB,qBAAa,QAAQ,oBAAoB,UAAU,YAAY;AAAA,MACjE;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,yBAAqB,uBAAQ,MAAM;AAxG3C;AAyGI,YAAO,wBAAa,YAAb,mBAAsB,SAAS,WAA/B,YAAyC;AAAA,EAClD,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,oBAAgB,2BAAY,MAAM;AACtC,QAAI,CAAC,aAAa,QAAS;AAC3B,UAAM,YACH,aAAa,QAAQ,cAAc,qBAAsB;AAC5D,UAAM,sBACJ,YAAY,aAAa,QAAQ,SAAS,CAAC,EAAE,cACzC,aAAa,QAAQ,cACrB;AACN,UAAMC,cAAa,aAAa,QAAQ,aAAa;AACrD,iBAAa,QAAQ,SAAS;AAAA,MAC5B,MAAMA;AAAA,MACN,UAAU;AAAA,IACZ,CAAC;AAAA,EACH,GAAG,CAAC,cAAc,kBAAkB,CAAC;AAErC,QAAM,wBAAoB,2BAAY,MAAM;AAC1C,QAAI,CAAC,aAAa,QAAS;AAC3B,UAAM,YACH,aAAa,QAAQ,cAAc,qBAAsB;AAE5D,UAAM,sBACJ,YAAY,aAAa,QAAQ,SAAS,CAAC,EAAE,cACzC,aAAa,QAAQ,cACrB;AACN,UAAMA,cAAa,KAAK;AAAA,MACtB;AAAA,MACA,aAAa,QAAQ,aAAa;AAAA,IACpC;AACA,iBAAa,QAAQ,SAAS;AAAA,MAC5B,MAAMA;AAAA,MACN,UAAU;AAAA,IACZ,CAAC;AAAA,EACH,GAAG,CAAC,cAAc,kBAAkB,CAAC;AAErC,SACE,8BAAAD,QAAA;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA;AAAA,IAEC;AAAA,EACH;AAEJ;AAEO,IAAM,WAMT,CAAC,EAAE,UAAU,OAAO,MAAmD;AACzE,QAAM,mBAAe,sBAAuB,IAAI;AAChD,SACE,8BAAAA,QAAA,cAAC,oBAAiB,cAA4B,UAC3C,QACH;AAEJ;AAEA,SAAS,YAAY;AACrB,SAAS,OAAO;AAChB,SAAS,WAAW;AACpB,SAAS,iBAAiB;AAC1B,SAAS,aAAa;;;AIhLtB,IAAAE,iBAAgC;;;ACAhC,IAAAC,gBAA4C;;;ACArC,SAAS,aAAa,IAAiB;AAC5C,QAAM,OAAO,GAAG,sBAAsB;AACtC,SACE,KAAK,OAAO,KACZ,KAAK,QAAQ,KACb,KAAK,WACF,OAAO,eAAe,SAAS,gBAAgB,iBAClD,KAAK,UAAU,OAAO,cAAc,SAAS,gBAAgB;AAEjE;;;ADCA,IAAM,sBAAsB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,QAAM,uBAAmB,sBAAe,IAAI;AAE5C,QAAM,CAAC,yBAAyB,0BAA0B,QAAI,wBAAS,EAAE;AAEzE,QAAM,cAAU,sBAAO,KAAK;AAE5B,QAAM,gBAAgB,MAAM;AAC1B,YAAQ,UAAU,CAAC,QAAQ;AAAA,EAC7B;AAEA,+BAAU,MAAM;AACd,QAAI,CAAC,qBAAqB,CAAC,SAAU;AACrC,UAAM,uBAAuB,kBAAkB;AAC/C,UAAM,oBACJ,wBACC,MAAM,KAAK,6DAAsB,QAAQ;AAC5C,UAAM,cAAc,SAAS;AAE7B,QAAI,QAAQ,SAAS;AACnB,UAAI,aAAa;AACf,oBAAY,MAAM;AAAA,MACpB;AACA,oBAAc;AAAA,IAChB;AAEA,QAAI,0BAA0B,iBAAiB;AAE/C,UAAM,yBAAyB,CAAC,MAAqB;AA1CzD;AA2CM,UAAI,2BAA2B,4BAA4B,MAAM;AAC/D,cAAM,uBAAuB,kBAAkB;AAAA,UAC7C,CAAC,UAAO;AA7ClB,gBAAAC;AA6CqB,qBAAAA,MAAA,+BAAO,YAAP,gBAAAA,IAAgB,cAAa;AAAA;AAAA,QAC1C;AACA,YAAI,yBAAyB,IAAI;AAC/B,oCAA0B;AAAA,QAC5B;AAAA,MACF;AAEA,cAAQ,EAAE,KAAK;AAAA;AAAA,QAEb,KAAK;AACH,YAAE,eAAe;AACjB,cAAI,4BAA4B,MAAM;AACpC,sCAA0B;AAAA,UAC5B,OAAO;AACL,gBAAI,2BAA2B,kBAAkB,SAAS,GAAG;AAC3D,wCAA0B;AAAA,YAC5B,OAAO;AACL,yCAA2B;AAAA,YAC7B;AAAA,UACF;AACA;AAAA;AAAA,QAGF,KAAK;AACH,YAAE,eAAe;AACjB,cAAI,4BAA4B,MAAM;AACpC,sCAA0B,kBAAkB,SAAS;AAAA,UACvD,OAAO;AACL,gBAAI,4BAA4B,GAAG;AACjC,wCAA0B,kBAAkB,SAAS;AAAA,YACvD,OAAO;AACL,yCAA2B;AAAA,YAC7B;AAAA,UACF;AACA;AAAA;AAAA,QAGF,KAAK,SAAS;AACZ,YAAE,eAAe;AACjB,cAAI,yBAAyB;AAC3B,kBAAM,SACJ,uBAAkB,uBAAuB,MAAzC,mBAA4C;AAAA,cAC1C;AAAA;AAEJ,gBAAI,OAAO;AACT,cAAC,MAA4B,MAAM;AAAA,YACrC;AAAA,UACF;AACA;AAAA,QACF;AAAA,QAEA;AACE;AAAA,MACJ;AAEA,YAAM,eACJ,OAAO,4BAA4B,WAC/B,kBAAkB,uBAAuB,IACzC;AAEN,UAAI,cAAc;AAChB,cAAM,aAAa,aAAa,YAAY;AAC5C,YAAI,CAAC,YAAY;AACf,uBAAa,eAAe;AAAA,YAC1B,UAAU;AAAA,YACV,OAAO;AAAA,YACP,QAAQ;AAAA,UACV,CAAC;AAAA,QACH;AAAA,MACF;AACA,kCAA2B,wDAAc,YAAd,mBAAuB,aAAvB,YAAmC,EAAE;AAAA,IAClE;AAEA,QAAI,aAAa;AACf,kBAAY,iBAAiB,WAAW,sBAAsB;AAC9D,kBAAY;AAAA,QAAiB;AAAA,QAAY,MACvC,2BAA2B,EAAE;AAAA,MAC/B;AAAA,IACF;AAEA,WAAO,MAAM;AACX,UAAI,aAAa;AACf,oBAAY,oBAAoB,WAAW,sBAAsB;AACjE,oBAAY;AAAA,UAAoB;AAAA,UAAY,MAC1C,2BAA2B,EAAE;AAAA,QAC/B;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,mBAAmB,UAAU,uBAAuB,CAAC;AAElE,SAAO,EAAE,yBAAyB,cAAc;AAClD;AAEA,IAAO,4BAAQ;;;AE1If,IAAAC,iBAAyC;;;ACAzC,IAAAC,yBAAwB;AACxB,IAAAC,eAAqB;AAEd,SAAS,MAAM,QAAgC;AACpD,aAAO,oCAAQ,mBAAK,MAAM,CAAC;AAC7B;;;ADeA,IAAM,gBAAgB;AAAA,EACpB,WAAW;AAAA,EACX,OACE;AAAA,EACF,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,kBACE;AACJ;AAEA,IAAM,cAAc,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA,SAAS,CAAC;AACZ,MAAwB;AACtB,QAAM,oBAAoB,eAAe;AAEzC,QAAM,gBAAY,uBAAyB,IAAK;AAChD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,gCAAU,MAAM;AACd,QAAI,UAAU,WAAW,CAAC,gBAAgB;AACxC,wBAAkB,SAAS;AAAA,IAC7B;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SACE,+BAAAC,QAAA,cAAC,SAAI,WAAW,GAAG,cAAc,WAAW,OAAO,WAAW,SAAS,KACrE,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,cAAc,OAAO,OAAO,KAAK;AAAA,MAC/C,MAAK;AAAA,MACL,aAAa,2BAA2B;AAAA,MACxC,UAAU,CAAC,MAAM;AACf,iBAAS,EAAE,OAAO,KAAK;AAAA,MACzB;AAAA,MACA,KAAK;AAAA;AAAA,EACP,GACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,cAAc;AAAA,QACd,OAAO;AAAA,MACT;AAAA;AAAA,IAEA,+BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,GAAG,cAAc,YAAY,OAAO,UAAU;AAAA;AAAA,IAC3D;AAAA,EACF,GACA,+BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,gBAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW,GAAG,cAAc,kBAAkB,OAAO,gBAAgB;AAAA;AAAA,IAErE,+BAAAA,QAAA,cAAC,sBAAW,WAAW,GAAG,cAAc,WAAW,OAAO,SAAS,GAAG;AAAA,EACxE,CACF;AAEJ;AAEA,IAAO,sBAAQ;;;AEtFf,IAAAC,iBAAkD;;;ACA3C,SAAS,yBAAyB,MAAc,YAAoB;AACzE,QAAM,oBAAoB,WAAW,QAAQ,uBAAuB,MAAM;AAE1E,QAAM,eAAe,kBAClB,MAAM,EAAE,EACR,IAAI,CAAC,SAAS,QAAQ,IAAI,GAAG,EAC7B,KAAK,EAAE;AAEV,QAAM,QAAQ,IAAI,OAAO,cAAc,GAAG;AAE1C,SAAO,MAAM,KAAK,IAAI;AACxB;;;ACRA,IAAAC,iBAAkB;AA8ClB,IAAMC,iBAAgB;AAAA,EACpB,WACE;AAAA,EACF,eAAe;AAAA;AAAA;AAAA;AAAA,EAIf,aAAa;AAAA,EACb,MAAM;AAAA,EACN,OACE;AAAA,EACF,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAC;AAAA,EACV,mBAAmB;AAAA,EACnB;AACF,MAAuB;AACrB,QAAM,EAAE,YAAY,yBAAyB,aAAa,IACxD;AACF,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,gBAAc;AAAA,MACd,KAAK;AAAA,MACL,WAAW;AAAA,QACTD,eAAc;AAAA;AAAA,QAEd,OAAO;AAAA,QACP;AAAA,MACF;AAAA;AAAA,IAEC,QAAQ,SAAS,KAChB,+BAAAC,QAAA,cAAC,OAAE,WAAW,GAAGD,eAAc,WAAW,OAAO,SAAS,KACvD,gBACH;AAAA,IAED,mCAAS,IAAI,CAAC,WAAW;AACxB,YAAM,UAAU,OAAO;AACvB,YAAM,QAAQ,OAAO;AACrB,aACE,+BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,OAAO;AAAA,UACZ,SAAS,YAAY,KAAK,IAAI,OAAO,KAAK;AAAA,UAC1C,iBAAe,OAAO;AAAA;AAAA,QAEtB,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,iBAAe;AAAA,YACf,0BAAwB,OAAO,UAAU;AAAA,YACzC,WAAW,GAAGD,eAAc,eAAe,OAAO,aAAa;AAAA,YAC/D,SAAS,CAAC,UACR,eAAe,EAAE,QAAQ,UAAU,OAAO,MAAM,CAAC;AAAA,YAEnD,MAAK;AAAA,YACL,cAAY,GACV,UAAU,YAAY,OACxB,WAAW,KAAK,IAAI,OAAO,KAAK;AAAA;AAAA,UAEhC,+BAAAC,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,GAAGD,eAAc,aAAa,OAAO,WAAW;AAAA,cAC3D,IAAI,iBAAiB,KAAK,GAAG,OAAO,KAAK;AAAA;AAAA,YAEzC,+BAAAC,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,GAAGD,eAAc,MAAM,OAAO,IAAI;AAAA;AAAA,YAC/C;AAAA,YACA,+BAAAC,QAAA,cAAC,UAAK,WAAW,GAAGD,eAAc,OAAO,OAAO,KAAK,KAClD,OAAO,KACV;AAAA,UACF;AAAA,UACC,OAAO,QACN,+BAAAC,QAAA,cAAC,UAAK,WAAW,GAAGD,eAAc,OAAO,OAAO,KAAK,KAClD,aAAa,OAAO,OAAO,KAAK,CACnC,IACE;AAAA,QACN;AAAA,MACF;AAAA,IAEJ;AAAA,EACF;AAEJ;AAEA,IAAO,yBAAQ;;;AFjIf,IAAM,aAAa,CAAC,UAAgC;AAClD,QAAM,oBAAoB,eAAe;AAEzC,QAAM,mBAAe,uBAAuB,IAAK;AACjD,QAAM;AAAA,IACJ,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd,IAAI;AAEJ,gCAAU,MAAM;AACd,QAAI,CAAC,wBAAwB,aAAa,SAAS;AACjD,sBAAgB,YAAY;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,sBAAkB,wBAAQ,MAAM;AACpC,QAAI,WAAW,KAAK,GAAG;AACrB,aAAO,MAAM,QAAQ,OAAO,CAAC,WAAW;AACtC,eAAO,yBAAyB,OAAO,OAAO,WAAW,KAAK,CAAC;AAAA,MACjE,CAAC;AAAA,IACH;AACA,WAAO,MAAM;AAAA,EACf,GAAG,CAAC,MAAM,SAAS,UAAU,CAAC;AAE9B,SACE,+BAAAE,QAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,SAAS;AAAA,MACT,mBAAmB,EAAE,YAAY,cAAc,wBAAwB;AAAA;AAAA,EACzE;AAEJ;AAEA,IAAO,qBAAQ;;;ALhBf,IAAM,gBAAgB,eAAAC,QAAM,cAAwC,IAAI;AACjE,IAAM,iBAAiB,MAAM;AAClC,QAAM,UAAU,eAAAA,QAAM,WAAW,aAAa;AAC9C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,SAAO;AACT;AAEO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA,gBAAgB;AAClB,MAA2B;AACzB,QAAM,CAAC,cAAc,eAAe,QAClC,yBAAwD,IAAI;AAC9D,QAAM,CAAC,gBAAgB,iBAAiB,QACtC,yBAA0D,IAAI;AAEhE,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,IAAI;AAEjD,QAAM,iBAAiB,MAAM;AAC3B,QAAI,CAAC,cAAe;AACpB,kBAAc,CAAC,SAAS,CAAC,IAAI;AAAA,EAC/B;AAEA,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,EAAE;AAE/C,QAAM,EAAE,yBAAyB,cAAc,IAAI,0BAAoB;AAAA,IACrE,mBAAmB;AAAA,IACnB,UAAU;AAAA,IACV,SAAS,CAAC;AAAA,EACZ,CAAC;AAGD,QAAM,WAAW,CAAC,UAAkB;AAClC,UAAM,WAAW,MAAM,KAAK;AAC5B,kBAAc,QAAQ;AAAA,EACxB;AAEA,SACE,+BAAAA,QAAA;AAAA,IAAC,cAAc;AAAA,IAAd;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA;AAAA,IAEC;AAAA,EACH;AAEJ;AAEO,IAAM,cAGT,CAAC,EAAE,UAAU,gBAAgB,KAAK,MAA2B;AAC/D,SACE,+BAAAA,QAAA,cAAC,uBAAoB,iBAClB,QACH;AAEJ;AAEA,YAAY,QAAQ;AACpB,YAAY,OAAO;;;AQhGnB,IAAAC,iBAA4D;;;ACF5D,IAAAC,iBAAiC;AAoBjC,IAAM,mBAAmB,CAAC,UAAiC;AACzD,QAAM;AAAA,IACJ;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,gBAAgB;AACpB,QAAM,eAAe,eAAAC,QAAM,OAAuB,IAAK;AAEvD,gCAAU,MAAM;AACd,QAAI,CAAC,wBAAwB,aAAa,SAAS;AACjD,sBAAgB,YAAY;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,eAAe,CAAC;AAAA,IACpB;AAAA,EACF,MAIM;AACJ,UAAM,SAAS,MAAM,QAAQ,KAAK,CAACC,YAAWA,QAAO,UAAU,KAAK;AACpE,QAAI,QAAQ;AACV,yBAAmB,MAAM;AACzB,YAAM,eAAe,MAAM;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,iBAAiB,MAAM,QAAQ,IAAI,CAAC,YAAY;AAAA,IACpD,GAAG;AAAA,IACH,UAAU,OAAO,UAAU,MAAM;AAAA,EACnC,EAAE;AAEF,gCAAU,MAAM;AACd;AAAA,MACE,MAAM,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAU,MAAM,KAAK,KAAK;AAAA,IAClE;AAAA,EACF,GAAG,CAAC,MAAM,OAAO,MAAM,OAAO,CAAC;AAE/B,SACE,+BAAAD,QAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,mBAAmB;AAAA,QACjB;AAAA,QACA;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,QAAQ;AAAA,QACN,WAAW;AAAA,QACX,GAAG,MAAM;AAAA,MACX;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,2BAAQ;;;AC/Ef,IAAAE,iBAAkB;AAkBlB,IAAMC,iBAAgB;AAAA,EACpB,WAAW;AAAA,EACX,SACE;AAAA,EACF,WAAW;AAAA,EACX,kBACE;AACJ;AAEA,IAAM,sBAAsB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,SAAS,CAAC;AACZ,MAAgC;AAC9B,QAAM,EAAE,gBAAgB,gBAAgB,YAAY,WAAW,IAC7D,gBAAgB;AAElB,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW,GAAGD,eAAc,WAAW,OAAO,WAAW,SAAS;AAAA,MAClE,SAAS;AAAA;AAAA,IAET,+BAAAC,QAAA,cAAC,WAAM,WAAW,GAAGD,eAAc,SAAS,OAAO,OAAO,MACvD,iDAAgB,UAAS,kBAC5B;AAAA,IACA,+BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,gBAAc;AAAA,QACd,WAAW,GAAGD,eAAc,kBAAkB,OAAO,gBAAgB;AAAA;AAAA,MAErE,+BAAAC,QAAA,cAAC,sBAAW,WAAW,GAAGD,eAAc,WAAW,OAAO,SAAS,GAAG;AAAA,IACxE;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;;;AFvBf,IAAM,0BAAsB,8BAAwC,IAAI;AACjE,IAAM,kBAAkB,MAAM;AACnC,QAAM,UAAU,eAAAE,QAAM,WAAW,mBAAmB;AACpD,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAUA,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,WAAW;AACb,MAAiC;AAC/B,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAClD,QAAM,CAAC,cAAc,eAAe,QAClC,yBAAwD,IAAI;AAC9D,QAAM,CAAC,gBAAgB,iBAAiB,QACtC,yBAAoC,IAAI;AAE1C,QAAM,iBAAiB,MAAM;AAC3B,QAAI,CAAC,UAAU;AACb,oBAAc,CAAC,SAAS,CAAC,IAAI;AAAA,IAC/B;AAAA,EACF;AAGA,QAAM,qBAAqB,CAAC,YAAgC;AAC1D,kBAAc,KAAK;AAAA,EACrB;AAEA,QAAM,yBAAqB;AAAA,IACzB,CAAC,UAAsB;AACrB,WACE,6CAAc,aACd,yCAAY,YACZ,CAAC,aAAa,QAAQ,SAAS,MAAM,MAAc,KACnD,CAAC,WAAW,QAAQ,SAAS,MAAM,MAAc,GACjD;AACA,sBAAc,KAAK;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,cAAc,UAAU;AAAA,EAC3B;AAEA,iBAAAA,QAAM,UAAU,MAAM;AACpB,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,WAAO,MAAM;AACX,eAAS,oBAAoB,aAAa,kBAAkB;AAAA,IAC9D;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE,+BAAAA,QAAA,cAAC,oBAAoB,UAApB,EAA6B,OAAO,gBACnC,+BAAAA,QAAA,cAAC,SAAI,WAAU,cAAY,QAAS,CACtC;AAEJ;AAEO,IAAM,eAKT,CAAC;AAAA,EACH;AAAA,EACA,WAAW;AACb,MAAqD;AACnD,QAAM,aAAa,eAAAA,QAAM,OAAuB,IAAI;AACpD,SACE,+BAAAA,QAAA,cAAC,wBAAqB,UAAoB,cACvC,QACH;AAEJ;AAEA,aAAa,OAAO;AACpB,aAAa,UAAU;;;AGhIvB,IAAAC,iBAAkB;AAClB,IAAAA,iBAAyB;AAuBzB,IAAMC,iBAAgB;AAAA,EACpB,WACE;AAAA,EACF,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACR;AAEO,SAAS,OAAO;AAAA,EACrB;AAAA,EACA;AAAA,EACA,SAAS,CAAC;AAAA,EACV;AAAA,EACA,GAAG;AACL,GAAU;AACR,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,IAAI;AAEjD,SACE,+BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,oBAAkB;AAAA,MAClB,oBAAkB,QAAQ,WAAW;AAAA,MACrC,WAAW;AAAA,QACTD,eAAc;AAAA,QACd;AAAA,QACA,OAAO;AAAA,MACT;AAAA;AAAA,IAEA,+BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACTD,eAAc;AAAA,UACd;AAAA;AAAA,UACA,OAAO;AAAA,QACT;AAAA;AAAA,MAEC,CAAC,CAAC,eACD,+BAAAC,QAAA,cAAC,QAAG,WAAW,GAAGD,eAAc,aAAa,OAAO,WAAW,KAC5D,aACA,WACC,+BAAAC,QAAA,cAAC,UAAK,WAAW,GAAGD,eAAc,MAAM,OAAO,IAAI,KAAG,YAAK,CAE/D;AAAA,MAED,CAAC,CAAC,YACD,+BAAAC,QAAA,cAAC,OAAE,WAAW,GAAGD,eAAc,UAAU,OAAO,QAAQ,KACrD,QACH;AAAA,MAED,CAAC,CAAC,KAAK,YACN,+BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MAAM,cAAc,KAAK;AAAA,UAClC,WAAW,GAAGD,eAAc,MAAM,OAAO,IAAI;AAAA,UAC7C,MAAM,KAAK;AAAA,UACX,QAAO;AAAA,UACP,KAAI;AAAA;AAAA,QAEH,KAAK;AAAA,MACR;AAAA,IAEJ;AAAA,IACA,+BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM,cAAc,KAAK;AAAA,QAClC,oBAAkB;AAAA,QAClB,WAAW;AAAA,UACTD,eAAc;AAAA,UACd;AAAA,UACA;AAAA,UACA,OAAO;AAAA,QACT;AAAA;AAAA,MAEA,+BAAAC,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAM;AAAA,UACN,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,QAAO;AAAA,UACP,OAAM;AAAA,UACN,QAAO;AAAA;AAAA,QAEP,+BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,eAAc;AAAA,YACd,gBAAe;AAAA,YACf,aAAY;AAAA,YACZ,GAAE;AAAA;AAAA,QACH;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEJ;","names":["React","import_react","import_react","React","clsx","import_react","import_tailwind_merge","import_clsx","React","clsx","import_react","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","import_tailwind_merge","import_clsx","entity","React","clsx","import_react","import_tailwind_merge","import_clsx","React","clsx","import_tailwind_merge","import_clsx","React","clsx","import_react","import_react","import_tailwind_merge","import_clsx","React","clsx","React","scrollLeft","import_react","import_react","_a","import_react","import_tailwind_merge","import_clsx","React","import_react","import_react","defaultStyles","React","React","React","import_react","import_react","React","option","import_react","defaultStyles","React","React","import_react","defaultStyles","React"]} \ No newline at end of file diff --git a/dist/index.mjs b/dist/index.mjs index c7b5caf..6537c32 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -1321,7 +1321,7 @@ SingleSelect.Trigger = SingleSelectInput_default; import React44 from "react"; import { useState as useState4 } from "react"; var defaultStyles4 = { - container: "dark:text-bdp-white dark:shadow-dark-light gap-2 flex items-center justify-between w-full px-2 sm:px-4 shadow-md transition-all duration-200 ease-in-out text-center", + container: "dark:text-bdp-white dark:shadow-dark-light gap-2 flex items-center justify-between w-full px-2 sm:px-4 shadow-md transition-all duration-200 ease-in-out text-center h-auto opacity-100 max-h-[200px]", bannerInfoContainer: `flex flex-col flex-[1_1_auto]`, headingText: "font-semibold text-sm md:text-lg", bodyText: "text-sm md:text-base", @@ -1344,9 +1344,7 @@ function Banner({ "data-has-heading": Boolean(headingText), className: cn( defaultStyles4.container, - "data-[has-heading='true']:h-16", - "data-[has-heading='false']:h-12", - "data-[show-banner='false']:h-0 overflow-hidden", + "data-[show-banner='false']:max-h-[0] overflow-hidden", styles.container ) }, @@ -1355,6 +1353,8 @@ function Banner({ { className: cn( defaultStyles4.bannerInfoContainer, + "py-2", + // padding here because it cannot be set on the parent due to transitioning height styles.bannerInfoContainer ) }, diff --git a/dist/index.mjs.map b/dist/index.mjs.map index c6dc439..689ef74 100644 --- a/dist/index.mjs.map +++ b/dist/index.mjs.map @@ -1 +1 @@ -{"version":3,"sources":["../src/components/button/Button.tsx","../src/components/footer/Footer.tsx","../src/components/footer/FooterAbout.tsx","../src/components/footer/FooterFeedback.tsx","../src/components/footer/FooterSocials.tsx","../src/icons/AppsIcon.tsx","../src/icons/ArrowLeft.tsx","../src/icons/ArrowLinkRight.tsx","../src/icons/ArrowLinkUpRight.tsx","../src/icons/ArrowRight.tsx","../src/icons/ArrowUp.tsx","../src/icons/AuthorIcon.tsx","../src/icons/BitcoinIcon.tsx","../src/icons/BookmarkIcon.tsx","../src/icons/CalendarIcon.tsx","../src/icons/CloseIconOutlined.tsx","../src/icons/DateIcon.tsx","../src/icons/DayIcon.tsx","../src/icons/DiceIcon.tsx","../src/icons/DiscordIcon.tsx","../src/icons/FilterIcon.tsx","../src/icons/FilterCloseIcon.tsx","../src/icons/GithubIcon.tsx","../src/icons/LightningIconSolid.tsx","../src/icons/MicIcon.tsx","../src/icons/NightIcon.tsx","../src/icons/NostrIcon.tsx","../src/icons/PlusIcon.tsx","../src/icons/SearchIcon.tsx","../src/icons/SortIcon.tsx","../src/icons/SourceIcon.tsx","../src/icons/TimeIcon.tsx","../src/icons/TwitterXIcon.tsx","../src/components/footer/FooterPublic.tsx","../src/components/carousel/Carousel.tsx","../src/components/carousel/defaults.ts","../src/utils/index.ts","../src/components/carousel/CarouselComponents.tsx","../src/components/select/MultiSelect.tsx","../src/components/select/useSelectNavigate.tsx","../src/utils/navigation.ts","../src/components/select/SelectInput.tsx","../src/utils/cn.ts","../src/components/select/SelectList.tsx","../src/utils/filter.ts","../src/components/select/BaseSelectList.tsx","../src/components/select/Dropdown.tsx","../src/components/select/SingleSelectList.tsx","../src/components/select/SingleSelectInput.tsx","../src/components/banner/Banner.tsx"],"sourcesContent":["// src/components/Button/Button.tsx\n\nimport React from \"react\";\nexport interface ButtonProps {\n label: string;\n onClick?: () => void;\n variant?: \"primary\" | \"secondary\";\n size?: \"small\" | \"medium\" | \"large\";\n disabled?: boolean;\n}\n\nexport const Button: React.FC = ({\n label,\n onClick,\n variant = \"primary\",\n size = \"medium\",\n disabled = false,\n}) => {\n const baseStyles = \"font-bold py-2 px-4 rounded\";\n const variantStyles = {\n primary: \"bg-blue-500 hover:bg-blue-700 text-white\",\n secondary: \"bg-gray-300 hover:bg-gray-400 text-gray-800\",\n };\n const sizeStyles = {\n small: \"text-sm\",\n medium: \"text-base\",\n large: \"text-lg\",\n };\n\n const className = `\n ${baseStyles}\n ${variantStyles[variant]}\n ${sizeStyles[size]}\n ${disabled ? \"opacity-50 cursor-not-allowed\" : \"\"}\n `.trim();\n\n return (\n \n );\n};\n","import React from \"react\";\nimport FooterAbout, { FooterAboutProps } from \"./FooterAbout\";\nimport FooterFeedback, { FooterFeedbackProps } from \"./FooterFeedback\";\nimport { FooterSocials, FooterSocialsProps } from \"./FooterSocials\";\nimport FooterPublic, { FooterPublicProps } from \"./FooterPublic\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterRootProps\n extends FooterPartsPrimitiveProps {\n separator?: React.ReactElement;\n}\n\nconst Separator = () => (\n \n );\n};\n\nFooter.About = FooterAbout;\nFooter.Feedback = FooterFeedback;\nFooter.Socials = FooterSocials;\nFooter.Public = FooterPublic;\n\nexport { Footer, Separator };\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterAboutProps\n extends FooterPartsPrimitiveProps {\n entityLink?: string;\n entityName?: string;\n}\n\nconst FooterAbout = (props: React.PropsWithChildren) => {\n const { className, children, entityLink, entityName, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n\n return (\n \n Built with 🧡 by the{\" \"}\n \n {entityName ?? \"Bitcoin Dev Project\"}\n \n \n );\n};\n\nFooterAbout.displayName = \"FooterAbout\";\nexport default FooterAbout;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterFeedbackProps\n extends FooterPartsPrimitiveProps {\n feedbackLink: string;\n}\n\nconst FooterFeedback = (\n props: React.PropsWithChildren,\n) => {\n const { className, children, feedbackLink, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n return (\n \n We'd love to hear your feedback on this project?\n \n Give Feedback\n \n \n );\n};\n\nFooterFeedback.displayName = \"FooterFeedback\";\nexport default FooterFeedback;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { TwitterXIcon, GithubIcon, DiscordIcon, NostrIcon } from \"../../icons\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\ntype SupportedSocialMedia = \"twitter\" | \"github\" | \"discord\" | \"nostr\";\n\ntype ManadatorySocialMediaProps = {\n entityLink: string;\n iconProps?: React.SVGProps;\n} & T;\n\ntype SocialMediaProps =\n | ManadatorySocialMediaProps<{\n entity: SupportedSocialMedia;\n icon?: React.ReactElement;\n }>\n | ManadatorySocialMediaProps<{\n entity: Exclude;\n icon: React.ReactElement;\n }>;\n\nexport interface FooterSocialsProps\n extends FooterPartsPrimitiveProps {\n platforms: SocialMediaProps[];\n}\n\nconst Platform = ({ platform }: { platform: SocialMediaProps }) => {\n const { entity, entityLink, icon, iconProps } = platform;\n const { className, ...rest } = iconProps ?? {};\n const getIcon = (entity: SocialMediaProps[\"entity\"]) => {\n if (icon) {\n return React.cloneElement(icon, { ...rest, className });\n }\n if (entity === \"twitter\") {\n return (\n \n );\n }\n if (entity === \"github\") {\n return (\n \n );\n }\n if (entity === \"discord\") {\n return (\n \n );\n }\n if (entity === \"nostr\") {\n return (\n \n );\n }\n };\n const iconElement = getIcon(entity);\n\n return (\n
\n \n {iconElement}\n \n
\n );\n};\n\n/**\n * FooterSocials Component\n * @description Renders social media icons with links in the footer.\n * @param {FooterSocialsProps} props - The component props\n * @param {SocialMediaProps[]} props.platforms - Array of social media platform configurations\n * @remarks\n * Provides corresponding icons for twitter, github, discord, and nostr entities.\n * If a custom string is passed as entity, the icon prop is required.\n */\n\nexport const FooterSocials = (\n props: React.PropsWithChildren,\n) => {\n const { className: classname, children, platforms, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n const resolvedClassName = twMerge(\n clsx(\n \"text-black mb-[6px] md:mb-0 dark:text-white flex w-fit max-w-full gap-[24px]\",\n classname,\n ),\n );\n return (\n
\n {platforms.map((platform) => (\n \n ))}\n
\n );\n};\n\nFooterSocials.displayName = \"FooterSocials\";\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst AppsIcon = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default AppsIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowLeft = ({\n width = 7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowLeft;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst ArrowLinkRight = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default ArrowLinkRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst ArrowLinkUpRight = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default ArrowLinkUpRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowRight = ({\n width = 7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowUp = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowUp;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst AuthorIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default AuthorIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst BitcoinIcon = ({\n width = 18,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default BitcoinIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst BookmarkIcon = ({\n width = 25,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default BookmarkIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst CalendarIcon = ({\n width = 23,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n \n \n);\n\nexport default CalendarIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst CloseIconOutlined = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default CloseIconOutlined;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DateIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default DateIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst DayIcon = ({ width = 16, height, ...props }: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default DayIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DiceIcon = ({\n width = 23,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n \n);\n\nexport default DiceIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DiscordIcon = ({\n width = 45,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n \n \n \n);\n\nexport default DiscordIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst FilterIcon = ({\n width = 13,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default FilterIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst FilterCloseIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default FilterCloseIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst GithubIcon = ({\n width = 52,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default GithubIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst LightningIconSolid = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default LightningIconSolid;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst MicIcon = ({\n width = 27,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n);\n\nexport default MicIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst NightIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...svgProps\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default NightIcon;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst NostrIcon = ({\n width = 31,\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n);\n\nexport default NostrIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst PlusIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default PlusIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst SearchIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\nexport default SearchIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst SortIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n \n \n \n);\n\nexport default SortIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst SourceIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default SourceIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst TimeIcon = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default TimeIcon;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst TwitterXIcon = ({\n width = 37,\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n);\n\nexport default TwitterXIcon;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterPublicProps\n extends FooterPartsPrimitiveProps {\n dashboardLink: string;\n}\n\nconst FooterPublic = ({\n className,\n dashboardLink,\n ...rest\n}: FooterPublicProps) => {\n return (\n \n View our public visitor count\n \n );\n};\n\nexport default FooterPublic;\n","\"use client\";\n\nimport React, { useCallback, useLayoutEffect, useMemo, useRef } from \"react\";\nimport { CarouselConfig, DefaultCarouselConfig } from \"./defaults\";\nimport { throttledDebounce } from \"../../utils\";\nimport {\n CarouselButtonProps,\n CarouselContainer,\n CarouselContainerProps,\n CarouselControlProps,\n CarouselControls,\n CarouselItem,\n CarouselItemProps,\n CarouselNextButton,\n CarouselPreviousButton,\n} from \"./CarouselComponents\";\n\nexport interface CarouselContextType {\n containerRef: React.RefObject;\n totalCarouselItems: number;\n goToNextSlide: () => void;\n goToPreviousSlide: () => void;\n possibleDirection: {\n canGoToNextSlide: boolean;\n canGoToPreviousSlide: boolean;\n };\n}\n\nconst CarouselContext = React.createContext(null);\n\nexport const useCarousel = () => {\n const context = React.useContext(CarouselContext);\n if (!context) {\n throw new Error(\"useCarousel must be used within a CarouselProvider\");\n }\n return context;\n};\n\nexport interface CarouselProviderProps {\n children: React.ReactNode;\n containerRef: React.RefObject;\n config?: CarouselConfig;\n}\n\nconst CarouselProvider: React.FC = ({\n children,\n containerRef,\n config = DefaultCarouselConfig,\n}) => {\n const { stepWidthInPercent } = config;\n\n const [carouselWidth, setCarouselWidth] = React.useState(0);\n const [scrollableWidth, setScrollableWidth] = React.useState(0);\n const [scrollLeft, setScrollLeft] = React.useState(0);\n\n const possibleDirection = useMemo(() => {\n if (!containerRef.current)\n return { canGoToNextSlide: false, canGoToPreviousSlide: false };\n const canGoToNextSlide = scrollLeft < scrollableWidth - carouselWidth;\n const canGoToPreviousSlide = scrollLeft > 0;\n return { canGoToNextSlide, canGoToPreviousSlide };\n }, [containerRef, scrollableWidth, carouselWidth, scrollLeft]);\n\n const handleScroll = throttledDebounce(() => {\n if (!containerRef.current) return;\n setScrollLeft(containerRef.current?.scrollLeft ?? 0);\n }, 200);\n\n // init update containerRef details on mount and resize\n useLayoutEffect(() => {\n if (!containerRef.current) return;\n\n const updateSize = throttledDebounce(() => {\n setCarouselWidth(containerRef.current?.clientWidth ?? 0);\n setScrollableWidth(containerRef.current?.scrollWidth ?? 0);\n setScrollLeft(containerRef.current?.scrollLeft ?? 0);\n }, 200);\n\n const resizeObserver = new ResizeObserver(updateSize);\n resizeObserver.observe(containerRef.current);\n\n // Initial size update\n updateSize();\n\n return () => {\n if (containerRef.current) {\n resizeObserver.unobserve(containerRef.current);\n }\n };\n }, []);\n\n // update scroll position on scroll\n useLayoutEffect(() => {\n if (!containerRef.current) return;\n\n containerRef.current?.addEventListener(\"scroll\", handleScroll);\n\n return () => {\n if (containerRef.current) {\n containerRef.current.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, []);\n\n const totalCarouselItems = useMemo(() => {\n return containerRef.current?.children.length ?? 0;\n }, [containerRef]);\n\n const goToNextSlide = useCallback(() => {\n if (!containerRef.current) return;\n const stepWidth =\n (containerRef.current.clientWidth * stepWidthInPercent) / 100;\n const responsiveStepWidth =\n stepWidth < containerRef.current.children[0].clientWidth\n ? containerRef.current.clientWidth\n : stepWidth;\n const scrollLeft = containerRef.current.scrollLeft + responsiveStepWidth;\n containerRef.current.scrollTo({\n left: scrollLeft,\n behavior: \"smooth\",\n });\n }, [containerRef, stepWidthInPercent]);\n\n const goToPreviousSlide = useCallback(() => {\n if (!containerRef.current) return;\n const stepWidth =\n (containerRef.current.clientWidth * stepWidthInPercent) / 100;\n // const responsiveStepWidth = Math.max(containerRef.current.clientWidth, containerRef.current.clientWidth * stepWidthInPercent / 100) ;\n const responsiveStepWidth =\n stepWidth < containerRef.current.children[0].clientWidth\n ? containerRef.current.clientWidth\n : stepWidth;\n const scrollLeft = Math.max(\n 0,\n containerRef.current.scrollLeft - responsiveStepWidth,\n );\n containerRef.current.scrollTo({\n left: scrollLeft,\n behavior: \"smooth\",\n });\n }, [containerRef, stepWidthInPercent]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const Carousel: React.FC> & {\n Container: React.FC;\n Item: React.FC;\n Controls: React.FC;\n PreviousButton: React.FC;\n NextButton: React.FC;\n} = ({ children, config }: Omit) => {\n const containerRef = useRef(null);\n return (\n \n {children}\n \n );\n};\n\nCarousel.Container = CarouselContainer;\nCarousel.Item = CarouselItem;\nCarousel.Controls = CarouselControls;\nCarousel.PreviousButton = CarouselPreviousButton;\nCarousel.NextButton = CarouselNextButton;\n","export type CarouselConfig = {\n stepWidthInPercent: number;\n // TODO: Add support for scrollSteps\n // scrollSteps?: number;\n};\n\nexport const DefaultCarouselConfig: CarouselConfig = {\n stepWidthInPercent: 100,\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce void>(\n func: T,\n wait: number,\n): (...args: Parameters) => void {\n let timeout: ReturnType | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: Parameters) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n const later = () => {\n timeout = null;\n func.apply(context, args);\n };\n\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(later, wait);\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function throttledDebounce void>(\n func: T,\n limit: number,\n): (...args: Parameters) => void {\n let inThrottle: boolean = false;\n let lastArgs: Parameters | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: Parameters) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n if (!inThrottle) {\n func.apply(context, args);\n inThrottle = true;\n setTimeout(() => {\n inThrottle = false;\n if (lastArgs) {\n func.apply(context, lastArgs);\n lastArgs = null;\n }\n }, limit);\n } else {\n lastArgs = args;\n }\n };\n}\n\nexport const numberFormat = new Intl.NumberFormat(\"en-US\", {\n compactDisplay: \"short\",\n notation: \"compact\",\n});\n","import React from \"react\";\nimport { CarouselContextType, useCarousel } from \"./Carousel\";\nimport { ComponentStylePrimitiveProps } from \"../../primitives/types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface CarouselContainerProps\n extends ComponentStylePrimitiveProps {\n children: React.ReactNode;\n}\n\nexport const CarouselContainer: React.FC = ({\n children,\n ...props\n}) => {\n const { className, ...rest } = props;\n const { containerRef } = useCarousel();\n return (\n \n {children}\n \n );\n};\n\nexport type CarouselItemProps = CarouselContainerProps;\n\nexport const CarouselItem: React.FC = ({\n children,\n ...props\n}) => {\n const { className, ...rest } = props;\n return (\n \n {children}\n \n );\n};\n\nexport interface CarouselControlProps\n extends ComponentStylePrimitiveProps {\n children: React.ReactNode;\n}\n\nexport const CarouselControls: React.FC = ({\n children,\n className,\n ...props\n}) => {\n return (\n \n {children}\n \n );\n};\nexport interface CarouselButtonProps\n extends Omit, \"children\"> {\n children?:\n | React.ReactNode\n | ((\n goToPreviousSlide: () => void,\n possibleDirection: CarouselContextType[\"possibleDirection\"],\n ) => React.ReactNode);\n icon: React.ReactNode;\n}\n\nexport const CarouselPreviousButton: React.FC = ({\n children,\n ...props\n}) => {\n const { goToPreviousSlide, possibleDirection } = useCarousel();\n\n if (children) {\n if (typeof children === \"function\") {\n return <>{children(goToPreviousSlide, possibleDirection)};\n } else {\n console.warn(\n \"CarouselPreviousButton: Children prop is not a function (opts out of navigation logic). Rendering children as-is.\",\n );\n return <>{children};\n }\n }\n\n const { icon, className, ...rest } = props;\n\n return (\n \n {icon}\n \n );\n};\n\nexport const CarouselNextButton: React.FC = ({\n children,\n ...props\n}) => {\n const { goToNextSlide, possibleDirection } = useCarousel();\n\n if (children) {\n if (typeof children === \"function\") {\n return <>{children(goToNextSlide, possibleDirection)};\n } else {\n console.warn(\n \"CarouselNextButton: Children prop is not a function (opts out of navigation logic). Rendering children as-is.\",\n );\n return <>{children};\n }\n }\n\n const { icon, className, ...rest } = props;\n\n return (\n \n {icon}\n \n );\n};\n","import React, { useState } from \"react\";\nimport useCheckboxNavigate from \"./useSelectNavigate\";\nimport SelectInput, { SelectInputProps } from \"./SelectInput\";\nimport SelectList, { MultiSelectListProps } from \"./SelectList\";\n\nexport type SelectContextType = {\n containerRef: React.MutableRefObject | null;\n setContainerRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n searchInputRef: React.MutableRefObject | null;\n setSearchInputRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n isListOpen: boolean;\n toggleListOpen: () => void;\n currentNavigateCheckbox: string;\n toggleRefocus: () => void;\n onSearch: (value: string) => void;\n inputValue: string;\n};\n\ntype SelectProviderProps = {\n children: React.ReactNode;\n isCollapsible?: boolean;\n};\n\nconst SelectContext = React.createContext(null);\nexport const useMultiSelect = () => {\n const context = React.useContext(SelectContext);\n if (!context) {\n throw new Error(\"useMultiSelect must be used within a MultiSelectProvider\");\n }\n return context;\n};\n\nexport const MultiSelectProvider = ({\n children,\n isCollapsible = true,\n}: SelectProviderProps) => {\n const [containerRef, setContainerRef] =\n useState | null>(null);\n const [searchInputRef, setSearchInputRef] =\n useState | null>(null);\n\n const [isListOpen, setIsListOpen] = useState(true);\n\n const toggleListOpen = () => {\n if (!isCollapsible) return;\n setIsListOpen((prev) => !prev);\n };\n\n const [inputValue, setInputValue] = useState(\"\");\n\n const { currentNavigateCheckbox, toggleRefocus } = useCheckboxNavigate({\n checkboxContainer: containerRef,\n searchEl: searchInputRef,\n options: [],\n });\n\n // const [currentNavigateCheckbox, setcurrentNavigateCheckbox] = useState(\"\")\n const onSearch = (value: string) => {\n const newValue = value.trim();\n setInputValue(newValue);\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport const MultiSelect: React.FC & {\n Input: React.FC;\n List: React.FC;\n} = ({ children, isCollapsible = true }: SelectProviderProps) => {\n return (\n \n {children}\n \n );\n};\n\nMultiSelect.Input = SelectInput;\nMultiSelect.List = SelectList;\n","import { useEffect, useRef, useState } from \"react\";\nimport { isInViewport } from \"../../utils/navigation\";\n\ntype ChekboxNavigateProps = {\n checkboxContainer: React.MutableRefObject | null;\n searchEl: React.MutableRefObject | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options: any[];\n};\n\nconst useCheckboxNavigate = ({\n checkboxContainer,\n searchEl,\n options,\n}: ChekboxNavigateProps) => {\n const checkboxNavIndex = useRef(null);\n\n const [currentNavigateCheckbox, setcurrentNavigateCheckbox] = useState(\"\");\n\n const refocus = useRef(false);\n\n const toggleRefocus = () => {\n refocus.current = !refocus.current;\n };\n\n useEffect(() => {\n if (!checkboxContainer || !searchEl) return;\n const multiCheckboxWrapper = checkboxContainer.current;\n const multiCheckboxList =\n multiCheckboxWrapper &&\n (Array.from(multiCheckboxWrapper?.children) as HTMLElement[]);\n const searchInput = searchEl.current;\n // focus back to search when options changes\n if (refocus.current) {\n if (searchInput) {\n searchInput.focus();\n }\n toggleRefocus();\n }\n\n let currentCheckboxNavIndex = checkboxNavIndex.current;\n\n const handleOptionNavigation = (e: KeyboardEvent) => {\n if (currentNavigateCheckbox && currentCheckboxNavIndex === null) {\n const isPrevCheckInListIdx = multiCheckboxList.findIndex(\n (label) => label?.dataset?.checkbox === currentNavigateCheckbox,\n );\n if (isPrevCheckInListIdx !== -1) {\n currentCheckboxNavIndex = isPrevCheckInListIdx;\n }\n }\n\n switch (e.key) {\n // downArrow\n case \"ArrowDown\":\n e.preventDefault();\n if (currentCheckboxNavIndex === null) {\n currentCheckboxNavIndex = 0;\n } else {\n if (currentCheckboxNavIndex >= multiCheckboxList.length - 1) {\n currentCheckboxNavIndex = 0;\n } else {\n currentCheckboxNavIndex += 1;\n }\n }\n break;\n\n // upArrow\n case \"ArrowUp\":\n e.preventDefault();\n if (currentCheckboxNavIndex === null) {\n currentCheckboxNavIndex = multiCheckboxList.length - 1;\n } else {\n if (currentCheckboxNavIndex === 0) {\n currentCheckboxNavIndex = multiCheckboxList.length - 1;\n } else {\n currentCheckboxNavIndex -= 1;\n }\n }\n break;\n\n // Enter\n case \"Enter\": {\n e.preventDefault();\n if (currentCheckboxNavIndex) {\n const input =\n multiCheckboxList[currentCheckboxNavIndex]?.querySelector(\n '[role=\"button\"]',\n );\n if (input) {\n (input as HTMLButtonElement).click();\n }\n }\n break;\n }\n\n default:\n break;\n }\n\n const currentLabel =\n typeof currentCheckboxNavIndex === \"number\"\n ? multiCheckboxList[currentCheckboxNavIndex]\n : null;\n\n if (currentLabel) {\n const inViewPort = isInViewport(currentLabel);\n if (!inViewPort) {\n currentLabel.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n inline: \"nearest\",\n });\n }\n }\n setcurrentNavigateCheckbox(currentLabel?.dataset?.checkbox ?? \"\");\n };\n\n if (searchInput) {\n searchInput.addEventListener(\"keydown\", handleOptionNavigation);\n searchInput.addEventListener(\"focusout\", () =>\n setcurrentNavigateCheckbox(\"\"),\n );\n }\n\n return () => {\n if (searchInput) {\n searchInput.removeEventListener(\"keydown\", handleOptionNavigation);\n searchInput.removeEventListener(\"focusout\", () =>\n setcurrentNavigateCheckbox(\"\"),\n );\n }\n };\n }, [options, checkboxContainer, searchEl, currentNavigateCheckbox]);\n\n return { currentNavigateCheckbox, toggleRefocus };\n};\n\nexport default useCheckboxNavigate;\n","export function isInViewport(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n}\n","import React, { useEffect, useRef } from \"react\";\nimport { SearchIcon, ArrowRight } from \"../../icons\";\nimport { cn } from \"../../utils/cn\";\nimport { useMultiSelect } from \"./MultiSelect\";\n\ntype StyleConfig = {\n container?: string;\n input?: string;\n searchIcon?: string;\n searchIconWrapper?: string;\n arrowIcon?: string;\n arrowIconWrapper?: string;\n};\n\nexport type SelectInputProps = {\n defaultPlaceholder: string;\n className?: string;\n styles?: StyleConfig;\n};\n\nconst defaultStyles = {\n container: \"relative text-bdp-primary-text\",\n input:\n \"bg-transparent text-base 2xl:text-base font-medium w-full pl-12 pr-10 py-4 rounded-xl border-[1px] border-bdp-stroke focus:outline-none focus:outline-bdp-secondary-text focus:outline-offset-0 leading-none\",\n searchIcon: \"stroke-bdp-secondary-text w-[16px] h-[16px]\",\n searchIconWrapper: \"absolute top-1/2 -translate-y-1/2 left-[18px]\",\n arrowIcon: \"\",\n arrowIconWrapper:\n \"absolute p-2 cursor-pointer top-1/2 -translate-y-1/2 right-[18px] rotate-90 data-[is-open=false]:-rotate-90 transition-transform\",\n} as const;\n\nconst SelectInput = ({\n defaultPlaceholder,\n className,\n styles = {},\n}: SelectInputProps) => {\n const selectContextData = useMultiSelect();\n\n const searchRef = useRef(null!);\n const {\n currentNavigateCheckbox,\n toggleListOpen,\n isListOpen,\n onSearch,\n searchInputRef,\n setSearchInputRef,\n } = selectContextData;\n\n useEffect(() => {\n if (searchRef.current && !searchInputRef) {\n setSearchInputRef(searchRef);\n }\n }, []);\n\n return (\n
\n {\n onSearch(e.target.value);\n }}\n ref={searchRef}\n />\n \n \n \n \n \n \n
\n );\n};\n\nexport default SelectInput;\n","import { twMerge } from \"tailwind-merge\";\nimport { clsx } from \"clsx\";\n\nexport function cn(...inputs: (string | undefined)[]) {\n return twMerge(clsx(inputs));\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport { matchCharactersWithRegex } from \"../../utils/filter\";\nimport BaseSelectList, { SelectListProps } from \"./BaseSelectList\";\nimport { useMultiSelect } from \"./MultiSelect\";\n\nexport type MultiSelectListProps = Omit;\n\nconst SelectList = (props: MultiSelectListProps) => {\n const selectContextData = useMultiSelect();\n\n const containerRef = useRef(null!);\n const {\n containerRef: containerRefProvider,\n setContainerRef,\n isListOpen,\n currentNavigateCheckbox,\n inputValue: searchTerm,\n } = selectContextData;\n\n useEffect(() => {\n if (!containerRefProvider && containerRef.current) {\n setContainerRef(containerRef);\n }\n }, []);\n\n const filteredOptions = useMemo(() => {\n if (searchTerm.trim()) {\n return props.options.filter((option) => {\n return matchCharactersWithRegex(option.label, searchTerm.trim());\n });\n }\n return props.options;\n }, [props.options, searchTerm]);\n\n return (\n \n );\n};\n\nexport default SelectList;\n","export function matchCharactersWithRegex(word: string, searchTerm: string) {\n const escapedSearchTerm = searchTerm.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\n const regexPattern = escapedSearchTerm\n .split(\"\")\n .map((char) => `(?=.*${char})`)\n .join(\"\");\n\n const regex = new RegExp(regexPattern, \"i\"); // 'i' flag for case-insensitive matching\n\n return regex.test(word);\n}\n","import { LightningIconSolid } from \"../../icons\";\nimport { numberFormat } from \"../../utils\";\nimport { cn } from \"../../utils/cn\";\nimport React from \"react\";\n\nexport type BaseSelectContextTypeForList = {\n isListOpen: boolean;\n currentNavigateCheckbox: string;\n containerRef: React.MutableRefObject | null;\n};\n\nexport type SelectOption = {\n label: string;\n count?: number;\n value: string;\n selected: boolean;\n};\n\ntype StyleConfig = {\n container?: string;\n optionWrapper?: string;\n selectedOption?: string;\n optionInner?: string;\n icon?: string;\n label?: string;\n count?: string;\n noResults?: string;\n};\n\nexport type OnOptionSelect = ({\n action,\n value,\n event,\n}: {\n action: \"select\" | \"deselect\";\n value: string;\n event: React.MouseEvent;\n}) => void;\n\nexport type SelectListProps = {\n options: SelectOption[];\n label: string;\n onOptionSelect: OnOptionSelect;\n className?: string;\n styles?: StyleConfig;\n noResultsMessage?: string; // New: Customizable empty state\n selectContextData: BaseSelectContextTypeForList;\n};\n\nconst defaultStyles = {\n container:\n \"scroller font-medium mt-2 max-h-[300px] py-[6px] overflow-auto border border-bdp-stroke rounded-xl data-[is-open='false']:hidden\",\n optionWrapper: `flex gap-1 py-1 2xl:py-2 px-[14px] group/checkOption hover:bg-bdp-hover-state data-[current-navigated=true]:bg-bdp-hover-state\n group-hover/container:data-[current-navigated=true]:bg-transparent\n group-hover/container:data-[current-navigated=true]:hover:bg-bdp-hover-state\n data-[selected=true]:text-bdp-accent text-bdp-primary-text`,\n optionInner: \"selectable-option flex grow items-center gap-3\",\n icon: \"shrink-0 group-data-[selected=false]/checkOption:invisible w-[12px] 2xl:w-[16px] h-auto\",\n label:\n \"grow capitalize text-sm 2xl:text-base group-data-[selected=true]/checkOption:font-bold\",\n count: \"shrink-0 group-data-[selected=true]/checkOption:font-medium\",\n noResults: \"w-full text-sm 2xl:text-base text-center px-2\",\n} as const;\n\nconst BaseSelectList = ({\n options,\n label,\n onOptionSelect,\n className,\n styles = {},\n noResultsMessage = \"No matching options\",\n selectContextData,\n}: SelectListProps) => {\n const { isListOpen, currentNavigateCheckbox, containerRef } =\n selectContextData;\n return (\n \n {options.length < 1 && (\n

\n {noResultsMessage}\n

\n )}\n {options?.map((option) => {\n const checked = option.selected;\n const value = option.value;\n return (\n \n \n onOptionSelect({ action: \"select\", value, event })\n }\n role=\"button\"\n aria-label={`${\n checked ? \"uncheck\" : \"check\"\n } filter ${label}:${option.label}`}\n >\n \n \n \n {option.label}\n \n \n {option.count ? (\n \n {numberFormat.format(option.count)}\n \n ) : null}\n \n \n );\n })}\n \n );\n};\n\nexport default BaseSelectList;\n","\"use client\";\n\nimport React, { createContext, useCallback, useState } from \"react\";\nimport SingleSelectList, {\n SingleSelectListProps,\n SingleSelectOption,\n} from \"./SingleSelectList\";\nimport SingleSelectTrigger, {\n SingleSelectTriggerProps,\n} from \"./SingleSelectInput\";\n\ntype StyleConfig = {\n container?: string;\n input?: string;\n list?: string;\n option?: string;\n};\n\ntype SelectContextType = {\n isListOpen: boolean;\n toggleListOpen: () => void;\n selectedOption: SingleSelectOption | null;\n setSelectedOption: (option: SingleSelectOption | null) => void;\n containerRef: React.MutableRefObject | null;\n setContainerRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n handleSelectOption: (option: SingleSelectOption) => void;\n triggerRef: React.RefObject;\n};\n\nconst SingleSelectContext = createContext(null);\nexport const useSingleSelect = () => {\n const context = React.useContext(SingleSelectContext);\n if (!context) {\n throw new Error(\n \"useSingleSelect must be used within a SingleSelectProvider\",\n );\n }\n return context;\n};\n\ntype SingleSelectProviderProps = {\n children: React.ReactNode;\n triggerRef: React.RefObject;\n className?: string;\n styles?: StyleConfig;\n disabled?: boolean;\n};\n\nconst SingleSelectProvider = ({\n children,\n triggerRef,\n disabled = false,\n}: SingleSelectProviderProps) => {\n const [isListOpen, setIsListOpen] = useState(false);\n const [containerRef, setContainerRef] =\n useState | null>(null);\n const [selectedOption, setSelectedOption] =\n useState(null);\n\n const toggleListOpen = () => {\n if (!disabled) {\n setIsListOpen((prev) => !prev);\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleSelectOption = (_option: SingleSelectOption) => {\n setIsListOpen(false);\n };\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n if (\n containerRef?.current &&\n triggerRef?.current &&\n !containerRef.current.contains(event.target as Node) &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n setIsListOpen(false);\n }\n },\n [containerRef, isListOpen],\n );\n\n React.useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [containerRef]);\n\n const contextValue = {\n isListOpen,\n toggleListOpen,\n selectedOption,\n setSelectedOption,\n handleSelectOption,\n containerRef,\n setContainerRef,\n triggerRef,\n };\n\n return (\n \n
{children}
\n
\n );\n};\n\nexport const SingleSelect: React.FC<\n Omit\n> & {\n List: React.FC;\n Trigger: React.FC;\n} = ({\n children,\n disabled = false,\n}: Omit) => {\n const triggerRef = React.useRef(null);\n return (\n \n {children}\n \n );\n};\n\nSingleSelect.List = SingleSelectList;\nSingleSelect.Trigger = SingleSelectTrigger;\n","import React, { useEffect } from \"react\";\nimport BaseSelectList, { SelectListProps } from \"./BaseSelectList\";\nimport { useSingleSelect } from \"./Dropdown\";\n\nexport type SingleSelectOption = {\n label: string;\n value: string;\n};\n\nexport type OptionSelectHandler = (option: SingleSelectOption) => void;\n\nexport type SingleSelectListProps = Omit<\n SelectListProps,\n \"selectContextData\" | \"options\" | \"onOptionSelect\"\n> & {\n options: SingleSelectOption[];\n value: string;\n onOptionSelect: OptionSelectHandler;\n};\n\nconst SingleSelectList = (props: SingleSelectListProps) => {\n const {\n isListOpen,\n containerRef: containerRefProvider,\n setContainerRef,\n handleSelectOption,\n setSelectedOption,\n } = useSingleSelect();\n const containerRef = React.useRef(null!);\n\n useEffect(() => {\n if (!containerRefProvider && containerRef.current) {\n setContainerRef(containerRef);\n }\n }, []);\n\n const handleOption = ({\n value,\n }: {\n action: \"select\" | \"deselect\";\n value: string;\n event: React.MouseEvent;\n }) => {\n const option = props.options.find((option) => option.value === value);\n if (option) {\n handleSelectOption(option);\n props.onOptionSelect(option);\n }\n };\n\n const managedOptions = props.options.map((option) => ({\n ...option,\n selected: option.value === props.value,\n }));\n\n useEffect(() => {\n setSelectedOption(\n props.options.find((option) => option.value === props.value) || null,\n );\n }, [props.value, props.options]);\n\n return (\n \n );\n};\n\nexport default SingleSelectList;\n","import React from \"react\";\nimport { ArrowRight } from \"../../icons\";\nimport { cn } from \"../../utils/cn\";\nimport { useSingleSelect } from \"./Dropdown\";\n\ntype StyleConfig = {\n container?: string;\n trigger?: string;\n arrowIcon?: string;\n arrowIconWrapper?: string;\n};\n\nexport type SingleSelectTriggerProps = {\n defaultPlaceholder: string;\n className?: string;\n styles?: StyleConfig;\n};\n\nconst defaultStyles = {\n container: \"relative text-bdp-primary-text\",\n trigger:\n \"block bg-transparent text-base text-bdp-accent 2xl:text-base font-medium w-full pl-6 py-4 rounded-xl border-[1px] border-bdp-stroke focus:outline-none focus:outline-bdp-secondary-text focus:outline-offset-0 leading-none\",\n arrowIcon: \"\",\n arrowIconWrapper:\n \"absolute p-2 cursor-pointer top-1/2 -translate-y-1/2 right-[18px] rotate-90 data-[is-open=false]:-rotate-90 transition-transform\",\n} as const;\n\nconst SingleSelectTrigger = ({\n defaultPlaceholder,\n className,\n styles = {},\n}: SingleSelectTriggerProps) => {\n const { selectedOption, toggleListOpen, isListOpen, triggerRef } =\n useSingleSelect();\n\n return (\n \n \n \n \n \n \n );\n};\n\nexport default SingleSelectTrigger;\n","\"use client\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ntype StyleConfig = {\n container?: string;\n bannerInfoContainer?: string;\n bodyText?: string;\n headingText?: string;\n link?: string;\n icon?: string;\n boss?: string;\n};\ntype Links = {\n linkText: string;\n linkTo: string;\n};\ntype Props = Links & {\n bodyText?: string;\n headingText: string;\n styles?: StyleConfig;\n hasBoss?: boolean;\n};\n\nconst defaultStyles = {\n container:\n \"dark:text-bdp-white dark:shadow-dark-light gap-2 flex items-center justify-between w-full px-2 sm:px-4 shadow-md transition-all duration-200 ease-in-out text-center\",\n bannerInfoContainer: `flex flex-col flex-[1_1_auto]`,\n headingText: \"font-semibold text-sm md:text-lg\",\n bodyText: \"text-sm md:text-base\",\n link: \"text-bdp-accent underline font-semibold text-xs md:text-sm\",\n icon: \"text-bdp-lightGrey hover:text-red-500 transition-all duration-200 ease-in-out\",\n boss: \"text-bdp-accent text-base md:text-lg\",\n} as const;\n\nexport function Banner({\n bodyText,\n headingText,\n styles = {},\n hasBoss,\n ...rest\n}: Props) {\n const [showBanner, setShowBanner] = useState(true);\n\n return (\n \n \n {!!headingText && (\n

\n {headingText}\n {hasBoss && (\n â‚¿OSS\n )}\n

\n )}\n {!!bodyText && (\n

\n {bodyText}\n

\n )}\n {!!rest.linkText && (\n setShowBanner(false)}\n className={cn(defaultStyles.link, styles.link)}\n href={rest.linkTo}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {rest.linkText}\n \n )}\n \n setShowBanner(false)}\n data-show-banner={showBanner}\n className={cn(\n defaultStyles.icon,\n \"opacity-1\",\n \"data-[show-banner='false']:opacity-0\",\n styles.icon,\n )}\n >\n \n \n \n \n \n );\n}\n"],"mappings":"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","names":["React","React","React","twMerge","clsx","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","twMerge","clsx","entity","React","React","twMerge","clsx","twMerge","clsx","React","React","React","twMerge","clsx","React","React","scrollLeft","React","useState","useRef","useRef","_a","React","useEffect","useRef","twMerge","clsx","useRef","useEffect","React","React","useEffect","useMemo","useRef","React","defaultStyles","useRef","useEffect","useMemo","React","React","useState","React","useCallback","useState","React","useEffect","React","useEffect","option","React","defaultStyles","React","React","useState","useCallback","React","useState","defaultStyles","useState","React"]} \ No newline at end of file +{"version":3,"sources":["../src/components/button/Button.tsx","../src/components/footer/Footer.tsx","../src/components/footer/FooterAbout.tsx","../src/components/footer/FooterFeedback.tsx","../src/components/footer/FooterSocials.tsx","../src/icons/AppsIcon.tsx","../src/icons/ArrowLeft.tsx","../src/icons/ArrowLinkRight.tsx","../src/icons/ArrowLinkUpRight.tsx","../src/icons/ArrowRight.tsx","../src/icons/ArrowUp.tsx","../src/icons/AuthorIcon.tsx","../src/icons/BitcoinIcon.tsx","../src/icons/BookmarkIcon.tsx","../src/icons/CalendarIcon.tsx","../src/icons/CloseIconOutlined.tsx","../src/icons/DateIcon.tsx","../src/icons/DayIcon.tsx","../src/icons/DiceIcon.tsx","../src/icons/DiscordIcon.tsx","../src/icons/FilterIcon.tsx","../src/icons/FilterCloseIcon.tsx","../src/icons/GithubIcon.tsx","../src/icons/LightningIconSolid.tsx","../src/icons/MicIcon.tsx","../src/icons/NightIcon.tsx","../src/icons/NostrIcon.tsx","../src/icons/PlusIcon.tsx","../src/icons/SearchIcon.tsx","../src/icons/SortIcon.tsx","../src/icons/SourceIcon.tsx","../src/icons/TimeIcon.tsx","../src/icons/TwitterXIcon.tsx","../src/components/footer/FooterPublic.tsx","../src/components/carousel/Carousel.tsx","../src/components/carousel/defaults.ts","../src/utils/index.ts","../src/components/carousel/CarouselComponents.tsx","../src/components/select/MultiSelect.tsx","../src/components/select/useSelectNavigate.tsx","../src/utils/navigation.ts","../src/components/select/SelectInput.tsx","../src/utils/cn.ts","../src/components/select/SelectList.tsx","../src/utils/filter.ts","../src/components/select/BaseSelectList.tsx","../src/components/select/Dropdown.tsx","../src/components/select/SingleSelectList.tsx","../src/components/select/SingleSelectInput.tsx","../src/components/banner/Banner.tsx"],"sourcesContent":["// src/components/Button/Button.tsx\n\nimport React from \"react\";\nexport interface ButtonProps {\n label: string;\n onClick?: () => void;\n variant?: \"primary\" | \"secondary\";\n size?: \"small\" | \"medium\" | \"large\";\n disabled?: boolean;\n}\n\nexport const Button: React.FC = ({\n label,\n onClick,\n variant = \"primary\",\n size = \"medium\",\n disabled = false,\n}) => {\n const baseStyles = \"font-bold py-2 px-4 rounded\";\n const variantStyles = {\n primary: \"bg-blue-500 hover:bg-blue-700 text-white\",\n secondary: \"bg-gray-300 hover:bg-gray-400 text-gray-800\",\n };\n const sizeStyles = {\n small: \"text-sm\",\n medium: \"text-base\",\n large: \"text-lg\",\n };\n\n const className = `\n ${baseStyles}\n ${variantStyles[variant]}\n ${sizeStyles[size]}\n ${disabled ? \"opacity-50 cursor-not-allowed\" : \"\"}\n `.trim();\n\n return (\n \n );\n};\n","import React from \"react\";\nimport FooterAbout, { FooterAboutProps } from \"./FooterAbout\";\nimport FooterFeedback, { FooterFeedbackProps } from \"./FooterFeedback\";\nimport { FooterSocials, FooterSocialsProps } from \"./FooterSocials\";\nimport FooterPublic, { FooterPublicProps } from \"./FooterPublic\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterRootProps\n extends FooterPartsPrimitiveProps {\n separator?: React.ReactElement;\n}\n\nconst Separator = () => (\n \n );\n};\n\nFooter.About = FooterAbout;\nFooter.Feedback = FooterFeedback;\nFooter.Socials = FooterSocials;\nFooter.Public = FooterPublic;\n\nexport { Footer, Separator };\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterAboutProps\n extends FooterPartsPrimitiveProps {\n entityLink?: string;\n entityName?: string;\n}\n\nconst FooterAbout = (props: React.PropsWithChildren) => {\n const { className, children, entityLink, entityName, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n\n return (\n \n Built with 🧡 by the{\" \"}\n \n {entityName ?? \"Bitcoin Dev Project\"}\n \n \n );\n};\n\nFooterAbout.displayName = \"FooterAbout\";\nexport default FooterAbout;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterFeedbackProps\n extends FooterPartsPrimitiveProps {\n feedbackLink: string;\n}\n\nconst FooterFeedback = (\n props: React.PropsWithChildren,\n) => {\n const { className, children, feedbackLink, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n return (\n \n We'd love to hear your feedback on this project?\n \n Give Feedback\n \n \n );\n};\n\nFooterFeedback.displayName = \"FooterFeedback\";\nexport default FooterFeedback;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { TwitterXIcon, GithubIcon, DiscordIcon, NostrIcon } from \"../../icons\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\ntype SupportedSocialMedia = \"twitter\" | \"github\" | \"discord\" | \"nostr\";\n\ntype ManadatorySocialMediaProps = {\n entityLink: string;\n iconProps?: React.SVGProps;\n} & T;\n\ntype SocialMediaProps =\n | ManadatorySocialMediaProps<{\n entity: SupportedSocialMedia;\n icon?: React.ReactElement;\n }>\n | ManadatorySocialMediaProps<{\n entity: Exclude;\n icon: React.ReactElement;\n }>;\n\nexport interface FooterSocialsProps\n extends FooterPartsPrimitiveProps {\n platforms: SocialMediaProps[];\n}\n\nconst Platform = ({ platform }: { platform: SocialMediaProps }) => {\n const { entity, entityLink, icon, iconProps } = platform;\n const { className, ...rest } = iconProps ?? {};\n const getIcon = (entity: SocialMediaProps[\"entity\"]) => {\n if (icon) {\n return React.cloneElement(icon, { ...rest, className });\n }\n if (entity === \"twitter\") {\n return (\n \n );\n }\n if (entity === \"github\") {\n return (\n \n );\n }\n if (entity === \"discord\") {\n return (\n \n );\n }\n if (entity === \"nostr\") {\n return (\n \n );\n }\n };\n const iconElement = getIcon(entity);\n\n return (\n
\n \n {iconElement}\n \n
\n );\n};\n\n/**\n * FooterSocials Component\n * @description Renders social media icons with links in the footer.\n * @param {FooterSocialsProps} props - The component props\n * @param {SocialMediaProps[]} props.platforms - Array of social media platform configurations\n * @remarks\n * Provides corresponding icons for twitter, github, discord, and nostr entities.\n * If a custom string is passed as entity, the icon prop is required.\n */\n\nexport const FooterSocials = (\n props: React.PropsWithChildren,\n) => {\n const { className: classname, children, platforms, ...rest } = props;\n if (children) {\n
\n {props.children}\n
;\n }\n const resolvedClassName = twMerge(\n clsx(\n \"text-black mb-[6px] md:mb-0 dark:text-white flex w-fit max-w-full gap-[24px]\",\n classname,\n ),\n );\n return (\n
\n {platforms.map((platform) => (\n \n ))}\n
\n );\n};\n\nFooterSocials.displayName = \"FooterSocials\";\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst AppsIcon = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default AppsIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowLeft = ({\n width = 7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowLeft;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst ArrowLinkRight = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default ArrowLinkRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst ArrowLinkUpRight = ({\n width = 24,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default ArrowLinkUpRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowRight = ({\n width = 7,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowRight;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst ArrowUp = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default ArrowUp;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst AuthorIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default AuthorIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst BitcoinIcon = ({\n width = 18,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default BitcoinIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst BookmarkIcon = ({\n width = 25,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\n\nexport default BookmarkIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst CalendarIcon = ({\n width = 23,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n \n \n);\n\nexport default CalendarIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst CloseIconOutlined = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default CloseIconOutlined;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DateIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default DateIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst DayIcon = ({ width = 16, height, ...props }: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default DayIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DiceIcon = ({\n width = 23,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n \n);\n\nexport default DiceIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst DiscordIcon = ({\n width = 45,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n \n \n \n);\n\nexport default DiscordIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst FilterIcon = ({\n width = 13,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default FilterIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst FilterCloseIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default FilterCloseIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst GithubIcon = ({\n width = 52,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default GithubIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst LightningIconSolid = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => {\n // height is destructed and unused, scaling is defined by width\n return (\n \n \n \n );\n};\nexport default LightningIconSolid;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst MicIcon = ({\n width = 27,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n \n \n);\n\nexport default MicIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst NightIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n pathProps,\n ...svgProps\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default NightIcon;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst NostrIcon = ({\n width = 31,\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n);\n\nexport default NostrIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst PlusIcon = ({\n width = 12,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default PlusIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\nconst SearchIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n);\nexport default SearchIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst SortIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n \n \n \n \n);\n\nexport default SortIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst SourceIcon = ({\n width = 20,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\n\nexport default SourceIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst TimeIcon = ({\n width = 14,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n height,\n ...props\n}: SVGProps) => (\n // height is destructed and unused, scaling is defined by width\n \n \n \n);\nexport default TimeIcon;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst TwitterXIcon = ({\n width = 37,\n height,\n pathProps,\n ...props\n}: SVGProps & { pathProps?: SVGProps }) => (\n // height is destructed and unused, scaling is defined by width\n // pathProps is destructured and unused\n\n \n \n \n);\n\nexport default TwitterXIcon;\n","import React from \"react\";\nimport { FooterPartsPrimitiveProps } from \"./types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface FooterPublicProps\n extends FooterPartsPrimitiveProps {\n dashboardLink: string;\n}\n\nconst FooterPublic = ({\n className,\n dashboardLink,\n ...rest\n}: FooterPublicProps) => {\n return (\n \n View our public visitor count\n \n );\n};\n\nexport default FooterPublic;\n","\"use client\";\n\nimport React, { useCallback, useLayoutEffect, useMemo, useRef } from \"react\";\nimport { CarouselConfig, DefaultCarouselConfig } from \"./defaults\";\nimport { throttledDebounce } from \"../../utils\";\nimport {\n CarouselButtonProps,\n CarouselContainer,\n CarouselContainerProps,\n CarouselControlProps,\n CarouselControls,\n CarouselItem,\n CarouselItemProps,\n CarouselNextButton,\n CarouselPreviousButton,\n} from \"./CarouselComponents\";\n\nexport interface CarouselContextType {\n containerRef: React.RefObject;\n totalCarouselItems: number;\n goToNextSlide: () => void;\n goToPreviousSlide: () => void;\n possibleDirection: {\n canGoToNextSlide: boolean;\n canGoToPreviousSlide: boolean;\n };\n}\n\nconst CarouselContext = React.createContext(null);\n\nexport const useCarousel = () => {\n const context = React.useContext(CarouselContext);\n if (!context) {\n throw new Error(\"useCarousel must be used within a CarouselProvider\");\n }\n return context;\n};\n\nexport interface CarouselProviderProps {\n children: React.ReactNode;\n containerRef: React.RefObject;\n config?: CarouselConfig;\n}\n\nconst CarouselProvider: React.FC = ({\n children,\n containerRef,\n config = DefaultCarouselConfig,\n}) => {\n const { stepWidthInPercent } = config;\n\n const [carouselWidth, setCarouselWidth] = React.useState(0);\n const [scrollableWidth, setScrollableWidth] = React.useState(0);\n const [scrollLeft, setScrollLeft] = React.useState(0);\n\n const possibleDirection = useMemo(() => {\n if (!containerRef.current)\n return { canGoToNextSlide: false, canGoToPreviousSlide: false };\n const canGoToNextSlide = scrollLeft < scrollableWidth - carouselWidth;\n const canGoToPreviousSlide = scrollLeft > 0;\n return { canGoToNextSlide, canGoToPreviousSlide };\n }, [containerRef, scrollableWidth, carouselWidth, scrollLeft]);\n\n const handleScroll = throttledDebounce(() => {\n if (!containerRef.current) return;\n setScrollLeft(containerRef.current?.scrollLeft ?? 0);\n }, 200);\n\n // init update containerRef details on mount and resize\n useLayoutEffect(() => {\n if (!containerRef.current) return;\n\n const updateSize = throttledDebounce(() => {\n setCarouselWidth(containerRef.current?.clientWidth ?? 0);\n setScrollableWidth(containerRef.current?.scrollWidth ?? 0);\n setScrollLeft(containerRef.current?.scrollLeft ?? 0);\n }, 200);\n\n const resizeObserver = new ResizeObserver(updateSize);\n resizeObserver.observe(containerRef.current);\n\n // Initial size update\n updateSize();\n\n return () => {\n if (containerRef.current) {\n resizeObserver.unobserve(containerRef.current);\n }\n };\n }, []);\n\n // update scroll position on scroll\n useLayoutEffect(() => {\n if (!containerRef.current) return;\n\n containerRef.current?.addEventListener(\"scroll\", handleScroll);\n\n return () => {\n if (containerRef.current) {\n containerRef.current.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, []);\n\n const totalCarouselItems = useMemo(() => {\n return containerRef.current?.children.length ?? 0;\n }, [containerRef]);\n\n const goToNextSlide = useCallback(() => {\n if (!containerRef.current) return;\n const stepWidth =\n (containerRef.current.clientWidth * stepWidthInPercent) / 100;\n const responsiveStepWidth =\n stepWidth < containerRef.current.children[0].clientWidth\n ? containerRef.current.clientWidth\n : stepWidth;\n const scrollLeft = containerRef.current.scrollLeft + responsiveStepWidth;\n containerRef.current.scrollTo({\n left: scrollLeft,\n behavior: \"smooth\",\n });\n }, [containerRef, stepWidthInPercent]);\n\n const goToPreviousSlide = useCallback(() => {\n if (!containerRef.current) return;\n const stepWidth =\n (containerRef.current.clientWidth * stepWidthInPercent) / 100;\n // const responsiveStepWidth = Math.max(containerRef.current.clientWidth, containerRef.current.clientWidth * stepWidthInPercent / 100) ;\n const responsiveStepWidth =\n stepWidth < containerRef.current.children[0].clientWidth\n ? containerRef.current.clientWidth\n : stepWidth;\n const scrollLeft = Math.max(\n 0,\n containerRef.current.scrollLeft - responsiveStepWidth,\n );\n containerRef.current.scrollTo({\n left: scrollLeft,\n behavior: \"smooth\",\n });\n }, [containerRef, stepWidthInPercent]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const Carousel: React.FC> & {\n Container: React.FC;\n Item: React.FC;\n Controls: React.FC;\n PreviousButton: React.FC;\n NextButton: React.FC;\n} = ({ children, config }: Omit) => {\n const containerRef = useRef(null);\n return (\n \n {children}\n \n );\n};\n\nCarousel.Container = CarouselContainer;\nCarousel.Item = CarouselItem;\nCarousel.Controls = CarouselControls;\nCarousel.PreviousButton = CarouselPreviousButton;\nCarousel.NextButton = CarouselNextButton;\n","export type CarouselConfig = {\n stepWidthInPercent: number;\n // TODO: Add support for scrollSteps\n // scrollSteps?: number;\n};\n\nexport const DefaultCarouselConfig: CarouselConfig = {\n stepWidthInPercent: 100,\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce void>(\n func: T,\n wait: number,\n): (...args: Parameters) => void {\n let timeout: ReturnType | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: Parameters) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n const later = () => {\n timeout = null;\n func.apply(context, args);\n };\n\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(later, wait);\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function throttledDebounce void>(\n func: T,\n limit: number,\n): (...args: Parameters) => void {\n let inThrottle: boolean = false;\n let lastArgs: Parameters | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: Parameters) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n if (!inThrottle) {\n func.apply(context, args);\n inThrottle = true;\n setTimeout(() => {\n inThrottle = false;\n if (lastArgs) {\n func.apply(context, lastArgs);\n lastArgs = null;\n }\n }, limit);\n } else {\n lastArgs = args;\n }\n };\n}\n\nexport const numberFormat = new Intl.NumberFormat(\"en-US\", {\n compactDisplay: \"short\",\n notation: \"compact\",\n});\n","import React from \"react\";\nimport { CarouselContextType, useCarousel } from \"./Carousel\";\nimport { ComponentStylePrimitiveProps } from \"../../primitives/types\";\nimport { twMerge } from \"tailwind-merge\";\nimport clsx from \"clsx\";\n\nexport interface CarouselContainerProps\n extends ComponentStylePrimitiveProps {\n children: React.ReactNode;\n}\n\nexport const CarouselContainer: React.FC = ({\n children,\n ...props\n}) => {\n const { className, ...rest } = props;\n const { containerRef } = useCarousel();\n return (\n \n {children}\n \n );\n};\n\nexport type CarouselItemProps = CarouselContainerProps;\n\nexport const CarouselItem: React.FC = ({\n children,\n ...props\n}) => {\n const { className, ...rest } = props;\n return (\n \n {children}\n \n );\n};\n\nexport interface CarouselControlProps\n extends ComponentStylePrimitiveProps {\n children: React.ReactNode;\n}\n\nexport const CarouselControls: React.FC = ({\n children,\n className,\n ...props\n}) => {\n return (\n \n {children}\n \n );\n};\nexport interface CarouselButtonProps\n extends Omit, \"children\"> {\n children?:\n | React.ReactNode\n | ((\n goToPreviousSlide: () => void,\n possibleDirection: CarouselContextType[\"possibleDirection\"],\n ) => React.ReactNode);\n icon: React.ReactNode;\n}\n\nexport const CarouselPreviousButton: React.FC = ({\n children,\n ...props\n}) => {\n const { goToPreviousSlide, possibleDirection } = useCarousel();\n\n if (children) {\n if (typeof children === \"function\") {\n return <>{children(goToPreviousSlide, possibleDirection)};\n } else {\n console.warn(\n \"CarouselPreviousButton: Children prop is not a function (opts out of navigation logic). Rendering children as-is.\",\n );\n return <>{children};\n }\n }\n\n const { icon, className, ...rest } = props;\n\n return (\n \n {icon}\n \n );\n};\n\nexport const CarouselNextButton: React.FC = ({\n children,\n ...props\n}) => {\n const { goToNextSlide, possibleDirection } = useCarousel();\n\n if (children) {\n if (typeof children === \"function\") {\n return <>{children(goToNextSlide, possibleDirection)};\n } else {\n console.warn(\n \"CarouselNextButton: Children prop is not a function (opts out of navigation logic). Rendering children as-is.\",\n );\n return <>{children};\n }\n }\n\n const { icon, className, ...rest } = props;\n\n return (\n \n {icon}\n \n );\n};\n","import React, { useState } from \"react\";\nimport useCheckboxNavigate from \"./useSelectNavigate\";\nimport SelectInput, { SelectInputProps } from \"./SelectInput\";\nimport SelectList, { MultiSelectListProps } from \"./SelectList\";\n\nexport type SelectContextType = {\n containerRef: React.MutableRefObject | null;\n setContainerRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n searchInputRef: React.MutableRefObject | null;\n setSearchInputRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n isListOpen: boolean;\n toggleListOpen: () => void;\n currentNavigateCheckbox: string;\n toggleRefocus: () => void;\n onSearch: (value: string) => void;\n inputValue: string;\n};\n\ntype SelectProviderProps = {\n children: React.ReactNode;\n isCollapsible?: boolean;\n};\n\nconst SelectContext = React.createContext(null);\nexport const useMultiSelect = () => {\n const context = React.useContext(SelectContext);\n if (!context) {\n throw new Error(\"useMultiSelect must be used within a MultiSelectProvider\");\n }\n return context;\n};\n\nexport const MultiSelectProvider = ({\n children,\n isCollapsible = true,\n}: SelectProviderProps) => {\n const [containerRef, setContainerRef] =\n useState | null>(null);\n const [searchInputRef, setSearchInputRef] =\n useState | null>(null);\n\n const [isListOpen, setIsListOpen] = useState(true);\n\n const toggleListOpen = () => {\n if (!isCollapsible) return;\n setIsListOpen((prev) => !prev);\n };\n\n const [inputValue, setInputValue] = useState(\"\");\n\n const { currentNavigateCheckbox, toggleRefocus } = useCheckboxNavigate({\n checkboxContainer: containerRef,\n searchEl: searchInputRef,\n options: [],\n });\n\n // const [currentNavigateCheckbox, setcurrentNavigateCheckbox] = useState(\"\")\n const onSearch = (value: string) => {\n const newValue = value.trim();\n setInputValue(newValue);\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport const MultiSelect: React.FC & {\n Input: React.FC;\n List: React.FC;\n} = ({ children, isCollapsible = true }: SelectProviderProps) => {\n return (\n \n {children}\n \n );\n};\n\nMultiSelect.Input = SelectInput;\nMultiSelect.List = SelectList;\n","import { useEffect, useRef, useState } from \"react\";\nimport { isInViewport } from \"../../utils/navigation\";\n\ntype ChekboxNavigateProps = {\n checkboxContainer: React.MutableRefObject | null;\n searchEl: React.MutableRefObject | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options: any[];\n};\n\nconst useCheckboxNavigate = ({\n checkboxContainer,\n searchEl,\n options,\n}: ChekboxNavigateProps) => {\n const checkboxNavIndex = useRef(null);\n\n const [currentNavigateCheckbox, setcurrentNavigateCheckbox] = useState(\"\");\n\n const refocus = useRef(false);\n\n const toggleRefocus = () => {\n refocus.current = !refocus.current;\n };\n\n useEffect(() => {\n if (!checkboxContainer || !searchEl) return;\n const multiCheckboxWrapper = checkboxContainer.current;\n const multiCheckboxList =\n multiCheckboxWrapper &&\n (Array.from(multiCheckboxWrapper?.children) as HTMLElement[]);\n const searchInput = searchEl.current;\n // focus back to search when options changes\n if (refocus.current) {\n if (searchInput) {\n searchInput.focus();\n }\n toggleRefocus();\n }\n\n let currentCheckboxNavIndex = checkboxNavIndex.current;\n\n const handleOptionNavigation = (e: KeyboardEvent) => {\n if (currentNavigateCheckbox && currentCheckboxNavIndex === null) {\n const isPrevCheckInListIdx = multiCheckboxList.findIndex(\n (label) => label?.dataset?.checkbox === currentNavigateCheckbox,\n );\n if (isPrevCheckInListIdx !== -1) {\n currentCheckboxNavIndex = isPrevCheckInListIdx;\n }\n }\n\n switch (e.key) {\n // downArrow\n case \"ArrowDown\":\n e.preventDefault();\n if (currentCheckboxNavIndex === null) {\n currentCheckboxNavIndex = 0;\n } else {\n if (currentCheckboxNavIndex >= multiCheckboxList.length - 1) {\n currentCheckboxNavIndex = 0;\n } else {\n currentCheckboxNavIndex += 1;\n }\n }\n break;\n\n // upArrow\n case \"ArrowUp\":\n e.preventDefault();\n if (currentCheckboxNavIndex === null) {\n currentCheckboxNavIndex = multiCheckboxList.length - 1;\n } else {\n if (currentCheckboxNavIndex === 0) {\n currentCheckboxNavIndex = multiCheckboxList.length - 1;\n } else {\n currentCheckboxNavIndex -= 1;\n }\n }\n break;\n\n // Enter\n case \"Enter\": {\n e.preventDefault();\n if (currentCheckboxNavIndex) {\n const input =\n multiCheckboxList[currentCheckboxNavIndex]?.querySelector(\n '[role=\"button\"]',\n );\n if (input) {\n (input as HTMLButtonElement).click();\n }\n }\n break;\n }\n\n default:\n break;\n }\n\n const currentLabel =\n typeof currentCheckboxNavIndex === \"number\"\n ? multiCheckboxList[currentCheckboxNavIndex]\n : null;\n\n if (currentLabel) {\n const inViewPort = isInViewport(currentLabel);\n if (!inViewPort) {\n currentLabel.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n inline: \"nearest\",\n });\n }\n }\n setcurrentNavigateCheckbox(currentLabel?.dataset?.checkbox ?? \"\");\n };\n\n if (searchInput) {\n searchInput.addEventListener(\"keydown\", handleOptionNavigation);\n searchInput.addEventListener(\"focusout\", () =>\n setcurrentNavigateCheckbox(\"\"),\n );\n }\n\n return () => {\n if (searchInput) {\n searchInput.removeEventListener(\"keydown\", handleOptionNavigation);\n searchInput.removeEventListener(\"focusout\", () =>\n setcurrentNavigateCheckbox(\"\"),\n );\n }\n };\n }, [options, checkboxContainer, searchEl, currentNavigateCheckbox]);\n\n return { currentNavigateCheckbox, toggleRefocus };\n};\n\nexport default useCheckboxNavigate;\n","export function isInViewport(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n}\n","import React, { useEffect, useRef } from \"react\";\nimport { SearchIcon, ArrowRight } from \"../../icons\";\nimport { cn } from \"../../utils/cn\";\nimport { useMultiSelect } from \"./MultiSelect\";\n\ntype StyleConfig = {\n container?: string;\n input?: string;\n searchIcon?: string;\n searchIconWrapper?: string;\n arrowIcon?: string;\n arrowIconWrapper?: string;\n};\n\nexport type SelectInputProps = {\n defaultPlaceholder: string;\n className?: string;\n styles?: StyleConfig;\n};\n\nconst defaultStyles = {\n container: \"relative text-bdp-primary-text\",\n input:\n \"bg-transparent text-base 2xl:text-base font-medium w-full pl-12 pr-10 py-4 rounded-xl border-[1px] border-bdp-stroke focus:outline-none focus:outline-bdp-secondary-text focus:outline-offset-0 leading-none\",\n searchIcon: \"stroke-bdp-secondary-text w-[16px] h-[16px]\",\n searchIconWrapper: \"absolute top-1/2 -translate-y-1/2 left-[18px]\",\n arrowIcon: \"\",\n arrowIconWrapper:\n \"absolute p-2 cursor-pointer top-1/2 -translate-y-1/2 right-[18px] rotate-90 data-[is-open=false]:-rotate-90 transition-transform\",\n} as const;\n\nconst SelectInput = ({\n defaultPlaceholder,\n className,\n styles = {},\n}: SelectInputProps) => {\n const selectContextData = useMultiSelect();\n\n const searchRef = useRef(null!);\n const {\n currentNavigateCheckbox,\n toggleListOpen,\n isListOpen,\n onSearch,\n searchInputRef,\n setSearchInputRef,\n } = selectContextData;\n\n useEffect(() => {\n if (searchRef.current && !searchInputRef) {\n setSearchInputRef(searchRef);\n }\n }, []);\n\n return (\n
\n {\n onSearch(e.target.value);\n }}\n ref={searchRef}\n />\n \n \n \n \n \n \n
\n );\n};\n\nexport default SelectInput;\n","import { twMerge } from \"tailwind-merge\";\nimport { clsx } from \"clsx\";\n\nexport function cn(...inputs: (string | undefined)[]) {\n return twMerge(clsx(inputs));\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport { matchCharactersWithRegex } from \"../../utils/filter\";\nimport BaseSelectList, { SelectListProps } from \"./BaseSelectList\";\nimport { useMultiSelect } from \"./MultiSelect\";\n\nexport type MultiSelectListProps = Omit;\n\nconst SelectList = (props: MultiSelectListProps) => {\n const selectContextData = useMultiSelect();\n\n const containerRef = useRef(null!);\n const {\n containerRef: containerRefProvider,\n setContainerRef,\n isListOpen,\n currentNavigateCheckbox,\n inputValue: searchTerm,\n } = selectContextData;\n\n useEffect(() => {\n if (!containerRefProvider && containerRef.current) {\n setContainerRef(containerRef);\n }\n }, []);\n\n const filteredOptions = useMemo(() => {\n if (searchTerm.trim()) {\n return props.options.filter((option) => {\n return matchCharactersWithRegex(option.label, searchTerm.trim());\n });\n }\n return props.options;\n }, [props.options, searchTerm]);\n\n return (\n \n );\n};\n\nexport default SelectList;\n","export function matchCharactersWithRegex(word: string, searchTerm: string) {\n const escapedSearchTerm = searchTerm.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\n const regexPattern = escapedSearchTerm\n .split(\"\")\n .map((char) => `(?=.*${char})`)\n .join(\"\");\n\n const regex = new RegExp(regexPattern, \"i\"); // 'i' flag for case-insensitive matching\n\n return regex.test(word);\n}\n","import { LightningIconSolid } from \"../../icons\";\nimport { numberFormat } from \"../../utils\";\nimport { cn } from \"../../utils/cn\";\nimport React from \"react\";\n\nexport type BaseSelectContextTypeForList = {\n isListOpen: boolean;\n currentNavigateCheckbox: string;\n containerRef: React.MutableRefObject | null;\n};\n\nexport type SelectOption = {\n label: string;\n count?: number;\n value: string;\n selected: boolean;\n};\n\ntype StyleConfig = {\n container?: string;\n optionWrapper?: string;\n selectedOption?: string;\n optionInner?: string;\n icon?: string;\n label?: string;\n count?: string;\n noResults?: string;\n};\n\nexport type OnOptionSelect = ({\n action,\n value,\n event,\n}: {\n action: \"select\" | \"deselect\";\n value: string;\n event: React.MouseEvent;\n}) => void;\n\nexport type SelectListProps = {\n options: SelectOption[];\n label: string;\n onOptionSelect: OnOptionSelect;\n className?: string;\n styles?: StyleConfig;\n noResultsMessage?: string; // New: Customizable empty state\n selectContextData: BaseSelectContextTypeForList;\n};\n\nconst defaultStyles = {\n container:\n \"scroller font-medium mt-2 max-h-[300px] py-[6px] overflow-auto border border-bdp-stroke rounded-xl data-[is-open='false']:hidden\",\n optionWrapper: `flex gap-1 py-1 2xl:py-2 px-[14px] group/checkOption hover:bg-bdp-hover-state data-[current-navigated=true]:bg-bdp-hover-state\n group-hover/container:data-[current-navigated=true]:bg-transparent\n group-hover/container:data-[current-navigated=true]:hover:bg-bdp-hover-state\n data-[selected=true]:text-bdp-accent text-bdp-primary-text`,\n optionInner: \"selectable-option flex grow items-center gap-3\",\n icon: \"shrink-0 group-data-[selected=false]/checkOption:invisible w-[12px] 2xl:w-[16px] h-auto\",\n label:\n \"grow capitalize text-sm 2xl:text-base group-data-[selected=true]/checkOption:font-bold\",\n count: \"shrink-0 group-data-[selected=true]/checkOption:font-medium\",\n noResults: \"w-full text-sm 2xl:text-base text-center px-2\",\n} as const;\n\nconst BaseSelectList = ({\n options,\n label,\n onOptionSelect,\n className,\n styles = {},\n noResultsMessage = \"No matching options\",\n selectContextData,\n}: SelectListProps) => {\n const { isListOpen, currentNavigateCheckbox, containerRef } =\n selectContextData;\n return (\n \n {options.length < 1 && (\n

\n {noResultsMessage}\n

\n )}\n {options?.map((option) => {\n const checked = option.selected;\n const value = option.value;\n return (\n \n \n onOptionSelect({ action: \"select\", value, event })\n }\n role=\"button\"\n aria-label={`${\n checked ? \"uncheck\" : \"check\"\n } filter ${label}:${option.label}`}\n >\n \n \n \n {option.label}\n \n \n {option.count ? (\n \n {numberFormat.format(option.count)}\n \n ) : null}\n \n \n );\n })}\n \n );\n};\n\nexport default BaseSelectList;\n","\"use client\";\n\nimport React, { createContext, useCallback, useState } from \"react\";\nimport SingleSelectList, {\n SingleSelectListProps,\n SingleSelectOption,\n} from \"./SingleSelectList\";\nimport SingleSelectTrigger, {\n SingleSelectTriggerProps,\n} from \"./SingleSelectInput\";\n\ntype StyleConfig = {\n container?: string;\n input?: string;\n list?: string;\n option?: string;\n};\n\ntype SelectContextType = {\n isListOpen: boolean;\n toggleListOpen: () => void;\n selectedOption: SingleSelectOption | null;\n setSelectedOption: (option: SingleSelectOption | null) => void;\n containerRef: React.MutableRefObject | null;\n setContainerRef: React.Dispatch<\n React.SetStateAction | null>\n >;\n handleSelectOption: (option: SingleSelectOption) => void;\n triggerRef: React.RefObject;\n};\n\nconst SingleSelectContext = createContext(null);\nexport const useSingleSelect = () => {\n const context = React.useContext(SingleSelectContext);\n if (!context) {\n throw new Error(\n \"useSingleSelect must be used within a SingleSelectProvider\",\n );\n }\n return context;\n};\n\ntype SingleSelectProviderProps = {\n children: React.ReactNode;\n triggerRef: React.RefObject;\n className?: string;\n styles?: StyleConfig;\n disabled?: boolean;\n};\n\nconst SingleSelectProvider = ({\n children,\n triggerRef,\n disabled = false,\n}: SingleSelectProviderProps) => {\n const [isListOpen, setIsListOpen] = useState(false);\n const [containerRef, setContainerRef] =\n useState | null>(null);\n const [selectedOption, setSelectedOption] =\n useState(null);\n\n const toggleListOpen = () => {\n if (!disabled) {\n setIsListOpen((prev) => !prev);\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleSelectOption = (_option: SingleSelectOption) => {\n setIsListOpen(false);\n };\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n if (\n containerRef?.current &&\n triggerRef?.current &&\n !containerRef.current.contains(event.target as Node) &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n setIsListOpen(false);\n }\n },\n [containerRef, isListOpen],\n );\n\n React.useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [containerRef]);\n\n const contextValue = {\n isListOpen,\n toggleListOpen,\n selectedOption,\n setSelectedOption,\n handleSelectOption,\n containerRef,\n setContainerRef,\n triggerRef,\n };\n\n return (\n \n
{children}
\n
\n );\n};\n\nexport const SingleSelect: React.FC<\n Omit\n> & {\n List: React.FC;\n Trigger: React.FC;\n} = ({\n children,\n disabled = false,\n}: Omit) => {\n const triggerRef = React.useRef(null);\n return (\n \n {children}\n \n );\n};\n\nSingleSelect.List = SingleSelectList;\nSingleSelect.Trigger = SingleSelectTrigger;\n","import React, { useEffect } from \"react\";\nimport BaseSelectList, { SelectListProps } from \"./BaseSelectList\";\nimport { useSingleSelect } from \"./Dropdown\";\n\nexport type SingleSelectOption = {\n label: string;\n value: string;\n};\n\nexport type OptionSelectHandler = (option: SingleSelectOption) => void;\n\nexport type SingleSelectListProps = Omit<\n SelectListProps,\n \"selectContextData\" | \"options\" | \"onOptionSelect\"\n> & {\n options: SingleSelectOption[];\n value: string;\n onOptionSelect: OptionSelectHandler;\n};\n\nconst SingleSelectList = (props: SingleSelectListProps) => {\n const {\n isListOpen,\n containerRef: containerRefProvider,\n setContainerRef,\n handleSelectOption,\n setSelectedOption,\n } = useSingleSelect();\n const containerRef = React.useRef(null!);\n\n useEffect(() => {\n if (!containerRefProvider && containerRef.current) {\n setContainerRef(containerRef);\n }\n }, []);\n\n const handleOption = ({\n value,\n }: {\n action: \"select\" | \"deselect\";\n value: string;\n event: React.MouseEvent;\n }) => {\n const option = props.options.find((option) => option.value === value);\n if (option) {\n handleSelectOption(option);\n props.onOptionSelect(option);\n }\n };\n\n const managedOptions = props.options.map((option) => ({\n ...option,\n selected: option.value === props.value,\n }));\n\n useEffect(() => {\n setSelectedOption(\n props.options.find((option) => option.value === props.value) || null,\n );\n }, [props.value, props.options]);\n\n return (\n \n );\n};\n\nexport default SingleSelectList;\n","import React from \"react\";\nimport { ArrowRight } from \"../../icons\";\nimport { cn } from \"../../utils/cn\";\nimport { useSingleSelect } from \"./Dropdown\";\n\ntype StyleConfig = {\n container?: string;\n trigger?: string;\n arrowIcon?: string;\n arrowIconWrapper?: string;\n};\n\nexport type SingleSelectTriggerProps = {\n defaultPlaceholder: string;\n className?: string;\n styles?: StyleConfig;\n};\n\nconst defaultStyles = {\n container: \"relative text-bdp-primary-text\",\n trigger:\n \"block bg-transparent text-base text-bdp-accent 2xl:text-base font-medium w-full pl-6 py-4 rounded-xl border-[1px] border-bdp-stroke focus:outline-none focus:outline-bdp-secondary-text focus:outline-offset-0 leading-none\",\n arrowIcon: \"\",\n arrowIconWrapper:\n \"absolute p-2 cursor-pointer top-1/2 -translate-y-1/2 right-[18px] rotate-90 data-[is-open=false]:-rotate-90 transition-transform\",\n} as const;\n\nconst SingleSelectTrigger = ({\n defaultPlaceholder,\n className,\n styles = {},\n}: SingleSelectTriggerProps) => {\n const { selectedOption, toggleListOpen, isListOpen, triggerRef } =\n useSingleSelect();\n\n return (\n \n \n \n \n \n \n );\n};\n\nexport default SingleSelectTrigger;\n","\"use client\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ntype StyleConfig = {\n container?: string;\n bannerInfoContainer?: string;\n bodyText?: string;\n headingText?: string;\n link?: string;\n icon?: string;\n boss?: string;\n};\ntype Links = {\n linkText: string;\n linkTo: string;\n};\ntype Props = Links & {\n bodyText?: string;\n headingText: string;\n styles?: StyleConfig;\n hasBoss?: boolean;\n};\n\nconst defaultStyles = {\n container:\n \"dark:text-bdp-white dark:shadow-dark-light gap-2 flex items-center justify-between w-full px-2 sm:px-4 shadow-md transition-all duration-200 ease-in-out text-center h-auto opacity-100 max-h-[200px]\",\n bannerInfoContainer: `flex flex-col flex-[1_1_auto]`,\n headingText: \"font-semibold text-sm md:text-lg\",\n bodyText: \"text-sm md:text-base\",\n link: \"text-bdp-accent underline font-semibold text-xs md:text-sm\",\n icon: \"text-bdp-lightGrey hover:text-red-500 transition-all duration-200 ease-in-out\",\n boss: \"text-bdp-accent text-base md:text-lg\",\n} as const;\n\nexport function Banner({\n bodyText,\n headingText,\n styles = {},\n hasBoss,\n ...rest\n}: Props) {\n const [showBanner, setShowBanner] = useState(true);\n\n return (\n \n \n {!!headingText && (\n

\n {headingText}\n {hasBoss && (\n â‚¿OSS\n )}\n

\n )}\n {!!bodyText && (\n

\n {bodyText}\n

\n )}\n {!!rest.linkText && (\n setShowBanner(false)}\n className={cn(defaultStyles.link, styles.link)}\n href={rest.linkTo}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {rest.linkText}\n \n )}\n \n setShowBanner(false)}\n data-show-banner={showBanner}\n className={cn(\n defaultStyles.icon,\n \"opacity-1\",\n \"data-[show-banner='false']:opacity-0\",\n styles.icon,\n )}\n >\n \n \n \n \n \n );\n}\n"],"mappings":"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","names":["React","React","React","twMerge","clsx","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","twMerge","clsx","entity","React","React","twMerge","clsx","twMerge","clsx","React","React","React","twMerge","clsx","React","React","scrollLeft","React","useState","useRef","useRef","_a","React","useEffect","useRef","twMerge","clsx","useRef","useEffect","React","React","useEffect","useMemo","useRef","React","defaultStyles","useRef","useEffect","useMemo","React","React","useState","React","useCallback","useState","React","useEffect","React","useEffect","option","React","defaultStyles","React","React","useState","useCallback","React","useState","defaultStyles","useState","React"]} \ No newline at end of file diff --git a/dist/styles.css b/dist/styles.css index 8b4a779..08b1e66 100644 --- a/dist/styles.css +++ b/dist/styles.css @@ -1 +1 @@ -/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.left-\[18px\]{left:18px}.right-\[18px\]{right:18px}.top-1\/2{top:50%}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-\[6px\]{margin-bottom:6px}.mt-2{margin-top:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0{height:0}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-24{height:6rem}.h-5{height:1.25rem}.h-\[16px\]{height:16px}.h-\[20px\]{height:20px}.h-\[90vh\]{height:90vh}.h-auto{height:auto}.h-full{height:100%}.max-h-\[300px\]{max-height:300px}.w-10{width:2.5rem}.w-\[12px\]{width:12px}.w-\[16px\]{width:16px}.w-\[20px\]{width:20px}.w-\[300px\]{width:300px}.w-\[400px\]{width:400px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[24px\]{min-width:24px}.min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.max-w-6xl{max-width:72rem}.max-w-\[1920px\]{max-width:1920px}.max-w-\[40px\]{max-width:40px}.max-w-full{max-width:100%}.flex-\[1_1_auto\]{flex:1 1 auto}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-\[10\%\]{gap:10%}.gap-\[20px\]{gap:20px}.gap-\[24px\]{gap:24px}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border,.border-\[1px\]{border-width:1px}.border-bdp-stroke{border-color:var(--stroke)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.bg-\[\#292929\]{--tw-bg-opacity:1;background-color:rgb(41 41 41/var(--tw-bg-opacity))}.bg-\[\#ddd\]{--tw-bg-opacity:1;background-color:rgb(221 221 221/var(--tw-bg-opacity))}.bg-bdp-background{background-color:var(--background)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.stroke-bdp-secondary-text{stroke:var(--secondary-text)}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[14px\]{padding-left:14px;padding-right:14px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.pl-12{padding-left:3rem}.pl-6{padding-left:1.5rem}.pr-10{padding-right:2.5rem}.pt-4{padding-top:1rem}.pt-\[20vh\]{padding-top:20vh}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.leading-none{line-height:1}.text-\[\#FAFAFA\]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.text-\[\#ddd\]{--tw-text-opacity:1;color:rgb(221 221 221/var(--tw-text-opacity))}.text-bdp-accent{color:var(--accent)}.text-bdp-brightOrange-100{--tw-text-opacity:1;color:rgb(236 128 47/var(--tw-text-opacity))}.text-bdp-lightGrey{--tw-text-opacity:1;color:rgb(102 102 102/var(--tw-text-opacity))}.text-bdp-primary-text{color:var(--primary-text)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}:root{--foreground-rgb:0,0,0;--background-start-rgb:214,219,220;--background-end-rgb:255,255,255;--background:#fafafa;--hover-primary:#f5f5f5;--button:#333;--hover-state:#fff0e0;--stroke:#bfbfbf;--secondary-text:#636366;--primary-text:#292929;--black:#292929;--other-light-text:#999;--accent:#f7931a;--gradient:linear-gradient(92.78deg,#e8782b,#f6a73f 101.1%);--shadow-left:linear-gradient(90deg,#fafafa 50.33%,hsla(0,0%,98%,0));--shadow-right:linear-gradient(270deg,#fafafa 50.33%,hsla(0,0%,98%,0))}html{scroll-behavior:smooth!important}.scroller{--scrollbar-color-thumb:#aaa;--scrollbar-color-track:rgba(60,60,60,.05);--scrollbar-width:auto;--scrollbar-width-legacy:10px}.dark .scroller{--scrollbar-color-thumb:#777;--scrollbar-color-track:rgba(60,60,60,.1)}@supports (scrollbar-width:auto){.scroller{scrollbar-color:var(--scrollbar-color-thumb) var(--scrollbar-color-track);scrollbar-width:var(--scrollbar-width)}}@supports selector(::-webkit-scrollbar){.scroller::-webkit-scrollbar-thumb,.scroller::-webkit-scrollbar-track{background:transparent}.scroller:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-color-thumb)}.scroller:hover::-webkit-scrollbar-track{background:var(--scrollbar-color-track)}.scroller::-webkit-scrollbar{max-width:var(--scrollbar-width-legacy);max-height:var(--scrollbar-width-legacy)}}.dark{--background:#1c1c1e;--hover-state:#2c2c2e;--button:#8e8e93;--stroke:#3a3a3c;--secondary-text:#999;--primary-text:#a4a4a8;--black:#292929;--other-light-text:#636366;--accent:#f7931a;--hover-primary:#2c2c2e;--gradient:linear-gradient(92.78deg,#e8782b,#f6a73f 101.1%);--shadow-right:linear-gradient(270deg,#1c1c1f 50.33%,rgba(28,28,31,0));--shadow-left:linear-gradient(90deg,#1c1c1f 50.33%,rgba(28,28,31,0))}.hover\:bg-bdp-hover-state:hover{background-color:var(--hover-state)}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.hover\:text-orange-400:hover{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-offset-0:focus{outline-offset:0}.focus\:outline-bdp-secondary-text:focus{outline-color:var(--secondary-text)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.group:hover .group-hover\:text-\[\#fff\]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group:hover .group-hover\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.data-\[is-open\=\'false\'\]\:hidden[data-is-open=false]{display:none}.data-\[has-heading\=\'false\'\]\:h-12[data-has-heading=false]{height:3rem}.data-\[has-heading\=\'true\'\]\:h-16[data-has-heading=true]{height:4rem}.data-\[show-banner\=\'false\'\]\:h-0[data-show-banner=false]{height:0}.data-\[is-open\=false\]\:-rotate-90[data-is-open=false]{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[current-navigated\=true\]\:bg-bdp-hover-state[data-current-navigated=true]{background-color:var(--hover-state)}.data-\[selected\=true\]\:text-bdp-accent[data-selected=true]{color:var(--accent)}.data-\[show-banner\=\'false\'\]\:opacity-0[data-show-banner=false]{opacity:0}.group\/container:hover .group-hover\/container\:data-\[current-navigated\=true\]\:bg-transparent[data-current-navigated=true]{background-color:transparent}.group\/container:hover .group-hover\/container\:data-\[current-navigated\=true\]\:hover\:bg-bdp-hover-state:hover[data-current-navigated=true]{background-color:var(--hover-state)}.group\/checkOption[data-selected=false] .group-data-\[selected\=false\]\/checkOption\:invisible{visibility:hidden}.group\/checkOption[data-selected=true] .group-data-\[selected\=true\]\/checkOption\:font-bold{font-weight:700}.group\/checkOption[data-selected=true] .group-data-\[selected\=true\]\/checkOption\:font-medium{font-weight:500}.dark\:border-gray-300:is(.dark *){--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.dark\:bg-\[\#FAFAFA\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.dark\:text-\[\#292929\]:is(.dark *){--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity))}.dark\:text-bdp-white:is(.dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:shadow-dark-light:is(.dark *){--tw-shadow-color:hsla(0,0%,100%,.05);--tw-shadow:var(--tw-shadow-colored)}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.disabled\:dark\:hover\:bg-transparent:hover:is(.dark *):disabled{background-color:transparent}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-stretch{align-items:stretch}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:mb-0{margin-bottom:0}.md\:h-6{height:1.5rem}.md\:w-6{width:1.5rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-4{gap:1rem}.md\:gap-\[24px\]{gap:24px}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:font-semibold{font-weight:600}.md\:leading-tight{line-height:1.25}}@media (min-width:1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1280px){.xl\:block{display:block}.xl\:h-6{height:1.5rem}.xl\:border-2{border-width:2px}}@media (min-width:1536px){.\32xl\:w-\[16px\]{width:16px}.\32xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.\32xl\:text-base{font-size:1rem;line-height:1.5rem}} \ No newline at end of file +/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.left-\[18px\]{left:18px}.right-\[18px\]{right:18px}.top-1\/2{top:50%}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-\[6px\]{margin-bottom:6px}.mt-2{margin-top:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-24{height:6rem}.h-5{height:1.25rem}.h-\[16px\]{height:16px}.h-\[20px\]{height:20px}.h-\[90vh\]{height:90vh}.h-auto{height:auto}.h-full{height:100%}.max-h-\[0\]{max-height:0}.max-h-\[200px\]{max-height:200px}.max-h-\[300px\]{max-height:300px}.w-10{width:2.5rem}.w-\[12px\]{width:12px}.w-\[16px\]{width:16px}.w-\[20px\]{width:20px}.w-\[300px\]{width:300px}.w-\[400px\]{width:400px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[24px\]{min-width:24px}.min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.max-w-6xl{max-width:72rem}.max-w-\[1920px\]{max-width:1920px}.max-w-\[40px\]{max-width:40px}.max-w-full{max-width:100%}.flex-\[1_1_auto\]{flex:1 1 auto}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-\[10\%\]{gap:10%}.gap-\[20px\]{gap:20px}.gap-\[24px\]{gap:24px}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border,.border-\[1px\]{border-width:1px}.border-bdp-stroke{border-color:var(--stroke)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.bg-\[\#292929\]{--tw-bg-opacity:1;background-color:rgb(41 41 41/var(--tw-bg-opacity))}.bg-\[\#ddd\]{--tw-bg-opacity:1;background-color:rgb(221 221 221/var(--tw-bg-opacity))}.bg-bdp-background{background-color:var(--background)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.stroke-bdp-secondary-text{stroke:var(--secondary-text)}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[14px\]{padding-left:14px;padding-right:14px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.pl-12{padding-left:3rem}.pl-6{padding-left:1.5rem}.pr-10{padding-right:2.5rem}.pt-4{padding-top:1rem}.pt-\[20vh\]{padding-top:20vh}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.leading-none{line-height:1}.text-\[\#FAFAFA\]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.text-\[\#ddd\]{--tw-text-opacity:1;color:rgb(221 221 221/var(--tw-text-opacity))}.text-bdp-accent{color:var(--accent)}.text-bdp-brightOrange-100{--tw-text-opacity:1;color:rgb(236 128 47/var(--tw-text-opacity))}.text-bdp-lightGrey{--tw-text-opacity:1;color:rgb(102 102 102/var(--tw-text-opacity))}.text-bdp-primary-text{color:var(--primary-text)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}:root{--foreground-rgb:0,0,0;--background-start-rgb:214,219,220;--background-end-rgb:255,255,255;--background:#fafafa;--hover-primary:#f5f5f5;--button:#333;--hover-state:#fff0e0;--stroke:#bfbfbf;--secondary-text:#636366;--primary-text:#292929;--black:#292929;--other-light-text:#999;--accent:#f7931a;--gradient:linear-gradient(92.78deg,#e8782b,#f6a73f 101.1%);--shadow-left:linear-gradient(90deg,#fafafa 50.33%,hsla(0,0%,98%,0));--shadow-right:linear-gradient(270deg,#fafafa 50.33%,hsla(0,0%,98%,0))}html{scroll-behavior:smooth!important}.scroller{--scrollbar-color-thumb:#aaa;--scrollbar-color-track:rgba(60,60,60,.05);--scrollbar-width:auto;--scrollbar-width-legacy:10px}.dark .scroller{--scrollbar-color-thumb:#777;--scrollbar-color-track:rgba(60,60,60,.1)}@supports (scrollbar-width:auto){.scroller{scrollbar-color:var(--scrollbar-color-thumb) var(--scrollbar-color-track);scrollbar-width:var(--scrollbar-width)}}@supports selector(::-webkit-scrollbar){.scroller::-webkit-scrollbar-thumb,.scroller::-webkit-scrollbar-track{background:transparent}.scroller:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-color-thumb)}.scroller:hover::-webkit-scrollbar-track{background:var(--scrollbar-color-track)}.scroller::-webkit-scrollbar{max-width:var(--scrollbar-width-legacy);max-height:var(--scrollbar-width-legacy)}}.dark{--background:#1c1c1e;--hover-state:#2c2c2e;--button:#8e8e93;--stroke:#3a3a3c;--secondary-text:#999;--primary-text:#a4a4a8;--black:#292929;--other-light-text:#636366;--accent:#f7931a;--hover-primary:#2c2c2e;--gradient:linear-gradient(92.78deg,#e8782b,#f6a73f 101.1%);--shadow-right:linear-gradient(270deg,#1c1c1f 50.33%,rgba(28,28,31,0));--shadow-left:linear-gradient(90deg,#1c1c1f 50.33%,rgba(28,28,31,0))}.hover\:bg-bdp-hover-state:hover{background-color:var(--hover-state)}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.hover\:text-orange-400:hover{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-offset-0:focus{outline-offset:0}.focus\:outline-bdp-secondary-text:focus{outline-color:var(--secondary-text)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.group:hover .group-hover\:text-\[\#fff\]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group:hover .group-hover\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.data-\[is-open\=\'false\'\]\:hidden[data-is-open=false]{display:none}.data-\[show-banner\=\'false\'\]\:max-h-\[0\][data-show-banner=false]{max-height:0}.data-\[is-open\=false\]\:-rotate-90[data-is-open=false]{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[current-navigated\=true\]\:bg-bdp-hover-state[data-current-navigated=true]{background-color:var(--hover-state)}.data-\[selected\=true\]\:text-bdp-accent[data-selected=true]{color:var(--accent)}.data-\[show-banner\=\'false\'\]\:opacity-0[data-show-banner=false]{opacity:0}.group\/container:hover .group-hover\/container\:data-\[current-navigated\=true\]\:bg-transparent[data-current-navigated=true]{background-color:transparent}.group\/container:hover .group-hover\/container\:data-\[current-navigated\=true\]\:hover\:bg-bdp-hover-state:hover[data-current-navigated=true]{background-color:var(--hover-state)}.group\/checkOption[data-selected=false] .group-data-\[selected\=false\]\/checkOption\:invisible{visibility:hidden}.group\/checkOption[data-selected=true] .group-data-\[selected\=true\]\/checkOption\:font-bold{font-weight:700}.group\/checkOption[data-selected=true] .group-data-\[selected\=true\]\/checkOption\:font-medium{font-weight:500}.dark\:border-gray-300:is(.dark *){--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.dark\:bg-\[\#FAFAFA\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.dark\:text-\[\#292929\]:is(.dark *){--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity))}.dark\:text-bdp-white:is(.dark *){--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:shadow-dark-light:is(.dark *){--tw-shadow-color:hsla(0,0%,100%,.05);--tw-shadow:var(--tw-shadow-colored)}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.disabled\:dark\:hover\:bg-transparent:hover:is(.dark *):disabled{background-color:transparent}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-stretch{align-items:stretch}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:mb-0{margin-bottom:0}.md\:h-6{height:1.5rem}.md\:w-6{width:1.5rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-4{gap:1rem}.md\:gap-\[24px\]{gap:24px}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:font-semibold{font-weight:600}.md\:leading-tight{line-height:1.25}}@media (min-width:1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1280px){.xl\:block{display:block}.xl\:h-6{height:1.5rem}.xl\:border-2{border-width:2px}}@media (min-width:1536px){.\32xl\:w-\[16px\]{width:16px}.\32xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.\32xl\:text-base{font-size:1rem;line-height:1.5rem}} \ No newline at end of file diff --git a/package.json b/package.json index 55e488d..d0e8012 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bitcoin-dev-project/bdp-ui", - "version": "1.5.1", + "version": "1.5.2", "description": "An open-source UI component library for building high-quality, accessible design systems and web apps for the Bitcoin Dev Project.", "main": "./dist/index.js", "module": "./dist/index.mjs",