{"version":3,"file":"surveys-extension-utils.jsx","sourceRoot":"","sources":["../../../../src/extensions/surveys/surveys-extension-utils.tsx"],"names":[],"mappings":"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","sourcesContent":["import { VNode, cloneElement, createContext } from 'preact'\nimport { PostHog } from '../../posthog-core'\nimport {\n    MultipleSurveyQuestion,\n    Survey,\n    SurveyAppearance,\n    SurveyEventName,\n    SurveyEventProperties,\n    SurveyPosition,\n    SurveyQuestion,\n    SurveySchedule,\n    SurveyType,\n    SurveyWidgetType,\n} from '../../posthog-surveys-types'\nimport { document as _document, window as _window, userAgent } from '../../utils/globals'\nimport {\n    getSurveyInteractionProperty,\n    getSurveySeenKey,\n    SURVEY_LOGGER as logger,\n    setSurveySeenOnLocalStorage,\n    SURVEY_IN_PROGRESS_PREFIX,\n} from '../../utils/survey-utils'\nimport { isArray, isNullish } from '@posthog/core'\n\nimport { detectDeviceType } from '../../utils/user-agent-utils'\nimport { propertyComparisons } from '../../utils/property-utils'\nimport { PropertyMatchType } from '../../types'\nimport { prepareStylesheet } from '../utils/stylesheet-loader'\n// We cast the types here which is dangerous but protected by the top level generateSurveys call\nconst window = _window as Window & typeof globalThis\nconst document = _document as Document\nimport surveyStyles from './survey.css'\nimport { useContext } from 'preact/hooks'\n\nexport function getFontFamily(fontFamily?: string): string {\n    if (fontFamily === 'inherit') {\n        return 'inherit'\n    }\n\n    const defaultFontStack =\n        'BlinkMacSystemFont, \"Inter\", \"Segoe UI\", \"Roboto\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"'\n    return fontFamily ? `${fontFamily}, ${defaultFontStack}` : `-apple-system, ${defaultFontStack}`\n}\n\nexport function getSurveyResponseKey(questionId: string) {\n    return `$survey_response_${questionId}`\n}\n\nconst BLACK_TEXT_COLOR = '#020617' // Maps out to text-slate-950 from tailwind colors. Intended for text use outside interactive elements like buttons\n\n// Keep in sync with defaultSurveyAppearance on the main app\nexport const defaultSurveyAppearance = {\n    fontFamily: 'inherit',\n    backgroundColor: '#eeeded',\n    submitButtonColor: 'black',\n    submitButtonTextColor: 'white',\n    ratingButtonColor: 'white',\n    ratingButtonActiveColor: 'black',\n    borderColor: '#c9c6c6',\n    placeholder: 'Start typing...',\n    whiteLabel: false,\n    displayThankYouMessage: true,\n    thankYouMessageHeader: 'Thank you for your feedback!',\n    position: SurveyPosition.Right,\n    widgetType: SurveyWidgetType.Tab,\n    widgetLabel: 'Feedback',\n    widgetColor: 'black',\n    zIndex: '2147483647',\n    disabledButtonOpacity: '0.6',\n    maxWidth: '300px',\n    textSubtleColor: '#939393',\n    boxPadding: '20px 24px',\n    boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)',\n    borderRadius: '10px',\n    shuffleQuestions: false,\n    surveyPopupDelaySeconds: undefined,\n    // Not customizable atm\n    outlineColor: 'rgba(59, 130, 246, 0.8)',\n    inputBackground: 'white',\n    inputTextColor: BLACK_TEXT_COLOR,\n    scrollbarThumbColor: 'var(--ph-survey-border-color)',\n    scrollbarTrackColor: 'var(--ph-survey-background-color)',\n} as const\n\nexport const addSurveyCSSVariablesToElement = (\n    element: HTMLElement,\n    type: SurveyType,\n    appearance?: SurveyAppearance | null\n) => {\n    const effectiveAppearance = { ...defaultSurveyAppearance, ...appearance }\n    const hostStyle = element.style\n\n    const surveyHasBottomBorder =\n        ![SurveyPosition.Center, SurveyPosition.Left, SurveyPosition.Right].includes(effectiveAppearance.position) ||\n        (type === SurveyType.Widget && appearance?.widgetType === SurveyWidgetType.Tab)\n\n    hostStyle.setProperty('--ph-survey-font-family', getFontFamily(effectiveAppearance.fontFamily))\n    hostStyle.setProperty('--ph-survey-box-padding', effectiveAppearance.boxPadding)\n    hostStyle.setProperty('--ph-survey-max-width', effectiveAppearance.maxWidth)\n    hostStyle.setProperty('--ph-survey-z-index', effectiveAppearance.zIndex)\n    hostStyle.setProperty('--ph-survey-border-color', effectiveAppearance.borderColor)\n    // Non-bottom surveys or tab surveys have the border bottom\n    if (surveyHasBottomBorder) {\n        hostStyle.setProperty('--ph-survey-border-radius', effectiveAppearance.borderRadius)\n        hostStyle.setProperty('--ph-survey-border-bottom', '1.5px solid var(--ph-survey-border-color)')\n    } else {\n        hostStyle.setProperty('--ph-survey-border-bottom', 'none')\n        hostStyle.setProperty(\n            '--ph-survey-border-radius',\n            `${effectiveAppearance.borderRadius} ${effectiveAppearance.borderRadius} 0 0`\n        )\n    }\n    hostStyle.setProperty('--ph-survey-background-color', effectiveAppearance.backgroundColor)\n    hostStyle.setProperty('--ph-survey-box-shadow', effectiveAppearance.boxShadow)\n    hostStyle.setProperty('--ph-survey-disabled-button-opacity', effectiveAppearance.disabledButtonOpacity)\n    hostStyle.setProperty('--ph-survey-submit-button-color', effectiveAppearance.submitButtonColor)\n    hostStyle.setProperty(\n        '--ph-survey-submit-button-text-color',\n        appearance?.submitButtonTextColor || getContrastingTextColor(effectiveAppearance.submitButtonColor)\n    )\n    hostStyle.setProperty('--ph-survey-rating-bg-color', effectiveAppearance.ratingButtonColor)\n    hostStyle.setProperty(\n        '--ph-survey-rating-text-color',\n        getContrastingTextColor(effectiveAppearance.ratingButtonColor)\n    )\n    hostStyle.setProperty('--ph-survey-rating-active-bg-color', effectiveAppearance.ratingButtonActiveColor)\n    hostStyle.setProperty(\n        '--ph-survey-rating-active-text-color',\n        getContrastingTextColor(effectiveAppearance.ratingButtonActiveColor)\n    )\n    hostStyle.setProperty(\n        '--ph-survey-text-primary-color',\n        getContrastingTextColor(effectiveAppearance.backgroundColor)\n    )\n    hostStyle.setProperty('--ph-survey-text-subtle-color', effectiveAppearance.textSubtleColor)\n    hostStyle.setProperty('--ph-widget-color', effectiveAppearance.widgetColor)\n    hostStyle.setProperty('--ph-widget-text-color', getContrastingTextColor(effectiveAppearance.widgetColor))\n    hostStyle.setProperty('--ph-widget-z-index', effectiveAppearance.zIndex)\n\n    // Adjust input/choice background slightly if main background is white\n    if (effectiveAppearance.backgroundColor === 'white') {\n        hostStyle.setProperty('--ph-survey-input-background', '#f8f8f8')\n    }\n\n    hostStyle.setProperty('--ph-survey-input-background', effectiveAppearance.inputBackground)\n    hostStyle.setProperty('--ph-survey-input-text-color', getContrastingTextColor(effectiveAppearance.inputBackground))\n    hostStyle.setProperty('--ph-survey-scrollbar-thumb-color', effectiveAppearance.scrollbarThumbColor)\n    hostStyle.setProperty('--ph-survey-scrollbar-track-color', effectiveAppearance.scrollbarTrackColor)\n    hostStyle.setProperty('--ph-survey-outline-color', effectiveAppearance.outlineColor)\n}\n\nfunction nameToHex(name: string) {\n    return {\n        aliceblue: '#f0f8ff',\n        antiquewhite: '#faebd7',\n        aqua: '#00ffff',\n        aquamarine: '#7fffd4',\n        azure: '#f0ffff',\n        beige: '#f5f5dc',\n        bisque: '#ffe4c4',\n        black: '#000000',\n        blanchedalmond: '#ffebcd',\n        blue: '#0000ff',\n        blueviolet: '#8a2be2',\n        brown: '#a52a2a',\n        burlywood: '#deb887',\n        cadetblue: '#5f9ea0',\n        chartreuse: '#7fff00',\n        chocolate: '#d2691e',\n        coral: '#ff7f50',\n        cornflowerblue: '#6495ed',\n        cornsilk: '#fff8dc',\n        crimson: '#dc143c',\n        cyan: '#00ffff',\n        darkblue: '#00008b',\n        darkcyan: '#008b8b',\n        darkgoldenrod: '#b8860b',\n        darkgray: '#a9a9a9',\n        darkgreen: '#006400',\n        darkkhaki: '#bdb76b',\n        darkmagenta: '#8b008b',\n        darkolivegreen: '#556b2f',\n        darkorange: '#ff8c00',\n        darkorchid: '#9932cc',\n        darkred: '#8b0000',\n        darksalmon: '#e9967a',\n        darkseagreen: '#8fbc8f',\n        darkslateblue: '#483d8b',\n        darkslategray: '#2f4f4f',\n        darkturquoise: '#00ced1',\n        darkviolet: '#9400d3',\n        deeppink: '#ff1493',\n        deepskyblue: '#00bfff',\n        dimgray: '#696969',\n        dodgerblue: '#1e90ff',\n        firebrick: '#b22222',\n        floralwhite: '#fffaf0',\n        forestgreen: '#228b22',\n        fuchsia: '#ff00ff',\n        gainsboro: '#dcdcdc',\n        ghostwhite: '#f8f8ff',\n        gold: '#ffd700',\n        goldenrod: '#daa520',\n        gray: '#808080',\n        green: '#008000',\n        greenyellow: '#adff2f',\n        honeydew: '#f0fff0',\n        hotpink: '#ff69b4',\n        'indianred ': '#cd5c5c',\n        indigo: '#4b0082',\n        ivory: '#fffff0',\n        khaki: '#f0e68c',\n        lavender: '#e6e6fa',\n        lavenderblush: '#fff0f5',\n        lawngreen: '#7cfc00',\n        lemonchiffon: '#fffacd',\n        lightblue: '#add8e6',\n        lightcoral: '#f08080',\n        lightcyan: '#e0ffff',\n        lightgoldenrodyellow: '#fafad2',\n        lightgrey: '#d3d3d3',\n        lightgreen: '#90ee90',\n        lightpink: '#ffb6c1',\n        lightsalmon: '#ffa07a',\n        lightseagreen: '#20b2aa',\n        lightskyblue: '#87cefa',\n        lightslategray: '#778899',\n        lightsteelblue: '#b0c4de',\n        lightyellow: '#ffffe0',\n        lime: '#00ff00',\n        limegreen: '#32cd32',\n        linen: '#faf0e6',\n        magenta: '#ff00ff',\n        maroon: '#800000',\n        mediumaquamarine: '#66cdaa',\n        mediumblue: '#0000cd',\n        mediumorchid: '#ba55d3',\n        mediumpurple: '#9370d8',\n        mediumseagreen: '#3cb371',\n        mediumslateblue: '#7b68ee',\n        mediumspringgreen: '#00fa9a',\n        mediumturquoise: '#48d1cc',\n        mediumvioletred: '#c71585',\n        midnightblue: '#191970',\n        mintcream: '#f5fffa',\n        mistyrose: '#ffe4e1',\n        moccasin: '#ffe4b5',\n        navajowhite: '#ffdead',\n        navy: '#000080',\n        oldlace: '#fdf5e6',\n        olive: '#808000',\n        olivedrab: '#6b8e23',\n        orange: '#ffa500',\n        orangered: '#ff4500',\n        orchid: '#da70d6',\n        palegoldenrod: '#eee8aa',\n        palegreen: '#98fb98',\n        paleturquoise: '#afeeee',\n        palevioletred: '#d87093',\n        papayawhip: '#ffefd5',\n        peachpuff: '#ffdab9',\n        peru: '#cd853f',\n        pink: '#ffc0cb',\n        plum: '#dda0dd',\n        powderblue: '#b0e0e6',\n        purple: '#800080',\n        red: '#ff0000',\n        rosybrown: '#bc8f8f',\n        royalblue: '#4169e1',\n        saddlebrown: '#8b4513',\n        salmon: '#fa8072',\n        sandybrown: '#f4a460',\n        seagreen: '#2e8b57',\n        seashell: '#fff5ee',\n        sienna: '#a0522d',\n        silver: '#c0c0c0',\n        skyblue: '#87ceeb',\n        slateblue: '#6a5acd',\n        slategray: '#708090',\n        snow: '#fffafa',\n        springgreen: '#00ff7f',\n        steelblue: '#4682b4',\n        tan: '#d2b48c',\n        teal: '#008080',\n        thistle: '#d8bfd8',\n        tomato: '#ff6347',\n        turquoise: '#40e0d0',\n        violet: '#ee82ee',\n        wheat: '#f5deb3',\n        white: '#ffffff',\n        whitesmoke: '#f5f5f5',\n        yellow: '#ffff00',\n        yellowgreen: '#9acd32',\n    }[name.toLowerCase()]\n}\n\nfunction hex2rgb(c: string) {\n    if (c[0] === '#') {\n        const hexColor = c.replace(/^#/, '')\n        const r = parseInt(hexColor.slice(0, 2), 16)\n        const g = parseInt(hexColor.slice(2, 4), 16)\n        const b = parseInt(hexColor.slice(4, 6), 16)\n        return 'rgb(' + r + ',' + g + ',' + b + ')'\n    }\n    return 'rgb(255, 255, 255)'\n}\n\nfunction getContrastingTextColor(color: string = defaultSurveyAppearance.backgroundColor) {\n    let rgb\n    if (color[0] === '#') {\n        rgb = hex2rgb(color)\n    }\n    if (color.startsWith('rgb')) {\n        rgb = color\n    }\n    // otherwise it's a color name\n    const nameColorToHex = nameToHex(color)\n    if (nameColorToHex) {\n        rgb = hex2rgb(nameColorToHex)\n    }\n    if (!rgb) {\n        return BLACK_TEXT_COLOR\n    }\n    const colorMatch = rgb.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/)\n    if (colorMatch) {\n        const r = parseInt(colorMatch[1])\n        const g = parseInt(colorMatch[2])\n        const b = parseInt(colorMatch[3])\n        const hsp = Math.sqrt(0.299 * (r * r) + 0.587 * (g * g) + 0.114 * (b * b))\n        return hsp > 127.5 ? BLACK_TEXT_COLOR : 'white'\n    }\n    return BLACK_TEXT_COLOR\n}\n\nexport function getSurveyStylesheet(posthog?: PostHog) {\n    const stylesheet = prepareStylesheet(document, typeof surveyStyles === 'string' ? surveyStyles : '', posthog)\n    stylesheet?.setAttribute('data-ph-survey-style', 'true')\n    return stylesheet\n}\n\nexport const retrieveSurveyShadow = (\n    survey: Pick<Survey, 'id' | 'appearance' | 'type'>,\n    posthog?: PostHog,\n    element?: Element\n) => {\n    const widgetClassName = getSurveyContainerClass(survey)\n    const existingDiv = document.querySelector(`.${widgetClassName}`)\n\n    if (existingDiv && existingDiv.shadowRoot) {\n        return {\n            shadow: existingDiv.shadowRoot,\n            isNewlyCreated: false,\n        }\n    }\n\n    // If it doesn't exist, create it\n    const div = document.createElement('div')\n    addSurveyCSSVariablesToElement(div, survey.type, survey.appearance)\n    div.className = widgetClassName\n    const shadow = div.attachShadow({ mode: 'open' })\n    const stylesheet = getSurveyStylesheet(posthog)\n    if (stylesheet) {\n        const existingStylesheet = shadow.querySelector('style')\n        if (existingStylesheet) {\n            shadow.removeChild(existingStylesheet)\n        }\n        shadow.appendChild(stylesheet)\n    }\n    ;(element ? element : document.body).appendChild(div)\n    return {\n        shadow,\n        isNewlyCreated: true,\n    }\n}\n\ninterface SendSurveyEventArgs {\n    responses: Record<string, string | number | string[] | null>\n    survey: Survey\n    surveySubmissionId: string\n    isSurveyCompleted: boolean\n    posthog?: PostHog\n}\n\nconst getSurveyResponseValue = (responses: Record<string, string | number | string[] | null>, questionId?: string) => {\n    if (!questionId) {\n        return null\n    }\n    const response = responses[getSurveyResponseKey(questionId)]\n    if (isArray(response)) {\n        return [...response]\n    }\n    return response\n}\n\nexport const sendSurveyEvent = ({\n    responses,\n    survey,\n    surveySubmissionId,\n    posthog,\n    isSurveyCompleted,\n}: SendSurveyEventArgs) => {\n    if (!posthog) {\n        logger.error('[survey sent] event not captured, PostHog instance not found.')\n        return\n    }\n    setSurveySeenOnLocalStorage(survey)\n    posthog.capture(SurveyEventName.SENT, {\n        [SurveyEventProperties.SURVEY_NAME]: survey.name,\n        [SurveyEventProperties.SURVEY_ID]: survey.id,\n        [SurveyEventProperties.SURVEY_ITERATION]: survey.current_iteration,\n        [SurveyEventProperties.SURVEY_ITERATION_START_DATE]: survey.current_iteration_start_date,\n        [SurveyEventProperties.SURVEY_QUESTIONS]: survey.questions.map((question) => ({\n            id: question.id,\n            question: question.question,\n            response: getSurveyResponseValue(responses, question.id),\n        })),\n        [SurveyEventProperties.SURVEY_SUBMISSION_ID]: surveySubmissionId,\n        [SurveyEventProperties.SURVEY_COMPLETED]: isSurveyCompleted,\n        sessionRecordingUrl: posthog.get_session_replay_url?.(),\n        ...responses,\n        $set: {\n            [getSurveyInteractionProperty(survey, 'responded')]: true,\n        },\n    })\n    if (isSurveyCompleted) {\n        // Only dispatch PHSurveySent if the survey is completed, as that removes the survey from focus\n        window.dispatchEvent(new CustomEvent('PHSurveySent', { detail: { surveyId: survey.id } }))\n        clearInProgressSurveyState(survey)\n    }\n}\n\nexport const dismissedSurveyEvent = (survey: Survey, posthog?: PostHog, readOnly?: boolean) => {\n    if (!posthog) {\n        logger.error('[survey dismissed] event not captured, PostHog instance not found.')\n        return\n    }\n    if (readOnly) {\n        return\n    }\n\n    const inProgressSurvey = getInProgressSurveyState(survey)\n    posthog.capture(SurveyEventName.DISMISSED, {\n        [SurveyEventProperties.SURVEY_NAME]: survey.name,\n        [SurveyEventProperties.SURVEY_ID]: survey.id,\n        [SurveyEventProperties.SURVEY_ITERATION]: survey.current_iteration,\n        [SurveyEventProperties.SURVEY_ITERATION_START_DATE]: survey.current_iteration_start_date,\n        // check if the survey is partially completed\n        [SurveyEventProperties.SURVEY_PARTIALLY_COMPLETED]:\n            Object.values(inProgressSurvey?.responses || {}).filter((resp) => !isNullish(resp)).length > 0,\n        sessionRecordingUrl: posthog.get_session_replay_url?.(),\n        ...inProgressSurvey?.responses,\n        [SurveyEventProperties.SURVEY_SUBMISSION_ID]: inProgressSurvey?.surveySubmissionId,\n        [SurveyEventProperties.SURVEY_QUESTIONS]: survey.questions.map((question) => ({\n            id: question.id,\n            question: question.question,\n            response: getSurveyResponseValue(inProgressSurvey?.responses || {}, question.id),\n        })),\n        $set: {\n            [getSurveyInteractionProperty(survey, 'dismissed')]: true,\n        },\n    })\n    // Clear in-progress state on dismissal\n    clearInProgressSurveyState(survey)\n    setSurveySeenOnLocalStorage(survey)\n    window.dispatchEvent(new CustomEvent('PHSurveyClosed', { detail: { surveyId: survey.id } }))\n}\n\n// Use the Fisher-yates algorithm to shuffle this array\n// https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle\nexport const shuffle = (array: any[]) => {\n    return array\n        .map((a) => ({ sort: Math.floor(Math.random() * 10), value: a }))\n        .sort((a, b) => a.sort - b.sort)\n        .map((a) => a.value)\n}\n\nconst reverseIfUnshuffled = (unshuffled: any[], shuffled: any[]): any[] => {\n    if (unshuffled.length === shuffled.length && unshuffled.every((val, index) => val === shuffled[index])) {\n        return shuffled.reverse()\n    }\n\n    return shuffled\n}\n\nexport const getDisplayOrderChoices = (question: MultipleSurveyQuestion): string[] => {\n    if (!question.shuffleOptions) {\n        return question.choices\n    }\n\n    const displayOrderChoices = question.choices\n    let openEndedChoice = ''\n    if (question.hasOpenChoice) {\n        // if the question has an open-ended choice, its always the last element in the choices array.\n        openEndedChoice = displayOrderChoices.pop()!\n    }\n\n    const shuffledOptions = reverseIfUnshuffled(displayOrderChoices, shuffle(displayOrderChoices))\n\n    if (question.hasOpenChoice) {\n        question.choices.push(openEndedChoice)\n        shuffledOptions.push(openEndedChoice)\n    }\n\n    return shuffledOptions\n}\n\nexport const getDisplayOrderQuestions = (survey: Survey): SurveyQuestion[] => {\n    if (!survey.appearance || !survey.appearance.shuffleQuestions || survey.enable_partial_responses) {\n        return survey.questions\n    }\n\n    return reverseIfUnshuffled(survey.questions, shuffle(survey.questions))\n}\n\nexport const hasEvents = (survey: Pick<Survey, 'conditions'>): boolean => {\n    return survey.conditions?.events?.values?.length != undefined && survey.conditions?.events?.values?.length > 0\n}\n\nexport const canActivateRepeatedly = (\n    survey: Pick<Survey, 'schedule' | 'conditions' | 'id' | 'current_iteration'>\n): boolean => {\n    return (\n        !!(survey.conditions?.events?.repeatedActivation && hasEvents(survey)) ||\n        survey.schedule === SurveySchedule.Always ||\n        isSurveyInProgress(survey)\n    )\n}\n\n/**\n * getSurveySeen checks local storage for the surveySeen Key a\n * and overrides this value if the survey can be repeatedly activated by its events.\n * @param survey\n */\nexport const getSurveySeen = (survey: Survey): boolean => {\n    const surveySeen = localStorage.getItem(getSurveySeenKey(survey))\n    if (surveySeen) {\n        // if a survey has already been seen,\n        // we will override it with the event repeated activation value.\n        return !canActivateRepeatedly(survey)\n    }\n\n    return false\n}\n\nconst LAST_SEEN_SURVEY_DATE_KEY = 'lastSeenSurveyDate'\n\nexport const hasWaitPeriodPassed = (waitPeriodInDays: number | undefined): boolean => {\n    const lastSeenSurveyDate = localStorage.getItem(LAST_SEEN_SURVEY_DATE_KEY)\n    if (!waitPeriodInDays || !lastSeenSurveyDate) {\n        return true\n    }\n\n    const today = new Date()\n    const diff = Math.abs(today.getTime() - new Date(lastSeenSurveyDate).getTime())\n    const diffDaysFromToday = Math.ceil(diff / (1000 * 3600 * 24))\n    return diffDaysFromToday > waitPeriodInDays\n}\n\ninterface SurveyContextProps {\n    isPreviewMode: boolean\n    previewPageIndex: number | undefined\n    onPopupSurveyDismissed: () => void\n    isPopup: boolean\n    onPreviewSubmit: (res: string | string[] | number | null) => void\n    surveySubmissionId: string\n}\n\nexport const SurveyContext = createContext<SurveyContextProps>({\n    isPreviewMode: false,\n    previewPageIndex: 0,\n    onPopupSurveyDismissed: () => {},\n    isPopup: true,\n    onPreviewSubmit: () => {},\n    surveySubmissionId: '',\n})\n\nexport const useSurveyContext = () => {\n    return useContext(SurveyContext)\n}\n\ninterface RenderProps {\n    component: VNode<{ className: string }>\n    children: string\n    renderAsHtml?: boolean\n    style?: React.CSSProperties\n}\n\nexport const renderChildrenAsTextOrHtml = ({ component, children, renderAsHtml, style }: RenderProps) => {\n    return renderAsHtml\n        ? cloneElement(component, {\n              dangerouslySetInnerHTML: { __html: children },\n              style,\n          })\n        : cloneElement(component, {\n              children,\n              style,\n          })\n}\n\nfunction defaultMatchType(matchType?: PropertyMatchType): PropertyMatchType {\n    return matchType ?? 'icontains'\n}\n\n// use urlMatchType to validate url condition, fallback to contains for backwards compatibility\nexport function doesSurveyUrlMatch(survey: Pick<Survey, 'conditions'>): boolean {\n    if (!survey.conditions?.url) {\n        return true\n    }\n    // if we dont know the url, assume it is not a match\n    const href = window?.location?.href\n    if (!href) {\n        return false\n    }\n    const targets = [survey.conditions.url]\n    const matchType = defaultMatchType(survey.conditions?.urlMatchType)\n    return propertyComparisons[matchType](targets, [href])\n}\n\nexport function doesSurveyDeviceTypesMatch(survey: Survey): boolean {\n    if (!survey.conditions?.deviceTypes || survey.conditions?.deviceTypes.length === 0) {\n        return true\n    }\n    // if we dont know the device type, assume it is not a match\n    if (!userAgent) {\n        return false\n    }\n\n    const deviceType = detectDeviceType(userAgent)\n    return propertyComparisons[defaultMatchType(survey.conditions?.deviceTypesMatchType)](\n        survey.conditions.deviceTypes,\n        [deviceType]\n    )\n}\n\nexport function doesSurveyMatchSelector(survey: Survey): boolean {\n    if (!survey.conditions?.selector) {\n        return true\n    }\n    return !!document?.querySelector(survey.conditions.selector)\n}\n\ninterface InProgressSurveyState {\n    surveySubmissionId: string\n    lastQuestionIndex: number\n    responses: Record<string, string | number | string[] | null>\n}\n\nconst getInProgressSurveyStateKey = (survey: Pick<Survey, 'id' | 'current_iteration'>): string => {\n    let key = `${SURVEY_IN_PROGRESS_PREFIX}${survey.id}`\n    if (survey.current_iteration && survey.current_iteration > 0) {\n        key = `${SURVEY_IN_PROGRESS_PREFIX}${survey.id}_${survey.current_iteration}`\n    }\n    return key\n}\n\nexport const setInProgressSurveyState = (\n    survey: Pick<Survey, 'id' | 'current_iteration'>,\n    state: InProgressSurveyState\n): void => {\n    try {\n        localStorage.setItem(getInProgressSurveyStateKey(survey), JSON.stringify(state))\n    } catch (e) {\n        logger.error('Error setting in-progress survey state in localStorage', e)\n    }\n}\n\nexport const getInProgressSurveyState = (\n    survey: Pick<Survey, 'id' | 'current_iteration'>\n): InProgressSurveyState | null => {\n    try {\n        const stateString = localStorage.getItem(getInProgressSurveyStateKey(survey))\n        if (stateString) {\n            return JSON.parse(stateString) as InProgressSurveyState\n        }\n    } catch (e) {\n        logger.error('Error getting in-progress survey state from localStorage', e)\n    }\n    return null\n}\n\nexport const isSurveyInProgress = (survey: Pick<Survey, 'id' | 'current_iteration'>): boolean => {\n    const state = getInProgressSurveyState(survey)\n    return !isNullish(state?.surveySubmissionId)\n}\n\nexport const clearInProgressSurveyState = (survey: Pick<Survey, 'id' | 'current_iteration'>): void => {\n    try {\n        localStorage.removeItem(getInProgressSurveyStateKey(survey))\n    } catch (e) {\n        logger.error('Error clearing in-progress survey state from localStorage', e)\n    }\n}\n\nexport function getSurveyContainerClass(survey: Pick<Survey, 'id'>, asSelector = false): string {\n    const className = `PostHogSurvey-${survey.id}`\n    return asSelector ? `.${className}` : className\n}\n"]}