@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,38 @@
1
+ export default class CompositionRoot {
2
+ constructor(json: any, config: any, trackingService: any, containerElement: any, componentCommonStyles: any, layoutType: any, entryModuleType: any, componentRegister: any, htmlDocumentObject: any);
3
+ services: {
4
+ documentService: DocumentService;
5
+ documentModel: DocumentModel;
6
+ state: DefaultState;
7
+ form: FormGroup;
8
+ eventEmitter: any;
9
+ config: ConfigService;
10
+ resizeListener: ClDocumentResizeListener | DefaultMediaQueryListener;
11
+ mobileDeviceOrientationListener: MobileDeviceOrientationListener;
12
+ componentFactory: WcFactory;
13
+ viewRenderer: WcViewRenderer;
14
+ commonStylesService: CommonStylesService;
15
+ tracking: any;
16
+ actionFactory: any;
17
+ actionRegister: ActionRegister;
18
+ prizePoolFactory: PrizePoolFactory;
19
+ context: ContextSDK;
20
+ mergeTagsProcessorFactory: MergeTagsProcessorFactory;
21
+ };
22
+ destroy(): void;
23
+ }
24
+ import DocumentService from "./document-model/DocumentService";
25
+ import DocumentModel from "./document-model/DocumentModel";
26
+ import DefaultState from "./common/DefaultState";
27
+ import FormGroup from "./form/FormGroup";
28
+ import ConfigService from "./common/ConfigService";
29
+ import ClDocumentResizeListener from "./renderer/style/ClDocumentResizeListener";
30
+ import DefaultMediaQueryListener from "./renderer/style/DefaultMediaQueryListener";
31
+ import MobileDeviceOrientationListener from "./renderer/style/MobileDeviceOrientationListener";
32
+ import WcFactory from "./wc-renderer/WcFactory";
33
+ import WcViewRenderer from "./wc-renderer/WcViewRenderer";
34
+ import CommonStylesService from "./renderer/style/CommonStylesService";
35
+ import { ActionRegister } from "./action/ActionRegister";
36
+ import PrizePoolFactory from "./prize-pool/PrizePoolFactory";
37
+ import ContextSDK from "./sdk/context/ContextSDK";
38
+ import { MergeTagsProcessorFactory } from "./sdk/merge-tags/MergeTagsProcessorFactory";
@@ -0,0 +1 @@
1
+ import DefaultState from"./common/DefaultState";import FormGroup from"./form/FormGroup";import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import DocumentModel from"./document-model/DocumentModel";import ConfigService from"./common/ConfigService";import ClDocumentResizeListener from"./renderer/style/ClDocumentResizeListener";import MobileDeviceOrientationListener from"./renderer/style/MobileDeviceOrientationListener";import DefaultMediaQueryListener from"./renderer/style/DefaultMediaQueryListener";import DocumentService from"./document-model/DocumentService";import CommonStylesService from"./renderer/style/CommonStylesService";import WcFactory from"./wc-renderer/WcFactory";import WcViewRenderer from"./wc-renderer/WcViewRenderer";import ActionFactory from"./action/ActionFactory";import PrizePoolFactory from"./prize-pool/PrizePoolFactory";import httpClient from"@claspo/common/network/HttpClient";import{ActionRegister}from"./action/ActionRegister";import ContextSDK from"./sdk/context/ContextSDK";import{MergeTagsProcessorFactory}from"./sdk/merge-tags/MergeTagsProcessorFactory";import SourceRegistry from"./sdk/source/SourceRegistry";import ContextData from"./sdk/context/ContextData";export default class CompositionRoot{constructor(e,t,o,r,i,n,c,s,m){var a;const l=new DocumentModel(e),y=!r,f=y?new DefaultMediaQueryListener(l,t):new ClDocumentResizeListener(l,r),u=new DefaultState,p=new ConfigService(t),d=new MobileDeviceOrientationListener(l,p),v=new CommonStylesService;v.setStyles(i);const D=new DefaultEventEmitter,g=new FormGroup(o),S=new SourceRegistry(g,t),w=new ContextData,F=new ContextSDK(S,w,y),C=new(null!==(a=t.actionFactoryClass)&&void 0!==a?a:ActionFactory)(D,g,p,o,u,F,()=>this.services),R=new ActionRegister(D,()=>this.services),M=new PrizePoolFactory(httpClient,p),L=new MergeTagsProcessorFactory(y,F,p),P=new WcFactory({state:u,eventEmitter:D,form:g,documentModel:l,resizeListener:f,config:p,commonStylesService:v,trackingService:o,layoutType:n,actionFactory:C,actionRegister:R,prizePoolFactory:M,context:F,mergeTagsProcessorFactory:L,mobileDeviceOrientationListener:d,componentRegister:s,htmlDocumentObject:m}),h=new WcViewRenderer(l,f,t,P,D),x=new DocumentService(l,h,c);this.services={documentService:x,documentModel:l,state:u,form:g,eventEmitter:D,config:p,resizeListener:f,mobileDeviceOrientationListener:d,componentFactory:P,viewRenderer:h,commonStylesService:v,tracking:o,actionFactory:C,actionRegister:R,prizePoolFactory:M,context:F,mergeTagsProcessorFactory:L}}destroy(){Object.keys(this.services).filter(e=>"viewRenderer"!==e).forEach(e=>this.services[e]&&this.services[e].destroy&&this.services[e].destroy())}}
@@ -0,0 +1,4 @@
1
+ export default SysRouterEvent;
2
+ declare namespace SysRouterEvent {
3
+ const NAVIGATION_END: string;
4
+ }
package/RouterEvent.js ADDED
@@ -0,0 +1 @@
1
+ const SysRouterEvent={NAVIGATION_END:"NAVIGATION_END"};export default SysRouterEvent;
@@ -0,0 +1,23 @@
1
+ export default class StaticEntryModule {
2
+ constructor(documentJson: any, componentResolver: any, componentRegister: any, config: {} | undefined, translations: any, trackingService: any, layoutType: any);
3
+ entryModuleType: string;
4
+ componentResolver: any;
5
+ componentRegister: any;
6
+ config: {
7
+ entryModuleType: string;
8
+ };
9
+ documentJson: any;
10
+ translations: any;
11
+ compositionRoot: CompositionRoot | null;
12
+ viewRenderer: import("./wc-renderer/WcViewRenderer").default | null;
13
+ viewRouter: ViewRouter | null;
14
+ trackingService: any;
15
+ layoutType: any;
16
+ init(htmlDocumentObject: any): HTMLDivElement;
17
+ componentFactory: import("./wc-renderer/WcFactory").default | undefined;
18
+ destroy(): void;
19
+ performAction(type: any, payload: any): void;
20
+ listenAction(actionType: any, callback: any): void;
21
+ }
22
+ import CompositionRoot from "./CompositionRoot";
23
+ import ViewRouter from "./ViewRouter";
@@ -0,0 +1 @@
1
+ import CompositionRoot from"./CompositionRoot";import ViewRouter from"./ViewRouter";import TranslateUtils from"./i18n/TranslateUtils";import{DocumentModelUpdateType}from"./document-model/DocumentModel";import CssVarsOperations from"@claspo/common/element/CssVarsOperations";import wcStaticDecorator from"./wc-renderer/decorators/wcStaticDecorator";import ComponentLifeCycleContainerType from"./sdk/ComponentLifeCycleContainerType";export default class StaticEntryModule{constructor(e,t,o,i={},s,n,r){this.entryModuleType=ComponentLifeCycleContainerType.STATIC,this.componentResolver=t,this.componentRegister=o,this.config=Object.assign(Object.assign({},i),{entryModuleType:this.entryModuleType}),this.documentJson=e,this.translations=s,this.compositionRoot=null,this.viewRenderer=null,this.viewRouter=null,this.trackingService=n||{send:()=>{},trackClick:()=>{},trackTargetAction:()=>{}},this.layoutType=r,o.register(wcStaticDecorator,this.entryModuleType)}init(e){e=e||document,this.documentJson=TranslateUtils.applyTranslationObjectToComponentsIfNeeded(JSON.parse(JSON.stringify(this.documentJson)),this.componentResolver.getComponentManifests(),this.translations);const t=new CompositionRoot(this.documentJson,this.config,this.trackingService,null,"",this.layoutType,this.entryModuleType,this.componentRegister,e),o=new ViewRouter(t.services.eventEmitter,t.services.documentModel,t.services.viewRenderer,this.config&&this.config.optionalDocumentStyles,t.services);t.services.viewRouter=o,this.compositionRoot=t,this.viewRenderer=t.services.viewRenderer,this.componentFactory=t.services.componentFactory,this.viewRouter=o;const i=this.compositionRoot.services.documentModel.getShared().cssVars;return Promise.resolve().then(()=>CssVarsOperations.override(i,this.viewRouter.getDocumentContainer())),o.start(this.config.viewIndex)}destroy(){var e,t;null===(e=this.viewRouter)||void 0===e||e.destroy(),null===(t=this.compositionRoot)||void 0===t||t.destroy()}performAction(e,t){const o=this.compositionRoot.services.documentService.handleModelUpdate(e,t);switch(e){case DocumentModelUpdateType.COLOR_SCHEMA_UPDATE:{const e=this.compositionRoot.services.documentModel.getShared().cssVars;CssVarsOperations.override(e,this.viewRouter.getDocumentContainer());break}}return o}listenAction(e,t){this.compositionRoot.services.eventEmitter.on(e,(e,o)=>{t(e,o)})}}
@@ -0,0 +1,27 @@
1
+ export default class UpdatingEntryModule {
2
+ constructor(documentJson: any, componentResolver: any, componentRegister: any, componentCommonStyles: any, config: {} | undefined, layoutType: any);
3
+ entryModuleType: string;
4
+ documentJson: any;
5
+ componentResolver: any;
6
+ componentRegister: any;
7
+ componentCommonStyles: any;
8
+ config: {
9
+ entryModuleType: string;
10
+ };
11
+ compositionRoot: CompositionRoot | null;
12
+ viewRenderer: import("./wc-renderer/WcViewRenderer").default | null;
13
+ viewComponents: any[];
14
+ layoutType: any;
15
+ init(containerElement: any): any[];
16
+ componentFactory: import("./wc-renderer/WcFactory").default | undefined;
17
+ dragEventListener: DragEventListener | undefined;
18
+ destroy(): void;
19
+ performAction(type: any, payload: any): Promise<any> | undefined;
20
+ listenAction(actionType: any, callback: any): void;
21
+ getHostElementById(id: any): any;
22
+ getHostElementByPath(path: any): any;
23
+ getContextRecordsMap(): any;
24
+ listenContextAction(actionType: any, callback: any): void;
25
+ }
26
+ import CompositionRoot from "./CompositionRoot";
27
+ import DragEventListener from "./renderer/DragEventListener";
@@ -0,0 +1 @@
1
+ import CompositionRoot from"./CompositionRoot";import{DocumentModelUpdateType}from"./document-model/DocumentModel";import DocumentUtils from"@claspo/common/document/DocumentUtils";import CssVarsOperations from"@claspo/common/element/CssVarsOperations";import DragEventListener from"./renderer/DragEventListener";import ComponentLifeCycleContainerType from"./sdk/ComponentLifeCycleContainerType";import wcUpdatingDecorator from"./wc-renderer/decorators/wcUpdatingDecorator";import{asyncActionEmitter}from"./action/asyncAction";export default class UpdatingEntryModule{constructor(e,o,t,n,s={},i){this.entryModuleType=ComponentLifeCycleContainerType.UPDATING,this.documentJson=JSON.parse(JSON.stringify(e)),this.componentResolver=o,this.componentRegister=t,this.componentCommonStyles=n,this.config=Object.assign(Object.assign({},s),{entryModuleType:this.entryModuleType}),this.compositionRoot=null,this.viewRenderer=null,this.viewComponents=[],this.layoutType=i,t.register(wcUpdatingDecorator,this.entryModuleType)}init(e){const o=new CompositionRoot(this.documentJson,this.config,{send:()=>{}},e,this.componentCommonStyles,this.layoutType,this.entryModuleType,this.componentRegister,document);return this.compositionRoot=o,this.viewRenderer=o.services.viewRenderer,this.componentFactory=o.services.componentFactory,this.dragEventListener=new DragEventListener(this.compositionRoot.services.eventEmitter,this.compositionRoot.services.documentModel),this.viewComponents=this.compositionRoot.services.documentModel.getViews().map((e,o)=>this.viewRenderer.render(e,o,this.config.entryModuleType)),this.viewComponents.forEach(e=>{const o=this.compositionRoot.services.documentModel.getShared().cssVars;CssVarsOperations.override(o,e)}),this.viewComponents}destroy(){var e,o;this.viewComponents.forEach(e=>e.remove()),null===(e=this.dragEventListener)||void 0===e||e.destroy(),null===(o=this.compositionRoot)||void 0===o||o.destroy()}performAction(e,o){switch(e){case DocumentModelUpdateType.COMPONENT_REMOVE:case DocumentModelUpdateType.COMPONENT_MOVE:case DocumentModelUpdateType.COMPONENT_INSERT:case DocumentModelUpdateType.COMPONENT_PROPS_UPDATE:case DocumentModelUpdateType.COMPONENT_UPDATE:case DocumentModelUpdateType.MOBILE_BREAKPOINT_UPDATE:case DocumentModelUpdateType.ENVIRONMENT_UPDATE:case DocumentModelUpdateType.TEXT_CLASS_ADDED:case DocumentModelUpdateType.TEXT_CLASS_UPDATED:case DocumentModelUpdateType.TEXT_CLASS_REMOVED:case DocumentModelUpdateType.HEADER_FONT_FAMILY_UPDATE:case DocumentModelUpdateType.TEXT_FONT_FAMILY_UPDATE:case DocumentModelUpdateType.SHARED_UPDATE:return asyncActionEmitter(this.compositionRoot.services.eventEmitter.emit.bind(this.compositionRoot.services.eventEmitter))(this.compositionRoot.services.documentService.handleModelUpdate.bind(this.compositionRoot.services.documentService),e)(e,o);case DocumentModelUpdateType.COLOR_SCHEMA_UPDATE:{const e=this.compositionRoot.services.documentModel.getShared().cssVars;this.viewComponents.forEach(o=>{CssVarsOperations.override(e,o)});break}default:this.compositionRoot.services.eventEmitter.emit(e,o)}}listenAction(e,o){this.compositionRoot.services.eventEmitter.on(e,(e,t)=>{o(e,t)})}getHostElementById(e){const o=DocumentUtils.getNodeById(this.viewComponents.map(e=>e.getModel()),e);return o&&o.componentRef}getHostElementByPath(e){const o=DocumentUtils.getNodeByPath(this.viewComponents.map(e=>e.getModel()),e);return o&&o.componentRef}getContextRecordsMap(){var e;return(null===(e=this.compositionRoot)||void 0===e?void 0:e.services.context.getRecordsMap())||{}}listenContextAction(e,o){this.compositionRoot.services.context.on(e,(e,t)=>{o(e,t)})}}
@@ -0,0 +1,21 @@
1
+ export default class ViewRouter {
2
+ constructor(eventEmitter: any, documentModel: any, viewRenderer: any, optionalDocumentStyles: any, services: any);
3
+ eventEmitter: any;
4
+ documentModel: any;
5
+ viewRenderer: any;
6
+ optionalDocumentStyles: any;
7
+ services: any;
8
+ currentViewIndex: any;
9
+ currentViewComponentRef: any;
10
+ transitions: any[];
11
+ getCurrentViewIndex(): any;
12
+ start(viewIndex: any): HTMLDivElement;
13
+ documentContainer: HTMLDivElement | undefined;
14
+ contactDataSubmitted: boolean | undefined;
15
+ destroy(): void;
16
+ navigate(index: any, routeState?: {}, previousViewDestroyedCb?: () => void): void;
17
+ viewDestroy(): void;
18
+ getDocumentContainer(): HTMLDivElement | undefined;
19
+ getLastTransition(): any;
20
+ _previousViewDestroyedCb(): void;
21
+ }
package/ViewRouter.js ADDED
@@ -0,0 +1 @@
1
+ import SysActionTypes from"./action/SysActionTypes";import SysEventTypes from"./common/SysEventTypes";import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import SysRouterEvent from"./RouterEvent";import systemResultStateNames from"./document-model/systemResultStateNames";import FormGroupEvents from"./form/FormGroupEvents";export default class ViewRouter extends DefaultEventEmitter{constructor(t,e,i,n,s){super(),this.eventEmitter=t,this.documentModel=e,this.viewRenderer=i,this.optionalDocumentStyles=n,this.services=s,this.currentViewIndex=null,this.currentViewComponentRef=null,this.eventEmitter.on(SysEventTypes.TOO_MANY_REQUESTS,()=>{this.viewDestroy(),this.documentContainer.innerText="Too many requests"}),this.transitions=[]}getCurrentViewIndex(){return this.currentViewIndex}start(t){this.documentContainer=window.document.createElement("div"),this.documentContainer.setAttribute("cl-document",""),this.optionalDocumentStyles&&Object.keys(this.optionalDocumentStyles).forEach(t=>{this.documentContainer.style[t]=this.optionalDocumentStyles[t]}),this.navigate(t||0);return this.eventEmitter.on(SysActionTypes.GO_TO_VIEW,(t,e,i)=>{const n="number"==typeof t?t:this.documentModel.getModel().views.findIndex(e=>e.id===t);-1===n?this.eventEmitter.emit("WIDGET_NAVIGATION_STATE_NOT_FOUND",{viewPointer:t}):this.navigate(n,i,n<this.currentViewIndex?this._previousViewDestroyedCb.bind(this):()=>{})}),this.eventEmitter.on(SysActionTypes.GO_TO_PREVIOUS_VIEW,()=>{this.getCurrentViewIndex()<=0||(this.contactDataSubmitted=!1,this.navigate(this.getCurrentViewIndex()-1,{},this._previousViewDestroyedCb.bind(this)))}),this.eventEmitter.on(SysActionTypes.GO_TO_NEXT_VIEW,()=>{this.documentModel.getModel().views[this.getCurrentViewIndex()+1]&&this.navigate(this.getCurrentViewIndex()+1)}),this.eventEmitter.on("CONTACT_DATA_SUBMIT",()=>{this.contactDataSubmitted=!0}),this.services.form.on(FormGroupEvents.valueChanged,()=>{this.contactDataSubmitted&&(this.contactDataSubmitted=!1)}),this.documentContainer}destroy(){this.viewDestroy(),this.documentContainer&&this.documentContainer.remove()}navigate(t,e={},i=()=>{}){let n=this.documentModel.getView(t);const s=this.currentViewIndex;if(this.currentViewIndex===t)return;if(!n)throw this.eventEmitter.emit("WIDGET_NAVIGATION_STATE_NOT_FOUND",{navigateTo:t}),new Error("View was not found by index: "+t);setTimeout(()=>{const t=systemResultStateNames.includes(n.label),e=this.contactDataSubmitted,i=this.services.form.getControlsAsArray().length>0;t&&i&&!e&&(this.eventEmitter.emit("WIDGET_NAVIGATION_STATE_NOT_FOUND",{toSystemStateWithoutSubmitFromIndex:s,ctx:this.services.context.getKVMap()}),this.services.actionFactory.get({type:SysActionTypes.REQUEST}).execute(void 0,void 0,!0,{skipValidation:!0}))},300);const o=this.viewRenderer.render(n,t);this.viewDestroy(),i(),this.documentContainer.appendChild(o),this.currentViewComponentRef=o,this.currentViewIndex=t,this.transitions.push({prevViewIndex:s,currentViewIndex:t,currentViewComponentRef:o,contactDataSubmitted:this.contactDataSubmitted,routeState:e}),this.eventEmitter.emit(SysRouterEvent.NAVIGATION_END,t)}viewDestroy(){this.currentViewComponentRef&&this.viewRenderer.destroy(this.currentViewComponentRef)}getDocumentContainer(){return this.documentContainer}getLastTransition(){return this.transitions[this.transitions.length-1]}_previousViewDestroyedCb(){this.services.form.getControlsAsArray().forEach(t=>{t.viewIdx===this.currentViewIndex&&this.services.form.removeControl(t.name)}),this.services.state.setState({conditionalRedirectViewId:null})}}
@@ -0,0 +1,20 @@
1
+ export default class ActionFactory {
2
+ constructor(eventEmitter: any, form: any, config: any, tracking: any, state: any, context: any, getServices: any);
3
+ eventEmitter: any;
4
+ form: any;
5
+ configService: any;
6
+ tracking: any;
7
+ stateService: any;
8
+ context: any;
9
+ getServices: any;
10
+ get(action: any): SubscribeContactAction | RequestAction | DispatchEventAction | GoToPreviousViewAction | GoToNextViewAction | GoToViewAction | ShowWidgetAction | OpenLinkAction | CloseWidgetAction;
11
+ }
12
+ import SubscribeContactAction from "./actions/SubscribeContactAction";
13
+ import RequestAction from "./actions/RequestAction";
14
+ import DispatchEventAction from "./actions/DispatchEventAction";
15
+ import GoToPreviousViewAction from "./actions/GoToPreviousViewAction";
16
+ import GoToNextViewAction from "./actions/GoToNextViewAction";
17
+ import GoToViewAction from "./actions/GoToViewAction";
18
+ import ShowWidgetAction from "./actions/ShowWidgetAction";
19
+ import OpenLinkAction from "./actions/OpenLinkAction";
20
+ import CloseWidgetAction from "./actions/CloseWidgetAction";
@@ -0,0 +1 @@
1
+ import SysActionTypes from"./SysActionTypes";import SubscribeContactAction from"./actions/SubscribeContactAction";import RequestAction from"./actions/RequestAction";import DispatchEventAction from"./actions/DispatchEventAction";import GoToPreviousViewAction from"./actions/GoToPreviousViewAction";import GoToNextViewAction from"./actions/GoToNextViewAction";import GoToViewAction from"./actions/GoToViewAction";import HttpClient from"@claspo/common/network/HttpClient";import ShowWidgetAction from"./actions/ShowWidgetAction";import OpenLinkAction from"./actions/OpenLinkAction";import CloseWidgetAction from"./actions/CloseWidgetAction";export default class ActionFactory{constructor(t,i,e,o,n,s,c){this.eventEmitter=t,this.form=i,this.configService=e,this.tracking=o,this.stateService=n,this.context=s,this.getServices=c}get(t){switch(t.type){case SysActionTypes.SUBSCRIBE_CONTACT:return new SubscribeContactAction(this.eventEmitter,this.form,t,HttpClient,this.configService,this.tracking,this.stateService,this.context,this.getServices);case SysActionTypes.REQUEST:return new RequestAction(this.eventEmitter,this.form,t,HttpClient,this.configService,this.tracking,this.stateService,this.context,this.getServices);case SysActionTypes.DISPATCH_EVENT:return new DispatchEventAction(this.eventEmitter,t);case SysActionTypes.GO_TO_VIEW:return new GoToViewAction(this.eventEmitter,t,this.configService,this.form,this.getServices().viewRouter,this.getServices().documentModel,this.tracking);case SysActionTypes.GO_TO_PREVIOUS_VIEW:return new GoToPreviousViewAction(this.eventEmitter,t,this.tracking);case SysActionTypes.GO_TO_NEXT_VIEW:return new GoToNextViewAction(this.eventEmitter,this.form,t,this.tracking);case SysActionTypes.SHOW_WIDGET:return new ShowWidgetAction(this.eventEmitter,t,this.tracking);case SysActionTypes.OPEN_LINK:return new OpenLinkAction(t,this.configService,this.tracking);case SysActionTypes.CLOSE_WIDGET:return new CloseWidgetAction(this.eventEmitter,t,this.configService,this.tracking);default:throw new Error(`Not supported action type ${t.type}`)}}}
@@ -0,0 +1,8 @@
1
+ export class ActionRegister {
2
+ constructor(eventEmitter: any, getServices: any);
3
+ eventEmitter: any;
4
+ getServices: any;
5
+ registeredActions: any[];
6
+ register(actionInstance: any): void;
7
+ getRegisteredActions(): any[];
8
+ }
@@ -0,0 +1 @@
1
+ import SysEventTypes from"../common/SysEventTypes";export class ActionRegister{constructor(e,t){this.eventEmitter=e,this.getServices=t,this.registeredActions=[],this.eventEmitter.on(SysEventTypes.EXECUTE_ACTION_BY_PREDICATE,e=>{var t;"function"==typeof e.predicate&&(null===(t=this.registeredActions.find(e.predicate))||void 0===t||t.execute(void 0,void 0,!0,e.overrideParams))})}register(e){this.getServices().viewRouter&&(e.registeredAtViewIndex=this.getServices().viewRouter.currentViewIndex,this.registeredActions.push(e))}getRegisteredActions(){return this.registeredActions}}
@@ -0,0 +1,12 @@
1
+ export default class InAppActionFactory {
2
+ constructor(eventEmitter: any);
3
+ eventEmitter: any;
4
+ executeAction(actionType: any, { params }?: {
5
+ params: any;
6
+ }): {
7
+ execute: (state: any, e: any) => Promise<boolean>;
8
+ };
9
+ get(action: any): {
10
+ execute: (state: any, e: any) => Promise<boolean>;
11
+ };
12
+ }
@@ -0,0 +1 @@
1
+ import SysActionTypes from"./SysActionTypes";import DispatchEventAction from"./actions/DispatchEventAction";import InAppOpenLinkAction from"./actions/InAppOpenLinkAction";export default class InAppActionFactory{constructor(t){this.eventEmitter=t}executeAction(t,{params:e}={}){return{execute:(n,i)=>{var s;return this.eventEmitter.emit(t,Object.assign(Object.assign({},e),{targetComponentId:null===(s=null==i?void 0:i.target)||void 0===s?void 0:s.getAttribute("cl-id")})),Promise.resolve(!0)}}}get(t){switch(t.type){case SysActionTypes.DISPATCH_EVENT:return new DispatchEventAction(this.eventEmitter,t);case SysActionTypes.OPEN_LINK:return new InAppOpenLinkAction(this.eventEmitter,t);case SysActionTypes.CLOSE_WIDGET:return this.executeAction(SysActionTypes.CLOSE_WIDGET,t);case SysActionTypes.CLICK:return this.executeAction(SysActionTypes.CLICK,t);default:throw new Error(`Not supported action type ${t.type}`)}}}
@@ -0,0 +1,13 @@
1
+ export default SysActionTypes;
2
+ declare namespace SysActionTypes {
3
+ const SUBSCRIBE_CONTACT: string;
4
+ const REQUEST: string;
5
+ const DISPATCH_EVENT: string;
6
+ const GO_TO_VIEW: string;
7
+ const GO_TO_PREVIOUS_VIEW: string;
8
+ const GO_TO_NEXT_VIEW: string;
9
+ const SHOW_WIDGET: string;
10
+ const OPEN_LINK: string;
11
+ const CLOSE_WIDGET: string;
12
+ const CLICK: string;
13
+ }
@@ -0,0 +1 @@
1
+ const SysActionTypes={SUBSCRIBE_CONTACT:"SUBSCRIBE_CONTACT",REQUEST:"REQUEST",DISPATCH_EVENT:"DISPATCH_EVENT",GO_TO_VIEW:"GO_TO_VIEW",GO_TO_PREVIOUS_VIEW:"GO_TO_PREVIOUS_VIEW",GO_TO_NEXT_VIEW:"GO_TO_NEXT_VIEW",SHOW_WIDGET:"SHOW_WIDGET",OPEN_LINK:"OPEN_LINK",CLOSE_WIDGET:"CLOSE_WIDGET",CLICK:"CLICK"};export default SysActionTypes;
@@ -0,0 +1,3 @@
1
+ export default class UTMParamsExtractor {
2
+ static extractUtmParams(context: any): {};
3
+ }
@@ -0,0 +1 @@
1
+ import UrlQueryParamsSource from"../sdk/source/sources/UrlQueryParamsSource";export default class UTMParamsExtractor{static extractUtmParams(e){const r={id:"id",fallbackValue:"",exampleValue:"exampleValue",sourceId:UrlQueryParamsSource.sourceId,arguments:[{type:"string",name:"urlQueryParamName",value:""}]},a={},t=e.getRegistry().getSource(r.sourceId),u=t.getValue("utm");return["utm_source","utm_medium","utm_campaign","utm_term","utm_content","utm_id"].forEach(e=>{const s=u.processor(t,Object.assign(Object.assign({},r),{arguments:[Object.assign(Object.assign({},r.arguments[0]),{value:e})]}));s&&(a[e]=s)}),a}}
@@ -0,0 +1,5 @@
1
+ export default ActionCategory;
2
+ declare namespace ActionCategory {
3
+ const SUBMIT: string;
4
+ const INTERNAL: string;
5
+ }
@@ -0,0 +1 @@
1
+ const ActionCategory={SUBMIT:"SUBMIT",INTERNAL:"INTERNAL"};export default ActionCategory;
@@ -0,0 +1,43 @@
1
+ export namespace RequestStatus {
2
+ const SUCCESS: string;
3
+ const ALREADY_SUBSCRIBED: string;
4
+ const ERROR: string;
5
+ const TOO_MANY_REQUESTS: string;
6
+ }
7
+ export default class BaseRequestAction {
8
+ constructor(eventEmitter: any, form: any, config: any, httpClient: any, configService: any, tracking: any, state: any, context: any, getServices: any);
9
+ id: any;
10
+ params: any;
11
+ form: any;
12
+ eventEmitter: any;
13
+ httpClient: any;
14
+ configService: any;
15
+ formEventsListener: any;
16
+ tracking: any;
17
+ stateService: any;
18
+ context: any;
19
+ getServices: any;
20
+ category: string;
21
+ skipHttpRequest: boolean;
22
+ getTrackingMessageBeforeSentData(): string;
23
+ getTrackingMessageByStatus(_: any): string;
24
+ execute(isSubmitQueuedAfterPending: any, outerResolve: any, force: any, overrideParams: any): Promise<any> | undefined;
25
+ submit(resolve: any, force: any, overrideParams: any): void;
26
+ constructDataToSent({ contextValue, formValue, utmParams }: {
27
+ contextValue: any;
28
+ formValue: any;
29
+ utmParams: any;
30
+ }): any;
31
+ constructRequestPayload({ contextValue, formValue, utmParams }: {
32
+ contextValue: any;
33
+ formValue: any;
34
+ utmParams: any;
35
+ }): {
36
+ data: any;
37
+ referrer: string;
38
+ triggeredBy: any;
39
+ };
40
+ constructRequestHeaders(): {};
41
+ goToView(viewIndex: any, params: any): void;
42
+ sendRequest(requestPayload: any): any;
43
+ }
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";import SysEventTypes from"../../common/SysEventTypes";import HttpStatus from"@claspo/common/network/HttpStatus";import ActionCategory from"./ActionCategory";import systemResultStateNames from"../../document-model/systemResultStateNames";import DocumentUtils from"@claspo/common/document/DocumentUtils";import getComponentCountOnView from"../../sdk/getComponentCountOnView";import UrlQueryParamsSource from"../../sdk/source/sources/UrlQueryParamsSource";import UTMParamsExtractor from"../UTMParamsExtractor";function componentModelHasSubmitAction(t){var e,s;try{return!!(null===(s=null===(e=t.props)||void 0===e?void 0:e.handlers)||void 0===s?void 0:s.find(t=>{var e;return null===(e=null==t?void 0:t.actions)||void 0===e?void 0:e.find(t=>[SysActionTypes.REQUEST,SysActionTypes.SUBSCRIBE_CONTACT].includes(t.type))}))}catch(t){return!1}}function viewHasControls(t){if(!t)return!1;let e=0;return DocumentUtils.iterateDepthFirst(t,t=>{(["INPUT","MULTIPLE_INPUT","PRIZE_BASED_GAMING"].includes(t.type)||componentModelHasSubmitAction(t))&&e++}),e>0}function isSystemView(t){return t&&systemResultStateNames.includes(t.label)}export const RequestStatus={SUCCESS:"SUCCESS",ALREADY_SUBSCRIBED:"ALREADY_SUBSCRIBED",ERROR:"ERROR",TOO_MANY_REQUESTS:"TOO_MANY_REQUESTS"};export default class BaseRequestAction{constructor(t,e,s,i,n,o,r,a,c){this.skipHttpRequest=!0,this.id=s.id,this.params=s.params,this.form=e,this.eventEmitter=t,this.httpClient=i,this.configService=n,this.formEventsListener=null,this.tracking=o,this.stateService=r,this.context=a,this.getServices=c,this.category=ActionCategory.SUBMIT}getTrackingMessageBeforeSentData(){return""}getTrackingMessageByStatus(t){return""}execute(t,e,s,i){if(this.formEventsListener&&this.formEventsListener.off(),!this.form.submitQueuedAfterPending||!0===t){if(!this.form.preventSubmit)return new Promise(n=>{if(!this.form.isPending()){this.form.submitQueuedAfterPending=!1;const o=!0===t?e:n;return this.submit(o,s,i)}this.form.submitQueuedAfterPending=!0,setTimeout(()=>this.execute(!0,n,s,i),500)});this.form.submitQueuedAfterPending=!1}}submit(t,e,s){var i;const n=this.getServices().viewRouter.getCurrentViewIndex(),o=this.getServices().documentModel.getViews().slice(n+1).filter(t=>!systemResultStateNames.includes(t.label)).length>0,r=Object.assign(Object.assign({},this.params),s);if(this.form.markAsTouched(),this.stateService.getState().emitActionOnSubmit&&this.eventEmitter.emit(this.stateService.getState().emitActionOnSubmit.eventName),this.stateService.getState().interceptSubmitActions&&!e)return;if(!this.form.isValid()&&!r.skipValidation)return this.eventEmitter.emit("INVALID_CONTACT_DATA_SUBMIT_ATTEMPT"),void t(!1);const a=this.stateService,c=a.getState().conditionalRedirectViewId,u=r.conditionalRedirectViewId||c;c&&(r.conditionalRedirectViewId=c,a.setState({conditionalRedirectViewId:null}));let m=this.getServices().documentModel.getViews()[n+1];const S=this.getServices().documentModel.getViews()[n];if(u&&getComponentCountOnView(S,"SysNetPromoterScoreComponent")+getComponentCountOnView(S,"SysFeedbackComponent")===1&&(m=this.getServices().documentModel.getViews().find(t=>t.id===r.conditionalRedirectViewId),viewHasControls(m)||isSystemView(m)))return this.goToView(m.path[0],r),void t(!0);const d=this.form.getControlsMap(),l=this.context.getKVMap();if(o&&(viewHasControls(m)||!Object.keys(d).length&&!Object.keys(l).length))return this.tracking.trackTargetAction(null===(i=this.params)||void 0===i?void 0:i.countAsTargetAction),this.goToView(n+1,r),void t(!0);if(!Object.keys(d).length&&!Object.keys(l).length)return void t(!0);const g=UTMParamsExtractor.extractUtmParams(this.context),h=this.constructRequestPayload({contextValue:l,formValue:d,utmParams:g});this.eventEmitter.emit("CONTACT_DATA_SUBMIT",h);this.getTrackingMessageBeforeSentData()&&this.tracking.send("FormFinish_[Name]"),this.configService.getConfig("isBot")?t():this.sendRequest(h).then(t=>t.json().then(e=>t.status===HttpStatus.TOO_MANY_REQUESTS?{state:RequestStatus.TOO_MANY_REQUESTS}:{contactId:e.contactId,state:e&&e.next&&e.next.type}),()=>({state:RequestStatus.ERROR})).then(e=>{const s=this.getTrackingMessageByStatus(e.state);switch(e.state){case RequestStatus.SUCCESS:s&&this.tracking.send(s),this.goToView(o&&m?m.path[0]:this.getServices().documentModel.getViews().findIndex(t=>"DOCUMENT_VIEW_TYPE_SUCCESS"===t.label||"DOCUMENT_VIEW_TYPE_SUCCESSFUL_REQUEST"===t.label||"REQUEST_FORM_VIEW_TYPE_SUCCESS"===t.label));break;case RequestStatus.ALREADY_SUBSCRIBED:s&&this.tracking.send(s),this.goToView(u&&m?m.path[0]:this.getServices().documentModel.getViews().findIndex(t=>"DOCUMENT_VIEW_TYPE_SUBSCRIBED"===t.label));break;case RequestStatus.ERROR:s&&this.tracking.send(s),this.goToView(u&&m?m.path[0]:this.getServices().documentModel.getViews().findIndex(t=>"DOCUMENT_VIEW_TYPE_ERROR"===t.label));break;case RequestStatus.TOO_MANY_REQUESTS:s&&this.tracking.send(s),this.goToView(u&&m?m.path[0]:this.getServices().documentModel.getViews().findIndex(t=>"DOCUMENT_VIEW_TYPE_ERROR"===t.label)),this.eventEmitter.emit(SysEventTypes.TOO_MANY_REQUESTS)}e.contactId&&"0"!==e.contactId&&this.eventEmitter.emit("CONTACT_ID_WAS_RECEIVED",e.contactId),t(e.state===RequestStatus.SUCCESS||e.state===RequestStatus.ALREADY_SUBSCRIBED)}).catch(()=>{this.goToView(this.getServices().documentModel.getViews().findIndex(t=>"DOCUMENT_VIEW_TYPE_ERROR"===t.label)),t(!1)})}constructDataToSent({contextValue:t,formValue:e,utmParams:s}){const i=Object.assign({},t);return i.tracking=s,Object.keys(e).forEach(t=>{if(t.startsWith("clConsentId")){if(t.endsWith("_label"))return;const s={value:e[t]};e[`${t}_label`]&&(s.text=e[`${t}_label`]),i.consents?i.consents[t]=s:i.consents={[t]:s}}else i[t]=e[t]}),i}constructRequestPayload({contextValue:t,formValue:e,utmParams:s}){let i={data:this.constructDataToSent({contextValue:t,formValue:e,utmParams:s}),referrer:window.location.href,triggeredBy:this.configService.getConfig("triggeredBy")};return this.configService.getConfig("widgetDebugMode")&&(i.ignoreTracking=!0),i}constructRequestHeaders(){const t={},e=this.configService.getConfig("clCustomerId");return e&&Object.assign(t,{"cl-customer-id":e}),t}goToView(t,e){this.eventEmitter.emit(SysActionTypes.GO_TO_VIEW,t,e)}sendRequest(t){return this.skipHttpRequest?Promise.resolve({status:200,json:()=>Promise.resolve({next:{type:RequestStatus.SUCCESS}})}):this.httpClient.execute(this.configService.getConfig("subscribeContactUrl"),"POST",t,this.constructRequestHeaders())}}
@@ -0,0 +1,9 @@
1
+ export default class CloseWidgetAction extends TrackClick {
2
+ constructor(eventEmitter: any, actionConfig: any, configService: any, tracking: any);
3
+ type: string;
4
+ params: any;
5
+ eventEmitter: any;
6
+ tracking: any;
7
+ execute(): Promise<any>;
8
+ }
9
+ import TrackClick from "./TrackClick";
@@ -0,0 +1 @@
1
+ import TrackClick from"./TrackClick";import SysActionTypes from"../SysActionTypes";export default class CloseWidgetAction extends TrackClick{constructor(t,i,e,s){super(e),this.type=SysActionTypes.CLOSE_WIDGET,this.params=i.params,this.eventEmitter=t,this.configService=e,this.tracking=s}execute(){return new Promise(t=>{this.eventEmitter.emit(this.type,()=>{t(!0)}),this.track("CloseWidgetAction",this.params.trackClickParams),this.tracking.trackTargetAction(this.params.countAsTargetAction)})}}
@@ -0,0 +1,7 @@
1
+ export default class DispatchEventAction {
2
+ constructor(eventEmitter: any, config: any);
3
+ type: string;
4
+ eventEmitter: any;
5
+ config: any;
6
+ execute(payload: any): Promise<boolean>;
7
+ }
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";export default class DispatchEventAction{constructor(t,e){this.type=SysActionTypes.DISPATCH_EVENT,this.eventEmitter=t,this.config=e}execute(t){return this.eventEmitter.emit(this.config.params.eventName,null),Promise.resolve(!0)}}
@@ -0,0 +1,9 @@
1
+ export default class GoToNextViewAction {
2
+ constructor(eventEmitter: any, form: any, config: any, tracking: any);
3
+ type: string;
4
+ eventEmitter: any;
5
+ form: any;
6
+ config: any;
7
+ tracking: any;
8
+ execute(): Promise<boolean>;
9
+ }
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";export default class GoToNextViewAction{constructor(t,i,e,s){this.type=SysActionTypes.GO_TO_NEXT_VIEW,this.eventEmitter=t,this.form=i,this.config=e,this.tracking=s}execute(){var t;return this.form.markAsTouched(),this.form.getControlsAsArray().length&&!this.form.isValid()?(this.eventEmitter.emit("INVALID_CONTACT_DATA_SUBMIT_ATTEMPT"),Promise.resolve(!1)):(this.eventEmitter.emit(this.type),this.tracking.trackTargetAction(null===(t=this.config.params)||void 0===t?void 0:t.countAsTargetAction),Promise.resolve(!0))}}
@@ -0,0 +1,8 @@
1
+ export default class GoToPreviousViewAction {
2
+ constructor(eventEmitter: any, config: any, tracking: any);
3
+ type: string;
4
+ eventEmitter: any;
5
+ config: any;
6
+ tracking: any;
7
+ execute(): Promise<boolean>;
8
+ }
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";export default class GoToPreviousViewAction{constructor(t,i,e){this.type=SysActionTypes.GO_TO_PREVIOUS_VIEW,this.eventEmitter=t,this.config=i,this.tracking=e}execute(){var t;return this.eventEmitter.emit(this.type),this.tracking.trackTargetAction(null===(t=this.config.params)||void 0===t?void 0:t.countAsTargetAction),Promise.resolve(!0)}}
@@ -0,0 +1,12 @@
1
+ export default class GoToViewAction extends TrackClick {
2
+ constructor(eventEmitter: any, actionConfig: any, configService: any, form: any, viewRouter: any, documentModel: any, tracking: any);
3
+ type: string;
4
+ eventEmitter: any;
5
+ config: any;
6
+ form: any;
7
+ viewRouter: any;
8
+ documentModel: any;
9
+ tracking: any;
10
+ execute(): Promise<boolean>;
11
+ }
12
+ import TrackClick from "./TrackClick";
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";import TrackClick from"./TrackClick";export default class GoToViewAction extends TrackClick{constructor(i,t,e,s,r,o,c){super(e),this.type=SysActionTypes.GO_TO_VIEW,this.eventEmitter=i,this.config=t,this.form=s,this.viewRouter=r,this.documentModel=o,this.tracking=c}execute(){this.form.markAsTouched();let i=!1;const t=this.viewRouter.getCurrentViewIndex();if(this.config.params.viewId){i=t<this.documentModel.getViews().findIndex(i=>i.id===this.config.params.viewId)}else i=t<this.config.params.viewIndex;return i&&!this.form.isValid()?(this.eventEmitter.emit("INVALID_CONTACT_DATA_SUBMIT_ATTEMPT"),Promise.resolve(!1)):(this.eventEmitter.emit(this.type,this.config.params.viewId||this.config.params.viewIndex),this.config.params.trackClick&&this.track("GoToViewAction",this.config.params.trackClickParams),this.tracking.trackTargetAction(this.config.params.countAsTargetAction),Promise.resolve(!0))}}
@@ -0,0 +1,8 @@
1
+ export default class InAppOpenLinkAction {
2
+ constructor(eventEmitter: any, action: any);
3
+ type: string;
4
+ params: any;
5
+ eventEmitter: any;
6
+ execute(state: any, event: any): Promise<boolean>;
7
+ constructCustomData(customData: any): any;
8
+ }
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";export default class InAppOpenLinkAction{constructor(t,s){this.type=SysActionTypes.OPEN_LINK,this.params=s.params||{},this.eventEmitter=t}execute(t,s){var e;s.stopPropagation();const r=this.constructCustomData(this.params.customData),a=this.params.link;return this.eventEmitter.emit(this.type,Object.assign(Object.assign({targetComponentId:null===(e=null==s?void 0:s.target)||void 0===e?void 0:e.getAttribute("cl-id")},a?{url:a}:{}),r?{customData:r}:{})),Promise.resolve(!0)}constructCustomData(t){try{return JSON.parse(t)}catch(t){return null}}}
@@ -0,0 +1,12 @@
1
+ export default class OpenLinkAction extends TrackClick {
2
+ static appendQueryParamsToLink(link: any, queryParams: any): string;
3
+ static getUtmTags(utmTagConfig: any, dynamicParamsMap: any): {};
4
+ static getDynamicUtmParamsMap(configService: any): Map<string, string>;
5
+ static normalizeUtmParam(value: any): string;
6
+ constructor(actionConfig: any, configService: any, tracking: any);
7
+ type: string;
8
+ params: any;
9
+ tracking: any;
10
+ execute(state: any, event: any): Promise<boolean>;
11
+ }
12
+ import TrackClick from "./TrackClick";
@@ -0,0 +1 @@
1
+ import TrackClick from"./TrackClick";import SysActionTypes from"../SysActionTypes";import sanitizeUrl from"@claspo/common/url/sanitizeUrl";export default class OpenLinkAction extends TrackClick{constructor(t,e,a){super(e),this.type=SysActionTypes.OPEN_LINK,this.params=t.params,this.configService=e,this.tracking=a}execute(t,e){e.stopPropagation(),this.tracking.send("FormClick_[Name]"),this.tracking.trackTargetAction(this.params.countAsTargetAction),this.track("OpenLinkAction",this.params.trackClickParams);let a=this.params.link;const n=this.configService.getConfig("utmTag");if(this.params.tagsEnabled&&(null==n?void 0:n.enabled)){const t=OpenLinkAction.getDynamicUtmParamsMap(this.configService),e=OpenLinkAction.getUtmTags(n,t);a=OpenLinkAction.appendQueryParamsToLink(this.params.link,e)}return window.open(sanitizeUrl(a),this.params.target),Promise.resolve(!0)}static appendQueryParamsToLink(t,e){const a=new URL(t);return Object.keys(e).forEach(t=>{a.searchParams.has(t)||a.searchParams.append(t,e[t])}),a.href}static getUtmTags(t,e){const a={},n=new Map([["utmSource","utm_source"],["utmMedium","utm_medium"],["utmCampaign","utm_campaign"],["utmContent","utm_content"],["utmTerm","utm_term"]]);return["utmSource","utmMedium","utmCampaign","utmContent","utmTerm"].filter(e=>void 0!==(null==t?void 0:t[e])).forEach(i=>{const o=n.get(i),r=e.has(t[i])?e.get(t[i]):encodeURIComponent(t[i]);a[o]=r}),(null==t?void 0:t.customTagsEnabled)&&Object.keys((null==t?void 0:t.utmCustomTags)||{}).filter(e=>{var a;return void 0!==(null===(a=null==t?void 0:t.utmCustomTags)||void 0===a?void 0:a[e])}).forEach(n=>{a[n]=e.has(t.utmCustomTags[n])?e.get(t.utmCustomTags[n]):encodeURIComponent(t.utmCustomTags[n])}),a}static getDynamicUtmParamsMap(t){const e=e=>OpenLinkAction.normalizeUtmParam(t.getConfig(e));return new Map([["$widgetId",e("widgetId")],["$widgetName",encodeURIComponent(e("widgetName"))],["$widgetType",e("layoutType")],["$widgetLang",e("browserLanguage")],["$contactId",encodeURIComponent(e("clContactId"))]])}static normalizeUtmParam(t){return null==t?"":String(t)}}
@@ -0,0 +1,4 @@
1
+ export default class RequestAction extends BaseRequestAction {
2
+ type: string;
3
+ }
4
+ import BaseRequestAction from "./BaseRequestAction";
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";import BaseRequestAction,{RequestStatus}from"./BaseRequestAction";export default class RequestAction extends BaseRequestAction{constructor(){super(...arguments),this.type=SysActionTypes.REQUEST}getTrackingMessageBeforeSentData(){return"RequestFormFinish_[Name]"}getTrackingMessageByStatus(e){return{[RequestStatus.SUCCESS]:"RequestFormSuccess_[Name]",[RequestStatus.ERROR]:"RequestFormError_[Name]",[RequestStatus.TOO_MANY_REQUESTS]:"RequestFormError_[Name]"}[e]||""}}
@@ -0,0 +1,8 @@
1
+ export default class ShowWidgetAction {
2
+ constructor(eventEmitter: any, action: any, tracking: any);
3
+ type: string;
4
+ params: any;
5
+ eventEmitter: any;
6
+ tracking: any;
7
+ execute(): Promise<boolean>;
8
+ }
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";export default class ShowWidgetAction{constructor(t,s,e){this.type=SysActionTypes.SHOW_WIDGET,this.params=s.params||{},this.eventEmitter=t,this.tracking=e}execute(){return this.eventEmitter.emit(this.type,this.params),this.tracking.trackTargetAction(this.params.countAsTargetAction),Promise.resolve(!0)}}
@@ -0,0 +1,5 @@
1
+ export default class SubscribeContactAction extends BaseRequestAction {
2
+ type: string;
3
+ formDataValidation(formValue: any): boolean;
4
+ }
5
+ import BaseRequestAction from "./BaseRequestAction";
@@ -0,0 +1 @@
1
+ import SysActionTypes from"../SysActionTypes";import BaseRequestAction,{RequestStatus}from"./BaseRequestAction";import FormControlEvents from"../../form/FormControlEvents";export default class SubscribeContactAction extends BaseRequestAction{constructor(){super(...arguments),this.type=SysActionTypes.SUBSCRIBE_CONTACT}formDataValidation(t){return!(!t.email&&!t.phone)||(this.eventEmitter.emit("SET_SUBSCRIBE_CONTACT_BUTTON_AS_INVALID"),this.formEventsListener=this.form.on(FormControlEvents.validationStatusChanged,()=>{this.eventEmitter.emit("SET_SUBSCRIBE_CONTACT_BUTTON_AS_VALID")}),!1)}getTrackingMessageBeforeSentData(){return"FormFinish_[Name]"}getTrackingMessageByStatus(t){return{[RequestStatus.SUCCESS]:"FormSuccessSubscribe_[Name]",[RequestStatus.ALREADY_SUBSCRIBED]:"FormAlreadySubscribe_[Name]",[RequestStatus.ERROR]:"FormErrorSubscribe_[Name]",[RequestStatus.TOO_MANY_REQUESTS]:"RequestFormError_[Name]"}[t]||""}}
@@ -0,0 +1,5 @@
1
+ export default class TrackClick {
2
+ constructor(configService: any);
3
+ configService: any;
4
+ track(actionName: any, params: any): void;
5
+ }
@@ -0,0 +1 @@
1
+ import ErrorLogger from"../../error/ErrorLogger";export default class TrackClick{constructor(e){this.configService=e}track(e,i){if(this.configService.getConfig("widgetDebugMode"))return;const r=this.configService.getConfig("formVariantId");if(r){const e=+r.split("v")[1],o=+r.split("v")[0].replace("f",""),g=this.configService.getConfig("hostUrl")+"forms/v1/event",n=this.configService.getConfig("clCustomerId"),t=this.configService.getConfig("clContactId"),c=this.configService.getConfig("triggeredBy"),a=this.configService.getConfig("interactionId"),f=this.configService.getConfig("revision"),s=this.configService.getConfig("appearanceRevision"),v=this.configService.getConfig("browserLanguage"),d=this.configService.getConfig("browserLanguage"),l=this.configService.getConfig("appearanceLanguage"),C=btoa(JSON.stringify({formId:o,variantId:e,clCustomerId:n,contactId:t,iid:a,revision:f,appearanceRevision:s,type:"click",referrer:window.location.href,params:i,triggeredBy:c,lang:v,browserLanguage:d,appearanceLanguage:l}));try{navigator.sendBeacon(g,C)}catch(e){ErrorLogger.log(e)}}else console.warn(`${e} could not access rendererConfig.formVariantId to track click event`)}}
@@ -0,0 +1,2 @@
1
+ export function asyncAction(dispatch: any): (action: any, type: any) => (...args: any[]) => Promise<any>;
2
+ export function asyncActionEmitter(emit: any): (action: any, type: any) => (...args: any[]) => Promise<any>;
@@ -0,0 +1 @@
1
+ var __rest=this&&this.__rest||function(t,r){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&r.indexOf(o)<0&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(o=Object.getOwnPropertySymbols(t);n<o.length;n++)r.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(t,o[n])&&(e[o[n]]=t[o[n]])}return e};import{successAction,failureAction}from"@claspo/common/action/type";export function asyncAction(t){return(r,e)=>async(...o)=>{t({type:e,payload:{args:o}});try{const n=await r(...o);return t({type:successAction(e),payload:{result:n,args:o}}),n}catch(r){throw t({type:failureAction(e),payload:{error:r,args:o}}),r}}}export function asyncActionEmitter(t){return asyncAction(r=>{var{type:e}=r,o=__rest(r,["type"]);return t(e,o)})}
@@ -0,0 +1,2 @@
1
+ export default deprecatedCheckboxVariablesMap;
2
+ declare const deprecatedCheckboxVariablesMap: Map<any, any>;
@@ -0,0 +1 @@
1
+ const deprecatedCheckboxVariablesMap=new Map;deprecatedCheckboxVariablesMap.set("checkboxSize","inputSize"),deprecatedCheckboxVariablesMap.set("checkboxToTextGapSize","inputToTextGapSize");export default deprecatedCheckboxVariablesMap;
@@ -0,0 +1,8 @@
1
+ export default class ColorContrast {
2
+ ratio(colorOne: any, colorTwo: any, options: any): number;
3
+ isNotTransparent(color: any, options: any): any;
4
+ getRgbTriplet(providedColor: any, options: any): string[];
5
+ wcagRgb(a: any, b: any): number;
6
+ luminance(a: any, b: any): number;
7
+ relativeLuminance(rgb: any): number;
8
+ }
@@ -0,0 +1 @@
1
+ import rgb from"./rgb";export default class ColorContrast{ratio(t,r,e){return t=this.getRgbTriplet(t,e),r=this.getRgbTriplet(r,e),this.wcagRgb(t,r)}isNotTransparent(t,r){r=r||{};const e=(t=rgb(t)).match(/\((.*)\)/)[1].split(",");if(4!=e.length||"0"!=e[3]||r.ignoreAlpha)return t;throw new TypeError("get-contrast cannot contrast transparent colors")}getRgbTriplet(t,r){if("string"!=typeof t)throw new TypeError("get-contrast expects colors as strings");let e=t.toLowerCase();return e=this.isNotTransparent(e,r),e.match(/\((.*)\)/)[1].split(",").slice(0,3)}wcagRgb(t,r){return this.luminance(this.relativeLuminance(t),this.relativeLuminance(r))}luminance(t,r){return(Math.max(t,r)+.05)/(Math.min(t,r)+.05)}relativeLuminance(t){const r=t[0]/255,e=t[1]/255,n=t[2]/255,a=1/12.92;function i(t){return Math.pow((t+.055)/1.055,2.4)}return.2126*(r<=.03928?r*a:i(r))+.7152*(e<=.03928?e*a:i(e))+.0722*(n<=.03928?n*a:i(n))}}
@@ -0,0 +1,2 @@
1
+ export default convert;
2
+ declare const convert: {};
@@ -0,0 +1 @@
1
+ import conversions from"./conversions";import route from"./route";const convert={},models=Object.keys(conversions);function wrapRaw(n){const o=function(...o){const e=o[0];return null==e?e:(e.length>1&&(o=e),n(o))};return"conversion"in n&&(o.conversion=n.conversion),o}function wrapRounded(n){const o=function(...o){const e=o[0];if(null==e)return e;e.length>1&&(o=e);const r=n(o);if("object"==typeof r)for(let n=r.length,o=0;o<n;o++)r[o]=Math.round(r[o]);return r};return"conversion"in n&&(o.conversion=n.conversion),o}models.forEach(n=>{convert[n]={},Object.defineProperty(convert[n],"channels",{value:conversions[n].channels}),Object.defineProperty(convert[n],"labels",{value:conversions[n].labels});const o=route(n);Object.keys(o).forEach(e=>{const r=o[e];convert[n][e]=wrapRounded(r),convert[n][e].raw=wrapRaw(r)})});export default convert;
@@ -0,0 +1,15 @@
1
+ export default colorString;
2
+ declare namespace colorString {
3
+ function get(string: any): {
4
+ model: string;
5
+ value: any;
6
+ } | null;
7
+ namespace get {
8
+ function rgb(string: any): number[] | null;
9
+ function hsl(string: any): number[] | null;
10
+ }
11
+ namespace to {
12
+ function rgb(...args: any[]): string;
13
+ function hsl(...args: any[]): string;
14
+ }
15
+ }
@@ -0,0 +1 @@
1
+ import swizzle from"./simple-swizzle";var colorNames={},hasOwnProperty=Object.hasOwnProperty,reverseNames=Object.create(null);for(var name in colorNames)hasOwnProperty.call(colorNames,name)&&(reverseNames[colorNames[name]]=name);var colorString={to:{},get:{}};function clamp(r,a,e){return Math.min(Math.max(a,r),e)}colorString.get=function(r){var a,e;if("hsl"===r.substring(0,3).toLowerCase())a=colorString.get.hsl(r),e="hsl";else a=colorString.get.rgb(r),e="rgb";return a?{model:e,value:a}:null},colorString.get.rgb=function(r){if(!r)return null;var a,e,t,s=[0,0,0,1];if(a=r.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(t=a[2],a=a[1],e=0;e<3;e++){var l=2*e;s[e]=parseInt(a.slice(l,l+2),16)}t&&(s[3]=parseInt(t,16)/255)}else if(a=r.match(/^#([a-f0-9]{3,4})$/i)){for(t=(a=a[1])[3],e=0;e<3;e++)s[e]=parseInt(a[e]+a[e],16);t&&(s[3]=parseInt(t+t,16)/255)}else if(a=r.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(e=0;e<3;e++)s[e]=parseInt(a[e+1],0);a[4]&&(a[5]?s[3]=.01*parseFloat(a[4]):s[3]=parseFloat(a[4]))}else{if(!(a=r.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(a=r.match(/^(\w+)$/))?"transparent"===a[1]?[0,0,0,0]:hasOwnProperty.call(colorNames,a[1])?((s=colorNames[a[1]])[3]=1,s):null:null;for(e=0;e<3;e++)s[e]=Math.round(2.55*parseFloat(a[e+1]));a[4]&&(a[5]?s[3]=.01*parseFloat(a[4]):s[3]=parseFloat(a[4]))}for(e=0;e<3;e++)s[e]=clamp(s[e],0,255);return s[3]=clamp(s[3],0,1),s},colorString.get.hsl=function(r){if(!r)return null;var a=r.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(a){var e=parseFloat(a[4]);return[(parseFloat(a[1])%360+360)%360,clamp(parseFloat(a[2]),0,100),clamp(parseFloat(a[3]),0,100),clamp(isNaN(e)?1:e,0,1)]}return null},colorString.to.rgb=function(){var r=swizzle(arguments);return r.length<4||1===r[3]?"rgb("+Math.round(r[0])+", "+Math.round(r[1])+", "+Math.round(r[2])+")":"rgba("+Math.round(r[0])+", "+Math.round(r[1])+", "+Math.round(r[2])+", "+r[3]+")"},colorString.to.hsl=function(){var r=swizzle(arguments);return r.length<4||1===r[3]?"hsl("+r[0]+", "+r[1]+"%, "+r[2]+"%)":"hsla("+r[0]+", "+r[1]+"%, "+r[2]+"%, "+r[3]+")"};export default colorString;
@@ -0,0 +1,14 @@
1
+ export default Color;
2
+ declare function Color(object: any, model: any): Color | undefined;
3
+ declare class Color {
4
+ constructor(object: any, model: any);
5
+ model: any;
6
+ color: any;
7
+ valpha: number | undefined;
8
+ toString(): any;
9
+ string(places: any): any;
10
+ round(places: any): any;
11
+ alpha(value: any): any;
12
+ lighten(ratio: any): any;
13
+ darken(ratio: any): any;
14
+ }
@@ -0,0 +1 @@
1
+ import colorString from"./color-string";import convert from"./color-convert";const skippedModels=["keyword","gray","hex"],hashedModelKeys={};for(const o of Object.keys(convert))hashedModelKeys[[...convert[o].labels].sort().join("")]=o;const limiters={};function Color(o,r){if(!(this instanceof Color))return new Color(o,r);if(r&&r in skippedModels&&(r=null),r&&!(r in convert))throw new Error("Unknown model: "+r);let e,t;if(null==o)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(o instanceof Color)this.model=o.model,this.color=[...o.color],this.valpha=o.valpha;else if("string"==typeof o){const r=colorString.get(o);if(null===r)throw new Error("Unable to parse color from string: "+o);this.model=r.model,t=convert[this.model].channels,this.color=r.value.slice(0,t),this.valpha="number"==typeof r.value[t]?r.value[t]:1}else if(o.length>0){this.model=r||"rgb",t=convert[this.model].channels;const e=Array.prototype.slice.call(o,0,t);this.color=zeroArray(e,t),this.valpha="number"==typeof o[t]?o[t]:1}else if("number"==typeof o)this.model="rgb",this.color=[o>>16&255,o>>8&255,255&o],this.valpha=1;else{this.valpha=1;const r=Object.keys(o);"alpha"in o&&(r.splice(r.indexOf("alpha"),1),this.valpha="number"==typeof o.alpha?o.alpha:0);const t=r.sort().join("");if(!(t in hashedModelKeys))throw new Error("Unable to parse color from object: "+JSON.stringify(o));this.model=hashedModelKeys[t];const{labels:l}=convert[this.model],n=[];for(e=0;e<l.length;e++)n.push(o[l[e]]);this.color=zeroArray(n)}if(limiters[this.model])for(t=convert[this.model].channels,e=0;e<t;e++){const o=limiters[this.model][e];o&&(this.color[e]=o(this.color[e]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}Color.prototype={toString(){return this.string()},string(o){let r=this.model in colorString.to?this:this.rgb();r=r.round("number"==typeof o?o:1);const e=1===r.valpha?r.color:[...r.color,this.valpha];return colorString.to[r.model](e)},round(o){return o=Math.max(o||0,0),new Color([...this.color.map(roundToPlace(o)),this.valpha],this.model)},alpha(o){return void 0!==o?new Color([...this.color,Math.max(0,Math.min(1,o))],this.model):this.valpha},lighten(o){const r=this.hsl();return r.color[2]+=r.color[2]*o,r},darken(o){const r=this.hsl();return r.color[2]-=r.color[2]*o,r}};for(const o of Object.keys(convert)){if(skippedModels.includes(o))continue;const{channels:r}=convert[o];Color.prototype[o]=function(...r){return this.model===o?new Color(this):r.length>0?new Color(r,o):new Color([...assertArray(convert[this.model][o].raw(this.color)),this.valpha],o)},Color[o]=function(...e){let t=e[0];return"number"==typeof t&&(t=zeroArray(e,r)),new Color(t,o)}}function roundTo(o,r){return Number(o.toFixed(r))}function roundToPlace(o){return function(r){return roundTo(r,o)}}function assertArray(o){return Array.isArray(o)?o:[o]}function zeroArray(o,r){for(let e=0;e<r;e++)"number"!=typeof o[e]&&(o[e]=0);return o}export default Color;
@@ -0,0 +1,9 @@
1
+ export default convert;
2
+ declare namespace convert {
3
+ namespace rgb {
4
+ function hsl(rgb: any): number[];
5
+ }
6
+ namespace hsl {
7
+ function rgb(hsl: any): number[];
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ const cssKeywords={},reverseKeywords={};for(const e of Object.keys(cssKeywords))reverseKeywords[cssKeywords[e]]=e;const convert={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"}},LAB_FT=Math.pow(6/29,3);for(const e of Object.keys(convert)){if(!("channels"in convert[e]))throw new Error("missing channels property: "+e);if(!("labels"in convert[e]))throw new Error("missing channel labels property: "+e);if(convert[e].labels.length!==convert[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:n,labels:r}=convert[e];delete convert[e].channels,delete convert[e].labels,Object.defineProperty(convert[e],"channels",{value:n}),Object.defineProperty(convert[e],"labels",{value:r})}function comparativeDistance(e,n){return(e[0]-n[0])**2+(e[1]-n[1])**2+(e[2]-n[2])**2}convert.rgb.hsl=function(e){const n=e[0]/255,r=e[1]/255,t=e[2]/255,s=Math.min(n,r,t),o=Math.max(n,r,t),c=o-s;let l,a;o===s?l=0:n===o?l=(r-t)/c:r===o?l=2+(t-n)/c:t===o&&(l=4+(n-r)/c),l=Math.min(60*l,360),l<0&&(l+=360);const h=(s+o)/2;return a=o===s?0:h<=.5?c/(o+s):c/(2-o-s),[l,100*a,100*h]},convert.hsl.rgb=function(e){const n=e[0]/360,r=e[1]/100,t=e[2]/100;let s,o,c;if(0===r)return c=255*t,[c,c,c];s=t<.5?t*(1+r):t+r-t*r;const l=2*t-s,a=[0,0,0];for(let e=0;e<3;e++)o=n+1/3*-(e-1),o<0&&o++,o>1&&o--,c=6*o<1?l+6*(s-l)*o:2*o<1?s:3*o<2?l+(s-l)*(2/3-o)*6:l,a[e]=255*c;return a};export default convert;
@@ -0,0 +1,2 @@
1
+ export default rgb;
2
+ declare function rgb(input: any, array: any): any;
@@ -0,0 +1 @@
1
+ var colors={transparent:"#0000"},RGBtoRGB=function(s,l,r,a){return null!=a&&""!==a||(a=1),s=parseFloat(s),l=parseFloat(l),r=parseFloat(r),a=parseFloat(a),s<=255&&s>=0&&l<=255&&l>=0&&r<=255&&r>=0&&a<=1&&a>=0?[Math.round(s),Math.round(l),Math.round(r),a]:null},keys=[];for(var c in colors)keys.push(c);var shex="(?:#([a-f0-9]{3,8}))",sval="\\s*([.\\d%]+)\\s*",sop="(?:,\\s*([.\\d]+)\\s*)?",slist="\\("+[sval,sval,sval]+sop+"\\)",srgb="(?:rgb)a?",shsl="(?:hsl)a?",skeys="("+keys.join("|")+")",xrgb=RegExp(srgb+slist,"i"),rgb=function(s,l){if(null==s)return null;s=(s+"").replace(/\s+/,"");var r=colors[s];return r?rgb(r,l):(r=s.match(xrgb))&&(s=r.slice(1))&&(s=RGBtoRGB.apply(null,s))?l?s:(1===s[3]&&s.splice(3,1),"rgb"+(4===s.length?"a":"")+"("+s+")"):null},regexp=RegExp([skeys,shex,srgb+slist,shsl+slist].join("|"),"gi");export default rgb;
@@ -0,0 +1 @@
1
+ export default function _default(fromModel: any): {};