drugflow-molstar 0.3.72 → 0.3.73
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/build/drugflow-molstar-0.3.73.css +1 -0
- package/build/drugflow-molstar-component-0.3.73.js +25 -0
- package/build/drugflow-molstar-plugin-0.3.73.js +2 -0
- package/build/drugflow-molstar-plugin-0.3.73.js.LICENSE.txt +39 -0
- package/lib/drugflow-molstar-component-build-0.3.73.js +2 -0
- package/lib/drugflow-molstar-component-build-0.3.73.js.LICENSE.txt +24 -0
- package/lib/index.js +297 -0
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-dom.production.min.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @license React
|
|
13
|
+
* react-jsx-runtime.production.min.js
|
|
14
|
+
*
|
|
15
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
16
|
+
*
|
|
17
|
+
* This source code is licensed under the MIT license found in the
|
|
18
|
+
* LICENSE file in the root directory of this source tree.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @license React
|
|
23
|
+
* react.production.min.js
|
|
24
|
+
*
|
|
25
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
26
|
+
*
|
|
27
|
+
* This source code is licensed under the MIT license found in the
|
|
28
|
+
* LICENSE file in the root directory of this source tree.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @license React
|
|
33
|
+
* scheduler.production.min.js
|
|
34
|
+
*
|
|
35
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
36
|
+
*
|
|
37
|
+
* This source code is licensed under the MIT license found in the
|
|
38
|
+
* LICENSE file in the root directory of this source tree.
|
|
39
|
+
*/
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see drugflow-molstar-component-build-0.3.73.js.LICENSE.txt */
|
|
2
|
+
(()=>{"use strict";const t="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,e=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},s=`{{lit-${String(Math.random()).slice(2)}}}`,i=`\x3c!--${s}--\x3e`,n=new RegExp(`${s}|${i}`),r="$lit$";class o{constructor(t,e){this.parts=[],this.element=e;const i=[],o=[],l=document.createTreeWalker(e.content,133,null,!1);let c=0,p=-1,u=0;const{strings:_,values:{length:m}}=t;for(;u<m;){const t=l.nextNode();if(null!==t){if(p++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)a(e[t].name,r)&&i++;for(;i-- >0;){const e=_[u],s=d.exec(e)[2],i=s.toLowerCase()+r,o=t.getAttribute(i);t.removeAttribute(i);const a=o.split(n);this.parts.push({type:"attribute",index:p,name:s,strings:a}),u+=a.length-1}}"TEMPLATE"===t.tagName&&(o.push(t),l.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(s)>=0){const s=t.parentNode,o=e.split(n),l=o.length-1;for(let e=0;e<l;e++){let i,n=o[e];if(""===n)i=h();else{const t=d.exec(n);null!==t&&a(t[2],r)&&(n=n.slice(0,t.index)+t[1]+t[2].slice(0,-r.length)+t[3]),i=document.createTextNode(n)}s.insertBefore(i,t),this.parts.push({type:"node",index:++p})}""===o[l]?(s.insertBefore(h(),t),i.push(t)):t.data=o[l],u+=l}}else if(8===t.nodeType)if(t.data===s){const e=t.parentNode;null!==t.previousSibling&&p!==c||(p++,e.insertBefore(h(),t)),c=p,this.parts.push({type:"node",index:p}),null===t.nextSibling?t.data="":(i.push(t),p--),u++}else{let e=-1;for(;-1!==(e=t.data.indexOf(s,e+1));)this.parts.push({type:"node",index:-1}),u++}}else l.currentNode=o.pop()}for(const t of i)t.parentNode.removeChild(t)}}const a=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},l=t=>-1!==t.index,h=()=>document.createComment(""),d=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;function c(t,e){const{element:{content:s},parts:i}=t,n=document.createTreeWalker(s,133,null,!1);let r=u(i),o=i[r],a=-1,l=0;const h=[];let d=null;for(;n.nextNode();){a++;const t=n.currentNode;for(t.previousSibling===d&&(d=null),e.has(t)&&(h.push(t),null===d&&(d=t)),null!==d&&l++;void 0!==o&&o.index===a;)o.index=null!==d?-1:o.index-l,r=u(i,r),o=i[r]}h.forEach((t=>t.parentNode.removeChild(t)))}const p=t=>{let e=11===t.nodeType?0:1;const s=document.createTreeWalker(t,133,null,!1);for(;s.nextNode();)e++;return e},u=(t,e=-1)=>{for(let s=e+1;s<t.length;s++){const e=t[s];if(l(e))return s}return-1},_=new WeakMap,m=t=>"function"==typeof t&&_.has(t),y={},f={};class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const e=t?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),s=[],i=this.template.parts,n=document.createTreeWalker(e,133,null,!1);let r,o=0,a=0,h=n.nextNode();for(;o<i.length;)if(r=i[o],l(r)){for(;a<r.index;)a++,"TEMPLATE"===h.nodeName&&(s.push(h),n.currentNode=h.content),null===(h=n.nextNode())&&(n.currentNode=s.pop(),h=n.nextNode());if("node"===r.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(h.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(h,r.name,r.strings,this.options));o++}else this.__parts.push(void 0),o++;return t&&(document.adoptNode(e),customElements.upgrade(e)),e}}const S=window.trustedTypes&&trustedTypes.createPolicy("lit-html",{createHTML:t=>t}),v=` ${s} `;const w=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class x{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1,s=this.parts;if(1===e&&""===t[0]&&""===t[1]){const t=s[0].value;if("symbol"==typeof t)return String(t);if("string"==typeof t||!b(t))return t}let i="";for(let n=0;n<e;n++){i+=t[n];const e=s[n];if(void 0!==e){const t=e.value;if(w(t)||!b(t))i+="string"==typeof t?t:String(t);else for(const e of t)i+="string"==typeof e?e:String(e)}}return i+=t[e],i}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===y||w(t)&&t===this.value||(this.value=t,m(t)||(this.committer.dirty=!0))}commit(){for(;m(this.value);){const t=this.value;this.value=y,t(this)}this.value!==y&&this.committer.commit()}}class N{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(h()),this.endNode=t.appendChild(h())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=h()),t.__insert(this.endNode=h())}insertAfterPart(t){t.__insert(this.startNode=h()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){if(null===this.startNode.parentNode)return;for(;m(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=y,t(this)}const t=this.__pendingValue;t!==y&&(w(t)?t!==this.value&&this.__commitText(t):t instanceof class{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",n=!1;for(let o=0;o<t;o++){const t=this.strings[o],a=t.lastIndexOf("\x3c!--");n=(a>-1||n)&&-1===t.indexOf("--\x3e",a+1);const l=d.exec(t);e+=null===l?t+(n?v:i):t.substr(0,l.index)+l[1]+l[2]+r+l[3]+s}return e+=this.strings[t],e}getTemplateElement(){const t=document.createElement("template");let e=this.getHTML();return void 0!==S&&(e=S.createHTML(e)),t.innerHTML=e,t}}?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===f?(this.value=f,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling,s="string"==typeof(t=null==t?"":t)?t:String(t);e===this.endNode.previousSibling&&3===e.nodeType?e.data=s:this.__commitNode(document.createTextNode(s)),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof g&&this.value.template===e)this.value.update(t.values);else{const s=new g(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)s=e[i],void 0===s&&(s=new N(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){e(this.startNode.parentNode,t.nextSibling,this.endNode)}}class C{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;m(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=y,t(this)}if(this.__pendingValue===y)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=y}}class T extends x{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new A(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class A extends P{}let E=!1;(()=>{try{const t={get capture(){return E=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}})();class V{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;m(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=y,t(this)}if(this.__pendingValue===y)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=U(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=y}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const U=t=>t&&(E?{capture:t.capture,passive:t.passive,once:t.once}:t.capture);function O(t){let e=R.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},R.set(t.type,e));let i=e.stringsArray.get(t.strings);if(void 0!==i)return i;const n=t.strings.join(s);return i=e.keyString.get(n),void 0===i&&(i=new o(t,t.getTemplateElement()),e.keyString.set(n,i)),e.stringsArray.set(t.strings,i),i}const R=new Map,k=new WeakMap;new class{handleAttributeExpressions(t,e,s,i){const n=e[0];return"."===n?new T(t,e.slice(1),s).parts:"@"===n?[new V(t,e.slice(1),i.eventContext)]:"?"===n?[new C(t,e.slice(1),s)]:new x(t,e,s).parts}handleTextExpression(t){return new N(t)}},"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.4.1");const M=(t,e)=>`${t}--${e}`;let q=!0;void 0===window.ShadyCSS?q=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),q=!1);const I=t=>e=>{const i=M(e.type,t);let n=R.get(i);void 0===n&&(n={stringsArray:new WeakMap,keyString:new Map},R.set(i,n));let r=n.stringsArray.get(e.strings);if(void 0!==r)return r;const a=e.strings.join(s);if(r=n.keyString.get(a),void 0===r){const s=e.getTemplateElement();q&&window.ShadyCSS.prepareTemplateDom(s,t),r=new o(e,s),n.keyString.set(a,r)}return n.stringsArray.set(e.strings,r),r},j=["html","svg"],L=new Set;window.JSCompiler_renameProperty=(t,e)=>t;const F={toAttribute(t,e){switch(e){case Boolean:return t?"":null;case Object:case Array:return null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){switch(e){case Boolean:return null!==t;case Number:return null===t?null:Number(t);case Object:case Array:return JSON.parse(t)}return t}},H=(t,e)=>e!==t&&(e==e||t==t),z={attribute:!0,type:String,converter:F,reflect:!1,hasChanged:H};class B extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();const t=[];return this._classProperties.forEach(((e,s)=>{const i=this._attributeNameForProperty(s,e);void 0!==i&&(this._attributeToPropertyMap.set(i,s),t.push(i))})),t}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach(((t,e)=>this._classProperties.set(e,t)))}}static createProperty(t,e=z){if(this._ensureClassProperties(),this._classProperties.set(t,e),e.noAccessor||this.prototype.hasOwnProperty(t))return;const s="symbol"==typeof t?Symbol():`__${t}`,i=this.getPropertyDescriptor(t,s,e);void 0!==i&&Object.defineProperty(this.prototype,t,i)}static getPropertyDescriptor(t,e,s){return{get(){return this[e]},set(i){const n=this[t];this[e]=i,this.requestUpdateInternal(t,n,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this._classProperties&&this._classProperties.get(t)||z}static finalize(){const t=Object.getPrototypeOf(this);if(t.hasOwnProperty("finalized")||t.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const t=this.properties,e=[...Object.getOwnPropertyNames(t),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]];for(const s of e)this.createProperty(s,t[s])}}static _attributeNameForProperty(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}static _valueHasChanged(t,e,s=H){return s(t,e)}static _propertyValueFromAttribute(t,e){const s=e.type,i=e.converter||F,n="function"==typeof i?i:i.fromAttribute;return n?n(t,s):t}static _propertyValueToAttribute(t,e){if(void 0===e.reflect)return;const s=e.type,i=e.converter;return(i&&i.toAttribute||F.toAttribute)(t,s)}initialize(){this._updateState=0,this._updatePromise=new Promise((t=>this._enableUpdatingResolver=t)),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach(((t,e)=>{if(this.hasOwnProperty(e)){const t=this[e];delete this[e],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(e,t)}}))}_applyInstanceProperties(){this._instanceProperties.forEach(((t,e)=>this[e]=t)),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){void 0!==this._enableUpdatingResolver&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(t,e,s){e!==s&&this._attributeToProperty(t,s)}_propertyToAttribute(t,e,s=z){const i=this.constructor,n=i._attributeNameForProperty(t,s);if(void 0!==n){const t=i._propertyValueToAttribute(e,s);if(void 0===t)return;this._updateState=8|this._updateState,null==t?this.removeAttribute(n):this.setAttribute(n,t),this._updateState=-9&this._updateState}}_attributeToProperty(t,e){if(8&this._updateState)return;const s=this.constructor,i=s._attributeToPropertyMap.get(t);if(void 0!==i){const t=s.getPropertyOptions(i);this._updateState=16|this._updateState,this[i]=s._propertyValueFromAttribute(e,t),this._updateState=-17&this._updateState}}requestUpdateInternal(t,e,s){let i=!0;if(void 0!==t){const n=this.constructor;s=s||n.getPropertyOptions(t),n._valueHasChanged(this[t],e,s.hasChanged)?(this._changedProperties.has(t)||this._changedProperties.set(t,e),!0!==s.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(t,s))):i=!1}!this._hasRequestedUpdate&&i&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(t,e){return this.requestUpdateInternal(t,e),this.updateComplete}async _enqueueUpdate(){this._updateState=4|this._updateState;try{await this._updatePromise}catch(t){}const t=this.performUpdate();return null!=t&&await t,!this._hasRequestedUpdate}get _hasRequestedUpdate(){return 4&this._updateState}get hasUpdated(){return 1&this._updateState}performUpdate(){if(!this._hasRequestedUpdate)return;this._instanceProperties&&this._applyInstanceProperties();let t=!1;const e=this._changedProperties;try{t=this.shouldUpdate(e),t?this.update(e):this._markUpdated()}catch(e){throw t=!1,this._markUpdated(),e}t&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(e)),this.updated(e))}_markUpdated(){this._changedProperties=new Map,this._updateState=-5&this._updateState}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}shouldUpdate(t){return!0}update(t){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(((t,e)=>this._propertyToAttribute(e,this[e],t))),this._reflectingProperties=void 0),this._markUpdated()}updated(t){}firstUpdated(t){}}B.finalized=!0;const $=Element.prototype;$.msMatchesSelector||$.webkitMatchesSelector;const W=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,D=Symbol();class J{constructor(t,e){if(e!==D)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){return void 0===this._styleSheet&&(W?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}(window.litElementVersions||(window.litElementVersions=[])).push("2.5.1");const G={};class K extends B{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const t=this.getStyles();if(Array.isArray(t)){const e=(t,s)=>t.reduceRight(((t,s)=>Array.isArray(s)?e(s,t):(t.add(s),t)),s),s=e(t,new Set),i=[];s.forEach((t=>i.unshift(t))),this._styles=i}else this._styles=void 0===t?[]:[t];this._styles=this._styles.map((t=>{if(t instanceof CSSStyleSheet&&!W){const e=Array.prototype.slice.call(t.cssRules).reduce(((t,e)=>t+e.cssText),"");return new J(String(e),D)}return t}))}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow(this.constructor.shadowRootOptions)}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?W?this.renderRoot.adoptedStyleSheets=t.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map((t=>t.cssText)),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){const e=this.render();super.update(t),e!==G&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach((t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)})))}render(){return G}}K.finalized=!0,K.render=(t,s,i)=>{if(!i||"object"!=typeof i||!i.scopeName)throw new Error("The `scopeName` option is required.");const n=i.scopeName,r=k.has(s),o=q&&11===s.nodeType&&!!s.host,a=o&&!L.has(n),l=a?document.createDocumentFragment():s;if(((t,s,i)=>{let n=k.get(s);void 0===n&&(e(s,s.firstChild),k.set(s,n=new N(Object.assign({templateFactory:O},i))),n.appendInto(s)),n.setValue(t),n.commit()})(t,l,Object.assign({templateFactory:I(n)},i)),a){const t=k.get(l);k.delete(l);((t,e,s)=>{L.add(t);const i=s?s.element:document.createElement("template"),n=e.querySelectorAll("style"),{length:r}=n;if(0===r)return void window.ShadyCSS.prepareTemplateStyles(i,t);const o=document.createElement("style");for(let t=0;t<r;t++){const e=n[t];e.parentNode.removeChild(e),o.textContent+=e.textContent}(t=>{j.forEach((e=>{const s=R.get(M(e,t));void 0!==s&&s.keyString.forEach((t=>{const{element:{content:e}}=t,s=new Set;Array.from(e.querySelectorAll("style")).forEach((t=>{s.add(t)})),c(t,s)}))}))})(t);const a=i.content;s?function(t,e,s=null){const{element:{content:i},parts:n}=t;if(null==s)return void i.appendChild(e);const r=document.createTreeWalker(i,133,null,!1);let o=u(n),a=0,l=-1;for(;r.nextNode();)for(l++,r.currentNode===s&&(a=p(e),s.parentNode.insertBefore(e,s));-1!==o&&n[o].index===l;){if(a>0){for(;-1!==o;)n[o].index+=a,o=u(n,o);return}o=u(n,o)}}(s,o,a.firstChild):a.insertBefore(o,a.firstChild),window.ShadyCSS.prepareTemplateStyles(i,t);const l=a.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==l)e.insertBefore(l.cloneNode(!0),e.firstChild);else if(s){a.insertBefore(o,a.firstChild);const t=new Set;t.add(o),c(s,t)}})(n,l,t.value instanceof g?t.value.template:void 0),e(s,s.firstChild),s.appendChild(l),k.set(s,t)}!r&&o&&window.ShadyCSS.styleElement(s.host)},K.shadowRootOptions={mode:"open"}})();
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
|
4
|
+
* This code may only be used under the BSD style license found at
|
|
5
|
+
* http://polymer.github.io/LICENSE.txt
|
|
6
|
+
* The complete set of authors may be found at
|
|
7
|
+
* http://polymer.github.io/AUTHORS.txt
|
|
8
|
+
* The complete set of contributors may be found at
|
|
9
|
+
* http://polymer.github.io/CONTRIBUTORS.txt
|
|
10
|
+
* Code distributed by Google as part of the polymer project is also
|
|
11
|
+
* subject to an additional IP rights grant found at
|
|
12
|
+
* http://polymer.github.io/PATENTS.txt
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
@license
|
|
17
|
+
Copyright (c) 2019 The Polymer Project Authors. All rights reserved.
|
|
18
|
+
This code may only be used under the BSD style license found at
|
|
19
|
+
http://polymer.github.io/LICENSE.txt The complete set of authors may be found at
|
|
20
|
+
http://polymer.github.io/AUTHORS.txt The complete set of contributors may be
|
|
21
|
+
found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as
|
|
22
|
+
part of the polymer project is also subject to an additional IP rights grant
|
|
23
|
+
found at http://polymer.github.io/PATENTS.txt
|
|
24
|
+
*/
|
package/lib/index.js
CHANGED
|
@@ -30,6 +30,7 @@ var linear_algebra_1 = require("molstar/lib/mol-math/linear-algebra");
|
|
|
30
30
|
var int_1 = require("molstar/lib/mol-data/int");
|
|
31
31
|
var names_1 = require("molstar/lib/mol-util/color/names");
|
|
32
32
|
var structure_contact3d_1 = require("./structure_contact3d");
|
|
33
|
+
var structure_transparency_1 = require("molstar/lib/mol-plugin-state/helpers/structure-transparency");
|
|
33
34
|
require('molstar/lib/mol-plugin-ui/skin/light.scss');
|
|
34
35
|
var DrugflowMolstarPlugin = /** @class */ (function () {
|
|
35
36
|
function DrugflowMolstarPlugin() {
|
|
@@ -495,6 +496,302 @@ var DrugflowMolstarPlugin = /** @class */ (function () {
|
|
|
495
496
|
return [2 /*return*/];
|
|
496
497
|
}
|
|
497
498
|
});
|
|
499
|
+
}); },
|
|
500
|
+
/**
|
|
501
|
+
* 使用透明度隐藏指定的链
|
|
502
|
+
* @param chainId 链ID,例如 'A', 'B'
|
|
503
|
+
*/
|
|
504
|
+
hideChain: function (chainId) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
505
|
+
var structures, components, _b, structures_1, s;
|
|
506
|
+
var _this = this;
|
|
507
|
+
return tslib_1.__generator(this, function (_c) {
|
|
508
|
+
switch (_c.label) {
|
|
509
|
+
case 0:
|
|
510
|
+
structures = this.plugin.managers.structure.hierarchy.current.structures;
|
|
511
|
+
components = [];
|
|
512
|
+
for (_b = 0, structures_1 = structures; _b < structures_1.length; _b++) {
|
|
513
|
+
s = structures_1[_b];
|
|
514
|
+
components.push.apply(components, s.components);
|
|
515
|
+
}
|
|
516
|
+
if (components.length === 0) {
|
|
517
|
+
console.warn('No components found');
|
|
518
|
+
return [2 /*return*/];
|
|
519
|
+
}
|
|
520
|
+
// 使用透明度为1(完全透明)来隐藏
|
|
521
|
+
return [4 /*yield*/, (0, structure_transparency_1.setStructureTransparency)(this.plugin, components, 1, function (structure) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
522
|
+
var data, chainQuery;
|
|
523
|
+
var _this = this;
|
|
524
|
+
return tslib_1.__generator(this, function (_b) {
|
|
525
|
+
data = structure;
|
|
526
|
+
chainQuery = (0, structure_selection_query_1.StructureSelectionQuery)("Chain_".concat(chainId), builder_1.MolScriptBuilder.struct.generator.atomGroups({
|
|
527
|
+
'chain-test': builder_1.MolScriptBuilder.core.rel.eq([builder_1.MolScriptBuilder.ammp('auth_asym_id'), chainId])
|
|
528
|
+
}), {
|
|
529
|
+
description: "Chain ".concat(chainId),
|
|
530
|
+
category: structure_selection_query_1.StructureSelectionCategory.Manipulate
|
|
531
|
+
});
|
|
532
|
+
return [2 /*return*/, this.plugin.runTask(mol_task_1.Task.create('Select Chain', function (runtime) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
533
|
+
var selection;
|
|
534
|
+
return tslib_1.__generator(this, function (_b) {
|
|
535
|
+
switch (_b.label) {
|
|
536
|
+
case 0: return [4 /*yield*/, chainQuery.getSelection(this.plugin, runtime, data)];
|
|
537
|
+
case 1:
|
|
538
|
+
selection = _b.sent();
|
|
539
|
+
return [2 /*return*/, structure_1.StructureSelection.toLociWithSourceUnits(selection)];
|
|
540
|
+
}
|
|
541
|
+
});
|
|
542
|
+
}); }))];
|
|
543
|
+
});
|
|
544
|
+
}); })];
|
|
545
|
+
case 1:
|
|
546
|
+
// 使用透明度为1(完全透明)来隐藏
|
|
547
|
+
_c.sent();
|
|
548
|
+
console.log("\u2705 Chain ".concat(chainId, " hidden"));
|
|
549
|
+
return [2 /*return*/];
|
|
550
|
+
}
|
|
551
|
+
});
|
|
552
|
+
}); },
|
|
553
|
+
/**
|
|
554
|
+
* 清除指定链的透明度来显示
|
|
555
|
+
* @param chainId 链ID,例如 'A', 'B'
|
|
556
|
+
*/
|
|
557
|
+
showChain: function (chainId) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
558
|
+
var structures, components, _b, structures_2, s;
|
|
559
|
+
return tslib_1.__generator(this, function (_c) {
|
|
560
|
+
switch (_c.label) {
|
|
561
|
+
case 0:
|
|
562
|
+
structures = this.plugin.managers.structure.hierarchy.current.structures;
|
|
563
|
+
components = [];
|
|
564
|
+
for (_b = 0, structures_2 = structures; _b < structures_2.length; _b++) {
|
|
565
|
+
s = structures_2[_b];
|
|
566
|
+
components.push.apply(components, s.components);
|
|
567
|
+
}
|
|
568
|
+
if (components.length === 0) {
|
|
569
|
+
console.warn('No components found');
|
|
570
|
+
return [2 /*return*/];
|
|
571
|
+
}
|
|
572
|
+
// 清除透明度来恢复显示
|
|
573
|
+
return [4 /*yield*/, (0, structure_transparency_1.clearStructureTransparency)(this.plugin, components)];
|
|
574
|
+
case 1:
|
|
575
|
+
// 清除透明度来恢复显示
|
|
576
|
+
_c.sent();
|
|
577
|
+
console.log("\u2705 Chain ".concat(chainId, " shown"));
|
|
578
|
+
return [2 /*return*/];
|
|
579
|
+
}
|
|
580
|
+
});
|
|
581
|
+
}); },
|
|
582
|
+
/**
|
|
583
|
+
* 使用透明度隐藏指定的配体
|
|
584
|
+
* @param chainId 链ID
|
|
585
|
+
* @param resId 残基序号(可选)
|
|
586
|
+
* @param resName 残基名称(可选)
|
|
587
|
+
*/
|
|
588
|
+
hideLigand: function (chainId, resId, resName) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
589
|
+
var structures, components, _b, structures_3, s, queryConditions;
|
|
590
|
+
var _this = this;
|
|
591
|
+
return tslib_1.__generator(this, function (_c) {
|
|
592
|
+
switch (_c.label) {
|
|
593
|
+
case 0:
|
|
594
|
+
structures = this.plugin.managers.structure.hierarchy.current.structures;
|
|
595
|
+
components = [];
|
|
596
|
+
for (_b = 0, structures_3 = structures; _b < structures_3.length; _b++) {
|
|
597
|
+
s = structures_3[_b];
|
|
598
|
+
components.push.apply(components, s.components);
|
|
599
|
+
}
|
|
600
|
+
if (components.length === 0) {
|
|
601
|
+
console.warn('No components found');
|
|
602
|
+
return [2 /*return*/];
|
|
603
|
+
}
|
|
604
|
+
queryConditions = {
|
|
605
|
+
'chain-test': builder_1.MolScriptBuilder.core.rel.eq([builder_1.MolScriptBuilder.ammp('auth_asym_id'), chainId])
|
|
606
|
+
};
|
|
607
|
+
if (resName) {
|
|
608
|
+
queryConditions['residue-test'] = builder_1.MolScriptBuilder.core.rel.eq([builder_1.MolScriptBuilder.ammp('auth_comp_id'), resName.toUpperCase()]);
|
|
609
|
+
}
|
|
610
|
+
else if (resId !== undefined) {
|
|
611
|
+
queryConditions['residue-test'] = builder_1.MolScriptBuilder.core.rel.eq([builder_1.MolScriptBuilder.ammp('auth_seq_id'), resId]);
|
|
612
|
+
}
|
|
613
|
+
// 使用透明度为1(完全透明)来隐藏
|
|
614
|
+
return [4 /*yield*/, (0, structure_transparency_1.setStructureTransparency)(this.plugin, components, 1, function (structure) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
615
|
+
var data, ligandQuery;
|
|
616
|
+
var _this = this;
|
|
617
|
+
return tslib_1.__generator(this, function (_b) {
|
|
618
|
+
data = structure;
|
|
619
|
+
ligandQuery = (0, structure_selection_query_1.StructureSelectionQuery)("Ligand_".concat(chainId, "_").concat(resId || resName || 'all'), builder_1.MolScriptBuilder.struct.generator.atomGroups(queryConditions), {
|
|
620
|
+
description: "Ligand at ".concat(chainId, ":").concat(resId || resName || 'all'),
|
|
621
|
+
category: structure_selection_query_1.StructureSelectionCategory.Manipulate
|
|
622
|
+
});
|
|
623
|
+
return [2 /*return*/, this.plugin.runTask(mol_task_1.Task.create('Select Ligand', function (runtime) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
624
|
+
var selection;
|
|
625
|
+
return tslib_1.__generator(this, function (_b) {
|
|
626
|
+
switch (_b.label) {
|
|
627
|
+
case 0: return [4 /*yield*/, ligandQuery.getSelection(this.plugin, runtime, data)];
|
|
628
|
+
case 1:
|
|
629
|
+
selection = _b.sent();
|
|
630
|
+
return [2 /*return*/, structure_1.StructureSelection.toLociWithSourceUnits(selection)];
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
}); }))];
|
|
634
|
+
});
|
|
635
|
+
}); })];
|
|
636
|
+
case 1:
|
|
637
|
+
// 使用透明度为1(完全透明)来隐藏
|
|
638
|
+
_c.sent();
|
|
639
|
+
console.log("\u2705 Ligand ".concat(chainId, ":").concat(resId || resName || 'all', " hidden"));
|
|
640
|
+
return [2 /*return*/];
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
}); },
|
|
644
|
+
/**
|
|
645
|
+
* 清除指定配体的透明度来显示
|
|
646
|
+
* @param chainId 链ID
|
|
647
|
+
* @param resId 残基序号(可选)
|
|
648
|
+
* @param resName 残基名称(可选)
|
|
649
|
+
*/
|
|
650
|
+
showLigand: function (chainId, resId, resName) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
651
|
+
var structures, components, _b, structures_4, s;
|
|
652
|
+
return tslib_1.__generator(this, function (_c) {
|
|
653
|
+
switch (_c.label) {
|
|
654
|
+
case 0:
|
|
655
|
+
structures = this.plugin.managers.structure.hierarchy.current.structures;
|
|
656
|
+
components = [];
|
|
657
|
+
for (_b = 0, structures_4 = structures; _b < structures_4.length; _b++) {
|
|
658
|
+
s = structures_4[_b];
|
|
659
|
+
components.push.apply(components, s.components);
|
|
660
|
+
}
|
|
661
|
+
if (components.length === 0) {
|
|
662
|
+
console.warn('No components found');
|
|
663
|
+
return [2 /*return*/];
|
|
664
|
+
}
|
|
665
|
+
// 清除透明度来恢复显示
|
|
666
|
+
return [4 /*yield*/, (0, structure_transparency_1.clearStructureTransparency)(this.plugin, components)];
|
|
667
|
+
case 1:
|
|
668
|
+
// 清除透明度来恢复显示
|
|
669
|
+
_c.sent();
|
|
670
|
+
console.log("\u2705 Ligand ".concat(chainId, ":").concat(resId || resName || 'all', " shown"));
|
|
671
|
+
return [2 /*return*/];
|
|
672
|
+
}
|
|
673
|
+
});
|
|
674
|
+
}); },
|
|
675
|
+
/**
|
|
676
|
+
* 批量隐藏多个链
|
|
677
|
+
* @param chainIds 链ID数组,例如 ['A', 'B', 'C']
|
|
678
|
+
*/
|
|
679
|
+
hideChains: function (chainIds) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
680
|
+
var _b, chainIds_1, chainId;
|
|
681
|
+
return tslib_1.__generator(this, function (_c) {
|
|
682
|
+
switch (_c.label) {
|
|
683
|
+
case 0:
|
|
684
|
+
_b = 0, chainIds_1 = chainIds;
|
|
685
|
+
_c.label = 1;
|
|
686
|
+
case 1:
|
|
687
|
+
if (!(_b < chainIds_1.length)) return [3 /*break*/, 4];
|
|
688
|
+
chainId = chainIds_1[_b];
|
|
689
|
+
return [4 /*yield*/, this.visual.hideChain(chainId)];
|
|
690
|
+
case 2:
|
|
691
|
+
_c.sent();
|
|
692
|
+
_c.label = 3;
|
|
693
|
+
case 3:
|
|
694
|
+
_b++;
|
|
695
|
+
return [3 /*break*/, 1];
|
|
696
|
+
case 4: return [2 /*return*/];
|
|
697
|
+
}
|
|
698
|
+
});
|
|
699
|
+
}); },
|
|
700
|
+
/**
|
|
701
|
+
* 批量显示多个链
|
|
702
|
+
* @param chainIds 链ID数组,例如 ['A', 'B', 'C']
|
|
703
|
+
*/
|
|
704
|
+
showChains: function (chainIds) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
705
|
+
var _b, chainIds_2, chainId;
|
|
706
|
+
return tslib_1.__generator(this, function (_c) {
|
|
707
|
+
switch (_c.label) {
|
|
708
|
+
case 0:
|
|
709
|
+
_b = 0, chainIds_2 = chainIds;
|
|
710
|
+
_c.label = 1;
|
|
711
|
+
case 1:
|
|
712
|
+
if (!(_b < chainIds_2.length)) return [3 /*break*/, 4];
|
|
713
|
+
chainId = chainIds_2[_b];
|
|
714
|
+
return [4 /*yield*/, this.visual.showChain(chainId)];
|
|
715
|
+
case 2:
|
|
716
|
+
_c.sent();
|
|
717
|
+
_c.label = 3;
|
|
718
|
+
case 3:
|
|
719
|
+
_b++;
|
|
720
|
+
return [3 /*break*/, 1];
|
|
721
|
+
case 4: return [2 /*return*/];
|
|
722
|
+
}
|
|
723
|
+
});
|
|
724
|
+
}); },
|
|
725
|
+
/**
|
|
726
|
+
* 切换链的显示/隐藏状态
|
|
727
|
+
* @param chainId 链ID
|
|
728
|
+
* @param visible true显示,false隐藏
|
|
729
|
+
*/
|
|
730
|
+
toggleChain: function (chainId, visible) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
731
|
+
return tslib_1.__generator(this, function (_b) {
|
|
732
|
+
switch (_b.label) {
|
|
733
|
+
case 0:
|
|
734
|
+
if (!visible) return [3 /*break*/, 2];
|
|
735
|
+
return [4 /*yield*/, this.visual.showChain(chainId)];
|
|
736
|
+
case 1:
|
|
737
|
+
_b.sent();
|
|
738
|
+
return [3 /*break*/, 4];
|
|
739
|
+
case 2: return [4 /*yield*/, this.visual.hideChain(chainId)];
|
|
740
|
+
case 3:
|
|
741
|
+
_b.sent();
|
|
742
|
+
_b.label = 4;
|
|
743
|
+
case 4: return [2 /*return*/];
|
|
744
|
+
}
|
|
745
|
+
});
|
|
746
|
+
}); },
|
|
747
|
+
/**
|
|
748
|
+
* 切换配体的显示/隐藏状态
|
|
749
|
+
* @param chainId 链ID
|
|
750
|
+
* @param visible true显示,false隐藏
|
|
751
|
+
* @param resId 残基序号(可选)
|
|
752
|
+
* @param resName 残基名称(可选)
|
|
753
|
+
*/
|
|
754
|
+
toggleLigand: function (chainId, visible, resId, resName) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
755
|
+
return tslib_1.__generator(this, function (_b) {
|
|
756
|
+
switch (_b.label) {
|
|
757
|
+
case 0:
|
|
758
|
+
if (!visible) return [3 /*break*/, 2];
|
|
759
|
+
return [4 /*yield*/, this.visual.showLigand(chainId, resId, resName)];
|
|
760
|
+
case 1:
|
|
761
|
+
_b.sent();
|
|
762
|
+
return [3 /*break*/, 4];
|
|
763
|
+
case 2: return [4 /*yield*/, this.visual.hideLigand(chainId, resId, resName)];
|
|
764
|
+
case 3:
|
|
765
|
+
_b.sent();
|
|
766
|
+
_b.label = 4;
|
|
767
|
+
case 4: return [2 /*return*/];
|
|
768
|
+
}
|
|
769
|
+
});
|
|
770
|
+
}); },
|
|
771
|
+
/**
|
|
772
|
+
* 清除所有透明度,恢复所有被隐藏的元素
|
|
773
|
+
*/
|
|
774
|
+
clearAllTransparency: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
775
|
+
var structures, components, _b, structures_5, s;
|
|
776
|
+
return tslib_1.__generator(this, function (_c) {
|
|
777
|
+
switch (_c.label) {
|
|
778
|
+
case 0:
|
|
779
|
+
structures = this.plugin.managers.structure.hierarchy.current.structures;
|
|
780
|
+
components = [];
|
|
781
|
+
for (_b = 0, structures_5 = structures; _b < structures_5.length; _b++) {
|
|
782
|
+
s = structures_5[_b];
|
|
783
|
+
components.push.apply(components, s.components);
|
|
784
|
+
}
|
|
785
|
+
if (!(components.length > 0)) return [3 /*break*/, 2];
|
|
786
|
+
return [4 /*yield*/, (0, structure_transparency_1.clearStructureTransparency)(this.plugin, components)];
|
|
787
|
+
case 1:
|
|
788
|
+
_c.sent();
|
|
789
|
+
_c.label = 2;
|
|
790
|
+
case 2:
|
|
791
|
+
console.log('✅ All transparency cleared');
|
|
792
|
+
return [2 /*return*/];
|
|
793
|
+
}
|
|
794
|
+
});
|
|
498
795
|
}); }
|
|
499
796
|
};
|
|
500
797
|
this.ArbitrarySphereVisuals = {
|