{"version":3,"file":"shared-lib.Cuoq1Cqg.mjs","names":["useMemo","React.useState","React.useCallback","React.useMemo"],"sources":["https:/framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js","https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/qyOXYkkliD0qc39ZOcmZ/bYM52AYSKu0Y9OLGk1X7/D6Ra3gKfp.js","https:/framerusercontent.com/modules/hLpFeRRg2uCTpCNPj1Re/PIDdAz2iNsQLMjzFESML/GermanCookieConsent_1.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","/*\n * nullstate (framer/icon-nullstate@0.7.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js\"\n","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","// Generated by Framer (448a859)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Manrope-semibold\",\"FS;Manrope-bold\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Manrope\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Manrope\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/6U2SGH566NSNERG6RGEV3DSNEK7DL2RF/JRDYRKMSAW2H35IWEQIPL67HAJQ35MG5/JNU3GNMUBPWW6V6JTED3S27XL5HN7NM5.woff2\",weight:\"600\"},{cssFamilyName:\"Manrope\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Manrope\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NGBUP45ES3F7RD5XGKPEDJ6QEPO4TMOK/EXDVWJ2EDDVVV65UENMX33EDDYBX6OF7/6P4FPMFQH7CCC7RZ4UU4NKSGJ2RLF7V5.woff2\",weight:\"700\"}]}];export const css=['.framer-xDEZN .framer-styles-preset-wa7vil:not(.rich-text-wrapper), .framer-xDEZN .framer-styles-preset-wa7vil.rich-text-wrapper h2 { --framer-font-family: \"Manrope\", \"Manrope Placeholder\", sans-serif; --framer-font-family-bold: \"Manrope\", \"Manrope Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 63px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.04em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-5a6a7d77-3d7f-4cac-a6d6-7ea13b9dcea9, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1439px) and (min-width: 1200px) { .framer-xDEZN .framer-styles-preset-wa7vil:not(.rich-text-wrapper), .framer-xDEZN .framer-styles-preset-wa7vil.rich-text-wrapper h2 { --framer-font-family: \"Manrope\", \"Manrope Placeholder\", sans-serif; --framer-font-family-bold: \"Manrope\", \"Manrope Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 63px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.04em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-5a6a7d77-3d7f-4cac-a6d6-7ea13b9dcea9, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 1199px) and (min-width: 810px) { .framer-xDEZN .framer-styles-preset-wa7vil:not(.rich-text-wrapper), .framer-xDEZN .framer-styles-preset-wa7vil.rich-text-wrapper h2 { --framer-font-family: \"Manrope\", \"Manrope Placeholder\", sans-serif; --framer-font-family-bold: \"Manrope\", \"Manrope Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 63px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.04em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-5a6a7d77-3d7f-4cac-a6d6-7ea13b9dcea9, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-xDEZN .framer-styles-preset-wa7vil:not(.rich-text-wrapper), .framer-xDEZN .framer-styles-preset-wa7vil.rich-text-wrapper h2 { --framer-font-family: \"Manrope\", \"Manrope Placeholder\", sans-serif; --framer-font-family-bold: \"Manrope\", \"Manrope Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 44px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.04em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-5a6a7d77-3d7f-4cac-a6d6-7ea13b9dcea9, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-xDEZN\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,Link}from\"framer\";const STORAGE_KEY=\"german-cookie-consent-accepted\";// User request: Create a new Framer code component named GermanCookieConsent for a German consulting portfolio with technically necessary cookies only, a fixed bottom-centered consent banner with persistence, Datenschutzerklärung link, reopenable settings button, responsive layout, configurable controls, and client-side safe browser API usage.\n/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function GermanCookieConsent(props){const{noticeText,policyUrl,primaryLabel,settingsLabel,backgroundColor,textColor,buttonAccentColor,cornerRadius,bottomOffset,textFont,style}=props;const[acknowledged,setAcknowledged]=React.useState(false);const[hydrated,setHydrated]=React.useState(false);const[isNarrow,setIsNarrow]=React.useState(false);React.useEffect(()=>{if(typeof window!==\"undefined\"){const savedChoice=window.localStorage.getItem(STORAGE_KEY);React.startTransition(()=>{setAcknowledged(savedChoice===\"true\");setHydrated(true);setIsNarrow(window.innerWidth<600);});const onResize=()=>{React.startTransition(()=>setIsNarrow(window.innerWidth<600));};window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);}else{React.startTransition(()=>setHydrated(true));}},[]);const acknowledge=React.useCallback(()=>{if(typeof window!==\"undefined\"){window.localStorage.setItem(STORAGE_KEY,\"true\");}React.startTransition(()=>setAcknowledged(true));},[]);const reopen=React.useCallback(()=>{React.startTransition(()=>setAcknowledged(false));},[]);const textStyles=React.useMemo(()=>({color:textColor,fontSize:textFont?.fontSize,lineHeight:textFont?.lineHeight,letterSpacing:textFont?.letterSpacing,fontWeight:textFont?.fontWeight,fontStyle:textFont?.fontStyle,textAlign:textFont?.textAlign,fontFamily:textFont?.fontFamily}),[textColor,textFont]);const fixedPosition=React.useMemo(()=>({position:\"fixed\",left:\"50%\",transform:\"translateX(-50%)\",bottom:bottomOffset,zIndex:9999,width:\"min(720px, calc(100vw - 24px))\"}),[bottomOffset]);if(!hydrated)return null;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",pointerEvents:\"none\",...style},children:!acknowledged?/*#__PURE__*/_jsxs(\"div\",{style:{...fixedPosition,pointerEvents:\"auto\",backgroundColor,color:textColor,borderRadius:cornerRadius,boxShadow:\"0 8px 28px rgba(0, 0, 0, 0.12)\",padding:\"12px 14px\",display:\"flex\",alignItems:isNarrow?\"stretch\":\"center\",justifyContent:\"space-between\",gap:\"10px\",flexDirection:isNarrow?\"column\":\"row\"},children:[/*#__PURE__*/_jsxs(\"p\",{style:{...textStyles,margin:0,flex:1},children:[noticeText,\" \",/*#__PURE__*/_jsx(Link,{href:policyUrl,children:/*#__PURE__*/_jsx(\"a\",{style:{color:textColor,textDecoration:\"underline\"},children:\"Datenschutzerkl\\xe4rung\"})})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:acknowledge,\"aria-label\":primaryLabel,style:{appearance:\"none\",border:`1px solid ${buttonAccentColor}`,background:\"transparent\",color:buttonAccentColor,borderRadius:999,padding:\"8px 16px\",cursor:\"pointer\",whiteSpace:\"nowrap\",minHeight:36},children:primaryLabel})]}):/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:reopen,\"aria-label\":settingsLabel,style:{...fixedPosition,pointerEvents:\"auto\",width:\"auto\",maxWidth:\"calc(100vw - 24px)\",background:\"transparent\",border:\"none\",color:textColor,textDecoration:\"underline\",opacity:.7,cursor:\"pointer\",padding:0,...textStyles},children:settingsLabel})});}addPropertyControls(GermanCookieConsent,{noticeText:{type:ControlType.String,title:\"Hinweis\",defaultValue:\"Wir verwenden ausschlie\\xdflich technisch notwendige Cookies, um den Betrieb dieser Website sicherzustellen.\",displayTextArea:true},policyUrl:{type:ControlType.Link,title:\"Datenschutz URL\",defaultValue:\"/datenschutz\"},primaryLabel:{type:ControlType.String,title:\"Button\",defaultValue:\"Verstanden\"},settingsLabel:{type:ControlType.String,title:\"Einstellungen\",defaultValue:\"Cookie-Einstellungen\"},backgroundColor:{type:ControlType.Color,title:\"Hintergrund\",defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,title:\"Textfarbe\",defaultValue:\"#000000\"},buttonAccentColor:{type:ControlType.Color,title:\"Akzent\",defaultValue:\"#6567e1\"},cornerRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:14,min:0,max:36,step:1},bottomOffset:{type:ControlType.Number,title:\"Abstand Unten\",defaultValue:16,min:0,max:80,step:1},textFont:{type:ControlType.Font,title:\"Text Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GermanCookieConsent\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GermanCookieConsent_1.map"],"mappings":"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"}