@wavemaker/app-ng-runtime 12.0.0-next.45031 → 12.0.0-next.45501

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +405 -451
  2. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +2 -3
  3. app-ng-runtime/build-task/esm2022/public_api.mjs +1 -3
  4. app-ng-runtime/build-task/fesm2022/index.mjs +406 -454
  5. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  6. app-ng-runtime/build-task/public_api.d.ts +0 -2
  7. app-ng-runtime/components/base/bundles/index.umd.js +14 -62
  8. app-ng-runtime/components/base/components.module.d.ts +11 -12
  9. app-ng-runtime/components/base/esm2022/components.module.mjs +1 -5
  10. app-ng-runtime/components/base/esm2022/public_api.mjs +1 -2
  11. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +15 -25
  12. app-ng-runtime/components/base/fesm2022/index.mjs +15 -62
  13. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  14. app-ng-runtime/components/base/public_api.d.ts +0 -1
  15. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +5 -10
  16. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +17 -0
  17. app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +18 -1
  18. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +17 -0
  19. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  20. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +1 -0
  21. app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +1 -3
  22. app-ng-runtime/components/data/form/fesm2022/index.mjs +0 -2
  23. app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
  24. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +11 -0
  25. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +12 -1
  26. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +11 -0
  27. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  28. app-ng-runtime/components/input/default/bundles/index.umd.js +63 -39
  29. app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +0 -1
  30. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +5 -8
  31. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +5 -8
  32. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +57 -29
  33. app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +1 -4
  34. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +2 -2
  35. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +4 -1
  36. app-ng-runtime/components/input/default/fesm2022/index.mjs +63 -39
  37. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  38. app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +0 -1
  39. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -4
  40. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +3 -2
  41. app-ng-runtime/components/input/epoch/bundles/index.umd.js +3 -0
  42. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +4 -1
  43. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +3 -0
  44. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  45. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +31 -5
  46. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +34 -8
  47. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +32 -6
  48. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  49. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +6 -2
  50. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +2 -2
  51. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +2 -2
  52. app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +2 -2
  53. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +2 -2
  54. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  55. app-ng-runtime/core/bundles/index.umd.js +6 -16
  56. app-ng-runtime/core/enums/enums.d.ts +1 -2
  57. app-ng-runtime/core/esm2022/enums/enums.mjs +1 -2
  58. app-ng-runtime/core/esm2022/types/types.mjs +1 -4
  59. app-ng-runtime/core/esm2022/utils/build-utils.mjs +1 -6
  60. app-ng-runtime/core/esm2022/utils/utils.mjs +4 -3
  61. app-ng-runtime/core/fesm2022/index.mjs +4 -12
  62. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  63. app-ng-runtime/core/types/types.d.ts +1 -5
  64. app-ng-runtime/core/utils/utils.d.ts +1 -0
  65. app-ng-runtime/mobile/core/bundles/index.umd.js +18 -2
  66. app-ng-runtime/mobile/core/esm2022/native.xhr.mjs +19 -3
  67. app-ng-runtime/mobile/core/fesm2022/index.mjs +18 -2
  68. app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
  69. app-ng-runtime/package.json +1 -1
  70. app-ng-runtime/runtime/base/bundles/index.umd.js +5 -288
  71. app-ng-runtime/runtime/base/esm2022/public_api.mjs +1 -2
  72. app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +1 -6
  73. app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +2 -2
  74. app-ng-runtime/runtime/base/esm2022/types/types.mjs +1 -2
  75. app-ng-runtime/runtime/base/fesm2022/index.mjs +4 -287
  76. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  77. app-ng-runtime/runtime/base/public_api.d.ts +0 -1
  78. app-ng-runtime/runtime/base/runtime-base.module.d.ts +8 -9
  79. app-ng-runtime/runtime/base/types/types.d.ts +1 -2
  80. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +9 -27
  81. app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +2 -5
  82. app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +7 -23
  83. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +7 -26
  84. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  85. app-ng-runtime/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
  86. app-ng-runtime/scripts/datatable/datatable.js +6 -3
  87. app-ng-runtime/scripts/summernote/dist/summernote-lite.min.js +2 -3
  88. app-ng-runtime/transpiler/bundles/index.umd.js +0 -5
  89. app-ng-runtime/transpiler/esm2022/build.mjs +1 -4
  90. app-ng-runtime/transpiler/esm2022/imports.mjs +1 -3
  91. app-ng-runtime/transpiler/fesm2022/index.mjs +0 -5
  92. app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
  93. app-ng-runtime/build-task/advanced/custom-widget-container/custom-widget-container.build.d.ts +0 -2
  94. app-ng-runtime/build-task/advanced/custom-widget-wrapper/custom-widget-wrapper.build.d.ts +0 -2
  95. app-ng-runtime/build-task/esm2022/advanced/custom-widget-container/custom-widget-container.build.mjs +0 -15
  96. app-ng-runtime/build-task/esm2022/advanced/custom-widget-wrapper/custom-widget-wrapper.build.mjs +0 -26
  97. app-ng-runtime/components/advanced/custom/.npmignore +0 -2
  98. app-ng-runtime/components/advanced/custom/bundles/index.umd.js +0 -232
  99. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +0 -19
  100. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget.props.d.ts +0 -2
  101. app-ng-runtime/components/advanced/custom/custom-widget-prop.d.ts +0 -1
  102. app-ng-runtime/components/advanced/custom/custom-widget.directive.d.ts +0 -19
  103. app-ng-runtime/components/advanced/custom/custom-widget.module.d.ts +0 -10
  104. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +0 -102
  105. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget.props.mjs +0 -12
  106. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-prop.mjs +0 -8
  107. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.directive.mjs +0 -68
  108. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.module.mjs +0 -32
  109. app-ng-runtime/components/advanced/custom/esm2022/index.mjs +0 -5
  110. app-ng-runtime/components/advanced/custom/esm2022/public_api.mjs +0 -4
  111. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs +0 -215
  112. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs.map +0 -1
  113. app-ng-runtime/components/advanced/custom/index.d.ts +0 -5
  114. app-ng-runtime/components/advanced/custom/package.json +0 -23
  115. app-ng-runtime/components/advanced/custom/public_api.d.ts +0 -3
  116. app-ng-runtime/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +0 -39
  117. app-ng-runtime/components/base/widgets/common/base/custom-widget-container.directive.d.ts +0 -14
  118. app-ng-runtime/runtime/base/components/base-custom-widget.component.d.ts +0 -72
  119. app-ng-runtime/runtime/base/esm2022/components/base-custom-widget.component.mjs +0 -288
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../projects/components/transpile/src/advanced/carousel/carousel.build.ts","../../../projects/components/transpile/src/advanced/carousel/carousel-template/carousel-template.build.ts","../../../projects/components/transpile/src/advanced/login/login.build.ts","../../../projects/components/transpile/src/advanced/marquee/marquee.build.ts","../../../projects/components/transpile/src/basic/default/anchor/anchor.build.ts","../../../projects/components/transpile/src/basic/default/audio/audio.build.ts","../../../projects/components/transpile/src/basic/default/html/html.build.ts","../../../projects/components/transpile/src/basic/default/icon/icon.build.ts","../../../projects/components/transpile/src/basic/default/iframe/iframe.build.ts","../../../projects/components/transpile/src/basic/default/label/label.build.ts","../../../projects/components/transpile/src/basic/default/picture/picture.build.ts","../../../projects/components/transpile/src/basic/default/spinner/spinner.build.ts","../../../projects/components/transpile/src/basic/progress/progress-bar/progress-bar.build.ts","../../../projects/components/transpile/src/basic/progress/progress-circle/progress-circle.build.ts","../../../projects/components/transpile/src/basic/rich-text-editor/rich-text-editor.build.ts","../../../projects/components/transpile/src/basic/search/search.build.ts","../../../projects/components/transpile/src/basic/tree/tree.build.ts","../../../projects/components/transpile/src/data/card/card.build.ts","../../../projects/components/transpile/src/data/card/card-content/card-content.build.ts","../../../projects/components/transpile/src/data/card/card-actions/card-actions.build.ts","../../../projects/components/transpile/src/data/card/card-footer/card-footer.build.ts","../../../projects/components/transpile/src/chart/chart.build.ts","../../../projects/components/transpile/src/containers/accordion/accordion.build.ts","../../../projects/components/transpile/src/containers/accordion/accordion-pane/accordion-pane.build.ts","../../../projects/components/transpile/src/containers/container.build.ts","../../../projects/components/transpile/src/containers/layout-grid/layout-grid-column/layout-grid-column.build.ts","../../../projects/components/transpile/src/containers/layout-grid/layout-grid-row/layout-grid-row.build.ts","../../../projects/components/transpile/src/containers/layout-grid/layout-grid.build.ts","../../../projects/components/transpile/src/containers/panel/panel.build.ts","../../../projects/components/transpile/src/containers/segmented-control/segmented-control.build.ts","../../../projects/components/transpile/src/containers/segmented-control/segment-content/segment-content.build.ts","../../../projects/components/transpile/src/containers/repeat-template.build.ts","../../../projects/components/transpile/src/containers/tabs/tabs.build.ts","../../../projects/components/transpile/src/containers/tabs/tab-pane/tab-pane.build.ts","../../../projects/components/transpile/src/containers/tile/tile.build.ts","../../../projects/components/transpile/src/containers/wizard/wizard.build.ts","../../../projects/components/transpile/src/containers/wizard/wizard-step/wizard-step.build.ts","../../../projects/components/transpile/src/device/barcode-scanner/barcode-scanner.build.ts","../../../projects/components/transpile/src/device/camera/camera.build.ts","../../../projects/components/transpile/src/dialogs/alert-dialog/alert-dialog.build.ts","../../../projects/components/transpile/src/dialogs/confirm-dialog/confirm-dialog.build.ts","../../../projects/components/transpile/src/dialogs/base/dialog-footer/dialog-footer.build.ts","../../../projects/components/transpile/src/dialogs/design-dialog/dialog.build.ts","../../../projects/components/transpile/src/dialogs/iframe-dialog/iframe-dialog.build.ts","../../../projects/components/transpile/src/dialogs/login-dialog/login-dialog.build.ts","../../../projects/components/transpile/src/dialogs/partial-dialog/partial-dialog.build.ts","../../../projects/components/transpile/src/utils/utils.ts","../../../projects/components/transpile/src/data/form/form-field/form-field.build.ts","../../../projects/components/transpile/src/data/form/form-action/form-action.build.ts","../../../projects/components/transpile/src/data/form/form.build.ts","../../../projects/components/transpile/src/input/calendar/calendar.build.ts","../../../projects/components/transpile/src/input/chips/chips.build.ts","../../../projects/components/transpile/src/input/color-picker/color-picker.build.ts","../../../projects/components/transpile/src/input/currency/currency.build.ts","../../../projects/components/transpile/src/input/default/button-group/button-group.build.ts","../../../projects/components/transpile/src/input/default/button/button.build.ts","../../../projects/components/transpile/src/input/default/checkbox/checkbox.build.ts","../../../projects/components/transpile/src/input/default/checkboxset/checkboxset.build.ts","../../../projects/components/transpile/src/input/default/composite/composite.build.ts","../../../projects/components/transpile/src/input/default/number/number.build.ts","../../../projects/components/transpile/src/input/default/radioset/radioset.build.ts","../../../projects/components/transpile/src/input/default/select/select.build.ts","../../../projects/components/transpile/src/input/default/switch/switch.build.ts","../../../projects/components/transpile/src/input/default/text/text.build.ts","../../../projects/components/transpile/src/input/default/textarea/textarea.build.ts","../../../projects/components/transpile/src/input/epoch/date-time/date-time.build.ts","../../../projects/components/transpile/src/input/epoch/date/date.build.ts","../../../projects/components/transpile/src/input/epoch/time/time.build.ts","../../../projects/components/transpile/src/input/file-upload/file-upload.build.ts","../../../projects/components/transpile/src/input/rating/rating.build.ts","../../../projects/components/transpile/src/input/slider/slider.build.ts","../../../projects/components/transpile/src/data/media-list/media-list.build.ts","../../../projects/components/transpile/src/data/media-list/media-list-item/media-list-item.build.ts","../../../projects/components/transpile/src/data/list/list.build.ts","../../../projects/components/transpile/src/data/live-table/live-table.build.ts","../../../projects/components/transpile/src/message/message.build.ts","../../../projects/components/transpile/src/navigation/breadcrumb/breadcrumb.build.ts","../../../projects/components/transpile/src/navigation/menu/menu.build.ts","../../../projects/components/transpile/src/navigation/nav/nav-item/nav-item.build.ts","../../../projects/components/transpile/src/navigation/nav/nav.build.ts","../../../projects/components/transpile/src/navigation/navbar/navbar.build.ts","../../../projects/components/transpile/src/navigation/popover/popover.build.ts","../../../projects/components/transpile/src/page/page.build.ts","../../../projects/components/transpile/src/page/layout.build.ts","../../../projects/components/transpile/src/page/router-outlet/router-outlet.build.ts","../../../projects/components/transpile/src/data/pagination/pagination.build.ts","../../../projects/components/transpile/src/page/content/content.build.ts","../../../projects/components/transpile/src/page/footer/footer.build.ts","../../../projects/components/transpile/src/page/header/header.build.ts","../../../projects/components/transpile/src/page/left-panel/left-panel.build.ts","../../../projects/components/transpile/src/page/mobile-navbar/mobile-navbar.build.ts","../../../projects/components/transpile/src/page/right-panel/right-panel.build.ts","../../../projects/components/transpile/src/page/page-content/page-content.build.ts","../../../projects/components/transpile/src/page/tab-bar/tab-bar.build.ts","../../../projects/components/transpile/src/page/top-nav/top-nav.build.ts","../../../projects/components/transpile/src/partial/partial.build.ts","../../../projects/components/transpile/src/partial-param/partial-param.build.ts","../../../projects/components/transpile/src/prefab/prefab.build.ts","../../../projects/components/transpile/src/prefab/prefab-container/prefab-container.build.ts","../../../projects/components/transpile/src/data/table/table-action/table-action.build.ts","../../../projects/components/transpile/src/data/table/table-column-group/table-column-group.build.ts","../../../projects/components/transpile/src/data/table/table-column/table-column.build.ts","../../../projects/components/transpile/src/data/table/table-row/table-row.build.ts","../../../projects/components/transpile/src/data/table/table-row-action/table-row-action.build.ts","../../../projects/components/transpile/src/data/table/table.build.ts","../../../projects/components/transpile/src/basic/default/video/video.build.ts","../../../projects/components/transpile/src/containers/linear-layout/linear-layout.build.ts","../../../projects/components/transpile/src/containers/linear-layout/linear-layout-item/linear-layout-item.build.ts","../../../projects/components/transpile/src/advanced/custom-widget-container/custom-widget-container.build.ts","../../../projects/components/transpile/src/advanced/custom-widget-wrapper/custom-widget-wrapper.build.ts","../../../projects/components/transpile/src/public_api.ts","../../../projects/components/transpile/src/index.ts"],"sourcesContent":["import { Element } from '@angular/compiler';\nimport { IBuildTaskDef, getAttrMarkup, register, getBoundToExpr } from '@wm/transpiler';\nimport { IDGenerator, updateTemplateAttrs } from '@wm/core';\n\nconst carouselTagName = 'carousel';\nconst dataSetKey = 'dataset';\nconst idGen = new IDGenerator('wm_carousel_ref_');\n\nconst isDynamicCarousel = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');\n\nregister('wm-carousel', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n // generating unique Id for the carousel\n const counter = idGen.nextUid();\n shared.set('carousel_ref', counter);\n return `<div class=\"app-carousel carousel\"><${carouselTagName} wmCarousel #${counter}=\"wmCarousel\" ${getAttrMarkup(attrs)} interval=\"0\" [ngClass]=\"${counter}.navigationClass\">`;\n },\n post: () => `</${carouselTagName}></div>`,\n template: (node: Element) => {\n // check if the carousel is dynamic\n if (isDynamicCarousel(node)) {\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value);\n }\n },\n // To provide parent carousel reference for children\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('carousel_ref', shared.get('carousel_ref'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import {getAttrMarkup, IBuildTaskDef, register} from '@wm/transpiler';\n\nconst carouselContentTagName = 'slide';\nlet counter = 1;\n// For static carousel\nregister('wm-carousel-content', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${carouselContentTagName} wmCarouselTemplate ${getAttrMarkup(attrs)}>`,\n post: () => `</${carouselContentTagName}>`\n };\n});\n\n// For dynamic carousel\nregister('wm-carousel-template', (): IBuildTaskDef => {\n return {\n requires: ['wm-carousel'],\n pre: (attrs, shared, parentCarousel) => {\n const carouselRef = parentCarousel.get('carousel_ref');\n return `<div *ngIf=\"!${carouselRef}.fieldDefs\">{{${carouselRef}.nodatamessage}}</div>\n <${carouselContentTagName} wmCarouselTemplate #carouselTemplateRef=\"carouselTemplateRef\" ${getAttrMarkup(attrs)} *ngFor=\"let item of ${carouselRef}.fieldDefs; let i = index;\">\n <ng-container [ngTemplateOutlet]=\"carouselTempRef${counter}\"\n [ngTemplateOutletContext]=\"{item:item, index:i}\"\n [ngTemplateOutletInjector]=\"${carouselRef}.createCustomInjector('carousel_item_' + carouselTemplateRef.trackId, {item:item, index:i})\"></ng-container>\n </${carouselContentTagName}>\n <ng-template #carouselTempRef${counter++} let-item=\"item\" let-index=\"index\">`;\n },\n post: () => `</ng-template>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-login', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLogin ${getAttrMarkup(attrs)} eventsource.bind=\"Actions.loginAction\">`,\n post: () => `</${tagName}>`,\n provide: () => {\n const provider = new Map();\n provider.set('isLogin', true);\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'marquee';\n\nregister('wm-marquee', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} onmouseover=\"this.stop();\" onmouseout=\"this.start();\" wmMarquee role=\"marquee\" aria-live=\"off\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'a';\nconst idGen = new IDGenerator('wm_anchor');\n\nregister('wm-anchor', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmAnchor #${counter}=\"wmAnchor\" role=\"link\" data-identifier=\"anchor\" [attr.aria-label]=\"${counter}.hint || ${counter}.caption\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-audio', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmAudio ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_html');\n\nregister('wm-html', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmHtml #${counter}=\"wmHtml\" [attr.aria-label]=\"${counter}.hint || 'HTML content'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'span';\n\nregister('wm-icon', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmIcon aria-hidden=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-iframe', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmIframe ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nlet tagName = 'p';\nconst idGen = new IDGenerator('wm_label');\n\nregister('wm-label', (): IBuildTaskDef => {\n return { \n pre: (attrs:any) => {\n if(!attrs.get(\"notag\")){\n if(!attrs.get('type')){\n const classList=attrs.get('class') ? attrs.get('class').split(' ').filter(element => [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\"].includes(element)):[];\n attrs.set('type',classList.length ? classList[0] : \"p\");\n } \n tagName= attrs.get('type');\n }\n else{\n tagName='label';\n }\n const counter = idGen.nextUid();\n return `<${tagName} wmLabel #${counter}=\"wmLabel\" [attr.aria-label]=\"${counter}.hint\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'img';\nconst idGen = new IDGenerator('wm_picture');\n\nregister('wm-picture', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmPicture #${counter}=\"wmPicture\" alt=\"image\" wmImageCache=\"${attrs.get('offline') || 'true'}\" [attr.aria-label]=\"${counter}.hint || 'Image'\" ${getAttrMarkup(attrs)}>`;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_spinner');\n\nregister('wm-spinner', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmSpinner #${counter}=\"wmSpinner\" role=\"alert\" [attr.aria-label]=\"${counter}.hint || 'Loading...'\" aria-live=\"assertive\" aria-busy=\"true\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Element } from '@angular/compiler';\n\nimport { getAttrMarkup, getBoundToExpr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nconst getAttr = (node: Element, attrName: string) => node.attrs.find(attr => attr.name === attrName);\n\nconst getAttrValue = (node: Element, attrName: string): string | undefined => {\n const match = getAttr(node, attrName);\n if (match) {\n return match.value;\n }\n};\n\nconst getReplaceRegex = (v: string) => new RegExp(`bind:(${v}|${v}\\\\[\\\\$i])\\\\.`, 'g');\n\nregister('wm-progress-bar', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n const dataset = getAttrValue(node, 'dataset');\n const boundExpr = getBoundToExpr(dataset);\n\n if (boundExpr) {\n let type = getAttrValue(node, 'type');\n let datavalue = getAttrValue(node, 'datavalue');\n\n const replaceRegex = getReplaceRegex(boundExpr);\n\n if (type && type.includes(boundExpr)) {\n type = type.replace(replaceRegex, '');\n getAttr(node, 'type').value = type;\n }\n\n if (datavalue && datavalue.includes(boundExpr)) {\n datavalue = datavalue.replace(replaceRegex, '');\n getAttr(node, 'datavalue').value = datavalue;\n }\n }\n },\n pre: attrs => `<${tagName} wmProgressBar ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-progress-circle', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmProgressCircle ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_richtexteditor');\n\nregister('wm-richtexteditor', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmRichTextEditor #${counter}=\"wmRichTextEditor\" role=\"textbox\" [attr.aria-label]=\"${counter}.hint || 'Richtext editor'\" ${getFormMarkupAttr(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-search', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmSearch ${getFormMarkupAttr(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'ul';\n\nregister('wm-tree', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTree class=\"ztree\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-card', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCard ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-card-content', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCardContent partialContainer ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-card-actions', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCardActions ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-card-footer', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCardFooter ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-chart', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmChart redrawable aria-label=\"${attrs.get('type')} Chart\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Element } from '@angular/compiler';\nimport { IBuildTaskDef, getAttrMarkup, register, getBoundToExpr } from '@wm/transpiler';\nimport { IDGenerator, updateTemplateAttrs } from '@wm/core';\n\nconst tagName = 'div';\nconst dataSetKey = 'dataset';\nconst idGen = new IDGenerator('wm_accordion_ref_');\n\nconst isDynamicAccordion = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');\n\nregister('wm-accordion', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n // generating unique Id for the accordion\n const counter = idGen.nextUid();\n shared.set('accordion_ref', counter);\n return `<${tagName} wmAccordion #${counter}=\"wmAccordion\" role=\"tablist\" aria-multiselectable=\"true\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`,\n template: (node: Element, shared) => {\n // check if the accordion is dynamic\n if (isDynamicAccordion(node)) {\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value);\n }\n },\n // To provide parent accordion reference for children\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('accordion_ref', shared.get('accordion_ref'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_accordionpane');\n\nregister('wm-accordionpane', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} #${counter}=\"wmAccordionPane\" [attr.aria-expanded]=\"${counter}.isActive\" wmAccordionPane partialContainer wm-navigable-element=\"true\" role=\"tab\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-container', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmContainer partialContainer wmSmoothscroll=\"${attrs.get('smoothscroll') || 'false'}\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-gridcolumn', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLayoutGridColumn ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-gridrow', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLayoutGridRow ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-layoutgrid', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLayoutGrid ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_panel');\n\nregister('wm-panel', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmPanel #${counter}=\"wmPanel\" partialContainer wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nregister('wm-panel-footer', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmPanelFooter ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-segmented-control', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmSegmentedControl ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'li';\n\nregister('wm-segment-content', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmSegmentContent partialContainer wmSmoothscroll=${attrs.get('smoothscroll') || 'false'} wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst dynamicTemplateTagName = 'div';\nlet counter = 1;\n\n\n// For dynamic accordion panes/tab panes\nregister('wm-repeat-template', (): IBuildTaskDef => {\n return {\n requires: ['wm-accordion', 'wm-tabs'],\n pre: (attrs, shared, parentAccordion, parentTab) => {\n const widgetRef = (parentAccordion && parentAccordion.get('accordion_ref')) || (parentTab && parentTab.get('tabs_ref'));\n if (widgetRef) {\n return `<div *ngIf=\"${widgetRef}.fieldDefs && !${widgetRef}.fieldDefs.length\">{{${widgetRef}.nodatamessage}}</div>\n <${dynamicTemplateTagName} wmRepeatTemplate #repeatItemRef=\"repeatItemRef\" ${getAttrMarkup(attrs)} *ngFor=\"let item of ${widgetRef}.fieldDefs; let i = index;\">\n <ng-container [ngTemplateOutlet]=\"widgetRef${counter}\"\n [ngTemplateOutletContext]=\"{item:item, index:i}\"\n [ngTemplateOutletInjector]=\"${widgetRef}.createCustomInjector('dynamic_pane_' + repeatItemRef.trackId, {item:item, index:i})\"></ng-container>\n </${dynamicTemplateTagName}>\n <ng-template #widgetRef${counter++} let-item=\"item\" let-index=\"index\">`;\n }\n\n },\n post: () => `</ng-template>`\n };\n});\n\nexport default () => {};\n","import { Element } from '@angular/compiler';\nimport { IBuildTaskDef, getAttrMarkup, register, getBoundToExpr } from '@wm/transpiler';\nimport { IDGenerator, updateTemplateAttrs } from '@wm/core';\n\nconst tagName = 'div';\nconst dataSetKey = 'dataset';\nconst idGen = new IDGenerator('wm_tabs_ref_');\n\nconst isDynamicTabs = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');\n\nregister('wm-tabs', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n // generating unique Id for the tabs\n const counter = idGen.nextUid();\n shared.set('tabs_ref', counter);\n return `<${tagName} wmTabs #${counter}=\"wmTabs\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`,\n template: (node: Element, shared) => {\n // check if the tab widget is dynamic\n if (isDynamicTabs(node)) {\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value);\n }\n },\n // To provide parent tab reference for children\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('tabs_ref', shared.get('tabs_ref'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\nregister('wm-tabpane', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTabPane partialContainer ${getAttrMarkup(attrs)} wm-navigable-element=\"true\" role=\"tabpanel\">`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-tile', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTile aria-describedby=\"Tile\" wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-wizard', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmWizard role=\"tablist\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { IDGenerator } from '@wm/core';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'form';\nconst idGen = new IDGenerator('wizard_step_id_');\n\nregister('wm-wizardstep', (): IBuildTaskDef => {\n return {\n pre: attrs => {\n const counter = idGen.nextUid();\n return `<${tagName} wmWizardStep #${counter}=\"wmWizardStep\" ${getAttrMarkup(attrs)}>\n <ng-template [ngIf]=\"${counter}.isInitialized\">`;\n },\n post: () => `</ng-template></${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'button';\nconst idGen = new IDGenerator('wm_barcodescanner');\n\nregister('wm-barcodescanner', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmBarcodescanner #${counter}=\"wmBarcodescanner\" [attr.aria-label]=\"${counter}.hint || 'Barcode scanner'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'button';\nconst idGen = new IDGenerator('wm_camera');\n\nregister('wm-camera', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} type='button' wmCamera #${counter}=\"wmCamera\" [attr.aria-label]=\"${counter}.hint || 'Camera'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-alertdialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmAlertDialog role=\"alertdialog\" wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-confirmdialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmConfirmDialog wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-dialogactions', (): IBuildTaskDef => {\n return {\n pre: attrs => `<ng-template #dialogFooter><${tagName} wmDialogFooter data-identfier=\"actions\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}></ng-template>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-dialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmDialog ${getAttrMarkup(attrs)} aria-modal=\"true\" role=\"dialog\" wm-navigable-element=\"true\"><ng-template #dialogBody>`,\n post: () => `</ng-template></${tagName}>`\n };\n});\n\n// Todo:vinay remove wm-view in migration\nregister('wm-view', (): IBuildTaskDef => {\n return {\n pre: attrs => '',\n post: () => ''\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-iframedialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmIframeDialog wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-logindialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmDialog wmLoginDialog ${getAttrMarkup(attrs)} eventsource.bind=\"Actions.loginAction\" wm-navigable-element=\"true\"><ng-template #dialogBody>`,\n post: () => `</ng-template></${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-pagedialog', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n const content = attrs.get('content');\n attrs.delete('content');\n\n const boundContent = attrs.get('content.bind');\n attrs.delete('content.bind');\n\n const onLoad = attrs.get('load.event');\n attrs.delete('load.event');\n\n let onLoadEvtMarkup = '';\n let contentMarkup = '';\n\n if (onLoad) {\n onLoadEvtMarkup = `load.event=\"${onLoad}\"`;\n }\n\n if (boundContent) {\n contentMarkup = `content.bind=\"${boundContent}\"`;\n } else if (content) {\n contentMarkup = `content=\"${content}\"`;\n }\n\n let containerMarkup = '';\n if (contentMarkup) {\n\n shared.set('hasPartialContent', true);\n containerMarkup += `<ng-template><div wmContainer #partial partialContainer ${contentMarkup} width=\"100%\" height=\"100%\" ${onLoadEvtMarkup}>`;\n }\n\n return `<${tagName} wmPartialDialog ${getAttrMarkup(attrs)}>${containerMarkup}`;\n },\n post: (attrs, shared) => {\n let preContent = '';\n if (shared.get('hasPartialContent')) {\n preContent = `</div></ng-template>`;\n }\n return `${preContent}</${tagName}>`;\n }\n };\n});\n\nexport default () => {};\n","import {DataType, FormWidgetType} from '@wm/core';\n\nexport const ALLFIELDS = 'All Fields';\nexport const EDIT_MODE = {\n QUICK_EDIT : 'quickedit',\n INLINE : 'inline',\n FORM : 'form',\n DIALOG : 'dialog'\n};\n\nconst fieldTypeWidgetTypeMap = {\n 'integer' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'rating', 'slider', 'currency', 'autocomplete', 'chips'],\n 'big_integer': ['number', 'text', 'select', 'checkboxset', 'radioset', 'rating', 'slider', 'currency', 'autocomplete', 'chips'],\n 'short' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'float' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'big_decimal': ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'number' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'double' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'long' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'rating', 'slider', 'currency', 'autocomplete', 'chips'],\n 'byte' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'string' : ['text', 'number', 'textarea', 'password', 'richtext', 'select', 'checkboxset', 'radioset', 'date', 'time', 'timestamp', 'switch', 'currency', 'autocomplete', 'chips', 'colorpicker'],\n 'character' : ['text', 'number', 'textarea', 'password', 'richtext', 'select', 'checkboxset', 'radioset', 'switch', 'currency', 'autocomplete', 'chips'],\n 'text' : ['text', 'number', 'textarea', 'password', 'richtext', 'select', 'checkboxset', 'radioset', 'date', 'time', 'timestamp', 'switch', 'currency', 'autocomplete', 'chips', 'colorpicker'],\n 'date' : ['date', 'text', 'number', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],\n 'time' : ['time', 'text', 'number', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],\n 'timestamp' : ['timestamp', 'text', 'number', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],\n 'datetime' : ['datetime', 'text', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],\n 'boolean' : ['checkbox', 'radioset', 'toggle', 'select'],\n 'list' : ['select', 'radioset', 'checkboxset', 'switch', 'autocomplete', 'chips'],\n 'clob' : ['text', 'textarea', 'richtext'],\n 'blob' : ['upload'],\n 'file' : ['upload'],\n 'custom' : ['text', 'number', 'textarea', 'password', 'checkbox', 'toggle', 'slider', 'richtext', 'currency', 'switch',\n 'select', 'checkboxset', 'radioset', 'date', 'time', 'timestamp', 'rating', 'datetime', 'autocomplete', 'chips', 'colorpicker']\n};\n\nconst DATASET_WIDGETS = new Set([FormWidgetType.SELECT, FormWidgetType.CHECKBOXSET, FormWidgetType.RADIOSET,\n FormWidgetType.SWITCH, FormWidgetType.AUTOCOMPLETE, FormWidgetType.CHIPS, FormWidgetType.TYPEAHEAD, FormWidgetType.RATING]);\n\nexport const isDataSetWidget = widget => {\n return DATASET_WIDGETS.has(widget);\n};\n\n// Get filter widget applicable to the given type\nexport const getDataTableFilterWidget = type => {\n let widget = fieldTypeWidgetTypeMap[type] && fieldTypeWidgetTypeMap[type][0];\n if (type === DataType.BOOLEAN) {\n widget = FormWidgetType.SELECT;\n }\n const filterWidgets = [FormWidgetType.TEXT, FormWidgetType.NUMBER, FormWidgetType.SELECT, FormWidgetType.AUTOCOMPLETE,\n FormWidgetType.DATE, FormWidgetType.TIME, FormWidgetType.DATETIME];\n if (filterWidgets.includes(widget)) {\n return widget;\n }\n return FormWidgetType.TEXT;\n};\n\n/**\n * @ngdoc function\n * @name wm.widgets.live.getEditModeWidget\n * @methodOf wm.widgets.live.LiveWidgetUtils\n * @function\n *\n * @description\n * This function returns the default widget for grid\n *\n * @param {object} colDef field definition\n */\nexport const getEditModeWidget = colDef => {\n if (colDef['related-entity-name'] && colDef['primary-key']) {\n return FormWidgetType.SELECT;\n }\n return (fieldTypeWidgetTypeMap[colDef.type] && fieldTypeWidgetTypeMap[colDef.type][0]) || FormWidgetType.TEXT;\n};\n","import {getFormMarkupAttr, IBuildTaskDef, register} from '@wm/transpiler';\nimport {\n FormWidgetType,\n generateGUId,\n getFormWidgetTemplate,\n getRequiredFormWidget,\n IDGenerator,\n isMobileApp\n} from '@wm/core';\n\nimport {ALLFIELDS, isDataSetWidget} from '../../../utils/utils';\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('formfield_');\n\nconst getEventsTemplate = (attrs) => {\n const eventAttrs = new Map();\n if (!attrs.has('focus.event')) {\n attrs.set('focus.event', '');\n }\n if (!attrs.has('blur.event')) {\n attrs.set('blur.event', '');\n }\n attrs.forEach((value, key) => {\n if (key.endsWith('.event')) {\n if (key === 'focus.event') {\n value = `_onFocusField($event);${value}`;\n } else if (key === 'blur.event') {\n value = `_onBlurField($event);${value}`;\n }\n eventAttrs.set(key, value);\n attrs.delete(key);\n }\n });\n return getFormMarkupAttr(eventAttrs);\n};\n\nconst DEFAULT_PLACEHOLDERS = new Map([\n [FormWidgetType.SELECT, ['Select Min value', 'Select Max value', 'Select value']],\n [FormWidgetType.DATETIME, ['Select Min date time', 'Select Max date time', 'Select date time']],\n [FormWidgetType.TIME, ['Select Min time', 'Select Max time', 'Select time']],\n [FormWidgetType.DATE, ['Select Min date', 'Select Max date', 'Select date']],\n [FormWidgetType.TEXTAREA, ['', '', 'Enter value']],\n [FormWidgetType.RICHTEXT, ['', '', 'Enter value']],\n [FormWidgetType.COLORPICKER, ['Select Color', 'Select Color', 'Select Color']],\n [FormWidgetType.CHIPS, ['', '', 'Type here...']],\n [FormWidgetType.PASSWORD, ['Enter Min value', 'Enter Max value', 'Enter value']],\n [FormWidgetType.NUMBER, ['Enter Min value', 'Enter Max value', 'Enter value']],\n [FormWidgetType.TEXT, ['Enter Min value', 'Enter Max value', 'Enter value']],\n [FormWidgetType.CURRENCY, ['Enter Min value', 'Enter Max value', 'Enter value']],\n [FormWidgetType.AUTOCOMPLETE, ['', '', 'Search']],\n]);\n\nconst setDefaultPlaceholder = (attrs, widgetType, index) => {\n const prop = index === 1 ? 'maxplaceholder' : 'placeholder';\n let placeholder = attrs.get(prop);\n if (placeholder || placeholder === '') {\n return;\n }\n placeholder = DEFAULT_PLACEHOLDERS.get(widgetType) && DEFAULT_PLACEHOLDERS.get(widgetType)[index];\n if (placeholder) {\n attrs.set(prop, placeholder);\n }\n};\n\nconst getWidgetTemplate = (attrs, options) => {\n const name = attrs.get('name');\n const customWidgetName = attrs.get('widgetname');\n const fieldName = (attrs.get('key') || name || '').trim();\n const formControl = options.isMaxWidget ? `formControlName=\"${fieldName}_max\"` : (options.isInList ? `[formControlName]=\"${options.counter}._fieldName\"` : `formControlName=\"${fieldName}\"`);\n const tmplRef = options.isMaxWidget ? `#formWidgetMax` : `#formWidget`;\n const widgetName = name ? (options.isMaxWidget ? `name=\"${name}_formWidgetMax\"` : `name=\"${name}_formWidget\"`) : '';\n const conditionalClass = `[ngClass]=\"${attrs.get('ngclass')}\"`;\n const defaultTmpl = `[class.hidden]=\"!${options.pCounter}.isUpdateMode && ${options.counter}.viewmodewidget !== 'default'\" ${formControl} ${options.eventsTmpl} ${conditionalClass} ${tmplRef} ${widgetName} ${customWidgetName ? `widgetname=${customWidgetName}`:''}` ;\n return getFormWidgetTemplate(options.widgetType, defaultTmpl, attrs, {counter: options.counter, pCounter: options.pCounter});\n};\n\n\nconst getTemplate = (attrs, widgetType, eventsTmpl, counter, pCounter, isInList) => {\n const isRange = attrs.get('is-range') === 'true';\n if (!isRange) {\n return getWidgetTemplate(attrs, {widgetType, eventsTmpl, counter, pCounter, isInList});\n }\n const layoutClass = isMobileApp() ? 'col-xs-6' : 'col-sm-6';\n return `<div class=\"${layoutClass}\">${getWidgetTemplate(attrs, {widgetType, eventsTmpl, counter, pCounter})}</div>\n <div class=\"${layoutClass}\">${getWidgetTemplate(attrs, {widgetType, eventsTmpl, counter, pCounter, isMaxWidget: true})}</div>`;\n};\n\nconst getCaptionByWidget = (attrs, widgetType, counter) => {\n if (attrs.get('is-related') === 'true') {\n return `${counter}.getDisplayExpr()`;\n }\n if (widgetType === FormWidgetType.PASSWORD) {\n return '\\'********\\'';\n }\n let caption = `${counter}.value`;\n if (widgetType === FormWidgetType.DATETIME || widgetType === FormWidgetType.TIMESTAMP) {\n caption += ` | toDate:${counter}.formWidget.datepattern || 'yyyy-MM-dd hh:mm:ss a'`;\n return caption;\n }\n if (widgetType === FormWidgetType.TIME) {\n caption += ` | toDate:${counter}.formWidget.timepattern || 'hh:mm a'`;\n return caption;\n }\n if (widgetType === FormWidgetType.DATE) {\n caption += ` | toDate:${counter}.formWidget.datepattern || 'yyyy-MMM-dd'`;\n return caption;\n }\n if (widgetType === FormWidgetType.RATING || widgetType === FormWidgetType.UPLOAD) {\n return '';\n }\n if (isDataSetWidget(widgetType) && attrs.get('datafield') === ALLFIELDS) {\n return `${counter}.getDisplayExpr()`;\n }\n return `${counter}.getCaption()`;\n};\n\nconst registerFormField = (isFormField): IBuildTaskDef => {\n return {\n requires: ['wm-form', 'wm-liveform', 'wm-livefilter', 'wm-list'],\n pre: (attrs, shared, parentForm, parentLiveForm, parentFilter, parentList) => {\n const counter = idGen.nextUid();\n const parent = parentForm || parentLiveForm || parentFilter;\n const pCounter = (parent && parent.get('form_reference')) || 'form';\n const widgetType = attrs.get('widget') || FormWidgetType.TEXT;\n const dataRole = isFormField ? 'form-field' : 'filter-field';\n const formFieldErrorMsgId = 'wmform-field-error-' + generateGUId();\n const validationMsg = isFormField ? `<p *ngIf=\"${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode\"\n class=\"help-block text-danger\" aria-hidden=\"false\"\n aria-live=\"assertive\" [attr.aria-label]=\"${counter}.validationmessage\" id=\"${formFieldErrorMsgId}\"><span aria-hidden=\"true\" [textContent]=\"${counter}.validationmessage\"></span></p>` : '';\n const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);\n const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';\n const isInList = pCounter === (parentList && parentList.get('parent_form_reference'));\n attrs.set('__validationId', formFieldErrorMsgId);\n attrs.set('__widgetType', widgetType);\n attrs.delete('widget');\n shared.set('counter', counter);\n\n if (attrs.get('is-range') === 'true') {\n setDefaultPlaceholder(attrs, widgetType, 0);\n setDefaultPlaceholder(attrs, widgetType, 1);\n } else {\n setDefaultPlaceholder(attrs, widgetType, 2);\n }\n\n return `<${tagName} data-role=\"${dataRole}\" [formGroup]=\"${pCounter}.ngform\" wmFormField wmCaptionPosition #${counter}=\"wmFormField\" widgettype=\"${widgetType}\" ${getFormMarkupAttr(attrs)}>\n <div class=\"live-field form-group app-composite-widget clearfix caption-{{${pCounter}.captionposition}}\" widget=\"${widgetType}\">\n <label [hidden]=\"!${counter}.displayname\" class=\"app-label control-label formfield-label {{${pCounter}._captionClass}}\"\n [ngStyle]=\"{width: ${pCounter}.captionsize}\" [ngClass]=\"{'text-danger': ${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode,\n required: ${pCounter}.isUpdateMode && ${counter}.required}\" [textContent]=\"${counter}.displayname\"> </label>\n <div [ngClass]=\"${counter}.displayname ? ${pCounter}._widgetClass : '${controlLayout}'\">\n <label class=\"form-control-static app-label\"\n [hidden]=\"${pCounter}.isUpdateMode || ${counter}.viewmodewidget === 'default' || ${counter}.widgettype === 'upload'\" [innerHTML]=\"${getCaptionByWidget(attrs, widgetType, counter)}\"></label>\n ${getTemplate(attrs, widgetType, eventsTmpl, counter, pCounter, isInList)}\n <span aria-hidden=\"true\" *ngIf=\"${counter}.showPendingSpinner\" class=\"form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n <p *ngIf=\"!(${counter}._control?.invalid && ${counter}._control?.touched) && ${pCounter}.isUpdateMode\"\n class=\"help-block\" aria-hidden=\"true\" role=\"alert\" aria-live=\"polite\" [textContent]=\"${counter}.hint\"></p>\n ${validationMsg}\n </div>\n </div>`;\n },\n post: () => `</${tagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('form_reference', shared.get('counter'));\n return provider;\n },\n imports: (attrs: Map<String, String>): string[] => {\n const requiredWidget = getRequiredFormWidget(attrs.get('__widgetType') || attrs.get('type'));\n attrs.delete('__widgetType');\n return [requiredWidget, 'wm-form'];\n }\n };\n};\n\nregister('wm-form-field', registerFormField.bind(this, true));\nregister('wm-filter-field', registerFormField.bind(this, false));\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nconst registerAction = (tmpl): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmFormAction name=\"${attrs.get('name') || attrs.get('key')}\" ${getAttrMarkup(attrs)} ${tmpl}>`,\n post: () => `</${tagName}>`\n };\n};\n\nregister('wm-form-action', registerAction.bind(this, ''));\nregister('wm-filter-action', registerAction.bind(this, ` update-mode=\"true\" `));\n\nexport default () => {};\n","import { Attribute, Element } from '@angular/compiler';\n\nimport { getAttrMarkup, IBuildTaskDef, register, getDataSource } from '@wm/transpiler';\nimport { IDGenerator } from '@wm/core';\n\nconst tagName = 'form';\nconst idGen = new IDGenerator('form_');\n\nconst formWidgets = new Set([\n 'wm-text',\n 'wm-textarea',\n 'wm-checkbox',\n 'wm-slider',\n 'wm-richtexteditor',\n 'wm-currency',\n 'wm-switch',\n 'wm-select',\n 'wm-checkboxset',\n 'wm-radioset',\n 'wm-date',\n 'wm-time',\n 'wm-timestamp',\n 'wm-upload',\n 'wm-rating',\n 'wm-datetime',\n 'wm-search',\n 'wm-chips',\n 'wm-colorpicker',\n 'wm-table'\n]);\n\nlet numberOfFields;\n\nconst addFormControlName = (children = []) => {\n children.forEach(childNode => {\n if (childNode.name === 'wm-form-field') {\n numberOfFields++;\n }\n if (formWidgets.has(childNode.name)) {\n let key = childNode.attrs.find((attr) => attr.name === 'key' || attr.name === 'name');\n key = key && key.value;\n if (!key) {\n // for checkbox inside table inside form, key and name attrs are not available. Using datavalue to construct formControlName instead.\n let dataValue = childNode.attrs.find((attr) => attr.name === 'datavalue');\n if (dataValue && dataValue.value) {\n const regex = /\\((.*)\\)/;\n dataValue = dataValue.value.match(regex);\n if (dataValue && dataValue.length > 1) {\n key = dataValue[1].replace(/[\"']/g, '');\n }\n }\n }\n childNode.attrs.push(new Attribute('formControlName', key, <any>1, <any>1, <any>1, undefined, undefined));\n childNode.attrs.push(new Attribute('wmFormWidget', '', <any>1, <any>1, <any>1, undefined, undefined));\n }\n addFormControlName(childNode.children);\n });\n};\n\nconst updateFormDataSource = (attrMap) => {\n if (attrMap.get('formdata.bind')) {\n const formDataSource = getDataSource(attrMap.get('formdata.bind'));\n if (formDataSource) {\n attrMap.set('formdatasource.bind', formDataSource);\n }\n }\n};\n\nconst buildTask = (directiveAttr = ''): IBuildTaskDef => {\n return {\n requires: ['wm-livetable', 'wm-login'],\n template: (node: Element) => {\n numberOfFields = 0;\n addFormControlName(node.children);\n },\n pre: (attrs, shared, parentLiveTable, parentLoginWidget) => {\n let tmpl;\n let dialogId;\n const role = parentLoginWidget && parentLoginWidget.get('isLogin') ? 'app-login' : '';\n const counter = idGen.nextUid();\n const dependsOn = attrs.get('dependson') ? `dependson=\"${attrs.get('dependson')}\"` : '';\n if(dependsOn) {\n attrs.set('dependsontable', attrs.get('dependson'));\n }\n const classProp = attrs.get('formlayout') === 'page' ? 'app-device-liveform panel liveform-inline' : '';\n const dialogAttributes = ['title', 'title.bind', 'iconclass', 'iconclass.bind', 'width'];\n attrs.delete('dependson');\n const liveFormTmpl = `<${tagName} wmForm data-role=\"${role}\" ${directiveAttr} #${counter} ngNativeValidate [formGroup]=\"${counter}.ngform\" [noValidate]=\"${counter}.validationtype !== 'html'\"\n class=\"${classProp}\" [class]=\"${counter}.captionAlignClass\" [autocomplete]=\"${counter}.autocomplete ? 'on' : 'off'\" captionposition=${attrs.get('captionposition')}`;\n attrs.set('numberOfFields', `${numberOfFields}`);\n shared.set('counter', counter);\n updateFormDataSource(attrs);\n if (attrs.get('formlayout') === 'dialog') {\n dialogId = parentLiveTable ? parentLiveTable.get('liveform_dialog_id') : `liveform_dialog_id_${counter}`;\n attrs.set('dialogId', dialogId);\n const dialogAttrsMap = new Map<string, string>();\n dialogAttributes.forEach((attr) => {\n if (attrs.get(attr)) {\n dialogAttrsMap.set(attr, attrs.get(attr));\n }\n });\n attrs.set('width', '100%');\n tmpl = getAttrMarkup(attrs);\n return `<div data-identifier=\"liveform\" init-widget class=\"app-liveform liveform-dialog\" ${dependsOn} dialogid=\"${dialogId}\">\n <div wmDialog class=\"app-liveform-dialog\" name=\"${dialogId}\" role=\"form\" ${getAttrMarkup(dialogAttrsMap)} modal=\"true\">\n <ng-template #dialogBody>\n ${liveFormTmpl} ${tmpl}>`;\n }\n let mobileFormContentTmpl = '';\n let buttonTemplate = '';\n // Include mobile-navbar above the form when formlayout is set to page\n if (attrs.get('formlayout') === 'page') {\n const name = `device_liveform_header_${counter}`;\n const navbarAttrsMap = new Map<string, string>();\n navbarAttrsMap.set('title', attrs.get('title'));\n navbarAttrsMap.set('backbtnclick.event', attrs.get('backbtnclick.event'));\n buttonTemplate = `<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton name=\"{{btn.key}}\" class=\"navbar-btn btn-primary btn-transparent\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"${counter}.invokeActionEvent($event, btn.action)\" type.bind=\"btn.type\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\" disabled.bind=\"btn.disabled\"\n tabindex.bind=\"btn.tabindex\" [class.hidden]=\"btn.updateMode ? !${counter}.isUpdateMode : ${counter}.isUpdateMode\"></button>\n </ng-template>`;\n mobileFormContentTmpl = `<header wmMobileNavbar name=\"${name}\" ${getAttrMarkup(navbarAttrsMap)}>\n <ng-container *ngFor=\"let btn of ${counter}.buttonArray; let i = index\"\n [ngTemplateOutlet]=\"buttonRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"${counter}.createCustomInjector('mobile_' + i, {item:item, index:i})\">\n </ng-container>\n </header>\n <div class=\"form-elements panel-body\" >`;\n }\n\n tmpl = getAttrMarkup(attrs);\n const dependsOnTmpl = dependsOn ? `<div ${dependsOn}>` : '';\n return `${dependsOnTmpl}${liveFormTmpl} ${tmpl}>\n ${buttonTemplate} ${mobileFormContentTmpl}`;\n },\n post: (attrs) => {\n if (attrs.get('formlayout') === 'dialog') {\n return '</form></ng-template></div></div>';\n }\n if (attrs.get('formlayout') === 'page') {\n return `</div></${tagName}>`;\n }\n if(attrs.get('dependsontable')) {\n return `</${tagName}></div>`;\n }\n return `</${tagName}>`;\n },\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('form_reference', shared.get('counter'));\n return provider;\n }\n };\n};\n\nregister('wm-form', buildTask);\nregister('wm-liveform', () => buildTask('wmLiveForm'));\nregister('wm-livefilter', () => buildTask('wmLiveFilter'));\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-calendar', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n let viewType = attrs.get('view') ? attrs.get('view') + ' view' : 'month view';\n return `<${tagName} wmCalendar redrawable style=\"width:100%\" aria-label=\"${viewType}\" ${getAttrMarkup(attrs)}>`\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'ul';\n\nregister('wm-chips', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmChips role=\"listbox\" ${getAttrMarkup(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-colorpicker', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmColorPicker ${getAttrMarkup(attrs)} role=\"input\" ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-currency', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCurrency ${getAttrMarkup(attrs)} role=\"input\" ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-buttongroup', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmButtonGroup role=\"group\" aria-labelledby=\"button group\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'button';\nconst idGen = new IDGenerator('wm_button');\n\nregister('wm-button', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmButton #${counter}=\"wmButton\" [attr.aria-label]=\"${counter}.hint || ${counter}.caption || null\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-checkbox', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCheckbox ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'ul';\n\nregister('wm-checkboxset', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} role=\"group\" wmCheckboxset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, setChildAttrs, clearChildAttrs, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-composite', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmComposite wmCaptionPosition ${setChildAttrs(attrs)} ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}${clearChildAttrs()}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\n\nimport { getFormMarkupAttr,getChildAttrs , IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-number', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmNumber ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\n\nconst tagName = 'ul';\n\nregister('wm-radioset', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} role=\"radiogroup\" wmRadioset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\n\nconst tagName = 'wm-select';\n\nregister('wm-select', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import {getNgModelAttr, IDGenerator} from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_switch');\n\nregister('wm-switch', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return`<${tagName} wmSwitch #${counter}=\"wmSwitch\" [attr.aria-label]=\"${counter}.hint || 'Switch button'\" ${getFormMarkupAttr(attrs)} ${getNgModelAttr(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, getChildAttrs, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'wm-input';\n\nregister('wm-text', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, getChildAttrs, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'wm-textarea';\n\nregister('wm-textarea', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-datetime', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmDateTime ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-date', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmDate ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-time', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTime ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, getDataSource, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-fileupload', (): IBuildTaskDef => {\n return {\n pre: attrs => {\n if (attrs.get('select.event')) {\n const onSelectBinding = getDataSource(attrs.get('select.event'));\n attrs.set('datasource.bind', onSelectBinding);\n }\n return `<${tagName} wmFileUpload ${getAttrMarkup(attrs)} role=\"input\">`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-rating', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmRating ${getFormMarkupAttr(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-slider', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmSlider ${getAttrMarkup(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element } from '@angular/compiler';\n\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst wmlistTag = 'wm-list';\nconst tagName = 'div';\nconst dataSetKey = 'dataset';\n\nfunction copyAttribute(from: Element, fromAttrName: string, to: Element, toAttrName: string) {\n const fromAttr = from.attrs.find( a => a.name === fromAttrName);\n if (fromAttr) {\n to.attrs.push(new Attribute(toAttrName, fromAttr.value, fromAttr.sourceSpan, fromAttr.keySpan, fromAttr.valueSpan, undefined, undefined));\n }\n}\n\nregister('wm-media-list', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n let bindDataset;\n const attrObj = node.attrs.find(attr => attr.name === dataSetKey),\n /**\n * Replacing binded property value with item\n * @param children\n */\n replaceBind = (children = []) => {\n children.forEach(childNode => {\n if (childNode.name) {\n // return if the child Element is of wm-list .\n if (childNode.name !== wmlistTag) {\n childNode.attrs.forEach((attr) => {\n if (attr.value.startsWith(`bind:${bindDataset}.data[$i]`)) {\n attr.value = attr.value.replace(`${bindDataset}.data[$i]`, 'item');\n } else if (attr.value.startsWith(`bind:${bindDataset}`)) {\n attr.value = attr.value.replace(bindDataset, 'item');\n }\n });\n replaceBind(childNode.children);\n }\n }\n });\n };\n if (attrObj && attrObj.value.startsWith('bind:')) {\n bindDataset = attrObj.value.replace('bind:', '');\n }\n if (bindDataset) {\n replaceBind(node.children);\n }\n const template = <Element> node.children\n .find(e => e instanceof Element && (<Element> e).name === 'wm-media-template');\n if (template != null) {\n copyAttribute(template, 'width', node, 'thumbnailwidth');\n copyAttribute(template, 'height', node, 'thumbnailheight');\n }\n },\n pre: attrs => `<${tagName} wmMediaList ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'ng-template';\n\nregister('wm-media-template', (): IBuildTaskDef => {\n return {\n pre: () => `<${tagName} #mediaListTemplate let-item=\"item\" let-index=\"index\">`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element } from '@angular/compiler';\nimport { updateTemplateAttrs } from '@wm/core';\n\nimport { getAttrMarkup, getBoundToExpr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst wmListTag = 'wm-list';\nconst listTagName = 'div';\nconst dataSetKey = 'dataset';\n\nregister(wmListTag, (): IBuildTaskDef => {\n return {\n requires: ['wm-form', 'wm-liveform'],\n template: (node: Element) => {\n\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value, 'itemRef.');\n },\n pre: (attrs, shared, parentForm, parentLiveForm) => {\n const parent = parentForm || parentLiveForm;\n shared.set('form_reference', parent && parent.get('form_reference'));\n return `<${listTagName} wmList wmLiveActions ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${listTagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('parent_form_reference', shared.get('form_reference'));\n return provider;\n }\n };\n});\n\nregister('wm-listtemplate', (): IBuildTaskDef => {\n return {\n pre: () => `<ng-template #listTemplate let-item=\"item\" let-$index=\"$index\" let-itemRef=\"itemRef\" let-$first=\"$first\" let-$last=\"$last\" let-currentItemWidgets=\"currentItemWidgets\" >`,\n post: () => `</ng-template>`\n };\n});\n\nfunction copyAttribute(from: Element, fromAttrName: string, to: Element, toAttrName: string) {\n const fromAttr = from.attrs.find( a => a.name === fromAttrName);\n if (fromAttr) {\n to.attrs.push(new Attribute(toAttrName, fromAttr.value, fromAttr.sourceSpan, fromAttr.keySpan, fromAttr.valueSpan, undefined, undefined));\n }\n}\n\nregister('wm-list-action-template', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n\n const position = node.attrs.find(attr => attr.name === 'position').value;\n\n const btns = <Element[]> node.children\n .filter(e => e instanceof Element && (<Element> e).name === 'wm-button');\n\n // add swipe-position on button nodes to identify whether buttons are from left or right action templates\n btns.forEach((btnNode) => {\n copyAttribute(node, 'position', btnNode, 'swipe-position');\n });\n },\n pre: (attrs, el) => {\n if (attrs.get('position') === 'left') {\n return `<ng-template #listLeftActionTemplate>\n <li class=\"app-list-item-action-panel app-list-item-left-action-panel actionMenu\" ${getAttrMarkup(attrs)}>`;\n }\n if (attrs.get('position') === 'right') {\n return `<ng-template #listRightActionTemplate>\n <li class=\"app-list-item-action-panel app-list-item-right-action-panel actionMenu\" ${getAttrMarkup(attrs)}>`;\n }\n },\n post: () => `</li></ng-template>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { IDGenerator } from '@wm/core';\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('liveform_dialog_id_');\n\nregister('wm-livetable', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n const counter = idGen.nextUid();\n shared.set('counter', counter);\n return `<${tagName} wmLiveTable ${getAttrMarkup(attrs)} dialogid=\"${counter}\">`;\n },\n post: () => `</${tagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('liveform_dialog_id', shared.get('counter'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'p';\nconst idGen = new IDGenerator('wm_message');\n\nregister('wm-message', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmMessage tabindex=\"0\" #${counter}=\"wmMessage\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'ol';\n\nregister('wm-breadcrumb', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmBreadcrumb ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-menu', (): IBuildTaskDef => {\n return {\n pre: attrs => {\n const menuWidth = attrs.get(\"width\");\n let styleBinding = '';\n if(menuWidth){\n const units = ['%', 'px'];\n const hasUnit = units.some(unit => menuWidth.includes(unit));\n if(hasUnit){\n styleBinding = `[ngStyle]=\"{'width': '${menuWidth}'}\"`;\n }\n else{\n styleBinding = `[ngStyle]=\"{'width': '${menuWidth}px'}\"`;\n }\n\n return `<${tagName} wmMenu dropdown ${getAttrMarkup(attrs)} ${styleBinding}>`\n } \n else{ \n return `<${tagName} wmMenu dropdown ${getAttrMarkup(attrs)}>`\n }\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'li';\n\nregister('wm-nav-item', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmNavItem role=\"listitem\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'ul';\n\nregister('wm-nav', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmNav data-element-type=\"wmNav\" data-role=\"page-header\" role=\"list\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'nav';\n\nregister('wm-navbar', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmNavbar data-element-type=\"wmNavbar\" role=\"navigation\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'wm-popover';\n\nregister('wm-popover', (): IBuildTaskDef => {\n return {\n requires: ['wm-table'],\n pre: (attrs: Map<string, string>, shared: Map<string, any>, table) => {\n const contentSource = attrs.get('contentsource');\n let popoverTemplate;\n if (contentSource !== 'inline') {\n const content = attrs.get('content');\n const bindContent = attrs.get('content.bind');\n\n let contentMarkup = '';\n\n if (content) {\n contentMarkup = `content=\"${content}\"`;\n } else if (bindContent) {\n contentMarkup = `content.bind=\"${bindContent}\"`;\n }\n\n popoverTemplate = `<div wmContainer #partial partialContainer ${contentMarkup}>`;\n shared.set('hasPopoverContent', true);\n }\n\n let markup = `<${tagName} wmPopover ${getAttrMarkup(attrs)}>`;\n const contextAttrs = table ? `let-row=\"row\"` : ``;\n\n markup += `<ng-template ${contextAttrs}><div tabindex=\"0\" class=\"popover-start sr-only\" aria-label=\"\">popover content start</div>`;\n\n // todo keyboard navigation - tab\n if (popoverTemplate) {\n markup += `${popoverTemplate ? popoverTemplate : ''}`;\n }\n\n return markup;\n },\n post: (attrs: Map<string, string>, shared: Map<string, any>) => {\n let markup = '';\n if (shared.get('hasPopoverContent')) {\n markup += `</div>`;\n }\n\n return `${markup}<div tabindex=\"0\" class=\"popover-end sr-only\" aria-label=\"\">popover content ended</div></ng-template></${tagName}>`;\n }\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, ParseSourceSpan, Text } from '@angular/compiler';\n\nimport {IDGenerator, isMobileApp} from '@wm/core';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {forEach} from \"lodash-es\";\n\nconst tagName = 'div';\n\nconst findChild = (node: Element, childName: string): Element => {\n const child = node && node.children.find(e => (e instanceof Element && (e as Element).name === childName));\n return child as Element;\n};\n\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\n\nconst getElementNode = (name, node) => {\n let elementNode;\n if (!node) {\n return;\n }\n forEach(node.children, (child) => {\n if (child instanceof Element) {\n if ((child as Element).name === name) {\n elementNode = child;\n } else if (child.children) {\n elementNode = getElementNode(name, child);\n }\n }\n return !elementNode;\n });\n return elementNode;\n};\n\nconst noSpan = ({} as ParseSourceSpan);\nconst idGen = new IDGenerator('wm_page');\n\nregister('wm-page', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n let pageContentNode = findChild(findChild(node, 'wm-content'), 'wm-page-content');\n if (!pageContentNode) {\n pageContentNode = getElementNode('wm-page-content', getElementNode('wm-content', node));\n }\n if (pageContentNode) {\n const conditionalNode = createElement('ng-container');\n addAtrribute(conditionalNode, '*ngIf', 'compilePageContent');\n conditionalNode.children = conditionalNode.children.concat(pageContentNode.children);\n conditionalNode.children.push(new Text('{{onPageContentReady()}}', null, undefined, undefined));\n pageContentNode.children = [conditionalNode];\n if (isMobileApp()) {\n const loader = createElement('div');\n addAtrribute(loader, 'wmPageContentLoader', '');\n addAtrribute(loader, '*ngIf', '!showPageContent');\n pageContentNode.children.push(loader);\n }\n }\n },\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmPage #${counter}=\"wmPage\" data-role=\"pageContainer\" [attr.aria-label]=\"${counter}.hint\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { IDGenerator } from '@wm/core';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nconst idGen = new IDGenerator('wm_layout');\n\nregister('wm-layout', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmLayout #${counter}=\"wmLayout\" data-role=\"pageContainer\" [attr.aria-label]=\"${counter}.hint || 'Main page content'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'router-outlet';\n\nregister('wm-router-outlet', (): IBuildTaskDef => {\n return {\n pre: attrs => `<div wmRouterOutlet name=\"wmRouterOutlet\" ${getAttrMarkup(attrs)}><${tagName} (activate)=\"onActivate($event)\">`,\n post: () => `</${tagName}></div>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'nav';\n\nregister('wm-pagination', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmPagination data-identifier=\"pagination\" aria-label=\"Page navigation\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'main';\n\nregister('wm-content', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmContent data-role=\"page-content\" role=\"main\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'footer';\nconst idGen = new IDGenerator('wm_footer');\n\nregister('wm-footer', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmFooter #${counter}=\"wmFooter\" partialContainer data-role=\"page-footer\" role=\"contentinfo\" [attr.aria-label]=\"${counter}.hint || 'Page footer'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'header';\nconst idGen = new IDGenerator('wm_header');\n\nregister('wm-header', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmHeader #${counter}=\"wmHeader\" partialContainer data-role=\"page-header\" role=\"banner\" [attr.aria-label]=\"${counter}.hint || 'Page header'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'aside';\nconst idGen = new IDGenerator('wm_left_panel');\n\nregister('wm-left-panel', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmLeftPanel #${counter}=\"wmLeftPanel\" partialContainer data-role=\"page-left-panel\" [attr.aria-label]=\"${counter}.hint || 'Left navigation panel'\" wmSmoothscroll=\"${attrs.get('smoothscroll') || 'false'}\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'header';\n\nregister('wm-mobile-navbar', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmMobileNavbar ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'aside';\nconst idGen = new IDGenerator('wm_right_panel');\n\nregister('wm-right-panel', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmRightPanel #${counter}=\"wmRightPanel\" partialContainer data-role=\"page-right-panel\" role=\"complementary\" [attr.aria-label]=\"${counter}.hint || 'Right navigation panel'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { Attribute, Element, ParseSourceSpan, Text } from \"@angular/compiler\";\n\nconst tagName = 'div';\n\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\n\nconst noSpan = ({} as ParseSourceSpan);\n\nregister('wm-page-content', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n for(let attr of node.attrs) {\n if(attr.name === 'spa' && attr.value === 'true') {\n const conditionalNode = createElement('ng-container');\n addAtrribute(conditionalNode, '*ngIf', 'compilePageContent');\n conditionalNode.children = conditionalNode.children.concat(node.children);\n conditionalNode.children.push(new Text('{{onPageContentReady()}}', null, undefined, undefined));\n node.children = [conditionalNode];\n break;\n }\n }\n },\n pre: attrs => `<${tagName} wmPageContent ${attrs.get('spa') && 'wmSpaPage' || ''} wmSmoothscroll=\"${attrs.get('smoothscroll') || 'false'}\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-mobile-tabbar', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmMobileTabbar ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'section';\nconst idGen = new IDGenerator('wm_top_nav');\n\nregister('wm-top-nav', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmTopNav #${counter}=\"wmTopNav\" partialContainer data-role=\"page-topnav\" role=\"navigation\" [attr.aria-label]=\"${counter}.hint || 'Second level navigation'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, ParseSourceSpan } from '@angular/compiler';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'section';\nconst noSpan = ({} as ParseSourceSpan);\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\nregister('wm-partial', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n const conditionalNode = createElement('ng-container');\n addAtrribute(conditionalNode, '*ngIf', 'compileContent');\n conditionalNode.children = conditionalNode.children.concat(node.children);\n node.children.length = 0;\n node.children.push(conditionalNode);\n },\n pre: attrs => `<${tagName} wmPartial data-role=\"partial\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-param', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmParam hidden ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, register } from '@wm/transpiler';\n\nconst tagName = 'section';\n\nregister('wm-prefab', () => {\n return {\n pre: attrs => `<${tagName} wmPrefab redrawable data-role=\"prefab\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, ParseSourceSpan } from '@angular/compiler';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\n\nconst noSpan = ({} as ParseSourceSpan);\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\nconst tagName = 'div';\n\nregister('wm-prefab-container', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n const conditionalNode = createElement('ng-container');\n addAtrribute(conditionalNode, '*ngIf', 'compileContent');\n conditionalNode.children = conditionalNode.children.concat(node.children);\n node.children.length = 0;\n node.children.push(conditionalNode);\n },\n pre: attrs => `<${tagName} wmPrefabContainer ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-table-action', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} name=\"${attrs.get('name') || attrs.get('key')}\" wmTableAction ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-table-column-group', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTableColumnGroup ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, Text } from '@angular/compiler';\n\nimport { DataType, FormWidgetType, getFormWidgetTemplate, getRequiredFormWidget, IDGenerator, isDateTimeType, checkIsCustomPipeExpression } from '@wm/core';\nimport {getAttrMarkup, getDataSource, IBuildTaskDef, ImportDef, register} from '@wm/transpiler';\n\nimport { EDIT_MODE, getDataTableFilterWidget, getEditModeWidget } from '../../../utils/utils';\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('data_table_form_');\nconst formWidgets = new Set([\n 'wm-text',\n 'wm-textarea',\n 'wm-checkbox',\n 'wm-slider',\n 'wm-currency',\n 'wm-switch',\n 'wm-select',\n 'wm-checkboxset',\n 'wm-radioset',\n 'wm-date',\n 'wm-time',\n 'wm-timestamp',\n 'wm-rating',\n 'wm-datetime',\n 'wm-search',\n 'wm-chips',\n 'wm-colorpicker'\n]);\n\n// Add ngModelOptions standalone true as inner custom form widgets will be not part of table ngform\nconst addNgModelStandalone = (children = []) => {\n let formControlAttr = [];\n children.forEach(childNode => {\n if (formWidgets.has(childNode.name)) {\n // angular build is failing when formControlName is undefined for checkbox and mgModelOptions attr is present\n if (childNode.name === 'wm-checkbox') {\n formControlAttr = childNode.attrs.filter(function(attr) {\n return attr.name === 'formControlName';\n });\n if (formControlAttr.length) {\n return;\n }\n }\n childNode.attrs.push(new Attribute('[ngModelOptions]', '{standalone: true}', <any>1, <any>1, <any>1, undefined, undefined));\n }\n addNgModelStandalone(childNode.children);\n });\n};\n\n// get the filter template (widget and filter menu) to be displayed in filter row\nconst getFilterTemplate = (attrs, pCounter) => {\n const widget = attrs.get('filterwidget') || getDataTableFilterWidget(attrs.get('type') || DataType.STRING);\n const fieldName = attrs.get('binding');\n const type = attrs.get('type') || 'string';\n let datasourceBinding, submitEventBinding;\n const datasetAttr = attrs.get('filterdataset.bind');\n // when multicolumn is selected and filterwidget as autocomplete is assigned to dataset.\n if (attrs.get('filterwidget') === 'autocomplete') {\n if (datasetAttr) {\n const binddatasource = getDataSource(datasetAttr);\n datasourceBinding = `dataset.bind=\"${datasetAttr}\" datasource.bind=\"${binddatasource}\"`;\n }\n submitEventBinding = `submit.event=\"changeFn('${fieldName}')\"`;\n }\n const innerTmpl = `#filterWidget formControlName=\"${fieldName + '_filter'}\" ${datasourceBinding} ${submitEventBinding} change.event=\"changeFn('${fieldName}')\"\n disabled.bind=\"isDisabled('${fieldName}')\"`;\n const options = {inputType: 'filterinputtype'} ;\n const widgetTmpl = `${getFormWidgetTemplate(widget, innerTmpl, attrs, options)}`;\n\n return `<ng-template #filterTmpl let-changeFn=\"changeFn\" let-isDisabled=\"isDisabled\">\n <div class=\"input-group ${widget}\" data-col-identifier=\"${fieldName}\">\n ${widgetTmpl}\n <span class=\"input-group-addon filter-clear-icon\" *ngIf=\"${pCounter}.showClearIcon('${fieldName}')\">\n <button class=\"btn-transparent btn app-button\" aria-label=\"Clear button\" type=\"button\" (click)=\"${pCounter}.clearRowFilter('${fieldName}')\">\n <i class=\"app-icon wi wi-clear\" aria-hidden=\"true\"></i>\n </button>\n </span>\n <span class=\"input-group-addon\" dropdown container=\"body\" (onShown)=\"${pCounter}.adjustContainer('${fieldName}');\">\n <button class=\"btn-transparent btn app-button\" type=\"button\" dropdownToggle><i class=\"app-icon wi wi-filter-list\"></i></button>\n <ul class=\"matchmode-dropdown dropdown-menu\" *dropdownMenu>\n <li *ngFor=\"let matchMode of ${pCounter}.matchModeTypesMap['${type}']\"\n [ngClass]=\"{active: matchMode === (${pCounter}.rowFilter['${fieldName}'].matchMode || ${pCounter}.matchModeTypesMap['${type}'][0])}\">\n <a href=\"javascript:void(0);\" (click)=\"${pCounter}.onFilterConditionSelect('${fieldName}', matchMode)\" [innerText]=\"${pCounter}.matchModeMsgs[matchMode]\"></a>\n </li>\n </ul>\n </span>\n </div></ng-template>`;\n};\n\nconst getEventsTmpl = attrs => {\n let tmpl = '';\n attrs.forEach((val, key) => {\n if (key.endsWith('.event')) {\n tmpl += `${key}=\"${val}\" `;\n }\n });\n return tmpl;\n};\n\n// Generate inline edit properties template. Properties requiring row instance are generated here.\nconst getInlineEditRowPropsTmpl = attrs => {\n const propAttrs = new Map();\n const props = ['disabled', 'disabled.bind'];\n props.forEach(prop => {\n if (attrs.get(prop)) {\n propAttrs.set(prop, attrs.get(prop));\n attrs.delete(prop);\n }\n });\n return getAttrMarkup(propAttrs);\n};\n\n// get the inline widget template\nconst getInlineEditWidgetTmpl = (attrs, isNewRow, errorstyle, pCounter?) => {\n const options: any = {};\n const fieldName = attrs.get('binding');\n const widget = attrs.get('edit-widget-type') || getEditModeWidget({\n 'type': attrs.get('type'),\n 'related-entity-name': attrs.get('related-entity-name'),\n 'primary-key': attrs.get('primary-key')\n });\n let widgetRef = '';\n let formControl = '';\n let wmFormWidget = '';\n if (widget === FormWidgetType.UPLOAD) {\n options.uploadProps = {\n formName: idGen.nextUid(),\n name: fieldName\n };\n options.counter = pCounter;\n } else {\n widgetRef = isNewRow ? '#inlineWidgetNew' : '#inlineWidget';\n formControl = isNewRow ? `formControlName=\"${fieldName}_new\"` : `formControlName=\"${fieldName}\"`;\n wmFormWidget = 'wmFormWidget';\n }\n options.inputType = 'editinputtype';\n const tmplRef = isNewRow ? '#inlineWidgetTmplNew' : '#inlineWidgetTmpl';\n const eventsTmpl = widget === FormWidgetType.UPLOAD ? '' : getEventsTmpl(attrs);\n const rowPropsTl = getInlineEditRowPropsTmpl(attrs);\n const innerTmpl = `${widgetRef} ${wmFormWidget} key=\"${fieldName}\" data-field-name=\"${fieldName}\" ${formControl} ${eventsTmpl} ${rowPropsTl}`;\n const widgetTmpl = getFormWidgetTemplate(widget, innerTmpl, attrs, options);\n const pendingSpinnerStatus = isNewRow ? 'getPendingSpinnerStatusNew' : 'getPendingSpinnerStatus';\n const validationErrorTmpl = getValiationErrorTemplate(errorstyle);\n /* This element with error message is used to run Automation checks if any error message is present */\n const errorMsgElementForAutomation = '<span class=\"sr-only\" *ngIf=\"getValidationMessage()\">{{getValidationMessage()}}</span>';\n\n return `<ng-template ${tmplRef} let-row=\"row\" let-getControl=\"getControl\" let-getValidationMessage=\"getValidationMessage\" let-${pendingSpinnerStatus}=\"${pendingSpinnerStatus}\">\n <div data-col-identifier=\"${fieldName}\" >\n ${widgetTmpl}\n ${validationErrorTmpl}\n <div class=\"overlay\" *ngIf=\"${pendingSpinnerStatus}()\"><span aria-hidden=\"true\" class=\"form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback\"></span></div>\n ${errorMsgElementForAutomation}\n </div>\n </ng-template>`;\n};\n\nconst getValiationErrorTemplate = (errorTmplType) => {\n let validationErrorTmpl = '';\n switch (errorTmplType) {\n case 'bottom':\n validationErrorTmpl = `<span class=\"help-block text-danger\" *ngIf=\"getValidationMessage() && getControl() && getControl().invalid && getControl().touched\">{{getValidationMessage()}}</span>`;\n break;\n case 'hover':\n default:\n validationErrorTmpl = `<span placement=\"top\" container=\"body\" tooltip=\"{{getValidationMessage()}}\" class=\"text-danger wi wi-error\"\n *ngIf=\"getValidationMessage() && getControl() && getControl().invalid && getControl().touched\">\n </span>`;\n }\n return validationErrorTmpl;\n}\n\nconst getFormatExpression = (attrs) => {\n const columnValue = `row.getProperty('${attrs.get('binding')}')`;\n let formatPattern = attrs.get('custompipeformat') || attrs.get('formatpattern');\n let colExpression = '';\n // For date time data types, if format pattern is not applied, Apply default toDate format\n if (isDateTimeType(attrs.get('type')) && (!formatPattern || formatPattern === 'None')) {\n attrs.set('formatpattern', 'toDate');\n attrs.delete('datepattern');\n formatPattern = 'toDate';\n }\n switch (formatPattern) {\n case 'toDate':\n colExpression = `{{${columnValue} | toDate: colDef.datepattern}}`;\n break;\n case 'toCurrency':\n if (attrs.get('currencypattern')) {\n colExpression = `{{${columnValue} | toCurrency: '${attrs.get('currencypattern')}`;\n\n if (attrs.get('fractionsize')) {\n colExpression += `': ${attrs.get('fractionsize')}}}`;\n } else {\n colExpression += `'}}`;\n }\n }\n break;\n case 'numberToString':\n if (attrs.get('fractionsize')) {\n colExpression = `{{${columnValue} | numberToString: '${attrs.get('fractionsize')}'}}`;\n }\n break;\n case 'stringToNumber':\n colExpression = `{{${columnValue} | stringToNumber}}`;\n break;\n case 'timeFromNow':\n colExpression = `{{${columnValue} | timeFromNow}}`;\n break;\n case 'prefix':\n if (attrs.get('prefix')) {\n colExpression = `{{${columnValue} | prefix: '${attrs.get('prefix')}'}}`;\n }\n break;\n case 'suffix':\n if (attrs.get('suffix')) {\n colExpression = `{{${columnValue} | suffix: '${attrs.get('suffix')}'}}`;\n }\n break;\n default:\n if(checkIsCustomPipeExpression(formatPattern)){\n colExpression = `{{${columnValue} | ${formatPattern} : ${`row`}}}` ;\n }\n\n break;\n }\n return colExpression;\n};\n\nregister('wm-table-column', (): IBuildTaskDef => {\n return {\n requires: ['wm-table'],\n template: (node: Element, shared) => {\n if (node.children.length) {\n // If node has children, but an empty text node dont generate custom expression\n if (node.children.length === 1 && node.children[0] instanceof Text && (node.children[0] as Text).value.trim().length === 0) {\n return;\n }\n shared.set('customExpression', true);\n addNgModelStandalone(node.children);\n }\n },\n pre: (attrs, shared, parentTable) => {\n let rowFilterTmpl = '';\n let inlineEditTmpl = '';\n let inlineNewEditTmpl = '';\n let parentForm = '';\n if (parentTable) {\n const pCounter = parentTable.get('table_reference');\n rowFilterTmpl = (parentTable.get('filtermode') === 'multicolumn' && attrs.get('searchable') !== 'false') ? getFilterTemplate(attrs, pCounter) : '';\n const editMode = parentTable.get('editmode');\n const isInlineEdit = (editMode !== EDIT_MODE.DIALOG && editMode !== EDIT_MODE.FORM && attrs.get('readonly') !== 'true');\n inlineEditTmpl = isInlineEdit ? getInlineEditWidgetTmpl(attrs, false, parentTable.get('errorstyle'), pCounter) : '';\n inlineNewEditTmpl = isInlineEdit && editMode === EDIT_MODE.QUICK_EDIT && parentTable.get('shownewrow') !== 'false' ? getInlineEditWidgetTmpl(attrs, true, attrs.get('errorstyle')) : '';\n parentForm = ` [formGroup]=\"${pCounter}.ngform\" `;\n }\n const formatPattern = attrs.get('formatpattern');\n const customExpr = `<ng-template #customExprTmpl let-row=\"row\" let-colDef=\"colDef\" let-editRow=\"editRow\" let-deleteRow=\"deleteRow\" let-addNewRow=\"addNewRow\">`;\n let customExprTmpl = '';\n let formatExprTmpl = '';\n\n if (shared.get('customExpression')) {\n attrs.set('customExpression', 'true');\n customExprTmpl = `${customExpr}<div data-col-identifier=\"${attrs.get('binding')}\">`;\n } else if ((formatPattern && formatPattern !== 'None') || isDateTimeType(attrs.get('type'))) {\n formatExprTmpl = getFormatExpression(attrs);\n if (formatExprTmpl) {\n shared.set('customExpression', true);\n attrs.set('customExpression', 'true');\n customExprTmpl = `${customExpr}<div data-col-identifier=\"${attrs.get('binding')}\" title=\"${formatExprTmpl}\">${formatExprTmpl}`;\n }\n }\n\n return `<${tagName} wmTableColumn ${getAttrMarkup(attrs)} ${parentForm}>\n ${rowFilterTmpl}\n ${inlineEditTmpl}\n ${inlineNewEditTmpl}\n ${customExprTmpl}`;\n },\n post: (attrs, shared) => {\n let customExprTmpl = '';\n\n if (shared.get('customExpression')) {\n customExprTmpl = `</div></ng-template>`;\n }\n return `${customExprTmpl}</${tagName}>`;\n },\n imports: (attrs: Map<String, String>): string[] => {\n const editWidgetType = attrs.get('edit-widget-type');\n const filterWidgetType = attrs.get('filterwidget') || getDataTableFilterWidget(attrs.get('type') || DataType.STRING);\n return [getRequiredFormWidget(editWidgetType), getRequiredFormWidget(filterWidgetType), 'wm-table'];\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getRowActionAttrs } from '@wm/core';\n\nconst tagName = 'div';\n\nconst getRowExpansionActionTmpl = (attrs) => {\n const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';\n const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';\n const title = attrs.get('display-name') || attrs.get('title') || 'Collapse/Expand';\n return `<ng-template #rowExpansionActionTmpl let-row=\"row\">\n <${tag} ${directive}\n ${getRowActionAttrs(attrs)}\n class=\"${attrs.get('class')} row-expansion-button\"\n iconclass=\"${attrs.get('collapseicon')}\"\n type=\"button\" aria-label=\"${title}\"></${tag}>\n </ng-template>`;\n};\n\nregister('wm-table-row', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n return `<${tagName} wmTableRow ${getAttrMarkup(attrs)}>\n ${getRowExpansionActionTmpl(attrs)}\n <ng-template #rowExpansionTmpl let-row=\"row\" let-rowDef=\"rowDef\" let-containerLoad=\"containerLoad\">\n <div wmContainer partialContainer content.bind=\"rowDef.content\" load.event=\"containerLoad(widget)\"\n [ngStyle]=\"{'height': rowDef.height, 'overflow-y': 'auto'}\">\n <div *ngFor=\"let param of rowDef.partialParams | keyvalue\" wmParam hidden\n [name]=\"param.key\" [value]=\"param.value\"></div>`;\n },\n post: () => `</div></ng-template></${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getRowActionAttrs } from '@wm/core';\n\nconst tagName = 'div';\n\nconst getSaveCancelTemplate = () => {\n return `<button type=\"button\" aria-label=\"Save edit icon\" class=\"save row-action-button btn app-button btn-transparent save-edit-row-button hidden\" title=\"Save\">\n <i class=\"wi wi-done\" aria-hidden=\"true\"></i>\n </button>\n <button type=\"button\" aria-label=\"Cancel edit icon\" class=\"cancel row-action-button btn app-button btn-transparent cancel-edit-row-button hidden\" title=\"Cancel\">\n <i class=\"wi wi-cancel\" aria-hidden=\"true\"></i>\n </button>`;\n};\n\n// get the inline widget template\nconst getRowActionTmpl = (attrs) => {\n const action = attrs.get('action');\n const actionTmpl = action ? ` click.event.delayed=\"${action}\" ` : '';\n const saveCancelTmpl = action && action.includes('editRow(') ? getSaveCancelTemplate() : '';\n const btnClass = action ? (action.includes('editRow(') ? 'edit edit-row-button' :\n (action.includes('deleteRow(') ? 'delete delete-row-button' : '')) : '';\n const tabIndex = attrs.get('tabindex') ? `tabindex=\"${attrs.get('tabindex')}\"` : '';\n const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';\n const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';\n return `<ng-template #rowActionTmpl let-row=\"row\">\n <${tag} ${directive} data-action-key=\"${attrs.get('key')}\"\n ${getRowActionAttrs(attrs)}\n class=\"row-action row-action-button ${attrs.get('class')} ${btnClass}\"\n iconclass=\"${attrs.get('iconclass')}\"\n ${actionTmpl}\n ${tabIndex}\n type=\"button\"></${tag}>\n ${saveCancelTmpl}\n </ng-template>`;\n};\n\nregister('wm-table-row-action', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTableRowAction ${getAttrMarkup(attrs)}>\n ${getRowActionTmpl(attrs)}`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element } from '@angular/compiler';\n\nimport { IDGenerator, updateTemplateAttrs } from '@wm/core';\nimport { getAttrMarkup, getBoundToExpr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\nconst dataSetKey = 'dataset';\nconst idGen = new IDGenerator('table_');\nlet columnIndex = 0;\n\n/**\n * This method assigns index to the table-column and column-groups in order to the maintain the columns in the same order\n * as specified in the configuration.\n * Scenario: ordering the columns when accessrole is specified on column.\n *\n * headerIndex: ID | Name | Street | ==> top level header (ID has index 0, Name 1, Street 2)\n * index: ---- | fname | lname | --- | ==> sub level header ( ID 0, fname 1, lname 2, Street 3)\n * fname will have headerIndex as 1 and colIndex as 1. lname will have headerIndex as 1 and columnIndex as 2.\n * If suppose we have a group in the sub-level-header, then col index will be treated as the header index.\n *\n */\nfunction assignColumnIndex(node, parentIndex?: number) {\n let headerIndex = 0;\n node.forEach((childNode) => {\n const nodeName = (<any>childNode).name;\n const newheaderIndex = parentIndex !== undefined ? parentIndex : headerIndex;\n if (nodeName === 'wm-table-column' || nodeName === 'wm-table-column-group') {\n (childNode as any).attrs.push(new Attribute('index', '' + columnIndex, <any>1, <any>1, <any>1, undefined, undefined));\n (childNode as any).attrs.push(new Attribute('headerIndex', '' + newheaderIndex, <any>1, <any>1, <any>1, undefined, undefined));\n if (nodeName === 'wm-table-column-group') {\n assignColumnIndex(childNode.children, headerIndex);\n }\n columnIndex++;\n headerIndex++;\n }\n });\n}\n\nregister('wm-table', (): IBuildTaskDef => {\n return {\n template: (node: Element, shared) => {\n // If table does not have child columns, set isdynamictable to true\n if (node.children.length) {\n const isColumnsPresent = node.children.some(childNode => {\n return (<any>childNode).name === 'wm-table-column' || (<any>childNode).name === 'wm-table-column-group';\n });\n assignColumnIndex(node.children);\n shared.set('isdynamictable', isColumnsPresent ? 'false' : 'true');\n // If table have row expansion enabled, set isrowexpansionenabled to true\n const isRowsPresent = node.children.some(childNode => {\n return (<any>childNode).name === 'wm-table-row';\n });\n shared.set('isrowexpansionenabled', isRowsPresent ? 'true' : 'false');\n } else {\n shared.set('isdynamictable', 'true');\n }\n\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value, '', 'row');\n },\n pre: (attrs, shared) => {\n const counter = idGen.nextUid();\n shared.set('counter', counter);\n attrs.set('isdynamictable', shared.get('isdynamictable'));\n attrs.set('isrowexpansionenabled', shared.get('isrowexpansionenabled'));\n attrs.set('table_reference', counter);\n return `<${tagName} wmTable=\"${counter}\" wmTableFilterSort wmTableCUD #${counter} data-identifier=\"table\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('table_reference', shared.get('counter'));\n provider.set('filtermode', attrs.get('filtermode'));\n provider.set('errorstyle', attrs.get('errorstyle'));\n provider.set('editmode', attrs.get('editmode'));\n provider.set('shownewrow', attrs.get('shownewrow'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-video', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmVideo ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\nconst SPACING_KEY = 'parentLinearLayout.spacing';\nregister('wm-linearlayout', (): IBuildTaskDef => {\n return {\n requires: ['wm-linearlayout'],\n pre: (attrs, shared, provider) => {\n let spacing = attrs.get('spacing');\n attrs.set('spacing',\n (!spacing || spacing === '0') && provider ? provider.get(SPACING_KEY) : spacing);\n return `<${tagName} wmLinearLayout ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set(SPACING_KEY, attrs.get('spacing'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-linearlayoutitem', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLinearLayoutItem ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_custom_widget');\n\nregister('wm-custom-widget', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmWidgetContainer customWidgetContainer #${counter}=\"wmWidgetContainer\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, ParseSourceSpan } from '@angular/compiler';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'section';\nconst noSpan = ({} as ParseSourceSpan);\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\nregister('wm-custom-widget-container', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n const conditionalNode = createElement('ng-container');\n // addAtrribute(conditionalNode, '*ngIf', 'compileContent');\n conditionalNode.children = conditionalNode.children.concat(node.children);\n node.children.length = 0;\n node.children.push(conditionalNode);\n },\n pre: attrs => `<${tagName} wmCustomWidget data-role=\"widget\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","export * as carouselBuild from './advanced/carousel/carousel.build';\nexport * as carouselTemplateBuild from './advanced/carousel/carousel-template/carousel-template.build';\nexport * as loginBuild from './advanced/login/login.build';\nexport * as marqueeBuild from './advanced/marquee/marquee.build';\nexport * as anchorBuild from './basic/default/anchor/anchor.build';\nexport * as audioBuild from './basic/default/audio/audio.build';\nexport * as htmlBuild from './basic/default/html/html.build';\nexport * as iconBuild from './basic/default/icon/icon.build';\nexport * as iframeBuild from './basic/default/iframe/iframe.build';\nexport * as labelBuild from './basic/default/label/label.build';\nexport * as pictureBuild from './basic/default/picture/picture.build';\nexport * as spinnerBuild from './basic/default/spinner/spinner.build';\nexport * as progressBarBuild from './basic/progress/progress-bar/progress-bar.build';\nexport * as progressCircleBuild from './basic/progress/progress-circle/progress-circle.build';\nexport * as rteBuild from './basic/rich-text-editor/rich-text-editor.build';\nexport * as searchBuild from './basic/search/search.build';\nexport * as treeBuild from './basic/tree/tree.build';\nexport * as cardBuild from './data/card/card.build';\nexport * as cardContentBuild from './data/card/card-content/card-content.build';\nexport * as cardActionsBuild from './data/card/card-actions/card-actions.build';\nexport * as cardFooterBuild from './data/card/card-footer/card-footer.build';\nexport * as chartBuild from './chart/chart.build';\nexport * as accordionBuild from './containers/accordion/accordion.build';\nexport * as accordionPaneBuild from './containers/accordion/accordion-pane/accordion-pane.build';\nexport * as containerBuild from './containers/container.build';\nexport * as lgcolBuild from './containers/layout-grid/layout-grid-column/layout-grid-column.build';\nexport * as lgrowBuild from './containers/layout-grid/layout-grid-row/layout-grid-row.build';\nexport * as lgBuild from './containers/layout-grid/layout-grid.build';\nexport * as panelBuild from './containers/panel/panel.build';\nexport * as segControlBuild from './containers/segmented-control/segmented-control.build';\nexport * as segContentBuild from './containers/segmented-control/segment-content/segment-content.build';\nexport * as repeatTemplateBuild from './containers/repeat-template.build';\nexport * as tabsBuild from './containers/tabs/tabs.build';\nexport * as tabPaneBuild from './containers/tabs/tab-pane/tab-pane.build';\nexport * as tileBuild from './containers/tile/tile.build';\nexport * as wizardBuild from './containers/wizard/wizard.build';\nexport * as wizardStepBuild from './containers/wizard/wizard-step/wizard-step.build';\nexport * as barcodeScannerBuild from './device/barcode-scanner/barcode-scanner.build';\nexport * as cameraBuild from './device/camera/camera.build';\nexport * as alertDlgBuild from './dialogs/alert-dialog/alert-dialog.build';\nexport * as confirmDlgBuild from './dialogs/confirm-dialog/confirm-dialog.build';\nexport * as dlgFooterBuild from './dialogs/base/dialog-footer/dialog-footer.build';\nexport * as dlgBuild from './dialogs/design-dialog/dialog.build';\nexport * as iframeDlgBuild from './dialogs/iframe-dialog/iframe-dialog.build';\nexport * as loginDlgBuild from './dialogs/login-dialog/login-dialog.build';\nexport * as partialDlgBuild from './dialogs/partial-dialog/partial-dialog.build';\nexport * as formFieldBuild from './data/form/form-field/form-field.build';\nexport * as formActionBuild from './data/form/form-action/form-action.build';\nexport * as formBuild from './data/form/form.build';\nexport * as calendarBuild from './input/calendar/calendar.build';\nexport * as chipsBuild from './input/chips/chips.build';\nexport * as colorPickerBuild from './input/color-picker/color-picker.build';\nexport * as currencyBuild from './input/currency/currency.build';\nexport * as buttonGroupBuild from './input/default/button-group/button-group.build';\nexport * as buttonBuild from './input/default/button/button.build';\nexport * as checkboxBuild from './input/default/checkbox/checkbox.build';\nexport * as checkboxSetBuild from './input/default/checkboxset/checkboxset.build';\nexport * as compositeBuild from './input/default/composite/composite.build';\nexport * as numberBuild from './input/default/number/number.build';\nexport * as radiosetBuild from './input/default/radioset/radioset.build';\nexport * as selectBuild from './input/default/select/select.build';\nexport * as switchBuild from './input/default/switch/switch.build';\nexport * as textBuild from './input/default/text/text.build';\nexport * as textAreaBuild from './input/default/textarea/textarea.build';\nexport * as dateTimeBuild from './input/epoch/date-time/date-time.build';\nexport * as dateBuild from './input/epoch/date/date.build';\nexport * as timeBuild from './input/epoch/time/time.build';\nexport * as fileUploadBuild from './input/file-upload/file-upload.build';\nexport * as ratingBuild from './input/rating/rating.build';\nexport * as sliderBuild from './input/slider/slider.build';\nexport * as mediaListBuild from './data/media-list/media-list.build';\nexport * as mediaListItemBuild from './data/media-list/media-list-item/media-list-item.build';\nexport * as listBuild from './data/list/list.build';\nexport * as liveTableBuild from './data/live-table/live-table.build';\nexport * as messageBuild from './message/message.build';\nexport * as breadcrumbBuild from './navigation/breadcrumb/breadcrumb.build';\nexport * as menuBuild from './navigation/menu/menu.build';\nexport * as navItemBuild from './navigation/nav/nav-item/nav-item.build';\nexport * as navBuild from './navigation/nav/nav.build';\nexport * as navbarBuild from './navigation/navbar/navbar.build';\nexport * as popoverBuild from './navigation/popover/popover.build';\nexport * as pageBuild from './page/page.build';\nexport * as layoutBuild from './page/layout.build';\nexport * as routerOutletBuild from './page/router-outlet/router-outlet.build';\nexport * as paginationBuild from './data/pagination/pagination.build';\nexport * as contentBuild from './page/content/content.build';\nexport * as footerBuild from './page/footer/footer.build';\nexport * as headerBuild from './page/header/header.build';\nexport * as leftPanelBuild from './page/left-panel/left-panel.build';\nexport * as mobileNavbarBuild from './page/mobile-navbar/mobile-navbar.build';\nexport * as rightPanelBuild from './page/right-panel/right-panel.build';\nexport * as pageContentBuild from './page/page-content/page-content.build';\nexport * as tabBarBuild from './page/tab-bar/tab-bar.build';\nexport * as topNavBuild from './page/top-nav/top-nav.build';\nexport * as partialBuild from './partial/partial.build';\nexport * as partialParamBuild from './partial-param/partial-param.build';\nexport * as prefabBuild from './prefab/prefab.build';\nexport * as prefabContainerBuild from './prefab/prefab-container/prefab-container.build';\nexport * as tableActionBuild from './data/table/table-action/table-action.build';\nexport * as tableColumnGroupBuild from './data/table/table-column-group/table-column-group.build';\nexport * as tableColumnBuild from './data/table/table-column/table-column.build';\nexport * as tableRowBuild from './data/table/table-row/table-row.build';\nexport * as tableRowActionBuild from './data/table/table-row-action/table-row-action.build';\nexport * as tableBuild from './data/table/table.build';\nexport * as videoBuild from './basic/default/video/video.build';\nexport * as linearLayoutBuild from './containers/linear-layout/linear-layout.build';\nexport * as linearLayoutItemBuild from './containers/linear-layout/linear-layout-item/linear-layout-item.build';\nexport * as customWidgetBuild from './advanced/custom-widget-container/custom-widget-container.build';\nexport * as customWidgetWrapperBuild from './advanced/custom-widget-wrapper/custom-widget-wrapper.build';\n\nexport * from '@wm/transpiler';\n\nexport const initComponentsBuildTask = () => {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["dataSetKey","idGen","counter","tagName","this","formWidgets","copyAttribute","createElement","noSpan","addAtrribute"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../projects/components/transpile/src/advanced/carousel/carousel.build.ts","../../../projects/components/transpile/src/advanced/carousel/carousel-template/carousel-template.build.ts","../../../projects/components/transpile/src/advanced/login/login.build.ts","../../../projects/components/transpile/src/advanced/marquee/marquee.build.ts","../../../projects/components/transpile/src/basic/default/anchor/anchor.build.ts","../../../projects/components/transpile/src/basic/default/audio/audio.build.ts","../../../projects/components/transpile/src/basic/default/html/html.build.ts","../../../projects/components/transpile/src/basic/default/icon/icon.build.ts","../../../projects/components/transpile/src/basic/default/iframe/iframe.build.ts","../../../projects/components/transpile/src/basic/default/label/label.build.ts","../../../projects/components/transpile/src/basic/default/picture/picture.build.ts","../../../projects/components/transpile/src/basic/default/spinner/spinner.build.ts","../../../projects/components/transpile/src/basic/progress/progress-bar/progress-bar.build.ts","../../../projects/components/transpile/src/basic/progress/progress-circle/progress-circle.build.ts","../../../projects/components/transpile/src/basic/rich-text-editor/rich-text-editor.build.ts","../../../projects/components/transpile/src/basic/search/search.build.ts","../../../projects/components/transpile/src/basic/tree/tree.build.ts","../../../projects/components/transpile/src/data/card/card.build.ts","../../../projects/components/transpile/src/data/card/card-content/card-content.build.ts","../../../projects/components/transpile/src/data/card/card-actions/card-actions.build.ts","../../../projects/components/transpile/src/data/card/card-footer/card-footer.build.ts","../../../projects/components/transpile/src/chart/chart.build.ts","../../../projects/components/transpile/src/containers/accordion/accordion.build.ts","../../../projects/components/transpile/src/containers/accordion/accordion-pane/accordion-pane.build.ts","../../../projects/components/transpile/src/containers/container.build.ts","../../../projects/components/transpile/src/containers/layout-grid/layout-grid-column/layout-grid-column.build.ts","../../../projects/components/transpile/src/containers/layout-grid/layout-grid-row/layout-grid-row.build.ts","../../../projects/components/transpile/src/containers/layout-grid/layout-grid.build.ts","../../../projects/components/transpile/src/containers/panel/panel.build.ts","../../../projects/components/transpile/src/containers/segmented-control/segmented-control.build.ts","../../../projects/components/transpile/src/containers/segmented-control/segment-content/segment-content.build.ts","../../../projects/components/transpile/src/containers/repeat-template.build.ts","../../../projects/components/transpile/src/containers/tabs/tabs.build.ts","../../../projects/components/transpile/src/containers/tabs/tab-pane/tab-pane.build.ts","../../../projects/components/transpile/src/containers/tile/tile.build.ts","../../../projects/components/transpile/src/containers/wizard/wizard.build.ts","../../../projects/components/transpile/src/containers/wizard/wizard-step/wizard-step.build.ts","../../../projects/components/transpile/src/device/barcode-scanner/barcode-scanner.build.ts","../../../projects/components/transpile/src/device/camera/camera.build.ts","../../../projects/components/transpile/src/dialogs/alert-dialog/alert-dialog.build.ts","../../../projects/components/transpile/src/dialogs/confirm-dialog/confirm-dialog.build.ts","../../../projects/components/transpile/src/dialogs/base/dialog-footer/dialog-footer.build.ts","../../../projects/components/transpile/src/dialogs/design-dialog/dialog.build.ts","../../../projects/components/transpile/src/dialogs/iframe-dialog/iframe-dialog.build.ts","../../../projects/components/transpile/src/dialogs/login-dialog/login-dialog.build.ts","../../../projects/components/transpile/src/dialogs/partial-dialog/partial-dialog.build.ts","../../../projects/components/transpile/src/utils/utils.ts","../../../projects/components/transpile/src/data/form/form-field/form-field.build.ts","../../../projects/components/transpile/src/data/form/form-action/form-action.build.ts","../../../projects/components/transpile/src/data/form/form.build.ts","../../../projects/components/transpile/src/input/calendar/calendar.build.ts","../../../projects/components/transpile/src/input/chips/chips.build.ts","../../../projects/components/transpile/src/input/color-picker/color-picker.build.ts","../../../projects/components/transpile/src/input/currency/currency.build.ts","../../../projects/components/transpile/src/input/default/button-group/button-group.build.ts","../../../projects/components/transpile/src/input/default/button/button.build.ts","../../../projects/components/transpile/src/input/default/checkbox/checkbox.build.ts","../../../projects/components/transpile/src/input/default/checkboxset/checkboxset.build.ts","../../../projects/components/transpile/src/input/default/composite/composite.build.ts","../../../projects/components/transpile/src/input/default/number/number.build.ts","../../../projects/components/transpile/src/input/default/radioset/radioset.build.ts","../../../projects/components/transpile/src/input/default/select/select.build.ts","../../../projects/components/transpile/src/input/default/switch/switch.build.ts","../../../projects/components/transpile/src/input/default/text/text.build.ts","../../../projects/components/transpile/src/input/default/textarea/textarea.build.ts","../../../projects/components/transpile/src/input/epoch/date-time/date-time.build.ts","../../../projects/components/transpile/src/input/epoch/date/date.build.ts","../../../projects/components/transpile/src/input/epoch/time/time.build.ts","../../../projects/components/transpile/src/input/file-upload/file-upload.build.ts","../../../projects/components/transpile/src/input/rating/rating.build.ts","../../../projects/components/transpile/src/input/slider/slider.build.ts","../../../projects/components/transpile/src/data/media-list/media-list.build.ts","../../../projects/components/transpile/src/data/media-list/media-list-item/media-list-item.build.ts","../../../projects/components/transpile/src/data/list/list.build.ts","../../../projects/components/transpile/src/data/live-table/live-table.build.ts","../../../projects/components/transpile/src/message/message.build.ts","../../../projects/components/transpile/src/navigation/breadcrumb/breadcrumb.build.ts","../../../projects/components/transpile/src/navigation/menu/menu.build.ts","../../../projects/components/transpile/src/navigation/nav/nav-item/nav-item.build.ts","../../../projects/components/transpile/src/navigation/nav/nav.build.ts","../../../projects/components/transpile/src/navigation/navbar/navbar.build.ts","../../../projects/components/transpile/src/navigation/popover/popover.build.ts","../../../projects/components/transpile/src/page/page.build.ts","../../../projects/components/transpile/src/page/layout.build.ts","../../../projects/components/transpile/src/page/router-outlet/router-outlet.build.ts","../../../projects/components/transpile/src/data/pagination/pagination.build.ts","../../../projects/components/transpile/src/page/content/content.build.ts","../../../projects/components/transpile/src/page/footer/footer.build.ts","../../../projects/components/transpile/src/page/header/header.build.ts","../../../projects/components/transpile/src/page/left-panel/left-panel.build.ts","../../../projects/components/transpile/src/page/mobile-navbar/mobile-navbar.build.ts","../../../projects/components/transpile/src/page/right-panel/right-panel.build.ts","../../../projects/components/transpile/src/page/page-content/page-content.build.ts","../../../projects/components/transpile/src/page/tab-bar/tab-bar.build.ts","../../../projects/components/transpile/src/page/top-nav/top-nav.build.ts","../../../projects/components/transpile/src/partial/partial.build.ts","../../../projects/components/transpile/src/partial-param/partial-param.build.ts","../../../projects/components/transpile/src/prefab/prefab.build.ts","../../../projects/components/transpile/src/prefab/prefab-container/prefab-container.build.ts","../../../projects/components/transpile/src/data/table/table-action/table-action.build.ts","../../../projects/components/transpile/src/data/table/table-column-group/table-column-group.build.ts","../../../projects/components/transpile/src/data/table/table-column/table-column.build.ts","../../../projects/components/transpile/src/data/table/table-row/table-row.build.ts","../../../projects/components/transpile/src/data/table/table-row-action/table-row-action.build.ts","../../../projects/components/transpile/src/data/table/table.build.ts","../../../projects/components/transpile/src/basic/default/video/video.build.ts","../../../projects/components/transpile/src/containers/linear-layout/linear-layout.build.ts","../../../projects/components/transpile/src/containers/linear-layout/linear-layout-item/linear-layout-item.build.ts","../../../projects/components/transpile/src/public_api.ts","../../../projects/components/transpile/src/index.ts"],"sourcesContent":["import { Element } from '@angular/compiler';\nimport { IBuildTaskDef, getAttrMarkup, register, getBoundToExpr } from '@wm/transpiler';\nimport { IDGenerator, updateTemplateAttrs } from '@wm/core';\n\nconst carouselTagName = 'carousel';\nconst dataSetKey = 'dataset';\nconst idGen = new IDGenerator('wm_carousel_ref_');\n\nconst isDynamicCarousel = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');\n\nregister('wm-carousel', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n // generating unique Id for the carousel\n const counter = idGen.nextUid();\n shared.set('carousel_ref', counter);\n return `<div class=\"app-carousel carousel\"><${carouselTagName} wmCarousel #${counter}=\"wmCarousel\" ${getAttrMarkup(attrs)} interval=\"0\" [ngClass]=\"${counter}.navigationClass\">`;\n },\n post: () => `</${carouselTagName}></div>`,\n template: (node: Element) => {\n // check if the carousel is dynamic\n if (isDynamicCarousel(node)) {\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value);\n }\n },\n // To provide parent carousel reference for children\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('carousel_ref', shared.get('carousel_ref'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import {getAttrMarkup, IBuildTaskDef, register} from '@wm/transpiler';\n\nconst carouselContentTagName = 'slide';\nlet counter = 1;\n// For static carousel\nregister('wm-carousel-content', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${carouselContentTagName} wmCarouselTemplate ${getAttrMarkup(attrs)}>`,\n post: () => `</${carouselContentTagName}>`\n };\n});\n\n// For dynamic carousel\nregister('wm-carousel-template', (): IBuildTaskDef => {\n return {\n requires: ['wm-carousel'],\n pre: (attrs, shared, parentCarousel) => {\n const carouselRef = parentCarousel.get('carousel_ref');\n return `<div *ngIf=\"!${carouselRef}.fieldDefs\">{{${carouselRef}.nodatamessage}}</div>\n <${carouselContentTagName} wmCarouselTemplate #carouselTemplateRef=\"carouselTemplateRef\" ${getAttrMarkup(attrs)} *ngFor=\"let item of ${carouselRef}.fieldDefs; let i = index;\">\n <ng-container [ngTemplateOutlet]=\"carouselTempRef${counter}\"\n [ngTemplateOutletContext]=\"{item:item, index:i}\"\n [ngTemplateOutletInjector]=\"${carouselRef}.createCustomInjector('carousel_item_' + carouselTemplateRef.trackId, {item:item, index:i})\"></ng-container>\n </${carouselContentTagName}>\n <ng-template #carouselTempRef${counter++} let-item=\"item\" let-index=\"index\">`;\n },\n post: () => `</ng-template>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-login', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLogin ${getAttrMarkup(attrs)} eventsource.bind=\"Actions.loginAction\">`,\n post: () => `</${tagName}>`,\n provide: () => {\n const provider = new Map();\n provider.set('isLogin', true);\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'marquee';\n\nregister('wm-marquee', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} onmouseover=\"this.stop();\" onmouseout=\"this.start();\" wmMarquee role=\"marquee\" aria-live=\"off\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'a';\nconst idGen = new IDGenerator('wm_anchor');\n\nregister('wm-anchor', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmAnchor #${counter}=\"wmAnchor\" role=\"link\" data-identifier=\"anchor\" [attr.aria-label]=\"${counter}.hint || ${counter}.caption\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-audio', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmAudio ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_html');\n\nregister('wm-html', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmHtml #${counter}=\"wmHtml\" [attr.aria-label]=\"${counter}.hint || 'HTML content'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'span';\n\nregister('wm-icon', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmIcon aria-hidden=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-iframe', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmIframe ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nlet tagName = 'p';\nconst idGen = new IDGenerator('wm_label');\n\nregister('wm-label', (): IBuildTaskDef => {\n return { \n pre: (attrs:any) => {\n if(!attrs.get(\"notag\")){\n if(!attrs.get('type')){\n const classList=attrs.get('class') ? attrs.get('class').split(' ').filter(element => [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\"].includes(element)):[];\n attrs.set('type',classList.length ? classList[0] : \"p\");\n } \n tagName= attrs.get('type');\n }\n else{\n tagName='label';\n }\n const counter = idGen.nextUid();\n return `<${tagName} wmLabel #${counter}=\"wmLabel\" [attr.aria-label]=\"${counter}.hint\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'img';\nconst idGen = new IDGenerator('wm_picture');\n\nregister('wm-picture', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmPicture #${counter}=\"wmPicture\" alt=\"image\" wmImageCache=\"${attrs.get('offline') || 'true'}\" [attr.aria-label]=\"${counter}.hint || 'Image'\" ${getAttrMarkup(attrs)}>`;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_spinner');\n\nregister('wm-spinner', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmSpinner #${counter}=\"wmSpinner\" role=\"alert\" [attr.aria-label]=\"${counter}.hint || 'Loading...'\" aria-live=\"assertive\" aria-busy=\"true\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Element } from '@angular/compiler';\n\nimport { getAttrMarkup, getBoundToExpr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nconst getAttr = (node: Element, attrName: string) => node.attrs.find(attr => attr.name === attrName);\n\nconst getAttrValue = (node: Element, attrName: string): string | undefined => {\n const match = getAttr(node, attrName);\n if (match) {\n return match.value;\n }\n};\n\nconst getReplaceRegex = (v: string) => new RegExp(`bind:(${v}|${v}\\\\[\\\\$i])\\\\.`, 'g');\n\nregister('wm-progress-bar', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n const dataset = getAttrValue(node, 'dataset');\n const boundExpr = getBoundToExpr(dataset);\n\n if (boundExpr) {\n let type = getAttrValue(node, 'type');\n let datavalue = getAttrValue(node, 'datavalue');\n\n const replaceRegex = getReplaceRegex(boundExpr);\n\n if (type && type.includes(boundExpr)) {\n type = type.replace(replaceRegex, '');\n getAttr(node, 'type').value = type;\n }\n\n if (datavalue && datavalue.includes(boundExpr)) {\n datavalue = datavalue.replace(replaceRegex, '');\n getAttr(node, 'datavalue').value = datavalue;\n }\n }\n },\n pre: attrs => `<${tagName} wmProgressBar ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-progress-circle', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmProgressCircle ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_richtexteditor');\n\nregister('wm-richtexteditor', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmRichTextEditor #${counter}=\"wmRichTextEditor\" role=\"textbox\" [attr.aria-label]=\"${counter}.hint || 'Richtext editor'\" ${getFormMarkupAttr(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-search', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmSearch ${getFormMarkupAttr(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'ul';\n\nregister('wm-tree', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTree class=\"ztree\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-card', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCard ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-card-content', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCardContent partialContainer ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-card-actions', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCardActions ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-card-footer', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCardFooter ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-chart', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmChart redrawable aria-label=\"${attrs.get('type')} Chart\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Element } from '@angular/compiler';\nimport { IBuildTaskDef, getAttrMarkup, register, getBoundToExpr } from '@wm/transpiler';\nimport { IDGenerator, updateTemplateAttrs } from '@wm/core';\n\nconst tagName = 'div';\nconst dataSetKey = 'dataset';\nconst idGen = new IDGenerator('wm_accordion_ref_');\n\nconst isDynamicAccordion = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');\n\nregister('wm-accordion', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n // generating unique Id for the accordion\n const counter = idGen.nextUid();\n shared.set('accordion_ref', counter);\n return `<${tagName} wmAccordion #${counter}=\"wmAccordion\" role=\"tablist\" aria-multiselectable=\"true\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`,\n template: (node: Element, shared) => {\n // check if the accordion is dynamic\n if (isDynamicAccordion(node)) {\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value);\n }\n },\n // To provide parent accordion reference for children\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('accordion_ref', shared.get('accordion_ref'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_accordionpane');\n\nregister('wm-accordionpane', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} #${counter}=\"wmAccordionPane\" [attr.aria-expanded]=\"${counter}.isActive\" wmAccordionPane partialContainer wm-navigable-element=\"true\" role=\"tab\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-container', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmContainer partialContainer wmSmoothscroll=\"${attrs.get('smoothscroll') || 'false'}\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-gridcolumn', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLayoutGridColumn ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-gridrow', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLayoutGridRow ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-layoutgrid', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLayoutGrid ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_panel');\n\nregister('wm-panel', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmPanel #${counter}=\"wmPanel\" partialContainer wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nregister('wm-panel-footer', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmPanelFooter ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-segmented-control', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmSegmentedControl ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'li';\n\nregister('wm-segment-content', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmSegmentContent partialContainer wmSmoothscroll=${attrs.get('smoothscroll') || 'false'} wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst dynamicTemplateTagName = 'div';\nlet counter = 1;\n\n\n// For dynamic accordion panes/tab panes\nregister('wm-repeat-template', (): IBuildTaskDef => {\n return {\n requires: ['wm-accordion', 'wm-tabs'],\n pre: (attrs, shared, parentAccordion, parentTab) => {\n const widgetRef = (parentAccordion && parentAccordion.get('accordion_ref')) || (parentTab && parentTab.get('tabs_ref'));\n if (widgetRef) {\n return `<div *ngIf=\"${widgetRef}.fieldDefs && !${widgetRef}.fieldDefs.length\">{{${widgetRef}.nodatamessage}}</div>\n <${dynamicTemplateTagName} wmRepeatTemplate #repeatItemRef=\"repeatItemRef\" ${getAttrMarkup(attrs)} *ngFor=\"let item of ${widgetRef}.fieldDefs; let i = index;\">\n <ng-container [ngTemplateOutlet]=\"widgetRef${counter}\"\n [ngTemplateOutletContext]=\"{item:item, index:i}\"\n [ngTemplateOutletInjector]=\"${widgetRef}.createCustomInjector('dynamic_pane_' + repeatItemRef.trackId, {item:item, index:i})\"></ng-container>\n </${dynamicTemplateTagName}>\n <ng-template #widgetRef${counter++} let-item=\"item\" let-index=\"index\">`;\n }\n\n },\n post: () => `</ng-template>`\n };\n});\n\nexport default () => {};\n","import { Element } from '@angular/compiler';\nimport { IBuildTaskDef, getAttrMarkup, register, getBoundToExpr } from '@wm/transpiler';\nimport { IDGenerator, updateTemplateAttrs } from '@wm/core';\n\nconst tagName = 'div';\nconst dataSetKey = 'dataset';\nconst idGen = new IDGenerator('wm_tabs_ref_');\n\nconst isDynamicTabs = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');\n\nregister('wm-tabs', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n // generating unique Id for the tabs\n const counter = idGen.nextUid();\n shared.set('tabs_ref', counter);\n return `<${tagName} wmTabs #${counter}=\"wmTabs\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`,\n template: (node: Element, shared) => {\n // check if the tab widget is dynamic\n if (isDynamicTabs(node)) {\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value);\n }\n },\n // To provide parent tab reference for children\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('tabs_ref', shared.get('tabs_ref'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\nregister('wm-tabpane', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTabPane partialContainer ${getAttrMarkup(attrs)} wm-navigable-element=\"true\" role=\"tabpanel\">`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-tile', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTile aria-describedby=\"Tile\" wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-wizard', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmWizard role=\"tablist\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { IDGenerator } from '@wm/core';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'form';\nconst idGen = new IDGenerator('wizard_step_id_');\n\nregister('wm-wizardstep', (): IBuildTaskDef => {\n return {\n pre: attrs => {\n const counter = idGen.nextUid();\n return `<${tagName} wmWizardStep #${counter}=\"wmWizardStep\" ${getAttrMarkup(attrs)}>\n <ng-template [ngIf]=\"${counter}.isInitialized\">`;\n },\n post: () => `</ng-template></${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'button';\nconst idGen = new IDGenerator('wm_barcodescanner');\n\nregister('wm-barcodescanner', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmBarcodescanner #${counter}=\"wmBarcodescanner\" [attr.aria-label]=\"${counter}.hint || 'Barcode scanner'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'button';\nconst idGen = new IDGenerator('wm_camera');\n\nregister('wm-camera', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} type='button' wmCamera #${counter}=\"wmCamera\" [attr.aria-label]=\"${counter}.hint || 'Camera'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-alertdialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmAlertDialog role=\"alertdialog\" wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-confirmdialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmConfirmDialog wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-dialogactions', (): IBuildTaskDef => {\n return {\n pre: attrs => `<ng-template #dialogFooter><${tagName} wmDialogFooter data-identfier=\"actions\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}></ng-template>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-dialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmDialog ${getAttrMarkup(attrs)} aria-modal=\"true\" role=\"dialog\" wm-navigable-element=\"true\"><ng-template #dialogBody>`,\n post: () => `</ng-template></${tagName}>`\n };\n});\n\n// Todo:vinay remove wm-view in migration\nregister('wm-view', (): IBuildTaskDef => {\n return {\n pre: attrs => '',\n post: () => ''\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-iframedialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmIframeDialog wm-navigable-element=\"true\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-logindialog', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmDialog wmLoginDialog ${getAttrMarkup(attrs)} eventsource.bind=\"Actions.loginAction\" wm-navigable-element=\"true\"><ng-template #dialogBody>`,\n post: () => `</ng-template></${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-pagedialog', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n const content = attrs.get('content');\n attrs.delete('content');\n\n const boundContent = attrs.get('content.bind');\n attrs.delete('content.bind');\n\n const onLoad = attrs.get('load.event');\n attrs.delete('load.event');\n\n let onLoadEvtMarkup = '';\n let contentMarkup = '';\n\n if (onLoad) {\n onLoadEvtMarkup = `load.event=\"${onLoad}\"`;\n }\n\n if (boundContent) {\n contentMarkup = `content.bind=\"${boundContent}\"`;\n } else if (content) {\n contentMarkup = `content=\"${content}\"`;\n }\n\n let containerMarkup = '';\n if (contentMarkup) {\n\n shared.set('hasPartialContent', true);\n containerMarkup += `<ng-template><div wmContainer #partial partialContainer ${contentMarkup} width=\"100%\" height=\"100%\" ${onLoadEvtMarkup}>`;\n }\n\n return `<${tagName} wmPartialDialog ${getAttrMarkup(attrs)}>${containerMarkup}`;\n },\n post: (attrs, shared) => {\n let preContent = '';\n if (shared.get('hasPartialContent')) {\n preContent = `</div></ng-template>`;\n }\n return `${preContent}</${tagName}>`;\n }\n };\n});\n\nexport default () => {};\n","import {DataType, FormWidgetType} from '@wm/core';\n\nexport const ALLFIELDS = 'All Fields';\nexport const EDIT_MODE = {\n QUICK_EDIT : 'quickedit',\n INLINE : 'inline',\n FORM : 'form',\n DIALOG : 'dialog'\n};\n\nconst fieldTypeWidgetTypeMap = {\n 'integer' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'rating', 'slider', 'currency', 'autocomplete', 'chips'],\n 'big_integer': ['number', 'text', 'select', 'checkboxset', 'radioset', 'rating', 'slider', 'currency', 'autocomplete', 'chips'],\n 'short' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'float' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'big_decimal': ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'number' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'double' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'long' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'rating', 'slider', 'currency', 'autocomplete', 'chips'],\n 'byte' : ['number', 'text', 'select', 'checkboxset', 'radioset', 'slider', 'currency', 'autocomplete', 'chips'],\n 'string' : ['text', 'number', 'textarea', 'password', 'richtext', 'select', 'checkboxset', 'radioset', 'date', 'time', 'timestamp', 'switch', 'currency', 'autocomplete', 'chips', 'colorpicker'],\n 'character' : ['text', 'number', 'textarea', 'password', 'richtext', 'select', 'checkboxset', 'radioset', 'switch', 'currency', 'autocomplete', 'chips'],\n 'text' : ['text', 'number', 'textarea', 'password', 'richtext', 'select', 'checkboxset', 'radioset', 'date', 'time', 'timestamp', 'switch', 'currency', 'autocomplete', 'chips', 'colorpicker'],\n 'date' : ['date', 'text', 'number', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],\n 'time' : ['time', 'text', 'number', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],\n 'timestamp' : ['timestamp', 'text', 'number', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],\n 'datetime' : ['datetime', 'text', 'select', 'checkboxset', 'radioset', 'autocomplete', 'chips'],\n 'boolean' : ['checkbox', 'radioset', 'toggle', 'select'],\n 'list' : ['select', 'radioset', 'checkboxset', 'switch', 'autocomplete', 'chips'],\n 'clob' : ['text', 'textarea', 'richtext'],\n 'blob' : ['upload'],\n 'file' : ['upload'],\n 'custom' : ['text', 'number', 'textarea', 'password', 'checkbox', 'toggle', 'slider', 'richtext', 'currency', 'switch',\n 'select', 'checkboxset', 'radioset', 'date', 'time', 'timestamp', 'rating', 'datetime', 'autocomplete', 'chips', 'colorpicker']\n};\n\nconst DATASET_WIDGETS = new Set([FormWidgetType.SELECT, FormWidgetType.CHECKBOXSET, FormWidgetType.RADIOSET,\n FormWidgetType.SWITCH, FormWidgetType.AUTOCOMPLETE, FormWidgetType.CHIPS, FormWidgetType.TYPEAHEAD, FormWidgetType.RATING]);\n\nexport const isDataSetWidget = widget => {\n return DATASET_WIDGETS.has(widget);\n};\n\n// Get filter widget applicable to the given type\nexport const getDataTableFilterWidget = type => {\n let widget = fieldTypeWidgetTypeMap[type] && fieldTypeWidgetTypeMap[type][0];\n if (type === DataType.BOOLEAN) {\n widget = FormWidgetType.SELECT;\n }\n const filterWidgets = [FormWidgetType.TEXT, FormWidgetType.NUMBER, FormWidgetType.SELECT, FormWidgetType.AUTOCOMPLETE,\n FormWidgetType.DATE, FormWidgetType.TIME, FormWidgetType.DATETIME];\n if (filterWidgets.includes(widget)) {\n return widget;\n }\n return FormWidgetType.TEXT;\n};\n\n/**\n * @ngdoc function\n * @name wm.widgets.live.getEditModeWidget\n * @methodOf wm.widgets.live.LiveWidgetUtils\n * @function\n *\n * @description\n * This function returns the default widget for grid\n *\n * @param {object} colDef field definition\n */\nexport const getEditModeWidget = colDef => {\n if (colDef['related-entity-name'] && colDef['primary-key']) {\n return FormWidgetType.SELECT;\n }\n return (fieldTypeWidgetTypeMap[colDef.type] && fieldTypeWidgetTypeMap[colDef.type][0]) || FormWidgetType.TEXT;\n};\n","import {getFormMarkupAttr, IBuildTaskDef, register} from '@wm/transpiler';\nimport {\n FormWidgetType,\n generateGUId,\n getFormWidgetTemplate,\n getRequiredFormWidget,\n IDGenerator,\n isMobileApp\n} from '@wm/core';\n\nimport {ALLFIELDS, isDataSetWidget} from '../../../utils/utils';\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('formfield_');\n\nconst getEventsTemplate = (attrs) => {\n const eventAttrs = new Map();\n if (!attrs.has('focus.event')) {\n attrs.set('focus.event', '');\n }\n if (!attrs.has('blur.event')) {\n attrs.set('blur.event', '');\n }\n attrs.forEach((value, key) => {\n if (key.endsWith('.event')) {\n if (key === 'focus.event') {\n value = `_onFocusField($event);${value}`;\n } else if (key === 'blur.event') {\n value = `_onBlurField($event);${value}`;\n }\n eventAttrs.set(key, value);\n attrs.delete(key);\n }\n });\n return getFormMarkupAttr(eventAttrs);\n};\n\nconst DEFAULT_PLACEHOLDERS = new Map([\n [FormWidgetType.SELECT, ['Select Min value', 'Select Max value', 'Select value']],\n [FormWidgetType.DATETIME, ['Select Min date time', 'Select Max date time', 'Select date time']],\n [FormWidgetType.TIME, ['Select Min time', 'Select Max time', 'Select time']],\n [FormWidgetType.DATE, ['Select Min date', 'Select Max date', 'Select date']],\n [FormWidgetType.TEXTAREA, ['', '', 'Enter value']],\n [FormWidgetType.RICHTEXT, ['', '', 'Enter value']],\n [FormWidgetType.COLORPICKER, ['Select Color', 'Select Color', 'Select Color']],\n [FormWidgetType.CHIPS, ['', '', 'Type here...']],\n [FormWidgetType.PASSWORD, ['Enter Min value', 'Enter Max value', 'Enter value']],\n [FormWidgetType.NUMBER, ['Enter Min value', 'Enter Max value', 'Enter value']],\n [FormWidgetType.TEXT, ['Enter Min value', 'Enter Max value', 'Enter value']],\n [FormWidgetType.CURRENCY, ['Enter Min value', 'Enter Max value', 'Enter value']],\n [FormWidgetType.AUTOCOMPLETE, ['', '', 'Search']],\n]);\n\nconst setDefaultPlaceholder = (attrs, widgetType, index) => {\n const prop = index === 1 ? 'maxplaceholder' : 'placeholder';\n let placeholder = attrs.get(prop);\n if (placeholder || placeholder === '') {\n return;\n }\n placeholder = DEFAULT_PLACEHOLDERS.get(widgetType) && DEFAULT_PLACEHOLDERS.get(widgetType)[index];\n if (placeholder) {\n attrs.set(prop, placeholder);\n }\n};\n\nconst getWidgetTemplate = (attrs, options) => {\n const name = attrs.get('name');\n const fieldName = (attrs.get('key') || name || '').trim();\n const formControl = options.isMaxWidget ? `formControlName=\"${fieldName}_max\"` : (options.isInList ? `[formControlName]=\"${options.counter}._fieldName\"` : `formControlName=\"${fieldName}\"`);\n const tmplRef = options.isMaxWidget ? `#formWidgetMax` : `#formWidget`;\n const widgetName = name ? (options.isMaxWidget ? `name=\"${name}_formWidgetMax\"` : `name=\"${name}_formWidget\"`) : '';\n const conditionalClass = `[ngClass]=\"${attrs.get('ngclass')}\"`;\n const defaultTmpl = `[class.hidden]=\"!${options.pCounter}.isUpdateMode && ${options.counter}.viewmodewidget !== 'default'\" ${formControl} ${options.eventsTmpl} ${conditionalClass} ${tmplRef} ${widgetName}`;\n return getFormWidgetTemplate(options.widgetType, defaultTmpl, attrs, {counter: options.counter, pCounter: options.pCounter});\n};\n\n\nconst getTemplate = (attrs, widgetType, eventsTmpl, counter, pCounter, isInList) => {\n const isRange = attrs.get('is-range') === 'true';\n if (!isRange) {\n return getWidgetTemplate(attrs, {widgetType, eventsTmpl, counter, pCounter, isInList});\n }\n const layoutClass = isMobileApp() ? 'col-xs-6' : 'col-sm-6';\n return `<div class=\"${layoutClass}\">${getWidgetTemplate(attrs, {widgetType, eventsTmpl, counter, pCounter})}</div>\n <div class=\"${layoutClass}\">${getWidgetTemplate(attrs, {widgetType, eventsTmpl, counter, pCounter, isMaxWidget: true})}</div>`;\n};\n\nconst getCaptionByWidget = (attrs, widgetType, counter) => {\n if (attrs.get('is-related') === 'true') {\n return `${counter}.getDisplayExpr()`;\n }\n if (widgetType === FormWidgetType.PASSWORD) {\n return '\\'********\\'';\n }\n let caption = `${counter}.value`;\n if (widgetType === FormWidgetType.DATETIME || widgetType === FormWidgetType.TIMESTAMP) {\n caption += ` | toDate:${counter}.formWidget.datepattern || 'yyyy-MM-dd hh:mm:ss a'`;\n return caption;\n }\n if (widgetType === FormWidgetType.TIME) {\n caption += ` | toDate:${counter}.formWidget.timepattern || 'hh:mm a'`;\n return caption;\n }\n if (widgetType === FormWidgetType.DATE) {\n caption += ` | toDate:${counter}.formWidget.datepattern || 'yyyy-MMM-dd'`;\n return caption;\n }\n if (widgetType === FormWidgetType.RATING || widgetType === FormWidgetType.UPLOAD) {\n return '';\n }\n if (isDataSetWidget(widgetType) && attrs.get('datafield') === ALLFIELDS) {\n return `${counter}.getDisplayExpr()`;\n }\n return `${counter}.getCaption()`;\n};\n\nconst registerFormField = (isFormField): IBuildTaskDef => {\n return {\n requires: ['wm-form', 'wm-liveform', 'wm-livefilter', 'wm-list'],\n pre: (attrs, shared, parentForm, parentLiveForm, parentFilter, parentList) => {\n const counter = idGen.nextUid();\n const parent = parentForm || parentLiveForm || parentFilter;\n const pCounter = (parent && parent.get('form_reference')) || 'form';\n const widgetType = attrs.get('widget') || FormWidgetType.TEXT;\n const dataRole = isFormField ? 'form-field' : 'filter-field';\n const formFieldErrorMsgId = 'wmform-field-error-' + generateGUId();\n const validationMsg = isFormField ? `<p *ngIf=\"${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode\"\n class=\"help-block text-danger\" aria-hidden=\"false\"\n aria-live=\"assertive\" [attr.aria-label]=\"${counter}.validationmessage\" id=\"${formFieldErrorMsgId}\"><span aria-hidden=\"true\" [textContent]=\"${counter}.validationmessage\"></span></p>` : '';\n const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);\n const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';\n const isInList = pCounter === (parentList && parentList.get('parent_form_reference'));\n attrs.set('__validationId', formFieldErrorMsgId);\n attrs.set('__widgetType', widgetType);\n attrs.delete('widget');\n shared.set('counter', counter);\n\n if (attrs.get('is-range') === 'true') {\n setDefaultPlaceholder(attrs, widgetType, 0);\n setDefaultPlaceholder(attrs, widgetType, 1);\n } else {\n setDefaultPlaceholder(attrs, widgetType, 2);\n }\n\n return `<${tagName} data-role=\"${dataRole}\" [formGroup]=\"${pCounter}.ngform\" wmFormField wmCaptionPosition #${counter}=\"wmFormField\" widgettype=\"${widgetType}\" ${getFormMarkupAttr(attrs)}>\n <div class=\"live-field form-group app-composite-widget clearfix caption-{{${pCounter}.captionposition}}\" widget=\"${widgetType}\">\n <label [hidden]=\"!${counter}.displayname\" class=\"app-label control-label formfield-label {{${pCounter}._captionClass}}\"\n [ngStyle]=\"{width: ${pCounter}.captionsize}\" [ngClass]=\"{'text-danger': ${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode,\n required: ${pCounter}.isUpdateMode && ${counter}.required}\" [textContent]=\"${counter}.displayname\"> </label>\n <div [ngClass]=\"${counter}.displayname ? ${pCounter}._widgetClass : '${controlLayout}'\">\n <label class=\"form-control-static app-label\"\n [hidden]=\"${pCounter}.isUpdateMode || ${counter}.viewmodewidget === 'default' || ${counter}.widgettype === 'upload'\" [innerHTML]=\"${getCaptionByWidget(attrs, widgetType, counter)}\"></label>\n ${getTemplate(attrs, widgetType, eventsTmpl, counter, pCounter, isInList)}\n <span aria-hidden=\"true\" *ngIf=\"${counter}.showPendingSpinner\" class=\"form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n <p *ngIf=\"!(${counter}._control?.invalid && ${counter}._control?.touched) && ${pCounter}.isUpdateMode\"\n class=\"help-block\" aria-hidden=\"true\" role=\"alert\" aria-live=\"polite\" [textContent]=\"${counter}.hint\"></p>\n ${validationMsg}\n </div>\n </div>`;\n },\n post: () => `</${tagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('form_reference', shared.get('counter'));\n return provider;\n },\n imports: (attrs: Map<String, String>): string[] => {\n const requiredWidget = getRequiredFormWidget(attrs.get('__widgetType') || attrs.get('type'));\n attrs.delete('__widgetType');\n return [requiredWidget, 'wm-form'];\n }\n };\n};\n\nregister('wm-form-field', registerFormField.bind(this, true));\nregister('wm-filter-field', registerFormField.bind(this, false));\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nconst registerAction = (tmpl): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmFormAction name=\"${attrs.get('name') || attrs.get('key')}\" ${getAttrMarkup(attrs)} ${tmpl}>`,\n post: () => `</${tagName}>`\n };\n};\n\nregister('wm-form-action', registerAction.bind(this, ''));\nregister('wm-filter-action', registerAction.bind(this, ` update-mode=\"true\" `));\n\nexport default () => {};\n","import { Attribute, Element } from '@angular/compiler';\n\nimport { getAttrMarkup, IBuildTaskDef, register, getDataSource } from '@wm/transpiler';\nimport { IDGenerator } from '@wm/core';\n\nconst tagName = 'form';\nconst idGen = new IDGenerator('form_');\n\nconst formWidgets = new Set([\n 'wm-text',\n 'wm-textarea',\n 'wm-checkbox',\n 'wm-slider',\n 'wm-richtexteditor',\n 'wm-currency',\n 'wm-switch',\n 'wm-select',\n 'wm-checkboxset',\n 'wm-radioset',\n 'wm-date',\n 'wm-time',\n 'wm-timestamp',\n 'wm-upload',\n 'wm-rating',\n 'wm-datetime',\n 'wm-search',\n 'wm-chips',\n 'wm-colorpicker',\n 'wm-table'\n]);\n\nlet numberOfFields;\n\nconst addFormControlName = (children = []) => {\n children.forEach(childNode => {\n if (childNode.name === 'wm-form-field') {\n numberOfFields++;\n }\n if (formWidgets.has(childNode.name)) {\n let key = childNode.attrs.find((attr) => attr.name === 'key' || attr.name === 'name');\n key = key && key.value;\n if (!key) {\n // for checkbox inside table inside form, key and name attrs are not available. Using datavalue to construct formControlName instead.\n let dataValue = childNode.attrs.find((attr) => attr.name === 'datavalue');\n if (dataValue && dataValue.value) {\n const regex = /\\((.*)\\)/;\n dataValue = dataValue.value.match(regex);\n if (dataValue && dataValue.length > 1) {\n key = dataValue[1].replace(/[\"']/g, '');\n }\n }\n }\n childNode.attrs.push(new Attribute('formControlName', key, <any>1, <any>1, <any>1, undefined, undefined));\n childNode.attrs.push(new Attribute('wmFormWidget', '', <any>1, <any>1, <any>1, undefined, undefined));\n }\n addFormControlName(childNode.children);\n });\n};\n\nconst updateFormDataSource = (attrMap) => {\n if (attrMap.get('formdata.bind')) {\n const formDataSource = getDataSource(attrMap.get('formdata.bind'));\n if (formDataSource) {\n attrMap.set('formdatasource.bind', formDataSource);\n }\n }\n};\n\nconst buildTask = (directiveAttr = ''): IBuildTaskDef => {\n return {\n requires: ['wm-livetable', 'wm-login'],\n template: (node: Element) => {\n numberOfFields = 0;\n addFormControlName(node.children);\n },\n pre: (attrs, shared, parentLiveTable, parentLoginWidget) => {\n let tmpl;\n let dialogId;\n const role = parentLoginWidget && parentLoginWidget.get('isLogin') ? 'app-login' : '';\n const counter = idGen.nextUid();\n const dependsOn = attrs.get('dependson') ? `dependson=\"${attrs.get('dependson')}\"` : '';\n if(dependsOn) {\n attrs.set('dependsontable', attrs.get('dependson'));\n }\n const classProp = attrs.get('formlayout') === 'page' ? 'app-device-liveform panel liveform-inline' : '';\n const dialogAttributes = ['title', 'title.bind', 'iconclass', 'iconclass.bind', 'width'];\n attrs.delete('dependson');\n const liveFormTmpl = `<${tagName} wmForm data-role=\"${role}\" ${directiveAttr} #${counter} ngNativeValidate [formGroup]=\"${counter}.ngform\" [noValidate]=\"${counter}.validationtype !== 'html'\"\n class=\"${classProp}\" [class]=\"${counter}.captionAlignClass\" [autocomplete]=\"${counter}.autocomplete ? 'on' : 'off'\" captionposition=${attrs.get('captionposition')}`;\n attrs.set('numberOfFields', `${numberOfFields}`);\n shared.set('counter', counter);\n updateFormDataSource(attrs);\n if (attrs.get('formlayout') === 'dialog') {\n dialogId = parentLiveTable ? parentLiveTable.get('liveform_dialog_id') : `liveform_dialog_id_${counter}`;\n attrs.set('dialogId', dialogId);\n const dialogAttrsMap = new Map<string, string>();\n dialogAttributes.forEach((attr) => {\n if (attrs.get(attr)) {\n dialogAttrsMap.set(attr, attrs.get(attr));\n }\n });\n attrs.set('width', '100%');\n tmpl = getAttrMarkup(attrs);\n return `<div data-identifier=\"liveform\" init-widget class=\"app-liveform liveform-dialog\" ${dependsOn} dialogid=\"${dialogId}\">\n <div wmDialog class=\"app-liveform-dialog\" name=\"${dialogId}\" role=\"form\" ${getAttrMarkup(dialogAttrsMap)} modal=\"true\">\n <ng-template #dialogBody>\n ${liveFormTmpl} ${tmpl}>`;\n }\n let mobileFormContentTmpl = '';\n let buttonTemplate = '';\n // Include mobile-navbar above the form when formlayout is set to page\n if (attrs.get('formlayout') === 'page') {\n const name = `device_liveform_header_${counter}`;\n const navbarAttrsMap = new Map<string, string>();\n navbarAttrsMap.set('title', attrs.get('title'));\n navbarAttrsMap.set('backbtnclick.event', attrs.get('backbtnclick.event'));\n buttonTemplate = `<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton name=\"{{btn.key}}\" class=\"navbar-btn btn-primary btn-transparent\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"${counter}.invokeActionEvent($event, btn.action)\" type.bind=\"btn.type\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\" disabled.bind=\"btn.disabled\"\n tabindex.bind=\"btn.tabindex\" [class.hidden]=\"btn.updateMode ? !${counter}.isUpdateMode : ${counter}.isUpdateMode\"></button>\n </ng-template>`;\n mobileFormContentTmpl = `<header wmMobileNavbar name=\"${name}\" ${getAttrMarkup(navbarAttrsMap)}>\n <ng-container *ngFor=\"let btn of ${counter}.buttonArray; let i = index\"\n [ngTemplateOutlet]=\"buttonRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"${counter}.createCustomInjector('mobile_' + i, {item:item, index:i})\">\n </ng-container>\n </header>\n <div class=\"form-elements panel-body\" >`;\n }\n\n tmpl = getAttrMarkup(attrs);\n const dependsOnTmpl = dependsOn ? `<div ${dependsOn}>` : '';\n return `${dependsOnTmpl}${liveFormTmpl} ${tmpl}>\n ${buttonTemplate} ${mobileFormContentTmpl}`;\n },\n post: (attrs) => {\n if (attrs.get('formlayout') === 'dialog') {\n return '</form></ng-template></div></div>';\n }\n if (attrs.get('formlayout') === 'page') {\n return `</div></${tagName}>`;\n }\n if(attrs.get('dependsontable')) {\n return `</${tagName}></div>`;\n }\n return `</${tagName}>`;\n },\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('form_reference', shared.get('counter'));\n return provider;\n }\n };\n};\n\nregister('wm-form', buildTask);\nregister('wm-liveform', () => buildTask('wmLiveForm'));\nregister('wm-livefilter', () => buildTask('wmLiveFilter'));\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-calendar', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n let viewType = attrs.get('view') ? attrs.get('view') + ' view' : 'month view';\n return `<${tagName} wmCalendar redrawable style=\"width:100%\" aria-label=\"${viewType}\" ${getAttrMarkup(attrs)}>`\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'ul';\n\nregister('wm-chips', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmChips role=\"listbox\" ${getAttrMarkup(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-colorpicker', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmColorPicker ${getAttrMarkup(attrs)} role=\"input\" ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-currency', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCurrency ${getAttrMarkup(attrs)} role=\"input\" ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-buttongroup', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmButtonGroup role=\"group\" aria-labelledby=\"button group\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'button';\nconst idGen = new IDGenerator('wm_button');\n\nregister('wm-button', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmButton #${counter}=\"wmButton\" [attr.aria-label]=\"${counter}.hint || ${counter}.caption || null\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-checkbox', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmCheckbox ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'ul';\n\nregister('wm-checkboxset', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} role=\"group\" wmCheckboxset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, setChildAttrs, clearChildAttrs, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-composite', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmComposite wmCaptionPosition ${setChildAttrs(attrs)} ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}${clearChildAttrs()}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\n\nimport { getFormMarkupAttr,getChildAttrs , IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-number', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmNumber ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\n\nconst tagName = 'ul';\n\nregister('wm-radioset', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} role=\"radiogroup\" wmRadioset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\n\nconst tagName = 'wm-select';\n\nregister('wm-select', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import {getNgModelAttr, IDGenerator} from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('wm_switch');\n\nregister('wm-switch', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return`<${tagName} wmSwitch #${counter}=\"wmSwitch\" [attr.aria-label]=\"${counter}.hint || 'Switch button'\" ${getFormMarkupAttr(attrs)} ${getNgModelAttr(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, getChildAttrs, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'wm-input';\n\nregister('wm-text', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, getChildAttrs, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'wm-textarea';\n\nregister('wm-textarea', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-datetime', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmDateTime ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-date', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmDate ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getFormMarkupAttr, IBuildTaskDef, register, getChildAttrs } from '@wm/transpiler';\nimport { getNgModelAttr } from '@wm/core';\n\nconst tagName = 'div';\n\nregister('wm-time', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTime ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, getDataSource, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-fileupload', (): IBuildTaskDef => {\n return {\n pre: attrs => {\n if (attrs.get('select.event')) {\n const onSelectBinding = getDataSource(attrs.get('select.event'));\n attrs.set('datasource.bind', onSelectBinding);\n }\n return `<${tagName} wmFileUpload ${getAttrMarkup(attrs)} role=\"input\">`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getFormMarkupAttr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-rating', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmRating ${getFormMarkupAttr(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getNgModelAttr } from '@wm/core';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-slider', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmSlider ${getAttrMarkup(attrs)} ${getNgModelAttr(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element } from '@angular/compiler';\n\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst wmlistTag = 'wm-list';\nconst tagName = 'div';\nconst dataSetKey = 'dataset';\n\nfunction copyAttribute(from: Element, fromAttrName: string, to: Element, toAttrName: string) {\n const fromAttr = from.attrs.find( a => a.name === fromAttrName);\n if (fromAttr) {\n to.attrs.push(new Attribute(toAttrName, fromAttr.value, fromAttr.sourceSpan, fromAttr.keySpan, fromAttr.valueSpan, undefined, undefined));\n }\n}\n\nregister('wm-media-list', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n let bindDataset;\n const attrObj = node.attrs.find(attr => attr.name === dataSetKey),\n /**\n * Replacing binded property value with item\n * @param children\n */\n replaceBind = (children = []) => {\n children.forEach(childNode => {\n if (childNode.name) {\n // return if the child Element is of wm-list .\n if (childNode.name !== wmlistTag) {\n childNode.attrs.forEach((attr) => {\n if (attr.value.startsWith(`bind:${bindDataset}.data[$i]`)) {\n attr.value = attr.value.replace(`${bindDataset}.data[$i]`, 'item');\n } else if (attr.value.startsWith(`bind:${bindDataset}`)) {\n attr.value = attr.value.replace(bindDataset, 'item');\n }\n });\n replaceBind(childNode.children);\n }\n }\n });\n };\n if (attrObj && attrObj.value.startsWith('bind:')) {\n bindDataset = attrObj.value.replace('bind:', '');\n }\n if (bindDataset) {\n replaceBind(node.children);\n }\n const template = <Element> node.children\n .find(e => e instanceof Element && (<Element> e).name === 'wm-media-template');\n if (template != null) {\n copyAttribute(template, 'width', node, 'thumbnailwidth');\n copyAttribute(template, 'height', node, 'thumbnailheight');\n }\n },\n pre: attrs => `<${tagName} wmMediaList ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'ng-template';\n\nregister('wm-media-template', (): IBuildTaskDef => {\n return {\n pre: () => `<${tagName} #mediaListTemplate let-item=\"item\" let-index=\"index\">`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element } from '@angular/compiler';\nimport { updateTemplateAttrs } from '@wm/core';\n\nimport { getAttrMarkup, getBoundToExpr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst wmListTag = 'wm-list';\nconst listTagName = 'div';\nconst dataSetKey = 'dataset';\n\nregister(wmListTag, (): IBuildTaskDef => {\n return {\n requires: ['wm-form', 'wm-liveform'],\n template: (node: Element) => {\n\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value, 'itemRef.');\n },\n pre: (attrs, shared, parentForm, parentLiveForm) => {\n const parent = parentForm || parentLiveForm;\n shared.set('form_reference', parent && parent.get('form_reference'));\n return `<${listTagName} wmList wmLiveActions ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${listTagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('parent_form_reference', shared.get('form_reference'));\n return provider;\n }\n };\n});\n\nregister('wm-listtemplate', (): IBuildTaskDef => {\n return {\n pre: () => `<ng-template #listTemplate let-item=\"item\" let-$index=\"$index\" let-itemRef=\"itemRef\" let-$first=\"$first\" let-$last=\"$last\" let-currentItemWidgets=\"currentItemWidgets\" >`,\n post: () => `</ng-template>`\n };\n});\n\nfunction copyAttribute(from: Element, fromAttrName: string, to: Element, toAttrName: string) {\n const fromAttr = from.attrs.find( a => a.name === fromAttrName);\n if (fromAttr) {\n to.attrs.push(new Attribute(toAttrName, fromAttr.value, fromAttr.sourceSpan, fromAttr.keySpan, fromAttr.valueSpan, undefined, undefined));\n }\n}\n\nregister('wm-list-action-template', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n\n const position = node.attrs.find(attr => attr.name === 'position').value;\n\n const btns = <Element[]> node.children\n .filter(e => e instanceof Element && (<Element> e).name === 'wm-button');\n\n // add swipe-position on button nodes to identify whether buttons are from left or right action templates\n btns.forEach((btnNode) => {\n copyAttribute(node, 'position', btnNode, 'swipe-position');\n });\n },\n pre: (attrs, el) => {\n if (attrs.get('position') === 'left') {\n return `<ng-template #listLeftActionTemplate>\n <li class=\"app-list-item-action-panel app-list-item-left-action-panel actionMenu\" ${getAttrMarkup(attrs)}>`;\n }\n if (attrs.get('position') === 'right') {\n return `<ng-template #listRightActionTemplate>\n <li class=\"app-list-item-action-panel app-list-item-right-action-panel actionMenu\" ${getAttrMarkup(attrs)}>`;\n }\n },\n post: () => `</li></ng-template>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { IDGenerator } from '@wm/core';\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('liveform_dialog_id_');\n\nregister('wm-livetable', (): IBuildTaskDef => {\n return {\n pre: (attrs, shared) => {\n const counter = idGen.nextUid();\n shared.set('counter', counter);\n return `<${tagName} wmLiveTable ${getAttrMarkup(attrs)} dialogid=\"${counter}\">`;\n },\n post: () => `</${tagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('liveform_dialog_id', shared.get('counter'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'p';\nconst idGen = new IDGenerator('wm_message');\n\nregister('wm-message', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmMessage tabindex=\"0\" #${counter}=\"wmMessage\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'ol';\n\nregister('wm-breadcrumb', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmBreadcrumb ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-menu', (): IBuildTaskDef => {\n return {\n pre: attrs => {\n const menuWidth = attrs.get(\"width\");\n let styleBinding = '';\n if(menuWidth){\n const units = ['%', 'px'];\n const hasUnit = units.some(unit => menuWidth.includes(unit));\n if(hasUnit){\n styleBinding = `[ngStyle]=\"{'width': '${menuWidth}'}\"`;\n }\n else{\n styleBinding = `[ngStyle]=\"{'width': '${menuWidth}px'}\"`;\n }\n\n return `<${tagName} wmMenu dropdown ${getAttrMarkup(attrs)} ${styleBinding}>`\n } \n else{ \n return `<${tagName} wmMenu dropdown ${getAttrMarkup(attrs)}>`\n }\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'li';\n\nregister('wm-nav-item', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmNavItem role=\"listitem\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'ul';\n\nregister('wm-nav', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmNav data-element-type=\"wmNav\" data-role=\"page-header\" role=\"list\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'nav';\n\nregister('wm-navbar', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmNavbar data-element-type=\"wmNavbar\" role=\"navigation\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'wm-popover';\n\nregister('wm-popover', (): IBuildTaskDef => {\n return {\n requires: ['wm-table'],\n pre: (attrs: Map<string, string>, shared: Map<string, any>, table) => {\n const contentSource = attrs.get('contentsource');\n let popoverTemplate;\n if (contentSource !== 'inline') {\n const content = attrs.get('content');\n const bindContent = attrs.get('content.bind');\n\n let contentMarkup = '';\n\n if (content) {\n contentMarkup = `content=\"${content}\"`;\n } else if (bindContent) {\n contentMarkup = `content.bind=\"${bindContent}\"`;\n }\n\n popoverTemplate = `<div wmContainer #partial partialContainer ${contentMarkup}>`;\n shared.set('hasPopoverContent', true);\n }\n\n let markup = `<${tagName} wmPopover ${getAttrMarkup(attrs)}>`;\n const contextAttrs = table ? `let-row=\"row\"` : ``;\n\n markup += `<ng-template ${contextAttrs}><div tabindex=\"0\" class=\"popover-start sr-only\" aria-label=\"\">popover content start</div>`;\n\n // todo keyboard navigation - tab\n if (popoverTemplate) {\n markup += `${popoverTemplate ? popoverTemplate : ''}`;\n }\n\n return markup;\n },\n post: (attrs: Map<string, string>, shared: Map<string, any>) => {\n let markup = '';\n if (shared.get('hasPopoverContent')) {\n markup += `</div>`;\n }\n\n return `${markup}<div tabindex=\"0\" class=\"popover-end sr-only\" aria-label=\"\">popover content ended</div></ng-template></${tagName}>`;\n }\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, ParseSourceSpan, Text } from '@angular/compiler';\n\nimport {IDGenerator, isMobileApp} from '@wm/core';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {forEach} from \"lodash-es\";\n\nconst tagName = 'div';\n\nconst findChild = (node: Element, childName: string): Element => {\n const child = node && node.children.find(e => (e instanceof Element && (e as Element).name === childName));\n return child as Element;\n};\n\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\n\nconst getElementNode = (name, node) => {\n let elementNode;\n if (!node) {\n return;\n }\n forEach(node.children, (child) => {\n if (child instanceof Element) {\n if ((child as Element).name === name) {\n elementNode = child;\n } else if (child.children) {\n elementNode = getElementNode(name, child);\n }\n }\n return !elementNode;\n });\n return elementNode;\n};\n\nconst noSpan = ({} as ParseSourceSpan);\nconst idGen = new IDGenerator('wm_page');\n\nregister('wm-page', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n let pageContentNode = findChild(findChild(node, 'wm-content'), 'wm-page-content');\n if (!pageContentNode) {\n pageContentNode = getElementNode('wm-page-content', getElementNode('wm-content', node));\n }\n if (pageContentNode) {\n const conditionalNode = createElement('ng-container');\n addAtrribute(conditionalNode, '*ngIf', 'compilePageContent');\n conditionalNode.children = conditionalNode.children.concat(pageContentNode.children);\n conditionalNode.children.push(new Text('{{onPageContentReady()}}', null, undefined, undefined));\n pageContentNode.children = [conditionalNode];\n if (isMobileApp()) {\n const loader = createElement('div');\n addAtrribute(loader, 'wmPageContentLoader', '');\n addAtrribute(loader, '*ngIf', '!showPageContent');\n pageContentNode.children.push(loader);\n }\n }\n },\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmPage #${counter}=\"wmPage\" data-role=\"pageContainer\" [attr.aria-label]=\"${counter}.hint\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { IDGenerator } from '@wm/core';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nconst idGen = new IDGenerator('wm_layout');\n\nregister('wm-layout', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmLayout #${counter}=\"wmLayout\" data-role=\"pageContainer\" [attr.aria-label]=\"${counter}.hint || 'Main page content'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'router-outlet';\n\nregister('wm-router-outlet', (): IBuildTaskDef => {\n return {\n pre: attrs => `<div wmRouterOutlet name=\"wmRouterOutlet\" ${getAttrMarkup(attrs)}><${tagName} (activate)=\"onActivate($event)\">`,\n post: () => `</${tagName}></div>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'nav';\n\nregister('wm-pagination', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmPagination data-identifier=\"pagination\" aria-label=\"Page navigation\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'main';\n\nregister('wm-content', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmContent data-role=\"page-content\" role=\"main\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'footer';\nconst idGen = new IDGenerator('wm_footer');\n\nregister('wm-footer', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmFooter #${counter}=\"wmFooter\" partialContainer data-role=\"page-footer\" role=\"contentinfo\" [attr.aria-label]=\"${counter}.hint || 'Page footer'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'header';\nconst idGen = new IDGenerator('wm_header');\n\nregister('wm-header', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmHeader #${counter}=\"wmHeader\" partialContainer data-role=\"page-header\" role=\"banner\" [attr.aria-label]=\"${counter}.hint || 'Page header'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'aside';\nconst idGen = new IDGenerator('wm_left_panel');\n\nregister('wm-left-panel', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid();\n return `<${tagName} wmLeftPanel #${counter}=\"wmLeftPanel\" partialContainer data-role=\"page-left-panel\" [attr.aria-label]=\"${counter}.hint || 'Left navigation panel'\" wmSmoothscroll=\"${attrs.get('smoothscroll') || 'false'}\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'header';\n\nregister('wm-mobile-navbar', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmMobileNavbar ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'aside';\nconst idGen = new IDGenerator('wm_right_panel');\n\nregister('wm-right-panel', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmRightPanel #${counter}=\"wmRightPanel\" partialContainer data-role=\"page-right-panel\" role=\"complementary\" [attr.aria-label]=\"${counter}.hint || 'Right navigation panel'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { Attribute, Element, ParseSourceSpan, Text } from \"@angular/compiler\";\n\nconst tagName = 'div';\n\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\n\nconst noSpan = ({} as ParseSourceSpan);\n\nregister('wm-page-content', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n for(let attr of node.attrs) {\n if(attr.name === 'spa' && attr.value === 'true') {\n const conditionalNode = createElement('ng-container');\n addAtrribute(conditionalNode, '*ngIf', 'compilePageContent');\n conditionalNode.children = conditionalNode.children.concat(node.children);\n conditionalNode.children.push(new Text('{{onPageContentReady()}}', null, undefined, undefined));\n node.children = [conditionalNode];\n break;\n }\n }\n },\n pre: attrs => `<${tagName} wmPageContent ${attrs.get('spa') && 'wmSpaPage' || ''} wmSmoothscroll=\"${attrs.get('smoothscroll') || 'false'}\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-mobile-tabbar', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmMobileTabbar ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport {IDGenerator} from \"@wm/core\";\n\nconst tagName = 'section';\nconst idGen = new IDGenerator('wm_top_nav');\n\nregister('wm-top-nav', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n const counter = idGen.nextUid()\n return `<${tagName} wmTopNav #${counter}=\"wmTopNav\" partialContainer data-role=\"page-topnav\" role=\"navigation\" [attr.aria-label]=\"${counter}.hint || 'Second level navigation'\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, ParseSourceSpan } from '@angular/compiler';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'section';\nconst noSpan = ({} as ParseSourceSpan);\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\nregister('wm-partial', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n const conditionalNode = createElement('ng-container');\n addAtrribute(conditionalNode, '*ngIf', 'compileContent');\n conditionalNode.children = conditionalNode.children.concat(node.children);\n node.children.length = 0;\n node.children.push(conditionalNode);\n },\n pre: attrs => `<${tagName} wmPartial data-role=\"partial\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-param', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmParam hidden ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, register } from '@wm/transpiler';\n\nconst tagName = 'section';\n\nregister('wm-prefab', () => {\n return {\n pre: attrs => `<${tagName} wmPrefab redrawable data-role=\"prefab\" ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, ParseSourceSpan } from '@angular/compiler';\nimport { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\n\nconst noSpan = ({} as ParseSourceSpan);\nconst createElement = name => {\n return new Element(name, [], [], noSpan, noSpan, noSpan);\n};\n\nconst addAtrribute = (node: Element, name: string, value: string) => {\n const attr = new Attribute(name, value, noSpan, noSpan, noSpan, undefined, undefined);\n node.attrs.push(attr);\n};\nconst tagName = 'div';\n\nregister('wm-prefab-container', (): IBuildTaskDef => {\n return {\n template: (node: Element) => {\n const conditionalNode = createElement('ng-container');\n addAtrribute(conditionalNode, '*ngIf', 'compileContent');\n conditionalNode.children = conditionalNode.children.concat(node.children);\n node.children.length = 0;\n node.children.push(conditionalNode);\n },\n pre: attrs => `<${tagName} wmPrefabContainer ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-table-action', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} name=\"${attrs.get('name') || attrs.get('key')}\" wmTableAction ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-table-column-group', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTableColumnGroup ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element, Text } from '@angular/compiler';\n\nimport { DataType, FormWidgetType, getFormWidgetTemplate, getRequiredFormWidget, IDGenerator, isDateTimeType, checkIsCustomPipeExpression } from '@wm/core';\nimport {getAttrMarkup, getDataSource, IBuildTaskDef, ImportDef, register} from '@wm/transpiler';\n\nimport { EDIT_MODE, getDataTableFilterWidget, getEditModeWidget } from '../../../utils/utils';\n\nconst tagName = 'div';\nconst idGen = new IDGenerator('data_table_form_');\nconst formWidgets = new Set([\n 'wm-text',\n 'wm-textarea',\n 'wm-checkbox',\n 'wm-slider',\n 'wm-currency',\n 'wm-switch',\n 'wm-select',\n 'wm-checkboxset',\n 'wm-radioset',\n 'wm-date',\n 'wm-time',\n 'wm-timestamp',\n 'wm-rating',\n 'wm-datetime',\n 'wm-search',\n 'wm-chips',\n 'wm-colorpicker'\n]);\n\n// Add ngModelOptions standalone true as inner custom form widgets will be not part of table ngform\nconst addNgModelStandalone = (children = []) => {\n let formControlAttr = [];\n children.forEach(childNode => {\n if (formWidgets.has(childNode.name)) {\n // angular build is failing when formControlName is undefined for checkbox and mgModelOptions attr is present\n if (childNode.name === 'wm-checkbox') {\n formControlAttr = childNode.attrs.filter(function(attr) {\n return attr.name === 'formControlName';\n });\n if (formControlAttr.length) {\n return;\n }\n }\n childNode.attrs.push(new Attribute('[ngModelOptions]', '{standalone: true}', <any>1, <any>1, <any>1, undefined, undefined));\n }\n addNgModelStandalone(childNode.children);\n });\n};\n\n// get the filter template (widget and filter menu) to be displayed in filter row\nconst getFilterTemplate = (attrs, pCounter) => {\n const widget = attrs.get('filterwidget') || getDataTableFilterWidget(attrs.get('type') || DataType.STRING);\n const fieldName = attrs.get('binding');\n const type = attrs.get('type') || 'string';\n let datasourceBinding, submitEventBinding;\n const datasetAttr = attrs.get('filterdataset.bind');\n // when multicolumn is selected and filterwidget as autocomplete is assigned to dataset.\n if (attrs.get('filterwidget') === 'autocomplete') {\n if (datasetAttr) {\n const binddatasource = getDataSource(datasetAttr);\n datasourceBinding = `dataset.bind=\"${datasetAttr}\" datasource.bind=\"${binddatasource}\"`;\n }\n submitEventBinding = `submit.event=\"changeFn('${fieldName}')\"`;\n }\n const innerTmpl = `#filterWidget formControlName=\"${fieldName + '_filter'}\" ${datasourceBinding} ${submitEventBinding} change.event=\"changeFn('${fieldName}')\"\n disabled.bind=\"isDisabled('${fieldName}')\"`;\n const options = {inputType: 'filterinputtype'} ;\n const widgetTmpl = `${getFormWidgetTemplate(widget, innerTmpl, attrs, options)}`;\n\n return `<ng-template #filterTmpl let-changeFn=\"changeFn\" let-isDisabled=\"isDisabled\">\n <div class=\"input-group ${widget}\" data-col-identifier=\"${fieldName}\">\n ${widgetTmpl}\n <span class=\"input-group-addon filter-clear-icon\" *ngIf=\"${pCounter}.showClearIcon('${fieldName}')\">\n <button class=\"btn-transparent btn app-button\" aria-label=\"Clear button\" type=\"button\" (click)=\"${pCounter}.clearRowFilter('${fieldName}')\">\n <i class=\"app-icon wi wi-clear\" aria-hidden=\"true\"></i>\n </button>\n </span>\n <span class=\"input-group-addon\" dropdown container=\"body\" (onShown)=\"${pCounter}.adjustContainer('${fieldName}');\">\n <button class=\"btn-transparent btn app-button\" type=\"button\" dropdownToggle><i class=\"app-icon wi wi-filter-list\"></i></button>\n <ul class=\"matchmode-dropdown dropdown-menu\" *dropdownMenu>\n <li *ngFor=\"let matchMode of ${pCounter}.matchModeTypesMap['${type}']\"\n [ngClass]=\"{active: matchMode === (${pCounter}.rowFilter['${fieldName}'].matchMode || ${pCounter}.matchModeTypesMap['${type}'][0])}\">\n <a href=\"javascript:void(0);\" (click)=\"${pCounter}.onFilterConditionSelect('${fieldName}', matchMode)\" [innerText]=\"${pCounter}.matchModeMsgs[matchMode]\"></a>\n </li>\n </ul>\n </span>\n </div></ng-template>`;\n};\n\nconst getEventsTmpl = attrs => {\n let tmpl = '';\n attrs.forEach((val, key) => {\n if (key.endsWith('.event')) {\n tmpl += `${key}=\"${val}\" `;\n }\n });\n return tmpl;\n};\n\n// Generate inline edit properties template. Properties requiring row instance are generated here.\nconst getInlineEditRowPropsTmpl = attrs => {\n const propAttrs = new Map();\n const props = ['disabled', 'disabled.bind'];\n props.forEach(prop => {\n if (attrs.get(prop)) {\n propAttrs.set(prop, attrs.get(prop));\n attrs.delete(prop);\n }\n });\n return getAttrMarkup(propAttrs);\n};\n\n// get the inline widget template\nconst getInlineEditWidgetTmpl = (attrs, isNewRow, errorstyle, pCounter?) => {\n const options: any = {};\n const fieldName = attrs.get('binding');\n const widget = attrs.get('edit-widget-type') || getEditModeWidget({\n 'type': attrs.get('type'),\n 'related-entity-name': attrs.get('related-entity-name'),\n 'primary-key': attrs.get('primary-key')\n });\n let widgetRef = '';\n let formControl = '';\n let wmFormWidget = '';\n if (widget === FormWidgetType.UPLOAD) {\n options.uploadProps = {\n formName: idGen.nextUid(),\n name: fieldName\n };\n options.counter = pCounter;\n } else {\n widgetRef = isNewRow ? '#inlineWidgetNew' : '#inlineWidget';\n formControl = isNewRow ? `formControlName=\"${fieldName}_new\"` : `formControlName=\"${fieldName}\"`;\n wmFormWidget = 'wmFormWidget';\n }\n options.inputType = 'editinputtype';\n const tmplRef = isNewRow ? '#inlineWidgetTmplNew' : '#inlineWidgetTmpl';\n const eventsTmpl = widget === FormWidgetType.UPLOAD ? '' : getEventsTmpl(attrs);\n const rowPropsTl = getInlineEditRowPropsTmpl(attrs);\n const innerTmpl = `${widgetRef} ${wmFormWidget} key=\"${fieldName}\" data-field-name=\"${fieldName}\" ${formControl} ${eventsTmpl} ${rowPropsTl}`;\n const widgetTmpl = getFormWidgetTemplate(widget, innerTmpl, attrs, options);\n const pendingSpinnerStatus = isNewRow ? 'getPendingSpinnerStatusNew' : 'getPendingSpinnerStatus';\n const validationErrorTmpl = getValiationErrorTemplate(errorstyle);\n /* This element with error message is used to run Automation checks if any error message is present */\n const errorMsgElementForAutomation = '<span class=\"sr-only\" *ngIf=\"getValidationMessage()\">{{getValidationMessage()}}</span>';\n\n return `<ng-template ${tmplRef} let-row=\"row\" let-getControl=\"getControl\" let-getValidationMessage=\"getValidationMessage\" let-${pendingSpinnerStatus}=\"${pendingSpinnerStatus}\">\n <div data-col-identifier=\"${fieldName}\" >\n ${widgetTmpl}\n ${validationErrorTmpl}\n <div class=\"overlay\" *ngIf=\"${pendingSpinnerStatus}()\"><span aria-hidden=\"true\" class=\"form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback\"></span></div>\n ${errorMsgElementForAutomation}\n </div>\n </ng-template>`;\n};\n\nconst getValiationErrorTemplate = (errorTmplType) => {\n let validationErrorTmpl = '';\n switch (errorTmplType) {\n case 'bottom':\n validationErrorTmpl = `<span class=\"help-block text-danger\" *ngIf=\"getValidationMessage() && getControl() && getControl().invalid && getControl().touched\">{{getValidationMessage()}}</span>`;\n break;\n case 'hover':\n default:\n validationErrorTmpl = `<span placement=\"top\" container=\"body\" tooltip=\"{{getValidationMessage()}}\" class=\"text-danger wi wi-error\"\n *ngIf=\"getValidationMessage() && getControl() && getControl().invalid && getControl().touched\">\n </span>`;\n }\n return validationErrorTmpl;\n}\n\nconst getFormatExpression = (attrs) => {\n const columnValue = `row.getProperty('${attrs.get('binding')}')`;\n let formatPattern = attrs.get('custompipeformat') || attrs.get('formatpattern');\n let colExpression = '';\n // For date time data types, if format pattern is not applied, Apply default toDate format\n if (isDateTimeType(attrs.get('type')) && (!formatPattern || formatPattern === 'None')) {\n attrs.set('formatpattern', 'toDate');\n attrs.delete('datepattern');\n formatPattern = 'toDate';\n }\n switch (formatPattern) {\n case 'toDate':\n colExpression = `{{${columnValue} | toDate: colDef.datepattern}}`;\n break;\n case 'toCurrency':\n if (attrs.get('currencypattern')) {\n colExpression = `{{${columnValue} | toCurrency: '${attrs.get('currencypattern')}`;\n\n if (attrs.get('fractionsize')) {\n colExpression += `': ${attrs.get('fractionsize')}}}`;\n } else {\n colExpression += `'}}`;\n }\n }\n break;\n case 'numberToString':\n if (attrs.get('fractionsize')) {\n colExpression = `{{${columnValue} | numberToString: '${attrs.get('fractionsize')}'}}`;\n }\n break;\n case 'stringToNumber':\n colExpression = `{{${columnValue} | stringToNumber}}`;\n break;\n case 'timeFromNow':\n colExpression = `{{${columnValue} | timeFromNow}}`;\n break;\n case 'prefix':\n if (attrs.get('prefix')) {\n colExpression = `{{${columnValue} | prefix: '${attrs.get('prefix')}'}}`;\n }\n break;\n case 'suffix':\n if (attrs.get('suffix')) {\n colExpression = `{{${columnValue} | suffix: '${attrs.get('suffix')}'}}`;\n }\n break;\n default:\n if(checkIsCustomPipeExpression(formatPattern)){\n colExpression = `{{${columnValue} | ${formatPattern} : ${`row`}}}` ;\n }\n\n break;\n }\n return colExpression;\n};\n\nregister('wm-table-column', (): IBuildTaskDef => {\n return {\n requires: ['wm-table'],\n template: (node: Element, shared) => {\n if (node.children.length) {\n // If node has children, but an empty text node dont generate custom expression\n if (node.children.length === 1 && node.children[0] instanceof Text && (node.children[0] as Text).value.trim().length === 0) {\n return;\n }\n shared.set('customExpression', true);\n addNgModelStandalone(node.children);\n }\n },\n pre: (attrs, shared, parentTable) => {\n let rowFilterTmpl = '';\n let inlineEditTmpl = '';\n let inlineNewEditTmpl = '';\n let parentForm = '';\n if (parentTable) {\n const pCounter = parentTable.get('table_reference');\n rowFilterTmpl = (parentTable.get('filtermode') === 'multicolumn' && attrs.get('searchable') !== 'false') ? getFilterTemplate(attrs, pCounter) : '';\n const editMode = parentTable.get('editmode');\n const isInlineEdit = (editMode !== EDIT_MODE.DIALOG && editMode !== EDIT_MODE.FORM && attrs.get('readonly') !== 'true');\n inlineEditTmpl = isInlineEdit ? getInlineEditWidgetTmpl(attrs, false, parentTable.get('errorstyle'), pCounter) : '';\n inlineNewEditTmpl = isInlineEdit && editMode === EDIT_MODE.QUICK_EDIT && parentTable.get('shownewrow') !== 'false' ? getInlineEditWidgetTmpl(attrs, true, attrs.get('errorstyle')) : '';\n parentForm = ` [formGroup]=\"${pCounter}.ngform\" `;\n }\n const formatPattern = attrs.get('formatpattern');\n const customExpr = `<ng-template #customExprTmpl let-row=\"row\" let-colDef=\"colDef\" let-editRow=\"editRow\" let-deleteRow=\"deleteRow\" let-addNewRow=\"addNewRow\">`;\n let customExprTmpl = '';\n let formatExprTmpl = '';\n\n if (shared.get('customExpression')) {\n attrs.set('customExpression', 'true');\n customExprTmpl = `${customExpr}<div data-col-identifier=\"${attrs.get('binding')}\">`;\n } else if ((formatPattern && formatPattern !== 'None') || isDateTimeType(attrs.get('type'))) {\n formatExprTmpl = getFormatExpression(attrs);\n if (formatExprTmpl) {\n shared.set('customExpression', true);\n attrs.set('customExpression', 'true');\n customExprTmpl = `${customExpr}<div data-col-identifier=\"${attrs.get('binding')}\" title=\"${formatExprTmpl}\">${formatExprTmpl}`;\n }\n }\n\n return `<${tagName} wmTableColumn ${getAttrMarkup(attrs)} ${parentForm}>\n ${rowFilterTmpl}\n ${inlineEditTmpl}\n ${inlineNewEditTmpl}\n ${customExprTmpl}`;\n },\n post: (attrs, shared) => {\n let customExprTmpl = '';\n\n if (shared.get('customExpression')) {\n customExprTmpl = `</div></ng-template>`;\n }\n return `${customExprTmpl}</${tagName}>`;\n },\n imports: (attrs: Map<String, String>): string[] => {\n const editWidgetType = attrs.get('edit-widget-type');\n const filterWidgetType = attrs.get('filterwidget') || getDataTableFilterWidget(attrs.get('type') || DataType.STRING);\n return [getRequiredFormWidget(editWidgetType), getRequiredFormWidget(filterWidgetType), 'wm-table'];\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getRowActionAttrs } from '@wm/core';\n\nconst tagName = 'div';\n\nconst getRowExpansionActionTmpl = (attrs) => {\n const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';\n const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';\n const title = attrs.get('display-name') || attrs.get('title') || 'Collapse/Expand';\n return `<ng-template #rowExpansionActionTmpl let-row=\"row\">\n <${tag} ${directive}\n ${getRowActionAttrs(attrs)}\n class=\"${attrs.get('class')} row-expansion-button\"\n iconclass=\"${attrs.get('collapseicon')}\"\n type=\"button\" aria-label=\"${title}\"></${tag}>\n </ng-template>`;\n};\n\nregister('wm-table-row', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\n return `<${tagName} wmTableRow ${getAttrMarkup(attrs)}>\n ${getRowExpansionActionTmpl(attrs)}\n <ng-template #rowExpansionTmpl let-row=\"row\" let-rowDef=\"rowDef\" let-containerLoad=\"containerLoad\">\n <div wmContainer partialContainer content.bind=\"rowDef.content\" load.event=\"containerLoad(widget)\"\n [ngStyle]=\"{'height': rowDef.height, 'overflow-y': 'auto'}\">\n <div *ngFor=\"let param of rowDef.partialParams | keyvalue\" wmParam hidden\n [name]=\"param.key\" [value]=\"param.value\"></div>`;\n },\n post: () => `</div></ng-template></${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\nimport { getRowActionAttrs } from '@wm/core';\n\nconst tagName = 'div';\n\nconst getSaveCancelTemplate = () => {\n return `<button type=\"button\" aria-label=\"Save edit icon\" class=\"save row-action-button btn app-button btn-transparent save-edit-row-button hidden\" title=\"Save\">\n <i class=\"wi wi-done\" aria-hidden=\"true\"></i>\n </button>\n <button type=\"button\" aria-label=\"Cancel edit icon\" class=\"cancel row-action-button btn app-button btn-transparent cancel-edit-row-button hidden\" title=\"Cancel\">\n <i class=\"wi wi-cancel\" aria-hidden=\"true\"></i>\n </button>`;\n};\n\n// get the inline widget template\nconst getRowActionTmpl = (attrs) => {\n const action = attrs.get('action');\n const actionTmpl = action ? ` click.event.delayed=\"${action}\" ` : '';\n const saveCancelTmpl = action && action.includes('editRow(') ? getSaveCancelTemplate() : '';\n const btnClass = action ? (action.includes('editRow(') ? 'edit edit-row-button' :\n (action.includes('deleteRow(') ? 'delete delete-row-button' : '')) : '';\n const tabIndex = attrs.get('tabindex') ? `tabindex=\"${attrs.get('tabindex')}\"` : '';\n const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';\n const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';\n return `<ng-template #rowActionTmpl let-row=\"row\">\n <${tag} ${directive} data-action-key=\"${attrs.get('key')}\"\n ${getRowActionAttrs(attrs)}\n class=\"row-action row-action-button ${attrs.get('class')} ${btnClass}\"\n iconclass=\"${attrs.get('iconclass')}\"\n ${actionTmpl}\n ${tabIndex}\n type=\"button\"></${tag}>\n ${saveCancelTmpl}\n </ng-template>`;\n};\n\nregister('wm-table-row-action', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTableRowAction ${getAttrMarkup(attrs)}>\n ${getRowActionTmpl(attrs)}`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { Attribute, Element } from '@angular/compiler';\n\nimport { IDGenerator, updateTemplateAttrs } from '@wm/core';\nimport { getAttrMarkup, getBoundToExpr, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\nconst dataSetKey = 'dataset';\nconst idGen = new IDGenerator('table_');\nlet columnIndex = 0;\n\n/**\n * This method assigns index to the table-column and column-groups in order to the maintain the columns in the same order\n * as specified in the configuration.\n * Scenario: ordering the columns when accessrole is specified on column.\n *\n * headerIndex: ID | Name | Street | ==> top level header (ID has index 0, Name 1, Street 2)\n * index: ---- | fname | lname | --- | ==> sub level header ( ID 0, fname 1, lname 2, Street 3)\n * fname will have headerIndex as 1 and colIndex as 1. lname will have headerIndex as 1 and columnIndex as 2.\n * If suppose we have a group in the sub-level-header, then col index will be treated as the header index.\n *\n */\nfunction assignColumnIndex(node, parentIndex?: number) {\n let headerIndex = 0;\n node.forEach((childNode) => {\n const nodeName = (<any>childNode).name;\n const newheaderIndex = parentIndex !== undefined ? parentIndex : headerIndex;\n if (nodeName === 'wm-table-column' || nodeName === 'wm-table-column-group') {\n (childNode as any).attrs.push(new Attribute('index', '' + columnIndex, <any>1, <any>1, <any>1, undefined, undefined));\n (childNode as any).attrs.push(new Attribute('headerIndex', '' + newheaderIndex, <any>1, <any>1, <any>1, undefined, undefined));\n if (nodeName === 'wm-table-column-group') {\n assignColumnIndex(childNode.children, headerIndex);\n }\n columnIndex++;\n headerIndex++;\n }\n });\n}\n\nregister('wm-table', (): IBuildTaskDef => {\n return {\n template: (node: Element, shared) => {\n // If table does not have child columns, set isdynamictable to true\n if (node.children.length) {\n const isColumnsPresent = node.children.some(childNode => {\n return (<any>childNode).name === 'wm-table-column' || (<any>childNode).name === 'wm-table-column-group';\n });\n assignColumnIndex(node.children);\n shared.set('isdynamictable', isColumnsPresent ? 'false' : 'true');\n // If table have row expansion enabled, set isrowexpansionenabled to true\n const isRowsPresent = node.children.some(childNode => {\n return (<any>childNode).name === 'wm-table-row';\n });\n shared.set('isrowexpansionenabled', isRowsPresent ? 'true' : 'false');\n } else {\n shared.set('isdynamictable', 'true');\n }\n\n const datasetAttr = node.attrs.find(attr => attr.name === dataSetKey);\n const widgetNameAttr = node.attrs.find(attr => attr.name === 'name');\n\n if (!datasetAttr) {\n return;\n }\n const boundExpr = getBoundToExpr(datasetAttr.value);\n\n if (!boundExpr) {\n return;\n }\n updateTemplateAttrs(node, boundExpr, widgetNameAttr.value, '', 'row');\n },\n pre: (attrs, shared) => {\n const counter = idGen.nextUid();\n shared.set('counter', counter);\n attrs.set('isdynamictable', shared.get('isdynamictable'));\n attrs.set('isrowexpansionenabled', shared.get('isrowexpansionenabled'));\n attrs.set('table_reference', counter);\n return `<${tagName} wmTable=\"${counter}\" wmTableFilterSort wmTableCUD #${counter} data-identifier=\"table\" ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set('table_reference', shared.get('counter'));\n provider.set('filtermode', attrs.get('filtermode'));\n provider.set('errorstyle', attrs.get('errorstyle'));\n provider.set('editmode', attrs.get('editmode'));\n provider.set('shownewrow', attrs.get('shownewrow'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-video', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmVideo ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\nconst SPACING_KEY = 'parentLinearLayout.spacing';\nregister('wm-linearlayout', (): IBuildTaskDef => {\n return {\n requires: ['wm-linearlayout'],\n pre: (attrs, shared, provider) => {\n let spacing = attrs.get('spacing');\n attrs.set('spacing',\n (!spacing || spacing === '0') && provider ? provider.get(SPACING_KEY) : spacing);\n return `<${tagName} wmLinearLayout ${getAttrMarkup(attrs)}>`;\n },\n post: () => `</${tagName}>`,\n provide: (attrs, shared) => {\n const provider = new Map();\n provider.set(SPACING_KEY, attrs.get('spacing'));\n return provider;\n }\n };\n});\n\nexport default () => {};\n","import { getAttrMarkup, IBuildTaskDef, register } from '@wm/transpiler';\n\nconst tagName = 'div';\n\nregister('wm-linearlayoutitem', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmLinearLayoutItem ${getAttrMarkup(attrs)}>`,\n post: () => `</${tagName}>`\n };\n});\n\nexport default () => {};\n","export * as carouselBuild from './advanced/carousel/carousel.build';\nexport * as carouselTemplateBuild from './advanced/carousel/carousel-template/carousel-template.build';\nexport * as loginBuild from './advanced/login/login.build';\nexport * as marqueeBuild from './advanced/marquee/marquee.build';\nexport * as anchorBuild from './basic/default/anchor/anchor.build';\nexport * as audioBuild from './basic/default/audio/audio.build';\nexport * as htmlBuild from './basic/default/html/html.build';\nexport * as iconBuild from './basic/default/icon/icon.build';\nexport * as iframeBuild from './basic/default/iframe/iframe.build';\nexport * as labelBuild from './basic/default/label/label.build';\nexport * as pictureBuild from './basic/default/picture/picture.build';\nexport * as spinnerBuild from './basic/default/spinner/spinner.build';\nexport * as progressBarBuild from './basic/progress/progress-bar/progress-bar.build';\nexport * as progressCircleBuild from './basic/progress/progress-circle/progress-circle.build';\nexport * as rteBuild from './basic/rich-text-editor/rich-text-editor.build';\nexport * as searchBuild from './basic/search/search.build';\nexport * as treeBuild from './basic/tree/tree.build';\nexport * as cardBuild from './data/card/card.build';\nexport * as cardContentBuild from './data/card/card-content/card-content.build';\nexport * as cardActionsBuild from './data/card/card-actions/card-actions.build';\nexport * as cardFooterBuild from './data/card/card-footer/card-footer.build';\nexport * as chartBuild from './chart/chart.build';\nexport * as accordionBuild from './containers/accordion/accordion.build';\nexport * as accordionPaneBuild from './containers/accordion/accordion-pane/accordion-pane.build';\nexport * as containerBuild from './containers/container.build';\nexport * as lgcolBuild from './containers/layout-grid/layout-grid-column/layout-grid-column.build';\nexport * as lgrowBuild from './containers/layout-grid/layout-grid-row/layout-grid-row.build';\nexport * as lgBuild from './containers/layout-grid/layout-grid.build';\nexport * as panelBuild from './containers/panel/panel.build';\nexport * as segControlBuild from './containers/segmented-control/segmented-control.build';\nexport * as segContentBuild from './containers/segmented-control/segment-content/segment-content.build';\nexport * as repeatTemplateBuild from './containers/repeat-template.build';\nexport * as tabsBuild from './containers/tabs/tabs.build';\nexport * as tabPaneBuild from './containers/tabs/tab-pane/tab-pane.build';\nexport * as tileBuild from './containers/tile/tile.build';\nexport * as wizardBuild from './containers/wizard/wizard.build';\nexport * as wizardStepBuild from './containers/wizard/wizard-step/wizard-step.build';\nexport * as barcodeScannerBuild from './device/barcode-scanner/barcode-scanner.build';\nexport * as cameraBuild from './device/camera/camera.build';\nexport * as alertDlgBuild from './dialogs/alert-dialog/alert-dialog.build';\nexport * as confirmDlgBuild from './dialogs/confirm-dialog/confirm-dialog.build';\nexport * as dlgFooterBuild from './dialogs/base/dialog-footer/dialog-footer.build';\nexport * as dlgBuild from './dialogs/design-dialog/dialog.build';\nexport * as iframeDlgBuild from './dialogs/iframe-dialog/iframe-dialog.build';\nexport * as loginDlgBuild from './dialogs/login-dialog/login-dialog.build';\nexport * as partialDlgBuild from './dialogs/partial-dialog/partial-dialog.build';\nexport * as formFieldBuild from './data/form/form-field/form-field.build';\nexport * as formActionBuild from './data/form/form-action/form-action.build';\nexport * as formBuild from './data/form/form.build';\nexport * as calendarBuild from './input/calendar/calendar.build';\nexport * as chipsBuild from './input/chips/chips.build';\nexport * as colorPickerBuild from './input/color-picker/color-picker.build';\nexport * as currencyBuild from './input/currency/currency.build';\nexport * as buttonGroupBuild from './input/default/button-group/button-group.build';\nexport * as buttonBuild from './input/default/button/button.build';\nexport * as checkboxBuild from './input/default/checkbox/checkbox.build';\nexport * as checkboxSetBuild from './input/default/checkboxset/checkboxset.build';\nexport * as compositeBuild from './input/default/composite/composite.build';\nexport * as numberBuild from './input/default/number/number.build';\nexport * as radiosetBuild from './input/default/radioset/radioset.build';\nexport * as selectBuild from './input/default/select/select.build';\nexport * as switchBuild from './input/default/switch/switch.build';\nexport * as textBuild from './input/default/text/text.build';\nexport * as textAreaBuild from './input/default/textarea/textarea.build';\nexport * as dateTimeBuild from './input/epoch/date-time/date-time.build';\nexport * as dateBuild from './input/epoch/date/date.build';\nexport * as timeBuild from './input/epoch/time/time.build';\nexport * as fileUploadBuild from './input/file-upload/file-upload.build';\nexport * as ratingBuild from './input/rating/rating.build';\nexport * as sliderBuild from './input/slider/slider.build';\nexport * as mediaListBuild from './data/media-list/media-list.build';\nexport * as mediaListItemBuild from './data/media-list/media-list-item/media-list-item.build';\nexport * as listBuild from './data/list/list.build';\nexport * as liveTableBuild from './data/live-table/live-table.build';\nexport * as messageBuild from './message/message.build';\nexport * as breadcrumbBuild from './navigation/breadcrumb/breadcrumb.build';\nexport * as menuBuild from './navigation/menu/menu.build';\nexport * as navItemBuild from './navigation/nav/nav-item/nav-item.build';\nexport * as navBuild from './navigation/nav/nav.build';\nexport * as navbarBuild from './navigation/navbar/navbar.build';\nexport * as popoverBuild from './navigation/popover/popover.build';\nexport * as pageBuild from './page/page.build';\nexport * as layoutBuild from './page/layout.build';\nexport * as routerOutletBuild from './page/router-outlet/router-outlet.build';\nexport * as paginationBuild from './data/pagination/pagination.build';\nexport * as contentBuild from './page/content/content.build';\nexport * as footerBuild from './page/footer/footer.build';\nexport * as headerBuild from './page/header/header.build';\nexport * as leftPanelBuild from './page/left-panel/left-panel.build';\nexport * as mobileNavbarBuild from './page/mobile-navbar/mobile-navbar.build';\nexport * as rightPanelBuild from './page/right-panel/right-panel.build';\nexport * as pageContentBuild from './page/page-content/page-content.build';\nexport * as tabBarBuild from './page/tab-bar/tab-bar.build';\nexport * as topNavBuild from './page/top-nav/top-nav.build';\nexport * as partialBuild from './partial/partial.build';\nexport * as partialParamBuild from './partial-param/partial-param.build';\nexport * as prefabBuild from './prefab/prefab.build';\nexport * as prefabContainerBuild from './prefab/prefab-container/prefab-container.build';\nexport * as tableActionBuild from './data/table/table-action/table-action.build';\nexport * as tableColumnGroupBuild from './data/table/table-column-group/table-column-group.build';\nexport * as tableColumnBuild from './data/table/table-column/table-column.build';\nexport * as tableRowBuild from './data/table/table-row/table-row.build';\nexport * as tableRowActionBuild from './data/table/table-row-action/table-row-action.build';\nexport * as tableBuild from './data/table/table.build';\nexport * as videoBuild from './basic/default/video/video.build';\nexport * as linearLayoutBuild from './containers/linear-layout/linear-layout.build';\nexport * as linearLayoutItemBuild from './containers/linear-layout/linear-layout-item/linear-layout-item.build';\n\nexport * from '@wm/transpiler';\n\nexport const initComponentsBuildTask = () => {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["dataSetKey","idGen","counter","tagName","this","formWidgets","copyAttribute","createElement","noSpan","addAtrribute"],"mappings":"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"}