@dtducas/wh-forge-viewer 1.0.1 → 1.0.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/dist/index.esm.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { message } from 'antd';
2
2
  import { useEffect, useState } from 'react';
3
+ import { jsx } from 'react/jsx-runtime';
3
4
 
4
5
  function _arrayLikeToArray(r, a) {
5
6
  (null == a || a > r.length) && (a = r.length);
@@ -627,19 +628,20 @@ var ViewerForgePDF = function ViewerForgePDF(_ref) {
627
628
  })));
628
629
  }
629
630
  }, [status, filePath, fileExt, setViewer]);
630
- return /*#__PURE__*/React.createElement("div", {
631
+ return /*#__PURE__*/jsx("div", {
631
632
  style: {
632
633
  position: 'relative',
633
634
  width: '100%',
634
635
  height: '100%'
635
- }
636
- }, /*#__PURE__*/React.createElement("div", {
637
- id: "forgeViewerPDF",
638
- style: {
639
- width: '100%',
640
- height: '100%'
641
- }
642
- }));
636
+ },
637
+ children: /*#__PURE__*/jsx("div", {
638
+ id: "forgeViewerPDF",
639
+ style: {
640
+ width: '100%',
641
+ height: '100%'
642
+ }
643
+ })
644
+ });
643
645
  };
644
646
 
645
647
  export { ViewerForgePDF };
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/extensions/ToolbarExtension.js","../src/hooks/useCss.js","../src/hooks/useScript.js","../node_modules/style-inject/dist/style-inject.es.js","../src/components/ViewerForgePDF.jsx"],"sourcesContent":["export function registerToolbarExtension(Autodesk) {\n function ToolbarExtension(viewer, options) {\n Autodesk.Viewing.Extension.call(this, viewer, options);\n this.viewer = viewer;\n this.subToolbar = null;\n this.paginationGroup = null;\n this.viewables = [];\n this.currentIndex = 0;\n }\n ToolbarExtension.prototype = Object.create(\n Autodesk.Viewing.Extension.prototype\n );\n ToolbarExtension.prototype.constructor = ToolbarExtension;\n ToolbarExtension.prototype.load = function () {\n return true;\n };\n ToolbarExtension.prototype.unload = function () {\n this.cleanupToolbar();\n return true;\n };\n ToolbarExtension.prototype.cleanupToolbar = function () {\n if (this.viewer.toolbar) {\n if (this.subToolbar) {\n this.viewer.toolbar.removeControl(this.subToolbar);\n this.subToolbar = null;\n }\n if (this.paginationGroup) {\n this.viewer.toolbar.removeControl(this.paginationGroup);\n this.paginationGroup = null;\n }\n }\n };\n ToolbarExtension.prototype.setViewables = function (viewables) {\n this.viewables = viewables;\n this.currentIndex = 0;\n this.updatePaginationState();\n this.viewer.addEventListener(Autodesk.Viewing.MODEL_ADDED_EVENT, (e) => {\n this.updateCurrentIndexFromModel();\n });\n };\n ToolbarExtension.prototype.updateCurrentIndexFromModel = function () {\n if (!this.viewer.model || this.viewables.length === 0) return;\n const currentNode = this.viewer.model.getDocumentNode();\n if (currentNode) {\n const currentGuid = currentNode.data.guid || currentNode.guid;\n console.log('Checking Page Index. Current Node GUID:', currentGuid);\n const index = this.viewables.findIndex((v) => {\n const vGuid = v.data && v.data.guid ? v.data.guid : v.guid;\n return vGuid === currentGuid;\n });\n console.log(\n 'Found index:',\n index,\n 'Current stored index:',\n this.currentIndex\n );\n if (index !== -1) {\n this.currentIndex = index;\n }\n this.updatePaginationState();\n }\n };\n ToolbarExtension.prototype.updatePaginationState = function () {\n if (!this.paginationGroup) return;\n const totalBtn = this.paginationGroup.getControl('total-page-label');\n if (totalBtn) {\n const current = this.viewables.length > 0 ? this.currentIndex + 1 : 0;\n const total = this.viewables.length;\n totalBtn.setToolTip(`Page ${current} of ${total}`);\n const domElem = totalBtn.container;\n if (domElem) {\n domElem.innerHTML = `<div style=\"display: flex; align-items: center; justify-content: center; height: 100%; padding: 0 10px; color: white; font-size: 14px; white-space: nowrap;\">${current} / ${total}</div>`;\n }\n console.log(`Pagination updated: Page ${current} of ${total}`);\n }\n };\n ToolbarExtension.prototype.loadCurrentViewable = function () {\n if (this.viewables.length > 0 && this.viewables[this.currentIndex]) {\n const viewer = this.viewer;\n const toolbar = viewer.toolbar;\n viewer\n .loadDocumentNode(\n viewer.model.getDocumentNode().getDocument(),\n this.viewables[this.currentIndex]\n )\n .then(() => {\n console.log('Model loaded, re-applying toolbar customization');\n const defaultGroups = ['settingsTools', 'modelTools', 'navTools'];\n defaultGroups.forEach((id) => {\n const group = toolbar.getControl(id);\n if (group) group.setVisible(false);\n });\n const toolGroupExists = toolbar.getControl('custom-tool-group');\n const paginationGroupExists = toolbar.getControl(\n 'custom-pagination-group'\n );\n if (!toolGroupExists && this.subToolbar) {\n toolbar.addControl(this.subToolbar);\n }\n if (!paginationGroupExists && this.paginationGroup) {\n toolbar.addControl(this.paginationGroup);\n }\n if (this.subToolbar) this.subToolbar.setVisible(true);\n if (this.paginationGroup) this.paginationGroup.setVisible(true);\n toolbar.setVisible(true);\n this.updatePaginationState();\n })\n .catch((err) => console.error('Error loading viewable:', err));\n }\n };\n ToolbarExtension.prototype.onToolbarCreated = function (toolbar) {\n this.refreshToolbar();\n this.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, () => {\n setTimeout(() => {\n console.log('GEOMETRY_LOADED Event - Refreshing Toolbar');\n this.refreshToolbar();\n this.updateCurrentIndexFromModel();\n }, 100);\n });\n this.viewer.addEventListener(Autodesk.Viewing.TOOLBAR_CREATED_EVENT, () => {\n setTimeout(() => {\n console.log('TOOLBAR_CREATED Event - Refreshing Toolbar');\n this.refreshToolbar();\n }, 10);\n });\n if (this._toolbarInterval) clearInterval(this._toolbarInterval);\n this._toolbarInterval = setInterval(() => {\n if (this.viewer && this.viewer.toolbar) {\n const toolGroup = this.viewer.toolbar.getControl('custom-tool-group');\n const pagGroup = this.viewer.toolbar.getControl(\n 'custom-pagination-group'\n );\n if (!toolGroup || !pagGroup) {\n console.log('Polling found missing toolbar groups - restoring...');\n this.refreshToolbar();\n }\n }\n }, 200);\n };\n const originalUnload = ToolbarExtension.prototype.unload;\n ToolbarExtension.prototype.unload = function () {\n if (this._toolbarInterval) {\n clearInterval(this._toolbarInterval);\n this._toolbarInterval = null;\n }\n return originalUnload.call(this);\n };\n ToolbarExtension.prototype.refreshToolbar = function () {\n const viewer = this.viewer;\n const toolbar = viewer.toolbar;\n if (!toolbar) return;\n const defaultGroups = ['settingsTools', 'modelTools', 'navTools'];\n defaultGroups.forEach((id) => {\n const group = toolbar.getControl(id);\n if (group) {\n group.setVisible(false);\n if (group.container) {\n group.container.style.display = 'none';\n }\n }\n });\n let toolGroup = toolbar.getControl('custom-tool-group');\n let pagGroup = toolbar.getControl('custom-pagination-group');\n if (!toolGroup) {\n console.log('Custom Tool Group missing, recreating...');\n if (this.subToolbar) {\n this.subToolbar = null;\n }\n this.createToolGroup(toolbar);\n } else {\n toolGroup.setVisible(true);\n this.subToolbar = toolGroup;\n }\n if (!pagGroup) {\n console.log('Custom Pagination Group missing, recreating...');\n if (this.paginationGroup) {\n this.paginationGroup = null;\n }\n this.createPaginationGroup(toolbar);\n } else {\n pagGroup.setVisible(true);\n this.paginationGroup = pagGroup;\n }\n toolbar.setVisible(true);\n this.updatePaginationState();\n };\n ToolbarExtension.prototype.createToolGroup = function (toolbar) {\n const viewer = this.viewer;\n this.subToolbar = new Autodesk.Viewing.UI.ControlGroup('custom-tool-group');\n toolbar.addControl(this.subToolbar);\n const panBtn = new Autodesk.Viewing.UI.Button('custom-pan-btn');\n panBtn.setIcon('adsk-icon-pan');\n panBtn.setToolTip('Pan');\n panBtn.onClick = () => viewer.setTool('pan');\n this.subToolbar.addControl(panBtn);\n const docBrowserBtn = new Autodesk.Viewing.UI.Button(\n 'custom-doc-browser-btn'\n );\n docBrowserBtn.setIcon('adsk-icon-documentModels');\n docBrowserBtn.setToolTip('Document Browser');\n docBrowserBtn.onClick = () => {\n const ext = viewer.getExtension('Autodesk.DocumentBrowser');\n if (ext && ext.ui) ext.ui.togglePanel();\n };\n this.subToolbar.addControl(docBrowserBtn);\n const downloadBtn = new Autodesk.Viewing.UI.Button('custom-download-btn');\n downloadBtn.setIcon('adsk-icon-custom-download');\n downloadBtn.setToolTip('Download File');\n downloadBtn.onClick = () => {\n if (this.options && this.options.filePath) {\n const a = document.createElement('a');\n a.href = this.options.filePath;\n a.download = '';\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n } else {\n console.warn('FilePath not available in extension options');\n }\n };\n this.subToolbar.addControl(downloadBtn);\n };\n ToolbarExtension.prototype.createPaginationGroup = function (toolbar) {\n this.paginationGroup = new Autodesk.Viewing.UI.ControlGroup(\n 'custom-pagination-group'\n );\n toolbar.addControl(this.paginationGroup);\n const prevBtn = new Autodesk.Viewing.UI.Button('prev-page-btn');\n prevBtn.setIcon('adsk-icon-custom-prev');\n prevBtn.addClass('custom-prev-btn');\n prevBtn.setToolTip('Previous Page');\n prevBtn.onClick = () => {\n if (this.viewables.length > 0) {\n this.currentIndex =\n (this.currentIndex - 1 + this.viewables.length) %\n this.viewables.length;\n this.loadCurrentViewable();\n }\n };\n this.paginationGroup.addControl(prevBtn);\n const labelBtn = new Autodesk.Viewing.UI.Button('total-page-label');\n labelBtn.setToolTip('Page info');\n this.paginationGroup.addControl(labelBtn);\n const nextBtn = new Autodesk.Viewing.UI.Button('next-page-btn');\n nextBtn.setIcon('adsk-icon-custom-next');\n nextBtn.addClass('custom-next-btn');\n nextBtn.setToolTip('Next Page');\n nextBtn.onClick = () => {\n if (this.viewables.length > 0) {\n this.currentIndex = (this.currentIndex + 1) % this.viewables.length;\n this.loadCurrentViewable();\n }\n };\n this.paginationGroup.addControl(nextBtn);\n };\n Autodesk.Viewing.theExtensionManager.registerExtension(\n 'ToolbarExtension',\n ToolbarExtension\n );\n}\n","import { useEffect } from 'react';\n\nconst useCss = (href) => {\n useEffect(() => {\n if (!href) return;\n const link = document.createElement('link');\n link.href = href;\n link.rel = 'stylesheet';\n document.head.appendChild(link);\n\n return () => {\n document.head.removeChild(link);\n };\n }, [href]);\n};\n\nexport default useCss;\n","import { useEffect, useState } from 'react';\nconst scriptCache = new Set();\nconst useScript = (src) => {\n const [status, setStatus] = useState(src ? 'loading' : 'idle');\n useEffect(() => {\n if (!src) {\n setStatus('idle');\n return;\n }\n if (scriptCache.has(src)) {\n setStatus('ready');\n return;\n }\n let script = document.querySelector(`script[src=\"${src}\"]`);\n if (!script) {\n script = document.createElement('script');\n script.src = src;\n script.async = true;\n script.setAttribute('data-status', 'loading');\n document.body.appendChild(script);\n const setAttributeFromEvent = (event) => {\n const attribute = event.type === 'load' ? 'ready' : 'error';\n script?.setAttribute('data-status', attribute);\n if (attribute === 'ready') scriptCache.add(src);\n setStatus(attribute);\n };\n script.addEventListener('load', setAttributeFromEvent);\n script.addEventListener('error', setAttributeFromEvent);\n } else {\n setStatus(script.getAttribute('data-status'));\n }\n const setStateFromEvent = (event) => {\n setStatus(event.type === 'load' ? 'ready' : 'error');\n };\n script.addEventListener('load', setStateFromEvent);\n script.addEventListener('error', setStateFromEvent);\n return () => {\n if (script) {\n script.removeEventListener('load', setStateFromEvent);\n script.removeEventListener('error', setStateFromEvent);\n }\n };\n }, [src]);\n return status;\n};\nexport default useScript;\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { message } from 'antd';\nimport { useEffect } from 'react';\nimport { registerToolbarExtension } from '../extensions/ToolbarExtension';\nimport useCss from '../hooks/useCss';\nimport useScript from '../hooks/useScript';\nimport '../styles/toolbar-custom.css';\nimport '../styles/toolbar-icons.css';\nconst ViewerForgePDF = ({ filePath, fileExt, setViewer }) => {\n useCss(\n 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css'\n );\n const status = useScript(\n 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js'\n );\n useEffect(() => {\n if (status === 'ready' && window.Autodesk) {\n const Autodesk = window.Autodesk;\n if (!fileExt) {\n message.warning('You need to provide file extension');\n return;\n }\n const validExts = ['pdf', 'dwf', 'dwfx'];\n if (!validExts.includes(fileExt.toLowerCase())) {\n message.warning('Only support pdf, dwf, dwfx format');\n return;\n }\n Autodesk.Viewing.Initializer({ env: 'Local' }, async () => {\n registerToolbarExtension(Autodesk);\n const viewerDiv = document.getElementById('forgeViewerPDF');\n viewerDiv.innerHTML = '';\n const viewer = new Autodesk.Viewing.GuiViewer3D(viewerDiv);\n viewer.start();\n viewer.loadExtension('Autodesk.DocumentBrowser');\n viewer.loadExtension('Autodesk.Viewing.MarkupsCore');\n viewer.loadExtension('Autodesk.Viewing.MarkupsGui');\n viewer.loadExtension('ToolbarExtension', { filePath: filePath });\n viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (e) => {\n e.target.loadExtension('Autodesk.Viewing.MarkupsCore');\n e.target.loadExtension('Autodesk.Viewing.MarkupsGui');\n });\n const isDWF =\n fileExt.toLowerCase() === 'pdf' ? 'Autodesk.PDF' : 'Autodesk.DWF';\n await viewer.loadExtension(isDWF);\n const handleLoadSuccess = (e) => {\n try {\n viewer.setReverseZoomDirection(true);\n const root = e.getDocumentNode().getRootNode();\n const view3d = root.search(\n { type: 'geometry', role: '3d', progress: 'complete' },\n true\n );\n const view2d = root.search(\n { type: 'geometry', role: '2d', progress: 'complete' },\n true\n );\n const viewables = view3d.concat(view2d);\n const toolbarExt = viewer.getExtension('ToolbarExtension');\n if (toolbarExt && typeof toolbarExt.setViewables === 'function') {\n toolbarExt.setViewables(viewables);\n }\n if (viewer.toolbar) {\n viewer.toolbar.setVisible(true);\n console.log('Toolbar forced visible');\n }\n if (viewables.length > 1) {\n const documentBrowser = viewer.getExtension(\n 'Autodesk.DocumentBrowser'\n );\n if (documentBrowser) {\n if (documentBrowser.ui.panel) {\n documentBrowser.ui.panel.container.style.top = 0;\n documentBrowser.ui.panel.container.style.left = 'unset';\n documentBrowser.ui.panel.container.style.right = '0px';\n documentBrowser.ui.panel.container.style.width = '200px';\n }\n }\n }\n if (setViewer) setViewer(viewer);\n } catch (err) {\n console.error('Error in handleLoadSuccess:', err);\n }\n };\n if (isDWF === 'Autodesk.DWF') {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', filePath, true);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n if (this.status === 200) {\n const myBlob = this.response;\n const url1 = window.URL.createObjectURL(myBlob);\n viewer.loadModel(url1 + '#.dwf', {}, handleLoadSuccess);\n }\n };\n xhr.send();\n } else {\n viewer.loadModel(filePath, {}, handleLoadSuccess);\n }\n });\n }\n }, [status, filePath, fileExt, setViewer]);\n return (\n <div style={{ position: 'relative', width: '100%', height: '100%' }}>\n <div id='forgeViewerPDF' style={{ width: '100%', height: '100%' }} />\n </div>\n );\n};\nexport default ViewerForgePDF;\n"],"names":["registerToolbarExtension","Autodesk","ToolbarExtension","viewer","options","Viewing","Extension","call","subToolbar","paginationGroup","viewables","currentIndex","prototype","Object","create","constructor","load","unload","cleanupToolbar","toolbar","removeControl","setViewables","_this","updatePaginationState","addEventListener","MODEL_ADDED_EVENT","e","updateCurrentIndexFromModel","model","length","currentNode","getDocumentNode","currentGuid","data","guid","console","log","index","findIndex","v","vGuid","totalBtn","getControl","current","total","setToolTip","concat","domElem","container","innerHTML","loadCurrentViewable","_this2","loadDocumentNode","getDocument","then","defaultGroups","forEach","id","group","setVisible","toolGroupExists","paginationGroupExists","addControl","err","error","onToolbarCreated","_this3","refreshToolbar","GEOMETRY_LOADED_EVENT","setTimeout","TOOLBAR_CREATED_EVENT","_toolbarInterval","clearInterval","setInterval","toolGroup","pagGroup","originalUnload","style","display","createToolGroup","createPaginationGroup","_this4","UI","ControlGroup","panBtn","Button","setIcon","onClick","setTool","docBrowserBtn","ext","getExtension","ui","togglePanel","downloadBtn","filePath","a","document","createElement","href","download","body","appendChild","click","removeChild","warn","_this5","prevBtn","addClass","labelBtn","nextBtn","theExtensionManager","registerExtension","useCss","useEffect","link","rel","head","scriptCache","Set","useScript","src","_useState","useState","_useState2","_slicedToArray","status","setStatus","has","script","querySelector","async","setAttribute","setAttributeFromEvent","event","_script","attribute","type","add","getAttribute","setStateFromEvent","removeEventListener","ViewerForgePDF","_ref","fileExt","setViewer","window","message","warning","validExts","includes","toLowerCase","Initializer","env","_asyncToGenerator","_regenerator","m","_callee","viewerDiv","isDWF","handleLoadSuccess","xhr","w","_context","n","getElementById","GuiViewer3D","start","loadExtension","target","setReverseZoomDirection","root","getRootNode","view3d","search","role","progress","view2d","toolbarExt","documentBrowser","panel","top","left","right","width","XMLHttpRequest","open","responseType","onload","myBlob","response","url1","URL","createObjectURL","loadModel","send","React","position","height"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,SAASA,wBAAwBA,CAACC,QAAQ,EAAE;AACjD,EAAA,SAASC,gBAAgBA,CAACC,MAAM,EAAEC,OAAO,EAAE;AACzCH,IAAAA,QAAQ,CAACI,OAAO,CAACC,SAAS,CAACC,IAAI,CAAC,IAAI,EAAEJ,MAAM,EAAEC,OAAO,CAAC,CAAA;IACtD,IAAI,CAACD,MAAM,GAAGA,MAAM,CAAA;IACpB,IAAI,CAACK,UAAU,GAAG,IAAI,CAAA;IACtB,IAAI,CAACC,eAAe,GAAG,IAAI,CAAA;IAC3B,IAAI,CAACC,SAAS,GAAG,EAAE,CAAA;IACnB,IAAI,CAACC,YAAY,GAAG,CAAC,CAAA;AACvB,GAAA;AACAT,EAAAA,gBAAgB,CAACU,SAAS,GAAGC,MAAM,CAACC,MAAM,CACxCb,QAAQ,CAACI,OAAO,CAACC,SAAS,CAACM,SAC7B,CAAC,CAAA;AACDV,EAAAA,gBAAgB,CAACU,SAAS,CAACG,WAAW,GAAGb,gBAAgB,CAAA;AACzDA,EAAAA,gBAAgB,CAACU,SAAS,CAACI,IAAI,GAAG,YAAY;AAC5C,IAAA,OAAO,IAAI,CAAA;GACZ,CAAA;AACDd,EAAAA,gBAAgB,CAACU,SAAS,CAACK,MAAM,GAAG,YAAY;IAC9C,IAAI,CAACC,cAAc,EAAE,CAAA;AACrB,IAAA,OAAO,IAAI,CAAA;GACZ,CAAA;AACDhB,EAAAA,gBAAgB,CAACU,SAAS,CAACM,cAAc,GAAG,YAAY;AACtD,IAAA,IAAI,IAAI,CAACf,MAAM,CAACgB,OAAO,EAAE;MACvB,IAAI,IAAI,CAACX,UAAU,EAAE;QACnB,IAAI,CAACL,MAAM,CAACgB,OAAO,CAACC,aAAa,CAAC,IAAI,CAACZ,UAAU,CAAC,CAAA;QAClD,IAAI,CAACA,UAAU,GAAG,IAAI,CAAA;AACxB,OAAA;MACA,IAAI,IAAI,CAACC,eAAe,EAAE;QACxB,IAAI,CAACN,MAAM,CAACgB,OAAO,CAACC,aAAa,CAAC,IAAI,CAACX,eAAe,CAAC,CAAA;QACvD,IAAI,CAACA,eAAe,GAAG,IAAI,CAAA;AAC7B,OAAA;AACF,KAAA;GACD,CAAA;AACDP,EAAAA,gBAAgB,CAACU,SAAS,CAACS,YAAY,GAAG,UAAUX,SAAS,EAAE;AAAA,IAAA,IAAAY,KAAA,GAAA,IAAA,CAAA;IAC7D,IAAI,CAACZ,SAAS,GAAGA,SAAS,CAAA;IAC1B,IAAI,CAACC,YAAY,GAAG,CAAC,CAAA;IACrB,IAAI,CAACY,qBAAqB,EAAE,CAAA;AAC5B,IAAA,IAAI,CAACpB,MAAM,CAACqB,gBAAgB,CAACvB,QAAQ,CAACI,OAAO,CAACoB,iBAAiB,EAAE,UAACC,CAAC,EAAK;MACtEJ,KAAI,CAACK,2BAA2B,EAAE,CAAA;AACpC,KAAC,CAAC,CAAA;GACH,CAAA;AACDzB,EAAAA,gBAAgB,CAACU,SAAS,CAACe,2BAA2B,GAAG,YAAY;AACnE,IAAA,IAAI,CAAC,IAAI,CAACxB,MAAM,CAACyB,KAAK,IAAI,IAAI,CAAClB,SAAS,CAACmB,MAAM,KAAK,CAAC,EAAE,OAAA;IACvD,IAAMC,WAAW,GAAG,IAAI,CAAC3B,MAAM,CAACyB,KAAK,CAACG,eAAe,EAAE,CAAA;AACvD,IAAA,IAAID,WAAW,EAAE;MACf,IAAME,WAAW,GAAGF,WAAW,CAACG,IAAI,CAACC,IAAI,IAAIJ,WAAW,CAACI,IAAI,CAAA;AAC7DC,MAAAA,OAAO,CAACC,GAAG,CAAC,yCAAyC,EAAEJ,WAAW,CAAC,CAAA;MACnE,IAAMK,KAAK,GAAG,IAAI,CAAC3B,SAAS,CAAC4B,SAAS,CAAC,UAACC,CAAC,EAAK;QAC5C,IAAMC,KAAK,GAAGD,CAAC,CAACN,IAAI,IAAIM,CAAC,CAACN,IAAI,CAACC,IAAI,GAAGK,CAAC,CAACN,IAAI,CAACC,IAAI,GAAGK,CAAC,CAACL,IAAI,CAAA;QAC1D,OAAOM,KAAK,KAAKR,WAAW,CAAA;AAC9B,OAAC,CAAC,CAAA;AACFG,MAAAA,OAAO,CAACC,GAAG,CACT,cAAc,EACdC,KAAK,EACL,uBAAuB,EACvB,IAAI,CAAC1B,YACP,CAAC,CAAA;AACD,MAAA,IAAI0B,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,IAAI,CAAC1B,YAAY,GAAG0B,KAAK,CAAA;AAC3B,OAAA;MACA,IAAI,CAACd,qBAAqB,EAAE,CAAA;AAC9B,KAAA;GACD,CAAA;AACDrB,EAAAA,gBAAgB,CAACU,SAAS,CAACW,qBAAqB,GAAG,YAAY;AAC7D,IAAA,IAAI,CAAC,IAAI,CAACd,eAAe,EAAE,OAAA;IAC3B,IAAMgC,QAAQ,GAAG,IAAI,CAAChC,eAAe,CAACiC,UAAU,CAAC,kBAAkB,CAAC,CAAA;AACpE,IAAA,IAAID,QAAQ,EAAE;AACZ,MAAA,IAAME,OAAO,GAAG,IAAI,CAACjC,SAAS,CAACmB,MAAM,GAAG,CAAC,GAAG,IAAI,CAAClB,YAAY,GAAG,CAAC,GAAG,CAAC,CAAA;AACrE,MAAA,IAAMiC,KAAK,GAAG,IAAI,CAAClC,SAAS,CAACmB,MAAM,CAAA;MACnCY,QAAQ,CAACI,UAAU,CAAA,OAAA,CAAAC,MAAA,CAASH,OAAO,EAAA,MAAA,CAAA,CAAAG,MAAA,CAAOF,KAAK,CAAE,CAAC,CAAA;AAClD,MAAA,IAAMG,OAAO,GAAGN,QAAQ,CAACO,SAAS,CAAA;AAClC,MAAA,IAAID,OAAO,EAAE;QACXA,OAAO,CAACE,SAAS,GAAA,iKAAA,CAAAH,MAAA,CAAmKH,OAAO,EAAAG,KAAAA,CAAAA,CAAAA,MAAA,CAAMF,KAAK,EAAQ,QAAA,CAAA,CAAA;AAChN,OAAA;MACAT,OAAO,CAACC,GAAG,CAAA,2BAAA,CAAAU,MAAA,CAA6BH,OAAO,EAAA,MAAA,CAAA,CAAAG,MAAA,CAAOF,KAAK,CAAE,CAAC,CAAA;AAChE,KAAA;GACD,CAAA;AACD1C,EAAAA,gBAAgB,CAACU,SAAS,CAACsC,mBAAmB,GAAG,YAAY;AAAA,IAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;AAC3D,IAAA,IAAI,IAAI,CAACzC,SAAS,CAACmB,MAAM,GAAG,CAAC,IAAI,IAAI,CAACnB,SAAS,CAAC,IAAI,CAACC,YAAY,CAAC,EAAE;AAClE,MAAA,IAAMR,MAAM,GAAG,IAAI,CAACA,MAAM,CAAA;AAC1B,MAAA,IAAMgB,OAAO,GAAGhB,MAAM,CAACgB,OAAO,CAAA;MAC9BhB,MAAM,CACHiD,gBAAgB,CACfjD,MAAM,CAACyB,KAAK,CAACG,eAAe,EAAE,CAACsB,WAAW,EAAE,EAC5C,IAAI,CAAC3C,SAAS,CAAC,IAAI,CAACC,YAAY,CAClC,CAAC,CACA2C,IAAI,CAAC,YAAM;AACVnB,QAAAA,OAAO,CAACC,GAAG,CAAC,iDAAiD,CAAC,CAAA;QAC9D,IAAMmB,aAAa,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;AACjEA,QAAAA,aAAa,CAACC,OAAO,CAAC,UAACC,EAAE,EAAK;AAC5B,UAAA,IAAMC,KAAK,GAAGvC,OAAO,CAACuB,UAAU,CAACe,EAAE,CAAC,CAAA;AACpC,UAAA,IAAIC,KAAK,EAAEA,KAAK,CAACC,UAAU,CAAC,KAAK,CAAC,CAAA;AACpC,SAAC,CAAC,CAAA;AACF,QAAA,IAAMC,eAAe,GAAGzC,OAAO,CAACuB,UAAU,CAAC,mBAAmB,CAAC,CAAA;AAC/D,QAAA,IAAMmB,qBAAqB,GAAG1C,OAAO,CAACuB,UAAU,CAC9C,yBACF,CAAC,CAAA;AACD,QAAA,IAAI,CAACkB,eAAe,IAAIT,MAAI,CAAC3C,UAAU,EAAE;AACvCW,UAAAA,OAAO,CAAC2C,UAAU,CAACX,MAAI,CAAC3C,UAAU,CAAC,CAAA;AACrC,SAAA;AACA,QAAA,IAAI,CAACqD,qBAAqB,IAAIV,MAAI,CAAC1C,eAAe,EAAE;AAClDU,UAAAA,OAAO,CAAC2C,UAAU,CAACX,MAAI,CAAC1C,eAAe,CAAC,CAAA;AAC1C,SAAA;QACA,IAAI0C,MAAI,CAAC3C,UAAU,EAAE2C,MAAI,CAAC3C,UAAU,CAACmD,UAAU,CAAC,IAAI,CAAC,CAAA;QACrD,IAAIR,MAAI,CAAC1C,eAAe,EAAE0C,MAAI,CAAC1C,eAAe,CAACkD,UAAU,CAAC,IAAI,CAAC,CAAA;AAC/DxC,QAAAA,OAAO,CAACwC,UAAU,CAAC,IAAI,CAAC,CAAA;QACxBR,MAAI,CAAC5B,qBAAqB,EAAE,CAAA;AAC9B,OAAC,CAAC,CAAA,OAAA,CACI,CAAC,UAACwC,GAAG,EAAA;AAAA,QAAA,OAAK5B,OAAO,CAAC6B,KAAK,CAAC,yBAAyB,EAAED,GAAG,CAAC,CAAA;OAAC,CAAA,CAAA;AAClE,KAAA;GACD,CAAA;AACD7D,EAAAA,gBAAgB,CAACU,SAAS,CAACqD,gBAAgB,GAAG,UAAU9C,OAAO,EAAE;AAAA,IAAA,IAAA+C,MAAA,GAAA,IAAA,CAAA;IAC/D,IAAI,CAACC,cAAc,EAAE,CAAA;IACrB,IAAI,CAAChE,MAAM,CAACqB,gBAAgB,CAACvB,QAAQ,CAACI,OAAO,CAAC+D,qBAAqB,EAAE,YAAM;AACzEC,MAAAA,UAAU,CAAC,YAAM;AACflC,QAAAA,OAAO,CAACC,GAAG,CAAC,4CAA4C,CAAC,CAAA;QACzD8B,MAAI,CAACC,cAAc,EAAE,CAAA;QACrBD,MAAI,CAACvC,2BAA2B,EAAE,CAAA;OACnC,EAAE,GAAG,CAAC,CAAA;AACT,KAAC,CAAC,CAAA;IACF,IAAI,CAACxB,MAAM,CAACqB,gBAAgB,CAACvB,QAAQ,CAACI,OAAO,CAACiE,qBAAqB,EAAE,YAAM;AACzED,MAAAA,UAAU,CAAC,YAAM;AACflC,QAAAA,OAAO,CAACC,GAAG,CAAC,4CAA4C,CAAC,CAAA;QACzD8B,MAAI,CAACC,cAAc,EAAE,CAAA;OACtB,EAAE,EAAE,CAAC,CAAA;AACR,KAAC,CAAC,CAAA;IACF,IAAI,IAAI,CAACI,gBAAgB,EAAEC,aAAa,CAAC,IAAI,CAACD,gBAAgB,CAAC,CAAA;AAC/D,IAAA,IAAI,CAACA,gBAAgB,GAAGE,WAAW,CAAC,YAAM;MACxC,IAAIP,MAAI,CAAC/D,MAAM,IAAI+D,MAAI,CAAC/D,MAAM,CAACgB,OAAO,EAAE;QACtC,IAAMuD,SAAS,GAAGR,MAAI,CAAC/D,MAAM,CAACgB,OAAO,CAACuB,UAAU,CAAC,mBAAmB,CAAC,CAAA;QACrE,IAAMiC,QAAQ,GAAGT,MAAI,CAAC/D,MAAM,CAACgB,OAAO,CAACuB,UAAU,CAC7C,yBACF,CAAC,CAAA;AACD,QAAA,IAAI,CAACgC,SAAS,IAAI,CAACC,QAAQ,EAAE;AAC3BxC,UAAAA,OAAO,CAACC,GAAG,CAAC,qDAAqD,CAAC,CAAA;UAClE8B,MAAI,CAACC,cAAc,EAAE,CAAA;AACvB,SAAA;AACF,OAAA;KACD,EAAE,GAAG,CAAC,CAAA;GACR,CAAA;AACD,EAAA,IAAMS,cAAc,GAAG1E,gBAAgB,CAACU,SAAS,CAACK,MAAM,CAAA;AACxDf,EAAAA,gBAAgB,CAACU,SAAS,CAACK,MAAM,GAAG,YAAY;IAC9C,IAAI,IAAI,CAACsD,gBAAgB,EAAE;AACzBC,MAAAA,aAAa,CAAC,IAAI,CAACD,gBAAgB,CAAC,CAAA;MACpC,IAAI,CAACA,gBAAgB,GAAG,IAAI,CAAA;AAC9B,KAAA;AACA,IAAA,OAAOK,cAAc,CAACrE,IAAI,CAAC,IAAI,CAAC,CAAA;GACjC,CAAA;AACDL,EAAAA,gBAAgB,CAACU,SAAS,CAACuD,cAAc,GAAG,YAAY;AACtD,IAAA,IAAMhE,MAAM,GAAG,IAAI,CAACA,MAAM,CAAA;AAC1B,IAAA,IAAMgB,OAAO,GAAGhB,MAAM,CAACgB,OAAO,CAAA;IAC9B,IAAI,CAACA,OAAO,EAAE,OAAA;IACd,IAAMoC,aAAa,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;AACjEA,IAAAA,aAAa,CAACC,OAAO,CAAC,UAACC,EAAE,EAAK;AAC5B,MAAA,IAAMC,KAAK,GAAGvC,OAAO,CAACuB,UAAU,CAACe,EAAE,CAAC,CAAA;AACpC,MAAA,IAAIC,KAAK,EAAE;AACTA,QAAAA,KAAK,CAACC,UAAU,CAAC,KAAK,CAAC,CAAA;QACvB,IAAID,KAAK,CAACV,SAAS,EAAE;AACnBU,UAAAA,KAAK,CAACV,SAAS,CAAC6B,KAAK,CAACC,OAAO,GAAG,MAAM,CAAA;AACxC,SAAA;AACF,OAAA;AACF,KAAC,CAAC,CAAA;AACF,IAAA,IAAIJ,SAAS,GAAGvD,OAAO,CAACuB,UAAU,CAAC,mBAAmB,CAAC,CAAA;AACvD,IAAA,IAAIiC,QAAQ,GAAGxD,OAAO,CAACuB,UAAU,CAAC,yBAAyB,CAAC,CAAA;IAC5D,IAAI,CAACgC,SAAS,EAAE;AACdvC,MAAAA,OAAO,CAACC,GAAG,CAAC,0CAA0C,CAAC,CAAA;MACvD,IAAI,IAAI,CAAC5B,UAAU,EAAE;QACnB,IAAI,CAACA,UAAU,GAAG,IAAI,CAAA;AACxB,OAAA;AACA,MAAA,IAAI,CAACuE,eAAe,CAAC5D,OAAO,CAAC,CAAA;AAC/B,KAAC,MAAM;AACLuD,MAAAA,SAAS,CAACf,UAAU,CAAC,IAAI,CAAC,CAAA;MAC1B,IAAI,CAACnD,UAAU,GAAGkE,SAAS,CAAA;AAC7B,KAAA;IACA,IAAI,CAACC,QAAQ,EAAE;AACbxC,MAAAA,OAAO,CAACC,GAAG,CAAC,gDAAgD,CAAC,CAAA;MAC7D,IAAI,IAAI,CAAC3B,eAAe,EAAE;QACxB,IAAI,CAACA,eAAe,GAAG,IAAI,CAAA;AAC7B,OAAA;AACA,MAAA,IAAI,CAACuE,qBAAqB,CAAC7D,OAAO,CAAC,CAAA;AACrC,KAAC,MAAM;AACLwD,MAAAA,QAAQ,CAAChB,UAAU,CAAC,IAAI,CAAC,CAAA;MACzB,IAAI,CAAClD,eAAe,GAAGkE,QAAQ,CAAA;AACjC,KAAA;AACAxD,IAAAA,OAAO,CAACwC,UAAU,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,CAACpC,qBAAqB,EAAE,CAAA;GAC7B,CAAA;AACDrB,EAAAA,gBAAgB,CAACU,SAAS,CAACmE,eAAe,GAAG,UAAU5D,OAAO,EAAE;AAAA,IAAA,IAAA8D,MAAA,GAAA,IAAA,CAAA;AAC9D,IAAA,IAAM9E,MAAM,GAAG,IAAI,CAACA,MAAM,CAAA;AAC1B,IAAA,IAAI,CAACK,UAAU,GAAG,IAAIP,QAAQ,CAACI,OAAO,CAAC6E,EAAE,CAACC,YAAY,CAAC,mBAAmB,CAAC,CAAA;AAC3EhE,IAAAA,OAAO,CAAC2C,UAAU,CAAC,IAAI,CAACtD,UAAU,CAAC,CAAA;AACnC,IAAA,IAAM4E,MAAM,GAAG,IAAInF,QAAQ,CAACI,OAAO,CAAC6E,EAAE,CAACG,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAC/DD,IAAAA,MAAM,CAACE,OAAO,CAAC,eAAe,CAAC,CAAA;AAC/BF,IAAAA,MAAM,CAACvC,UAAU,CAAC,KAAK,CAAC,CAAA;IACxBuC,MAAM,CAACG,OAAO,GAAG,YAAA;AAAA,MAAA,OAAMpF,MAAM,CAACqF,OAAO,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA,CAAA;AAC5C,IAAA,IAAI,CAAChF,UAAU,CAACsD,UAAU,CAACsB,MAAM,CAAC,CAAA;AAClC,IAAA,IAAMK,aAAa,GAAG,IAAIxF,QAAQ,CAACI,OAAO,CAAC6E,EAAE,CAACG,MAAM,CAClD,wBACF,CAAC,CAAA;AACDI,IAAAA,aAAa,CAACH,OAAO,CAAC,0BAA0B,CAAC,CAAA;AACjDG,IAAAA,aAAa,CAAC5C,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAC5C4C,aAAa,CAACF,OAAO,GAAG,YAAM;AAC5B,MAAA,IAAMG,GAAG,GAAGvF,MAAM,CAACwF,YAAY,CAAC,0BAA0B,CAAC,CAAA;AAC3D,MAAA,IAAID,GAAG,IAAIA,GAAG,CAACE,EAAE,EAAEF,GAAG,CAACE,EAAE,CAACC,WAAW,EAAE,CAAA;KACxC,CAAA;AACD,IAAA,IAAI,CAACrF,UAAU,CAACsD,UAAU,CAAC2B,aAAa,CAAC,CAAA;AACzC,IAAA,IAAMK,WAAW,GAAG,IAAI7F,QAAQ,CAACI,OAAO,CAAC6E,EAAE,CAACG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AACzES,IAAAA,WAAW,CAACR,OAAO,CAAC,2BAA2B,CAAC,CAAA;AAChDQ,IAAAA,WAAW,CAACjD,UAAU,CAAC,eAAe,CAAC,CAAA;IACvCiD,WAAW,CAACP,OAAO,GAAG,YAAM;MAC1B,IAAIN,MAAI,CAAC7E,OAAO,IAAI6E,MAAI,CAAC7E,OAAO,CAAC2F,QAAQ,EAAE;AACzC,QAAA,IAAMC,CAAC,GAAGC,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC,CAAA;AACrCF,QAAAA,CAAC,CAACG,IAAI,GAAGlB,MAAI,CAAC7E,OAAO,CAAC2F,QAAQ,CAAA;QAC9BC,CAAC,CAACI,QAAQ,GAAG,EAAE,CAAA;AACfH,QAAAA,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,CAAC,CAAC,CAAA;QAC5BA,CAAC,CAACO,KAAK,EAAE,CAAA;AACTN,QAAAA,QAAQ,CAACI,IAAI,CAACG,WAAW,CAACR,CAAC,CAAC,CAAA;AAC9B,OAAC,MAAM;AACL7D,QAAAA,OAAO,CAACsE,IAAI,CAAC,6CAA6C,CAAC,CAAA;AAC7D,OAAA;KACD,CAAA;AACD,IAAA,IAAI,CAACjG,UAAU,CAACsD,UAAU,CAACgC,WAAW,CAAC,CAAA;GACxC,CAAA;AACD5F,EAAAA,gBAAgB,CAACU,SAAS,CAACoE,qBAAqB,GAAG,UAAU7D,OAAO,EAAE;AAAA,IAAA,IAAAuF,MAAA,GAAA,IAAA,CAAA;AACpE,IAAA,IAAI,CAACjG,eAAe,GAAG,IAAIR,QAAQ,CAACI,OAAO,CAAC6E,EAAE,CAACC,YAAY,CACzD,yBACF,CAAC,CAAA;AACDhE,IAAAA,OAAO,CAAC2C,UAAU,CAAC,IAAI,CAACrD,eAAe,CAAC,CAAA;AACxC,IAAA,IAAMkG,OAAO,GAAG,IAAI1G,QAAQ,CAACI,OAAO,CAAC6E,EAAE,CAACG,MAAM,CAAC,eAAe,CAAC,CAAA;AAC/DsB,IAAAA,OAAO,CAACrB,OAAO,CAAC,uBAAuB,CAAC,CAAA;AACxCqB,IAAAA,OAAO,CAACC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AACnCD,IAAAA,OAAO,CAAC9D,UAAU,CAAC,eAAe,CAAC,CAAA;IACnC8D,OAAO,CAACpB,OAAO,GAAG,YAAM;AACtB,MAAA,IAAImB,MAAI,CAAChG,SAAS,CAACmB,MAAM,GAAG,CAAC,EAAE;QAC7B6E,MAAI,CAAC/F,YAAY,GACf,CAAC+F,MAAI,CAAC/F,YAAY,GAAG,CAAC,GAAG+F,MAAI,CAAChG,SAAS,CAACmB,MAAM,IAC9C6E,MAAI,CAAChG,SAAS,CAACmB,MAAM,CAAA;QACvB6E,MAAI,CAACxD,mBAAmB,EAAE,CAAA;AAC5B,OAAA;KACD,CAAA;AACD,IAAA,IAAI,CAACzC,eAAe,CAACqD,UAAU,CAAC6C,OAAO,CAAC,CAAA;AACxC,IAAA,IAAME,QAAQ,GAAG,IAAI5G,QAAQ,CAACI,OAAO,CAAC6E,EAAE,CAACG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AACnEwB,IAAAA,QAAQ,CAAChE,UAAU,CAAC,WAAW,CAAC,CAAA;AAChC,IAAA,IAAI,CAACpC,eAAe,CAACqD,UAAU,CAAC+C,QAAQ,CAAC,CAAA;AACzC,IAAA,IAAMC,OAAO,GAAG,IAAI7G,QAAQ,CAACI,OAAO,CAAC6E,EAAE,CAACG,MAAM,CAAC,eAAe,CAAC,CAAA;AAC/DyB,IAAAA,OAAO,CAACxB,OAAO,CAAC,uBAAuB,CAAC,CAAA;AACxCwB,IAAAA,OAAO,CAACF,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AACnCE,IAAAA,OAAO,CAACjE,UAAU,CAAC,WAAW,CAAC,CAAA;IAC/BiE,OAAO,CAACvB,OAAO,GAAG,YAAM;AACtB,MAAA,IAAImB,MAAI,CAAChG,SAAS,CAACmB,MAAM,GAAG,CAAC,EAAE;AAC7B6E,QAAAA,MAAI,CAAC/F,YAAY,GAAG,CAAC+F,MAAI,CAAC/F,YAAY,GAAG,CAAC,IAAI+F,MAAI,CAAChG,SAAS,CAACmB,MAAM,CAAA;QACnE6E,MAAI,CAACxD,mBAAmB,EAAE,CAAA;AAC5B,OAAA;KACD,CAAA;AACD,IAAA,IAAI,CAACzC,eAAe,CAACqD,UAAU,CAACgD,OAAO,CAAC,CAAA;GACzC,CAAA;EACD7G,QAAQ,CAACI,OAAO,CAAC0G,mBAAmB,CAACC,iBAAiB,CACpD,kBAAkB,EAClB9G,gBACF,CAAC,CAAA;AACH;;ACjQA,IAAM+G,MAAM,GAAG,SAATA,MAAMA,CAAId,IAAI,EAAK;AACvBe,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACf,IAAI,EAAE,OAAA;AACX,IAAA,IAAMgB,IAAI,GAAGlB,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3CiB,IAAI,CAAChB,IAAI,GAAGA,IAAI,CAAA;IAChBgB,IAAI,CAACC,GAAG,GAAG,YAAY,CAAA;AACvBnB,IAAAA,QAAQ,CAACoB,IAAI,CAACf,WAAW,CAACa,IAAI,CAAC,CAAA;AAE/B,IAAA,OAAO,YAAM;AACXlB,MAAAA,QAAQ,CAACoB,IAAI,CAACb,WAAW,CAACW,IAAI,CAAC,CAAA;KAChC,CAAA;AACH,GAAC,EAAE,CAAChB,IAAI,CAAC,CAAC,CAAA;AACZ,CAAC;;ACbD,IAAMmB,WAAW,GAAG,IAAIC,GAAG,EAAE,CAAA;AAC7B,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,GAAG,EAAK;EACzB,IAAAC,SAAA,GAA4BC,QAAQ,CAACF,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;IAAAG,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AACxBV,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACO,GAAG,EAAE;MACRM,SAAS,CAAC,MAAM,CAAC,CAAA;AACjB,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAIT,WAAW,CAACU,GAAG,CAACP,GAAG,CAAC,EAAE;MACxBM,SAAS,CAAC,OAAO,CAAC,CAAA;AAClB,MAAA,OAAA;AACF,KAAA;IACA,IAAIE,MAAM,GAAGhC,QAAQ,CAACiC,aAAa,iBAAApF,MAAA,CAAgB2E,GAAG,EAAA,KAAA,CAAI,CAAC,CAAA;IAC3D,IAAI,CAACQ,MAAM,EAAE;AACXA,MAAAA,MAAM,GAAGhC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC,CAAA;MACzC+B,MAAM,CAACR,GAAG,GAAGA,GAAG,CAAA;MAChBQ,MAAM,CAACE,KAAK,GAAG,IAAI,CAAA;AACnBF,MAAAA,MAAM,CAACG,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;AAC7CnC,MAAAA,QAAQ,CAACI,IAAI,CAACC,WAAW,CAAC2B,MAAM,CAAC,CAAA;AACjC,MAAA,IAAMI,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,KAAK,EAAK;AAAA,QAAA,IAAAC,OAAA,CAAA;QACvC,IAAMC,SAAS,GAAGF,KAAK,CAACG,IAAI,KAAK,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAC3D,QAAA,CAAAF,OAAA,GAAAN,MAAM,MAAA,IAAA,IAAAM,OAAA,KAAA,KAAA,CAAA,IAANA,OAAA,CAAQH,YAAY,CAAC,aAAa,EAAEI,SAAS,CAAC,CAAA;QAC9C,IAAIA,SAAS,KAAK,OAAO,EAAElB,WAAW,CAACoB,GAAG,CAACjB,GAAG,CAAC,CAAA;QAC/CM,SAAS,CAACS,SAAS,CAAC,CAAA;OACrB,CAAA;AACDP,MAAAA,MAAM,CAACzG,gBAAgB,CAAC,MAAM,EAAE6G,qBAAqB,CAAC,CAAA;AACtDJ,MAAAA,MAAM,CAACzG,gBAAgB,CAAC,OAAO,EAAE6G,qBAAqB,CAAC,CAAA;AACzD,KAAC,MAAM;AACLN,MAAAA,SAAS,CAACE,MAAM,CAACU,YAAY,CAAC,aAAa,CAAC,CAAC,CAAA;AAC/C,KAAA;AACA,IAAA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIN,KAAK,EAAK;MACnCP,SAAS,CAACO,KAAK,CAACG,IAAI,KAAK,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,CAAA;KACrD,CAAA;AACDR,IAAAA,MAAM,CAACzG,gBAAgB,CAAC,MAAM,EAAEoH,iBAAiB,CAAC,CAAA;AAClDX,IAAAA,MAAM,CAACzG,gBAAgB,CAAC,OAAO,EAAEoH,iBAAiB,CAAC,CAAA;AACnD,IAAA,OAAO,YAAM;AACX,MAAA,IAAIX,MAAM,EAAE;AACVA,QAAAA,MAAM,CAACY,mBAAmB,CAAC,MAAM,EAAED,iBAAiB,CAAC,CAAA;AACrDX,QAAAA,MAAM,CAACY,mBAAmB,CAAC,OAAO,EAAED,iBAAiB,CAAC,CAAA;AACxD,OAAA;KACD,CAAA;AACH,GAAC,EAAE,CAACnB,GAAG,CAAC,CAAC,CAAA;AACT,EAAA,OAAOK,MAAM,CAAA;AACf,CAAC;;AC5CD,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;;;;AClBA,IAAMgB,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAyC;AAAA,EAAA,IAAnChD,QAAQ,GAAAgD,IAAA,CAARhD,QAAQ;IAAEiD,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS,CAAA;EACpDhC,MAAM,CACJ,iFACF,CAAC,CAAA;AACD,EAAA,IAAMa,MAAM,GAAGN,SAAS,CACtB,mFACF,CAAC,CAAA;AACDN,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIY,MAAM,KAAK,OAAO,IAAIoB,MAAM,CAACjJ,QAAQ,EAAE;AACzC,MAAA,IAAMA,QAAQ,GAAGiJ,MAAM,CAACjJ,QAAQ,CAAA;MAChC,IAAI,CAAC+I,OAAO,EAAE;AACZG,QAAAA,OAAO,CAACC,OAAO,CAAC,oCAAoC,CAAC,CAAA;AACrD,QAAA,OAAA;AACF,OAAA;MACA,IAAMC,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;MACxC,IAAI,CAACA,SAAS,CAACC,QAAQ,CAACN,OAAO,CAACO,WAAW,EAAE,CAAC,EAAE;AAC9CJ,QAAAA,OAAO,CAACC,OAAO,CAAC,oCAAoC,CAAC,CAAA;AACrD,QAAA,OAAA;AACF,OAAA;AACAnJ,MAAAA,QAAQ,CAACI,OAAO,CAACmJ,WAAW,CAAC;AAAEC,QAAAA,GAAG,EAAE,OAAA;OAAS,eAAAC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAE,SAAAC,OAAA,GAAA;QAAA,IAAAC,SAAA,EAAA3J,MAAA,EAAA4J,KAAA,EAAAC,iBAAA,EAAAC,GAAA,CAAA;AAAA,QAAA,OAAAN,YAAA,EAAA,CAAAO,CAAA,CAAA,UAAAC,QAAA,EAAA;UAAA,OAAAA,CAAAA,EAAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,YAAA,KAAA,CAAA;cAC7CpK,wBAAwB,CAACC,QAAQ,CAAC,CAAA;AAC5B6J,cAAAA,SAAS,GAAG7D,QAAQ,CAACoE,cAAc,CAAC,gBAAgB,CAAC,CAAA;cAC3DP,SAAS,CAAC7G,SAAS,GAAG,EAAE,CAAA;cAClB9C,MAAM,GAAG,IAAIF,QAAQ,CAACI,OAAO,CAACiK,WAAW,CAACR,SAAS,CAAC,CAAA;cAC1D3J,MAAM,CAACoK,KAAK,EAAE,CAAA;AACdpK,cAAAA,MAAM,CAACqK,aAAa,CAAC,0BAA0B,CAAC,CAAA;AAChDrK,cAAAA,MAAM,CAACqK,aAAa,CAAC,8BAA8B,CAAC,CAAA;AACpDrK,cAAAA,MAAM,CAACqK,aAAa,CAAC,6BAA6B,CAAC,CAAA;AACnDrK,cAAAA,MAAM,CAACqK,aAAa,CAAC,kBAAkB,EAAE;AAAEzE,gBAAAA,QAAQ,EAAEA,QAAAA;AAAS,eAAC,CAAC,CAAA;cAChE5F,MAAM,CAACqB,gBAAgB,CAACvB,QAAQ,CAACI,OAAO,CAAC+D,qBAAqB,EAAE,UAAC1C,CAAC,EAAK;AACrEA,gBAAAA,CAAC,CAAC+I,MAAM,CAACD,aAAa,CAAC,8BAA8B,CAAC,CAAA;AACtD9I,gBAAAA,CAAC,CAAC+I,MAAM,CAACD,aAAa,CAAC,6BAA6B,CAAC,CAAA;AACvD,eAAC,CAAC,CAAA;cACIT,KAAK,GACTf,OAAO,CAACO,WAAW,EAAE,KAAK,KAAK,GAAG,cAAc,GAAG,cAAc,CAAA;AAAAY,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;AAAA,cAAA,OAC7DjK,MAAM,CAACqK,aAAa,CAACT,KAAK,CAAC,CAAA;AAAA,YAAA,KAAA,CAAA;AAC3BC,cAAAA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAItI,CAAC,EAAK;gBAC/B,IAAI;AACFvB,kBAAAA,MAAM,CAACuK,uBAAuB,CAAC,IAAI,CAAC,CAAA;kBACpC,IAAMC,IAAI,GAAGjJ,CAAC,CAACK,eAAe,EAAE,CAAC6I,WAAW,EAAE,CAAA;AAC9C,kBAAA,IAAMC,MAAM,GAAGF,IAAI,CAACG,MAAM,CACxB;AAAErC,oBAAAA,IAAI,EAAE,UAAU;AAAEsC,oBAAAA,IAAI,EAAE,IAAI;AAAEC,oBAAAA,QAAQ,EAAE,UAAA;mBAAY,EACtD,IACF,CAAC,CAAA;AACD,kBAAA,IAAMC,MAAM,GAAGN,IAAI,CAACG,MAAM,CACxB;AAAErC,oBAAAA,IAAI,EAAE,UAAU;AAAEsC,oBAAAA,IAAI,EAAE,IAAI;AAAEC,oBAAAA,QAAQ,EAAE,UAAA;mBAAY,EACtD,IACF,CAAC,CAAA;AACD,kBAAA,IAAMtK,SAAS,GAAGmK,MAAM,CAAC/H,MAAM,CAACmI,MAAM,CAAC,CAAA;AACvC,kBAAA,IAAMC,UAAU,GAAG/K,MAAM,CAACwF,YAAY,CAAC,kBAAkB,CAAC,CAAA;kBAC1D,IAAIuF,UAAU,IAAI,OAAOA,UAAU,CAAC7J,YAAY,KAAK,UAAU,EAAE;AAC/D6J,oBAAAA,UAAU,CAAC7J,YAAY,CAACX,SAAS,CAAC,CAAA;AACpC,mBAAA;kBACA,IAAIP,MAAM,CAACgB,OAAO,EAAE;AAClBhB,oBAAAA,MAAM,CAACgB,OAAO,CAACwC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC/BxB,oBAAAA,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACvC,mBAAA;AACA,kBAAA,IAAI1B,SAAS,CAACmB,MAAM,GAAG,CAAC,EAAE;AACxB,oBAAA,IAAMsJ,eAAe,GAAGhL,MAAM,CAACwF,YAAY,CACzC,0BACF,CAAC,CAAA;AACD,oBAAA,IAAIwF,eAAe,EAAE;AACnB,sBAAA,IAAIA,eAAe,CAACvF,EAAE,CAACwF,KAAK,EAAE;wBAC5BD,eAAe,CAACvF,EAAE,CAACwF,KAAK,CAACpI,SAAS,CAAC6B,KAAK,CAACwG,GAAG,GAAG,CAAC,CAAA;wBAChDF,eAAe,CAACvF,EAAE,CAACwF,KAAK,CAACpI,SAAS,CAAC6B,KAAK,CAACyG,IAAI,GAAG,OAAO,CAAA;wBACvDH,eAAe,CAACvF,EAAE,CAACwF,KAAK,CAACpI,SAAS,CAAC6B,KAAK,CAAC0G,KAAK,GAAG,KAAK,CAAA;wBACtDJ,eAAe,CAACvF,EAAE,CAACwF,KAAK,CAACpI,SAAS,CAAC6B,KAAK,CAAC2G,KAAK,GAAG,OAAO,CAAA;AAC1D,uBAAA;AACF,qBAAA;AACF,mBAAA;AACA,kBAAA,IAAIvC,SAAS,EAAEA,SAAS,CAAC9I,MAAM,CAAC,CAAA;iBACjC,CAAC,OAAO4D,GAAG,EAAE;AACZ5B,kBAAAA,OAAO,CAAC6B,KAAK,CAAC,6BAA6B,EAAED,GAAG,CAAC,CAAA;AACnD,iBAAA;eACD,CAAA;cACD,IAAIgG,KAAK,KAAK,cAAc,EAAE;AACtBE,gBAAAA,GAAG,GAAG,IAAIwB,cAAc,EAAE,CAAA;gBAChCxB,GAAG,CAACyB,IAAI,CAAC,KAAK,EAAE3F,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAC/BkE,GAAG,CAAC0B,YAAY,GAAG,MAAM,CAAA;gBACzB1B,GAAG,CAAC2B,MAAM,GAAG,YAAY;AACvB,kBAAA,IAAI,IAAI,CAAC9D,MAAM,KAAK,GAAG,EAAE;AACvB,oBAAA,IAAM+D,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAA;oBAC5B,IAAMC,IAAI,GAAG7C,MAAM,CAAC8C,GAAG,CAACC,eAAe,CAACJ,MAAM,CAAC,CAAA;oBAC/C1L,MAAM,CAAC+L,SAAS,CAACH,IAAI,GAAG,OAAO,EAAE,EAAE,EAAE/B,iBAAiB,CAAC,CAAA;AACzD,mBAAA;iBACD,CAAA;gBACDC,GAAG,CAACkC,IAAI,EAAE,CAAA;AACZ,eAAC,MAAM;gBACLhM,MAAM,CAAC+L,SAAS,CAACnG,QAAQ,EAAE,EAAE,EAAEiE,iBAAiB,CAAC,CAAA;AACnD,eAAA;AAAC,YAAA,KAAA,CAAA;cAAA,OAAAG,QAAA,CAAAnE,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,WAAA;AAAA,SAAA,EAAA6D,OAAA,CAAA,CAAA;AAAA,OACF,CAAC,CAAA,CAAA,CAAA;AACJ,KAAA;GACD,EAAE,CAAC/B,MAAM,EAAE/B,QAAQ,EAAEiD,OAAO,EAAEC,SAAS,CAAC,CAAC,CAAA;EAC1C,oBACEmD,KAAA,CAAAlG,aAAA,CAAA,KAAA,EAAA;AAAKrB,IAAAA,KAAK,EAAE;AAAEwH,MAAAA,QAAQ,EAAE,UAAU;AAAEb,MAAAA,KAAK,EAAE,MAAM;AAAEc,MAAAA,MAAM,EAAE,MAAA;AAAO,KAAA;GAChEF,eAAAA,KAAA,CAAAlG,aAAA,CAAA,KAAA,EAAA;AAAKzC,IAAAA,EAAE,EAAC,gBAAgB;AAACoB,IAAAA,KAAK,EAAE;AAAE2G,MAAAA,KAAK,EAAE,MAAM;AAAEc,MAAAA,MAAM,EAAE,MAAA;AAAO,KAAA;AAAE,GAAE,CACjE,CAAC,CAAA;AAEV;;;;","x_google_ignoreList":[3]}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/extensions/ToolbarExtension.js","../src/hooks/useCss.js","../src/hooks/useScript.js","../node_modules/style-inject/dist/style-inject.es.js","../src/components/ViewerForgePDF.jsx"],"sourcesContent":["export function registerToolbarExtension(Autodesk) {\n function ToolbarExtension(viewer, options) {\n Autodesk.Viewing.Extension.call(this, viewer, options);\n this.viewer = viewer;\n this.subToolbar = null;\n this.paginationGroup = null;\n this.viewables = [];\n this.currentIndex = 0;\n }\n ToolbarExtension.prototype = Object.create(\n Autodesk.Viewing.Extension.prototype\n );\n ToolbarExtension.prototype.constructor = ToolbarExtension;\n ToolbarExtension.prototype.load = function () {\n return true;\n };\n ToolbarExtension.prototype.unload = function () {\n this.cleanupToolbar();\n return true;\n };\n ToolbarExtension.prototype.cleanupToolbar = function () {\n if (this.viewer.toolbar) {\n if (this.subToolbar) {\n this.viewer.toolbar.removeControl(this.subToolbar);\n this.subToolbar = null;\n }\n if (this.paginationGroup) {\n this.viewer.toolbar.removeControl(this.paginationGroup);\n this.paginationGroup = null;\n }\n }\n };\n ToolbarExtension.prototype.setViewables = function (viewables) {\n this.viewables = viewables;\n this.currentIndex = 0;\n this.updatePaginationState();\n this.viewer.addEventListener(Autodesk.Viewing.MODEL_ADDED_EVENT, (e) => {\n this.updateCurrentIndexFromModel();\n });\n };\n ToolbarExtension.prototype.updateCurrentIndexFromModel = function () {\n if (!this.viewer.model || this.viewables.length === 0) return;\n const currentNode = this.viewer.model.getDocumentNode();\n if (currentNode) {\n const currentGuid = currentNode.data.guid || currentNode.guid;\n console.log('Checking Page Index. Current Node GUID:', currentGuid);\n const index = this.viewables.findIndex((v) => {\n const vGuid = v.data && v.data.guid ? v.data.guid : v.guid;\n return vGuid === currentGuid;\n });\n console.log(\n 'Found index:',\n index,\n 'Current stored index:',\n this.currentIndex\n );\n if (index !== -1) {\n this.currentIndex = index;\n }\n this.updatePaginationState();\n }\n };\n ToolbarExtension.prototype.updatePaginationState = function () {\n if (!this.paginationGroup) return;\n const totalBtn = this.paginationGroup.getControl('total-page-label');\n if (totalBtn) {\n const current = this.viewables.length > 0 ? this.currentIndex + 1 : 0;\n const total = this.viewables.length;\n totalBtn.setToolTip(`Page ${current} of ${total}`);\n const domElem = totalBtn.container;\n if (domElem) {\n domElem.innerHTML = `<div style=\"display: flex; align-items: center; justify-content: center; height: 100%; padding: 0 10px; color: white; font-size: 14px; white-space: nowrap;\">${current} / ${total}</div>`;\n }\n console.log(`Pagination updated: Page ${current} of ${total}`);\n }\n };\n ToolbarExtension.prototype.loadCurrentViewable = function () {\n if (this.viewables.length > 0 && this.viewables[this.currentIndex]) {\n const viewer = this.viewer;\n const toolbar = viewer.toolbar;\n viewer\n .loadDocumentNode(\n viewer.model.getDocumentNode().getDocument(),\n this.viewables[this.currentIndex]\n )\n .then(() => {\n console.log('Model loaded, re-applying toolbar customization');\n const defaultGroups = ['settingsTools', 'modelTools', 'navTools'];\n defaultGroups.forEach((id) => {\n const group = toolbar.getControl(id);\n if (group) group.setVisible(false);\n });\n const toolGroupExists = toolbar.getControl('custom-tool-group');\n const paginationGroupExists = toolbar.getControl(\n 'custom-pagination-group'\n );\n if (!toolGroupExists && this.subToolbar) {\n toolbar.addControl(this.subToolbar);\n }\n if (!paginationGroupExists && this.paginationGroup) {\n toolbar.addControl(this.paginationGroup);\n }\n if (this.subToolbar) this.subToolbar.setVisible(true);\n if (this.paginationGroup) this.paginationGroup.setVisible(true);\n toolbar.setVisible(true);\n this.updatePaginationState();\n })\n .catch((err) => console.error('Error loading viewable:', err));\n }\n };\n ToolbarExtension.prototype.onToolbarCreated = function (toolbar) {\n this.refreshToolbar();\n this.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, () => {\n setTimeout(() => {\n console.log('GEOMETRY_LOADED Event - Refreshing Toolbar');\n this.refreshToolbar();\n this.updateCurrentIndexFromModel();\n }, 100);\n });\n this.viewer.addEventListener(Autodesk.Viewing.TOOLBAR_CREATED_EVENT, () => {\n setTimeout(() => {\n console.log('TOOLBAR_CREATED Event - Refreshing Toolbar');\n this.refreshToolbar();\n }, 10);\n });\n if (this._toolbarInterval) clearInterval(this._toolbarInterval);\n this._toolbarInterval = setInterval(() => {\n if (this.viewer && this.viewer.toolbar) {\n const toolGroup = this.viewer.toolbar.getControl('custom-tool-group');\n const pagGroup = this.viewer.toolbar.getControl(\n 'custom-pagination-group'\n );\n if (!toolGroup || !pagGroup) {\n console.log('Polling found missing toolbar groups - restoring...');\n this.refreshToolbar();\n }\n }\n }, 200);\n };\n const originalUnload = ToolbarExtension.prototype.unload;\n ToolbarExtension.prototype.unload = function () {\n if (this._toolbarInterval) {\n clearInterval(this._toolbarInterval);\n this._toolbarInterval = null;\n }\n return originalUnload.call(this);\n };\n ToolbarExtension.prototype.refreshToolbar = function () {\n const viewer = this.viewer;\n const toolbar = viewer.toolbar;\n if (!toolbar) return;\n const defaultGroups = ['settingsTools', 'modelTools', 'navTools'];\n defaultGroups.forEach((id) => {\n const group = toolbar.getControl(id);\n if (group) {\n group.setVisible(false);\n if (group.container) {\n group.container.style.display = 'none';\n }\n }\n });\n let toolGroup = toolbar.getControl('custom-tool-group');\n let pagGroup = toolbar.getControl('custom-pagination-group');\n if (!toolGroup) {\n console.log('Custom Tool Group missing, recreating...');\n if (this.subToolbar) {\n this.subToolbar = null;\n }\n this.createToolGroup(toolbar);\n } else {\n toolGroup.setVisible(true);\n this.subToolbar = toolGroup;\n }\n if (!pagGroup) {\n console.log('Custom Pagination Group missing, recreating...');\n if (this.paginationGroup) {\n this.paginationGroup = null;\n }\n this.createPaginationGroup(toolbar);\n } else {\n pagGroup.setVisible(true);\n this.paginationGroup = pagGroup;\n }\n toolbar.setVisible(true);\n this.updatePaginationState();\n };\n ToolbarExtension.prototype.createToolGroup = function (toolbar) {\n const viewer = this.viewer;\n this.subToolbar = new Autodesk.Viewing.UI.ControlGroup('custom-tool-group');\n toolbar.addControl(this.subToolbar);\n const panBtn = new Autodesk.Viewing.UI.Button('custom-pan-btn');\n panBtn.setIcon('adsk-icon-pan');\n panBtn.setToolTip('Pan');\n panBtn.onClick = () => viewer.setTool('pan');\n this.subToolbar.addControl(panBtn);\n const docBrowserBtn = new Autodesk.Viewing.UI.Button(\n 'custom-doc-browser-btn'\n );\n docBrowserBtn.setIcon('adsk-icon-documentModels');\n docBrowserBtn.setToolTip('Document Browser');\n docBrowserBtn.onClick = () => {\n const ext = viewer.getExtension('Autodesk.DocumentBrowser');\n if (ext && ext.ui) ext.ui.togglePanel();\n };\n this.subToolbar.addControl(docBrowserBtn);\n const downloadBtn = new Autodesk.Viewing.UI.Button('custom-download-btn');\n downloadBtn.setIcon('adsk-icon-custom-download');\n downloadBtn.setToolTip('Download File');\n downloadBtn.onClick = () => {\n if (this.options && this.options.filePath) {\n const a = document.createElement('a');\n a.href = this.options.filePath;\n a.download = '';\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n } else {\n console.warn('FilePath not available in extension options');\n }\n };\n this.subToolbar.addControl(downloadBtn);\n };\n ToolbarExtension.prototype.createPaginationGroup = function (toolbar) {\n this.paginationGroup = new Autodesk.Viewing.UI.ControlGroup(\n 'custom-pagination-group'\n );\n toolbar.addControl(this.paginationGroup);\n const prevBtn = new Autodesk.Viewing.UI.Button('prev-page-btn');\n prevBtn.setIcon('adsk-icon-custom-prev');\n prevBtn.addClass('custom-prev-btn');\n prevBtn.setToolTip('Previous Page');\n prevBtn.onClick = () => {\n if (this.viewables.length > 0) {\n this.currentIndex =\n (this.currentIndex - 1 + this.viewables.length) %\n this.viewables.length;\n this.loadCurrentViewable();\n }\n };\n this.paginationGroup.addControl(prevBtn);\n const labelBtn = new Autodesk.Viewing.UI.Button('total-page-label');\n labelBtn.setToolTip('Page info');\n this.paginationGroup.addControl(labelBtn);\n const nextBtn = new Autodesk.Viewing.UI.Button('next-page-btn');\n nextBtn.setIcon('adsk-icon-custom-next');\n nextBtn.addClass('custom-next-btn');\n nextBtn.setToolTip('Next Page');\n nextBtn.onClick = () => {\n if (this.viewables.length > 0) {\n this.currentIndex = (this.currentIndex + 1) % this.viewables.length;\n this.loadCurrentViewable();\n }\n };\n this.paginationGroup.addControl(nextBtn);\n };\n Autodesk.Viewing.theExtensionManager.registerExtension(\n 'ToolbarExtension',\n ToolbarExtension\n );\n}\n","import { useEffect } from 'react';\n\nconst useCss = (href) => {\n useEffect(() => {\n if (!href) return;\n const link = document.createElement('link');\n link.href = href;\n link.rel = 'stylesheet';\n document.head.appendChild(link);\n\n return () => {\n document.head.removeChild(link);\n };\n }, [href]);\n};\n\nexport default useCss;\n","import { useEffect, useState } from 'react';\nconst scriptCache = new Set();\nconst useScript = (src) => {\n const [status, setStatus] = useState(src ? 'loading' : 'idle');\n useEffect(() => {\n if (!src) {\n setStatus('idle');\n return;\n }\n if (scriptCache.has(src)) {\n setStatus('ready');\n return;\n }\n let script = document.querySelector(`script[src=\"${src}\"]`);\n if (!script) {\n script = document.createElement('script');\n script.src = src;\n script.async = true;\n script.setAttribute('data-status', 'loading');\n document.body.appendChild(script);\n const setAttributeFromEvent = (event) => {\n const attribute = event.type === 'load' ? 'ready' : 'error';\n script?.setAttribute('data-status', attribute);\n if (attribute === 'ready') scriptCache.add(src);\n setStatus(attribute);\n };\n script.addEventListener('load', setAttributeFromEvent);\n script.addEventListener('error', setAttributeFromEvent);\n } else {\n setStatus(script.getAttribute('data-status'));\n }\n const setStateFromEvent = (event) => {\n setStatus(event.type === 'load' ? 'ready' : 'error');\n };\n script.addEventListener('load', setStateFromEvent);\n script.addEventListener('error', setStateFromEvent);\n return () => {\n if (script) {\n script.removeEventListener('load', setStateFromEvent);\n script.removeEventListener('error', setStateFromEvent);\n }\n };\n }, [src]);\n return status;\n};\nexport default useScript;\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { message } from 'antd';\nimport { useEffect } from 'react';\nimport { registerToolbarExtension } from '../extensions/ToolbarExtension';\nimport useCss from '../hooks/useCss';\nimport useScript from '../hooks/useScript';\nimport '../styles/toolbar-custom.css';\nimport '../styles/toolbar-icons.css';\nconst ViewerForgePDF = ({ filePath, fileExt, setViewer }) => {\n useCss(\n 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css'\n );\n const status = useScript(\n 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js'\n );\n useEffect(() => {\n if (status === 'ready' && window.Autodesk) {\n const Autodesk = window.Autodesk;\n if (!fileExt) {\n message.warning('You need to provide file extension');\n return;\n }\n const validExts = ['pdf', 'dwf', 'dwfx'];\n if (!validExts.includes(fileExt.toLowerCase())) {\n message.warning('Only support pdf, dwf, dwfx format');\n return;\n }\n Autodesk.Viewing.Initializer({ env: 'Local' }, async () => {\n registerToolbarExtension(Autodesk);\n const viewerDiv = document.getElementById('forgeViewerPDF');\n viewerDiv.innerHTML = '';\n const viewer = new Autodesk.Viewing.GuiViewer3D(viewerDiv);\n viewer.start();\n viewer.loadExtension('Autodesk.DocumentBrowser');\n viewer.loadExtension('Autodesk.Viewing.MarkupsCore');\n viewer.loadExtension('Autodesk.Viewing.MarkupsGui');\n viewer.loadExtension('ToolbarExtension', { filePath: filePath });\n viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (e) => {\n e.target.loadExtension('Autodesk.Viewing.MarkupsCore');\n e.target.loadExtension('Autodesk.Viewing.MarkupsGui');\n });\n const isDWF =\n fileExt.toLowerCase() === 'pdf' ? 'Autodesk.PDF' : 'Autodesk.DWF';\n await viewer.loadExtension(isDWF);\n const handleLoadSuccess = (e) => {\n try {\n viewer.setReverseZoomDirection(true);\n const root = e.getDocumentNode().getRootNode();\n const view3d = root.search(\n { type: 'geometry', role: '3d', progress: 'complete' },\n true\n );\n const view2d = root.search(\n { type: 'geometry', role: '2d', progress: 'complete' },\n true\n );\n const viewables = view3d.concat(view2d);\n const toolbarExt = viewer.getExtension('ToolbarExtension');\n if (toolbarExt && typeof toolbarExt.setViewables === 'function') {\n toolbarExt.setViewables(viewables);\n }\n if (viewer.toolbar) {\n viewer.toolbar.setVisible(true);\n console.log('Toolbar forced visible');\n }\n if (viewables.length > 1) {\n const documentBrowser = viewer.getExtension(\n 'Autodesk.DocumentBrowser'\n );\n if (documentBrowser) {\n if (documentBrowser.ui.panel) {\n documentBrowser.ui.panel.container.style.top = 0;\n documentBrowser.ui.panel.container.style.left = 'unset';\n documentBrowser.ui.panel.container.style.right = '0px';\n documentBrowser.ui.panel.container.style.width = '200px';\n }\n }\n }\n if (setViewer) setViewer(viewer);\n } catch (err) {\n console.error('Error in handleLoadSuccess:', err);\n }\n };\n if (isDWF === 'Autodesk.DWF') {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', filePath, true);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n if (this.status === 200) {\n const myBlob = this.response;\n const url1 = window.URL.createObjectURL(myBlob);\n viewer.loadModel(url1 + '#.dwf', {}, handleLoadSuccess);\n }\n };\n xhr.send();\n } else {\n viewer.loadModel(filePath, {}, handleLoadSuccess);\n }\n });\n }\n }, [status, filePath, fileExt, setViewer]);\n return (\n <div style={{ position: 'relative', width: '100%', height: '100%' }}>\n <div id='forgeViewerPDF' style={{ width: '100%', height: '100%' }} />\n </div>\n );\n};\nexport default ViewerForgePDF;\n"],"names":["registerToolbarExtension","Autodesk","ToolbarExtension","viewer","options","Viewing","Extension","call","subToolbar","paginationGroup","viewables","currentIndex","prototype","Object","create","constructor","load","unload","cleanupToolbar","toolbar","removeControl","setViewables","_this","updatePaginationState","addEventListener","MODEL_ADDED_EVENT","e","updateCurrentIndexFromModel","model","length","currentNode","getDocumentNode","currentGuid","data","guid","console","log","index","findIndex","v","vGuid","totalBtn","getControl","current","total","setToolTip","concat","domElem","container","innerHTML","loadCurrentViewable","_this2","loadDocumentNode","getDocument","then","defaultGroups","forEach","id","group","setVisible","toolGroupExists","paginationGroupExists","addControl","err","error","onToolbarCreated","_this3","refreshToolbar","GEOMETRY_LOADED_EVENT","setTimeout","TOOLBAR_CREATED_EVENT","_toolbarInterval","clearInterval","setInterval","toolGroup","pagGroup","originalUnload","style","display","createToolGroup","createPaginationGroup","_this4","UI","ControlGroup","panBtn","Button","setIcon","onClick","setTool","docBrowserBtn","ext","getExtension","ui","togglePanel","downloadBtn","filePath","a","document","createElement","href","download","body","appendChild","click","removeChild","warn","_this5","prevBtn","addClass","labelBtn","nextBtn","theExtensionManager","registerExtension","useCss","useEffect","link","rel","head","scriptCache","Set","useScript","src","_useState","useState","_useState2","_slicedToArray","status","setStatus","has","script","querySelector","async","setAttribute","setAttributeFromEvent","event","_script","attribute","type","add","getAttribute","setStateFromEvent","removeEventListener","ViewerForgePDF","_ref","fileExt","setViewer","window","message","warning","validExts","includes","toLowerCase","Initializer","env","_asyncToGenerator","_regenerator","m","_callee","viewerDiv","isDWF","handleLoadSuccess","xhr","w","_context","n","getElementById","GuiViewer3D","start","loadExtension","target","setReverseZoomDirection","root","getRootNode","view3d","search","role","progress","view2d","toolbarExt","documentBrowser","panel","top","left","right","width","XMLHttpRequest","open","responseType","onload","myBlob","response","url1","URL","createObjectURL","loadModel","send","_jsx","position","height","children"],"mappings":"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","x_google_ignoreList":[3]}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  var antd = require('antd');
4
4
  var react = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
5
6
 
6
7
  function _arrayLikeToArray(r, a) {
7
8
  (null == a || a > r.length) && (a = r.length);
@@ -629,19 +630,20 @@ var ViewerForgePDF = function ViewerForgePDF(_ref) {
629
630
  })));
630
631
  }
631
632
  }, [status, filePath, fileExt, setViewer]);
632
- return /*#__PURE__*/React.createElement("div", {
633
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
633
634
  style: {
634
635
  position: 'relative',
635
636
  width: '100%',
636
637
  height: '100%'
637
- }
638
- }, /*#__PURE__*/React.createElement("div", {
639
- id: "forgeViewerPDF",
640
- style: {
641
- width: '100%',
642
- height: '100%'
643
- }
644
- }));
638
+ },
639
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
640
+ id: "forgeViewerPDF",
641
+ style: {
642
+ width: '100%',
643
+ height: '100%'
644
+ }
645
+ })
646
+ });
645
647
  };
646
648
 
647
649
  exports.ViewerForgePDF = ViewerForgePDF;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/extensions/ToolbarExtension.js","../src/hooks/useCss.js","../src/hooks/useScript.js","../node_modules/style-inject/dist/style-inject.es.js","../src/components/ViewerForgePDF.jsx"],"sourcesContent":["export function registerToolbarExtension(Autodesk) {\n function ToolbarExtension(viewer, options) {\n Autodesk.Viewing.Extension.call(this, viewer, options);\n this.viewer = viewer;\n this.subToolbar = null;\n this.paginationGroup = null;\n this.viewables = [];\n this.currentIndex = 0;\n }\n ToolbarExtension.prototype = Object.create(\n Autodesk.Viewing.Extension.prototype\n );\n ToolbarExtension.prototype.constructor = ToolbarExtension;\n ToolbarExtension.prototype.load = function () {\n return true;\n };\n ToolbarExtension.prototype.unload = function () {\n this.cleanupToolbar();\n return true;\n };\n ToolbarExtension.prototype.cleanupToolbar = function () {\n if (this.viewer.toolbar) {\n if (this.subToolbar) {\n this.viewer.toolbar.removeControl(this.subToolbar);\n this.subToolbar = null;\n }\n if (this.paginationGroup) {\n this.viewer.toolbar.removeControl(this.paginationGroup);\n this.paginationGroup = null;\n }\n }\n };\n ToolbarExtension.prototype.setViewables = function (viewables) {\n this.viewables = viewables;\n this.currentIndex = 0;\n this.updatePaginationState();\n this.viewer.addEventListener(Autodesk.Viewing.MODEL_ADDED_EVENT, (e) => {\n this.updateCurrentIndexFromModel();\n });\n };\n ToolbarExtension.prototype.updateCurrentIndexFromModel = function () {\n if (!this.viewer.model || this.viewables.length === 0) return;\n const currentNode = this.viewer.model.getDocumentNode();\n if (currentNode) {\n const currentGuid = currentNode.data.guid || currentNode.guid;\n console.log('Checking Page Index. Current Node GUID:', currentGuid);\n const index = this.viewables.findIndex((v) => {\n const vGuid = v.data && v.data.guid ? v.data.guid : v.guid;\n return vGuid === currentGuid;\n });\n console.log(\n 'Found index:',\n index,\n 'Current stored index:',\n this.currentIndex\n );\n if (index !== -1) {\n this.currentIndex = index;\n }\n this.updatePaginationState();\n }\n };\n ToolbarExtension.prototype.updatePaginationState = function () {\n if (!this.paginationGroup) return;\n const totalBtn = this.paginationGroup.getControl('total-page-label');\n if (totalBtn) {\n const current = this.viewables.length > 0 ? this.currentIndex + 1 : 0;\n const total = this.viewables.length;\n totalBtn.setToolTip(`Page ${current} of ${total}`);\n const domElem = totalBtn.container;\n if (domElem) {\n domElem.innerHTML = `<div style=\"display: flex; align-items: center; justify-content: center; height: 100%; padding: 0 10px; color: white; font-size: 14px; white-space: nowrap;\">${current} / ${total}</div>`;\n }\n console.log(`Pagination updated: Page ${current} of ${total}`);\n }\n };\n ToolbarExtension.prototype.loadCurrentViewable = function () {\n if (this.viewables.length > 0 && this.viewables[this.currentIndex]) {\n const viewer = this.viewer;\n const toolbar = viewer.toolbar;\n viewer\n .loadDocumentNode(\n viewer.model.getDocumentNode().getDocument(),\n this.viewables[this.currentIndex]\n )\n .then(() => {\n console.log('Model loaded, re-applying toolbar customization');\n const defaultGroups = ['settingsTools', 'modelTools', 'navTools'];\n defaultGroups.forEach((id) => {\n const group = toolbar.getControl(id);\n if (group) group.setVisible(false);\n });\n const toolGroupExists = toolbar.getControl('custom-tool-group');\n const paginationGroupExists = toolbar.getControl(\n 'custom-pagination-group'\n );\n if (!toolGroupExists && this.subToolbar) {\n toolbar.addControl(this.subToolbar);\n }\n if (!paginationGroupExists && this.paginationGroup) {\n toolbar.addControl(this.paginationGroup);\n }\n if (this.subToolbar) this.subToolbar.setVisible(true);\n if (this.paginationGroup) this.paginationGroup.setVisible(true);\n toolbar.setVisible(true);\n this.updatePaginationState();\n })\n .catch((err) => console.error('Error loading viewable:', err));\n }\n };\n ToolbarExtension.prototype.onToolbarCreated = function (toolbar) {\n this.refreshToolbar();\n this.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, () => {\n setTimeout(() => {\n console.log('GEOMETRY_LOADED Event - Refreshing Toolbar');\n this.refreshToolbar();\n this.updateCurrentIndexFromModel();\n }, 100);\n });\n this.viewer.addEventListener(Autodesk.Viewing.TOOLBAR_CREATED_EVENT, () => {\n setTimeout(() => {\n console.log('TOOLBAR_CREATED Event - Refreshing Toolbar');\n this.refreshToolbar();\n }, 10);\n });\n if (this._toolbarInterval) clearInterval(this._toolbarInterval);\n this._toolbarInterval = setInterval(() => {\n if (this.viewer && this.viewer.toolbar) {\n const toolGroup = this.viewer.toolbar.getControl('custom-tool-group');\n const pagGroup = this.viewer.toolbar.getControl(\n 'custom-pagination-group'\n );\n if (!toolGroup || !pagGroup) {\n console.log('Polling found missing toolbar groups - restoring...');\n this.refreshToolbar();\n }\n }\n }, 200);\n };\n const originalUnload = ToolbarExtension.prototype.unload;\n ToolbarExtension.prototype.unload = function () {\n if (this._toolbarInterval) {\n clearInterval(this._toolbarInterval);\n this._toolbarInterval = null;\n }\n return originalUnload.call(this);\n };\n ToolbarExtension.prototype.refreshToolbar = function () {\n const viewer = this.viewer;\n const toolbar = viewer.toolbar;\n if (!toolbar) return;\n const defaultGroups = ['settingsTools', 'modelTools', 'navTools'];\n defaultGroups.forEach((id) => {\n const group = toolbar.getControl(id);\n if (group) {\n group.setVisible(false);\n if (group.container) {\n group.container.style.display = 'none';\n }\n }\n });\n let toolGroup = toolbar.getControl('custom-tool-group');\n let pagGroup = toolbar.getControl('custom-pagination-group');\n if (!toolGroup) {\n console.log('Custom Tool Group missing, recreating...');\n if (this.subToolbar) {\n this.subToolbar = null;\n }\n this.createToolGroup(toolbar);\n } else {\n toolGroup.setVisible(true);\n this.subToolbar = toolGroup;\n }\n if (!pagGroup) {\n console.log('Custom Pagination Group missing, recreating...');\n if (this.paginationGroup) {\n this.paginationGroup = null;\n }\n this.createPaginationGroup(toolbar);\n } else {\n pagGroup.setVisible(true);\n this.paginationGroup = pagGroup;\n }\n toolbar.setVisible(true);\n this.updatePaginationState();\n };\n ToolbarExtension.prototype.createToolGroup = function (toolbar) {\n const viewer = this.viewer;\n this.subToolbar = new Autodesk.Viewing.UI.ControlGroup('custom-tool-group');\n toolbar.addControl(this.subToolbar);\n const panBtn = new Autodesk.Viewing.UI.Button('custom-pan-btn');\n panBtn.setIcon('adsk-icon-pan');\n panBtn.setToolTip('Pan');\n panBtn.onClick = () => viewer.setTool('pan');\n this.subToolbar.addControl(panBtn);\n const docBrowserBtn = new Autodesk.Viewing.UI.Button(\n 'custom-doc-browser-btn'\n );\n docBrowserBtn.setIcon('adsk-icon-documentModels');\n docBrowserBtn.setToolTip('Document Browser');\n docBrowserBtn.onClick = () => {\n const ext = viewer.getExtension('Autodesk.DocumentBrowser');\n if (ext && ext.ui) ext.ui.togglePanel();\n };\n this.subToolbar.addControl(docBrowserBtn);\n const downloadBtn = new Autodesk.Viewing.UI.Button('custom-download-btn');\n downloadBtn.setIcon('adsk-icon-custom-download');\n downloadBtn.setToolTip('Download File');\n downloadBtn.onClick = () => {\n if (this.options && this.options.filePath) {\n const a = document.createElement('a');\n a.href = this.options.filePath;\n a.download = '';\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n } else {\n console.warn('FilePath not available in extension options');\n }\n };\n this.subToolbar.addControl(downloadBtn);\n };\n ToolbarExtension.prototype.createPaginationGroup = function (toolbar) {\n this.paginationGroup = new Autodesk.Viewing.UI.ControlGroup(\n 'custom-pagination-group'\n );\n toolbar.addControl(this.paginationGroup);\n const prevBtn = new Autodesk.Viewing.UI.Button('prev-page-btn');\n prevBtn.setIcon('adsk-icon-custom-prev');\n prevBtn.addClass('custom-prev-btn');\n prevBtn.setToolTip('Previous Page');\n prevBtn.onClick = () => {\n if (this.viewables.length > 0) {\n this.currentIndex =\n (this.currentIndex - 1 + this.viewables.length) %\n this.viewables.length;\n this.loadCurrentViewable();\n }\n };\n this.paginationGroup.addControl(prevBtn);\n const labelBtn = new Autodesk.Viewing.UI.Button('total-page-label');\n labelBtn.setToolTip('Page info');\n this.paginationGroup.addControl(labelBtn);\n const nextBtn = new Autodesk.Viewing.UI.Button('next-page-btn');\n nextBtn.setIcon('adsk-icon-custom-next');\n nextBtn.addClass('custom-next-btn');\n nextBtn.setToolTip('Next Page');\n nextBtn.onClick = () => {\n if (this.viewables.length > 0) {\n this.currentIndex = (this.currentIndex + 1) % this.viewables.length;\n this.loadCurrentViewable();\n }\n };\n this.paginationGroup.addControl(nextBtn);\n };\n Autodesk.Viewing.theExtensionManager.registerExtension(\n 'ToolbarExtension',\n ToolbarExtension\n );\n}\n","import { useEffect } from 'react';\n\nconst useCss = (href) => {\n useEffect(() => {\n if (!href) return;\n const link = document.createElement('link');\n link.href = href;\n link.rel = 'stylesheet';\n document.head.appendChild(link);\n\n return () => {\n document.head.removeChild(link);\n };\n }, [href]);\n};\n\nexport default useCss;\n","import { useEffect, useState } from 'react';\nconst scriptCache = new Set();\nconst useScript = (src) => {\n const [status, setStatus] = useState(src ? 'loading' : 'idle');\n useEffect(() => {\n if (!src) {\n setStatus('idle');\n return;\n }\n if (scriptCache.has(src)) {\n setStatus('ready');\n return;\n }\n let script = document.querySelector(`script[src=\"${src}\"]`);\n if (!script) {\n script = document.createElement('script');\n script.src = src;\n script.async = true;\n script.setAttribute('data-status', 'loading');\n document.body.appendChild(script);\n const setAttributeFromEvent = (event) => {\n const attribute = event.type === 'load' ? 'ready' : 'error';\n script?.setAttribute('data-status', attribute);\n if (attribute === 'ready') scriptCache.add(src);\n setStatus(attribute);\n };\n script.addEventListener('load', setAttributeFromEvent);\n script.addEventListener('error', setAttributeFromEvent);\n } else {\n setStatus(script.getAttribute('data-status'));\n }\n const setStateFromEvent = (event) => {\n setStatus(event.type === 'load' ? 'ready' : 'error');\n };\n script.addEventListener('load', setStateFromEvent);\n script.addEventListener('error', setStateFromEvent);\n return () => {\n if (script) {\n script.removeEventListener('load', setStateFromEvent);\n script.removeEventListener('error', setStateFromEvent);\n }\n };\n }, [src]);\n return status;\n};\nexport default useScript;\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { message } from 'antd';\nimport { useEffect } from 'react';\nimport { registerToolbarExtension } from '../extensions/ToolbarExtension';\nimport useCss from '../hooks/useCss';\nimport useScript from '../hooks/useScript';\nimport '../styles/toolbar-custom.css';\nimport '../styles/toolbar-icons.css';\nconst ViewerForgePDF = ({ filePath, fileExt, setViewer }) => {\n useCss(\n 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css'\n );\n const status = useScript(\n 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js'\n );\n useEffect(() => {\n if (status === 'ready' && window.Autodesk) {\n const Autodesk = window.Autodesk;\n if (!fileExt) {\n message.warning('You need to provide file extension');\n return;\n }\n const validExts = ['pdf', 'dwf', 'dwfx'];\n if (!validExts.includes(fileExt.toLowerCase())) {\n message.warning('Only support pdf, dwf, dwfx format');\n return;\n }\n Autodesk.Viewing.Initializer({ env: 'Local' }, async () => {\n registerToolbarExtension(Autodesk);\n const viewerDiv = document.getElementById('forgeViewerPDF');\n viewerDiv.innerHTML = '';\n const viewer = new Autodesk.Viewing.GuiViewer3D(viewerDiv);\n viewer.start();\n viewer.loadExtension('Autodesk.DocumentBrowser');\n viewer.loadExtension('Autodesk.Viewing.MarkupsCore');\n viewer.loadExtension('Autodesk.Viewing.MarkupsGui');\n viewer.loadExtension('ToolbarExtension', { filePath: filePath });\n viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (e) => {\n e.target.loadExtension('Autodesk.Viewing.MarkupsCore');\n e.target.loadExtension('Autodesk.Viewing.MarkupsGui');\n });\n const isDWF =\n fileExt.toLowerCase() === 'pdf' ? 'Autodesk.PDF' : 'Autodesk.DWF';\n await viewer.loadExtension(isDWF);\n const handleLoadSuccess = (e) => {\n try {\n viewer.setReverseZoomDirection(true);\n const root = e.getDocumentNode().getRootNode();\n const view3d = root.search(\n { type: 'geometry', role: '3d', progress: 'complete' },\n true\n );\n const view2d = root.search(\n { type: 'geometry', role: '2d', progress: 'complete' },\n true\n );\n const viewables = view3d.concat(view2d);\n const toolbarExt = viewer.getExtension('ToolbarExtension');\n if (toolbarExt && typeof toolbarExt.setViewables === 'function') {\n toolbarExt.setViewables(viewables);\n }\n if (viewer.toolbar) {\n viewer.toolbar.setVisible(true);\n console.log('Toolbar forced visible');\n }\n if (viewables.length > 1) {\n const documentBrowser = viewer.getExtension(\n 'Autodesk.DocumentBrowser'\n );\n if (documentBrowser) {\n if (documentBrowser.ui.panel) {\n documentBrowser.ui.panel.container.style.top = 0;\n documentBrowser.ui.panel.container.style.left = 'unset';\n documentBrowser.ui.panel.container.style.right = '0px';\n documentBrowser.ui.panel.container.style.width = '200px';\n }\n }\n }\n if (setViewer) setViewer(viewer);\n } catch (err) {\n console.error('Error in handleLoadSuccess:', err);\n }\n };\n if (isDWF === 'Autodesk.DWF') {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', filePath, true);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n if (this.status === 200) {\n const myBlob = this.response;\n const url1 = window.URL.createObjectURL(myBlob);\n viewer.loadModel(url1 + '#.dwf', {}, handleLoadSuccess);\n }\n };\n xhr.send();\n } else {\n viewer.loadModel(filePath, {}, handleLoadSuccess);\n }\n });\n }\n }, [status, filePath, fileExt, setViewer]);\n return (\n <div style={{ position: 'relative', width: '100%', height: '100%' }}>\n <div id='forgeViewerPDF' style={{ width: '100%', height: '100%' }} />\n </div>\n );\n};\nexport default ViewerForgePDF;\n"],"names":["registerToolbarExtension","Autodesk","ToolbarExtension","viewer","options","Viewing","Extension","call","subToolbar","paginationGroup","viewables","currentIndex","prototype","Object","create","constructor","load","unload","cleanupToolbar","toolbar","removeControl","setViewables","_this","updatePaginationState","addEventListener","MODEL_ADDED_EVENT","e","updateCurrentIndexFromModel","model","length","currentNode","getDocumentNode","currentGuid","data","guid","console","log","index","findIndex","v","vGuid","totalBtn","getControl","current","total","setToolTip","concat","domElem","container","innerHTML","loadCurrentViewable","_this2","loadDocumentNode","getDocument","then","defaultGroups","forEach","id","group","setVisible","toolGroupExists","paginationGroupExists","addControl","err","error","onToolbarCreated","_this3","refreshToolbar","GEOMETRY_LOADED_EVENT","setTimeout","TOOLBAR_CREATED_EVENT","_toolbarInterval","clearInterval","setInterval","toolGroup","pagGroup","originalUnload","style","display","createToolGroup","createPaginationGroup","_this4","UI","ControlGroup","panBtn","Button","setIcon","onClick","setTool","docBrowserBtn","ext","getExtension","ui","togglePanel","downloadBtn","filePath","a","document","createElement","href","download","body","appendChild","click","removeChild","warn","_this5","prevBtn","addClass","labelBtn","nextBtn","theExtensionManager","registerExtension","useCss","useEffect","link","rel","head","scriptCache","Set","useScript","src","_useState","useState","_useState2","_slicedToArray","status","setStatus","has","script","querySelector","async","setAttribute","setAttributeFromEvent","event","_script","attribute","type","add","getAttribute","setStateFromEvent","removeEventListener","ViewerForgePDF","_ref","fileExt","setViewer","window","message","warning","validExts","includes","toLowerCase","Initializer","env","_asyncToGenerator","_regenerator","m","_callee","viewerDiv","isDWF","handleLoadSuccess","xhr","w","_context","n","getElementById","GuiViewer3D","start","loadExtension","target","setReverseZoomDirection","root","getRootNode","view3d","search","role","progress","view2d","toolbarExt","documentBrowser","panel","top","left","right","width","XMLHttpRequest","open","responseType","onload","myBlob","response","url1","URL","createObjectURL","loadModel","send","React","position","height"],"mappings":"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","x_google_ignoreList":[3]}
1
+ {"version":3,"file":"index.js","sources":["../src/extensions/ToolbarExtension.js","../src/hooks/useCss.js","../src/hooks/useScript.js","../node_modules/style-inject/dist/style-inject.es.js","../src/components/ViewerForgePDF.jsx"],"sourcesContent":["export function registerToolbarExtension(Autodesk) {\n function ToolbarExtension(viewer, options) {\n Autodesk.Viewing.Extension.call(this, viewer, options);\n this.viewer = viewer;\n this.subToolbar = null;\n this.paginationGroup = null;\n this.viewables = [];\n this.currentIndex = 0;\n }\n ToolbarExtension.prototype = Object.create(\n Autodesk.Viewing.Extension.prototype\n );\n ToolbarExtension.prototype.constructor = ToolbarExtension;\n ToolbarExtension.prototype.load = function () {\n return true;\n };\n ToolbarExtension.prototype.unload = function () {\n this.cleanupToolbar();\n return true;\n };\n ToolbarExtension.prototype.cleanupToolbar = function () {\n if (this.viewer.toolbar) {\n if (this.subToolbar) {\n this.viewer.toolbar.removeControl(this.subToolbar);\n this.subToolbar = null;\n }\n if (this.paginationGroup) {\n this.viewer.toolbar.removeControl(this.paginationGroup);\n this.paginationGroup = null;\n }\n }\n };\n ToolbarExtension.prototype.setViewables = function (viewables) {\n this.viewables = viewables;\n this.currentIndex = 0;\n this.updatePaginationState();\n this.viewer.addEventListener(Autodesk.Viewing.MODEL_ADDED_EVENT, (e) => {\n this.updateCurrentIndexFromModel();\n });\n };\n ToolbarExtension.prototype.updateCurrentIndexFromModel = function () {\n if (!this.viewer.model || this.viewables.length === 0) return;\n const currentNode = this.viewer.model.getDocumentNode();\n if (currentNode) {\n const currentGuid = currentNode.data.guid || currentNode.guid;\n console.log('Checking Page Index. Current Node GUID:', currentGuid);\n const index = this.viewables.findIndex((v) => {\n const vGuid = v.data && v.data.guid ? v.data.guid : v.guid;\n return vGuid === currentGuid;\n });\n console.log(\n 'Found index:',\n index,\n 'Current stored index:',\n this.currentIndex\n );\n if (index !== -1) {\n this.currentIndex = index;\n }\n this.updatePaginationState();\n }\n };\n ToolbarExtension.prototype.updatePaginationState = function () {\n if (!this.paginationGroup) return;\n const totalBtn = this.paginationGroup.getControl('total-page-label');\n if (totalBtn) {\n const current = this.viewables.length > 0 ? this.currentIndex + 1 : 0;\n const total = this.viewables.length;\n totalBtn.setToolTip(`Page ${current} of ${total}`);\n const domElem = totalBtn.container;\n if (domElem) {\n domElem.innerHTML = `<div style=\"display: flex; align-items: center; justify-content: center; height: 100%; padding: 0 10px; color: white; font-size: 14px; white-space: nowrap;\">${current} / ${total}</div>`;\n }\n console.log(`Pagination updated: Page ${current} of ${total}`);\n }\n };\n ToolbarExtension.prototype.loadCurrentViewable = function () {\n if (this.viewables.length > 0 && this.viewables[this.currentIndex]) {\n const viewer = this.viewer;\n const toolbar = viewer.toolbar;\n viewer\n .loadDocumentNode(\n viewer.model.getDocumentNode().getDocument(),\n this.viewables[this.currentIndex]\n )\n .then(() => {\n console.log('Model loaded, re-applying toolbar customization');\n const defaultGroups = ['settingsTools', 'modelTools', 'navTools'];\n defaultGroups.forEach((id) => {\n const group = toolbar.getControl(id);\n if (group) group.setVisible(false);\n });\n const toolGroupExists = toolbar.getControl('custom-tool-group');\n const paginationGroupExists = toolbar.getControl(\n 'custom-pagination-group'\n );\n if (!toolGroupExists && this.subToolbar) {\n toolbar.addControl(this.subToolbar);\n }\n if (!paginationGroupExists && this.paginationGroup) {\n toolbar.addControl(this.paginationGroup);\n }\n if (this.subToolbar) this.subToolbar.setVisible(true);\n if (this.paginationGroup) this.paginationGroup.setVisible(true);\n toolbar.setVisible(true);\n this.updatePaginationState();\n })\n .catch((err) => console.error('Error loading viewable:', err));\n }\n };\n ToolbarExtension.prototype.onToolbarCreated = function (toolbar) {\n this.refreshToolbar();\n this.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, () => {\n setTimeout(() => {\n console.log('GEOMETRY_LOADED Event - Refreshing Toolbar');\n this.refreshToolbar();\n this.updateCurrentIndexFromModel();\n }, 100);\n });\n this.viewer.addEventListener(Autodesk.Viewing.TOOLBAR_CREATED_EVENT, () => {\n setTimeout(() => {\n console.log('TOOLBAR_CREATED Event - Refreshing Toolbar');\n this.refreshToolbar();\n }, 10);\n });\n if (this._toolbarInterval) clearInterval(this._toolbarInterval);\n this._toolbarInterval = setInterval(() => {\n if (this.viewer && this.viewer.toolbar) {\n const toolGroup = this.viewer.toolbar.getControl('custom-tool-group');\n const pagGroup = this.viewer.toolbar.getControl(\n 'custom-pagination-group'\n );\n if (!toolGroup || !pagGroup) {\n console.log('Polling found missing toolbar groups - restoring...');\n this.refreshToolbar();\n }\n }\n }, 200);\n };\n const originalUnload = ToolbarExtension.prototype.unload;\n ToolbarExtension.prototype.unload = function () {\n if (this._toolbarInterval) {\n clearInterval(this._toolbarInterval);\n this._toolbarInterval = null;\n }\n return originalUnload.call(this);\n };\n ToolbarExtension.prototype.refreshToolbar = function () {\n const viewer = this.viewer;\n const toolbar = viewer.toolbar;\n if (!toolbar) return;\n const defaultGroups = ['settingsTools', 'modelTools', 'navTools'];\n defaultGroups.forEach((id) => {\n const group = toolbar.getControl(id);\n if (group) {\n group.setVisible(false);\n if (group.container) {\n group.container.style.display = 'none';\n }\n }\n });\n let toolGroup = toolbar.getControl('custom-tool-group');\n let pagGroup = toolbar.getControl('custom-pagination-group');\n if (!toolGroup) {\n console.log('Custom Tool Group missing, recreating...');\n if (this.subToolbar) {\n this.subToolbar = null;\n }\n this.createToolGroup(toolbar);\n } else {\n toolGroup.setVisible(true);\n this.subToolbar = toolGroup;\n }\n if (!pagGroup) {\n console.log('Custom Pagination Group missing, recreating...');\n if (this.paginationGroup) {\n this.paginationGroup = null;\n }\n this.createPaginationGroup(toolbar);\n } else {\n pagGroup.setVisible(true);\n this.paginationGroup = pagGroup;\n }\n toolbar.setVisible(true);\n this.updatePaginationState();\n };\n ToolbarExtension.prototype.createToolGroup = function (toolbar) {\n const viewer = this.viewer;\n this.subToolbar = new Autodesk.Viewing.UI.ControlGroup('custom-tool-group');\n toolbar.addControl(this.subToolbar);\n const panBtn = new Autodesk.Viewing.UI.Button('custom-pan-btn');\n panBtn.setIcon('adsk-icon-pan');\n panBtn.setToolTip('Pan');\n panBtn.onClick = () => viewer.setTool('pan');\n this.subToolbar.addControl(panBtn);\n const docBrowserBtn = new Autodesk.Viewing.UI.Button(\n 'custom-doc-browser-btn'\n );\n docBrowserBtn.setIcon('adsk-icon-documentModels');\n docBrowserBtn.setToolTip('Document Browser');\n docBrowserBtn.onClick = () => {\n const ext = viewer.getExtension('Autodesk.DocumentBrowser');\n if (ext && ext.ui) ext.ui.togglePanel();\n };\n this.subToolbar.addControl(docBrowserBtn);\n const downloadBtn = new Autodesk.Viewing.UI.Button('custom-download-btn');\n downloadBtn.setIcon('adsk-icon-custom-download');\n downloadBtn.setToolTip('Download File');\n downloadBtn.onClick = () => {\n if (this.options && this.options.filePath) {\n const a = document.createElement('a');\n a.href = this.options.filePath;\n a.download = '';\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n } else {\n console.warn('FilePath not available in extension options');\n }\n };\n this.subToolbar.addControl(downloadBtn);\n };\n ToolbarExtension.prototype.createPaginationGroup = function (toolbar) {\n this.paginationGroup = new Autodesk.Viewing.UI.ControlGroup(\n 'custom-pagination-group'\n );\n toolbar.addControl(this.paginationGroup);\n const prevBtn = new Autodesk.Viewing.UI.Button('prev-page-btn');\n prevBtn.setIcon('adsk-icon-custom-prev');\n prevBtn.addClass('custom-prev-btn');\n prevBtn.setToolTip('Previous Page');\n prevBtn.onClick = () => {\n if (this.viewables.length > 0) {\n this.currentIndex =\n (this.currentIndex - 1 + this.viewables.length) %\n this.viewables.length;\n this.loadCurrentViewable();\n }\n };\n this.paginationGroup.addControl(prevBtn);\n const labelBtn = new Autodesk.Viewing.UI.Button('total-page-label');\n labelBtn.setToolTip('Page info');\n this.paginationGroup.addControl(labelBtn);\n const nextBtn = new Autodesk.Viewing.UI.Button('next-page-btn');\n nextBtn.setIcon('adsk-icon-custom-next');\n nextBtn.addClass('custom-next-btn');\n nextBtn.setToolTip('Next Page');\n nextBtn.onClick = () => {\n if (this.viewables.length > 0) {\n this.currentIndex = (this.currentIndex + 1) % this.viewables.length;\n this.loadCurrentViewable();\n }\n };\n this.paginationGroup.addControl(nextBtn);\n };\n Autodesk.Viewing.theExtensionManager.registerExtension(\n 'ToolbarExtension',\n ToolbarExtension\n );\n}\n","import { useEffect } from 'react';\n\nconst useCss = (href) => {\n useEffect(() => {\n if (!href) return;\n const link = document.createElement('link');\n link.href = href;\n link.rel = 'stylesheet';\n document.head.appendChild(link);\n\n return () => {\n document.head.removeChild(link);\n };\n }, [href]);\n};\n\nexport default useCss;\n","import { useEffect, useState } from 'react';\nconst scriptCache = new Set();\nconst useScript = (src) => {\n const [status, setStatus] = useState(src ? 'loading' : 'idle');\n useEffect(() => {\n if (!src) {\n setStatus('idle');\n return;\n }\n if (scriptCache.has(src)) {\n setStatus('ready');\n return;\n }\n let script = document.querySelector(`script[src=\"${src}\"]`);\n if (!script) {\n script = document.createElement('script');\n script.src = src;\n script.async = true;\n script.setAttribute('data-status', 'loading');\n document.body.appendChild(script);\n const setAttributeFromEvent = (event) => {\n const attribute = event.type === 'load' ? 'ready' : 'error';\n script?.setAttribute('data-status', attribute);\n if (attribute === 'ready') scriptCache.add(src);\n setStatus(attribute);\n };\n script.addEventListener('load', setAttributeFromEvent);\n script.addEventListener('error', setAttributeFromEvent);\n } else {\n setStatus(script.getAttribute('data-status'));\n }\n const setStateFromEvent = (event) => {\n setStatus(event.type === 'load' ? 'ready' : 'error');\n };\n script.addEventListener('load', setStateFromEvent);\n script.addEventListener('error', setStateFromEvent);\n return () => {\n if (script) {\n script.removeEventListener('load', setStateFromEvent);\n script.removeEventListener('error', setStateFromEvent);\n }\n };\n }, [src]);\n return status;\n};\nexport default useScript;\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { message } from 'antd';\nimport { useEffect } from 'react';\nimport { registerToolbarExtension } from '../extensions/ToolbarExtension';\nimport useCss from '../hooks/useCss';\nimport useScript from '../hooks/useScript';\nimport '../styles/toolbar-custom.css';\nimport '../styles/toolbar-icons.css';\nconst ViewerForgePDF = ({ filePath, fileExt, setViewer }) => {\n useCss(\n 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css'\n );\n const status = useScript(\n 'https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js'\n );\n useEffect(() => {\n if (status === 'ready' && window.Autodesk) {\n const Autodesk = window.Autodesk;\n if (!fileExt) {\n message.warning('You need to provide file extension');\n return;\n }\n const validExts = ['pdf', 'dwf', 'dwfx'];\n if (!validExts.includes(fileExt.toLowerCase())) {\n message.warning('Only support pdf, dwf, dwfx format');\n return;\n }\n Autodesk.Viewing.Initializer({ env: 'Local' }, async () => {\n registerToolbarExtension(Autodesk);\n const viewerDiv = document.getElementById('forgeViewerPDF');\n viewerDiv.innerHTML = '';\n const viewer = new Autodesk.Viewing.GuiViewer3D(viewerDiv);\n viewer.start();\n viewer.loadExtension('Autodesk.DocumentBrowser');\n viewer.loadExtension('Autodesk.Viewing.MarkupsCore');\n viewer.loadExtension('Autodesk.Viewing.MarkupsGui');\n viewer.loadExtension('ToolbarExtension', { filePath: filePath });\n viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (e) => {\n e.target.loadExtension('Autodesk.Viewing.MarkupsCore');\n e.target.loadExtension('Autodesk.Viewing.MarkupsGui');\n });\n const isDWF =\n fileExt.toLowerCase() === 'pdf' ? 'Autodesk.PDF' : 'Autodesk.DWF';\n await viewer.loadExtension(isDWF);\n const handleLoadSuccess = (e) => {\n try {\n viewer.setReverseZoomDirection(true);\n const root = e.getDocumentNode().getRootNode();\n const view3d = root.search(\n { type: 'geometry', role: '3d', progress: 'complete' },\n true\n );\n const view2d = root.search(\n { type: 'geometry', role: '2d', progress: 'complete' },\n true\n );\n const viewables = view3d.concat(view2d);\n const toolbarExt = viewer.getExtension('ToolbarExtension');\n if (toolbarExt && typeof toolbarExt.setViewables === 'function') {\n toolbarExt.setViewables(viewables);\n }\n if (viewer.toolbar) {\n viewer.toolbar.setVisible(true);\n console.log('Toolbar forced visible');\n }\n if (viewables.length > 1) {\n const documentBrowser = viewer.getExtension(\n 'Autodesk.DocumentBrowser'\n );\n if (documentBrowser) {\n if (documentBrowser.ui.panel) {\n documentBrowser.ui.panel.container.style.top = 0;\n documentBrowser.ui.panel.container.style.left = 'unset';\n documentBrowser.ui.panel.container.style.right = '0px';\n documentBrowser.ui.panel.container.style.width = '200px';\n }\n }\n }\n if (setViewer) setViewer(viewer);\n } catch (err) {\n console.error('Error in handleLoadSuccess:', err);\n }\n };\n if (isDWF === 'Autodesk.DWF') {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', filePath, true);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n if (this.status === 200) {\n const myBlob = this.response;\n const url1 = window.URL.createObjectURL(myBlob);\n viewer.loadModel(url1 + '#.dwf', {}, handleLoadSuccess);\n }\n };\n xhr.send();\n } else {\n viewer.loadModel(filePath, {}, handleLoadSuccess);\n }\n });\n }\n }, [status, filePath, fileExt, setViewer]);\n return (\n <div style={{ position: 'relative', width: '100%', height: '100%' }}>\n <div id='forgeViewerPDF' style={{ width: '100%', height: '100%' }} />\n </div>\n );\n};\nexport default ViewerForgePDF;\n"],"names":["registerToolbarExtension","Autodesk","ToolbarExtension","viewer","options","Viewing","Extension","call","subToolbar","paginationGroup","viewables","currentIndex","prototype","Object","create","constructor","load","unload","cleanupToolbar","toolbar","removeControl","setViewables","_this","updatePaginationState","addEventListener","MODEL_ADDED_EVENT","e","updateCurrentIndexFromModel","model","length","currentNode","getDocumentNode","currentGuid","data","guid","console","log","index","findIndex","v","vGuid","totalBtn","getControl","current","total","setToolTip","concat","domElem","container","innerHTML","loadCurrentViewable","_this2","loadDocumentNode","getDocument","then","defaultGroups","forEach","id","group","setVisible","toolGroupExists","paginationGroupExists","addControl","err","error","onToolbarCreated","_this3","refreshToolbar","GEOMETRY_LOADED_EVENT","setTimeout","TOOLBAR_CREATED_EVENT","_toolbarInterval","clearInterval","setInterval","toolGroup","pagGroup","originalUnload","style","display","createToolGroup","createPaginationGroup","_this4","UI","ControlGroup","panBtn","Button","setIcon","onClick","setTool","docBrowserBtn","ext","getExtension","ui","togglePanel","downloadBtn","filePath","a","document","createElement","href","download","body","appendChild","click","removeChild","warn","_this5","prevBtn","addClass","labelBtn","nextBtn","theExtensionManager","registerExtension","useCss","useEffect","link","rel","head","scriptCache","Set","useScript","src","_useState","useState","_useState2","_slicedToArray","status","setStatus","has","script","querySelector","async","setAttribute","setAttributeFromEvent","event","_script","attribute","type","add","getAttribute","setStateFromEvent","removeEventListener","ViewerForgePDF","_ref","fileExt","setViewer","window","message","warning","validExts","includes","toLowerCase","Initializer","env","_asyncToGenerator","_regenerator","m","_callee","viewerDiv","isDWF","handleLoadSuccess","xhr","w","_context","n","getElementById","GuiViewer3D","start","loadExtension","target","setReverseZoomDirection","root","getRootNode","view3d","search","role","progress","view2d","toolbarExt","documentBrowser","panel","top","left","right","width","XMLHttpRequest","open","responseType","onload","myBlob","response","url1","URL","createObjectURL","loadModel","send","_jsx","position","height","children"],"mappings":"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","x_google_ignoreList":[3]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dtducas/wh-forge-viewer",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "A customized Autodesk Forge Viewer component for React with custom toolbar and PDF support",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",