{"version":3,"file":"StudioPrompt.BCetql2Q.mjs","names":["useState","useRef","useId"],"sources":["https:/framerusercontent.com/modules/oN0LW5r7FuPNMbXiwuon/fhKJryXm8f89qldAP3ff/StudioPrompt.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useId,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useLocaleInfo}from\"framer\";import{motion,useReducedMotion}from\"framer-motion\";/**\n * Studio prompt field for the Design Studio marketing page.\n *\n * Hands the visitor's own words to Studio Home: on submit it navigates to\n * `${studioUrl}?q=<typed text>`, where Studio Home seeds its composer and runs\n * the same search. Tab accepts the current suggestion. Enter and the arrow submit the typed\n * text, or the current suggestion when the field is empty.\n *\n * The placeholder types itself out and erases again, mirroring the studio's own\n * composer, so the card reads as live rather than as a rotating banner.\n *\n * Light and dark are presets over the same six colours the Custom theme\n * exposes. Custom stays the default so instances placed before the theme\n * control existed keep the colours they were given.\n *\n * @framerIntrinsicWidth 560\n * @framerIntrinsicHeight 300\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */// Sampled from the studio's own studio-theme.css, so the marketing field and\n// the real composer on Studio Home read as the same control.\nconst PRESETS={light:{cardColor:\"#F5F5F5\",fieldColor:\"#FFFFFF\",textColor:\"rgb(39, 39, 42)\",placeholderColor:\"rgb(113, 113, 122)\",buttonColor:\"rgba(0, 0, 0, 0.04)\",buttonIconColor:\"rgb(82, 82, 91)\",sendColor:\"#18181B\",sendIconColor:\"#FFFFFF\"},dark:{cardColor:\"#0F0F11\",fieldColor:\"#1F1F1F\",textColor:\"#FFFFFF\",placeholderColor:\"rgba(255, 255, 255, 0.5)\",buttonColor:\"rgba(255, 255, 255, 0.06)\",buttonIconColor:\"rgba(255, 255, 255, 0.7)\",sendColor:\"#FFFFFF\",sendIconColor:\"#111111\"}};function studioDestination(base,localeCode,localeSlug){const value=(base||\"/shop/studio\").trim();const url=new URL(value.startsWith(\"shop/\")?\"/\"+value:value,\"https://www.mondaymerch.com\");const match=url.pathname.match(/^\\/(?:[a-z]{2}(?:-[a-z0-9]+)*\\/)?shop\\/(studio-home|studio)(\\/.*)?$/i);if([\"mondaymerch.com\",\"www.mondaymerch.com\"].includes(url.hostname)&&match){const language=String(localeCode||\"en\").trim().toLowerCase().replace(/_/g,\"-\");const slug=String(localeSlug||language).trim().toLowerCase().replace(/_/g,\"-\").replace(/^\\/+|\\/+$/g,\"\");const prefix=language.split(\"-\")[0]===\"en\"?\"\":\"/\"+slug;url.hostname=\"www.mondaymerch.com\";url.protocol=\"https:\";url.pathname=prefix+\"/shop/studio\"+(match[2]||\"\");}return url;}/**\n * @framerIntrinsicWidth 560\n * @framerIntrinsicHeight 300\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function StudioPrompt(props){const{activeLocale}=useLocaleInfo();const{studioUrl,placeholders,theme,radius,fieldRadius,padding,font,typeSpeed,holdTime}=props;// A preset drives every colour at once, so a theme switch can never leave an\n// instance half-styled. Custom falls through to the individual controls.\n// Match on the lower-cased name: the canvas stores this control by its\n// display title (\"Light\"), not by the option value.\nconst themeName=String(theme||\"custom\").toLowerCase();const preset=themeName===\"light\"?PRESETS.light:themeName===\"dark\"?PRESETS.dark:undefined;const cardColor=preset?preset.cardColor:props.cardColor;const fieldColor=preset?preset.fieldColor:props.fieldColor;const textColor=preset?preset.textColor:props.textColor;const placeholderColor=preset?preset.placeholderColor:props.placeholderColor;const buttonColor=preset?preset.buttonColor:props.buttonColor;const buttonIconColor=preset?preset.buttonIconColor:props.buttonIconColor;const sendColor=preset?preset.sendColor:\"#fff\";const sendIconColor=preset?preset.sendIconColor:\"#111\";const[value,setValue]=useState(\"\");const[typed,setTyped]=useState(\"\");const suggestionRef=useRef(\"\");const inputRef=useRef(null);const[animatePlaceholder,setAnimatePlaceholder]=useState(false);useEffect(()=>{const el=inputRef.current;if(!el)return;const media=window.matchMedia(\"(prefers-reduced-motion: reduce)\");let visible=false;const sync=()=>setAnimatePlaceholder(visible&&!document.hidden&&!media.matches);const observer=typeof IntersectionObserver!==\"undefined\"?new IntersectionObserver(([entry])=>{visible=entry.isIntersecting;sync();}):null;if(observer)observer.observe(el);else{visible=true;sync();}document.addEventListener(\"visibilitychange\",sync);media.addEventListener(\"change\",sync);return()=>{observer?.disconnect();document.removeEventListener(\"visibilitychange\",sync);media.removeEventListener(\"change\",sync);};},[]);// The placeholder colour needs a real stylesheet rule, and the page carries\n// one instance per breakpoint — so scope the rule to this instance instead\n// of letting whichever renders last win for all of them.\nconst scope=\"mm-studio-prompt-\"+useId().replace(/[^a-zA-Z0-9]/g,\"\");// Type the placeholder out and back again, the way the studio itself does,\n// instead of hard-swapping one full sentence for the next. Pauses while the\n// visitor is typing, and stays still for anyone who asked for less motion.\nuseEffect(()=>{const list=(placeholders||[]).filter(text=>text.trim());suggestionRef.current=list[0]||\"\";if(!list.length)return setTyped(\"\");if(value)return;if(!animatePlaceholder){setTyped(list[0]);return;}const still=typeof window!==\"undefined\"&&window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches;if(still)return setTyped(list[0]);const type=Math.max(10,typeSpeed??45);const erase=Math.max(8,Math.round(type*.55));const hold=Math.max(300,holdTime??1600);let phrase=0;let chars=0;let erasing=false;let timer;function step(){const target=list[phrase%list.length];suggestionRef.current=target;if(!erasing){chars++;setTyped(target.slice(0,chars));if(chars>=target.length){erasing=true;timer=setTimeout(step,hold);return;}timer=setTimeout(step,type);return;}chars--;setTyped(target.slice(0,Math.max(0,chars)));if(chars<=0){erasing=false;phrase++;suggestionRef.current=list[phrase%list.length];timer=setTimeout(step,420);return;}timer=setTimeout(step,erase);}timer=setTimeout(step,600);return()=>clearTimeout(timer);},[placeholders,value,typeSpeed,holdTime,animatePlaceholder]);function submit(){const q=(inputRef.current?.value||value).trim()||suggestionRef.current.trim();if(!q){inputRef.current?.focus();return;}if(typeof window===\"undefined\")return;const localeCode=activeLocale?.code||document.documentElement.lang||\"en\";const target=studioDestination(studioUrl,localeCode,activeLocale?.slug||\"\");// Preserve campaigns and fragments; replace an existing search instead of duplicating it.\ntarget.searchParams.set(\"q\",q.slice(0,200));window.location.href=target.toString();}// The whole card is the field: a click on the padding, the action row or any\n// dead space puts the caret in the input, which is what a card this shape\n// promises. The buttons keep their own clicks, and the input keeps its own\n// caret placement and text selection.\nfunction focusField(event){const target=event.target;if(target instanceof Element&&target.closest(\"button\"))return;if(target===inputRef.current)return;event.preventDefault();inputRef.current?.focus();}return /*#__PURE__*/_jsx(\"div\",{className:scope,onMouseDown:focusField,style:{cursor:\"text\",width:\"100%\",height:\"100%\",background:cardColor,borderRadius:radius,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding,boxSizing:\"border-box\",...font},children:/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",background:fieldColor,borderRadius:fieldRadius,padding:20,boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",gap:22},children:[/*#__PURE__*/_jsx(\"input\",{ref:inputRef,value:value,onChange:e=>setValue(e.target.value),onKeyDown:e=>{if(e.nativeEvent.isComposing||e.keyCode===229)return;if(e.key===\"Tab\"&&!e.shiftKey&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.currentTarget.value.trim()&&suggestionRef.current.trim()){e.preventDefault();const suggestion=suggestionRef.current;e.currentTarget.value=suggestion;setValue(suggestion);e.currentTarget.setSelectionRange(suggestion.length,suggestion.length);}else if(e.key===\"Enter\"){e.preventDefault();submit();}},placeholder:typed,\"aria-label\":\"What are we making today?\",style:{border:0,outline:\"none\",background:\"transparent\",color:textColor,width:\"100%\",padding:0,// An <input> does not inherit type from its parent — it\n// carries the browser's own control font — so the Font\n// control had no effect on the only text in this card.\n// The `font` shorthand pulls family, size, weight, style\n// and line-height across in one go; letter-spacing is not\n// part of that shorthand and needs its own line. Size now\n// comes from the control (19px by default) rather than\n// being pinned here.\nfont:\"inherit\",letterSpacing:\"inherit\"}}),/*#__PURE__*/_jsx(\"style\",{children:\".\"+scope+\" input::placeholder{color:\"+placeholderColor+\"}\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"flex-end\"},children:/*#__PURE__*/_jsx(Round,{bg:value.trim()?sendColor:buttonColor,onClick:submit,label:\"Open Design Studio\",children:/*#__PURE__*/_jsx(Arrow,{color:value.trim()?sendIconColor:buttonIconColor})})})]})});}function Round({children,bg,onClick,label}){const reduceMotion=useReducedMotion();return /*#__PURE__*/_jsx(motion.button,{whileHover:reduceMotion?undefined:{scale:1.06},whileTap:reduceMotion?undefined:{scale:.94},transition:{type:\"spring\",stiffness:400,damping:25},type:\"button\",onClick:onClick,\"aria-label\":label,style:{width:46,height:46,borderRadius:999,border:0,background:bg,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",padding:0,flexShrink:0},children:children});}const Arrow=({color})=>/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 18 18\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M9 14.5V3.5M4 8.5 9 3.5l5 5\",stroke:color,strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});addPropertyControls(StudioPrompt,{studioUrl:{type:ControlType.String,title:\"Studio URL\",defaultValue:\"https://www.mondaymerch.com/shop/studio\",description:\"Studio destination. Locale prefix is automatic; English has no prefix. The text is added as ?q=\"},theme:{type:ControlType.Enum,title:\"Theme\",defaultValue:\"custom\",options:[\"light\",\"dark\",\"custom\"],optionTitles:[\"Light\",\"Dark\",\"Custom\"],description:\"Light and dark preset every colour below. Custom uses them as set.\"},placeholders:{type:ControlType.Array,title:\"Placeholders\",control:{type:ControlType.String},defaultValue:[\"Hoodies for the dev team\",\"Laptop stickers for the hackathon\",\"Welcome cards for the new cohort\",\"Swag for the conference booth\",\"Caps for the offsite\"]},cardColor:{type:ControlType.Color,title:\"Card\",defaultValue:\"#000000\",hidden:({theme})=>String(theme||\"custom\").toLowerCase()!==\"custom\"},fieldColor:{type:ControlType.Color,title:\"Field\",defaultValue:\"#1F1F1F\",hidden:({theme})=>String(theme||\"custom\").toLowerCase()!==\"custom\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\",hidden:({theme})=>String(theme||\"custom\").toLowerCase()!==\"custom\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\",defaultValue:\"#8A8A8A\",hidden:({theme})=>String(theme||\"custom\").toLowerCase()!==\"custom\"},typeSpeed:{type:ControlType.Number,title:\"Type speed\",description:\"Milliseconds per character.\",defaultValue:45,min:10,max:160,step:5},holdTime:{type:ControlType.Number,title:\"Hold\",description:\"Milliseconds the finished sentence stays before it is erased.\",defaultValue:1600,min:300,max:6e3,step:100},buttonColor:{type:ControlType.Color,title:\"Button\",defaultValue:\"#2E2E2E\",hidden:({theme})=>String(theme||\"custom\").toLowerCase()!==\"custom\"},buttonIconColor:{type:ControlType.Color,title:\"Button icon\",defaultValue:\"#FFFFFF\",hidden:({theme})=>String(theme||\"custom\").toLowerCase()!==\"custom\"},radius:{type:ControlType.Number,title:\"Card radius\",defaultValue:20,min:0,max:80},fieldRadius:{type:ControlType.Number,title:\"Field radius\",defaultValue:22,min:0,max:80},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:28,min:0,max:120},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",// The field's own type, not the card's: this is the only text in the\n// component. 19px was pinned in the input before, so it stays the\n// default and nothing shifts until you touch the control.\ndefaultValue:{fontSize:\"19px\",lineHeight:\"1.3em\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StudioPrompt\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"560\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StudioPrompt.map"],"mappings":"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"}