@wavemaker-ai/app-ng-runtime 1.0.0-rc.647469
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.
- package/build-task/.npmignore +2 -0
- package/build-task/advanced/carousel/carousel-template/carousel-template.build.d.ts +2 -0
- package/build-task/advanced/carousel/carousel.build.d.ts +2 -0
- package/build-task/advanced/custom-widget-container/custom-widget-container.build.d.ts +2 -0
- package/build-task/advanced/custom-widget-wrapper/custom-widget-wrapper.build.d.ts +2 -0
- package/build-task/advanced/login/login.build.d.ts +2 -0
- package/build-task/advanced/marquee/marquee.build.d.ts +2 -0
- package/build-task/basic/anchor/anchor.build.d.ts +2 -0
- package/build-task/basic/audio/audio.build.d.ts +2 -0
- package/build-task/basic/html/html.build.d.ts +2 -0
- package/build-task/basic/icon/icon.build.d.ts +2 -0
- package/build-task/basic/iframe/iframe.build.d.ts +2 -0
- package/build-task/basic/label/label.build.d.ts +2 -0
- package/build-task/basic/picture/picture.build.d.ts +2 -0
- package/build-task/basic/progress/progress-bar/progress-bar.build.d.ts +2 -0
- package/build-task/basic/progress/progress-circle/progress-circle.build.d.ts +2 -0
- package/build-task/basic/rich-text-editor/rich-text-editor.build.d.ts +2 -0
- package/build-task/basic/search/search.build.d.ts +2 -0
- package/build-task/basic/spinner/spinner.build.d.ts +2 -0
- package/build-task/basic/tree/tree.build.d.ts +1 -0
- package/build-task/basic/video/video.build.d.ts +2 -0
- package/build-task/bundles/index.umd.js +3106 -0
- package/build-task/chart/chart.build.d.ts +2 -0
- package/build-task/containers/accordion/accordion-pane/accordion-pane.build.d.ts +2 -0
- package/build-task/containers/accordion/accordion.build.d.ts +2 -0
- package/build-task/containers/container.build.d.ts +2 -0
- package/build-task/containers/layout-grid/layout-grid-column/layout-grid-column.build.d.ts +2 -0
- package/build-task/containers/layout-grid/layout-grid-row/layout-grid-row.build.d.ts +2 -0
- package/build-task/containers/layout-grid/layout-grid.build.d.ts +2 -0
- package/build-task/containers/linear-layout/linear-layout-item/linear-layout-item.build.d.ts +2 -0
- package/build-task/containers/linear-layout/linear-layout.build.d.ts +2 -0
- package/build-task/containers/panel/panel.build.d.ts +2 -0
- package/build-task/containers/repeat-template.build.d.ts +2 -0
- package/build-task/containers/segmented-control/segment-content/segment-content.build.d.ts +2 -0
- package/build-task/containers/segmented-control/segmented-control.build.d.ts +2 -0
- package/build-task/containers/tabs/tab-pane/tab-pane.build.d.ts +2 -0
- package/build-task/containers/tabs/tabs.build.d.ts +2 -0
- package/build-task/containers/tile/tile.build.d.ts +2 -0
- package/build-task/containers/wizard/wizard-action/wizard-action.build.d.ts +2 -0
- package/build-task/containers/wizard/wizard-step/wizard-step.build.d.ts +2 -0
- package/build-task/containers/wizard/wizard.build.d.ts +2 -0
- package/build-task/data/card/card-actions/card-actions.build.d.ts +2 -0
- package/build-task/data/card/card-content/card-content.build.d.ts +2 -0
- package/build-task/data/card/card-footer/card-footer.build.d.ts +2 -0
- package/build-task/data/card/card.build.d.ts +2 -0
- package/build-task/data/form/form-action/form-action.build.d.ts +2 -0
- package/build-task/data/form/form-field/form-field.build.d.ts +2 -0
- package/build-task/data/form/form.build.d.ts +2 -0
- package/build-task/data/list/list.build.d.ts +2 -0
- package/build-task/data/live-table/live-table.build.d.ts +2 -0
- package/build-task/data/media-list/media-list-item/media-list-item.build.d.ts +2 -0
- package/build-task/data/media-list/media-list.build.d.ts +2 -0
- package/build-task/data/pagination/pagination.build.d.ts +2 -0
- package/build-task/data/table/table-action/table-action.build.d.ts +2 -0
- package/build-task/data/table/table-column/table-column.build.d.ts +2 -0
- package/build-task/data/table/table-column-group/table-column-group.build.d.ts +2 -0
- package/build-task/data/table/table-row/table-row.build.d.ts +2 -0
- package/build-task/data/table/table-row-action/table-row-action.build.d.ts +2 -0
- package/build-task/data/table/table.build.d.ts +2 -0
- package/build-task/device/barcode-scanner/barcode-scanner.build.d.ts +2 -0
- package/build-task/device/camera/camera.build.d.ts +2 -0
- package/build-task/dialogs/alert-dialog/alert-dialog.build.d.ts +2 -0
- package/build-task/dialogs/base/dialog-footer/dialog-footer.build.d.ts +2 -0
- package/build-task/dialogs/confirm-dialog/confirm-dialog.build.d.ts +2 -0
- package/build-task/dialogs/design-dialog/dialog.build.d.ts +2 -0
- package/build-task/dialogs/iframe-dialog/iframe-dialog.build.d.ts +2 -0
- package/build-task/dialogs/login-dialog/login-dialog.build.d.ts +2 -0
- package/build-task/dialogs/partial-dialog/partial-dialog.build.d.ts +2 -0
- package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +31 -0
- package/build-task/esm2022/advanced/carousel/carousel.build.mjs +45 -0
- package/build-task/esm2022/advanced/custom-widget-container/custom-widget-container.build.mjs +15 -0
- package/build-task/esm2022/advanced/custom-widget-wrapper/custom-widget-wrapper.build.mjs +26 -0
- package/build-task/esm2022/advanced/login/login.build.mjs +15 -0
- package/build-task/esm2022/advanced/marquee/marquee.build.mjs +10 -0
- package/build-task/esm2022/basic/anchor/anchor.build.mjs +15 -0
- package/build-task/esm2022/basic/audio/audio.build.mjs +10 -0
- package/build-task/esm2022/basic/html/html.build.mjs +15 -0
- package/build-task/esm2022/basic/icon/icon.build.mjs +10 -0
- package/build-task/esm2022/basic/iframe/iframe.build.mjs +10 -0
- package/build-task/esm2022/basic/label/label.build.mjs +25 -0
- package/build-task/esm2022/basic/picture/picture.build.mjs +14 -0
- package/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +35 -0
- package/build-task/esm2022/basic/progress/progress-circle/progress-circle.build.mjs +15 -0
- package/build-task/esm2022/basic/rich-text-editor/rich-text-editor.build.mjs +15 -0
- package/build-task/esm2022/basic/search/search.build.mjs +11 -0
- package/build-task/esm2022/basic/spinner/spinner.build.mjs +15 -0
- package/build-task/esm2022/basic/tree/tree.build.mjs +9 -0
- package/build-task/esm2022/basic/video/video.build.mjs +10 -0
- package/build-task/esm2022/chart/chart.build.mjs +10 -0
- package/build-task/esm2022/containers/accordion/accordion-pane/accordion-pane.build.mjs +15 -0
- package/build-task/esm2022/containers/accordion/accordion.build.mjs +40 -0
- package/build-task/esm2022/containers/container.build.mjs +10 -0
- package/build-task/esm2022/containers/layout-grid/layout-grid-column/layout-grid-column.build.mjs +10 -0
- package/build-task/esm2022/containers/layout-grid/layout-grid-row/layout-grid-row.build.mjs +10 -0
- package/build-task/esm2022/containers/layout-grid/layout-grid.build.mjs +10 -0
- package/build-task/esm2022/containers/linear-layout/linear-layout-item/linear-layout-item.build.mjs +10 -0
- package/build-task/esm2022/containers/linear-layout/linear-layout.build.mjs +21 -0
- package/build-task/esm2022/containers/panel/panel.build.mjs +21 -0
- package/build-task/esm2022/containers/repeat-template.build.mjs +26 -0
- package/build-task/esm2022/containers/segmented-control/segment-content/segment-content.build.mjs +10 -0
- package/build-task/esm2022/containers/segmented-control/segmented-control.build.mjs +10 -0
- package/build-task/esm2022/containers/tabs/tab-pane/tab-pane.build.mjs +10 -0
- package/build-task/esm2022/containers/tabs/tabs.build.mjs +40 -0
- package/build-task/esm2022/containers/tile/tile.build.mjs +10 -0
- package/build-task/esm2022/containers/wizard/wizard-action/wizard-action.build.mjs +10 -0
- package/build-task/esm2022/containers/wizard/wizard-step/wizard-step.build.mjs +16 -0
- package/build-task/esm2022/containers/wizard/wizard.build.mjs +39 -0
- package/build-task/esm2022/data/card/card-actions/card-actions.build.mjs +10 -0
- package/build-task/esm2022/data/card/card-content/card-content.build.mjs +10 -0
- package/build-task/esm2022/data/card/card-footer/card-footer.build.mjs +10 -0
- package/build-task/esm2022/data/card/card.build.mjs +10 -0
- package/build-task/esm2022/data/form/form-action/form-action.build.mjs +12 -0
- package/build-task/esm2022/data/form/form-field/form-field.build.mjs +173 -0
- package/build-task/esm2022/data/form/form.build.mjs +161 -0
- package/build-task/esm2022/data/list/list.build.mjs +89 -0
- package/build-task/esm2022/data/live-table/live-table.build.mjs +21 -0
- package/build-task/esm2022/data/media-list/media-list-item/media-list-item.build.mjs +10 -0
- package/build-task/esm2022/data/media-list/media-list.build.mjs +57 -0
- package/build-task/esm2022/data/pagination/pagination.build.mjs +10 -0
- package/build-task/esm2022/data/table/table-action/table-action.build.mjs +10 -0
- package/build-task/esm2022/data/table/table-column/table-column.build.mjs +294 -0
- package/build-task/esm2022/data/table/table-column-group/table-column-group.build.mjs +10 -0
- package/build-task/esm2022/data/table/table-row/table-row.build.mjs +34 -0
- package/build-task/esm2022/data/table/table-row-action/table-row-action.build.mjs +41 -0
- package/build-task/esm2022/data/table/table.build.mjs +86 -0
- package/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +15 -0
- package/build-task/esm2022/device/camera/camera.build.mjs +15 -0
- package/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +10 -0
- package/build-task/esm2022/dialogs/base/dialog-footer/dialog-footer.build.mjs +10 -0
- package/build-task/esm2022/dialogs/confirm-dialog/confirm-dialog.build.mjs +10 -0
- package/build-task/esm2022/dialogs/design-dialog/dialog.build.mjs +17 -0
- package/build-task/esm2022/dialogs/iframe-dialog/iframe-dialog.build.mjs +10 -0
- package/build-task/esm2022/dialogs/login-dialog/login-dialog.build.mjs +10 -0
- package/build-task/esm2022/dialogs/partial-dialog/partial-dialog.build.mjs +40 -0
- package/build-task/esm2022/index.mjs +5 -0
- package/build-task/esm2022/input/calendar/calendar.build.mjs +13 -0
- package/build-task/esm2022/input/chips/chips.build.mjs +11 -0
- package/build-task/esm2022/input/color-picker/color-picker.build.mjs +11 -0
- package/build-task/esm2022/input/currency/currency.build.mjs +11 -0
- package/build-task/esm2022/input/default/button/button.build.mjs +15 -0
- package/build-task/esm2022/input/default/button-group/button-group.build.mjs +10 -0
- package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +18 -0
- package/build-task/esm2022/input/default/checkboxset/checkboxset.build.mjs +11 -0
- package/build-task/esm2022/input/default/composite/composite.build.mjs +10 -0
- package/build-task/esm2022/input/default/number/number.build.mjs +11 -0
- package/build-task/esm2022/input/default/radioset/radioset.build.mjs +15 -0
- package/build-task/esm2022/input/default/select/select.build.mjs +11 -0
- package/build-task/esm2022/input/default/switch/switch.build.mjs +15 -0
- package/build-task/esm2022/input/default/text/text.build.mjs +11 -0
- package/build-task/esm2022/input/default/textarea/textarea.build.mjs +11 -0
- package/build-task/esm2022/input/epoch/date/date.build.mjs +11 -0
- package/build-task/esm2022/input/epoch/date-time/date-time.build.mjs +11 -0
- package/build-task/esm2022/input/epoch/time/time.build.mjs +11 -0
- package/build-task/esm2022/input/file-upload/file-upload.build.mjs +20 -0
- package/build-task/esm2022/input/rating/rating.build.mjs +11 -0
- package/build-task/esm2022/input/slider/slider.build.mjs +11 -0
- package/build-task/esm2022/message/message.build.mjs +15 -0
- package/build-task/esm2022/navigation/breadcrumb/breadcrumb.build.mjs +10 -0
- package/build-task/esm2022/navigation/menu/menu.build.mjs +27 -0
- package/build-task/esm2022/navigation/nav/nav-item/nav-item.build.mjs +10 -0
- package/build-task/esm2022/navigation/nav/nav.build.mjs +10 -0
- package/build-task/esm2022/navigation/navbar/navbar.build.mjs +10 -0
- package/build-task/esm2022/navigation/popover/popover.build.mjs +41 -0
- package/build-task/esm2022/page/content/content.build.mjs +10 -0
- package/build-task/esm2022/page/footer/footer.build.mjs +15 -0
- package/build-task/esm2022/page/header/header.build.mjs +15 -0
- package/build-task/esm2022/page/layout.build.mjs +15 -0
- package/build-task/esm2022/page/left-panel/left-panel.build.mjs +15 -0
- package/build-task/esm2022/page/mobile-navbar/mobile-navbar.build.mjs +10 -0
- package/build-task/esm2022/page/page-content/page-content.build.mjs +36 -0
- package/build-task/esm2022/page/page.build.mjs +59 -0
- package/build-task/esm2022/page/right-panel/right-panel.build.mjs +15 -0
- package/build-task/esm2022/page/router-outlet/router-outlet.build.mjs +10 -0
- package/build-task/esm2022/page/tab-bar/tab-bar.build.mjs +10 -0
- package/build-task/esm2022/page/top-nav/top-nav.build.mjs +15 -0
- package/build-task/esm2022/partial/partial.build.mjs +25 -0
- package/build-task/esm2022/partial-param/partial-param.build.mjs +10 -0
- package/build-task/esm2022/prefab/prefab-container/prefab-container.build.mjs +25 -0
- package/build-task/esm2022/prefab/prefab.build.mjs +10 -0
- package/build-task/esm2022/public_api.mjs +113 -0
- package/build-task/esm2022/utils/utils.mjs +69 -0
- package/build-task/fesm2022/index.mjs +2998 -0
- package/build-task/fesm2022/index.mjs.map +1 -0
- package/build-task/index.d.ts +5 -0
- package/build-task/input/calendar/calendar.build.d.ts +2 -0
- package/build-task/input/chips/chips.build.d.ts +2 -0
- package/build-task/input/color-picker/color-picker.build.d.ts +2 -0
- package/build-task/input/currency/currency.build.d.ts +2 -0
- package/build-task/input/default/button/button.build.d.ts +2 -0
- package/build-task/input/default/button-group/button-group.build.d.ts +2 -0
- package/build-task/input/default/checkbox/checkbox.build.d.ts +2 -0
- package/build-task/input/default/checkboxset/checkboxset.build.d.ts +2 -0
- package/build-task/input/default/composite/composite.build.d.ts +2 -0
- package/build-task/input/default/number/number.build.d.ts +2 -0
- package/build-task/input/default/radioset/radioset.build.d.ts +2 -0
- package/build-task/input/default/select/select.build.d.ts +2 -0
- package/build-task/input/default/switch/switch.build.d.ts +2 -0
- package/build-task/input/default/text/text.build.d.ts +2 -0
- package/build-task/input/default/textarea/textarea.build.d.ts +2 -0
- package/build-task/input/epoch/date/date.build.d.ts +2 -0
- package/build-task/input/epoch/date-time/date-time.build.d.ts +2 -0
- package/build-task/input/epoch/time/time.build.d.ts +2 -0
- package/build-task/input/file-upload/file-upload.build.d.ts +2 -0
- package/build-task/input/rating/rating.build.d.ts +2 -0
- package/build-task/input/slider/slider.build.d.ts +2 -0
- package/build-task/message/message.build.d.ts +2 -0
- package/build-task/navigation/breadcrumb/breadcrumb.build.d.ts +2 -0
- package/build-task/navigation/menu/menu.build.d.ts +2 -0
- package/build-task/navigation/nav/nav-item/nav-item.build.d.ts +2 -0
- package/build-task/navigation/nav/nav.build.d.ts +2 -0
- package/build-task/navigation/navbar/navbar.build.d.ts +2 -0
- package/build-task/navigation/popover/popover.build.d.ts +2 -0
- package/build-task/package.json +25 -0
- package/build-task/page/content/content.build.d.ts +2 -0
- package/build-task/page/footer/footer.build.d.ts +2 -0
- package/build-task/page/header/header.build.d.ts +2 -0
- package/build-task/page/layout.build.d.ts +2 -0
- package/build-task/page/left-panel/left-panel.build.d.ts +2 -0
- package/build-task/page/mobile-navbar/mobile-navbar.build.d.ts +2 -0
- package/build-task/page/page-content/page-content.build.d.ts +2 -0
- package/build-task/page/page.build.d.ts +2 -0
- package/build-task/page/right-panel/right-panel.build.d.ts +2 -0
- package/build-task/page/router-outlet/router-outlet.build.d.ts +2 -0
- package/build-task/page/tab-bar/tab-bar.build.d.ts +2 -0
- package/build-task/page/top-nav/top-nav.build.d.ts +2 -0
- package/build-task/partial/partial.build.d.ts +2 -0
- package/build-task/partial-param/partial-param.build.d.ts +2 -0
- package/build-task/prefab/prefab-container/prefab-container.build.d.ts +2 -0
- package/build-task/prefab/prefab.build.d.ts +2 -0
- package/build-task/public_api.d.ts +112 -0
- package/build-task/utils/utils.d.ts +21 -0
- package/components/advanced/carousel/.npmignore +2 -0
- package/components/advanced/carousel/bundles/index.umd.js +352 -0
- package/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +9 -0
- package/components/advanced/carousel/carousel-template/carousel-template.props.d.ts +1 -0
- package/components/advanced/carousel/carousel.animator.d.ts +45 -0
- package/components/advanced/carousel/carousel.directive.d.ts +35 -0
- package/components/advanced/carousel/carousel.props.d.ts +1 -0
- package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +32 -0
- package/components/advanced/carousel/esm2022/carousel-template/carousel-template.props.mjs +7 -0
- package/components/advanced/carousel/esm2022/carousel.animator.mjs +149 -0
- package/components/advanced/carousel/esm2022/carousel.directive.mjs +135 -0
- package/components/advanced/carousel/esm2022/carousel.props.mjs +13 -0
- package/components/advanced/carousel/esm2022/index.mjs +5 -0
- package/components/advanced/carousel/esm2022/public_api.mjs +4 -0
- package/components/advanced/carousel/fesm2022/index.mjs +335 -0
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -0
- package/components/advanced/carousel/index.d.ts +5 -0
- package/components/advanced/carousel/package.json +20 -0
- package/components/advanced/carousel/public_api.d.ts +3 -0
- package/components/advanced/custom/.npmignore +2 -0
- package/components/advanced/custom/bundles/index.umd.js +258 -0
- package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +29 -0
- package/components/advanced/custom/custom-widget-container/custom-widget.props.d.ts +2 -0
- package/components/advanced/custom/custom-widget-prop.d.ts +1 -0
- package/components/advanced/custom/custom-widget.directive.d.ts +19 -0
- package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +156 -0
- package/components/advanced/custom/esm2022/custom-widget-container/custom-widget.props.mjs +12 -0
- package/components/advanced/custom/esm2022/custom-widget-prop.mjs +8 -0
- package/components/advanced/custom/esm2022/custom-widget.directive.mjs +70 -0
- package/components/advanced/custom/esm2022/index.mjs +5 -0
- package/components/advanced/custom/esm2022/public_api.mjs +3 -0
- package/components/advanced/custom/fesm2022/index.mjs +244 -0
- package/components/advanced/custom/fesm2022/index.mjs.map +1 -0
- package/components/advanced/custom/index.d.ts +5 -0
- package/components/advanced/custom/package.json +20 -0
- package/components/advanced/custom/public_api.d.ts +2 -0
- package/components/advanced/login/.npmignore +2 -0
- package/components/advanced/login/bundles/index.umd.js +135 -0
- package/components/advanced/login/esm2022/index.mjs +5 -0
- package/components/advanced/login/esm2022/login.component.mjs +107 -0
- package/components/advanced/login/esm2022/login.props.mjs +8 -0
- package/components/advanced/login/esm2022/public_api.mjs +2 -0
- package/components/advanced/login/fesm2022/index.mjs +120 -0
- package/components/advanced/login/fesm2022/index.mjs.map +1 -0
- package/components/advanced/login/index.d.ts +5 -0
- package/components/advanced/login/login.component.d.ts +31 -0
- package/components/advanced/login/login.props.d.ts +1 -0
- package/components/advanced/login/package.json +20 -0
- package/components/advanced/login/public_api.d.ts +1 -0
- package/components/advanced/marquee/.npmignore +2 -0
- package/components/advanced/marquee/bundles/index.umd.js +71 -0
- package/components/advanced/marquee/esm2022/index.mjs +5 -0
- package/components/advanced/marquee/esm2022/marquee.directive.mjs +36 -0
- package/components/advanced/marquee/esm2022/marquee.props.mjs +12 -0
- package/components/advanced/marquee/esm2022/public_api.mjs +2 -0
- package/components/advanced/marquee/fesm2022/index.mjs +53 -0
- package/components/advanced/marquee/fesm2022/index.mjs.map +1 -0
- package/components/advanced/marquee/index.d.ts +5 -0
- package/components/advanced/marquee/marquee.directive.d.ts +9 -0
- package/components/advanced/marquee/marquee.props.d.ts +1 -0
- package/components/advanced/marquee/package.json +20 -0
- package/components/advanced/marquee/public_api.d.ts +1 -0
- package/components/base/.npmignore +2 -0
- package/components/base/bundles/index.umd.js +5982 -0
- package/components/base/decorators/autolayout.decorator.d.ts +4 -0
- package/components/base/decorators/autolayout.props.d.ts +1 -0
- package/components/base/directives/show-in-device.directive.d.ts +16 -0
- package/components/base/esm2022/decorators/autolayout.decorator.mjs +476 -0
- package/components/base/esm2022/decorators/autolayout.props.mjs +20 -0
- package/components/base/esm2022/directives/show-in-device.directive.mjs +90 -0
- package/components/base/esm2022/index.mjs +5 -0
- package/components/base/esm2022/pipes/custom-pipes.mjs +473 -0
- package/components/base/esm2022/pipes/image.pipe.mjs +19 -0
- package/components/base/esm2022/pipes/sanitize.pipe.mjs +44 -0
- package/components/base/esm2022/pipes/trust-as.pipe.mjs +41 -0
- package/components/base/esm2022/pipes/wm-pipe.mjs +18 -0
- package/components/base/esm2022/public_api.mjs +36 -0
- package/components/base/esm2022/utils/autolayout-utils.mjs +261 -0
- package/components/base/esm2022/utils/data-utils.mjs +581 -0
- package/components/base/esm2022/utils/form-utils.mjs +451 -0
- package/components/base/esm2022/utils/live-utils.mjs +216 -0
- package/components/base/esm2022/utils/widget-utils.mjs +495 -0
- package/components/base/esm2022/widgets/common/base/base-container.component.mjs +80 -0
- package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +295 -0
- package/components/base/esm2022/widgets/common/base/base.component.mjs +713 -0
- package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +48 -0
- package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +222 -0
- package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +115 -0
- package/components/base/esm2022/widgets/common/base/stylable.component.mjs +11 -0
- package/components/base/esm2022/widgets/common/base/text-content.directive.mjs +26 -0
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +51 -0
- package/components/base/esm2022/widgets/common/container/container.props.mjs +15 -0
- package/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +170 -0
- package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +89 -0
- package/components/base/esm2022/widgets/common/item-template/item-template.props.mjs +7 -0
- package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +84 -0
- package/components/base/esm2022/widgets/common/message/message.component.mjs +104 -0
- package/components/base/esm2022/widgets/common/message/message.props.mjs +13 -0
- package/components/base/esm2022/widgets/common/partial/partial.directive.mjs +53 -0
- package/components/base/esm2022/widgets/common/partial/partial.props.mjs +7 -0
- package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +88 -0
- package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +261 -0
- package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +40 -0
- package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +33 -0
- package/components/base/esm2022/widgets/common/repeat-template/repeat-template.props.mjs +7 -0
- package/components/base/esm2022/widgets/framework/constants.mjs +36 -0
- package/components/base/esm2022/widgets/framework/deviceview.mjs +126 -0
- package/components/base/esm2022/widgets/framework/property-change-handler.mjs +96 -0
- package/components/base/esm2022/widgets/framework/styler.mjs +123 -0
- package/components/base/esm2022/widgets/framework/types.mjs +8 -0
- package/components/base/esm2022/widgets/framework/widget-id-generator.mjs +3 -0
- package/components/base/esm2022/widgets/framework/widget-props.mjs +35 -0
- package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +75 -0
- package/components/base/esm2022/widgets/framework/widget-registry.mjs +49 -0
- package/components/base/fesm2022/index.mjs +5858 -0
- package/components/base/fesm2022/index.mjs.map +1 -0
- package/components/base/index.d.ts +5 -0
- package/components/base/package.json +28 -0
- package/components/base/pipes/custom-pipes.d.ts +104 -0
- package/components/base/pipes/image.pipe.d.ts +7 -0
- package/components/base/pipes/sanitize.pipe.d.ts +10 -0
- package/components/base/pipes/trust-as.pipe.d.ts +10 -0
- package/components/base/pipes/wm-pipe.d.ts +9 -0
- package/components/base/public_api.d.ts +35 -0
- package/components/base/utils/autolayout-utils.d.ts +29 -0
- package/components/base/utils/data-utils.d.ts +181 -0
- package/components/base/utils/form-utils.d.ts +85 -0
- package/components/base/utils/live-utils.d.ts +65 -0
- package/components/base/utils/widget-utils.d.ts +120 -0
- package/components/base/widgets/common/base/base-container.component.d.ts +16 -0
- package/components/base/widgets/common/base/base-field-validations.d.ts +27 -0
- package/components/base/widgets/common/base/base.component.d.ts +276 -0
- package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +15 -0
- package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +77 -0
- package/components/base/widgets/common/base/partial-container.directive.d.ts +22 -0
- package/components/base/widgets/common/base/stylable.component.d.ts +54 -0
- package/components/base/widgets/common/base/text-content.directive.d.ts +9 -0
- package/components/base/widgets/common/container/container.directive.d.ts +12 -0
- package/components/base/widgets/common/container/container.props.d.ts +1 -0
- package/components/base/widgets/common/dialog/dialog.service.d.ts +54 -0
- package/components/base/widgets/common/item-template/item-template.directive.d.ts +32 -0
- package/components/base/widgets/common/item-template/item-template.props.d.ts +1 -0
- package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +15 -0
- package/components/base/widgets/common/message/message.component.d.ts +19 -0
- package/components/base/widgets/common/message/message.props.d.ts +1 -0
- package/components/base/widgets/common/partial/partial.directive.d.ts +15 -0
- package/components/base/widgets/common/partial/partial.props.d.ts +1 -0
- package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +21 -0
- package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +48 -0
- package/components/base/widgets/common/redraw/redrawable.directive.d.ts +8 -0
- package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +9 -0
- package/components/base/widgets/common/repeat-template/repeat-template.props.d.ts +1 -0
- package/components/base/widgets/framework/constants.d.ts +16 -0
- package/components/base/widgets/framework/deviceview.d.ts +1 -0
- package/components/base/widgets/framework/property-change-handler.d.ts +8 -0
- package/components/base/widgets/framework/styler.d.ts +59 -0
- package/components/base/widgets/framework/types.d.ts +23 -0
- package/components/base/widgets/framework/widget-id-generator.d.ts +2 -0
- package/components/base/widgets/framework/widget-props.d.ts +12 -0
- package/components/base/widgets/framework/widget-proxy-provider.d.ts +11 -0
- package/components/base/widgets/framework/widget-registry.d.ts +14 -0
- package/components/basic/anchor/.npmignore +2 -0
- package/components/basic/anchor/anchor.component.d.ts +37 -0
- package/components/basic/anchor/anchor.props.d.ts +1 -0
- package/components/basic/anchor/bundles/index.umd.js +204 -0
- package/components/basic/anchor/esm2022/anchor.component.mjs +155 -0
- package/components/basic/anchor/esm2022/anchor.props.mjs +27 -0
- package/components/basic/anchor/esm2022/index.mjs +5 -0
- package/components/basic/anchor/esm2022/public_api.mjs +2 -0
- package/components/basic/anchor/fesm2022/index.mjs +187 -0
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -0
- package/components/basic/anchor/index.d.ts +5 -0
- package/components/basic/anchor/package.json +20 -0
- package/components/basic/anchor/public_api.d.ts +1 -0
- package/components/basic/audio/.npmignore +2 -0
- package/components/basic/audio/audio.component.d.ts +20 -0
- package/components/basic/audio/audio.props.d.ts +1 -0
- package/components/basic/audio/bundles/index.umd.js +83 -0
- package/components/basic/audio/esm2022/audio.component.mjs +41 -0
- package/components/basic/audio/esm2022/audio.props.mjs +19 -0
- package/components/basic/audio/esm2022/index.mjs +5 -0
- package/components/basic/audio/esm2022/public_api.mjs +2 -0
- package/components/basic/audio/fesm2022/index.mjs +65 -0
- package/components/basic/audio/fesm2022/index.mjs.map +1 -0
- package/components/basic/audio/index.d.ts +5 -0
- package/components/basic/audio/package.json +20 -0
- package/components/basic/audio/public_api.d.ts +1 -0
- package/components/basic/html/.npmignore +2 -0
- package/components/basic/html/bundles/index.umd.js +122 -0
- package/components/basic/html/esm2022/html.directive.mjs +88 -0
- package/components/basic/html/esm2022/html.props.mjs +12 -0
- package/components/basic/html/esm2022/index.mjs +5 -0
- package/components/basic/html/esm2022/public_api.mjs +2 -0
- package/components/basic/html/fesm2022/index.mjs +105 -0
- package/components/basic/html/fesm2022/index.mjs.map +1 -0
- package/components/basic/html/html.directive.d.ts +14 -0
- package/components/basic/html/html.props.d.ts +1 -0
- package/components/basic/html/index.d.ts +5 -0
- package/components/basic/html/package.json +20 -0
- package/components/basic/html/public_api.d.ts +1 -0
- package/components/basic/icon/.npmignore +2 -0
- package/components/basic/icon/bundles/index.umd.js +80 -0
- package/components/basic/icon/esm2022/icon.component.mjs +38 -0
- package/components/basic/icon/esm2022/icon.props.mjs +19 -0
- package/components/basic/icon/esm2022/index.mjs +5 -0
- package/components/basic/icon/esm2022/public_api.mjs +2 -0
- package/components/basic/icon/fesm2022/index.mjs +62 -0
- package/components/basic/icon/fesm2022/index.mjs.map +1 -0
- package/components/basic/icon/icon.component.d.ts +15 -0
- package/components/basic/icon/icon.props.d.ts +1 -0
- package/components/basic/icon/index.d.ts +5 -0
- package/components/basic/icon/package.json +20 -0
- package/components/basic/icon/public_api.d.ts +1 -0
- package/components/basic/iframe/.npmignore +2 -0
- package/components/basic/iframe/bundles/index.umd.js +101 -0
- package/components/basic/iframe/esm2022/iframe.component.mjs +65 -0
- package/components/basic/iframe/esm2022/iframe.props.mjs +15 -0
- package/components/basic/iframe/esm2022/index.mjs +5 -0
- package/components/basic/iframe/esm2022/public_api.mjs +2 -0
- package/components/basic/iframe/fesm2022/index.mjs +84 -0
- package/components/basic/iframe/fesm2022/index.mjs.map +1 -0
- package/components/basic/iframe/iframe.component.d.ts +26 -0
- package/components/basic/iframe/iframe.props.d.ts +1 -0
- package/components/basic/iframe/index.d.ts +5 -0
- package/components/basic/iframe/package.json +20 -0
- package/components/basic/iframe/public_api.d.ts +1 -0
- package/components/basic/label/.npmignore +2 -0
- package/components/basic/label/bundles/index.umd.js +129 -0
- package/components/basic/label/esm2022/index.mjs +5 -0
- package/components/basic/label/esm2022/label.directive.mjs +91 -0
- package/components/basic/label/esm2022/label.props.mjs +17 -0
- package/components/basic/label/esm2022/public_api.mjs +2 -0
- package/components/basic/label/fesm2022/index.mjs +113 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -0
- package/components/basic/label/index.d.ts +5 -0
- package/components/basic/label/label.directive.d.ts +12 -0
- package/components/basic/label/label.props.d.ts +1 -0
- package/components/basic/label/package.json +20 -0
- package/components/basic/label/public_api.d.ts +1 -0
- package/components/basic/picture/.npmignore +2 -0
- package/components/basic/picture/bundles/index.umd.js +138 -0
- package/components/basic/picture/esm2022/index.mjs +5 -0
- package/components/basic/picture/esm2022/picture.directive.mjs +93 -0
- package/components/basic/picture/esm2022/picture.props.mjs +23 -0
- package/components/basic/picture/esm2022/public_api.mjs +2 -0
- package/components/basic/picture/fesm2022/index.mjs +121 -0
- package/components/basic/picture/fesm2022/index.mjs.map +1 -0
- package/components/basic/picture/index.d.ts +5 -0
- package/components/basic/picture/package.json +20 -0
- package/components/basic/picture/picture.directive.d.ts +19 -0
- package/components/basic/picture/picture.props.d.ts +1 -0
- package/components/basic/picture/public_api.d.ts +1 -0
- package/components/basic/progress/progress-bar/.npmignore +2 -0
- package/components/basic/progress/progress-bar/bundles/index.umd.js +170 -0
- package/components/basic/progress/progress-bar/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-bar/esm2022/progress-bar.component.mjs +130 -0
- package/components/basic/progress/progress-bar/esm2022/progress-bar.props.mjs +19 -0
- package/components/basic/progress/progress-bar/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs +154 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-bar/index.d.ts +5 -0
- package/components/basic/progress/progress-bar/package.json +20 -0
- package/components/basic/progress/progress-bar/progress-bar.component.d.ts +43 -0
- package/components/basic/progress/progress-bar/progress-bar.props.d.ts +1 -0
- package/components/basic/progress/progress-bar/public_api.d.ts +1 -0
- package/components/basic/progress/progress-circle/.npmignore +2 -0
- package/components/basic/progress/progress-circle/bundles/index.umd.js +171 -0
- package/components/basic/progress/progress-circle/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +130 -0
- package/components/basic/progress/progress-circle/esm2022/progress-circle.props.mjs +21 -0
- package/components/basic/progress/progress-circle/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +155 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-circle/index.d.ts +5 -0
- package/components/basic/progress/progress-circle/package.json +20 -0
- package/components/basic/progress/progress-circle/progress-circle.component.d.ts +40 -0
- package/components/basic/progress/progress-circle/progress-circle.props.d.ts +1 -0
- package/components/basic/progress/progress-circle/public_api.d.ts +1 -0
- package/components/basic/progress/progress-utils/.npmignore +2 -0
- package/components/basic/progress/progress-utils/bundles/index.umd.js +35 -0
- package/components/basic/progress/progress-utils/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-utils/esm2022/progress-utils.mjs +25 -0
- package/components/basic/progress/progress-utils/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs +32 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-utils/index.d.ts +5 -0
- package/components/basic/progress/progress-utils/package.json +20 -0
- package/components/basic/progress/progress-utils/progress-utils.d.ts +3 -0
- package/components/basic/progress/progress-utils/public_api.d.ts +1 -0
- package/components/basic/rich-text-editor/.npmignore +2 -0
- package/components/basic/rich-text-editor/bundles/index.umd.js +236 -0
- package/components/basic/rich-text-editor/esm2022/index.mjs +5 -0
- package/components/basic/rich-text-editor/esm2022/public_api.mjs +2 -0
- package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +197 -0
- package/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +21 -0
- package/components/basic/rich-text-editor/fesm2022/index.mjs +222 -0
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -0
- package/components/basic/rich-text-editor/index.d.ts +5 -0
- package/components/basic/rich-text-editor/package.json +20 -0
- package/components/basic/rich-text-editor/public_api.d.ts +1 -0
- package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +55 -0
- package/components/basic/rich-text-editor/rich-text-editor.props.d.ts +2 -0
- package/components/basic/search/.npmignore +2 -0
- package/components/basic/search/bundles/index.umd.js +1091 -0
- package/components/basic/search/data-provider/data-provider.d.ts +42 -0
- package/components/basic/search/data-provider/local-data-provider.d.ts +5 -0
- package/components/basic/search/data-provider/remote-data-provider.d.ts +10 -0
- package/components/basic/search/esm2022/data-provider/data-provider.mjs +34 -0
- package/components/basic/search/esm2022/data-provider/local-data-provider.mjs +77 -0
- package/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +124 -0
- package/components/basic/search/esm2022/index.mjs +5 -0
- package/components/basic/search/esm2022/public_api.mjs +3 -0
- package/components/basic/search/esm2022/scrollable.directive.mjs +44 -0
- package/components/basic/search/esm2022/search.component.mjs +754 -0
- package/components/basic/search/esm2022/search.props.mjs +55 -0
- package/components/basic/search/fesm2022/index.mjs +1080 -0
- package/components/basic/search/fesm2022/index.mjs.map +1 -0
- package/components/basic/search/index.d.ts +5 -0
- package/components/basic/search/package.json +20 -0
- package/components/basic/search/public_api.d.ts +2 -0
- package/components/basic/search/scrollable.directive.d.ts +14 -0
- package/components/basic/search/search.component.d.ts +109 -0
- package/components/basic/search/search.props.d.ts +2 -0
- package/components/basic/spinner/.npmignore +2 -0
- package/components/basic/spinner/bundles/index.umd.js +126 -0
- package/components/basic/spinner/esm2022/index.mjs +5 -0
- package/components/basic/spinner/esm2022/public_api.mjs +2 -0
- package/components/basic/spinner/esm2022/spinner.component.mjs +87 -0
- package/components/basic/spinner/esm2022/spinner.props.mjs +20 -0
- package/components/basic/spinner/fesm2022/index.mjs +111 -0
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -0
- package/components/basic/spinner/index.d.ts +5 -0
- package/components/basic/spinner/package.json +20 -0
- package/components/basic/spinner/public_api.d.ts +1 -0
- package/components/basic/spinner/spinner.component.d.ts +27 -0
- package/components/basic/spinner/spinner.props.d.ts +1 -0
- package/components/basic/tree/.npmignore +2 -0
- package/components/basic/tree/bundles/index.umd.js +566 -0
- package/components/basic/tree/esm2022/index.mjs +5 -0
- package/components/basic/tree/esm2022/public_api.mjs +2 -0
- package/components/basic/tree/esm2022/tree-node-template-host.component.mjs +33 -0
- package/components/basic/tree/esm2022/tree.component.mjs +494 -0
- package/components/basic/tree/esm2022/tree.props.mjs +22 -0
- package/components/basic/tree/fesm2022/index.mjs +550 -0
- package/components/basic/tree/fesm2022/index.mjs.map +1 -0
- package/components/basic/tree/index.d.ts +5 -0
- package/components/basic/tree/package.json +20 -0
- package/components/basic/tree/public_api.d.ts +1 -0
- package/components/basic/tree/tree-node-template-host.component.d.ts +7 -0
- package/components/basic/tree/tree.component.d.ts +66 -0
- package/components/basic/tree/tree.props.d.ts +1 -0
- package/components/basic/video/.npmignore +2 -0
- package/components/basic/video/bundles/index.umd.js +116 -0
- package/components/basic/video/esm2022/index.mjs +5 -0
- package/components/basic/video/esm2022/public_api.mjs +2 -0
- package/components/basic/video/esm2022/video.component.mjs +70 -0
- package/components/basic/video/esm2022/video.props.mjs +24 -0
- package/components/basic/video/fesm2022/index.mjs +99 -0
- package/components/basic/video/fesm2022/index.mjs.map +1 -0
- package/components/basic/video/index.d.ts +5 -0
- package/components/basic/video/package.json +20 -0
- package/components/basic/video/public_api.d.ts +1 -0
- package/components/basic/video/video.component.d.ts +27 -0
- package/components/basic/video/video.props.d.ts +1 -0
- package/components/chart/.npmignore +2 -0
- package/components/chart/bundles/index.umd.js +1747 -0
- package/components/chart/chart.component.d.ts +99 -0
- package/components/chart/chart.props.d.ts +1 -0
- package/components/chart/chart.utils.d.ts +40 -0
- package/components/chart/esm2022/chart.component.mjs +982 -0
- package/components/chart/esm2022/chart.props.mjs +67 -0
- package/components/chart/esm2022/chart.utils.mjs +723 -0
- package/components/chart/esm2022/index.mjs +5 -0
- package/components/chart/esm2022/public_api.mjs +2 -0
- package/components/chart/fesm2022/index.mjs +1774 -0
- package/components/chart/fesm2022/index.mjs.map +1 -0
- package/components/chart/index.d.ts +5 -0
- package/components/chart/package.json +20 -0
- package/components/chart/public_api.d.ts +1 -0
- package/components/containers/accordion/.npmignore +2 -0
- package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +50 -0
- package/components/containers/accordion/accordion-pane/accordion-pane.props.d.ts +1 -0
- package/components/containers/accordion/accordion.directive.d.ts +66 -0
- package/components/containers/accordion/accordion.props.d.ts +1 -0
- package/components/containers/accordion/bundles/index.umd.js +500 -0
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +145 -0
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.props.mjs +22 -0
- package/components/containers/accordion/esm2022/accordion.directive.mjs +309 -0
- package/components/containers/accordion/esm2022/accordion.props.mjs +16 -0
- package/components/containers/accordion/esm2022/index.mjs +5 -0
- package/components/containers/accordion/esm2022/public_api.mjs +3 -0
- package/components/containers/accordion/fesm2022/index.mjs +486 -0
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -0
- package/components/containers/accordion/index.d.ts +5 -0
- package/components/containers/accordion/package.json +20 -0
- package/components/containers/accordion/public_api.d.ts +2 -0
- package/components/containers/layout-grid/.npmignore +2 -0
- package/components/containers/layout-grid/bundles/index.umd.js +172 -0
- package/components/containers/layout-grid/esm2022/index.mjs +5 -0
- package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +57 -0
- package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.props.mjs +11 -0
- package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +36 -0
- package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.props.mjs +9 -0
- package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +36 -0
- package/components/containers/layout-grid/esm2022/layout-grid.props.mjs +9 -0
- package/components/containers/layout-grid/esm2022/public_api.mjs +4 -0
- package/components/containers/layout-grid/fesm2022/index.mjs +153 -0
- package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -0
- package/components/containers/layout-grid/index.d.ts +5 -0
- package/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +12 -0
- package/components/containers/layout-grid/layout-grid-column/layout-grid-column.props.d.ts +1 -0
- package/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +9 -0
- package/components/containers/layout-grid/layout-grid-row/layout-grid-row.props.d.ts +1 -0
- package/components/containers/layout-grid/layout-grid.directive.d.ts +9 -0
- package/components/containers/layout-grid/layout-grid.props.d.ts +1 -0
- package/components/containers/layout-grid/package.json +20 -0
- package/components/containers/layout-grid/public_api.d.ts +3 -0
- package/components/containers/linear-layout/.npmignore +2 -0
- package/components/containers/linear-layout/bundles/index.umd.js +186 -0
- package/components/containers/linear-layout/esm2022/index.mjs +5 -0
- package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +44 -0
- package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.props.mjs +10 -0
- package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +100 -0
- package/components/containers/linear-layout/esm2022/linear-layout.props.mjs +13 -0
- package/components/containers/linear-layout/esm2022/public_api.mjs +3 -0
- package/components/containers/linear-layout/fesm2022/index.mjs +167 -0
- package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -0
- package/components/containers/linear-layout/index.d.ts +5 -0
- package/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +10 -0
- package/components/containers/linear-layout/linear-layout-item/linear-layout-item.props.d.ts +1 -0
- package/components/containers/linear-layout/linear-layout.directive.d.ts +16 -0
- package/components/containers/linear-layout/linear-layout.props.d.ts +1 -0
- package/components/containers/linear-layout/package.json +20 -0
- package/components/containers/linear-layout/public_api.d.ts +2 -0
- package/components/containers/panel/.npmignore +2 -0
- package/components/containers/panel/bundles/index.umd.js +223 -0
- package/components/containers/panel/esm2022/index.mjs +5 -0
- package/components/containers/panel/esm2022/panel.component.mjs +168 -0
- package/components/containers/panel/esm2022/panel.props.mjs +38 -0
- package/components/containers/panel/esm2022/public_api.mjs +2 -0
- package/components/containers/panel/fesm2022/index.mjs +210 -0
- package/components/containers/panel/fesm2022/index.mjs.map +1 -0
- package/components/containers/panel/index.d.ts +5 -0
- package/components/containers/panel/package.json +20 -0
- package/components/containers/panel/panel.component.d.ts +43 -0
- package/components/containers/panel/panel.props.d.ts +1 -0
- package/components/containers/panel/public_api.d.ts +1 -0
- package/components/containers/tabs/.npmignore +2 -0
- package/components/containers/tabs/bundles/index.umd.js +788 -0
- package/components/containers/tabs/esm2022/index.mjs +5 -0
- package/components/containers/tabs/esm2022/public_api.mjs +3 -0
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +179 -0
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.props.mjs +22 -0
- package/components/containers/tabs/esm2022/tabs.animator.mjs +83 -0
- package/components/containers/tabs/esm2022/tabs.component.mjs +478 -0
- package/components/containers/tabs/esm2022/tabs.props.mjs +20 -0
- package/components/containers/tabs/fesm2022/index.mjs +775 -0
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -0
- package/components/containers/tabs/index.d.ts +5 -0
- package/components/containers/tabs/package.json +20 -0
- package/components/containers/tabs/public_api.d.ts +2 -0
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +41 -0
- package/components/containers/tabs/tab-pane/tab-pane.props.d.ts +1 -0
- package/components/containers/tabs/tabs.animator.d.ts +30 -0
- package/components/containers/tabs/tabs.component.d.ts +87 -0
- package/components/containers/tabs/tabs.props.d.ts +1 -0
- package/components/containers/tile/.npmignore +2 -0
- package/components/containers/tile/bundles/index.umd.js +68 -0
- package/components/containers/tile/esm2022/index.mjs +5 -0
- package/components/containers/tile/esm2022/public_api.mjs +2 -0
- package/components/containers/tile/esm2022/tile.directive.mjs +33 -0
- package/components/containers/tile/esm2022/tile.props.mjs +12 -0
- package/components/containers/tile/fesm2022/index.mjs +50 -0
- package/components/containers/tile/fesm2022/index.mjs.map +1 -0
- package/components/containers/tile/index.d.ts +5 -0
- package/components/containers/tile/package.json +20 -0
- package/components/containers/tile/public_api.d.ts +1 -0
- package/components/containers/tile/tile.directive.d.ts +9 -0
- package/components/containers/tile/tile.props.d.ts +1 -0
- package/components/containers/wizard/.npmignore +2 -0
- package/components/containers/wizard/bundles/index.umd.js +1074 -0
- package/components/containers/wizard/esm2022/index.mjs +5 -0
- package/components/containers/wizard/esm2022/public_api.mjs +4 -0
- package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +35 -0
- package/components/containers/wizard/esm2022/wizard-action/wizard-action.props.mjs +9 -0
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +182 -0
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.props.mjs +17 -0
- package/components/containers/wizard/esm2022/wizard.component.mjs +801 -0
- package/components/containers/wizard/esm2022/wizard.props.mjs +22 -0
- package/components/containers/wizard/fesm2022/index.mjs +1058 -0
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -0
- package/components/containers/wizard/index.d.ts +5 -0
- package/components/containers/wizard/package.json +20 -0
- package/components/containers/wizard/public_api.d.ts +3 -0
- package/components/containers/wizard/wizard-action/wizard-action.directive.d.ts +9 -0
- package/components/containers/wizard/wizard-action/wizard-action.props.d.ts +1 -0
- package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +59 -0
- package/components/containers/wizard/wizard-step/wizard-step.props.d.ts +1 -0
- package/components/containers/wizard/wizard.component.d.ts +192 -0
- package/components/containers/wizard/wizard.props.d.ts +1 -0
- package/components/data/card/.npmignore +2 -0
- package/components/data/card/bundles/index.umd.js +237 -0
- package/components/data/card/card-actions/card-actions.directive.d.ts +9 -0
- package/components/data/card/card-actions/card-actions.props.d.ts +1 -0
- package/components/data/card/card-content/card-content.component.d.ts +12 -0
- package/components/data/card/card-content/card-content.props.d.ts +1 -0
- package/components/data/card/card-footer/card-footer.directive.d.ts +9 -0
- package/components/data/card/card-footer/card-footer.props.d.ts +1 -0
- package/components/data/card/card.component.d.ts +23 -0
- package/components/data/card/card.props.d.ts +1 -0
- package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +31 -0
- package/components/data/card/esm2022/card-actions/card-actions.props.mjs +9 -0
- package/components/data/card/esm2022/card-content/card-content.component.mjs +43 -0
- package/components/data/card/esm2022/card-content/card-content.props.mjs +10 -0
- package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +31 -0
- package/components/data/card/esm2022/card-footer/card-footer.props.mjs +9 -0
- package/components/data/card/esm2022/card.component.mjs +75 -0
- package/components/data/card/esm2022/card.props.mjs +24 -0
- package/components/data/card/esm2022/index.mjs +5 -0
- package/components/data/card/esm2022/public_api.mjs +5 -0
- package/components/data/card/fesm2022/index.mjs +220 -0
- package/components/data/card/fesm2022/index.mjs.map +1 -0
- package/components/data/card/index.d.ts +5 -0
- package/components/data/card/package.json +20 -0
- package/components/data/card/public_api.d.ts +4 -0
- package/components/data/form/.npmignore +2 -0
- package/components/data/form/bundles/index.umd.js +3308 -0
- package/components/data/form/esm2022/form-action/form-action.directive.mjs +86 -0
- package/components/data/form/esm2022/form-action/form-action.props.mjs +25 -0
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +611 -0
- package/components/data/form/esm2022/form-field/form-field.props.mjs +52 -0
- package/components/data/form/esm2022/form-widget.directive.mjs +83 -0
- package/components/data/form/esm2022/form.component.mjs +1247 -0
- package/components/data/form/esm2022/form.props.mjs +64 -0
- package/components/data/form/esm2022/index.mjs +5 -0
- package/components/data/form/esm2022/live-actions/dependson.directive.mjs +151 -0
- package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +173 -0
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +356 -0
- package/components/data/form/esm2022/live-form/live-form.directive.mjs +502 -0
- package/components/data/form/esm2022/public_api.mjs +9 -0
- package/components/data/form/fesm2022/index.mjs +3296 -0
- package/components/data/form/fesm2022/index.mjs.map +1 -0
- package/components/data/form/form-action/form-action.directive.d.ts +35 -0
- package/components/data/form/form-action/form-action.props.d.ts +1 -0
- package/components/data/form/form-field/form-field.directive.d.ts +116 -0
- package/components/data/form/form-field/form-field.props.d.ts +1 -0
- package/components/data/form/form-widget.directive.d.ts +19 -0
- package/components/data/form/form.component.d.ts +211 -0
- package/components/data/form/form.props.d.ts +3 -0
- package/components/data/form/index.d.ts +5 -0
- package/components/data/form/live-actions/dependson.directive.d.ts +27 -0
- package/components/data/form/live-actions/live-actions.directive.d.ts +24 -0
- package/components/data/form/live-filter/live-filter.directive.d.ts +24 -0
- package/components/data/form/live-form/live-form.directive.d.ts +44 -0
- package/components/data/form/package.json +20 -0
- package/components/data/form/public_api.d.ts +8 -0
- package/components/data/list/.npmignore +2 -0
- package/components/data/list/bundles/index.umd.js +1610 -0
- package/components/data/list/esm2022/index.mjs +5 -0
- package/components/data/list/esm2022/list-item.directive.mjs +260 -0
- package/components/data/list/esm2022/list-item.props.mjs +7 -0
- package/components/data/list/esm2022/list.animator.mjs +233 -0
- package/components/data/list/esm2022/list.component.mjs +1294 -0
- package/components/data/list/esm2022/list.props.mjs +48 -0
- package/components/data/list/esm2022/public_api.mjs +3 -0
- package/components/data/list/fesm2022/index.mjs +1602 -0
- package/components/data/list/fesm2022/index.mjs.map +1 -0
- package/components/data/list/index.d.ts +5 -0
- package/components/data/list/list-item.directive.d.ts +53 -0
- package/components/data/list/list-item.props.d.ts +1 -0
- package/components/data/list/list.animator.d.ts +32 -0
- package/components/data/list/list.component.d.ts +226 -0
- package/components/data/list/list.props.d.ts +1 -0
- package/components/data/list/package.json +20 -0
- package/components/data/list/public_api.d.ts +2 -0
- package/components/data/live-table/.npmignore +2 -0
- package/components/data/live-table/bundles/index.umd.js +273 -0
- package/components/data/live-table/esm2022/index.mjs +5 -0
- package/components/data/live-table/esm2022/live-table.component.mjs +243 -0
- package/components/data/live-table/esm2022/live-table.props.mjs +10 -0
- package/components/data/live-table/esm2022/public_api.mjs +2 -0
- package/components/data/live-table/fesm2022/index.mjs +258 -0
- package/components/data/live-table/fesm2022/index.mjs.map +1 -0
- package/components/data/live-table/index.d.ts +5 -0
- package/components/data/live-table/live-table.component.d.ts +36 -0
- package/components/data/live-table/live-table.props.d.ts +1 -0
- package/components/data/live-table/package.json +20 -0
- package/components/data/live-table/public_api.d.ts +1 -0
- package/components/data/pagination/.npmignore +2 -0
- package/components/data/pagination/bundles/index.umd.js +850 -0
- package/components/data/pagination/esm2022/index.mjs +5 -0
- package/components/data/pagination/esm2022/pagination.component.mjs +817 -0
- package/components/data/pagination/esm2022/pagination.props.mjs +23 -0
- package/components/data/pagination/esm2022/public_api.mjs +2 -0
- package/components/data/pagination/fesm2022/index.mjs +845 -0
- package/components/data/pagination/fesm2022/index.mjs.map +1 -0
- package/components/data/pagination/index.d.ts +5 -0
- package/components/data/pagination/package.json +20 -0
- package/components/data/pagination/pagination.component.d.ts +101 -0
- package/components/data/pagination/pagination.props.d.ts +1 -0
- package/components/data/pagination/public_api.d.ts +1 -0
- package/components/data/table/.npmignore +2 -0
- package/components/data/table/bundles/index.umd.js +4848 -0
- package/components/data/table/esm2022/index.mjs +5 -0
- package/components/data/table/esm2022/public_api.mjs +9 -0
- package/components/data/table/esm2022/table-action/table-action.directive.mjs +83 -0
- package/components/data/table/esm2022/table-action/table-action.props.mjs +25 -0
- package/components/data/table/esm2022/table-column/table-column.directive.mjs +744 -0
- package/components/data/table/esm2022/table-column/table-column.props.mjs +93 -0
- package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +80 -0
- package/components/data/table/esm2022/table-column-group/table-column-group.props.mjs +11 -0
- package/components/data/table/esm2022/table-cud.directive.mjs +484 -0
- package/components/data/table/esm2022/table-filter.directive.mjs +706 -0
- package/components/data/table/esm2022/table-row/table-row.directive.mjs +68 -0
- package/components/data/table/esm2022/table-row/table-row.props.mjs +16 -0
- package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +81 -0
- package/components/data/table/esm2022/table-row-action/table-row-action.props.mjs +20 -0
- package/components/data/table/esm2022/table.component.mjs +2406 -0
- package/components/data/table/esm2022/table.props.mjs +70 -0
- package/components/data/table/fesm2022/index.mjs +4835 -0
- package/components/data/table/fesm2022/index.mjs.map +1 -0
- package/components/data/table/index.d.ts +5 -0
- package/components/data/table/package.json +20 -0
- package/components/data/table/public_api.d.ts +8 -0
- package/components/data/table/table-action/table-action.directive.d.ts +35 -0
- package/components/data/table/table-action/table-action.props.d.ts +1 -0
- package/components/data/table/table-column/table-column.directive.d.ts +152 -0
- package/components/data/table/table-column/table-column.props.d.ts +1 -0
- package/components/data/table/table-column-group/table-column-group.directive.d.ts +23 -0
- package/components/data/table/table-column-group/table-column-group.props.d.ts +1 -0
- package/components/data/table/table-cud.directive.d.ts +34 -0
- package/components/data/table/table-filter.directive.d.ts +35 -0
- package/components/data/table/table-row/table-row.directive.d.ts +25 -0
- package/components/data/table/table-row/table-row.props.d.ts +1 -0
- package/components/data/table/table-row-action/table-row-action.directive.d.ts +31 -0
- package/components/data/table/table-row-action/table-row-action.props.d.ts +1 -0
- package/components/data/table/table.component.d.ts +419 -0
- package/components/data/table/table.props.d.ts +1 -0
- package/components/dialogs/alert-dialog/.npmignore +2 -0
- package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +23 -0
- package/components/dialogs/alert-dialog/alert-dialog.props.d.ts +1 -0
- package/components/dialogs/alert-dialog/bundles/index.umd.js +126 -0
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +87 -0
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.props.mjs +22 -0
- package/components/dialogs/alert-dialog/esm2022/index.mjs +5 -0
- package/components/dialogs/alert-dialog/esm2022/public_api.mjs +2 -0
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +114 -0
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/alert-dialog/index.d.ts +5 -0
- package/components/dialogs/alert-dialog/package.json +20 -0
- package/components/dialogs/alert-dialog/public_api.d.ts +1 -0
- package/components/dialogs/confirm-dialog/.npmignore +2 -0
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +129 -0
- package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +26 -0
- package/components/dialogs/confirm-dialog/confirm-dialog.props.d.ts +1 -0
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +90 -0
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.props.mjs +22 -0
- package/components/dialogs/confirm-dialog/esm2022/index.mjs +5 -0
- package/components/dialogs/confirm-dialog/esm2022/public_api.mjs +2 -0
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +117 -0
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/confirm-dialog/index.d.ts +5 -0
- package/components/dialogs/confirm-dialog/package.json +20 -0
- package/components/dialogs/confirm-dialog/public_api.d.ts +1 -0
- package/components/dialogs/default/.npmignore +2 -0
- package/components/dialogs/default/base-dialog.d.ts +45 -0
- package/components/dialogs/default/bundles/index.umd.js +379 -0
- package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +13 -0
- package/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +9 -0
- package/components/dialogs/default/dialog-footer/dialog-footer.props.d.ts +1 -0
- package/components/dialogs/default/dialog-header/dialog-header.component.d.ts +25 -0
- package/components/dialogs/default/esm2022/base-dialog.mjs +184 -0
- package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +86 -0
- package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +34 -0
- package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.props.mjs +9 -0
- package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +62 -0
- package/components/dialogs/default/esm2022/index.mjs +5 -0
- package/components/dialogs/default/esm2022/public_api.mjs +5 -0
- package/components/dialogs/default/fesm2022/index.mjs +364 -0
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/default/index.d.ts +5 -0
- package/components/dialogs/default/package.json +20 -0
- package/components/dialogs/default/public_api.d.ts +4 -0
- package/components/dialogs/design-dialog/.npmignore +2 -0
- package/components/dialogs/design-dialog/bundles/index.umd.js +149 -0
- package/components/dialogs/design-dialog/dialog.component.d.ts +17 -0
- package/components/dialogs/design-dialog/dialog.props.d.ts +1 -0
- package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +108 -0
- package/components/dialogs/design-dialog/esm2022/dialog.props.mjs +21 -0
- package/components/dialogs/design-dialog/esm2022/index.mjs +5 -0
- package/components/dialogs/design-dialog/esm2022/public_api.mjs +2 -0
- package/components/dialogs/design-dialog/fesm2022/index.mjs +134 -0
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/design-dialog/index.d.ts +5 -0
- package/components/dialogs/design-dialog/package.json +20 -0
- package/components/dialogs/design-dialog/public_api.d.ts +1 -0
- package/components/dialogs/iframe-dialog/.npmignore +2 -0
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +119 -0
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +78 -0
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.props.mjs +25 -0
- package/components/dialogs/iframe-dialog/esm2022/index.mjs +5 -0
- package/components/dialogs/iframe-dialog/esm2022/public_api.mjs +2 -0
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +108 -0
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +19 -0
- package/components/dialogs/iframe-dialog/iframe-dialog.props.d.ts +1 -0
- package/components/dialogs/iframe-dialog/index.d.ts +5 -0
- package/components/dialogs/iframe-dialog/package.json +20 -0
- package/components/dialogs/iframe-dialog/public_api.d.ts +1 -0
- package/components/dialogs/login-dialog/.npmignore +2 -0
- package/components/dialogs/login-dialog/bundles/index.umd.js +114 -0
- package/components/dialogs/login-dialog/esm2022/index.mjs +5 -0
- package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +91 -0
- package/components/dialogs/login-dialog/esm2022/public_api.mjs +2 -0
- package/components/dialogs/login-dialog/fesm2022/index.mjs +98 -0
- package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/login-dialog/index.d.ts +5 -0
- package/components/dialogs/login-dialog/login-dialog.directive.d.ts +23 -0
- package/components/dialogs/login-dialog/package.json +20 -0
- package/components/dialogs/login-dialog/public_api.d.ts +1 -0
- package/components/dialogs/partial-dialog/.npmignore +2 -0
- package/components/dialogs/partial-dialog/bundles/index.umd.js +157 -0
- package/components/dialogs/partial-dialog/esm2022/index.mjs +5 -0
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +119 -0
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.props.mjs +22 -0
- package/components/dialogs/partial-dialog/esm2022/public_api.mjs +2 -0
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +146 -0
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/partial-dialog/index.d.ts +5 -0
- package/components/dialogs/partial-dialog/package.json +20 -0
- package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +29 -0
- package/components/dialogs/partial-dialog/partial-dialog.props.d.ts +1 -0
- package/components/dialogs/partial-dialog/public_api.d.ts +1 -0
- package/components/input/base-form/.npmignore +2 -0
- package/components/input/base-form/base-form.component.d.ts +26 -0
- package/components/input/base-form/bundles/index.umd.js +147 -0
- package/components/input/base-form/esm2022/base-form.component.mjs +124 -0
- package/components/input/base-form/esm2022/index.mjs +5 -0
- package/components/input/base-form/esm2022/public_api.mjs +2 -0
- package/components/input/base-form/fesm2022/index.mjs +131 -0
- package/components/input/base-form/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form/index.d.ts +5 -0
- package/components/input/base-form/package.json +20 -0
- package/components/input/base-form/public_api.d.ts +1 -0
- package/components/input/base-form-custom/.npmignore +2 -0
- package/components/input/base-form-custom/base-form-custom.component.d.ts +23 -0
- package/components/input/base-form-custom/bundles/index.umd.js +129 -0
- package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +105 -0
- package/components/input/base-form-custom/esm2022/index.mjs +5 -0
- package/components/input/base-form-custom/esm2022/public_api.mjs +2 -0
- package/components/input/base-form-custom/fesm2022/index.mjs +112 -0
- package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form-custom/index.d.ts +5 -0
- package/components/input/base-form-custom/package.json +20 -0
- package/components/input/base-form-custom/public_api.d.ts +1 -0
- package/components/input/button/.npmignore +2 -0
- package/components/input/button/bundles/index.umd.js +98 -0
- package/components/input/button/button.component.d.ts +19 -0
- package/components/input/button/button.props.d.ts +1 -0
- package/components/input/button/esm2022/button.component.mjs +50 -0
- package/components/input/button/esm2022/button.props.mjs +26 -0
- package/components/input/button/esm2022/index.mjs +5 -0
- package/components/input/button/esm2022/public_api.mjs +2 -0
- package/components/input/button/fesm2022/index.mjs +81 -0
- package/components/input/button/fesm2022/index.mjs.map +1 -0
- package/components/input/button/index.d.ts +5 -0
- package/components/input/button/package.json +20 -0
- package/components/input/button/public_api.d.ts +1 -0
- package/components/input/button-group/.npmignore +2 -0
- package/components/input/button-group/bundles/index.umd.js +80 -0
- package/components/input/button-group/button-group.directive.d.ts +11 -0
- package/components/input/button-group/button-group.props.d.ts +1 -0
- package/components/input/button-group/esm2022/button-group.directive.mjs +47 -0
- package/components/input/button-group/esm2022/button-group.props.mjs +10 -0
- package/components/input/button-group/esm2022/index.mjs +5 -0
- package/components/input/button-group/esm2022/public_api.mjs +2 -0
- package/components/input/button-group/fesm2022/index.mjs +62 -0
- package/components/input/button-group/fesm2022/index.mjs.map +1 -0
- package/components/input/button-group/index.d.ts +5 -0
- package/components/input/button-group/package.json +20 -0
- package/components/input/button-group/public_api.d.ts +1 -0
- package/components/input/calendar/.npmignore +2 -0
- package/components/input/calendar/bundles/index.umd.js +655 -0
- package/components/input/calendar/calendar.component.d.ts +128 -0
- package/components/input/calendar/calendar.props.d.ts +1 -0
- package/components/input/calendar/esm2022/calendar.component.mjs +637 -0
- package/components/input/calendar/esm2022/calendar.props.mjs +23 -0
- package/components/input/calendar/esm2022/index.mjs +5 -0
- package/components/input/calendar/esm2022/public_api.mjs +2 -0
- package/components/input/calendar/fesm2022/index.mjs +665 -0
- package/components/input/calendar/fesm2022/index.mjs.map +1 -0
- package/components/input/calendar/index.d.ts +5 -0
- package/components/input/calendar/package.json +20 -0
- package/components/input/calendar/public_api.d.ts +1 -0
- package/components/input/caption-position/.npmignore +2 -0
- package/components/input/caption-position/bundles/index.umd.js +196 -0
- package/components/input/caption-position/caption-position.directive.d.ts +31 -0
- package/components/input/caption-position/esm2022/caption-position.directive.mjs +172 -0
- package/components/input/caption-position/esm2022/index.mjs +5 -0
- package/components/input/caption-position/esm2022/public_api.mjs +2 -0
- package/components/input/caption-position/fesm2022/index.mjs +178 -0
- package/components/input/caption-position/fesm2022/index.mjs.map +1 -0
- package/components/input/caption-position/index.d.ts +5 -0
- package/components/input/caption-position/package.json +20 -0
- package/components/input/caption-position/public_api.d.ts +1 -0
- package/components/input/checkbox/.npmignore +2 -0
- package/components/input/checkbox/bundles/index.umd.js +206 -0
- package/components/input/checkbox/checkbox.component.d.ts +36 -0
- package/components/input/checkbox/checkbox.props.d.ts +2 -0
- package/components/input/checkbox/esm2022/checkbox.component.mjs +158 -0
- package/components/input/checkbox/esm2022/checkbox.props.mjs +30 -0
- package/components/input/checkbox/esm2022/index.mjs +5 -0
- package/components/input/checkbox/esm2022/public_api.mjs +2 -0
- package/components/input/checkbox/fesm2022/index.mjs +191 -0
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -0
- package/components/input/checkbox/index.d.ts +5 -0
- package/components/input/checkbox/package.json +20 -0
- package/components/input/checkbox/public_api.d.ts +1 -0
- package/components/input/checkboxset/.npmignore +2 -0
- package/components/input/checkboxset/bundles/index.umd.js +178 -0
- package/components/input/checkboxset/checkboxset.component.d.ts +24 -0
- package/components/input/checkboxset/checkboxset.props.d.ts +2 -0
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +125 -0
- package/components/input/checkboxset/esm2022/checkboxset.props.mjs +36 -0
- package/components/input/checkboxset/esm2022/index.mjs +5 -0
- package/components/input/checkboxset/esm2022/public_api.mjs +2 -0
- package/components/input/checkboxset/fesm2022/index.mjs +165 -0
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -0
- package/components/input/checkboxset/index.d.ts +5 -0
- package/components/input/checkboxset/package.json +20 -0
- package/components/input/checkboxset/public_api.d.ts +1 -0
- package/components/input/chips/.npmignore +2 -0
- package/components/input/chips/bundles/index.umd.js +741 -0
- package/components/input/chips/chips.component.d.ts +87 -0
- package/components/input/chips/chips.props.d.ts +2 -0
- package/components/input/chips/esm2022/chips.component.mjs +676 -0
- package/components/input/chips/esm2022/chips.props.mjs +49 -0
- package/components/input/chips/esm2022/index.mjs +5 -0
- package/components/input/chips/esm2022/public_api.mjs +2 -0
- package/components/input/chips/fesm2022/index.mjs +729 -0
- package/components/input/chips/fesm2022/index.mjs.map +1 -0
- package/components/input/chips/index.d.ts +5 -0
- package/components/input/chips/package.json +20 -0
- package/components/input/chips/public_api.d.ts +1 -0
- package/components/input/color-picker/.npmignore +2 -0
- package/components/input/color-picker/bundles/index.umd.js +145 -0
- package/components/input/color-picker/color-picker.component.d.ts +33 -0
- package/components/input/color-picker/color-picker.props.d.ts +2 -0
- package/components/input/color-picker/esm2022/color-picker.component.mjs +107 -0
- package/components/input/color-picker/esm2022/color-picker.props.mjs +22 -0
- package/components/input/color-picker/esm2022/index.mjs +5 -0
- package/components/input/color-picker/esm2022/public_api.mjs +2 -0
- package/components/input/color-picker/fesm2022/index.mjs +132 -0
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -0
- package/components/input/color-picker/index.d.ts +5 -0
- package/components/input/color-picker/package.json +20 -0
- package/components/input/color-picker/public_api.d.ts +1 -0
- package/components/input/composite/.npmignore +2 -0
- package/components/input/composite/bundles/index.umd.js +120 -0
- package/components/input/composite/composite.directive.d.ts +24 -0
- package/components/input/composite/composite.props.d.ts +1 -0
- package/components/input/composite/esm2022/composite.directive.mjs +88 -0
- package/components/input/composite/esm2022/composite.props.mjs +10 -0
- package/components/input/composite/esm2022/index.mjs +5 -0
- package/components/input/composite/esm2022/public_api.mjs +2 -0
- package/components/input/composite/fesm2022/index.mjs +103 -0
- package/components/input/composite/fesm2022/index.mjs.map +1 -0
- package/components/input/composite/index.d.ts +5 -0
- package/components/input/composite/package.json +20 -0
- package/components/input/composite/public_api.d.ts +1 -0
- package/components/input/currency/.npmignore +2 -0
- package/components/input/currency/bundles/index.umd.js +112 -0
- package/components/input/currency/currency.component.d.ts +28 -0
- package/components/input/currency/currency.props.d.ts +2 -0
- package/components/input/currency/esm2022/currency.component.mjs +67 -0
- package/components/input/currency/esm2022/currency.props.mjs +27 -0
- package/components/input/currency/esm2022/index.mjs +5 -0
- package/components/input/currency/esm2022/public_api.mjs +2 -0
- package/components/input/currency/fesm2022/index.mjs +97 -0
- package/components/input/currency/fesm2022/index.mjs.map +1 -0
- package/components/input/currency/index.d.ts +5 -0
- package/components/input/currency/package.json +20 -0
- package/components/input/currency/public_api.d.ts +1 -0
- package/components/input/dataset-aware-form/.npmignore +2 -0
- package/components/input/dataset-aware-form/bundles/index.umd.js +352 -0
- package/components/input/dataset-aware-form/dataset-aware-form.component.d.ts +76 -0
- package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +331 -0
- package/components/input/dataset-aware-form/esm2022/index.mjs +5 -0
- package/components/input/dataset-aware-form/esm2022/public_api.mjs +2 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs +338 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -0
- package/components/input/dataset-aware-form/index.d.ts +5 -0
- package/components/input/dataset-aware-form/package.json +20 -0
- package/components/input/dataset-aware-form/public_api.d.ts +1 -0
- package/components/input/epoch/base-date-time/.npmignore +2 -0
- package/components/input/epoch/base-date-time/base-date-time.component.d.ts +246 -0
- package/components/input/epoch/base-date-time/bundles/index.umd.js +1093 -0
- package/components/input/epoch/base-date-time/esm2022/base-date-time.component.mjs +1077 -0
- package/components/input/epoch/base-date-time/esm2022/index.mjs +5 -0
- package/components/input/epoch/base-date-time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +1084 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/base-date-time/index.d.ts +5 -0
- package/components/input/epoch/base-date-time/package.json +20 -0
- package/components/input/epoch/base-date-time/public_api.d.ts +1 -0
- package/components/input/epoch/date/.npmignore +2 -0
- package/components/input/epoch/date/bundles/index.umd.js +515 -0
- package/components/input/epoch/date/date.component.d.ts +61 -0
- package/components/input/epoch/date/date.props.d.ts +2 -0
- package/components/input/epoch/date/esm2022/date.component.mjs +345 -0
- package/components/input/epoch/date/esm2022/date.props.mjs +43 -0
- package/components/input/epoch/date/esm2022/imaskUtil.mjs +114 -0
- package/components/input/epoch/date/esm2022/index.mjs +5 -0
- package/components/input/epoch/date/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date/fesm2022/index.mjs +505 -0
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date/imaskUtil.d.ts +92 -0
- package/components/input/epoch/date/index.d.ts +5 -0
- package/components/input/epoch/date/package.json +20 -0
- package/components/input/epoch/date/public_api.d.ts +1 -0
- package/components/input/epoch/date-time/.npmignore +2 -0
- package/components/input/epoch/date-time/bundles/index.umd.js +519 -0
- package/components/input/epoch/date-time/date-time.component.d.ts +109 -0
- package/components/input/epoch/date-time/date-time.props.d.ts +2 -0
- package/components/input/epoch/date-time/esm2022/date-time.component.mjs +459 -0
- package/components/input/epoch/date-time/esm2022/date-time.props.mjs +47 -0
- package/components/input/epoch/date-time/esm2022/index.mjs +5 -0
- package/components/input/epoch/date-time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs +510 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time/index.d.ts +5 -0
- package/components/input/epoch/date-time/package.json +20 -0
- package/components/input/epoch/date-time/public_api.d.ts +1 -0
- package/components/input/epoch/date-time-picker/.npmignore +2 -0
- package/components/input/epoch/date-time-picker/bundles/index.umd.js +453 -0
- package/components/input/epoch/date-time-picker/date-time-picker.component.d.ts +80 -0
- package/components/input/epoch/date-time-picker/esm2022/date-time-picker.component.mjs +433 -0
- package/components/input/epoch/date-time-picker/esm2022/index.mjs +5 -0
- package/components/input/epoch/date-time-picker/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs +439 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time-picker/index.d.ts +5 -0
- package/components/input/epoch/date-time-picker/package.json +20 -0
- package/components/input/epoch/date-time-picker/public_api.d.ts +1 -0
- package/components/input/epoch/picker/.npmignore +2 -0
- package/components/input/epoch/picker/bundles/index.umd.js +192 -0
- package/components/input/epoch/picker/esm2022/index.mjs +5 -0
- package/components/input/epoch/picker/esm2022/picker.component.mjs +165 -0
- package/components/input/epoch/picker/esm2022/public_api.mjs +3 -0
- package/components/input/epoch/picker/fesm2022/index.mjs +172 -0
- package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/picker/index.d.ts +5 -0
- package/components/input/epoch/picker/package.json +20 -0
- package/components/input/epoch/picker/picker.component.d.ts +36 -0
- package/components/input/epoch/picker/public_api.d.ts +2 -0
- package/components/input/epoch/time/.npmignore +2 -0
- package/components/input/epoch/time/bundles/index.umd.js +401 -0
- package/components/input/epoch/time/esm2022/index.mjs +5 -0
- package/components/input/epoch/time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/time/esm2022/time.component.mjs +352 -0
- package/components/input/epoch/time/esm2022/time.props.mjs +35 -0
- package/components/input/epoch/time/fesm2022/index.mjs +391 -0
- package/components/input/epoch/time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/time/index.d.ts +5 -0
- package/components/input/epoch/time/package.json +20 -0
- package/components/input/epoch/time/public_api.d.ts +1 -0
- package/components/input/epoch/time/time.component.d.ts +105 -0
- package/components/input/epoch/time/time.props.d.ts +2 -0
- package/components/input/file-upload/.npmignore +2 -0
- package/components/input/file-upload/bundles/index.umd.js +483 -0
- package/components/input/file-upload/esm2022/file-upload.component.mjs +426 -0
- package/components/input/file-upload/esm2022/file-upload.props.mjs +39 -0
- package/components/input/file-upload/esm2022/index.mjs +5 -0
- package/components/input/file-upload/esm2022/public_api.mjs +2 -0
- package/components/input/file-upload/fesm2022/index.mjs +469 -0
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -0
- package/components/input/file-upload/file-upload.component.d.ts +103 -0
- package/components/input/file-upload/file-upload.props.d.ts +1 -0
- package/components/input/file-upload/index.d.ts +5 -0
- package/components/input/file-upload/package.json +20 -0
- package/components/input/file-upload/public_api.d.ts +1 -0
- package/components/input/number/.npmignore +2 -0
- package/components/input/number/bundles/index.umd.js +109 -0
- package/components/input/number/esm2022/index.mjs +5 -0
- package/components/input/number/esm2022/number.component.mjs +57 -0
- package/components/input/number/esm2022/number.props.mjs +35 -0
- package/components/input/number/esm2022/public_api.mjs +2 -0
- package/components/input/number/fesm2022/index.mjs +95 -0
- package/components/input/number/fesm2022/index.mjs.map +1 -0
- package/components/input/number/index.d.ts +5 -0
- package/components/input/number/number.component.d.ts +26 -0
- package/components/input/number/number.props.d.ts +2 -0
- package/components/input/number/package.json +20 -0
- package/components/input/number/public_api.d.ts +1 -0
- package/components/input/radioset/.npmignore +2 -0
- package/components/input/radioset/bundles/index.umd.js +164 -0
- package/components/input/radioset/esm2022/index.mjs +5 -0
- package/components/input/radioset/esm2022/public_api.mjs +2 -0
- package/components/input/radioset/esm2022/radioset.component.mjs +110 -0
- package/components/input/radioset/esm2022/radioset.props.mjs +37 -0
- package/components/input/radioset/fesm2022/index.mjs +151 -0
- package/components/input/radioset/fesm2022/index.mjs.map +1 -0
- package/components/input/radioset/index.d.ts +5 -0
- package/components/input/radioset/package.json +20 -0
- package/components/input/radioset/public_api.d.ts +1 -0
- package/components/input/radioset/radioset.component.d.ts +23 -0
- package/components/input/radioset/radioset.props.d.ts +2 -0
- package/components/input/rating/.npmignore +2 -0
- package/components/input/rating/bundles/index.umd.js +270 -0
- package/components/input/rating/esm2022/index.mjs +5 -0
- package/components/input/rating/esm2022/public_api.mjs +2 -0
- package/components/input/rating/esm2022/rating.component.mjs +225 -0
- package/components/input/rating/esm2022/rating.props.mjs +29 -0
- package/components/input/rating/fesm2022/index.mjs +257 -0
- package/components/input/rating/fesm2022/index.mjs.map +1 -0
- package/components/input/rating/index.d.ts +5 -0
- package/components/input/rating/package.json +20 -0
- package/components/input/rating/public_api.d.ts +1 -0
- package/components/input/rating/rating.component.d.ts +44 -0
- package/components/input/rating/rating.props.d.ts +2 -0
- package/components/input/select/.npmignore +2 -0
- package/components/input/select/bundles/index.umd.js +225 -0
- package/components/input/select/esm2022/index.mjs +5 -0
- package/components/input/select/esm2022/public_api.mjs +2 -0
- package/components/input/select/esm2022/select.component.mjs +172 -0
- package/components/input/select/esm2022/select.props.mjs +36 -0
- package/components/input/select/fesm2022/index.mjs +211 -0
- package/components/input/select/fesm2022/index.mjs.map +1 -0
- package/components/input/select/index.d.ts +5 -0
- package/components/input/select/package.json +20 -0
- package/components/input/select/public_api.d.ts +1 -0
- package/components/input/select/select.component.d.ts +36 -0
- package/components/input/select/select.props.d.ts +2 -0
- package/components/input/slider/.npmignore +2 -0
- package/components/input/slider/bundles/index.umd.js +203 -0
- package/components/input/slider/esm2022/index.mjs +5 -0
- package/components/input/slider/esm2022/public_api.mjs +2 -0
- package/components/input/slider/esm2022/slider.component.mjs +157 -0
- package/components/input/slider/esm2022/slider.props.mjs +28 -0
- package/components/input/slider/fesm2022/index.mjs +189 -0
- package/components/input/slider/fesm2022/index.mjs.map +1 -0
- package/components/input/slider/index.d.ts +5 -0
- package/components/input/slider/package.json +20 -0
- package/components/input/slider/public_api.d.ts +1 -0
- package/components/input/slider/slider.component.d.ts +39 -0
- package/components/input/slider/slider.props.d.ts +2 -0
- package/components/input/switch/.npmignore +2 -0
- package/components/input/switch/bundles/index.umd.js +224 -0
- package/components/input/switch/esm2022/index.mjs +5 -0
- package/components/input/switch/esm2022/public_api.mjs +2 -0
- package/components/input/switch/esm2022/switch.component.mjs +179 -0
- package/components/input/switch/esm2022/switch.props.mjs +28 -0
- package/components/input/switch/fesm2022/index.mjs +211 -0
- package/components/input/switch/fesm2022/index.mjs.map +1 -0
- package/components/input/switch/index.d.ts +5 -0
- package/components/input/switch/package.json +20 -0
- package/components/input/switch/public_api.d.ts +1 -0
- package/components/input/switch/switch.component.d.ts +30 -0
- package/components/input/switch/switch.props.d.ts +2 -0
- package/components/input/text/.npmignore +2 -0
- package/components/input/text/base-input/base-input.d.ts +33 -0
- package/components/input/text/bundles/index.umd.js +1130 -0
- package/components/input/text/esm2022/base-input/base-input.mjs +93 -0
- package/components/input/text/esm2022/index.mjs +5 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +53 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.props.mjs +30 -0
- package/components/input/text/esm2022/input-color/input-color.component.mjs +53 -0
- package/components/input/text/esm2022/input-color/input-color.props.mjs +27 -0
- package/components/input/text/esm2022/input-email/input-email.component.mjs +53 -0
- package/components/input/text/esm2022/input-email/input-email.props.mjs +29 -0
- package/components/input/text/esm2022/input-number/input-number.component.mjs +63 -0
- package/components/input/text/esm2022/input-number/input-number.props.mjs +32 -0
- package/components/input/text/esm2022/input-text/input-text.component.mjs +136 -0
- package/components/input/text/esm2022/input-text/input-text.props.mjs +48 -0
- package/components/input/text/esm2022/number-locale/number-locale.mjs +554 -0
- package/components/input/text/esm2022/public_api.mjs +8 -0
- package/components/input/text/fesm2022/index.mjs +1114 -0
- package/components/input/text/fesm2022/index.mjs.map +1 -0
- package/components/input/text/index.d.ts +5 -0
- package/components/input/text/input-calendar/input-calendar.component.d.ts +30 -0
- package/components/input/text/input-calendar/input-calendar.props.d.ts +2 -0
- package/components/input/text/input-color/input-color.component.d.ts +27 -0
- package/components/input/text/input-color/input-color.props.d.ts +2 -0
- package/components/input/text/input-email/input-email.component.d.ts +29 -0
- package/components/input/text/input-email/input-email.props.d.ts +2 -0
- package/components/input/text/input-number/input-number.component.d.ts +33 -0
- package/components/input/text/input-number/input-number.props.d.ts +2 -0
- package/components/input/text/input-text/input-text.component.d.ts +52 -0
- package/components/input/text/input-text/input-text.props.d.ts +2 -0
- package/components/input/text/number-locale/number-locale.d.ts +127 -0
- package/components/input/text/package.json +20 -0
- package/components/input/text/public_api.d.ts +7 -0
- package/components/input/textarea/.npmignore +2 -0
- package/components/input/textarea/bundles/index.umd.js +108 -0
- package/components/input/textarea/esm2022/index.mjs +5 -0
- package/components/input/textarea/esm2022/public_api.mjs +2 -0
- package/components/input/textarea/esm2022/textarea.component.mjs +60 -0
- package/components/input/textarea/esm2022/textarea.props.mjs +30 -0
- package/components/input/textarea/fesm2022/index.mjs +94 -0
- package/components/input/textarea/fesm2022/index.mjs.map +1 -0
- package/components/input/textarea/index.d.ts +5 -0
- package/components/input/textarea/package.json +20 -0
- package/components/input/textarea/public_api.d.ts +1 -0
- package/components/input/textarea/textarea.component.d.ts +30 -0
- package/components/input/textarea/textarea.props.d.ts +2 -0
- package/components/navigation/breadcrumb/.npmignore +2 -0
- package/components/navigation/breadcrumb/breadcrumb.component.d.ts +25 -0
- package/components/navigation/breadcrumb/breadcrumb.props.d.ts +1 -0
- package/components/navigation/breadcrumb/bundles/index.umd.js +138 -0
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +101 -0
- package/components/navigation/breadcrumb/esm2022/breadcrumb.props.mjs +17 -0
- package/components/navigation/breadcrumb/esm2022/index.mjs +5 -0
- package/components/navigation/breadcrumb/esm2022/public_api.mjs +2 -0
- package/components/navigation/breadcrumb/fesm2022/index.mjs +121 -0
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -0
- package/components/navigation/breadcrumb/index.d.ts +5 -0
- package/components/navigation/breadcrumb/package.json +20 -0
- package/components/navigation/breadcrumb/public_api.d.ts +1 -0
- package/components/navigation/menu/.npmignore +2 -0
- package/components/navigation/menu/bundles/index.umd.js +947 -0
- package/components/navigation/menu/esm2022/index.mjs +5 -0
- package/components/navigation/menu/esm2022/menu-adapator.component.mjs +80 -0
- package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +105 -0
- package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +191 -0
- package/components/navigation/menu/esm2022/menu.component.mjs +282 -0
- package/components/navigation/menu/esm2022/menu.props.mjs +37 -0
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +66 -0
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.props.mjs +9 -0
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +131 -0
- package/components/navigation/menu/esm2022/nav/nav.props.mjs +28 -0
- package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +49 -0
- package/components/navigation/menu/esm2022/public_api.mjs +8 -0
- package/components/navigation/menu/fesm2022/index.mjs +929 -0
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -0
- package/components/navigation/menu/index.d.ts +5 -0
- package/components/navigation/menu/menu-adapator.component.d.ts +23 -0
- package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +15 -0
- package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +35 -0
- package/components/navigation/menu/menu.component.d.ts +65 -0
- package/components/navigation/menu/menu.props.d.ts +1 -0
- package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +14 -0
- package/components/navigation/menu/nav/nav-item/nav-item.props.d.ts +1 -0
- package/components/navigation/menu/nav/nav.component.d.ts +35 -0
- package/components/navigation/menu/nav/nav.props.d.ts +1 -0
- package/components/navigation/menu/nav/navigation-control.directive.d.ts +14 -0
- package/components/navigation/menu/package.json +20 -0
- package/components/navigation/menu/public_api.d.ts +7 -0
- package/components/navigation/navbar/.npmignore +2 -0
- package/components/navigation/navbar/bundles/index.umd.js +87 -0
- package/components/navigation/navbar/esm2022/index.mjs +5 -0
- package/components/navigation/navbar/esm2022/navbar.component.mjs +52 -0
- package/components/navigation/navbar/esm2022/navbar.props.mjs +13 -0
- package/components/navigation/navbar/esm2022/public_api.mjs +2 -0
- package/components/navigation/navbar/fesm2022/index.mjs +70 -0
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -0
- package/components/navigation/navbar/index.d.ts +5 -0
- package/components/navigation/navbar/navbar.component.d.ts +16 -0
- package/components/navigation/navbar/navbar.props.d.ts +1 -0
- package/components/navigation/navbar/package.json +20 -0
- package/components/navigation/navbar/public_api.d.ts +1 -0
- package/components/navigation/popover/.npmignore +2 -0
- package/components/navigation/popover/bundles/index.umd.js +514 -0
- package/components/navigation/popover/esm2022/index.mjs +5 -0
- package/components/navigation/popover/esm2022/popover.component.mjs +460 -0
- package/components/navigation/popover/esm2022/popover.props.mjs +35 -0
- package/components/navigation/popover/esm2022/public_api.mjs +2 -0
- package/components/navigation/popover/fesm2022/index.mjs +500 -0
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -0
- package/components/navigation/popover/index.d.ts +5 -0
- package/components/navigation/popover/package.json +20 -0
- package/components/navigation/popover/popover.component.d.ts +83 -0
- package/components/navigation/popover/popover.props.d.ts +1 -0
- package/components/navigation/popover/public_api.d.ts +1 -0
- package/components/page/default/.npmignore +2 -0
- package/components/page/default/bundles/index.umd.js +458 -0
- package/components/page/default/content/content.component.d.ts +9 -0
- package/components/page/default/content/content.props.d.ts +1 -0
- package/components/page/default/esm2022/content/content.component.mjs +29 -0
- package/components/page/default/esm2022/content/content.props.mjs +8 -0
- package/components/page/default/esm2022/index.mjs +5 -0
- package/components/page/default/esm2022/layout.directive.mjs +58 -0
- package/components/page/default/esm2022/layout.props.mjs +5 -0
- package/components/page/default/esm2022/page-content/page-content.component.mjs +85 -0
- package/components/page/default/esm2022/page-content/page-content.props.mjs +14 -0
- package/components/page/default/esm2022/page.directive.mjs +97 -0
- package/components/page/default/esm2022/page.props.mjs +11 -0
- package/components/page/default/esm2022/public_api.mjs +7 -0
- package/components/page/default/esm2022/router-outlet.directive.mjs +47 -0
- package/components/page/default/esm2022/router-outlet.props.mjs +8 -0
- package/components/page/default/esm2022/spa-page.directive.mjs +97 -0
- package/components/page/default/esm2022/spa-page.props.mjs +10 -0
- package/components/page/default/fesm2022/index.mjs +438 -0
- package/components/page/default/fesm2022/index.mjs.map +1 -0
- package/components/page/default/index.d.ts +5 -0
- package/components/page/default/layout.directive.d.ts +20 -0
- package/components/page/default/layout.props.d.ts +1 -0
- package/components/page/default/package.json +20 -0
- package/components/page/default/page-content/page-content.component.d.ts +17 -0
- package/components/page/default/page-content/page-content.props.d.ts +1 -0
- package/components/page/default/page.directive.d.ts +38 -0
- package/components/page/default/page.props.d.ts +1 -0
- package/components/page/default/public_api.d.ts +6 -0
- package/components/page/default/router-outlet.directive.d.ts +13 -0
- package/components/page/default/router-outlet.props.d.ts +1 -0
- package/components/page/default/spa-page.directive.d.ts +38 -0
- package/components/page/default/spa-page.props.d.ts +1 -0
- package/components/page/footer/.npmignore +2 -0
- package/components/page/footer/bundles/index.umd.js +71 -0
- package/components/page/footer/esm2022/footer.directive.mjs +37 -0
- package/components/page/footer/esm2022/footer.props.mjs +11 -0
- package/components/page/footer/esm2022/index.mjs +5 -0
- package/components/page/footer/esm2022/public_api.mjs +2 -0
- package/components/page/footer/fesm2022/index.mjs +53 -0
- package/components/page/footer/fesm2022/index.mjs.map +1 -0
- package/components/page/footer/footer.directive.d.ts +9 -0
- package/components/page/footer/footer.props.d.ts +1 -0
- package/components/page/footer/index.d.ts +5 -0
- package/components/page/footer/package.json +20 -0
- package/components/page/footer/public_api.d.ts +1 -0
- package/components/page/header/.npmignore +2 -0
- package/components/page/header/bundles/index.umd.js +67 -0
- package/components/page/header/esm2022/header.component.mjs +33 -0
- package/components/page/header/esm2022/header.props.mjs +11 -0
- package/components/page/header/esm2022/index.mjs +5 -0
- package/components/page/header/esm2022/public_api.mjs +2 -0
- package/components/page/header/fesm2022/index.mjs +49 -0
- package/components/page/header/fesm2022/index.mjs.map +1 -0
- package/components/page/header/header.component.d.ts +10 -0
- package/components/page/header/header.props.d.ts +1 -0
- package/components/page/header/index.d.ts +5 -0
- package/components/page/header/package.json +20 -0
- package/components/page/header/public_api.d.ts +1 -0
- package/components/page/left-panel/.npmignore +2 -0
- package/components/page/left-panel/bundles/index.umd.js +415 -0
- package/components/page/left-panel/esm2022/index.mjs +5 -0
- package/components/page/left-panel/esm2022/left-panel.animator.mjs +133 -0
- package/components/page/left-panel/esm2022/left-panel.directive.mjs +251 -0
- package/components/page/left-panel/esm2022/left-panel.props.mjs +15 -0
- package/components/page/left-panel/esm2022/public_api.mjs +2 -0
- package/components/page/left-panel/fesm2022/index.mjs +400 -0
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -0
- package/components/page/left-panel/index.d.ts +5 -0
- package/components/page/left-panel/left-panel.animator.d.ts +49 -0
- package/components/page/left-panel/left-panel.directive.d.ts +38 -0
- package/components/page/left-panel/left-panel.props.d.ts +1 -0
- package/components/page/left-panel/package.json +20 -0
- package/components/page/left-panel/public_api.d.ts +1 -0
- package/components/page/right-panel/.npmignore +2 -0
- package/components/page/right-panel/bundles/index.umd.js +86 -0
- package/components/page/right-panel/esm2022/index.mjs +5 -0
- package/components/page/right-panel/esm2022/public_api.mjs +2 -0
- package/components/page/right-panel/esm2022/right-panel.directive.mjs +52 -0
- package/components/page/right-panel/esm2022/right-panel.props.mjs +12 -0
- package/components/page/right-panel/fesm2022/index.mjs +69 -0
- package/components/page/right-panel/fesm2022/index.mjs.map +1 -0
- package/components/page/right-panel/index.d.ts +5 -0
- package/components/page/right-panel/package.json +20 -0
- package/components/page/right-panel/public_api.d.ts +1 -0
- package/components/page/right-panel/right-panel.directive.d.ts +10 -0
- package/components/page/right-panel/right-panel.props.d.ts +1 -0
- package/components/page/top-nav/.npmignore +2 -0
- package/components/page/top-nav/bundles/index.umd.js +68 -0
- package/components/page/top-nav/esm2022/index.mjs +5 -0
- package/components/page/top-nav/esm2022/public_api.mjs +2 -0
- package/components/page/top-nav/esm2022/top-nav.directive.mjs +34 -0
- package/components/page/top-nav/esm2022/top-nav.props.mjs +11 -0
- package/components/page/top-nav/fesm2022/index.mjs +50 -0
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -0
- package/components/page/top-nav/index.d.ts +5 -0
- package/components/page/top-nav/package.json +20 -0
- package/components/page/top-nav/public_api.d.ts +1 -0
- package/components/page/top-nav/top-nav.directive.d.ts +9 -0
- package/components/page/top-nav/top-nav.props.d.ts +1 -0
- package/components/prefab/.npmignore +2 -0
- package/components/prefab/bundles/index.umd.js +176 -0
- package/components/prefab/esm2022/index.mjs +5 -0
- package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +56 -0
- package/components/prefab/esm2022/prefab-container/prefab-container.props.mjs +9 -0
- package/components/prefab/esm2022/prefab.directive.mjs +88 -0
- package/components/prefab/esm2022/prefab.props.mjs +8 -0
- package/components/prefab/esm2022/public_api.mjs +3 -0
- package/components/prefab/fesm2022/index.mjs +159 -0
- package/components/prefab/fesm2022/index.mjs.map +1 -0
- package/components/prefab/index.d.ts +5 -0
- package/components/prefab/package.json +20 -0
- package/components/prefab/prefab-container/prefab-container.directive.d.ts +15 -0
- package/components/prefab/prefab-container/prefab-container.props.d.ts +1 -0
- package/components/prefab/prefab.directive.d.ts +17 -0
- package/components/prefab/prefab.props.d.ts +1 -0
- package/components/prefab/public_api.d.ts +2 -0
- package/core/.npmignore +2 -0
- package/core/bundles/index.umd.js +5608 -0
- package/core/constants/currency-constants.d.ts +1064 -0
- package/core/enums/enums.d.ts +67 -0
- package/core/esm2022/constants/currency-constants.mjs +1065 -0
- package/core/esm2022/enums/enums.mjs +72 -0
- package/core/esm2022/index.mjs +5 -0
- package/core/esm2022/public_api.mjs +26 -0
- package/core/esm2022/services/constant.service.mjs +25 -0
- package/core/esm2022/services/custom-icons-loader.service.mjs +20 -0
- package/core/esm2022/services/field-type.service.mjs +35 -0
- package/core/esm2022/services/field-widget.service.mjs +37 -0
- package/core/esm2022/services/pagination.service.mjs +336 -0
- package/core/esm2022/services/script-loader.service.mjs +75 -0
- package/core/esm2022/services/state-persistence.service.mjs +500 -0
- package/core/esm2022/services/user-custom-pipe-manager.service.mjs +23 -0
- package/core/esm2022/services/utils.service.mjs +16 -0
- package/core/esm2022/services/viewport.service.mjs +121 -0
- package/core/esm2022/types/types.mjs +81 -0
- package/core/esm2022/utils/build-utils.mjs +296 -0
- package/core/esm2022/utils/dom.mjs +123 -0
- package/core/esm2022/utils/event-notifier.mjs +70 -0
- package/core/esm2022/utils/expression-parser.mjs +593 -0
- package/core/esm2022/utils/id-generator.mjs +15 -0
- package/core/esm2022/utils/lru-cache.mjs +95 -0
- package/core/esm2022/utils/utils.mjs +1476 -0
- package/core/esm2022/utils/watcher.mjs +276 -0
- package/core/esm2022/utils/wm-project-properties.mjs +30 -0
- package/core/fesm2022/index.mjs +5455 -0
- package/core/fesm2022/index.mjs.map +1 -0
- package/core/index.d.ts +5 -0
- package/core/package.json +26 -0
- package/core/public_api.d.ts +22 -0
- package/core/services/constant.service.d.ts +28 -0
- package/core/services/custom-icons-loader.service.d.ts +6 -0
- package/core/services/field-type.service.d.ts +6 -0
- package/core/services/field-widget.service.d.ts +6 -0
- package/core/services/pagination.service.d.ts +59 -0
- package/core/services/script-loader.service.d.ts +17 -0
- package/core/services/state-persistence.service.d.ts +231 -0
- package/core/services/user-custom-pipe-manager.service.d.ts +9 -0
- package/core/services/utils.service.d.ts +6 -0
- package/core/services/viewport.service.d.ts +37 -0
- package/core/types/types.d.ts +208 -0
- package/core/utils/build-utils.d.ts +14 -0
- package/core/utils/dom.d.ts +16 -0
- package/core/utils/event-notifier.d.ts +26 -0
- package/core/utils/expression-parser.d.ts +8 -0
- package/core/utils/id-generator.d.ts +5 -0
- package/core/utils/lru-cache.d.ts +23 -0
- package/core/utils/utils.d.ts +279 -0
- package/core/utils/watcher.d.ts +13 -0
- package/core/utils/wm-project-properties.d.ts +4 -0
- package/http/.npmignore +2 -0
- package/http/bundles/index.umd.js +421 -0
- package/http/esm2022/http.service.mjs +301 -0
- package/http/esm2022/index.mjs +5 -0
- package/http/esm2022/public_api.mjs +4 -0
- package/http/esm2022/wm-http-request.mjs +48 -0
- package/http/esm2022/wm-http-response.mjs +52 -0
- package/http/fesm2022/index.mjs +405 -0
- package/http/fesm2022/index.mjs.map +1 -0
- package/http/http.service.d.ts +70 -0
- package/http/index.d.ts +5 -0
- package/http/package.json +25 -0
- package/http/public_api.d.ts +3 -0
- package/http/wm-http-request.d.ts +24 -0
- package/http/wm-http-response.d.ts +22 -0
- package/locales/angular/global/af-na.js +24 -0
- package/locales/angular/global/af.js +24 -0
- package/locales/angular/global/agq.js +22 -0
- package/locales/angular/global/ak.js +24 -0
- package/locales/angular/global/am.js +24 -0
- package/locales/angular/global/ar-ae.js +32 -0
- package/locales/angular/global/ar-bh.js +32 -0
- package/locales/angular/global/ar-dj.js +32 -0
- package/locales/angular/global/ar-dz.js +32 -0
- package/locales/angular/global/ar-eg.js +32 -0
- package/locales/angular/global/ar-eh.js +32 -0
- package/locales/angular/global/ar-er.js +32 -0
- package/locales/angular/global/ar-il.js +32 -0
- package/locales/angular/global/ar-iq.js +32 -0
- package/locales/angular/global/ar-jo.js +32 -0
- package/locales/angular/global/ar-km.js +32 -0
- package/locales/angular/global/ar-kw.js +32 -0
- package/locales/angular/global/ar-lb.js +32 -0
- package/locales/angular/global/ar-ly.js +32 -0
- package/locales/angular/global/ar-ma.js +32 -0
- package/locales/angular/global/ar-mr.js +32 -0
- package/locales/angular/global/ar-om.js +32 -0
- package/locales/angular/global/ar-ps.js +32 -0
- package/locales/angular/global/ar-qa.js +32 -0
- package/locales/angular/global/ar-sa.js +32 -0
- package/locales/angular/global/ar-sd.js +32 -0
- package/locales/angular/global/ar-so.js +32 -0
- package/locales/angular/global/ar-ss.js +32 -0
- package/locales/angular/global/ar-sy.js +32 -0
- package/locales/angular/global/ar-td.js +32 -0
- package/locales/angular/global/ar-tn.js +32 -0
- package/locales/angular/global/ar-ye.js +32 -0
- package/locales/angular/global/ar.js +32 -0
- package/locales/angular/global/as.js +24 -0
- package/locales/angular/global/asa.js +24 -0
- package/locales/angular/global/ast.js +24 -0
- package/locales/angular/global/az-cyrl.js +22 -0
- package/locales/angular/global/az-latn.js +24 -0
- package/locales/angular/global/az.js +24 -0
- package/locales/angular/global/bas.js +22 -0
- package/locales/angular/global/be-tarask.js +28 -0
- package/locales/angular/global/be.js +28 -0
- package/locales/angular/global/bem.js +24 -0
- package/locales/angular/global/bez.js +24 -0
- package/locales/angular/global/bg.js +24 -0
- package/locales/angular/global/bm.js +22 -0
- package/locales/angular/global/bn-in.js +24 -0
- package/locales/angular/global/bn.js +24 -0
- package/locales/angular/global/bo-in.js +22 -0
- package/locales/angular/global/bo.js +22 -0
- package/locales/angular/global/br.js +30 -0
- package/locales/angular/global/brx.js +24 -0
- package/locales/angular/global/bs-cyrl.js +22 -0
- package/locales/angular/global/bs-latn.js +26 -0
- package/locales/angular/global/bs.js +26 -0
- package/locales/angular/global/ca-ad.js +24 -0
- package/locales/angular/global/ca-es-valencia.js +24 -0
- package/locales/angular/global/ca-fr.js +24 -0
- package/locales/angular/global/ca-it.js +24 -0
- package/locales/angular/global/ca.js +24 -0
- package/locales/angular/global/ccp-in.js +22 -0
- package/locales/angular/global/ccp.js +22 -0
- package/locales/angular/global/ce.js +24 -0
- package/locales/angular/global/ceb.js +24 -0
- package/locales/angular/global/cgg.js +24 -0
- package/locales/angular/global/chr.js +24 -0
- package/locales/angular/global/ckb-ir.js +24 -0
- package/locales/angular/global/ckb.js +24 -0
- package/locales/angular/global/cs.js +28 -0
- package/locales/angular/global/cy.js +32 -0
- package/locales/angular/global/da-gl.js +24 -0
- package/locales/angular/global/da.js +24 -0
- package/locales/angular/global/dav.js +22 -0
- package/locales/angular/global/de-at.js +24 -0
- package/locales/angular/global/de-be.js +24 -0
- package/locales/angular/global/de-ch.js +24 -0
- package/locales/angular/global/de-it.js +24 -0
- package/locales/angular/global/de-li.js +24 -0
- package/locales/angular/global/de-lu.js +24 -0
- package/locales/angular/global/de.js +24 -0
- package/locales/angular/global/dje.js +22 -0
- package/locales/angular/global/doi.js +24 -0
- package/locales/angular/global/dsb.js +28 -0
- package/locales/angular/global/dua.js +22 -0
- package/locales/angular/global/dyo.js +22 -0
- package/locales/angular/global/dz.js +22 -0
- package/locales/angular/global/ebu.js +22 -0
- package/locales/angular/global/ee-tg.js +24 -0
- package/locales/angular/global/ee.js +24 -0
- package/locales/angular/global/el-cy.js +24 -0
- package/locales/angular/global/el.js +24 -0
- package/locales/angular/global/en-001.js +24 -0
- package/locales/angular/global/en-150.js +24 -0
- package/locales/angular/global/en-ae.js +24 -0
- package/locales/angular/global/en-ag.js +24 -0
- package/locales/angular/global/en-ai.js +24 -0
- package/locales/angular/global/en-as.js +24 -0
- package/locales/angular/global/en-at.js +24 -0
- package/locales/angular/global/en-au.js +24 -0
- package/locales/angular/global/en-bb.js +24 -0
- package/locales/angular/global/en-be.js +24 -0
- package/locales/angular/global/en-bi.js +24 -0
- package/locales/angular/global/en-bm.js +24 -0
- package/locales/angular/global/en-bs.js +24 -0
- package/locales/angular/global/en-bw.js +24 -0
- package/locales/angular/global/en-bz.js +24 -0
- package/locales/angular/global/en-ca.js +24 -0
- package/locales/angular/global/en-cc.js +24 -0
- package/locales/angular/global/en-ch.js +24 -0
- package/locales/angular/global/en-ck.js +24 -0
- package/locales/angular/global/en-cm.js +24 -0
- package/locales/angular/global/en-cx.js +24 -0
- package/locales/angular/global/en-cy.js +24 -0
- package/locales/angular/global/en-de.js +24 -0
- package/locales/angular/global/en-dg.js +24 -0
- package/locales/angular/global/en-dk.js +24 -0
- package/locales/angular/global/en-dm.js +24 -0
- package/locales/angular/global/en-er.js +24 -0
- package/locales/angular/global/en-fi.js +24 -0
- package/locales/angular/global/en-fj.js +24 -0
- package/locales/angular/global/en-fk.js +24 -0
- package/locales/angular/global/en-fm.js +24 -0
- package/locales/angular/global/en-gb.js +24 -0
- package/locales/angular/global/en-gd.js +24 -0
- package/locales/angular/global/en-gg.js +24 -0
- package/locales/angular/global/en-gh.js +24 -0
- package/locales/angular/global/en-gi.js +24 -0
- package/locales/angular/global/en-gm.js +24 -0
- package/locales/angular/global/en-gu.js +24 -0
- package/locales/angular/global/en-gy.js +24 -0
- package/locales/angular/global/en-hk.js +24 -0
- package/locales/angular/global/en-ie.js +24 -0
- package/locales/angular/global/en-il.js +24 -0
- package/locales/angular/global/en-im.js +24 -0
- package/locales/angular/global/en-in.js +24 -0
- package/locales/angular/global/en-io.js +24 -0
- package/locales/angular/global/en-je.js +24 -0
- package/locales/angular/global/en-jm.js +24 -0
- package/locales/angular/global/en-ke.js +24 -0
- package/locales/angular/global/en-ki.js +24 -0
- package/locales/angular/global/en-kn.js +24 -0
- package/locales/angular/global/en-ky.js +24 -0
- package/locales/angular/global/en-lc.js +24 -0
- package/locales/angular/global/en-lr.js +24 -0
- package/locales/angular/global/en-ls.js +24 -0
- package/locales/angular/global/en-mg.js +24 -0
- package/locales/angular/global/en-mh.js +24 -0
- package/locales/angular/global/en-mo.js +24 -0
- package/locales/angular/global/en-mp.js +24 -0
- package/locales/angular/global/en-ms.js +24 -0
- package/locales/angular/global/en-mt.js +24 -0
- package/locales/angular/global/en-mu.js +24 -0
- package/locales/angular/global/en-mv.js +24 -0
- package/locales/angular/global/en-mw.js +24 -0
- package/locales/angular/global/en-my.js +24 -0
- package/locales/angular/global/en-na.js +24 -0
- package/locales/angular/global/en-nf.js +24 -0
- package/locales/angular/global/en-ng.js +24 -0
- package/locales/angular/global/en-nl.js +24 -0
- package/locales/angular/global/en-nr.js +24 -0
- package/locales/angular/global/en-nu.js +24 -0
- package/locales/angular/global/en-nz.js +24 -0
- package/locales/angular/global/en-pg.js +24 -0
- package/locales/angular/global/en-ph.js +24 -0
- package/locales/angular/global/en-pk.js +24 -0
- package/locales/angular/global/en-pn.js +24 -0
- package/locales/angular/global/en-pr.js +24 -0
- package/locales/angular/global/en-pw.js +24 -0
- package/locales/angular/global/en-rw.js +24 -0
- package/locales/angular/global/en-sb.js +24 -0
- package/locales/angular/global/en-sc.js +24 -0
- package/locales/angular/global/en-sd.js +24 -0
- package/locales/angular/global/en-se.js +24 -0
- package/locales/angular/global/en-sg.js +24 -0
- package/locales/angular/global/en-sh.js +24 -0
- package/locales/angular/global/en-si.js +24 -0
- package/locales/angular/global/en-sl.js +24 -0
- package/locales/angular/global/en-ss.js +24 -0
- package/locales/angular/global/en-sx.js +24 -0
- package/locales/angular/global/en-sz.js +24 -0
- package/locales/angular/global/en-tc.js +24 -0
- package/locales/angular/global/en-tk.js +24 -0
- package/locales/angular/global/en-to.js +24 -0
- package/locales/angular/global/en-tt.js +24 -0
- package/locales/angular/global/en-tv.js +24 -0
- package/locales/angular/global/en-tz.js +24 -0
- package/locales/angular/global/en-ug.js +24 -0
- package/locales/angular/global/en-um.js +24 -0
- package/locales/angular/global/en-vc.js +24 -0
- package/locales/angular/global/en-vg.js +24 -0
- package/locales/angular/global/en-vi.js +24 -0
- package/locales/angular/global/en-vu.js +24 -0
- package/locales/angular/global/en-ws.js +24 -0
- package/locales/angular/global/en-za.js +24 -0
- package/locales/angular/global/en-zm.js +24 -0
- package/locales/angular/global/en-zw.js +24 -0
- package/locales/angular/global/en.js +24 -0
- package/locales/angular/global/eo.js +24 -0
- package/locales/angular/global/es-419.js +26 -0
- package/locales/angular/global/es-ar.js +26 -0
- package/locales/angular/global/es-bo.js +26 -0
- package/locales/angular/global/es-br.js +26 -0
- package/locales/angular/global/es-bz.js +26 -0
- package/locales/angular/global/es-cl.js +26 -0
- package/locales/angular/global/es-co.js +26 -0
- package/locales/angular/global/es-cr.js +26 -0
- package/locales/angular/global/es-cu.js +26 -0
- package/locales/angular/global/es-do.js +26 -0
- package/locales/angular/global/es-ea.js +26 -0
- package/locales/angular/global/es-ec.js +26 -0
- package/locales/angular/global/es-gq.js +26 -0
- package/locales/angular/global/es-gt.js +26 -0
- package/locales/angular/global/es-hn.js +26 -0
- package/locales/angular/global/es-ic.js +26 -0
- package/locales/angular/global/es-mx.js +26 -0
- package/locales/angular/global/es-ni.js +26 -0
- package/locales/angular/global/es-pa.js +26 -0
- package/locales/angular/global/es-pe.js +26 -0
- package/locales/angular/global/es-ph.js +26 -0
- package/locales/angular/global/es-pr.js +26 -0
- package/locales/angular/global/es-py.js +26 -0
- package/locales/angular/global/es-sv.js +26 -0
- package/locales/angular/global/es-us.js +26 -0
- package/locales/angular/global/es-uy.js +26 -0
- package/locales/angular/global/es-ve.js +26 -0
- package/locales/angular/global/es.js +26 -0
- package/locales/angular/global/et.js +24 -0
- package/locales/angular/global/eu.js +24 -0
- package/locales/angular/global/ewo.js +22 -0
- package/locales/angular/global/fa-af.js +24 -0
- package/locales/angular/global/fa.js +24 -0
- package/locales/angular/global/ff-adlm-bf.js +22 -0
- package/locales/angular/global/ff-adlm-cm.js +22 -0
- package/locales/angular/global/ff-adlm-gh.js +22 -0
- package/locales/angular/global/ff-adlm-gm.js +22 -0
- package/locales/angular/global/ff-adlm-gw.js +22 -0
- package/locales/angular/global/ff-adlm-lr.js +22 -0
- package/locales/angular/global/ff-adlm-mr.js +22 -0
- package/locales/angular/global/ff-adlm-ne.js +22 -0
- package/locales/angular/global/ff-adlm-ng.js +22 -0
- package/locales/angular/global/ff-adlm-sl.js +22 -0
- package/locales/angular/global/ff-adlm-sn.js +22 -0
- package/locales/angular/global/ff-adlm.js +22 -0
- package/locales/angular/global/ff-cm.js +74 -0
- package/locales/angular/global/ff-gn.js +74 -0
- package/locales/angular/global/ff-latn-bf.js +24 -0
- package/locales/angular/global/ff-latn-cm.js +24 -0
- package/locales/angular/global/ff-latn-gh.js +24 -0
- package/locales/angular/global/ff-latn-gm.js +24 -0
- package/locales/angular/global/ff-latn-gn.js +24 -0
- package/locales/angular/global/ff-latn-gw.js +24 -0
- package/locales/angular/global/ff-latn-lr.js +24 -0
- package/locales/angular/global/ff-latn-mr.js +24 -0
- package/locales/angular/global/ff-latn-ne.js +24 -0
- package/locales/angular/global/ff-latn-ng.js +24 -0
- package/locales/angular/global/ff-latn-sl.js +24 -0
- package/locales/angular/global/ff-latn.js +24 -0
- package/locales/angular/global/ff-mr.js +74 -0
- package/locales/angular/global/ff.js +24 -0
- package/locales/angular/global/fi.js +24 -0
- package/locales/angular/global/fil.js +24 -0
- package/locales/angular/global/fo-dk.js +24 -0
- package/locales/angular/global/fo.js +24 -0
- package/locales/angular/global/fr-be.js +26 -0
- package/locales/angular/global/fr-bf.js +26 -0
- package/locales/angular/global/fr-bi.js +26 -0
- package/locales/angular/global/fr-bj.js +26 -0
- package/locales/angular/global/fr-bl.js +26 -0
- package/locales/angular/global/fr-ca.js +26 -0
- package/locales/angular/global/fr-cd.js +26 -0
- package/locales/angular/global/fr-cf.js +26 -0
- package/locales/angular/global/fr-cg.js +26 -0
- package/locales/angular/global/fr-ch.js +26 -0
- package/locales/angular/global/fr-ci.js +26 -0
- package/locales/angular/global/fr-cm.js +26 -0
- package/locales/angular/global/fr-dj.js +26 -0
- package/locales/angular/global/fr-dz.js +26 -0
- package/locales/angular/global/fr-ga.js +26 -0
- package/locales/angular/global/fr-gf.js +26 -0
- package/locales/angular/global/fr-gn.js +26 -0
- package/locales/angular/global/fr-gp.js +26 -0
- package/locales/angular/global/fr-gq.js +26 -0
- package/locales/angular/global/fr-ht.js +26 -0
- package/locales/angular/global/fr-km.js +26 -0
- package/locales/angular/global/fr-lu.js +26 -0
- package/locales/angular/global/fr-ma.js +26 -0
- package/locales/angular/global/fr-mc.js +26 -0
- package/locales/angular/global/fr-mf.js +26 -0
- package/locales/angular/global/fr-mg.js +26 -0
- package/locales/angular/global/fr-ml.js +26 -0
- package/locales/angular/global/fr-mq.js +26 -0
- package/locales/angular/global/fr-mr.js +26 -0
- package/locales/angular/global/fr-mu.js +26 -0
- package/locales/angular/global/fr-nc.js +26 -0
- package/locales/angular/global/fr-ne.js +26 -0
- package/locales/angular/global/fr-pf.js +26 -0
- package/locales/angular/global/fr-pm.js +26 -0
- package/locales/angular/global/fr-re.js +26 -0
- package/locales/angular/global/fr-rw.js +26 -0
- package/locales/angular/global/fr-sc.js +26 -0
- package/locales/angular/global/fr-sn.js +26 -0
- package/locales/angular/global/fr-sy.js +26 -0
- package/locales/angular/global/fr-td.js +26 -0
- package/locales/angular/global/fr-tg.js +26 -0
- package/locales/angular/global/fr-tn.js +26 -0
- package/locales/angular/global/fr-vu.js +26 -0
- package/locales/angular/global/fr-wf.js +26 -0
- package/locales/angular/global/fr-yt.js +26 -0
- package/locales/angular/global/fr.js +26 -0
- package/locales/angular/global/fur.js +24 -0
- package/locales/angular/global/fy.js +24 -0
- package/locales/angular/global/ga-gb.js +30 -0
- package/locales/angular/global/ga.js +30 -0
- package/locales/angular/global/gd.js +28 -0
- package/locales/angular/global/gl.js +24 -0
- package/locales/angular/global/gsw-fr.js +24 -0
- package/locales/angular/global/gsw-li.js +24 -0
- package/locales/angular/global/gsw.js +24 -0
- package/locales/angular/global/gu.js +24 -0
- package/locales/angular/global/guz.js +22 -0
- package/locales/angular/global/gv.js +30 -0
- package/locales/angular/global/ha-gh.js +24 -0
- package/locales/angular/global/ha-ne.js +24 -0
- package/locales/angular/global/ha.js +24 -0
- package/locales/angular/global/haw.js +24 -0
- package/locales/angular/global/he.js +28 -0
- package/locales/angular/global/hi-latn.js +24 -0
- package/locales/angular/global/hi.js +24 -0
- package/locales/angular/global/hr-ba.js +26 -0
- package/locales/angular/global/hr.js +26 -0
- package/locales/angular/global/hsb.js +28 -0
- package/locales/angular/global/hu.js +24 -0
- package/locales/angular/global/hy.js +24 -0
- package/locales/angular/global/ia.js +24 -0
- package/locales/angular/global/id.js +22 -0
- package/locales/angular/global/ig.js +22 -0
- package/locales/angular/global/ii.js +22 -0
- package/locales/angular/global/is.js +24 -0
- package/locales/angular/global/it-ch.js +26 -0
- package/locales/angular/global/it-sm.js +26 -0
- package/locales/angular/global/it-va.js +26 -0
- package/locales/angular/global/it.js +26 -0
- package/locales/angular/global/ja.js +22 -0
- package/locales/angular/global/jgo.js +24 -0
- package/locales/angular/global/jmc.js +24 -0
- package/locales/angular/global/jv.js +22 -0
- package/locales/angular/global/ka.js +24 -0
- package/locales/angular/global/kab.js +24 -0
- package/locales/angular/global/kam.js +22 -0
- package/locales/angular/global/kde.js +22 -0
- package/locales/angular/global/kea.js +22 -0
- package/locales/angular/global/kgp.js +22 -0
- package/locales/angular/global/khq.js +22 -0
- package/locales/angular/global/ki.js +22 -0
- package/locales/angular/global/kk.js +24 -0
- package/locales/angular/global/kkj.js +24 -0
- package/locales/angular/global/kl.js +24 -0
- package/locales/angular/global/kln.js +22 -0
- package/locales/angular/global/km.js +22 -0
- package/locales/angular/global/kn.js +24 -0
- package/locales/angular/global/ko-kp.js +22 -0
- package/locales/angular/global/ko.js +22 -0
- package/locales/angular/global/kok.js +22 -0
- package/locales/angular/global/ks-arab.js +24 -0
- package/locales/angular/global/ks-deva.js +22 -0
- package/locales/angular/global/ks.js +24 -0
- package/locales/angular/global/ksb.js +24 -0
- package/locales/angular/global/ksf.js +22 -0
- package/locales/angular/global/ksh.js +26 -0
- package/locales/angular/global/ku.js +24 -0
- package/locales/angular/global/kw.js +32 -0
- package/locales/angular/global/ky.js +24 -0
- package/locales/angular/global/lag.js +26 -0
- package/locales/angular/global/lb.js +24 -0
- package/locales/angular/global/lg.js +24 -0
- package/locales/angular/global/lkt.js +22 -0
- package/locales/angular/global/ln-ao.js +24 -0
- package/locales/angular/global/ln-cf.js +24 -0
- package/locales/angular/global/ln-cg.js +24 -0
- package/locales/angular/global/ln.js +24 -0
- package/locales/angular/global/lo.js +22 -0
- package/locales/angular/global/lrc-iq.js +22 -0
- package/locales/angular/global/lrc.js +22 -0
- package/locales/angular/global/lt.js +28 -0
- package/locales/angular/global/lu.js +22 -0
- package/locales/angular/global/luo.js +22 -0
- package/locales/angular/global/luy.js +22 -0
- package/locales/angular/global/lv.js +26 -0
- package/locales/angular/global/mai.js +22 -0
- package/locales/angular/global/mas-tz.js +24 -0
- package/locales/angular/global/mas.js +24 -0
- package/locales/angular/global/mer.js +22 -0
- package/locales/angular/global/mfe.js +22 -0
- package/locales/angular/global/mg.js +24 -0
- package/locales/angular/global/mgh.js +22 -0
- package/locales/angular/global/mgo.js +24 -0
- package/locales/angular/global/mi.js +22 -0
- package/locales/angular/global/mk.js +24 -0
- package/locales/angular/global/ml.js +24 -0
- package/locales/angular/global/mn.js +24 -0
- package/locales/angular/global/mni-beng.js +22 -0
- package/locales/angular/global/mni.js +22 -0
- package/locales/angular/global/mr.js +24 -0
- package/locales/angular/global/ms-bn.js +22 -0
- package/locales/angular/global/ms-id.js +22 -0
- package/locales/angular/global/ms-sg.js +22 -0
- package/locales/angular/global/ms.js +22 -0
- package/locales/angular/global/mt.js +28 -0
- package/locales/angular/global/mua.js +22 -0
- package/locales/angular/global/my.js +22 -0
- package/locales/angular/global/mzn.js +22 -0
- package/locales/angular/global/naq.js +26 -0
- package/locales/angular/global/nb-sj.js +24 -0
- package/locales/angular/global/nb.js +24 -0
- package/locales/angular/global/nd.js +24 -0
- package/locales/angular/global/nds-nl.js +22 -0
- package/locales/angular/global/nds.js +22 -0
- package/locales/angular/global/ne-in.js +24 -0
- package/locales/angular/global/ne.js +24 -0
- package/locales/angular/global/nl-aw.js +24 -0
- package/locales/angular/global/nl-be.js +24 -0
- package/locales/angular/global/nl-bq.js +24 -0
- package/locales/angular/global/nl-cw.js +24 -0
- package/locales/angular/global/nl-sr.js +24 -0
- package/locales/angular/global/nl-sx.js +24 -0
- package/locales/angular/global/nl.js +24 -0
- package/locales/angular/global/nmg.js +22 -0
- package/locales/angular/global/nn.js +24 -0
- package/locales/angular/global/nnh.js +24 -0
- package/locales/angular/global/no.js +24 -0
- package/locales/angular/global/nus.js +22 -0
- package/locales/angular/global/nyn.js +24 -0
- package/locales/angular/global/om-ke.js +24 -0
- package/locales/angular/global/om.js +24 -0
- package/locales/angular/global/or.js +24 -0
- package/locales/angular/global/os-ru.js +24 -0
- package/locales/angular/global/os.js +24 -0
- package/locales/angular/global/pa-arab.js +22 -0
- package/locales/angular/global/pa-guru.js +24 -0
- package/locales/angular/global/pa.js +24 -0
- package/locales/angular/global/pcm.js +24 -0
- package/locales/angular/global/pl.js +28 -0
- package/locales/angular/global/ps-pk.js +24 -0
- package/locales/angular/global/ps.js +24 -0
- package/locales/angular/global/pt-ao.js +26 -0
- package/locales/angular/global/pt-ch.js +26 -0
- package/locales/angular/global/pt-cv.js +26 -0
- package/locales/angular/global/pt-gq.js +26 -0
- package/locales/angular/global/pt-gw.js +26 -0
- package/locales/angular/global/pt-lu.js +26 -0
- package/locales/angular/global/pt-mo.js +26 -0
- package/locales/angular/global/pt-mz.js +26 -0
- package/locales/angular/global/pt-pt.js +26 -0
- package/locales/angular/global/pt-st.js +26 -0
- package/locales/angular/global/pt-tl.js +26 -0
- package/locales/angular/global/pt.js +26 -0
- package/locales/angular/global/qu-bo.js +22 -0
- package/locales/angular/global/qu-ec.js +22 -0
- package/locales/angular/global/qu.js +22 -0
- package/locales/angular/global/rm.js +24 -0
- package/locales/angular/global/rn.js +22 -0
- package/locales/angular/global/ro-md.js +26 -0
- package/locales/angular/global/ro.js +26 -0
- package/locales/angular/global/rof.js +24 -0
- package/locales/angular/global/ru-by.js +28 -0
- package/locales/angular/global/ru-kg.js +28 -0
- package/locales/angular/global/ru-kz.js +28 -0
- package/locales/angular/global/ru-md.js +28 -0
- package/locales/angular/global/ru-ua.js +28 -0
- package/locales/angular/global/ru.js +28 -0
- package/locales/angular/global/rw.js +22 -0
- package/locales/angular/global/rwk.js +24 -0
- package/locales/angular/global/sa.js +22 -0
- package/locales/angular/global/sah.js +22 -0
- package/locales/angular/global/saq.js +24 -0
- package/locales/angular/global/sat-olck.js +26 -0
- package/locales/angular/global/sat.js +26 -0
- package/locales/angular/global/sbp.js +22 -0
- package/locales/angular/global/sc.js +24 -0
- package/locales/angular/global/sd-arab.js +24 -0
- package/locales/angular/global/sd-deva.js +22 -0
- package/locales/angular/global/sd.js +24 -0
- package/locales/angular/global/se-fi.js +26 -0
- package/locales/angular/global/se-se.js +26 -0
- package/locales/angular/global/se.js +26 -0
- package/locales/angular/global/seh.js +24 -0
- package/locales/angular/global/ses.js +22 -0
- package/locales/angular/global/sg.js +22 -0
- package/locales/angular/global/shi-latn.js +22 -0
- package/locales/angular/global/shi-tfng.js +26 -0
- package/locales/angular/global/shi.js +26 -0
- package/locales/angular/global/si.js +24 -0
- package/locales/angular/global/sk.js +28 -0
- package/locales/angular/global/sl.js +28 -0
- package/locales/angular/global/smn.js +26 -0
- package/locales/angular/global/sn.js +24 -0
- package/locales/angular/global/so-dj.js +24 -0
- package/locales/angular/global/so-et.js +24 -0
- package/locales/angular/global/so-ke.js +24 -0
- package/locales/angular/global/so.js +24 -0
- package/locales/angular/global/sq-mk.js +24 -0
- package/locales/angular/global/sq-xk.js +24 -0
- package/locales/angular/global/sq.js +24 -0
- package/locales/angular/global/sr-cyrl-ba.js +26 -0
- package/locales/angular/global/sr-cyrl-me.js +26 -0
- package/locales/angular/global/sr-cyrl-xk.js +26 -0
- package/locales/angular/global/sr-cyrl.js +26 -0
- package/locales/angular/global/sr-latn-ba.js +22 -0
- package/locales/angular/global/sr-latn-me.js +22 -0
- package/locales/angular/global/sr-latn-xk.js +22 -0
- package/locales/angular/global/sr-latn.js +22 -0
- package/locales/angular/global/sr.js +26 -0
- package/locales/angular/global/su-latn.js +22 -0
- package/locales/angular/global/su.js +22 -0
- package/locales/angular/global/sv-ax.js +24 -0
- package/locales/angular/global/sv-fi.js +24 -0
- package/locales/angular/global/sv.js +24 -0
- package/locales/angular/global/sw-cd.js +24 -0
- package/locales/angular/global/sw-ke.js +24 -0
- package/locales/angular/global/sw-ug.js +24 -0
- package/locales/angular/global/sw.js +24 -0
- package/locales/angular/global/ta-lk.js +24 -0
- package/locales/angular/global/ta-my.js +24 -0
- package/locales/angular/global/ta-sg.js +24 -0
- package/locales/angular/global/ta.js +24 -0
- package/locales/angular/global/te.js +24 -0
- package/locales/angular/global/teo-ke.js +24 -0
- package/locales/angular/global/teo.js +24 -0
- package/locales/angular/global/tg.js +22 -0
- package/locales/angular/global/th.js +22 -0
- package/locales/angular/global/ti-er.js +24 -0
- package/locales/angular/global/ti.js +24 -0
- package/locales/angular/global/tk.js +24 -0
- package/locales/angular/global/to.js +22 -0
- package/locales/angular/global/tr-cy.js +24 -0
- package/locales/angular/global/tr.js +24 -0
- package/locales/angular/global/tt.js +22 -0
- package/locales/angular/global/twq.js +22 -0
- package/locales/angular/global/tzm.js +24 -0
- package/locales/angular/global/ug.js +24 -0
- package/locales/angular/global/uk.js +28 -0
- package/locales/angular/global/und.js +24 -0
- package/locales/angular/global/ur-in.js +24 -0
- package/locales/angular/global/ur.js +24 -0
- package/locales/angular/global/uz-arab.js +22 -0
- package/locales/angular/global/uz-cyrl.js +22 -0
- package/locales/angular/global/uz-latn.js +24 -0
- package/locales/angular/global/uz.js +24 -0
- package/locales/angular/global/vai-latn.js +22 -0
- package/locales/angular/global/vai-vaii.js +22 -0
- package/locales/angular/global/vai.js +22 -0
- package/locales/angular/global/vi.js +22 -0
- package/locales/angular/global/vun.js +24 -0
- package/locales/angular/global/wae.js +24 -0
- package/locales/angular/global/wo.js +22 -0
- package/locales/angular/global/xh.js +24 -0
- package/locales/angular/global/xog.js +24 -0
- package/locales/angular/global/yav.js +22 -0
- package/locales/angular/global/yi.js +24 -0
- package/locales/angular/global/yo-bj.js +22 -0
- package/locales/angular/global/yo.js +22 -0
- package/locales/angular/global/yrl-co.js +22 -0
- package/locales/angular/global/yrl-ve.js +22 -0
- package/locales/angular/global/yrl.js +22 -0
- package/locales/angular/global/yue-hans.js +22 -0
- package/locales/angular/global/yue-hant.js +22 -0
- package/locales/angular/global/yue.js +22 -0
- package/locales/angular/global/zgh.js +22 -0
- package/locales/angular/global/zh-hans-hk.js +22 -0
- package/locales/angular/global/zh-hans-mo.js +22 -0
- package/locales/angular/global/zh-hans-sg.js +22 -0
- package/locales/angular/global/zh-hans.js +22 -0
- package/locales/angular/global/zh-hant-hk.js +22 -0
- package/locales/angular/global/zh-hant-mo.js +22 -0
- package/locales/angular/global/zh-hant.js +22 -0
- package/locales/angular/global/zh.js +22 -0
- package/locales/angular/global/zu.js +24 -0
- package/locales/moment/af.js +82 -0
- package/locales/moment/ar-dz.js +167 -0
- package/locales/moment/ar-kw.js +66 -0
- package/locales/moment/ar-ly.js +182 -0
- package/locales/moment/ar-ma.js +67 -0
- package/locales/moment/ar-ps.js +123 -0
- package/locales/moment/ar-sa.js +116 -0
- package/locales/moment/ar-tn.js +66 -0
- package/locales/moment/ar.js +200 -0
- package/locales/moment/az.js +113 -0
- package/locales/moment/be.js +153 -0
- package/locales/moment/bg.js +98 -0
- package/locales/moment/bm.js +62 -0
- package/locales/moment/bn-bd.js +140 -0
- package/locales/moment/bn.js +130 -0
- package/locales/moment/bo.js +135 -0
- package/locales/moment/br.js +179 -0
- package/locales/moment/bs.js +171 -0
- package/locales/moment/ca.js +111 -0
- package/locales/moment/cs.js +192 -0
- package/locales/moment/cv.js +74 -0
- package/locales/moment/cy.js +109 -0
- package/locales/moment/da.js +64 -0
- package/locales/moment/de-at.js +90 -0
- package/locales/moment/de-ch.js +87 -0
- package/locales/moment/de.js +89 -0
- package/locales/moment/dv.js +101 -0
- package/locales/moment/el.js +117 -0
- package/locales/moment/en-au.js +79 -0
- package/locales/moment/en-ca.js +75 -0
- package/locales/moment/en-gb.js +79 -0
- package/locales/moment/en-ie.js +79 -0
- package/locales/moment/en-il.js +75 -0
- package/locales/moment/en-in.js +79 -0
- package/locales/moment/en-nz.js +79 -0
- package/locales/moment/en-sg.js +79 -0
- package/locales/moment/eo.js +79 -0
- package/locales/moment/es-do.js +119 -0
- package/locales/moment/es-mx.js +121 -0
- package/locales/moment/es-us.js +121 -0
- package/locales/moment/es.js +121 -0
- package/locales/moment/et.js +89 -0
- package/locales/moment/eu.js +76 -0
- package/locales/moment/fa.js +124 -0
- package/locales/moment/fi.js +135 -0
- package/locales/moment/fil.js +69 -0
- package/locales/moment/fo.js +68 -0
- package/locales/moment/fr-ca.js +81 -0
- package/locales/moment/fr-ch.js +85 -0
- package/locales/moment/fr.js +119 -0
- package/locales/moment/fy.js +86 -0
- package/locales/moment/ga.js +106 -0
- package/locales/moment/gd.js +106 -0
- package/locales/moment/gl.js +86 -0
- package/locales/moment/gom-deva.js +137 -0
- package/locales/moment/gom-latn.js +135 -0
- package/locales/moment/gu.js +133 -0
- package/locales/moment/he.js +105 -0
- package/locales/moment/hi.js +179 -0
- package/locales/moment/hr.js +167 -0
- package/locales/moment/hu.js +129 -0
- package/locales/moment/hy-am.js +105 -0
- package/locales/moment/id.js +87 -0
- package/locales/moment/is.js +151 -0
- package/locales/moment/it-ch.js +75 -0
- package/locales/moment/it.js +117 -0
- package/locales/moment/ja.js +159 -0
- package/locales/moment/jv.js +87 -0
- package/locales/moment/ka.js +103 -0
- package/locales/moment/kk.js +93 -0
- package/locales/moment/km.js +114 -0
- package/locales/moment/kn.js +135 -0
- package/locales/moment/ko.js +86 -0
- package/locales/moment/ku-kmr.js +125 -0
- package/locales/moment/ku.js +129 -0
- package/locales/moment/ky.js +95 -0
- package/locales/moment/lb.js +148 -0
- package/locales/moment/lo.js +77 -0
- package/locales/moment/lt.js +136 -0
- package/locales/moment/lv.js +105 -0
- package/locales/moment/me.js +128 -0
- package/locales/moment/mi.js +71 -0
- package/locales/moment/mk.js +97 -0
- package/locales/moment/ml.js +93 -0
- package/locales/moment/mn.js +111 -0
- package/locales/moment/mr.js +214 -0
- package/locales/moment/ms-my.js +87 -0
- package/locales/moment/ms.js +86 -0
- package/locales/moment/mt.js +67 -0
- package/locales/moment/my.js +102 -0
- package/locales/moment/nb.js +71 -0
- package/locales/moment/ne.js +132 -0
- package/locales/moment/nl-be.js +113 -0
- package/locales/moment/nl.js +115 -0
- package/locales/moment/nn.js +70 -0
- package/locales/moment/oc-lnc.js +96 -0
- package/locales/moment/pa-in.js +133 -0
- package/locales/moment/pl.js +151 -0
- package/locales/moment/pt-br.js +69 -0
- package/locales/moment/pt.js +74 -0
- package/locales/moment/ro.js +87 -0
- package/locales/moment/ru.js +224 -0
- package/locales/moment/sd.js +92 -0
- package/locales/moment/se.js +68 -0
- package/locales/moment/si.js +80 -0
- package/locales/moment/sk.js +156 -0
- package/locales/moment/sl.js +182 -0
- package/locales/moment/sq.js +76 -0
- package/locales/moment/sr-cyrl.js +138 -0
- package/locales/moment/sr.js +140 -0
- package/locales/moment/ss.js +95 -0
- package/locales/moment/sv.js +79 -0
- package/locales/moment/sw.js +66 -0
- package/locales/moment/ta.js +142 -0
- package/locales/moment/te.js +99 -0
- package/locales/moment/tet.js +79 -0
- package/locales/moment/tg.js +128 -0
- package/locales/moment/th.js +76 -0
- package/locales/moment/tk.js +102 -0
- package/locales/moment/tl-ph.js +68 -0
- package/locales/moment/tlh.js +135 -0
- package/locales/moment/tr.js +117 -0
- package/locales/moment/tzl.js +100 -0
- package/locales/moment/tzm-latn.js +65 -0
- package/locales/moment/tzm.js +65 -0
- package/locales/moment/ug-cn.js +122 -0
- package/locales/moment/uk.js +178 -0
- package/locales/moment/ur.js +93 -0
- package/locales/moment/uz-latn.js +65 -0
- package/locales/moment/uz.js +62 -0
- package/locales/moment/vi.js +91 -0
- package/locales/moment/x-pseudo.js +84 -0
- package/locales/moment/yo.js +64 -0
- package/locales/moment/zh-cn.js +131 -0
- package/locales/moment/zh-hk.js +112 -0
- package/locales/moment/zh-mo.js +111 -0
- package/locales/moment/zh-tw.js +110 -0
- package/locales/moment-timezone/moment-timezone-with-data.js +1582 -0
- package/npm-shrinkwrap.json +17 -0
- package/oAuth/.npmignore +2 -0
- package/oAuth/bundles/index.umd.js +495 -0
- package/oAuth/esm2022/index.mjs +5 -0
- package/oAuth/esm2022/oAuth.service.mjs +51 -0
- package/oAuth/esm2022/oAuth.utils.mjs +423 -0
- package/oAuth/esm2022/public_api.mjs +3 -0
- package/oAuth/fesm2022/index.mjs +478 -0
- package/oAuth/fesm2022/index.mjs.map +1 -0
- package/oAuth/index.d.ts +5 -0
- package/oAuth/oAuth.service.d.ts +19 -0
- package/oAuth/oAuth.utils.d.ts +20 -0
- package/oAuth/package.json +25 -0
- package/oAuth/public_api.d.ts +2 -0
- package/package-lock.json +17 -0
- package/package.json +16 -0
- package/runtime/base/.npmignore +2 -0
- package/runtime/base/bundles/index.umd.js +6031 -0
- package/runtime/base/components/app-component/app.component.d.ts +46 -0
- package/runtime/base/components/app-spinner.component.d.ts +10 -0
- package/runtime/base/components/base-custom-widget.component.d.ts +75 -0
- package/runtime/base/components/base-layout.component.d.ts +30 -0
- package/runtime/base/components/base-page.component.d.ts +83 -0
- package/runtime/base/components/base-partial.component.d.ts +65 -0
- package/runtime/base/components/base-prefab.component.d.ts +61 -0
- package/runtime/base/components/base-spa-page.component.d.ts +85 -0
- package/runtime/base/components/custom-toaster.component.d.ts +19 -0
- package/runtime/base/components/empty-component/empty-page.component.d.ts +18 -0
- package/runtime/base/components/prefab-preview.component.d.ts +23 -0
- package/runtime/base/directives/accessroles.directive.d.ts +40 -0
- package/runtime/base/directives/prefab.directive.d.ts +17 -0
- package/runtime/base/esm2022/components/app-component/app.component.mjs +201 -0
- package/runtime/base/esm2022/components/app-spinner.component.mjs +54 -0
- package/runtime/base/esm2022/components/base-custom-widget.component.mjs +339 -0
- package/runtime/base/esm2022/components/base-layout.component.mjs +76 -0
- package/runtime/base/esm2022/components/base-page.component.mjs +378 -0
- package/runtime/base/esm2022/components/base-partial.component.mjs +221 -0
- package/runtime/base/esm2022/components/base-prefab.component.mjs +253 -0
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +353 -0
- package/runtime/base/esm2022/components/custom-toaster.component.mjs +87 -0
- package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +66 -0
- package/runtime/base/esm2022/components/prefab-preview.component.mjs +123 -0
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +118 -0
- package/runtime/base/esm2022/directives/prefab.directive.mjs +50 -0
- package/runtime/base/esm2022/guards/auth.guard.mjs +43 -0
- package/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +44 -0
- package/runtime/base/esm2022/guards/page-not-found.guard.mjs +22 -0
- package/runtime/base/esm2022/guards/role.guard.mjs +47 -0
- package/runtime/base/esm2022/index.mjs +5 -0
- package/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +363 -0
- package/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +85 -0
- package/runtime/base/esm2022/public_api.mjs +49 -0
- package/runtime/base/esm2022/resolves/app-before-load.resolve.mjs +22 -0
- package/runtime/base/esm2022/resolves/app-extension.resolve.mjs +48 -0
- package/runtime/base/esm2022/resolves/app-js.resolve.mjs +39 -0
- package/runtime/base/esm2022/resolves/app-variables.resolve.mjs +31 -0
- package/runtime/base/esm2022/resolves/i18n.resolve.mjs +18 -0
- package/runtime/base/esm2022/resolves/metadata.resolve.mjs +22 -0
- package/runtime/base/esm2022/resolves/security-config.resolve.mjs +26 -0
- package/runtime/base/esm2022/runtime-base.module.mjs +942 -0
- package/runtime/base/esm2022/services/app-defaults.service.mjs +22 -0
- package/runtime/base/esm2022/services/app.manager.service.mjs +522 -0
- package/runtime/base/esm2022/services/app.service.mjs +232 -0
- package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +86 -0
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +83 -0
- package/runtime/base/esm2022/services/i18n.service.mjs +305 -0
- package/runtime/base/esm2022/services/navigation.service.mjs +307 -0
- package/runtime/base/esm2022/services/pipe-provider.service.mjs +127 -0
- package/runtime/base/esm2022/services/pipe.service.mjs +33 -0
- package/runtime/base/esm2022/services/prefab-manager.service.mjs +95 -0
- package/runtime/base/esm2022/services/spinner.service.mjs +144 -0
- package/runtime/base/esm2022/services/toaster.service.mjs +90 -0
- package/runtime/base/esm2022/types/types.mjs +22 -0
- package/runtime/base/esm2022/util/fragment-monitor.mjs +59 -0
- package/runtime/base/esm2022/util/utils.mjs +24 -0
- package/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +176 -0
- package/runtime/base/fesm2022/index.mjs +6068 -0
- package/runtime/base/fesm2022/index.mjs.map +1 -0
- package/runtime/base/guards/auth.guard.d.ts +14 -0
- package/runtime/base/guards/can-deactivate-page.guard.d.ts +16 -0
- package/runtime/base/guards/page-not-found.guard.d.ts +12 -0
- package/runtime/base/guards/role.guard.d.ts +17 -0
- package/runtime/base/index.d.ts +5 -0
- package/runtime/base/overrides/wm_dom_renderer.d.ts +33 -0
- package/runtime/base/overrides/wm_shared_styles_host.d.ts +23 -0
- package/runtime/base/package.json +25 -0
- package/runtime/base/public_api.d.ts +48 -0
- package/runtime/base/resolves/app-before-load.resolve.d.ts +11 -0
- package/runtime/base/resolves/app-extension.resolve.d.ts +14 -0
- package/runtime/base/resolves/app-js.resolve.d.ts +15 -0
- package/runtime/base/resolves/app-variables.resolve.d.ts +11 -0
- package/runtime/base/resolves/i18n.resolve.d.ts +9 -0
- package/runtime/base/resolves/metadata.resolve.d.ts +9 -0
- package/runtime/base/resolves/security-config.resolve.d.ts +10 -0
- package/runtime/base/runtime-base.module.d.ts +171 -0
- package/runtime/base/services/app-defaults.service.d.ts +12 -0
- package/runtime/base/services/app.manager.service.d.ts +142 -0
- package/runtime/base/services/app.service.d.ts +70 -0
- package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +26 -0
- package/runtime/base/services/http-interceptor.services.d.ts +17 -0
- package/runtime/base/services/i18n.service.d.ts +58 -0
- package/runtime/base/services/navigation.service.d.ts +45 -0
- package/runtime/base/services/pipe-provider.service.d.ts +31 -0
- package/runtime/base/services/pipe.service.d.ts +12 -0
- package/runtime/base/services/prefab-manager.service.d.ts +25 -0
- package/runtime/base/services/spinner.service.d.ts +49 -0
- package/runtime/base/services/toaster.service.d.ts +23 -0
- package/runtime/base/types/types.d.ts +25 -0
- package/runtime/base/util/fragment-monitor.d.ts +22 -0
- package/runtime/base/util/utils.d.ts +6 -0
- package/runtime/base/util/wm-route-reuse-strategy.d.ts +29 -0
- package/runtime/dynamic/.npmignore +2 -0
- package/runtime/dynamic/app/app.config.d.ts +5 -0
- package/runtime/dynamic/app/app.module.d.ts +37 -0
- package/runtime/dynamic/app/app.routes.d.ts +2 -0
- package/runtime/dynamic/app/components/page-wrapper.component.d.ts +37 -0
- package/runtime/dynamic/app/services/app-extension.service.d.ts +7 -0
- package/runtime/dynamic/app/services/app-js-provider.service.d.ts +10 -0
- package/runtime/dynamic/app/services/app-resource-manager.service.d.ts +10 -0
- package/runtime/dynamic/app/services/app-variables-provider.service.d.ts +12 -0
- package/runtime/dynamic/app/services/component-ref-provider.service.d.ts +17 -0
- package/runtime/dynamic/app/services/customwidget-config-provider.service.d.ts +8 -0
- package/runtime/dynamic/app/services/prefab-config-provider.service.d.ts +10 -0
- package/runtime/dynamic/bundles/index.umd.js +887 -0
- package/runtime/dynamic/esm2022/app/app.config.mjs +141 -0
- package/runtime/dynamic/esm2022/app/app.module.mjs +314 -0
- package/runtime/dynamic/esm2022/app/app.routes.mjs +21 -0
- package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +106 -0
- package/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +24 -0
- package/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +25 -0
- package/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +31 -0
- package/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +27 -0
- package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +266 -0
- package/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +22 -0
- package/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +29 -0
- package/runtime/dynamic/esm2022/index.mjs +5 -0
- package/runtime/dynamic/esm2022/main.mjs +42 -0
- package/runtime/dynamic/esm2022/public_api.mjs +10 -0
- package/runtime/dynamic/fesm2022/index.mjs +950 -0
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -0
- package/runtime/dynamic/index.d.ts +5 -0
- package/runtime/dynamic/main.d.ts +2 -0
- package/runtime/dynamic/package.json +25 -0
- package/runtime/dynamic/public_api.d.ts +9 -0
- package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -0
- package/scripts/d3/d3.min.js +2 -0
- package/scripts/datatable/datatable.js +3769 -0
- package/scripts/iscroll/build/iscroll.js +2091 -0
- package/scripts/jquery-ui/ui/widgets/droppable.js +503 -0
- package/scripts/jquery-ui/ui/widgets/resizable.js +1275 -0
- package/scripts/jquery-ui/ui/widgets/sortable.js +1608 -0
- package/scripts/jquery.ui.touch-punch/jquery.ui.touch-punch.min.js +11 -0
- package/scripts/summernote/dist/summernote-lite.min.js +2 -0
- package/scripts/swipey/swipey.jquery.plugin.js +769 -0
- package/scripts/tree-keyboard-navigation/keyboard-navigation.js +251 -0
- package/security/.npmignore +2 -0
- package/security/bundles/index.umd.js +446 -0
- package/security/esm2022/index.mjs +5 -0
- package/security/esm2022/public_api.mjs +2 -0
- package/security/esm2022/security.service.mjs +439 -0
- package/security/fesm2022/index.mjs +444 -0
- package/security/fesm2022/index.mjs.map +1 -0
- package/security/index.d.ts +5 -0
- package/security/package.json +25 -0
- package/security/public_api.d.ts +1 -0
- package/security/security.service.d.ts +127 -0
- package/swipey/.npmignore +2 -0
- package/swipey/bundles/index.umd.js +54 -0
- package/swipey/esm2022/index.mjs +5 -0
- package/swipey/esm2022/public_api.mjs +2 -0
- package/swipey/esm2022/swipe.animation.mjs +45 -0
- package/swipey/fesm2022/index.mjs +51 -0
- package/swipey/fesm2022/index.mjs.map +1 -0
- package/swipey/index.d.ts +5 -0
- package/swipey/package.json +25 -0
- package/swipey/public_api.d.ts +1 -0
- package/swipey/swipe.animation.d.ts +19 -0
- package/transpiler/.npmignore +2 -0
- package/transpiler/build.d.ts +35 -0
- package/transpiler/bundles/index.umd.js +804 -0
- package/transpiler/esm2022/build.mjs +475 -0
- package/transpiler/esm2022/imports.mjs +318 -0
- package/transpiler/esm2022/index.mjs +5 -0
- package/transpiler/esm2022/public_api.mjs +3 -0
- package/transpiler/fesm2022/index.mjs +799 -0
- package/transpiler/fesm2022/index.mjs.map +1 -0
- package/transpiler/imports.d.ts +2 -0
- package/transpiler/index.d.ts +5 -0
- package/transpiler/package.json +26 -0
- package/transpiler/public_api.d.ts +2 -0
- package/variables/.npmignore +2 -0
- package/variables/advanced-options.d.ts +4 -0
- package/variables/bundles/index.umd.js +3174 -0
- package/variables/constants/variables.constants.d.ts +315 -0
- package/variables/esm2022/advanced-options.mjs +2 -0
- package/variables/esm2022/constants/variables.constants.mjs +333 -0
- package/variables/esm2022/factory/variable-manager.factory.mjs +24 -0
- package/variables/esm2022/factory/variable.factory.mjs +46 -0
- package/variables/esm2022/index.mjs +5 -0
- package/variables/esm2022/manager/action/base-action.manager.mjs +14 -0
- package/variables/esm2022/manager/action/login-action.manager.mjs +180 -0
- package/variables/esm2022/manager/action/logout-action.manager.mjs +77 -0
- package/variables/esm2022/manager/action/navigation-action.manager.mjs +8 -0
- package/variables/esm2022/manager/action/notification-action.manager.mjs +152 -0
- package/variables/esm2022/manager/variable/base-variable.manager.mjs +81 -0
- package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +289 -0
- package/variables/esm2022/model/action/login-action.mjs +25 -0
- package/variables/esm2022/model/action/logout-action.mjs +22 -0
- package/variables/esm2022/model/action/navigation-action.mjs +26 -0
- package/variables/esm2022/model/action/notification-action.mjs +91 -0
- package/variables/esm2022/model/variable/web-socket-variable.mjs +34 -0
- package/variables/esm2022/public_api.mjs +6 -0
- package/variables/esm2022/service/metadata-service/metadata.service.mjs +60 -0
- package/variables/esm2022/service/variables.service.mjs +199 -0
- package/variables/esm2022/util/action/navigation-action.utils.mjs +52 -0
- package/variables/esm2022/util/oAuth.utils.mjs +11 -0
- package/variables/esm2022/util/variable/pagination.utils.mjs +402 -0
- package/variables/esm2022/util/variable/service-variable.utils.mjs +376 -0
- package/variables/esm2022/util/variable/variables.utils.mjs +809 -0
- package/variables/factory/variable-manager.factory.d.ts +3 -0
- package/variables/factory/variable.factory.d.ts +3 -0
- package/variables/fesm2022/index.mjs +3236 -0
- package/variables/fesm2022/index.mjs.map +1 -0
- package/variables/index.d.ts +5 -0
- package/variables/manager/action/base-action.manager.d.ts +4 -0
- package/variables/manager/action/login-action.manager.d.ts +7 -0
- package/variables/manager/action/logout-action.manager.d.ts +4 -0
- package/variables/manager/action/navigation-action.manager.d.ts +4 -0
- package/variables/manager/action/notification-action.manager.d.ts +23 -0
- package/variables/manager/variable/base-variable.manager.d.ts +24 -0
- package/variables/manager/variable/web-socket-variable.manager.d.ts +124 -0
- package/variables/model/action/login-action.d.ts +11 -0
- package/variables/model/action/logout-action.d.ts +10 -0
- package/variables/model/action/navigation-action.d.ts +9 -0
- package/variables/model/action/notification-action.d.ts +25 -0
- package/variables/model/variable/web-socket-variable.d.ts +11 -0
- package/variables/package.json +25 -0
- package/variables/public_api.d.ts +5 -0
- package/variables/service/metadata-service/metadata.service.d.ts +16 -0
- package/variables/service/variables.service.d.ts +57 -0
- package/variables/util/action/navigation-action.utils.d.ts +6 -0
- package/variables/util/oAuth.utils.d.ts +3 -0
- package/variables/util/variable/pagination.utils.d.ts +82 -0
- package/variables/util/variable/service-variable.utils.d.ts +16 -0
- package/variables/util/variable/variables.utils.d.ts +80 -0
|
@@ -0,0 +1,809 @@
|
|
|
1
|
+
import { $parseEvent, $watch, DataType, DEFAULT_FORMATS, extractType, findValueOf, getBlob, getClonedObject, stringStartsWith, triggerFn } from '@wm/core';
|
|
2
|
+
import { VARIABLE_CONSTANTS, WS_CONSTANTS } from '../../constants/variables.constants';
|
|
3
|
+
import { debounce, filter, forEach, get, includes, isArray, isDate, isEmpty, isFunction, isNumber, isObject, isString, isUndefined, join, keys, last, map, noop, pickBy, remove, replace, set, slice, split, toLower, toUpper, trim } from "lodash-es";
|
|
4
|
+
import * as momentLib from 'moment';
|
|
5
|
+
const moment = momentLib.default || window['moment'];
|
|
6
|
+
const exportTypesMap = { 'EXCEL': '.xlsx', 'CSV': '.csv' };
|
|
7
|
+
export let appManager;
|
|
8
|
+
export let httpService;
|
|
9
|
+
export let metadataService;
|
|
10
|
+
export let navigationService;
|
|
11
|
+
export let routerService;
|
|
12
|
+
export let toasterService;
|
|
13
|
+
export let oauthService;
|
|
14
|
+
export let securityService;
|
|
15
|
+
export let dialogService;
|
|
16
|
+
const DOT_EXPR_REX = /^\[("|')[\w\W]*(\1)\]$/, internalBoundNodeMap = new Map(), timers = new Map();
|
|
17
|
+
const _invoke = (variable, op) => {
|
|
18
|
+
let debouncedFn, cancelFn = noop, retVal;
|
|
19
|
+
if (timers.has(variable)) {
|
|
20
|
+
cancelFn = timers.get(variable).cancel;
|
|
21
|
+
}
|
|
22
|
+
cancelFn();
|
|
23
|
+
debouncedFn = debounce(function () {
|
|
24
|
+
retVal = variable[op]();
|
|
25
|
+
// handle promises to avoid uncaught promise errors in console
|
|
26
|
+
if (retVal instanceof Promise) {
|
|
27
|
+
retVal.catch(noop);
|
|
28
|
+
}
|
|
29
|
+
}, 100);
|
|
30
|
+
timers.set(variable, debouncedFn);
|
|
31
|
+
debouncedFn();
|
|
32
|
+
};
|
|
33
|
+
const processVariablePostBindUpdate = (nodeName, nodeVal, nodeType, variable, noUpdate) => {
|
|
34
|
+
switch (variable.category) {
|
|
35
|
+
case VARIABLE_CONSTANTS.CATEGORY.LIVE:
|
|
36
|
+
if (variable.operation === 'read') {
|
|
37
|
+
if (nodeName === 'dataBinding') {
|
|
38
|
+
forEach(nodeVal, function (val, key) {
|
|
39
|
+
variable.filterFields[key] = {
|
|
40
|
+
'value': val
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
variable.filterFields[nodeName] = {
|
|
46
|
+
'value': nodeVal,
|
|
47
|
+
'type': nodeType
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/* if auto-update set for the variable with read operation only, get its data */
|
|
51
|
+
if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.listRecords) && !noUpdate) {
|
|
52
|
+
_invoke(variable, 'listRecords');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
if (nodeName === 'dataBinding') {
|
|
57
|
+
variable.inputFields = nodeVal;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
variable.inputFields[nodeName] = nodeVal;
|
|
61
|
+
}
|
|
62
|
+
/* if auto-update set for the variable with read operation only, get its data */
|
|
63
|
+
if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable[variable.operation + 'Record']) && !noUpdate) {
|
|
64
|
+
_invoke(variable, variable.operation + 'Record');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
case VARIABLE_CONSTANTS.CATEGORY.CRUD:
|
|
69
|
+
if (variable.operationType === 'list' && variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.invoke) && !noUpdate) {
|
|
70
|
+
_invoke(variable, 'invoke');
|
|
71
|
+
}
|
|
72
|
+
break;
|
|
73
|
+
case VARIABLE_CONSTANTS.CATEGORY.SERVICE:
|
|
74
|
+
case VARIABLE_CONSTANTS.CATEGORY.LOGIN:
|
|
75
|
+
if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.invoke) && !noUpdate) {
|
|
76
|
+
_invoke(variable, 'invoke');
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
export const setDependency = (type, ref) => {
|
|
82
|
+
switch (type) {
|
|
83
|
+
case 'appManager':
|
|
84
|
+
appManager = ref;
|
|
85
|
+
break;
|
|
86
|
+
case 'http':
|
|
87
|
+
httpService = ref;
|
|
88
|
+
break;
|
|
89
|
+
case 'metadata':
|
|
90
|
+
metadataService = ref;
|
|
91
|
+
break;
|
|
92
|
+
case 'navigationService':
|
|
93
|
+
navigationService = ref;
|
|
94
|
+
break;
|
|
95
|
+
case 'router':
|
|
96
|
+
routerService = ref;
|
|
97
|
+
break;
|
|
98
|
+
case 'toaster':
|
|
99
|
+
toasterService = ref;
|
|
100
|
+
break;
|
|
101
|
+
case 'oAuth':
|
|
102
|
+
oauthService = ref;
|
|
103
|
+
break;
|
|
104
|
+
case 'security':
|
|
105
|
+
securityService = ref;
|
|
106
|
+
break;
|
|
107
|
+
case 'dialog':
|
|
108
|
+
dialogService = ref;
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
export const initiateCallback = (type, variable, data, options, skipDefaultNotification) => {
|
|
113
|
+
/*checking if event is available and variable has event property and variable event property bound to function*/
|
|
114
|
+
const eventValues = variable[type], callBackScope = variable._context;
|
|
115
|
+
let errorVariable;
|
|
116
|
+
/**
|
|
117
|
+
* For error event:
|
|
118
|
+
* trigger app level error handler.
|
|
119
|
+
* if no event is assigned, trigger default appNotification variable.
|
|
120
|
+
*/
|
|
121
|
+
if (type === VARIABLE_CONSTANTS.EVENT.ERROR && !skipDefaultNotification) {
|
|
122
|
+
if (!eventValues) {
|
|
123
|
+
/* in case of error, if no event assigned, handle through default notification variable */
|
|
124
|
+
errorVariable = callBackScope.Actions[VARIABLE_CONSTANTS.DEFAULT_VAR.NOTIFICATION];
|
|
125
|
+
if (errorVariable) {
|
|
126
|
+
data = errorVariable.getMessage() || data;
|
|
127
|
+
data = isString(data) ? data : 'An error has occured. Please check the app logs.';
|
|
128
|
+
errorVariable.invoke({ 'message': data }, undefined, undefined);
|
|
129
|
+
// $rootScope.$evalAsync(function () {
|
|
130
|
+
// $rootScope.$emit("invoke-service", VARIABLE_CONSTANTS.DEFAULT_VAR.NOTIFICATION, {scope: callBackScope, message: response});
|
|
131
|
+
// });
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// TODO: [Vibhu], check whether to support legacy event calling mechanism (ideally, it should have been migrated)
|
|
136
|
+
const fn = $parseEvent(variable[type]);
|
|
137
|
+
if (type === VARIABLE_CONSTANTS.EVENT.BEFORE_UPDATE) {
|
|
138
|
+
if (variable.category === 'wm.LiveVariable' && variable.operation === 'read') {
|
|
139
|
+
return fn(variable._context, { variable: variable, dataFilter: data, options: options });
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
return fn(variable._context, { variable: variable, inputData: data, options: options });
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
return fn(variable._context, { variable: variable, data: data, options: options });
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
const triggerOnTimeout = (success) => {
|
|
150
|
+
setTimeout(() => { triggerFn(success); }, 500);
|
|
151
|
+
};
|
|
152
|
+
const downloadFilefromResponse = (response, headers, success, error) => {
|
|
153
|
+
// check for a filename
|
|
154
|
+
let filename = '', filenameRegex, matches, type, blob, URL, downloadUrl, popup;
|
|
155
|
+
const disposition = headers.get('Content-Disposition');
|
|
156
|
+
if (disposition && disposition.indexOf('attachment') !== -1) {
|
|
157
|
+
filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
|
|
158
|
+
matches = filenameRegex.exec(disposition);
|
|
159
|
+
if (matches !== null && matches[1]) {
|
|
160
|
+
filename = matches[1].replace(/['"]/g, '');
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
type = headers.get('Content-Type');
|
|
164
|
+
blob = new Blob([response], { type: type });
|
|
165
|
+
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
|
166
|
+
// IE workaround for "HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed."
|
|
167
|
+
if (window.navigator.msSaveBlob(blob, filename)) {
|
|
168
|
+
triggerOnTimeout(success);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
triggerFn(error);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
URL = window.URL || window.webkitURL;
|
|
176
|
+
downloadUrl = URL.createObjectURL(blob);
|
|
177
|
+
if (filename) {
|
|
178
|
+
// use HTML5 a[download] attribute to specify filename
|
|
179
|
+
const a = document.createElement('a');
|
|
180
|
+
let reader;
|
|
181
|
+
// safari doesn't support this yet
|
|
182
|
+
if (typeof a.download === 'undefined') {
|
|
183
|
+
reader = new FileReader();
|
|
184
|
+
reader.onloadend = function () {
|
|
185
|
+
const url = reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');
|
|
186
|
+
popup = window.open(url, '_blank');
|
|
187
|
+
if (!popup) {
|
|
188
|
+
window.location.href = url;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
reader.onload = triggerOnTimeout.bind(undefined, success);
|
|
192
|
+
reader.onerror = error;
|
|
193
|
+
reader.readAsDataURL(blob);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
a.href = downloadUrl;
|
|
197
|
+
a.download = filename;
|
|
198
|
+
document.body.appendChild(a);
|
|
199
|
+
a.click();
|
|
200
|
+
triggerOnTimeout(success);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
popup = window.open(downloadUrl, '_blank');
|
|
205
|
+
if (!popup) {
|
|
206
|
+
window.location.href = downloadUrl;
|
|
207
|
+
}
|
|
208
|
+
triggerOnTimeout(success);
|
|
209
|
+
}
|
|
210
|
+
setTimeout(() => { URL.revokeObjectURL(downloadUrl); }, 100); // cleanup
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
const getService = (serviceName) => {
|
|
214
|
+
if (!serviceName) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
return serviceName;
|
|
218
|
+
// Todo: Shubham, uncomment below code
|
|
219
|
+
/* /!* get a reference to the element where ng-app is defined *!/
|
|
220
|
+
let appEl = WM.element('[id=ng-app]'), injector;
|
|
221
|
+
if (appEl) {
|
|
222
|
+
try {
|
|
223
|
+
injector = appEl.injector(); // get the angular injector
|
|
224
|
+
if (injector) {
|
|
225
|
+
return injector.get(serviceName); // return the service
|
|
226
|
+
}
|
|
227
|
+
} catch (e) {
|
|
228
|
+
return undefined;
|
|
229
|
+
}
|
|
230
|
+
}*/
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Construct the form data params from the URL
|
|
234
|
+
* @param queryParams
|
|
235
|
+
* @param params
|
|
236
|
+
*/
|
|
237
|
+
const setParamsFromURL = (queryParams, params) => {
|
|
238
|
+
queryParams = split(queryParams, '&');
|
|
239
|
+
forEach(queryParams, function (param) {
|
|
240
|
+
param = split(param, '=');
|
|
241
|
+
params[param[0]] = decodeURIComponent(join(slice(param, 1), '='));
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
/**
|
|
245
|
+
* [Todo: Shubham], Implement Download through I frame
|
|
246
|
+
* Simulates file download in an app through creating and submitting a hidden form in DOM.
|
|
247
|
+
* The action will be initiated through a Service Variable
|
|
248
|
+
*
|
|
249
|
+
* Query Params
|
|
250
|
+
* The request params like query params are added as hidden input elements
|
|
251
|
+
*
|
|
252
|
+
* Header Params
|
|
253
|
+
* The header params for a request are also added along with hidden input elements.
|
|
254
|
+
* This is done as headers can not be set for a form POST call from JavaScript
|
|
255
|
+
*
|
|
256
|
+
* Finally, request parameters are sent as follows:
|
|
257
|
+
* For a GET request, the request data is sent along with the query params.
|
|
258
|
+
* For POST, it is sent as request body.
|
|
259
|
+
*
|
|
260
|
+
* @param variable: the variable that is called from user action
|
|
261
|
+
* @param requestParams object consisting the info to construct the XHR request for the service
|
|
262
|
+
*/
|
|
263
|
+
const downloadThroughIframe = (requestParams, success, dataBinding, error) => {
|
|
264
|
+
// Todo: SHubham: URL contains '//' in between which should be handled at the URL formation only
|
|
265
|
+
if (requestParams.url[1] === '/' && requestParams.url[2] === '/') {
|
|
266
|
+
requestParams.url = requestParams.url.slice(0, 1) + requestParams.url.slice(2);
|
|
267
|
+
}
|
|
268
|
+
let iFrameElement, formEl, paramElement, queryParams = '', data;
|
|
269
|
+
const IFRAME_NAME = 'fileDownloadIFrame', FORM_NAME = 'fileDownloadForm', CONTENT_TYPE = 'Content-Type', url = requestParams.url, encType = get(requestParams.headers, CONTENT_TYPE), params = pickBy(requestParams.headers, function (val, key) {
|
|
270
|
+
return key !== CONTENT_TYPE;
|
|
271
|
+
});
|
|
272
|
+
/* Todo: shubham : define getService method
|
|
273
|
+
WS_CONSTANTS = getService('WS_CONSTANTS');*/
|
|
274
|
+
/* look for existing iframe. If exists, remove it first */
|
|
275
|
+
iFrameElement = $('#' + IFRAME_NAME);
|
|
276
|
+
if (iFrameElement.length) {
|
|
277
|
+
iFrameElement.first().remove();
|
|
278
|
+
}
|
|
279
|
+
iFrameElement = $('<iframe id="' + IFRAME_NAME + '" name="' + IFRAME_NAME + '" class="ng-hide"></iframe>');
|
|
280
|
+
formEl = $('<form id="' + FORM_NAME + '" name="' + FORM_NAME + '"></form>');
|
|
281
|
+
/* process query params, append a hidden input element in the form against each param */
|
|
282
|
+
queryParams += url.indexOf('?') !== -1 ? url.substring(url.indexOf('?') + 1) : '';
|
|
283
|
+
queryParams += encType === WS_CONSTANTS.CONTENT_TYPES.FORM_URL_ENCODED ? ((queryParams ? '&' : '') + requestParams.dataParams) : '';
|
|
284
|
+
formEl.attr({
|
|
285
|
+
'target': iFrameElement.attr('name'),
|
|
286
|
+
'action': url,
|
|
287
|
+
'method': requestParams.method,
|
|
288
|
+
'enctype': !(isEmpty(requestParams.data) && isEmpty(queryParams)) ? encType : WS_CONSTANTS.CONTENT_TYPES.MULTIPART_FORMDATA
|
|
289
|
+
});
|
|
290
|
+
// For Non body methods only, set the input fields from query parameters
|
|
291
|
+
if (includes(WS_CONSTANTS.NON_BODY_HTTP_METHODS, toUpper(requestParams.method))) {
|
|
292
|
+
setParamsFromURL(queryParams, params); // Set params for URL query params
|
|
293
|
+
}
|
|
294
|
+
if (!isEmpty(requestParams.data)) {
|
|
295
|
+
setParamsFromURL(requestParams.data, params); // Set params for request data
|
|
296
|
+
data = params;
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
data = isEmpty(dataBinding) ? params : dataBinding;
|
|
300
|
+
}
|
|
301
|
+
forEach(data, function (val, key) {
|
|
302
|
+
paramElement = $('<input type="hidden">');
|
|
303
|
+
paramElement.attr({
|
|
304
|
+
'name': key,
|
|
305
|
+
'value': val
|
|
306
|
+
});
|
|
307
|
+
formEl.append(paramElement);
|
|
308
|
+
});
|
|
309
|
+
/* append form to iFrame and iFrame to the document and submit the form */
|
|
310
|
+
$('body').append(iFrameElement);
|
|
311
|
+
// timeout for IE 10, iframeElement.contents() is empty in IE 10 without timeout
|
|
312
|
+
setTimeout(function () {
|
|
313
|
+
let completed = false;
|
|
314
|
+
iFrameElement.on("load", function () {
|
|
315
|
+
if (completed)
|
|
316
|
+
return;
|
|
317
|
+
const text = iFrameElement.contents().find('body').text();
|
|
318
|
+
if (text && text.trim()) {
|
|
319
|
+
completed = true;
|
|
320
|
+
let message;
|
|
321
|
+
try {
|
|
322
|
+
message = { error: JSON.parse(text.trim()) };
|
|
323
|
+
}
|
|
324
|
+
catch (e) {
|
|
325
|
+
message = "";
|
|
326
|
+
}
|
|
327
|
+
triggerFn(error, message);
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
iFrameElement.contents().find('body').append(formEl);
|
|
331
|
+
formEl.submit();
|
|
332
|
+
setTimeout(() => {
|
|
333
|
+
if (!completed) {
|
|
334
|
+
completed = true;
|
|
335
|
+
triggerFn(success);
|
|
336
|
+
}
|
|
337
|
+
}, 2000);
|
|
338
|
+
}, 100);
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* Makes an XHR call against the config
|
|
342
|
+
* the response is converted into a blob url, which is assigned to the src attribute of an anchor element with download=true
|
|
343
|
+
* a click is simulated on the anchor to download the file
|
|
344
|
+
* @param config
|
|
345
|
+
* @param success
|
|
346
|
+
* @param error
|
|
347
|
+
*/
|
|
348
|
+
const downloadThroughAnchor = (config, success, error) => {
|
|
349
|
+
const url = config.url, method = config.method, data = config.dataParams || config.data, headers = config.headers;
|
|
350
|
+
headers['Content-Type'] = headers['Content-Type'] || 'application/x-www-form-urlencoded';
|
|
351
|
+
// Todo: Replace http with getService
|
|
352
|
+
httpService.send({
|
|
353
|
+
'target': 'WebService',
|
|
354
|
+
'action': 'invokeRuntimeRestCall',
|
|
355
|
+
'method': method,
|
|
356
|
+
'url': url,
|
|
357
|
+
'headers': headers,
|
|
358
|
+
'data': data,
|
|
359
|
+
'responseType': 'arraybuffer'
|
|
360
|
+
}).then(function (response) {
|
|
361
|
+
setTimeout(() => {
|
|
362
|
+
downloadFilefromResponse(response.body, response.headers, success, error);
|
|
363
|
+
}, 900);
|
|
364
|
+
}, function (err) {
|
|
365
|
+
triggerFn(error, err);
|
|
366
|
+
});
|
|
367
|
+
};
|
|
368
|
+
/**
|
|
369
|
+
* appends a timestamp on the passed filename to prevent caching
|
|
370
|
+
* returns the modified file name
|
|
371
|
+
* @param fileName
|
|
372
|
+
* @param exportFormat
|
|
373
|
+
* @returns {string}
|
|
374
|
+
*/
|
|
375
|
+
const getModifiedFileName = (fileName, exportFormat) => {
|
|
376
|
+
let fileExtension;
|
|
377
|
+
const currentTimestamp = Date.now();
|
|
378
|
+
if (exportFormat) {
|
|
379
|
+
fileExtension = exportTypesMap[exportFormat];
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
fileExtension = '.' + last(split(fileName, '.'));
|
|
383
|
+
fileName = replace(fileName, fileExtension, '');
|
|
384
|
+
}
|
|
385
|
+
return fileName + '_' + currentTimestamp + fileExtension;
|
|
386
|
+
};
|
|
387
|
+
const getCookieByName = (name) => {
|
|
388
|
+
// Todo: Shubham Implement cookie native js
|
|
389
|
+
return 'cookie';
|
|
390
|
+
};
|
|
391
|
+
/**
|
|
392
|
+
* This function returns the cookieValue if xsrf is enabled.
|
|
393
|
+
* In device, xsrf cookie is stored in localStorage.
|
|
394
|
+
* @returns xsrf cookie value
|
|
395
|
+
*/
|
|
396
|
+
const isXsrfEnabled = () => {
|
|
397
|
+
return false;
|
|
398
|
+
};
|
|
399
|
+
/**
|
|
400
|
+
* Returns the object node for a bind object, where the value has to be updated
|
|
401
|
+
* obj.target = "a"
|
|
402
|
+
* @param obj
|
|
403
|
+
* @param root
|
|
404
|
+
* @param variable
|
|
405
|
+
* @returns {*}
|
|
406
|
+
*/
|
|
407
|
+
const getTargetObj = (obj, root, variable) => {
|
|
408
|
+
/*
|
|
409
|
+
* if the target key is in the form as "['my.param']"
|
|
410
|
+
* keep the target key as "my.param" and do not split further
|
|
411
|
+
* this is done, so that, the computed value against this binding is assigned as
|
|
412
|
+
* {"my.param": "value"}
|
|
413
|
+
* and not as
|
|
414
|
+
* {
|
|
415
|
+
* "my": {
|
|
416
|
+
* "param": "value"
|
|
417
|
+
* }
|
|
418
|
+
* }
|
|
419
|
+
*/
|
|
420
|
+
let target = obj.target, targetObj;
|
|
421
|
+
const rootNode = variable[root];
|
|
422
|
+
if (DOT_EXPR_REX.test(target)) {
|
|
423
|
+
targetObj = rootNode;
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
target = target.substr(0, target.lastIndexOf('.'));
|
|
427
|
+
if (obj.target === root) {
|
|
428
|
+
targetObj = variable;
|
|
429
|
+
}
|
|
430
|
+
else if (target) {
|
|
431
|
+
targetObj = findValueOf(rootNode, target, true);
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
targetObj = rootNode;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
return targetObj;
|
|
438
|
+
};
|
|
439
|
+
/**
|
|
440
|
+
* Gets the key for the target object
|
|
441
|
+
* the computed value will be updated against this key in the targetObject(computed by getTargetObj())
|
|
442
|
+
* @param target
|
|
443
|
+
* @param regex
|
|
444
|
+
* @returns {*}
|
|
445
|
+
*/
|
|
446
|
+
const getTargetNodeKey = (target) => {
|
|
447
|
+
/*
|
|
448
|
+
* if the target key is in the form as "['my.param']"
|
|
449
|
+
* keep the target key as "my.param" and do not split further
|
|
450
|
+
* this is done, so that, the computed value against this binding is assigned as
|
|
451
|
+
* {"my.param": "value"}
|
|
452
|
+
* and not as
|
|
453
|
+
* {
|
|
454
|
+
* "my": {
|
|
455
|
+
* "param": "value"
|
|
456
|
+
* }
|
|
457
|
+
* }
|
|
458
|
+
*/
|
|
459
|
+
let targetNodeKey;
|
|
460
|
+
if (DOT_EXPR_REX.test(target)) {
|
|
461
|
+
targetNodeKey = target.replace(/^(\[["'])|(["']\])$/g, '');
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
targetNodeKey = target.split('.').pop();
|
|
465
|
+
}
|
|
466
|
+
return targetNodeKey;
|
|
467
|
+
};
|
|
468
|
+
const setValueToNode = (target, obj, root, variable, value, noUpdate) => {
|
|
469
|
+
const targetNodeKey = getTargetNodeKey(target), targetObj = getTargetObj(obj, root, variable);
|
|
470
|
+
value = !isUndefined(value) ? value : obj.value;
|
|
471
|
+
/* sanity check, user can bind parent nodes to non-object values, so child node bindings may fail */
|
|
472
|
+
if (targetObj) {
|
|
473
|
+
targetObj[targetNodeKey] = value;
|
|
474
|
+
}
|
|
475
|
+
processVariablePostBindUpdate(targetNodeKey, value, obj.type, variable, noUpdate);
|
|
476
|
+
};
|
|
477
|
+
/**
|
|
478
|
+
* The model internalBoundNodeMap stores the reference to latest computed values against internal(nested) bound nodes
|
|
479
|
+
* This is done so that the internal node's computed value is not lost, once its parent node's value is computed at a later point
|
|
480
|
+
* E.g.
|
|
481
|
+
* Variable.employeeVar has following bindings
|
|
482
|
+
* "dataBinding": [
|
|
483
|
+
{
|
|
484
|
+
"target": "department.budget",
|
|
485
|
+
"value": "bind:Variables.budgetVar.dataSet"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"target": "department",
|
|
489
|
+
"value": "bind:Variables.departmentVar.dataSet"
|
|
490
|
+
}
|
|
491
|
+
]
|
|
492
|
+
* When department.budget is computed, employeeVar.dataSet = {
|
|
493
|
+
* "department": {
|
|
494
|
+
* "budget": {"q1": 1111}
|
|
495
|
+
* }
|
|
496
|
+
* }
|
|
497
|
+
*
|
|
498
|
+
* When department is computed
|
|
499
|
+
* "department": {
|
|
500
|
+
* "name": "HR",
|
|
501
|
+
* "location": "Hyderabad"
|
|
502
|
+
* }
|
|
503
|
+
* The budget field (computed earlier) is LOST.
|
|
504
|
+
*
|
|
505
|
+
* To avoid this, the latest values against internal nodes (in this case department.budget) are stored in a map
|
|
506
|
+
* These values are assigned back to internal fields if the parent is computed (in this case department)
|
|
507
|
+
* @param target
|
|
508
|
+
* @param root
|
|
509
|
+
* @param variable
|
|
510
|
+
*/
|
|
511
|
+
const updateInternalNodes = (target, root, variable) => {
|
|
512
|
+
const boundInternalNodes = keys(get(internalBoundNodeMap.get(variable), [variable.name, root])), targetNodeKey = getTargetNodeKey(target);
|
|
513
|
+
let internalNodes;
|
|
514
|
+
function findInternalNodeBound() {
|
|
515
|
+
return filter(boundInternalNodes, function (node) {
|
|
516
|
+
// the later condition in check (targetNodeKey === root || targetNodeKey === 'dataBinding') is specifically for live variable of insert/update types
|
|
517
|
+
return (node !== targetNodeKey && includes(node, targetNodeKey)) || ((targetNodeKey === root || targetNodeKey === 'dataBinding') && node !== targetNodeKey);
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
internalNodes = findInternalNodeBound();
|
|
521
|
+
if ((internalNodes.length)) {
|
|
522
|
+
forEach(internalNodes, function (node) {
|
|
523
|
+
setValueToNode(node, { target: node }, root, variable, get(internalBoundNodeMap.get(variable), [variable.name, root, node]));
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
};
|
|
527
|
+
/**
|
|
528
|
+
* New Implementation (DataBinding Flat Structure with x-path targets)
|
|
529
|
+
* processes a dataBinding object, if bound to expression, watches over it, else assigns value to the expression
|
|
530
|
+
* @param obj dataBinding object
|
|
531
|
+
* @param scope scope of the variable
|
|
532
|
+
* @param root root node string (dataBinding for all variables, dataSet for static variable)
|
|
533
|
+
* @param variable variable object
|
|
534
|
+
*/
|
|
535
|
+
const processBindObject = (obj, scope, root, variable) => {
|
|
536
|
+
const target = obj.target, targetObj = getTargetObj(obj, root, variable), targetNodeKey = getTargetNodeKey(target), runMode = true;
|
|
537
|
+
const destroyFn = scope.registerDestroyListener ? scope.registerDestroyListener.bind(scope) : noop;
|
|
538
|
+
if (stringStartsWith(obj.value, 'bind:')) {
|
|
539
|
+
const listener = (newVal, oldVal) => {
|
|
540
|
+
if ((newVal === oldVal && isUndefined(newVal)) || (isUndefined(newVal) && (!isUndefined(oldVal) || !isUndefined(targetObj[targetNodeKey])))) {
|
|
541
|
+
return;
|
|
542
|
+
}
|
|
543
|
+
// Skip cloning for blob column
|
|
544
|
+
if (!includes(['blob', 'file'], obj.type)) {
|
|
545
|
+
newVal = getClonedObject(newVal);
|
|
546
|
+
}
|
|
547
|
+
setValueToNode(target, obj, root, variable, newVal); // cloning newVal to keep the source clean
|
|
548
|
+
if (runMode) {
|
|
549
|
+
/*set the internal bound node map with the latest updated value*/
|
|
550
|
+
if (!internalBoundNodeMap.has(variable)) {
|
|
551
|
+
internalBoundNodeMap.set(variable, {});
|
|
552
|
+
}
|
|
553
|
+
set(internalBoundNodeMap.get(variable), [variable.name, root, target], newVal);
|
|
554
|
+
/*update the internal nodes after internal node map is set*/
|
|
555
|
+
if (isObject(newVal)) {
|
|
556
|
+
updateInternalNodes(target, root, variable);
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
};
|
|
560
|
+
destroyFn($watch(obj.value.replace('bind:', ''), scope, {}, listener, undefined, undefined, undefined, () => variable.isMuted));
|
|
561
|
+
}
|
|
562
|
+
else if (!isUndefined(obj.value)) {
|
|
563
|
+
setValueToNode(target, obj, root, variable, obj.value, true);
|
|
564
|
+
if (runMode && root !== targetNodeKey) {
|
|
565
|
+
if (!internalBoundNodeMap.has(variable)) {
|
|
566
|
+
internalBoundNodeMap.set(variable, {});
|
|
567
|
+
}
|
|
568
|
+
set(internalBoundNodeMap.get(variable), [variable.name, root, target], obj.value);
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
};
|
|
572
|
+
// *********************************************************** PUBLIC *********************************************************** //
|
|
573
|
+
/**
|
|
574
|
+
* Initializes watchers for binding expressions configured in the variable
|
|
575
|
+
* @param variable
|
|
576
|
+
* @param context, scope context in which the variable exists
|
|
577
|
+
* @param {string} bindSource, the field in variable where the databindings are configured
|
|
578
|
+
* for most variables, it will be 'dataBinding', hence default fallback is to 'dataBinding'
|
|
579
|
+
* for some it can be 'dataSet' and hence will be passed as param
|
|
580
|
+
* @param {string} bindTarget, the object field in variable where the computed bindings will be set
|
|
581
|
+
*/
|
|
582
|
+
export const processBinding = (variable, context, bindSource, bindTarget) => {
|
|
583
|
+
bindSource = bindSource || 'dataBinding';
|
|
584
|
+
bindTarget = bindTarget || 'dataBinding';
|
|
585
|
+
const bindMap = variable[bindSource];
|
|
586
|
+
variable[bindSource] = {};
|
|
587
|
+
variable['_bind' + bindSource] = bindMap;
|
|
588
|
+
if (!bindMap || !isArray(bindMap)) {
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
591
|
+
bindMap.forEach(function (node) {
|
|
592
|
+
/* for static variable change the binding with target 'dataBinding' to 'dataSet', as the results have to reflect directly in the dataSet */
|
|
593
|
+
if (variable.category === 'wm.Variable' && node.target === 'dataBinding') {
|
|
594
|
+
node.target = 'dataSet';
|
|
595
|
+
}
|
|
596
|
+
processBindObject(node, context, bindTarget, variable);
|
|
597
|
+
});
|
|
598
|
+
};
|
|
599
|
+
/**
|
|
600
|
+
* Downloads a file in the browser.
|
|
601
|
+
* Two methods to do so, namely:
|
|
602
|
+
* 1. downloadThroughAnchor, called if
|
|
603
|
+
* - if a header is to be passed
|
|
604
|
+
* OR
|
|
605
|
+
* - if security is ON and XSRF token is to be sent as well
|
|
606
|
+
* NOTE: This method does not work with Safari version 10.0 and below
|
|
607
|
+
*
|
|
608
|
+
* 2. downloadThroughIframe
|
|
609
|
+
* - this method works across browsers and uses an iframe to downlad the file.
|
|
610
|
+
* @param requestParams request params object
|
|
611
|
+
* @param fileName represents the file name
|
|
612
|
+
* @param exportFormat downloaded file format
|
|
613
|
+
* @param success success callback
|
|
614
|
+
* @param error error callback
|
|
615
|
+
*/
|
|
616
|
+
export const simulateFileDownload = (requestParams, fileName, exportFormat, success, error, dataBinding) => {
|
|
617
|
+
/*success and error callbacks are executed incase of downloadThroughAnchor
|
|
618
|
+
Due to technical limitation cannot be executed incase of iframe*/
|
|
619
|
+
if (!isEmpty(requestParams.headers) || isXsrfEnabled()) {
|
|
620
|
+
downloadThroughAnchor(requestParams, success, error);
|
|
621
|
+
}
|
|
622
|
+
else {
|
|
623
|
+
downloadThroughIframe(requestParams, success, dataBinding, error);
|
|
624
|
+
}
|
|
625
|
+
};
|
|
626
|
+
/**
|
|
627
|
+
* sets the value against passed key on the "inputFields" object in the variable
|
|
628
|
+
* @param targetObj: the object in which the key, value is to be set
|
|
629
|
+
* @param variable
|
|
630
|
+
* @param key: can be:
|
|
631
|
+
* - a string e.g. "username"
|
|
632
|
+
* - an object, e.g. {"username": "john", "ssn": "11111"}
|
|
633
|
+
* @param val
|
|
634
|
+
* - if key is string, the value against it (for that data type)
|
|
635
|
+
* - if key is object, not required
|
|
636
|
+
* @param options
|
|
637
|
+
* @returns {any}
|
|
638
|
+
*/
|
|
639
|
+
export const setInput = (targetObj, key, val, options) => {
|
|
640
|
+
targetObj = targetObj || {};
|
|
641
|
+
let keys, lastKey, paramObj = {};
|
|
642
|
+
// content type check
|
|
643
|
+
if (isObject(options)) {
|
|
644
|
+
// @ts-ignore
|
|
645
|
+
switch (options.type) {
|
|
646
|
+
case 'file':
|
|
647
|
+
// @ts-ignore
|
|
648
|
+
val = getBlob(val, options.contentType);
|
|
649
|
+
break;
|
|
650
|
+
case 'number':
|
|
651
|
+
val = isNumber(val) ? val : parseInt(val, 10);
|
|
652
|
+
break;
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
if (isObject(key)) {
|
|
656
|
+
// check if the passed parameter is an object itself
|
|
657
|
+
paramObj = key;
|
|
658
|
+
}
|
|
659
|
+
else if (key.indexOf('.') > -1) {
|
|
660
|
+
// check for '.' in key e.g. 'employee.department'
|
|
661
|
+
keys = key.split('.');
|
|
662
|
+
lastKey = keys.pop();
|
|
663
|
+
// Finding the object based on the key
|
|
664
|
+
targetObj = findValueOf(targetObj, keys.join('.'), true);
|
|
665
|
+
key = lastKey;
|
|
666
|
+
paramObj[key] = val;
|
|
667
|
+
}
|
|
668
|
+
else {
|
|
669
|
+
paramObj[key] = val;
|
|
670
|
+
}
|
|
671
|
+
forEach(paramObj, function (paramVal, paramKey) {
|
|
672
|
+
targetObj[paramKey] = paramVal;
|
|
673
|
+
});
|
|
674
|
+
return targetObj;
|
|
675
|
+
};
|
|
676
|
+
/**
|
|
677
|
+
* returns true if HTML5 File API is available else false
|
|
678
|
+
* @returns {{prototype: Blob; new(blobParts?: any[], options?: BlobPropertyBag): Blob}}
|
|
679
|
+
*/
|
|
680
|
+
export const isFileUploadSupported = () => {
|
|
681
|
+
return (window.File && window.FileReader && window.FileList && window.Blob);
|
|
682
|
+
};
|
|
683
|
+
/**
|
|
684
|
+
*
|
|
685
|
+
* @param varOrder
|
|
686
|
+
* @param optionsOrder
|
|
687
|
+
* @returns {any}
|
|
688
|
+
*/
|
|
689
|
+
export const getEvaluatedOrderBy = (varOrder, optionsOrder) => {
|
|
690
|
+
let optionFields, varOrderBy;
|
|
691
|
+
// If options order by is not defined, return variable order
|
|
692
|
+
if (!optionsOrder || isEmpty(optionsOrder)) {
|
|
693
|
+
return varOrder;
|
|
694
|
+
}
|
|
695
|
+
// If variable order by is not defined, return options order
|
|
696
|
+
if (!varOrder) {
|
|
697
|
+
return optionsOrder;
|
|
698
|
+
}
|
|
699
|
+
// If both are present, combine the options order and variable order, with options order as precedence
|
|
700
|
+
varOrder = split(varOrder, ',');
|
|
701
|
+
optionsOrder = split(optionsOrder, ',');
|
|
702
|
+
optionFields = map(optionsOrder, function (order) {
|
|
703
|
+
return split(trim(order), ' ')[0];
|
|
704
|
+
});
|
|
705
|
+
// If a field is present in both options and variable, remove the variable orderby
|
|
706
|
+
remove(varOrder, function (orderBy) {
|
|
707
|
+
return includes(optionFields, split(trim(orderBy), ' ')[0]);
|
|
708
|
+
});
|
|
709
|
+
varOrderBy = varOrder.length ? ',' + join(varOrder, ',') : '';
|
|
710
|
+
return join(optionsOrder, ',') + varOrderBy;
|
|
711
|
+
};
|
|
712
|
+
/**
|
|
713
|
+
* formatting the expression as required by backend which was enclosed by ${<expression>}.
|
|
714
|
+
* @param fieldDefs
|
|
715
|
+
* returns fieldDefs
|
|
716
|
+
*/
|
|
717
|
+
export const formatExportExpression = fieldDefs => {
|
|
718
|
+
forEach(fieldDefs, function (fieldDef) {
|
|
719
|
+
if (fieldDef.expression) {
|
|
720
|
+
fieldDef.expression = '${' + fieldDef.expression + '}';
|
|
721
|
+
}
|
|
722
|
+
});
|
|
723
|
+
return fieldDefs;
|
|
724
|
+
};
|
|
725
|
+
export const debounceVariableCall = _invoke;
|
|
726
|
+
const getDateTimeFormatForType = (type) => {
|
|
727
|
+
return DEFAULT_FORMATS[toUpper(type)];
|
|
728
|
+
};
|
|
729
|
+
// Format value for datetime types
|
|
730
|
+
const _formatDate = (dateValue, type) => {
|
|
731
|
+
let epoch;
|
|
732
|
+
if (isDate(dateValue)) {
|
|
733
|
+
epoch = dateValue.getTime();
|
|
734
|
+
}
|
|
735
|
+
else {
|
|
736
|
+
if (!isNaN(dateValue)) {
|
|
737
|
+
dateValue = parseInt(dateValue, 10);
|
|
738
|
+
}
|
|
739
|
+
epoch = dateValue && moment(dateValue).valueOf();
|
|
740
|
+
}
|
|
741
|
+
if (isNaN(epoch) && type !== DataType.TIME) {
|
|
742
|
+
return epoch;
|
|
743
|
+
}
|
|
744
|
+
if (type === DataType.TIMESTAMP) {
|
|
745
|
+
return epoch;
|
|
746
|
+
}
|
|
747
|
+
if (type === DataType.TIME && !epoch) {
|
|
748
|
+
epoch = moment(new Date().toDateString() + ' ' + dateValue).valueOf();
|
|
749
|
+
}
|
|
750
|
+
return dateValue && appManager.getPipe('date').transform(epoch, getDateTimeFormatForType(type));
|
|
751
|
+
};
|
|
752
|
+
// Function to convert values of date time types into default formats
|
|
753
|
+
export const formatDate = (value, type) => {
|
|
754
|
+
if (includes(type, '.')) {
|
|
755
|
+
type = toLower(extractType(type));
|
|
756
|
+
}
|
|
757
|
+
if (isArray(value)) {
|
|
758
|
+
return map(value, function (val) {
|
|
759
|
+
return _formatDate(val, type);
|
|
760
|
+
});
|
|
761
|
+
}
|
|
762
|
+
return _formatDate(value, type);
|
|
763
|
+
};
|
|
764
|
+
/**
|
|
765
|
+
* This method decodes the variable data which is encoded from backend before showing in the widgets.
|
|
766
|
+
* It takes variable response content as input and iterates recursively,
|
|
767
|
+
* if the value is string type then it will decode the data.
|
|
768
|
+
* @param responseContent (Array of objects)
|
|
769
|
+
*/
|
|
770
|
+
export const decodeData = (responseContent) => {
|
|
771
|
+
if (!responseContent) {
|
|
772
|
+
return responseContent;
|
|
773
|
+
}
|
|
774
|
+
if (isArray(responseContent)) {
|
|
775
|
+
forEach(responseContent, data => {
|
|
776
|
+
if (isString(data)) {
|
|
777
|
+
data = htmlDecode(data);
|
|
778
|
+
}
|
|
779
|
+
else if (isObject(data)) {
|
|
780
|
+
forEach(data, (value, key) => {
|
|
781
|
+
if (value && isString(value)) {
|
|
782
|
+
data[key] = htmlDecode(value);
|
|
783
|
+
}
|
|
784
|
+
else if (isObject(value)) {
|
|
785
|
+
decodeData(value);
|
|
786
|
+
}
|
|
787
|
+
});
|
|
788
|
+
}
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
else if (isObject(responseContent)) {
|
|
792
|
+
forEach(responseContent, (value, key) => {
|
|
793
|
+
if (value && isString(value)) {
|
|
794
|
+
responseContent[key] = htmlDecode(value);
|
|
795
|
+
}
|
|
796
|
+
else if (isObject(value)) {
|
|
797
|
+
decodeData(value);
|
|
798
|
+
}
|
|
799
|
+
});
|
|
800
|
+
}
|
|
801
|
+
else if (isString(responseContent)) {
|
|
802
|
+
responseContent = htmlDecode(responseContent);
|
|
803
|
+
return responseContent;
|
|
804
|
+
}
|
|
805
|
+
};
|
|
806
|
+
function htmlDecode(input) {
|
|
807
|
+
return he.unescape(input);
|
|
808
|
+
}
|
|
809
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFyaWFibGVzL3NyYy91dGlsL3ZhcmlhYmxlL3ZhcmlhYmxlcy51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsZUFBZSxFQUNmLFdBQVcsRUFDWCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsU0FBUyxFQUNaLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFBWSxrQkFBa0IsRUFBRSxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRyxPQUFPLEVBQ0gsUUFBUSxFQUFFLE1BQU0sRUFDaEIsT0FBTyxFQUNQLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFDOUIsT0FBTyxFQUNQLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUM5QixRQUFRLEVBQ1IsV0FBVyxFQUNYLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFDckIsSUFBSSxFQUNKLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFDNUIsS0FBSyxFQUNMLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFDaEMsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxLQUFLLFNBQVMsTUFBTyxRQUFRLENBQUM7QUFDckMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFHckQsTUFBTSxjQUFjLEdBQUssRUFBRSxPQUFPLEVBQUcsT0FBTyxFQUFFLEtBQUssRUFBRyxNQUFNLEVBQUMsQ0FBQztBQUU5RCxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUM7QUFDdEIsTUFBTSxDQUFDLElBQUksV0FBVyxDQUFDO0FBQ3ZC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O0lBQ3JCLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICAkcGFyc2VFdmVudCxcbiAgICAkd2F0Y2gsXG4gICAgRGF0YVR5cGUsXG4gICAgREVGQVVMVF9GT1JNQVRTLFxuICAgIGV4dHJhY3RUeXBlLFxuICAgIGZpbmRWYWx1ZU9mLFxuICAgIGdldEJsb2IsXG4gICAgZ2V0Q2xvbmVkT2JqZWN0LFxuICAgIHN0cmluZ1N0YXJ0c1dpdGgsXG4gICAgdHJpZ2dlckZuXG59IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHtDT05TVEFOVFMsIFZBUklBQkxFX0NPTlNUQU5UUywgV1NfQ09OU1RBTlRTfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdmFyaWFibGVzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIGRlYm91bmNlLCBmaWx0ZXIsXG4gICAgZm9yRWFjaCxcbiAgICBnZXQsIGluY2x1ZGVzLCBpc0FycmF5LCBpc0RhdGUsXG4gICAgaXNFbXB0eSxcbiAgICBpc0Z1bmN0aW9uLCBpc051bWJlciwgaXNPYmplY3QsXG4gICAgaXNTdHJpbmcsXG4gICAgaXNVbmRlZmluZWQsXG4gICAgam9pbiwga2V5cywgbGFzdCwgbWFwLFxuICAgIG5vb3AsXG4gICAgcGlja0J5LCByZW1vdmUsIHJlcGxhY2UsIHNldCxcbiAgICBzbGljZSxcbiAgICBzcGxpdCwgdG9Mb3dlciwgdG9VcHBlciwgdHJpbVxufSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmRlY2xhcmUgY29uc3QgJDtcbmRlY2xhcmUgY29uc3QgaGU7XG5pbXBvcnQgKiBhcyBtb21lbnRMaWIgIGZyb20gJ21vbWVudCc7XG5jb25zdCBtb21lbnQgPSBtb21lbnRMaWIuZGVmYXVsdCB8fCB3aW5kb3dbJ21vbWVudCddO1xuZGVjbGFyZSBjb25zdCB3aW5kb3c7XG5cbmNvbnN0IGV4cG9ydFR5cGVzTWFwICAgPSB7ICdFWENFTCcgOiAnLnhsc3gnLCAnQ1NWJyA6ICcuY3N2J307XG5cbmV4cG9ydCBsZXQgYXBwTWFuYWdlcjtcbmV4cG9ydCBsZXQgaHR0cFNlcnZpY2U7XG5leHBvcnQgbGV0IG1ldGFkYXRhU2VydmljZTtcbmV4cG9ydCBsZXQgbmF2aWdhdGlvblNlcnZpY2U7XG5leHBvcnQgbGV0IHJvdXRlclNlcnZpY2U7XG5leHBvcnQgbGV0IHRvYXN0ZXJTZXJ2aWNlO1xuZXhwb3J0IGxldCBvYXV0aFNlcnZpY2U7XG5leHBvcnQgbGV0IHNlY3VyaXR5U2VydmljZTtcbmV4cG9ydCBsZXQgZGlhbG9nU2VydmljZTtcblxuY29uc3QgRE9UX0VYUFJfUkVYID0gL15cXFsoXCJ8JylbXFx3XFxXXSooXFwxKVxcXSQvLFxuICAgIGludGVybmFsQm91bmROb2RlTWFwID0gbmV3IE1hcCgpLFxuICAgIHRpbWVycyA9IG5ldyBNYXAoKTtcblxuY29uc3QgX2ludm9rZSA9ICh2YXJpYWJsZSwgb3ApID0+IHtcbiAgICBsZXQgZGVib3VuY2VkRm4sXG4gICAgICAgIGNhbmNlbEZuID0gbm9vcCxcbiAgICAgICAgcmV0VmFsO1xuICAgIGlmICh0aW1lcnMuaGFzKHZhcmlhYmxlKSkge1xuICAgICAgICBjYW5jZWxGbiA9IHRpbWVycy5nZXQodmFyaWFibGUpLmNhbmNlbDtcbiAgICB9XG4gICAgY2FuY2VsRm4oKTtcbiAgICBkZWJvdW5jZWRGbiA9IGRlYm91bmNlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0VmFsID0gdmFyaWFibGVbb3BdKCk7XG4gICAgICAgIC8vIGhhbmRsZSBwcm9taXNlcyB0byBhdm9pZCB1bmNhdWdodCBwcm9taXNlIGVycm9ycyBpbiBjb25zb2xlXG4gICAgICAgIGlmIChyZXRWYWwgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICByZXRWYWwuY2F0Y2gobm9vcCk7XG4gICAgICAgIH1cbiAgICB9LCAxMDApO1xuICAgIHRpbWVycy5zZXQodmFyaWFibGUsIGRlYm91bmNlZEZuKTtcbiAgICBkZWJvdW5jZWRGbigpO1xufTtcblxuY29uc3QgcHJvY2Vzc1ZhcmlhYmxlUG9zdEJpbmRVcGRhdGUgPSAobm9kZU5hbWUsIG5vZGVWYWwsIG5vZGVUeXBlLCB2YXJpYWJsZSwgbm9VcGRhdGUpID0+IHtcbiAgICBzd2l0Y2ggKHZhcmlhYmxlLmNhdGVnb3J5KSB7XG4gICAgICAgIGNhc2UgVkFSSUFCTEVfQ09OU1RBTlRTLkNBVEVHT1JZLkxJVkU6XG4gICAgICAgICAgICBpZiAodmFyaWFibGUub3BlcmF0aW9uID09PSAncmVhZCcpIHtcbiAgICAgICAgICAgICAgICBpZiAobm9kZU5hbWUgPT09ICdkYXRhQmluZGluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yRWFjaChub2RlVmFsLCBmdW5jdGlvbiAodmFsLCBrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLmZpbHRlckZpZWxkc1trZXldID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZSc6IHZhbFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuZmlsdGVyRmllbGRzW25vZGVOYW1lXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZSc6IG5vZGVWYWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgOiBub2RlVHlwZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvKiBpZiBhdXRvLXVwZGF0ZSBzZXQgZm9yIHRoZSB2YXJpYWJsZSB3aXRoIHJlYWQgb3BlcmF0aW9uIG9ubHksIGdldCBpdHMgZGF0YSAqL1xuICAgICAgICAgICAgICAgIGlmICh2YXJpYWJsZS5hdXRvVXBkYXRlICYmICFpc1VuZGVmaW5lZChub2RlVmFsKSAmJiBpc0Z1bmN0aW9uKHZhcmlhYmxlLmxpc3RSZWNvcmRzKSAmJiAhbm9VcGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgX2ludm9rZSh2YXJpYWJsZSwgJ2xpc3RSZWNvcmRzJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAobm9kZU5hbWUgPT09ICdkYXRhQmluZGluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuaW5wdXRGaWVsZHMgPSBub2RlVmFsO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLmlucHV0RmllbGRzW25vZGVOYW1lXSA9IG5vZGVWYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qIGlmIGF1dG8tdXBkYXRlIHNldCBmb3IgdGhlIHZhcmlhYmxlIHdpdGggcmVhZCBvcGVyYXRpb24gb25seSwgZ2V0IGl0cyBkYXRhICovXG4gICAgICAgICAgICAgICAgaWYgKHZhcmlhYmxlLmF1dG9VcGRhdGUgJiYgIWlzVW5kZWZpbmVkKG5vZGVWYWwpICYmIGlzRnVuY3Rpb24odmFyaWFibGVbdmFyaWFibGUub3BlcmF0aW9uICsgJ1JlY29yZCddKSAmJiAhbm9VcGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgX2ludm9rZSh2YXJpYWJsZSwgdmFyaWFibGUub3BlcmF0aW9uICsgJ1JlY29yZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFZBUklBQkxFX0NPTlNUQU5UUy5DQVRFR09SWS5DUlVEOlxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlLm9wZXJhdGlvblR5cGUgPT09ICdsaXN0JyAmJiB2YXJpYWJsZS5hdXRvVXBkYXRlICYmICFpc1VuZGVmaW5lZChub2RlVmFsKSAmJiBpc0Z1bmN0aW9uKHZhcmlhYmxlLmludm9rZSkgJiYgIW5vVXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgX2ludm9rZSh2YXJpYWJsZSwgJ2ludm9rZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVkFSSUFCTEVfQ09OU1RBTlRTLkNBVEVHT1JZLlNFUlZJQ0U6XG4gICAgICAgIGNhc2UgVkFSSUFCTEVfQ09OU1RBTlRTLkNBVEVHT1JZLkxPR0lOOlxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlLmF1dG9VcGRhdGUgJiYgIWlzVW5kZWZpbmVkKG5vZGVWYWwpICYmIGlzRnVuY3Rpb24odmFyaWFibGUuaW52b2tlKSAmJiAhbm9VcGRhdGUpIHtcbiAgICAgICAgICAgICAgICBfaW52b2tlKHZhcmlhYmxlLCAnaW52b2tlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0RGVwZW5kZW5jeSA9ICh0eXBlOiBzdHJpbmcsIHJlZjogYW55KSA9PiB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ2FwcE1hbmFnZXInOlxuICAgICAgICAgICAgYXBwTWFuYWdlciA9IHJlZjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdodHRwJzpcbiAgICAgICAgICAgIGh0dHBTZXJ2aWNlID0gcmVmO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ21ldGFkYXRhJzpcbiAgICAgICAgICAgIG1ldGFkYXRhU2VydmljZSA9IHJlZjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICduYXZpZ2F0aW9uU2VydmljZSc6XG4gICAgICAgICAgICBuYXZpZ2F0aW9uU2VydmljZSA9IHJlZjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyb3V0ZXInOlxuICAgICAgICAgICAgcm91dGVyU2VydmljZSA9IHJlZjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0b2FzdGVyJzpcbiAgICAgICAgICAgIHRvYXN0ZXJTZXJ2aWNlID0gIHJlZjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdvQXV0aCc6XG4gICAgICAgICAgICBvYXV0aFNlcnZpY2UgPSAgcmVmO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3NlY3VyaXR5JzpcbiAgICAgICAgICAgIHNlY3VyaXR5U2VydmljZSA9ICByZWY7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgICAgICAgIGRpYWxvZ1NlcnZpY2UgPSByZWY7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhdGVDYWxsYmFjayA9ICh0eXBlOiBzdHJpbmcsIHZhcmlhYmxlOiBhbnksIGRhdGE6IGFueSwgb3B0aW9ucz86IGFueSwgc2tpcERlZmF1bHROb3RpZmljYXRpb24/OiBib29sZWFuKSA9PiB7XG5cbiAgICAvKmNoZWNraW5nIGlmIGV2ZW50IGlzIGF2YWlsYWJsZSBhbmQgdmFyaWFibGUgaGFzIGV2ZW50IHByb3BlcnR5IGFuZCB2YXJpYWJsZSBldmVudCBwcm9wZXJ0eSBib3VuZCB0byBmdW5jdGlvbiovXG4gICAgY29uc3QgZXZlbnRWYWx1ZXMgPSB2YXJpYWJsZVt0eXBlXSxcbiAgICAgICAgY2FsbEJhY2tTY29wZSA9IHZhcmlhYmxlLl9jb250ZXh0O1xuICAgIGxldCBlcnJvclZhcmlhYmxlO1xuICAgIC8qKlxuICAgICAqIEZvciBlcnJvciBldmVudDpcbiAgICAgKiB0cmlnZ2VyIGFwcCBsZXZlbCBlcnJvciBoYW5kbGVyLlxuICAgICAqIGlmIG5vIGV2ZW50IGlzIGFzc2lnbmVkLCB0cmlnZ2VyIGRlZmF1bHQgYXBwTm90aWZpY2F0aW9uIHZhcmlhYmxlLlxuICAgICAqL1xuICAgaWYgKHR5cGUgPT09IFZBUklBQkxFX0NPTlNUQU5UUy5FVkVOVC5FUlJPUiAmJiAhc2tpcERlZmF1bHROb3RpZmljYXRpb24pIHtcbiAgICAgICAgaWYgKCFldmVudFZhbHVlcykge1xuICAgICAgICAgICAgLyogaW4gY2FzZSBvZiBlcnJvciwgaWYgbm8gZXZlbnQgYXNzaWduZWQsIGhhbmRsZSB0aHJvdWdoIGRlZmF1bHQgbm90aWZpY2F0aW9uIHZhcmlhYmxlICovXG4gICAgICAgICAgICBlcnJvclZhcmlhYmxlID0gY2FsbEJhY2tTY29wZS5BY3Rpb25zW1ZBUklBQkxFX0NPTlNUQU5UUy5ERUZBVUxUX1ZBUi5OT1RJRklDQVRJT05dO1xuICAgICAgICAgICAgaWYgKGVycm9yVmFyaWFibGUpIHtcbiAgICAgICAgICAgICAgICBkYXRhID0gZXJyb3JWYXJpYWJsZS5nZXRNZXNzYWdlKCkgfHwgZGF0YTtcbiAgICAgICAgICAgICAgICBkYXRhID0gaXNTdHJpbmcoZGF0YSkgPyBkYXRhIDogJ0FuIGVycm9yIGhhcyBvY2N1cmVkLiBQbGVhc2UgY2hlY2sgdGhlIGFwcCBsb2dzLic7XG4gICAgICAgICAgICAgICAgZXJyb3JWYXJpYWJsZS5pbnZva2UoeyAnbWVzc2FnZScgOiBkYXRhfSwgdW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAvLyAkcm9vdFNjb3BlLiRldmFsQXN5bmMoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAvLyAkcm9vdFNjb3BlLiRlbWl0KFwiaW52b2tlLXNlcnZpY2VcIiwgVkFSSUFCTEVfQ09OU1RBTlRTLkRFRkFVTFRfVkFSLk5PVElGSUNBVElPTiwge3Njb3BlOiBjYWxsQmFja1Njb3BlLCBtZXNzYWdlOiByZXNwb25zZX0pO1xuICAgICAgICAgICAgICAgIC8vIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFRPRE86IFtWaWJodV0sIGNoZWNrIHdoZXRoZXIgdG8gc3VwcG9ydCBsZWdhY3kgZXZlbnQgY2FsbGluZyBtZWNoYW5pc20gKGlkZWFsbHksIGl0IHNob3VsZCBoYXZlIGJlZW4gbWlncmF0ZWQpXG4gICAgY29uc3QgZm4gPSAkcGFyc2VFdmVudCh2YXJpYWJsZVt0eXBlXSk7XG4gICAgaWYgKHR5cGUgPT09IFZBUklBQkxFX0NPTlNUQU5UUy5FVkVOVC5CRUZPUkVfVVBEQVRFKSB7XG4gICAgICAgIGlmICh2YXJpYWJsZS5jYXRlZ29yeSA9PT0gJ3dtLkxpdmVWYXJpYWJsZScgJiYgdmFyaWFibGUub3BlcmF0aW9uID09PSAncmVhZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBmbih2YXJpYWJsZS5fY29udGV4dCwge3ZhcmlhYmxlOiB2YXJpYWJsZSwgZGF0YUZpbHRlcjogZGF0YSwgb3B0aW9uczogb3B0aW9uc30pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZuKHZhcmlhYmxlLl9jb250ZXh0LCB7dmFyaWFibGU6IHZhcmlhYmxlLCBpbnB1dERhdGE6IGRhdGEsIG9wdGlvbnM6IG9wdGlvbnN9KTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmbih2YXJpYWJsZS5fY29udGV4dCwge3ZhcmlhYmxlOiB2YXJpYWJsZSwgZGF0YTogZGF0YSwgb3B0aW9uczogb3B0aW9uc30pO1xuICAgIH1cbn07XG5cbmNvbnN0IHRyaWdnZXJPblRpbWVvdXQgPSAoc3VjY2VzcykgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4geyB0cmlnZ2VyRm4oc3VjY2Vzcyk7IH0sIDUwMCk7XG59O1xuXG5jb25zdCBkb3dubG9hZEZpbGVmcm9tUmVzcG9uc2UgPSAocmVzcG9uc2UsIGhlYWRlcnMsIHN1Y2Nlc3MsIGVycm9yKSA9PiB7XG4gICAgLy8gY2hlY2sgZm9yIGEgZmlsZW5hbWVcbiAgICBsZXQgZmlsZW5hbWUgPSAnJyxcbiAgICAgICAgZmlsZW5hbWVSZWdleCxcbiAgICAgICAgbWF0Y2hlcyxcbiAgICAgICAgdHlwZSxcbiAgICAgICAgYmxvYixcbiAgICAgICAgVVJMLFxuICAgICAgICBkb3dubG9hZFVybCxcbiAgICAgICAgcG9wdXA7XG4gICAgY29uc3QgZGlzcG9zaXRpb24gPSBoZWFkZXJzLmdldCgnQ29udGVudC1EaXNwb3NpdGlvbicpO1xuICAgIGlmIChkaXNwb3NpdGlvbiAmJiBkaXNwb3NpdGlvbi5pbmRleE9mKCdhdHRhY2htZW50JykgIT09IC0xKSB7XG4gICAgICAgIGZpbGVuYW1lUmVnZXggPSAvZmlsZW5hbWVbXjs9XFxuXSo9KChbJ1wiXSkuKj9cXDJ8W147XFxuXSopLztcbiAgICAgICAgbWF0Y2hlcyA9IGZpbGVuYW1lUmVnZXguZXhlYyhkaXNwb3NpdGlvbik7XG4gICAgICAgIGlmIChtYXRjaGVzICE9PSBudWxsICYmIG1hdGNoZXNbMV0pIHtcbiAgICAgICAgICAgIGZpbGVuYW1lID0gbWF0Y2hlc1sxXS5yZXBsYWNlKC9bJ1wiXS9nLCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0eXBlID0gaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpO1xuICAgIGJsb2IgPSBuZXcgQmxvYihbcmVzcG9uc2VdLCB7IHR5cGU6IHR5cGUgfSk7XG5cbiAgICBpZiAodHlwZW9mIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlQmxvYiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gSUUgd29ya2Fyb3VuZCBmb3IgXCJIVE1MNzAwNzogT25lIG9yIG1vcmUgYmxvYiBVUkxzIHdlcmUgcmV2b2tlZCBieSBjbG9zaW5nIHRoZSBibG9iIGZvciB3aGljaCB0aGV5IHdlcmUgY3JlYXRlZC4gVGhlc2UgVVJMcyB3aWxsIG5vIGxvbmdlciByZXNvbHZlIGFzIHRoZSBkYXRhIGJhY2tpbmcgdGhlIFVSTCBoYXMgYmVlbiBmcmVlZC5cIlxuICAgICAgICBpZiAod2luZG93Lm5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIGZpbGVuYW1lKSkge1xuICAgICAgICAgICAgdHJpZ2dlck9uVGltZW91dChzdWNjZXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyaWdnZXJGbihlcnJvcik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBVUkwgICAgICAgICA9IHdpbmRvdy5VUkwgfHwgd2luZG93LndlYmtpdFVSTDtcbiAgICAgICAgZG93bmxvYWRVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuXG4gICAgICAgIGlmIChmaWxlbmFtZSkge1xuICAgICAgICAgICAgLy8gdXNlIEhUTUw1IGFbZG93bmxvYWRdIGF0dHJpYnV0ZSB0byBzcGVjaWZ5IGZpbGVuYW1lXG4gICAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgICAgbGV0IHJlYWRlcjtcbiAgICAgICAgICAgIC8vIHNhZmFyaSBkb2Vzbid0IHN1cHBvcnQgdGhpcyB5ZXRcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYS5kb3dubG9hZCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IHJlYWRlci5yZXN1bHQucmVwbGFjZSgvXmRhdGE6W147XSo7LywgJ2RhdGE6YXR0YWNobWVudC9maWxlOycpO1xuICAgICAgICAgICAgICAgICAgICBwb3B1cCA9IHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXBvcHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9IHRyaWdnZXJPblRpbWVvdXQuYmluZCh1bmRlZmluZWQsIHN1Y2Nlc3MpO1xuICAgICAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGEuaHJlZiA9IGRvd25sb2FkVXJsO1xuICAgICAgICAgICAgICAgIGEuZG93bmxvYWQgPSBmaWxlbmFtZTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgICAgICAgICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgICAgICAgICB0cmlnZ2VyT25UaW1lb3V0KHN1Y2Nlc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9wdXAgPSB3aW5kb3cub3Blbihkb3dubG9hZFVybCwgJ19ibGFuaycpO1xuICAgICAgICAgICAgaWYgKCFwb3B1cCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZG93bmxvYWRVcmw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cmlnZ2VyT25UaW1lb3V0KHN1Y2Nlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IFVSTC5yZXZva2VPYmplY3RVUkwoZG93bmxvYWRVcmwpOyB9LCAxMDApOyAvLyBjbGVhbnVwXG4gICAgfVxufTtcblxuY29uc3QgZ2V0U2VydmljZSA9IChzZXJ2aWNlTmFtZSkgPT4ge1xuICAgIGlmICghc2VydmljZU5hbWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gc2VydmljZU5hbWU7XG4gICAgLy8gVG9kbzogU2h1YmhhbSwgdW5jb21tZW50IGJlbG93IGNvZGVcbiAgICAvKiAvISogZ2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHdoZXJlIG5nLWFwcCBpcyBkZWZpbmVkICohL1xuICAgICBsZXQgYXBwRWwgPSBXTS5lbGVtZW50KCdbaWQ9bmctYXBwXScpLCBpbmplY3RvcjtcbiAgICAgaWYgKGFwcEVsKSB7XG4gICAgIHRyeSB7XG4gICAgIGluamVjdG9yID0gYXBwRWwuaW5qZWN0b3IoKTsgLy8gZ2V0IHRoZSBhbmd1bGFyIGluamVjdG9yXG4gICAgIGlmIChpbmplY3Rvcikge1xuICAgICByZXR1cm4gaW5qZWN0b3IuZ2V0KHNlcnZpY2VOYW1lKTsgLy8gcmV0dXJuIHRoZSBzZXJ2aWNlXG4gICAgIH1cbiAgICAgfSBjYXRjaCAoZSkge1xuICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICB9XG4gICAgIH0qL1xufTtcblxuLyoqXG4gKiBDb25zdHJ1Y3QgdGhlIGZvcm0gZGF0YSBwYXJhbXMgZnJvbSB0aGUgVVJMXG4gKiBAcGFyYW0gcXVlcnlQYXJhbXNcbiAqIEBwYXJhbSBwYXJhbXNcbiAqL1xuY29uc3Qgc2V0UGFyYW1zRnJvbVVSTCA9IChxdWVyeVBhcmFtcywgcGFyYW1zKSA9PiB7XG4gICAgcXVlcnlQYXJhbXMgPSBzcGxpdChxdWVyeVBhcmFtcywgJyYnKTtcbiAgICBmb3JFYWNoKHF1ZXJ5UGFyYW1zLCBmdW5jdGlvbiAocGFyYW0pIHtcbiAgICAgICAgcGFyYW0gPSBzcGxpdChwYXJhbSwgJz0nKTtcbiAgICAgICAgcGFyYW1zW3BhcmFtWzBdXSA9IGRlY29kZVVSSUNvbXBvbmVudChqb2luKHNsaWNlKHBhcmFtLCAxKSwgJz0nKSk7XG4gICAgfSk7XG59O1xuXG4vKipcbiAqIFtUb2RvOiBTaHViaGFtXSwgSW1wbGVtZW50IERvd25sb2FkIHRocm91Z2ggSSBmcmFtZVxuICogU2ltdWxhdGVzIGZpbGUgZG93bmxvYWQgaW4gYW4gYXBwIHRocm91Z2ggY3JlYXRpbmcgYW5kIHN1Ym1pdHRpbmcgYSBoaWRkZW4gZm9ybSBpbiBET00uXG4gKiBUaGUgYWN0aW9uIHdpbGwgYmUgaW5pdGlhdGVkIHRocm91Z2ggYSBTZXJ2aWNlIFZhcmlhYmxlXG4gKlxuICogUXVlcnkgUGFyYW1zXG4gKiBUaGUgcmVxdWVzdCBwYXJhbXMgbGlrZSBxdWVyeSBwYXJhbXMgYXJlIGFkZGVkIGFzIGhpZGRlbiBpbnB1dCBlbGVtZW50c1xuICpcbiAqIEhlYWRlciBQYXJhbXNcbiAqIFRoZSBoZWFkZXIgcGFyYW1zIGZvciBhIHJlcXVlc3QgYXJlIGFsc28gYWRkZWQgYWxvbmcgd2l0aCBoaWRkZW4gaW5wdXQgZWxlbWVudHMuXG4gKiBUaGlzIGlzIGRvbmUgYXMgaGVhZGVycyBjYW4gbm90IGJlIHNldCBmb3IgYSBmb3JtIFBPU1QgY2FsbCBmcm9tIEphdmFTY3JpcHRcbiAqXG4gKiBGaW5hbGx5LCByZXF1ZXN0IHBhcmFtZXRlcnMgYXJlIHNlbnQgYXMgZm9sbG93czpcbiAqIEZvciBhIEdFVCByZXF1ZXN0LCB0aGUgcmVxdWVzdCBkYXRhIGlzIHNlbnQgYWxvbmcgd2l0aCB0aGUgcXVlcnkgcGFyYW1zLlxuICogRm9yIFBPU1QsIGl0IGlzIHNlbnQgYXMgcmVxdWVzdCBib2R5LlxuICpcbiAqIEBwYXJhbSB2YXJpYWJsZTogdGhlIHZhcmlhYmxlIHRoYXQgaXMgY2FsbGVkIGZyb20gdXNlciBhY3Rpb25cbiAqIEBwYXJhbSByZXF1ZXN0UGFyYW1zIG9iamVjdCBjb25zaXN0aW5nIHRoZSBpbmZvIHRvIGNvbnN0cnVjdCB0aGUgWEhSIHJlcXVlc3QgZm9yIHRoZSBzZXJ2aWNlXG4gKi9cbmNvbnN0IGRvd25sb2FkVGhyb3VnaElmcmFtZSA9IChyZXF1ZXN0UGFyYW1zLCBzdWNjZXNzLCBkYXRhQmluZGluZyxlcnJvcikgPT4ge1xuICAgIC8vIFRvZG86IFNIdWJoYW06IFVSTCBjb250YWlucyAnLy8nIGluIGJldHdlZW4gd2hpY2ggc2hvdWxkIGJlIGhhbmRsZWQgYXQgdGhlIFVSTCBmb3JtYXRpb24gb25seVxuICAgIGlmIChyZXF1ZXN0UGFyYW1zLnVybFsxXSA9PT0gJy8nICYmIHJlcXVlc3RQYXJhbXMudXJsWzJdID09PSAnLycpIHtcbiAgICAgICAgcmVxdWVzdFBhcmFtcy51cmwgPSByZXF1ZXN0UGFyYW1zLnVybC5zbGljZSgwLCAxKSArIHJlcXVlc3RQYXJhbXMudXJsLnNsaWNlKDIpO1xuICAgIH1cbiAgICBsZXQgaUZyYW1lRWxlbWVudCxcbiAgICAgICAgZm9ybUVsLFxuICAgICAgICBwYXJhbUVsZW1lbnQsXG4gICAgICAgIHF1ZXJ5UGFyYW1zID0gJycsXG4gICAgICAgIGRhdGE7XG4gICAgY29uc3QgSUZSQU1FX05BTUUgICAgID0gJ2ZpbGVEb3dubG9hZElGcmFtZScsXG4gICAgICAgIEZPUk1fTkFNRSAgICAgICA9ICdmaWxlRG93bmxvYWRGb3JtJyxcbiAgICAgICAgQ09OVEVOVF9UWVBFICAgID0gJ0NvbnRlbnQtVHlwZScsXG4gICAgICAgIHVybCAgICAgICAgICAgICA9IHJlcXVlc3RQYXJhbXMudXJsLFxuICAgICAgICBlbmNUeXBlID0gZ2V0KHJlcXVlc3RQYXJhbXMuaGVhZGVycywgQ09OVEVOVF9UWVBFKSxcbiAgICAgICAgcGFyYW1zID0gcGlja0J5KHJlcXVlc3RQYXJhbXMuaGVhZGVycywgZnVuY3Rpb24gKHZhbCwga2V5KSB7XG4gICAgICAgICAgICByZXR1cm4ga2V5ICE9PSBDT05URU5UX1RZUEU7XG4gICAgICAgIH0pO1xuICAgIC8qIFRvZG86IHNodWJoYW0gOiBkZWZpbmUgZ2V0U2VydmljZSBtZXRob2RcbiAgICAgV1NfQ09OU1RBTlRTICAgID0gZ2V0U2VydmljZSgnV1NfQ09OU1RBTlRTJyk7Ki9cblxuICAgIC8qIGxvb2sgZm9yIGV4aXN0aW5nIGlmcmFtZS4gSWYgZXhpc3RzLCByZW1vdmUgaXQgZmlyc3QgKi9cbiAgICBpRnJhbWVFbGVtZW50ID0gJCgnIycgKyBJRlJBTUVfTkFNRSk7XG4gICAgaWYgKGlGcmFtZUVsZW1lbnQubGVuZ3RoKSB7XG4gICAgICAgIGlGcmFtZUVsZW1lbnQuZmlyc3QoKS5yZW1vdmUoKTtcbiAgICB9XG4gICAgaUZyYW1lRWxlbWVudCA9ICQoJzxpZnJhbWUgaWQ9XCInICsgSUZSQU1FX05BTUUgKyAnXCIgbmFtZT1cIicgKyBJRlJBTUVfTkFNRSArICdcIiBjbGFzcz1cIm5nLWhpZGVcIj48L2lmcmFtZT4nKTtcbiAgICBmb3JtRWwgICAgICAgID0gJCgnPGZvcm0gaWQ9XCInICsgRk9STV9OQU1FICsgJ1wiIG5hbWU9XCInICsgRk9STV9OQU1FICsgJ1wiPjwvZm9ybT4nKTtcblxuICAgIC8qIHByb2Nlc3MgcXVlcnkgcGFyYW1zLCBhcHBlbmQgYSBoaWRkZW4gaW5wdXQgZWxlbWVudCBpbiB0aGUgZm9ybSBhZ2FpbnN0IGVhY2ggcGFyYW0gKi9cbiAgICBxdWVyeVBhcmFtcyArPSB1cmwuaW5kZXhPZignPycpICE9PSAtMSA/IHVybC5zdWJzdHJpbmcodXJsLmluZGV4T2YoJz8nKSArIDEpIDogJyc7XG4gICAgcXVlcnlQYXJhbXMgKz0gZW5jVHlwZSA9PT0gV1NfQ09OU1RBTlRTLkNPTlRFTlRfVFlQRVMuRk9STV9VUkxfRU5DT0RFRCA/ICgocXVlcnlQYXJhbXMgPyAnJicgOiAnJykgKyByZXF1ZXN0UGFyYW1zLmRhdGFQYXJhbXMpIDogJyc7XG5cbiAgICBmb3JtRWwuYXR0cih7XG4gICAgICAgICd0YXJnZXQnICA6IGlGcmFtZUVsZW1lbnQuYXR0cignbmFtZScpLFxuICAgICAgICAnYWN0aW9uJyAgOiB1cmwsXG4gICAgICAgICdtZXRob2QnICA6IHJlcXVlc3RQYXJhbXMubWV0aG9kLFxuICAgICAgICAnZW5jdHlwZSc6ICEoaXNFbXB0eShyZXF1ZXN0UGFyYW1zLmRhdGEpICYmIGlzRW1wdHkocXVlcnlQYXJhbXMpKSA/IGVuY1R5cGUgOiBXU19DT05TVEFOVFMuQ09OVEVOVF9UWVBFUy5NVUxUSVBBUlRfRk9STURBVEFcbiAgICB9KTtcblxuICAgIC8vIEZvciBOb24gYm9keSBtZXRob2RzIG9ubHksIHNldCB0aGUgaW5wdXQgZmllbGRzIGZyb20gcXVlcnkgcGFyYW1ldGVyc1xuICAgIGlmIChpbmNsdWRlcyhXU19DT05TVEFOVFMuTk9OX0JPRFlfSFRUUF9NRVRIT0RTLCB0b1VwcGVyKHJlcXVlc3RQYXJhbXMubWV0aG9kKSkpIHtcbiAgICAgICAgc2V0UGFyYW1zRnJvbVVSTChxdWVyeVBhcmFtcywgcGFyYW1zKTsgLy8gU2V0IHBhcmFtcyBmb3IgVVJMIHF1ZXJ5IHBhcmFtc1xuICAgIH1cbiAgICBpZiAoIWlzRW1wdHkocmVxdWVzdFBhcmFtcy5kYXRhKSkge1xuICAgICAgICBzZXRQYXJhbXNGcm9tVVJMKHJlcXVlc3RQYXJhbXMuZGF0YSwgcGFyYW1zKTsvLyBTZXQgcGFyYW1zIGZvciByZXF1ZXN0IGRhdGFcbiAgICAgICAgZGF0YSA9IHBhcmFtcztcbiAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhID0gaXNFbXB0eShkYXRhQmluZGluZykgPyBwYXJhbXMgOiBkYXRhQmluZGluZztcbiAgICB9XG4gICAgZm9yRWFjaChkYXRhLCBmdW5jdGlvbiAodmFsLCBrZXkpIHtcbiAgICAgICAgcGFyYW1FbGVtZW50ID0gJCgnPGlucHV0IHR5cGU9XCJoaWRkZW5cIj4nKTtcbiAgICAgICAgcGFyYW1FbGVtZW50LmF0dHIoe1xuICAgICAgICAgICAgJ25hbWUnICA6IGtleSxcbiAgICAgICAgICAgICd2YWx1ZScgOiB2YWxcbiAgICAgICAgfSk7XG4gICAgICAgIGZvcm1FbC5hcHBlbmQocGFyYW1FbGVtZW50KTtcbiAgICB9KTtcblxuICAgIC8qIGFwcGVuZCBmb3JtIHRvIGlGcmFtZSBhbmQgaUZyYW1lIHRvIHRoZSBkb2N1bWVudCBhbmQgc3VibWl0IHRoZSBmb3JtICovXG4gICAgJCgnYm9keScpLmFwcGVuZChpRnJhbWVFbGVtZW50KTtcblxuICAgIC8vIHRpbWVvdXQgZm9yIElFIDEwLCBpZnJhbWVFbGVtZW50LmNvbnRlbnRzKCkgaXMgZW1wdHkgaW4gSUUgMTAgd2l0aG91dCB0aW1lb3V0XG4gICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBjb21wbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgaUZyYW1lRWxlbWVudC5vbihcImxvYWRcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKGNvbXBsZXRlZCkgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGlGcmFtZUVsZW1lbnQuY29udGVudHMoKS5maW5kKCdib2R5JykudGV4dCgpO1xuICAgICAgICAgICAgaWYgKHRleHQgJiYgdGV4dC50cmltKCkpIHtcbiAgICAgICAgICAgICAgICBjb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPXtlcnJvcjpKU09OLnBhcnNlKHRleHQudHJpbSgpKX0gO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICBtZXNzYWdlPVwiXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdHJpZ2dlckZuKGVycm9yLCBtZXNzYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlGcmFtZUVsZW1lbnQuY29udGVudHMoKS5maW5kKCdib2R5JykuYXBwZW5kKGZvcm1FbCk7XG4gICAgICAgIGZvcm1FbC5zdWJtaXQoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbXBsZXRlZCkge1xuICAgICAgICAgICAgICAgIGNvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdHJpZ2dlckZuKHN1Y2Nlc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAyMDAwKTtcbiAgICB9LCAxMDApO1xufTtcblxuLyoqXG4gKiBNYWtlcyBhbiBYSFIgY2FsbCBhZ2FpbnN0IHRoZSBjb25maWdcbiAqIHRoZSByZXNwb25zZSBpcyBjb252ZXJ0ZWQgaW50byBhIGJsb2IgdXJsLCB3aGljaCBpcyBhc3NpZ25lZCB0byB0aGUgc3JjIGF0dHJpYnV0ZSBvZiBhbiBhbmNob3IgZWxlbWVudCB3aXRoIGRvd25sb2FkPXRydWVcbiAqIGEgY2xpY2sgaXMgc2ltdWxhdGVkIG9uIHRoZSBhbmNob3IgdG8gZG93bmxvYWQgdGhlIGZpbGVcbiAqIEBwYXJhbSBjb25maWdcbiAqIEBwYXJhbSBzdWNjZXNzXG4gKiBAcGFyYW0gZXJyb3JcbiAqL1xuY29uc3QgZG93bmxvYWRUaHJvdWdoQW5jaG9yID0gKGNvbmZpZywgc3VjY2VzcywgZXJyb3IpID0+IHtcbiAgICBjb25zdCB1cmwgICAgID0gY29uZmlnLnVybCxcbiAgICAgICAgbWV0aG9kICA9IGNvbmZpZy5tZXRob2QsXG4gICAgICAgIGRhdGEgICAgPSBjb25maWcuZGF0YVBhcmFtcyB8fCBjb25maWcuZGF0YSxcbiAgICAgICAgaGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzO1xuXG4gICAgaGVhZGVyc1snQ29udGVudC1UeXBlJ10gPSBoZWFkZXJzWydDb250ZW50LVR5cGUnXSB8fCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJztcblxuICAgIC8vIFRvZG86IFJlcGxhY2UgaHR0cCB3aXRoIGdldFNlcnZpY2VcbiAgICBodHRwU2VydmljZS5zZW5kKHtcbiAgICAgICAgJ3RhcmdldCcgOiAnV2ViU2VydmljZScsXG4gICAgICAgICdhY3Rpb24nIDogJ2ludm9rZVJ1bnRpbWVSZXN0Q2FsbCcsXG4gICAgICAgICdtZXRob2QnIDogbWV0aG9kLFxuICAgICAgICAndXJsJyAgICA6IHVybCxcbiAgICAgICAgJ2hlYWRlcnMnOiBoZWFkZXJzLFxuICAgICAgICAnZGF0YScgICA6IGRhdGEsXG4gICAgICAgICdyZXNwb25zZVR5cGUnOiAnYXJyYXlidWZmZXInXG4gICAgfSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBkb3dubG9hZEZpbGVmcm9tUmVzcG9uc2UocmVzcG9uc2UuYm9keSwgcmVzcG9uc2UuaGVhZGVycywgc3VjY2VzcywgZXJyb3IpO1xuICAgICAgICB9LCA5MDApO1xuICAgIH0sIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdHJpZ2dlckZuKGVycm9yLCBlcnIpO1xuICAgIH0pO1xufTtcblxuLyoqXG4gKiBhcHBlbmRzIGEgdGltZXN0YW1wIG9uIHRoZSBwYXNzZWQgZmlsZW5hbWUgdG8gcHJldmVudCBjYWNoaW5nXG4gKiByZXR1cm5zIHRoZSBtb2RpZmllZCBmaWxlIG5hbWVcbiAqIEBwYXJhbSBmaWxlTmFtZVxuICogQHBhcmFtIGV4cG9ydEZvcm1hdFxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuY29uc3QgZ2V0TW9kaWZpZWRGaWxlTmFtZSA9IChmaWxlTmFtZSwgZXhwb3J0Rm9ybWF0KSA9PiB7XG4gICAgbGV0IGZpbGVFeHRlbnNpb247XG4gICAgY29uc3QgY3VycmVudFRpbWVzdGFtcCA9IERhdGUubm93KCk7XG5cbiAgICBpZiAoZXhwb3J0Rm9ybWF0KSB7XG4gICAgICAgIGZpbGVFeHRlbnNpb24gPSBleHBvcnRUeXBlc01hcFtleHBvcnRGb3JtYXRdO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbGVFeHRlbnNpb24gPSAnLicgKyBsYXN0KHNwbGl0KGZpbGVOYW1lLCAnLicpKTtcbiAgICAgICAgZmlsZU5hbWUgPSByZXBsYWNlKGZpbGVOYW1lLCBmaWxlRXh0ZW5zaW9uLCAnJyk7XG4gICAgfVxuICAgIHJldHVybiBmaWxlTmFtZSArICdfJyArIGN1cnJlbnRUaW1lc3RhbXAgKyBmaWxlRXh0ZW5zaW9uO1xufTtcblxuY29uc3QgZ2V0Q29va2llQnlOYW1lID0gKG5hbWUpID0+IHtcbiAgICAvLyBUb2RvOiBTaHViaGFtIEltcGxlbWVudCBjb29raWUgbmF0aXZlIGpzXG4gICAgcmV0dXJuICdjb29raWUnO1xufTtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvb2tpZVZhbHVlIGlmIHhzcmYgaXMgZW5hYmxlZC5cbiAqIEluIGRldmljZSwgeHNyZiBjb29raWUgaXMgc3RvcmVkIGluIGxvY2FsU3RvcmFnZS5cbiAqIEByZXR1cm5zIHhzcmYgY29va2llIHZhbHVlXG4gKi9cbmNvbnN0IGlzWHNyZkVuYWJsZWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvYmplY3Qgbm9kZSBmb3IgYSBiaW5kIG9iamVjdCwgd2hlcmUgdGhlIHZhbHVlIGhhcyB0byBiZSB1cGRhdGVkXG4gKiBvYmoudGFyZ2V0ID0gXCJhXCJcbiAqIEBwYXJhbSBvYmpcbiAqIEBwYXJhbSByb290XG4gKiBAcGFyYW0gdmFyaWFibGVcbiAqIEByZXR1cm5zIHsqfVxuICovXG5jb25zdCBnZXRUYXJnZXRPYmogPSAob2JqLCByb290LCB2YXJpYWJsZSkgPT4ge1xuICAgIC8qXG4gICAgICogaWYgdGhlIHRhcmdldCBrZXkgaXMgaW4gdGhlIGZvcm0gYXMgXCJbJ215LnBhcmFtJ11cIlxuICAgICAqIGtlZXAgdGhlIHRhcmdldCBrZXkgYXMgXCJteS5wYXJhbVwiIGFuZCBkbyBub3Qgc3BsaXQgZnVydGhlclxuICAgICAqIHRoaXMgaXMgZG9uZSwgc28gdGhhdCwgdGhlIGNvbXB1dGVkIHZhbHVlIGFnYWluc3QgdGhpcyBiaW5kaW5nIGlzIGFzc2lnbmVkIGFzXG4gICAgICogICAgICB7XCJteS5wYXJhbVwiOiBcInZhbHVlXCJ9XG4gICAgICogYW5kIG5vdCBhc1xuICAgICAqICAgICAge1xuICAgICAqICAgICAgICAgIFwibXlcIjoge1xuICAgICAqICAgICAgICAgICAgICBcInBhcmFtXCI6IFwidmFsdWVcIlxuICAgICAqICAgICAgICAgIH1cbiAgICAgKiAgICAgIH1cbiAgICAgKi9cbiAgICBsZXQgdGFyZ2V0ID0gb2JqLnRhcmdldCxcbiAgICAgICAgdGFyZ2V0T2JqO1xuICAgIGNvbnN0IHJvb3ROb2RlID0gdmFyaWFibGVbcm9vdF07XG4gICAgaWYgKERPVF9FWFBSX1JFWC50ZXN0KHRhcmdldCkpIHtcbiAgICAgICAgdGFyZ2V0T2JqID0gcm9vdE5vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnN1YnN0cigwLCB0YXJnZXQubGFzdEluZGV4T2YoJy4nKSk7XG4gICAgICAgIGlmIChvYmoudGFyZ2V0ID09PSByb290KSB7XG4gICAgICAgICAgICB0YXJnZXRPYmogPSB2YXJpYWJsZTtcbiAgICAgICAgfSBlbHNlIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHRhcmdldE9iaiA9IGZpbmRWYWx1ZU9mKHJvb3ROb2RlLCB0YXJnZXQsIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0T2JqID0gcm9vdE5vZGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldE9iajtcbn07XG5cbi8qKlxuICogR2V0cyB0aGUga2V5IGZvciB0aGUgdGFyZ2V0IG9iamVjdFxuICogdGhlIGNvbXB1dGVkIHZhbHVlIHdpbGwgYmUgdXBkYXRlZCBhZ2FpbnN0IHRoaXMga2V5IGluIHRoZSB0YXJnZXRPYmplY3QoY29tcHV0ZWQgYnkgZ2V0VGFyZ2V0T2JqKCkpXG4gKiBAcGFyYW0gdGFyZ2V0XG4gKiBAcGFyYW0gcmVnZXhcbiAqIEByZXR1cm5zIHsqfVxuICovXG5jb25zdCBnZXRUYXJnZXROb2RlS2V5ID0gKHRhcmdldCkgPT4ge1xuICAgIC8qXG4gICAgICogaWYgdGhlIHRhcmdldCBrZXkgaXMgaW4gdGhlIGZvcm0gYXMgXCJbJ215LnBhcmFtJ11cIlxuICAgICAqIGtlZXAgdGhlIHRhcmdldCBrZXkgYXMgXCJteS5wYXJhbVwiIGFuZCBkbyBub3Qgc3BsaXQgZnVydGhlclxuICAgICAqIHRoaXMgaXMgZG9uZSwgc28gdGhhdCwgdGhlIGNvbXB1dGVkIHZhbHVlIGFnYWluc3QgdGhpcyBiaW5kaW5nIGlzIGFzc2lnbmVkIGFzXG4gICAgICogICAgICB7XCJteS5wYXJhbVwiOiBcInZhbHVlXCJ9XG4gICAgICogYW5kIG5vdCBhc1xuICAgICAqICAgICAge1xuICAgICAqICAgICAgICAgIFwibXlcIjoge1xuICAgICAqICAgICAgICAgICAgICBcInBhcmFtXCI6IFwidmFsdWVcIlxuICAgICAqICAgICAgICAgIH1cbiAgICAgKiAgICAgIH1cbiAgICAgKi9cbiAgICBsZXQgdGFyZ2V0Tm9kZUtleTtcbiAgICBpZiAoRE9UX0VYUFJfUkVYLnRlc3QodGFyZ2V0KSkge1xuICAgICAgICB0YXJnZXROb2RlS2V5ID0gdGFyZ2V0LnJlcGxhY2UoL14oXFxbW1wiJ10pfChbXCInXVxcXSkkL2csICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0YXJnZXROb2RlS2V5ID0gdGFyZ2V0LnNwbGl0KCcuJykucG9wKCk7XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXROb2RlS2V5O1xufTtcblxuY29uc3Qgc2V0VmFsdWVUb05vZGUgPSAodGFyZ2V0LCBvYmosIHJvb3QsIHZhcmlhYmxlLCB2YWx1ZSwgbm9VcGRhdGU/KSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0Tm9kZUtleSA9IGdldFRhcmdldE5vZGVLZXkodGFyZ2V0KSxcbiAgICAgICAgdGFyZ2V0T2JqID0gZ2V0VGFyZ2V0T2JqKG9iaiwgcm9vdCwgdmFyaWFibGUpO1xuICAgIHZhbHVlID0gIWlzVW5kZWZpbmVkKHZhbHVlKSA/IHZhbHVlIDogb2JqLnZhbHVlO1xuICAgIC8qIHNhbml0eSBjaGVjaywgdXNlciBjYW4gYmluZCBwYXJlbnQgbm9kZXMgdG8gbm9uLW9iamVjdCB2YWx1ZXMsIHNvIGNoaWxkIG5vZGUgYmluZGluZ3MgbWF5IGZhaWwgKi9cbiAgICBpZiAodGFyZ2V0T2JqKSB7XG4gICAgICAgIHRhcmdldE9ialt0YXJnZXROb2RlS2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgICBwcm9jZXNzVmFyaWFibGVQb3N0QmluZFVwZGF0ZSh0YXJnZXROb2RlS2V5LCB2YWx1ZSwgb2JqLnR5cGUsIHZhcmlhYmxlLCBub1VwZGF0ZSk7XG59O1xuXG4vKipcbiAqIFRoZSBtb2RlbCBpbnRlcm5hbEJvdW5kTm9kZU1hcCBzdG9yZXMgdGhlIHJlZmVyZW5jZSB0byBsYXRlc3QgY29tcHV0ZWQgdmFsdWVzIGFnYWluc3QgaW50ZXJuYWwobmVzdGVkKSBib3VuZCBub2Rlc1xuICogVGhpcyBpcyBkb25lIHNvIHRoYXQgdGhlIGludGVybmFsIG5vZGUncyBjb21wdXRlZCB2YWx1ZSBpcyBub3QgbG9zdCwgb25jZSBpdHMgcGFyZW50IG5vZGUncyB2YWx1ZSBpcyBjb21wdXRlZCBhdCBhIGxhdGVyIHBvaW50XG4gKiBFLmcuXG4gKiBWYXJpYWJsZS5lbXBsb3llZVZhciBoYXMgZm9sbG93aW5nIGJpbmRpbmdzXG4gKiBcImRhdGFCaW5kaW5nXCI6IFtcbiAgICAge1xuICAgICAgICAgXCJ0YXJnZXRcIjogXCJkZXBhcnRtZW50LmJ1ZGdldFwiLFxuICAgICAgICAgXCJ2YWx1ZVwiOiBcImJpbmQ6VmFyaWFibGVzLmJ1ZGdldFZhci5kYXRhU2V0XCJcbiAgICAgfSxcbiAgICAge1xuICAgICAgICAgXCJ0YXJnZXRcIjogXCJkZXBhcnRtZW50XCIsXG4gICAgICAgICBcInZhbHVlXCI6IFwiYmluZDpWYXJpYWJsZXMuZGVwYXJ0bWVudFZhci5kYXRhU2V0XCJcbiAgICAgfVxuIF1cbiAqIFdoZW4gZGVwYXJ0bWVudC5idWRnZXQgaXMgY29tcHV0ZWQsIGVtcGxveWVlVmFyLmRhdGFTZXQgPSB7XG4gKiAgXCJkZXBhcnRtZW50XCI6IHtcbiAqICAgICAgXCJidWRnZXRcIjoge1wicTFcIjogMTExMX1cbiAqICB9XG4gKiB9XG4gKlxuICogV2hlbiBkZXBhcnRtZW50IGlzIGNvbXB1dGVkXG4gKiAgXCJkZXBhcnRtZW50XCI6IHtcbiAqICAgICAgXCJuYW1lXCI6IFwiSFJcIixcbiAqICAgICAgXCJsb2NhdGlvblwiOiBcIkh5ZGVyYWJhZFwiXG4gKiAgfVxuICogVGhlIGJ1ZGdldCBmaWVsZCAoY29tcHV0ZWQgZWFybGllcikgaXMgTE9TVC5cbiAqXG4gKiBUbyBhdm9pZCB0aGlzLCB0aGUgbGF0ZXN0IHZhbHVlcyBhZ2FpbnN0IGludGVybmFsIG5vZGVzIChpbiB0aGlzIGNhc2UgZGVwYXJ0bWVudC5idWRnZXQpIGFyZSBzdG9yZWQgaW4gYSBtYXBcbiAqIFRoZXNlIHZhbHVlcyBhcmUgYXNzaWduZWQgYmFjayB0byBpbnRlcm5hbCBmaWVsZHMgaWYgdGhlIHBhcmVudCBpcyBjb21wdXRlZCAoaW4gdGhpcyBjYXNlIGRlcGFydG1lbnQpXG4gKiBAcGFyYW0gdGFyZ2V0XG4gKiBAcGFyYW0gcm9vdFxuICogQHBhcmFtIHZhcmlhYmxlXG4gKi9cbmNvbnN0IHVwZGF0ZUludGVybmFsTm9kZXMgPSAodGFyZ2V0LCByb290LCB2YXJpYWJsZSkgPT4ge1xuICAgIGNvbnN0IGJvdW5kSW50ZXJuYWxOb2RlcyA9IGtleXMoZ2V0KGludGVybmFsQm91bmROb2RlTWFwLmdldCh2YXJpYWJsZSksIFt2YXJpYWJsZS5uYW1lLCByb290XSkpLFxuICAgICAgICB0YXJnZXROb2RlS2V5ID0gZ2V0VGFyZ2V0Tm9kZUtleSh0YXJnZXQpO1xuICAgIGxldCBpbnRlcm5hbE5vZGVzO1xuICAgIGZ1bmN0aW9uIGZpbmRJbnRlcm5hbE5vZGVCb3VuZCgpIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlcihib3VuZEludGVybmFsTm9kZXMsIGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgICAgICAvLyB0aGUgbGF0ZXIgY29uZGl0aW9uIGluIGNoZWNrICh0YXJnZXROb2RlS2V5ID09PSByb290IHx8IHRhcmdldE5vZGVLZXkgPT09ICdkYXRhQmluZGluZycpIGlzIHNwZWNpZmljYWxseSBmb3IgbGl2ZSB2YXJpYWJsZSBvZiBpbnNlcnQvdXBkYXRlIHR5cGVzXG4gICAgICAgICAgICByZXR1cm4gKG5vZGUgIT09IHRhcmdldE5vZGVLZXkgJiYgaW5jbHVkZXMobm9kZSwgdGFyZ2V0Tm9kZUtleSkpIHx8ICgodGFyZ2V0Tm9kZUtleSA9PT0gcm9vdCB8fCB0YXJnZXROb2RlS2V5ID09PSAnZGF0YUJpbmRpbmcnKSAmJiBub2RlICE9PSB0YXJnZXROb2RlS2V5KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGludGVybmFsTm9kZXMgPSBmaW5kSW50ZXJuYWxOb2RlQm91bmQoKTtcbiAgICBpZiAoKGludGVybmFsTm9kZXMubGVuZ3RoKSkge1xuICAgICAgICBmb3JFYWNoKGludGVybmFsTm9kZXMsIGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgICAgICBzZXRWYWx1ZVRvTm9kZShub2RlLCB7dGFyZ2V0OiBub2RlfSwgcm9vdCwgdmFyaWFibGUsIGdldChpbnRlcm5hbEJvdW5kTm9kZU1hcC5nZXQodmFyaWFibGUpLCBbdmFyaWFibGUubmFtZSwgcm9vdCwgbm9kZV0pKTtcbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuLyoqXG4gKiBOZXcgSW1wbGVtZW50YXRpb24gKERhdGFCaW5kaW5nIEZsYXQgU3RydWN0dXJlIHdpdGggeC1wYXRoIHRhcmdldHMpXG4gKiBwcm9jZXNzZXMgYSBkYXRhQmluZGluZyBvYmplY3QsIGlmIGJvdW5kIHRvIGV4cHJlc3Npb24sIHdhdGNoZXMgb3ZlciBpdCwgZWxzZSBhc3NpZ25zIHZhbHVlIHRvIHRoZSBleHByZXNzaW9uXG4gKiBAcGFyYW0gb2JqIGRhdGFCaW5kaW5nIG9iamVjdFxuICogQHBhcmFtIHNjb3BlIHNjb3BlIG9mIHRoZSB2YXJpYWJsZVxuICogQHBhcmFtIHJvb3Qgcm9vdCBub2RlIHN0cmluZyAoZGF0YUJpbmRpbmcgZm9yIGFsbCB2YXJpYWJsZXMsIGRhdGFTZXQgZm9yIHN0YXRpYyB2YXJpYWJsZSlcbiAqIEBwYXJhbSB2YXJpYWJsZSB2YXJpYWJsZSBvYmplY3RcbiAqL1xuY29uc3QgcHJvY2Vzc0JpbmRPYmplY3QgPSAob2JqLCBzY29wZSwgcm9vdCwgdmFyaWFibGUpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBvYmoudGFyZ2V0LFxuICAgICAgICB0YXJnZXRPYmogPSBnZXRUYXJnZXRPYmoob2JqLCByb290LCB2YXJpYWJsZSksXG4gICAgICAgIHRhcmdldE5vZGVLZXkgPSBnZXRUYXJnZXROb2RlS2V5KHRhcmdldCksXG4gICAgICAgIHJ1bk1vZGUgPSB0cnVlO1xuICAgIGNvbnN0IGRlc3Ryb3lGbiA9IHNjb3BlLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyID8gc2NvcGUucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIuYmluZChzY29wZSkgOiBub29wO1xuXG4gICAgaWYgKHN0cmluZ1N0YXJ0c1dpdGgob2JqLnZhbHVlLCAnYmluZDonKSkge1xuICAgICAgICBjb25zdCBsaXN0ZW5lciA9IChuZXdWYWwsIG9sZFZhbCkgPT4ge1xuICAgICAgICAgICAgaWYgKChuZXdWYWwgPT09IG9sZFZhbCAmJiBpc1VuZGVmaW5lZChuZXdWYWwpKSB8fCAoaXNVbmRlZmluZWQobmV3VmFsKSAmJiAoIWlzVW5kZWZpbmVkKG9sZFZhbCkgfHwgIWlzVW5kZWZpbmVkKHRhcmdldE9ialt0YXJnZXROb2RlS2V5XSkpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFNraXAgY2xvbmluZyBmb3IgYmxvYiBjb2x1bW5cbiAgICAgICAgICAgIGlmICghaW5jbHVkZXMoWydibG9iJywgJ2ZpbGUnXSwgb2JqLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgbmV3VmFsID0gZ2V0Q2xvbmVkT2JqZWN0KG5ld1ZhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRWYWx1ZVRvTm9kZSh0YXJnZXQsIG9iaiwgcm9vdCwgdmFyaWFibGUsIG5ld1ZhbCk7IC8vIGNsb25pbmcgbmV3VmFsIHRvIGtlZXAgdGhlIHNvdXJjZSBjbGVhblxuXG4gICAgICAgICAgICBpZiAocnVuTW9kZSkge1xuICAgICAgICAgICAgICAgIC8qc2V0IHRoZSBpbnRlcm5hbCBib3VuZCBub2RlIG1hcCB3aXRoIHRoZSBsYXRlc3QgdXBkYXRlZCB2YWx1ZSovXG4gICAgICAgICAgICAgICAgaWYgKCFpbnRlcm5hbEJvdW5kTm9kZU1hcC5oYXModmFyaWFibGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGludGVybmFsQm91bmROb2RlTWFwLnNldCh2YXJpYWJsZSwge30pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXQoaW50ZXJuYWxCb3VuZE5vZGVNYXAuZ2V0KHZhcmlhYmxlKSwgW3ZhcmlhYmxlLm5hbWUsIHJvb3QsIHRhcmdldF0sIG5ld1ZhbCk7XG4gICAgICAgICAgICAgICAgLyp1cGRhdGUgdGhlIGludGVybmFsIG5vZGVzIGFmdGVyIGludGVybmFsIG5vZGUgbWFwIGlzIHNldCovXG4gICAgICAgICAgICAgICAgaWYgKGlzT2JqZWN0KG5ld1ZhbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSW50ZXJuYWxOb2Rlcyh0YXJnZXQsIHJvb3QsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGRlc3Ryb3lGbigkd2F0Y2gob2JqLnZhbHVlLnJlcGxhY2UoJ2JpbmQ6JywgJycpLCBzY29wZSwge30sIGxpc3RlbmVyLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAoKSA9PiB2YXJpYWJsZS5pc011dGVkKSk7XG4gICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQob2JqLnZhbHVlKSkge1xuICAgICAgICBzZXRWYWx1ZVRvTm9kZSh0YXJnZXQsIG9iaiwgcm9vdCwgdmFyaWFibGUsIG9iai52YWx1ZSwgdHJ1ZSk7XG4gICAgICAgIGlmIChydW5Nb2RlICYmIHJvb3QgIT09IHRhcmdldE5vZGVLZXkpIHtcbiAgICAgICAgICAgIGlmICghaW50ZXJuYWxCb3VuZE5vZGVNYXAuaGFzKHZhcmlhYmxlKSkge1xuICAgICAgICAgICAgICAgIGludGVybmFsQm91bmROb2RlTWFwLnNldCh2YXJpYWJsZSwge30pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0KGludGVybmFsQm91bmROb2RlTWFwLmdldCh2YXJpYWJsZSksIFt2YXJpYWJsZS5uYW1lLCByb290LCB0YXJnZXRdLCBvYmoudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUFVCTElDICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC8vXG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgd2F0Y2hlcnMgZm9yIGJpbmRpbmcgZXhwcmVzc2lvbnMgY29uZmlndXJlZCBpbiB0aGUgdmFyaWFibGVcbiAqIEBwYXJhbSB2YXJpYWJsZVxuICogQHBhcmFtIGNvbnRleHQsIHNjb3BlIGNvbnRleHQgaW4gd2hpY2ggdGhlIHZhcmlhYmxlIGV4aXN0c1xuICogQHBhcmFtIHtzdHJpbmd9IGJpbmRTb3VyY2UsICB0aGUgZmllbGQgaW4gdmFyaWFibGUgd2hlcmUgdGhlIGRhdGFiaW5kaW5ncyBhcmUgY29uZmlndXJlZFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgbW9zdCB2YXJpYWJsZXMsIGl0IHdpbGwgYmUgJ2RhdGFCaW5kaW5nJywgaGVuY2UgZGVmYXVsdCBmYWxsYmFjayBpcyB0byAnZGF0YUJpbmRpbmcnXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBzb21lIGl0IGNhbiBiZSAnZGF0YVNldCcgYW5kIGhlbmNlIHdpbGwgYmUgcGFzc2VkIGFzIHBhcmFtXG4gKiBAcGFyYW0ge3N0cmluZ30gYmluZFRhcmdldCwgdGhlIG9iamVjdCBmaWVsZCBpbiB2YXJpYWJsZSB3aGVyZSB0aGUgY29tcHV0ZWQgYmluZGluZ3Mgd2lsbCBiZSBzZXRcbiAqL1xuZXhwb3J0IGNvbnN0IHByb2Nlc3NCaW5kaW5nID0gKHZhcmlhYmxlOiBhbnksIGNvbnRleHQ6IGFueSwgYmluZFNvdXJjZT86IHN0cmluZywgYmluZFRhcmdldD86IHN0cmluZykgPT4ge1xuICAgIGJpbmRTb3VyY2UgPSBiaW5kU291cmNlIHx8ICdkYXRhQmluZGluZyc7XG4gICAgYmluZFRhcmdldCA9IGJpbmRUYXJnZXQgfHwgJ2RhdGFCaW5kaW5nJztcblxuICAgIGNvbnN0IGJpbmRNYXAgPSB2YXJpYWJsZVtiaW5kU291cmNlXTtcbiAgICB2YXJpYWJsZVtiaW5kU291cmNlXSA9IHt9O1xuICAgIHZhcmlhYmxlWydfYmluZCcgKyBiaW5kU291cmNlXSA9IGJpbmRNYXA7XG4gICAgaWYgKCFiaW5kTWFwIHx8ICFpc0FycmF5KGJpbmRNYXApKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYmluZE1hcC5mb3JFYWNoKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIC8qIGZvciBzdGF0aWMgdmFyaWFibGUgY2hhbmdlIHRoZSBiaW5kaW5nIHdpdGggdGFyZ2V0ICdkYXRhQmluZGluZycgdG8gJ2RhdGFTZXQnLCBhcyB0aGUgcmVzdWx0cyBoYXZlIHRvIHJlZmxlY3QgZGlyZWN0bHkgaW4gdGhlIGRhdGFTZXQgKi9cbiAgICAgICAgaWYgKHZhcmlhYmxlLmNhdGVnb3J5ID09PSAnd20uVmFyaWFibGUnICYmIG5vZGUudGFyZ2V0ID09PSAnZGF0YUJpbmRpbmcnKSB7XG4gICAgICAgICAgICBub2RlLnRhcmdldCA9ICdkYXRhU2V0JztcbiAgICAgICAgfVxuICAgICAgICBwcm9jZXNzQmluZE9iamVjdChub2RlLCBjb250ZXh0LCBiaW5kVGFyZ2V0LCB2YXJpYWJsZSk7XG4gICAgfSk7XG59O1xuXG4vKipcbiAqIERvd25sb2FkcyBhIGZpbGUgaW4gdGhlIGJyb3dzZXIuXG4gKiBUd28gbWV0aG9kcyB0byBkbyBzbywgbmFtZWx5OlxuICogMS4gZG93bmxvYWRUaHJvdWdoQW5jaG9yLCBjYWxsZWQgaWZcbiAqICAgICAgLSBpZiBhIGhlYWRlciBpcyB0byBiZSBwYXNzZWRcbiAqICAgICAgT1JcbiAqICAgICAgLSBpZiBzZWN1cml0eSBpcyBPTiBhbmQgWFNSRiB0b2tlbiBpcyB0byBiZSBzZW50IGFzIHdlbGxcbiAqIE5PVEU6IFRoaXMgbWV0aG9kIGRvZXMgbm90IHdvcmsgd2l0aCBTYWZhcmkgdmVyc2lvbiAxMC4wIGFuZCBiZWxvd1xuICpcbiAqIDIuIGRvd25sb2FkVGhyb3VnaElmcmFtZVxuICogICAgICAtIHRoaXMgbWV0aG9kIHdvcmtzIGFjcm9zcyBicm93c2VycyBhbmQgdXNlcyBhbiBpZnJhbWUgdG8gZG93bmxhZCB0aGUgZmlsZS5cbiAqIEBwYXJhbSByZXF1ZXN0UGFyYW1zIHJlcXVlc3QgcGFyYW1zIG9iamVjdFxuICogQHBhcmFtIGZpbGVOYW1lIHJlcHJlc2VudHMgdGhlIGZpbGUgbmFtZVxuICogQHBhcmFtIGV4cG9ydEZvcm1hdCBkb3dubG9hZGVkIGZpbGUgZm9ybWF0XG4gKiBAcGFyYW0gc3VjY2VzcyBzdWNjZXNzIGNhbGxiYWNrXG4gKiBAcGFyYW0gZXJyb3IgZXJyb3IgY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGNvbnN0IHNpbXVsYXRlRmlsZURvd25sb2FkID0gKHJlcXVlc3RQYXJhbXMsIGZpbGVOYW1lLCBleHBvcnRGb3JtYXQsIHN1Y2Nlc3MsIGVycm9yLCBkYXRhQmluZGluZykgPT4ge1xuICAgIC8qc3VjY2VzcyBhbmQgZXJyb3IgY2FsbGJhY2tzIGFyZSBleGVjdXRlZCBpbmNhc2Ugb2YgZG93bmxvYWRUaHJvdWdoQW5jaG9yXG4gICAgIER1ZSB0byB0ZWNobmljYWwgbGltaXRhdGlvbiBjYW5ub3QgYmUgZXhlY3V0ZWQgaW5jYXNlIG9mIGlmcmFtZSovXG4gICAgaWYgKCFpc0VtcHR5KHJlcXVlc3RQYXJhbXMuaGVhZGVycykgfHwgaXNYc3JmRW5hYmxlZCgpKSB7XG4gICAgICAgIGRvd25sb2FkVGhyb3VnaEFuY2hvcihyZXF1ZXN0UGFyYW1zLCBzdWNjZXNzLCBlcnJvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZG93bmxvYWRUaHJvdWdoSWZyYW1lKHJlcXVlc3RQYXJhbXMsIHN1Y2Nlc3MsIGRhdGFCaW5kaW5nLGVycm9yKTtcbiAgICB9XG59O1xuXG4vKipcbiAqIHNldHMgdGhlIHZhbHVlIGFnYWluc3QgcGFzc2VkIGtleSBvbiB0aGUgXCJpbnB1dEZpZWxkc1wiIG9iamVjdCBpbiB0aGUgdmFyaWFibGVcbiAqIEBwYXJhbSB0YXJnZXRPYmo6IHRoZSBvYmplY3QgaW4gd2hpY2ggdGhlIGtleSwgdmFsdWUgaXMgdG8gYmUgc2V0XG4gKiBAcGFyYW0gdmFyaWFibGVcbiAqIEBwYXJhbSBrZXk6IGNhbiBiZTpcbiAqICAtIGEgc3RyaW5nIGUuZy4gXCJ1c2VybmFtZVwiXG4gKiAgLSBhbiBvYmplY3QsIGUuZy4ge1widXNlcm5hbWVcIjogXCJqb2huXCIsIFwic3NuXCI6IFwiMTExMTFcIn1cbiAqIEBwYXJhbSB2YWxcbiAqIC0gaWYga2V5IGlzIHN0cmluZywgdGhlIHZhbHVlIGFnYWluc3QgaXQgKGZvciB0aGF0IGRhdGEgdHlwZSlcbiAqIC0gaWYga2V5IGlzIG9iamVjdCwgbm90IHJlcXVpcmVkXG4gKiBAcGFyYW0gb3B0aW9uc1xuICogQHJldHVybnMge2FueX1cbiAqL1xuZXhwb3J0IGNvbnN0IHNldElucHV0ID0gKHRhcmdldE9iajogYW55LCBrZXk6IGFueSwgdmFsOiBhbnksIG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIHRhcmdldE9iaiA9IHRhcmdldE9iaiB8fCB7fTtcbiAgICBsZXQga2V5cyxcbiAgICAgICAgbGFzdEtleSxcbiAgICAgICAgcGFyYW1PYmogPSB7fTtcblxuICAgIC8vIGNvbnRlbnQgdHlwZSBjaGVja1xuICAgIGlmIChpc09iamVjdChvcHRpb25zKSkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHN3aXRjaCAob3B0aW9ucy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdmaWxlJzpcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsID0gZ2V0QmxvYih2YWwsIG9wdGlvbnMuY29udGVudFR5cGUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICB2YWwgPSBpc051bWJlcih2YWwpID8gdmFsIDogcGFyc2VJbnQodmFsLCAxMCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNPYmplY3Qoa2V5KSkge1xuICAgICAgICAvLyBjaGVjayBpZiB0aGUgcGFzc2VkIHBhcmFtZXRlciBpcyBhbiBvYmplY3QgaXRzZWxmXG4gICAgICAgIHBhcmFtT2JqID0ga2V5O1xuICAgIH0gZWxzZSBpZiAoa2V5LmluZGV4T2YoJy4nKSA+IC0xKSB7XG4gICAgICAgIC8vIGNoZWNrIGZvciAnLicgaW4ga2V5IGUuZy4gJ2VtcGxveWVlLmRlcGFydG1lbnQnXG4gICAgICAgIGtleXMgPSBrZXkuc3BsaXQoJy4nKTtcbiAgICAgICAgbGFzdEtleSA9IGtleXMucG9wKCk7XG4gICAgICAgIC8vIEZpbmRpbmcgdGhlIG9iamVjdCBiYXNlZCBvbiB0aGUga2V5XG4gICAgICAgIHRhcmdldE9iaiA9IGZpbmRWYWx1ZU9mKHRhcmdldE9iaiwga2V5cy5qb2luKCcuJyksIHRydWUpO1xuICAgICAgICBrZXkgPSBsYXN0S2V5O1xuICAgICAgICBwYXJhbU9ialtrZXldID0gdmFsO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmFtT2JqW2tleV0gPSB2YWw7XG4gICAgfVxuXG4gICAgZm9yRWFjaChwYXJhbU9iaiwgZnVuY3Rpb24gKHBhcmFtVmFsLCBwYXJhbUtleSkge1xuICAgICAgICB0YXJnZXRPYmpbcGFyYW1LZXldID0gcGFyYW1WYWw7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRhcmdldE9iajtcbn07XG5cbi8qKlxuICogcmV0dXJucyB0cnVlIGlmIEhUTUw1IEZpbGUgQVBJIGlzIGF2YWlsYWJsZSBlbHNlIGZhbHNlXG4gKiBAcmV0dXJucyB7e3Byb3RvdHlwZTogQmxvYjsgbmV3KGJsb2JQYXJ0cz86IGFueVtdLCBvcHRpb25zPzogQmxvYlByb3BlcnR5QmFnKTogQmxvYn19XG4gKi9cbmV4cG9ydCBjb25zdCBpc0ZpbGVVcGxvYWRTdXBwb3J0ZWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuICh3aW5kb3cuRmlsZSAmJiB3aW5kb3cuRmlsZVJlYWRlciAmJiB3aW5kb3cuRmlsZUxpc3QgJiYgd2luZG93LkJsb2IpO1xufTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHZhck9yZGVyXG4gKiBAcGFyYW0gb3B0aW9uc09yZGVyXG4gKiBAcmV0dXJucyB7YW55fVxuICovXG5leHBvcnQgY29uc3QgZ2V0RXZhbHVhdGVkT3JkZXJCeSA9ICh2YXJPcmRlciwgb3B0aW9uc09yZGVyKSA9PiB7XG4gICAgbGV0IG9wdGlvbkZpZWxkcyxcbiAgICAgICAgdmFyT3JkZXJCeTtcbiAgICAvLyBJZiBvcHRpb25zIG9yZGVyIGJ5IGlzIG5vdCBkZWZpbmVkLCByZXR1cm4gdmFyaWFibGUgb3JkZXJcbiAgICBpZiAoIW9wdGlvbnNPcmRlciB8fCBpc0VtcHR5KG9wdGlvbnNPcmRlcikpIHtcbiAgICAgICAgcmV0dXJuIHZhck9yZGVyO1xuICAgIH1cbiAgICAvLyBJZiB2YXJpYWJsZSBvcmRlciBieSBpcyBub3QgZGVmaW5lZCwgcmV0dXJuIG9wdGlvbnMgb3JkZXJcbiAgICBpZiAoIXZhck9yZGVyKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zT3JkZXI7XG4gICAgfVxuICAgIC8vIElmIGJvdGggYXJlIHByZXNlbnQsIGNvbWJpbmUgdGhlIG9wdGlvbnMgb3JkZXIgYW5kIHZhcmlhYmxlIG9yZGVyLCB3aXRoIG9wdGlvbnMgb3JkZXIgYXMgcHJlY2VkZW5jZVxuICAgIHZhck9yZGVyID0gc3BsaXQodmFyT3JkZXIsICcsJyk7XG4gICAgb3B0aW9uc09yZGVyID0gc3BsaXQob3B0aW9uc09yZGVyLCAnLCcpO1xuICAgIG9wdGlvbkZpZWxkcyA9IG1hcChvcHRpb25zT3JkZXIsIGZ1bmN0aW9uIChvcmRlcikge1xuICAgICAgICByZXR1cm4gc3BsaXQodHJpbShvcmRlciksICcgJylbMF07XG4gICAgfSk7XG4gICAgLy8gSWYgYSBmaWVsZCBpcyBwcmVzZW50IGluIGJvdGggb3B0aW9ucyBhbmQgdmFyaWFibGUsIHJlbW92ZSB0aGUgdmFyaWFibGUgb3JkZXJieVxuICAgIHJlbW92ZSh2YXJPcmRlciwgZnVuY3Rpb24gKG9yZGVyQnk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gaW5jbHVkZXMob3B0aW9uRmllbGRzLCBzcGxpdCh0cmltKG9yZGVyQnkpLCAnICcpWzBdKTtcbiAgICB9KTtcbiAgICB2YXJPcmRlckJ5ID0gdmFyT3JkZXIubGVuZ3RoID8gJywnICsgam9pbih2YXJPcmRlciwgJywnKSA6ICcnO1xuICAgIHJldHVybiBqb2luKG9wdGlvbnNPcmRlciwgJywnKSArIHZhck9yZGVyQnk7XG59O1xuXG4vKipcbiAqIGZvcm1hdHRpbmcgdGhlIGV4cHJlc3Npb24gYXMgcmVxdWlyZWQgYnkgYmFja2VuZCB3aGljaCB3YXMgZW5jbG9zZWQgYnkgJHs8ZXhwcmVzc2lvbj59LlxuICogQHBhcmFtIGZpZWxkRGVmc1xuICogcmV0dXJucyBmaWVsZERlZnNcbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdEV4cG9ydEV4cHJlc3Npb24gPSBmaWVsZERlZnMgPT4ge1xuICAgIGZvckVhY2goZmllbGREZWZzLCBmdW5jdGlvbiAoZmllbGREZWYpIHtcbiAgICAgICAgaWYgKGZpZWxkRGVmLmV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgIGZpZWxkRGVmLmV4cHJlc3Npb24gPSAnJHsnICsgZmllbGREZWYuZXhwcmVzc2lvbiArICd9JztcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmaWVsZERlZnM7XG59O1xuXG5leHBvcnQgY29uc3QgZGVib3VuY2VWYXJpYWJsZUNhbGwgPSBfaW52b2tlO1xuXG5jb25zdCBnZXREYXRlVGltZUZvcm1hdEZvclR5cGUgPSAodHlwZSkgPT4ge1xuICAgIHJldHVybiBERUZBVUxUX0ZPUk1BVFNbdG9VcHBlcih0eXBlKV07XG59O1xuXG4vLyBGb3JtYXQgdmFsdWUgZm9yIGRhdGV0aW1lIHR5cGVzXG5jb25zdCBfZm9ybWF0RGF0ZSA9IChkYXRlVmFsdWUsIHR5cGUpID0+IHtcbiAgICBsZXQgZXBvY2g7XG4gICAgaWYgKGlzRGF0ZShkYXRlVmFsdWUpKSB7XG4gICAgICAgIGVwb2NoID0gZGF0ZVZhbHVlLmdldFRpbWUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIWlzTmFOKGRhdGVWYWx1ZSkpIHtcbiAgICAgICAgICAgIGRhdGVWYWx1ZSA9IHBhcnNlSW50KGRhdGVWYWx1ZSwgMTApO1xuICAgICAgICB9XG4gICAgICAgIGVwb2NoID0gZGF0ZVZhbHVlICYmIG1vbWVudChkYXRlVmFsdWUpLnZhbHVlT2YoKTtcbiAgICB9XG4gICAgaWYgKGlzTmFOKGVwb2NoKSAmJiB0eXBlICE9PSBEYXRhVHlwZS5USU1FKSB7XG4gICAgICAgIHJldHVybiBlcG9jaDtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09IERhdGFUeXBlLlRJTUVTVEFNUCkge1xuICAgICAgICByZXR1cm4gZXBvY2g7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSBEYXRhVHlwZS5USU1FICYmICFlcG9jaCkge1xuICAgICAgICBlcG9jaCA9IG1vbWVudChuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpICsgJyAnICsgZGF0ZVZhbHVlKS52YWx1ZU9mKCk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlVmFsdWUgJiYgYXBwTWFuYWdlci5nZXRQaXBlKCdkYXRlJykudHJhbnNmb3JtKGVwb2NoLCBnZXREYXRlVGltZUZvcm1hdEZvclR5cGUodHlwZSkpO1xufTtcblxuLy8gRnVuY3Rpb24gdG8gY29udmVydCB2YWx1ZXMgb2YgZGF0ZSB0aW1lIHR5cGVzIGludG8gZGVmYXVsdCBmb3JtYXRzXG5leHBvcnQgY29uc3QgZm9ybWF0RGF0ZSA9ICh2YWx1ZSwgdHlwZSkgPT4ge1xuICAgIGlmIChpbmNsdWRlcyh0eXBlLCAnLicpKSB7XG4gICAgICAgIHR5cGUgPSB0b0xvd2VyKGV4dHJhY3RUeXBlKHR5cGUpKTtcbiAgICB9XG4gICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBtYXAodmFsdWUsIGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgICAgICAgIHJldHVybiBfZm9ybWF0RGF0ZSh2YWwsIHR5cGUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIF9mb3JtYXREYXRlKHZhbHVlLCB0eXBlKTtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgZGVjb2RlcyB0aGUgdmFyaWFibGUgZGF0YSB3aGljaCBpcyBlbmNvZGVkIGZyb20gYmFja2VuZCBiZWZvcmUgc2hvd2luZyBpbiB0aGUgd2lkZ2V0cy5cbiAqIEl0IHRha2VzIHZhcmlhYmxlIHJlc3BvbnNlIGNvbnRlbnQgYXMgaW5wdXQgYW5kIGl0ZXJhdGVzIHJlY3Vyc2l2ZWx5LFxuICogaWYgdGhlIHZhbHVlIGlzIHN0cmluZyB0eXBlIHRoZW4gaXQgd2lsbCBkZWNvZGUgdGhlIGRhdGEuXG4gKiBAcGFyYW0gcmVzcG9uc2VDb250ZW50IChBcnJheSBvZiBvYmplY3RzKVxuICovXG5leHBvcnQgY29uc3QgZGVjb2RlRGF0YSA9IChyZXNwb25zZUNvbnRlbnQpID0+IHtcbiAgICBpZiAoIXJlc3BvbnNlQ29udGVudCkge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2VDb250ZW50O1xuICAgIH1cbiAgICBpZiAoaXNBcnJheShyZXNwb25zZUNvbnRlbnQpKSB7XG4gICAgICAgIGZvckVhY2gocmVzcG9uc2VDb250ZW50LCBkYXRhID0+IHtcbiAgICAgICAgICAgIGlmIChpc1N0cmluZyhkYXRhKSkge1xuICAgICAgICAgICAgICAgIGRhdGEgPSBodG1sRGVjb2RlKGRhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc09iamVjdChkYXRhKSkge1xuICAgICAgICAgICAgICAgIGZvckVhY2goZGF0YSwgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlICYmIGlzU3RyaW5nKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldID0gaHRtbERlY29kZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVEYXRhKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KHJlc3BvbnNlQ29udGVudCkpIHtcbiAgICAgICAgZm9yRWFjaChyZXNwb25zZUNvbnRlbnQsICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUgJiYgaXNTdHJpbmcodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VDb250ZW50W2tleV0gPSBodG1sRGVjb2RlKHZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgZGVjb2RlRGF0YSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcocmVzcG9uc2VDb250ZW50KSkge1xuICAgICAgICByZXNwb25zZUNvbnRlbnQgPSBodG1sRGVjb2RlKHJlc3BvbnNlQ29udGVudCk7XG4gICAgICAgIHJldHVybiByZXNwb25zZUNvbnRlbnQ7XG4gICAgfVxufTtcblxuZnVuY3Rpb24gaHRtbERlY29kZShpbnB1dCkge1xuICAgIHJldHVybiBoZS51bmVzY2FwZShpbnB1dCk7XG59XG4iXX0=
|