diff --git a/dist/index.js b/dist/index.js index 5e747c1..b4807a4 100644 --- a/dist/index.js +++ b/dist/index.js @@ -39,33 +39,6 @@ module.exports = __toCommonJS(src_exports); // src/components/button/Button.tsx var import_react = __toESM(require("react")); - -// #style-inject:#style-inject -function styleInject(css, { insertAt } = {}) { - if (!css || typeof document === "undefined") return; - const head = document.head || document.getElementsByTagName("head")[0]; - const style = document.createElement("style"); - style.type = "text/css"; - if (insertAt === "top") { - if (head.firstChild) { - head.insertBefore(style, head.firstChild); - } else { - head.appendChild(style); - } - } else { - head.appendChild(style); - } - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - style.appendChild(document.createTextNode(css)); - } -} - -// src/styles/tailwind.output.css -styleInject('/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/\n*,\n:after,\n:before {\n box-sizing: border-box;\n border: 0 solid #e5e7eb;\n}\n:after,\n:before {\n --tw-content:"";\n}\n:host,\nhtml {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: ui-sans-serif, system-ui;\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n}\nbody {\n margin: 0;\n line-height: inherit;\n}\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nb,\nstrong {\n font-weight: bolder;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: ui-monospace, SFMono-Regular;\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-size: 1em;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub {\n bottom: -.25em;\n}\nsup {\n top: -.5em;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\ninput:where([type=button]),\ninput:where([type=reset]),\ninput:where([type=submit]) {\n -webkit-appearance: button;\n background-color: transparent;\n background-image: none;\n}\n:-moz-focusring {\n outline: auto;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\nprogress {\n vertical-align: baseline;\n}\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\nsummary {\n display: list-item;\n}\nblockquote,\ndd,\ndl,\nfigure,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\np,\npre {\n margin: 0;\n}\nfieldset {\n margin: 0;\n}\nfieldset,\nlegend {\n padding: 0;\n}\nmenu,\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\ndialog {\n padding: 0;\n}\ntextarea {\n resize: vertical;\n}\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n[role=button],\nbutton {\n cursor: pointer;\n}\n:disabled {\n cursor: default;\n}\naudio,\ncanvas,\nembed,\niframe,\nimg,\nobject,\nsvg,\nvideo {\n display: block;\n vertical-align: middle;\n}\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n[hidden] {\n display: none;\n}\n*,\n:after,\n:before {\n --tw-border-spacing-x:0;\n --tw-border-spacing-y:0;\n --tw-translate-x:0;\n --tw-translate-y:0;\n --tw-rotate:0;\n --tw-skew-x:0;\n --tw-skew-y:0;\n --tw-scale-x:1;\n --tw-scale-y:1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness:proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width:0px;\n --tw-ring-offset-color:#fff;\n --tw-ring-color:rgba(59,130,246,.5);\n --tw-ring-offset-shadow:0 0 #0000;\n --tw-ring-shadow:0 0 #0000;\n --tw-shadow:0 0 #0000;\n --tw-shadow-colored:0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n::backdrop {\n --tw-border-spacing-x:0;\n --tw-border-spacing-y:0;\n --tw-translate-x:0;\n --tw-translate-y:0;\n --tw-rotate:0;\n --tw-skew-x:0;\n --tw-skew-y:0;\n --tw-scale-x:1;\n --tw-scale-y:1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness:proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width:0px;\n --tw-ring-offset-color:#fff;\n --tw-ring-color:rgba(59,130,246,.5);\n --tw-ring-offset-shadow:0 0 #0000;\n --tw-ring-shadow:0 0 #0000;\n --tw-shadow:0 0 #0000;\n --tw-shadow-colored:0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n.relative {\n position: relative;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-4 {\n margin-bottom: 1rem;\n}\n.mb-\\[6px\\] {\n margin-bottom: 6px;\n}\n.flex {\n display: flex;\n}\n.grid {\n display: grid;\n}\n.contents {\n display: contents;\n}\n.hidden {\n display: none;\n}\n.h-10 {\n height: 2.5rem;\n}\n.h-24 {\n height: 6rem;\n}\n.h-5 {\n height: 1.25rem;\n}\n.h-full {\n height: 100%;\n}\n.w-10 {\n width: 2.5rem;\n}\n.w-\\[300px\\] {\n width: 300px;\n}\n.w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.w-full {\n width: 100%;\n}\n.min-w-\\[24px\\] {\n min-width: 24px;\n}\n.min-w-fit {\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n.max-w-6xl {\n max-width: 72rem;\n}\n.max-w-\\[1920px\\] {\n max-width: 1920px;\n}\n.max-w-\\[40px\\] {\n max-width: 40px;\n}\n.max-w-full {\n max-width: 100%;\n}\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n.resize {\n resize: both;\n}\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.flex-col {\n flex-direction: column;\n}\n.items-center {\n align-items: center;\n}\n.items-stretch {\n align-items: stretch;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-between {\n justify-content: space-between;\n}\n.gap-2 {\n gap: .5rem;\n}\n.gap-6 {\n gap: 1.5rem;\n}\n.gap-\\[20px\\] {\n gap: 20px;\n}\n.gap-\\[24px\\] {\n gap: 24px;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-scroll {\n overflow: scroll;\n}\n.rounded {\n border-radius: .25rem;\n}\n.rounded-\\[10px\\] {\n border-radius: 10px;\n}\n.rounded-full {\n border-radius: 9999px;\n}\n.rounded-lg {\n border-radius: .5rem;\n}\n.rounded-md {\n border-radius: .375rem;\n}\n.border {\n border-width: 1px;\n}\n.border-custom-stroke {\n border-color: var(--stroke);\n}\n.border-gray-200 {\n --tw-border-opacity:1;\n border-color: rgb(229 231 235/var(--tw-border-opacity));\n}\n.border-gray-600 {\n --tw-border-opacity:1;\n border-color: rgb(75 85 99/var(--tw-border-opacity));\n}\n.bg-\\[\\#292929\\] {\n --tw-bg-opacity:1;\n background-color: rgb(41 41 41/var(--tw-bg-opacity));\n}\n.bg-\\[\\#ddd\\] {\n --tw-bg-opacity:1;\n background-color: rgb(221 221 221/var(--tw-bg-opacity));\n}\n.bg-blue-500 {\n --tw-bg-opacity:1;\n background-color: rgb(59 130 246/var(--tw-bg-opacity));\n}\n.bg-gray-300 {\n --tw-bg-opacity:1;\n background-color: rgb(209 213 219/var(--tw-bg-opacity));\n}\n.bg-white {\n --tw-bg-opacity:1;\n background-color: rgb(255 255 255/var(--tw-bg-opacity));\n}\n.p-2 {\n padding: .5rem;\n}\n.p-4 {\n padding: 1rem;\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n.py-4 {\n padding-bottom: 1rem;\n}\n.pt-4,\n.py-4 {\n padding-top: 1rem;\n}\n.text-center {\n text-align: center;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n.font-bold {\n font-weight: 700;\n}\n.font-medium {\n font-weight: 500;\n}\n.leading-none {\n line-height: 1;\n}\n.text-\\[\\#FAFAFA\\] {\n --tw-text-opacity:1;\n color: rgb(250 250 250/var(--tw-text-opacity));\n}\n.text-\\[\\#ddd\\] {\n --tw-text-opacity:1;\n color: rgb(221 221 221/var(--tw-text-opacity));\n}\n.text-black {\n --tw-text-opacity:1;\n color: rgb(0 0 0/var(--tw-text-opacity));\n}\n.text-custom-brightOrange-100 {\n --tw-text-opacity:1;\n color: rgb(236 128 47/var(--tw-text-opacity));\n}\n.text-gray-500 {\n --tw-text-opacity:1;\n color: rgb(107 114 128/var(--tw-text-opacity));\n}\n.text-gray-600 {\n --tw-text-opacity:1;\n color: rgb(75 85 99/var(--tw-text-opacity));\n}\n.text-gray-800 {\n --tw-text-opacity:1;\n color: rgb(31 41 55/var(--tw-text-opacity));\n}\n.text-orange-500 {\n --tw-text-opacity:1;\n color: rgb(249 115 22/var(--tw-text-opacity));\n}\n.text-white {\n --tw-text-opacity:1;\n color: rgb(255 255 255/var(--tw-text-opacity));\n}\n.underline {\n text-decoration-line: underline;\n}\n.opacity-50 {\n opacity: .5;\n}\n.shadow-md {\n --tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);\n --tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);\n}\n.shadow-md,\n.shadow-sm {\n box-shadow:\n var(--tw-ring-offset-shadow,0 0 #0000),\n var(--tw-ring-shadow,0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-sm {\n --tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);\n --tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);\n}\n.transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s;\n}\n.no-scrollbar::-webkit-scrollbar {\n display: none;\n}\n.no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n:root {\n --foreground-rgb:0,0,0;\n --background-start-rgb:214,219,220;\n --background-end-rgb:255,255,255;\n --background:#fafafa;\n --hover-primary:#f5f5f5;\n --button:#333;\n --hover-state:#fff0e0;\n --stroke:#bfbfbf;\n --secondary-text:#636366;\n --primary-text:#292929;\n --black:#292929;\n --other-light-text:#999;\n --accent:#f7931a;\n --gradient:linear-gradient(\n 92.78deg,#e8782b,#f6a73f 101.1%);\n --shadow-left:linear-gradient(\n 90deg,#fafafa 50.33%,hsla(0,0%,98%,0));\n --shadow-right:linear-gradient(\n 270deg,#fafafa 50.33%,hsla(0,0%,98%,0));\n}\nhtml {\n scroll-behavior: smooth !important;\n}\n.dark {\n --background:#1c1c1e;\n --hover-state:#2c2c2e;\n --button:#8e8e93;\n --stroke:#3a3a3c;\n --secondary-text:#999;\n --primary-text:#a4a4a8;\n --black:#292929;\n --other-light-text:#636366;\n --accent:#f7931a;\n --hover-primary:#2c2c2e;\n --gradient:linear-gradient(\n 92.78deg,#e8782b,#f6a73f 101.1%);\n --shadow-right:linear-gradient(\n 270deg,#1c1c1f 50.33%,rgba(28,28,31,0));\n --shadow-left:linear-gradient(\n 90deg,#1c1c1f 50.33%,rgba(28,28,31,0));\n}\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity:1;\n background-color: rgb(29 78 216/var(--tw-bg-opacity));\n}\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity:1;\n background-color: rgb(243 244 246/var(--tw-bg-opacity));\n}\n.hover\\:bg-gray-400:hover {\n --tw-bg-opacity:1;\n background-color: rgb(156 163 175/var(--tw-bg-opacity));\n}\n.hover\\:text-orange-400:hover {\n --tw-text-opacity:1;\n color: rgb(251 146 60/var(--tw-text-opacity));\n}\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n.disabled\\:opacity-50:disabled {\n opacity: .5;\n}\n.disabled\\:hover\\:bg-transparent:hover:disabled {\n background-color: transparent;\n}\n.group:hover .group-hover\\:bg-black {\n --tw-bg-opacity:1;\n background-color: rgb(0 0 0/var(--tw-bg-opacity));\n}\n.group:hover .group-hover\\:text-\\[\\#fff\\] {\n --tw-text-opacity:1;\n color: rgb(255 255 255/var(--tw-text-opacity));\n}\n.group:hover .group-hover\\:text-black {\n --tw-text-opacity:1;\n color: rgb(0 0 0/var(--tw-text-opacity));\n}\n.dark\\:border-gray-300:is(.dark *) {\n --tw-border-opacity:1;\n border-color: rgb(209 213 219/var(--tw-border-opacity));\n}\n.dark\\:bg-\\[\\#FAFAFA\\]:is(.dark *) {\n --tw-bg-opacity:1;\n background-color: rgb(250 250 250/var(--tw-bg-opacity));\n}\n.dark\\:bg-black:is(.dark *) {\n --tw-bg-opacity:1;\n background-color: rgb(0 0 0/var(--tw-bg-opacity));\n}\n.dark\\:text-\\[\\#292929\\]:is(.dark *) {\n --tw-text-opacity:1;\n color: rgb(41 41 41/var(--tw-text-opacity));\n}\n.dark\\:text-gray-300:is(.dark *) {\n --tw-text-opacity:1;\n color: rgb(209 213 219/var(--tw-text-opacity));\n}\n.dark\\:text-gray-400:is(.dark *) {\n --tw-text-opacity:1;\n color: rgb(156 163 175/var(--tw-text-opacity));\n}\n.dark\\:text-white:is(.dark *) {\n --tw-text-opacity:1;\n color: rgb(255 255 255/var(--tw-text-opacity));\n}\n.dark\\:hover\\:bg-gray-600:hover:is(.dark *) {\n --tw-bg-opacity:1;\n background-color: rgb(75 85 99/var(--tw-bg-opacity));\n}\n.disabled\\:dark\\:hover\\:bg-transparent:hover:is(.dark *):disabled {\n background-color: transparent;\n}\n@media (min-width:640px) {\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:items-center {\n align-items: center;\n }\n .sm\\:items-stretch {\n align-items: stretch;\n }\n .sm\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n}\n@media (min-width:768px) {\n .md\\:mb-0 {\n margin-bottom: 0;\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:items-center {\n align-items: center;\n }\n .md\\:gap-4 {\n gap: 1rem;\n }\n .md\\:gap-\\[24px\\] {\n gap: 24px;\n }\n .md\\:font-semibold {\n font-weight: 600;\n }\n .md\\:leading-tight {\n line-height: 1.25;\n }\n}\n@media (min-width:1024px) {\n .lg\\:grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .lg\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n}\n@media (min-width:1280px) {\n .xl\\:block {\n display: block;\n }\n .xl\\:h-6 {\n height: 1.5rem;\n }\n .xl\\:border-2 {\n border-width: 2px;\n }\n}\n'); - -// src/components/button/Button.tsx var Button = ({ label, onClick, @@ -125,7 +98,7 @@ var FooterAbout = (props) => { href: entityLink != null ? entityLink : "https://bitcoindevs.xyz/", target: "_blank", rel: "noreferrer", - className: "underline font-medium text-custom-brightOrange-100" + className: "underline font-medium text-bdp-brightOrange-100" }, entityName != null ? entityName : "Bitcoin Dev Project" ) @@ -449,7 +422,7 @@ var FooterPublic_default = FooterPublic; // src/components/footer/Footer.tsx var import_tailwind_merge5 = require("tailwind-merge"); var import_clsx5 = __toESM(require("clsx")); -var Separator = () => /* @__PURE__ */ import_react6.default.createElement("div", { className: "h-5 border xl:h-6 xl:border-2 border-custom-stroke hidden xl:block" }); +var Separator = () => /* @__PURE__ */ import_react6.default.createElement("div", { className: "h-5 border xl:h-6 xl:border-2 border-bdp-stroke hidden xl:block" }); var Footer = ({ children, className, separator, ...rest }) => { const viewSeparator = separator != null ? separator : /* @__PURE__ */ import_react6.default.createElement(Separator, null); const renderChildrenWithSeparator = () => { diff --git a/dist/index.js.map b/dist/index.js.map index d4900b3..fa82f03 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/index.ts","../src/components/button/Button.tsx","#style-inject:#style-inject","../src/styles/tailwind.output.css","../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/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/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"],"sourcesContent":["export * from \"./components/button\";\nexport * from \"./components/footer\";\nexport * from \"./components/carousel\";\n","// src/components/Button/Button.tsx\n\nimport React from \"react\";\nimport \"../../styles/tailwind.output.css\";\n\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","\n export default function styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === 'undefined') return\n \n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n } else {\n head.appendChild(style)\n }\n \n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n }\n ","import styleInject from '#style-inject';styleInject(\"/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/\\n*,\\n:after,\\n:before {\\n box-sizing: border-box;\\n border: 0 solid #e5e7eb;\\n}\\n:after,\\n:before {\\n --tw-content:\\\"\\\";\\n}\\n:host,\\nhtml {\\n line-height: 1.5;\\n -webkit-text-size-adjust: 100%;\\n -moz-tab-size: 4;\\n -o-tab-size: 4;\\n tab-size: 4;\\n font-family: ui-sans-serif, system-ui;\\n font-feature-settings: normal;\\n font-variation-settings: normal;\\n -webkit-tap-highlight-color: transparent;\\n}\\nbody {\\n margin: 0;\\n line-height: inherit;\\n}\\nhr {\\n height: 0;\\n color: inherit;\\n border-top-width: 1px;\\n}\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\ncode,\\nkbd,\\npre,\\nsamp {\\n font-family: ui-monospace, SFMono-Regular;\\n font-feature-settings: normal;\\n font-variation-settings: normal;\\n font-size: 1em;\\n}\\nsmall {\\n font-size: 80%;\\n}\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\nsub {\\n bottom: -.25em;\\n}\\nsup {\\n top: -.5em;\\n}\\ntable {\\n text-indent: 0;\\n border-color: inherit;\\n border-collapse: collapse;\\n}\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n font-size: 100%;\\n font-weight: inherit;\\n line-height: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n margin: 0;\\n padding: 0;\\n}\\nbutton,\\nselect {\\n text-transform: none;\\n}\\nbutton,\\ninput:where([type=button]),\\ninput:where([type=reset]),\\ninput:where([type=submit]) {\\n -webkit-appearance: button;\\n background-color: transparent;\\n background-image: none;\\n}\\n:-moz-focusring {\\n outline: auto;\\n}\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\nprogress {\\n vertical-align: baseline;\\n}\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n[type=search] {\\n -webkit-appearance: textfield;\\n outline-offset: -2px;\\n}\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n::-webkit-file-upload-button {\\n -webkit-appearance: button;\\n font: inherit;\\n}\\nsummary {\\n display: list-item;\\n}\\nblockquote,\\ndd,\\ndl,\\nfigure,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\np,\\npre {\\n margin: 0;\\n}\\nfieldset {\\n margin: 0;\\n}\\nfieldset,\\nlegend {\\n padding: 0;\\n}\\nmenu,\\nol,\\nul {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\ndialog {\\n padding: 0;\\n}\\ntextarea {\\n resize: vertical;\\n}\\ninput::-moz-placeholder,\\ntextarea::-moz-placeholder {\\n opacity: 1;\\n color: #9ca3af;\\n}\\ninput::-moz-placeholder,\\ntextarea::-moz-placeholder {\\n opacity: 1;\\n color: #9ca3af;\\n}\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1;\\n color: #9ca3af;\\n}\\n[role=button],\\nbutton {\\n cursor: pointer;\\n}\\n:disabled {\\n cursor: default;\\n}\\naudio,\\ncanvas,\\nembed,\\niframe,\\nimg,\\nobject,\\nsvg,\\nvideo {\\n display: block;\\n vertical-align: middle;\\n}\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n[hidden] {\\n display: none;\\n}\\n*,\\n:after,\\n:before {\\n --tw-border-spacing-x:0;\\n --tw-border-spacing-y:0;\\n --tw-translate-x:0;\\n --tw-translate-y:0;\\n --tw-rotate:0;\\n --tw-skew-x:0;\\n --tw-skew-y:0;\\n --tw-scale-x:1;\\n --tw-scale-y:1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness:proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width:0px;\\n --tw-ring-offset-color:#fff;\\n --tw-ring-color:rgba(59,130,246,.5);\\n --tw-ring-offset-shadow:0 0 #0000;\\n --tw-ring-shadow:0 0 #0000;\\n --tw-shadow:0 0 #0000;\\n --tw-shadow-colored:0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n --tw-contain-size: ;\\n --tw-contain-layout: ;\\n --tw-contain-paint: ;\\n --tw-contain-style: ;\\n}\\n::backdrop {\\n --tw-border-spacing-x:0;\\n --tw-border-spacing-y:0;\\n --tw-translate-x:0;\\n --tw-translate-y:0;\\n --tw-rotate:0;\\n --tw-skew-x:0;\\n --tw-skew-y:0;\\n --tw-scale-x:1;\\n --tw-scale-y:1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness:proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width:0px;\\n --tw-ring-offset-color:#fff;\\n --tw-ring-color:rgba(59,130,246,.5);\\n --tw-ring-offset-shadow:0 0 #0000;\\n --tw-ring-shadow:0 0 #0000;\\n --tw-shadow:0 0 #0000;\\n --tw-shadow-colored:0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n --tw-contain-size: ;\\n --tw-contain-layout: ;\\n --tw-contain-paint: ;\\n --tw-contain-style: ;\\n}\\n.relative {\\n position: relative;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.mb-\\\\[6px\\\\] {\\n margin-bottom: 6px;\\n}\\n.flex {\\n display: flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.contents {\\n display: contents;\\n}\\n.hidden {\\n display: none;\\n}\\n.h-10 {\\n height: 2.5rem;\\n}\\n.h-24 {\\n height: 6rem;\\n}\\n.h-5 {\\n height: 1.25rem;\\n}\\n.h-full {\\n height: 100%;\\n}\\n.w-10 {\\n width: 2.5rem;\\n}\\n.w-\\\\[300px\\\\] {\\n width: 300px;\\n}\\n.w-fit {\\n width: -moz-fit-content;\\n width: fit-content;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.min-w-\\\\[24px\\\\] {\\n min-width: 24px;\\n}\\n.min-w-fit {\\n min-width: -moz-fit-content;\\n min-width: fit-content;\\n}\\n.max-w-6xl {\\n max-width: 72rem;\\n}\\n.max-w-\\\\[1920px\\\\] {\\n max-width: 1920px;\\n}\\n.max-w-\\\\[40px\\\\] {\\n max-width: 40px;\\n}\\n.max-w-full {\\n max-width: 100%;\\n}\\n.flex-shrink-0 {\\n flex-shrink: 0;\\n}\\n.cursor-not-allowed {\\n cursor: not-allowed;\\n}\\n.resize {\\n resize: both;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.flex-col {\\n flex-direction: column;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.items-stretch {\\n align-items: stretch;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-2 {\\n gap: .5rem;\\n}\\n.gap-6 {\\n gap: 1.5rem;\\n}\\n.gap-\\\\[20px\\\\] {\\n gap: 20px;\\n}\\n.gap-\\\\[24px\\\\] {\\n gap: 24px;\\n}\\n.overflow-hidden {\\n overflow: hidden;\\n}\\n.overflow-scroll {\\n overflow: scroll;\\n}\\n.rounded {\\n border-radius: .25rem;\\n}\\n.rounded-\\\\[10px\\\\] {\\n border-radius: 10px;\\n}\\n.rounded-full {\\n border-radius: 9999px;\\n}\\n.rounded-lg {\\n border-radius: .5rem;\\n}\\n.rounded-md {\\n border-radius: .375rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-custom-stroke {\\n border-color: var(--stroke);\\n}\\n.border-gray-200 {\\n --tw-border-opacity:1;\\n border-color: rgb(229 231 235/var(--tw-border-opacity));\\n}\\n.border-gray-600 {\\n --tw-border-opacity:1;\\n border-color: rgb(75 85 99/var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#292929\\\\] {\\n --tw-bg-opacity:1;\\n background-color: rgb(41 41 41/var(--tw-bg-opacity));\\n}\\n.bg-\\\\[\\\\#ddd\\\\] {\\n --tw-bg-opacity:1;\\n background-color: rgb(221 221 221/var(--tw-bg-opacity));\\n}\\n.bg-blue-500 {\\n --tw-bg-opacity:1;\\n background-color: rgb(59 130 246/var(--tw-bg-opacity));\\n}\\n.bg-gray-300 {\\n --tw-bg-opacity:1;\\n background-color: rgb(209 213 219/var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity:1;\\n background-color: rgb(255 255 255/var(--tw-bg-opacity));\\n}\\n.p-2 {\\n padding: .5rem;\\n}\\n.p-4 {\\n padding: 1rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-12 {\\n padding-top: 3rem;\\n padding-bottom: 3rem;\\n}\\n.py-2 {\\n padding-top: .5rem;\\n padding-bottom: .5rem;\\n}\\n.py-4 {\\n padding-bottom: 1rem;\\n}\\n.pt-4,\\n.py-4 {\\n padding-top: 1rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-lg {\\n font-size: 1.125rem;\\n line-height: 1.75rem;\\n}\\n.text-sm {\\n font-size: .875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.leading-none {\\n line-height: 1;\\n}\\n.text-\\\\[\\\\#FAFAFA\\\\] {\\n --tw-text-opacity:1;\\n color: rgb(250 250 250/var(--tw-text-opacity));\\n}\\n.text-\\\\[\\\\#ddd\\\\] {\\n --tw-text-opacity:1;\\n color: rgb(221 221 221/var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity:1;\\n color: rgb(0 0 0/var(--tw-text-opacity));\\n}\\n.text-custom-brightOrange-100 {\\n --tw-text-opacity:1;\\n color: rgb(236 128 47/var(--tw-text-opacity));\\n}\\n.text-gray-500 {\\n --tw-text-opacity:1;\\n color: rgb(107 114 128/var(--tw-text-opacity));\\n}\\n.text-gray-600 {\\n --tw-text-opacity:1;\\n color: rgb(75 85 99/var(--tw-text-opacity));\\n}\\n.text-gray-800 {\\n --tw-text-opacity:1;\\n color: rgb(31 41 55/var(--tw-text-opacity));\\n}\\n.text-orange-500 {\\n --tw-text-opacity:1;\\n color: rgb(249 115 22/var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity:1;\\n color: rgb(255 255 255/var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.opacity-50 {\\n opacity: .5;\\n}\\n.shadow-md {\\n --tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);\\n --tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);\\n}\\n.shadow-md,\\n.shadow-sm {\\n box-shadow:\\n var(--tw-ring-offset-shadow,0 0 #0000),\\n var(--tw-ring-shadow,0 0 #0000),\\n var(--tw-shadow);\\n}\\n.shadow-sm {\\n --tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);\\n --tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);\\n}\\n.transition-colors {\\n transition-property:\\n color,\\n background-color,\\n border-color,\\n text-decoration-color,\\n fill,\\n stroke;\\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\\n transition-duration: .15s;\\n}\\n.no-scrollbar::-webkit-scrollbar {\\n display: none;\\n}\\n.no-scrollbar {\\n -ms-overflow-style: none;\\n scrollbar-width: none;\\n}\\n:root {\\n --foreground-rgb:0,0,0;\\n --background-start-rgb:214,219,220;\\n --background-end-rgb:255,255,255;\\n --background:#fafafa;\\n --hover-primary:#f5f5f5;\\n --button:#333;\\n --hover-state:#fff0e0;\\n --stroke:#bfbfbf;\\n --secondary-text:#636366;\\n --primary-text:#292929;\\n --black:#292929;\\n --other-light-text:#999;\\n --accent:#f7931a;\\n --gradient:linear-gradient(\\n 92.78deg,#e8782b,#f6a73f 101.1%);\\n --shadow-left:linear-gradient(\\n 90deg,#fafafa 50.33%,hsla(0,0%,98%,0));\\n --shadow-right:linear-gradient(\\n 270deg,#fafafa 50.33%,hsla(0,0%,98%,0));\\n}\\nhtml {\\n scroll-behavior: smooth !important;\\n}\\n.dark {\\n --background:#1c1c1e;\\n --hover-state:#2c2c2e;\\n --button:#8e8e93;\\n --stroke:#3a3a3c;\\n --secondary-text:#999;\\n --primary-text:#a4a4a8;\\n --black:#292929;\\n --other-light-text:#636366;\\n --accent:#f7931a;\\n --hover-primary:#2c2c2e;\\n --gradient:linear-gradient(\\n 92.78deg,#e8782b,#f6a73f 101.1%);\\n --shadow-right:linear-gradient(\\n 270deg,#1c1c1f 50.33%,rgba(28,28,31,0));\\n --shadow-left:linear-gradient(\\n 90deg,#1c1c1f 50.33%,rgba(28,28,31,0));\\n}\\n.hover\\\\:bg-blue-700:hover {\\n --tw-bg-opacity:1;\\n background-color: rgb(29 78 216/var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity:1;\\n background-color: rgb(243 244 246/var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-400:hover {\\n --tw-bg-opacity:1;\\n background-color: rgb(156 163 175/var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-orange-400:hover {\\n --tw-text-opacity:1;\\n color: rgb(251 146 60/var(--tw-text-opacity));\\n}\\n.disabled\\\\:cursor-not-allowed:disabled {\\n cursor: not-allowed;\\n}\\n.disabled\\\\:opacity-50:disabled {\\n opacity: .5;\\n}\\n.disabled\\\\:hover\\\\:bg-transparent:hover:disabled {\\n background-color: transparent;\\n}\\n.group:hover .group-hover\\\\:bg-black {\\n --tw-bg-opacity:1;\\n background-color: rgb(0 0 0/var(--tw-bg-opacity));\\n}\\n.group:hover .group-hover\\\\:text-\\\\[\\\\#fff\\\\] {\\n --tw-text-opacity:1;\\n color: rgb(255 255 255/var(--tw-text-opacity));\\n}\\n.group:hover .group-hover\\\\:text-black {\\n --tw-text-opacity:1;\\n color: rgb(0 0 0/var(--tw-text-opacity));\\n}\\n.dark\\\\:border-gray-300:is(.dark *) {\\n --tw-border-opacity:1;\\n border-color: rgb(209 213 219/var(--tw-border-opacity));\\n}\\n.dark\\\\:bg-\\\\[\\\\#FAFAFA\\\\]:is(.dark *) {\\n --tw-bg-opacity:1;\\n background-color: rgb(250 250 250/var(--tw-bg-opacity));\\n}\\n.dark\\\\:bg-black:is(.dark *) {\\n --tw-bg-opacity:1;\\n background-color: rgb(0 0 0/var(--tw-bg-opacity));\\n}\\n.dark\\\\:text-\\\\[\\\\#292929\\\\]:is(.dark *) {\\n --tw-text-opacity:1;\\n color: rgb(41 41 41/var(--tw-text-opacity));\\n}\\n.dark\\\\:text-gray-300:is(.dark *) {\\n --tw-text-opacity:1;\\n color: rgb(209 213 219/var(--tw-text-opacity));\\n}\\n.dark\\\\:text-gray-400:is(.dark *) {\\n --tw-text-opacity:1;\\n color: rgb(156 163 175/var(--tw-text-opacity));\\n}\\n.dark\\\\:text-white:is(.dark *) {\\n --tw-text-opacity:1;\\n color: rgb(255 255 255/var(--tw-text-opacity));\\n}\\n.dark\\\\:hover\\\\:bg-gray-600:hover:is(.dark *) {\\n --tw-bg-opacity:1;\\n background-color: rgb(75 85 99/var(--tw-bg-opacity));\\n}\\n.disabled\\\\:dark\\\\:hover\\\\:bg-transparent:hover:is(.dark *):disabled {\\n background-color: transparent;\\n}\\n@media (min-width:640px) {\\n .sm\\\\:grid-cols-3 {\\n grid-template-columns: repeat(3, minmax(0, 1fr));\\n }\\n .sm\\\\:flex-row {\\n flex-direction: row;\\n }\\n .sm\\\\:items-center {\\n align-items: center;\\n }\\n .sm\\\\:items-stretch {\\n align-items: stretch;\\n }\\n .sm\\\\:px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n }\\n}\\n@media (min-width:768px) {\\n .md\\\\:mb-0 {\\n margin-bottom: 0;\\n }\\n .md\\\\:grid-cols-4 {\\n grid-template-columns: repeat(4, minmax(0, 1fr));\\n }\\n .md\\\\:flex-row {\\n flex-direction: row;\\n }\\n .md\\\\:items-center {\\n align-items: center;\\n }\\n .md\\\\:gap-4 {\\n gap: 1rem;\\n }\\n .md\\\\:gap-\\\\[24px\\\\] {\\n gap: 24px;\\n }\\n .md\\\\:font-semibold {\\n font-weight: 600;\\n }\\n .md\\\\:leading-tight {\\n line-height: 1.25;\\n }\\n}\\n@media (min-width:1024px) {\\n .lg\\\\:grid-cols-5 {\\n grid-template-columns: repeat(5, minmax(0, 1fr));\\n }\\n .lg\\\\:px-8 {\\n padding-left: 2rem;\\n padding-right: 2rem;\\n }\\n}\\n@media (min-width:1280px) {\\n .xl\\\\:block {\\n display: block;\\n }\\n .xl\\\\:h-6 {\\n height: 1.5rem;\\n }\\n .xl\\\\:border-2 {\\n border-width: 2px;\\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\";\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\";\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 @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 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\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 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","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"],"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","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"]} \ 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/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/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"],"sourcesContent":["export * from \"./components/button\";\nexport * from \"./components/footer\";\nexport * from \"./components/carousel\";\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\";\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\";\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 @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 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\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 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","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"],"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","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"]} \ No newline at end of file diff --git a/dist/index.mjs b/dist/index.mjs index 287a424..cad0637 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -1,32 +1,5 @@ // src/components/button/Button.tsx import React from "react"; - -// #style-inject:#style-inject -function styleInject(css, { insertAt } = {}) { - if (!css || typeof document === "undefined") return; - const head = document.head || document.getElementsByTagName("head")[0]; - const style = document.createElement("style"); - style.type = "text/css"; - if (insertAt === "top") { - if (head.firstChild) { - head.insertBefore(style, head.firstChild); - } else { - head.appendChild(style); - } - } else { - head.appendChild(style); - } - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - style.appendChild(document.createTextNode(css)); - } -} - -// src/styles/tailwind.output.css -styleInject('/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/\n*,\n:after,\n:before {\n box-sizing: border-box;\n border: 0 solid #e5e7eb;\n}\n:after,\n:before {\n --tw-content:"";\n}\n:host,\nhtml {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: ui-sans-serif, system-ui;\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n}\nbody {\n margin: 0;\n line-height: inherit;\n}\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nb,\nstrong {\n font-weight: bolder;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: ui-monospace, SFMono-Regular;\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-size: 1em;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub {\n bottom: -.25em;\n}\nsup {\n top: -.5em;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\ninput:where([type=button]),\ninput:where([type=reset]),\ninput:where([type=submit]) {\n -webkit-appearance: button;\n background-color: transparent;\n background-image: none;\n}\n:-moz-focusring {\n outline: auto;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\nprogress {\n vertical-align: baseline;\n}\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\nsummary {\n display: list-item;\n}\nblockquote,\ndd,\ndl,\nfigure,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\np,\npre {\n margin: 0;\n}\nfieldset {\n margin: 0;\n}\nfieldset,\nlegend {\n padding: 0;\n}\nmenu,\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\ndialog {\n padding: 0;\n}\ntextarea {\n resize: vertical;\n}\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n[role=button],\nbutton {\n cursor: pointer;\n}\n:disabled {\n cursor: default;\n}\naudio,\ncanvas,\nembed,\niframe,\nimg,\nobject,\nsvg,\nvideo {\n display: block;\n vertical-align: middle;\n}\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n[hidden] {\n display: none;\n}\n*,\n:after,\n:before {\n --tw-border-spacing-x:0;\n --tw-border-spacing-y:0;\n --tw-translate-x:0;\n --tw-translate-y:0;\n --tw-rotate:0;\n --tw-skew-x:0;\n --tw-skew-y:0;\n --tw-scale-x:1;\n --tw-scale-y:1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness:proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width:0px;\n --tw-ring-offset-color:#fff;\n --tw-ring-color:rgba(59,130,246,.5);\n --tw-ring-offset-shadow:0 0 #0000;\n --tw-ring-shadow:0 0 #0000;\n --tw-shadow:0 0 #0000;\n --tw-shadow-colored:0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n::backdrop {\n --tw-border-spacing-x:0;\n --tw-border-spacing-y:0;\n --tw-translate-x:0;\n --tw-translate-y:0;\n --tw-rotate:0;\n --tw-skew-x:0;\n --tw-skew-y:0;\n --tw-scale-x:1;\n --tw-scale-y:1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness:proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width:0px;\n --tw-ring-offset-color:#fff;\n --tw-ring-color:rgba(59,130,246,.5);\n --tw-ring-offset-shadow:0 0 #0000;\n --tw-ring-shadow:0 0 #0000;\n --tw-shadow:0 0 #0000;\n --tw-shadow-colored:0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n.relative {\n position: relative;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.mb-4 {\n margin-bottom: 1rem;\n}\n.mb-\\[6px\\] {\n margin-bottom: 6px;\n}\n.flex {\n display: flex;\n}\n.grid {\n display: grid;\n}\n.contents {\n display: contents;\n}\n.hidden {\n display: none;\n}\n.h-10 {\n height: 2.5rem;\n}\n.h-24 {\n height: 6rem;\n}\n.h-5 {\n height: 1.25rem;\n}\n.h-full {\n height: 100%;\n}\n.w-10 {\n width: 2.5rem;\n}\n.w-\\[300px\\] {\n width: 300px;\n}\n.w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.w-full {\n width: 100%;\n}\n.min-w-\\[24px\\] {\n min-width: 24px;\n}\n.min-w-fit {\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n.max-w-6xl {\n max-width: 72rem;\n}\n.max-w-\\[1920px\\] {\n max-width: 1920px;\n}\n.max-w-\\[40px\\] {\n max-width: 40px;\n}\n.max-w-full {\n max-width: 100%;\n}\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n.resize {\n resize: both;\n}\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.flex-col {\n flex-direction: column;\n}\n.items-center {\n align-items: center;\n}\n.items-stretch {\n align-items: stretch;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-between {\n justify-content: space-between;\n}\n.gap-2 {\n gap: .5rem;\n}\n.gap-6 {\n gap: 1.5rem;\n}\n.gap-\\[20px\\] {\n gap: 20px;\n}\n.gap-\\[24px\\] {\n gap: 24px;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-scroll {\n overflow: scroll;\n}\n.rounded {\n border-radius: .25rem;\n}\n.rounded-\\[10px\\] {\n border-radius: 10px;\n}\n.rounded-full {\n border-radius: 9999px;\n}\n.rounded-lg {\n border-radius: .5rem;\n}\n.rounded-md {\n border-radius: .375rem;\n}\n.border {\n border-width: 1px;\n}\n.border-custom-stroke {\n border-color: var(--stroke);\n}\n.border-gray-200 {\n --tw-border-opacity:1;\n border-color: rgb(229 231 235/var(--tw-border-opacity));\n}\n.border-gray-600 {\n --tw-border-opacity:1;\n border-color: rgb(75 85 99/var(--tw-border-opacity));\n}\n.bg-\\[\\#292929\\] {\n --tw-bg-opacity:1;\n background-color: rgb(41 41 41/var(--tw-bg-opacity));\n}\n.bg-\\[\\#ddd\\] {\n --tw-bg-opacity:1;\n background-color: rgb(221 221 221/var(--tw-bg-opacity));\n}\n.bg-blue-500 {\n --tw-bg-opacity:1;\n background-color: rgb(59 130 246/var(--tw-bg-opacity));\n}\n.bg-gray-300 {\n --tw-bg-opacity:1;\n background-color: rgb(209 213 219/var(--tw-bg-opacity));\n}\n.bg-white {\n --tw-bg-opacity:1;\n background-color: rgb(255 255 255/var(--tw-bg-opacity));\n}\n.p-2 {\n padding: .5rem;\n}\n.p-4 {\n padding: 1rem;\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n.py-4 {\n padding-bottom: 1rem;\n}\n.pt-4,\n.py-4 {\n padding-top: 1rem;\n}\n.text-center {\n text-align: center;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n.font-bold {\n font-weight: 700;\n}\n.font-medium {\n font-weight: 500;\n}\n.leading-none {\n line-height: 1;\n}\n.text-\\[\\#FAFAFA\\] {\n --tw-text-opacity:1;\n color: rgb(250 250 250/var(--tw-text-opacity));\n}\n.text-\\[\\#ddd\\] {\n --tw-text-opacity:1;\n color: rgb(221 221 221/var(--tw-text-opacity));\n}\n.text-black {\n --tw-text-opacity:1;\n color: rgb(0 0 0/var(--tw-text-opacity));\n}\n.text-custom-brightOrange-100 {\n --tw-text-opacity:1;\n color: rgb(236 128 47/var(--tw-text-opacity));\n}\n.text-gray-500 {\n --tw-text-opacity:1;\n color: rgb(107 114 128/var(--tw-text-opacity));\n}\n.text-gray-600 {\n --tw-text-opacity:1;\n color: rgb(75 85 99/var(--tw-text-opacity));\n}\n.text-gray-800 {\n --tw-text-opacity:1;\n color: rgb(31 41 55/var(--tw-text-opacity));\n}\n.text-orange-500 {\n --tw-text-opacity:1;\n color: rgb(249 115 22/var(--tw-text-opacity));\n}\n.text-white {\n --tw-text-opacity:1;\n color: rgb(255 255 255/var(--tw-text-opacity));\n}\n.underline {\n text-decoration-line: underline;\n}\n.opacity-50 {\n opacity: .5;\n}\n.shadow-md {\n --tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);\n --tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);\n}\n.shadow-md,\n.shadow-sm {\n box-shadow:\n var(--tw-ring-offset-shadow,0 0 #0000),\n var(--tw-ring-shadow,0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-sm {\n --tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);\n --tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);\n}\n.transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s;\n}\n.no-scrollbar::-webkit-scrollbar {\n display: none;\n}\n.no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n:root {\n --foreground-rgb:0,0,0;\n --background-start-rgb:214,219,220;\n --background-end-rgb:255,255,255;\n --background:#fafafa;\n --hover-primary:#f5f5f5;\n --button:#333;\n --hover-state:#fff0e0;\n --stroke:#bfbfbf;\n --secondary-text:#636366;\n --primary-text:#292929;\n --black:#292929;\n --other-light-text:#999;\n --accent:#f7931a;\n --gradient:linear-gradient(\n 92.78deg,#e8782b,#f6a73f 101.1%);\n --shadow-left:linear-gradient(\n 90deg,#fafafa 50.33%,hsla(0,0%,98%,0));\n --shadow-right:linear-gradient(\n 270deg,#fafafa 50.33%,hsla(0,0%,98%,0));\n}\nhtml {\n scroll-behavior: smooth !important;\n}\n.dark {\n --background:#1c1c1e;\n --hover-state:#2c2c2e;\n --button:#8e8e93;\n --stroke:#3a3a3c;\n --secondary-text:#999;\n --primary-text:#a4a4a8;\n --black:#292929;\n --other-light-text:#636366;\n --accent:#f7931a;\n --hover-primary:#2c2c2e;\n --gradient:linear-gradient(\n 92.78deg,#e8782b,#f6a73f 101.1%);\n --shadow-right:linear-gradient(\n 270deg,#1c1c1f 50.33%,rgba(28,28,31,0));\n --shadow-left:linear-gradient(\n 90deg,#1c1c1f 50.33%,rgba(28,28,31,0));\n}\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity:1;\n background-color: rgb(29 78 216/var(--tw-bg-opacity));\n}\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity:1;\n background-color: rgb(243 244 246/var(--tw-bg-opacity));\n}\n.hover\\:bg-gray-400:hover {\n --tw-bg-opacity:1;\n background-color: rgb(156 163 175/var(--tw-bg-opacity));\n}\n.hover\\:text-orange-400:hover {\n --tw-text-opacity:1;\n color: rgb(251 146 60/var(--tw-text-opacity));\n}\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n.disabled\\:opacity-50:disabled {\n opacity: .5;\n}\n.disabled\\:hover\\:bg-transparent:hover:disabled {\n background-color: transparent;\n}\n.group:hover .group-hover\\:bg-black {\n --tw-bg-opacity:1;\n background-color: rgb(0 0 0/var(--tw-bg-opacity));\n}\n.group:hover .group-hover\\:text-\\[\\#fff\\] {\n --tw-text-opacity:1;\n color: rgb(255 255 255/var(--tw-text-opacity));\n}\n.group:hover .group-hover\\:text-black {\n --tw-text-opacity:1;\n color: rgb(0 0 0/var(--tw-text-opacity));\n}\n.dark\\:border-gray-300:is(.dark *) {\n --tw-border-opacity:1;\n border-color: rgb(209 213 219/var(--tw-border-opacity));\n}\n.dark\\:bg-\\[\\#FAFAFA\\]:is(.dark *) {\n --tw-bg-opacity:1;\n background-color: rgb(250 250 250/var(--tw-bg-opacity));\n}\n.dark\\:bg-black:is(.dark *) {\n --tw-bg-opacity:1;\n background-color: rgb(0 0 0/var(--tw-bg-opacity));\n}\n.dark\\:text-\\[\\#292929\\]:is(.dark *) {\n --tw-text-opacity:1;\n color: rgb(41 41 41/var(--tw-text-opacity));\n}\n.dark\\:text-gray-300:is(.dark *) {\n --tw-text-opacity:1;\n color: rgb(209 213 219/var(--tw-text-opacity));\n}\n.dark\\:text-gray-400:is(.dark *) {\n --tw-text-opacity:1;\n color: rgb(156 163 175/var(--tw-text-opacity));\n}\n.dark\\:text-white:is(.dark *) {\n --tw-text-opacity:1;\n color: rgb(255 255 255/var(--tw-text-opacity));\n}\n.dark\\:hover\\:bg-gray-600:hover:is(.dark *) {\n --tw-bg-opacity:1;\n background-color: rgb(75 85 99/var(--tw-bg-opacity));\n}\n.disabled\\:dark\\:hover\\:bg-transparent:hover:is(.dark *):disabled {\n background-color: transparent;\n}\n@media (min-width:640px) {\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:items-center {\n align-items: center;\n }\n .sm\\:items-stretch {\n align-items: stretch;\n }\n .sm\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n}\n@media (min-width:768px) {\n .md\\:mb-0 {\n margin-bottom: 0;\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .md\\:flex-row {\n flex-direction: row;\n }\n .md\\:items-center {\n align-items: center;\n }\n .md\\:gap-4 {\n gap: 1rem;\n }\n .md\\:gap-\\[24px\\] {\n gap: 24px;\n }\n .md\\:font-semibold {\n font-weight: 600;\n }\n .md\\:leading-tight {\n line-height: 1.25;\n }\n}\n@media (min-width:1024px) {\n .lg\\:grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .lg\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n}\n@media (min-width:1280px) {\n .xl\\:block {\n display: block;\n }\n .xl\\:h-6 {\n height: 1.5rem;\n }\n .xl\\:border-2 {\n border-width: 2px;\n }\n}\n'); - -// src/components/button/Button.tsx var Button = ({ label, onClick, @@ -86,7 +59,7 @@ var FooterAbout = (props) => { href: entityLink != null ? entityLink : "https://bitcoindevs.xyz/", target: "_blank", rel: "noreferrer", - className: "underline font-medium text-custom-brightOrange-100" + className: "underline font-medium text-bdp-brightOrange-100" }, entityName != null ? entityName : "Bitcoin Dev Project" ) @@ -410,7 +383,7 @@ var FooterPublic_default = FooterPublic; // src/components/footer/Footer.tsx import { twMerge as twMerge5 } from "tailwind-merge"; import clsx5 from "clsx"; -var Separator = () => /* @__PURE__ */ React32.createElement("div", { className: "h-5 border xl:h-6 xl:border-2 border-custom-stroke hidden xl:block" }); +var Separator = () => /* @__PURE__ */ React32.createElement("div", { className: "h-5 border xl:h-6 xl:border-2 border-bdp-stroke hidden xl:block" }); var Footer = ({ children, className, separator, ...rest }) => { const viewSeparator = separator != null ? separator : /* @__PURE__ */ React32.createElement(Separator, null); const renderChildrenWithSeparator = () => { diff --git a/dist/index.mjs.map b/dist/index.mjs.map index dda2fce..1e2dd6d 100644 --- a/dist/index.mjs.map +++ b/dist/index.mjs.map @@ -1 +1 @@ -{"version":3,"sources":["../src/components/button/Button.tsx","#style-inject:#style-inject","../src/styles/tailwind.output.css","../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/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/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"],"sourcesContent":["// src/components/Button/Button.tsx\n\nimport React from \"react\";\nimport \"../../styles/tailwind.output.css\";\n\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","\n export default function styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === 'undefined') return\n \n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n } else {\n head.appendChild(style)\n }\n \n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n }\n ","import styleInject from '#style-inject';styleInject(\"/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/\\n*,\\n:after,\\n:before {\\n box-sizing: border-box;\\n border: 0 solid #e5e7eb;\\n}\\n:after,\\n:before {\\n --tw-content:\\\"\\\";\\n}\\n:host,\\nhtml {\\n line-height: 1.5;\\n -webkit-text-size-adjust: 100%;\\n -moz-tab-size: 4;\\n -o-tab-size: 4;\\n tab-size: 4;\\n font-family: ui-sans-serif, system-ui;\\n font-feature-settings: normal;\\n font-variation-settings: normal;\\n -webkit-tap-highlight-color: transparent;\\n}\\nbody {\\n margin: 0;\\n line-height: inherit;\\n}\\nhr {\\n height: 0;\\n color: inherit;\\n border-top-width: 1px;\\n}\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\ncode,\\nkbd,\\npre,\\nsamp {\\n font-family: ui-monospace, SFMono-Regular;\\n font-feature-settings: normal;\\n font-variation-settings: normal;\\n font-size: 1em;\\n}\\nsmall {\\n font-size: 80%;\\n}\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\nsub {\\n bottom: -.25em;\\n}\\nsup {\\n top: -.5em;\\n}\\ntable {\\n text-indent: 0;\\n border-color: inherit;\\n border-collapse: collapse;\\n}\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n font-size: 100%;\\n font-weight: inherit;\\n line-height: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n margin: 0;\\n padding: 0;\\n}\\nbutton,\\nselect {\\n text-transform: none;\\n}\\nbutton,\\ninput:where([type=button]),\\ninput:where([type=reset]),\\ninput:where([type=submit]) {\\n -webkit-appearance: button;\\n background-color: transparent;\\n background-image: none;\\n}\\n:-moz-focusring {\\n outline: auto;\\n}\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\nprogress {\\n vertical-align: baseline;\\n}\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n[type=search] {\\n -webkit-appearance: textfield;\\n outline-offset: -2px;\\n}\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n::-webkit-file-upload-button {\\n -webkit-appearance: button;\\n font: inherit;\\n}\\nsummary {\\n display: list-item;\\n}\\nblockquote,\\ndd,\\ndl,\\nfigure,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\np,\\npre {\\n margin: 0;\\n}\\nfieldset {\\n margin: 0;\\n}\\nfieldset,\\nlegend {\\n padding: 0;\\n}\\nmenu,\\nol,\\nul {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\ndialog {\\n padding: 0;\\n}\\ntextarea {\\n resize: vertical;\\n}\\ninput::-moz-placeholder,\\ntextarea::-moz-placeholder {\\n opacity: 1;\\n color: #9ca3af;\\n}\\ninput::-moz-placeholder,\\ntextarea::-moz-placeholder {\\n opacity: 1;\\n color: #9ca3af;\\n}\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1;\\n color: #9ca3af;\\n}\\n[role=button],\\nbutton {\\n cursor: pointer;\\n}\\n:disabled {\\n cursor: default;\\n}\\naudio,\\ncanvas,\\nembed,\\niframe,\\nimg,\\nobject,\\nsvg,\\nvideo {\\n display: block;\\n vertical-align: middle;\\n}\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n[hidden] {\\n display: none;\\n}\\n*,\\n:after,\\n:before {\\n --tw-border-spacing-x:0;\\n --tw-border-spacing-y:0;\\n --tw-translate-x:0;\\n --tw-translate-y:0;\\n --tw-rotate:0;\\n --tw-skew-x:0;\\n --tw-skew-y:0;\\n --tw-scale-x:1;\\n --tw-scale-y:1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness:proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width:0px;\\n --tw-ring-offset-color:#fff;\\n --tw-ring-color:rgba(59,130,246,.5);\\n --tw-ring-offset-shadow:0 0 #0000;\\n --tw-ring-shadow:0 0 #0000;\\n --tw-shadow:0 0 #0000;\\n --tw-shadow-colored:0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n --tw-contain-size: ;\\n --tw-contain-layout: ;\\n --tw-contain-paint: ;\\n --tw-contain-style: ;\\n}\\n::backdrop {\\n --tw-border-spacing-x:0;\\n --tw-border-spacing-y:0;\\n --tw-translate-x:0;\\n --tw-translate-y:0;\\n --tw-rotate:0;\\n --tw-skew-x:0;\\n --tw-skew-y:0;\\n --tw-scale-x:1;\\n --tw-scale-y:1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness:proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width:0px;\\n --tw-ring-offset-color:#fff;\\n --tw-ring-color:rgba(59,130,246,.5);\\n --tw-ring-offset-shadow:0 0 #0000;\\n --tw-ring-shadow:0 0 #0000;\\n --tw-shadow:0 0 #0000;\\n --tw-shadow-colored:0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n --tw-contain-size: ;\\n --tw-contain-layout: ;\\n --tw-contain-paint: ;\\n --tw-contain-style: ;\\n}\\n.relative {\\n position: relative;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.mb-\\\\[6px\\\\] {\\n margin-bottom: 6px;\\n}\\n.flex {\\n display: flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.contents {\\n display: contents;\\n}\\n.hidden {\\n display: none;\\n}\\n.h-10 {\\n height: 2.5rem;\\n}\\n.h-24 {\\n height: 6rem;\\n}\\n.h-5 {\\n height: 1.25rem;\\n}\\n.h-full {\\n height: 100%;\\n}\\n.w-10 {\\n width: 2.5rem;\\n}\\n.w-\\\\[300px\\\\] {\\n width: 300px;\\n}\\n.w-fit {\\n width: -moz-fit-content;\\n width: fit-content;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.min-w-\\\\[24px\\\\] {\\n min-width: 24px;\\n}\\n.min-w-fit {\\n min-width: -moz-fit-content;\\n min-width: fit-content;\\n}\\n.max-w-6xl {\\n max-width: 72rem;\\n}\\n.max-w-\\\\[1920px\\\\] {\\n max-width: 1920px;\\n}\\n.max-w-\\\\[40px\\\\] {\\n max-width: 40px;\\n}\\n.max-w-full {\\n max-width: 100%;\\n}\\n.flex-shrink-0 {\\n flex-shrink: 0;\\n}\\n.cursor-not-allowed {\\n cursor: not-allowed;\\n}\\n.resize {\\n resize: both;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.flex-col {\\n flex-direction: column;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.items-stretch {\\n align-items: stretch;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-2 {\\n gap: .5rem;\\n}\\n.gap-6 {\\n gap: 1.5rem;\\n}\\n.gap-\\\\[20px\\\\] {\\n gap: 20px;\\n}\\n.gap-\\\\[24px\\\\] {\\n gap: 24px;\\n}\\n.overflow-hidden {\\n overflow: hidden;\\n}\\n.overflow-scroll {\\n overflow: scroll;\\n}\\n.rounded {\\n border-radius: .25rem;\\n}\\n.rounded-\\\\[10px\\\\] {\\n border-radius: 10px;\\n}\\n.rounded-full {\\n border-radius: 9999px;\\n}\\n.rounded-lg {\\n border-radius: .5rem;\\n}\\n.rounded-md {\\n border-radius: .375rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-custom-stroke {\\n border-color: var(--stroke);\\n}\\n.border-gray-200 {\\n --tw-border-opacity:1;\\n border-color: rgb(229 231 235/var(--tw-border-opacity));\\n}\\n.border-gray-600 {\\n --tw-border-opacity:1;\\n border-color: rgb(75 85 99/var(--tw-border-opacity));\\n}\\n.bg-\\\\[\\\\#292929\\\\] {\\n --tw-bg-opacity:1;\\n background-color: rgb(41 41 41/var(--tw-bg-opacity));\\n}\\n.bg-\\\\[\\\\#ddd\\\\] {\\n --tw-bg-opacity:1;\\n background-color: rgb(221 221 221/var(--tw-bg-opacity));\\n}\\n.bg-blue-500 {\\n --tw-bg-opacity:1;\\n background-color: rgb(59 130 246/var(--tw-bg-opacity));\\n}\\n.bg-gray-300 {\\n --tw-bg-opacity:1;\\n background-color: rgb(209 213 219/var(--tw-bg-opacity));\\n}\\n.bg-white {\\n --tw-bg-opacity:1;\\n background-color: rgb(255 255 255/var(--tw-bg-opacity));\\n}\\n.p-2 {\\n padding: .5rem;\\n}\\n.p-4 {\\n padding: 1rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-12 {\\n padding-top: 3rem;\\n padding-bottom: 3rem;\\n}\\n.py-2 {\\n padding-top: .5rem;\\n padding-bottom: .5rem;\\n}\\n.py-4 {\\n padding-bottom: 1rem;\\n}\\n.pt-4,\\n.py-4 {\\n padding-top: 1rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-lg {\\n font-size: 1.125rem;\\n line-height: 1.75rem;\\n}\\n.text-sm {\\n font-size: .875rem;\\n line-height: 1.25rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.leading-none {\\n line-height: 1;\\n}\\n.text-\\\\[\\\\#FAFAFA\\\\] {\\n --tw-text-opacity:1;\\n color: rgb(250 250 250/var(--tw-text-opacity));\\n}\\n.text-\\\\[\\\\#ddd\\\\] {\\n --tw-text-opacity:1;\\n color: rgb(221 221 221/var(--tw-text-opacity));\\n}\\n.text-black {\\n --tw-text-opacity:1;\\n color: rgb(0 0 0/var(--tw-text-opacity));\\n}\\n.text-custom-brightOrange-100 {\\n --tw-text-opacity:1;\\n color: rgb(236 128 47/var(--tw-text-opacity));\\n}\\n.text-gray-500 {\\n --tw-text-opacity:1;\\n color: rgb(107 114 128/var(--tw-text-opacity));\\n}\\n.text-gray-600 {\\n --tw-text-opacity:1;\\n color: rgb(75 85 99/var(--tw-text-opacity));\\n}\\n.text-gray-800 {\\n --tw-text-opacity:1;\\n color: rgb(31 41 55/var(--tw-text-opacity));\\n}\\n.text-orange-500 {\\n --tw-text-opacity:1;\\n color: rgb(249 115 22/var(--tw-text-opacity));\\n}\\n.text-white {\\n --tw-text-opacity:1;\\n color: rgb(255 255 255/var(--tw-text-opacity));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.opacity-50 {\\n opacity: .5;\\n}\\n.shadow-md {\\n --tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);\\n --tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);\\n}\\n.shadow-md,\\n.shadow-sm {\\n box-shadow:\\n var(--tw-ring-offset-shadow,0 0 #0000),\\n var(--tw-ring-shadow,0 0 #0000),\\n var(--tw-shadow);\\n}\\n.shadow-sm {\\n --tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);\\n --tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);\\n}\\n.transition-colors {\\n transition-property:\\n color,\\n background-color,\\n border-color,\\n text-decoration-color,\\n fill,\\n stroke;\\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\\n transition-duration: .15s;\\n}\\n.no-scrollbar::-webkit-scrollbar {\\n display: none;\\n}\\n.no-scrollbar {\\n -ms-overflow-style: none;\\n scrollbar-width: none;\\n}\\n:root {\\n --foreground-rgb:0,0,0;\\n --background-start-rgb:214,219,220;\\n --background-end-rgb:255,255,255;\\n --background:#fafafa;\\n --hover-primary:#f5f5f5;\\n --button:#333;\\n --hover-state:#fff0e0;\\n --stroke:#bfbfbf;\\n --secondary-text:#636366;\\n --primary-text:#292929;\\n --black:#292929;\\n --other-light-text:#999;\\n --accent:#f7931a;\\n --gradient:linear-gradient(\\n 92.78deg,#e8782b,#f6a73f 101.1%);\\n --shadow-left:linear-gradient(\\n 90deg,#fafafa 50.33%,hsla(0,0%,98%,0));\\n --shadow-right:linear-gradient(\\n 270deg,#fafafa 50.33%,hsla(0,0%,98%,0));\\n}\\nhtml {\\n scroll-behavior: smooth !important;\\n}\\n.dark {\\n --background:#1c1c1e;\\n --hover-state:#2c2c2e;\\n --button:#8e8e93;\\n --stroke:#3a3a3c;\\n --secondary-text:#999;\\n --primary-text:#a4a4a8;\\n --black:#292929;\\n --other-light-text:#636366;\\n --accent:#f7931a;\\n --hover-primary:#2c2c2e;\\n --gradient:linear-gradient(\\n 92.78deg,#e8782b,#f6a73f 101.1%);\\n --shadow-right:linear-gradient(\\n 270deg,#1c1c1f 50.33%,rgba(28,28,31,0));\\n --shadow-left:linear-gradient(\\n 90deg,#1c1c1f 50.33%,rgba(28,28,31,0));\\n}\\n.hover\\\\:bg-blue-700:hover {\\n --tw-bg-opacity:1;\\n background-color: rgb(29 78 216/var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity:1;\\n background-color: rgb(243 244 246/var(--tw-bg-opacity));\\n}\\n.hover\\\\:bg-gray-400:hover {\\n --tw-bg-opacity:1;\\n background-color: rgb(156 163 175/var(--tw-bg-opacity));\\n}\\n.hover\\\\:text-orange-400:hover {\\n --tw-text-opacity:1;\\n color: rgb(251 146 60/var(--tw-text-opacity));\\n}\\n.disabled\\\\:cursor-not-allowed:disabled {\\n cursor: not-allowed;\\n}\\n.disabled\\\\:opacity-50:disabled {\\n opacity: .5;\\n}\\n.disabled\\\\:hover\\\\:bg-transparent:hover:disabled {\\n background-color: transparent;\\n}\\n.group:hover .group-hover\\\\:bg-black {\\n --tw-bg-opacity:1;\\n background-color: rgb(0 0 0/var(--tw-bg-opacity));\\n}\\n.group:hover .group-hover\\\\:text-\\\\[\\\\#fff\\\\] {\\n --tw-text-opacity:1;\\n color: rgb(255 255 255/var(--tw-text-opacity));\\n}\\n.group:hover .group-hover\\\\:text-black {\\n --tw-text-opacity:1;\\n color: rgb(0 0 0/var(--tw-text-opacity));\\n}\\n.dark\\\\:border-gray-300:is(.dark *) {\\n --tw-border-opacity:1;\\n border-color: rgb(209 213 219/var(--tw-border-opacity));\\n}\\n.dark\\\\:bg-\\\\[\\\\#FAFAFA\\\\]:is(.dark *) {\\n --tw-bg-opacity:1;\\n background-color: rgb(250 250 250/var(--tw-bg-opacity));\\n}\\n.dark\\\\:bg-black:is(.dark *) {\\n --tw-bg-opacity:1;\\n background-color: rgb(0 0 0/var(--tw-bg-opacity));\\n}\\n.dark\\\\:text-\\\\[\\\\#292929\\\\]:is(.dark *) {\\n --tw-text-opacity:1;\\n color: rgb(41 41 41/var(--tw-text-opacity));\\n}\\n.dark\\\\:text-gray-300:is(.dark *) {\\n --tw-text-opacity:1;\\n color: rgb(209 213 219/var(--tw-text-opacity));\\n}\\n.dark\\\\:text-gray-400:is(.dark *) {\\n --tw-text-opacity:1;\\n color: rgb(156 163 175/var(--tw-text-opacity));\\n}\\n.dark\\\\:text-white:is(.dark *) {\\n --tw-text-opacity:1;\\n color: rgb(255 255 255/var(--tw-text-opacity));\\n}\\n.dark\\\\:hover\\\\:bg-gray-600:hover:is(.dark *) {\\n --tw-bg-opacity:1;\\n background-color: rgb(75 85 99/var(--tw-bg-opacity));\\n}\\n.disabled\\\\:dark\\\\:hover\\\\:bg-transparent:hover:is(.dark *):disabled {\\n background-color: transparent;\\n}\\n@media (min-width:640px) {\\n .sm\\\\:grid-cols-3 {\\n grid-template-columns: repeat(3, minmax(0, 1fr));\\n }\\n .sm\\\\:flex-row {\\n flex-direction: row;\\n }\\n .sm\\\\:items-center {\\n align-items: center;\\n }\\n .sm\\\\:items-stretch {\\n align-items: stretch;\\n }\\n .sm\\\\:px-6 {\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n }\\n}\\n@media (min-width:768px) {\\n .md\\\\:mb-0 {\\n margin-bottom: 0;\\n }\\n .md\\\\:grid-cols-4 {\\n grid-template-columns: repeat(4, minmax(0, 1fr));\\n }\\n .md\\\\:flex-row {\\n flex-direction: row;\\n }\\n .md\\\\:items-center {\\n align-items: center;\\n }\\n .md\\\\:gap-4 {\\n gap: 1rem;\\n }\\n .md\\\\:gap-\\\\[24px\\\\] {\\n gap: 24px;\\n }\\n .md\\\\:font-semibold {\\n font-weight: 600;\\n }\\n .md\\\\:leading-tight {\\n line-height: 1.25;\\n }\\n}\\n@media (min-width:1024px) {\\n .lg\\\\:grid-cols-5 {\\n grid-template-columns: repeat(5, minmax(0, 1fr));\\n }\\n .lg\\\\:px-8 {\\n padding-left: 2rem;\\n padding-right: 2rem;\\n }\\n}\\n@media (min-width:1280px) {\\n .xl\\\\:block {\\n display: block;\\n }\\n .xl\\\\:h-6 {\\n height: 1.5rem;\\n }\\n .xl\\\\:border-2 {\\n border-width: 2px;\\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\";\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\";\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 @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 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\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 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","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"],"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","twMerge","clsx","entity","React","React","twMerge","clsx","twMerge","clsx","React","React","React","twMerge","clsx","React","React","scrollLeft"]} \ 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/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/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"],"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\";\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\";\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 @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 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\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 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","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"],"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","twMerge","clsx","entity","React","React","twMerge","clsx","twMerge","clsx","React","React","React","twMerge","clsx","React","React","scrollLeft"]} \ No newline at end of file diff --git a/dist/styles.css b/dist/styles.css new file mode 100644 index 0000000..a0b4dfd --- /dev/null +++ b/dist/styles.css @@ -0,0 +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: }.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-\[6px\]{margin-bottom:6px}.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-full{height:100%}.w-10{width:2.5rem}.w-\[300px\]{width:300px}.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-shrink-0{flex-shrink:0}.cursor-not-allowed{cursor:not-allowed}.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-2{gap:.5rem}.gap-6{gap:1.5rem}.gap-\[20px\]{gap:20px}.gap-\[24px\]{gap:24px}.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}.border{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-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-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-bottom:1rem}.pt-4,.py-4{padding-top:1rem}.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}.font-bold{font-weight:700}.font-medium{font-weight:500}.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-brightOrange-100{--tw-text-opacity:1;color:rgb(236 128 47/var(--tw-text-opacity))}.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-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.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)}.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}.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}.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-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))}.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))}.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-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\: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-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:mb-0{margin-bottom:0}.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\: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}} \ No newline at end of file diff --git a/package.json b/package.json index 67fa568..f92f020 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bitcoin-dev-project/bdp-ui", - "version": "1.2.2", + "version": "1.3.0", "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",