@epigraph/solutions 1.11.2 → 1.11.4-pre-alpha.0
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/LICENSE +21 -21
- package/README.md +21 -21
- package/dist/epigraph-solutions.js +19 -8
- package/package.json +73 -73
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Epigraph
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Epigraph
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
A collection of solutions offered by Epigraph. The intent of this initiative to provide easy and streamlined access to the offerings we have in a single place. For now, the supported solutions are mentioned below, but more are expected to be added in the future.
|
|
2
|
-
|
|
3
|
-
## `<epigraph-button/>`
|
|
4
|
-
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-button-quickstart#/
|
|
5
|
-
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-button-knowledgebase#/
|
|
6
|
-
|
|
7
|
-
## `<epigraph-viewer/>`
|
|
8
|
-
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-viewer-quickstart#/
|
|
9
|
-
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-viewer-knowledgebase#/
|
|
10
|
-
|
|
11
|
-
## `<epigraph-tour/>`
|
|
12
|
-
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-tour-quickstart#/
|
|
13
|
-
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-tour-knowledgebase#/
|
|
14
|
-
|
|
15
|
-
## `<epigraph-previewer/>`
|
|
16
|
-
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-tour-quickstart#/
|
|
17
|
-
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-tour-knowledgebase#/
|
|
18
|
-
|
|
19
|
-
## `<epigraph-hotspot-tool/>`
|
|
20
|
-
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-tour-quickstart#/
|
|
21
|
-
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-tour-knowledgebase#/
|
|
1
|
+
A collection of solutions offered by Epigraph. The intent of this initiative to provide easy and streamlined access to the offerings we have in a single place. For now, the supported solutions are mentioned below, but more are expected to be added in the future.
|
|
2
|
+
|
|
3
|
+
## `<epigraph-button/>`
|
|
4
|
+
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-button-quickstart#/
|
|
5
|
+
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-button-knowledgebase#/
|
|
6
|
+
|
|
7
|
+
## `<epigraph-viewer/>`
|
|
8
|
+
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-viewer-quickstart#/
|
|
9
|
+
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-viewer-knowledgebase#/
|
|
10
|
+
|
|
11
|
+
## `<epigraph-tour/>`
|
|
12
|
+
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-tour-quickstart#/
|
|
13
|
+
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-tour-knowledgebase#/
|
|
14
|
+
|
|
15
|
+
## `<epigraph-previewer/>`
|
|
16
|
+
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-tour-quickstart#/
|
|
17
|
+
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-tour-knowledgebase#/
|
|
18
|
+
|
|
19
|
+
## `<epigraph-hotspot-tool/>`
|
|
20
|
+
- Quickstart Guide: https://docs.myepigraph.com/docs/epigraph-tour-quickstart#/
|
|
21
|
+
- Knowledgebase: https://docs.myepigraph.com/update/docs/epigraph-tour-knowledgebase#/
|
|
@@ -4443,7 +4443,7 @@ ${l.join(`
|
|
|
4443
4443
|
.hide {
|
|
4444
4444
|
display: none;
|
|
4445
4445
|
}
|
|
4446
|
-
`]}firstUpdated(e){super.firstUpdated(e)}static ensureFontsAreLoaded(){const e="epigraphFonts";document.head.querySelector(`#${e}`)||document.head.insertAdjacentHTML("beforeend",`<style id=${e}>${Jz}</style>`)}_getSlottedElements(e){const t=e.assignedElements();return[...t.length>0?t:e.children]}doHoverStart(){if(this.disabled)return;typeof this.onHoverStartCallback=="function"&&this.onHoverStartCallback(),this.shadowRoot?.host.classList.add("hover");const
|
|
4446
|
+
`]}firstUpdated(e){super.firstUpdated(e)}static ensureFontsAreLoaded(){const e="epigraphFonts";document.head.querySelector(`#${e}`)||document.head.insertAdjacentHTML("beforeend",`<style id=${e}>${Jz}</style>`)}_getSlottedElements(e){const t=e.assignedElements();return[...t.length>0?t:e.children]}doHoverStart(e){if(this.disabled)return;typeof this.onHoverStartCallback=="function"&&this.onHoverStartCallback(),this.shadowRoot?.host.classList.add("hover");const t=new CustomEvent("epgonhoverstart");this.dispatchEvent(t)}doHoverEnd(){if(this.disabled)return;typeof this.onHoverEndCallback=="function"&&this.onHoverEndCallback(),this.shadowRoot?.host.classList.remove("hover");const e=new CustomEvent("epgonhoverend");this.dispatchEvent(e)}doClick(){if(this.disabled)return;typeof this.onClickCallback=="function"&&this.onClickCallback();const e=new CustomEvent("epgonclick");this.dispatchEvent(e)}_showElement(e){const t=e.target;t&&(t.classList.remove("hide"),t.ariaHidden="true")}_hideElement(e){const t=e.target;t&&(t.classList.add("hide"),t.ariaHidden="true")}_showPlaceholderImage(e){const t=e.target;t&&(t.src="https://placehold.co/100")}render(){return de`
|
|
4447
4447
|
${Vt.getCustomStylesTemplate()}
|
|
4448
4448
|
`}};Hc([le({type:Boolean,attribute:Tc.disabled.name,reflect:!0})],Fo.prototype,"disabled");Hc([le({attribute:Tc.theme.name,type:String,reflect:!0})],Fo.prototype,"theme");Hc([le({attribute:Tc.size.name,type:String,reflect:!0})],Fo.prototype,"size");Hc([le({attribute:!1})],Fo.prototype,"onClickCallback");Hc([le({attribute:!1})],Fo.prototype,"onHoverStartCallback");Hc([le({attribute:!1})],Fo.prototype,"onHoverEndCallback");let dn=Fo;const mw="epg-dimension-label",zp={label:{name:"label",defaultValue:"6.5"},unitSymbol:{name:"unit-symbol",defaultValue:"”"}};var n4=Object.defineProperty,ZM=(n,e,t,i)=>{for(var s=void 0,l=n.length-1,h;l>=0;l--)(h=n[l])&&(s=h(e,t,s)||s);return s&&n4(e,t,s),s};class sy extends dn{constructor(){super(...arguments),this.label=zp.label.defaultValue.toString(),this.unitSymbol=zp.unitSymbol.defaultValue.toString()}static{this.styles=[super.styles,gt`
|
|
4449
4449
|
:host {
|
|
@@ -5044,7 +5044,10 @@ ${l.join(`
|
|
|
5044
5044
|
height: 30%;
|
|
5045
5045
|
border-radius: 50%;
|
|
5046
5046
|
background-color: white;
|
|
5047
|
-
transition:
|
|
5047
|
+
transition:
|
|
5048
|
+
width 0.2s ease-in-out,
|
|
5049
|
+
height 0.2s ease-in-out,
|
|
5050
|
+
opacity 0.2s ease-in-out;
|
|
5048
5051
|
}
|
|
5049
5052
|
|
|
5050
5053
|
:host .hotspot-ripple-circle {
|
|
@@ -5053,7 +5056,10 @@ ${l.join(`
|
|
|
5053
5056
|
border-radius: 50%;
|
|
5054
5057
|
background-color: white;
|
|
5055
5058
|
position: absolute;
|
|
5056
|
-
transition:
|
|
5059
|
+
transition:
|
|
5060
|
+
width 0.2s ease-in-out,
|
|
5061
|
+
height 0.2s ease-in-out,
|
|
5062
|
+
opacity 0.2s ease-in-out;
|
|
5057
5063
|
}
|
|
5058
5064
|
|
|
5059
5065
|
:host(:disabled) {
|
|
@@ -5103,7 +5109,7 @@ ${l.join(`
|
|
|
5103
5109
|
width: 0%;
|
|
5104
5110
|
height: 0%;
|
|
5105
5111
|
}
|
|
5106
|
-
|
|
5112
|
+
|
|
5107
5113
|
75% {
|
|
5108
5114
|
width: 100%;
|
|
5109
5115
|
height: 100%;
|
|
@@ -5113,8 +5119,13 @@ ${l.join(`
|
|
|
5113
5119
|
opacity: 0;
|
|
5114
5120
|
}
|
|
5115
5121
|
}
|
|
5116
|
-
`]}doClick(){if(this.disabled)return;this.togglable&&(this.active=!this.active),typeof this.onClickCallback=="function"&&this.onClickCallback.bind(this);const e=new CustomEvent("epgonclick");this.dispatchEvent(e)}ripple(){this.__rippleElement&&(this.__rippleElement.style.animation="none",this.__rippleElement.style.animation="ripple 1500ms ease-out")}updated(e){super.updated(e),e.has("active")&&this.shadowRoot?.host.toggleAttribute("active",this.active)}_renderTooltip(){const e=this.tooltipLabel?de`<div slot="replace-all">${this.tooltipLabel}</div>`:De;return de`
|
|
5117
|
-
<epg-tooltip
|
|
5122
|
+
`]}doClick(){if(this.disabled)return;this.togglable&&(this.active=!this.active),typeof this.onClickCallback=="function"&&this.onClickCallback.bind(this);const e=new CustomEvent("epgonclick");this.dispatchEvent(e)}doHoverStart(e){e.pointerType!=="touch"&&super.doHoverStart()}ripple(){this.__rippleElement&&(this.__rippleElement.style.animation="none",this.__rippleElement.style.animation="ripple 1500ms ease-out")}updated(e){super.updated(e),e.has("active")&&this.shadowRoot?.host.toggleAttribute("active",this.active)}_renderTooltip(){const e=this.tooltipLabel?de`<div slot="replace-all">${this.tooltipLabel}</div>`:De;return de`
|
|
5123
|
+
<epg-tooltip
|
|
5124
|
+
class="tooltip ${this.tooltipPlacement}"
|
|
5125
|
+
?disabled=${this.tooltipPlacement==="none"}
|
|
5126
|
+
placement=${this.tooltipPlacement}
|
|
5127
|
+
theme="light"
|
|
5128
|
+
>
|
|
5118
5129
|
${e}
|
|
5119
5130
|
</epg-tooltip>
|
|
5120
5131
|
`}_defaultContents(){return de`
|
|
@@ -9620,7 +9631,7 @@ Arguments: [`+R+"]"}},a.fz.prototype={k(r){return"Unsupported operation: "+this.
|
|
|
9620
9631
|
${this.__renderBody()}
|
|
9621
9632
|
</div>
|
|
9622
9633
|
</epg-modal>
|
|
9623
|
-
`}};pd([le({attribute:!1})],th.prototype,"report");pd([bi()],th.prototype,"__activeTab");pd([bi()],th.prototype,"__gpuSnapshot");pd([bi()],th.prototype,"__validationProgress");pd([kt("#validationsModal")],th.prototype,"__modalRef");let p6=th;var g6=Object.defineProperty,ut=(n,e,t,i)=>{for(var s=void 0,l=n.length-1,h;l>=0;l--)(h=n[l])&&(s=h(e,t,s)||s);return s&&g6(e,t,s),s},kl=(n=>(n.NONE="",n.SKU="sku",n.SHOPIFY_VARIANT_ID="shopify_variant_id",n.ASIN="asin",n.UPC="upc",n.PRODUCT_VARIANT_UUID="product_variant_uuid",n))(kl||{});const lt=class au extends qR{constructor(){let e=ou.PRODUCTION;super("1.11.
|
|
9634
|
+
`}};pd([le({attribute:!1})],th.prototype,"report");pd([bi()],th.prototype,"__activeTab");pd([bi()],th.prototype,"__gpuSnapshot");pd([bi()],th.prototype,"__validationProgress");pd([kt("#validationsModal")],th.prototype,"__modalRef");let p6=th;var g6=Object.defineProperty,ut=(n,e,t,i)=>{for(var s=void 0,l=n.length-1,h;l>=0;l--)(h=n[l])&&(s=h(e,t,s)||s);return s&&g6(e,t,s),s},kl=(n=>(n.NONE="",n.SKU="sku",n.SHOPIFY_VARIANT_ID="shopify_variant_id",n.ASIN="asin",n.UPC="upc",n.PRODUCT_VARIANT_UUID="product_variant_uuid",n))(kl||{});const lt=class au extends qR{constructor(){let e=ou.PRODUCTION;super("1.11.4-pre-alpha.0",e),this.isMac=/Mac/i.test(navigator.userAgent),this.epigraphWebsiteRedirectUrls={icon:"https://www.epigraph.us",modal:"https://www.epigraph.us"},this.sessionState="default",this.isAppReady=!1,this.sku=zt.sku.defaultValue.toString(),this.shopify_variant_id=zt.shopifyVariantId.defaultValue.toString(),this.upc=zt.upc.defaultValue.toString(),this.asin=zt.asin.defaultValue.toString(),this.product_variant_uuid=zt.productVariantUuid.defaultValue.toString(),this.customVersionId="",this.gaMeasurementId="",this.disableZoom=!1,this.modalView=!1,this.hide=!1,this.isLoading=!0,this.apiMode="production",this.debug=!1,this.showSettings=!1,this.dimensionsUnit=zt.dimensionsUnit.defaultValue.toString(),this.dimensionsUnitSymbol=zt.dimensionsUnitSymbol.defaultValue.toString(),this.areDimensionsActive=!1,this.areHotspotsActive=!1,this.variantSwitchMode=zt.variantSwitchMode.defaultValue.toString(),this.areCommentsActive=!1,this.isHelpVisible=!1,this.baseUrlOverride=zt.baseUrlOverride.defaultValue.toString(),this.cameraBoundsMultiplier=1,this.isPortraitOrientation=!1,this.didARAutoLaunch=!1,this.transparentBackground=!1,this.splashScreenLogo=zt.splashScreenLogo.defaultValue.toString(),this.splashScreenText=zt.splashScreenText.defaultValue.toString(),this.hideUi=!1,this.playInteractionPrompt=!1,this.featuresToEnable={viewer:!0,hotspots:!0,dimensions:!0,viewInYourSpace:!0,sceneManager:!0,comments:!1,debugManager:!1,validationsManager:!1},this._hasActiveHotspot=!1,this._isToolsetLargerThanTheLeftBottomQuadrant=!1,this._loadingProgress=0,this._loadTimeBegin=performance.now(),this._loggerContext="EPIGRAPH THREED CODE",this._epigraphAnalytics=new n2(null,null),this._identifier="",this._identifierType="",this._isDevEnv=!1,this._isStagingEnv=!1,this._productSettings=new V8,this._boundingSphereCenter=new ee,this._loaders=new wu,this._activeAnimations=new Map,this._animationFadeDurationInMiliseconds=1e3,this._isSceneInteractedWith=!1,this.__isLoadingForTheFirstTime=!0,this.__glbBlobUrl="",this.__usdzBlobUrl="",this.__hasSceneChanged=!1,this.__canvasSize={width:0,height:0},this.__raycaster=new Gv,this.__pointer=new Re,this.__viewStateGrid=new H1(40,190,0,12829635),this.__interactionPlayCount=0}static{this.webComponentName="epigraph-threed-core"}static setupWebComponent(){window.customElements.get(au.webComponentName)||window.customElements.define(au.webComponentName,au)}static{this.styles=[gt`
|
|
9624
9635
|
:host {
|
|
9625
9636
|
all: initial;
|
|
9626
9637
|
display: flex;
|
|
@@ -10592,7 +10603,7 @@ Arguments: [`+R+"]"}},a.fz.prototype={k(r){return"Unsupported operation: "+this.
|
|
|
10592
10603
|
<div class="view-in-your-space-button ${this._shouldHideToolset()?"hide":""}">
|
|
10593
10604
|
<slot name=${ap.slotCustomViewInYourSpaceButton.name} @click=${this.launchAR}></slot>
|
|
10594
10605
|
</div>
|
|
10595
|
-
`}getAllHotspotsFromScene(){const e=[];return this.sceneManager.sceneStructure.traverse(t=>{if(t instanceof Co)for(const i of t.asset.hotspots)this.hotspotsManager.addHotspot(i,!1)}),e}_repopulateHotspots(){window.epigraph.logger.info({title:"Override to repopulate hotspots in scene on identifier changes",contextOverride:this._loggerContext}),this.featuresToEnable.hotspots===!0&&this.hotspotsManager&&(this.hotspotsManager.removeAllHotspots(),this.getAllHotspotsFromScene(),this.updateHotspotsOrder(Array.from(this.hotspotsManager.hotspots.keys())))}__setupNexusAnalyticsPlugin(){const e=this._experienceData?.data?.product_data?.product?.id;e&&(this._nexusSolutionsAnalyticsPlugin||(this._nexusSolutionsAnalyticsPlugin=new JR({productId:e,identifier:this._identifier,identifierType:this._identifierType,experienceType:this._experienceData.data.session_details.type_check,renderMode:this.productSettings.render.mode,sessionId:window.epigraph.epigraphSessionId,xPath:this.xPath,solution:this.getWebComponentName(),verboseLogging:this._isDevEnv,baseUrl:Vt.resolveNexusEndpoint(this.apiMode)}),this._epigraphAnalytics.addEventPlugin(this._nexusSolutionsAnalyticsPlugin)),this._nexusSolutionsAnalyticsPlugin.setProductId(e),this._nexusSolutionsAnalyticsPlugin.setExperienceType(this._experienceData.data.session_details.type_check),this._nexusSolutionsAnalyticsPlugin.setRenderMode(this.productSettings.render.mode),this._nexusSolutionsAnalyticsPlugin.setIdentifier(this._identifier),this._nexusSolutionsAnalyticsPlugin.setIdentifierType(this._identifierType))}__setupGa4AnalyticsPlugin(){this.gaMeasurementId&&(this._ga4AnalyticsPlugin||(this._ga4AnalyticsPlugin=new KR({trackingID:this.gaMeasurementId,experienceID:this._identifier,solution:this.getWebComponentName(),verboseLogging:this._isDevEnv}),this._epigraphAnalytics.addEventPlugin(this._ga4AnalyticsPlugin)),this._ga4AnalyticsPlugin.setTrackingID(this.gaMeasurementId),this._ga4AnalyticsPlugin.setExperienceID(this._identifier),this._ga4AnalyticsPlugin.setSolution(this.getWebComponentName()))}_setupAnalyticsPlugins(){this._isDevEnv||this._isStagingEnv||(this.__setupNexusAnalyticsPlugin(),this.__setupGa4AnalyticsPlugin())}__onWebComponentResize(){if(!this.appCanvasContainerElemRef)return;const{width:e,height:t}=this.appCanvasContainerElemRef.getBoundingClientRect();if(e===0||t===0)return;this.__canvasSize.width=e,this.__canvasSize.height=t;const i=this.cameraManager?.getCameras()?.main;i&&(i.aspect=this.aspectRatio,i.updateProjectionMatrix()),this.dimensionsManager&&!this.hotspotsManager?.activeHotspot&&this.cameraManager.fitCameraToSceneBounds(!1),this.renderEngine.mainRenderer.setSize(e,t),this.renderEngine.effectsComposer.setSize(e,t),this.isPortraitOrientation=e<700;const s=e*.5,l=t*.5;if(s>230)this._isToolsetLargerThanTheLeftBottomQuadrant=!1;else{const h=this.toolsetElem?.getBoundingClientRect();if(h){const u=h.width>s,f=h.height>l;this._isToolsetLargerThanTheLeftBottomQuadrant=u||f}}this.postRenderFrameUpdateInEngine(this.renderEngine.getClockDelta()),this.eventsManager.webComponentResized.fire()}__onDimensionsPositionChanged(){this.renderEngine.updateDimensionLines(this.dimensionsManager.getCurrentDimensionsIndicatorState())}showSplashScreen(){this.splashScreenElem?.show()}hideSplashScreen(){this.splashScreenElem?.hide()}showTransitionScreen(){this.transitionScreenElem.classList.add("show")}hideTransitionScreen(){this.transitionScreenElem.classList.remove("show")}get isLoadingForTheFirstTime(){return this.__isLoadingForTheFirstTime}async _postExperienceDataInitialization(){const e=this._experienceData.productVariantCollection.getProductVariantByIdentifierAndType(this._identifier,this._identifierType);if(!e)return Promise.reject(!1);const{envMap:t,envMapRotation:i}=this.productSettings.render;await this.renderEngine.updateEnvMap(t,i);const s=await this.spawnProductVariant(e);return requestAnimationFrame(()=>this._cameraManager.updateCameraSettings(this.productSettings.camera)),s}async spawnProductVariant(e){if(!e.productParts)return Promise.reject(!1);const t=[];for(const i of e.productParts){const s=this._experienceData.getAssetCollection().getAssetByName(i.asset);s&&t.push(s)}await this.loadAllPartAssetSynchronously(t).catch(i=>(window.epigraph.logger.error({title:"Error loading one or more product part assets.",details:i,contextOverride:this._loggerContext}),Promise.reject(i)));for(const i of e.productParts)await this.__spawnProductPart(i).catch(s=>(window.epigraph.logger.error({title:`Error spawning product part "${i.asset}" (finish: ${i.finish}).`,details:s,contextOverride:this._loggerContext}),Promise.reject(s)));return Promise.resolve(!0)}async loadAllPartAssetSynchronously(e){const t=[];for(const i of e)t.push(i.load());return Promise.all(t)}async __spawnProductPart(e){if(!e.assetClass||!e.assetId)return Promise.resolve(!0);let t=this.sceneManager.sceneStructure.getEntityForAssetId(e.assetId);if(!t){const s=this._experienceData.getAssetCollection().getAssetByName(e.asset);if(!s)return window.epigraph.logger.error({title:`Asset "${e.asset}" not found in asset collection.`,contextOverride:this._loggerContext}),Promise.reject(!1);if(t=await this.spawnAssetInScene(s).catch(l=>(window.epigraph.logger.error({title:`Error while spawning asset "${e.asset}" in scene.`,details:l,contextOverride:this._loggerContext}),Promise.reject(!1))),!t)return window.epigraph.logger.error({title:`Failed to spawn asset "${e.asset}" in scene. No valid connections found for this asset.`,contextOverride:this._loggerContext}),Promise.reject(!1)}const i=e.finish;return i?(await t.selectAssetFinish(i),Promise.resolve(!0)):Promise.resolve(!1)}__showViewStateGrid(){this.renderEngine.scene.add(this.__viewStateGrid)}__hideViewStateGrid(){this.renderEngine.scene.remove(this.__viewStateGrid)}__getIntersectionsWithScene(e,t){const i=this.renderEngine.mainRenderer.domElement.getBoundingClientRect();return this.__pointer.x=(e-i.left)/i.width*2-1,this.__pointer.y=-((t-i.top)/i.height)*2+1,this.__raycaster.setFromCamera(this.__pointer,this.cameraManager.getCameras().main),this.__raycaster.intersectObjects(this.renderEngine.sceneHierarchy.sceneStructure.rootEntity.children,!0)}async __onPlayInteractionPrompt(e=2){if(!(e<=0)){this.__interactionPlayCount++,this.showCameraInteractionPromptIndicator(),await Vt.wait(800),this.cameraInteractionPromptIndicatorElemRef.style.animationIterationCount=String(e);for(let t=0;t<e;t++)this.cameraInteractionPromptIndicatorElemRef.classList.add("play-wiggle-animation"),await this.cameraManager.wiggleCamera();this.cameraInteractionPromptIndicatorElemRef.classList.remove("play-wiggle-animation"),this.hideCameraInteractionPromptIndicator(),this.shouldContinuePlayingInteractionPrompt()&&setTimeout(()=>{this.__onPlayInteractionPrompt(this.getInteractionPromptRepeat()[0])},3e3)}}async _fetchExperienceDataConfig(){return null}async _buildExperienceData(){const e=await this._fetchExperienceDataConfig();if(e===null)return await this._onAuthenticationFailed("Unable to retrieve experience data config."),Promise.reject();if(!e.success)return await this._onAuthenticationFailed(e.message),Promise.reject();this._experienceData=new Q8({nexusApiResultPayload:e.payload,appWcRef:this}),await this._experienceData.initialize();const t=this._experienceData.channelSettings.ga_measurement_id;!this.gaMeasurementId&&t&&(window.epigraph.logger.info({title:"GA Measurement ID set from experience data",details:t,contextOverride:this._loggerContext}),this.gaMeasurementId=t)}__checkIfCurrentExperienceHasIdentifier(e,t){let i=!1;switch(e){case"sku":this.experienceData?.productVariantCollection?.getProductVariantBySku(t)&&(i=!0);break;case"shopify_variant_id":this.experienceData?.productVariantCollection?.getProductVariantByShopifyVariantId(t)&&(i=!0);break;case"upc":this.experienceData?.productVariantCollection?.getProductVariantByUpc(t)&&(i=!0);break;case"asin":this.experienceData?.productVariantCollection?.getProductVariantByAsin(t)&&(i=!0);break;case"product_variant_uuid":this.experienceData?.productVariantCollection?.getProductVariantByUuid(t)&&(i=!0);break}return i}_guessesWhyTheExperienceFailed(){const e=[];return this._experienceData.getAssetCollection().hasAnyAssetWithSplat()&&!this.isSplatSession&&e.push("Render Splat provided in one of the assets. Try switching the render mode to Splat in Render Settings."),e}async _clearAndLoadNewExperienceInScene(){this._onNewExperienceLoadStart();const e=this.__checkIfCurrentExperienceHasIdentifier(this.identifierType,this.identifier);e===!1&&await this._buildExperienceData().catch(t=>(window.epigraph.logger.error({title:`Couldn't build experience data for "${this.identifierType}" - "${this.identifier}"`,details:t,contextOverride:this._loggerContext}),Promise.reject(t))),this._setupAnalyticsPlugins(),this._sendAnalyticsEventsOnModuleLoadStart(),await this._resetSession(),await this._postExperienceDataInitialization().catch(t=>Promise.reject(t)),this.parsedUrlParams.get(lu.AR)&&!this.didARAutoLaunch&&(await this.launchAR(),this.didARAutoLaunch=!0),await this._onNewExperienceLoadFinish(e)}async _onIdentifierOrTypeChange(){if(this.isAppReady){if(await this._resolveIdentifierAndType(),!this._identifier||!this._identifierType)return Promise.reject("No valid Identifier Provided! Please provide on of the following: sku, shopify-variant-id, upc, asin, product-variant-uuid");window.epigraph.logger.info({title:"IDENTIFIER CHANGED",details:`${this._identifierType} = ${this._identifier}`,contextOverride:this._loggerContext}),await this._clearAndLoadNewExperienceInScene().catch(e=>(window.epigraph.logger.error({title:"Error while clearing the session and loading a new experience.",details:e,contextOverride:this._loggerContext}),window.epigraph.logger.warn({title:"BEST GUESSES FOR FAILURE BELOW:",details:this._guessesWhyTheExperienceFailed(),contextOverride:this._loggerContext}),Promise.reject(e)))}}showCameraInteractionPromptIndicator(){this.cameraInteractionPromptIndicatorElemRef?.classList.add("show")}hideCameraInteractionPromptIndicator(){this.cameraInteractionPromptIndicatorElemRef?.classList.remove("show")}_onPlayInteractionPromptChange(){this.playInteractionPrompt?this.__onPlayInteractionPrompt(this.getInteractionPromptRepeat()[0]):(this.hideCameraInteractionPromptIndicator(),this._cameraManager?.mainCameraControls?.stop&&this._cameraManager?.mainCameraControls?.stop())}connectedCallback(){super.connectedCallback(),this._loadTimeBegin=performance.now(),this.parsedUrlParams=Vt.parseUrlForEpigraphParams(this.baseUrlOverride)}firstUpdated(){this.modalView&&(this.hide=!0),this._setup().then(()=>{window.epigraph.logger.info({title:"All Initializations Complete",contextOverride:this._loggerContext}),this.isAppReady=!0,this._onIdentifierOrTypeChange().catch(e=>{this.onLoadFailed(hu.EXPERIENCE_CONFIG_ERROR,e)})}).catch(e=>{window.epigraph.logger.error({title:"Error while setup",details:e,contextOverride:this._loggerContext}),this.onLoadFailed(hu.INITIAL_SCENE_LOAD_ERROR,e)})}updated(e){(e.has("sku")||e.has("shopify_variant_id")||e.has("upc")||e.has("asin")||e.has("product_variant_uuid")||e.has("customVersionId"))&&this._onIdentifierOrTypeChange(),e.has("playInteractionPrompt")&&this._onPlayInteractionPromptChange(),e.has("gaMeasurementId")&&this.isAppReady&&this._setupAnalyticsPlugins(),e.has("_hasActiveHotspot")&&(this._hasActiveHotspot?this._hideCustomViewInYourSpaceButton():this._showCustomViewInYourSpaceButton()),e.has("debug")&&this.eventsManager.debugChanged.fire({value:this.debug}),e.has("showSettings")&&this.eventsManager.showSettingsChanged.fire({value:this.showSettings}),e.has("modalView")&&(this.hide=this.modalView),e.has("cameraBoundsMultiplier")&&this.cameraManager.fitCameraToSceneBounds()}_getSlottedElements(e){if(!this.customViewInYourSpaceButtonSlotElem)return[];const t=e.assignedElements();return[...t.length>0?t:e.children]}disconnectedCallback(){this._renderEngine?.dispose(),super.disconnectedCallback()}showFullScreenModal(){this.hide=!1}hideFullScreenModal(){this.hide=!0}render(){return de`
|
|
10606
|
+
`}getAllHotspotsFromScene(){const e=[];return this.sceneManager.sceneStructure.traverse(t=>{if(t instanceof Co)for(const i of t.asset.hotspots)this.hotspotsManager.addHotspot(i,!1)}),e}_repopulateHotspots(){window.epigraph.logger.info({title:"Override to repopulate hotspots in scene on identifier changes",contextOverride:this._loggerContext}),this.featuresToEnable.hotspots===!0&&this.hotspotsManager&&(this.hotspotsManager.removeAllHotspots(),this.getAllHotspotsFromScene(),this.updateHotspotsOrder(Array.from(this.hotspotsManager.hotspots.keys())))}__setupNexusAnalyticsPlugin(){const e=this._experienceData?.data?.product_data?.product?.id;e&&(this._nexusSolutionsAnalyticsPlugin||(this._nexusSolutionsAnalyticsPlugin=new JR({productId:e,identifier:this._identifier,identifierType:this._identifierType,experienceType:this._experienceData.data.session_details.type_check,renderMode:this.productSettings.render.mode,sessionId:window.epigraph.epigraphSessionId,xPath:this.xPath,solution:this.getWebComponentName(),verboseLogging:this._isDevEnv,baseUrl:Vt.resolveNexusEndpoint(this.apiMode)}),this._epigraphAnalytics.addEventPlugin(this._nexusSolutionsAnalyticsPlugin)),this._nexusSolutionsAnalyticsPlugin.setProductId(e),this._nexusSolutionsAnalyticsPlugin.setExperienceType(this._experienceData.data.session_details.type_check),this._nexusSolutionsAnalyticsPlugin.setRenderMode(this.productSettings.render.mode),this._nexusSolutionsAnalyticsPlugin.setIdentifier(this._identifier),this._nexusSolutionsAnalyticsPlugin.setIdentifierType(this._identifierType))}__setupGa4AnalyticsPlugin(){this.gaMeasurementId&&(this._ga4AnalyticsPlugin||(this._ga4AnalyticsPlugin=new KR({trackingID:this.gaMeasurementId,experienceID:this._identifier,solution:this.getWebComponentName(),verboseLogging:this._isDevEnv}),this._epigraphAnalytics.addEventPlugin(this._ga4AnalyticsPlugin)),this._ga4AnalyticsPlugin.setTrackingID(this.gaMeasurementId),this._ga4AnalyticsPlugin.setExperienceID(this._identifier),this._ga4AnalyticsPlugin.setSolution(this.getWebComponentName()))}_setupAnalyticsPlugins(){this._isDevEnv||this._isStagingEnv||(this.__setupNexusAnalyticsPlugin(),this.__setupGa4AnalyticsPlugin())}__onWebComponentResize(){if(!this.appCanvasContainerElemRef)return;const{width:e,height:t}=this.appCanvasContainerElemRef.getBoundingClientRect();if(e===0||t===0)return;this.__canvasSize.width=e,this.__canvasSize.height=t;const i=this.cameraManager?.getCameras()?.main;if(i){i.aspect=this.aspectRatio,i.updateProjectionMatrix();const h=this.productSettings?.camera?.focalLength;h&&i.setFocalLength(h)}this.dimensionsManager&&!this.hotspotsManager?.activeHotspot&&this.cameraManager.fitCameraToSceneBounds(!1),this.renderEngine.mainRenderer.setSize(e,t),this.renderEngine.effectsComposer.setSize(e,t),this.isPortraitOrientation=e<700;const s=e*.5,l=t*.5;if(s>230)this._isToolsetLargerThanTheLeftBottomQuadrant=!1;else{const h=this.toolsetElem?.getBoundingClientRect();if(h){const u=h.width>s,f=h.height>l;this._isToolsetLargerThanTheLeftBottomQuadrant=u||f}}this.postRenderFrameUpdateInEngine(this.renderEngine.getClockDelta()),this.eventsManager.webComponentResized.fire()}__onDimensionsPositionChanged(){this.renderEngine.updateDimensionLines(this.dimensionsManager.getCurrentDimensionsIndicatorState())}showSplashScreen(){this.splashScreenElem?.show()}hideSplashScreen(){this.splashScreenElem?.hide()}showTransitionScreen(){this.transitionScreenElem.classList.add("show")}hideTransitionScreen(){this.transitionScreenElem.classList.remove("show")}get isLoadingForTheFirstTime(){return this.__isLoadingForTheFirstTime}async _postExperienceDataInitialization(){const e=this._experienceData.productVariantCollection.getProductVariantByIdentifierAndType(this._identifier,this._identifierType);if(!e)return Promise.reject(!1);const{envMap:t,envMapRotation:i}=this.productSettings.render;await this.renderEngine.updateEnvMap(t,i);const s=await this.spawnProductVariant(e);return requestAnimationFrame(()=>this._cameraManager.updateCameraSettings(this.productSettings.camera)),s}async spawnProductVariant(e){if(!e.productParts)return Promise.reject(!1);const t=[];for(const i of e.productParts){const s=this._experienceData.getAssetCollection().getAssetByName(i.asset);s&&t.push(s)}await this.loadAllPartAssetSynchronously(t).catch(i=>(window.epigraph.logger.error({title:"Error loading one or more product part assets.",details:i,contextOverride:this._loggerContext}),Promise.reject(i)));for(const i of e.productParts)await this.__spawnProductPart(i).catch(s=>(window.epigraph.logger.error({title:`Error spawning product part "${i.asset}" (finish: ${i.finish}).`,details:s,contextOverride:this._loggerContext}),Promise.reject(s)));return Promise.resolve(!0)}async loadAllPartAssetSynchronously(e){const t=[];for(const i of e)t.push(i.load());return Promise.all(t)}async __spawnProductPart(e){if(!e.assetClass||!e.assetId)return Promise.resolve(!0);let t=this.sceneManager.sceneStructure.getEntityForAssetId(e.assetId);if(!t){const s=this._experienceData.getAssetCollection().getAssetByName(e.asset);if(!s)return window.epigraph.logger.error({title:`Asset "${e.asset}" not found in asset collection.`,contextOverride:this._loggerContext}),Promise.reject(!1);if(t=await this.spawnAssetInScene(s).catch(l=>(window.epigraph.logger.error({title:`Error while spawning asset "${e.asset}" in scene.`,details:l,contextOverride:this._loggerContext}),Promise.reject(!1))),!t)return window.epigraph.logger.error({title:`Failed to spawn asset "${e.asset}" in scene. No valid connections found for this asset.`,contextOverride:this._loggerContext}),Promise.reject(!1)}const i=e.finish;return i?(await t.selectAssetFinish(i),Promise.resolve(!0)):Promise.resolve(!1)}__showViewStateGrid(){this.renderEngine.scene.add(this.__viewStateGrid)}__hideViewStateGrid(){this.renderEngine.scene.remove(this.__viewStateGrid)}__getIntersectionsWithScene(e,t){const i=this.renderEngine.mainRenderer.domElement.getBoundingClientRect();return this.__pointer.x=(e-i.left)/i.width*2-1,this.__pointer.y=-((t-i.top)/i.height)*2+1,this.__raycaster.setFromCamera(this.__pointer,this.cameraManager.getCameras().main),this.__raycaster.intersectObjects(this.renderEngine.sceneHierarchy.sceneStructure.rootEntity.children,!0)}async __onPlayInteractionPrompt(e=2){if(!(e<=0)){this.__interactionPlayCount++,this.showCameraInteractionPromptIndicator(),await Vt.wait(800),this.cameraInteractionPromptIndicatorElemRef.style.animationIterationCount=String(e);for(let t=0;t<e;t++)this.cameraInteractionPromptIndicatorElemRef.classList.add("play-wiggle-animation"),await this.cameraManager.wiggleCamera();this.cameraInteractionPromptIndicatorElemRef.classList.remove("play-wiggle-animation"),this.hideCameraInteractionPromptIndicator(),this.shouldContinuePlayingInteractionPrompt()&&setTimeout(()=>{this.__onPlayInteractionPrompt(this.getInteractionPromptRepeat()[0])},3e3)}}async _fetchExperienceDataConfig(){return null}async _buildExperienceData(){const e=await this._fetchExperienceDataConfig();if(e===null)return await this._onAuthenticationFailed("Unable to retrieve experience data config."),Promise.reject();if(!e.success)return await this._onAuthenticationFailed(e.message),Promise.reject();this._experienceData=new Q8({nexusApiResultPayload:e.payload,appWcRef:this}),await this._experienceData.initialize();const t=this._experienceData.channelSettings.ga_measurement_id;!this.gaMeasurementId&&t&&(window.epigraph.logger.info({title:"GA Measurement ID set from experience data",details:t,contextOverride:this._loggerContext}),this.gaMeasurementId=t)}__checkIfCurrentExperienceHasIdentifier(e,t){let i=!1;switch(e){case"sku":this.experienceData?.productVariantCollection?.getProductVariantBySku(t)&&(i=!0);break;case"shopify_variant_id":this.experienceData?.productVariantCollection?.getProductVariantByShopifyVariantId(t)&&(i=!0);break;case"upc":this.experienceData?.productVariantCollection?.getProductVariantByUpc(t)&&(i=!0);break;case"asin":this.experienceData?.productVariantCollection?.getProductVariantByAsin(t)&&(i=!0);break;case"product_variant_uuid":this.experienceData?.productVariantCollection?.getProductVariantByUuid(t)&&(i=!0);break}return i}_guessesWhyTheExperienceFailed(){const e=[];return this._experienceData.getAssetCollection().hasAnyAssetWithSplat()&&!this.isSplatSession&&e.push("Render Splat provided in one of the assets. Try switching the render mode to Splat in Render Settings."),e}async _clearAndLoadNewExperienceInScene(){this._onNewExperienceLoadStart();const e=this.__checkIfCurrentExperienceHasIdentifier(this.identifierType,this.identifier);e===!1&&await this._buildExperienceData().catch(t=>(window.epigraph.logger.error({title:`Couldn't build experience data for "${this.identifierType}" - "${this.identifier}"`,details:t,contextOverride:this._loggerContext}),Promise.reject(t))),this._setupAnalyticsPlugins(),this._sendAnalyticsEventsOnModuleLoadStart(),await this._resetSession(),await this._postExperienceDataInitialization().catch(t=>Promise.reject(t)),this.parsedUrlParams.get(lu.AR)&&!this.didARAutoLaunch&&(await this.launchAR(),this.didARAutoLaunch=!0),await this._onNewExperienceLoadFinish(e)}async _onIdentifierOrTypeChange(){if(this.isAppReady){if(await this._resolveIdentifierAndType(),!this._identifier||!this._identifierType)return Promise.reject("No valid Identifier Provided! Please provide on of the following: sku, shopify-variant-id, upc, asin, product-variant-uuid");window.epigraph.logger.info({title:"IDENTIFIER CHANGED",details:`${this._identifierType} = ${this._identifier}`,contextOverride:this._loggerContext}),await this._clearAndLoadNewExperienceInScene().catch(e=>(window.epigraph.logger.error({title:"Error while clearing the session and loading a new experience.",details:e,contextOverride:this._loggerContext}),window.epigraph.logger.warn({title:"BEST GUESSES FOR FAILURE BELOW:",details:this._guessesWhyTheExperienceFailed(),contextOverride:this._loggerContext}),Promise.reject(e)))}}showCameraInteractionPromptIndicator(){this.cameraInteractionPromptIndicatorElemRef?.classList.add("show")}hideCameraInteractionPromptIndicator(){this.cameraInteractionPromptIndicatorElemRef?.classList.remove("show")}_onPlayInteractionPromptChange(){this.playInteractionPrompt?this.__onPlayInteractionPrompt(this.getInteractionPromptRepeat()[0]):(this.hideCameraInteractionPromptIndicator(),this._cameraManager?.mainCameraControls?.stop&&this._cameraManager?.mainCameraControls?.stop())}connectedCallback(){super.connectedCallback(),this._loadTimeBegin=performance.now(),this.parsedUrlParams=Vt.parseUrlForEpigraphParams(this.baseUrlOverride)}firstUpdated(){this.modalView&&(this.hide=!0),this._setup().then(()=>{window.epigraph.logger.info({title:"All Initializations Complete",contextOverride:this._loggerContext}),this.isAppReady=!0,this._onIdentifierOrTypeChange().catch(e=>{this.onLoadFailed(hu.EXPERIENCE_CONFIG_ERROR,e)})}).catch(e=>{window.epigraph.logger.error({title:"Error while setup",details:e,contextOverride:this._loggerContext}),this.onLoadFailed(hu.INITIAL_SCENE_LOAD_ERROR,e)})}updated(e){(e.has("sku")||e.has("shopify_variant_id")||e.has("upc")||e.has("asin")||e.has("product_variant_uuid")||e.has("customVersionId"))&&this._onIdentifierOrTypeChange(),e.has("playInteractionPrompt")&&this._onPlayInteractionPromptChange(),e.has("gaMeasurementId")&&this.isAppReady&&this._setupAnalyticsPlugins(),e.has("_hasActiveHotspot")&&(this._hasActiveHotspot?this._hideCustomViewInYourSpaceButton():this._showCustomViewInYourSpaceButton()),e.has("debug")&&this.eventsManager.debugChanged.fire({value:this.debug}),e.has("showSettings")&&this.eventsManager.showSettingsChanged.fire({value:this.showSettings}),e.has("modalView")&&(this.hide=this.modalView),e.has("cameraBoundsMultiplier")&&this.cameraManager.fitCameraToSceneBounds()}_getSlottedElements(e){if(!this.customViewInYourSpaceButtonSlotElem)return[];const t=e.assignedElements();return[...t.length>0?t:e.children]}disconnectedCallback(){this._renderEngine?.dispose(),super.disconnectedCallback()}showFullScreenModal(){this.hide=!1}hideFullScreenModal(){this.hide=!0}render(){return de`
|
|
10596
10607
|
${Vt.getCustomStylesTemplate()}
|
|
10597
10608
|
|
|
10598
10609
|
<epg-button-icon
|
package/package.json
CHANGED
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@epigraph/solutions",
|
|
3
|
-
"version": "1.11.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"main": "./dist/epigraph-solutions.js",
|
|
6
|
-
"files": [
|
|
7
|
-
"dist"
|
|
8
|
-
],
|
|
9
|
-
"scripts": {
|
|
10
|
-
"component:create": "node ./npm-scripts/createNewUiComponent.js",
|
|
11
|
-
"dev": "vite --force",
|
|
12
|
-
"build:ui-components": "cross-env NODE_ENV=production && tsc && vite build --config ui-components-vite.config.ts",
|
|
13
|
-
"build:epigraph-solutions": "cross-env NODE_ENV=production && tsc && vite build",
|
|
14
|
-
"build:epigraph-previewer": "cross-env NODE_ENV=production && tsc && vite build --config epigraph-previewer-vite.config.ts",
|
|
15
|
-
"build:demo-pages": "cross-env NODE_ENV=production && tsc && vite build --config demo-pages-vite.config.ts",
|
|
16
|
-
"build": "npm run build:ui-components && npm run build:epigraph-solutions && npm run build:epigraph-previewer",
|
|
17
|
-
"docs": "typedoc ./lib/solutions/Solutions/**/*.api.ts",
|
|
18
|
-
"chromatic": "cross-env NODE_ENV=production && npx chromatic --project-token=chpt_cb7e103f37516af",
|
|
19
|
-
"preview": "vite preview",
|
|
20
|
-
"prepublishOnly": "npm run build:epigraph-solutions",
|
|
21
|
-
"storybook": "storybook dev -p 6007",
|
|
22
|
-
"build-storybook": "storybook build",
|
|
23
|
-
"format": "tsc --noEmit && prettier . --write && eslint . --fix"
|
|
24
|
-
},
|
|
25
|
-
"husky": {
|
|
26
|
-
"hooks": {
|
|
27
|
-
"pre-commit": "npm run format"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"lint-staged": {
|
|
31
|
-
"*.{js,jsx,ts,tsx,json,css,md}": [
|
|
32
|
-
"npm run format"
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
"devDependencies": {
|
|
36
|
-
"@babel/core": "^7.26.0",
|
|
37
|
-
"@chromatic-com/storybook": "^5.2.1",
|
|
38
|
-
"@epigraph/epigraph-std-lib": "5.0.0-alpha.14",
|
|
39
|
-
"@gltf-transform/functions": "^4.1.3",
|
|
40
|
-
"@google/model-viewer": "4.2.0",
|
|
41
|
-
"@storybook/addon-docs": "^10.4.6",
|
|
42
|
-
"@storybook/addon-links": "^10.4.6",
|
|
43
|
-
"@storybook/builder-vite": "^10.4.6",
|
|
44
|
-
"@storybook/web-components": "^10.4.6",
|
|
45
|
-
"@storybook/web-components-vite": "^10.4.6",
|
|
46
|
-
"@tweenjs/tween.js": "^25.0.0",
|
|
47
|
-
"@types/node": "^22.14.0",
|
|
48
|
-
"@types/three": "0.182.0",
|
|
49
|
-
"babel-loader": "^8.2.3",
|
|
50
|
-
"camera-controls": "^3.1.0",
|
|
51
|
-
"chromatic": "^17.8.0",
|
|
52
|
-
"eslint": "^9.26.0",
|
|
53
|
-
"gltf-validator": "^2.0.0-dev.3.10",
|
|
54
|
-
"inquirer": "^12.4.1",
|
|
55
|
-
"playcanvas": "^2.20.0",
|
|
56
|
-
"prettier": "^3.5.3",
|
|
57
|
-
"storybook": "^10.4.6",
|
|
58
|
-
"three": "0.182.0",
|
|
59
|
-
"typedoc": "^0.28.16",
|
|
60
|
-
"typedoc-plugin-markdown": "^4.9.0",
|
|
61
|
-
"typescript": "^5.8.2",
|
|
62
|
-
"vite": "^6.2.0",
|
|
63
|
-
"vite-plugin-dts": "^4.5.4"
|
|
64
|
-
},
|
|
65
|
-
"dependencies": {
|
|
66
|
-
"@pmndrs/vanilla": "^1.25.0",
|
|
67
|
-
"@typescript-eslint/eslint-plugin": "^8.32.1",
|
|
68
|
-
"cross-env": "^7.0.3",
|
|
69
|
-
"dompurify": "^3.2.6",
|
|
70
|
-
"lit": "^3.3.0",
|
|
71
|
-
"swiper": "^12.1.3"
|
|
72
|
-
}
|
|
73
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@epigraph/solutions",
|
|
3
|
+
"version": "1.11.4-pre-alpha.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/epigraph-solutions.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"component:create": "node ./npm-scripts/createNewUiComponent.js",
|
|
11
|
+
"dev": "vite --force",
|
|
12
|
+
"build:ui-components": "cross-env NODE_ENV=production && tsc && vite build --config ui-components-vite.config.ts",
|
|
13
|
+
"build:epigraph-solutions": "cross-env NODE_ENV=production && tsc && vite build",
|
|
14
|
+
"build:epigraph-previewer": "cross-env NODE_ENV=production && tsc && vite build --config epigraph-previewer-vite.config.ts",
|
|
15
|
+
"build:demo-pages": "cross-env NODE_ENV=production && tsc && vite build --config demo-pages-vite.config.ts",
|
|
16
|
+
"build": "npm run build:ui-components && npm run build:epigraph-solutions && npm run build:epigraph-previewer",
|
|
17
|
+
"docs": "typedoc ./lib/solutions/Solutions/**/*.api.ts",
|
|
18
|
+
"chromatic": "cross-env NODE_ENV=production && npx chromatic --project-token=chpt_cb7e103f37516af",
|
|
19
|
+
"preview": "vite preview",
|
|
20
|
+
"prepublishOnly": "npm run build:epigraph-solutions",
|
|
21
|
+
"storybook": "storybook dev -p 6007",
|
|
22
|
+
"build-storybook": "storybook build",
|
|
23
|
+
"format": "tsc --noEmit && prettier . --write && eslint . --fix"
|
|
24
|
+
},
|
|
25
|
+
"husky": {
|
|
26
|
+
"hooks": {
|
|
27
|
+
"pre-commit": "npm run format"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"lint-staged": {
|
|
31
|
+
"*.{js,jsx,ts,tsx,json,css,md}": [
|
|
32
|
+
"npm run format"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@babel/core": "^7.26.0",
|
|
37
|
+
"@chromatic-com/storybook": "^5.2.1",
|
|
38
|
+
"@epigraph/epigraph-std-lib": "5.0.0-alpha.14",
|
|
39
|
+
"@gltf-transform/functions": "^4.1.3",
|
|
40
|
+
"@google/model-viewer": "4.2.0",
|
|
41
|
+
"@storybook/addon-docs": "^10.4.6",
|
|
42
|
+
"@storybook/addon-links": "^10.4.6",
|
|
43
|
+
"@storybook/builder-vite": "^10.4.6",
|
|
44
|
+
"@storybook/web-components": "^10.4.6",
|
|
45
|
+
"@storybook/web-components-vite": "^10.4.6",
|
|
46
|
+
"@tweenjs/tween.js": "^25.0.0",
|
|
47
|
+
"@types/node": "^22.14.0",
|
|
48
|
+
"@types/three": "0.182.0",
|
|
49
|
+
"babel-loader": "^8.2.3",
|
|
50
|
+
"camera-controls": "^3.1.0",
|
|
51
|
+
"chromatic": "^17.8.0",
|
|
52
|
+
"eslint": "^9.26.0",
|
|
53
|
+
"gltf-validator": "^2.0.0-dev.3.10",
|
|
54
|
+
"inquirer": "^12.4.1",
|
|
55
|
+
"playcanvas": "^2.20.0",
|
|
56
|
+
"prettier": "^3.5.3",
|
|
57
|
+
"storybook": "^10.4.6",
|
|
58
|
+
"three": "0.182.0",
|
|
59
|
+
"typedoc": "^0.28.16",
|
|
60
|
+
"typedoc-plugin-markdown": "^4.9.0",
|
|
61
|
+
"typescript": "^5.8.2",
|
|
62
|
+
"vite": "^6.2.0",
|
|
63
|
+
"vite-plugin-dts": "^4.5.4"
|
|
64
|
+
},
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"@pmndrs/vanilla": "^1.25.0",
|
|
67
|
+
"@typescript-eslint/eslint-plugin": "^8.32.1",
|
|
68
|
+
"cross-env": "^7.0.3",
|
|
69
|
+
"dompurify": "^3.2.6",
|
|
70
|
+
"lit": "^3.3.0",
|
|
71
|
+
"swiper": "^12.1.3"
|
|
72
|
+
}
|
|
73
|
+
}
|