{"version":3,"file":"shared-lib.stsRxgRJ.mjs","names":["fonts","css","className","useMemo"],"sources":["https:/framerusercontent.com/modules/kCzf2Ghw8gSIdKMbsqYa/Wl2M8oSbJMfUBbQIzVGE/D1fS_zrfW.js","https:/framerusercontent.com/modules/aGxQ2vFsewQYh2wL6EhU/eunmWFEqClDvlxNX5R5T/Qjp1AZZMc.js","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/nDYqgtURcXM7hE7RYKdU/Z7lXh332XW40ABVQ0g9A/siteMetadata.js"],"sourcesContent":["// Generated by Framer (f4ba5e0)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Figtree-500\",\"GF;Figtree-700\",\"GF;Figtree-700italic\",\"GF;Figtree-500italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Figtree\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/figtree/v7/_Xmz-HUzqDCFdgfMsYiV_F7wfS-Bs_dNQF5bwkEU4HTy.woff2\",weight:\"500\"},{family:\"Figtree\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/figtree/v7/_Xmz-HUzqDCFdgfMsYiV_F7wfS-Bs_eYR15bwkEU4HTy.woff2\",weight:\"700\"},{family:\"Figtree\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/figtree/v7/_Xm9-HUzqDCFdgfMm4GnA4aZFrUvtOK3A1EayEA25WTybO8.woff2\",weight:\"700\"},{family:\"Figtree\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/figtree/v7/_Xm9-HUzqDCFdgfMm4GnA4aZFrUvtOK3A4QdyEA25WTybO8.woff2\",weight:\"500\"}]}];export const css=['.framer-4el2p .framer-styles-preset-x6ge9v:not(.rich-text-wrapper), .framer-4el2p .framer-styles-preset-x6ge9v.rich-text-wrapper p { --framer-font-family: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-bold: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-italic: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.02em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-4el2p\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (47ebf4a)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Figtree-500\",\"GF;Figtree-700\",\"GF;Figtree-700italic\",\"GF;Figtree-500italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Figtree\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/figtree/v7/_Xmz-HUzqDCFdgfMsYiV_F7wfS-Bs_dNQF5bwkEU4HTy.woff2\",weight:\"500\"},{family:\"Figtree\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/figtree/v7/_Xmz-HUzqDCFdgfMsYiV_F7wfS-Bs_eYR15bwkEU4HTy.woff2\",weight:\"700\"},{family:\"Figtree\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/figtree/v7/_Xm9-HUzqDCFdgfMm4GnA4aZFrUvtOK3A1EayEA25WTybO8.woff2\",weight:\"700\"},{family:\"Figtree\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/figtree/v7/_Xm9-HUzqDCFdgfMm4GnA4aZFrUvtOK3A4QdyEA25WTybO8.woff2\",weight:\"500\"}]}];export const css=['.framer-U9bVq .framer-styles-preset-trq6qq:not(.rich-text-wrapper), .framer-U9bVq .framer-styles-preset-trq6qq.rich-text-wrapper p { --framer-font-family: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-bold: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-italic: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.02em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-d072d1f5-ef86-4b7c-bae1-6c9f6238e10b, rgba(255, 255, 255, 0.75)); --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-U9bVq .framer-styles-preset-trq6qq:not(.rich-text-wrapper), .framer-U9bVq .framer-styles-preset-trq6qq.rich-text-wrapper p { --framer-font-family: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-bold: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-italic: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.02em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-d072d1f5-ef86-4b7c-bae1-6c9f6238e10b, rgba(255, 255, 255, 0.75)); --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-U9bVq .framer-styles-preset-trq6qq:not(.rich-text-wrapper), .framer-U9bVq .framer-styles-preset-trq6qq.rich-text-wrapper p { --framer-font-family: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-bold: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-family-italic: \"Figtree\", \"Figtree Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: -0.02em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-d072d1f5-ef86-4b7c-bae1-6c9f6238e10b, rgba(255, 255, 255, 0.75)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-U9bVq\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","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 (5b26096)\nexport default function metadata(params,activeLocale){return{description:\"Q4 Workspace is a modern Virtual Assistant agency helping businesses grow by streamlining operations and handling daily tasks. We provide skilled VAs, focused on reliability, productivity, and support—so you can focus on what matters most.\\n\\n\\n\\n\\n\\n\\n\",favicon:\"https://framerusercontent.com/assets/i0jmfPd7Bl2CEC0zZZq1HshTJA.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/rmCR40e8TYQBwCNb5tiuY8OJKdk.png\",title:\"Q4 Workspace – Virtual Assistant Solutions\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"wMAC8B,GAAU,UAAU,CAAC,iBAAiB,iBAAiB,uBAAuB,uBAAuB,CAAC,CAAcA,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,4FAA4F,OAAO,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,4FAA4F,OAAO,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,+FAA+F,OAAO,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,+FAA+F,OAAO,MAAM,CAAC,CAAC,CAAC,CAAcC,EAAI,CAAC,soCAAsoC,CAAcC,EAAU,qCCA38D,GAAU,UAAU,CAAC,iBAAiB,iBAAiB,uBAAuB,uBAAuB,CAAC,CAAc,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,4FAA4F,OAAO,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,4FAA4F,OAAO,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,+FAA+F,OAAO,MAAM,CAAC,CAAC,OAAO,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,+FAA+F,OAAO,MAAM,CAAC,CAAC,CAAC,CAAc,EAAI,CAAC,ypCAAypC,+sCAA+sC,4sCAA4sC,CAAc,EAAU,qCCDv2I,IACjB,CAClB,EAAkB,CAC3B,MAAO,OACP,OAAQ,OACR,QAAS,OACT,eAAgB,SAChB,WAAY,SACf,CASK,EAAkB,CACpB,GAAG,EACH,aAAc,EACd,WAAY,2BACZ,OAAQ,uCACR,MAAO,UACP,cAAe,SAClB,CACY,EAA0B,GAAkB,EAAG,IACnC,EAAK,MAAO,CAC7B,MAAO,EACF,MACR,CAAC,CACJ,qBEvBoL,SAAgB,EAAiB,EAAS,EAAa,EAAW,GAAG,EAAc,EAAsB,CAC/R,IAAM,EAAiBC,MAAY,CAAC,GAAG,GAAY,MAAO,GAAyD,SAAU,EAAE,OAAO,KAAK,IAAM,EAAe,EAAW,aAAa,CAAC,QAAQ,QAAQ,GAAG,CAC3C,OAA7H,EAAsB,IAAkE,EAAY,EAAS,EAAe,EAAuB,CAAC,EAAc,EAAW,CAAC,CAAwD,OAA5C,EAAa,EAAc,uBAT9N,IAAgC,CAI2E,EAAc,CAAC,QAAQ,CAAC,KAAK,EAAY,aAAa,CAAC,YAAY,CAAC,KAAK,EAAY,aAAa,CAAC,UAAU,CAAC,KAAK,EAAY,aAAa,CAAC,aAAa,CAAC,KAAK,EAAY,aAAa,CAAC,aAAa,CAAC,KAAK,EAAY,aAAa,CAAC,CAAO,GAAa,EAAI,IAAS,EAAI,KAAK,GAAG,EAAE,aAAa,CAAC,SAAS,EAAO,CAAC,ICH3b,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,YAAY;;;;;;;EAAgQ,QAAQ,sEAAsE,OAAO,0BAA0B,YAAY,uEAAuE,MAAM,6CAA6C"}