@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,723 @@
|
|
|
1
|
+
import { isEmptyObject, prettifyLabels } from '@wm/core';
|
|
2
|
+
import { forEach, includes, invert, isArray, isFinite, isString, isUndefined, split } from "lodash-es";
|
|
3
|
+
import * as momentLib from 'moment';
|
|
4
|
+
const moment = momentLib.default || window['moment'];
|
|
5
|
+
export const chartTypes = ['Column', 'Line', 'Area', 'Cumulative Line', 'Bar', 'Pie', 'Donut', 'Bubble'], allShapes = ['circle', 'square', 'diamond', 'cross', 'triangle-up', 'triangle-down'];
|
|
6
|
+
const dateList = ['01/01/2001', '01/01/2002', '01/01/2003'], themes = {
|
|
7
|
+
'Terrestrial': {
|
|
8
|
+
colors: ['#1f77b4', '#aec7e8', '#ff7f0e', '#ffbb78', '#2ca02c', '#98df8a', '#d62728', '#ff9896', '#9467bd', '#c5b0d5', '#8c564b', '#c49c94', '#e377c2', '#f7b6d2', '#7f7f7f', '#c7c7c7', '#bcbd22', '#dbdb8d', '#17becf', '#9edae5'],
|
|
9
|
+
tooltip: {
|
|
10
|
+
'backgroundColor': '#de7d28',
|
|
11
|
+
'textColor': '#FFFFFF'
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
'Annabelle': {
|
|
15
|
+
colors: ['#393b79', '#5254a3', '#6b6ecf', '#9c9ede', '#637939', '#8ca252', '#b5cf6b', '#cedb9c', '#8c6d31', '#bd9e39', '#e7ba52', '#e7cb94', '#843c39', '#ad494a', '#d6616b', '#e7969c', '#7b4173', '#a55194', '#ce6dbd', '#de9ed6'],
|
|
16
|
+
tooltip: {
|
|
17
|
+
'backgroundColor': '#2e306f',
|
|
18
|
+
'textColor': '#FFFFFF'
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
'Azure': {
|
|
22
|
+
colors: ['#3182bd', '#6baed6', '#9ecae1', '#c6dbef', '#e6550d', '#fd8d3c', '#fdae6b', '#fdd0a2', '#31a354', '#74c476', '#a1d99b', '#c7e9c0', '#756bb1', '#9e9ac8', '#bcbddc', '#dadaeb', '#636363', '#969696', '#bdbdbd', '#d9d9d9'],
|
|
23
|
+
tooltip: {
|
|
24
|
+
'backgroundColor': '#3182bd',
|
|
25
|
+
'textColor': '#FFFFFF'
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
'Retro': {
|
|
29
|
+
colors: ['#0ca7a1', '#ffa615', '#334957', '#acc5c2', '#988f90', '#8accc9', '#515151', '#f27861', '#36c9fd', '#794668', '#0f709d', '#0d2738', '#44be78', '#4a1839', '#6a393f', '#557d8b', '#6c331c', '#1c1c1c', '#861500', '#09562a'],
|
|
30
|
+
tooltip: {
|
|
31
|
+
'backgroundColor': '#80513a',
|
|
32
|
+
'textColor': '#FFFFFF'
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
'Mellow': {
|
|
36
|
+
colors: ['#f0dcbf', '#88c877', '#aeb918', '#2e2c23', '#ddddd2', '#dfe956', '#4c963b', '#5d3801', '#e1eec3', '#cd8472', '#fcfab3', '#9a4635', '#9295ad', '#2e3f12', '#565677', '#557d8b', '#4f4d02', '#0c0c1b', '#833324', '#24120e'],
|
|
37
|
+
tooltip: {
|
|
38
|
+
'backgroundColor': '#7c9e73',
|
|
39
|
+
'textColor': '#FFFFFF'
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
'Orient': {
|
|
43
|
+
colors: ['#a80000', '#cc6c3c', '#f0e400', '#000084', '#fccc6c', '#009c6c', '#cc309c', '#78cc00', '#fc84e4', '#48e4fc', '#4878d8', '#186c0c', '#606060', '#a8a8a8', '#000000', '#d7d7d7', '#75a06e', '#190d0b', '#888888', '#694b84'],
|
|
44
|
+
tooltip: {
|
|
45
|
+
'backgroundColor': '#c14242',
|
|
46
|
+
'textColor': '#FFFFFF'
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
'GrayScale': {
|
|
50
|
+
colors: ['#141414', '#353535', '#5b5b5b', '#848484', '#a8a8a8', '#c3c3c3', '#e0e0e0', '#c8c8c8', '#a5a5a5', '#878787', '#656565', '#4e4e4e', '#303030', '#1c1c1c', '#4f4f4f', '#3b3b3b', '#757575', '#606060', '#868686', '#c1c1c1'],
|
|
51
|
+
tooltip: {
|
|
52
|
+
'backgroundColor': '#575757',
|
|
53
|
+
'textColor': '#FFFFFF'
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
'Flyer': {
|
|
57
|
+
colors: ['#3f454c', '#5a646e', '#848778', '#cededf', '#74c4dd', '#0946ed', '#380bb1', '#000ff0', '#f54a23', '#1db262', '#bca3aa', '#ffa500', '#a86b32', '#63a18c', '#56795e', '#934343', '#b75f5f', '#752d2d', '#4e1111', '#920606'],
|
|
58
|
+
tooltip: {
|
|
59
|
+
'backgroundColor': '#47637c',
|
|
60
|
+
'textColor': '#FFFFFF'
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
'Luminosity': {
|
|
64
|
+
colors: ['#FFFFFF', '#e4e4e4', '#00bcd4', '#f0dd2f', '#00aabf', '#018376', '#e91e63', '#39e5d4', '#ff6d6d', '#00ff76', '#ff9800', '#969696', '#ff4200', '#e00000', '#95cbe5', '#5331ff', '#fff4a7', '#e7a800', '#0061e4', '#d5e7ff'],
|
|
65
|
+
tooltip: {
|
|
66
|
+
'backgroundColor': '#47637c',
|
|
67
|
+
'textColor': '#FFFFFF'
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}, basicProperties = ['xaxislabel', 'yaxislabel', 'xunits', 'yunits', 'xnumberformat', 'xdateformat', 'ynumberformat',
|
|
71
|
+
'showvalues', 'showlabels', 'viewtype', 'areaviewtype', 'staggerlabels', 'reducexticks', 'offsettop', 'offsetbottom', 'offsetright', 'offsetleft',
|
|
72
|
+
'barspacing', 'xaxislabeldistance', 'yaxislabeldistance', 'theme', 'labeltype', 'donutratio', 'showlabelsoutside', 'showxdistance', 'showydistance', 'shape', 'nodatamessage', 'captions', 'showxaxis', 'showyaxis',
|
|
73
|
+
'centerlabel', 'customcolors', 'showlegend', 'legendtype', 'xdomain', 'ydomain', 'tooltips', 'linethickness', 'highlightpoints', 'interpolation', 'labelthreshold'], barSpacingMap = {
|
|
74
|
+
'small': 0.3,
|
|
75
|
+
'medium': 0.5,
|
|
76
|
+
'large': 0.8
|
|
77
|
+
}, donutRatioMap = {
|
|
78
|
+
'small': 0.3,
|
|
79
|
+
'medium': 0.6,
|
|
80
|
+
'large': 0.7
|
|
81
|
+
}, barSpacingMapInvert = invert(barSpacingMap), donutRatioMapInvert = invert(donutRatioMap), tickformats = {
|
|
82
|
+
'Thousand': {
|
|
83
|
+
'prefix': 'K',
|
|
84
|
+
'divider': 1000
|
|
85
|
+
},
|
|
86
|
+
'Million': {
|
|
87
|
+
'prefix': 'M',
|
|
88
|
+
'divider': 1000000
|
|
89
|
+
},
|
|
90
|
+
'Billion': {
|
|
91
|
+
'prefix': 'B',
|
|
92
|
+
'divider': 1000000000
|
|
93
|
+
}
|
|
94
|
+
}, chartId = '#preview-chart', dataTypeJSON = ['Column', 'Line', 'Pie', 'Bar', 'Donut', 'Bubble'], // Charts that supports the data to be JSON;
|
|
95
|
+
lineTypeCharts = ['Line', 'Area', 'Cumulative Line'], // Charts that does not supports the string type of data in the xaxis in the nvd3;
|
|
96
|
+
dataTypeArray = ['Cumulative Line', 'Area'], // Charts that supports the data to be Array
|
|
97
|
+
SAMPLE_DATA = {
|
|
98
|
+
'group1': 'Europe',
|
|
99
|
+
'group2': 'Asia',
|
|
100
|
+
'group3': 'America',
|
|
101
|
+
'group4': 'Australia'
|
|
102
|
+
};
|
|
103
|
+
// returns true if chart type is pie
|
|
104
|
+
export const isPieChart = type => type === 'Pie';
|
|
105
|
+
// returns true if chart type is line
|
|
106
|
+
export const isLineChart = type => type === 'Line';
|
|
107
|
+
// returns true if chart type is bar
|
|
108
|
+
export const isBarChart = type => type === 'Bar';
|
|
109
|
+
// returns true if chart type is donut
|
|
110
|
+
export const isDonutChart = type => type === 'Donut';
|
|
111
|
+
// returns true if chart type is bubble
|
|
112
|
+
export const isBubbleChart = type => type === 'Bubble';
|
|
113
|
+
// returns true if chart type is column
|
|
114
|
+
export const isColumnChart = type => type === 'Column';
|
|
115
|
+
// returns true if chart type is area
|
|
116
|
+
export const isAreaChart = type => type === 'Area';
|
|
117
|
+
// returns true if chart type is area
|
|
118
|
+
export const isPieType = type => isPieChart(type) || isDonutChart(type);
|
|
119
|
+
// The format of chart data is array of json objects in case of the following types of chart
|
|
120
|
+
export const isChartDataJSON = type => includes(dataTypeJSON, type) || !includes(chartTypes, type);
|
|
121
|
+
// The format of chart data is array of objects in case of the following types of chart
|
|
122
|
+
export const isChartDataArray = type => includes(dataTypeArray, type);
|
|
123
|
+
// returns true is the chart type is 'line', 'area' or 'cumulative line' else false
|
|
124
|
+
export const isLineTypeChart = type => includes(lineTypeCharts, type);
|
|
125
|
+
// X/Y Domain properties are supported only for Column and Area charts
|
|
126
|
+
export const isAxisDomainSupported = type => isColumnChart(type) || isAreaChart(type);
|
|
127
|
+
// Returns bar spacing value
|
|
128
|
+
export const getBarSpacingValue = (value, prop) => {
|
|
129
|
+
if (prop === 'value') {
|
|
130
|
+
return barSpacingMap[value];
|
|
131
|
+
}
|
|
132
|
+
if (prop === 'key') {
|
|
133
|
+
return barSpacingMapInvert[value];
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
// Returns radius value
|
|
137
|
+
export const getRadiusValue = (value, prop) => {
|
|
138
|
+
if (prop === 'value') {
|
|
139
|
+
return donutRatioMap[value];
|
|
140
|
+
}
|
|
141
|
+
if (prop === 'key') {
|
|
142
|
+
return donutRatioMapInvert[value];
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
// Returns labels config
|
|
146
|
+
export const getLabelValues = (showlabels, showlabelsoutside, prop) => {
|
|
147
|
+
const labelsConfig = {};
|
|
148
|
+
switch (showlabels) {
|
|
149
|
+
case 'hide':
|
|
150
|
+
labelsConfig.showlabels = false;
|
|
151
|
+
break;
|
|
152
|
+
case 'inside':
|
|
153
|
+
labelsConfig.showlabels = true;
|
|
154
|
+
labelsConfig.showlabelsoutside = false;
|
|
155
|
+
break;
|
|
156
|
+
case 'outside':
|
|
157
|
+
labelsConfig.showlabels = true;
|
|
158
|
+
labelsConfig.showlabelsoutside = true;
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
return labelsConfig;
|
|
162
|
+
};
|
|
163
|
+
// Construct the sample data
|
|
164
|
+
export const constructSampleData = (dataType, yaxisLength, shape) => {
|
|
165
|
+
let first_series = [], second_series = [], third_series = [], first_series_array = [], second_series_array = [], third_series_array = [], first_series_bubble = [], second_series_bubble = [], third_series_bubble = [], data = [];
|
|
166
|
+
switch (dataType) {
|
|
167
|
+
case 'jsonFormat':
|
|
168
|
+
first_series = [
|
|
169
|
+
{ 'x': '01/01/2001', 'y': 4000000 },
|
|
170
|
+
{ 'x': '01/01/2002', 'y': 1000000 },
|
|
171
|
+
{ 'x': '01/01/2003', 'y': 5000000 }
|
|
172
|
+
];
|
|
173
|
+
second_series = [
|
|
174
|
+
{ 'x': '01/01/2001', 'y': 3000000 },
|
|
175
|
+
{ 'x': '01/01/2002', 'y': 4000000 },
|
|
176
|
+
{ 'x': '01/01/2003', 'y': 7000000 }
|
|
177
|
+
];
|
|
178
|
+
third_series = [
|
|
179
|
+
{ 'x': '01/01/2001', 'y': 2000000 },
|
|
180
|
+
{ 'x': '01/01/2002', 'y': 8000000 },
|
|
181
|
+
{ 'x': '01/01/2003', 'y': 6000000 }
|
|
182
|
+
];
|
|
183
|
+
data[0] = {
|
|
184
|
+
values: first_series,
|
|
185
|
+
key: SAMPLE_DATA.group1
|
|
186
|
+
};
|
|
187
|
+
if (yaxisLength >= 2) {
|
|
188
|
+
data[1] = {
|
|
189
|
+
values: second_series,
|
|
190
|
+
key: SAMPLE_DATA.group2
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
if (yaxisLength >= 3) {
|
|
194
|
+
data[2] = {
|
|
195
|
+
values: third_series,
|
|
196
|
+
key: SAMPLE_DATA.group3
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
case 'lineChartFormat':
|
|
201
|
+
first_series = [
|
|
202
|
+
{ 'x': 1, 'y': 4000000 },
|
|
203
|
+
{ 'x': 2, 'y': 1000000 },
|
|
204
|
+
{ 'x': 3, 'y': 5000000 }
|
|
205
|
+
];
|
|
206
|
+
second_series = [
|
|
207
|
+
{ 'x': 1, 'y': 3000000 },
|
|
208
|
+
{ 'x': 2, 'y': 4000000 },
|
|
209
|
+
{ 'x': 3, 'y': 7000000 }
|
|
210
|
+
];
|
|
211
|
+
third_series = [
|
|
212
|
+
{ 'x': 1, 'y': 2000000 },
|
|
213
|
+
{ 'x': 2, 'y': 8000000 },
|
|
214
|
+
{ 'x': 3, 'y': 6000000 }
|
|
215
|
+
];
|
|
216
|
+
data[0] = {
|
|
217
|
+
values: first_series,
|
|
218
|
+
key: SAMPLE_DATA.group1
|
|
219
|
+
};
|
|
220
|
+
if (yaxisLength >= 2) {
|
|
221
|
+
data[1] = {
|
|
222
|
+
values: second_series,
|
|
223
|
+
key: SAMPLE_DATA.group2
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
if (yaxisLength >= 3) {
|
|
227
|
+
data[2] = {
|
|
228
|
+
values: third_series,
|
|
229
|
+
key: SAMPLE_DATA.group3
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
break;
|
|
233
|
+
case 'arrayFormat':
|
|
234
|
+
first_series_array = [
|
|
235
|
+
[1, 4000000],
|
|
236
|
+
[2, 1000000],
|
|
237
|
+
[3, 5000000]
|
|
238
|
+
];
|
|
239
|
+
second_series_array = [
|
|
240
|
+
[1, 3000000],
|
|
241
|
+
[2, 4000000],
|
|
242
|
+
[3, 7000000]
|
|
243
|
+
];
|
|
244
|
+
third_series_array = [
|
|
245
|
+
[1, 2000000],
|
|
246
|
+
[2, 8000000],
|
|
247
|
+
[3, 6000000]
|
|
248
|
+
];
|
|
249
|
+
data[0] = {
|
|
250
|
+
values: first_series_array,
|
|
251
|
+
key: SAMPLE_DATA.group1
|
|
252
|
+
};
|
|
253
|
+
if (yaxisLength >= 2) {
|
|
254
|
+
data[1] = {
|
|
255
|
+
values: second_series_array,
|
|
256
|
+
key: SAMPLE_DATA.group2
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
if (yaxisLength >= 3) {
|
|
260
|
+
data[2] = {
|
|
261
|
+
values: third_series_array,
|
|
262
|
+
key: SAMPLE_DATA.group3
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
break;
|
|
266
|
+
case 'bubbleFormat':
|
|
267
|
+
shape = shape === 'random' ? allShapes[Math.floor(Math.random() * allShapes.length)] : shape;
|
|
268
|
+
first_series_bubble = [
|
|
269
|
+
{ 'x': 80.66, 'y': 33739900, 'size': 78, 'shape': shape },
|
|
270
|
+
{ 'x': 79.84, 'y': 81902300, 'size': 90, 'shape': shape },
|
|
271
|
+
{ 'x': 78.6, 'y': 5523100, 'size': 45, 'shape': shape }
|
|
272
|
+
];
|
|
273
|
+
second_series_bubble = [
|
|
274
|
+
{ 'x': 72.73, 'y': 79716200, 'size': 98, 'shape': shape },
|
|
275
|
+
{ 'x': 80.05, 'y': 61801600, 'size': 20, 'shape': shape },
|
|
276
|
+
{ 'x': 72.49, 'y': 73137200, 'size': 34, 'shape': shape }
|
|
277
|
+
];
|
|
278
|
+
third_series_bubble = [
|
|
279
|
+
{ 'x': 68.09, 'y': 33739900, 'size': 45, 'shape': shape },
|
|
280
|
+
{ 'x': 81.55, 'y': 7485600, 'size': 78, 'shape': shape },
|
|
281
|
+
{ 'x': 68.60, 'y': 141850000, 'size': 56, 'shape': shape }
|
|
282
|
+
];
|
|
283
|
+
data[0] = {
|
|
284
|
+
values: first_series_bubble,
|
|
285
|
+
key: SAMPLE_DATA.group1
|
|
286
|
+
};
|
|
287
|
+
if (yaxisLength >= 2) {
|
|
288
|
+
data[1] = {
|
|
289
|
+
values: second_series_bubble,
|
|
290
|
+
key: SAMPLE_DATA.group2
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
if (yaxisLength >= 3) {
|
|
294
|
+
data[2] = {
|
|
295
|
+
values: third_series_bubble,
|
|
296
|
+
key: SAMPLE_DATA.group3
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
break;
|
|
300
|
+
case 'pieChartFormat':
|
|
301
|
+
data = [
|
|
302
|
+
{ 'x': SAMPLE_DATA.group1, 'y': 1000000 },
|
|
303
|
+
{ 'x': SAMPLE_DATA.group2, 'y': 2000000 },
|
|
304
|
+
{ 'x': SAMPLE_DATA.group3, 'y': 3000000 },
|
|
305
|
+
{ 'x': SAMPLE_DATA.group4, 'y': 4000000 }
|
|
306
|
+
];
|
|
307
|
+
break;
|
|
308
|
+
}
|
|
309
|
+
return data;
|
|
310
|
+
};
|
|
311
|
+
export const getDataType = widgetContext => {
|
|
312
|
+
const type = widgetContext.type;
|
|
313
|
+
if (isLineChart(type)) {
|
|
314
|
+
return 'lineChartFormat';
|
|
315
|
+
}
|
|
316
|
+
if (isPieType(type)) {
|
|
317
|
+
return 'pieChartFormat';
|
|
318
|
+
}
|
|
319
|
+
if (isBubbleChart(type)) {
|
|
320
|
+
return 'bubbleFormat';
|
|
321
|
+
}
|
|
322
|
+
return isChartDataJSON(type) ? 'jsonFormat' : 'arrayFormat';
|
|
323
|
+
};
|
|
324
|
+
// Sample data to populate when no data is bound
|
|
325
|
+
export const getSampleData = widgetContext => constructSampleData(getDataType(widgetContext), split(widgetContext.yaxisdatakey, ',').length, widgetContext.shape);
|
|
326
|
+
// Check whether X/Y Domain was set to Min and is supported for the present chart
|
|
327
|
+
export const isAxisDomainValid = (widgetContext, axis) => {
|
|
328
|
+
if (widgetContext[axis + 'domain'] === 'Min' && (isAxisDomainSupported(widgetContext.type))) {
|
|
329
|
+
return true;
|
|
330
|
+
}
|
|
331
|
+
return false;
|
|
332
|
+
};
|
|
333
|
+
// Check whether min and max values are finite or not
|
|
334
|
+
export const areMinMaxValuesValid = values => {
|
|
335
|
+
if (isFinite(values.min) && isFinite(values.max)) {
|
|
336
|
+
return true;
|
|
337
|
+
}
|
|
338
|
+
return false;
|
|
339
|
+
};
|
|
340
|
+
export const getYScaleMinValue = value => {
|
|
341
|
+
const _min = Math.floor(value);
|
|
342
|
+
/* If the number has a) decimal part returning floor value - 0.1
|
|
343
|
+
b) no decimal part returning floor value - 1 */
|
|
344
|
+
return Math.abs(value) - _min > 0 ? value - 0.1 : _min - 1;
|
|
345
|
+
};
|
|
346
|
+
// Chooses the data points of line/cumulative line/area chart and highlights them
|
|
347
|
+
export const highlightPoints = (id, highlightpoints) => {
|
|
348
|
+
const chartSvg = id ? d3.select('#wmChart' + id + ' svg') : d3.select(chartId + ' svg');
|
|
349
|
+
if (highlightpoints) {
|
|
350
|
+
chartSvg.selectAll('.nv-point')
|
|
351
|
+
.style('stroke-width', '6px')
|
|
352
|
+
.style('fill-opacity', '0.95')
|
|
353
|
+
.style('stroke-opacity', '0.95');
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
chartSvg.selectAll('.nv-point')
|
|
357
|
+
.style('stroke-width', '0px')
|
|
358
|
+
.style('fill-opacity', '0');
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
// Chooses the line of line/cumulative line and increases the thickness of it
|
|
362
|
+
export const setLineThickness = (id, thickness) => {
|
|
363
|
+
const chartSvg = id ? d3.select('#wmChart' + id + ' svg') : d3.select(chartId + ' svg');
|
|
364
|
+
thickness = thickness || 1.5;
|
|
365
|
+
const lines = chartSvg.selectAll('.nv-line');
|
|
366
|
+
if (lines.size() !== 0) {
|
|
367
|
+
lines.style('stroke-width', thickness);
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
// Constructing a common key value map for preview and canvas mode
|
|
371
|
+
export const initProperties = (widgetContext, propertyValueMap) => {
|
|
372
|
+
if (!propertyValueMap || isEmptyObject(propertyValueMap)) {
|
|
373
|
+
propertyValueMap = {};
|
|
374
|
+
}
|
|
375
|
+
forEach(basicProperties, prop => {
|
|
376
|
+
if (isUndefined(propertyValueMap[prop])) {
|
|
377
|
+
propertyValueMap[prop] = widgetContext[prop];
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
return propertyValueMap;
|
|
381
|
+
};
|
|
382
|
+
export const getNumberValue = (value, callback) => {
|
|
383
|
+
return isNaN(parseInt(value, 10)) ? callback(value, 'value') : value;
|
|
384
|
+
};
|
|
385
|
+
// Formats the given value according to date format
|
|
386
|
+
export const getDateFormatedData = (dateFormat, d) => {
|
|
387
|
+
dateFormat = dateFormat || '%x';
|
|
388
|
+
/**
|
|
389
|
+
* if date value is string "20-05-2019" then new Date(value) return 20May2019 with current time in India,
|
|
390
|
+
* whereas this will return 19May2019 with time lagging for few hours.
|
|
391
|
+
* This is because it returns UTC time i.e. Coordinated Universal Time (UTC).
|
|
392
|
+
* To create date in local time use moment
|
|
393
|
+
*/
|
|
394
|
+
if (dateFormat == '%c') {
|
|
395
|
+
dateFormat = '%a %b %e %X %Y';
|
|
396
|
+
}
|
|
397
|
+
return d3.timeFormat(dateFormat)(new Date(moment(moment(d).format()).valueOf()));
|
|
398
|
+
};
|
|
399
|
+
const removeTrailingZeros = value => {
|
|
400
|
+
if (!value) {
|
|
401
|
+
return value;
|
|
402
|
+
}
|
|
403
|
+
// Convert value to a string if it's a number
|
|
404
|
+
const stringValue = typeof value === 'number' ? value.toString() : value;
|
|
405
|
+
// Remove trailing zeros
|
|
406
|
+
return stringValue.replace(/\.0+([A-Za-z]*)$/, '$1').replace(/\.([1-9]+)0+([A-Za-z]*)$/, '.$1$2');
|
|
407
|
+
};
|
|
408
|
+
// Formats the given value according to number format
|
|
409
|
+
export const getNumberFormatedData = (numberFormat, d) => {
|
|
410
|
+
let formattedData, divider, prefix;
|
|
411
|
+
// formatting the data based on number format selected
|
|
412
|
+
if (numberFormat) {
|
|
413
|
+
let numberFormatter;
|
|
414
|
+
if (numberFormat == 'Thousand' || numberFormat == 'Million' || numberFormat == 'Billion') {
|
|
415
|
+
numberFormatter = d3.format(',.2s');
|
|
416
|
+
}
|
|
417
|
+
else if (numberFormat == '%') {
|
|
418
|
+
numberFormatter = d3.format('.2%');
|
|
419
|
+
}
|
|
420
|
+
else if (numberFormat == '.f') {
|
|
421
|
+
numberFormatter = d3.format('.2f');
|
|
422
|
+
}
|
|
423
|
+
else {
|
|
424
|
+
numberFormatter = d3.format(numberFormat);
|
|
425
|
+
}
|
|
426
|
+
formattedData = numberFormatter(d);
|
|
427
|
+
// Getting the respective divider[1000,1000000,1000000000] based on the number format choosen
|
|
428
|
+
divider = (tickformats[numberFormat] && tickformats[numberFormat].divider) || 0;
|
|
429
|
+
prefix = tickformats[numberFormat] && tickformats[numberFormat].prefix;
|
|
430
|
+
if (prefix && divider !== 0) {
|
|
431
|
+
formattedData = d3.format('.2f')(d / divider) + prefix;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
// Auto formatting the data when no formating option is chosen
|
|
436
|
+
formattedData = d >= 1000 ? d3.format('.1s')(d) : d;
|
|
437
|
+
}
|
|
438
|
+
formattedData = removeTrailingZeros(formattedData);
|
|
439
|
+
return formattedData;
|
|
440
|
+
};
|
|
441
|
+
// Set the visibility property of the chart x,y axis due to a bug in the nvd3
|
|
442
|
+
export const toggleAxisShow = (property, value) => {
|
|
443
|
+
const $xAxis = d3.select(chartId + ' g.nv-axis.nv-x'), $yAxis = d3.select(chartId + ' g.nv-axis.nv-y');
|
|
444
|
+
if (property === 'showxaxis') {
|
|
445
|
+
$xAxis.style('visibility', value ? 'visible' : 'hidden');
|
|
446
|
+
}
|
|
447
|
+
else {
|
|
448
|
+
$yAxis.style('visibility', value ? 'visible' : 'hidden');
|
|
449
|
+
}
|
|
450
|
+
};
|
|
451
|
+
export const modifyLegendPosition = (widgetContext, position, id) => {
|
|
452
|
+
const showLegend = isShowLegend(widgetContext.showlegend), chart_Id = id ? '#wmChart' + id : chartId, legendWrap = d3.select(chart_Id + ' .nv-legendWrap'), legendPadding = 5;
|
|
453
|
+
// Return when showlegend is false
|
|
454
|
+
if (!showLegend || !legendWrap['_groups'][0][0]) {
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
if (position === 'bottom') {
|
|
458
|
+
const legendWrapHeight = legendWrap['_groups'][0][0].getBoundingClientRect().height, wrap = d3.select(chart_Id + ' .nv-wrap'), wrapTransform = (wrap && wrap.attr('transform')) ? wrap.attr('transform').replace(/, /g, ',') : '', coordinates = /translate\(\s*([^\s,)]+)[ ,]([^\s,)]+)/.exec(wrapTransform), getChartHeight = () => {
|
|
459
|
+
let chartHeight = $(chart_Id + ' svg>.nvd3.nv-wrap')[0].getBoundingClientRect().height;
|
|
460
|
+
if (chartHeight === 0) { // fix for IE
|
|
461
|
+
chartHeight = ($(chart_Id + ' svg')[0].getBoundingClientRect().height - (legendWrapHeight + 15));
|
|
462
|
+
}
|
|
463
|
+
return chartHeight;
|
|
464
|
+
};
|
|
465
|
+
legendWrap.attr('transform', 'translate(0 , ' + (getChartHeight() - legendWrapHeight - legendPadding) + ')');
|
|
466
|
+
if (coordinates) {
|
|
467
|
+
wrap.attr('transform', 'translate(' + coordinates[1] + ',' + legendPadding + ')');
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
// Returns value if legend need to shown or not
|
|
472
|
+
export const isShowLegend = value => {
|
|
473
|
+
// Old projects will have either true or false
|
|
474
|
+
if (value === 'false' || value === false) {
|
|
475
|
+
return false;
|
|
476
|
+
}
|
|
477
|
+
if (value === 'true' || value === true) {
|
|
478
|
+
return true;
|
|
479
|
+
}
|
|
480
|
+
// New projects will have either 'Hide Legend', 'Show Top', 'Show Bottom'
|
|
481
|
+
return value === 'hide' ? false : true;
|
|
482
|
+
};
|
|
483
|
+
/**
|
|
484
|
+
* Customise the tooltip for donut & pie charts and also for charts having only one value attached to yaxis
|
|
485
|
+
* @param key
|
|
486
|
+
* @param label
|
|
487
|
+
*/
|
|
488
|
+
export const customiseTooltip = (chart, propertyValueMap, widgetContext, label) => {
|
|
489
|
+
d3.selectAll('.nvtooltip').style('opacity', 0);
|
|
490
|
+
chart.tooltip.contentGenerator((key, propValueMap) => {
|
|
491
|
+
let xValue = key.data.x, yValue;
|
|
492
|
+
yValue = getNumberFormatedData(propValueMap?.ynumberformat || widgetContext?.ynumberformat || propertyValueMap?.ynumberformat, key.data.y);
|
|
493
|
+
if (isPieType(widgetContext.type)) {
|
|
494
|
+
label = key.data.x;
|
|
495
|
+
xValue = '';
|
|
496
|
+
}
|
|
497
|
+
return '<table>' +
|
|
498
|
+
'<tbody>' +
|
|
499
|
+
'<tr class="value"><b>' + xValue +
|
|
500
|
+
'</b></tr>' +
|
|
501
|
+
'<tr>' +
|
|
502
|
+
'<td class="legend-color-guide"><div style="background-color:' + key.color + ';"></div></td>' +
|
|
503
|
+
'<td class="key">' + label + '</td>' +
|
|
504
|
+
'<td class="value">' + yValue + '</td>' +
|
|
505
|
+
'</tr>' +
|
|
506
|
+
'</tbody>' +
|
|
507
|
+
'</table>';
|
|
508
|
+
});
|
|
509
|
+
};
|
|
510
|
+
// intializes the chart obejct
|
|
511
|
+
export const initChart = (widgetContext, xDomainValues, yDomainValues, propertyValueMap, isPreview) => {
|
|
512
|
+
propertyValueMap = initProperties(widgetContext, propertyValueMap);
|
|
513
|
+
let chart, colors = [], xaxislabel, yaxislabel, labelConfig, radius, barSpacing, showLegend, xAxisValue, hasMultipleYValues;
|
|
514
|
+
const xValue = {}, yValue = {};
|
|
515
|
+
switch (widgetContext.type) {
|
|
516
|
+
case 'Column':
|
|
517
|
+
barSpacing = getNumberValue(propertyValueMap.barspacing, getBarSpacingValue) || barSpacingMap.medium;
|
|
518
|
+
chart = nv.models.multiBarChart()
|
|
519
|
+
.x(d => d.x)
|
|
520
|
+
.y(d => d.y)
|
|
521
|
+
.reduceXTicks(propertyValueMap.reducexticks)
|
|
522
|
+
.rotateLabels(0)
|
|
523
|
+
.showControls(false)
|
|
524
|
+
.stacked(propertyValueMap.viewtype === 'Stacked' ? true : false)
|
|
525
|
+
.groupSpacing(barSpacing);
|
|
526
|
+
break;
|
|
527
|
+
case 'Cumulative Line':
|
|
528
|
+
chart = nv.models.cumulativeLineChart()
|
|
529
|
+
.x(d => d[0])
|
|
530
|
+
.y(d => d[1])
|
|
531
|
+
.showControls(false)
|
|
532
|
+
.useInteractiveGuideline(propertyValueMap.tooltips)
|
|
533
|
+
.interpolate(propertyValueMap.interpolation);
|
|
534
|
+
break;
|
|
535
|
+
case 'Line':
|
|
536
|
+
chart = nv.models.lineChart()
|
|
537
|
+
.useInteractiveGuideline(propertyValueMap.tooltips)
|
|
538
|
+
.interpolate(propertyValueMap.interpolation);
|
|
539
|
+
break;
|
|
540
|
+
case 'Area':
|
|
541
|
+
chart = nv.models.stackedAreaChart()
|
|
542
|
+
.x(d => d.x)
|
|
543
|
+
.y(d => d.y)
|
|
544
|
+
.clipEdge(true)
|
|
545
|
+
.showControls(false)
|
|
546
|
+
.style(propertyValueMap.areaviewtype)
|
|
547
|
+
.useInteractiveGuideline(propertyValueMap.tooltips)
|
|
548
|
+
.interpolate(propertyValueMap.interpolation);
|
|
549
|
+
break;
|
|
550
|
+
case 'Bar':
|
|
551
|
+
barSpacing = getNumberValue(propertyValueMap.barspacing, getBarSpacingValue) || barSpacingMap.medium;
|
|
552
|
+
chart = nv.models.multiBarHorizontalChart()
|
|
553
|
+
.x(d => d.x)
|
|
554
|
+
.y(d => d.y)
|
|
555
|
+
.showControls(false)
|
|
556
|
+
.stacked(propertyValueMap.viewtype === 'Stacked' ? true : false)
|
|
557
|
+
.showValues(propertyValueMap.showvalues)
|
|
558
|
+
.groupSpacing(barSpacing);
|
|
559
|
+
break;
|
|
560
|
+
case 'Pie':
|
|
561
|
+
case 'Donut':
|
|
562
|
+
labelConfig = getLabelValues(propertyValueMap.showlabels, propertyValueMap.showlabelsoutside, 'value');
|
|
563
|
+
radius = getNumberValue(propertyValueMap.donutratio, getRadiusValue) || donutRatioMap.medium;
|
|
564
|
+
chart = nv.models.pieChart()
|
|
565
|
+
.x(d => d.x)
|
|
566
|
+
.y(d => d.y)
|
|
567
|
+
.showLabels(labelConfig.showlabels)
|
|
568
|
+
.labelType(propertyValueMap.labeltype)
|
|
569
|
+
.valueFormat(d3.format('%'))
|
|
570
|
+
.title(propertyValueMap.centerlabel)
|
|
571
|
+
.labelThreshold(propertyValueMap.labelthreshold || 0.01)
|
|
572
|
+
.labelsOutside(labelConfig.showlabelsoutside);
|
|
573
|
+
if (isDonutChart(widgetContext.type)) {
|
|
574
|
+
chart.donut(true)
|
|
575
|
+
.donutRatio(radius);
|
|
576
|
+
}
|
|
577
|
+
if (propertyValueMap.labeltype === 'key-value') {
|
|
578
|
+
chart.labelType(d => d.data.x + ' ' + d.data.y);
|
|
579
|
+
}
|
|
580
|
+
break;
|
|
581
|
+
case 'Bubble':
|
|
582
|
+
chart = nv.models.scatterChart()
|
|
583
|
+
.x(d => d.x)
|
|
584
|
+
.y(d => d.y)
|
|
585
|
+
.showDistX(propertyValueMap.showxdistance)
|
|
586
|
+
.showDistY(propertyValueMap.showydistance);
|
|
587
|
+
break;
|
|
588
|
+
}
|
|
589
|
+
if (xDomainValues) {
|
|
590
|
+
xValue.min = xDomainValues.min.x || xDomainValues.min[0];
|
|
591
|
+
xValue.max = xDomainValues.max.x || xDomainValues.max[0];
|
|
592
|
+
// If the values on the x axis are string then min max values gives Infinity
|
|
593
|
+
if (areMinMaxValuesValid(xValue)) {
|
|
594
|
+
// Reducing the min value to 0.1 so the min value is not missed out
|
|
595
|
+
xValue.min = getYScaleMinValue(xValue.min);
|
|
596
|
+
chart.xDomain([xValue.min, xValue.max]);
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
if (yDomainValues) {
|
|
600
|
+
// Reducing the min value to 1 so the min value is not missed out
|
|
601
|
+
yValue.min = yDomainValues.min.y || yDomainValues.min[1];
|
|
602
|
+
yValue.max = yDomainValues.max.y || yDomainValues.max[1];
|
|
603
|
+
// If the values on the y axis are string or invalid then min max values gives Infinity
|
|
604
|
+
if (areMinMaxValuesValid(yValue)) {
|
|
605
|
+
// Reducing the min value to 1 so the min value is not missed out
|
|
606
|
+
yValue.min = getYScaleMinValue(yValue.min);
|
|
607
|
+
chart.yDomain([yValue.min, yValue.max]);
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
// Setting the legend type choosen by user or default it will be furious
|
|
611
|
+
chart.legend.vers((propertyValueMap.legendtype && propertyValueMap.legendtype.toLowerCase()) || 'furious');
|
|
612
|
+
if (!includes(chartTypes, widgetContext.type)) {
|
|
613
|
+
chart = nv.models.multiBarChart()
|
|
614
|
+
.x(d => d.x)
|
|
615
|
+
.y(d => d.y);
|
|
616
|
+
}
|
|
617
|
+
if (isPieType(widgetContext.type)) {
|
|
618
|
+
// In case of pie/donut chart formatting the values of it
|
|
619
|
+
if (propertyValueMap.labeltype === 'percent') {
|
|
620
|
+
chart.valueFormat(d3.format('%'));
|
|
621
|
+
}
|
|
622
|
+
else {
|
|
623
|
+
chart.valueFormat(d => getNumberFormatedData(propertyValueMap.ynumberformat, d));
|
|
624
|
+
}
|
|
625
|
+
// Customizing the tooltips in case of the pie and donut when labelType is value
|
|
626
|
+
customiseTooltip(chart, propertyValueMap, widgetContext);
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
chart.showXAxis(propertyValueMap.showxaxis)
|
|
630
|
+
.showYAxis(propertyValueMap.showyaxis);
|
|
631
|
+
chart.legendPosition(propertyValueMap.showlegend);
|
|
632
|
+
// Setting the labels if they are specified explicitly or taking the axiskeys chosen
|
|
633
|
+
xaxislabel = propertyValueMap.xaxislabel || prettifyLabels(widgetContext.xaxisdatakey) || 'x caption';
|
|
634
|
+
yaxislabel = propertyValueMap.yaxislabel || prettifyLabels(widgetContext.yaxisdatakey) || 'y caption';
|
|
635
|
+
// Checking if y axis has multiple values
|
|
636
|
+
if (widgetContext.yaxisdatakey && widgetContext.yaxisdatakey.split(',').length > 1) {
|
|
637
|
+
hasMultipleYValues = true;
|
|
638
|
+
}
|
|
639
|
+
// Customizing the tooltip to show yaxislabel, only if the y axis contains one value
|
|
640
|
+
if (!hasMultipleYValues && !isBubbleChart(widgetContext.type)) {
|
|
641
|
+
customiseTooltip(chart, propertyValueMap, widgetContext, yaxislabel);
|
|
642
|
+
}
|
|
643
|
+
// Adding the units to the captions if they are specified
|
|
644
|
+
xaxislabel += propertyValueMap.xunits ? '(' + propertyValueMap.xunits + ')' : '';
|
|
645
|
+
yaxislabel += propertyValueMap.yunits ? '(' + propertyValueMap.yunits + ')' : '';
|
|
646
|
+
chart.xAxis
|
|
647
|
+
.axisLabel(xaxislabel)
|
|
648
|
+
.axisLabelDistance(propertyValueMap.xaxislabeldistance)
|
|
649
|
+
.staggerLabels(propertyValueMap.staggerlabels);
|
|
650
|
+
// If date format set format based date format
|
|
651
|
+
if (propertyValueMap.xdateformat || (isPreview && !isBubbleChart(widgetContext.type))) {
|
|
652
|
+
if (isLineTypeChart(widgetContext.type)) {
|
|
653
|
+
chart.xAxis.tickFormat(d => {
|
|
654
|
+
// get the actual value
|
|
655
|
+
xAxisValue = isPreview ? dateList[d - 1] : widgetContext.xDataKeyArr[d];
|
|
656
|
+
return getDateFormatedData(propertyValueMap.xdateformat, xAxisValue);
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
else {
|
|
660
|
+
chart.xAxis.tickFormat(d => getDateFormatedData(propertyValueMap.xdateformat, d));
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
else if (propertyValueMap.xnumberformat) {
|
|
664
|
+
chart.xAxis.tickFormat(d => getNumberFormatedData(propertyValueMap.xnumberformat, d));
|
|
665
|
+
}
|
|
666
|
+
else {
|
|
667
|
+
if (isLineTypeChart(widgetContext.type)) {
|
|
668
|
+
// get the actual value
|
|
669
|
+
chart.xAxis.tickFormat(d => widgetContext.xDataKeyArr[d]);
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
chart.yAxis
|
|
673
|
+
.axisLabel(yaxislabel)
|
|
674
|
+
.axisLabelDistance(propertyValueMap.yaxislabeldistance)
|
|
675
|
+
.staggerLabels(propertyValueMap.staggerlabels)
|
|
676
|
+
.tickFormat(d => getNumberFormatedData(propertyValueMap?.ynumberformat, d));
|
|
677
|
+
if (isBarChart(widgetContext.type)) {
|
|
678
|
+
chart.valueFormat(d => getNumberFormatedData(propertyValueMap?.ynumberformat, d));
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
// Support for custom colors if user gives direct string of colors in text box
|
|
682
|
+
if (isString(propertyValueMap.customcolors) && propertyValueMap.customcolors) {
|
|
683
|
+
colors = split(propertyValueMap.customcolors, ',');
|
|
684
|
+
}
|
|
685
|
+
if (isArray(propertyValueMap.customcolors)) {
|
|
686
|
+
colors = propertyValueMap.customcolors;
|
|
687
|
+
}
|
|
688
|
+
showLegend = isShowLegend(propertyValueMap.showlegend);
|
|
689
|
+
chart.showLegend(showLegend)
|
|
690
|
+
.margin({ top: propertyValueMap.offsettop, right: propertyValueMap.offsetright, bottom: propertyValueMap.offsetbottom, left: propertyValueMap.offsetleft })
|
|
691
|
+
.color(colors.length ? colors : themes[propertyValueMap.theme].colors);
|
|
692
|
+
chart.tooltip.enabled(propertyValueMap.tooltips);
|
|
693
|
+
widgetContext.message = propertyValueMap.nodatamessage || 'No data found';
|
|
694
|
+
// setting the no data message
|
|
695
|
+
chart.noData(widgetContext.message);
|
|
696
|
+
if (isLineTypeChart(widgetContext.type) && widgetContext.highlightpoints) {
|
|
697
|
+
chart.dispatch.on('stateChange', () => {
|
|
698
|
+
setTimeout(() => postPlotChartProcess(widgetContext), 100);
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
if (widgetContext.showlegend && (widgetContext.type === 'Donut' || widgetContext.type === 'Pie')) {
|
|
702
|
+
if (widgetContext.showlegend === 'right') {
|
|
703
|
+
chart.legendPosition('right');
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
return chart;
|
|
707
|
+
};
|
|
708
|
+
// @ts-ignore
|
|
709
|
+
export const postPlotChartProcess = (widgetContext, isPreview) => {
|
|
710
|
+
const id = isPreview ? null : widgetContext.$id;
|
|
711
|
+
// If user sets to highlight the data points and increase the thickness of the line
|
|
712
|
+
if (isLineTypeChart(widgetContext.type)) {
|
|
713
|
+
setLineThickness(id, widgetContext.linethickness);
|
|
714
|
+
highlightPoints(id, widgetContext.highlightpoints);
|
|
715
|
+
}
|
|
716
|
+
// Modifying the legend position only when legend is shown
|
|
717
|
+
// if (widgetContext.showlegend) {
|
|
718
|
+
// modifyLegendPosition(widgetContext, widgetContext.showlegend, id);
|
|
719
|
+
// }
|
|
720
|
+
};
|
|
721
|
+
// @ts-ignore
|
|
722
|
+
export const getDateList = () => dateList;
|
|
723
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvY2hhcnQvc3JjL2NoYXJ0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBSXJHLE9BQU8sS0FBSyxTQUFTLE1BQU8sUUFBUSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBR3JELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUNwRyxTQUFTLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBRXpGLE1BQU0sUUFBUSxHQUFHLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsRUFDdkQsTUFBTSxHQUFHO0lBQ0wsYUFBYSxFQUFFO1FBQ1gsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxT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QU8sSUFBSSxhQUFhLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0YsSUFBRyxhQUFhLENBQUMsVUFBVSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixhQUFhO0FBQ2IsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxhQUFhLEVBQUUsU0FBVSxFQUFFLEVBQUU7SUFDOUQsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7SUFDaEQsbUZBQW1GO0lBQ25GLElBQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsZUFBZSxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELDBEQUEwRDtJQUMxRCxrQ0FBa0M7SUFDbEMseUVBQXlFO0lBQ3pFLElBQUk7QUFDUixDQUFDLENBQUM7QUFFRixhQUFhO0FBQ2IsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNFbXB0eU9iamVjdCwgcHJldHRpZnlMYWJlbHN9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7Zm9yRWFjaCwgaW5jbHVkZXMsIGludmVydCwgaXNBcnJheSwgaXNGaW5pdGUsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZCwgc3BsaXR9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5pbXBvcnQgKiBhcyBtb21lbnRMaWIgIGZyb20gJ21vbWVudCc7XG5jb25zdCBtb21lbnQgPSBtb21lbnRMaWIuZGVmYXVsdCB8fCB3aW5kb3dbJ21vbWVudCddO1xuZGVjbGFyZSBjb25zdCBkMywgbnY7XG5cbmV4cG9ydCBjb25zdCBjaGFydFR5cGVzID0gWydDb2x1bW4nLCAnTGluZScsICdBcmVhJywgJ0N1bXVsYXRpdmUgTGluZScsICdCYXInLCAnUGllJywgJ0RvbnV0JywgJ0J1YmJsZSddLFxuICAgIGFsbFNoYXBlcyA9IFsnY2lyY2xlJywgJ3NxdWFyZScsICdkaWFtb25kJywgJ2Nyb3NzJywgJ3RyaWFuZ2xlLXVwJywgJ3RyaWFuZ2xlLWRvd24nXTtcblxuY29uc3QgZGF0ZUxpc3QgPSBbJzAxLzAxLzIwMDEnLCAnMDEvMDEvMjAwMicsICcwMS8wMS8yMDAzJ10sXG4gICAgdGhlbWVzID0ge1xuICAgICAgICAnVGVycmVzdHJpYWwnOiB7XG4gICAgICAgICAgICBjb2xvcnM6IFsnIzFmNzdiNCcsICcjYWVjN2U4JywgJyNmZjdmMGUnLCAnI2ZmYmI3OCcsICcjMmNhMDJjJywgJyM5OGRmOGEnLCAnI2Q2MjcyOCcsICcjZmY5ODk2JywgJyM5NDY3YmQnLCAnI2M1YjBkNScsICcjOGM1NjRiJywgJyNjNDljOTQnLCAnI2UzNzdjMicsICcjZjdiNmQyJywgJyM3ZjdmN2YnLCAnI2M3YzdjNycsICcjYmNiZDIyJywgJyNkYmRiOGQnLCAnIzE3YmVjZicsICcjOWVkYWU1J10sXG4gICAgICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgICAgICAgJ2JhY2tncm91bmRDb2xvcic6ICcjZGU3ZDI4JyxcbiAgICAgICAgICAgICAgICAndGV4dENvbG9yJzogJyNGRkZGRkYnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICdBbm5hYmVsbGUnOiB7XG4gICAgICAgICAgICBjb2xvcnM6IFsnIzM5M2I3OScsICcjNTI1NGEzJywgJyM2YjZlY2YnLCAnIzljOWVkZScsICcjNjM3OTM5JywgJyM4Y2EyNTInLCAnI2I1Y2Y2YicsICcjY2VkYjljJywgJyM4YzZkMzEnLCAnI2JkOWUzOScsICcjZTdiYTUyJywgJyNlN2NiOTQnLCAnIzg0M2MzOScsICcjYWQ0OTRhJywgJyNkNjYxNmInLCAnI2U3OTY5YycsICcjN2I0MTczJywgJyNhNTUxOTQnLCAnI2NlNmRiZCcsICcjZGU5ZWQ2J10sXG4gICAgICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgICAgICAgJ2JhY2tncm91bmRDb2xvcic6ICcjMmUzMDZmJyxcbiAgICAgICAgICAgICAgICAndGV4dENvbG9yJzogJyNGRkZGRkYnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICdBenVyZSc6IHtcbiAgICAgICAgICAgIGNvbG9yczogWycjMzE4MmJkJywgJyM2YmFlZDYnLCAnIzllY2FlMScsICcjYzZkYmVmJywgJyNlNjU1MGQnLCAnI2ZkOGQzYycsICcjZmRhZTZiJywgJyNmZGQwYTInLCAnIzMxYTM1NCcsICcjNzRjNDc2JywgJyNhMWQ5OWInLCAnI2M3ZTljMCcsICcjNzU2YmIxJywgJyM5ZTlhYzgnLCAnI2JjYmRkYycsICcjZGFkYWViJywgJyM2MzYzNjMnLCAnIzk2OTY5NicsICcjYmRiZGJkJywgJyNkOWQ5ZDknXSxcbiAgICAgICAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgICAgICAgICAnYmFja2dyb3VuZENvbG9yJzogJyMzMTgyYmQnLFxuICAgICAgICAgICAgICAgICd0ZXh0Q29sb3InOiAnI0ZGRkZGRidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgJ1JldHJvJzoge1xuICAgICAgICAgICAgY29sb3JzOiBbJyMwY2E3YTEnLCAnI2ZmYTYxNScsICcjMzM0OTU3JywgJyNhY2M1YzInLCAnIzk4OGY5MCcsICcjOGFjY2M5JywgJyM1MTUxNTEnLCAnI2YyNzg2MScsICcjMzZjOWZkJywgJyM3OTQ2NjgnLCAnIzBmNzA5ZCcsICcjMGQyNzM4JywgJyM0NGJlNzgnLCAnIzRhMTgzOScsICcjNmEzOTNmJywgJyM1NTdkOGInLCAnIzZjMzMxYycsICcjMWMxYzFjJywgJyM4NjE1MDAnLCAnIzA5NTYyYSddLFxuICAgICAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kQ29sb3InOiAnIzgwNTEzYScsXG4gICAgICAgICAgICAgICAgJ3RleHRDb2xvcic6ICcjRkZGRkZGJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAnTWVsbG93Jzoge1xuICAgICAgICAgICAgY29sb3JzOiBbJyNmMGRjYmYnLCAnIzg4Yzg3NycsICcjYWViOTE4JywgJyMyZTJjMjMnLCAnI2RkZGRkMicsICcjZGZlOTU2JywgJyM0Yzk2M2InLCAnIzVkMzgwMScsICcjZTFlZWMzJywgJyNjZDg0NzInLCAnI2ZjZmFiMycsICcjOWE0NjM1JywgJyM5Mjk1YWQnLCAnIzJlM2YxMicsICcjNTY1Njc3JywgJyM1NTdkOGInLCAnIzRmNGQwMicsICcjMGMwYzFiJywgJyM4MzMzMjQnLCAnIzI0MTIwZSddLFxuICAgICAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kQ29sb3InOiAnIzdjOWU3MycsXG4gICAgICAgICAgICAgICAgJ3RleHRDb2xvcic6ICcjRkZGRkZGJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAnT3JpZW50Jzoge1xuICAgICAgICAgICAgY29sb3JzOiBbJyNhODAwMDAnLCAnI2NjNmMzYycsICcjZjBlNDAwJywgJyMwMDAwODQnLCAnI2ZjY2M2YycsICcjMDA5YzZjJywgJyNjYzMwOWMnLCAnIzc4Y2MwMCcsICcjZmM4NGU0JywgJyM0OGU0ZmMnLCAnIzQ4NzhkOCcsICcjMTg2YzBjJywgJyM2MDYwNjAnLCAnI2E4YThhOCcsICcjMDAwMDAwJywgJyNkN2Q3ZDcnLCAnIzc1YTA2ZScsICcjMTkwZDBiJywgJyM4ODg4ODgnLCAnIzY5NGI4NCddLFxuICAgICAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kQ29sb3InOiAnI2MxNDI0MicsXG4gICAgICAgICAgICAgICAgJ3RleHRDb2xvcic6ICcjRkZGRkZGJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAnR3JheVNjYWxlJzoge1xuICAgICAgICAgICAgY29sb3JzOiBbJyMxNDE0MTQnLCAnIzM1MzUzNScsICcjNWI1YjViJywgJyM4NDg0ODQnLCAnI2E4YThhOCcsICcjYzNjM2MzJywgJyNlMGUwZTAnLCAnI2M4YzhjOCcsICcjYTVhNWE1JywgJyM4Nzg3ODcnLCAnIzY1NjU2NScsICcjNGU0ZTRlJywgJyMzMDMwMzAnLCAnIzFjMWMxYycsICcjNGY0ZjRmJywgJyMzYjNiM2InLCAnIzc1NzU3NScsICcjNjA2MDYwJywgJyM4Njg2ODYnLCAnI2MxYzFjMSddLFxuICAgICAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kQ29sb3InOiAnIzU3NTc1NycsXG4gICAgICAgICAgICAgICAgJ3RleHRDb2xvcic6ICcjRkZGRkZGJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAnRmx5ZXInOiB7XG4gICAgICAgICAgICBjb2xvcnM6IFsnIzNmNDU0YycsICcjNWE2NDZlJywgJyM4NDg3NzgnLCAnI2NlZGVkZicsICcjNzRjNGRkJywgJyMwOTQ2ZWQnLCAnIzM4MGJiMScsICcjMDAwZmYwJywgJyNmNTRhMjMnLCAnIzFkYjI2MicsICcjYmNhM2FhJywgJyNmZmE1MDAnLCAnI2E4NmIzMicsICcjNjNhMThjJywgJyM1Njc5NWUnLCAnIzkzNDM0MycsICcjYjc1ZjVmJywgJyM3NTJkMmQnLCAnIzRlMTExMScsICcjOTIwNjA2J10sXG4gICAgICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgICAgICAgJ2JhY2tncm91bmRDb2xvcic6ICcjNDc2MzdjJyxcbiAgICAgICAgICAgICAgICAndGV4dENvbG9yJzogJyNGRkZGRkYnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICdMdW1pbm9zaXR5Jzoge1xuICAgICAgICAgICAgY29sb3JzOiBbJyNGRkZGRkYnLCAnI2U0ZTRlNCcsICcjMDBiY2Q0JywgJyNmMGRkMmYnLCAnIzAwYWFiZicsICcjMDE4Mzc2JywgJyNlOTFlNjMnLCAnIzM5ZTVkNCcsICcjZmY2ZDZkJywgJyMwMGZmNzYnLCAnI2ZmOTgwMCcsICcjOTY5Njk2JywgJyNmZjQyMDAnLCAnI2UwMDAwMCcsICcjOTVjYmU1JywgJyM1MzMxZmYnLCAnI2ZmZjRhNycsICcjZTdhODAwJywgJyMwMDYxZTQnLCAnI2Q1ZTdmZiddLFxuICAgICAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kQ29sb3InOiAnIzQ3NjM3YycsXG4gICAgICAgICAgICAgICAgJ3RleHRDb2xvcic6ICcjRkZGRkZGJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBiYXNpY1Byb3BlcnRpZXMgPSBbJ3hheGlzbGFiZWwnLCAneWF4aXNsYWJlbCcsICd4dW5pdHMnLCAneXVuaXRzJywgJ3hudW1iZXJmb3JtYXQnLCAneGRhdGVmb3JtYXQnLCAneW51bWJlcmZvcm1hdCcsXG4gICAgICAgICdzaG93dmFsdWVzJywgJ3Nob3dsYWJlbHMnLCAndmlld3R5cGUnLCAnYXJlYXZpZXd0eXBlJywgJ3N0YWdnZXJsYWJlbHMnLCAncmVkdWNleHRpY2tzJywgJ29mZnNldHRvcCcsICdvZmZzZXRib3R0b20nLCAnb2Zmc2V0cmlnaHQnLCAnb2Zmc2V0bGVmdCcsXG4gICAgICAgICdiYXJzcGFjaW5nJywgJ3hheGlzbGFiZWxkaXN0YW5jZScsICd5YXhpc2xhYmVsZGlzdGFuY2UnLCAndGhlbWUnLCAnbGFiZWx0eXBlJywgJ2RvbnV0cmF0aW8nLCAnc2hvd2xhYmVsc291dHNpZGUnLCAnc2hvd3hkaXN0YW5jZScsICdzaG93eWRpc3RhbmNlJywgJ3NoYXBlJywgJ25vZGF0YW1lc3NhZ2UnLCAnY2FwdGlvbnMnLCAnc2hvd3hheGlzJywgJ3Nob3d5YXhpcycsXG4gICAgICAgICdjZW50ZXJsYWJlbCcsICdjdXN0b21jb2xvcnMnLCAnc2hvd2xlZ2VuZCcsICdsZWdlbmR0eXBlJywgJ3hkb21haW4nLCAneWRvbWFpbicsICd0b29sdGlwcycsICdsaW5ldGhpY2tuZXNzJywgJ2hpZ2hsaWdodHBvaW50cycsICdpbnRlcnBvbGF0aW9uJywgJ2xhYmVsdGhyZXNob2xkJ10sXG4gICAgYmFyU3BhY2luZ01hcCA9IHtcbiAgICAgICAgJ3NtYWxsJyA6IDAuMyxcbiAgICAgICAgJ21lZGl1bScgOiAwLjUsXG4gICAgICAgICdsYXJnZScgOiAwLjhcbiAgICB9LFxuICAgIGRvbnV0UmF0aW9NYXAgPSB7XG4gICAgICAgICdzbWFsbCcgOiAwLjMsXG4gICAgICAgICdtZWRpdW0nIDogMC42LFxuICAgICAgICAnbGFyZ2UnIDogMC43XG4gICAgfSxcbiAgICBiYXJTcGFjaW5nTWFwSW52ZXJ0ID0gaW52ZXJ0KGJhclNwYWNpbmdNYXApLFxuICAgIGRvbnV0UmF0aW9NYXBJbnZlcnQgPSBpbnZlcnQoZG9udXRSYXRpb01hcCksXG4gICAgdGlja2Zvcm1hdHMgPSB7XG4gICAgICAgICdUaG91c2FuZCc6IHtcbiAgICAgICAgICAgICdwcmVmaXgnOiAnSycsXG4gICAgICAgICAgICAnZGl2aWRlcic6IDEwMDBcbiAgICAgICAgfSxcbiAgICAgICAgJ01pbGxpb24nIDoge1xuICAgICAgICAgICAgJ3ByZWZpeCc6ICdNJyxcbiAgICAgICAgICAgICdkaXZpZGVyJzogMTAwMDAwMFxuICAgICAgICB9LFxuICAgICAgICAnQmlsbGlvbicgOiB7XG4gICAgICAgICAgICAncHJlZml4JzogJ0InLFxuICAgICAgICAgICAgJ2RpdmlkZXInOiAxMDAwMDAwMDAwXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNoYXJ0SWQgPSAnI3ByZXZpZXctY2hhcnQnLFxuICAgIGRhdGFUeXBlSlNPTiA9IFsnQ29sdW1uJywgJ0xpbmUnLCAnUGllJywgJ0JhcicsICdEb251dCcsICdCdWJibGUnXSwgICAgLy8gQ2hhcnRzIHRoYXQgc3VwcG9ydHMgdGhlIGRhdGEgdG8gYmUgSlNPTjtcbiAgICBsaW5lVHlwZUNoYXJ0cyA9IFsnTGluZScsICdBcmVhJywgJ0N1bXVsYXRpdmUgTGluZSddLCAgIC8vIENoYXJ0cyB0aGF0IGRvZXMgbm90IHN1cHBvcnRzIHRoZSBzdHJpbmcgdHlwZSBvZiBkYXRhIGluIHRoZSB4YXhpcyBpbiB0aGUgbnZkMztcbiAgICBkYXRhVHlwZUFycmF5ID0gWydDdW11bGF0aXZlIExpbmUnLCAnQXJlYSddLCAgICAgLy8gQ2hhcnRzIHRoYXQgc3VwcG9ydHMgdGhlIGRhdGEgdG8gYmUgQXJyYXlcbiAgICBTQU1QTEVfREFUQSA9IHtcbiAgICAgICAgJ2dyb3VwMScgOiAnRXVyb3BlJyxcbiAgICAgICAgJ2dyb3VwMicgOiAnQXNpYScsXG4gICAgICAgICdncm91cDMnIDogJ0FtZXJpY2EnLFxuICAgICAgICAnZ3JvdXA0JyA6ICdBdXN0cmFsaWEnXG4gICAgfTtcblxuLy8gcmV0dXJucyB0cnVlIGlmIGNoYXJ0IHR5cGUgaXMgcGllXG5leHBvcnQgY29uc3QgaXNQaWVDaGFydCA9IHR5cGUgPT4gdHlwZSA9PT0gJ1BpZSc7XG5cbi8vIHJldHVybnMgdHJ1ZSBpZiBjaGFydCB0eXBlIGlzIGxpbmVcbmV4cG9ydCBjb25zdCBpc0xpbmVDaGFydCA9IHR5cGUgPT4gdHlwZSA9PT0gJ0xpbmUnO1xuXG4vLyByZXR1cm5zIHRydWUgaWYgY2hhcnQgdHlwZSBpcyBiYXJcbmV4cG9ydCBjb25zdCBpc0JhckNoYXJ0ID0gdHlwZSA9PiB0eXBlID09PSAnQmFyJztcblxuLy8gcmV0dXJucyB0cnVlIGlmIGNoYXJ0IHR5cGUgaXMgZG9udXRcbmV4cG9ydCBjb25zdCBpc0RvbnV0Q2hhcnQgPSB0eXBlID0+IHR5cGUgPT09ICdEb251dCc7XG5cbi8vIHJldHVybnMgdHJ1ZSBpZiBjaGFydCB0eXBlIGlzIGJ1YmJsZVxuZXhwb3J0IGNvbnN0IGlzQnViYmxlQ2hhcnQgPSB0eXBlID0+IHR5cGUgPT09ICdCdWJibGUnO1xuXG4vLyByZXR1cm5zIHRydWUgaWYgY2hhcnQgdHlwZSBpcyBjb2x1bW5cbmV4cG9ydCBjb25zdCBpc0NvbHVtbkNoYXJ0ID0gdHlwZSA9PiB0eXBlID09PSAnQ29sdW1uJztcblxuLy8gcmV0dXJucyB0cnVlIGlmIGNoYXJ0IHR5cGUgaXMgYXJlYVxuZXhwb3J0IGNvbnN0IGlzQXJlYUNoYXJ0ID0gdHlwZSA9PiB0eXBlID09PSAnQXJlYSc7XG5cbi8vIHJldHVybnMgdHJ1ZSBpZiBjaGFydCB0eXBlIGlzIGFyZWFcbmV4cG9ydCBjb25zdCBpc1BpZVR5cGUgPSB0eXBlID0+IGlzUGllQ2hhcnQodHlwZSkgfHwgaXNEb251dENoYXJ0KHR5cGUpO1xuXG4vLyBUaGUgZm9ybWF0IG9mIGNoYXJ0IGRhdGEgaXMgYXJyYXkgb2YganNvbiBvYmplY3RzIGluIGNhc2Ugb2YgdGhlIGZvbGxvd2luZyB0eXBlcyBvZiBjaGFydFxuZXhwb3J0IGNvbnN0IGlzQ2hhcnREYXRhSlNPTiA9IHR5cGUgPT4gaW5jbHVkZXMoZGF0YVR5cGVKU09OLCB0eXBlKSB8fCAhaW5jbHVkZXMoY2hhcnRUeXBlcywgdHlwZSk7XG5cbi8vIFRoZSBmb3JtYXQgb2YgY2hhcnQgZGF0YSBpcyBhcnJheSBvZiBvYmplY3RzIGluIGNhc2Ugb2YgdGhlIGZvbGxvd2luZyB0eXBlcyBvZiBjaGFydFxuZXhwb3J0IGNvbnN0IGlzQ2hhcnREYXRhQXJyYXkgPSB0eXBlID0+IGluY2x1ZGVzKGRhdGFUeXBlQXJyYXksIHR5cGUpO1xuXG4vLyByZXR1cm5zIHRydWUgaXMgdGhlIGNoYXJ0IHR5cGUgaXMgJ2xpbmUnLCAnYXJlYScgb3IgJ2N1bXVsYXRpdmUgbGluZScgZWxzZSBmYWxzZVxuZXhwb3J0IGNvbnN0IGlzTGluZVR5cGVDaGFydCA9IHR5cGUgPT4gaW5jbHVkZXMobGluZVR5cGVDaGFydHMsIHR5cGUpO1xuXG4vLyBYL1kgRG9tYWluIHByb3BlcnRpZXMgYXJlIHN1cHBvcnRlZCBvbmx5IGZvciBDb2x1bW4gYW5kIEFyZWEgY2hhcnRzXG5leHBvcnQgY29uc3QgaXNBeGlzRG9tYWluU3VwcG9ydGVkID0gdHlwZSA9PiBpc0NvbHVtbkNoYXJ0KHR5cGUpIHx8IGlzQXJlYUNoYXJ0KHR5cGUpO1xuXG4vLyBSZXR1cm5zIGJhciBzcGFjaW5nIHZhbHVlXG5leHBvcnQgY29uc3QgZ2V0QmFyU3BhY2luZ1ZhbHVlID0gKHZhbHVlLCBwcm9wKSA9PiB7XG4gICAgaWYgKHByb3AgPT09ICd2YWx1ZScpIHtcbiAgICAgICAgcmV0dXJuIGJhclNwYWNpbmdNYXBbdmFsdWVdO1xuICAgIH1cbiAgICBpZiAocHJvcCA9PT0gJ2tleScpIHtcbiAgICAgICAgcmV0dXJuIGJhclNwYWNpbmdNYXBJbnZlcnRbdmFsdWVdO1xuICAgIH1cbn07XG5cbi8vIFJldHVybnMgcmFkaXVzIHZhbHVlXG5leHBvcnQgY29uc3QgZ2V0UmFkaXVzVmFsdWUgPSAodmFsdWUsIHByb3ApID0+IHtcbiAgICBpZiAocHJvcCA9PT0gJ3ZhbHVlJykge1xuICAgICAgICByZXR1cm4gZG9udXRSYXRpb01hcFt2YWx1ZV07XG4gICAgfVxuICAgIGlmIChwcm9wID09PSAna2V5Jykge1xuICAgICAgICByZXR1cm4gZG9udXRSYXRpb01hcEludmVydFt2YWx1ZV07XG4gICAgfVxufTtcblxuLy8gUmV0dXJucyBsYWJlbHMgY29uZmlnXG5leHBvcnQgY29uc3QgZ2V0TGFiZWxWYWx1ZXMgPSAoc2hvd2xhYmVscywgc2hvd2xhYmVsc291dHNpZGUsIHByb3ApID0+IHtcbiAgICBjb25zdCBsYWJlbHNDb25maWc6IGFueSA9IHt9O1xuICAgIHN3aXRjaCAoc2hvd2xhYmVscykge1xuICAgICAgICBjYXNlICdoaWRlJzpcbiAgICAgICAgICAgIGxhYmVsc0NvbmZpZy5zaG93bGFiZWxzID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaW5zaWRlJzpcbiAgICAgICAgICAgIGxhYmVsc0NvbmZpZy5zaG93bGFiZWxzID0gdHJ1ZTtcbiAgICAgICAgICAgIGxhYmVsc0NvbmZpZy5zaG93bGFiZWxzb3V0c2lkZSA9IGZhbHNlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ291dHNpZGUnOlxuICAgICAgICAgICAgbGFiZWxzQ29uZmlnLnNob3dsYWJlbHMgPSB0cnVlO1xuICAgICAgICAgICAgbGFiZWxzQ29uZmlnLnNob3dsYWJlbHNvdXRzaWRlID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWxzQ29uZmlnO1xufTtcblxuLy8gQ29uc3RydWN0IHRoZSBzYW1wbGUgZGF0YVxuZXhwb3J0IGNvbnN0IGNvbnN0cnVjdFNhbXBsZURhdGEgPSAoZGF0YVR5cGUsIHlheGlzTGVuZ3RoLCBzaGFwZSkgPT4ge1xuICAgIGxldCBmaXJzdF9zZXJpZXMgPSBbXSxcbiAgICAgICAgc2Vjb25kX3NlcmllcyA9IFtdLFxuICAgICAgICB0aGlyZF9zZXJpZXMgPSBbXSxcbiAgICAgICAgZmlyc3Rfc2VyaWVzX2FycmF5ID0gW10sXG4gICAgICAgIHNlY29uZF9zZXJpZXNfYXJyYXkgPSBbXSxcbiAgICAgICAgdGhpcmRfc2VyaWVzX2FycmF5ID0gW10sXG4gICAgICAgIGZpcnN0X3Nlcmllc19idWJibGUgPSBbXSxcbiAgICAgICAgc2Vjb25kX3Nlcmllc19idWJibGUgPSBbXSxcbiAgICAgICAgdGhpcmRfc2VyaWVzX2J1YmJsZSA9IFtdLFxuICAgICAgICBkYXRhID0gW107XG4gICAgc3dpdGNoIChkYXRhVHlwZSkge1xuICAgICAgICBjYXNlICdqc29uRm9ybWF0JzpcbiAgICAgICAgICAgIGZpcnN0X3NlcmllcyA9IFtcbiAgICAgICAgICAgICAgICB7J3gnOiAnMDEvMDEvMjAwMScsICd5JzogNDAwMDAwMH0sXG4gICAgICAgICAgICAgICAgeyd4JzogJzAxLzAxLzIwMDInLCAneSc6IDEwMDAwMDB9LFxuICAgICAgICAgICAgICAgIHsneCc6ICcwMS8wMS8yMDAzJywgJ3knOiA1MDAwMDAwfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHNlY29uZF9zZXJpZXMgPSBbXG4gICAgICAgICAgICAgICAgeyd4JzogJzAxLzAxLzIwMDEnLCAneSc6IDMwMDAwMDB9LFxuICAgICAgICAgICAgICAgIHsneCc6ICcwMS8wMS8yMDAyJywgJ3knOiA0MDAwMDAwfSxcbiAgICAgICAgICAgICAgICB7J3gnOiAnMDEvMDEvMjAwMycsICd5JzogNzAwMDAwMH1cbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICB0aGlyZF9zZXJpZXMgPSBbXG4gICAgICAgICAgICAgICAgeyd4JzogJzAxLzAxLzIwMDEnLCAneSc6IDIwMDAwMDB9LFxuICAgICAgICAgICAgICAgIHsneCc6ICcwMS8wMS8yMDAyJywgJ3knOiA4MDAwMDAwfSxcbiAgICAgICAgICAgICAgICB7J3gnOiAnMDEvMDEvMjAwMycsICd5JzogNjAwMDAwMH1cbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBkYXRhWzBdID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlczogZmlyc3Rfc2VyaWVzLFxuICAgICAgICAgICAgICAgIGtleTogU0FNUExFX0RBVEEuZ3JvdXAxXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHlheGlzTGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgICAgICBkYXRhWzFdID0ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHNlY29uZF9zZXJpZXMsXG4gICAgICAgICAgICAgICAgICAgIGtleTogU0FNUExFX0RBVEEuZ3JvdXAyXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh5YXhpc0xlbmd0aCA+PSAzKSB7XG4gICAgICAgICAgICAgICAgZGF0YVsyXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB0aGlyZF9zZXJpZXMsXG4gICAgICAgICAgICAgICAgICAgIGtleTogU0FNUExFX0RBVEEuZ3JvdXAzXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdsaW5lQ2hhcnRGb3JtYXQnOlxuICAgICAgICAgICAgZmlyc3Rfc2VyaWVzID0gW1xuICAgICAgICAgICAgICAgIHsneCc6IDEsICd5JzogNDAwMDAwMH0sXG4gICAgICAgICAgICAgICAgeyd4JzogMiwgJ3knOiAxMDAwMDAwfSxcbiAgICAgICAgICAgICAgICB7J3gnOiAzLCAneSc6IDUwMDAwMDB9XG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgc2Vjb25kX3NlcmllcyA9IFtcbiAgICAgICAgICAgICAgICB7J3gnOiAxLCAneSc6IDMwMDAwMDB9LFxuICAgICAgICAgICAgICAgIHsneCc6IDIsICd5JzogNDAwMDAwMH0sXG4gICAgICAgICAgICAgICAgeyd4JzogMywgJ3knOiA3MDAwMDAwfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHRoaXJkX3NlcmllcyA9IFtcbiAgICAgICAgICAgICAgICB7J3gnOiAxLCAneSc6IDIwMDAwMDB9LFxuICAgICAgICAgICAgICAgIHsneCc6IDIsICd5JzogODAwMDAwMH0sXG4gICAgICAgICAgICAgICAgeyd4JzogMywgJ3knOiA2MDAwMDAwfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGRhdGFbMF0gPSB7XG4gICAgICAgICAgICAgICAgdmFsdWVzOiBmaXJzdF9zZXJpZXMsXG4gICAgICAgICAgICAgICAga2V5OiBTQU1QTEVfREFUQS5ncm91cDFcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoeWF4aXNMZW5ndGggPj0gMikge1xuICAgICAgICAgICAgICAgIGRhdGFbMV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlczogc2Vjb25kX3NlcmllcyxcbiAgICAgICAgICAgICAgICAgICAga2V5OiBTQU1QTEVfREFUQS5ncm91cDJcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHlheGlzTGVuZ3RoID49IDMpIHtcbiAgICAgICAgICAgICAgICBkYXRhWzJdID0ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHRoaXJkX3NlcmllcyxcbiAgICAgICAgICAgICAgICAgICAga2V5OiBTQU1QTEVfREFUQS5ncm91cDNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2FycmF5Rm9ybWF0JzpcbiAgICAgICAgICAgIGZpcnN0X3Nlcmllc19hcnJheSA9IFtcbiAgICAgICAgICAgICAgICBbMSwgNDAwMDAwMF0sXG4gICAgICAgICAgICAgICAgWzIsIDEwMDAwMDBdLFxuICAgICAgICAgICAgICAgIFszLCA1MDAwMDAwXVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHNlY29uZF9zZXJpZXNfYXJyYXkgPSBbXG4gICAgICAgICAgICAgICAgWzEsIDMwMDAwMDBdLFxuICAgICAgICAgICAgICAgIFsyLCA0MDAwMDAwXSxcbiAgICAgICAgICAgICAgICBbMywgNzAwMDAwMF1cbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICB0aGlyZF9zZXJpZXNfYXJyYXkgPSBbXG4gICAgICAgICAgICAgICAgWzEsIDIwMDAwMDBdLFxuICAgICAgICAgICAgICAgIFsyLCA4MDAwMDAwXSxcbiAgICAgICAgICAgICAgICBbMywgNjAwMDAwMF1cbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBkYXRhWzBdID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlczogZmlyc3Rfc2VyaWVzX2FycmF5LFxuICAgICAgICAgICAgICAgIGtleTogU0FNUExFX0RBVEEuZ3JvdXAxXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHlheGlzTGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgICAgICBkYXRhWzFdID0ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHNlY29uZF9zZXJpZXNfYXJyYXksXG4gICAgICAgICAgICAgICAgICAgIGtleTogU0FNUExFX0RBVEEuZ3JvdXAyXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh5YXhpc0xlbmd0aCA+PSAzKSB7XG4gICAgICAgICAgICAgICAgZGF0YVsyXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB0aGlyZF9zZXJpZXNfYXJyYXksXG4gICAgICAgICAgICAgICAgICAgIGtleTogU0FNUExFX0RBVEEuZ3JvdXAzXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdidWJibGVGb3JtYXQnOlxuICAgICAgICAgICAgc2hhcGUgPSBzaGFwZSA9PT0gJ3JhbmRvbScgPyAgYWxsU2hhcGVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFsbFNoYXBlcy5sZW5ndGgpXSA6IHNoYXBlO1xuICAgICAgICAgICAgZmlyc3Rfc2VyaWVzX2J1YmJsZSA9IFtcbiAgICAgICAgICAgICAgICB7J3gnOiA4MC42NiwgJ3knOiAzMzczOTkwMCwgICdzaXplJzogNzgsICdzaGFwZSc6IHNoYXBlfSxcbiAgICAgICAgICAgICAgICB7J3gnOiA3OS44NCwgJ3knOiA4MTkwMjMwMCwgICdzaXplJzogOTAsICdzaGFwZSc6IHNoYXBlfSxcbiAgICAgICAgICAgICAgICB7J3gnOiA3OC42LCAgJ3knOiA1NTIzMTAwLCAgICdzaXplJzogNDUsICdzaGFwZSc6IHNoYXBlfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHNlY29uZF9zZXJpZXNfYnViYmxlID0gW1xuICAgICAgICAgICAgICAgIHsneCc6IDcyLjczLCAneSc6IDc5NzE2MjAwLCAgJ3NpemUnOiA5OCwgJ3NoYXBlJzogc2hhcGV9LFxuICAgICAgICAgICAgICAgIHsneCc6IDgwLjA1LCAneSc6IDYxODAxNjAwLCAgJ3NpemUnOiAyMCwgJ3NoYXBlJzogc2hhcGV9LFxuICAgICAgICAgICAgICAgIHsneCc6IDcyLjQ5LCAneSc6IDczMTM3MjAwLCAgJ3NpemUnOiAzNCwgJ3NoYXBlJzogc2hhcGV9XG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgdGhpcmRfc2VyaWVzX2J1YmJsZSA9IFtcbiAgICAgICAgICAgICAgICB7J3gnOiA2OC4wOSwgJ3knOiAzMzczOTkwMCwgICdzaXplJzogNDUsICdzaGFwZSc6IHNoYXBlfSxcbiAgICAgICAgICAgICAgICB7J3gnOiA4MS41NSwgJ3knOiA3NDg1NjAwLCAgICdzaXplJzogNzgsICdzaGFwZSc6IHNoYXBlfSxcbiAgICAgICAgICAgICAgICB7J3gnOiA2OC42MCwgJ3knOiAxNDE4NTAwMDAsICdzaXplJzogNTYsICdzaGFwZSc6IHNoYXBlfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGRhdGFbMF0gPSB7XG4gICAgICAgICAgICAgICAgdmFsdWVzOiBmaXJzdF9zZXJpZXNfYnViYmxlLFxuICAgICAgICAgICAgICAgIGtleTogU0FNUExFX0RBVEEuZ3JvdXAxXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHlheGlzTGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgICAgICBkYXRhWzFdID0ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHNlY29uZF9zZXJpZXNfYnViYmxlLFxuICAgICAgICAgICAgICAgICAgICBrZXk6IFNBTVBMRV9EQVRBLmdyb3VwMlxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoeWF4aXNMZW5ndGggPj0gMykge1xuICAgICAgICAgICAgICAgIGRhdGFbMl0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlczogdGhpcmRfc2VyaWVzX2J1YmJsZSxcbiAgICAgICAgICAgICAgICAgICAga2V5OiBTQU1QTEVfREFUQS5ncm91cDNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BpZUNoYXJ0Rm9ybWF0JzpcbiAgICAgICAgICAgIGRhdGEgPSBbXG4gICAgICAgICAgICAgICAgeyd4JzogU0FNUExFX0RBVEEuZ3JvdXAxLCAneSc6IDEwMDAwMDB9LFxuICAgICAgICAgICAgICAgIHsneCc6IFNBTVBMRV9EQVRBLmdyb3VwMiwgJ3knOiAyMDAwMDAwfSxcbiAgICAgICAgICAgICAgICB7J3gnOiBTQU1QTEVfREFUQS5ncm91cDMsICd5JzogMzAwMDAwMH0sXG4gICAgICAgICAgICAgICAgeyd4JzogU0FNUExFX0RBVEEuZ3JvdXA0LCAneSc6IDQwMDAwMDB9XG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERhdGFUeXBlID0gd2lkZ2V0Q29udGV4dCA9PiB7XG4gICAgY29uc3QgdHlwZSA9IHdpZGdldENvbnRleHQudHlwZTtcbiAgICBpZiAoaXNMaW5lQ2hhcnQodHlwZSkpIHtcbiAgICAgICAgcmV0dXJuICdsaW5lQ2hhcnRGb3JtYXQnO1xuICAgIH1cbiAgICBpZiAoaXNQaWVUeXBlKHR5cGUpKSB7XG4gICAgICAgIHJldHVybiAncGllQ2hhcnRGb3JtYXQnO1xuICAgIH1cbiAgICBpZiAoaXNCdWJibGVDaGFydCh0eXBlKSkge1xuICAgICAgICByZXR1cm4gJ2J1YmJsZUZvcm1hdCc7XG4gICAgfVxuICAgIHJldHVybiBpc0NoYXJ0RGF0YUpTT04odHlwZSkgPyAnanNvbkZvcm1hdCcgOiAnYXJyYXlGb3JtYXQnO1xufTtcblxuLy8gU2FtcGxlIGRhdGEgdG8gcG9wdWxhdGUgd2hlbiBubyBkYXRhIGlzIGJvdW5kXG5leHBvcnQgY29uc3QgZ2V0U2FtcGxlRGF0YSA9IHdpZGdldENvbnRleHQgPT4gY29uc3RydWN0U2FtcGxlRGF0YShnZXREYXRhVHlwZSh3aWRnZXRDb250ZXh0KSwgc3BsaXQod2lkZ2V0Q29udGV4dC55YXhpc2RhdGFrZXksICcsJykubGVuZ3RoLCB3aWRnZXRDb250ZXh0LnNoYXBlKTtcblxuLy8gQ2hlY2sgd2hldGhlciBYL1kgRG9tYWluIHdhcyBzZXQgdG8gTWluIGFuZCBpcyBzdXBwb3J0ZWQgZm9yIHRoZSBwcmVzZW50IGNoYXJ0XG5leHBvcnQgY29uc3QgaXNBeGlzRG9tYWluVmFsaWQgPSAod2lkZ2V0Q29udGV4dCwgYXhpcykgPT4ge1xuICAgIGlmICh3aWRnZXRDb250ZXh0W2F4aXMgKyAnZG9tYWluJ10gPT09ICdNaW4nICYmIChpc0F4aXNEb21haW5TdXBwb3J0ZWQod2lkZ2V0Q29udGV4dC50eXBlKSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbi8vIENoZWNrIHdoZXRoZXIgbWluIGFuZCBtYXggdmFsdWVzIGFyZSBmaW5pdGUgb3Igbm90XG5leHBvcnQgY29uc3QgYXJlTWluTWF4VmFsdWVzVmFsaWQgPSB2YWx1ZXMgPT4ge1xuICAgIGlmIChpc0Zpbml0ZSh2YWx1ZXMubWluKSAmJiBpc0Zpbml0ZSh2YWx1ZXMubWF4KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFlTY2FsZU1pblZhbHVlID0gdmFsdWUgPT4ge1xuICAgIGNvbnN0IF9taW4gPSBNYXRoLmZsb29yKHZhbHVlKTtcbiAgICAvKiBJZiB0aGUgbnVtYmVyIGhhcyBhKSBkZWNpbWFsIHBhcnQgcmV0dXJuaW5nIGZsb29yIHZhbHVlIC0gMC4xXG4gICAgIGIpIG5vIGRlY2ltYWwgcGFydCByZXR1cm5pbmcgZmxvb3IgdmFsdWUgLSAxICovXG4gICAgcmV0dXJuIE1hdGguYWJzKHZhbHVlKSAtIF9taW4gPiAwID8gdmFsdWUgLSAwLjEgOiBfbWluIC0gMTtcbn07XG5cbi8vIENob29zZXMgdGhlIGRhdGEgcG9pbnRzIG9mIGxpbmUvY3VtdWxhdGl2ZSBsaW5lL2FyZWEgY2hhcnQgYW5kIGhpZ2hsaWdodHMgdGhlbVxuZXhwb3J0IGNvbnN0IGhpZ2hsaWdodFBvaW50cyA9IChpZCwgaGlnaGxpZ2h0cG9pbnRzKSA9PiB7XG4gICAgY29uc3QgY2hhcnRTdmcgPSBpZCA/IGQzLnNlbGVjdCgnI3dtQ2hhcnQnICsgaWQgKyAnIHN2ZycpIDogZDMuc2VsZWN0KGNoYXJ0SWQgKyAnIHN2ZycpO1xuICAgIGlmIChoaWdobGlnaHRwb2ludHMpIHtcbiAgICAgICAgY2hhcnRTdmcuc2VsZWN0QWxsKCcubnYtcG9pbnQnKVxuICAgICAgICAgICAgLnN0eWxlKCdzdHJva2Utd2lkdGgnLCAnNnB4JylcbiAgICAgICAgICAgIC5zdHlsZSgnZmlsbC1vcGFjaXR5JywgJzAuOTUnKVxuICAgICAgICAgICAgLnN0eWxlKCdzdHJva2Utb3BhY2l0eScsICcwLjk1Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY2hhcnRTdmcuc2VsZWN0QWxsKCcubnYtcG9pbnQnKVxuICAgICAgICAgICAgLnN0eWxlKCdzdHJva2Utd2lkdGgnLCAnMHB4JylcbiAgICAgICAgICAgIC5zdHlsZSgnZmlsbC1vcGFjaXR5JywgJzAnKTtcbiAgICB9XG59O1xuXG4vLyBDaG9vc2VzIHRoZSBsaW5lIG9mIGxpbmUvY3VtdWxhdGl2ZSBsaW5lIGFuZCBpbmNyZWFzZXMgdGhlIHRoaWNrbmVzcyBvZiBpdFxuZXhwb3J0IGNvbnN0IHNldExpbmVUaGlja25lc3MgPSAoaWQsIHRoaWNrbmVzcykgPT4ge1xuICAgIGNvbnN0IGNoYXJ0U3ZnID0gaWQgPyBkMy5zZWxlY3QoJyN3bUNoYXJ0JyArIGlkICsgJyBzdmcnKSA6IGQzLnNlbGVjdChjaGFydElkICsgJyBzdmcnKTtcbiAgICB0aGlja25lc3MgPSB0aGlja25lc3MgfHwgMS41O1xuXG4gICAgY29uc3QgbGluZXMgPSBjaGFydFN2Zy5zZWxlY3RBbGwoJy5udi1saW5lJyk7XG5cbiAgICBpZiAobGluZXMuc2l6ZSgpICE9PSAwKSB7XG4gICAgICAgIGxpbmVzLnN0eWxlKCdzdHJva2Utd2lkdGgnLCB0aGlja25lc3MpO1xuICAgIH1cbn07XG5cbi8vIENvbnN0cnVjdGluZyBhIGNvbW1vbiBrZXkgdmFsdWUgbWFwIGZvciBwcmV2aWV3IGFuZCBjYW52YXMgbW9kZVxuZXhwb3J0IGNvbnN0IGluaXRQcm9wZXJ0aWVzID0gKHdpZGdldENvbnRleHQsIHByb3BlcnR5VmFsdWVNYXApID0+IHtcbiAgICBpZiAoIXByb3BlcnR5VmFsdWVNYXAgfHwgaXNFbXB0eU9iamVjdChwcm9wZXJ0eVZhbHVlTWFwKSkge1xuICAgICAgICBwcm9wZXJ0eVZhbHVlTWFwID0ge307XG4gICAgfVxuICAgIGZvckVhY2goYmFzaWNQcm9wZXJ0aWVzLCBwcm9wID0+IHtcbiAgICAgICAgaWYgKGlzVW5kZWZpbmVkKHByb3BlcnR5VmFsdWVNYXBbcHJvcF0pKSB7XG4gICAgICAgICAgICBwcm9wZXJ0eVZhbHVlTWFwW3Byb3BdID0gd2lkZ2V0Q29udGV4dFtwcm9wXTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5VmFsdWVNYXA7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TnVtYmVyVmFsdWUgPSAodmFsdWUsIGNhbGxiYWNrKSA9PiB7XG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlSW50KHZhbHVlLCAxMCkpID8gY2FsbGJhY2sodmFsdWUsICd2YWx1ZScpIDogdmFsdWU7XG59O1xuXG4vLyBGb3JtYXRzIHRoZSBnaXZlbiB2YWx1ZSBhY2NvcmRpbmcgdG8gZGF0ZSBmb3JtYXRcbmV4cG9ydCBjb25zdCBnZXREYXRlRm9ybWF0ZWREYXRhID0gKGRhdGVGb3JtYXQsIGQpID0+IHtcbiAgICBkYXRlRm9ybWF0ID0gZGF0ZUZvcm1hdCB8fCAnJXgnO1xuICAgIC8qKlxuICAgICAqIGlmIGRhdGUgdmFsdWUgaXMgc3RyaW5nIFwiMjAtMDUtMjAxOVwiIHRoZW4gbmV3IERhdGUodmFsdWUpIHJldHVybiAyME1heTIwMTkgd2l0aCBjdXJyZW50IHRpbWUgaW4gSW5kaWEsXG4gICAgICogd2hlcmVhcyB0aGlzIHdpbGwgcmV0dXJuIDE5TWF5MjAxOSB3aXRoIHRpbWUgbGFnZ2luZyBmb3IgZmV3IGhvdXJzLlxuICAgICAqIFRoaXMgaXMgYmVjYXVzZSBpdCByZXR1cm5zIFVUQyB0aW1lIGkuZS4gQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUgKFVUQykuXG4gICAgICogVG8gY3JlYXRlIGRhdGUgaW4gbG9jYWwgdGltZSB1c2UgbW9tZW50XG4gICAgICovXG4gICAgaWYoZGF0ZUZvcm1hdCA9PSAnJWMnKSB7XG4gICAgICAgIGRhdGVGb3JtYXQgPSAnJWEgJWIgJWUgJVggJVknO1xuICAgIH1cbiAgICByZXR1cm4gZDMudGltZUZvcm1hdChkYXRlRm9ybWF0KShuZXcgRGF0ZShtb21lbnQobW9tZW50KGQpLmZvcm1hdCgpKS52YWx1ZU9mKCkpKTtcbn07XG5jb25zdCByZW1vdmVUcmFpbGluZ1plcm9zID0gdmFsdWUgPT4ge1xuICAgIGlmKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIC8vIENvbnZlcnQgdmFsdWUgdG8gYSBzdHJpbmcgaWYgaXQncyBhIG51bWJlclxuICAgIGNvbnN0IHN0cmluZ1ZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlLnRvU3RyaW5nKCkgOiB2YWx1ZTtcblxuICAgIC8vIFJlbW92ZSB0cmFpbGluZyB6ZXJvc1xuICAgIHJldHVybiBzdHJpbmdWYWx1ZS5yZXBsYWNlKC9cXC4wKyhbQS1aYS16XSopJC8sICckMScpLnJlcGxhY2UoL1xcLihbMS05XSspMCsoW0EtWmEtel0qKSQvLCAnLiQxJDInKTtcbn07XG5cbi8vIEZvcm1hdHMgdGhlIGdpdmVuIHZhbHVlIGFjY29yZGluZyB0byBudW1iZXIgZm9ybWF0XG5leHBvcnQgY29uc3QgZ2V0TnVtYmVyRm9ybWF0ZWREYXRhID0gKG51bWJlckZvcm1hdCwgZCkgPT4ge1xuICAgIGxldCBmb3JtYXR0ZWREYXRhLFxuICAgICAgICBkaXZpZGVyLFxuICAgICAgICBwcmVmaXg7XG4gICAgLy8gZm9ybWF0dGluZyB0aGUgZGF0YSBiYXNlZCBvbiBudW1iZXIgZm9ybWF0IHNlbGVjdGVkXG4gICAgaWYgKG51bWJlckZvcm1hdCkge1xuICAgICAgICBsZXQgbnVtYmVyRm9ybWF0dGVyO1xuICAgICAgICBpZihudW1iZXJGb3JtYXQgPT0gJ1Rob3VzYW5kJyB8fCBudW1iZXJGb3JtYXQgPT0gJ01pbGxpb24nIHx8IG51bWJlckZvcm1hdCA9PSAnQmlsbGlvbicpIHtcbiAgICAgICAgICAgIG51bWJlckZvcm1hdHRlciA9IGQzLmZvcm1hdCgnLC4ycycpO1xuICAgICAgICB9IGVsc2UgaWYobnVtYmVyRm9ybWF0ID09ICclJykge1xuICAgICAgICAgICAgbnVtYmVyRm9ybWF0dGVyID0gZDMuZm9ybWF0KCcuMiUnKTtcbiAgICAgICAgfWVsc2UgaWYobnVtYmVyRm9ybWF0ID09ICcuZicpIHtcbiAgICAgICAgICAgIG51bWJlckZvcm1hdHRlciA9IGQzLmZvcm1hdCgnLjJmJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBudW1iZXJGb3JtYXR0ZXIgPSBkMy5mb3JtYXQobnVtYmVyRm9ybWF0KTtcbiAgICAgICAgfVxuICAgICAgICBmb3JtYXR0ZWREYXRhID0gbnVtYmVyRm9ybWF0dGVyKGQpO1xuXG5cbiAgICAgICAgLy8gR2V0dGluZyB0aGUgcmVzcGVjdGl2ZSBkaXZpZGVyWzEwMDAsMTAwMDAwMCwxMDAwMDAwMDAwXSBiYXNlZCBvbiB0aGUgbnVtYmVyIGZvcm1hdCBjaG9vc2VuXG4gICAgICAgIGRpdmlkZXIgPSAodGlja2Zvcm1hdHNbbnVtYmVyRm9ybWF0XSAmJiB0aWNrZm9ybWF0c1tudW1iZXJGb3JtYXRdLmRpdmlkZXIpIHx8IDA7XG4gICAgICAgIHByZWZpeCA9IHRpY2tmb3JtYXRzW251bWJlckZvcm1hdF0gJiYgdGlja2Zvcm1hdHNbbnVtYmVyRm9ybWF0XS5wcmVmaXg7XG4gICAgICAgIGlmIChwcmVmaXggJiYgZGl2aWRlciAhPT0gMCkge1xuICAgICAgICAgICAgZm9ybWF0dGVkRGF0YSA9IGQzLmZvcm1hdCgnLjJmJykoZCAvIGRpdmlkZXIpICsgcHJlZml4O1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQXV0byBmb3JtYXR0aW5nIHRoZSBkYXRhIHdoZW4gbm8gZm9ybWF0aW5nIG9wdGlvbiBpcyBjaG9zZW5cbiAgICAgICAgZm9ybWF0dGVkRGF0YSA9IGQgPj0gMTAwMCA/IGQzLmZvcm1hdCgnLjFzJykoZCkgOiBkO1xuICAgIH1cbiAgICBmb3JtYXR0ZWREYXRhID0gcmVtb3ZlVHJhaWxpbmdaZXJvcyhmb3JtYXR0ZWREYXRhKTtcbiAgICByZXR1cm4gZm9ybWF0dGVkRGF0YTtcbn07XG5cbi8vIFNldCB0aGUgdmlzaWJpbGl0eSBwcm9wZXJ0eSBvZiB0aGUgY2hhcnQgeCx5IGF4aXMgZHVlIHRvIGEgYnVnIGluIHRoZSBudmQzXG5leHBvcnQgY29uc3QgdG9nZ2xlQXhpc1Nob3cgPSAocHJvcGVydHksIHZhbHVlKSA9PiB7XG4gICAgY29uc3QgJHhBeGlzID0gZDMuc2VsZWN0KGNoYXJ0SWQgKyAnIGcubnYtYXhpcy5udi14JyksXG4gICAgICAgICR5QXhpcyA9IGQzLnNlbGVjdChjaGFydElkICsgJyBnLm52LWF4aXMubnYteScpO1xuICAgIGlmIChwcm9wZXJ0eSA9PT0gJ3Nob3d4YXhpcycpIHtcbiAgICAgICAgJHhBeGlzLnN0eWxlKCd2aXNpYmlsaXR5JywgdmFsdWUgPyAndmlzaWJsZScgOiAnaGlkZGVuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgJHlBeGlzLnN0eWxlKCd2aXNpYmlsaXR5JywgdmFsdWUgPyAndmlzaWJsZScgOiAnaGlkZGVuJyk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1vZGlmeUxlZ2VuZFBvc2l0aW9uID0gKHdpZGdldENvbnRleHQsIHBvc2l0aW9uLCBpZCkgPT4ge1xuICAgIGNvbnN0IHNob3dMZWdlbmQgPSBpc1Nob3dMZWdlbmQod2lkZ2V0Q29udGV4dC5zaG93bGVnZW5kKSxcbiAgICAgICAgY2hhcnRfSWQgPSBpZCA/ICcjd21DaGFydCcgKyBpZCA6IGNoYXJ0SWQsXG4gICAgICAgIGxlZ2VuZFdyYXAgPSBkMy5zZWxlY3QoY2hhcnRfSWQgKyAnIC5udi1sZWdlbmRXcmFwJyksXG4gICAgICAgIGxlZ2VuZFBhZGRpbmcgPSA1O1xuICAgIC8vIFJldHVybiB3aGVuIHNob3dsZWdlbmQgaXMgZmFsc2VcbiAgICBpZiAoIXNob3dMZWdlbmQgfHwgIWxlZ2VuZFdyYXBbJ19ncm91cHMnXVswXVswXSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChwb3NpdGlvbiA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgY29uc3QgbGVnZW5kV3JhcEhlaWdodCA9IGxlZ2VuZFdyYXBbJ19ncm91cHMnXVswXVswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsXG4gICAgICAgICAgICB3cmFwID0gZDMuc2VsZWN0KGNoYXJ0X0lkICsgJyAubnYtd3JhcCcpLFxuICAgICAgICAgICAgd3JhcFRyYW5zZm9ybSA9ICh3cmFwICYmIHdyYXAuYXR0cigndHJhbnNmb3JtJykpID8gd3JhcC5hdHRyKCd0cmFuc2Zvcm0nKS5yZXBsYWNlKC8sIC9nLCAnLCcpIDogJycsXG4gICAgICAgICAgICBjb29yZGluYXRlcyA9IC90cmFuc2xhdGVcXChcXHMqKFteXFxzLCldKylbICxdKFteXFxzLCldKykvLmV4ZWMod3JhcFRyYW5zZm9ybSksXG4gICAgICAgICAgICBnZXRDaGFydEhlaWdodCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgY2hhcnRIZWlnaHQgPSAkKGNoYXJ0X0lkICsgJyBzdmc+Lm52ZDMubnYtd3JhcCcpWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgICAgICAgICBpZiAoY2hhcnRIZWlnaHQgPT09IDApIHsgLy8gZml4IGZvciBJRVxuICAgICAgICAgICAgICAgICAgICBjaGFydEhlaWdodCA9ICgkKGNoYXJ0X0lkICsgJyBzdmcnKVswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgLSAobGVnZW5kV3JhcEhlaWdodCArIDE1KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjaGFydEhlaWdodDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIGxlZ2VuZFdyYXAuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgwICwgJyArIChnZXRDaGFydEhlaWdodCgpIC0gbGVnZW5kV3JhcEhlaWdodCAtIGxlZ2VuZFBhZGRpbmcpICsgJyknKTtcbiAgICAgICAgaWYgKGNvb3JkaW5hdGVzKSB7XG4gICAgICAgICAgICB3cmFwLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoJyArIGNvb3JkaW5hdGVzWzFdICsgJywnICsgbGVnZW5kUGFkZGluZyArICcpJyk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vLyBSZXR1cm5zIHZhbHVlIGlmIGxlZ2VuZCBuZWVkIHRvIHNob3duIG9yIG5vdFxuZXhwb3J0IGNvbnN0IGlzU2hvd0xlZ2VuZCA9IHZhbHVlID0+IHtcbiAgICAvLyBPbGQgcHJvamVjdHMgd2lsbCBoYXZlIGVpdGhlciB0cnVlIG9yIGZhbHNlXG4gICAgaWYgKHZhbHVlID09PSAnZmFsc2UnIHx8IHZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJ3RydWUnIHx8IHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBOZXcgcHJvamVjdHMgd2lsbCBoYXZlIGVpdGhlciAnSGlkZSBMZWdlbmQnLCAnU2hvdyBUb3AnLCAnU2hvdyBCb3R0b20nXG4gICAgcmV0dXJuIHZhbHVlID09PSAnaGlkZScgPyBmYWxzZSA6IHRydWU7XG59O1xuXG4vKipcbiAqIEN1c3RvbWlzZSB0aGUgdG9vbHRpcCBmb3IgZG9udXQgJiBwaWUgY2hhcnRzIGFuZCBhbHNvIGZvciBjaGFydHMgaGF2aW5nIG9ubHkgb25lIHZhbHVlIGF0dGFjaGVkIHRvIHlheGlzXG4gKiBAcGFyYW0ga2V5XG4gKiBAcGFyYW0gbGFiZWxcbiAqL1xuZXhwb3J0IGNvbnN0IGN1c3RvbWlzZVRvb2x0aXAgPSAoY2hhcnQsIHByb3BlcnR5VmFsdWVNYXAsIHdpZGdldENvbnRleHQsIGxhYmVsPykgPT4ge1xuICAgIGQzLnNlbGVjdEFsbCgnLm52dG9vbHRpcCcpLnN0eWxlKCdvcGFjaXR5JywgMCk7XG4gICAgY2hhcnQudG9vbHRpcC5jb250ZW50R2VuZXJhdG9yKChrZXksIHByb3BWYWx1ZU1hcCkgPT4ge1xuICAgICAgICBsZXQgeFZhbHVlID0ga2V5LmRhdGEueCwgeVZhbHVlO1xuICAgICAgICB5VmFsdWUgPSBnZXROdW1iZXJGb3JtYXRlZERhdGEocHJvcFZhbHVlTWFwPy55bnVtYmVyZm9ybWF0IHx8IHdpZGdldENvbnRleHQ/LnludW1iZXJmb3JtYXQgfHwgcHJvcGVydHlWYWx1ZU1hcD8ueW51bWJlcmZvcm1hdCwga2V5LmRhdGEueSk7XG4gICAgICAgIGlmIChpc1BpZVR5cGUod2lkZ2V0Q29udGV4dC50eXBlKSkge1xuICAgICAgICAgICAgbGFiZWwgPSBrZXkuZGF0YS54O1xuICAgICAgICAgICAgeFZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICc8dGFibGU+JyArXG4gICAgICAgICAgICAnPHRib2R5PicgK1xuICAgICAgICAgICAgJzx0ciBjbGFzcz1cInZhbHVlXCI+PGI+JyArIHhWYWx1ZSArXG4gICAgICAgICAgICAnPC9iPjwvdHI+JyArXG4gICAgICAgICAgICAnPHRyPicgK1xuICAgICAgICAgICAgJzx0ZCBjbGFzcz1cImxlZ2VuZC1jb2xvci1ndWlkZVwiPjxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOicgKyBrZXkuY29sb3IgKyAnO1wiPjwvZGl2PjwvdGQ+JyArXG4gICAgICAgICAgICAnPHRkIGNsYXNzPVwia2V5XCI+JyArIGxhYmVsICsgJzwvdGQ+JyArXG4gICAgICAgICAgICAnPHRkIGNsYXNzPVwidmFsdWVcIj4nICsgeVZhbHVlICsgJzwvdGQ+JyArXG4gICAgICAgICAgICAnPC90cj4nICtcbiAgICAgICAgICAgICc8L3Rib2R5PicgK1xuICAgICAgICAgICAgJzwvdGFibGU+JztcbiAgICB9KTtcbn07XG5cbi8vIGludGlhbGl6ZXMgdGhlIGNoYXJ0IG9iZWpjdFxuZXhwb3J0IGNvbnN0IGluaXRDaGFydCA9ICh3aWRnZXRDb250ZXh0LCB4RG9tYWluVmFsdWVzLCB5RG9tYWluVmFsdWVzLCBwcm9wZXJ0eVZhbHVlTWFwLCBpc1ByZXZpZXcpID0+IHtcbiAgICBwcm9wZXJ0eVZhbHVlTWFwID0gIGluaXRQcm9wZXJ0aWVzKHdpZGdldENvbnRleHQsIHByb3BlcnR5VmFsdWVNYXApO1xuICAgIGxldCBjaGFydCwgY29sb3JzID0gW10sIHhheGlzbGFiZWwsIHlheGlzbGFiZWwsIGxhYmVsQ29uZmlnLCByYWRpdXMsIGJhclNwYWNpbmcsXG4gICAgICAgIHNob3dMZWdlbmQsIHhBeGlzVmFsdWUsIGhhc011bHRpcGxlWVZhbHVlcztcbiAgICBjb25zdCB4VmFsdWU6IGFueSA9IHt9LCB5VmFsdWU6IGFueSA9IHt9O1xuICAgIHN3aXRjaCAod2lkZ2V0Q29udGV4dC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ0NvbHVtbic6XG4gICAgICAgICAgICBiYXJTcGFjaW5nID0gZ2V0TnVtYmVyVmFsdWUocHJvcGVydHlWYWx1ZU1hcC5iYXJzcGFjaW5nLCBnZXRCYXJTcGFjaW5nVmFsdWUpIHx8IGJhclNwYWNpbmdNYXAubWVkaXVtO1xuICAgICAgICAgICAgY2hhcnQgPSBudi5tb2RlbHMubXVsdGlCYXJDaGFydCgpXG4gICAgICAgICAgICAgICAgLngoZCA9PiBkLngpXG4gICAgICAgICAgICAgICAgLnkoZCA9PiBkLnkpXG4gICAgICAgICAgICAgICAgLnJlZHVjZVhUaWNrcyhwcm9wZXJ0eVZhbHVlTWFwLnJlZHVjZXh0aWNrcylcbiAgICAgICAgICAgICAgICAucm90YXRlTGFiZWxzKDApXG4gICAgICAgICAgICAgICAgLnNob3dDb250cm9scyhmYWxzZSlcbiAgICAgICAgICAgICAgICAuc3RhY2tlZChwcm9wZXJ0eVZhbHVlTWFwLnZpZXd0eXBlID09PSAnU3RhY2tlZCcgPyAgdHJ1ZSA6IGZhbHNlKVxuICAgICAgICAgICAgICAgIC5ncm91cFNwYWNpbmcoYmFyU3BhY2luZyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQ3VtdWxhdGl2ZSBMaW5lJzpcbiAgICAgICAgICAgIGNoYXJ0ID0gbnYubW9kZWxzLmN1bXVsYXRpdmVMaW5lQ2hhcnQoKVxuICAgICAgICAgICAgICAgIC54KGQgPT4gZFswXSlcbiAgICAgICAgICAgICAgICAueShkID0+IGRbMV0pXG4gICAgICAgICAgICAgICAgLnNob3dDb250cm9scyhmYWxzZSlcbiAgICAgICAgICAgICAgICAudXNlSW50ZXJhY3RpdmVHdWlkZWxpbmUocHJvcGVydHlWYWx1ZU1hcC50b29sdGlwcylcbiAgICAgICAgICAgICAgICAuaW50ZXJwb2xhdGUocHJvcGVydHlWYWx1ZU1hcC5pbnRlcnBvbGF0aW9uKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdMaW5lJzpcbiAgICAgICAgICAgIGNoYXJ0ID0gbnYubW9kZWxzLmxpbmVDaGFydCgpXG4gICAgICAgICAgICAgICAgLnVzZUludGVyYWN0aXZlR3VpZGVsaW5lKHByb3BlcnR5VmFsdWVNYXAudG9vbHRpcHMpXG4gICAgICAgICAgICAgICAgLmludGVycG9sYXRlKHByb3BlcnR5VmFsdWVNYXAuaW50ZXJwb2xhdGlvbik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJlYSc6XG4gICAgICAgICAgICBjaGFydCA9IG52Lm1vZGVscy5zdGFja2VkQXJlYUNoYXJ0KClcbiAgICAgICAgICAgICAgICAueChkID0+IGQueClcbiAgICAgICAgICAgICAgICAueShkID0+IGQueSlcbiAgICAgICAgICAgICAgICAuY2xpcEVkZ2UodHJ1ZSlcbiAgICAgICAgICAgICAgICAuc2hvd0NvbnRyb2xzKGZhbHNlKVxuICAgICAgICAgICAgICAgIC5zdHlsZShwcm9wZXJ0eVZhbHVlTWFwLmFyZWF2aWV3dHlwZSlcbiAgICAgICAgICAgICAgICAudXNlSW50ZXJhY3RpdmVHdWlkZWxpbmUocHJvcGVydHlWYWx1ZU1hcC50b29sdGlwcylcbiAgICAgICAgICAgICAgICAuaW50ZXJwb2xhdGUocHJvcGVydHlWYWx1ZU1hcC5pbnRlcnBvbGF0aW9uKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdCYXInOlxuICAgICAgICAgICAgYmFyU3BhY2luZyA9IGdldE51bWJlclZhbHVlKHByb3BlcnR5VmFsdWVNYXAuYmFyc3BhY2luZywgZ2V0QmFyU3BhY2luZ1ZhbHVlKSB8fCBiYXJTcGFjaW5nTWFwLm1lZGl1bTtcbiAgICAgICAgICAgIGNoYXJ0ID0gbnYubW9kZWxzLm11bHRpQmFySG9yaXpvbnRhbENoYXJ0KClcbiAgICAgICAgICAgICAgICAueChkID0+IGQueClcbiAgICAgICAgICAgICAgICAueShkID0+IGQueSlcbiAgICAgICAgICAgICAgICAuc2hvd0NvbnRyb2xzKGZhbHNlKVxuICAgICAgICAgICAgICAgIC5zdGFja2VkKHByb3BlcnR5VmFsdWVNYXAudmlld3R5cGUgPT09ICdTdGFja2VkJyA/ICB0cnVlIDogZmFsc2UpXG4gICAgICAgICAgICAgICAgLnNob3dWYWx1ZXMocHJvcGVydHlWYWx1ZU1hcC5zaG93dmFsdWVzKVxuICAgICAgICAgICAgICAgIC5ncm91cFNwYWNpbmcoYmFyU3BhY2luZyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnUGllJzpcbiAgICAgICAgY2FzZSAnRG9udXQnOlxuICAgICAgICAgICAgbGFiZWxDb25maWcgPSBnZXRMYWJlbFZhbHVlcyhwcm9wZXJ0eVZhbHVlTWFwLnNob3dsYWJlbHMsIHByb3BlcnR5VmFsdWVNYXAuc2hvd2xhYmVsc291dHNpZGUsICd2YWx1ZScpO1xuICAgICAgICAgICAgcmFkaXVzID0gZ2V0TnVtYmVyVmFsdWUocHJvcGVydHlWYWx1ZU1hcC5kb251dHJhdGlvLCBnZXRSYWRpdXNWYWx1ZSkgfHwgZG9udXRSYXRpb01hcC5tZWRpdW07XG4gICAgICAgICAgICBjaGFydCA9IG52Lm1vZGVscy5waWVDaGFydCgpXG4gICAgICAgICAgICAgICAgLngoZCA9PiBkLngpXG4gICAgICAgICAgICAgICAgLnkoZCA9PiBkLnkpXG4gICAgICAgICAgICAgICAgLnNob3dMYWJlbHMobGFiZWxDb25maWcuc2hvd2xhYmVscylcbiAgICAgICAgICAgICAgICAubGFiZWxUeXBlKHByb3BlcnR5VmFsdWVNYXAubGFiZWx0eXBlKVxuICAgICAgICAgICAgICAgIC52YWx1ZUZvcm1hdChkMy5mb3JtYXQoJyUnKSlcbiAgICAgICAgICAgICAgICAudGl0bGUocHJvcGVydHlWYWx1ZU1hcC5jZW50ZXJsYWJlbClcbiAgICAgICAgICAgICAgICAubGFiZWxUaHJlc2hvbGQocHJvcGVydHlWYWx1ZU1hcC5sYWJlbHRocmVzaG9sZCB8fCAwLjAxKVxuICAgICAgICAgICAgICAgIC5sYWJlbHNPdXRzaWRlKGxhYmVsQ29uZmlnLnNob3dsYWJlbHNvdXRzaWRlKTtcbiAgICAgICAgICAgIGlmIChpc0RvbnV0Q2hhcnQod2lkZ2V0Q29udGV4dC50eXBlKSkge1xuICAgICAgICAgICAgICAgIGNoYXJ0LmRvbnV0KHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC5kb251dFJhdGlvKHJhZGl1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvcGVydHlWYWx1ZU1hcC5sYWJlbHR5cGUgPT09ICdrZXktdmFsdWUnKSB7XG4gICAgICAgICAgICAgICAgY2hhcnQubGFiZWxUeXBlKGQgPT4gZC5kYXRhLnggKyAnICcgKyBkLmRhdGEueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQnViYmxlJzpcbiAgICAgICAgICAgIGNoYXJ0ID0gbnYubW9kZWxzLnNjYXR0ZXJDaGFydCgpXG4gICAgICAgICAgICAgICAgLngoZCA9PiBkLngpXG4gICAgICAgICAgICAgICAgLnkoZCA9PiBkLnkpXG4gICAgICAgICAgICAgICAgLnNob3dEaXN0WChwcm9wZXJ0eVZhbHVlTWFwLnNob3d4ZGlzdGFuY2UpXG4gICAgICAgICAgICAgICAgLnNob3dEaXN0WShwcm9wZXJ0eVZhbHVlTWFwLnNob3d5ZGlzdGFuY2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHhEb21haW5WYWx1ZXMpIHtcbiAgICAgICAgeFZhbHVlLm1pbiA9IHhEb21haW5WYWx1ZXMubWluLnggfHwgeERvbWFpblZhbHVlcy5taW5bMF07XG4gICAgICAgIHhWYWx1ZS5tYXggPSB4RG9tYWluVmFsdWVzLm1heC54IHx8IHhEb21haW5WYWx1ZXMubWF4WzBdO1xuICAgICAgICAvLyBJZiB0aGUgdmFsdWVzIG9uIHRoZSB4IGF4aXMgYXJlIHN0cmluZyB0aGVuIG1pbiBtYXggdmFsdWVzIGdpdmVzIEluZmluaXR5XG4gICAgICAgIGlmIChhcmVNaW5NYXhWYWx1ZXNWYWxpZCh4VmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBSZWR1Y2luZyB0aGUgbWluIHZhbHVlIHRvIDAuMSBzbyB0aGUgbWluIHZhbHVlIGlzIG5vdCBtaXNzZWQgb3V0XG4gICAgICAgICAgICB4VmFsdWUubWluID0gZ2V0WVNjYWxlTWluVmFsdWUoeFZhbHVlLm1pbik7XG4gICAgICAgICAgICBjaGFydC54RG9tYWluKFt4VmFsdWUubWluLCB4VmFsdWUubWF4XSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoeURvbWFpblZhbHVlcykge1xuICAgICAgICAvLyBSZWR1Y2luZyB0aGUgbWluIHZhbHVlIHRvIDEgc28gdGhlIG1pbiB2YWx1ZSBpcyBub3QgbWlzc2VkIG91dFxuICAgICAgICB5VmFsdWUubWluID0geURvbWFpblZhbHVlcy5taW4ueSB8fCB5RG9tYWluVmFsdWVzLm1pblsxXTtcbiAgICAgICAgeVZhbHVlLm1heCA9IHlEb21haW5WYWx1ZXMubWF4LnkgfHwgeURvbWFpblZhbHVlcy5tYXhbMV07XG4gICAgICAgIC8vIElmIHRoZSB2YWx1ZXMgb24gdGhlIHkgYXhpcyBhcmUgc3RyaW5nIG9yIGludmFsaWQgdGhlbiBtaW4gbWF4IHZhbHVlcyBnaXZlcyBJbmZpbml0eVxuICAgICAgICBpZiAoYXJlTWluTWF4VmFsdWVzVmFsaWQoeVZhbHVlKSkge1xuICAgICAgICAgICAgLy8gUmVkdWNpbmcgdGhlIG1pbiB2YWx1ZSB0byAxIHNvIHRoZSBtaW4gdmFsdWUgaXMgbm90IG1pc3NlZCBvdXRcbiAgICAgICAgICAgIHlWYWx1ZS5taW4gPSBnZXRZU2NhbGVNaW5WYWx1ZSh5VmFsdWUubWluKTtcbiAgICAgICAgICAgIGNoYXJ0LnlEb21haW4oW3lWYWx1ZS5taW4sIHlWYWx1ZS5tYXhdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHRpbmcgdGhlIGxlZ2VuZCB0eXBlIGNob29zZW4gYnkgdXNlciBvciBkZWZhdWx0IGl0IHdpbGwgYmUgZnVyaW91c1xuICAgIGNoYXJ0LmxlZ2VuZC52ZXJzKChwcm9wZXJ0eVZhbHVlTWFwLmxlZ2VuZHR5cGUgJiYgcHJvcGVydHlWYWx1ZU1hcC5sZWdlbmR0eXBlLnRvTG93ZXJDYXNlKCkpIHx8ICdmdXJpb3VzJyk7XG5cbiAgICBpZiAoIWluY2x1ZGVzKGNoYXJ0VHlwZXMsIHdpZGdldENvbnRleHQudHlwZSkpIHtcbiAgICAgICAgY2hhcnQgPSBudi5tb2RlbHMubXVsdGlCYXJDaGFydCgpXG4gICAgICAgICAgICAueChkID0+IGQueClcbiAgICAgICAgICAgIC55KGQgPT4gZC55KTtcbiAgICB9XG5cblxuICAgIGlmIChpc1BpZVR5cGUod2lkZ2V0Q29udGV4dC50eXBlKSkge1xuICAgICAgICAvLyBJbiBjYXNlIG9mIHBpZS9kb251dCBjaGFydCBmb3JtYXR0aW5nIHRoZSB2YWx1ZXMgb2YgaXRcbiAgICAgICAgaWYgKHByb3BlcnR5VmFsdWVNYXAubGFiZWx0eXBlID09PSAncGVyY2VudCcpIHtcbiAgICAgICAgICAgIGNoYXJ0LnZhbHVlRm9ybWF0KGQzLmZvcm1hdCgnJScpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNoYXJ0LnZhbHVlRm9ybWF0KGQgPT4gZ2V0TnVtYmVyRm9ybWF0ZWREYXRhKHByb3BlcnR5VmFsdWVNYXAueW51bWJlcmZvcm1hdCwgZCkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEN1c3RvbWl6aW5nIHRoZSB0b29sdGlwcyBpbiBjYXNlIG9mIHRoZSBwaWUgYW5kIGRvbnV0IHdoZW4gbGFiZWxUeXBlIGlzIHZhbHVlXG4gICAgICAgIGN1c3RvbWlzZVRvb2x0aXAoY2hhcnQsIHByb3BlcnR5VmFsdWVNYXAsIHdpZGdldENvbnRleHQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY2hhcnQuc2hvd1hBeGlzKHByb3BlcnR5VmFsdWVNYXAuc2hvd3hheGlzKVxuICAgICAgICAgICAgLnNob3dZQXhpcyhwcm9wZXJ0eVZhbHVlTWFwLnNob3d5YXhpcyk7XG4gICAgICAgIGNoYXJ0LmxlZ2VuZFBvc2l0aW9uKHByb3BlcnR5VmFsdWVNYXAuc2hvd2xlZ2VuZCk7XG5cbiAgICAgICAgLy8gU2V0dGluZyB0aGUgbGFiZWxzIGlmIHRoZXkgYXJlIHNwZWNpZmllZCBleHBsaWNpdGx5IG9yIHRha2luZyB0aGUgYXhpc2tleXMgY2hvc2VuXG4gICAgICAgIHhheGlzbGFiZWwgPSBwcm9wZXJ0eVZhbHVlTWFwLnhheGlzbGFiZWwgfHwgcHJldHRpZnlMYWJlbHMod2lkZ2V0Q29udGV4dC54YXhpc2RhdGFrZXkpIHx8ICd4IGNhcHRpb24nO1xuICAgICAgICB5YXhpc2xhYmVsID0gcHJvcGVydHlWYWx1ZU1hcC55YXhpc2xhYmVsIHx8IHByZXR0aWZ5TGFiZWxzKHdpZGdldENvbnRleHQueWF4aXNkYXRha2V5KSB8fCAneSBjYXB0aW9uJztcblxuICAgICAgICAvLyBDaGVja2luZyBpZiB5IGF4aXMgaGFzIG11bHRpcGxlIHZhbHVlc1xuICAgICAgICBpZiAod2lkZ2V0Q29udGV4dC55YXhpc2RhdGFrZXkgJiYgd2lkZ2V0Q29udGV4dC55YXhpc2RhdGFrZXkuc3BsaXQoJywnKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBoYXNNdWx0aXBsZVlWYWx1ZXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIEN1c3RvbWl6aW5nIHRoZSB0b29sdGlwIHRvIHNob3cgeWF4aXNsYWJlbCwgb25seSBpZiB0aGUgeSBheGlzIGNvbnRhaW5zIG9uZSB2YWx1ZVxuICAgICAgICBpZiAoIWhhc011bHRpcGxlWVZhbHVlcyAmJiAhaXNCdWJibGVDaGFydCh3aWRnZXRDb250ZXh0LnR5cGUpKSB7XG4gICAgICAgICAgICBjdXN0b21pc2VUb29sdGlwKGNoYXJ0LCBwcm9wZXJ0eVZhbHVlTWFwLCB3aWRnZXRDb250ZXh0LCB5YXhpc2xhYmVsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZGluZyB0aGUgdW5pdHMgdG8gdGhlIGNhcHRpb25zIGlmIHRoZXkgYXJlIHNwZWNpZmllZFxuICAgICAgICB4YXhpc2xhYmVsICs9IHByb3BlcnR5VmFsdWVNYXAueHVuaXRzID8gJygnICsgcHJvcGVydHlWYWx1ZU1hcC54dW5pdHMgKyAnKScgOiAnJztcbiAgICAgICAgeWF4aXNsYWJlbCArPSBwcm9wZXJ0eVZhbHVlTWFwLnl1bml0cyA/ICcoJyArIHByb3BlcnR5VmFsdWVNYXAueXVuaXRzICsgJyknIDogJyc7XG5cbiAgICAgICAgY2hhcnQueEF4aXNcbiAgICAgICAgICAgIC5heGlzTGFiZWwoeGF4aXNsYWJlbClcbiAgICAgICAgICAgIC5heGlzTGFiZWxEaXN0YW5jZShwcm9wZXJ0eVZhbHVlTWFwLnhheGlzbGFiZWxkaXN0YW5jZSlcbiAgICAgICAgICAgIC5zdGFnZ2VyTGFiZWxzKHByb3BlcnR5VmFsdWVNYXAuc3RhZ2dlcmxhYmVscyk7XG5cbiAgICAgICAgLy8gSWYgZGF0ZSBmb3JtYXQgc2V0IGZvcm1hdCBiYXNlZCBkYXRlIGZvcm1hdFxuICAgICAgICBpZiAocHJvcGVydHlWYWx1ZU1hcC54ZGF0ZWZvcm1hdCB8fCAoaXNQcmV2aWV3ICYmICFpc0J1YmJsZUNoYXJ0KHdpZGdldENvbnRleHQudHlwZSkpKSB7XG4gICAgICAgICAgICBpZiAoaXNMaW5lVHlwZUNoYXJ0KHdpZGdldENvbnRleHQudHlwZSkpIHtcbiAgICAgICAgICAgICAgICBjaGFydC54QXhpcy50aWNrRm9ybWF0KGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBnZXQgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICB4QXhpc1ZhbHVlID0gaXNQcmV2aWV3ID8gZGF0ZUxpc3RbZCAtIDFdIDogd2lkZ2V0Q29udGV4dC54RGF0YUtleUFycltkXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldERhdGVGb3JtYXRlZERhdGEocHJvcGVydHlWYWx1ZU1hcC54ZGF0ZWZvcm1hdCwgeEF4aXNWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNoYXJ0LnhBeGlzLnRpY2tGb3JtYXQoZCA9PiBnZXREYXRlRm9ybWF0ZWREYXRhKHByb3BlcnR5VmFsdWVNYXAueGRhdGVmb3JtYXQsIGQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eVZhbHVlTWFwLnhudW1iZXJmb3JtYXQpIHtcbiAgICAgICAgICAgIGNoYXJ0LnhBeGlzLnRpY2tGb3JtYXQoZCA9PiBnZXROdW1iZXJGb3JtYXRlZERhdGEocHJvcGVydHlWYWx1ZU1hcC54bnVtYmVyZm9ybWF0LCBkKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoaXNMaW5lVHlwZUNoYXJ0KHdpZGdldENvbnRleHQudHlwZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBnZXQgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAgICAgICAgICAgIGNoYXJ0LnhBeGlzLnRpY2tGb3JtYXQoZCA9PiB3aWRnZXRDb250ZXh0LnhEYXRhS2V5QXJyW2RdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjaGFydC55QXhpc1xuICAgICAgICAgICAgLmF4aXNMYWJlbCh5YXhpc2xhYmVsKVxuICAgICAgICAgICAgLmF4aXNMYWJlbERpc3RhbmNlKHByb3BlcnR5VmFsdWVNYXAueWF4aXNsYWJlbGRpc3RhbmNlKVxuICAgICAgICAgICAgLnN0YWdnZXJMYWJlbHMocHJvcGVydHlWYWx1ZU1hcC5zdGFnZ2VybGFiZWxzKVxuICAgICAgICAgICAgLnRpY2tGb3JtYXQoZCA9PiBnZXROdW1iZXJGb3JtYXRlZERhdGEocHJvcGVydHlWYWx1ZU1hcD8ueW51bWJlcmZvcm1hdCwgZCkpO1xuICAgICAgICBpZiAoaXNCYXJDaGFydCh3aWRnZXRDb250ZXh0LnR5cGUpKSB7XG4gICAgICAgICAgICBjaGFydC52YWx1ZUZvcm1hdChkID0+IGdldE51bWJlckZvcm1hdGVkRGF0YShwcm9wZXJ0eVZhbHVlTWFwPy55bnVtYmVyZm9ybWF0LCBkKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdXBwb3J0IGZvciBjdXN0b20gY29sb3JzIGlmIHVzZXIgZ2l2ZXMgZGlyZWN0IHN0cmluZyBvZiBjb2xvcnMgaW4gdGV4dCBib3hcbiAgICBpZiAoaXNTdHJpbmcocHJvcGVydHlWYWx1ZU1hcC5jdXN0b21jb2xvcnMpICYmIHByb3BlcnR5VmFsdWVNYXAuY3VzdG9tY29sb3JzKSB7XG4gICAgICAgIGNvbG9ycyA9IHNwbGl0KHByb3BlcnR5VmFsdWVNYXAuY3VzdG9tY29sb3JzLCAnLCcpO1xuICAgIH1cbiAgICBpZiAoaXNBcnJheShwcm9wZXJ0eVZhbHVlTWFwLmN1c3RvbWNvbG9ycykpIHtcbiAgICAgICAgY29sb3JzID0gcHJvcGVydHlWYWx1ZU1hcC5jdXN0b21jb2xvcnM7XG4gICAgfVxuXG4gICAgc2hvd0xlZ2VuZCA9IGlzU2hvd0xlZ2VuZChwcm9wZXJ0eVZhbHVlTWFwLnNob3dsZWdlbmQpO1xuICAgIGNoYXJ0LnNob3dMZWdlbmQoc2hvd0xlZ2VuZClcbiAgICAgICAgLm1hcmdpbih7dG9wOiBwcm9wZXJ0eVZhbHVlTWFwLm9mZnNldHRvcCwgcmlnaHQ6IHByb3BlcnR5VmFsdWVNYXAub2Zmc2V0cmlnaHQsIGJvdHRvbTogcHJvcGVydHlWYWx1ZU1hcC5vZmZzZXRib3R0b20sIGxlZnQ6IHByb3BlcnR5VmFsdWVNYXAub2Zmc2V0bGVmdH0pXG4gICAgICAgIC5jb2xvcihjb2xvcnMubGVuZ3RoID8gY29sb3JzIDogdGhlbWVzW3Byb3BlcnR5VmFsdWVNYXAudGhlbWVdLmNvbG9ycyk7XG5cbiAgICBjaGFydC50b29sdGlwLmVuYWJsZWQocHJvcGVydHlWYWx1ZU1hcC50b29sdGlwcyk7XG4gICAgd2lkZ2V0Q29udGV4dC5tZXNzYWdlID0gcHJvcGVydHlWYWx1ZU1hcC5ub2RhdGFtZXNzYWdlIHx8ICdObyBkYXRhIGZvdW5kJztcbiAgICAvLyBzZXR0aW5nIHRoZSBubyBkYXRhIG1lc3NhZ2VcbiAgICBjaGFydC5ub0RhdGEod2lkZ2V0Q29udGV4dC5tZXNzYWdlKTtcblxuICAgIGlmIChpc0xpbmVUeXBlQ2hhcnQod2lkZ2V0Q29udGV4dC50eXBlKSAmJiB3aWRnZXRDb250ZXh0LmhpZ2hsaWdodHBvaW50cykge1xuICAgICAgICBjaGFydC5kaXNwYXRjaC5vbignc3RhdGVDaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHBvc3RQbG90Q2hhcnRQcm9jZXNzKHdpZGdldENvbnRleHQpLCAxMDApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAod2lkZ2V0Q29udGV4dC5zaG93bGVnZW5kICYmICh3aWRnZXRDb250ZXh0LnR5cGUgPT09ICdEb251dCcgfHwgd2lkZ2V0Q29udGV4dC50eXBlID09PSAnUGllJykpIHtcbiAgICAgICAgaWYod2lkZ2V0Q29udGV4dC5zaG93bGVnZW5kID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBjaGFydC5sZWdlbmRQb3NpdGlvbigncmlnaHQnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hhcnQ7XG59O1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgcG9zdFBsb3RDaGFydFByb2Nlc3MgPSAod2lkZ2V0Q29udGV4dCwgaXNQcmV2aWV3PykgPT4ge1xuICAgIGNvbnN0IGlkID0gaXNQcmV2aWV3ID8gbnVsbCA6IHdpZGdldENvbnRleHQuJGlkO1xuICAgIC8vIElmIHVzZXIgc2V0cyB0byBoaWdobGlnaHQgdGhlIGRhdGEgcG9pbnRzIGFuZCBpbmNyZWFzZSB0aGUgdGhpY2tuZXNzIG9mIHRoZSBsaW5lXG4gICAgaWYgKGlzTGluZVR5cGVDaGFydCh3aWRnZXRDb250ZXh0LnR5cGUpKSB7XG4gICAgICAgc2V0TGluZVRoaWNrbmVzcyhpZCwgd2lkZ2V0Q29udGV4dC5saW5ldGhpY2tuZXNzKTtcbiAgICAgICBoaWdobGlnaHRQb2ludHMoaWQsIHdpZGdldENvbnRleHQuaGlnaGxpZ2h0cG9pbnRzKTtcbiAgICB9XG4gICAgLy8gTW9kaWZ5aW5nIHRoZSBsZWdlbmQgcG9zaXRpb24gb25seSB3aGVuIGxlZ2VuZCBpcyBzaG93blxuICAgIC8vIGlmICh3aWRnZXRDb250ZXh0LnNob3dsZWdlbmQpIHtcbiAgICAvLyAgICAgbW9kaWZ5TGVnZW5kUG9zaXRpb24od2lkZ2V0Q29udGV4dCwgd2lkZ2V0Q29udGV4dC5zaG93bGVnZW5kLCBpZCk7XG4gICAgLy8gfVxufTtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IGdldERhdGVMaXN0ID0gKCkgPT4gZGF0ZUxpc3Q7XG5cbiJdfQ==
|