@thefittingroom/shop-ui 3.2.0 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/SizeRec.js +11 -0
- package/.rollup.cache/Users/supagoku/projects/fit/shop-sdk-ui/dist/esm/components/SizeRec.js.map +1 -0
- package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/tfr-size-rec.js +17 -4
- package/.rollup.cache/Users/supagoku/projects/fit/shop-sdk-ui/dist/esm/tfr-size-rec.js.map +1 -0
- package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/tfr.js +6 -2
- package/.rollup.cache/Users/supagoku/projects/fit/shop-sdk-ui/dist/esm/tfr.js.map +1 -0
- package/.rollup.cache/Users/supagoku/projects/fit/shop-sdk-ui/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/index.js +36 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +56 -56
- package/dist/esm/index.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/.rollup.cache/home/runner/work/shop-sdk-ui/shop-sdk-ui/dist/esm/components/SizeRec.js.map +0 -1
- package/.rollup.cache/home/runner/work/shop-sdk-ui/shop-sdk-ui/dist/esm/tfr-size-rec.js.map +0 -1
- package/.rollup.cache/home/runner/work/shop-sdk-ui/shop-sdk-ui/dist/esm/tfr.js.map +0 -1
- package/.rollup.cache/home/runner/work/shop-sdk-ui/shop-sdk-ui/dist/tsconfig.tsbuildinfo +0 -1
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ErrorModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ErrorModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/FitModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/FitModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ForgotPasswordModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ForgotPasswordModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/LoadingAvatarModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/LoadingAvatarModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/LoggedOutModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/LoggedOutModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ModalManager.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ModalManager.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/NoAvatarModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/NoAvatarModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ResetLinkModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ResetLinkModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ScanCodeModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/ScanCodeModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/SignInModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/SignInModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/SizeErrorModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/SizeErrorModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/TryOnModal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Modals/TryOnModal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Vto.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/Vto.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/index.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/index.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/locale.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/locale.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/slider.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/slider.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/svgs.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/svgs.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/uiError.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/components/uiError.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/helpers/telephone.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/helpers/telephone.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/helpers/validations.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/helpers/validations.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/index.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/index.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/init.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/init.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/styles/index.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/styles/index.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/tfr-modal.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/tfr-modal.js.map +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/types/index.js +0 -0
- /package/.rollup.cache/{home/runner/work/shop-sdk-ui → Users/supagoku/projects/fit}/shop-sdk-ui/dist/esm/types/index.js.map +0 -0
|
@@ -88,10 +88,21 @@ export class SizeRecComponent {
|
|
|
88
88
|
this.tfrSizeRecommendationError.style.display = 'block';
|
|
89
89
|
this.tfrSizeRecommendationError.innerHTML = 'No recommended size found.';
|
|
90
90
|
}
|
|
91
|
+
hide() {
|
|
92
|
+
if (this.sizeRecMainDiv) {
|
|
93
|
+
this.sizeRecMainDiv.style.display = 'none';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
show() {
|
|
97
|
+
if (this.sizeRecMainDiv) {
|
|
98
|
+
this.sizeRecMainDiv.style.display = 'block';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
91
101
|
init(sizeRecMainDivId) {
|
|
92
102
|
const sizeRecMainDiv = document.getElementById(sizeRecMainDivId);
|
|
93
103
|
if (!sizeRecMainDiv)
|
|
94
104
|
throw new Error('Size rec main div not found');
|
|
105
|
+
this.sizeRecMainDiv = sizeRecMainDiv;
|
|
95
106
|
this.render(sizeRecMainDiv);
|
|
96
107
|
this.setElements();
|
|
97
108
|
this.bindEvents();
|
package/.rollup.cache/Users/supagoku/projects/fit/shop-sdk-ui/dist/esm/components/SizeRec.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SizeRec.js","sourceRoot":"","sources":["../../../src/components/SizeRec.ts"],"names":[],"mappings":"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","sourcesContent":["import { infoIcon, tfrDoor, userIcon } from './svgs'\n\nexport type RecommendedSize = {\n recommended: string\n sizes: {\n size: string\n size_id: number\n locations: {\n fit: string\n isPerfect: boolean\n location: string\n }[]\n }[]\n}\n\nexport class SizeRecComponent {\n private _sku: string = ''\n private _styleId: number = null\n\n private isLoggedIn: boolean = false\n private sizeRecMainDiv: HTMLDivElement\n\n private tfrInfoIcon: HTMLDivElement\n private tfrLoginToView: HTMLDivElement\n private tfrSizeHowItFits: HTMLDivElement\n private tfrSizeRecActionLogin: HTMLDivElement\n private tfrSizeRecActionLogout: HTMLDivElement\n private tfrSizeRecLoading: HTMLDivElement\n private tfrSizeRecommendationError: HTMLDivElement\n private tfrSizeRecommendationsContainer: HTMLDivElement\n private tfrSizeRecSelect: HTMLDivElement\n private tfrSizeRecSelectContainer: HTMLDivElement\n private tfrSizeRecSize: HTMLDivElement\n private tfrSizeRecTable: HTMLDivElement\n private tfrSizeRecTitle: HTMLDivElement\n private tfrSizeRecTitleToggle: HTMLDivElement\n\n private tfrLoggedInElements: NodeList = [] as any as NodeList\n private tfrLoggedOutElements: NodeList = [] as any as NodeList\n\n private tfrToggleOpenElements: NodeList = [] as any as NodeList\n private tfrToggleClosedElements: NodeList = [] as any as NodeList\n\n private isCollapsed: boolean = false\n private redraw: (index: number) => void = null\n\n constructor(\n sizeRecMainDivId: string,\n private readonly onSignInClick: () => void,\n private readonly onSignOutClick: () => void,\n private readonly onFitInfoClick: () => void,\n private readonly onTryOnClick: (styleId: number, sizeId: number, shouldDisplay: boolean) => Promise<void>,\n ) {\n this.init(sizeRecMainDivId)\n }\n\n public get sku() {\n return this._sku\n }\n\n public setSku(sku: string) {\n this._sku = sku\n }\n\n public get styleId() {\n return this._styleId\n }\n\n public setStyleId(styleId: number) {\n this._styleId = styleId\n }\n\n public setIsLoggedIn(isLoggedIn: boolean) {\n this.isLoggedIn = isLoggedIn\n\n this.tfrSizeRecSelectContainer.style.display = 'flex'\n this.tfrSizeRecSelect.style.display = 'flex'\n this.tfrSizeHowItFits.style.display = 'block'\n\n if (isLoggedIn) {\n this.tfrSizeHowItFits.style.opacity = '1'\n this.tfrSizeRecSelect.style.opacity = '1'\n this.tfrLoggedInElements.forEach((element) => ((element as HTMLElement).style.display = 'block'))\n this.tfrLoggedOutElements.forEach((element) => ((element as HTMLElement).style.display = 'none'))\n\n this.tfrSizeRecActionLogin.style.display = 'none'\n this.tfrSizeRecActionLogout.style.display = 'block'\n this.tfrSizeRecTitle.style.display = 'flex'\n this.isCollapsed = false\n this.tfrSizeRecTitleToggle.classList.add('tfr-chevron-up')\n this.tfrSizeRecTitleToggle.classList.remove('tfr-chevron-down')\n\n // Ensure the container is visible\n this.tfrSizeRecSelectContainer.style.display = 'flex'\n this.tfrSizeRecSelectContainer.style.opacity = '1'\n } else {\n this.tfrSizeHowItFits.style.opacity = '0.4'\n this.tfrSizeRecSelect.style.opacity = '0.4'\n this.tfrLoggedInElements.forEach((element) => ((element as HTMLElement).style.display = 'none'))\n this.tfrLoggedOutElements.forEach((element) => ((element as HTMLElement).style.display = 'block'))\n\n this.tfrSizeRecActionLogin.style.display = 'block'\n this.tfrSizeRecActionLogout.style.display = 'none'\n\n this.tfrSizeRecTitle.style.display = 'flex'\n this.tfrSizeRecommendationError.style.display = 'none'\n this.tfrSizeRecommendationError.innerHTML = ''\n\n this.renderSizeRecSelectLoggedOut()\n }\n }\n\n public setLoading(isLoading: boolean) {\n if (isLoading) {\n this.tfrSizeRecLoading.style.display = 'block'\n this.tfrSizeRecommendationsContainer.style.display = 'none'\n } else {\n this.tfrSizeRecLoading.style.display = 'none'\n this.tfrSizeRecommendationsContainer.style.display = 'flex'\n }\n }\n\n public setGarmentLocations(locations: string[]) {\n if (!locations || !locations.length) {\n this.tfrSizeRecTitle.style.display = 'none'\n\n return\n }\n\n this.renderGarmentLocations(locations)\n }\n\n public setRecommendedSize({ recommended, sizes }: RecommendedSize) {\n this.renderSizeRec(recommended, sizes)\n }\n\n public setError() {\n this.tfrSizeRecTitle.style.display = 'none'\n\n if (!this.isLoggedIn) return\n\n this.tfrSizeRecommendationError.style.display = 'block'\n this.tfrSizeRecommendationError.innerHTML = 'No recommended size found.'\n }\n\n public hide() {\n if (this.sizeRecMainDiv) {\n this.sizeRecMainDiv.style.display = 'none'\n }\n }\n\n public show() {\n if (this.sizeRecMainDiv) {\n this.sizeRecMainDiv.style.display = 'block'\n }\n }\n\n private init(sizeRecMainDivId: string) {\n const sizeRecMainDiv = document.getElementById(sizeRecMainDivId) as HTMLDivElement\n\n if (!sizeRecMainDiv) throw new Error('Size rec main div not found')\n\n this.sizeRecMainDiv = sizeRecMainDiv\n this.render(sizeRecMainDiv)\n this.setElements()\n this.bindEvents()\n }\n\n private setElements() {\n this.tfrSizeHowItFits = document.getElementById('tfr-size-how-it-fits') as HTMLDivElement\n this.tfrSizeRecTitle = document.getElementById('tfr-size-rec-title') as HTMLDivElement\n\n this.tfrInfoIcon = document.getElementById('tfr-info-icon') as HTMLDivElement\n this.tfrLoginToView = document.getElementById('tfr-login-to-view') as HTMLDivElement\n this.tfrSizeRecActionLogin = document.getElementById('tfr-size-rec-action-login') as HTMLDivElement\n this.tfrSizeRecActionLogout = document.getElementById('tfr-size-rec-action-logout') as HTMLDivElement\n this.tfrSizeRecTable = document.getElementById('tfr-size-rec-table') as HTMLDivElement\n this.tfrSizeRecommendationError = document.getElementById('tfr-size-recommendation-error') as HTMLDivElement\n this.tfrSizeRecSize = document.getElementById('tfr-size-rec-size') as HTMLDivElement\n this.tfrSizeRecSelect = document.getElementById('tfr-size-rec-select') as HTMLDivElement\n this.tfrSizeRecLoading = document.getElementById('tfr-size-rec-loading') as HTMLDivElement\n this.tfrSizeRecTitleToggle = document.getElementById('tfr-size-rec-title-toggle') as HTMLDivElement\n this.tfrSizeRecSelectContainer = document.getElementById('tfr-size-rec-select-container') as HTMLDivElement\n this.tfrSizeRecommendationsContainer = document.getElementById(\n 'tfr-size-recommendations-container',\n ) as HTMLDivElement\n\n this.tfrLoggedInElements = document.querySelectorAll('.tfr-logged-in')\n this.tfrLoggedOutElements = document.querySelectorAll('.tfr-logged-out')\n this.tfrToggleOpenElements = document.querySelectorAll('.tfr-toggle-open')\n this.tfrToggleClosedElements = document.querySelectorAll('.tfr-toggle-closed')\n }\n\n private bindEvents() {\n this.tfrSizeRecActionLogin.addEventListener('click', this.onSignInClick)\n this.tfrSizeRecActionLogout.addEventListener('click', this.onSignOutClick)\n this.tfrSizeRecSelect.addEventListener('click', this.onSizeRecSelectClick.bind(this))\n this.tfrSizeRecTitleToggle.addEventListener('click', this.toggletSizeRecSelectContainer.bind(this))\n this.tfrInfoIcon.addEventListener('click', this.onFitInfoClick)\n this.tfrLoginToView.addEventListener('click', this.onSignInClick)\n\n const tryOnButton = document.getElementById('tfr-try-on-button')\n if (!tryOnButton) return\n\n tryOnButton.addEventListener('click', async () => {\n // Prevent multiple clicks while loading\n if (tryOnButton.classList.contains('loading')) {\n return\n }\n\n const activeButton = document.querySelector('.tfr-size-rec-select-button.active')\n if (!activeButton) return\n\n const selectedSizeId = Number(activeButton.getAttribute('data-size-id'))\n if (Number.isNaN(selectedSizeId)) return\n\n // Set loading state\n tryOnButton.classList.add('loading')\n const originalText = tryOnButton.textContent\n tryOnButton.textContent = ' '\n tryOnButton.setAttribute('disabled', 'true')\n\n try {\n // Get all size buttons\n const allSizeButtons = Array.from(document.querySelectorAll('.tfr-size-rec-select-button')) as HTMLElement[]\n const activeIndex = allSizeButtons.indexOf(activeButton as HTMLElement)\n\n if (this.styleId !== null) {\n // 1. Fetch and display the VTO for the active (recommended) size\n try {\n await this.onTryOnClick(this.styleId, selectedSizeId, true)\n } catch (e) {\n console.error(`Error trying on active size ${selectedSizeId}:`, e)\n // Optionally, inform the user about the error for the primary VTO\n }\n\n // 2. Fetch VTO for the size to the left (if it exists)\n if (activeIndex > 0) {\n const leftButton = allSizeButtons[activeIndex - 1]\n await this._preloadNeighborVTO(leftButton)\n }\n\n // 3. Fetch VTO for the size to the right (if it exists)\n if (activeIndex >= 0 && activeIndex < allSizeButtons.length - 1) {\n const rightButton = allSizeButtons[activeIndex + 1]\n await this._preloadNeighborVTO(rightButton)\n }\n }\n } catch (error) {\n console.error('Error during sequential try-on process:', error)\n } finally {\n // Reset loading state\n tryOnButton.classList.remove('loading')\n tryOnButton.textContent = originalText\n tryOnButton.removeAttribute('disabled')\n }\n })\n }\n\n private async _preloadNeighborVTO(buttonElement: HTMLElement): Promise<void> {\n // this.styleId is assumed to be non-null here because the calling context (bindEvents)\n // is wrapped in 'if (this.styleId !== null)'\n const sizeId = Number(buttonElement.getAttribute('data-size-id'))\n if (!Number.isNaN(sizeId)) {\n try {\n await this.onTryOnClick(this.styleId!, sizeId, false)\n } catch (e) {\n const buttonText = buttonElement.textContent?.trim() || 'N/A'\n console.error(`Error pre-loading try-on for size ${sizeId} (button: ${buttonText}):`, e)\n }\n }\n }\n\n private onSizeRecSelectClick(e: MouseEvent) {\n const target = e.target as HTMLDivElement\n if (!target.classList.contains('tfr-size-rec-select-button') || target.classList.contains('tfr-disabled')) return\n\n e.preventDefault()\n\n const selectedIndex = Number(target.getAttribute('data-index'))\n if (Number.isNaN(selectedIndex)) return\n\n const allButtons = document.querySelectorAll('.tfr-size-rec-select-button')\n\n allButtons.forEach((button) => button.classList.remove('active'))\n allButtons.item(selectedIndex).classList.add('active')\n\n this.redraw(selectedIndex)\n\n const selectedSizeId = Number(target.getAttribute('data-size-id'))\n if (Number.isNaN(selectedSizeId)) return\n\n this.onTryOnClick(this.styleId, selectedSizeId, true)\n }\n\n private renderSizeRec(recommended: string, sizes: RecommendedSize['sizes']) {\n this.tfrSizeRecSize.innerHTML = ` ${recommended}`\n\n const selectedSizeIndex = sizes.findIndex(({ size }) => size === recommended)\n\n this.redraw = (index: number) => this.renderSizeRecTable(sizes, index)\n\n this.redraw(selectedSizeIndex)\n this.renderSizeRecSelect(sizes, selectedSizeIndex)\n }\n\n private renderSizeRecTable(sizes: RecommendedSize['sizes'], index: number) {\n const { locations } = sizes[index]\n const html = locations\n .map(({ location, fit, isPerfect }) => this.renderSizeRecTableRow(location, fit, isPerfect))\n .join('')\n\n this.tfrSizeRecTable.innerHTML = html\n }\n\n private renderSizeRecSelect(sizes: RecommendedSize['sizes'], index: number) {\n const sizeNames = sizes.map(({ size }) => size)\n const html = sizeNames\n .map(\n (name, i) =>\n `<div class=\"tfr-size-rec-select-button ${i === index ? 'active' : ''}\" data-index=\"${i}\" data-size-id=\"${\n sizes[i].size_id\n }\">${name}</div>`,\n )\n .join('')\n\n this.tfrSizeRecSelect.innerHTML = html\n }\n\n private renderSizeRecSelectLoggedOut() {\n const html = [\n `<div class=\"tfr-size-rec-select-button tfr-disabled\">M</div>`,\n `<div class=\"tfr-size-rec-select-button tfr-disabled active\">L</div>`,\n `<div class=\"tfr-size-rec-select-button tfr-disabled\">XL</div>`,\n ].join('')\n\n this.tfrSizeRecSelect.innerHTML = html\n }\n\n private renderSizeRecTableRow(location: string, fit: string, isPerfect: boolean = false) {\n return `<div class=\"tfr-size-rec-table-row\">\n <div class=\"tfr-size-rec-table-cell-left\">${location}</div>\n <div class=\"tfr-size-rec-table-cell-right ${isPerfect ? 'perfect' : ''}\">\n ${fit}\n </div>\n </div>`\n }\n\n private renderGarmentLocations(locations: string[]) {\n const innerHtml = locations\n .map((location, index) => this.renderSizeRecTableRow(location, this.randomFit(index), true))\n .join('')\n const html = `<div id=\"tfr-logged-out-overlay-container\">\n <div id=\"tfr-logged-out-overlay\">\n Login to reveal how this item will fit specifically at each area of your body in different sizes\n </div>\n <div>\n ${innerHtml}\n </div>\n </div>`\n\n this.tfrSizeRecTable.innerHTML = html\n }\n\n private randomFit(index: number) {\n const choices = ['Slightly Tight', 'Perfect Fit', 'Perfect Fit', 'Slightly Loose', 'Perfect Fit']\n\n return choices[index % choices.length]\n }\n\n private toggletSizeRecSelectContainer() {\n if (this.isCollapsed) {\n this.isCollapsed = false\n this.tfrSizeRecTitleToggle.classList.add('tfr-chevron-up')\n this.tfrSizeRecTitleToggle.classList.remove('tfr-chevron-down')\n this.tfrToggleOpenElements.forEach((element) => ((element as HTMLElement).style.display = 'block'))\n this.tfrToggleClosedElements.forEach((element) => ((element as HTMLElement).style.display = 'none'))\n } else {\n this.isCollapsed = true\n this.tfrSizeRecTitleToggle.classList.remove('tfr-chevron-up')\n this.tfrSizeRecTitleToggle.classList.add('tfr-chevron-down')\n this.tfrToggleOpenElements.forEach((element) => ((element as HTMLElement).style.display = 'none'))\n this.tfrToggleClosedElements.forEach((element) => ((element as HTMLElement).style.display = 'block'))\n }\n }\n\n private render(sizeRecMainDiv: HTMLDivElement) {\n const body = `<div id=\"tfr-size-recommendations\">\n <div id=\"tfr-size-rec-loading\">\n <div class=\"lds-ellipsis\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n </div>\n <div id=\"tfr-size-recommendations-container\">\n <div id=\"tfr-size-rec-title-toggle\" class=\"tfr-chevron-up\">v</div>\n\n <div class=\"tfr-logged-out\">\n <div class=\"tfr-flex tfr-gap tfr-mb-2 tfr-mobile-small-text\">\n <div>Uncertain of your size?</div>\n \n <div class=\"tfr-toggle-closed\">\n <div class=\"tfr-flex tfr-items-center\">\n <div>Try</div>\n <div class=\"tfr-powered-by-logo\">${tfrDoor}</div>\n <div class=\"tfr-powered-by-text-bold\">The Fitting Room</div>\n </div>\n </div>\n\n <div class=\"tfr-toggle-open\">\n <div id=\"tfr-login-to-view\" class=\"tfr-flex tfr-items-center\">\n ${userIcon} Login to view\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tfr-logged-in\">\n <div id=\"tfr-size-rec-title\">\n Recommended Size:\n <div id=\"tfr-size-rec-size\">\n <div class=\"tfr-size-rec-login-cta\">\n ${userIcon} Sign up to view\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tfr-toggle-open\" style=\"width: 100%\">\n <div id=\"tfr-size-rec-select-container\">\n <div id=\"tfr-size-how-it-fits\">Select size to see how it fits:</div>\n\n <div id=\"tfr-size-rec-select\"></div>\n\n <div id=\"tfr-size-rec-subtitle\">\n How it fits\n <span id=\"tfr-info-icon\">${infoIcon}</span>\n </div>\n\n <div id=\"tfr-size-rec-table\"></div>\n\n <div id=\"tfr-try-on-button\" class=\"tfr-try-on-button\">Try On</div>\n </div>\n </div>\n\n <div id=\"tfr-size-rec-action\">\n <div id=\"tfr-size-rec-action-login\">Sign up or login</div>\n <div id=\"tfr-size-rec-action-logout\">Log out</div>\n </div>\n\n <div class=\"tfr-toggle-open\">\n <div class=\"tfr-powered-by\">\n <div>Powered by</div>\n <div class=\"tfr-powered-by-logo\">${tfrDoor}</div>\n <div class=\"tfr-powered-by-text-bold\">The Fitting Room</div>\n </div>\n </div>\n </div>\n </div>\n <div id=\"tfr-size-recommendation-error\"></div>`\n\n sizeRecMainDiv.innerHTML = body\n }\n}\n"]}
|
|
@@ -32,7 +32,10 @@ export class TfrSizeRec {
|
|
|
32
32
|
const locations = filledLocations.length > 0 ? filledLocations : await this.getGarmentLocations(filledLocations);
|
|
33
33
|
console.debug('locations', locations);
|
|
34
34
|
console.debug('filledLocations', filledLocations);
|
|
35
|
-
|
|
35
|
+
if (locations && locations.length > 0) {
|
|
36
|
+
this.sizeRecComponent.show();
|
|
37
|
+
this.sizeRecComponent.setGarmentLocations(locations);
|
|
38
|
+
}
|
|
36
39
|
this.sizeRecComponent.setLoading(false);
|
|
37
40
|
}
|
|
38
41
|
async recommendSize() {
|
|
@@ -41,9 +44,9 @@ export class TfrSizeRec {
|
|
|
41
44
|
if (!sizes) {
|
|
42
45
|
console.error('No sizes found for sku');
|
|
43
46
|
this.sizeRecComponent.setLoading(false);
|
|
44
|
-
this.sizeRecComponent.setError();
|
|
45
47
|
return;
|
|
46
48
|
}
|
|
49
|
+
this.sizeRecComponent.show();
|
|
47
50
|
this.sizeRecComponent.setRecommendedSize(sizes);
|
|
48
51
|
this.sizeRecComponent.setLoading(false);
|
|
49
52
|
}
|
|
@@ -55,12 +58,17 @@ export class TfrSizeRec {
|
|
|
55
58
|
catch (error) {
|
|
56
59
|
try {
|
|
57
60
|
const style = await this.tfrShop.getStyleByBrandStyleId(this.sku);
|
|
61
|
+
if (!style) {
|
|
62
|
+
console.error('Style not found for brand style ID:', this.sku);
|
|
63
|
+
this.sizeRecComponent.hide();
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
58
66
|
const locations = await this.tfrShop.getMeasurementLocationsFromBrandStyleId(style.id, filledLocations);
|
|
59
67
|
return locations;
|
|
60
68
|
}
|
|
61
69
|
catch (error) {
|
|
62
70
|
console.error(error);
|
|
63
|
-
this.sizeRecComponent.
|
|
71
|
+
this.sizeRecComponent.hide();
|
|
64
72
|
return null;
|
|
65
73
|
}
|
|
66
74
|
}
|
|
@@ -75,13 +83,18 @@ export class TfrSizeRec {
|
|
|
75
83
|
catch (error) {
|
|
76
84
|
try {
|
|
77
85
|
const style = await this.tfrShop.getStyleByBrandStyleId(this.sku);
|
|
86
|
+
if (!style) {
|
|
87
|
+
console.error('Style not found for brand style ID:', this.sku);
|
|
88
|
+
this.sizeRecComponent.hide();
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
78
91
|
const sizes = await this.getRecommendedSizes(String(style.id));
|
|
79
92
|
this.setStyleId(style.id);
|
|
80
93
|
return sizes;
|
|
81
94
|
}
|
|
82
95
|
catch (error) {
|
|
83
96
|
console.error(error);
|
|
84
|
-
this.sizeRecComponent.
|
|
97
|
+
this.sizeRecComponent.hide();
|
|
85
98
|
return null;
|
|
86
99
|
}
|
|
87
100
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tfr-size-rec.js","sourceRoot":"","sources":["../../src/tfr-size-rec.ts"],"names":[],"mappings":"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","sourcesContent":["import { types as ShopTypes, TfrShop } from '@thefittingroom/sdk'\n\nimport { RecommendedSize, SizeRecComponent } from './components/SizeRec'\n\nexport type TfrCssVariables = {\n brandColor?: string\n black?: string\n red?: string\n white?: string\n muted?: string\n dark?: string\n grey?: string\n lightGrey?: string\n mainBorderColor?: string\n mainBorderRadius?: string\n mainBorderWidth?: string\n mainBgColor?: string\n mainWidth?: string\n mainVPadding?: string\n mainHPadding?: string\n mainFont?: string\n titleFont?: string\n subtitleFont?: string\n rowFont?: string\n ctaFont?: string\n sizeSelectorTextColor?: string\n sizeSelectorFontSize?: string\n sizeSelectorFontWeight?: string\n sizeSelectorBorderColor?: string\n sizeSelectorBorderWidth?: string\n sizeSelectorBgColor?: string\n sizeSelectorBgColorHover?: string\n sizeSelectorBgColorActive?: string\n sizeSelectorButtonHeight?: string\n sizeSelectorButtonActiveHeight?: string\n sizeSelectorButtonActiveBorderColor?: string\n sizeSelectorButtonActiveBorderWidth?: string\n sizeSelectorButtonRadius?: string\n sizeSelectorButtonShadow?: string\n}\n\nexport class TfrSizeRec {\n private readonly sizeRecComponent: SizeRecComponent\n private readonly perfectFits = [ShopTypes.Fit.PERFECT_FIT, ShopTypes.Fit.SLIGHTLY_LOOSE, ShopTypes.Fit.SLIGHTLY_TIGHT]\n\n constructor(\n sizeRecMainDivId: string,\n cssVariables: TfrCssVariables,\n private readonly tfrShop: TfrShop,\n private readonly onSignInClick: () => void,\n private readonly onSignOutClick: () => void,\n private readonly onFitInfoClick: () => void,\n private readonly onTryOnClick: (styleId: number, sizeId: number, shouldDisplay: boolean) => Promise<void>,\n ) {\n this.setCssVariables(cssVariables)\n this.sizeRecComponent = new SizeRecComponent(\n sizeRecMainDivId,\n this.onSignInClick,\n this.onSignOutClick,\n this.onFitInfoClick,\n this.onTryOnClick,\n )\n }\n\n public get sku() {\n return this.sizeRecComponent.sku\n }\n\n public setSku(sku: string) {\n this.sizeRecComponent.setSku(sku)\n }\n\n public get styleId() {\n return this.sizeRecComponent.styleId\n }\n\n public setStyleId(styleId: number) {\n this.sizeRecComponent.setStyleId(styleId)\n }\n\n public setIsLoggedIn(isLoggedIn: boolean) {\n this.sizeRecComponent.setIsLoggedIn(isLoggedIn)\n }\n\n public async setGarmentLocations(filledLocations: string[] = []) {\n this.sizeRecComponent.setLoading(true)\n // If we already have filledLocations, use them directly instead of making API calls\n const locations = filledLocations.length > 0 ? filledLocations : await this.getGarmentLocations(filledLocations)\n\n console.debug('locations', locations)\n console.debug('filledLocations', filledLocations)\n\n if (locations && locations.length > 0) {\n this.sizeRecComponent.show()\n this.sizeRecComponent.setGarmentLocations(locations)\n }\n this.sizeRecComponent.setLoading(false)\n }\n\n public async recommendSize() {\n this.sizeRecComponent.setLoading(true)\n const sizes = await this.getRecommendedSize()\n\n if (!sizes) {\n console.error('No sizes found for sku')\n this.sizeRecComponent.setLoading(false)\n return\n }\n\n this.sizeRecComponent.show()\n this.sizeRecComponent.setRecommendedSize(sizes)\n this.sizeRecComponent.setLoading(false)\n }\n\n private async getGarmentLocations(filledLocations: string[]): Promise<string[]> {\n try {\n const locations = await this.tfrShop.getMeasurementLocationsFromSku(this.sku, filledLocations)\n\n return locations\n } catch (error) {\n try {\n const style = await this.tfrShop.getStyleByBrandStyleId(this.sku)\n if (!style) {\n console.error('Style not found for brand style ID:', this.sku)\n this.sizeRecComponent.hide()\n return null\n }\n const locations = await this.tfrShop.getMeasurementLocationsFromBrandStyleId(style.id, filledLocations)\n\n return locations\n } catch (error) {\n console.error(error)\n this.sizeRecComponent.hide()\n return null\n }\n }\n }\n\n private async getRecommendedSize() {\n try {\n const colorwaySizeAsset = await this.tfrShop.getColorwaySizeAssetFromSku(this.sku)\n const sizes = await this.getRecommendedSizes(String(colorwaySizeAsset.style_id))\n this.setStyleId(colorwaySizeAsset.style_id)\n\n return sizes\n } catch (error) {\n try {\n const style = await this.tfrShop.getStyleByBrandStyleId(this.sku)\n if (!style) {\n console.error('Style not found for brand style ID:', this.sku)\n this.sizeRecComponent.hide()\n return null\n }\n const sizes = await this.getRecommendedSizes(String(style.id))\n this.setStyleId(style.id)\n\n return sizes\n } catch (error) {\n console.error(error)\n this.sizeRecComponent.hide()\n return null\n }\n }\n }\n\n private async getRecommendedSizes(styleId: string): Promise<RecommendedSize> {\n const sizeRec = await this.tfrShop.getRecommendedSizes(styleId)\n\n if (!sizeRec) return null\n\n return {\n recommended: sizeRec.recommended_size.size_value.name,\n sizes: sizeRec.fits.map((fit) => {\n return {\n size: sizeRec.available_sizes.find((size) => size.id === fit.size_id).size_value.name,\n size_id: fit.size_id,\n locations: fit.measurement_location_fits\n .map((locationFit) => {\n const fitLabel =\n typeof locationFit.fit_label === 'string' && locationFit.fit_label\n ? locationFit.fit_label\n : ShopTypes.FitNames[locationFit.fit]\n\n return {\n fit: fitLabel,\n isPerfect: this.perfectFits.includes(locationFit.fit),\n location: this.tfrShop.getMeasurementLocationName(locationFit.measurement_location),\n sortOrder: this.tfrShop.getMeasurementLocationSortOrder(locationFit.measurement_location),\n }\n })\n .sort((a, b) => (a.sortOrder < b.sortOrder ? -1 : 1)),\n }\n }),\n }\n }\n\n private setCssVariables(cssVariables: TfrCssVariables) {\n const r = document.querySelector<HTMLElement>(':root')\n\n if (cssVariables.brandColor) r.style.setProperty('--tfr-brand-color', cssVariables.brandColor)\n if (cssVariables.black) r.style.setProperty('--tfr-black', cssVariables.black)\n if (cssVariables.red) r.style.setProperty('--tfr-red', cssVariables.red)\n if (cssVariables.white) r.style.setProperty('--tfr-white', cssVariables.white)\n if (cssVariables.muted) r.style.setProperty('--tfr-muted', cssVariables.muted)\n if (cssVariables.dark) r.style.setProperty('--tfr-dark', cssVariables.dark)\n if (cssVariables.grey) r.style.setProperty('--tfr-grey', cssVariables.grey)\n if (cssVariables.lightGrey) r.style.setProperty('--tfr-light-grey', cssVariables.lightGrey)\n if (cssVariables.mainBorderColor) r.style.setProperty('--tfr-main-border-color', cssVariables.mainBorderColor)\n if (cssVariables.mainBorderRadius) r.style.setProperty('--tfr-main-border-radius', cssVariables.mainBorderRadius)\n if (cssVariables.mainBorderWidth) r.style.setProperty('--tfr-main-border-width', cssVariables.mainBorderWidth)\n if (cssVariables.mainBgColor) r.style.setProperty('--tfr-main-bg-color', cssVariables.mainBgColor)\n if (cssVariables.mainWidth) r.style.setProperty('--tfr-main-width', cssVariables.mainWidth)\n if (cssVariables.mainVPadding) r.style.setProperty('--tfr-main-v-padding', cssVariables.mainVPadding)\n if (cssVariables.mainHPadding) r.style.setProperty('--tfr-main-h-padding', cssVariables.mainHPadding)\n if (cssVariables.mainFont) r.style.setProperty('--tfr-main-font', cssVariables.mainFont)\n if (cssVariables.titleFont) r.style.setProperty('--tfr-title-font', cssVariables.titleFont)\n if (cssVariables.subtitleFont) r.style.setProperty('--tfr-subtitle-font', cssVariables.subtitleFont)\n if (cssVariables.rowFont) r.style.setProperty('--tfr-row-font', cssVariables.rowFont)\n if (cssVariables.ctaFont) r.style.setProperty('--tfr-cta-font', cssVariables.ctaFont)\n\n // Size Selector\n if (cssVariables.sizeSelectorTextColor)\n r.style.setProperty('--tfr-size-selector-text-color', cssVariables.sizeSelectorTextColor)\n if (cssVariables.sizeSelectorFontSize)\n r.style.setProperty('--tfr-size-selector-font-size', cssVariables.sizeSelectorFontSize)\n if (cssVariables.sizeSelectorFontWeight)\n r.style.setProperty('--tfr-size-selector-font-weight', cssVariables.sizeSelectorFontWeight)\n if (cssVariables.sizeSelectorBgColor)\n r.style.setProperty('--tfr-size-selector-bg-color', cssVariables.sizeSelectorBgColor)\n if (cssVariables.sizeSelectorBorderColor)\n r.style.setProperty('--tfr-size-selector-border-color', cssVariables.sizeSelectorBorderColor)\n if (cssVariables.sizeSelectorBorderWidth)\n r.style.setProperty('--tfr-size-selector-border-width', cssVariables.sizeSelectorBorderWidth)\n if (cssVariables.sizeSelectorBgColorHover)\n r.style.setProperty('--tfr-size-selector-bg-color-hover', cssVariables.sizeSelectorBgColorHover)\n if (cssVariables.sizeSelectorBgColorActive)\n r.style.setProperty('--tfr-size-selector-bg-color-active', cssVariables.sizeSelectorBgColorActive)\n if (cssVariables.sizeSelectorButtonHeight)\n r.style.setProperty('--tfr-size-selector-button-height', cssVariables.sizeSelectorButtonHeight)\n if (cssVariables.sizeSelectorButtonActiveHeight)\n r.style.setProperty('--tfr-size-selector-button-active-height', cssVariables.sizeSelectorButtonActiveHeight)\n if (cssVariables.sizeSelectorButtonActiveBorderColor)\n r.style.setProperty(\n '--tfr-size-selector-button-active-border-color',\n cssVariables.sizeSelectorButtonActiveBorderColor,\n )\n if (cssVariables.sizeSelectorButtonActiveBorderWidth)\n r.style.setProperty(\n '--tfr-size-selector-button-active-border-width',\n cssVariables.sizeSelectorButtonActiveBorderWidth,\n )\n if (cssVariables.sizeSelectorButtonRadius)\n r.style.setProperty('--tfr-size-selector-button-radius', cssVariables.sizeSelectorButtonRadius)\n if (cssVariables.sizeSelectorButtonShadow)\n r.style.setProperty('--tfr-size-selector-button-shadow', cssVariables.sizeSelectorButtonShadow)\n }\n}\n"]}
|
|
@@ -34,6 +34,10 @@ export class FittingRoom {
|
|
|
34
34
|
var _a, _b;
|
|
35
35
|
this.tfrSizeRec.setSku(sku);
|
|
36
36
|
const style = await this.getStyle(this.sku);
|
|
37
|
+
if (!style) {
|
|
38
|
+
document.getElementById('tfr-size-recommendations').style.display = 'none';
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
37
41
|
this.style = style;
|
|
38
42
|
if (!style.is_published) {
|
|
39
43
|
document.getElementById('tfr-size-recommendations').style.display = 'none';
|
|
@@ -44,10 +48,10 @@ export class FittingRoom {
|
|
|
44
48
|
}
|
|
45
49
|
console.log(`style ${style.id} virtual try on is disabled`);
|
|
46
50
|
if (style.is_vto) {
|
|
47
|
-
(_a = document.getElementById('tfr-try-on-button')) === null || _a === void 0 ? void 0 : _a.classList.remove(
|
|
51
|
+
(_a = document.getElementById('tfr-try-on-button')) === null || _a === void 0 ? void 0 : _a.classList.remove('hide');
|
|
48
52
|
}
|
|
49
53
|
else {
|
|
50
|
-
(_b = document.getElementById('tfr-try-on-button')) === null || _b === void 0 ? void 0 : _b.classList.add(
|
|
54
|
+
(_b = document.getElementById('tfr-try-on-button')) === null || _b === void 0 ? void 0 : _b.classList.add('hide');
|
|
51
55
|
}
|
|
52
56
|
if (this.isLoggedIn)
|
|
53
57
|
this.tfrSizeRec.recommendSize();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tfr.js","sourceRoot":"","sources":["../../src/tfr.ts"],"names":[],"mappings":"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","sourcesContent":["import { types as ShopTypes, TfrShop, initShop } from '@thefittingroom/sdk'\nimport { FirestoreStyleCategory } from '@thefittingroom/sdk/dist/esm/types'\n\nimport { VtoComponent } from './components/Vto'\nimport { L } from './components/locale'\nimport { validateEmail, validatePassword } from './helpers/validations'\nimport { TfrModal } from './tfr-modal'\nimport { TfrCssVariables, TfrSizeRec } from './tfr-size-rec'\nimport * as types from './types'\n\nexport interface TfrHooks {\n onLoading?: () => void\n onLoadingComplete?: () => void\n onError?: (error: string) => void\n onVtoReady?: (frames: types.TryOnFrames) => void\n onLogin?: () => void\n onLogout?: () => void\n}\n\nexport class FittingRoom {\n private isLoggedIn: boolean = false\n\n public style: FirestoreStyleCategory\n\n public readonly tfrModal: TfrModal\n public readonly tfrSizeRec: TfrSizeRec\n private readonly vtoComponent: VtoComponent\n private readonly tfrShop: TfrShop\n private unsub: () => void = null\n\n constructor(\n private readonly shopId: string | number,\n modalDivId: string,\n sizeRecMainDivId: string,\n vtoMainDivId: string,\n private readonly hooks: TfrHooks = {},\n cssVariables: TfrCssVariables,\n _env?: string,\n ) {\n // prettier-ignore\n const env = _env\n ? _env\n : typeof process !== 'undefined'\n ? process.env.NODE_ENV\n : 'dev'\n\n console.log('tfr-env', env)\n\n this.tfrModal = new TfrModal(\n modalDivId,\n this.signIn.bind(this),\n this.forgotPassword.bind(this),\n this.submitTel.bind(this),\n )\n this.tfrShop = initShop(Number(this.shopId), env)\n this.tfrSizeRec = new TfrSizeRec(\n sizeRecMainDivId,\n cssVariables,\n this.tfrShop,\n this.onSignInClick.bind(this),\n this.signOut.bind(this),\n this.onFitInfoClick.bind(this),\n this.onTryOnClick.bind(this),\n )\n\n if (vtoMainDivId) this.vtoComponent = new VtoComponent(vtoMainDivId)\n }\n\n get shop() {\n return this.tfrShop\n }\n\n get sku() {\n return this.tfrSizeRec.sku\n }\n\n public async setSku(sku: string) {\n this.tfrSizeRec.setSku(sku)\n\n const style = await this.getStyle(this.sku)\n\n if (!style) {\n document.getElementById('tfr-size-recommendations').style.display = 'none'\n\n return\n }\n\n this.style = style\n\n if (!style.is_published) {\n document.getElementById('tfr-size-recommendations').style.display = 'none'\n console.log(`style ${style.id} is not published`)\n } else {\n console.log(`style ${style.id} is published`)\n }\n\n console.log(`style ${style.id} virtual try on is disabled`)\n\n if (style.is_vto) {\n document.getElementById('tfr-try-on-button')?.classList.remove('hide')\n } else {\n document.getElementById('tfr-try-on-button')?.classList.add('hide')\n }\n\n if (this.isLoggedIn) this.tfrSizeRec.recommendSize()\n else this.setGarmentLocations(style)\n }\n\n public async onInit() {\n this.isLoggedIn = await this.tfrShop.onInit()\n this.tfrSizeRec.setIsLoggedIn(this.isLoggedIn)\n\n if (this.isLoggedIn) {\n if (this.hooks?.onLogin) this.hooks.onLogin()\n\n this.subscribeToProfileChanges()\n } else {\n if (this.hooks?.onLogout) this.hooks.onLogout()\n\n this.unsubscribeFromProfileChanges()\n }\n\n return this.isLoggedIn\n }\n\n public close() {\n this.tfrModal.close()\n }\n\n public async signOut() {\n await this.tfrShop.user.logout()\n\n if (this.hooks?.onLogout) this.hooks.onLogout()\n\n this.isLoggedIn = false\n this.tfrSizeRec.setIsLoggedIn(false)\n this.setGarmentLocations(this.style)\n this.unsubscribeFromProfileChanges()\n }\n\n public async signIn(username: string, password: string, validationError: (message: string) => void) {\n if (username.length == 0 || password.length == 0) return validationError(L.UsernameOrPasswordEmpty)\n if (!validateEmail(username)) return validationError(L.EmailError)\n if (!validatePassword(password)) return validationError(L.PasswordError)\n\n try {\n await this.tfrShop.user.login(username, password)\n\n if (this.hooks?.onLogin) this.hooks.onLogin()\n this.tfrModal.close()\n\n this.isLoggedIn = true\n this.tfrSizeRec.setIsLoggedIn(true)\n\n this.tfrSizeRec.recommendSize()\n this.subscribeToProfileChanges()\n } catch (e) {\n return validationError(L.UsernameOrPasswordIncorrect)\n }\n }\n\n public setBrandUserId(brandUserId: string | number) {\n this.tfrShop.user.setBrandUserId(brandUserId)\n }\n\n public async submitTel(tel: string) {\n try {\n await this.tfrShop.submitTelephoneNumber(tel)\n this.tfrModal.toSignIn()\n } catch {\n this.tfrModal.onError(L.SomethingWentWrong)\n }\n }\n\n public async forgotPassword(email: string) {\n await this.tfrShop.user.sendPasswordResetEmail(email)\n\n this.tfrModal.toSignIn()\n }\n\n public async passwordReset(code: string, newPassword: string) {\n await this.tfrShop.user.confirmPasswordReset(code, newPassword)\n\n this.tfrModal.toPasswordReset()\n }\n\n public async getMeasurementLocationsFromSku(sku: string) {\n return this.tfrShop.getMeasurementLocationsFromSku(sku)\n }\n\n public onSignInClick() {\n this.tfrModal.toScan()\n }\n\n public onFitInfoClick() {\n this.tfrModal.toFitInfo()\n }\n\n public async onTryOnClick(styleId: number, sizeId: number, shouldDisplay: boolean = true) {\n if (!this.vtoComponent)\n return console.error('VtoComponent is not initialized. Please check if the vtoMainDivId is correct.')\n\n const frames = await this.shop.tryOn(styleId, sizeId)\n\n if (shouldDisplay) {\n try {\n this.vtoComponent.init()\n this.vtoComponent.onNewFramesReady(frames)\n } catch (e) {\n console.error('Error initializing VTO:', e)\n this.tfrModal.onError(L.SomethingWentWrong)\n }\n }\n }\n\n private onUserProfileChange(userProfile: ShopTypes.FirestoreUser) {\n switch (userProfile.avatar_status as types.AvatarState) {\n case types.AvatarState.NOT_CREATED:\n if (this.hooks?.onError) this.hooks.onError(L.DontHaveAvatar)\n this.tfrModal.onNotCreated()\n break\n\n case types.AvatarState.PENDING:\n if (this.hooks?.onLoading) this.hooks.onLoading()\n break\n\n case types.AvatarState.CREATED:\n if (this.hooks?.onLoadingComplete) this.hooks.onLoadingComplete()\n break\n\n default:\n if (this.hooks?.onError) this.hooks.onError(L.SomethingWentWrong)\n this.tfrModal.onError(L.SomethingWentWrong)\n break\n }\n }\n\n private subscribeToProfileChanges() {\n if (this.unsub) return\n\n this.unsub = this.tfrShop.user.watchUserProfileForChanges((userProfile) => this.onUserProfileChange(userProfile))\n }\n\n private unsubscribeFromProfileChanges() {\n if (!this.unsub) return\n\n this.unsub()\n this.unsub = null\n }\n\n private async setGarmentLocations(style: FirestoreStyleCategory) {\n const filledLocations =\n style?.sizes?.[0]?.garment_measurements.map((measurement) => measurement.measurement_location) || ([] as string[])\n\n this.tfrSizeRec.setGarmentLocations(filledLocations)\n }\n\n private async getStyle(brandStyleIdOrSku: string) {\n try {\n const colorwaySizeAsset = await this.tfrShop.getColorwaySizeAssetFromSku(brandStyleIdOrSku)\n const style = await this.tfrShop.getStyle(colorwaySizeAsset.style_id)\n\n return style\n } catch (e) {\n try {\n const style = await this.tfrShop.getStyleByBrandStyleId(brandStyleIdOrSku)\n\n return style\n } catch (e2) {\n return null\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/tslib/tslib.d.ts","../src/components/slider.ts","../node_modules/@thefittingroom/sdk/dist/esm/api/requests.d.ts","../node_modules/@thefittingroom/sdk/dist/esm/api/responses.d.ts","../node_modules/@firebase/component/dist/src/provider.d.ts","../node_modules/@firebase/component/dist/src/component_container.d.ts","../node_modules/@firebase/component/dist/src/types.d.ts","../node_modules/@firebase/component/dist/src/component.d.ts","../node_modules/@firebase/component/dist/index.d.ts","../node_modules/@firebase/util/dist/util-public.d.ts","../node_modules/@firebase/logger/dist/src/logger.d.ts","../node_modules/@firebase/logger/dist/index.d.ts","../node_modules/@firebase/app/dist/app-public.d.ts","../node_modules/@firebase/firestore/dist/index.d.ts","../node_modules/firebase/firestore/dist/firestore/index.d.ts","../node_modules/firebase/app/dist/app/index.d.ts","../node_modules/@firebase/auth/dist/auth-public.d.ts","../node_modules/firebase/auth/dist/auth/index.d.ts","../node_modules/@thefittingroom/sdk/dist/esm/types/measurement.d.ts","../node_modules/@thefittingroom/sdk/dist/esm/types/index.d.ts","../node_modules/@thefittingroom/sdk/dist/esm/firebase/firebase-user.d.ts","../node_modules/@thefittingroom/sdk/dist/esm/firebase/firebase.d.ts","../node_modules/@thefittingroom/sdk/dist/esm/api/shop.d.ts","../node_modules/@thefittingroom/sdk/dist/esm/helpers/errors.d.ts","../node_modules/@thefittingroom/sdk/dist/esm/index.d.ts","../src/components/vto.ts","../src/components/uierror.ts","../src/components/locale.ts","../src/helpers/validations.ts","../src/styles/index.ts","../src/types/index.ts","../src/components/modals/errormodal.ts","../src/components/svgs.ts","../src/components/modals/fitmodal.ts","../src/components/modals/forgotpasswordmodal.ts","../src/components/modals/loadingavatarmodal.ts","../src/components/modals/loggedoutmodal.ts","../src/components/modals/modalmanager.ts","../src/components/modals/noavatarmodal.ts","../src/components/modals/resetlinkmodal.ts","../src/components/modals/scancodemodal.ts","../src/components/modals/signinmodal.ts","../src/components/modals/sizeerrormodal.ts","../src/components/modals/tryonmodal.ts","../src/components/index.ts","../src/tfr-modal.ts","../src/components/sizerec.ts","../src/tfr-size-rec.ts","../src/tfr.ts","../src/init.ts","../src/index.ts","../src/helpers/telephone.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/utility.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client-stats.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/h2c-client.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-call-history.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cache-interceptor.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/web-globals/navigator.d.ts","../node_modules/@types/node/web-globals/storage.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts"],"fileIdsList":[[57,58,60,103,154],[58,61,103,154],[53,54,55,56,103,154],[55,103,154],[53,55,56,103,154],[54,55,56,103,154],[54,103,154],[58,60,61,103,154],[59,103,154],[103,154],[52,68,70,73,103,154],[63,64,66,68,103,154],[63,69,103,154],[51,52,68,69,70,71,72,103,154],[67,103,154],[103,151,154],[103,153,154],[154],[103,154,159,188],[103,154,155,160,165,173,185,196],[103,154,155,156,165,173],[103,154,157,197],[103,154,158,159,166,174],[103,154,159,185,193],[103,154,160,162,165,173],[103,153,154,161],[103,154,162,163],[103,154,164,165],[103,153,154,165],[103,154,165,166,167,185,196],[103,154,165,166,167,180,185,188],[103,147,154,162,165,168,173,185,196],[103,154,165,166,168,169,173,185,193,196],[103,154,168,170,185,193,196],[101,102,103,104,105,106,107,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202],[103,154,165,171],[103,154,172,196],[103,154,162,165,173,185],[103,154,174],[103,154,175],[103,153,154,176],[103,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202],[103,154,178],[103,154,179],[103,154,165,180,181],[103,154,180,182,197,199],[103,154,165,185,186,188],[103,154,187,188],[103,154,185,186],[103,154,188],[103,154,189],[103,151,154,185,190],[103,154,165,191,192],[103,154,191,192],[103,154,159,173,185,193],[103,154,194],[103,154,173,195],[103,154,168,179,196],[103,154,159,197],[103,154,185,198],[103,154,172,199],[103,154,200],[103,147,154],[103,154,165,167,176,185,188,196,198,199,201],[103,154,185,202],[61,103,154],[65,103,154],[62,103,154],[103,114,117,120,121,154,196],[103,117,154,185,196],[103,117,121,154,196],[103,154,185],[103,111,154],[103,115,154],[103,113,114,117,154,196],[103,154,173,193],[103,154,203],[103,111,154,203],[103,113,117,154,173,196],[103,108,109,110,112,116,154,165,185,196],[103,117,125,154],[103,109,115,154],[103,117,141,142,154],[103,109,112,117,154,188,196,203],[103,117,154],[103,113,117,154,196],[103,108,154],[103,111,112,113,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,154],[103,117,134,137,154,162],[103,117,125,126,127,154],[103,115,117,126,128,154],[103,116,154],[103,109,111,117,154],[103,117,121,126,128,154],[103,121,154],[103,115,117,120,154,196],[103,109,113,117,125,154],[103,117,134,154],[103,111,117,141,154,188,201,203],[49,50,78,80,82,83,84,85,86,87,88,89,90,91,92,103,154],[49,75,103,154],[49,76,79,103,154],[49,79,81,103,154],[49,50,79,103,154],[49,81,103,154],[49,103,154],[49,50,103,154],[49,50,97,98,103,154],[49,96,97,103,154],[49,79,93,103,154],[49,73,95,103,154],[49,68,73,74,76,77,79,94,96,103,154],[49,73,75,79,93,103,154]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},"34052f9cb56dcffe4466aa017842749694bd482d5ea197df7ee6c1e3e054f5e6",{"version":"d2656f2108b1abcc26f7c0b2fa667d18beddd7516ce09cff30e0afdd800d499e","impliedFormat":99},{"version":"36a8b576c02becda59132d5cd8d468bd8d787024618448ef7a52284f21b3028d","impliedFormat":99},{"version":"cdbd35458f506b843f280d695d192968af4b0f27db3d5c0707934d97e96dd88d","impliedFormat":1},{"version":"0d86e751cdf42541f9b0dc579f1fad78ba02c9b57104723187d942c53bd63092","impliedFormat":1},{"version":"dae32a2a0cc5be690082fc59bd4b16ab58fc400d8802dc3073657ff4e825c48a","impliedFormat":1},{"version":"654bbcc8726e2a7a684460eda9c7d25847716587b04a72e0b88e75d828aa3db1","impliedFormat":1},{"version":"5c252941b1299551ad4f3f44ef995ee7a79585aebe2c5318271297496f2611c6","impliedFormat":1},{"version":"ca862092adc2e7df5d8244e202db4a5479bee59299ed6620773040d5e843e780","impliedFormat":1},{"version":"84ab1b8202996d370d7580cd15c85fe5981c9fd8ce4e20019de7203c8e9b594e","impliedFormat":1},{"version":"b7b58b11be801068222c596659957f4defdeec281974feb02a28d9c9ea38cd51","impliedFormat":1},{"version":"403e071e95c87cff78762cb6d0b374f28a333fd63957d542953a93cde367675f","impliedFormat":1},{"version":"973d9c7b2064204601c4361d2ea007cfd7e0f767cb7138979f79a38cf4125964","impliedFormat":1},{"version":"7656a4096d1d60bdd81b8b1909afdf0aedb36a1d97b05edf71887d023dd59ea9","impliedFormat":1},{"version":"d488bd13a9d714f30014a5f8a8df1be6b11ae3411efa63ba6643af44749bc153","impliedFormat":1},{"version":"039917782bd9cdfb0be18c3ab57d7502657e2b24fe62b3621586ab3d13dd8ae8","impliedFormat":1},{"version":"898f97b7fab287b8dd26c0f8d91fafe17bec2578645a9741ce8242f3c70ae517","impliedFormat":1},{"version":"42ce8d5949b467e6bad2c42c2e400d9d6bad0f8184daa3d68d5a36966e2de662","impliedFormat":99},{"version":"84fb1b640ed3febfe24384587e89ca28aad9c4ec055dc65dc5949ab036471ac8","impliedFormat":99},{"version":"b59823c787ddaaa379514e6203d010f1aa467bf1b65ebeb994702399ec837331","impliedFormat":99},{"version":"959c861d6d5819c9e6febcce786b8042555cc59aab201c2ade032bf7e81809dc","impliedFormat":99},{"version":"eaf8ba38e8ff427a08dac15f38ee85989367735b59f95226b397f53fc325170b","impliedFormat":99},{"version":"27d1702fa986b7cb4f1089fe2b3e6eba897c3527b8f504a349bfdd59e79d25be","impliedFormat":99},{"version":"5fee5d036fddaf5b9b729e85071491d758e5c74f4491149dab17e4637cdc679a","impliedFormat":99},"81aea26fbaf6bd613bb6d911b3ca8515b7e253ad584c35731da6efd5d7a7bf72","51beffd52b90e83f58d060f799f481d2015e0e6074f5c8e910679a664ed3ba64","4d6a2026f6d0fb98e8abc4d825603d12add1e52d77508219bd46e2ef98b70ee9","39d8e5f9bbb1a638668f86b1397e1f104119d5084761693f6d717f13755fa604","28064f281ede6530f3ace9b485142e2334612ed9797930ba8368e08c6318034e","cc86ce089e88875a30999b8bde85f208c9022de3ef20c5994f027b73a852555c","659d153ca9f12f815b882df86c324bc65133f4d06f671aa13da332ec1a5da3da","ef8b1c4cb2bb5fd81e813535f10d532e4200e7356ff4f5ec25468e8c816bc9b9","f9c8078324653e846562df3527e9c1628cb4ea1fc5730615d450c1ba46acd0fe","fe28d1c8a996936cbfeb4d25d84badae931be633cfc4fccfb41aeef6559aa933","9fd1b3c382734e4c72db4283f99d3fd7aa7c191f04980615ff7266fd3b5b5054","f99d6ef20e22b6a4a86aa79a0438f5c6a395dfd3e64e15dc07d2b7482768e67d","eb7d20ba80c695b1ae56658102096e2ccfb3ae0288e2539a94c817e636144f32","282ba73007686c1f3c7e4b9dd4122be92bb28a42a13691b01563713032a5c155","4bf2403f91dc28f0814a4a6a056f806d92bb490b0ac74162b4453ac44ae41ca8","bc1db175815cbd63b485cc00e0f5c3f1d0dabadadd407a52abc6db5cceb65dea","b69c1d90917d45c0abff0b2da0f968fea506834157397542981b4eca887f7f43","a8c98f29fb3862d3c1098866caa074596fcc661aca022752a689abe063af9ba6","0e9f25c3c1d729fa1a0f02d3c2fbe208e8d381523e16d9f82716e70efca9e17d","764a3394c169ec66650fc53ed4f132a67f36b5bd1cd92056007779a444499e1f","9288e60c4126dbd8b7de57dd9fa275d7b8080d98421667cf004aa1bf182ae311","edd204acc65e3d0ea0605c661590599e32c0d147b2793b1b5bebfe0f518a95ec","949adf7543316f3e9b349576ddf4d464bdec2c2023b1ff6e091e2531ed1b1f29","76daa983a1b9cb6303b2c4816163887693e9bd60f826f0ec7d1f0e7497de62d8","566ca36529432f86b55010a1f8012795776590a28363087ce0c88f0daf3fd720","968bfaf256c653530b59cc9a4872f0ee9b9c5274230362f0ddea4d071f6d00c8","2a40faa2b3af39ff83d1b64399ba45473546b8fbdbe935962b1396c6ddf4cbd4",{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa83e100f0c74a06c9d24f40a096c9e9cc3c02704250d01541e22c0ae9264eda","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"456fa0c0ab68731564917642b977c71c3b7682240685b118652fb9253c9a6429","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"830171b27c5fdf9bcbe4cf7d428fcf3ae2c67780fb7fbdccdf70d1623d938bc4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6310806c6aa3154773976dd083a15659d294700d9ad8f6b8a2e10c3dc461ff1","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"db39d9a16e4ddcd8a8f2b7b3292b362cc5392f92ad7ccd76f00bccf6838ac7de","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"622b67a408a881e15ab38043547563b9d29ca4b46f5b7a7e4a4fc3123d25d19f","impliedFormat":1},{"version":"2617f1d06b32c7b4dfd0a5c8bc7b5de69368ec56788c90f3d7f3e3d2f39f0253","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"bcbabfaca3f6b8a76cb2739e57710daf70ab5c9479ab70f5351c9b4932abf6bd","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"966dd0793b220e22344c944e0f15afafdc9b0c9201b6444ea0197cd176b96893","impliedFormat":1},{"version":"c54f0b30a787b3df16280f4675bd3d9d17bf983ae3cd40087409476bc50b922d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"5e9f8c1e042b0f598a9be018fc8c3cb670fe579e9f2e18e3388b63327544fe16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"e07c573ac1971ea89e2c56ff5fd096f6f7bba2e6dbcd5681d39257c8d954d4a8","impliedFormat":1},{"version":"363eedb495912790e867da6ff96e81bf792c8cfe386321e8163b71823a35719a","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"07199a85560f473f37363d8f1300fac361cda2e954caf8a40221f83a6bfa7ade","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"c9231cf03fd7e8cfd78307eecbd24ff3f0fa55d0f6d1108c4003c124d168adc4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d5d50cd0667d9710d4d2f6e077cc4e0f9dc75e106cccaea59999b36873c5a0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"f8529fe0645fd9af7441191a4961497cc7638f75a777a56248eac6a079bb275d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4445f6ce6289c5b2220398138da23752fd84152c5c95bb8b58dedefc1758c036","impliedFormat":1},{"version":"c39866300d394f45f82d3352ecfc1649aa1d5a47decdc5c76708cde15251c43d","impliedFormat":1}],"root":[50,[74,100]],"options":{"declaration":false,"emitDeclarationOnly":false,"esModuleInterop":true,"importHelpers":true,"inlineSourceMap":false,"inlineSources":true,"module":99,"noEmitHelpers":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"target":4},"referencedMap":[[61,1],[65,2],[57,3],[56,4],[54,5],[53,6],[55,7],[62,8],[60,9],[59,10],[58,10],[51,10],[52,10],[71,11],[69,12],[70,13],[72,10],[73,14],[68,15],[67,10],[151,16],[152,16],[153,17],[103,18],[154,19],[155,20],[156,21],[101,10],[157,22],[158,23],[159,24],[160,25],[161,26],[162,27],[163,27],[164,28],[165,29],[166,30],[167,31],[104,10],[102,10],[168,32],[169,33],[170,34],[203,35],[171,36],[172,37],[173,38],[174,39],[175,40],[176,41],[177,42],[178,43],[179,44],[180,45],[181,45],[182,46],[183,10],[184,10],[185,47],[187,48],[186,49],[188,50],[189,51],[190,52],[191,53],[192,54],[193,55],[194,56],[195,57],[196,58],[197,59],[198,60],[199,61],[200,62],[105,10],[106,10],[107,10],[148,63],[149,10],[150,10],[201,64],[202,65],[64,66],[66,67],[63,68],[49,10],[47,10],[48,10],[8,10],[10,10],[9,10],[2,10],[11,10],[12,10],[13,10],[14,10],[15,10],[16,10],[17,10],[18,10],[3,10],[19,10],[20,10],[4,10],[21,10],[25,10],[22,10],[23,10],[24,10],[26,10],[27,10],[28,10],[5,10],[29,10],[30,10],[31,10],[32,10],[6,10],[36,10],[33,10],[34,10],[35,10],[37,10],[7,10],[38,10],[43,10],[44,10],[39,10],[40,10],[41,10],[42,10],[1,10],[45,10],[46,10],[125,69],[136,70],[123,71],[137,72],[146,73],[114,74],[115,75],[113,76],[145,77],[140,78],[144,79],[117,80],[133,81],[116,82],[143,83],[111,84],[112,78],[118,85],[119,10],[124,86],[122,85],[109,87],[147,88],[138,89],[128,90],[127,85],[129,91],[131,92],[126,93],[130,94],[141,77],[120,95],[121,96],[132,97],[110,72],[135,98],[134,85],[139,10],[108,10],[142,99],[93,100],[76,101],[80,102],[82,103],[83,102],[84,102],[85,102],[86,102],[87,102],[88,102],[89,102],[90,102],[91,102],[92,104],[95,105],[50,106],[81,106],[75,106],[74,107],[100,106],[77,106],[99,108],[98,109],[78,106],[94,110],[96,111],[97,112],[79,113]],"semanticDiagnosticsPerFile":[[97,[{"start":2611,"length":6,"code":2339,"category":1,"messageText":"Property 'is_vto' does not exist on type 'FirestoreStyleCategory'."}]]],"version":"5.9.2"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* thefittingroom v3.2.
|
|
2
|
+
* thefittingroom v3.2.2 (2025-09-09T16:44:32.203Z)
|
|
3
3
|
* Copyright 2022-present, TheFittingRoom, Inc. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
function loadImageRecursive(imageURL, imageURLs) {
|
|
@@ -47,7 +47,7 @@ const InitImageSlider = (sliderID, onChange) => {
|
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
/*!
|
|
50
|
-
* thefittingroom v2.0.
|
|
50
|
+
* thefittingroom v2.0.8 (2025-08-04T16:23:04.367Z)
|
|
51
51
|
* Copyright 2022-present, TheFittingRoom, Inc. All rights reserved.
|
|
52
52
|
*/
|
|
53
53
|
// Code generated by tygo. DO NOT EDIT.
|
|
@@ -27445,10 +27445,21 @@ class SizeRecComponent {
|
|
|
27445
27445
|
this.tfrSizeRecommendationError.style.display = 'block';
|
|
27446
27446
|
this.tfrSizeRecommendationError.innerHTML = 'No recommended size found.';
|
|
27447
27447
|
}
|
|
27448
|
+
hide() {
|
|
27449
|
+
if (this.sizeRecMainDiv) {
|
|
27450
|
+
this.sizeRecMainDiv.style.display = 'none';
|
|
27451
|
+
}
|
|
27452
|
+
}
|
|
27453
|
+
show() {
|
|
27454
|
+
if (this.sizeRecMainDiv) {
|
|
27455
|
+
this.sizeRecMainDiv.style.display = 'block';
|
|
27456
|
+
}
|
|
27457
|
+
}
|
|
27448
27458
|
init(sizeRecMainDivId) {
|
|
27449
27459
|
const sizeRecMainDiv = document.getElementById(sizeRecMainDivId);
|
|
27450
27460
|
if (!sizeRecMainDiv)
|
|
27451
27461
|
throw new Error('Size rec main div not found');
|
|
27462
|
+
this.sizeRecMainDiv = sizeRecMainDiv;
|
|
27452
27463
|
this.render(sizeRecMainDiv);
|
|
27453
27464
|
this.setElements();
|
|
27454
27465
|
this.bindEvents();
|
|
@@ -27750,7 +27761,10 @@ class TfrSizeRec {
|
|
|
27750
27761
|
const locations = filledLocations.length > 0 ? filledLocations : await this.getGarmentLocations(filledLocations);
|
|
27751
27762
|
console.debug('locations', locations);
|
|
27752
27763
|
console.debug('filledLocations', filledLocations);
|
|
27753
|
-
|
|
27764
|
+
if (locations && locations.length > 0) {
|
|
27765
|
+
this.sizeRecComponent.show();
|
|
27766
|
+
this.sizeRecComponent.setGarmentLocations(locations);
|
|
27767
|
+
}
|
|
27754
27768
|
this.sizeRecComponent.setLoading(false);
|
|
27755
27769
|
}
|
|
27756
27770
|
async recommendSize() {
|
|
@@ -27759,9 +27773,9 @@ class TfrSizeRec {
|
|
|
27759
27773
|
if (!sizes) {
|
|
27760
27774
|
console.error('No sizes found for sku');
|
|
27761
27775
|
this.sizeRecComponent.setLoading(false);
|
|
27762
|
-
this.sizeRecComponent.setError();
|
|
27763
27776
|
return;
|
|
27764
27777
|
}
|
|
27778
|
+
this.sizeRecComponent.show();
|
|
27765
27779
|
this.sizeRecComponent.setRecommendedSize(sizes);
|
|
27766
27780
|
this.sizeRecComponent.setLoading(false);
|
|
27767
27781
|
}
|
|
@@ -27773,12 +27787,17 @@ class TfrSizeRec {
|
|
|
27773
27787
|
catch (error) {
|
|
27774
27788
|
try {
|
|
27775
27789
|
const style = await this.tfrShop.getStyleByBrandStyleId(this.sku);
|
|
27790
|
+
if (!style) {
|
|
27791
|
+
console.error('Style not found for brand style ID:', this.sku);
|
|
27792
|
+
this.sizeRecComponent.hide();
|
|
27793
|
+
return null;
|
|
27794
|
+
}
|
|
27776
27795
|
const locations = await this.tfrShop.getMeasurementLocationsFromBrandStyleId(style.id, filledLocations);
|
|
27777
27796
|
return locations;
|
|
27778
27797
|
}
|
|
27779
27798
|
catch (error) {
|
|
27780
27799
|
console.error(error);
|
|
27781
|
-
this.sizeRecComponent.
|
|
27800
|
+
this.sizeRecComponent.hide();
|
|
27782
27801
|
return null;
|
|
27783
27802
|
}
|
|
27784
27803
|
}
|
|
@@ -27793,13 +27812,18 @@ class TfrSizeRec {
|
|
|
27793
27812
|
catch (error) {
|
|
27794
27813
|
try {
|
|
27795
27814
|
const style = await this.tfrShop.getStyleByBrandStyleId(this.sku);
|
|
27815
|
+
if (!style) {
|
|
27816
|
+
console.error('Style not found for brand style ID:', this.sku);
|
|
27817
|
+
this.sizeRecComponent.hide();
|
|
27818
|
+
return null;
|
|
27819
|
+
}
|
|
27796
27820
|
const sizes = await this.getRecommendedSizes(String(style.id));
|
|
27797
27821
|
this.setStyleId(style.id);
|
|
27798
27822
|
return sizes;
|
|
27799
27823
|
}
|
|
27800
27824
|
catch (error) {
|
|
27801
27825
|
console.error(error);
|
|
27802
|
-
this.sizeRecComponent.
|
|
27826
|
+
this.sizeRecComponent.hide();
|
|
27803
27827
|
return null;
|
|
27804
27828
|
}
|
|
27805
27829
|
}
|
|
@@ -27941,6 +27965,10 @@ class FittingRoom {
|
|
|
27941
27965
|
var _a, _b;
|
|
27942
27966
|
this.tfrSizeRec.setSku(sku);
|
|
27943
27967
|
const style = await this.getStyle(this.sku);
|
|
27968
|
+
if (!style) {
|
|
27969
|
+
document.getElementById('tfr-size-recommendations').style.display = 'none';
|
|
27970
|
+
return;
|
|
27971
|
+
}
|
|
27944
27972
|
this.style = style;
|
|
27945
27973
|
if (!style.is_published) {
|
|
27946
27974
|
document.getElementById('tfr-size-recommendations').style.display = 'none';
|
|
@@ -27951,10 +27979,10 @@ class FittingRoom {
|
|
|
27951
27979
|
}
|
|
27952
27980
|
console.log(`style ${style.id} virtual try on is disabled`);
|
|
27953
27981
|
if (style.is_vto) {
|
|
27954
|
-
(_a = document.getElementById('tfr-try-on-button')) === null || _a === void 0 ? void 0 : _a.classList.remove(
|
|
27982
|
+
(_a = document.getElementById('tfr-try-on-button')) === null || _a === void 0 ? void 0 : _a.classList.remove('hide');
|
|
27955
27983
|
}
|
|
27956
27984
|
else {
|
|
27957
|
-
(_b = document.getElementById('tfr-try-on-button')) === null || _b === void 0 ? void 0 : _b.classList.add(
|
|
27985
|
+
(_b = document.getElementById('tfr-try-on-button')) === null || _b === void 0 ? void 0 : _b.classList.add('hide');
|
|
27958
27986
|
}
|
|
27959
27987
|
if (this.isLoggedIn)
|
|
27960
27988
|
this.tfrSizeRec.recommendSize();
|