{"version":3,"file":"static/chunks/5416-0b32901c7a2a8ef0.js","mappings":"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","sources":["webpack://_N_E/./src/components/Form/FieldError.tsx","webpack://_N_E/./src/components/Form/Field.tsx","webpack://_N_E/./src/components/Form/FieldText.tsx","webpack://_N_E/./src/components/Form/InputBase.tsx","webpack://_N_E/./src/lib/gtag.ts","webpack://_N_E/./src/lib/object.ts","webpack://_N_E/./src/modules/Business/HomeInstitutions.tsx","webpack://_N_E/./src/modules/Business/HomePopUp.tsx","webpack://_N_E/./src/modules/Business/businessApi.ts"],"sourcesContent":["import React, { ReactNode } from \"react\";\n\nexport type Props = {\n name: string;\n validator: any;\n};\n\nconst FormFieldError: React.FC = ({ name, validator }) => {\n if (validator) {\n let message = \"Error\";\n let isError = false;\n\n const { hook } = validator;\n const {\n formState: { errors },\n } = hook;\n\n if (errors && typeof errors[name] !== \"undefined\") {\n isError = true;\n if (errors[name]?.message) {\n message = errors[name]?.message;\n }\n }\n\n if (isError) {\n return

{message}

;\n }\n return null;\n }\n return null;\n};\n\nexport default FormFieldError;\n","import React, {\n DetailedHTMLProps,\n InputHTMLAttributes,\n ReactNode,\n} from \"react\";\nimport FieldError from \"./FieldError\";\n\nexport type Props = DetailedHTMLProps<\n InputHTMLAttributes,\n HTMLInputElement\n> & {\n name?: string;\n label?: string;\n validator?: any;\n children?: ReactNode;\n className?: string;\n info?: string;\n islast?: boolean;\n isFull?: boolean;\n additionalInfo?: string;\n messageError?: string;\n};\n\nconst FormField: React.FC = ({\n name,\n label,\n validator,\n children,\n className,\n info,\n islast,\n isFull,\n required,\n additionalInfo,\n messageError\n}) => {\n return (\n \n {label && (\n
\n \n
\n )}\n {additionalInfo && (\n
\n {additionalInfo}\n
\n )}\n {children}\n {name && validator && }\n {messageError &&

{messageError}

}\n {info &&

{info}

}\n \n );\n};\n\nexport default FormField;\n","import { ReactNode } from \"react\";\nimport Field, { Props as BaseProps } from \"./Field\";\nimport InputBase, { style as inputBaseStyle } from \"./InputBase\";\n\ntype Props = BaseProps & {\n defaultValue?: any;\n type?: string;\n placeholder?: string;\n inputStyle?: string;\n afterInput?: ReactNode;\n beforeInput?: ReactNode;\n disabled?: boolean;\n classBase?: string;\n iconBeforeInput?: ReactNode;\n};\n\nconst FormFieldText: React.FC = (props) => {\n const {\n name,\n validator,\n children,\n type,\n defaultValue,\n afterInput,\n beforeInput,\n inputStyle,\n classBase,\n iconBeforeInput,\n ...others\n } = props;\n\n return (\n \n (\n \n )}\n />\n \n );\n};\n\nexport default FormFieldText;\n","import { ReactNode, ReactElement } from \"react\";\nimport { Controller } from \"react-hook-form\";\n\nexport type Props = {\n name: string;\n validator: any;\n classBase?: string;\n onRender(field: any): ReactElement;\n defaultValue?: any;\n afterInput?: ReactNode;\n beforeInput?: ReactNode;\n iconBeforeInput?: ReactNode;\n};\n\nexport const style =\n \"w-full px-8 h-40 bg-field_input text-b1 text-neutral-80 border border-neutral40_to_dark20 rounded-4 disabled:bg-field_input_disable placeholder-input_placeholder placeholder:font-light focus-visible:outline-2 focus-visible:outline-blue-50\";\n\nconst FormInputBase: React.FC = ({\n name,\n validator,\n classBase,\n onRender,\n defaultValue = \"\",\n afterInput,\n beforeInput,\n iconBeforeInput,\n}) => {\n const renderInput = () => {\n const { hook, rules } = validator;\n const { control } = hook;\n\n return (\n onRender(field)}\n />\n );\n };\n\n return (\n
\n {beforeInput}\n {iconBeforeInput && (\n
{iconBeforeInput}
\n )}\n {validator ? renderInput() : <>{onRender({})}}\n {afterInput}\n
\n );\n};\n\nexport default FormInputBase;\n","import { CONST } from \"lib/const\";\nimport type { Route } from \"nextjs-routes\";\nimport { isBrowser } from \"./ssr\";\n\nconst gaId = CONST.GA_ID;\nconst gtmId = CONST.GTM_ID;\n\n// https://morganfeeney.com/how-to/integrate-google-tag-manager-with-next-js\nexport const pushEvent = (stateLogin: string, currUser: any, rest: any) => {\n let dataPush = {\n user_id: rest.user_id ?? null,\n referral_code: rest?.referral_code ?? null,\n event: rest?.event ?? \"user_identity\",\n ...rest,\n };\n\n if (stateLogin == \"LOGIN\") {\n dataPush.user_id = currUser?.id;\n dataPush.referral_code =\n currUser?.referral !== \"\" ? currUser?.referral : null;\n } else {\n dataPush.referral_code = null;\n dataPush.user_id = null;\n dataPush.event = \"user_identity\";\n }\n\n if (typeof window !== \"undefined\") {\n console.log(\"push to GA ~~\", {\n ...dataPush,\n ...rest,\n });\n\n // @ts-ignore\n window.dataLayer.push({\n ...dataPush,\n ...rest,\n });\n }\n};\n\n// https://developers.google.com/analytics/devguides/collection/gtagjs/pages\nexport const pageview = (url: Route): void => {\n //@ts-ignore\n window.gtag(\"config\", gaId, {\n page_path: url,\n });\n};\n\nexport const pushDataLayer = ({ ...rest }) => {\n if (isBrowser()) {\n //@ts-ignore\n return window.dataLayer.push({\n ...rest,\n });\n }\n};\n","// Merge a `source` object to a `target` recursively\nexport const ObjectDeepMerge = (\n target: Record,\n source: Record\n) => {\n // Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties\n for (const key of Object.keys(source)) {\n if (source[key] instanceof Object)\n Object.assign(source[key], ObjectDeepMerge(target[key], source[key]));\n }\n\n // Join `target` and modified `source`\n Object.assign(target || {}, source);\n return target;\n};\n\n// omit keys from object\nexport const ObjectOmit = (obj: Record, keys: string[]) => {\n const result = { ...obj };\n keys.forEach(function (prop) {\n delete result[prop];\n });\n return result;\n};\n\n// sort array of object by key\nexport const ArrayObjectSortBy = >(\n array: Value[],\n key: string,\n isDesc?: boolean\n) => {\n if (array) {\n return array.sort(function (a: Value, b: Value) {\n if (isDesc) {\n if (key == \"created_date\") {\n //@ts-ignore\n return new Date(b[key]) - new Date(a[key]);\n } else {\n return b[key] - a[key];\n }\n } else {\n return a[key] - b[key];\n }\n });\n } else {\n return array;\n }\n};\n\n\n// reduce array with same objects\nexport const ReduceArrayFromDuplicate = (items: any[]) => {\n const filteredOption2 = Object.values(items.reduce((acc,cur)=>Object.assign(acc,{[cur.id]:cur}),{}));\n return filteredOption2\n}\n\n// generate object when not null\nexport const parseDataParams = (params) => {\n let newParams = {};\n for (let [k, v] of Object.entries(params)) {\n if (v) {\n newParams[k] = v;\n }\n }\n\n return newParams;\n};\n\n\n// suffle an array\nexport const ShuffleArray = (array: any) => {\n let currentIndex = array.length, randomIndex: number;\n\n // While there remain elements to shuffle.\n while (currentIndex > 0) {\n\n // Pick a remaining element.\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n\n // And swap it with the current element.\n [array[currentIndex], array[randomIndex]] = [\n array[randomIndex], array[currentIndex]];\n }\n\n return array;\n}\n\n\n// example raw: [\"a\",\"b\"], obj: {\"a\" : \"aaa\", \"b\" : \"bbb\", \"c\": \"ccc\"}\nexport const FilteredKeys = (raw: string[], obj: object) => {\n const filtered = Object.keys(obj)\n .filter(key => raw.includes(key))\n .reduce((obj, key) => {\n obj[key] = raw[key];\n return obj;\n }, {});\n return filtered\n}","import TranslationID from \"data/locales/id/business.json\";\nimport { ContainerDesktop } from \"components/Container\";\nimport { Image } from \"components/Image/Image\";\nimport { pushDataLayer } from \"lib/gtag\";\nimport { usePopupStoreFormSales } from \"modules/Home/popupStore\";\nimport Button from \"components/Button\";\n\nexport const BestCompanies = [\n {\n id: 1,\n name: \"AWS\",\n image_url:\n \"https://staging-static.gokampus.com/course-institutions/AsRWHzve28oQ7YsppqsN8uYvH84V0oG3tEgXaQGK.png\",\n // \"https://staging-static.gokampus.com/course-institutions/A2trauZewkpTzQUTnv5RTjwnedbZ4m6I2y2TWZxD.png\",\n },\n {\n id: 2,\n name: \"ESQ\",\n image_url:\n \"https://s.gokampus.com/course-institutions/IVP2BFrctpg4NsitZCo9S8GVyJ9QPxI14HfPGGX3.png\"\n },\n {\n id: 3,\n name: \"PrasMul\",\n image_url:\n \"https://s.gokampus.com/course-institutions/3aTdRP4IGwGrcg4WYhdHB9pDdKBq84hQ4rSiGXDv.png\",\n },\n {\n id: 4,\n name: \"UPH\",\n image_url:\n \"https://s.gokampus.com/course-institutions/YtbTat9wquzhf4o7Ez26cGmfswHn3rVkOb6DAd2u.png\",\n },\n {\n id: 5,\n name: \"Meta\",\n image_url: \"https://s.gokampus.com/provider/meta_spark.png\",\n },\n {\n id: 6,\n name: \"Tiktok\",\n image_url:\n \"https://s.gokampus.com/course-institutions/xFmcLEx9ssCs6M2mRblgspCLckDGhBul77MImhWs.png\",\n },\n {\n id: 7,\n name: \"Tokopedia\",\n image_url:\n \"https://s.gokampus.com/course-institutions/6lJBZv7cpaL9dkXqI9eY2J5BUYmWPDm1gGVHWv3U.png\",\n },\n {\n id: 8,\n name: \"UiPath\",\n image_url:\n \"https://s.gokampus.com/course-institutions/5EWzRJoYneG0lLI73q0vMhPT5QJmyBN5cfQa6F52.png\",\n },\n {\n id: 9,\n name: \"James Gwee\",\n image_url:\n \"https://s.gokampus.com/course-institutions/Fea14Pf04sLxrMMJX4WeIMuygtN2Q1J5xi4Zmc2f.png\",\n },\n {\n id: 10,\n name: \"Merry Riana\",\n image_url: \"https://s.gokampus.com/provider/merry_riana_group.png\",\n },\n {\n id: 11,\n name: \"Laruno (TDW)\",\n image_url:\n \"https://s.gokampus.com/course-institutions/Wn5HiLGGlGej7dhFHL0DUSCSQeUkuo58iUPX0ibY.png\",\n },\n {\n id: 12,\n name: \"Mindtera\",\n image_url:\n \"https://s.gokampus.com/course-institutions/tCpfhoqLExfpD2O92XRxTj35MWEC6RZNENoFHpeo.png\",\n },\n];\n\nexport const HomeInstitutions: React.FC = () => {\n const headingSectionInstitution = TranslationID[\"HomeInstitution\"];\n\n const { showPopupFormSales } = usePopupStoreFormSales((state) => ({\n showPopupFormSales: state.showPopupFormSales,\n }));\n\n const onClickImages = () => {\n pushDataLayer({\n event: \"cta-partner\",\n });\n showPopupFormSales(\"\");\n };\n\n const onClickSeeMoreInstitution = () => {\n pushDataLayer({\n event: \"cta-partner-see-more\",\n });\n showPopupFormSales(\"\");\n };\n\n return (\n
\n \n
\n

\n {headingSectionInstitution.title}\n

\n
onClickImages()}>\n
\n {BestCompanies.map((institution) => (\n \n \n
\n ))}\n
\n
\n
\n \n
\n \n
\n
\n );\n};\n","import TranslationID from \"data/locales/id/business.json\";\nimport React, { useState } from \"react\";\nimport { usePopupStoreFormSales } from \"../Home/popupStore\";\nimport { IconCheckCircle } from \"components/Icon/IconCheckCircle\";\nimport { Image } from \"components/Image/Image\";\nimport { BestCompanies } from \"modules/Business/HomeInstitutions\";\nimport FormFieldText from \"components/Form/FieldText\";\nimport { usePostContactBusiness } from \"modules/Business/businessApi\";\nimport { useToastStore } from \"components/Toast/toastStore\";\nimport Button from \"components/Button\";\nimport { pushDataLayer } from \"lib/gtag\";\n\nexport const HomePopUp: React.FC<{ eventId?: string; forHris?: boolean }> = ({\n eventId = \"popup-sales\",\n forHris = false,\n}) => {\n const textDocs = TranslationID[\"PopupFormSales\"];\n\n const { closePopupFormSales, currentCtaEvent } = usePopupStoreFormSales(\n (state) => ({\n closePopupFormSales: state.closePopupFormSales,\n currentCtaEvent: state.currentCtaEvent,\n })\n );\n const [contact, setcontact] = useState(\"\");\n\n const [isLoading, setIsLoading] = useState(false);\n const showToast = useToastStore((state) => state.showToast);\n const usePostApi = usePostContactBusiness();\n\n let finalEvent = eventId;\n if (currentCtaEvent != \"\") finalEvent = currentCtaEvent;\n const submit = () => {\n setIsLoading(true);\n\n if (!contact) {\n showToast({\n type: \"danger\",\n message: \"Pastikan kontak anda sudah diisi\",\n });\n setIsLoading(false);\n return;\n }\n const urlOrigin = window.location.href + \"?event=\" + finalEvent;\n usePostApi.doFetch(\n {\n contact,\n url_origin: urlOrigin,\n },\n {\n onSuccess(res) {\n pushDataLayer({ event: \"success-leads\" });\n\n closePopupFormSales();\n\n // reset form field\n setcontact(\"\");\n\n //@ts-ignore\n if (res.message === \"success\") {\n showToast({\n type: \"success\",\n message: \"Kontak anda berhasil terkirim\",\n });\n setIsLoading(false);\n }\n },\n onError(err) {\n showToast({\n type: \"danger\",\n message: err.data?.message ?? err.message ?? \"Error\",\n });\n setIsLoading(false);\n },\n }\n );\n };\n return (\n
\n {/* desktop: left - mobile: bottom */}\n
\n
\n
\n {textDocs.description}\n
\n {textDocs.benefits.length > 0 ? (\n
\n {textDocs.benefits.map((elm) => (\n
\n
\n \n
\n
\n
\n ))}\n
\n ) : null}\n
\n {textDocs.institutionTitle}\n
\n {BestCompanies && BestCompanies.length > 0 && (\n
\n {BestCompanies.map((institution) => (\n \n \n
\n ))}\n \n )}\n \n {/* desktop: right - mobile: top */}\n
\n
\n
\n {textDocs.contactSales}\n
\n
\n {textDocs.contactSalesDesc}\n
\n
\n {forHris\n ? textDocs.fieldContactHrisInput\n : textDocs.fieldContactInput}\n
\n setcontact(e.target.value)}\n />\n {\n pushDataLayer({ event: finalEvent });\n submit();\n }}\n isFull\n state={isLoading ? \"loading\" : \"active\"}\n >\n {textDocs.fieldSubmit}\n \n
\n
\n \n );\n};\n","import { useApi } from \"lib/apiFetcher\";\n\n//@ts-ignore\nexport const usePostContactBusiness = () => useApi(\"post\", \"/tenants/business-contact\");"],"names":["name","validator","message","isError","hook","formState","errors","p","className","label","children","info","islast","isFull","required","additionalInfo","messageError","div","span","FieldError","props","type","defaultValue","afterInput","beforeInput","inputStyle","classBase","iconBeforeInput","others","Field","InputBase","onRender","field","input","inputBaseStyle","id","style","rules","control","Controller","render","renderInput","CONST","pushEvent","stateLogin","currUser","rest","dataPush","user_id","referral_code","event","referral","console","log","window","dataLayer","push","pushDataLayer","isBrowser","ObjectOmit","obj","keys","result","forEach","prop","ArrayObjectSortBy","array","key","isDesc","sort","a","b","Date","ReduceArrayFromDuplicate","items","Object","values","reduce","acc","cur","assign","FilteredKeys","raw","filtered","filter","includes","BestCompanies","image_url","HomePopUp","eventId","forHris","textDocs","TranslationID","closePopupFormSales","currentCtaEvent","usePopupStoreFormSales","state","contact","setcontact","useState","isLoading","setIsLoading","showToast","useToastStore","usePostApi","usePostContactBusiness","finalEvent","dangerouslySetInnerHTML","__html","title","description","benefits","length","map","elm","IconCheckCircle","color","size","institutionTitle","institution","Image","width","height","src","alt","Math","random","contactSales","contactSalesDesc","fieldContactHrisInput","fieldContactInput","FormFieldText","placeholder","fieldContactHrisPlaceholder","fieldContactPlaceholder","value","onChange","e","target","Button","onClick","urlOrigin","location","href","doFetch","url_origin","onSuccess","res","onError","err","data","submit","fieldSubmit","useApi"],"sourceRoot":""}