@wavemaker/app-ng-runtime 11.10.5-rc.6100 → 11.11.0-1.6137
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/bundles/index.umd.js +94 -68
- package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +8 -8
- package/build-task/esm2022/containers/repeat-template.build.mjs +5 -5
- package/build-task/esm2022/containers/wizard/wizard-step/wizard-step.build.mjs +2 -2
- package/build-task/esm2022/containers/wizard/wizard.build.mjs +33 -4
- package/build-task/esm2022/data/form/form-field/form-field.build.mjs +10 -10
- package/build-task/esm2022/data/table/table-column/table-column.build.mjs +15 -11
- package/build-task/esm2022/page/page.build.mjs +2 -8
- package/build-task/esm2022/public_api.mjs +1 -1
- package/build-task/fesm2022/index.mjs +95 -69
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/bundles/index.umd.js +8 -36
- package/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +1 -1
- package/components/advanced/carousel/carousel.directive.d.ts +1 -1
- package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +3 -2
- package/components/advanced/carousel/esm2022/carousel.directive.mjs +3 -2
- package/components/advanced/carousel/esm2022/public_api.mjs +1 -2
- package/components/advanced/carousel/fesm2022/index.mjs +8 -36
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/public_api.d.ts +0 -1
- package/components/advanced/custom/bundles/index.umd.js +8 -33
- package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +1 -1
- package/components/advanced/custom/custom-widget.directive.d.ts +1 -1
- package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +3 -2
- package/components/advanced/custom/esm2022/custom-widget.directive.mjs +3 -2
- package/components/advanced/custom/esm2022/public_api.mjs +1 -2
- package/components/advanced/custom/fesm2022/index.mjs +7 -32
- package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
- package/components/advanced/custom/public_api.d.ts +0 -1
- package/components/advanced/login/bundles/index.umd.js +10 -34
- package/components/advanced/login/esm2022/login.component.mjs +7 -6
- package/components/advanced/login/esm2022/public_api.mjs +1 -2
- package/components/advanced/login/fesm2022/index.mjs +8 -32
- package/components/advanced/login/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/login.component.d.ts +1 -1
- package/components/advanced/login/public_api.d.ts +0 -1
- package/components/advanced/marquee/bundles/index.umd.js +6 -29
- package/components/advanced/marquee/esm2022/marquee.directive.mjs +3 -2
- package/components/advanced/marquee/esm2022/public_api.mjs +1 -2
- package/components/advanced/marquee/fesm2022/index.mjs +5 -28
- package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- package/components/advanced/marquee/marquee.directive.d.ts +1 -1
- package/components/advanced/marquee/public_api.d.ts +0 -1
- package/components/base/bundles/index.umd.js +86 -278
- package/components/base/components.module.d.ts +13 -15
- package/components/base/directives/show-in-device.directive.d.ts +1 -1
- package/components/base/esm2022/components.module.mjs +7 -13
- package/components/base/esm2022/directives/show-in-device.directive.mjs +3 -2
- package/components/base/esm2022/pipes/custom-pipes.mjs +33 -16
- package/components/base/esm2022/pipes/image.pipe.mjs +3 -2
- package/components/base/esm2022/pipes/sanitize.pipe.mjs +3 -2
- package/components/base/esm2022/pipes/trust-as.pipe.mjs +3 -2
- package/components/base/esm2022/public_api.mjs +1 -2
- package/components/base/esm2022/utils/form-utils.mjs +3 -1
- package/components/base/esm2022/utils/live-utils.mjs +3 -7
- package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +4 -2
- package/components/base/esm2022/widgets/common/base/base.component.mjs +3 -5
- package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +3 -2
- package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
- package/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -2
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +3 -2
- package/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -3
- package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +3 -2
- package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -2
- package/components/base/esm2022/widgets/common/message/message.component.mjs +5 -5
- package/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
- package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +5 -3
- package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +3 -2
- package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +3 -2
- package/components/base/fesm2022/index.mjs +85 -276
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/pipes/custom-pipes.d.ts +15 -15
- package/components/base/pipes/image.pipe.d.ts +1 -1
- package/components/base/pipes/sanitize.pipe.d.ts +1 -1
- package/components/base/pipes/trust-as.pipe.d.ts +1 -1
- package/components/base/public_api.d.ts +0 -1
- package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +1 -1
- package/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
- package/components/base/widgets/common/base/text-content.directive.d.ts +1 -1
- package/components/base/widgets/common/container/container.directive.d.ts +1 -1
- package/components/base/widgets/common/item-template/item-template.directive.d.ts +1 -1
- package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
- package/components/base/widgets/common/message/message.component.d.ts +1 -1
- package/components/base/widgets/common/partial/partial.directive.d.ts +1 -1
- package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +2 -2
- package/components/base/widgets/common/redraw/redrawable.directive.d.ts +1 -1
- package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +1 -1
- package/components/basic/default/anchor/anchor.component.d.ts +1 -1
- package/components/basic/default/audio/audio.component.d.ts +1 -1
- package/components/basic/default/bundles/index.umd.js +100 -148
- package/components/basic/default/esm2022/anchor/anchor.component.mjs +23 -21
- package/components/basic/default/esm2022/audio/audio.component.mjs +7 -6
- package/components/basic/default/esm2022/html/html.directive.mjs +3 -2
- package/components/basic/default/esm2022/icon/icon.component.mjs +17 -16
- package/components/basic/default/esm2022/iframe/iframe.component.mjs +14 -13
- package/components/basic/default/esm2022/label/label.directive.mjs +3 -2
- package/components/basic/default/esm2022/picture/picture.directive.mjs +3 -2
- package/components/basic/default/esm2022/picture/picture.props.mjs +1 -5
- package/components/basic/default/esm2022/public_api.mjs +1 -2
- package/components/basic/default/esm2022/spinner/spinner.component.mjs +26 -24
- package/components/basic/default/esm2022/video/video.component.mjs +19 -18
- package/components/basic/default/fesm2022/index.mjs +101 -148
- package/components/basic/default/fesm2022/index.mjs.map +1 -1
- package/components/basic/default/html/html.directive.d.ts +1 -1
- package/components/basic/default/icon/icon.component.d.ts +1 -1
- package/components/basic/default/iframe/iframe.component.d.ts +1 -1
- package/components/basic/default/label/label.directive.d.ts +1 -1
- package/components/basic/default/picture/picture.directive.d.ts +1 -1
- package/components/basic/default/public_api.d.ts +0 -1
- package/components/basic/default/spinner/spinner.component.d.ts +1 -1
- package/components/basic/default/video/video.component.d.ts +1 -1
- package/components/basic/progress/bundles/index.umd.js +20 -51
- package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +12 -11
- package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
- package/components/basic/progress/esm2022/public_api.mjs +1 -2
- package/components/basic/progress/fesm2022/index.mjs +19 -49
- package/components/basic/progress/fesm2022/index.mjs.map +1 -1
- package/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -1
- package/components/basic/progress/progress-circle/progress-circle.component.d.ts +1 -1
- package/components/basic/progress/public_api.d.ts +0 -1
- package/components/basic/rich-text-editor/bundles/index.umd.js +15 -40
- package/components/basic/rich-text-editor/esm2022/public_api.mjs +1 -2
- package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +13 -12
- package/components/basic/rich-text-editor/fesm2022/index.mjs +13 -37
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- package/components/basic/rich-text-editor/public_api.d.ts +0 -1
- package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
- package/components/basic/search/bundles/index.umd.js +170 -207
- package/components/basic/search/esm2022/public_api.mjs +1 -2
- package/components/basic/search/esm2022/scrollable.directive.mjs +3 -2
- package/components/basic/search/esm2022/search.component.mjs +76 -72
- package/components/basic/search/fesm2022/index.mjs +107 -143
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/public_api.d.ts +0 -1
- package/components/basic/search/scrollable.directive.d.ts +1 -1
- package/components/basic/search/search.component.d.ts +1 -1
- package/components/basic/tree/bundles/index.umd.js +9 -33
- package/components/basic/tree/esm2022/public_api.mjs +1 -2
- package/components/basic/tree/esm2022/tree.component.mjs +7 -6
- package/components/basic/tree/fesm2022/index.mjs +8 -32
- package/components/basic/tree/fesm2022/index.mjs.map +1 -1
- package/components/basic/tree/public_api.d.ts +0 -1
- package/components/basic/tree/tree.component.d.ts +1 -1
- package/components/chart/bundles/index.umd.js +27 -53
- package/components/chart/chart.component.d.ts +1 -1
- package/components/chart/esm2022/chart.component.mjs +26 -24
- package/components/chart/esm2022/chart.utils.mjs +3 -1
- package/components/chart/esm2022/public_api.mjs +1 -2
- package/components/chart/fesm2022/index.mjs +27 -52
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/chart/public_api.d.ts +0 -1
- package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -1
- package/components/containers/accordion/accordion.directive.d.ts +1 -1
- package/components/containers/accordion/bundles/index.umd.js +208 -237
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -11
- package/components/containers/accordion/esm2022/accordion.directive.mjs +5 -4
- package/components/containers/accordion/esm2022/public_api.mjs +1 -2
- package/components/containers/accordion/fesm2022/index.mjs +189 -217
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/public_api.d.ts +0 -1
- package/components/containers/layout-grid/bundles/index.umd.js +13 -43
- package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +7 -9
- package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +3 -2
- package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +3 -2
- package/components/containers/layout-grid/esm2022/public_api.mjs +1 -2
- package/components/containers/layout-grid/fesm2022/index.mjs +13 -43
- package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- package/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +1 -1
- package/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +1 -1
- package/components/containers/layout-grid/layout-grid.directive.d.ts +1 -1
- package/components/containers/layout-grid/public_api.d.ts +0 -1
- package/components/containers/linear-layout/bundles/index.umd.js +8 -33
- package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +3 -2
- package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +3 -2
- package/components/containers/linear-layout/esm2022/public_api.mjs +1 -2
- package/components/containers/linear-layout/fesm2022/index.mjs +7 -32
- package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- package/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +1 -1
- package/components/containers/linear-layout/linear-layout.directive.d.ts +1 -1
- package/components/containers/linear-layout/public_api.d.ts +0 -1
- package/components/containers/panel/bundles/index.umd.js +87 -118
- package/components/containers/panel/esm2022/panel.component.mjs +48 -46
- package/components/containers/panel/esm2022/public_api.mjs +1 -2
- package/components/containers/panel/fesm2022/index.mjs +49 -79
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/panel.component.d.ts +1 -1
- package/components/containers/panel/public_api.d.ts +0 -1
- package/components/containers/tabs/bundles/index.umd.js +112 -120
- package/components/containers/tabs/esm2022/public_api.mjs +1 -2
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +8 -10
- package/components/containers/tabs/esm2022/tabs.component.mjs +61 -38
- package/components/containers/tabs/esm2022/tabs.props.mjs +2 -5
- package/components/containers/tabs/fesm2022/index.mjs +72 -81
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/public_api.d.ts +0 -1
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +1 -1
- package/components/containers/tabs/tabs.component.d.ts +3 -1
- package/components/containers/tile/bundles/index.umd.js +6 -29
- package/components/containers/tile/esm2022/public_api.mjs +1 -2
- package/components/containers/tile/esm2022/tile.directive.mjs +3 -2
- package/components/containers/tile/fesm2022/index.mjs +5 -28
- package/components/containers/tile/fesm2022/index.mjs.map +1 -1
- package/components/containers/tile/public_api.d.ts +0 -1
- package/components/containers/tile/tile.directive.d.ts +1 -1
- package/components/containers/wizard/bundles/index.umd.js +355 -189
- package/components/containers/wizard/esm2022/public_api.mjs +2 -3
- package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +3 -2
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +176 -0
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.props.mjs +8 -5
- package/components/containers/wizard/esm2022/wizard.component.mjs +264 -105
- package/components/containers/wizard/esm2022/wizard.props.mjs +8 -4
- package/components/containers/wizard/fesm2022/index.mjs +323 -155
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/public_api.d.ts +1 -2
- package/components/containers/wizard/wizard-action/wizard-action.directive.d.ts +1 -1
- package/components/containers/wizard/wizard-step/{wizard-step.directive.d.ts → wizard-step.component.d.ts} +12 -6
- package/components/containers/wizard/wizard.component.d.ts +64 -18
- package/components/data/card/bundles/index.umd.js +92 -135
- package/components/data/card/card-actions/card-actions.directive.d.ts +1 -1
- package/components/data/card/card-content/card-content.component.d.ts +1 -1
- package/components/data/card/card-footer/card-footer.directive.d.ts +1 -1
- package/components/data/card/card.component.d.ts +1 -1
- package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +3 -2
- package/components/data/card/esm2022/card-content/card-content.component.mjs +7 -6
- package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +3 -2
- package/components/data/card/esm2022/card.component.mjs +39 -38
- package/components/data/card/esm2022/public_api.mjs +1 -2
- package/components/data/card/fesm2022/index.mjs +49 -92
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/card/public_api.d.ts +0 -1
- package/components/data/form/bundles/index.umd.js +115 -182
- package/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +3 -2
- package/components/data/form/esm2022/form-widget.directive.mjs +3 -2
- package/components/data/form/esm2022/form.component.mjs +101 -104
- package/components/data/form/esm2022/form.props.mjs +1 -11
- package/components/data/form/esm2022/live-actions/dependson.directive.mjs +3 -2
- package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +3 -2
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
- package/components/data/form/esm2022/live-form/live-form.directive.mjs +3 -6
- package/components/data/form/esm2022/public_api.mjs +1 -2
- package/components/data/form/fesm2022/index.mjs +117 -184
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/form-action/form-action.directive.d.ts +1 -1
- package/components/data/form/form-field/form-field.directive.d.ts +1 -1
- package/components/data/form/form-widget.directive.d.ts +1 -1
- package/components/data/form/form.component.d.ts +1 -1
- package/components/data/form/live-actions/dependson.directive.d.ts +1 -1
- package/components/data/form/live-actions/live-actions.directive.d.ts +1 -1
- package/components/data/form/live-filter/live-filter.directive.d.ts +1 -1
- package/components/data/form/live-form/live-form.directive.d.ts +1 -1
- package/components/data/form/public_api.d.ts +0 -1
- package/components/data/list/bundles/index.umd.js +195 -504
- package/components/data/list/esm2022/list-item.directive.mjs +4 -3
- package/components/data/list/esm2022/list.component.mjs +187 -232
- package/components/data/list/esm2022/list.props.mjs +2 -3
- package/components/data/list/esm2022/public_api.mjs +1 -2
- package/components/data/list/fesm2022/index.mjs +193 -502
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/list-item.directive.d.ts +1 -1
- package/components/data/list/list.component.d.ts +1 -1
- package/components/data/list/public_api.d.ts +0 -1
- package/components/data/live-table/bundles/index.umd.js +9 -33
- package/components/data/live-table/esm2022/live-table.component.mjs +7 -6
- package/components/data/live-table/esm2022/public_api.mjs +1 -2
- package/components/data/live-table/fesm2022/index.mjs +8 -32
- package/components/data/live-table/fesm2022/index.mjs.map +1 -1
- package/components/data/live-table/live-table.component.d.ts +1 -1
- package/components/data/live-table/public_api.d.ts +0 -1
- package/components/data/pagination/bundles/index.umd.js +80 -110
- package/components/data/pagination/esm2022/pagination.component.mjs +80 -76
- package/components/data/pagination/esm2022/public_api.mjs +1 -2
- package/components/data/pagination/fesm2022/index.mjs +81 -110
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/pagination.component.d.ts +1 -1
- package/components/data/pagination/public_api.d.ts +0 -1
- package/components/data/table/bundles/index.umd.js +69 -135
- package/components/data/table/esm2022/public_api.mjs +1 -2
- package/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
- package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -2
- package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +3 -2
- package/components/data/table/esm2022/table-cud.directive.mjs +3 -2
- package/components/data/table/esm2022/table-filter.directive.mjs +5 -2
- package/components/data/table/esm2022/table-row/table-row.directive.mjs +3 -2
- package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
- package/components/data/table/esm2022/table.component.mjs +51 -48
- package/components/data/table/fesm2022/index.mjs +73 -140
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/public_api.d.ts +0 -1
- package/components/data/table/table-action/table-action.directive.d.ts +1 -1
- package/components/data/table/table-column/table-column.directive.d.ts +1 -1
- package/components/data/table/table-column-group/table-column-group.directive.d.ts +1 -1
- package/components/data/table/table-cud.directive.d.ts +1 -1
- package/components/data/table/table-filter.directive.d.ts +1 -1
- package/components/data/table/table-row/table-row.directive.d.ts +1 -1
- package/components/data/table/table-row-action/table-row-action.directive.d.ts +1 -1
- package/components/data/table/table.component.d.ts +1 -1
- package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +1 -1
- package/components/dialogs/alert-dialog/bundles/index.umd.js +32 -64
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +10 -10
- package/components/dialogs/alert-dialog/esm2022/public_api.mjs +1 -2
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +11 -43
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/public_api.d.ts +0 -1
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +10 -42
- package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +1 -1
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -9
- package/components/dialogs/confirm-dialog/esm2022/public_api.mjs +1 -2
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +10 -42
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/confirm-dialog/public_api.d.ts +0 -1
- package/components/dialogs/default/bundles/index.umd.js +76 -136
- package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +1 -1
- package/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +1 -1
- package/components/dialogs/default/dialog-header/dialog-header.component.d.ts +1 -1
- package/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
- package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +3 -2
- package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +3 -2
- package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +70 -97
- package/components/dialogs/default/esm2022/public_api.mjs +1 -2
- package/components/dialogs/default/fesm2022/index.mjs +78 -137
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/default/public_api.d.ts +0 -1
- package/components/dialogs/design-dialog/bundles/index.umd.js +16 -47
- package/components/dialogs/design-dialog/dialog.component.d.ts +1 -1
- package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +14 -13
- package/components/dialogs/design-dialog/esm2022/public_api.mjs +1 -2
- package/components/dialogs/design-dialog/fesm2022/index.mjs +14 -45
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/public_api.d.ts +0 -1
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -57
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -21
- package/components/dialogs/iframe-dialog/esm2022/public_api.mjs +1 -2
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +21 -57
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +1 -1
- package/components/dialogs/iframe-dialog/public_api.d.ts +0 -1
- package/components/dialogs/login-dialog/bundles/index.umd.js +6 -38
- package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +3 -2
- package/components/dialogs/login-dialog/esm2022/public_api.mjs +1 -2
- package/components/dialogs/login-dialog/fesm2022/index.mjs +6 -41
- package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/login-dialog/login-dialog.directive.d.ts +1 -1
- package/components/dialogs/login-dialog/public_api.d.ts +0 -1
- package/components/dialogs/partial-dialog/bundles/index.umd.js +17 -49
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +16 -15
- package/components/dialogs/partial-dialog/esm2022/public_api.mjs +1 -2
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +16 -47
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +1 -1
- package/components/dialogs/partial-dialog/public_api.d.ts +0 -1
- package/components/input/calendar/bundles/index.umd.js +24 -46
- package/components/input/calendar/calendar.component.d.ts +1 -1
- package/components/input/calendar/esm2022/calendar.component.mjs +28 -10
- package/components/input/calendar/esm2022/calendar.props.mjs +1 -1
- package/components/input/calendar/esm2022/public_api.mjs +1 -2
- package/components/input/calendar/fesm2022/index.mjs +30 -48
- package/components/input/calendar/fesm2022/index.mjs.map +1 -1
- package/components/input/calendar/public_api.d.ts +0 -1
- package/components/input/chips/bundles/index.umd.js +86 -114
- package/components/input/chips/chips.component.d.ts +1 -1
- package/components/input/chips/esm2022/chips.component.mjs +28 -27
- package/components/input/chips/esm2022/public_api.mjs +1 -2
- package/components/input/chips/fesm2022/index.mjs +29 -56
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/public_api.d.ts +0 -1
- package/components/input/color-picker/bundles/index.umd.js +14 -42
- package/components/input/color-picker/color-picker.component.d.ts +1 -1
- package/components/input/color-picker/esm2022/color-picker.component.mjs +14 -8
- package/components/input/color-picker/esm2022/public_api.mjs +1 -2
- package/components/input/color-picker/fesm2022/index.mjs +15 -42
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/public_api.d.ts +0 -1
- package/components/input/currency/bundles/index.umd.js +11 -41
- package/components/input/currency/currency.component.d.ts +1 -1
- package/components/input/currency/esm2022/currency.component.mjs +8 -6
- package/components/input/currency/esm2022/public_api.mjs +1 -2
- package/components/input/currency/fesm2022/index.mjs +11 -41
- package/components/input/currency/fesm2022/index.mjs.map +1 -1
- package/components/input/currency/public_api.d.ts +0 -1
- package/components/input/default/bundles/index.umd.js +2183 -2263
- package/components/input/default/button/button.component.d.ts +1 -1
- package/components/input/default/button-group/button-group.directive.d.ts +1 -1
- package/components/input/default/caption-position.directive.d.ts +1 -1
- package/components/input/default/checkbox/checkbox.component.d.ts +1 -1
- package/components/input/default/checkboxset/checkboxset.component.d.ts +1 -1
- package/components/input/default/composite/composite.directive.d.ts +1 -1
- package/components/input/default/esm2022/button/button.component.mjs +23 -21
- package/components/input/default/esm2022/button-group/button-group.directive.mjs +3 -2
- package/components/input/default/esm2022/caption-position.directive.mjs +3 -2
- package/components/input/default/esm2022/checkbox/checkbox.component.mjs +9 -6
- package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +73 -72
- package/components/input/default/esm2022/composite/composite.directive.mjs +3 -2
- package/components/input/default/esm2022/number/number.component.mjs +9 -6
- package/components/input/default/esm2022/public_api.mjs +1 -2
- package/components/input/default/esm2022/radioset/radioset.component.mjs +73 -72
- package/components/input/default/esm2022/select/select.component.mjs +29 -32
- package/components/input/default/esm2022/switch/switch.component.mjs +29 -27
- package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +9 -6
- package/components/input/default/esm2022/text/color/input-color.component.mjs +9 -6
- package/components/input/default/esm2022/text/email/input-email.component.mjs +9 -6
- package/components/input/default/esm2022/text/number/input-number.component.mjs +9 -6
- package/components/input/default/esm2022/text/text/input-text.component.mjs +10 -6
- package/components/input/default/esm2022/textarea/textarea.component.mjs +14 -11
- package/components/input/default/fesm2022/index.mjs +2198 -2277
- package/components/input/default/fesm2022/index.mjs.map +1 -1
- package/components/input/default/number/number.component.d.ts +1 -1
- package/components/input/default/public_api.d.ts +0 -1
- package/components/input/default/radioset/radioset.component.d.ts +1 -1
- package/components/input/default/select/select.component.d.ts +1 -1
- package/components/input/default/switch/switch.component.d.ts +1 -1
- package/components/input/default/text/calendar/input-calendar.component.d.ts +1 -1
- package/components/input/default/text/color/input-color.component.d.ts +1 -1
- package/components/input/default/text/email/input-email.component.d.ts +1 -1
- package/components/input/default/text/number/input-number.component.d.ts +1 -1
- package/components/input/default/text/text/input-text.component.d.ts +1 -1
- package/components/input/default/textarea/textarea.component.d.ts +1 -1
- package/components/input/epoch/base-date-time.component.d.ts +0 -1
- package/components/input/epoch/bundles/index.umd.js +220 -262
- package/components/input/epoch/date/date.component.d.ts +1 -1
- package/components/input/epoch/date/imaskUtil.d.ts +2 -2
- package/components/input/epoch/date-time/date-time-picker.component.d.ts +6 -6
- package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
- package/components/input/epoch/esm2022/base-date-time.component.mjs +6 -9
- package/components/input/epoch/esm2022/date/date.component.mjs +19 -18
- package/components/input/epoch/esm2022/date/imaskUtil.mjs +3 -1
- package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +76 -62
- package/components/input/epoch/esm2022/date-time/date-time.component.mjs +28 -24
- package/components/input/epoch/esm2022/picker/picker.component.mjs +33 -28
- package/components/input/epoch/esm2022/public_api.mjs +1 -2
- package/components/input/epoch/esm2022/time/time.component.mjs +25 -21
- package/components/input/epoch/fesm2022/index.mjs +196 -237
- package/components/input/epoch/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/picker/picker.component.d.ts +2 -2
- package/components/input/epoch/public_api.d.ts +0 -1
- package/components/input/epoch/time/time.component.d.ts +1 -1
- package/components/input/file-upload/bundles/index.umd.js +135 -178
- package/components/input/file-upload/esm2022/file-upload.component.mjs +133 -150
- package/components/input/file-upload/esm2022/public_api.mjs +1 -2
- package/components/input/file-upload/fesm2022/index.mjs +133 -175
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/file-upload.component.d.ts +1 -2
- package/components/input/file-upload/public_api.d.ts +0 -1
- package/components/input/rating/bundles/index.umd.js +50 -77
- package/components/input/rating/esm2022/public_api.mjs +1 -2
- package/components/input/rating/esm2022/rating.component.mjs +23 -20
- package/components/input/rating/fesm2022/index.mjs +23 -49
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/public_api.d.ts +0 -1
- package/components/input/rating/rating.component.d.ts +1 -1
- package/components/input/slider/bundles/index.umd.js +35 -63
- package/components/input/slider/esm2022/public_api.mjs +1 -2
- package/components/input/slider/esm2022/slider.component.mjs +15 -13
- package/components/input/slider/fesm2022/index.mjs +15 -42
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/public_api.d.ts +0 -1
- package/components/input/slider/slider.component.d.ts +1 -1
- package/components/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/components/navigation/breadcrumb/bundles/index.umd.js +40 -67
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +23 -21
- package/components/navigation/breadcrumb/esm2022/public_api.mjs +1 -2
- package/components/navigation/breadcrumb/fesm2022/index.mjs +23 -50
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/breadcrumb/public_api.d.ts +0 -1
- package/components/navigation/menu/bundles/index.umd.js +642 -696
- package/components/navigation/menu/esm2022/menu-adapator.component.mjs +1 -1
- package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +11 -9
- package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +24 -18
- package/components/navigation/menu/esm2022/menu.component.mjs +34 -31
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +3 -2
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +39 -29
- package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +6 -3
- package/components/navigation/menu/esm2022/public_api.mjs +1 -2
- package/components/navigation/menu/fesm2022/index.mjs +534 -587
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +1 -1
- package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +1 -1
- package/components/navigation/menu/menu.component.d.ts +1 -1
- package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +1 -1
- package/components/navigation/menu/nav/nav.component.d.ts +1 -1
- package/components/navigation/menu/nav/navigation-control.directive.d.ts +1 -1
- package/components/navigation/menu/public_api.d.ts +0 -1
- package/components/navigation/navbar/bundles/index.umd.js +20 -44
- package/components/navigation/navbar/esm2022/navbar.component.mjs +18 -16
- package/components/navigation/navbar/esm2022/public_api.mjs +1 -2
- package/components/navigation/navbar/fesm2022/index.mjs +18 -41
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/navbar.component.d.ts +1 -1
- package/components/navigation/navbar/public_api.d.ts +0 -1
- package/components/navigation/popover/bundles/index.umd.js +12 -43
- package/components/navigation/popover/esm2022/popover.component.mjs +11 -9
- package/components/navigation/popover/esm2022/public_api.mjs +1 -2
- package/components/navigation/popover/fesm2022/index.mjs +11 -41
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/popover.component.d.ts +1 -1
- package/components/navigation/popover/public_api.d.ts +0 -1
- package/components/page/default/bundles/index.umd.js +96 -138
- package/components/page/default/content/content.component.d.ts +1 -1
- package/components/page/default/esm2022/content/content.component.mjs +7 -6
- package/components/page/default/esm2022/layout.directive.mjs +3 -2
- package/components/page/default/esm2022/page-content/page-content.component.mjs +7 -6
- package/components/page/default/esm2022/page-content/page-content.props.mjs +2 -3
- package/components/page/default/esm2022/page.directive.mjs +3 -2
- package/components/page/default/esm2022/public_api.mjs +1 -2
- package/components/page/default/esm2022/router-outlet.directive.mjs +3 -2
- package/components/page/default/esm2022/spa-page.directive.mjs +3 -2
- package/components/page/default/fesm2022/index.mjs +96 -138
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/default/layout.directive.d.ts +1 -1
- package/components/page/default/page-content/page-content.component.d.ts +1 -1
- package/components/page/default/page.directive.d.ts +1 -1
- package/components/page/default/public_api.d.ts +0 -1
- package/components/page/default/router-outlet.directive.d.ts +1 -1
- package/components/page/default/spa-page.directive.d.ts +1 -1
- package/components/page/footer/bundles/index.umd.js +6 -29
- package/components/page/footer/esm2022/footer.directive.mjs +3 -2
- package/components/page/footer/esm2022/public_api.mjs +1 -2
- package/components/page/footer/fesm2022/index.mjs +5 -28
- package/components/page/footer/fesm2022/index.mjs.map +1 -1
- package/components/page/footer/footer.directive.d.ts +1 -1
- package/components/page/footer/public_api.d.ts +0 -1
- package/components/page/header/bundles/index.umd.js +9 -33
- package/components/page/header/esm2022/header.component.mjs +7 -6
- package/components/page/header/esm2022/public_api.mjs +1 -2
- package/components/page/header/fesm2022/index.mjs +8 -32
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/header.component.d.ts +1 -1
- package/components/page/header/public_api.d.ts +0 -1
- package/components/page/left-panel/bundles/index.umd.js +6 -29
- package/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -2
- package/components/page/left-panel/esm2022/public_api.mjs +1 -2
- package/components/page/left-panel/fesm2022/index.mjs +5 -28
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/left-panel/left-panel.directive.d.ts +1 -1
- package/components/page/left-panel/public_api.d.ts +0 -1
- package/components/page/right-panel/bundles/index.umd.js +6 -29
- package/components/page/right-panel/esm2022/public_api.mjs +1 -2
- package/components/page/right-panel/esm2022/right-panel.directive.mjs +3 -2
- package/components/page/right-panel/fesm2022/index.mjs +5 -28
- package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/right-panel/public_api.d.ts +0 -1
- package/components/page/right-panel/right-panel.directive.d.ts +1 -1
- package/components/page/top-nav/bundles/index.umd.js +6 -29
- package/components/page/top-nav/esm2022/public_api.mjs +1 -2
- package/components/page/top-nav/esm2022/top-nav.directive.mjs +3 -2
- package/components/page/top-nav/fesm2022/index.mjs +5 -28
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- package/components/page/top-nav/public_api.d.ts +0 -1
- package/components/page/top-nav/top-nav.directive.d.ts +1 -1
- package/components/prefab/bundles/index.umd.js +8 -33
- package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
- package/components/prefab/esm2022/prefab.directive.mjs +3 -2
- package/components/prefab/esm2022/public_api.mjs +1 -2
- package/components/prefab/fesm2022/index.mjs +7 -32
- package/components/prefab/fesm2022/index.mjs.map +1 -1
- package/components/prefab/prefab-container/prefab-container.directive.d.ts +1 -1
- package/components/prefab/prefab.directive.d.ts +1 -1
- package/components/prefab/public_api.d.ts +0 -1
- package/core/bundles/index.umd.js +32 -85
- package/core/esm2022/public_api.mjs +2 -3
- package/core/esm2022/types/types.mjs +1 -1
- package/core/esm2022/utils/build-utils.mjs +9 -5
- package/core/esm2022/utils/utils.mjs +12 -40
- package/core/fesm2022/index.mjs +32 -81
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/public_api.d.ts +1 -2
- package/core/types/types.d.ts +1 -0
- package/core/utils/utils.d.ts +1 -3
- package/http/bundles/index.umd.js +9 -34
- package/http/esm2022/http.service.mjs +6 -3
- package/http/esm2022/public_api.mjs +4 -2
- package/http/fesm2022/index.mjs +9 -34
- package/http/fesm2022/index.mjs.map +1 -1
- package/http/public_api.d.ts +3 -1
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/bundles/index.umd.js +9 -42
- package/oAuth/esm2022/oAuth.utils.mjs +7 -23
- package/oAuth/esm2022/public_api.mjs +1 -2
- package/oAuth/fesm2022/index.mjs +8 -40
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/public_api.d.ts +0 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +690 -596
- package/runtime/base/components/app-component/app.component.d.ts +1 -1
- package/runtime/base/components/app-spinner.component.d.ts +1 -1
- package/runtime/base/components/custom-toaster.component.d.ts +1 -1
- package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -1
- package/runtime/base/components/prefab-preview.component.d.ts +1 -1
- package/runtime/base/directives/accessroles.directive.d.ts +1 -1
- package/runtime/base/directives/prefab.directive.d.ts +1 -1
- package/runtime/base/esm2022/components/app-component/app.component.mjs +42 -49
- package/runtime/base/esm2022/components/app-spinner.component.mjs +29 -21
- package/runtime/base/esm2022/components/base-page.component.mjs +3 -11
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -11
- package/runtime/base/esm2022/components/custom-toaster.component.mjs +20 -14
- package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
- package/runtime/base/esm2022/components/prefab-preview.component.mjs +8 -6
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +3 -2
- package/runtime/base/esm2022/directives/prefab.directive.mjs +3 -2
- package/runtime/base/esm2022/public_api.mjs +1 -1
- package/runtime/base/esm2022/resolves/security-config.resolve.mjs +4 -6
- package/runtime/base/esm2022/runtime-base.module.mjs +486 -337
- package/runtime/base/esm2022/services/app.manager.service.mjs +31 -48
- package/runtime/base/esm2022/services/app.service.mjs +8 -1
- package/runtime/base/esm2022/services/i18n.service.mjs +39 -72
- package/runtime/base/fesm2022/index.mjs +697 -605
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/runtime-base.module.d.ts +115 -84
- package/runtime/base/services/app.service.d.ts +1 -0
- package/runtime/base/services/i18n.service.d.ts +1 -1
- package/runtime/dynamic/app/app.config.d.ts +5 -0
- package/runtime/dynamic/app/components/page-wrapper.component.d.ts +1 -1
- package/runtime/dynamic/bundles/index.umd.js +270 -117
- package/runtime/dynamic/esm2022/app/app.config.mjs +136 -0
- package/runtime/dynamic/esm2022/app/app.module.mjs +151 -105
- package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +7 -4
- package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +1 -1
- package/runtime/dynamic/esm2022/main.mjs +11 -16
- package/runtime/dynamic/fesm2022/index.mjs +340 -184
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/security/bundles/index.umd.js +3 -34
- package/security/esm2022/public_api.mjs +1 -2
- package/security/esm2022/security.service.mjs +4 -15
- package/security/fesm2022/index.mjs +5 -32
- package/security/fesm2022/index.mjs.map +1 -1
- package/security/public_api.d.ts +0 -1
- package/transpiler/bundles/index.umd.js +271 -168
- package/transpiler/esm2022/build.mjs +1 -6
- package/transpiler/esm2022/imports.mjs +268 -161
- package/transpiler/fesm2022/index.mjs +267 -165
- package/transpiler/fesm2022/index.mjs.map +1 -1
- package/variables/bundles/index.umd.js +16 -197
- package/variables/constants/variables.constants.d.ts +0 -2
- package/variables/esm2022/constants/variables.constants.mjs +1 -3
- package/variables/esm2022/factory/variable-manager.factory.mjs +1 -3
- package/variables/esm2022/factory/variable.factory.mjs +1 -5
- package/variables/esm2022/manager/action/logout-action.manager.mjs +5 -7
- package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +3 -3
- package/variables/esm2022/public_api.mjs +1 -5
- package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -11
- package/variables/esm2022/util/variable/service-variable.utils.mjs +1 -4
- package/variables/esm2022/util/variable/variables.utils.mjs +5 -19
- package/variables/fesm2022/index.mjs +16 -198
- package/variables/fesm2022/index.mjs.map +1 -1
- package/variables/public_api.d.ts +0 -4
- package/components/advanced/carousel/carousel.module.d.ts +0 -11
- package/components/advanced/carousel/esm2022/carousel.module.mjs +0 -36
- package/components/advanced/custom/custom-widget.module.d.ts +0 -10
- package/components/advanced/custom/esm2022/custom-widget.module.mjs +0 -32
- package/components/advanced/login/esm2022/login.module.mjs +0 -28
- package/components/advanced/login/login.module.d.ts +0 -9
- package/components/advanced/marquee/esm2022/marquee.module.mjs +0 -28
- package/components/advanced/marquee/marquee.module.d.ts +0 -9
- package/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +0 -221
- package/components/base/widgets/common/smooth-scroll/smooth-scroll.directive.d.ts +0 -22
- package/components/basic/default/basic.module.d.ts +0 -17
- package/components/basic/default/esm2022/basic.module.mjs +0 -60
- package/components/basic/progress/esm2022/progress.module.mjs +0 -36
- package/components/basic/progress/progress.module.d.ts +0 -11
- package/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +0 -28
- package/components/basic/rich-text-editor/rich-text-editor.module.d.ts +0 -9
- package/components/basic/search/esm2022/search.module.mjs +0 -45
- package/components/basic/search/search.module.d.ts +0 -12
- package/components/basic/tree/esm2022/tree.module.mjs +0 -28
- package/components/basic/tree/tree.module.d.ts +0 -9
- package/components/chart/chart.module.d.ts +0 -10
- package/components/chart/esm2022/chart.module.mjs +0 -32
- package/components/containers/accordion/accordion.module.d.ts +0 -10
- package/components/containers/accordion/esm2022/accordion.module.mjs +0 -32
- package/components/containers/layout-grid/esm2022/layout-grid.module.mjs +0 -36
- package/components/containers/layout-grid/layout-grid.module.d.ts +0 -11
- package/components/containers/linear-layout/esm2022/linear-layout.module.mjs +0 -32
- package/components/containers/linear-layout/linear-layout.module.d.ts +0 -10
- package/components/containers/panel/esm2022/panel.module.mjs +0 -36
- package/components/containers/panel/panel.module.d.ts +0 -11
- package/components/containers/tabs/esm2022/tabs.module.mjs +0 -32
- package/components/containers/tabs/tabs.module.d.ts +0 -10
- package/components/containers/tile/esm2022/tile.module.mjs +0 -28
- package/components/containers/tile/tile.module.d.ts +0 -9
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +0 -140
- package/components/containers/wizard/esm2022/wizard.module.mjs +0 -40
- package/components/containers/wizard/wizard.module.d.ts +0 -12
- package/components/data/card/card.module.d.ts +0 -15
- package/components/data/card/esm2022/card.module.mjs +0 -52
- package/components/data/form/esm2022/form.module.mjs +0 -68
- package/components/data/form/form.module.d.ts +0 -19
- package/components/data/list/esm2022/list.module.mjs +0 -40
- package/components/data/list/list.module.d.ts +0 -11
- package/components/data/live-table/esm2022/live-table.module.mjs +0 -28
- package/components/data/live-table/live-table.module.d.ts +0 -9
- package/components/data/pagination/esm2022/pagination.module.mjs +0 -36
- package/components/data/pagination/pagination.module.d.ts +0 -11
- package/components/data/table/esm2022/table.module.mjs +0 -91
- package/components/data/table/table.module.d.ts +0 -24
- package/components/dialogs/alert-dialog/alert-dialog.module.d.ts +0 -11
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +0 -36
- package/components/dialogs/confirm-dialog/confirm-dialog.module.d.ts +0 -11
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +0 -36
- package/components/dialogs/default/dialog.module.d.ts +0 -12
- package/components/dialogs/default/esm2022/dialog.module.mjs +0 -40
- package/components/dialogs/design-dialog/design-dialog.module.d.ts +0 -11
- package/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +0 -36
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +0 -40
- package/components/dialogs/iframe-dialog/iframe-dialog.module.d.ts +0 -12
- package/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +0 -40
- package/components/dialogs/login-dialog/login-dialog.module.d.ts +0 -12
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +0 -36
- package/components/dialogs/partial-dialog/partial-dialog.module.d.ts +0 -11
- package/components/input/calendar/calendar.module.d.ts +0 -12
- package/components/input/calendar/esm2022/calendar.module.mjs +0 -40
- package/components/input/chips/chips.module.d.ts +0 -10
- package/components/input/chips/esm2022/chips.module.mjs +0 -32
- package/components/input/color-picker/color-picker.module.d.ts +0 -11
- package/components/input/color-picker/esm2022/color-picker.module.mjs +0 -36
- package/components/input/currency/currency.module.d.ts +0 -11
- package/components/input/currency/esm2022/currency.module.mjs +0 -36
- package/components/input/default/esm2022/input.module.mjs +0 -96
- package/components/input/default/input.module.d.ts +0 -26
- package/components/input/epoch/epoch.module.d.ts +0 -18
- package/components/input/epoch/esm2022/epoch.module.mjs +0 -70
- package/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
- package/components/input/file-upload/file-upload.module.d.ts +0 -9
- package/components/input/rating/esm2022/rating.module.mjs +0 -32
- package/components/input/rating/rating.module.d.ts +0 -10
- package/components/input/slider/esm2022/slider.module.mjs +0 -32
- package/components/input/slider/slider.module.d.ts +0 -10
- package/components/navigation/breadcrumb/breadcrumb.module.d.ts +0 -10
- package/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +0 -32
- package/components/navigation/menu/esm2022/menu.module.mjs +0 -71
- package/components/navigation/menu/menu.module.d.ts +0 -17
- package/components/navigation/navbar/esm2022/navbar.module.mjs +0 -28
- package/components/navigation/navbar/navbar.module.d.ts +0 -9
- package/components/navigation/popover/esm2022/popover.module.mjs +0 -36
- package/components/navigation/popover/popover.module.d.ts +0 -11
- package/components/page/default/esm2022/page.module.mjs +0 -55
- package/components/page/default/page.module.d.ts +0 -14
- package/components/page/footer/esm2022/footer.module.mjs +0 -28
- package/components/page/footer/footer.module.d.ts +0 -9
- package/components/page/header/esm2022/header.module.mjs +0 -28
- package/components/page/header/header.module.d.ts +0 -9
- package/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
- package/components/page/left-panel/left-panel.module.d.ts +0 -9
- package/components/page/right-panel/esm2022/right-panel.module.mjs +0 -28
- package/components/page/right-panel/right-panel.module.d.ts +0 -9
- package/components/page/top-nav/esm2022/top-nav.module.mjs +0 -28
- package/components/page/top-nav/top-nav.module.d.ts +0 -9
- package/components/prefab/esm2022/prefab.module.mjs +0 -32
- package/components/prefab/prefab.module.d.ts +0 -10
- package/core/core.module.d.ts +0 -9
- package/core/esm2022/core.module.mjs +0 -27
- package/http/esm2022/http-service.module.mjs +0 -36
- package/http/http-service.module.d.ts +0 -14
- package/locales/fullcalendar/af.js +0 -27
- package/locales/fullcalendar/ar-dz.js +0 -28
- package/locales/fullcalendar/ar-kw.js +0 -28
- package/locales/fullcalendar/ar-ly.js +0 -28
- package/locales/fullcalendar/ar-ma.js +0 -28
- package/locales/fullcalendar/ar-sa.js +0 -28
- package/locales/fullcalendar/ar-tn.js +0 -28
- package/locales/fullcalendar/ar.js +0 -28
- package/locales/fullcalendar/az.js +0 -29
- package/locales/fullcalendar/bg.js +0 -28
- package/locales/fullcalendar/bs.js +0 -29
- package/locales/fullcalendar/ca.js +0 -27
- package/locales/fullcalendar/cs.js +0 -29
- package/locales/fullcalendar/da.js +0 -27
- package/locales/fullcalendar/de.js +0 -30
- package/locales/fullcalendar/el.js +0 -27
- package/locales/fullcalendar/en-au.js +0 -14
- package/locales/fullcalendar/en-gb.js +0 -14
- package/locales/fullcalendar/en-nz.js +0 -14
- package/locales/fullcalendar/es-us.js +0 -27
- package/locales/fullcalendar/es.js +0 -27
- package/locales/fullcalendar/et.js +0 -29
- package/locales/fullcalendar/eu.js +0 -27
- package/locales/fullcalendar/fa.js +0 -30
- package/locales/fullcalendar/fi.js +0 -27
- package/locales/fullcalendar/fr-ca.js +0 -24
- package/locales/fullcalendar/fr-ch.js +0 -28
- package/locales/fullcalendar/fr.js +0 -28
- package/locales/fullcalendar/gl.js +0 -27
- package/locales/fullcalendar/he.js +0 -24
- package/locales/fullcalendar/hi.js +0 -29
- package/locales/fullcalendar/hr.js +0 -29
- package/locales/fullcalendar/hu.js +0 -27
- package/locales/fullcalendar/id.js +0 -27
- package/locales/fullcalendar/is.js +0 -27
- package/locales/fullcalendar/it.js +0 -29
- package/locales/fullcalendar/ja.js +0 -25
- package/locales/fullcalendar/ka.js +0 -29
- package/locales/fullcalendar/kk.js +0 -29
- package/locales/fullcalendar/ko.js +0 -23
- package/locales/fullcalendar/lb.js +0 -27
- package/locales/fullcalendar/lt.js +0 -27
- package/locales/fullcalendar/lv.js +0 -29
- package/locales/fullcalendar/mk.js +0 -25
- package/locales/fullcalendar/ms.js +0 -29
- package/locales/fullcalendar/nb.js +0 -27
- package/locales/fullcalendar/ne.js +0 -27
- package/locales/fullcalendar/nl.js +0 -27
- package/locales/fullcalendar/nn.js +0 -27
- package/locales/fullcalendar/pl.js +0 -27
- package/locales/fullcalendar/pt-br.js +0 -25
- package/locales/fullcalendar/pt.js +0 -27
- package/locales/fullcalendar/ro.js +0 -29
- package/locales/fullcalendar/ru.js +0 -29
- package/locales/fullcalendar/sk.js +0 -29
- package/locales/fullcalendar/sl.js +0 -27
- package/locales/fullcalendar/sq.js +0 -29
- package/locales/fullcalendar/sr-cyrl.js +0 -29
- package/locales/fullcalendar/sr.js +0 -29
- package/locales/fullcalendar/sv.js +0 -27
- package/locales/fullcalendar/th.js +0 -30
- package/locales/fullcalendar/tr.js +0 -27
- package/locales/fullcalendar/ug.js +0 -17
- package/locales/fullcalendar/uk.js +0 -29
- package/locales/fullcalendar/uz.js +0 -21
- package/locales/fullcalendar/vi.js +0 -29
- package/locales/fullcalendar/zh-cn.js +0 -30
- package/locales/fullcalendar/zh-tw.js +0 -23
- package/mobile/components/basic/default/.npmignore +0 -2
- package/mobile/components/basic/default/anchor/anchor.directive.d.ts +0 -8
- package/mobile/components/basic/default/app-update/app-update.component.d.ts +0 -26
- package/mobile/components/basic/default/basic.module.d.ts +0 -15
- package/mobile/components/basic/default/bundles/index.umd.js +0 -980
- package/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +0 -44
- package/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +0 -116
- package/mobile/components/basic/default/esm2022/basic.module.mjs +0 -52
- package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +0 -236
- package/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +0 -85
- package/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +0 -61
- package/mobile/components/basic/default/esm2022/index.mjs +0 -5
- package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +0 -183
- package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.props.mjs +0 -5
- package/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +0 -47
- package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +0 -175
- package/mobile/components/basic/default/esm2022/public_api.mjs +0 -10
- package/mobile/components/basic/default/fesm2022/index.mjs +0 -958
- package/mobile/components/basic/default/fesm2022/index.mjs.map +0 -1
- package/mobile/components/basic/default/file-browser/file-browser.component.d.ts +0 -39
- package/mobile/components/basic/default/file-browser/file-selector.service.d.ts +0 -27
- package/mobile/components/basic/default/image-cache/image-cache.directive.d.ts +0 -18
- package/mobile/components/basic/default/index.d.ts +0 -5
- package/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +0 -28
- package/mobile/components/basic/default/network-info-toaster/network-info-toaster.props.d.ts +0 -1
- package/mobile/components/basic/default/package.json +0 -23
- package/mobile/components/basic/default/process-manager/process-management.service.d.ts +0 -36
- package/mobile/components/basic/default/process-manager/process-manager.component.d.ts +0 -33
- package/mobile/components/basic/default/public_api.d.ts +0 -9
- package/mobile/components/basic/search/.npmignore +0 -2
- package/mobile/components/basic/search/bundles/index.umd.js +0 -66
- package/mobile/components/basic/search/esm2022/index.mjs +0 -5
- package/mobile/components/basic/search/esm2022/public_api.mjs +0 -3
- package/mobile/components/basic/search/esm2022/search.directive.mjs +0 -17
- package/mobile/components/basic/search/esm2022/search.module.mjs +0 -28
- package/mobile/components/basic/search/fesm2022/index.mjs +0 -49
- package/mobile/components/basic/search/fesm2022/index.mjs.map +0 -1
- package/mobile/components/basic/search/index.d.ts +0 -5
- package/mobile/components/basic/search/package.json +0 -23
- package/mobile/components/basic/search/public_api.d.ts +0 -2
- package/mobile/components/basic/search/search.directive.d.ts +0 -7
- package/mobile/components/basic/search/search.module.d.ts +0 -9
- package/mobile/components/containers/segmented-control/.npmignore +0 -2
- package/mobile/components/containers/segmented-control/bundles/index.umd.js +0 -281
- package/mobile/components/containers/segmented-control/esm2022/index.mjs +0 -5
- package/mobile/components/containers/segmented-control/esm2022/public_api.mjs +0 -4
- package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +0 -70
- package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.props.mjs +0 -14
- package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +0 -147
- package/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +0 -32
- package/mobile/components/containers/segmented-control/esm2022/segmented-control.props.mjs +0 -9
- package/mobile/components/containers/segmented-control/fesm2022/index.mjs +0 -264
- package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +0 -1
- package/mobile/components/containers/segmented-control/index.d.ts +0 -5
- package/mobile/components/containers/segmented-control/package.json +0 -23
- package/mobile/components/containers/segmented-control/public_api.d.ts +0 -3
- package/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +0 -18
- package/mobile/components/containers/segmented-control/segment-content/segment-content.props.d.ts +0 -1
- package/mobile/components/containers/segmented-control/segmented-control.component.d.ts +0 -20
- package/mobile/components/containers/segmented-control/segmented-control.module.d.ts +0 -10
- package/mobile/components/containers/segmented-control/segmented-control.props.d.ts +0 -1
- package/mobile/components/data/media-list/.npmignore +0 -2
- package/mobile/components/data/media-list/bundles/index.umd.js +0 -310
- package/mobile/components/data/media-list/esm2022/index.mjs +0 -5
- package/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +0 -24
- package/mobile/components/data/media-list/esm2022/media-list.component.mjs +0 -213
- package/mobile/components/data/media-list/esm2022/media-list.module.mjs +0 -48
- package/mobile/components/data/media-list/esm2022/media-list.props.mjs +0 -16
- package/mobile/components/data/media-list/esm2022/public_api.mjs +0 -4
- package/mobile/components/data/media-list/fesm2022/index.mjs +0 -297
- package/mobile/components/data/media-list/fesm2022/index.mjs.map +0 -1
- package/mobile/components/data/media-list/index.d.ts +0 -5
- package/mobile/components/data/media-list/media-list-item/media-list-item.directive.d.ts +0 -8
- package/mobile/components/data/media-list/media-list.component.d.ts +0 -33
- package/mobile/components/data/media-list/media-list.module.d.ts +0 -14
- package/mobile/components/data/media-list/media-list.props.d.ts +0 -1
- package/mobile/components/data/media-list/package.json +0 -23
- package/mobile/components/data/media-list/public_api.d.ts +0 -3
- package/mobile/components/device/barcode-scanner/.npmignore +0 -2
- package/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +0 -18
- package/mobile/components/device/barcode-scanner/barcode-scanner.module.d.ts +0 -9
- package/mobile/components/device/barcode-scanner/barcode-scanner.props.d.ts +0 -1
- package/mobile/components/device/barcode-scanner/bundles/index.umd.js +0 -129
- package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +0 -69
- package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +0 -28
- package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +0 -15
- package/mobile/components/device/barcode-scanner/esm2022/index.mjs +0 -5
- package/mobile/components/device/barcode-scanner/esm2022/public_api.mjs +0 -3
- package/mobile/components/device/barcode-scanner/fesm2022/index.mjs +0 -112
- package/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +0 -1
- package/mobile/components/device/barcode-scanner/index.d.ts +0 -5
- package/mobile/components/device/barcode-scanner/package.json +0 -23
- package/mobile/components/device/barcode-scanner/public_api.d.ts +0 -2
- package/mobile/components/device/camera/.npmignore +0 -2
- package/mobile/components/device/camera/bundles/index.umd.js +0 -170
- package/mobile/components/device/camera/camera.component.d.ts +0 -37
- package/mobile/components/device/camera/camera.module.d.ts +0 -9
- package/mobile/components/device/camera/camera.props.d.ts +0 -1
- package/mobile/components/device/camera/esm2022/camera.component.mjs +0 -101
- package/mobile/components/device/camera/esm2022/camera.module.mjs +0 -28
- package/mobile/components/device/camera/esm2022/camera.props.mjs +0 -25
- package/mobile/components/device/camera/esm2022/index.mjs +0 -5
- package/mobile/components/device/camera/esm2022/public_api.mjs +0 -3
- package/mobile/components/device/camera/fesm2022/index.mjs +0 -153
- package/mobile/components/device/camera/fesm2022/index.mjs.map +0 -1
- package/mobile/components/device/camera/index.d.ts +0 -5
- package/mobile/components/device/camera/package.json +0 -23
- package/mobile/components/device/camera/public_api.d.ts +0 -2
- package/mobile/components/input/file-upload/.npmignore +0 -2
- package/mobile/components/input/file-upload/bundles/index.umd.js +0 -88
- package/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +0 -41
- package/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
- package/mobile/components/input/file-upload/esm2022/index.mjs +0 -5
- package/mobile/components/input/file-upload/esm2022/public_api.mjs +0 -3
- package/mobile/components/input/file-upload/fesm2022/index.mjs +0 -71
- package/mobile/components/input/file-upload/fesm2022/index.mjs.map +0 -1
- package/mobile/components/input/file-upload/file-upload.directive.d.ts +0 -11
- package/mobile/components/input/file-upload/file-upload.module.d.ts +0 -9
- package/mobile/components/input/file-upload/index.d.ts +0 -5
- package/mobile/components/input/file-upload/package.json +0 -23
- package/mobile/components/input/file-upload/public_api.d.ts +0 -2
- package/mobile/components/page/default/.npmignore +0 -2
- package/mobile/components/page/default/bundles/index.umd.js +0 -127
- package/mobile/components/page/default/esm2022/index.mjs +0 -5
- package/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +0 -24
- package/mobile/components/page/default/esm2022/page.directive.mjs +0 -58
- package/mobile/components/page/default/esm2022/page.module.mjs +0 -32
- package/mobile/components/page/default/esm2022/public_api.mjs +0 -4
- package/mobile/components/page/default/fesm2022/index.mjs +0 -110
- package/mobile/components/page/default/fesm2022/index.mjs.map +0 -1
- package/mobile/components/page/default/index.d.ts +0 -5
- package/mobile/components/page/default/package.json +0 -23
- package/mobile/components/page/default/page-content-loader/page-content-loader.component.d.ts +0 -7
- package/mobile/components/page/default/page.directive.d.ts +0 -19
- package/mobile/components/page/default/page.module.d.ts +0 -10
- package/mobile/components/page/default/public_api.d.ts +0 -3
- package/mobile/components/page/left-panel/.npmignore +0 -2
- package/mobile/components/page/left-panel/bundles/index.umd.js +0 -91
- package/mobile/components/page/left-panel/esm2022/index.mjs +0 -5
- package/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +0 -45
- package/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
- package/mobile/components/page/left-panel/esm2022/public_api.mjs +0 -3
- package/mobile/components/page/left-panel/fesm2022/index.mjs +0 -74
- package/mobile/components/page/left-panel/fesm2022/index.mjs.map +0 -1
- package/mobile/components/page/left-panel/index.d.ts +0 -5
- package/mobile/components/page/left-panel/left-panel.directive.d.ts +0 -16
- package/mobile/components/page/left-panel/left-panel.module.d.ts +0 -9
- package/mobile/components/page/left-panel/package.json +0 -23
- package/mobile/components/page/left-panel/public_api.d.ts +0 -2
- package/mobile/components/page/mobile-navbar/.npmignore +0 -2
- package/mobile/components/page/mobile-navbar/bundles/index.umd.js +0 -332
- package/mobile/components/page/mobile-navbar/esm2022/index.mjs +0 -5
- package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +0 -247
- package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +0 -32
- package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.props.mjs +0 -41
- package/mobile/components/page/mobile-navbar/esm2022/public_api.mjs +0 -3
- package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +0 -317
- package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +0 -1
- package/mobile/components/page/mobile-navbar/index.d.ts +0 -5
- package/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +0 -50
- package/mobile/components/page/mobile-navbar/mobile-navbar.module.d.ts +0 -10
- package/mobile/components/page/mobile-navbar/mobile-navbar.props.d.ts +0 -2
- package/mobile/components/page/mobile-navbar/package.json +0 -23
- package/mobile/components/page/mobile-navbar/public_api.d.ts +0 -2
- package/mobile/components/page/tab-bar/.npmignore +0 -2
- package/mobile/components/page/tab-bar/bundles/index.umd.js +0 -279
- package/mobile/components/page/tab-bar/esm2022/index.mjs +0 -5
- package/mobile/components/page/tab-bar/esm2022/public_api.mjs +0 -3
- package/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +0 -28
- package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +0 -219
- package/mobile/components/page/tab-bar/esm2022/tabbar.props.mjs +0 -15
- package/mobile/components/page/tab-bar/fesm2022/index.mjs +0 -262
- package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +0 -1
- package/mobile/components/page/tab-bar/index.d.ts +0 -5
- package/mobile/components/page/tab-bar/package.json +0 -23
- package/mobile/components/page/tab-bar/public_api.d.ts +0 -2
- package/mobile/components/page/tab-bar/tab-bar.module.d.ts +0 -9
- package/mobile/components/page/tab-bar/tabbar.component.d.ts +0 -40
- package/mobile/components/page/tab-bar/tabbar.props.d.ts +0 -1
- package/mobile/core/.npmignore +0 -2
- package/mobile/core/bundles/index.umd.js +0 -1658
- package/mobile/core/core.module.d.ts +0 -15
- package/mobile/core/esm2022/core.module.mjs +0 -79
- package/mobile/core/esm2022/index.mjs +0 -5
- package/mobile/core/esm2022/native.xhr.mjs +0 -340
- package/mobile/core/esm2022/public_api.mjs +0 -12
- package/mobile/core/esm2022/services/device-file-cache.service.mjs +0 -92
- package/mobile/core/esm2022/services/device-file-download.service.mjs +0 -154
- package/mobile/core/esm2022/services/device-file-opener.service.mjs +0 -112
- package/mobile/core/esm2022/services/device-file-upload.service.mjs +0 -91
- package/mobile/core/esm2022/services/device-file.service.mjs +0 -237
- package/mobile/core/esm2022/services/device-start-up-service.mjs +0 -2
- package/mobile/core/esm2022/services/device.service.mjs +0 -150
- package/mobile/core/esm2022/services/ext-app-message.service.mjs +0 -114
- package/mobile/core/esm2022/services/network.service.mjs +0 -358
- package/mobile/core/fesm2022/index.mjs +0 -1660
- package/mobile/core/fesm2022/index.mjs.map +0 -1
- package/mobile/core/index.d.ts +0 -5
- package/mobile/core/native.xhr.d.ts +0 -36
- package/mobile/core/package.json +0 -28
- package/mobile/core/public_api.d.ts +0 -11
- package/mobile/core/services/device-file-cache.service.d.ts +0 -24
- package/mobile/core/services/device-file-download.service.d.ts +0 -36
- package/mobile/core/services/device-file-opener.service.d.ts +0 -25
- package/mobile/core/services/device-file-upload.service.d.ts +0 -27
- package/mobile/core/services/device-file.service.d.ts +0 -45
- package/mobile/core/services/device-start-up-service.d.ts +0 -4
- package/mobile/core/services/device.service.d.ts +0 -52
- package/mobile/core/services/ext-app-message.service.d.ts +0 -24
- package/mobile/core/services/network.service.d.ts +0 -118
- package/mobile/offline/.npmignore +0 -2
- package/mobile/offline/bundles/index.umd.js +0 -3512
- package/mobile/offline/esm2022/index.mjs +0 -5
- package/mobile/offline/esm2022/models/config.mjs +0 -64
- package/mobile/offline/esm2022/models/local-db-store.mjs +0 -412
- package/mobile/offline/esm2022/offline.module.mjs +0 -100
- package/mobile/offline/esm2022/public_api.mjs +0 -7
- package/mobile/offline/esm2022/services/change-log.service.mjs +0 -332
- package/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +0 -525
- package/mobile/offline/esm2022/services/local-db-management.service.mjs +0 -855
- package/mobile/offline/esm2022/services/local-db.service.mjs +0 -193
- package/mobile/offline/esm2022/services/local-key-value.service.mjs +0 -87
- package/mobile/offline/esm2022/services/push.service.mjs +0 -49
- package/mobile/offline/esm2022/services/workers/error-blocker.mjs +0 -115
- package/mobile/offline/esm2022/services/workers/file-handler.mjs +0 -162
- package/mobile/offline/esm2022/services/workers/id-resolver.mjs +0 -154
- package/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +0 -63
- package/mobile/offline/esm2022/utils/file-upload.utils.mjs +0 -59
- package/mobile/offline/esm2022/utils/live-variable.utils.mjs +0 -232
- package/mobile/offline/esm2022/utils/query-executor.utils.mjs +0 -82
- package/mobile/offline/esm2022/utils/security.utils.mjs +0 -119
- package/mobile/offline/esm2022/utils/utils.mjs +0 -8
- package/mobile/offline/fesm2022/index.mjs +0 -3529
- package/mobile/offline/fesm2022/index.mjs.map +0 -1
- package/mobile/offline/index.d.ts +0 -5
- package/mobile/offline/models/config.d.ts +0 -80
- package/mobile/offline/models/local-db-store.d.ts +0 -119
- package/mobile/offline/offline.module.d.ts +0 -17
- package/mobile/offline/package.json +0 -28
- package/mobile/offline/public_api.d.ts +0 -6
- package/mobile/offline/services/change-log.service.d.ts +0 -112
- package/mobile/offline/services/local-db-data-pull.service.d.ts +0 -139
- package/mobile/offline/services/local-db-management.service.d.ts +0 -179
- package/mobile/offline/services/local-db.service.d.ts +0 -83
- package/mobile/offline/services/local-key-value.service.d.ts +0 -38
- package/mobile/offline/services/push.service.d.ts +0 -11
- package/mobile/offline/services/workers/error-blocker.d.ts +0 -26
- package/mobile/offline/services/workers/file-handler.d.ts +0 -56
- package/mobile/offline/services/workers/id-resolver.d.ts +0 -26
- package/mobile/offline/services/workers/multi-part-param-transformer.d.ts +0 -11
- package/mobile/offline/utils/file-upload.utils.d.ts +0 -14
- package/mobile/offline/utils/live-variable.utils.d.ts +0 -24
- package/mobile/offline/utils/query-executor.utils.d.ts +0 -15
- package/mobile/offline/utils/security.utils.d.ts +0 -19
- package/mobile/offline/utils/utils.d.ts +0 -2
- package/mobile/placeholder/runtime/.npmignore +0 -2
- package/mobile/placeholder/runtime/bundles/index.umd.js +0 -70
- package/mobile/placeholder/runtime/components/app-ext.component.d.ts +0 -5
- package/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +0 -19
- package/mobile/placeholder/runtime/esm2022/index.mjs +0 -5
- package/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +0 -27
- package/mobile/placeholder/runtime/esm2022/public_api.mjs +0 -3
- package/mobile/placeholder/runtime/fesm2022/index.mjs +0 -50
- package/mobile/placeholder/runtime/fesm2022/index.mjs.map +0 -1
- package/mobile/placeholder/runtime/index.d.ts +0 -5
- package/mobile/placeholder/runtime/mobile-runtime.module.d.ts +0 -9
- package/mobile/placeholder/runtime/package.json +0 -27
- package/mobile/placeholder/runtime/public_api.d.ts +0 -2
- package/mobile/placeholder/runtime-dynamic/.npmignore +0 -2
- package/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +0 -40
- package/mobile/placeholder/runtime-dynamic/esm2022/index.mjs +0 -5
- package/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -13
- package/mobile/placeholder/runtime-dynamic/esm2022/public_api.mjs +0 -2
- package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +0 -20
- package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +0 -1
- package/mobile/placeholder/runtime-dynamic/index.d.ts +0 -5
- package/mobile/placeholder/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -7
- package/mobile/placeholder/runtime-dynamic/package.json +0 -23
- package/mobile/placeholder/runtime-dynamic/public_api.d.ts +0 -1
- package/mobile/runtime/.npmignore +0 -2
- package/mobile/runtime/bundles/index.umd.js +0 -732
- package/mobile/runtime/components/app-ext.component.d.ts +0 -14
- package/mobile/runtime/esm2022/components/app-ext.component.mjs +0 -59
- package/mobile/runtime/esm2022/index.mjs +0 -5
- package/mobile/runtime/esm2022/mobile-runtime.module.mjs +0 -351
- package/mobile/runtime/esm2022/public_api.mjs +0 -6
- package/mobile/runtime/esm2022/services/cookie.service.mjs +0 -135
- package/mobile/runtime/esm2022/services/http-interceptor.service.mjs +0 -147
- package/mobile/runtime/esm2022/services/webprocess.service.mjs +0 -76
- package/mobile/runtime/fesm2022/index.mjs +0 -742
- package/mobile/runtime/fesm2022/index.mjs.map +0 -1
- package/mobile/runtime/index.d.ts +0 -5
- package/mobile/runtime/mobile-runtime.module.d.ts +0 -51
- package/mobile/runtime/package.json +0 -28
- package/mobile/runtime/public_api.d.ts +0 -5
- package/mobile/runtime/services/cookie.service.d.ts +0 -31
- package/mobile/runtime/services/http-interceptor.service.d.ts +0 -19
- package/mobile/runtime/services/webprocess.service.d.ts +0 -15
- package/mobile/runtime-dynamic/.npmignore +0 -2
- package/mobile/runtime-dynamic/bundles/index.umd.js +0 -461
- package/mobile/runtime-dynamic/esm2022/index.mjs +0 -5
- package/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -48
- package/mobile/runtime-dynamic/esm2022/public_api.mjs +0 -2
- package/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +0 -404
- package/mobile/runtime-dynamic/fesm2022/index.mjs +0 -454
- package/mobile/runtime-dynamic/fesm2022/index.mjs.map +0 -1
- package/mobile/runtime-dynamic/index.d.ts +0 -5
- package/mobile/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -8
- package/mobile/runtime-dynamic/package.json +0 -23
- package/mobile/runtime-dynamic/public_api.d.ts +0 -1
- package/mobile/runtime-dynamic/services/live-sync.service.d.ts +0 -38
- package/mobile/variables/.npmignore +0 -2
- package/mobile/variables/bundles/index.umd.js +0 -1166
- package/mobile/variables/esm2022/index.mjs +0 -5
- package/mobile/variables/esm2022/public_api.mjs +0 -10
- package/mobile/variables/esm2022/services/calendar-service.mjs +0 -77
- package/mobile/variables/esm2022/services/camera-service.mjs +0 -70
- package/mobile/variables/esm2022/services/contacts-service.mjs +0 -74
- package/mobile/variables/esm2022/services/datasync-service.mjs +0 -363
- package/mobile/variables/esm2022/services/device-service/device-service.mjs +0 -161
- package/mobile/variables/esm2022/services/device-service/location-service.mjs +0 -200
- package/mobile/variables/esm2022/services/file-service.mjs +0 -87
- package/mobile/variables/esm2022/services/scan-service.mjs +0 -60
- package/mobile/variables/esm2022/variables.module.mjs +0 -78
- package/mobile/variables/fesm2022/index.mjs +0 -1143
- package/mobile/variables/fesm2022/index.mjs.map +0 -1
- package/mobile/variables/index.d.ts +0 -5
- package/mobile/variables/package.json +0 -28
- package/mobile/variables/public_api.d.ts +0 -9
- package/mobile/variables/services/calendar-service.d.ts +0 -10
- package/mobile/variables/services/camera-service.d.ts +0 -8
- package/mobile/variables/services/contacts-service.d.ts +0 -6
- package/mobile/variables/services/datasync-service.d.ts +0 -11
- package/mobile/variables/services/device-service/device-service.d.ts +0 -17
- package/mobile/variables/services/device-service/location-service.d.ts +0 -63
- package/mobile/variables/services/file-service.d.ts +0 -7
- package/mobile/variables/services/scan-service.d.ts +0 -7
- package/mobile/variables/variables.module.d.ts +0 -25
- package/oAuth/esm2022/oAuth.module.mjs +0 -19
- package/oAuth/oAuth.module.d.ts +0 -8
- package/scripts/fullcalendar/main.min.js +0 -6
- package/security/esm2022/security.module.mjs +0 -19
- package/security/security.module.d.ts +0 -8
- package/variables/esm2022/manager/variable/device-variable-manager.mjs +0 -48
- package/variables/esm2022/manager/variable/device-variable-operation.mjs +0 -2
- package/variables/esm2022/manager/variable/device-variable-service.mjs +0 -45
- package/variables/esm2022/model/variable/device-variable.mjs +0 -19
- package/variables/esm2022/variables.module.mjs +0 -52
- package/variables/manager/variable/device-variable-manager.d.ts +0 -26
- package/variables/manager/variable/device-variable-operation.d.ts +0 -37
- package/variables/manager/variable/device-variable-service.d.ts +0 -6
- package/variables/model/variable/device-variable.d.ts +0 -6
- package/variables/variables.module.d.ts +0 -16
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AppVersion } from '@awesome-cordova-plugins/app-version/ngx';
|
|
3
|
-
import { File } from '@awesome-cordova-plugins/file/ngx';
|
|
4
|
-
import { isAndroid, noop } from '@wm/core';
|
|
5
|
-
import { now } from "lodash-es";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@awesome-cordova-plugins/app-version/ngx";
|
|
8
|
-
import * as i2 from "@awesome-cordova-plugins/file/ngx";
|
|
9
|
-
export var FileType;
|
|
10
|
-
(function (FileType) {
|
|
11
|
-
FileType["AUDIO"] = "AUDIO";
|
|
12
|
-
FileType["DOCUMENT"] = "DOCUMENT";
|
|
13
|
-
FileType["IMAGE"] = "IMAGE";
|
|
14
|
-
FileType["VIDEO"] = "VIDEO";
|
|
15
|
-
})(FileType || (FileType = {}));
|
|
16
|
-
const IMAGE_EXTENSIONS = ['gif', 'jpg', 'png', 'svg', 'webp', 'jpeg', 'jif', 'jfif', 'jfi'], VIDEO_EXTENSIONS = ['mp4', 'mpg', 'avi', 'wma', 'mp2', '3gp', '3g2', 'm4p', 'm4v', 'mpg', 'fiv'], AUDIO_EXTENSIONS = ['mp3', 'm4p', 'aiff', 'aa', 'aax', 'wma'];
|
|
17
|
-
const APP_FOLDER_STRUCTURE = [{
|
|
18
|
-
name: '{APP_NAME}',
|
|
19
|
-
children: [{
|
|
20
|
-
name: 'Media',
|
|
21
|
-
children: [
|
|
22
|
-
{
|
|
23
|
-
name: '{APP_NAME} Images',
|
|
24
|
-
fileType: FileType.IMAGE
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: '{APP_NAME} Audio',
|
|
28
|
-
fileType: FileType.AUDIO
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: '{APP_NAME} Vedios',
|
|
32
|
-
fileType: FileType.VIDEO
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
name: '{APP_NAME} Documents',
|
|
36
|
-
fileType: FileType.DOCUMENT
|
|
37
|
-
}
|
|
38
|
-
]
|
|
39
|
-
}]
|
|
40
|
-
}];
|
|
41
|
-
export class DeviceFileService {
|
|
42
|
-
static { this.SERVICE_NAME = 'DeviceFileService'; }
|
|
43
|
-
constructor(cordovaAppVersion, cordovaFile) {
|
|
44
|
-
this.cordovaAppVersion = cordovaAppVersion;
|
|
45
|
-
this.cordovaFile = cordovaFile;
|
|
46
|
-
this._fileTypeVsPathMap = {
|
|
47
|
-
'temporary': {},
|
|
48
|
-
'persistent': {}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
addMediaToGallery(filePath) {
|
|
52
|
-
if (isAndroid() && this.isPersistentType(filePath)) {
|
|
53
|
-
return new Promise((resolve, reject) => {
|
|
54
|
-
cordova.plugins.MediaScannerPlugin.scanFile(filePath, resolve, reject);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return Promise.resolve();
|
|
58
|
-
}
|
|
59
|
-
appendToFileName(fileName, attachment) {
|
|
60
|
-
let splits;
|
|
61
|
-
attachment = attachment || '_' + now();
|
|
62
|
-
fileName = fileName || 'noname';
|
|
63
|
-
splits = fileName.split('.');
|
|
64
|
-
if (splits.length > 1) {
|
|
65
|
-
splits[splits.length - 2] = splits[splits.length - 2] + attachment;
|
|
66
|
-
return splits.join('.');
|
|
67
|
-
}
|
|
68
|
-
return fileName + attachment;
|
|
69
|
-
}
|
|
70
|
-
clearTemporaryStorage() {
|
|
71
|
-
return this.cordovaFile.removeRecursively(this.getTemporaryRootPath() + this._appName + '/', 'Media');
|
|
72
|
-
}
|
|
73
|
-
copy(persistent, sourceFilePath) {
|
|
74
|
-
const sourceFilename = sourceFilePath.split('/').pop(), destFolder = this.findFolderPath(persistent, sourceFilename), sourceFolder = sourceFilePath.substring(0, sourceFilePath.lastIndexOf('/'));
|
|
75
|
-
return this.newFileName(destFolder, sourceFilename)
|
|
76
|
-
.then(destFilename => this.cordovaFile.copyFile(sourceFolder, sourceFilename, destFolder, destFilename)
|
|
77
|
-
.then(() => destFolder + destFilename));
|
|
78
|
-
}
|
|
79
|
-
findFolderPath(persistent, fileName) {
|
|
80
|
-
const typeMap = persistent ? this._fileTypeVsPathMap.persistent : this._fileTypeVsPathMap.temporary, fileType = this.findFileType(fileName);
|
|
81
|
-
return typeMap[fileType] || typeMap[FileType.DOCUMENT];
|
|
82
|
-
}
|
|
83
|
-
getPersistentRootPath() {
|
|
84
|
-
return cordova.file.dataDirectory;
|
|
85
|
-
}
|
|
86
|
-
getTemporaryRootPath() {
|
|
87
|
-
return cordova.file.cacheDirectory;
|
|
88
|
-
}
|
|
89
|
-
getUploadDirectory() {
|
|
90
|
-
return this._uploadDir;
|
|
91
|
-
}
|
|
92
|
-
isPersistentType(filePath) {
|
|
93
|
-
return filePath.startsWith(this.getPersistentRootPath());
|
|
94
|
-
}
|
|
95
|
-
isValidPath(filePath) {
|
|
96
|
-
let folder, fileName;
|
|
97
|
-
if (!filePath) {
|
|
98
|
-
return Promise.reject('File path is required');
|
|
99
|
-
}
|
|
100
|
-
folder = filePath.substring(0, filePath.lastIndexOf('/') + 1);
|
|
101
|
-
fileName = filePath.split('/').pop();
|
|
102
|
-
return this.cordovaFile.checkFile(folder, fileName)
|
|
103
|
-
.then(() => filePath);
|
|
104
|
-
}
|
|
105
|
-
listFiles(folder, search) {
|
|
106
|
-
return new Promise((resolve, reject) => {
|
|
107
|
-
resolveLocalFileSystemURL(folder, directory => {
|
|
108
|
-
if (!directory.files) {
|
|
109
|
-
directory.createReader().readEntries(entries => {
|
|
110
|
-
if (search) {
|
|
111
|
-
entries = entries.filter(e => e.name.match(search));
|
|
112
|
-
}
|
|
113
|
-
entries = entries.map(e => {
|
|
114
|
-
return {
|
|
115
|
-
name: e.name,
|
|
116
|
-
isDirectory: e.isDirectory,
|
|
117
|
-
path: e.nativeURL
|
|
118
|
-
};
|
|
119
|
-
});
|
|
120
|
-
resolve(entries);
|
|
121
|
-
}, reject);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
resolve([]);
|
|
125
|
-
}
|
|
126
|
-
}, reject);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
newFileName(folder, fileName) {
|
|
130
|
-
return this.cordovaFile.checkFile(folder, fileName)
|
|
131
|
-
.then(() => {
|
|
132
|
-
const extIndex = fileName.lastIndexOf('.');
|
|
133
|
-
if (extIndex > 0) {
|
|
134
|
-
fileName = fileName.substring(0, extIndex) + '_' + now() + '.' + fileName.substring(extIndex + 1);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
fileName = fileName + '_' + now();
|
|
138
|
-
}
|
|
139
|
-
return this.newFileName(folder, fileName);
|
|
140
|
-
}, () => fileName);
|
|
141
|
-
}
|
|
142
|
-
removeFile(filePath) {
|
|
143
|
-
const i = filePath.lastIndexOf('/'), dir = filePath.substring(0, i), file = filePath.substring(i + 1);
|
|
144
|
-
return this.cordovaFile.removeFile(dir, file);
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* removes the directory at the specified location.
|
|
148
|
-
*
|
|
149
|
-
* @param dirPath absolute path of directory
|
|
150
|
-
*/
|
|
151
|
-
removeDir(dirPath) {
|
|
152
|
-
const i = dirPath.lastIndexOf('/'), parentdir = dirPath.substring(0, i + 1), dir = dirPath.substring(i + 1), movedDir = dir + now();
|
|
153
|
-
return this.cordovaFile.checkDir(parentdir, dir)
|
|
154
|
-
.then(() => {
|
|
155
|
-
/**
|
|
156
|
-
* If folder is remove directly without moving, then INVALID_MODIFICATION_ERR is thrown in android
|
|
157
|
-
* when a copy operation is done with the same directory name. To avoid this, directory will be moved
|
|
158
|
-
* first and removed.
|
|
159
|
-
*/
|
|
160
|
-
return this.cordovaFile.moveDir(parentdir, dir, parentdir, movedDir)
|
|
161
|
-
.then(() => this.cordovaFile.removeDir(parentdir, movedDir));
|
|
162
|
-
}).catch(noop);
|
|
163
|
-
}
|
|
164
|
-
start() {
|
|
165
|
-
/**
|
|
166
|
-
* Default READ_CHUNK_SIZE is 256 Kb. But with that setting readJson method is failing. This is an issue
|
|
167
|
-
* with cordova file plugin. So, increasing it to 512 Kb to read large database schema files (>256 Kb).
|
|
168
|
-
*/
|
|
169
|
-
FileReader.READ_CHUNK_SIZE = 512 * 1024;
|
|
170
|
-
return Promise.resolve().then(() => {
|
|
171
|
-
return this.cordovaAppVersion.getAppName();
|
|
172
|
-
}).then(appName => {
|
|
173
|
-
const promises = [];
|
|
174
|
-
this._appName = appName;
|
|
175
|
-
promises.push(this.createFolderIfNotExists(this.getTemporaryRootPath(), APP_FOLDER_STRUCTURE, this._fileTypeVsPathMap.temporary));
|
|
176
|
-
promises.push(this.createFolderIfNotExists(this.getPersistentRootPath(), APP_FOLDER_STRUCTURE, this._fileTypeVsPathMap.persistent));
|
|
177
|
-
promises.push(this.setupUploadDirectory());
|
|
178
|
-
return Promise.all(promises);
|
|
179
|
-
}).then(() => {
|
|
180
|
-
if (isAndroid()) {
|
|
181
|
-
// this is necessary to prevent multiple file permission popup.
|
|
182
|
-
return this.cordovaFile.readAsText(cordova.file.externalRootDirectory, 'random-file-for-permission').catch(noop);
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
getServiceName() {
|
|
187
|
-
return DeviceFileService.SERVICE_NAME;
|
|
188
|
-
}
|
|
189
|
-
createFolderIfNotExists(parent, folders, fileTypeLocationMap) {
|
|
190
|
-
const childPromises = [];
|
|
191
|
-
if (folders) {
|
|
192
|
-
folders.forEach(folder => {
|
|
193
|
-
let folderPath;
|
|
194
|
-
folder.name = folder.name.replace('{APP_NAME}', this._appName);
|
|
195
|
-
folderPath = parent + folder.name + '/';
|
|
196
|
-
if (folder.fileType && !fileTypeLocationMap[folder.fileType]) {
|
|
197
|
-
fileTypeLocationMap[folder.fileType] = folderPath;
|
|
198
|
-
}
|
|
199
|
-
const p = this.cordovaFile.createDir(parent, folder.name, false)
|
|
200
|
-
.then(() => this.createFolderIfNotExists(folderPath, folder.children, fileTypeLocationMap), () => this.createFolderIfNotExists(folderPath, folder.children, fileTypeLocationMap));
|
|
201
|
-
childPromises.push(p);
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
if (childPromises.length > 0) {
|
|
205
|
-
return Promise.all(childPromises);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
findFileType(fileName) {
|
|
209
|
-
let extension;
|
|
210
|
-
if (fileName.indexOf('.') > 0) {
|
|
211
|
-
extension = fileName.split('.').pop().toLowerCase();
|
|
212
|
-
if (IMAGE_EXTENSIONS.some(a => a === extension)) {
|
|
213
|
-
return FileType.IMAGE;
|
|
214
|
-
}
|
|
215
|
-
if (VIDEO_EXTENSIONS.some(a => a === extension)) {
|
|
216
|
-
return FileType.VIDEO;
|
|
217
|
-
}
|
|
218
|
-
if (AUDIO_EXTENSIONS.some(a => a === extension)) {
|
|
219
|
-
return FileType.AUDIO;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
return FileType.DOCUMENT;
|
|
223
|
-
}
|
|
224
|
-
setupUploadDirectory() {
|
|
225
|
-
const uploadsDirName = 'uploads', appDir = cordova.file.dataDirectory;
|
|
226
|
-
return this.cordovaFile.checkDir(appDir, uploadsDirName)
|
|
227
|
-
.then(() => this._uploadDir = appDir + uploadsDirName, () => this.cordovaFile.createDir(appDir, uploadsDirName, true)
|
|
228
|
-
.then(() => this._uploadDir = appDir + uploadsDirName));
|
|
229
|
-
}
|
|
230
|
-
static { this.ɵfac = function DeviceFileService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DeviceFileService)(i0.ɵɵinject(i1.AppVersion), i0.ɵɵinject(i2.File)); }; }
|
|
231
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DeviceFileService, factory: DeviceFileService.ɵfac, providedIn: 'root' }); }
|
|
232
|
-
}
|
|
233
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DeviceFileService, [{
|
|
234
|
-
type: Injectable,
|
|
235
|
-
args: [{ providedIn: 'root' }]
|
|
236
|
-
}], () => [{ type: i1.AppVersion }, { type: i2.File }], null); })();
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vYmlsZS9jb3JlL3NyYy9zZXJ2aWNlcy9kZXZpY2UtZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUczQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7O0FBTTlCLE1BQU0sQ0FBTixJQUFZLFFBS1g7QUFMRCxXQUFZLFFBQVE7SUFDaEIsMkJBQWUsQ0FBQTtJQUNmLGlDQUFxQixDQUFBO0lBQ3JCLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0FBQ25CLENBQUMsRUFMVyxRQUFRLEtBQVIsUUFBUSxRQUtuQjtBQUVELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUN2RixnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFDaEcsZ0JBQWdCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRWxFLE1BQU0sb0JBQW9CLEdBQUcsQ0FB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dWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwVmVyc2lvbiB9IGZyb20gJ0Bhd2Vzb21lLWNvcmRvdmEtcGx1Z2lucy9hcHAtdmVyc2lvbi9uZ3gnO1xuaW1wb3J0IHtGaWxlfSBmcm9tICdAYXdlc29tZS1jb3Jkb3ZhLXBsdWdpbnMvZmlsZS9uZ3gnO1xuXG5pbXBvcnQgeyBpc0FuZHJvaWQsIG5vb3AgfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IElEZXZpY2VTdGFydFVwU2VydmljZSB9IGZyb20gJy4vZGV2aWNlLXN0YXJ0LXVwLXNlcnZpY2UnO1xuaW1wb3J0IHtub3d9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCBjb3Jkb3ZhO1xuZGVjbGFyZSBjb25zdCByZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMO1xuZGVjbGFyZSBjb25zdCBGaWxlUmVhZGVyO1xuXG5leHBvcnQgZW51bSBGaWxlVHlwZSB7XG4gICAgQVVESU8gPSAnQVVESU8nLFxuICAgIERPQ1VNRU5UID0gJ0RPQ1VNRU5UJyxcbiAgICBJTUFHRSA9ICdJTUFHRScsXG4gICAgVklERU8gPSAnVklERU8nXG59XG5cbmNvbnN0IElNQUdFX0VYVEVOU0lPTlMgPSBbJ2dpZicsICdqcGcnLCAncG5nJywgJ3N2ZycsICd3ZWJwJywgJ2pwZWcnLCAnamlmJywgJ2pmaWYnLCAnamZpJ10sXG4gICAgVklERU9fRVhURU5TSU9OUyA9IFsnbXA0JywgJ21wZycsICdhdmknLCAnd21hJywgJ21wMicsICczZ3AnLCAnM2cyJywgJ200cCcsICdtNHYnLCAnbXBnJywgJ2ZpdiddLFxuICAgIEFVRElPX0VYVEVOU0lPTlMgPSBbJ21wMycsICdtNHAnLCAnYWlmZicsICdhYScsICdhYXgnLCAnd21hJ107XG5cbmNvbnN0IEFQUF9GT0xERVJfU1RSVUNUVVJFID0gW3tcbiAgICBuYW1lIDogJ3tBUFBfTkFNRX0nLFxuICAgIGNoaWxkcmVuIDogW3tcbiAgICAgICAgbmFtZSA6ICdNZWRpYScsXG4gICAgICAgIGNoaWxkcmVuIDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWUgOiAne0FQUF9OQU1FfSBJbWFnZXMnLFxuICAgICAgICAgICAgICAgIGZpbGVUeXBlIDogRmlsZVR5cGUuSU1BR0VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZSA6ICd7QVBQX05BTUV9IEF1ZGlvJyxcbiAgICAgICAgICAgICAgICBmaWxlVHlwZSA6IEZpbGVUeXBlLkFVRElPXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWUgOiAne0FQUF9OQU1FfSBWZWRpb3MnLFxuICAgICAgICAgICAgICAgIGZpbGVUeXBlIDogRmlsZVR5cGUuVklERU9cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZSA6ICd7QVBQX05BTUV9IERvY3VtZW50cycsXG4gICAgICAgICAgICAgICAgZmlsZVR5cGUgOiBGaWxlVHlwZS5ET0NVTUVOVFxuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfV1cbn1dO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIERldmljZUZpbGVTZXJ2aWNlIGltcGxlbWVudHMgSURldmljZVN0YXJ0VXBTZXJ2aWNlIHtcbiAgICBzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9OQU1FID0gJ0RldmljZUZpbGVTZXJ2aWNlJztcblxuICAgIHByaXZhdGUgX2FwcE5hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIF9maWxlVHlwZVZzUGF0aE1hcCA9IHtcbiAgICAgICAgJ3RlbXBvcmFyeScgOiB7fSxcbiAgICAgICAgJ3BlcnNpc3RlbnQnIDoge31cbiAgICB9O1xuICAgIHByaXZhdGUgX3VwbG9hZERpcjogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb3Jkb3ZhQXBwVmVyc2lvbjogQXBwVmVyc2lvbiwgcHJpdmF0ZSBjb3Jkb3ZhRmlsZTogRmlsZSkge1xuXG4gICAgfVxuXG4gICAgcHVibGljIGFkZE1lZGlhVG9HYWxsZXJ5KGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKGlzQW5kcm9pZCgpICYmIHRoaXMuaXNQZXJzaXN0ZW50VHlwZShmaWxlUGF0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29yZG92YS5wbHVnaW5zLk1lZGlhU2Nhbm5lclBsdWdpbi5zY2FuRmlsZShmaWxlUGF0aCwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXBwZW5kVG9GaWxlTmFtZShmaWxlTmFtZTogc3RyaW5nLCBhdHRhY2htZW50Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHNwbGl0cztcbiAgICAgICAgYXR0YWNobWVudCA9IGF0dGFjaG1lbnQgfHwgJ18nICsgbm93KCk7XG4gICAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUgfHwgJ25vbmFtZSc7XG4gICAgICAgIHNwbGl0cyA9IGZpbGVOYW1lLnNwbGl0KCcuJyk7XG4gICAgICAgIGlmIChzcGxpdHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgc3BsaXRzW3NwbGl0cy5sZW5ndGggLSAyXSA9IHNwbGl0c1tzcGxpdHMubGVuZ3RoIC0gMl0gKyBhdHRhY2htZW50O1xuICAgICAgICAgICAgcmV0dXJuIHNwbGl0cy5qb2luKCcuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbGVOYW1lICsgYXR0YWNobWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJUZW1wb3JhcnlTdG9yYWdlKCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvcmRvdmFGaWxlLnJlbW92ZVJlY3Vyc2l2ZWx5KHRoaXMuZ2V0VGVtcG9yYXJ5Um9vdFBhdGgoKSArIHRoaXMuX2FwcE5hbWUgKyAnLycsICdNZWRpYScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5KHBlcnNpc3RlbnQ6IGJvb2xlYW4sIHNvdXJjZUZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc291cmNlRmlsZW5hbWUgPSBzb3VyY2VGaWxlUGF0aC5zcGxpdCgnLycpLnBvcCgpLFxuICAgICAgICAgICAgZGVzdEZvbGRlciA9IHRoaXMuZmluZEZvbGRlclBhdGgocGVyc2lzdGVudCwgc291cmNlRmlsZW5hbWUpLFxuICAgICAgICAgICAgc291cmNlRm9sZGVyID0gc291cmNlRmlsZVBhdGguc3Vic3RyaW5nKDAsIHNvdXJjZUZpbGVQYXRoLmxhc3RJbmRleE9mKCcvJykpO1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdGaWxlTmFtZShkZXN0Rm9sZGVyLCBzb3VyY2VGaWxlbmFtZSlcbiAgICAgICAgICAgIC50aGVuKCBkZXN0RmlsZW5hbWUgPT4gdGhpcy5jb3Jkb3ZhRmlsZS5jb3B5RmlsZShzb3VyY2VGb2xkZXIsIHNvdXJjZUZpbGVuYW1lLCBkZXN0Rm9sZGVyLCBkZXN0RmlsZW5hbWUpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gZGVzdEZvbGRlciArIGRlc3RGaWxlbmFtZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaW5kRm9sZGVyUGF0aChwZXJzaXN0ZW50OiBib29sZWFuLCBmaWxlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHR5cGVNYXAgPSBwZXJzaXN0ZW50ID8gdGhpcy5fZmlsZVR5cGVWc1BhdGhNYXAucGVyc2lzdGVudCA6IHRoaXMuX2ZpbGVUeXBlVnNQYXRoTWFwLnRlbXBvcmFyeSxcbiAgICAgICAgICAgIGZpbGVUeXBlID0gdGhpcy5maW5kRmlsZVR5cGUoZmlsZU5hbWUpO1xuICAgICAgICByZXR1cm4gdHlwZU1hcFtmaWxlVHlwZV0gfHwgdHlwZU1hcFtGaWxlVHlwZS5ET0NVTUVOVF07XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBlcnNpc3RlbnRSb290UGF0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gY29yZG92YS5maWxlLmRhdGFEaXJlY3Rvcnk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRlbXBvcmFyeVJvb3RQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBjb3Jkb3ZhLmZpbGUuY2FjaGVEaXJlY3Rvcnk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFVwbG9hZERpcmVjdG9yeSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXBsb2FkRGlyO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1BlcnNpc3RlbnRUeXBlKGZpbGVQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbGVQYXRoLnN0YXJ0c1dpdGgodGhpcy5nZXRQZXJzaXN0ZW50Um9vdFBhdGgoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzVmFsaWRQYXRoKGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBsZXQgZm9sZGVyLCBmaWxlTmFtZTtcbiAgICAgICAgaWYgKCFmaWxlUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCdGaWxlIHBhdGggaXMgcmVxdWlyZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBmb2xkZXIgPSBmaWxlUGF0aC5zdWJzdHJpbmcoMCwgZmlsZVBhdGgubGFzdEluZGV4T2YoJy8nKSArIDEpO1xuICAgICAgICBmaWxlTmFtZSA9IGZpbGVQYXRoLnNwbGl0KCcvJykucG9wKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmNvcmRvdmFGaWxlLmNoZWNrRmlsZShmb2xkZXIsIGZpbGVOYW1lKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gZmlsZVBhdGgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsaXN0RmlsZXMoZm9sZGVyOiBzdHJpbmcsIHNlYXJjaDogc3RyaW5nIHwgUmVnRXhwKTogUHJvbWlzZTxNYXA8c3RyaW5nLCBhbnk+W10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoZm9sZGVyLCBkaXJlY3RvcnkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZGlyZWN0b3J5LmZpbGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeS5jcmVhdGVSZWFkZXIoKS5yZWFkRW50cmllcyhlbnRyaWVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWFyY2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzID0gZW50cmllcy5maWx0ZXIoZSA9PiBlLm5hbWUubWF0Y2goc2VhcmNoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzID0gZW50cmllcy5tYXAoIGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgOiBlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRGlyZWN0b3J5IDogZS5pc0RpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA6IGUubmF0aXZlVVJMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShlbnRyaWVzKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgcmVqZWN0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKFtdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCByZWplY3QpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmV3RmlsZU5hbWUoZm9sZGVyOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3Jkb3ZhRmlsZS5jaGVja0ZpbGUoZm9sZGVyLCBmaWxlTmFtZSlcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRJbmRleCA9IGZpbGVOYW1lLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAgICAgICAgICAgaWYgKGV4dEluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLnN1YnN0cmluZygwLCBleHRJbmRleCkgKyAnXycgKyBub3coKSArICcuJyArIGZpbGVOYW1lLnN1YnN0cmluZyhleHRJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUgKyAnXycgKyBub3coKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubmV3RmlsZU5hbWUoZm9sZGVyLCBmaWxlTmFtZSk7XG4gICAgICAgICAgICB9LCAoKSA9PiBmaWxlTmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUZpbGUoZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGkgPSBmaWxlUGF0aC5sYXN0SW5kZXhPZignLycpLFxuICAgICAgICAgICAgZGlyID0gZmlsZVBhdGguc3Vic3RyaW5nKDAsIGkpLFxuICAgICAgICAgICAgZmlsZSA9IGZpbGVQYXRoLnN1YnN0cmluZyhpICsgMSk7XG4gICAgICAgIHJldHVybiB0aGlzLmNvcmRvdmFGaWxlLnJlbW92ZUZpbGUoZGlyLCBmaWxlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZW1vdmVzIHRoZSBkaXJlY3RvcnkgYXQgdGhlIHNwZWNpZmllZCBsb2NhdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXJQYXRoIGFic29sdXRlIHBhdGggb2YgZGlyZWN0b3J5XG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZURpcihkaXJQYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBpID0gZGlyUGF0aC5sYXN0SW5kZXhPZignLycpLFxuICAgICAgICAgICAgcGFyZW50ZGlyID0gZGlyUGF0aC5zdWJzdHJpbmcoMCwgaSArIDEpLFxuICAgICAgICAgICAgZGlyID0gZGlyUGF0aC5zdWJzdHJpbmcoaSArIDEpLFxuICAgICAgICAgICAgbW92ZWREaXIgPSBkaXIgKyBub3coKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29yZG92YUZpbGUuY2hlY2tEaXIocGFyZW50ZGlyLCBkaXIpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogSWYgZm9sZGVyIGlzIHJlbW92ZSBkaXJlY3RseSB3aXRob3V0IG1vdmluZywgdGhlbiBJTlZBTElEX01PRElGSUNBVElPTl9FUlIgaXMgdGhyb3duIGluIGFuZHJvaWRcbiAgICAgICAgICAgICAgICAgKiB3aGVuIGEgY29weSBvcGVyYXRpb24gaXMgZG9uZSB3aXRoIHRoZSBzYW1lIGRpcmVjdG9yeSBuYW1lLiBUbyBhdm9pZCB0aGlzLCBkaXJlY3Rvcnkgd2lsbCBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgICAqIGZpcnN0IGFuZCByZW1vdmVkLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvcmRvdmFGaWxlLm1vdmVEaXIocGFyZW50ZGlyLCBkaXIsIHBhcmVudGRpciwgbW92ZWREaXIpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuY29yZG92YUZpbGUucmVtb3ZlRGlyKHBhcmVudGRpciwgbW92ZWREaXIpKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKG5vb3ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogRGVmYXVsdCBSRUFEX0NIVU5LX1NJWkUgaXMgMjU2IEtiLiBCdXQgd2l0aCB0aGF0IHNldHRpbmcgcmVhZEpzb24gbWV0aG9kIGlzIGZhaWxpbmcuIFRoaXMgaXMgYW4gaXNzdWVcbiAgICAgICAgICogd2l0aCBjb3Jkb3ZhIGZpbGUgcGx1Z2luLiBTbywgaW5jcmVhc2luZyBpdCB0byA1MTIgS2IgdG8gcmVhZCBsYXJnZSBkYXRhYmFzZSBzY2hlbWEgZmlsZXMgKD4yNTYgS2IpLlxuICAgICAgICAgKi9cbiAgICAgICAgRmlsZVJlYWRlci5SRUFEX0NIVU5LX1NJWkUgPSA1MTIgKiAxMDI0O1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29yZG92YUFwcFZlcnNpb24uZ2V0QXBwTmFtZSgpO1xuICAgICAgICAgICAgfSkudGhlbihhcHBOYW1lID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuX2FwcE5hbWUgPSBhcHBOYW1lO1xuICAgICAgICAgICAgICAgIHByb21pc2VzLnB1c2godGhpcy5jcmVhdGVGb2xkZXJJZk5vdEV4aXN0cyh0aGlzLmdldFRlbXBvcmFyeVJvb3RQYXRoKCksXG4gICAgICAgICAgICAgICAgICAgIEFQUF9GT0xERVJfU1RSVUNUVVJFLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9maWxlVHlwZVZzUGF0aE1hcC50ZW1wb3JhcnkpKTtcbiAgICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMuY3JlYXRlRm9sZGVySWZOb3RFeGlzdHModGhpcy5nZXRQZXJzaXN0ZW50Um9vdFBhdGgoKSxcbiAgICAgICAgICAgICAgICAgICAgQVBQX0ZPTERFUl9TVFJVQ1RVUkUsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVUeXBlVnNQYXRoTWFwLnBlcnNpc3RlbnQpKTtcbiAgICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMuc2V0dXBVcGxvYWREaXJlY3RvcnkoKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0FuZHJvaWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGlzIG5lY2Vzc2FyeSB0byBwcmV2ZW50IG11bHRpcGxlIGZpbGUgcGVybWlzc2lvbiBwb3B1cC5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29yZG92YUZpbGUucmVhZEFzVGV4dChjb3Jkb3ZhLmZpbGUuZXh0ZXJuYWxSb290RGlyZWN0b3J5LCAncmFuZG9tLWZpbGUtZm9yLXBlcm1pc3Npb24nKS5jYXRjaChub29wKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2VydmljZU5hbWUoKSB7XG4gICAgICAgIHJldHVybiBEZXZpY2VGaWxlU2VydmljZS5TRVJWSUNFX05BTUU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb2xkZXJJZk5vdEV4aXN0cyhwYXJlbnQ6IHN0cmluZywgZm9sZGVycywgZmlsZVR5cGVMb2NhdGlvbk1hcCkge1xuICAgICAgICBjb25zdCBjaGlsZFByb21pc2VzID0gW107XG4gICAgICAgIGlmIChmb2xkZXJzKSB7XG4gICAgICAgICAgICBmb2xkZXJzLmZvckVhY2goZm9sZGVyID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZm9sZGVyUGF0aDtcbiAgICAgICAgICAgICAgICBmb2xkZXIubmFtZSA9IGZvbGRlci5uYW1lLnJlcGxhY2UoJ3tBUFBfTkFNRX0nLCB0aGlzLl9hcHBOYW1lKTtcbiAgICAgICAgICAgICAgICBmb2xkZXJQYXRoID0gcGFyZW50ICsgZm9sZGVyLm5hbWUgKyAnLyc7XG4gICAgICAgICAgICAgICAgaWYgKGZvbGRlci5maWxlVHlwZSAmJiAhZmlsZVR5cGVMb2NhdGlvbk1hcFtmb2xkZXIuZmlsZVR5cGVdKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVUeXBlTG9jYXRpb25NYXBbZm9sZGVyLmZpbGVUeXBlXSA9IGZvbGRlclBhdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSB0aGlzLmNvcmRvdmFGaWxlLmNyZWF0ZURpcihwYXJlbnQsIGZvbGRlci5uYW1lLCBmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5jcmVhdGVGb2xkZXJJZk5vdEV4aXN0cyhmb2xkZXJQYXRoLCBmb2xkZXIuY2hpbGRyZW4sIGZpbGVUeXBlTG9jYXRpb25NYXApLFxuICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5jcmVhdGVGb2xkZXJJZk5vdEV4aXN0cyhmb2xkZXJQYXRoLCBmb2xkZXIuY2hpbGRyZW4sIGZpbGVUeXBlTG9jYXRpb25NYXApKTtcbiAgICAgICAgICAgICAgICBjaGlsZFByb21pc2VzLnB1c2gocCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hpbGRQcm9taXNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoY2hpbGRQcm9taXNlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRGaWxlVHlwZShmaWxlTmFtZSkge1xuICAgICAgICBsZXQgZXh0ZW5zaW9uO1xuICAgICAgICBpZiAoZmlsZU5hbWUuaW5kZXhPZignLicpID4gMCkge1xuICAgICAgICAgICAgZXh0ZW5zaW9uID0gZmlsZU5hbWUuc3BsaXQoJy4nKS5wb3AoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKElNQUdFX0VYVEVOU0lPTlMuc29tZShhID0+IGEgPT09IGV4dGVuc2lvbikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsZVR5cGUuSU1BR0U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoVklERU9fRVhURU5TSU9OUy5zb21lKGEgPT4gYSA9PT0gZXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVHlwZS5WSURFTztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChBVURJT19FWFRFTlNJT05TLnNvbWUoYSA9PiBhID09PSBleHRlbnNpb24pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlLkFVRElPO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBGaWxlVHlwZS5ET0NVTUVOVDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVXBsb2FkRGlyZWN0b3J5KCkge1xuICAgICAgICBjb25zdCB1cGxvYWRzRGlyTmFtZSA9ICd1cGxvYWRzJyxcbiAgICAgICAgICAgIGFwcERpciA9IGNvcmRvdmEuZmlsZS5kYXRhRGlyZWN0b3J5O1xuICAgICAgICByZXR1cm4gdGhpcy5jb3Jkb3ZhRmlsZS5jaGVja0RpcihhcHBEaXIsIHVwbG9hZHNEaXJOYW1lKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fdXBsb2FkRGlyID0gYXBwRGlyICsgdXBsb2Fkc0Rpck5hbWUsXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5jb3Jkb3ZhRmlsZS5jcmVhdGVEaXIoYXBwRGlyLCB1cGxvYWRzRGlyTmFtZSwgdHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fdXBsb2FkRGlyID0gYXBwRGlyICsgdXBsb2Fkc0Rpck5hbWUpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXN0YXJ0LXVwLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb2JpbGUvY29yZS9zcmMvc2VydmljZXMvZGV2aWNlLXN0YXJ0LXVwLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSURldmljZVN0YXJ0VXBTZXJ2aWNlIHtcbiAgICBzdGFydDogKCkgPT4gUHJvbWlzZTxhbnk+O1xuICAgIGdldFNlcnZpY2VOYW1lOiAoKSA9PiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { File } from '@awesome-cordova-plugins/file/ngx';
|
|
3
|
-
import { $appDigest, hasCordova, noop, fetchContent, isIos } from '@wm/core';
|
|
4
|
-
import { forEach } from "lodash-es";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@awesome-cordova-plugins/file/ngx";
|
|
7
|
-
const REGISTRY_FILE_NAME = 'registry.info';
|
|
8
|
-
export class DeviceService {
|
|
9
|
-
static { this.SERVICE_NAME = 'DeviceService'; }
|
|
10
|
-
constructor(file) {
|
|
11
|
-
this.file = file;
|
|
12
|
-
this._registry = {};
|
|
13
|
-
this._isReady = false;
|
|
14
|
-
this._whenReadyPromises = [];
|
|
15
|
-
this._backBtnTapListeners = [];
|
|
16
|
-
this._startUpServices = [];
|
|
17
|
-
this._config = {};
|
|
18
|
-
const maxWaitTime = 10;
|
|
19
|
-
setTimeout(() => {
|
|
20
|
-
if (!this._isReady) {
|
|
21
|
-
console.warn(`Device is not ready even after ${maxWaitTime} seconds`);
|
|
22
|
-
console.warn('Waiting For %O', this._startUpServices.map(i => i.getServiceName()));
|
|
23
|
-
}
|
|
24
|
-
}, maxWaitTime * 1000);
|
|
25
|
-
document.addEventListener('backbutton', this.executeBackTapListeners.bind(this));
|
|
26
|
-
if (hasCordova()) {
|
|
27
|
-
const port = location.port ? ':' + location.port : '';
|
|
28
|
-
const configUrl = `${location.protocol}//${location.hostname}${port}${isIos() ? '' : '/_www'}/config.json`;
|
|
29
|
-
fetchContent('json', configUrl, true, (response => {
|
|
30
|
-
if (!response.error && response.baseUrl) {
|
|
31
|
-
this._config = response;
|
|
32
|
-
}
|
|
33
|
-
}));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
executeBackTapListeners($event) {
|
|
37
|
-
forEach(this._backBtnTapListeners, fn => {
|
|
38
|
-
return fn($event) !== false;
|
|
39
|
-
});
|
|
40
|
-
// explicitly applying the digest cycle as the backbutton listener is not rendering the page content.
|
|
41
|
-
// This is because zone is not run (there is no change detection)
|
|
42
|
-
// https://weblogs.thinktecture.com/thomas/2017/02/cordova-vs-zonejs-or-why-is-angulars-document-event-listener-not-in-a-zone.html
|
|
43
|
-
$appDigest();
|
|
44
|
-
}
|
|
45
|
-
addStartUpService(service) {
|
|
46
|
-
this._startUpServices.push(service);
|
|
47
|
-
}
|
|
48
|
-
onBackButtonTap(fn) {
|
|
49
|
-
this._backBtnTapListeners.unshift(fn);
|
|
50
|
-
return () => {
|
|
51
|
-
const i = this._backBtnTapListeners.indexOf(fn);
|
|
52
|
-
if (i >= 0) {
|
|
53
|
-
this._backBtnTapListeners.splice(i, 1);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
start() {
|
|
58
|
-
if (this._isReady || this._startUpServices.length === 0) {
|
|
59
|
-
this._isReady = true;
|
|
60
|
-
return Promise.resolve();
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
return new Promise((resolve) => {
|
|
64
|
-
if (hasCordova()) {
|
|
65
|
-
document.addEventListener('deviceready', () => resolve(), false);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
resolve();
|
|
69
|
-
}
|
|
70
|
-
}).then(() => {
|
|
71
|
-
if (window['cordova']) {
|
|
72
|
-
return this.file.readAsText(cordova.file.dataDirectory, REGISTRY_FILE_NAME)
|
|
73
|
-
.then(content => this._registry = JSON.parse(content), noop);
|
|
74
|
-
}
|
|
75
|
-
}).then(() => {
|
|
76
|
-
return Promise.all(this._startUpServices.map(s => {
|
|
77
|
-
return s.start().catch((error) => {
|
|
78
|
-
console.error('%s failed to start due to: %O', s.getServiceName(), error);
|
|
79
|
-
return Promise.reject(error);
|
|
80
|
-
});
|
|
81
|
-
}));
|
|
82
|
-
}).then(() => {
|
|
83
|
-
window['wmDeviceReady'] = true;
|
|
84
|
-
document.dispatchEvent(new CustomEvent('wmDeviceReady'));
|
|
85
|
-
this._startUpServices.length = 0;
|
|
86
|
-
this._whenReadyPromises.forEach(fn => fn());
|
|
87
|
-
this._isReady = true;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
getServiceName() {
|
|
92
|
-
return DeviceService.SERVICE_NAME;
|
|
93
|
-
}
|
|
94
|
-
whenReady() {
|
|
95
|
-
if (this._isReady) {
|
|
96
|
-
return Promise.resolve();
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
return new Promise((resolve) => {
|
|
100
|
-
this._whenReadyPromises.push(resolve);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
getBaseUrl() {
|
|
105
|
-
return this._config.baseUrl === 'http://NOSERVERREQUIRED.com' ? 'NONE' : this._config.baseUrl;
|
|
106
|
-
}
|
|
107
|
-
isAppConnectedToPreview() {
|
|
108
|
-
return this._config.customUrl !== this._config.baseUrl && this.getBaseUrl() !== 'NONE';
|
|
109
|
-
}
|
|
110
|
-
getConfig() {
|
|
111
|
-
return this._config;
|
|
112
|
-
}
|
|
113
|
-
useNativeXHR() {
|
|
114
|
-
return (isIos() || this._config.useNativeXHR === true)
|
|
115
|
-
&& hasCordova()
|
|
116
|
-
&& cordova.plugin
|
|
117
|
-
&& cordova.plugin.http;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* @returns {Promise<number>} promise resolved with the app build time
|
|
121
|
-
*/
|
|
122
|
-
getAppBuildTime() {
|
|
123
|
-
return Promise.resolve(this._config.buildTime);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Stores an entry that survives app restarts and updates.
|
|
127
|
-
*
|
|
128
|
-
* @param {string} key
|
|
129
|
-
* @param {Object} value
|
|
130
|
-
* @returns {Promise<any>}
|
|
131
|
-
*/
|
|
132
|
-
storeEntry(key, value) {
|
|
133
|
-
this._registry[key] = value;
|
|
134
|
-
return this.file.writeFile(cordova.file.dataDirectory, REGISTRY_FILE_NAME, JSON.stringify(this._registry), { replace: true });
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* @param {string} key
|
|
138
|
-
* @returns {any} entry corresponding to the key
|
|
139
|
-
*/
|
|
140
|
-
getEntry(key) {
|
|
141
|
-
return this._registry[key];
|
|
142
|
-
}
|
|
143
|
-
static { this.ɵfac = function DeviceService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DeviceService)(i0.ɵɵinject(i1.File)); }; }
|
|
144
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DeviceService, factory: DeviceService.ɵfac, providedIn: 'root' }); }
|
|
145
|
-
}
|
|
146
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DeviceService, [{
|
|
147
|
-
type: Injectable,
|
|
148
|
-
args: [{ providedIn: 'root' }]
|
|
149
|
-
}], () => [{ type: i1.File }], null); })();
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb2JpbGUvY29yZS9zcmMvc2VydmljZXMvZGV2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHN0UsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQzs7O0FBSWxDLE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO0FBYTNDLE1BQU0sT0FBTyxhQUFhO2FBQ04saUJBQVksR0FBRyxlQUFlLEFBQWxCLENBQW1CO0lBUy9DLFlBQTJCLElBQVU7UUFBVixTQUFJLEdBQUosSUFBSSxDQUFNO1FBUDdCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDMUIscUJBQWdCLEdBQTRCLEVBQUUsQ0FBQztRQUMvQyxZQUFPLEdBQVcsRUFBWSxDQUFDO1FBR25DLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsV0FBVyxVQUFVLENBQUMsQ0FBQztnQkFDdEUsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMs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LEtBQUssQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUNqRCxrQkFBa0IsRUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQzlCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVEsQ0FBQyxHQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQXBKUSxhQUFhO3VFQUFiLGFBQWEsV0FBYixhQUFhLG1CQURBLE1BQU07O2lGQUNuQixhQUFhO2NBRHpCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7RmlsZX0gZnJvbSAnQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL2ZpbGUvbmd4JztcblxuaW1wb3J0IHsgJGFwcERpZ2VzdCwgaGFzQ29yZG92YSwgbm9vcCwgZmV0Y2hDb250ZW50LCBpc0lvcyB9IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHsgSURldmljZVN0YXJ0VXBTZXJ2aWNlIH0gZnJvbSAnLi9kZXZpY2Utc3RhcnQtdXAtc2VydmljZSc7XG5pbXBvcnQge2ZvckVhY2h9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCBjb3Jkb3ZhO1xuXG5jb25zdCBSRUdJU1RSWV9GSUxFX05BTUUgPSAncmVnaXN0cnkuaW5mbyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgICBiYXNlVXJsOiBzdHJpbmc7XG4gICAgY3VzdG9tVXJsU2NoZW1lOiBzdHJpbmc7XG4gICAgY3VzdG9tVXJsOiBzdHJpbmc7XG4gICAgYnVpbGRUaW1lOiBudW1iZXI7XG4gICAgZW5hYmxlU1NMUGlubmluZzogYm9vbGVhbjtcbiAgICBvZmZsaW5lU3RvcmFnZTogYm9vbGVhbjtcbiAgICB1c2VOYXRpdmVYSFI6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRGV2aWNlU2VydmljZSB7XG4gICAgc3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfTkFNRSA9ICdEZXZpY2VTZXJ2aWNlJztcblxuICAgIHByaXZhdGUgX3JlZ2lzdHJ5ID0ge307XG4gICAgcHJpdmF0ZSBfaXNSZWFkeSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3doZW5SZWFkeVByb21pc2VzID0gW107XG4gICAgcHJpdmF0ZSBfYmFja0J0blRhcExpc3RlbmVycyA9IFtdO1xuICAgIHByaXZhdGUgX3N0YXJ0VXBTZXJ2aWNlczogSURldmljZVN0YXJ0VXBTZXJ2aWNlW10gPSBbXTtcbiAgICBwcml2YXRlIF9jb25maWc6IENvbmZpZyA9IHt9IGFzIENvbmZpZztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbGU6IEZpbGUpIHtcbiAgICAgICAgY29uc3QgbWF4V2FpdFRpbWUgPSAxMDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzUmVhZHkpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYERldmljZSBpcyBub3QgcmVhZHkgZXZlbiBhZnRlciAke21heFdhaXRUaW1lfSBzZWNvbmRzYCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdXYWl0aW5nIEZvciAlTycsIHRoaXMuX3N0YXJ0VXBTZXJ2aWNlcy5tYXAoaSA9PiBpLmdldFNlcnZpY2VOYW1lKCkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgbWF4V2FpdFRpbWUgKiAxMDAwKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYmFja2J1dHRvbicsIHRoaXMuZXhlY3V0ZUJhY2tUYXBMaXN0ZW5lcnMuYmluZCh0aGlzKSk7XG4gICAgICAgIGlmIChoYXNDb3Jkb3ZhKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcnQgPSBsb2NhdGlvbi5wb3J0ID8gJzonICsgbG9jYXRpb24ucG9ydCA6ICcnO1xuICAgICAgICAgICAgY29uc3QgY29uZmlnVXJsID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8ke2xvY2F0aW9uLmhvc3RuYW1lfSR7cG9ydH0ke2lzSW9zKCkgPyAnJyA6ICcvX3d3dyd9L2NvbmZpZy5qc29uYDtcbiAgICAgICAgICAgIGZldGNoQ29udGVudCgnanNvbicsIGNvbmZpZ1VybCwgdHJ1ZSwgKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlLmVycm9yICYmIHJlc3BvbnNlLmJhc2VVcmwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnID0gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGV4ZWN1dGVCYWNrVGFwTGlzdGVuZXJzKCRldmVudCkge1xuICAgICAgICBmb3JFYWNoKHRoaXMuX2JhY2tCdG5UYXBMaXN0ZW5lcnMsIGZuID0+IHtcbiAgICAgICAgICAgIHJldHVybiBmbigkZXZlbnQpICE9PSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIGV4cGxpY2l0bHkgYXBwbHlpbmcgdGhlIGRpZ2VzdCBjeWNsZSBhcyB0aGUgYmFja2J1dHRvbiBsaXN0ZW5lciBpcyBub3QgcmVuZGVyaW5nIHRoZSBwYWdlIGNvbnRlbnQuXG4gICAgICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB6b25lIGlzIG5vdCBydW4gKHRoZXJlIGlzIG5vIGNoYW5nZSBkZXRlY3Rpb24pXG4gICAgICAgIC8vIGh0dHBzOi8vd2VibG9ncy50aGlua3RlY3R1cmUuY29tL3Rob21hcy8yMDE3LzAyL2NvcmRvdmEtdnMtem9uZWpzLW9yLXdoeS1pcy1hbmd1bGFycy1kb2N1bWVudC1ldmVudC1saXN0ZW5lci1ub3QtaW4tYS16b25lLmh0bWxcbiAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRTdGFydFVwU2VydmljZShzZXJ2aWNlOiBJRGV2aWNlU3RhcnRVcFNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5fc3RhcnRVcFNlcnZpY2VzLnB1c2goc2VydmljZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQmFja0J1dHRvblRhcChmbjogKCRldmVudCkgPT4gYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9iYWNrQnRuVGFwTGlzdGVuZXJzLnVuc2hpZnQoZm4pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2JhY2tCdG5UYXBMaXN0ZW5lcnMuaW5kZXhPZihmbik7XG4gICAgICAgICAgICBpZiAoaSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYmFja0J0blRhcExpc3RlbmVycy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXJ0KCkge1xuICAgICAgICBpZiAodGhpcy5faXNSZWFkeSB8fCB0aGlzLl9zdGFydFVwU2VydmljZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl9pc1JlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChoYXNDb3Jkb3ZhKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZGV2aWNlcmVhZHknLCAoKSA9PiByZXNvbHZlKCksIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHdpbmRvd1snY29yZG92YSddKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbGUucmVhZEFzVGV4dChjb3Jkb3ZhLmZpbGUuZGF0YURpcmVjdG9yeSwgUkVHSVNUUllfRklMRV9OQU1FKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oY29udGVudCA9PiAgdGhpcy5fcmVnaXN0cnkgPSBKU09OLnBhcnNlKGNvbnRlbnQpLCBub29wKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwodGhpcy5fc3RhcnRVcFNlcnZpY2VzLm1hcChzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHMuc3RhcnQoKS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJyVzIGZhaWxlZCB0byBzdGFydCBkdWUgdG86ICVPJywgcy5nZXRTZXJ2aWNlTmFtZSgpLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB3aW5kb3dbJ3dtRGV2aWNlUmVhZHknXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ3dtRGV2aWNlUmVhZHknKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3RhcnRVcFNlcnZpY2VzLmxlbmd0aCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5fd2hlblJlYWR5UHJvbWlzZXMuZm9yRWFjaChmbiA9PiBmbigpKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1JlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlcnZpY2VOYW1lKCkge1xuICAgICAgICByZXR1cm4gRGV2aWNlU2VydmljZS5TRVJWSUNFX05BTUU7XG4gICAgfVxuXG4gICAgcHVibGljIHdoZW5SZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX2lzUmVhZHkpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3doZW5SZWFkeVByb21pc2VzLnB1c2gocmVzb2x2ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRCYXNlVXJsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmJhc2VVcmwgPT09ICdodHRwOi8vTk9TRVJWRVJSRVFVSVJFRC5jb20nID8gJ05PTkUnIDogdGhpcy5fY29uZmlnLmJhc2VVcmw7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQXBwQ29ubmVjdGVkVG9QcmV2aWV3KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmN1c3RvbVVybCAhPT0gdGhpcy5fY29uZmlnLmJhc2VVcmwgJiYgdGhpcy5nZXRCYXNlVXJsKCkgIT09ICdOT05FJztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZmlnKCk6IENvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIHVzZU5hdGl2ZVhIUigpIHtcbiAgICAgICAgcmV0dXJuIChpc0lvcygpIHx8IHRoaXMuX2NvbmZpZy51c2VOYXRpdmVYSFIgPT09IHRydWUpXG4gICAgICAgICAgICAmJiBoYXNDb3Jkb3ZhKClcbiAgICAgICAgICAgICYmIGNvcmRvdmEucGx1Z2luXG4gICAgICAgICAgICAmJiBjb3Jkb3ZhLnBsdWdpbi5odHRwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPG51bWJlcj59IHByb21pc2UgcmVzb2x2ZWQgd2l0aCB0aGUgYXBwIGJ1aWxkIHRpbWVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QXBwQnVpbGRUaW1lKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fY29uZmlnLmJ1aWxkVGltZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RvcmVzIGFuIGVudHJ5IHRoYXQgc3Vydml2ZXMgYXBwIHJlc3RhcnRzIGFuZCB1cGRhdGVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZVxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAgICovXG4gICAgcHVibGljIHN0b3JlRW50cnkoa2V5OiBzdHJpbmcsIHZhbHVlOiBPYmplY3QpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0aGlzLl9yZWdpc3RyeVtrZXldID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbGUud3JpdGVGaWxlKGNvcmRvdmEuZmlsZS5kYXRhRGlyZWN0b3J5LFxuICAgICAgICAgICAgUkVHSVNUUllfRklMRV9OQU1FLFxuICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5fcmVnaXN0cnkpLFxuICAgICAgICAgICAgeyByZXBsYWNlOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAgICAgKiBAcmV0dXJucyB7YW55fSBlbnRyeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBrZXlcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW50cnkoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVnaXN0cnlba2V5XTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { App, getValidJSON } from '@wm/core';
|
|
3
|
-
import { forEach, remove, split, startsWith } from "lodash-es";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@wm/core";
|
|
6
|
-
export class ExtAppMessageService {
|
|
7
|
-
static { this.SERVICE_NAME = 'ExtAppMessageService'; }
|
|
8
|
-
constructor(app) {
|
|
9
|
-
this.app = app;
|
|
10
|
-
this.handlers = [];
|
|
11
|
-
document.addEventListener('externalAppMessageReceived', e => {
|
|
12
|
-
const message = (e['detail'].message);
|
|
13
|
-
this.handlers.forEach(handler => {
|
|
14
|
-
const matches = handler && message.address.match(handler.pattern);
|
|
15
|
-
if (matches && matches.length > 0) {
|
|
16
|
-
handler.callBack(message);
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* adds a listener for a message whose address matches with the given regex pattern.
|
|
23
|
-
*
|
|
24
|
-
* @param {string} messageAddressPattern a regex pattern that is used to target messages to listen.
|
|
25
|
-
* @param {Function} listener function to invoke when message that matches regex is received.
|
|
26
|
-
* message received will be sent as first argument.
|
|
27
|
-
* @returns {Function} a function which removes the listener when invoked.
|
|
28
|
-
*/
|
|
29
|
-
subscribe(messageAddressPattern, listener) {
|
|
30
|
-
const handler = {
|
|
31
|
-
pattern: new RegExp(messageAddressPattern),
|
|
32
|
-
callBack: listener
|
|
33
|
-
};
|
|
34
|
-
this.handlers.push(handler);
|
|
35
|
-
return () => remove(this.handlers, handler);
|
|
36
|
-
}
|
|
37
|
-
static { this.ɵfac = function ExtAppMessageService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ExtAppMessageService)(i0.ɵɵinject(i1.App)); }; }
|
|
38
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ExtAppMessageService, factory: ExtAppMessageService.ɵfac, providedIn: 'root' }); }
|
|
39
|
-
}
|
|
40
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExtAppMessageService, [{
|
|
41
|
-
type: Injectable,
|
|
42
|
-
args: [{ providedIn: 'root' }]
|
|
43
|
-
}], () => [{ type: i1.App }], null); })();
|
|
44
|
-
(function (window, document) {
|
|
45
|
-
'use strict';
|
|
46
|
-
// listen app-to-app communication via url schemes
|
|
47
|
-
function subString(str, begin, end) {
|
|
48
|
-
end = end < 0 ? undefined : end;
|
|
49
|
-
return (str && begin >= 0 && str.length > begin && str.substring(begin, end)) || undefined;
|
|
50
|
-
}
|
|
51
|
-
function indexOf(str, pattern) {
|
|
52
|
-
return str && str.indexOf(pattern);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* returns if oAuth flow is implicit or pkce using state object in redirect_uri response.
|
|
56
|
-
*
|
|
57
|
-
* @param {url} string which contains access token and state information.
|
|
58
|
-
* @returns {Boolean}
|
|
59
|
-
*/
|
|
60
|
-
function getFlow(url) {
|
|
61
|
-
if (!url) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
const stateObj = url.match(/\{([^)]+)\}/);
|
|
65
|
-
if (stateObj) {
|
|
66
|
-
const parsedObj = getValidJSON('{' + stateObj[1] + '}');
|
|
67
|
-
if (parsedObj && parsedObj.flow) {
|
|
68
|
-
return parsedObj.flow;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
function extractData(url) {
|
|
74
|
-
let str = subString(url, indexOf(url, '?') + 1, indexOf(url, '#'));
|
|
75
|
-
const data = {}, flow = getFlow(url);
|
|
76
|
-
// access token comes as a hash for implicit flow
|
|
77
|
-
if (flow === 'implicit') {
|
|
78
|
-
str = url.match(/access_token=([^&#]*)/)[0];
|
|
79
|
-
}
|
|
80
|
-
else if (flow === 'pkce') {
|
|
81
|
-
str = url.match(/code=([^&#]*)/)[0];
|
|
82
|
-
}
|
|
83
|
-
forEach(split(str, '&'), entry => {
|
|
84
|
-
const esplits = entry.split('=');
|
|
85
|
-
data[esplits[0]] = esplits[1];
|
|
86
|
-
});
|
|
87
|
-
return data;
|
|
88
|
-
}
|
|
89
|
-
function extractAddress(url) {
|
|
90
|
-
// access token comes as a hash for implicit flow
|
|
91
|
-
const addressKey = getFlow(url) === 'implicit' ? '#' : '?';
|
|
92
|
-
return subString(url, indexOf(url, '://') + 3, indexOf(url, addressKey));
|
|
93
|
-
}
|
|
94
|
-
function createMessage(url) {
|
|
95
|
-
return {
|
|
96
|
-
'address': extractAddress(url),
|
|
97
|
-
'data': extractData(url)
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
window['handleOpenURL'] = function (url) {
|
|
101
|
-
const handleOpenURL = window['handleOpenURL'];
|
|
102
|
-
if (handleOpenURL.isReady && !startsWith(url, 'http')) {
|
|
103
|
-
const message = createMessage(url);
|
|
104
|
-
const e = new window['CustomEvent']('externalAppMessageReceived', {
|
|
105
|
-
'detail': {
|
|
106
|
-
'message': message
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
document.dispatchEvent(e);
|
|
110
|
-
}
|
|
111
|
-
handleOpenURL.lastURL = url;
|
|
112
|
-
};
|
|
113
|
-
}(window, document));
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LWFwcC1tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb2JpbGUvY29yZS9zcmMvc2VydmljZXMvZXh0LWFwcC1tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7QUFhN0QsTUFBTSxPQUFPLG9CQUFvQjthQUNiLGlCQUFZLEdBQUcsc0JBQXNCLEFBQXpCLENBQTBCO0lBR3RELFlBQW9CLEdBQVE7UUFBUixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRnBCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFHbEIsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ3hELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBWSxDQUFDO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM1QixNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7OztP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QUM7SUFDaEMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHAsIGdldFZhbGlkSlNPTiB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7Zm9yRWFjaCwgcmVtb3ZlLCBzcGxpdCwgc3RhcnRzV2l0aH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5pbnRlcmZhY2UgTWVzc2FnZSB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGRhdGE6IE1hcDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmludGVyZmFjZSBIYW5kbGVyIHtcbiAgICBwYXR0ZXJuOiBzdHJpbmc7XG4gICAgY2FsbGJhY2s6IChtc2c6IHN0cmluZykgPT4gYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEV4dEFwcE1lc3NhZ2VTZXJ2aWNlIHtcbiAgICBzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9OQU1FID0gJ0V4dEFwcE1lc3NhZ2VTZXJ2aWNlJztcbiAgICBwcml2YXRlIGhhbmRsZXJzID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcDogQXBwKSB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2V4dGVybmFsQXBwTWVzc2FnZVJlY2VpdmVkJywgZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gKGVbJ2RldGFpbCddLm1lc3NhZ2UpIGFzIE1lc3NhZ2U7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXJzLmZvckVhY2goaGFuZGxlciA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGhhbmRsZXIgJiYgbWVzc2FnZS5hZGRyZXNzLm1hdGNoKGhhbmRsZXIucGF0dGVybik7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoZXMgJiYgbWF0Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZXIuY2FsbEJhY2sobWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGFkZHMgYSBsaXN0ZW5lciBmb3IgYSBtZXNzYWdlIHdob3NlIGFkZHJlc3MgbWF0Y2hlcyB3aXRoIHRoZSBnaXZlbiByZWdleCBwYXR0ZXJuLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VBZGRyZXNzUGF0dGVybiBhIHJlZ2V4IHBhdHRlcm4gdGhhdCBpcyB1c2VkIHRvIHRhcmdldCBtZXNzYWdlcyB0byBsaXN0ZW4uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gbGlzdGVuZXIgZnVuY3Rpb24gdG8gaW52b2tlIHdoZW4gbWVzc2FnZSB0aGF0IG1hdGNoZXMgcmVnZXggaXMgcmVjZWl2ZWQuXG4gICAgICogICAgICAgICAgICAgICAgICBtZXNzYWdlIHJlY2VpdmVkIHdpbGwgYmUgc2VudCBhcyBmaXJzdCBhcmd1bWVudC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IGEgZnVuY3Rpb24gd2hpY2ggcmVtb3ZlcyB0aGUgbGlzdGVuZXIgd2hlbiBpbnZva2VkLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdWJzY3JpYmUobWVzc2FnZUFkZHJlc3NQYXR0ZXJuLCBsaXN0ZW5lcjogKG1zZzogTWVzc2FnZSkgPT4gYW55KSB7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSB7XG4gICAgICAgICAgICBwYXR0ZXJuIDogbmV3IFJlZ0V4cChtZXNzYWdlQWRkcmVzc1BhdHRlcm4pLFxuICAgICAgICAgICAgY2FsbEJhY2sgOiBsaXN0ZW5lclxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmhhbmRsZXJzLnB1c2goaGFuZGxlcik7XG4gICAgICAgIHJldHVybiAoKSA9PiByZW1vdmUodGhpcy5oYW5kbGVycywgaGFuZGxlcik7XG4gICAgfVxuXG59XG5cbihmdW5jdGlvbiAod2luZG93LCBkb2N1bWVudCkge1xuICAgICd1c2Ugc3RyaWN0JztcbiAgICAvLyBsaXN0ZW4gYXBwLXRvLWFwcCBjb21tdW5pY2F0aW9uIHZpYSB1cmwgc2NoZW1lc1xuICAgIGZ1bmN0aW9uIHN1YlN0cmluZyhzdHIsIGJlZ2luLCBlbmQpIHtcbiAgICAgICAgZW5kID0gZW5kIDwgMCA/IHVuZGVmaW5lZCA6IGVuZDtcbiAgICAgICAgcmV0dXJuIChzdHIgJiYgYmVnaW4gPj0gMCAmJiBzdHIubGVuZ3RoID4gYmVnaW4gJiYgc3RyLnN1YnN0cmluZyhiZWdpbiwgZW5kKSkgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpbmRleE9mKHN0ciwgcGF0dGVybikge1xuICAgICAgICByZXR1cm4gc3RyICYmIHN0ci5pbmRleE9mKHBhdHRlcm4pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIGlmIG9BdXRoIGZsb3cgaXMgaW1wbGljaXQgb3IgcGtjZSB1c2luZyBzdGF0ZSBvYmplY3QgaW4gcmVkaXJlY3RfdXJpIHJlc3BvbnNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHt1cmx9IHN0cmluZyB3aGljaCBjb250YWlucyBhY2Nlc3MgdG9rZW4gYW5kIHN0YXRlIGluZm9ybWF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtCb29sZWFufVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldEZsb3codXJsKSB7XG4gICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdGVPYmogPSB1cmwubWF0Y2goL1xceyhbXildKylcXH0vKTtcbiAgICAgICAgaWYgKHN0YXRlT2JqKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRPYmogPSBnZXRWYWxpZEpTT04oJ3snICsgc3RhdGVPYmpbMV0gKyAnfScpO1xuICAgICAgICAgICAgaWYgKHBhcnNlZE9iaiAmJiBwYXJzZWRPYmouZmxvdykge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWRPYmouZmxvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGV4dHJhY3REYXRhKHVybCkge1xuICAgICAgICBsZXQgc3RyID0gc3ViU3RyaW5nKHVybCwgaW5kZXhPZih1cmwsICc/JykgKyAxLCBpbmRleE9mKHVybCwgJyMnKSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7fSwgZmxvdyA9IGdldEZsb3codXJsKTtcbiAgICAgICAgLy8gYWNjZXNzIHRva2VuIGNvbWVzIGFzIGEgaGFzaCBmb3IgaW1wbGljaXQgZmxvd1xuICAgICAgICBpZiAoZmxvdyA9PT0gJ2ltcGxpY2l0Jykge1xuICAgICAgICAgICAgc3RyID0gdXJsLm1hdGNoKC9hY2Nlc3NfdG9rZW49KFteJiNdKikvKVswXTtcbiAgICAgICAgfSBlbHNlIGlmIChmbG93ID09PSAncGtjZScpIHtcbiAgICAgICAgICAgIHN0ciA9IHVybC5tYXRjaCgvY29kZT0oW14mI10qKS8pWzBdO1xuICAgICAgICB9XG4gICAgICAgIGZvckVhY2goc3BsaXQoc3RyLCAnJicpLCBlbnRyeSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlc3BsaXRzID0gZW50cnkuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgIGRhdGFbZXNwbGl0c1swXV0gPSBlc3BsaXRzWzFdO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGV4dHJhY3RBZGRyZXNzKHVybCkge1xuICAgICAgICAvLyBhY2Nlc3MgdG9rZW4gY29tZXMgYXMgYSBoYXNoIGZvciBpbXBsaWNpdCBmbG93XG4gICAgICAgIGNvbnN0IGFkZHJlc3NLZXkgPSBnZXRGbG93KHVybCkgPT09ICdpbXBsaWNpdCcgPyAnIycgOiAnPyc7XG4gICAgICAgIHJldHVybiBzdWJTdHJpbmcodXJsLCBpbmRleE9mKHVybCwgJzovLycpICsgMywgaW5kZXhPZih1cmwsIGFkZHJlc3NLZXkpKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlTWVzc2FnZSh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdhZGRyZXNzJzogZXh0cmFjdEFkZHJlc3ModXJsKSxcbiAgICAgICAgICAgICdkYXRhJzogZXh0cmFjdERhdGEodXJsKVxuICAgICAgICB9O1xuICAgIH1cbiAgICB3aW5kb3dbJ2hhbmRsZU9wZW5VUkwnXSA9IGZ1bmN0aW9uICh1cmwpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlT3BlblVSTCA9IHdpbmRvd1snaGFuZGxlT3BlblVSTCddO1xuICAgICAgICBpZiAoaGFuZGxlT3BlblVSTC5pc1JlYWR5ICYmICFzdGFydHNXaXRoKHVybCwgJ2h0dHAnKSkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZU1lc3NhZ2UodXJsKTtcbiAgICAgICAgICAgIGNvbnN0IGUgPSBuZXcgd2luZG93WydDdXN0b21FdmVudCddKCdleHRlcm5hbEFwcE1lc3NhZ2VSZWNlaXZlZCcsIHtcbiAgICAgICAgICAgICAgICAnZGV0YWlsJzoge1xuICAgICAgICAgICAgICAgICAgICAnbWVzc2FnZSc6IG1lc3NhZ2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZSk7XG4gICAgICAgIH1cbiAgICAgICAgaGFuZGxlT3BlblVSTC5sYXN0VVJMID0gdXJsO1xuICAgIH07XG59KHdpbmRvdywgZG9jdW1lbnQpKTtcbiJdfQ==
|