@taiga-ui/core 2.20.0 → 2.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/abstract/abstract-hint.d.ts +3 -1
- package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-core-abstract.umd.js +4 -2
- package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-core-abstract.umd.min.js +1 -1
- package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.js +21 -7
- package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-calendar.umd.js +1 -1
- package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-calendar.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.js +6 -5
- package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.js +2 -2
- package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-dropdown-box.umd.js +1 -1
- package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-error.umd.js +1 -1
- package/bundles/taiga-ui-core-components-error.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-expand.umd.js +3 -2
- package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-hints-host.umd.js +11 -5
- package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hints-host.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +2 -15
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-label.umd.js +1 -1
- package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-link.umd.js +1 -1
- package/bundles/taiga-ui-core-components-link.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.js +2 -2
- package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +2 -2
- package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +138 -106
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +2 -2
- package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js +2 -2
- package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-scrollbar.umd.js +34 -24
- package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-theme-night.umd.js +7 -11
- package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-theme-night.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
- package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-wrapper.umd.js +1 -1
- package/bundles/taiga-ui-core-components-wrapper.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-wrapper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-constants.umd.js +10 -1
- package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
- package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-directives-border.umd.js +291 -0
- package/bundles/taiga-ui-core-directives-border.umd.js.map +1 -0
- package/bundles/taiga-ui-core-directives-border.umd.min.js +16 -0
- package/bundles/taiga-ui-core-directives-border.umd.min.js.map +1 -0
- package/bundles/taiga-ui-core-directives-hint.umd.js +7 -4
- package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
- package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-directives-manual-hint.umd.js +7 -4
- package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js +1 -1
- package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +1 -1
- package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
- package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +9 -3
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-directives.umd.js +12 -4
- package/bundles/taiga-ui-core-directives.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives.umd.min.js +1 -1
- package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
- package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js +1 -1
- package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-modules-notifications.umd.js +2 -2
- package/bundles/taiga-ui-core-modules-notifications.umd.js.map +1 -1
- package/bundles/taiga-ui-core-modules-notifications.umd.min.js +1 -1
- package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js +9 -0
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js +3 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js +28 -8
- package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +2 -4
- package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js +1 -1
- package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/button/button-options.d.ts +10 -0
- package/components/button/button.component.d.ts +8 -7
- package/components/button/index.d.ts +1 -0
- package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
- package/components/calendar/taiga-ui-core-components-calendar.metadata.json +1 -1
- package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
- package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
- package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
- package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
- package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
- package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
- package/components/hosted-dropdown/hosted-dropdown.component.d.ts +1 -3
- package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
- package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
- package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
- package/components/loader/taiga-ui-core-components-loader.metadata.json +1 -1
- package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
- package/components/primitive-calendar/primitive-calendar.component.d.ts +1 -1
- package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
- package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
- package/components/primitive-textfield/index.d.ts +1 -0
- package/components/primitive-textfield/primitive-textfield.component.d.ts +9 -16
- package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
- package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +18 -0
- package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
- package/components/scroll-controls/scroll-controls.component.d.ts +1 -1
- package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
- package/components/scrollbar/scrollable.directive.d.ts +5 -1
- package/components/scrollbar/scrollbar.component.d.ts +4 -3
- package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
- package/components/theme-night/taiga-ui-core-components-theme-night.metadata.json +1 -1
- package/components/theme-night/theme-night.component.d.ts +0 -1
- package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
- package/components/wrapper/taiga-ui-core-components-wrapper.metadata.json +1 -1
- package/constants/events.d.ts +5 -0
- package/constants/media.d.ts +1 -0
- package/constants/regexp.d.ts +1 -0
- package/constants/taiga-ui-core-constants.metadata.json +1 -1
- package/constants/version.d.ts +1 -1
- package/directives/border/border.directive.d.ts +9 -0
- package/directives/border/border.module.d.ts +2 -0
- package/directives/border/index.d.ts +2 -0
- package/directives/border/package.json +13 -0
- package/directives/border/taiga-ui-core-directives-border.d.ts +4 -0
- package/directives/border/taiga-ui-core-directives-border.metadata.json +1 -0
- package/directives/hint/hint.directive.d.ts +2 -2
- package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
- package/directives/index.d.ts +1 -0
- package/directives/manual-hint/manual-hint.directive.d.ts +2 -1
- package/directives/manual-hint/taiga-ui-core-directives-manual-hint.metadata.json +1 -1
- package/directives/taiga-ui-core-directives.metadata.json +1 -1
- package/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.metadata.json +1 -1
- package/esm2015/abstract/abstract-hint.js +6 -4
- package/esm2015/components/button/button-options.js +10 -0
- package/esm2015/components/button/button.component.js +12 -8
- package/esm2015/components/button/index.js +2 -1
- package/esm2015/components/calendar/calendar.component.js +2 -2
- package/esm2015/components/data-list/data-list.component.js +4 -3
- package/esm2015/components/data-list/option/option.component.js +4 -4
- package/esm2015/components/dialog/dialog.component.js +3 -3
- package/esm2015/components/dropdown-box/dropdown-box.component.js +1 -1
- package/esm2015/components/error/error.component.js +1 -1
- package/esm2015/components/expand/expand.component.js +4 -3
- package/esm2015/components/hints-host/hint-box/hint-box.component.js +3 -3
- package/esm2015/components/hints-host/hints-host.component.js +3 -3
- package/esm2015/components/hints-host/hints-host.module.js +9 -3
- package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +4 -13
- package/esm2015/components/label/label.component.js +2 -2
- package/esm2015/components/link/link.component.js +1 -1
- package/esm2015/components/loader/loader.component.js +3 -3
- package/esm2015/components/notification/notification.component.js +1 -1
- package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
- package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
- package/esm2015/components/primitive-textfield/index.js +2 -1
- package/esm2015/components/primitive-textfield/primitive-textfield.component.js +38 -67
- package/esm2015/components/primitive-textfield/primitive-textfield.module.js +7 -2
- package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +65 -0
- package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
- package/esm2015/components/scroll-controls/scroll-controls.component.js +2 -2
- package/esm2015/components/scrollbar/scrollable.directive.js +18 -4
- package/esm2015/components/scrollbar/scrollbar.component.js +20 -18
- package/esm2015/components/theme-night/theme-night.component.js +4 -12
- package/esm2015/components/tooltip/tooltip.component.js +1 -1
- package/esm2015/components/wrapper/wrapper.component.js +1 -1
- package/esm2015/constants/events.js +6 -1
- package/esm2015/constants/media.js +2 -1
- package/esm2015/constants/regexp.js +2 -1
- package/esm2015/constants/version.js +2 -2
- package/esm2015/directives/border/border.directive.js +42 -0
- package/esm2015/directives/border/border.module.js +13 -0
- package/esm2015/directives/border/index.js +3 -0
- package/esm2015/directives/border/taiga-ui-core-directives-border.js +5 -0
- package/esm2015/directives/hint/hint.directive.js +10 -7
- package/esm2015/directives/index.js +2 -1
- package/esm2015/directives/manual-hint/manual-hint.directive.js +10 -7
- package/esm2015/directives/pointer-hint/pointer-hint.directive.js +2 -2
- package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
- package/esm2015/directives/textfield-controller/textfield-size.directive.js +4 -2
- package/esm2015/directives/textfield-controller/textfield-type.directive.js +4 -2
- package/esm2015/interfaces/index.js +1 -1
- package/esm2015/interfaces/media.js +1 -0
- package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
- package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +2 -2
- package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +1 -1
- package/esm2015/tokens/index.js +2 -1
- package/esm2015/tokens/media.js +9 -0
- package/esm2015/utils/dom/process-icon.js +4 -2
- package/esm2015/utils/mask/create-number-mask.js +28 -10
- package/esm2015/utils/miscellaneous/get-border.js +3 -5
- package/esm5/abstract/abstract-hint.js +6 -4
- package/esm5/components/button/button-options.js +10 -0
- package/esm5/components/button/button.component.js +12 -8
- package/esm5/components/button/index.js +2 -1
- package/esm5/components/calendar/calendar.component.js +2 -2
- package/esm5/components/data-list/data-list.component.js +4 -3
- package/esm5/components/data-list/option/option.component.js +4 -4
- package/esm5/components/dialog/dialog.component.js +3 -3
- package/esm5/components/dropdown-box/dropdown-box.component.js +1 -1
- package/esm5/components/error/error.component.js +1 -1
- package/esm5/components/expand/expand.component.js +4 -3
- package/esm5/components/hints-host/hint-box/hint-box.component.js +3 -3
- package/esm5/components/hints-host/hints-host.component.js +3 -3
- package/esm5/components/hints-host/hints-host.module.js +9 -3
- package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +4 -17
- package/esm5/components/label/label.component.js +2 -2
- package/esm5/components/link/link.component.js +1 -1
- package/esm5/components/loader/loader.component.js +3 -3
- package/esm5/components/notification/notification.component.js +1 -1
- package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
- package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
- package/esm5/components/primitive-textfield/index.js +2 -1
- package/esm5/components/primitive-textfield/primitive-textfield.component.js +43 -104
- package/esm5/components/primitive-textfield/primitive-textfield.module.js +7 -2
- package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +99 -0
- package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
- package/esm5/components/scroll-controls/scroll-controls.component.js +2 -2
- package/esm5/components/scrollbar/scrollable.directive.js +17 -5
- package/esm5/components/scrollbar/scrollbar.component.js +20 -22
- package/esm5/components/theme-night/theme-night.component.js +6 -11
- package/esm5/components/tooltip/tooltip.component.js +1 -1
- package/esm5/components/wrapper/wrapper.component.js +1 -1
- package/esm5/constants/events.js +6 -1
- package/esm5/constants/media.js +2 -1
- package/esm5/constants/regexp.js +2 -1
- package/esm5/constants/version.js +2 -2
- package/esm5/directives/border/border.directive.js +51 -0
- package/esm5/directives/border/border.module.js +16 -0
- package/esm5/directives/border/index.js +3 -0
- package/esm5/directives/border/taiga-ui-core-directives-border.js +5 -0
- package/esm5/directives/hint/hint.directive.js +10 -7
- package/esm5/directives/index.js +2 -1
- package/esm5/directives/manual-hint/manual-hint.directive.js +10 -7
- package/esm5/directives/pointer-hint/pointer-hint.directive.js +2 -2
- package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
- package/esm5/directives/textfield-controller/textfield-size.directive.js +4 -2
- package/esm5/directives/textfield-controller/textfield-type.directive.js +4 -2
- package/esm5/interfaces/index.js +1 -1
- package/esm5/interfaces/media.js +1 -0
- package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
- package/esm5/modules/notifications/notification-alert/notification-alert.component.js +2 -2
- package/esm5/modules/notifications/notifications-host/notifications-host.component.js +1 -1
- package/esm5/tokens/index.js +2 -1
- package/esm5/tokens/media.js +9 -0
- package/esm5/utils/dom/process-icon.js +4 -2
- package/esm5/utils/mask/create-number-mask.js +30 -10
- package/esm5/utils/miscellaneous/get-border.js +3 -5
- package/fesm2015/taiga-ui-core-abstract.js +4 -2
- package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-button.js +21 -9
- package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
- package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-data-list.js +6 -5
- package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dialog.js +2 -2
- package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dropdown-box.js +1 -1
- package/fesm2015/taiga-ui-core-components-error.js +1 -1
- package/fesm2015/taiga-ui-core-components-expand.js +3 -2
- package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hints-host.js +12 -6
- package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +3 -12
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-label.js +1 -1
- package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-link.js +1 -1
- package/fesm2015/taiga-ui-core-components-loader.js +2 -2
- package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-notification.js +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -2
- package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -2
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js +102 -69
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
- package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-scroll-controls.js +2 -2
- package/fesm2015/taiga-ui-core-components-scrollbar.js +33 -17
- package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-theme-night.js +3 -11
- package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
- package/fesm2015/taiga-ui-core-components-wrapper.js +1 -1
- package/fesm2015/taiga-ui-core-constants.js +9 -2
- package/fesm2015/taiga-ui-core-constants.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-border.js +57 -0
- package/fesm2015/taiga-ui-core-directives-border.js.map +1 -0
- package/fesm2015/taiga-ui-core-directives-hint.js +9 -6
- package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-manual-hint.js +9 -6
- package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-pointer-hint.js +1 -1
- package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-textfield-controller.js +9 -3
- package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives.js +1 -0
- package/fesm2015/taiga-ui-core-directives.js.map +1 -1
- package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
- package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-core-modules-notifications.js +2 -2
- package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js +9 -1
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-dom.js +3 -1
- package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js +27 -9
- package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-miscellaneous.js +2 -4
- package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-core-abstract.js +4 -2
- package/fesm5/taiga-ui-core-abstract.js.map +1 -1
- package/fesm5/taiga-ui-core-components-button.js +21 -9
- package/fesm5/taiga-ui-core-components-button.js.map +1 -1
- package/fesm5/taiga-ui-core-components-calendar.js +1 -1
- package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
- package/fesm5/taiga-ui-core-components-data-list.js +6 -5
- package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
- package/fesm5/taiga-ui-core-components-dialog.js +2 -2
- package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm5/taiga-ui-core-components-dropdown-box.js +1 -1
- package/fesm5/taiga-ui-core-components-error.js +1 -1
- package/fesm5/taiga-ui-core-components-expand.js +3 -2
- package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
- package/fesm5/taiga-ui-core-components-hints-host.js +12 -6
- package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
- package/fesm5/taiga-ui-core-components-hosted-dropdown.js +3 -16
- package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
- package/fesm5/taiga-ui-core-components-label.js +1 -1
- package/fesm5/taiga-ui-core-components-label.js.map +1 -1
- package/fesm5/taiga-ui-core-components-link.js +1 -1
- package/fesm5/taiga-ui-core-components-loader.js +2 -2
- package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
- package/fesm5/taiga-ui-core-components-notification.js +1 -1
- package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -2
- package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-spin-button.js +2 -2
- package/fesm5/taiga-ui-core-components-primitive-textfield.js +141 -106
- package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
- package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
- package/fesm5/taiga-ui-core-components-scroll-controls.js +2 -2
- package/fesm5/taiga-ui-core-components-scrollbar.js +32 -22
- package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
- package/fesm5/taiga-ui-core-components-theme-night.js +5 -10
- package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
- package/fesm5/taiga-ui-core-components-tooltip.js +1 -1
- package/fesm5/taiga-ui-core-components-wrapper.js +1 -1
- package/fesm5/taiga-ui-core-constants.js +9 -2
- package/fesm5/taiga-ui-core-constants.js.map +1 -1
- package/fesm5/taiga-ui-core-directives-border.js +69 -0
- package/fesm5/taiga-ui-core-directives-border.js.map +1 -0
- package/fesm5/taiga-ui-core-directives-hint.js +9 -6
- package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
- package/fesm5/taiga-ui-core-directives-manual-hint.js +9 -6
- package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
- package/fesm5/taiga-ui-core-directives-pointer-hint.js +1 -1
- package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
- package/fesm5/taiga-ui-core-directives-textfield-controller.js +9 -3
- package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
- package/fesm5/taiga-ui-core-directives.js +1 -0
- package/fesm5/taiga-ui-core-directives.js.map +1 -1
- package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
- package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
- package/fesm5/taiga-ui-core-modules-notifications.js +2 -2
- package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
- package/fesm5/taiga-ui-core-tokens.js +9 -1
- package/fesm5/taiga-ui-core-tokens.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-dom.js +3 -1
- package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-mask.js +30 -10
- package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-miscellaneous.js +2 -4
- package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
- package/interfaces/index.d.ts +1 -0
- package/interfaces/media.d.ts +6 -0
- package/interfaces/taiga-ui-core-interfaces.metadata.json +1 -1
- package/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.metadata.json +1 -1
- package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
- package/package.json +5 -5
- package/styles/basic/main.less +2 -4
- package/styles/markup/tui-autofill.less +2 -0
- package/styles/markup/tui-container-old.less +69 -0
- package/styles/markup/tui-form-old.less +141 -0
- package/styles/markup/tui-form.less +12 -12
- package/styles/markup/tui-group-old.less +322 -0
- package/styles/markup/tui-group.less +2 -2
- package/styles/markup/tui-mobile-only.less +1 -1
- package/styles/markup/tui-row-old.less +157 -0
- package/styles/markup/tui-table.less +2 -2
- package/styles/mixins/mixins.less +8 -3
- package/styles/mixins/picker.less +1 -1
- package/styles/mixins/textfield.less +37 -78
- package/styles/taiga-ui-global-old.less +18 -0
- package/styles/taiga-ui-local-old.less +7 -0
- package/styles/theme/variables.less +4 -0
- package/styles/theme/wrapper/table.less +4 -0
- package/styles/variables/media-old.less +48 -0
- package/styles/variables/media.less +4 -4
- package/tokens/index.d.ts +1 -0
- package/tokens/media.d.ts +3 -0
- package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
- package/utils/mask/create-number-mask.d.ts +1 -0
- package/utils/miscellaneous/get-border.d.ts +1 -1
|
@@ -14,12 +14,10 @@ function colorFallback(color) {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
const BORDER_SMALL = 0.75;
|
|
18
|
-
const BORDER_LARGE = 1;
|
|
19
17
|
const ITEM_SIZE = 1.5;
|
|
20
18
|
const CONTENT_SIZE = 2.5;
|
|
21
|
-
function getBorder(
|
|
22
|
-
let border =
|
|
19
|
+
function getBorder(hasIcon, hasCleaner = false, hasTooltip = false, hasContent = false) {
|
|
20
|
+
let border = 0;
|
|
23
21
|
if (hasIcon) {
|
|
24
22
|
border += ITEM_SIZE;
|
|
25
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-utils-miscellaneous.js","sources":["ng://@taiga-ui/core/utils/miscellaneous/color-fallback.ts","ng://@taiga-ui/core/utils/miscellaneous/get-border.ts","ng://@taiga-ui/core/utils/miscellaneous/icons-path-factory.ts","ng://@taiga-ui/core/utils/miscellaneous/is-editing-key.ts","ng://@taiga-ui/core/utils/miscellaneous/is-presumed-hTMLString.ts","ng://@taiga-ui/core/utils/miscellaneous/size-bigger.ts","ng://@taiga-ui/core/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.ts"],"sourcesContent":["/** @deprecated */\nexport function colorFallback(color: string | null): string {\n switch (color) {\n case 'secondary':\n return 'var(--tui-info-fill)';\n case 'error':\n return 'var(--tui-error-fill)';\n case 'success':\n return 'var(--tui-success-fill)';\n default:\n return `var(--tui-${color || 'base-05'})`;\n }\n}\n","const
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-utils-miscellaneous.js","sources":["ng://@taiga-ui/core/utils/miscellaneous/color-fallback.ts","ng://@taiga-ui/core/utils/miscellaneous/get-border.ts","ng://@taiga-ui/core/utils/miscellaneous/icons-path-factory.ts","ng://@taiga-ui/core/utils/miscellaneous/is-editing-key.ts","ng://@taiga-ui/core/utils/miscellaneous/is-presumed-hTMLString.ts","ng://@taiga-ui/core/utils/miscellaneous/size-bigger.ts","ng://@taiga-ui/core/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.ts"],"sourcesContent":["/** @deprecated */\nexport function colorFallback(color: string | null): string {\n switch (color) {\n case 'secondary':\n return 'var(--tui-info-fill)';\n case 'error':\n return 'var(--tui-error-fill)';\n case 'success':\n return 'var(--tui-success-fill)';\n default:\n return `var(--tui-${color || 'base-05'})`;\n }\n}\n","const ITEM_SIZE = 1.5;\nconst CONTENT_SIZE = 2.5;\n\nexport function getBorder(\n hasIcon: boolean,\n hasCleaner: boolean = false,\n hasTooltip: boolean = false,\n hasContent: boolean = false,\n): number {\n let border = 0;\n\n if (hasIcon) {\n border += ITEM_SIZE;\n }\n\n if (hasCleaner) {\n border += ITEM_SIZE;\n }\n\n if (hasTooltip) {\n border += ITEM_SIZE;\n }\n\n if (hasContent) {\n border += CONTENT_SIZE;\n }\n\n return border;\n}\n","import {TuiStringHandler} from '@taiga-ui/cdk';\nimport {DEFAULT_ICONS_PATH} from '@taiga-ui/core/constants';\n\nexport function iconsPathFactory(staticPath: string): TuiStringHandler<string> {\n const base =\n staticPath[staticPath.length - 1] === '/' ? staticPath : staticPath + '/';\n\n return name => {\n if (name.startsWith('tuiIcon')) {\n return `${base}${name}.svg#${name}`;\n }\n\n return DEFAULT_ICONS_PATH(name);\n };\n}\n","import {tuiEditingKeys} from '@taiga-ui/core/constants';\n\n/**\n * Check if pressed key is interactive in terms of input field\n */\nexport function isEditingKey(key: string): boolean {\n return key.length === 1 || tuiEditingKeys.indexOf(key) !== -1;\n}\n","export function isPresumedHTMLString(candidate: string): boolean {\n const trimmed = candidate.trim();\n\n return trimmed.startsWith('<') && trimmed.endsWith('>');\n}\n","import {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core/types';\n\nconst SIZES: ReadonlyArray<TuiSizeXS | TuiSizeXXL> = ['xs', 's', 'm', 'l', 'xl', 'xxl'];\n\n/**\n * Compares size constants to determine if first size is bigger than the second\n *\n * @param size size that we need to compare\n * @param biggerThanSize size to compare with, 's' by default\n */\nexport function sizeBigger(\n size: TuiSizeXS | TuiSizeXXL,\n biggerThanSize: TuiSizeXS | TuiSizeXXL = 's',\n): boolean {\n return SIZES.indexOf(size) > SIZES.indexOf(biggerThanSize);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;SACgB,aAAa,CAAC,KAAoB;IAC9C,QAAQ,KAAK;QACT,KAAK,WAAW;YACZ,OAAO,sBAAsB,CAAC;QAClC,KAAK,OAAO;YACR,OAAO,uBAAuB,CAAC;QACnC,KAAK,SAAS;YACV,OAAO,yBAAyB,CAAC;QACrC;YACI,OAAO,aAAa,KAAK,IAAI,SAAS,GAAG,CAAC;KACjD;AACL;;ACZA,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,YAAY,GAAG,GAAG,CAAC;SAET,SAAS,CACrB,OAAgB,EAChB,aAAsB,KAAK,EAC3B,aAAsB,KAAK,EAC3B,aAAsB,KAAK;IAE3B,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,OAAO,EAAE;QACT,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,SAAS,CAAC;KACvB;IAED,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,YAAY,CAAC;KAC1B;IAED,OAAO,MAAM,CAAC;AAClB;;SCzBgB,gBAAgB,CAAC,UAAkB;IAC/C,MAAM,IAAI,GACN,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC;IAE9E,OAAO,IAAI;QACP,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5B,OAAO,GAAG,IAAI,GAAG,IAAI,QAAQ,IAAI,EAAE,CAAC;SACvC;QAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;KACnC,CAAC;AACN;;ACZA;;;SAGgB,YAAY,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE;;SCPgB,oBAAoB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjC,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5D;;ACFA,MAAM,KAAK,GAA0C,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAExF;;;;;;SAMgB,UAAU,CACtB,IAA4B,EAC5B,iBAAyC,GAAG;IAE5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/D;;ACfA;;;;;;"}
|
|
@@ -119,9 +119,10 @@ var AbstractTuiDropdown = /** @class */ (function () {
|
|
|
119
119
|
}());
|
|
120
120
|
|
|
121
121
|
var AbstractTuiHint = /** @class */ (function () {
|
|
122
|
-
function AbstractTuiHint(elementRef, hintService) {
|
|
122
|
+
function AbstractTuiHint(elementRef, hintService, activeZone) {
|
|
123
123
|
this.elementRef = elementRef;
|
|
124
124
|
this.hintService = hintService;
|
|
125
|
+
this.activeZone = activeZone;
|
|
125
126
|
this.mode = null;
|
|
126
127
|
this.direction = 'bottom-left';
|
|
127
128
|
this.content = '';
|
|
@@ -137,7 +138,8 @@ var AbstractTuiHint = /** @class */ (function () {
|
|
|
137
138
|
};
|
|
138
139
|
AbstractTuiHint.ctorParameters = function () { return [
|
|
139
140
|
{ type: ElementRef },
|
|
140
|
-
{ type: TuiHintService }
|
|
141
|
+
{ type: TuiHintService },
|
|
142
|
+
{ type: TuiActiveZoneDirective }
|
|
141
143
|
]; };
|
|
142
144
|
__decorate([
|
|
143
145
|
Input('tuiHintMode'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-abstract.js","sources":["ng://@taiga-ui/core/abstract/abstract-dropdown.ts","ng://@taiga-ui/core/abstract/abstract-hint.ts","ng://@taiga-ui/core/abstract/taiga-ui-core-abstract.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownBoxComponent} from '@taiga-ui/core/components/dropdown-box';\nimport {DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT} from '@taiga-ui/core/constants';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {\n TuiDropdownWidthT,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {checkFixedPosition} from '@taiga-ui/core/utils/dom';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: Possibly refactor to make more abstract\n@Directive()\nexport abstract class AbstractTuiDropdown\n implements TuiDropdown, AfterViewChecked, OnDestroy\n{\n @Input('tuiDropdownContent')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input('tuiDropdownHost')\n @tuiDefaultProp()\n tuiDropdownHost: HTMLElement | null = null;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = DEFAULT_MIN_HEIGHT;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = DEFAULT_MAX_HEIGHT;\n\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align: TuiHorizontalDirection = 'left';\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction: TuiVerticalDirection | null = null;\n\n @Input('tuiDropdownSided')\n @tuiDefaultProp()\n sided = false;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitMinWidth: TuiDropdownWidthT = 'min';\n\n dropdownBoxRef: ComponentRef<TuiDropdownBoxComponent> | null = null;\n\n abstract refresh$: Observable<unknown>;\n\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly portalService: TuiPortalService,\n protected readonly elementRef: ElementRef<HTMLElement>,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n ngOnDestroy() {\n this.closeDropdownBox();\n }\n\n ngAfterViewChecked() {\n // @awful TODO: This is probably wrong to call both but in TuiHostedDropdown some changes do not propagate otherwise\n if (this.dropdownBoxRef !== null) {\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n this.dropdownBoxRef.changeDetectorRef.markForCheck();\n }\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n get host(): HTMLElement {\n return this.tuiDropdownHost || this.elementRef.nativeElement;\n }\n\n @tuiPure\n get fixed(): boolean {\n return checkFixedPosition(this.elementRef.nativeElement);\n }\n\n protected openDropdownBox() {\n if (this.dropdownBoxRef !== null) {\n return;\n }\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n TuiDropdownBoxComponent,\n );\n\n this.dropdownBoxRef = this.portalService.add(componentFactory, this.injector);\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n }\n\n protected closeDropdownBox() {\n if (this.dropdownBoxRef === null) {\n return;\n }\n\n this.portalService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n}\n","import {Directive, ElementRef, Input, OnDestroy} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {TuiDirection, TuiHintModeT} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Directive()\nexport abstract class AbstractTuiHint implements OnDestroy {\n @Input('tuiHintMode')\n @tuiDefaultProp()\n mode: TuiHintModeT | null = null;\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction: TuiDirection = 'bottom-left';\n\n content: PolymorpheusContent = '';\n\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly hintService: TuiHintService,\n ) {}\n\n abstract getElementClientRect(): ClientRect;\n\n ngOnDestroy() {\n this.hideTooltip();\n }\n\n protected showTooltip() {\n this.hintService.add(this);\n }\n\n protected hideTooltip() {\n this.hintService.remove(this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-abstract.js","sources":["ng://@taiga-ui/core/abstract/abstract-dropdown.ts","ng://@taiga-ui/core/abstract/abstract-hint.ts","ng://@taiga-ui/core/abstract/taiga-ui-core-abstract.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownBoxComponent} from '@taiga-ui/core/components/dropdown-box';\nimport {DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT} from '@taiga-ui/core/constants';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {\n TuiDropdownWidthT,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {checkFixedPosition} from '@taiga-ui/core/utils/dom';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: Possibly refactor to make more abstract\n@Directive()\nexport abstract class AbstractTuiDropdown\n implements TuiDropdown, AfterViewChecked, OnDestroy\n{\n @Input('tuiDropdownContent')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input('tuiDropdownHost')\n @tuiDefaultProp()\n tuiDropdownHost: HTMLElement | null = null;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = DEFAULT_MIN_HEIGHT;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = DEFAULT_MAX_HEIGHT;\n\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align: TuiHorizontalDirection = 'left';\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction: TuiVerticalDirection | null = null;\n\n @Input('tuiDropdownSided')\n @tuiDefaultProp()\n sided = false;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitMinWidth: TuiDropdownWidthT = 'min';\n\n dropdownBoxRef: ComponentRef<TuiDropdownBoxComponent> | null = null;\n\n abstract refresh$: Observable<unknown>;\n\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly portalService: TuiPortalService,\n protected readonly elementRef: ElementRef<HTMLElement>,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n ngOnDestroy() {\n this.closeDropdownBox();\n }\n\n ngAfterViewChecked() {\n // @awful TODO: This is probably wrong to call both but in TuiHostedDropdown some changes do not propagate otherwise\n if (this.dropdownBoxRef !== null) {\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n this.dropdownBoxRef.changeDetectorRef.markForCheck();\n }\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n get host(): HTMLElement {\n return this.tuiDropdownHost || this.elementRef.nativeElement;\n }\n\n @tuiPure\n get fixed(): boolean {\n return checkFixedPosition(this.elementRef.nativeElement);\n }\n\n protected openDropdownBox() {\n if (this.dropdownBoxRef !== null) {\n return;\n }\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n TuiDropdownBoxComponent,\n );\n\n this.dropdownBoxRef = this.portalService.add(componentFactory, this.injector);\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n }\n\n protected closeDropdownBox() {\n if (this.dropdownBoxRef === null) {\n return;\n }\n\n this.portalService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n}\n","import {Directive, ElementRef, Input, OnDestroy} from '@angular/core';\nimport {TuiActiveZoneDirective, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {TuiDirection, TuiHintModeT} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Directive()\nexport abstract class AbstractTuiHint implements OnDestroy {\n @Input('tuiHintMode')\n @tuiDefaultProp()\n mode: TuiHintModeT | null = null;\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction: TuiDirection = 'bottom-left';\n\n content: PolymorpheusContent = '';\n\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly hintService: TuiHintService,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n abstract getElementClientRect(): ClientRect;\n\n ngOnDestroy() {\n this.hideTooltip();\n }\n\n protected showTooltip() {\n this.hintService.add(this);\n }\n\n protected hideTooltip() {\n this.hintService.remove(this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends, __decorate, __param } from 'tslib';
|
|
2
|
-
import { ElementRef, Inject, ChangeDetectorRef, Input, HostBinding, HostListener, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
|
|
2
|
+
import { InjectionToken, ElementRef, Inject, ChangeDetectorRef, Input, HostBinding, HostListener, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
|
|
3
3
|
import { watch, pressedObservable, isNativeFocused, TuiFocusVisibleService, TuiHoveredService, TuiDestroyService, TUI_TAKE_ONLY_TRUSTED_EVENTS, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiInteractive } from '@taiga-ui/cdk';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -9,19 +9,29 @@ import { TuiSvgModule } from '@taiga-ui/core/components/svg';
|
|
|
9
9
|
import { TuiWrapperModule } from '@taiga-ui/core/components/wrapper';
|
|
10
10
|
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
11
11
|
|
|
12
|
+
var TUI_BUTTON_DEFAULT_OPTIONS = {
|
|
13
|
+
size: 'l',
|
|
14
|
+
shape: null,
|
|
15
|
+
appearance: "primary" /* Primary */,
|
|
16
|
+
};
|
|
17
|
+
var TUI_BUTTON_OPTIONS = new InjectionToken('Default parameters for button component', {
|
|
18
|
+
factory: function () { return TUI_BUTTON_DEFAULT_OPTIONS; },
|
|
19
|
+
});
|
|
20
|
+
|
|
12
21
|
var TuiButtonComponent = /** @class */ (function (_super) {
|
|
13
22
|
__extends(TuiButtonComponent, _super);
|
|
14
|
-
function TuiButtonComponent(elementRef, focusVisible$, hoveredService, destroy$, changeDetectorRef, takeOnlyTrustedEvents) {
|
|
23
|
+
function TuiButtonComponent(elementRef, focusVisible$, hoveredService, destroy$, changeDetectorRef, takeOnlyTrustedEvents, options) {
|
|
15
24
|
var _this = _super.call(this) || this;
|
|
16
25
|
_this.elementRef = elementRef;
|
|
17
26
|
_this.takeOnlyTrustedEvents = takeOnlyTrustedEvents;
|
|
18
|
-
_this.
|
|
27
|
+
_this.options = options;
|
|
28
|
+
_this.appearance = _this.options.appearance;
|
|
19
29
|
_this.disabled = false;
|
|
20
30
|
_this.icon = '';
|
|
21
31
|
_this.iconRight = '';
|
|
22
|
-
_this.shape =
|
|
32
|
+
_this.shape = _this.options.shape;
|
|
23
33
|
_this.showLoader = false;
|
|
24
|
-
_this.size =
|
|
34
|
+
_this.size = _this.options.size;
|
|
25
35
|
hoveredService
|
|
26
36
|
.createHovered$(elementRef.nativeElement)
|
|
27
37
|
.pipe(watch(changeDetectorRef), takeUntil(destroy$))
|
|
@@ -86,7 +96,8 @@ var TuiButtonComponent = /** @class */ (function (_super) {
|
|
|
86
96
|
{ type: TuiHoveredService, decorators: [{ type: Inject, args: [TuiHoveredService,] }] },
|
|
87
97
|
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
|
|
88
98
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
89
|
-
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_TAKE_ONLY_TRUSTED_EVENTS,] }] }
|
|
99
|
+
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_TAKE_ONLY_TRUSTED_EVENTS,] }] },
|
|
100
|
+
{ type: undefined, decorators: [{ type: Inject, args: [TUI_BUTTON_OPTIONS,] }] }
|
|
90
101
|
]; };
|
|
91
102
|
__decorate([
|
|
92
103
|
Input(),
|
|
@@ -133,7 +144,7 @@ var TuiButtonComponent = /** @class */ (function (_super) {
|
|
|
133
144
|
TuiButtonComponent = TuiButtonComponent_1 = __decorate([
|
|
134
145
|
Component({
|
|
135
146
|
selector: 'button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]',
|
|
136
|
-
template: "<tui-wrapper\n class=\"wrapper\"\n [appearance]=\"appearance\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocusVisible\"\n>\n <span class=\"content\">\n <span *ngIf=\"icon\" class=\"left\"
|
|
147
|
+
template: "<tui-wrapper\n class=\"wrapper\"\n [appearance]=\"appearance\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocusVisible\"\n>\n <span class=\"content\">\n <span *ngIf=\"icon\" polymorpheus-outlet class=\"left\" [content]=\"icon\">\n <ng-template let-icon>\n <tui-svg class=\"icon\" [src]=\"icon\"></tui-svg>\n </ng-template>\n </span>\n <ng-content></ng-content>\n <span\n *ngIf=\"iconRight\"\n polymorpheus-outlet\n class=\"right\"\n [content]=\"iconRight\"\n >\n <ng-template let-icon>\n <tui-svg class=\"icon\" [src]=\"icon\"></tui-svg>\n </ng-template>\n </span>\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n ></tui-loader>\n</tui-wrapper>\n",
|
|
137
148
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
138
149
|
providers: [
|
|
139
150
|
{
|
|
@@ -150,7 +161,8 @@ var TuiButtonComponent = /** @class */ (function (_super) {
|
|
|
150
161
|
__param(2, Inject(TuiHoveredService)),
|
|
151
162
|
__param(3, Inject(TuiDestroyService)),
|
|
152
163
|
__param(4, Inject(ChangeDetectorRef)),
|
|
153
|
-
__param(5, Inject(TUI_TAKE_ONLY_TRUSTED_EVENTS))
|
|
164
|
+
__param(5, Inject(TUI_TAKE_ONLY_TRUSTED_EVENTS)),
|
|
165
|
+
__param(6, Inject(TUI_BUTTON_OPTIONS))
|
|
154
166
|
], TuiButtonComponent);
|
|
155
167
|
return TuiButtonComponent;
|
|
156
168
|
}(AbstractTuiInteractive));
|
|
@@ -178,5 +190,5 @@ var TuiButtonModule = /** @class */ (function () {
|
|
|
178
190
|
* Generated bundle index. Do not edit.
|
|
179
191
|
*/
|
|
180
192
|
|
|
181
|
-
export { TuiButtonComponent, TuiButtonModule };
|
|
193
|
+
export { TUI_BUTTON_DEFAULT_OPTIONS, TUI_BUTTON_OPTIONS, TuiButtonComponent, TuiButtonModule };
|
|
182
194
|
//# sourceMappingURL=taiga-ui-core-components-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-button.js","sources":["ng://@taiga-ui/core/components/button/button.component.ts","ng://@taiga-ui/core/components/button/button.module.ts","ng://@taiga-ui/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n pressedObservable,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_TAKE_ONLY_TRUSTED_EVENTS,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n TuiFocusVisibleService,\n TuiHoveredService,\n watch,\n} from '@taiga-ui/cdk';\nimport {
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-button.js","sources":["ng://@taiga-ui/core/components/button/button-options.ts","ng://@taiga-ui/core/components/button/button.component.ts","ng://@taiga-ui/core/components/button/button.module.ts","ng://@taiga-ui/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeXL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface ButtonOptions {\n readonly size: TuiSizeXS | TuiSizeXL;\n readonly appearance: TuiAppearance | string;\n readonly shape: 'square' | 'rounded' | null;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: ButtonOptions = {\n size: 'l',\n shape: null,\n appearance: TuiAppearance.Primary,\n};\n\nexport const TUI_BUTTON_OPTIONS = new InjectionToken<ButtonOptions>(\n 'Default parameters for button component',\n {\n factory: () => TUI_BUTTON_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n pressedObservable,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_TAKE_ONLY_TRUSTED_EVENTS,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n TuiFocusVisibleService,\n TuiHoveredService,\n watch,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {ButtonOptions, TUI_BUTTON_OPTIONS} from './button-options';\n\n@Component({\n selector: 'button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]',\n templateUrl: './button.template.html',\n styleUrls: ['./button.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiButtonComponent),\n },\n TuiDestroyService,\n TuiFocusVisibleService,\n ],\n})\nexport class TuiButtonComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor, ButtonOptions\n{\n @Input()\n @HostBinding('attr.data-appearance')\n @tuiDefaultProp()\n appearance = this.options.appearance;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n icon: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n iconRight: PolymorpheusContent = '';\n\n @Input()\n @HostBinding('attr.data-tui-host-shape')\n @tuiDefaultProp()\n shape = this.options.shape;\n\n @Input()\n @HostBinding('class._loading')\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size = this.options.size;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiHoveredService) hoveredService: TuiHoveredService,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TAKE_ONLY_TRUSTED_EVENTS)\n private readonly takeOnlyTrustedEvents: boolean,\n @Inject(TUI_BUTTON_OPTIONS) private readonly options: ButtonOptions,\n ) {\n super();\n\n hoveredService\n .createHovered$(elementRef.nativeElement)\n .pipe(watch(changeDetectorRef), takeUntil(destroy$))\n .subscribe(hovered => {\n this.updateHovered(hovered);\n });\n pressedObservable(elementRef.nativeElement, {\n onlyTrusted: this.takeOnlyTrustedEvents,\n })\n .pipe(watch(changeDetectorRef), takeUntil(destroy$))\n .subscribe(pressed => {\n this.updatePressed(pressed);\n });\n focusVisible$.subscribe(focusVisible => {\n this.updateFocusVisible(focusVisible);\n });\n }\n\n get nativeFocusableElement(): HTMLElement | null {\n return this.nativeDisabled ? null : this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return !this.showLoader && isNativeFocused(this.elementRef.nativeElement);\n }\n\n get loaderSize(): TuiSizeS {\n return this.size === 'l' || this.size === 'xl' ? 'm' : 's';\n }\n\n @HostBinding('attr.disabled')\n get nativeDisabled(): '' | null {\n return this.computedDisabled || this.showLoader ? '' : null;\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.focusable ? 0 : -1;\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule} from '@taiga-ui/core/components/loader';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/components/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiButtonComponent} from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n ],\n declarations: [TuiButtonComponent],\n exports: [TuiButtonComponent],\n})\nexport class TuiButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -130,7 +130,7 @@ var TuiCalendarComponent = /** @class */ (function () {
|
|
|
130
130
|
TuiCalendarComponent = __decorate([
|
|
131
131
|
Component({
|
|
132
132
|
selector: 'tui-calendar',
|
|
133
|
-
template: "<tui-scrollbar\n *ngIf=\"year; else calendar\"\n
|
|
133
|
+
template: "<tui-scrollbar\n *ngIf=\"year; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"scrollbar\"\n>\n <tui-primitive-year-picker\n automation-id=\"tui-calendar__year\"\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-primitive-year-month-pagination\n automation-id=\"tui-calendar__pagination\"\n class=\"pagination\"\n [min]=\"computedMinViewedMonth\"\n [max]=\"computedMaxViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick($event)\"\n ></tui-primitive-year-month-pagination>\n <tui-primitive-calendar\n automation-id=\"tui-calendar__calendar\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n [month]=\"month\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerMapper:min:max\"\n [markerHandler]=\"markerHandler\"\n [hoveredItem]=\"hoveredItem\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-primitive-calendar>\n</ng-template>\n",
|
|
134
134
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
135
135
|
styles: [":host{display:block;height:18.25rem;width:15.75rem;padding:1rem 1.125rem;box-sizing:content-box}.scrollbar{height:18.25rem;width:16.875rem}.pagination{margin-bottom:1rem}"]
|
|
136
136
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-calendar.js","sources":["ng://@taiga-ui/core/components/calendar/calendar.component.ts","ng://@taiga-ui/core/components/calendar/calendar.module.ts","ng://@taiga-ui/core/components/calendar/taiga-ui-core-components-calendar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n nullableSame,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiMapper,\n TuiMonth,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER} from '@taiga-ui/core/constants';\nimport {TuiWithOptionalMinMax} from '@taiga-ui/core/interfaces';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\n// @dynamic\n@Component({\n selector: 'tui-calendar',\n templateUrl: './calendar.template.html',\n styleUrls: ['./calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarComponent implements TuiWithOptionalMinMax<TuiDay> {\n @Input()\n @tuiDefaultProp()\n month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n value: TuiDayRange | TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n min = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n minViewedMonth: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n maxViewedMonth: TuiMonth = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n hoveredItem: TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n showAdjacent = true;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n @Output()\n readonly monthChange = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n year: TuiYear | null = null;\n\n readonly disabledItemHandlerMapper: TuiMapper<\n TuiBooleanHandler<TuiDay>,\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min: TuiDay, max: TuiDay) => item =>\n item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);\n\n get computedMinViewedMonth(): TuiMonth {\n return this.minViewedMonth.monthSameOrAfter(this.min)\n ? this.minViewedMonth\n : this.min;\n }\n\n get computedMaxViewedMonth(): TuiMonth {\n return this.maxViewedMonth.monthSameOrBefore(this.max)\n ? this.maxViewedMonth\n : this.max;\n }\n\n onPaginationYearClick(year: TuiYear) {\n this.year = year;\n }\n\n onPickerYearClick({year}: TuiYear) {\n this.year = null;\n this.updateViewedMonth(new TuiMonth(year, this.month.month));\n }\n\n onPaginationValueChange(month: TuiMonth) {\n this.updateViewedMonth(month);\n }\n\n onDayClick(day: TuiDay) {\n this.dayClick.emit(day);\n }\n\n onHoveredItemChange(day: TuiDay | null) {\n this.updateHoveredDay(day);\n }\n\n private updateViewedMonth(month: TuiMonth) {\n if (this.month.monthSame(month)) {\n return;\n }\n\n this.month = month;\n this.monthChange.emit(month);\n }\n\n private updateHoveredDay(day: TuiDay | null) {\n if (nullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiPrimitiveCalendarModule} from '@taiga-ui/core/components/primitive-calendar';\nimport {TuiPrimitiveYearPickerModule} from '@taiga-ui/core/components/primitive-year-picker';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiPrimitiveYearMonthPaginationModule} from '@taiga-ui/core/internal/primitive-year-month-pagination';\n\nimport {TuiCalendarComponent} from './calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveYearMonthPaginationModule,\n TuiPrimitiveCalendarModule,\n TuiPrimitiveYearPickerModule,\n TuiScrollbarModule,\n TuiMapperPipeModule,\n ],\n declarations: [TuiCalendarComponent],\n exports: [TuiCalendarComponent],\n})\nexport class TuiCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-calendar.js","sources":["ng://@taiga-ui/core/components/calendar/calendar.component.ts","ng://@taiga-ui/core/components/calendar/calendar.module.ts","ng://@taiga-ui/core/components/calendar/taiga-ui-core-components-calendar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n nullableSame,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiMapper,\n TuiMonth,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER} from '@taiga-ui/core/constants';\nimport {TuiWithOptionalMinMax} from '@taiga-ui/core/interfaces';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\n// @dynamic\n@Component({\n selector: 'tui-calendar',\n templateUrl: './calendar.template.html',\n styleUrls: ['./calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarComponent implements TuiWithOptionalMinMax<TuiDay> {\n @Input()\n @tuiDefaultProp()\n month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n value: TuiDayRange | TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n min = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n minViewedMonth: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n maxViewedMonth: TuiMonth = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n hoveredItem: TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n showAdjacent = true;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n @Output()\n readonly monthChange = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n year: TuiYear | null = null;\n\n readonly disabledItemHandlerMapper: TuiMapper<\n TuiBooleanHandler<TuiDay>,\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min: TuiDay, max: TuiDay) => item =>\n item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);\n\n get computedMinViewedMonth(): TuiMonth {\n return this.minViewedMonth.monthSameOrAfter(this.min)\n ? this.minViewedMonth\n : this.min;\n }\n\n get computedMaxViewedMonth(): TuiMonth {\n return this.maxViewedMonth.monthSameOrBefore(this.max)\n ? this.maxViewedMonth\n : this.max;\n }\n\n onPaginationYearClick(year: TuiYear) {\n this.year = year;\n }\n\n onPickerYearClick({year}: TuiYear) {\n this.year = null;\n this.updateViewedMonth(new TuiMonth(year, this.month.month));\n }\n\n onPaginationValueChange(month: TuiMonth) {\n this.updateViewedMonth(month);\n }\n\n onDayClick(day: TuiDay) {\n this.dayClick.emit(day);\n }\n\n onHoveredItemChange(day: TuiDay | null) {\n this.updateHoveredDay(day);\n }\n\n private updateViewedMonth(month: TuiMonth) {\n if (this.month.monthSame(month)) {\n return;\n }\n\n this.month = month;\n this.monthChange.emit(month);\n }\n\n private updateHoveredDay(day: TuiDay | null) {\n if (nullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiPrimitiveCalendarModule} from '@taiga-ui/core/components/primitive-calendar';\nimport {TuiPrimitiveYearPickerModule} from '@taiga-ui/core/components/primitive-year-picker';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiPrimitiveYearMonthPaginationModule} from '@taiga-ui/core/internal/primitive-year-month-pagination';\n\nimport {TuiCalendarComponent} from './calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveYearMonthPaginationModule,\n TuiPrimitiveCalendarModule,\n TuiPrimitiveYearPickerModule,\n TuiScrollbarModule,\n TuiMapperPipeModule,\n ],\n declarations: [TuiCalendarComponent],\n exports: [TuiCalendarComponent],\n})\nexport class TuiCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -80,20 +80,20 @@ var TuiOptionComponent = /** @class */ (function () {
|
|
|
80
80
|
], TuiOptionComponent.prototype, "onClick", null);
|
|
81
81
|
__decorate([
|
|
82
82
|
shouldCall(shouldFocus),
|
|
83
|
-
HostListener('init
|
|
83
|
+
HostListener('mousemove.init', ['$event']),
|
|
84
84
|
HostListener('mousemove.silent', ['$event'])
|
|
85
85
|
], TuiOptionComponent.prototype, "onMouseMove", null);
|
|
86
86
|
TuiOptionComponent = __decorate([
|
|
87
87
|
Component({
|
|
88
88
|
selector: "button[tuiOption], a[tuiOption]",
|
|
89
|
-
template: "<span\n *ngIf=\"content; else base\"\n polymorpheus-outlet\n class=\"content\"\n [content]=\"content\"\n [context]=\"{
|
|
89
|
+
template: "<span\n *ngIf=\"content; else base\"\n polymorpheus-outlet\n class=\"content\"\n [content]=\"content\"\n [context]=\"{$implicit: base}\"\n></span>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg *ngIf=\"dropdown\" src=\"tuiIconChevronRight\" class=\"arrow\"></tui-svg>\n</ng-template>\n",
|
|
90
90
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
91
91
|
host: {
|
|
92
92
|
tabIndex: '-1',
|
|
93
93
|
type: 'button',
|
|
94
94
|
'[attr.disabled]': 'disabled || null',
|
|
95
95
|
},
|
|
96
|
-
styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 1rem;border:0;background:padding-box;font-size:inherit;line-height:inherit;
|
|
96
|
+
styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 1rem;border:0;background:padding-box;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-m);width:100%;align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);outline:0;text-decoration:none;cursor:pointer;border-top:8px solid transparent;border-bottom:8px solid transparent;margin:-.5rem 0}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host._with-dropdown,:host:focus{background-color:var(--tui-base-02)}:host[data-size=xs]{font:var(--tui-font-text-s);min-height:3rem}:host[data-size='s']{min-height:3rem}:host[data-size='m']{min-height:3.75rem}:host[data-size='l']{min-height:4.5rem}.content{display:flex;flex:1;max-width:100%}.arrow{margin:0 -.5rem 0 .75rem}"]
|
|
97
97
|
}),
|
|
98
98
|
__param(0, Optional()),
|
|
99
99
|
__param(0, Inject(TUI_OPTION_CONTENT)),
|
|
@@ -202,12 +202,13 @@ var TuiDataListComponent = /** @class */ (function () {
|
|
|
202
202
|
HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])
|
|
203
203
|
], TuiDataListComponent.prototype, "onKeyDownArrow", null);
|
|
204
204
|
__decorate([
|
|
205
|
+
HostListener('wheel.silent.passive', ['$event.currentTarget']),
|
|
205
206
|
HostListener('mouseleave', ['$event.target'])
|
|
206
207
|
], TuiDataListComponent.prototype, "handleFocusLossIfNecessary", null);
|
|
207
208
|
TuiDataListComponent = TuiDataListComponent_1 = __decorate([
|
|
208
209
|
Component({
|
|
209
210
|
selector: 'tui-data-list',
|
|
210
|
-
template: "<div
|
|
211
|
+
template: "<div tabindex=\"0\" class=\"trap\" (focusin)=\"onFocus($event.target, true)\"></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n polymorpheus-outlet\n class=\"empty\"\n [content]=\"emptyContent || (defaultEmptyContent$ | async)\"\n></div>\n<div tabindex=\"0\" class=\"trap\" (focusin)=\"onFocus($event.target, false)\"></div>\n",
|
|
211
212
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
212
213
|
encapsulation: ViewEncapsulation.None,
|
|
213
214
|
providers: [
|
|
@@ -216,7 +217,7 @@ var TuiDataListComponent = /** @class */ (function () {
|
|
|
216
217
|
useExisting: forwardRef(function () { return TuiDataListComponent_1; }),
|
|
217
218
|
},
|
|
218
219
|
],
|
|
219
|
-
styles: ["tui-data-list{font:var(--tui-font-text-m);
|
|
220
|
+
styles: ["tui-data-list{display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:.5rem 0;color:var(--tui-text-03)}tui-data-list:focus-within .trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list>.empty{margin:.75rem 1rem}tui-opt-group{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:flex;font:var(--tui-font-text-xs);flex-direction:column;line-height:2rem;padding:.5rem 0;margin:-.5rem 0}tui-opt-group:empty:after,tui-opt-group:empty:before{display:none}tui-opt-group:before{content:attr(data-label);padding:0 1rem;color:var(--tui-text-02)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:1rem}tui-opt-group:not(:empty)~tui-opt-group:after{content:'';position:absolute;left:0;right:0;top:.4375rem;height:1px;background:var(--tui-base-03)}"]
|
|
220
221
|
}),
|
|
221
222
|
__param(0, Inject(ElementRef)),
|
|
222
223
|
__param(1, Inject(TUI_NOTHING_FOUND_MESSAGE))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["ng://@taiga-ui/core/components/data-list/option/option.component.ts","ng://@taiga-ui/core/components/data-list/data-list.component.ts","ng://@taiga-ui/core/components/data-list/data-list.directive.ts","ng://@taiga-ui/core/components/data-list/data-list-dropdown-manager.directive.ts","ng://@taiga-ui/core/components/data-list/opt-group.directive.ts","ng://@taiga-ui/core/components/data-list/data-list.module.ts","ng://@taiga-ui/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n isNativeFocused,\n setNativeFocused,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDataListComponent} from '../data-list.component';\n\nexport function shouldFocus({\n currentTarget,\n}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !isNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = 'm';\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiOptionRole = 'option';\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n // TODO: Fix dataList type when updated to Ivy and compilation drops metadata\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<{}>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick() {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('init.onMouseMove', ['$event'])\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>) {\n setNativeFocused(currentTarget, true, true);\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy() {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n isPresent,\n itemsQueryListObservable,\n moveFocus,\n setNativeMouseFocused,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_ACCESSOR, TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n// @dynamic\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListComponent),\n },\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiDataListRole = 'listbox';\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n getOptions(includeDisabled: boolean = false): ReadonlyArray<T> {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement) {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop() {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number) {\n const {elements} = this;\n\n moveFocus(elements.indexOf(current), elements, step);\n }\n\n onFocus(element: HTMLElement, top: boolean) {\n const {elements} = this;\n\n moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(element);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(element: HTMLElement) {\n if (this.origin && isNativeFocusedIn(element)) {\n setNativeMouseFocused(this.origin, true, true);\n }\n }\n\n private get elements(): ReadonlyArray<HTMLElement> {\n return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestKeyboardFocusable,\n itemsQueryListObservable,\n preventDefault,\n setNativeFocused,\n tuiPure,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {\n debounceTime,\n filter,\n map,\n mapTo,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs/operators';\n\n// TODO: Move into separate module in 3.0\n@Directive({\n selector: 'tui-data-list[tuiDataListDropdownManager]',\n})\nexport class TuiDataListDropdownManagerDirective implements AfterViewInit {\n @ContentChildren(TuiDropdownDirective, {descendants: true})\n private readonly dropdowns: QueryList<TuiDropdownDirective> = EMPTY_QUERY;\n\n @ContentChildren(TuiDropdownDirective, {read: ElementRef, descendants: true})\n private readonly elements: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n ngAfterViewInit() {\n this.right$.subscribe(index => {\n this.tryToFocus(index);\n });\n\n merge(this.immediate$, this.debounce$)\n .pipe(\n switchMap(active => {\n this.dropdowns.forEach((dropdown, index) => {\n dropdown.open = index === active;\n });\n\n const element = this.elements.toArray()[active];\n const dropdown = this.dropdowns.toArray()[active];\n\n if (!element || !dropdown || !dropdown.dropdownBoxRef) {\n return EMPTY;\n }\n\n const {nativeElement} = dropdown.dropdownBoxRef.location;\n const mouseEnter$ = typedFromEvent(nativeElement, 'mouseenter').pipe(\n take(1),\n );\n const esc$ = merge(\n typedFromEvent(element.nativeElement, 'keydown'),\n typedFromEvent(nativeElement, 'keydown'),\n ).pipe(filter(({keyCode}) => keyCode === 27));\n\n return merge(mouseEnter$, esc$).pipe(\n tap(event => {\n if (dropdown.dropdownBoxRef) {\n event.stopPropagation();\n }\n\n setNativeFocused(element.nativeElement);\n // TODO: iframe warning\n dropdown.open = event instanceof MouseEvent;\n }),\n );\n }),\n )\n .subscribe();\n }\n\n @tuiPure\n private get elements$(): Observable<ReadonlyArray<HTMLElement>> {\n return itemsQueryListObservable(this.elements).pipe(\n map(array => array.map(({nativeElement}) => nativeElement)),\n shareReplay(1),\n );\n }\n\n @tuiPure\n private get right$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'keydown').pipe(\n filter(({keyCode}) => keyCode === 39),\n preventDefault(),\n mapTo(index),\n ),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get immediate$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'click').pipe(mapTo(index)),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get debounce$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n merge(\n typedFromEvent(element, 'focus'),\n typedFromEvent(element, 'blur'),\n ).pipe(\n filter(({relatedTarget}) =>\n this.notInDropdown(relatedTarget, index),\n ),\n map(({type}) => (type === 'focus' ? index : NaN)),\n ),\n ),\n ),\n ),\n debounceTime(300),\n );\n }\n\n private notInDropdown(element: EventTarget | null, index: number): boolean {\n const dropdown = this.dropdowns.toArray()[index];\n\n return (\n !dropdown ||\n !dropdown.dropdownBoxRef ||\n !dropdown.dropdownBoxRef.location.nativeElement.contains(element)\n );\n }\n\n private tryToFocus(index: number) {\n const dropdown = this.dropdowns.toArray()[index];\n const content =\n dropdown &&\n dropdown.dropdownBoxRef &&\n dropdown.dropdownBoxRef.instance.contentElementRef;\n\n if (!content) {\n return;\n }\n\n const item = getClosestKeyboardFocusable(\n content.nativeElement,\n false,\n content.nativeElement,\n );\n\n if (item) {\n setNativeFocused(item);\n }\n }\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n @tuiDefaultProp()\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiDataListDropdownManagerDirective} from './data-list-dropdown-manager.directive';\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["ng://@taiga-ui/core/components/data-list/option/option.component.ts","ng://@taiga-ui/core/components/data-list/data-list.component.ts","ng://@taiga-ui/core/components/data-list/data-list.directive.ts","ng://@taiga-ui/core/components/data-list/data-list-dropdown-manager.directive.ts","ng://@taiga-ui/core/components/data-list/opt-group.directive.ts","ng://@taiga-ui/core/components/data-list/data-list.module.ts","ng://@taiga-ui/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n isNativeFocused,\n setNativeFocused,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDataListComponent} from '../data-list.component';\n\nexport function shouldFocus({\n currentTarget,\n}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !isNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = 'm';\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiOptionRole = 'option';\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n // TODO: Fix dataList type when updated to Ivy and compilation drops metadata\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<{}>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick() {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('mousemove.init', ['$event'])\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>) {\n setNativeFocused(currentTarget, true, true);\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy() {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n isPresent,\n itemsQueryListObservable,\n moveFocus,\n setNativeMouseFocused,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_ACCESSOR, TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n// @dynamic\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListComponent),\n },\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiDataListRole = 'listbox';\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n getOptions(includeDisabled: boolean = false): ReadonlyArray<T> {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement) {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop() {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number) {\n const {elements} = this;\n\n moveFocus(elements.indexOf(current), elements, step);\n }\n\n onFocus(element: HTMLElement, top: boolean) {\n const {elements} = this;\n\n moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(element);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('wheel.silent.passive', ['$event.currentTarget'])\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(element: HTMLElement) {\n if (this.origin && isNativeFocusedIn(element)) {\n setNativeMouseFocused(this.origin, true, true);\n }\n }\n\n private get elements(): ReadonlyArray<HTMLElement> {\n return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestKeyboardFocusable,\n itemsQueryListObservable,\n preventDefault,\n setNativeFocused,\n tuiPure,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {\n debounceTime,\n filter,\n map,\n mapTo,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs/operators';\n\n// TODO: Move into separate module in 3.0\n@Directive({\n selector: 'tui-data-list[tuiDataListDropdownManager]',\n})\nexport class TuiDataListDropdownManagerDirective implements AfterViewInit {\n @ContentChildren(TuiDropdownDirective, {descendants: true})\n private readonly dropdowns: QueryList<TuiDropdownDirective> = EMPTY_QUERY;\n\n @ContentChildren(TuiDropdownDirective, {read: ElementRef, descendants: true})\n private readonly elements: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n ngAfterViewInit() {\n this.right$.subscribe(index => {\n this.tryToFocus(index);\n });\n\n merge(this.immediate$, this.debounce$)\n .pipe(\n switchMap(active => {\n this.dropdowns.forEach((dropdown, index) => {\n dropdown.open = index === active;\n });\n\n const element = this.elements.toArray()[active];\n const dropdown = this.dropdowns.toArray()[active];\n\n if (!element || !dropdown || !dropdown.dropdownBoxRef) {\n return EMPTY;\n }\n\n const {nativeElement} = dropdown.dropdownBoxRef.location;\n const mouseEnter$ = typedFromEvent(nativeElement, 'mouseenter').pipe(\n take(1),\n );\n const esc$ = merge(\n typedFromEvent(element.nativeElement, 'keydown'),\n typedFromEvent(nativeElement, 'keydown'),\n ).pipe(filter(({keyCode}) => keyCode === 27));\n\n return merge(mouseEnter$, esc$).pipe(\n tap(event => {\n if (dropdown.dropdownBoxRef) {\n event.stopPropagation();\n }\n\n setNativeFocused(element.nativeElement);\n // TODO: iframe warning\n dropdown.open = event instanceof MouseEvent;\n }),\n );\n }),\n )\n .subscribe();\n }\n\n @tuiPure\n private get elements$(): Observable<ReadonlyArray<HTMLElement>> {\n return itemsQueryListObservable(this.elements).pipe(\n map(array => array.map(({nativeElement}) => nativeElement)),\n shareReplay(1),\n );\n }\n\n @tuiPure\n private get right$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'keydown').pipe(\n filter(({keyCode}) => keyCode === 39),\n preventDefault(),\n mapTo(index),\n ),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get immediate$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'click').pipe(mapTo(index)),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get debounce$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n merge(\n typedFromEvent(element, 'focus'),\n typedFromEvent(element, 'blur'),\n ).pipe(\n filter(({relatedTarget}) =>\n this.notInDropdown(relatedTarget, index),\n ),\n map(({type}) => (type === 'focus' ? index : NaN)),\n ),\n ),\n ),\n ),\n debounceTime(300),\n );\n }\n\n private notInDropdown(element: EventTarget | null, index: number): boolean {\n const dropdown = this.dropdowns.toArray()[index];\n\n return (\n !dropdown ||\n !dropdown.dropdownBoxRef ||\n !dropdown.dropdownBoxRef.location.nativeElement.contains(element)\n );\n }\n\n private tryToFocus(index: number) {\n const dropdown = this.dropdowns.toArray()[index];\n const content =\n dropdown &&\n dropdown.dropdownBoxRef &&\n dropdown.dropdownBoxRef.instance.contentElementRef;\n\n if (!content) {\n return;\n }\n\n const item = getClosestKeyboardFocusable(\n content.nativeElement,\n false,\n content.nativeElement,\n );\n\n if (item) {\n setNativeFocused(item);\n }\n }\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n @tuiDefaultProp()\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiDataListDropdownManagerDirective} from './data-list-dropdown-manager.directive';\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -155,11 +155,11 @@ var TuiDialogComponent = /** @class */ (function () {
|
|
|
155
155
|
TuiDialogComponent = __decorate([
|
|
156
156
|
Component({
|
|
157
157
|
selector: 'tui-dialog',
|
|
158
|
-
template: "<header\n *ngIf=\"header\"\n polymorpheus-outlet\n class=\"header\"\n [content]=\"header\"\n [context]=\"context\"\n></header>\n<div class=\"content\">\n <h2
|
|
158
|
+
template: "<header\n *ngIf=\"header\"\n polymorpheus-outlet\n class=\"header\"\n [content]=\"header\"\n [context]=\"context\"\n></header>\n<div class=\"content\">\n <h2\n class=\"heading tui-text_{{ h }}\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section\n polymorpheus-outlet\n [context]=\"context\"\n [content]=\"context.content\"\n >\n <ng-template let-text>\n {{ text }}\n <div class=\"buttons\">\n <button\n tuiButton\n size=\"m\"\n (click)=\"context.$implicit.complete()\"\n >\n OK\n </button>\n </div>\n </ng-template>\n </section>\n</div>\n<div *ngIf=\"context.closeable\" class=\"wrapper\">\n <button\n tuiIconButton\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-dialog__close\"\n size=\"s\"\n appearance=\"\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n class=\"close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close()\"\n ></button>\n</div>\n",
|
|
159
159
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
160
160
|
providers: TUI_DIALOG_PROVIDERS,
|
|
161
161
|
animations: [tuiSlideInTop, tuiFadeIn],
|
|
162
|
-
styles: [":host{font:var(--tui-font-text-m);
|
|
162
|
+
styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100vh;border-radius:0;border:none;background:var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}@media screen and (max-width:47.9375em){:host[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host[data-size] .content{padding:2rem 1.5rem}:host[data-size] .heading{margin-bottom:.5rem}:host[data-size=fullscreen] .header{flex:1}}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}@media screen and (max-width:47.9375em){.close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}.close:hover{color:var(--tui-base-07)}}.buttons{margin-top:1.25rem;text-align:right}"]
|
|
163
163
|
}),
|
|
164
164
|
__param(0, Inject(TUI_ANIMATIONS_DURATION)),
|
|
165
165
|
__param(1, Inject(TUI_IS_MOBILE)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["ng://@taiga-ui/core/components/dialog/dialog.providers.ts","ng://@taiga-ui/core/components/dialog/dialog.component.ts","ng://@taiga-ui/core/components/dialog/dialog.service.ts","ng://@taiga-ui/core/components/dialog/dialog.directive.ts","ng://@taiga-ui/core/components/dialog/dialog.module.ts","ng://@taiga-ui/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n containsOrAfter,\n isCurrentTarget,\n TuiDestroyService,\n TuiDialog,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, switchMapTo, take, takeUntil} from 'rxjs/operators';\n\nexport const TUI_DIALOGS_CLOSE = new InjectionToken<Observable<unknown>>(\n 'A stream to close dialogs',\n {\n factory: () => EMPTY,\n },\n);\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\nexport function dialogCloseStreamFactory(\n documentRef: Document,\n windowRef: Window,\n {nativeElement}: ElementRef<HTMLElement>,\n close$: Observable<void>,\n destroy$: Observable<void>,\n {dismissible}: TuiDialog<TuiDialogOptions<unknown>, unknown>,\n): Observable<unknown> {\n return dismissible\n ? merge(\n typedFromEvent(nativeElement, 'click').pipe(filter(isCurrentTarget)),\n typedFromEvent(documentRef, 'keydown').pipe(\n // TODO: iframe warning\n filter(\n ({key, target}) =>\n key === 'Escape' &&\n target instanceof Element &&\n (!containsOrAfter(nativeElement, target) ||\n nativeElement.contains(target)),\n ),\n ),\n typedFromEvent(documentRef, 'mousedown').pipe(\n // TODO: iframe warning\n filter(\n ({target, clientX}) =>\n target instanceof Element &&\n windowRef.innerWidth - clientX > SCROLLBAR_PLACEHOLDER &&\n !containsOrAfter(nativeElement, target),\n ),\n switchMapTo(\n typedFromEvent(documentRef, 'mouseup').pipe(\n take(1),\n // TODO: iframe warning\n filter(\n ({target}) =>\n target instanceof Element &&\n !containsOrAfter(nativeElement, target),\n ),\n ),\n ),\n ),\n close$,\n ).pipe(takeUntil(destroy$))\n : close$;\n}\n\nexport const TUI_DIALOG_CLOSE_STREAM = new InjectionToken<Observable<unknown>>(\n 'Dialogs closing stream',\n);\nexport const TUI_DIALOG_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_DIALOG_CLOSE_STREAM,\n deps: [\n DOCUMENT,\n WINDOW,\n ElementRef,\n TUI_DIALOGS_CLOSE,\n TuiDestroyService,\n POLYMORPHEUS_CONTEXT,\n ],\n useFactory: dialogCloseStreamFactory,\n },\n];\n","import {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TUI_IS_MOBILE, TuiDialog} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD} from '@taiga-ui/core/tokens';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {TUI_DIALOG_CLOSE_STREAM, TUI_DIALOG_PROVIDERS} from './dialog.providers';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\n// @dynamic\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_DIALOG_PROVIDERS,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TUI_DIALOG_CLOSE_STREAM)\n close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {\n close$.subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeS | TuiSizeL | 'fullscreen' | 'page' {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent {\n return this.context.header;\n }\n\n get h(): 'h3' | 'h4' | 'h5' {\n if (this.isMobile) {\n return 'h5';\n }\n\n switch (this.size) {\n case 's':\n return 'h5';\n case 'm':\n return 'h4';\n default:\n return 'h3';\n }\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.size === 'fullscreen' || this.size === 'page' || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n close() {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDialogComponent} from './dialog.component';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\nconst DEFAULT_OPTIONS = {\n size: 'm',\n required: false,\n closeable: true,\n dismissible: true,\n label: '',\n header: '',\n} as const;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = DEFAULT_OPTIONS as any;\n}\n","import {Directive, Inject, Input, Output, TemplateRef} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n})\nexport class TuiDialogDirective<T> {\n private readonly open$ = new Subject<boolean>();\n\n @Input('tuiDialogOptions')\n options: Partial<TuiDialogOptions<T>> = {};\n\n @Input()\n set tuiDialog(open: boolean) {\n this.open$.next(open);\n }\n\n @Output()\n tuiDialogChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this.templateRef, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n private readonly templateRef: TemplateRef<\n TuiBaseDialogContext<void> & TuiDialogOptions<T>\n >,\n @Inject(TuiDialogService) private readonly service: TuiDialogService,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_DIALOGS, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiPreventDefaultModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n exports: [TuiDialogComponent, TuiDialogDirective],\n entryComponents: [TuiDialogComponent],\n providers: [\n {\n provide: TUI_DIALOGS,\n useExisting: TuiDialogService,\n multi: true,\n },\n ],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["ng://@taiga-ui/core/components/dialog/dialog.providers.ts","ng://@taiga-ui/core/components/dialog/dialog.component.ts","ng://@taiga-ui/core/components/dialog/dialog.service.ts","ng://@taiga-ui/core/components/dialog/dialog.directive.ts","ng://@taiga-ui/core/components/dialog/dialog.module.ts","ng://@taiga-ui/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n containsOrAfter,\n isCurrentTarget,\n TuiDestroyService,\n TuiDialog,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, switchMapTo, take, takeUntil} from 'rxjs/operators';\n\nexport const TUI_DIALOGS_CLOSE = new InjectionToken<Observable<unknown>>(\n 'A stream to close dialogs',\n {\n factory: () => EMPTY,\n },\n);\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\nexport function dialogCloseStreamFactory(\n documentRef: Document,\n windowRef: Window,\n {nativeElement}: ElementRef<HTMLElement>,\n close$: Observable<void>,\n destroy$: Observable<void>,\n {dismissible}: TuiDialog<TuiDialogOptions<unknown>, unknown>,\n): Observable<unknown> {\n return dismissible\n ? merge(\n typedFromEvent(nativeElement, 'click').pipe(filter(isCurrentTarget)),\n typedFromEvent(documentRef, 'keydown').pipe(\n // TODO: iframe warning\n filter(\n ({key, target}) =>\n key === 'Escape' &&\n target instanceof Element &&\n (!containsOrAfter(nativeElement, target) ||\n nativeElement.contains(target)),\n ),\n ),\n typedFromEvent(documentRef, 'mousedown').pipe(\n // TODO: iframe warning\n filter(\n ({target, clientX}) =>\n target instanceof Element &&\n windowRef.innerWidth - clientX > SCROLLBAR_PLACEHOLDER &&\n !containsOrAfter(nativeElement, target),\n ),\n switchMapTo(\n typedFromEvent(documentRef, 'mouseup').pipe(\n take(1),\n // TODO: iframe warning\n filter(\n ({target}) =>\n target instanceof Element &&\n !containsOrAfter(nativeElement, target),\n ),\n ),\n ),\n ),\n close$,\n ).pipe(takeUntil(destroy$))\n : close$;\n}\n\nexport const TUI_DIALOG_CLOSE_STREAM = new InjectionToken<Observable<unknown>>(\n 'Dialogs closing stream',\n);\nexport const TUI_DIALOG_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_DIALOG_CLOSE_STREAM,\n deps: [\n DOCUMENT,\n WINDOW,\n ElementRef,\n TUI_DIALOGS_CLOSE,\n TuiDestroyService,\n POLYMORPHEUS_CONTEXT,\n ],\n useFactory: dialogCloseStreamFactory,\n },\n];\n","import {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TUI_IS_MOBILE, TuiDialog} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD} from '@taiga-ui/core/tokens';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {TUI_DIALOG_CLOSE_STREAM, TUI_DIALOG_PROVIDERS} from './dialog.providers';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\n// @dynamic\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_DIALOG_PROVIDERS,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TUI_DIALOG_CLOSE_STREAM)\n close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {\n close$.subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeS | TuiSizeL | 'fullscreen' | 'page' {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent {\n return this.context.header;\n }\n\n get h(): 'h3' | 'h4' | 'h5' {\n if (this.isMobile) {\n return 'h5';\n }\n\n switch (this.size) {\n case 's':\n return 'h5';\n case 'm':\n return 'h4';\n default:\n return 'h3';\n }\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.size === 'fullscreen' || this.size === 'page' || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n close() {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDialogComponent} from './dialog.component';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\nconst DEFAULT_OPTIONS = {\n size: 'm',\n required: false,\n closeable: true,\n dismissible: true,\n label: '',\n header: '',\n} as const;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = DEFAULT_OPTIONS as any;\n}\n","import {Directive, Inject, Input, Output, TemplateRef} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} from 'rxjs/operators';\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n})\nexport class TuiDialogDirective<T> {\n private readonly open$ = new Subject<boolean>();\n\n @Input('tuiDialogOptions')\n options: Partial<TuiDialogOptions<T>> = {};\n\n @Input()\n set tuiDialog(open: boolean) {\n this.open$.next(open);\n }\n\n @Output()\n tuiDialogChange = this.open$.pipe(\n switchMap(open =>\n open\n ? this.service\n .open(this.templateRef, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n private readonly templateRef: TemplateRef<\n TuiBaseDialogContext<void> & TuiDialogOptions<T>\n >,\n @Inject(TuiDialogService) private readonly service: TuiDialogService,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_DIALOGS, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiPreventDefaultModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n exports: [TuiDialogComponent, TuiDialogDirective],\n entryComponents: [TuiDialogComponent],\n providers: [\n {\n provide: TUI_DIALOGS,\n useExisting: TuiDialogService,\n multi: true,\n },\n ],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|