UNPKG

iteration-deck

Version:

AI-first prototyping web components for comparing interactive UI variations. Perfect for designers working with AI coding agents to create multiple design iterations in prototypes.

210 lines (193 loc) 30.6 kB
"use strict";Object.create,Object.defineProperty,Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.getPrototypeOf,Object.prototype.hasOwnProperty;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),r=require("react-dom");let n={activeDecks:{},deckMetadata:{},selectedDeckId:void 0};const a=new Set;function i(){const e={...n,activeDecks:{...n.activeDecks},deckMetadata:{...n.deckMetadata}};a.forEach(t=>t(e))}const s={setActiveSlide:(e,t)=>{n.activeDecks[e]=t,n.deckMetadata[e]?n.deckMetadata[e].activeSlideId=t:n.deckMetadata[e]={slideIds:[t],slides:[{id:t,label:t}],activeSlideId:t,isInteractive:!0},i()},registerDeck:(e,t,r,a=!0,s)=>{const o=n.activeDecks[e],c=t.includes(o)?o:t[0],l=s||t.map(e=>({id:e,label:e}));n.activeDecks[e]=c,n.deckMetadata[e]={slideIds:[...t],slides:l,activeSlideId:c,label:r,isInteractive:a},i()},removeDeck:e=>{if(delete n.activeDecks[e],delete n.deckMetadata[e],n.selectedDeckId===e){const e=Object.keys(n.activeDecks);n.selectedDeckId=e.length>0?e[0]:void 0}i()},setSelectedDeck:e=>{n.selectedDeckId=e,i()},getActiveSlide:e=>n.activeDecks[e],getDeckSlides:e=>n.deckMetadata[e]?.slideIds||[],getDeckMetadata:e=>n.deckMetadata[e],getRegisteredDecks:()=>Object.keys(n.activeDecks),getInteractiveDecks:()=>Object.keys(n.deckMetadata).filter(e=>!0===n.deckMetadata[e]?.isInteractive)};function o(){const[e,r]=t.useState(()=>n);t.useEffect(()=>{const e=e=>{r(e)};return a.add(e),r(n),()=>{a.delete(e)}},[]);return t.useMemo(()=>({...e,...s}),[e])}function c(e){const r=o();return{setActiveSlide:t.useCallback(t=>{r.setActiveSlide(e,t)},[r,e]),navigateNext:t.useCallback(()=>{const t=r.getDeckMetadata(e);if(!t)return!1;const n=t.slideIds.indexOf(t.activeSlideId);if(-1===n)return!1;const a=(n+1)%t.slideIds.length,i=t.slideIds[a];return r.setActiveSlide(e,i),!0},[r,e]),navigatePrev:t.useCallback(()=>{const t=r.getDeckMetadata(e);if(!t)return!1;const n=t.slideIds.indexOf(t.activeSlideId);if(-1===n)return!1;const a=n<=0?t.slideIds.length-1:n-1,i=t.slideIds[a];return r.setActiveSlide(e,i),!0},[r,e]),activeSlide:r.activeDecks[e],slideCount:r.getDeckMetadata(e)?.slideIds.length||0}}var l=function(){function e(e){var t=this;this._insertTag=function(e){var r;r=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,r),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{r.insertRule(e,r.cssRules.length)}catch(n){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach(function(e){var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},e}(),d="-ms-",u="-moz-",f="-webkit-",p="comm",h="rule",v="decl",b="@keyframes",g=Math.abs,m=String.fromCharCode,x=Object.assign;function k(e){return e.trim()}function y(e,t,r){return e.replace(t,r)}function w(e,t){return e.indexOf(t)}function S(e,t){return 0|e.charCodeAt(t)}function C(e,t,r){return e.slice(t,r)}function I(e){return e.length}function D(e){return e.length}function A(e,t){return t.push(e),e}var E=1,j=1,N=0,$=0,O=0,M="";function P(e,t,r,n,a,i,s){return{value:e,root:t,parent:r,type:n,props:a,children:i,line:E,column:j,length:s,return:""}}function T(e,t){return x(P("",null,null,"",null,null,0),e,{length:-e.length},t)}function _(){return O=$>0?S(M,--$):0,j--,10===O&&(j=1,E--),O}function R(){return O=$<N?S(M,$++):0,j++,10===O&&(j=1,E++),O}function z(){return S(M,$)}function L(){return $}function B(e,t){return C(M,e,t)}function G(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function V(e){return E=j=1,N=I(M=e),$=0,[]}function W(e){return M="",e}function q(e){return k(B($-1,Y(91===e?e+2:40===e?e+1:e)))}function K(e){for(;(O=z())&&O<33;)R();return G(e)>2||G(O)>3?"":" "}function H(e,t){for(;--t&&R()&&!(O<48||O>102||O>57&&O<65||O>70&&O<97););return B(e,L()+(t<6&&32==z()&&32==R()))}function Y(e){for(;R();)switch(O){case e:return $;case 34:case 39:34!==e&&39!==e&&Y(O);break;case 40:41===e&&Y(e);break;case 92:R()}return $}function F(e,t){for(;R()&&e+O!==57&&(e+O!==84||47!==z()););return"/*"+B(t,$-1)+"*"+m(47===e?e:R())}function U(e){for(;!G(z());)R();return B(e,$)}function X(e){return W(Z("",null,null,null,[""],e=V(e),0,[0],e))}function Z(e,t,r,n,a,i,s,o,c){for(var l=0,d=0,u=s,f=0,p=0,h=0,v=1,b=1,g=1,x=0,k="",C=a,D=i,E=n,j=k;b;)switch(h=x,x=R()){case 40:if(108!=h&&58==S(j,u-1)){-1!=w(j+=y(q(x),"&","&\f"),"&\f")&&(g=-1);break}case 34:case 39:case 91:j+=q(x);break;case 9:case 10:case 13:case 32:j+=K(h);break;case 92:j+=H(L()-1,7);continue;case 47:switch(z()){case 42:case 47:A(Q(F(R(),L()),t,r),c);break;default:j+="/"}break;case 123*v:o[l++]=I(j)*g;case 125*v:case 59:case 0:switch(x){case 0:case 125:b=0;case 59+d:-1==g&&(j=y(j,/\f/g,"")),p>0&&I(j)-u&&A(p>32?ee(j+";",n,r,u-1):ee(y(j," ","")+";",n,r,u-2),c);break;case 59:j+=";";default:if(A(E=J(j,t,r,l,d,a,o,k,C=[],D=[],u),i),123===x)if(0===d)Z(j,t,E,E,C,i,u,o,D);else switch(99===f&&110===S(j,3)?100:f){case 100:case 108:case 109:case 115:Z(e,E,E,n&&A(J(e,E,E,0,0,a,o,k,a,C=[],u),D),a,D,u,o,n?C:D);break;default:Z(j,E,E,E,[""],D,0,o,D)}}l=d=p=0,v=g=1,k=j="",u=s;break;case 58:u=1+I(j),p=h;default:if(v<1)if(123==x)--v;else if(125==x&&0==v++&&125==_())continue;switch(j+=m(x),x*v){case 38:g=d>0?1:(j+="\f",-1);break;case 44:o[l++]=(I(j)-1)*g,g=1;break;case 64:45===z()&&(j+=q(R())),f=z(),d=u=I(k=j+=U(L())),x++;break;case 45:45===h&&2==I(j)&&(v=0)}}return i}function J(e,t,r,n,a,i,s,o,c,l,d){for(var u=a-1,f=0===a?i:[""],p=D(f),v=0,b=0,m=0;v<n;++v)for(var x=0,w=C(e,u+1,u=g(b=s[v])),S=e;x<p;++x)(S=k(b>0?f[x]+" "+w:y(w,/&\f/g,f[x])))&&(c[m++]=S);return P(e,t,r,0===a?h:o,c,l,d)}function Q(e,t,r){return P(e,t,r,p,m(O),C(e,2,-2),0)}function ee(e,t,r,n){return P(e,t,r,v,C(e,0,n),C(e,n+1,-1),n)}function te(e,t){for(var r="",n=D(e),a=0;a<n;a++)r+=t(e[a],a,e,t)||"";return r}function re(e,t,r,n){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case v:return e.return=e.return||e.value;case p:return"";case b:return e.return=e.value+"{"+te(e.children,n)+"}";case h:e.value=e.props.join(",")}return I(r=te(e.children,n))?e.return=e.value+"{"+r+"}":""}function ne(e){var t=Object.create(null);return function(r){return void 0===t[r]&&(t[r]=e(r)),t[r]}}var ae=function(e,t,r){for(var n=0,a=0;n=a,a=z(),38===n&&12===a&&(t[r]=1),!G(a);)R();return B(e,$)},ie=function(e,t){return W(function(e,t){var r=-1,n=44;do{switch(G(n)){case 0:38===n&&12===z()&&(t[r]=1),e[r]+=ae($-1,t,r);break;case 2:e[r]+=q(n);break;case 4:if(44===n){e[++r]=58===z()?"&\f":"",t[r]=e[r].length;break}default:e[r]+=m(n)}}while(n=R());return e}(V(e),t))},se=new WeakMap,oe=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,r=e.parent,n=e.column===r.column&&e.line===r.line;"rule"!==r.type;)if(!(r=r.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||se.get(r))&&!n){se.set(e,!0);for(var a=[],i=ie(t,a),s=r.props,o=0,c=0;o<i.length;o++)for(var l=0;l<s.length;l++,c++)e.props[c]=a[o]?i[o].replace(/&\f/g,s[l]):s[l]+" "+i[o]}}},ce=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function le(e,t){switch(function(e,t){return 45^S(e,0)?(((t<<2^S(e,0))<<2^S(e,1))<<2^S(e,2))<<2^S(e,3):0}(e,t)){case 5103:return f+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return f+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return f+e+u+e+d+e+e;case 6828:case 4268:return f+e+d+e+e;case 6165:return f+e+d+"flex-"+e+e;case 5187:return f+e+y(e,/(\w+).+(:[^]+)/,f+"box-$1$2"+d+"flex-$1$2")+e;case 5443:return f+e+d+"flex-item-"+y(e,/flex-|-self/,"")+e;case 4675:return f+e+d+"flex-line-pack"+y(e,/align-content|flex-|-self/,"")+e;case 5548:return f+e+d+y(e,"shrink","negative")+e;case 5292:return f+e+d+y(e,"basis","preferred-size")+e;case 6060:return f+"box-"+y(e,"-grow","")+f+e+d+y(e,"grow","positive")+e;case 4554:return f+y(e,/([^-])(transform)/g,"$1"+f+"$2")+e;case 6187:return y(y(y(e,/(zoom-|grab)/,f+"$1"),/(image-set)/,f+"$1"),e,"")+e;case 5495:case 3959:return y(e,/(image-set\([^]*)/,f+"$1$`$1");case 4968:return y(y(e,/(.+:)(flex-)?(.*)/,f+"box-pack:$3"+d+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+f+e+e;case 4095:case 3583:case 4068:case 2532:return y(e,/(.+)-inline(.+)/,f+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(I(e)-1-t>6)switch(S(e,t+1)){case 109:if(45!==S(e,t+4))break;case 102:return y(e,/(.+:)(.+)-([^]+)/,"$1"+f+"$2-$3$1"+u+(108==S(e,t+3)?"$3":"$2-$3"))+e;case 115:return~w(e,"stretch")?le(y(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==S(e,t+1))break;case 6444:switch(S(e,I(e)-3-(~w(e,"!important")&&10))){case 107:return y(e,":",":"+f)+e;case 101:return y(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+f+(45===S(e,14)?"inline-":"")+"box$3$1"+f+"$2$3$1"+d+"$2box$3")+e}break;case 5936:switch(S(e,t+11)){case 114:return f+e+d+y(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return f+e+d+y(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return f+e+d+y(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return f+e+d+e+e}return e}var de=[function(e,t,r,n){if(e.length>-1&&!e.return)switch(e.type){case v:e.return=le(e.value,e.length);break;case b:return te([T(e,{value:y(e.value,"@","@"+f)})],n);case h:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return te([T(e,{props:[y(t,/:(read-\w+)/,":-moz-$1")]})],n);case"::placeholder":return te([T(e,{props:[y(t,/:(plac\w+)/,":"+f+"input-$1")]}),T(e,{props:[y(t,/:(plac\w+)/,":-moz-$1")]}),T(e,{props:[y(t,/:(plac\w+)/,d+"input-$1")]})],n)}return""})}}],ue=function(e){var t=e.key;if("css"===t){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))})}var n,a,i=e.stylisPlugins||de,s={},o=[];n=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(e){for(var t=e.getAttribute("data-emotion").split(" "),r=1;r<t.length;r++)s[t[r]]=!0;o.push(e)});var c,d,u,f,p=[re,(f=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&f(e)})],h=(d=[oe,ce].concat(i,p),u=D(d),function(e,t,r,n){for(var a="",i=0;i<u;i++)a+=d[i](e,t,r,n)||"";return a});a=function(e,t,r,n){c=r,te(X(e?e+"{"+t.styles+"}":t.styles),h),n&&(v.inserted[t.name]=!0)};var v={key:t,sheet:new l({key:t,container:n,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:s,registered:{},insert:a};return v.sheet.hydrate(o),v};var fe={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},pe=/[A-Z]|^ms/g,he=/_EMO_([^_]+?)_([^]*?)_EMO_/g,ve=function(e){return 45===e.charCodeAt(1)},be=function(e){return null!=e&&"boolean"!=typeof e},ge=ne(function(e){return ve(e)?e:e.replace(pe,"-$&").toLowerCase()}),me=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(he,function(e,t,r){return ke={name:t,styles:r,next:ke},t})}return 1===fe[e]||ve(e)||"number"!=typeof t||0===t?t:t+"px"};function xe(e,t,r){if(null==r)return"";var n=r;if(void 0!==n.__emotion_styles)return n;switch(typeof r){case"boolean":return"";case"object":var a=r;if(1===a.anim)return ke={name:a.name,styles:a.styles,next:ke},a.name;var i=r;if(void 0!==i.styles){var s=i.next;if(void 0!==s)for(;void 0!==s;)ke={name:s.name,styles:s.styles,next:ke},s=s.next;return i.styles+";"}return function(e,t,r){var n="";if(Array.isArray(r))for(var a=0;a<r.length;a++)n+=xe(e,t,r[a])+";";else for(var i in r){var s=r[i];if("object"!=typeof s){var o=s;null!=t&&void 0!==t[o]?n+=i+"{"+t[o]+"}":be(o)&&(n+=ge(i)+":"+me(i,o)+";")}else if(!Array.isArray(s)||"string"!=typeof s[0]||null!=t&&void 0!==t[s[0]]){var c=xe(e,t,s);switch(i){case"animation":case"animationName":n+=ge(i)+":"+c+";";break;default:n+=i+"{"+c+"}"}}else for(var l=0;l<s.length;l++)be(s[l])&&(n+=ge(i)+":"+me(i,s[l])+";")}return n}(e,t,r)}var o=r;if(null==t)return o;var c=t[o];return void 0!==c?c:o}var ke,ye=/label:\s*([^\s;{]+)\s*(;|$)/g;function we(e,t,r){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var n=!0,a="";ke=void 0;var i=e[0];null==i||void 0===i.raw?(n=!1,a+=xe(r,t,i)):a+=i[0];for(var s=1;s<e.length;s++){if(a+=xe(r,t,e[s]),n)a+=i[s]}ye.lastIndex=0;for(var o,c="";null!==(o=ye.exec(a));)c+="-"+o[1];var l=function(e){for(var t,r=0,n=0,a=e.length;a>=4;++n,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))+(59797*(t>>>16)<<16),r=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&r)+(59797*(r>>>16)<<16);switch(a){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(n)))+(59797*(r>>>16)<<16)}return(((r=1540483477*(65535&(r^=r>>>13))+(59797*(r>>>16)<<16))^r>>>15)>>>0).toString(36)}(a)+c;return{name:l,styles:a,next:ke}}function Se(e,t,r){var n="";return r.split(" ").forEach(function(r){void 0!==e[r]?t.push(e[r]+";"):r&&(n+=r+" ")}),n}function Ce(e,t){if(void 0===e.inserted[t.name])return e.insert("",t,e.sheet,!0)}function Ie(e,t,r){var n=[],a=Se(e,n,r);return n.length<2?r:a+t(n)}var De=function e(t){for(var r="",n=0;n<t.length;n++){var a=t[n];if(null!=a){var i=void 0;switch(typeof a){case"boolean":break;case"object":if(Array.isArray(a))i=e(a);else for(var s in i="",a)a[s]&&s&&(i&&(i+=" "),i+=s);break;default:i=a}i&&(r&&(r+=" "),r+=i)}}return r},Ae=function(e){var t=ue(e);t.sheet.speedy=function(e){this.isSpeedy=e},t.compat=!0;var r=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var a=we(r,t.registered,void 0);return function(e,t){!function(e,t){var r=e.key+"-"+t.name;void 0===e.registered[r]&&(e.registered[r]=t.styles)}(e,t);var r=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var n=t;do{e.insert(t===n?"."+r:"",n,e.sheet,!0),n=n.next}while(void 0!==n)}}(t,a),t.key+"-"+a.name};return{css:r,cx:function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return Ie(t.registered,r,De(n))},injectGlobal:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var a=we(r,t.registered);Ce(t,a)},keyframes:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var a=we(r,t.registered),i="animation-"+a.name;return Ce(t,{name:a.name,styles:"@keyframes "+i+"{"+a.styles+"}"}),i},hydrate:function(e){e.forEach(function(e){t.inserted[e]=!0})},flush:function(){t.registered={},t.inserted={},t.sheet.flush()},sheet:t.sheet,cache:t,getRegisteredStyles:Se.bind(null,t.registered),merge:Ie.bind(null,t.registered,r)}}({key:"css"}).css;const Ee=Ae` display: flex; align-items: center; justify-content: center; width: 32px; height: 100%; background-color: white; border: none; color: #6b7280; font-size: 14px; cursor: pointer; user-select: none; transition: all 0.15s ease-out; &:hover:not(:disabled) { background-color: #f3f4f6; color: #374151; } &:active:not(:disabled) { background-color: #e5e7eb; transform: scale(0.95); } &:disabled { opacity: 0.4; cursor: not-allowed; } @media (prefers-color-scheme: dark) { background-color: #1f2937; color: #d1d5db; &:hover:not(:disabled) { background-color: #374151; color: #e5e7eb; } &:active:not(:disabled) { background-color: #4b5563; } &:disabled { background-color: #374151; color: #6b7280; } } `,je=Ae` width: 4px; height: 4px; border-radius: 50%; background-color: #9ca3af; transition: opacity 0.2s; `,Ne={toolbar:Ae` position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 9999; display: flex; align-items: center; min-width: 320px; gap: 8px; padding: 8px; border-radius: 40px; backdrop-filter: blur(12px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); font-weight: 500; font-size: 14px; line-height: 1; color: #374151; background-color: rgba(229, 231, 235, 0.8); border: 1px solid rgba(156, 163, 175, 0.3); @media (prefers-color-scheme: dark) { color: #e5e7eb; background-color: rgba(39, 39, 42, 0.8); border: 1px solid rgba(75, 85, 99, 0.3); } `,separator:Ae` width: 1px; height: 20px; background-color: rgba(156, 163, 175, 0.6); @media (prefers-color-scheme: dark) { background-color: rgba(107, 114, 128, 0.7); } `,navContainer:Ae` display: flex; align-items: center; gap: 0; `,selectorContainer:Ae` position: relative; display: flex; align-items: center; `,hiddenSelect:Ae` position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; `,selectorDisplay:Ae` display: flex; align-items: center; justify-content: space-between; height: 28px; min-width: 120px; gap: 12px; padding: 0 12px; background-color: white; border: 2px solid #d1d5db; border-radius: 24px; font-size: 14px; font-weight: normal; color: #374151; cursor: pointer; user-select: none; &:hover { background-color: #f9fafb; } @media (prefers-color-scheme: dark) { background-color: #1f2937; border: 2px solid #4b5563; color: #e5e7eb; &:hover { background-color: #374151; } } `,selectorLabel:Ae` flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; `,dropdownArrow:Ae` font-size: 8px; color: #6b7280; pointer-events: none; @media (prefers-color-scheme: dark) { color: #9ca3af; } `,navigationContainer:Ae` display: flex; align-items: center; border-radius: 24px; border: 2px solid #d1d5db; overflow: hidden; height: 28px; background-color: #e5e7eb; @media (prefers-color-scheme: dark) { border: 2px solid #4b5563; background-color: #4b5563; } `,previousButton:Ae` ${Ee}; border-top-left-radius: 24px; border-bottom-left-radius: 24px; `,nextButton:Ae` ${Ee}; border-top-right-radius: 24px; border-bottom-right-radius: 24px; `,slideInfo:Ae` flex: 1; display: flex; flex-direction: column; gap: 4px; padding: 0 8px; max-width: 320px; `,slideLabel:Ae` color: #374151; font-size: 14px; font-weight: 500; line-height: 16px; min-width: 20em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; @media (prefers-color-scheme: dark) { color: #e5e7eb; } `,slideIndicators:Ae` display: flex; align-items: center; justify-content: flex-start; gap: 4px; width: 100%; `,noSlides:Ae` font-size: 8px; color: #ef4444; @media (prefers-color-scheme: dark) { color: #f87171; } `,slideDotActive:Ae` ${je}; opacity: 0.9; `,slideDotInactive:Ae` ${je}; opacity: 0.5; `},$e=({decks:t,selectedDeckId:r,onSelect:n})=>{const a=t.find(e=>e.id===r),i=a?a.label||a.id:"Select Deck";return t.length<=1?null:e.jsxs("div",{className:Ne.selectorContainer,children:[e.jsx("select",{className:Ne.hiddenSelect,onChange:e=>n(e.target.value),value:r||"","aria-label":"Select iteration deck",children:t.map(t=>e.jsx("option",{value:t.id,children:t.label||t.id},t.id))}),e.jsxs("div",{className:Ne.selectorDisplay,children:[e.jsx("span",{className:Ne.selectorLabel,children:i}),e.jsx("span",{className:Ne.dropdownArrow,children:"▼"})]})]})},Oe=({onPrevious:t,onNext:r,canGoPrevious:n,canGoNext:a})=>e.jsxs("div",{className:Ne.navigationContainer,children:[e.jsx("button",{onClick:t,disabled:!n,className:Ne.previousButton,"aria-label":"Previous slide (Ctrl/Cmd+Alt+[)",title:"Previous slide (Ctrl/Cmd+Alt+[)",children:e.jsx("svg",{width:"18",height:"12",viewBox:"0 0 18 12",fill:"currentColor","aria-hidden":"true",children:e.jsx("path",{d:"M7 6l6-4v8l-6-4z"})})}),e.jsx("button",{onClick:r,disabled:!a,className:Ne.nextButton,"aria-label":"Next slide (Ctrl/Cmd+Alt+])",title:"Next slide (Ctrl/Cmd+Alt+])",children:e.jsx("svg",{width:"18",height:"12",viewBox:"0 0 18 12",fill:"currentColor","aria-hidden":"true",children:e.jsx("path",{d:"M11 6l-6 4V2l6 4z"})})})]}),Me=({currentSlide:t,totalSlides:r})=>e.jsxs("div",{className:Ne.slideInfo,children:[e.jsx("span",{className:Ne.slideLabel,children:t?.label||"No slide selected"}),e.jsx("div",{className:Ne.slideIndicators,children:0===r?e.jsxs("span",{className:Ne.noSlides,children:["No slides (totalSlides: ",r,")"]}):Array.from({length:r},(r,n)=>{const a=n===(t?.index||0);return e.jsx("div",{className:a?Ne.slideDotActive:Ne.slideDotInactive,title:`Dot ${n} - ${a?"active":"inactive"}`},n)})})]}),Pe=({className:n})=>{const a=o(),[i,s]=t.useState(!1),c=t.useRef(!1);t.useEffect(()=>{},[]);const l=a.getInteractiveDecks().map(e=>({id:e,label:a.deckMetadata[e]?.label})),d=a.selectedDeckId||l[0]?.id,u=a.deckMetadata[d],f=d?a.activeDecks[d]:void 0,p=u?.slideIds||[],h=f?p.indexOf(f):0,v=p.length,b=u?.slides?.find(e=>e.id===f)?.label;t.useEffect(()=>{s(l.length>0)},[l.length]),t.useEffect(()=>{const e=e=>{if(!d||!i)return;const t=e.metaKey||e.ctrlKey,r=e.altKey;t&&r&&("BracketLeft"===e.code?(e.preventDefault(),m()):"BracketRight"===e.code&&(e.preventDefault(),x()))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[d,i]);const g=t.useCallback(e=>{a.setSelectedDeck(e),S(e)},[a]),m=t.useCallback(()=>{if(!d)return;const e=a.deckMetadata[d]?.slideIds||[],t=e.indexOf(a.activeDecks[d]||e[0]),r=t<=0?e.length-1:t-1;a.setActiveSlide(d,e[r])},[d,a]),x=t.useCallback(()=>{if(!d)return;const e=a.deckMetadata[d]?.slideIds||[],t=e.indexOf(a.activeDecks[d]||e[0]),r=t>=e.length-1?0:t+1;a.setActiveSlide(d,e[r])},[d,a]),k=t.useCallback(()=>{if(c.current)return;const e="iteration-deck-glow-styles";if(document.getElementById(e))return void(c.current=!0);const t=document.createElement("style");t.id=e,t.textContent="\n /* Iteration Deck Glow Effect Global Styles */\n [data-iteration-glow] {\n border-radius: 8px;\n position: relative;\n animation: iteration-deck-glow 1s ease-in-out;\n }\n \n @keyframes iteration-deck-glow {\n 0% {\n box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.2), 0 0 25px rgba(236, 72, 153, 0.1);\n outline: 2px solid rgba(236, 72, 153, 0.2);\n }\n 50% {\n box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.4), 0 0 25px rgba(236, 72, 153, 0.3);\n outline: 2px solid rgba(236, 72, 153, 0.6);\n }\n 100% {\n box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.2), 0 0 25px rgba(236, 72, 153, 0.1);\n outline: 2px solid rgba(236, 72, 153, 0.1);\n }\n }\n \n /* Accessibility: respect reduced motion preference */\n @media (prefers-reduced-motion: reduce) {\n [data-iteration-glow] {\n animation: none;\n border: 2px solid rgba(236, 72, 153, 0.6);\n box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.3), 0 0 25px rgba(236, 72, 153, 0.2);\n }\n }\n ",document.head.appendChild(t),c.current=!0},[]),y=t.useCallback((e,t)=>{let r,n;const a=()=>{clearTimeout(r),r=window.setTimeout(()=>{const r=window.scrollY;Math.abs(r-e)<=5&&(window.removeEventListener("scroll",a),clearTimeout(n),t())},150)};n=window.setTimeout(()=>{window.removeEventListener("scroll",a),clearTimeout(r),t()},3e3),window.addEventListener("scroll",a);const i=window.scrollY;Math.abs(i-e)<=5&&(window.removeEventListener("scroll",a),clearTimeout(n),setTimeout(t,100))},[]),w=t.useCallback(e=>{k(),e.setAttribute("data-iteration-glow",""),setTimeout(()=>{e.removeAttribute("data-iteration-glow")},800)},[k]),S=t.useCallback(e=>{const t=document.querySelector(`[data-iteration-deck="${e}"]`);if(!t)return;const r=t.querySelector('[data-slide-active="true"]'),n=r?.firstElementChild,a=n||r||t,i=t.getBoundingClientRect(),s=window.scrollY,o=i.top+s-.15*window.innerHeight,c=Math.max(0,o);window.scrollTo({top:c,behavior:"smooth"}),y(c,()=>{w(a)})},[y,w]);if(!i)return null;const C=e.jsxs("div",{className:`${Ne.toolbar} ${n||""}`,children:[e.jsx($e,{decks:l,selectedDeckId:d,onSelect:g}),l.length>1&&e.jsx("div",{className:Ne.separator}),e.jsx("div",{className:Ne.navContainer,children:e.jsx(Oe,{onPrevious:m,onNext:x,canGoPrevious:v>1,canGoNext:v>1})}),e.jsx(Me,{currentSlide:{label:b,index:h},totalSlides:v})]});return r.createPortal(C,document.body)};const Te=t.forwardRef(function({id:r,label:n,prompt:a,description:i,onSlideChange:s,onDeckRegistered:l,children:d,className:u,style:f,...p},h){const[v,b]=t.useState(!1),g=o(),m=c(r),x=t.useRef(null);t.useEffect(()=>{b(!0)},[]);const k=t.useMemo(()=>{const e=t.Children.toArray(d),n=e.map(e=>e.props.label);return{count:e.length,labels:n,labelsString:n.join("|"),metadata:e.map((e,t)=>({id:`${r}-slide-${t}`,label:e.props.label}))}},[d,r]),y=t.useMemo(()=>t.Children.toArray(d).map((e,t)=>({id:`${r}-slide-${t}`,label:e.props.label,element:e,index:t})),[d,r]);t.useEffect(()=>{const e=k.metadata.map(e=>e.id);return e.length>0&&g.registerDeck(r,e,n,!0,k.metadata),()=>{g.removeDeck(r)}},[r,n,k.count,k.labelsString]),function(){const r=o();t.useEffect(()=>{if(Object.values(r.deckMetadata).filter(e=>!0===e?.isInteractive).length>0&&!document.getElementById("iteration-deck-toolbar-singleton")){const t=document.createElement("div");t.id="iteration-deck-toolbar-singleton",document.body.appendChild(t),import("react-dom/client").then(({createRoot:r})=>{r(t).render(e.jsx(Pe,{}))}).catch(e=>{})}},[r.deckMetadata])}(),t.useEffect(()=>{if(l&&k.count>0){const e={detail:{deckId:r,slideCount:k.count,slides:k.metadata}};l(e)}},[l,r,k.count,k.labelsString]);const w=g.activeDecks[r]||(y.length>0?y[0].id:void 0),S=y.findIndex(e=>e.id===w),C=S>=0?y[S]:y[0];return t.useEffect(()=>{if(s&&C){const e={detail:{deckId:r,currentSlideId:C.id,previousSlideId:w,slideIndex:C.index}};s(e)}},[s,C,r,w]),t.useImperativeHandle(h,()=>({navigateToSlide:e=>!!y.find(t=>t.id===e)&&(g.setActiveSlide(r,e),!0),navigateToNext:()=>m.navigateNext(),navigateToPrev:()=>m.navigatePrev(),getCurrentSlide:()=>C?{id:C.id,index:C.index,label:C.label}:null,getAllSlides:()=>y.map(e=>({id:e.id,index:e.index,label:e.label})),getDeckInfo:()=>({id:r,label:n,slideCount:y.length,activeSlideId:w})}),[r,n,y,C,w,m,g]),v?e.jsx("div",{ref:x,className:u,style:{position:"relative",...f},"data-iteration-deck":r,...p,children:y.map(r=>{const n=r.id===w;return e.jsx("div",{style:{display:n?"block":"none"},"data-slide-id":r.id,"data-slide-active":n,children:t.cloneElement(r.element,{...r.element.props})},r.id)})}):null});Te.displayName="IterationDeck";const _e=t.forwardRef(function({label:r,aiPrompt:n,notes:a,confidence:i,className:s,style:o,children:c,...l},d){const u=t.useRef(null);return t.useImperativeHandle(d,()=>({getSlideData:()=>({label:r,aiPrompt:n,notes:a,confidence:i}),get element(){return u.current}}),[r,n,a,i]),e.jsx("div",{ref:u,className:s,style:o,"data-iteration-deck-slide":"true","data-slide-label":r,"data-slide-ai-prompt":n,"data-slide-notes":a,"data-slide-confidence":i,...l,children:c})});_e.displayName="IterationDeckSlide",exports.IterationDeck=Te,exports.IterationDeckSlide=_e,exports.isDevelopmentMode=function(){if("undefined"!=typeof process&&process.env){if("production"===process.env.NODE_ENV)return!1;if("test"===process.env.NODE_ENV)return!0;if("development"===process.env.NODE_ENV)return!0;const e=process.env.REACT_APP_ITERATION_DECK_DEV||process.env.VITE_ITERATION_DECK_DEV||process.env.NEXT_PUBLIC_ITERATION_DECK_DEV||process.env.PUBLIC_ITERATION_DECK_DEV;if(void 0!==e)return"true"===e}if("undefined"!=typeof window){const e=window.location.hostname;if("localhost"===e||"127.0.0.1"===e||"0.0.0.0"===e)return!0;if(e.endsWith(".local")||e.endsWith(".localhost")||e.includes("dev.")||e.includes("staging.")||e.includes("preview-")||e.includes("-dev.")||e.includes(".dev-")||e.startsWith("dev-")||e.includes("localhost"))return!0;if(e.includes("netlify.app")||e.includes("vercel.app")||e.includes("surge.sh")||e.includes("railway.app")||e.includes("render.com")||e.includes("gitpod.io")||e.includes("codesandbox.io")||e.includes("stackblitz.com")||e.includes("repl.it")||e.includes("glitch.me")||e.includes("codepen.io")||e.includes("github.dev")||e.includes("githubpreview.dev")||e.includes("vscode.dev")||e.includes("lovable.dev")||e.includes("bolt.new")||e.includes("v0.dev")||e.includes("cursor.com")||e.includes("windsurf.dev")||e.includes("claude.ai")||e.includes("ngrok.io")||e.includes("tunnel.dev")||e.includes("localtunnel.me")||e.includes("serveo.net"))return!0}return!1},exports.useActiveSlide=function(e){return o().activeDecks[e]},exports.useDeckNavigation=c,exports.useIterationStore=o; //# sourceMappingURL=index.cjs.map