{"version":3,"file":"siteMetadata.DbpSliJr.mjs","names":[],"sources":["https:/framerusercontent.com/modules/7vdC0kv1nAiNv7YWaK25/4rT5zP7MWRzZelPpatfj/siteMetadata.js"],"sourcesContent":["// Generated by Framer (0c4579a)\nconst valuesByLocaleId={CjC2eOsHl:{v0:\"The Doctor\"}};function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}export default function metadata(params,activeLocale){return{customHTMLBodyStart:'<script>\\n  import * as React from \"react\";\\nimport { motion, AnimatePresence } from \"framer-motion\";\\nimport { addPropertyControls, ControlType } from \"framer\";\\n\\n/**\\n * ContactBubble — omni‑channel floating help bubble for Framer\\n *\\n * One branded button ➜ expandable sheet with multiple contact options.\\n * Optional \"nudge\" popup after a delay to draw attention.\\n */\\n\\n// ----------------------------------------------------------------------------\\n// Helpers\\n// ----------------------------------------------------------------------------\\nfunction normalizePhone(phone?: string) {\\n  if (!phone) return \"\";\\n  const trimmed = phone.trim();\\n  const plus = trimmed.startsWith(\"+\") ? \"+\" : \"\";\\n  return plus + trimmed.replace(/[^0-9]/g, \"\");\\n}\\n\\nfunction waLink(phone?: string) {\\n  const p = normalizePhone(phone);\\n  return p ? `https://wa.me/${p}` : \"#\";\\n}\\n\\nfunction smsLink(phone?: string) {\\n  const p = normalizePhone(phone);\\n  return p ? `sms:${p}` : \"#\";\\n}\\n\\nfunction telLink(phone?: string) {\\n  const p = normalizePhone(phone);\\n  return p ? `tel:${p}` : \"#\";\\n}\\n\\nfunction mailtoLink(email?: string) {\\n  return email ? `mailto:${email.trim()}` : \"#\";\\n}\\n\\nfunction messengerLink(pageOrUser?: string) {\\n  const id = (pageOrUser || \"\").trim();\\n  return id ? `https://m.me/${id}` : \"#\";\\n}\\n\\n// ----------------------------------------------------------------------------\\n// Tiny dev-time sanity checks (acts like lightweight tests)\\n// ----------------------------------------------------------------------------\\nfunction __runDevTests() {\\n  if (typeof process !== \"undefined\" && process.env?.NODE_ENV === \"production\") return;\\n  try {\\n    console.assert(normalizePhone(\"+1 (323) 555-1234\") === \"+13235551234\", \"normalizePhone failed\");\\n    console.assert(smsLink(\"(323) 555-1234\").startsWith(\"sms:+1323\"), \"smsLink failed\");\\n    console.assert(telLink(\"323-555-1234\").startsWith(\"tel:+1323\"), \"telLink failed\");\\n    console.assert(waLink(\"+1 323 555 1234\").includes(\"wa.me/\"), \"waLink failed\");\\n    console.assert(mailtoLink(\"hello@thedoc.la\").startsWith(\"mailto:\"), \"mailtoLink failed\");\\n    console.assert(messengerLink(\"thedoctorla\").includes(\"m.me/\"), \"messengerLink failed\");\\n    // extra tests\\n    console.assert(normalizePhone(\"  +44 20 7946 0958 \") === \"+442079460958\", \"intl phone failed\");\\n    console.assert(waLink(undefined) === \"#\", \"waLink empty failed\");\\n    console.assert(messengerLink(\"\") === \"#\", \"messenger empty failed\");\\n  } catch (_) {}\\n}\\n__runDevTests();\\n\\n// ----------------------------------------------------------------------------\\n// Icons (inlined, no external deps)\\n// ----------------------------------------------------------------------------\\nconst Icon = {\\n  Chat: (props: React.SVGProps<SVGSVGElement>) => (\\n    <svg viewBox=\"0 0 24 24\" aria-hidden width=\"20\" height=\"20\" {...props}>\\n      <path fill=\"currentColor\" d=\"M4 4h16a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H8l-4 4V6a2 2 0 0 1 2-2z\" />\\n    </svg>\\n  ),\\n  Phone: (props: React.SVGProps<SVGSVGElement>) => (\\n    <svg viewBox=\"0 0 24 24\" aria-hidden width=\"20\" height=\"20\" {...props}>\\n      <path fill=\"currentColor\" d=\"M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11 11 0 0 0 3.4.54 1 1 0 0 1 1 1V20a2 2 0 0 1-2 2A18 18 0 0 1 2 6a2 2 0 0 1 2-2h3.5a1 1 0 0 1 1 1 11 11 0 0 0 .54 3.4 1 1 0 0 1-.24 1l-2.2 2.4z\" />\\n    </svg>\\n  ),\\n  SMS: (props: React.SVGProps<SVGSVGElement>) => (\\n    <svg viewBox=\"0 0 24 24\" aria-hidden width=\"20\" height=\"20\" {...props}>\\n      <path fill=\"currentColor\" d=\"M20 2H4a2 2 0 0 0-2 2v14l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z\" />\\n    </svg>\\n  ),\\n  Mail: (props: React.SVGProps<SVGSVGElement>) => (\\n    <svg viewBox=\"0 0 24 24\" aria-hidden width=\"20\" height=\"20\" {...props}>\\n      <path fill=\"currentColor\" d=\"M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5L4 8V6l8 5 8-5v2z\" />\\n    </svg>\\n  ),\\n  WhatsApp: (props: React.SVGProps<SVGSVGElement>) => (\\n    <svg viewBox=\"0 0 24 24\" aria-hidden width=\"20\" height=\"20\" {...props}>\\n      <path fill=\"currentColor\" d=\"M12 2a10 10 0 0 0-8.66 15.09L2 22l4.99-1.3A10 10 0 1 0 12 2zm5.3 14.3c-.22.62-1.3 1.2-1.8 1.22-.46.02-1.04.03-1.68-.1a9.3 9.3 0 0 1-4.1-2.5 9 9 0 0 1-2.2-3.4c-.2-.56-.02-1.24.32-1.54.35-.32.8-.8 1.04-.8.24 0 .5 0 .72.56.22.57.75 1.95.82 2.1.07.15.1.33-.02.54-.12.2-.18.33-.36.52-.18.2-.4.44-.17.86.2.33.9 1.5 2.15 2.43 1.48 1.1 2.47 1.45 2.86 1.6.4.14.64.12.88-.07.25-.2 1.02-.95 1.3-1.28.28-.33.54-.27.9-.15.37.12 2.3 1.07 2.7 1.27.4.2.66.3.76.47.1.18.1 1.03-.12 1.65z\" />\\n    </svg>\\n  ),\\n  Messenger: (props: React.SVGProps<SVGSVGElement>) => (\\n    <svg viewBox=\"0 0 24 24\" aria-hidden width=\"20\" height=\"20\" {...props}>\\n      <path fill=\"currentColor\" d=\"M12 2C6.48 2 2 6.06 2 10.94c0 2.74 1.32 5.2 3.48 6.85v3.21l3.18-1.75c1.02.28 2.1.43 3.24.43 5.52 0 10-4.06 10-8.94S17.52 2 12 2zm-1.12 10.68-2.52-2.7-4.36 3.6 5.2-8.08 2.6 2.82 4.28-2.82 4.4 6.46-5.6-4.02-4 4.74z\" />\\n    </svg>\\n  ),\\n  Sparkle: (props: React.SVGProps<SVGSVGElement>) => (\\n    <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden {...props}>\\n      <path fill=\"currentColor\" d=\"M12 2l1.76 4.67L18.5 8.5l-4.74 1.83L12 15l-1.76-4.67L5.5 8.5l4.74-1.83L12 2zm6 10l1.17 3.1 3.1 1.17-3.1 1.17L18 20.5l-1.17-3.1-3.1-1.17 3.1-1.17L18 12zM4 12l.88 2.33L7.2 15.2 4.88 16.1 4 18.4l-.88-2.33L.8 15.2l2.32-.87L4 12z\" />\\n    </svg>\\n  ),\\n};\\n\\n// ----------------------------------------------------------------------------\\n// Props\\n// ----------------------------------------------------------------------------\\nexport type ContactBubbleProps = {\\n  accent?: string;\\n  position?: \"bottom-right\" | \"bottom-left\";\\n  phone?: string;\\n  sms?: string;\\n  email?: string;\\n  whatsapp?: string;\\n  messenger?: string; // page id or vanity\\n  chatUrl?: string; // fallback web chat URL if not using RingCX\\n  ringcxOpenFn?: string; // window[ringcxOpenFn]() if provided\\n  label?: string;\\n  showLabel?: boolean;\\n  logoSrc?: string; // custom image for the floating button (PNG/SVG/WebP)\\n  logoSize?: number; // px size for the logo image\\n  // Nudge options\\n  enableNudge?: boolean;\\n  nudgeText?: string;\\n  nudgeInitialDelayMs?: number;\\n  nudgeRepeatDelayMs?: number;\\n  nudgeAutoCloseMs?: number;\\n  nudgeFrequency?: \"session\" | \"daily\" | \"always\";\\n};\\n\\nconst ITEM_VARIANTS = {\\n  hidden: { opacity: 0, y: 6, scale: 0.95 },\\n  visible: (i: number) => ({\\n    opacity: 1,\\n    y: 0,\\n    scale: 1,\\n    transition: { delay: 0.02 * i, type: \"spring\", stiffness: 420, damping: 28 },\\n  }),\\n};\\n\\n// ----------------------------------------------------------------------------\\n// Component\\n// ----------------------------------------------------------------------------\\nexport default function ContactBubble(props: ContactBubbleProps) {\\n  const {\\n    accent = \"#EF476F\",\\n    position = \"bottom-right\",\\n    // Pre-populated contact info\\n    phone = \"+13239885900\", // click-to-call\\n    sms = \"https://bcrw.apple.com/urn:biz:7dd751fa-1ed7-4382-9ce0-0e0baf01d9c7\", // Apple Business Chat link\\n    email = \"hello@thedoc.la\",\\n    whatsapp = \"+13239885900\",\\n    messenger = \"thedoctorla\",\\n    chatUrl = \"https://chat.ringcentral.com/your-org\",\\n    ringcxOpenFn = \"openRingCX\",\\n    label = \"Need help?\",\\n    showLabel = true,\\n    // nudge defaults (10s first, then every 60s)\\n    enableNudge = true,\\n    nudgeText = \"Talk to us now\",\\n    nudgeInitialDelayMs = 10000,\\n    nudgeRepeatDelayMs = 60000,\\n    nudgeAutoCloseMs = 6000,\\n    nudgeFrequency = \"session\",\\n  } = props;\\n\\n  const [open, setOpen] = React.useState(false);\\n  const [showNudge, setShowNudge] = React.useState(false);\\n  const imgRef = React.useRef<HTMLImageElement | null>(null);\\n  const sideRight = position === \"bottom-right\";\\n\\n  // Actions in the exact order requested\\n  const items = [\\n    {\\n      key: \"imessage\",\\n      label: \"iMessage / SMS\",\\n      icon: <Icon.SMS />,\\n      href: sms && sms.startsWith(\"http\") ? sms : smsLink(sms || phone),\\n    },\\n    {\\n      key: \"call\",\\n      label: \"Call\",\\n      icon: <Icon.Phone />,\\n      href: telLink(phone),\\n    },\\n    {\\n      key: \"ringcx\",\\n      label: \"Live Chat\",\\n      icon: <Icon.Chat />,\\n      onClick: () => {\\n        const w: any = typeof window !== \"undefined\" ? window : undefined;\\n        if (ringcxOpenFn && w && w[ringcxOpenFn]) return w[ringcxOpenFn]();\\n        if (w && w.RingCentralChat?.open) return w.RingCentralChat.open();\\n        if (w && w.RingCX?.open) return w.RingCX.open();\\n        if (w && (w as any).ringcx?.open) return (w as any).ringcx.open();\\n        if (w && chatUrl) return w.open(chatUrl, \"_blank\");\\n      },\\n    },\\n    {\\n      key: \"email\",\\n      label: \"Email\",\\n      icon: <Icon.Mail />,\\n      href: mailtoLink(email),\\n    },\\n    {\\n      key: \"whatsapp\",\\n      label: \"WhatsApp\",\\n      icon: <Icon.WhatsApp />,\\n      href: waLink(whatsapp || phone),\\n    },\\n    {\\n      key: \"messenger\",\\n      label: \"Messenger\",\\n      icon: <Icon.Messenger />,\\n      href: messengerLink(messenger),\\n    },\\n  ];\\n\\n  // ----------------------------------------------------------------------------\\n  // Nudge scheduling\\n  // ----------------------------------------------------------------------------\\n  React.useEffect(() => {\\n    if (!enableNudge) return;\\n    if (typeof window === \"undefined\") return;\\n\\n    const ss: Storage | undefined = (window as any)?.sessionStorage;\\n    const keyBase = \"contactBubbleNudge_\" + nudgeFrequency;\\n    const today = new Date().toISOString().slice(0, 10);\\n    const key = nudgeFrequency === \"daily\" ? `${keyBase}_${today}` : keyBase;\\n\\n    const alreadyShown = nudgeFrequency !== \"always\" && ss?.getItem(key);\\n    if (!alreadyShown) {\\n      const t1 = window.setTimeout(() => setShowNudge(true), nudgeInitialDelayMs);\\n      let t2: number | undefined;\\n      if ((nudgeRepeatDelayMs ?? 0) > 0) {\\n        t2 = window.setTimeout(() => setShowNudge(true), nudgeRepeatDelayMs);\\n      }\\n      return () => {\\n        window.clearTimeout(t1);\\n        if (t2) window.clearTimeout(t2);\\n      };\\n    }\\n  }, [enableNudge, nudgeInitialDelayMs, nudgeRepeatDelayMs, nudgeFrequency]);\\n\\n  // Auto close the nudge after a few seconds\\n  React.useEffect(() => {\\n    if (!showNudge) return;\\n    if (typeof window === \"undefined\") return;\\n    const t = window.setTimeout(() => setShowNudge(false), nudgeAutoCloseMs);\\n    return () => window.clearTimeout(t);\\n  }, [showNudge, nudgeAutoCloseMs]);\\n\\n  const acknowledgeNudge = React.useCallback(() => {\\n    setShowNudge(false);\\n    if (typeof window === \"undefined\") return;\\n    const base = \"contactBubbleNudge_\" + nudgeFrequency;\\n    const today = new Date().toISOString().slice(0, 10);\\n    const key = nudgeFrequency === \"daily\" ? `${base}_${today}` : base;\\n    try { window.sessionStorage.setItem(key, \"1\"); } catch {}\\n  }, [nudgeFrequency]);\\n\\n  // Layout helpers\\n  const containerBase: React.CSSProperties = {\\n    position: \"fixed\",\\n    bottom: 20,\\n    zIndex: 9999,\\n    fontFamily: \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial\",\\n  };\\n  const horizontal = sideRight ? { right: 20 } : { left: 20 };\\n\\n  // ----------------------------------------------------------------------------\\n  // Render\\n  // ----------------------------------------------------------------------------\\n  return (\\n    <div style={{ ...containerBase, ...horizontal }}>\\n      {/* Nudge popover (bigger, minimal words) */}\\n      <AnimatePresence>\\n        {enableNudge && showNudge && (\\n          <motion.div\\n            key=\"nudge\"\\n            role=\"dialog\"\\n            aria-live=\"polite\"\\n            initial={{ opacity: 0, scale: 0.9, y: 8 }}\\n            animate={{ opacity: 1, scale: 1, y: 0 }}\\n            exit={{ opacity: 0, scale: 0.95, y: 8 }}\\n            transition={{ type: \"spring\", stiffness: 300, damping: 26 }}\\n            onMouseEnter={() => setShowNudge(true)}\\n            onMouseLeave={() => setShowNudge(false)}\\n            style={{\\n              position: \"absolute\",\\n              bottom: 92,\\n              [sideRight ? \"right\" : \"left\"]: 0 as any,\\n              background: \"white\",\\n              border: \"1px solid rgba(0,0,0,0.06)\",\\n              borderRadius: 16,\\n              padding: 16,\\n              width: 320,\\n              boxShadow: \"0 16px 24px -8px rgba(0,0,0,0.18), 0 6px 12px -6px rgba(0,0,0,0.12)\",\\n              color: \"#111827\",\\n              cursor: \"pointer\",\\n            }}\\n            onClick={() => {\\n              acknowledgeNudge();\\n              setOpen(true);\\n            }}\\n          >\\n            <div style={{ display: \"flex\", gap: 12, alignItems: \"center\" }}>\\n              <div\\n                style={{\\n                  width: 40,\\n                  height: 40,\\n                  borderRadius: 12,\\n                  background: `${accent}1A`,\\n                  color: accent,\\n                  display: \"grid\",\\n                  placeItems: \"center\",\\n                  flexShrink: 0,\\n                }}\\n                aria-hidden\\n              >\\n                <Icon.Chat />\\n              </div>\\n              <div style={{ display: \"grid\" }}>\\n                <div style={{ fontSize: 18, fontWeight: 800, lineHeight: 1.2 }}>{nudgeText}</div>\\n                <div style={{ fontSize: 12, opacity: 0.8 }}>Chat \\xb7 SMS \\xb7 Call \\xb7 WhatsApp \\xb7 Messenger</div>\\n              </div>\\n            </div>\\n          </motion.div>\\n        )}\\n      </AnimatePresence>\\n\\n      {/* Sheet with actions */}\\n      <AnimatePresence>\\n        {open && (\\n          <motion.div\\n            key=\"sheet\"\\n            initial={{ opacity: 0, y: 12 }}\\n            animate={{ opacity: 1, y: 0 }}\\n            exit={{ opacity: 0, y: 12 }}\\n            transition={{ type: \"spring\", stiffness: 320, damping: 28 }}\\n            style={{\\n              background: \"white\",\\n              color: \"#111827\",\\n              boxShadow: \"0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)\",\\n              borderRadius: 16,\\n              padding: 12,\\n              marginBottom: 12,\\n              width: 260,\\n              border: \"1px solid rgba(0,0,0,0.06)\",\\n            }}\\n          >\\n            {showLabel && (\\n              <div style={{ display: \"flex\", alignItems: \"center\", gap: 8, marginBottom: 8 }}>\\n                <Icon.Sparkle />\\n                <div style={{ fontSize: 14, fontWeight: 600 }}>{label}</div>\\n              </div>\\n            )}\\n            <div>\\n              {items.map((it, i) => (\\n                <motion.a\\n                  key={it.key}\\n                  custom={i}\\n                  variants={ITEM_VARIANTS}\\n                  initial=\"hidden\"\\n                  animate=\"visible\"\\n                  href={(it as any).href || undefined}\\n                  onClick={(e) => {\\n                    if ((it as any).onClick) {\\n                      e.preventDefault();\\n                      (it as any).onClick();\\n                    }\\n                  }}\\n                  rel=\"noopener\"\\n                  style={{\\n                    display: \"flex\",\\n                    alignItems: \"center\",\\n                    gap: 10,\\n                    padding: \"10px 10px\",\\n                    borderRadius: 12,\\n                    textDecoration: \"none\",\\n                    color: \"inherit\",\\n                    cursor: \"pointer\",\\n                  }}\\n                  whileHover={{ backgroundColor: \"rgba(0,0,0,0.04)\" }}\\n                  whileTap={{ scale: 0.98 }}\\n                >\\n                  <div\\n                    style={{\\n                      display: \"grid\",\\n                      placeItems: \"center\",\\n                      width: 34,\\n                      height: 34,\\n                      borderRadius: 10,\\n                      background: `${accent}1A`,\\n                      color: accent,\\n                    }}\\n                    aria-hidden\\n                  >\\n                    {(it as any).icon}\\n                  </div>\\n                  <div style={{ fontSize: 14, fontWeight: 500 }}>{it.label}</div>\\n                </motion.a>\\n              ))}\\n            </div>\\n          </motion.div>\\n        )}\\n      </AnimatePresence>\\n\\n      {/* Floating Action Button */}\\n      <motion.button\\n        aria-label={open ? \"Close contact options\" : \"Open contact options\"}\\n        onClick={() => setOpen((v) => !v)}\\n        whileTap={{ scale: 0.96 }}\\n        animate={{ y: [0, -2, 0] }}\\n        transition={{ repeat: Infinity, duration: 4, ease: \"easeInOut\" }}\\n        style={{\\n          width: 64,\\n          height: 64,\\n          borderRadius: 9999,\\n          border: \"none\",\\n          color: \"white\",\\n          background: props.logoSrc ? \"transparent\" : accent,\\n          display: \"grid\",\\n          placeItems: \"center\",\\n          boxShadow: \"0 10px 15px -3px rgba(0,0,0,0.2), 0 4px 6px -4px rgba(0,0,0,0.2)\",\\n          cursor: \"pointer\",\\n          padding: 0,\\n        }}\\n      >\\n        {props.logoSrc ? (\\n          <img\\n            ref={imgRef}\\n            src={props.logoSrc}\\n            alt=\"Contact\"\\n            width={props.logoSize || 56}\\n            height={props.logoSize || 56}\\n            style={{\\n              width: props.logoSize || 56,\\n              height: props.logoSize || 56,\\n              objectFit: \"contain\",\\n              display: \"block\",\\n              userSelect: \"none\",\\n              pointerEvents: \"none\",\\n            }}\\n          />\\n        ) : (\\n          <Icon.Chat />\\n        )}\\n      </motion.button>\\n    </div>\\n  );\\n}\\n\\n// ----------------------------------------------------------------------------\\n// Property controls (Framer)\\n// ----------------------------------------------------------------------------\\naddPropertyControls(ContactBubble, {\\n  accent: { type: ControlType.Color, title: \"Accent\", defaultValue: \"#EF476F\" },\\n  position: {\\n    type: ControlType.Enum,\\n    title: \"Position\",\\n    options: [\"bottom-right\", \"bottom-left\"],\\n    optionTitles: [\"Bottom Right\", \"Bottom Left\"],\\n    defaultValue: \"bottom-right\",\\n  },\\n  label: { type: ControlType.String, title: \"Header\", defaultValue: \"Need help?\" },\\n  showLabel: { type: ControlType.Boolean, title: \"Show Header\", defaultValue: true },\\n  phone: { type: ControlType.String, title: \"Phone (call)\", defaultValue: \"+13239885900\" },\\n  sms: { type: ControlType.String, title: \"SMS/iMessage #\", defaultValue: \"https://bcrw.apple.com/urn:biz:7dd751fa-1ed7-4382-9ce0-0e0baf01d9c7\" },\\n  email: { type: ControlType.String, title: \"Email\", defaultValue: \"hello@thedoc.la\" },\\n  whatsapp: { type: ControlType.String, title: \"WhatsApp #\", defaultValue: \"+13239885900\" },\\n  messenger: { type: ControlType.String, title: \"FB Messenger\", defaultValue: \"thedoctorla\" },\\n  chatUrl: { type: ControlType.String, title: \"Chat Fallback URL\", defaultValue: \"https://chat.ringcentral.com/your-org\" },\\n  ringcxOpenFn: { type: ControlType.String, title: \"RingCX open() fn\", defaultValue: \"openRingCX\" },\\n  logoSrc: { type: ControlType.String, title: \"Logo (PNG/SVG/WebP)\" },\\n  logoSize: {\\n    type: ControlType.Number,\\n    title: \"Logo Size (px)\",\\n    defaultValue: 56,\\n    min: 32,\\n    max: 128,\\n    step: 2,\\n  },\\n  enableNudge: { type: ControlType.Boolean, title: \"Enable Nudge\", defaultValue: true },\\n  nudgeText: { type: ControlType.String, title: \"Nudge Text\", defaultValue: \"Talk to us now\" },\\n  nudgeInitialDelayMs: { type: ControlType.Number, title: \"Nudge Initial Delay (ms)\", defaultValue: 10000, min: 0, max: 120000, step: 250 },\\n  nudgeRepeatDelayMs: { type: ControlType.Number, title: \"Nudge Repeat Delay (ms)\", defaultValue: 60000, min: 0, max: 300000, step: 500 },\\n  nudgeAutoCloseMs: { type: ControlType.Number, title: \"Nudge Auto Close (ms)\", defaultValue: 6000, min: 0, max: 60000, step: 250 },\\n  nudgeFrequency: { type: ControlType.Enum, title: \"Nudge Frequency\", options: [\"session\", \"daily\", \"always\"], optionTitles: [\"Per Session\", \"Daily\", \"Always\"], defaultValue: \"session\" },\\n});\\n\\n</script>',description:\" Modern Primary Care, Wellness, and Mental Health. Simple, effective everyday medical care coupled with wellness and mental health. Amazing outcomes, talented providers and excellent support teams without high bills or complicated paperwork.\",favicon:\"https://framerusercontent.com/assets/ACBmhV4yBwh43KHShqdgJmDsWQg.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/NuGzsRqsqwo00V3cyOXKpA8bvgU.png\",title:getLocalizedValue(\"v0\",activeLocale)??\"The Doctor - Modern Primary Care, Wellness, Aesthetics, and Mental Health.\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"2DACqD,SAAS,EAAkB,EAAI,EAAO,CAAC,KAAM,GAAO,CAAC,IAAM,EAAO,EAAiB,EAAO,IAAI,GAAG,EAAO,CAAC,IAAM,EAAM,EAAO,GAAK,GAAG,EAAM,OAAO,EAAO,EAAO,EAAO,UAAW,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAA6tnB,YAAY,oPAAoP,QAAQ,uEAAuE,OAAO,0BAA0B,YAAY,uEAAuE,MAAM,EAAkB,KAAK,EAAa,EAAE,6EAA6E,iBAA1kpB,EAAiB,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC"}