@snowbomb1/nova-ui 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/Box.d.ts +2 -0
  2. package/dist/chunks/Box-ByLjqYJZ.js +4670 -0
  3. package/dist/chunks/Box-vMWmmOuo.js +6 -0
  4. package/dist/components/Box/Box.d.ts +6 -0
  5. package/dist/components/Box/index.d.ts +1 -0
  6. package/dist/components/Box/index.js +1 -0
  7. package/dist/components/Button/Button.d.ts +11 -0
  8. package/dist/components/Button/index.d.ts +1 -0
  9. package/dist/components/FormField/FormField.d.ts +7 -0
  10. package/dist/components/FormField/index.d.ts +1 -0
  11. package/dist/components/Header/Header.d.ts +6 -0
  12. package/dist/components/Header/index.d.ts +1 -0
  13. package/dist/components/Input/Input.d.ts +8 -0
  14. package/dist/components/Input/index.d.ts +1 -0
  15. package/dist/components/Modal/Modal.d.ts +9 -0
  16. package/dist/components/Modal/index.d.ts +1 -0
  17. package/dist/components/Select/Select.d.ts +15 -0
  18. package/dist/components/Select/index.d.ts +1 -0
  19. package/dist/components/Toggle/Toggle.d.ts +7 -0
  20. package/dist/components/Toggle/index.d.ts +1 -0
  21. package/dist/components/Tooltip/Tooltip.d.ts +7 -0
  22. package/dist/components/Tooltip/index.d.ts +1 -0
  23. package/dist/components/TopNav/ThemeToggler.d.ts +1 -0
  24. package/dist/components/TopNav/TopNav.d.ts +7 -0
  25. package/dist/components/TopNav/index.d.ts +1 -0
  26. package/dist/components/Viewer/Viewer.d.ts +15 -0
  27. package/dist/components/Viewer/ViewerLoader.d.ts +6 -0
  28. package/dist/components/Viewer/index.d.ts +1 -0
  29. package/dist/hooks/useKeyboardShortcuts.d.ts +7 -0
  30. package/dist/hooks/useMediaLoader.d.ts +11 -0
  31. package/dist/hooks/useTheme.d.ts +6 -0
  32. package/dist/icons/close.d.ts +6 -0
  33. package/dist/icons/hamburger.d.ts +6 -0
  34. package/dist/index.d.ts +13 -0
  35. package/dist/index.js +9 -0
  36. package/dist/nova-ui.css +2 -0
  37. package/package.json +51 -0
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ const e=require(`./chunks/Box-vMWmmOuo.js`);let t=require(`react`);t=e.f(t);let n=require(`react-dom`);function r(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function i(...e){return t=>{let n=!1,i=e.map(e=>{let i=r(e,t);return!n&&typeof i==`function`&&(n=!0),i});if(n)return()=>{for(let t=0;t<i.length;t++){let n=i[t];typeof n==`function`?n():r(e[t],null)}}}}function a(...e){return t.useCallback(i(...e),e)}var o=e.u(),s=class extends t.Component{getSnapshotBeforeUpdate(t){let n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let t=n.offsetParent,r=e.a(t)&&t.offsetWidth||0,i=e.a(t)&&t.offsetHeight||0,a=this.props.sizeRef.current;a.height=n.offsetHeight||0,a.width=n.offsetWidth||0,a.top=n.offsetTop,a.left=n.offsetLeft,a.right=r-a.width-a.left,a.bottom=i-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}};function c({children:n,isPresent:r,anchorX:i,anchorY:c,root:l,pop:u}){let d=(0,t.useId)(),f=(0,t.useRef)(null),p=(0,t.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:m}=(0,t.useContext)(e.i),h=a(f,n.props?.ref??n?.ref);return(0,t.useInsertionEffect)(()=>{let{width:e,height:t,top:n,left:a,right:o,bottom:s}=p.current;if(r||u===!1||!f.current||!e||!t)return;let h=i===`left`?`left: ${a}`:`right: ${o}`,g=c===`bottom`?`bottom: ${s}`:`top: ${n}`;f.current.dataset.motionPopId=d;let _=document.createElement(`style`);m&&(_.nonce=m);let v=l??document.head;return v.appendChild(_),_.sheet&&_.sheet.insertRule(`
2
+ [data-motion-pop-id="${d}"] {
3
+ position: absolute !important;
4
+ width: ${e}px !important;
5
+ height: ${t}px !important;
6
+ ${h}px !important;
7
+ ${g}px !important;
8
+ }
9
+ `),()=>{v.contains(_)&&v.removeChild(_)}},[r]),(0,o.jsx)(s,{isPresent:r,childRef:f,sizeRef:p,pop:u,children:u===!1?n:t.cloneElement(n,{ref:h})})}var l=({children:n,initial:r,isPresent:i,onExitComplete:a,custom:s,presenceAffectsLayout:l,mode:d,anchorX:f,anchorY:p,root:m})=>{let h=e.c(u),g=(0,t.useId)(),_=!0,v=(0,t.useMemo)(()=>(_=!1,{id:g,initial:r,isPresent:i,custom:s,onExitComplete:e=>{h.set(e,!0);for(let e of h.values())if(!e)return;a&&a()},register:e=>(h.set(e,!1),()=>h.delete(e))}),[i,h,a]);return l&&_&&(v={...v}),(0,t.useMemo)(()=>{h.forEach((e,t)=>h.set(t,!1))},[i]),t.useEffect(()=>{!i&&!h.size&&a&&a()},[i]),n=(0,o.jsx)(c,{pop:d===`popLayout`,isPresent:i,anchorX:f,anchorY:p,root:m,children:n}),(0,o.jsx)(e.o.Provider,{value:v,children:n})};function u(){return new Map}var d=e=>e.key||``;function f(e){let n=[];return t.Children.forEach(e,e=>{(0,t.isValidElement)(e)&&n.push(e)}),n}var p=({children:n,custom:r,initial:i=!0,onExitComplete:a,presenceAffectsLayout:s=!0,mode:c=`sync`,propagate:u=!1,anchorX:p=`left`,anchorY:m=`top`,root:h})=>{let[g,_]=e.r(u),v=(0,t.useMemo)(()=>f(n),[n]),y=u&&!g?[]:v.map(d),b=(0,t.useRef)(!0),x=(0,t.useRef)(v),S=e.c(()=>new Map),C=(0,t.useRef)(new Set),[w,T]=(0,t.useState)(v),[E,D]=(0,t.useState)(v);e.s(()=>{b.current=!1,x.current=v;for(let e=0;e<E.length;e++){let t=d(E[e]);y.includes(t)?(S.delete(t),C.current.delete(t)):S.get(t)!==!0&&S.set(t,!1)}},[E,y.length,y.join(`-`)]);let O=[];if(v!==w){let e=[...v];for(let t=0;t<E.length;t++){let n=E[t],r=d(n);y.includes(r)||(e.splice(t,0,n),O.push(n))}return c===`wait`&&O.length&&(e=O),D(f(e)),T(v),null}process.env.NODE_ENV!==`production`&&c===`wait`&&E.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);let{forceRender:k}=(0,t.useContext)(e.l);return(0,o.jsx)(o.Fragment,{children:E.map(e=>{let t=d(e),n=u&&!g?!1:v===E||y.includes(t);return(0,o.jsx)(l,{isPresent:n,initial:!b.current||i?void 0:!1,custom:r,presenceAffectsLayout:s,mode:c,root:h,onExitComplete:n?void 0:()=>{if(C.current.has(t))return;if(C.current.add(t),S.has(t))S.set(t,!0);else return;let e=!0;S.forEach(t=>{t||(e=!1)}),e&&(k?.(),D(x.current),u&&_?.(),a&&a())},anchorX:p,anchorY:m,children:e},t)})})};const m=`tooltip-module__triggerWrapper___mvvzS`,h=`tooltip-module__tooltip___mEmui`,g=`tooltip-module__arrow___Kjrs-`;var _={triggerWrapper:`tooltip-module__triggerWrapper___mvvzS`,tooltip:`tooltip-module__tooltip___mEmui`,arrow:`tooltip-module__arrow___Kjrs-`};const v=({children:r,message:i=void 0,position:a=`top`})=>{let[s,c]=(0,t.useState)(!1),l=(0,t.useRef)(null),u=(0,t.useRef)(null);return(0,t.useLayoutEffect)(()=>{if(!s)return;let e=l.current?.getBoundingClientRect(),t=u.current;if(e&&t){let n=t.offsetWidth,r=t.offsetHeight,{x:i,y:o}={top:{x:e.left+e.width/2-n/2,y:e.top-r-10},bottom:{x:e.left+e.width/2-n/2,y:e.bottom+10},left:{x:e.left-n-10,y:e.top+e.height/2-r/2},right:{x:e.right+10,y:e.top+e.height/2-r/2}}[a];u.current&&(u.current.style.setProperty(`--tooltip-x`,`${i+window.scrollX}px`),u.current.style.setProperty(`--tooltip-y`,`${o+window.scrollY}px`))}},[s,a]),i?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`div`,{ref:l,className:_.triggerWrapper,onMouseEnter:()=>{i&&c(!0)},onMouseLeave:()=>{c(!1)},children:r}),(0,n.createPortal)((0,o.jsx)(p,{children:s&&(0,o.jsxs)(e.n.div,{ref:u,"data-position":a,initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.5},transition:{duration:.2},className:_.tooltip,children:[i,(0,o.jsx)(`div`,{className:_.arrow})]})}),document.body)]}):(0,o.jsx)(o.Fragment,{children:r})},y=`button-module__button___JyfZW`,b=`button-module__buttonPrimary___5NTVu`,x=`button-module__buttonSecondary___0ZJB0`,S=`button-module__buttonIcon___-Ki--`;var C={button:`button-module__button___JyfZW`,buttonPrimary:`button-module__buttonPrimary___5NTVu`,buttonSecondary:`button-module__buttonSecondary___0ZJB0`,buttonIcon:`button-module__buttonIcon___-Ki--`};const w=({children:t,onClick:n,variant:r=`primary`,disabled:i=!1,disabledMessage:a,tooltipPosition:s=`top`,...c})=>(0,o.jsx)(v,{message:i?a:void 0,position:s,children:(0,o.jsx)(e.n.button,{className:`${C.button} ${C[{primary:`buttonPrimary`,secondary:`buttonSecondary`,icon:`buttonIcon`}[r]]}`,disabled:i,onClick:n,whileHover:i?void 0:{scale:1.05},whileTap:i?void 0:{scale:.95},...c,children:t})}),T=`styles-module__container___4N5ol`,E=`styles-module__label___MGMnw`,D=`styles-module__description___rbSQU`;var O={container:`styles-module__container___4N5ol`,label:`styles-module__label___MGMnw`,description:`styles-module__description___rbSQU`};const k=({label:t,description:n,children:r})=>(0,o.jsxs)(`div`,{className:O.container,children:[(0,o.jsx)(e.n.label,{className:O.label,children:t}),(0,o.jsx)(e.n.span,{whileHover:{scale:1.5,translateX:50},className:O.description,children:n}),r]}),ee=`styles-module__header___XLj-v`;var A={header:`styles-module__header___XLj-v`};const te=({children:e,variant:t=`h1`})=>(0,o.jsx)(t,{className:A.header,children:e}),ne=`svg-module__icon___-1aKL`;var j={icon:`svg-module__icon___-1aKL`};const M=({width:t,onClick:n})=>(0,o.jsx)(e.n.svg,{className:j.icon,viewBox:`0 0 24 24`,fill:`none`,width:t,initial:{scale:1},whileHover:{scale:1.1,rotate:90},whileTap:{scale:.9},transition:{type:`spring`,stiffness:200},onClick:n,children:(0,o.jsx)(`path`,{d:`M18 6L6 18M6 6L18 18`,stroke:`currentColor`,strokeWidth:`3`,strokeLinecap:`round`})}),re=`styles-module__inputContainer___FmEPG`,ie=`styles-module__input___-yNSk`,ae=`styles-module__clearButton___wbql6`,oe=`styles-module__suggestionsList___UbA7i`,se=`styles-module__suggestionItem___HjYcr`;var N={inputContainer:`styles-module__inputContainer___FmEPG`,input:`styles-module__input___-yNSk`,clearButton:`styles-module__clearButton___wbql6`,suggestionsList:`styles-module__suggestionsList___UbA7i`,suggestionItem:`styles-module__suggestionItem___HjYcr`};const P=({value:n,onChange:r,autoComplete:i=`off`,disabled:a=!1,suggestions:s=[],placeholder:c,...l})=>{let[u,d]=(0,t.useState)(!1),f=(0,t.useMemo)(()=>i===`off`||s.length===0||!n?[]:s.filter(e=>e.toLowerCase().includes(n.toLowerCase())),[i,s,n]);return(0,o.jsxs)(`div`,{className:N.inputContainer,children:[(0,o.jsx)(e.n.input,{id:`input`,className:N.input,whileFocus:{scale:1.02},value:n,disabled:a,onChange:({target:e})=>r(e.value),placeholder:c,onFocus:()=>d(!0),onBlur:()=>setTimeout(()=>d(!1),150),...l}),(0,o.jsx)(`div`,{className:N.clearButton,children:n&&(0,o.jsx)(M,{width:`20`,onClick:()=>r(``)})}),(0,o.jsx)(p,{children:u&&f.length>0&&(0,o.jsx)(e.n.ul,{className:N.suggestionsList,initial:{opacity:0,y:-10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-10,scale:.95},transition:{duration:.2},children:f.map(e=>(0,o.jsx)(`li`,{className:N.suggestionItem,onClick:()=>{r(e),d(!1)},children:e},e))})})]})},ce=`modal-module__overlay___z2GxJ`,le=`modal-module__modal___RJmct`,ue=`modal-module__header___KlpKY`,de=`modal-module__close___ELArH`,fe=`modal-module__content___OMS8T`,pe=`modal-module__footer___rF7ly`;var F={overlay:`modal-module__overlay___z2GxJ`,modal:`modal-module__modal___RJmct`,header:`modal-module__header___KlpKY`,close:`modal-module__close___ELArH`,content:`modal-module__content___OMS8T`,footer:`modal-module__footer___rF7ly`};const I=({isVisible:t,onClose:n,size:r=`m`,header:i,footer:a,children:s})=>(0,o.jsx)(p,{children:t&&(0,o.jsx)(e.n.div,{id:`overlay`,className:F.overlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:n,children:(0,o.jsxs)(e.n.div,{id:`modal`,className:F.modal,"data-size":r,initial:{opacity:0,scale:0},animate:{opacity:1,scale:1},transition:{duration:.3},exit:{opacity:0,scale:0},children:[(0,o.jsxs)(e.n.div,{id:`header`,className:F.header,onClick:e=>e.stopPropagation(),children:[i,(0,o.jsx)(`div`,{className:F.close,children:(0,o.jsx)(M,{width:`30`,onClick:n})})]}),(0,o.jsx)(e.n.div,{id:`content`,className:F.content,onClick:e=>e.stopPropagation(),children:s}),a&&(0,o.jsx)(e.n.div,{id:`footer`,className:F.footer,onClick:e=>e.stopPropagation(),children:a})]})})}),me=`select-module__container___U4BrV`,he=`select-module__hiddenSelect___qRfKA`,ge=`select-module__control___qogxN`,_e=`select-module__disabled___kYpJI`,ve=`select-module__value___sRnlS`,ye=`select-module__placeholder___qhzG5`,be=`select-module__arrow___LWj9s`,xe=`select-module__menu___MHmhv`,Se=`select-module__searchWrapper___gI2ic`,Ce=`select-module__list___XICSu`,we=`select-module__item___XHREC`,Te=`select-module__selected___iSbaR`,Ee=`select-module__checkbox___dD2H5`,De=`select-module__empty___i6OgM`;var L={container:`select-module__container___U4BrV`,hiddenSelect:`select-module__hiddenSelect___qRfKA`,control:`select-module__control___qogxN`,disabled:`select-module__disabled___kYpJI`,value:`select-module__value___sRnlS`,placeholder:`select-module__placeholder___qhzG5`,arrow:`select-module__arrow___LWj9s`,menu:`select-module__menu___MHmhv`,searchWrapper:`select-module__searchWrapper___gI2ic`,list:`select-module__list___XICSu`,item:`select-module__item___XHREC`,selected:`select-module__selected___iSbaR`,checkbox:`select-module__checkbox___dD2H5`,empty:`select-module__empty___i6OgM`};const R=({selectedOption:n,selectType:r=`single`,autoFilter:i=!1,options:a,onChange:s,placeholder:c=`Select...`,disabled:l=!1,className:u=``,name:d,id:f,required:m,...h})=>{let[g,_]=(0,t.useState)(!1),[v,y]=(0,t.useState)(``),b=e=>{if(!l){if(r===`multi`){let t=Array.isArray(n)?n:[];s(t.find(t=>t.value===e.value)?t.filter(t=>t.value!==e.value):[...t,e])}else s(e),_(!1);y(``)}},x=()=>{l||_(!g)},S=(0,t.useMemo)(()=>a.filter(e=>e.label.toLowerCase().includes(v.toLowerCase())),[a,v]),C=(0,t.useMemo)(()=>r===`multi`&&Array.isArray(n)?n.length>0?n.map(e=>e.label).join(`, `):c:n?.label||c,[n,r,c]),w=e=>r===`multi`&&Array.isArray(n)?n.some(t=>t.value===e.value):n?.value===e.value;return(0,o.jsxs)(`div`,{className:`${L.container} ${u}`,children:[(0,o.jsx)(`select`,{name:d,id:f,required:m,disabled:l,value:r===`single`&&n?n.value:void 0,className:L.hiddenSelect,tabIndex:-1,"aria-hidden":`true`,...h,children:a.map(e=>(0,o.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,o.jsxs)(e.n.div,{className:`${L.control} ${l?L.disabled:``}`,onClick:x,whileHover:l?{}:{borderColor:`var(--color-primary)`},transition:{duration:.2},role:`button`,"aria-haspopup":`listbox`,"aria-expanded":g,tabIndex:l?-1:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),x())},children:[(0,o.jsx)(`span`,{className:`${L.value} ${n?``:L.placeholder}`,children:C}),(0,o.jsx)(e.n.span,{className:L.arrow,animate:{rotate:g?180:0},transition:{duration:.2},children:`▼`})]}),(0,o.jsx)(p,{children:g&&(0,o.jsxs)(e.n.div,{className:L.menu,initial:{opacity:0,y:-4,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.95},transition:{duration:.15},role:`listbox`,children:[i&&(0,o.jsx)(`div`,{className:L.searchWrapper,children:(0,o.jsx)(P,{value:v,onChange:y,placeholder:`Search...`,autoFocus:!0})}),(0,o.jsx)(`div`,{className:L.list,children:S.length>0?S.map(t=>(0,o.jsxs)(e.n.div,{className:`${L.item} ${w(t)?L.selected:``}`,onClick:()=>b(t),whileHover:{backgroundColor:`var(--color-primary)`,color:`white`},transition:{duration:.15},role:`option`,"aria-selected":w(t),children:[r===`multi`&&(0,o.jsx)(`span`,{className:L.checkbox,children:w(t)?`✓`:`○`}),t.label]},t.value)):(0,o.jsx)(`div`,{className:L.empty,children:`No options found`})})]})})]})},Oe=`toggle-module__wrapper___xb91q`,ke=`toggle-module__label___8-AlI`,Ae=`toggle-module__enabled___3jPo5`,je=`toggle-module__handle___fiWwj`;var z={wrapper:`toggle-module__wrapper___xb91q`,label:`toggle-module__label___8-AlI`,switch:`toggle-module__switch___9e0np`,enabled:`toggle-module__enabled___3jPo5`,handle:`toggle-module__handle___fiWwj`};const B=({label:n,state:r,onChange:i,disabled:a=!1})=>{let s=(0,t.useRef)(null);return(0,t.useLayoutEffect)(()=>{s.current&&(r?s.current.style.setProperty(`--toggle-direction`,`flex-end`):s.current.style.setProperty(`--toggle-direction`,`flex-start`))},[r]),(0,o.jsxs)(`div`,{className:z.wrapper,children:[(0,o.jsx)(`span`,{className:z.label,children:n}),(0,o.jsx)(e.n.button,{ref:s,className:`${z.switch} ${r?z.enabled:``}`,onClick:()=>i(!r),disabled:a,...!a&&{whileHover:{scale:1.1}},children:(0,o.jsx)(e.n.div,{layout:!0,className:z.handle,initial:{opacity:0},animate:{opacity:1},transition:{type:`spring`,stiffness:300,damping:15}})})]})},V=()=>{let[e,n]=(0,t.useState)(),[r,i]=(0,t.useState)(!1);return(0,t.useLayoutEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`).matches,t=document.documentElement.classList.contains(`dark`);n(e&&t),e&&t?(document.documentElement.classList.remove(`light`),document.documentElement.classList.add(`dark`)):(document.documentElement.classList.remove(`dark`),document.documentElement.classList.add(`light`))},[]),{isDark:e,isTransitioning:r,toggleTheme:(0,t.useCallback)(e=>{if(r)return;let t=e.clientX,a=e.clientY;document.documentElement.style.setProperty(`--x`,`${t}px`),document.documentElement.style.setProperty(`--y`,`${a}px`);let o=document.documentElement.classList.contains(`dark`);if(n(!o),!document.startViewTransition){o?(document.documentElement.classList.remove(`dark`),document.documentElement.classList.add(`light`)):(document.documentElement.classList.remove(`light`),document.documentElement.classList.add(`dark`));return}i(!0),document.startViewTransition(()=>{o?(document.documentElement.classList.remove(`dark`),document.documentElement.classList.add(`light`)):(document.documentElement.classList.remove(`light`),document.documentElement.classList.add(`dark`))}).finished.finally(()=>{i(!1)})},[r])}};var H={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},U=t.default.createContext&&t.default.createContext(H),W=[`attr`,`size`,`title`];function G(e,t){if(e==null)return{};var n=Me(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Me(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},K.apply(this,arguments)}function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?q(Object(n),!0).forEach(function(t){Ne(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ne(e,t,n){return t=Pe(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pe(e){var t=Fe(e,`string`);return typeof t==`symbol`?t:t+``}function Fe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Y(e){return e&&e.map((e,n)=>t.default.createElement(e.tag,J({key:n},e.attr),Y(e.child)))}function X(e){return n=>t.default.createElement(Ie,K({attr:J({},e.attr)},n),Y(e.child))}function Ie(e){var n=n=>{var{attr:r,size:i,title:a}=e,o=G(e,W),s=i||n.size||`1em`,c;return n.className&&(c=n.className),e.className&&(c=(c?c+` `:``)+e.className),t.default.createElement(`svg`,K({stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`},n.attr,r,o,{className:c,style:J(J({color:e.color||n.color},n.style),e.style),height:s,width:s,xmlns:`http://www.w3.org/2000/svg`}),a&&t.default.createElement(`title`,null,a),e.children)};return U===void 0?n(H):t.default.createElement(U.Consumer,null,e=>n(e))}function Le(e){return X({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z`},child:[]}]})(e)}function Re(e){return X({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z`},child:[]}]})(e)}const ze=()=>{let{isDark:e,isTransitioning:t,toggleTheme:n}=V();return(0,o.jsx)(w,{variant:`icon`,onClick:n,disabled:t,"aria-label":e?`Switch to light mode`:`Switch to dark mode`,children:e?(0,o.jsx)(Re,{size:`20`}):(0,o.jsx)(Le,{size:`20`})})},Be=`topnav-module__topnavContainer___TXXB4`,Ve=`topnav-module__topRow___s-Ohm`,He=`topnav-module__header___r3Y52`,Ue=`topnav-module__collapsibleContent___oulCx`,We=`topnav-module__searchWrapper___Rdox0`,Ge=`topnav-module__themeWrapper___gx0Yd`;var Z={topnavContainer:`topnav-module__topnavContainer___TXXB4`,topRow:`topnav-module__topRow___s-Ohm`,header:`topnav-module__header___r3Y52`,collapsibleContent:`topnav-module__collapsibleContent___oulCx`,searchWrapper:`topnav-module__searchWrapper___Rdox0`,themeWrapper:`topnav-module__themeWrapper___gx0Yd`};const Ke=({width:t,onClick:n})=>(0,o.jsxs)(e.n.svg,{className:j.icon,viewBox:`0 0 100 80`,width:t,onClick:n,initial:{scale:1},whileHover:{scale:1.1},children:[(0,o.jsx)(`rect`,{fill:`currentColor`,width:`100`,height:`12`,rx:`8`}),(0,o.jsx)(`rect`,{fill:`currentColor`,y:`30`,width:`100`,height:`12`,rx:`8`}),(0,o.jsx)(`rect`,{fill:`currentColor`,y:`60`,width:`100`,height:`12`,rx:`8`})]}),qe=({header:n,logo:r,logoClick:i,search:a})=>{let[s,c]=(0,t.useState)(!1),[l,u]=(0,t.useState)(!0);return(0,t.useLayoutEffect)(()=>{let e=()=>{window.innerWidth<=768?(u(!1),c(!0)):c(!1)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,o.jsxs)(e.n.nav,{className:Z.topnavContainer,children:[(0,o.jsxs)(`div`,{className:Z.topRow,children:[(0,o.jsx)(`div`,{className:Z.header,children:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`div`,{onClick:i,children:r}),n]})}),s&&(0,o.jsx)(w,{variant:`icon`,onClick:()=>u(!l),children:l?(0,o.jsx)(M,{width:`20`}):(0,o.jsx)(Ke,{width:`20`})})]}),(0,o.jsx)(p,{children:(l||!s)&&(0,o.jsxs)(e.n.div,{className:Z.collapsibleContent,initial:s?{height:0,opacity:0}:!1,animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},children:[(0,o.jsx)(`div`,{className:Z.searchWrapper,children:a}),(0,o.jsx)(`div`,{className:Z.themeWrapper,children:(0,o.jsx)(ze,{})})]})})]})},Je=`styles-module__thumbnailWrapper___u23u7`,Ye=`styles-module__thumbnail___jCAOs`,Xe=`styles-module__hoverOverlay___t7-nK`,Ze=`styles-module__expandIcon___JjIG9`,Qe=`styles-module__skeleton___4jcLE`,$e=`styles-module__shimmer___l75mH`,et=`styles-module__errorState___SFu-H`,tt=`styles-module__errorIcon___zr-Sh`,nt=`styles-module__errorText___QIZao`,rt=`styles-module__retryButton___BZWVN`,it=`styles-module__lightboxOverlay___6NULt`,at=`styles-module__closeButton___Obq8-`,ot=`styles-module__lightboxContent___GmtCV`,st=`styles-module__lightboxMedia___FUqX2`;var Q={thumbnailWrapper:`styles-module__thumbnailWrapper___u23u7`,thumbnail:`styles-module__thumbnail___jCAOs`,hoverOverlay:`styles-module__hoverOverlay___t7-nK`,expandIcon:`styles-module__expandIcon___JjIG9`,skeleton:`styles-module__skeleton___4jcLE`,shimmer:`styles-module__shimmer___l75mH`,errorState:`styles-module__errorState___SFu-H`,errorIcon:`styles-module__errorIcon___zr-Sh`,errorText:`styles-module__errorText___QIZao`,retryButton:`styles-module__retryButton___BZWVN`,lightboxOverlay:`styles-module__lightboxOverlay___6NULt`,closeButton:`styles-module__closeButton___Obq8-`,lightboxContent:`styles-module__lightboxContent___GmtCV`,lightboxMedia:`styles-module__lightboxMedia___FUqX2`};const ct=({divRef:t})=>(0,o.jsx)(e.n.div,{ref:t,className:`${Q.thumbnail} ${Q.skeleton}`,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},"aria-busy":!0,"aria-label":`Loading image`}),$=({src:e,onError:n})=>{let[r,i]=(0,t.useState)(!0),[a,o]=(0,t.useState)(!1),[s,c]=(0,t.useState)(!1),[l,u]=(0,t.useState)(0),d=(0,t.useCallback)(()=>{u(e=>e+1)},[]);return(0,t.useEffect)(()=>{if(!e.length)return;i(!0),o(!1);let t=setTimeout(()=>{let t=Error(`Media loading timed out: ${e}`);o(!0),i(!1),n?.(t)},1e4),r=e.endsWith(`.mp4`)||e.endsWith(`.webm`)||e.endsWith(`.ogg`);c(r);let a=r?document.createElement(`video`):new Image;return a.src=e,a.onerror=()=>{let t=Error(`Failed to load media: ${e}`);o(!0),n?.(t)},r?(a.onloadeddata=()=>i(!1),clearTimeout(t)):(a.onload=()=>i(!1),clearTimeout(t)),()=>{a.onload=null,a.onloadeddata=null,a.onerror=null,clearInterval(t)}},[e,l]),{isLoading:r,hasError:a,isVideo:s,reload:d}},lt=({src:n,alt:r,video:i={controls:!0,loop:!0,autoPlay:!0,muted:!0},thumbnailWidth:a=`300px`,onError:s})=>{let{isLoading:c,hasError:l,isVideo:u,reload:d}=$({src:n,onError:s}),[f,m]=(0,t.useState)(!1),h=(0,t.useRef)(null);return(0,t.useLayoutEffect)(()=>{h.current?.style.setProperty(`--thumbnail-size`,a)},[a]),(0,t.useLayoutEffect)(()=>{let e=e=>{e.key===`Escape`&&m(!1)};return f&&(document.addEventListener(`keydown`,e),document.body.style.overflow=`hidden`),()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=`unset`}},[f]),c?(0,o.jsx)(ct,{divRef:h}):l?(0,o.jsxs)(`div`,{ref:h,className:Q.errorState,role:`alert`,children:[(0,o.jsx)(`span`,{className:Q.errorIcon,children:`⚠️`}),(0,o.jsx)(`p`,{className:Q.errorText,children:`Failed to load media`}),(0,o.jsx)(`button`,{onClick:d,className:Q.retryButton,children:`Retry`})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e.n.div,{ref:h,className:Q.thumbnailWrapper,whileHover:{scale:1.02},whileTap:{scale:.98},children:[u?(0,o.jsx)(e.n.video,{className:Q.thumbnail,src:n,muted:!0,autoPlay:i.autoPlay,loop:i.loop,disablePictureInPicture:!0,initial:{opacity:0},animate:{opacity:1},onClick:()=>m(!0)}):(0,o.jsx)(e.n.img,{className:Q.thumbnail,loading:`lazy`,src:n,alt:r,initial:{opacity:0},animate:{opacity:1},onClick:()=>m(!0)}),(0,o.jsx)(e.n.div,{className:Q.hoverOverlay,initial:{opacity:0},whileHover:{opacity:1},children:(0,o.jsx)(`span`,{className:Q.expandIcon,children:`🔍`})})]}),(0,o.jsx)(p,{children:f&&(0,o.jsxs)(e.n.div,{className:Q.lightboxOverlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},onClick:()=>m(!1),children:[(0,o.jsx)(e.n.button,{className:Q.closeButton,onClick:()=>m(!1),whileHover:{scale:1.1,rotate:90},transition:{duration:.2},"aria-label":`Close lightbox`,children:`✕`}),(0,o.jsx)(e.n.div,{className:Q.lightboxContent,onClick:e=>e.stopPropagation(),initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.8,opacity:0},transition:{duration:.3,ease:[.4,0,.2,1]},children:u?(0,o.jsx)(`video`,{className:Q.lightboxMedia,src:n,controls:i.controls,loop:i.loop,autoPlay:i.autoPlay,muted:i.muted}):(0,o.jsx)(`img`,{className:Q.lightboxMedia,src:n,alt:r})})]})})]})};exports.Box=e.t,exports.Button=w,exports.FormField=k,exports.Header=te,exports.Input=P,exports.Modal=I,exports.Select=R,exports.Toggle=B,exports.Tooltip=v,exports.TopNav=qe,exports.Viewer=lt,exports.useMediaLoader=$,exports.useTheme=V;
@@ -0,0 +1,2 @@
1
+ .box-module__box___FP5Js{flex-direction:column;width:100%;display:flex}.box-module__box___FP5Js[data-position=center]{align-items:center}.box-module__box___FP5Js[data-position=left]{align-items:flex-start}.box-module__box___FP5Js[data-position=right]{align-items:flex-end}.tooltip-module__triggerWrapper___mvvzS{width:fit-content;display:inline-block}.tooltip-module__tooltip___mEmui{left:var(--tooltip-x,0);top:var(--tooltip-y,0);z-index:1000;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-text);box-shadow:var(--shadow-md), 0 0 2rem var(--glow-primary);pointer-events:none;white-space:nowrap;will-change:transform;border-radius:4px;flex-direction:column;align-items:center;padding:8px 12px;font-size:14px;display:flex;position:fixed}.tooltip-module__arrow___Kjrs-{border-style:solid;border-width:6px;width:0;height:0;position:absolute}.tooltip-module__tooltip___mEmui[data-position=top] .tooltip-module__arrow___Kjrs-{border-color:var(--color-primary) transparent transparent transparent;top:100%}.tooltip-module__tooltip___mEmui[data-position=bottom] .tooltip-module__arrow___Kjrs-{border-color:transparent transparent var(--color-primary) transparent;bottom:100%}.tooltip-module__tooltip___mEmui[data-position=left] .tooltip-module__arrow___Kjrs-{border-color:transparent transparent transparent var(--color-primary);left:100%}.tooltip-module__tooltip___mEmui[data-position=right] .tooltip-module__arrow___Kjrs-{border-color:transparent var(--color-primary) transparent transparent;right:100%}.button-module__button___JyfZW{cursor:pointer;border:none;border-radius:.75rem;margin:1rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.button-module__button___JyfZW:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.button-module__buttonPrimary___5NTVu{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md), 0 0 2rem var(--glow-primary)}.button-module__buttonPrimary___5NTVu:hover:not(:disabled){box-shadow:var(--shadow-lg), 0 0 2.5rem var(--glow-primary);transform:translateY(-2px)}.button-module__buttonSecondary___0ZJB0{background:linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-dark) 100%);color:#fff;box-shadow:var(--shadow-sm), 0 0 1rem var(--glow-secondary)}.button-module__buttonSecondary___0ZJB0:hover:not(:disabled){box-shadow:var(--shadow-md), 0 0 1.5rem var(--glow-secondary);transform:translateY(-2px)}.button-module__buttonIcon___-Ki--{color:var(--color-primary);object-fit:cover;background:0 0;border-radius:.5rem;padding:.75rem}.button-module__buttonIcon___-Ki--:hover:not(:disabled){color:var(--color-accent)}.styles-module__container___4N5ol{flex-flow:column wrap;display:flex}.styles-module__label___MGMnw{color:var(--color-text);margin-bottom:.25rem;font-size:small}.styles-module__description___rbSQU{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:x-small}.styles-module__header___XLj-v{color:var(--color-text)}.svg-module__icon___-1aKL{cursor:pointer;height:auto;color:var(--color-text);background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.svg-module__icon___-1aKL:hover{color:var(--color-primary)}.styles-module__inputContainer___FmEPG{align-items:center;width:100%;display:flex;position:relative}.styles-module__input___-yNSk{background-color:var(--color-surface);width:100%;color:var(--color-text);border:2px solid var(--color-text-secondary);opacity:.9;box-shadow:var(--shadow-sm);border-radius:.5rem;outline:none;padding:.8rem 2.5rem .8rem 1.2rem;font-size:.75rem;transition:all .3s}.styles-module__input___-yNSk::placeholder{color:var(--color-text-secondary);opacity:.6;filter:brightness(.8)}.styles-module__input___-yNSk:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}.styles-module__input___-yNSk:focus{border-color:var(--color-primary);box-shadow:var(--shadow-lg), 0 0 15px var(--glow-primary)}.styles-module__input___-yNSk:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.styles-module__clearButton___wbql6{position:absolute;right:.8rem}.styles-module__clearButton___wbql6:hover{color:var(--color-primary);transform:scale(1.1)}.styles-module__suggestionsList___UbA7i{background-color:var(--color-surface);border:1px solid var(--color-border);z-index:1000;box-shadow:var(--shadow-lg);border-radius:.5rem;max-height:200px;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow-y:auto}.styles-module__suggestionItem___HjYcr{color:var(--color-text);cursor:pointer;border-radius:.3rem;padding:.6rem 1rem;font-size:.75rem;transition:all .2s}.styles-module__suggestionItem___HjYcr:hover{background-color:var(--color-primary);color:#fff;box-shadow:0 0 10px var(--glow-primary)}.styles-module__suggestionsList___UbA7i::-webkit-scrollbar{width:4px}.styles-module__suggestionsList___UbA7i::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:10px}.modal-module__overlay___z2GxJ{z-index:9999;background-color:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-module__modal___RJmct{background-color:var(--color-surface);width:100%;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:.75rem;overflow:hidden}.modal-module__modal___RJmct[data-size=s]{max-width:400px}.modal-module__modal___RJmct[data-size=m]{max-width:600px}.modal-module__modal___RJmct[data-size=l]{max-width:800px}.modal-module__modal___RJmct[data-size=xl]{max-width:1140px}.modal-module__header___KlpKY{border-bottom:1px solid var(--color-border);align-items:center;padding:1rem 1.5rem;display:flex}.modal-module__close___ELArH{margin-left:auto}.modal-module__content___OMS8T{max-height:calc(90vh - 140px);padding:1.5rem;overflow-y:auto}.modal-module__footer___rF7ly{border-top:1px solid var(--color-border);gap:.75rem;display:flex}.select-module__container___U4BrV{width:100%;min-width:200px;position:relative}.select-module__hiddenSelect___qRfKA{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.select-module__control___qogxN{background:var(--color-surface);border:2px solid var(--color-border);cursor:pointer;color:var(--color-text);border-radius:.5rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:all .2s;display:flex}.select-module__control___qogxN:hover{border-color:var(--color-primary)}.select-module__control___qogxN:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.select-module__disabled___kYpJI{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.select-module__disabled___kYpJI:hover{border-color:var(--color-border)}.select-module__value___sRnlS{white-space:nowrap;text-overflow:ellipsis;flex:1;margin-right:.5rem;overflow:hidden}.select-module__placeholder___qhzG5{color:var(--color-text-secondary)}.select-module__arrow___LWj9s{color:var(--color-text-secondary);flex-shrink:0;font-size:.75rem}.select-module__menu___MHmhv{background:var(--color-surface);border:1px solid var(--color-border);z-index:1000;max-height:300px;box-shadow:var(--shadow-lg);border-radius:.5rem;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow:hidden}.select-module__searchWrapper___gI2ic{border-bottom:1px solid var(--color-border);padding:.5rem}.select-module__list___XICSu{max-height:250px;padding:.25rem;overflow-y:auto}.select-module__list___XICSu::-webkit-scrollbar{width:8px}.select-module__list___XICSu::-webkit-scrollbar-track{background:0 0}.select-module__list___XICSu::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:4px}.select-module__list___XICSu::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.select-module__item___XHREC{cursor:pointer;color:var(--color-text);border-radius:.375rem;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:all .15s;display:flex}.select-module__item___XHREC:hover{background:var(--color-primary);color:#fff}.select-module__selected___iSbaR{background:rgba(var(--color-primary-rgb), .1);font-weight:600}.select-module__checkbox___dD2H5{justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:1.25rem;display:flex}.select-module__empty___i6OgM{text-align:center;color:var(--color-text-secondary);padding:1rem;font-size:.875rem}@media (max-width:768px){.select-module__menu___MHmhv{max-height:200px}.select-module__list___XICSu{max-height:150px}}.toggle-module__wrapper___xb91q{justify-content:space-between;align-items:center;gap:.5rem;width:auto;padding:.25rem 0;display:flex}.toggle-module__label___8-AlI{color:var(--color-text);font-size:.875rem;font-weight:500}.toggle-module__switch___9e0np{background-color:var(--color-disabled);cursor:pointer;border:1px solid var(--color-border);align-items:center;justify-content:var(--toggle-direction);border-radius:100px;outline:none;width:3rem;height:1.5rem;padding:3px;transition:background-color .3s,box-shadow .3s;display:flex;position:relative}@media (max-width:768px){.toggle-module__switch___9e0np{width:4rem}}.toggle-module__switch___9e0np.toggle-module__enabled___3jPo5{background-color:var(--color-primary);box-shadow:0 0 10px var(--glow-primary)}.toggle-module__handle___fiWwj{background-color:var(--color-surface);width:1rem;height:1rem;box-shadow:var(--shadow-sm);border-radius:50%}.toggle-module__switch___9e0np:hover:not(:disabled){border-color:var(--color-primary)}.toggle-module__switch___9e0np:disabled,.toggle-module__switch___9e0np:disabled .toggle-module__handle___fiWwj{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.topnav-module__topnavContainer___TXXB4{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;flex-direction:column;gap:1rem;width:100%;padding:1rem;transition:background-color .3s;display:flex;position:sticky;top:0}.topnav-module__topRow___s-Ohm{justify-content:space-between;align-items:center;display:flex}.topnav-module__header___r3Y52{align-items:center;gap:1rem;display:flex}.topnav-module__collapsibleContent___oulCx{flex-direction:column;gap:1rem;display:flex}.topnav-module__searchWrapper___Rdox0{width:100%}.topnav-module__themeWrapper___gx0Yd{order:3;justify-content:center;padding:.5rem 0;display:flex}@media (min-width:768px){.topnav-module__topnavContainer___TXXB4{flex-direction:row;align-items:center;gap:2rem;height:72px;padding:0 2rem;display:flex}.topnav-module__topRow___s-Ohm{flex-shrink:0;min-width:fit-content}.topnav-module__header___r3Y52{white-space:nowrap}.topnav-module__collapsibleContent___oulCx{flex:1;align-items:center;gap:0;opacity:1!important;flex-direction:row!important;height:auto!important;display:flex!important}.topnav-module__searchWrapper___Rdox0{flex:1;justify-content:center;max-width:450px;margin:0 auto;display:flex;position:static}.topnav-module__themeWrapper___gx0Yd{order:unset;margin-left:auto;padding:0}}.styles-module__thumbnailWrapper___u23u7{width:var(--thumbnail-size,300px);max-width:100%;height:auto;display:inline-block;position:relative}.styles-module__thumbnail___jCAOs{object-fit:cover;width:100%;height:auto;box-shadow:var(--shadow-sm);cursor:zoom-in;border-radius:.5rem;transition:all .3s;display:block}.styles-module__hoverOverlay___t7-nK{pointer-events:none;background:#00000080;border-radius:.5rem;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.styles-module__expandIcon___JjIG9{filter:drop-shadow(0 2px 4px #0000004d);font-size:3rem}.styles-module__skeleton___4jcLE{cursor:default;background-color:#e0e0e0;height:250px;position:relative;overflow:hidden}.styles-module__skeleton___4jcLE:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff9 50%,#0000 100%);width:100%;height:100%;animation:1.5s infinite styles-module__shimmer___l75mH;position:absolute;top:0;left:0}@keyframes styles-module__shimmer___l75mH{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-color-scheme:dark){.styles-module__skeleton___4jcLE{background-color:#2a2a2a}.styles-module__skeleton___4jcLE:after{background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%)}}.styles-module__errorState___SFu-H{width:var(--thumbnail-size);background-color:var(--color-surface);border:2px dashed var(--color-text-secondary);border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:250px;display:flex}.styles-module__errorIcon___zr-Sh{font-size:2rem}.styles-module__errorText___QIZao{color:var(--color-text-secondary);margin:0;font-size:.875rem}.styles-module__retryButton___BZWVN{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.styles-module__retryButton___BZWVN:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.styles-module__lightboxOverlay___6NULt{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background-color:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.styles-module__closeButton___Obq8-{cursor:pointer;color:#fff;z-index:10000;background-color:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:background-color .2s;display:flex;position:absolute;top:1rem;right:1rem}.styles-module__closeButton___Obq8-:hover{background-color:#fff3}.styles-module__lightboxContent___GmtCV{flex-direction:column;align-items:center;gap:1rem;max-width:90vw;max-height:90vh;display:flex}.styles-module__lightboxMedia___FUqX2{width:auto;max-width:100%;height:auto;max-height:80vh;box-shadow:var(--shadow-lg);border-radius:8px}@media (max-width:768px){.styles-module__lightboxOverlay___6NULt{padding:1rem}.styles-module__closeButton___Obq8-{width:40px;height:40px;font-size:20px;top:.5rem;right:.5rem}.styles-module__lightboxMedia___FUqX2{max-height:70vh}}
2
+ /*$vite$:1*/
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@snowbomb1/nova-ui",
3
+ "version": "1.0.8",
4
+ "type": "module",
5
+ "private": false,
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "main": "./dist/index.js",
10
+ "module": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ },
17
+ "./styles": "./dist/nova-ui.css"
18
+ },
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "scripts": {
23
+ "build": "tsc -b && vite build",
24
+ "test": "vitest run --passWithNoTests",
25
+ "lint": "eslint"
26
+ },
27
+ "peerDependencies": {
28
+ "motion": "^12.33.0",
29
+ "react": "^19.2.0",
30
+ "react-dom": "^19.2.0"
31
+ },
32
+ "dependencies": {
33
+ "@heroicons/react": "^2.2.0"
34
+ },
35
+ "devDependencies": {
36
+ "@types/react": "^19.2.5",
37
+ "@types/react-dom": "^19.2.3",
38
+ "@vitejs/plugin-react": "^5.1.1",
39
+ "@vitest/browser-playwright": "^4.0.18",
40
+ "babel-plugin-react-compiler": "^1.0.0",
41
+ "globals": "^17.3.0",
42
+ "motion": "^12.33.0",
43
+ "playwright": "^1.58.2",
44
+ "react": "^19.2.0",
45
+ "react-dom": "^19.2.0",
46
+ "typescript": "~5.9.3",
47
+ "vite": "^6.3.5",
48
+ "vite-plugin-dts": "^4.0.0",
49
+ "vitest": "^4.0.18"
50
+ }
51
+ }