@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.
Files changed (93) hide show
  1. package/DefaultEventEmitter.d.ts +13 -0
  2. package/DefaultEventEmitter.js +1 -0
  3. package/HttpAbortableLoader.d.ts +11 -0
  4. package/HttpAbortableLoader.js +1 -0
  5. package/UuidGenerator.d.ts +3 -0
  6. package/UuidGenerator.js +1 -0
  7. package/action/type.d.ts +2 -0
  8. package/action/type.js +1 -0
  9. package/async/createAsyncIterator.d.ts +15 -0
  10. package/async/createAsyncIterator.js +1 -0
  11. package/async/debounce.d.ts +1 -0
  12. package/async/debounce.js +1 -0
  13. package/async/timeout.d.ts +1 -0
  14. package/async/timeout.js +1 -0
  15. package/converter/time/TimeUnit.d.ts +10 -0
  16. package/converter/time/TimeUnit.js +1 -0
  17. package/converter/time/TimerConverter.d.ts +9 -0
  18. package/converter/time/TimerConverter.js +1 -0
  19. package/document/ComponentInsertType.d.ts +7 -0
  20. package/document/ComponentInsertType.js +1 -0
  21. package/document/DocumentUtils.d.ts +17 -0
  22. package/document/DocumentUtils.js +1 -0
  23. package/dom/ViewportSize.d.ts +9 -0
  24. package/dom/ViewportSize.js +1 -0
  25. package/dom/copyToClipboard.d.ts +1 -0
  26. package/dom/copyToClipboard.js +1 -0
  27. package/dom/getMostNestedNode.d.ts +1 -0
  28. package/dom/getMostNestedNode.js +1 -0
  29. package/dom/insertHtmlIntoElement.d.ts +1 -0
  30. package/dom/insertHtmlIntoElement.js +1 -0
  31. package/dom/sanitizeHTML.d.ts +1 -0
  32. package/dom/sanitizeHTML.js +1 -0
  33. package/element/BaseElementInViewportHandler.d.ts +8 -0
  34. package/element/BaseElementInViewportHandler.js +1 -0
  35. package/element/CssVarsOperations.d.ts +5 -0
  36. package/element/CssVarsOperations.js +1 -0
  37. package/element/ThemeCssVars.d.ts +3 -0
  38. package/element/ThemeCssVars.js +1 -0
  39. package/element/recursiveFindParentNodeByAttribute.d.ts +1 -0
  40. package/element/recursiveFindParentNodeByAttribute.js +1 -0
  41. package/flat.d.ts +1 -0
  42. package/flat.js +1 -0
  43. package/form/common/InAppLayoutType.d.ts +7 -0
  44. package/form/common/InAppLayoutType.js +1 -0
  45. package/form/common/LayoutType.d.ts +9 -0
  46. package/form/common/LayoutType.js +1 -0
  47. package/form/common/WidgetType.d.ts +9 -0
  48. package/form/common/WidgetType.js +1 -0
  49. package/handler/HandlerTypes.d.ts +5 -0
  50. package/handler/HandlerTypes.js +1 -0
  51. package/math/RandomDistributor.d.ts +9 -0
  52. package/math/RandomDistributor.js +1 -0
  53. package/math/sum.d.ts +1 -0
  54. package/math/sum.js +1 -0
  55. package/network/HttpClient.d.ts +5 -0
  56. package/network/HttpClient.js +1 -0
  57. package/network/HttpStatus.d.ts +5 -0
  58. package/network/HttpStatus.js +1 -0
  59. package/object/isDictionary.d.ts +1 -0
  60. package/object/isDictionary.js +1 -0
  61. package/object/omitKeys.d.ts +1 -0
  62. package/object/omitKeys.js +1 -0
  63. package/package.json +44 -0
  64. package/url/sanitizeUrl.d.ts +1 -0
  65. package/url/sanitizeUrl.js +1 -0
  66. package/utils/CaseTransformer.d.ts +4 -0
  67. package/utils/CaseTransformer.js +1 -0
  68. package/utils/NullishCoalescingOperator.d.ts +1 -0
  69. package/utils/NullishCoalescingOperator.js +1 -0
  70. package/utils/NumericDecline.d.ts +1 -0
  71. package/utils/NumericDecline.js +1 -0
  72. package/utils/addEventListener.d.ts +2 -0
  73. package/utils/addEventListener.js +1 -0
  74. package/utils/allSettled.d.ts +7 -0
  75. package/utils/allSettled.js +1 -0
  76. package/utils/checkTimeZone.d.ts +1 -0
  77. package/utils/checkTimeZone.js +1 -0
  78. package/utils/deviceUtils.d.ts +3 -0
  79. package/utils/deviceUtils.js +1 -0
  80. package/utils/flatMap.d.ts +1 -0
  81. package/utils/flatMap.js +1 -0
  82. package/utils/fromEntries.d.ts +1 -0
  83. package/utils/fromEntries.js +1 -0
  84. package/utils/generateRandomNumber.d.ts +1 -0
  85. package/utils/generateRandomNumber.js +1 -0
  86. package/utils/objectSort.d.ts +2 -0
  87. package/utils/objectSort.js +1 -0
  88. package/utils/orientationUtils.d.ts +1 -0
  89. package/utils/orientationUtils.js +1 -0
  90. package/velocity/SysVelocityContext.d.ts +23 -0
  91. package/velocity/SysVelocityContext.js +1 -0
  92. package/velocity/SysVelocityRenderer.d.ts +3 -0
  93. 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()}}
@@ -0,0 +1,3 @@
1
+ export default class UuidGenerator {
2
+ static generate(): string;
3
+ }
@@ -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}}
@@ -0,0 +1,2 @@
1
+ export function successAction(type: any): string;
2
+ export function failureAction(type: any): string;
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>;
@@ -0,0 +1 @@
1
+ export default function timeout(e){return new Promise(t=>setTimeout(t,e))}
@@ -0,0 +1,10 @@
1
+ export default TimeUnit;
2
+ declare namespace TimeUnit {
3
+ const MILLISECOND: string;
4
+ const SECOND: string;
5
+ const MINUTE: string;
6
+ const HOUR: string;
7
+ const DAY: string;
8
+ const WEEK: string;
9
+ function getAll(): string[];
10
+ }
@@ -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,9 @@
1
+ export default class TimerConverter {
2
+ static toMsMapper: {
3
+ [x: string]: (v: any) => any;
4
+ };
5
+ static fromMsMapper: {
6
+ [x: string]: (v: any) => any;
7
+ };
8
+ static convert(fromUnit: any, toUnit: any, value: any): any;
9
+ }
@@ -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,7 @@
1
+ export default ComponentInsertType;
2
+ declare namespace ComponentInsertType {
3
+ const BEFORE: string;
4
+ const AFTER: string;
5
+ const INSIDE: string;
6
+ const INSTEAD: string;
7
+ }
@@ -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,5 @@
1
+ export default class CssVarsOperations {
2
+ static get(varName: any, element: any): any;
3
+ static apply(cssVarsMap: {} | undefined, element: any): void;
4
+ static override(cssVarsMap: {} | undefined, element: any): void;
5
+ }
@@ -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,3 @@
1
+ export default class ThemeCssVars extends CssVarsOperations {
2
+ }
3
+ import CssVarsOperations from "./CssVarsOperations";
@@ -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,7 @@
1
+ export default InAppLayoutType;
2
+ declare namespace InAppLayoutType {
3
+ const SLIDE_UP: string;
4
+ const POP_UP: string;
5
+ const FULL: string;
6
+ const BOTTOM_BAR: string;
7
+ }
@@ -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,9 @@
1
+ export default LayoutType;
2
+ declare namespace LayoutType {
3
+ const BUILT_IN: string;
4
+ const DETACHED: string;
5
+ const FLOATING_BOX: string;
6
+ const FLOATING_BAR: string;
7
+ const LAUNCHER: string;
8
+ const CONTENT_LOCKER: string;
9
+ }
@@ -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,9 @@
1
+ export default WidgetType;
2
+ declare namespace WidgetType {
3
+ const SUBSCRIPTION_FORM: string;
4
+ const INFORMER: string;
5
+ const REQUEST_FORM: string;
6
+ const LAUNCHER: string;
7
+ const AGE_VERIFY: string;
8
+ const TEASER: string;
9
+ }
@@ -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,5 @@
1
+ export default HandlerTypes;
2
+ declare namespace HandlerTypes {
3
+ const CLICK: string;
4
+ const COMPONENT_EVENT: string;
5
+ }
@@ -0,0 +1 @@
1
+ const HandlerTypes={CLICK:"CLICK",COMPONENT_EVENT:"COMPONENT_EVENT"};export default HandlerTypes;
@@ -0,0 +1,9 @@
1
+ export default class RandomDistributor {
2
+ calculateFromWeights(originOptions: any, multiplier?: number): any;
3
+ _getRangeByWeight(ranges: any, weight: any): any;
4
+ _buildRanges(rules: any): {
5
+ from: any;
6
+ to: any;
7
+ id: any;
8
+ }[];
9
+ }
@@ -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,5 @@
1
+ declare const _default: HttpClient;
2
+ export default _default;
3
+ declare class HttpClient {
4
+ execute(URL: any, method: any, body: null | undefined, headers: any, abortSignal: any): Promise<Response>;
5
+ }
@@ -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,5 @@
1
+ export default HttpStatus;
2
+ declare namespace HttpStatus {
3
+ const EMPTY_RESPONSE: number;
4
+ const TOO_MANY_REQUESTS: number;
5
+ }
@@ -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,4 @@
1
+ export class CaseTransformer {
2
+ static camelCaseToDashCase(string: any): any;
3
+ static camelCaseToUpperSnakeCase(string: any): any;
4
+ }
@@ -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,2 @@
1
+ export default addEventListenerToElement;
2
+ declare function addEventListenerToElement(element: any, eventType: any, callback: any, options: any): void;
@@ -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,7 @@
1
+ export function allSettled(promises?: any[]): Promise<({
2
+ status: string;
3
+ value: any;
4
+ } | {
5
+ status: string;
6
+ reason: any;
7
+ })[]>;
@@ -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,3 @@
1
+ export function isIPad(): boolean;
2
+ export function isIPhone(): boolean;
3
+ export function isIOS(): boolean;
@@ -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;
@@ -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,2 @@
1
+ export function comparisonFunction(a: any, b: any, property: any, descending?: boolean): any;
2
+ export function sort(object: any, property: any, descending?: boolean): any;
@@ -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,3 @@
1
+ export default class SysVelocityRenderer {
2
+ render(template: any, context: any): any;
3
+ }
@@ -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))}}