@claspo/renderer 16.6.3

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 (239) hide show
  1. package/CompositionRoot.d.ts +38 -0
  2. package/CompositionRoot.js +1 -0
  3. package/RouterEvent.d.ts +4 -0
  4. package/RouterEvent.js +1 -0
  5. package/StaticEntryModule.d.ts +23 -0
  6. package/StaticEntryModule.js +1 -0
  7. package/UpdatingEntryModule.d.ts +27 -0
  8. package/UpdatingEntryModule.js +1 -0
  9. package/ViewRouter.d.ts +21 -0
  10. package/ViewRouter.js +1 -0
  11. package/action/ActionFactory.d.ts +20 -0
  12. package/action/ActionFactory.js +1 -0
  13. package/action/ActionRegister.d.ts +8 -0
  14. package/action/ActionRegister.js +1 -0
  15. package/action/InAppActionFactory.d.ts +12 -0
  16. package/action/InAppActionFactory.js +1 -0
  17. package/action/SysActionTypes.d.ts +13 -0
  18. package/action/SysActionTypes.js +1 -0
  19. package/action/UTMParamsExtractor.d.ts +3 -0
  20. package/action/UTMParamsExtractor.js +1 -0
  21. package/action/actions/ActionCategory.d.ts +5 -0
  22. package/action/actions/ActionCategory.js +1 -0
  23. package/action/actions/BaseRequestAction.d.ts +43 -0
  24. package/action/actions/BaseRequestAction.js +1 -0
  25. package/action/actions/CloseWidgetAction.d.ts +9 -0
  26. package/action/actions/CloseWidgetAction.js +1 -0
  27. package/action/actions/DispatchEventAction.d.ts +7 -0
  28. package/action/actions/DispatchEventAction.js +1 -0
  29. package/action/actions/GoToNextViewAction.d.ts +9 -0
  30. package/action/actions/GoToNextViewAction.js +1 -0
  31. package/action/actions/GoToPreviousViewAction.d.ts +8 -0
  32. package/action/actions/GoToPreviousViewAction.js +1 -0
  33. package/action/actions/GoToViewAction.d.ts +12 -0
  34. package/action/actions/GoToViewAction.js +1 -0
  35. package/action/actions/InAppOpenLinkAction.d.ts +8 -0
  36. package/action/actions/InAppOpenLinkAction.js +1 -0
  37. package/action/actions/OpenLinkAction.d.ts +12 -0
  38. package/action/actions/OpenLinkAction.js +1 -0
  39. package/action/actions/RequestAction.d.ts +4 -0
  40. package/action/actions/RequestAction.js +1 -0
  41. package/action/actions/ShowWidgetAction.d.ts +8 -0
  42. package/action/actions/ShowWidgetAction.js +1 -0
  43. package/action/actions/SubscribeContactAction.d.ts +5 -0
  44. package/action/actions/SubscribeContactAction.js +1 -0
  45. package/action/actions/TrackClick.d.ts +5 -0
  46. package/action/actions/TrackClick.js +1 -0
  47. package/action/asyncAction.d.ts +2 -0
  48. package/action/asyncAction.js +1 -0
  49. package/backward-compatibility/deprecatedCheckboxVariablesMap.d.ts +2 -0
  50. package/backward-compatibility/deprecatedCheckboxVariablesMap.js +1 -0
  51. package/color-libs/color-contrast.d.ts +8 -0
  52. package/color-libs/color-contrast.js +1 -0
  53. package/color-libs/color-convert.d.ts +2 -0
  54. package/color-libs/color-convert.js +1 -0
  55. package/color-libs/color-string.d.ts +15 -0
  56. package/color-libs/color-string.js +1 -0
  57. package/color-libs/color.d.ts +14 -0
  58. package/color-libs/color.js +1 -0
  59. package/color-libs/conversions.d.ts +9 -0
  60. package/color-libs/conversions.js +1 -0
  61. package/color-libs/rgb.d.ts +2 -0
  62. package/color-libs/rgb.js +1 -0
  63. package/color-libs/route.d.ts +1 -0
  64. package/color-libs/route.js +1 -0
  65. package/color-libs/simple-swizzle.d.ts +5 -0
  66. package/color-libs/simple-swizzle.js +1 -0
  67. package/common/ConfigService.d.ts +5 -0
  68. package/common/ConfigService.js +1 -0
  69. package/common/DefaultState.d.ts +7 -0
  70. package/common/DefaultState.js +1 -0
  71. package/common/SysEventTypes.d.ts +7 -0
  72. package/common/SysEventTypes.js +1 -0
  73. package/common/WaitForKeyboardHide.d.ts +1 -0
  74. package/common/WaitForKeyboardHide.js +1 -0
  75. package/document-model/ComponentPropsExtractor.d.ts +4 -0
  76. package/document-model/ComponentPropsExtractor.js +1 -0
  77. package/document-model/DocumentModel.d.ts +30 -0
  78. package/document-model/DocumentModel.js +1 -0
  79. package/document-model/DocumentService.d.ts +8 -0
  80. package/document-model/DocumentService.js +1 -0
  81. package/document-model/MergeAdaptiveStylesWithEnvIndependentStyles.d.ts +2 -0
  82. package/document-model/MergeAdaptiveStylesWithEnvIndependentStyles.js +1 -0
  83. package/document-model/ModulesComponentExtractor.d.ts +9 -0
  84. package/document-model/ModulesComponentExtractor.js +1 -0
  85. package/document-model/ViewEntryType.d.ts +14 -0
  86. package/document-model/ViewEntryType.js +1 -0
  87. package/document-model/systemResultStateNames.d.ts +2 -0
  88. package/document-model/systemResultStateNames.js +1 -0
  89. package/error/ErrorLogger.d.ts +3 -0
  90. package/error/ErrorLogger.js +1 -0
  91. package/form/FormControl.d.ts +42 -0
  92. package/form/FormControl.js +1 -0
  93. package/form/FormControlEvents.d.ts +6 -0
  94. package/form/FormControlEvents.js +1 -0
  95. package/form/FormControlValidator.d.ts +11 -0
  96. package/form/FormControlValidator.js +1 -0
  97. package/form/FormGroup.d.ts +23 -0
  98. package/form/FormGroup.js +1 -0
  99. package/form/FormGroupEvents.d.ts +8 -0
  100. package/form/FormGroupEvents.js +1 -0
  101. package/generateRandomValue.d.ts +2 -0
  102. package/generateRandomValue.js +1 -0
  103. package/handler/ClickHandler.d.ts +17 -0
  104. package/handler/ClickHandler.js +1 -0
  105. package/handler/ComponentEventHandler.d.ts +8 -0
  106. package/handler/ComponentEventHandler.js +1 -0
  107. package/handler/HandlerFactory.d.ts +8 -0
  108. package/handler/HandlerFactory.js +1 -0
  109. package/i18n/TranslateUtils.d.ts +9 -0
  110. package/i18n/TranslateUtils.js +1 -0
  111. package/package.json +38 -0
  112. package/prize-pool/PrizePool.d.ts +19 -0
  113. package/prize-pool/PrizePool.js +1 -0
  114. package/prize-pool/PrizePoolEvents.d.ts +5 -0
  115. package/prize-pool/PrizePoolEvents.js +1 -0
  116. package/prize-pool/PrizePoolFactory.d.ts +7 -0
  117. package/prize-pool/PrizePoolFactory.js +1 -0
  118. package/renderer/DragEventListener.d.ts +9 -0
  119. package/renderer/DragEventListener.js +1 -0
  120. package/renderer/RenderConstants.d.ts +6 -0
  121. package/renderer/RenderConstants.js +1 -0
  122. package/renderer/ViewRendererActionType.d.ts +15 -0
  123. package/renderer/ViewRendererActionType.js +1 -0
  124. package/renderer/style/ClDocumentResizeListener.d.ts +12 -0
  125. package/renderer/style/ClDocumentResizeListener.js +1 -0
  126. package/renderer/style/ColorSchemaListener.d.ts +26 -0
  127. package/renderer/style/ColorSchemaListener.js +1 -0
  128. package/renderer/style/CommonStylesService.d.ts +6 -0
  129. package/renderer/style/CommonStylesService.js +1 -0
  130. package/renderer/style/DefaultMediaQueryListener.d.ts +12 -0
  131. package/renderer/style/DefaultMediaQueryListener.js +1 -0
  132. package/renderer/style/LoopAnimationStylesService.d.ts +38 -0
  133. package/renderer/style/LoopAnimationStylesService.js +1 -0
  134. package/renderer/style/MobileDeviceOrientationListener.d.ts +12 -0
  135. package/renderer/style/MobileDeviceOrientationListener.js +1 -0
  136. package/resource-management/ComponentResourceManager.d.ts +13 -0
  137. package/resource-management/ComponentResourceManager.js +1 -0
  138. package/resource-management/Counter.d.ts +8 -0
  139. package/resource-management/Counter.js +1 -0
  140. package/resource-management/ViewResourcesManager.d.ts +8 -0
  141. package/resource-management/ViewResourcesManager.js +1 -0
  142. package/sdk/ColorUtils.d.ts +7 -0
  143. package/sdk/ColorUtils.js +1 -0
  144. package/sdk/ComponentLifeCycleContainerType.d.ts +5 -0
  145. package/sdk/ComponentLifeCycleContainerType.js +1 -0
  146. package/sdk/ComponentType.d.ts +10 -0
  147. package/sdk/ComponentType.js +1 -0
  148. package/sdk/FormUtils.d.ts +3 -0
  149. package/sdk/FormUtils.js +1 -0
  150. package/sdk/HtmlStyleUtils.d.ts +7 -0
  151. package/sdk/HtmlStyleUtils.js +1 -0
  152. package/sdk/ModelStyleUtils.d.ts +9 -0
  153. package/sdk/ModelStyleUtils.js +1 -0
  154. package/sdk/OverlayUtils.d.ts +28 -0
  155. package/sdk/OverlayUtils.js +1 -0
  156. package/sdk/PayloadEvent.d.ts +4 -0
  157. package/sdk/PayloadEvent.js +1 -0
  158. package/sdk/PreviewMode.d.ts +5 -0
  159. package/sdk/PreviewMode.js +1 -0
  160. package/sdk/TooltipUtils.d.ts +4 -0
  161. package/sdk/TooltipUtils.js +1 -0
  162. package/sdk/TranslationUtils.d.ts +4 -0
  163. package/sdk/TranslationUtils.js +1 -0
  164. package/sdk/TranslationUtils.spec.d.ts +1 -0
  165. package/sdk/TranslationUtils.spec.js +1 -0
  166. package/sdk/WcControlledElement.d.ts +26 -0
  167. package/sdk/WcControlledElement.js +1 -0
  168. package/sdk/WcElement.d.ts +68 -0
  169. package/sdk/WcElement.js +1 -0
  170. package/sdk/accessor/StyleAttributeAccessor.d.ts +4 -0
  171. package/sdk/accessor/StyleAttributeAccessor.js +1 -0
  172. package/sdk/context/ContextData.d.ts +9 -0
  173. package/sdk/context/ContextData.js +1 -0
  174. package/sdk/context/ContextEvents.d.ts +5 -0
  175. package/sdk/context/ContextEvents.js +1 -0
  176. package/sdk/context/ContextSDK.d.ts +15 -0
  177. package/sdk/context/ContextSDK.js +1 -0
  178. package/sdk/context/ContextSDK.spec.d.ts +1 -0
  179. package/sdk/context/ContextSDK.spec.js +1 -0
  180. package/sdk/context/Record.d.ts +8 -0
  181. package/sdk/context/Record.js +1 -0
  182. package/sdk/getComponentCountOnView.d.ts +1 -0
  183. package/sdk/getComponentCountOnView.js +1 -0
  184. package/sdk/getParentHostElement.d.ts +1 -0
  185. package/sdk/getParentHostElement.js +1 -0
  186. package/sdk/merge-tags/AbstractMergeTagsProcessor.d.ts +11 -0
  187. package/sdk/merge-tags/AbstractMergeTagsProcessor.js +1 -0
  188. package/sdk/merge-tags/MergeTagsProcessorFactory.d.ts +9 -0
  189. package/sdk/merge-tags/MergeTagsProcessorFactory.js +1 -0
  190. package/sdk/merge-tags/StaticMergeTagsProcessor.d.ts +3 -0
  191. package/sdk/merge-tags/StaticMergeTagsProcessor.js +1 -0
  192. package/sdk/merge-tags/UpdatingMergeTagsProcessor.d.ts +7 -0
  193. package/sdk/merge-tags/UpdatingMergeTagsProcessor.js +1 -0
  194. package/sdk/source/Source.d.ts +10 -0
  195. package/sdk/source/Source.js +1 -0
  196. package/sdk/source/SourceRegistry.d.ts +10 -0
  197. package/sdk/source/SourceRegistry.js +1 -0
  198. package/sdk/source/sources/DataLayerSource.d.ts +11 -0
  199. package/sdk/source/sources/DataLayerSource.js +1 -0
  200. package/sdk/source/sources/FormSource.d.ts +6 -0
  201. package/sdk/source/sources/FormSource.js +1 -0
  202. package/sdk/source/sources/JSApiVariablesSource.d.ts +12 -0
  203. package/sdk/source/sources/JSApiVariablesSource.js +1 -0
  204. package/sdk/source/sources/UrlQueryParamsSource.d.ts +12 -0
  205. package/sdk/source/sources/UrlQueryParamsSource.js +1 -0
  206. package/sdk/validators/required.d.ts +5 -0
  207. package/sdk/validators/required.js +1 -0
  208. package/sdk.d.ts +11 -0
  209. package/sdk.js +1 -0
  210. package/wc-renderer/WcFactory.d.ts +63 -0
  211. package/wc-renderer/WcFactory.js +1 -0
  212. package/wc-renderer/WcFactory.spec.d.ts +1 -0
  213. package/wc-renderer/WcFactory.spec.js +1 -0
  214. package/wc-renderer/WcRegister.d.ts +11 -0
  215. package/wc-renderer/WcRegister.js +1 -0
  216. package/wc-renderer/WcRegister.spec.d.ts +1 -0
  217. package/wc-renderer/WcRegister.spec.js +1 -0
  218. package/wc-renderer/WcResolver.d.ts +16 -0
  219. package/wc-renderer/WcResolver.js +1 -0
  220. package/wc-renderer/WcViewRenderer.d.ts +15 -0
  221. package/wc-renderer/WcViewRenderer.js +1 -0
  222. package/wc-renderer/decorators/wcStaticDecorator.d.ts +7 -0
  223. package/wc-renderer/decorators/wcStaticDecorator.js +1 -0
  224. package/wc-renderer/decorators/wcUpdatingDecorator.d.ts +43 -0
  225. package/wc-renderer/decorators/wcUpdatingDecorator.js +1 -0
  226. package/wc-renderer/icons/feedbackIcons.d.ts +23 -0
  227. package/wc-renderer/icons/feedbackIcons.js +1 -0
  228. package/wc-renderer/icons/promoCodeCopyIcons.d.ts +2 -0
  229. package/wc-renderer/icons/promoCodeCopyIcons.js +1 -0
  230. package/wc-renderer/icons/promoCodeStrokeIcons.d.ts +2 -0
  231. package/wc-renderer/icons/promoCodeStrokeIcons.js +1 -0
  232. package/wc-renderer/observers/createObservers.d.ts +5 -0
  233. package/wc-renderer/observers/createObservers.js +1 -0
  234. package/wc-renderer/observers/observerType.d.ts +6 -0
  235. package/wc-renderer/observers/observerType.js +1 -0
  236. package/wc-renderer/subscriptions/createSubscriptions.d.ts +5 -0
  237. package/wc-renderer/subscriptions/createSubscriptions.js +1 -0
  238. package/wc-renderer/utils/platforms.d.ts +5 -0
  239. package/wc-renderer/utils/platforms.js +1 -0
@@ -0,0 +1 @@
1
+ import conversions from"./conversions";function buildGraph(){const n={},e=Object.keys(conversions);for(let t=e.length,r=0;r<t;r++)n[e[r]]={distance:-1,parent:null};return n}function deriveBFS(n){const e=buildGraph(),t=[n];for(e[n].distance=0;t.length;){const n=t.pop(),r=Object.keys(conversions[n]);for(let o=r.length,s=0;s<o;s++){const o=r[s],i=e[o];-1===i.distance&&(i.distance=e[n].distance+1,i.parent=n,t.unshift(o))}}return e}function link(n,e){return function(t){return e(n(t))}}function wrapConversion(n,e){const t=[e[n].parent,n];let r=conversions[e[n].parent][n],o=e[n].parent;for(;e[o].parent;)t.unshift(e[o].parent),r=link(conversions[e[o].parent][o],r),o=e[o].parent;return r.conversion=t,r}export default function(n){const e=deriveBFS(n),t={},r=Object.keys(e);for(let n=r.length,o=0;o<n;o++){const n=r[o];null!==e[n].parent&&(t[n]=wrapConversion(n,e))}return t}
@@ -0,0 +1,5 @@
1
+ export default swizzle;
2
+ declare function swizzle(args: any): any[];
3
+ declare namespace swizzle {
4
+ function wrap(fn: any): (...args: any[]) => any;
5
+ }
@@ -0,0 +1 @@
1
+ function isArrayish(r){return!(!r||"string"==typeof r)&&(r instanceof Array||Array.isArray(r)||r.length>=0&&(r.splice instanceof Function||Object.getOwnPropertyDescriptor(r,r.length-1)&&"String"!==r.constructor.name))}var concat=Array.prototype.concat,slice=Array.prototype.slice,swizzle=function(r){for(var t=[],n=0,e=r.length;n<e;n++){var c=r[n];isArrayish(c)?t=concat.call(t,slice.call(c)):t.push(c)}return t};swizzle.wrap=function(r){return function(){return r(swizzle(arguments))}};export default swizzle;
@@ -0,0 +1,5 @@
1
+ export default class ConfigService {
2
+ constructor(config: any);
3
+ config: any;
4
+ getConfig(key: any): any;
5
+ }
@@ -0,0 +1 @@
1
+ export default class ConfigService{constructor(t){this.config=Object.assign(Object.assign({},{subscribeContactUrl:""}),t||{})}getConfig(t){return t?this.config[t]:this.config}}
@@ -0,0 +1,7 @@
1
+ export default class DefaultState {
2
+ constructor(initialState: any);
3
+ state: any;
4
+ getState(): any;
5
+ setState(obj: any): void;
6
+ destroy(): void;
7
+ }
@@ -0,0 +1 @@
1
+ export default class DefaultState{constructor(t){this.state=t||{}}getState(){return this.state}setState(t){this.state=Object.assign(Object.assign({},this.state),t)}destroy(){}}
@@ -0,0 +1,7 @@
1
+ export default SysEventTypes;
2
+ declare namespace SysEventTypes {
3
+ const TOO_MANY_REQUESTS: string;
4
+ const COMPONENT_RESOURCES_LOADED: string;
5
+ const FAILED_TO_LOAD_COMPONENT_RESOURCE: string;
6
+ const EXECUTE_ACTION_BY_PREDICATE: string;
7
+ }
@@ -0,0 +1 @@
1
+ const SysEventTypes={TOO_MANY_REQUESTS:"TOO_MANY_REQUESTS",COMPONENT_RESOURCES_LOADED:"COMPONENT_RESOURCES_LOADED",FAILED_TO_LOAD_COMPONENT_RESOURCE:"FAILED_TO_LOAD_COMPONENT_RESOURCE",EXECUTE_ACTION_BY_PREDICATE:"EXECUTE_ACTION_BY_PREDICATE"};export default SysEventTypes;
@@ -0,0 +1 @@
1
+ export default function waitForKeyboardHide(callback: any): void;
@@ -0,0 +1 @@
1
+ export default function waitForKeyboardHide(e){setTimeout(e,50)}
@@ -0,0 +1,4 @@
1
+ export class ComponentPropsExtractor {
2
+ static extractClassesFromStyles(componentModel: any): string[];
3
+ static extractLoopAnimationsFromStylesClasses(componentModel: any): string[];
4
+ }
@@ -0,0 +1 @@
1
+ import{LoopAnimationStylesService}from"../renderer/style/LoopAnimationStylesService";export class ComponentPropsExtractor{static extractClassesFromStyles(s){let e="";return s.props.adaptiveStyles||s.props.styles?(s.props.adaptiveStyles&&(s.props.adaptiveStyles.desktop.forEach(s=>e+=` ${s.classes}`),s.props.adaptiveStyles.mobile.forEach(s=>e+=` ${s.classes}`)),s.props.styles&&s.props.styles.forEach(s=>e+=` ${s.classes}`),e.split(" ")):[]}static extractLoopAnimationsFromStylesClasses(s){return this.extractClassesFromStyles(s).filter(s=>s.startsWith(LoopAnimationStylesService.animationClassPrefix)).map(s=>s.replace(LoopAnimationStylesService.animationClassPrefix,""))}}
@@ -0,0 +1,30 @@
1
+ export namespace DocumentModelUpdateType {
2
+ const COMPONENT_INSERT: string;
3
+ const COMPONENT_REMOVE: string;
4
+ const COMPONENT_MOVE: string;
5
+ const COMPONENT_UPDATE: string;
6
+ const COMPONENT_PROPS_UPDATE: string;
7
+ const SHARED_UPDATE: string;
8
+ const MOBILE_BREAKPOINT_UPDATE: string;
9
+ const ENVIRONMENT_UPDATE: string;
10
+ const TEXT_CLASS_ADDED: string;
11
+ const TEXT_CLASS_UPDATED: string;
12
+ const TEXT_CLASS_REMOVED: string;
13
+ const HEADER_FONT_FAMILY_UPDATE: string;
14
+ const TEXT_FONT_FAMILY_UPDATE: string;
15
+ const SHARED_UPDATE_ALL: string;
16
+ const COLOR_SCHEMA_UPDATE: string;
17
+ }
18
+ export default class DocumentModel {
19
+ constructor(json: any);
20
+ json: any;
21
+ flatJson: any;
22
+ setComponentRef(targetComponentId: any, componentRef: any): void;
23
+ getModel(): any;
24
+ getView(index: any): any;
25
+ getViews(): any;
26
+ getShared(): any;
27
+ iterateViewModelAndExecute(viewIndex: any, callback: any): void;
28
+ destroy(): void;
29
+ destroyView(viewIndex: any): void;
30
+ }
@@ -0,0 +1 @@
1
+ import ModulesComponentExtractor from"./ModulesComponentExtractor";import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import DocumentUtils from"@claspo/common/document/DocumentUtils";export const DocumentModelUpdateType={COMPONENT_INSERT:"COMPONENT_INSERT",COMPONENT_REMOVE:"COMPONENT_REMOVE",COMPONENT_MOVE:"COMPONENT_MOVE",COMPONENT_UPDATE:"COMPONENT_UPDATE",COMPONENT_PROPS_UPDATE:"COMPONENT_PROPS_UPDATE",SHARED_UPDATE:"SHARED_UPDATE",MOBILE_BREAKPOINT_UPDATE:"MOBILE_BREAKPOINT_UPDATE",ENVIRONMENT_UPDATE:"ENVIRONMENT_UPDATE",TEXT_CLASS_ADDED:"TEXT_CLASS_ADDED",TEXT_CLASS_UPDATED:"TEXT_CLASS_UPDATED",TEXT_CLASS_REMOVED:"TEXT_CLASS_REMOVED",HEADER_FONT_FAMILY_UPDATE:"HEADER_FONT_FAMILY_UPDATE",TEXT_FONT_FAMILY_UPDATE:"TEXT_FONT_FAMILY_UPDATE",SHARED_UPDATE_ALL:"SHARED_UPDATE_ALL",COLOR_SCHEMA_UPDATE:"COLOR_SCHEMA_UPDATE"};export default class DocumentModel extends DefaultEventEmitter{constructor(t){super(),this.json=t,this.flatJson=ModulesComponentExtractor.extract(this.json)}setComponentRef(t,e){DocumentUtils.getNodeById(this.getViews(),t).componentRef=e}getModel(){return this.flatJson}getView(t){return this.flatJson.views[t]}getViews(){return this.flatJson.views}getShared(){return this.flatJson.shared}iterateViewModelAndExecute(t,e){const E=this.getView(t);DocumentUtils.iterateDepthFirst(E,e)}destroy(){}destroyView(t){console.warn("destroyView now should do nothing"),this.iterateViewModelAndExecute(t,t=>{t.componentRef&&(t.componentRef.remove(),t.componentRef=null)})}}
@@ -0,0 +1,8 @@
1
+ export default class DocumentService {
2
+ constructor(documentModel: any, viewRenderer: any, entryModuleType: any);
3
+ documentModel: any;
4
+ viewRenderer: any;
5
+ entryModuleType: any;
6
+ handleModelUpdate(type: any, payload: any): void;
7
+ removeComponent(componentPath: any): any;
8
+ }
@@ -0,0 +1 @@
1
+ import DocumentUtils from"@claspo/common/document/DocumentUtils";import ComponentInsertType from"@claspo/common/document/ComponentInsertType";import{DocumentModelUpdateType}from"./DocumentModel";export default class DocumentService{constructor(e,t,o){this.documentModel=e,this.viewRenderer=t,this.entryModuleType=o}handleModelUpdate(e,t){switch(e){case DocumentModelUpdateType.COMPONENT_PROPS_UPDATE:{const{id:e,data:o}=t,d=DocumentUtils.getNodeById(this.documentModel.getViews(),e);if(!d)return void console.warn("Attempt to update unexisting component props");const n=d.path,i=n.reduce((e,t,o)=>0===o?this.documentModel.getViews()[t]:e.children[t],this.documentModel.getViews());return i?(i.props=Object.assign({},o),void this.documentModel.emit(`${DocumentModelUpdateType.COMPONENT_PROPS_UPDATE}_${e}`,o)):void console.error("Model not found by path ["+n+"]")}case DocumentModelUpdateType.COMPONENT_UPDATE:{const{id:e,data:o}=t,d=DocumentUtils.getNodeById(this.documentModel.getViews(),e);return d?(Object.assign(d,o),void this.documentModel.emit(`${DocumentModelUpdateType.COMPONENT_UPDATE}_${e}`,o)):void console.warn("Attempt to update unexisting component props")}case DocumentModelUpdateType.SHARED_UPDATE:{const e=this.documentModel.getShared();return Object.assign(e,t),void this.documentModel.emit(DocumentModelUpdateType.SHARED_UPDATE_ALL)}case DocumentModelUpdateType.MOBILE_BREAKPOINT_UPDATE:return void(this.documentModel.getShared().mobileBreakpointWidth=t.mobileBreakpointWidth);case DocumentModelUpdateType.ENVIRONMENT_UPDATE:return void this.documentModel.emit(DocumentModelUpdateType.ENVIRONMENT_UPDATE,t);case DocumentModelUpdateType.TEXT_CLASS_ADDED:return void(this.documentModel.getShared().textClasses[t.id]=t);case DocumentModelUpdateType.TEXT_CLASS_UPDATED:return this.documentModel.getShared().textClasses[t.id]=t,void this.documentModel.emit(DocumentModelUpdateType.SHARED_UPDATE_ALL);case DocumentModelUpdateType.TEXT_CLASS_REMOVED:return void delete this.documentModel.getShared().textClasses[t];case DocumentModelUpdateType.HEADER_FONT_FAMILY_UPDATE:return this.documentModel.getShared().headerFontFamily=t,void this.documentModel.emit(DocumentModelUpdateType.SHARED_UPDATE_ALL);case DocumentModelUpdateType.TEXT_FONT_FAMILY_UPDATE:return this.documentModel.getShared().textFontFamily=t,void this.documentModel.emit(DocumentModelUpdateType.SHARED_UPDATE_ALL);case DocumentModelUpdateType.COLOR_SCHEMA_UPDATE:return this.documentModel.getShared().cssVars=t,void this.documentModel.emit(DocumentModelUpdateType.COLOR_SCHEMA_UPDATE,t);case DocumentModelUpdateType.COMPONENT_REMOVE:{const e=t.path;return void this.removeComponent(e)}case DocumentModelUpdateType.COMPONENT_INSERT:{let{insertPosition:e,targetPath:o,model:d}=t,n=DocumentUtils.getNodeByPath(this.documentModel.getViews(),o);if(!n&&e!==ComponentInsertType.INSIDE){const t=o.slice(0,-1),d=DocumentUtils.getNodeByPath(this.documentModel.getViews(),t);e=ComponentInsertType.INSIDE,n=d,o=t}return DocumentUtils.insertNode(d,o,this.documentModel.getViews(),e),void this.viewRenderer.renderComponent(n,d,this.entryModuleType,e)}case DocumentModelUpdateType.COMPONENT_MOVE:{const{fromPath:e,insertPosition:o,targetPath:d}=t,n=d[0],i=this.documentModel.getViews()[n],s=DocumentUtils.getNodeByPath(this.documentModel.getViews(),d);if(!s)return;const c=this.removeComponent(e),m=DocumentUtils.getNodeById([i],s.id).path;return DocumentUtils.insertNode(c,m,this.documentModel.getViews(),o),void this.viewRenderer.renderComponent(s,c,this.entryModuleType,o)}default:return}}removeComponent(e){const t=DocumentUtils.getNodeByPath(this.documentModel.getViews(),e);if(t)return t.componentRef.remove(),DocumentUtils.removeNode(this.documentModel.getViews(),e)}}
@@ -0,0 +1,2 @@
1
+ export default mergeAdaptiveStylesWithEnvIndependentStyles;
2
+ declare function mergeAdaptiveStylesWithEnvIndependentStyles(adaptiveStyles: any, envIndependentStyles: any): any;
@@ -0,0 +1 @@
1
+ function mergeAdaptiveStylesWithEnvIndependentStyles(e,t){if(!t)return e||{desktop:[],mobile:[]};const s=JSON.parse(JSON.stringify(e||{desktop:[],mobile:[]}));return t.forEach(e=>{const t=e.element;let r=!1,n=!1;s.desktop&&s.desktop.forEach(s=>{s.element===t&&(mergeStyleObjects(s,e),r=!0)}),s.mobile&&s.mobile.forEach(s=>{s.element===t&&(mergeStyleObjects(s,e),n=!0)}),!r&&s.desktop&&s.desktop.push(JSON.parse(JSON.stringify(e))),!n&&s.mobile&&s.mobile.push(JSON.parse(JSON.stringify(e)))}),s}function mergeStyleObjects(e,t){return t?(e.classes=`${e.classes||""} ${t.classes||""}`.trim(),Object.keys(t).forEach(s=>{"element"!==s&&"classes"!==s&&(t[s]&&"object"==typeof t[s]&&!Array.isArray(t[s])?e[s]=Object.assign(Object.assign({},e[s]||{}),t[s]):e[s]=t[s])}),e):e}export default mergeAdaptiveStylesWithEnvIndependentStyles;
@@ -0,0 +1,9 @@
1
+ export default class ModulesComponentExtractor {
2
+ static moduleToContainerParams: {
3
+ name: string;
4
+ version: string;
5
+ };
6
+ static extract(documentModel: any): any;
7
+ static sort(a: any, b: any): 1 | -1;
8
+ static reIndex(model: any, moduleIndex: any): any;
9
+ }
@@ -0,0 +1 @@
1
+ import ViewEntryType from"./ViewEntryType";export default class ModulesComponentExtractor{static extract(e){const t=e.views.map(e=>{const t=e.children.map(e=>e.type===ViewEntryType.MODULE?Object.assign(Object.assign({},e),ModulesComponentExtractor.moduleToContainerParams):e);return Object.assign(Object.assign({},e),{children:t})});return Object.assign(Object.assign({},e),{views:t})}static sort(e,t){return e.index>t.index?1:-1}static reIndex(e,t){return Object.assign(Object.assign({},e),{index:t+e.index})}}ModulesComponentExtractor.moduleToContainerParams={name:"SysContainerComponent",version:"1.0.0"};
@@ -0,0 +1,14 @@
1
+ export default ViewEntryType;
2
+ declare namespace ViewEntryType {
3
+ const VIEW: string;
4
+ const MODULE: string;
5
+ const CONTAINER: string;
6
+ const SLIDER: string;
7
+ const TEXT: string;
8
+ const INPUT: string;
9
+ const BUTTON: string;
10
+ const IMAGE: string;
11
+ const CONSENT: string;
12
+ const COLUMN: string;
13
+ const COLUMNS: string;
14
+ }
@@ -0,0 +1 @@
1
+ const ViewEntryType={VIEW:"VIEW",MODULE:"MODULE",CONTAINER:"CONTAINER",SLIDER:"SLIDER",TEXT:"TEXT",INPUT:"INPUT",BUTTON:"BUTTON",IMAGE:"IMAGE",CONSENT:"CONSENT",COLUMN:"COLUMN",COLUMNS:"COLUMNS"};export default ViewEntryType;
@@ -0,0 +1,2 @@
1
+ export default systemResultStateNames;
2
+ declare const systemResultStateNames: string[];
@@ -0,0 +1 @@
1
+ const systemResultStateNames=["DOCUMENT_VIEW_TYPE_SUCCESS","DOCUMENT_VIEW_TYPE_SUBSCRIBED","DOCUMENT_VIEW_TYPE_SUCCESSFUL_REQUEST","DOCUMENT_VIEW_TYPE_ERROR","REQUEST_FORM_VIEW_TYPE_SUCCESS"];export default systemResultStateNames;
@@ -0,0 +1,3 @@
1
+ export default class ErrorLogger {
2
+ static log(message: any): void;
3
+ }
@@ -0,0 +1 @@
1
+ export default class ErrorLogger{static log(r){window.scriptLog09u8y9?scriptLog09u8y9("ERROR","RUNTIME_ERROR",new Error(r)):console.error(r)}}
@@ -0,0 +1,42 @@
1
+ export class FormControl {
2
+ constructor(config: any, elementRef: any, customValidators: any, asyncCustomValidators: any, tracking: any);
3
+ componentId: any;
4
+ viewIdx: any;
5
+ name: any;
6
+ defaultValue: any;
7
+ value: any;
8
+ validator: FormControlValidator;
9
+ errorKeys: any[];
10
+ valid: boolean;
11
+ disabled: boolean;
12
+ pending: boolean;
13
+ debounceValue: any;
14
+ tracking: any;
15
+ touched: boolean;
16
+ valueChanged: boolean;
17
+ inputElementValueChanged(value: any): void;
18
+ setDisabled(): void;
19
+ setEnabled(): void;
20
+ setPending(value: any): void;
21
+ getName(): any;
22
+ getValue(): any;
23
+ getComponentId(): any;
24
+ setValue(value?: string, options?: {
25
+ silent: boolean;
26
+ skipValidation: boolean;
27
+ skipElementUpdate: boolean;
28
+ }): void;
29
+ isValid(): boolean;
30
+ isPending(): boolean;
31
+ validate(options?: {
32
+ silent: boolean;
33
+ }): Promise<boolean>;
34
+ markAsTouched(): void;
35
+ isTouched(): boolean;
36
+ getErrorKeys(): any[];
37
+ destroy(): void;
38
+ _init(config: any, elementRef: any): void;
39
+ elementRef: any;
40
+ debouncedValidate: any;
41
+ }
42
+ import FormControlValidator from "./FormControlValidator";
@@ -0,0 +1 @@
1
+ import FormControlValidator from"./FormControlValidator";import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import FormControlEvents from"./FormControlEvents";import debounce from"@claspo/common/async/debounce";export class FormControl extends DefaultEventEmitter{constructor(e,t,i,n,s){super(),this.componentId=e.componentId,this.viewIdx=Number.isInteger(e.viewIdx)?e.viewIdx:null,this.name=e.name,this.defaultValue=e.defaultValue,this.value=e.defaultValue?e.defaultValue:void 0,this.validator=new FormControlValidator(this,e.validation,i,n),this.errorKeys=this.validator.getSyncErrorKeys(this.getValue()),this.valid=!this.errorKeys.length,this.disabled=!1,this.pending=!1,this.debounceValue=e.hasOwnProperty("debounceValue")?e.debounceValue:300,this.tracking=s,this.touched=!1,this.valueChanged=!1,this._init(e,t)}inputElementValueChanged(e){this.tracking.send("FormStartFilling_[Name]"),this.setValue(e)}setDisabled(){this.disabled=!0,this.elementRef&&this.elementRef.setAttribute("disabled","disabled")}setEnabled(){this.disabled=!1,this.elementRef&&this.elementRef.removeAttribute("disabled")}setPending(e){this.pending=e}getName(){return this.name}getValue(){return this.value}getComponentId(){return this.componentId}setValue(e="",t={silent:!1,skipValidation:!1,skipElementUpdate:!1}){t.skipElementUpdate||(this.valueChanged=this.value!==e),this.value=e,this.elementRef&&!t.skipElementUpdate&&(this.elementRef.value=e),t.skipValidation?!t.silent&&this.valueChanged&&this.emit(FormControlEvents.valueChanged,e):(this.pending=!0,this.emit(FormControlEvents.validationStatusChanged,"pending"),this.debouncedValidate(t)),t.silent||t.skipValidation||this.elementRef||this.markAsTouched()}isValid(){return this.valid}isPending(){return this.pending}async validate(e={silent:!1}){this.pending=!0;const t=await this.validator.getErrorKeys(this.getValue());return this.valid=!t.length,this.errorKeys=t,this.pending=!1,e.silent||(this.emit(FormControlEvents.validationStatusChanged,this.valid?"valid":"invalid"),this.valueChanged&&(this.emit(FormControlEvents.valueChanged,this.getValue()),this.valueChanged=!1)),this.valid}markAsTouched(){this.touched=!0,this.emit(FormControlEvents.touchedStatusChanged)}isTouched(){return this.touched}getErrorKeys(){return this.errorKeys}destroy(){super.destroy()}_init(e,t){const i=t?t.getAttribute("type"):null;if(t&&e.defaultValue&&("checkbox"===i?t.checked=e.defaultValue:t.value=e.defaultValue),t){const n=e.triggerEvent?e.triggerEvent:"input",s="checkbox"===i;t.addEventListener(n,e=>{this.inputElementValueChanged(s?e.target.checked:e.target.value)}),t.addEventListener("blur",()=>{this.markAsTouched()}),this.elementRef=t}this.debouncedValidate=this.debounceValue?debounce(e=>this.validate(e),this.debounceValue):this.validate.bind(this)}}
@@ -0,0 +1,6 @@
1
+ export default FormControlEvents;
2
+ declare namespace FormControlEvents {
3
+ const valueChanged: string;
4
+ const validationStatusChanged: string;
5
+ const touchedStatusChanged: string;
6
+ }
@@ -0,0 +1 @@
1
+ const FormControlEvents={valueChanged:"valueChanged",validationStatusChanged:"validationStatusChanged",touchedStatusChanged:"touchedStatusChanged"};export default FormControlEvents;
@@ -0,0 +1,11 @@
1
+ export default class FormControlValidator {
2
+ constructor(control: any, validation: {} | undefined, customValidatorsMap: any, asyncCustomValidators: any);
3
+ control: any;
4
+ customValidatorsMap: any;
5
+ asyncCustomValidators: any;
6
+ required: any;
7
+ validator: any;
8
+ isValid(value: any): Promise<boolean>;
9
+ getErrorKeys(value: any): Promise<any[]>;
10
+ getSyncErrorKeys(value: any): any[];
11
+ }
@@ -0,0 +1 @@
1
+ import{required}from"../sdk/validators/required";const defaultValidatorsMap={REQUIRED:required()};export default class FormControlValidator{constructor(t,s={},a,i){this.control=t,this.customValidatorsMap=a,this.asyncCustomValidators=i,this.required=s.required,this.validator=s.validator}async isValid(t){return!(await this.getErrorKeys(t)).length}getErrorKeys(t){if(!this.required&&!t)return Promise.resolve([]);const s=this.getSyncErrorKeys(t),a=[];return this.validator&&this.asyncCustomValidators&&("custom"===this.validator?a.push(...Object.values(this.asyncCustomValidators)):this.validator in this.asyncCustomValidators&&a.push(this.asyncCustomValidators[this.validator])),a.length?Promise.all(a.map(a=>a(t,s))).then(t=>{t.forEach(t=>{null!==t.value&&void 0!==t.value&&this.control.setValue(t.value,{silent:!0,skipValidation:!0,skipElementUpdate:!0})});const a=t.filter(t=>!t.isValid).map(t=>t.errorKey);return[...s,...a]}):Promise.resolve(s)}getSyncErrorKeys(t){if(!this.required&&!t)return[];const s=[];if(this.required&&(this.customValidatorsMap&&this.customValidatorsMap.REQUIRED?s.push(this.customValidatorsMap.REQUIRED):s.push(defaultValidatorsMap.REQUIRED)),this.validator&&this.customValidatorsMap&&"REQUIRED"!==this.validator&&this.validator in this.customValidatorsMap&&s.push(this.customValidatorsMap[this.validator]),s.length){const a=s.map(s=>s(t));return a.forEach(t=>{null!==t.value&&void 0!==t.value&&this.control.setValue(t.value,{silent:!0,skipValidation:!0,skipElementUpdate:!0})}),a.filter(t=>!t.isValid).map(t=>t.errorKey)}return[]}}
@@ -0,0 +1,23 @@
1
+ export default class FormGroup {
2
+ constructor(tracking: any);
3
+ controls: {};
4
+ tracking: any;
5
+ submitQueuedAfterPending: boolean;
6
+ preventSubmit: boolean;
7
+ registerControl(config: any, elementRef: any, customValidators: any, asyncCustomValidators: any): any;
8
+ updateControl(config: any, elementRef: any, customValidators: any, asyncCustomValidators: any): any;
9
+ getControl(name: any): any;
10
+ hasControl(name: any): boolean;
11
+ removeControl(name: any): void;
12
+ setControlValue(name: any, value: any): void;
13
+ setPreventSubmit(value: any): void;
14
+ destroy(): void;
15
+ isValid(): boolean;
16
+ isPending(): boolean;
17
+ getControlsMap(): any;
18
+ getControlsAsArray(): any[];
19
+ setDisabledAll(): void;
20
+ setEnabledAll(): void;
21
+ markAsTouched(): void;
22
+ isTouched(): boolean;
23
+ }
@@ -0,0 +1 @@
1
+ import{FormControl}from"./FormControl";import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import FormGroupEvents from"./FormGroupEvents";import FormControlEvents from"./FormControlEvents";export default class FormGroup extends DefaultEventEmitter{constructor(t){super(),this.controls={},this.tracking=t,this.submitQueuedAfterPending=!1,this.preventSubmit=!1}registerControl(t,e,o,r){const s=new FormControl(t,e,o,r,this.tracking);return this.controls[t.name]=s,s.on("*",(t,e)=>{if(e===FormControlEvents.valueChanged)this.emit(FormGroupEvents.valueChanged,s);else this.emit(e,t),e===FormControlEvents.validationStatusChanged&&this.emit(FormGroupEvents.validationChecked,this.isValid())}),this.emit(FormGroupEvents.controlRegistered,s),this.getControl(t.name)}updateControl(t,e,o,r){const s=this.getControl(t.name);return this.registerControl(Object.assign(Object.assign({},t),{defaultValue:s.getValue()||""}),e,o,r)}getControl(t){return this.controls[t]}hasControl(t){return!!this.getControl(t)}removeControl(t){const e=this.getControl(t);e&&(e.destroy(),delete this.controls[t])}setControlValue(t,e){this.controls[t].setValue(e)}setPreventSubmit(t){this.preventSubmit=t}destroy(){super.destroy()}isValid(){return Object.values(this.controls).every(t=>t.isValid())}isPending(){return!!Object.values(this.controls).filter(t=>t.isPending()).length}getControlsMap(){return Object.values(this.controls).reduce((t,e)=>Object.assign(Object.assign({},t),{[e.getName()]:e.getValue()}),{})}getControlsAsArray(){return Object.values(this.controls)}setDisabledAll(){this.getControlsAsArray().forEach(t=>t.setDisabled())}setEnabledAll(){this.getControlsAsArray().forEach(t=>t.setEnabled())}markAsTouched(){Object.values(this.controls).forEach(t=>t.markAsTouched())}isTouched(){return Object.values(this.controls).every(t=>t.touched())}}
@@ -0,0 +1,8 @@
1
+ export default FormGroupEvents;
2
+ declare const FormGroupEvents: {
3
+ validationChecked: string;
4
+ controlRegistered: string;
5
+ valueChanged: string;
6
+ validationStatusChanged: string;
7
+ touchedStatusChanged: string;
8
+ };
@@ -0,0 +1 @@
1
+ import FormControlEvents from"./FormControlEvents";const FormGroupEvents=Object.assign(Object.assign({},FormControlEvents),{validationChecked:"validationChecked",controlRegistered:"controlRegistered"});export default FormGroupEvents;
@@ -0,0 +1,2 @@
1
+ export default generateRandomValue;
2
+ declare function generateRandomValue(min: any, max: any): any;
@@ -0,0 +1 @@
1
+ const generateRandomValue=(a,e)=>Math.floor(Math.random()*(e-a))+a;export default generateRandomValue;
@@ -0,0 +1,17 @@
1
+ export class ClickHandler {
2
+ static IGNORING_VIEW_ENTRY_TYPES: string[];
3
+ static sortActions(actions: any): any[];
4
+ constructor(config: any, actions: any);
5
+ config: any;
6
+ actions: any[];
7
+ listener: ((event: any) => void) | null;
8
+ targetElements: any[];
9
+ eventsQueue: any[];
10
+ state: any;
11
+ postponed: boolean;
12
+ activate(state: any, componentEmitter: any, getHostElementCb: any): void;
13
+ execute(): Promise<void>;
14
+ postpone(): void;
15
+ release(): void;
16
+ destroy(): void;
17
+ }
@@ -0,0 +1 @@
1
+ var __asyncValues=this&&this.__asyncValues||function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,s=t[Symbol.asyncIterator];return s?s.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(s){e[s]=t[s]&&function(e){return new Promise(function(r,n){(function(t,e,s,r){Promise.resolve(r).then(function(e){t({value:e,done:s})},e)})(r,n,(e=t[s](e)).done,e.value)})}}};import{applySysAttrPrefix}from"../renderer/RenderConstants";import ViewEntryType from"../document-model/ViewEntryType";import SysActionTypes from"../action/SysActionTypes";export class ClickHandler{static sortActions(t){const e={[SysActionTypes.CLOSE_WIDGET]:-1,[SysActionTypes.OPEN_LINK]:-2,[SysActionTypes.SHOW_WIDGET]:1,[SysActionTypes.SUBSCRIBE_CONTACT]:2,[SysActionTypes.REQUEST]:3},s=t=>void 0!==e[t.type]?e[t.type]:0;return[...t].sort((t,e)=>s(t)>s(e)?-1:s(t)<s(e)?1:0)}constructor(t,e){this.config=t,this.actions=ClickHandler.sortActions(e),this.listener=null,this.targetElements=[],this.eventsQueue=[],this.state=null,this.postponed=!1}activate(t,e,s){this.state=t;const r=s(),n=r.getAttribute(applySysAttrPrefix("id"));this.listener=t=>{const e=t.composedPath().filter(t=>t instanceof HTMLElement&&t.getAttribute(applySysAttrPrefix("type")));let s=0;for(;e[s]&&e[s].getAttribute(applySysAttrPrefix("id"))!==n;){let t=e[s].getAttribute(applySysAttrPrefix("type"));if(ClickHandler.IGNORING_VIEW_ENTRY_TYPES.includes(t))return;s++}this.eventsQueue.push({event:t}),this.postponed||this.execute()},this.targetElements=this.config.relativeSelector?Array.from((r.shadowRoot||r).querySelectorAll(this.config.relativeSelector)):[r],this.targetElements.forEach(t=>{t.addEventListener("click",this.listener)})}async execute(){var t,e,s,r;try{for(var n,i=!0,o=__asyncValues(this.eventsQueue);!(t=(n=await o.next()).done);){r=n.value,i=!1;try{const{event:t}=r;for(const e of this.actions){if(!await e.execute(this.state.getState(),t))break}}finally{i=!0}}}catch(t){e={error:t}}finally{try{i||t||!(s=o.return)||await s.call(o)}finally{if(e)throw e.error}}this.eventsQueue=[]}postpone(){this.postponed=!0}release(){this.postponed=!1,this.execute()}destroy(){this.listener&&this.targetElements.length&&(this.targetElements.forEach(t=>{t.removeEventListener("click",this.listener)}),this.targetElements=[])}}ClickHandler.IGNORING_VIEW_ENTRY_TYPES=[ViewEntryType.BUTTON,ViewEntryType.CONSENT,ViewEntryType.INPUT];
@@ -0,0 +1,8 @@
1
+ export default class ComponentEventHandler {
2
+ constructor(config: any, actions: any);
3
+ config: any;
4
+ actions: any;
5
+ componentEmitterListener: any;
6
+ activate(state: any, componentEmitter: any, getRootElementCb: any): void;
7
+ destroy(): void;
8
+ }
@@ -0,0 +1 @@
1
+ export default class ComponentEventHandler{constructor(t,e){this.config=t,this.actions=e,this.componentEmitterListener=null}activate(t,e,n){this.componentEmitterListener=e.on(this.config.eventName,()=>{this.actions.forEach(e=>e.execute(t.getState(),this.config.params))})}destroy(){this.componentEmitterListener&&this.componentEmitterListener.off()}}
@@ -0,0 +1,8 @@
1
+ export default class HandlerFactory {
2
+ constructor(actionFactory: any, actionRegister: any);
3
+ actionFactory: any;
4
+ actionRegister: any;
5
+ get(handler: any): ClickHandler | ComponentEventHandler;
6
+ }
7
+ import { ClickHandler } from "./ClickHandler";
8
+ import ComponentEventHandler from "./ComponentEventHandler";
@@ -0,0 +1 @@
1
+ import{ClickHandler}from"./ClickHandler";import HandlerTypes from"@claspo/common/handler/HandlerTypes";import ComponentEventHandler from"./ComponentEventHandler";export default class HandlerFactory{constructor(e,t){this.actionFactory=e,this.actionRegister=t}get(e){const t=e.actions.map(e=>this.actionFactory.get(e));switch(t.forEach(e=>this.actionRegister.register(e)),e.type){case HandlerTypes.CLICK:return new ClickHandler(e,t);case HandlerTypes.COMPONENT_EVENT:return new ComponentEventHandler(e,t);default:throw new Error(`Not supported handler type ${e.type}`)}}}
@@ -0,0 +1,9 @@
1
+ export default class TranslateUtils {
2
+ static getValueByPropPath(props: any, propPath: any): any;
3
+ static transformPropPathStringToArray(propPath: any): any;
4
+ static constructDynamicPropPath(propPaths: any, component: any): any;
5
+ static applyTranslationObjectToComponentsIfNeeded(documentModel: any, manifests: any, map: any): any;
6
+ static setProp(map: any, component: any, propPath: any): void;
7
+ static applyTranslationObjectToComponents(views: any, manifests: any, map: any): any;
8
+ static _setValueByPropPath(params: any): any;
9
+ }
@@ -0,0 +1 @@
1
+ export default class TranslateUtils{static getValueByPropPath(t,e){let r=t||{};return e.forEach(t=>{r=null==r?void 0:r[t]}),r}static transformPropPathStringToArray(t){return t.split(",")}static constructDynamicPropPath(t,e){let r=[];return t.filter(t=>t.includes("[id]")).length?(t.forEach(t=>{const s=t.split(",[id"),n=TranslateUtils.getValueByPropPath(e.props,TranslateUtils.transformPropPathStringToArray(s[0]));if(!n)return null;Object.keys(n).forEach(e=>{r.push(t.replace("[id]",e))}),r=TranslateUtils.constructDynamicPropPath(r,e)}),r):t}static applyTranslationObjectToComponentsIfNeeded(t,e,r){const s=t.views;if(!r)return t;const n=JSON.parse(r||"{}");return Object.keys(n).length?(t.views=this.applyTranslationObjectToComponents(s,e,n),t):t}static setProp(t,e,r){if(!t[e.id])return;const s=t[e.id][r];s&&(e.props=this._setValueByPropPath({props:e.props,propPath:r.split(","),value:s}))}static applyTranslationObjectToComponents(t,e,r){const s=t=>{const n=e.find(e=>e.name===t.name&&e.version===t.version);n&&n.i18nPropPaths&&n.i18nPropPaths.length&&n.i18nPropPaths.forEach(e=>{if(e.includes("[id]")){TranslateUtils.constructDynamicPropPath([`${e}`],t).forEach(e=>{TranslateUtils.setProp(r,t,e)})}else TranslateUtils.setProp(r,t,e)}),t.children&&t.children.length&&t.children.forEach(s)};return t.forEach(s),t}static _setValueByPropPath(t){let e=t.props,r=t.propPath,s=t.property;if(s||t.element&&t.elementProp||(s=r.slice(-1)[0],r=r.slice(0,-1)),r.forEach(t=>{e=e&&e[t]}),!t.element||!t.elementProp)return e[s]=t.value,t.props;const n=e.findIndex(e=>e.element===t.element);return"object"==typeof e[n][t.elementProp]?e.splice(n,1,Object.assign(Object.assign({},e[n]),{[t.elementProp]:Object.assign(Object.assign({},e[n][t.elementProp]),{[s]:t.value})})):e.splice(n,1,Object.assign(Object.assign({},e[n]),{[t.elementProp]:t.value})),t.props}}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@claspo/renderer",
3
+ "version": "16.6.3",
4
+ "scripts": {
5
+ "dev": " tsc --project tsconfig.json --watch",
6
+ "build": "rm -rf out && tsc --project tsconfig.json && npm run minify",
7
+ "minify": "find out -name '*.js' ! -name '*.d.js' -exec terser {} --compress --mangle --output {} \\;",
8
+ "test": "jest --no-cache --coverage",
9
+ "lint": "echo 'No linting for renderer'",
10
+ "package": "npm i && npm run lint && npm run test && npm run build && cp package.json out && cd out && npm publish --access=public && cd .."
11
+ },
12
+ "engines": {
13
+ "node": ">=18.16.0"
14
+ },
15
+ "dependencies": {
16
+ "@claspo/common": "5.2.1",
17
+ "@testing-library/dom": "^10.4.0"
18
+ },
19
+ "devDependencies": {
20
+ "@babel/core": "^7.23.2",
21
+ "@babel/preset-env": "^7.23.2",
22
+ "@types/jest": "^27.5.1",
23
+ "babel-loader": "^9.1.3",
24
+ "eslint": "^9.15.0",
25
+ "jest": "^28.1.0",
26
+ "jest-environment-jsdom": "^28.1.0",
27
+ "terser": "^5.37.0",
28
+ "ts-jest": "^28.0.3",
29
+ "ts-loader": "^9.5.0",
30
+ "ts-node": "^10.8.0",
31
+ "typescript": "^4.9.5",
32
+ "webpack": "^5.89.0",
33
+ "webpack-cli": "^5.1.4"
34
+ },
35
+ "author": "alex-chernysh",
36
+ "license": "",
37
+ "homepage": "https://claspo.io/"
38
+ }
@@ -0,0 +1,19 @@
1
+ export default class PrizePool {
2
+ constructor(config: any, httpClient: any, configService: any);
3
+ instanceModel: any;
4
+ httpClient: any;
5
+ configService: any;
6
+ prizeOption: any;
7
+ randomDistributor: any;
8
+ load(): Promise<void>;
9
+ getModel(): any;
10
+ getPrize(): Promise<any>;
11
+ submitPrize(): void;
12
+ mapPrizeOption(option: any): {
13
+ id: any;
14
+ label: any;
15
+ value: any;
16
+ };
17
+ _calculatePrize(): any;
18
+ _mapLabelSuffix(value: any, valueType: any): any;
19
+ }
@@ -0,0 +1 @@
1
+ import sum from"@claspo/common/math/sum";import RandomDistributor from"@claspo/common/math/RandomDistributor";const PrizePoolSourceType={MANUAL:"MANUAL",FROM_EXTERNAL_SOURCE:"FROM_EXTERNAL_SOURCE"};export default class PrizePool{constructor(i,t,e){if(this.instanceModel=i,this.httpClient=t,this.configService=e,this.configService.getConfig("prizePoolModels")){const i=this.configService.getConfig("prizePoolModels").find(i=>i.id===this.instanceModel.id);i&&(this.instanceModel=i)}this.prizeOption=null,this.randomDistributor=new RandomDistributor}async load(){if(this.instanceModel.sourceType===PrizePoolSourceType.MANUAL&&!this.instanceModel.options){const i=this.configService.getConfig("widgetId"),t=this.configService.getConfig("hostUrl"),e=this.instanceModel.id,o=`${t}forms/v2/prize/pool/${e}`,s=`${t}forms/v1/prizePool/${e}/reward?widgetId=${i}`;try{const[i,t]=await Promise.all([await this.httpClient.execute(o,"GET").then(i=>i.json()),await this.httpClient.execute(s,"GET",null,{"cl-customer-id":this.configService.getConfig("clCustomerId")}).then(i=>i.json())]);this.instanceModel=Object.assign(Object.assign({},this.instanceModel),{options:i.options});const e=i.options.find(i=>i.id===t.id);this.prizeOption=Object.assign(Object.assign({},e),t)}catch(t){console.error(`PrizePool: failed to load pool or reward for widgetId "${i}" with poolId "${e}"`,t)}}}getModel(){return this.instanceModel}async getPrize(){return this.instanceModel?"FIXED"===this.instanceModel.model?this.instanceModel.data:this.instanceModel.sourceType===PrizePoolSourceType.MANUAL?(this.instanceModel.options&&!this.prizeOption&&(this.prizeOption=this._calculatePrize()),this.prizeOption?this.mapPrizeOption(this.prizeOption):null):void 0:null}submitPrize(){}mapPrizeOption(i){let t=this._mapLabelSuffix(i.value,i.valueType),e=i.code;return{id:i.id,label:t,value:e}}_calculatePrize(){const i=sum(this.instanceModel.options.map(i=>parseFloat(i.weight)));return this.randomDistributor.calculateFromWeights(this.instanceModel.options,i)}_mapLabelSuffix(i,t){return"DISCOUNT_PERCENTAGE"===t?`${i}%`:i}}
@@ -0,0 +1,5 @@
1
+ export default PrizePoolEvents;
2
+ declare namespace PrizePoolEvents {
3
+ const PRIZE_POOL_UPDATED: string;
4
+ const REQUEST_PRIZE_POOL: string;
5
+ }
@@ -0,0 +1 @@
1
+ const PrizePoolEvents={PRIZE_POOL_UPDATED:"PRIZE_POOL_UPDATED",REQUEST_PRIZE_POOL:"REQUEST_PRIZE_POOL"};export default PrizePoolEvents;
@@ -0,0 +1,7 @@
1
+ export default class PrizePoolFactory {
2
+ constructor(httpClient: any, configService: any);
3
+ httpClient: any;
4
+ configService: any;
5
+ get(config: any): PrizePool;
6
+ }
7
+ import PrizePool from "./PrizePool";
@@ -0,0 +1 @@
1
+ import PrizePool from"./PrizePool";export default class PrizePoolFactory{constructor(t,o){this.httpClient=t,this.configService=o}get(t){return new PrizePool(t,this.httpClient,this.configService)}}
@@ -0,0 +1,9 @@
1
+ export default class DragEventListener {
2
+ constructor(eventEmitter: any, documentModel: any);
3
+ eventEmitter: any;
4
+ documentModel: any;
5
+ dragStartSubscription: any;
6
+ dragEndSubscription: any;
7
+ updateHovered(type: any): void;
8
+ destroy(): void;
9
+ }
@@ -0,0 +1 @@
1
+ import{ViewRendererActionType}from"./ViewRendererActionType";import{applySysAttrPrefix}from"./RenderConstants";export default class DragEventListener{constructor(e,t){this.eventEmitter=e,this.documentModel=t,this.dragStartSubscription=this.eventEmitter.on(ViewRendererActionType.COMPONENT_DRAGSTART,()=>{this.updateHovered("add")}),this.dragEndSubscription=this.eventEmitter.on(ViewRendererActionType.COMPONENT_DRAGEND,()=>{this.updateHovered("remove")})}updateHovered(e){this.documentModel.getViews().forEach((t,r)=>{this.documentModel.iterateViewModelAndExecute(r,t=>{var r;const i=null===(r=t.componentRef)||void 0===r?void 0:r.getHostElement();i&&i.classList[e](applySysAttrPrefix("hovered"),applySysAttrPrefix("drag-over"))})})}destroy(){this.dragStartSubscription.off(),this.dragEndSubscription.off()}}
@@ -0,0 +1,6 @@
1
+ export function applySysClassPrefix(str: any): string;
2
+ export function applySysAttrPrefix(str: any): string;
3
+ export namespace RenderConstants {
4
+ const SYSTEM_CLASS_PREFIX: string;
5
+ const SYSTEM_ATTRIBUTE_PREFIX: string;
6
+ }
@@ -0,0 +1 @@
1
+ export const RenderConstants={SYSTEM_CLASS_PREFIX:"cl-",SYSTEM_ATTRIBUTE_PREFIX:"cl-"};export function applySysClassPrefix(n){return RenderConstants.SYSTEM_CLASS_PREFIX+n}export function applySysAttrPrefix(n){return RenderConstants.SYSTEM_ATTRIBUTE_PREFIX+n}
@@ -0,0 +1,15 @@
1
+ export namespace ViewRendererActionType {
2
+ const COMPONENT_FOCUSED: string;
3
+ const REMOVE_FOCUS: string;
4
+ const SET_FOCUS: string;
5
+ const COMPONENT_MOUSE_MOVE: string;
6
+ const COMPONENT_CLICKED: string;
7
+ const COMPONENT_DOUBLE_CLICKED: string;
8
+ const COMPONENT_DRAGSTART: string;
9
+ const COMPONENT_DRAGEND: string;
10
+ const COMPONENT_DRAGOVER: string;
11
+ const DOCUMENT_DROP: string;
12
+ const SHOW_INLINE_EDIT: string;
13
+ const VIEW_COMPONENT_RESOURCES_LOADED: string;
14
+ const FAILED_TO_LOAD_COMPONENT_RESOURCE: string;
15
+ }
@@ -0,0 +1 @@
1
+ export const ViewRendererActionType={COMPONENT_FOCUSED:"COMPONENT_FOCUSED",REMOVE_FOCUS:"REMOVE_FOCUS",SET_FOCUS:"SET_FOCUS",COMPONENT_MOUSE_MOVE:"COMPONENT_MOUSE_MOVE",COMPONENT_CLICKED:"COMPONENT_CLICKED",COMPONENT_DOUBLE_CLICKED:"COMPONENT_DOUBLE_CLICKED",COMPONENT_DRAGSTART:"COMPONENT_DRAGSTART",COMPONENT_DRAGEND:"COMPONENT_DRAGEND",COMPONENT_DRAGOVER:"COMPONENT_DRAGOVER",DOCUMENT_DROP:"DOCUMENT_DROP",SHOW_INLINE_EDIT:"SHOW_INLINE_EDIT",VIEW_COMPONENT_RESOURCES_LOADED:"VIEW_COMPONENT_RESOURCES_LOADED",FAILED_TO_LOAD_COMPONENT_RESOURCE:"FAILED_TO_LOAD_COMPONENT_RESOURCE"};
@@ -0,0 +1,12 @@
1
+ export default class ClDocumentResizeListener {
2
+ static changeEventName: string;
3
+ constructor(documentModel: any, containerElement: any);
4
+ documentModel: any;
5
+ containerElement: any;
6
+ mobileBreakpointWidth: any;
7
+ _isMobile: boolean;
8
+ isMobile(): boolean;
9
+ destroy(): void;
10
+ _calculateMobileFlag(): boolean;
11
+ _getElementsWidthPx(element: any): number;
12
+ }
@@ -0,0 +1 @@
1
+ import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import{DocumentModelUpdateType}from"../../document-model/DocumentModel";export default class ClDocumentResizeListener extends DefaultEventEmitter{constructor(e,t){super(),this.documentModel=e,this.containerElement=t,this.mobileBreakpointWidth=this.documentModel.getShared().mobileBreakpointWidth,this._isMobile=this._calculateMobileFlag(),this.documentModel.on(DocumentModelUpdateType.ENVIRONMENT_UPDATE,e=>{this._isMobile=e.isMobileEnv,this.emit(ClDocumentResizeListener.changeEventName,this._isMobile)})}isMobile(){return this._isMobile}destroy(){super.destroy()}_calculateMobileFlag(){return this._getElementsWidthPx(this.containerElement)<=this.mobileBreakpointWidth}_getElementsWidthPx(e){return parseInt(getComputedStyle(e).width)}}ClDocumentResizeListener.changeEventName="CHANGE";
@@ -0,0 +1,26 @@
1
+ export default class ColorSchemaListener {
2
+ constructor(documentModel: any, hostElement: any, getSharedCb: any, getPropsCb: any, getEnvCb: any, httpClient: any);
3
+ hostElement: any;
4
+ documentModel: any;
5
+ getSharedCb: any;
6
+ getPropsCb: any;
7
+ getEnvCb: any;
8
+ httpClient: any;
9
+ subscription: any;
10
+ envUrlMaps: {
11
+ desktop: Map<any, any>;
12
+ mobile: Map<any, any>;
13
+ };
14
+ parseBackground(background: any): {
15
+ url: string;
16
+ positionOptions: string;
17
+ } | {
18
+ url: null;
19
+ positionOptions: null;
20
+ };
21
+ apply(env: any): Promise<void>;
22
+ on(): ColorSchemaListener;
23
+ _applyHostElementBackground(value: any, cssVarsMap: any): void;
24
+ _buildBackgroundUrl(value: any, cssVarsMap: any): string;
25
+ off(): void;
26
+ }
@@ -0,0 +1 @@
1
+ import{DocumentModelUpdateType}from"../../document-model/DocumentModel";import ErrorLogger from"../../error/ErrorLogger";export default class ColorSchemaListener{constructor(t,e,n,o,i,s){this.hostElement=e,this.documentModel=t,this.getSharedCb=n,this.getPropsCb=o,this.getEnvCb=i,this.httpClient=s,this.subscription=null,this.envUrlMaps={desktop:new Map,mobile:new Map}}parseBackground(t){const e=String(t||"");if(e.includes("url")){const[t,n]=e.split("(")[1].split(")");return{url:t.replace(/['"]+/g,""),positionOptions:n.replace(";","")}}return{url:null,positionOptions:null}}apply(t){const e=this.getPropsCb();return e.backgroundDynamicInlineSVGElements[t].forEach(n=>{var o,i,s,l,r;const a=null===(i=null===(o=e.adaptiveStyles)||void 0===o?void 0:o[t])||void 0===i?void 0:i.find(t=>t.element===n),c=(null===(s=e.styles)||void 0===s?void 0:s.find(t=>t.element===n))||{},u=(null===(l=null==c?void 0:c.styleAttributes)||void 0===l?void 0:l.background)||(null===(r=null==a?void 0:a.styleAttributes)||void 0===r?void 0:r.background),p=this.parseBackground(u);p.url&&this.envUrlMaps[t].set(n,{originalSVGResourceURL:p.url,inlineSvgString:null,positionOptions:p.positionOptions})}),Promise.all([...this.envUrlMaps[t].entries()].map(([e,n])=>this.httpClient.execute(n.originalSVGResourceURL).then(t=>t.text()).then(o=>{this.envUrlMaps[t].set(e,Object.assign(Object.assign({},n),{inlineSvgString:o}))}))).then(()=>{this._applyHostElementBackground(this.envUrlMaps[t].get("host"),this.getSharedCb().cssVars)}).catch(t=>{console.error(t),ErrorLogger.log(`Failed to load/apply backgroundDynamicInlineSVGElements[${this.getPropsCb().backgroundDynamicInlineSVGElements}] ${t}`)})}on(){return this.subscription=this.documentModel.on(DocumentModelUpdateType.COLOR_SCHEMA_UPDATE,t=>{this._applyHostElementBackground(this.envUrlMaps[this.getEnvCb()].get("host"),t)}),this}_applyHostElementBackground(t,e){t&&(this.hostElement.style.background=this._buildBackgroundUrl(t,e))}_buildBackgroundUrl(t,e){const n=t.inlineSvgString.trim().replace("var(--cl-schema-accent)",e["cl-schema-accent"]);return`url('data:image/svg+xml,${encodeURIComponent(n)}')${t.positionOptions}`}off(){var t;null===(t=this.subscription)||void 0===t||t.off()}}
@@ -0,0 +1,6 @@
1
+ export default class CommonStylesService {
2
+ static applyHostStyles(componentType: any, element: any, componentModel: null | undefined, layoutType: any): void;
3
+ styles: string;
4
+ setStyles(additionalStyles?: string): void;
5
+ getStyles(): string;
6
+ }
@@ -0,0 +1 @@
1
+ import ViewEntryType from"../../document-model/ViewEntryType";import LayoutType from"@claspo/common/form/common/LayoutType";export default class CommonStylesService{static applyHostStyles(e,t,o=null,i){var s,l,y;const n=null===(l=null===(s=null==o?void 0:o.props)||void 0===s?void 0:s.handlers)||void 0===l?void 0:l.find(e=>"CLICK"===e.type);n&&(null===(y=n.actions)||void 0===y?void 0:y.length)&&(t.style.cursor="pointer"),e!==ViewEntryType.VIEW&&e!==ViewEntryType.CONTAINER&&e!==ViewEntryType.COLUMN||(t.style.display=i===LayoutType.CONTENT_LOCKER&&e===ViewEntryType.VIEW?"flex":"inline-flex",t.style.position="relative"),t.style.boxSizing="border-box"}constructor(){this.styles="/* common styles */ *, *:before, *:after { box-sizing: border-box; font-family: inherit; }"}setStyles(e=""){this.styles=`${this.styles} ${e}`}getStyles(){return this.styles}}
@@ -0,0 +1,12 @@
1
+ export default class DefaultMediaQueryListener {
2
+ static changeEventName: string;
3
+ constructor(documentModel: any, config: any);
4
+ config: any;
5
+ _isMobile: any;
6
+ handleMobileBreakpoint(mobileBreakpointWidth: any): void;
7
+ mobileBreakpointWidth: any;
8
+ mediaQueryList: MediaQueryList | undefined;
9
+ isMobile(): any;
10
+ listener(mediaQueryListEvent: any): void;
11
+ destroy(): void;
12
+ }