design-angular-kit 1.1.4 → 1.2.1
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/.eslintrc.json +31 -0
- package/karma.conf.js +38 -0
- package/ng-package.json +9 -0
- package/ng-package.prod.json +8 -0
- package/package.json +9 -14
- package/schematics/ng-add/index.spec.ts +45 -0
- package/schematics/ng-add/index.ts +36 -0
- package/schematics/ng-add/rules/setup-project/add-animations.ts +7 -0
- package/schematics/ng-add/rules/setup-project/add-assets.ts +45 -0
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.ts +40 -0
- package/schematics/ng-add/rules/setup-project/add-http-client.ts +7 -0
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.ts +120 -0
- package/schematics/ng-add/rules/setup-project/add-localisation.ts +45 -0
- package/schematics/ng-add/rules/setup-project/angular-json-helper.ts +11 -0
- package/schematics/ng-add/rules/setup-project/exceptions.ts +13 -0
- package/schematics/ng-add/{schema.d.ts → schema.ts} +1 -1
- package/schematics/ng-add/setup-project.spec.ts +166 -0
- package/schematics/ng-add/setup-project.ts +31 -0
- package/schematics/ng-add/utils.ts +71 -0
- package/schematics/ng-add/versions-helper.ts +41 -0
- package/src/lib/abstracts/abstract-form.component.ts +200 -0
- package/src/lib/abstracts/abstract.component.ts +63 -0
- package/src/lib/components/core/accordion/accordion.component.html +27 -0
- package/src/lib/components/core/accordion/accordion.component.spec.ts +21 -0
- package/src/lib/components/core/accordion/accordion.component.ts +40 -0
- package/src/lib/components/core/alert/alert.component.html +19 -0
- package/src/lib/components/core/alert/alert.component.scss +3 -0
- package/src/lib/components/core/alert/alert.component.spec.ts +62 -0
- package/src/lib/components/core/alert/alert.component.ts +75 -0
- package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.html +23 -0
- package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.scss +17 -0
- package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.spec.ts +21 -0
- package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.ts +50 -0
- package/src/lib/components/core/avatar/avatar-group/avatar-group.component.html +7 -0
- package/src/lib/components/core/avatar/avatar-group/avatar-group.component.spec.ts +38 -0
- package/src/lib/components/core/avatar/avatar-group/avatar-group.component.ts +25 -0
- package/src/lib/components/core/avatar/avatar.directive.ts +73 -0
- package/src/lib/components/core/avatar/avatar.module.ts +18 -0
- package/src/lib/components/core/badge/badge.directive.spec.ts +59 -0
- package/src/lib/components/core/badge/badge.directive.ts +39 -0
- package/src/lib/components/core/button/button.directive.spec.ts +96 -0
- package/src/lib/components/core/button/button.directive.ts +89 -0
- package/src/lib/components/core/callout/callout.component.html +25 -0
- package/src/lib/components/core/callout/callout.component.spec.ts +138 -0
- package/src/lib/components/core/callout/callout.component.ts +92 -0
- package/src/lib/components/core/card/card.component.html +35 -0
- package/src/lib/components/core/card/card.component.scss +30 -0
- package/src/lib/components/core/card/card.component.spec.ts +21 -0
- package/src/lib/components/core/card/card.component.ts +78 -0
- package/src/lib/components/core/carousel/carousel/carousel.component.html +29 -0
- package/src/lib/components/core/carousel/carousel/carousel.component.scss +1 -0
- package/src/lib/components/core/carousel/carousel/carousel.component.spec.ts +21 -0
- package/src/lib/components/core/carousel/carousel/carousel.component.ts +119 -0
- package/src/lib/components/core/carousel/carousel-item/carousel-item.component.html +3 -0
- package/src/lib/components/core/carousel/carousel-item/carousel-item.component.spec.ts +22 -0
- package/src/lib/components/core/carousel/carousel-item/carousel-item.component.ts +20 -0
- package/src/lib/components/core/carousel/carousel.module.ts +11 -0
- package/src/lib/components/core/chip/chip.component.html +26 -0
- package/src/lib/components/core/chip/chip.component.spec.ts +87 -0
- package/src/lib/components/core/chip/chip.component.ts +154 -0
- package/src/lib/components/core/collapse/collapse.component.html +3 -0
- package/src/lib/components/core/collapse/collapse.component.spec.ts +21 -0
- package/src/lib/components/core/collapse/collapse.component.ts +124 -0
- package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.html +3 -0
- package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.spec.ts +35 -0
- package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.ts +23 -0
- package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.html +3 -0
- package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.spec.ts +22 -0
- package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.ts +10 -0
- package/src/lib/components/core/dimmer/dimmer.component.html +7 -0
- package/src/lib/components/core/dimmer/dimmer.component.spec.ts +49 -0
- package/src/lib/components/core/dimmer/dimmer.component.ts +50 -0
- package/src/lib/components/core/dimmer/dimmer.module.ts +12 -0
- package/src/lib/components/core/dropdown/dropdown/dropdown.component.html +45 -0
- package/src/lib/components/core/dropdown/dropdown/dropdown.component.scss +3 -0
- package/src/lib/components/core/dropdown/dropdown/dropdown.component.spec.ts +21 -0
- package/src/lib/components/core/dropdown/dropdown/dropdown.component.ts +186 -0
- package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.html +18 -0
- package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.scss +4 -0
- package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.spec.ts +21 -0
- package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.ts +82 -0
- package/src/lib/components/core/dropdown/dropdown.module.ts +11 -0
- package/src/lib/components/core/forward/forward.directive.spec.ts +60 -0
- package/src/lib/components/core/forward/forward.directive.ts +43 -0
- package/src/lib/components/core/link/link.component.html +13 -0
- package/src/lib/components/core/link/link.component.spec.ts +21 -0
- package/src/lib/components/core/link/link.component.ts +54 -0
- package/src/lib/components/core/list/list/list.component.html +13 -0
- package/src/lib/components/core/list/list/list.component.spec.ts +21 -0
- package/src/lib/components/core/list/list/list.component.ts +30 -0
- package/src/lib/components/core/list/list-item/list-item.component.html +42 -0
- package/src/lib/components/core/list/list-item/list-item.component.scss +16 -0
- package/src/lib/components/core/list/list-item/list-item.component.spec.ts +21 -0
- package/src/lib/components/core/list/list-item/list-item.component.ts +75 -0
- package/src/lib/components/core/list/list.module.ts +11 -0
- package/src/lib/components/core/modal/modal.component.html +36 -0
- package/src/lib/components/core/modal/modal.component.scss +3 -0
- package/src/lib/components/core/modal/modal.component.spec.ts +21 -0
- package/src/lib/components/core/modal/modal.component.ts +218 -0
- package/src/lib/components/core/notifications/notifications.component.html +25 -0
- package/src/lib/components/core/notifications/notifications.component.scss +3 -0
- package/src/lib/components/core/notifications/notifications.component.spec.ts +21 -0
- package/src/lib/components/core/notifications/notifications.component.ts +123 -0
- package/src/lib/components/core/pagination/pagination.component.html +107 -0
- package/src/lib/components/core/pagination/pagination.component.spec.ts +21 -0
- package/src/lib/components/core/pagination/pagination.component.ts +157 -0
- package/src/lib/components/core/popover/popover.directive.spec.ts +21 -0
- package/src/lib/components/core/popover/popover.directive.ts +171 -0
- package/src/lib/components/core/progress-bar/progress-bar.component.html +20 -0
- package/src/lib/components/core/progress-bar/progress-bar.component.spec.ts +21 -0
- package/src/lib/components/core/progress-bar/progress-bar.component.ts +46 -0
- package/src/lib/components/core/progress-button/progress-button.component.html +5 -0
- package/src/lib/components/core/progress-button/progress-button.component.spec.ts +21 -0
- package/src/lib/components/core/progress-button/progress-button.component.ts +39 -0
- package/src/lib/components/core/spinner/spinner.component.html +7 -0
- package/src/lib/components/core/spinner/spinner.component.spec.ts +80 -0
- package/src/lib/components/core/spinner/spinner.component.ts +31 -0
- package/src/lib/components/core/steppers/steppers-container/steppers-container.component.html +126 -0
- package/src/lib/components/core/steppers/steppers-container/steppers-container.component.spec.ts +21 -0
- package/src/lib/components/core/steppers/steppers-container/steppers-container.component.ts +185 -0
- package/src/lib/components/core/steppers/steppers-item/steppers-item.component.html +3 -0
- package/src/lib/components/core/steppers/steppers-item/steppers-item.component.spec.ts +22 -0
- package/src/lib/components/core/steppers/steppers-item/steppers-item.component.ts +33 -0
- package/src/lib/components/core/steppers/steppers.module.ts +11 -0
- package/src/lib/components/core/tab/tab-container/tab-container.component.html +78 -0
- package/src/lib/components/core/tab/tab-container/tab-container.component.spec.ts +21 -0
- package/src/lib/components/core/tab/tab-container/tab-container.component.ts +137 -0
- package/src/lib/components/core/tab/tab-item/tab-item.component.html +3 -0
- package/src/lib/components/core/tab/tab-item/tab-item.component.spec.ts +22 -0
- package/src/lib/components/core/tab/tab-item/tab-item.component.ts +50 -0
- package/src/lib/components/core/tab/tab.module.ts +11 -0
- package/src/lib/components/core/table/sort/sort-header/sort-header.component.html +27 -0
- package/src/lib/components/core/table/sort/sort-header/sort-header.component.scss +65 -0
- package/src/lib/components/core/table/sort/sort-header/sort-header.component.spec.ts +25 -0
- package/src/lib/components/core/table/sort/sort-header/sort-header.component.ts +164 -0
- package/src/lib/components/core/table/sort/sort.directive.spec.ts +73 -0
- package/src/lib/components/core/table/sort/sort.directive.ts +142 -0
- package/src/lib/components/core/table/table.component.html +23 -0
- package/src/lib/components/core/table/table.component.scss +7 -0
- package/src/lib/components/core/table/table.component.spec.ts +21 -0
- package/src/lib/components/core/table/table.component.ts +70 -0
- package/src/lib/components/core/table/table.module.ts +12 -0
- package/src/lib/components/core/timeline/timeline-item/timeline-item.component.html +47 -0
- package/src/lib/components/core/timeline/timeline-item/timeline-item.component.spec.ts +24 -0
- package/src/lib/components/core/timeline/timeline-item/timeline-item.component.ts +102 -0
- package/src/lib/components/core/timeline/timeline.component.html +21 -0
- package/src/lib/components/core/timeline/timeline.component.spec.ts +21 -0
- package/src/lib/components/core/timeline/timeline.component.ts +31 -0
- package/src/lib/components/core/timeline/timeline.module.ts +11 -0
- package/src/lib/components/core/tooltip/tooltip.directive.spec.ts +20 -0
- package/src/lib/components/core/tooltip/tooltip.directive.ts +141 -0
- package/src/lib/components/form/autocomplete/autocomplete.component.html +58 -0
- package/src/lib/components/form/autocomplete/autocomplete.component.spec.ts +21 -0
- package/src/lib/components/form/autocomplete/autocomplete.component.ts +130 -0
- package/src/lib/components/form/checkbox/checkbox.component.html +67 -0
- package/src/lib/components/form/checkbox/checkbox.component.spec.ts +21 -0
- package/src/lib/components/form/checkbox/checkbox.component.ts +65 -0
- package/src/lib/components/form/form.module.ts +34 -0
- package/src/lib/components/form/input/input.component.html +92 -0
- package/src/lib/components/form/input/input.component.scss +29 -0
- package/src/lib/components/form/input/input.component.spec.ts +21 -0
- package/src/lib/components/form/input/input.component.ts +234 -0
- package/src/lib/components/form/password-input/password-input.component.html +65 -0
- package/src/lib/components/form/password-input/password-input.component.scss +9 -0
- package/src/lib/components/form/password-input/password-input.component.spec.ts +21 -0
- package/src/lib/components/form/password-input/password-input.component.ts +171 -0
- package/src/lib/components/form/radio-button/radio-button.component.html +50 -0
- package/src/lib/components/form/radio-button/radio-button.component.scss +14 -0
- package/src/lib/components/form/radio-button/radio-button.component.spec.ts +21 -0
- package/src/lib/components/form/radio-button/radio-button.component.ts +82 -0
- package/src/lib/components/form/range/range.component.html +17 -0
- package/src/lib/components/form/range/range.component.scss +17 -0
- package/src/lib/components/form/range/range.component.spec.ts +21 -0
- package/src/lib/components/form/range/range.component.ts +100 -0
- package/src/lib/components/form/rating/rating.component.html +24 -0
- package/src/lib/components/form/rating/rating.component.spec.ts +21 -0
- package/src/lib/components/form/rating/rating.component.ts +52 -0
- package/src/lib/components/form/select/select.component.html +54 -0
- package/src/lib/components/form/select/select.component.scss +3 -0
- package/src/lib/components/form/select/select.component.spec.ts +22 -0
- package/src/lib/components/form/select/select.component.ts +91 -0
- package/src/lib/components/form/textarea/textarea.component.html +28 -0
- package/src/lib/components/form/textarea/textarea.component.scss +12 -0
- package/src/lib/components/form/textarea/textarea.component.spec.ts +21 -0
- package/src/lib/components/form/textarea/textarea.component.ts +61 -0
- package/src/lib/components/form/transfer/store/transfer.reducers.ts +242 -0
- package/src/lib/components/form/transfer/store/transfer.state.ts +20 -0
- package/src/lib/components/form/transfer/store/transfer.store.ts +88 -0
- package/src/lib/components/form/transfer/transfer-list/transfer-list.component.html +42 -0
- package/src/lib/components/form/transfer/transfer-list/transfer-list.component.spec.ts +33 -0
- package/src/lib/components/form/transfer/transfer-list/transfer-list.component.ts +93 -0
- package/src/lib/components/form/transfer/transfer.component.html +52 -0
- package/src/lib/components/form/transfer/transfer.component.spec.ts +27 -0
- package/src/lib/components/form/transfer/transfer.component.ts +159 -0
- package/{lib/components/form/transfer/transfer.model.d.ts → src/lib/components/form/transfer/transfer.model.ts} +9 -2
- package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.html +36 -0
- package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.spec.ts +21 -0
- package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.ts +170 -0
- package/src/lib/components/form/upload-file-list/upload-file-list.component.html +46 -0
- package/src/lib/components/form/upload-file-list/upload-file-list.component.spec.ts +22 -0
- package/src/lib/components/form/upload-file-list/upload-file-list.component.ts +120 -0
- package/src/lib/components/navigation/back-button/back-button.component.html +25 -0
- package/src/lib/components/navigation/back-button/back-button.component.spec.ts +91 -0
- package/src/lib/components/navigation/back-button/back-button.component.ts +67 -0
- package/src/lib/components/navigation/back-to-top/back-to-top.component.html +11 -0
- package/src/lib/components/navigation/back-to-top/back-to-top.component.spec.ts +21 -0
- package/src/lib/components/navigation/back-to-top/back-to-top.component.ts +80 -0
- package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.html +23 -0
- package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.spec.ts +21 -0
- package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.ts +68 -0
- package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.html +3 -0
- package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.spec.ts +22 -0
- package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.ts +29 -0
- package/src/lib/components/navigation/breadcrumbs/breadcrumbs.module.ts +11 -0
- package/src/lib/components/navigation/header/header.component.html +102 -0
- package/src/lib/components/navigation/header/header.component.scss +3 -0
- package/src/lib/components/navigation/header/header.component.spec.ts +21 -0
- package/src/lib/components/navigation/header/header.component.ts +107 -0
- package/src/lib/components/navigation/megamenu/megamenu.component.html +34 -0
- package/src/lib/components/navigation/megamenu/megamenu.component.scss +5 -0
- package/src/lib/components/navigation/megamenu/megamenu.component.ts +30 -0
- package/src/lib/components/navigation/navbar/navbar/navbar.component.html +28 -0
- package/src/lib/components/navigation/navbar/navbar/navbar.component.ts +45 -0
- package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.html +3 -0
- package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.ts +10 -0
- package/src/lib/components/navigation/navbar/navbar.module.ts +11 -0
- package/src/lib/components/navigation/navscroll/navscroll-list-item.component.ts +95 -0
- package/src/lib/components/navigation/navscroll/navscroll-list-items.component.ts +27 -0
- package/src/lib/components/navigation/navscroll/navscroll.component.html +101 -0
- package/src/lib/components/navigation/navscroll/navscroll.component.scss +9 -0
- package/src/lib/components/navigation/navscroll/navscroll.component.ts +143 -0
- package/{lib/components/navigation/navscroll/navscroll.model.d.ts → src/lib/components/navigation/navscroll/navscroll.model.ts} +7 -5
- package/src/lib/components/navigation/navscroll/navscroll.store.ts +96 -0
- package/src/lib/components/navigation/navscroll/navscroll.utils.ts +28 -0
- package/src/lib/components/navigation/sidebar/sidebar.component.html +11 -0
- package/src/lib/components/navigation/sidebar/sidebar.component.spec.ts +21 -0
- package/src/lib/components/navigation/sidebar/sidebar.component.ts +39 -0
- package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.html +15 -0
- package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.ts +27 -0
- package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.html +15 -0
- package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.ts +38 -0
- package/src/lib/components/navigation/skiplink/skiplink.module.ts +11 -0
- package/src/lib/components/utils/error-page/error-page.component.html +33 -0
- package/src/lib/components/utils/error-page/error-page.component.spec.ts +21 -0
- package/src/lib/components/utils/error-page/error-page.component.ts +79 -0
- package/src/lib/components/utils/icon/icon.component.html +6 -0
- package/src/lib/components/utils/icon/icon.component.spec.ts +21 -0
- package/src/lib/components/utils/icon/icon.component.ts +95 -0
- package/src/lib/components/utils/language-switcher/language-switcher.component.html +21 -0
- package/src/lib/components/utils/language-switcher/language-switcher.component.spec.ts +21 -0
- package/src/lib/components/utils/language-switcher/language-switcher.component.ts +56 -0
- package/src/lib/design-angular-kit.module.ts +131 -0
- package/src/lib/enums/colors.enums.ts +10 -0
- package/src/lib/enums/sizes.enum.ts +7 -0
- package/{lib/interfaces/core.d.ts → src/lib/interfaces/core.ts} +95 -53
- package/src/lib/interfaces/design-angular-kit-config.ts +34 -0
- package/src/lib/interfaces/form.ts +78 -0
- package/src/lib/interfaces/icon.ts +176 -0
- package/src/lib/interfaces/sortable-table.ts +42 -0
- package/src/lib/interfaces/utils.ts +11 -0
- package/src/lib/pipes/date-ago.pipe.ts +57 -0
- package/src/lib/pipes/duration.pipe.ts +112 -0
- package/src/lib/pipes/mark-matching-text.pipe.ts +43 -0
- package/src/lib/provide-design-angular-kit.ts +73 -0
- package/src/lib/services/notification/notification.service.spec.ts +16 -0
- package/src/lib/services/notification/notification.service.ts +119 -0
- package/{lib/utils/coercion.d.ts → src/lib/utils/coercion.ts} +7 -1
- package/src/lib/utils/date-utils.ts +184 -0
- package/src/lib/utils/file-utils.ts +80 -0
- package/src/lib/utils/regex.ts +44 -0
- package/src/lib/validators/it-validators.ts +193 -0
- package/{public_api.d.ts → src/public_api.ts} +43 -0
- package/src/test.ts +26 -0
- package/tsconfig.lib.json +24 -0
- package/tsconfig.lib.prod.json +9 -0
- package/tsconfig.schematics.json +25 -0
- package/tsconfig.spec.json +9 -0
- package/README.md +0 -461
- package/esm2022/design-angular-kit.mjs +0 -5
- package/esm2022/lib/abstracts/abstract-form.component.mjs +0 -186
- package/esm2022/lib/abstracts/abstract.component.mjs +0 -46
- package/esm2022/lib/components/core/accordion/accordion.component.mjs +0 -39
- package/esm2022/lib/components/core/alert/alert.component.mjs +0 -71
- package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +0 -43
- package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +0 -40
- package/esm2022/lib/components/core/avatar/avatar.directive.mjs +0 -78
- package/esm2022/lib/components/core/avatar/avatar.module.mjs +0 -33
- package/esm2022/lib/components/core/badge/badge.directive.mjs +0 -39
- package/esm2022/lib/components/core/button/button.directive.mjs +0 -80
- package/esm2022/lib/components/core/callout/callout.component.mjs +0 -64
- package/esm2022/lib/components/core/card/card.component.mjs +0 -59
- package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +0 -84
- package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +0 -19
- package/esm2022/lib/components/core/carousel/carousel.module.mjs +0 -18
- package/esm2022/lib/components/core/chip/chip.component.mjs +0 -136
- package/esm2022/lib/components/core/collapse/collapse.component.mjs +0 -116
- package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +0 -27
- package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +0 -11
- package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +0 -55
- package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +0 -19
- package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +0 -144
- package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -61
- package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +0 -18
- package/esm2022/lib/components/core/forward/forward.directive.mjs +0 -57
- package/esm2022/lib/components/core/link/link.component.mjs +0 -42
- package/esm2022/lib/components/core/list/list/list.component.mjs +0 -22
- package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +0 -56
- package/esm2022/lib/components/core/list/list.module.mjs +0 -18
- package/esm2022/lib/components/core/modal/modal.component.mjs +0 -194
- package/esm2022/lib/components/core/notifications/notifications.component.mjs +0 -111
- package/esm2022/lib/components/core/pagination/pagination.component.mjs +0 -130
- package/esm2022/lib/components/core/popover/popover.directive.mjs +0 -176
- package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +0 -34
- package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +0 -25
- package/esm2022/lib/components/core/spinner/spinner.component.mjs +0 -30
- package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +0 -116
- package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +0 -20
- package/esm2022/lib/components/core/steppers/steppers.module.mjs +0 -18
- package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -72
- package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +0 -39
- package/esm2022/lib/components/core/tab/tab.module.mjs +0 -18
- package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +0 -134
- package/esm2022/lib/components/core/table/sort/sort.directive.mjs +0 -123
- package/esm2022/lib/components/core/table/table.component.mjs +0 -45
- package/esm2022/lib/components/core/table/table.module.mjs +0 -19
- package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +0 -90
- package/esm2022/lib/components/core/timeline/timeline.component.mjs +0 -36
- package/esm2022/lib/components/core/timeline/timeline.module.mjs +0 -18
- package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +0 -143
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +0 -112
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +0 -48
- package/esm2022/lib/components/form/form.module.mjs +0 -63
- package/esm2022/lib/components/form/input/input.component.mjs +0 -190
- package/esm2022/lib/components/form/password-input/password-input.component.mjs +0 -149
- package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +0 -60
- package/esm2022/lib/components/form/range/range.component.mjs +0 -64
- package/esm2022/lib/components/form/rating/rating.component.mjs +0 -50
- package/esm2022/lib/components/form/select/select.component.mjs +0 -70
- package/esm2022/lib/components/form/textarea/textarea.component.mjs +0 -55
- package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +0 -191
- package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +0 -2
- package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +0 -70
- package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +0 -72
- package/esm2022/lib/components/form/transfer/transfer.component.mjs +0 -149
- package/esm2022/lib/components/form/transfer/transfer.model.mjs +0 -6
- package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +0 -142
- package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -107
- package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +0 -67
- package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +0 -68
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -51
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +0 -21
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +0 -18
- package/esm2022/lib/components/navigation/header/header.component.mjs +0 -97
- package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +0 -27
- package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +0 -40
- package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +0 -11
- package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +0 -18
- package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +0 -98
- package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +0 -44
- package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +0 -116
- package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +0 -2
- package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +0 -65
- package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +0 -23
- package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +0 -50
- package/esm2022/lib/components/navigation/skiplink/skiplink/skiplink.component.mjs +0 -27
- package/esm2022/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.mjs +0 -26
- package/esm2022/lib/components/navigation/skiplink/skiplink.module.mjs +0 -18
- package/esm2022/lib/components/utils/error-page/error-page.component.mjs +0 -74
- package/esm2022/lib/components/utils/icon/icon.component.mjs +0 -58
- package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +0 -50
- package/esm2022/lib/design-angular-kit.module.mjs +0 -233
- package/esm2022/lib/enums/colors.enums.mjs +0 -12
- package/esm2022/lib/enums/sizes.enum.mjs +0 -9
- package/esm2022/lib/interfaces/core.mjs +0 -16
- package/esm2022/lib/interfaces/design-angular-kit-config.mjs +0 -7
- package/esm2022/lib/interfaces/form.mjs +0 -2
- package/esm2022/lib/interfaces/icon.mjs +0 -168
- package/esm2022/lib/interfaces/sortable-table.mjs +0 -6
- package/esm2022/lib/interfaces/utils.mjs +0 -2
- package/esm2022/lib/pipes/date-ago.pipe.mjs +0 -56
- package/esm2022/lib/pipes/duration.pipe.mjs +0 -115
- package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +0 -48
- package/esm2022/lib/provide-design-angular-kit.mjs +0 -64
- package/esm2022/lib/services/notification/notification.service.mjs +0 -120
- package/esm2022/lib/utils/coercion.mjs +0 -18
- package/esm2022/lib/utils/date-utils.mjs +0 -162
- package/esm2022/lib/utils/file-utils.mjs +0 -73
- package/esm2022/lib/utils/regex.mjs +0 -35
- package/esm2022/lib/validators/it-validators.mjs +0 -156
- package/esm2022/public_api.mjs +0 -110
- package/fesm2022/design-angular-kit.mjs +0 -6669
- package/fesm2022/design-angular-kit.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/abstracts/abstract-form.component.d.ts +0 -87
- package/lib/abstracts/abstract.component.d.ts +0 -30
- package/lib/components/core/accordion/accordion.component.d.ts +0 -18
- package/lib/components/core/alert/alert.component.d.ts +0 -44
- package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +0 -29
- package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +0 -15
- package/lib/components/core/avatar/avatar.directive.d.ts +0 -33
- package/lib/components/core/avatar/avatar.module.d.ts +0 -9
- package/lib/components/core/badge/badge.directive.d.ts +0 -23
- package/lib/components/core/button/button.directive.d.ts +0 -48
- package/lib/components/core/callout/callout.component.d.ts +0 -50
- package/lib/components/core/card/card.component.d.ts +0 -69
- package/lib/components/core/carousel/carousel/carousel.component.d.ts +0 -65
- package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +0 -15
- package/lib/components/core/carousel/carousel.module.d.ts +0 -8
- package/lib/components/core/chip/chip.component.d.ts +0 -76
- package/lib/components/core/collapse/collapse.component.d.ts +0 -67
- package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +0 -12
- package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +0 -5
- package/lib/components/core/dimmer/dimmer.component.d.ts +0 -24
- package/lib/components/core/dimmer/dimmer.module.d.ts +0 -9
- package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +0 -94
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +0 -42
- package/lib/components/core/dropdown/dropdown.module.d.ts +0 -8
- package/lib/components/core/forward/forward.directive.d.ts +0 -14
- package/lib/components/core/link/link.component.d.ts +0 -35
- package/lib/components/core/list/list/list.component.d.ts +0 -24
- package/lib/components/core/list/list-item/list-item.component.d.ts +0 -41
- package/lib/components/core/list/list.module.d.ts +0 -8
- package/lib/components/core/modal/modal.component.d.ts +0 -135
- package/lib/components/core/notifications/notifications.component.d.ts +0 -45
- package/lib/components/core/pagination/pagination.component.d.ts +0 -92
- package/lib/components/core/popover/popover.directive.d.ts +0 -99
- package/lib/components/core/progress-bar/progress-bar.component.d.ts +0 -31
- package/lib/components/core/progress-button/progress-button.component.d.ts +0 -21
- package/lib/components/core/spinner/spinner.component.d.ts +0 -24
- package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +0 -130
- package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +0 -20
- package/lib/components/core/steppers/steppers.module.d.ts +0 -8
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +0 -36
- package/lib/components/core/tab/tab-item/tab-item.component.d.ts +0 -38
- package/lib/components/core/tab/tab.module.d.ts +0 -8
- package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +0 -72
- package/lib/components/core/table/sort/sort.directive.d.ts +0 -53
- package/lib/components/core/table/table.component.d.ts +0 -60
- package/lib/components/core/table/table.module.d.ts +0 -9
- package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +0 -79
- package/lib/components/core/timeline/timeline.component.d.ts +0 -21
- package/lib/components/core/timeline/timeline.module.d.ts +0 -8
- package/lib/components/core/tooltip/tooltip.directive.d.ts +0 -82
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +0 -59
- package/lib/components/form/checkbox/checkbox.component.d.ts +0 -41
- package/lib/components/form/form.module.d.ts +0 -18
- package/lib/components/form/input/input.component.d.ts +0 -95
- package/lib/components/form/password-input/password-input.component.d.ts +0 -80
- package/lib/components/form/radio-button/radio-button.component.d.ts +0 -38
- package/lib/components/form/range/range.component.d.ts +0 -42
- package/lib/components/form/rating/rating.component.d.ts +0 -24
- package/lib/components/form/select/select.component.d.ts +0 -36
- package/lib/components/form/textarea/textarea.component.d.ts +0 -34
- package/lib/components/form/transfer/store/transfer.reducers.d.ts +0 -103
- package/lib/components/form/transfer/store/transfer.state.d.ts +0 -18
- package/lib/components/form/transfer/store/transfer.store.d.ts +0 -23
- package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +0 -48
- package/lib/components/form/transfer/transfer.component.d.ts +0 -75
- package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +0 -60
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +0 -62
- package/lib/components/navigation/back-button/back-button.component.d.ts +0 -47
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +0 -50
- package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +0 -28
- package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +0 -23
- package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +0 -8
- package/lib/components/navigation/header/header.component.d.ts +0 -36
- package/lib/components/navigation/megamenu/megamenu.component.d.ts +0 -22
- package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +0 -16
- package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +0 -5
- package/lib/components/navigation/navbar/navbar.module.d.ts +0 -8
- package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +0 -16
- package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +0 -7
- package/lib/components/navigation/navscroll/navscroll.component.d.ts +0 -47
- package/lib/components/navigation/navscroll/navscroll.store.d.ts +0 -16
- package/lib/components/navigation/navscroll/navscroll.utils.d.ts +0 -6
- package/lib/components/navigation/sidebar/sidebar.component.d.ts +0 -26
- package/lib/components/navigation/skiplink/skiplink/skiplink.component.d.ts +0 -17
- package/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.d.ts +0 -24
- package/lib/components/navigation/skiplink/skiplink.module.d.ts +0 -8
- package/lib/components/utils/error-page/error-page.component.d.ts +0 -44
- package/lib/components/utils/icon/icon.component.d.ts +0 -48
- package/lib/components/utils/language-switcher/language-switcher.component.d.ts +0 -27
- package/lib/design-angular-kit.module.d.ts +0 -53
- package/lib/enums/colors.enums.d.ts +0 -10
- package/lib/enums/sizes.enum.d.ts +0 -7
- package/lib/interfaces/design-angular-kit-config.d.ts +0 -30
- package/lib/interfaces/form.d.ts +0 -67
- package/lib/interfaces/icon.d.ts +0 -4
- package/lib/interfaces/sortable-table.d.ts +0 -33
- package/lib/interfaces/utils.d.ts +0 -10
- package/lib/pipes/date-ago.pipe.d.ts +0 -17
- package/lib/pipes/duration.pipe.d.ts +0 -35
- package/lib/pipes/mark-matching-text.pipe.d.ts +0 -18
- package/lib/provide-design-angular-kit.d.ts +0 -7
- package/lib/services/notification/notification.service.d.ts +0 -63
- package/lib/utils/date-utils.d.ts +0 -79
- package/lib/utils/file-utils.d.ts +0 -32
- package/lib/utils/regex.d.ts +0 -34
- package/lib/validators/it-validators.d.ts +0 -69
- package/schematics/ng-add/index.d.ts +0 -3
- package/schematics/ng-add/index.js +0 -29
- package/schematics/ng-add/index.js.map +0 -1
- package/schematics/ng-add/index.spec.d.ts +0 -1
- package/schematics/ng-add/index.spec.js +0 -43
- package/schematics/ng-add/index.spec.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/add-animations.d.ts +0 -2
- package/schematics/ng-add/rules/setup-project/add-animations.js +0 -11
- package/schematics/ng-add/rules/setup-project/add-animations.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/add-assets.d.ts +0 -3
- package/schematics/ng-add/rules/setup-project/add-assets.js +0 -50
- package/schematics/ng-add/rules/setup-project/add-assets.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.d.ts +0 -3
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +0 -43
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/add-http-client.d.ts +0 -2
- package/schematics/ng-add/rules/setup-project/add-http-client.js +0 -11
- package/schematics/ng-add/rules/setup-project/add-http-client.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.d.ts +0 -11
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +0 -112
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/add-localisation.d.ts +0 -3
- package/schematics/ng-add/rules/setup-project/add-localisation.js +0 -50
- package/schematics/ng-add/rules/setup-project/add-localisation.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/angular-json-helper.d.ts +0 -2
- package/schematics/ng-add/rules/setup-project/angular-json-helper.js +0 -13
- package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/exceptions.d.ts +0 -7
- package/schematics/ng-add/rules/setup-project/exceptions.js +0 -17
- package/schematics/ng-add/rules/setup-project/exceptions.js.map +0 -1
- package/schematics/ng-add/rules/setup-project/index.js +0 -23
- package/schematics/ng-add/rules/setup-project/index.js.map +0 -1
- package/schematics/ng-add/schema.js +0 -3
- package/schematics/ng-add/schema.js.map +0 -1
- package/schematics/ng-add/setup-project.d.ts +0 -3
- package/schematics/ng-add/setup-project.js +0 -37
- package/schematics/ng-add/setup-project.js.map +0 -1
- package/schematics/ng-add/setup-project.spec.d.ts +0 -1
- package/schematics/ng-add/setup-project.spec.js +0 -139
- package/schematics/ng-add/setup-project.spec.js.map +0 -1
- package/schematics/ng-add/utils.d.ts +0 -14
- package/schematics/ng-add/utils.js +0 -49
- package/schematics/ng-add/utils.js.map +0 -1
- package/schematics/ng-add/versions-helper.d.ts +0 -3
- package/schematics/ng-add/versions-helper.js +0 -40
- package/schematics/ng-add/versions-helper.js.map +0 -1
- /package/schematics/ng-add/rules/setup-project/{index.d.ts → index.ts} +0 -0
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, inject, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
-
import { ItAbstractComponent } from '../../../abstracts/abstract.component';
|
|
3
|
-
import { ItFileUtils } from '../../../utils/file-utils';
|
|
4
|
-
import { ProgressDonut } from 'bootstrap-italia';
|
|
5
|
-
import { ItIconComponent } from '../../utils/icon/icon.component';
|
|
6
|
-
import { NgOptimizedImage } from '@angular/common';
|
|
7
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
8
|
-
import { IT_ASSET_BASE_PATH } from '../../../interfaces/design-angular-kit-config';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@ngx-translate/core";
|
|
11
|
-
export class ItUploadDragDropComponent extends ItAbstractComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
super();
|
|
14
|
-
/**
|
|
15
|
-
* The accepted file type to upload <br>
|
|
16
|
-
* Possible values: <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME Types</a> separated by comma
|
|
17
|
-
* @example application/pdf,image/png
|
|
18
|
-
* @default *
|
|
19
|
-
*/
|
|
20
|
-
this.accept = '*';
|
|
21
|
-
/**
|
|
22
|
-
* Fired when file start to upload
|
|
23
|
-
*/
|
|
24
|
-
this.fileStartUpload = new EventEmitter();
|
|
25
|
-
this.isDragover = false;
|
|
26
|
-
this.isLoading = false;
|
|
27
|
-
this.isSuccess = false;
|
|
28
|
-
this.assetBasePath = inject(IT_ASSET_BASE_PATH);
|
|
29
|
-
}
|
|
30
|
-
ngAfterViewInit() {
|
|
31
|
-
super.ngAfterViewInit();
|
|
32
|
-
if (this.donutElement) {
|
|
33
|
-
this.donut = ProgressDonut.getOrCreateInstance(this.donutElement.nativeElement);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
// Dragover listener
|
|
37
|
-
onDragOver(evt) {
|
|
38
|
-
evt.preventDefault();
|
|
39
|
-
evt.stopPropagation();
|
|
40
|
-
this.isDragover = !this.isLoading;
|
|
41
|
-
}
|
|
42
|
-
// Dragleave listener
|
|
43
|
-
onDragLeave(evt) {
|
|
44
|
-
evt.preventDefault();
|
|
45
|
-
evt.stopPropagation();
|
|
46
|
-
this.isDragover = false;
|
|
47
|
-
}
|
|
48
|
-
// Drop leave listener
|
|
49
|
-
onDrop(evt) {
|
|
50
|
-
evt.preventDefault();
|
|
51
|
-
evt.stopPropagation();
|
|
52
|
-
this.isDragover = false;
|
|
53
|
-
const files = evt.dataTransfer?.files;
|
|
54
|
-
if (this.isLoading || !files?.length) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
this.start(files[0]);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* On load file from input
|
|
61
|
-
* @param event
|
|
62
|
-
*/
|
|
63
|
-
onLoadFile(event) {
|
|
64
|
-
const files = event.target?.files;
|
|
65
|
-
if (!files?.length) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
this.start(files[0]);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Start the upload file
|
|
72
|
-
* @param file
|
|
73
|
-
*/
|
|
74
|
-
start(file) {
|
|
75
|
-
if (this.accept !== '*' && !this.accept.includes(file.type)) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
this.reset();
|
|
79
|
-
this.isLoading = true;
|
|
80
|
-
const splitName = file.name.split('.');
|
|
81
|
-
this.filename = splitName[0];
|
|
82
|
-
this.extension = splitName[1]?.toUpperCase();
|
|
83
|
-
this.fileSize = ItFileUtils.getFileSizeString(file);
|
|
84
|
-
this.fileStartUpload.emit(file);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Percentage of upload
|
|
88
|
-
* @param value the percentage [0 - 100]
|
|
89
|
-
*/
|
|
90
|
-
progress(value) {
|
|
91
|
-
if (!this.isLoading) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
if (value >= 100) {
|
|
95
|
-
this.success();
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
this.donut?.set((value < 0 ? 0 : value) / 100);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Upload success
|
|
103
|
-
*/
|
|
104
|
-
success() {
|
|
105
|
-
this.isLoading = false;
|
|
106
|
-
this.isSuccess = true;
|
|
107
|
-
this._changeDetectorRef.detectChanges();
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Reset file uploader
|
|
111
|
-
*/
|
|
112
|
-
reset() {
|
|
113
|
-
this.isLoading = false;
|
|
114
|
-
this.isSuccess = false;
|
|
115
|
-
this.filename = this.extension = this.fileSize = undefined;
|
|
116
|
-
this.donut?.set(0);
|
|
117
|
-
this._changeDetectorRef.detectChanges();
|
|
118
|
-
}
|
|
119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItUploadDragDropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItUploadDragDropComponent, isStandalone: true, selector: "it-upload-drag-drop", inputs: { accept: "accept" }, outputs: { fileStartUpload: "fileStartUpload" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, viewQueries: [{ propertyName: "donutElement", first: true, predicate: ["donutElement"], descendants: true }], exportAs: ["itUploadDragDrop"], usesInheritance: true, ngImport: i0, template: "<div class=\"upload-dragdrop\" [class.dragover]=\"isDragover\" [class.loading]=\"isLoading\" [class.success]=\"isSuccess\">\n <div class=\"upload-dragdrop-image\">\n <img\n [ngSrc]=\"assetBasePath + '/dist/assets/upload-drag-drop-icon.svg'\"\n alt=\"drag-drop-icon\"\n aria-hidden=\"true\"\n [width]=\"180\"\n [height]=\"180\" />\n <div class=\"upload-dragdrop-loading\">\n <div class=\"progress-donut\" #donutElement></div>\n </div>\n <div class=\"upload-dragdrop-success\">\n <it-icon name=\"check\"></it-icon>\n </div>\n </div>\n <div class=\"upload-dragdrop-text\">\n <p class=\"upload-dragdrop-weight\">\n <it-icon name=\"file\" size=\"xs\"></it-icon>\n {{ extension }} ({{ fileSize }})\n </p>\n <h5>{{ filename || ('it.form.upload-drag-file' | translate) }}</h5>\n @if (isLoading) {\n <p>{{ 'it.form.upload-loading' | translate }}</p>\n }\n @if (isSuccess) {\n <p>{{ 'it.form.upload-complete' | translate }}</p>\n }\n @if (!isLoading && !isSuccess) {\n <p>\n {{ 'it.form.upload-or' | translate }}\n <input type=\"file\" [id]=\"id\" class=\"upload-dragdrop-input\" [accept]=\"accept\" (change)=\"onLoadFile($event)\" />\n <label [for]=\"id\">{{ 'it.form.upload-select-device' | translate }}</label>\n </p>\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
121
|
-
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItUploadDragDropComponent, decorators: [{
|
|
123
|
-
type: Component,
|
|
124
|
-
args: [{ standalone: true, selector: 'it-upload-drag-drop', exportAs: 'itUploadDragDrop', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, TranslateModule, NgOptimizedImage], template: "<div class=\"upload-dragdrop\" [class.dragover]=\"isDragover\" [class.loading]=\"isLoading\" [class.success]=\"isSuccess\">\n <div class=\"upload-dragdrop-image\">\n <img\n [ngSrc]=\"assetBasePath + '/dist/assets/upload-drag-drop-icon.svg'\"\n alt=\"drag-drop-icon\"\n aria-hidden=\"true\"\n [width]=\"180\"\n [height]=\"180\" />\n <div class=\"upload-dragdrop-loading\">\n <div class=\"progress-donut\" #donutElement></div>\n </div>\n <div class=\"upload-dragdrop-success\">\n <it-icon name=\"check\"></it-icon>\n </div>\n </div>\n <div class=\"upload-dragdrop-text\">\n <p class=\"upload-dragdrop-weight\">\n <it-icon name=\"file\" size=\"xs\"></it-icon>\n {{ extension }} ({{ fileSize }})\n </p>\n <h5>{{ filename || ('it.form.upload-drag-file' | translate) }}</h5>\n @if (isLoading) {\n <p>{{ 'it.form.upload-loading' | translate }}</p>\n }\n @if (isSuccess) {\n <p>{{ 'it.form.upload-complete' | translate }}</p>\n }\n @if (!isLoading && !isSuccess) {\n <p>\n {{ 'it.form.upload-or' | translate }}\n <input type=\"file\" [id]=\"id\" class=\"upload-dragdrop-input\" [accept]=\"accept\" (change)=\"onLoadFile($event)\" />\n <label [for]=\"id\">{{ 'it.form.upload-select-device' | translate }}</label>\n </p>\n }\n </div>\n</div>\n" }]
|
|
125
|
-
}], ctorParameters: () => [], propDecorators: { accept: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], fileStartUpload: [{
|
|
128
|
-
type: Output
|
|
129
|
-
}], donutElement: [{
|
|
130
|
-
type: ViewChild,
|
|
131
|
-
args: ['donutElement']
|
|
132
|
-
}], onDragOver: [{
|
|
133
|
-
type: HostListener,
|
|
134
|
-
args: ['dragover', ['$event']]
|
|
135
|
-
}], onDragLeave: [{
|
|
136
|
-
type: HostListener,
|
|
137
|
-
args: ['dragleave', ['$event']]
|
|
138
|
-
}], onDrop: [{
|
|
139
|
-
type: HostListener,
|
|
140
|
-
args: ['drop', ['$event']]
|
|
141
|
-
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRyYWctZHJvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vdXBsb2FkLWRyYWctZHJvcC91cGxvYWQtZHJhZy1kcm9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS91cGxvYWQtZHJhZy1kcm9wL3VwbG9hZC1kcmFnLWRyb3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFVbkYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLG1CQUFtQjtJQWdDaEU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWhDVjs7Ozs7V0FLRztRQUNNLFdBQU0sR0FBVyxHQUFHLENBQUM7UUFFOUI7O1dBRUc7UUFDTyxvQkFBZSxHQUFH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QUF4QixNQUFNO2dCQVE0QixZQUFZO3NCQUE5QyxTQUFTO3VCQUFDLGNBQWM7Z0JBMEJsQixVQUFVO3NCQURoQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTN0IsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUzlCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRGaWxlVXRpbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9maWxlLXV0aWxzJztcbmltcG9ydCB7IFByb2dyZXNzRG9udXQgfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElUX0FTU0VUX0JBU0VfUEFUSCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZGVzaWduLWFuZ3VsYXIta2l0LWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LXVwbG9hZC1kcmFnLWRyb3AnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWRyYWctZHJvcC5jb21wb25lbnQuaHRtbCcsXG4gIGV4cG9ydEFzOiAnaXRVcGxvYWREcmFnRHJvcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSXRJY29uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2VdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFVwbG9hZERyYWdEcm9wQ29tcG9uZW50IGV4dGVuZHMgSXRBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAvKipcbiAgICogVGhlIGFjY2VwdGVkIGZpbGUgdHlwZSB0byB1cGxvYWQgPGJyPlxuICAgKiBQb3NzaWJsZSB2YWx1ZXM6IDxhIGhyZWY9XCJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL01JTUVfdHlwZXMvQ29tbW9uX3R5cGVzXCI+TUlNRSBUeXBlczwvYT4gc2VwYXJhdGVkIGJ5IGNvbW1hXG4gICAqIEBleGFtcGxlIGFwcGxpY2F0aW9uL3BkZixpbWFnZS9wbmdcbiAgICogQGRlZmF1bHQgKlxuICAgKi9cbiAgQElucHV0KCkgYWNjZXB0OiBzdHJpbmcgPSAnKic7XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gZmlsZSBzdGFydCB0byB1cGxvYWRcbiAgICovXG4gIEBPdXRwdXQoKSBmaWxlU3RhcnRVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGU+KCk7XG5cbiAgcHJvdGVjdGVkIGlzRHJhZ292ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgaXNTdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGRvbnV0PzogUHJvZ3Jlc3NEb251dDtcblxuICBAVmlld0NoaWxkKCdkb251dEVsZW1lbnQnKSBwcml2YXRlIGRvbnV0RWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBmaWxlbmFtZT86IHN0cmluZztcbiAgcHJvdGVjdGVkIGV4dGVuc2lvbj86IHN0cmluZztcbiAgcHJvdGVjdGVkIGZpbGVTaXplPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYm9vdHN0cmFwLWl0YWxpYSBhc3NldCBmb2xkZXIgcGF0aFxuICAgKiBAZGVmYXVsdCAuL2Jvb3RzdHJhcC1pdGFsaWFcbiAgICovXG4gIHByb3RlY3RlZCBhc3NldEJhc2VQYXRoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFzc2V0QmFzZVBhdGggPSBpbmplY3QoSVRfQVNTRVRfQkFTRV9QQVRIKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICBpZiAodGhpcy5kb251dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuZG9udXQgPSBQcm9ncmVzc0RvbnV0LmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcy5kb251dEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHJhZ292ZXIgbGlzdGVuZXJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnT3ZlcihldnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmlzRHJhZ292ZXIgPSAhdGhpcy5pc0xvYWRpbmc7XG4gIH1cblxuICAvLyBEcmFnbGVhdmUgbGlzdGVuZXJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ0xlYXZlKGV2dDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuaXNEcmFnb3ZlciA9IGZhbHNlO1xuICB9XG5cbiAgLy8gRHJvcCBsZWF2ZSBsaXN0ZW5lclxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJvcChldnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuaXNEcmFnb3ZlciA9IGZhbHNlO1xuICAgIGNvbnN0IGZpbGVzID0gZXZ0LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XG4gICAgaWYgKHRoaXMuaXNMb2FkaW5nIHx8ICFmaWxlcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhcnQoZmlsZXNbMF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIGxvYWQgZmlsZSBmcm9tIGlucHV0XG4gICAqIEBwYXJhbSBldmVudFxuICAgKi9cbiAgb25Mb2FkRmlsZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmaWxlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LmZpbGVzO1xuICAgIGlmICghZmlsZXM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0YXJ0KGZpbGVzWzBdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCB0aGUgdXBsb2FkIGZpbGVcbiAgICogQHBhcmFtIGZpbGVcbiAgICovXG4gIHB1YmxpYyBzdGFydChmaWxlOiBGaWxlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWNjZXB0ICE9PSAnKicgJiYgIXRoaXMuYWNjZXB0LmluY2x1ZGVzKGZpbGUudHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlc2V0KCk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgY29uc3Qgc3BsaXROYW1lID0gZmlsZS5uYW1lLnNwbGl0KCcuJyk7XG4gICAgdGhpcy5maWxlbmFtZSA9IHNwbGl0TmFtZVswXTtcbiAgICB0aGlzLmV4dGVuc2lvbiA9IHNwbGl0TmFtZVsxXT8udG9VcHBlckNhc2UoKTtcbiAgICB0aGlzLmZpbGVTaXplID0gSXRGaWxlVXRpbHMuZ2V0RmlsZVNpemVTdHJpbmcoZmlsZSk7XG5cbiAgICB0aGlzLmZpbGVTdGFydFVwbG9hZC5lbWl0KGZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmNlbnRhZ2Ugb2YgdXBsb2FkXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgcGVyY2VudGFnZSBbMCAtIDEwMF1cbiAgICovXG4gIHB1YmxpYyBwcm9ncmVzcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA+PSAxMDApIHtcbiAgICAgIHRoaXMuc3VjY2VzcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRvbnV0Py5zZXQoKHZhbHVlIDwgMCA/IDAgOiB2YWx1ZSkgLyAxMDApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgc3VjY2Vzc1xuICAgKi9cbiAgcHVibGljIHN1Y2Nlc3MoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmlzU3VjY2VzcyA9IHRydWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGZpbGUgdXBsb2FkZXJcbiAgICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaXNTdWNjZXNzID0gZmFsc2U7XG4gICAgdGhpcy5maWxlbmFtZSA9IHRoaXMuZXh0ZW5zaW9uID0gdGhpcy5maWxlU2l6ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRvbnV0Py5zZXQoMCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidXBsb2FkLWRyYWdkcm9wXCIgW2NsYXNzLmRyYWdvdmVyXT1cImlzRHJhZ292ZXJcIiBbY2xhc3MubG9hZGluZ109XCJpc0xvYWRpbmdcIiBbY2xhc3Muc3VjY2Vzc109XCJpc1N1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1kcmFnZHJvcC1pbWFnZVwiPlxuICAgIDxpbWdcbiAgICAgIFtuZ1NyY109XCJhc3NldEJhc2VQYXRoICsgJy9kaXN0L2Fzc2V0cy91cGxvYWQtZHJhZy1kcm9wLWljb24uc3ZnJ1wiXG4gICAgICBhbHQ9XCJkcmFnLWRyb3AtaWNvblwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgW3dpZHRoXT1cIjE4MFwiXG4gICAgICBbaGVpZ2h0XT1cIjE4MFwiIC8+XG4gICAgPGRpdiBjbGFzcz1cInVwbG9hZC1kcmFnZHJvcC1sb2FkaW5nXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtZG9udXRcIiAjZG9udXRFbGVtZW50PjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtZHJhZ2Ryb3Atc3VjY2Vzc1wiPlxuICAgICAgPGl0LWljb24gbmFtZT1cImNoZWNrXCI+PC9pdC1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1kcmFnZHJvcC10ZXh0XCI+XG4gICAgPHAgY2xhc3M9XCJ1cGxvYWQtZHJhZ2Ryb3Atd2VpZ2h0XCI+XG4gICAgICA8aXQtaWNvbiBuYW1lPVwiZmlsZVwiIHNpemU9XCJ4c1wiPjwvaXQtaWNvbj5cbiAgICAgIHt7IGV4dGVuc2lvbiB9fSAoe3sgZmlsZVNpemUgfX0pXG4gICAgPC9wPlxuICAgIDxoNT57eyBmaWxlbmFtZSB8fCAoJ2l0LmZvcm0udXBsb2FkLWRyYWctZmlsZScgfCB0cmFuc2xhdGUpIH19PC9oNT5cbiAgICBAaWYgKGlzTG9hZGluZykge1xuICAgICAgPHA+e3sgJ2l0LmZvcm0udXBsb2FkLWxvYWRpbmcnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIH1cbiAgICBAaWYgKGlzU3VjY2Vzcykge1xuICAgICAgPHA+e3sgJ2l0LmZvcm0udXBsb2FkLWNvbXBsZXRlJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICB9XG4gICAgQGlmICghaXNMb2FkaW5nICYmICFpc1N1Y2Nlc3MpIHtcbiAgICAgIDxwPlxuICAgICAgICB7eyAnaXQuZm9ybS51cGxvYWQtb3InIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIFtpZF09XCJpZFwiIGNsYXNzPVwidXBsb2FkLWRyYWdkcm9wLWlucHV0XCIgW2FjY2VwdF09XCJhY2NlcHRcIiAoY2hhbmdlKT1cIm9uTG9hZEZpbGUoJGV2ZW50KVwiIC8+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImlkXCI+e3sgJ2l0LmZvcm0udXBsb2FkLXNlbGVjdC1kZXZpY2UnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgIDwvcD5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ItAbstractComponent } from '../../../abstracts/abstract.component';
|
|
3
|
-
import { ItFileUtils } from '../../../utils/file-utils';
|
|
4
|
-
import { forkJoin, take, tap } from 'rxjs';
|
|
5
|
-
import { ItIconComponent } from '../../utils/icon/icon.component';
|
|
6
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
-
import { ItTooltipDirective } from '../../core/tooltip/tooltip.directive';
|
|
8
|
-
import { ItProgressBarComponent } from '../../core/progress-bar/progress-bar.component';
|
|
9
|
-
import { inputToBoolean } from '../../../utils/coercion';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@ngx-translate/core";
|
|
12
|
-
export class ItUploadFileListComponent extends ItAbstractComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
/**
|
|
16
|
-
* The accepted file type to upload <br>
|
|
17
|
-
* Possible values: <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME Types</a> separated by comma
|
|
18
|
-
* @example application/pdf,image/png
|
|
19
|
-
* @default *
|
|
20
|
-
*/
|
|
21
|
-
this.accept = '*';
|
|
22
|
-
/**
|
|
23
|
-
* If upload multiple files
|
|
24
|
-
* @default true
|
|
25
|
-
*/
|
|
26
|
-
this.multiple = true;
|
|
27
|
-
/**
|
|
28
|
-
* Fired when upload new files
|
|
29
|
-
*/
|
|
30
|
-
this.uploadFiles = new EventEmitter();
|
|
31
|
-
/**
|
|
32
|
-
* Fired on delete item button click
|
|
33
|
-
*/
|
|
34
|
-
this.deleteItem = new EventEmitter();
|
|
35
|
-
/**
|
|
36
|
-
* Cache to preview image
|
|
37
|
-
*/
|
|
38
|
-
this.previewImages = new Map();
|
|
39
|
-
}
|
|
40
|
-
ngOnInit() {
|
|
41
|
-
if (!!this.images && this.accept === '*') {
|
|
42
|
-
this.accept = 'image/*';
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
ngOnChanges(changes) {
|
|
46
|
-
if (changes['fileList'] && !!this.images) {
|
|
47
|
-
const images$ = this.fileList.map(item => ItFileUtils.fileToBase64(item.file).pipe(take(1), tap(base64 => this.previewImages.set(item.id, base64))));
|
|
48
|
-
forkJoin(images$).subscribe(() => {
|
|
49
|
-
this._changeDetectorRef.detectChanges();
|
|
50
|
-
super.ngOnChanges(changes);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
super.ngOnChanges(changes);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* On load file from input
|
|
59
|
-
* @param event
|
|
60
|
-
*/
|
|
61
|
-
onLoadFiles(event) {
|
|
62
|
-
const input = event.target;
|
|
63
|
-
const files = input?.files;
|
|
64
|
-
if (!files?.length) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const newFiles = Array.from(files).filter(file => !this.fileList.some(item => {
|
|
68
|
-
return item.file.name === file.name && item.file.size === file.size && item.file.type === file.type;
|
|
69
|
-
}));
|
|
70
|
-
const fileList = new DataTransfer();
|
|
71
|
-
newFiles.forEach(file => fileList.items.add(file));
|
|
72
|
-
this.uploadFiles.emit(fileList.files);
|
|
73
|
-
input.value = '';
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Get the file size string
|
|
77
|
-
* @param file
|
|
78
|
-
*/
|
|
79
|
-
getFileSize(file) {
|
|
80
|
-
return ItFileUtils.getFileSizeString(file);
|
|
81
|
-
}
|
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItUploadFileListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItUploadFileListComponent, isStandalone: true, selector: "it-upload-file-list", inputs: { fileList: "fileList", accept: "accept", multiple: ["multiple", "multiple", inputToBoolean], images: ["images", "images", inputToBoolean], hideLoadButton: ["hideLoadButton", "hideLoadButton", inputToBoolean] }, outputs: { uploadFiles: "uploadFiles", deleteItem: "deleteItem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!hideLoadButton) {\n <input type=\"file\" [id]=\"id\" class=\"upload\" [accept]=\"accept\" [multiple]=\"multiple\" (change)=\"onLoadFiles($event)\" />\n <label [for]=\"id\">\n <it-icon name=\"upload\" size=\"sm\"></it-icon>\n <span>{{ 'it.form.upload' | translate }}</span>\n </label>\n}\n\n@if (fileList.length) {\n <ul class=\"upload-file-list\" [class.upload-file-list-image]=\"images\">\n @for (item of fileList; track item.id) {\n <li\n class=\"upload-file\"\n [class.error]=\"item.error\"\n [class.uploading]=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [class.success]=\"!item.error && (!item.progress || item.progress >= 100)\">\n @if (images) {\n <div class=\"upload-image\">\n <img [attr.src]=\"previewImages.get(item.id)\" [alt]=\"item.file.name\" />\n </div>\n } @else {\n <it-icon name=\"file\" size=\"sm\" [color]=\"!item.error ? (item.progress ? 'secondary' : 'primary') : 'danger'\"></it-icon>\n }\n <p [itTooltip]=\"item.tooltip\">\n <span class=\"visually-hidden\">{{ 'it.form.uploaded-file' | translate: { name: item.file.name } }}</span>\n {{ item.file.name }} <span class=\"upload-file-weight\">{{ getFileSize(item.file) }}</span>\n </p>\n @if (item.removable && (!item.progress || item.progress < 100)) {\n <button type=\"button\" (click)=\"deleteItem.emit(item)\">\n <span class=\"visually-hidden\">{{ 'it.form.delete-file' | translate: { name: item.file.name } }}</span>\n <it-icon name=\"close\"></it-icon>\n </button>\n }\n @if ((!item.removable && !item.progress) || (item.progress !== undefined && item.progress >= 100)) {\n <button type=\"button\" disabled>\n <span class=\"visually-hidden\">{{ 'it.form.upload-complete' | translate }}</span>\n <it-icon name=\"check\"></it-icon>\n </button>\n }\n @if (!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100) {\n <it-progress-bar [value]=\"item.progress!\"></it-progress-bar>\n }\n </li>\n }\n </ul>\n}\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ItTooltipDirective, selector: "[itTooltip]", inputs: ["itTooltip", "tooltipPlacement", "tooltipHtml"], outputs: ["showEvent", "shownEvent", "hideEvent", "hiddenEvent", "insertedEvent"], exportAs: ["itTooltip"] }, { kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }] }); }
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItUploadFileListComponent, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{ standalone: true, selector: 'it-upload-file-list', imports: [ItIconComponent, TranslateModule, ItTooltipDirective, ItProgressBarComponent], template: "@if (!hideLoadButton) {\n <input type=\"file\" [id]=\"id\" class=\"upload\" [accept]=\"accept\" [multiple]=\"multiple\" (change)=\"onLoadFiles($event)\" />\n <label [for]=\"id\">\n <it-icon name=\"upload\" size=\"sm\"></it-icon>\n <span>{{ 'it.form.upload' | translate }}</span>\n </label>\n}\n\n@if (fileList.length) {\n <ul class=\"upload-file-list\" [class.upload-file-list-image]=\"images\">\n @for (item of fileList; track item.id) {\n <li\n class=\"upload-file\"\n [class.error]=\"item.error\"\n [class.uploading]=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [class.success]=\"!item.error && (!item.progress || item.progress >= 100)\">\n @if (images) {\n <div class=\"upload-image\">\n <img [attr.src]=\"previewImages.get(item.id)\" [alt]=\"item.file.name\" />\n </div>\n } @else {\n <it-icon name=\"file\" size=\"sm\" [color]=\"!item.error ? (item.progress ? 'secondary' : 'primary') : 'danger'\"></it-icon>\n }\n <p [itTooltip]=\"item.tooltip\">\n <span class=\"visually-hidden\">{{ 'it.form.uploaded-file' | translate: { name: item.file.name } }}</span>\n {{ item.file.name }} <span class=\"upload-file-weight\">{{ getFileSize(item.file) }}</span>\n </p>\n @if (item.removable && (!item.progress || item.progress < 100)) {\n <button type=\"button\" (click)=\"deleteItem.emit(item)\">\n <span class=\"visually-hidden\">{{ 'it.form.delete-file' | translate: { name: item.file.name } }}</span>\n <it-icon name=\"close\"></it-icon>\n </button>\n }\n @if ((!item.removable && !item.progress) || (item.progress !== undefined && item.progress >= 100)) {\n <button type=\"button\" disabled>\n <span class=\"visually-hidden\">{{ 'it.form.upload-complete' | translate }}</span>\n <it-icon name=\"check\"></it-icon>\n </button>\n }\n @if (!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100) {\n <it-progress-bar [value]=\"item.progress!\"></it-progress-bar>\n }\n </li>\n }\n </ul>\n}\n" }]
|
|
88
|
-
}], propDecorators: { fileList: [{
|
|
89
|
-
type: Input,
|
|
90
|
-
args: [{ required: true }]
|
|
91
|
-
}], accept: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], multiple: [{
|
|
94
|
-
type: Input,
|
|
95
|
-
args: [{ transform: inputToBoolean }]
|
|
96
|
-
}], images: [{
|
|
97
|
-
type: Input,
|
|
98
|
-
args: [{ transform: inputToBoolean }]
|
|
99
|
-
}], hideLoadButton: [{
|
|
100
|
-
type: Input,
|
|
101
|
-
args: [{ transform: inputToBoolean }]
|
|
102
|
-
}], uploadFiles: [{
|
|
103
|
-
type: Output
|
|
104
|
-
}], deleteItem: [{
|
|
105
|
-
type: Output
|
|
106
|
-
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vdXBsb2FkLWZpbGUtbGlzdC91cGxvYWQtZmlsZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS91cGxvYWQtZmlsZS1saXN0L3VwbG9hZC1maWxlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVF6RCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsbUJBQW1CO0lBTmxFOztRQVlFOzs7OztXQUtHO1FBQ00sV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUU5Qjs7O1dBR0c7UUFDbUMsYUFBUSxHQUFZ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LDRJQy9DcEMsdXNFQThDQSw0Q0QvQlksZUFBZSwwSEFBRSxlQUFlLDRGQUFFLGtCQUFrQiw4TkFBRSxzQkFBc0I7OzJGQUUzRSx5QkFBeUI7a0JBTnJDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLHFCQUFxQixXQUV0QixDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLENBQUM7OEJBTTVELFFBQVE7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVFoQixNQUFNO3NCQUFkLEtBQUs7Z0JBTWdDLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQU1FLE1BQU07c0JBQTNDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQU1FLGNBQWM7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQUsxQixXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZEZpbGVMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZm9ybSc7XG5pbXBvcnQgeyBJdEZpbGVVdGlscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2ZpbGUtdXRpbHMnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEl0VG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2NvcmUvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtdXBsb2FkLWZpbGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZmlsZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW0l0SWNvbkNvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlLCBJdFRvb2x0aXBEaXJlY3RpdmUsIEl0UHJvZ3Jlc3NCYXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFVwbG9hZEZpbGVMaXN0Q29tcG9uZW50IGV4dGVuZHMgSXRBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGZpbGVzIHRvIHNob3cgaW4gbGlzdFxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZmlsZUxpc3QhOiBBcnJheTxVcGxvYWRGaWxlTGlzdEl0ZW0+O1xuXG4gIC8qKlxuICAgKiBUaGUgYWNjZXB0ZWQgZmlsZSB0eXBlIHRvIHVwbG9hZCA8YnI+XG4gICAqIFBvc3NpYmxlIHZhbHVlczogPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvQmFzaWNzX29mX0hUVFAvTUlNRV90eXBlcy9Db21tb25fdHlwZXNcIj5NSU1FIFR5cGVzPC9hPiBzZXBhcmF0ZWQgYnkgY29tbWFcbiAgICogQGV4YW1wbGUgYXBwbGljYXRpb24vcGRmLGltYWdlL3BuZ1xuICAgKiBAZGVmYXVsdCAqXG4gICAqL1xuICBASW5wdXQoKSBhY2NlcHQ6IHN0cmluZyA9ICcqJztcblxuICAvKipcbiAgICogSWYgdXBsb2FkIG11bHRpcGxlIGZpbGVzXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgbXVsdGlwbGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBJZiBpcyBmaWxlIGxpc3QgaW1hZ2VcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgaW1hZ2VzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSGlkZSB0aGUgbG9hZCBidXR0b25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgaGlkZUxvYWRCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHVwbG9hZCBuZXcgZmlsZXNcbiAgICovXG4gIEBPdXRwdXQoKSB1cGxvYWRGaWxlczogRXZlbnRFbWl0dGVyPEZpbGVMaXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIG9uIGRlbGV0ZSBpdGVtIGJ1dHRvbiBjbGlja1xuICAgKi9cbiAgQE91dHB1dCgpIGRlbGV0ZUl0ZW06IEV2ZW50RW1pdHRlcjxVcGxvYWRGaWxlTGlzdEl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxVcGxvYWRGaWxlTGlzdEl0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIENhY2hlIHRvIHByZXZpZXcgaW1hZ2VcbiAgICovXG4gIHByZXZpZXdJbWFnZXM6IE1hcDxudW1iZXIsIHN0cmluZz4gPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMuaW1hZ2VzICYmIHRoaXMuYWNjZXB0ID09PSAnKicpIHtcbiAgICAgIHRoaXMuYWNjZXB0ID0gJ2ltYWdlLyonO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZmlsZUxpc3QnXSAmJiAhIXRoaXMuaW1hZ2VzKSB7XG4gICAgICBjb25zdCBpbWFnZXMkID0gdGhpcy5maWxlTGlzdC5tYXAoaXRlbSA9PlxuICAgICAgICBJdEZpbGVVdGlscy5maWxlVG9CYXNlNjQoaXRlbS5maWxlKS5waXBlKFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgdGFwKGJhc2U2NCA9PiB0aGlzLnByZXZpZXdJbWFnZXMuc2V0KGl0ZW0uaWQsIGJhc2U2NCkpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICBmb3JrSm9pbihpbWFnZXMkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBsb2FkIGZpbGUgZnJvbSBpbnB1dFxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIG9uTG9hZEZpbGVzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZXMgPSBpbnB1dD8uZmlsZXM7XG4gICAgaWYgKCFmaWxlcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV3RmlsZXMgPSBBcnJheS5mcm9tKGZpbGVzKS5maWx0ZXIoXG4gICAgICBmaWxlID0+XG4gICAgICAgICF0aGlzLmZpbGVMaXN0LnNvbWUoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0uZmlsZS5uYW1lID09PSBmaWxlLm5hbWUgJiYgaXRlbS5maWxlLnNpemUgPT09IGZpbGUuc2l6ZSAmJiBpdGVtLmZpbGUudHlwZSA9PT0gZmlsZS50eXBlO1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBmaWxlTGlzdCA9IG5ldyBEYXRhVHJhbnNmZXIoKTtcbiAgICBuZXdGaWxlcy5mb3JFYWNoKGZpbGUgPT4gZmlsZUxpc3QuaXRlbXMuYWRkKGZpbGUpKTtcblxuICAgIHRoaXMudXBsb2FkRmlsZXMuZW1pdChmaWxlTGlzdC5maWxlcyk7XG4gICAgaW5wdXQudmFsdWUgPSAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZpbGUgc2l6ZSBzdHJpbmdcbiAgICogQHBhcmFtIGZpbGVcbiAgICovXG4gIGdldEZpbGVTaXplKGZpbGU6IEZpbGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBJdEZpbGVVdGlscy5nZXRGaWxlU2l6ZVN0cmluZyhmaWxlKTtcbiAgfVxufVxuIiwiQGlmICghaGlkZUxvYWRCdXR0b24pIHtcbiAgPGlucHV0IHR5cGU9XCJmaWxlXCIgW2lkXT1cImlkXCIgY2xhc3M9XCJ1cGxvYWRcIiBbYWNjZXB0XT1cImFjY2VwdFwiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiIChjaGFuZ2UpPVwib25Mb2FkRmlsZXMoJGV2ZW50KVwiIC8+XG4gIDxsYWJlbCBbZm9yXT1cImlkXCI+XG4gICAgPGl0LWljb24gbmFtZT1cInVwbG9hZFwiIHNpemU9XCJzbVwiPjwvaXQtaWNvbj5cbiAgICA8c3Bhbj57eyAnaXQuZm9ybS51cGxvYWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8L2xhYmVsPlxufVxuXG5AaWYgKGZpbGVMaXN0Lmxlbmd0aCkge1xuICA8dWwgY2xhc3M9XCJ1cGxvYWQtZmlsZS1saXN0XCIgW2NsYXNzLnVwbG9hZC1maWxlLWxpc3QtaW1hZ2VdPVwiaW1hZ2VzXCI+XG4gICAgQGZvciAoaXRlbSBvZiBmaWxlTGlzdDsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwidXBsb2FkLWZpbGVcIlxuICAgICAgICBbY2xhc3MuZXJyb3JdPVwiaXRlbS5lcnJvclwiXG4gICAgICAgIFtjbGFzcy51cGxvYWRpbmddPVwiIWl0ZW0uZXJyb3IgJiYgaXRlbS5wcm9ncmVzcyAhPT0gdW5kZWZpbmVkICYmIGl0ZW0ucHJvZ3Jlc3MgPiAwICYmIGl0ZW0ucHJvZ3Jlc3MgPCAxMDBcIlxuICAgICAgICBbY2xhc3Muc3VjY2Vzc109XCIhaXRlbS5lcnJvciAmJiAoIWl0ZW0ucHJvZ3Jlc3MgfHwgaXRlbS5wcm9ncmVzcyA+PSAxMDApXCI+XG4gICAgICAgIEBpZiAoaW1hZ2VzKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1pbWFnZVwiPlxuICAgICAgICAgICAgPGltZyBbYXR0ci5zcmNdPVwicHJldmlld0ltYWdlcy5nZXQoaXRlbS5pZClcIiBbYWx0XT1cIml0ZW0uZmlsZS5uYW1lXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGl0LWljb24gbmFtZT1cImZpbGVcIiBzaXplPVwic21cIiBbY29sb3JdPVwiIWl0ZW0uZXJyb3IgPyAoaXRlbS5wcm9ncmVzcyA/ICdzZWNvbmRhcnknIDogJ3ByaW1hcnknKSA6ICdkYW5nZXInXCI+PC9pdC1pY29uPlxuICAgICAgICB9XG4gICAgICAgIDxwIFtpdFRvb2x0aXBdPVwiaXRlbS50b29sdGlwXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuZm9ybS51cGxvYWRlZC1maWxlJyB8IHRyYW5zbGF0ZTogeyBuYW1lOiBpdGVtLmZpbGUubmFtZSB9IH19PC9zcGFuPlxuICAgICAgICAgIHt7IGl0ZW0uZmlsZS5uYW1lIH19IDxzcGFuIGNsYXNzPVwidXBsb2FkLWZpbGUtd2VpZ2h0XCI+e3sgZ2V0RmlsZVNpemUoaXRlbS5maWxlKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICBAaWYgKGl0ZW0ucmVtb3ZhYmxlICYmICghaXRlbS5wcm9ncmVzcyB8fCBpdGVtLnByb2dyZXNzIDwgMTAwKSkge1xuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJkZWxldGVJdGVtLmVtaXQoaXRlbSlcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+e3sgJ2l0LmZvcm0uZGVsZXRlLWZpbGUnIHwgdHJhbnNsYXRlOiB7IG5hbWU6IGl0ZW0uZmlsZS5uYW1lIH0gfX08L3NwYW4+XG4gICAgICAgICAgICA8aXQtaWNvbiBuYW1lPVwiY2xvc2VcIj48L2l0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICgoIWl0ZW0ucmVtb3ZhYmxlICYmICFpdGVtLnByb2dyZXNzKSB8fCAoaXRlbS5wcm9ncmVzcyAhPT0gdW5kZWZpbmVkICYmIGl0ZW0ucHJvZ3Jlc3MgPj0gMTAwKSkge1xuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRpc2FibGVkPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyAnaXQuZm9ybS51cGxvYWQtY29tcGxldGUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgPGl0LWljb24gbmFtZT1cImNoZWNrXCI+PC9pdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWl0ZW0uZXJyb3IgJiYgaXRlbS5wcm9ncmVzcyAhPT0gdW5kZWZpbmVkICYmIGl0ZW0ucHJvZ3Jlc3MgPiAwICYmIGl0ZW0ucHJvZ3Jlc3MgPCAxMDApIHtcbiAgICAgICAgICA8aXQtcHJvZ3Jlc3MtYmFyIFt2YWx1ZV09XCJpdGVtLnByb2dyZXNzIVwiPjwvaXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICB9XG4gICAgICA8L2xpPlxuICAgIH1cbiAgPC91bD5cbn1cbiJdfQ==
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
3
|
-
import { ItButtonDirective } from '../../core/button/button.directive';
|
|
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 "@angular/common";
|
|
9
|
-
import * as i2 from "@ngx-translate/core";
|
|
10
|
-
export class ItBackButtonComponent {
|
|
11
|
-
constructor(_location) {
|
|
12
|
-
this._location = _location;
|
|
13
|
-
/**
|
|
14
|
-
* Back button style
|
|
15
|
-
* - <b>link</b>: use a link with icon and text
|
|
16
|
-
* - <b>button</b>: use a button with icon and text
|
|
17
|
-
* @default button
|
|
18
|
-
*/
|
|
19
|
-
this.buttonStyle = 'button';
|
|
20
|
-
/**
|
|
21
|
-
* Button direction
|
|
22
|
-
* - <b>left</b>: Back direction
|
|
23
|
-
* - <b>up</b>: Upper direction
|
|
24
|
-
* @default left
|
|
25
|
-
*/
|
|
26
|
-
this.direction = 'left';
|
|
27
|
-
/**
|
|
28
|
-
* Show/Hide icon
|
|
29
|
-
* @default true
|
|
30
|
-
*/
|
|
31
|
-
this.showIcon = true;
|
|
32
|
-
/**
|
|
33
|
-
* Show/Hide text
|
|
34
|
-
* @default true
|
|
35
|
-
*/
|
|
36
|
-
this.showText = true;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Go back function
|
|
40
|
-
*/
|
|
41
|
-
goBack(event) {
|
|
42
|
-
event.preventDefault();
|
|
43
|
-
if (this.backFn) {
|
|
44
|
-
return this.backFn(this._location);
|
|
45
|
-
}
|
|
46
|
-
this._location.back();
|
|
47
|
-
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackButtonComponent, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItBackButtonComponent, isStandalone: true, selector: "it-back-button", inputs: { buttonStyle: "buttonStyle", direction: "direction", showIcon: ["showIcon", "showIcon", inputToBoolean], showText: ["showText", "showText", inputToBoolean], backFn: "backFn" }, exportAs: ["itBackButton"], ngImport: i0, template: "@if (buttonStyle === 'link') {\n <a href=\"#\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n}\n\n@if (buttonStyle === 'button') {\n <button itButton=\"primary\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n}\n\n<ng-template #content>\n @if (showIcon) {\n <it-icon\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"showText\"></it-icon>\n }\n\n <span [class.visually-hidden]=\"!showText\">\n {{ (direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate }}\n </span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackButtonComponent, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{ standalone: true, selector: 'it-back-button', exportAs: 'itBackButton', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, ItButtonDirective, ItIconComponent, TranslateModule], template: "@if (buttonStyle === 'link') {\n <a href=\"#\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n}\n\n@if (buttonStyle === 'button') {\n <button itButton=\"primary\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n}\n\n<ng-template #content>\n @if (showIcon) {\n <it-icon\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"showText\"></it-icon>\n }\n\n <span [class.visually-hidden]=\"!showText\">\n {{ (direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate }}\n </span>\n</ng-template>\n" }]
|
|
54
|
-
}], ctorParameters: () => [{ type: i1.Location }], propDecorators: { buttonStyle: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}], direction: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], showIcon: [{
|
|
59
|
-
type: Input,
|
|
60
|
-
args: [{ transform: inputToBoolean }]
|
|
61
|
-
}], showText: [{
|
|
62
|
-
type: Input,
|
|
63
|
-
args: [{ transform: inputToBoolean }]
|
|
64
|
-
}], backFn: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stYnV0dG9uL2JhY2stYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9iYWNrLWJ1dHRvbi9iYWNrLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQVksZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQVV6RCxNQUFNLE9BQU8scUJBQXFCO0lBc0NoQyxZQUE0QixTQUFtQjtRQUFuQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBckMvQzs7Ozs7V0FLRztRQUNNLGdCQUFXLEdBQXNCLFFBQVEsQ0FBQztRQUVuRDs7Ozs7V0FLRztRQUNNLGNBQVMsR0FBa0IsTUFBTSxDQUFDO1FBRTNDOzs7V0FHRztRQUNtQyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRS9EOzs7V0FHRztRQUNtQyxhQUFRLEdBQVksSUFBSSxDQUFDO0lBV2IsQ0FBQztJQUVuRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxLQUFZO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBbERVLHFCQUFxQjtrR0FBckIscUJBQXFCLG1KQXFCWixjQUFjLHNDQU1kLGNBQWMsMkVDMUNwQyxzeUJBeUJBLDRDRFpZLGdCQUFnQixvSkFBRSxpQkFBaUIsMElBQUUsZUFBZSwwSEFBRSxlQUFlOzsyRkFFcEUscUJBQXFCO2tCQVJqQyxTQUFTO2lDQUNJLElBQUksWUFDTixnQkFBZ0IsWUFFaEIsY0FBYyxtQkFDUCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQzs2RUFTdkUsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1nQyxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFTM0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEl0QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vY29yZS9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi91dGlscy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWJhY2stYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhY2stYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdpdEJhY2tCdXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIEl0QnV0dG9uRGlyZWN0aXZlLCBJdEljb25Db21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEl0QmFja0J1dHRvbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBCYWNrIGJ1dHRvbiBzdHlsZVxuICAgKiAtIDxiPmxpbms8L2I+OiB1c2UgYSBsaW5rIHdpdGggaWNvbiBhbmQgdGV4dFxuICAgKiAtIDxiPmJ1dHRvbjwvYj46IHVzZSBhIGJ1dHRvbiB3aXRoIGljb24gYW5kIHRleHRcbiAgICogQGRlZmF1bHQgYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKSBidXR0b25TdHlsZTogJ2xpbmsnIHwgJ2J1dHRvbicgPSAnYnV0dG9uJztcblxuICAvKipcbiAgICogQnV0dG9uIGRpcmVjdGlvblxuICAgKiAtIDxiPmxlZnQ8L2I+OiBCYWNrIGRpcmVjdGlvblxuICAgKiAtIDxiPnVwPC9iPjogVXBwZXIgZGlyZWN0aW9uXG4gICAqIEBkZWZhdWx0IGxlZnRcbiAgICovXG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3VwJyA9ICdsZWZ0JztcblxuICAvKipcbiAgICogU2hvdy9IaWRlIGljb25cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93SWNvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNob3cvSGlkZSB0ZXh0XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc2hvd1RleHQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gYmFjayBsb2dpYyA8YnIvPlxuICAgKlxuICAgKiBOT1RFOiB0byB1c2UgJ3RoaXMnIG5lZWQgYmluZCBmdW5jdGlvbiAgPGJyLz5cbiAgICogQGV4YW1wbGUgYmFja0NiRm4gPSB0aGlzLmVycm9yQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICogKGVycm9yQ2FsbGJhY2sgaXMgeW91ciBmdW5jdGlvbiwgcGFzcyBiYWNrQ2JGbiB0byB0aGUgY29tcG9uZW50KVxuICAgKi9cbiAgQElucHV0KCkgYmFja0ZuPzogKGxvY2F0aW9uOiBMb2NhdGlvbikgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgX2xvY2F0aW9uOiBMb2NhdGlvbikge31cblxuICAvKipcbiAgICogR28gYmFjayBmdW5jdGlvblxuICAgKi9cbiAgcHVibGljIGdvQmFjayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLmJhY2tGbikge1xuICAgICAgcmV0dXJuIHRoaXMuYmFja0ZuKHRoaXMuX2xvY2F0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLl9sb2NhdGlvbi5iYWNrKCk7XG4gIH1cbn1cbiIsIkBpZiAoYnV0dG9uU3R5bGUgPT09ICdsaW5rJykge1xuICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZ28tYmFja1wiIChjbGljayk9XCJnb0JhY2soJGV2ZW50KVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbn1cblxuQGlmIChidXR0b25TdHlsZSA9PT0gJ2J1dHRvbicpIHtcbiAgPGJ1dHRvbiBpdEJ1dHRvbj1cInByaW1hcnlcIiBjbGFzcz1cImdvLWJhY2tcIiAoY2xpY2spPVwiZ29CYWNrKCRldmVudClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cbn1cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICBAaWYgKHNob3dJY29uKSB7XG4gICAgPGl0LWljb25cbiAgICAgIHNpemU9XCJzbVwiXG4gICAgICBbbmFtZV09XCJkaXJlY3Rpb24gPT09ICdsZWZ0JyA/ICdhcnJvdy1sZWZ0JyA6ICdhcnJvdy11cCdcIlxuICAgICAgW2NvbG9yXT1cImJ1dHRvblN0eWxlID09PSAnbGluaycgPyAncHJpbWFyeScgOiAnd2hpdGUnXCJcbiAgICAgIFtjbGFzcy5tZS0yXT1cInNob3dUZXh0XCI+PC9pdC1pY29uPlxuICB9XG5cbiAgPHNwYW4gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd1RleHRcIj5cbiAgICB7eyAoZGlyZWN0aW9uID09PSAnbGVmdCcgPyAnaXQubmF2aWdhdGlvbi5nby1iYWNrJyA6ICdpdC5uYXZpZ2F0aW9uLnVwcGVyLWxldmVsJykgfCB0cmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { ItAbstractComponent } from '../../../abstracts/abstract.component';
|
|
3
|
-
import { BackToTop } from 'bootstrap-italia';
|
|
4
|
-
import { ItIconComponent } from '../../utils/icon/icon.component';
|
|
5
|
-
import { inputToBoolean } from '../../../utils/coercion';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class ItBackToTopComponent extends ItAbstractComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
/**
|
|
11
|
-
* Aria label for the component
|
|
12
|
-
* @default 'Torna su'
|
|
13
|
-
*/
|
|
14
|
-
this.ariaLabel = 'Torna su';
|
|
15
|
-
}
|
|
16
|
-
ngAfterViewInit() {
|
|
17
|
-
super.ngAfterViewInit();
|
|
18
|
-
if (this.backToTopElement) {
|
|
19
|
-
const element = this.backToTopElement.nativeElement;
|
|
20
|
-
this.backToTop = BackToTop.getOrCreateInstance(element);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Show button
|
|
25
|
-
*/
|
|
26
|
-
show() {
|
|
27
|
-
this.backToTop?.show();
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Hide the button
|
|
31
|
-
*/
|
|
32
|
-
hide() {
|
|
33
|
-
this.backToTop?.hide();
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Activates the scroll animation towards the Y coordinate indicated by the positionTop option
|
|
37
|
-
*/
|
|
38
|
-
scrollToTop() {
|
|
39
|
-
this.backToTop?.scrollToTop();
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Eliminate component features
|
|
43
|
-
*/
|
|
44
|
-
dispose() {
|
|
45
|
-
this.backToTop?.dispose();
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackToTopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItBackToTopComponent, isStandalone: true, selector: "it-back-to-top", inputs: { ariaLabel: "ariaLabel", small: ["small", "small", inputToBoolean], shadow: ["shadow", "shadow", inputToBoolean], dark: ["dark", "dark", inputToBoolean] }, viewQueries: [{ propertyName: "backToTopElement", first: true, predicate: ["backToTop"], descendants: true }], exportAs: ["itBackToTop"], usesInheritance: true, ngImport: i0, template: "<a\n #backToTop\n [id]=\"id\"\n href=\"#\"\n [attr.aria-label]=\"ariaLabel\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"small\"\n [class.shadow]=\"shadow\"\n [class.dark]=\"dark\">\n <it-icon name=\"arrow-up\" [color]=\"dark ? 'secondary' : 'light'\"></it-icon>\n</a>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackToTopComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ standalone: true, selector: 'it-back-to-top', exportAs: 'itBackToTop', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent], template: "<a\n #backToTop\n [id]=\"id\"\n href=\"#\"\n [attr.aria-label]=\"ariaLabel\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"small\"\n [class.shadow]=\"shadow\"\n [class.dark]=\"dark\">\n <it-icon name=\"arrow-up\" [color]=\"dark ? 'secondary' : 'light'\"></it-icon>\n</a>\n" }]
|
|
53
|
-
}], propDecorators: { ariaLabel: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], small: [{
|
|
56
|
-
type: Input,
|
|
57
|
-
args: [{ transform: inputToBoolean }]
|
|
58
|
-
}], shadow: [{
|
|
59
|
-
type: Input,
|
|
60
|
-
args: [{ transform: inputToBoolean }]
|
|
61
|
-
}], dark: [{
|
|
62
|
-
type: Input,
|
|
63
|
-
args: [{ transform: inputToBoolean }]
|
|
64
|
-
}], backToTopElement: [{
|
|
65
|
-
type: ViewChild,
|
|
66
|
-
args: ['backToTop']
|
|
67
|
-
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10by10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stdG8tdG9wL2JhY2stdG8tdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9iYWNrLXRvLXRvcC9iYWNrLXRvLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVV6RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBUjdEOztRQVNFOzs7V0FHRztRQUNNLGNBQVMsR0FBVyxVQUFVLENBQUM7S0E0RHpDO0lBcENVLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBaEVVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDhHQVdYLGNBQWMsZ0NBTWQsY0FBYywwQkFNZCxjQUFjLDhMQ3JDcEMsbVNBV0EsNENEQ1ksZUFBZTs7MkZBRWQsb0JBQW9CO2tCQVJoQyxTQUFTO2lDQUNJLElBQUksWUFDTixnQkFBZ0IsWUFFaEIsYUFBYSxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxDQUFDOzhCQU9qQixTQUFTO3NCQUFqQixLQUFLO2dCQU1nQyxLQUFLO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxNQUFNO3NCQUEzQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxJQUFJO3NCQUF6QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFJSixnQkFBZ0I7c0JBQS9DLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJhY2tUb1RvcCB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtYmFjay10by10b3AnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFjay10by10b3AuY29tcG9uZW50Lmh0bWwnLFxuICBleHBvcnRBczogJ2l0QmFja1RvVG9wJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtJdEljb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdEJhY2tUb1RvcENvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIEFyaWEgbGFiZWwgZm9yIHRoZSBjb21wb25lbnRcbiAgICogQGRlZmF1bHQgJ1Rvcm5hIHN1J1xuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnVG9ybmEgc3UnO1xuXG4gIC8qKlxuICAgKiBTaG93IHNtYWxsIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzbWFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3cgc2hhZG93XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNoYWRvdz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiB1c2FibGUgYnV0dG9uIG9uIGEgZGFyayBiYWNrZ3JvdW5kXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRhcms/OiBib29sZWFuO1xuXG4gIHByaXZhdGUgYmFja1RvVG9wPzogQmFja1RvVG9wO1xuXG4gIEBWaWV3Q2hpbGQoJ2JhY2tUb1RvcCcpIHByaXZhdGUgYmFja1RvVG9wRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTEFuY2hvckVsZW1lbnQ+O1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIGlmICh0aGlzLmJhY2tUb1RvcEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmJhY2tUb1RvcEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgIHRoaXMuYmFja1RvVG9wID0gQmFja1RvVG9wLmdldE9yQ3JlYXRlSW5zdGFuY2UoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tUb1RvcD8uc2hvdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrVG9Ub3A/LmhpZGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgdGhlIHNjcm9sbCBhbmltYXRpb24gdG93YXJkcyB0aGUgWSBjb29yZGluYXRlIGluZGljYXRlZCBieSB0aGUgcG9zaXRpb25Ub3Agb3B0aW9uXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Ub3AoKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrVG9Ub3A/LnNjcm9sbFRvVG9wKCk7XG4gIH1cblxuICAvKipcbiAgICogRWxpbWluYXRlIGNvbXBvbmVudCBmZWF0dXJlc1xuICAgKi9cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrVG9Ub3A/LmRpc3Bvc2UoKTtcbiAgfVxufVxuIiwiPGFcbiAgI2JhY2tUb1RvcFxuICBbaWRdPVwiaWRcIlxuICBocmVmPVwiI1wiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgY2xhc3M9XCJiYWNrLXRvLXRvcFwiXG4gIFtjbGFzcy5iYWNrLXRvLXRvcC1zbWFsbF09XCJzbWFsbFwiXG4gIFtjbGFzcy5zaGFkb3ddPVwic2hhZG93XCJcbiAgW2NsYXNzLmRhcmtdPVwiZGFya1wiPlxuICA8aXQtaWNvbiBuYW1lPVwiYXJyb3ctdXBcIiBbY29sb3JdPVwiZGFyayA/ICdzZWNvbmRhcnknIDogJ2xpZ2h0J1wiPjwvaXQtaWNvbj5cbjwvYT5cbiJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChildren, Input, } from '@angular/core';
|
|
2
|
-
import { ItBreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.component';
|
|
3
|
-
import { startWith } from 'rxjs';
|
|
4
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
5
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
-
import { ItIconComponent } from '../../../utils/icon/icon.component';
|
|
7
|
-
import { ItLinkComponent } from '../../../core/link/link.component';
|
|
8
|
-
import { inputToBoolean } from '../../../../utils/coercion';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@ngx-translate/core";
|
|
11
|
-
export class ItBreadcrumbComponent {
|
|
12
|
-
constructor(_changeDetectorRef) {
|
|
13
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
14
|
-
/**
|
|
15
|
-
* The character to use as separator
|
|
16
|
-
* @default /
|
|
17
|
-
*/
|
|
18
|
-
this.separator = '/';
|
|
19
|
-
}
|
|
20
|
-
ngAfterViewInit() {
|
|
21
|
-
this.items?.changes
|
|
22
|
-
.pipe(
|
|
23
|
-
// When breadcrumb items changes (dynamic add/remove)
|
|
24
|
-
startWith(undefined))
|
|
25
|
-
.subscribe(() => {
|
|
26
|
-
this.itemSubscriptions?.forEach(sub => sub.unsubscribe()); // Remove old subscriptions
|
|
27
|
-
this.itemSubscriptions = this.items?.map(item => item.valueChanges.subscribe(() => {
|
|
28
|
-
this._changeDetectorRef.detectChanges(); // DetectChanges when breadcrumb item attributes changes
|
|
29
|
-
}));
|
|
30
|
-
this._changeDetectorRef.detectChanges(); // Force update html render
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
ngOnDestroy() {
|
|
34
|
-
this.itemSubscriptions?.forEach(item => item.unsubscribe());
|
|
35
|
-
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItBreadcrumbComponent, isStandalone: true, selector: "it-breadcrumb", inputs: { separator: "separator", dark: ["dark", "dark", inputToBoolean] }, queries: [{ propertyName: "items", predicate: ItBreadcrumbItemComponent }], ngImport: i0, template: "<nav class=\"breadcrumb-container\" [attr.aria-label]=\"'it.navigation.navigation-path' | translate\">\n @if (items) {\n <ol class=\"breadcrumb\" [class.dark]=\"dark\" [class.px-3]=\"dark\">\n @for (item of items; track item; let isLast = $last) {\n <li class=\"breadcrumb-item\" [class.active]=\"item.active\" [attr.aria-current]=\"item.active ? 'page' : null\">\n @if (item.iconName) {\n <it-icon [name]=\"item.iconName\" [color]=\"dark ? 'white' : 'secondary'\" size=\"sm\" svgClass=\"align-top me-1\"></it-icon>\n }\n @if (!item.active && !isLast) {\n <it-link [href]=\"item.href\" [class]=\"item.class\" [externalLink]=\"item.externalLink\" [disabled]=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </it-link>\n } @else {\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n }\n @if (!isLast) {\n <span class=\"separator\">{{ separator }}</span>\n }\n </li>\n }\n </ol>\n }\n</nav>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "component", type: ItLinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ standalone: true, selector: 'it-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ItIconComponent, ItLinkComponent, NgTemplateOutlet], template: "<nav class=\"breadcrumb-container\" [attr.aria-label]=\"'it.navigation.navigation-path' | translate\">\n @if (items) {\n <ol class=\"breadcrumb\" [class.dark]=\"dark\" [class.px-3]=\"dark\">\n @for (item of items; track item; let isLast = $last) {\n <li class=\"breadcrumb-item\" [class.active]=\"item.active\" [attr.aria-current]=\"item.active ? 'page' : null\">\n @if (item.iconName) {\n <it-icon [name]=\"item.iconName\" [color]=\"dark ? 'white' : 'secondary'\" size=\"sm\" svgClass=\"align-top me-1\"></it-icon>\n }\n @if (!item.active && !isLast) {\n <it-link [href]=\"item.href\" [class]=\"item.class\" [externalLink]=\"item.externalLink\" [disabled]=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </it-link>\n } @else {\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n }\n @if (!isLast) {\n <span class=\"separator\">{{ separator }}</span>\n }\n </li>\n }\n </ol>\n }\n</nav>\n" }]
|
|
42
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { separator: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], dark: [{
|
|
45
|
-
type: Input,
|
|
46
|
-
args: [{ transform: inputToBoolean }]
|
|
47
|
-
}], items: [{
|
|
48
|
-
type: ContentChildren,
|
|
49
|
-
args: [ItBreadcrumbItemComponent]
|
|
50
|
-
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vYnJlYWRjcnVtYnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZGNydW1icy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQVM1RCxNQUFNLE9BQU8scUJBQXFCO0lBb0JoQyxZQUE2QixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQW5CbEU7OztXQUdHO1FBQ00sY0FBUyxHQUFXLEdBQUcsQ0FBQztJQWVvQyxDQUFDO0lBRXRFLGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU87YUFDaEIsSUFBSTtRQUNILHFEQUFxRDtRQUNyRCxTQUFTLENBQUMsU0FBUyxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtZQUN0RixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7WUFDbkcsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQjtRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7OEdBekNVLHFCQUFxQjtrR0FBckIscUJBQXFCLDBHQVdaLGNBQWMsbURBS2pCLHlCQUF5Qiw2QkN6QzVDLDhsQ0F1QkEsMkNEQVksZUFBZSw0RkFBRSxlQUFlLDJIQUFFLGVBQWUsMkdBQUUsZ0JBQWdCOzsyRkFFbEUscUJBQXFCO2tCQVBqQyxTQUFTO2lDQUNJLElBQUksWUFDTixlQUFlLG1CQUVSLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQztzRkFPckUsU0FBUztzQkFBakIsS0FBSztnQkFNZ0MsSUFBSTtzQkFBekMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBS1EsS0FBSztzQkFBaEQsZUFBZTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRCcmVhZGNydW1iSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWItaXRlbS9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdExpbmtDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2xpbmsvbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWJyZWFkY3J1bWInLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBJdEljb25Db21wb25lbnQsIEl0TGlua0NvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIEl0QnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgY2hhcmFjdGVyIHRvIHVzZSBhcyBzZXBhcmF0b3JcbiAgICogQGRlZmF1bHQgL1xuICAgKi9cbiAgQElucHV0KCkgc2VwYXJhdG9yOiBzdHJpbmcgPSAnLyc7XG5cbiAgLyoqXG4gICAqIERhcmsgc3R5bGVcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGFyaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSB0YWIgaXRlbXNcbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oSXRCcmVhZGNydW1iSXRlbUNvbXBvbmVudCkgaXRlbXM/OiBRdWVyeUxpc3Q8SXRCcmVhZGNydW1iSXRlbUNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBpdGVtU3Vic2NyaXB0aW9ucz86IEFycmF5PFN1YnNjcmlwdGlvbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zPy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gV2hlbiBicmVhZGNydW1iIGl0ZW1zIGNoYW5nZXMgKGR5bmFtaWMgYWRkL3JlbW92ZSlcbiAgICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLml0ZW1TdWJzY3JpcHRpb25zPy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7IC8vIFJlbW92ZSBvbGQgc3Vic2NyaXB0aW9uc1xuICAgICAgICB0aGlzLml0ZW1TdWJzY3JpcHRpb25zID0gdGhpcy5pdGVtcz8ubWFwKGl0ZW0gPT5cbiAgICAgICAgICBpdGVtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBEZXRlY3RDaGFuZ2VzIHdoZW4gYnJlYWRjcnVtYiBpdGVtIGF0dHJpYnV0ZXMgY2hhbmdlc1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTsgLy8gRm9yY2UgdXBkYXRlIGh0bWwgcmVuZGVyXG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVN1YnNjcmlwdGlvbnM/LmZvckVhY2goaXRlbSA9PiBpdGVtLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iLCI8bmF2IGNsYXNzPVwiYnJlYWRjcnVtYi1jb250YWluZXJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidpdC5uYXZpZ2F0aW9uLm5hdmlnYXRpb24tcGF0aCcgfCB0cmFuc2xhdGVcIj5cbiAgQGlmIChpdGVtcykge1xuICAgIDxvbCBjbGFzcz1cImJyZWFkY3J1bWJcIiBbY2xhc3MuZGFya109XCJkYXJrXCIgW2NsYXNzLnB4LTNdPVwiZGFya1wiPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbTsgbGV0IGlzTGFzdCA9ICRsYXN0KSB7XG4gICAgICAgIDxsaSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIiBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hY3RpdmUgPyAncGFnZScgOiBudWxsXCI+XG4gICAgICAgICAgQGlmIChpdGVtLmljb25OYW1lKSB7XG4gICAgICAgICAgICA8aXQtaWNvbiBbbmFtZV09XCJpdGVtLmljb25OYW1lXCIgW2NvbG9yXT1cImRhcmsgPyAnd2hpdGUnIDogJ3NlY29uZGFyeSdcIiBzaXplPVwic21cIiBzdmdDbGFzcz1cImFsaWduLXRvcCBtZS0xXCI+PC9pdC1pY29uPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKCFpdGVtLmFjdGl2ZSAmJiAhaXNMYXN0KSB7XG4gICAgICAgICAgICA8aXQtbGluayBbaHJlZl09XCJpdGVtLmhyZWZcIiBbY2xhc3NdPVwiaXRlbS5jbGFzc1wiIFtleHRlcm5hbExpbmtdPVwiaXRlbS5leHRlcm5hbExpbmtcIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbS5odG1sQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9pdC1saW5rPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW0uaHRtbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICghaXNMYXN0KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPnt7IHNlcGFyYXRvciB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICB9XG4gICAgPC9vbD5cbiAgfVxuPC9uYXY+XG4iXX0=
|
package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild } from '@angular/core';
|
|
2
|
-
import { ItLinkComponent } from '../../../core/link/link.component';
|
|
3
|
-
import { inputToBoolean } from '../../../../utils/coercion';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ItBreadcrumbItemComponent extends ItLinkComponent {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItBreadcrumbItemComponent, isStandalone: true, selector: "it-breadcrumb-item", inputs: { active: ["active", "active", inputToBoolean], iconName: "iconName" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbItemComponent, decorators: [{
|
|
10
|
-
type: Component,
|
|
11
|
-
args: [{ standalone: true, selector: 'it-breadcrumb-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
12
|
-
}], propDecorators: { active: [{
|
|
13
|
-
type: Input,
|
|
14
|
-
args: [{ transform: inputToBoolean }]
|
|
15
|
-
}], iconName: [{
|
|
16
|
-
type: Input
|
|
17
|
-
}], htmlContent: [{
|
|
18
|
-
type: ViewChild,
|
|
19
|
-
args: [TemplateRef]
|
|
20
|
-
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZGNydW1icy9icmVhZGNydW1iLWl0ZW0vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZGNydW1icy9icmVhZGNydW1iLWl0ZW0vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFTNUQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGVBQWU7OEdBQWpELHlCQUF5QjtrR0FBekIseUJBQXlCLDZGQUtoQixjQUFjLGdHQVV2QixXQUFXLHVFQzNCeEIsOERBR0E7OzJGRFNhLHlCQUF5QjtrQkFQckMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sb0JBQW9CLG1CQUViLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsRUFBRTs4QkFPMkIsTUFBTTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBSzNCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS3lCLFdBQVc7c0JBQXpDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaWNvbic7XG5pbXBvcnQgeyBJdExpbmtDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2xpbmsvbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWJyZWFkY3J1bWItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEl0QnJlYWRjcnVtYkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBJdExpbmtDb21wb25lbnQge1xuICAvKipcbiAgICogSXMgYWN0aXZlIGJyZWFkY3J1bWIgaXRlbVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBhY3RpdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBpY29uIHRvIHNob3dcbiAgICovXG4gIEBJbnB1dCgpIGljb25OYW1lOiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgaXRlbVxuICAgKi9cbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZikgcHVibGljIGh0bWxDb250ZW50ITogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ItBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
|
|
3
|
-
import { ItBreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
const breadcrumb = [ItBreadcrumbComponent, ItBreadcrumbItemComponent];
|
|
6
|
-
export class ItBreadcrumbsModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbsModule, imports: [ItBreadcrumbComponent, ItBreadcrumbItemComponent], exports: [ItBreadcrumbComponent, ItBreadcrumbItemComponent] }); }
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbsModule, imports: [ItBreadcrumbComponent] }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbsModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
imports: breadcrumb,
|
|
15
|
-
exports: breadcrumb,
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQUV4RixNQUFNLFVBQVUsR0FBRyxDQUFDLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFNdEUsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsWUFOWixxQkFBcUIsRUFBRSx5QkFBeUIsYUFBaEQscUJBQXFCLEVBQUUseUJBQXlCOytHQU12RCxtQkFBbUIsWUFOWixxQkFBcUI7OzJGQU01QixtQkFBbUI7a0JBSi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRCcmVhZGNydW1iSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQnO1xuXG5jb25zdCBicmVhZGNydW1iID0gW0l0QnJlYWRjcnVtYkNvbXBvbmVudCwgSXRCcmVhZGNydW1iSXRlbUNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IGJyZWFkY3J1bWIsXG4gIGV4cG9ydHM6IGJyZWFkY3J1bWIsXG59KVxuZXhwb3J0IGNsYXNzIEl0QnJlYWRjcnVtYnNNb2R1bGUge31cbiJdfQ==
|