@kompasid/lit-web-components 0.9.44 → 0.9.46
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/dist/src/components/kompasid-paywall-body/KompasPaywallBody.js +7 -5
- package/dist/src/components/kompasid-paywall-body/KompasPaywallBody.js.map +1 -1
- package/dist/tailwind/tailwind.js +24 -16
- package/dist/tailwind/tailwind.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/components/kompasid-paywall-body/KompasPaywallBody.ts +9 -5
- package/tailwind/tailwind.css +24 -16
- package/tailwind/tailwind.ts +24 -16
|
@@ -564,7 +564,7 @@ let KompasIdPaywallBody = class KompasIdPaywallBody extends LitElement {
|
|
|
564
564
|
>
|
|
565
565
|
<div>
|
|
566
566
|
<div
|
|
567
|
-
class="font-bold font-sans ${buttonTextColorClass} w-full text-left"
|
|
567
|
+
class="text-sm md:text-base font-bold font-sans ${buttonTextColorClass} w-full text-left leading-tight md:leading-5"
|
|
568
568
|
>
|
|
569
569
|
Keuntungan Eksklusif yang Anda Dapatkan:
|
|
570
570
|
</div>
|
|
@@ -694,7 +694,7 @@ let KompasIdPaywallBody = class KompasIdPaywallBody extends LitElement {
|
|
|
694
694
|
const { isDark } = this;
|
|
695
695
|
const containerClass = `px-4 flex flex-wrap items-center justify-between rounded-lg md:mx-0 w-full max-w-xs md:max-w-sm md:w-3/5 min-h-[68px]
|
|
696
696
|
${isDark ? ' bg-grey-600' : ' bg-white'}
|
|
697
|
-
${isHighlight ? '
|
|
697
|
+
${isHighlight ? 'outline-yellow-400 outline-2 outline mt-2' : ''} relative`;
|
|
698
698
|
const textColorClass = isDark ? 'text-dark-7' : 'text-grey-600';
|
|
699
699
|
let buttonBgColorClass = '';
|
|
700
700
|
if (isButtonSolid) {
|
|
@@ -739,7 +739,7 @@ let KompasIdPaywallBody = class KompasIdPaywallBody extends LitElement {
|
|
|
739
739
|
<span
|
|
740
740
|
class="${isDark
|
|
741
741
|
? 'text-white'
|
|
742
|
-
: 'text-grey-400'} line-through"
|
|
742
|
+
: 'text-grey-400'} line-through leading-none"
|
|
743
743
|
>${formatRupiah(product.priceSlice)}</span
|
|
744
744
|
>
|
|
745
745
|
</div>
|
|
@@ -750,7 +750,9 @@ let KompasIdPaywallBody = class KompasIdPaywallBody extends LitElement {
|
|
|
750
750
|
<div
|
|
751
751
|
class="flex font-bold items-center text-xs font-sans bg-red-100 rounded p-1"
|
|
752
752
|
>
|
|
753
|
-
<span class="text-red-500"
|
|
753
|
+
<span class="text-red-500 leading-none"
|
|
754
|
+
>${product.saveLabel}</span
|
|
755
|
+
>
|
|
754
756
|
</div>
|
|
755
757
|
`
|
|
756
758
|
: nothing}
|
|
@@ -768,7 +770,7 @@ let KompasIdPaywallBody = class KompasIdPaywallBody extends LitElement {
|
|
|
768
770
|
? html `
|
|
769
771
|
<div class="absolute -top-2 left-4">
|
|
770
772
|
<div
|
|
771
|
-
class="rounded bg-yellow-300 px-2 h-4 items-center text-xs"
|
|
773
|
+
class="rounded bg-yellow-300 px-2 h-4 items-center text-xs leading-none flex"
|
|
772
774
|
>
|
|
773
775
|
<b class="text-grey-600">Harga Terbaik</b>
|
|
774
776
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KompasPaywallBody.js","sourceRoot":"","sources":["../../../../src/components/kompasid-paywall-body/KompasPaywallBody.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-return-assign */\n\nimport { html, css, LitElement, nothing } from 'lit'\nimport { property, state, customElement } from 'lit/decorators.js'\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js'\nimport { TWStyles } from '../../../tailwind/tailwind.js'\nimport {\n PaywallProduct,\n Product,\n Packages,\n PaymentImage,\n PaywallType,\n} from '../kompasid-paywall/types.js'\nimport { getFontAwesomeIcon } from '../../utils/fontawesome-setup.js'\nimport { deviceType } from '../../utils/deviceType.js'\nimport { formatRupiah } from '../../utils/formatRupiah.js'\nimport { addGoogleFonts } from '../../utils/googleFont.js'\nimport { redirectToLogin } from '../../utils/cta.js'\nimport { customFetch } from '../../utils/customFetch.js'\nimport { getCookie } from '../../utils/getCookies.js'\nimport { getLoginGuest } from '../../utils/api/getLoginGuest.js'\n\n@customElement('kompasid-paywall-body')\nexport class KompasIdPaywallBody extends LitElement {\n static styles = [\n css`\n .wrapper-body {\n display: flex;\n flex-direction: column;\n justify-items: center;\n align-items: center;\n }\n\n .z-index-max {\n z-index: 999999;\n }\n\n .font-lora {\n font-family: 'Lora', 'Georgia', 'serif';\n }\n `,\n TWStyles,\n ]\n\n /**\n * Props\n */\n /**\n * prop slug untuk menghandle slug\n * prop isLogin untuk menghandle apakah user sudah login atau belum\n * prop type untuk menghandle tipe epaper\n * prop paywallData untuk menghandle data paywall\n * prop userGuid untuk menghandle user Guid\n * prop subscriptionStatus untuk menghandle status subscription user\n * prop countdownArticle untuk menghandle count artikel\n * prop swgEnable untuk menghandle swg apakah di aktifkan atau tidak\n * prop paywall_location = The location where user encounter the paywall\n * prop paywall_subscription_package = The name of the subscription package viewed by user\n * prop paywall_subscription_id = The ID of the subscription package viewed by user\n * prop paywall_subscription_price = The price of the subscriprtion package viewed by user\n * prop paywall_position = The position of the subscription package viewed by user\n * prop tracker_page_type = Type of the page\n * prop tracker_content_id = ID of article (slug)\n * prop tracker_content_type = Whether it's free article or paid article\n * prop tracker_content_title = The title of article\n * prop tracker_content_categories = The category of the content\n * prop tracker_user_type = Type of user based on their subscription\n * prop tracker_subscription_status = Status of their subscription\n * prop tracker_page_domain = Page Domain\n * prop tracker_metered_wall_type = The type of Metered Wall\n * prop tracker_metered_wall_balance = The balance of their metered wall\n * prop tracker_metered_wall_balance = The edition of epaper viewed by user\n * prop theme = The theme of the paywall component\n */\n\n @property({ type: String }) slug = ''\n @property({ type: Boolean }) isLogin = false\n @property({ type: String }) type: PaywallType = 'reguler'\n @property({ type: Object }) paywallData: PaywallProduct | undefined =\n undefined\n @property({ type: String }) userGuid = ''\n @property({ type: String }) subscriptionStatus = ''\n @property({ type: Number }) countdownArticle = 0\n @property({ type: Boolean }) swgEnable = false\n @property({ type: String }) paywall_location = ''\n @property({ type: String }) paywall_subscription_package = ''\n @property({ type: Number }) paywall_subscription_id = 0\n @property({ type: Number }) paywall_subscription_price = 0\n @property({ type: Number }) paywall_position = 0\n @property({ type: String }) tracker_page_type = ''\n @property({ type: String }) tracker_content_id = ''\n @property({ type: String }) tracker_content_title = ''\n @property({ type: String }) tracker_content_categories = ''\n @property({ type: String }) tracker_content_type = ''\n @property({ type: String }) tracker_content_tags = ''\n @property({ type: String }) tracker_content_published_date = ''\n @property({ type: String }) tracker_content_variant = ''\n @property({ type: String }) tracker_user_type = ''\n @property({ type: String }) tracker_subscription_status = ''\n @property({ type: String }) tracker_page_domain = ''\n @property({ type: String }) tracker_metered_wall_type = ''\n @property({ type: Number }) tracker_metered_wall_balance = 0\n @property({ type: String }) tracker_epaper_edition = ''\n @property({ type: String }) tracker_content_publisher = ''\n @property({ type: String }) theme = ''\n @property() togglePaywall = () => {}\n\n /**\n * State\n */\n\n @state() private isExtensionsOpened = false\n @state() private kompasAkunHost = 'https://akun.kompas.id'\n @state() private kompasApigenHost = 'https://apigen.kompas.id'\n @state() private kompasApiWcmHost = 'https://apiwcm.kompas.id'\n @state() private kompasLoginHost = 'https://account.kompas.id/login'\n @state() private kompasApiSubsHost = 'https://apisubs.kompas.id'\n @state() private epaperHost = 'https://epaper.kompas.id'\n @state() private swgPublisherName = 'Harian Kompas'\n @state() private swgPublisherId = 'kompas.id'\n @state() private swgProductId = 'kompas.id:kompas_digital_premium'\n @state() private errorFlag = 0\n @state() private accessToken = ''\n @state() private refreshToken = ''\n @state() private domain = 'id'\n\n _packages!: Packages\n buttonElement!: HTMLButtonElement\n targetElement!: HTMLElement\n\n /**\n * Getter\n */\n\n get loginUrl() {\n return `${this.kompasLoginHost}?next=${encodeURIComponent(\n this.epaperHost + window.location.pathname\n )}&loc=hard_paywall`\n }\n\n get isDark() {\n return this.theme === 'dark'\n }\n\n get isEntitledForIntroductoryPrice(): boolean {\n return !this.isLogin || this.tracker_subscription_status === 'IA'\n }\n\n get packages(): Packages {\n return this._packages\n }\n\n /**\n * Logic Function\n */\n\n private redirectToCheckout(\n url: string,\n name: string,\n id: string,\n price: number,\n position: number\n ): void {\n this.sendDataLayeronButtonBuyPackage(name, id, price, position)\n const originHost: string = encodeURIComponent(window.location.href)\n let source: string\n\n switch (this.type) {\n case 'epaper':\n case 'proMiningOutlook':\n source = 'epaper'\n break\n case 'audio':\n source = 'news_audio'\n break\n case 'proMiningArticle':\n default:\n source = 'article'\n }\n\n const directUrlCheckout: string = `${url}${originHost}&source=${source}`\n window.open(directUrlCheckout)\n }\n\n private redirectToPrevUrl(): void {\n window.history.back()\n }\n\n private redirectToSubscriber(): void {\n this.sendDataLayer()\n const getCtaUrl = this.paywallData?.informations?.cta\n ? this.paywallData?.informations?.cta.url\n : ''\n // TODO: Hendy\n // Bisa jadi ini nanti open from nya beda, untuk sekarang biarkan dulu, note 25 08 2025 (tolong tanya ke PM bersangkutan)\n const openFrom = `${this.type === 'epaper' ? 'ePaper' : 'Hard'}_Paywall`\n window.open(`${getCtaUrl}?open_from=${openFrom}`)\n }\n\n private redirectToHelpdesk(): void {\n this.sendDataLayeronHelpDesk()\n window.open(\n 'https://api.whatsapp.com/send/?phone=6281290050800&text=Halo,%20saya%20perlu%20informasi%20mengenai%20kompas.id'\n )\n }\n\n private handleClickOutside() {\n if (this.targetElement?.classList.contains('wrapper-body')) {\n this.togglePaywall()\n }\n\n if (this.targetElement?.id === 'freeTrialPopup') {\n this.closeFreeTrialPopup()\n }\n }\n\n private parsePrice(price: string): number {\n const lowerCasePrice = price.toLowerCase()\n\n if (lowerCasePrice.startsWith('rp')) {\n return parseFloat(price.replace(/[^0-9,]/g, ''))\n }\n\n return parseFloat(price.replace(/[^0-9.]/g, ''))\n }\n\n private async getRegisterToken(path: string, payload: any): Promise<string> {\n return fetch(`${this.kompasApigenHost}/v1/user/register/token/${path}`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'content-type': 'application/json',\n },\n })\n .then(response => response.json())\n .then((data: any) => data.result.token)\n .catch(error => {\n throw error\n })\n }\n\n private async getUserToken(path: string, payload: any): Promise<string> {\n return fetch(`${this.kompasApigenHost}/v1/user/token/${path}`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'content-type': 'application/json',\n },\n })\n .then(response => response.json())\n .then((data: any) => data.result.token)\n .catch(error => {\n throw error\n })\n }\n\n private async getSubscriptionToken(\n path: string,\n payload: any\n ): Promise<string> {\n return fetch(`${this.kompasAkunHost}/api/subscription/login/${path}`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'content-type': 'application/json',\n },\n })\n .then(response => response.json())\n .then((data: any) => {\n this.errorFlag = 0\n return data.access_token\n })\n .catch(async error => {\n const errorCode = error.response.status\n if (errorCode === 500 && this.errorFlag < 5) {\n // eslint-disable-next-line no-plusplus\n this.errorFlag++\n setTimeout(async () => {\n await this.getSubscriptionToken(path, payload)\n }, 2000)\n } else {\n this.errorFlag = 0\n throw error\n }\n })\n }\n\n private async createSwG(payload: any) {\n const headersData: any = {\n 'content-type': 'application/json',\n Authorization: `Bearer ${this.accessToken}`,\n }\n\n const options = {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: headersData,\n }\n\n await customFetch(\n `${this.kompasApiSubsHost}/membership/swg`,\n this.refreshToken,\n this.accessToken,\n this.domain,\n { ...options }\n )\n .then(response => response.json())\n .catch(error => {\n throw error\n })\n }\n\n private subscribeWithGoogleButton(): any {\n // @ts-ignore\n // eslint-disable-next-line no-restricted-globals\n ;(self.SWG = self.SWG || []).push((subscriptions: any) => {\n // set entitlement\n subscriptions.setOnEntitlementsResponse(() => {\n // subscriptions attach button\n subscriptions.attachButton(\n this.buttonElement,\n { theme: 'light', lang: 'en' },\n async () => {\n subscriptions.showOffers({ isClosable: true })\n subscriptions.setOnLoginRequest(() => {\n window.location.href = this.loginUrl\n })\n const offers = await subscriptions.getOffers()\n subscriptions.setOnFlowStarted((callback: any) => {\n if (callback.flow === 'showOffers') {\n window.dataLayer.push(this.swgPackageViewedDataLayer(offers))\n } else if (callback.flow === 'subscribe') {\n const selectedOfferSkuId = callback.data.skuId\n const selectedOffer = offers.find(\n (offer: any) => offer.skuId === selectedOfferSkuId\n )\n window.dataLayer.push(\n this.swgSubscribeButtonClicked(\n selectedOffer,\n offers.indexOf(selectedOffer)\n )\n )\n }\n })\n subscriptions.setOnPaymentResponse(async (paymentResponse: any) => {\n const response = await paymentResponse\n const raw = JSON.parse(response.purchaseData.raw)\n const { productId, purchaseToken, packageName } = raw\n const { email } = response.userData.data\n const swgMembershipChannelId = 2\n const payload = {\n email,\n purchase_token: purchaseToken,\n product_id: productId,\n package_name: packageName,\n membershipChannelId: swgMembershipChannelId,\n }\n\n await this.createSwG(payload)\n response.complete().then(() => {\n window.location.href = this.loginUrl\n })\n })\n }\n )\n })\n })\n }\n\n private jsonScript() {\n const jsonData = {\n '@context': 'https://schema.org',\n '@type': ['WebSite', 'WebPage'],\n isAccessibleForFree: false,\n url: this.epaperHost + window.location.pathname,\n name: this.swgPublisherName,\n hasPart: {\n '@type': 'WebPageElement',\n },\n isPartOf: {\n '@type': ['CreativeWork', 'Product'],\n name: this.swgPublisherId,\n productID: this.swgProductId,\n },\n }\n const str = JSON.stringify(jsonData)\n const jsonScript = document.createElement('script')\n jsonScript.type = 'application/ld+json'\n jsonScript.text = str\n jsonScript.defer = true\n const jsonHead = document.querySelector('head')\n if (jsonHead) {\n jsonHead.appendChild(jsonScript)\n }\n }\n\n constructor() {\n super()\n this.handleClickOutside = this.handleClickOutside.bind(this)\n }\n\n protected createRenderRoot() {\n const root = super.createRenderRoot()\n root.addEventListener(\n 'click',\n (e: Event) => (this.targetElement = e.target as HTMLElement)\n )\n return root\n }\n\n override async connectedCallback() {\n this._packages = this.paywallData?.packages ?? ({} as Packages)\n\n super.connectedCallback()\n this.sendDataLayeronPaywallBody()\n await this.updateComplete\n this.accessToken = getCookie('kompas._token')\n this.refreshToken = getCookie('kompas._token_refresh')\n\n await getLoginGuest().then(data => {\n this.accessToken = this.accessToken || data.accessToken\n this.refreshToken = this.refreshToken || data.refreshToken\n })\n\n if (this.packages.swgEnable) {\n this.jsonScript()\n const appendSWGButton = () => {\n this.buttonElement = this.shadowRoot?.getElementById(\n 'subscribe-with-google'\n ) as HTMLButtonElement\n if (this.buttonElement) {\n const head = document.querySelector('head')\n const script = document.createElement('script')\n script.src = 'https://news.google.com/swg/js/v1/swg.js'\n script.defer = true\n script.onload = this.subscribeWithGoogleButton()\n\n if (head) {\n head.appendChild(script)\n }\n }\n }\n setTimeout(appendSWGButton, 500)\n }\n addGoogleFonts(['pt-sans', 'lora'])\n document.addEventListener('click', this.handleClickOutside)\n }\n\n override async disconnectedCallback() {\n super.disconnectedCallback()\n document.removeEventListener('click', this.handleClickOutside)\n }\n\n private otherPackagesClicked() {\n this.sendDataLayerOtherPackagesClicked()\n this.redirectToSubscriber()\n }\n\n private customerServiceClicked() {\n this.sendDataLayerCustomerServiceClicked()\n this.redirectToHelpdesk()\n }\n\n /**\n * Data Layer\n */\n\n private buildGtmParams(\n event: string,\n impressions: Record<string, any>[],\n index: number = 0\n ) {\n const gtmParams: Record<string, any> = {\n event,\n impressions: impressions.map((impression, i) => ({\n paywall_location: this.paywall_location || '',\n paywall_subscription_package: impression.package,\n paywall_subscription_id: impression.subscription_id,\n paywall_subscription_price: this.parsePrice(impression.price),\n paywall_position: index + i + 1,\n user_type: this.tracker_user_type,\n subscription_status: this.tracker_subscription_status,\n page_domain: this.tracker_page_domain || 'Kompas.id',\n metered_wall_type: this.tracker_metered_wall_type || 'HP',\n metered_wall_balance: this.tracker_metered_wall_balance,\n content_tags: this.tracker_content_tags || '',\n content_published_date: this.tracker_content_published_date || '',\n content_variant: this.tracker_content_variant || '',\n variant: this.paywallData?.informations?.typeVariant || '',\n ...(this.type === 'epaper' || this.type === 'proMiningOutlook'\n ? { epaper_edition: this.tracker_epaper_edition }\n : {\n page_type: this.tracker_page_type,\n content_id: this.tracker_content_id,\n content_title: this.tracker_content_title,\n content_categories: this.tracker_content_categories,\n content_type: this.tracker_content_type,\n content_publisher: this.tracker_content_publisher,\n }),\n })),\n }\n\n return gtmParams\n }\n\n private generalPaywallDataLayer(event: string): Record<string, any> {\n const packages = this.paywallData?.packages ?? ({} as Packages)\n\n const impressions = packages.memberships.map(membership => ({\n package: membership.package,\n subscription_id: membership.subscriptionId,\n price: membership.price.toString(),\n }))\n\n return this.buildGtmParams(event, impressions)\n }\n\n private sendDataLayer(): void {\n window.dataLayer.push({\n event: 'halamanBerlanggananClick',\n subscriptionStatus: '',\n GUID: '',\n interface: deviceType(),\n })\n }\n\n private sendDataLayeronHelpDesk(): void {\n window.dataLayer.push({\n event: 'helpOfferClick',\n userType: this.subscriptionStatus,\n GUID: this.userGuid,\n interface: deviceType(),\n })\n }\n\n private sendDataLayeronButtonBuyPackage(\n name: string,\n id: string,\n price: number,\n position: number\n ): void {\n const gtmParams: Record<string, any> = {\n event: 'subscribe_button_clicked',\n paywall_location: this.paywall_location,\n paywall_subscription_package: name,\n paywall_subscription_id: id,\n paywall_subscription_price: price,\n paywall_position: position,\n user_type: this.tracker_user_type,\n subscription_status: this.tracker_subscription_status,\n page_domain: this.tracker_page_domain || 'Kompas.id',\n metered_wall_type: this.tracker_metered_wall_type || 'HP',\n metered_wall_balance: this.tracker_metered_wall_balance,\n }\n\n if (this.type !== 'epaper') {\n gtmParams.content_title = this.tracker_content_title\n gtmParams.content_id = this.tracker_content_id\n gtmParams.content_categories = this.tracker_content_categories\n gtmParams.content_type = this.tracker_content_type\n gtmParams.content_publisher = this.tracker_content_publisher\n gtmParams.page_type = this.tracker_page_type\n } else {\n gtmParams.epaper_edition = this.tracker_epaper_edition\n }\n\n window.dataLayer.push(gtmParams)\n }\n\n private sendDataLayeronPaywallBody(): void {\n const gtmParams = this.generalPaywallDataLayer('paywall_viewed')\n window.dataLayer.push(gtmParams)\n }\n\n private sendDataLayerOtherPackagesClicked(): void {\n const gtmParams = this.generalPaywallDataLayer('other_packages_clicked')\n window.dataLayer.push(gtmParams)\n }\n\n private sendDataLayerCustomerServiceClicked(): void {\n const gtmParams = this.generalPaywallDataLayer('customer_service_clicked')\n window.dataLayer.push(gtmParams)\n }\n\n private swgPackageViewedDataLayer(data: any): Record<string, any> {\n const impressions = data.map(\n (item: {\n title: string\n skuId: string\n price: string\n introductoryPrice: string\n }) => ({\n package: item.title,\n subscription_id: item.skuId,\n price: item.introductoryPrice || item.price,\n })\n )\n\n return this.buildGtmParams('subscription_package_viewed', impressions)\n }\n\n private swgSubscribeButtonClicked(item: any, index: number) {\n const gtmParams: any = {\n event: 'subscribe_button_clicked',\n paywall_location: this.paywall_location || '',\n paywall_subscription_package: item.title,\n paywall_subscription_id: item.skuId,\n paywall_subscription_price: this.parsePrice(\n item.introductoryPrice || item.price\n ),\n paywall_position: index + 1,\n user_type: this.tracker_user_type,\n subscription_status: this.tracker_subscription_status,\n page_domain: this.tracker_page_domain || 'Kompas.id',\n metered_wall_type: this.tracker_metered_wall_type || 'HP',\n metered_wall_balance: this.tracker_metered_wall_balance,\n }\n\n if (this.type === 'epaper') {\n gtmParams.epaper_edition = this.tracker_epaper_edition\n } else {\n gtmParams.page_type = this.tracker_page_type\n gtmParams.content_id = this.tracker_content_id\n gtmParams.content_title = this.tracker_content_title\n gtmParams.content_categories = this.tracker_content_categories\n gtmParams.content_type = this.tracker_content_type\n }\n\n return gtmParams\n }\n\n /**\n * Component\n */\n\n private headerSection(type: PaywallType, title: string) {\n let buttonContent\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const textColorDefault = isPro ? 'text-grey-600' : 'text-blue-600'\n const textColorClass = this.isDark ? 'text-blue-300' : textColorDefault\n const buttonTextColorClass = this.isDark ? 'text-white' : 'text-grey-600'\n const isPrevHistoryExist = window.history.length > 1\n\n if (type === 'epaper' && isPrevHistoryExist) {\n buttonContent = html` <button\n @click=${this.redirectToPrevUrl}\n class=\"absolute left-2.5 -top-1.5 hidden md:flex w-10 h-10 justify-center items-center ${textColorClass}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'arrow-left', 20, 20))}\n </button>`\n } else if (type === 'proMiningOutlook' && isPrevHistoryExist) {\n buttonContent = html` <button\n @click=${this.redirectToPrevUrl}\n class=\"absolute left-2.5 -top-1.5 hidden md:flex w-10 h-10 justify-center items-center ${textColorClass}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'arrow-left', 20, 20))}\n </button>`\n } else if (type === 'audio') {\n buttonContent = html` <button\n @click=${this.togglePaywall}\n class=\"absolute left-2.5 -top-1.5 hidden md:flex w-10 h-10 justify-center items-center ${textColorClass}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'xmark', 28, 28))}\n </button>`\n } else {\n buttonContent = nothing\n }\n\n const headerClass = `text-base flex justify-center self-center md:block md:text-xl ${buttonTextColorClass} text-center font-lora font-bold tracking-normal max-w-xs sm:max-w-lg md:w-full md:max-w-[492px] ${\n type === 'audio' && 'sm:px-16 md:px-20'\n }`\n\n return html`\n <div class=\"flex w-full items-start justify-center relative md:px-10\">\n ${buttonContent}\n <h4 class=${headerClass}>${title}</h4>\n </div>\n `\n }\n\n private excerptSection(excerpt: string) {\n return excerpt\n ? html` <p\n class=\"text-sm md:text-base ${this.isDark\n ? 'text-white'\n : 'text-grey-600'} font-sans mt-2 md:mt-4 max-w-[492px] text-center\"\n >\n ${excerpt}\n </p>`\n : nothing\n }\n\n private descriptionSection(data: Array<string>) {\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const textColorClass = this.isDark ? 'text-green-400' : 'text-green-500'\n const buttonTextColorClass = this.isDark ? 'text-white' : 'text-grey-600'\n const borderColorDefault = isPro ? 'border-grey-300' : 'border-blue-200'\n const borderColorClass = this.isDark ? 'border-white' : borderColorDefault\n\n return data.length\n ? html`<div\n class=\"md:max-w-[492px] flex flex-col items-center px-0 lg:px-4 py-4 lg:py-5 w-full border-b border-t ${borderColorClass} mt-4 lg:mt-5\"\n >\n <div>\n <div\n class=\"font-bold font-sans ${buttonTextColorClass} w-full text-left\"\n >\n Keuntungan Eksklusif yang Anda Dapatkan:\n </div>\n <div class=\"flex flex-col mt-2 md:mt-3 gap-2 text-left\">\n ${data.map(\n item =>\n html`\n <div class=\"flex items-center text-left\">\n <div\n class=\"${textColorClass} h-4 w-4 md:h-5 md:w-5 flex items-center justify-center\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'check', 16, 16))}\n </div>\n <h6\n class=\"text-sm md:text-base ml-1 md:ml-2 ${buttonTextColorClass}\"\n >\n ${item}\n </h6>\n </div>\n `\n )}\n </div>\n </div>\n </div>`\n : nothing\n }\n\n private ctaPackages() {\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const textColorDefault = isPro ? 'text-grey-600' : 'text-blue-600'\n const textColorClass = this.isDark ? 'text-blue-300' : textColorDefault\n const getCtaText = this.paywallData?.informations?.cta\n ? this.paywallData?.informations?.cta.text\n : ''\n const showCta = this.paywallData?.informations?.cta\n ? this.paywallData?.informations?.cta.show\n : false\n\n return showCta\n ? html` <div class=\"flex justify-center mt-2 md:mt-3\">\n <button\n @click=${this.otherPackagesClicked}\n class=\"text-sm md:text-base font-bold underline ${textColorClass}\"\n >\n ${getCtaText}\n </button>\n </div>`\n : nothing\n }\n\n private epaperRegistrationSection() {\n const textColorClass = this.isDark ? 'text-blue-300' : 'text-blue-600'\n const buttonTextColorClass = this.isDark ? 'text-white' : 'text-grey-600'\n\n return html`\n <div class=\"mt-4 lg:mt-5\">\n <span class=\"${buttonTextColorClass}\">Sudah berlangganan?</span>\n <button\n @click=${() =>\n redirectToLogin({\n loc: 'hard_paywall',\n next: this.epaperHost + window.location.pathname,\n })}\n class=\"text-sm md:text-base font-bold underline ${textColorClass}\"\n >\n Masuk\n </button>\n </div>\n `\n }\n\n private regulerRegistrationSection() {\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const textColorDefault = isPro ? 'text-grey-600' : 'text-blue-600'\n const textColorClass = this.isDark ? 'text-blue-300' : textColorDefault\n const buttonTextColorClass = this.isDark ? 'text-white' : 'text-grey-600'\n\n return html`\n <div\n class=\"flex flex-col items-center justify-center text-sm md:text-base mt-4 lg:mt-5\"\n >\n <div>\n <span class=\"${buttonTextColorClass}\">Sudah berlangganan?</span>\n <button\n @click=${() => redirectToLogin({ loc: 'hard_paywall' })}\n class=\"font-bold underline ${textColorClass}\"\n >\n Masuk\n </button>\n </div>\n </div>\n `\n }\n\n private registrationSection(type: PaywallType) {\n return type === 'epaper'\n ? this.epaperRegistrationSection()\n : this.regulerRegistrationSection()\n }\n\n private paymentMobileExtension(data: Array<PaymentImage>) {\n return html`\n <div\n class=\"w-full max-w-xs mb-1 ml-8 md:hidden absolute px-4 ${this.isDark\n ? '-bottom-6'\n : 'bottom-0'}\"\n >\n <div\n class=\"w-full rounded p-3 max-w-xs ${this.isDark\n ? 'bg-dark-6 border-dark-6'\n : 'bg-white border-white'}\"\n >\n <svg\n class=\"right-0 h-4 mr-10 -mt-7 z-0 transform rotate-180 absolute ${this\n .isDark\n ? 'text-dark-6 border-dark-6'\n : 'text-white border-white '}\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 255 255\"\n >\n <polygon class=\"fill-current\" points=\"0,0 127.5,127.5 255,0\" />\n </svg>\n <div\n class=\"grid place-items-center items-center grid-flow-row grid-cols-5 grid-rows-2 gap-y-4\"\n >\n ${data.map(\n item =>\n html`<img\n class=\"object-cover\"\n src=${item.link}\n alt=\"${item.name}-logo-payment\"\n />`\n )}\n </div>\n </div>\n </div>\n `\n }\n\n private renderPackage(\n product: Product,\n isHighlight: boolean,\n isButtonSolid: boolean\n ) {\n const { isDark } = this\n\n const containerClass = `px-4 flex flex-wrap items-center justify-between rounded-lg md:mx-0 w-full max-w-xs md:max-w-sm md:w-3/5 min-h-[68px]\n ${isDark ? ' bg-grey-600' : ' bg-white'}\n ${isHighlight ? 'border border-yellow-400 mt-2' : ''} relative`\n const textColorClass = isDark ? 'text-dark-7' : 'text-grey-600'\n\n let buttonBgColorClass = ''\n if (isButtonSolid) {\n buttonBgColorClass = isDark\n ? 'bg-green-300 border border-green-400'\n : 'bg-green-500'\n } else {\n buttonBgColorClass = isDark\n ? ' border border-green-500 text-green-300'\n : ' border border-green-500 bg-white text-green-500'\n }\n\n const buttonClass = `h-8 rounded ${buttonBgColorClass} flex items-center`\n\n let buttonTextColor = ''\n if (isButtonSolid) {\n buttonTextColor = isDark ? ' text-black' : ' text-white'\n } else if (isDark) {\n buttonTextColor = 'text-green-300'\n } else {\n buttonTextColor = 'text-green-500'\n }\n const buttonTextClass = `text-xs md:text-sm font-bold py-2 px-4 ${buttonTextColor}`\n return html`\n <div class=\"${containerClass}\">\n <div class=\"flex flex-col gap-1\">\n <div class=\"flex items-baseline\">\n <h5 class=\"text-base font-bold text-orange-400 leading-none\">\n ${formatRupiah(product.price)}\n </h5>\n <h6 class=\"text-xs font-bold pl-1 ${textColorClass} leading-none\">\n / ${product.periode}\n </h6>\n </div>\n ${product.priceSlice || product.saveLabel\n ? html`\n <div class=\"flex flex-row gap-2\">\n ${product.priceSlice\n ? html`\n <div class=\"flex items-center text-xs font-sans\">\n <span\n class=\"${isDark\n ? 'text-white'\n : 'text-grey-400'} line-through\"\n >${formatRupiah(product.priceSlice)}</span\n >\n </div>\n `\n : nothing}\n ${product.saveLabel\n ? html`\n <div\n class=\"flex font-bold items-center text-xs font-sans bg-red-100 rounded p-1\"\n >\n <span class=\"text-red-500\">${product.saveLabel}</span>\n </div>\n `\n : nothing}\n </div>\n `\n : nothing}\n </div>\n <button\n class=\"${buttonClass}\"\n @click=${() =>\n this.redirectToCheckout(\n product.url,\n product.package,\n product.subscriptionId,\n product.price,\n product.position\n )}\n >\n <h6 class=\"${buttonTextClass}\">Langganan</h6>\n </button>\n ${isHighlight\n ? html`\n <div class=\"absolute -top-2 left-4\">\n <div\n class=\"rounded bg-yellow-300 px-2 h-4 items-center text-xs\"\n >\n <b class=\"text-grey-600\">Harga Terbaik</b>\n </div>\n </div>\n `\n : nothing}\n </div>\n `\n }\n\n private packagesSection(data: Packages) {\n return html`\n <div\n class=\"flex flex-col w-full items-center gap-2 md:gap-3 mt-4 md:mt-5\"\n >\n ${data.memberships.map(item =>\n this.renderPackage(item, item.isHighlight, item.isButtonSolid)\n )}\n ${this.freeTrialPackageSection()} ${this.freeTrialPopUp()}\n ${this.packages.swgEnable ? this.swgPackageSection() : nothing}\n </div>\n `\n }\n\n // private packagesSection(data: Packages) {\n // return html`\n // <div class=\"flex flex-col w-full items-center mt-8 md:mt-2 px-4\">\n // ${data.memberships.map(item =>\n // item.isHighlight\n // ? this.primaryPackages(item)\n // : this.secondaryPackages(item)\n // )}\n // ${this.freeTrialPackageSection()} ${this.freeTrialPopUp()}\n // ${this.packages.swgEnable ? this.swgPackageSection() : nothing}\n // </div>\n // `\n // }\n\n private topNavigator(type: PaywallType) {\n let icon: string\n let buttonText: string\n let clickAction: Function\n\n if (type === 'audio') {\n icon = getFontAwesomeIcon('fas', 'xmark', 12, 12)\n buttonText = 'Tutup'\n clickAction = this.togglePaywall.bind(this)\n } else {\n icon = getFontAwesomeIcon('fas', 'arrow-left', 10, 10)\n buttonText = 'Kembali'\n clickAction = this.redirectToPrevUrl.bind(this)\n }\n\n return html`\n <div class=\"flex md:hidden w-full\">\n <button\n @click=${clickAction}\n class=\"text-xs md:text-lg font-sans font-bold text-white flex flex-row h-8 px-4 items-center gap-1\"\n >\n <div\n class=\"icon-lg icon-white w-4 h-4 items-center justify-center flex\"\n >\n ${unsafeSVG(icon)}\n </div>\n <span> ${buttonText} </span>\n </button>\n </div>\n `\n }\n\n private helpDesk() {\n const textColorClass = this.isDark ? 'text-dark-7' : 'text-white'\n\n return html`\n <div class=\"self-center text-xs md:text-sm ${textColorClass}\">\n Butuh bantuan? Hubungi\n <button\n @click=${this.customerServiceClicked}\n class=\"font-bold underline\"\n >\n Layanan Pelanggan.\n </button>\n </div>\n `\n }\n\n private userAction() {\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const isAudio = this.type === 'audio'\n const paddingClass = isAudio ? 'md:py-3.5' : 'md:py-6'\n const backgroundDefault = isPro ? 'bg-grey-500' : 'bg-blue-600'\n const backgroundClass = this.isDark ? 'bg-dark-4' : backgroundDefault\n\n return html`\n <div\n class=\"flex py-5 px-8 w-full justify-evenly rounded-b-xl mt-5 relative ${paddingClass} md:mt-7 ${backgroundClass}\"\n >\n ${this.helpDesk()}\n </div>\n `\n }\n\n private introductoryPrice() {\n const textColorClass = this.isDark ? 'text-dark-7' : 'text-grey-600'\n return html` <div\n class=\"flex md:flex-col gap-1 items-center md:items-start md:w-1/2 md:justify-center\"\n >\n <div class=\"flex items-center gap-1 shrink-0\">\n <h5 class=\"text-base font-bold text-orange-400 leading-none\">\n ${this.packages.swgContent.introductory.price}\n </h5>\n ${this.packages.swgContent.introductory.duration\n ? html`\n <h6 class=\"text-xs font-bold ${textColorClass} leading-none\">\n ${this.packages.swgContent.introductory.duration}\n </h6>\n `\n : nothing}\n </div>\n <p class=\"text-xs flex ${textColorClass} leading-none\">\n ${this.packages.swgContent.introductory.description}\n </p>\n </div>`\n }\n\n private swgRegonText() {\n const textColorClass = this.isDark ? 'text-dark-7' : 'text-grey-600'\n return html`<p class=\"text-xs leading-4 md:max-w-[137px] ${textColorClass}\">\n ${this.packages.swgContent.default.description}\n </p>`\n }\n\n private swgPackageSection() {\n const { isDark } = this\n\n const containerClass = `flex flex-col md:flex-row gap-1 justify-center md:justify-between items-center px-4 rounded-lg md:mx-0 w-full min-h-[76px] md:min-h-[68px] max-w-xs md:max-w-sm md:w-3/5 ${\n isDark ? ' bg-grey-600' : ' bg-white'\n }`\n\n const buttonClass = `border space-x-2 justify-center border-grey-400 rounded-md px-[22px] md:px-6 shadow-sm flex h-max flex-row flex-nowrap py-[5.6px] md:py-1.5 items-center${\n isDark ? ' bg-grey-600' : ' bg-white border-grey-100'\n }`\n\n const textColorClass = isDark ? 'text-dark-7' : 'text-grey-500'\n\n const googleImageSrc = isDark\n ? 'https://cdn-www.kompas.id/paywall-asset/google-white.png'\n : 'https://cdn-www.kompas.id/paywall-asset/google.png'\n\n return html`\n <div class=\"${containerClass}\">\n ${this.isEntitledForIntroductoryPrice\n ? this.introductoryPrice()\n : this.swgRegonText()}\n <div class=\"md:w-1/2\">\n <button class=\"${buttonClass}\" id=\"subscribe-with-google\">\n <p\n class=\"text-[11px] md:text-xs whitespace-nowrap w-full ${textColorClass}\"\n >\n Subscribe with\n </p>\n <img\n class=\"object-scale-down h-[17px] md:h-5\"\n src=${googleImageSrc}\n alt=\"subscribe with google\"\n />\n </button>\n </div>\n </div>\n `\n }\n\n private openFreeTrialPopup() {\n const popup = this.shadowRoot?.getElementById('freeTrialPopup')\n popup?.classList.remove('hidden')\n }\n\n private closeFreeTrialPopup() {\n const popup = this.shadowRoot?.getElementById('freeTrialPopup')\n popup?.classList.add('hidden')\n }\n\n private freeTrialPopUp() {\n const { isDark } = this\n\n const googlePlayBadgeSrc = isDark\n ? 'https://cdn-www.kompas.id/web-component/Button_Download%20Google%20Play_Dark%20Mode.svg'\n : 'https://cdn-www.kompas.id/web-component/Button_Download%20Google%20Play_Light%20Mode.svg'\n\n const appStoreBadgeSrc = isDark\n ? 'https://cdn-www.kompas.id/web-component/Button_Download%20App%20Store_Dark%20Mode.svg'\n : 'https://cdn-www.kompas.id/web-component/Button_Download%20App%20Store_Light%20Mode.svg'\n\n return html`\n <div\n id=\"freeTrialPopup\"\n class=\"fixed w-full h-full inset-0 flex justify-center items-center z-50 bg-black bg-opacity-75 hidden\"\n >\n <div\n class=\"rounded w-11/12 sm:w-3/4 md:w-1/2 lg:w-1/3 2xl:w-1/4 p-6 text-center ${isDark\n ? 'bg-dark-4'\n : 'bg-white'}\"\n >\n <div class=\"w-full flex justify-end px-2\">\n <button\n @click=${this.closeFreeTrialPopup}\n class=\"w-8 h-8 pl-4 ${isDark ? 'text-grey-300' : 'text-grey-400'}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'xmark', 24, 24))}\n </button>\n </div>\n <div class=\"w-full flex justify-center\">\n <div class=\"w-3/4 lg:w-1/2\">\n <img\n src=\"https://cdn-www.kompas.id/web-component/kompas-free-trial.png\"\n alt=\"Free Trial\"\n />\n </div>\n </div>\n <p\n class=\"font-bold text-lg mt-4 ${isDark\n ? 'text-white'\n : 'text-grey-600'}\"\n >\n Coba Gratis Kompas.id di Aplikasi\n </p>\n <div\n class=\"hidden lg:block lg:flex flex rounded mt-4 px-8 py-4 items-center ${isDark\n ? 'bg-dark-3 border border-dark-9'\n : 'bg-white border border-grey-300'}\"\n >\n <div class=\"w-1/3 flex mr-6\">\n <img\n src=\"https://cdn-www.kompas.id/web-component/free-trial-qr-code.png\"\n alt=\"QR Code Deep Link\"\n />\n </div>\n <div\n class=\"w-2/3 text-base text-left ${isDark\n ? 'text-dark-7'\n : 'text-grey-600'}\"\n >\n ${this.packages.freeTrial?.desktopText}\n </div>\n </div>\n <div\n class=\"text-base text-center lg:hidden px-2 md:px-8 ${isDark\n ? 'text-dark-7'\n : 'text-grey-600'}\"\n >\n ${this.packages.freeTrial?.mobileText}\n </div>\n <div class=\"lg:flex flex justify-center mt-4 hidden lg:block gap-4\">\n <a\n href=\"https://play.google.com/store/apps/details?id=id.kompas.app\"\n target=\"_blank\"\n ><img src=\"${googlePlayBadgeSrc}\" alt=\"Google Play Badge\"\n /></a>\n <a\n href=\"https://apps.apple.com/id/app/kompas-id/id1242195037?l=id\"\n target=\"_blank\"\n ><img src=\"${appStoreBadgeSrc}\" alt=\"iOS App Store Badge\"\n /></a>\n </div>\n <button\n onclick=\"window.open('https://app.komp.as/langganan', '_blank')\"\n class=\"h-12 rounded-md mt-4 flex w-full items-center justify-center lg:hidden ${isDark\n ? 'bg-green-300'\n : 'bg-green-500'}\"\n >\n <h6 class=\"font-bold p-4 ${isDark ? 'text-dark-5' : 'text-white'}\">\n Unduh Sekarang\n </h6>\n </button>\n </div>\n </div>\n `\n }\n\n private freeTrialPackageSection() {\n if (this.packages.freeTrial) {\n return html`\n <div\n class=\"flex flex-wrap items-center justify-between py-3 px-4 rounded-lg md:mx-0 w-full h-[68px] max-w-xs md:max-w-sm md:w-3/5 mt-3 md:mt-4 ${this\n .isDark\n ? 'bg-grey-600'\n : 'bg-white'}\"\n >\n <div class=\"flex flex-col\">\n <div class=\"flex items-center\">\n <h5 class=\"text-base md:text-lg font-bold text-orange-400\">\n ${formatRupiah(0)}\n </h5>\n </div>\n <div class=\"flex items-center\">\n <p\n class=\"text-xs ${this.isDark ? 'text-dark-7' : 'text-grey-600'}\"\n >\n ${this.packages.freeTrial?.packageText}\n </p>\n </div>\n </div>\n <button\n @click=${this.openFreeTrialPopup}\n class=\"h-8 border border-green-500 rounded ${!this.isDark &&\n 'bg-white'}\"\n >\n <h6\n class=\"text-xs md:text-sm font-bold px-4 ${this.isDark\n ? 'text-green-300'\n : 'text-green-500'}\"\n >\n Coba Gratis\n </h6>\n </button>\n </div>\n `\n }\n return nothing\n }\n\n /**\n * Render Statement\n */\n\n render() {\n const isEpaper = this.type === 'epaper' || this.type === 'proMiningOutlook'\n const isAudio = this.type === 'audio'\n const { isDark } = this\n const { isLogin } = this\n\n const wrapperBodyClass = `wrapper-body\n ${isEpaper ? 'bg-transparent mx-2' : ''}\n ${\n isAudio\n ? 'fixed w-full h-full inset-0 flex justify-center items-center z-index-max bg-black bg-opacity-75 px-4 md:px-0'\n : ''\n }`\n .trim()\n .replace(/\\s+/g, ' ')\n\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n\n const backgroundDefault = isPro ? 'bg-grey-100' : 'bg-blue-100'\n const backgroundClass = isDark ? 'bg-dark-3' : backgroundDefault\n\n const containerClass = `flex w-full flex-col items-center justify-center rounded-xl md:pt-8 pt-6 relative ${backgroundClass}`\n\n // const borderClass = isDark ? 'border-dark-8' : 'border-blue-200'\n\n return html`\n <div class=\"${wrapperBodyClass}\">\n <div\n class=\"flex flex-col justify-center items-center w-full max-w-screen-sm my-5 relative\"\n >\n ${isEpaper || isAudio ? this.topNavigator(this.type) : nothing}\n <div class=\"${containerClass}\">\n <div class=\"px-6 md:px-0 items-center flex flex-col w-full\">\n ${this.headerSection(\n this.type,\n this.paywallData?.informations?.title ?? ''\n )}\n ${this.excerptSection(\n this.paywallData?.informations?.excerpt ?? ''\n )}\n ${this.packagesSection(\n this.paywallData?.packages ?? ({} as Packages)\n )}\n ${this.ctaPackages()}\n ${this.descriptionSection(\n this.paywallData?.informations?.description ?? []\n )}\n </div>\n ${!isLogin\n ? html` ${this.registrationSection(this.type)} `\n : nothing}\n ${this.userAction()}\n </div>\n ${this.isExtensionsOpened\n ? this.paymentMobileExtension(\n this.paywallData?.payment?.ekstension ?? []\n )\n : nothing}\n </div>\n </div>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"KompasPaywallBody.js","sourceRoot":"","sources":["../../../../src/components/kompasid-paywall-body/KompasPaywallBody.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-return-assign */\n\nimport { html, css, LitElement, nothing } from 'lit'\nimport { property, state, customElement } from 'lit/decorators.js'\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js'\nimport { TWStyles } from '../../../tailwind/tailwind.js'\nimport {\n PaywallProduct,\n Product,\n Packages,\n PaymentImage,\n PaywallType,\n} from '../kompasid-paywall/types.js'\nimport { getFontAwesomeIcon } from '../../utils/fontawesome-setup.js'\nimport { deviceType } from '../../utils/deviceType.js'\nimport { formatRupiah } from '../../utils/formatRupiah.js'\nimport { addGoogleFonts } from '../../utils/googleFont.js'\nimport { redirectToLogin } from '../../utils/cta.js'\nimport { customFetch } from '../../utils/customFetch.js'\nimport { getCookie } from '../../utils/getCookies.js'\nimport { getLoginGuest } from '../../utils/api/getLoginGuest.js'\n\n@customElement('kompasid-paywall-body')\nexport class KompasIdPaywallBody extends LitElement {\n static styles = [\n css`\n .wrapper-body {\n display: flex;\n flex-direction: column;\n justify-items: center;\n align-items: center;\n }\n\n .z-index-max {\n z-index: 999999;\n }\n\n .font-lora {\n font-family: 'Lora', 'Georgia', 'serif';\n }\n `,\n TWStyles,\n ]\n\n /**\n * Props\n */\n /**\n * prop slug untuk menghandle slug\n * prop isLogin untuk menghandle apakah user sudah login atau belum\n * prop type untuk menghandle tipe epaper\n * prop paywallData untuk menghandle data paywall\n * prop userGuid untuk menghandle user Guid\n * prop subscriptionStatus untuk menghandle status subscription user\n * prop countdownArticle untuk menghandle count artikel\n * prop swgEnable untuk menghandle swg apakah di aktifkan atau tidak\n * prop paywall_location = The location where user encounter the paywall\n * prop paywall_subscription_package = The name of the subscription package viewed by user\n * prop paywall_subscription_id = The ID of the subscription package viewed by user\n * prop paywall_subscription_price = The price of the subscriprtion package viewed by user\n * prop paywall_position = The position of the subscription package viewed by user\n * prop tracker_page_type = Type of the page\n * prop tracker_content_id = ID of article (slug)\n * prop tracker_content_type = Whether it's free article or paid article\n * prop tracker_content_title = The title of article\n * prop tracker_content_categories = The category of the content\n * prop tracker_user_type = Type of user based on their subscription\n * prop tracker_subscription_status = Status of their subscription\n * prop tracker_page_domain = Page Domain\n * prop tracker_metered_wall_type = The type of Metered Wall\n * prop tracker_metered_wall_balance = The balance of their metered wall\n * prop tracker_metered_wall_balance = The edition of epaper viewed by user\n * prop theme = The theme of the paywall component\n */\n\n @property({ type: String }) slug = ''\n @property({ type: Boolean }) isLogin = false\n @property({ type: String }) type: PaywallType = 'reguler'\n @property({ type: Object }) paywallData: PaywallProduct | undefined =\n undefined\n @property({ type: String }) userGuid = ''\n @property({ type: String }) subscriptionStatus = ''\n @property({ type: Number }) countdownArticle = 0\n @property({ type: Boolean }) swgEnable = false\n @property({ type: String }) paywall_location = ''\n @property({ type: String }) paywall_subscription_package = ''\n @property({ type: Number }) paywall_subscription_id = 0\n @property({ type: Number }) paywall_subscription_price = 0\n @property({ type: Number }) paywall_position = 0\n @property({ type: String }) tracker_page_type = ''\n @property({ type: String }) tracker_content_id = ''\n @property({ type: String }) tracker_content_title = ''\n @property({ type: String }) tracker_content_categories = ''\n @property({ type: String }) tracker_content_type = ''\n @property({ type: String }) tracker_content_tags = ''\n @property({ type: String }) tracker_content_published_date = ''\n @property({ type: String }) tracker_content_variant = ''\n @property({ type: String }) tracker_user_type = ''\n @property({ type: String }) tracker_subscription_status = ''\n @property({ type: String }) tracker_page_domain = ''\n @property({ type: String }) tracker_metered_wall_type = ''\n @property({ type: Number }) tracker_metered_wall_balance = 0\n @property({ type: String }) tracker_epaper_edition = ''\n @property({ type: String }) tracker_content_publisher = ''\n @property({ type: String }) theme = ''\n @property() togglePaywall = () => {}\n\n /**\n * State\n */\n\n @state() private isExtensionsOpened = false\n @state() private kompasAkunHost = 'https://akun.kompas.id'\n @state() private kompasApigenHost = 'https://apigen.kompas.id'\n @state() private kompasApiWcmHost = 'https://apiwcm.kompas.id'\n @state() private kompasLoginHost = 'https://account.kompas.id/login'\n @state() private kompasApiSubsHost = 'https://apisubs.kompas.id'\n @state() private epaperHost = 'https://epaper.kompas.id'\n @state() private swgPublisherName = 'Harian Kompas'\n @state() private swgPublisherId = 'kompas.id'\n @state() private swgProductId = 'kompas.id:kompas_digital_premium'\n @state() private errorFlag = 0\n @state() private accessToken = ''\n @state() private refreshToken = ''\n @state() private domain = 'id'\n\n _packages!: Packages\n buttonElement!: HTMLButtonElement\n targetElement!: HTMLElement\n\n /**\n * Getter\n */\n\n get loginUrl() {\n return `${this.kompasLoginHost}?next=${encodeURIComponent(\n this.epaperHost + window.location.pathname\n )}&loc=hard_paywall`\n }\n\n get isDark() {\n return this.theme === 'dark'\n }\n\n get isEntitledForIntroductoryPrice(): boolean {\n return !this.isLogin || this.tracker_subscription_status === 'IA'\n }\n\n get packages(): Packages {\n return this._packages\n }\n\n /**\n * Logic Function\n */\n\n private redirectToCheckout(\n url: string,\n name: string,\n id: string,\n price: number,\n position: number\n ): void {\n this.sendDataLayeronButtonBuyPackage(name, id, price, position)\n const originHost: string = encodeURIComponent(window.location.href)\n let source: string\n\n switch (this.type) {\n case 'epaper':\n case 'proMiningOutlook':\n source = 'epaper'\n break\n case 'audio':\n source = 'news_audio'\n break\n case 'proMiningArticle':\n default:\n source = 'article'\n }\n\n const directUrlCheckout: string = `${url}${originHost}&source=${source}`\n window.open(directUrlCheckout)\n }\n\n private redirectToPrevUrl(): void {\n window.history.back()\n }\n\n private redirectToSubscriber(): void {\n this.sendDataLayer()\n const getCtaUrl = this.paywallData?.informations?.cta\n ? this.paywallData?.informations?.cta.url\n : ''\n // TODO: Hendy\n // Bisa jadi ini nanti open from nya beda, untuk sekarang biarkan dulu, note 25 08 2025 (tolong tanya ke PM bersangkutan)\n const openFrom = `${this.type === 'epaper' ? 'ePaper' : 'Hard'}_Paywall`\n window.open(`${getCtaUrl}?open_from=${openFrom}`)\n }\n\n private redirectToHelpdesk(): void {\n this.sendDataLayeronHelpDesk()\n window.open(\n 'https://api.whatsapp.com/send/?phone=6281290050800&text=Halo,%20saya%20perlu%20informasi%20mengenai%20kompas.id'\n )\n }\n\n private handleClickOutside() {\n if (this.targetElement?.classList.contains('wrapper-body')) {\n this.togglePaywall()\n }\n\n if (this.targetElement?.id === 'freeTrialPopup') {\n this.closeFreeTrialPopup()\n }\n }\n\n private parsePrice(price: string): number {\n const lowerCasePrice = price.toLowerCase()\n\n if (lowerCasePrice.startsWith('rp')) {\n return parseFloat(price.replace(/[^0-9,]/g, ''))\n }\n\n return parseFloat(price.replace(/[^0-9.]/g, ''))\n }\n\n private async getRegisterToken(path: string, payload: any): Promise<string> {\n return fetch(`${this.kompasApigenHost}/v1/user/register/token/${path}`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'content-type': 'application/json',\n },\n })\n .then(response => response.json())\n .then((data: any) => data.result.token)\n .catch(error => {\n throw error\n })\n }\n\n private async getUserToken(path: string, payload: any): Promise<string> {\n return fetch(`${this.kompasApigenHost}/v1/user/token/${path}`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'content-type': 'application/json',\n },\n })\n .then(response => response.json())\n .then((data: any) => data.result.token)\n .catch(error => {\n throw error\n })\n }\n\n private async getSubscriptionToken(\n path: string,\n payload: any\n ): Promise<string> {\n return fetch(`${this.kompasAkunHost}/api/subscription/login/${path}`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'content-type': 'application/json',\n },\n })\n .then(response => response.json())\n .then((data: any) => {\n this.errorFlag = 0\n return data.access_token\n })\n .catch(async error => {\n const errorCode = error.response.status\n if (errorCode === 500 && this.errorFlag < 5) {\n // eslint-disable-next-line no-plusplus\n this.errorFlag++\n setTimeout(async () => {\n await this.getSubscriptionToken(path, payload)\n }, 2000)\n } else {\n this.errorFlag = 0\n throw error\n }\n })\n }\n\n private async createSwG(payload: any) {\n const headersData: any = {\n 'content-type': 'application/json',\n Authorization: `Bearer ${this.accessToken}`,\n }\n\n const options = {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: headersData,\n }\n\n await customFetch(\n `${this.kompasApiSubsHost}/membership/swg`,\n this.refreshToken,\n this.accessToken,\n this.domain,\n { ...options }\n )\n .then(response => response.json())\n .catch(error => {\n throw error\n })\n }\n\n private subscribeWithGoogleButton(): any {\n // @ts-ignore\n // eslint-disable-next-line no-restricted-globals\n ;(self.SWG = self.SWG || []).push((subscriptions: any) => {\n // set entitlement\n subscriptions.setOnEntitlementsResponse(() => {\n // subscriptions attach button\n subscriptions.attachButton(\n this.buttonElement,\n { theme: 'light', lang: 'en' },\n async () => {\n subscriptions.showOffers({ isClosable: true })\n subscriptions.setOnLoginRequest(() => {\n window.location.href = this.loginUrl\n })\n const offers = await subscriptions.getOffers()\n subscriptions.setOnFlowStarted((callback: any) => {\n if (callback.flow === 'showOffers') {\n window.dataLayer.push(this.swgPackageViewedDataLayer(offers))\n } else if (callback.flow === 'subscribe') {\n const selectedOfferSkuId = callback.data.skuId\n const selectedOffer = offers.find(\n (offer: any) => offer.skuId === selectedOfferSkuId\n )\n window.dataLayer.push(\n this.swgSubscribeButtonClicked(\n selectedOffer,\n offers.indexOf(selectedOffer)\n )\n )\n }\n })\n subscriptions.setOnPaymentResponse(async (paymentResponse: any) => {\n const response = await paymentResponse\n const raw = JSON.parse(response.purchaseData.raw)\n const { productId, purchaseToken, packageName } = raw\n const { email } = response.userData.data\n const swgMembershipChannelId = 2\n const payload = {\n email,\n purchase_token: purchaseToken,\n product_id: productId,\n package_name: packageName,\n membershipChannelId: swgMembershipChannelId,\n }\n\n await this.createSwG(payload)\n response.complete().then(() => {\n window.location.href = this.loginUrl\n })\n })\n }\n )\n })\n })\n }\n\n private jsonScript() {\n const jsonData = {\n '@context': 'https://schema.org',\n '@type': ['WebSite', 'WebPage'],\n isAccessibleForFree: false,\n url: this.epaperHost + window.location.pathname,\n name: this.swgPublisherName,\n hasPart: {\n '@type': 'WebPageElement',\n },\n isPartOf: {\n '@type': ['CreativeWork', 'Product'],\n name: this.swgPublisherId,\n productID: this.swgProductId,\n },\n }\n const str = JSON.stringify(jsonData)\n const jsonScript = document.createElement('script')\n jsonScript.type = 'application/ld+json'\n jsonScript.text = str\n jsonScript.defer = true\n const jsonHead = document.querySelector('head')\n if (jsonHead) {\n jsonHead.appendChild(jsonScript)\n }\n }\n\n constructor() {\n super()\n this.handleClickOutside = this.handleClickOutside.bind(this)\n }\n\n protected createRenderRoot() {\n const root = super.createRenderRoot()\n root.addEventListener(\n 'click',\n (e: Event) => (this.targetElement = e.target as HTMLElement)\n )\n return root\n }\n\n override async connectedCallback() {\n this._packages = this.paywallData?.packages ?? ({} as Packages)\n\n super.connectedCallback()\n this.sendDataLayeronPaywallBody()\n await this.updateComplete\n this.accessToken = getCookie('kompas._token')\n this.refreshToken = getCookie('kompas._token_refresh')\n\n await getLoginGuest().then(data => {\n this.accessToken = this.accessToken || data.accessToken\n this.refreshToken = this.refreshToken || data.refreshToken\n })\n\n if (this.packages.swgEnable) {\n this.jsonScript()\n const appendSWGButton = () => {\n this.buttonElement = this.shadowRoot?.getElementById(\n 'subscribe-with-google'\n ) as HTMLButtonElement\n if (this.buttonElement) {\n const head = document.querySelector('head')\n const script = document.createElement('script')\n script.src = 'https://news.google.com/swg/js/v1/swg.js'\n script.defer = true\n script.onload = this.subscribeWithGoogleButton()\n\n if (head) {\n head.appendChild(script)\n }\n }\n }\n setTimeout(appendSWGButton, 500)\n }\n addGoogleFonts(['pt-sans', 'lora'])\n document.addEventListener('click', this.handleClickOutside)\n }\n\n override async disconnectedCallback() {\n super.disconnectedCallback()\n document.removeEventListener('click', this.handleClickOutside)\n }\n\n private otherPackagesClicked() {\n this.sendDataLayerOtherPackagesClicked()\n this.redirectToSubscriber()\n }\n\n private customerServiceClicked() {\n this.sendDataLayerCustomerServiceClicked()\n this.redirectToHelpdesk()\n }\n\n /**\n * Data Layer\n */\n\n private buildGtmParams(\n event: string,\n impressions: Record<string, any>[],\n index: number = 0\n ) {\n const gtmParams: Record<string, any> = {\n event,\n impressions: impressions.map((impression, i) => ({\n paywall_location: this.paywall_location || '',\n paywall_subscription_package: impression.package,\n paywall_subscription_id: impression.subscription_id,\n paywall_subscription_price: this.parsePrice(impression.price),\n paywall_position: index + i + 1,\n user_type: this.tracker_user_type,\n subscription_status: this.tracker_subscription_status,\n page_domain: this.tracker_page_domain || 'Kompas.id',\n metered_wall_type: this.tracker_metered_wall_type || 'HP',\n metered_wall_balance: this.tracker_metered_wall_balance,\n content_tags: this.tracker_content_tags || '',\n content_published_date: this.tracker_content_published_date || '',\n content_variant: this.tracker_content_variant || '',\n variant: this.paywallData?.informations?.typeVariant || '',\n ...(this.type === 'epaper' || this.type === 'proMiningOutlook'\n ? { epaper_edition: this.tracker_epaper_edition }\n : {\n page_type: this.tracker_page_type,\n content_id: this.tracker_content_id,\n content_title: this.tracker_content_title,\n content_categories: this.tracker_content_categories,\n content_type: this.tracker_content_type,\n content_publisher: this.tracker_content_publisher,\n }),\n })),\n }\n\n return gtmParams\n }\n\n private generalPaywallDataLayer(event: string): Record<string, any> {\n const packages = this.paywallData?.packages ?? ({} as Packages)\n\n const impressions = packages.memberships.map(membership => ({\n package: membership.package,\n subscription_id: membership.subscriptionId,\n price: membership.price.toString(),\n }))\n\n return this.buildGtmParams(event, impressions)\n }\n\n private sendDataLayer(): void {\n window.dataLayer.push({\n event: 'halamanBerlanggananClick',\n subscriptionStatus: '',\n GUID: '',\n interface: deviceType(),\n })\n }\n\n private sendDataLayeronHelpDesk(): void {\n window.dataLayer.push({\n event: 'helpOfferClick',\n userType: this.subscriptionStatus,\n GUID: this.userGuid,\n interface: deviceType(),\n })\n }\n\n private sendDataLayeronButtonBuyPackage(\n name: string,\n id: string,\n price: number,\n position: number\n ): void {\n const gtmParams: Record<string, any> = {\n event: 'subscribe_button_clicked',\n paywall_location: this.paywall_location,\n paywall_subscription_package: name,\n paywall_subscription_id: id,\n paywall_subscription_price: price,\n paywall_position: position,\n user_type: this.tracker_user_type,\n subscription_status: this.tracker_subscription_status,\n page_domain: this.tracker_page_domain || 'Kompas.id',\n metered_wall_type: this.tracker_metered_wall_type || 'HP',\n metered_wall_balance: this.tracker_metered_wall_balance,\n }\n\n if (this.type !== 'epaper') {\n gtmParams.content_title = this.tracker_content_title\n gtmParams.content_id = this.tracker_content_id\n gtmParams.content_categories = this.tracker_content_categories\n gtmParams.content_type = this.tracker_content_type\n gtmParams.content_publisher = this.tracker_content_publisher\n gtmParams.page_type = this.tracker_page_type\n } else {\n gtmParams.epaper_edition = this.tracker_epaper_edition\n }\n\n window.dataLayer.push(gtmParams)\n }\n\n private sendDataLayeronPaywallBody(): void {\n const gtmParams = this.generalPaywallDataLayer('paywall_viewed')\n window.dataLayer.push(gtmParams)\n }\n\n private sendDataLayerOtherPackagesClicked(): void {\n const gtmParams = this.generalPaywallDataLayer('other_packages_clicked')\n window.dataLayer.push(gtmParams)\n }\n\n private sendDataLayerCustomerServiceClicked(): void {\n const gtmParams = this.generalPaywallDataLayer('customer_service_clicked')\n window.dataLayer.push(gtmParams)\n }\n\n private swgPackageViewedDataLayer(data: any): Record<string, any> {\n const impressions = data.map(\n (item: {\n title: string\n skuId: string\n price: string\n introductoryPrice: string\n }) => ({\n package: item.title,\n subscription_id: item.skuId,\n price: item.introductoryPrice || item.price,\n })\n )\n\n return this.buildGtmParams('subscription_package_viewed', impressions)\n }\n\n private swgSubscribeButtonClicked(item: any, index: number) {\n const gtmParams: any = {\n event: 'subscribe_button_clicked',\n paywall_location: this.paywall_location || '',\n paywall_subscription_package: item.title,\n paywall_subscription_id: item.skuId,\n paywall_subscription_price: this.parsePrice(\n item.introductoryPrice || item.price\n ),\n paywall_position: index + 1,\n user_type: this.tracker_user_type,\n subscription_status: this.tracker_subscription_status,\n page_domain: this.tracker_page_domain || 'Kompas.id',\n metered_wall_type: this.tracker_metered_wall_type || 'HP',\n metered_wall_balance: this.tracker_metered_wall_balance,\n }\n\n if (this.type === 'epaper') {\n gtmParams.epaper_edition = this.tracker_epaper_edition\n } else {\n gtmParams.page_type = this.tracker_page_type\n gtmParams.content_id = this.tracker_content_id\n gtmParams.content_title = this.tracker_content_title\n gtmParams.content_categories = this.tracker_content_categories\n gtmParams.content_type = this.tracker_content_type\n }\n\n return gtmParams\n }\n\n /**\n * Component\n */\n\n private headerSection(type: PaywallType, title: string) {\n let buttonContent\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const textColorDefault = isPro ? 'text-grey-600' : 'text-blue-600'\n const textColorClass = this.isDark ? 'text-blue-300' : textColorDefault\n const buttonTextColorClass = this.isDark ? 'text-white' : 'text-grey-600'\n const isPrevHistoryExist = window.history.length > 1\n\n if (type === 'epaper' && isPrevHistoryExist) {\n buttonContent = html` <button\n @click=${this.redirectToPrevUrl}\n class=\"absolute left-2.5 -top-1.5 hidden md:flex w-10 h-10 justify-center items-center ${textColorClass}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'arrow-left', 20, 20))}\n </button>`\n } else if (type === 'proMiningOutlook' && isPrevHistoryExist) {\n buttonContent = html` <button\n @click=${this.redirectToPrevUrl}\n class=\"absolute left-2.5 -top-1.5 hidden md:flex w-10 h-10 justify-center items-center ${textColorClass}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'arrow-left', 20, 20))}\n </button>`\n } else if (type === 'audio') {\n buttonContent = html` <button\n @click=${this.togglePaywall}\n class=\"absolute left-2.5 -top-1.5 hidden md:flex w-10 h-10 justify-center items-center ${textColorClass}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'xmark', 28, 28))}\n </button>`\n } else {\n buttonContent = nothing\n }\n\n const headerClass = `text-base flex justify-center self-center md:block md:text-xl ${buttonTextColorClass} text-center font-lora font-bold tracking-normal max-w-xs sm:max-w-lg md:w-full md:max-w-[492px] ${\n type === 'audio' && 'sm:px-16 md:px-20'\n }`\n\n return html`\n <div class=\"flex w-full items-start justify-center relative md:px-10\">\n ${buttonContent}\n <h4 class=${headerClass}>${title}</h4>\n </div>\n `\n }\n\n private excerptSection(excerpt: string) {\n return excerpt\n ? html` <p\n class=\"text-sm md:text-base ${this.isDark\n ? 'text-white'\n : 'text-grey-600'} font-sans mt-2 md:mt-4 max-w-[492px] text-center\"\n >\n ${excerpt}\n </p>`\n : nothing\n }\n\n private descriptionSection(data: Array<string>) {\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const textColorClass = this.isDark ? 'text-green-400' : 'text-green-500'\n const buttonTextColorClass = this.isDark ? 'text-white' : 'text-grey-600'\n const borderColorDefault = isPro ? 'border-grey-300' : 'border-blue-200'\n const borderColorClass = this.isDark ? 'border-white' : borderColorDefault\n\n return data.length\n ? html`<div\n class=\"md:max-w-[492px] flex flex-col items-center px-0 lg:px-4 py-4 lg:py-5 w-full border-b border-t ${borderColorClass} mt-4 lg:mt-5\"\n >\n <div>\n <div\n class=\"text-sm md:text-base font-bold font-sans ${buttonTextColorClass} w-full text-left leading-tight md:leading-5\"\n >\n Keuntungan Eksklusif yang Anda Dapatkan:\n </div>\n <div class=\"flex flex-col mt-2 md:mt-3 gap-2 text-left\">\n ${data.map(\n item =>\n html`\n <div class=\"flex items-center text-left\">\n <div\n class=\"${textColorClass} h-4 w-4 md:h-5 md:w-5 flex items-center justify-center\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'check', 16, 16))}\n </div>\n <h6\n class=\"text-sm md:text-base ml-1 md:ml-2 ${buttonTextColorClass}\"\n >\n ${item}\n </h6>\n </div>\n `\n )}\n </div>\n </div>\n </div>`\n : nothing\n }\n\n private ctaPackages() {\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const textColorDefault = isPro ? 'text-grey-600' : 'text-blue-600'\n const textColorClass = this.isDark ? 'text-blue-300' : textColorDefault\n const getCtaText = this.paywallData?.informations?.cta\n ? this.paywallData?.informations?.cta.text\n : ''\n const showCta = this.paywallData?.informations?.cta\n ? this.paywallData?.informations?.cta.show\n : false\n\n return showCta\n ? html` <div class=\"flex justify-center mt-2 md:mt-3\">\n <button\n @click=${this.otherPackagesClicked}\n class=\"text-sm md:text-base font-bold underline ${textColorClass}\"\n >\n ${getCtaText}\n </button>\n </div>`\n : nothing\n }\n\n private epaperRegistrationSection() {\n const textColorClass = this.isDark ? 'text-blue-300' : 'text-blue-600'\n const buttonTextColorClass = this.isDark ? 'text-white' : 'text-grey-600'\n\n return html`\n <div class=\"mt-4 lg:mt-5\">\n <span class=\"${buttonTextColorClass}\">Sudah berlangganan?</span>\n <button\n @click=${() =>\n redirectToLogin({\n loc: 'hard_paywall',\n next: this.epaperHost + window.location.pathname,\n })}\n class=\"text-sm md:text-base font-bold underline ${textColorClass}\"\n >\n Masuk\n </button>\n </div>\n `\n }\n\n private regulerRegistrationSection() {\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const textColorDefault = isPro ? 'text-grey-600' : 'text-blue-600'\n const textColorClass = this.isDark ? 'text-blue-300' : textColorDefault\n const buttonTextColorClass = this.isDark ? 'text-white' : 'text-grey-600'\n\n return html`\n <div\n class=\"flex flex-col items-center justify-center text-sm md:text-base mt-4 lg:mt-5\"\n >\n <div>\n <span class=\"${buttonTextColorClass}\">Sudah berlangganan?</span>\n <button\n @click=${() => redirectToLogin({ loc: 'hard_paywall' })}\n class=\"font-bold underline ${textColorClass}\"\n >\n Masuk\n </button>\n </div>\n </div>\n `\n }\n\n private registrationSection(type: PaywallType) {\n return type === 'epaper'\n ? this.epaperRegistrationSection()\n : this.regulerRegistrationSection()\n }\n\n private paymentMobileExtension(data: Array<PaymentImage>) {\n return html`\n <div\n class=\"w-full max-w-xs mb-1 ml-8 md:hidden absolute px-4 ${this.isDark\n ? '-bottom-6'\n : 'bottom-0'}\"\n >\n <div\n class=\"w-full rounded p-3 max-w-xs ${this.isDark\n ? 'bg-dark-6 border-dark-6'\n : 'bg-white border-white'}\"\n >\n <svg\n class=\"right-0 h-4 mr-10 -mt-7 z-0 transform rotate-180 absolute ${this\n .isDark\n ? 'text-dark-6 border-dark-6'\n : 'text-white border-white '}\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 255 255\"\n >\n <polygon class=\"fill-current\" points=\"0,0 127.5,127.5 255,0\" />\n </svg>\n <div\n class=\"grid place-items-center items-center grid-flow-row grid-cols-5 grid-rows-2 gap-y-4\"\n >\n ${data.map(\n item =>\n html`<img\n class=\"object-cover\"\n src=${item.link}\n alt=\"${item.name}-logo-payment\"\n />`\n )}\n </div>\n </div>\n </div>\n `\n }\n\n private renderPackage(\n product: Product,\n isHighlight: boolean,\n isButtonSolid: boolean\n ) {\n const { isDark } = this\n\n const containerClass = `px-4 flex flex-wrap items-center justify-between rounded-lg md:mx-0 w-full max-w-xs md:max-w-sm md:w-3/5 min-h-[68px]\n ${isDark ? ' bg-grey-600' : ' bg-white'}\n ${\n isHighlight ? 'outline-yellow-400 outline-2 outline mt-2' : ''\n } relative`\n const textColorClass = isDark ? 'text-dark-7' : 'text-grey-600'\n\n let buttonBgColorClass = ''\n if (isButtonSolid) {\n buttonBgColorClass = isDark\n ? 'bg-green-300 border border-green-400'\n : 'bg-green-500'\n } else {\n buttonBgColorClass = isDark\n ? ' border border-green-500 text-green-300'\n : ' border border-green-500 bg-white text-green-500'\n }\n\n const buttonClass = `h-8 rounded ${buttonBgColorClass} flex items-center`\n\n let buttonTextColor = ''\n if (isButtonSolid) {\n buttonTextColor = isDark ? ' text-black' : ' text-white'\n } else if (isDark) {\n buttonTextColor = 'text-green-300'\n } else {\n buttonTextColor = 'text-green-500'\n }\n const buttonTextClass = `text-xs md:text-sm font-bold py-2 px-4 ${buttonTextColor}`\n return html`\n <div class=\"${containerClass}\">\n <div class=\"flex flex-col gap-1\">\n <div class=\"flex items-baseline\">\n <h5 class=\"text-base font-bold text-orange-400 leading-none\">\n ${formatRupiah(product.price)}\n </h5>\n <h6 class=\"text-xs font-bold pl-1 ${textColorClass} leading-none\">\n / ${product.periode}\n </h6>\n </div>\n ${product.priceSlice || product.saveLabel\n ? html`\n <div class=\"flex flex-row gap-2\">\n ${product.priceSlice\n ? html`\n <div class=\"flex items-center text-xs font-sans\">\n <span\n class=\"${isDark\n ? 'text-white'\n : 'text-grey-400'} line-through leading-none\"\n >${formatRupiah(product.priceSlice)}</span\n >\n </div>\n `\n : nothing}\n ${product.saveLabel\n ? html`\n <div\n class=\"flex font-bold items-center text-xs font-sans bg-red-100 rounded p-1\"\n >\n <span class=\"text-red-500 leading-none\"\n >${product.saveLabel}</span\n >\n </div>\n `\n : nothing}\n </div>\n `\n : nothing}\n </div>\n <button\n class=\"${buttonClass}\"\n @click=${() =>\n this.redirectToCheckout(\n product.url,\n product.package,\n product.subscriptionId,\n product.price,\n product.position\n )}\n >\n <h6 class=\"${buttonTextClass}\">Langganan</h6>\n </button>\n ${isHighlight\n ? html`\n <div class=\"absolute -top-2 left-4\">\n <div\n class=\"rounded bg-yellow-300 px-2 h-4 items-center text-xs leading-none flex\"\n >\n <b class=\"text-grey-600\">Harga Terbaik</b>\n </div>\n </div>\n `\n : nothing}\n </div>\n `\n }\n\n private packagesSection(data: Packages) {\n return html`\n <div\n class=\"flex flex-col w-full items-center gap-2 md:gap-3 mt-4 md:mt-5\"\n >\n ${data.memberships.map(item =>\n this.renderPackage(item, item.isHighlight, item.isButtonSolid)\n )}\n ${this.freeTrialPackageSection()} ${this.freeTrialPopUp()}\n ${this.packages.swgEnable ? this.swgPackageSection() : nothing}\n </div>\n `\n }\n\n // private packagesSection(data: Packages) {\n // return html`\n // <div class=\"flex flex-col w-full items-center mt-8 md:mt-2 px-4\">\n // ${data.memberships.map(item =>\n // item.isHighlight\n // ? this.primaryPackages(item)\n // : this.secondaryPackages(item)\n // )}\n // ${this.freeTrialPackageSection()} ${this.freeTrialPopUp()}\n // ${this.packages.swgEnable ? this.swgPackageSection() : nothing}\n // </div>\n // `\n // }\n\n private topNavigator(type: PaywallType) {\n let icon: string\n let buttonText: string\n let clickAction: Function\n\n if (type === 'audio') {\n icon = getFontAwesomeIcon('fas', 'xmark', 12, 12)\n buttonText = 'Tutup'\n clickAction = this.togglePaywall.bind(this)\n } else {\n icon = getFontAwesomeIcon('fas', 'arrow-left', 10, 10)\n buttonText = 'Kembali'\n clickAction = this.redirectToPrevUrl.bind(this)\n }\n\n return html`\n <div class=\"flex md:hidden w-full\">\n <button\n @click=${clickAction}\n class=\"text-xs md:text-lg font-sans font-bold text-white flex flex-row h-8 px-4 items-center gap-1\"\n >\n <div\n class=\"icon-lg icon-white w-4 h-4 items-center justify-center flex\"\n >\n ${unsafeSVG(icon)}\n </div>\n <span> ${buttonText} </span>\n </button>\n </div>\n `\n }\n\n private helpDesk() {\n const textColorClass = this.isDark ? 'text-dark-7' : 'text-white'\n\n return html`\n <div class=\"self-center text-xs md:text-sm ${textColorClass}\">\n Butuh bantuan? Hubungi\n <button\n @click=${this.customerServiceClicked}\n class=\"font-bold underline\"\n >\n Layanan Pelanggan.\n </button>\n </div>\n `\n }\n\n private userAction() {\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n const isAudio = this.type === 'audio'\n const paddingClass = isAudio ? 'md:py-3.5' : 'md:py-6'\n const backgroundDefault = isPro ? 'bg-grey-500' : 'bg-blue-600'\n const backgroundClass = this.isDark ? 'bg-dark-4' : backgroundDefault\n\n return html`\n <div\n class=\"flex py-5 px-8 w-full justify-evenly rounded-b-xl mt-5 relative ${paddingClass} md:mt-7 ${backgroundClass}\"\n >\n ${this.helpDesk()}\n </div>\n `\n }\n\n private introductoryPrice() {\n const textColorClass = this.isDark ? 'text-dark-7' : 'text-grey-600'\n return html` <div\n class=\"flex md:flex-col gap-1 items-center md:items-start md:w-1/2 md:justify-center\"\n >\n <div class=\"flex items-center gap-1 shrink-0\">\n <h5 class=\"text-base font-bold text-orange-400 leading-none\">\n ${this.packages.swgContent.introductory.price}\n </h5>\n ${this.packages.swgContent.introductory.duration\n ? html`\n <h6 class=\"text-xs font-bold ${textColorClass} leading-none\">\n ${this.packages.swgContent.introductory.duration}\n </h6>\n `\n : nothing}\n </div>\n <p class=\"text-xs flex ${textColorClass} leading-none\">\n ${this.packages.swgContent.introductory.description}\n </p>\n </div>`\n }\n\n private swgRegonText() {\n const textColorClass = this.isDark ? 'text-dark-7' : 'text-grey-600'\n return html`<p class=\"text-xs leading-4 md:max-w-[137px] ${textColorClass}\">\n ${this.packages.swgContent.default.description}\n </p>`\n }\n\n private swgPackageSection() {\n const { isDark } = this\n\n const containerClass = `flex flex-col md:flex-row gap-1 justify-center md:justify-between items-center px-4 rounded-lg md:mx-0 w-full min-h-[76px] md:min-h-[68px] max-w-xs md:max-w-sm md:w-3/5 ${\n isDark ? ' bg-grey-600' : ' bg-white'\n }`\n\n const buttonClass = `border space-x-2 justify-center border-grey-400 rounded-md px-[22px] md:px-6 shadow-sm flex h-max flex-row flex-nowrap py-[5.6px] md:py-1.5 items-center${\n isDark ? ' bg-grey-600' : ' bg-white border-grey-100'\n }`\n\n const textColorClass = isDark ? 'text-dark-7' : 'text-grey-500'\n\n const googleImageSrc = isDark\n ? 'https://cdn-www.kompas.id/paywall-asset/google-white.png'\n : 'https://cdn-www.kompas.id/paywall-asset/google.png'\n\n return html`\n <div class=\"${containerClass}\">\n ${this.isEntitledForIntroductoryPrice\n ? this.introductoryPrice()\n : this.swgRegonText()}\n <div class=\"md:w-1/2\">\n <button class=\"${buttonClass}\" id=\"subscribe-with-google\">\n <p\n class=\"text-[11px] md:text-xs whitespace-nowrap w-full ${textColorClass}\"\n >\n Subscribe with\n </p>\n <img\n class=\"object-scale-down h-[17px] md:h-5\"\n src=${googleImageSrc}\n alt=\"subscribe with google\"\n />\n </button>\n </div>\n </div>\n `\n }\n\n private openFreeTrialPopup() {\n const popup = this.shadowRoot?.getElementById('freeTrialPopup')\n popup?.classList.remove('hidden')\n }\n\n private closeFreeTrialPopup() {\n const popup = this.shadowRoot?.getElementById('freeTrialPopup')\n popup?.classList.add('hidden')\n }\n\n private freeTrialPopUp() {\n const { isDark } = this\n\n const googlePlayBadgeSrc = isDark\n ? 'https://cdn-www.kompas.id/web-component/Button_Download%20Google%20Play_Dark%20Mode.svg'\n : 'https://cdn-www.kompas.id/web-component/Button_Download%20Google%20Play_Light%20Mode.svg'\n\n const appStoreBadgeSrc = isDark\n ? 'https://cdn-www.kompas.id/web-component/Button_Download%20App%20Store_Dark%20Mode.svg'\n : 'https://cdn-www.kompas.id/web-component/Button_Download%20App%20Store_Light%20Mode.svg'\n\n return html`\n <div\n id=\"freeTrialPopup\"\n class=\"fixed w-full h-full inset-0 flex justify-center items-center z-50 bg-black bg-opacity-75 hidden\"\n >\n <div\n class=\"rounded w-11/12 sm:w-3/4 md:w-1/2 lg:w-1/3 2xl:w-1/4 p-6 text-center ${isDark\n ? 'bg-dark-4'\n : 'bg-white'}\"\n >\n <div class=\"w-full flex justify-end px-2\">\n <button\n @click=${this.closeFreeTrialPopup}\n class=\"w-8 h-8 pl-4 ${isDark ? 'text-grey-300' : 'text-grey-400'}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'xmark', 24, 24))}\n </button>\n </div>\n <div class=\"w-full flex justify-center\">\n <div class=\"w-3/4 lg:w-1/2\">\n <img\n src=\"https://cdn-www.kompas.id/web-component/kompas-free-trial.png\"\n alt=\"Free Trial\"\n />\n </div>\n </div>\n <p\n class=\"font-bold text-lg mt-4 ${isDark\n ? 'text-white'\n : 'text-grey-600'}\"\n >\n Coba Gratis Kompas.id di Aplikasi\n </p>\n <div\n class=\"hidden lg:block lg:flex flex rounded mt-4 px-8 py-4 items-center ${isDark\n ? 'bg-dark-3 border border-dark-9'\n : 'bg-white border border-grey-300'}\"\n >\n <div class=\"w-1/3 flex mr-6\">\n <img\n src=\"https://cdn-www.kompas.id/web-component/free-trial-qr-code.png\"\n alt=\"QR Code Deep Link\"\n />\n </div>\n <div\n class=\"w-2/3 text-base text-left ${isDark\n ? 'text-dark-7'\n : 'text-grey-600'}\"\n >\n ${this.packages.freeTrial?.desktopText}\n </div>\n </div>\n <div\n class=\"text-base text-center lg:hidden px-2 md:px-8 ${isDark\n ? 'text-dark-7'\n : 'text-grey-600'}\"\n >\n ${this.packages.freeTrial?.mobileText}\n </div>\n <div class=\"lg:flex flex justify-center mt-4 hidden lg:block gap-4\">\n <a\n href=\"https://play.google.com/store/apps/details?id=id.kompas.app\"\n target=\"_blank\"\n ><img src=\"${googlePlayBadgeSrc}\" alt=\"Google Play Badge\"\n /></a>\n <a\n href=\"https://apps.apple.com/id/app/kompas-id/id1242195037?l=id\"\n target=\"_blank\"\n ><img src=\"${appStoreBadgeSrc}\" alt=\"iOS App Store Badge\"\n /></a>\n </div>\n <button\n onclick=\"window.open('https://app.komp.as/langganan', '_blank')\"\n class=\"h-12 rounded-md mt-4 flex w-full items-center justify-center lg:hidden ${isDark\n ? 'bg-green-300'\n : 'bg-green-500'}\"\n >\n <h6 class=\"font-bold p-4 ${isDark ? 'text-dark-5' : 'text-white'}\">\n Unduh Sekarang\n </h6>\n </button>\n </div>\n </div>\n `\n }\n\n private freeTrialPackageSection() {\n if (this.packages.freeTrial) {\n return html`\n <div\n class=\"flex flex-wrap items-center justify-between py-3 px-4 rounded-lg md:mx-0 w-full h-[68px] max-w-xs md:max-w-sm md:w-3/5 mt-3 md:mt-4 ${this\n .isDark\n ? 'bg-grey-600'\n : 'bg-white'}\"\n >\n <div class=\"flex flex-col\">\n <div class=\"flex items-center\">\n <h5 class=\"text-base md:text-lg font-bold text-orange-400\">\n ${formatRupiah(0)}\n </h5>\n </div>\n <div class=\"flex items-center\">\n <p\n class=\"text-xs ${this.isDark ? 'text-dark-7' : 'text-grey-600'}\"\n >\n ${this.packages.freeTrial?.packageText}\n </p>\n </div>\n </div>\n <button\n @click=${this.openFreeTrialPopup}\n class=\"h-8 border border-green-500 rounded ${!this.isDark &&\n 'bg-white'}\"\n >\n <h6\n class=\"text-xs md:text-sm font-bold px-4 ${this.isDark\n ? 'text-green-300'\n : 'text-green-500'}\"\n >\n Coba Gratis\n </h6>\n </button>\n </div>\n `\n }\n return nothing\n }\n\n /**\n * Render Statement\n */\n\n render() {\n const isEpaper = this.type === 'epaper' || this.type === 'proMiningOutlook'\n const isAudio = this.type === 'audio'\n const { isDark } = this\n const { isLogin } = this\n\n const wrapperBodyClass = `wrapper-body\n ${isEpaper ? 'bg-transparent mx-2' : ''}\n ${\n isAudio\n ? 'fixed w-full h-full inset-0 flex justify-center items-center z-index-max bg-black bg-opacity-75 px-4 md:px-0'\n : ''\n }`\n .trim()\n .replace(/\\s+/g, ' ')\n\n const isPro =\n this.type === 'proMiningArticle' || this.type === 'proMiningOutlook'\n\n const backgroundDefault = isPro ? 'bg-grey-100' : 'bg-blue-100'\n const backgroundClass = isDark ? 'bg-dark-3' : backgroundDefault\n\n const containerClass = `flex w-full flex-col items-center justify-center rounded-xl md:pt-8 pt-6 relative ${backgroundClass}`\n\n // const borderClass = isDark ? 'border-dark-8' : 'border-blue-200'\n\n return html`\n <div class=\"${wrapperBodyClass}\">\n <div\n class=\"flex flex-col justify-center items-center w-full max-w-screen-sm my-5 relative\"\n >\n ${isEpaper || isAudio ? this.topNavigator(this.type) : nothing}\n <div class=\"${containerClass}\">\n <div class=\"px-6 md:px-0 items-center flex flex-col w-full\">\n ${this.headerSection(\n this.type,\n this.paywallData?.informations?.title ?? ''\n )}\n ${this.excerptSection(\n this.paywallData?.informations?.excerpt ?? ''\n )}\n ${this.packagesSection(\n this.paywallData?.packages ?? ({} as Packages)\n )}\n ${this.ctaPackages()}\n ${this.descriptionSection(\n this.paywallData?.informations?.description ?? []\n )}\n </div>\n ${!isLogin\n ? html` ${this.registrationSection(this.type)} `\n : nothing}\n ${this.userAction()}\n </div>\n ${this.isExtensionsOpened\n ? this.paymentMobileExtension(\n this.paywallData?.payment?.ekstension ?? []\n )\n : nothing}\n </div>\n </div>\n `\n }\n}\n"]}
|
|
@@ -1119,6 +1119,10 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
|
|
|
1119
1119
|
max-width: 460px;
|
|
1120
1120
|
}
|
|
1121
1121
|
|
|
1122
|
+
.max-w-\\[492px\\] {
|
|
1123
|
+
max-width: 492px;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1122
1126
|
.max-w-screen-md {
|
|
1123
1127
|
max-width: 768px;
|
|
1124
1128
|
}
|
|
@@ -1135,10 +1139,6 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
|
|
|
1135
1139
|
max-width: 20rem;
|
|
1136
1140
|
}
|
|
1137
1141
|
|
|
1138
|
-
.max-w-\\[492px\\] {
|
|
1139
|
-
max-width: 492px;
|
|
1140
|
-
}
|
|
1141
|
-
|
|
1142
1142
|
.flex-shrink-0 {
|
|
1143
1143
|
flex-shrink: 0;
|
|
1144
1144
|
}
|
|
@@ -1989,14 +1989,14 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
|
|
|
1989
1989
|
line-height: 1.25;
|
|
1990
1990
|
}
|
|
1991
1991
|
|
|
1992
|
-
.tracking-wide {
|
|
1993
|
-
letter-spacing: 0.025em;
|
|
1994
|
-
}
|
|
1995
|
-
|
|
1996
1992
|
.tracking-normal {
|
|
1997
1993
|
letter-spacing: 0em;
|
|
1998
1994
|
}
|
|
1999
1995
|
|
|
1996
|
+
.tracking-wide {
|
|
1997
|
+
letter-spacing: 0.025em;
|
|
1998
|
+
}
|
|
1999
|
+
|
|
2000
2000
|
.text-\\[\\#00559a\\] {
|
|
2001
2001
|
--tw-text-opacity: 1;
|
|
2002
2002
|
color: rgb(0 85 154 / var(--tw-text-opacity, 1));
|
|
@@ -2155,6 +2155,18 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
|
|
|
2155
2155
|
var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
2156
2156
|
}
|
|
2157
2157
|
|
|
2158
|
+
.outline {
|
|
2159
|
+
outline-style: solid;
|
|
2160
|
+
}
|
|
2161
|
+
|
|
2162
|
+
.outline-2 {
|
|
2163
|
+
outline-width: 2px;
|
|
2164
|
+
}
|
|
2165
|
+
|
|
2166
|
+
.outline-yellow-400 {
|
|
2167
|
+
outline-color: #ffcc00;
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2158
2170
|
.filter {
|
|
2159
2171
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast)
|
|
2160
2172
|
var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert)
|
|
@@ -2396,10 +2408,6 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
|
|
|
2396
2408
|
max-width: 737px;
|
|
2397
2409
|
}
|
|
2398
2410
|
|
|
2399
|
-
.md\\:max-w-full {
|
|
2400
|
-
max-width: 100%;
|
|
2401
|
-
}
|
|
2402
|
-
|
|
2403
2411
|
.md\\:max-w-sm {
|
|
2404
2412
|
max-width: 24rem;
|
|
2405
2413
|
}
|
|
@@ -2601,12 +2609,12 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
|
|
|
2601
2609
|
line-height: 1rem;
|
|
2602
2610
|
}
|
|
2603
2611
|
|
|
2604
|
-
.md\\:leading-
|
|
2605
|
-
line-height: 1.
|
|
2612
|
+
.md\\:leading-5 {
|
|
2613
|
+
line-height: 1.25rem;
|
|
2606
2614
|
}
|
|
2607
2615
|
|
|
2608
|
-
.md\\:
|
|
2609
|
-
|
|
2616
|
+
.md\\:leading-6 {
|
|
2617
|
+
line-height: 1.5rem;
|
|
2610
2618
|
}
|
|
2611
2619
|
}
|
|
2612
2620
|
|