@taiga-ui/core 2.36.0 → 2.38.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/abstract/abstract-dropdown.d.ts +3 -3
- package/abstract/abstract-hint.d.ts +1 -1
- package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.js +6 -6
- package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.js +2 -19
- package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-dropdown-box.umd.js +3 -6
- package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-group.umd.js +23 -4
- package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-group.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +1 -4
- 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-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 +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +4 -4
- package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +5 -5
- 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.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.js +3 -3
- package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-root.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.js.map +1 -1
- package/bundles/taiga-ui-core-components-tooltip.umd.min.js +2 -2
- package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components.umd.js +4 -12
- package/bundles/taiga-ui-core-components.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components.umd.min.js +1 -1
- package/bundles/taiga-ui-core-constants.umd.js +1 -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-components-wrapper.umd.js → taiga-ui-core-directives-wrapper.umd.js} +56 -40
- package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -0
- package/bundles/taiga-ui-core-directives-wrapper.umd.min.js +16 -0
- package/bundles/taiga-ui-core-directives-wrapper.umd.min.js.map +1 -0
- 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-enums.umd.js +2 -0
- package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-core-enums.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-modules-notifications.umd.js +4 -6
- 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 +8 -0
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.min.js +2 -2
- package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.js +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js +7 -2
- 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 -2
- 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 +1 -1
- package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
- package/components/dialog/dialog.component.d.ts +0 -1
- package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
- package/components/dropdown-box/dropdown-box.component.d.ts +2 -3
- package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
- package/components/expand/expand.component.d.ts +2 -1
- package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
- package/components/group/group-styles.component.d.ts +2 -0
- package/components/group/group.directive.d.ts +2 -0
- package/components/group/index.d.ts +1 -0
- package/components/group/taiga-ui-core-components-group.metadata.json +1 -1
- package/components/hosted-dropdown/hosted-dropdown.component.d.ts +2 -3
- package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
- package/components/index.d.ts +0 -1
- package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
- package/components/notification/notification.component.d.ts +3 -3
- package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
- package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.metadata.json +1 -1
- package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
- package/components/primitive-year-picker/primitive-year-picker.component.d.ts +3 -3
- package/components/root/root.component.d.ts +3 -4
- package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
- package/components/taiga-ui-core-components.metadata.json +1 -1
- package/components/tooltip/tooltip.component.d.ts +1 -1
- package/constants/taiga-ui-core-constants.metadata.json +1 -1
- package/constants/version.d.ts +1 -1
- package/directives/index.d.ts +1 -0
- package/directives/taiga-ui-core-directives.metadata.json +1 -1
- package/directives/wrapper/index.d.ts +2 -0
- package/directives/wrapper/package.json +13 -0
- package/{components/wrapper/taiga-ui-core-components-wrapper.d.ts → directives/wrapper/taiga-ui-core-directives-wrapper.d.ts} +0 -0
- package/directives/wrapper/taiga-ui-core-directives-wrapper.metadata.json +1 -0
- package/{components/wrapper/wrapper.component.d.ts → directives/wrapper/wrapper.directive.d.ts} +7 -6
- package/{components → directives}/wrapper/wrapper.module.d.ts +0 -0
- package/esm2015/abstract/abstract-dropdown.js +2 -2
- package/esm2015/abstract/abstract-hint.js +1 -1
- package/esm2015/components/button/button-options.js +1 -1
- package/esm2015/components/button/button.component.js +4 -4
- package/esm2015/components/button/button.module.js +2 -2
- package/esm2015/components/dialog/dialog.component.js +3 -16
- package/esm2015/components/dropdown-box/dropdown-box.component.js +5 -8
- package/esm2015/components/expand/expand.component.js +1 -1
- package/esm2015/components/group/group-styles.component.js +13 -0
- package/esm2015/components/group/group.directive.js +12 -6
- package/esm2015/components/group/group.module.js +4 -3
- package/esm2015/components/group/index.js +2 -1
- package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +3 -6
- package/esm2015/components/index.js +1 -2
- package/esm2015/components/link/link.component.js +1 -1
- package/esm2015/components/loader/loader.directive.js +2 -2
- package/esm2015/components/notification/notification.component.js +1 -1
- package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +2 -2
- package/esm2015/components/primitive-checkbox/primitive-checkbox.module.js +2 -2
- package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
- package/esm2015/components/primitive-textfield/primitive-textfield.module.js +2 -2
- package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +1 -1
- package/esm2015/components/root/root.component.js +4 -4
- package/esm2015/components/root/root.module.js +3 -3
- package/esm2015/components/tooltip/tooltip.component.js +2 -2
- package/esm2015/constants/version.js +2 -2
- package/esm2015/directives/index.js +2 -1
- package/esm2015/{components → directives}/wrapper/index.js +2 -2
- package/esm2015/{components/wrapper/taiga-ui-core-components-wrapper.js → directives/wrapper/taiga-ui-core-directives-wrapper.js} +1 -1
- package/esm2015/directives/wrapper/wrapper.directive.js +98 -0
- package/esm2015/{components → directives}/wrapper/wrapper.module.js +4 -4
- package/esm2015/enums/interactive-state.js +3 -1
- package/esm2015/interfaces/dropdown-directive.js +1 -1
- package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +4 -5
- package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +3 -3
- package/esm2015/modules/notifications/notifications.service.js +2 -2
- package/esm2015/tokens/notification-options.js +8 -1
- package/esm2015/utils/dom/process-icon.js +2 -2
- package/esm2015/utils/format/format-number.js +2 -2
- package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +2 -2
- package/esm2015/utils/mask/create-number-mask.js +1 -2
- package/esm2015/utils/mask/enable-auto-correct-decimal-symbol.js +5 -0
- package/esm2015/utils/mask/index.js +2 -1
- package/esm2015/utils/miscellaneous/icons-path-factory.js +2 -2
- package/esm2015/utils/miscellaneous/is-editing-key.js +2 -2
- package/esm5/abstract/abstract-dropdown.js +2 -2
- package/esm5/abstract/abstract-hint.js +1 -1
- package/esm5/components/button/button-options.js +1 -1
- package/esm5/components/button/button.component.js +4 -4
- package/esm5/components/button/button.module.js +2 -2
- package/esm5/components/dialog/dialog.component.js +3 -20
- package/esm5/components/dropdown-box/dropdown-box.component.js +5 -8
- package/esm5/components/expand/expand.component.js +1 -1
- package/esm5/components/group/group-styles.component.js +16 -0
- package/esm5/components/group/group.directive.js +12 -6
- package/esm5/components/group/group.module.js +4 -3
- package/esm5/components/group/index.js +2 -1
- package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +3 -6
- package/esm5/components/index.js +1 -2
- package/esm5/components/link/link.component.js +1 -1
- package/esm5/components/loader/loader.directive.js +2 -2
- package/esm5/components/notification/notification.component.js +1 -1
- package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +2 -2
- package/esm5/components/primitive-checkbox/primitive-checkbox.module.js +2 -2
- package/esm5/components/primitive-textfield/primitive-textfield.component.js +1 -1
- package/esm5/components/primitive-textfield/primitive-textfield.module.js +2 -2
- package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +1 -1
- package/esm5/components/root/root.component.js +4 -4
- package/esm5/components/root/root.module.js +3 -3
- package/esm5/components/tooltip/tooltip.component.js +2 -2
- package/esm5/constants/version.js +2 -2
- package/esm5/directives/index.js +2 -1
- package/esm5/{components → directives}/wrapper/index.js +2 -2
- package/esm5/{components/wrapper/taiga-ui-core-components-wrapper.js → directives/wrapper/taiga-ui-core-directives-wrapper.js} +1 -1
- package/esm5/directives/wrapper/wrapper.directive.js +119 -0
- package/esm5/{components → directives}/wrapper/wrapper.module.js +4 -4
- package/esm5/enums/interactive-state.js +3 -1
- package/esm5/interfaces/dropdown-directive.js +1 -1
- package/esm5/modules/notifications/notification-alert/notification-alert.component.js +4 -5
- package/esm5/modules/notifications/notifications-host/notifications-host.component.js +3 -3
- package/esm5/modules/notifications/notifications.service.js +2 -2
- package/esm5/tokens/notification-options.js +9 -1
- package/esm5/utils/dom/process-icon.js +2 -2
- package/esm5/utils/format/format-number.js +2 -2
- package/esm5/utils/mask/create-auto-corrected-money-pipe.js +2 -2
- package/esm5/utils/mask/create-number-mask.js +1 -2
- package/esm5/utils/mask/enable-auto-correct-decimal-symbol.js +6 -0
- package/esm5/utils/mask/index.js +2 -1
- package/esm5/utils/miscellaneous/icons-path-factory.js +2 -2
- package/esm5/utils/miscellaneous/is-editing-key.js +2 -2
- package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-button.js +4 -4
- package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dialog.js +2 -15
- package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dropdown-box.js +4 -7
- package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-group.js +23 -8
- package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +2 -5
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-link.js +1 -1
- package/fesm2015/taiga-ui-core-components-loader.js +1 -1
- package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +2 -2
- package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -2
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-root.js +5 -5
- package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
- package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
- package/fesm2015/taiga-ui-core-components.js +0 -1
- package/fesm2015/taiga-ui-core-components.js.map +1 -1
- package/fesm2015/taiga-ui-core-constants.js +1 -1
- package/fesm2015/taiga-ui-core-constants.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-wrapper.js +113 -0
- package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -0
- package/fesm2015/taiga-ui-core-directives.js +1 -0
- package/fesm2015/taiga-ui-core-directives.js.map +1 -1
- package/fesm2015/taiga-ui-core-enums.js +2 -0
- package/fesm2015/taiga-ui-core-enums.js.map +1 -1
- package/fesm2015/taiga-ui-core-modules-notifications.js +5 -6
- package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js +8 -1
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-dom.js +1 -1
- package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-format.js +1 -1
- package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js +7 -4
- package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-miscellaneous.js +2 -2
- package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-core-abstract.js.map +1 -1
- package/fesm5/taiga-ui-core-components-button.js +4 -4
- package/fesm5/taiga-ui-core-components-button.js.map +1 -1
- package/fesm5/taiga-ui-core-components-dialog.js +2 -19
- package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm5/taiga-ui-core-components-dropdown-box.js +4 -7
- package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
- package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
- package/fesm5/taiga-ui-core-components-group.js +26 -8
- package/fesm5/taiga-ui-core-components-group.js.map +1 -1
- package/fesm5/taiga-ui-core-components-hosted-dropdown.js +2 -5
- package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
- package/fesm5/taiga-ui-core-components-link.js +1 -1
- package/fesm5/taiga-ui-core-components-loader.js +1 -1
- package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
- package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-checkbox.js +2 -2
- package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-textfield.js +2 -2
- package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
- package/fesm5/taiga-ui-core-components-root.js +5 -5
- package/fesm5/taiga-ui-core-components-root.js.map +1 -1
- package/fesm5/taiga-ui-core-components-tooltip.js +1 -1
- package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
- package/fesm5/taiga-ui-core-components.js +0 -1
- package/fesm5/taiga-ui-core-components.js.map +1 -1
- package/fesm5/taiga-ui-core-constants.js +1 -1
- package/fesm5/taiga-ui-core-constants.js.map +1 -1
- package/fesm5/taiga-ui-core-directives-wrapper.js +137 -0
- package/fesm5/taiga-ui-core-directives-wrapper.js.map +1 -0
- package/fesm5/taiga-ui-core-directives.js +1 -0
- package/fesm5/taiga-ui-core-directives.js.map +1 -1
- package/fesm5/taiga-ui-core-enums.js +2 -0
- package/fesm5/taiga-ui-core-enums.js.map +1 -1
- package/fesm5/taiga-ui-core-modules-notifications.js +5 -6
- package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
- package/fesm5/taiga-ui-core-tokens.js +9 -2
- package/fesm5/taiga-ui-core-tokens.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-dom.js +1 -1
- package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-format.js +1 -1
- package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-mask.js +8 -4
- package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-miscellaneous.js +2 -2
- package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
- package/interfaces/dropdown-directive.d.ts +2 -2
- package/modules/notifications/notification-alert/notification-alert.component.d.ts +3 -4
- package/modules/notifications/notifications.service.d.ts +3 -3
- package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
- package/package.json +4 -4
- package/styles/markup/tui-group.less +4 -2
- package/styles/mixins/slider.less +33 -0
- package/styles/mixins/slider.scss +34 -0
- package/styles/mixins/textfield.less +8 -6
- package/styles/mixins/textfield.scss +2 -2
- package/styles/mixins/wrapper.less +57 -0
- package/styles/mixins/wrapper.scss +57 -0
- package/styles/taiga-ui-local.less +2 -0
- package/styles/taiga-ui-local.scss +2 -0
- package/styles/theme/variables.less +1 -1
- package/styles/theme/wrapper/accent.less +16 -18
- package/styles/theme/wrapper/base.less +35 -0
- package/styles/theme/wrapper/icon.less +18 -28
- package/styles/theme/wrapper/outline.less +28 -29
- package/styles/theme/wrapper/primary.less +20 -18
- package/styles/theme/wrapper/secondary.less +35 -35
- package/styles/theme/wrapper/table.less +27 -33
- package/styles/theme/wrapper/textfield.less +45 -55
- package/styles/theme/wrapper/whiteblock.less +27 -16
- package/styles/theme/wrapper.less +2 -0
- package/tokens/notification-options.d.ts +10 -4
- package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
- package/utils/format/format-number.d.ts +1 -1
- package/utils/mask/create-auto-corrected-money-pipe.d.ts +1 -1
- package/utils/mask/create-number-mask.d.ts +0 -1
- package/utils/mask/enable-auto-correct-decimal-symbol.d.ts +2 -0
- package/utils/mask/index.d.ts +1 -0
- package/utils/mask/taiga-ui-core-utils-mask.metadata.json +1 -1
- package/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.metadata.json +1 -1
- package/bundles/taiga-ui-core-components-wrapper.umd.js.map +0 -1
- package/bundles/taiga-ui-core-components-wrapper.umd.min.js +0 -16
- package/bundles/taiga-ui-core-components-wrapper.umd.min.js.map +0 -1
- package/components/wrapper/index.d.ts +0 -2
- package/components/wrapper/package.json +0 -13
- package/components/wrapper/taiga-ui-core-components-wrapper.metadata.json +0 -1
- package/esm2015/components/wrapper/wrapper.component.js +0 -91
- package/esm5/components/wrapper/wrapper.component.js +0 -104
- package/fesm2015/taiga-ui-core-components-wrapper.js +0 -106
- package/fesm2015/taiga-ui-core-components-wrapper.js.map +0 -1
- package/fesm5/taiga-ui-core-components-wrapper.js +0 -122
- package/fesm5/taiga-ui-core-components-wrapper.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
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, ValueProvider} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeXL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions {\n readonly size: TuiSizeXS | TuiSizeXL;\n readonly appearance: TuiAppearance | string;\n readonly shape: 'square' | 'rounded' | null;\n}\n\n/**\n * @deprecated: use TuiButtonOptions instead\n * todo: remove in 3.0\n */\nexport type ButtonOptions = TuiButtonOptions;\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n size: 'l',\n shape: null,\n appearance: TuiAppearance.Primary,\n};\n\nexport const TUI_BUTTON_OPTIONS = new InjectionToken<TuiButtonOptions>(\n 'Default parameters for button component',\n {\n factory: () => TUI_BUTTON_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiButtonOptionsProvider: (\n options: Partial<TuiButtonOptions>,\n) => ValueProvider = (options: Partial<TuiButtonOptions>) => ({\n provide: TUI_BUTTON_OPTIONS,\n useValue: {...TUI_BUTTON_DEFAULT_OPTIONS, ...options},\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';\n\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions} 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, TuiButtonOptions\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-
|
|
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, ValueProvider} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeXL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions {\n readonly size: TuiSizeXS | TuiSizeXL;\n readonly appearance: keyof Record<TuiAppearance, string> | TuiAppearance | string;\n readonly shape: 'square' | 'rounded' | null;\n}\n\n/**\n * @deprecated: use TuiButtonOptions instead\n * todo: remove in 3.0\n */\nexport type ButtonOptions = TuiButtonOptions;\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n size: 'l',\n shape: null,\n appearance: TuiAppearance.Primary,\n};\n\nexport const TUI_BUTTON_OPTIONS = new InjectionToken<TuiButtonOptions>(\n 'Default parameters for button component',\n {\n factory: () => TUI_BUTTON_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiButtonOptionsProvider: (\n options: Partial<TuiButtonOptions>,\n) => ValueProvider = (options: Partial<TuiButtonOptions>) => ({\n provide: TUI_BUTTON_OPTIONS,\n useValue: {...TUI_BUTTON_DEFAULT_OPTIONS, ...options},\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';\n\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions} 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, TuiButtonOptions\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-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-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: TuiButtonOptions,\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/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\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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"}
|
|
@@ -81,19 +81,6 @@ let TuiDialogComponent = class TuiDialogComponent {
|
|
|
81
81
|
get header() {
|
|
82
82
|
return this.context.header;
|
|
83
83
|
}
|
|
84
|
-
get h() {
|
|
85
|
-
if (this.isMobile) {
|
|
86
|
-
return 'h5';
|
|
87
|
-
}
|
|
88
|
-
switch (this.size) {
|
|
89
|
-
case 's':
|
|
90
|
-
return 'h5';
|
|
91
|
-
case 'm':
|
|
92
|
-
return 'h4';
|
|
93
|
-
default:
|
|
94
|
-
return 'h3';
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
84
|
get slideInTop() {
|
|
98
85
|
return this.size === 'fullscreen' || this.size === 'page' || this.isMobile
|
|
99
86
|
? this.fullscreenAnimation
|
|
@@ -128,11 +115,11 @@ __decorate([
|
|
|
128
115
|
TuiDialogComponent = __decorate([
|
|
129
116
|
Component({
|
|
130
117
|
selector: 'tui-dialog',
|
|
131
|
-
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
|
|
118
|
+
template: "<header\n *ngIf=\"header\"\n polymorpheus-outlet\n class=\"t-header\"\n [content]=\"header\"\n [context]=\"context\"\n></header>\n<div class=\"t-content\">\n <h2 class=\"t-heading\" [id]=\"context.id\" [textContent]=\"context.label\"></h2>\n <section\n polymorpheus-outlet\n [context]=\"context\"\n [content]=\"context.content\"\n >\n <ng-template let-text>\n {{ text }}\n <div class=\"t-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=\"t-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=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close()\"\n ></button>\n</div>\n",
|
|
132
119
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
133
120
|
providers: TUI_DIALOG_PROVIDERS,
|
|
134
121
|
animations: [tuiSlideInTop, tuiFadeIn],
|
|
135
|
-
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:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem 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}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .heading{margin-bottom:.5rem}.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}:host[data-size=fullscreen] :host-context(tui-root._mobile) .header{flex:1}.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:-webkit-sticky;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}:host-context(tui-root._mobile) .close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .close:hover{color:var(--tui-base-07)}.buttons{margin-top:1.25rem;text-align:right}"]
|
|
122
|
+
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'] .t-content{padding:1.5rem}:host[data-size='s'] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size='l']{width:55rem}:host[data-size='l'] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.t-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)}.t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .t-close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .t-close:hover{color:var(--tui-base-07)}.t-buttons{margin-top:1.25rem;text-align:right}"]
|
|
136
123
|
}),
|
|
137
124
|
__param(0, Inject(TUI_ANIMATIONS_DURATION)),
|
|
138
125
|
__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';\n\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';\n\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} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\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';\n\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';\n\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 @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';\n\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} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\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';\n\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,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from 'tslib';
|
|
2
2
|
import { Inject, NgZone, ElementRef, HostBinding, ViewChild, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
3
|
import { WINDOW, ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
4
|
-
import { POLLING_TIME, tuiZonefree, getClosestElement, inRange, px, getClosestFocusable, setNativeFocused, TuiDestroyService,
|
|
4
|
+
import { POLLING_TIME, tuiZonefree, getClosestElement, inRange, px, getClosestFocusable, setNativeFocused, TuiDestroyService, TuiDropdownHostComponent, AbstractTuiPortalHostComponent, tuiPure, TuiActiveZoneModule, TuiOverscrollModule } from '@taiga-ui/cdk';
|
|
5
5
|
import { tuiDropdownAnimation } from '@taiga-ui/core/animations';
|
|
6
6
|
import { DEFAULT_MARGIN, DEFAULT_MAX_WIDTH } from '@taiga-ui/core/constants';
|
|
7
7
|
import { TUI_DROPDOWN_DIRECTIVE, TUI_ANIMATION_OPTIONS } from '@taiga-ui/core/tokens';
|
|
@@ -250,16 +250,13 @@ TuiDropdownBoxComponent.ctorParameters = () => [
|
|
|
250
250
|
{ type: undefined, decorators: [{ type: Inject, args: [TUI_DROPDOWN_DIRECTIVE,] }] },
|
|
251
251
|
{ type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] },
|
|
252
252
|
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
253
|
-
{ type:
|
|
253
|
+
{ type: TuiDropdownHostComponent, decorators: [{ type: Inject, args: [AbstractTuiPortalHostComponent,] }] },
|
|
254
254
|
{ type: undefined, decorators: [{ type: Inject, args: [TUI_ANIMATION_OPTIONS,] }] },
|
|
255
255
|
{ type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] }
|
|
256
256
|
];
|
|
257
257
|
__decorate([
|
|
258
258
|
HostBinding('@tuiDropdownAnimation')
|
|
259
259
|
], TuiDropdownBoxComponent.prototype, "dropdownAnimation", void 0);
|
|
260
|
-
__decorate([
|
|
261
|
-
ViewChild(TuiActiveZoneDirective)
|
|
262
|
-
], TuiDropdownBoxComponent.prototype, "activeZone", void 0);
|
|
263
260
|
__decorate([
|
|
264
261
|
ViewChild('content', { read: ElementRef })
|
|
265
262
|
], TuiDropdownBoxComponent.prototype, "contentElementRef", void 0);
|
|
@@ -272,7 +269,7 @@ __decorate([
|
|
|
272
269
|
TuiDropdownBoxComponent = __decorate([
|
|
273
270
|
Component({
|
|
274
271
|
selector: 'tui-dropdown-box',
|
|
275
|
-
template: "<div\n class=\"wrapper\"\n [tuiOverscroll]=\"overscroll\"\n [tuiMode]=\"null\"\n [tuiActiveZoneParent]=\"directive.activeZone\"\n>\n <tui-scrollbar class=\"scroll\">\n <div tabindex=\"0\" (focus)=\"onTopFocus()\"></div>\n <div\n #content\n polymorpheus-outlet\n class=\"content\"\n [content]=\"directive.content\"\n [context]=\"getContext(directive.context, activeZone)\"\n ></div>\n <div tabindex=\"0\" (focus)=\"onBottomFocus()\"></div>\n </tui-scrollbar>\n</div>\n",
|
|
272
|
+
template: "<div\n #activeZone=\"tuiActiveZone\"\n class=\"wrapper\"\n [tuiOverscroll]=\"overscroll\"\n [tuiMode]=\"null\"\n [tuiActiveZoneParent]=\"directive.activeZone\"\n>\n <tui-scrollbar class=\"scroll\">\n <div tabindex=\"0\" (focus)=\"onTopFocus()\"></div>\n <div\n #content\n polymorpheus-outlet\n class=\"content\"\n [content]=\"directive.content\"\n [context]=\"getContext(directive.context, activeZone)\"\n ></div>\n <div tabindex=\"0\" (focus)=\"onBottomFocus()\"></div>\n </tui-scrollbar>\n</div>\n",
|
|
276
273
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
277
274
|
providers: [TuiDestroyService],
|
|
278
275
|
animations: [tuiDropdownAnimation],
|
|
@@ -283,7 +280,7 @@ TuiDropdownBoxComponent = __decorate([
|
|
|
283
280
|
__param(2, Inject(TUI_DROPDOWN_DIRECTIVE)),
|
|
284
281
|
__param(3, Inject(WINDOW)),
|
|
285
282
|
__param(4, Inject(ElementRef)),
|
|
286
|
-
__param(5, Inject(
|
|
283
|
+
__param(5, Inject(AbstractTuiPortalHostComponent)),
|
|
287
284
|
__param(6, Inject(TUI_ANIMATION_OPTIONS)),
|
|
288
285
|
__param(7, Inject(ANIMATION_FRAME))
|
|
289
286
|
], TuiDropdownBoxComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-dropdown-box.js","sources":["ng://@taiga-ui/core/components/dropdown-box/dropdown-box.component.ts","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.module.ts","ng://@taiga-ui/core/components/dropdown-box/taiga-ui-core-components-dropdown-box.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n getClosestElement,\n getClosestFocusable,\n inRange,\n POLLING_TIME,\n px,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiDestroyService,\n TuiOverscrollModeT,\n TuiPortalHostComponent,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {DEFAULT_MARGIN, DEFAULT_MAX_WIDTH} from '@taiga-ui/core/constants';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiAnimationOptions, TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS, TUI_DROPDOWN_DIRECTIVE} from '@taiga-ui/core/tokens';\nimport {TuiHorizontalDirection, TuiVerticalDirection} from '@taiga-ui/core/types';\nimport {getScreenWidth} from '@taiga-ui/core/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {takeUntil, throttleTime} from 'rxjs/operators';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-dropdown-box',\n templateUrl: './dropdown-box.template.html',\n styleUrls: ['./dropdown-box.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownBoxComponent implements AfterViewChecked {\n private readonly animationTop = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.options,\n };\n\n private readonly animationBottom = {\n value: TuiDropdownAnimation.FadeInBottom,\n ...this.options,\n };\n\n /**\n * Is previous position on top (to prevent jumping up and down on scroll)\n */\n private prevDirectionIsTop = false;\n\n @HostBinding('@tuiDropdownAnimation')\n dropdownAnimation!: TuiAnimationOptions;\n\n @ViewChild(TuiActiveZoneDirective)\n readonly activeZone?: TuiActiveZoneDirective;\n\n @ViewChild('content', {read: ElementRef})\n readonly contentElementRef?: ElementRef<HTMLElement>;\n\n constructor(\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TUI_DROPDOWN_DIRECTIVE) readonly directive: TuiDropdown,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiPortalHostComponent)\n private readonly portalHost: TuiPortalHostComponent,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n merge(\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n this.directive.refresh$,\n fromEvent(this.windowRef, 'resize'),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n this.calculatePositionAndSize();\n });\n }\n\n get overscroll(): TuiOverscrollModeT {\n return this.inModal ? 'all' : 'scroll';\n }\n\n @tuiPure\n getContext<T extends object>(\n context?: T,\n activeZone?: TuiActiveZoneDirective,\n ):\n | (T & {activeZone?: TuiActiveZoneDirective})\n | {activeZone?: TuiActiveZoneDirective} {\n return {...context, activeZone};\n }\n\n ngAfterViewChecked() {\n this.calculatePositionAndSize();\n }\n\n onTopFocus() {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus() {\n this.moveFocusOutside(false);\n }\n\n @tuiPure\n private get inModal(): boolean {\n // @awful TODO: get rid of component tag name dependency\n return !!getClosestElement(this.directive.host, 'tui-dialog-host');\n }\n\n private calculatePositionAndSize() {\n const {clientRect} = this.directive;\n const {style} = this.elementRef.nativeElement;\n const hostRect = this.directive.fixed\n ? this.portalHost.fixedPositionOffset()\n : this.portalHost.clientRect;\n\n style.position = this.directive.fixed ? 'fixed' : 'absolute';\n\n this.calculateVerticalPosition(style, clientRect, hostRect);\n this.calculateHorizontalPosition(style, clientRect, hostRect);\n this.calculateWidth(style, clientRect);\n }\n\n private getFinalAlign(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n ): TuiHorizontalDirection {\n const dropdownRect = this.elementRef.nativeElement.getBoundingClientRect();\n const dropdownWidth = this.elementRef.nativeElement.offsetWidth;\n const screenWidth = getScreenWidth(this.windowRef.document);\n const isDropdownSizeHypotheticallyFitsViewport =\n directiveRect.left + dropdownWidth < screenWidth ||\n directiveRect.right - dropdownWidth > 0;\n const isDropdownSizeActuallyFitsViewport =\n dropdownRect.right <= screenWidth && dropdownRect.left >= 0;\n let finalAlign: TuiHorizontalDirection = this.directive.align;\n\n switch (this.directive.align) {\n case 'left':\n if (\n isDropdownSizeHypotheticallyFitsViewport &&\n dropdownRect.right > screenWidth\n ) {\n finalAlign = 'right';\n }\n\n break;\n case 'right':\n if (isDropdownSizeHypotheticallyFitsViewport && dropdownRect.left < 0) {\n finalAlign = 'left';\n }\n\n break;\n }\n\n if (style.right === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'left';\n }\n\n if (style.left === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'right';\n }\n\n return finalAlign;\n }\n\n /**\n * Calculates horizontal position\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateHorizontalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ) {\n const offset = this.directive.sided\n ? this.elementRef.nativeElement.getBoundingClientRect().width + DEFAULT_MARGIN\n : 0;\n const left = Math.ceil(directiveRect.left - hostRect.left - offset);\n const right = Math.floor(hostRect.right - directiveRect.right - offset);\n\n switch (this.getFinalAlign(style, directiveRect)) {\n case 'left':\n if (\n right + DEFAULT_MARGIN > this.windowRef.innerWidth ||\n inRange(left + DEFAULT_MARGIN, 0, this.windowRef.innerWidth)\n ) {\n style.left = px(left);\n style.right = 'auto';\n } else {\n style.left = 'auto';\n style.right = px(right);\n }\n\n break;\n case 'right':\n if (\n inRange(right + DEFAULT_MARGIN, 0, this.windowRef.innerWidth) ||\n left + DEFAULT_MARGIN > this.windowRef.innerWidth\n ) {\n style.left = 'auto';\n style.right = px(right);\n } else {\n style.left = px(left);\n style.right = 'auto';\n }\n\n break;\n }\n }\n\n /**\n * Calculates vertical position and height\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateVerticalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ) {\n const windowHeight = this.windowRef.innerHeight;\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n const finalDirection = this.getFinalDirection(directiveRect);\n\n this.prevDirectionIsTop = finalDirection === 'top';\n\n if (finalDirection === 'top') {\n this.dropdownAnimation = this.animationBottom;\n\n style.maxHeight = px(Math.min(boxHeightLimit, topAvailableHeight));\n style.top = 'auto';\n style.bottom = px(\n hostRect.bottom - directiveRect.top - DEFAULT_MARGIN + offset,\n );\n } else {\n this.dropdownAnimation = this.animationTop;\n\n style.maxHeight = px(Math.min(boxHeightLimit, bottomAvailableHeight));\n style.top = px(directiveRect.bottom - hostRect.top - DEFAULT_MARGIN + offset);\n style.bottom = 'auto';\n }\n }\n\n private getFinalDirection(directiveRect: ClientRect): TuiVerticalDirection | null {\n const windowHeight = this.windowRef.innerHeight;\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n\n // Maximum space available on top and on the bottom in the viewport\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n\n let finalDirection: TuiVerticalDirection | null = null;\n\n // Given direction is applied if we can fit the box in the limits that way\n switch (this.directive.direction) {\n case 'top':\n if (topAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'top';\n }\n\n break;\n case 'bottom':\n if (bottomAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'bottom';\n }\n\n break;\n }\n\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n\n // Choose direction if given direction did not fit\n if (finalDirection === null && this.contentElementRef) {\n // Box height if it fits without scroll\n const visualHeight = Math.min(\n this.contentElementRef.nativeElement.getBoundingClientRect().height +\n (this.elementRef.nativeElement.offsetHeight -\n this.elementRef.nativeElement.clientHeight),\n boxHeightLimit,\n );\n\n // If there is enough space to fit below without scroll,\n // choose 'bottom', unless it was previously on the top\n if (this.prevDirectionIsTop && topAvailableHeight >= visualHeight) {\n finalDirection = 'top';\n } else if (bottomAvailableHeight >= visualHeight) {\n finalDirection = 'bottom';\n } else {\n // Corner case — select direction with more space\n finalDirection =\n bottomAvailableHeight >= topAvailableHeight ? 'bottom' : 'top';\n }\n }\n\n return finalDirection;\n }\n\n /**\n * Calculates width\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n */\n private calculateWidth(style: CSSStyleDeclaration, directiveRect: ClientRect) {\n style.width =\n this.directive.limitMinWidth === 'fixed' && !this.directive.sided\n ? px(directiveRect.width)\n : '';\n\n if (this.directive.limitMinWidth === 'min' && !this.directive.sided) {\n style.minWidth = px(directiveRect.width);\n style.maxWidth = px(DEFAULT_MAX_WIDTH);\n\n return;\n }\n\n style.minWidth = '';\n style.maxWidth = '';\n }\n\n private moveFocusOutside(previous: boolean) {\n const {host} = this.directive;\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n\n let focusable = getClosestFocusable(host, previous, root);\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = getClosestFocusable(focusable, previous, root);\n }\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownBoxComponent} from './dropdown-box.component';\n\n@NgModule({\n imports: [\n TuiActiveZoneModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n ],\n entryComponents: [TuiDropdownBoxComponent],\n declarations: [TuiDropdownBoxComponent],\n exports: [TuiDropdownBoxComponent],\n})\nexport class TuiDropdownBoxModule {}\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-dropdown-box.js","sources":["ng://@taiga-ui/core/components/dropdown-box/dropdown-box.component.ts","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.module.ts","ng://@taiga-ui/core/components/dropdown-box/taiga-ui-core-components-dropdown-box.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n getClosestElement,\n getClosestFocusable,\n inRange,\n POLLING_TIME,\n px,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiDestroyService,\n TuiDropdownHostComponent,\n TuiOverscrollModeT,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {DEFAULT_MARGIN, DEFAULT_MAX_WIDTH} from '@taiga-ui/core/constants';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiAnimationOptions, TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS, TUI_DROPDOWN_DIRECTIVE} from '@taiga-ui/core/tokens';\nimport {TuiHorizontalDirection, TuiVerticalDirection} from '@taiga-ui/core/types';\nimport {getScreenWidth} from '@taiga-ui/core/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {takeUntil, throttleTime} from 'rxjs/operators';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-dropdown-box',\n templateUrl: './dropdown-box.template.html',\n styleUrls: ['./dropdown-box.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownBoxComponent implements AfterViewChecked {\n private readonly animationTop = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.options,\n };\n\n private readonly animationBottom = {\n value: TuiDropdownAnimation.FadeInBottom,\n ...this.options,\n };\n\n /**\n * Is previous position on top (to prevent jumping up and down on scroll)\n */\n private prevDirectionIsTop = false;\n\n @HostBinding('@tuiDropdownAnimation')\n dropdownAnimation!: TuiAnimationOptions;\n\n @ViewChild('content', {read: ElementRef})\n readonly contentElementRef?: ElementRef<HTMLElement>;\n\n constructor(\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TUI_DROPDOWN_DIRECTIVE) readonly directive: TuiDropdown,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly portalHost: TuiDropdownHostComponent,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n merge(\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n this.directive.refresh$,\n fromEvent(this.windowRef, 'resize'),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n this.calculatePositionAndSize();\n });\n }\n\n get overscroll(): TuiOverscrollModeT {\n return this.inModal ? 'all' : 'scroll';\n }\n\n @tuiPure\n getContext<T extends object>(\n context?: T,\n activeZone?: TuiActiveZoneDirective,\n ):\n | (T & {activeZone?: TuiActiveZoneDirective})\n | {activeZone?: TuiActiveZoneDirective} {\n return {...context, activeZone};\n }\n\n ngAfterViewChecked() {\n this.calculatePositionAndSize();\n }\n\n onTopFocus() {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus() {\n this.moveFocusOutside(false);\n }\n\n @tuiPure\n private get inModal(): boolean {\n // @awful TODO: get rid of component tag name dependency\n return !!getClosestElement(this.directive.host, 'tui-dialog-host');\n }\n\n private calculatePositionAndSize() {\n const {clientRect} = this.directive;\n const {style} = this.elementRef.nativeElement;\n const hostRect = this.directive.fixed\n ? this.portalHost.fixedPositionOffset()\n : this.portalHost.clientRect;\n\n style.position = this.directive.fixed ? 'fixed' : 'absolute';\n\n this.calculateVerticalPosition(style, clientRect, hostRect);\n this.calculateHorizontalPosition(style, clientRect, hostRect);\n this.calculateWidth(style, clientRect);\n }\n\n private getFinalAlign(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n ): TuiHorizontalDirection {\n const dropdownRect = this.elementRef.nativeElement.getBoundingClientRect();\n const dropdownWidth = this.elementRef.nativeElement.offsetWidth;\n const screenWidth = getScreenWidth(this.windowRef.document);\n const isDropdownSizeHypotheticallyFitsViewport =\n directiveRect.left + dropdownWidth < screenWidth ||\n directiveRect.right - dropdownWidth > 0;\n const isDropdownSizeActuallyFitsViewport =\n dropdownRect.right <= screenWidth && dropdownRect.left >= 0;\n let finalAlign: TuiHorizontalDirection = this.directive.align;\n\n switch (this.directive.align) {\n case 'left':\n if (\n isDropdownSizeHypotheticallyFitsViewport &&\n dropdownRect.right > screenWidth\n ) {\n finalAlign = 'right';\n }\n\n break;\n case 'right':\n if (isDropdownSizeHypotheticallyFitsViewport && dropdownRect.left < 0) {\n finalAlign = 'left';\n }\n\n break;\n }\n\n if (style.right === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'left';\n }\n\n if (style.left === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'right';\n }\n\n return finalAlign;\n }\n\n /**\n * Calculates horizontal position\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateHorizontalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ) {\n const offset = this.directive.sided\n ? this.elementRef.nativeElement.getBoundingClientRect().width + DEFAULT_MARGIN\n : 0;\n const left = Math.ceil(directiveRect.left - hostRect.left - offset);\n const right = Math.floor(hostRect.right - directiveRect.right - offset);\n\n switch (this.getFinalAlign(style, directiveRect)) {\n case 'left':\n if (\n right + DEFAULT_MARGIN > this.windowRef.innerWidth ||\n inRange(left + DEFAULT_MARGIN, 0, this.windowRef.innerWidth)\n ) {\n style.left = px(left);\n style.right = 'auto';\n } else {\n style.left = 'auto';\n style.right = px(right);\n }\n\n break;\n case 'right':\n if (\n inRange(right + DEFAULT_MARGIN, 0, this.windowRef.innerWidth) ||\n left + DEFAULT_MARGIN > this.windowRef.innerWidth\n ) {\n style.left = 'auto';\n style.right = px(right);\n } else {\n style.left = px(left);\n style.right = 'auto';\n }\n\n break;\n }\n }\n\n /**\n * Calculates vertical position and height\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateVerticalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ) {\n const windowHeight = this.windowRef.innerHeight;\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n const finalDirection = this.getFinalDirection(directiveRect);\n\n this.prevDirectionIsTop = finalDirection === 'top';\n\n if (finalDirection === 'top') {\n this.dropdownAnimation = this.animationBottom;\n\n style.maxHeight = px(Math.min(boxHeightLimit, topAvailableHeight));\n style.top = 'auto';\n style.bottom = px(\n hostRect.bottom - directiveRect.top - DEFAULT_MARGIN + offset,\n );\n } else {\n this.dropdownAnimation = this.animationTop;\n\n style.maxHeight = px(Math.min(boxHeightLimit, bottomAvailableHeight));\n style.top = px(directiveRect.bottom - hostRect.top - DEFAULT_MARGIN + offset);\n style.bottom = 'auto';\n }\n }\n\n private getFinalDirection(directiveRect: ClientRect): TuiVerticalDirection | null {\n const windowHeight = this.windowRef.innerHeight;\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n\n // Maximum space available on top and on the bottom in the viewport\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n\n let finalDirection: TuiVerticalDirection | null = null;\n\n // Given direction is applied if we can fit the box in the limits that way\n switch (this.directive.direction) {\n case 'top':\n if (topAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'top';\n }\n\n break;\n case 'bottom':\n if (bottomAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'bottom';\n }\n\n break;\n }\n\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n\n // Choose direction if given direction did not fit\n if (finalDirection === null && this.contentElementRef) {\n // Box height if it fits without scroll\n const visualHeight = Math.min(\n this.contentElementRef.nativeElement.getBoundingClientRect().height +\n (this.elementRef.nativeElement.offsetHeight -\n this.elementRef.nativeElement.clientHeight),\n boxHeightLimit,\n );\n\n // If there is enough space to fit below without scroll,\n // choose 'bottom', unless it was previously on the top\n if (this.prevDirectionIsTop && topAvailableHeight >= visualHeight) {\n finalDirection = 'top';\n } else if (bottomAvailableHeight >= visualHeight) {\n finalDirection = 'bottom';\n } else {\n // Corner case — select direction with more space\n finalDirection =\n bottomAvailableHeight >= topAvailableHeight ? 'bottom' : 'top';\n }\n }\n\n return finalDirection;\n }\n\n /**\n * Calculates width\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n */\n private calculateWidth(style: CSSStyleDeclaration, directiveRect: ClientRect) {\n style.width =\n this.directive.limitMinWidth === 'fixed' && !this.directive.sided\n ? px(directiveRect.width)\n : '';\n\n if (this.directive.limitMinWidth === 'min' && !this.directive.sided) {\n style.minWidth = px(directiveRect.width);\n style.maxWidth = px(DEFAULT_MAX_WIDTH);\n\n return;\n }\n\n style.minWidth = '';\n style.maxWidth = '';\n }\n\n private moveFocusOutside(previous: boolean) {\n const {host} = this.directive;\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n\n let focusable = getClosestFocusable(host as HTMLElement, previous, root);\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = getClosestFocusable(focusable, previous, root);\n }\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownBoxComponent} from './dropdown-box.component';\n\n@NgModule({\n imports: [\n TuiActiveZoneModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n ],\n entryComponents: [TuiDropdownBoxComponent],\n declarations: [TuiDropdownBoxComponent],\n exports: [TuiDropdownBoxComponent],\n})\nexport class TuiDropdownBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAqCA;;;AAGA;AACA;AACA;IASa,uBAAuB,GAApC,MAAa,uBAAuB;IAsBhC,YAEI,QAA2B,EACX,MAAc,EACW,SAAsB,EAC9B,SAAiB,EACb,UAAmC,EAEvD,UAAoC,EACL,OAAyB,EAChD,eAAmC;QANnB,cAAS,GAAT,SAAS,CAAa;QAC9B,cAAS,GAAT,SAAS,CAAQ;QACb,eAAU,GAAV,UAAU,CAAyB;QAEvD,eAAU,GAAV,UAAU,CAA0B;QACL,YAAO,GAAP,OAAO,CAAkB;QA9B5D,iBAAY,mBACzB,KAAK,iCACF,IAAI,CAAC,OAAO,EACjB;QAEe,oBAAe,mBAC5B,KAAK,uCACF,IAAI,CAAC,OAAO,EACjB;;;;QAKM,uBAAkB,GAAG,KAAK,CAAC;QAoB/B,KAAK,CACD,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CACtC;aACI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC9C,SAAS,CAAC;YACP,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACnC,CAAC,CAAC;KACV;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;KAC1C;IAGD,UAAU,CACN,OAAW,EACX,UAAmC;QAInC,uCAAW,OAAO,KAAE,UAAU,IAAE;KACnC;IAED,kBAAkB;QACd,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACnC;IAED,UAAU;QACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,aAAa;QACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAChC;IAGD,IAAY,OAAO;;QAEf,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;KACtE;IAEO,wBAAwB;QAC5B,MAAM,EAAC,UAAU,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;cAC/B,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE;cACrC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAEjC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;QAE7D,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;KAC1C;IAEO,aAAa,CACjB,KAA0B,EAC1B,aAAyB;QAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC;QAChE,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,wCAAwC,GAC1C,aAAa,CAAC,IAAI,GAAG,aAAa,GAAG,WAAW;YAChD,aAAa,CAAC,KAAK,GAAG,aAAa,GAAG,CAAC,CAAC;QAC5C,MAAM,kCAAkC,GACpC,YAAY,CAAC,KAAK,IAAI,WAAW,IAAI,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;QAChE,IAAI,UAAU,GAA2B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAE9D,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK;YACxB,KAAK,MAAM;gBACP,IACI,wCAAwC;oBACxC,YAAY,CAAC,KAAK,GAAG,WAAW,EAClC;oBACE,UAAU,GAAG,OAAO,CAAC;iBACxB;gBAED,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,wCAAwC,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE;oBACnE,UAAU,GAAG,MAAM,CAAC;iBACvB;gBAED,MAAM;SACb;QAED,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,kCAAkC,EAAE;YAC9D,UAAU,GAAG,MAAM,CAAC;SACvB;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,kCAAkC,EAAE;YAC7D,UAAU,GAAG,OAAO,CAAC;SACxB;QAED,OAAO,UAAU,CAAC;KACrB;;;;;;;;IASO,2BAA2B,CAC/B,KAA0B,EAC1B,aAAyB,EACzB,QAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;cAC7B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,cAAc;cAC5E,CAAC,CAAC;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QAExE,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC;YAC5C,KAAK,MAAM;gBACP,IACI,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU;oBAClD,OAAO,CAAC,IAAI,GAAG,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAC9D;oBACE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACtB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;iBACxB;qBAAM;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;oBACpB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;iBAC3B;gBAED,MAAM;YACV,KAAK,OAAO;gBACR,IACI,OAAO,CAAC,KAAK,GAAG,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;oBAC7D,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EACnD;oBACE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;oBACpB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;iBAC3B;qBAAM;oBACH,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACtB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;iBACxB;gBAED,MAAM;SACb;KACJ;;;;;;;;IASO,yBAAyB,CAC7B,KAA0B,EAC1B,aAAyB,EACzB,QAAoB;QAEpB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;;QAEhD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,YAAY,GAAG,cAAc,GAAG,CAAC,CACpC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;cAC7B,cAAc,GAAG,aAAa,CAAC,MAAM;cACrC,cAAc,GAAG,CAAC,CAAC;QACzB,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC;QACtD,MAAM,qBAAqB,GAAG,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAE7D,IAAI,CAAC,kBAAkB,GAAG,cAAc,KAAK,KAAK,CAAC;QAEnD,IAAI,cAAc,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;YAE9C,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACnE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;YACnB,KAAK,CAAC,MAAM,GAAG,EAAE,CACb,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,GAAG,cAAc,GAAG,MAAM,CAChE,CAAC;SACL;aAAM;YACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;YAE3C,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAAC;YACtE,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG,cAAc,GAAG,MAAM,CAAC,CAAC;YAC9E,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;SACzB;KACJ;IAEO,iBAAiB,CAAC,aAAyB;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;cAC7B,cAAc,GAAG,aAAa,CAAC,MAAM;cACrC,cAAc,GAAG,CAAC,CAAC;;QAGzB,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC;QACtD,MAAM,qBAAqB,GAAG,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;QAE3E,IAAI,cAAc,GAAgC,IAAI,CAAC;;QAGvD,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS;YAC5B,KAAK,KAAK;gBACN,IAAI,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;oBAChD,cAAc,GAAG,KAAK,CAAC;iBAC1B;gBAED,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,qBAAqB,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;oBACnD,cAAc,GAAG,QAAQ,CAAC;iBAC7B;gBAED,MAAM;SACb;;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,YAAY,GAAG,cAAc,GAAG,CAAC,CACpC,CAAC;;QAGF,IAAI,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;;YAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM;iBAC9D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY;oBACvC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,EACnD,cAAc,CACjB,CAAC;;;YAIF,IAAI,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,IAAI,YAAY,EAAE;gBAC/D,cAAc,GAAG,KAAK,CAAC;aAC1B;iBAAM,IAAI,qBAAqB,IAAI,YAAY,EAAE;gBAC9C,cAAc,GAAG,QAAQ,CAAC;aAC7B;iBAAM;;gBAEH,cAAc;oBACV,qBAAqB,IAAI,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;aACtE;SACJ;QAED,OAAO,cAAc,CAAC;KACzB;;;;;;;IAQO,cAAc,CAAC,KAA0B,EAAE,aAAyB;QACxE,KAAK,CAAC,KAAK;YACP,IAAI,CAAC,SAAS,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK;kBAC3D,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;kBACvB,EAAE,CAAC;QAEb,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACjE,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;YAEvC,OAAO;SACV;QAED,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;KACvB;IAEO,gBAAgB,CAAC,QAAiB;QACtC,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAEvD,IAAI,SAAS,GAAG,mBAAmB,CAAC,IAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEzE,OAAO,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACnD,SAAS,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC9D;QAED,IAAI,SAAS,KAAK,IAAI,EAAE;YACpB,OAAO;SACV;QAED,gBAAgB,CAAC,SAAS,CAAC,CAAC;KAC/B;EACJ;;YA9SiB,iBAAiB,uBAD1B,MAAM,SAAC,iBAAiB;YAED,MAAM,uBAA7B,MAAM,SAAC,MAAM;4CACb,MAAM,SAAC,sBAAsB;YACc,MAAM,uBAAjD,MAAM,SAAC,MAAM;YACmC,UAAU,uBAA1D,MAAM,SAAC,UAAU;YAEW,wBAAwB,uBADpD,MAAM,SAAC,8BAA8B;4CAErC,MAAM,SAAC,qBAAqB;YACa,UAAU,uBAAnD,MAAM,SAAC,eAAe;;AAf3B;IADC,WAAW,CAAC,uBAAuB,CAAC;kEACG;AAGxC;IADC,SAAS,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;kEACY;AA8BrD;IADC,OAAO;yDAQP;AAeD;IADC,OAAO;sDAIP;AA3EQ,uBAAuB;IARnC,SAAS,CAAC;QACP,QAAQ,EAAE,kBAAkB;QAC5B,umBAA2C;QAE3C,eAAe,EAAE,uBAAuB,CAAC,OAAO;QAChD,SAAS,EAAE,CAAC,iBAAiB,CAAC;QAC9B,UAAU,EAAE,CAAC,oBAAoB,CAAC;;KACrC,CAAC;IAwBO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAEzB,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;IACd,WAAA,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAC9B,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;IACd,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,8BAA8B,CAAC,CAAA;IAEtC,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;GAhCnB,uBAAuB,CAsUnC;;ICrWY,oBAAoB,GAAjC,MAAa,oBAAoB;EAAG;AAAvB,oBAAoB;IAZhC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,mBAAmB;YACnB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB;YAClB,aAAa;SAChB;QACD,eAAe,EAAE,CAAC,uBAAuB,CAAC;QAC1C,YAAY,EAAE,CAAC,uBAAuB,CAAC;QACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;KACrC,CAAC;GACW,oBAAoB,CAAG;;ACpBpC;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-expand.js","sources":["ng://@taiga-ui/core/components/expand/expand-content.directive.ts","ng://@taiga-ui/core/components/expand/expand.component.ts","ng://@taiga-ui/core/components/expand/expand.module.ts","ng://@taiga-ui/core/components/expand/taiga-ui-core-components-expand.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n// @bad TODO Replace with PolymorpheusContent\n@Directive({\n selector: '[tuiExpandContent]',\n})\nexport class TuiExpandContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {isCurrentTarget, tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {TUI_EXPAND_LOADED} from '@taiga-ui/core/constants';\n\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\nenum State {\n Idle,\n Loading,\n Prepared,\n Animated,\n}\n\nconst LOADER_HEIGHT = 48;\n\n@Component({\n selector: 'tui-expand',\n templateUrl: './expand.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./expand.style.less'],\n})\nexport class TuiExpandComponent {\n @ViewChild('wrapper')\n private readonly contentWrapper?: ElementRef<HTMLDivElement>;\n\n private state = State.Idle;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Input('expanded')\n @tuiRequiredSetter()\n set expandedSetter(expanded: boolean) {\n if (this.expanded === null) {\n this.expanded = expanded;\n\n return;\n }\n\n if (this.state !== State.Idle) {\n this.expanded = expanded;\n this.state = State.Animated;\n\n return;\n }\n\n this.expanded = expanded;\n this.retrigger(this.async && expanded ? State.Loading : State.Animated);\n }\n\n @ContentChild(TuiExpandContentDirective, {read: TemplateRef})\n content?: TemplateRef<
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-expand.js","sources":["ng://@taiga-ui/core/components/expand/expand-content.directive.ts","ng://@taiga-ui/core/components/expand/expand.component.ts","ng://@taiga-ui/core/components/expand/expand.module.ts","ng://@taiga-ui/core/components/expand/taiga-ui-core-components-expand.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n// @bad TODO Replace with PolymorpheusContent\n@Directive({\n selector: '[tuiExpandContent]',\n})\nexport class TuiExpandContentDirective {}\n","import {NgIfContext} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {isCurrentTarget, tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {TUI_EXPAND_LOADED} from '@taiga-ui/core/constants';\n\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\nenum State {\n Idle,\n Loading,\n Prepared,\n Animated,\n}\n\nconst LOADER_HEIGHT = 48;\n\n@Component({\n selector: 'tui-expand',\n templateUrl: './expand.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./expand.style.less'],\n})\nexport class TuiExpandComponent {\n @ViewChild('wrapper')\n private readonly contentWrapper?: ElementRef<HTMLDivElement>;\n\n private state = State.Idle;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Input('expanded')\n @tuiRequiredSetter()\n set expandedSetter(expanded: boolean) {\n if (this.expanded === null) {\n this.expanded = expanded;\n\n return;\n }\n\n if (this.state !== State.Idle) {\n this.expanded = expanded;\n this.state = State.Animated;\n\n return;\n }\n\n this.expanded = expanded;\n this.retrigger(this.async && expanded ? State.Loading : State.Animated);\n }\n\n @ContentChild(TuiExpandContentDirective, {read: TemplateRef})\n content?: TemplateRef<NgIfContext<boolean>>;\n\n @HostBinding('class._expanded')\n @HostBinding('attr.aria-expanded')\n expanded: boolean | null = null;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n @HostBinding('class._overflow')\n get overflow(): boolean {\n return this.state !== State.Idle;\n }\n\n @HostBinding('class._loading')\n get loading(): boolean {\n return !!this.expanded && this.async && this.state === State.Loading;\n }\n\n @HostBinding('style.height.px')\n get height(): number | null {\n const {expanded, state, contentWrapper} = this;\n\n if (\n (expanded && state === State.Prepared) ||\n (!expanded && state === State.Animated)\n ) {\n return 0;\n }\n\n if (\n contentWrapper &&\n ((!expanded && state === State.Prepared) ||\n (expanded && state === State.Animated))\n ) {\n return contentWrapper.nativeElement.offsetHeight;\n }\n\n if (contentWrapper && expanded && state === State.Loading) {\n return Math.max(contentWrapper.nativeElement.offsetHeight, LOADER_HEIGHT);\n }\n\n return null;\n }\n\n get contentVisible(): boolean {\n return this.expanded || this.state !== State.Idle;\n }\n\n @HostListener('transitionend', ['$event'])\n onTransitionEnd(event: TransitionEvent) {\n if (\n isCurrentTarget(event) &&\n event.propertyName === 'opacity' &&\n this.state === State.Animated\n ) {\n this.state = State.Idle;\n }\n }\n\n @HostListener(TUI_EXPAND_LOADED, ['$event'])\n onExpandLoaded(event: Event) {\n event.stopPropagation();\n\n if (this.state === State.Loading) {\n this.retrigger(State.Animated);\n }\n }\n\n private retrigger(state: State) {\n this.state = State.Prepared;\n\n // We need delay to retrigger CSS height transition from the correct number\n setTimeout(() => {\n if (this.state !== State.Prepared) {\n return;\n }\n\n this.state = state;\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule} from '@taiga-ui/core/components/loader';\n\nimport {TuiExpandComponent} from './expand.component';\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLoaderModule],\n declarations: [TuiExpandComponent, TuiExpandContentDirective],\n exports: [TuiExpandComponent, TuiExpandContentDirective],\n})\nexport class TuiExpandModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,26 @@
|
|
|
1
|
-
import { __decorate } from 'tslib';
|
|
2
|
-
import { Input, HostBinding, Directive,
|
|
3
|
-
import { tuiDefaultProp } from '@taiga-ui/cdk';
|
|
1
|
+
import { __decorate, __param } from 'tslib';
|
|
2
|
+
import { Component, ViewEncapsulation, Inject, Input, HostBinding, Directive, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
+
import { TuiDirectiveStylesService, tuiDefaultProp } from '@taiga-ui/cdk';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
6
|
+
let TuiGroupStylesComponent = class TuiGroupStylesComponent {
|
|
7
|
+
};
|
|
8
|
+
TuiGroupStylesComponent = __decorate([
|
|
9
|
+
Component({
|
|
10
|
+
template: '',
|
|
11
|
+
encapsulation: ViewEncapsulation.None,
|
|
12
|
+
styles: [".tui-group{position:relative;z-index:0;display:flex}.tui-group>*{flex:1 1 0;min-width:0}.tui-group>:nth-child(n){border-radius:0}.tui-group>:not(:last-child){margin-right:.125rem}.tui-group_collapsed>*{z-index:1}.tui-group_collapsed>:not(:last-child){margin-right:-1px}.tui-group_collapsed>._disabled,.tui-group_collapsed>._disabled:hover,.tui-group_collapsed>._readonly,.tui-group_collapsed>._readonly:hover{z-index:0}.tui-group_collapsed>._hovered,.tui-group_collapsed>._pressed,.tui-group_collapsed>:hover{z-index:3}.tui-group_collapsed>._invalid{z-index:2}.tui-group_collapsed>._invalid._hovered,.tui-group_collapsed>._invalid._pressed,.tui-group_collapsed>._invalid:hover{z-index:4}.tui-group_collapsed>._focus-visible,.tui-group_collapsed>._focused.ng-touched,.tui-group_collapsed>._focused.ng-untouched,.tui-group_collapsed>._hosted_dropdown_focused{z-index:5}.tui-group_collapsed>._active,.tui-group_collapsed>[data-appearance=whiteblock-active]{z-index:6}.tui-group_collapsed>._focus-visible._active,.tui-group_collapsed>._focus-visible._focused,.tui-group_collapsed>._focus-visible[data-appearance=whiteblock-active]{z-index:7}.tui-group_orientation_vertical{display:inline-flex;flex-direction:column}.tui-group_orientation_vertical>*{min-height:auto;flex:0 0 auto}.tui-group_orientation_vertical>:not(:last-child){margin-right:0;margin-bottom:.125rem}.tui-group_orientation_vertical.tui-group_collapsed>:not(:last-child){margin-right:0;margin-bottom:-1px}.tui-group_rounded.tui-group_orientation_horizontal>:first-child{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_orientation_horizontal>:last-child{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_orientation_horizontal.tui-group_radius_large>:first-child{border-top-left-radius:var(--tui-radius-l);border-bottom-left-radius:var(--tui-radius-l)}.tui-group_rounded.tui-group_orientation_horizontal.tui-group_radius_large>:last-child{border-top-right-radius:var(--tui-radius-l);border-bottom-right-radius:var(--tui-radius-l)}.tui-group_rounded.tui-group_orientation_vertical>:first-child{border-top-left-radius:var(--tui-radius-m);border-top-right-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_orientation_vertical>:last-child{border-bottom-left-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_orientation_vertical.tui-group_radius_large>:first-child{border-top-left-radius:var(--tui-radius-l);border-top-right-radius:var(--tui-radius-l)}.tui-group_rounded.tui-group_orientation_vertical.tui-group_radius_large>:last-child{border-bottom-left-radius:var(--tui-radius-l);border-bottom-right-radius:var(--tui-radius-l)}@media screen and (max-width:47.9375em){.tui-group_rounded.tui-group_adaptive.tui-group_orientation_horizontal>:first-child:not(:last-child),.tui-group_rounded.tui-group_adaptive.tui-group_orientation_horizontal>:last-child:not(:first-child),.tui-group_rounded.tui-group_adaptive.tui-group_orientation_vertical:not(.tui-group_collapsed)>:first-child:not(:last-child),.tui-group_rounded.tui-group_adaptive.tui-group_orientation_vertical:not(.tui-group_collapsed)>:last-child:not(:first-child){border-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal>:first-child:not(:last-child),.tui-group_rounded.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal>:last-child:not(:first-child),.tui-group_rounded.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical:not(.tui-group_collapsed)>:first-child:not(:last-child),.tui-group_rounded.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical:not(.tui-group_collapsed)>:last-child:not(:first-child){border-radius:var(--tui-radius-l)}.tui-group_adaptive.tui-group_orientation_vertical{width:100%}.tui-group_adaptive.tui-group_orientation_vertical>:nth-child(n):not(:only-child){border-radius:var(--tui-radius-m)}.tui-group_adaptive.tui-group_orientation_vertical>:not(:last-child){margin-bottom:1rem}.tui-group_adaptive.tui-group_orientation_vertical.tui-group_collapsed>:nth-child(n):not(:only-child){border-radius:0}.tui-group_adaptive.tui-group_orientation_vertical.tui-group_collapsed>:first-child:not(:last-child){border-radius:var(--tui-radius-m) var(--tui-radius-m) 0 0}.tui-group_adaptive.tui-group_orientation_vertical.tui-group_collapsed>:last-child:not(:first-child){border-radius:0 0 var(--tui-radius-m) var(--tui-radius-m)}.tui-group_adaptive.tui-group_orientation_vertical.tui-group_collapsed>:not(:last-child){margin-bottom:-1px}.tui-group_adaptive.tui-group_orientation_horizontal{flex-direction:column;width:100%}.tui-group_adaptive.tui-group_orientation_horizontal>:nth-child(n):not(:only-child){border-radius:var(--tui-radius-m)}.tui-group_adaptive.tui-group_orientation_horizontal>:not(:last-child){margin-right:0;margin-bottom:1rem}.tui-group_adaptive.tui-group_orientation_horizontal.tui-group_collapsed>:nth-child(n):not(:only-child){border-radius:0}.tui-group_adaptive.tui-group_orientation_horizontal.tui-group_collapsed>:first-child:not(:last-child){border-radius:var(--tui-radius-m) var(--tui-radius-m) 0 0}.tui-group_adaptive.tui-group_orientation_horizontal.tui-group_collapsed>:last-child:not(:first-child){border-radius:0 0 var(--tui-radius-m) var(--tui-radius-m)}.tui-group_adaptive.tui-group_orientation_horizontal.tui-group_collapsed>:not(:last-child){margin-right:0;margin-bottom:-1px}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical>:nth-child(n):not(:only-child){border-radius:var(--tui-radius-l)}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical.tui-group_collapsed>:nth-child(n):not(:only-child){border-radius:0}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical.tui-group_collapsed>:first-child:not(:last-child){border-radius:var(--tui-radius-l) var(--tui-radius-l) 0 0}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical.tui-group_collapsed>:last-child:not(:first-child){border-radius:0 0 var(--tui-radius-l) var(--tui-radius-l)}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal>:nth-child(n):not(:only-child){border-radius:var(--tui-radius-l)}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal.tui-group_collapsed>:nth-child(n):not(:only-child){border-radius:0}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal.tui-group_collapsed>:first-child:not(:last-child){border-radius:var(--tui-radius-l) var(--tui-radius-l) 0 0}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal.tui-group_collapsed>:last-child:not(:first-child){border-radius:0 0 var(--tui-radius-l) var(--tui-radius-l)}}.tui-group__auto-width-item{min-width:auto;flex:0 0 auto}.tui-group .tui-group__inherit-item{border-radius:inherit}"]
|
|
13
|
+
})
|
|
14
|
+
], TuiGroupStylesComponent);
|
|
15
|
+
|
|
6
16
|
let TuiGroupDirective = class TuiGroupDirective {
|
|
7
|
-
constructor() {
|
|
17
|
+
constructor(directiveStyles) {
|
|
8
18
|
this.orientation = 'horizontal';
|
|
9
19
|
this.adaptive = false;
|
|
10
20
|
this.collapsed = false;
|
|
11
21
|
this.rounded = true;
|
|
12
22
|
this.size = 'm';
|
|
23
|
+
directiveStyles.addComponent(TuiGroupStylesComponent);
|
|
13
24
|
}
|
|
14
25
|
get orientationHorizontal() {
|
|
15
26
|
return this.orientation === 'horizontal';
|
|
@@ -21,6 +32,9 @@ let TuiGroupDirective = class TuiGroupDirective {
|
|
|
21
32
|
return this.size === 'l';
|
|
22
33
|
}
|
|
23
34
|
};
|
|
35
|
+
TuiGroupDirective.ctorParameters = () => [
|
|
36
|
+
{ type: TuiDirectiveStylesService, decorators: [{ type: Inject, args: [TuiDirectiveStylesService,] }] }
|
|
37
|
+
];
|
|
24
38
|
__decorate([
|
|
25
39
|
Input(),
|
|
26
40
|
tuiDefaultProp()
|
|
@@ -60,7 +74,8 @@ TuiGroupDirective = __decorate([
|
|
|
60
74
|
class: 'tui-group',
|
|
61
75
|
role: 'group',
|
|
62
76
|
},
|
|
63
|
-
})
|
|
77
|
+
}),
|
|
78
|
+
__param(0, Inject(TuiDirectiveStylesService))
|
|
64
79
|
], TuiGroupDirective);
|
|
65
80
|
|
|
66
81
|
/** @deprecated */
|
|
@@ -83,8 +98,8 @@ let TuiGroupModule = class TuiGroupModule {
|
|
|
83
98
|
TuiGroupModule = __decorate([
|
|
84
99
|
NgModule({
|
|
85
100
|
imports: [CommonModule],
|
|
86
|
-
declarations: [TuiGroupComponent, TuiGroupDirective],
|
|
87
|
-
exports: [TuiGroupComponent, TuiGroupDirective],
|
|
101
|
+
declarations: [TuiGroupComponent, TuiGroupDirective, TuiGroupStylesComponent],
|
|
102
|
+
exports: [TuiGroupComponent, TuiGroupDirective, TuiGroupStylesComponent],
|
|
88
103
|
})
|
|
89
104
|
], TuiGroupModule);
|
|
90
105
|
|
|
@@ -92,5 +107,5 @@ TuiGroupModule = __decorate([
|
|
|
92
107
|
* Generated bundle index. Do not edit.
|
|
93
108
|
*/
|
|
94
109
|
|
|
95
|
-
export { TuiGroupComponent, TuiGroupDirective, TuiGroupModule };
|
|
110
|
+
export { TuiGroupComponent, TuiGroupDirective, TuiGroupModule, TuiGroupStylesComponent };
|
|
96
111
|
//# sourceMappingURL=taiga-ui-core-components-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-group.js","sources":["ng://@taiga-ui/core/components/group/group.directive.ts","ng://@taiga-ui/core/components/group/group.component.ts","ng://@taiga-ui/core/components/group/group.module.ts","ng://@taiga-ui/core/components/group/taiga-ui-core-components-group.ts"],"sourcesContent":["import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiOrientationT, TuiSizeL} from '@taiga-ui/core/types';\n\n@Directive({\n selector: '[tuiGroup]:not(ng-container)',\n host: {\n class: 'tui-group',\n role: 'group',\n },\n})\nexport class TuiGroupDirective {\n @Input()\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @HostBinding('class.tui-group_adaptive')\n @tuiDefaultProp()\n adaptive = false;\n\n @Input()\n @HostBinding('class.tui-group_collapsed')\n @tuiDefaultProp()\n collapsed = false;\n\n @Input()\n @HostBinding('class.tui-group_rounded')\n @tuiDefaultProp()\n rounded = true;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @HostBinding('class.tui-group_orientation_horizontal')\n get orientationHorizontal(): boolean {\n return this.orientation === 'horizontal';\n }\n\n @HostBinding('class.tui-group_orientation_vertical')\n get orientationVertical(): boolean {\n return this.orientation === 'vertical';\n }\n\n @HostBinding('class.tui-group_radius_large')\n get sizeLarge(): boolean {\n return this.size === 'l';\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\nimport {TuiGroupDirective} from './group.directive';\n\n/** @deprecated */\n@Component({\n selector: 'tui-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n host: {\n class: 'tui-group',\n role: 'group',\n },\n})\nexport class TuiGroupComponent extends TuiGroupDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiGroupComponent} from './group.component';\nimport {TuiGroupDirective} from './group.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiGroupComponent, TuiGroupDirective],\n exports: [TuiGroupComponent, TuiGroupDirective],\n})\nexport class TuiGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-group.js","sources":["ng://@taiga-ui/core/components/group/group-styles.component.ts","ng://@taiga-ui/core/components/group/group.directive.ts","ng://@taiga-ui/core/components/group/group.component.ts","ng://@taiga-ui/core/components/group/group.module.ts","ng://@taiga-ui/core/components/group/taiga-ui-core-components-group.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template: '',\n styleUrls: ['../../styles/markup/tui-group.less'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiGroupStylesComponent {}\n","import {Directive, HostBinding, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiDirectiveStylesService} from '@taiga-ui/cdk';\nimport {TuiOrientationT, TuiSizeL} from '@taiga-ui/core/types';\n\nimport {TuiGroupStylesComponent} from './group-styles.component';\n\n@Directive({\n selector: '[tuiGroup]:not(ng-container)',\n host: {\n class: 'tui-group',\n role: 'group',\n },\n})\nexport class TuiGroupDirective {\n @Input()\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @HostBinding('class.tui-group_adaptive')\n @tuiDefaultProp()\n adaptive = false;\n\n @Input()\n @HostBinding('class.tui-group_collapsed')\n @tuiDefaultProp()\n collapsed = false;\n\n @Input()\n @HostBinding('class.tui-group_rounded')\n @tuiDefaultProp()\n rounded = true;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n constructor(\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiGroupStylesComponent);\n }\n\n @HostBinding('class.tui-group_orientation_horizontal')\n get orientationHorizontal(): boolean {\n return this.orientation === 'horizontal';\n }\n\n @HostBinding('class.tui-group_orientation_vertical')\n get orientationVertical(): boolean {\n return this.orientation === 'vertical';\n }\n\n @HostBinding('class.tui-group_radius_large')\n get sizeLarge(): boolean {\n return this.size === 'l';\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\nimport {TuiGroupDirective} from './group.directive';\n\n/** @deprecated */\n@Component({\n selector: 'tui-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n host: {\n class: 'tui-group',\n role: 'group',\n },\n})\nexport class TuiGroupComponent extends TuiGroupDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiGroupComponent} from './group.component';\nimport {TuiGroupDirective} from './group.directive';\nimport {TuiGroupStylesComponent} from './group-styles.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiGroupComponent, TuiGroupDirective, TuiGroupStylesComponent],\n exports: [TuiGroupComponent, TuiGroupDirective, TuiGroupStylesComponent],\n})\nexport class TuiGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;IAOa,uBAAuB,GAApC,MAAa,uBAAuB;EAAG;AAA1B,uBAAuB;IALnC,SAAS,CAAC;QACP,QAAQ,EAAE,EAAE;QAEZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;;KACxC,CAAC;GACW,uBAAuB,CAAG;;ICM1B,iBAAiB,GAA9B,MAAa,iBAAiB;IAwB1B,YACuC,eAA0C;QAtBjF,gBAAW,GAAoB,YAAY,CAAC;QAK5C,aAAQ,GAAG,KAAK,CAAC;QAKjB,cAAS,GAAG,KAAK,CAAC;QAKlB,YAAO,GAAG,IAAI,CAAC;QAIf,SAAI,GAAa,GAAG,CAAC;QAKjB,eAAe,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;KACzD;IAGD,IAAI,qBAAqB;QACrB,OAAO,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC;KAC5C;IAGD,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC;KAC1C;IAGD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC;KAC5B;EACJ;;YAnB2D,yBAAyB,uBAA5E,MAAM,SAAC,yBAAyB;;AAtBrC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDAC2B;AAK5C;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,0BAA0B,CAAC;IACvC,cAAc,EAAE;mDACA;AAKjB;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,2BAA2B,CAAC;IACxC,cAAc,EAAE;oDACC;AAKlB;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,yBAAyB,CAAC;IACtC,cAAc,EAAE;kDACF;AAIf;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;+CACI;AASrB;IADC,WAAW,CAAC,wCAAwC,CAAC;8DAGrD;AAGD;IADC,WAAW,CAAC,sCAAsC,CAAC;4DAGnD;AAGD;IADC,WAAW,CAAC,8BAA8B,CAAC;kDAG3C;AA3CQ,iBAAiB;IAP7B,SAAS,CAAC;QACP,QAAQ,EAAE,8BAA8B;QACxC,IAAI,EAAE;YACF,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,OAAO;SAChB;KACJ,CAAC;IA0BO,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;GAzB7B,iBAAiB,CA4C7B;;ACrDD;IAUa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,iBAAiB;EAAG;AAA9C,iBAAiB;IAT7B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;QACrB,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,QAAQ,EAAE,2BAA2B;QACrC,IAAI,EAAE;YACF,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,OAAO;SAChB;KACJ,CAAC;GACW,iBAAiB,CAA6B;;ICF9C,cAAc,GAA3B,MAAa,cAAc;EAAG;AAAjB,cAAc;IAL1B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,YAAY,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,uBAAuB,CAAC;QAC7E,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,uBAAuB,CAAC;KAC3E,CAAC;GACW,cAAc,CAAG;;ACZ9B;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from 'tslib';
|
|
2
2
|
import { Directive, EventEmitter, ElementRef, Inject, ContentChild, ViewChild, Input, Output, HostBinding, HostListener, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
|
|
3
|
-
import { isNativeKeyboardFocusable, getClosestFocusable, isNativeFocusedIn, isElementEditable, setNativeFocused, tuiDefaultProp,
|
|
3
|
+
import { isNativeKeyboardFocusable, getClosestFocusable, isNativeFocusedIn, isElementEditable, setNativeFocused, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiObscuredModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
|
|
4
4
|
import { TuiDropdownDirective, TuiDropdownModule } from '@taiga-ui/core/directives/dropdown';
|
|
5
5
|
import { TuiDropdownControllerDirective, TUI_DROPDOWN_WATCHED_CONTROLLER, DROPDOWN_CONTROLLER_PROVIDER } from '@taiga-ui/core/directives/dropdown-controller';
|
|
6
6
|
import { isEditingKey } from '@taiga-ui/core/utils/miscellaneous';
|
|
@@ -180,9 +180,6 @@ __decorate([
|
|
|
180
180
|
__decorate([
|
|
181
181
|
Output()
|
|
182
182
|
], TuiHostedDropdownComponent.prototype, "focusedChange", void 0);
|
|
183
|
-
__decorate([
|
|
184
|
-
ViewChild(TuiActiveZoneDirective)
|
|
185
|
-
], TuiHostedDropdownComponent.prototype, "activeZone", void 0);
|
|
186
183
|
__decorate([
|
|
187
184
|
HostBinding('class._hosted_dropdown_focused')
|
|
188
185
|
], TuiHostedDropdownComponent.prototype, "focused", null);
|
|
@@ -202,7 +199,7 @@ __decorate([
|
|
|
202
199
|
TuiHostedDropdownComponent = TuiHostedDropdownComponent_1 = __decorate([
|
|
203
200
|
Component({
|
|
204
201
|
selector: 'tui-hosted-dropdown',
|
|
205
|
-
template: "<div\n class=\"wrapper\"\n [tuiDropdownAlign]=\"controller.align\"\n [tuiDropdownDirection]=\"controller.direction\"\n [tuiDropdownHost]=\"nativeFocusableElement\"\n [tuiDropdownLimitWidth]=\"controller.limitWidth\"\n [tuiDropdownMinHeight]=\"controller.minHeight\"\n [tuiDropdownMaxHeight]=\"controller.maxHeight\"\n [tuiDropdownSided]=\"controller.sided\"\n [tuiDropdownContent]=\"dropdown\"\n [tuiDropdown]=\"open && canOpen\"\n [tuiObscuredEnabled]=\"open\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template #dropdown=\"polymorpheus\" polymorpheus>\n <div\n #wrapper\n polymorpheus-outlet\n [content]=\"content\"\n [context]=\"{ $implicit: activeZone }\"\n (keydown.esc)=\"onKeyDownEsc($event)\"\n (keydown)=\"onKeydown($event)\"\n ></div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n",
|
|
202
|
+
template: "<div\n #activeZone=\"tuiActiveZone\"\n class=\"wrapper\"\n [tuiDropdownAlign]=\"controller.align\"\n [tuiDropdownDirection]=\"controller.direction\"\n [tuiDropdownHost]=\"nativeFocusableElement\"\n [tuiDropdownLimitWidth]=\"controller.limitWidth\"\n [tuiDropdownMinHeight]=\"controller.minHeight\"\n [tuiDropdownMaxHeight]=\"controller.maxHeight\"\n [tuiDropdownSided]=\"controller.sided\"\n [tuiDropdownContent]=\"dropdown\"\n [tuiDropdown]=\"open && canOpen\"\n [tuiObscuredEnabled]=\"open\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template #dropdown=\"polymorpheus\" polymorpheus>\n <div\n #wrapper\n polymorpheus-outlet\n [content]=\"content\"\n [context]=\"{ $implicit: activeZone }\"\n (keydown.esc)=\"onKeyDownEsc($event)\"\n (keydown)=\"onKeydown($event)\"\n ></div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n",
|
|
206
203
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
207
204
|
providers: [
|
|
208
205
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-hosted-dropdown.js","sources":["ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown-connector.directive.ts","ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown.component.ts","ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown.module.ts","ng://@taiga-ui/core/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiHostedDropdownHost]',\n})\nexport class TuiHostedDropdownConnectorDirective {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n getClosestFocusable,\n isElementEditable,\n isNativeFocusedIn,\n isNativeKeyboardFocusable,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {\n DROPDOWN_CONTROLLER_PROVIDER,\n TUI_DROPDOWN_WATCHED_CONTROLLER,\n TuiDropdownControllerDirective,\n} from '@taiga-ui/core/directives/dropdown-controller';\nimport {isEditingKey} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@Component({\n selector: 'tui-hosted-dropdown',\n templateUrl: './hosted-dropdown.template.html',\n styleUrls: ['./hosted-dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiHostedDropdownComponent),\n },\n DROPDOWN_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiHostedDropdownComponent implements TuiFocusableElementAccessor {\n @ContentChild(TuiHostedDropdownConnectorDirective, {read: ElementRef})\n private readonly dropdownHost?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper', {read: ElementRef})\n private readonly wrapper?: ElementRef<HTMLDivElement>;\n\n @ViewChild(TuiDropdownDirective)\n private readonly dropdownDirective?: TuiDropdownDirective;\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n canOpen = true;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @ViewChild(TuiActiveZoneDirective)\n readonly activeZone?: TuiActiveZoneDirective;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef,\n @Inject(TUI_DROPDOWN_WATCHED_CONTROLLER)\n readonly controller: TuiDropdownControllerDirective,\n ) {}\n\n get host(): HTMLElement {\n return this.dropdownHost\n ? this.dropdownHost.nativeElement\n : this.elementRef.nativeElement;\n }\n\n get dropdown(): HTMLElement | null {\n return !this.dropdownDirective || this.dropdownDirective.dropdownBoxRef === null\n ? null\n : this.dropdownDirective.dropdownBoxRef.location.nativeElement;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return isNativeKeyboardFocusable(this.host)\n ? this.host\n : getClosestFocusable(this.host, false, this.elementRef.nativeElement);\n }\n\n @HostBinding('class._hosted_dropdown_focused')\n get focused(): boolean {\n return (\n isNativeFocusedIn(this.host) ||\n (this.open && !!this.wrapper && isNativeFocusedIn(this.wrapper.nativeElement))\n );\n }\n\n @HostListener('focusin', ['$event.target'])\n onFocusIn(target: HTMLElement) {\n const host = this.dropdownHost\n ? this.dropdownHost.nativeElement\n : this.nativeFocusableElement || this.elementRef.nativeElement;\n\n if (!host.contains(target)) {\n this.updateOpen(false);\n }\n }\n\n @HostListener('click', ['$event.target'])\n onClick(target: HTMLElement) {\n const host = this.nativeFocusableElement || this.host;\n const dropdownHost = this.dropdownHost ? this.dropdownHost.nativeElement : host;\n\n if (!this.hostEditable && dropdownHost.contains(target)) {\n this.updateOpen(!this.open);\n }\n }\n\n @HostListener('keydown.esc', ['$event'])\n onKeyDownEsc(event: KeyboardEvent) {\n if (!this.canOpen || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.closeDropdown();\n }\n\n @HostListener('keydown.arrowDown', ['$event', 'true'])\n @HostListener('keydown.arrowUp', ['$event', 'false'])\n onArrow(event: KeyboardEvent, down: boolean) {\n this.focusDropdown(event, down);\n }\n\n onKeydown({key, target, defaultPrevented}: KeyboardEvent) {\n if (\n !defaultPrevented &&\n isEditingKey(key) &&\n this.hostEditable &&\n // TODO: iframe warning\n target instanceof HTMLElement &&\n !isElementEditable(target)\n ) {\n this.focusHost();\n }\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n\n if (!active) {\n this.updateOpen(false);\n }\n }\n\n onHostObscured(obscured: boolean) {\n if (obscured) {\n this.closeDropdown();\n }\n }\n\n updateOpen(open: boolean) {\n if (open && !this.canOpen) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n\n private get hostEditable(): boolean {\n const host = this.nativeFocusableElement || this.host;\n\n // TODO: iframe warning\n return host instanceof HTMLElement && isElementEditable(host);\n }\n\n private focusDropdown(event: KeyboardEvent, first: boolean) {\n const host = this.nativeFocusableElement;\n\n // TODO: iframe warning\n if (\n !host ||\n !(host instanceof HTMLElement) ||\n !(event.target instanceof Node) ||\n !host.contains(event.target)\n ) {\n return;\n }\n\n if (\n !this.wrapper ||\n !this.open ||\n this.dropdown === null ||\n // TODO: iframe warning\n !(this.wrapper.nativeElement.nextElementSibling instanceof HTMLElement)\n ) {\n this.updateOpen(true);\n\n if (!isElementEditable(host)) {\n event.preventDefault();\n }\n\n return;\n }\n\n const initial = first\n ? this.wrapper.nativeElement\n : this.wrapper.nativeElement.nextElementSibling;\n const focusable = getClosestFocusable(\n initial,\n !first,\n this.wrapper.nativeElement,\n );\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n event.preventDefault();\n }\n\n private closeDropdown() {\n if (this.focused) {\n this.focusHost();\n }\n\n this.updateOpen(false);\n }\n\n private focusHost() {\n const host = this.nativeFocusableElement;\n\n if (host !== null) {\n setNativeFocused(host, true, true);\n }\n }\n\n private updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiObscuredModule} from '@taiga-ui/cdk';\nimport {TuiDropdownModule} from '@taiga-ui/core/directives/dropdown';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHostedDropdownComponent} from './hosted-dropdown.component';\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiObscuredModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiDropdownModule,\n ],\n declarations: [TuiHostedDropdownComponent, TuiHostedDropdownConnectorDirective],\n exports: [TuiHostedDropdownComponent, TuiHostedDropdownConnectorDirective],\n})\nexport class TuiHostedDropdownModule {}\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-hosted-dropdown.js","sources":["ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown-connector.directive.ts","ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown.component.ts","ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown.module.ts","ng://@taiga-ui/core/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiHostedDropdownHost]',\n})\nexport class TuiHostedDropdownConnectorDirective {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n getClosestFocusable,\n isElementEditable,\n isNativeFocusedIn,\n isNativeKeyboardFocusable,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {\n DROPDOWN_CONTROLLER_PROVIDER,\n TUI_DROPDOWN_WATCHED_CONTROLLER,\n TuiDropdownControllerDirective,\n} from '@taiga-ui/core/directives/dropdown-controller';\nimport {isEditingKey} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@Component({\n selector: 'tui-hosted-dropdown',\n templateUrl: './hosted-dropdown.template.html',\n styleUrls: ['./hosted-dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiHostedDropdownComponent),\n },\n DROPDOWN_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiHostedDropdownComponent implements TuiFocusableElementAccessor {\n @ContentChild(TuiHostedDropdownConnectorDirective, {read: ElementRef})\n private readonly dropdownHost?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper', {read: ElementRef})\n private readonly wrapper?: ElementRef<HTMLDivElement>;\n\n @ViewChild(TuiDropdownDirective)\n private readonly dropdownDirective?: TuiDropdownDirective;\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n @Input()\n @tuiDefaultProp()\n canOpen = true;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef,\n @Inject(TUI_DROPDOWN_WATCHED_CONTROLLER)\n readonly controller: TuiDropdownControllerDirective,\n ) {}\n\n get host(): HTMLElement {\n return this.dropdownHost\n ? this.dropdownHost.nativeElement\n : this.elementRef.nativeElement;\n }\n\n get dropdown(): HTMLElement | null {\n return !this.dropdownDirective || this.dropdownDirective.dropdownBoxRef === null\n ? null\n : this.dropdownDirective.dropdownBoxRef.location.nativeElement;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return isNativeKeyboardFocusable(this.host)\n ? this.host\n : getClosestFocusable(this.host, false, this.elementRef.nativeElement);\n }\n\n @HostBinding('class._hosted_dropdown_focused')\n get focused(): boolean {\n return (\n isNativeFocusedIn(this.host) ||\n (this.open && !!this.wrapper && isNativeFocusedIn(this.wrapper.nativeElement))\n );\n }\n\n @HostListener('focusin', ['$event.target'])\n onFocusIn(target: HTMLElement) {\n const host = this.dropdownHost\n ? this.dropdownHost.nativeElement\n : this.nativeFocusableElement || this.elementRef.nativeElement;\n\n if (!host.contains(target)) {\n this.updateOpen(false);\n }\n }\n\n @HostListener('click', ['$event.target'])\n onClick(target: HTMLElement) {\n const host = this.nativeFocusableElement || this.host;\n const dropdownHost = this.dropdownHost ? this.dropdownHost.nativeElement : host;\n\n if (!this.hostEditable && dropdownHost.contains(target)) {\n this.updateOpen(!this.open);\n }\n }\n\n @HostListener('keydown.esc', ['$event'])\n onKeyDownEsc(event: KeyboardEvent) {\n if (!this.canOpen || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.closeDropdown();\n }\n\n @HostListener('keydown.arrowDown', ['$event', 'true'])\n @HostListener('keydown.arrowUp', ['$event', 'false'])\n onArrow(event: KeyboardEvent, down: boolean) {\n this.focusDropdown(event, down);\n }\n\n onKeydown({key, target, defaultPrevented}: KeyboardEvent) {\n if (\n !defaultPrevented &&\n isEditingKey(key) &&\n this.hostEditable &&\n // TODO: iframe warning\n target instanceof HTMLElement &&\n !isElementEditable(target)\n ) {\n this.focusHost();\n }\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n\n if (!active) {\n this.updateOpen(false);\n }\n }\n\n onHostObscured(obscured: boolean) {\n if (obscured) {\n this.closeDropdown();\n }\n }\n\n updateOpen(open: boolean) {\n if (open && !this.canOpen) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n\n private get hostEditable(): boolean {\n const host = this.nativeFocusableElement || this.host;\n\n // TODO: iframe warning\n return host instanceof HTMLElement && isElementEditable(host);\n }\n\n private focusDropdown(event: KeyboardEvent, first: boolean) {\n const host = this.nativeFocusableElement;\n\n // TODO: iframe warning\n if (\n !host ||\n !(host instanceof HTMLElement) ||\n !(event.target instanceof Node) ||\n !host.contains(event.target)\n ) {\n return;\n }\n\n if (\n !this.wrapper ||\n !this.open ||\n this.dropdown === null ||\n // TODO: iframe warning\n !(this.wrapper.nativeElement.nextElementSibling instanceof HTMLElement)\n ) {\n this.updateOpen(true);\n\n if (!isElementEditable(host)) {\n event.preventDefault();\n }\n\n return;\n }\n\n const initial = first\n ? this.wrapper.nativeElement\n : this.wrapper.nativeElement.nextElementSibling;\n const focusable = getClosestFocusable(\n initial,\n !first,\n this.wrapper.nativeElement,\n );\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n event.preventDefault();\n }\n\n private closeDropdown() {\n if (this.focused) {\n this.focusHost();\n }\n\n this.updateOpen(false);\n }\n\n private focusHost() {\n const host = this.nativeFocusableElement;\n\n if (host !== null) {\n setNativeFocused(host, true, true);\n }\n }\n\n private updateFocused(focused: boolean) {\n this.focusedChange.emit(focused);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiObscuredModule} from '@taiga-ui/cdk';\nimport {TuiDropdownModule} from '@taiga-ui/core/directives/dropdown';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHostedDropdownComponent} from './hosted-dropdown.component';\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiObscuredModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiDropdownModule,\n ],\n declarations: [TuiHostedDropdownComponent, TuiHostedDropdownConnectorDirective],\n exports: [TuiHostedDropdownComponent, TuiHostedDropdownConnectorDirective],\n})\nexport class TuiHostedDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|