{"version":3,"file":"StudioPrompt.Cb7F9JMf.mjs","names":["useState","useRef","useId","__esmMin","init_npm_react_18_3_1","ie","window","_e","de","init_jsx_runtime","p","ce","init_ssg_sandbox_shims","motion","useReducedMotion","init_framer_motion_DhsWWWsN","addPropertyControls","useLocaleInfo","ControlType","init_framer_B1b760uK","studioDestination","value","base","url","match","language","localeCode","slug","localeSlug","regional","market","prefix","StudioPrompt","props","themeName","theme","preset","PRESETS","cardColor","fieldColor","textColor","placeholderColor","buttonColor","buttonIconColor","sendColor","sendIconColor","setValue","typed","setTyped","suggestionRef","inputRef","animatePlaceholder","setAnimatePlaceholder","el","media","visible","sync","observer","entry","scope","list","placeholders","text","type","typeSpeed","erase","hold","holdTime","phrase","chars","erasing","timer","step","target","submit","q","activeLocale","studioUrl","focusField","event","radius","font","fieldRadius","suggestion","Round","Arrow","reduceMotion","label","bg","init_StudioPrompt","color"],"sources":["https:/framerusercontent.com/modules/oN0LW5r7FuPNMbXiwuon/kHCbqxcPXWSrPQidmcCn/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 regional=language===\"en-us\"?\"us\":language===\"en-gb\"?\"uk\":\"\";const market=[\"us\",\"uk\"].includes(slug)?slug:regional||slug;const prefix=market===\"en\"?\"\":\"/\"+market;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,4e3));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\":{\"framerIntrinsicWidth\":\"560\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"300\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StudioPrompt.map"],"mappings":"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"}