{"version":3,"file":"VisualLogAccessibility.CnD5zHHT.mjs","names":["_Fragment","React.useRef","React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/G5b8MZS7J1bdSlEUuUqm/F8Q22XrmFaaUTOLvUUxC/VisualLogAccessibility.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";// One focus policy for the shared navigation and collection pages.\n// Rings stay inside bounded controls; inline links keep their line wrapping.\nconst sharedFocusCSS=`\nbody:has([data-visual-log]) input:focus-visible,\nbody:has([data-site-search-style], [data-visual-log]) :is(a[href],button,select,textarea,[role=\"button\"],[tabindex]):focus-visible {\n outline: 2px solid var(--token-4b5d01a7-fa5e-4a5a-babf-0fb2143d99e9, #1749c8) !important;\n outline-offset: -2px !important;\n box-shadow: none !important;\n}\n/* Image layers paint above an inset outline; paint their ring above the image. */\nbody:has([data-site-search-style], [data-visual-log]) a[href]:has(img):not(.framer-text):focus-visible {\n outline: none !important;\n}\nbody:has([data-site-search-style], [data-visual-log]) a[href]:has(img):not(.framer-text):focus-visible::after {\n content: \"\";\n position: absolute;\n inset: 0;\n z-index: 1;\n pointer-events: none;\n box-sizing: border-box;\n border: 2px solid var(--token-4b5d01a7-fa5e-4a5a-babf-0fb2143d99e9, #1749c8);\n border-radius: inherit;\n box-shadow: inset 0 0 0 2px var(--token-58f2acd2-139e-4650-a0b1-1e15685270be, #fff);\n}\nbody:has([data-site-search-style], [data-visual-log]) a.framer-text:focus-visible {\n outline: none !important;\n background-color: var(--token-4b5d01a7-fa5e-4a5a-babf-0fb2143d99e9, #1749c8) !important;\n color: var(--token-58f2acd2-139e-4650-a0b1-1e15685270be, #fff) !important;\n text-decoration: underline !important;\n -webkit-box-decoration-break: clone;\n box-decoration-break: clone;\n}\nbody:has([data-site-search-style], [data-visual-log]) a.framer-text:focus-visible * {\n color: inherit !important;\n}\n/* The guide's native wrapper already paints the complete rounded focus ring. */\nbody:has([data-visual-log]) input[data-vdl-search-input]:focus-visible,\nbody:has([data-visual-log]) [data-framer-name=\"Search archetypes\"].framer-form-text-input > input.framer-form-input:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n@media (forced-colors: active) {\n body:has([data-site-search-style], [data-visual-log]) a.framer-text:focus-visible {\n  outline: 2px solid Highlight !important;\n  outline-offset: 0 !important;\n }\n}\n`;const focusCSS=sharedFocusCSS+`\nbody:has([data-visual-log]) :is(a,button,input,[tabindex]) { scroll-margin-block: 220px 32px; }\n.vdl-skip { position: fixed; top: 12px; left: 12px; z-index: 10000; padding: 12px 20px; border-radius: 8px; background: var(--token-58f2acd2-139e-4650-a0b1-1e15685270be, #fff); color: var(--token-b89602da-1097-4f1c-bce0-b0f554e47174, #171717); font: 16px/1.5 sans-serif; transform: translateY(-200%); }\n.vdl-skip:focus { transform: translateY(0); }\n@media (prefers-reduced-motion: reduce) {\n body:has([data-visual-log]), body:has([data-visual-log]) * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }\n}\n`;export function withVisualLogAccessibility(Component){return /*#__PURE__*/React.forwardRef(function AccessibleLog(props,ref){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:focusCSS}),/*#__PURE__*/_jsx(\"a\",{className:\"vdl-skip\",href:\"#\"+(props.id||\"visual-log-content\"),onClick:event=>{const target=event.currentTarget.ownerDocument.querySelector(\"[data-visual-log]\");if(target){event.preventDefault();target.focus();target.scrollIntoView({block:\"start\",behavior:\"instant\"});}},children:\"Skip to content\"}),/*#__PURE__*/_jsx(Component,{...props,ref:ref,\"data-visual-log\":\"true\",id:props.id||\"visual-log-content\",tabIndex:-1})]});});}export function withViewState(Component){return /*#__PURE__*/React.forwardRef(function ViewState(props,forwardedRef){const element=React.useRef(null);const[selected,setSelected]=React.useState(false);React.useEffect(()=>{const node=element.current;if(!node)return;const update=()=>setSelected(node.getAttribute(\"data-framer-name\")===\"Active\");update();const observer=new MutationObserver(update);observer.observe(node,{attributes:true,attributeFilter:[\"data-framer-name\"]});return()=>observer.disconnect();},[]);const ref=React.useCallback(node=>{element.current=node;if(typeof forwardedRef===\"function\")forwardedRef(node);else if(forwardedRef)forwardedRef.current=node;},[forwardedRef]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,\"aria-pressed\":selected,onKeyDown:event=>{props.onKeyDown?.(event);if(event.key===\" \"){event.preventDefault();props.onTap?.(event,{point:{x:0,y:0}});}}});});}export function withSearchLabel(Component){return /*#__PURE__*/React.forwardRef(function SearchLabel(props,forwardedRef){const ref=React.useCallback(node=>{const input=node?.matches(\"input\")?node:node?.querySelector(\"input\");input?.setAttribute(\"aria-label\",\"Search visual styles\");input?.setAttribute(\"data-vdl-search-input\",\"true\");if(typeof forwardedRef===\"function\")forwardedRef(node);else if(forwardedRef)forwardedRef.current=node;},[forwardedRef]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,\"aria-label\":\"Search visual styles\"});});}export function withMobileMenuButton(Component){return /*#__PURE__*/React.forwardRef(function MobileMenuButton(props,forwardedRef){const element=React.useRef(null);const[expanded,setExpanded]=React.useState(false);const activate=React.useRef(props.click||props.onClick);activate.current=props.click||props.onClick;React.useEffect(()=>{const button=element.current?.querySelector('button,[role=\"button\"]');const nav=button?.closest('[data-framer-name=\"Navbar\"]')?.parentElement;if(!button||!nav)return;const isOpen=()=>(nav.getAttribute(\"data-framer-name\")||\"\").includes(\"Expanded\");const update=()=>setExpanded(isOpen());update();const observer=new MutationObserver(update);observer.observe(nav,{attributes:true,attributeFilter:[\"data-framer-name\"]});const keydown=event=>{if(!isOpen())return;if(event.key===\"Escape\"){event.preventDefault();activate.current?.(event);button.focus();return;}if(event.key!==\"Tab\")return;const focusable=Array.from(nav.querySelectorAll('a[href],button,[tabindex=\"0\"]')).filter(node=>node.getBoundingClientRect().height>0&&!node.closest('[aria-hidden=\"true\"]'));const first=focusable[0],last=focusable[focusable.length-1];if(event.shiftKey&&nav.ownerDocument.activeElement===first){event.preventDefault();last?.focus();}else if(!event.shiftKey&&nav.ownerDocument.activeElement===last){event.preventDefault();first?.focus();}};nav.addEventListener(\"keydown\",keydown);return()=>{observer.disconnect();nav.removeEventListener(\"keydown\",keydown);};},[]);return /*#__PURE__*/_jsx(\"span\",{ref:element,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props,ref:forwardedRef,role:\"button\",\"aria-label\":expanded?\"Close menu\":\"Open menu\",\"aria-expanded\":expanded,onKeyDown:event=>{props.onKeyDown?.(event);if(event.key===\" \"){event.preventDefault();(props.click||props.onClick)?.(event);}}})});});}// Keyboard semantics for the native Resources overlay; layout stays in Framer.\nexport function withLibraryDisclosure(Component){return /*#__PURE__*/React.forwardRef(function LibraryDisclosure(props,forwardedRef){const element=React.useRef(null);const wasOpen=React.useRef(false);const[expanded,setExpanded]=React.useState(false);React.useEffect(()=>{const button=element.current;if(!button)return;const doc=button.ownerDocument;const update=()=>{const panel=doc.querySelector('[data-framer-name=\"Resources destinations\"]');const open=!!panel&&panel.getBoundingClientRect().height>0;setExpanded(open);if(open&&!wasOpen.current){button.removeAttribute(\"data-jw-restore-focus\");if(doc.activeElement===button)panel?.querySelector(\"a[href]\")?.focus();}if(!open&&wasOpen.current&&button.hasAttribute(\"data-jw-restore-focus\")){button.removeAttribute(\"data-jw-restore-focus\");if(!doc.activeElement||doc.activeElement===doc.body||doc.activeElement===button)button.focus({preventScroll:true});}wasOpen.current=open;};const observer=new MutationObserver(update);observer.observe(doc.body,{childList:true,subtree:true});update();return()=>{observer.disconnect();button.removeAttribute(\"data-jw-restore-focus\");};},[]);const ref=React.useCallback(node=>{element.current=node;if(typeof forwardedRef===\"function\")forwardedRef(node);else if(forwardedRef)forwardedRef.current=node;},[forwardedRef]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,role:\"button\",tabIndex:0,\"aria-label\":\"Resources\",\"aria-expanded\":expanded,onKeyDown:event=>{props.onKeyDown?.(event);if(event.key===\" \"){event.preventDefault();(props.click||props.onClick)?.(event);}}});});}export function withLibraryClose(Component){return /*#__PURE__*/React.forwardRef(function LibraryClose(props,forwardedRef){const element=React.useRef(null);const activate=React.useRef(props.click||props.onClick);activate.current=props.click||props.onClick;const restoreFocus=React.useCallback(()=>{const doc=element.current?.ownerDocument;const trigger=doc?.querySelector('[aria-label=\"Resources\"]');// The disclosure restores focus once its overlay is actually removed.\ntrigger?.setAttribute(\"data-jw-restore-focus\",\"true\");},[]);React.useEffect(()=>{const node=element.current;if(!node)return;const doc=node.ownerDocument;const close=event=>{if(event.key!==\"Escape\")return;event.preventDefault();event.stopPropagation();restoreFocus();activate.current?.(event);};const resize=event=>activate.current?.(event);node.addEventListener(\"click\",restoreFocus,true);doc.addEventListener(\"keydown\",close,true);doc.defaultView?.addEventListener(\"resize\",resize);return()=>{node.removeEventListener(\"click\",restoreFocus,true);doc.removeEventListener(\"keydown\",close,true);doc.defaultView?.removeEventListener(\"resize\",resize);};},[restoreFocus]);const ref=React.useCallback(node=>{element.current=node;if(typeof forwardedRef===\"function\")forwardedRef(node);else if(forwardedRef)forwardedRef.current=node;},[forwardedRef]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,role:\"button\",tabIndex:0,\"aria-label\":\"Close Resources\",onKeyDown:event=>{props.onKeyDown?.(event);if(event.key===\"Enter\")restoreFocus();if(event.key===\" \"){event.preventDefault();restoreFocus();activate.current?.(event);}}});});}// Keep native Site Search behavior while matching the existing library search field.\nconst siteSearchCSS=sharedFocusCSS+`\n/* Framer owns the modal surface; the mobile radius exception is below. */\nbody:has([data-site-search-style]) .__framer-search-modal-container [role=\"search\"] {\n font-family: Manrope, sans-serif !important;\n}\n/* Native Site Search keeps a white surface in both site themes. */\nbody:has([data-site-search-style]) .__framer-search-modal-container ul :is(h1,h2,h3) {\n color: #222 !important;\n}\nbody:has([data-site-search-style]) .__framer-search-modal-container :is(a,button,[role=\"button\"],[tabindex]):focus-visible {\n outline-color: #1749c8 !important;\n}\n/* Keep one complete ring around the search field instead of the inner input. */\nbody:has([data-site-search-style]) .__framer-search-modal-container [role=\"search\"]:has(input:focus-visible) {\n outline: 2px solid #1749c8 !important;\n outline-offset: -2px !important;\n}\nbody:has([data-site-search-style]) .__framer-search-modal-container input,\nbody:has([data-site-search-style]) .__framer-search-modal-container input:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n font-family: Manrope, sans-serif !important;\n font-size: 16px !important;\n font-weight: 400 !important;\n line-height: 40px !important;\n height: 40px !important;\n color: #222 !important;\n --framer-search-placeholder-color: #595959 !important;\n}\n@media (max-width: 809px) {\n body:has([data-site-search-style]) .__framer-search-modal-container { padding: 12px; }\n}\n/* Keep rounded corners when native Search switches to Fixed Top below 650px. */\n@media (max-width: 649px) {\n body:has([data-site-search-style]) .__framer-search-modal-container [role=\"dialog\"] { border-radius: 24px !important; }\n}\nbody:has([data-site-search-style]) .__framer-search-modal-container ul,\nbody:has([data-site-search-style]) .__framer-search-modal-container ul * {\n font-family: Manrope, sans-serif !important;\n}\n`;export function withSiteSearchStyle(Component){return /*#__PURE__*/React.forwardRef(function SiteSearchStyle(props,forwardedRef){const element=React.useRef(null);React.useEffect(()=>{const root=element.current;if(!root)return;const doc=root.ownerDocument;const resolveTrigger=()=>root.matches('button,[role=\"button\"]')?root:root.querySelector('[aria-label=\"Search Icon\"],button,[role=\"button\"],[tabindex]');let trigger=resolveTrigger();const restoreFocus=()=>{const target=trigger?.isConnected?trigger:resolveTrigger();if(!target)return;trigger=target;doc.defaultView?.requestAnimationFrame(()=>target.focus({preventScroll:true}));};const scheduleFocusRestore=()=>{const view=doc.defaultView;if(!view)return;view.setTimeout(restoreFocus,0);view.setTimeout(restoreFocus,100);};let wasOpen=!!doc.querySelector('[role=\"dialog\"] [role=\"search\"]');const update=()=>{const open=!!doc.querySelector('[role=\"dialog\"] [role=\"search\"]');if(wasOpen&&!open)scheduleFocusRestore();wasOpen=open;};const onKeyDown=event=>{if(event.key===\"Escape\"&&doc.querySelector('[role=\"dialog\"] [role=\"search\"]'))scheduleFocusRestore();};const observer=new MutationObserver(update);observer.observe(doc.body,{childList:true,subtree:true});doc.addEventListener(\"keydown\",onKeyDown,true);update();return()=>{observer.disconnect();doc.removeEventListener(\"keydown\",onKeyDown,true);};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{\"data-site-search-style\":\"true\",children:siteSearchCSS}),/*#__PURE__*/_jsx(\"span\",{ref:element,\"data-site-search-trigger\":\"true\",style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props,ref:forwardedRef})})]});});}// Preserve native editable links and pass their category through Framer's\n// preview navigation, which currently drops query parameters from native links.\nconst resourceCategories=[\"All\",\"Inspiration\",\"Design tools\",\"Components\",\"AI & workflows\"];const resourceCategoryStorage=\"brandkit-resource-category-pending\";const resourceCategoryEvent=\"brandkit-resource-category\";export function withResourceCategoryLink(Component){return /*#__PURE__*/React.forwardRef(function ResourceCategoryLink(props,forwardedRef){const element=React.useRef(null);React.useLayoutEffect(()=>{const root=element.current;const anchor=root?.matches(\"a\")?root:root?.querySelector(\"a\");const label=props.title||props.text;const category=label===\"View all resources\"?\"All\":label;if(!root||!anchor||!resourceCategories.includes(category))return;const href=anchor.getAttribute(\"href\")||\"./resources\";anchor.setAttribute(\"href\",href.split(\"?\")[0]+(category===\"All\"?\"\":\"?type=\"+encodeURIComponent(category)));const selectCategory=event=>{if(event.button!==0||event.metaKey||event.ctrlKey||event.shiftKey||event.altKey)return;try{root.ownerDocument.defaultView?.sessionStorage.setItem(resourceCategoryStorage,JSON.stringify({value:category,expires:Date.now()+6e4}));}catch{return;}root.ownerDocument.defaultView?.dispatchEvent(new Event(resourceCategoryEvent));};root.addEventListener(\"click\",selectCategory,true);return()=>root.removeEventListener(\"click\",selectCategory,true);},[props.title,props.text]);const ref=React.useCallback(node=>{element.current=node;if(typeof forwardedRef===\"function\")forwardedRef(node);else if(forwardedRef)forwardedRef.current=node;},[forwardedRef]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref});});}// Apply the requested category through the existing native filter buttons.\n// The CMS still owns filtering, counts, search and the three view modes.\nexport function withResourceCategoryEntry(Component){return /*#__PURE__*/React.forwardRef(function ResourceCategoryEntry(props,forwardedRef){const element=React.useRef(null);React.useEffect(()=>{const root=element.current?.querySelector('nav[aria-label=\"Resource types\"]')||element.current;const view=root?.ownerDocument.defaultView;if(!root||!view)return;let frame=0;let opened=false;const apply=()=>{frame=0;let pending=null;try{pending=JSON.parse(view.sessionStorage.getItem(resourceCategoryStorage)||\"null\");}catch{return;}if(!pending)return;if(pending.expires<Date.now()){view.sessionStorage.removeItem(resourceCategoryStorage);return;}if(root.getBoundingClientRect().height===0)return;const buttons=Array.from(root.querySelectorAll(\"button\"));const category=buttons.find(button=>button.textContent?.trim()===pending.value&&button.getBoundingClientRect().height>0);if(category&&category.getAttribute(\"data-resource-control-ready\")===\"true\"){view.sessionStorage.removeItem(resourceCategoryStorage);opened=false;if(category.getAttribute(\"aria-pressed\")!==\"true\")category.dispatchEvent(new Event(\"brandkit-resource-activate\"));return;}const show=buttons.find(button=>button.getAttribute(\"aria-label\")===\"Show Filter resources\");if(!opened&&show&&show.getAttribute(\"data-resource-control-ready\")===\"true\"){opened=true;show.dispatchEvent(new Event(\"brandkit-resource-activate\"));}};const schedule=()=>{if(!frame)frame=view.requestAnimationFrame(apply);};const request=()=>{opened=false;schedule();};const observer=new MutationObserver(schedule);observer.observe(root,{childList:true,subtree:true,attributes:true,attributeFilter:[\"style\",\"aria-pressed\",\"data-resource-control-ready\"]});view.addEventListener(resourceCategoryEvent,request);schedule();return()=>{observer.disconnect();view.removeEventListener(resourceCategoryEvent,request);view.cancelAnimationFrame(frame);};},[]);const ref=React.useCallback(node=>{element.current=node;if(typeof forwardedRef===\"function\")forwardedRef(node);else if(forwardedRef)forwardedRef.current=node;},[forwardedRef]);return /*#__PURE__*/_jsx(\"span\",{ref:element,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props,ref:forwardedRef})});});}// Bridge the selection to the native interaction callback rather than synthesizing\n// pointer events or duplicating the page's filter state.\nexport function withResourceCategoryControl(Component){return /*#__PURE__*/React.forwardRef(function ResourceCategoryControl(props,forwardedRef){const element=React.useRef(null);const activate=React.useRef(props.click||props.onClick||props.onTap);activate.current=props.click||props.onClick||props.onTap;React.useEffect(()=>{const root=element.current;if(!root)return;let button=null;const select=event=>activate.current?.(event,{point:{x:0,y:0}});const connect=()=>{const next=root.matches(\"button\")?root:root.querySelector(\"button\");if(next===button)return;button?.removeEventListener(\"brandkit-resource-activate\",select);button=next;button?.addEventListener(\"brandkit-resource-activate\",select);button?.setAttribute(\"data-resource-control-ready\",\"true\");};connect();const observer=new MutationObserver(connect);observer.observe(root,{childList:true,subtree:true});return()=>{observer.disconnect();button?.removeEventListener(\"brandkit-resource-activate\",select);button?.removeAttribute(\"data-resource-control-ready\");};},[]);const ref=React.useCallback(node=>{element.current=node;if(typeof forwardedRef===\"function\")forwardedRef(node);else if(forwardedRef)forwardedRef.current=node;},[forwardedRef]);return /*#__PURE__*/_jsx(\"span\",{ref:element,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props,ref:forwardedRef})});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withResourceCategoryEntry\":{\"type\":\"reactHoc\",\"name\":\"withResourceCategoryEntry\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withResourceCategoryLink\":{\"type\":\"reactHoc\",\"name\":\"withResourceCategoryLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMobileMenuButton\":{\"type\":\"reactHoc\",\"name\":\"withMobileMenuButton\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withResourceCategoryControl\":{\"type\":\"reactHoc\",\"name\":\"withResourceCategoryControl\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLibraryDisclosure\":{\"type\":\"reactHoc\",\"name\":\"withLibraryDisclosure\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSiteSearchStyle\":{\"type\":\"reactHoc\",\"name\":\"withSiteSearchStyle\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLibraryClose\":{\"type\":\"reactHoc\",\"name\":\"withLibraryClose\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSearchLabel\":{\"type\":\"reactHoc\",\"name\":\"withSearchLabel\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withViewState\":{\"type\":\"reactHoc\",\"name\":\"withViewState\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withVisualLogAccessibility\":{\"type\":\"reactHoc\",\"name\":\"withVisualLogAccessibility\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VisualLogAccessibility.map"],"mappings":"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"}