react-newsfeed
Version:
A customizable social media post component for React applications that mimics popular social media feeds with features like likes, comments, and image galleries.
10 lines • 61.4 kB
JavaScript
"use strict";var e=require("react");!function(e,n){void 0===n&&(n={});var t=n.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("*, ::before, ::after {\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: rgb(59 130 246 / 0.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\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: rgb(59 130 246 / 0.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! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\r\n.pointer-events-none {\n pointer-events: none;\n}\r\n.visible {\n visibility: visible;\n}\r\n.fixed {\n position: fixed;\n}\r\n.absolute {\n position: absolute;\n}\r\n.relative {\n position: relative;\n}\r\n.inset-0 {\n inset: 0px;\n}\r\n.left-4 {\n left: 1rem;\n}\r\n.right-2 {\n right: 0.5rem;\n}\r\n.right-4 {\n right: 1rem;\n}\r\n.top-1\\/2 {\n top: 50%;\n}\r\n.top-12 {\n top: 3rem;\n}\r\n.top-4 {\n top: 1rem;\n}\r\n.-z-10 {\n z-index: -10;\n}\r\n.z-10 {\n z-index: 10;\n}\r\n.z-50 {\n z-index: 50;\n}\r\n.col-span-2 {\n grid-column: span 2 / span 2;\n}\r\n.ml-1 {\n margin-left: 0.25rem;\n}\r\n.ml-2 {\n margin-left: 0.5rem;\n}\r\n.mr-2 {\n margin-right: 0.5rem;\n}\r\n.mt-1 {\n margin-top: 0.25rem;\n}\r\n.mt-2 {\n margin-top: 0.5rem;\n}\r\n.flex {\n display: flex;\n}\r\n.grid {\n display: grid;\n}\r\n.hidden {\n display: none;\n}\r\n.aspect-square {\n aspect-ratio: 1 / 1;\n}\r\n.aspect-video {\n aspect-ratio: 16 / 9;\n}\r\n.h-10 {\n height: 2.5rem;\n}\r\n.h-12 {\n height: 3rem;\n}\r\n.h-3 {\n height: 0.75rem;\n}\r\n.h-5 {\n height: 1.25rem;\n}\r\n.h-6 {\n height: 1.5rem;\n}\r\n.h-8 {\n height: 2rem;\n}\r\n.h-auto {\n height: auto;\n}\r\n.h-full {\n height: 100%;\n}\r\n.max-h-96 {\n max-height: 24rem;\n}\r\n.max-h-full {\n max-height: 100%;\n}\r\n.w-10 {\n width: 2.5rem;\n}\r\n.w-12 {\n width: 3rem;\n}\r\n.w-3 {\n width: 0.75rem;\n}\r\n.w-48 {\n width: 12rem;\n}\r\n.w-5 {\n width: 1.25rem;\n}\r\n.w-6 {\n width: 1.5rem;\n}\r\n.w-8 {\n width: 2rem;\n}\r\n.w-full {\n width: 100%;\n}\r\n.max-w-4xl {\n max-width: 56rem;\n}\r\n.max-w-full {\n max-width: 100%;\n}\r\n.flex-1 {\n flex: 1 1 0%;\n}\r\n.-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\r\n.rotate-90 {\n --tw-rotate: 90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\r\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\r\n.cursor-pointer {\n cursor: pointer;\n}\r\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\r\n.flex-wrap {\n flex-wrap: wrap;\n}\r\n.items-center {\n align-items: center;\n}\r\n.justify-center {\n justify-content: center;\n}\r\n.justify-between {\n justify-content: space-between;\n}\r\n.justify-around {\n justify-content: space-around;\n}\r\n.gap-1 {\n gap: 0.25rem;\n}\r\n.gap-2 {\n gap: 0.5rem;\n}\r\n.-space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(-0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\r\n.space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\r\n.space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\r\n.space-x-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.75rem * var(--tw-space-x-reverse));\n margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));\n}\r\n.space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n}\r\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\r\n.overflow-hidden {\n overflow: hidden;\n}\r\n.overflow-y-auto {\n overflow-y: auto;\n}\r\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\r\n.rounded {\n border-radius: 0.25rem;\n}\r\n.rounded-2xl {\n border-radius: 1rem;\n}\r\n.rounded-full {\n border-radius: 9999px;\n}\r\n.rounded-lg {\n border-radius: 0.5rem;\n}\r\n.rounded-md {\n border-radius: 0.375rem;\n}\r\n.border {\n border-width: 1px;\n}\r\n.border-b {\n border-bottom-width: 1px;\n}\r\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n}\r\n.bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));\n}\r\n.bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\r\n.bg-gray-300\\/80 {\n background-color: rgb(209 213 219 / 0.8);\n}\r\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\r\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\r\n.bg-opacity-50 {\n --tw-bg-opacity: 0.5;\n}\r\n.bg-opacity-60 {\n --tw-bg-opacity: 0.6;\n}\r\n.bg-opacity-90 {\n --tw-bg-opacity: 0.9;\n}\r\n.object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\r\n.object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n}\r\n.p-3 {\n padding: 0.75rem;\n}\r\n.p-4 {\n padding: 1rem;\n}\r\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\r\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\r\n.py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\r\n.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\r\n.py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\r\n.pb-3 {\n padding-bottom: 0.75rem;\n}\r\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\r\n.text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\r\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\r\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\r\n.font-bold {\n font-weight: 700;\n}\r\n.font-medium {\n font-weight: 500;\n}\r\n.font-semibold {\n font-weight: 600;\n}\r\n.capitalize {\n text-transform: capitalize;\n}\r\n.leading-relaxed {\n line-height: 1.625;\n}\r\n.text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\r\n.text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\r\n.text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\r\n.text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\r\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\r\n.text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(31 41 55 / var(--tw-text-opacity, 1));\n}\r\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\r\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\r\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\r\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 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 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\r\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\r\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\r\n.transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\r\n.transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\r\n.transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\r\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\r\n.hover\\:bg-opacity-50:hover {\n --tw-bg-opacity: 0.5;\n}\r\n.hover\\:text-blue-700:hover {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity, 1));\n}\r\n.hover\\:text-gray-300:hover {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\r\n.hover\\:text-gray-600:hover {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\r\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\r\n.hover\\:opacity-95:hover {\n opacity: 0.95;\n}\r\n.focus\\:bg-white:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\r\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\r\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\r\n.focus\\:ring-blue-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));\n}\r\n");var n=function(){return n=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},n.apply(this,arguments)};function t(e,n,t,r){return new(t||(t=Promise))(function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t(function(e){e(n)})).then(a,s)}l((r=r.apply(e,n||[])).next())})}function r(e,n){var t,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(t=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=n.call(e,i)}catch(e){s=[6,e],r=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function o(e,n,t){if(t||2===arguments.length)for(var r,o=0,i=n.length;o<i;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var i,a={exports:{}},s={};var l,c,u={};
/**
* @license React
* react-jsx-runtime.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/function d(){return l||(l=1,"production"!==process.env.NODE_ENV&&function(){var n=e,t=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),g=Symbol.iterator;var v=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];!function(e,n,t){var r=v.ReactDebugCurrentFrame,o=r.getStackAddendum();""!==o&&(n+="%s",t=t.concat([o]));var i=t.map(function(e){return String(e)});i.unshift("Warning: "+n),Function.prototype.apply.call(console[e],console,i)}("error",e,t)}var w;function x(e){return e.displayName||"Context"}function b(e){if(null==e)return null;if("number"==typeof e.tag&&y("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case o:return"Fragment";case r:return"Portal";case a:return"Profiler";case i:return"StrictMode";case d:return"Suspense";case p:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return x(e)+".Consumer";case s:return x(e._context)+".Provider";case c:return function(e,n,t){var r=e.displayName;if(r)return r;var o=n.displayName||n.name||"";return""!==o?t+"("+o+")":t}(e,e.render,"ForwardRef");case f:var n=e.displayName||null;return null!==n?n:b(e.type)||"Memo";case h:var t=e,u=t._payload,m=t._init;try{return b(m(u))}catch(e){return null}}return null}w=Symbol.for("react.module.reference");var j,k,C,N,R,S,z,E=Object.assign,L=0;function _(){}_.__reactDisabledLog=!0;var T,O=v.ReactCurrentDispatcher;function P(e,n,t){if(void 0===T)try{throw Error()}catch(e){var r=e.stack.trim().match(/\n( *(at )?)/);T=r&&r[1]||""}return"\n"+T+e}var I,D=!1,F="function"==typeof WeakMap?WeakMap:Map;function M(e,n){if(!e||D)return"";var t,r=I.get(e);if(void 0!==r)return r;D=!0;var o,i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,o=O.current,O.current=null,function(){if(0===L){j=console.log,k=console.info,C=console.warn,N=console.error,R=console.group,S=console.groupCollapsed,z=console.groupEnd;var e={configurable:!0,enumerable:!0,value:_,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}L++}();try{if(n){var a=function(){throw Error()};if(Object.defineProperty(a.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(a,[])}catch(e){t=e}Reflect.construct(e,[],a)}else{try{a.call()}catch(e){t=e}e.call(a.prototype)}}else{try{throw Error()}catch(e){t=e}e()}}catch(n){if(n&&t&&"string"==typeof n.stack){for(var s=n.stack.split("\n"),l=t.stack.split("\n"),c=s.length-1,u=l.length-1;c>=1&&u>=0&&s[c]!==l[u];)u--;for(;c>=1&&u>=0;c--,u--)if(s[c]!==l[u]){if(1!==c||1!==u)do{if(c--,--u<0||s[c]!==l[u]){var d="\n"+s[c].replace(" at new "," at ");return e.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",e.displayName)),"function"==typeof e&&I.set(e,d),d}}while(c>=1&&u>=0);break}}}finally{D=!1,O.current=o,function(){if(0===--L){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},e,{value:j}),info:E({},e,{value:k}),warn:E({},e,{value:C}),error:E({},e,{value:N}),group:E({},e,{value:R}),groupCollapsed:E({},e,{value:S}),groupEnd:E({},e,{value:z})})}L<0&&y("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=i}var p=e?e.displayName||e.name:"",f=p?P(p):"";return"function"==typeof e&&I.set(e,f),f}function A(e,n,t){if(null==e)return"";if("function"==typeof e)return M(e,!(!(r=e.prototype)||!r.isReactComponent));var r;if("string"==typeof e)return P(e);switch(e){case d:return P("Suspense");case p:return P("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return M(e.render,!1);case f:return A(e.type,n,t);case h:var o=e,i=o._payload,a=o._init;try{return A(a(i),n,t)}catch(e){}}return""}I=new F;var $=Object.prototype.hasOwnProperty,U={},W=v.ReactDebugCurrentFrame;function B(e){if(e){var n=e._owner,t=A(e.type,e._source,n?n.type:null);W.setExtraStackFrame(t)}else W.setExtraStackFrame(null)}var Y=Array.isArray;function X(e){return Y(e)}function q(e){return""+e}function V(e){if(function(e){try{return q(e),!1}catch(e){return!0}}(e))return y("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),q(e)}var H,K,J=v.ReactCurrentOwner,G={key:!0,ref:!0,__self:!0,__source:!0};function Q(e,n,r,o,i){var a,s={},l=null,c=null;for(a in void 0!==r&&(V(r),l=""+r),function(e){if($.call(e,"key")){var n=Object.getOwnPropertyDescriptor(e,"key").get;if(n&&n.isReactWarning)return!1}return void 0!==e.key}(n)&&(V(n.key),l=""+n.key),function(e){if($.call(e,"ref")){var n=Object.getOwnPropertyDescriptor(e,"ref").get;if(n&&n.isReactWarning)return!1}return void 0!==e.ref}(n)&&(c=n.ref,function(e){"string"==typeof e.ref&&J.current}(n)),n)$.call(n,a)&&!G.hasOwnProperty(a)&&(s[a]=n[a]);if(e&&e.defaultProps){var u=e.defaultProps;for(a in u)void 0===s[a]&&(s[a]=u[a])}if(l||c){var d="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,n){var t=function(){H||(H=!0,y("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",n))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(s,d),c&&function(e,n){var t=function(){K||(K=!0,y("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",n))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}(s,d)}return function(e,n,r,o,i,a,s){var l={$$typeof:t,type:e,key:n,ref:r,props:s,_owner:a,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,c,i,o,J.current,s)}var Z,ee=v.ReactCurrentOwner,ne=v.ReactDebugCurrentFrame;function te(e){if(e){var n=e._owner,t=A(e.type,e._source,n?n.type:null);ne.setExtraStackFrame(t)}else ne.setExtraStackFrame(null)}function re(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function oe(){if(ee.current){var e=b(ee.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Z=!1;var ie={};function ae(e,n){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var t=function(e){var n=oe();if(!n){var t="string"==typeof e?e:e.displayName||e.name;t&&(n="\n\nCheck the top-level render call using <"+t+">.")}return n}(n);if(!ie[t]){ie[t]=!0;var r="";e&&e._owner&&e._owner!==ee.current&&(r=" It was passed a child from "+b(e._owner.type)+"."),te(e),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,r),te(null)}}}function se(e,n){if("object"==typeof e)if(X(e))for(var t=0;t<e.length;t++){var r=e[t];re(r)&&ae(r,n)}else if(re(e))e._store&&(e._store.validated=!0);else if(e){var o=function(e){if(null===e||"object"!=typeof e)return null;var n=g&&e[g]||e["@@iterator"];return"function"==typeof n?n:null}(e);if("function"==typeof o&&o!==e.entries)for(var i,a=o.call(e);!(i=a.next()).done;)re(i.value)&&ae(i.value,n)}}function le(e){var n,t=e.type;if(null!=t&&"string"!=typeof t){if("function"==typeof t)n=t.propTypes;else{if("object"!=typeof t||t.$$typeof!==c&&t.$$typeof!==f)return;n=t.propTypes}if(n){var r=b(t);!function(e,n,t,r,o){var i=Function.call.bind($);for(var a in e)if(i(e,a)){var s=void 0;try{if("function"!=typeof e[a]){var l=Error((r||"React class")+": "+t+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[a]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}s=e[a](n,a,r,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){s=e}!s||s instanceof Error||(B(o),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",r||"React class",t,a,typeof s),B(null)),s instanceof Error&&!(s.message in U)&&(U[s.message]=!0,B(o),y("Failed %s type: %s",t,s.message),B(null))}}(n,e.props,"prop",r,e)}else if(void 0!==t.PropTypes&&!Z){Z=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",b(t)||"Unknown")}"function"!=typeof t.getDefaultProps||t.getDefaultProps.isReactClassApproved||y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var ce={};function ue(e,n,r,u,g,v){var x=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===a||e===i||e===d||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===f||e.$$typeof===s||e.$$typeof===l||e.$$typeof===c||e.$$typeof===w||void 0!==e.getModuleId)}(e);if(!x){var j="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(j+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var k;j+=oe(),null===e?k="null":X(e)?k="array":void 0!==e&&e.$$typeof===t?(k="<"+(b(e.type)||"Unknown")+" />",j=" Did you accidentally export a JSX literal instead of a component?"):k=typeof e,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",k,j)}var C=Q(e,n,r,g,v);if(null==C)return C;if(x){var N=n.children;if(void 0!==N)if(u)if(X(N)){for(var R=0;R<N.length;R++)se(N[R],e);Object.freeze&&Object.freeze(N)}else y("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else se(N,e)}if($.call(n,"key")){var S=b(e),z=Object.keys(n).filter(function(e){return"key"!==e}),E=z.length>0?"{key: someKey, "+z.join(": ..., ")+": ...}":"{key: someKey}";if(!ce[S+E])y('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',E,S,z.length>0?"{"+z.join(": ..., ")+": ...}":"{}",S),ce[S+E]=!0}return e===o?function(e){for(var n=Object.keys(e.props),t=0;t<n.length;t++){var r=n[t];if("children"!==r&&"key"!==r){te(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",r),te(null);break}}null!==e.ref&&(te(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),te(null))}(C):le(C),C}var de=function(e,n,t){return ue(e,n,t,!1)},pe=function(e,n,t){return ue(e,n,t,!0)};u.Fragment=o,u.jsx=de,u.jsxs=pe}()),u}var p=(c||(c=1,"production"===process.env.NODE_ENV?a.exports=function(){if(i)return s;i=1;var n=e,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,a=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,n,r){var i,s={},c=null,u=null;for(i in void 0!==r&&(c=""+r),void 0!==n.key&&(c=""+n.key),void 0!==n.ref&&(u=n.ref),n)o.call(n,i)&&!l.hasOwnProperty(i)&&(s[i]=n[i]);if(e&&e.defaultProps)for(i in n=e.defaultProps)void 0===s[i]&&(s[i]=n[i]);return{$$typeof:t,type:e,key:c,ref:u,props:s,_owner:a.current}}return s.Fragment=r,s.jsx=c,s.jsxs=c,s}():a.exports=d()),a.exports);function f(e){var n=e.filled,t=void 0!==n&&n;return p.jsx("svg",{className:"w-5 h-5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:t?"currentColor":"none",viewBox:"0 0 24 24",stroke:"currentColor",children:p.jsx("path",{d:"M2 10h4v12H2zM22 11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L13.17 2 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h7c.74 0 1.38-.4 1.72-1.01l3.58-6.49c.13-.23.2-.49.2-.76v-2.74L22 11z"})})}function h(e){var n=e.direction,t=void 0===n?"":n;return p.jsx("svg",{className:"w-3 h-3 transition-transform ".concat(t),fill:"currentColor",viewBox:"0 0 20 20",children:p.jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})}function m(){return p.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})})}function g(){return p.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.367 2.684 3 3 0 00-5.367-2.684z"})})}function v(){return p.jsx("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:p.jsx("path",{d:"M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z"})})}function y(){return p.jsx("svg",{className:"w-3 h-3 ml-1",fill:"currentColor",viewBox:"0 0 20 20",children:p.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM4.332 8.027a6.012 6.012 0 011.912-2.706C6.512 5.73 6.974 6 7.5 6A1.5 1.5 0 019 7.5V8a2 2 0 004 0 2 2 0 011.523-1.943A5.977 5.977 0 0116 10c0 3.314-2.686 6-6 6s-6-2.686-6-6a5.98 5.98 0 01.332-1.973z",clipRule:"evenodd"})})}function w(){return p.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",children:p.jsx("path",{fill:"currentColor",d:"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"})})}function x(e){var n=e.src,t=e.alt,r=e.size,o=void 0===r?"md":r;return p.jsx("div",{className:"rounded-full overflow-hidden ".concat({xs:"w-6 h-6",sm:"w-6 h-6",md:"w-8 h-8",lg:"w-10 h-10"}[o]),children:p.jsx("img",{src:n,alt:t,className:"w-full h-full object-cover"})})}function b(e){var n=e.time;return p.jsxs("div",{className:"flex items-center space-x-1 text-xs text-gray-500",children:[p.jsx("span",{children:n}),p.jsx(y,{})]})}function j(n){var t=n.author,r=n.options,o=void 0===r?[]:r,i=n.extraComponent,a=n.titleExtraComponent,s=e.useState(!1),l=s[0],c=s[1],u=e.useRef(null);return e.useEffect(function(){var e=function(e){u.current&&!u.current.contains(e.target)&&c(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]),p.jsxs("div",{className:"flex items-center justify-between p-4 relative",children:[p.jsxs("div",{className:"flex items-center space-x-3",children:[p.jsx(x,{src:t.avatar,alt:t.name,size:"md"}),p.jsxs("div",{children:[p.jsx("h3",{className:"font-semibold text-gray-900 text-sm",children:t.name}),p.jsx(b,{time:t.timeAgo}),a&&p.jsx("div",{className:"mt-1",children:a})]})]}),p.jsxs("div",{className:"flex items-center space-x-2",children:[i&&p.jsx("div",{children:i}),(null==o?void 0:o.length)>0&&p.jsxs(p.Fragment,{children:[p.jsx("button",{className:"text-gray-400 hover:text-gray-600 relative",onClick:function(){return c(!l)},children:p.jsx(v,{})}),l&&o.length>0&&p.jsx("div",{ref:u,className:"absolute right-4 top-12 bg-white shadow-lg rounded-md py-1 w-48 z-10 border border-gray-200",children:o.map(function(e,n){return p.jsxs("button",{className:"flex items-center w-full px-4 py-2 text-sm text-gray-700 hover:bg-gray-100",onClick:function(){e.action(),c(!1)},children:[e.icon&&p.jsx("span",{className:"mr-2",children:e.icon}),e.title]},n)})})]})]})]})}function k(n){var t=n.content,r=n.tags,o=n.showTranslation,i=n.maxLength,a=void 0===i?200:i,s=e.useState(!1),l=s[0],c=s[1],u=t.length>a,d=l?t:"".concat(t.substring(0,a)).concat(u?"...":"");return p.jsxs("div",{className:"px-4 pb-3",children:[p.jsxs("p",{className:"text-gray-900 text-sm leading-relaxed",children:[d,u&&p.jsx("button",{onClick:function(){return c(!l)},className:"text-blue-600 hover:underline ml-1",children:l?"Show less":"Show more"})]}),p.jsx("div",{className:"flex flex-wrap gap-1 mt-2",children:r.map(function(e,n){return p.jsxs("span",{className:"text-blue-600 text-sm hover:underline cursor-pointer",children:["#",e]},n)})}),o&&p.jsx("button",{className:"text-blue-600 text-sm hover:underline mt-2",children:"See translation"})]})}var C=function(e){var n=e.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/);return n&&11===n[2].length?n[2]:null};function N(n){var t=n.images,r=e.useState(!1),o=r[0],i=r[1],a=e.useState(0),s=a[0],l=a[1],c=e.useState(null),u=c[0],d=c[1],f=e.useState(null),h=f[0],m=f[1],g=e.useRef(new Map),v=e.useRef(new Map),y=e.useRef(null);e.useEffect(function(){return y.current=new IntersectionObserver(function(e){e.forEach(function(e){var n,t,r=e.target;if(r instanceof HTMLVideoElement&&(e.isIntersecting?r.play().catch(console.error):(r.pause(),r.currentTime=0)),r instanceof HTMLIFrameElement&&r.src.includes("youtube.com"))if(e.isIntersecting)(t=r.src).includes("autoplay=0")&&(r.src=t.replace("autoplay=0","autoplay=1"));else if((t=r.src).includes("autoplay=1")){var o=r.parentElement;if(o){var i=r.cloneNode(!1);i.src=t.replace("autoplay=1","autoplay=0"),o.replaceChild(i,r);var a=null===(n=Array.from(v.current.entries()).find(function(e){return e[1]===r}))||void 0===n?void 0:n[0];a&&(v.current.set(a,i),y.current&&y.current.observe(i))}}})},{threshold:.7,rootMargin:"100px"}),function(){var e;null===(e=y.current)||void 0===e||e.disconnect()}},[]),e.useEffect(function(){if(y.current&&!o)return g.current.forEach(function(e){var n;null===(n=y.current)||void 0===n||n.observe(e)}),v.current.forEach(function(e){var n;null===(n=y.current)||void 0===n||n.observe(e)}),function(){g.current.forEach(function(e){var n;null===(n=y.current)||void 0===n||n.unobserve(e)}),v.current.forEach(function(e){var n;null===(n=y.current)||void 0===n||n.unobserve(e)})}},[t,o]),e.useEffect(function(){if(y.current&&o){var e=t[s];if("video"===e.type){var n=g.current.get(e.id);n&&(y.current.observe(n),n.play().catch(console.error))}else if("youtube"===e.type){var r=v.current.get(e.id);r&&y.current.observe(r)}return function(){var n,t;if("video"===e.type){var r=g.current.get(e.id);r&&(null===(n=y.current)||void 0===n||n.unobserve(r),r.pause(),r.currentTime=0)}else if("youtube"===e.type){var o=v.current.get(e.id);o&&(null===(t=y.current)||void 0===t||t.unobserve(o))}}}},[o,s,t]),e.useEffect(function(){if(y.current&&!o){var e=setTimeout(function(){v.current.forEach(function(e){var n;null===(n=y.current)||void 0===n||n.observe(e)})},100);return function(){return clearTimeout(e)}}},[t,o]);var w=function(e){l(e),i(!0),document.body.style.overflow="hidden"},x=function(){i(!1),document.body.style.overflow="unset",g.current.forEach(function(e){e.pause(),e.currentTime=0})},b=function(){l(function(e){return 0===e?t.length-1:e-1})},j=function(){l(function(e){return e===t.length-1?0:e+1})};e.useEffect(function(){var e=function(e){o&&("Escape"===e.key?x():"ArrowLeft"===e.key?b():"ArrowRight"===e.key&&j())};return document.addEventListener("keydown",e),function(){return document.removeEventListener("keydown",e)}},[o]),e.useEffect(function(){return function(){var e;document.body.style.overflow="unset",null===(e=y.current)||void 0===e||e.disconnect()}},[]);var k=function(e,n){n?g.current.set(e.id,n):g.current.delete(e.id)},N=function(e,n){n?(v.current.set(e.id,n),setTimeout(function(){y.current&&!o&&y.current.observe(n)},50)):v.current.delete(e.id)};if(0===t.length)return null;var R=function(e,n,t){var r="".concat(t," cursor-pointer hover:opacity-95 transition-opacity");if("video"===e.type)return p.jsxs("div",{className:"relative w-full h-full",children:[p.jsx("video",{ref:function(n){return k(e,n)},src:e.url||"/placeholder.svg",className:"".concat(r," object-cover"),onClick:function(){return w(n)},muted:!0,playsInline:!0,loop:!0}),p.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:p.jsx("div",{className:"bg-black bg-opacity-60 rounded-full p-3",children:p.jsx("svg",{className:"w-8 h-8 text-white",fill:"currentColor",viewBox:"0 0 20 20",children:p.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z",clipRule:"evenodd"})})})})]},e.id);if("youtube"===e.type){var o=C(e.url||"");if(o)return p.jsx("div",{className:"w-full h-full relative aspect-video",children:p.jsx("iframe",{ref:function(n){return N(e,n)},src:"https://www.youtube.com/embed/".concat(o,"?autoplay=0&mute=1&playsinline=1&loop=1&controls=1&modestbranding=1"),className:"w-full h-full absolute inset-0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,onClick:function(){return w(n)}})},e.id)}var i=e.thumbnail||e.url||"/placeholder.svg";return p.jsx("img",{src:i,alt:e.alt,className:"".concat(r," object-cover"),onClick:function(){return w(n)}},e.id)};return p.jsxs(p.Fragment,{children:[function(){if(1===t.length)return p.jsx("div",{className:"w-full",children:R(t[0],0,"w-full h-auto")});if(2===t.length)return p.jsx("div",{className:"grid grid-cols-2 gap-1",children:t.slice(0,2).map(function(e,n){return p.jsx("div",{className:"aspect-square overflow-hidden",children:R(e,n,"w-full h-full")},e.id)})});if(3===t.length)return p.jsxs("div",{className:"grid grid-cols-2 gap-1",children:[p.jsx("div",{className:"aspect-square overflow-hidden",children:R(t[0],0,"w-full h-full")}),p.jsx("div",{className:"aspect-square overflow-hidden",children:R(t[1],1,"w-full h-full")}),p.jsx("div",{className:"col-span-2 aspect-square overflow-hidden",children:R(t[2],2,"w-full h-full")})]});var e=t.slice(0,4),n=t.length-4;return p.jsx("div",{className:"grid grid-cols-2 gap-1",children:e.map(function(e,t){return p.jsxs("div",{className:"aspect-square overflow-hidden relative",children:[R(e,t,"w-full h-full"),3===t&&n>0&&p.jsx("div",{className:"absolute inset-0 bg-black bg-opacity-60 flex items-center justify-center cursor-pointer hover:bg-opacity-50 transition-all",onClick:function(e){e.stopPropagation(),w(t)},children:p.jsxs("span",{className:"text-white text-2xl font-bold",children:["+",n]})})]},e.id)})})}(),o&&p.jsxs("div",{className:"fixed inset-0 bg-black bg-opacity-90 z-50 flex items-center justify-center",children:[p.jsx("button",{onClick:x,className:"absolute top-4 right-4 text-white text-3xl hover:text-gray-300 transition-colors z-10","aria-label":"Close lightbox",children:"×"}),p.jsxs("div",{className:"absolute top-4 left-4 text-white text-sm bg-black bg-opacity-50 px-3 py-1 rounded z-10 flex items-center gap-2",children:[p.jsxs("span",{children:[s+1," / ",t.length]}),t[s].type&&p.jsxs(p.Fragment,{children:[p.jsx("span",{children:"•"}),p.jsx("span",{className:"capitalize",children:t[s].type})]})]}),t.length>1&&p.jsx("button",{onClick:b,className:"absolute left-4 top-1/2 transform -translate-y-1/2 text-white hover:text-gray-300 transition-colors z-10 bg-gray-300/80 w-12 h-12 rounded-full flex items-center justify-center","aria-label":"Previous image",children:p.jsx("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("path",{d:"M15 7L10 12L15 17",stroke:"#000000",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),t.length>1&&p.jsx("button",{onClick:j,className:"absolute right-4 top-1/2 transform -translate-y-1/2 text-white hover:text-gray-300 transition-colors z-10 bg-gray-300/80 w-12 h-12 rounded-full flex items-center justify-center","aria-label":"Next image",children:p.jsx("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("path",{d:"M10 7L15 12L10 17",stroke:"#000000",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),p.jsx("div",{className:"w-full h-full flex items-center justify-center p-4",onTouchStart:function(e){m(null),d(e.targetTouches[0].clientX)},onTouchMove:function(e){m(e.targetTouches[0].clientX)},onTouchEnd:function(){if(u&&h){var e=u-h,n=e<-50;e>50?j():n&&b()}},children:function(e){if("video"===e.type)return p.jsx("div",{className:"flex items-center justify-center w-full h-full",children:p.jsx("video",{ref:function(n){return k(e,n)},src:e.url||"/placeholder.svg",className:"max-w-full max-h-full object-contain",controls:!0,autoPlay:!0,muted:!0,playsInline:!0})});if("youtube"===e.type){var n=C(e.url||"");if(n)return p.jsx("div",{className:"flex items-center justify-center w-full h-full",children:p.jsx("iframe",{ref:function(n){return N(e,n)},src:"https://www.youtube.com/embed/".concat(n,"?autoplay=1&mute=1&playsinline=1&loop=1&controls=1&modestbranding=1"),className:"w-full max-w-4xl h-auto aspect-video",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}return p.jsx("div",{className:"flex items-center justify-center w-full h-full",children:p.jsx("img",{src:e.url||"/placeholder.svg",alt:e.alt,className:"max-w-full max-h-full object-contain"})})}(t[s])}),p.jsx("div",{className:"absolute inset-0 -z-10",onClick:x})]})]})}function R(e){var n=e.liked,t=e.likeCount,r=e.commentCount;e.showComments;var o=e.onLike,i=e.onToggleComments,a=e.onClickShare;return p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"px-4 py-3 border-b border-gray-