@claspo/common 5.2.1-theme.13
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/DefaultEventEmitter.d.ts +13 -0
- package/DefaultEventEmitter.js +1 -0
- package/HttpAbortableLoader.d.ts +11 -0
- package/HttpAbortableLoader.js +1 -0
- package/UuidGenerator.d.ts +3 -0
- package/UuidGenerator.js +1 -0
- package/action/type.d.ts +2 -0
- package/action/type.js +1 -0
- package/async/createAsyncIterator.d.ts +15 -0
- package/async/createAsyncIterator.js +1 -0
- package/async/debounce.d.ts +1 -0
- package/async/debounce.js +1 -0
- package/async/timeout.d.ts +1 -0
- package/async/timeout.js +1 -0
- package/converter/time/TimeUnit.d.ts +10 -0
- package/converter/time/TimeUnit.js +1 -0
- package/converter/time/TimerConverter.d.ts +9 -0
- package/converter/time/TimerConverter.js +1 -0
- package/document/ComponentInsertType.d.ts +7 -0
- package/document/ComponentInsertType.js +1 -0
- package/document/DocumentUtils.d.ts +17 -0
- package/document/DocumentUtils.js +1 -0
- package/dom/ViewportSize.d.ts +9 -0
- package/dom/ViewportSize.js +1 -0
- package/dom/copyToClipboard.d.ts +1 -0
- package/dom/copyToClipboard.js +1 -0
- package/dom/getMostNestedNode.d.ts +1 -0
- package/dom/getMostNestedNode.js +1 -0
- package/dom/insertHtmlIntoElement.d.ts +1 -0
- package/dom/insertHtmlIntoElement.js +1 -0
- package/dom/sanitizeHTML.d.ts +1 -0
- package/dom/sanitizeHTML.js +1 -0
- package/element/BaseElementInViewportHandler.d.ts +8 -0
- package/element/BaseElementInViewportHandler.js +1 -0
- package/element/CssVarsOperations.d.ts +5 -0
- package/element/CssVarsOperations.js +1 -0
- package/element/ThemeCssVars.d.ts +3 -0
- package/element/ThemeCssVars.js +1 -0
- package/element/recursiveFindParentNodeByAttribute.d.ts +1 -0
- package/element/recursiveFindParentNodeByAttribute.js +1 -0
- package/flat.d.ts +1 -0
- package/flat.js +1 -0
- package/form/common/InAppLayoutType.d.ts +7 -0
- package/form/common/InAppLayoutType.js +1 -0
- package/form/common/LayoutType.d.ts +9 -0
- package/form/common/LayoutType.js +1 -0
- package/form/common/WidgetType.d.ts +9 -0
- package/form/common/WidgetType.js +1 -0
- package/handler/HandlerTypes.d.ts +5 -0
- package/handler/HandlerTypes.js +1 -0
- package/math/RandomDistributor.d.ts +9 -0
- package/math/RandomDistributor.js +1 -0
- package/math/sum.d.ts +1 -0
- package/math/sum.js +1 -0
- package/network/HttpClient.d.ts +5 -0
- package/network/HttpClient.js +1 -0
- package/network/HttpStatus.d.ts +5 -0
- package/network/HttpStatus.js +1 -0
- package/object/isDictionary.d.ts +1 -0
- package/object/isDictionary.js +1 -0
- package/object/omitKeys.d.ts +1 -0
- package/object/omitKeys.js +1 -0
- package/package.json +44 -0
- package/url/sanitizeUrl.d.ts +1 -0
- package/url/sanitizeUrl.js +1 -0
- package/utils/CaseTransformer.d.ts +4 -0
- package/utils/CaseTransformer.js +1 -0
- package/utils/NullishCoalescingOperator.d.ts +1 -0
- package/utils/NullishCoalescingOperator.js +1 -0
- package/utils/NumericDecline.d.ts +1 -0
- package/utils/NumericDecline.js +1 -0
- package/utils/addEventListener.d.ts +2 -0
- package/utils/addEventListener.js +1 -0
- package/utils/allSettled.d.ts +7 -0
- package/utils/allSettled.js +1 -0
- package/utils/checkTimeZone.d.ts +1 -0
- package/utils/checkTimeZone.js +1 -0
- package/utils/deviceUtils.d.ts +3 -0
- package/utils/deviceUtils.js +1 -0
- package/utils/flatMap.d.ts +1 -0
- package/utils/flatMap.js +1 -0
- package/utils/fromEntries.d.ts +1 -0
- package/utils/fromEntries.js +1 -0
- package/utils/generateRandomNumber.d.ts +1 -0
- package/utils/generateRandomNumber.js +1 -0
- package/utils/objectSort.d.ts +2 -0
- package/utils/objectSort.js +1 -0
- package/utils/orientationUtils.d.ts +1 -0
- package/utils/orientationUtils.js +1 -0
- package/velocity/SysVelocityContext.d.ts +23 -0
- package/velocity/SysVelocityContext.js +1 -0
- package/velocity/SysVelocityRenderer.d.ts +3 -0
- package/velocity/SysVelocityRenderer.js +1 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default class DefaultEventEmitter {
|
|
2
|
+
static createDefaultListenersState: () => {
|
|
3
|
+
'*': {};
|
|
4
|
+
};
|
|
5
|
+
listeners: {
|
|
6
|
+
'*': {};
|
|
7
|
+
};
|
|
8
|
+
emit(eventName: any, value: any, params?: null): void;
|
|
9
|
+
on(eventName: any, listener: any): {
|
|
10
|
+
off: () => void;
|
|
11
|
+
};
|
|
12
|
+
destroy(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import UuidGenerator from"./UuidGenerator";export default class DefaultEventEmitter{constructor(){this.listeners=DefaultEventEmitter.createDefaultListenersState()}emit(e,t,s=null){const r=this.listeners[e];r&&Object.values(r).forEach(r=>r(t,e,s)),Object.values(this.listeners["*"]).forEach(r=>r(t,e,s))}on(e,t){const s=UuidGenerator.generate(),r=this.listeners[e];return r?r[s]=t:this.listeners[e]={[s]:t},{off:()=>{var t,r;(null===(r=null===(t=this.listeners)||void 0===t?void 0:t[e])||void 0===r?void 0:r[s])&&delete this.listeners[e][s]}}}destroy(){this.listeners=DefaultEventEmitter.createDefaultListenersState()}}DefaultEventEmitter.createDefaultListenersState=()=>({"*":{}});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export default class HttpAbortableLoader {
|
|
2
|
+
constructor(url: any, headers: any, httpClient: any);
|
|
3
|
+
url: any;
|
|
4
|
+
headers: any;
|
|
5
|
+
httpClient: any;
|
|
6
|
+
loaded: boolean;
|
|
7
|
+
load(): any;
|
|
8
|
+
abortController: AbortController | undefined;
|
|
9
|
+
isLoaded(): boolean;
|
|
10
|
+
abortLoading(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default class HttpAbortableLoader{constructor(t,r,o){this.url=t,this.headers=r,this.httpClient=o,this.loaded=!1}load(){return window.AbortController&&(this.abortController=new AbortController),this.httpClient.execute(this.url,"GET",null,this.headers,this.abortController&&this.abortController.signal).then(t=>(this.loaded=!0,t))}isLoaded(){return this.loaded}abortLoading(){this.abortController&&this.abortController.abort()}}
|
package/UuidGenerator.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default class UuidGenerator{static generate(){let t,e="";for(let r=0;r<32;r++)8!==r&&12!==r&&16!==r&&20!==r||(e+="-"),t=Math.floor(16*Math.random()).toString(16).toUpperCase(),e+=t;return e}}
|
package/action/type.d.ts
ADDED
package/action/type.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function successAction(n){return`${n}_SUCCESS`}export function failureAction(n){return`${n}_FAILED`}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default function createAsyncIterator(times: any): {
|
|
2
|
+
from: number;
|
|
3
|
+
to: number;
|
|
4
|
+
[Symbol.iterator](): {
|
|
5
|
+
current: number;
|
|
6
|
+
last: number;
|
|
7
|
+
next(): {
|
|
8
|
+
done: boolean;
|
|
9
|
+
value: number;
|
|
10
|
+
} | {
|
|
11
|
+
done: boolean;
|
|
12
|
+
value?: undefined;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function createAsyncIterator(t){return{from:0,to:t-1,[Symbol.iterator](){return{current:this.from,last:this.to,next(){return this.current<=this.last?{done:!1,value:this.current++}:{done:!0}}}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function debounce(func: any, timeout?: number): (...args: any[]) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function debounce(e,t=300){let u;return(...o)=>{clearTimeout(u),u=setTimeout(()=>{e.apply(this,o)},t)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function timeout(ms: any): Promise<any>;
|
package/async/timeout.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function timeout(e){return new Promise(t=>setTimeout(t,e))}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const TimeUnit={MILLISECOND:"MILLISECOND",SECOND:"SECOND",MINUTE:"MINUTE",HOUR:"HOUR",DAY:"DAY",WEEK:"WEEK",getAll:function(){return Object.keys(this).filter(t=>"getAll"!==t)}};export default TimeUnit;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import TimeUnit from"./TimeUnit";export default class TimerConverter{static convert(e,i,t){const r=TimerConverter.toMsMapper[e](t);return TimerConverter.fromMsMapper[i](r)}}TimerConverter.toMsMapper={[TimeUnit.MILLISECOND]:e=>e,[TimeUnit.SECOND]:e=>1e3*e,[TimeUnit.MINUTE]:e=>6e4*e,[TimeUnit.HOUR]:e=>36e5*e,[TimeUnit.DAY]:e=>864e5*e,[TimeUnit.WEEK]:e=>6048e5*e},TimerConverter.fromMsMapper={[TimeUnit.MILLISECOND]:e=>e,[TimeUnit.SECOND]:e=>e/1e3,[TimeUnit.MINUTE]:e=>e/6e4,[TimeUnit.HOUR]:e=>e/36e5,[TimeUnit.DAY]:e=>e/864e5,[TimeUnit.WEEK]:e=>e/6048e5};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const ComponentInsertType={BEFORE:"BEFORE",AFTER:"AFTER",INSIDE:"INSIDE",INSTEAD:"INSTEAD"};export default ComponentInsertType;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function iterateDepthFirst(node: any, callback: any): void;
|
|
2
|
+
export default class DocumentUtils {
|
|
3
|
+
static removeNode(views: any, path: any): any;
|
|
4
|
+
static insertNode(node: any, targetPath: any, views: any, insertPosition: any): any;
|
|
5
|
+
static moveNode(views: any, fromPath: any, targetPath: any, insertType: any): void;
|
|
6
|
+
static iterateDepthFirst(...args: any[]): void;
|
|
7
|
+
static reIndex(node: any, nodePath: any): void;
|
|
8
|
+
static getRelativePath(path: any): any;
|
|
9
|
+
static getParentPath(path: any): any;
|
|
10
|
+
static getNodeByPath(components: any, path: any): any;
|
|
11
|
+
static getNodeById(componentsTree: any, id: any): any;
|
|
12
|
+
static getPathToInsert(targetPath: any, insertPosition: any, views: any, node: any): any;
|
|
13
|
+
static getNodeOnClickData(node: any): {
|
|
14
|
+
actions: any[];
|
|
15
|
+
npsViewIds: string[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import ComponentInsertType from"./ComponentInsertType";import HandlerTypes from"../handler/HandlerTypes";export default class DocumentUtils{static removeNode(t,e){const n=this.getParentPath(e),r=e[e.length-1],i=this.getNodeByPath(t,n);if(i){const t=i.children.splice(r,1)[0];return t.prevPath=e,t.path=null,DocumentUtils.reIndex(i,i.path),t}{const n=t.splice(r,1)[0];return n.prevPath=e,n.path=null,t.forEach((t,e)=>{t.path=[e],DocumentUtils.reIndex(t,t.path)}),n}}static insertNode(t,e,n,r){const i=DocumentUtils.getPathToInsert(e,r,n,t),o=r===ComponentInsertType.INSIDE?e:this.getParentPath(i),s=this.getNodeByPath(n,o),l=i[i.length-1];return s?(s.children.splice(l,0,t),DocumentUtils.reIndex(s,s.path),t):(n.splice(l,0,t),n.forEach((t,e)=>{t.path=[e],DocumentUtils.reIndex(t,t.path)}),t)}static moveNode(t,e,n,r){const i=DocumentUtils.getNodeByPath(t,n);if(!i)return;const o=DocumentUtils.removeNode(t,e),s=DocumentUtils.getNodeById(t,i.id).path;DocumentUtils.insertNode(o,s,t,r)}static iterateDepthFirst(...t){return iterateDepthFirst(...t)}static reIndex(t,e){t.path=e,t.children&&t.children.forEach((t,n)=>{DocumentUtils.reIndex(t,e.concat(n))})}static getRelativePath(t){return t.slice(1,t.length)}static getParentPath(t){return t.slice(0,-1)}static getNodeByPath(t,e){for(let n=0;n<e.length;n++){if(n===e.length-1)return t[e[n]]||null;if(!t[e[n]])return null;t=t[e[n]].children}}static getNodeById(t,e){let n=null;for(let r=0;r<t.length;r++){const i=t[r];if(n)break;if(i.id===e){n=i;break}i.children&&i.children.length&&(n=this.getNodeById(i.children,e))}return n}static getPathToInsert(t,e,n,r){let i;const o=t[t.length-1];switch(e){case ComponentInsertType.BEFORE:i=t;break;case ComponentInsertType.AFTER:i=t.slice(),i[t.length-1]=o+1;break;case ComponentInsertType.INSIDE:i=t.concat([DocumentUtils.getNodeByPath(n,t).children.length]);break;case ComponentInsertType.INSTEAD:i=r.prevPath.at(-1)<=o?[...t.slice(0,-1),o+1]:t;break;default:i=t}return i}static getNodeOnClickData(t){let e=[],n={};return DocumentUtils.iterateDepthFirst(t,t=>{var r,i,o;const s=null===(i=null===(r=t.props)||void 0===r?void 0:r.handlers)||void 0===i?void 0:i.find(t=>t.type===HandlerTypes.CLICK).actions;(null==s?void 0:s.length)&&(e=[...e,...s]),Object.keys((null===(o=t.props)||void 0===o?void 0:o.content)||{}).filter(t=>["detractor","passive","promoter"].includes(t)).map(e=>{var n;return((null===(n=t.props)||void 0===n?void 0:n.content)||{})[e]||null}).filter(t=>t).forEach(t=>n[t]=t)}),{actions:e,npsViewIds:Object.keys(n)}}}export function iterateDepthFirst(t,e){t.children&&t.children.forEach(t=>iterateDepthFirst(t,e)),e(t)}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export default class ViewportSize {
|
|
2
|
+
static size(htmlDocumentObject: any): {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
};
|
|
6
|
+
static width(htmlDocumentObject: any): number;
|
|
7
|
+
static height(htmlDocumentObject: any): number;
|
|
8
|
+
static scrollbarWidth(htmlDocumentObject: any): number;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default class ViewportSize{static size(t){return{width:this.width(t),height:this.height(t)}}static width(t){return t=t||document,Math.max(t.documentElement.clientWidth,t.defaultView.innerWidth||0)}static height(t){return t=t||document,Math.max(t.documentElement.clientHeight,t.defaultView.innerHeight||0)}static scrollbarWidth(t){return(t=t||document).defaultView.innerWidth-t.documentElement.clientWidth}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function copyToClipboard(textToCopy: any): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function copyToClipboard(r){var i;return(null===(i=navigator.clipboard)||void 0===i?void 0:i.writeText)?navigator.clipboard.writeText(String(r).trim().replace("<br>"," ")):Promise.reject()}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getMostNestedNode(containerElement: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getMostNestedNode(e){let t=e;for(;t.firstElementChild;)t=t.firstElementChild;return t}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function insertHtmlIntoElement(params: any): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import sanitizeHTML from"./sanitizeHTML";export default function insertHtmlIntoElement(n){const{element:t,html:e,appendHtml:i}=n,m=sanitizeHTML(e);i?t.innerHTML+=m:t.innerHTML=m}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function sanitizeHTML(html: any): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function sanitizeHTML(t){if(null==t)return"";if("string"!=typeof t)return String(t);if(""===t)return"";if(!/<\/?([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>/.test(t))return t;const e=(new DOMParser).parseFromString(t,"text/html");e.querySelectorAll('script, style, link[rel="stylesheet"], meta[http-equiv]').forEach(t=>t.remove());return e.querySelectorAll("*").forEach(t=>{if(["onclick","onload","onerror","onmouseover","onfocus","onblur","onkeyup","onkeydown","onchange","onsubmit","onmouseenter","onmouseleave","onmouseout","oncontextmenu","ondrag","ondrop"].forEach(e=>t.removeAttribute(e)),Array.from(t.attributes).forEach(e=>{e.name.startsWith("on")&&t.removeAttribute(e.name)}),"A"===t.tagName||"AREA"===t.tagName){const e=t.getAttribute("href");e&&(e.startsWith("javascript:")||e.startsWith("data:"))&&t.removeAttribute("href")}if("IMG"===t.tagName||"IFRAME"===t.tagName){const e=t.getAttribute("src");e&&(e.startsWith("javascript:")||e.startsWith("data:text/html"))&&t.removeAttribute("src")}if("FORM"===t.tagName){const e=t.getAttribute("action");e&&e.startsWith("javascript:")&&t.removeAttribute("action")}}),e.body.innerHTML}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export default class BaseElementInViewportHandler {
|
|
2
|
+
constructor(rootElement: any, oneTimeObserver: any);
|
|
3
|
+
observer: IntersectionObserver | null;
|
|
4
|
+
rootElement: any;
|
|
5
|
+
oneTimeObserver: any;
|
|
6
|
+
handle(visibleCallback: any, notVisibleCallback: any): void;
|
|
7
|
+
unsubscribe(): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default class BaseElementInViewportHandler{constructor(e,r){this.observer=null,this.rootElement=e,this.oneTimeObserver=r}handle(e,r){this.observer=new IntersectionObserver(s=>{!s.find(e=>e.isIntersecting)?r&&"function"==typeof r&&r():(e(),this.oneTimeObserver&&this.unsubscribe())},{root:null,rootMargin:"0px",threshold:.1}),this.observer.observe(this.rootElement)}unsubscribe(){this.observer.disconnect()}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function forEachCssVarKey(e,t){e&&Object.keys(e)&&Object.keys(e).forEach(t)}export default class CssVarsOperations{static get(e,t){return t.style.getPropertyValue(`--${e}`)}static apply(e={},t){forEachCssVarKey(e,s=>{let r=`--${s}`,a=e[s];t.style.getPropertyValue(r)||t.style.setProperty(r,a)})}static override(e={},t){forEachCssVarKey(e,s=>{let r=`--${s}`,a=e[s];t.style.setProperty(r,a)})}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import CssVarsOperations from"./CssVarsOperations";function toCssVarToken(r){return`cl-schema-${r}`}function getRgbaColor(r){return(null==r?void 0:r.startsWith("rgb("))?r.replace("rgb(","rgba(").replace(")",", 1)"):r}function hex(r){var t="0123456789abcdef",e=parseInt(r);return 0==e||isNaN(r)?"00":(e=Math.round(Math.min(Math.max(0,e),255)),t.charAt((e-e%16)/16)+t.charAt(e%16))}function convertToHex(r){return hex(r[0])+hex(r[1])+hex(r[2])}function trim(r){return"#"==r.charAt(0)?r.substring(1,7):r}function convertToRGB(r){var t=[];return t[0]=parseInt(trim(r).substring(0,2),16),t[1]=parseInt(trim(r).substring(2,4),16),t[2]=parseInt(trim(r).substring(4,6),16),t}function parseColorToRGB(r){if(!r)return[0,0,0,1];const t=r.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(t){return[parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3],10),t[4]?parseFloat(t[4]):1]}if(r.startsWith("#")){const t=trim(r);if(3===t.length){return[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),1]}if(6===t.length){const r=convertToRGB(t);return[r[0],r[1],r[2],1]}}return[0,0,0,1]}function generateGradientColors(r,t,e){if(!r||!t||e<=0)return[];const n=parseColorToRGB(r),s=parseColorToRGB(t),o=[];for(let r=0;r<e;r++){const t=r/(e-1||1),a=Math.round(n[0]+(s[0]-n[0])*t),i=Math.round(n[1]+(s[1]-n[1])*t),u=Math.round(n[2]+(s[2]-n[2])*t),c=void 0!==n[3]&&void 0!==s[3]?n[3]+(s[3]-n[3])*t:1;o.push(`rgba(${a}, ${i}, ${u}, ${c})`)}return o}function prepareKeys(r){const t=Object.keys(r).reduce((t,e)=>(t[toCssVarToken(e)]=r[e],t),{}),e=getRgbaColor(r.text),n=generateGradientColors(getRgbaColor(r.background),e,18);return n.pop(),n.shift(),n.forEach((r,e)=>{t[toCssVarToken(`background-${e+1}`)]=r}),t}export default class ThemeCssVars extends CssVarsOperations{static override(r={},t){const e=prepareKeys(r);super.override(e,t)}static apply(r={},t){const e=prepareKeys(r);super.apply(e,t)}static get(r,t){const e=toCssVarToken(r);return super.get(e,t)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function recursiveFindParentNodeByAttribute(ref: any, attributeName: any, attributeValue: any, attributeValuePredicate: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function recursiveFindParentNodeByAttribute(t,e,n,o){const r=t=>{let u=t instanceof DocumentFragment||(null==t?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE?t.host:t;return u&&(o&&"function"==typeof o?o(u.getAttribute(e)):(null===(i=null==u?void 0:u.getAttribute)||void 0===i?void 0:i.call(u,e))===n)?u:u&&u.parentNode&&r(u.parentNode)||null;var i};return r(t)}
|
package/flat.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function flat(arr: any, depth?: number): any;
|
package/flat.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function flat(r,t=1){return r.reduce((r,a)=>Array.isArray(a)&&t>=1?r.concat(flat(a,t-1)):r.concat(a),[])}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const InAppLayoutType={SLIDE_UP:"SLIDE_UP",POP_UP:"POP_UP",FULL:"FULL",BOTTOM_BAR:"BOTTOM_BAR"};export default InAppLayoutType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const LayoutType={BUILT_IN:"BUILT_IN",DETACHED:"DETACHED",FLOATING_BOX:"FLOATING_BOX",FLOATING_BAR:"FLOATING_BAR",LAUNCHER:"LAUNCHER",CONTENT_LOCKER:"CONTENT_LOCKER"};export default LayoutType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const WidgetType={SUBSCRIPTION_FORM:"SUBSCRIPTION_FORM",INFORMER:"INFORMER",REQUEST_FORM:"REQUEST_FORM",LAUNCHER:"LAUNCHER",AGE_VERIFY:"AGE_VERIFY",TEASER:"TEASER"};export default WidgetType;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const HandlerTypes={CLICK:"CLICK",COMPONENT_EVENT:"COMPONENT_EVENT"};export default HandlerTypes;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import sum from"./sum";import generateRandomNumber from"../utils/generateRandomNumber";export default class RandomDistributor{calculateFromWeights(e,t=1e3){const i=e.map(e=>Object.assign(Object.assign({},e),{weight:e.weight*t})),r=sum(i.map(e=>parseFloat(e.weight))),o=generateRandomNumber(1,r);let s=this._buildRanges(i);const a=this._getRangeByWeight(s,o);return i.find(e=>e.id===a.id)}_getRangeByWeight(e,t){return e.find(e=>t>=e.from&&t<=e.to)}_buildRanges(e){let t=[];for(let i=0;i<e.length;i++){const r=e[i];if(0===i)t.push({from:1,to:parseFloat(r.weight),id:r.id});else{const e=t[t.length-1].to,i=e+parseFloat(r.weight);t.push({from:e+1,to:i,id:r.id})}}return t}}
|
package/math/sum.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function sum(list: any): any;
|
package/math/sum.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function sum(e){return e.reduce((e,u)=>e+u,0)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class HttpClient{execute(t,e,n=null,i,l){const s={method:e,headers:Object.assign({"Content-Type":"text/plain"},i||{}),credentials:"same-origin",body:null,signal:l};return n&&(s.body="string"==typeof n?n:JSON.stringify(n)),fetch(t,s)}}export default new HttpClient;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const HttpStatus={EMPTY_RESPONSE:204,TOO_MANY_REQUESTS:429};export default HttpStatus;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function isDictionary(object: any): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function isDictionary(r){return"object"==typeof r&&null!==r&&!Array.isArray(r)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function omitKeys(kv: any, ignoreKeys: any): {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function omitKeys(e,t){return Object.keys(e).filter(e=>!t.includes(e)).reduce((t,s)=>Object.assign(Object.assign({},t),{[s]:e[s]}),{})}
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@claspo/common",
|
|
3
|
+
"version": "5.2.1-theme.13",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=18.16.0"
|
|
8
|
+
},
|
|
9
|
+
"directories": {
|
|
10
|
+
"test": "test"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"**/*.js",
|
|
14
|
+
"**/*.ts",
|
|
15
|
+
"**/package.json",
|
|
16
|
+
"!**/*.test.js",
|
|
17
|
+
"!**/*.test.d.ts",
|
|
18
|
+
"!**/*.spec.js",
|
|
19
|
+
"!**/*.spec.d.ts"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"test": "jest --no-cache --coverage",
|
|
23
|
+
"build": "rm -rf out && tsc --project tsconfig.json && npm run minify",
|
|
24
|
+
"minify": "find out -name '*.js' ! -name '*.d.js' -exec terser {} --compress --mangle --output {} \\;",
|
|
25
|
+
"dev": " tsc --project tsconfig.json --watch",
|
|
26
|
+
"package": "npm i && npm run test && npm run build && cp package.json out && cd out && npm publish --access=public && cd .."
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"velocityjs": "2.0.6"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/jest": "^27.5.1",
|
|
33
|
+
"glob": "^8.0.3",
|
|
34
|
+
"jest": "^28.1.0",
|
|
35
|
+
"jest-environment-jsdom": "^28.1.0",
|
|
36
|
+
"terser": "^5.37.0",
|
|
37
|
+
"ts-jest": "^28.0.3",
|
|
38
|
+
"ts-node": "^10.8.0",
|
|
39
|
+
"typescript": "^4.6.4"
|
|
40
|
+
},
|
|
41
|
+
"author": "alex-chernysh",
|
|
42
|
+
"license": "",
|
|
43
|
+
"homepage": "https://claspo.io/"
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function sanitizeUrl(url: any): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const DANGEROUS_PROTOCOLS=["javascript:","data:","vbscript:","about:","chrome:","chrome-extension:","chrome-untrusted:"],DANGEROUS_PATTERNS=[/^data:[^,]*;base64,.*<script/i,/^data:image\/svg\+xml[^,]*,.*<script/i,/<script|<iframe|<embed|<object|<applet|<meta|<link|<style|<img.*on\w+=/i];export default function sanitizeUrl(t){if(!t)return"about:blank";const a=String(t).trim();if(!a)return"about:blank";if("about:blank"===a)return"about:blank";const e=a.toLowerCase();if(DANGEROUS_PROTOCOLS.some(t=>e.startsWith(t)))return"about:blank";return DANGEROUS_PATTERNS.some(t=>t.test(a))?"about:blank":a}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export class CaseTransformer{static camelCaseToDashCase(e){return e.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())}static camelCaseToUpperSnakeCase(e){return e.replace(/[A-Z]/g,e=>"_"+e).toUpperCase()}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function nullishCoalescingOperator(a: any, b: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function nullishCoalescingOperator(l,n){return null!=l?l:n}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getNumericDecline(itemsCount: any, translateKeys: any, language: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getNumericDecline(e,t,n){if("en"===n&&e>1)return t[1];const r=Math.abs(e);return t[r%100>4&&r%100<20?2:[2,0,1,1,1,2][r%10<5?r%10:5]]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const addEventListenerToElement=(e,t,n,d)=>{const{addEventListenerBase:a,addEventListener:o}=EventTarget.prototype;(a||o).call(e,t,n,d)};export default addEventListenerToElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function allSettled(e=[]){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e}))))}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function checkTimeZone(timeZone: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function checkTimeZone(e){return e&&"Europe/Kyiv"===e?"Europe/Kiev":e}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const isIPad=()=>/iPad/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1;export const isIPhone=()=>/iPhone/i.test(navigator.userAgent);export const isIOS=()=>isIPhone()||isIPad();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function flatMap(arr: any, func: any): any;
|
package/utils/flatMap.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function flatMap(t,e){return t.reduce((t,a)=>t.concat(e(a)),[])}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function fromEntries(iterable: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function fromEntries(r){return[...r].reduce((r,[e,n])=>(r[e]=n,r),{})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function generateRandomNumber(min: any, max: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function generateRandomNumber(e,r){return Math.floor(Math.random()*(r+1-e))+e}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fromEntries}from"./fromEntries";export function comparisonFunction(o,r,t,e=!1){let n=o[t],i=r[t];return isNaN(n)||isNaN(i)?"string"!=typeof n||"string"!=typeof i?0:(n=n.toLowerCase(),i=i.toLowerCase(),e?i.localeCompare(n):n.localeCompare(i)):n<i?e?1:-1:n>i?e?-1:1:0}export function sort(o,r,t=!1){return fromEntries(Object.entries(o).sort(([o,e],[n,i])=>comparisonFunction(e,i,r,t)))}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function detectOrientation(): "PORTRAIT" | "LANDSCAPE" | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const detectOrientation=()=>{const n=window.screen.orientation||window.screen.mozOrientation||window.screen.msOrientation;return n?n.type.includes("portrait")?"PORTRAIT":"LANDSCAPE":void 0===window.orientation||0===window.orientation||180===window.orientation?"PORTRAIT":90===window.orientation||-90===window.orientation?"LANDSCAPE":void 0};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default class SysVelocityContext {
|
|
2
|
+
create(): {
|
|
3
|
+
mathTool: {
|
|
4
|
+
add: (a: any, b: any) => number;
|
|
5
|
+
sub: (a: any, b: any) => number;
|
|
6
|
+
mul: (a: any, b: any) => number;
|
|
7
|
+
div: (a: any, b: any) => number;
|
|
8
|
+
};
|
|
9
|
+
stringTool: {
|
|
10
|
+
equalsIgnoreCase: (a: any, b: any) => boolean;
|
|
11
|
+
};
|
|
12
|
+
numberTool: {
|
|
13
|
+
integer: (a: any) => number;
|
|
14
|
+
format: (f: any, v: any) => string;
|
|
15
|
+
number: (v: any, separator?: string, precision?: number) => string;
|
|
16
|
+
};
|
|
17
|
+
dateTool: {
|
|
18
|
+
currentDate: (format: any) => any;
|
|
19
|
+
currentTimeStamp: () => any;
|
|
20
|
+
formatDate: (format: any, date: any) => any;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default class SysVelocityContext{create(){return{mathTool:{add:function(e,t){return 1*e+1*t},sub:function(e,t){return e-t},mul:function(e,t){return e*t},div:function(e,t){return e/t}},stringTool:{equalsIgnoreCase:function(e,t){return String(e).toLowerCase()===String(t).toLowerCase()}},numberTool:{integer:function(e){return Math.floor(e)},format:function(e,t){const n=(e||"").split(".")[1];return Number(t).toFixed((n||"").length)},number:function(e,t=",",n=3){return Number(e).toFixed(n).replace(new RegExp(`[.]0{${n}}`),"").split(".").map((e,n)=>0===n?e.split("").reverse().join("").split("").map((e,n,r)=>n%3==0&&0!==n?e+=t:e).reverse().join(""):1===n?e:void 0).join(".")}},dateTool:{currentDate:function(e){return this.formatDate(e||"ISO",new Date)},currentTimeStamp:function(){return this.formatDate(null,new Date)},formatDate:function(e,t){const n=e=>e<9?`0${e}`:`${e}`,r=new Date(t);if("Invalid Date"===r.toString())return t;if("ISO"===e)return r.toISOString();if(!e||"string"!=typeof e)return r.getTime();const o=e.split(" ");let i="";return o.forEach(e=>{const t=e.toUpperCase();i=0===i.length?i:i+" ",t.includes("HH")&&(i+=t.replace("HH",n(r.getHours())).replace("MM",n(r.getMinutes())).replace("SS",n(r.getSeconds()))),(t.includes("YYYY")||t.includes("DD"))&&(i+=t.replace("YYYY",String(r.getFullYear())).replace("DD",n(r.getDate())).replace("MM",n(r.getMonth()+1)))}),i}}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import Velocity from"velocityjs";import SysVelocityContext from"./SysVelocityContext";const sysCtx=(new SysVelocityContext).create();export default class SysVelocityRenderer{render(e,t){return Velocity.render(e,Object.assign(Object.assign({},sysCtx),t))}}
|