{"version":3,"file":"product.bundle.js","mappings":"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","sources":["webpack://reacttest2018/webpack/runtime/chunk loaded","webpack://reacttest2018/webpack/runtime/load script","webpack://reacttest2018/./src/checkout/components/modals/return-policy.modal.tsx","webpack://reacttest2018/./src/global/emitter.tsx","webpack://reacttest2018/./src/global/modal-simple.tsx","webpack://reacttest2018/./src/global/store/ab-test.store.ts","webpack://reacttest2018/./src/prod-index.tsx","webpack://reacttest2018/./src/product/api.ts","webpack://reacttest2018/./src/product/calc.ts","webpack://reacttest2018/./src/product/components/atc/atc-button.tsx","webpack://reacttest2018/./src/product/components/atc/atc.tsx","webpack://reacttest2018/./src/product/components/caf-doc-size.tsx","webpack://reacttest2018/./src/product/components/category.tsx","webpack://reacttest2018/./src/product/components/customfields.tsx","webpack://reacttest2018/./src/product/components/desc-main.tsx","webpack://reacttest2018/./src/product/components/doc-size.tsx","webpack://reacttest2018/./src/product/components/engraved-plate.tsx","webpack://reacttest2018/./src/product/components/glass.tsx","webpack://reacttest2018/./src/product/components/grad-year.tsx","webpack://reacttest2018/./src/product/components/image-upload-copy.tsx","webpack://reacttest2018/./src/product/components/insignia.tsx","webpack://reacttest2018/./src/product/components/lino.tsx","webpack://reacttest2018/./src/product/components/mat.tsx","webpack://reacttest2018/./src/product/components/modals/level-lock.modal.tsx","webpack://reacttest2018/./src/product/components/modals/smart-box.modal.tsx","webpack://reacttest2018/./src/product/components/moulding/moulding.tsx","webpack://reacttest2018/./src/product/components/moulding/recycled-icon.tsx","webpack://reacttest2018/./src/product/components/prod-processing.tsx","webpack://reacttest2018/./src/product/components/product-header.tsx","webpack://reacttest2018/./src/product/components/promo-redeem.tsx","webpack://reacttest2018/./src/product/components/qty.tsx","webpack://reacttest2018/./src/product/components/related-products/product-item.tsx","webpack://reacttest2018/./src/product/components/related-products/related-products.tsx","webpack://reacttest2018/./src/product/components/shared/info-icon.tsx","webpack://reacttest2018/./src/product/components/slider/slider-real-images.tsx","webpack://reacttest2018/./src/product/components/slider/slider-th.tsx","webpack://reacttest2018/./src/product/components/yotpo.tsx","webpack://reacttest2018/./src/product/data.ts","webpack://reacttest2018/./src/product/product.tsx","webpack://reacttest2018/./src/product/rendering/core.ts","webpack://reacttest2018/./src/product/rendering/render.tsx","webpack://reacttest2018/./src/product/s.ts","webpack://reacttest2018/./src/util.ts","webpack://reacttest2018/./src/product/product.scss","webpack://reacttest2018/webpack/bootstrap","webpack://reacttest2018/webpack/runtime/compat get default export","webpack://reacttest2018/webpack/runtime/define property getters","webpack://reacttest2018/webpack/runtime/get javascript update chunk filename","webpack://reacttest2018/webpack/runtime/get mini-css chunk filename","webpack://reacttest2018/webpack/runtime/get update manifest filename","webpack://reacttest2018/webpack/runtime/getFullHash","webpack://reacttest2018/webpack/runtime/global","webpack://reacttest2018/webpack/runtime/hasOwnProperty shorthand","webpack://reacttest2018/webpack/runtime/make namespace object","webpack://reacttest2018/webpack/runtime/runtimeId","webpack://reacttest2018/webpack/runtime/hot module replacement","webpack://reacttest2018/webpack/runtime/publicPath","webpack://reacttest2018/webpack/runtime/css loading","webpack://reacttest2018/webpack/runtime/jsonp chunk loading","webpack://reacttest2018/webpack/runtime/nonce","webpack://reacttest2018/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"reacttest2018:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport ModalSimple from '../../../global/modal-simple';\r\n\r\n@observer\r\nclass ReturnPolicyModal extends React.Component {\r\n render() {\r\n return (\r\n \r\n
\r\n

\r\n Church Hill Classics offers a hassle-free return policy with no restocking\r\n fees to ensure customer satisfaction. Purchases made directly from their\r\n website are refundable within 120 days, with options to replace the product\r\n or issue a refund, excluding shipping and handling fees. Returns require a\r\n Return Merchandise Authorization (RMA) number, provided by their Customer\r\n Service team, and must be in original, undamaged packaging. For damaged\r\n frames, replacements are fast-tracked and shipped within five business days,\r\n with all shipments fully insured. Personalized engraved plates and\r\n special-order items are typically non-returnable unless there’s an error or\r\n defect.\r\n

\r\n

\r\n For purchases made through bookstores or affiliates, customers must follow\r\n the store's specific return policies. eGift cards are non-refundable and any\r\n returns for items purchased with them will be credited back to the card.\r\n Church Hill Classics emphasizes customer support and encourages anyone with\r\n questions to contact their Customer Service team for assistance.\r\n

\r\n\r\n
\r\n \r\n Read full return policy\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ReturnPolicyModal;\r\n","export enum EventType {\r\n AB = 'AB',\r\n}\r\n\r\n/**\r\n * Event emitter to subscribe, dispatch, and unsubscribe to events.\r\n */\r\nexport const eventEmitter: {\r\n readonly events: Record void)[]>;\r\n dispatch(eventType: EventType, uniqueSuffix: string | number): void;\r\n subscribe(eventType: EventType, uniqueSuffix: string | number, callback: () => void): void;\r\n unsubscribe(eventType: EventType, uniqueSuffix: string | number): void;\r\n getEventKey(eventType: EventType, uniqueSuffix: string | number): string;\r\n} = {\r\n //This is event object to store events.\r\n events: {},\r\n //Internal function to get event name from type and suffix\r\n getEventKey(eventType: EventType, uniqueSuffix: string | number) {\r\n return `${eventType} ${uniqueSuffix}`;\r\n },\r\n //This will dispatch the event and call the callback for every event.\r\n dispatch(event, uniqueSuffix) {\r\n const eventName = this.getEventKey(event, uniqueSuffix);\r\n if (!this.events[eventName]) return;\r\n this.events[eventName].forEach((callback: () => void) => callback());\r\n },\r\n //This will subscribe the event with a specific callback\r\n subscribe(event, uniqueSuffix, callback) {\r\n const eventName = this.getEventKey(event, uniqueSuffix);\r\n if (!this.events[eventName]) this.events[eventName] = [];\r\n if (!this.events[eventName].includes(callback)) this.events[eventName].push(callback);\r\n },\r\n //This will unsubscribe the event to avoid unnecessary event calls\r\n unsubscribe(event, uniqueSuffix) {\r\n const eventName = this.getEventKey(event, uniqueSuffix);\r\n if (!this.events[eventName]) return;\r\n delete this.events[eventName];\r\n },\r\n};\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport * as util from '../util';\r\n\r\ndeclare const modalCloseById: (id: string) => void;\r\n\r\ninterface IModalSimpleElementProps {\r\n id: string;\r\n title: string;\r\n open?: boolean;\r\n maxWidth?: string;\r\n children: JSX.Element;\r\n abTestClass?: string;\r\n close?: () => void;\r\n}\r\n\r\n@observer\r\nexport default class ModalSimple extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount(): void {\r\n if (this.props.open) {\r\n this.show();\r\n }\r\n }\r\n\r\n show() {\r\n util.modal(this.props.id);\r\n }\r\n\r\n hide() {\r\n if (this.props.close) {\r\n this.props.close();\r\n setTimeout(() => modalCloseById(this.props.id), 500);\r\n } else {\r\n modalCloseById(this.props.id);\r\n }\r\n }\r\n\r\n onOutsideClick(e: React.MouseEvent) {\r\n if (!e.target) {\r\n return;\r\n }\r\n\r\n if ((e.target as HTMLElement).classList.contains('modal')) {\r\n this.hide();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n this.onOutsideClick(e)}\r\n >\r\n \r\n
\r\n \r\n {this.props.title}\r\n this.hide()}\r\n >\r\n
\r\n
{this.props.children}
\r\n
\r\n this.hide()}\r\n >\r\n Close\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {action, observable} from 'mobx';\r\n\r\ndeclare const window: any;\r\n\r\nexport enum ABTestKeys {\r\n ab_green_product = 'ab_green_product',\r\n product_glass = 'product_glass',\r\n ab_checkout_1 = 'ab_checkout_1',\r\n product_mats = 'product_mats',\r\n product_gray_box = 'product_gray_box',\r\n prod_zoom = 'prod_zoom',\r\n ab_green_store = 'ab_green_store',\r\n ab_store_filters = 'ab_store_filters',\r\n ab_prod_th6 = 'ab_prod_th6',\r\n ab_oddit_header = 'ab_oddit_header',\r\n prod_buynow = 'prod_buynow',\r\n}\r\n\r\nexport class AbTestStore {\r\n @observable ab: any;\r\n\r\n constructor() {\r\n this.ab = {};\r\n }\r\n\r\n abForceUpdate = async (_component: React.Component) => _component.forceUpdate();\r\n\r\n @action\r\n HasKey = (key: string): boolean => {\r\n if (!window.ab) {\r\n return false;\r\n } else if (window.ab[key] === undefined) {\r\n return false;\r\n } else if (!this.ab) {\r\n return false;\r\n } else if (this.ab[key] === undefined) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n @action\r\n ABIsVariant = (key: string, variation: number): boolean => {\r\n if (!window.ab) {\r\n return false;\r\n } else if (window.ab[key] === undefined) {\r\n return false;\r\n } else if (!this.ab) {\r\n return false;\r\n } else if (this.ab[key] === undefined) {\r\n return false;\r\n }\r\n\r\n return window.ab[key] === variation && this.ab && this.ab[key] === variation;\r\n };\r\n\r\n @action\r\n ABGetValue = (key: string): number => {\r\n if (!window.ab) {\r\n return 0;\r\n } else if (window.ab[key] === undefined) {\r\n return 0;\r\n } else if (!this.ab) {\r\n return 0;\r\n } else if (this.ab[key] === undefined) {\r\n return 0;\r\n }\r\n\r\n return this.ab[key];\r\n };\r\n\r\n @action\r\n ABGetClassName = (key: string): string => {\r\n if (this.ABGetValue(key) === 0) {\r\n return '';\r\n }\r\n\r\n return `ab-${this.ABGetValue(key)} `;\r\n };\r\n}\r\n\r\nexport default new AbTestStore();\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport {createRoot} from 'react-dom/client';\r\n// import ErrorBoundary from './app-error';\r\nimport ProductComponent from './product/product';\r\n// import * as Sentry from '@sentry/react';\r\n\r\n// Sentry.init({\r\n// dsn: 'https://b2db459d7dc0ea78a26c57e6e1ee5647@o367868.ingest.us.sentry.io/4508019535380480',\r\n// integrations: [Sentry.browserTracingIntegration(), Sentry.replayIntegration()],\r\n// tracesSampleRate: 0.05,\r\n// tracePropagationTargets: [\r\n// 'localhost',\r\n// 'https://df4.microgsd.net',\r\n// 'https://www.diplomaframe.com',\r\n// 'https://www.customframes.com',\r\n// 'https://df.chctest.com',\r\n// ],\r\n// replaysSessionSampleRate: 0.1,\r\n// replaysOnErrorSampleRate: 1.0,\r\n// ignoreErrors: [\r\n// 'Non-Error exception captured',\r\n// 'Non-Error promise rejection captured',\r\n// 'InitializationError',\r\n// ],\r\n// environment: window.location.hostname.includes('diplomaframe') ? 'production' : 'development',\r\n// });\r\n\r\nconst myErrorHandler = (error: Error, componentStack: string) => {\r\n console.log('ERROR', error.message);\r\n};\r\n\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n const container: HTMLElement = document.getElementById('prod-v8') as HTMLElement;\r\n if (container) {\r\n const root = createRoot(container);\r\n root.render();\r\n }\r\n});\r\n","import axios from 'axios';\r\nimport s from './s';\r\nimport {observable, autorun, action, makeObservable, runInAction} from 'mobx';\r\nimport {ProductState} from './i';\r\nimport {openLink} from '../util';\r\nwindow.dataLayer = window.dataLayer || [];\r\n\r\nconst req = (_url: string, o: any): Promise => {\r\n // console.log('req', o);\r\n // console.log(JSON.stringify(o).length, o);\r\n const x = 1;\r\n return axios\r\n .post(_url, o)\r\n .then(response => {\r\n // console.log('resp', response.data);\r\n if (response.status === 500) {\r\n console.error(JSON.parse(response.data));\r\n }\r\n return response.data as any;\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n return err;\r\n });\r\n};\r\n\r\nexport const redeemCode = async (): Promise => {\r\n var result: ProductAPIResult = await req('/api/redeem', getProductPackage());\r\n runInAction(() => {\r\n window.location.href = window.location.href;\r\n window.location.reload();\r\n });\r\n};\r\n\r\nexport const pricing = async (): Promise => {\r\n var result: ProductAPIResult = await req('/api/pricing', getProductPackage());\r\n runInAction(() => {\r\n s.ui.price = result.result_decimal;\r\n });\r\n};\r\n\r\nexport const statevent = async (s: IStatEvent): Promise => {\r\n // axios.post('/api/info/event', s);\r\n};\r\n\r\nexport const add_to_cart = async (buyNow = false): Promise => {\r\n var result: ProductAPIResult = await req('/api/atc', getProductPackage());\r\n\r\n runInAction(() => {\r\n s.pcs.atc_error = '';\r\n // console.log(result);\r\n if (result.success === 1) {\r\n window.location.href = buyNow ? `${result.redirect_url}?buyNow=1` : result.redirect_url;\r\n } else if (result.success === 0) {\r\n s.pcs.atc_error = result.error;\r\n }\r\n });\r\n};\r\n\r\nexport const prod_cat = async (LinkToProductID: number): Promise => {\r\n const v = getProductPackage();\r\n v.ProductID = LinkToProductID;\r\n var result: ProductAPIResult = await req('/api/prod_cat', v);\r\n console.log(result);\r\n return result.msg;\r\n};\r\n\r\nconst getProductPackage = (): ProductUpdateFromClient => {\r\n return {\r\n ProductID: s.prod.ProductID,\r\n StoreID: s.si.StoreID,\r\n pcs: s.pcs,\r\n };\r\n};\r\n\r\ninterface ProductUpdateFromClient {\r\n ProductID: number;\r\n StoreID: number;\r\n pcs: ProductState;\r\n}\r\n\r\ninterface ProductAPIResult {\r\n success: number;\r\n error: string;\r\n msg: string;\r\n result_decimal: number;\r\n result_int: number;\r\n item_id: string;\r\n sku: string;\r\n redirect_url: string;\r\n}\r\n\r\ninterface IStatEvent {\r\n d1: string;\r\n d2: string;\r\n d3: string;\r\n}\r\n","import {ShippingSizeData} from './data';\r\nimport {ProductState, ViewProduct} from './i';\r\nimport s from './s';\r\n\r\nexport function updateShippingBoxID() {\r\n let id = -1;\r\n if (s.pcs.docWidth > s.pcs.docHeight) {\r\n const _t = s.pcs.docHeight;\r\n s.pcs.docHeight = s.pcs.docWidth;\r\n s.pcs.docWidth = _t;\r\n }\r\n\r\n try {\r\n let hit = false;\r\n for (let i = 0; i <= ShippingSizeData.length; i++) {\r\n let ssd = ShippingSizeData[i];\r\n if (s.pcs.docWidth <= ssd.width && s.pcs.docHeight <= ssd.height) {\r\n id = ssd.id;\r\n hit = true;\r\n break;\r\n }\r\n }\r\n if (hit === false) {\r\n id = 7;\r\n }\r\n } catch (e) {\r\n // err(e);\r\n id = 1;\r\n }\r\n\r\n let box_id: number = 3;\r\n if (s.prod.isShippingOversize) {\r\n switch (id) {\r\n case 1:\r\n box_id = 3;\r\n case 2:\r\n case 3:\r\n box_id = 4;\r\n case 4:\r\n case 5:\r\n box_id = 5;\r\n case 6:\r\n box_id = 6;\r\n default:\r\n box_id = 6;\r\n }\r\n } else {\r\n switch (id) {\r\n case 1:\r\n box_id = 1;\r\n case 2:\r\n case 3:\r\n box_id = 2;\r\n case 4:\r\n case 5:\r\n box_id = 3;\r\n case 6:\r\n box_id = 4;\r\n default:\r\n box_id = 5;\r\n }\r\n }\r\n s.ui.box_id = box_id;\r\n}\r\n","import {observer} from 'mobx-react';\r\nimport React, {useEffect, useRef} from 'react';\r\nimport {action, makeAutoObservable, makeObservable, observable, runInAction} from 'mobx';\r\nimport s from '../../s';\r\nimport {add_to_cart} from '../../api';\r\nimport * as emitter from '../../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../../global/store/ab-test.store';\r\n\r\ntype Props = {\r\n label: string;\r\n buyNow?: boolean;\r\n additionalClass?: string;\r\n};\r\n\r\n@observer\r\nexport default class ATCButton extends React.Component {\r\n @observable loading: boolean = false;\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n this.atc = this.atc.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n atc = async (buyNow = false) => {\r\n runInAction(() => {\r\n this.loading = true;\r\n });\r\n\r\n if (s.prod.IsCAF && !(s.pcs.caf_input_sizes || s.pcs.caf_valid_sizes)) {\r\n s.ui.show_caf_doc_sizes = true;\r\n } else if (s.prod.allowUpload2 && !s.ui.image_uploaded) {\r\n s.ui.image_uploaded_msg = `Please upload a ${s.prod.DocType} image before adding to cart`;\r\n } else {\r\n runInAction(() => {\r\n add_to_cart(buyNow);\r\n this.loading = false;\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const {buyNow, label, additionalClass} = this.props;\r\n\r\n return (\r\n this.atc(buyNow)}\r\n tabIndex={0}\r\n >\r\n {label}\r\n {this.loading && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React, {createRef} from 'react';\r\nimport {action, makeObservable, observable} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../../s';\r\nimport {r} from '../../rendering/core';\r\nimport ATCButton from './atc-button';\r\nimport AbTestStore, {ABTestKeys} from '../../../global/store/ab-test.store';\r\nimport * as emitter from '../../../global/emitter';\r\nimport PromoRedeem from '../promo-redeem';\r\n\r\ndeclare const modalOpen: (id: string) => void;\r\n\r\ninterface IATCProps {\r\n lite?: boolean;\r\n}\r\n\r\n@observer\r\nexport default class ATC extends React.Component {\r\n @observable canShare: boolean = false;\r\n @observable isMainATCVisible: boolean = true;\r\n @observable mainATCRef = createRef();\r\n\r\n constructor(props: IATCProps) {\r\n super(props);\r\n this.canShare = !!navigator.share;\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => {\r\n this.forceUpdate();\r\n setTimeout(() => this.checkIfVisible());\r\n };\r\n\r\n componentDidMount() {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n checkIfVisible() {\r\n if (this.mainATCRef.current) {\r\n const observer = new IntersectionObserver(\r\n ([entry]) => {\r\n this.isMainATCVisible = entry.isIntersecting;\r\n },\r\n {threshold: 0.5},\r\n );\r\n observer.observe(this.mainATCRef.current);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n )}\r\n\r\n {(AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) ||\r\n AbTestStore.ABIsVariant(ABTestKeys.prod_buynow, 1)) &&\r\n !s.prod.categories?.length && (\r\n \r\n )}\r\n
\r\n\r\n {!this.props.lite && s.isRetail && (\r\n
\r\n modalOpen('modal-return-policy')}\r\n >\r\n Easy, 120-day return policy\r\n \r\n
\r\n )}\r\n\r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) &&\r\n !this.isMainATCVisible && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && s.ui.show_atc && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {s.ui.show_atc && s.pcs.atc_error && s.pcs.atc_error !== '' && (\r\n
\r\n Error\r\n
{s.pcs.atc_error}
\r\n
\r\n )}\r\n\r\n \r\n
\r\n\r\n {window.innerWidth > 1200 && (\r\n
\r\n {this.canShare && s.isRetail && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport * as util from '../../util';\r\nimport s from '../s';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport {add_to_cart} from '../api';\r\n\r\ndeclare const collapse: {\r\n init: () => void;\r\n};\r\n\r\n@observer\r\nexport default class CAFDocSize extends React.Component {\r\n @observable doc1_w: number;\r\n @observable doc1_h: number;\r\n @observable doc2_w: number;\r\n @observable doc2_h: number;\r\n @observable print1_w: number;\r\n @observable print1_h: number;\r\n @observable print2_w: number;\r\n @observable print2_h: number;\r\n\r\n @observable isHorizontal: string;\r\n @observable notes: string;\r\n\r\n @observable error1: string = '';\r\n @observable error2: string = '';\r\n @observable error3: string = '';\r\n @observable error4: string = '';\r\n\r\n constructor(props) {\r\n super(props);\r\n this.atc = this.atc.bind(this);\r\n this.stop_caf = this.stop_caf.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n componentDidMount(): void {\r\n if (s.pcs.is_horizontal) {\r\n this.isHorizontal = '1';\r\n } else {\r\n this.isHorizontal = '0';\r\n }\r\n }\r\n\r\n @action\r\n stop_caf = async () => {\r\n runInAction(() => {\r\n s.ui.show_caf_doc_sizes = false;\r\n s.ui.show_caf_doc_sizes_both = false;\r\n setTimeout(function () {\r\n collapse.init();\r\n }, 150);\r\n });\r\n };\r\n\r\n @action\r\n atc = async () => {\r\n runInAction(() => {\r\n this.error1 = '';\r\n this.error2 = '';\r\n this.error3 = '';\r\n this.error4 = '';\r\n if (s.prod.DYF_FrameStyleID === 2 && s.ui.show_caf_doc_sizes_both) {\r\n if (!this.doc2_w) {\r\n this.error3 = `Invalid bottom ${s.prod.DocType.toLowerCase()} width`;\r\n return;\r\n }\r\n if (!this.doc2_h) {\r\n this.error3 = `Invalid bottom ${s.prod.DocType.toLowerCase()} height`;\r\n return;\r\n }\r\n if (this.print2_w && this.print2_w < 1) {\r\n this.error2 = `Bottom printed width is too low. Must be greater than 1.`;\r\n }\r\n if (this.print2_h && this.print2_h < 1) {\r\n this.error2 = `Bottom printed height is too low. Must be greater than 1.`;\r\n }\r\n if (this.print2_w && this.print2_w > 30) {\r\n this.error4 = `Bottom printed width is too high. Must be less than 30 inches.`;\r\n }\r\n if (this.print2_h && this.print2_h > 24) {\r\n this.error4 = `Bottom printed height is too high. less than 24 inches.`;\r\n }\r\n if (this.print2_w && this.print2_w > this.doc2_w) {\r\n this.error2 = `Bottom printed width is too high. Must be less than bottom ${s.prod.DocType.toLowerCase()} width.`;\r\n }\r\n if (this.print2_h && this.print2_h > this.doc2_h) {\r\n this.error2 = `Bottom printed height is too high. Must be less than bottom ${s.prod.DocType.toLowerCase()} height.`;\r\n }\r\n\r\n if (this.doc2_w < 1) {\r\n this.error3 = `Bottom ${s.prod.DocType} width is too low. Must be greater than 1.`;\r\n }\r\n if (this.doc2_h < 1) {\r\n this.error3 = `Bottom ${s.prod.DocType} height is too low. Must be greater than 1.`;\r\n }\r\n if (this.doc2_w > 30) {\r\n this.error3 = `Bottom ${s.prod.DocType} width is too high. Must be less than 30 inches.`;\r\n }\r\n if (this.doc2_h > 24) {\r\n this.error3 = `Bottom ${s.prod.DocType} height is too high. Must be less than 24 inches.`;\r\n }\r\n }\r\n\r\n if (!this.doc1_w) {\r\n this.error1 = `Invalid ${s.prod.DocType.toLowerCase()} width`;\r\n return;\r\n }\r\n if (!this.doc1_h) {\r\n this.error1 = `Invalid ${s.prod.DocType.toLowerCase()} height`;\r\n return;\r\n }\r\n if (this.doc1_w < 1) {\r\n this.error1 = `${s.prod.DocType} width is too low. Must be greater than 1.`;\r\n }\r\n if (this.doc1_h < 1) {\r\n this.error1 = `${s.prod.DocType} height is too low. Must be greater than 1.`;\r\n }\r\n if (this.doc1_w > 30) {\r\n this.error1 = `${s.prod.DocType} width is too high. Must be less than 30 inches.`;\r\n }\r\n if (this.doc1_h > 24) {\r\n this.error1 = `${s.prod.DocType} height is too high. Must be less than 24 inches.`;\r\n }\r\n\r\n if (this.print1_w && this.print1_w < 1) {\r\n this.error2 = `Printed width is too low. Must be greater than 1.`;\r\n }\r\n if (this.print1_h && this.print1_h < 1) {\r\n this.error2 = `Printed height is too low. Must be greater than 1.`;\r\n }\r\n if (this.print1_w && this.print1_w > 30) {\r\n this.error2 = `Printed width is too high. Must be less than 30 inches.`;\r\n }\r\n if (this.print1_h && this.print1_h > 24) {\r\n this.error2 = `Printed height is too high. Must be less than 24 inches.`;\r\n }\r\n\r\n if (this.print1_w && this.print1_w > this.doc1_w) {\r\n this.error2 = `Printed width is too high. Must be less than ${s.prod.DocType.toLowerCase()} width.`;\r\n }\r\n if (this.print1_h && this.print1_h > this.doc1_h) {\r\n this.error2 = `Printed height is too high. Must be less than ${s.prod.DocType.toLowerCase()} height.`;\r\n }\r\n\r\n if (\r\n this.error1 !== '' ||\r\n this.error2 !== '' ||\r\n this.error3 !== '' ||\r\n this.error4 !== ''\r\n ) {\r\n return;\r\n }\r\n\r\n s.pcs.docWidth = this.doc1_w;\r\n s.pcs.docHeight = this.doc1_h;\r\n s.pcs.printWidth = this.print1_w;\r\n s.pcs.printHeight = this.print1_h;\r\n\r\n if (s.prod.DYF_FrameStyleID === 2 && s.ui.show_caf_doc_sizes_both) {\r\n s.pcs.docWidth2 = this.doc2_w;\r\n s.pcs.docHeight2 = this.doc2_h;\r\n s.pcs.printWidth2 = this.print2_w;\r\n s.pcs.printHeight2 = this.print2_h;\r\n } else if (s.prod.DYF_FrameStyleID === 2) {\r\n s.pcs.docWidth2 = this.doc1_w;\r\n s.pcs.docHeight2 = this.doc1_h;\r\n s.pcs.printWidth2 = this.print1_w;\r\n s.pcs.printHeight2 = this.print1_h;\r\n }\r\n\r\n this.isHorizontal = s.pcs.docWidth >= s.pcs.docHeight ? '1' : '0';\r\n\r\n s.pcs.caf_note_IsHorizontal = this.isHorizontal === '1' ? true : false;\r\n if (this.notes && this.notes.length > 2) {\r\n s.pcs.caf_note = this.notes.truncate(400, true);\r\n }\r\n\r\n // atc\r\n runInAction(() => {\r\n add_to_cart();\r\n });\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
Add To Cart
\r\n\r\n
\r\n \r\n
\r\n

Use the table below to convert from fractions to decimal:

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n

How to measure your Document

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n

\r\n We require the actual paper size measurements to confirm price and\r\n accurately size your frame. Please convert fractions to decimals.{' '}\r\n util.modal('modal-caf-atc-1')}\r\n aria-label=\"View a photo of an inches to decimals sizing chart\"\r\n />\r\n

\r\n

\r\n util.modal('modal-caf-atc-2')}\r\n aria-label=\"How to measure your Document\"\r\n >\r\n How to measure your {s.prod.DocType}\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n\r\n
\r\n {s.prod.DYF_FrameStyleID === 2 && !s.ui.show_caf_doc_sizes_both && (\r\n
Top & Bottom {s.prod.DocType}s
\r\n )}\r\n {s.prod.DYF_FrameStyleID === 2 && s.ui.show_caf_doc_sizes_both && (\r\n
Top {s.prod.DocType}
\r\n )}\r\n
\r\n \r\n 1. Actual {s.prod.DocType} Size*:{' '}\r\n
\r\n \r\n \r\n \r\n runInAction(() => {\r\n this.doc1_w = parseFloat(e.target.value);\r\n })\r\n }\r\n aria-label=\"Top Document Width in Inches\"\r\n />\r\n \r\n
\r\n x\r\n \r\n \r\n runInAction(() => {\r\n this.doc1_h = parseFloat(e.target.value);\r\n })\r\n }\r\n aria-label=\"Top Document Height in Inches\"\r\n />\r\n \r\n
\r\n inches\r\n
\r\n \r\n e.g. 10.5\" W x 8\" H\r\n
\r\n {this.error1 && this.error1 !== '' && (\r\n
{this.error1}
\r\n )}\r\n \r\n
\r\n \r\n 2. Printed Area Size (optional):{' '}\r\n
\r\n \r\n \r\n \r\n runInAction(() => {\r\n this.print1_w = parseFloat(e.target.value);\r\n })\r\n }\r\n aria-label=\"Top Document Width in Inches\"\r\n />\r\n \r\n \r\n x\r\n \r\n \r\n runInAction(() => {\r\n this.print1_h = parseFloat(e.target.value);\r\n })\r\n }\r\n aria-label=\"Top Document Height in Inches\"\r\n />\r\n \r\n \r\n inches\r\n \r\n \r\n e.g. 10.5\" W x 8\" H\r\n \r\n {this.error2 && this.error2 !== '' && (\r\n
{this.error2}
\r\n )}\r\n \r\n\r\n {s.prod.DYF_FrameStyleID === 2 && !s.ui.show_caf_doc_sizes_both && (\r\n
\r\n

\r\n Does your bottom {s.prod.DocType.toLowerCase()} have\r\n different dimensions?\r\n

\r\n
\r\n \r\n runInAction(() => {\r\n s.ui.show_caf_doc_sizes_both = true;\r\n })\r\n }\r\n className=\"btn btn-outline-dark btn-sm\"\r\n >\r\n Yes\r\n \r\n
\r\n
\r\n )}\r\n\r\n {s.prod.DYF_FrameStyleID === 2 && s.ui.show_caf_doc_sizes_both && (\r\n
Bottom {s.prod.DocType}
\r\n )}\r\n {/* {s.prod.DYF_FrameStyleID === 2 && s.ui.show_caf_doc_sizes_both &&

Bottom {s.prod.DocType} information may be left blank if both {s.prod.DocType}s have identical dimensions.

} */}\r\n {s.prod.DYF_FrameStyleID === 2 && s.ui.show_caf_doc_sizes_both && (\r\n
\r\n \r\n 1. Actual {s.prod.DocType} Size*:{' '}\r\n
\r\n \r\n \r\n \r\n runInAction(() => {\r\n this.doc2_w = parseFloat(e.target.value);\r\n })\r\n }\r\n pattern=\"\\d*\"\r\n maxLength={7}\r\n aria-label=\"Top Document Width in Inches\"\r\n />\r\n \r\n \r\n x\r\n \r\n \r\n runInAction(() => {\r\n this.doc2_h = parseFloat(e.target.value);\r\n })\r\n }\r\n pattern=\"\\d*\"\r\n maxLength={7}\r\n aria-label=\"Top Document Height in Inches\"\r\n />\r\n \r\n \r\n inches\r\n \r\n {this.error3 && this.error3 !== '' && (\r\n
{this.error3}
\r\n )}\r\n \r\n )}\r\n {s.prod.DYF_FrameStyleID === 2 && s.ui.show_caf_doc_sizes_both && (\r\n
\r\n \r\n 2. Printed Area Size (optional):{' '}\r\n
\r\n \r\n \r\n \r\n runInAction(() => {\r\n this.print2_w = parseFloat(e.target.value);\r\n })\r\n }\r\n pattern=\"\\d*\"\r\n maxLength={7}\r\n aria-label=\"Top Document Width in Inches\"\r\n />\r\n \r\n \r\n x\r\n \r\n \r\n runInAction(() => {\r\n this.print2_h = parseFloat(e.target.value);\r\n })\r\n }\r\n pattern=\"\\d*\"\r\n maxLength={7}\r\n aria-label=\"Top Document Height in Inches\"\r\n />\r\n \r\n \r\n inches\r\n \r\n {this.error4 && this.error4 !== '' && (\r\n
{this.error4}
\r\n )}\r\n \r\n )}\r\n\r\n
\r\n\r\n
\r\n \r\n {s.prod.DocType} Orientation & Notes:{' '}\r\n
\r\n \r\n runInAction(() => {\r\n this.isHorizontal = e.target.value;\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n runInAction(() => {\r\n this.notes = e.target.value;\r\n })\r\n }\r\n className=\"form-control\"\r\n placeholder=\"Notes\"\r\n aria-label=\"Notes for your order\"\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n {s.pcs && s.pcs.atc_error && s.pcs.atc_error !== '' && (\r\n
{s.pcs.atc_error}
\r\n )}\r\n \r\n \r\n Back to Design\r\n \r\n \r\n Add To Cart\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport {ProductCategoryObject} from '../i';\r\nimport {prod_cat} from '../api';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\n\r\ninterface ICategoryProps {\r\n CategoryID: number;\r\n}\r\n\r\n@observer\r\nexport default class Category extends React.Component {\r\n @observable category_name: string;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.save = this.save.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n runInAction(() => {\r\n this.category_name = s.prod.categories.filter(\r\n x => x.CategoryID === this.props.CategoryID,\r\n )[0].CategoryName;\r\n });\r\n }\r\n\r\n @action\r\n save = async (id: number) => {\r\n runInAction(async () => {\r\n const cat = s.prod.categories.filter(x => x.id === id)[0];\r\n if (!cat) {\r\n return;\r\n }\r\n\r\n if (cat.LinkToProductID < 1) {\r\n s.pcs.category_map_id = cat.id;\r\n s.pcs.category_selected_no_new_product = cat.id > 0;\r\n const _w: number = cat.Doc_Width;\r\n const _h: number = cat.Doc_Height;\r\n\r\n if (_w <= _h) {\r\n s.pcs.docWidth = _w;\r\n s.pcs.docHeight = _h;\r\n s.pcs.is_horizontal = false;\r\n } else if (_w > _h) {\r\n s.pcs.docWidth = _w;\r\n s.pcs.docHeight = _h;\r\n s.pcs.is_horizontal = true;\r\n }\r\n s.prod.IsHorizontal = s.pcs.is_horizontal;\r\n s.prod.OrientationHorizontal = s.pcs.is_horizontal;\r\n s.pcs.docWidth2 = s.pcs.docWidth;\r\n s.pcs.docHeight2 = s.pcs.docHeight;\r\n if (s.prod.docWidth2 <= 0) {\r\n s.pcs.docWidth2 = -1;\r\n s.pcs.docHeight2 = -1;\r\n }\r\n\r\n if (s.pcs.glass_id === 2) {\r\n s.pcs.glass_id = 4;\r\n s.prod.AllowGlassID2 = 0;\r\n }\r\n\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n s.pulse();\r\n } else {\r\n const result = (await prod_cat(cat.LinkToProductID)) as string;\r\n util.openLink(result);\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n if (!s.ready || !this.category_name || s.pcs.is_caf) {\r\n return;\r\n }\r\n // console.log(s.prod.categories);\r\n return (\r\n \r\n
\r\n
\r\n \r\n {this.category_name}\r\n \r\n\r\n {s.prod.categories.length < 6 && (\r\n \r\n {s.prod.categories\r\n .filter(x => x.CategoryID === this.props.CategoryID)\r\n .map((m, i) => (\r\n this.save(m.id)}\r\n role=\"option\"\r\n tabIndex={0}\r\n >\r\n
\r\n {m.Name}\r\n {s.__fast_ship_orig &&\r\n s.isRetail &&\r\n s.pcs.category_map_id === m.id && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n ))}\r\n
\r\n )}\r\n\r\n {s.prod.categories.length > 5 && (\r\n this.save(parseInt(e.target.value, 10))}\r\n >\r\n {s.prod &&\r\n s.prod.linos &&\r\n s.prod.categories\r\n .filter(x => x.CategoryID === this.props.CategoryID)\r\n .map((m, i) => (\r\n \r\n {m.Name}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) &&
}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\n\r\n@observer\r\nexport default class CustomFieldsComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.save1 = this.save1.bind(this);\r\n this.save2 = this.save2.bind(this);\r\n this.save3 = this.save3.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n @action\r\n save1 = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n s.pcs.custom_text_1 = e.target.value.truncate(200, false);\r\n });\r\n };\r\n\r\n @action\r\n save2 = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n s.pcs.custom_text_2 = e.target.value.truncate(200, false);\r\n });\r\n };\r\n\r\n @action\r\n save3 = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n s.pcs.custom_text_3 = e.target.value.truncate(200, false);\r\n });\r\n };\r\n\r\n render() {\r\n if (!s.ready || !s.ui.show_cust || s.prod.IsCAF) {\r\n return;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {s.prod.CustomField1_Enabled && (\r\n
\r\n
{s.prod.CustomField1_Title}
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {s.prod.CustomField2_Enabled && (\r\n
\r\n
{s.prod.CustomField2_Title}
\r\n \r\n
\r\n )}\r\n {s.prod.CustomField3_Enabled && (\r\n
\r\n
{s.prod.CustomField3_Title}
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\nimport * as emitter from '../../global/emitter';\r\nimport LevelLockModal from './modals/level-lock.modal';\r\nimport SmartBoxModal from './modals/smart-box.modal';\r\n\r\ndeclare var __portal: IPortalSettings;\r\n\r\ndeclare const collapse: {\r\n init: () => void;\r\n};\r\n\r\ntype Props = {\r\n toggleExpandable: (e: React.KeyboardEvent, id: string) => void;\r\n};\r\n\r\n@observer\r\nexport default class DescMain extends React.Component {\r\n @observable description: string;\r\n @observable init: boolean = false;\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount() {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @computed get hide_dynamic(): boolean {\r\n if (!s.ready) {\r\n return false;\r\n }\r\n if (\r\n [70214, 70215, 70244, 84054].includes(s.prod.ProductID) ||\r\n ['391332'].includes(s.prod.ItemID)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n @computed get show_doc_size(): boolean {\r\n if (!s.ready) {\r\n return false;\r\n }\r\n if (\r\n s.pcs.docWidth >= 0 &&\r\n s.pcs.docHeight >= 0 &&\r\n !s.prod.Name.includes('collage') &&\r\n s.prod.ProductTypeID != 25 &&\r\n s.prod.IsFrame\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n @computed get show_frame_size() {\r\n if (!s.ready) {\r\n return false;\r\n }\r\n if (s.prod.JF_Width > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n @computed get show_custom_frame() {\r\n if (!s.ready) {\r\n return false;\r\n }\r\n if (s.prod.IsFrame && s.prod.ProductTypeID !== 67) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n @computed get show_smart_box() {\r\n if (!s.ready) {\r\n return false;\r\n }\r\n if (!s.ui.allow_smartbox) {\r\n return false;\r\n }\r\n if (\r\n s.prod.Shipping_BoxID <= 3 &&\r\n s.prod.IsFrame &&\r\n !s.prod.ProductTypeDisplayName.toLowerCase().includes('Photo') &&\r\n !this.hide_dynamic\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n @computed get jf_width() {\r\n if (!s.ready || !this.show_frame_size) {\r\n return false;\r\n }\r\n return util.roundF(\r\n s.prod.JF_Width - s.prod.docWidth + s.pcs.docWidth + s.pcs.moulding_extWidth * 2,\r\n 1,\r\n );\r\n }\r\n\r\n @computed get jf_height() {\r\n if (!s.ready || !this.show_frame_size) {\r\n return false;\r\n }\r\n return util.roundF(\r\n s.prod.JF_Height - s.prod.docHeight + s.pcs.docHeight + s.pcs.moulding_extWidth * 2,\r\n 1,\r\n );\r\n }\r\n\r\n componentDidUpdate() {\r\n if (!this.init) {\r\n this.init = true;\r\n collapse.init();\r\n // (document.getElementById('prod-main-desc') as HTMLElement).click();\r\n }\r\n }\r\n\r\n render() {\r\n if (!s.ready) {\r\n return;\r\n }\r\n\r\n if (\r\n s.si &&\r\n AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) &&\r\n AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)\r\n ) {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(s.si.default_prod_info_static, 'text/html');\r\n const ul = doc.querySelector('ul');\r\n\r\n if (ul) {\r\n const firstLi = ul.querySelector('li');\r\n\r\n if (firstLi) {\r\n ul.removeChild(firstLi);\r\n }\r\n\r\n this.description = ul.outerHTML;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n this.props.toggleExpandable(e, 'prod-main-desc')}\r\n >\r\n Description\r\n
\r\n \r\n {\r\n \r\n }\r\n {!this.hide_dynamic && (\r\n
    \r\n {!s.prod.IsCAF && this.show_doc_size && (\r\n
  • {`${s.si.ph_desc_size} ${s.pcs.docWidth}\"w x ${s.pcs.docHeight}\"h`}
  • \r\n )}\r\n {!s.prod.IsCAF && this.show_frame_size && (\r\n
  • {`${s.si.ph_desc_jf_size} ${this.jf_width}\"w x ${this.jf_height}\"h`}
  • \r\n )}\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) &&\r\n !s.prod.IsCAF &&\r\n s.prod.LevelLock &&\r\n (s.PortalID === 0 || !__portal.DisableProdDescLinks) &&\r\n !s.prod.HideLevelLock && (\r\n
  • \r\n {s.si.ph_desc_ll} \r\n
  • \r\n )}\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) &&\r\n !s.prod.IsCAF &&\r\n s.prod.LevelLock &&\r\n (s.PortalID !== 0 || __portal.DisableProdDescLinks) &&\r\n !s.prod.HideLevelLock && (\r\n
  • {s.si.ph_desc_ll} Level-Lock Frame Hanging System!
  • \r\n )}\r\n\r\n {!s.prod.IsCAF &&\r\n this.show_smart_box &&\r\n (s.PortalID === 0 || !__portal.DisableProdDescLinks) && (\r\n
  • \r\n {s.si.ph_desc_smart} \r\n
  • \r\n )}\r\n\r\n {!s.prod.IsCAF &&\r\n this.show_smart_box &&\r\n (s.PortalID !== 0 || __portal.DisableProdDescLinks) && (\r\n
  • {s.si.ph_desc_smart} SMARTbox package
  • \r\n )}\r\n\r\n {!s.prod.IsCAF && this.show_custom_frame && s.si.StoreTypeID === 5 && (\r\n
  • This custom frame is handcrafted in the USA.
  • \r\n )}\r\n {!s.prod.IsCAF && this.show_custom_frame && s.si.StoreTypeID !== 5 && (\r\n
  • {s.si.ph_desc_custom}
  • \r\n )}\r\n {!s.prod.IsCAF &&\r\n s.prod.CustomizationMethod === 2 &&\r\n s.PortalID === 0 &&\r\n s.prod.ProductTypeID === 25 && (\r\n
  • \r\n Customize your Varsity Letter frame with{' '}\r\n \r\n Create-a-Frame\r\n \r\n
  • \r\n )}\r\n\r\n {s.prod.IsCAF && this.show_doc_size && (\r\n
  • {`${s.prod.DocType} Size: ${s.pcs.docWidth}\"w x ${s.pcs.docHeight}\"h`}
  • \r\n )}\r\n {s.prod.IsCAF && this.show_frame_size && (\r\n
  • {`Approx. Overall Frame Size: ${this.jf_width}\"w x ${this.jf_height}\"h`}
  • \r\n )}\r\n\r\n {s.prod.IsCAF &&\r\n s.prod.LevelLock &&\r\n !s.prod.HideLevelLock &&\r\n s.PortalID === 0 && (\r\n
  • \r\n Includes our easy-to-use \r\n
  • \r\n )}\r\n\r\n {s.prod.IsCAF && this.show_smart_box && s.PortalID === 0 && (\r\n
  • \r\n This frame ships in a branded \r\n
  • \r\n )}\r\n\r\n {s.prod.IsCAF && this.show_custom_frame && s.si.StoreTypeID === 5 && (\r\n
  • This custom frame is handcrafted in the USA.
  • \r\n )}\r\n {s.prod.IsCAF && this.show_custom_frame && s.si.StoreTypeID !== 5 && (\r\n
  • \r\n This custom frame is handcrafted in the USA and made-to-order.\r\n
  • \r\n )}\r\n {!s.pcs.is_caf && !util.isNullOrWhiteSpace(s.ui.item_id) && (\r\n
  • Item #: {s.ui.item_id}
  • \r\n )}\r\n {!s.pcs.is_caf && !util.isNullOrWhiteSpace(s.ui.sku) && (\r\n
  • SKU: {s.ui.sku}
  • \r\n )}\r\n {s.prod.IsCAF &&\r\n s.prod.DYF_FrameStyleID === 10 &&\r\n s.pcs.docWidth <= 7 &&
  • Includes easel back
  • }\r\n {s.prod.IsCAF &&
  • {s.prod.DYF_FrameStyleName}
  • }\r\n {s.prod.IsCAF &&
  • {s.ui.title_moulding} Moulding
  • }\r\n {s.prod.IsCAF &&
  • {s.ui.title_mat1} Top Mat
  • }\r\n {s.prod.IsCAF && s.pcs.mat2_id > 0 && (\r\n
  • {s.ui.title_mat2} Inner Accent
  • \r\n )}\r\n {s.prod.IsCAF && s.pcs.insignia_id > 0 && (\r\n
  • {s.ui.title_insignia} Insignia
  • \r\n )}\r\n {s.prod.IsCAF && s.pcs.lino_id > 0 && (\r\n
  • {s.pcs.lino_base_name} Embossed Text
  • \r\n )}\r\n {s.prod.IsCAF && s.pcs.ep_id > 0 &&
  • Engraved Plate
  • }\r\n {s.prod.IsCAF && (\r\n
  • \r\n {s.pcs.is_horizontal ? 'Horizontal' : 'Vertical'} Orientation\r\n
  • \r\n )}\r\n {s.prod.IsCAF && s.pcs.glass_id > 1 && (\r\n
  • \r\n {s.ui.name_glass}{' '}\r\n {s.prod.AllowGlassID1 === 2 || s.pcs.use_plexi\r\n ? 'Plexiglass'\r\n : 'Glass'}\r\n
  • \r\n )}\r\n
\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport * as data from '../data';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\n\r\ndeclare var __portal: IPortalSettings;\r\n\r\ninterface IDocSize {\r\n i: number;\r\n w: string;\r\n h: string;\r\n}\r\n\r\n@observer\r\nexport default class DocSize extends React.Component {\r\n doc_sizes: IDocSize[] = [\r\n {i: 0, h: '6.0', w: '8.0'},\r\n {i: 1, h: '7.0', w: '9.0'},\r\n {i: 2, h: '8.0', w: '10.0'},\r\n {i: 3, h: '8.5', w: '11.0'},\r\n {i: 4, h: '10.0', w: '12.0'},\r\n {i: 5, h: '11.0', w: '14.0'},\r\n {i: 6, h: '12.0', w: '16.0'},\r\n {i: 7, h: '13.0', w: '17.0'},\r\n {i: 8, h: '14.0', w: '18.0'},\r\n {i: 9, h: '16.0', w: '20.0'},\r\n {i: 10, h: '18.0', w: '22.0'},\r\n {i: 11, h: '20.0', w: '24.0'},\r\n ];\r\n\r\n doc_sizes_photo: IDocSize[] = [\r\n {i: 0, h: '5.0', w: '7.0'},\r\n {i: 1, h: '8.0', w: '10.0'},\r\n ];\r\n\r\n doc_sizes_varsity: IDocSize[] = [\r\n {i: 0, h: '8.0', w: '9.25'},\r\n {i: 1, h: '10.0', w: '12.0'},\r\n ];\r\n\r\n constructor(props) {\r\n super(props);\r\n this.changeDocSize = this.changeDocSize.bind(this);\r\n this.changeOrientation = this.changeOrientation.bind(this);\r\n this.changeDYF = this.changeDYF.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n changeDocSize = async (e: React.ChangeEvent) => {\r\n e.preventDefault();\r\n runInAction(() => {\r\n let dw: IDocSize;\r\n if (s.prod.DYF_FrameStyleID === 10) {\r\n dw = this.doc_sizes_photo[parseInt(e.target.value, 10)];\r\n } else if (s.prod.DYF_FrameStyleID === 4) {\r\n dw = this.doc_sizes_varsity[parseInt(e.target.value, 10)];\r\n } else {\r\n dw = this.doc_sizes[parseInt(e.target.value, 10)];\r\n }\r\n const _w: number = parseFloat(dw.w);\r\n const _h: number = parseFloat(dw.h);\r\n\r\n // console.log('w', _w);\r\n // console.log('h', _h);\r\n // console.log('s.pcs.is_horizontal', s.pcs.is_horizontal);\r\n\r\n s.pcs.docWidth = _w;\r\n s.pcs.docHeight = _h;\r\n if (s.pcs.is_horizontal && s.pcs.docWidth < s.pcs.docHeight) {\r\n const newHeight = s.pcs.docWidth;\r\n s.pcs.docWidth = s.pcs.docHeight;\r\n s.pcs.docHeight = newHeight;\r\n // console.log('swap 1');\r\n } else if (!s.pcs.is_horizontal && s.pcs.docWidth > s.pcs.docHeight) {\r\n const newHeight = s.pcs.docWidth;\r\n s.pcs.docWidth = s.pcs.docHeight;\r\n s.pcs.docHeight = newHeight;\r\n // console.log('swap 2');\r\n }\r\n s.pcs.docWidth2 = s.pcs.docWidth;\r\n s.pcs.docHeight2 = s.pcs.docHeight;\r\n\r\n if (s.prod.DYF_FrameStyleID !== 2) {\r\n s.pcs.docWidth2 = -1;\r\n s.pcs.docHeight2 = -1;\r\n }\r\n\r\n if (s.prod.IsCAF) {\r\n if (\r\n s.prod.DYF_FrameStyleID === 2 ||\r\n s.prod.DYF_FrameStyleID === 7 ||\r\n s.prod.DYF_FrameStyleID === 8 ||\r\n s.prod.DYF_FrameStyleID === 6\r\n ) {\r\n if (s.pcs.docWidth > 9 && s.pcs.docHeight > 12) {\r\n s.pcs.use_plexi = true;\r\n } else if (s.pcs.docWidth > 12 && s.pcs.docHeight > 9) {\r\n s.pcs.use_plexi = true;\r\n } else {\r\n s.pcs.use_plexi = false;\r\n }\r\n } else if (s.prod.DYF_FrameStyleID === 3 || s.prod.DYF_FrameStyleID === 5) {\r\n if (s.pcs.docWidth > 11 && s.pcs.docHeight > 14) {\r\n s.pcs.use_plexi = true;\r\n } else if (s.pcs.docWidth > 14 && s.pcs.docHeight > 11) {\r\n s.pcs.use_plexi = true;\r\n } else {\r\n s.pcs.use_plexi = false;\r\n }\r\n } else {\r\n if (s.pcs.docWidth > 14 && s.pcs.docHeight > 18) {\r\n s.pcs.use_plexi = true;\r\n } else if (s.pcs.docWidth > 18 && s.pcs.docHeight > 14) {\r\n s.pcs.use_plexi = true;\r\n } else {\r\n s.pcs.use_plexi = false;\r\n }\r\n }\r\n }\r\n\r\n if (s.prod.ForcePlexiglass) {\r\n s.pcs.use_plexi = true;\r\n }\r\n\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n s.pulse();\r\n });\r\n };\r\n\r\n @action\r\n changeOrientation = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n s.pcs.is_horizontal = !s.pcs.is_horizontal;\r\n s.prod.IsHorizontal = s.pcs.is_horizontal;\r\n s.prod.OrientationHorizontal = s.pcs.is_horizontal;\r\n if (s.pcs.is_horizontal && s.pcs.docWidth < s.pcs.docHeight) {\r\n const newHeight = s.pcs.docWidth;\r\n s.pcs.docWidth = s.pcs.docHeight;\r\n s.pcs.docHeight = newHeight;\r\n } else if (!s.pcs.is_horizontal && s.pcs.docWidth > s.pcs.docHeight) {\r\n const newHeight = s.pcs.docWidth;\r\n s.pcs.docWidth = s.pcs.docHeight;\r\n s.pcs.docHeight = newHeight;\r\n }\r\n s.pcs.docWidth2 = s.pcs.docWidth;\r\n s.pcs.docHeight2 = s.pcs.docHeight;\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n s.pulse();\r\n });\r\n };\r\n\r\n @action\r\n changeDYF = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n // console.log(e.target.value);\r\n util.openLink(e.target.value);\r\n });\r\n };\r\n\r\n render() {\r\n if (!s.pcs.is_caf) {\r\n if (s.pcs.docWidth <= 0) {\r\n return;\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

\r\n All of our frames are custom made to order so we can very easily\r\n create a frame that fits your specific Document size.\r\n

\r\n

\r\n Please call our customer service department at{' '}\r\n {__portal.CustomerServicePhone} or\r\n email{' '}\r\n \r\n {__portal.CustomerServiceEmail}\r\n {' '}\r\n and provide the Item # of the frame you would like to purchase along\r\n with any customizations and the size and orientation of your\r\n Document.\r\n

\r\n

\r\n We will provide a price and answer any questions you may have about\r\n this custom frame.\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n {s.ui.doc_type} Size:{' '}\r\n \r\n {s.pcs.docWidth}\"w x {s.pcs.docHeight}\"h{' '}\r\n util.modal('modal-doc-size')}\r\n aria-label=\"View information about document size for this product\"\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"modal-doc-size\"\r\n />\r\n
\r\n
\r\n util.modal('modal-doc-size-diff')}\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-label=\"View information about different document sizes\"\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"modal-doc-size-diff\"\r\n >\r\n Different Size?\r\n \r\n
\r\n {s.si != null && s.si.Price_Retail != null && !s.isRetail && (\r\n
Retail: {util.currency(s.si.Price_Retail)}
\r\n )}\r\n
\r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) &&
}\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n
\r\n

\r\n No worries! We'll ask for the exact size once you Add To Cart. In\r\n the meantime, we'll use the 'Up to' size to price your frame.\r\n

\r\n

\r\n All of our frames are custom made to order so we can very easily\r\n create a frame that fits your specific Document size.\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n {s.prod.DocType} Size & Orientation{' '}\r\n util.modal('modal-doc-size-caf')}\r\n role=\"button\"\r\n aria-label=\"View information about document size for this product\"\r\n />\r\n
\r\n \r\n {s.prod.DYF_FrameStyleID !== 10 &&\r\n s.prod.DYF_FrameStyleID !== 4 &&\r\n this.doc_sizes.map((m, i) => (\r\n \r\n {s.pcs.is_horizontal\r\n ? `Up to ${m.w}\"w x ${m.h}\"h`\r\n : `Up to ${m.h}\"w x ${m.w}\"h`}\r\n \r\n ))}\r\n {s.prod.DYF_FrameStyleID === 10 &&\r\n this.doc_sizes_photo.map((m, i) => (\r\n \r\n {s.pcs.is_horizontal\r\n ? `Up to ${m.w}\"w x ${m.h}\"h`\r\n : `Up to ${m.h}\"w x ${m.w}\"h`}\r\n \r\n ))}\r\n {s.prod.DYF_FrameStyleID === 4 &&\r\n this.doc_sizes_varsity.map((m, i) => (\r\n \r\n {s.pcs.is_horizontal\r\n ? `Up to ${m.w}\"w x ${m.h}\"h`\r\n : `Up to ${m.h}\"w x ${m.w}\"h`}\r\n \r\n ))}\r\n \r\n \r\n \r\n Horizontal\r\n \r\n \r\n Vertical\r\n \r\n \r\n
\r\n {s.prod && s.prod.dyfList && (\r\n
\r\n
Frame Style
\r\n \r\n {s.prod.dyfList.map((m, i) => (\r\n \r\n {m.title}\r\n \r\n ))}\r\n \r\n
\r\n )}\r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n \r\n );\r\n }\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport * as data from '../data';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\nimport * as emitter from '../../global/emitter';\r\n\r\n@observer\r\nexport default class EngravedPlate extends React.Component {\r\n @observable ep1: string;\r\n @observable ep2: string;\r\n @observable ep3: string;\r\n @observable collapsed: boolean = true;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.collapseToggle = this.collapseToggle.bind(this);\r\n this.ep_color_change = this.ep_color_change.bind(this);\r\n this.ep_add = this.ep_add.bind(this);\r\n this.ep_remove = this.ep_remove.bind(this);\r\n this.ep_change_text = this.ep_change_text.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n collapseToggle = async () => {\r\n runInAction(() => {\r\n this.collapsed = !this.collapsed;\r\n });\r\n };\r\n\r\n @computed get canCollapse(): boolean {\r\n return s.pcs.is_caf || window.innerWidth < 960;\r\n }\r\n\r\n @action\r\n ep_color_change = async (e: any) => {\r\n runInAction(() => {\r\n s.pcs.ep_id_view = parseInt(e.target.value, 10);\r\n if (s.pcs.ep_id > 0) {\r\n s.pcs.ep_id = s.pcs.ep_id_view;\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n s.pulse();\r\n }\r\n });\r\n };\r\n\r\n @action\r\n ep_add = async (e: any) => {\r\n runInAction(() => {\r\n s.pcs.ep_id = s.pcs.ep_id_view;\r\n s.ui.doRender = true;\r\n s.pcs.ep1 = this.ep1;\r\n s.pcs.ep2 = this.ep2;\r\n s.pcs.ep3 = this.ep3;\r\n s.pcs.lino_base_name = '';\r\n s.pcs.lino_id = -1;\r\n s.ui.update_pricing = true;\r\n\r\n if (s.pcs.ep_id === 1099) {\r\n s.pcs.ins_black_allowed = true;\r\n s.pcs.ins_gold_allowed = true;\r\n s.pcs.ins_silver_allowed = true;\r\n } else if (s.pcs.ep_id === 39) {\r\n s.pcs.ins_black_allowed = false;\r\n s.pcs.ins_gold_allowed = false;\r\n s.pcs.ins_silver_allowed = true;\r\n } else if (s.pcs.ep_id === 37) {\r\n s.pcs.ins_black_allowed = false;\r\n s.pcs.ins_gold_allowed = true;\r\n s.pcs.ins_silver_allowed = false;\r\n }\r\n\r\n s.pulse();\r\n });\r\n };\r\n\r\n @action\r\n ep_remove = async (e: any) => {\r\n runInAction(() => {\r\n if (s.pcs.ep_id > 0) {\r\n s.pcs.ep_id = 0;\r\n s.ui.update_pricing = true;\r\n s.ui.doRender = true;\r\n s.pulse();\r\n }\r\n });\r\n };\r\n\r\n @action\r\n ep_change_text = async () => {\r\n runInAction(() => {\r\n s.pcs.ep1 = this.ep1;\r\n s.pcs.ep2 = this.ep2;\r\n s.pcs.ep3 = this.ep3;\r\n });\r\n };\r\n\r\n @computed get getColorText(): string {\r\n return s.pcs.ep_id <= 0\r\n ? ''\r\n : s.pcs.ep_id === 37\r\n ? 'Gold'\r\n : s.pcs.ep_id === 1099\r\n ? 'Black'\r\n : 'Silver';\r\n }\r\n\r\n @computed get getColorTextLower(): string {\r\n if (s.ui.name_moulding.toLowerCase().includes('silver') || !s.pcs.ins_gold_allowed) {\r\n return s.pcs.ep_id <= 0\r\n ? 'silver'\r\n : s.pcs.ep_id === 37\r\n ? 'gold'\r\n : s.pcs.ep_id === 1099\r\n ? 'black'\r\n : 'silver';\r\n } else {\r\n return s.pcs.ep_id <= 0\r\n ? 'gold'\r\n : s.pcs.ep_id === 37\r\n ? 'gold'\r\n : s.pcs.ep_id === 1099\r\n ? 'black'\r\n : 'silver';\r\n }\r\n }\r\n\r\n @computed get getImage(): string {\r\n return s.pcs.ep_id === 37\r\n ? 'https://i.diplomaframe.com/images/entities/engravedplate/ep_gold_original_engravedplate.png'\r\n : s.pcs.ep_id === 1099\r\n ? 'https://i.diplomaframe.com/images/entities/engravedplate/ep_black_original_engravedplate.png'\r\n : 'https://i.diplomaframe.com/images/entities/engravedplate/ep_silver_original_engravedplate.png';\r\n }\r\n\r\n render() {\r\n if (!s.ui.show_cust || !s.prod.EngravedPlateStatusID || s.prod.EngravedPlateStatusID < 1) {\r\n return;\r\n }\r\n\r\n const canCollapse =\r\n this.canCollapse && !AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1);\r\n\r\n return (\r\n \r\n \r\n
\r\n
    \r\n {s.prod.EngravedPlateStatusID === 0 && (\r\n
  • This product does not allow an engraved plate
  • \r\n )}\r\n {s.prod.EngravedPlateStatusID === 1 && (\r\n
  • This product requires a gold engraved plate
  • \r\n )}\r\n {s.prod.EngravedPlateStatusID === 2 && (\r\n
  • This product requires a silver engraved plate
  • \r\n )}\r\n {s.prod.EngravedPlateStatusID === 3 && (\r\n
  • This product allows a gold engraved plate
  • \r\n )}\r\n {s.prod.EngravedPlateStatusID === 4 && (\r\n
  • This product allows a silver engraved plate
  • \r\n )}\r\n {s.prod.EngravedPlateStatusID === 5 && (\r\n
  • This product allows a gold or silver engraved plate
  • \r\n )}\r\n {s.prod.EngravedPlateStatusID === 6 && (\r\n
  • This product requires a black engraved plate
  • \r\n )}\r\n {s.prod.EngravedPlateStatusID === 7 && (\r\n
  • This product allows a black engraved plate
  • \r\n )}\r\n
  • Enter up to 30 characters per line
  • \r\n
  • You may have 1, 2, or 3 lines centered on the engraved plate
  • \r\n
  • Dimensions: 3\" X 1\"
  • \r\n
  • \r\n If you do not provide text, a plate will not be included with your\r\n order\r\n
  • \r\n
\r\n
\r\n Example engraved plate:\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Engraved Plate: \r\n {this.getColorText}\r\n
\r\n
\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n
\r\n
\r\n \r\n Engraved Plate\r\n
\r\n
{this.getColorText}
\r\n
\r\n
\r\n {s.pcs.ep_id > 0 && (\r\n \r\n )}\r\n
\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n
\r\n
\r\n {s.prod.EngravedPlateLines > 0 && (\r\n
\r\n {\r\n this.ep1 = e.target.value;\r\n this.ep_change_text();\r\n }}\r\n />\r\n
\r\n )}\r\n {s.prod.EngravedPlateLines > 1 && (\r\n
\r\n {\r\n this.ep2 = e.target.value;\r\n this.ep_change_text();\r\n }}\r\n />\r\n
\r\n )}\r\n {s.prod.EngravedPlateLines > 2 && (\r\n
\r\n {\r\n this.ep3 = e.target.value;\r\n this.ep_change_text();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n\r\n
\r\n {s.prod.EngravedPlateStatusID === 5 && (\r\n
\r\n \r\n
\r\n )}\r\n {s.prod.EngravedPlateStatusID !== 1 &&\r\n s.prod.EngravedPlateStatusID !== 2 &&\r\n s.prod.EngravedPlateStatusID !== 6 && (\r\n
\r\n {(!s.pcs.ep_id || s.pcs.ep_id <= 0) && (\r\n \r\n Add Engraved Plate\r\n \r\n )}\r\n {s.pcs.ep_id > 0 && (\r\n \r\n Remove Engraved Plate\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n\r\n util.modal('modal-sample-ep')}\r\n aria-label=\"View more information about engraved plates\"\r\n aria-haspopup=\"dialog\"\r\n aria-controls='modal-sample-ep'\r\n tabIndex={0}\r\n >\r\n View information about engraved plates\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\n\r\ndeclare var __fast_ship: boolean;\r\ndeclare const window: any;\r\n\r\n@observer\r\nexport default class Glass extends React.Component {\r\n @observable collapsed: boolean = true;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.save = this.save.bind(this);\r\n this.collapseToggle = this.collapseToggle.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount() {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n collapseToggle = async () => {\r\n runInAction(() => {\r\n this.collapsed = !this.collapsed;\r\n });\r\n };\r\n\r\n @action\r\n save = async (id: number) => {\r\n runInAction(() => {\r\n s.ui.update_pricing = true;\r\n s.pcs.glass_id = id;\r\n s.pulse();\r\n });\r\n };\r\n\r\n @computed get canCollapse(): boolean {\r\n return s.pcs.is_caf || window.innerWidth < 960;\r\n }\r\n\r\n render() {\r\n if (!s.ready || !s.ui.show_cust || !s.prod || !s.si || !s.si.IsGlassAllowed) {\r\n return;\r\n }\r\n if (!s.prod.IsFrame) {\r\n return;\r\n }\r\n if (s.prod.ProductID === 70214) {\r\n return;\r\n }\r\n if (s.prod.ProductID === 84054) {\r\n return;\r\n }\r\n\r\n const canCollapse =\r\n this.canCollapse && !AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1);\r\n const standardGlassTitle = (id: number = s.pcs.glass_id) =>\r\n id === 1 && AbTestStore.ABIsVariant(ABTestKeys.product_glass, 1) && 'Basic';\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n {s.prod.AllowGlassID1 === 2 || s.pcs.use_plexi ? 'Plexi' : 'Clear'}{' '}\r\n (Standard{' '}\r\n {s.prod.AllowGlassID1 === 2 || s.pcs.use_plexi\r\n ? 'Plexiglass'\r\n : 'Glass'}\r\n )\r\n
\r\n

\r\n Clear standard{' '}\r\n {s.prod.AllowGlassID1 === 2 || s.pcs.use_plexi\r\n ? 'plexiglass'\r\n : 'glass'}{' '}\r\n blocks 45% of UV light. Use when UV exposure is not a concern.\r\n

\r\n {!AbTestStore.ABIsVariant(ABTestKeys.product_glass, 1) &&\r\n s.prod.AllowGlassID2 > 0 && (\r\n
\r\n
Reflection Control
\r\n

\r\n Matte finish to reduce glare and blocks 45% of UV light.\r\n Diminishes unwanted glare.\r\n

\r\n
\r\n )}\r\n {!AbTestStore.ABIsVariant(ABTestKeys.product_glass, 1) &&\r\n s.prod.AllowGlassID3 > 0 && (\r\n
\r\n
Conservation UV Protection
\r\n

\r\n Blocks up to 99% of UV light. Offers maximum protection\r\n against fading.\r\n

\r\n
\r\n )}\r\n {s.prod.AllowGlassID4 > 0 && (\r\n
\r\n
\r\n Conservation UV + Reflection Control\r\n
\r\n

\r\n Blocks up to 99% of UV light, matte finish reduces glare.\r\n Offers maximum protection against fading and unwanted glare.\r\n

\r\n
\r\n )}\r\n {s.prod &&\r\n s.prod.IsFrame &&\r\n s.prod.ProductID !== 84054 &&\r\n s.prod.ProductID !== 70214 &&\r\n s.prod.AllowGlassID2 > 0 && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {(!s.prod.AllowGlassID2 || s.prod.AllowGlassID2 < 1) && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n \r\n \r\n
\r\n
Why does this frame have plexiglass?
\r\n
\r\n Due to the large size of this frame, we use professional-grade\r\n plexiglass to reduce the possibility of breakage during shipping.\r\n Our high-quality plexi features the same level of document\r\n protection as our standard clear glass, and we also offer upgraded\r\n plexi options for added protection.\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n Glass: \r\n \r\n {s.prod.AllowGlassID1 === 2 || s.pcs.use_plexi\r\n ? 'Plexiglass '\r\n : ''}\r\n {standardGlassTitle() || s.ui.name_glass}\r\n \r\n
\r\n
\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n
\r\n
\r\n \r\n Glass\r\n
\r\n
\r\n {standardGlassTitle() || s.ui.name_glass}\r\n
\r\n
\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {s.glass\r\n .filter(\r\n m =>\r\n ((s.prod.IsCAF && m.id !== 2) ||\r\n m.id === 1 ||\r\n (m.id === 2 && s.prod.AllowGlassID2 > 0) ||\r\n (m.id === 3 && s.prod.AllowGlassID3 > 0) ||\r\n (m.id === 4 && s.prod.AllowGlassID4 > 0)) &&\r\n (!AbTestStore.ABIsVariant(\r\n ABTestKeys.product_glass,\r\n 1,\r\n ) ||\r\n (AbTestStore.ABIsVariant(\r\n ABTestKeys.product_glass,\r\n 1,\r\n ) &&\r\n m.id !== 2 &&\r\n m.id !== 3)),\r\n )\r\n .map(m => {\r\n if (\r\n !AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)\r\n ) {\r\n return (\r\n this.save(m.id)}\r\n role=\"option\"\r\n tabIndex={0}\r\n >\r\n
\r\n {standardGlassTitle(m.id) || m.title}{' '}\r\n {m.price}\r\n {s.__fast_ship_orig &&\r\n s.isRetail &&\r\n m.id === 1 && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n );\r\n } else if (\r\n AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)\r\n ) {\r\n return (\r\n this.save(m.id)}\r\n role=\"option\"\r\n tabIndex={0}\r\n >\r\n
\r\n \r\n {standardGlassTitle(m.id) || m.title}{' '}\r\n \r\n {m.price}\r\n {s.__fast_ship_orig &&\r\n s.isRetail &&\r\n m.id === 1 && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n );\r\n }\r\n })}\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n {(s.prod.AllowGlassID1 === 2 || s.pcs.use_plexi) && (\r\n util.modal('modal-plexi-info')}\r\n tabIndex={0}\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"modal-plexi-info\"\r\n >\r\n Why does this frame have plexiglass?{' '}\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n util.modal('modal-glass')}\r\n aria-label=\"Open information about glass options\"\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"modal-glass\"\r\n >\r\n Learn more\r\n {' '}\r\n about our document protection options.\r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport * as data from '../data';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\n\r\ndeclare var __portal: IPortalSettings;\r\n\r\n@observer\r\nexport default class GradYear extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.save = this.save.bind(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n save = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n s.pcs.grad_year = e.target.value;\r\n });\r\n };\r\n\r\n render() {\r\n if (!s.pcs.is_caf || !s.ui.show_cust || !s.ui.show_grad_year) {\r\n return (\r\n \r\n \r\n
\r\n
Why Do You Need My Graduation Year?
\r\n

\r\n Knowing your class year will ensure we custom-build your frame to\r\n the correct specifications. Over time, Institutions may change the\r\n dimensions of their certificates, so knowing the exact year you\r\n graduated will ensure you receive the correct frame size. Rest\r\n assured, the class year you provide is for reference only and will\r\n not appear anywhere on your diploma frame.\r\n

\r\n
Any questions?
\r\n

\r\n Reach out to our friendly customer service team at\r\n {__portal.CustomerServiceEmail}, through our Live Chat service, or\r\n you can reach us M-F 8:30 am - 5 pm Eastern at{' '}\r\n {__portal.CustomerServicePhone}.\r\n

\r\n
\r\n \r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n \r\n Graduation Year:\r\n \r\n \r\n \r\n util.modal('modal-grad-year')}\r\n aria-label=\"Open information about the graduation year for this product\"\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"modal-grad-year\"\r\n />\r\n \r\n (if available)\r\n \r\n
\r\n \r\n )}\r\n\r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n
\r\n \r\n Graduation Year (if available):\r\n \r\n util.modal('modal-grad-year')}\r\n aria-label=\"Open information about the graduation year for this product\"\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"modal-grad-year\"\r\n />\r\n
\r\n \r\n \r\n )}\r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n \r\n );\r\n } else {\r\n return
;\r\n }\r\n }\r\n}\r\n","import React from 'react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport axios from 'axios';\r\nimport ReactCrop, {centerCrop, Crop, makeAspectCrop, PixelCrop} from 'react-image-crop';\r\nimport 'react-image-crop/dist/ReactCrop.css';\r\nimport {action, computed, makeObservable, observable, runInAction} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\n\r\nconst centerAspectCrop = (width: number, height: number, aspect: number) => {\r\n return centerCrop(\r\n makeAspectCrop(\r\n {\r\n unit: '%',\r\n width: 100,\r\n },\r\n aspect,\r\n width,\r\n height,\r\n ),\r\n width,\r\n height,\r\n );\r\n};\r\n\r\ndeclare var __fiu: string;\r\n\r\ninterface IImageResult {\r\n hash: string;\r\n w: number;\r\n h: number;\r\n}\r\n\r\n@observer\r\nexport default class ImageUploadCopy extends React.Component {\r\n @observable file: File;\r\n @observable clicked: boolean;\r\n @observable reso_level: number;\r\n @observable imgSrc: string;\r\n @observable aspect: number;\r\n @observable crop: Crop | undefined;\r\n @observable completedCrop: PixelCrop;\r\n @observable imgRef: React.RefObject = React.createRef();\r\n\r\n constructor(props) {\r\n super(props);\r\n this.clicked = false;\r\n this.reso_level = 0;\r\n this.save = this.save.bind(this);\r\n this.centerCrop = this.centerCrop.bind(this);\r\n this.selectFile = this.selectFile.bind(this);\r\n this.createCroppedImage = this.createCroppedImage.bind(this);\r\n makeObservable(this);\r\n\r\n document.addEventListener('modal-closed', (event: CustomEvent) => {\r\n try {\r\n if (event && event.detail === 'modal-image-crop') {\r\n runInAction(() => {\r\n const fileInput: HTMLInputElement | null =\r\n document.querySelector('#fileInput');\r\n if (fileInput) {\r\n fileInput.value = '';\r\n }\r\n });\r\n }\r\n } catch (mcerr) {\r\n console.error(mcerr);\r\n }\r\n });\r\n }\r\n\r\n @computed get canUpload(): boolean {\r\n return this.clicked;\r\n }\r\n\r\n @action\r\n async save(event: React.FormEvent) {\r\n event.preventDefault();\r\n this.reso_level = 0;\r\n s.ui.image_uploaded = false;\r\n s.ui.image_uploading = true;\r\n s.ui.image_uploaded_msg = '';\r\n s.ui.processing_title = 'Image Uploading';\r\n s.ui.processing_text = 'Please stay on this page until your image is done uploading.';\r\n\r\n const url = '/api/img/event';\r\n const formData = new FormData(event.currentTarget);\r\n formData.append('file', this.file);\r\n formData.append('fileName', this.file.name);\r\n formData.append('doc_width', s.pcs.docWidth.toString());\r\n formData.append('doc_height', s.pcs.docHeight.toString());\r\n formData.append('fiu', __fiu);\r\n\r\n const token: HTMLInputElement | null = document.querySelector(\r\n 'input[name=\"__RequestVerificationToken\"]',\r\n );\r\n const config = {\r\n headers: {\r\n RequestVerificationToken: token?.value,\r\n },\r\n };\r\n\r\n axios\r\n .post(url, formData, config)\r\n .then(response => {\r\n var ir: IImageResult = response.data;\r\n console.log(ir);\r\n\r\n runInAction(() => {\r\n if (ir.hash.includes('error') || ir.hash.length !== 32) {\r\n s.ui.image_uploaded = false;\r\n s.ui.image_uploaded_msg =\r\n 'Error uploading image. Please try again or contact customer service.';\r\n this.reso_level = 0;\r\n console.log('img error', s.ui.image_uploaded_msg);\r\n } else {\r\n s.ppi_w_actual = ir.w;\r\n s.ppi_h_actual = ir.h;\r\n\r\n if (this.reso_level < 2) {\r\n console.log('showing');\r\n s.ui.image_uploaded = true;\r\n s.ui.image_uploaded_msg = '';\r\n s.pcs.image_upload_hash3 = ir.hash;\r\n s.pcs.override_d1_img = `https://chc-upload.s3.amazonaws.com/d/${ir.hash}.png`;\r\n s.ui.update_pricing = true;\r\n }\r\n }\r\n this.forceUpdate();\r\n s.ui.image_uploading = false;\r\n });\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n s.ui.image_uploading = false;\r\n })\r\n .finally(() => {\r\n s.ui.image_uploading = false;\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n s.pulse();\r\n this.forceUpdate();\r\n });\r\n }\r\n\r\n @action\r\n createCroppedImage(crop: PixelCrop) {\r\n if (this.imgRef.current && crop.width && crop.height) {\r\n const {naturalWidth, naturalHeight, width, height} = this.imgRef.current;\r\n const canvas = document.createElement('canvas');\r\n const scaleX = naturalWidth / width;\r\n const scaleY = naturalHeight / height;\r\n canvas.width = crop.width;\r\n canvas.height = crop.height;\r\n const ctx = canvas.getContext('2d');\r\n\r\n if (!ctx) {\r\n return;\r\n }\r\n\r\n ctx.drawImage(\r\n this.imgRef.current,\r\n crop.x * scaleX,\r\n crop.y * scaleY,\r\n crop.width * scaleX,\r\n crop.height * scaleY,\r\n 0,\r\n 0,\r\n crop.width,\r\n crop.height,\r\n );\r\n\r\n canvas.toBlob(blob => {\r\n if (!blob) {\r\n return;\r\n }\r\n this.file = new File([blob], this.file.name, {type: this.file.type});\r\n });\r\n this.completedCrop = crop;\r\n }\r\n }\r\n\r\n\r\n @action\r\n clear = async event => {\r\n event.preventDefault();\r\n s.ui.image_uploaded = false;\r\n s.ui.image_uploaded_msg = '';\r\n s.pcs.image_upload_hash3 = '';\r\n s.pcs.override_d1_img = '';\r\n s.ui.image_uploading = false;\r\n this.reso_level = 0;\r\n s.ui.image_uploading = false;\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n\r\n runInAction(() => {\r\n s.ui.image_uploaded = false;\r\n s.ui.image_uploaded_msg = '';\r\n s.pcs.image_upload_hash3 = '';\r\n s.pcs.override_d1_img = '';\r\n s.ui.image_uploading = false;\r\n this.reso_level = 0;\r\n s.ui.image_uploading = false;\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n s.pulse();\r\n this.forceUpdate();\r\n });\r\n\r\n s.pulse();\r\n this.forceUpdate();\r\n };\r\n\r\n\r\n @action\r\n selectFile(e: React.ChangeEvent) {\r\n if (e.target.files && e.target.files.length) {\r\n this.file = e.target.files[0];\r\n this.imgSrc = '';\r\n this.clicked = true;\r\n util.modal('modal-image-crop');\r\n runInAction(() => {\r\n this.clicked = true;\r\n this.forceUpdate();\r\n });\r\n this.crop = undefined;\r\n const reader = new FileReader();\r\n reader.addEventListener('load', () =>\r\n runInAction(() => {\r\n this.imgSrc = reader.result?.toString() || '';\r\n }),\r\n );\r\n reader.readAsDataURL(this.file);\r\n }\r\n }\r\n\r\n @action\r\n centerCrop(e: React.SyntheticEvent) {\r\n this.aspect = s.pcs.docWidth / s.pcs.docHeight;\r\n if (this.aspect) {\r\n const {width, height} = e.currentTarget;\r\n this.crop = centerAspectCrop(width, height, this.aspect);\r\n }\r\n }\r\n\r\n render() {\r\n if (!s.pcs.is_caf || !s.ui.show_cust || !s.ui.show_grad_year) {\r\n return (\r\n
\r\n
\r\n

{s.prod.DocType} Upload

\r\n
\r\n {!s.ui.image_uploaded && }\r\n {s.ui.image_uploaded && (\r\n \r\n Remove\r\n \r\n )}\r\n
\r\n
\r\n \r\n
\r\n

Please crop the image first before proceeding.

\r\n
\r\n {!!this.imgSrc && (\r\n \r\n (this.crop = percentCrop)\r\n }\r\n onComplete={crop => this.createCroppedImage(crop)}\r\n crop={this.crop}\r\n aspect={this.aspect}\r\n minHeight={100}\r\n >\r\n \r\n \r\n )}\r\n \r\n {!!this.completedCrop && this.canUpload && (\r\n \r\n Upload\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n {!s.ui.image_uploaded && s.ui.image_uploaded_msg !== '' && (\r\n
\r\n
\r\n

\r\n Upload {s.prod.DocType} Image\r\n

\r\n

{s.ui.image_uploaded_msg}

\r\n
\r\n
\r\n )}\r\n\r\n {this.reso_level === 2 && (\r\n
\r\n
\r\n

\r\n Image Resolution Error\r\n

\r\n

\r\n A minimum resolution of {s.ppi_w}x{s.ppi_h} pixels is\r\n required for this frame. This baseline ensures that your\r\n photos maintain a basic level of clarity and detail when\r\n printed. For an enhanced visual experience, we strongly\r\n recommend uploading images with a resolution of at least{' '}\r\n {s.ppi_w_max}x{s.ppi_h_max} pixels. Higher resolution images\r\n allow for finer details to be captured and displayed,\r\n resulting in a more vibrant and lifelike print. The\r\n resolution of the image uploaded is {s.ppi_w_actual}x\r\n {s.ppi_h_actual}.\r\n

\r\n
\r\n
\r\n )}\r\n\r\n {this.reso_level === 1 && (\r\n
\r\n
\r\n

\r\n Image Resolution\r\n

\r\n

\r\n Your photo has the basic level of clarity and detail when\r\n printed. However, for an enhanced visual experience, we\r\n strongly recommend uploading images with a resolution of at\r\n least {s.ppi_w_max}x{s.ppi_h_max} pixels. Higher resolution\r\n images allow for finer details to be captured and displayed,\r\n resulting in a more vibrant and lifelike print. The\r\n resolution of the image uploaded is {s.ppi_w_actual}x\r\n {s.ppi_h_actual}.\r\n

\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n

\r\n Image Resolution / Size\r\n

\r\n

\r\n A minimum resolution of {s.ppi_w}x{s.ppi_h} pixels is required\r\n for this frame. This baseline ensures that your photos maintain\r\n a basic level of clarity and detail when printed. For an\r\n enhanced visual experience, we strongly recommend uploading\r\n images with a resolution of at least {s.ppi_w_max}x{s.ppi_h_max}{' '}\r\n pixels. Higher resolution images allow for finer details to be\r\n captured and displayed, resulting in a more vibrant and lifelike\r\n print.\r\n

\r\n {s.si.UploadFee > 0 && (\r\n

\r\n A printing fee of {util.currency(s.si.UploadFee)} will be\r\n added to the item upon upload.\r\n

\r\n )}\r\n
\r\n \r\n util.modal('modal-image-crop-info')}\r\n role=\"button\"\r\n aria-label=\"View information about Image Size, Cropping and Aspect Ratio\"\r\n style={{fontSize: '0.875rem'}}\r\n tabIndex={0}\r\n aria-haspopup=\"dialog\"\r\n aria-controls='modal-image-crop-info'\r\n >\r\n Image size, cropping and aspect ratio\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport * as data from '../data';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport {InsigniaCustomization} from '../i';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\n\r\n@observer\r\nexport default class Insignia extends React.Component {\r\n @observable init_ins: boolean = false;\r\n @observable orig_ins_name: string = '';\r\n @observable collapsed: boolean = true;\r\n @observable collapsed_number: number = 4;\r\n @observable fpc_id: number = -1;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.initInsignia = this.initInsignia.bind(this);\r\n this.orig = this.orig.bind(this);\r\n this.save = this.save.bind(this);\r\n this.collapseToggle = this.collapseToggle.bind(this);\r\n this.changeCategory = this.changeCategory.bind(this);\r\n this.ins_remove = this.ins_remove.bind(this);\r\n if (s.pcs.is_caf) {\r\n this.fpc_id = -2;\r\n }\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => {\r\n this.forceUpdate();\r\n this.collapsed_number = this.getCollapsedNumber();\r\n };\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n getCollapsedNumber() {\r\n if (AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)) {\r\n return 5;\r\n } else {\r\n return 4;\r\n }\r\n }\r\n\r\n @action\r\n initInsignia = async () => {\r\n runInAction(() => {\r\n this.orig_ins_name = JSON.parse(JSON.stringify(s.prod.orig_pcs.Base_InsigniaName));\r\n this.init_ins = true;\r\n });\r\n };\r\n\r\n @action\r\n orig = async () => {\r\n runInAction(() => {\r\n s.pcs.insignia_id = s.prod.InsigniaID;\r\n s.pcs.insignia_base_name = this.orig_ins_name;\r\n s.pcs.insignia_dyf_color = 'gold';\r\n s.pcs.insignia_is_dyf = false;\r\n s.ui.update_pricing = true;\r\n s.ui.doRender = true;\r\n\r\n const m = s.prod.insignias.filter(m => m.id === s.prod.InsigniaID)[0];\r\n s.pcs.insignia_id = m.id;\r\n s.pcs.insignia_base_name = m.name;\r\n s.pcs.insignia_is_dyf = m.isCAF;\r\n s.pcs.insignia_dyf_color = m.ins_color.toLowerCase();\r\n s.ui.name_insignia = m.name.toLowerCase();\r\n s.ui.title_insignia = m.title;\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n\r\n s.pulse();\r\n\r\n if (window.innerWidth < 1200) {\r\n const d = document.getElementById('frame-display') as HTMLDivElement;\r\n d.scrollIntoView();\r\n }\r\n });\r\n };\r\n\r\n @action\r\n save = async (d_i: number) => {\r\n // console.log(d_i);\r\n runInAction(() => {\r\n const m = s.prod.insignias.filter(m => m.id === d_i)[0];\r\n if (m.id === s.prod.InsigniaID) {\r\n this.orig();\r\n return;\r\n }\r\n s.pcs.insignia_id = m.id;\r\n s.pcs.insignia_base_name = m.name;\r\n s.pcs.insignia_is_dyf = m.isCAF;\r\n s.pcs.insignia_dyf_color = m.ins_color.toLowerCase();\r\n s.ui.name_insignia = m.name.toLowerCase();\r\n s.ui.title_insignia = m.title;\r\n s.ui.doRender = true;\r\n s.ui.update_pricing = true;\r\n s.pulse();\r\n\r\n if (window.innerWidth < 1200) {\r\n const d = document.getElementById('prod-header') as HTMLDivElement;\r\n d.scrollIntoView();\r\n }\r\n });\r\n };\r\n\r\n @action\r\n collapseToggle = async () => {\r\n runInAction(() => {\r\n this.collapsed = !this.collapsed;\r\n this.collapsed_number = this.collapsed ? this.getCollapsedNumber() : 1000;\r\n });\r\n };\r\n\r\n @action\r\n changeCategory = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n this.fpc_id = parseInt(e.target.value);\r\n });\r\n };\r\n\r\n @action\r\n ins_remove = async (e: any) => {\r\n runInAction(() => {\r\n s.pcs.insignia_id = -1;\r\n s.ui.title_insignia = '';\r\n s.ui.update_pricing = true;\r\n s.ui.doRender = true;\r\n s.pulse();\r\n });\r\n };\r\n\r\n @computed get canCollapse(): boolean {\r\n return s.pcs.is_caf || window.innerWidth < 960;\r\n }\r\n\r\n render() {\r\n if (!s.ui.show_cust || !s.prod || !s.prod.insignias || s.prod.insignias.length <= 1) {\r\n return;\r\n }\r\n if (!this.init_ins) {\r\n this.initInsignia();\r\n }\r\n\r\n const canCollapse =\r\n this.canCollapse && !AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n Insignia: \r\n {s.ui.title_insignia}\r\n
\r\n
\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n
\r\n
\r\n \r\n Insignia\r\n
\r\n
{s.ui.title_insignia}
\r\n
\r\n
\r\n {this.canCollapse &&\r\n this.collapsed &&\r\n s.prod.insignias\r\n .filter(m => m.id === s.pcs.insignia_id)\r\n .map((m: InsigniaCustomization, i: number) => (\r\n \r\n ))}\r\n
\r\n
\r\n \r\n )}\r\n \r\n\r\n \r\n {s.prod.ProductID !== 75593 &&\r\n s.prod.ProductID !== 75595 &&\r\n s.prod.ProductID !== 75591 &&\r\n s.prod.ProductID !== 75589 && (\r\n
\r\n \r\n {s.prod.insignias.filter(m => !m.isCAF).length > 0 && (\r\n \r\n )}\r\n {s.prod.insignias.filter(m => m.isCAF).length > 0 && (\r\n \r\n )}\r\n {s.prod.insignias.filter(m => m.fpc_id === 21).length >\r\n 0 && }\r\n {s.prod.insignias.filter(m => m.fpc_id === 22).length >\r\n 0 && }\r\n {s.prod.insignias.filter(m => m.fpc_id === 23).length >\r\n 0 && }\r\n {s.prod.insignias.filter(m => m.fpc_id === 24).length >\r\n 0 && }\r\n {s.prod.insignias.filter(m => m.fpc_id === 25).length >\r\n 0 && }\r\n {s.prod.insignias.filter(m => m.fpc_id === 26).length >\r\n 0 && }\r\n {s.prod.insignias.filter(m => m.fpc_id === 27).length >\r\n 0 && }\r\n {s.prod.insignias.filter(m => m.fpc_id === 29).length >\r\n 0 && }\r\n {s.prod.insignias.filter(m => m.fpc_id === 40).length >\r\n 0 && }\r\n \r\n
\r\n )}\r\n \r\n {s.prod.insignias\r\n .filter(\r\n m =>\r\n (s.ui.linen &&\r\n !m.title.toLowerCase().includes('embossed')) ||\r\n !s.ui.linen,\r\n )\r\n .filter(\r\n m =>\r\n (m.fpc_id === this.fpc_id || this.fpc_id === -2) &&\r\n ((s.pcs.ins_gold_allowed && m.ins_color === 'gold') ||\r\n (s.pcs.ins_silver_allowed &&\r\n m.ins_color === 'silver') ||\r\n (s.pcs.ins_black_allowed && m.ins_color === 'black')),\r\n )\r\n .slice(0, this.collapsed_number)\r\n .map((m: InsigniaCustomization, i: number) => (\r\n 1200 ? 'popover' : ''}\r\n data-bs-placement=\"top\"\r\n data-bs-html=\"true\"\r\n data-bs-trigger=\"hover focus\"\r\n data-bs-content={`
\"\"
`}\r\n title={m.title}\r\n role=\"option\"\r\n id={`ins-${m.id}`}\r\n key={m.id}\r\n data-id={m.id}\r\n aria-label={`Select ${m.title} insignia`}\r\n className={`${AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) ? 'product-gray-box ' : ''}cust-entity${s.pcs.insignia_id === m.id ? ' active' : ''}${!this.collapsed ? ' active-bold' : ''}`}\r\n onClick={() => this.save(m.id)}\r\n data-img={`https://i.diplomaframe.com/images/entities/insignia/v2/${m.name.toLowerCase()}_220.png`}\r\n tabIndex={0}\r\n >\r\n \r\n \r\n \r\n \r\n {m.title}\r\n \r\n \r\n ))}\r\n \r\n\r\n {s.prod.insignias.filter(\r\n m =>\r\n (m.fpc_id === this.fpc_id || this.fpc_id === -2) &&\r\n ((s.pcs.ins_gold_allowed && m.ins_color === 'gold') ||\r\n (s.pcs.ins_silver_allowed && m.ins_color === 'silver') ||\r\n (s.pcs.ins_black_allowed && m.ins_color === 'black')),\r\n ).length > 4 && (\r\n m.fpc_id === this.fpc_id).length} insignia`}\r\n role=\"button\"\r\n >\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n <>\r\n {this.collapsed && (\r\n \r\n + View{' '}\r\n {s.prod.insignias.filter(\r\n m =>\r\n (m.fpc_id === this.fpc_id ||\r\n this.fpc_id === -2) &&\r\n ((s.pcs.ins_gold_allowed &&\r\n m.ins_color === 'gold') ||\r\n (s.pcs.ins_silver_allowed &&\r\n m.ins_color === 'silver') ||\r\n (s.pcs.ins_black_allowed &&\r\n m.ins_color === 'black')),\r\n ).length - 4}{' '}\r\n more insignia\r\n \r\n )}\r\n {!this.collapsed && (\r\n \r\n - View less insignia\r\n \r\n )}\r\n \r\n )}\r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n <>\r\n {this.collapsed && (\r\n \r\n View all{' '}\r\n {s.prod.insignias.filter(\r\n m =>\r\n (m.fpc_id === this.fpc_id ||\r\n this.fpc_id === -2) &&\r\n ((s.pcs.ins_gold_allowed &&\r\n m.ins_color === 'gold') ||\r\n (s.pcs.ins_silver_allowed &&\r\n m.ins_color === 'silver') ||\r\n (s.pcs.ins_black_allowed &&\r\n m.ins_color === 'black')),\r\n ).length - 4}{' '}\r\n insignias\r\n \r\n )}\r\n {!this.collapsed && (\r\n \r\n View less insignia\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {((s.pcs.is_caf && s.pcs.insignia_id > 0) ||\r\n (!s.pcs.is_caf && s.prod.InsigniaID < 1 && s.pcs.insignia_id > 0)) && (\r\n \r\n
\r\n \r\n Remove Insignia\r\n \r\n \r\n )}\r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport * as data from '../data';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\n\r\ndeclare var __portal: IPortalSettings;\r\n\r\n@observer\r\nexport default class Lino extends React.Component {\r\n @observable collapsed: boolean = true;\r\n @observable init_linos: boolean = false;\r\n @observable hasCategory1: boolean = false;\r\n @observable hasCategory2: boolean = false;\r\n @observable hasCategory3: boolean = false;\r\n @observable hasCategory4: boolean = false;\r\n @observable orig_lino_name: string = '';\r\n @observable lino_display_name: string = '';\r\n\r\n constructor(props) {\r\n super(props);\r\n this.collapseToggle = this.collapseToggle.bind(this);\r\n this.initLinos = this.initLinos.bind(this);\r\n this.orig = this.orig.bind(this);\r\n this.changeLino = this.changeLino.bind(this);\r\n this.changeLinoColor = this.changeLinoColor.bind(this);\r\n this.lino_remove = this.lino_remove.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n collapseToggle = async () => {\r\n runInAction(() => {\r\n this.collapsed = !this.collapsed;\r\n });\r\n };\r\n\r\n @action\r\n initLinos = async () => {\r\n runInAction(() => {\r\n this.orig_lino_name = JSON.parse(JSON.stringify(s.prod.orig_pcs.Base_LinoName));\r\n this.lino_display_name = this.orig_lino_name;\r\n this.hasCategory1 =\r\n s.prod &&\r\n s.prod.linos &&\r\n s.prod.linos.filter(m => !m.isBase && m.dyf_custom_lino_type_id === 1).length > 0;\r\n this.hasCategory2 =\r\n s.prod &&\r\n s.prod.linos &&\r\n s.prod.linos.filter(m => !m.isBase && m.dyf_custom_lino_type_id === 2).length > 0;\r\n this.hasCategory3 =\r\n s.prod &&\r\n s.prod.linos &&\r\n s.prod.linos.filter(m => !m.isBase && m.dyf_custom_lino_type_id === 3).length > 0;\r\n this.hasCategory4 =\r\n s.prod &&\r\n s.prod.linos &&\r\n s.prod.linos.filter(m => !m.isBase && m.dyf_custom_lino_type_id === 4).length > 0;\r\n this.init_linos = true;\r\n });\r\n };\r\n\r\n @action\r\n orig = async () => {\r\n runInAction(() => {\r\n // console.log(s.prod.orig_pcs.Base_LinoName);\r\n s.pcs.lino_id = s.prod.LinoID;\r\n // console.log(this.orig_lino_name);\r\n s.pcs.lino_base_name = this.orig_lino_name;\r\n s.pcs.lino_dyf_color = 'Gold';\r\n s.pcs.lino_is_dyf = false;\r\n s.pcs.ep_id = 0;\r\n s.ui.update_pricing = true;\r\n s.ui.doRender = true;\r\n this.lino_display_name = this.orig_lino_name;\r\n s.pulse();\r\n });\r\n };\r\n\r\n @action\r\n changeLino = async (\r\n dyf_custom_lino_type_id: number,\r\n e: React.ChangeEvent,\r\n ) => {\r\n runInAction(() => {\r\n const m = s.prod.linos.filter(\r\n m =>\r\n !m.isBase &&\r\n m.dyf_custom_lino_type_id === dyf_custom_lino_type_id &&\r\n m.id === parseInt(e.target.value, 10),\r\n )[0];\r\n\r\n if (m) {\r\n s.pcs.lino_base_name = m.name;\r\n s.pcs.lino_text = m.name;\r\n s.pcs.lino_is_dyf = true;\r\n s.pcs.lino_id = m.id;\r\n s.pcs.ep_id = 0;\r\n this.lino_display_name = m.title;\r\n console.log(m.id);\r\n }\r\n s.ui.update_pricing = true;\r\n s.ui.doRender = true;\r\n\r\n const f1 = document.getElementById('lino-dyf-1');\r\n const f2 = document.getElementById('lino-dyf-2');\r\n const f3 = document.getElementById('lino-dyf-3');\r\n const f4 = document.getElementById('lino-dyf-4');\r\n\r\n if (f1 && m && m.dyf_custom_lino_type_id !== 1) {\r\n f1.getElementsByTagName('option')[0].selected = true;\r\n }\r\n if (f2 && m && m.dyf_custom_lino_type_id !== 2) {\r\n f2.getElementsByTagName('option')[0].selected = true;\r\n }\r\n if (f3 && m && m.dyf_custom_lino_type_id !== 3) {\r\n f3.getElementsByTagName('option')[0].selected = true;\r\n }\r\n if (f4 && m && m.dyf_custom_lino_type_id !== 4) {\r\n f4.getElementsByTagName('option')[0].selected = true;\r\n }\r\n\r\n if (!s.pcs.lino_dyf_color || s.pcs.lino_dyf_color === '') {\r\n if (s.pcs.ins_gold_allowed) {\r\n s.pcs.lino_dyf_color = 'gold';\r\n } else if (s.pcs.ins_silver_allowed) {\r\n s.pcs.lino_dyf_color = 'silver';\r\n } else if (s.pcs.ins_black_allowed) {\r\n s.pcs.lino_dyf_color = 'black';\r\n }\r\n }\r\n\r\n s.pulse();\r\n\r\n if (window.innerWidth < 1200) {\r\n const d = document.getElementById('prod-header') as HTMLDivElement;\r\n d.scrollIntoView();\r\n }\r\n });\r\n };\r\n\r\n @action\r\n changeLinoProd = async (_id: number) => {\r\n runInAction(() => {\r\n const m = s.prod.linos.filter(m => m.id === _id)[0];\r\n if (m) {\r\n s.pcs.lino_base_name = m.name;\r\n s.pcs.lino_is_dyf = false;\r\n s.pcs.lino_id = m.id;\r\n s.pcs.lino_text = m.name;\r\n s.pcs.ep_id = 0;\r\n this.lino_display_name = m.title;\r\n }\r\n s.ui.update_pricing = true;\r\n s.ui.doRender = true;\r\n s.pulse();\r\n\r\n if (window.innerWidth < 1200) {\r\n const d = document.getElementById('prod-header') as HTMLDivElement;\r\n d.scrollIntoView();\r\n }\r\n });\r\n };\r\n\r\n @computed get canCollapse(): boolean {\r\n return s.pcs.is_caf || window.innerWidth < 960;\r\n }\r\n\r\n @computed get getOptionsCount(): number {\r\n let i = s.pcs.ins_gold_allowed ? 1 : 0;\r\n i += s.pcs.ins_black_allowed ? 1 : 0;\r\n i += s.pcs.ins_silver_allowed ? 1 : 0;\r\n return i;\r\n }\r\n\r\n @action\r\n changeLinoColor = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n s.pcs.lino_dyf_color = e.target.value.toString().trim().toLowerCase();\r\n s.ui.update_pricing = true;\r\n s.ui.doRender = true;\r\n s.pulse();\r\n });\r\n };\r\n\r\n @action\r\n lino_remove = async (e: any) => {\r\n runInAction(() => {\r\n s.pcs.lino_id = -1;\r\n const f1 = document.getElementById('lino-dyf-1');\r\n const f2 = document.getElementById('lino-dyf-2');\r\n const f3 = document.getElementById('lino-dyf-3');\r\n const f4 = document.getElementById('lino-dyf-4');\r\n\r\n if (f1) {\r\n f1.getElementsByTagName('option')[0].selected = true;\r\n }\r\n if (f2) {\r\n f2.getElementsByTagName('option')[0].selected = true;\r\n }\r\n if (f3) {\r\n f3.getElementsByTagName('option')[0].selected = true;\r\n }\r\n if (f4) {\r\n f4.getElementsByTagName('option')[0].selected = true;\r\n }\r\n s.ui.update_pricing = true;\r\n s.ui.doRender = true;\r\n s.pulse();\r\n });\r\n };\r\n\r\n async handleLinoDropdown(id: string) {\r\n if (id === '-1') {\r\n await this.orig();\r\n } else {\r\n await this.changeLinoProd(+id);\r\n }\r\n }\r\n\r\n render() {\r\n if (!s.ui.show_cust || !s.prod || !s.prod.linos) {\r\n return;\r\n }\r\n if (!this.init_linos) {\r\n this.initLinos();\r\n }\r\n\r\n const canCollapse =\r\n this.canCollapse && !AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n Embossed Text: \r\n {s.prod.IsCAF && (\r\n {s.pcs.lino_id > 0 ? s.pcs.lino_base_name : ''}\r\n )}\r\n {!s.prod.IsCAF && (\r\n \r\n {s.pcs.lino_id === s.prod.LinoID\r\n ? 'Original'\r\n : s.pcs.lino_id > 0\r\n ? this.lino_display_name\r\n : ''}\r\n \r\n )}\r\n
\r\n \r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n
\r\n
\r\n \r\n Embossed Text\r\n
\r\n
\r\n {s.pcs.lino_id > 0 ? 'Embossed Text' : ''}\r\n
\r\n
\r\n
\r\n {this.canCollapse &&\r\n this.collapsed &&\r\n s.pcs.lino_id > 0 && (\r\n \r\n )}\r\n
\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n {this.getOptionsCount > 1 &&\r\n s.prod.LinoID !== s.pcs.lino_id &&\r\n (!s.prod.linos || s.prod.linos.length < 2 || s.pcs.is_caf) &&\r\n s.prod.ProductID !== 75593 &&\r\n s.prod.ProductID !== 75595 &&\r\n s.prod.ProductID !== 75591 &&\r\n s.prod.ProductID !== 75589 && (\r\n
\r\n
\r\n \r\n {s.pcs.ins_black_allowed && (\r\n \r\n )}\r\n {s.pcs.ins_gold_allowed && (\r\n \r\n )}\r\n {s.pcs.ins_silver_allowed && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n )}\r\n\r\n {this.getOptionsCount > 1 &&\r\n s.prod.LinoID !== s.pcs.lino_id &&\r\n s.prod.linos.length < 3 &&\r\n s.prod.ProductID !== 75593 &&\r\n s.prod.ProductID !== 75595 &&\r\n s.prod.ProductID !== 75591 &&\r\n s.prod.ProductID !== 75589 &&
}\r\n\r\n \r\n {s.prod.LinoID > 0 && s.prod.linos.length < 3 && (\r\n \r\n {__portal.PortalID === 0 ? 'Original' : 'Select your program'}\r\n \r\n )}\r\n\r\n {s.prod.linos.length === 2 &&\r\n s.prod.linos\r\n .filter(m => !m.isBase && !m.isCAF)\r\n .map((m, i) => (\r\n this.changeLinoProd(m.id)}\r\n aria-label={`Select ${m.title} embossed text`}\r\n tabIndex={0}\r\n >\r\n {m.title.replace(s.si.InstName, '').trim()}\r\n \r\n ))}\r\n\r\n {!s.prod.IsCAF && s.prod.linos.length > 2 && (\r\n \r\n this.handleLinoDropdown(e.target.value)}\r\n >\r\n \r\n {__portal.PortalID === 0 ? 'Original' : 'Select your program'}\r\n \r\n {s.prod.linos\r\n .filter(m => !m.isBase && !m.isCAF)\r\n .map((m, i) => (\r\n \r\n {m.title.replace(s.si.InstName, '').trim()}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n\r\n {this.hasCategory1 && (\r\n
\r\n this.changeLino(1, e)}\r\n >\r\n \r\n School of...\r\n \r\n {s.prod &&\r\n s.prod.linos &&\r\n s.prod.linos\r\n .filter(\r\n m =>\r\n !m.isBase &&\r\n m.dyf_custom_lino_type_id === 1,\r\n )\r\n .map((m, i) => (\r\n \r\n {m.title}\r\n \r\n ))}\r\n \r\n \r\n
\r\n )}\r\n\r\n {this.hasCategory2 && (\r\n
\r\n this.changeLino(2, e)}\r\n >\r\n \r\n College of...\r\n \r\n {s.prod &&\r\n s.prod.linos &&\r\n s.prod.linos\r\n .filter(\r\n m =>\r\n !m.isBase &&\r\n m.dyf_custom_lino_type_id === 2,\r\n )\r\n .map((m, i) => (\r\n \r\n {m.title}\r\n \r\n ))}\r\n \r\n \r\n
\r\n )}\r\n\r\n {this.hasCategory3 && (\r\n
\r\n this.changeLino(3, e)}\r\n >\r\n \r\n State of...\r\n \r\n {s.prod &&\r\n s.prod.linos &&\r\n s.prod.linos\r\n .filter(\r\n m =>\r\n !m.isBase &&\r\n m.dyf_custom_lino_type_id === 3,\r\n )\r\n .map((m, i) => (\r\n \r\n {m.title}\r\n \r\n ))}\r\n \r\n \r\n
\r\n )}\r\n\r\n {this.hasCategory4 && (\r\n
\r\n this.changeLino(4, e)}\r\n >\r\n \r\n Class of...\r\n \r\n {s.prod &&\r\n s.prod.linos &&\r\n s.prod.linos\r\n .filter(\r\n m =>\r\n !m.isBase &&\r\n m.dyf_custom_lino_type_id === 4,\r\n )\r\n .reverse()\r\n .map((m, i) => (\r\n \r\n {m.title}\r\n \r\n ))}\r\n \r\n \r\n
\r\n )}\r\n\r\n {s.pcs.lino_is_dyf && s.pcs.lino_id > 0 && (\r\n
\r\n
\r\n
\r\n {s.pcs.lino_is_dyf && (\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n\r\n {!s.pcs.lino_is_dyf && s.pcs.lino_id > 0 && (\r\n
\r\n
\r\n
\r\n {!s.pcs.lino_is_dyf && (\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n\r\n {((s.pcs.is_caf && s.pcs.lino_id > 0) ||\r\n (!s.pcs.is_caf && s.pcs.lino_id > 0 && s.prod.LinoID < 1)) && (\r\n \r\n
\r\n \r\n Remove Embossed Text\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport {CAFMat_Customization, MatCustomization} from '../i';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport InfoIcon from './shared/info-icon';\r\n\r\ndeclare const bootstrap: any;\r\ndeclare const window: any;\r\n\r\n@observer\r\nexport default class Mat extends React.Component {\r\n max_mats: number = 6;\r\n max_mats_bg: number = 12;\r\n @observable collapsed: boolean = true;\r\n @observable collapsed_number: number = this.max_mats;\r\n\r\n @observable collapsed_mat2: boolean = true;\r\n @observable collapsed_number_mat2: number = this.max_mats;\r\n\r\n @observable collapsed_mat3: boolean = true;\r\n @observable collapsed_number_mat3: number = this.max_mats_bg;\r\n\r\n @observable fpc_id: number = -2;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.collapseToggle = this.collapseToggle.bind(this);\r\n this.collapseToggle_mat2 = this.collapseToggle_mat2.bind(this);\r\n this.collapseToggle_mat3 = this.collapseToggle_mat3.bind(this);\r\n this.save = this.save.bind(this);\r\n this.changeCategory = this.changeCategory.bind(this);\r\n this.save_vlbg = this.save_vlbg.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => {\r\n this.forceUpdate();\r\n this.max_mats = this.getMaxMats();\r\n this.collapsed_number = this.max_mats;\r\n this.collapsed_number_mat2 = this.max_mats - 1;\r\n this.collapsed_number_mat3 = this.max_mats;\r\n };\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n var popoverTriggerList = [].slice.call(\r\n document.querySelectorAll('[data-bs-toggle=\"popover\"]'),\r\n );\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl);\r\n });\r\n }\r\n\r\n @action\r\n getMaxMats() {\r\n if (AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)) {\r\n return 5;\r\n } else {\r\n return 6;\r\n }\r\n }\r\n\r\n @action\r\n collapseToggle = async () => {\r\n runInAction(() => {\r\n this.collapsed = !this.collapsed;\r\n this.collapsed_number = this.collapsed ? this.getMaxMats() : 1000;\r\n });\r\n };\r\n\r\n @action\r\n collapseToggle_mat2 = async () => {\r\n runInAction(() => {\r\n this.collapsed_mat2 = !this.collapsed_mat2;\r\n this.collapsed_number_mat2 = this.collapsed_mat2 ? this.getMaxMats() - 1 : 1000;\r\n });\r\n };\r\n\r\n @action\r\n collapseToggle_mat3 = async () => {\r\n runInAction(() => {\r\n this.collapsed_mat3 = !this.collapsed_mat3;\r\n this.collapsed_number_mat3 = this.collapsed_mat3 ? this.getMaxMats() : 1000;\r\n });\r\n };\r\n\r\n @action\r\n save = async (id: number) => {\r\n runInAction(() => {\r\n util.prod_entity_zoom_destroy();\r\n if (!s.pcs.is_caf) {\r\n s.ui.update_pricing = true;\r\n s.pcs.matcombo_id = id;\r\n const m = s.prod.mats.filter(x => x.id === id)[0];\r\n s.pcs.mat1_id = m.mat1_id;\r\n s.pcs.mat2_id = m.mat2_id;\r\n s.pcs.mat1_color = m.pmat_color;\r\n s.pcs.mat2_color = m.smat_color;\r\n s.pcs.ins_gold_allowed = m.ins_gold_allowed;\r\n s.pcs.ins_silver_allowed = m.ins_silver_allowed;\r\n s.pcs.ins_black_allowed = m.ins_black_allowed;\r\n s.ui.doRender = true;\r\n\r\n if (m) {\r\n s.ui.linen = m.pmat_name.toLowerCase().includes('linen');\r\n }\r\n\r\n if (s.prod.CustomizationMethod === 1 && m.ImageName) {\r\n s.ui.old_style_composite = m.ImageName.toLowerCase();\r\n }\r\n\r\n s.pulse();\r\n } else {\r\n s.ui.update_pricing = true;\r\n const m1 = s.prod.caf_mat1.filter(x => x.id === id)[0];\r\n const m2 = s.prod.caf_mat2.filter(x => x.id === id)[0];\r\n if (m1) {\r\n s.pcs.mat1_id = m1.id;\r\n s.pcs.mat1_color = m1.mat_color;\r\n s.pcs.ins_gold_allowed = m1.ins_gold_allowed;\r\n s.pcs.ins_silver_allowed = m1.ins_silver_allowed;\r\n s.pcs.ins_black_allowed = m1.ins_black_allowed;\r\n\r\n // console.log(m1.name);\r\n // console.log(m1.name.toLowerCase().includes('linen'));\r\n if (m1) {\r\n s.ui.linen = m1.name.toLowerCase().includes('linen');\r\n }\r\n } else if (m2) {\r\n s.pcs.mat2_id = m2.id;\r\n s.pcs.mat2_color = m2.mat_color;\r\n }\r\n\r\n if (id === -1) {\r\n s.pcs.mat2_id = -1;\r\n s.pcs.mat2_color = '';\r\n s.ui.name_mat2 = 'No Inner Accent';\r\n s.ui.color_mat2 = '';\r\n s.ui.title_mat2 = 'No Inner Accent';\r\n }\r\n\r\n s.ui.doRender = true;\r\n s.pulse();\r\n }\r\n\r\n if (window.innerWidth < 1200) {\r\n const d = document.getElementById('prod-header') as HTMLDivElement;\r\n d.scrollIntoView();\r\n }\r\n });\r\n };\r\n\r\n @action\r\n save_vlbg = async (id: number) => {\r\n runInAction(() => {\r\n const m2 = s.prod.caf_mat2.filter(x => x.id === id)[0];\r\n if (m2) {\r\n s.pcs.vlbg_id = id;\r\n s.pcs.vlbg_color = m2.mat_color;\r\n s.ui.title_vlbg = m2.title;\r\n s.ui.doRender = true;\r\n s.pulse();\r\n\r\n if (window.innerWidth < 1200) {\r\n const d = document.getElementById('prod-header') as HTMLDivElement;\r\n d.scrollIntoView();\r\n }\r\n }\r\n });\r\n };\r\n\r\n @action\r\n changeCategory = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n this.fpc_id = parseInt(e.target.value);\r\n });\r\n };\r\n\r\n @computed get canCollapse(): boolean {\r\n return s.pcs.is_caf || window.innerWidth < 960;\r\n }\r\n\r\n render() {\r\n if (!s.ready || !s.ui.show_cust) {\r\n return;\r\n }\r\n\r\n const canCollapse =\r\n this.canCollapse && !AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1);\r\n\r\n if (!s.pcs.is_caf && s.prod.mats) {\r\n if (s.prod.mats.length > 1) {\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Matting: \r\n {s.ui.title_mat_combo}\r\n \r\n
\r\n
\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n
\r\n
\r\n \r\n Matting\r\n \r\n
\r\n
\r\n {s.ui.title_mat_combo}\r\n
\r\n
\r\n
\r\n {this.canCollapse &&\r\n this.collapsed &&\r\n s.prod.mats\r\n .filter(m => m.id === s.pcs.matcombo_id)\r\n .map(\r\n (\r\n m: MatCustomization,\r\n i: number,\r\n ) => (\r\n 0 ? `_${m.mat2_id.toString()}` : ''}.png`}\r\n alt={m.title}\r\n />\r\n ),\r\n )}\r\n
\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {/* .sort((a, b) => this.collapsed ? a.id === s.pcs.moulding_id ? -1 : b.id === s.pcs.moulding_id ? 1 : 0 : 1) */}\r\n {s.prod.mats\r\n .slice(0, 1000)\r\n .slice(0, this.collapsed_number)\r\n .map((m: MatCustomization, i: number) => (\r\n 1200 ? 'popover' : ''\r\n }\r\n data-bs-placement=\"top\"\r\n data-bs-html=\"true\"\r\n data-bs-trigger=\"hover focus\"\r\n data-bs-content={`
0 ? `_${m.mat2_id.toString()}` : ''}.png\" alt=\"\" />
`}\r\n title={m.title}\r\n id={`mat-${m.id}`}\r\n role=\"option\"\r\n key={m.id}\r\n aria-label={`Select ${m.title} mat`}\r\n className={`${AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) ? 'product-gray-box ' : ''}${AbTestStore.ABGetClassName(ABTestKeys.product_mats)}cust-entity${s.pcs.matcombo_id === m.id ? ' active' : ''}${!this.collapsed ? ' active-bold' : ''}`}\r\n onClick={() => this.save(m.id)}\r\n tabIndex={0}\r\n >\r\n \r\n \r\n 0 ? `_${m.mat2_id.toString()}` : ''}.webp`}\r\n />\r\n 0 ? `_${m.mat2_id.toString()}` : ''}.png`}\r\n alt={m.title}\r\n />\r\n \r\n \r\n {!AbTestStore.ABIsVariant(\r\n ABTestKeys.product_mats,\r\n 3,\r\n ) &&
{m.title}
}\r\n {m.mat2_id !== 36 && m.mat2_id !== 38 && (\r\n \r\n )}\r\n {s.__fast_ship_orig &&\r\n s.isRetail &&\r\n s.prod.MatComboID === m.id && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n ))}\r\n \r\n {s.prod.mats.length > this.max_mats && (\r\n \r\n {!AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n <>\r\n {this.collapsed && (\r\n \r\n + View all {s.prod.mats.length} mats\r\n \r\n )}\r\n {!this.collapsed && (\r\n \r\n - View less mats\r\n \r\n )}\r\n \r\n )}\r\n\r\n {AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n <>\r\n {this.collapsed && (\r\n \r\n View all {s.prod.mats.length} mats\r\n \r\n )}\r\n {!this.collapsed && (\r\n \r\n View less mats\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n\r\n \r\n

\r\n Frame mats, or matting, are the decorative borders that surround\r\n your diploma or certificate within the frame, adding depth and\r\n elegance while protecting your document. Our premium mats are made\r\n from \"conservation quality\" materials that are 100% acid- and\r\n lignin-free, ensuring your achievement is preserved safely over time\r\n without yellowing or damage. Professionally bevel-cut for a clean\r\n and polished look, our mats are available in a wide range of colors\r\n and textures, allowing you to customize the style to complement your\r\n document and frame perfectly.\r\n

\r\n \r\n \r\n );\r\n } else {\r\n return;\r\n }\r\n } else {\r\n return (\r\n
\r\n {s.prod.caf_mat1 && (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Top Mat: \r\n {s.ui.title_mat1}\r\n
\r\n
\r\n\r\n {!AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n \r\n
\r\n
\r\n \r\n Top Mat\r\n
\r\n
\r\n {s.ui.title_mat1}\r\n
\r\n
\r\n
\r\n {this.canCollapse &&\r\n this.collapsed &&\r\n s.prod.caf_mat1\r\n .filter(m => m.id === s.pcs.mat1_id)\r\n .map(\r\n (\r\n m: CAFMat_Customization,\r\n i: number,\r\n ) => (\r\n \r\n ),\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n \r\n\r\n \r\n
\r\n \r\n {s.prod.caf_mat1.length > 0 && (\r\n \r\n )}\r\n {s.prod.caf_mat1.filter(m => m.fpc_id === 12)\r\n .length > 0 && (\r\n \r\n )}\r\n {s.prod.caf_mat1.filter(m => m.fpc_id === 13)\r\n .length > 0 && (\r\n \r\n )}\r\n {s.prod.caf_mat1.filter(m => m.fpc_id === 14)\r\n .length > 0 && (\r\n \r\n )}\r\n \r\n
\r\n \r\n {s.prod.caf_mat1\r\n .slice(0, 1000)\r\n .filter(\r\n m =>\r\n m.fpc_id === this.fpc_id ||\r\n this.fpc_id === -2,\r\n )\r\n .slice(0, this.collapsed_number)\r\n .map((m: CAFMat_Customization, i: number) => (\r\n 1200\r\n ? 'popover'\r\n : ''\r\n }\r\n data-bs-placement=\"top\"\r\n data-bs-html=\"true\"\r\n data-bs-trigger=\"hover focus\"\r\n data-bs-content={`
\"\"
`}\r\n title={m.title}\r\n id={`mat1-${m.id}`}\r\n role=\"option\"\r\n key={m.id}\r\n aria-label={`Select ${m.title} mat`}\r\n data-img={`https://i.diplomaframe.com/images/entities/matcombos/220_${m.id}.png`}\r\n className={`${AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) ? 'product-gray-box ' : ''}cust-entity${s.pcs.mat1_id === m.id ? ' active' : ''}${!this.collapsed ? ' active-bold' : ''}`}\r\n data-id={m.id}\r\n onClick={() => this.save(m.id)}\r\n >\r\n \r\n \r\n {m.title}\r\n \r\n {s.pcs.mat1_id === m.id && (\r\n 0\r\n ? `#${s.pcs.mat2_color}`\r\n : 'none',\r\n }}\r\n />\r\n )}\r\n \r\n ))}\r\n \r\n {s.prod.caf_mat1.length > this.max_mats && (\r\n m.fpc_id === this.fpc_id || this.fpc_id === -2).length} mats`}\r\n role=\"button\"\r\n >\r\n {!AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n <>\r\n {this.collapsed && (\r\n m.fpc_id === this.fpc_id || this.fpc_id === -2).length} mats`}\r\n >\r\n + View all{' '}\r\n {\r\n s.prod.caf_mat1.filter(\r\n m =>\r\n m.fpc_id ===\r\n this.fpc_id ||\r\n this.fpc_id === -2,\r\n ).length\r\n }{' '}\r\n mats\r\n \r\n )}\r\n {!this.collapsed && (\r\n \r\n - View less mats\r\n \r\n )}\r\n \r\n )}\r\n\r\n {AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n <>\r\n {this.collapsed && (\r\n \r\n View all{' '}\r\n {\r\n s.prod.caf_mat1.filter(\r\n m =>\r\n m.fpc_id ===\r\n this.fpc_id ||\r\n this.fpc_id === -2,\r\n ).length\r\n }{' '}\r\n mats\r\n \r\n )}\r\n {!this.collapsed && (\r\n \r\n View less mats\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n \r\n )}\r\n {s.prod.caf_mat2 && (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Inner Accent: \r\n {s.ui.title_mat2}\r\n
\r\n
\r\n\r\n {!AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n \r\n
\r\n
\r\n \r\n Inner Accent\r\n
\r\n
\r\n {s.ui.title_mat2}\r\n
\r\n
\r\n
\r\n {this.canCollapse &&\r\n this.collapsed &&\r\n s.prod.caf_mat2\r\n .filter(m => m.id === s.pcs.mat2_id)\r\n .map(\r\n (\r\n m: CAFMat_Customization,\r\n i: number,\r\n ) => (\r\n \r\n ),\r\n )}\r\n
\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n this.save(-1)}\r\n >\r\n \r\n \r\n No Inner Accent\r\n \r\n {s.pcs.mat2_id === -1 && (\r\n 0\r\n ? `#${s.pcs.mat1_color}`\r\n : 'none',\r\n }}\r\n />\r\n )}\r\n \r\n\r\n {s.prod.caf_mat2\r\n .slice(0, 1000)\r\n .slice(0, this.collapsed_number_mat2)\r\n .map((m: CAFMat_Customization, i: number) => (\r\n 1200\r\n ? 'popover'\r\n : ''\r\n }\r\n data-bs-placement=\"top\"\r\n data-bs-html=\"true\"\r\n data-bs-trigger=\"hover focus\"\r\n data-bs-content={`
\"\"
`}\r\n title={m.title}\r\n id={`mat2-${m.id}`}\r\n role=\"option\"\r\n data-id={m.id}\r\n key={m.id}\r\n aria-label={`Select ${m.title} mat`}\r\n className={`${AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) ? 'product-gray-box ' : ''}cust-entity${s.pcs.mat2_id === m.id ? ' active' : ''}${!this.collapsed_mat2 ? ' active-bold' : ''}`}\r\n onClick={() => this.save(m.id)}\r\n >\r\n \r\n \r\n {m.title}\r\n \r\n {s.pcs.mat2_id === m.id && (\r\n 0\r\n ? `#${s.pcs.mat1_color}`\r\n : 'none',\r\n }}\r\n />\r\n )}\r\n \r\n ))}\r\n \r\n {s.prod.caf_mat2.length > this.max_mats && (\r\n \r\n {!AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n <>\r\n {this.collapsed_mat2 && (\r\n \r\n + View all {s.prod.caf_mat2.length}{' '}\r\n inner accents\r\n \r\n )}\r\n {!this.collapsed_mat2 && (\r\n \r\n - View less inner accents\r\n \r\n )}\r\n \r\n )}\r\n\r\n {AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n <>\r\n {this.collapsed_mat2 && (\r\n \r\n View all {s.prod.caf_mat2.length}{' '}\r\n inner accents\r\n \r\n )}\r\n {!this.collapsed_mat2 && (\r\n \r\n View less inner accents\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n \r\n )}\r\n {s.prod.DYF_FrameStyleID === 4 && (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Background: \r\n {s.ui.title_vlbg}\r\n
\r\n
\r\n\r\n {!AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n \r\n
\r\n
\r\n \r\n Background\r\n
\r\n
\r\n {s.ui.title_vlbg}\r\n
\r\n
\r\n
\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {s.prod.caf_mat2\r\n .slice(0, 1000)\r\n .slice(0, this.collapsed_number_mat3)\r\n .map((m: CAFMat_Customization, i: number) => (\r\n this.save_vlbg(m.id)}\r\n >\r\n \r\n \r\n {m.title}\r\n \r\n {s.pcs.vlbg_id === m.id && (\r\n 0\r\n ? `#${s.pcs.mat1_color}`\r\n : 'none',\r\n }}\r\n />\r\n )}\r\n \r\n ))}\r\n \r\n {s.prod.caf_mat2.length > this.max_mats && (\r\n \r\n {!AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n <>\r\n {this.collapsed_mat3 && (\r\n \r\n + View all {s.prod.caf_mat2.length}{' '}\r\n backgrounds\r\n \r\n )}\r\n {!this.collapsed_mat3 && (\r\n \r\n - View less backgrounds\r\n \r\n )}\r\n \r\n )}\r\n\r\n {AbTestStore.ABIsVariant(\r\n ABTestKeys.ab_green_product,\r\n 1,\r\n ) && (\r\n <>\r\n {this.collapsed_mat3 && (\r\n \r\n View all {s.prod.caf_mat2.length}{' '}\r\n backgrounds\r\n \r\n )}\r\n {!this.collapsed_mat3 && (\r\n \r\n View less backgrounds\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport ModalSimple from '../../../global/modal-simple';\r\nimport * as util from '../../../util';\r\n\r\n@observer\r\nclass LevelLockModal extends React.Component {\r\n render() {\r\n return (\r\n <>\r\n util.modal('modal-level-lock')}\r\n aria-label=\"Open information about Level-Lock Frame Hanging System\"\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"modal-level-lock\"\r\n >\r\n Level-Lock Frame Hanging System\r\n \r\n\r\n \r\n
\r\n

\r\n The Level-Lock® Hanging System is the ultimate\r\n solution for professionally hanging your framed documents, art, and wall\r\n decor with ease and precision. Included with every premium diploma frame\r\n or custom frame from Design Your Frame, Level-Lock® ensures your\r\n frames stay securely in place and perfectly straight. This innovative\r\n system eliminates the frustration of crooked or misaligned frames,\r\n giving you the confidence to create a polished and professional look\r\n every time.\r\n

\r\n

\r\n Whether you’re showcasing a single diploma or creating a stunning\r\n gallery wall of awards, certificates, and artwork, Level-Lock® makes\r\n it simple to align multiple frames and achieve an eye-catching\r\n arrangement. Each system comes with all the tools you need for accurate,\r\n even hanging, so you can transform your home or office into a space that\r\n celebrates your achievements and personal style. With Level-Lock®,\r\n hanging your frames is not just easier—it’s better!\r\n

\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n Level-Lock Frame Hanging System\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default LevelLockModal;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport ModalSimple from '../../../global/modal-simple';\r\nimport * as util from '../../../util';\r\n\r\n@observer\r\nclass SmartBoxModal extends React.Component {\r\n render() {\r\n return (\r\n <>\r\n util.modal('modal-smart-box')}\r\n aria-label=\"Open information about SMARTbox package\"\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"modal-smart-box\"\r\n >\r\n SMARTbox package\r\n \r\n\r\n \r\n
\r\n

\r\n The SMARTbox is a cutting-edge packaging solution\r\n designed to make receiving, managing, and transporting your diploma\r\n frame as seamless as possible. Introduced by Church Hill Classics, this\r\n innovative ship-ready box combines durability and functionality,\r\n ensuring your frame arrives in pristine condition. With a built-in carry\r\n handle, the SMARTbox offers convenience for walk-out sales and easy\r\n transportation, making it perfect for both customers and retailers.\r\n

\r\n

\r\n Available for over 95% of our diploma frame sizes and styles, the\r\n SMARTbox is more than just packaging—it’s a streamlined solution for\r\n previewing frames, inventory management, and secure shipping. Whether\r\n you're purchasing a frame for yourself or as a gift, the SMARTbox\r\n ensures a professional and hassle-free experience from start to finish.\r\n

\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n SMARTbox package\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default SmartBoxModal;\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../../s';\r\nimport * as util from '../../../util';\r\nimport {MouldingCustomization} from '../../i';\r\nimport {statevent} from '../../api';\r\nimport RecycledIcon from './recycled-icon';\r\nimport ReactDOMServer from 'react-dom/server';\r\nimport * as emitter from '../../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../../global/store/ab-test.store';\r\nimport ModalSimple from '../../../global/modal-simple';\r\nimport InfoIcon from '../shared/info-icon';\r\n\r\ndeclare const bootstrap: any;\r\ndeclare const window: any;\r\n\r\n@observer\r\nexport default class Moulding extends React.Component {\r\n @observable collapsed: boolean = true;\r\n @observable collapsed_number: number = 6;\r\n @observable finishes: string[] = [];\r\n @observable selected_finish: string = '-1';\r\n\r\n constructor(props) {\r\n super(props);\r\n this.collapseToggle = this.collapseToggle.bind(this);\r\n this.save = this.save.bind(this);\r\n this.changeColor = this.changeColor.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => {\r\n this.forceUpdate();\r\n this.collapsed_number = this.getCollapsedNumber();\r\n };\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n var popoverTriggerList = [].slice.call(\r\n document.querySelectorAll('[data-bs-toggle=\"popover\"]'),\r\n );\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n bootstrap.Popover.Default.allowList['*'].push('style');\r\n return new bootstrap.Popover(popoverTriggerEl);\r\n });\r\n\r\n // console.log(s.prod.mouldings);\r\n const _all = s.prod.mouldings\r\n .filter(x => x.fpc_name && x.fpc_name !== '')\r\n .map(x => x.fpc_name);\r\n this.finishes = [...new Set(_all)].sort();\r\n // console.log(this.finishes);\r\n }\r\n\r\n @action\r\n getCollapsedNumber() {\r\n if (AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)) {\r\n return 5;\r\n } else {\r\n return 6;\r\n }\r\n }\r\n\r\n @action\r\n collapseToggle = async () => {\r\n runInAction(() => {\r\n this.collapsed = !this.collapsed;\r\n this.collapsed_number = this.collapsed ? this.getCollapsedNumber() : 1000;\r\n setTimeout(function () {\r\n let popoverTriggerList = [].slice.call(\r\n document.querySelectorAll('[data-bs-toggle=\"popover\"]'),\r\n );\r\n let popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl);\r\n });\r\n }, 350);\r\n });\r\n };\r\n\r\n @action\r\n save = async (id: number) => {\r\n runInAction(() => {\r\n util.prod_entity_zoom_destroy();\r\n s.ui.update_pricing = true;\r\n s.pcs.moulding_id = id;\r\n const x = s.prod.mouldings.filter(xx => xx.id === id)[0];\r\n if (x) {\r\n s.pcs.moulding_extWidth = x.extWidth;\r\n }\r\n s.pulse();\r\n\r\n if (window.innerWidth < 1200) {\r\n const d = document.getElementById('prod-header') as HTMLDivElement;\r\n d.scrollIntoView();\r\n }\r\n\r\n if (!s.prod.IsCAF && s.isRetail && id !== s.prod.MouldingID) {\r\n statevent({\r\n d1: 'cust_moulding',\r\n d2: s.prod.MouldingID.toString(),\r\n d3: id.toString(),\r\n });\r\n }\r\n });\r\n };\r\n\r\n @action\r\n changeColor = async e => {\r\n this.selected_finish = e.target.value as string;\r\n if (this.selected_finish === '-1') {\r\n this.collapsed_number = this.collapsed ? 6 : 1000;\r\n } else {\r\n this.collapsed_number = 1000;\r\n if (this.collapsed) {\r\n this.collapseToggle();\r\n }\r\n }\r\n };\r\n @computed get canCollapse(): boolean {\r\n return s.pcs.is_caf || window.innerWidth < 960;\r\n }\r\n\r\n render() {\r\n if (!s.ready || !s.ui.show_cust || !s.prod.mouldings) {\r\n return;\r\n }\r\n\r\n const canCollapse =\r\n this.canCollapse && !AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1);\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Frame Moulding: \r\n {s.ui.title_moulding}\r\n \r\n
\r\n
\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n
\r\n
\r\n \r\n Frame Moulding\r\n \r\n
\r\n
{s.ui.title_moulding}
\r\n
\r\n
\r\n {this.canCollapse &&\r\n this.collapsed &&\r\n s.prod.mouldings\r\n .filter(m => m.id === s.pcs.moulding_id)\r\n .map((m: MouldingCustomization, i: number) => (\r\n \r\n ))}\r\n
\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n {s.prod && s.prod.IsCAF && (\r\n
\r\n \r\n \r\n \r\n \r\n {this.finishes.map(x => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n )}\r\n\r\n \r\n {/* .sort((a, b) => this.collapsed ? a.id === s.pcs.moulding_id ? -1 : b.id === s.pcs.moulding_id ? 1 : 0 : 1) */}\r\n {s.prod.mouldings\r\n .filter(\r\n x =>\r\n this.selected_finish === '-1' ||\r\n x.fpc_name === this.selected_finish,\r\n )\r\n .slice(0, 1000)\r\n .slice(0, this.collapsed_number)\r\n .map((m: MouldingCustomization, i: number) => (\r\n 1200 ? 'popover' : ''\r\n }\r\n data-bs-placement=\"top\"\r\n data-bs-html=\"true\"\r\n data-bs-trigger=\"hover focus\"\r\n data-bs-content={`
\"\"${\r\n m.IsRecycled\r\n ? ReactDOMServer.renderToStaticMarkup(\r\n ,\r\n )\r\n : ''\r\n }
`}\r\n id={`moulding-${m.id}`}\r\n key={m.id}\r\n title={m.title}\r\n aria-label={`Select ${m.title} moulding`}\r\n className={`${AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) ? 'product-gray-box ' : ''}cust-entity${s.pcs.moulding_id === m.id ? ' active' : ''}${!this.collapsed ? ' active-bold' : ''}`}\r\n onClick={() => this.save(m.id)}\r\n data-img={`https://i.diplomaframe.com/images/entities/moulding/${m.name.toLowerCase()}_thumb_270.png`}\r\n role=\"option\"\r\n tabIndex={0}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n {m.IsRecycled != undefined && m.IsRecycled && (\r\n \r\n )}\r\n {/* \"\"`} place=\"top\" offset={0} /> */}\r\n {s.__fast_ship_orig &&\r\n s.isRetail &&\r\n s.prod.MouldingID === m.id && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n ))}\r\n \r\n {s.prod.mouldings.length >= 6 && (\r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n <>\r\n {this.collapsed && (\r\n \r\n View all {s.prod.mouldings.length} mouldings\r\n \r\n )}\r\n {!this.collapsed && (\r\n \r\n View less mouldings\r\n \r\n )}\r\n \r\n )}\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n <>\r\n {this.collapsed && (\r\n \r\n + View all {s.prod.mouldings.length} mouldings\r\n \r\n )}\r\n {!this.collapsed && (\r\n \r\n - View less mouldings\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
\r\n )}\r\n\r\n \r\n

\r\n A wood frame is a handcrafted border made from high-quality wood\r\n mouldings,designed to beautifully protect and showcase your diploma,\r\n certificate, or special keepsake. Our frames come in a variety of classic\r\n and modern styles, with options ranging from sleek, minimal profiles to\r\n elegant, deep shadowbox designs. Each frame is available in different\r\n finishes and colors, ensuring a perfect match for your decor or personal\r\n taste. Whether you choose a timeless traditional look or a contemporary\r\n design, our wood frames offer durability, sophistication, and exceptional\r\n value, all tailored to highlight your achievement.\r\n

\r\n \r\n \r\n );\r\n }\r\n}\r\n","import {observer} from 'mobx-react';\r\nimport React from 'react';\r\n\r\ninterface RecycleIconProps {\r\n width: number;\r\n top: string;\r\n left: string;\r\n}\r\n\r\n@observer\r\nexport default class RecycledIcon extends React.Component {\r\n constructor(props: RecycleIconProps) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React, {isValidElement} from 'react';\r\nimport {observable, action, computed} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport store from '../s';\r\nimport ModalSimple from '../../global/modal-simple';\r\n\r\n@observer\r\nclass ModalInfo extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {store.ui.processing_title}\r\n
\r\n
\r\n \r\n
\r\n \r\n Please wait\r\n
\r\n
{store.ui.processing_text}
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default ModalInfo;\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport * as data from '../data';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\nimport PromoRedeem from './promo-redeem';\r\nimport LevelLockModal from './modals/level-lock.modal';\r\n\r\ndeclare const __portal: IPortalSettings;\r\n\r\n@observer\r\nclass ProductHeader extends React.Component {\r\n @observable productDescription: string;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.goReviews = this.goReviews.bind(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount() {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n goReviews = async (e: any) => {\r\n runInAction(() => {\r\n const d = document.getElementById('prod-reviews') as HTMLDivElement;\r\n const d2 = document.getElementById('prod-reviews-click') as HTMLDivElement;\r\n d2.click();\r\n setTimeout(function () {\r\n d.scrollIntoView();\r\n }, 100);\r\n });\r\n };\r\n\r\n render() {\r\n if (!s.si) return;\r\n\r\n if (\r\n !s.prod.IsCAF &&\r\n AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) &&\r\n AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)\r\n ) {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(s.si.default_prod_info_static, 'text/html');\r\n const listItems = doc.querySelectorAll('li');\r\n\r\n if (listItems[0].textContent) {\r\n this.productDescription = listItems[0].textContent;\r\n }\r\n }\r\n\r\n const default_render = (\r\n
\r\n
\r\n {s.prod && s.si && (\r\n 100\r\n ? 'h1-xs'\r\n : s.ui.product_title.length > 70\r\n ? 'h1-sm'\r\n : ''\r\n }\r\n >\r\n {s.prod && s.prod.IsCAF ? '' : `${s.si.InstName} `}\r\n {s.ui.product_title}\r\n \r\n )}\r\n
\r\n {!util.isNullOrWhiteSpace(s.ui.sku) && (\r\n SKU: {s.ui.sku}\r\n )}\r\n {!s.pcs.is_caf && Item #: {s.ui.item_id}}\r\n\r\n {s.ui.allow_reviews && s.ui.review_count > 0 && (\r\n \r\n \r\n
\r\n 0 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n 1 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n 2 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n 3 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n 4 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n \r\n ({s.ui.review_count})\r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {s.ui.show_pricing && (\r\n
\r\n {/* {s.ui.msrp > 0 && s.isRetail && s.si.priceMSRPDec !== s.si.Price_Retail && (\r\n \r\n {util.currency_noNegatives(s.ui.msrp)}\r\n \r\n )} */}\r\n {util.currency(s.ui.price)}\r\n
\r\n )}\r\n
\r\n \r\n );\r\n const ab_1_render = (\r\n \r\n {s.ui.allow_reviews && s.ui.review_count > 0 && (\r\n \r\n
\r\n 0 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n 1 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n 2 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n 3 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n 4 ? 'yotpo-checked' : ''}`}\r\n role=\"presentation\"\r\n >\r\n \r\n {s.ui.review_score.toFixed(1)} based on{' '}\r\n \r\n {s.ui.review_count} reviews\r\n \r\n \r\n
\r\n \r\n )}\r\n\r\n
\r\n {s.prod && s.si && (\r\n

\r\n {s.prod && s.prod.IsCAF ? '' : `${s.si.InstName} `}\r\n {s.ui.product_title}\r\n

\r\n )}\r\n
\r\n {!util.isNullOrWhiteSpace(s.ui.sku) && (\r\n SKU: {s.ui.sku}\r\n )}\r\n {/* {!s.pcs.is_caf && Item #: {s.ui.item_id}} */}\r\n
\r\n
\r\n {s.ui.show_pricing && (\r\n
\r\n {util.currency(s.ui.price)}\r\n {/*{s.ui.msrp > 0 && s.isRetail && (*/}\r\n {/*
*/}\r\n {/* */}\r\n {/* {util.currency_noNegatives(s.ui.price + s.ui.msrp)}*/}\r\n {/* */}\r\n {/* {`${s.ui.msrp.toFixed()}% OFF`}*/}\r\n {/*
*/}\r\n {/*)}*/}\r\n
\r\n )}\r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n \r\n {this.productDescription &&
  • {this.productDescription}
  • }\r\n\r\n {s.prod &&\r\n !s.prod.IsCAF &&\r\n s.prod.LevelLock &&\r\n (s.PortalID === 0 || !__portal.DisableProdDescLinks) &&\r\n !s.prod.HideLevelLock && (\r\n
  • \r\n {s.si.ph_desc_ll} \r\n
  • \r\n )}\r\n\r\n {s.prod &&\r\n !s.prod.IsCAF &&\r\n s.prod.LevelLock &&\r\n (s.PortalID !== 0 || __portal.DisableProdDescLinks) &&\r\n !s.prod.HideLevelLock && (\r\n
  • {s.si.ph_desc_ll} Level-Lock Frame Hanging System!
  • \r\n )}\r\n \r\n )}\r\n \r\n );\r\n\r\n if (\r\n AbTestStore.HasKey(ABTestKeys.ab_green_product) &&\r\n AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)\r\n ) {\r\n return ab_1_render;\r\n } else {\r\n return default_render;\r\n }\r\n }\r\n}\r\n\r\nexport default ProductHeader;\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport * as data from '../data';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport * as api from '../api';\r\ndeclare var __portal: IPortalSettings;\r\ndeclare var __promo_json: IPromoObj;\r\n\r\n@observer\r\nexport default class PromoRedeem extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.save = this.save.bind(this);\r\n }\r\n\r\n @action\r\n save = async () => {\r\n api.redeemCode();\r\n };\r\n\r\n\r\n render() {\r\n if(__promo_json.redeemAvailable === false){\r\n return (
    );\r\n } else {\r\n\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n Redeem\r\n {__promo_json.redeemOff}\r\n with code {__promo_json.redeemCode}\r\n
    \r\n
    \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport ModalSimple from '../../global/modal-simple';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\n\r\n@observer\r\nexport default class QtyComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.save = this.save.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => {\r\n this.forceUpdate();\r\n };\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @action\r\n save = async (e: React.ChangeEvent) => {\r\n runInAction(() => {\r\n s.pcs.qty = parseInt(e.target.value, 10);\r\n });\r\n };\r\n\r\n render() {\r\n if (!s.ready || !s.ui.show_cust) {\r\n return;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n Quantity\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) &&
    }\r\n
    \r\n );\r\n }\r\n}\r\n","import {observer} from 'mobx-react';\r\nimport React from 'react';\r\nimport {action, makeObservable, observable} from 'mobx';\r\nimport {RelatedProduct} from './related-products';\r\n\r\ntype Props = {\r\n product: RelatedProduct;\r\n};\r\n\r\n@observer\r\nexport default class ProductItem extends React.Component {\r\n @observable zoomImgUrl: string;\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n this.getZoomImgUrl();\r\n makeObservable(this);\r\n }\r\n\r\n @action\r\n getZoomImgUrl() {\r\n const {src} = this.props.product;\r\n const split = src.split('/');\r\n const resolution = split[split.length - 1];\r\n const newResolution = resolution.replace(/0_\\d+_\\d+/, '0_800_800');\r\n\r\n this.zoomImgUrl = src.replace(resolution, newResolution);\r\n }\r\n\r\n render() {\r\n const {id, src, link, price} = this.props.product;\r\n const label = 'quick look';\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {window.innerWidth > 1200 ? (\r\n `}\r\n style={{color: 'gray'}}\r\n >\r\n {label}\r\n
    \r\n ) : (\r\n {label}\r\n )}\r\n ${price}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import {observer} from 'mobx-react';\r\nimport React from 'react';\r\nimport {makeObservable} from 'mobx';\r\nimport s from '../../s';\r\nimport {Swiper, SwiperSlide} from 'swiper/react';\r\nimport {Keyboard, Navigation} from 'swiper/modules';\r\nimport 'swiper/scss';\r\nimport 'swiper/scss/navigation';\r\nimport ProductItem from './product-item';\r\n\r\ntype Props = {};\r\n\r\nexport type RelatedProduct = {\r\n id: number;\r\n src: string;\r\n link: string;\r\n price: number;\r\n};\r\n\r\n// just for testing purposes, will be removed in phase 2\r\nconst price = 199.95;\r\nconst link = 'https://www.diplomaframe.com/corn/masterpiece-medallion-diploma-frame-15277.aspx';\r\nconst src =\r\n 'https://img.diplomaframe.com/i/0_200_300_1_143_375_36_0_4_1088_0___0____0__11.000_0_8.500_0_0_0_0.png';\r\nconst relatedProducts: RelatedProduct[] = [\r\n {id: 1, src, price, link},\r\n {id: 2, src, price, link},\r\n {id: 3, src, price, link},\r\n {id: 4, src, price, link},\r\n {id: 5, src, price, link},\r\n {id: 6, src, price, link},\r\n {id: 7, src, price, link},\r\n {id: 8, src, price, link},\r\n {id: 9, src, price, link},\r\n {id: 10, src, price, link},\r\n];\r\n\r\n@observer\r\nexport default class RelatedProducts extends React.Component {\r\n constructor(props: Props) {\r\n super(props);\r\n makeObservable(this);\r\n }\r\n\r\n render() {\r\n if (!s.ready) {\r\n return;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n Related Products\r\n
    \r\n \r\n \r\n {relatedProducts.map((p, i) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {observer} from 'mobx-react';\r\nimport React from 'react';\r\nimport {action} from 'mobx';\r\nimport * as util from '../../../util';\r\n\r\ntype Props = {\r\n id: string;\r\n label: string;\r\n};\r\n\r\n@observer\r\nclass InfoIcon extends React.Component {\r\n @action\r\n click(e: React.MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n util.modal(this.props.id);\r\n }\r\n\r\n render() {\r\n return (\r\n this.click(e)}\r\n role=\"button\"\r\n aria-label={`Open dialog with ${this.props.label} for this product`}\r\n aria-haspopup=\"dialog\"\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default InfoIcon;\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../../s';\r\nimport * as util from '../../../util';\r\nimport ModalSimple from '../../../global/modal-simple';\r\nimport {Swiper, SwiperSlide} from 'swiper/react';\r\nimport 'swiper/scss';\r\nimport 'swiper/scss/scrollbar';\r\nimport 'swiper/scss/navigation';\r\nimport 'swiper/scss/pagination';\r\nimport 'swiper/scss/zoom';\r\nimport {Keyboard, Scrollbar, Navigation, Pagination, Zoom} from 'swiper/modules';\r\n\r\ninterface ISliderRealImagesProps {\r\n fullWidth?: boolean;\r\n}\r\n\r\n@observer\r\nexport default class SliderRealImages extends React.Component {\r\n @observable zoom_index: number = -1;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.toggleZoom = this.toggleZoom.bind(this);\r\n makeObservable(this);\r\n document.addEventListener('modal-closed', function (e: any) {\r\n if (e.detail === 'modal-prod-swiper-real') {\r\n runInAction(() => {\r\n s.ui.zoom_real_images = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n @action\r\n toggleZoom = async (i: number) => {\r\n runInAction(() => {\r\n this.zoom_index = i;\r\n s.ui.zoom_real_images = true;\r\n });\r\n };\r\n\r\n render() {\r\n if (!s.ready || !s.prod || !s.prod.real_images || s.prod.real_images.length < 3) {\r\n return;\r\n }\r\n return (\r\n
    \r\n \r\n {s.prod.real_images.map((m, i: number) => (\r\n \r\n
    \r\n \r\n \r\n this.toggleZoom(i)}\r\n />\r\n \r\n
    \r\n \r\n ))}\r\n \r\n {s.ui.zoom_real_images && (\r\n (s.ui.zoom_real_images = false)}\r\n >\r\n \r\n {s.prod.real_images.map((m, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction, toJS} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../../s';\r\nimport * as util from '../../../util';\r\nimport ModalSimple from '../../../global/modal-simple';\r\nimport {Swiper, SwiperSlide} from 'swiper/react';\r\nimport 'swiper/scss';\r\nimport 'swiper/scss/scrollbar';\r\nimport 'swiper/scss/navigation';\r\nimport 'swiper/scss/pagination';\r\nimport 'swiper/scss/zoom';\r\nimport {Keyboard, Scrollbar, Navigation, Pagination, Zoom} from 'swiper/modules';\r\nimport ProductRender from '../../rendering/render';\r\nimport {r} from '../../rendering/core';\r\nimport * as emitter from '../../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../../global/store/ab-test.store';\r\n\r\ndeclare const window: any;\r\n\r\n@observer\r\nexport default class SliderTH extends React.Component {\r\n @observable zoom_id: string = '';\r\n @observable slideCount: number = 6;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.loadSwiper = this.loadSwiper.bind(this);\r\n this.loadSwiperZoom = this.loadSwiperZoom.bind(this);\r\n this.toggleZoom = this.toggleZoom.bind(this);\r\n makeObservable(this);\r\n\r\n this.getSlidesPerView();\r\n\r\n document.addEventListener('modal-closed', function (e: any) {\r\n if (e.detail === 'modal-prod-swiper-th') {\r\n runInAction(() => {\r\n s.ui.zoom_thumbnails = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount() {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n }\r\n\r\n @computed get show_slider(): boolean {\r\n if (!s.ready || !s.prod) {\r\n return false;\r\n }\r\n\r\n if (\r\n s.prod.MouldingID < 1 &&\r\n s.prod.Mat1_ID < 1 &&\r\n s.prod.th1Disabled &&\r\n s.prod.th2Disabled &&\r\n s.prod.th3Disabled &&\r\n s.prod.th4Disabled &&\r\n s.prod.th5Disabled &&\r\n s.prod.th6Disabled &&\r\n s.prod.th7Disabled &&\r\n s.prod.th8Disabled &&\r\n s.prod.th9Disabled &&\r\n s.prod.th10Disabled\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n @computed get do_loop(): boolean {\r\n if (!s.ready) {\r\n return true;\r\n }\r\n\r\n let slideCount = 0;\r\n if (s.prod.CustomizationMethod !== 1) {\r\n slideCount++;\r\n }\r\n if (s.pcs.moulding_id > 0 && s.ui.moulding_has_zoom) {\r\n slideCount++;\r\n }\r\n if (!s.prod.th5Disabled && !util.isNullOrWhiteSpace(s.prod.th5)) {\r\n slideCount++;\r\n }\r\n if (!s.prod.th6Disabled && !util.isNullOrWhiteSpace(s.prod.th6)) {\r\n slideCount++;\r\n }\r\n if (s.pcs.mat1_id > 0) {\r\n slideCount++;\r\n }\r\n if (s.pcs.insignia_id > 0) {\r\n slideCount++;\r\n }\r\n if (s.prod.real_images_th && s.prod.real_images_th.length > 0) {\r\n slideCount += s.prod.real_images_th.length;\r\n }\r\n\r\n if (slideCount < 3) {\r\n return false;\r\n }\r\n\r\n if (s.prod.CustomizationMethod < 2) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n @action getSlidesPerView(value: number = 0) {\r\n if (window.innerWidth < 340) {\r\n this.slideCount = 3;\r\n } else if (window.innerWidth < 400) {\r\n this.slideCount = 3 + value;\r\n } else if (window.innerWidth < 510) {\r\n this.slideCount = 4 + value;\r\n } else if (window.innerWidth < 580) {\r\n this.slideCount = 5 + value;\r\n } else {\r\n this.slideCount = 6 + value;\r\n }\r\n }\r\n\r\n @action\r\n loadSwiper = async (swiper: any) => {\r\n runInAction(() => {\r\n util.ariaPulse();\r\n });\r\n };\r\n\r\n @action\r\n loadSwiperZoom = async (swiper: any) => {\r\n runInAction(() => {\r\n // console.log(swiper);\r\n // console.log(swiper.slides);\r\n // console.log('zoom id', this.zoom_id);\r\n if (!util.isNullOrWhiteSpace(this.zoom_id)) {\r\n var ele = document.getElementById(this.zoom_id);\r\n // console.log('ele', ele);\r\n var index = parseInt(ele?.attributes['data-swiper-slide-index'].value, 10);\r\n // console.log('index', index);\r\n swiper.slideToLoop(index);\r\n\r\n setTimeout(function () {\r\n swiper.slideToLoop(index);\r\n }, 250);\r\n setTimeout(function () {\r\n swiper.slideToLoop(index);\r\n }, 1250);\r\n }\r\n this.zoom_id = '';\r\n util.ariaPulse();\r\n\r\n // swiper.\r\n });\r\n };\r\n\r\n @action\r\n toggleZoom = async (e: any) => {\r\n runInAction(() => {\r\n this.zoom_id = e;\r\n s.pcs.css_zoom = r.render(s.prod.orig_pcs, util.RenderType.Zoom);\r\n s.ui.zoom_thumbnails = true;\r\n });\r\n };\r\n\r\n @computed get hide_dynamic(): boolean {\r\n if (!s.ready) {\r\n return false;\r\n }\r\n\r\n if (\r\n [70214, 70215, 70244, 84054].includes(s.prod.ProductID) ||\r\n ['391332'].includes(s.prod.ItemID)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n @computed get show_smart_box() {\r\n if (!s.ready) {\r\n return false;\r\n }\r\n if (!s.ui.allow_smartbox) {\r\n return false;\r\n }\r\n if (\r\n s.prod.Shipping_BoxID <= 3 &&\r\n s.prod.IsFrame &&\r\n !s.prod.ProductTypeDisplayName.toLowerCase().includes('Photo') &&\r\n !this.hide_dynamic\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n render() {\r\n if (!s.ready) {\r\n return;\r\n }\r\n if (!this.show_slider) {\r\n return;\r\n }\r\n\r\n if (AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1)) {\r\n s.product_thumbnail_height = 65;\r\n this.getSlidesPerView(1);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {s.prod.CustomizationMethod === 2 && (\r\n this.toggleZoom('slide-prod')}\r\n aria-label=\"Open larger product image\"\r\n tabIndex={0}\r\n >\r\n
    \r\n {!s.pcs.is_caf && (\r\n 1\r\n ? `https://img.diplomaframe.com/i/${s.prod.ProductID}_220_250.png?MouldingID=${s.pcs.moulding_id}&PrimaryMatID=${s.pcs.mat1_id}&SecondaryMatID=${s.pcs.mat2_id > 0 ? s.pcs.mat2_id : 0}&InsigniaID=${s.pcs.insignia_id > 0 ? s.pcs.insignia_id : 0}&LinoID=${s.pcs.lino_id > 0 ? s.pcs.lino_id : 0}`\r\n : `${s.prod.Image_Thumb}`\r\n }\r\n className=\"prod-th\"\r\n onClick={this.toggleZoom}\r\n />\r\n )}\r\n {s.pcs.is_caf && (\r\n 1\r\n ? `https://img.diplomaframe.com/i/0_220_250_${s.prod.ProductID}_${s.pcs.moulding_id}_${s.pcs.mat1_id}_${s.pcs.mat2_id > 0 ? s.pcs.mat2_id : 0}_${s.pcs.insignia_id > 0 ? s.pcs.insignia_id : 0}_${s.prod.DocumentID}_${s.prod.ExtraEntityID}_0___0____0__11.000_0_8.500_0_0_0_0.png`\r\n : `${s.prod.Image_Thumb}`\r\n }\r\n className=\"prod-th\"\r\n onClick={this.toggleZoom}\r\n />\r\n )}\r\n
    \r\n \r\n )}\r\n\r\n {s.pcs.moulding_id > 0 && s.ui.moulding_has_zoom && (\r\n this.toggleZoom('slide-prod-moulding')}\r\n aria-label=\"Open larger image of moulding\"\r\n tabIndex={0}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {s.prod && s.prod.is_tassel_cord && (\r\n this.toggleZoom('slide-prod-tassel-cord')}\r\n aria-label=\"Open larger image of tassel cord thumbnail\"\r\n id=\"\"\r\n tabIndex={0}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {!s.prod.th5Disabled && !util.isNullOrWhiteSpace(s.prod.th5) && (\r\n this.toggleZoom(`slide-prod-th5`)}\r\n aria-label={`Open larger image of product thumbnail #5`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th6Disabled && !util.isNullOrWhiteSpace(s.prod.th6) && (\r\n this.toggleZoom(`slide-prod-th6`)}\r\n aria-label={`Open larger image of product thumbnail #6`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th1Disabled && !util.isNullOrWhiteSpace(s.prod.th1) && (\r\n this.toggleZoom(`slide-prod-th1`)}\r\n aria-label={`Open larger image of product thumbnail #1`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th2Disabled && !util.isNullOrWhiteSpace(s.prod.th2) && (\r\n this.toggleZoom(`slide-prod-th2`)}\r\n aria-label={`Open larger image of product thumbnail #2`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th3Disabled && !util.isNullOrWhiteSpace(s.prod.th3) && (\r\n this.toggleZoom(`slide-prod-th3`)}\r\n aria-label={`Open larger image of product thumbnail #3`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th4Disabled && !util.isNullOrWhiteSpace(s.prod.th4) && (\r\n this.toggleZoom(`slide-prod-th4`)}\r\n aria-label={`Open larger image of product thumbnail #4`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th7Disabled && !util.isNullOrWhiteSpace(s.prod.th7) && (\r\n this.toggleZoom(`slide-prod-th7`)}\r\n aria-label={`Open larger image of product thumbnail #7`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th8Disabled && !util.isNullOrWhiteSpace(s.prod.th8) && (\r\n this.toggleZoom(`slide-prod-th8`)}\r\n aria-label={`Open larger image of product thumbnail #8`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th9Disabled && !util.isNullOrWhiteSpace(s.prod.th9) && (\r\n this.toggleZoom(`slide-prod-th9`)}\r\n aria-label={`Open larger image of product thumbnail #9`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n {!s.prod.th10Disabled && !util.isNullOrWhiteSpace(s.prod.th10) && (\r\n this.toggleZoom(`slide-prod-th10`)}\r\n aria-label={`Open larger image of product thumbnail #10`}\r\n tabIndex={0}\r\n >\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n\r\n {s.pcs.mat1_id > 0 && (\r\n this.toggleZoom('slide-prod-matcombo')}\r\n aria-label=\"Open larger image of mats\"\r\n tabIndex={0}\r\n >\r\n \r\n 0 ? `_${s.pcs.mat2_id.toString()}` : ''}.webp`}\r\n />\r\n 0 ? `_${s.pcs.mat2_id.toString()}` : ''}.png`}\r\n height=\"75\"\r\n width=\"75\"\r\n alt={s.ui.title_mat_combo}\r\n onClick={this.toggleZoom}\r\n style={{\r\n maxWidth: window.innerWidth * 0.8,\r\n maxHeight: window.innerHeight * 0.8,\r\n }}\r\n />\r\n \r\n \r\n )}\r\n\r\n {s.pcs.insignia_id > 0 && (\r\n this.toggleZoom('slide-prod-ins')}\r\n aria-label=\"Open larger image of insignia\"\r\n tabIndex={0}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n\r\n {s.prod.real_images_th.map(m => (\r\n this.toggleZoom(`slide-prod-real-${m.id}`)}\r\n aria-label=\"Open larger image of this real life image\"\r\n tabIndex={0}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n\r\n {s.prod.CustomizationMethod !== 2 &&\r\n s.prod.OldInsigniaThumb &&\r\n s.prod.OldInsigniaThumb != '' && (\r\n this.toggleZoom('slide-prod-old-ins')}\r\n aria-label=\"Open larger image of insignia\"\r\n tabIndex={0}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.show_smart_box && (\r\n this.toggleZoom('slide-prod-smartbox')}\r\n aria-label=\"Open larger image of smartbox packaging\"\r\n tabIndex={0}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.product_glass, 1) &&\r\n s.prod &&\r\n s.prod.IsFrame &&\r\n s.prod.ProductID !== 84054 &&\r\n s.prod.ProductID !== 70214 &&\r\n !s.prod.disableGlassUpgrades && (\r\n this.toggleZoom('slide-prod-glassoptions')}\r\n aria-label=\"Open larger image of glass options\"\r\n tabIndex={0}\r\n >\r\n \r\n {s.prod.AllowGlassID2 > 0 && (\r\n \r\n )}\r\n {s.prod.AllowGlassID2 > 0 && (\r\n \r\n )}\r\n\r\n {(!s.prod.AllowGlassID2 || s.prod.AllowGlassID2 < 1) && (\r\n \r\n )}\r\n {(!s.prod.AllowGlassID2 || s.prod.AllowGlassID2 < 1) && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n {s.ui.zoom_thumbnails && (\r\n (s.ui.zoom_thumbnails = false)}\r\n >\r\n \r\n {s.prod.CustomizationMethod === 2 && (\r\n \r\n \r\n \r\n )}\r\n\r\n {s.pcs.moulding_id > 0 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {s.prod && s.prod.is_tassel_cord && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {!s.prod.th5Disabled && !util.isNullOrWhiteSpace(s.prod.th5) && (\r\n \r\n
    \r\n Photo represents scale dimensions only (final art/colors may\r\n differ)\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th6Disabled && !util.isNullOrWhiteSpace(s.prod.th6) && (\r\n \r\n
    \r\n Photo represents scale dimensions only (final art/colors may\r\n differ)\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th1Disabled && !util.isNullOrWhiteSpace(s.prod.th1) && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th2Disabled && !util.isNullOrWhiteSpace(s.prod.th2) && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th3Disabled && !util.isNullOrWhiteSpace(s.prod.th3) && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th4Disabled && !util.isNullOrWhiteSpace(s.prod.th4) && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th7Disabled && !util.isNullOrWhiteSpace(s.prod.th7) && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th8Disabled && !util.isNullOrWhiteSpace(s.prod.th8) && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th9Disabled && !util.isNullOrWhiteSpace(s.prod.th9) && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {!s.prod.th10Disabled && !util.isNullOrWhiteSpace(s.prod.th10) && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {s.pcs.mat1_id > 0 && (\r\n \r\n \r\n 0 ? `_${s.pcs.mat2_id.toString()}` : ''}.webp`}\r\n />\r\n 0 ? `_${s.pcs.mat2_id.toString()}` : ''}.png`}\r\n alt={s.ui.title_mat_combo}\r\n onClick={this.toggleZoom}\r\n style={{\r\n maxWidth: window.innerWidth * 0.8,\r\n maxHeight: window.innerHeight * 0.8,\r\n }}\r\n />\r\n \r\n \r\n )}\r\n\r\n {s.pcs.insignia_id > 0 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {s.prod.real_images_th.map(m => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n\r\n {s.prod.CustomizationMethod !== 2 &&\r\n s.prod.OldInsigniaThumb &&\r\n s.prod.OldInsigniaThumb != '' && (\r\n \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n\r\n {this.show_smart_box && (\r\n \r\n
    \r\n Photo represents our protective SMARTbox packaging (actual\r\n frame may differ)\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {!AbTestStore.ABIsVariant(ABTestKeys.product_glass, 1) &&\r\n s.prod &&\r\n s.prod.IsFrame &&\r\n s.prod.ProductID !== 84054 &&\r\n s.prod.ProductID !== 70214 &&\r\n !s.prod.disableGlassUpgrades && (\r\n \r\n {s.prod.AllowGlassID2 > 0 && (\r\n \r\n \r\n \r\n \r\n )}\r\n {(!s.prod.AllowGlassID2 || s.prod.AllowGlassID2 < 1) && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {observable, makeObservable} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as emitter from '../../global/emitter';\r\n\r\ndeclare const collapse: {\r\n init: () => void;\r\n};\r\n\r\ntype Props = {\r\n toggleExpandable: (e: React.KeyboardEvent, id: string) => void;\r\n};\r\n\r\n@observer\r\nexport default class Yotpo extends React.Component {\r\n @observable init: boolean = false;\r\n @observable yotpo_success: boolean = false;\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n makeObservable(this);\r\n }\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n setTimeout(function() {\r\n var e = document.createElement('script');\r\n e.type = 'text/javascript';\r\n e.defer = true;\r\n e.src = '//staticw2.yotpo.com/H8vQ6ytRf3Uo0eAAlJJh85FR61IeET7EXRvzKasQ/widget.js';\r\n var t = document.getElementsByTagName('script')[0];\r\n t.parentNode?.insertBefore(e, t);\r\n }, 1500);\r\n }\r\n\r\n componentDidUpdate() {\r\n if (!this.init) {\r\n this.init = true;\r\n collapse.init();\r\n }\r\n }\r\n\r\n render() {\r\n if (!s.ready) {\r\n return;\r\n }\r\n\r\n if (!s.pcs.is_caf) {\r\n return (\r\n
    \r\n this.props.toggleExpandable(e, 'prod-reviews-click')}\r\n >\r\n Customer Reviews\r\n
    \r\n \r\n 1\r\n ? `https://img.diplomaframe.com/i/${s.prod.ProductID}_220_250.png`\r\n : `${s.prod.Image_Thumb}`\r\n }\r\n />\r\n \r\n \r\n );\r\n } else {\r\n return;\r\n }\r\n }\r\n}\r\n","interface ShippingSizeDataClass {\r\n id: number;\r\n width: number;\r\n height: number;\r\n}\r\nvar _ssd: ShippingSizeDataClass[] = [];\r\n_ssd.push({id: 1, width: 8.5, height: 11.0});\r\n_ssd.push({id: 2, width: 10.0, height: 12.0});\r\n_ssd.push({id: 3, width: 11.0, height: 14.0});\r\n_ssd.push({id: 4, width: 12.0, height: 16.0});\r\n_ssd.push({id: 5, width: 14.0, height: 18.0});\r\n_ssd.push({id: 6, width: 16.0, height: 20.0});\r\n_ssd.push({id: 7, width: 18.0, height: 24.0});\r\nexport const ShippingSizeData: ShippingSizeDataClass[] = _ssd;\r\n\r\ninterface DocumentSizeTierClass {\r\n DocumentSizeTierID: number;\r\n Width: number;\r\n Height: number;\r\n IsMax: boolean;\r\n UsePlexiglass: boolean;\r\n}\r\nvar _dstc: DocumentSizeTierClass[] = [];\r\n_dstc.push({DocumentSizeTierID: 1, Width: 8.0, Height: 10.0, IsMax: false, UsePlexiglass: false});\r\n_dstc.push({DocumentSizeTierID: 2, Width: 8.5, Height: 11.7, IsMax: false, UsePlexiglass: false});\r\n_dstc.push({DocumentSizeTierID: 3, Width: 10.0, Height: 12.0, IsMax: false, UsePlexiglass: false});\r\n_dstc.push({DocumentSizeTierID: 4, Width: 11.0, Height: 14.0, IsMax: false, UsePlexiglass: false});\r\n_dstc.push({DocumentSizeTierID: 5, Width: 12.0, Height: 16.0, IsMax: false, UsePlexiglass: false});\r\n_dstc.push({DocumentSizeTierID: 8, Width: 14.0, Height: 18.0, IsMax: false, UsePlexiglass: true});\r\n_dstc.push({DocumentSizeTierID: 9, Width: 16.0, Height: 20.0, IsMax: false, UsePlexiglass: true});\r\n_dstc.push({DocumentSizeTierID: 10, Width: 18.0, Height: 22.0, IsMax: false, UsePlexiglass: true});\r\n_dstc.push({DocumentSizeTierID: 11, Width: 20.0, Height: 24.0, IsMax: false, UsePlexiglass: true});\r\n_dstc.push({DocumentSizeTierID: 12, Width: 200.0, Height: 200.0, IsMax: true, UsePlexiglass: true});\r\n_dstc.push({DocumentSizeTierID: 13, Width: 8.0, Height: 9.3, IsMax: false, UsePlexiglass: false});\r\n_dstc.push({DocumentSizeTierID: 14, Width: 5.0, Height: 7.0, IsMax: false, UsePlexiglass: false});\r\nexport const DocumentSizeTierData: DocumentSizeTierClass[] = _dstc;\r\n","import React from 'react';\r\nimport {observable, action, computed, makeObservable, runInAction} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from './s';\r\nimport './product.scss';\r\nimport * as util from '../util';\r\nimport ProductHeader from './components/product-header';\r\nimport DocSize from './components/doc-size';\r\nimport GradYear from './components/grad-year';\r\nimport Moulding from './components/moulding/moulding';\r\nimport Mat from './components/mat';\r\nimport ProductRender from './rendering/render';\r\nimport Glass from './components/glass';\r\nimport DescMain from './components/desc-main';\r\nimport SliderTH from './components/slider/slider-th';\r\nimport SliderRealImages from './components/slider/slider-real-images';\r\nimport Yotpo from './components/yotpo';\r\nimport ATC from './components/atc/atc';\r\nimport Category from './components/category';\r\nimport EngravedPlate from './components/engraved-plate';\r\nimport Lino from './components/lino';\r\nimport Insignia from './components/insignia';\r\nimport QtyComponent from './components/qty';\r\nimport CustomFieldsComponent from './components/customfields';\r\nimport CAFDocSize from './components/caf-doc-size';\r\nimport ModalSimple from '../global/modal-simple';\r\nimport ImageUpload from './components/image-upload';\r\nimport ProductProcessing from './components/prod-processing';\r\nimport ProductShipping from './components/product-shipping';\r\nimport ImageUploadCopy from './components/image-upload-copy';\r\nimport RelatedProducts from './components/related-products/related-products';\r\nimport * as emitter from '../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../global/store/ab-test.store';\r\nimport {r} from './rendering/core';\r\nimport LevelLockModal from './components/modals/level-lock.modal';\r\nimport ReturnPolicyModal from '../checkout/components/modals/return-policy.modal';\r\n\r\ndeclare var __promo_json: IPromoObj;\r\ndeclare var __fast_ship: boolean;\r\ndeclare var __fast_ship_text: string;\r\ndeclare var window: any;\r\ndeclare var __portal: IPortalSettings;\r\n\r\n@observer\r\nclass ProductComponent extends React.Component {\r\n @observable canShare: boolean = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n s.isRetail = true;\r\n this.ab_update = this.ab_update.bind(this);\r\n this.canShare = !!navigator.share;\r\n makeObservable(this);\r\n window.react_product = this;\r\n }\r\n\r\n @action\r\n ab_update(_key: string, _value: number) {\r\n runInAction(() => {\r\n window.ab[_key] = _value;\r\n if (!AbTestStore.ab) {\r\n AbTestStore.ab = {};\r\n }\r\n AbTestStore.ab[_key] = _value;\r\n emitter.eventEmitter.dispatch(emitter.EventType.AB, 'ab');\r\n this.forceUpdate();\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n if (s.prod == undefined) {\r\n s.init();\r\n }\r\n }\r\n\r\n toggleExpandable(e: React.KeyboardEvent, id: string) {\r\n if (e.key === 'Enter') {\r\n const header = document.getElementById(id);\r\n\r\n if (header) {\r\n header.click();\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n if (!s.si) return;\r\n\r\n return (\r\n
    \r\n {s.ui.image_uploading && }\r\n {!AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n\r\n {!s.ui.show_caf_doc_sizes && (\r\n
    \r\n \r\n
    \r\n )}\r\n {s.ui.allow_customer_photos &&\r\n !s.ui.show_caf_doc_sizes &&\r\n !s.pcs.is_caf &&\r\n window.innerWidth > 1200 &&\r\n s.prod &&\r\n s.prod.real_images &&\r\n s.prod.real_images.length >= 3 && (\r\n
    \r\n
    \r\n \r\n Customer Photos\r\n
    \r\n
    Tag us and share your pics with #EarnItFrameIt
    \r\n \r\n
    \r\n )}\r\n
    \r\n {!s.ui.show_caf_doc_sizes && (\r\n
    \r\n {AbTestStore.ABIsVariant(ABTestKeys.ab_green_product, 1) && (\r\n
    \r\n \r\n
    \r\n )}\r\n {s.ui.is_bo && (\r\n
    \r\n
    Backordered Product
    \r\n {s.ui.bo_msg}\r\n
    \r\n )}\r\n {window.innerWidth < 1200 && s.ui.show_pricing && (\r\n \r\n
    \r\n {this.canShare && s.isRetail && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n {util.currency(s.ui.price)}\r\n \r\n
    \r\n
    \r\n )}\r\n \r\n {s.prod &&\r\n s.ui.categoryIds.map((m, i) => (\r\n \r\n ))}\r\n\r\n {s.prod &&\r\n (s.prod.CustomField1_Enabled ||\r\n s.prod.CustomField2_Enabled ||\r\n s.prod.CustomField3_Enabled) && }\r\n\r\n {/* {s.prod && s.si && s.si.StoreTypeID !== 5 && (s.prod.allowUpload1 || s.prod.allowUpload2) && } */}\r\n {s.prod &&\r\n s.si &&\r\n s.si.StoreTypeID !== 5 &&\r\n (s.prod.allowUpload1 || s.prod.allowUpload2) && }\r\n {s.prod && s.prod.mouldings && s.prod.mouldings.length > 1 && (\r\n \r\n )}\r\n \r\n {s.prod && s.prod.insignias && s.prod.insignias.length > 1 && (\r\n \r\n )}\r\n {s.prod && s.prod.EngravedPlateStatusID > 0 && }\r\n {s.prod && s.prod.linos && s.prod.linos.length > 1 && }\r\n {s.prod && s.si && s.si.StoreTypeID !== 5 && }\r\n\r\n {s.prod &&\r\n s.si &&\r\n s.si.StoreProductMessage &&\r\n s.si.StoreProductMessage.length > 0 && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {s.ui.show_grad_year && }\r\n {s.pcs.wholesale && s.prod && s.si && s.si.StoreTypeID !== 5 && (\r\n \r\n )}\r\n\r\n {s.ui.show_atc && }\r\n\r\n {s.isRetail &&\r\n __promo_json.hasPromo &&\r\n __promo_json.promo &&\r\n __promo_json.promo.length > 0 &&\r\n !(\r\n s.prod &&\r\n s.si &&\r\n s.si.StoreProductMessage &&\r\n s.si.StoreProductMessage.length > 0\r\n ) && (\r\n
    \r\n \r\n
    \r\n
      \r\n
    • \r\n
    \r\n \r\n \r\n
    \r\n {__promo_json.modal1 !== '' && (\r\n
    \r\n )}\r\n {__promo_json.modal1 !== '' &&
    }\r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n util.modal('modal-promo-code')}\r\n aria-label={`Click here for more promotional information.`}\r\n style={{paddingLeft: 4, color: '#000000'}}\r\n >\r\n \r\n \r\n )}\r\n\r\n {__fast_ship &&\r\n s.isRetail &&\r\n s.si &&\r\n s.si.StoreTypeID !== 5 &&\r\n s.__fast_ship_orig && (\r\n
    \r\n
    \r\n \r\n = SHIPS IN 2-3 DAYS\r\n
    \r\n
    \r\n )}\r\n\r\n {!s.pcs.is_caf && window.innerWidth <= 1200 && (\r\n \r\n \r\n Customer Photos\r\n \r\n
    Tag us and share your pics with #EarnItFrameIt
    \r\n \r\n \r\n )}\r\n\r\n {s.si &&\r\n s.si.StoreTypeID === 5 &&\r\n s.isRetail &&\r\n (!s.si.StoreProductMessage ||\r\n s.si.StoreProductMessage.length < 3) && (\r\n
    \r\n \r\n
    \r\n

    \r\n Church Hill Classics is pleased to have\r\n established a partnership with {s.si.StoreName}.\r\n In an effort to fully support this organization,\r\n we refer all sales directly to them. Please\r\n support your {s.si.StoreName}, by placing your\r\n order using one of the methods below.\r\n

    \r\n {s.si.Phone && s.si.Phone.length > 0 && (\r\n

    \r\n You may place your order by\r\n

    \r\n )}\r\n {s.si.Phone && s.si.Phone.length > 0 && (\r\n

    Phone: {s.si.Phone}

    \r\n )}\r\n {s.si.Fax && s.si.Fax.length > 0 && (\r\n

    Fax: {s.si.Fax}

    \r\n )}\r\n {s.si.Address1 && s.si.Address1.length > 0 && (\r\n

    \r\n Stop by the store\r\n

    \r\n )}\r\n {s.si.Address1 && s.si.Address1.length > 0 && (\r\n

    {s.si.Address1}

    \r\n )}\r\n {s.si.Address2 && s.si.Address2.length > 0 && (\r\n

    {s.si.Address2}

    \r\n )}\r\n {s.si.StoreLink && s.si.StoreLink.length > 0 && (\r\n

    \r\n \r\n For online ordering, please visit{' '}\r\n \r\n {s.si.StoreName}\r\n \r\n \r\n

    \r\n )}\r\n
    \r\n \r\n util.modal('modal-linked')}\r\n aria-label=\"Add to cart\"\r\n role=\"button\"\r\n tabIndex={0}\r\n >\r\n Available In Store\r\n
    \r\n \r\n )}\r\n \r\n )}\r\n {s.prod && s.prod.IsCAF && s.ui.show_caf_doc_sizes && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n {!s.ui.show_caf_doc_sizes && (\r\n \r\n \r\n {s.prod && s.prod.IsFrame && (\r\n
    \r\n {\r\n if (e.key === 'Enter') {\r\n console.log('ffff');\r\n // @ts-ignore\r\n document\r\n .getElementById('framing-instructions-container')\r\n .click();\r\n }\r\n }}\r\n tabIndex={0}\r\n >\r\n FRAMING & HANGING INSTRUCTIONS\r\n
    \r\n \r\n Designed with easy-open backs, our frames include simple\r\n step-by-step instructions and archival-quality mounting\r\n materials for safely inserting your document.{' '}\r\n {s.prod && s.prod.LevelLock && !s.prod.HideLevelLock && (\r\n \r\n Each frame is also shipped with our state-of-the-art{' '}\r\n to keep your frame straight and\r\n locked into place, ensuring professional results every\r\n time.\r\n \r\n )}\r\n \r\n \r\n )}\r\n
    \r\n this.toggleExpandable(e, 'return-policy-container')}\r\n >\r\n {__portal.PortalID === 0\r\n ? '120-Day Return Policy'\r\n : 'Return Policy'}\r\n
    \r\n \r\n {__portal.ProdReturnSnippet}\r\n util.modal('modal-return-policy')}\r\n >\r\n See our easy, 120-day return policy\r\n \r\n \r\n \r\n\r\n {false && }\r\n\r\n {s.ui.allow_reviews && }\r\n\r\n {/* hidden for now */}\r\n\r\n {s.prod && !s.prod.IsCAF && (\r\n \r\n
    \r\n {s.si && s.si.H2_1 !== '' && s.si.H2_1_Content !== '' && (\r\n ${s.si.H2_1}${s.si.H2_1_Content}`,\r\n }}\r\n />\r\n )}\r\n {s.si && s.si.H2_2 !== '' && s.si.H2_2_Content !== '' && (\r\n ${s.si.H2_2}${s.si.H2_2_Content}`,\r\n }}\r\n />\r\n )}\r\n {s.si && s.si.H2_3 !== '' && s.si.H2_3_Content !== '' && (\r\n ${s.si.H2_3}${s.si.H2_3_Content}`,\r\n }}\r\n />\r\n )}\r\n {s.si && s.si.H2_4 !== '' && s.si.H2_4_Content !== '' && (\r\n ${s.si.H2_4}${s.si.H2_4_Content}`,\r\n }}\r\n />\r\n )}\r\n
    \r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n
    \r\n

    If you customize this product it may not qualify for fast shipping.

    \r\n
    \r\n \r\n \r\n \r\n Indicates the frame material that qualifies for Fast Shipping. If no\r\n icon, the product will ship with standard methods.\r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default ProductComponent;\r\n","import {toJS} from 'mobx';\r\nimport * as Util from '../../util';\r\nimport {DocumentSizeTierData} from '../data';\r\nimport {PCS_CSS, ProductStateShare} from '../i';\r\nimport s from '../s';\r\n\r\ndeclare var __oversized: number[];\r\n\r\nexport module r {\r\n export enum EngravedPlateStatusEnum {\r\n None = 0,\r\n Required_Gold = 1,\r\n Required_Silver = 2,\r\n Optional_Gold = 3,\r\n Optional_Silver = 4,\r\n Optional_Both = 5,\r\n Required_Black = 6,\r\n Optional_Black = 7,\r\n }\r\n export enum DYF_FrameStylesEnum {\r\n None = 0,\r\n Single_Document = 1,\r\n Double_Document = 2,\r\n Tassel = 3,\r\n Varsity = 4,\r\n Sports_Oval = 5,\r\n Portrait_Oval = 6,\r\n Campus_Scene = 7,\r\n Cameo = 8,\r\n Spirit = 9,\r\n Photo_Frame = 10,\r\n Century = 11,\r\n SpiritB = 12,\r\n }\r\n\r\n export const DocStackingSizeTiers: DocStackingSizeTiersClass[] = [\r\n {\r\n DocSizeTierID: 1,\r\n CameoRail: 2.875,\r\n DocDistance: 0.0,\r\n DocHeight: 5.0,\r\n DocWidth: 7.0,\r\n DocOverlap: 0.375,\r\n OvalRailSide: 2.25,\r\n OvalRailOvalTop: 1.75,\r\n OvalRailDocTop: 1.75,\r\n SpiritRailTopAndSides: 2.75,\r\n SpiritRailBottom: 3.25,\r\n StandardRail: 1.625,\r\n TasselRailHeight: 3.625,\r\n TasselRailWidth: 2.5,\r\n TasselGap: 1.625,\r\n TasselHeight: 9.75,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 2,\r\n CameoRail: 2.875,\r\n DocDistance: 0.0,\r\n DocHeight: 6.0,\r\n DocWidth: 8.0,\r\n DocOverlap: 0.1875,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 2.25,\r\n OvalRailDocTop: 2.625,\r\n SpiritRailTopAndSides: 2.75,\r\n SpiritRailBottom: 3.25,\r\n StandardRail: 2.625,\r\n TasselRailHeight: 3.625,\r\n TasselRailWidth: 2.5,\r\n TasselGap: 1.625,\r\n TasselHeight: 9.75,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 3,\r\n CameoRail: 2.875,\r\n DocDistance: 0.0,\r\n DocHeight: 7.0,\r\n DocWidth: 9.0,\r\n DocOverlap: 0.1875,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 2.25,\r\n OvalRailDocTop: 2.625,\r\n SpiritRailTopAndSides: 2.75,\r\n SpiritRailBottom: 3.25,\r\n StandardRail: 2.625,\r\n TasselRailHeight: 3.125,\r\n TasselRailWidth: 2.625,\r\n TasselGap: 1.375,\r\n TasselHeight: 9.75,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 4,\r\n CameoRail: 3.125,\r\n DocDistance: 0.0,\r\n DocHeight: 8.0,\r\n DocWidth: 10.0,\r\n DocOverlap: 0.1875,\r\n OvalRailSide: 2.75,\r\n OvalRailOvalTop: 3.25,\r\n OvalRailDocTop: 2.625,\r\n SpiritRailTopAndSides: 2.75,\r\n SpiritRailBottom: 3.25,\r\n StandardRail: 2.625,\r\n TasselRailHeight: 2.875,\r\n TasselRailWidth: 2.625,\r\n TasselGap: 1.375,\r\n TasselHeight: 10.25,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 5,\r\n CameoRail: 3.1875,\r\n DocDistance: 0.0,\r\n DocHeight: 8.5,\r\n DocWidth: 11.0,\r\n DocOverlap: 0.1875,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 3.75,\r\n OvalRailDocTop: 2.9375,\r\n SpiritRailTopAndSides: 2.75,\r\n SpiritRailBottom: 3.25,\r\n StandardRail: 2.6875,\r\n TasselRailHeight: 2.6875,\r\n TasselRailWidth: 2.625,\r\n TasselGap: 1.5,\r\n TasselHeight: 10.25,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 6,\r\n CameoRail: 3.1875,\r\n DocDistance: 0.0,\r\n DocHeight: 10.0,\r\n DocWidth: 12.0,\r\n DocOverlap: 0.1875,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 3.75,\r\n OvalRailDocTop: 2.9375,\r\n SpiritRailTopAndSides: 2.75,\r\n SpiritRailBottom: 3.25,\r\n StandardRail: 2.6875,\r\n TasselRailHeight: 2.6875,\r\n TasselRailWidth: 2.625,\r\n TasselGap: 1.5,\r\n TasselHeight: 10.25,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 7,\r\n CameoRail: 3.3125,\r\n DocDistance: 0.0,\r\n DocHeight: 11.0,\r\n DocWidth: 14.0,\r\n DocOverlap: 0.3125,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 3.75,\r\n OvalRailDocTop: 2.9375,\r\n SpiritRailTopAndSides: 3.0,\r\n SpiritRailBottom: 3.5,\r\n StandardRail: 3.063,\r\n TasselRailHeight: 3.063,\r\n TasselRailWidth: 2.6875,\r\n TasselGap: 1.625,\r\n TasselHeight: 10.5,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 8,\r\n CameoRail: 3.3125,\r\n DocDistance: 0.0,\r\n DocHeight: 12.0,\r\n DocWidth: 16.0,\r\n DocOverlap: 0.3125,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 3.75,\r\n OvalRailDocTop: 2.9375,\r\n SpiritRailTopAndSides: 3.0,\r\n SpiritRailBottom: 3.5,\r\n StandardRail: 3.063,\r\n TasselRailHeight: 3.063,\r\n TasselRailWidth: 2.75,\r\n TasselGap: 1.5,\r\n TasselHeight: 11.5,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 9,\r\n CameoRail: 3.3125,\r\n DocDistance: 0.0,\r\n DocHeight: 13.0,\r\n DocWidth: 17.0,\r\n DocOverlap: 0.3125,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 3.75,\r\n OvalRailDocTop: 2.9375,\r\n SpiritRailTopAndSides: 3.0,\r\n SpiritRailBottom: 3.5,\r\n StandardRail: 3.063,\r\n TasselRailHeight: 3.063,\r\n TasselRailWidth: 3.0,\r\n TasselGap: 1.5,\r\n TasselHeight: 11.5,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 10,\r\n CameoRail: 3.3125,\r\n DocDistance: 0.0,\r\n DocHeight: 14.0,\r\n DocWidth: 17.0,\r\n DocOverlap: 0.3125,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 3.75,\r\n OvalRailDocTop: 2.9375,\r\n SpiritRailTopAndSides: 3.0,\r\n SpiritRailBottom: 3.5,\r\n StandardRail: 3.313,\r\n TasselRailHeight: 3.313,\r\n TasselRailWidth: 3.25,\r\n TasselGap: 1.5,\r\n TasselHeight: 11.5,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 11,\r\n CameoRail: 3.3125,\r\n DocDistance: 0.0,\r\n DocHeight: 14.0,\r\n DocWidth: 18.0,\r\n DocOverlap: 0.3125,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 3.75,\r\n OvalRailDocTop: 2.9375,\r\n SpiritRailTopAndSides: 3.0,\r\n SpiritRailBottom: 3.5,\r\n StandardRail: 3.313,\r\n TasselRailHeight: 3.313,\r\n TasselRailWidth: 3.25,\r\n TasselGap: 1.5,\r\n TasselHeight: 11.5,\r\n TasselWidth: 1.625,\r\n },\r\n {\r\n DocSizeTierID: 12,\r\n CameoRail: 3.3125,\r\n DocDistance: 0.0,\r\n DocHeight: 16.0,\r\n DocWidth: 20.0,\r\n DocOverlap: 0.3125,\r\n OvalRailSide: 2.5,\r\n OvalRailOvalTop: 3.75,\r\n OvalRailDocTop: 2.9375,\r\n SpiritRailTopAndSides: 3.0,\r\n SpiritRailBottom: 3.5,\r\n StandardRail: 3.313,\r\n TasselRailHeight: 3.313,\r\n TasselRailWidth: 3.25,\r\n TasselGap: 1.5,\r\n TasselHeight: 11.5,\r\n TasselWidth: 1.625,\r\n },\r\n ];\r\n\r\n export class DocStackingSizeTiersClass {\r\n public DocSizeTierID: number = 0;\r\n public CameoRail: number;\r\n public DocDistance: number = 0;\r\n public DocHeight: number = 0;\r\n public DocWidth: number = 0;\r\n public DocOverlap: number;\r\n public OvalRailSide: number;\r\n public OvalRailOvalTop: number;\r\n public OvalRailDocTop: number;\r\n public SpiritRailTopAndSides: number;\r\n public SpiritRailBottom: number;\r\n public StandardRail: number;\r\n public TasselRailHeight: number = 0;\r\n public TasselRailWidth: number = 0;\r\n public TasselGap: number = 0;\r\n public TasselHeight: number = 0;\r\n public TasselWidth: number = 0;\r\n }\r\n\r\n export class DefaultPCS {\r\n public static DefaultBevel: number = 0.0393701;\r\n public static DefaultDocument: number = 1541; // Cornell\r\n public static DefaultDocWidth: number = 11;\r\n public static DefaultDocHeight: number = 8.5;\r\n public static DefaultInnerAccent: number = 385; // Gold\r\n public static DefaultInnerAccentWidth: number = 0.1875;\r\n public static DefaultInsignia: number = 2638; //Cornell Gold\r\n public static DefaultInsigniaSize: string = `220`;\r\n public static DefaultInsigniaWidthMax: number = 1.625;\r\n public static DefaultEPWidth: number = 3; // ****----____ EP-code-change ____----****'\r\n public static DefaultEPHeight: number = 1; // ****----____ EP-code-change ____----****'\r\n public static DefaultLinoID: number = 1564; // Cornell Gold industrial\r\n public static DefaultLinoWidthMax: number = 13;\r\n public static DefaultLinoHeightMax: number = 1.837;\r\n public static DefaultMaxFrameWidth: number = 550;\r\n public static DefaultMaxFrameHeight: number = 50000;\r\n public static DefaultMoulding: number = 158; // Gallery\r\n public static DefaultMouldingWidthMax: number = 2.375;\r\n public static DefaultPrimarymat: number = 337; // Black\r\n public static DefaultProductType: number = 3;\r\n }\r\n\r\n export class ProductCustomizationState {\r\n public css: PCS_CSS;\r\n public isHorizontal: boolean = true;\r\n public state_FlatImageMode: boolean = false;\r\n public MaxFrameWidthPx: number = 0;\r\n public MaxFrameHeightPx: number = 50000;\r\n public UseCommonDPI: boolean = false;\r\n public UseMaxMouldingForSizing: boolean = false;\r\n public Padding: number = 0;\r\n public debug: string;\r\n public FrameDisplay_width: number = 0;\r\n public FrameDisplay_height: number = 0;\r\n public BevelWidth: number = 0.0393701;\r\n public Base_DocumentName: string;\r\n public Base_ExtraEntityName: string;\r\n public Base_ExtraID: number = 0;\r\n public Base_ExtraHeight: number = 0;\r\n public Base_InsigniaID: number = 0;\r\n public Base_InsigniaName: string;\r\n public Base_InsigniaWidthInches: number = 0;\r\n public Base_LinoAdjustmentInches: number = 0;\r\n public Base_LinoID: number = 0;\r\n public Base_LinoName: string;\r\n public lino_dyf_color: string;\r\n public Document_Height: number = 0;\r\n public Document_Width: number = 0;\r\n public DocumentID: number = 0;\r\n public Document2_Height: number = 0;\r\n public Document2_Width: number = 0;\r\n public DYF_FrameStyleID: number = 0;\r\n public EngravedPlateID: number = 0;\r\n public EP_1: string;\r\n public EP_2: string;\r\n public EP_3: string;\r\n public EngravedPlateName: string;\r\n public HasEngravedPlate: boolean = false;\r\n public ItemID: string;\r\n public MatCombo_IsWoodFillet: boolean = false;\r\n public MouldingExtWidth: number = 0;\r\n public MouldingName: string;\r\n public MouldingWidthMax: number = 2.125;\r\n public PrimaryMatColor: string;\r\n public PrimaryMatName: string;\r\n public PrimaryMatID: number = 0;\r\n public ProductTypeID: number = 0;\r\n public SecondaryMatColor: string;\r\n public SecondaryMatID: number = 0;\r\n public SecondaryMatName: string;\r\n public InnerAccentWidth: number = 0.1875;\r\n public VL_BG_Color: string;\r\n public MouldingID: number = 0;\r\n public IsCAF: boolean = false;\r\n public SelectedCategoryMapID: number = -1;\r\n public o1: string;\r\n public o2: string;\r\n public o3: string;\r\n public o4: string;\r\n }\r\n\r\n export const getGlassPrice = (\r\n pcs: ProductCustomizationState,\r\n DocSizeTierID: number,\r\n GlassID: number,\r\n ): number => {\r\n const photo_frames = [10, 50, 56, 57, 58, 59, 60];\r\n const isPhotoFrame = photo_frames.includes(pcs.ProductTypeID);\r\n let Glass_DocSizeTierID = -0;\r\n\r\n if (isPhotoFrame) {\r\n if (DocSizeTierID === 1) {\r\n Glass_DocSizeTierID = 1;\r\n } else if (DocSizeTierID === 14) {\r\n Glass_DocSizeTierID = 14;\r\n } else if (DocSizeTierID === 2 || DocSizeTierID === 13) {\r\n Glass_DocSizeTierID = 2;\r\n } else if (DocSizeTierID >= 3 && DocSizeTierID <= 5) {\r\n Glass_DocSizeTierID = 5;\r\n } else {\r\n Glass_DocSizeTierID = 8;\r\n }\r\n } else {\r\n if (DocSizeTierID < 3 || DocSizeTierID === 13) {\r\n Glass_DocSizeTierID = 2;\r\n } else if (DocSizeTierID === 14) {\r\n Glass_DocSizeTierID = 14;\r\n } else if (DocSizeTierID >= 3 && DocSizeTierID <= 5) {\r\n Glass_DocSizeTierID = 5;\r\n } else {\r\n Glass_DocSizeTierID = 8;\r\n }\r\n }\r\n\r\n const isOversized: boolean = __oversized.includes(pcs.ProductTypeID);\r\n // console.log('isOversized', isOversized);\r\n\r\n if (isOversized) {\r\n if (Glass_DocSizeTierID === 14) {\r\n Glass_DocSizeTierID = 2;\r\n } else if (Glass_DocSizeTierID === 2) {\r\n Glass_DocSizeTierID = 5;\r\n } else if (Glass_DocSizeTierID === 5) {\r\n Glass_DocSizeTierID = 8;\r\n }\r\n }\r\n\r\n // console.log('Glass_DocSizeTierID', Glass_DocSizeTierID);\r\n\r\n let price: number = 0;\r\n if (!s.isRetail) {\r\n price = s.glass_prices.filter(\r\n x => x.GlassID === GlassID && x.DocumentSizeTierID === Glass_DocSizeTierID,\r\n )[0].Price_Wholesale;\r\n } else {\r\n price = s.glass_prices.filter(\r\n x => x.GlassID === GlassID && x.DocumentSizeTierID === Glass_DocSizeTierID,\r\n )[0].Price;\r\n }\r\n\r\n if (isOversized && GlassID !== 1) {\r\n price += 10;\r\n }\r\n\r\n return price;\r\n };\r\n\r\n export const share = async (): Promise => {\r\n const ps: ProductStateShare = {\r\n m0: s.pcs.moulding_id,\r\n m1: s.pcs.mat1_id,\r\n m2: s.pcs.mat2_id,\r\n i: s.pcs.insignia_id,\r\n g: s.pcs.glass_id,\r\n l: s.pcs.lino_id,\r\n e: s.pcs.ep_id,\r\n e1: s.pcs.ep1,\r\n e2: s.pcs.ep2,\r\n e3: s.pcs.ep3,\r\n o: s.pcs.is_horizontal,\r\n w1: s.pcs.docWidth,\r\n w2: s.pcs.docWidth2,\r\n h1: s.pcs.docHeight,\r\n h2: s.pcs.docHeight2,\r\n lc: s.pcs.lino_dyf_color,\r\n };\r\n\r\n const shareData = {\r\n title: `${s.si.InstName} ${s.ui.product_title}`,\r\n text: `Shared with you: ${s.si.InstName} ${s.ui.product_title} via diaplomaframe.com`,\r\n url: `${window.location.href}?k=${btoa(JSON.stringify(toJS(ps)))}`,\r\n };\r\n\r\n try {\r\n window.dataLayer.push({\r\n event: 'share',\r\n event_params: {\r\n item_id: s.prod.ItemID,\r\n method: 'product-page',\r\n content_type: 'product',\r\n },\r\n });\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n\r\n // console.log(JSON.stringify(toJS(ps)).length);\r\n // console.log(encodeURIComponent(JSON.stringify(toJS(ps))).length);\r\n // console.log(shareData.url.length);\r\n try {\r\n await navigator.share(shareData);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n\r\n export const FramePartDomain: string = `https://i.diplomaframe.com/images/entities/`;\r\n export const renderStandardPrimaryMat = (\r\n PMatWidthPX: number,\r\n PMatHeightPX: number,\r\n MaxMouldingWidthPx: number,\r\n MouldingWidthPx: number,\r\n pcs: ProductCustomizationState,\r\n ): void => {\r\n pcs.css.pmat_BackgroundImage = pmat_path(PMatWidthPX, pcs.PrimaryMatName).toLowerCase();\r\n pcs.css.pmat_width = `${PMatWidthPX.toString()}px`;\r\n pcs.css.pmat_height = `${PMatHeightPX.toString()}px`;\r\n pcs.css.pmat_backgroundSize = `${PMatWidthPX.toString()}px ${PMatHeightPX.toString()}px`;\r\n pcs.css.pmat_top = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.pmat_left = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.body_width = `${(PMatWidthPX + MouldingWidthPx * 2).toString()}px`;\r\n };\r\n export const pmat_path = (n: number, v: string): string => {\r\n let x = 'original';\r\n if (n >= 0 && n <= 320) {\r\n x = '160';\r\n } else if (n >= 321 && n <= 640) {\r\n x = '320';\r\n } else if (n >= 641 && n <= 1280) {\r\n x = '640';\r\n }\r\n return `${FramePartDomain}primarymat/v2/${v}_${x}.jpg`.toLowerCase();\r\n };\r\n\r\n export const renderStandardMoulding = (\r\n MouldingWidthPx: number,\r\n PMatWidthPx: number,\r\n PMatHeightPx: number,\r\n pcs: ProductCustomizationState,\r\n ): void => {\r\n pcs.css.m_topleft_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_topleftcorner.jpg`.toLowerCase();\r\n pcs.css.m_topleft_left = `-${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_topleft_top = `-${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_topleft_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_topright_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_toprightcorner.jpg`.toLowerCase();\r\n pcs.css.m_topright_left = `${PMatWidthPx.toString()}px`;\r\n pcs.css.m_topright_top = `-${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_topright_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_bottomleft_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_bottomleftcorner.jpg`.toLowerCase();\r\n pcs.css.m_bottomleft_left = `-${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_bottomleft_top = `${PMatHeightPx.toString()}px`;\r\n pcs.css.m_bottomleft_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_bottomright_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_bottomrightcorner.jpg`.toLowerCase();\r\n pcs.css.m_bottomright_left = `${PMatWidthPx.toString()}px`;\r\n pcs.css.m_bottomright_top = `${PMatHeightPx.toString()}px`;\r\n pcs.css.m_bottomright_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_left_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_leftside.jpg`.toLowerCase();\r\n pcs.css.m_left_left = `-${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_left_top = `0px`;\r\n pcs.css.m_left_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_left_height = `${PMatHeightPx.toString()}px`;\r\n pcs.css.m_right_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_rightside.jpg`.toLowerCase();\r\n pcs.css.m_right_left = `${PMatWidthPx.toString()}px`;\r\n pcs.css.m_right_top = `0px`;\r\n pcs.css.m_right_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_right_height = `${PMatHeightPx.toString()}px`;\r\n pcs.css.m_top_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_topside.jpg`.toLowerCase();\r\n pcs.css.m_top_left = `0px`;\r\n pcs.css.m_top_top = `-${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_top_width = `${PMatWidthPx.toString()}px`;\r\n pcs.css.m_top_height = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_bottom_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_bottomside.jpg`.toLowerCase();\r\n pcs.css.m_bottom_left = `0px`;\r\n pcs.css.m_bottom_top = `${PMatHeightPx.toString()}px`;\r\n pcs.css.m_bottom_width = `${PMatWidthPx.toString()}px`;\r\n pcs.css.m_bottom_height = `${MouldingWidthPx.toString()}px`;\r\n };\r\n\r\n export const doc_path = (\r\n n: number,\r\n DocHeightPx: number,\r\n docName: string | null,\r\n Base_ExtraEntityName: string | null,\r\n DYF_FrameStyleID: number,\r\n override: string | null,\r\n ): string => {\r\n if (override && override.length > 2 && s.ui.image_uploaded) {\r\n return override;\r\n }\r\n\r\n if (DYF_FrameStyleID === 10) {\r\n let x = n >= DocHeightPx ? `original` : `original_cropped`;\r\n if (n >= 0 && n <= 75) {\r\n x = '150';\r\n } else if (n >= 76 && n <= 175) {\r\n x = '350';\r\n }\r\n return `${FramePartDomain}photoframe_photo/v2/${Base_ExtraEntityName}${n >= DocHeightPx ? `_h_` : `_v_`}${x}.png`.toLowerCase();\r\n } else {\r\n let x = 'original';\r\n if (n >= 0 && n <= 75) {\r\n x = '150';\r\n } else if (n >= 76 && n <= 175) {\r\n x = '350';\r\n }\r\n x = '350';\r\n return `${FramePartDomain}document/v2/${docName}${n >= DocHeightPx ? `_h_` : `_v_`}${x}.png`.toLowerCase();\r\n }\r\n };\r\n export const vl_path = (n: number, VLHeightPx: number, VLName: string | null): string => {\r\n let x = 'original';\r\n if (n >= 0 && n <= 75) {\r\n x = '150';\r\n } else if (n >= 76 && n <= 175) {\r\n x = '350';\r\n }\r\n return `${FramePartDomain}varsity_letter/v2/${VLName}${n >= VLHeightPx ? `_h_` : `_v_`}${x}.png`.toLowerCase();\r\n };\r\n\r\n export const oval_path = (\r\n n: number,\r\n OvalName: string | null,\r\n DYF_FrameStyleID: number,\r\n ): string => {\r\n let x = 'original';\r\n if (n >= 0 && n <= 50) {\r\n x = '100';\r\n } else if (n >= 51 && n <= 100) {\r\n x = '200';\r\n }\r\n return `${FramePartDomain}${DYF_FrameStyleID == 5 ? `sports` : `portrait`}_oval/v2/${OvalName}_${x}.png`.toLowerCase();\r\n };\r\n\r\n export const campus_path = (Base_ExtraEntityName: string | null): string => {\r\n return `${FramePartDomain}campus_photo/v2/${Base_ExtraEntityName}_original.png`.toLowerCase();\r\n };\r\n\r\n export const cameo_path = (n: number, v: string | null): string => {\r\n let x = '300';\r\n if (n >= 0 && n <= 37) {\r\n x = '75';\r\n } else if (n >= 38 && n <= 75) {\r\n x = '150';\r\n }\r\n return `${FramePartDomain}cameo_photo/v2/${v}_${x}.png`.toLowerCase();\r\n };\r\n\r\n export const renderCollapsedPMatBevel = (pcs: ProductCustomizationState): void => {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `0px`;\r\n pcs.css.doc1_pmat_bevel_top = `0px`;\r\n pcs.css.doc1_pmat_bevel_width = ``;\r\n pcs.css.doc1_pmat_bevel_height = ``;\r\n };\r\n\r\n export const renderCollapsedSMat = (pcs: ProductCustomizationState): void => {\r\n pcs.css.doc1_smat_backgroundColor = `none`;\r\n pcs.css.doc1_smat_left = `0px`;\r\n pcs.css.doc1_smat_top = `0px`;\r\n pcs.css.doc1_smat_width = ``;\r\n pcs.css.doc1_smat_height = ``;\r\n pcs.css.doc1_smat_bevel_backgroundColor = `none`;\r\n pcs.css.doc1_smat_bevel_left = `0px`;\r\n pcs.css.doc1_smat_bevel_top = `0px`;\r\n pcs.css.doc1_smat_bevel_width = ``;\r\n pcs.css.doc1_smat_bevel_height = ``;\r\n };\r\n export const RenderStandardSMat = (\r\n BevelWidthPx: number,\r\n SMatWidthPx: number,\r\n DocWidthPx: number,\r\n DocHeightPx: number,\r\n pcs: ProductCustomizationState,\r\n ): void => {\r\n pcs.css.doc1_smat_backgroundColor = `#${pcs.SecondaryMatColor}`;\r\n pcs.css.doc1_smat_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_smat_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_smat_width = `${(DocWidthPx + SMatWidthPx * 2 + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_smat_height = `${(DocHeightPx + SMatWidthPx * 2 + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_smat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_smat_bevel_left = `${SMatWidthPx.toString()}px`;\r\n pcs.css.doc1_smat_bevel_top = `${SMatWidthPx.toString()}px`;\r\n pcs.css.doc1_smat_bevel_width = `${(DocWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_smat_bevel_height = `${(DocHeightPx + BevelWidthPx * 2).toString()}px`;\r\n };\r\n\r\n export const renderStandardFillet = (\r\n RailSidePx: number,\r\n RailTopPx: number,\r\n WoodFilletWidthPx: number,\r\n DocWidthPx: number,\r\n DocHeightPx: number,\r\n pcs: ProductCustomizationState,\r\n ): void => {\r\n pcs.css.f_container_left = `${(RailSidePx - WoodFilletWidthPx).toString()}px`;\r\n pcs.css.f_container_top = `${(RailTopPx - WoodFilletWidthPx).toString()}px`;\r\n pcs.css.f_container_width = `${(DocWidthPx - WoodFilletWidthPx * 2).toString()}px`;\r\n pcs.css.f_container_height = `${(DocHeightPx - WoodFilletWidthPx * 2).toString()}px`;\r\n pcs.css.f_topleft_src =\r\n `${FramePartDomain}woodfillet/v2/${pcs.SecondaryMatName}_original_topleftcorner.png`.toLowerCase();\r\n pcs.css.f_topleft_left = `0px`;\r\n pcs.css.f_topleft_top = `0px`;\r\n pcs.css.f_topleft_width = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_topright_src =\r\n `${FramePartDomain}woodfillet/v2/${pcs.SecondaryMatName}_original_toprightcorner.png`.toLowerCase();\r\n pcs.css.f_topright_left = `${(DocWidthPx + WoodFilletWidthPx).toString()}px`;\r\n pcs.css.f_topright_top = `0px`;\r\n pcs.css.f_topright_width = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_bottomleft_src =\r\n `${FramePartDomain}woodfillet/v2/${pcs.SecondaryMatName}_original_bottomleftcorner.png`.toLowerCase();\r\n pcs.css.f_bottomleft_left = `0px`;\r\n pcs.css.f_bottomleft_top = `${(DocHeightPx + WoodFilletWidthPx).toString()}px`;\r\n pcs.css.f_bottomleft_width = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_bottomright_src =\r\n `${FramePartDomain}woodfillet/v2/${pcs.SecondaryMatName}_original_bottomrightcorner.png`.toLowerCase();\r\n pcs.css.f_bottomright_left = `${(DocWidthPx + WoodFilletWidthPx).toString()}px`;\r\n pcs.css.f_bottomright_top = `${(DocHeightPx + WoodFilletWidthPx).toString()}px`;\r\n pcs.css.f_bottomright_width = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_left_src =\r\n `${FramePartDomain}woodfillet/v2/${pcs.SecondaryMatName}_original_leftside.png`.toLowerCase();\r\n pcs.css.f_left_left = `0px`;\r\n pcs.css.f_left_top = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_left_width = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_left_height = `${DocHeightPx.toString()}px`;\r\n pcs.css.f_right_src =\r\n `${FramePartDomain}woodfillet/v2/${pcs.SecondaryMatName}_original_rightside.png`.toLowerCase();\r\n pcs.css.f_right_left = `${(DocWidthPx + WoodFilletWidthPx).toString()}px`;\r\n pcs.css.f_right_top = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_right_width = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_right_height = `${DocHeightPx.toString()}px`;\r\n pcs.css.f_top_src =\r\n `${FramePartDomain}woodfillet/v2/${pcs.SecondaryMatName}_original_topside.png`.toLowerCase();\r\n pcs.css.f_top_left = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_top_top = `0px`;\r\n pcs.css.f_top_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.f_top_height = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_bottom_src =\r\n `${FramePartDomain}woodfillet/v2/${pcs.SecondaryMatName}_original_bottomside.png`.toLowerCase();\r\n pcs.css.f_bottom_left = `${WoodFilletWidthPx.toString()}px`;\r\n pcs.css.f_bottom_top = `${(DocHeightPx + WoodFilletWidthPx).toString()}px`;\r\n pcs.css.f_bottom_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.f_bottom_height = `${WoodFilletWidthPx.toString()}px`;\r\n };\r\n\r\n export const renderStandardInsignia = (\r\n FilletCount: number,\r\n WoodFilletWidthPx: number,\r\n PMatWidthPx: number,\r\n MaxInsigniaWidthPx: number,\r\n RailTopPx: number,\r\n BevelWidthPx: number,\r\n SMatCount: number,\r\n SMatWidthPx: number,\r\n pcs: ProductCustomizationState,\r\n ): number => {\r\n pcs.css.insignia_bot_visible = false;\r\n pcs.css.insignia_visible = pcs.Base_InsigniaID > 0;\r\n let left: number = -1;\r\n if (pcs.Base_InsigniaID > 0) {\r\n pcs.css.insignia_src = insignia_path(MaxInsigniaWidthPx, pcs.Base_InsigniaName);\r\n left = (\r\n ((\r\n Math.floor(\r\n (PMatWidthPx) / 2 - (MaxInsigniaWidthPx) / 2,\r\n )\r\n ))\r\n );\r\n pcs.css.insignia_left = `${left}px`;\r\n pcs.css.insignia_top = `${((Math.floor(((RailTopPx) - (BevelWidthPx) - (SMatCount) * ((SMatWidthPx) + (BevelWidthPx)) - (FilletCount) * ((WoodFilletWidthPx) - (BevelWidthPx))) / 2 - (MaxInsigniaWidthPx) / 2))).toString()}px`;\r\n pcs.css.insignia_width = `${MaxInsigniaWidthPx.toString()}px`;\r\n pcs.css.insignia_height = `${MaxInsigniaWidthPx.toString()}px`;\r\n pcs.css.insignia_bot = ``;\r\n }\r\n return left;\r\n };\r\n export const renderBottomInsignia = (\r\n FilletCount: number,\r\n WoodFilletWidthPx: number,\r\n PMatWidthPx: number,\r\n MaxInsigniaWidthPx: number,\r\n RailTopPx: number,\r\n BevelWidthPx: number,\r\n SMatCount: number,\r\n SMatWidthPx: number,\r\n DocHeight: number,\r\n pcs: ProductCustomizationState,\r\n ): number => {\r\n pcs.css.insignia_visible = false;\r\n pcs.css.insignia_bot_visible = pcs.Base_InsigniaID > 0;\r\n let left: number = -1;\r\n if (pcs.Base_InsigniaID > 0) {\r\n pcs.css.insignia_src = insignia_path(MaxInsigniaWidthPx, pcs.Base_InsigniaName);\r\n left = (\r\n ((\r\n Math.floor(\r\n (PMatWidthPx) / 2 - (MaxInsigniaWidthPx) / 2,\r\n )\r\n ))\r\n );\r\n pcs.css.insignia_left = `${((Math.floor((PMatWidthPx) / 2 - (MaxInsigniaWidthPx) / 2))).toString()}px`;\r\n pcs.css.insignia_bot = `${((Math.floor(((RailTopPx) - (BevelWidthPx) - (SMatCount) * ((SMatWidthPx) + (BevelWidthPx)) - (FilletCount) * ((WoodFilletWidthPx) - (BevelWidthPx))) / 2 - (MaxInsigniaWidthPx) / 2))).toString()}px`;\r\n pcs.css.insignia_top = ``;\r\n pcs.css.insignia_width = `${MaxInsigniaWidthPx.toString()}px`;\r\n pcs.css.insignia_height = `${MaxInsigniaWidthPx.toString()}px`;\r\n }\r\n return left;\r\n };\r\n export const renderBottomRightInsignia = (pcs: ProductCustomizationState): void => {\r\n pcs.css.insignia_br_visible = pcs.Base_InsigniaID > 0;\r\n if (pcs.Base_InsigniaID > 0) {\r\n let mod: number = 0.3;\r\n pcs.css.insignia_br_src =\r\n `${FramePartDomain}insignia/v2/med_full/${pcs.Base_InsigniaName}.png`.toLowerCase();\r\n pcs.css.insignia_br_right = `-${((pcs.FrameDisplay_width * mod * 0.4))}px`;\r\n pcs.css.insignia_br_bot = `-${((pcs.FrameDisplay_width * mod * 0.6))}px`;\r\n pcs.css.insignia_br_width = `${pcs.FrameDisplay_width * mod}px`;\r\n pcs.css.insignia_br_height = `${pcs.FrameDisplay_width * mod}px`;\r\n }\r\n };\r\n\r\n export const insignia_path_noBevel = (n: number, InsigniaName: string | null): string => {\r\n let x = 'med_full';\r\n if (n >= 0 && n < 220) {\r\n x = 'med_220';\r\n }\r\n return `${FramePartDomain}insignia/v2/${x}/${InsigniaName}.png`.toLowerCase();\r\n };\r\n\r\n export const insignia_path = (n: number, InsigniaName: string | null): string => {\r\n let x = 'original';\r\n if (n >= 0 && n < 25) {\r\n x = '50';\r\n } else if (n >= 26 && n < 45) {\r\n x = '90';\r\n } else if (n >= 46 && n < 110) {\r\n x = '220';\r\n } else if (n >= 111 && n < 320) {\r\n x = '640';\r\n }\r\n return `${FramePartDomain}insignia/v2/${InsigniaName}_${x}.png`.toLowerCase();\r\n };\r\n\r\n export const renderStandardLino = (\r\n FilletCount: number,\r\n WoodFilletWidthPx: number,\r\n BevelWidthPx: number,\r\n SMatCount: number,\r\n SMatWidthPx: number,\r\n RailSidePx: number,\r\n DocWidthPx: number,\r\n DocHeightPx: number,\r\n LinoWidthMaxPx: number,\r\n LinoHeightMaxPx: number,\r\n pcs: ProductCustomizationState,\r\n ): number => {\r\n pcs.css.lino_visible = pcs.Base_LinoID > 0;\r\n let linoLeft: number = -1;\r\n if (pcs.Base_LinoID > 0) {\r\n pcs.css.lino_src = lino_path(LinoWidthMaxPx, pcs);\r\n linoLeft = (\r\n ((\r\n Math.floor(\r\n (RailSidePx) +\r\n (DocWidthPx) / 2 -\r\n (LinoWidthMaxPx) / 2,\r\n )\r\n ))\r\n );\r\n pcs.css.lino_left = `${linoLeft}px`;\r\n pcs.css.lino_top = `${((RailSidePx + DocHeightPx + BevelWidthPx + SMatCount * (SMatWidthPx + BevelWidthPx) + FilletCount * WoodFilletWidthPx + Math.floor(((RailSidePx) - (BevelWidthPx) - (SMatCount) * ((SMatWidthPx) + (BevelWidthPx)) - (FilletCount) * (WoodFilletWidthPx)) / 2 - (LinoHeightMaxPx) / 2)))}px`;\r\n pcs.css.lino_width = `${LinoWidthMaxPx.toString()}px`;\r\n pcs.css.lino_height = `${LinoHeightMaxPx.toString()}px`;\r\n }\r\n return linoLeft;\r\n };\r\n\r\n export const lino_path = (n: number, pcs: ProductCustomizationState): string => {\r\n if (pcs.IsCAF || s.pcs.lino_is_dyf) {\r\n return `${FramePartDomain}linotype_caf/v2/${pcs.Base_LinoName.replace(/ /g, '_')}_${pcs.lino_dyf_color}.png`.toLowerCase();\r\n }\r\n let x = 'original';\r\n if (n >= 0 && n < 75) {\r\n x = '150';\r\n } else if (n >= 76 && n < 175) {\r\n x = '350';\r\n }\r\n return `${FramePartDomain}linotype_product/v2/${pcs.Base_LinoName}_${x}.png`.toLowerCase();\r\n };\r\n\r\n export const renderEngravedPlate = (\r\n Left: number,\r\n Top: number,\r\n EPWidthPx: number,\r\n EPHeightPx: number,\r\n BevelWidthPx: number,\r\n PMatWidthPx: number,\r\n pcs: ProductCustomizationState,\r\n ): void => {\r\n pcs.css.ep_bevel_backgroundColor = `white`;\r\n pcs.css.ep_bevel_left = `${Left.toString()}px`;\r\n pcs.css.ep_bevel_top = `${Top.toString()}px`;\r\n pcs.css.ep_bevel_width = `${(EPWidthPx + BevelWidthPx * 4).toString()}px`;\r\n pcs.css.ep_bevel_height = `${(EPHeightPx + BevelWidthPx * 4).toString()}px`;\r\n pcs.css.ep_pmat_backgroundImage =\r\n `url('${pmat_path(PMatWidthPx, pcs.PrimaryMatName)}')`.toLowerCase();\r\n pcs.css.ep_pmat_left = `${BevelWidthPx}px`;\r\n pcs.css.ep_pmat_top = `${BevelWidthPx}px`;\r\n pcs.css.ep_pmat_width = `${(EPWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.ep_pmat_height = `${(EPHeightPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.ep_backgroundImage =\r\n `url('${FramePartDomain}engravedplate/${pcs.EngravedPlateName}_original_engravedplate.png')`.toLowerCase();\r\n pcs.css.ep_backgroundSize = `cover`;\r\n if (pcs.EngravedPlateID === 1099) {\r\n pcs.css.ep_color = `black`;\r\n } else if (pcs.EngravedPlateID === 39) {\r\n pcs.css.ep_color = `silver`;\r\n } else {\r\n pcs.css.ep_color = `gold`;\r\n }\r\n pcs.css.ep_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.ep_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.ep_width = `${EPWidthPx.toString()}px`;\r\n pcs.css.ep_height = `${EPHeightPx.toString()}px`;\r\n let EPLineCount: number = getEPLineCount(pcs);\r\n let LineHeight: number = (Math.floor((EPHeightPx) / 3));\r\n let EPTextTop: number = (\r\n ((\r\n Math.floor(\r\n ((EPHeightPx) -\r\n (EPLineCount) * (LineHeight)) /\r\n 2,\r\n )\r\n ))\r\n );\r\n pcs.css.ep_lines_top = `${EPTextTop.toString()}px`;\r\n pcs.css.ep_lines_left = `0px`;\r\n pcs.css.ep_lines_lineHeight = `${LineHeight.toString()}px`;\r\n pcs.css.ep_lines_fontSize = `${(LineHeight - 1).toString()}px`;\r\n pcs.css.ep_lines_width = `${EPWidthPx.toString()}px`;\r\n pcs.css.ep_lines_height = `${EPHeightPx.toString()}px`;\r\n if (pcs.css.lino_visible) {\r\n pcs.css.ep_visible = false;\r\n }\r\n };\r\n\r\n export const tassel_path = (n: number, TasselName: string | null): string => {\r\n let x = 'original';\r\n if (n >= 0 && n < 175) {\r\n x = '59';\r\n }\r\n return `https://i.diplomaframe.com/images/entities/tassel/v2/${TasselName}_${x}.png`.toLowerCase();\r\n };\r\n\r\n export const getEPLineCount = (pcs: ProductCustomizationState): number => {\r\n let lines = 0;\r\n if (pcs.EP_1 && !Util.isNullOrWhiteSpace(pcs.EP_1) && pcs.EP_1.length > 0) {\r\n lines += 1;\r\n }\r\n if (pcs.EP_2 && !Util.isNullOrWhiteSpace(pcs.EP_2) && pcs.EP_2.length > 0) {\r\n lines += 2;\r\n }\r\n if (pcs.EP_3 && !Util.isNullOrWhiteSpace(pcs.EP_3) && pcs.EP_3.length > 0) {\r\n lines += 3;\r\n }\r\n return lines;\r\n };\r\n\r\n export const ItemID_EndsWithNumber = (str: string): boolean => {\r\n if (Util.isNullOrWhiteSpace(str)) {\r\n return false;\r\n }\r\n var c = str.slice(-1);\r\n if (c >= '0' && c <= '9') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n export const Get_DocumentSizeTierID = (\r\n Width: number,\r\n Height: number,\r\n ProductTypeID: number,\r\n ): number => {\r\n if (Width > Height) {\r\n let Temp = Height;\r\n Height = Width;\r\n Width = Temp;\r\n }\r\n\r\n let id: number = 12;\r\n var arr = DocumentSizeTierData.filter(f => f.Width >= Width && f.Height >= Height);\r\n\r\n // console.log(Width, Height);\r\n // console.log(arr);\r\n\r\n if (arr.length === 1) {\r\n return arr[0].DocumentSizeTierID;\r\n } else if (arr.length > 1) {\r\n var x = arr[0];\r\n for (let i = 1; i < arr.length; i++) {\r\n var f = arr[i];\r\n if (\r\n f.Width >= Width &&\r\n f.Height >= Height &&\r\n f.Width < x.Width &&\r\n f.Height <= x.Height\r\n ) {\r\n x = f;\r\n }\r\n }\r\n id = x.DocumentSizeTierID;\r\n } else {\r\n id = 12;\r\n }\r\n\r\n return id;\r\n };\r\n\r\n export const getDocSizeTier = (pcs: ProductCustomizationState) => {\r\n let WidthLimit: number = 14;\r\n let HeightLimit: number = 14;\r\n let xDocument_Width = pcs.Document_Width;\r\n let xDocument_Height = pcs.Document_Height;\r\n\r\n if (xDocument_Width > WidthLimit) {\r\n let ratio: number = WidthLimit / xDocument_Width;\r\n xDocument_Width = WidthLimit;\r\n xDocument_Height = xDocument_Height * ratio;\r\n }\r\n if (xDocument_Height > HeightLimit) {\r\n let ratio: number = HeightLimit / xDocument_Height;\r\n xDocument_Height = HeightLimit;\r\n xDocument_Width = xDocument_Width * ratio;\r\n }\r\n\r\n // We normalized the width/height as that framestyle is driven by height. Height needs to be the smaller.\r\n let tempWidth: number = xDocument_Width;\r\n let tempHeight: number = xDocument_Height;\r\n if (tempHeight > tempWidth) {\r\n let dTemp: number = xDocument_Height;\r\n tempHeight = xDocument_Width;\r\n tempWidth = dTemp;\r\n }\r\n\r\n var arr = DocStackingSizeTiers.filter(\r\n f => f.DocWidth >= tempWidth && f.DocHeight >= tempHeight,\r\n );\r\n\r\n if (arr == null || arr.length < 1) {\r\n return DocStackingSizeTiers[DocStackingSizeTiers.length - 1];\r\n } else if (arr.length === 1) {\r\n return arr[0];\r\n } else {\r\n var x = arr[0];\r\n for (let i = 1; i < arr.length; i++) {\r\n var f = arr[i];\r\n if (\r\n f.DocWidth >= tempWidth &&\r\n f.DocHeight >= tempHeight &&\r\n f.DocWidth < x.DocWidth &&\r\n f.DocHeight <= x.DocHeight\r\n ) {\r\n x = f;\r\n }\r\n }\r\n return x;\r\n }\r\n };\r\n\r\n export const getDocSizeTier2 = (pcs: ProductCustomizationState) => {\r\n let WidthLimit: number = 14;\r\n let HeightLimit: number = 14;\r\n let xDocument2_Width = pcs.Document2_Width;\r\n let xDocument2_Height = pcs.Document2_Height;\r\n\r\n if (xDocument2_Width > WidthLimit) {\r\n let ratio: number = WidthLimit / xDocument2_Width;\r\n xDocument2_Width = WidthLimit;\r\n xDocument2_Height = xDocument2_Height * ratio;\r\n }\r\n if (xDocument2_Height > HeightLimit) {\r\n let ratio: number = HeightLimit / xDocument2_Height;\r\n xDocument2_Height = HeightLimit;\r\n xDocument2_Width = xDocument2_Width * ratio;\r\n }\r\n\r\n // We normalized the width/height as that framestyle is driven by height. Height needs to be the smaller.\r\n let tempWidth: number = xDocument2_Width;\r\n let tempHeight: number = xDocument2_Height;\r\n if (tempHeight > tempWidth) {\r\n let dTemp: number = xDocument2_Height;\r\n tempHeight = xDocument2_Width;\r\n tempWidth = dTemp;\r\n }\r\n\r\n var arr = DocStackingSizeTiers.filter(\r\n f => f.DocWidth >= tempWidth && f.DocHeight >= tempHeight,\r\n );\r\n\r\n if (arr == null || arr.length < 1) {\r\n return DocStackingSizeTiers[DocStackingSizeTiers.length - 1];\r\n } else if (arr.length === 1) {\r\n return arr[0];\r\n } else {\r\n var x = arr[0];\r\n for (let i = 1; i < arr.length; i++) {\r\n var f = arr[i];\r\n if (\r\n f.DocWidth >= tempWidth &&\r\n f.DocHeight >= tempHeight &&\r\n f.DocWidth < x.DocWidth &&\r\n f.DocHeight <= x.DocHeight\r\n ) {\r\n x = f;\r\n }\r\n }\r\n return x;\r\n }\r\n };\r\n\r\n export const linoWidthAdjust = (n: number, pcs: ProductCustomizationState): number => {\r\n if (pcs.IsCAF || pcs.MaxFrameWidthPx <= 300) {\r\n return n;\r\n }\r\n if (n > 300) {\r\n if (pcs.Document_Width >= 9 && pcs.Document_Width <= 9.9999) {\r\n return n * 0.9;\r\n } else if (pcs.Document_Width >= 10 && pcs.Document_Width <= 13.9999) {\r\n if (Util.isNullOrWhiteSpace(pcs.ItemID) && !ItemID_EndsWithNumber(pcs.ItemID)) {\r\n return n * 0.83;\r\n } else {\r\n return n * 0.9;\r\n }\r\n } else if (pcs.Document_Width >= 14 && pcs.Document_Width <= 16) {\r\n return n * 0.9;\r\n } else if (pcs.Document_Width >= 16.0001 && pcs.Document_Width <= 50) {\r\n if (Util.isNullOrWhiteSpace(pcs.ItemID) && !ItemID_EndsWithNumber(pcs.ItemID)) {\r\n return n * 0.9;\r\n } else {\r\n return n;\r\n }\r\n } else {\r\n return n * 0.9;\r\n }\r\n }\r\n return n;\r\n };\r\n\r\n export const render = (\r\n pcs: r.ProductCustomizationState,\r\n _renderType: Util.RenderType = Util.RenderType.Normal,\r\n ): PCS_CSS => {\r\n pcs.state_FlatImageMode = true;\r\n if (window.innerWidth > 1200) {\r\n pcs.MaxFrameWidthPx = DefaultPCS.DefaultMaxFrameWidth;\r\n } else if (window.innerWidth > 880) {\r\n pcs.MaxFrameWidthPx = 800;\r\n } else if (window.innerWidth > 440) {\r\n pcs.MaxFrameWidthPx = window.innerWidth * 0.9;\r\n } else if (window.innerWidth > 200) {\r\n pcs.MaxFrameWidthPx = window.innerWidth * 0.85;\r\n } else {\r\n pcs.MaxFrameWidthPx = window.innerWidth * 0.75;\r\n }\r\n pcs.MaxFrameHeightPx = DefaultPCS.DefaultMaxFrameHeight;\r\n\r\n if (_renderType === Util.RenderType.Zoom) {\r\n pcs.MaxFrameWidthPx = window.innerWidth * 0.8;\r\n pcs.MaxFrameHeightPx = window.innerHeight * 0.8;\r\n }\r\n\r\n pcs.css.insignia_bot_visible = false;\r\n pcs.Document_Width = s.pcs.docWidth;\r\n pcs.Document_Height = s.pcs.docHeight;\r\n pcs.Document2_Width = s.pcs.docWidth2;\r\n pcs.Document2_Height = s.pcs.docHeight2;\r\n pcs.isHorizontal = s.pcs.docWidth > s.pcs.docHeight;\r\n\r\n const moulding = s.prod.mouldings.filter(m => m.id === s.pcs.moulding_id)[0];\r\n if (moulding) {\r\n pcs.MouldingID = moulding.id;\r\n pcs.MouldingName = moulding.name;\r\n pcs.MouldingExtWidth = moulding.extWidth;\r\n }\r\n\r\n if (!pcs.IsCAF) {\r\n const mat = s.prod.mats.filter(m => m.id === s.pcs.matcombo_id)[0];\r\n if (mat) {\r\n pcs.MatCombo_IsWoodFillet = mat.mat2_id === 36 || mat.mat2_id === 38;\r\n pcs.PrimaryMatID = mat.mat1_id;\r\n pcs.PrimaryMatName = mat.pmat_name;\r\n pcs.PrimaryMatColor = mat.pmat_color;\r\n pcs.SecondaryMatID = mat.mat2_id;\r\n if (pcs.SecondaryMatID > 0) {\r\n pcs.SecondaryMatName = mat.smat_name;\r\n pcs.SecondaryMatColor = mat.smat_color;\r\n }\r\n }\r\n } else {\r\n const mat1 = s.prod.caf_mat1.filter(m => m.id === s.pcs.mat1_id)[0];\r\n const mat2 = s.prod.caf_mat2.filter(m => m.id === s.pcs.mat2_id)[0];\r\n if (mat1) {\r\n pcs.PrimaryMatID = mat1.id;\r\n pcs.PrimaryMatName = mat1.name;\r\n pcs.PrimaryMatColor = mat1.mat_color;\r\n } else {\r\n pcs.PrimaryMatID = -1;\r\n pcs.PrimaryMatName = '';\r\n pcs.PrimaryMatColor = '';\r\n }\r\n if (mat2) {\r\n pcs.MatCombo_IsWoodFillet = mat2.id === 36 || mat2.id === 38;\r\n pcs.SecondaryMatID = mat2.id;\r\n pcs.SecondaryMatName = mat2.name;\r\n pcs.SecondaryMatColor = mat2.mat_color;\r\n } else {\r\n pcs.SecondaryMatID = -1;\r\n pcs.SecondaryMatName = '';\r\n pcs.SecondaryMatColor = '';\r\n }\r\n }\r\n\r\n if (!s.pcs.ep_id || s.pcs.ep_id <= 0 || s.prod.EngravedPlateStatusID === 0) {\r\n pcs.HasEngravedPlate = false;\r\n } else {\r\n pcs.HasEngravedPlate = true;\r\n pcs.EngravedPlateID = s.pcs.ep_id;\r\n if (s.pcs.ep_id === 37) {\r\n pcs.EngravedPlateName = 'EP_Gold';\r\n } else if (s.pcs.ep_id === 39) {\r\n pcs.EngravedPlateName = 'EP_Silver';\r\n } else {\r\n pcs.EngravedPlateName = 'EP_Black';\r\n }\r\n pcs.EP_1 = s.pcs.ep1;\r\n pcs.EP_2 = s.pcs.ep2;\r\n pcs.EP_3 = s.pcs.ep3;\r\n }\r\n\r\n pcs.Base_LinoID = s.pcs.lino_id;\r\n pcs.Base_LinoName = s.pcs.lino_base_name;\r\n pcs.lino_dyf_color = s.pcs.lino_dyf_color;\r\n pcs.Base_InsigniaID = s.pcs.insignia_id;\r\n pcs.Base_InsigniaName = s.pcs.insignia_base_name;\r\n\r\n if (\r\n s.prod.allowUpload1 &&\r\n s.ui.image_uploaded &&\r\n s.pcs.image_upload_hash3 &&\r\n s.pcs.image_upload_hash3.length > 2 &&\r\n s.pcs.override_d1_img &&\r\n s.pcs.override_d1_img.length > 5\r\n ) {\r\n pcs.o3 = s.pcs.override_d1_img;\r\n }\r\n\r\n pcs.UseCommonDPI =\r\n (pcs.MaxFrameWidthPx == 220 && pcs.MaxFrameHeightPx == 250) ||\r\n pcs.MaxFrameWidthPx == 308;\r\n pcs.UseMaxMouldingForSizing = false;\r\n\r\n pcs.Base_ExtraID = s.prod.ExtraEntityID;\r\n pcs.Base_ExtraEntityName = s.prod.ExtraEntityName;\r\n\r\n if (s.prod.CustomizationMethod === 1) {\r\n render_old_style(pcs, _renderType);\r\n pcs.css.frame_display_width = pcs.FrameDisplay_width;\r\n pcs.css.frame_display_height = pcs.FrameDisplay_height;\r\n return {...pcs.css};\r\n } else if (s.prod.CustomizationMethod < 1) {\r\n pcs.css.frame_display_width = pcs.FrameDisplay_width;\r\n pcs.css.frame_display_height = pcs.FrameDisplay_height;\r\n return {...pcs.css};\r\n }\r\n\r\n if (\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Single_Document ||\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Photo_Frame ||\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Spirit ||\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.SpiritB ||\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Cameo\r\n ) {\r\n renderSingleDocFrame(pcs);\r\n } else if (s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Tassel) {\r\n renderTasselFrame(pcs);\r\n } else if (\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Double_Document ||\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Campus_Scene\r\n ) {\r\n renderDoubleDoc(pcs);\r\n } else if (s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Varsity) {\r\n renderVarsity(pcs);\r\n } else if (\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Sports_Oval ||\r\n s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Portrait_Oval\r\n ) {\r\n renderOvalFrame(pcs);\r\n } else if (s.prod.DYF_FrameStyleID === DYF_FrameStylesEnum.Century) {\r\n renderCentury(pcs);\r\n }\r\n\r\n pcs.css.frame_display_width = pcs.FrameDisplay_width;\r\n pcs.css.frame_display_height = pcs.FrameDisplay_height;\r\n\r\n return {...pcs.css};\r\n };\r\n\r\n export const render_old_style = (\r\n pcs: r.ProductCustomizationState,\r\n _renderType: Util.RenderType,\r\n ) => {\r\n let MouldingWidthPx: number =\r\n s.prod.MouldingThickness === 1 ? 21 : s.prod.MouldingThickness === 2 ? 63 : 42;\r\n\r\n const largept = [2, 6, 8, 44, 45, 46, 47, 59, 64, 9, 19, 9, 60];\r\n\r\n // if(largept.includes[s.prod.ProductTypeID] && !s.prod.OrientationHorizontal){\r\n // MouldingWidthPx = 16;\r\n // } else if(largept.includes[s.prod.ProductTypeID]){\r\n // MouldingWidthPx = 16;\r\n // } else\r\n\r\n if (\r\n s.prod.MouldingExtWidth <= 1.375 ||\r\n s.prod.MouldingID == 146 ||\r\n !s.prod.OrientationHorizontal\r\n ) {\r\n MouldingWidthPx = 22;\r\n } else if (s.prod.MouldingExtWidth < 2) {\r\n MouldingWidthPx = 32;\r\n } else {\r\n MouldingWidthPx = 50;\r\n }\r\n pcs.css.moulding_width = MouldingWidthPx;\r\n pcs.css.moulding_half = MouldingWidthPx / 2;\r\n\r\n pcs.css.m_topleft_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_topleftcorner.jpg`.toLowerCase();\r\n pcs.css.m_topleft_left = `0`;\r\n pcs.css.m_topleft_top = `0`;\r\n pcs.css.m_topleft_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_topright_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_toprightcorner.jpg`.toLowerCase();\r\n pcs.css.m_topright_left = ``;\r\n pcs.css.m_topright_top = `0`;\r\n pcs.css.m_topright_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_bottomleft_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_bottomleftcorner.jpg`.toLowerCase();\r\n pcs.css.m_bottomleft_left = `0`;\r\n pcs.css.m_bottomleft_top = `inherit`;\r\n pcs.css.m_bottomleft_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_bottomright_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_bottomrightcorner.jpg`.toLowerCase();\r\n pcs.css.m_bottomright_left = `inherit`;\r\n pcs.css.m_bottomright_top = `inherit`;\r\n pcs.css.m_bottomright_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_left_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_leftside.jpg`.toLowerCase();\r\n pcs.css.m_left_left = `0`;\r\n pcs.css.m_left_top = `0`;\r\n pcs.css.m_left_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_left_height = `100%`;\r\n pcs.css.m_right_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_rightside.jpg`.toLowerCase();\r\n pcs.css.m_right_left = `inherit`;\r\n pcs.css.m_right_top = `0`;\r\n pcs.css.m_right_width = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_right_height = `100%`;\r\n pcs.css.m_top_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_topside.jpg`.toLowerCase();\r\n pcs.css.m_top_left = `0px`;\r\n pcs.css.m_top_top = `0`;\r\n // pcs.css.m_top_width = `${PMatWidthPx.toString()}px`;\r\n pcs.css.m_top_height = `${MouldingWidthPx.toString()}px`;\r\n pcs.css.m_bottom_src =\r\n `${FramePartDomain}moulding/v2/${pcs.MouldingName}_original_bottomside.jpg`.toLowerCase();\r\n pcs.css.m_bottom_left = `0px`;\r\n pcs.css.m_bottom_top = `inherit`;\r\n // pcs.css.m_bottom_width = `${PMatWidthPx.toString()}px`;\r\n pcs.css.m_bottom_height = `${MouldingWidthPx.toString()}px`;\r\n\r\n return true;\r\n };\r\n\r\n const renderSingleDocFrame = (pcs: r.ProductCustomizationState): void => {\r\n let CurrentDocWidth: number = 0;\r\n let CurrentDocHeight: number = 0;\r\n let DocSizeTier = r.getDocSizeTier(pcs);\r\n let WidthLimit: number = 14;\r\n let HeightLimit: number = 14;\r\n\r\n if (pcs.Document_Width > WidthLimit) {\r\n let ratio: number = WidthLimit / pcs.Document_Width;\r\n pcs.Document_Width = WidthLimit;\r\n pcs.Document_Height = pcs.Document_Height * ratio;\r\n }\r\n if (pcs.Document_Height > HeightLimit) {\r\n let ratio: number = HeightLimit / pcs.Document_Height;\r\n pcs.Document_Height = HeightLimit;\r\n pcs.Document_Width = pcs.Document_Width * ratio;\r\n }\r\n CurrentDocWidth = pcs.Document_Width;\r\n CurrentDocHeight = pcs.Document_Height;\r\n\r\n let filletCount: number = pcs.MatCombo_IsWoodFillet ? 1 : 0;\r\n let SMatCount: number = !pcs.MatCombo_IsWoodFillet && pcs.SecondaryMatID > 0 ? 1 : 0;\r\n let SMatWidthPixelAdder: number = 1;\r\n\r\n // rail Setup\r\n // - Rail includes: Inner Mat and all mat bevels.\r\n // - The primary mat is actually the inner mat on single document frames\r\n // - The document \"underlaps\" the inner mat. See DocSizeTier.DocOverLap\r\n // - The mats are overlapped by the moulding by 0.25\r\n // - From this point forward, rail will be defined as all visible portions of mats including bevels (we are subtracting out the 0.25 of moulding overlap)\r\n let MouldingOverlap: number = 0.25;\r\n let RailTop: number = (DocSizeTier.StandardRail) - MouldingOverlap;\r\n let RailSide: number = (DocSizeTier.StandardRail) - MouldingOverlap;\r\n if (pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Cameo)) {\r\n RailTop = (DocSizeTier.CameoRail) - MouldingOverlap;\r\n RailSide = (DocSizeTier.CameoRail) - MouldingOverlap;\r\n }\r\n // else if (pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Photo_Frame) && pcs.Document_Width <= 10) {\r\n // RailTop = 1.625 - MouldingOverlap;\r\n // RailSide = 1.625 - MouldingOverlap;\r\n // }\r\n // Dim RailSize = CDec(DocSizeTier.CameoRail) - MouldingOverlap\r\n // insignia Adjustments\r\n let InsigniaWidth =\r\n pcs.Base_InsigniaWidthInches > 0\r\n ? pcs.Base_InsigniaWidthInches\r\n : r.DefaultPCS.DefaultInsigniaWidthMax;\r\n // if (ProductID == 35808) { var sql = $\"INSERT INTO BackendLogV2 VALUES (0, 18006, 138, GETUTCDATE(), 1, {ProductID}, 999, 999, 999, '34.192.96.123', '1: {InsigniaWidth}');\"; data.fn.ExecuteSQL(sql); }\r\n if (\r\n pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Spirit) ||\r\n pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.SpiritB)\r\n ) {\r\n if (pcs.Base_InsigniaWidthInches > 1.9) {\r\n } else if (CurrentDocWidth < 10 && CurrentDocHeight < 10) {\r\n InsigniaWidth = Math.min(r.DefaultPCS.DefaultInsigniaWidthMax, RailTop - 0.5);\r\n // if (ProductID == 35808) { var sql = $\"INSERT INTO BackendLogV2 VALUES (0, 18006, 138, GETUTCDATE(), 1, {ProductID}, 999, 999, 999, '34.192.96.123', '2a: {InsigniaWidth}');\"; data.fn.ExecuteSQL(sql); }\r\n } else if (CurrentDocWidth < 10 || CurrentDocHeight < 10) {\r\n InsigniaWidth = Math.min(r.DefaultPCS.DefaultInsigniaWidthMax, RailTop - 0.4);\r\n // if (ProductID == 35808) { var sql = $\"INSERT INTO BackendLogV2 VALUES (0, 18006, 138, GETUTCDATE(), 1, {ProductID}, 999, 999, 999, '34.192.96.123', '2b: {DefaultPCS.DefaultInsigniaWidthMax}:{RailTop}');\"; data.fn.ExecuteSQL(sql); }\r\n }\r\n } else {\r\n InsigniaWidth =\r\n CurrentDocWidth < 10 && CurrentDocHeight < 10\r\n ? Math.min(r.DefaultPCS.DefaultInsigniaWidthMax, RailTop - 0.5)\r\n : InsigniaWidth;\r\n // if (ProductID == 35808) { var sql = $\"INSERT INTO BackendLogV2 VALUES (0, 18006, 138, GETUTCDATE(), 1, {ProductID}, 999, 999, 999, '34.192.96.123', '2c: {InsigniaWidth}');\"; data.fn.ExecuteSQL(sql); }\r\n }\r\n InsigniaWidth =\r\n DocSizeTier.DocSizeTierID >= 7 && pcs.Base_InsigniaWidthInches < 1 ? 2 : InsigniaWidth;\r\n // if (ProductID == 35808) { var sql = $\"INSERT INTO BackendLogV2 VALUES (0, 18006, 138, GETUTCDATE(), 1, {ProductID}, 999, 999, 999, '34.192.96.123', '3: {InsigniaWidth}');\"; data.fn.ExecuteSQL(sql); }\r\n // lino\r\n let LinoWidthMax: number =\r\n Math.min(r.DefaultPCS.DefaultLinoWidthMax, CurrentDocWidth + 1) +\r\n pcs.Base_LinoAdjustmentInches;\r\n LinoWidthMax = r.linoWidthAdjust(LinoWidthMax, pcs);\r\n let LinoHeightMax: number = r.DefaultPCS.DefaultLinoHeightMax * (LinoWidthMax / 11.5);\r\n // ****----____ EP-code-change ____----****\r\n let EPWidth: number = r.DefaultPCS.DefaultEPWidth;\r\n let EPHeight: number = r.DefaultPCS.DefaultEPHeight;\r\n if (CurrentDocHeight <= 7) {\r\n EPWidth = 3;\r\n EPHeight = 0.5;\r\n }\r\n // ****----____ EP-code-change ____----****\r\n let TotalWidth: number =\r\n RailSide * 2 +\r\n CurrentDocWidth +\r\n (pcs.UseMaxMouldingForSizing ? pcs.MouldingWidthMax * 2 : pcs.MouldingExtWidth * 2);\r\n let DPI: number = (Math.floor((pcs.MaxFrameWidthPx + 4) / TotalWidth)); // add 4. Yes, it's cheating, but we always round down and actually have a bit more room to work with.\r\n\r\n let done: boolean = false;\r\n let BevelWidthPx: number = -1;\r\n let DocWidthPx: number = -1;\r\n let DocHeightPx: number = -1;\r\n // ****----____ EP-code-change ____----****\r\n let EPWidthPx: number = -1;\r\n let EPHeightPx: number = -1;\r\n // ****----____ EP-code-change ____----****\r\n let MaxInsigniaWidthPx: number = -1;\r\n let LinoWidthMaxPx: number = -1;\r\n let LinoHeightMaxPx: number = -1;\r\n let MouldingWidthPx: number = -1;\r\n let MaxMouldingWidthPx: number = -1;\r\n let SMatWidthPx: number = -1;\r\n let RailSidePx: number = -1;\r\n let RailTopPx: number = -1;\r\n if (pcs.MaxFrameWidthPx <= 250 && SMatWidthPx > 2) {\r\n SMatWidthPx = 2;\r\n }\r\n let TotalUsedWidthPx: number = -1;\r\n let TotalUsedWidthPx_NoMargin: number = -1;\r\n let MaxSingleDocRailWidthPx: number = -1;\r\n let MaxPossibleSingleDocWidthPx: number = -1;\r\n let MaxPossibleSingleDocHeightPx: number = -1;\r\n let PMatWidthPx: number = -1;\r\n let TotalUsedHeightPx: number = -1;\r\n let TotalUsedHeightPx_NoMargin: number = 1;\r\n let PMatHeightPx: number = -1;\r\n let WoodFilletWidthPx: number = -1;\r\n\r\n while (!done) {\r\n BevelWidthPx = Math.max(1, (Math.round(pcs.BevelWidth * 2 * DPI))); // double bevel width. It was too small.\r\n DocWidthPx = (\r\n (Math.round((CurrentDocWidth - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n DocHeightPx = (\r\n (Math.round((CurrentDocHeight - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n // ****----____ EP-code-change ____----****\r\n EPWidthPx = ((EPWidth * DPI));\r\n EPHeightPx = ((EPHeight * DPI));\r\n // ****----____ EP-code-change ____----****\r\n MaxInsigniaWidthPx = (Math.round(InsigniaWidth * DPI));\r\n LinoWidthMaxPx = (Math.round(LinoWidthMax * DPI));\r\n LinoHeightMaxPx = (Math.round(LinoHeightMax * DPI));\r\n MouldingWidthPx = (Math.round(pcs.MouldingExtWidth * DPI));\r\n MaxMouldingWidthPx = (Math.round(pcs.MouldingWidthMax * DPI));\r\n pcs.Padding = MaxMouldingWidthPx - MouldingWidthPx;\r\n SMatWidthPx =\r\n Math.max(\r\n 1,\r\n (Math.floor((pcs.InnerAccentWidth - pcs.BevelWidth) * DPI)),\r\n ) + SMatWidthPixelAdder; // innerAccentWidth includes bevel. We take bevel out here as we convert to pixels. Adding +1 pixel here. We might have to loop back and adjust DPI down\r\n RailSidePx =\r\n (Math.round(RailSide * DPI)) +\r\n SMatWidthPixelAdder * SMatCount +\r\n filletCount * (BevelWidthPx * 2 + SMatWidthPx); // we add the smat pixel adder because this adder is not accounted for in the core rail size specs. Also, if it is a wood fillet, we must add the wood fillet to the rail size since the fillet is additive\r\n RailTopPx =\r\n (Math.round(RailTop * DPI)) +\r\n SMatWidthPixelAdder * SMatCount +\r\n filletCount * (BevelWidthPx * 2 + SMatWidthPx);\r\n if (pcs.MaxFrameWidthPx <= 250 && SMatWidthPx > 2) {\r\n SMatWidthPx = 2;\r\n } // Cap SMat at 2px for images at or below 250px// Cap SMat at 2px for images at or below 250px\r\n TotalUsedWidthPx = RailSidePx * 2 + DocWidthPx + MaxMouldingWidthPx * 2;\r\n TotalUsedWidthPx_NoMargin = RailSidePx * 2 + DocWidthPx + MouldingWidthPx * 2;\r\n // calculate the maximum possible width of a single doc frame with this document size. This is used to establish a common DPI across all single docs when UseCommonDPI is set to true\r\n MaxSingleDocRailWidthPx = Math.max(\r\n (\r\n ((\r\n Math.round(((DocSizeTier.CameoRail) - MouldingOverlap) * DPI)\r\n ))\r\n ) + SMatWidthPixelAdder,\r\n (\r\n ((\r\n Math.round(\r\n ((DocSizeTier.StandardRail) - MouldingOverlap) * DPI,\r\n )\r\n ))\r\n ) +\r\n SMatWidthPixelAdder +\r\n (BevelWidthPx * 2 + SMatWidthPx),\r\n ); // we use the larger cameo rail for this calculation. Also, compare against standard rail + fillet. Take the largest\r\n MaxPossibleSingleDocWidthPx =\r\n MaxSingleDocRailWidthPx * 2 + DocWidthPx + MaxMouldingWidthPx * 2;\r\n MaxPossibleSingleDocHeightPx =\r\n MaxSingleDocRailWidthPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n PMatWidthPx = TotalUsedWidthPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n TotalUsedHeightPx = RailTopPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n TotalUsedHeightPx_NoMargin = RailTopPx * 2 + DocHeightPx + MouldingWidthPx * 2;\r\n PMatHeightPx = TotalUsedHeightPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n WoodFilletWidthPx = BevelWidthPx * 2 + SMatWidthPx;\r\n\r\n if (DocHeightPx > DocWidthPx && pcs.UseCommonDPI) {\r\n if (MaxPossibleSingleDocHeightPx > pcs.MaxFrameWidthPx) {\r\n DPI -= 1;\r\n done = false;\r\n } else {\r\n done = true;\r\n }\r\n } else {\r\n if (\r\n (pcs.UseCommonDPI ? MaxPossibleSingleDocWidthPx : TotalUsedWidthPx_NoMargin) >\r\n pcs.MaxFrameWidthPx ||\r\n (pcs.UseCommonDPI ? TotalUsedHeightPx : TotalUsedHeightPx_NoMargin) >\r\n pcs.MaxFrameHeightPx\r\n ) {\r\n DPI -= 1;\r\n done = false;\r\n } else {\r\n done = true;\r\n }\r\n }\r\n }\r\n\r\n // check width, look back with new dpi if necessary\r\n pcs.FrameDisplay_width = TotalUsedWidthPx;\r\n pcs.FrameDisplay_height = TotalUsedHeightPx;\r\n // primary mat\r\n r.renderStandardPrimaryMat(\r\n PMatWidthPx,\r\n PMatHeightPx,\r\n MaxMouldingWidthPx,\r\n MouldingWidthPx,\r\n pcs,\r\n );\r\n r.renderStandardMoulding(MouldingWidthPx, PMatWidthPx, PMatHeightPx, pcs);\r\n // secondary mat\r\n pcs.css.fillet_visible = filletCount > 0;\r\n if (SMatCount > 0) {\r\n // if there is an inner accent, then the outer mat \"pulls back\" to make room for the inner mat\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${DocWidthPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${DocHeightPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n // console.log(BevelWidthPx, SMatWidthPx, DocWidthPx, DocHeightPx);\r\n r.RenderStandardSMat(BevelWidthPx, SMatWidthPx, DocWidthPx, DocHeightPx, pcs);\r\n pcs.css.doc1_src = r.doc_path(\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n } else if (filletCount > 0) {\r\n // turn off inner mat pieces\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `0px`;\r\n pcs.css.doc1_pmat_bevel_top = `0px`;\r\n pcs.css.doc1_pmat_bevel_width = ``;\r\n pcs.css.doc1_pmat_bevel_height = ``;\r\n r.renderCollapsedSMat(pcs);\r\n r.renderStandardFillet(\r\n RailSidePx,\r\n RailTopPx,\r\n WoodFilletWidthPx,\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs,\r\n );\r\n pcs.css.doc1_src = r.doc_path(\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `${RailSidePx.toString()}px`;\r\n pcs.css.doc1_top = `${RailTopPx.toString()}px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n } else {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${(DocWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${(DocHeightPx + BevelWidthPx * 2).toString()}px`;\r\n r.renderCollapsedSMat(pcs);\r\n pcs.css.doc1_src = r.doc_path(\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n }\r\n // insignia\r\n let insLeft: number = r.renderStandardInsignia(\r\n filletCount,\r\n WoodFilletWidthPx,\r\n PMatWidthPx,\r\n MaxInsigniaWidthPx,\r\n RailTopPx,\r\n BevelWidthPx,\r\n SMatCount,\r\n SMatWidthPx,\r\n pcs,\r\n );\r\n // lino\r\n let linoLeft: number = -1;\r\n if (filletCount > 0) {\r\n pcs.css.lino_visible = pcs.Base_LinoID > 0;\r\n if (pcs.Base_LinoID != 0) {\r\n pcs.css.lino_src = r.lino_path(LinoWidthMaxPx, pcs);\r\n pcs.css.lino_left = `${(Math.floor((RailSidePx) + (DocWidthPx) / 2 - (LinoWidthMaxPx) / 2))}px`;\r\n pcs.css.lino_top = `${((RailSidePx + DocHeightPx + filletCount * WoodFilletWidthPx + Math.floor(((RailSidePx) - (filletCount) * (WoodFilletWidthPx)) / 2 - (LinoHeightMaxPx) / 2)))}px`;\r\n pcs.css.lino_width = `${LinoWidthMaxPx.toString()}px`;\r\n pcs.css.lino_height = `${LinoHeightMaxPx.toString()}px`;\r\n }\r\n } else {\r\n linoLeft = r.renderStandardLino(\r\n filletCount,\r\n WoodFilletWidthPx,\r\n BevelWidthPx,\r\n SMatCount,\r\n SMatWidthPx,\r\n RailSidePx,\r\n DocWidthPx,\r\n DocHeightPx,\r\n LinoWidthMaxPx,\r\n LinoHeightMaxPx,\r\n pcs,\r\n );\r\n }\r\n // ep\r\n pcs.css.ep_visible = pcs.HasEngravedPlate;\r\n if (pcs.HasEngravedPlate) {\r\n let EPTopPx: number =\r\n (\r\n (RailSidePx +\r\n DocHeightPx +\r\n BevelWidthPx +\r\n SMatCount * (SMatWidthPx + BevelWidthPx) +\r\n filletCount * WoodFilletWidthPx)\r\n ) +\r\n (\r\n ((\r\n Math.floor(\r\n ((RailSidePx) -\r\n (BevelWidthPx) -\r\n (SMatCount) *\r\n ((SMatWidthPx) + (BevelWidthPx)) -\r\n (filletCount) * (WoodFilletWidthPx)) /\r\n 2 -\r\n (EPHeightPx) / 2,\r\n )\r\n ))\r\n ) -\r\n BevelWidthPx * 2;\r\n let EPLeftPx: number =\r\n (\r\n ((\r\n Math.floor(\r\n (RailSidePx) +\r\n (DocWidthPx) / 2 -\r\n (EPWidthPx) / 2,\r\n )\r\n ))\r\n ) -\r\n BevelWidthPx * 2;\r\n r.renderEngravedPlate(\r\n EPLeftPx,\r\n EPTopPx,\r\n EPWidthPx,\r\n EPHeightPx,\r\n BevelWidthPx,\r\n PMatWidthPx,\r\n pcs,\r\n );\r\n }\r\n if (pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Cameo)) {\r\n pcs.css.insignia_visible = false;\r\n pcs.css.cameo_visible = true;\r\n let CameoWidth: number = 4.75;\r\n let CameoHeight: number = 1.9;\r\n let CameoWidthPx: number = (Math.floor(CameoWidth * DPI)); // Cameo expands out to cover the missing inner accent space if no inner accent\r\n let CameoHeightPx: number = (Math.floor(CameoHeight * DPI));\r\n pcs.css.cameo_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.cameo_pmat_bevel_left = `${((\r\n ((\r\n Math.floor(\r\n (RailSidePx) +\r\n (DocWidthPx) / 2 -\r\n (CameoWidthPx) / 2,\r\n )\r\n ))\r\n )).toString()}px`;\r\n pcs.css.cameo_pmat_bevel_top = `${(\r\n (\r\n ((\r\n Math.floor(\r\n ((RailSidePx) -\r\n (BevelWidthPx) -\r\n SMatCount * ((SMatWidthPx) + BevelWidthPx)) /\r\n 2 -\r\n CameoHeightPx / 2,\r\n )\r\n ))\r\n ) - BevelWidthPx\r\n ).toString()}px`;\r\n pcs.css.cameo_pmat_bevel_width = `${(CameoWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.cameo_pmat_bevel_height = `${(CameoHeightPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.cameo_pmat_bevel_borderRadius = `${CameoWidthPx.toString()}px / ${CameoHeightPx.toString()}px`;\r\n pcs.css.cameo_src = r.cameo_path(CameoWidthPx, pcs.Base_ExtraEntityName);\r\n pcs.css.cameo_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.cameo_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.cameo_width = `${CameoWidthPx.toString()}px`;\r\n pcs.css.cameo_height = `${CameoHeightPx.toString()}px`;\r\n pcs.css.cameo_borderRadius = `${CameoWidthPx.toString()}px / ${CameoHeightPx.toString()}px`;\r\n }\r\n if (\r\n pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Spirit) ||\r\n pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.SpiritB)\r\n ) {\r\n pcs.css.spirit_visible = true;\r\n let left: number = (\r\n (Math.floor(((RailSidePx - SMatWidthPx - BevelWidthPx * 2)) / 2))\r\n );\r\n let spirit_thick: number = (\r\n (Math.floor(0.01260516605167 * (PMatWidthPx)))\r\n );\r\n if (spirit_thick % 2 != 0) {\r\n spirit_thick += 1;\r\n }\r\n spirit_thick += 2;\r\n let spirit_smat_thick: number = (((spirit_thick) / 2)) + 1;\r\n if (pcs.MaxFrameWidthPx >= 1280) {\r\n spirit_smat_thick = (((spirit_thick) / 2)) - 1;\r\n }\r\n if (spirit_smat_thick % 2 != 0) {\r\n if (pcs.MaxFrameWidthPx <= 599 || pcs.MaxFrameWidthPx == 800) {\r\n spirit_smat_thick -= 1;\r\n } else {\r\n spirit_smat_thick += 1;\r\n }\r\n }\r\n pcs.css.spirit_smat_bg = `#${pcs.SecondaryMatColor}`;\r\n let smat_left: number = left + (spirit_thick - spirit_smat_thick) / 2;\r\n let sidesLeft: number = left - (spirit_thick / 2);\r\n let sides_smat_Left: number =\r\n sidesLeft + ((spirit_thick - spirit_smat_thick) / 2);\r\n let sidesHeight: number = PMatHeightPx - left - left + spirit_thick;\r\n let smat_height: number = sidesHeight - (spirit_thick - spirit_smat_thick);\r\n // spirit widths\r\n pcs.css.spi_left_width = `${spirit_thick}px`;\r\n pcs.css.spi_right_width = `${spirit_thick}px`;\r\n pcs.css.spi_smat_left_width = `${spirit_smat_thick}px`;\r\n pcs.css.spi_smat_right_width = `${spirit_smat_thick}px`;\r\n // spirit left and right\r\n pcs.css.spi_left_left = `${sidesLeft}px`;\r\n pcs.css.spi_right_right = `${sidesLeft}px`;\r\n pcs.css.spi_left_top = `${sidesLeft}px`;\r\n pcs.css.spi_right_top = `${sidesLeft}px`;\r\n pcs.css.spi_left_height = `${sidesHeight}px`;\r\n pcs.css.spi_right_height = `${sidesHeight}px`;\r\n // spirit smat left and right\r\n pcs.css.spi_smat_left_left = `${sides_smat_Left}px`;\r\n pcs.css.spi_smat_right_right = `${sides_smat_Left}px`;\r\n pcs.css.spi_smat_left_top = `${sides_smat_Left}px`;\r\n pcs.css.spi_smat_right_top = `${sides_smat_Left}px`;\r\n pcs.css.spi_smat_left_height = `${smat_height}px`;\r\n pcs.css.spi_smat_right_height = `${smat_height}px`;\r\n if (pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Spirit)) {\r\n insLeft = r.renderBottomInsignia(\r\n filletCount,\r\n WoodFilletWidthPx,\r\n PMatWidthPx,\r\n MaxInsigniaWidthPx,\r\n RailTopPx,\r\n BevelWidthPx,\r\n SMatCount,\r\n SMatWidthPx,\r\n DocHeightPx,\r\n pcs,\r\n );\r\n }\r\n pcs.css.spirit_visible_ins = insLeft > 0;\r\n pcs.css.spirit_ins_bot =\r\n pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Spirit);\r\n pcs.css.spirit_visible_lino =\r\n pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.SpiritB) &&\r\n linoLeft > 0;\r\n // spirit bottom\r\n pcs.css.spi_bot1_left = `${left}px`;\r\n pcs.css.spi_bot2_right = `${left}px`;\r\n pcs.css.spi_bot1_bot = `${left - spirit_thick / 2}px`;\r\n pcs.css.spi_bot2_bot = `${left - spirit_thick / 2}px`;\r\n pcs.css.spi_smat_bot1_bot = `${smat_left - spirit_thick / 2}px`;\r\n pcs.css.spi_smat_bot2_bot = `${smat_left - spirit_thick / 2}px`;\r\n pcs.css.spi_bot1_height = `${spirit_thick}px`;\r\n pcs.css.spi_bot2_height = `${spirit_thick}px`;\r\n pcs.css.spi_smat_bot1_height = `${spirit_smat_thick}px`;\r\n pcs.css.spi_smat_bot2_height = `${spirit_smat_thick}px`;\r\n pcs.css.spi_smat_bot1_left = `${sides_smat_Left}px`;\r\n pcs.css.spi_smat_bot2_right = `${sides_smat_Left}px`;\r\n // bottom widths:\r\n if (pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Spirit)) {\r\n let _w: number = pcs.css.spirit_visible_ins\r\n ? insLeft - MaxInsigniaWidthPx\r\n : PMatWidthPx - left - left;\r\n pcs.css.spi_bot1_width = `${_w}px`;\r\n pcs.css.spi_bot2_width = `${_w}px`;\r\n pcs.css.spi_smat_bot1_width = `${_w}px`;\r\n pcs.css.spi_smat_bot2_width = `${_w}px`;\r\n } else if (pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.SpiritB)) {\r\n let _w: number = pcs.css.spirit_visible_lino\r\n ? linoLeft - (((left) / 1.25))\r\n : PMatWidthPx - left - left;\r\n pcs.css.spi_bot1_width = `${_w}px`;\r\n pcs.css.spi_bot2_width = `${_w}px`;\r\n pcs.css.spi_smat_bot1_width = `${_w}px`;\r\n pcs.css.spi_smat_bot2_width = `${_w}px`;\r\n }\r\n // spirit top\r\n pcs.css.spi_top1_left = `${left}px`;\r\n pcs.css.spi_top2_right = `${left}px`;\r\n pcs.css.spi_top1_top = `${left - spirit_thick / 2}px`;\r\n pcs.css.spi_top2_top = `${left - spirit_thick / 2}px`;\r\n pcs.css.spi_smat_top1_top = `${smat_left - spirit_thick / 2}px`;\r\n pcs.css.spi_smat_top2_top = `${smat_left - spirit_thick / 2}px`;\r\n pcs.css.spi_top1_height = `${spirit_thick}px`;\r\n pcs.css.spi_top2_height = `${spirit_thick}px`;\r\n pcs.css.spi_smat_top1_height = `${spirit_smat_thick}px`;\r\n pcs.css.spi_smat_top2_height = `${spirit_smat_thick}px`;\r\n pcs.css.spi_smat_top1_left = `${sides_smat_Left}px`;\r\n pcs.css.spi_smat_top2_right = `${sides_smat_Left}px`;\r\n // top widths:\r\n if (pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.Spirit)) {\r\n let _w: number = PMatWidthPx - left - left;\r\n pcs.css.spi_top1_width = `${_w}px`;\r\n pcs.css.spi_top2_width = `${_w}px`;\r\n pcs.css.spi_smat_top1_width = `${_w}px`;\r\n pcs.css.spi_smat_top2_width = `${_w}px`;\r\n pcs.css.lino_visible = false;\r\n } else if (pcs.DYF_FrameStyleID == (r.DYF_FrameStylesEnum.SpiritB)) {\r\n let _w: number = pcs.css.spirit_visible_ins\r\n ? insLeft - MaxInsigniaWidthPx\r\n : PMatWidthPx - left - left;\r\n if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 1.9) {\r\n let factor: number = 1;\r\n if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 4.0) {\r\n factor = 1.75;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 3.5) {\r\n factor = 1.45;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 3.0) {\r\n factor = 1.35;\r\n } else if (\r\n pcs.css.spirit_visible_ins &&\r\n pcs.Base_InsigniaWidthInches >= 2.525\r\n ) {\r\n factor = 1.25;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches == 2.5) {\r\n factor = 1.225;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 2.4) {\r\n factor = 1.175;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 2.3) {\r\n factor = 1.15;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 2.2) {\r\n factor = 1.125;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 2.1) {\r\n factor = 1.1;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 2.0) {\r\n factor = 1.075;\r\n } else if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 1.9) {\r\n factor = 1.06;\r\n }\r\n if (pcs.Document_Width >= 14 || (pcs.Document_Height >= 11 && factor > 1)) {\r\n factor = factor * 0.825;\r\n }\r\n let old_w: number = _w;\r\n if (pcs.css.spirit_visible_ins && pcs.Base_InsigniaWidthInches >= 1.9) {\r\n _w = (\r\n ((\r\n ((\r\n ((insLeft) - (MaxInsigniaWidthPx))\r\n ) * factor)\r\n ))\r\n );\r\n }\r\n pcs.debug = `${pcs.Base_InsigniaWidthInches} - factor: ${factor} - old w: ${old_w} - new w: ${_w} - ww: ${pcs.Document_Width} - h: ${pcs.Document_Height}`;\r\n }\r\n pcs.css.spi_top1_width = `${_w}px`;\r\n pcs.css.spi_top2_width = `${_w}px`;\r\n pcs.css.spi_smat_top1_width = `${_w}px`;\r\n pcs.css.spi_smat_top2_width = `${_w}px`;\r\n }\r\n }\r\n };\r\n\r\n const renderTasselFrame = (pcs: ProductCustomizationState): void => {\r\n let CurrentDocWidth: number = 0;\r\n let CurrentDocHeight: number = 0;\r\n let DocSizeTier = r.getDocSizeTier(pcs);\r\n let WidthLimit: number = 14;\r\n let HeightLimit: number = 14;\r\n\r\n if (pcs.Document_Width > WidthLimit) {\r\n let ratio: number = WidthLimit / pcs.Document_Width;\r\n pcs.Document_Width = WidthLimit;\r\n pcs.Document_Height = pcs.Document_Height * ratio;\r\n }\r\n if (pcs.Document_Height > HeightLimit) {\r\n let ratio: number = HeightLimit / pcs.Document_Height;\r\n pcs.Document_Height = HeightLimit;\r\n pcs.Document_Width = pcs.Document_Width * ratio;\r\n }\r\n CurrentDocWidth = pcs.Document_Width;\r\n CurrentDocHeight = pcs.Document_Height;\r\n\r\n let filletCount: number = pcs.MatCombo_IsWoodFillet ? 1 : 0;\r\n\r\n let SMatCount: number = !pcs.MatCombo_IsWoodFillet && pcs.SecondaryMatID > 0 ? 1 : 0;\r\n let SMatWidthPixelAdder: number = 1;\r\n // rail Setup\r\n // - Rail includes: Inner Mat and all mat bevels.\r\n // - The primary mat is actually the inner mat on single document frames\r\n // - The document \"underlaps\" the inner mat. See DocSizeTier.DocOverLap\r\n // - The mats are overlapped by the moulding by 0.25\r\n // - From this point forward, rail will be defined as all visible portions of mats including bevels (we are subtracting out the 0.25 of moulding overlap)\r\n let MouldingOverlap: number = 0.25;\r\n let RailTop: number = (DocSizeTier.TasselRailHeight) - MouldingOverlap;\r\n let RailSide: number = (DocSizeTier.TasselRailWidth) - MouldingOverlap;\r\n // insignia Adjustments\r\n let InsigniaWidth =\r\n pcs.Base_InsigniaWidthInches > 0\r\n ? pcs.Base_InsigniaWidthInches\r\n : DefaultPCS.DefaultInsigniaWidthMax;\r\n InsigniaWidth =\r\n CurrentDocWidth < 10 && CurrentDocHeight < 10\r\n ? (InsigniaWidth = Math.min(DefaultPCS.DefaultInsigniaWidthMax, RailTop - 0.5))\r\n : InsigniaWidth;\r\n InsigniaWidth =\r\n DocSizeTier.DocSizeTierID >= 7 && pcs.Base_InsigniaWidthInches < 1 ? 2 : InsigniaWidth;\r\n // lino\r\n let LinoWidthMax: number =\r\n Math.min(DefaultPCS.DefaultLinoWidthMax, CurrentDocWidth + 1) +\r\n pcs.Base_LinoAdjustmentInches;\r\n LinoWidthMax = linoWidthAdjust(LinoWidthMax, pcs);\r\n let LinoHeightMax: number = DefaultPCS.DefaultLinoHeightMax * (LinoWidthMax / 11.5);\r\n // ****----____ EP-code-change ____----****\r\n let EPWidth: number = DefaultPCS.DefaultEPWidth;\r\n let EPHeight: number = DefaultPCS.DefaultEPHeight;\r\n if (CurrentDocHeight <= 7) {\r\n EPWidth = 3;\r\n EPHeight = 0.5;\r\n }\r\n // ****----____ EP-code-change ____----****\r\n let TotalWidth: number =\r\n RailSide * 2 +\r\n CurrentDocWidth +\r\n (pcs.UseMaxMouldingForSizing ? pcs.MouldingWidthMax * 2 : pcs.MouldingExtWidth * 2) +\r\n DocSizeTier.TasselGap +\r\n DocSizeTier.TasselWidth;\r\n let DPI: number = (Math.floor((pcs.MaxFrameWidthPx + 4) / TotalWidth)); // add 4. Yes, it's cheating, but we always round down and actually have a bit more room to work with.\r\n\r\n let done: boolean = false;\r\n let BevelWidthPx: number = -1;\r\n let DocWidthPx: number = -1;\r\n let DocHeightPx: number = -1;\r\n // ****----____ EP-code-change ____----****\r\n let EPWidthPx: number = -1;\r\n let EPHeightPx: number = -1;\r\n // ****----____ EP-code-change ____----****\r\n let MaxInsigniaWidthPx: number = -1;\r\n let LinoWidthMaxPx: number = -1;\r\n let LinoHeightMaxPx: number = -1;\r\n let MouldingWidthPx: number = -1;\r\n let MaxMouldingWidthPx: number = -1;\r\n pcs.Padding = MaxMouldingWidthPx - MouldingWidthPx;\r\n let RailSidePx: number = -1;\r\n let RailTopPx: number = -1;\r\n let SMatWidthPx: number = -1;\r\n if (pcs.MaxFrameWidthPx <= 250 && SMatWidthPx > 2) {\r\n SMatWidthPx = 2;\r\n } // cap SMat at 2px for images at or below 250px// cap SMat at 2px for images at or below 250px\r\n let TasselGapPx: number = -1;\r\n let TasselWidthPx: number = -1;\r\n let TasselHeightPx: number = -1;\r\n let TotalUsedWidthPx: number = -1;\r\n let TotalUsedWidthPx_NoMargin: number = -1;\r\n let PMatWidthPx: number = -1;\r\n let TotalUsedHeightPx: number = -1;\r\n let TotalUsedHeightPx_NoMargin: number = -1;\r\n let PMatHeightPx: number = -1;\r\n\r\n while (!done) {\r\n BevelWidthPx = Math.max(1, (Math.round(pcs.BevelWidth * 2 * DPI))); // double bevel width. It was too small.\r\n DocWidthPx = (\r\n (Math.round((CurrentDocWidth - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n DocHeightPx = (\r\n (Math.round((CurrentDocHeight - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n // ****----____ EP-code-change ____----****\r\n EPWidthPx = ((EPWidth * DPI));\r\n EPHeightPx = ((EPHeight * DPI));\r\n // ****----____ EP-code-change ____----****\r\n MaxInsigniaWidthPx = (Math.round(InsigniaWidth * DPI));\r\n LinoWidthMaxPx = (Math.round(LinoWidthMax * DPI));\r\n LinoHeightMaxPx = (Math.round(LinoHeightMax * DPI));\r\n MouldingWidthPx = (Math.round(pcs.MouldingExtWidth * DPI));\r\n MaxMouldingWidthPx = (Math.round(pcs.MouldingWidthMax * DPI));\r\n pcs.Padding = MaxMouldingWidthPx - MouldingWidthPx;\r\n RailSidePx =\r\n (Math.round(RailSide * DPI)) + SMatWidthPixelAdder * SMatCount; // we add the smat pixel adder because this adder is not accounted for in the core rail size specs\r\n RailTopPx = (Math.round(RailTop * DPI)) + SMatWidthPixelAdder * SMatCount;\r\n SMatWidthPx =\r\n Math.max(\r\n 1,\r\n (Math.floor((pcs.InnerAccentWidth - pcs.BevelWidth) * DPI)),\r\n ) + SMatWidthPixelAdder; // innerAccentWidth includes bevel. We take bevel out here as we convert to pixels.\r\n if (pcs.MaxFrameWidthPx <= 250 && SMatWidthPx > 2) {\r\n SMatWidthPx = 2;\r\n } // cap SMat at 2px for images at or below 250px// cap SMat at 2px for images at or below 250px\r\n TasselGapPx =\r\n (Math.round(DocSizeTier.TasselGap * DPI)) +\r\n SMatWidthPixelAdder * SMatCount * 2;\r\n TasselWidthPx =\r\n (Math.round(DocSizeTier.TasselWidth * DPI)) +\r\n SMatWidthPixelAdder * SMatCount; // tassel expands out to cover the missing inner accent space if no inner accent\r\n TasselHeightPx =\r\n (Math.round(DocSizeTier.TasselHeight * DPI)) +\r\n SMatWidthPixelAdder * SMatCount; // we add the smat pixel adder because this adder is not accounted for in the core rail size specs\r\n TotalUsedWidthPx =\r\n RailSidePx * 2 + DocWidthPx + MaxMouldingWidthPx * 2 + TasselGapPx + TasselWidthPx;\r\n TotalUsedWidthPx_NoMargin =\r\n RailSidePx * 2 + DocWidthPx + MouldingWidthPx * 2 + TasselGapPx + TasselWidthPx;\r\n PMatWidthPx = TotalUsedWidthPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n TotalUsedHeightPx = RailTopPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n TotalUsedHeightPx_NoMargin = RailTopPx * 2 + DocHeightPx + MouldingWidthPx * 2;\r\n PMatHeightPx = TotalUsedHeightPx - MaxMouldingWidthPx * 2; // refers to the outer width, not\r\n\r\n if (\r\n TotalUsedWidthPx_NoMargin > pcs.MaxFrameWidthPx ||\r\n TotalUsedHeightPx_NoMargin > pcs.MaxFrameHeightPx\r\n ) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n }\r\n\r\n // check width, look back with new dpi if necessary\r\n pcs.FrameDisplay_width = TotalUsedWidthPx;\r\n pcs.FrameDisplay_height = TotalUsedHeightPx;\r\n // primary mat\r\n r.renderStandardPrimaryMat(\r\n PMatWidthPx,\r\n PMatHeightPx,\r\n MaxMouldingWidthPx,\r\n MouldingWidthPx,\r\n pcs,\r\n );\r\n r.renderStandardMoulding(MouldingWidthPx, PMatWidthPx, PMatHeightPx, pcs);\r\n pcs.css.tassel_visible = true;\r\n // if there is an inner accent, then the outer mat \"pulls back\" to make room for the inner mat\r\n if (SMatCount > 0) {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${DocWidthPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${DocHeightPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n r.RenderStandardSMat(BevelWidthPx, SMatWidthPx, DocWidthPx, DocHeightPx, pcs);\r\n pcs.css.tassel_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.tassel_pmat_bevel_left = `${(RailSidePx + DocWidthPx + TasselGapPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.tassel_pmat_bevel_top = `${((Math.floor(((PMatHeightPx) - (TasselHeightPx) - (SMatWidthPx) * 2 - (BevelWidthPx) * 4) / 2))).toString()}px`;\r\n pcs.css.tassel_pmat_bevel_width = `${(TasselWidthPx + SMatWidthPx * 2 + BevelWidthPx * 4).toString()}px`;\r\n pcs.css.tassel_pmat_bevel_height = `${(TasselHeightPx + SMatWidthPx * 2 + BevelWidthPx * 4).toString()}px`;\r\n pcs.css.tassel_smat_backgroundColor = `#${pcs.SecondaryMatColor}`;\r\n pcs.css.tassel_smat_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.tassel_smat_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.tassel_smat_width = `${(TasselWidthPx + 2 * (BevelWidthPx + SMatWidthPx)).toString()}px`;\r\n pcs.css.tassel_smat_height = `${(TasselHeightPx + 2 * (BevelWidthPx + SMatWidthPx)).toString()}px`;\r\n pcs.css.tassel_smat_bevel_backgroundColor = `white`;\r\n pcs.css.tassel_smat_bevel_left = `${SMatWidthPx.toString()}px`;\r\n pcs.css.tassel_smat_bevel_top = `${SMatWidthPx.toString()}px`;\r\n pcs.css.tassel_smat_bevel_width = `${(TasselWidthPx + 2 * BevelWidthPx).toString()}px`;\r\n pcs.css.tassel_smat_bevel_height = `${(TasselHeightPx + 2 * BevelWidthPx).toString()}px`;\r\n } else {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${(DocWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${(DocHeightPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.tassel_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.tassel_pmat_bevel_left = `${(RailSidePx + DocWidthPx + TasselGapPx - BevelWidthPx).toString()}px`;\r\n pcs.css.tassel_pmat_bevel_top = `${((Math.floor(((PMatHeightPx) - (TasselHeightPx)) / 2))).toString()}px`;\r\n pcs.css.tassel_pmat_bevel_width = `${(TasselWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.tassel_pmat_bevel_height = `${(TasselHeightPx + BevelWidthPx * 2).toString()}px`;\r\n r.renderCollapsedSMat(pcs);\r\n pcs.css.tassel_smat_backgroundColor = `none`;\r\n pcs.css.tassel_smat_left = `0px`;\r\n pcs.css.tassel_smat_top = `0px`;\r\n pcs.css.tassel_smat_width = ``;\r\n pcs.css.tassel_smat_height = ``;\r\n pcs.css.tassel_smat_bevel_backgroundColor = `none`;\r\n pcs.css.tassel_smat_bevel_left = `0px`;\r\n pcs.css.tassel_smat_bevel_top = `0px`;\r\n pcs.css.tassel_smat_bevel_width = ``;\r\n pcs.css.tassel_smat_bevel_height = ``;\r\n }\r\n pcs.css.doc1_src = r.doc_path(\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n pcs.css.tassel_src = r.tassel_path(TasselWidthPx, pcs.Base_ExtraEntityName);\r\n pcs.css.tassel_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.tassel_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.tassel_width = `${TasselWidthPx.toString()}px`;\r\n pcs.css.tassel_height = `${TasselHeightPx.toString()}px`;\r\n pcs.css.insignia_visible = pcs.Base_InsigniaID > 0;\r\n if (pcs.Base_InsigniaID > 0) {\r\n pcs.css.insignia_src = r.insignia_path(MaxInsigniaWidthPx, pcs.Base_InsigniaName);\r\n pcs.css.insignia_left = `${(Math.floor((RailSidePx) + (DocWidthPx) / 2 - (MaxInsigniaWidthPx) / 2))}px`;\r\n pcs.css.insignia_top = `${(Math.floor(((RailTopPx) - (BevelWidthPx) - (SMatCount) * ((SMatWidthPx) + (BevelWidthPx))) / 2 - (MaxInsigniaWidthPx) / 2))}px`;\r\n pcs.css.insignia_width = `${MaxInsigniaWidthPx.toString()}px`;\r\n pcs.css.insignia_height = `${MaxInsigniaWidthPx.toString()}px`;\r\n }\r\n pcs.css.lino_visible = pcs.Base_LinoID > 0;\r\n if (pcs.Base_LinoID > 0) {\r\n pcs.css.lino_src = r.lino_path(LinoWidthMaxPx, pcs);\r\n pcs.css.lino_left = `${(Math.floor((RailSidePx) + (DocWidthPx) / 2 - (LinoWidthMaxPx) / 2))}px`;\r\n pcs.css.lino_top = `${((RailTopPx + DocHeightPx + BevelWidthPx + SMatCount * (SMatWidthPx + BevelWidthPx) + Math.floor(((RailTopPx) - (BevelWidthPx) - (SMatCount) * ((SMatWidthPx) + (BevelWidthPx))) / 2 - (LinoHeightMaxPx) / 2)))}px`;\r\n pcs.css.lino_width = `${LinoWidthMaxPx.toString()}px`;\r\n pcs.css.lino_height = `${LinoHeightMaxPx.toString()}px`;\r\n }\r\n // ep\r\n pcs.css.ep_visible = pcs.HasEngravedPlate;\r\n if (pcs.HasEngravedPlate) {\r\n let EPTopPx: number =\r\n (\r\n ((\r\n (RailTopPx +\r\n DocHeightPx +\r\n BevelWidthPx +\r\n SMatCount * (SMatWidthPx + BevelWidthPx) +\r\n Math.floor(\r\n ((RailTopPx) -\r\n (BevelWidthPx) -\r\n (SMatCount) *\r\n ((SMatWidthPx) +\r\n (BevelWidthPx))) /\r\n 2 -\r\n (EPHeightPx) / 2,\r\n ))\r\n ))\r\n ) -\r\n BevelWidthPx * 2;\r\n let EPLeftPx: number =\r\n (\r\n ((\r\n Math.floor(\r\n (RailSidePx) +\r\n (DocWidthPx) / 2 -\r\n (EPWidthPx) / 2,\r\n )\r\n ))\r\n ) -\r\n BevelWidthPx * 2;\r\n r.renderEngravedPlate(\r\n EPLeftPx,\r\n EPTopPx,\r\n EPWidthPx,\r\n EPHeightPx,\r\n BevelWidthPx,\r\n PMatWidthPx,\r\n pcs,\r\n );\r\n }\r\n };\r\n\r\n const renderDoubleDoc = (pcs: ProductCustomizationState): void => {\r\n let DoubleDocSeparation: number = 1.35;\r\n let SMatCount: number = !pcs.MatCombo_IsWoodFillet && pcs.SecondaryMatID > 0 ? 1 : 0;\r\n let SMatWidthPixelAdder: number = 1;\r\n let CurrentDocWidth: number = 0;\r\n let CurrentDocHeight: number = 0;\r\n let CurrentDoc2Width: number = 0;\r\n let CurrentDoc2Height: number = 0;\r\n let DocSizeTier1 = r.getDocSizeTier(pcs);\r\n let WidthLimit: number = 14;\r\n let HeightLimit: number = 14;\r\n\r\n CurrentDocWidth = pcs.Document_Width;\r\n CurrentDocHeight = pcs.Document_Height;\r\n\r\n if (pcs.Document_Width > WidthLimit) {\r\n let ratio: number = WidthLimit / pcs.Document_Width;\r\n CurrentDocWidth = WidthLimit;\r\n CurrentDocHeight = pcs.Document_Height * ratio;\r\n }\r\n if (pcs.Document_Height > HeightLimit) {\r\n let ratio: number = HeightLimit / pcs.Document_Height;\r\n CurrentDocHeight = HeightLimit;\r\n CurrentDocWidth = pcs.Document_Width * ratio;\r\n }\r\n\r\n let Temp_Doc_Width2: number = 0;\r\n let Temp_Doc_Height2: number = 0;\r\n //if (pcs.DYF_FrameStyleID == (DYF_FrameStylesEnum.Campus_Scene)) {\r\n pcs.Document2_Width = pcs.Document_Width;\r\n pcs.Document2_Height = pcs.Document_Height;\r\n //}\r\n // pcs.Document2_Width = pcs.Document2_Width <= 0 ? pcs.Document_Width : pcs.Document2_Width;\r\n // pcs.Document2_Height = pcs.Document2_Height <= 0 ? pcs.Document_Height : pcs.Document2_Height;\r\n // we need to scale the second document if we ended up with adjusted doc 1 dimensions\r\n Temp_Doc_Width2 = pcs.Document2_Width <= 0 ? pcs.Document_Width : pcs.Document2_Width; // fall back to doc 1 dimensions if do 2 dimensions are undefined\r\n Temp_Doc_Height2 = pcs.Document2_Height <= 0 ? pcs.Document_Height : pcs.Document2_Height;\r\n if (CurrentDocWidth < pcs.Document_Width) {\r\n Temp_Doc_Width2 = (CurrentDocWidth / pcs.Document_Width) * Temp_Doc_Width2;\r\n Temp_Doc_Height2 = (CurrentDocHeight / pcs.Document_Height) * Temp_Doc_Height2;\r\n }\r\n let DocSizeTier2 = r.getDocSizeTier2(pcs);\r\n CurrentDoc2Width = CurrentDocWidth;\r\n CurrentDoc2Height = CurrentDocHeight;\r\n\r\n // we need to scale the first document if we ended up with adjusted doc 2 dimensions\r\n if (CurrentDoc2Width < Temp_Doc_Width2 - 0.001) {\r\n // use a buffer here.\r\n CurrentDocWidth = (CurrentDoc2Width / pcs.Document2_Width) * CurrentDocWidth;\r\n CurrentDocHeight = (CurrentDoc2Height / pcs.Document2_Height) * CurrentDocHeight;\r\n }\r\n\r\n let doCampusAlternate = false;\r\n let CampusVertical = false;\r\n let original_vertical = !pcs.isHorizontal;\r\n if (pcs.ProductTypeID === 8 || pcs.ProductTypeID === 9) {\r\n if (pcs.Base_ExtraHeight > 756) {\r\n doCampusAlternate = true;\r\n var reduction_ratio = 756 / pcs.Base_ExtraHeight;\r\n pcs.isHorizontal = false;\r\n CurrentDoc2Height = CurrentDocHeight;\r\n CurrentDoc2Width = CurrentDocHeight * reduction_ratio;\r\n\r\n var w1 = CurrentDocWidth;\r\n var h1 = CurrentDocHeight;\r\n var w2 = CurrentDoc2Width;\r\n var h2 = CurrentDoc2Height;\r\n\r\n CurrentDocWidth = w2;\r\n CurrentDocHeight = h2;\r\n CurrentDoc2Width = w1;\r\n CurrentDoc2Height = h1;\r\n } else {\r\n doCampusAlternate = false;\r\n var campus_ratio = 1;\r\n if (!pcs.isHorizontal) {\r\n pcs.isHorizontal = true;\r\n CurrentDoc2Width = CurrentDoc2Height;\r\n CurrentDoc2Height = CurrentDoc2Width;\r\n CampusVertical = true;\r\n }\r\n\r\n if (pcs.Base_ExtraHeight < 32) {\r\n //console.log('1');\r\n campus_ratio = 1;\r\n } else if (pcs.Base_ExtraHeight > 32 && pcs.Base_ExtraHeight != 580) {\r\n //console.log('2');\r\n var new1 = pcs.Base_ExtraHeight;\r\n var new2 = 580;\r\n campus_ratio = new1 / new2;\r\n } else {\r\n //console.log('3');\r\n campus_ratio = 1;\r\n }\r\n\r\n if (campus_ratio != 1 && CampusVertical) {\r\n CurrentDoc2Height = CurrentDocWidth * (pcs.Base_ExtraHeight / 756);\r\n CurrentDoc2Width = CurrentDocWidth;\r\n } else if (campus_ratio !== 1) {\r\n //console.log('4');\r\n CurrentDoc2Height = CurrentDoc2Height * campus_ratio;\r\n }\r\n }\r\n }\r\n\r\n let DocSizeTier =\r\n DocSizeTier1.DocSizeTierID >= DocSizeTier2.DocSizeTierID ? DocSizeTier1 : DocSizeTier2;\r\n\r\n // rail Setup\r\n // - Rail includes: Inner Mat and all mat bevels.\r\n // - The primary mat is actually the inner mat on single document frames\r\n // - The document \"underlaps\" the inner mat. See DocSizeTier.DocOverLap\r\n // - The mats are overlapped by the moulding by 0.25\r\n // - From this point forward, rail will be defined as all visible portions of mats including bevels (we are subtracting out the 0.25 of moulding overlap)\r\n let MouldingOverlap: number = 0.25;\r\n let RailTop: number = (DocSizeTier.StandardRail) - MouldingOverlap;\r\n let RailSide: number = (DocSizeTier.StandardRail) - MouldingOverlap;\r\n // insignia Adjustments\r\n let InsigniaWidth =\r\n pcs.Base_InsigniaWidthInches > 0\r\n ? pcs.Base_InsigniaWidthInches\r\n : DefaultPCS.DefaultInsigniaWidthMax;\r\n InsigniaWidth =\r\n CurrentDocWidth < 10 && CurrentDocHeight < 10\r\n ? (InsigniaWidth = Math.min(DefaultPCS.DefaultInsigniaWidthMax, RailTop - 0.5))\r\n : InsigniaWidth;\r\n InsigniaWidth =\r\n DocSizeTier.DocSizeTierID >= 7 && pcs.Base_InsigniaWidthInches <= 0 ? 2 : InsigniaWidth;\r\n // lino\r\n let LinoWidthMax: number =\r\n Math.min(DefaultPCS.DefaultLinoWidthMax, CurrentDocWidth + 1) +\r\n pcs.Base_LinoAdjustmentInches;\r\n if (doCampusAlternate) {\r\n LinoWidthMax =\r\n Math.min(DefaultPCS.DefaultLinoWidthMax, CurrentDoc2Width + 1) +\r\n pcs.Base_LinoAdjustmentInches;\r\n }\r\n LinoWidthMax = r.linoWidthAdjust(LinoWidthMax, pcs);\r\n let LinoHeightMax: number = DefaultPCS.DefaultLinoHeightMax * (LinoWidthMax / 11.5);\r\n\r\n // ****----____ EP-code-change ____----****\r\n let EPWidth: number = DefaultPCS.DefaultEPWidth;\r\n let EPHeight: number = DefaultPCS.DefaultEPHeight;\r\n if (CurrentDocHeight <= 7) {\r\n EPWidth = 3;\r\n EPHeight = 0.5;\r\n }\r\n // ****----____ EP-code-change ____----****\r\n let TotalWidth: number =\r\n RailSide * 2 +\r\n Math.max(CurrentDocWidth, CurrentDoc2Width) +\r\n (pcs.UseMaxMouldingForSizing ? pcs.MouldingWidthMax * 2 : pcs.MouldingExtWidth * 2);\r\n let DPI: number = (Math.floor((pcs.MaxFrameWidthPx + 4) / TotalWidth)); // add 4. Yes, it's cheating, but we always round down and actually have a bit more room to work with.\r\n let done: boolean = false;\r\n let doneCount: number = 0;\r\n let BevelWidthPx: number = -1;\r\n let DocWidthPx: number = -1;\r\n let DocHeightPx: number = -1;\r\n let Doc2WidthPx: number = -1;\r\n let Doc2HeightPx: number = -1;\r\n let DoubleDocSeparationPx: number = -1;\r\n let EPWidthPx: number = -1;\r\n let EPHeightPx: number = -1;\r\n let MaxInsigniaWidthPx: number = -1;\r\n let LinoWidthMaxPx: number = -1;\r\n let LinoHeightMaxPx: number = -1;\r\n let MouldingWidthPx: number = -1;\r\n let MaxMouldingWidthPx: number = -1;\r\n let RailSidePx: number = -1;\r\n let RailTopPx: number = -1;\r\n let SMatWidthPx: number = -1;\r\n let TotalUsedWidthPx: number = 0;\r\n let TotalUsedWidthPx_NoMargin: number = 0;\r\n let TotalUsedHeightPx: number = 0;\r\n let TotalUsedHeightPx_NoMargin: number = 0;\r\n let PMatWidthPx: number = -1;\r\n let PMatHeightPx: number = -1;\r\n while (!done) {\r\n doneCount += 1;\r\n BevelWidthPx = Math.max(1, (Math.round(pcs.BevelWidth * 2 * DPI))); // double bevel width. It was too small.\r\n DocWidthPx = (\r\n (Math.round((CurrentDocWidth - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n DocHeightPx = (\r\n (Math.round((CurrentDocHeight - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n Doc2WidthPx = (\r\n (Math.round((CurrentDoc2Width - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n Doc2HeightPx = (\r\n (Math.round((CurrentDoc2Height - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n DoubleDocSeparationPx =\r\n (Math.round(DoubleDocSeparation * DPI)) +\r\n SMatWidthPixelAdder * SMatCount * 2; // we add the smat pixel adder because this adder is not accounted for in the core doc separation specs\r\n // ****----____ EP-code-change ____----****\r\n EPWidthPx = ((EPWidth * DPI));\r\n EPHeightPx = ((EPHeight * DPI));\r\n // ****----____ EP-code-change ____----****\r\n MaxInsigniaWidthPx = (Math.round(InsigniaWidth * DPI));\r\n LinoWidthMaxPx = (Math.round(LinoWidthMax * DPI));\r\n LinoHeightMaxPx = (Math.round(LinoHeightMax * DPI));\r\n MouldingWidthPx = (Math.round(pcs.MouldingExtWidth * DPI));\r\n MaxMouldingWidthPx = (Math.round(pcs.MouldingWidthMax * DPI));\r\n pcs.Padding = MaxMouldingWidthPx - MouldingWidthPx;\r\n RailSidePx =\r\n (Math.round(RailSide * DPI)) + SMatWidthPixelAdder * SMatCount; // we add the smat pixel adder because this adder is not accounted for in the core rail size specs\r\n RailTopPx = (Math.round(RailTop * DPI)) + SMatWidthPixelAdder * SMatCount;\r\n SMatWidthPx =\r\n Math.max(\r\n 1,\r\n (Math.floor((pcs.InnerAccentWidth - pcs.BevelWidth) * DPI)),\r\n ) + SMatWidthPixelAdder; // innerAccentWidth includes bevel. We take bevel out here as we convert to pixels.\r\n if (pcs.MaxFrameWidthPx <= 250 && SMatWidthPx > 2) {\r\n SMatWidthPx = 2;\r\n } // Cap SMat at 2px for images at or below 250px// Cap SMat at 2px for images at or below 250px\r\n TotalUsedWidthPx = 0;\r\n TotalUsedWidthPx_NoMargin = 0;\r\n TotalUsedHeightPx = 0;\r\n TotalUsedHeightPx_NoMargin = 0;\r\n if (pcs.isHorizontal) {\r\n TotalUsedWidthPx =\r\n RailSidePx * 2 + Math.max(DocWidthPx, Doc2WidthPx) + MaxMouldingWidthPx * 2;\r\n TotalUsedWidthPx_NoMargin =\r\n RailSidePx * 2 + Math.max(DocWidthPx, Doc2WidthPx) + MouldingWidthPx * 2;\r\n TotalUsedHeightPx =\r\n RailTopPx * 2 +\r\n DocHeightPx +\r\n Doc2HeightPx +\r\n DoubleDocSeparationPx +\r\n MaxMouldingWidthPx * 2;\r\n TotalUsedHeightPx_NoMargin =\r\n RailTopPx * 2 +\r\n DocHeightPx +\r\n Doc2HeightPx +\r\n DoubleDocSeparationPx +\r\n MouldingWidthPx * 2;\r\n } else {\r\n TotalUsedWidthPx =\r\n RailSidePx * 2 +\r\n DocWidthPx +\r\n Doc2WidthPx +\r\n DoubleDocSeparationPx +\r\n MaxMouldingWidthPx * 2;\r\n TotalUsedWidthPx_NoMargin =\r\n RailSidePx * 2 +\r\n DocWidthPx +\r\n Doc2WidthPx +\r\n DoubleDocSeparationPx +\r\n MouldingWidthPx * 2;\r\n TotalUsedHeightPx =\r\n RailTopPx * 2 + Math.max(DocHeightPx, Doc2HeightPx) + MaxMouldingWidthPx * 2;\r\n TotalUsedHeightPx_NoMargin =\r\n RailTopPx * 2 + Math.max(DocHeightPx, Doc2HeightPx) + MouldingWidthPx * 2;\r\n }\r\n // calculate the maximum possible width of a single doc frame with this document size. This is used to establish a common DPI across all single docs when UseCommonDPI is set to true\r\n PMatWidthPx = TotalUsedWidthPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n PMatHeightPx = TotalUsedHeightPx - MaxMouldingWidthPx * 2;\r\n // if UseCommonDPI is turned on, we want to sync single doc, cameo, and spirit. We sync them in such a way that, if turned on their side, vertical frames will still fit.\r\n if (DocHeightPx > DocWidthPx && pcs.UseCommonDPI) {\r\n if (\r\n TotalUsedHeightPx > pcs.MaxFrameWidthPx ||\r\n TotalUsedWidthPx > pcs.MaxFrameWidthPx\r\n ) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n } else {\r\n if (\r\n (pcs.UseCommonDPI ? TotalUsedWidthPx : TotalUsedWidthPx_NoMargin) >\r\n pcs.MaxFrameWidthPx ||\r\n (pcs.UseCommonDPI ? TotalUsedHeightPx : TotalUsedHeightPx_NoMargin) >\r\n pcs.MaxFrameHeightPx\r\n ) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n }\r\n if (doneCount > 100000) {\r\n done = true;\r\n }\r\n }\r\n // check width, look back with new dpi if necessary\r\n pcs.FrameDisplay_width = TotalUsedWidthPx;\r\n pcs.FrameDisplay_height = TotalUsedHeightPx;\r\n // primary mat\r\n r.renderStandardPrimaryMat(\r\n PMatWidthPx,\r\n PMatHeightPx,\r\n MaxMouldingWidthPx,\r\n MouldingWidthPx,\r\n pcs,\r\n );\r\n r.renderStandardMoulding(MouldingWidthPx, PMatWidthPx, PMatHeightPx, pcs);\r\n if (SMatCount > 0) {\r\n if (pcs.isHorizontal) {\r\n // if there is an inner accent, then the outer mat \"pulls back\" to make room for the inner mat\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx + ((PMatWidthPx - 2 * RailSidePx) / 2 - DocWidthPx / 2) - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${DocWidthPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${DocHeightPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n pcs.css.doc2_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc2_pmat_bevel_left = `${(RailSidePx + ((PMatWidthPx - 2 * RailSidePx) / 2 - Doc2WidthPx / 2) - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_pmat_bevel_top = `${(RailTopPx + DocHeightPx + DoubleDocSeparationPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_pmat_bevel_width = `${Doc2WidthPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n pcs.css.doc2_pmat_bevel_height = `${Doc2HeightPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n r.RenderStandardSMat(BevelWidthPx, SMatWidthPx, DocWidthPx, DocHeightPx, pcs);\r\n pcs.css.doc2_smat_backgroundColor = `#${pcs.SecondaryMatColor}`;\r\n pcs.css.doc2_smat_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc2_smat_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc2_smat_width = `${(Doc2WidthPx + SMatWidthPx * 2 + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_smat_height = `${(Doc2HeightPx + SMatWidthPx * 2 + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_smat_bevel_backgroundColor = `white`;\r\n pcs.css.doc2_smat_bevel_left = `${SMatWidthPx.toString()}px`;\r\n pcs.css.doc2_smat_bevel_top = `${SMatWidthPx.toString()}px`;\r\n pcs.css.doc2_smat_bevel_width = `${(Doc2WidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_smat_bevel_height = `${(Doc2HeightPx + BevelWidthPx * 2).toString()}px`;\r\n } else {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(\r\n RailTopPx +\r\n ((PMatHeightPx - 2 * RailTopPx) / 2 - DocHeightPx / 2) -\r\n SMatWidthPx -\r\n BevelWidthPx * 2\r\n ).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${(DocWidthPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${(DocHeightPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)).toString()}px`;\r\n pcs.css.doc2_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc2_pmat_bevel_left = `${(\r\n RailSidePx +\r\n DocWidthPx +\r\n DoubleDocSeparationPx -\r\n SMatWidthPx -\r\n BevelWidthPx * 2\r\n ).toString()}px`;\r\n pcs.css.doc2_pmat_bevel_top = `${(\r\n RailTopPx +\r\n ((PMatHeightPx - 2 * RailTopPx) / 2 - Doc2HeightPx / 2) -\r\n SMatWidthPx -\r\n BevelWidthPx * 2\r\n ).toString()}px`;\r\n pcs.css.doc2_pmat_bevel_width = `${(Doc2WidthPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)).toString()}px`;\r\n pcs.css.doc2_pmat_bevel_height = `${(Doc2HeightPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)).toString()}px`;\r\n r.RenderStandardSMat(BevelWidthPx, SMatWidthPx, DocWidthPx, DocHeightPx, pcs);\r\n pcs.css.doc2_smat_backgroundColor = `#${pcs.SecondaryMatColor}`;\r\n pcs.css.doc2_smat_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc2_smat_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc2_smat_width = `${(Doc2WidthPx + SMatWidthPx * 2 + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_smat_height = `${(Doc2HeightPx + SMatWidthPx * 2 + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_smat_bevel_backgroundColor = `white`;\r\n pcs.css.doc2_smat_bevel_left = `${SMatWidthPx.toString()}px`;\r\n pcs.css.doc2_smat_bevel_top = `${SMatWidthPx.toString()}px`;\r\n pcs.css.doc2_smat_bevel_width = `${(Doc2WidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_smat_bevel_height = `${(Doc2HeightPx + BevelWidthPx * 2).toString()}px`;\r\n }\r\n } else {\r\n if (pcs.isHorizontal) {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${\r\n RailSidePx +\r\n ((PMatWidthPx - 2 * RailSidePx) / 2 - DocWidthPx / 2) -\r\n BevelWidthPx\r\n }px`;\r\n pcs.css.doc1_pmat_bevel_top = `${RailTopPx - BevelWidthPx}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${DocWidthPx + BevelWidthPx * 2}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${DocHeightPx + BevelWidthPx * 2}px`;\r\n pcs.css.doc2_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc2_pmat_bevel_left = `${\r\n RailSidePx +\r\n ((PMatWidthPx - 2 * RailSidePx) / 2 - Doc2WidthPx / 2) -\r\n BevelWidthPx\r\n }px`;\r\n pcs.css.doc2_pmat_bevel_top = `${RailTopPx + DocHeightPx + DoubleDocSeparationPx - BevelWidthPx}px`;\r\n pcs.css.doc2_pmat_bevel_width = `${Doc2WidthPx + BevelWidthPx * 2}px`;\r\n pcs.css.doc2_pmat_bevel_height = `${Doc2HeightPx + BevelWidthPx * 2}px`;\r\n } else {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${RailSidePx - BevelWidthPx}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${\r\n RailTopPx +\r\n ((PMatHeightPx - 2 * RailTopPx) / 2 - DocHeightPx / 2) -\r\n BevelWidthPx\r\n }px`;\r\n pcs.css.doc1_pmat_bevel_width = `${DocWidthPx + BevelWidthPx * 2}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${DocHeightPx + BevelWidthPx * 2}px`;\r\n pcs.css.doc2_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc2_pmat_bevel_left = `${RailSidePx + DocWidthPx + DoubleDocSeparationPx - BevelWidthPx}px`;\r\n pcs.css.doc2_pmat_bevel_top = `${\r\n RailTopPx +\r\n ((PMatHeightPx - 2 * RailTopPx) / 2 - Doc2HeightPx / 2) -\r\n BevelWidthPx\r\n }px`;\r\n pcs.css.doc2_pmat_bevel_width = `${Doc2WidthPx + BevelWidthPx * 2}px`;\r\n pcs.css.doc2_pmat_bevel_height = `${Doc2HeightPx + BevelWidthPx * 2}px`;\r\n }\r\n r.renderCollapsedSMat(pcs);\r\n pcs.css.doc2_smat_backgroundColor = `none`;\r\n pcs.css.doc2_smat_left = `0px`;\r\n pcs.css.doc2_smat_top = `0px`;\r\n pcs.css.doc2_smat_width = ``;\r\n pcs.css.doc2_smat_height = ``;\r\n pcs.css.doc2_smat_bevel_backgroundColor = `none`;\r\n pcs.css.doc2_smat_bevel_left = `0px`;\r\n pcs.css.doc2_smat_bevel_top = `0px`;\r\n pcs.css.doc2_smat_bevel_width = ``;\r\n pcs.css.doc2_smat_bevel_height = ``;\r\n }\r\n\r\n if (!doCampusAlternate) {\r\n pcs.css.doc1_src = r.doc_path(\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n pcs.css.doc2_visible = true;\r\n pcs.css.doc2_src =\r\n pcs.DYF_FrameStyleID == (DYF_FrameStylesEnum.Campus_Scene)\r\n ? r.campus_path(pcs.Base_ExtraEntityName)\r\n : r.doc_path(\r\n Doc2WidthPx,\r\n Doc2HeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o4,\r\n );\r\n pcs.css.doc2_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc2_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc2_width = `${Doc2WidthPx.toString()}px`;\r\n pcs.css.doc2_height = `${Doc2HeightPx.toString()}px`;\r\n } else {\r\n pcs.css.doc1_src =\r\n pcs.DYF_FrameStyleID == (DYF_FrameStylesEnum.Campus_Scene)\r\n ? r.campus_path(pcs.Base_ExtraEntityName)\r\n : r.doc_path(\r\n Doc2WidthPx,\r\n Doc2HeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n pcs.css.doc2_visible = true;\r\n pcs.css.doc2_src = r.doc_path(\r\n original_vertical ? 500 : 2000,\r\n original_vertical ? 2000 : 500,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o4,\r\n );\r\n pcs.css.doc2_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc2_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc2_width = `${Doc2WidthPx.toString()}px`;\r\n pcs.css.doc2_height = `${Doc2HeightPx.toString()}px`;\r\n }\r\n\r\n // insignia\r\n r.renderStandardInsignia(\r\n 0,\r\n 0,\r\n PMatWidthPx,\r\n MaxInsigniaWidthPx,\r\n RailTopPx,\r\n BevelWidthPx,\r\n SMatCount,\r\n SMatWidthPx,\r\n pcs,\r\n );\r\n if (doCampusAlternate) {\r\n pcs.css.insignia_left = `${RailSidePx + DocWidthPx + DoubleDocSeparationPx - BevelWidthPx + (Doc2WidthPx + BevelWidthPx * 2 - MaxInsigniaWidthPx) / 2}px`;\r\n }\r\n\r\n // lino\r\n pcs.css.lino_visible = pcs.Base_LinoID > 0;\r\n if (pcs.Base_LinoID > 0) {\r\n pcs.css.lino_src = r.lino_path(LinoWidthMaxPx, pcs);\r\n pcs.css.lino_left = `${(Math.floor(((PMatWidthPx / 2)) - ((LinoWidthMaxPx / 2))))}px`;\r\n if (doCampusAlternate) {\r\n pcs.css.lino_left = `${RailSidePx + DocWidthPx + DoubleDocSeparationPx - BevelWidthPx + (Doc2WidthPx + BevelWidthPx * 2 - LinoWidthMaxPx) / 2}px`;\r\n }\r\n\r\n pcs.css.lino_width = `${LinoWidthMaxPx.toString()}px`;\r\n pcs.css.lino_height = `${LinoHeightMaxPx.toString()}px`;\r\n if (pcs.isHorizontal) {\r\n pcs.css.lino_top = `${((RailTopPx + DocHeightPx + DoubleDocSeparationPx + Doc2HeightPx + (BevelWidthPx) + SMatCount * ((SMatWidthPx) + (BevelWidthPx)) + Math.floor(((RailTopPx) - (BevelWidthPx) - (SMatCount) * (SMatWidthPx + (BevelWidthPx))) / 2 - (LinoHeightMaxPx) / 2)))}px`;\r\n } else {\r\n pcs.css.lino_top = `${((RailTopPx + Math.max(DocHeightPx, Doc2HeightPx) + BevelWidthPx + SMatCount * (SMatWidthPx + BevelWidthPx) + Math.floor(((RailTopPx) - (BevelWidthPx) - (SMatCount) * ((SMatWidthPx + BevelWidthPx))) / 2 - (LinoHeightMaxPx) / 2)))}px`;\r\n }\r\n }\r\n\r\n // ep\r\n pcs.css.ep_visible = pcs.HasEngravedPlate;\r\n if (pcs.HasEngravedPlate) {\r\n let epDocWidth: number = (\r\n ((\r\n Math.round(\r\n (Math.max(pcs.Document_Width, pcs.Document2_Width) -\r\n (DocSizeTier.DocOverlap)) *\r\n DPI,\r\n )\r\n ))\r\n );\r\n let EPTopPx: number = -1;\r\n let EPLeftPx: number = (\r\n (Math.floor(((PMatWidthPx / 2)) - (EPWidthPx) / 2))\r\n );\r\n if (pcs.isHorizontal) {\r\n EPTopPx = (\r\n ((\r\n (RailTopPx +\r\n DocHeightPx +\r\n (DoubleDocSeparationPx) +\r\n Doc2HeightPx +\r\n BevelWidthPx +\r\n SMatCount * ((SMatWidthPx) + (BevelWidthPx)) +\r\n (RailTopPx -\r\n (BevelWidthPx) -\r\n SMatCount * ((SMatWidthPx) + BevelWidthPx) -\r\n EPHeightPx -\r\n (BevelWidthPx) * 4) /\r\n 2)\r\n ))\r\n );\r\n } else {\r\n EPTopPx = (\r\n ((\r\n (RailTopPx +\r\n Math.max(DocHeightPx, Doc2HeightPx) +\r\n BevelWidthPx +\r\n SMatCount * ((SMatWidthPx) + BevelWidthPx) +\r\n (RailTopPx -\r\n (BevelWidthPx) -\r\n SMatCount * (SMatWidthPx + (BevelWidthPx)) -\r\n EPHeightPx -\r\n BevelWidthPx * 4) /\r\n 2)\r\n ))\r\n );\r\n }\r\n r.renderEngravedPlate(\r\n EPLeftPx,\r\n EPTopPx,\r\n EPWidthPx,\r\n EPHeightPx,\r\n BevelWidthPx,\r\n PMatWidthPx,\r\n pcs,\r\n );\r\n }\r\n if (pcs.DYF_FrameStyleID == (DYF_FrameStylesEnum.Campus_Scene)) {\r\n if (SMatCount > 0) {\r\n if (pcs.isHorizontal) {\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx + Doc2HeightPx + DoubleDocSeparationPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc2_pmat_bevel_top = `${(RailTopPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n } else {\r\n pcs.css.doc1_pmat_bevel_top = `${(\r\n RailTopPx +\r\n ((PMatHeightPx - 2 * RailTopPx) / 2 - DocHeightPx / 2) -\r\n SMatWidthPx -\r\n BevelWidthPx * 2\r\n ).toString()}px`;\r\n pcs.css.doc2_pmat_bevel_top = `${(\r\n RailTopPx +\r\n ((PMatHeightPx - 2 * RailTopPx) / 2 - Doc2HeightPx / 2) -\r\n SMatWidthPx -\r\n BevelWidthPx * 2\r\n ).toString()}px`;\r\n }\r\n } else {\r\n if (pcs.isHorizontal) {\r\n pcs.css.doc1_pmat_bevel_top = `${RailTopPx + Doc2HeightPx + DoubleDocSeparationPx - BevelWidthPx}px`;\r\n pcs.css.doc2_pmat_bevel_top = `${RailTopPx - BevelWidthPx}px`;\r\n } else {\r\n pcs.css.doc1_pmat_bevel_top = `${\r\n RailTopPx +\r\n ((PMatHeightPx - 2 * RailTopPx) / 2 - DocHeightPx / 2) -\r\n BevelWidthPx\r\n }px`;\r\n pcs.css.doc2_pmat_bevel_top = `${\r\n RailTopPx +\r\n ((PMatHeightPx - 2 * RailTopPx) / 2 - Doc2HeightPx / 2) -\r\n BevelWidthPx\r\n }px`;\r\n }\r\n }\r\n }\r\n };\r\n\r\n const renderCentury = (pcs: ProductCustomizationState): void => {\r\n let CurrentDocWidth: number = 0;\r\n let CurrentDocHeight: number = 0;\r\n let DocSizeTier = r.getDocSizeTier(pcs);\r\n let WidthLimit: number = 14;\r\n let HeightLimit: number = 14;\r\n\r\n if (pcs.Document_Width > WidthLimit) {\r\n let ratio: number = WidthLimit / pcs.Document_Width;\r\n pcs.Document_Width = WidthLimit;\r\n pcs.Document_Height = pcs.Document_Height * ratio;\r\n }\r\n if (pcs.Document_Height > HeightLimit) {\r\n let ratio: number = HeightLimit / pcs.Document_Height;\r\n pcs.Document_Height = HeightLimit;\r\n pcs.Document_Width = pcs.Document_Width * ratio;\r\n }\r\n CurrentDocWidth = pcs.Document_Width;\r\n CurrentDocHeight = pcs.Document_Height;\r\n\r\n let SMatCount: number = !pcs.MatCombo_IsWoodFillet && pcs.SecondaryMatID > 0 ? 1 : 0;\r\n let SMatWidthPixelAdder: number = 1;\r\n let MouldingInsigniaAreaWidth: number = (pcs.MouldingExtWidth) - 0.2;\r\n let MouldingInsigniaVerticalOffset: number = -0.115;\r\n // Rail Setup\r\n // - Rail includes: Inner Mat and all mat bevels.\r\n // - The primary mat is actually the inner mat on single document frames\r\n // - The document \"underlaps\" the inner mat. See DocSizeTier.DocOverLap\r\n // - The mats are overlapped by the moulding by 0.25\r\n // - From this point forward, rail will be defined as all visible portions of mats including bevels (we are subtracting out the 0.25 of moulding overlap)\r\n let MouldingOverlap: number = 0.25;\r\n let RailTop: number = Util.isNullOrWhiteSpace(pcs.PrimaryMatName) ? 0 : 0.875; // We assume that millenniums have a primary mat, and century frames do not.\r\n if (\r\n !Util.isNullOrWhiteSpace(pcs.PrimaryMatName) &&\r\n pcs.Document_Width >= 12 &&\r\n pcs.Document_Height >= 12\r\n ) {\r\n RailTop = 1.5;\r\n } // millenium mat sizing info: https://trello.com/c/Z0Vb4nEz/326-framestyles-century-millennium// millenium mat sizing info: https://trello.com/c/Z0Vb4nEz/326-framestyles-century-millennium\r\n if (\r\n !Util.isNullOrWhiteSpace(pcs.PrimaryMatName) &&\r\n pcs.Document_Width >= 16 &&\r\n pcs.Document_Height >= 16\r\n ) {\r\n RailTop = 1.875;\r\n }\r\n let RailSide: number = RailTop;\r\n // Insignia Adjustments\r\n let InsigniaWidth: number =\r\n pcs.Base_InsigniaWidthInches > 0\r\n ? (pcs.Base_InsigniaWidthInches)\r\n : (DefaultPCS.DefaultInsigniaWidthMax);\r\n // ****----____ EP-code-change ____----****\r\n let EPWidth: number = DefaultPCS.DefaultEPWidth;\r\n let EPHeight: number = DefaultPCS.DefaultEPHeight;\r\n if (CurrentDocHeight <= 7) {\r\n EPWidth = 3;\r\n EPHeight = 0.5;\r\n }\r\n // ****----____ EP-code-change ____----****\r\n let TotalWidth: number =\r\n ((RailSide * 2 + (CurrentDocWidth))) +\r\n (pcs.UseMaxMouldingForSizing ? pcs.MouldingWidthMax * 2 : pcs.MouldingExtWidth * 2);\r\n let DPI: number = (Math.floor((pcs.MaxFrameWidthPx + 4) / TotalWidth)); // add 4. Yes, it's cheating, but we always round down and actually have a bit more room to work with.\r\n let done: boolean = false;\r\n let doneCount: number = 0;\r\n let BevelWidthPx: number = -1;\r\n let DocWidthPx: number = -1;\r\n let DocHeightPx: number = -1;\r\n let EPWidthPx: number = -1;\r\n let EPHeightPx: number = -1;\r\n let MouldingInsigniaAreaWidthPx: number = -1;\r\n let MouldingInsigniaVerticalOffsetPx: number = -1;\r\n let MaxInsigniaWidthPx: number = -1;\r\n let MouldingWidthPx: number = -1;\r\n let MaxMouldingWidthPx: number = -1;\r\n let RailSidePx: number = -1;\r\n let RailTopPx: number = -1;\r\n let SMatWidthPx: number = -1;\r\n let TotalUsedWidthPx: number = -1;\r\n let TotalUsedWidthPx_NoMargin: number = -1;\r\n let MaxSingleDocRailWidthPx: number = -1;\r\n let MaxPossibleSingleDocWidthPx: number = -1;\r\n let MaxPossibleSingleDocHeightPx: number = -1;\r\n let PMatWidthPx: number = -1;\r\n let TotalUsedHeightPx: number = -1;\r\n let TotalUsedHeightPx_NoMargin: number = -1;\r\n let PMatHeightPx: number = -1;\r\n let WoodFilletWidthPx: number = -1;\r\n while (!done) {\r\n doneCount += 1;\r\n BevelWidthPx = Math.max(1, (Math.round(pcs.BevelWidth * 2 * DPI))); // double bevel width. It was too small.\r\n DocWidthPx = (\r\n (Math.round((CurrentDocWidth - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n DocHeightPx = (\r\n (Math.round((CurrentDocHeight - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n // ****----____ EP-code-change ____----****\r\n EPWidthPx = ((EPWidth * DPI));\r\n EPHeightPx = ((EPHeight * DPI));\r\n // ****----____ EP-code-change ____----****\r\n MouldingInsigniaAreaWidthPx = (\r\n (Math.round(MouldingInsigniaAreaWidth * DPI))\r\n );\r\n MouldingInsigniaVerticalOffsetPx = (\r\n (Math.round(MouldingInsigniaVerticalOffset * DPI))\r\n );\r\n MaxInsigniaWidthPx = (Math.round(InsigniaWidth * DPI));\r\n MaxInsigniaWidthPx = Math.min(MouldingInsigniaAreaWidthPx, MaxInsigniaWidthPx);\r\n MouldingWidthPx = (Math.round(pcs.MouldingExtWidth * DPI));\r\n MaxMouldingWidthPx = (Math.round(pcs.MouldingWidthMax * DPI));\r\n pcs.Padding = MaxMouldingWidthPx - MouldingWidthPx;\r\n RailSidePx =\r\n (Math.round(RailSide * DPI)) + SMatWidthPixelAdder * SMatCount; // we add the smat pixel adder because this adder is not accounted for in the core rail size specs\r\n RailTopPx = (Math.round(RailTop * DPI)) + SMatWidthPixelAdder * SMatCount;\r\n SMatWidthPx =\r\n Math.max(\r\n 1,\r\n (Math.floor((pcs.InnerAccentWidth - pcs.BevelWidth) * DPI)),\r\n ) + SMatWidthPixelAdder; // innerAccentWidth includes bevel. We take bevel out here as we convert to pixels.\r\n if (pcs.MaxFrameWidthPx <= 250 && SMatWidthPx > 2) {\r\n SMatWidthPx = 2;\r\n } // Cap SMat at 2px for images at or below 250px// Cap SMat at 2px for images at or below 250px\r\n TotalUsedWidthPx = RailSidePx * 2 + DocWidthPx + MaxMouldingWidthPx * 2;\r\n TotalUsedWidthPx_NoMargin = RailSidePx * 2 + DocWidthPx + MouldingWidthPx * 2;\r\n // calculate the maximum possible width of a single doc frame with this document size. This is used to establish a common DPI across all single docs when UseCommonDPI is set to true\r\n MaxSingleDocRailWidthPx = Math.max(\r\n (\r\n ((\r\n Math.round(((DocSizeTier.CameoRail) - MouldingOverlap) * DPI)\r\n ))\r\n ) + SMatWidthPixelAdder,\r\n (\r\n ((\r\n Math.round(\r\n ((DocSizeTier.StandardRail) - MouldingOverlap) * DPI,\r\n )\r\n ))\r\n ) +\r\n SMatWidthPixelAdder +\r\n (BevelWidthPx * 2 + SMatWidthPx),\r\n ); // we use the larger cameo rail for this calculation. Also, compare against standard rail + fillet. Take the largest\r\n MaxPossibleSingleDocWidthPx =\r\n MaxSingleDocRailWidthPx * 2 + DocWidthPx + MaxMouldingWidthPx * 2;\r\n MaxPossibleSingleDocHeightPx =\r\n MaxSingleDocRailWidthPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n PMatWidthPx = TotalUsedWidthPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n TotalUsedHeightPx = RailTopPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n TotalUsedHeightPx_NoMargin = RailTopPx * 2 + DocHeightPx + MouldingWidthPx * 2;\r\n PMatHeightPx = TotalUsedHeightPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n WoodFilletWidthPx = BevelWidthPx * 2 + SMatWidthPx;\r\n // if UseCommonDPI is turned on, we want to sync single doc, cameo, and spirit. We sync them in such a way that, if turned on their side, vertical frames will still fit.\r\n if (DocHeightPx > DocWidthPx && pcs.UseCommonDPI) {\r\n if (MaxPossibleSingleDocHeightPx > pcs.MaxFrameWidthPx) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n } else {\r\n if (\r\n (pcs.UseCommonDPI ? MaxPossibleSingleDocWidthPx : TotalUsedWidthPx_NoMargin) >\r\n pcs.MaxFrameWidthPx ||\r\n (pcs.UseCommonDPI ? TotalUsedHeightPx : TotalUsedHeightPx_NoMargin) >\r\n pcs.MaxFrameHeightPx\r\n ) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n }\r\n if (doneCount > 100000) {\r\n done = true;\r\n }\r\n }\r\n // check width, look back with new dpi if necessary\r\n pcs.FrameDisplay_width = TotalUsedWidthPx;\r\n pcs.FrameDisplay_height = TotalUsedHeightPx;\r\n // primary mat\r\n r.renderStandardPrimaryMat(\r\n PMatWidthPx,\r\n PMatHeightPx,\r\n MaxMouldingWidthPx,\r\n MouldingWidthPx,\r\n pcs,\r\n );\r\n r.renderStandardMoulding(MouldingWidthPx, PMatWidthPx, PMatHeightPx, pcs);\r\n // secondary mat\r\n if (!Util.isNullOrWhiteSpace(pcs.PrimaryMatName)) {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${(DocWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${(DocHeightPx + BevelWidthPx * 2).toString()}px`;\r\n r.renderCollapsedSMat(pcs);\r\n pcs.css.doc1_src = r.doc_path(\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n } else {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${(DocWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${(DocHeightPx + BevelWidthPx * 2).toString()}px`;\r\n r.renderCollapsedPMatBevel(pcs);\r\n r.renderCollapsedSMat(pcs);\r\n // todo: fix for millennium\r\n pcs.css.doc1_src = r.doc_path(\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `0px`;\r\n pcs.css.doc1_top = `0px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n }\r\n // insignia\r\n pcs.css.insignia_visible = pcs.Base_InsigniaID > 0;\r\n if (pcs.Base_InsigniaID > 0) {\r\n pcs.css.insignia_src = r.insignia_path_noBevel(\r\n MaxInsigniaWidthPx,\r\n pcs.Base_InsigniaName,\r\n );\r\n pcs.css.insignia_left = `${((\r\n ((\r\n Math.floor(\r\n ((PMatWidthPx / 2)) - ((MaxInsigniaWidthPx / 2)),\r\n )\r\n ))\r\n )).toString()}px`;\r\n pcs.css.insignia_top = `${(\r\n -1 *\r\n (\r\n ((\r\n Math.floor(\r\n ((MouldingWidthPx - BevelWidthPx)) / 2 -\r\n MaxInsigniaWidthPx / 2,\r\n )\r\n ))\r\n ) -\r\n MaxInsigniaWidthPx +\r\n MouldingInsigniaVerticalOffsetPx\r\n ).toString()}px`;\r\n pcs.css.insignia_width = `${MaxInsigniaWidthPx.toString()}px`;\r\n pcs.css.insignia_height = `${MaxInsigniaWidthPx.toString()}px`;\r\n }\r\n };\r\n\r\n const renderVarsity = (pcs: ProductCustomizationState): void => {\r\n let CurrentDocWidth: number = 0;\r\n let CurrentDocHeight: number = 0;\r\n let DocSizeTier = r.getDocSizeTier(pcs);\r\n let WidthLimit: number = 14;\r\n let HeightLimit: number = 14;\r\n\r\n if (pcs.Document_Width > WidthLimit) {\r\n let ratio: number = WidthLimit / pcs.Document_Width;\r\n pcs.Document_Width = WidthLimit;\r\n pcs.Document_Height = pcs.Document_Height * ratio;\r\n }\r\n if (pcs.Document_Height > HeightLimit) {\r\n let ratio: number = HeightLimit / pcs.Document_Height;\r\n pcs.Document_Height = HeightLimit;\r\n pcs.Document_Width = pcs.Document_Width * ratio;\r\n }\r\n CurrentDocWidth = pcs.Document_Width;\r\n CurrentDocHeight = pcs.Document_Height;\r\n\r\n let SMatCount: number = !pcs.MatCombo_IsWoodFillet && pcs.SecondaryMatID > 0 ? 1 : 0;\r\n let SMatWidthPixelAdder: number = 1;\r\n // rail Setup\r\n // - Rail includes: Inner Mat and all mat bevels.\r\n // - The primary mat is actually the inner mat on single document frames\r\n // - The document \"underlaps\" the inner mat. See DocSizeTier.DocOverLap\r\n // - The mats are overlapped by the moulding by 0.25\r\n // - From this point forward, rail will be defined as all visible portions of mats including bevels (we are subtracting out the 0.25 of moulding overlap)\r\n let MouldingOverlap: number = 0.25;\r\n let RailTop: number = (DocSizeTier.StandardRail) - MouldingOverlap;\r\n let RailSide: number = (DocSizeTier.StandardRail) - MouldingOverlap;\r\n // insignia Adjustments\r\n let InsigniaWidth =\r\n pcs.Base_InsigniaWidthInches > 0\r\n ? pcs.Base_InsigniaWidthInches\r\n : DefaultPCS.DefaultInsigniaWidthMax;\r\n InsigniaWidth =\r\n DocSizeTier.DocSizeTierID >= 7 && pcs.Base_InsigniaWidthInches < 1 ? 2 : InsigniaWidth;\r\n // lino\r\n let LinoWidthMax: number =\r\n Math.min(DefaultPCS.DefaultLinoWidthMax, CurrentDocWidth + 1) +\r\n pcs.Base_LinoAdjustmentInches;\r\n LinoWidthMax = r.linoWidthAdjust(LinoWidthMax, pcs);\r\n let LinoHeightMax: number = DefaultPCS.DefaultLinoHeightMax * (LinoWidthMax / 11.5);\r\n // ****----____ EP-code-change ____----****\r\n let EPWidth: number = DefaultPCS.DefaultEPWidth;\r\n let EPHeight: number = DefaultPCS.DefaultEPHeight;\r\n if (CurrentDocHeight <= 7) {\r\n EPWidth = 3;\r\n EPHeight = 0.5;\r\n }\r\n // ****----____ EP-code-change ____----****\r\n let TotalWidth: number =\r\n RailSide * 2 +\r\n CurrentDocWidth +\r\n (pcs.UseMaxMouldingForSizing ? pcs.MouldingWidthMax * 2 : pcs.MouldingExtWidth * 2);\r\n let DPI: number = (Math.floor(pcs.MaxFrameWidthPx / TotalWidth));\r\n let done: boolean = false;\r\n let doneCount: number = 0;\r\n let BevelWidthPx: number = -1;\r\n let DocWidthPx: number = -1;\r\n let DocHeightPx: number = -1;\r\n let EPWidthPx: number = -1;\r\n let EPHeightPx: number = -1;\r\n let MaxInsigniaWidthPx: number = -1;\r\n let LinoWidthMaxPx: number = -1;\r\n let LinoHeightMaxPx: number = -1;\r\n let MouldingWidthPx: number = -1;\r\n let MaxMouldingWidthPx: number = -1;\r\n let SMatWidthPx: number = -1;\r\n let RailSidePx: number = -1;\r\n let RailTopPx: number = -1;\r\n let TotalUsedWidthPx: number = -1;\r\n let TotalUsedWidthPx_NoMargin: number = -1;\r\n let PMatWidthPx: number = -1;\r\n let TotalUsedHeightPx: number = -1;\r\n let TotalUsedHeightPx_NoMargin: number = -1;\r\n let PMatHeightPx: number = -1;\r\n let MaxSingleDocRailWidthPx: number = -1;\r\n let MaxPossibleSingleDocWidthPx: number = -1;\r\n let MaxPossibleSingleDocHeightPx: number = -1;\r\n while (!done) {\r\n BevelWidthPx = Math.max(1, (Math.floor(pcs.BevelWidth * 2 * DPI))); // double bevel width. It was too small.\r\n DocWidthPx = (\r\n (Math.round((CurrentDocWidth - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n DocHeightPx = (\r\n (Math.round((CurrentDocHeight - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n // ****----____ EP-code-change ____----****\r\n EPWidthPx = ((EPWidth * DPI));\r\n EPHeightPx = ((EPHeight * DPI));\r\n // ****----____ EP-code-change ____----****\r\n MaxInsigniaWidthPx = (Math.round(InsigniaWidth * DPI));\r\n LinoWidthMaxPx = (Math.round(LinoWidthMax * DPI));\r\n LinoHeightMaxPx = (Math.round(LinoHeightMax * DPI));\r\n MouldingWidthPx = (Math.round(pcs.MouldingExtWidth * DPI));\r\n MaxMouldingWidthPx = (Math.round(pcs.MouldingWidthMax * DPI));\r\n pcs.Padding = MaxMouldingWidthPx - MouldingWidthPx;\r\n SMatWidthPx =\r\n Math.max(\r\n 1,\r\n (Math.floor((pcs.InnerAccentWidth - pcs.BevelWidth) * DPI)),\r\n ) + SMatWidthPixelAdder; // innerAccentWidth includes bevel. We take bevel out here as we convert to pixels. Adding +1 pixel here. We might have to loop back and adjust DPI down\r\n RailSidePx =\r\n (Math.round(RailSide * DPI)) + SMatWidthPixelAdder * SMatCount; // we add the smat pixel adder because this adder is not accounted for in the core rail size specs. Also, if it is a wood fillet, we must add the wood fillet to the rail size since the fillet is additive\r\n RailTopPx = (Math.round(RailTop * DPI)) + SMatWidthPixelAdder * SMatCount;\r\n if (pcs.MaxFrameWidthPx <= 250 && SMatWidthPx > 2) {\r\n SMatWidthPx = 2;\r\n } // Cap SMat at 2px for images at or below 250px// Cap SMat at 2px for images at or below 250px\r\n TotalUsedWidthPx = RailSidePx * 2 + DocWidthPx + MaxMouldingWidthPx * 2;\r\n TotalUsedWidthPx_NoMargin = RailSidePx * 2 + DocWidthPx + MouldingWidthPx * 2;\r\n PMatWidthPx = TotalUsedWidthPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n TotalUsedHeightPx = RailTopPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n TotalUsedHeightPx_NoMargin = RailTopPx * 2 + DocHeightPx + MouldingWidthPx * 2;\r\n PMatHeightPx = TotalUsedHeightPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n // if UseCommonDPI is turned on, we want to sync single doc, cameo, and spirit. We sync them in such a way that, if turned on their side, vertical frames will still fit.\r\n // calculate the maximum possible width of a single doc frame with this document size. This is used to establish a common DPI across all single docs when UseCommonDPI is set to true\r\n MaxSingleDocRailWidthPx = Math.max(\r\n (\r\n ((\r\n Math.round(((DocSizeTier.CameoRail) - MouldingOverlap) * DPI)\r\n ))\r\n ) + SMatWidthPixelAdder,\r\n (\r\n ((\r\n Math.round(\r\n ((DocSizeTier.StandardRail) - MouldingOverlap) * DPI,\r\n )\r\n ))\r\n ) +\r\n SMatWidthPixelAdder +\r\n (BevelWidthPx * 2 + SMatWidthPx),\r\n ); // we use the larger cameo rail for this calculation. Also, compare against standard rail + fillet. Take the largest\r\n MaxPossibleSingleDocWidthPx =\r\n MaxSingleDocRailWidthPx * 2 + DocWidthPx + MaxMouldingWidthPx * 2;\r\n MaxPossibleSingleDocHeightPx =\r\n MaxSingleDocRailWidthPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n if (DocHeightPx > DocWidthPx && pcs.UseCommonDPI) {\r\n if (MaxPossibleSingleDocHeightPx > pcs.MaxFrameWidthPx) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n } else {\r\n if (\r\n (pcs.UseCommonDPI ? MaxPossibleSingleDocWidthPx : TotalUsedWidthPx_NoMargin) >\r\n pcs.MaxFrameWidthPx ||\r\n (pcs.UseCommonDPI ? TotalUsedHeightPx : TotalUsedHeightPx_NoMargin) >\r\n pcs.MaxFrameHeightPx\r\n ) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n }\r\n doneCount += 1;\r\n if (doneCount > 100000) {\r\n done = true;\r\n }\r\n }\r\n // check width, look back with new dpi if necessary\r\n pcs.FrameDisplay_width = TotalUsedWidthPx;\r\n pcs.FrameDisplay_height = TotalUsedHeightPx;\r\n // primary mat\r\n r.renderStandardPrimaryMat(\r\n PMatWidthPx,\r\n PMatHeightPx,\r\n MaxMouldingWidthPx,\r\n MouldingWidthPx,\r\n pcs,\r\n );\r\n r.renderStandardMoulding(MouldingWidthPx, PMatWidthPx, PMatHeightPx, pcs);\r\n pcs.css.varsity_visible = true;\r\n if (SMatCount > 0) {\r\n pcs.css.varsity_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.varsity_pmat_bevel_left = `${(RailSidePx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.varsity_pmat_bevel_top = `${(RailTopPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.varsity_pmat_bevel_width = `${(DocWidthPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)).toString()}px`;\r\n pcs.css.varsity_pmat_bevel_height = `${(DocHeightPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)).toString()}px`;\r\n pcs.css.varsity_smat_backgroundColor = `#${pcs.SecondaryMatColor}`;\r\n pcs.css.varsity_smat_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.varsity_smat_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.varsity_smat_width = `${(DocWidthPx + SMatWidthPx * 2 + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.varsity_smat_height = `${(DocHeightPx + SMatWidthPx * 2 + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.varsity_smat_bevel_backgroundColor = `white`;\r\n pcs.css.varsity_smat_bevel_left = `${SMatWidthPx.toString()}px`;\r\n pcs.css.varsity_smat_bevel_top = `${SMatWidthPx.toString()}px`;\r\n pcs.css.varsity_smat_bevel_width = `${(DocWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.varsity_smat_bevel_height = `${(DocHeightPx + BevelWidthPx * 2).toString()}px`;\r\n } else {\r\n pcs.css.varsity_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.varsity_pmat_bevel_left = `${(RailSidePx - BevelWidthPx).toString()}px`;\r\n pcs.css.varsity_pmat_bevel_top = `${(RailTopPx - BevelWidthPx).toString()}px`;\r\n pcs.css.varsity_pmat_bevel_width = `${(DocWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.varsity_pmat_bevel_height = `${(DocHeightPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.varsity_smat_backgroundColor = `none`;\r\n pcs.css.varsity_smat_left = `0px`;\r\n pcs.css.varsity_smat_top = `0px`;\r\n pcs.css.varsity_smat_width = ``;\r\n pcs.css.varsity_smat_height = ``;\r\n pcs.css.varsity_smat_bevel_backgroundColor = `none`;\r\n pcs.css.varsity_smat_bevel_left = `0px`;\r\n pcs.css.varsity_smat_bevel_top = `0px`;\r\n pcs.css.varsity_smat_bevel_width = ``;\r\n pcs.css.varsity_smat_bevel_height = ``;\r\n }\r\n\r\n pcs.css.varsity_bg_backgroundColor = `#${Util.isNullOrWhiteSpace(s.pcs.vlbg_color) ? `000000` : s.pcs.vlbg_color}`;\r\n pcs.css.varsity_bg_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.varsity_bg_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.varsity_bg_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.varsity_bg_height = `${DocHeightPx.toString()}px`;\r\n pcs.css.varsity_src = r.vl_path(DocWidthPx, DocHeightPx, pcs.Base_ExtraEntityName);\r\n pcs.css.varsity_left = `0px`;\r\n pcs.css.varsity_top = `0px`;\r\n pcs.css.varsity_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.varsity_height = `${DocHeightPx.toString()}px`;\r\n // insignia\r\n r.renderStandardInsignia(\r\n 0,\r\n 0,\r\n PMatWidthPx,\r\n MaxInsigniaWidthPx,\r\n RailTopPx,\r\n BevelWidthPx,\r\n SMatCount,\r\n SMatWidthPx,\r\n pcs,\r\n );\r\n r.renderStandardLino(\r\n 0,\r\n 0,\r\n BevelWidthPx,\r\n SMatCount,\r\n SMatWidthPx,\r\n RailSidePx,\r\n DocWidthPx,\r\n DocHeightPx,\r\n LinoWidthMaxPx,\r\n LinoHeightMaxPx,\r\n pcs,\r\n );\r\n pcs.css.ep_visible = pcs.HasEngravedPlate;\r\n if (pcs.HasEngravedPlate) {\r\n pcs.css.ep_visible = true;\r\n let EPTopPx: number =\r\n (\r\n (RailSidePx +\r\n DocHeightPx +\r\n BevelWidthPx +\r\n SMatCount * (SMatWidthPx + BevelWidthPx))\r\n ) +\r\n (\r\n ((\r\n Math.floor(\r\n ((RailSidePx) -\r\n (BevelWidthPx) -\r\n (SMatCount) *\r\n ((SMatWidthPx) + (BevelWidthPx))) /\r\n 2 -\r\n (EPHeightPx) / 2,\r\n )\r\n ))\r\n ) -\r\n BevelWidthPx * 2;\r\n let EPLeftPx: number =\r\n (\r\n ((\r\n Math.floor(\r\n (RailSidePx) +\r\n (DocWidthPx) / 2 -\r\n (EPWidthPx) / 2,\r\n )\r\n ))\r\n ) -\r\n BevelWidthPx * 2;\r\n r.renderEngravedPlate(\r\n EPLeftPx,\r\n EPTopPx,\r\n EPWidthPx,\r\n EPHeightPx,\r\n BevelWidthPx,\r\n PMatWidthPx,\r\n pcs,\r\n );\r\n }\r\n };\r\n\r\n const renderOvalFrame = (pcs: ProductCustomizationState): void => {\r\n let CurrentDocWidth: number = 0;\r\n let CurrentDocHeight: number = 0;\r\n let DocSizeTier = r.getDocSizeTier(pcs);\r\n let WidthLimit: number = 14;\r\n let HeightLimit: number = 14;\r\n\r\n if (pcs.Document_Width > WidthLimit) {\r\n let ratio: number = WidthLimit / pcs.Document_Width;\r\n pcs.Document_Width = WidthLimit;\r\n pcs.Document_Height = pcs.Document_Height * ratio;\r\n }\r\n if (pcs.Document_Height > HeightLimit) {\r\n let ratio: number = HeightLimit / pcs.Document_Height;\r\n pcs.Document_Height = HeightLimit;\r\n pcs.Document_Width = pcs.Document_Width * ratio;\r\n }\r\n CurrentDocWidth = pcs.Document_Width;\r\n CurrentDocHeight = pcs.Document_Height;\r\n let SMatCount: number = !pcs.MatCombo_IsWoodFillet && pcs.SecondaryMatID > 0 ? 1 : 0;\r\n let SMatWidthPixelAdder: number = 1;\r\n // rail Setup\r\n // - Rail includes: Inner Mat and all mat bevels.\r\n // - The primary mat is actually the inner mat on single document frames\r\n // - The document \"underlaps\" the inner mat. See DocSizeTier.DocOverLap\r\n // - The mats are overlapped by the moulding by 0.25\r\n // - From this point forward, rail will be defined as all visible portions of mats including bevels (we are subtracting out the 0.25 of moulding overlap)\r\n let MouldingOverlap: number = 0.25;\r\n let RailTop: number = (DocSizeTier.TasselRailHeight) - MouldingOverlap;\r\n let RailSide: number = (DocSizeTier.TasselRailWidth) - MouldingOverlap;\r\n // insignia Adjustments\r\n let InsigniaWidth =\r\n pcs.Base_InsigniaWidthInches > 0\r\n ? pcs.Base_InsigniaWidthInches\r\n : DefaultPCS.DefaultInsigniaWidthMax;\r\n InsigniaWidth =\r\n DocSizeTier.DocSizeTierID >= 7 && pcs.Base_InsigniaWidthInches < 1 ? 2 : InsigniaWidth;\r\n // lino\r\n let LinoWidthMax: number =\r\n Math.min(DefaultPCS.DefaultLinoWidthMax, CurrentDocWidth + 1) +\r\n pcs.Base_LinoAdjustmentInches;\r\n LinoWidthMax = r.linoWidthAdjust(LinoWidthMax, pcs);\r\n let LinoHeightMax: number = DefaultPCS.DefaultLinoHeightMax * (LinoWidthMax / 11.5);\r\n let OvalGap: number = 1;\r\n let OvalWidth: number = 4.5;\r\n let OvalHeight: number = 6.5;\r\n // ****----____ EP-code-change ____----****\r\n let EPWidth: number = DefaultPCS.DefaultEPWidth;\r\n let EPHeight: number = DefaultPCS.DefaultEPHeight;\r\n if (CurrentDocHeight <= 7) {\r\n EPWidth = 3;\r\n EPHeight = 0.5;\r\n }\r\n // ****----____ EP-code-change ____----****\r\n let TotalWidth: number =\r\n RailSide * 2 +\r\n CurrentDocWidth +\r\n (pcs.UseMaxMouldingForSizing ? pcs.MouldingWidthMax * 2 : pcs.MouldingExtWidth * 2) +\r\n OvalGap +\r\n OvalWidth;\r\n let DPI: number = (Math.floor(pcs.MaxFrameWidthPx / TotalWidth));\r\n let done: boolean = false;\r\n let doneCount: number = -1;\r\n let BevelWidthPx: number = -1;\r\n let DocWidthPx: number = -1;\r\n let DocHeightPx: number = -1;\r\n let EPWidthPx: number = -1;\r\n let EPHeightPx: number = -1;\r\n let MaxInsigniaWidthPx: number = -1;\r\n let LinoWidthMaxPx: number = -1;\r\n let LinoHeightMaxPx: number = -1;\r\n let MouldingWidthPx: number = -1;\r\n let MaxMouldingWidthPx: number = -1;\r\n let SMatWidthPx: number = -1;\r\n let RailSidePx: number = -1;\r\n let RailTopPx: number = -1;\r\n let OvalGapPx: number = -1;\r\n let OvalWidthPx: number = -1;\r\n let OvalHeightPx: number = -1;\r\n let TotalUsedWidthPx: number = -1;\r\n let TotalUsedWidthPx_NoMargin: number = -1;\r\n let PMatWidthPx: number = -1;\r\n let TotalUsedHeightPx: number = -1;\r\n let TotalUsedHeightPx_NoMargin: number = -1;\r\n let PMatHeightPx: number = -1;\r\n let MaxSingleDocRailWidthPx: number = -1;\r\n let MaxPossibleSingleDocWidthPx: number = -1;\r\n let MaxPossibleSingleDocHeightPx: number = -1;\r\n while (!done) {\r\n BevelWidthPx = Math.max(1, (Math.round(pcs.BevelWidth * 2 * DPI))); // double bevel width. It was too small.\r\n DocWidthPx = (\r\n (Math.round((CurrentDocWidth - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n DocHeightPx = (\r\n (Math.round((CurrentDocHeight - (DocSizeTier.DocOverlap)) * DPI))\r\n );\r\n // ****----____ EP-code-change ____----****\r\n EPWidthPx = ((EPWidth * DPI));\r\n EPHeightPx = ((EPHeight * DPI));\r\n // ****----____ EP-code-change ____----****\r\n MaxInsigniaWidthPx = (Math.round(InsigniaWidth * DPI));\r\n LinoWidthMaxPx = (Math.round(LinoWidthMax * DPI));\r\n LinoHeightMaxPx = (Math.round(LinoHeightMax * DPI));\r\n MouldingWidthPx = (Math.round(pcs.MouldingExtWidth * DPI));\r\n MaxMouldingWidthPx = (Math.round(pcs.MouldingWidthMax * DPI));\r\n pcs.Padding = MaxMouldingWidthPx - MouldingWidthPx;\r\n SMatWidthPx =\r\n Math.max(\r\n 1,\r\n (Math.floor((pcs.InnerAccentWidth - pcs.BevelWidth) * DPI)),\r\n ) + SMatWidthPixelAdder; // innerAccentWidth includes bevel. We take bevel out here as we convert to pixels. Adding +1 pixel here. We might have to loop back and adjust DPI down\r\n RailSidePx =\r\n (Math.round(RailSide * DPI)) + SMatWidthPixelAdder * SMatCount; // we add the smat pixel adder because this adder is not accounted for in the core rail size specs. Also, if it is a wood fillet, we must add the wood fillet to the rail size since the fillet is additive\r\n RailTopPx = (Math.round(RailTop * DPI)) + SMatWidthPixelAdder * SMatCount;\r\n if (pcs.MaxFrameWidthPx <= 250 && SMatWidthPx > 2) {\r\n SMatWidthPx = 2;\r\n } // Cap SMat at 2px for images at or below 250px// Cap SMat at 2px for images at or below 250px\r\n OvalGapPx =\r\n (Math.round(OvalGap * DPI)) + SMatWidthPixelAdder * SMatCount * 2;\r\n OvalWidthPx = (Math.round(OvalWidth * DPI));\r\n OvalHeightPx = (Math.round(OvalHeight * DPI));\r\n TotalUsedWidthPx =\r\n RailSidePx * 2 + DocWidthPx + MaxMouldingWidthPx * 2 + OvalGapPx + OvalWidthPx;\r\n TotalUsedWidthPx_NoMargin =\r\n RailSidePx * 2 + DocWidthPx + MouldingWidthPx * 2 + OvalGapPx + OvalWidthPx;\r\n PMatWidthPx = TotalUsedWidthPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n TotalUsedHeightPx = RailTopPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n TotalUsedHeightPx_NoMargin = RailTopPx * 2 + DocHeightPx + MouldingWidthPx * 2;\r\n PMatHeightPx = TotalUsedHeightPx - MaxMouldingWidthPx * 2; // refers to the outer width, not the width of an individual side\r\n // if UseCommonDPI is turned on, we want to sync single doc, cameo, and spirit. We sync them in such a way that, if turned on their side, vertical frames will still fit.\r\n // calculate the maximum possible width of a single doc frame with this document size. This is used to establish a common DPI across all single docs when UseCommonDPI is set to true\r\n MaxSingleDocRailWidthPx = Math.max(\r\n (\r\n ((\r\n Math.round(((DocSizeTier.CameoRail) - MouldingOverlap) * DPI)\r\n ))\r\n ) + SMatWidthPixelAdder,\r\n (\r\n ((\r\n Math.round(\r\n ((DocSizeTier.StandardRail) - MouldingOverlap) * DPI,\r\n )\r\n ))\r\n ) +\r\n SMatWidthPixelAdder +\r\n (BevelWidthPx * 2 + SMatWidthPx),\r\n ); // we use the larger cameo rail for this calculation. Also, compare against standard rail + fillet. Take the largest\r\n MaxPossibleSingleDocWidthPx =\r\n MaxSingleDocRailWidthPx * 2 + DocWidthPx + MaxMouldingWidthPx * 2;\r\n MaxPossibleSingleDocHeightPx =\r\n MaxSingleDocRailWidthPx * 2 + DocHeightPx + MaxMouldingWidthPx * 2;\r\n if (DocHeightPx > DocWidthPx && pcs.UseCommonDPI) {\r\n if (MaxPossibleSingleDocHeightPx > pcs.MaxFrameWidthPx) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n } else {\r\n if (\r\n (pcs.UseCommonDPI ? MaxPossibleSingleDocWidthPx : TotalUsedWidthPx_NoMargin) >\r\n pcs.MaxFrameWidthPx ||\r\n (pcs.UseCommonDPI ? TotalUsedHeightPx : TotalUsedHeightPx_NoMargin) >\r\n pcs.MaxFrameHeightPx\r\n ) {\r\n DPI -= 1;\r\n } else {\r\n done = true;\r\n }\r\n }\r\n doneCount += 1;\r\n if (doneCount > 100000) {\r\n done = true;\r\n }\r\n }\r\n // check width, look back with new dpi if necessary\r\n pcs.FrameDisplay_width = TotalUsedWidthPx;\r\n pcs.FrameDisplay_height = TotalUsedHeightPx;\r\n // primary mat\r\n r.renderStandardPrimaryMat(\r\n PMatWidthPx,\r\n PMatHeightPx,\r\n MaxMouldingWidthPx,\r\n MouldingWidthPx,\r\n pcs,\r\n );\r\n r.renderStandardMoulding(MouldingWidthPx, PMatWidthPx, PMatHeightPx, pcs);\r\n pcs.css.oval_visible = true;\r\n if (SMatCount > 0) {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx + OvalWidthPx + OvalGapPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${DocWidthPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${DocHeightPx + 2 * (BevelWidthPx * 2 + SMatWidthPx)}px`;\r\n r.RenderStandardSMat(BevelWidthPx, SMatWidthPx, DocWidthPx, DocHeightPx, pcs);\r\n pcs.css.oval_pmat_bevel_backgroundColor = `white`;\r\n pcs.css.oval_pmat_bevel_left = `${(RailSidePx - SMatWidthPx - BevelWidthPx * 2).toString()}px`;\r\n pcs.css.oval_pmat_bevel_top = `${((\r\n ((\r\n Math.floor(\r\n ((PMatHeightPx) -\r\n (OvalHeightPx) -\r\n (SMatWidthPx) * 2) /\r\n 2,\r\n )\r\n ))\r\n )).toString()}px`;\r\n pcs.css.oval_pmat_bevel_width = `${(OvalWidthPx + SMatWidthPx * 2 + BevelWidthPx * 4).toString()}px`;\r\n pcs.css.oval_pmat_bevel_height = `${OvalHeightPx + SMatWidthPx * 2 + BevelWidthPx * 4}px`;\r\n pcs.css.oval_pmat_bevel_borderRadius = `${(\r\n OvalWidthPx +\r\n SMatWidthPx * 2 +\r\n BevelWidthPx * 4\r\n ).toString()}px / ${(OvalHeightPx + SMatWidthPx * 2 + BevelWidthPx * 4).toString()}px`;\r\n pcs.css.oval_smat_backgroundColor = `#${pcs.SecondaryMatColor}`;\r\n pcs.css.oval_smat_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.oval_smat_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.oval_smat_width = `${(OvalWidthPx + 2 * (BevelWidthPx + SMatWidthPx)).toString()}px`;\r\n pcs.css.oval_smat_height = `${(OvalHeightPx + 2 * (BevelWidthPx + SMatWidthPx)).toString()}px`;\r\n pcs.css.oval_smat_borderRadius = `${(\r\n OvalWidthPx +\r\n 2 * (BevelWidthPx + SMatWidthPx)\r\n ).toString()}px / ${(OvalHeightPx + 2 * (BevelWidthPx + SMatWidthPx)).toString()}px`;\r\n pcs.css.oval_smat_bevel_backgroundColor = `#FFFFFF`;\r\n pcs.css.oval_smat_bevel_left = `${SMatWidthPx.toString()}px`;\r\n pcs.css.oval_smat_bevel_top = `${SMatWidthPx.toString()}px`;\r\n pcs.css.oval_smat_bevel_width = `${(OvalWidthPx + 2 * BevelWidthPx).toString()}px`;\r\n pcs.css.oval_smat_bevel_height = `${(OvalHeightPx + 2 * BevelWidthPx).toString()}px`;\r\n pcs.css.oval_smat_bevel_borderRadius = `${(\r\n OvalWidthPx +\r\n 2 * BevelWidthPx\r\n ).toString()}px / ${(OvalHeightPx + 2 * BevelWidthPx).toString()}px`;\r\n } else {\r\n pcs.css.doc1_pmat_bevel_backgroundColor = `#FFFFFF`;\r\n pcs.css.doc1_pmat_bevel_left = `${(RailSidePx + OvalWidthPx + OvalGapPx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_top = `${(RailTopPx - BevelWidthPx).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_width = `${(DocWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.doc1_pmat_bevel_height = `${(DocHeightPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.oval_pmat_bevel_backgroundColor = `#FFFFFF`;\r\n pcs.css.oval_pmat_bevel_left = `${(RailSidePx - BevelWidthPx).toString()}px`;\r\n pcs.css.oval_pmat_bevel_top = `${((\r\n (Math.floor(((PMatHeightPx) - OvalHeightPx) / 2))\r\n )).toString()}px`;\r\n pcs.css.oval_pmat_bevel_width = `${(OvalWidthPx + BevelWidthPx * 2).toString()}px`;\r\n pcs.css.oval_pmat_bevel_height = `${OvalHeightPx + BevelWidthPx * 2}px`;\r\n pcs.css.oval_pmat_bevel_borderRadius = `${OvalWidthPx.toString()}px / ${OvalHeightPx.toString()}px`;\r\n r.renderCollapsedSMat(pcs);\r\n pcs.css.oval_smat_backgroundColor = `none`;\r\n pcs.css.oval_smat_left = `0px`;\r\n pcs.css.oval_smat_top = `0px`;\r\n pcs.css.oval_smat_width = ``;\r\n pcs.css.oval_smat_height = ``;\r\n pcs.css.oval_smat_borderRadius = `0px`;\r\n pcs.css.oval_smat_bevel_backgroundColor = `none`;\r\n pcs.css.oval_smat_bevel_left = `0px`;\r\n pcs.css.oval_smat_bevel_top = `0px`;\r\n pcs.css.oval_smat_bevel_width = ``;\r\n pcs.css.oval_smat_bevel_height = ``;\r\n pcs.css.oval_smat_bevel_borderRadius = `0px`;\r\n }\r\n pcs.css.doc1_src = r.doc_path(\r\n DocWidthPx,\r\n DocHeightPx,\r\n pcs.Base_DocumentName,\r\n pcs.Base_ExtraEntityName,\r\n pcs.DYF_FrameStyleID,\r\n pcs.o3,\r\n );\r\n pcs.css.doc1_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.doc1_width = `${DocWidthPx.toString()}px`;\r\n pcs.css.doc1_height = `${DocHeightPx.toString()}px`;\r\n pcs.css.oval_src = r.oval_path(OvalWidthPx, pcs.Base_ExtraEntityName, pcs.DYF_FrameStyleID);\r\n pcs.css.oval_left = `${BevelWidthPx.toString()}px`;\r\n pcs.css.oval_top = `${BevelWidthPx.toString()}px`;\r\n pcs.css.oval_width = `${OvalWidthPx.toString()}px`;\r\n pcs.css.oval_height = `${OvalHeightPx.toString()}px`;\r\n pcs.css.oval_borderRadius = `${OvalWidthPx.toString()}px / ${OvalHeightPx.toString()}px`;\r\n pcs.css.oval_backgroundColor = `#FFFFFF`;\r\n pcs.css.insignia_visible = pcs.Base_InsigniaID > 0;\r\n if (pcs.Base_InsigniaID > 0) {\r\n pcs.css.insignia_src = r.insignia_path(MaxInsigniaWidthPx, pcs.Base_InsigniaName);\r\n pcs.css.insignia_left = `${OvalWidthPx + OvalGapPx + (Math.floor((RailSidePx) + (DocWidthPx) / 2 - (MaxInsigniaWidthPx) / 2))}px`;\r\n pcs.css.insignia_top = `${(Math.floor(((RailTopPx) - (BevelWidthPx) - (SMatCount) * ((SMatWidthPx) + (BevelWidthPx))) / 2 - (MaxInsigniaWidthPx) / 2))}px`;\r\n pcs.css.insignia_width = `${MaxInsigniaWidthPx.toString()}px`;\r\n pcs.css.insignia_height = `${MaxInsigniaWidthPx.toString()}px`;\r\n }\r\n pcs.css.lino_visible = pcs.Base_LinoID > 0;\r\n if (pcs.Base_LinoID > 0) {\r\n pcs.css.lino_src = r.lino_path(LinoWidthMaxPx, pcs);\r\n pcs.css.lino_left = `${OvalWidthPx + OvalGapPx + (Math.floor((RailSidePx) + (DocWidthPx) / 2 - (LinoWidthMaxPx) / 2))}px`;\r\n pcs.css.lino_top = `${((RailTopPx + DocHeightPx + BevelWidthPx + SMatCount * (SMatWidthPx + BevelWidthPx) + Math.floor(((RailTopPx) - (BevelWidthPx) - (SMatCount) * ((SMatWidthPx) + (BevelWidthPx))) / 2 - (LinoHeightMaxPx) / 2)))}px`;\r\n pcs.css.lino_width = `${LinoWidthMaxPx.toString()}px`;\r\n pcs.css.lino_height = `${LinoHeightMaxPx.toString()}px`;\r\n }\r\n // ep\r\n pcs.css.ep_visible = pcs.HasEngravedPlate;\r\n if (pcs.HasEngravedPlate) {\r\n let EPTopPx: number =\r\n (\r\n ((\r\n (RailTopPx +\r\n DocHeightPx +\r\n BevelWidthPx +\r\n SMatCount * (SMatWidthPx + BevelWidthPx) +\r\n Math.floor(\r\n ((RailTopPx) -\r\n (BevelWidthPx) -\r\n (SMatCount) *\r\n ((SMatWidthPx) +\r\n (BevelWidthPx))) /\r\n 2 -\r\n (EPHeightPx) / 2,\r\n ))\r\n ))\r\n ) -\r\n BevelWidthPx * 2;\r\n let EPLeftPx: number =\r\n OvalWidthPx +\r\n OvalGapPx +\r\n (\r\n ((\r\n Math.floor(\r\n (RailSidePx) +\r\n (DocWidthPx) / 2 -\r\n (EPWidthPx) / 2,\r\n )\r\n ))\r\n ) -\r\n BevelWidthPx * 2;\r\n r.renderEngravedPlate(\r\n EPLeftPx,\r\n EPTopPx,\r\n EPWidthPx,\r\n EPHeightPx,\r\n BevelWidthPx,\r\n PMatWidthPx,\r\n pcs,\r\n );\r\n }\r\n };\r\n}\r\n","import React, {createRef} from 'react';\r\nimport {observable, action, makeObservable} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport s from '../s';\r\nimport * as util from '../../util';\r\nimport {PCS_CSS} from '../i';\r\nimport * as emitter from '../../global/emitter';\r\nimport AbTestStore, {ABTestKeys} from '../../global/store/ab-test.store';\r\n\r\ninterface IProductRenderProps {\r\n css: PCS_CSS;\r\n zoom: boolean;\r\n}\r\n\r\n@observer\r\nexport default class ProductRender extends React.Component {\r\n @observable isZoomVisible: boolean;\r\n @observable originalContainerRef: React.RefObject = createRef();\r\n @observable zoomedContainerRef: React.RefObject = createRef();\r\n @observable zoomSquareContainerRef: React.RefObject = createRef();\r\n\r\n constructor(props: IProductRenderProps) {\r\n super(props);\r\n this.save = this.save.bind(this);\r\n this.onMouseMove = this.onMouseMove.bind(this);\r\n this.onMouseEnter = this.onMouseEnter.bind(this);\r\n this.onMouseLeave = this.onMouseLeave.bind(this);\r\n makeObservable(this);\r\n }\r\n\r\n @action\r\n onMouseMove(e: React.MouseEvent) {\r\n const squareCurrent = this.zoomSquareContainerRef.current;\r\n const originalCurrent = this.originalContainerRef.current;\r\n\r\n if (!originalCurrent || !squareCurrent) return;\r\n\r\n this.calculateZoomSquareSize();\r\n\r\n const imageRect = originalCurrent.getBoundingClientRect();\r\n const squareWidth = parseInt(squareCurrent.style.width, 10);\r\n const squareHeight = parseInt(squareCurrent.style.height, 10);\r\n\r\n let mouseX = e.clientX - imageRect.left;\r\n let mouseY = e.clientY - imageRect.top;\r\n\r\n mouseX -= squareWidth / 2;\r\n mouseY -= squareHeight / 2;\r\n\r\n if (mouseX + squareWidth > imageRect.width) mouseX = imageRect.width - squareWidth;\r\n\r\n if (mouseY + squareHeight > imageRect.height) mouseY = imageRect.height - squareHeight;\r\n\r\n if (mouseX < 0) mouseX = 0;\r\n\r\n if (mouseY < 0) mouseY = 0;\r\n\r\n squareCurrent.style.top = `${mouseY}px`;\r\n squareCurrent.style.left = `${mouseX}px`;\r\n\r\n const scale = 2;\r\n\r\n this.setStyle('transformOrigin', `${mouseX * scale}px ${mouseY * scale}px`);\r\n this.setStyle('transform', `scale(${scale})`);\r\n this.setStyle('width', `${squareWidth * scale}px`, true);\r\n this.setStyle('height', `${squareHeight * scale}px`, true);\r\n this.setStyle('border', '1px solid gray', true);\r\n this.setStyle('boxShadow', '0 0 7px 5px rgba(0, 0, 0, .75)', true);\r\n }\r\n\r\n @action\r\n calculateZoomSquareSize() {\r\n const current = this.zoomSquareContainerRef.current;\r\n\r\n if (!current) return;\r\n\r\n let squareWidth: number;\r\n let squareHeight: number;\r\n\r\n const {frame_display_width, frame_display_height} = this.props.css;\r\n const ratio = frame_display_width / frame_display_height;\r\n\r\n if (frame_display_width > frame_display_height) {\r\n squareWidth = 350;\r\n squareHeight = squareWidth / ratio;\r\n } else {\r\n squareHeight = 350;\r\n squareWidth = squareHeight * ratio;\r\n }\r\n\r\n current.style.width = `${squareWidth}px`;\r\n current.style.height = `${squareHeight}px`;\r\n }\r\n\r\n @action\r\n onMouseLeave() {\r\n this.isZoomVisible = false;\r\n }\r\n\r\n @action\r\n onMouseEnter() {\r\n if (window.innerWidth > 1200) {\r\n this.isZoomVisible = true;\r\n }\r\n }\r\n\r\n @action\r\n setStyle(attr: string, value: string, parentStyle: boolean = false) {\r\n const current = this.zoomedContainerRef.current;\r\n\r\n if (!current) return;\r\n\r\n if (parentStyle && current.parentElement) {\r\n current.parentElement.style[attr] = value;\r\n } else {\r\n current.style[attr] = value;\r\n }\r\n }\r\n\r\n @action\r\n save = async (e: any) => {\r\n // const w:number = s.pcs.css.frame_display_width;\r\n // const h:number = s.pcs.css.frame_display_height;\r\n // const ratio:number = w/h;\r\n // console.log(w, h, ratio);\r\n // const newWidth:number = 565;\r\n };\r\n\r\n abForceUpdate = async () => this.forceUpdate();\r\n\r\n componentDidMount(): void {\r\n emitter.eventEmitter.subscribe(emitter.EventType.AB, 'ab', this.abForceUpdate);\r\n var loadingDiv = document.getElementById('prod-loading') as HTMLDivElement;\r\n if (loadingDiv) {\r\n loadingDiv.remove();\r\n }\r\n }\r\n\r\n render() {\r\n if (!s.ready || !this.props.css) {\r\n return;\r\n }\r\n\r\n let replaceImage: boolean;\r\n let newImage: React.JSX.Element;\r\n\r\n const th6Enabled = !s.prod.th6Disabled && !util.isNullOrWhiteSpace(s.prod.th6);\r\n\r\n if (th6Enabled) {\r\n const defaultConfiguration =\r\n s.prod.MouldingID === s.pcs.moulding_id &&\r\n s.prod.Mat1_ID === s.pcs.mat1_id &&\r\n s.prod.Mat2_ID === s.pcs.mat2_id &&\r\n s.prod.InsigniaID === s.pcs.insignia_id &&\r\n s.prod.EngravedPlateStatusID === s.pcs.ep_id &&\r\n s.prod.LinoID === s.pcs.lino_id;\r\n\r\n replaceImage =\r\n defaultConfiguration &&\r\n th6Enabled &&\r\n AbTestStore.ABIsVariant(ABTestKeys.ab_prod_th6, 1);\r\n newImage = (\r\n \r\n );\r\n }\r\n\r\n const renderContent = () => {\r\n if (s.prod.CustomizationMethod < 1) {\r\n return (\r\n
    \r\n
    \r\n {!replaceImage && (\r\n \r\n )}\r\n\r\n {replaceImage && newImage}\r\n\r\n {s.prod && s.prod.is_tassel_cord && (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n if (s.prod.CustomizationMethod === 1) {\r\n return (\r\n \r\n {!replaceImage && (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {s.prod && s.prod.is_tassel_cord && (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n\r\n {replaceImage && newImage}\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n\r\n \r\n {!replaceImage && (\r\n \r\n {/* Moulding */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n {this.props.css.doc1_visible && (\r\n \r\n \r\n \r\n \r\n {!s.ui.image_uploaded && (\r\n \r\n )}\r\n \r\n \r\n
    \r\n \r\n \r\n )}\r\n\r\n {this.props.css.doc2_visible && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.props.css.tassel_visible && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.props.css.fillet_visible && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.props.css.insignia_visible && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.props.css.insignia_bot_visible && (\r\n \r\n )}\r\n\r\n {this.props.css.lino_visible && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.props.css.ep_visible && (\r\n \r\n \r\n \r\n \r\n
    {s.pcs.ep1}
    \r\n
    {s.pcs.ep2}
    \r\n
    {s.pcs.ep3}
    \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.props.css.varsity_visible && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.props.css.oval_visible && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {/* Spirit */}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n {this.props.css.spirit_visible && (\r\n \r\n )}\r\n\r\n {/* Cameo */}\r\n {this.props.css.cameo_visible && (\r\n \r\n \r\n \r\n )}\r\n\r\n {s.prod && s.prod.is_tassel_cord && (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n )}\r\n\r\n {replaceImage && newImage}\r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const isMobile = window.innerWidth < 1200;\r\n const zoomContainerVisible =\r\n this.isZoomVisible &&\r\n AbTestStore.ABIsVariant(ABTestKeys.prod_zoom, 1) &&\r\n !this.props.zoom &&\r\n !isMobile;\r\n const content = (\r\n <>\r\n \r\n {renderContent()}\r\n {zoomContainerVisible && (\r\n \r\n )}\r\n \r\n {zoomContainerVisible && (\r\n \r\n \r\n {renderContent()}\r\n \r\n \r\n )}\r\n \r\n );\r\n\r\n const insigniaVisible =\r\n AbTestStore.ABIsVariant(ABTestKeys.prod_zoom, 2) &&\r\n this.isZoomVisible &&\r\n s.ui.name_insignia;\r\n const insignia = (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n {insigniaVisible ? insignia : content}\r\n \r\n );\r\n }\r\n}\r\n","import {observable, autorun, action, makeObservable, runInAction} from 'mobx';\r\nimport store from '../checkout/s';\r\nimport {pricing} from './api';\r\nimport {\r\n ProductUI,\r\n StoreInfo,\r\n ViewProduct,\r\n ProductState,\r\n PCS_CSS,\r\n GlassPrices,\r\n ViewGlass,\r\n ProductStateShare,\r\n} from './i';\r\nimport {r} from './rendering/core';\r\nimport * as util from '../util';\r\nimport {updateShippingBoxID} from './calc';\r\n\r\ndeclare var __isMyFrames: boolean;\r\ndeclare var __StoreID: number;\r\ndeclare var __preload_product: string;\r\ndeclare var __preload_glass_prices: string;\r\ndeclare var __fast_ship: boolean;\r\ndeclare var klaviyo: any[];\r\ndeclare const window: any;\r\ndeclare const marketing_product_visit: (arg: any[]) => void;\r\ndeclare var __portal: IPortalSettings;\r\n\r\nexport class ProdStore {\r\n @observable ui: ProductUI;\r\n @observable pcs: ProductState;\r\n @observable prod: ViewProduct;\r\n @observable si: StoreInfo;\r\n @observable isRetail: boolean;\r\n @observable debug: boolean = true;\r\n @observable errorLog: string;\r\n @observable errorLogInfo: string;\r\n @observable apiError: boolean = false;\r\n @observable ready: boolean = false;\r\n @observable __fast_ship_orig: boolean = false;\r\n @observable __fast_ship_warned: boolean = false;\r\n @observable selected_doc_size: number = 3;\r\n @observable glass_prices: GlassPrices[];\r\n @observable glass: ViewGlass[];\r\n @observable ppi_w: number;\r\n @observable ppi_h: number;\r\n @observable ppi_w_max: number;\r\n @observable ppi_h_max: number;\r\n @observable ppi_w_actual: number;\r\n @observable ppi_h_actual: number;\r\n @observable product_thumbnail_height: number = 75;\r\n @observable PortalID: number = 0;\r\n\r\n constructor() {\r\n this.ui = {\r\n product_title: '',\r\n item_id: '',\r\n sku: '',\r\n msrp: 0,\r\n price: 0,\r\n review_count: 0,\r\n review_score: 5,\r\n doc_type: '',\r\n box_id: -1,\r\n categoryIds: [],\r\n\r\n show_grad_year: true,\r\n show_atc: true,\r\n show_cust: true,\r\n show_pricing: true,\r\n\r\n name_moulding: '',\r\n moulding_has_zoom: true,\r\n moulding_zoom_path: '',\r\n moulding_zoom_path_th: '',\r\n\r\n name_mat1: '',\r\n name_mat2: '',\r\n name_glass: '',\r\n name_insignia: '',\r\n\r\n title_mat_combo: '',\r\n title_moulding: '',\r\n title_mat1: '',\r\n title_mat2: '',\r\n title_glass: '',\r\n title_insignia: '',\r\n title_vlbg: '',\r\n\r\n color_mat1: '',\r\n color_mat2: '',\r\n old_style_composite: '',\r\n\r\n linen: false,\r\n\r\n doRender: false,\r\n update_pricing: false,\r\n update_doc_sizes: false,\r\n\r\n zoom_thumbnails: false,\r\n zoom_real_images: false,\r\n show_caf_doc_sizes: false,\r\n show_caf_doc_sizes_both: false,\r\n\r\n bo_msg: '',\r\n is_bo: false,\r\n\r\n image_uploaded: false,\r\n image_uploaded_msg: '',\r\n image_uploading: false,\r\n processing_title: '',\r\n processing_text: '',\r\n allow_customer_photos: true,\r\n allow_reviews: true,\r\n allow_smartbox: true,\r\n };\r\n\r\n this.glass = [\r\n {id: 1, title: 'Standard', price: '$0'},\r\n {id: 2, title: 'Reflection Control', price: '$0'},\r\n {id: 3, title: 'Conservation UV', price: '$0'},\r\n {id: 4, title: 'UV & Reflection Control', price: '$0'},\r\n ];\r\n\r\n this.pcs = {} as ProductState;\r\n makeObservable(this);\r\n }\r\n\r\n @action\r\n init = () => {\r\n this.PortalID = __portal.PortalID;\r\n this.__fast_ship_orig = __fast_ship;\r\n this.isRetail = !__isMyFrames;\r\n this.prod = JSON.parse(JSON.stringify(__preload_product)) as ViewProduct;\r\n this.glass_prices = JSON.parse(JSON.stringify(__preload_glass_prices)) as GlassPrices[];\r\n this.si = this.prod.StoreInfo[__StoreID];\r\n\r\n if (this.prod.ProductID === 51558) {\r\n __fast_ship = true;\r\n this.__fast_ship_orig = true;\r\n }\r\n\r\n if (this.prod.mouldings) {\r\n this.prod.mouldings = this.prod.mouldings.filter(x => x.storeId == __StoreID);\r\n this.prod.mouldings.map((m, i) => (m.i = i));\r\n } else {\r\n s.prod.mouldings = [];\r\n }\r\n if (this.prod.mats) {\r\n this.prod.mats = this.prod.mats.filter(x => x.storeId == __StoreID);\r\n this.prod.mats.map((m, i) => (m.i = i));\r\n } else {\r\n s.prod.mats = [];\r\n }\r\n if (this.prod.caf_mat1) {\r\n this.prod.caf_mat1 = this.prod.caf_mat1.filter(x => x.storeId == __StoreID);\r\n this.prod.caf_mat1.filter(x => x.storeId == __StoreID).map((m, i) => (m.i = i));\r\n } else {\r\n s.prod.caf_mat1 = [];\r\n }\r\n if (this.prod.caf_mat2) {\r\n this.prod.caf_mat2 = this.prod.caf_mat2.filter(x => x.storeId == __StoreID);\r\n this.prod.caf_mat2.filter(x => x.storeId == __StoreID).map((m, i) => (m.i = i));\r\n } else {\r\n s.prod.caf_mat2 = [];\r\n }\r\n if (this.prod.insignias) {\r\n this.prod.insignias = this.prod.insignias.filter(x => x.storeId == __StoreID);\r\n this.prod.insignias.filter(x => x.storeId == __StoreID).map((m, i) => (m.i = i));\r\n } else {\r\n s.prod.insignias = [];\r\n }\r\n if (this.prod.linos) {\r\n this.prod.linos = this.prod.linos.filter(x => x.storeId == __StoreID);\r\n this.prod.linos.map((m, i) => (m.i = i));\r\n } else {\r\n s.prod.linos = [];\r\n }\r\n\r\n // setup ui\r\n this.ui.item_id = this.prod.ItemID;\r\n this.ui.price = this.isRetail ? this.si.Price_Retail : this.si.Price_Wholesale;\r\n this.prod.reviewCount;\r\n this.prod.reviewScore;\r\n this.ui.msrp = this.si.priceMSRPDec;\r\n this.ui.product_title = this.prod.Name;\r\n this.ui.doc_type = this.prod.DocType;\r\n this.ui.box_id = this.prod.Shipping_BoxID;\r\n const cat = [...new Set(this.prod.categories.map(m => m.CategoryID))];\r\n for (let i = 0; i < cat.length; i++) {\r\n if (s.prod.categories.filter(x => x.CategoryID === cat[i]).length > 1) {\r\n this.ui.categoryIds.push(cat[i]);\r\n }\r\n }\r\n if (this.si.StoreTypeID === 5 && this.isRetail) {\r\n this.ui.show_grad_year = false;\r\n }\r\n if (this.si.StoreTypeID === 5 && this.isRetail) {\r\n this.ui.show_cust = false;\r\n }\r\n if (this.prod.ProductID === 59753) {\r\n this.prod.is_tassel_cord = true;\r\n }\r\n\r\n // pcs\r\n if (this.prod.ForcePlexiglass) {\r\n this.pcs.use_plexi = true;\r\n }\r\n this.pcs.is_caf = this.prod.IsCAF;\r\n this.prod.orig_pcs.IsCAF = this.prod.IsCAF;\r\n this.pcs.customized_core = false;\r\n this.pcs.customized_glass = false;\r\n this.pcs.base_product_id = this.prod.ProductID;\r\n this.pcs.base_item_id = this.prod.ItemID;\r\n this.pcs.docWidth = this.prod.docWidth;\r\n this.pcs.docHeight = this.prod.docHeight;\r\n this.pcs.docWidth2 = this.prod.docWidth2;\r\n this.pcs.docHeight2 = this.prod.docHeight2;\r\n this.pcs.moulding_id = this.prod.MouldingID;\r\n this.pcs.moulding_extWidth = this.prod.MouldingExtWidth;\r\n this.ui.moulding_has_zoom = this.prod.MouldingHasZoom;\r\n this.ui.moulding_zoom_path = this.prod.Moulding_IMG_Zoom;\r\n this.ui.moulding_zoom_path_th = this.prod.Moulding_IMG_ZoomThumb;\r\n this.pcs.matcombo_id = this.prod.MatComboID;\r\n this.pcs.mat1_id = this.prod.Mat1_ID;\r\n this.pcs.mat2_id = this.prod.Mat2_ID;\r\n this.pcs.insignia_id = this.prod.InsigniaID;\r\n this.pcs.insignia_base_name = this.prod.InsigniaName;\r\n this.ui.name_insignia = this.prod.InsigniaName ? this.prod.InsigniaName.toLowerCase() : '';\r\n this.pcs.glass_id = 1;\r\n this.pcs.insignia_id = this.prod.InsigniaID;\r\n this.pcs.ep_id = 0;\r\n this.pcs.ep_id_view = 37;\r\n this.pcs.wholesale = __isMyFrames;\r\n this.pcs.qty = 1;\r\n this.ui.review_count = this.prod.reviewCount;\r\n this.ui.review_score = this.prod.reviewScore;\r\n if (!this.pcs.is_caf) {\r\n this.pcs.item_id = this.prod.orig_pcs.ItemID;\r\n } else {\r\n s.ui.moulding_has_zoom = true;\r\n }\r\n this.pcs.category_map_id = this.prod.orig_pcs.SelectedCategoryMapID;\r\n if (this.prod.EngravedPlateStatusID === 1) {\r\n this.pcs.ep_id = 37;\r\n }\r\n if (this.prod.EngravedPlateStatusID === 2) {\r\n this.pcs.ep_id = 39;\r\n this.pcs.ep_id_view = 39;\r\n }\r\n if (this.prod.EngravedPlateStatusID === 4) {\r\n this.pcs.ep_id_view = 39;\r\n }\r\n if (this.prod.EngravedPlateStatusID === 6) {\r\n this.pcs.ep_id = 1099;\r\n }\r\n if (this.prod.EngravedPlateStatusID === 7) {\r\n this.pcs.ep_id = 1099;\r\n this.pcs.ep_id_view = 1099;\r\n }\r\n this.pcs.lino_id = this.prod.LinoID;\r\n this.pcs.lino_base_name = this.prod.orig_pcs.Base_LinoName;\r\n this.pcs.lino_dyf_color = 'gold';\r\n this.pcs.lino_is_dyf = this.prod.ProductID < 0;\r\n this.pcs.is_horizontal = this.prod.IsHorizontal;\r\n // console.log(this.prod.IsHorizontal);\r\n\r\n if (this.prod.DYF_FrameStyleID === 4) {\r\n this.pcs.vlbg_id = this.prod.VLBG_ID;\r\n const vlbg = s.prod.caf_mat2.filter(x => x.id === this.pcs.vlbg_id)[0];\r\n if (vlbg) {\r\n this.pcs.vlbg_color = vlbg.mat_color;\r\n this.ui.title_vlbg = vlbg.title;\r\n }\r\n }\r\n\r\n if (this.pcs.is_caf) {\r\n this.ui.update_pricing = true;\r\n var _m = this.prod.mouldings.filter(x => x.isBase);\r\n if (_m.length > 0) {\r\n this.pcs.moulding_id = _m[0].id;\r\n }\r\n var _i = this.prod.insignias.filter(x => x.isBase);\r\n if (_i.length > 0) {\r\n this.pcs.insignia_id = _i[0].id;\r\n }\r\n var _l = this.prod.linos.filter(x => x.isBase);\r\n if (_l.length > 0) {\r\n this.pcs.lino_id = _l[0].id;\r\n }\r\n var _m1 = this.prod.caf_mat1.filter(x => x.isBase);\r\n if (_m1.length > 0) {\r\n this.pcs.mat1_id = _m1[0].id;\r\n this.pcs.mat1_color = _m1[0].mat_color;\r\n this.pcs.ins_gold_allowed = _m1[0].ins_gold_allowed;\r\n this.pcs.ins_silver_allowed = _m1[0].ins_silver_allowed;\r\n this.pcs.ins_black_allowed = _m1[0].ins_black_allowed;\r\n this.ui.linen = s.ui.linen = _m1[0].name.toLowerCase().includes('linen');\r\n }\r\n var _m2 = this.prod.caf_mat2.filter(x => x.isBase);\r\n if (_m2.length > 0) {\r\n this.pcs.mat2_id = _m2[0].id;\r\n this.pcs.mat2_color = _m2[0].mat_color;\r\n }\r\n s.ui.product_title = `Custom ${this.prod.DYF_FrameStyleName} Frame`;\r\n\r\n if (s.si.StoreID !== 136072) {\r\n s.ui.product_title = `Custom ${this.si.ProdInstText} ${this.prod.DYF_FrameStyleName} Frame`;\r\n }\r\n\r\n s.ui.moulding_has_zoom = true;\r\n s.pcs.DocSizeTierID = 4;\r\n if (this.prod.DYF_FrameStyleID === 10) {\r\n this.selected_doc_size = 0;\r\n }\r\n } else if (this.prod.mats) {\r\n const mc = this.prod.mats.filter(x => x.id === this.prod.MatComboID)[0];\r\n if (mc) {\r\n this.process_color_restrictions();\r\n this.pcs.mat1_color = mc.pmat_color;\r\n this.pcs.ins_gold_allowed = mc.ins_gold_allowed;\r\n this.pcs.ins_silver_allowed = mc.ins_silver_allowed;\r\n this.pcs.ins_black_allowed = mc.ins_black_allowed;\r\n this.ui.linen = s.ui.linen = mc.pmat_name.toLowerCase().includes('linen');\r\n }\r\n }\r\n\r\n if (this.prod.CustomizationMethod === 1) {\r\n this.ui.old_style_composite = this.prod.OldCompositeImage;\r\n }\r\n\r\n // hide year of graduation if linked store, or if diploma not in the product name\r\n if (\r\n (this.si.StoreTypeID === 5 && this.isRetail) ||\r\n !this.ui.product_title.toLowerCase().includes('diploma') ||\r\n this.pcs.is_caf\r\n ) {\r\n this.ui.show_grad_year = false;\r\n }\r\n if (this.prod.YearOfGraduation_Required) {\r\n this.ui.show_grad_year = true;\r\n }\r\n\r\n this.ui.allow_customer_photos = this.si.allow_customer_photos;\r\n this.ui.allow_reviews = this.si.allow_reviews;\r\n this.ui.allow_smartbox = this.si.allow_smartbox;\r\n\r\n if (__portal.DisableRealImages) {\r\n this.ui.allow_customer_photos = false;\r\n }\r\n\r\n if (__portal.DisableReviews) {\r\n this.ui.allow_reviews = false;\r\n }\r\n\r\n // share\r\n if (util.getParameterByName('k')) {\r\n try {\r\n let f: ProductStateShare = JSON.parse(atob(util.getParameterByName('k') as string));\r\n // console.log(JSON.stringify(f));\r\n parseInt(f.m0.toString(), 10);\r\n parseInt(f.m1.toString(), 10);\r\n parseInt(f.m2.toString(), 10);\r\n parseInt(f.i.toString(), 10);\r\n parseInt(f.g.toString(), 10);\r\n parseInt(f.l.toString(), 10);\r\n\r\n s.pcs.moulding_id = f.m0;\r\n s.pcs.mat1_id = f.m1;\r\n s.pcs.mat2_id = f.m2;\r\n\r\n if (f.i > 0) {\r\n const m = s.prod.insignias.filter(m => m.id === f.i)[0];\r\n if (m) {\r\n s.pcs.insignia_id = m.id;\r\n s.pcs.insignia_base_name = m.name;\r\n s.pcs.insignia_is_dyf = m.isCAF;\r\n s.pcs.insignia_dyf_color = m.ins_color.toLowerCase();\r\n s.ui.name_insignia = m.name.toLowerCase();\r\n s.ui.title_insignia = m.title;\r\n }\r\n }\r\n\r\n if (f.l > 0) {\r\n const m = s.prod.linos.filter(m => m.id === f.l)[0];\r\n if (m) {\r\n s.pcs.lino_base_name = m.name;\r\n s.pcs.lino_is_dyf = false;\r\n s.pcs.lino_id = m.id;\r\n s.pcs.lino_text = m.name;\r\n s.pcs.lino_dyf_color = f.lc;\r\n s.pcs.ep_id = 0;\r\n }\r\n }\r\n\r\n s.pcs.glass_id = f.g;\r\n s.pcs.lino_id = f.l;\r\n s.pcs.ep_id = f.e;\r\n s.pcs.ep1 = f.e1;\r\n s.pcs.ep2 = f.e2;\r\n s.pcs.ep3 = f.e3;\r\n s.pcs.is_horizontal = f.o;\r\n s.pcs.docWidth = f.w1;\r\n s.pcs.docWidth2 = f.w2;\r\n s.pcs.docHeight = f.h1;\r\n s.pcs.docHeight2 = f.h2;\r\n\r\n // console.log(f);\r\n } catch (err: any) {\r\n console.error(err);\r\n }\r\n }\r\n\r\n this.ui.doRender = true;\r\n this.ui.update_pricing = true;\r\n this.pulse();\r\n this.ready = true;\r\n\r\n // marketing\r\n if (this.isRetail && !this.prod.IsCAF) {\r\n const marketing_item: any = [\r\n {\r\n item_id: s.prod.IsCAF ? `CAF-${s.prod.ProductID}` : s.pcs.item_id,\r\n item_name: s.prod.Name,\r\n coupon: '',\r\n currency: 'USD',\r\n discount: 0,\r\n index: 1,\r\n item_brand: 'Church Hill Classics',\r\n item_category: s.prod.ProductTypeDisplayName,\r\n location_id: 'ChIJUcHLaPbi54kRtbVMrbSH4MU',\r\n price: this.ui.price,\r\n quantity: 1,\r\n product_id: s.prod.ProductID,\r\n item_list_name: s.prod.IsCAF ? `${this.si.InstName}` : this.si.StoreName,\r\n item_list_id: this.si.StoreID.toString(),\r\n item_variant: this.prod.ItemID,\r\n },\r\n ];\r\n\r\n if (marketing_product_visit) {\r\n marketing_product_visit(marketing_item);\r\n }\r\n }\r\n\r\n // window.addEventListener('resize', util.debounce(this.pulse(true), 150));\r\n window.addEventListener(\r\n 'resize',\r\n util.debounce(() => this.pulse(true), 150),\r\n );\r\n\r\n try {\r\n let item_image = {\r\n ProductName: s.prod.Name,\r\n ProductID: s.prod.ProductID,\r\n SKU: s.prod.ItemID,\r\n URL: `https://www.diplomaframe.com${s.si.URL}`,\r\n Brand: 'Church Hill Classics',\r\n Price: s.si.Price_Retail,\r\n ImageUrl:\r\n s.prod.CustomizationMethod === 2\r\n ? `https://i.diplomaframe.com/images/products/gen/products/${s.prod.ItemID.toLowerCase()}_${s.prod.ProductID}_1280_1280.png`\r\n : `https://i.diplomaframe.com/images/products/full/${s.prod.Image_Full.toLowerCase()}`,\r\n };\r\n\r\n let item_noimage = {\r\n ProductName: s.prod.Name,\r\n ProductID: s.prod.ProductID,\r\n SKU: s.prod.ItemID,\r\n URL: `https://www.diplomaframe.com${s.si.URL}`,\r\n Brand: 'Church Hill Classics',\r\n Price: s.si.Price_Retail,\r\n };\r\n\r\n if (!s.prod.IsCAF && s.prod.CustomizationMethod === 2) {\r\n klaviyo.push(['track', 'Viewed Product', item_image]);\r\n } else if (s.prod.IsCAF) {\r\n klaviyo.push(['track', 'Viewed Product', item_noimage]);\r\n } else if (s.prod.Image_Full && s.prod.Image_Full.length > 5) {\r\n klaviyo.push(['track', 'Viewed Product', item_image]);\r\n } else {\r\n klaviyo.push(['track', 'Viewed Product', item_noimage]);\r\n }\r\n } catch (errk) {\r\n console.error(errk);\r\n }\r\n };\r\n\r\n @action\r\n give_ep_color_id = (id: number): number => {\r\n if (!this.pcs.ins_silver_allowed && id === 39) {\r\n if (this.pcs.ins_gold_allowed) {\r\n return 37;\r\n } else {\r\n return 39;\r\n }\r\n } else if (!this.pcs.ins_gold_allowed && (id === 37 || id < 1)) {\r\n if (this.pcs.ins_silver_allowed) {\r\n return 39;\r\n } else {\r\n return 37;\r\n }\r\n } else if (!this.pcs.ins_black_allowed && id === 1099) {\r\n if (this.pcs.ins_gold_allowed) {\r\n return 37;\r\n } else {\r\n return 39;\r\n }\r\n }\r\n return id;\r\n };\r\n\r\n @action\r\n pulse_fast_ship = (): void => {\r\n if (!this.__fast_ship_orig || this.prod.IsCAF || !this.isRetail) {\r\n __fast_ship = false;\r\n return;\r\n }\r\n\r\n var diffFromFastShip = false;\r\n\r\n if (s.prod.IsFrame && s.pcs.glass_id > 1) {\r\n diffFromFastShip = true;\r\n }\r\n if (s.prod.IsFrame && s.pcs.moulding_id !== s.prod.MouldingID) {\r\n diffFromFastShip = true;\r\n }\r\n if (s.prod.IsFrame && s.pcs.mat1_id !== s.prod.Mat1_ID) {\r\n diffFromFastShip = true;\r\n }\r\n if (s.prod.IsFrame && s.pcs.mat2_id !== s.prod.Mat2_ID) {\r\n diffFromFastShip = true;\r\n }\r\n if (s.prod.IsFrame && s.pcs.insignia_id !== s.prod.InsigniaID) {\r\n diffFromFastShip = true;\r\n }\r\n if (s.prod.IsFrame && s.pcs.lino_id !== s.prod.LinoID) {\r\n diffFromFastShip = true;\r\n }\r\n\r\n if (__fast_ship && diffFromFastShip && !this.__fast_ship_warned) {\r\n // warn\r\n this.__fast_ship_warned = true;\r\n util.modal('modal-fast-ship-warning');\r\n }\r\n __fast_ship = !diffFromFastShip;\r\n };\r\n\r\n @action\r\n pulse = (forceRender?: boolean) => {\r\n // if(!this.ui.msrp || this.ui.msrp < 0){this.ui.msrp = 0;}\r\n this.pulse_fast_ship();\r\n if (!this.pcs.is_caf) {\r\n this.pulse_product();\r\n } else {\r\n this.pulse_caf();\r\n }\r\n\r\n // todo i, if invalid insignia or EP elected, switch it to allowed versiin\r\n // s.pcs.ep_id_view === 1099 ? 'black' : s.pcs.ep_id_view === 39\r\n // color enforcement:)\r\n if (this.prod.IsCAF) {\r\n this.process_color_restrictions();\r\n if (this.pcs.ep_id > 0) {\r\n this.pcs.ep_id = this.give_ep_color_id(this.pcs.ep_id);\r\n }\r\n this.pcs.ep_id_view = this.give_ep_color_id(this.pcs.ep_id_view);\r\n\r\n if (this.pcs.lino_id > 0) {\r\n if (!this.pcs.ins_gold_allowed && s.pcs.lino_dyf_color === 'gold') {\r\n if (this.pcs.ins_silver_allowed) {\r\n s.pcs.lino_dyf_color = 'silver';\r\n }\r\n if (this.pcs.ins_black_allowed) {\r\n s.pcs.lino_dyf_color = 'black';\r\n }\r\n } else if (!this.pcs.ins_silver_allowed && s.pcs.lino_dyf_color === 'silver') {\r\n if (this.pcs.ins_black_allowed) {\r\n s.pcs.lino_dyf_color = 'black';\r\n }\r\n if (this.pcs.ins_gold_allowed) {\r\n s.pcs.lino_dyf_color = 'gold';\r\n }\r\n } else if (!this.pcs.ins_black_allowed && s.pcs.lino_dyf_color === 'black') {\r\n if (this.pcs.ins_gold_allowed) {\r\n s.pcs.lino_dyf_color = 'gold';\r\n }\r\n if (this.pcs.ins_silver_allowed) {\r\n s.pcs.lino_dyf_color = 'silver';\r\n }\r\n }\r\n }\r\n\r\n if (this.pcs.insignia_id > 0) {\r\n let oldColor = s.pcs.insignia_dyf_color;\r\n let assignedName = '';\r\n // console.log(oldColor);\r\n if (!this.pcs.ins_gold_allowed && s.pcs.insignia_dyf_color === 'gold') {\r\n if (this.pcs.ins_silver_allowed) {\r\n s.pcs.insignia_dyf_color = 'silver';\r\n if (assignedName === '') {\r\n assignedName = 'silver';\r\n }\r\n }\r\n if (this.pcs.ins_black_allowed) {\r\n s.pcs.insignia_dyf_color = 'black';\r\n if (assignedName === '') {\r\n assignedName = 'black';\r\n }\r\n }\r\n } else if (!this.pcs.ins_silver_allowed && s.pcs.insignia_dyf_color === 'silver') {\r\n if (this.pcs.ins_black_allowed) {\r\n s.pcs.insignia_dyf_color = 'black';\r\n if (assignedName === '') {\r\n assignedName = 'black';\r\n }\r\n }\r\n if (this.pcs.ins_gold_allowed) {\r\n s.pcs.insignia_dyf_color = 'gold';\r\n if (assignedName === '') {\r\n assignedName = 'gold';\r\n }\r\n }\r\n } else if (!this.pcs.ins_black_allowed && s.pcs.insignia_dyf_color === 'black') {\r\n // console.log('black - ');\r\n if (this.pcs.ins_gold_allowed) {\r\n s.pcs.insignia_dyf_color = 'gold';\r\n if (assignedName === '') {\r\n assignedName = 'gold';\r\n console.log('gold a - ');\r\n }\r\n }\r\n if (this.pcs.ins_silver_allowed) {\r\n s.pcs.insignia_dyf_color = 'silver';\r\n if (assignedName === '') {\r\n assignedName = 'silver';\r\n }\r\n }\r\n }\r\n\r\n if (assignedName !== '') {\r\n let newName = this.pcs.insignia_base_name\r\n .toLowerCase()\r\n .replace(oldColor, assignedName);\r\n let new_ins = this.prod.insignias.filter(x => x.name.toLowerCase() === newName);\r\n\r\n if (new_ins && new_ins.length > 0) {\r\n this.pcs.insignia_id = new_ins[0].id;\r\n this.pcs.insignia_base_name = new_ins[0].name;\r\n this.pcs.insignia_is_dyf = new_ins[0].isCAF;\r\n this.ui.name_insignia = new_ins[0].name.toLowerCase();\r\n this.ui.title_insignia = new_ins[0].title;\r\n this.ui.doRender = true;\r\n } else {\r\n this.pcs.insignia_id = -1;\r\n this.ui.title_insignia = '';\r\n this.ui.doRender = true;\r\n }\r\n }\r\n }\r\n\r\n if (\r\n this.pcs.insignia_id > 0 &&\r\n s.ui.linen &&\r\n s.pcs.insignia_base_name.toLowerCase().includes('embossed')\r\n ) {\r\n this.pcs.insignia_id = -1;\r\n this.ui.title_insignia = '';\r\n this.ui.doRender = true;\r\n }\r\n }\r\n\r\n if (this.ui.doRender || forceRender) {\r\n this.pcs.css = r.render(this.prod.orig_pcs, util.RenderType.Normal);\r\n this.glass_update();\r\n this.setUI();\r\n }\r\n if (this.ui.update_pricing) {\r\n this.ui.update_pricing = false;\r\n pricing();\r\n }\r\n if (this.ui.update_doc_sizes) {\r\n updateShippingBoxID();\r\n }\r\n\r\n this.ui.show_atc = true;\r\n this.ui.is_bo = false;\r\n this.ui.bo_msg = '';\r\n if (this.si.StoreTypeID === 5 && this.isRetail) {\r\n this.ui.show_atc = false;\r\n this.ui.show_pricing = false;\r\n } else if (this.isRetail && this.prod && this.prod.BO_Single) {\r\n this.ui.show_atc = false;\r\n this.ui.is_bo = true;\r\n this.ui.bo_msg = s.prod.BO_OverrideText;\r\n } else if (\r\n (this.isRetail || this.prod.IsBO_MyFrames) &&\r\n this.prod.BO_Text !== '' &&\r\n this.prod.BO_FramePartID === this.pcs.moulding_id\r\n ) {\r\n this.ui.show_atc = false;\r\n this.ui.is_bo = true;\r\n this.ui.bo_msg = s.prod.BO_Text;\r\n } else if (!this.isRetail && this.prod.BO_MyFramesText !== '') {\r\n this.ui.show_atc = false;\r\n this.ui.is_bo = true;\r\n this.ui.bo_msg = this.prod.BO_MyFramesText;\r\n }\r\n\r\n if (this.prod && this.prod.docWidth > 0) {\r\n this.ppi_w = this.prod.docWidth * 150;\r\n this.ppi_h = this.prod.docHeight * 150;\r\n this.ppi_w_max = this.prod.docWidth * 300;\r\n this.ppi_h_max = this.prod.docHeight * 300;\r\n }\r\n };\r\n\r\n @action\r\n pulse_product = () => {\r\n this.ui.sku = this.ui.item_id === this.pcs.base_item_id ? this.si.SKU : '';\r\n this.ui.item_id = `${this.pcs.customized_core ? 'C' : ''}${this.pcs.customized_glass ? 'G' : ''}${this.pcs.base_item_id}`;\r\n this.pcs.DocSizeTierID = r.Get_DocumentSizeTierID(\r\n this.pcs.docWidth,\r\n this.pcs.docHeight,\r\n this.prod.ProductTypeID,\r\n );\r\n\r\n // if(this.ui.mat_change){\r\n // this.ui.mat_change = false;\r\n // const m = s.prod.mats.filter(m => m.id === this.pcs.matcombo_id)[0];\r\n // this.pcs.css.pmat_BackgroundImage = this.pcs.css.pmat_BackgroundImage.replace(/(v2\\/)(.*)(_)/g, `v2/${m.pmat_name.toLowerCase()}_`);\r\n\r\n // const isFillet = (m.mat2_id === 36 || m.mat1_id === 38);\r\n // this.pcs.css.fillet_visible = isFillet;\r\n // const smat = `#${m.smat_color}`;\r\n // this.pcs.css.doc1_smat_backgroundColor = smat;\r\n // this.pcs.css.doc2_smat_backgroundColor = smat;\r\n // this.pcs.css.tassel_smat_backgroundColor = smat;\r\n // this.pcs.css.varsity_smat_backgroundColor = smat;\r\n // this.pcs.css.oval_smat_backgroundColor = smat;\r\n // this.pcs.css.spirit_smat_bg = smat;\r\n\r\n // if(isFillet){\r\n\r\n // } else {\r\n\r\n // }\r\n // }\r\n\r\n // this.ui.price = this.isRetail ? this.si.price_Retail : this.si.price_Wholesale;\r\n };\r\n\r\n @action\r\n pulse_caf = () => {\r\n this.pcs.DocSizeTierID = r.Get_DocumentSizeTierID(\r\n this.pcs.docWidth,\r\n this.pcs.docHeight,\r\n this.prod.ProductTypeID,\r\n );\r\n };\r\n\r\n @action\r\n glass_update = () => {\r\n for (let i = 0; i < this.glass.length; i++) {\r\n this.glass[i].price = util\r\n .currency_noNegatives(\r\n r.getGlassPrice(this.prod.orig_pcs, s.pcs.DocSizeTierID, this.glass[i].id),\r\n )\r\n .replace('.00', '');\r\n }\r\n };\r\n\r\n @action\r\n process_color_restrictions = () => {\r\n if (!this.prod.IsCAF) {\r\n return;\r\n }\r\n const mat = s.prod.caf_mat1.filter(x => x.id === s.pcs.mat1_id)[0];\r\n const m = s.prod.mouldings.filter(x => x.id === s.pcs.moulding_id)[0];\r\n // console.log(m.dyf_color);\r\n if (mat && m) {\r\n this.pcs.ins_gold_allowed = mat.ins_gold_allowed && m.dyf_color !== 'no gold';\r\n this.pcs.ins_silver_allowed = mat.ins_silver_allowed && m.dyf_color !== 'no silver';\r\n this.pcs.ins_black_allowed = mat.ins_black_allowed && m.dyf_color !== 'no black';\r\n }\r\n };\r\n\r\n @action\r\n setUI = () => {\r\n const moulding = s.prod.mouldings.filter(m => m.id === s.pcs.moulding_id)[0];\r\n\r\n const _glass = s.glass.filter(m => m.id === this.pcs.glass_id)[0];\r\n\r\n if (moulding) {\r\n this.ui.name_moulding = moulding.name.toLowerCase();\r\n this.ui.title_moulding = moulding.title;\r\n\r\n this.ui.moulding_has_zoom = moulding.has_zoom;\r\n this.ui.moulding_zoom_path = moulding.IMG_Zoom;\r\n this.ui.moulding_zoom_path_th = moulding.IMG_Zoom_Thumb;\r\n }\r\n if (this.pcs.is_caf) {\r\n this.ui.moulding_has_zoom = true;\r\n }\r\n\r\n if (!this.pcs.is_caf) {\r\n const mat = s.prod.mats.filter(m => m.id === s.pcs.matcombo_id)[0];\r\n if (mat) {\r\n this.ui.name_mat1 = mat.pmat_name.toLowerCase();\r\n this.ui.name_mat2 = mat.smat_name.toLowerCase();\r\n\r\n this.ui.title_mat_combo = mat.title;\r\n this.ui.title_mat1 = mat.pmat_title;\r\n this.ui.title_mat2 = mat.smat_title;\r\n\r\n this.ui.color_mat1 = mat.pmat_color;\r\n this.ui.color_mat2 = mat.smat_color;\r\n }\r\n } else {\r\n const m1 = s.prod.caf_mat1.filter(m => m.id === s.pcs.mat1_id)[0];\r\n const m2 = s.prod.caf_mat2.filter(m => m.id === s.pcs.mat2_id)[0];\r\n if (m1) {\r\n this.ui.name_mat1 = m1.name.toLowerCase();\r\n this.ui.title_mat1 = m1.title;\r\n this.ui.color_mat1 = m1.mat_color;\r\n }\r\n if (m2) {\r\n this.ui.name_mat2 = m2.name.toLowerCase();\r\n this.ui.title_mat2 = m2.title;\r\n this.ui.color_mat2 = m2.mat_color;\r\n }\r\n }\r\n\r\n if (_glass) {\r\n this.ui.name_glass = _glass.title;\r\n }\r\n };\r\n\r\n blankFunction = () => {\r\n const x = 1;\r\n };\r\n\r\n closeTooltips = () => {\r\n setTimeout(function () {}, 1500);\r\n };\r\n}\r\n\r\nconst s = new ProdStore();\r\nexport default s;\r\n","declare var _openLinkTimer: any;\r\ndeclare var window: any;\r\ndeclare const modalOpen: (id: string) => void;\r\ndeclare var __portal: IPortalSettings;\r\n\r\nexport const isNullOrWhiteSpace = (str: string): boolean =>\r\n !str || str === null || str.match(/^\\s*$/) !== null;\r\nexport const currency = (_z: number): string =>\r\n _z == undefined ? '$0.00' : `\\$${_z.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,')}`;\r\nexport const currency_noNegatives = (_z: number): string =>\r\n _z == undefined\r\n ? '$0.00'\r\n : `\\$${(_z < 0 ? 0 : _z).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,')}`;\r\n\r\nexport enum ValidationMessages {\r\n TooShort = 'Entry is too short, please lengthen your entry',\r\n TooLong = 'Entry is too long, please shorten your entry',\r\n}\r\n\r\nexport enum RenderType {\r\n Normal = 1,\r\n Zoom,\r\n Popout,\r\n Other,\r\n}\r\n\r\ndeclare global {\r\n // tslint:disable-next-line\r\n interface String {\r\n truncate(n: number, useDots: boolean): string;\r\n }\r\n}\r\n\r\nString.prototype.truncate = function (this: string, n: number, useDots: boolean = false) {\r\n return this.substr(0, n - 1) + (useDots && this.length > n ? '…' : '');\r\n};\r\n\r\nexport const isInputError = (v: IValidationObject) => v.isError && v.alive;\r\nexport const setInputError = (v: IValidationObject, msg: string) => {\r\n v.msg = msg;\r\n v.alive = true;\r\n v.isError = true;\r\n};\r\n\r\nexport const getPhoneNumberFormatted = (_p: string) => {\r\n const cleaned = `${_p}`.replace(/\\D/g, '');\r\n const match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\r\n if (match) {\r\n return `(${match[1]}) ${match[2]}-${match[3]}`;\r\n }\r\n return _p;\r\n};\r\n\r\nexport const getPhoneHREF = () => {\r\n return __portal.CustomerServicePhone.replace(/\\D/g, '');\r\n};\r\n\r\nexport const roundF = (value: number, precision: number) => {\r\n var multiplier = Math.pow(10, precision || 0);\r\n return Math.round(value * multiplier) / multiplier;\r\n};\r\n\r\nexport const toTitleCase = (str: string) =>\r\n str.replace(/\\w\\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());\r\nexport const suggIsNumeric = n => !isNaN(parseFloat(n)) && isFinite(n);\r\n\r\n/* tslint:disable:no-unnecessary-callback-wrapper */\r\nwindow.openLink = (_url: string, _blank?: boolean) => openLink(_url, _blank);\r\n/* tslint:enable:no-unnecessary-callback-wrapper */\r\nexport const openLink = (_url: string, _blank?: boolean) => {\r\n try {\r\n if (_openLinkTimer != undefined) {\r\n clearTimeout(_openLinkTimer);\r\n }\r\n if (typeof _url === 'undefined') {\r\n return;\r\n }\r\n if (typeof _blank !== 'undefined') {\r\n window.open(_url, '_newtab');\r\n } else {\r\n document.location = _url;\r\n }\r\n } catch (err) {\r\n if (_url != undefined) {\r\n document.location = _url;\r\n }\r\n }\r\n};\r\n\r\nexport const modal = _id => {\r\n modalOpen(_id);\r\n};\r\n\r\nexport const debounce = (func: any, delay: number) => {\r\n let timer: any;\r\n return function (event: any) {\r\n if (timer) clearTimeout(timer);\r\n timer = setTimeout(func, delay, event);\r\n };\r\n};\r\n\r\nexport const getParameterByName = (name: string, url = window.location.href) => {\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n};\r\n\r\nexport const ariaPulse = () => {\r\n const caro_prev: HTMLElement[] = [].slice.call(\r\n document.getElementsByClassName('swiper-button-prev') as HTMLCollectionOf,\r\n );\r\n const caro_next: HTMLElement[] = [].slice.call(\r\n document.getElementsByClassName('swiper-button-next') as HTMLCollectionOf,\r\n );\r\n caro_prev.map(x => (x.ariaLabel = 'previous'));\r\n caro_next.map(x => (x.ariaLabel = 'next'));\r\n};\r\n\r\nexport const prod_entity_zoom_open = (\r\n _id: string,\r\n sender: HTMLElement,\r\n offset_top: number,\r\n offset_left: number,\r\n _w: string,\r\n _h: string,\r\n _title: string,\r\n _desc: string,\r\n _color?: string,\r\n) => {\r\n const rect = sender.getBoundingClientRect();\r\n const div = document.createElement('div');\r\n const p = document.createElement('div');\r\n const p2 = document.createElement('div');\r\n const img = document.createElement('img');\r\n console.log(rect);\r\n // console.log(sender);\r\n if (_color) {\r\n img.style.backgroundColor = `#${_color}`;\r\n }\r\n img.src = sender.getAttribute('data-img') as string;\r\n div.className = 'prod-img-zoom';\r\n div.style.width = _w;\r\n\r\n img.style.width = _w;\r\n img.style.height = _h;\r\n div.style.top = `${Math.floor(rect.top) + offset_top - 10}px`;\r\n div.style.left = `${Math.floor(rect.left) + offset_left}px`;\r\n // console.log(rect.top, div.style.top, offset_top);\r\n p.innerText = _title;\r\n p2.innerText = _desc;\r\n div.appendChild(img);\r\n if (_title && _title.length > 0) {\r\n div.appendChild(p);\r\n }\r\n if (_desc && _desc.length > 0) {\r\n div.appendChild(p2);\r\n }\r\n (document.getElementById('prod-wrapper') as HTMLElement).appendChild(div);\r\n // (document.getElementById(_id) as HTMLElement).appendChild(div);\r\n //moulding-inner\r\n sender.appendChild(div);\r\n};\r\n\r\nexport const prod_entity_zoom_destroy = () => {\r\n const modals = document.getElementsByClassName(\r\n 'prod-img-zoom',\r\n ) as HTMLCollectionOf;\r\n for (let i = 0; i < modals.length; i++) {\r\n modals[i].remove();\r\n }\r\n};\r\n\r\nexport const webp = (s: string): string => {\r\n return s.toLowerCase().replace('.jpg', '.webp').replace('.png', '.webp').replace(/ /g, '%20');\r\n};\r\n\r\nexport const getCookieValue = (s: string): string => {\r\n let cookieName = `${s}=`;\r\n let cookies = document.cookie.split(';');\r\n for (let i = 0; i < cookies.length; i++) {\r\n let cookie = cookies[i].trim();\r\n if (cookie.indexOf(cookieName) === 0) {\r\n return cookie.substring(cookieName.length, cookie.length);\r\n }\r\n }\r\n return '';\r\n};\r\n","// extracted by mini-css-extract-plugin\n if(module.hot) {\n (function() {\n var localsJsonString = undefined;\n // 1737748801974\n var cssReload = require(\"../../node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"esModule\":false});\n // only invalidate when locals change\n if (\n module.hot.data &&\n module.hot.data.value &&\n module.hot.data.value !== localsJsonString\n ) {\n module.hot.invalidate();\n } else {\n module.hot.accept();\n }\n module.hot.dispose(function(data) {\n data.value = localsJsonString;\n cssReload();\n });\n })();\n }\n ","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\tif (cachedModule.error !== undefined) throw cachedModule.error;\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\ttry {\n\t\tvar execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ };\n\t\t__webpack_require__.i.forEach(function(handler) { handler(execOptions); });\n\t\tmodule = execOptions.module;\n\t\texecOptions.factory.call(module.exports, module, module.exports, execOptions.require);\n\t} catch(e) {\n\t\tmodule.error = e;\n\t\tthrow e;\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n// expose the module execution interceptor\n__webpack_require__.i = [];\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference all chunks\n__webpack_require__.hu = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + __webpack_require__.h() + \".hot-update.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.hmrF = function() { return \"product.\" + __webpack_require__.h() + \".hot-update.json\"; };","__webpack_require__.h = function() { return \"cc43f44900f16e12e8fd\"; }","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 964;","var currentModuleData = {};\nvar installedModules = __webpack_require__.c;\n\n// module and require creation\nvar currentChildModule;\nvar currentParents = [];\n\n// status\nvar registeredStatusHandlers = [];\nvar currentStatus = \"idle\";\n\n// while downloading\nvar blockingPromises = 0;\nvar blockingPromisesWaiting = [];\n\n// The update info\nvar currentUpdateApplyHandlers;\nvar queuedInvalidatedModules;\n\n__webpack_require__.hmrD = currentModuleData;\n\n__webpack_require__.i.push(function (options) {\n\tvar module = options.module;\n\tvar require = createRequire(options.require, options.id);\n\tmodule.hot = createModuleHotObject(options.id, module);\n\tmodule.parents = currentParents;\n\tmodule.children = [];\n\tcurrentParents = [];\n\toptions.require = require;\n});\n\n__webpack_require__.hmrC = {};\n__webpack_require__.hmrI = {};\n\nfunction createRequire(require, moduleId) {\n\tvar me = installedModules[moduleId];\n\tif (!me) return require;\n\tvar fn = function (request) {\n\t\tif (me.hot.active) {\n\t\t\tif (installedModules[request]) {\n\t\t\t\tvar parents = installedModules[request].parents;\n\t\t\t\tif (parents.indexOf(moduleId) === -1) {\n\t\t\t\t\tparents.push(moduleId);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrentParents = [moduleId];\n\t\t\t\tcurrentChildModule = request;\n\t\t\t}\n\t\t\tif (me.children.indexOf(request) === -1) {\n\t\t\t\tme.children.push(request);\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.warn(\n\t\t\t\t\"[HMR] unexpected require(\" +\n\t\t\t\t\trequest +\n\t\t\t\t\t\") from disposed module \" +\n\t\t\t\t\tmoduleId\n\t\t\t);\n\t\t\tcurrentParents = [];\n\t\t}\n\t\treturn require(request);\n\t};\n\tvar createPropertyDescriptor = function (name) {\n\t\treturn {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn require[name];\n\t\t\t},\n\t\t\tset: function (value) {\n\t\t\t\trequire[name] = value;\n\t\t\t}\n\t\t};\n\t};\n\tfor (var name in require) {\n\t\tif (Object.prototype.hasOwnProperty.call(require, name) && name !== \"e\") {\n\t\t\tObject.defineProperty(fn, name, createPropertyDescriptor(name));\n\t\t}\n\t}\n\tfn.e = function (chunkId, fetchPriority) {\n\t\treturn trackBlockingPromise(require.e(chunkId, fetchPriority));\n\t};\n\treturn fn;\n}\n\nfunction createModuleHotObject(moduleId, me) {\n\tvar _main = currentChildModule !== moduleId;\n\tvar hot = {\n\t\t// private stuff\n\t\t_acceptedDependencies: {},\n\t\t_acceptedErrorHandlers: {},\n\t\t_declinedDependencies: {},\n\t\t_selfAccepted: false,\n\t\t_selfDeclined: false,\n\t\t_selfInvalidated: false,\n\t\t_disposeHandlers: [],\n\t\t_main: _main,\n\t\t_requireSelf: function () {\n\t\t\tcurrentParents = me.parents.slice();\n\t\t\tcurrentChildModule = _main ? undefined : moduleId;\n\t\t\t__webpack_require__(moduleId);\n\t\t},\n\n\t\t// Module API\n\t\tactive: true,\n\t\taccept: function (dep, callback, errorHandler) {\n\t\t\tif (dep === undefined) hot._selfAccepted = true;\n\t\t\telse if (typeof dep === \"function\") hot._selfAccepted = dep;\n\t\t\telse if (typeof dep === \"object\" && dep !== null) {\n\t\t\t\tfor (var i = 0; i < dep.length; i++) {\n\t\t\t\t\thot._acceptedDependencies[dep[i]] = callback || function () {};\n\t\t\t\t\thot._acceptedErrorHandlers[dep[i]] = errorHandler;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thot._acceptedDependencies[dep] = callback || function () {};\n\t\t\t\thot._acceptedErrorHandlers[dep] = errorHandler;\n\t\t\t}\n\t\t},\n\t\tdecline: function (dep) {\n\t\t\tif (dep === undefined) hot._selfDeclined = true;\n\t\t\telse if (typeof dep === \"object\" && dep !== null)\n\t\t\t\tfor (var i = 0; i < dep.length; i++)\n\t\t\t\t\thot._declinedDependencies[dep[i]] = true;\n\t\t\telse hot._declinedDependencies[dep] = true;\n\t\t},\n\t\tdispose: function (callback) {\n\t\t\thot._disposeHandlers.push(callback);\n\t\t},\n\t\taddDisposeHandler: function (callback) {\n\t\t\thot._disposeHandlers.push(callback);\n\t\t},\n\t\tremoveDisposeHandler: function (callback) {\n\t\t\tvar idx = hot._disposeHandlers.indexOf(callback);\n\t\t\tif (idx >= 0) hot._disposeHandlers.splice(idx, 1);\n\t\t},\n\t\tinvalidate: function () {\n\t\t\tthis._selfInvalidated = true;\n\t\t\tswitch (currentStatus) {\n\t\t\t\tcase \"idle\":\n\t\t\t\t\tcurrentUpdateApplyHandlers = [];\n\t\t\t\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\t\t\tmoduleId,\n\t\t\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tsetStatus(\"ready\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ready\":\n\t\t\t\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\t\t\tmoduleId,\n\t\t\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"prepare\":\n\t\t\t\tcase \"check\":\n\t\t\t\tcase \"dispose\":\n\t\t\t\tcase \"apply\":\n\t\t\t\t\t(queuedInvalidatedModules = queuedInvalidatedModules || []).push(\n\t\t\t\t\t\tmoduleId\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t// ignore requests in error states\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\n\t\t// Management API\n\t\tcheck: hotCheck,\n\t\tapply: hotApply,\n\t\tstatus: function (l) {\n\t\t\tif (!l) return currentStatus;\n\t\t\tregisteredStatusHandlers.push(l);\n\t\t},\n\t\taddStatusHandler: function (l) {\n\t\t\tregisteredStatusHandlers.push(l);\n\t\t},\n\t\tremoveStatusHandler: function (l) {\n\t\t\tvar idx = registeredStatusHandlers.indexOf(l);\n\t\t\tif (idx >= 0) registeredStatusHandlers.splice(idx, 1);\n\t\t},\n\n\t\t// inherit from previous dispose call\n\t\tdata: currentModuleData[moduleId]\n\t};\n\tcurrentChildModule = undefined;\n\treturn hot;\n}\n\nfunction setStatus(newStatus) {\n\tcurrentStatus = newStatus;\n\tvar results = [];\n\n\tfor (var i = 0; i < registeredStatusHandlers.length; i++)\n\t\tresults[i] = registeredStatusHandlers[i].call(null, newStatus);\n\n\treturn Promise.all(results).then(function () {});\n}\n\nfunction unblock() {\n\tif (--blockingPromises === 0) {\n\t\tsetStatus(\"ready\").then(function () {\n\t\t\tif (blockingPromises === 0) {\n\t\t\t\tvar list = blockingPromisesWaiting;\n\t\t\t\tblockingPromisesWaiting = [];\n\t\t\t\tfor (var i = 0; i < list.length; i++) {\n\t\t\t\t\tlist[i]();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction trackBlockingPromise(promise) {\n\tswitch (currentStatus) {\n\t\tcase \"ready\":\n\t\t\tsetStatus(\"prepare\");\n\t\t/* fallthrough */\n\t\tcase \"prepare\":\n\t\t\tblockingPromises++;\n\t\t\tpromise.then(unblock, unblock);\n\t\t\treturn promise;\n\t\tdefault:\n\t\t\treturn promise;\n\t}\n}\n\nfunction waitForBlockingPromises(fn) {\n\tif (blockingPromises === 0) return fn();\n\treturn new Promise(function (resolve) {\n\t\tblockingPromisesWaiting.push(function () {\n\t\t\tresolve(fn());\n\t\t});\n\t});\n}\n\nfunction hotCheck(applyOnUpdate) {\n\tif (currentStatus !== \"idle\") {\n\t\tthrow new Error(\"check() is only allowed in idle status\");\n\t}\n\treturn setStatus(\"check\")\n\t\t.then(__webpack_require__.hmrM)\n\t\t.then(function (update) {\n\t\t\tif (!update) {\n\t\t\t\treturn setStatus(applyInvalidatedModules() ? \"ready\" : \"idle\").then(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn setStatus(\"prepare\").then(function () {\n\t\t\t\tvar updatedModules = [];\n\t\t\t\tcurrentUpdateApplyHandlers = [];\n\n\t\t\t\treturn Promise.all(\n\t\t\t\t\tObject.keys(__webpack_require__.hmrC).reduce(function (\n\t\t\t\t\t\tpromises,\n\t\t\t\t\t\tkey\n\t\t\t\t\t) {\n\t\t\t\t\t\t__webpack_require__.hmrC[key](\n\t\t\t\t\t\t\tupdate.c,\n\t\t\t\t\t\t\tupdate.r,\n\t\t\t\t\t\t\tupdate.m,\n\t\t\t\t\t\t\tpromises,\n\t\t\t\t\t\t\tcurrentUpdateApplyHandlers,\n\t\t\t\t\t\t\tupdatedModules\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn promises;\n\t\t\t\t\t}, [])\n\t\t\t\t).then(function () {\n\t\t\t\t\treturn waitForBlockingPromises(function () {\n\t\t\t\t\t\tif (applyOnUpdate) {\n\t\t\t\t\t\t\treturn internalApply(applyOnUpdate);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn setStatus(\"ready\").then(function () {\n\t\t\t\t\t\t\treturn updatedModules;\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n}\n\nfunction hotApply(options) {\n\tif (currentStatus !== \"ready\") {\n\t\treturn Promise.resolve().then(function () {\n\t\t\tthrow new Error(\n\t\t\t\t\"apply() is only allowed in ready status (state: \" +\n\t\t\t\t\tcurrentStatus +\n\t\t\t\t\t\")\"\n\t\t\t);\n\t\t});\n\t}\n\treturn internalApply(options);\n}\n\nfunction internalApply(options) {\n\toptions = options || {};\n\n\tapplyInvalidatedModules();\n\n\tvar results = currentUpdateApplyHandlers.map(function (handler) {\n\t\treturn handler(options);\n\t});\n\tcurrentUpdateApplyHandlers = undefined;\n\n\tvar errors = results\n\t\t.map(function (r) {\n\t\t\treturn r.error;\n\t\t})\n\t\t.filter(Boolean);\n\n\tif (errors.length > 0) {\n\t\treturn setStatus(\"abort\").then(function () {\n\t\t\tthrow errors[0];\n\t\t});\n\t}\n\n\t// Now in \"dispose\" phase\n\tvar disposePromise = setStatus(\"dispose\");\n\n\tresults.forEach(function (result) {\n\t\tif (result.dispose) result.dispose();\n\t});\n\n\t// Now in \"apply\" phase\n\tvar applyPromise = setStatus(\"apply\");\n\n\tvar error;\n\tvar reportError = function (err) {\n\t\tif (!error) error = err;\n\t};\n\n\tvar outdatedModules = [];\n\tresults.forEach(function (result) {\n\t\tif (result.apply) {\n\t\t\tvar modules = result.apply(reportError);\n\t\t\tif (modules) {\n\t\t\t\tfor (var i = 0; i < modules.length; i++) {\n\t\t\t\t\toutdatedModules.push(modules[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn Promise.all([disposePromise, applyPromise]).then(function () {\n\t\t// handle errors in accept handlers and self accepted module load\n\t\tif (error) {\n\t\t\treturn setStatus(\"fail\").then(function () {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}\n\n\t\tif (queuedInvalidatedModules) {\n\t\t\treturn internalApply(options).then(function (list) {\n\t\t\t\toutdatedModules.forEach(function (moduleId) {\n\t\t\t\t\tif (list.indexOf(moduleId) < 0) list.push(moduleId);\n\t\t\t\t});\n\t\t\t\treturn list;\n\t\t\t});\n\t\t}\n\n\t\treturn setStatus(\"idle\").then(function () {\n\t\t\treturn outdatedModules;\n\t\t});\n\t});\n}\n\nfunction applyInvalidatedModules() {\n\tif (queuedInvalidatedModules) {\n\t\tif (!currentUpdateApplyHandlers) currentUpdateApplyHandlers = [];\n\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\tqueuedInvalidatedModules.forEach(function (moduleId) {\n\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\tmoduleId,\n\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t\tqueuedInvalidatedModules = undefined;\n\t\treturn true;\n\t}\n}","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// no chunk loading\n\nvar oldTags = [];\nvar newTags = [];\nvar applyHandler = function(options) {\n\treturn { dispose: function() {\n\t\tfor(var i = 0; i < oldTags.length; i++) {\n\t\t\tvar oldTag = oldTags[i];\n\t\t\tif(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);\n\t\t}\n\t\toldTags.length = 0;\n\t}, apply: function() {\n\t\tfor(var i = 0; i < newTags.length; i++) newTags[i].rel = \"stylesheet\";\n\t\tnewTags.length = 0;\n\t} };\n}\n__webpack_require__.hmrC.miniCss = function(chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) {\n\tapplyHandlers.push(applyHandler);\n\tchunkIds.forEach(function(chunkId) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tvar oldTag = findStylesheet(href, fullhref);\n\t\tif(!oldTag) return;\n\t\tpromises.push(new Promise(function(resolve, reject) {\n\t\t\tvar tag = createStylesheet(chunkId, fullhref, oldTag, function() {\n\t\t\t\ttag.as = \"style\";\n\t\t\t\ttag.rel = \"preload\";\n\t\t\t\tresolve();\n\t\t\t}, reject);\n\t\t\toldTags.push(oldTag);\n\t\t\tnewTags.push(tag);\n\t\t}));\n\t});\n}\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = __webpack_require__.hmrS_jsonp = __webpack_require__.hmrS_jsonp || {\n\t964: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\nvar currentUpdatedModulesList;\nvar waitingUpdateResolves = {};\nfunction loadUpdateChunk(chunkId, updatedModulesList) {\n\tcurrentUpdatedModulesList = updatedModulesList;\n\treturn new Promise(function(resolve, reject) {\n\t\twaitingUpdateResolves[chunkId] = resolve;\n\t\t// start update chunk loading\n\t\tvar url = __webpack_require__.p + __webpack_require__.hu(chunkId);\n\t\t// create error before stack unwound to get useful stacktrace later\n\t\tvar error = new Error();\n\t\tvar loadingEnded = function(event) {\n\t\t\tif(waitingUpdateResolves[chunkId]) {\n\t\t\t\twaitingUpdateResolves[chunkId] = undefined\n\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\terror.message = 'Loading hot update chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\terror.type = errorType;\n\t\t\t\terror.request = realSrc;\n\t\t\t\treject(error);\n\t\t\t}\n\t\t};\n\t\t__webpack_require__.l(url, loadingEnded);\n\t});\n}\n\nself[\"webpackHotUpdatereacttest2018\"] = function(chunkId, moreModules, runtime) {\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\tcurrentUpdate[moduleId] = moreModules[moduleId];\n\t\t\tif(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);\n\t\t}\n\t}\n\tif(runtime) currentUpdateRuntime.push(runtime);\n\tif(waitingUpdateResolves[chunkId]) {\n\t\twaitingUpdateResolves[chunkId]();\n\t\twaitingUpdateResolves[chunkId] = undefined;\n\t}\n};\n\nvar currentUpdateChunks;\nvar currentUpdate;\nvar currentUpdateRemovedChunks;\nvar currentUpdateRuntime;\nfunction applyHandler(options) {\n\tif (__webpack_require__.f) delete __webpack_require__.f.jsonpHmr;\n\tcurrentUpdateChunks = undefined;\n\tfunction getAffectedModuleEffects(updateModuleId) {\n\t\tvar outdatedModules = [updateModuleId];\n\t\tvar outdatedDependencies = {};\n\n\t\tvar queue = outdatedModules.map(function (id) {\n\t\t\treturn {\n\t\t\t\tchain: [id],\n\t\t\t\tid: id\n\t\t\t};\n\t\t});\n\t\twhile (queue.length > 0) {\n\t\t\tvar queueItem = queue.pop();\n\t\t\tvar moduleId = queueItem.id;\n\t\t\tvar chain = queueItem.chain;\n\t\t\tvar module = __webpack_require__.c[moduleId];\n\t\t\tif (\n\t\t\t\t!module ||\n\t\t\t\t(module.hot._selfAccepted && !module.hot._selfInvalidated)\n\t\t\t)\n\t\t\t\tcontinue;\n\t\t\tif (module.hot._selfDeclined) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"self-declined\",\n\t\t\t\t\tchain: chain,\n\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (module.hot._main) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"unaccepted\",\n\t\t\t\t\tchain: chain,\n\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t};\n\t\t\t}\n\t\t\tfor (var i = 0; i < module.parents.length; i++) {\n\t\t\t\tvar parentId = module.parents[i];\n\t\t\t\tvar parent = __webpack_require__.c[parentId];\n\t\t\t\tif (!parent) continue;\n\t\t\t\tif (parent.hot._declinedDependencies[moduleId]) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"declined\",\n\t\t\t\t\t\tchain: chain.concat([parentId]),\n\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\tparentId: parentId\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (outdatedModules.indexOf(parentId) !== -1) continue;\n\t\t\t\tif (parent.hot._acceptedDependencies[moduleId]) {\n\t\t\t\t\tif (!outdatedDependencies[parentId])\n\t\t\t\t\t\toutdatedDependencies[parentId] = [];\n\t\t\t\t\taddAllToSet(outdatedDependencies[parentId], [moduleId]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tdelete outdatedDependencies[parentId];\n\t\t\t\toutdatedModules.push(parentId);\n\t\t\t\tqueue.push({\n\t\t\t\t\tchain: chain.concat([parentId]),\n\t\t\t\t\tid: parentId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: \"accepted\",\n\t\t\tmoduleId: updateModuleId,\n\t\t\toutdatedModules: outdatedModules,\n\t\t\toutdatedDependencies: outdatedDependencies\n\t\t};\n\t}\n\n\tfunction addAllToSet(a, b) {\n\t\tfor (var i = 0; i < b.length; i++) {\n\t\t\tvar item = b[i];\n\t\t\tif (a.indexOf(item) === -1) a.push(item);\n\t\t}\n\t}\n\n\t// at begin all updates modules are outdated\n\t// the \"outdated\" status can propagate to parents if they don't accept the children\n\tvar outdatedDependencies = {};\n\tvar outdatedModules = [];\n\tvar appliedUpdate = {};\n\n\tvar warnUnexpectedRequire = function warnUnexpectedRequire(module) {\n\t\tconsole.warn(\n\t\t\t\"[HMR] unexpected require(\" + module.id + \") to disposed module\"\n\t\t);\n\t};\n\n\tfor (var moduleId in currentUpdate) {\n\t\tif (__webpack_require__.o(currentUpdate, moduleId)) {\n\t\t\tvar newModuleFactory = currentUpdate[moduleId];\n\t\t\t/** @type {TODO} */\n\t\t\tvar result = newModuleFactory\n\t\t\t\t? getAffectedModuleEffects(moduleId)\n\t\t\t\t: {\n\t\t\t\t\t\ttype: \"disposed\",\n\t\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t\t};\n\t\t\t/** @type {Error|false} */\n\t\t\tvar abortError = false;\n\t\t\tvar doApply = false;\n\t\t\tvar doDispose = false;\n\t\t\tvar chainInfo = \"\";\n\t\t\tif (result.chain) {\n\t\t\t\tchainInfo = \"\\nUpdate propagation: \" + result.chain.join(\" -> \");\n\t\t\t}\n\t\t\tswitch (result.type) {\n\t\t\t\tcase \"self-declined\":\n\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n\t\t\t\t\tif (!options.ignoreDeclined)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because of self decline: \" +\n\t\t\t\t\t\t\t\tresult.moduleId +\n\t\t\t\t\t\t\t\tchainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"declined\":\n\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n\t\t\t\t\tif (!options.ignoreDeclined)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because of declined dependency: \" +\n\t\t\t\t\t\t\t\tresult.moduleId +\n\t\t\t\t\t\t\t\t\" in \" +\n\t\t\t\t\t\t\t\tresult.parentId +\n\t\t\t\t\t\t\t\tchainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"unaccepted\":\n\t\t\t\t\tif (options.onUnaccepted) options.onUnaccepted(result);\n\t\t\t\t\tif (!options.ignoreUnaccepted)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because \" + moduleId + \" is not accepted\" + chainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accepted\":\n\t\t\t\t\tif (options.onAccepted) options.onAccepted(result);\n\t\t\t\t\tdoApply = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"disposed\":\n\t\t\t\t\tif (options.onDisposed) options.onDisposed(result);\n\t\t\t\t\tdoDispose = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Unexception type \" + result.type);\n\t\t\t}\n\t\t\tif (abortError) {\n\t\t\t\treturn {\n\t\t\t\t\terror: abortError\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (doApply) {\n\t\t\t\tappliedUpdate[moduleId] = newModuleFactory;\n\t\t\t\taddAllToSet(outdatedModules, result.outdatedModules);\n\t\t\t\tfor (moduleId in result.outdatedDependencies) {\n\t\t\t\t\tif (__webpack_require__.o(result.outdatedDependencies, moduleId)) {\n\t\t\t\t\t\tif (!outdatedDependencies[moduleId])\n\t\t\t\t\t\t\toutdatedDependencies[moduleId] = [];\n\t\t\t\t\t\taddAllToSet(\n\t\t\t\t\t\t\toutdatedDependencies[moduleId],\n\t\t\t\t\t\t\tresult.outdatedDependencies[moduleId]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (doDispose) {\n\t\t\t\taddAllToSet(outdatedModules, [result.moduleId]);\n\t\t\t\tappliedUpdate[moduleId] = warnUnexpectedRequire;\n\t\t\t}\n\t\t}\n\t}\n\tcurrentUpdate = undefined;\n\n\t// Store self accepted outdated modules to require them later by the module system\n\tvar outdatedSelfAcceptedModules = [];\n\tfor (var j = 0; j < outdatedModules.length; j++) {\n\t\tvar outdatedModuleId = outdatedModules[j];\n\t\tvar module = __webpack_require__.c[outdatedModuleId];\n\t\tif (\n\t\t\tmodule &&\n\t\t\t(module.hot._selfAccepted || module.hot._main) &&\n\t\t\t// removed self-accepted modules should not be required\n\t\t\tappliedUpdate[outdatedModuleId] !== warnUnexpectedRequire &&\n\t\t\t// when called invalidate self-accepting is not possible\n\t\t\t!module.hot._selfInvalidated\n\t\t) {\n\t\t\toutdatedSelfAcceptedModules.push({\n\t\t\t\tmodule: outdatedModuleId,\n\t\t\t\trequire: module.hot._requireSelf,\n\t\t\t\terrorHandler: module.hot._selfAccepted\n\t\t\t});\n\t\t}\n\t}\n\n\tvar moduleOutdatedDependencies;\n\n\treturn {\n\t\tdispose: function () {\n\t\t\tcurrentUpdateRemovedChunks.forEach(function (chunkId) {\n\t\t\t\tdelete installedChunks[chunkId];\n\t\t\t});\n\t\t\tcurrentUpdateRemovedChunks = undefined;\n\n\t\t\tvar idx;\n\t\t\tvar queue = outdatedModules.slice();\n\t\t\twhile (queue.length > 0) {\n\t\t\t\tvar moduleId = queue.pop();\n\t\t\t\tvar module = __webpack_require__.c[moduleId];\n\t\t\t\tif (!module) continue;\n\n\t\t\t\tvar data = {};\n\n\t\t\t\t// Call dispose handlers\n\t\t\t\tvar disposeHandlers = module.hot._disposeHandlers;\n\t\t\t\tfor (j = 0; j < disposeHandlers.length; j++) {\n\t\t\t\t\tdisposeHandlers[j].call(null, data);\n\t\t\t\t}\n\t\t\t\t__webpack_require__.hmrD[moduleId] = data;\n\n\t\t\t\t// disable module (this disables requires from this module)\n\t\t\t\tmodule.hot.active = false;\n\n\t\t\t\t// remove module from cache\n\t\t\t\tdelete __webpack_require__.c[moduleId];\n\n\t\t\t\t// when disposing there is no need to call dispose handler\n\t\t\t\tdelete outdatedDependencies[moduleId];\n\n\t\t\t\t// remove \"parents\" references from all children\n\t\t\t\tfor (j = 0; j < module.children.length; j++) {\n\t\t\t\t\tvar child = __webpack_require__.c[module.children[j]];\n\t\t\t\t\tif (!child) continue;\n\t\t\t\t\tidx = child.parents.indexOf(moduleId);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tchild.parents.splice(idx, 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// remove outdated dependency from module children\n\t\t\tvar dependency;\n\t\t\tfor (var outdatedModuleId in outdatedDependencies) {\n\t\t\t\tif (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) {\n\t\t\t\t\tmodule = __webpack_require__.c[outdatedModuleId];\n\t\t\t\t\tif (module) {\n\t\t\t\t\t\tmoduleOutdatedDependencies =\n\t\t\t\t\t\t\toutdatedDependencies[outdatedModuleId];\n\t\t\t\t\t\tfor (j = 0; j < moduleOutdatedDependencies.length; j++) {\n\t\t\t\t\t\t\tdependency = moduleOutdatedDependencies[j];\n\t\t\t\t\t\t\tidx = module.children.indexOf(dependency);\n\t\t\t\t\t\t\tif (idx >= 0) module.children.splice(idx, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tapply: function (reportError) {\n\t\t\t// insert new code\n\t\t\tfor (var updateModuleId in appliedUpdate) {\n\t\t\t\tif (__webpack_require__.o(appliedUpdate, updateModuleId)) {\n\t\t\t\t\t__webpack_require__.m[updateModuleId] = appliedUpdate[updateModuleId];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// run new runtime modules\n\t\t\tfor (var i = 0; i < currentUpdateRuntime.length; i++) {\n\t\t\t\tcurrentUpdateRuntime[i](__webpack_require__);\n\t\t\t}\n\n\t\t\t// call accept handlers\n\t\t\tfor (var outdatedModuleId in outdatedDependencies) {\n\t\t\t\tif (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) {\n\t\t\t\t\tvar module = __webpack_require__.c[outdatedModuleId];\n\t\t\t\t\tif (module) {\n\t\t\t\t\t\tmoduleOutdatedDependencies =\n\t\t\t\t\t\t\toutdatedDependencies[outdatedModuleId];\n\t\t\t\t\t\tvar callbacks = [];\n\t\t\t\t\t\tvar errorHandlers = [];\n\t\t\t\t\t\tvar dependenciesForCallbacks = [];\n\t\t\t\t\t\tfor (var j = 0; j < moduleOutdatedDependencies.length; j++) {\n\t\t\t\t\t\t\tvar dependency = moduleOutdatedDependencies[j];\n\t\t\t\t\t\t\tvar acceptCallback =\n\t\t\t\t\t\t\t\tmodule.hot._acceptedDependencies[dependency];\n\t\t\t\t\t\t\tvar errorHandler =\n\t\t\t\t\t\t\t\tmodule.hot._acceptedErrorHandlers[dependency];\n\t\t\t\t\t\t\tif (acceptCallback) {\n\t\t\t\t\t\t\t\tif (callbacks.indexOf(acceptCallback) !== -1) continue;\n\t\t\t\t\t\t\t\tcallbacks.push(acceptCallback);\n\t\t\t\t\t\t\t\terrorHandlers.push(errorHandler);\n\t\t\t\t\t\t\t\tdependenciesForCallbacks.push(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (var k = 0; k < callbacks.length; k++) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tcallbacks[k].call(null, moduleOutdatedDependencies);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tif (typeof errorHandlers[k] === \"function\") {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\terrorHandlers[k](err, {\n\t\t\t\t\t\t\t\t\t\t\tmoduleId: outdatedModuleId,\n\t\t\t\t\t\t\t\t\t\t\tdependencyId: dependenciesForCallbacks[k]\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} catch (err2) {\n\t\t\t\t\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"accept-error-handler-errored\",\n\t\t\t\t\t\t\t\t\t\t\t\tmoduleId: outdatedModuleId,\n\t\t\t\t\t\t\t\t\t\t\t\tdependencyId: dependenciesForCallbacks[k],\n\t\t\t\t\t\t\t\t\t\t\t\terror: err2,\n\t\t\t\t\t\t\t\t\t\t\t\toriginalError: err\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\t\t\t\t\treportError(err2);\n\t\t\t\t\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"accept-errored\",\n\t\t\t\t\t\t\t\t\t\t\tmoduleId: outdatedModuleId,\n\t\t\t\t\t\t\t\t\t\t\tdependencyId: dependenciesForCallbacks[k],\n\t\t\t\t\t\t\t\t\t\t\terror: err\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Load self accepted modules\n\t\t\tfor (var o = 0; o < outdatedSelfAcceptedModules.length; o++) {\n\t\t\t\tvar item = outdatedSelfAcceptedModules[o];\n\t\t\t\tvar moduleId = item.module;\n\t\t\t\ttry {\n\t\t\t\t\titem.require(moduleId);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (typeof item.errorHandler === \"function\") {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\titem.errorHandler(err, {\n\t\t\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\t\t\tmodule: __webpack_require__.c[moduleId]\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (err1) {\n\t\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\t\ttype: \"self-accept-error-handler-errored\",\n\t\t\t\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\t\t\t\terror: err1,\n\t\t\t\t\t\t\t\t\toriginalError: err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\t\treportError(err1);\n\t\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\ttype: \"self-accept-errored\",\n\t\t\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\t\t\terror: err\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn outdatedModules;\n\t\t}\n\t};\n}\n__webpack_require__.hmrI.jsonp = function (moduleId, applyHandlers) {\n\tif (!currentUpdate) {\n\t\tcurrentUpdate = {};\n\t\tcurrentUpdateRuntime = [];\n\t\tcurrentUpdateRemovedChunks = [];\n\t\tapplyHandlers.push(applyHandler);\n\t}\n\tif (!__webpack_require__.o(currentUpdate, moduleId)) {\n\t\tcurrentUpdate[moduleId] = __webpack_require__.m[moduleId];\n\t}\n};\n__webpack_require__.hmrC.jsonp = function (\n\tchunkIds,\n\tremovedChunks,\n\tremovedModules,\n\tpromises,\n\tapplyHandlers,\n\tupdatedModulesList\n) {\n\tapplyHandlers.push(applyHandler);\n\tcurrentUpdateChunks = {};\n\tcurrentUpdateRemovedChunks = removedChunks;\n\tcurrentUpdate = removedModules.reduce(function (obj, key) {\n\t\tobj[key] = false;\n\t\treturn obj;\n\t}, {});\n\tcurrentUpdateRuntime = [];\n\tchunkIds.forEach(function (chunkId) {\n\t\tif (\n\t\t\t__webpack_require__.o(installedChunks, chunkId) &&\n\t\t\tinstalledChunks[chunkId] !== undefined\n\t\t) {\n\t\t\tpromises.push(loadUpdateChunk(chunkId, updatedModulesList));\n\t\t\tcurrentUpdateChunks[chunkId] = true;\n\t\t} else {\n\t\t\tcurrentUpdateChunks[chunkId] = false;\n\t\t}\n\t});\n\tif (__webpack_require__.f) {\n\t\t__webpack_require__.f.jsonpHmr = function (chunkId, promises) {\n\t\t\tif (\n\t\t\t\tcurrentUpdateChunks &&\n\t\t\t\t__webpack_require__.o(currentUpdateChunks, chunkId) &&\n\t\t\t\t!currentUpdateChunks[chunkId]\n\t\t\t) {\n\t\t\t\tpromises.push(loadUpdateChunk(chunkId));\n\t\t\t\tcurrentUpdateChunks[chunkId] = true;\n\t\t\t}\n\t\t};\n\t}\n};\n\n__webpack_require__.hmrM = function() {\n\tif (typeof fetch === \"undefined\") throw new Error(\"No browser support: need fetch API\");\n\treturn fetch(__webpack_require__.p + __webpack_require__.hmrF()).then(function(response) {\n\t\tif(response.status === 404) return; // no update available\n\t\tif(!response.ok) throw new Error(\"Failed to fetch update manifest \" + response.statusText);\n\t\treturn response.json();\n\t});\n};\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkreacttest2018\"] = self[\"webpackChunkreacttest2018\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__.O(undefined, [121], function() { return __webpack_require__(3813); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","ReturnPolicyModal","React","render","ModalSimple","id","title","href","className","target","__decorate","observer","EventType","eventEmitter","events","getEventKey","eventType","uniqueSuffix","dispatch","event","eventName","this","forEach","callback","subscribe","includes","push","unsubscribe","constructor","props","super","componentDidMount","open","show","util","hide","close","setTimeout","modalCloseById","onOutsideClick","e","classList","contains","abTestClass","tabIndex","onClick","style","maxWidth","maxHeight","window","innerHeight","role","type","children","ABTestKeys","AbTestStore","Object","defineProperty","_component","__awaiter","forceUpdate","key","ab","undefined","value","variation","ABGetValue","observable","action","document","addEventListener","container","getElementById","createRoot","ProductComponent","dataLayer","req","_url","o","axios","post","then","response","status","console","error","JSON","parse","data","catch","err","redeemCode","getProductPackage","runInAction","location","reload","pricing","result","s","ui","price","result_decimal","statevent","add_to_cart","args_1","buyNow","pcs","atc_error","success","redirect_url","prod_cat","LinkToProductID","v","ProductID","log","msg","prod","StoreID","si","updateShippingBoxID","docWidth","docHeight","_t","hit","i","ShippingSizeData","length","ssd","width","height","box_id","isShippingOversize","ATCButton","loading","IsCAF","caf_input_sizes","caf_valid_sizes","allowUpload2","image_uploaded","image_uploaded_msg","DocType","show_caf_doc_sizes","atc","bind","makeObservable","emitter","AB","abForceUpdate","label","additionalClass","ABIsVariant","ab_green_product","ATC","createRef","checkIfVisible","canShare","navigator","share","mainATCRef","current","IntersectionObserver","entry","isMainATCVisible","isIntersecting","threshold","observe","ref","lite","prod_buynow","_a","categories","isRetail","modalOpen","show_atc","PromoRedeem","innerWidth","position","top","left","r","CAFDocSize","show_caf_doc_sizes_both","collapse","init","error1","error2","error3","error4","DYF_FrameStyleID","doc2_w","toLowerCase","doc2_h","print2_w","print2_h","doc1_w","doc1_h","print1_w","print1_h","printWidth","printHeight","docWidth2","docHeight2","printWidth2","printHeight2","isHorizontal","caf_note_IsHorizontal","notes","caf_note","truncate","stop_caf","is_horizontal","srcSet","alt","src","paddingLeft","paddingRight","marginLeft","flex","step","name","placeholder","onChange","parseFloat","htmlFor","pattern","maxLength","Category","cat","filter","x","category_map_id","category_selected_no_new_product","_w","Doc_Width","_h","Doc_Height","IsHorizontal","OrientationHorizontal","glass_id","AllowGlassID2","doRender","update_pricing","pulse","save","category_name","CategoryID","CategoryName","ready","is_caf","paddingBottom","display","fontWeight","map","m","Name","__fast_ship_orig","parseInt","linos","CustomFieldsComponent","custom_text_1","custom_text_2","custom_text_3","save1","save2","save3","show_cust","CustomField1_Enabled","CustomField1_Title","CustomField2_Enabled","CustomField2_Title","CustomField3_Enabled","CustomField3_Title","DescMain","hide_dynamic","ItemID","show_doc_size","ProductTypeID","IsFrame","show_frame_size","JF_Width","show_custom_frame","show_smart_box","allow_smartbox","Shipping_BoxID","ProductTypeDisplayName","jf_width","moulding_extWidth","jf_height","JF_Height","componentDidUpdate","ul","DOMParser","parseFromString","default_prod_info_static","querySelector","firstLi","removeChild","description","outerHTML","onKeyDown","toggleExpandable","dangerouslySetInnerHTML","__html","ph_desc_size","ph_desc_jf_size","LevelLock","PortalID","__portal","DisableProdDescLinks","HideLevelLock","ph_desc_ll","LevelLockModal","ph_desc_smart","SmartBoxModal","StoreTypeID","ph_desc_custom","CustomizationMethod","item_id","sku","DYF_FrameStyleName","title_moulding","title_mat1","mat2_id","title_mat2","insignia_id","title_insignia","lino_id","lino_base_name","ep_id","name_glass","AllowGlassID1","use_plexi","computed","DocSize","h","w","preventDefault","dw","doc_sizes_photo","doc_sizes_varsity","doc_sizes","newHeight","ForcePlexiglass","changeDocSize","changeOrientation","changeDYF","marginBottom","justifyContent","fontSize","selected","dyfList","doc_type","CustomerServicePhone","CustomerServiceEmail","Price_Retail","EngravedPlate","collapsed","ep_id_view","ep1","ep2","ep3","ins_black_allowed","ins_gold_allowed","ins_silver_allowed","collapseToggle","ep_color_change","ep_add","ep_remove","ep_change_text","canCollapse","getColorText","getColorTextLower","name_moulding","getImage","EngravedPlateStatusID","padding","paddingTop","EngravedPlateLines","Glass","IsGlassAllowed","standardGlassTitle","product_glass","AllowGlassID3","AllowGlassID4","marginTop","glass","GradYear","grad_year","show_grad_year","minWidth","max","min","color","flexDirection","alignItems","gap","border","ImageUploadCopy","image_upload_hash3","override_d1_img","image_uploading","reso_level","clicked","centerCrop","selectFile","createCroppedImage","detail","fileInput","mcerr","canUpload","processing_title","processing_text","formData","FormData","currentTarget","append","file","toString","__fiu","token","config","headers","RequestVerificationToken","ir","hash","ppi_w_actual","ppi_h_actual","finally","crop","imgRef","naturalWidth","naturalHeight","canvas","createElement","scaleX","scaleY","ctx","getContext","drawImage","y","toBlob","blob","File","completedCrop","files","imgSrc","reader","FileReader","readAsDataURL","aspect","centerAspectCrop","makeAspectCrop","unit","accept","clear","textAlign","ReactCrop","percentCrop","onComplete","minHeight","onLoad","onSubmit","disabled","ppi_w","ppi_h","ppi_w_max","ppi_h_max","UploadFee","Insignia","collapsed_number","getCollapsedNumber","orig_ins_name","stringify","orig_pcs","Base_InsigniaName","init_ins","InsigniaID","insignia_base_name","insignia_dyf_color","insignia_is_dyf","insignias","isCAF","ins_color","name_insignia","scrollIntoView","d_i","orig","fpc_id","initInsignia","changeCategory","ins_remove","backgroundColor","color_mat1","linen","slice","textDecoration","margin","Lino","orig_lino_name","Base_LinoName","lino_display_name","hasCategory1","isBase","dyf_custom_lino_type_id","hasCategory2","hasCategory3","hasCategory4","init_linos","LinoID","lino_dyf_color","lino_is_dyf","lino_text","f1","f2","f3","f4","getElementsByTagName","_id","trim","initLinos","changeLino","changeLinoColor","lino_remove","getOptionsCount","handleLinoDropdown","changeLinoProd","css","lino_src","borderRadius","lineHeight","replace","InstName","reverse","mat1_color","Mat","max_mats","max_mats_bg","getMaxMats","collapsed_number_mat2","collapsed_number_mat3","collapsed_mat2","collapsed_mat3","m1","caf_mat1","m2","caf_mat2","mat1_id","mat_color","mat2_color","name_mat2","color_mat2","matcombo_id","mats","pmat_color","smat_color","pmat_name","ImageName","old_style_composite","vlbg_id","vlbg_color","title_vlbg","collapseToggle_mat2","collapseToggle_mat3","save_vlbg","call","querySelectorAll","popoverTriggerEl","bootstrap","Popover","title_mat_combo","InfoIcon","ABGetClassName","product_mats","MatComboID","Moulding","moulding_id","mouldings","xx","extWidth","MouldingID","d1","d2","d3","selected_finish","changeColor","Default","allowList","_all","fpc_name","finishes","Set","sort","IsRecycled","ReactDOMServer","RecycledIcon","ModalInfo","store","ProductHeader","d","click","goReviews","listItems","textContent","productDescription","default_render","product_title","allow_reviews","review_count","review_score","show_pricing","ab_1_render","toFixed","HasKey","api","__promo_json","redeemAvailable","redeemOff","QtyComponent","qty","ProductItem","getZoomImgUrl","product","split","resolution","newResolution","zoomImgUrl","link","relatedProducts","RelatedProducts","Swiper","grabCursor","loop","keyboard","enabled","navigation","spaceBetween","updateOnWindowResize","breakpoints","slidesPerView","modules","Keyboard","Navigation","p","SwiperSlide","stopPropagation","SliderRealImages","zoom_index","zoom_real_images","toggleZoom","real_images","centeredSlides","zoom","scrollbar","pagination","slidesPerGroup","Zoom","Scrollbar","initialSlide","virtualIndex","SliderTH","swiper","zoom_id","ele","index","attributes","slideToLoop","css_zoom","zoom_thumbnails","loadSwiper","loadSwiperZoom","getSlidesPerView","show_slider","Mat1_ID","th1Disabled","th2Disabled","th3Disabled","th4Disabled","th5Disabled","th6Disabled","th7Disabled","th8Disabled","th9Disabled","th10Disabled","do_loop","slideCount","moulding_has_zoom","th5","th6","real_images_th","product_thumbnail_height","onInit","centeredSlidesBounds","centerInsufficientSlides","Image_Thumb","DocumentID","ExtraEntityID","moulding_zoom_path_th","is_tassel_cord","ProdInstText","th1","th2","th3","th4","th7","th8","th9","th10","backgroundImage","name_mat1","OldInsigniaThumb","disableGlassUpgrades","slidesPerGroupAuto","ProductRender","moulding_zoom_path","backgroundRepeat","OldInsigniaImage","Yotpo","defer","t","parentNode","insertBefore","URL","_ssd","_dstc","DocumentSizeTierID","Width","Height","IsMax","UsePlexiglass","DocumentSizeTierData","ab_update","react_product","_key","_value","header","ProductProcessing","allow_customer_photos","textTransform","is_bo","bo_msg","right","categoryIds","allowUpload1","StoreProductMessage","wholesale","hasPromo","promo","modal1","modal2","__fast_ship","fullWidth","StoreName","Phone","Fax","Address1","Address2","StoreLink","ProdReturnSnippet","H2_1","H2_1_Content","H2_2","H2_2_Content","H2_3","H2_3_Content","H2_4","H2_4_Content","EngravedPlateStatusEnum","DYF_FrameStylesEnum","DocStackingSizeTiers","DocSizeTierID","CameoRail","DocDistance","DocHeight","DocWidth","DocOverlap","OvalRailSide","OvalRailOvalTop","OvalRailDocTop","SpiritRailTopAndSides","SpiritRailBottom","StandardRail","TasselRailHeight","TasselRailWidth","TasselGap","TasselHeight","TasselWidth","DocStackingSizeTiersClass","DefaultPCS","ProductCustomizationState","getGlassPrice","GlassID","isPhotoFrame","Glass_DocSizeTierID","isOversized","__oversized","glass_prices","Price","Price_Wholesale","ps","m0","g","l","e1","e2","e3","w1","w2","h1","h2","lc","shareData","text","url","btoa","toJS","event_params","method","content_type","FramePartDomain","renderStandardPrimaryMat","PMatWidthPX","PMatHeightPX","MaxMouldingWidthPx","MouldingWidthPx","pmat_BackgroundImage","pmat_path","PrimaryMatName","pmat_width","pmat_height","pmat_backgroundSize","pmat_top","pmat_left","body_width","n","renderStandardMoulding","PMatWidthPx","PMatHeightPx","m_topleft_src","MouldingName","m_topleft_left","m_topleft_top","m_topleft_width","m_topright_src","m_topright_left","m_topright_top","m_topright_width","m_bottomleft_src","m_bottomleft_left","m_bottomleft_top","m_bottomleft_width","m_bottomright_src","m_bottomright_left","m_bottomright_top","m_bottomright_width","m_left_src","m_left_left","m_left_top","m_left_width","m_left_height","m_right_src","m_right_left","m_right_top","m_right_width","m_right_height","m_top_src","m_top_left","m_top_top","m_top_width","m_top_height","m_bottom_src","m_bottom_left","m_bottom_top","m_bottom_width","m_bottom_height","doc_path","DocHeightPx","docName","Base_ExtraEntityName","override","vl_path","VLHeightPx","VLName","oval_path","OvalName","campus_path","cameo_path","renderCollapsedPMatBevel","doc1_pmat_bevel_backgroundColor","doc1_pmat_bevel_left","doc1_pmat_bevel_top","doc1_pmat_bevel_width","doc1_pmat_bevel_height","renderCollapsedSMat","doc1_smat_backgroundColor","doc1_smat_left","doc1_smat_top","doc1_smat_width","doc1_smat_height","doc1_smat_bevel_backgroundColor","doc1_smat_bevel_left","doc1_smat_bevel_top","doc1_smat_bevel_width","doc1_smat_bevel_height","RenderStandardSMat","BevelWidthPx","SMatWidthPx","DocWidthPx","SecondaryMatColor","renderStandardFillet","RailSidePx","RailTopPx","WoodFilletWidthPx","f_container_left","f_container_top","f_container_width","f_container_height","f_topleft_src","SecondaryMatName","f_topleft_left","f_topleft_top","f_topleft_width","f_topright_src","f_topright_left","f_topright_top","f_topright_width","f_bottomleft_src","f_bottomleft_left","f_bottomleft_top","f_bottomleft_width","f_bottomright_src","f_bottomright_left","f_bottomright_top","f_bottomright_width","f_left_src","f_left_left","f_left_top","f_left_width","f_left_height","f_right_src","f_right_left","f_right_top","f_right_width","f_right_height","f_top_src","f_top_left","f_top_top","f_top_width","f_top_height","f_bottom_src","f_bottom_left","f_bottom_top","f_bottom_width","f_bottom_height","renderStandardInsignia","FilletCount","MaxInsigniaWidthPx","SMatCount","insignia_bot_visible","insignia_visible","Base_InsigniaID","insignia_src","insignia_path","Math","floor","insignia_left","insignia_top","insignia_width","insignia_height","insignia_bot","renderBottomInsignia","renderBottomRightInsignia","insignia_br_visible","mod","insignia_br_src","insignia_br_right","FrameDisplay_width","insignia_br_bot","insignia_br_width","insignia_br_height","insignia_path_noBevel","InsigniaName","renderStandardLino","LinoWidthMaxPx","LinoHeightMaxPx","lino_visible","Base_LinoID","linoLeft","lino_path","lino_left","lino_top","lino_width","lino_height","renderEngravedPlate","Left","Top","EPWidthPx","EPHeightPx","ep_bevel_backgroundColor","ep_bevel_left","ep_bevel_top","ep_bevel_width","ep_bevel_height","ep_pmat_backgroundImage","ep_pmat_left","ep_pmat_top","ep_pmat_width","ep_pmat_height","ep_backgroundImage","EngravedPlateName","ep_backgroundSize","EngravedPlateID","ep_color","ep_left","ep_top","ep_width","ep_height","EPLineCount","getEPLineCount","LineHeight","EPTextTop","ep_lines_top","ep_lines_left","ep_lines_lineHeight","ep_lines_fontSize","ep_lines_width","ep_lines_height","ep_visible","tassel_path","TasselName","lines","EP_1","Util","EP_2","EP_3","ItemID_EndsWithNumber","str","c","Get_DocumentSizeTierID","Temp","arr","f","getDocSizeTier","xDocument_Width","Document_Width","xDocument_Height","Document_Height","ratio","tempWidth","tempHeight","getDocSizeTier2","xDocument2_Width","Document2_Width","xDocument2_Height","Document2_Height","linoWidthAdjust","MaxFrameWidthPx","_renderType","Normal","state_FlatImageMode","DefaultMaxFrameWidth","MaxFrameHeightPx","DefaultMaxFrameHeight","moulding","MouldingExtWidth","mat1","mat2","PrimaryMatID","PrimaryMatColor","MatCombo_IsWoodFillet","SecondaryMatID","mat","smat_name","HasEngravedPlate","o3","UseCommonDPI","UseMaxMouldingForSizing","Base_ExtraID","ExtraEntityName","render_old_style","frame_display_width","frame_display_height","FrameDisplay_height","assign","Single_Document","Photo_Frame","Spirit","SpiritB","Cameo","renderSingleDocFrame","Tassel","renderTasselFrame","Double_Document","Campus_Scene","renderDoubleDoc","Varsity","renderVarsity","Sports_Oval","Portrait_Oval","renderOvalFrame","Century","renderCentury","MouldingThickness","moulding_width","moulding_half","CurrentDocWidth","CurrentDocHeight","DocSizeTier","filletCount","MouldingOverlap","RailTop","RailSide","InsigniaWidth","Base_InsigniaWidthInches","DefaultInsigniaWidthMax","LinoWidthMax","DefaultLinoWidthMax","Base_LinoAdjustmentInches","LinoHeightMax","DefaultLinoHeightMax","EPWidth","DefaultEPWidth","EPHeight","DefaultEPHeight","TotalWidth","MouldingWidthMax","DPI","done","TotalUsedWidthPx","TotalUsedWidthPx_NoMargin","MaxSingleDocRailWidthPx","MaxPossibleSingleDocWidthPx","MaxPossibleSingleDocHeightPx","TotalUsedHeightPx","TotalUsedHeightPx_NoMargin","round","BevelWidth","Padding","InnerAccentWidth","fillet_visible","doc1_src","Base_DocumentName","doc1_left","doc1_top","doc1_width","doc1_height","insLeft","EPTopPx","EPLeftPx","cameo_visible","CameoWidth","CameoHeight","CameoWidthPx","CameoHeightPx","cameo_pmat_bevel_backgroundColor","cameo_pmat_bevel_left","cameo_pmat_bevel_top","cameo_pmat_bevel_width","cameo_pmat_bevel_height","cameo_pmat_bevel_borderRadius","cameo_src","cameo_left","cameo_top","cameo_width","cameo_height","cameo_borderRadius","spirit_visible","spirit_thick","spirit_smat_thick","spirit_smat_bg","smat_left","sidesLeft","sides_smat_Left","sidesHeight","smat_height","spi_left_width","spi_right_width","spi_smat_left_width","spi_smat_right_width","spi_left_left","spi_right_right","spi_left_top","spi_right_top","spi_left_height","spi_right_height","spi_smat_left_left","spi_smat_right_right","spi_smat_left_top","spi_smat_right_top","spi_smat_left_height","spi_smat_right_height","spirit_visible_ins","spirit_ins_bot","spirit_visible_lino","spi_bot1_left","spi_bot2_right","spi_bot1_bot","spi_bot2_bot","spi_smat_bot1_bot","spi_smat_bot2_bot","spi_bot1_height","spi_bot2_height","spi_smat_bot1_height","spi_smat_bot2_height","spi_smat_bot1_left","spi_smat_bot2_right","spi_bot1_width","spi_bot2_width","spi_smat_bot1_width","spi_smat_bot2_width","spi_top1_left","spi_top2_right","spi_top1_top","spi_top2_top","spi_smat_top1_top","spi_smat_top2_top","spi_top1_height","spi_top2_height","spi_smat_top1_height","spi_smat_top2_height","spi_smat_top1_left","spi_smat_top2_right","spi_top1_width","spi_top2_width","spi_smat_top1_width","spi_smat_top2_width","factor","old_w","debug","TasselGapPx","TasselWidthPx","TasselHeightPx","tassel_visible","tassel_pmat_bevel_backgroundColor","tassel_pmat_bevel_left","tassel_pmat_bevel_top","tassel_pmat_bevel_width","tassel_pmat_bevel_height","tassel_smat_backgroundColor","tassel_smat_left","tassel_smat_top","tassel_smat_width","tassel_smat_height","tassel_smat_bevel_backgroundColor","tassel_smat_bevel_left","tassel_smat_bevel_top","tassel_smat_bevel_width","tassel_smat_bevel_height","tassel_src","tassel_left","tassel_top","tassel_width","tassel_height","CurrentDoc2Width","CurrentDoc2Height","DocSizeTier1","Temp_Doc_Width2","Temp_Doc_Height2","DocSizeTier2","doCampusAlternate","CampusVertical","original_vertical","Base_ExtraHeight","reduction_ratio","campus_ratio","doneCount","Doc2WidthPx","Doc2HeightPx","DoubleDocSeparationPx","doc2_pmat_bevel_backgroundColor","doc2_pmat_bevel_left","doc2_pmat_bevel_top","doc2_pmat_bevel_width","doc2_pmat_bevel_height","doc2_smat_backgroundColor","doc2_smat_left","doc2_smat_top","doc2_smat_width","doc2_smat_height","doc2_smat_bevel_backgroundColor","doc2_smat_bevel_left","doc2_smat_bevel_top","doc2_smat_bevel_width","doc2_smat_bevel_height","doc2_visible","doc2_src","o4","doc2_left","doc2_top","doc2_width","doc2_height","MouldingInsigniaAreaWidth","MouldingInsigniaAreaWidthPx","MouldingInsigniaVerticalOffsetPx","varsity_visible","varsity_pmat_bevel_backgroundColor","varsity_pmat_bevel_left","varsity_pmat_bevel_top","varsity_pmat_bevel_width","varsity_pmat_bevel_height","varsity_smat_backgroundColor","varsity_smat_left","varsity_smat_top","varsity_smat_width","varsity_smat_height","varsity_smat_bevel_backgroundColor","varsity_smat_bevel_left","varsity_smat_bevel_top","varsity_smat_bevel_width","varsity_smat_bevel_height","varsity_bg_backgroundColor","varsity_bg_left","varsity_bg_top","varsity_bg_width","varsity_bg_height","varsity_src","varsity_left","varsity_top","varsity_width","varsity_height","OvalGapPx","OvalWidthPx","OvalHeightPx","oval_visible","oval_pmat_bevel_backgroundColor","oval_pmat_bevel_left","oval_pmat_bevel_top","oval_pmat_bevel_width","oval_pmat_bevel_height","oval_pmat_bevel_borderRadius","oval_smat_backgroundColor","oval_smat_left","oval_smat_top","oval_smat_width","oval_smat_height","oval_smat_borderRadius","oval_smat_bevel_backgroundColor","oval_smat_bevel_left","oval_smat_bevel_top","oval_smat_bevel_width","oval_smat_bevel_height","oval_smat_bevel_borderRadius","oval_src","oval_left","oval_top","oval_width","oval_height","oval_borderRadius","oval_backgroundColor","onMouseMove","onMouseEnter","onMouseLeave","squareCurrent","zoomSquareContainerRef","originalCurrent","originalContainerRef","calculateZoomSquareSize","imageRect","getBoundingClientRect","squareWidth","squareHeight","mouseX","clientX","mouseY","clientY","setStyle","isZoomVisible","attr","parentStyle","zoomedContainerRef","parentElement","loadingDiv","remove","replaceImage","newImage","th6Enabled","defaultConfiguration","Mat2_ID","ab_prod_th6","objectFit","renderContent","Image_Full","bottom","backgroundSize","doc1_visible","boxShadow","whiteSpace","letterSpacing","overflow","flexWrap","isMobile","zoomContainerVisible","prod_zoom","content","opacity","zIndex","background","insigniaVisible","insignia","_b","alignSelf","ProdStore","__isMyFrames","__preload_product","__preload_glass_prices","StoreInfo","__StoreID","storeId","reviewCount","reviewScore","msrp","priceMSRPDec","customized_core","customized_glass","base_product_id","base_item_id","MouldingHasZoom","Moulding_IMG_Zoom","Moulding_IMG_ZoomThumb","SelectedCategoryMapID","VLBG_ID","vlbg","_m","_i","_l","_m1","_m2","selected_doc_size","mc","process_color_restrictions","OldCompositeImage","YearOfGraduation_Required","DisableRealImages","DisableReviews","atob","marketing_item","item_name","coupon","currency","discount","item_brand","item_category","location_id","quantity","product_id","item_list_name","item_list_id","item_variant","marketing_product_visit","item_image","ProductName","SKU","Brand","ImageUrl","item_noimage","klaviyo","errk","diffFromFastShip","__fast_ship_warned","forceRender","pulse_fast_ship","pulse_caf","pulse_product","give_ep_color_id","oldColor","assignedName","newName","new_ins","glass_update","setUI","update_doc_sizes","BO_Single","BO_OverrideText","IsBO_MyFrames","BO_Text","BO_FramePartID","BO_MyFramesText","dyf_color","_glass","has_zoom","IMG_Zoom","IMG_Zoom_Thumb","pmat_title","smat_title","title_glass","isNullOrWhiteSpace","match","_z","currency_noNegatives","ValidationMessages","RenderType","String","prototype","useDots","substr","getPhoneHREF","roundF","precision","multiplier","pow","openLink","_blank","_openLinkTimer","clearTimeout","modal","debounce","func","delay","timer","getParameterByName","results","RegExp","exec","decodeURIComponent","ariaPulse","caro_prev","getElementsByClassName","caro_next","ariaLabel","prod_entity_zoom_destroy","modals","webp","localsJsonString","cssReload","module","hot","invalidate","dispose","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","execOptions","factory","__webpack_modules__","require","handler","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","keys","every","splice","getter","__esModule","a","definition","enumerable","get","hu","chunkId","miniCssF","hmrF","globalThis","Function","obj","prop","hasOwnProperty","script","needAttach","scripts","getAttribute","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","head","appendChild","Symbol","toStringTag","currentChildModule","currentUpdateApplyHandlers","queuedInvalidatedModules","currentModuleData","installedModules","currentParents","registeredStatusHandlers","currentStatus","blockingPromises","blockingPromisesWaiting","setStatus","newStatus","Promise","all","unblock","list","hotCheck","applyOnUpdate","Error","hmrM","update","updatedModules","hmrC","reduce","promises","internalApply","resolve","applyInvalidatedModules","hotApply","options","errors","Boolean","disposePromise","applyPromise","reportError","outdatedModules","apply","indexOf","hmrI","hmrD","me","_main","request","active","parents","warn","createPropertyDescriptor","configurable","set","fetchPriority","promise","trackBlockingPromise","createRequire","_acceptedDependencies","_acceptedErrorHandlers","_declinedDependencies","_selfAccepted","_selfDeclined","_selfInvalidated","_disposeHandlers","_requireSelf","dep","errorHandler","decline","addDisposeHandler","removeDisposeHandler","idx","check","addStatusHandler","removeStatusHandler","scriptUrl","importScripts","currentScript","tagName","toUpperCase","test","oldTags","newTags","applyHandler","oldTag","rel","miniCss","removedChunks","removedModules","applyHandlers","updatedModulesList","fullhref","existingLinkTags","dataHref","tag","existingStyleTags","findStylesheet","reject","linkTag","nonce","errorType","realHref","code","nextSibling","createStylesheet","as","currentUpdatedModulesList","currentUpdateChunks","currentUpdate","currentUpdateRemovedChunks","currentUpdateRuntime","installedChunks","hmrS_jsonp","waitingUpdateResolves","loadUpdateChunk","realSrc","message","getAffectedModuleEffects","updateModuleId","outdatedDependencies","queue","chain","queueItem","pop","parentId","parent","concat","addAllToSet","b","item","jsonpHmr","appliedUpdate","warnUnexpectedRequire","newModuleFactory","abortError","doApply","doDispose","chainInfo","join","onDeclined","ignoreDeclined","onUnaccepted","ignoreUnaccepted","onAccepted","onDisposed","moduleOutdatedDependencies","outdatedSelfAcceptedModules","outdatedModuleId","dependency","disposeHandlers","child","callbacks","errorHandlers","dependenciesForCallbacks","acceptCallback","k","dependencyId","err2","onErrored","originalError","ignoreErrored","err1","self","moreModules","runtime","jsonp","fetch","ok","statusText","json","webpackJsonpCallback","parentChunkLoadingFunction","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}