@washingtonpost/subs-de-inputs 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/components/DEDataSelectProps/index.d.ts +1 -0
- package/dist/index.d.ts +0 -2
- package/dist/interfaces/index.d.ts +28 -61
- package/dist/services/dataEnrichment.d.ts +2 -3
- package/dist/subs-de-inputs.cjs.development.js +67 -436
- package/dist/subs-de-inputs.cjs.development.js.map +1 -1
- package/dist/subs-de-inputs.cjs.production.min.js +1 -1
- package/dist/subs-de-inputs.cjs.production.min.js.map +1 -1
- package/dist/subs-de-inputs.esm.js +65 -435
- package/dist/subs-de-inputs.esm.js.map +1 -1
- package/dist/utils/getDefaultSubmitData.d.ts +1 -1
- package/package.json +1 -1
- package/dist/components/DataEnrichmentForm/index.d.ts +0 -2
- package/dist/components/Dropdown/index.d.ts +0 -11
- package/dist/services/sendToGA.d.ts +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subs-de-inputs.cjs.development.js","sources":["../src/interfaces/index.ts","../src/components/Dropdown/index.tsx","../src/utils/hasRequiredPrivacyCookies.ts","../src/services/dataEnrichment.ts","../src/services/sendToGA.ts","../src/utils/getDefaultSubmitData.ts","../src/components/DataEnrichmentForm/index.tsx"],"sourcesContent":["import { FormEventHandler } from 'react';\n\nexport enum I1pDataInputTypes {\n DROPDOWN = 'dropdown',\n}\n\nexport enum I1pIngestDataTypes {\n JOB_LEVEL = 'profile_job_level',\n JOB_INDUSTRY = 'profile_job_industry',\n NY_PERSONAL_GOALS = 'new_year_personal_goals',\n NY_HOBBIES = 'new_year_hobbies',\n NY_PROFESSIONAL_GOALS = 'new_year_professional_goals',\n NY_INDUSTRY = 'new_year_industry',\n NY_NEWS_LOCATION = 'new_year_news_location',\n}\n\nexport interface I1pDataInputValue {\n archived: boolean;\n name: string;\n order: number;\n date_created?: string;\n last_modified_date?: string;\n}\n\nexport interface I1pDataInputProps {\n id: I1pIngestDataTypes;\n input_label: string;\n input_prompt?: string;\n input_type: I1pDataInputTypes;\n required: boolean;\n default_value?: string;\n values?: Array<I1pDataInputValue>;\n}\n\nexport interface I1pDataFormSubmitData {\n [key: string]: string[];\n}\n\nexport enum I1pDataIngestTypes {\n EXPLICIT = 'explicit',\n IMPLICIT = 'implicit',\n}\n\nexport interface I1pDataFormProps {\n source: string;\n submit?: boolean;\n ingestType: I1pDataIngestTypes;\n onChange?: (\n submitData: I1pDataFormSubmitData,\n requiredFieldsReady: boolean\n ) => void;\n onFinished?: (isFinished: boolean, isError: boolean) => void;\n formOptions?: Array<I1pDataInputProps>;\n handleSubmit?: FormEventHandler<HTMLFormElement>;\n disabled?: boolean;\n}\n\nexport type I1pIngestPropsData = {\n [key in I1pIngestDataTypes]?: string[];\n};\n\nexport interface I1pIngestProps {\n type: 'implicit' | 'explicit';\n data: I1pIngestPropsData;\n metadata?: Record<string, string | null | undefined>;\n [key: string]: any;\n}\n\nexport enum IngestResponseState {\n SUCCESS = '100',\n SYSTEM_ERROR = '101',\n INVALID_TYPE = '102',\n INVALID_IDENTIFIER = '103',\n INVALID_DATA = '104',\n INVALID_ATTRIBUTE_DEFINITION = '105',\n INVALID_META_DEFINITION = '106',\n}\n","import React, { useEffect, useState } from 'react';\nimport { Icon, Select, styled, theme } from '@washingtonpost/wpds-ui-kit';\nimport { useWindowSize } from '@washingtonpost/subs-hooks';\nimport { ChevronDown } from '@washingtonpost/wpds-assets';\n\ninterface IDropdownProps {\n id: string;\n label: string;\n values: Array<string>;\n required?: boolean;\n defaultValue?: string;\n onChange?: (value: string) => void;\n disabled?: boolean;\n}\n\nconst StyledMobileSelect = styled('select', {\n padding: '12px 16px 12px 6px',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n backgroundColor: '$secondary',\n color: '$primary',\n fontFamily: '$meta',\n fontSize: '$100',\n fontWeight: '$light',\n lineHeight: '$125',\n paddingBlockRight: '$125',\n textOverflow: 'ellipsis',\n position: 'relative',\n borderColor: 'transparent',\n borderRightWidth: '10px',\n borderRightColor: 'transparent',\n appearance: 'none',\n '-webkit-appearance': 'none',\n '&:disabled': {\n backgroundColor: theme.colors.disabled,\n borderColor: theme.colors.disabled,\n color: theme.colors.onDisabled,\n cursor: 'not-allowed',\n },\n});\n\nconst StyledSelectWrapper = styled('div', {\n width: '100%',\n maxWidth: '380px',\n borderRadius: '$012',\n borderColor: '$subtle',\n borderStyle: 'solid',\n borderWidth: '1px',\n backgroundColor: '$secondary',\n position: 'relative',\n});\n\nconst StyledMobileOption = styled('option', {\n fontFamily: 'inherit',\n fontSize: 'inherit',\n color: 'inherit',\n});\n\nexport const Dropdown = ({\n id,\n label,\n values,\n required = false,\n defaultValue,\n onChange = () => {},\n disabled = false,\n}: IDropdownProps) => {\n const [answer, setAnswer] = useState<string>();\n const { isMobileSize } = useWindowSize();\n\n useEffect(() => {\n if (answer) onChange(answer);\n }, [answer]);\n\n const defaultValueProp = defaultValue ? { defaultValue } : {};\n\n const disabledProp = disabled ? { disabled: true } : {};\n\n const defaultValuePropMobile = (value: string) => {\n return value === defaultValue ? { selected: true } : {};\n };\n\n return isMobileSize ? (\n <StyledSelectWrapper>\n <StyledMobileSelect\n id=\"\"\n required={required}\n onChange={(e) => setAnswer(e.target.value)}\n placeholder={label}\n {...disabledProp}\n >\n <label>{label}</label>\n <StyledMobileOption\n value=\"\"\n disabled\n selected\n style={{ color: '#666666' }}\n >\n {label}\n </StyledMobileOption>\n {values.map((value) => (\n <StyledMobileOption\n value={value}\n key={value}\n {...defaultValuePropMobile(value)}\n >\n {value}\n </StyledMobileOption>\n ))}\n </StyledMobileSelect>\n <Icon\n label=\"\"\n size=\"100\"\n fill={theme.colors['gray80']}\n style={{\n pointerEvents: 'none',\n position: 'absolute',\n right: '10px',\n top: '50%',\n transform: 'translateY(-50%)',\n }}\n >\n <ChevronDown style={{ position: 'absolute', right: '10px' }} />\n </Icon>\n </StyledSelectWrapper>\n ) : (\n <Select.Root\n onValueChange={(e) => setAnswer(e)}\n required={required}\n {...defaultValueProp}\n {...disabledProp}\n >\n <Select.Trigger data-test-id={`${id}-dropdown-label`}>\n <Select.Label>{label}</Select.Label>\n <Select.Value />\n </Select.Trigger>\n <Select.Content css={{ zIndex: 8 }} data-test-id={`${id}-dropdown-input`}>\n {values.map((value) => (\n <Select.Item value={value} key={value}>\n {value}\n </Select.Item>\n ))}\n </Select.Content>\n </Select.Root>\n );\n};\n","import { WPGeo, getCookie } from '@washingtonpost/subs-sdk';\n\nexport const hasRequiredPrivacyCookies = () => {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const wp_usp = getCookie('wp_usp');\n\n const countryCode = WPGeo()?.country_code;\n\n return !!(wp_usp && countryCode === 'US');\n};\n","import { ENDPOINTS, getCookie } from '@washingtonpost/subs-sdk';\nimport {\n I1pDataIngestTypes,\n I1pIngestProps,\n I1pIngestPropsData,\n} from '../interfaces';\nimport { hasRequiredPrivacyCookies } from '../utils/hasRequiredPrivacyCookies';\n\nconst base = `${ENDPOINTS.base}/de/v1`;\n\nconst JSONHeaders = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n};\n\nexport const ingest = async (\n submitData: I1pIngestPropsData,\n metadata: { [key: string]: string }\n) => {\n const url = `${base}/ingest`;\n\n const wapo_login_id = getCookie('wapo_login_id');\n\n if (!hasRequiredPrivacyCookies()) {\n throw new Error('does not satisfy cookie check');\n }\n\n const jucid = localStorage.getItem('uuid');\n const ga = getCookie('_ga');\n\n const payload: I1pIngestProps = {\n jucid,\n ga,\n type: I1pDataIngestTypes.EXPLICIT,\n wapo_login_id, // TODO: move this to BE to read from cookie headers\n data: submitData,\n metadata,\n };\n\n try {\n const response = await fetch(url, {\n method: 'POST',\n credentials: 'include',\n headers: JSONHeaders,\n body: JSON.stringify(payload),\n });\n\n const json = await response.json();\n\n return json;\n } catch (e) {\n console.debug(e);\n return null;\n }\n};\n","import { I1pIngestDataTypes, I1pIngestPropsData } from '../interfaces';\nimport { hasRequiredPrivacyCookies } from '../utils/hasRequiredPrivacyCookies';\n\nexport interface ISendGAEvent {\n event: string;\n category: string;\n action: string;\n label: string;\n 'de-label': I1pIngestDataTypes;\n [key: string]: undefined | string | string[];\n}\n\nconst sendGAEvent = (props: ISendGAEvent): void => {\n if (typeof window === 'undefined') {\n if (__DEV__) console.warn('NO WINDOW');\n return;\n }\n // Initialize dataLayer if needed\n window.dataLayer = window.dataLayer || [];\n\n const eventData: Record<string, any> = {\n ...props,\n };\n window.dataLayer.push(eventData);\n};\n\nexport const sendToGA = async (\n submitData: I1pIngestPropsData,\n metadata: { [key: string]: string }\n) => {\n if (!hasRequiredPrivacyCookies()) {\n throw new Error('does not satisfy cookie check');\n }\n\n const keysToSubmit = Object.keys(submitData);\n\n keysToSubmit.forEach((key) => {\n if (Object.values(I1pIngestDataTypes).includes(key as I1pIngestDataTypes)) {\n sendGAEvent({\n event: 'site-onpage-click',\n action: 'site-onpage-click',\n category: 'profile',\n\n label: key,\n 'de-label': key as I1pIngestDataTypes,\n [key]: submitData[key as I1pIngestDataTypes],\n\n section: 'profile',\n subsection: metadata.source,\n });\n }\n });\n\n return true;\n};\n","import {\n I1pDataFormSubmitData,\n I1pDataInputProps,\n I1pDataInputTypes,\n} from '../interfaces';\n\nexport const getDefaultSubmitData = (formOptions: Array<I1pDataInputProps>) => {\n const defaultSubmitData: I1pDataFormSubmitData = {};\n formOptions.forEach((formOption) => {\n if (formOption.default_value) {\n if (\n formOption.input_type === I1pDataInputTypes.DROPDOWN &&\n formOption.values\n ) {\n const values = formOption.values\n .filter((value) => value.archived !== true)\n .map((value) => value.name);\n if (values.includes(formOption.default_value)) {\n defaultSubmitData[formOption.id] = [formOption.default_value];\n }\n } else {\n defaultSubmitData[formOption.id] = [formOption.default_value];\n }\n }\n });\n return defaultSubmitData;\n};\n","import React, { useEffect, useState } from 'react';\nimport { styled } from '@washingtonpost/wpds-ui-kit';\nimport {\n I1pDataFormProps,\n I1pDataFormSubmitData,\n I1pDataIngestTypes,\n I1pDataInputTypes,\n} from '../../interfaces';\nimport { Dropdown } from '../Dropdown';\nimport { ingest } from '../../services/dataEnrichment';\nimport { ResponseStatus } from '@washingtonpost/subs-sdk';\nimport { hasRequiredPrivacyCookies } from '../../utils/hasRequiredPrivacyCookies';\nimport { sendToGA } from '../../services/sendToGA';\nimport { getDefaultSubmitData } from '../../utils/getDefaultSubmitData';\n\nexport const DataEnrichmentForm = ({\n submit,\n source, // used to track where on the site data is collected\n ingestType,\n formOptions = [],\n onChange = () => {},\n onFinished = () => {},\n handleSubmit = () => {},\n disabled = false,\n}: I1pDataFormProps) => {\n const [render, setRender] = useState(false);\n\n const [submitData, setSubmitData] = useState<I1pDataFormSubmitData>(\n getDefaultSubmitData(formOptions)\n );\n const [missingRequiredFields, setMissingRequiredFields] = useState(true);\n\n useEffect(() => {\n if (hasRequiredPrivacyCookies()) {\n setRender(true);\n } else {\n console.error('does not satisfy cookie check');\n onFinished(true, true);\n }\n }, []);\n\n useEffect(() => {\n // check for required fields that haven't been completed yet\n const missingRequiredFields = formOptions.filter((option) => {\n if (\n option.required &&\n option.input_type === I1pDataInputTypes.DROPDOWN &&\n !submitData[option.id]\n ) {\n return true;\n }\n return false;\n });\n\n setMissingRequiredFields(missingRequiredFields.length > 0);\n\n onChange(submitData, missingRequiredFields.length === 0);\n }, [JSON.stringify(submitData)]);\n\n useEffect(() => {\n (async () => {\n if (submit) {\n if (Object.keys(submitData).length >= 1) {\n if (ingestType === I1pDataIngestTypes.EXPLICIT) {\n const result = await ingest(submitData, { source });\n\n const isError = result && result.status !== ResponseStatus.SUCCESS;\n onFinished(true, isError);\n } else {\n const result = await sendToGA(submitData, { source });\n onFinished(true, result);\n }\n } else {\n onFinished(true, false);\n }\n }\n })();\n }, [submit]);\n\n if (!render) return <></>;\n\n return (\n <form\n method=\"post\"\n onSubmit={(e) => {\n e.preventDefault();\n handleSubmit(e);\n }}\n >\n {formOptions.map((formOption) => {\n if (\n formOption.input_type === I1pDataInputTypes.DROPDOWN &&\n formOption.values\n ) {\n // sort and filter out archived values\n const values = formOption.values\n .sort((a, b) => a.order - b.order)\n .filter((value) => value.archived !== true);\n\n return (\n <OptionWrapper data-private key={formOption.id}>\n <Dropdown\n id={formOption.id}\n label={formOption.input_label}\n values={values.map((value) => value.name)}\n required={formOption.required}\n defaultValue={formOption.default_value}\n onChange={(value) => {\n setSubmitData({ ...submitData, [formOption.id]: [value] });\n }}\n disabled={disabled}\n />\n </OptionWrapper>\n );\n }\n return null;\n })}\n\n {/* so the user can hit 'Enter' to submit */}\n <input\n type=\"submit\"\n hidden\n disabled={missingRequiredFields || disabled}\n data-qa=\"1p-data-inputs-submit\"\n />\n </form>\n );\n};\n\nconst OptionWrapper = styled('div', {\n boxSizing: 'border-box',\n display: 'flex',\n marginBottom: '$100',\n flexDirection: 'column',\n '& button': {\n padding: '1px 6px',\n },\n '& *': { boxSizing: 'border-box' },\n});\n"],"names":["I1pDataInputTypes","I1pIngestDataTypes","I1pDataIngestTypes","IngestResponseState","StyledMobileSelect","styled","padding","display","justifyContent","width","backgroundColor","color","fontFamily","fontSize","fontWeight","lineHeight","paddingBlockRight","textOverflow","position","borderColor","borderRightWidth","borderRightColor","appearance","theme","colors","disabled","onDisabled","cursor","StyledSelectWrapper","maxWidth","borderRadius","borderStyle","borderWidth","StyledMobileOption","Dropdown","_ref","id","label","values","_ref$required","required","defaultValue","_ref$onChange","onChange","_ref$disabled","_useState","useState","answer","setAnswer","_useWindowSize","useWindowSize","isMobileSize","useEffect","defaultValueProp","disabledProp","defaultValuePropMobile","value","selected","React","_extends","e","target","placeholder","style","map","key","Icon","size","fill","pointerEvents","right","top","transform","ChevronDown","Select","Root","onValueChange","Trigger","Label","Value","Content","css","zIndex","Item","hasRequiredPrivacyCookies","window","wp_usp","getCookie","countryCode","_WPGeo","WPGeo","country_code","base","ENDPOINTS","JSONHeaders","Accept","ingest","_asyncToGenerator","_regeneratorRuntime","mark","_callee","submitData","metadata","url","wapo_login_id","jucid","ga","payload","response","json","wrap","_callee$","_context","prev","next","Error","localStorage","getItem","type","EXPLICIT","data","fetch","method","credentials","headers","body","JSON","stringify","sent","abrupt","t0","console","debug","stop","_x","_x2","apply","arguments","sendGAEvent","props","process","env","NODE_ENV","warn","dataLayer","eventData","push","sendToGA","keysToSubmit","Object","keys","forEach","includes","_sendGAEvent","event","action","category","section","subsection","source","getDefaultSubmitData","formOptions","defaultSubmitData","formOption","default_value","input_type","DROPDOWN","filter","archived","name","DataEnrichmentForm","submit","ingestType","_ref$formOptions","_ref$onFinished","onFinished","_ref$handleSubmit","handleSubmit","render","setRender","_useState2","setSubmitData","_useState3","missingRequiredFields","setMissingRequiredFields","error","option","length","result","isError","_result","status","ResponseStatus","SUCCESS","onSubmit","preventDefault","sort","a","b","order","OptionWrapper","input_label","_extends2","hidden","boxSizing","marginBottom","flexDirection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subs-de-inputs.cjs.development.js","sources":["../src/interfaces/index.ts","../src/utils/hasRequiredPrivacyCookies.ts","../src/services/dataEnrichment.ts"],"sourcesContent":["export type AttributeValue = {\n name: string;\n date_created: Number;\n last_modified_date: Number;\n archived: boolean;\n order: Number;\n};\n\nexport const CollectionBehaviors = {\n COLLECT: 'COLLECT',\n DO_NOT_COLLECT: 'DO_NOT_COLLECT',\n} as const;\n\nexport type Attribute = {\n name: string;\n approved_for_use: boolean;\n collection_behavior: (typeof CollectionBehaviors)[keyof typeof CollectionBehaviors];\n datatype: 'string';\n explicit: boolean;\n multiple_value: boolean;\n last_modified_date: Number;\n date_created: Number;\n values: Array<any>;\n};\n\nexport const IngestResponseState = {\n SUCCESS: '100',\n SYSTEM_ERROR: '101',\n INVALID_TYPE: '102',\n INVALID_IDENTIFIER: '103',\n INVALID_DATA: '104',\n INVALID_ATTRIBUTE_DEFINITION: '105',\n INVALID_META_DEFINITION: '106',\n} as const;\n","import { WPGeo, getCookie } from '@washingtonpost/subs-sdk';\n\nexport const hasRequiredPrivacyCookies = () => {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const wp_usp = getCookie('wp_usp');\n\n const countryCode = WPGeo()?.country_code;\n\n return !!(wp_usp && countryCode === 'US');\n};\n","import { ENDPOINTS, ResponseStatus } from '@washingtonpost/subs-sdk';\n\nconst base = `${ENDPOINTS.base}/de/v1`;\n\nconst JSONHeaders = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n};\n\nconst attributesCache: Record<string, any> = {};\nexport const getAttributes = async ({ fieldName }: { fieldName: string }) => {\n if (attributesCache[fieldName]) {\n return attributesCache[fieldName];\n }\n\n const fieldNames = [fieldName];\n\n try {\n const url = new URL(`${base}/attributes`);\n url.searchParams.set('attributes', fieldNames.join(','));\n\n const data = await fetch(url.toString(), {\n credentials: 'include',\n headers: JSONHeaders,\n });\n const json = await data.json();\n\n if (data.ok && json.status === ResponseStatus.SUCCESS) {\n const attributes = json.attributes || [];\n attributesCache[fieldName] = attributes;\n return attributes;\n } else {\n return [];\n }\n } catch (e) {\n console.debug(e);\n return [];\n }\n};\n"],"names":["CollectionBehaviors","COLLECT","DO_NOT_COLLECT","IngestResponseState","SUCCESS","SYSTEM_ERROR","INVALID_TYPE","INVALID_IDENTIFIER","INVALID_DATA","INVALID_ATTRIBUTE_DEFINITION","INVALID_META_DEFINITION","hasRequiredPrivacyCookies","window","wp_usp","getCookie","countryCode","_WPGeo","WPGeo","country_code","base","ENDPOINTS","JSONHeaders","Accept","attributesCache","getAttributes","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","fieldName","fieldNames","url","data","json","attributes","wrap","_callee$","_context","prev","next","abrupt","URL","searchParams","set","join","fetch","toString","credentials","headers","sent","ok","status","ResponseStatus","t0","console","debug","stop","_x","apply","arguments"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,r,n,o=require("react"),i=(e=o)&&"object"==typeof e&&"default"in e?e.default:e,a=require("@washingtonpost/wpds-ui-kit"),u=require("@washingtonpost/subs-hooks"),c=require("@washingtonpost/wpds-assets"),s=require("@washingtonpost/subs-sdk");function l(){l=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var i=Object.create((t&&t.prototype instanceof d?t:d).prototype),a=new S(o||[]);return n(i,"_invoke",{value:E(e,r,a)}),i}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var f={};function d(){}function h(){}function v(){}var y={};c(y,i,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(L([])));m&&m!==t&&r.call(m,i)&&(y=m);var b=v.prototype=d.prototype=Object.create(y);function w(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){var o;n(this,"_invoke",{value:function(n,i){function a(){return new t((function(o,a){!function n(o,i,a,u){var c=p(e[o],e,i);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,u)}),(function(e){n("throw",e,a,u)})):t.resolve(l).then((function(e){s.value=e,a(s)}),(function(e){return n("throw",e,a,u)}))}u(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function E(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=I(a,r);if(u){if(u===f)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function I(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,I(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function L(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:k}}function k(){return{value:void 0,done:!0}}return h.prototype=v,n(b,"constructor",{value:v,configurable:!0}),n(v,"constructor",{value:h,configurable:!0}),h.displayName=c(v,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,c(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},w(x.prototype),c(x.prototype,a,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new x(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},w(b),c(b,u,"Generator"),c(b,i,(function(){return this})),c(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=L,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),O(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;O(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function p(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){p(i,n,o,a,u,"next",e)}function u(e){p(i,n,o,a,u,"throw",e)}a(void 0)}))}}function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}(exports.I1pDataInputTypes||(exports.I1pDataInputTypes={})).DROPDOWN="dropdown",(t=exports.I1pIngestDataTypes||(exports.I1pIngestDataTypes={})).JOB_LEVEL="profile_job_level",t.JOB_INDUSTRY="profile_job_industry",t.NY_PERSONAL_GOALS="new_year_personal_goals",t.NY_HOBBIES="new_year_hobbies",t.NY_PROFESSIONAL_GOALS="new_year_professional_goals",t.NY_INDUSTRY="new_year_industry",t.NY_NEWS_LOCATION="new_year_news_location",(r=exports.I1pDataIngestTypes||(exports.I1pDataIngestTypes={})).EXPLICIT="explicit",r.IMPLICIT="implicit",(n=exports.IngestResponseState||(exports.IngestResponseState={})).SUCCESS="100",n.SYSTEM_ERROR="101",n.INVALID_TYPE="102",n.INVALID_IDENTIFIER="103",n.INVALID_DATA="104",n.INVALID_ATTRIBUTE_DEFINITION="105",n.INVALID_META_DEFINITION="106";var h=a.styled("select",{padding:"12px 16px 12px 6px",display:"flex",justifyContent:"space-between",width:"100%",backgroundColor:"$secondary",color:"$primary",fontFamily:"$meta",fontSize:"$100",fontWeight:"$light",lineHeight:"$125",paddingBlockRight:"$125",textOverflow:"ellipsis",position:"relative",borderColor:"transparent",borderRightWidth:"10px",borderRightColor:"transparent",appearance:"none","-webkit-appearance":"none","&:disabled":{backgroundColor:a.theme.colors.disabled,borderColor:a.theme.colors.disabled,color:a.theme.colors.onDisabled,cursor:"not-allowed"}}),v=a.styled("div",{width:"100%",maxWidth:"380px",borderRadius:"$012",borderColor:"$subtle",borderStyle:"solid",borderWidth:"1px",backgroundColor:"$secondary",position:"relative"}),y=a.styled("option",{fontFamily:"inherit",fontSize:"inherit",color:"inherit"}),g=function(e){var t=e.id,r=e.label,n=e.values,s=e.required,l=void 0!==s&&s,p=e.defaultValue,f=e.onChange,g=void 0===f?function(){}:f,m=e.disabled,b=void 0!==m&&m,w=o.useState(),x=w[0],E=w[1],I=u.useWindowSize().isMobileSize;o.useEffect((function(){x&&g(x)}),[x]);var _=p?{defaultValue:p}:{},O=b?{disabled:!0}:{};return I?i.createElement(v,null,i.createElement(h,d({id:"",required:l,onChange:function(e){return E(e.target.value)},placeholder:r},O),i.createElement("label",null,r),i.createElement(y,{value:"",disabled:!0,selected:!0,style:{color:"#666666"}},r),n.map((function(e){return i.createElement(y,d({value:e,key:e},function(e){return e===p?{selected:!0}:{}}(e)),e)}))),i.createElement(a.Icon,{label:"",size:"100",fill:a.theme.colors.gray80,style:{pointerEvents:"none",position:"absolute",right:"10px",top:"50%",transform:"translateY(-50%)"}},i.createElement(c.ChevronDown,{style:{position:"absolute",right:"10px"}}))):i.createElement(a.Select.Root,d({onValueChange:function(e){return E(e)},required:l},_,O),i.createElement(a.Select.Trigger,{"data-test-id":t+"-dropdown-label"},i.createElement(a.Select.Label,null,r),i.createElement(a.Select.Value,null)),i.createElement(a.Select.Content,{css:{zIndex:8},"data-test-id":t+"-dropdown-input"},n.map((function(e){return i.createElement(a.Select.Item,{value:e,key:e},e)}))))},m=function(){var e;if("undefined"==typeof window)return!1;var t=s.getCookie("wp_usp"),r=null==(e=s.WPGeo())?void 0:e.country_code;return!(!t||"US"!==r)},b=s.ENDPOINTS.base+"/de/v1",w={Accept:"application/json","Content-Type":"application/json"},x=function(){var e=f(l().mark((function e(t,r){var n,o,i,a,u,c;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=b+"/ingest",o=s.getCookie("wapo_login_id"),m()){e.next=4;break}throw new Error("does not satisfy cookie check");case 4:return i=localStorage.getItem("uuid"),a=s.getCookie("_ga"),u={jucid:i,ga:a,type:exports.I1pDataIngestTypes.EXPLICIT,wapo_login_id:o,data:t,metadata:r},e.prev=7,e.next=10,fetch(n,{method:"POST",credentials:"include",headers:w,body:JSON.stringify(u)});case 10:return c=e.sent,e.next=13,c.json();case 13:return e.abrupt("return",e.sent);case 17:return e.prev=17,e.t0=e.catch(7),console.debug(e.t0),e.abrupt("return",null);case 21:case"end":return e.stop()}}),e,null,[[7,17]])})));return function(t,r){return e.apply(this,arguments)}}(),E=function(e){if("undefined"!=typeof window){window.dataLayer=window.dataLayer||[];var t=d({},e);window.dataLayer.push(t)}else"production"!==process.env.NODE_ENV&&console.warn("NO WINDOW")},I=function(){var e=f(l().mark((function e(t,r){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(m()){e.next=2;break}throw new Error("does not satisfy cookie check");case 2:return Object.keys(t).forEach((function(e){var n;Object.values(exports.I1pIngestDataTypes).includes(e)&&E(((n={event:"site-onpage-click",action:"site-onpage-click",category:"profile",label:e,"de-label":e})[e]=t[e],n.section="profile",n.subsection=r.source,n))})),e.abrupt("return",!0);case 5:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),_=a.styled("div",{boxSizing:"border-box",display:"flex",marginBottom:"$100",flexDirection:"column","& button":{padding:"1px 6px"},"& *":{boxSizing:"border-box"}});exports.DataEnrichmentForm=function(e){var t=e.submit,r=e.source,n=e.ingestType,a=e.formOptions,u=void 0===a?[]:a,c=e.onChange,p=void 0===c?function(){}:c,h=e.onFinished,v=void 0===h?function(){}:h,y=e.handleSubmit,b=void 0===y?function(){}:y,w=e.disabled,E=void 0!==w&&w,O=o.useState(!1),S=O[0],L=O[1],k=o.useState(function(e){var t={};return e.forEach((function(e){e.default_value&&(e.input_type===exports.I1pDataInputTypes.DROPDOWN&&e.values?e.values.filter((function(e){return!0!==e.archived})).map((function(e){return e.name})).includes(e.default_value)&&(t[e.id]=[e.default_value]):t[e.id]=[e.default_value])})),t}(u)),N=k[0],T=k[1],D=o.useState(!0),C=D[0],j=D[1];return o.useEffect((function(){m()?L(!0):(console.error("does not satisfy cookie check"),v(!0,!0))}),[]),o.useEffect((function(){var e=u.filter((function(e){return!(!e.required||e.input_type!==exports.I1pDataInputTypes.DROPDOWN||N[e.id])}));j(e.length>0),p(N,0===e.length)}),[JSON.stringify(N)]),o.useEffect((function(){f(l().mark((function e(){var o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=17;break}if(!(Object.keys(N).length>=1)){e.next=16;break}if(n!==exports.I1pDataIngestTypes.EXPLICIT){e.next=10;break}return e.next=5,x(N,{source:r});case 5:v(!0,(o=e.sent)&&o.status!==s.ResponseStatus.SUCCESS),e.next=14;break;case 10:return e.next=12,I(N,{source:r});case 12:v(!0,e.sent);case 14:e.next=17;break;case 16:v(!0,!1);case 17:case"end":return e.stop()}}),e)})))()}),[t]),S?i.createElement("form",{method:"post",onSubmit:function(e){e.preventDefault(),b(e)}},u.map((function(e){if(e.input_type===exports.I1pDataInputTypes.DROPDOWN&&e.values){var t=e.values.sort((function(e,t){return e.order-t.order})).filter((function(e){return!0!==e.archived}));return i.createElement(_,{"data-private":!0,key:e.id},i.createElement(g,{id:e.id,label:e.input_label,values:t.map((function(e){return e.name})),required:e.required,defaultValue:e.default_value,onChange:function(t){var r;T(d({},N,((r={})[e.id]=[t],r)))},disabled:E}))}return null})),i.createElement("input",{type:"submit",hidden:!0,disabled:C||E,"data-qa":"1p-data-inputs-submit"})):i.createElement(i.Fragment,null)},exports.hasRequiredPrivacyCookies=m,exports.ingest=x,exports.sendToGA=I;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@washingtonpost/subs-sdk");function e(){e=function(){return t};var t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=Object.create((e&&e.prototype instanceof p?e:p).prototype),a=new I(n||[]);return o(i,"_invoke",{value:x(t,r,a)}),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=f;var h={};function p(){}function v(){}function d(){}var y={};s(y,a,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(N([])));m&&m!==r&&n.call(m,a)&&(y=m);var w=d.prototype=p.prototype=Object.create(y);function L(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){var r;o(this,"_invoke",{value:function(o,i){function a(){return new e((function(r,a){!function r(o,i,a,u){var c=l(t[o],t,i);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==typeof f&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,u)}),(function(t){r("throw",t,a,u)})):e.resolve(f).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,u)}))}u(c.arg)}(o,i,r,a)}))}return r=r?r.then(a,a):a()}})}function x(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=E(a,r);if(u){if(u===h)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===h)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function E(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,E(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,h;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function N(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:T}}function T(){return{value:void 0,done:!0}}return v.prototype=d,o(w,"constructor",{value:d,configurable:!0}),o(d,"constructor",{value:v,configurable:!0}),v.displayName=s(d,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,s(t,c,"GeneratorFunction")),t.prototype=Object.create(w),t},t.awrap=function(t){return{__await:t}},L(b.prototype),s(b.prototype,u,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new b(f(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},L(w),s(w,c,"Generator"),s(w,a,(function(){return this})),s(w,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=N,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),O(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;O(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:N(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}function r(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function n(t){return function(){var e=this,n=arguments;return new Promise((function(o,i){var a=t.apply(e,n);function u(t){r(a,o,i,u,c,"next",t)}function c(t){r(a,o,i,u,c,"throw",t)}u(void 0)}))}}var o=t.ENDPOINTS.base+"/de/v1",i={Accept:"application/json","Content-Type":"application/json"},a={},u=function(){var r=n(e().mark((function r(n){var u,c,s,f,l,h;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a[u=n.fieldName]){e.next=3;break}return e.abrupt("return",a[u]);case 3:return c=[u],e.prev=4,(s=new URL(o+"/attributes")).searchParams.set("attributes",c.join(",")),e.next=9,fetch(s.toString(),{credentials:"include",headers:i});case 9:return f=e.sent,e.next=12,f.json();case 12:if(l=e.sent,!f.ok||l.status!==t.ResponseStatus.SUCCESS){e.next=19;break}return a[u]=h=l.attributes||[],e.abrupt("return",h);case 19:return e.abrupt("return",[]);case 20:e.next=26;break;case 22:return e.prev=22,e.t0=e.catch(4),console.debug(e.t0),e.abrupt("return",[]);case 26:case"end":return e.stop()}}),r,null,[[4,22]])})));return function(t){return r.apply(this,arguments)}}();exports.CollectionBehaviors={COLLECT:"COLLECT",DO_NOT_COLLECT:"DO_NOT_COLLECT"},exports.IngestResponseState={SUCCESS:"100",SYSTEM_ERROR:"101",INVALID_TYPE:"102",INVALID_IDENTIFIER:"103",INVALID_DATA:"104",INVALID_ATTRIBUTE_DEFINITION:"105",INVALID_META_DEFINITION:"106"},exports.getAttributes=u,exports.hasRequiredPrivacyCookies=function(){var e;if("undefined"==typeof window)return!1;var r=t.getCookie("wp_usp"),n=null==(e=t.WPGeo())?void 0:e.country_code;return!(!r||"US"!==n)};
|
|
2
2
|
//# sourceMappingURL=subs-de-inputs.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subs-de-inputs.cjs.production.min.js","sources":["../src/interfaces/index.ts","../src/components/Dropdown/index.tsx","../src/utils/hasRequiredPrivacyCookies.ts","../src/services/dataEnrichment.ts","../src/services/sendToGA.ts","../src/components/DataEnrichmentForm/index.tsx","../src/utils/getDefaultSubmitData.ts"],"sourcesContent":["import { FormEventHandler } from 'react';\n\nexport enum I1pDataInputTypes {\n DROPDOWN = 'dropdown',\n}\n\nexport enum I1pIngestDataTypes {\n JOB_LEVEL = 'profile_job_level',\n JOB_INDUSTRY = 'profile_job_industry',\n NY_PERSONAL_GOALS = 'new_year_personal_goals',\n NY_HOBBIES = 'new_year_hobbies',\n NY_PROFESSIONAL_GOALS = 'new_year_professional_goals',\n NY_INDUSTRY = 'new_year_industry',\n NY_NEWS_LOCATION = 'new_year_news_location',\n}\n\nexport interface I1pDataInputValue {\n archived: boolean;\n name: string;\n order: number;\n date_created?: string;\n last_modified_date?: string;\n}\n\nexport interface I1pDataInputProps {\n id: I1pIngestDataTypes;\n input_label: string;\n input_prompt?: string;\n input_type: I1pDataInputTypes;\n required: boolean;\n default_value?: string;\n values?: Array<I1pDataInputValue>;\n}\n\nexport interface I1pDataFormSubmitData {\n [key: string]: string[];\n}\n\nexport enum I1pDataIngestTypes {\n EXPLICIT = 'explicit',\n IMPLICIT = 'implicit',\n}\n\nexport interface I1pDataFormProps {\n source: string;\n submit?: boolean;\n ingestType: I1pDataIngestTypes;\n onChange?: (\n submitData: I1pDataFormSubmitData,\n requiredFieldsReady: boolean\n ) => void;\n onFinished?: (isFinished: boolean, isError: boolean) => void;\n formOptions?: Array<I1pDataInputProps>;\n handleSubmit?: FormEventHandler<HTMLFormElement>;\n disabled?: boolean;\n}\n\nexport type I1pIngestPropsData = {\n [key in I1pIngestDataTypes]?: string[];\n};\n\nexport interface I1pIngestProps {\n type: 'implicit' | 'explicit';\n data: I1pIngestPropsData;\n metadata?: Record<string, string | null | undefined>;\n [key: string]: any;\n}\n\nexport enum IngestResponseState {\n SUCCESS = '100',\n SYSTEM_ERROR = '101',\n INVALID_TYPE = '102',\n INVALID_IDENTIFIER = '103',\n INVALID_DATA = '104',\n INVALID_ATTRIBUTE_DEFINITION = '105',\n INVALID_META_DEFINITION = '106',\n}\n","import React, { useEffect, useState } from 'react';\nimport { Icon, Select, styled, theme } from '@washingtonpost/wpds-ui-kit';\nimport { useWindowSize } from '@washingtonpost/subs-hooks';\nimport { ChevronDown } from '@washingtonpost/wpds-assets';\n\ninterface IDropdownProps {\n id: string;\n label: string;\n values: Array<string>;\n required?: boolean;\n defaultValue?: string;\n onChange?: (value: string) => void;\n disabled?: boolean;\n}\n\nconst StyledMobileSelect = styled('select', {\n padding: '12px 16px 12px 6px',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n backgroundColor: '$secondary',\n color: '$primary',\n fontFamily: '$meta',\n fontSize: '$100',\n fontWeight: '$light',\n lineHeight: '$125',\n paddingBlockRight: '$125',\n textOverflow: 'ellipsis',\n position: 'relative',\n borderColor: 'transparent',\n borderRightWidth: '10px',\n borderRightColor: 'transparent',\n appearance: 'none',\n '-webkit-appearance': 'none',\n '&:disabled': {\n backgroundColor: theme.colors.disabled,\n borderColor: theme.colors.disabled,\n color: theme.colors.onDisabled,\n cursor: 'not-allowed',\n },\n});\n\nconst StyledSelectWrapper = styled('div', {\n width: '100%',\n maxWidth: '380px',\n borderRadius: '$012',\n borderColor: '$subtle',\n borderStyle: 'solid',\n borderWidth: '1px',\n backgroundColor: '$secondary',\n position: 'relative',\n});\n\nconst StyledMobileOption = styled('option', {\n fontFamily: 'inherit',\n fontSize: 'inherit',\n color: 'inherit',\n});\n\nexport const Dropdown = ({\n id,\n label,\n values,\n required = false,\n defaultValue,\n onChange = () => {},\n disabled = false,\n}: IDropdownProps) => {\n const [answer, setAnswer] = useState<string>();\n const { isMobileSize } = useWindowSize();\n\n useEffect(() => {\n if (answer) onChange(answer);\n }, [answer]);\n\n const defaultValueProp = defaultValue ? { defaultValue } : {};\n\n const disabledProp = disabled ? { disabled: true } : {};\n\n const defaultValuePropMobile = (value: string) => {\n return value === defaultValue ? { selected: true } : {};\n };\n\n return isMobileSize ? (\n <StyledSelectWrapper>\n <StyledMobileSelect\n id=\"\"\n required={required}\n onChange={(e) => setAnswer(e.target.value)}\n placeholder={label}\n {...disabledProp}\n >\n <label>{label}</label>\n <StyledMobileOption\n value=\"\"\n disabled\n selected\n style={{ color: '#666666' }}\n >\n {label}\n </StyledMobileOption>\n {values.map((value) => (\n <StyledMobileOption\n value={value}\n key={value}\n {...defaultValuePropMobile(value)}\n >\n {value}\n </StyledMobileOption>\n ))}\n </StyledMobileSelect>\n <Icon\n label=\"\"\n size=\"100\"\n fill={theme.colors['gray80']}\n style={{\n pointerEvents: 'none',\n position: 'absolute',\n right: '10px',\n top: '50%',\n transform: 'translateY(-50%)',\n }}\n >\n <ChevronDown style={{ position: 'absolute', right: '10px' }} />\n </Icon>\n </StyledSelectWrapper>\n ) : (\n <Select.Root\n onValueChange={(e) => setAnswer(e)}\n required={required}\n {...defaultValueProp}\n {...disabledProp}\n >\n <Select.Trigger data-test-id={`${id}-dropdown-label`}>\n <Select.Label>{label}</Select.Label>\n <Select.Value />\n </Select.Trigger>\n <Select.Content css={{ zIndex: 8 }} data-test-id={`${id}-dropdown-input`}>\n {values.map((value) => (\n <Select.Item value={value} key={value}>\n {value}\n </Select.Item>\n ))}\n </Select.Content>\n </Select.Root>\n );\n};\n","import { WPGeo, getCookie } from '@washingtonpost/subs-sdk';\n\nexport const hasRequiredPrivacyCookies = () => {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const wp_usp = getCookie('wp_usp');\n\n const countryCode = WPGeo()?.country_code;\n\n return !!(wp_usp && countryCode === 'US');\n};\n","import { ENDPOINTS, getCookie } from '@washingtonpost/subs-sdk';\nimport {\n I1pDataIngestTypes,\n I1pIngestProps,\n I1pIngestPropsData,\n} from '../interfaces';\nimport { hasRequiredPrivacyCookies } from '../utils/hasRequiredPrivacyCookies';\n\nconst base = `${ENDPOINTS.base}/de/v1`;\n\nconst JSONHeaders = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n};\n\nexport const ingest = async (\n submitData: I1pIngestPropsData,\n metadata: { [key: string]: string }\n) => {\n const url = `${base}/ingest`;\n\n const wapo_login_id = getCookie('wapo_login_id');\n\n if (!hasRequiredPrivacyCookies()) {\n throw new Error('does not satisfy cookie check');\n }\n\n const jucid = localStorage.getItem('uuid');\n const ga = getCookie('_ga');\n\n const payload: I1pIngestProps = {\n jucid,\n ga,\n type: I1pDataIngestTypes.EXPLICIT,\n wapo_login_id, // TODO: move this to BE to read from cookie headers\n data: submitData,\n metadata,\n };\n\n try {\n const response = await fetch(url, {\n method: 'POST',\n credentials: 'include',\n headers: JSONHeaders,\n body: JSON.stringify(payload),\n });\n\n const json = await response.json();\n\n return json;\n } catch (e) {\n console.debug(e);\n return null;\n }\n};\n","import { I1pIngestDataTypes, I1pIngestPropsData } from '../interfaces';\nimport { hasRequiredPrivacyCookies } from '../utils/hasRequiredPrivacyCookies';\n\nexport interface ISendGAEvent {\n event: string;\n category: string;\n action: string;\n label: string;\n 'de-label': I1pIngestDataTypes;\n [key: string]: undefined | string | string[];\n}\n\nconst sendGAEvent = (props: ISendGAEvent): void => {\n if (typeof window === 'undefined') {\n if (__DEV__) console.warn('NO WINDOW');\n return;\n }\n // Initialize dataLayer if needed\n window.dataLayer = window.dataLayer || [];\n\n const eventData: Record<string, any> = {\n ...props,\n };\n window.dataLayer.push(eventData);\n};\n\nexport const sendToGA = async (\n submitData: I1pIngestPropsData,\n metadata: { [key: string]: string }\n) => {\n if (!hasRequiredPrivacyCookies()) {\n throw new Error('does not satisfy cookie check');\n }\n\n const keysToSubmit = Object.keys(submitData);\n\n keysToSubmit.forEach((key) => {\n if (Object.values(I1pIngestDataTypes).includes(key as I1pIngestDataTypes)) {\n sendGAEvent({\n event: 'site-onpage-click',\n action: 'site-onpage-click',\n category: 'profile',\n\n label: key,\n 'de-label': key as I1pIngestDataTypes,\n [key]: submitData[key as I1pIngestDataTypes],\n\n section: 'profile',\n subsection: metadata.source,\n });\n }\n });\n\n return true;\n};\n","import React, { useEffect, useState } from 'react';\nimport { styled } from '@washingtonpost/wpds-ui-kit';\nimport {\n I1pDataFormProps,\n I1pDataFormSubmitData,\n I1pDataIngestTypes,\n I1pDataInputTypes,\n} from '../../interfaces';\nimport { Dropdown } from '../Dropdown';\nimport { ingest } from '../../services/dataEnrichment';\nimport { ResponseStatus } from '@washingtonpost/subs-sdk';\nimport { hasRequiredPrivacyCookies } from '../../utils/hasRequiredPrivacyCookies';\nimport { sendToGA } from '../../services/sendToGA';\nimport { getDefaultSubmitData } from '../../utils/getDefaultSubmitData';\n\nexport const DataEnrichmentForm = ({\n submit,\n source, // used to track where on the site data is collected\n ingestType,\n formOptions = [],\n onChange = () => {},\n onFinished = () => {},\n handleSubmit = () => {},\n disabled = false,\n}: I1pDataFormProps) => {\n const [render, setRender] = useState(false);\n\n const [submitData, setSubmitData] = useState<I1pDataFormSubmitData>(\n getDefaultSubmitData(formOptions)\n );\n const [missingRequiredFields, setMissingRequiredFields] = useState(true);\n\n useEffect(() => {\n if (hasRequiredPrivacyCookies()) {\n setRender(true);\n } else {\n console.error('does not satisfy cookie check');\n onFinished(true, true);\n }\n }, []);\n\n useEffect(() => {\n // check for required fields that haven't been completed yet\n const missingRequiredFields = formOptions.filter((option) => {\n if (\n option.required &&\n option.input_type === I1pDataInputTypes.DROPDOWN &&\n !submitData[option.id]\n ) {\n return true;\n }\n return false;\n });\n\n setMissingRequiredFields(missingRequiredFields.length > 0);\n\n onChange(submitData, missingRequiredFields.length === 0);\n }, [JSON.stringify(submitData)]);\n\n useEffect(() => {\n (async () => {\n if (submit) {\n if (Object.keys(submitData).length >= 1) {\n if (ingestType === I1pDataIngestTypes.EXPLICIT) {\n const result = await ingest(submitData, { source });\n\n const isError = result && result.status !== ResponseStatus.SUCCESS;\n onFinished(true, isError);\n } else {\n const result = await sendToGA(submitData, { source });\n onFinished(true, result);\n }\n } else {\n onFinished(true, false);\n }\n }\n })();\n }, [submit]);\n\n if (!render) return <></>;\n\n return (\n <form\n method=\"post\"\n onSubmit={(e) => {\n e.preventDefault();\n handleSubmit(e);\n }}\n >\n {formOptions.map((formOption) => {\n if (\n formOption.input_type === I1pDataInputTypes.DROPDOWN &&\n formOption.values\n ) {\n // sort and filter out archived values\n const values = formOption.values\n .sort((a, b) => a.order - b.order)\n .filter((value) => value.archived !== true);\n\n return (\n <OptionWrapper data-private key={formOption.id}>\n <Dropdown\n id={formOption.id}\n label={formOption.input_label}\n values={values.map((value) => value.name)}\n required={formOption.required}\n defaultValue={formOption.default_value}\n onChange={(value) => {\n setSubmitData({ ...submitData, [formOption.id]: [value] });\n }}\n disabled={disabled}\n />\n </OptionWrapper>\n );\n }\n return null;\n })}\n\n {/* so the user can hit 'Enter' to submit */}\n <input\n type=\"submit\"\n hidden\n disabled={missingRequiredFields || disabled}\n data-qa=\"1p-data-inputs-submit\"\n />\n </form>\n );\n};\n\nconst OptionWrapper = styled('div', {\n boxSizing: 'border-box',\n display: 'flex',\n marginBottom: '$100',\n flexDirection: 'column',\n '& button': {\n padding: '1px 6px',\n },\n '& *': { boxSizing: 'border-box' },\n});\n","import {\n I1pDataFormSubmitData,\n I1pDataInputProps,\n I1pDataInputTypes,\n} from '../interfaces';\n\nexport const getDefaultSubmitData = (formOptions: Array<I1pDataInputProps>) => {\n const defaultSubmitData: I1pDataFormSubmitData = {};\n formOptions.forEach((formOption) => {\n if (formOption.default_value) {\n if (\n formOption.input_type === I1pDataInputTypes.DROPDOWN &&\n formOption.values\n ) {\n const values = formOption.values\n .filter((value) => value.archived !== true)\n .map((value) => value.name);\n if (values.includes(formOption.default_value)) {\n defaultSubmitData[formOption.id] = [formOption.default_value];\n }\n } else {\n defaultSubmitData[formOption.id] = [formOption.default_value];\n }\n }\n });\n return defaultSubmitData;\n};\n"],"names":["I1pIngestDataTypes","I1pDataIngestTypes","IngestResponseState","I1pDataInputTypes","StyledMobileSelect","styled","padding","display","justifyContent","width","backgroundColor","color","fontFamily","fontSize","fontWeight","lineHeight","paddingBlockRight","textOverflow","position","borderColor","borderRightWidth","borderRightColor","appearance","-webkit-appearance","&:disabled","theme","colors","disabled","onDisabled","cursor","StyledSelectWrapper","maxWidth","borderRadius","borderStyle","borderWidth","StyledMobileOption","Dropdown","_ref","id","label","values","_ref$required","required","defaultValue","_ref$onChange","onChange","_ref$disabled","_useState","useState","answer","setAnswer","isMobileSize","useWindowSize","useEffect","defaultValueProp","disabledProp","React","_extends","e","target","value","placeholder","selected","style","map","key","defaultValuePropMobile","Icon","size","fill","pointerEvents","right","top","transform","ChevronDown","Select","Root","onValueChange","Trigger","Label","Value","Content","css","zIndex","Item","hasRequiredPrivacyCookies","window","wp_usp","getCookie","countryCode","_WPGeo","WPGeo","country_code","base","ENDPOINTS","JSONHeaders","Accept","Content-Type","ingest","_asyncToGenerator","_regeneratorRuntime","mark","_callee","submitData","metadata","url","wapo_login_id","jucid","ga","payload","response","wrap","_context","prev","next","Error","localStorage","getItem","type","EXPLICIT","data","fetch","method","credentials","headers","body","JSON","stringify","sent","json","abrupt","t0","console","debug","stop","_x","_x2","apply","arguments","sendGAEvent","props","dataLayer","eventData","push","process","env","NODE_ENV","warn","sendToGA","Object","keys","forEach","_sendGAEvent","includes","event","action","category","de-label","section","subsection","source","OptionWrapper","boxSizing","marginBottom","flexDirection","& button","& *","submit","ingestType","_ref$formOptions","formOptions","_ref$onFinished","onFinished","_ref$handleSubmit","handleSubmit","render","setRender","_useState2","defaultSubmitData","formOption","default_value","input_type","DROPDOWN","filter","archived","name","getDefaultSubmitData","setSubmitData","_useState3","missingRequiredFields","setMissingRequiredFields","error","option","length","result","status","ResponseStatus","SUCCESS","onSubmit","preventDefault","sort","a","b","order","input_label","_extends2","hidden"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subs-de-inputs.cjs.production.min.js","sources":["../src/services/dataEnrichment.ts","../src/interfaces/index.ts","../src/utils/hasRequiredPrivacyCookies.ts"],"sourcesContent":["import { ENDPOINTS, ResponseStatus } from '@washingtonpost/subs-sdk';\n\nconst base = `${ENDPOINTS.base}/de/v1`;\n\nconst JSONHeaders = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n};\n\nconst attributesCache: Record<string, any> = {};\nexport const getAttributes = async ({ fieldName }: { fieldName: string }) => {\n if (attributesCache[fieldName]) {\n return attributesCache[fieldName];\n }\n\n const fieldNames = [fieldName];\n\n try {\n const url = new URL(`${base}/attributes`);\n url.searchParams.set('attributes', fieldNames.join(','));\n\n const data = await fetch(url.toString(), {\n credentials: 'include',\n headers: JSONHeaders,\n });\n const json = await data.json();\n\n if (data.ok && json.status === ResponseStatus.SUCCESS) {\n const attributes = json.attributes || [];\n attributesCache[fieldName] = attributes;\n return attributes;\n } else {\n return [];\n }\n } catch (e) {\n console.debug(e);\n return [];\n }\n};\n","export type AttributeValue = {\n name: string;\n date_created: Number;\n last_modified_date: Number;\n archived: boolean;\n order: Number;\n};\n\nexport const CollectionBehaviors = {\n COLLECT: 'COLLECT',\n DO_NOT_COLLECT: 'DO_NOT_COLLECT',\n} as const;\n\nexport type Attribute = {\n name: string;\n approved_for_use: boolean;\n collection_behavior: (typeof CollectionBehaviors)[keyof typeof CollectionBehaviors];\n datatype: 'string';\n explicit: boolean;\n multiple_value: boolean;\n last_modified_date: Number;\n date_created: Number;\n values: Array<any>;\n};\n\nexport const IngestResponseState = {\n SUCCESS: '100',\n SYSTEM_ERROR: '101',\n INVALID_TYPE: '102',\n INVALID_IDENTIFIER: '103',\n INVALID_DATA: '104',\n INVALID_ATTRIBUTE_DEFINITION: '105',\n INVALID_META_DEFINITION: '106',\n} as const;\n","import { WPGeo, getCookie } from '@washingtonpost/subs-sdk';\n\nexport const hasRequiredPrivacyCookies = () => {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const wp_usp = getCookie('wp_usp');\n\n const countryCode = WPGeo()?.country_code;\n\n return !!(wp_usp && countryCode === 'US');\n};\n"],"names":["base","ENDPOINTS","JSONHeaders","Accept","Content-Type","attributesCache","getAttributes","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","fieldName","fieldNames","url","data","json","attributes","wrap","_context","prev","next","abrupt","URL","searchParams","set","join","fetch","toString","credentials","headers","sent","ok","status","ResponseStatus","SUCCESS","t0","console","debug","stop","_x","apply","arguments","COLLECT","DO_NOT_COLLECT","SYSTEM_ERROR","INVALID_TYPE","INVALID_IDENTIFIER","INVALID_DATA","INVALID_ATTRIBUTE_DEFINITION","INVALID_META_DEFINITION","window","wp_usp","getCookie","countryCode","_WPGeo","WPGeo","country_code"],"mappings":"i3NAEA,IAAMA,EAAUC,YAAUD,cAEpBE,EAAc,CAClBC,OAAQ,mBACRC,eAAgB,oBAGZC,EAAuC,GAChCC,aAAa,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAAC,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAT,IAAAU,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAAkB,IACzCjB,EADgCQ,EAASD,EAATC,YACNO,EAAAE,OAAA,MAAA,OAAAF,EAAAG,gBACrBlB,EAAgBQ,IAAU,OAOwB,OAJrDC,EAAa,CAACD,GAAUO,EAAAC,QAGtBN,EAAM,IAAIS,IAAOxB,kBACnByB,aAAaC,IAAI,aAAcZ,EAAWa,KAAK,MAAMP,EAAAE,OAEtCM,MAAMb,EAAIc,WAAY,CACvCC,YAAa,UACbC,QAAS7B,IACT,OAHQ,OAAJc,EAAII,EAAAY,KAAAZ,EAAAE,QAISN,EAAKC,OAAM,QAApB,GAAJA,EAAIG,EAAAY,MAENhB,EAAKiB,IAAMhB,EAAKiB,SAAWC,iBAAeC,SAAOhB,EAAAE,QAAA,MAEX,OAAxCjB,EAAgBQ,GADVK,EAAaD,EAAKC,YAAc,GACEE,EAAAG,gBACjCL,GAAU,QAAA,OAAAE,EAAAG,gBAEV,IAAE,QAAAH,EAAAE,QAAA,MAAA,QAGM,OAHNF,EAAAC,QAAAD,EAAAiB,GAAAjB,WAGXkB,QAAQC,MAAKnB,EAAAiB,IAAIjB,EAAAG,gBACV,IAAE,QAAA,UAAA,OAAAH,EAAAoB,UAAA7B,qBAEZ,gBA5ByB8B,GAAA,OAAAlC,EAAAmC,WAAAC,2CCFS,CACjCC,QAAS,UACTC,eAAgB,8CAeiB,CACjCT,QAAS,MACTU,aAAc,MACdC,aAAc,MACdC,mBAAoB,MACpBC,aAAc,MACdC,6BAA8B,MAC9BC,wBAAyB,iEC9Bc,iBACvC,GAAsB,oBAAXC,OACT,OAAO,EAGT,IAAMC,EAASC,YAAU,UAEnBC,SAAWC,EAAGC,kBAAAD,EAASE,aAE7B,SAAUL,GAA0B,OAAhBE"}
|