design-angular-kit 1.2.1 → 1.2.2
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/README.md +461 -0
- package/esm2022/design-angular-kit.mjs +5 -0
- package/esm2022/lib/abstracts/abstract-form.component.mjs +186 -0
- package/esm2022/lib/abstracts/abstract.component.mjs +46 -0
- package/esm2022/lib/components/core/accordion/accordion.component.mjs +39 -0
- package/esm2022/lib/components/core/alert/alert.component.mjs +71 -0
- package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +43 -0
- package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +40 -0
- package/esm2022/lib/components/core/avatar/avatar.directive.mjs +78 -0
- package/esm2022/lib/components/core/avatar/avatar.module.mjs +33 -0
- package/esm2022/lib/components/core/badge/badge.directive.mjs +39 -0
- package/esm2022/lib/components/core/button/button.directive.mjs +80 -0
- package/esm2022/lib/components/core/callout/callout.component.mjs +64 -0
- package/esm2022/lib/components/core/card/card.component.mjs +59 -0
- package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +84 -0
- package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +19 -0
- package/esm2022/lib/components/core/carousel/carousel.module.mjs +18 -0
- package/esm2022/lib/components/core/chip/chip.component.mjs +136 -0
- package/esm2022/lib/components/core/collapse/collapse.component.mjs +116 -0
- package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +27 -0
- package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
- package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +55 -0
- package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +19 -0
- package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +147 -0
- package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +70 -0
- package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +18 -0
- package/esm2022/lib/components/core/forward/forward.directive.mjs +57 -0
- package/esm2022/lib/components/core/link/link.component.mjs +42 -0
- package/esm2022/lib/components/core/list/list/list.component.mjs +22 -0
- package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +56 -0
- package/esm2022/lib/components/core/list/list.module.mjs +18 -0
- package/esm2022/lib/components/core/modal/modal.component.mjs +194 -0
- package/esm2022/lib/components/core/notifications/notifications.component.mjs +111 -0
- package/esm2022/lib/components/core/pagination/pagination.component.mjs +130 -0
- package/esm2022/lib/components/core/popover/popover.directive.mjs +176 -0
- package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
- package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +25 -0
- package/esm2022/lib/components/core/spinner/spinner.component.mjs +30 -0
- package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +116 -0
- package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +22 -0
- package/esm2022/lib/components/core/steppers/steppers.module.mjs +18 -0
- package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +97 -0
- package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +39 -0
- package/esm2022/lib/components/core/tab/tab.module.mjs +18 -0
- package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +134 -0
- package/esm2022/lib/components/core/table/sort/sort.directive.mjs +123 -0
- package/esm2022/lib/components/core/table/table.component.mjs +45 -0
- package/esm2022/lib/components/core/table/table.module.mjs +19 -0
- package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +90 -0
- package/esm2022/lib/components/core/timeline/timeline.component.mjs +36 -0
- package/esm2022/lib/components/core/timeline/timeline.module.mjs +18 -0
- package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +143 -0
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +112 -0
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +48 -0
- package/esm2022/lib/components/form/form.module.mjs +63 -0
- package/esm2022/lib/components/form/input/input.component.mjs +190 -0
- package/esm2022/lib/components/form/password-input/password-input.component.mjs +149 -0
- package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +60 -0
- package/esm2022/lib/components/form/range/range.component.mjs +64 -0
- package/esm2022/lib/components/form/rating/rating.component.mjs +50 -0
- package/esm2022/lib/components/form/select/select.component.mjs +70 -0
- package/esm2022/lib/components/form/textarea/textarea.component.mjs +55 -0
- package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +191 -0
- package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +2 -0
- package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +70 -0
- package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +72 -0
- package/esm2022/lib/components/form/transfer/transfer.component.mjs +149 -0
- package/esm2022/lib/components/form/transfer/transfer.model.mjs +6 -0
- package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +142 -0
- package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +107 -0
- package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +67 -0
- package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +68 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +51 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +21 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +18 -0
- package/esm2022/lib/components/navigation/header/header.component.mjs +103 -0
- package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +27 -0
- package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +49 -0
- package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +11 -0
- package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +18 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +98 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +44 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +116 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +2 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +68 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +23 -0
- package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +50 -0
- package/esm2022/lib/components/navigation/skiplink/skiplink/skiplink.component.mjs +27 -0
- package/esm2022/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.mjs +26 -0
- package/esm2022/lib/components/navigation/skiplink/skiplink.module.mjs +18 -0
- package/esm2022/lib/components/utils/error-page/error-page.component.mjs +74 -0
- package/esm2022/lib/components/utils/icon/icon.component.mjs +63 -0
- package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +50 -0
- package/esm2022/lib/design-angular-kit.module.mjs +233 -0
- package/esm2022/lib/enums/colors.enums.mjs +12 -0
- package/esm2022/lib/enums/sizes.enum.mjs +9 -0
- package/esm2022/lib/interfaces/core.mjs +16 -0
- package/esm2022/lib/interfaces/design-angular-kit-config.mjs +7 -0
- package/esm2022/lib/interfaces/form.mjs +2 -0
- package/esm2022/lib/interfaces/icon.mjs +168 -0
- package/esm2022/lib/interfaces/sortable-table.mjs +6 -0
- package/esm2022/lib/interfaces/utils.mjs +2 -0
- package/esm2022/lib/pipes/date-ago.pipe.mjs +56 -0
- package/esm2022/lib/pipes/duration.pipe.mjs +115 -0
- package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +48 -0
- package/esm2022/lib/provide-design-angular-kit.mjs +64 -0
- package/esm2022/lib/services/notification/notification.service.mjs +120 -0
- package/esm2022/lib/utils/coercion.mjs +18 -0
- package/esm2022/lib/utils/date-utils.mjs +162 -0
- package/esm2022/lib/utils/file-utils.mjs +73 -0
- package/esm2022/lib/utils/regex.mjs +35 -0
- package/esm2022/lib/validators/it-validators.mjs +156 -0
- package/esm2022/public_api.mjs +110 -0
- package/fesm2022/design-angular-kit.mjs +6731 -0
- package/fesm2022/design-angular-kit.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/abstracts/abstract-form.component.d.ts +87 -0
- package/lib/abstracts/abstract.component.d.ts +30 -0
- package/lib/components/core/accordion/accordion.component.d.ts +18 -0
- package/lib/components/core/alert/alert.component.d.ts +44 -0
- package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +29 -0
- package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +15 -0
- package/lib/components/core/avatar/avatar.directive.d.ts +33 -0
- package/lib/components/core/avatar/avatar.module.d.ts +9 -0
- package/lib/components/core/badge/badge.directive.d.ts +23 -0
- package/lib/components/core/button/button.directive.d.ts +48 -0
- package/lib/components/core/callout/callout.component.d.ts +50 -0
- package/lib/components/core/card/card.component.d.ts +69 -0
- package/lib/components/core/carousel/carousel/carousel.component.d.ts +65 -0
- package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +15 -0
- package/lib/components/core/carousel/carousel.module.d.ts +8 -0
- package/lib/components/core/chip/chip.component.d.ts +76 -0
- package/lib/components/core/collapse/collapse.component.d.ts +67 -0
- package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
- package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
- package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
- package/lib/components/core/dimmer/dimmer.module.d.ts +9 -0
- package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +94 -0
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +46 -0
- package/lib/components/core/dropdown/dropdown.module.d.ts +8 -0
- package/lib/components/core/forward/forward.directive.d.ts +14 -0
- package/lib/components/core/link/link.component.d.ts +35 -0
- package/lib/components/core/list/list/list.component.d.ts +24 -0
- package/lib/components/core/list/list-item/list-item.component.d.ts +41 -0
- package/lib/components/core/list/list.module.d.ts +8 -0
- package/lib/components/core/modal/modal.component.d.ts +135 -0
- package/lib/components/core/notifications/notifications.component.d.ts +45 -0
- package/lib/components/core/pagination/pagination.component.d.ts +92 -0
- package/lib/components/core/popover/popover.directive.d.ts +99 -0
- package/lib/components/core/progress-bar/progress-bar.component.d.ts +31 -0
- package/lib/components/core/progress-button/progress-button.component.d.ts +21 -0
- package/lib/components/core/spinner/spinner.component.d.ts +24 -0
- package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +130 -0
- package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +24 -0
- package/lib/components/core/steppers/steppers.module.d.ts +8 -0
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +60 -0
- package/lib/components/core/tab/tab-item/tab-item.component.d.ts +38 -0
- package/lib/components/core/tab/tab.module.d.ts +8 -0
- package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +72 -0
- package/lib/components/core/table/sort/sort.directive.d.ts +53 -0
- package/lib/components/core/table/table.component.d.ts +60 -0
- package/lib/components/core/table/table.module.d.ts +9 -0
- package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +79 -0
- package/lib/components/core/timeline/timeline.component.d.ts +21 -0
- package/lib/components/core/timeline/timeline.module.d.ts +8 -0
- package/lib/components/core/tooltip/tooltip.directive.d.ts +82 -0
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +59 -0
- package/lib/components/form/checkbox/checkbox.component.d.ts +41 -0
- package/lib/components/form/form.module.d.ts +18 -0
- package/lib/components/form/input/input.component.d.ts +95 -0
- package/lib/components/form/password-input/password-input.component.d.ts +80 -0
- package/lib/components/form/radio-button/radio-button.component.d.ts +38 -0
- package/lib/components/form/range/range.component.d.ts +42 -0
- package/lib/components/form/rating/rating.component.d.ts +24 -0
- package/lib/components/form/select/select.component.d.ts +36 -0
- package/lib/components/form/textarea/textarea.component.d.ts +34 -0
- package/lib/components/form/transfer/store/transfer.reducers.d.ts +103 -0
- package/lib/components/form/transfer/store/transfer.state.d.ts +18 -0
- package/lib/components/form/transfer/store/transfer.store.d.ts +23 -0
- package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +48 -0
- package/lib/components/form/transfer/transfer.component.d.ts +75 -0
- package/{src/lib/components/form/transfer/transfer.model.ts → lib/components/form/transfer/transfer.model.d.ts} +2 -9
- package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +60 -0
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +62 -0
- package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +50 -0
- package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +28 -0
- package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +23 -0
- package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +8 -0
- package/lib/components/navigation/header/header.component.d.ts +38 -0
- package/lib/components/navigation/megamenu/megamenu.component.d.ts +22 -0
- package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +19 -0
- package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +5 -0
- package/lib/components/navigation/navbar/navbar.module.d.ts +8 -0
- package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +16 -0
- package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +7 -0
- package/lib/components/navigation/navscroll/navscroll.component.d.ts +47 -0
- package/{src/lib/components/navigation/navscroll/navscroll.model.ts → lib/components/navigation/navscroll/navscroll.model.d.ts} +5 -7
- package/lib/components/navigation/navscroll/navscroll.store.d.ts +16 -0
- package/lib/components/navigation/navscroll/navscroll.utils.d.ts +6 -0
- package/lib/components/navigation/sidebar/sidebar.component.d.ts +26 -0
- package/lib/components/navigation/skiplink/skiplink/skiplink.component.d.ts +17 -0
- package/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.d.ts +24 -0
- package/lib/components/navigation/skiplink/skiplink.module.d.ts +8 -0
- package/lib/components/utils/error-page/error-page.component.d.ts +44 -0
- package/lib/components/utils/icon/icon.component.d.ts +53 -0
- package/lib/components/utils/language-switcher/language-switcher.component.d.ts +27 -0
- package/lib/design-angular-kit.module.d.ts +53 -0
- package/lib/enums/colors.enums.d.ts +10 -0
- package/lib/enums/sizes.enum.d.ts +7 -0
- package/{src/lib/interfaces/core.ts → lib/interfaces/core.d.ts} +53 -95
- package/lib/interfaces/design-angular-kit-config.d.ts +30 -0
- package/lib/interfaces/form.d.ts +67 -0
- package/lib/interfaces/icon.d.ts +4 -0
- package/lib/interfaces/sortable-table.d.ts +33 -0
- package/lib/interfaces/utils.d.ts +10 -0
- package/lib/pipes/date-ago.pipe.d.ts +17 -0
- package/lib/pipes/duration.pipe.d.ts +35 -0
- package/lib/pipes/mark-matching-text.pipe.d.ts +18 -0
- package/lib/provide-design-angular-kit.d.ts +7 -0
- package/lib/services/notification/notification.service.d.ts +63 -0
- package/{src/lib/utils/coercion.ts → lib/utils/coercion.d.ts} +1 -7
- package/lib/utils/date-utils.d.ts +79 -0
- package/lib/utils/file-utils.d.ts +32 -0
- package/lib/utils/regex.d.ts +34 -0
- package/lib/validators/it-validators.d.ts +69 -0
- package/package.json +14 -9
- package/{src/public_api.ts → public_api.d.ts} +0 -43
- package/schematics/ng-add/index.d.ts +3 -0
- package/schematics/ng-add/index.js +29 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/index.spec.d.ts +1 -0
- package/schematics/ng-add/index.spec.js +43 -0
- package/schematics/ng-add/index.spec.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-animations.d.ts +2 -0
- package/schematics/ng-add/rules/setup-project/add-animations.js +11 -0
- package/schematics/ng-add/rules/setup-project/add-animations.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-assets.d.ts +3 -0
- package/schematics/ng-add/rules/setup-project/add-assets.js +50 -0
- package/schematics/ng-add/rules/setup-project/add-assets.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.d.ts +3 -0
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +43 -0
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-http-client.d.ts +2 -0
- package/schematics/ng-add/rules/setup-project/add-http-client.js +11 -0
- package/schematics/ng-add/rules/setup-project/add-http-client.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.d.ts +11 -0
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +112 -0
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-localisation.d.ts +3 -0
- package/schematics/ng-add/rules/setup-project/add-localisation.js +50 -0
- package/schematics/ng-add/rules/setup-project/add-localisation.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/angular-json-helper.d.ts +2 -0
- package/schematics/ng-add/rules/setup-project/angular-json-helper.js +13 -0
- package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/exceptions.d.ts +7 -0
- package/schematics/ng-add/rules/setup-project/exceptions.js +17 -0
- package/schematics/ng-add/rules/setup-project/exceptions.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/index.js +23 -0
- package/schematics/ng-add/rules/setup-project/index.js.map +1 -0
- package/schematics/ng-add/{schema.ts → schema.d.ts} +1 -1
- package/schematics/ng-add/schema.js +3 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/setup-project.d.ts +3 -0
- package/schematics/ng-add/setup-project.js +37 -0
- package/schematics/ng-add/setup-project.js.map +1 -0
- package/schematics/ng-add/setup-project.spec.d.ts +1 -0
- package/schematics/ng-add/setup-project.spec.js +139 -0
- package/schematics/ng-add/setup-project.spec.js.map +1 -0
- package/schematics/ng-add/utils.d.ts +14 -0
- package/schematics/ng-add/utils.js +49 -0
- package/schematics/ng-add/utils.js.map +1 -0
- package/schematics/ng-add/versions-helper.d.ts +3 -0
- package/schematics/ng-add/versions-helper.js +40 -0
- package/schematics/ng-add/versions-helper.js.map +1 -0
- package/.eslintrc.json +0 -31
- package/karma.conf.js +0 -38
- package/ng-package.json +0 -9
- package/ng-package.prod.json +0 -8
- package/schematics/ng-add/index.spec.ts +0 -45
- package/schematics/ng-add/index.ts +0 -36
- package/schematics/ng-add/rules/setup-project/add-animations.ts +0 -7
- package/schematics/ng-add/rules/setup-project/add-assets.ts +0 -45
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.ts +0 -40
- package/schematics/ng-add/rules/setup-project/add-http-client.ts +0 -7
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.ts +0 -120
- package/schematics/ng-add/rules/setup-project/add-localisation.ts +0 -45
- package/schematics/ng-add/rules/setup-project/angular-json-helper.ts +0 -11
- package/schematics/ng-add/rules/setup-project/exceptions.ts +0 -13
- package/schematics/ng-add/setup-project.spec.ts +0 -166
- package/schematics/ng-add/setup-project.ts +0 -31
- package/schematics/ng-add/utils.ts +0 -71
- package/schematics/ng-add/versions-helper.ts +0 -41
- package/src/lib/abstracts/abstract-form.component.ts +0 -200
- package/src/lib/abstracts/abstract.component.ts +0 -63
- package/src/lib/components/core/accordion/accordion.component.html +0 -27
- package/src/lib/components/core/accordion/accordion.component.spec.ts +0 -21
- package/src/lib/components/core/accordion/accordion.component.ts +0 -40
- package/src/lib/components/core/alert/alert.component.html +0 -19
- package/src/lib/components/core/alert/alert.component.scss +0 -3
- package/src/lib/components/core/alert/alert.component.spec.ts +0 -62
- package/src/lib/components/core/alert/alert.component.ts +0 -75
- package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.html +0 -23
- package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.scss +0 -17
- package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.spec.ts +0 -21
- package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.ts +0 -50
- package/src/lib/components/core/avatar/avatar-group/avatar-group.component.html +0 -7
- package/src/lib/components/core/avatar/avatar-group/avatar-group.component.spec.ts +0 -38
- package/src/lib/components/core/avatar/avatar-group/avatar-group.component.ts +0 -25
- package/src/lib/components/core/avatar/avatar.directive.ts +0 -73
- package/src/lib/components/core/avatar/avatar.module.ts +0 -18
- package/src/lib/components/core/badge/badge.directive.spec.ts +0 -59
- package/src/lib/components/core/badge/badge.directive.ts +0 -39
- package/src/lib/components/core/button/button.directive.spec.ts +0 -96
- package/src/lib/components/core/button/button.directive.ts +0 -89
- package/src/lib/components/core/callout/callout.component.html +0 -25
- package/src/lib/components/core/callout/callout.component.spec.ts +0 -138
- package/src/lib/components/core/callout/callout.component.ts +0 -92
- package/src/lib/components/core/card/card.component.html +0 -35
- package/src/lib/components/core/card/card.component.scss +0 -30
- package/src/lib/components/core/card/card.component.spec.ts +0 -21
- package/src/lib/components/core/card/card.component.ts +0 -78
- package/src/lib/components/core/carousel/carousel/carousel.component.html +0 -29
- package/src/lib/components/core/carousel/carousel/carousel.component.scss +0 -1
- package/src/lib/components/core/carousel/carousel/carousel.component.spec.ts +0 -21
- package/src/lib/components/core/carousel/carousel/carousel.component.ts +0 -119
- package/src/lib/components/core/carousel/carousel-item/carousel-item.component.html +0 -3
- package/src/lib/components/core/carousel/carousel-item/carousel-item.component.spec.ts +0 -22
- package/src/lib/components/core/carousel/carousel-item/carousel-item.component.ts +0 -20
- package/src/lib/components/core/carousel/carousel.module.ts +0 -11
- package/src/lib/components/core/chip/chip.component.html +0 -26
- package/src/lib/components/core/chip/chip.component.spec.ts +0 -87
- package/src/lib/components/core/chip/chip.component.ts +0 -154
- package/src/lib/components/core/collapse/collapse.component.html +0 -3
- package/src/lib/components/core/collapse/collapse.component.spec.ts +0 -21
- package/src/lib/components/core/collapse/collapse.component.ts +0 -124
- package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.html +0 -3
- package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.spec.ts +0 -35
- package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.ts +0 -23
- package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.html +0 -3
- package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.spec.ts +0 -22
- package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.ts +0 -10
- package/src/lib/components/core/dimmer/dimmer.component.html +0 -7
- package/src/lib/components/core/dimmer/dimmer.component.spec.ts +0 -49
- package/src/lib/components/core/dimmer/dimmer.component.ts +0 -50
- package/src/lib/components/core/dimmer/dimmer.module.ts +0 -12
- package/src/lib/components/core/dropdown/dropdown/dropdown.component.html +0 -45
- package/src/lib/components/core/dropdown/dropdown/dropdown.component.scss +0 -3
- package/src/lib/components/core/dropdown/dropdown/dropdown.component.spec.ts +0 -21
- package/src/lib/components/core/dropdown/dropdown/dropdown.component.ts +0 -186
- package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.html +0 -18
- package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.scss +0 -4
- package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.spec.ts +0 -21
- package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.ts +0 -82
- package/src/lib/components/core/dropdown/dropdown.module.ts +0 -11
- package/src/lib/components/core/forward/forward.directive.spec.ts +0 -60
- package/src/lib/components/core/forward/forward.directive.ts +0 -43
- package/src/lib/components/core/link/link.component.html +0 -13
- package/src/lib/components/core/link/link.component.spec.ts +0 -21
- package/src/lib/components/core/link/link.component.ts +0 -54
- package/src/lib/components/core/list/list/list.component.html +0 -13
- package/src/lib/components/core/list/list/list.component.spec.ts +0 -21
- package/src/lib/components/core/list/list/list.component.ts +0 -30
- package/src/lib/components/core/list/list-item/list-item.component.html +0 -42
- package/src/lib/components/core/list/list-item/list-item.component.scss +0 -16
- package/src/lib/components/core/list/list-item/list-item.component.spec.ts +0 -21
- package/src/lib/components/core/list/list-item/list-item.component.ts +0 -75
- package/src/lib/components/core/list/list.module.ts +0 -11
- package/src/lib/components/core/modal/modal.component.html +0 -36
- package/src/lib/components/core/modal/modal.component.scss +0 -3
- package/src/lib/components/core/modal/modal.component.spec.ts +0 -21
- package/src/lib/components/core/modal/modal.component.ts +0 -218
- package/src/lib/components/core/notifications/notifications.component.html +0 -25
- package/src/lib/components/core/notifications/notifications.component.scss +0 -3
- package/src/lib/components/core/notifications/notifications.component.spec.ts +0 -21
- package/src/lib/components/core/notifications/notifications.component.ts +0 -123
- package/src/lib/components/core/pagination/pagination.component.html +0 -107
- package/src/lib/components/core/pagination/pagination.component.spec.ts +0 -21
- package/src/lib/components/core/pagination/pagination.component.ts +0 -157
- package/src/lib/components/core/popover/popover.directive.spec.ts +0 -21
- package/src/lib/components/core/popover/popover.directive.ts +0 -171
- package/src/lib/components/core/progress-bar/progress-bar.component.html +0 -20
- package/src/lib/components/core/progress-bar/progress-bar.component.spec.ts +0 -21
- package/src/lib/components/core/progress-bar/progress-bar.component.ts +0 -46
- package/src/lib/components/core/progress-button/progress-button.component.html +0 -5
- package/src/lib/components/core/progress-button/progress-button.component.spec.ts +0 -21
- package/src/lib/components/core/progress-button/progress-button.component.ts +0 -39
- package/src/lib/components/core/spinner/spinner.component.html +0 -7
- package/src/lib/components/core/spinner/spinner.component.spec.ts +0 -80
- package/src/lib/components/core/spinner/spinner.component.ts +0 -31
- package/src/lib/components/core/steppers/steppers-container/steppers-container.component.html +0 -126
- package/src/lib/components/core/steppers/steppers-container/steppers-container.component.spec.ts +0 -21
- package/src/lib/components/core/steppers/steppers-container/steppers-container.component.ts +0 -185
- package/src/lib/components/core/steppers/steppers-item/steppers-item.component.html +0 -3
- package/src/lib/components/core/steppers/steppers-item/steppers-item.component.spec.ts +0 -22
- package/src/lib/components/core/steppers/steppers-item/steppers-item.component.ts +0 -33
- package/src/lib/components/core/steppers/steppers.module.ts +0 -11
- package/src/lib/components/core/tab/tab-container/tab-container.component.html +0 -78
- package/src/lib/components/core/tab/tab-container/tab-container.component.spec.ts +0 -21
- package/src/lib/components/core/tab/tab-container/tab-container.component.ts +0 -137
- package/src/lib/components/core/tab/tab-item/tab-item.component.html +0 -3
- package/src/lib/components/core/tab/tab-item/tab-item.component.spec.ts +0 -22
- package/src/lib/components/core/tab/tab-item/tab-item.component.ts +0 -50
- package/src/lib/components/core/tab/tab.module.ts +0 -11
- package/src/lib/components/core/table/sort/sort-header/sort-header.component.html +0 -27
- package/src/lib/components/core/table/sort/sort-header/sort-header.component.scss +0 -65
- package/src/lib/components/core/table/sort/sort-header/sort-header.component.spec.ts +0 -25
- package/src/lib/components/core/table/sort/sort-header/sort-header.component.ts +0 -164
- package/src/lib/components/core/table/sort/sort.directive.spec.ts +0 -73
- package/src/lib/components/core/table/sort/sort.directive.ts +0 -142
- package/src/lib/components/core/table/table.component.html +0 -23
- package/src/lib/components/core/table/table.component.scss +0 -7
- package/src/lib/components/core/table/table.component.spec.ts +0 -21
- package/src/lib/components/core/table/table.component.ts +0 -70
- package/src/lib/components/core/table/table.module.ts +0 -12
- package/src/lib/components/core/timeline/timeline-item/timeline-item.component.html +0 -47
- package/src/lib/components/core/timeline/timeline-item/timeline-item.component.spec.ts +0 -24
- package/src/lib/components/core/timeline/timeline-item/timeline-item.component.ts +0 -102
- package/src/lib/components/core/timeline/timeline.component.html +0 -21
- package/src/lib/components/core/timeline/timeline.component.spec.ts +0 -21
- package/src/lib/components/core/timeline/timeline.component.ts +0 -31
- package/src/lib/components/core/timeline/timeline.module.ts +0 -11
- package/src/lib/components/core/tooltip/tooltip.directive.spec.ts +0 -20
- package/src/lib/components/core/tooltip/tooltip.directive.ts +0 -141
- package/src/lib/components/form/autocomplete/autocomplete.component.html +0 -58
- package/src/lib/components/form/autocomplete/autocomplete.component.spec.ts +0 -21
- package/src/lib/components/form/autocomplete/autocomplete.component.ts +0 -130
- package/src/lib/components/form/checkbox/checkbox.component.html +0 -67
- package/src/lib/components/form/checkbox/checkbox.component.spec.ts +0 -21
- package/src/lib/components/form/checkbox/checkbox.component.ts +0 -65
- package/src/lib/components/form/form.module.ts +0 -34
- package/src/lib/components/form/input/input.component.html +0 -92
- package/src/lib/components/form/input/input.component.scss +0 -29
- package/src/lib/components/form/input/input.component.spec.ts +0 -21
- package/src/lib/components/form/input/input.component.ts +0 -234
- package/src/lib/components/form/password-input/password-input.component.html +0 -65
- package/src/lib/components/form/password-input/password-input.component.scss +0 -9
- package/src/lib/components/form/password-input/password-input.component.spec.ts +0 -21
- package/src/lib/components/form/password-input/password-input.component.ts +0 -171
- package/src/lib/components/form/radio-button/radio-button.component.html +0 -50
- package/src/lib/components/form/radio-button/radio-button.component.scss +0 -14
- package/src/lib/components/form/radio-button/radio-button.component.spec.ts +0 -21
- package/src/lib/components/form/radio-button/radio-button.component.ts +0 -82
- package/src/lib/components/form/range/range.component.html +0 -17
- package/src/lib/components/form/range/range.component.scss +0 -17
- package/src/lib/components/form/range/range.component.spec.ts +0 -21
- package/src/lib/components/form/range/range.component.ts +0 -100
- package/src/lib/components/form/rating/rating.component.html +0 -24
- package/src/lib/components/form/rating/rating.component.spec.ts +0 -21
- package/src/lib/components/form/rating/rating.component.ts +0 -52
- package/src/lib/components/form/select/select.component.html +0 -54
- package/src/lib/components/form/select/select.component.scss +0 -3
- package/src/lib/components/form/select/select.component.spec.ts +0 -22
- package/src/lib/components/form/select/select.component.ts +0 -91
- package/src/lib/components/form/textarea/textarea.component.html +0 -28
- package/src/lib/components/form/textarea/textarea.component.scss +0 -12
- package/src/lib/components/form/textarea/textarea.component.spec.ts +0 -21
- package/src/lib/components/form/textarea/textarea.component.ts +0 -61
- package/src/lib/components/form/transfer/store/transfer.reducers.ts +0 -242
- package/src/lib/components/form/transfer/store/transfer.state.ts +0 -20
- package/src/lib/components/form/transfer/store/transfer.store.ts +0 -88
- package/src/lib/components/form/transfer/transfer-list/transfer-list.component.html +0 -42
- package/src/lib/components/form/transfer/transfer-list/transfer-list.component.spec.ts +0 -33
- package/src/lib/components/form/transfer/transfer-list/transfer-list.component.ts +0 -93
- package/src/lib/components/form/transfer/transfer.component.html +0 -52
- package/src/lib/components/form/transfer/transfer.component.spec.ts +0 -27
- package/src/lib/components/form/transfer/transfer.component.ts +0 -159
- package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.html +0 -36
- package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.spec.ts +0 -21
- package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.ts +0 -170
- package/src/lib/components/form/upload-file-list/upload-file-list.component.html +0 -46
- package/src/lib/components/form/upload-file-list/upload-file-list.component.spec.ts +0 -22
- package/src/lib/components/form/upload-file-list/upload-file-list.component.ts +0 -120
- package/src/lib/components/navigation/back-button/back-button.component.html +0 -25
- package/src/lib/components/navigation/back-button/back-button.component.spec.ts +0 -91
- package/src/lib/components/navigation/back-button/back-button.component.ts +0 -67
- package/src/lib/components/navigation/back-to-top/back-to-top.component.html +0 -11
- package/src/lib/components/navigation/back-to-top/back-to-top.component.spec.ts +0 -21
- package/src/lib/components/navigation/back-to-top/back-to-top.component.ts +0 -80
- package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.html +0 -23
- package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.spec.ts +0 -21
- package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.ts +0 -68
- package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.html +0 -3
- package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.spec.ts +0 -22
- package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.ts +0 -29
- package/src/lib/components/navigation/breadcrumbs/breadcrumbs.module.ts +0 -11
- package/src/lib/components/navigation/header/header.component.html +0 -102
- package/src/lib/components/navigation/header/header.component.scss +0 -3
- package/src/lib/components/navigation/header/header.component.spec.ts +0 -21
- package/src/lib/components/navigation/header/header.component.ts +0 -107
- package/src/lib/components/navigation/megamenu/megamenu.component.html +0 -34
- package/src/lib/components/navigation/megamenu/megamenu.component.scss +0 -5
- package/src/lib/components/navigation/megamenu/megamenu.component.ts +0 -30
- package/src/lib/components/navigation/navbar/navbar/navbar.component.html +0 -28
- package/src/lib/components/navigation/navbar/navbar/navbar.component.ts +0 -45
- package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.html +0 -3
- package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.ts +0 -10
- package/src/lib/components/navigation/navbar/navbar.module.ts +0 -11
- package/src/lib/components/navigation/navscroll/navscroll-list-item.component.ts +0 -95
- package/src/lib/components/navigation/navscroll/navscroll-list-items.component.ts +0 -27
- package/src/lib/components/navigation/navscroll/navscroll.component.html +0 -101
- package/src/lib/components/navigation/navscroll/navscroll.component.scss +0 -9
- package/src/lib/components/navigation/navscroll/navscroll.component.ts +0 -143
- package/src/lib/components/navigation/navscroll/navscroll.store.ts +0 -96
- package/src/lib/components/navigation/navscroll/navscroll.utils.ts +0 -28
- package/src/lib/components/navigation/sidebar/sidebar.component.html +0 -11
- package/src/lib/components/navigation/sidebar/sidebar.component.spec.ts +0 -21
- package/src/lib/components/navigation/sidebar/sidebar.component.ts +0 -39
- package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.html +0 -15
- package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.ts +0 -27
- package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.html +0 -15
- package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.ts +0 -38
- package/src/lib/components/navigation/skiplink/skiplink.module.ts +0 -11
- package/src/lib/components/utils/error-page/error-page.component.html +0 -33
- package/src/lib/components/utils/error-page/error-page.component.spec.ts +0 -21
- package/src/lib/components/utils/error-page/error-page.component.ts +0 -79
- package/src/lib/components/utils/icon/icon.component.html +0 -6
- package/src/lib/components/utils/icon/icon.component.spec.ts +0 -21
- package/src/lib/components/utils/icon/icon.component.ts +0 -95
- package/src/lib/components/utils/language-switcher/language-switcher.component.html +0 -21
- package/src/lib/components/utils/language-switcher/language-switcher.component.spec.ts +0 -21
- package/src/lib/components/utils/language-switcher/language-switcher.component.ts +0 -56
- package/src/lib/design-angular-kit.module.ts +0 -131
- package/src/lib/enums/colors.enums.ts +0 -10
- package/src/lib/enums/sizes.enum.ts +0 -7
- package/src/lib/interfaces/design-angular-kit-config.ts +0 -34
- package/src/lib/interfaces/form.ts +0 -78
- package/src/lib/interfaces/icon.ts +0 -176
- package/src/lib/interfaces/sortable-table.ts +0 -42
- package/src/lib/interfaces/utils.ts +0 -11
- package/src/lib/pipes/date-ago.pipe.ts +0 -57
- package/src/lib/pipes/duration.pipe.ts +0 -112
- package/src/lib/pipes/mark-matching-text.pipe.ts +0 -43
- package/src/lib/provide-design-angular-kit.ts +0 -73
- package/src/lib/services/notification/notification.service.spec.ts +0 -16
- package/src/lib/services/notification/notification.service.ts +0 -119
- package/src/lib/utils/date-utils.ts +0 -184
- package/src/lib/utils/file-utils.ts +0 -80
- package/src/lib/utils/regex.ts +0 -44
- package/src/lib/validators/it-validators.ts +0 -193
- package/src/test.ts +0 -26
- package/tsconfig.lib.json +0 -24
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.schematics.json +0 -25
- package/tsconfig.spec.json +0 -9
- /package/schematics/ng-add/rules/setup-project/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { NotificationType } from '../../../interfaces/core';
|
|
3
|
+
import { Notification as BSNotification } from 'bootstrap-italia';
|
|
4
|
+
import { ItIconComponent } from '../../utils/icon/icon.component';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import { inputToBoolean } from '../../../utils/coercion';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../../services/notification/notification.service";
|
|
9
|
+
import * as i2 from "@ngx-translate/core";
|
|
10
|
+
export class ItNotificationsComponent {
|
|
11
|
+
constructor(_changeDetectorRef, _notificationService) {
|
|
12
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
13
|
+
this._notificationService = _notificationService;
|
|
14
|
+
/**
|
|
15
|
+
* Default notifications duration (milliseconds)
|
|
16
|
+
* @default 8000
|
|
17
|
+
*/
|
|
18
|
+
this.duration = 8000;
|
|
19
|
+
/**
|
|
20
|
+
* Default notifications is dismissible
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
this.dismissible = true;
|
|
24
|
+
this.notificationCount = 0;
|
|
25
|
+
this.notifications = [];
|
|
26
|
+
this.subscription = this._notificationService.onNotification().subscribe(notification => {
|
|
27
|
+
if (!notification.duration) {
|
|
28
|
+
notification.duration = this.duration; // Add duration if not is set
|
|
29
|
+
}
|
|
30
|
+
if (!notification.position && this.position) {
|
|
31
|
+
notification.position = this.position; // Add position if not is set
|
|
32
|
+
}
|
|
33
|
+
if (notification.dismissible === undefined && this.dismissible) {
|
|
34
|
+
notification.dismissible = true; // Add dismissible if not is set
|
|
35
|
+
}
|
|
36
|
+
if (!notification.icon) {
|
|
37
|
+
notification.icon = this.getNotificationIcon(notification);
|
|
38
|
+
}
|
|
39
|
+
const newNotification = {
|
|
40
|
+
...notification,
|
|
41
|
+
id: `${notification.type}-${this.notificationCount++}-notification`,
|
|
42
|
+
};
|
|
43
|
+
this.notifications.push(newNotification);
|
|
44
|
+
this._changeDetectorRef.detectChanges();
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
// Show the notification
|
|
47
|
+
new BSNotification(document.getElementById(newNotification.id), {
|
|
48
|
+
timeout: notification.duration,
|
|
49
|
+
}).show();
|
|
50
|
+
// Clear notification after the duration
|
|
51
|
+
setTimeout(() => {
|
|
52
|
+
const index = this.notifications.findIndex(n => n.id === newNotification.id);
|
|
53
|
+
if (index > -1) {
|
|
54
|
+
this.notifications.splice(index, 1);
|
|
55
|
+
if (!this.notifications.length) {
|
|
56
|
+
this.notificationCount = 0;
|
|
57
|
+
}
|
|
58
|
+
this._changeDetectorRef.detectChanges();
|
|
59
|
+
}
|
|
60
|
+
}, notification.duration);
|
|
61
|
+
}, 200);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
ngOnDestroy() {
|
|
65
|
+
this.subscription.unsubscribe();
|
|
66
|
+
}
|
|
67
|
+
get NotificationType() {
|
|
68
|
+
return NotificationType;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Hide the notification
|
|
72
|
+
* @param id
|
|
73
|
+
*/
|
|
74
|
+
hideNotification(id) {
|
|
75
|
+
BSNotification.getInstance(document.getElementById(id))?.hide();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Retrieve the icon name by notification type
|
|
79
|
+
* @param notification the notification
|
|
80
|
+
* @protected
|
|
81
|
+
*/
|
|
82
|
+
getNotificationIcon(notification) {
|
|
83
|
+
switch (notification.type) {
|
|
84
|
+
case NotificationType.Success:
|
|
85
|
+
return 'check-circle';
|
|
86
|
+
case NotificationType.Error:
|
|
87
|
+
return 'close-circle';
|
|
88
|
+
case NotificationType.Warning:
|
|
89
|
+
return 'error';
|
|
90
|
+
case NotificationType.Info:
|
|
91
|
+
return 'info-circle';
|
|
92
|
+
case NotificationType.Standard:
|
|
93
|
+
default:
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNotificationsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ItNotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItNotificationsComponent, isStandalone: true, selector: "it-notifications", inputs: { duration: "duration", position: "position", dismissible: ["dismissible", "dismissible", inputToBoolean] }, ngImport: i0, template: "@for (notification of notifications; track notification.id) {\n <div\n [id]=\"notification.id\"\n class=\"notification {{ notification.position }} {{ notification.type }}\"\n [class.with-icon]=\"!!notification.icon\"\n [class.dismissable]=\"notification.dismissible\"\n role=\"alert\"\n [attr.aria-labelledby]=\"notification.id + '-title'\">\n <h2 [id]=\"notification.id + '-title'\" class=\"h5\">\n @if (notification.icon) {\n <it-icon [name]=\"notification.icon\"></it-icon>\n }\n <ng-container>{{ notification.title }}</ng-container>\n </h2>\n @if (notification.message) {\n <p>{{ notification.message }}</p>\n }\n @if (notification.dismissible) {\n <button type=\"button\" class=\"btn notification-close\" (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.close-notification' | translate: { title: notification.title } }}</span>\n </button>\n }\n </div>\n}\n", styles: [".notification{z-index:10000}\n"], dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "title", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
99
|
+
}
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNotificationsComponent, decorators: [{
|
|
101
|
+
type: Component,
|
|
102
|
+
args: [{ standalone: true, selector: 'it-notifications', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, TranslateModule], template: "@for (notification of notifications; track notification.id) {\n <div\n [id]=\"notification.id\"\n class=\"notification {{ notification.position }} {{ notification.type }}\"\n [class.with-icon]=\"!!notification.icon\"\n [class.dismissable]=\"notification.dismissible\"\n role=\"alert\"\n [attr.aria-labelledby]=\"notification.id + '-title'\">\n <h2 [id]=\"notification.id + '-title'\" class=\"h5\">\n @if (notification.icon) {\n <it-icon [name]=\"notification.icon\"></it-icon>\n }\n <ng-container>{{ notification.title }}</ng-container>\n </h2>\n @if (notification.message) {\n <p>{{ notification.message }}</p>\n }\n @if (notification.dismissible) {\n <button type=\"button\" class=\"btn notification-close\" (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.close-notification' | translate: { title: notification.title } }}</span>\n </button>\n }\n </div>\n}\n", styles: [".notification{z-index:10000}\n"] }]
|
|
103
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ItNotificationService }], propDecorators: { duration: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], position: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], dismissible: [{
|
|
108
|
+
type: Input,
|
|
109
|
+
args: [{ transform: inputToBoolean }]
|
|
110
|
+
}] } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3hHLE9BQU8sRUFBc0MsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsWUFBWSxJQUFJLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBVXpELE1BQU0sT0FBTyx3QkFBd0I7SUFzQm5DLFlBQ21CLGtCQUFxQyxFQUNyQyxvQkFBMkM7UUFEM0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXVCO1FBdkI5RDs7O1dBR0c7UUFDTSxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBT2pDOzs7V0FHRztRQUNtQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQUcxRCxzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDNUIsa0JBQWEsR0FBeUMsRUFBRSxDQUFDO1FBTWpFLElBQUksQ0FBQyxZ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Y0FBYyxDQUFDO1lBQ3hCLEtBQUssZ0JBQWdCLENBQUMsS0FBSztnQkFDekIsT0FBTyxjQUFjLENBQUM7WUFDeEIsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPO2dCQUMzQixPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLGdCQUFnQixDQUFDLElBQUk7Z0JBQ3hCLE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLEtBQUssZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1lBQy9CO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDOzhHQXZHVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixzSkFnQmYsY0FBYyw2QkNsQ3BDLHlnQ0F5QkEsd0ZEVFksZUFBZSxtSUFBRSxlQUFlOzsyRkFFL0Isd0JBQXdCO2tCQVJwQyxTQUFTO2lDQUNJLElBQUksWUFDTixrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUM7MEhBT2xDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFNZ0MsV0FBVztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJdE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25Qb3NpdGlvbiwgTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvY29yZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gYXMgQlNOb3RpZmljYXRpb24gfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9pY29uJztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtbm90aWZpY2F0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0l0SWNvbkNvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSXROb3RpZmljYXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIERlZmF1bHQgbm90aWZpY2F0aW9ucyBkdXJhdGlvbiAobWlsbGlzZWNvbmRzKVxuICAgKiBAZGVmYXVsdCA4MDAwXG4gICAqL1xuICBASW5wdXQoKSBkdXJhdGlvbjogbnVtYmVyID0gODAwMDtcblxuICAvKipcbiAgICogRGVmYXVsdCBub3RpZmljYXRpb25zIHBvc2l0aW9uXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogTm90aWZpY2F0aW9uUG9zaXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbm90aWZpY2F0aW9ucyBpcyBkaXNtaXNzaWJsZVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRpc21pc3NpYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIG5vdGlmaWNhdGlvbkNvdW50OiBudW1iZXIgPSAwO1xuICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uczogQXJyYXk8Tm90aWZpY2F0aW9uICYgeyBpZDogc3RyaW5nIH0+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25vdGlmaWNhdGlvblNlcnZpY2U6IEl0Tm90aWZpY2F0aW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uub25Ob3RpZmljYXRpb24oKS5zdWJzY3JpYmUobm90aWZpY2F0aW9uID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmR1cmF0aW9uKSB7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5kdXJhdGlvbiA9IHRoaXMuZHVyYXRpb247IC8vIEFkZCBkdXJhdGlvbiBpZiBub3QgaXMgc2V0XG4gICAgICB9XG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5wb3NpdGlvbiAmJiB0aGlzLnBvc2l0aW9uKSB7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247IC8vIEFkZCBwb3NpdGlvbiBpZiBub3QgaXMgc2V0XG4gICAgICB9XG4gICAgICBpZiAobm90aWZpY2F0aW9uLmRpc21pc3NpYmxlID09PSB1bmRlZmluZWQgJiYgdGhpcy5kaXNtaXNzaWJsZSkge1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzc2libGUgPSB0cnVlOyAvLyBBZGQgZGlzbWlzc2libGUgaWYgbm90IGlzIHNldFxuICAgICAgfVxuICAgICAgaWYgKCFub3RpZmljYXRpb24uaWNvbikge1xuICAgICAgICBub3RpZmljYXRpb24uaWNvbiA9IHRoaXMuZ2V0Tm90aWZpY2F0aW9uSWNvbihub3RpZmljYXRpb24pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdOb3RpZmljYXRpb24gPSB7XG4gICAgICAgIC4uLm5vdGlmaWNhdGlvbixcbiAgICAgICAgaWQ6IGAke25vdGlmaWNhdGlvbi50eXBlfS0ke3RoaXMubm90aWZpY2F0aW9uQ291bnQrK30tbm90aWZpY2F0aW9uYCxcbiAgICAgIH07XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaChuZXdOb3RpZmljYXRpb24pO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gU2hvdyB0aGUgbm90aWZpY2F0aW9uXG4gICAgICAgIG5ldyBCU05vdGlmaWNhdGlvbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChuZXdOb3RpZmljYXRpb24uaWQpISwge1xuICAgICAgICAgIHRpbWVvdXQ6IG5vdGlmaWNhdGlvbi5kdXJhdGlvbixcbiAgICAgICAgfSkuc2hvdygpO1xuXG4gICAgICAgIC8vIENsZWFyIG5vdGlmaWNhdGlvbiBhZnRlciB0aGUgZHVyYXRpb25cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm5vdGlmaWNhdGlvbnMuZmluZEluZGV4KG4gPT4gbi5pZCA9PT0gbmV3Tm90aWZpY2F0aW9uLmlkKTtcbiAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25Db3VudCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBub3RpZmljYXRpb24uZHVyYXRpb24pO1xuICAgICAgfSwgMjAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IE5vdGlmaWNhdGlvblR5cGUoKTogdHlwZW9mIE5vdGlmaWNhdGlvblR5cGUge1xuICAgIHJldHVybiBOb3RpZmljYXRpb25UeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIG5vdGlmaWNhdGlvblxuICAgKiBAcGFyYW0gaWRcbiAgICovXG4gIHByb3RlY3RlZCBoaWRlTm90aWZpY2F0aW9uKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBCU05vdGlmaWNhdGlvbi5nZXRJbnN0YW5jZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkhKT8uaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBpY29uIG5hbWUgYnkgbm90aWZpY2F0aW9uIHR5cGVcbiAgICogQHBhcmFtIG5vdGlmaWNhdGlvbiB0aGUgbm90aWZpY2F0aW9uXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByaXZhdGUgZ2V0Tm90aWZpY2F0aW9uSWNvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbik6IEljb25OYW1lIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKG5vdGlmaWNhdGlvbi50eXBlKSB7XG4gICAgICBjYXNlIE5vdGlmaWNhdGlvblR5cGUuU3VjY2VzczpcbiAgICAgICAgcmV0dXJuICdjaGVjay1jaXJjbGUnO1xuICAgICAgY2FzZSBOb3RpZmljYXRpb25UeXBlLkVycm9yOlxuICAgICAgICByZXR1cm4gJ2Nsb3NlLWNpcmNsZSc7XG4gICAgICBjYXNlIE5vdGlmaWNhdGlvblR5cGUuV2FybmluZzpcbiAgICAgICAgcmV0dXJuICdlcnJvcic7XG4gICAgICBjYXNlIE5vdGlmaWNhdGlvblR5cGUuSW5mbzpcbiAgICAgICAgcmV0dXJuICdpbmZvLWNpcmNsZSc7XG4gICAgICBjYXNlIE5vdGlmaWNhdGlvblR5cGUuU3RhbmRhcmQ6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIiwiQGZvciAobm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnM7IHRyYWNrIG5vdGlmaWNhdGlvbi5pZCkge1xuICA8ZGl2XG4gICAgW2lkXT1cIm5vdGlmaWNhdGlvbi5pZFwiXG4gICAgY2xhc3M9XCJub3RpZmljYXRpb24ge3sgbm90aWZpY2F0aW9uLnBvc2l0aW9uIH19IHt7IG5vdGlmaWNhdGlvbi50eXBlIH19XCJcbiAgICBbY2xhc3Mud2l0aC1pY29uXT1cIiEhbm90aWZpY2F0aW9uLmljb25cIlxuICAgIFtjbGFzcy5kaXNtaXNzYWJsZV09XCJub3RpZmljYXRpb24uZGlzbWlzc2libGVcIlxuICAgIHJvbGU9XCJhbGVydFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIm5vdGlmaWNhdGlvbi5pZCArICctdGl0bGUnXCI+XG4gICAgPGgyIFtpZF09XCJub3RpZmljYXRpb24uaWQgKyAnLXRpdGxlJ1wiIGNsYXNzPVwiaDVcIj5cbiAgICAgIEBpZiAobm90aWZpY2F0aW9uLmljb24pIHtcbiAgICAgICAgPGl0LWljb24gW25hbWVdPVwibm90aWZpY2F0aW9uLmljb25cIj48L2l0LWljb24+XG4gICAgICB9XG4gICAgICA8bmctY29udGFpbmVyPnt7IG5vdGlmaWNhdGlvbi50aXRsZSB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvaDI+XG4gICAgQGlmIChub3RpZmljYXRpb24ubWVzc2FnZSkge1xuICAgICAgPHA+e3sgbm90aWZpY2F0aW9uLm1lc3NhZ2UgfX08L3A+XG4gICAgfVxuICAgIEBpZiAobm90aWZpY2F0aW9uLmRpc21pc3NpYmxlKSB7XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBub3RpZmljYXRpb24tY2xvc2VcIiAoY2xpY2spPVwiaGlkZU5vdGlmaWNhdGlvbihub3RpZmljYXRpb24uaWQpXCI+XG4gICAgICAgIDxpdC1pY29uIG5hbWU9XCJjbG9zZVwiPjwvaXQtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuY29yZS5jbG9zZS1ub3RpZmljYXRpb24nIHwgdHJhbnNsYXRlOiB7IHRpdGxlOiBub3RpZmljYXRpb24udGl0bGUgfSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
+
import { debounceTime, distinctUntilChanged, filter } from 'rxjs';
|
|
4
|
+
import { LowerCasePipe } from '@angular/common';
|
|
5
|
+
import { ItIconComponent } from '../../utils/icon/icon.component';
|
|
6
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
+
import { ItDropdownModule } from '../dropdown/dropdown.module';
|
|
8
|
+
import { ItInputComponent } from '../../form/input/input.component';
|
|
9
|
+
import { inputToBoolean } from '../../../utils/coercion';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngx-translate/core";
|
|
12
|
+
import * as i2 from "../dropdown/dropdown/dropdown.component";
|
|
13
|
+
import * as i3 from "../dropdown/dropdown-item/dropdown-item.component";
|
|
14
|
+
import * as i4 from "@angular/forms";
|
|
15
|
+
export class ItPaginationComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
/**
|
|
18
|
+
* Number of pages closest to the current one to display
|
|
19
|
+
* @default 5
|
|
20
|
+
*/
|
|
21
|
+
this.visiblePages = 5;
|
|
22
|
+
/**
|
|
23
|
+
* Available Changer values
|
|
24
|
+
* @default [10, 25, 50, 100]
|
|
25
|
+
*/
|
|
26
|
+
this.changerValues = [10, 25, 50, 100];
|
|
27
|
+
/**
|
|
28
|
+
* Fired when page is changed. Emit the new index of page
|
|
29
|
+
*/
|
|
30
|
+
this.pageEvent = new EventEmitter();
|
|
31
|
+
/**
|
|
32
|
+
* Fired when changer is changed. Emit the new changer value
|
|
33
|
+
*/
|
|
34
|
+
this.changerEvent = new EventEmitter();
|
|
35
|
+
/**
|
|
36
|
+
* The pages
|
|
37
|
+
* @protected
|
|
38
|
+
*/
|
|
39
|
+
this.pages = [];
|
|
40
|
+
/**
|
|
41
|
+
* Jump to page input
|
|
42
|
+
* @protected
|
|
43
|
+
*/
|
|
44
|
+
this.jumpToPage = new FormControl(null);
|
|
45
|
+
this.jumpToPage.valueChanges
|
|
46
|
+
.pipe(debounceTime(300), // Delay filter data after time span has passed without another source emission
|
|
47
|
+
distinctUntilChanged(), filter(value => !!value && this.jumpToPage.valid))
|
|
48
|
+
.subscribe(value => {
|
|
49
|
+
this.pageEvent.emit(value - 1);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
ngOnChanges(changes) {
|
|
53
|
+
this.pages = this.calculatePages();
|
|
54
|
+
if (changes['currentPage']) {
|
|
55
|
+
this.jumpToPage.setValue(null, { emitEvent: false });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create array to generate pagination of `visiblePages` element
|
|
60
|
+
*/
|
|
61
|
+
calculatePages() {
|
|
62
|
+
if (this.simpleMode) {
|
|
63
|
+
return [this.currentPage];
|
|
64
|
+
}
|
|
65
|
+
const length = this.pageNumbers > this.visiblePages ? this.visiblePages : this.pageNumbers;
|
|
66
|
+
const halfVisiblePages = Math.floor(this.visiblePages / 2);
|
|
67
|
+
let start = this.currentPage > halfVisiblePages && this.pageNumbers > this.visiblePages ? this.currentPage - halfVisiblePages + 1 : 1;
|
|
68
|
+
if (this.pageNumbers > this.visiblePages) {
|
|
69
|
+
if (this.currentPage + 1 >= this.pageNumbers) {
|
|
70
|
+
start -= halfVisiblePages;
|
|
71
|
+
}
|
|
72
|
+
else if (this.currentPage >= this.pageNumbers - halfVisiblePages) {
|
|
73
|
+
start -= this.pageNumbers - (this.currentPage + 1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return Array.from({ length }, (_, i) => i + start);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* On click page change
|
|
80
|
+
* @param event click event
|
|
81
|
+
* @param newPage the new page of table
|
|
82
|
+
*/
|
|
83
|
+
pageChange(event, newPage) {
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
this.pageEvent.emit(newPage - 1); // emit new page index
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* On click changer
|
|
89
|
+
* @param event click event
|
|
90
|
+
* @param value the new changer value
|
|
91
|
+
*/
|
|
92
|
+
changerChange(event, value) {
|
|
93
|
+
event.preventDefault();
|
|
94
|
+
this.changerEvent.emit(value); // emit new changer value
|
|
95
|
+
}
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItPaginationComponent, isStandalone: true, selector: "it-pagination", inputs: { currentPage: "currentPage", pageNumbers: "pageNumbers", visiblePages: "visiblePages", alignment: "alignment", simpleMode: ["simpleMode", "simpleMode", inputToBoolean], textLinks: ["textLinks", "textLinks", inputToBoolean], currentChanger: "currentChanger", changerValues: "changerValues", showJumpToPage: ["showJumpToPage", "showJumpToPage", inputToBoolean] }, outputs: { pageEvent: "pageEvent", changerEvent: "changerEvent" }, usesOnChanges: true, ngImport: i0, template: "<nav\n class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment === 'center'\"\n [class.justify-content-end]=\"alignment === 'end'\"\n [class.pagination-total]=\"totalNumberText.hasChildNodes()\">\n @if (pages.length) {\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" [class.text]=\"textLinks\" href=\"#\" (click)=\"pageChange($event, currentPage)\">\n @if (!textLinks) {\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n }\n <span class=\"visually-hidden\">\n {{ (textLinks ? 'it.core.page' : 'it.core.previous-page') | translate }}\n </span>\n @if (textLinks) {\n {{ 'it.core.previous' | translate }}\n }\n </a>\n </li>\n @if (simpleMode) {\n <li class=\"page-item\">\n <span class=\"page-link\" aria-current=\"page\">{{ currentPage + 1 }}</span>\n </li>\n <li class=\"page-item\"><span class=\"page-link\">/</span></li>\n <li class=\"page-item\">\n <span class=\"page-link\">{{ pageNumbers }}</span>\n </li>\n <li class=\"page-item visually-hidden\">\n <a class=\"page-link\" href=\"#\" aria-current=\"page\">\n {{ 'it.core.page-of-total' | translate: { page: currentPage + 1, total: pageNumbers } }}\n </a>\n </li>\n } @else {\n @if (pageNumbers > visiblePages && pages[0] >= 2) {\n <li class=\"page-item\">\n <a class=\"page-link\" href=\"#\" (click)=\"pageChange($event, 1)\">1</a>\n </li>\n @if (pages[0] >= 3) {\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n }\n }\n @for (page of pages; track page) {\n <li class=\"page-item\">\n @if (page === currentPage + 1) {\n <a class=\"page-link\" aria-current=\"page\">\n <span class=\"d-inline-block d-sm-none\">{{ 'it.core.page' | translate }}</span> {{ page }}\n </a>\n } @else {\n <a class=\"page-link\" href=\"#\" (click)=\"pageChange($event, page)\">{{ page }}</a>\n }\n </li>\n }\n @if (pageNumbers > visiblePages && pages[pages.length - 1] < pageNumbers) {\n @if (pages[pages.length - 1] < pageNumbers - 1) {\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link\" href=\"#\" (click)=\"pageChange($event, pageNumbers)\">{{ pageNumbers }}</a>\n </li>\n }\n }\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" [class.text]=\"textLinks\" href=\"#\" (click)=\"pageChange($event, currentPage + 2)\">\n <span class=\"visually-hidden\">\n {{ (textLinks ? 'it.core.page' : 'it.core.next-page') | translate }}\n </span>\n @if (textLinks) {\n {{ 'it.core.next' | translate }}\n } @else {\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n }\n </a>\n </li>\n </ul>\n }\n\n @if (currentChanger !== undefined) {\n <it-dropdown>\n <span button>{{ currentChanger }} / {{ 'it.core.page' | translate | lowercase }}</span>\n <ng-container list>\n @for (value of changerValues; track value) {\n <it-dropdown-item href=\"#\" externalLink=\"true\" (click)=\"changerChange($event, value)\">\n {{ value }} / {{ 'it.core.page' | translate | lowercase }}\n </it-dropdown-item>\n }\n </ng-container>\n </it-dropdown>\n }\n\n @if (showJumpToPage) {\n <it-input\n type=\"number\"\n [min]=\"1\"\n [max]=\"pageNumbers\"\n [label]=\"('it.core.go-to' | translate) + '...'\"\n [formControl]=\"jumpToPage\"></it-input>\n }\n\n <p [class.d-none]=\"!totalNumberText.hasChildNodes()\" #totalNumberText>\n <ng-content></ng-content>\n </p>\n</nav>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "title", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: LowerCasePipe, name: "lowercase" }, { kind: "ngmodule", type: ItDropdownModule }, { kind: "component", type: i2.ItDropdownComponent, selector: "it-dropdown", inputs: ["mode", "color", "direction", "fullWidth", "megamenu", "dark"], outputs: ["showEvent", "shownEvent", "hideEvent", "hiddenEvent"], exportAs: ["itDropdown"] }, { kind: "component", type: i3.ItDropdownItemComponent, selector: "it-dropdown-item", inputs: ["divider", "active", "large", "iconName", "iconPosition", "mode"] }, { kind: "component", type: ItInputComponent, selector: "it-input", inputs: ["type", "placeholder", "description", "readonly", "maxDate", "minDate", "max", "min", "step", "currency", "percentage", "symbol", "adaptive", "autocomplete"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
98
|
+
}
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItPaginationComponent, decorators: [{
|
|
100
|
+
type: Component,
|
|
101
|
+
args: [{ standalone: true, selector: 'it-pagination', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, TranslateModule, LowerCasePipe, ItDropdownModule, ItInputComponent, ReactiveFormsModule], template: "<nav\n class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment === 'center'\"\n [class.justify-content-end]=\"alignment === 'end'\"\n [class.pagination-total]=\"totalNumberText.hasChildNodes()\">\n @if (pages.length) {\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" [class.text]=\"textLinks\" href=\"#\" (click)=\"pageChange($event, currentPage)\">\n @if (!textLinks) {\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n }\n <span class=\"visually-hidden\">\n {{ (textLinks ? 'it.core.page' : 'it.core.previous-page') | translate }}\n </span>\n @if (textLinks) {\n {{ 'it.core.previous' | translate }}\n }\n </a>\n </li>\n @if (simpleMode) {\n <li class=\"page-item\">\n <span class=\"page-link\" aria-current=\"page\">{{ currentPage + 1 }}</span>\n </li>\n <li class=\"page-item\"><span class=\"page-link\">/</span></li>\n <li class=\"page-item\">\n <span class=\"page-link\">{{ pageNumbers }}</span>\n </li>\n <li class=\"page-item visually-hidden\">\n <a class=\"page-link\" href=\"#\" aria-current=\"page\">\n {{ 'it.core.page-of-total' | translate: { page: currentPage + 1, total: pageNumbers } }}\n </a>\n </li>\n } @else {\n @if (pageNumbers > visiblePages && pages[0] >= 2) {\n <li class=\"page-item\">\n <a class=\"page-link\" href=\"#\" (click)=\"pageChange($event, 1)\">1</a>\n </li>\n @if (pages[0] >= 3) {\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n }\n }\n @for (page of pages; track page) {\n <li class=\"page-item\">\n @if (page === currentPage + 1) {\n <a class=\"page-link\" aria-current=\"page\">\n <span class=\"d-inline-block d-sm-none\">{{ 'it.core.page' | translate }}</span> {{ page }}\n </a>\n } @else {\n <a class=\"page-link\" href=\"#\" (click)=\"pageChange($event, page)\">{{ page }}</a>\n }\n </li>\n }\n @if (pageNumbers > visiblePages && pages[pages.length - 1] < pageNumbers) {\n @if (pages[pages.length - 1] < pageNumbers - 1) {\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link\" href=\"#\" (click)=\"pageChange($event, pageNumbers)\">{{ pageNumbers }}</a>\n </li>\n }\n }\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" [class.text]=\"textLinks\" href=\"#\" (click)=\"pageChange($event, currentPage + 2)\">\n <span class=\"visually-hidden\">\n {{ (textLinks ? 'it.core.page' : 'it.core.next-page') | translate }}\n </span>\n @if (textLinks) {\n {{ 'it.core.next' | translate }}\n } @else {\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n }\n </a>\n </li>\n </ul>\n }\n\n @if (currentChanger !== undefined) {\n <it-dropdown>\n <span button>{{ currentChanger }} / {{ 'it.core.page' | translate | lowercase }}</span>\n <ng-container list>\n @for (value of changerValues; track value) {\n <it-dropdown-item href=\"#\" externalLink=\"true\" (click)=\"changerChange($event, value)\">\n {{ value }} / {{ 'it.core.page' | translate | lowercase }}\n </it-dropdown-item>\n }\n </ng-container>\n </it-dropdown>\n }\n\n @if (showJumpToPage) {\n <it-input\n type=\"number\"\n [min]=\"1\"\n [max]=\"pageNumbers\"\n [label]=\"('it.core.go-to' | translate) + '...'\"\n [formControl]=\"jumpToPage\"></it-input>\n }\n\n <p [class.d-none]=\"!totalNumberText.hasChildNodes()\" #totalNumberText>\n <ng-content></ng-content>\n </p>\n</nav>\n" }]
|
|
102
|
+
}], ctorParameters: () => [], propDecorators: { currentPage: [{
|
|
103
|
+
type: Input,
|
|
104
|
+
args: [{ required: true }]
|
|
105
|
+
}], pageNumbers: [{
|
|
106
|
+
type: Input,
|
|
107
|
+
args: [{ required: true }]
|
|
108
|
+
}], visiblePages: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], alignment: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], simpleMode: [{
|
|
113
|
+
type: Input,
|
|
114
|
+
args: [{ transform: inputToBoolean }]
|
|
115
|
+
}], textLinks: [{
|
|
116
|
+
type: Input,
|
|
117
|
+
args: [{ transform: inputToBoolean }]
|
|
118
|
+
}], currentChanger: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], changerValues: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], showJumpToPage: [{
|
|
123
|
+
type: Input,
|
|
124
|
+
args: [{ transform: inputToBoolean }]
|
|
125
|
+
}], pageEvent: [{
|
|
126
|
+
type: Output
|
|
127
|
+
}], changerEvent: [{
|
|
128
|
+
type: Output
|
|
129
|
+
}] } });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBU3pELE1BQU0sT0FBTyxxQkFBcUI7SUE2RWhDO1FBbEVBOzs7V0FHRztRQUNNLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBNEJsQzs7O1dBR0c7UUFDTSxrQkFBYSxHQUFrQixDQUFDLEVBQUUsRUFB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb3dlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJdERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7IEl0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9mb3JtL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJdEljb25Db21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZSwgTG93ZXJDYXNlUGlwZSwgSXREcm9wZG93bk1vZHVsZSwgSXRJbnB1dENvbXBvbmVudCwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEl0UGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBJbmRleCBvZiBwYWdlIChzdGFydCAwKVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY3VycmVudFBhZ2UhOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heCBudW1iZXIgb2YgcGFnZSAoY291bnRlcilcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHBhZ2VOdW1iZXJzITogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgcGFnZXMgY2xvc2VzdCB0byB0aGUgY3VycmVudCBvbmUgdG8gZGlzcGxheVxuICAgKiBAZGVmYXVsdCA1XG4gICAqL1xuICBASW5wdXQoKSB2aXNpYmxlUGFnZXM6IG51bWJlciA9IDU7XG5cbiAgLyoqXG4gICAqIFBhZ2luYXRpb24gYWxpZ25tZW50IChqdXN0aWZ5LWNvbnRlbnQpXG4gICAqL1xuICBASW5wdXQoKSBhbGlnbm1lbnQ6ICdjZW50ZXInIHwgJ2VuZCcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEVuYWJsZS9EaXNhYmxlIHNpbXBsZSBtb2RlXG4gICAqIFBhZ2luYXRpb24gaW4gdGhlIFwiU2ltcGxlIG1vZGVcIiB2ZXJzaW9uIGlzIG9wdGltaXplZCBmb3IgbW9iaWxlIGRldmljZXMuXG4gICAqIEBkZWZhdWx0IGZhbHNlIC0gZGlzYWJsZWRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc2ltcGxlTW9kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZS9EaXNhYmxlIHRleHQgbGlua3NcbiAgICogQ2hldnJvbiBpY29ucyB1c2VkIGFzIG5hdmlnYXRpb24gbGlua3MgYXJlIHJlcGxhY2VkIGJ5IHRleHQgbGlua3Mgc3VjaCBhcyDigJxwcmV2aW91c+KAnSBhbmQg4oCcbmV4dOKAnS5cbiAgICogQGRlZmF1bHQgZmFsc2UgLSBkaXNhYmxlZFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSB0ZXh0TGlua3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHZhbHVlIG9mIENoYW5nZXJcbiAgICogSWYgaXMgc2V0IHNob3cgdGhlIENoYW5nZXJcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkIC0gaGlkZSB0aGUgQ2hhbmdlclxuICAgKi9cbiAgQElucHV0KCkgY3VycmVudENoYW5nZXI6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQXZhaWxhYmxlIENoYW5nZXIgdmFsdWVzXG4gICAqIEBkZWZhdWx0IFsxMCwgMjUsIDUwLCAxMDBdXG4gICAqL1xuICBASW5wdXQoKSBjaGFuZ2VyVmFsdWVzOiBBcnJheTxudW1iZXI+ID0gWzEwLCAyNSwgNTAsIDEwMF07XG5cbiAgLyoqXG4gICAqIEhpZGUvU2hvdyBcIkp1bXAgdG8gcGFnZVwiIGlucHV0XG4gICAqIEBkZWZhdWx0IGZhbHNlIC0gaGlkZGVuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dKdW1wVG9QYWdlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiBwYWdlIGlzIGNoYW5nZWQuIEVtaXQgdGhlIG5ldyBpbmRleCBvZiBwYWdlXG4gICAqL1xuICBAT3V0cHV0KCkgcGFnZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gY2hhbmdlciBpcyBjaGFuZ2VkLiBFbWl0IHRoZSBuZXcgY2hhbmdlciB2YWx1ZVxuICAgKi9cbiAgQE91dHB1dCgpIGNoYW5nZXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFnZXNcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIHBhZ2VzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgLyoqXG4gICAqIEp1bXAgdG8gcGFnZSBpbnB1dFxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQganVtcFRvUGFnZTogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4gPSBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5qdW1wVG9QYWdlLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLCAvLyBEZWxheSBmaWx0ZXIgZGF0YSBhZnRlciB0aW1lIHNwYW4gaGFzIHBhc3NlZCB3aXRob3V0IGFub3RoZXIgc291cmNlIGVtaXNzaW9uXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlICYmIHRoaXMuanVtcFRvUGFnZS52YWxpZClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLnBhZ2VFdmVudC5lbWl0KHZhbHVlISAtIDEpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlcyA9IHRoaXMuY2FsY3VsYXRlUGFnZXMoKTtcbiAgICBpZiAoY2hhbmdlc1snY3VycmVudFBhZ2UnXSkge1xuICAgICAgdGhpcy5qdW1wVG9QYWdlLnNldFZhbHVlKG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFycmF5IHRvIGdlbmVyYXRlIHBhZ2luYXRpb24gb2YgYHZpc2libGVQYWdlc2AgZWxlbWVudFxuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxhdGVQYWdlcygpOiBBcnJheTxudW1iZXI+IHtcbiAgICBpZiAodGhpcy5zaW1wbGVNb2RlKSB7XG4gICAgICByZXR1cm4gW3RoaXMuY3VycmVudFBhZ2VdO1xuICAgIH1cblxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMucGFnZU51bWJlcnMgPiB0aGlzLnZpc2libGVQYWdlcyA/IHRoaXMudmlzaWJsZVBhZ2VzIDogdGhpcy5wYWdlTnVtYmVycztcblxuICAgIGNvbnN0IGhhbGZWaXNpYmxlUGFnZXMgPSBNYXRoLmZsb29yKHRoaXMudmlzaWJsZVBhZ2VzIC8gMik7XG4gICAgbGV0IHN0YXJ0ID0gdGhpcy5jdXJyZW50UGFnZSA+IGhhbGZWaXNpYmxlUGFnZXMgJiYgdGhpcy5wYWdlTnVtYmVycyA+IHRoaXMudmlzaWJsZVBhZ2VzID8gdGhpcy5jdXJyZW50UGFnZSAtIGhhbGZWaXNpYmxlUGFnZXMgKyAxIDogMTtcblxuICAgIGlmICh0aGlzLnBhZ2VOdW1iZXJzID4gdGhpcy52aXNpYmxlUGFnZXMpIHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlICsgMSA+PSB0aGlzLnBhZ2VOdW1iZXJzKSB7XG4gICAgICAgIHN0YXJ0IC09IGhhbGZWaXNpYmxlUGFnZXM7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFBhZ2UgPj0gdGhpcy5wYWdlTnVtYmVycyAtIGhhbGZWaXNpYmxlUGFnZXMpIHtcbiAgICAgICAgc3RhcnQgLT0gdGhpcy5wYWdlTnVtYmVycyAtICh0aGlzLmN1cnJlbnRQYWdlICsgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSwgKF8sIGkpID0+IGkgKyBzdGFydCk7XG4gIH1cblxuICAvKipcbiAgICogT24gY2xpY2sgcGFnZSBjaGFuZ2VcbiAgICogQHBhcmFtIGV2ZW50IGNsaWNrIGV2ZW50XG4gICAqIEBwYXJhbSBuZXdQYWdlIHRoZSBuZXcgcGFnZSBvZiB0YWJsZVxuICAgKi9cbiAgcHJvdGVjdGVkIHBhZ2VDaGFuZ2UoZXZlbnQ6IEV2ZW50LCBuZXdQYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucGFnZUV2ZW50LmVtaXQobmV3UGFnZSAtIDEpOyAvLyBlbWl0IG5ldyBwYWdlIGluZGV4XG4gIH1cblxuICAvKipcbiAgICogT24gY2xpY2sgY2hhbmdlclxuICAgKiBAcGFyYW0gZXZlbnQgY2xpY2sgZXZlbnRcbiAgICogQHBhcmFtIHZhbHVlIHRoZSBuZXcgY2hhbmdlciB2YWx1ZVxuICAgKi9cbiAgcHJvdGVjdGVkIGNoYW5nZXJDaGFuZ2UoZXZlbnQ6IEV2ZW50LCB2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmNoYW5nZXJFdmVudC5lbWl0KHZhbHVlKTsgLy8gZW1pdCBuZXcgY2hhbmdlciB2YWx1ZVxuICB9XG59XG4iLCI8bmF2XG4gIGNsYXNzPVwicGFnaW5hdGlvbi13cmFwcGVyXCJcbiAgW2NsYXNzLmp1c3RpZnktY29udGVudC1jZW50ZXJdPVwiYWxpZ25tZW50ID09PSAnY2VudGVyJ1wiXG4gIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtZW5kXT1cImFsaWdubWVudCA9PT0gJ2VuZCdcIlxuICBbY2xhc3MucGFnaW5hdGlvbi10b3RhbF09XCJ0b3RhbE51bWJlclRleHQuaGFzQ2hpbGROb2RlcygpXCI+XG4gIEBpZiAocGFnZXMubGVuZ3RoKSB7XG4gICAgPHVsIGNsYXNzPVwicGFnaW5hdGlvblwiPlxuICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgW2NsYXNzLmRpc2FibGVkXT1cImN1cnJlbnRQYWdlIDwgMVwiPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIFtjbGFzcy50ZXh0XT1cInRleHRMaW5rc1wiIGhyZWY9XCIjXCIgKGNsaWNrKT1cInBhZ2VDaGFuZ2UoJGV2ZW50LCBjdXJyZW50UGFnZSlcIj5cbiAgICAgICAgICBAaWYgKCF0ZXh0TGlua3MpIHtcbiAgICAgICAgICAgIDxpdC1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnRcIiBjb2xvcj1cInByaW1hcnlcIj48L2l0LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICB7eyAodGV4dExpbmtzID8gJ2l0LmNvcmUucGFnZScgOiAnaXQuY29yZS5wcmV2aW91cy1wYWdlJykgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgQGlmICh0ZXh0TGlua3MpIHtcbiAgICAgICAgICAgIHt7ICdpdC5jb3JlLnByZXZpb3VzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIH1cbiAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgICAgIEBpZiAoc2ltcGxlTW9kZSkge1xuICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2UtbGlua1wiIGFyaWEtY3VycmVudD1cInBhZ2VcIj57eyBjdXJyZW50UGFnZSArIDEgfX08L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiPjxzcGFuIGNsYXNzPVwicGFnZS1saW5rXCI+Lzwvc3Bhbj48L2xpPlxuICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2UtbGlua1wiPnt7IHBhZ2VOdW1iZXJzIH19PC9zcGFuPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW0gdmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiI1wiIGFyaWEtY3VycmVudD1cInBhZ2VcIj5cbiAgICAgICAgICAgIHt7ICdpdC5jb3JlLnBhZ2Utb2YtdG90YWwnIHwgdHJhbnNsYXRlOiB7IHBhZ2U6IGN1cnJlbnRQYWdlICsgMSwgdG90YWw6IHBhZ2VOdW1iZXJzIH0gfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbGk+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmIChwYWdlTnVtYmVycyA+IHZpc2libGVQYWdlcyAmJiBwYWdlc1swXSA+PSAyKSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCI+XG4gICAgICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCIjXCIgKGNsaWNrKT1cInBhZ2VDaGFuZ2UoJGV2ZW50LCAxKVwiPjE8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICBAaWYgKHBhZ2VzWzBdID49IDMpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2UtbGlua1wiPi4uLjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBmb3IgKHBhZ2Ugb2YgcGFnZXM7IHRyYWNrIHBhZ2UpIHtcbiAgICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cbiAgICAgICAgICAgIEBpZiAocGFnZSA9PT0gY3VycmVudFBhZ2UgKyAxKSB7XG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgYXJpYS1jdXJyZW50PVwicGFnZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2sgZC1zbS1ub25lXCI+e3sgJ2l0LmNvcmUucGFnZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+IHt7IHBhZ2UgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIiNcIiAoY2xpY2spPVwicGFnZUNoYW5nZSgkZXZlbnQsIHBhZ2UpXCI+e3sgcGFnZSB9fTwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAocGFnZU51bWJlcnMgPiB2aXNpYmxlUGFnZXMgJiYgcGFnZXNbcGFnZXMubGVuZ3RoIC0gMV0gPCBwYWdlTnVtYmVycykge1xuICAgICAgICAgIEBpZiAocGFnZXNbcGFnZXMubGVuZ3RoIC0gMV0gPCBwYWdlTnVtYmVycyAtIDEpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2UtbGlua1wiPi4uLjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiPlxuICAgICAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiI1wiIChjbGljayk9XCJwYWdlQ2hhbmdlKCRldmVudCwgcGFnZU51bWJlcnMpXCI+e3sgcGFnZU51bWJlcnMgfX08L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgW2NsYXNzLmRpc2FibGVkXT1cImN1cnJlbnRQYWdlID49IHBhZ2VOdW1iZXJzIC0gMVwiPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIFtjbGFzcy50ZXh0XT1cInRleHRMaW5rc1wiIGhyZWY9XCIjXCIgKGNsaWNrKT1cInBhZ2VDaGFuZ2UoJGV2ZW50LCBjdXJyZW50UGFnZSArIDIpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgIHt7ICh0ZXh0TGlua3MgPyAnaXQuY29yZS5wYWdlJyA6ICdpdC5jb3JlLm5leHQtcGFnZScpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIEBpZiAodGV4dExpbmtzKSB7XG4gICAgICAgICAgICB7eyAnaXQuY29yZS5uZXh0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGl0LWljb24gbmFtZT1cImNoZXZyb24tcmlnaHRcIiBjb2xvcj1cInByaW1hcnlcIj48L2l0LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIH1cblxuICBAaWYgKGN1cnJlbnRDaGFuZ2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICA8aXQtZHJvcGRvd24+XG4gICAgICA8c3BhbiBidXR0b24+e3sgY3VycmVudENoYW5nZXIgfX0gLyB7eyAnaXQuY29yZS5wYWdlJyB8IHRyYW5zbGF0ZSB8IGxvd2VyY2FzZSB9fTwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgbGlzdD5cbiAgICAgICAgQGZvciAodmFsdWUgb2YgY2hhbmdlclZhbHVlczsgdHJhY2sgdmFsdWUpIHtcbiAgICAgICAgICA8aXQtZHJvcGRvd24taXRlbSBocmVmPVwiI1wiIGV4dGVybmFsTGluaz1cInRydWVcIiAoY2xpY2spPVwiY2hhbmdlckNoYW5nZSgkZXZlbnQsIHZhbHVlKVwiPlxuICAgICAgICAgICAge3sgdmFsdWUgfX0gLyB7eyAnaXQuY29yZS5wYWdlJyB8IHRyYW5zbGF0ZSB8IGxvd2VyY2FzZSB9fVxuICAgICAgICAgIDwvaXQtZHJvcGRvd24taXRlbT5cbiAgICAgICAgfVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9pdC1kcm9wZG93bj5cbiAgfVxuXG4gIEBpZiAoc2hvd0p1bXBUb1BhZ2UpIHtcbiAgICA8aXQtaW5wdXRcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgW21pbl09XCIxXCJcbiAgICAgIFttYXhdPVwicGFnZU51bWJlcnNcIlxuICAgICAgW2xhYmVsXT1cIignaXQuY29yZS5nby10bycgfCB0cmFuc2xhdGUpICsgJy4uLidcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImp1bXBUb1BhZ2VcIj48L2l0LWlucHV0PlxuICB9XG5cbiAgPHAgW2NsYXNzLmQtbm9uZV09XCIhdG90YWxOdW1iZXJUZXh0Lmhhc0NoaWxkTm9kZXMoKVwiICN0b3RhbE51bWJlclRleHQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3A+XG48L25hdj5cbiJdfQ==
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Popover } from 'bootstrap-italia';
|
|
3
|
+
import { inputToBoolean } from '../../../utils/coercion';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ItPopoverDirective {
|
|
6
|
+
/**
|
|
7
|
+
* Define the popover content
|
|
8
|
+
* @param content the popover content
|
|
9
|
+
*/
|
|
10
|
+
set content(content) {
|
|
11
|
+
this.element.setAttribute('data-bs-content', content);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Define the popover title
|
|
15
|
+
* @param title the popover title
|
|
16
|
+
*/
|
|
17
|
+
set popoverTitle(title) {
|
|
18
|
+
if (title) {
|
|
19
|
+
this.element.setAttribute('title', title);
|
|
20
|
+
this.element.setAttribute('data-bs-original-title', title);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Define the popover placement
|
|
25
|
+
* @param placement
|
|
26
|
+
*/
|
|
27
|
+
set popoverPlacement(placement) {
|
|
28
|
+
this.element.setAttribute('data-bs-placement', placement);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Appends the popover to a specific element.
|
|
32
|
+
* @param container
|
|
33
|
+
*/
|
|
34
|
+
set popoverContainer(container) {
|
|
35
|
+
if (container) {
|
|
36
|
+
this.element.setAttribute('data-bs-container', container);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Indicates whether the title contains html
|
|
41
|
+
* @param html true if contain html
|
|
42
|
+
*/
|
|
43
|
+
set popoverHtml(html) {
|
|
44
|
+
this.element.setAttribute('data-bs-html', html ? 'true' : 'false');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* How popover is triggered
|
|
48
|
+
* - 'hover': To open the Popover on hover of the mouse over the element
|
|
49
|
+
* - 'focus': To ignore popovers on the user's next click of an element other than the toggle element.
|
|
50
|
+
* @param trigger
|
|
51
|
+
*/
|
|
52
|
+
set popoverTrigger(trigger) {
|
|
53
|
+
if (trigger) {
|
|
54
|
+
this.element.setAttribute('data-bs-trigger', trigger);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
constructor(_elementRef) {
|
|
58
|
+
this._elementRef = _elementRef;
|
|
59
|
+
/**
|
|
60
|
+
* This event fires immediately when the show method is called.
|
|
61
|
+
*/
|
|
62
|
+
this.showEvent = new EventEmitter();
|
|
63
|
+
/**
|
|
64
|
+
* This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).
|
|
65
|
+
*/
|
|
66
|
+
this.shownEvent = new EventEmitter();
|
|
67
|
+
/**
|
|
68
|
+
* This event fires immediately when the hide method is called.
|
|
69
|
+
*/
|
|
70
|
+
this.hideEvent = new EventEmitter();
|
|
71
|
+
/**
|
|
72
|
+
* This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).
|
|
73
|
+
*/
|
|
74
|
+
this.hiddenEvent = new EventEmitter();
|
|
75
|
+
/**
|
|
76
|
+
* This event fires after the show event when the tooltip template has been added to the DOM.
|
|
77
|
+
*/
|
|
78
|
+
this.insertedEvent = new EventEmitter();
|
|
79
|
+
this.element = this._elementRef.nativeElement;
|
|
80
|
+
}
|
|
81
|
+
ngAfterViewInit() {
|
|
82
|
+
this.element.setAttribute('data-bs-toggle', 'popover');
|
|
83
|
+
this.popover = Popover.getOrCreateInstance(this.element);
|
|
84
|
+
this.element.addEventListener('show.bs.popover', event => this.showEvent.emit(event));
|
|
85
|
+
this.element.addEventListener('shown.bs.popover', event => this.shownEvent.emit(event));
|
|
86
|
+
this.element.addEventListener('hide.bs.popover', event => this.hideEvent.emit(event));
|
|
87
|
+
this.element.addEventListener('hidden.bs.popover', event => this.hiddenEvent.emit(event));
|
|
88
|
+
this.element.addEventListener('inserted.bs.popover', event => this.insertedEvent.emit(event));
|
|
89
|
+
}
|
|
90
|
+
ngOnDestroy() {
|
|
91
|
+
this.dispose();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Shows the popover of an item.
|
|
95
|
+
*/
|
|
96
|
+
show() {
|
|
97
|
+
this.popover?.show();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Hide the popover of an element.
|
|
101
|
+
*/
|
|
102
|
+
hide() {
|
|
103
|
+
this.popover?.hide();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Activate / Deactivate the popover of an element
|
|
107
|
+
*/
|
|
108
|
+
toggle() {
|
|
109
|
+
this.popover?.toggle();
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Hides and destroys the popover of an element.
|
|
113
|
+
*/
|
|
114
|
+
dispose() {
|
|
115
|
+
this.popover?.dispose();
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Gives the popover of an element a chance to be shown.
|
|
119
|
+
*/
|
|
120
|
+
enable() {
|
|
121
|
+
this.popover?.enable();
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Removes the ability to show the popover of an element.
|
|
125
|
+
*/
|
|
126
|
+
disable() {
|
|
127
|
+
this.popover?.disable();
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Toggles the possibility that the popover of an element is shown or hidden.
|
|
131
|
+
*/
|
|
132
|
+
toggleEnabled() {
|
|
133
|
+
this.popover?.disable();
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Updates the position of an element's popover.
|
|
137
|
+
*/
|
|
138
|
+
update() {
|
|
139
|
+
this.popover?.disable();
|
|
140
|
+
}
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItPopoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
142
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: ItPopoverDirective, isStandalone: true, selector: "[itPopover]", inputs: { content: ["itPopover", "content"], popoverTitle: "popoverTitle", popoverPlacement: "popoverPlacement", popoverContainer: "popoverContainer", popoverHtml: ["popoverHtml", "popoverHtml", inputToBoolean], popoverTrigger: "popoverTrigger" }, outputs: { showEvent: "showEvent", shownEvent: "shownEvent", hideEvent: "hideEvent", hiddenEvent: "hiddenEvent", insertedEvent: "insertedEvent" }, exportAs: ["itPopover"], ngImport: i0 }); }
|
|
143
|
+
}
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItPopoverDirective, decorators: [{
|
|
145
|
+
type: Directive,
|
|
146
|
+
args: [{
|
|
147
|
+
standalone: true,
|
|
148
|
+
selector: '[itPopover]',
|
|
149
|
+
exportAs: 'itPopover',
|
|
150
|
+
}]
|
|
151
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { content: [{
|
|
152
|
+
type: Input,
|
|
153
|
+
args: ['itPopover']
|
|
154
|
+
}], popoverTitle: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], popoverPlacement: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], popoverContainer: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}], popoverHtml: [{
|
|
161
|
+
type: Input,
|
|
162
|
+
args: [{ transform: inputToBoolean }]
|
|
163
|
+
}], popoverTrigger: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], showEvent: [{
|
|
166
|
+
type: Output
|
|
167
|
+
}], shownEvent: [{
|
|
168
|
+
type: Output
|
|
169
|
+
}], hideEvent: [{
|
|
170
|
+
type: Output
|
|
171
|
+
}], hiddenEvent: [{
|
|
172
|
+
type: Output
|
|
173
|
+
}], insertedEvent: [{
|
|
174
|
+
type: Output
|
|
175
|
+
}] } });
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU96RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7T0FHRztJQUNILElBQXdCLE9BQU8sQ0FBQyxPQUFlO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFhLFlBQVksQ0FBQyxLQUF5QjtRQUNqRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxnQkFBZ0IsQ0FBQyxTQUEyQjtRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxnQkFBZ0IsQ0FBQyxTQUFzQztRQUNsRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLE9BQU8s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O0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQS9KVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixrUEEwQ1QsY0FBYzs7MkZBMUN2QixrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsV0FBVztpQkFDdEI7K0VBTXlCLE9BQU87c0JBQTlCLEtBQUs7dUJBQUMsV0FBVztnQkFRTCxZQUFZO3NCQUF4QixLQUFLO2dCQVdPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFRTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBVW9DLFdBQVc7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQVV2QixjQUFjO3NCQUExQixLQUFLO2dCQVNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxTQUFTO3NCQUFsQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tpdFBvcG92ZXJdJyxcbiAgZXhwb3J0QXM6ICdpdFBvcG92ZXInLFxufSlcbmV4cG9ydCBjbGFzcyBJdFBvcG92ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogRGVmaW5lIHRoZSBwb3BvdmVyIGNvbnRlbnRcbiAgICogQHBhcmFtIGNvbnRlbnQgdGhlIHBvcG92ZXIgY29udGVudFxuICAgKi9cbiAgQElucHV0KCdpdFBvcG92ZXInKSBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLWNvbnRlbnQnLCBjb250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHBvcG92ZXIgdGl0bGVcbiAgICogQHBhcmFtIHRpdGxlIHRoZSBwb3BvdmVyIHRpdGxlXG4gICAqL1xuICBASW5wdXQoKSBzZXQgcG9wb3ZlclRpdGxlKHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgdGl0bGUpO1xuICAgICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1icy1vcmlnaW5hbC10aXRsZScsIHRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBwb3BvdmVyIHBsYWNlbWVudFxuICAgKiBAcGFyYW0gcGxhY2VtZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgcG9wb3ZlclBsYWNlbWVudChwbGFjZW1lbnQ6IEVsZW1lbnRQbGFjZW1lbnQpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLXBsYWNlbWVudCcsIHBsYWNlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kcyB0aGUgcG9wb3ZlciB0byBhIHNwZWNpZmljIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBjb250YWluZXJcbiAgICovXG4gIEBJbnB1dCgpIHNldCBwb3BvdmVyQ29udGFpbmVyKGNvbnRhaW5lcjogJ2JvZHknIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1icy1jb250YWluZXInLCBjb250YWluZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGl0bGUgY29udGFpbnMgaHRtbFxuICAgKiBAcGFyYW0gaHRtbCB0cnVlIGlmIGNvbnRhaW4gaHRtbFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzZXQgcG9wb3Zlckh0bWwoaHRtbDogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtaHRtbCcsIGh0bWwgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgcG9wb3ZlciBpcyB0cmlnZ2VyZWRcbiAgICogLSAnaG92ZXInOiBUbyBvcGVuIHRoZSBQb3BvdmVyIG9uIGhvdmVyIG9mIHRoZSBtb3VzZSBvdmVyIHRoZSBlbGVtZW50XG4gICAqIC0gJ2ZvY3VzJzogVG8gaWdub3JlIHBvcG92ZXJzIG9uIHRoZSB1c2VyJ3MgbmV4dCBjbGljayBvZiBhbiBlbGVtZW50IG90aGVyIHRoYW4gdGhlIHRvZ2dsZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gdHJpZ2dlclxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBvcG92ZXJUcmlnZ2VyKHRyaWdnZXI6ICdjbGljaycgfCAnaG92ZXInIHwgJ2ZvY3VzJyB8ICdtYW51YWwnIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRyaWdnZXIpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtdHJpZ2dlcicsIHRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIGltbWVkaWF0ZWx5IHdoZW4gdGhlIHNob3cgbWV0aG9kIGlzIGNhbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBzaG93RXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHRvb2x0aXAgaGFzIGJlZW4gbWFkZSB2aXNpYmxlIHRvIHRoZSB1c2VyIChpdCB3aWxsIHdhaXQgZm9yIHRoZSBDU1MgdHJhbnNpdGlvbnMgdG8gY29tcGxldGUpLlxuICAgKi9cbiAgQE91dHB1dCgpIHNob3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgaW1tZWRpYXRlbHkgd2hlbiB0aGUgaGlkZSBtZXRob2QgaXMgY2FsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGhpZGVFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyByYWlzZWQgd2hlbiB0aGUgdG9vbHRpcCBoYXMgZmluaXNoZWQgYmVpbmcgaGlkZGVuIGZyb20gdGhlIHVzZXIgKGl0IHdpbGwgd2FpdCBmb3IgdGhlIENTUyB0cmFuc2l0aW9ucyB0byBjb21wbGV0ZSkuXG4gICAqL1xuICBAT3V0cHV0KCkgaGlkZGVuRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgYWZ0ZXIgdGhlIHNob3cgZXZlbnQgd2hlbiB0aGUgdG9vbHRpcCB0ZW1wbGF0ZSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgQE91dHB1dCgpIGluc2VydGVkRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBwb3BvdmVyPzogUG9wb3ZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtdG9nZ2xlJywgJ3BvcG92ZXInKTtcbiAgICB0aGlzLnBvcG92ZXIgPSBQb3BvdmVyLmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcy5lbGVtZW50KTtcblxuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93LmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLnNob3dFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Nob3duLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLnNob3duRXZlbnQuZW1pdChldmVudCkpO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRlLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLmhpZGVFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGRlbi5icy5wb3BvdmVyJywgZXZlbnQgPT4gdGhpcy5oaWRkZW5FdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2luc2VydGVkLmJzLnBvcG92ZXInLCBldmVudCA9PiB0aGlzLmluc2VydGVkRXZlbnQuZW1pdChldmVudCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgdGhlIHBvcG92ZXIgb2YgYW4gaXRlbS5cbiAgICovXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uc2hvdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIHBvcG92ZXIgb2YgYW4gZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIC8gRGVhY3RpdmF0ZSB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50XG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8udG9nZ2xlKCk7XG4gIH1cblxuICAvKipcbiAgICogSGlkZXMgYW5kIGRlc3Ryb3lzIHRoZSBwb3BvdmVyIG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmRpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlcyB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50IGEgY2hhbmNlIHRvIGJlIHNob3duLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmVuYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIGFiaWxpdHkgdG8gc2hvdyB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyPy5kaXNhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgcG9zc2liaWxpdHkgdGhhdCB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50IGlzIHNob3duIG9yIGhpZGRlbi5cbiAgICovXG4gIHB1YmxpYyB0b2dnbGVFbmFibGVkKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQncyBwb3BvdmVyLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmRpc2FibGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
3
|
+
import { inputToBoolean } from '../../../utils/coercion';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
export class ItProgressBarComponent {
|
|
7
|
+
/**
|
|
8
|
+
* Return the background color
|
|
9
|
+
*/
|
|
10
|
+
get bgColor() {
|
|
11
|
+
if (!this.color) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
return ` bg-${this.color}`;
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItProgressBarComponent, isStandalone: true, selector: "it-progress-bar", inputs: { value: "value", showLabel: ["showLabel", "showLabel", inputToBoolean], indeterminate: ["indeterminate", "indeterminate", inputToBoolean], color: "color" }, ngImport: i0, template: "<div class=\"progress-bar-wrapper\">\n @if (showLabel) {\n <div class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{ 'it.core.progress' | translate }} </span>{{ value }}%\n </div>\n }\n <div class=\"progress\" [class.progress-color]=\"!!color\" [class.progress-indeterminate]=\"indeterminate\">\n @if (indeterminate) {\n <div class=\"progress-bar{{ bgColor }}\" role=\"progressbar\"></div>\n } @else {\n <div\n class=\"progress-bar{{ bgColor }}\"\n role=\"progressbar\"\n [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItProgressBarComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ standalone: true, selector: 'it-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule], template: "<div class=\"progress-bar-wrapper\">\n @if (showLabel) {\n <div class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{ 'it.core.progress' | translate }} </span>{{ value }}%\n </div>\n }\n <div class=\"progress\" [class.progress-color]=\"!!color\" [class.progress-indeterminate]=\"indeterminate\">\n @if (indeterminate) {\n <div class=\"progress-bar{{ bgColor }}\" role=\"progressbar\"></div>\n } @else {\n <div\n class=\"progress-bar{{ bgColor }}\"\n role=\"progressbar\"\n [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n }\n </div>\n</div>\n" }]
|
|
22
|
+
}], propDecorators: { value: [{
|
|
23
|
+
type: Input,
|
|
24
|
+
args: [{ required: true }]
|
|
25
|
+
}], showLabel: [{
|
|
26
|
+
type: Input,
|
|
27
|
+
args: [{ transform: inputToBoolean }]
|
|
28
|
+
}], indeterminate: [{
|
|
29
|
+
type: Input,
|
|
30
|
+
args: [{ transform: inputToBoolean }]
|
|
31
|
+
}], color: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVN6RCxNQUFNLE9BQU8sc0JBQXNCO0lBdUJqQzs7T0FFRztJQUNILElBQUksT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQWhDVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixtSEFVYixjQUFjLHFEQU1kLGNBQWMsNkNDNUJwQywwckJBb0JBLDJDRFZZLGVBQWU7OzJGQUVkLHNCQUFzQjtrQkFQbEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04saUJBQWlCLG1CQUVWLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxlQUFlLENBQUM7OEJBTUMsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBTWEsU0FBUztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsYUFBYTtzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBSzNCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LXByb2dyZXNzLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEl0UHJvZ3Jlc3NCYXJDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIHByb2dyZXNzIGJhciB2YWx1ZSBbMCwgMTAwXVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdmFsdWUhOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNob3cgdGhlIHByb2dyZXNzIGxhYmVsXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dMYWJlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgdGhlIHByb2dyZXNzIGFzIGluZGV0ZXJtaW5hdGVcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgaW5kZXRlcm1pbmF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9ncmVzcyBiYXIgY29sb3JcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiBQcm9ncmVzc0JhckNvbG9yIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGJhY2tncm91bmQgY29sb3JcbiAgICovXG4gIGdldCBiZ0NvbG9yKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbG9yKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAgYmctJHt0aGlzLmNvbG9yfWA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXItd3JhcHBlclwiPlxuICBAaWYgKHNob3dMYWJlbCkge1xuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXItbGFiZWxcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+e3sgJ2l0LmNvcmUucHJvZ3Jlc3MnIHwgdHJhbnNsYXRlIH19IDwvc3Bhbj57eyB2YWx1ZSB9fSVcbiAgICA8L2Rpdj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIiBbY2xhc3MucHJvZ3Jlc3MtY29sb3JdPVwiISFjb2xvclwiIFtjbGFzcy5wcm9ncmVzcy1pbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIj5cbiAgICBAaWYgKGluZGV0ZXJtaW5hdGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXJ7eyBiZ0NvbG9yIH19XCIgcm9sZT1cInByb2dyZXNzYmFyXCI+PC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtYmFye3sgYmdDb2xvciB9fVwiXG4gICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXG4gICAgICAgIFtzdHlsZS53aWR0aC4lXT1cInZhbHVlXCJcbiAgICAgICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJ2YWx1ZVwiXG4gICAgICAgIGFyaWEtdmFsdWVtaW49XCIwXCJcbiAgICAgICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiPjwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ItProgressBarComponent } from '../progress-bar/progress-bar.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ItProgressButtonComponent {
|
|
5
|
+
get isProgress() {
|
|
6
|
+
return typeof this.progress === 'number' || !!this.progress;
|
|
7
|
+
}
|
|
8
|
+
get progressValue() {
|
|
9
|
+
return typeof this.progress === 'number' ? this.progress : 0;
|
|
10
|
+
}
|
|
11
|
+
get isIndeterminate() {
|
|
12
|
+
return typeof this.progress !== 'number' && !!this.progress;
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItProgressButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItProgressButtonComponent, isStandalone: true, selector: "button[itButton][progress]", inputs: { progress: "progress", progressColor: "progressColor" }, ngImport: i0, template: "<ng-content></ng-content>\n\n@if (isProgress) {\n <it-progress-bar [value]=\"progressValue\" [indeterminate]=\"isIndeterminate\" [color]=\"progressColor\"></it-progress-bar>\n}\n", dependencies: [{ kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItProgressButtonComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ standalone: true, selector: 'button[itButton][progress]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItProgressBarComponent], template: "<ng-content></ng-content>\n\n@if (isProgress) {\n <it-progress-bar [value]=\"progressValue\" [indeterminate]=\"isIndeterminate\" [color]=\"progressColor\"></it-progress-bar>\n}\n" }]
|
|
20
|
+
}], propDecorators: { progress: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], progressColor: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}] } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1idXR0b24vcHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1idXR0b24vcHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQVVoRixNQUFNLE9BQU8seUJBQXlCO0lBZXBDLElBQUksVUFBVTtRQUNaLE9BQU8sT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDOUQsQ0FBQzs4R0F6QlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsd0pDWnRDLHFMQUtBLDRDREtZLHNCQUFzQjs7MkZBRXJCLHlCQUF5QjtrQkFSckMsU0FBUztpQ0FDSSxJQUFJLFlBRU4sNEJBQTRCLG1CQUVyQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsc0JBQXNCLENBQUM7OEJBVXhCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9jb3JlJztcbmltcG9ydCB7IEl0UHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2J1dHRvbltpdEJ1dHRvbl1bcHJvZ3Jlc3NdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSXRQcm9ncmVzc0JhckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEl0UHJvZ3Jlc3NCdXR0b25Db21wb25lbnQge1xuICAvKipcbiAgICogQmVoYXZpb3Igb2YgdGhlIHByb2dyZXNzIGJhclxuICAgKiAtIDxiPnRydWU8L2I+OiBTaG93IGluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgYmFyXG4gICAqIC0gPGI+ZmFsc2U8L2I+IG9yIDxiPnVuZGVmaW5lZDwvYj46IEhpZGUgcHJvZ3Jlc3MgYmFyXG4gICAqIC0gPGI+bnVtYmVyPC9iPiBbMCwgMTAwXTogQXNzaWduIGEgc3BlY2lmaWMgdmFsdWUgdG8gdGhlIHByb2dyZXNzIGJhclxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIHByb2dyZXNzOiBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4gICAqL1xuICBASW5wdXQoKSBwcm9ncmVzc0NvbG9yOiBQcm9ncmVzc0JhckNvbG9yIHwgdW5kZWZpbmVkO1xuXG4gIGdldCBpc1Byb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5wcm9ncmVzcyA9PT0gJ251bWJlcicgfHwgISF0aGlzLnByb2dyZXNzO1xuICB9XG5cbiAgZ2V0IHByb2dyZXNzVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMucHJvZ3Jlc3MgPT09ICdudW1iZXInID8gdGhpcy5wcm9ncmVzcyA6IDA7XG4gIH1cblxuICBnZXQgaXNJbmRldGVybWluYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5wcm9ncmVzcyAhPT0gJ251bWJlcicgJiYgISF0aGlzLnByb2dyZXNzO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbkBpZiAoaXNQcm9ncmVzcykge1xuICA8aXQtcHJvZ3Jlc3MtYmFyIFt2YWx1ZV09XCJwcm9ncmVzc1ZhbHVlXCIgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCIgW2NvbG9yXT1cInByb2dyZXNzQ29sb3JcIj48L2l0LXByb2dyZXNzLWJhcj5cbn1cbiJdfQ==
|