@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 DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import{DocumentModelUpdateType}from"../../document-model/DocumentModel";export default class DefaultMediaQueryListener extends DefaultEventEmitter{constructor(e,i){super(),this.config=i,this.handleMobileBreakpoint(e.getShared().mobileBreakpointWidth),e.on(DocumentModelUpdateType.ENVIRONMENT_UPDATE,({isMobileEnv:e})=>{this._isMobile=e,this.emit(DefaultMediaQueryListener.changeEventName,this._isMobile)})}handleMobileBreakpoint(e){this.mobileBreakpointWidth=e;const i=Number.isInteger(this.mobileBreakpointWidth)?`${this.mobileBreakpointWidth}px`:this.mobileBreakpointWidth;this.mediaQueryList=window.matchMedia(`(max-width: ${i})`),this.mediaQueryList.addListener(this.listener.bind(this)),this._isMobile=this.mediaQueryList.matches,this.emit(DefaultMediaQueryListener.changeEventName,this._isMobile)}isMobile(){return this.config.forceMobileEnv||this._isMobile}listener(e){this._isMobile=e.matches,this.emit(DefaultMediaQueryListener.changeEventName,this._isMobile)}destroy(){super.destroy(),this.mediaQueryList.removeListener(this.listener.bind(this))}}DefaultMediaQueryListener.changeEventName="CHANGE";
@@ -0,0 +1,38 @@
1
+ export class LoopAnimationStylesService {
2
+ static animationClassPrefix: string;
3
+ static CL_DEFAULT_LOOP_ANIMATION_PULSE_BORDER_RADIUS: string;
4
+ static CL_DEFAULT_LOOP_ANIMATION_PULSE_COLOR: string;
5
+ static CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT: number;
6
+ static _animations: {
7
+ PULSE: {
8
+ styles: string;
9
+ };
10
+ VIBRATE: {
11
+ styles: string;
12
+ };
13
+ WOBBLE: {
14
+ styles: string;
15
+ };
16
+ SHAKE: {
17
+ styles: string;
18
+ };
19
+ JELLO: {
20
+ styles: string;
21
+ };
22
+ BOUNCE: {
23
+ styles: string;
24
+ };
25
+ BLINK: {
26
+ styles: string;
27
+ };
28
+ FLICKER: {
29
+ styles: string;
30
+ };
31
+ PING: {
32
+ styles: string;
33
+ };
34
+ };
35
+ static getDefaultParamValueByAnimationType(type: any, paramKey: any): any;
36
+ static getAllAnimationStyles(parentContext: any): string;
37
+ static constructAnimationStylesByTypes(types: any): string;
38
+ }
@@ -0,0 +1 @@
1
+ var _a;import{CaseTransformer}from"@claspo/common/utils/CaseTransformer";export class LoopAnimationStylesService{static getDefaultParamValueByAnimationType(n,a){return this[`CL_DEFAULT_LOOP_ANIMATION_${n}_${CaseTransformer.camelCaseToUpperSnakeCase(a)}`]}static getAllAnimationStyles(n){let a=Object.values(this._animations).map(n=>n.styles).join("\n");return n&&(a=a.replace(new RegExp(`.${this.animationClassPrefix}`,"g"),`${n} .${this.animationClassPrefix}`)),a}static constructAnimationStylesByTypes(n){return Object.keys(this._animations).filter(a=>n.includes(a)).map(n=>this._animations[n].styles).join("")}}_a=LoopAnimationStylesService,LoopAnimationStylesService.animationClassPrefix="cl-loop-animation-",LoopAnimationStylesService.CL_DEFAULT_LOOP_ANIMATION_PULSE_BORDER_RADIUS="50px",LoopAnimationStylesService.CL_DEFAULT_LOOP_ANIMATION_PULSE_COLOR="rgba(0,0,0,0.7)",LoopAnimationStylesService.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT=3,LoopAnimationStylesService._animations={PULSE:{styles:`\n .${_a.animationClassPrefix}PULSE {\n animation: pulse-animation 2s;\n animation-iteration-count: var(--cl-PULSE-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n border-radius: var(--cl-PULSE-borderRadius);\n }\n\n @keyframes pulse-animation {\n 0% {\n box-shadow: 0 0 0 0 var(--cl-PULSE-color);\n }\n\n 70% {\n box-shadow: 0 0 0 20px rgba(0, 0, 0, 0);\n }\n\n 100% {\n box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);\n }\n }`},VIBRATE:{styles:`\n .${_a.animationClassPrefix}VIBRATE {\n animation: vibrate-animation 10.3s linear both;\n animation-iteration-count: var(--cl-VIBRATE-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n }\n\n @keyframes vibrate-animation {\n 0% {\n transform: translate(0);\n }\n 2% {\n transform: translate(-2px, 2px);\n }\n 4% {\n transform: translate(-2px, -2px);\n }\n 6% {\n transform: translate(2px, 2px);\n }\n 8% {\n transform: translate(2px, -2px);\n }\n 10% {\n transform: translate(0);\n }\n 12% {\n transform: translate(-2px, 2px);\n }\n 14% {\n transform: translate(-2px, -2px);\n }\n 16% {\n transform: translate(2px, 2px);\n }\n 18% {\n transform: translate(2px, -2px);\n }\n 20% {\n transform: translate(0);\n }\n 100% {\n transform: translate(0);\n }\n }`},WOBBLE:{styles:`\n .${_a.animationClassPrefix}WOBBLE {\n animation: wobble-animation 10.8s both;\n animation-iteration-count: var(--cl-WOBBLE-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n }\n\n @keyframes wobble-animation {\n 0%,\n 100% {\n transform: translateX(0%);\n transform-origin: 50% 50%;\n }\n 1.5% {\n transform: translateX(-30px) rotate(-6deg);\n }\n 3% {\n transform: translateX(15px) rotate(6deg);\n }\n 4.5% {\n transform: translateX(-15px) rotate(-3.6deg);\n }\n 6% {\n transform: translateX(9px) rotate(2.4deg);\n }\n 7.5% {\n transform: translateX(-6px) rotate(-1.2deg);\n }\n 10% {\n transform: translateX(0%);\n transform-origin: 50% 50%;\n }\n }`},SHAKE:{styles:`\n .${_a.animationClassPrefix}SHAKE {\n animation: shake-animation 10.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;\n animation-iteration-count: var(--cl-SHAKE-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n }\n\n @keyframes shake-animation {\n 0%,\n 100% {\n transform: translateX(0);\n }\n 1%,\n 3%,\n 5%,\n 7% {\n transform: translateX(-10px);\n }\n 2%,\n 4%,\n 6% {\n transform: translateX(10px);\n }\n 8% {\n transform: translateX(8px);\n }\n 9% {\n transform: translateX(-8px);\n }\n 10% {\n transform: translateX(0);\n }\n }`},JELLO:{styles:`\n .${_a.animationClassPrefix}JELLO {\n animation: jello-animation 10.9s both;\n animation-iteration-count: var(--cl-JELLO-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n }\n\n @keyframes jello-animation {\n 0% {\n transform: scale3d(1, 1, 1);\n }\n 3% {\n transform: scale3d(1.25, 0.75, 1);\n }\n 4% {\n transform: scale3d(0.75, 1.25, 1);\n }\n 5% {\n transform: scale3d(1.15, 0.85, 1);\n }\n 6.5% {\n transform: scale3d(0.95, 1.05, 1);\n }\n 7.5% {\n transform: scale3d(1.05, 0.95, 1);\n }\n 10% {\n transform: scale3d(1, 1, 1);\n }\n 100% {\n transform: scale3d(1, 1, 1);\n }\n }`},BOUNCE:{styles:`\n .${_a.animationClassPrefix}BOUNCE {\n animation: bounce-animation 10.9s both;\n animation-iteration-count: var(--cl-BOUNCE-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n }\n\n @keyframes bounce-animation {\n 0% {\n transform: translateY(-45px);\n animation-timing-function: ease-in;\n opacity: 1;\n }\n 2.4% {\n opacity: 1;\n }\n 4% {\n transform: translateY(-24px);\n animation-timing-function: ease-in;\n }\n 6.5% {\n transform: translateY(-12px);\n animation-timing-function: ease-in;\n }\n 8.2% {\n transform: translateY(-6px);\n animation-timing-function: ease-in;\n }\n 9.3% {\n transform: translateY(-4px);\n animation-timing-function: ease-in;\n }\n 2.5%,\n 5.5%,\n 7.5%,\n 8.7% {\n transform: translateY(0px);\n animation-timing-function: ease-out;\n }\n 10% {\n transform: translateY(0px);\n animation-timing-function: ease-out;\n opacity: 1;\n }\n 100% {\n transform: translateY(0px);\n animation-timing-function: ease-out;\n opacity: 1;\n }\n }`},BLINK:{styles:`\n .${_a.animationClassPrefix}BLINK {\n animation: blink-animation 10.6s both;\n animation-iteration-count: var(--cl-BLINK-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n }\n\n @keyframes blink-animation {\n 0%,\n 5%,\n 10%,\n 100% {\n opacity: 1;\n }\n 2.5%,\n 7.5% {\n opacity: 0;\n }\n }`},FLICKER:{styles:`\n .${_a.animationClassPrefix}FLICKER {\n animation: flicker-animation 12.5s linear both;\n animation-iteration-count: var(--cl-FLICKER-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n }\n\n @keyframes flicker-animation {\n 0%,\n 100% {\n opacity: 1;\n }\n 3.298% {\n opacity: 1;\n }\n 3.3% {\n opacity: 0;\n }\n 3.4% {\n opacity: 0;\n }\n 3.402% {\n opacity: 1;\n }\n 3.498% {\n opacity: 1;\n }\n 3.5% {\n opacity: 0;\n }\n 3.59% {\n opacity: 0;\n }\n 3.592% {\n opacity: 1;\n }\n 3.898% {\n opacity: 1;\n }\n 3.9% {\n opacity: 0;\n }\n 3.98% {\n opacity: 0;\n }\n 3.982% {\n opacity: 1;\n }\n 8.398% {\n opacity: 1;\n }\n 8.4% {\n opacity: 0;\n }\n 8.49% {\n opacity: 0;\n }\n 8.492% {\n opacity: 1;\n }\n 84.92% {\n opacity: 1;\n }\n }`},PING:{styles:`\n .${_a.animationClassPrefix}PING {\n animation: ping-animation 10.8s ease-in-out both;\n animation-iteration-count: var(--cl-PING-animationIterationCount, ${_a.CL_DEFAULT_LOOP_ANIMATION_ITERATION_COUNT});\n }\n\n @keyframes ping-animation {\n 0%,\n 16% {\n transform: scale(1);\n opacity: 1;\n }\n 8% {\n transform: scale(2.2);\n opacity: 0;\n }\n }`}};
@@ -0,0 +1,12 @@
1
+ export default class MobileDeviceOrientationListener {
2
+ static changeEventName: string;
3
+ constructor(documentModel: any, configService: any);
4
+ documentModel: any;
5
+ _orientation: any;
6
+ handleOrientationChangeBound: (event: any) => void;
7
+ isPortrait(): boolean;
8
+ handleOrientationChange(event: any): void;
9
+ addOrientationChangeListener(): void;
10
+ removeOrientationChangeListener(): void;
11
+ destroy(): void;
12
+ }
@@ -0,0 +1 @@
1
+ import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import{detectOrientation}from"@claspo/common/utils/orientationUtils";import{isIOS}from"@claspo/common/utils/deviceUtils";import{DocumentModelUpdateType}from"../../document-model/DocumentModel";export default class MobileDeviceOrientationListener extends DefaultEventEmitter{constructor(e,t){var n;super(),this.documentModel=e,this._orientation=null!==(n=t.config.defaultOrientation)&&void 0!==n?n:detectOrientation(),this.documentModel.on(DocumentModelUpdateType.ENVIRONMENT_UPDATE,e=>{e.orientation&&(this._orientation=e.orientation,this.emit(MobileDeviceOrientationListener.changeEventName,this._orientation))}),this.handleOrientationChangeBound=this.handleOrientationChange.bind(this),this.addOrientationChangeListener()}isPortrait(){return"PORTRAIT"===this._orientation}handleOrientationChange(e){var t,n;this._orientation=null!==(n=null===(t=null==e?void 0:e.detail)||void 0===t?void 0:t.orientation)&&void 0!==n?n:detectOrientation(),this.emit(MobileDeviceOrientationListener.changeEventName,this._orientation)}addOrientationChangeListener(){!isIOS()&&window.screen.orientation?window.screen.orientation.addEventListener("change",this.handleOrientationChangeBound):"orientation"in window&&window.addEventListener("orientationchange",this.handleOrientationChangeBound)}removeOrientationChangeListener(){!isIOS()&&window.screen.orientation?window.screen.orientation.removeEventListener("change",this.handleOrientationChangeBound):"orientation"in window&&window.removeEventListener("orientationchange",this.handleOrientationChangeBound)}destroy(){super.destroy(),this.removeOrientationChangeListener()}}MobileDeviceOrientationListener.changeEventName="CHANGE";
@@ -0,0 +1,13 @@
1
+ export default class ComponentResourceManager {
2
+ constructor(componentId: any, systemEventEmitter: any, isStaticEntryModule: any);
3
+ componentId: any;
4
+ systemEventEmitter: any;
5
+ isStaticEntryModule: any;
6
+ counters: {
7
+ pending: Counter;
8
+ };
9
+ getPending: () => Counter;
10
+ onCounterStateUpdate: (count: any) => void;
11
+ onResourceLoadFailure: (src: any) => void;
12
+ }
13
+ import Counter from "./Counter";
@@ -0,0 +1 @@
1
+ import Counter from"./Counter";import SysEventTypes from"../common/SysEventTypes";export default class ComponentResourceManager{constructor(t,e,n){this.getPending=()=>this.counters.pending,this.onCounterStateUpdate=t=>{0===t&&this.systemEventEmitter.emit(SysEventTypes.COMPONENT_RESOURCES_LOADED,this.componentId)},this.onResourceLoadFailure=t=>{this.isStaticEntryModule?this.systemEventEmitter.emit(SysEventTypes.FAILED_TO_LOAD_COMPONENT_RESOURCE,`Failed to load: ${t}`):this.counters.pending.decrement()},this.componentId=t,this.systemEventEmitter=e,this.isStaticEntryModule=n,this.counters={pending:new Counter(this.onCounterStateUpdate)}}}
@@ -0,0 +1,8 @@
1
+ export default class Counter {
2
+ constructor(onUpdateCb: any);
3
+ _count: number;
4
+ onUpdateCb: any;
5
+ increment(): void;
6
+ decrement(): void;
7
+ count(): number;
8
+ }
@@ -0,0 +1 @@
1
+ export default class Counter{constructor(t){this._count=0,this.onUpdateCb=t}increment(){this._count++,this.onUpdateCb(this.count())}decrement(){this._count>0&&this._count--,this.onUpdateCb(this.count())}count(){return this._count}}
@@ -0,0 +1,8 @@
1
+ export default class ViewResourcesManager {
2
+ constructor(systemEventEmitter: any);
3
+ systemEventEmitter: any;
4
+ componentResourcesMap: Map<any, any>;
5
+ registerComponent(id: any, componentResourceManager: any): void;
6
+ _onComponentResourcesLoaded: (componentId: any) => void;
7
+ viewHasPendingResources(): boolean;
8
+ }
@@ -0,0 +1 @@
1
+ import SysEventTypes from"../common/SysEventTypes";import{ViewRendererActionType}from"../renderer/ViewRendererActionType";export default class ViewResourcesManager{constructor(e){this._onComponentResourcesLoaded=e=>{this.componentResourcesMap.delete(e),this.viewHasPendingResources()||this.systemEventEmitter.emit(ViewRendererActionType.VIEW_COMPONENT_RESOURCES_LOADED)},this.systemEventEmitter=e,this.componentResourcesMap=new Map,this.systemEventEmitter.on(SysEventTypes.COMPONENT_RESOURCES_LOADED,this._onComponentResourcesLoaded)}registerComponent(e,t){this.componentResourcesMap.set(e,t)}viewHasPendingResources(){return[...this.componentResourcesMap.entries()].filter(([e,t])=>t.getPending().count()>0).length>0}}
@@ -0,0 +1,7 @@
1
+ export function changeAlpha(color: any, value: any): any;
2
+ export function getAlpha(color: any): any;
3
+ export function lighten(color: any, value: any): any;
4
+ export function darken(color: any, value: any): any;
5
+ export function getContrastRatio(color1: any, color2: any): number;
6
+ export const whiteColor: "rgb(255, 255, 255)";
7
+ export const blackColor: "rgb(0, 0, 0)";
@@ -0,0 +1 @@
1
+ import ColorContrast from"../color-libs/color-contrast";import Color from"../color-libs/color";export const whiteColor="rgb(255, 255, 255)";export const blackColor="rgb(0, 0, 0)";export function changeAlpha(r,o){return Color(r).alpha(o).string()}export function getAlpha(r){return Color(r).alpha()}export function lighten(r,o){try{return Color(r).lighten(o).rgb().string()}catch(o){return console.warn("ColorUtils.lighten:",o),r}}export function darken(r,o){try{return Color(r).darken(o).rgb().string()}catch(o){return console.warn("ColorUtils.darken:",o),r}}export function getContrastRatio(r,o){try{return(new ColorContrast).ratio(r,o)}catch(t){return console.warn(`ColorUtils.getContrastRatio: transparent colors were used ${r}, ${o}`),0}}
@@ -0,0 +1,5 @@
1
+ export default ComponentLifeCycleContainerType;
2
+ declare namespace ComponentLifeCycleContainerType {
3
+ const STATIC: string;
4
+ const UPDATING: string;
5
+ }
@@ -0,0 +1 @@
1
+ const ComponentLifeCycleContainerType={STATIC:"STATIC",UPDATING:"UPDATING"};export default ComponentLifeCycleContainerType;
@@ -0,0 +1,10 @@
1
+ export default ComponentType;
2
+ declare namespace ComponentType {
3
+ const CONTAINER: string;
4
+ const TEXT: string;
5
+ const INPUT: string;
6
+ const BUTTON: string;
7
+ const IMAGE: string;
8
+ const VIDEO: string;
9
+ const COLUMN: string;
10
+ }
@@ -0,0 +1 @@
1
+ const ComponentType={CONTAINER:"CONTAINER",TEXT:"TEXT",INPUT:"INPUT",BUTTON:"BUTTON",IMAGE:"IMAGE",VIDEO:"VIDEO",COLUMN:"COLUMN"};export default ComponentType;
@@ -0,0 +1,3 @@
1
+ export function setValidStyles(inputElement: any, tooltipElement: any): void;
2
+ export function setInvalidStyle(inputElement: any, tooltipElement: any, error: any, htmlDocumentObject: any): void;
3
+ export function setPendingStyle(inputElement: any, tooltipElement: any): void;
@@ -0,0 +1 @@
1
+ import{addTooltipStyles,createTooltipText,removeTooltipStyles,setTooltipPosition}from"./TooltipUtils";export function setValidStyles(t,i){t.classList.remove("invalid"),i.style.visibility="hidden"}export function setInvalidStyle(t,i,e,o){let l;o=o||document,t.classList.add("invalid"),i.style.visibility="visible";i.onmouseenter=()=>{addTooltipStyles(o),l=createTooltipText(e),o.body.append(l),l.style.visibility="visible",setTooltipPosition({triggerElement:i,tooltipElement:l,htmlDocumentObject:o})},i.onmouseleave=()=>{l&&(l.remove(),removeTooltipStyles(o))}}export function setPendingStyle(t,i){i.style.visibility="hidden",t.classList.contains("invalid")&&t.classList.remove("invalid")}
@@ -0,0 +1,7 @@
1
+ export function setStylesToElement(element: any, style: any): void;
2
+ export function getStylesFromElement(element: any, properties: any): any;
3
+ export function getLabelParamsFromProps(props: any, env: any): any;
4
+ export function applyInputLabelStyles(props: any, env: any, rootElement: any, selector: any): void;
5
+ export function resizeElementTextToFitContainer(params: any, ...args: any[]): void;
6
+ export function setInputHostSize(props: any, env: any, hostElement: any, inputElement: any, labelElement: any): void;
7
+ export function setFocusOutline(element: any, elementToApplyVariable: any): any;
@@ -0,0 +1 @@
1
+ import{changeAlpha}from"./ColorUtils";import insertHtmlIntoElement from"@claspo/common/dom/insertHtmlIntoElement";export function setStylesToElement(t,e){Object.keys(e).forEach(l=>{t.style[l]=e[l]})}export function getStylesFromElement(t,e){const l=window.getComputedStyle(t);return e.reduce((t,e)=>(t[e]=l.getPropertyValue(e),t),{})}export function getLabelParamsFromProps(t,e){var l,o;let n;return t.styles&&(n=null===(l=t.styles.find(t=>"label"===t.element))||void 0===l?void 0:l.params),t.adaptiveStyles&&!n&&(n=null===(o=t.adaptiveStyles[e].find(t=>"label"===t.element))||void 0===o?void 0:o.params),n}export function applyInputLabelStyles(t,e,l,o){const n=l.querySelector(o),i=getLabelParamsFromProps(t,e);if(!i)return;const r=l.querySelector(".label");insertHtmlIntoElement({element:r,html:t.content.label}),"TOP"===i.position?(n.style.flexDirection="column",n.style.alignItems="unset",setStylesToElement(r,{marginRight:0,marginBottom:`${i.margin}px`})):(n.style.flexDirection="row",n.style.alignItems="center",setStylesToElement(r,{marginRight:`${i.margin}px`,marginBottom:0})),i.enabled?r.style.display="":r.style.display="none"}export function resizeElementTextToFitContainer(t){let e,l,o,n;1===arguments.length?(e=t.childElement,l=t.parentElement,o=t.paddings,n=t.allowMultiline):(e=arguments[0],l=arguments[1],o=arguments[2]);if(n){let t=120,n=!1;for(;!n&&t>12;)t--,e.style.fontSize=`${t}px`,e.style.lineHeight=`${t}px`,n=checkIfTextFitting(e,l,o);return}let i=12,r=!1;for(;!r&&i<120;)i++,e.style.fontSize=`${i}px`,e.style.lineHeight=`${i}px`,r=getIsOverflown(e,l,o);r&&(i--,e.style.fontSize=`${i}px`,e.style.lineHeight=`${i}px`)}function checkIfTextFitting(t,e,{top:l=0,right:o=0,bottom:n=0,left:i=0}={top:0,right:0,bottom:0,left:0}){return t.offsetWidth<=e.clientWidth-(i+o)&&t.offsetHeight<=e.clientHeight-(l+n)}function getIsOverflown(t,e,{top:l=0,right:o=0,bottom:n=0,left:i=0}={top:0,right:0,bottom:0,left:0}){return t.offsetWidth>e.clientWidth-(i+o)||t.offsetHeight>e.clientHeight-(l+n)}function getInputStylesWithSizeFromProps(t,e){var l;let o;if(t.styles){const e=null===(l=t.styles.find(t=>"input"===t.element))||void 0===l?void 0:l.styleAttributes;(null==e?void 0:e.width)&&(o=e)}if(t.adaptiveStyles&&!o){const l=t.adaptiveStyles[e].find(t=>"input"===t.element).styleAttributes;(null==l?void 0:l.width)&&(o=l)}return o}export function setInputHostSize(t,e,l,o,n){const i=getInputStylesWithSizeFromProps(t,e);if(!i)return;const r=getLabelParamsFromProps(t,e),s=n&&r&&r.enabled&&"TOP"===r.position?n.getBoundingClientRect().height+r.margin:0;i.width&&(i.width.includes("100%")?(o.style.width="100%",l.style.width=i.width):l.style.width="auto"),i.height&&(i.height.includes("100%")?(o.style.height="100%",l.style.height=i.height):l.style.height=`${parseFloat(i.height)+s}px`)}export function setFocusOutline(t,e){let l;const o=e||t,n=["transparent","initial"];if(t)return t.style.borderColor&&!n.includes(t.style.borderColor)&&(parseFloat(t.style.borderWidth)||parseFloat(t.style.borderBottomWidth))&&(l=setElementOutlineData(o,t,"borderColor")),!l&&t.style.getPropertyValue("--borderBottomColor")&&!n.includes(t.style.getPropertyValue("--borderBottomColor"))&&parseFloat(t.style.getPropertyValue("--borderBottomWidth"))&&(l=setElementOutlineData(o,t,"--borderBottomColor")),l||!t.style.backgroundColor||n.includes(t.style.backgroundColor)||(l=setElementOutlineData(o,t,"backgroundColor")),l||!t.style.color||n.includes(t.style.color)||(l=setElementOutlineData(o,t,"color")),l||(o.classList.remove("focus-outline-defined"),null)}function setElementOutlineData(t,e,l){const o=parseColorValue(e,l);if(o){const e=changeAlpha(o,.5);return t.classList.add("focus-outline-defined"),t.style.setProperty("--clFocusOutline",`3px solid ${e}`),e}return null}function parseColorValue(t,e){const l=getComputedStyle(t)[e]||t.style.getPropertyValue(e);if(l&&l.includes("rgb")&&(!(l.split("rgb").length>2)||l.includes("#")))return l}
@@ -0,0 +1,9 @@
1
+ export function getAdaptiveStylesForPlatform(adaptiveStyles: any, platform: any, element: any): any;
2
+ export function cloneAdaptiveStyles(adaptiveStyles?: any[]): any[];
3
+ export function replaceStyleAttributes(adaptiveStyles: any, platform: any, element: any, styles?: {}): any;
4
+ export function patchStyleAttributes(adaptiveStyles: any, platform: any, element: any, styles?: {}): any;
5
+ export function cloneToAllPlatforms(value: any): {
6
+ [x: string]: never[];
7
+ };
8
+ export function applySharedClasses(elementModel: any, shared: any): any;
9
+ export function getPlaceholderColor(props: any, env: any, shared: any): any;
@@ -0,0 +1 @@
1
+ import{PLATFORMS}from"../wc-renderer/utils/platforms";import{RenderConstants}from"../renderer/RenderConstants";export function getAdaptiveStylesForPlatform(t,e,s){var i;return null===(i=t[e])||void 0===i?void 0:i.find(t=>t.element===s)}export function cloneAdaptiveStyles(t=[]){return t.map(t=>Object.assign(Object.assign({},t),{styleAttributes:Object.assign({},t.styleAttributes)}))}export function replaceStyleAttributes(t,e,s,i={}){return Object.assign(Object.assign({},t),{[e]:t[e].map(t=>t.element===s?Object.assign(Object.assign({},t),{styleAttributes:Object.assign({},i)}):t)})}export function patchStyleAttributes(t,e,s,i={}){return Object.assign(Object.assign({},t),{[e]:t[e].map(t=>t.element===s?Object.assign(Object.assign({},t),{styleAttributes:Object.assign(Object.assign({},t.styleAttributes),i)}):t)})}export function cloneToAllPlatforms(t){return Object.values(PLATFORMS).reduce((e,s)=>Object.assign(e,{[s]:cloneAdaptiveStyles(t)}),{[PLATFORMS.DESKTOP]:[],[PLATFORMS.MOBILE]:[]})}export function applySharedClasses(t,e){let s=t;return(s.classes||"").split(" ").filter(t=>t.startsWith(RenderConstants.SYSTEM_CLASS_PREFIX)).forEach(t=>{var i;let l=null===(i=e.textClasses)||void 0===i?void 0:i[t];l&&(l.styleAttributes.fontFamily||(l.isHeader&&e.headerFontFamily&&(l=Object.assign(Object.assign({},l),{styleAttributes:Object.assign(Object.assign({},l.styleAttributes),{fontFamily:e.headerFontFamily})})),!l.isHeader&&e.textFontFamily&&(l=Object.assign(Object.assign({},l),{styleAttributes:Object.assign(Object.assign({},l.styleAttributes),{fontFamily:e.textFontFamily})}))),s=Object.assign(Object.assign({},s),{styleAttributes:Object.assign(Object.assign({},s.styleAttributes),l.styleAttributes),placeholderStyleAttributes:Object.assign(Object.assign({},s.placeholderStyleAttributes),l.placeholderStyleAttributes)}))}),s.styleAttributes.fontFamily||(s=Object.assign(Object.assign({},s),{styleAttributes:Object.assign(Object.assign({},s.styleAttributes),{fontFamily:e.textFontFamily})})),s}export function getPlaceholderColor(t,e,s){let i="rgb(0, 0, 0)";const l=t.adaptiveStyles[e].find(t=>"input"===t.element);if(l.placeholderStyleAttributes&&l.placeholderStyleAttributes.color)return l.placeholderStyleAttributes.color;const r=(l.classes||"").split(" ").filter(t=>t.startsWith(RenderConstants.SYSTEM_CLASS_PREFIX));if(!r.length)return i;let n=s.textClasses[r[0]];return n&&n.placeholderStyleAttributes&&n.placeholderStyleAttributes.color?n.placeholderStyleAttributes.color:i}
@@ -0,0 +1,28 @@
1
+ export function getMenuOverlayContentClassName(): string;
2
+ export function createBackdrop(isBackdropDisabledOnUI: any): HTMLDivElement;
3
+ export function createMenuOverlay(params: any): {
4
+ backdrop: HTMLDivElement;
5
+ overlay: HTMLDivElement;
6
+ };
7
+ export function getOverlayMenuPlacementData(triggerElement: any, overlayContent: any, offset: any, positionByDefault: any, isHorizontallyCentered: any, htmlDocumentObject: any): {
8
+ coordinates: {
9
+ left: string;
10
+ top: string;
11
+ bottom?: undefined;
12
+ right?: undefined;
13
+ } | {
14
+ left: string;
15
+ bottom: string;
16
+ top?: undefined;
17
+ right?: undefined;
18
+ } | {
19
+ right: string;
20
+ top: string;
21
+ left?: undefined;
22
+ bottom?: undefined;
23
+ } | undefined;
24
+ position: string;
25
+ };
26
+ export function getOverlayBackgroundColor(backgroundColor: any, textColor: any): any;
27
+ export function getOverlayBorderRadius(triggerHeight: any, overlayStyles: any): number;
28
+ export function getMenuItemHoverColor(backgroundColor: any): any;
@@ -0,0 +1 @@
1
+ import{applySysClassPrefix}from"../renderer/RenderConstants";import ViewportSize from"@claspo/common/dom/ViewportSize";import nullishCoalescingOperator from"@claspo/common/utils/NullishCoalescingOperator";import{blackColor,changeAlpha,darken,getAlpha,getContrastRatio,lighten,whiteColor}from"./ColorUtils";import{setStylesToElement}from"./HtmlStyleUtils";import insertHtmlIntoElement from"@claspo/common/dom/insertHtmlIntoElement";export function getMenuOverlayContentClassName(){return applySysClassPrefix("overlay-menu-content")}export function createBackdrop(e){const t=document.createElement("div");return t.style.position="fixed",t.style.zIndex=String(Number.MAX_SAFE_INTEGER-1),t.style.top="0",t.style.left="0",t.style.width=e?"0px":"100%",t.style.height=e?"0px":"100%",t}export function createMenuOverlay(e){const{triggerElement:t,overlayStyles:o,createOverlayContent:i,overlayWidth:n,overlayHeight:r,offset:a,onDestroy:l,positionByDefault:s,isHorizontallyCentered:g,isBackdropDisabledOnUI:p}=e,c=e.htmlDocumentObject||document,m=createBackdrop(p),h=document.createElement("div");h.style.position="fixed",h.style.display="block",h.style.zIndex=String(Number.MAX_SAFE_INTEGER),n&&(h.style.width=`${n}px`),r&&(h.style.height=`${r}px`);const d=h.attachShadow({mode:"open"}),u=document.createElement("style");insertHtmlIntoElement({element:u,html:o}),d.append(u);const f=document.createElement("div");f.classList.add(getMenuOverlayContentClassName()),c.body.append(m),c.body.append(h),d.append(f),i(m,f);(()=>{const e=getOverlayMenuPlacementData(t,f,nullishCoalescingOperator(a,5),s,g,c);setPositionAttr(f,e.position),setStylesToElement(h,e.coordinates)})(),h.addEventListener("click",e=>{e.stopPropagation(),e.preventDefault()});const v=e=>{m.remove(),h.remove(),l&&l(),window.removeEventListener("keyup",e,!0)},T=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopImmediatePropagation(),v(T))};return m.addEventListener("click",()=>v(T)),window.addEventListener("keyup",T,!0),{backdrop:m,overlay:h}}export function getOverlayMenuPlacementData(e,t,o,i,n,r){const a=calcOverlayMenuPosition(e,t,o,i,r=r||document);return updateOverlayContentMargins(a,t),{coordinates:getOverlayMenuPosition(a,e.getBoundingClientRect(),t.getBoundingClientRect(),n,r),position:a.position}}function calcOverlayMenuPosition(e,t,o,i,n){const r=getOverlayMenuHorizontalOffset(e,t,o,n),a=getOverlayMenuVerticalOffset(e,t,o,n);let l="undefined";const s={bottom:a.availableSpaceBelowTriggerElem>=a.contentHeight,top:a.availableSpaceAboveTriggerElem>=a.contentHeight,right:r.availableSpaceToTheRightSideOfTheTrigger>=r.contentWidth,left:r.availableSpaceToTheLeftSideOfTheTrigger>=r.contentWidth};if(s.top?l="top":s.bottom?l="bottom":s.right?l="right":s.left&&(l="left"),s[i]&&(l=i),"undefined"===l){const e=Math.max(a.availableSpaceBelowTriggerElem,a.availableSpaceAboveTriggerElem,r.availableSpaceToTheRightSideOfTheTrigger,r.availableSpaceToTheLeftSideOfTheTrigger);e===a.availableSpaceBelowTriggerElem?l="bottom":e===a.availableSpaceAboveTriggerElem?l="top":e===r.availableSpaceToTheRightSideOfTheTrigger?l="right":e===r.availableSpaceToTheLeftSideOfTheTrigger&&(l="left")}return Object.assign(Object.assign(Object.assign({},a),r),{position:l})}function getOverlayMenuHorizontalOffset(e,t,o,i){const n=ViewportSize.width(i),{right:r}=e.getBoundingClientRect(),a=n-o-r-ViewportSize.scrollbarWidth(i);return{horizontalOffset:o,contentWidth:getOverlayMenuDimensions(t).width,availableSpaceToTheLeftSideOfTheTrigger:r-o,availableSpaceToTheRightSideOfTheTrigger:a}}function getOverlayMenuDimensions(e){const{width:t,height:o}=e.getBoundingClientRect(),{marginBottom:i,marginTop:n,marginLeft:r,marginRight:a}=window.getComputedStyle(e);return{width:t+parseInt(r,10)+parseInt(a,10),height:o+parseInt(n,10)+parseInt(i,10)}}function getOverlayMenuVerticalOffset(e,t,o,i){const n=ViewportSize.height(i),{top:r,bottom:a}=e.getBoundingClientRect();return{verticalOffset:o,contentHeight:getOverlayMenuDimensions(t).height,availableSpaceAboveTriggerElem:r-o,availableSpaceBelowTriggerElem:n-a-o}}function getOverlayMenuPosition(e,t,o,i,n){switch(e.position){case"top":return{left:`${getLeftPositionTBForOverlayMenu(t,o,i,n)}px`,top:e.availableSpaceAboveTriggerElem-e.contentHeight-e.verticalOffset+"px"};case"bottom":return{left:`${getLeftPositionTBForOverlayMenu(t,o,i,n)}px`,bottom:e.availableSpaceBelowTriggerElem-e.contentHeight-e.verticalOffset+"px"};case"left":return{left:e.availableSpaceToTheLeftSideOfTheTrigger-t.width-e.contentWidth-e.horizontalOffset+"px",top:`${getTopPositionLRForOverlayMenu(t,e)}px`};case"right":return{right:e.availableSpaceToTheRightSideOfTheTrigger-e.contentWidth-e.horizontalOffset+"px",top:`${getTopPositionLRForOverlayMenu(t,e)}px`}}}function getLeftPositionTBForOverlayMenu(e,t,o,i){let n=o?e.x+e.width/2-t.width/2:e.x;return n<0&&(n=0),n+t.width>ViewportSize.width(i)&&(n-=n+t.width-ViewportSize.width(i)),n}function getTopPositionLRForOverlayMenu(e,t){let o=t.availableSpaceAboveTriggerElem;return t.contentHeight>t.availableSpaceBelowTriggerElem&&(o-=t.contentHeight-t.availableSpaceBelowTriggerElem),o}function setPositionAttr(e,t){e.setAttribute("cl-overlay-position",t)}export function getOverlayBackgroundColor(e,t){if(e.startsWith("transparent")||e.startsWith("none")||!e.startsWith("rgb")||1!==getAlpha(e.slice(0,e.match(/\)/).index+1))){return getContrastRatio(t,whiteColor)>getContrastRatio(t,blackColor)?whiteColor:blackColor}return e}export function getOverlayBorderRadius(e,t){return Math.min(Math.floor(parseInt(e)/2),parseInt(t["border-top-left-radius"]),parseInt(t["border-top-right-radius"]),parseInt(t["border-bottom-left-radius"]),parseInt(t["border-bottom-right-radius"]))}export function getMenuItemHoverColor(e){const t=getContrastRatio(e,whiteColor),o=getContrastRatio(e,blackColor);let i,n;if(t>o)for(i=whiteColor,n=t;n>5;)i=darken(i,.1),n=getContrastRatio(e,i);else for(i="rgb(10, 10, 10)",n=o;n>5;)i=lighten(i,.1),n=getContrastRatio(e,i);return changeAlpha(i,.2)}function updateOverlayContentMargins(e,t){const{marginBottom:o,marginTop:i}=window.getComputedStyle(t);if("top"===e.position)setStylesToElement(t,{"margin-top":`${parseInt(i,10)+parseInt(o,10)}px`}),setStylesToElement(t,{"margin-bottom":"0px"});else if("bottom"===e.position)setStylesToElement(t,{"margin-bottom":`${parseInt(o,10)+parseInt(i,10)}px`}),setStylesToElement(t,{"margin-top":"0px"});else{const e=(parseInt(o,10)+parseInt(i,10))/2+"px";setStylesToElement(t,{"margin-top":e,"margin-bottom":e})}}
@@ -0,0 +1,4 @@
1
+ export declare class PayloadEvent extends Event {
2
+ detail: {};
3
+ constructor(type: any, detail: any, init: any);
4
+ }
@@ -0,0 +1 @@
1
+ export class PayloadEvent extends Event{constructor(e,t,s){super(e,s),this.detail={},Object.defineProperty(this,"detail",{value:t})}}
@@ -0,0 +1,5 @@
1
+ export namespace PreviewMode {
2
+ const CABINET_PREVIEW: string;
3
+ const EDITOR_PREVIEW: string;
4
+ const DEMO: string;
5
+ }
@@ -0,0 +1 @@
1
+ export const PreviewMode={CABINET_PREVIEW:"previewMode",EDITOR_PREVIEW:"editorPreviewMode",DEMO:"demoMode"};
@@ -0,0 +1,4 @@
1
+ export function setTooltipPosition(params: any): void;
2
+ export function createTooltipText(text: any): HTMLElement;
3
+ export function addTooltipStyles(htmlDocumentObject: any): void;
4
+ export function removeTooltipStyles(htmlDocumentObject: any): void;
@@ -0,0 +1 @@
1
+ import{getOverlayMenuPlacementData}from"./OverlayUtils";import{setStylesToElement}from"./HtmlStyleUtils";import insertHtmlIntoElement from"@claspo/common/dom/insertHtmlIntoElement";const afterBorderWidth="12px",beforeBorderWidth="12px",tooltipStylesId="cl-tooltip-text-styles",tooltipTextStyles=`\n .cl-tooltip-text {\n z-index: ${Number.MAX_SAFE_INTEGER};\n width: max-content;\n height: fit-content;\n visibility: hidden;\n background-color: white;\n color: #000;\n border: 1px solid rgb(194, 194, 194);\n border-radius: 5px;\n padding: 5px 10px;\n position: fixed;\n max-width: 300px;\n max-height: 100vh;\n box-shadow: 0 1px 5px rgba(0,0,0,.28);\n font-size: 14px;\n }\n\n .cl-tooltip-text[cl-tooltip-position='top']:before {\n content: "";\n position: absolute;\n top: 100%;\n left: calc(50% - 13px);\n border-width: 12px;\n border-style: solid;\n border-color: rgb(194, 194, 194) transparent transparent transparent;\n }\n \n .cl-tooltip-text[cl-tooltip-position='top']:after {\n content: "";\n position: absolute;\n top: 100%;\n left: calc(50% - 5px);\n margin-left: -8px;\n margin-top: -2px;\n border-width: 12px;\n border-style: solid;\n border-color: white transparent transparent transparent;\n }\n\n .cl-tooltip-text[cl-tooltip-position='bottom']:before {\n content: "";\n position: absolute;\n top: -24px;\n left: calc(50% - 9px);\n border-width: 12px;\n border-style: solid;\n border-color: transparent transparent rgb(194, 194, 194) transparent;\n }\n \n .cl-tooltip-text[cl-tooltip-position='bottom']:after {\n content: "";\n position: absolute;\n top: -22px;\n left: calc(50% - 4px);\n margin-left: -5px;\n margin-bottom: -2px;\n border-width: 12px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n }\n`;export function setTooltipPosition(t){const{triggerElement:o,tooltipElement:e,offset:n=10,htmlDocumentObject:r}=t,l=getOverlayMenuPlacementData(o,e,n,"top",!0,r);e.setAttribute("cl-tooltip-position",l.position),setStylesToElement(e,l.coordinates)}export function createTooltipText(t){const o="cl-overlay-tooltip-text",e=document.getElementById(o)||document.createElement("div");return e.classList.add("cl-tooltip-text"),e.textContent!==t&&(e.textContent=t,e.style=null),e.id||(e.id=o),e}export function addTooltipStyles(t){if((t=t||document).head.querySelector(`#${tooltipStylesId}`))return;const o=document.createElement("style");o.setAttribute("id",tooltipStylesId),insertHtmlIntoElement({element:o,html:tooltipTextStyles}),t.head.appendChild(o)}export function removeTooltipStyles(t){const o=(t=t||document).head.querySelector(`#${tooltipStylesId}`);o&&o.remove()}
@@ -0,0 +1,4 @@
1
+ export function getWidgetLanguages(configService: any): any[];
2
+ export function getTranslationsMap(translationsMapByLanguage: any, languages: any): any;
3
+ export function normalizeLanguage(lang: any): any;
4
+ export function getTranslation(configService: any, i18n: any, keyName: any): any;
@@ -0,0 +1 @@
1
+ export function getWidgetLanguages(n){return[n.getConfig("appearanceLanguage"),n.getConfig("browserLanguage"),"en"].filter(n=>!!n)}export function getTranslationsMap(n,t){return t.reduce((t,e)=>{if(t)return t;const a=tryToMatchLanguageWithTranslationsMap(e,n);return a||null},null)}function tryToMatchLanguageWithTranslationsMap(n,t){if(!n)return null;if(t[n])return{translations:t[n],language:n};const e=normalizeLanguage(n);return t[e]?{translations:t[e],language:e}:null}export function normalizeLanguage(n){return n.includes("-")?n.split("-")[0].toLowerCase():n.includes("_")?n.split("_")[0].toLowerCase():n}export function getTranslation(n,t,e){const a=getTranslationsMap(t,getWidgetLanguages(n)).translations,r=Object.keys(a).find(n=>n.includes(e));return r?a[r]:e}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ import{getTranslationsMap,getWidgetLanguages}from"./TranslationUtils";describe("TranslationUtils",()=>{describe("getWidgetLanguages",()=>{it("should return proper priority",()=>{const e=getWidgetLanguages({getConfig:e=>{switch(e){case"appearanceLanguage":return"pt";case"browserLanguage":return"pl"}}});expect(e).toEqual(["pt","pl","en"])}),it("should return language dialects as it is",()=>{const e=getWidgetLanguages({getConfig:e=>{switch(e){case"appearanceLanguage":return"pt-BR";case"browserLanguage":return"pl_PL"}}});expect(e).toEqual(["pt-BR","pl_PL","en"])})}),describe("getTranslationsMap",()=>{it("should match dialect if exists",()=>{const e=getTranslationsMap({pt:"pt value","pt-BR":"pt-BR value",pl:"pl value",en:"en value"},["pt-BR","en"]);expect(e).toEqual({translations:"pt-BR value",language:"pt-BR"})}),it("should match regular language if dialect not exists",()=>{const e=getTranslationsMap({pt:"pt value",pl:"pl value",en:"en value"},["pt-BR","en"]);expect(e).toEqual({translations:"pt value",language:"pt"})}),it("should try to match next language if dialect and regular language not exist in map",()=>{const e=getTranslationsMap({pl:"pl value",en:"en value"},["pt-BR","en"]);expect(e).toEqual({translations:"en value",language:"en"})})})});
@@ -0,0 +1,26 @@
1
+ export namespace ControlStatus {
2
+ const PENDING: string;
3
+ const VALID: string;
4
+ const INVALID: string;
5
+ }
6
+ export default class WcControlledElement extends WcElement {
7
+ _createControl: ({ element, ...restControlConfigs }?: {
8
+ element: any;
9
+ }, ...restControlArgs: any[]) => any;
10
+ createControlWithValidation: (validators?: any[], { element, tooltipElement, validCallback, invalidCallback, pendingCallback, elementToListen, validationMap, listenStatusChange, ...restListenerProps }?: {
11
+ element?: Element | undefined;
12
+ tooltipElement?: Element | null | undefined;
13
+ validCallback?: typeof noop | undefined;
14
+ invalidCallback?: typeof noop | undefined;
15
+ pendingCallback?: typeof noop | undefined;
16
+ elementToListen?: any;
17
+ validationMap?: {} | undefined;
18
+ listenStatusChange?: boolean | undefined;
19
+ }) => any;
20
+ _prepareAsyncValidators: (validators?: any[]) => any;
21
+ _handleControlStatusChange: (params: any) => void;
22
+ _handleValidationStatus: (params: any, status: any) => void;
23
+ }
24
+ import WcElement from "./WcElement";
25
+ declare function noop(): void;
26
+ export {};
@@ -0,0 +1 @@
1
+ var __rest=this&&this.__rest||function(t,e){var o={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(n=Object.getOwnPropertySymbols(t);l<n.length;l++)e.indexOf(n[l])<0&&Object.prototype.propertyIsEnumerable.call(t,n[l])&&(o[n[l]]=t[n[l]])}return o};import FormControlEvents from"../form/FormControlEvents";import{setInvalidStyle,setValidStyles,setPendingStyle}from"./FormUtils";import{getTranslation}from"./TranslationUtils";import WcElement from"./WcElement";import{REQUIRED_SYMBOL,required}from"./validators/required";function noop(){}export const ControlStatus={PENDING:"pending",VALID:"valid",INVALID:"invalid"};export default class WcControlledElement extends WcElement{constructor(){super(...arguments),this._createControl=(t={},...e)=>{var{element:o}=t,n=__rest(t,["element"]);const l=this.getProps(),a=this.getModel(),i=Object.assign(Object.assign(Object.assign({},l.control),{componentId:a.id,viewIdx:a.path[0]}),n),r=this.services.form,s=[i,o,...e];return r.hasControl(l.control.name)?r.updateControl(...s):r.registerControl(...s)},this.createControlWithValidation=(t=[],e={})=>{var{element:o=this.getElement("input"),tooltipElement:n=this.getRootElement().querySelector(".input-tooltip"),validCallback:l=noop,invalidCallback:a=noop,pendingCallback:i=noop,elementToListen:r=o,validationMap:s={},listenStatusChange:c=!0}=e,d=__rest(e,["element","tooltipElement","validCallback","invalidCallback","pendingCallback","elementToListen","validationMap","listenStatusChange"]);if(n&&(n.style.visibility="hidden"),!t||!Array.isArray(t))throw new Error("Validators should be an array");const u=this.getProps().control.validation,p=s[null==u?void 0:u.validator],h=t.some(t=>t[REQUIRED_SYMBOL]),m=!!(null==u?void 0:u.required),v=m||h,C=[...t];m&&!h&&C.unshift(required()),p&&C.push(p);const b=this._prepareAsyncValidators(C),g=this._createControl({element:o,validation:{validator:"custom",required:v}},void 0,b);return c&&this._handleControlStatusChange(Object.assign({control:g,element:r,tooltipElement:n,configService:this.services.config,i18n:this.manifest.i18n,validCallback:l,invalidCallback:a,pendingCallback:i},d)),g},this._prepareAsyncValidators=(t=[])=>t.reduce((t,e,o)=>{if("function"!=typeof e)return console.warn(`Validator ${o} should be a function, so it will be skipped`),t;return t[`custom_${o}`]=async(...t)=>{const o=await Promise.resolve(e(...t));return"object"==typeof o&&"isValid"in o?Object.assign(Object.assign({},o),{errorKey:o.isValid?null:o.errorKey}):{isValid:!1,errorKey:"INVALID_VALIDATOR_RESPONSE"}},t},{}),this._handleControlStatusChange=t=>{t.control.on(FormControlEvents.validationStatusChanged,e=>{this._handleValidationStatus(t,e)}),t.control.on(FormControlEvents.touchedStatusChanged,()=>{let e=ControlStatus.PENDING;switch(!0){case t.control.pending:e=ControlStatus.PENDING;break;case t.control.valid:e=ControlStatus.VALID;break;default:e=ControlStatus.INVALID}this._handleValidationStatus(t,e)})},this._handleValidationStatus=(t,e)=>{const{control:o,element:n,tooltipElement:l,validCallback:a,invalidCallback:i,errorMessageMapper:r,pendingCallback:s}=t,c=this.services.config,d=this.manifest.i18n;switch(e){case ControlStatus.VALID:setValidStyles(n,l),a&&a();break;case ControlStatus.INVALID:if(o.touched){const t=o.getErrorKeys();if(!t)break;const e=t[0];let a=getTranslation(c,d,e);r&&(a=r(e,a)),setInvalidStyle(n,l,a,this.htmlDocumentObject),i&&i()}break;case ControlStatus.PENDING:o.touched&&(setPendingStyle(n,l),s&&s())}}}}
@@ -0,0 +1,68 @@
1
+ export default class WcElement extends HTMLElement {
2
+ static _resolveTogglableStylesForElementModel(elementModel: any): any;
3
+ static _resolveTogglableStyles(styles: any): any;
4
+ manifest: any;
5
+ construct: () => void;
6
+ observers: {
7
+ get: (type: any) => any;
8
+ clear: () => any;
9
+ } | undefined;
10
+ subscriptions: {
11
+ subscriptions: any[];
12
+ push(subscription: any): void;
13
+ off(): void;
14
+ } | undefined;
15
+ state: DefaultState | undefined;
16
+ componentEventEmitter: any;
17
+ componentResourceManager: ComponentResourceManager | undefined;
18
+ mergeTagsProcessor: any;
19
+ _actionFactory: any;
20
+ _handlerFactory: HandlerFactory | undefined;
21
+ prevProps: any;
22
+ prevEnvironment: string | undefined;
23
+ colorSchemaListener: ColorSchemaListener | undefined;
24
+ connectedCallback(): void;
25
+ disconnectedCallback(): void;
26
+ attachHandlers: () => void;
27
+ postponeHandlers: () => void;
28
+ releaseHandlers: () => void;
29
+ getProps: () => any;
30
+ getShared: () => any;
31
+ getEnvironment: () => "desktop" | "mobile";
32
+ getRootElement: () => ShadowRoot | WcElement;
33
+ getHostElement: () => WcElement;
34
+ observeProps: (cb: any) => void;
35
+ observeShared: (cb: any) => void;
36
+ observeEnvironment: (cb: any) => void;
37
+ getElements: () => Element[];
38
+ getElement: (name: any, id: any) => Element | undefined;
39
+ applyAutoAdaptiveStyles: (adaptiveStyles: any, envIndependentStyles: any) => void;
40
+ registerComponentResourceManagement: () => void;
41
+ applyStyles: (container: any, styles?: {}) => boolean;
42
+ applyStylesToElement: (htmlElement: any, elementModel: any, commonStyleElement: any) => void;
43
+ _fixMarginOverflow: (htmlElement: any) => void;
44
+ applySharedClassesToElementModel: (elementModel: any) => any;
45
+ getModel: () => any;
46
+ _addStylesToStyleElement: (styleElement: any, elementName: any, styleAttributes: any, selector: string | undefined, addImportant: any) => void;
47
+ _addFontStylesToStyleElement: (styleElement: any, shared: any) => void;
48
+ _addLinkColor: (styleElement: any, shared: any) => void;
49
+ _setClassAttributes: (htmlElement: any, elementModel: any) => void;
50
+ getParentComponent: () => any;
51
+ getWidgetContainerNode: () => any;
52
+ getWidgetLanguages: () => any[];
53
+ getPreferredWidgetLanguage: () => any;
54
+ getTranslationsMap: (translationsMapByLanguage: any) => any;
55
+ stylesAppliedToElement: (htmlElement: any, elementModel: any, commonStyleElement: any) => void;
56
+ updateContext: () => void;
57
+ addContextRecord: () => void;
58
+ getContextRecordLabel: (props: any) => any;
59
+ capitalizeFirstLetter: (string: any) => any;
60
+ getContextRecordExampleValue: (props: any) => any;
61
+ completeSubmitAction: (params: any) => void;
62
+ getHandlers: () => any[];
63
+ assets: (path?: string) => string;
64
+ }
65
+ import DefaultState from "../common/DefaultState";
66
+ import ComponentResourceManager from "../resource-management/ComponentResourceManager";
67
+ import HandlerFactory from "../handler/HandlerFactory";
68
+ import ColorSchemaListener from "../renderer/style/ColorSchemaListener";
@@ -0,0 +1 @@
1
+ import HandlerFactory from"../handler/HandlerFactory";import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import addEventListenerToElement from"@claspo/common/utils/addEventListener";import DefaultState from"../common/DefaultState";import{DocumentModelUpdateType}from"../document-model/DocumentModel";import DefaultMediaQueryListener from"../renderer/style/DefaultMediaQueryListener";import{applySysAttrPrefix,applySysClassPrefix,RenderConstants}from"../renderer/RenderConstants";import StyleAttributeAccessor from"./accessor/StyleAttributeAccessor";import CommonStylesService from"../renderer/style/CommonStylesService";import ColorSchemaListener from"../renderer/style/ColorSchemaListener";import HttpClient from"@claspo/common/network/HttpClient";import omitKeys from"@claspo/common/object/omitKeys";import{CaseTransformer}from"@claspo/common/utils/CaseTransformer";import ComponentResourceManager from"../resource-management/ComponentResourceManager";import createObservers from"../wc-renderer/observers/createObservers";import observerType from"../wc-renderer/observers/observerType";import createSubscriptions from"../wc-renderer/subscriptions/createSubscriptions";import recursiveFindParentNodeByAttribute from"@claspo/common/element/recursiveFindParentNodeByAttribute";import{getTranslationsMap,getWidgetLanguages}from"./TranslationUtils";import ActionCategory from"../action/actions/ActionCategory";import SysActionTypes from"../action/SysActionTypes";import mergeAdaptiveStylesWithEnvIndependentStyles from"../document-model/MergeAdaptiveStylesWithEnvIndependentStyles";import{applySharedClasses,getAdaptiveStylesForPlatform}from"./ModelStyleUtils";import insertHtmlIntoElement from"@claspo/common/dom/insertHtmlIntoElement";import{PayloadEvent}from"./PayloadEvent";export default class WcElement extends HTMLElement{constructor(){var e,t;super(),this.construct=()=>{let e;const t=this.getAttribute(applySysAttrPrefix("id")),s=this.getWidgetContainerNode();if(!s)throw new Error("Widget container not found in construct");const r=s.closest(`[${applySysAttrPrefix("widget-id")}]`);let o;r&&(o=r.getAttribute(applySysAttrPrefix("widget-id")));let i=new PayloadEvent("cl-props-request",{nodeName:this.nodeName,path:this.getAttribute(applySysAttrPrefix("path")),id:t,widgetId:o},{bubbles:!0,composed:!0});this.dispatchEvent(i),e=i.detail.props,Object.assign(this,e),this.observers=createObservers(observerType.PROPS,observerType.SHARED,observerType.ENVIRONMENT),this.subscriptions=createSubscriptions(),this.state=new DefaultState,this.componentEventEmitter=new DefaultEventEmitter,this.componentResourceManager=new ComponentResourceManager(this.model.id,this.services.eventEmitter,"STATIC"===this.services.config.getConfig("entryModuleType")),this.mergeTagsProcessor=this.services.mergeTagsProcessorFactory.create(),this._actionFactory=this.services.actionFactory,this._handlerFactory=new HandlerFactory(this._actionFactory,this.services.actionRegister),this.prevProps=this.model.props,this.prevEnvironment=this.getEnvironment(),this.documentModel.on(`${DocumentModelUpdateType.COMPONENT_PROPS_UPDATE}_${this.model.id}`,e=>{this.model.props=e,this.observers.get(observerType.PROPS).forEach(t=>t(this.prevProps,e)),this.prevProps=e;const t=this.getHostElement(),s=applySysAttrPrefix("floating");e.floating&&!t.getAttribute(s)?t.setAttribute(s,"true"):!e.floating&&t.getAttribute(s)&&t.removeAttribute(s)}),this.documentModel.on(`${DocumentModelUpdateType.COMPONENT_UPDATE}_${this.model.id}`,e=>{Object.assign(this.model,e)}),this.documentModel.on(DocumentModelUpdateType.SHARED_UPDATE_ALL,()=>{this.applyAutoAdaptiveStyles(this.prevProps.adaptiveStyles,this.prevProps.styles),this.observers.get(observerType.SHARED).forEach(e=>e(this.getShared()))}),this.model.props.backgroundDynamicInlineSVGElements&&(this.colorSchemaListener=new ColorSchemaListener(this.documentModel,this.getHostElement(),()=>this.getShared(),()=>this.model.props,()=>this.getEnvironment(),HttpClient),this.colorSchemaListener.apply(this.getEnvironment()).then(()=>{this.subscriptions.push(this.colorSchemaListener.on())})),this.prevProps.adaptiveStyles&&this.subscriptions.push(this.resizeListener.on(DefaultMediaQueryListener.changeEventName,()=>{this.applyAutoAdaptiveStyles(this.prevProps.adaptiveStyles,this.prevProps.styles);const e=this.getEnvironment();this.observers.get(observerType.ENVIRONMENT).forEach(t=>t(this.prevEnvironment,e)),this.prevEnvironment=e}))},this.attachHandlers=()=>{this.getHandlers().map(e=>this._handlerFactory.get(e)).map(e=>()=>e.activate(this.state,this.componentEventEmitter,this.getHostElement.bind(this))).forEach(e=>e())},this.postponeHandlers=()=>{var e;null===(e=this.handlers)||void 0===e||e.forEach(e=>e.postpone())},this.releaseHandlers=()=>{var e;null===(e=this.handlers)||void 0===e||e.forEach(e=>e.release())},this.getProps=()=>{var e;return null===(e=this.getModel())||void 0===e?void 0:e.props},this.getShared=()=>this.documentModel.getShared(),this.getEnvironment=()=>this.resizeListener.isMobile()?"mobile":"desktop",this.getRootElement=()=>this.shadowRoot?this.shadowRoot:this,this.getHostElement=()=>this,this.observeProps=e=>{this.observers.get(observerType.PROPS).push(e),e(null,this.prevProps)},this.observeShared=e=>{this.observers.get(observerType.SHARED).push(e),e(this.getShared())},this.observeEnvironment=e=>{this.observers.get(observerType.ENVIRONMENT).push(e),e(null,this.getEnvironment())},this.getElements=()=>[this.getHostElement(),...Array.from(this.getRootElement().querySelectorAll(`[${applySysAttrPrefix("element")}]`)).filter(e=>!e.hasAttribute(applySysAttrPrefix("component")))],this.getElement=(e,t)=>this.getElements().find(s=>t?s.getAttribute(applySysAttrPrefix("element"))===e&&s.id===t:s.getAttribute(applySysAttrPrefix("element"))===e),this.applyAutoAdaptiveStyles=(e,t)=>{if(!e&&!t)return;const s=this.getElements();if(!s.length)return;e=mergeAdaptiveStylesWithEnvIndependentStyles(e,t);const r=applySysAttrPrefix("type"),o="element-styles";let i=this.getRootElement().querySelector(`style[${r}="${o}"]`);i||(i=document.createElement("style"),i.setAttribute(r,o),this.getRootElement().appendChild(i)),insertHtmlIntoElement({element:i,html:""}),s.forEach(t=>{let s=t.getAttribute(applySysAttrPrefix("element"));const r=this.getEnvironment();let o=getAdaptiveStylesForPlatform(e,r,s);if(o){if(this.resizeListener.isMobile()){const t=getAdaptiveStylesForPlatform(e,"desktop",s);t&&(o=Object.assign(Object.assign({},o),{styleAttributes:Object.assign(Object.assign({},t.styleAttributes),o.styleAttributes)}))}this.applyStylesToElement(t,this.applySharedClassesToElementModel(o),i)}}),this._addLinkColor(i,this.getShared())},this.registerComponentResourceManagement=()=>{this.viewResourceManager.registerComponent(this.model.id,this.componentResourceManager)},this.applyStyles=(e,t={})=>{if(!e||!e.style)return!1;for(const[s,r]of Object.entries(t))e.style[s]=r;return!0},this.applyStylesToElement=(e,t,s)=>{var r,o;const i=[];if("host"===(t=WcElement._resolveTogglableStylesForElementModel(t)).element){CommonStylesService.applyHostStyles(this.model.type,e,null,this.layoutType);!!("desktop"===this.getEnvironment()&&(null===(r=this.model.props.backgroundDynamicInlineSVGElements)||void 0===r?void 0:r.desktop)||"mobile"===this.getEnvironment()&&(null===(o=this.model.props.backgroundDynamicInlineSVGElements)||void 0===o?void 0:o.mobile))&&(this.colorSchemaListener.apply(this.getEnvironment()),i.push("background"))}let n=t.styleAttributes.background,l=n&&n.match(/url\("([^"]*)"\)/);if(this.manifest.waitForResourcesLoad&&l){this.componentResourceManager.getPending().increment();const e=new Image;e.src=l[1],addEventListenerToElement(e,"load",()=>{this.componentResourceManager.getPending().decrement()}),addEventListenerToElement(e,"error",()=>{this.componentResourceManager.onResourceLoadFailure(e.src),"UPDATING"===this.services.config.getConfig("entryModuleType")&&this.componentResourceManager.getPending().decrement()})}const a=Object.assign(Object.assign({},t),{styleAttributes:omitKeys(t.styleAttributes,i)});if(StyleAttributeAccessor.set(e,a),this._setClassAttributes(e,t),s){if(t.hoverStyleAttributes){let r=Object.assign({},t.hoverStyleAttributes);if("FILL_UP"===t.hoverAnimationType){e.style.boxShadow="inset 0px 0px 0px 0px rgb(0, 0, 0, 0)",e.style.overflow="hidden";const s=e.tagName.toLowerCase(),o=`flip-up-animation-${t.element}`;let i=this.getRootElement().querySelector(`#${o}`);i||(i=document.createElement("style"),i.id=o,e.appendChild(i)),insertHtmlIntoElement({element:i,html:`\n ${s}::before {\n content: '';\n background: ${r.background};\n position: absolute;\n left: 0;\n top: ${e.getBoundingClientRect().height}px;\n height: ${e.getBoundingClientRect().height}px;\n width: 100%;\n z-index: -10;\n }\n ${s}:hover::before {\n top: 0;\n transition: 0.3s;\n }\n `}),r=Object.assign(Object.assign({},t.hoverStyleAttributes),{background:"transparent",position:"relative"})}r.borderTopWidth&&"0px"!==r.borderTopWidth||delete r.borderTopColor;r.borderBottomWidth&&"0px"!==r.borderBottomWidth||delete r.borderBottomColor;r.borderLeftWidth&&"0px"!==r.borderLeftWidth||delete r.borderLeftColor;r.borderRightWidth&&"0px"!==r.borderRightWidth||delete r.borderRightColor,this._addStylesToStyleElement(s,t.element,r,`:not(.${applySysAttrPrefix("no-hover")}):hover`,!0)}t.placeholderStyleAttributes&&this._addStylesToStyleElement(s,t.element,t.placeholderStyleAttributes,"::placeholder"),this._addFontStylesToStyleElement(s,this.getShared()),this.stylesAppliedToElement(e,t,s)}},this._fixMarginOverflow=e=>{const t=this.getParentComponent(),s=t&&("flex"===t.style.display||"inline-flex"===t.style.display),r="host",o=e.getAttribute(applySysAttrPrefix("element"))===r;if(!s||!o)return;const i=this.getProps(),n=this.getEnvironment(),{styleAttributes:l}=getAdaptiveStylesForPlatform(i.adaptiveStyles,n,r)||{};if(!l)return;const a=l.marginLeft||l.marginRight,d="100%"===l.width;if(a&&d){const t=(parseFloat(l.marginLeft)||0)+(parseFloat(l.marginRight)||0);t&&setTimeout(()=>{e.style.width=`calc(100% - ${t}px)`})}},this.applySharedClassesToElementModel=e=>{const t=this.documentModel.getShared();return applySharedClasses(e,t)},this.getModel=()=>this.model,this._addStylesToStyleElement=(e,t,s,r="",o)=>{const i=Object.keys(s).reduce((e,t)=>e+` ${CaseTransformer.camelCaseToDashCase(t)}: ${s[t]}${o?" !important;":";"}`,"");insertHtmlIntoElement({element:e,html:`[${applySysAttrPrefix("element")}="${t}"]${r} { ${i} }`,appendHtml:!0})},this._addFontStylesToStyleElement=(e,t)=>{insertHtmlIntoElement({element:e,html:`[cl-type] {font-family:${t.textFontFamily||"inherit"}}`,appendHtml:!0})},this._addLinkColor=(e,t)=>{var s,r,o,i;t.linkColor&&insertHtmlIntoElement({element:e,html:`a {color: ${t.linkColor}}, a:visited {color: ${t.linkColor}}`,appendHtml:!0}),(null===(s=t.linkParams)||void 0===s?void 0:s.color)&&insertHtmlIntoElement({element:e,html:`a {color: ${null===(r=t.linkParams)||void 0===r?void 0:r.color}}, a:visited {color: ${null===(o=t.linkParams)||void 0===o?void 0:o.color}}`,appendHtml:!0}),(null===(i=t.linkParams)||void 0===i?void 0:i.removeUnderline)&&insertHtmlIntoElement({element:e,html:"a {text-decoration: none}, a:visited {text-decoration: none}",appendHtml:!0})},this._setClassAttributes=(e,t)=>{Array.from(e.classList).filter(e=>e!==applySysClassPrefix("hovered")&&e!==applySysClassPrefix("focused")).forEach(t=>{t.startsWith(RenderConstants.SYSTEM_CLASS_PREFIX)&&e.classList.remove(t)});const s=((e.getAttribute("class")||"")+" "+t.classes).trim();e.setAttribute("class",s)},this.getParentComponent=()=>recursiveFindParentNodeByAttribute(this.parentNode,applySysAttrPrefix("element"),"host"),this.getWidgetContainerNode=()=>{const e=null==this?void 0:this.getAttribute(applySysAttrPrefix("path"));return e&&1===e.split(",").length?this.parentNode:recursiveFindParentNodeByAttribute(this.parentNode,applySysAttrPrefix("path"),void 0,e=>e&&1===e.split(",").length)},this.getWidgetLanguages=()=>getWidgetLanguages(this.services.config),this.getPreferredWidgetLanguage=()=>this.getWidgetLanguages()[0],this.getTranslationsMap=e=>getTranslationsMap(e,this.getWidgetLanguages()),this.stylesAppliedToElement=(e,t,s)=>{},this.updateContext=()=>{var e;const t=this.getModel();this.services.context.updateRecord(t.id,{label:this.getContextRecordLabel(t.props),viewIndex:null===(e=t.path)||void 0===e?void 0:e[0]})},this.addContextRecord=()=>{var e;const t=this.getModel();this.services.context.addRecord(t.id,{recordKey:t.id,id:t.props.control.name,label:this.getContextRecordLabel(t.props),value:t.props.control.defaultValue||"",viewIndex:null===(e=t.path)||void 0===e?void 0:e[0],sourceId:"FORM",initialData:{fallbackValue:"",exampleValue:this.getContextRecordExampleValue(t.props)}})},this.getContextRecordLabel=e=>{var t,s;const r=e.control.name;if(["email","first_name","last_name"].includes(r))return r.toUpperCase();if(e.content.label&&(null===(s=null===(t=e.adaptiveStyles.desktop.find(e=>"label"===e.element))||void 0===t?void 0:t.params)||void 0===s?void 0:s.enabled)){const t=(new DOMParser).parseFromString(e.content.label,"text/html");return this.capitalizeFirstLetter(t.body.textContent||"")}return e.content.placeholder?this.capitalizeFirstLetter(e.content.placeholder):e.control.integrationName?this.capitalizeFirstLetter(e.control.integrationName).replace(new RegExp("_","g")," "):void 0},this.capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1),this.getContextRecordExampleValue=e=>{switch(e.control.name){case"email":return"myemail@example.com";case"first_name":return"Maria";case"last_name":return"Taylor";default:return this.getContextRecordLabel(e)}},this.completeSubmitAction=e=>{const t=e||{},s=this.services.actionRegister.getRegisteredActions().find(e=>e.category===ActionCategory.SUBMIT);s?null==s||s.execute(void 0,void 0,!0,t):this.services.actionFactory.get({type:SysActionTypes.REQUEST}).execute(void 0,void 0,!0,t)},this.getHandlers=()=>this.getProps().handlers&&this.getProps().handlers.length?[...this.getProps().handlers]:[],this.assets=(e="")=>`${this.services.config.getConfig("staticResourcesUrl").replace(/\/$/,"")}/${this.manifest.name}/assets${e?`/${e}`:""}`,this.attachShadow({mode:"open"}),this.manifest=this.manifest||(null===(e=this.define)||void 0===e?void 0:e.manifest)||(null===(t=this.constructor.define)||void 0===t?void 0:t.manifest)}connectedCallback(){this.construct(),this.registerComponentResourceManagement(),Promise.resolve().then(()=>{this.attachHandlers()})}disconnectedCallback(){var e;this.observers.clear(),this.subscriptions.off(),this.state.destroy(),this.componentEventEmitter.destroy(),null===(e=this.mergeTagsProcessor)||void 0===e||e.destroy()}static _resolveTogglableStylesForElementModel(e){const t=Object.assign({},e);return Object.keys(t).forEach(e=>{e.toLowerCase().includes("styleattributes")&&(t[e]=WcElement._resolveTogglableStyles(t[e]))}),t}static _resolveTogglableStyles(e){const t=Object.assign({},e),s=(e,s,r)=>{s in t&&(e.forEach(e=>{e in t&&(t[e]=t[s]?t[e]:r)}),delete t[s])};return s(["marginTop","marginBottom","marginLeft","marginRight"],"_marginEnabled","0px"),s(["paddingTop","paddingBottom","paddingLeft","paddingRight"],"_paddingEnabled","0px"),t}}
@@ -0,0 +1,4 @@
1
+ export default class StyleAttributeAccessor {
2
+ static accumulatorPropertyName: string;
3
+ static set(htmlElement: any, elementModel: any): void;
4
+ }
@@ -0,0 +1 @@
1
+ export default class StyleAttributeAccessor{static set(t,e){const s=t[StyleAttributeAccessor.accumulatorPropertyName]||{};t[StyleAttributeAccessor.accumulatorPropertyName]=Object.assign(Object.assign({},s),e.styleAttributes),Object.keys(t[StyleAttributeAccessor.accumulatorPropertyName]).forEach(s=>{s.includes("--")?t.style.setProperty(s,e.styleAttributes[s]||""):t.style[s]=e.styleAttributes[s]?e.styleAttributes[s]:""})}}StyleAttributeAccessor.accumulatorPropertyName="clStyleAttributes";
@@ -0,0 +1,9 @@
1
+ export default class ContextData {
2
+ records: {};
3
+ getRecord(key: any): any;
4
+ addRecord(key: any, value: any): Record;
5
+ deleteRecord(key: any): any;
6
+ getRecordsMap(): {};
7
+ getKVMap(): {};
8
+ }
9
+ import Record from "./Record";
@@ -0,0 +1 @@
1
+ var __rest=this&&this.__rest||function(r,e){var t={};for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&e.indexOf(o)<0&&(t[o]=r[o]);if(null!=r&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(r);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(r,o[s])&&(t[o[s]]=r[o[s]])}return t};import Record from"./Record";export default class ContextData{constructor(){this.records={}}getRecord(r){return this.records[r]}addRecord(r,e){const t=new Record(r,e);return this.records[r]=t,t}deleteRecord(r){const e=this.records,t=r,o=e[t],s=__rest(e,["symbol"==typeof t?t:t+""]);return this.records=s,o}getRecordsMap(){return this.records}getKVMap(){return Object.keys(this.records).reduce((r,e)=>{const t=this.records[e];return r[t.value.id]=t.value.value,r},{})}}
@@ -0,0 +1,5 @@
1
+ export namespace ContextEvents {
2
+ const RECORD_ADDED: string;
3
+ const RECORD_UPDATED: string;
4
+ const RECORD_DELETED: string;
5
+ }
@@ -0,0 +1 @@
1
+ export const ContextEvents={RECORD_ADDED:"RECORD_ADDED",RECORD_UPDATED:"RECORD_UPDATED",RECORD_DELETED:"RECORD_DELETED"};
@@ -0,0 +1,15 @@
1
+ export default class ContextSDK {
2
+ constructor(sourceRegistry: any, contextData: any, isStaticMode: any);
3
+ sourceRegistry: any;
4
+ data: any;
5
+ isStaticMode: any;
6
+ getRegistry(): any;
7
+ addRecord: (key: any, params: any) => void;
8
+ updateRecord: (key: any, params: any) => void;
9
+ deleteRecord(key: any): void;
10
+ getRecord: (key: any) => any;
11
+ getRecordsMap(): any;
12
+ getKVMap(): any;
13
+ initSources(): void;
14
+ subscribeToSource(params: any): void;
15
+ }
@@ -0,0 +1 @@
1
+ import DefaultEventEmitter from"@claspo/common/DefaultEventEmitter";import{ContextEvents}from"./ContextEvents";export default class ContextSDK extends DefaultEventEmitter{constructor(t,e,s){super(),this.addRecord=(t,e)=>{const s=this.data.addRecord(t,e);this.subscribeToSource(e),this.emit(ContextEvents.RECORD_ADDED,s)},this.updateRecord=(t,e)=>{const s=this.data.getRecord(t);(null==s?void 0:s.update(e))&&this.emit(ContextEvents.RECORD_UPDATED,s.getValue())},this.getRecord=t=>this.data.getRecord(t),this.sourceRegistry=t,this.data=e,this.isStaticMode=s,this.initSources()}getRegistry(){return this.sourceRegistry}deleteRecord(t){const e=this.data.getRecord(t);e&&!this.isStaticMode&&(this.data.deleteRecord(t),this.emit(ContextEvents.RECORD_DELETED,e))}getRecordsMap(){return this.data.getRecordsMap()}getKVMap(){return this.data.getKVMap()}initSources(){this.sourceRegistry.registerInitialSources(),this.sourceRegistry.getSources().forEach(t=>{const e=t.getValue();!this.isStaticMode&&e&&Object.keys(e).length&&Object.entries(e).forEach(([t,e])=>{this.addRecord(t,e)})})}subscribeToSource(t){const e=this.sourceRegistry.getSource(t.sourceId);e&&!e.isSubscribed()&&e.subscribe(({key:t,value:e,componentId:s})=>{this.updateRecord(s,{value:e})})}}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ import ContextSDK from"./ContextSDK";import SourceRegistry from"../source/SourceRegistry";import ContextData from"./ContextData";import FormGroup from"../../form/FormGroup";import{ContextEvents}from"./ContextEvents";function createContext(e=!0){const t=new FormGroup({send:()=>{},trackClick:()=>{}}),o=new SourceRegistry(t),n=new ContextData,a=new ContextSDK(o,n,e);return t.registerControl({name:"name",validation:{required:!0},debounceValue:0,componentId:"name"}),{form:t,context:a}}describe("ContextSDK",()=>{it("add record, expect RECORD_ADDED event, receive RECORD_UPDATED event by changing form control",e=>{const{form:t,context:o}=createContext(),n=jest.fn(),a=jest.fn();o.on(ContextEvents.RECORD_ADDED,n),o.on(ContextEvents.RECORD_UPDATED,a),o.addRecord("name",{id:"name",value:"default value",sourceId:"FORM"}),expect(n).toBeCalledTimes(1),expect(a).toBeCalledTimes(0),t.getControl("name").setValue("new value"),setTimeout(()=>{expect(a).toBeCalledTimes(1),expect(o.getRecord("name").value.value).toBe("new value"),e()})}),it("update record, except RECORD_UPDATED event",()=>{const{context:e}=createContext(),t=jest.fn();e.on(ContextEvents.RECORD_UPDATED,t),e.addRecord("name",{id:"name",value:"default value",sourceId:"FORM"}),expect(t).toBeCalledTimes(0),e.updateRecord("name",{value:"new value"}),expect(t).toBeCalledTimes(1),expect(e.getRecord("name").value.value).toBe("new value")}),describe("delete record",()=>{it("ignore delete in static mode, dont except RECORD_DELETED event",()=>{const{context:e}=createContext(),t=jest.fn();e.on(ContextEvents.RECORD_DELETED,t),expect(e.getRecord("name")).not.toBeDefined(),e.addRecord("name",{id:"name",value:"default value",sourceId:"FORM"}),expect(t).toBeCalledTimes(0),expect(e.getRecord("name")).toBeDefined(),e.deleteRecord("name",{value:"new value"}),expect(t).toBeCalledTimes(0),expect(e.getRecord("name")).toBeDefined()}),it("dont ignore delete in updating mode, except RECORD_DELETED event",()=>{const{context:e}=createContext(!1),t=jest.fn();e.on(ContextEvents.RECORD_DELETED,t),expect(e.getRecord("name")).not.toBeDefined(),e.addRecord("name",{id:"name",value:"default value",sourceId:"FORM"}),expect(t).toBeCalledTimes(0),expect(e.getRecord("name")).toBeDefined(),e.deleteRecord("name",{value:"new value"}),expect(t).toBeCalledTimes(1),expect(e.getRecord("name")).not.toBeDefined()})})});
@@ -0,0 +1,8 @@
1
+ export default class Record {
2
+ constructor(key: any, value: any);
3
+ key: any;
4
+ value: any;
5
+ getKey(): any;
6
+ getValue(): any;
7
+ update(nextValue: any): boolean;
8
+ }
@@ -0,0 +1 @@
1
+ export default class Record{constructor(t,e){this.key=t,this.value=e}getKey(){return this.key}getValue(){return this.value}update(t){const e=JSON.stringify(this.value),s=Object.assign(Object.assign({},this.value),t);return e!==JSON.stringify(s)&&(this.value=s,!0)}}
@@ -0,0 +1 @@
1
+ export default function getComponentCountOnView(viewModel: any, componentName: any): number;
@@ -0,0 +1 @@
1
+ import DocumentUtils from"@claspo/common/document/DocumentUtils";export default function getComponentCountOnView(t,e){let o=0;return t?(DocumentUtils.iterateDepthFirst(t,t=>{e===t.name&&o++}),o):o}
@@ -0,0 +1 @@
1
+ export default function getParentHostElement(element: any): any;
@@ -0,0 +1 @@
1
+ export default function getParentHostElement(t){const e=t.parentNode;return e.host?e.host:getParentHostElement(e)}
@@ -0,0 +1,11 @@
1
+ export default class AbstractMergeTagsProcessor {
2
+ constructor(context: any, configService: any);
3
+ context: any;
4
+ configService: any;
5
+ destroy(): void;
6
+ process(element: any, mergeTags: any, componentId: any): void;
7
+ element: any;
8
+ mergeTags: any;
9
+ componentId: any;
10
+ processSingleMergeTag(containerElement: any, mergeTag: any): void;
11
+ }
@@ -0,0 +1 @@
1
+ export default class AbstractMergeTagsProcessor{constructor(e,s){this.context=e,this.configService=s}destroy(){}process(e,s,t){this.element=e,this.mergeTags=s,this.componentId=t,this.mergeTags&&0!==Object.keys(this.mergeTags).length&&this.element.childNodes.forEach(e=>{if(e.nodeType!==Node.TEXT_NODE&&"MERGE_TAG"===e.getAttribute("cl-type")){const s=e.getAttribute("cl-id"),t=this.mergeTags[s];if(!t)return;this.processSingleMergeTag(e,t)}})}processSingleMergeTag(e,s){throw new Error("BaseMergeTagsProcessor: processSingleMergeTag is not implemented")}}
@@ -0,0 +1,9 @@
1
+ export class MergeTagsProcessorFactory {
2
+ constructor(isStaticMode: any, context: any, configService: any);
3
+ isStaticMode: any;
4
+ context: any;
5
+ configService: any;
6
+ create(): StaticMergeTagsProcessor | UpdatingMergeTagsProcessor;
7
+ }
8
+ import StaticMergeTagsProcessor from "./StaticMergeTagsProcessor";
9
+ import UpdatingMergeTagsProcessor from "./UpdatingMergeTagsProcessor";