@taiga-ui/core 4.52.0-canary.56739a2 → 4.52.0-canary.58fe47a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/classes/accessors.d.ts +1 -1
- package/classes/driver.d.ts +1 -1
- package/components/button/button.directive.d.ts +2 -3
- package/components/button/button.options.d.ts +1 -1
- package/components/calendar/calendar-sheet.component.d.ts +1 -6
- package/components/calendar/calendar-sheet.options.d.ts +1 -3
- package/components/cell/cell.directive.d.ts +9 -0
- package/components/cell/cell.options.d.ts +6 -0
- package/components/cell/index.d.ts +2 -0
- package/components/data-list/data-list.component.d.ts +8 -12
- package/components/data-list/data-list.d.ts +2 -4
- package/components/data-list/data-list.tokens.d.ts +1 -5
- package/components/data-list/index.d.ts +0 -2
- package/components/data-list/opt-group.directive.d.ts +2 -2
- package/components/data-list/option/option-content.d.ts +6 -8
- package/components/data-list/option/option.directive.d.ts +7 -8
- package/components/dialog/dialog.component.d.ts +6 -12
- package/components/dialog/dialog.directive.d.ts +5 -4
- package/components/dialog/dialog.factory.d.ts +1 -1
- package/components/dialog/dialog.options.d.ts +25 -0
- package/components/dialog/{dialog-close.service.d.ts → dialog.providers.d.ts} +2 -0
- package/components/dialog/dialog.service.d.ts +6 -3
- package/components/dialog/index.d.ts +2 -4
- package/components/error/error.component.d.ts +6 -8
- package/components/error/error.d.ts +4 -0
- package/components/error/error.directive.d.ts +19 -0
- package/components/error/error.pipe.d.ts +10 -0
- package/components/error/index.d.ts +3 -0
- package/components/expand/expand.component.d.ts +9 -28
- package/components/expand/index.d.ts +0 -2
- package/components/icon/icon.component.d.ts +6 -11
- package/components/index.d.ts +2 -2
- package/components/link/link.directive.d.ts +2 -2
- package/components/link/link.options.d.ts +1 -3
- package/components/loader/loader.component.d.ts +7 -7
- package/components/loader/loader.options.d.ts +1 -3
- package/components/modal/index.d.ts +2 -0
- package/components/modal/modal.component.d.ts +17 -0
- package/components/modal/modal.service.d.ts +13 -0
- package/components/notification/index.d.ts +3 -0
- package/components/notification/notification.component.d.ts +14 -0
- package/components/notification/notification.d.ts +3 -0
- package/components/notification/notification.directive.d.ts +7 -12
- package/components/notification/notification.options.d.ts +10 -7
- package/components/notification/notification.service.d.ts +17 -0
- package/components/root/root.component.d.ts +4 -6
- package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
- package/components/scrollbar/scrollbar.component.d.ts +2 -2
- package/components/scrollbar/scrollbar.directive.d.ts +2 -2
- package/components/scrollbar/scrollbar.options.d.ts +1 -1
- package/components/spin-button/spin-button.component.d.ts +8 -9
- package/components/textfield/index.d.ts +1 -3
- package/components/textfield/textfield-content.directive.d.ts +3 -2
- package/components/textfield/textfield-icon.d.ts +3 -3
- package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
- package/components/textfield/textfield-multi/textfield-multi.component.d.ts +9 -14
- package/components/textfield/textfield.component.d.ts +17 -29
- package/components/textfield/textfield.d.ts +2 -3
- package/components/textfield/textfield.directive.d.ts +13 -20
- package/components/textfield/textfield.options.d.ts +8 -11
- package/directives/alert/alert.directive.d.ts +11 -0
- package/directives/alert/alert.service.d.ts +12 -0
- package/directives/alert/index.d.ts +2 -0
- package/directives/appearance/appearance.directive.d.ts +5 -13
- package/directives/appearance/appearance.options.d.ts +1 -1
- package/directives/date-format/date-format.directive.d.ts +3 -7
- package/directives/dropdown/dropdown-content.directive.d.ts +9 -0
- package/directives/dropdown/dropdown-hover.options.d.ts +1 -3
- package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
- package/directives/dropdown/dropdown.d.ts +2 -2
- package/directives/dropdown/dropdown.directive.d.ts +1 -2
- package/directives/dropdown/index.d.ts +1 -3
- package/directives/group/group.options.d.ts +1 -3
- package/directives/hint/hint-describe.directive.d.ts +4 -6
- package/directives/hint/hint-host.directive.d.ts +2 -2
- package/directives/hint/hint-hover.directive.d.ts +3 -4
- package/directives/hint/hint-manual.directive.d.ts +2 -2
- package/directives/hint/hint-options.directive.d.ts +3 -3
- package/directives/hint/hint-overflow.directive.d.ts +2 -2
- package/directives/hint/hint-position.directive.d.ts +4 -5
- package/directives/hint/hint-unstyled.component.d.ts +2 -7
- package/directives/hint/hint.component.d.ts +10 -11
- package/directives/hint/hint.directive.d.ts +9 -11
- package/directives/hint/index.d.ts +0 -2
- package/directives/icons/icons.bindings.d.ts +5 -0
- package/directives/icons/icons.directive.d.ts +8 -16
- package/directives/icons/index.d.ts +1 -0
- package/directives/index.d.ts +1 -1
- package/directives/number-format/number-format.directive.d.ts +3 -7
- package/directives/popup/popup.directive.d.ts +6 -5
- package/directives/popup/popup.service.d.ts +1 -1
- package/directives/popup/popups.component.d.ts +2 -2
- package/directives/title/title.directive.d.ts +2 -3
- package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-classes.mjs +5 -5
- package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-button.mjs +13 -21
- package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-calendar.mjs +26 -36
- package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
- package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-components-data-list.mjs +57 -219
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-dialog.mjs +75 -113
- package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-error.mjs +110 -26
- package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-expand.mjs +34 -132
- package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-icon.mjs +22 -40
- package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-label.mjs +10 -13
- package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-link.mjs +16 -25
- package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-loader.mjs +17 -36
- package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-modal.mjs +89 -0
- package/fesm2022/taiga-ui-core-components-modal.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-components-notification.mjs +107 -64
- package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +21 -54
- package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs +58 -67
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-spin-button.mjs +16 -29
- package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +192 -405
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components.mjs +2 -2
- package/fesm2022/taiga-ui-core-directives-alert.mjs +73 -0
- package/fesm2022/taiga-ui-core-directives-alert.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-directives-appearance.mjs +32 -69
- package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-date-format.mjs +26 -20
- package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs +110 -172
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-group.mjs +13 -20
- package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-hint.mjs +150 -251
- package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-icons.mjs +35 -45
- package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +13 -16
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-number-format.mjs +32 -20
- package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-popup.mjs +20 -27
- package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-title.mjs +13 -19
- package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives.mjs +1 -1
- package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +3 -4
- package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +3 -4
- package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-flag.mjs +3 -4
- package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-format-date.mjs +3 -4
- package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-format-number.mjs +21 -15
- package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-initials.mjs +3 -4
- package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-month.mjs +5 -5
- package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +3 -4
- package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes.mjs +0 -1
- package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-services.mjs +18 -18
- package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-tokens.mjs +45 -48
- package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-utils-format.mjs +1 -0
- package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +50 -4
- package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
- package/package.json +68 -169
- package/pipes/format-number/format-number.pipe.d.ts +6 -4
- package/pipes/index.d.ts +0 -1
- package/styles/components/appearance.less +6 -0
- package/styles/components/button.less +0 -2
- package/styles/components/icon.less +32 -22
- package/styles/components/icons.less +16 -12
- package/styles/components/link.less +2 -3
- package/styles/mixins/appearance.less +1 -1
- package/styles/mixins/mixins.less +1 -7
- package/styles/mixins/mixins.scss +1 -7
- package/styles/mixins/slider.less +21 -16
- package/styles/mixins/slider.scss +1 -2
- package/styles/theme/appearance/outline.less +1 -2
- package/styles/theme/appearance/textfield.less +1 -2
- package/styles/theme/variables.less +2 -4
- package/tokens/common-icons.d.ts +1 -3
- package/tokens/date-format.d.ts +2 -3
- package/tokens/i18n.d.ts +7 -7
- package/tokens/icon-resolver.d.ts +1 -5
- package/tokens/index.d.ts +1 -0
- package/tokens/number-format.d.ts +2 -3
- package/tokens/validation-errors.d.ts +4 -0
- package/types/index.d.ts +0 -2
- package/utils/miscellaneous/index.d.ts +1 -0
- package/utils/miscellaneous/provide-taiga.d.ts +13 -0
- package/components/alert/alert.component.d.ts +0 -15
- package/components/alert/alert.directive.d.ts +0 -7
- package/components/alert/alert.interfaces.d.ts +0 -12
- package/components/alert/alert.service.d.ts +0 -7
- package/components/alert/alert.tokens.d.ts +0 -12
- package/components/alert/alerts.component.d.ts +0 -12
- package/components/alert/index.d.ts +0 -6
- package/components/data-list/data-list.directive.d.ts +0 -7
- package/components/data-list/option/option-legacy.component.d.ts +0 -24
- package/components/dialog/dialog.interfaces.d.ts +0 -34
- package/components/dialog/dialog.tokens.d.ts +0 -15
- package/components/dialog/dialogs.component.d.ts +0 -8
- package/components/expand/expand-content.directive.d.ts +0 -8
- package/components/expand/expand.d.ts +0 -6
- package/components/fullscreen/fullscreen.component.d.ts +0 -14
- package/components/fullscreen/index.d.ts +0 -1
- package/components/textfield/select.directive.d.ts +0 -19
- package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
- package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
- package/directives/dropdown/dropdown.service.d.ts +0 -6
- package/directives/dropdown/dropdowns.component.d.ts +0 -9
- package/directives/hint/hint.service.d.ts +0 -13
- package/directives/hint/hints.component.d.ts +0 -12
- package/directives/surface/index.d.ts +0 -1
- package/directives/surface/surface.directive.d.ts +0 -8
- package/esm2022/animations/animations.mjs +0 -363
- package/esm2022/animations/index.mjs +0 -2
- package/esm2022/animations/taiga-ui-core-animations.mjs +0 -5
- package/esm2022/classes/accessors.mjs +0 -31
- package/esm2022/classes/driver.mjs +0 -36
- package/esm2022/classes/index.mjs +0 -4
- package/esm2022/classes/taiga-ui-core-classes.mjs +0 -5
- package/esm2022/classes/vehicle.mjs +0 -7
- package/esm2022/components/alert/alert.component.mjs +0 -43
- package/esm2022/components/alert/alert.directive.mjs +0 -21
- package/esm2022/components/alert/alert.interfaces.mjs +0 -2
- package/esm2022/components/alert/alert.service.mjs +0 -18
- package/esm2022/components/alert/alert.tokens.mjs +0 -51
- package/esm2022/components/alert/alerts.component.mjs +0 -33
- package/esm2022/components/alert/index.mjs +0 -6
- package/esm2022/components/alert/taiga-ui-core-components-alert.mjs +0 -5
- package/esm2022/components/button/button.directive.mjs +0 -43
- package/esm2022/components/button/button.options.mjs +0 -7
- package/esm2022/components/button/index.mjs +0 -3
- package/esm2022/components/button/taiga-ui-core-components-button.mjs +0 -5
- package/esm2022/components/calendar/calendar-sheet.component.mjs +0 -168
- package/esm2022/components/calendar/calendar-sheet.options.mjs +0 -12
- package/esm2022/components/calendar/calendar-spin.component.mjs +0 -53
- package/esm2022/components/calendar/calendar-year.component.mjs +0 -128
- package/esm2022/components/calendar/calendar.component.mjs +0 -147
- package/esm2022/components/calendar/index.mjs +0 -6
- package/esm2022/components/calendar/taiga-ui-core-components-calendar.mjs +0 -5
- package/esm2022/components/data-list/data-list.component.mjs +0 -139
- package/esm2022/components/data-list/data-list.directive.mjs +0 -19
- package/esm2022/components/data-list/data-list.mjs +0 -14
- package/esm2022/components/data-list/data-list.tokens.mjs +0 -18
- package/esm2022/components/data-list/index.mjs +0 -9
- package/esm2022/components/data-list/opt-group.directive.mjs +0 -21
- package/esm2022/components/data-list/option/option-content.mjs +0 -36
- package/esm2022/components/data-list/option/option-legacy.component.mjs +0 -90
- package/esm2022/components/data-list/option/option.directive.mjs +0 -109
- package/esm2022/components/data-list/taiga-ui-core-components-data-list.mjs +0 -5
- package/esm2022/components/dialog/dialog-close.service.mjs +0 -41
- package/esm2022/components/dialog/dialog.component.mjs +0 -63
- package/esm2022/components/dialog/dialog.directive.mjs +0 -21
- package/esm2022/components/dialog/dialog.factory.mjs +0 -15
- package/esm2022/components/dialog/dialog.interfaces.mjs +0 -2
- package/esm2022/components/dialog/dialog.service.mjs +0 -18
- package/esm2022/components/dialog/dialog.tokens.mjs +0 -33
- package/esm2022/components/dialog/dialogs.component.mjs +0 -29
- package/esm2022/components/dialog/index.mjs +0 -8
- package/esm2022/components/dialog/taiga-ui-core-components-dialog.mjs +0 -5
- package/esm2022/components/error/error.component.mjs +0 -34
- package/esm2022/components/error/index.mjs +0 -2
- package/esm2022/components/error/taiga-ui-core-components-error.mjs +0 -5
- package/esm2022/components/expand/expand-content.directive.mjs +0 -18
- package/esm2022/components/expand/expand.component.mjs +0 -124
- package/esm2022/components/expand/expand.mjs +0 -7
- package/esm2022/components/expand/index.mjs +0 -4
- package/esm2022/components/expand/taiga-ui-core-components-expand.mjs +0 -5
- package/esm2022/components/fullscreen/fullscreen.component.mjs +0 -60
- package/esm2022/components/fullscreen/index.mjs +0 -2
- package/esm2022/components/fullscreen/taiga-ui-core-components-fullscreen.mjs +0 -5
- package/esm2022/components/icon/icon.component.mjs +0 -44
- package/esm2022/components/icon/icon.pipe.mjs +0 -19
- package/esm2022/components/icon/index.mjs +0 -3
- package/esm2022/components/icon/taiga-ui-core-components-icon.mjs +0 -5
- package/esm2022/components/index.mjs +0 -18
- package/esm2022/components/label/index.mjs +0 -2
- package/esm2022/components/label/label.directive.mjs +0 -41
- package/esm2022/components/label/taiga-ui-core-components-label.mjs +0 -5
- package/esm2022/components/link/index.mjs +0 -3
- package/esm2022/components/link/link.directive.mjs +0 -47
- package/esm2022/components/link/link.options.mjs +0 -13
- package/esm2022/components/link/taiga-ui-core-components-link.mjs +0 -5
- package/esm2022/components/loader/index.mjs +0 -3
- package/esm2022/components/loader/loader.component.mjs +0 -46
- package/esm2022/components/loader/loader.options.mjs +0 -18
- package/esm2022/components/loader/taiga-ui-core-components-loader.mjs +0 -5
- package/esm2022/components/notification/index.mjs +0 -3
- package/esm2022/components/notification/notification.directive.mjs +0 -81
- package/esm2022/components/notification/notification.options.mjs +0 -23
- package/esm2022/components/notification/taiga-ui-core-components-notification.mjs +0 -5
- package/esm2022/components/root/index.mjs +0 -2
- package/esm2022/components/root/root.component.mjs +0 -85
- package/esm2022/components/root/taiga-ui-core-components-root.mjs +0 -5
- package/esm2022/components/scrollbar/index.mjs +0 -9
- package/esm2022/components/scrollbar/scroll-controls.component.mjs +0 -32
- package/esm2022/components/scrollbar/scroll-into-view.directive.mjs +0 -43
- package/esm2022/components/scrollbar/scroll-ref.directive.mjs +0 -19
- package/esm2022/components/scrollbar/scrollable.directive.mjs +0 -26
- package/esm2022/components/scrollbar/scrollbar.component.mjs +0 -72
- package/esm2022/components/scrollbar/scrollbar.directive.mjs +0 -93
- package/esm2022/components/scrollbar/scrollbar.options.mjs +0 -6
- package/esm2022/components/scrollbar/scrollbar.service.mjs +0 -46
- package/esm2022/components/scrollbar/taiga-ui-core-components-scrollbar.mjs +0 -5
- package/esm2022/components/spin-button/index.mjs +0 -2
- package/esm2022/components/spin-button/spin-button.component.mjs +0 -51
- package/esm2022/components/spin-button/taiga-ui-core-components-spin-button.mjs +0 -5
- package/esm2022/components/taiga-ui-core-components.mjs +0 -5
- package/esm2022/components/textfield/index.mjs +0 -16
- package/esm2022/components/textfield/select-like.directive.mjs +0 -42
- package/esm2022/components/textfield/select.directive.mjs +0 -64
- package/esm2022/components/textfield/taiga-ui-core-components-textfield.mjs +0 -5
- package/esm2022/components/textfield/textfield-accessor.mjs +0 -7
- package/esm2022/components/textfield/textfield-auxiliary.mjs +0 -7
- package/esm2022/components/textfield/textfield-content.directive.mjs +0 -22
- package/esm2022/components/textfield/textfield-dropdown.directive.mjs +0 -43
- package/esm2022/components/textfield/textfield-icon.mjs +0 -10
- package/esm2022/components/textfield/textfield-multi/textfield-item.component.mjs +0 -34
- package/esm2022/components/textfield/textfield-multi/textfield-multi.component.mjs +0 -137
- package/esm2022/components/textfield/textfield.component.mjs +0 -180
- package/esm2022/components/textfield/textfield.directive.mjs +0 -134
- package/esm2022/components/textfield/textfield.mjs +0 -19
- package/esm2022/components/textfield/textfield.options.mjs +0 -63
- package/esm2022/components/textfield/with-native-picker.directive.mjs +0 -24
- package/esm2022/directives/appearance/appearance.bindings.mjs +0 -15
- package/esm2022/directives/appearance/appearance.directive.mjs +0 -79
- package/esm2022/directives/appearance/appearance.options.mjs +0 -12
- package/esm2022/directives/appearance/index.mjs +0 -5
- package/esm2022/directives/appearance/taiga-ui-core-directives-appearance.mjs +0 -5
- package/esm2022/directives/appearance/with-appearance.mjs +0 -27
- package/esm2022/directives/date-format/date-format.directive.mjs +0 -31
- package/esm2022/directives/date-format/index.mjs +0 -2
- package/esm2022/directives/date-format/taiga-ui-core-directives-date-format.mjs +0 -5
- package/esm2022/directives/dropdown/dropdown-context.directive.mjs +0 -76
- package/esm2022/directives/dropdown/dropdown-hover.directive.mjs +0 -70
- package/esm2022/directives/dropdown/dropdown-hover.options.mjs +0 -17
- package/esm2022/directives/dropdown/dropdown-limit-width.mjs +0 -37
- package/esm2022/directives/dropdown/dropdown-manual.directive.mjs +0 -27
- package/esm2022/directives/dropdown/dropdown-open-legacy.directive.mjs +0 -33
- package/esm2022/directives/dropdown/dropdown-open.directive.mjs +0 -169
- package/esm2022/directives/dropdown/dropdown-options.directive.mjs +0 -73
- package/esm2022/directives/dropdown/dropdown-portal.directive.mjs +0 -34
- package/esm2022/directives/dropdown/dropdown-position-sided.directive.mjs +0 -69
- package/esm2022/directives/dropdown/dropdown-position.directive.mjs +0 -88
- package/esm2022/directives/dropdown/dropdown-selection.directive.mjs +0 -159
- package/esm2022/directives/dropdown/dropdown.bindings.mjs +0 -19
- package/esm2022/directives/dropdown/dropdown.component.mjs +0 -92
- package/esm2022/directives/dropdown/dropdown.directive.mjs +0 -110
- package/esm2022/directives/dropdown/dropdown.driver.mjs +0 -32
- package/esm2022/directives/dropdown/dropdown.mjs +0 -29
- package/esm2022/directives/dropdown/dropdown.providers.mjs +0 -10
- package/esm2022/directives/dropdown/dropdown.service.mjs +0 -15
- package/esm2022/directives/dropdown/dropdowns.component.mjs +0 -24
- package/esm2022/directives/dropdown/index.mjs +0 -22
- package/esm2022/directives/dropdown/taiga-ui-core-directives-dropdown.mjs +0 -5
- package/esm2022/directives/dropdown/with-dropdown-open.directive.mjs +0 -23
- package/esm2022/directives/group/group.directive.mjs +0 -53
- package/esm2022/directives/group/group.options.mjs +0 -15
- package/esm2022/directives/group/index.mjs +0 -3
- package/esm2022/directives/group/taiga-ui-core-directives-group.mjs +0 -5
- package/esm2022/directives/hint/hint-describe.directive.mjs +0 -50
- package/esm2022/directives/hint/hint-driver.directive.mjs +0 -19
- package/esm2022/directives/hint/hint-host.directive.mjs +0 -27
- package/esm2022/directives/hint/hint-hover.directive.mjs +0 -59
- package/esm2022/directives/hint/hint-manual.directive.mjs +0 -33
- package/esm2022/directives/hint/hint-options.directive.mjs +0 -86
- package/esm2022/directives/hint/hint-overflow.directive.mjs +0 -38
- package/esm2022/directives/hint/hint-pointer.directive.mjs +0 -33
- package/esm2022/directives/hint/hint-position.directive.mjs +0 -112
- package/esm2022/directives/hint/hint-unstyled.component.mjs +0 -39
- package/esm2022/directives/hint/hint.component.mjs +0 -127
- package/esm2022/directives/hint/hint.directive.mjs +0 -99
- package/esm2022/directives/hint/hint.mjs +0 -27
- package/esm2022/directives/hint/hint.providers.mjs +0 -9
- package/esm2022/directives/hint/hint.service.mjs +0 -29
- package/esm2022/directives/hint/hints.component.mjs +0 -34
- package/esm2022/directives/hint/index.mjs +0 -17
- package/esm2022/directives/hint/taiga-ui-core-directives-hint.mjs +0 -5
- package/esm2022/directives/icons/icons.directive.mjs +0 -66
- package/esm2022/directives/icons/index.mjs +0 -3
- package/esm2022/directives/icons/taiga-ui-core-directives-icons.mjs +0 -5
- package/esm2022/directives/icons/with-icons.mjs +0 -22
- package/esm2022/directives/index.mjs +0 -12
- package/esm2022/directives/items-handlers/index.mjs +0 -4
- package/esm2022/directives/items-handlers/items-handlers.directive.mjs +0 -63
- package/esm2022/directives/items-handlers/items-handlers.tokens.mjs +0 -27
- package/esm2022/directives/items-handlers/items-handlers.validator.mjs +0 -32
- package/esm2022/directives/items-handlers/taiga-ui-core-directives-items-handlers.mjs +0 -5
- package/esm2022/directives/number-format/index.mjs +0 -2
- package/esm2022/directives/number-format/number-format.directive.mjs +0 -31
- package/esm2022/directives/number-format/taiga-ui-core-directives-number-format.mjs +0 -5
- package/esm2022/directives/popup/index.mjs +0 -4
- package/esm2022/directives/popup/popup.directive.mjs +0 -31
- package/esm2022/directives/popup/popup.service.mjs +0 -15
- package/esm2022/directives/popup/popups.component.mjs +0 -20
- package/esm2022/directives/popup/taiga-ui-core-directives-popup.mjs +0 -5
- package/esm2022/directives/surface/index.mjs +0 -2
- package/esm2022/directives/surface/surface.directive.mjs +0 -44
- package/esm2022/directives/surface/taiga-ui-core-directives-surface.mjs +0 -5
- package/esm2022/directives/taiga-ui-core-directives.mjs +0 -5
- package/esm2022/directives/title/index.mjs +0 -2
- package/esm2022/directives/title/taiga-ui-core-directives-title.mjs +0 -5
- package/esm2022/directives/title/title.directive.mjs +0 -37
- package/esm2022/index.mjs +0 -9
- package/esm2022/pipes/auto-color/auto-color.pipe.mjs +0 -19
- package/esm2022/pipes/auto-color/index.mjs +0 -2
- package/esm2022/pipes/auto-color/taiga-ui-core-pipes-auto-color.mjs +0 -5
- package/esm2022/pipes/calendar-sheet/calendar-sheet.pipe.mjs +0 -54
- package/esm2022/pipes/calendar-sheet/index.mjs +0 -2
- package/esm2022/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.mjs +0 -5
- package/esm2022/pipes/calendar-sheet/utils.mjs +0 -36
- package/esm2022/pipes/fallback-src/fallback-src.pipe.mjs +0 -23
- package/esm2022/pipes/fallback-src/index.mjs +0 -2
- package/esm2022/pipes/fallback-src/taiga-ui-core-pipes-fallback-src.mjs +0 -5
- package/esm2022/pipes/flag/flag.pipe.mjs +0 -26
- package/esm2022/pipes/flag/index.mjs +0 -2
- package/esm2022/pipes/flag/taiga-ui-core-pipes-flag.mjs +0 -5
- package/esm2022/pipes/format-date/format-date.pipe.mjs +0 -22
- package/esm2022/pipes/format-date/index.mjs +0 -2
- package/esm2022/pipes/format-date/taiga-ui-core-pipes-format-date.mjs +0 -5
- package/esm2022/pipes/format-number/format-number.pipe.mjs +0 -36
- package/esm2022/pipes/format-number/index.mjs +0 -2
- package/esm2022/pipes/format-number/taiga-ui-core-pipes-format-number.mjs +0 -5
- package/esm2022/pipes/index.mjs +0 -10
- package/esm2022/pipes/initials/index.mjs +0 -2
- package/esm2022/pipes/initials/initials.pipe.mjs +0 -23
- package/esm2022/pipes/initials/taiga-ui-core-pipes-initials.mjs +0 -5
- package/esm2022/pipes/month/index.mjs +0 -2
- package/esm2022/pipes/month/month.pipe.mjs +0 -23
- package/esm2022/pipes/month/taiga-ui-core-pipes-month.mjs +0 -5
- package/esm2022/pipes/order-week-days/index.mjs +0 -2
- package/esm2022/pipes/order-week-days/order-week-days.pipe.mjs +0 -30
- package/esm2022/pipes/order-week-days/taiga-ui-core-pipes-order-week-days.mjs +0 -5
- package/esm2022/pipes/taiga-ui-core-pipes.mjs +0 -5
- package/esm2022/services/breakpoint.service.mjs +0 -31
- package/esm2022/services/dark-theme.service.mjs +0 -24
- package/esm2022/services/format-date.service.mjs +0 -24
- package/esm2022/services/index.mjs +0 -6
- package/esm2022/services/position.service.mjs +0 -26
- package/esm2022/services/taiga-ui-core-services.mjs +0 -5
- package/esm2022/services/visual-viewport.service.mjs +0 -29
- package/esm2022/taiga-ui-core.mjs +0 -5
- package/esm2022/tokens/animations-speed.mjs +0 -9
- package/esm2022/tokens/assets-path.mjs +0 -11
- package/esm2022/tokens/auxiliary.mjs +0 -9
- package/esm2022/tokens/common-icons.mjs +0 -18
- package/esm2022/tokens/dark-mode.mjs +0 -41
- package/esm2022/tokens/date-format.mjs +0 -20
- package/esm2022/tokens/day-type-handler.mjs +0 -8
- package/esm2022/tokens/first-day-of-week.mjs +0 -9
- package/esm2022/tokens/i18n.mjs +0 -45
- package/esm2022/tokens/icon-resolver.mjs +0 -44
- package/esm2022/tokens/icon.mjs +0 -8
- package/esm2022/tokens/icons.mjs +0 -21
- package/esm2022/tokens/index.mjs +0 -21
- package/esm2022/tokens/media.mjs +0 -12
- package/esm2022/tokens/number-format.mjs +0 -24
- package/esm2022/tokens/reduced-motion.mjs +0 -7
- package/esm2022/tokens/scroll-ref.mjs +0 -6
- package/esm2022/tokens/selection-stream.mjs +0 -14
- package/esm2022/tokens/spin-icons.mjs +0 -8
- package/esm2022/tokens/taiga-ui-core-tokens.mjs +0 -5
- package/esm2022/tokens/theme.mjs +0 -5
- package/esm2022/tokens/viewport.mjs +0 -35
- package/esm2022/types/direction.mjs +0 -2
- package/esm2022/types/index.mjs +0 -2
- package/esm2022/types/interactive-state.mjs +0 -2
- package/esm2022/types/orientation.mjs +0 -2
- package/esm2022/types/point.mjs +0 -2
- package/esm2022/types/portal-item.mjs +0 -2
- package/esm2022/types/range-state.mjs +0 -2
- package/esm2022/types/size.mjs +0 -13
- package/esm2022/types/taiga-ui-core-types.mjs +0 -5
- package/esm2022/types/value-content-context.mjs +0 -2
- package/esm2022/utils/dom/check-fixed-position.mjs +0 -9
- package/esm2022/utils/dom/get-viewport.mjs +0 -24
- package/esm2022/utils/dom/get-word-range.mjs +0 -51
- package/esm2022/utils/dom/index.mjs +0 -4
- package/esm2022/utils/dom/taiga-ui-core-utils-dom.mjs +0 -5
- package/esm2022/utils/format/format-number.mjs +0 -47
- package/esm2022/utils/format/get-fractional-part-padded.mjs +0 -16
- package/esm2022/utils/format/index.mjs +0 -5
- package/esm2022/utils/format/number-to-string-without-exp.mjs +0 -18
- package/esm2022/utils/format/string-hash-to-hsl.mjs +0 -21
- package/esm2022/utils/format/taiga-ui-core-utils-format.mjs +0 -5
- package/esm2022/utils/index.mjs +0 -4
- package/esm2022/utils/miscellaneous/font-scaling.mjs +0 -11
- package/esm2022/utils/miscellaneous/index.mjs +0 -7
- package/esm2022/utils/miscellaneous/is-editing-key.mjs +0 -18
- package/esm2022/utils/miscellaneous/is-obscured.mjs +0 -8
- package/esm2022/utils/miscellaneous/override-options.mjs +0 -11
- package/esm2022/utils/miscellaneous/size-bigger.mjs +0 -19
- package/esm2022/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.mjs +0 -5
- package/esm2022/utils/miscellaneous/to-animation-options.mjs +0 -16
- package/esm2022/utils/taiga-ui-core-utils.mjs +0 -5
- package/fesm2022/taiga-ui-core-components-alert.mjs +0 -149
- package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -66
- package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
- package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs +0 -29
- package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs.map +0 -1
- package/pipes/fallback-src/fallback-src.pipe.d.ts +0 -9
- package/pipes/fallback-src/index.d.ts +0 -1
- package/types/portal-item.d.ts +0 -9
- package/types/value-content-context.d.ts +0 -4
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { AsyncPipe, NgFor, NgIf } from '@angular/common';
|
|
3
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, } from '@angular/core';
|
|
4
|
-
import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
5
|
-
import { TuiDay, TuiDayRange, TuiMonth } from '@taiga-ui/cdk/date-time';
|
|
6
|
-
import { TuiHovered } from '@taiga-ui/cdk/directives/hovered';
|
|
7
|
-
import { TuiLet } from '@taiga-ui/cdk/directives/let';
|
|
8
|
-
import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
|
|
9
|
-
import { TuiMapperPipe } from '@taiga-ui/cdk/pipes/mapper';
|
|
10
|
-
import { tuiNullableSame, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
11
|
-
import { TuiCalendarSheetPipe, TuiOrderWeekDaysPipe } from '@taiga-ui/core/pipes';
|
|
12
|
-
import { TUI_DAY_TYPE_HANDLER, TUI_SHORT_WEEK_DAYS } from '@taiga-ui/core/tokens';
|
|
13
|
-
import { TUI_CALENDAR_SHEET_OPTIONS } from './calendar-sheet.options';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
class TuiCalendarSheet {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.options = inject(TUI_CALENDAR_SHEET_OPTIONS);
|
|
18
|
-
this.today = TuiDay.currentLocal();
|
|
19
|
-
this.unorderedWeekDays$ = inject(TUI_SHORT_WEEK_DAYS);
|
|
20
|
-
this.dayTypeHandler = inject(TUI_DAY_TYPE_HANDLER);
|
|
21
|
-
this.month = TuiMonth.currentLocal();
|
|
22
|
-
this.disabledItemHandler = TUI_FALSE_HANDLER;
|
|
23
|
-
this.markerHandler = null;
|
|
24
|
-
this.value = null;
|
|
25
|
-
this.hoveredItem = null;
|
|
26
|
-
this.showAdjacent = true;
|
|
27
|
-
/**
|
|
28
|
-
* @deprecated use static DI options instead
|
|
29
|
-
* ```
|
|
30
|
-
* tuiCalendarSheetOptionsProvider({rangeMode: true})
|
|
31
|
-
* ```
|
|
32
|
-
* TODO(v5): delete it
|
|
33
|
-
*/
|
|
34
|
-
this.single = true;
|
|
35
|
-
this.hoveredItemChange = new EventEmitter();
|
|
36
|
-
this.dayClick = new EventEmitter();
|
|
37
|
-
this.toMarkers = (day, today, range, markerHandler) => {
|
|
38
|
-
if (today || ['active', 'end', 'start'].includes(range || '')) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
const markers = markerHandler?.(day);
|
|
42
|
-
return markers?.length ? markers : null;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* @deprecated TODO(v5): delete it. It is used nowhere except unit tests
|
|
47
|
-
*/
|
|
48
|
-
itemIsInterval(day) {
|
|
49
|
-
const { value, hoveredItem } = this;
|
|
50
|
-
if (!(value instanceof TuiDayRange)) {
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
if (!value.isSingleDay) {
|
|
54
|
-
return value.from.daySameOrBefore(day) && value.to.dayAfter(day);
|
|
55
|
-
}
|
|
56
|
-
if (hoveredItem === null) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
const range = TuiDayRange.sort(value.from, hoveredItem);
|
|
60
|
-
return range.from.daySameOrBefore(day) && range.to.dayAfter(day);
|
|
61
|
-
}
|
|
62
|
-
onItemHovered(item) {
|
|
63
|
-
this.updateHoveredItem(item || null);
|
|
64
|
-
}
|
|
65
|
-
getItemRange(item) {
|
|
66
|
-
const { value, hoveredItem } = this;
|
|
67
|
-
if (!value) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
if (value instanceof TuiDay && !this.computedRangeMode) {
|
|
71
|
-
return value.daySame(item) ? 'active' : null;
|
|
72
|
-
}
|
|
73
|
-
if (value instanceof TuiDayRange && value.isSingleDay) {
|
|
74
|
-
return value.from.daySame(item) ? 'active' : null;
|
|
75
|
-
}
|
|
76
|
-
if (!(value instanceof TuiDay) && !(value instanceof TuiDayRange)) {
|
|
77
|
-
return value.find((day) => day.daySame(item)) ? 'active' : null;
|
|
78
|
-
}
|
|
79
|
-
const range = this.getRange(value, hoveredItem);
|
|
80
|
-
if (range.isSingleDay && range.from.daySame(item)) {
|
|
81
|
-
return 'active';
|
|
82
|
-
}
|
|
83
|
-
if (range.from.daySame(item)) {
|
|
84
|
-
return 'start';
|
|
85
|
-
}
|
|
86
|
-
if (range.to.daySame(item)) {
|
|
87
|
-
return 'end';
|
|
88
|
-
}
|
|
89
|
-
return range.from.dayBefore(item) && range.to.dayAfter(item) ? 'middle' : null;
|
|
90
|
-
}
|
|
91
|
-
get computedRangeMode() {
|
|
92
|
-
return !this.single || this.options.rangeMode;
|
|
93
|
-
}
|
|
94
|
-
get isRangePicking() {
|
|
95
|
-
return this.computedRangeMode
|
|
96
|
-
? this.value instanceof TuiDay
|
|
97
|
-
: /**
|
|
98
|
-
* Only for backward compatibility!
|
|
99
|
-
* TODO(v5): replace with `this.options.rangeMode && this.value instanceof TuiDay`
|
|
100
|
-
*/
|
|
101
|
-
this.value instanceof TuiDayRange && this.value.isSingleDay;
|
|
102
|
-
}
|
|
103
|
-
itemIsToday(item) {
|
|
104
|
-
return this.today.daySame(item);
|
|
105
|
-
}
|
|
106
|
-
itemIsUnavailable(item) {
|
|
107
|
-
return !this.month.monthSame(item);
|
|
108
|
-
}
|
|
109
|
-
onItemClick(item) {
|
|
110
|
-
this.dayClick.emit(item);
|
|
111
|
-
}
|
|
112
|
-
getRange(value, hoveredItem) {
|
|
113
|
-
if (value instanceof TuiDay) {
|
|
114
|
-
return TuiDayRange.sort(value, hoveredItem ?? value);
|
|
115
|
-
}
|
|
116
|
-
return value.isSingleDay
|
|
117
|
-
? TuiDayRange.sort(value.from, hoveredItem ?? value.to)
|
|
118
|
-
: value;
|
|
119
|
-
}
|
|
120
|
-
updateHoveredItem(day) {
|
|
121
|
-
if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
this.hoveredItem = day;
|
|
125
|
-
this.hoveredItemChange.emit(day);
|
|
126
|
-
}
|
|
127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", single: "single" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._picking": "isRangePicking" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
129
|
-
}
|
|
130
|
-
__decorate([
|
|
131
|
-
tuiPure
|
|
132
|
-
], TuiCalendarSheet.prototype, "getRange", null);
|
|
133
|
-
export { TuiCalendarSheet };
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSheet, decorators: [{
|
|
135
|
-
type: Component,
|
|
136
|
-
args: [{ standalone: true, selector: 'tui-calendar-sheet', imports: [
|
|
137
|
-
AsyncPipe,
|
|
138
|
-
NgFor,
|
|
139
|
-
NgIf,
|
|
140
|
-
TuiCalendarSheetPipe,
|
|
141
|
-
TuiHovered,
|
|
142
|
-
TuiLet,
|
|
143
|
-
TuiMapperPipe,
|
|
144
|
-
TuiOrderWeekDaysPipe,
|
|
145
|
-
TuiRepeatTimes,
|
|
146
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
147
|
-
'[class._picking]': 'isRangePicking',
|
|
148
|
-
}, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"] }]
|
|
149
|
-
}], propDecorators: { month: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], disabledItemHandler: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], markerHandler: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], value: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], hoveredItem: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], showAdjacent: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], single: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], hoveredItemChange: [{
|
|
164
|
-
type: Output
|
|
165
|
-
}], dayClick: [{
|
|
166
|
-
type: Output
|
|
167
|
-
}], getRange: [] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBQyxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJB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LENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBdEtRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDJaQzdDN0IseXdFQXNEQSxrb0lEMUJRLFNBQVMsOENBQ1QsS0FBSyxtSEFDTCxJQUFJLHdGQUNKLG9CQUFvQix5REFDcEIsVUFBVSw4RkFDVixNQUFNLG9FQUNOLGFBQWEsNkNBQ2Isb0JBQW9CLHlEQUNwQixjQUFjOztBQTJKVjtJQURQLE9BQU87Z0RBWVA7U0E3SlEsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBckI1QixTQUFTO2lDQUNNLElBQUksWUFDTixvQkFBb0IsV0FDckI7d0JBQ0wsU0FBUzt3QkFDVCxLQUFLO3dCQUNMLElBQUk7d0JBQ0osb0JBQW9CO3dCQUNwQixVQUFVO3dCQUNWLE1BQU07d0JBQ04sYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLGNBQWM7cUJBQ2pCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLGtCQUFrQixFQUFFLGdCQUFnQjtxQkFDdkM7OEJBVU0sS0FBSztzQkFEWCxLQUFLO2dCQUlDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBV0MsTUFBTTtzQkFEWixLQUFLO2dCQUlVLGlCQUFpQjtzQkFEaEMsTUFBTTtnQkFJUyxRQUFRO3NCQUR2QixNQUFNO2dCQTRHQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGUsIE5nRm9yLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlEYXksIFR1aURheVJhbmdlLCBUdWlNb250aH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUdWlIb3ZlcmVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aVJlcGVhdFRpbWVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmltcG9ydCB7VHVpTWFwcGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9tYXBwZXInO1xuaW1wb3J0IHt0eXBlIFR1aUJvb2xlYW5IYW5kbGVyLCB0eXBlIFR1aUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlOdWxsYWJsZVNhbWUsIHR1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUNhbGVuZGFyU2hlZXRQaXBlLCBUdWlPcmRlcldlZWtEYXlzUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMnO1xuaW1wb3J0IHtUVUlfREFZX1RZUEVfSEFORExFUiwgVFVJX1NIT1JUX1dFRUtfREFZU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcblxuaW1wb3J0IHtUVUlfQ0FMRU5EQVJfU0hFRVRfT1BUSU9OU30gZnJvbSAnLi9jYWxlbmRhci1zaGVldC5vcHRpb25zJztcblxuZXhwb3J0IHR5cGUgVHVpTWFya2VySGFuZGxlciA9IFR1aUhhbmRsZXI8VHVpRGF5LCBbXSB8IFtzdHJpbmcsIHN0cmluZ10gfCBbc3RyaW5nXT47XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktY2FsZW5kYXItc2hlZXQnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdJZixcbiAgICAgICAgVHVpQ2FsZW5kYXJTaGVldFBpcGUsXG4gICAgICAgIFR1aUhvdmVyZWQsXG4gICAgICAgIFR1aUxldCxcbiAgICAgICAgVHVpTWFwcGVyUGlwZSxcbiAgICAgICAgVHVpT3JkZXJXZWVrRGF5c1BpcGUsXG4gICAgICAgIFR1aVJlcGVhdFRpbWVzLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXNoZWV0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLXNoZWV0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuX3BpY2tpbmddJzogJ2lzUmFuZ2VQaWNraW5nJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYWxlbmRhclNoZWV0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0NBTEVOREFSX1NIRUVUX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9kYXkgPSBUdWlEYXkuY3VycmVudExvY2FsKCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdW5vcmRlcmVkV2Vla0RheXMkID0gaW5qZWN0KFRVSV9TSE9SVF9XRUVLX0RBWVMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXlUeXBlSGFuZGxlciA9IGluamVjdChUVUlfREFZX1RZUEVfSEFORExFUik7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtb250aDogVHVpTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBUVUlfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBob3ZlcmVkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93QWRqYWNlbnQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIHN0YXRpYyBESSBvcHRpb25zIGluc3RlYWRcbiAgICAgKiBgYGBcbiAgICAgKiB0dWlDYWxlbmRhclNoZWV0T3B0aW9uc1Byb3ZpZGVyKHtyYW5nZU1vZGU6IHRydWV9KVxuICAgICAqIGBgYFxuICAgICAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaW5nbGUgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXkgfCBudWxsPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGRheUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUT0RPKHY1KTogZGVsZXRlIGl0LiBJdCBpcyB1c2VkIG5vd2hlcmUgZXhjZXB0IHVuaXQgdGVzdHNcbiAgICAgKi9cbiAgICBwdWJsaWMgaXRlbUlzSW50ZXJ2YWwoZGF5OiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiB2YWx1ZS50by5kYXlBZnRlcihkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHJhbmdlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbUhvdmVyZWQoaXRlbTogVHVpRGF5IHwgZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkSXRlbShpdGVtIHx8IG51bGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtUmFuZ2UoaXRlbTogVHVpRGF5KTogJ2FjdGl2ZScgfCAnZW5kJyB8ICdtaWRkbGUnIHwgJ3N0YXJ0JyB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkgJiYgIXRoaXMuY29tcHV0ZWRSYW5nZU1vZGUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5kYXlTYW1lKGl0ZW0pID8gJ2FjdGl2ZScgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UgJiYgdmFsdWUuaXNTaW5nbGVEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgPyAnYWN0aXZlJyA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZpbmQoKGRheSkgPT4gZGF5LmRheVNhbWUoaXRlbSkpID8gJ2FjdGl2ZScgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLmdldFJhbmdlKHZhbHVlLCBob3ZlcmVkSXRlbSk7XG5cbiAgICAgICAgaWYgKHJhbmdlLmlzU2luZ2xlRGF5ICYmIHJhbmdlLmZyb20uZGF5U2FtZShpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJhbmdlLmZyb20uZGF5U2FtZShpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuICdzdGFydCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmFuZ2UudG8uZGF5U2FtZShpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuICdlbmQnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlLmZyb20uZGF5QmVmb3JlKGl0ZW0pICYmIHJhbmdlLnRvLmRheUFmdGVyKGl0ZW0pID8gJ21pZGRsZScgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRSYW5nZU1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zaW5nbGUgfHwgdGhpcy5vcHRpb25zLnJhbmdlTW9kZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzUmFuZ2VQaWNraW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZFJhbmdlTW9kZVxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5XG4gICAgICAgICAgICA6IC8qKlxuICAgICAgICAgICAgICAgKiBPbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IVxuICAgICAgICAgICAgICAgKiBUT0RPKHY1KTogcmVwbGFjZSB3aXRoIGB0aGlzLm9wdGlvbnMucmFuZ2VNb2RlICYmIHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlgXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICB0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UgJiYgdGhpcy52YWx1ZS5pc1NpbmdsZURheTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9NYXJrZXJzID0gKFxuICAgICAgICBkYXk6IFR1aURheSxcbiAgICAgICAgdG9kYXk6IGJvb2xlYW4sXG4gICAgICAgIHJhbmdlOiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBtYXJrZXJIYW5kbGVyOiBUdWlNYXJrZXJIYW5kbGVyIHwgbnVsbCxcbiAgICApOiBbc3RyaW5nLCBzdHJpbmddIHwgW3N0cmluZ10gfCBudWxsID0+IHtcbiAgICAgICAgaWYgKHRvZGF5IHx8IFsnYWN0aXZlJywgJ2VuZCcsICdzdGFydCddLmluY2x1ZGVzKHJhbmdlIHx8ICcnKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXJrZXJzID0gbWFya2VySGFuZGxlcj8uKGRheSk7XG5cbiAgICAgICAgcmV0dXJuIG1hcmtlcnM/Lmxlbmd0aCA/IG1hcmtlcnMgOiBudWxsO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgaXRlbUlzVG9kYXkoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZGF5LmRheVNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGl0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW06IFR1aURheSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMubW9udGgubW9udGhTYW1lKGl0ZW0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkl0ZW1DbGljayhpdGVtOiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXlDbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRSYW5nZShcbiAgICAgICAgdmFsdWU6IFR1aURheSB8IFR1aURheVJhbmdlLFxuICAgICAgICBob3ZlcmVkSXRlbTogVHVpRGF5IHwgbnVsbCxcbiAgICApOiBUdWlEYXlSYW5nZSB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aURheVJhbmdlLnNvcnQodmFsdWUsIGhvdmVyZWRJdGVtID8/IHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZS5pc1NpbmdsZURheVxuICAgICAgICAgICAgPyBUdWlEYXlSYW5nZS5zb3J0KHZhbHVlLmZyb20sIGhvdmVyZWRJdGVtID8/IHZhbHVlLnRvKVxuICAgICAgICAgICAgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhvdmVyZWRJdGVtKGRheTogVHVpRGF5IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpTnVsbGFibGVTYW1lKHRoaXMuaG92ZXJlZEl0ZW0sIGRheSwgKGEsIGIpID0+IGEuZGF5U2FtZShiKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBkYXk7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1DaGFuZ2UuZW1pdChkYXkpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0LXJvdyB0LXJvd193ZWVrZGF5XCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHVub3JkZXJlZFdlZWtEYXlzJCB8IHR1aU9yZGVyV2Vla0RheXMgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwidC1jZWxsXCJcbiAgICAgICAgW3RleHRDb250ZW50XT1cImRheVwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG48ZGl2ICp0dWlMZXQ9XCJtb250aCB8IHR1aUNhbGVuZGFyU2hlZXQ6IHRydWUgYXMgc2hlZXRcIj5cbiAgICA8ZGl2XG4gICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCByb3dJbmRleCBvZiBzaGVldC5sZW5ndGhcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyLXNoZWV0X19yb3dcIlxuICAgICAgICBjbGFzcz1cInQtcm93XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGNvbEluZGV4IG9mIHNoZWV0W3Jvd0luZGV4XT8ubGVuZ3RoIHx8IDBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aUxldD1cInNoZWV0W3Jvd0luZGV4XT8uW2NvbEluZGV4XSBhcyBpdGVtXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0gJiYgKCFpdGVtSXNVbmF2YWlsYWJsZShpdGVtKSB8fCBzaG93QWRqYWNlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1zaGVldF9fY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jZWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1yYW5nZV09XCJnZXRJdGVtUmFuZ2UoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXR5cGVdPVwiaXRlbSB8IHR1aU1hcHBlcjogZGF5VHlwZUhhbmRsZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX2Rpc2FibGVkXT1cImRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX3RvZGF5XT1cIml0ZW1Jc1RvZGF5KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF91bmF2YWlsYWJsZV09XCJpdGVtSXNVbmF2YWlsYWJsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSXRlbUhvdmVyZWQoJGV2ZW50ICYmIGl0ZW0pXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGF5IH19XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHR1aU1hcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0b01hcmtlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXRlbUlzVG9kYXkoaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZ2V0SXRlbVJhbmdlKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG1hcmtlckhhbmRsZXIgYXMgbWFya2Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm1hcmtlcnM/LlswXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtYXJrZXJzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm1hcmtlcnM/LlsxXSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
3
|
-
export const TUI_CALENDAR_SHEET_DEFAULT_OPTIONS = {
|
|
4
|
-
rangeMode: false,
|
|
5
|
-
};
|
|
6
|
-
export const TUI_CALENDAR_SHEET_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_CALENDAR_SHEET_OPTIONS' : '', {
|
|
7
|
-
factory: () => TUI_CALENDAR_SHEET_DEFAULT_OPTIONS,
|
|
8
|
-
});
|
|
9
|
-
export function tuiCalendarSheetOptionsProvider(options) {
|
|
10
|
-
return tuiProvideOptions(TUI_CALENDAR_SHEET_OPTIONS, options, TUI_CALENDAR_SHEET_DEFAULT_OPTIONS);
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2hlZXQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci1zaGVldC5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBTXBFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUE0QjtJQUN2RSxTQUFTLEVBQUUsS0FBSztDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQ3hELFNBQVMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDN0M7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsa0NBQWtDO0NBQ3BELENBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSwrQkFBK0IsQ0FDM0MsT0FBeUM7SUFFekMsT0FBTyxpQkFBaUIsQ0FDcEIsMEJBQTBCLEVBQzFCLE9BQU8sRUFDUCxrQ0FBa0MsQ0FDckMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCB0eXBlIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQ2FsZW5kYXJTaGVldE9wdGlvbnMge1xuICAgIHJlYWRvbmx5IHJhbmdlTW9kZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9DQUxFTkRBUl9TSEVFVF9ERUZBVUxUX09QVElPTlM6IFR1aUNhbGVuZGFyU2hlZXRPcHRpb25zID0ge1xuICAgIHJhbmdlTW9kZTogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX0NBTEVOREFSX1NIRUVUX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgbmdEZXZNb2RlID8gJ1RVSV9DQUxFTkRBUl9TSEVFVF9PUFRJT05TJyA6ICcnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gVFVJX0NBTEVOREFSX1NIRUVUX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUNhbGVuZGFyU2hlZXRPcHRpb25zUHJvdmlkZXIoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlDYWxlbmRhclNoZWV0T3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfQ0FMRU5EQVJfU0hFRVRfT1BUSU9OUyxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgVFVJX0NBTEVOREFSX1NIRUVUX0RFRkFVTFRfT1BUSU9OUyxcbiAgICApO1xufVxuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { AsyncPipe, NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
3
|
-
import { TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth, } from '@taiga-ui/cdk/date-time';
|
|
4
|
-
import { TuiLink } from '@taiga-ui/core/components/link';
|
|
5
|
-
import { TuiSpinButton } from '@taiga-ui/core/components/spin-button';
|
|
6
|
-
import { TuiMonthPipe } from '@taiga-ui/core/pipes';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
class TuiCalendarSpin {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.value = TuiMonth.currentLocal();
|
|
11
|
-
this.min = TUI_FIRST_DAY;
|
|
12
|
-
this.max = TUI_LAST_DAY;
|
|
13
|
-
this.valueChange = new EventEmitter();
|
|
14
|
-
this.yearClick = new EventEmitter();
|
|
15
|
-
}
|
|
16
|
-
onYearClick() {
|
|
17
|
-
this.yearClick.next(this.value);
|
|
18
|
-
}
|
|
19
|
-
append(date) {
|
|
20
|
-
const value = this.value.append(date);
|
|
21
|
-
if (this.min.monthSameOrAfter(value)) {
|
|
22
|
-
this.updateValue(this.min);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.updateValue(this.max.monthSameOrBefore(value) ? this.max : value);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
updateValue(value) {
|
|
29
|
-
if (this.value.monthSame(value)) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
this.value = value;
|
|
33
|
-
this.valueChange.emit(value);
|
|
34
|
-
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSpin, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarSpin, isStandalone: true, selector: "tui-calendar-spin", inputs: { value: "value", min: "min", max: "max" }, outputs: { valueChange: "valueChange", yearClick: "yearClick" }, ngImport: i0, template: "<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value.monthSameOrBefore(min)\"\n [rightDisabled]=\"value.monthSameOrAfter(max)\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ value | tuiMonth | async }}\n <ng-container *ngIf=\"min.year === max.year; else button\">\n {{ value.formattedYear }}\n </ng-container>\n <ng-template #button>\n <button\n id=\"year-btn\"\n automation-id=\"tui-primitive-year-month-pagination__year-button\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n </ng-template>\n</tui-spin-button>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "pipe", type: TuiMonthPipe, name: "tuiMonth" }, { kind: "component", type: TuiSpinButton, selector: "tui-spin-button", inputs: ["focusable", "disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37
|
-
}
|
|
38
|
-
export { TuiCalendarSpin };
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSpin, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ standalone: true, selector: 'tui-calendar-spin', imports: [AsyncPipe, NgIf, TuiLink, TuiMonthPipe, TuiSpinButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value.monthSameOrBefore(min)\"\n [rightDisabled]=\"value.monthSameOrAfter(max)\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ value | tuiMonth | async }}\n <ng-container *ngIf=\"min.year === max.year; else button\">\n {{ value.formattedYear }}\n </ng-container>\n <ng-template #button>\n <button\n id=\"year-btn\"\n automation-id=\"tui-primitive-year-month-pagination__year-button\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n </ng-template>\n</tui-spin-button>\n", styles: [":host{display:block}\n"] }]
|
|
42
|
-
}], propDecorators: { value: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], min: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], max: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], valueChange: [{
|
|
49
|
-
type: Output
|
|
50
|
-
}], yearClick: [{
|
|
51
|
-
type: Output
|
|
52
|
-
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc3Bpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXItc3Bpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXItc3Bpbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYixZQUFZLEVBQ1osUUFBUSxHQUdYLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBRWxELE1BUWEsZUFBZTtJQVI1QjtRQVVXLFVBQUssR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHaEMsUUFBRyxHQUFhLGFBQWEsQ0FBQztRQUc5QixRQUFHLEdBQWEsWUFBWSxDQUFDO1FBR3BCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUczQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQXdCM0Q7SUF0QmEsV0FBVztRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVTLE1BQU0sQ0FBQyxJQUFrQjtRQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUI7YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUU7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWU7UUFDL0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQXJDUSxlQUFlO21HQUFmLGVBQWUsa01DM0I1Qix1d0JBd0JBLDJFREZjLFNBQVMsOENBQUUsSUFBSSw2RkFBRSxPQUFPLHVGQUFFLFlBQVksaURBQUUsYUFBYTs7U0FLdEQsZUFBZTs0RkFBZixlQUFlO2tCQVIzQixTQUFTO2lDQUNNLElBQUksWUFDTixtQkFBbUIsV0FDcEIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLG1CQUcvQyx1QkFBdUIsQ0FBQyxNQUFNOzhCQUl4QyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJVSxXQUFXO3NCQUQxQixNQUFNO2dCQUlTLFNBQVM7c0JBRHhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlNb250aCxcbiAgICB0eXBlIFR1aU1vbnRoTGlrZSxcbiAgICB0eXBlIFR1aVllYXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VHVpU3BpbkJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9zcGluLWJ1dHRvbic7XG5pbXBvcnQge1R1aU1vbnRoUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWNhbGVuZGFyLXNwaW4nLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIE5nSWYsIFR1aUxpbmssIFR1aU1vbnRoUGlwZSwgVHVpU3BpbkJ1dHRvbl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXNwaW4udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItc3Bpbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyU3BpbiB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWUgPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1pbjogVHVpTW9udGggPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4OiBUdWlNb250aCA9IFRVSV9MQVNUX0RBWTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpTW9udGg+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgeWVhckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlZZWFyPigpO1xuXG4gICAgcHJvdGVjdGVkIG9uWWVhckNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnllYXJDbGljay5uZXh0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhcHBlbmQoZGF0ZTogVHVpTW9udGhMaWtlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZS5hcHBlbmQoZGF0ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMubWluLm1vbnRoU2FtZU9yQWZ0ZXIodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMubWluKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5tYXgubW9udGhTYW1lT3JCZWZvcmUodmFsdWUpID8gdGhpcy5tYXggOiB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZhbHVlKHZhbHVlOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy52YWx1ZS5tb250aFNhbWUodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPHR1aS1zcGluLWJ1dHRvblxuICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgIFtsZWZ0RGlzYWJsZWRdPVwidmFsdWUubW9udGhTYW1lT3JCZWZvcmUobWluKVwiXG4gICAgW3JpZ2h0RGlzYWJsZWRdPVwidmFsdWUubW9udGhTYW1lT3JBZnRlcihtYXgpXCJcbiAgICAobGVmdENsaWNrKT1cImFwcGVuZCh7bW9udGg6IC0xfSlcIlxuICAgIChyaWdodENsaWNrKT1cImFwcGVuZCh7bW9udGg6IDF9KVwiXG4+XG4gICAge3sgdmFsdWUgfCB0dWlNb250aCB8IGFzeW5jIH19XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1pbi55ZWFyID09PSBtYXgueWVhcjsgZWxzZSBidXR0b25cIj5cbiAgICAgICAge3sgdmFsdWUuZm9ybWF0dGVkWWVhciB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBpZD1cInllYXItYnRuXCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbl9feWVhci1idXR0b25cIlxuICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblllYXJDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdmFsdWUuZm9ybWF0dGVkWWVhciB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktc3Bpbi1idXR0b24+XG4iXX0=
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, EventEmitter, inject, Input, Output, signal, } from '@angular/core';
|
|
2
|
-
import { MAX_YEAR, MIN_YEAR, TuiDay, TuiMonth, TuiMonthRange, TuiYear, } from '@taiga-ui/cdk/date-time';
|
|
3
|
-
import { TuiHovered } from '@taiga-ui/cdk/directives/hovered';
|
|
4
|
-
import { TuiLet } from '@taiga-ui/cdk/directives/let';
|
|
5
|
-
import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
|
|
6
|
-
import { tuiIsNumber } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
7
|
-
import { TuiScrollIntoView } from '@taiga-ui/core/components/scrollbar';
|
|
8
|
-
import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives';
|
|
9
|
-
import { tuiAsAuxiliary } from '@taiga-ui/core/tokens';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
const LIMIT = 100;
|
|
12
|
-
const ITEMS_IN_ROW = 4;
|
|
13
|
-
const CURRENT_YEAR = TuiMonth.currentLocal().year;
|
|
14
|
-
class TuiCalendarYear {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.hoveredItem = signal(null);
|
|
17
|
-
this.isRangePicking = computed((x = this.value()) => this.rangeMode && (x instanceof TuiDay || x instanceof TuiMonth));
|
|
18
|
-
this.rangeMode = false;
|
|
19
|
-
this.disabledItemHandler = inject(TUI_ITEMS_HANDLERS).disabledItemHandler();
|
|
20
|
-
this.yearClick = new EventEmitter();
|
|
21
|
-
this.initialItem = signal(CURRENT_YEAR);
|
|
22
|
-
this.min = signal(MIN_YEAR);
|
|
23
|
-
this.max = signal(MAX_YEAR);
|
|
24
|
-
this.value = signal(null);
|
|
25
|
-
}
|
|
26
|
-
// TODO(v5): use signal inputs
|
|
27
|
-
set initialItemSetter(x) {
|
|
28
|
-
this.initialItem.set(x ?? CURRENT_YEAR);
|
|
29
|
-
}
|
|
30
|
-
// TODO(v5): use signal inputs
|
|
31
|
-
set minSetter(x) {
|
|
32
|
-
this.min.set(x);
|
|
33
|
-
}
|
|
34
|
-
// TODO(v5): use signal inputs
|
|
35
|
-
set maxSetter(x) {
|
|
36
|
-
this.max.set(x);
|
|
37
|
-
}
|
|
38
|
-
// TODO(v5): use signal inputs
|
|
39
|
-
set valueSetter(x) {
|
|
40
|
-
this.value.set(x);
|
|
41
|
-
}
|
|
42
|
-
isDisabled(item) {
|
|
43
|
-
return ((this.max() && this.max() < item) ||
|
|
44
|
-
(this.min() && this.min() > item) ||
|
|
45
|
-
this.disabledItemHandler(item));
|
|
46
|
-
}
|
|
47
|
-
getItemRange(item) {
|
|
48
|
-
const value = this.value();
|
|
49
|
-
const hoveredItem = this.hoveredItem();
|
|
50
|
-
if (value instanceof TuiYear && value.year === item) {
|
|
51
|
-
return 'active';
|
|
52
|
-
}
|
|
53
|
-
if (tuiIsNumber(value)) {
|
|
54
|
-
return value === item ? 'active' : null;
|
|
55
|
-
}
|
|
56
|
-
if (!(value instanceof TuiMonthRange) && !(value instanceof TuiYear)) {
|
|
57
|
-
return value?.find((day) => day.year === item) ? 'active' : null;
|
|
58
|
-
}
|
|
59
|
-
const hovered = this.isRangePicking() ? hoveredItem : null;
|
|
60
|
-
const from = 'from' in value ? value.from?.year : value.year;
|
|
61
|
-
const to = 'from' in value ? value.to.year : value.year;
|
|
62
|
-
const min = Math.min(from, hovered ?? to);
|
|
63
|
-
const max = Math.max(from, hovered ?? to);
|
|
64
|
-
if (min === max && from === to && from === item) {
|
|
65
|
-
return 'active';
|
|
66
|
-
}
|
|
67
|
-
if (min === item) {
|
|
68
|
-
return 'start';
|
|
69
|
-
}
|
|
70
|
-
if (max === item) {
|
|
71
|
-
return 'end';
|
|
72
|
-
}
|
|
73
|
-
return min < item && item < max ? 'middle' : null;
|
|
74
|
-
}
|
|
75
|
-
onItemHovered(hovered, item) {
|
|
76
|
-
this.hoveredItem.set(hovered ? item : null);
|
|
77
|
-
}
|
|
78
|
-
get rows() {
|
|
79
|
-
return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);
|
|
80
|
-
}
|
|
81
|
-
scrollItemIntoView(item) {
|
|
82
|
-
return this.initialItem() === item;
|
|
83
|
-
}
|
|
84
|
-
getItem(rowIndex, colIndex) {
|
|
85
|
-
return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin;
|
|
86
|
-
}
|
|
87
|
-
itemIsToday(item) {
|
|
88
|
-
return CURRENT_YEAR === item;
|
|
89
|
-
}
|
|
90
|
-
get calculatedMin() {
|
|
91
|
-
const initial = this.initialItem() - LIMIT;
|
|
92
|
-
const min = this.min() ?? MIN_YEAR;
|
|
93
|
-
return min > initial ? min : initial;
|
|
94
|
-
}
|
|
95
|
-
get calculatedMax() {
|
|
96
|
-
const initial = this.initialItem() + LIMIT;
|
|
97
|
-
const max = this.max() ?? MAX_YEAR;
|
|
98
|
-
return max < initial ? max + 1 : initial;
|
|
99
|
-
}
|
|
100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarYear, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: TuiCalendarYear, isStandalone: true, selector: "tui-calendar-year", inputs: { rangeMode: "rangeMode", disabledItemHandler: "disabledItemHandler", initialItemSetter: ["initialItem", "initialItemSetter", (x) => x ?? CURRENT_YEAR], minSetter: ["min", "minSetter", (x) => x ?? MIN_YEAR], maxSetter: ["max", "maxSetter", (x) => x ?? MAX_YEAR], valueSetter: ["value", "valueSetter"] }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._picking": "isRangePicking()" } }, providers: [tuiAsAuxiliary(TuiCalendarYear)], ngImport: i0, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n </ng-container>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiScrollIntoView, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
102
|
-
}
|
|
103
|
-
export { TuiCalendarYear };
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarYear, decorators: [{
|
|
105
|
-
type: Component,
|
|
106
|
-
args: [{ standalone: true, selector: 'tui-calendar-year', imports: [TuiHovered, TuiLet, TuiRepeatTimes, TuiScrollIntoView], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiCalendarYear)], host: {
|
|
107
|
-
'[class._picking]': 'isRangePicking()',
|
|
108
|
-
}, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n </ng-container>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"] }]
|
|
109
|
-
}], propDecorators: { rangeMode: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], disabledItemHandler: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], yearClick: [{
|
|
114
|
-
type: Output
|
|
115
|
-
}], initialItemSetter: [{
|
|
116
|
-
type: Input,
|
|
117
|
-
args: [{ alias: 'initialItem', transform: (x) => x ?? CURRENT_YEAR }]
|
|
118
|
-
}], minSetter: [{
|
|
119
|
-
type: Input,
|
|
120
|
-
args: [{ alias: 'min', transform: (x) => x ?? MIN_YEAR }]
|
|
121
|
-
}], maxSetter: [{
|
|
122
|
-
type: Input,
|
|
123
|
-
args: [{ alias: 'max', transform: (x) => x ?? MAX_YEAR }]
|
|
124
|
-
}], valueSetter: [{
|
|
125
|
-
type: Input,
|
|
126
|
-
args: ['value']
|
|
127
|
-
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIteWVhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIteWVhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsUUFBUSxFQUNSLE1BQU0sRUFFTixRQUFRLEVBQ1IsYUFBYSxFQUNiLE9BQU8sR0FDVixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRXJELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFDdkIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQztBQUVsRCxNQVlhLGVB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SERjYyxVQUFVLDhGQUFFLE1BQU0seUVBQUUsY0FBYyw2R0FBRSxpQkFBaUI7O1NBU3RELGVBQWU7NEZBQWYsZUFBZTtrQkFaM0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sbUJBQW1CLFdBQ3BCLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMsbUJBRy9DLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGlCQUFpQixDQUFDLFFBQ3RDO3dCQUNGLGtCQUFrQixFQUFFLGtCQUFrQjtxQkFDekM7OEJBV00sU0FBUztzQkFEZixLQUFLO2dCQUlDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFLVSxTQUFTO3NCQUR4QixNQUFNO2dCQVlJLGlCQUFpQjtzQkFEM0IsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLFlBQVksRUFBQztnQkFPdEUsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBQztnQkFPMUQsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBQztnQkFPMUQsV0FBVztzQkFEckIsS0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgTUFYX1lFQVIsXG4gICAgTUlOX1lFQVIsXG4gICAgVHVpRGF5LFxuICAgIHR5cGUgVHVpRGF5UmFuZ2UsXG4gICAgVHVpTW9udGgsXG4gICAgVHVpTW9udGhSYW5nZSxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1R1aUhvdmVyZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkJztcbmltcG9ydCB7VHVpTGV0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbGV0JztcbmltcG9ydCB7VHVpUmVwZWF0VGltZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9yZXBlYXQtdGltZXMnO1xuaW1wb3J0IHt0eXBlIFR1aUJvb2xlYW5IYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSXNOdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aVNjcm9sbEludG9WaWV3fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhcic7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcyc7XG5pbXBvcnQge3R1aUFzQXV4aWxpYXJ5fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG5jb25zdCBMSU1JVCA9IDEwMDtcbmNvbnN0IElURU1TX0lOX1JPVyA9IDQ7XG5jb25zdCBDVVJSRU5UX1lFQVIgPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKS55ZWFyO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWNhbGVuZGFyLXllYXInLFxuICAgIGltcG9ydHM6IFtUdWlIb3ZlcmVkLCBUdWlMZXQsIFR1aVJlcGVhdFRpbWVzLCBUdWlTY3JvbGxJbnRvVmlld10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXllYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXIteWVhci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNBdXhpbGlhcnkoVHVpQ2FsZW5kYXJZZWFyKV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9waWNraW5nXSc6ICdpc1JhbmdlUGlja2luZygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYWxlbmRhclllYXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG92ZXJlZEl0ZW0gPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNSYW5nZVBpY2tpbmcgPSBjb21wdXRlZChcbiAgICAgICAgKHggPSB0aGlzLnZhbHVlKCkpID0+XG4gICAgICAgICAgICB0aGlzLnJhbmdlTW9kZSAmJiAoeCBpbnN0YW5jZW9mIFR1aURheSB8fCB4IGluc3RhbmNlb2YgVHVpTW9udGgpLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByYW5nZU1vZGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPG51bWJlcj4gPVxuICAgICAgICBpbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKS5kaXNhYmxlZEl0ZW1IYW5kbGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgeWVhckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5pdGlhbEl0ZW0gPSBzaWduYWw8bnVtYmVyPihDVVJSRU5UX1lFQVIpO1xuICAgIHB1YmxpYyByZWFkb25seSBtaW4gPSBzaWduYWwoTUlOX1lFQVIpO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXggPSBzaWduYWwoTUFYX1lFQVIpO1xuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IHNpZ25hbDxcbiAgICAgICAgVHVpRGF5UmFuZ2UgfCBUdWlNb250aFJhbmdlIHwgVHVpWWVhciB8IG51bWJlciB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbFxuICAgID4obnVsbCk7XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dHNcbiAgICBASW5wdXQoe2FsaWFzOiAnaW5pdGlhbEl0ZW0nLCB0cmFuc2Zvcm06ICh4OiBudW1iZXIgfCBudWxsKSA9PiB4ID8/IENVUlJFTlRfWUVBUn0pXG4gICAgcHVibGljIHNldCBpbml0aWFsSXRlbVNldHRlcih4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbEl0ZW0uc2V0KHggPz8gQ1VSUkVOVF9ZRUFSKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dHNcbiAgICBASW5wdXQoe2FsaWFzOiAnbWluJywgdHJhbnNmb3JtOiAoeDogbnVtYmVyIHwgbnVsbCkgPT4geCA/PyBNSU5fWUVBUn0pXG4gICAgcHVibGljIHNldCBtaW5TZXR0ZXIoeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWluLnNldCh4KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dHNcbiAgICBASW5wdXQoe2FsaWFzOiAnbWF4JywgdHJhbnNmb3JtOiAoeDogbnVtYmVyIHwgbnVsbCkgPT4geCA/PyBNQVhfWUVBUn0pXG4gICAgcHVibGljIHNldCBtYXhTZXR0ZXIoeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWF4LnNldCh4KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dHNcbiAgICBASW5wdXQoJ3ZhbHVlJylcbiAgICBwdWJsaWMgc2V0IHZhbHVlU2V0dGVyKFxuICAgICAgICB4OiBUdWlEYXlSYW5nZSB8IFR1aU1vbnRoUmFuZ2UgfCBUdWlZZWFyIHwgbnVtYmVyIHwgcmVhZG9ubHkgVHVpRGF5W10gfCBudWxsLFxuICAgICkge1xuICAgICAgICB0aGlzLnZhbHVlLnNldCh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEaXNhYmxlZChpdGVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLm1heCgpICYmIHRoaXMubWF4KCkgPCBpdGVtKSB8fFxuICAgICAgICAgICAgKHRoaXMubWluKCkgJiYgdGhpcy5taW4oKSA+IGl0ZW0pIHx8XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbVJhbmdlKGl0ZW06IG51bWJlcik6ICdhY3RpdmUnIHwgJ2VuZCcgfCAnbWlkZGxlJyB8ICdzdGFydCcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtID0gdGhpcy5ob3ZlcmVkSXRlbSgpO1xuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aVllYXIgJiYgdmFsdWUueWVhciA9PT0gaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR1aUlzTnVtYmVyKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlID09PSBpdGVtID8gJ2FjdGl2ZScgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBUdWlNb250aFJhbmdlKSAmJiAhKHZhbHVlIGluc3RhbmNlb2YgVHVpWWVhcikpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZT8uZmluZCgoZGF5KSA9PiBkYXkueWVhciA9PT0gaXRlbSkgPyAnYWN0aXZlJyA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3ZlcmVkID0gdGhpcy5pc1JhbmdlUGlja2luZygpID8gaG92ZXJlZEl0ZW0gOiBudWxsO1xuICAgICAgICBjb25zdCBmcm9tID0gJ2Zyb20nIGluIHZhbHVlID8gdmFsdWUuZnJvbT8ueWVhciA6IHZhbHVlLnllYXI7XG4gICAgICAgIGNvbnN0IHRvID0gJ2Zyb20nIGluIHZhbHVlID8gdmFsdWUudG8ueWVhciA6IHZhbHVlLnllYXI7XG5cbiAgICAgICAgY29uc3QgbWluID0gTWF0aC5taW4oZnJvbSwgaG92ZXJlZCA/PyB0byk7XG4gICAgICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KGZyb20sIGhvdmVyZWQgPz8gdG8pO1xuXG4gICAgICAgIGlmIChtaW4gPT09IG1heCAmJiBmcm9tID09PSB0byAmJiBmcm9tID09PSBpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWluID09PSBpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3N0YXJ0JztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtYXggPT09IGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiAnZW5kJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtaW4gPCBpdGVtICYmIGl0ZW0gPCBtYXggPyAnbWlkZGxlJyA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbUhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW0uc2V0KGhvdmVyZWQgPyBpdGVtIDogbnVsbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCByb3dzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoKHRoaXMuY2FsY3VsYXRlZE1heCAtIHRoaXMuY2FsY3VsYXRlZE1pbikgLyBJVEVNU19JTl9ST1cpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxJdGVtSW50b1ZpZXcoaXRlbTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxJdGVtKCkgPT09IGl0ZW07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEl0ZW0ocm93SW5kZXg6IG51bWJlciwgY29sSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiByb3dJbmRleCAqIElURU1TX0lOX1JPVyArIGNvbEluZGV4ICsgdGhpcy5jYWxjdWxhdGVkTWluO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpdGVtSXNUb2RheShpdGVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIENVUlJFTlRfWUVBUiA9PT0gaXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYWxjdWxhdGVkTWluKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtKCkgLSBMSU1JVDtcbiAgICAgICAgY29uc3QgbWluID0gdGhpcy5taW4oKSA/PyBNSU5fWUVBUjtcblxuICAgICAgICByZXR1cm4gbWluID4gaW5pdGlhbCA/IG1pbiA6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2FsY3VsYXRlZE1heCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBpbml0aWFsID0gdGhpcy5pbml0aWFsSXRlbSgpICsgTElNSVQ7XG4gICAgICAgIGNvbnN0IG1heCA9IHRoaXMubWF4KCkgPz8gTUFYX1lFQVI7XG5cbiAgICAgICAgcmV0dXJuIG1heCA8IGluaXRpYWwgPyBtYXggKyAxIDogaW5pdGlhbDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IHJvd0luZGV4IG9mIHJvd3NcIlxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXIteWVhcl9fcm93XCJcbiAgICBjbGFzcz1cInQtcm93XCJcbj5cbiAgICA8bmctY29udGFpbmVyICp0dWlSZXBlYXRUaW1lcz1cImxldCBjb2xJbmRleCBvZiA0XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICp0dWlMZXQ9XCJnZXRJdGVtKHJvd0luZGV4LCBjb2xJbmRleCkgYXMgaXRlbVwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyLXllYXJfX2NlbGxcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNlbGxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1yYW5nZV09XCJnZXRJdGVtUmFuZ2UoaXRlbSlcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGl0ZW0pXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdG9kYXldPVwiaXRlbUlzVG9kYXkoaXRlbSlcIlxuICAgICAgICAgICAgW3R1aVNjcm9sbEludG9WaWV3XT1cInNjcm9sbEl0ZW1JbnRvVmlldyhpdGVtKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwieWVhckNsaWNrLmVtaXQoaXRlbSlcIlxuICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|