@wavemaker/app-ng-runtime 11.4.0-next.28152 → 11.4.0-rc.5339

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. app-ng-runtime/build-task/basic/tree/tree.build.d.ts +1 -2
  2. app-ng-runtime/build-task/bundles/index.umd.js +8 -10
  3. app-ng-runtime/build-task/bundles/index.umd.js.map +1 -1
  4. app-ng-runtime/build-task/esm2015/basic/tree/tree.build.js +3 -4
  5. app-ng-runtime/build-task/esm2015/data/form/form-field/form-field.build.js +2 -2
  6. app-ng-runtime/build-task/esm2015/navigation/popover/popover.build.js +3 -3
  7. app-ng-runtime/build-task/fesm2015/index.js +8 -10
  8. app-ng-runtime/build-task/fesm2015/index.js.map +1 -1
  9. app-ng-runtime/components/base/bundles/index.umd.js +29 -4
  10. app-ng-runtime/components/base/bundles/index.umd.js.map +1 -1
  11. app-ng-runtime/components/base/esm2015/public_api.js +2 -2
  12. app-ng-runtime/components/base/esm2015/utils/widget-utils.js +22 -4
  13. app-ng-runtime/components/base/esm2015/widgets/common/base/base-field-validations.js +3 -2
  14. app-ng-runtime/components/base/esm2015/widgets/common/dialog/dialog.service.js +7 -1
  15. app-ng-runtime/components/base/fesm2015/index.js +30 -6
  16. app-ng-runtime/components/base/fesm2015/index.js.map +1 -1
  17. app-ng-runtime/components/base/index.metadata.json +1 -1
  18. app-ng-runtime/components/base/public_api.d.ts +1 -1
  19. app-ng-runtime/components/base/utils/widget-utils.d.ts +8 -1
  20. app-ng-runtime/components/basic/tree/bundles/index.umd.js +280 -256
  21. app-ng-runtime/components/basic/tree/bundles/index.umd.js.map +1 -1
  22. app-ng-runtime/components/basic/tree/esm2015/public_api.js +2 -2
  23. app-ng-runtime/components/basic/tree/esm2015/tree.component.js +322 -0
  24. app-ng-runtime/components/basic/tree/esm2015/tree.module.js +3 -3
  25. app-ng-runtime/components/basic/tree/fesm2015/index.js +260 -248
  26. app-ng-runtime/components/basic/tree/fesm2015/index.js.map +1 -1
  27. app-ng-runtime/components/basic/tree/index.metadata.json +1 -1
  28. app-ng-runtime/components/basic/tree/public_api.d.ts +1 -1
  29. app-ng-runtime/components/basic/tree/tree.component.d.ts +34 -0
  30. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +39 -23
  31. app-ng-runtime/components/containers/tabs/bundles/index.umd.js.map +1 -1
  32. app-ng-runtime/components/containers/tabs/esm2015/tab-pane/tab-pane.component.js +8 -1
  33. app-ng-runtime/components/containers/tabs/esm2015/tabs.animator.js +33 -13
  34. app-ng-runtime/components/containers/tabs/fesm2015/index.js +40 -13
  35. app-ng-runtime/components/containers/tabs/fesm2015/index.js.map +1 -1
  36. app-ng-runtime/components/containers/tabs/tabs.animator.d.ts +5 -1
  37. app-ng-runtime/components/data/form/bundles/index.umd.js +37 -13
  38. app-ng-runtime/components/data/form/bundles/index.umd.js.map +1 -1
  39. app-ng-runtime/components/data/form/esm2015/form-field/form-field.directive.js +26 -7
  40. app-ng-runtime/components/data/form/esm2015/form.component.js +10 -5
  41. app-ng-runtime/components/data/form/fesm2015/index.js +34 -10
  42. app-ng-runtime/components/data/form/fesm2015/index.js.map +1 -1
  43. app-ng-runtime/components/data/form/index.metadata.json +1 -1
  44. app-ng-runtime/components/data/list/bundles/index.umd.js +52 -43
  45. app-ng-runtime/components/data/list/bundles/index.umd.js.map +1 -1
  46. app-ng-runtime/components/data/list/esm2015/list.component.js +52 -43
  47. app-ng-runtime/components/data/list/fesm2015/index.js +51 -42
  48. app-ng-runtime/components/data/list/fesm2015/index.js.map +1 -1
  49. app-ng-runtime/components/data/list/index.metadata.json +1 -1
  50. app-ng-runtime/components/data/list/list.component.d.ts +1 -1
  51. app-ng-runtime/components/data/pagination/bundles/index.umd.js +22 -5
  52. app-ng-runtime/components/data/pagination/bundles/index.umd.js.map +1 -1
  53. app-ng-runtime/components/data/pagination/esm2015/pagination.component.js +23 -6
  54. app-ng-runtime/components/data/pagination/fesm2015/index.js +22 -5
  55. app-ng-runtime/components/data/pagination/fesm2015/index.js.map +1 -1
  56. app-ng-runtime/components/data/pagination/index.metadata.json +1 -1
  57. app-ng-runtime/components/data/pagination/pagination.component.d.ts +1 -0
  58. app-ng-runtime/components/data/table/bundles/index.umd.js +64 -12
  59. app-ng-runtime/components/data/table/bundles/index.umd.js.map +1 -1
  60. app-ng-runtime/components/data/table/esm2015/table.component.js +63 -13
  61. app-ng-runtime/components/data/table/esm2015/table.props.js +3 -1
  62. app-ng-runtime/components/data/table/fesm2015/index.js +64 -12
  63. app-ng-runtime/components/data/table/fesm2015/index.js.map +1 -1
  64. app-ng-runtime/components/data/table/index.metadata.json +1 -1
  65. app-ng-runtime/components/data/table/table.component.d.ts +9 -0
  66. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -0
  67. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +17 -3
  68. app-ng-runtime/components/dialogs/default/bundles/index.umd.js.map +1 -1
  69. app-ng-runtime/components/dialogs/default/esm2015/base-dialog.js +18 -5
  70. app-ng-runtime/components/dialogs/default/fesm2015/index.js +17 -4
  71. app-ng-runtime/components/dialogs/default/fesm2015/index.js.map +1 -1
  72. app-ng-runtime/components/dialogs/default/index.metadata.json +1 -1
  73. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -0
  74. app-ng-runtime/components/input/epoch/bundles/index.umd.js +78 -35
  75. app-ng-runtime/components/input/epoch/bundles/index.umd.js.map +1 -1
  76. app-ng-runtime/components/input/epoch/date-time/date-time-picker.component.d.ts +1 -0
  77. app-ng-runtime/components/input/epoch/esm2015/base-date-time.component.js +55 -31
  78. app-ng-runtime/components/input/epoch/esm2015/date/date.component.js +3 -3
  79. app-ng-runtime/components/input/epoch/esm2015/date-time/date-time-picker.component.js +31 -11
  80. app-ng-runtime/components/input/epoch/esm2015/date-time/date-time.component.js +2 -2
  81. app-ng-runtime/components/input/epoch/fesm2015/index.js +87 -43
  82. app-ng-runtime/components/input/epoch/fesm2015/index.js.map +1 -1
  83. app-ng-runtime/components/input/epoch/index.metadata.json +1 -1
  84. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +25 -19
  85. app-ng-runtime/components/navigation/menu/bundles/index.umd.js.map +1 -1
  86. app-ng-runtime/components/navigation/menu/esm2015/menu-dropdown-item/menu-dropdown-item.component.js +15 -5
  87. app-ng-runtime/components/navigation/menu/esm2015/menu.component.js +14 -19
  88. app-ng-runtime/components/navigation/menu/fesm2015/index.js +25 -20
  89. app-ng-runtime/components/navigation/menu/fesm2015/index.js.map +1 -1
  90. app-ng-runtime/components/navigation/menu/index.metadata.json +1 -1
  91. app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +7 -4
  92. app-ng-runtime/components/navigation/menu/menu.component.d.ts +3 -7
  93. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +3 -1
  94. app-ng-runtime/components/navigation/popover/bundles/index.umd.js.map +1 -1
  95. app-ng-runtime/components/navigation/popover/esm2015/popover.component.js +5 -3
  96. app-ng-runtime/components/navigation/popover/fesm2015/index.js +4 -2
  97. app-ng-runtime/components/navigation/popover/fesm2015/index.js.map +1 -1
  98. app-ng-runtime/core/bundles/index.umd.js +7 -1
  99. app-ng-runtime/core/bundles/index.umd.js.map +1 -1
  100. app-ng-runtime/core/esm2015/services/pagination.service.js +8 -2
  101. app-ng-runtime/core/fesm2015/index.js +7 -1
  102. app-ng-runtime/core/fesm2015/index.js.map +1 -1
  103. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +24 -6
  104. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js.map +1 -1
  105. app-ng-runtime/mobile/components/page/default/esm2015/page.directive.js +20 -3
  106. app-ng-runtime/mobile/components/page/default/fesm2015/index.js +19 -2
  107. app-ng-runtime/mobile/components/page/default/fesm2015/index.js.map +1 -1
  108. app-ng-runtime/mobile/components/page/default/index.metadata.json +1 -1
  109. app-ng-runtime/mobile/components/page/default/page.directive.d.ts +4 -1
  110. app-ng-runtime/package.json +1 -1
  111. app-ng-runtime/scripts/datatable/datatable.js +86 -36
  112. app-ng-runtime/scripts/tree-keyboard-navigation/keyboard-navigation.js +251 -0
  113. app-ng-runtime/variables/bundles/index.umd.js +14 -4
  114. app-ng-runtime/variables/bundles/index.umd.js.map +1 -1
  115. app-ng-runtime/variables/esm2015/manager/action/notification-action.manager.js +5 -6
  116. app-ng-runtime/variables/esm2015/service/variables.service.js +8 -1
  117. app-ng-runtime/variables/fesm2015/index.js +11 -5
  118. app-ng-runtime/variables/fesm2015/index.js.map +1 -1
  119. app-ng-runtime/variables/index.metadata.json +1 -1
  120. app-ng-runtime/variables/service/variables.service.d.ts +4 -0
  121. app-ng-runtime/components/basic/tree/esm2015/tree.directive.js +0 -310
  122. app-ng-runtime/components/basic/tree/tree.directive.d.ts +0 -35
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","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","../../../node_modules/tslib/tslib.es6.js","../../../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 ${getAttrMarkup(attrs)} *ngFor=\"let item of ${carouselRef}.fieldDefs; let i = index;\">\n <ng-container [ngTemplateOutlet]=\"carouselTempRef${counter}\" [ngTemplateOutletContext]=\"{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\nconst tagName = 'label';\nconst idGen = new IDGenerator('wm_label');\n\nregister('wm-label', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\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\ndeclare const _;\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 = 'div';\n\nregister('wm-tree', (): IBuildTaskDef => {\n return {\n pre: attrs => `<${tagName} wmTree ${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', (): 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 ${getAttrMarkup(attrs)} *ngFor=\"let item of ${widgetRef}.fieldDefs; let i = index;\">\n <ng-container [ngTemplateOutlet]=\"widgetRef${counter}\" [ngTemplateOutletContext]=\"{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, ImportDef, register } from '@wm/transpiler';\nimport { FormWidgetType, getFormWidgetTemplate, IDGenerator, isMobileApp, getRequiredFormWidget, generateGUId } 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\" role=\"alert\"\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('__errormsg', 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 captionPosition #${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 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\" [ngTemplateOutlet]=\"buttonRef\" [ngTemplateOutletContext]=\"{btn:btn}\">\n </ng-container>\n </header>\n <div class=\"form-elements panel-body\" >`;\n }\n\n tmpl = getAttrMarkup(attrs);\n return `${liveFormTmpl} ${tmpl} ${dependsOn}>\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 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\" ${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 captionPosition ${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 => `<${tagName} wmMenu dropdown ${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-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}><button class=\"popover-start\"></button>`;\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}<button class=\"popover-end\"></button></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';\n\nconst tagName = 'div';\ndeclare const _;\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\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=\"perfab\" ${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","IDGenerator","register","getAttrMarkup","getBoundToExpr","updateTemplateAttrs","counter","tagName","getFormMarkupAttr","getNgModelAttr","FormWidgetType","DataType","getFormWidgetTemplate","isMobileApp","generateGUId","getRequiredFormWidget","this","formWidgets","Attribute","getDataSource","getChildAttrs","setChildAttrs","clearChildAttrs","copyAttribute","Element","createElement","noSpan","addAtrribute","Text","isDateTimeType","checkIsCustomPipeExpression","getRowActionAttrs"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","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","../../../node_modules/tslib/tslib.es6.js","../../../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 ${getAttrMarkup(attrs)} *ngFor=\"let item of ${carouselRef}.fieldDefs; let i = index;\">\n <ng-container [ngTemplateOutlet]=\"carouselTempRef${counter}\" [ngTemplateOutletContext]=\"{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\nconst tagName = 'label';\nconst idGen = new IDGenerator('wm_label');\n\nregister('wm-label', (): IBuildTaskDef => {\n return {\n pre: (attrs) => {\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\ndeclare const _;\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 ${getAttrMarkup(attrs)} *ngFor=\"let item of ${widgetRef}.fieldDefs; let i = index;\">\n <ng-container [ngTemplateOutlet]=\"widgetRef${counter}\" [ngTemplateOutletContext]=\"{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, ImportDef, register } from '@wm/transpiler';\nimport { FormWidgetType, getFormWidgetTemplate, IDGenerator, isMobileApp, getRequiredFormWidget, generateGUId } 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\" role=\"alert\"\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 captionPosition #${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 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\" [ngTemplateOutlet]=\"buttonRef\" [ngTemplateOutletContext]=\"{btn:btn}\">\n </ng-container>\n </header>\n <div class=\"form-elements panel-body\" >`;\n }\n\n tmpl = getAttrMarkup(attrs);\n return `${liveFormTmpl} ${tmpl} ${dependsOn}>\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 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\" ${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 captionPosition ${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 => `<${tagName} wmMenu dropdown ${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-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';\n\nconst tagName = 'div';\ndeclare const _;\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\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=\"perfab\" ${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","IDGenerator","register","getAttrMarkup","getBoundToExpr","updateTemplateAttrs","counter","tagName","getFormMarkupAttr","getNgModelAttr","FormWidgetType","DataType","getFormWidgetTemplate","isMobileApp","generateGUId","getRequiredFormWidget","this","formWidgets","Attribute","getDataSource","getChildAttrs","setChildAttrs","clearChildAttrs","copyAttribute","Element","createElement","noSpan","addAtrribute","Text","isDateTimeType","checkIsCustomPipeExpression","getRowActionAttrs"],"mappings":"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"}