@taiga-ui/addon-mobile 4.65.0 → 5.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/components/bottom-sheet/bottom-sheet.component.d.ts +3 -3
- package/components/index.d.ts +0 -1
- package/components/mobile-calendar/calendar-date-stream.d.ts +6 -0
- package/components/mobile-calendar/index.d.ts +1 -0
- package/components/mobile-calendar/mobile-calendar.component.d.ts +20 -22
- package/components/mobile-calendar/mobile-calendar.strategy.d.ts +3 -7
- package/components/mobile-calendar-dropdown/mobile-calendar-dropdown.component.d.ts +10 -12
- package/components/mobile-calendar-dropdown/mobile-calendar-dropdown.directive.d.ts +6 -6
- package/components/pull-to-refresh/pull-to-refresh.component.d.ts +8 -7
- package/components/sheet-dialog/sheet-dialog.component.d.ts +2 -2
- package/components/sheet-dialog/sheet-dialog.directive.d.ts +4 -3
- package/components/sheet-dialog/sheet-dialog.options.d.ts +4 -10
- package/components/sheet-dialog/sheet-dialog.service.d.ts +9 -4
- package/components/swipe-action/swipe-actions-auto-close.directive.d.ts +2 -2
- package/components/tab-bar/tab-bar-item.component.d.ts +3 -3
- package/components/tab-bar/tab-bar.component.d.ts +4 -7
- package/directives/dropdown-mobile/dropdown-mobile.component.d.ts +10 -14
- package/directives/dropdown-mobile/dropdown-mobile.directive.d.ts +1 -2
- package/directives/dropdown-sheet/dropdown-sheet.component.d.ts +14 -0
- package/directives/dropdown-sheet/dropdown-sheet.directive.d.ts +6 -0
- package/directives/dropdown-sheet/index.d.ts +2 -0
- package/directives/elastic-sticky/elastic-sticky.directive.d.ts +1 -2
- package/directives/index.d.ts +1 -1
- package/directives/responsive-dialog/responsive-dialog.directive.d.ts +5 -4
- package/directives/responsive-dialog/responsive-dialog.service.d.ts +4 -7
- package/directives/ripple/ripple.directive.d.ts +3 -3
- package/directives/touchable/touchable.directive.d.ts +5 -5
- package/fesm2022/taiga-ui-addon-mobile-components-bottom-sheet.mjs +14 -23
- package/fesm2022/taiga-ui-addon-mobile-components-bottom-sheet.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar-dropdown.mjs +35 -57
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar-sheet.mjs +10 -14
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar-sheet.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar.mjs +130 -165
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-pull-to-refresh.mjs +49 -60
- package/fesm2022/taiga-ui-addon-mobile-components-pull-to-refresh.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-sheet-dialog.mjs +62 -61
- package/fesm2022/taiga-ui-addon-mobile-components-sheet-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-swipe-action.mjs +12 -20
- package/fesm2022/taiga-ui-addon-mobile-components-swipe-action.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-tab-bar.mjs +32 -53
- package/fesm2022/taiga-ui-addon-mobile-components-tab-bar.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components.mjs +0 -1
- package/fesm2022/taiga-ui-addon-mobile-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-mobile.mjs +67 -90
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-mobile.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-sheet.mjs +83 -0
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-sheet.mjs.map +1 -0
- package/fesm2022/taiga-ui-addon-mobile-directives-elastic-sticky.mjs +12 -16
- package/fesm2022/taiga-ui-addon-mobile-directives-elastic-sticky.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-responsive-dialog.mjs +46 -29
- package/fesm2022/taiga-ui-addon-mobile-directives-responsive-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-ripple.mjs +21 -44
- package/fesm2022/taiga-ui-addon-mobile-directives-ripple.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-touchable.mjs +20 -27
- package/fesm2022/taiga-ui-addon-mobile-directives-touchable.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives.mjs +1 -1
- package/fesm2022/taiga-ui-addon-mobile-services.mjs +36 -7
- package/fesm2022/taiga-ui-addon-mobile-services.mjs.map +1 -1
- package/package.json +43 -81
- package/services/index.d.ts +1 -0
- package/services/theme-color.service.d.ts +18 -0
- package/styles/android/app-bar.less +1 -1
- package/styles/android/checkbox.less +2 -3
- package/styles/common/badge-notification.less +1 -1
- package/styles/common/badge.less +2 -3
- package/styles/common/block-status.less +1 -1
- package/styles/common/button.less +1 -1
- package/styles/common/card-large.less +1 -1
- package/styles/common/chip.less +3 -9
- package/styles/common/header.less +1 -1
- package/styles/common/message.less +1 -1
- package/styles/common/segmented.less +1 -1
- package/styles/common/title.less +0 -1
- package/styles/common/toast.less +3 -4
- package/styles/ios/checkbox.less +2 -4
- package/styles/ios/switch.less +51 -2
- package/components/mobile-dialog/index.d.ts +0 -3
- package/components/mobile-dialog/mobile-dialog.component.d.ts +0 -10
- package/components/mobile-dialog/mobile-dialog.options.d.ts +0 -12
- package/components/mobile-dialog/mobile-dialog.service.d.ts +0 -10
- package/directives/sidebar/index.d.ts +0 -3
- package/directives/sidebar/sidebar.component.d.ts +0 -21
- package/directives/sidebar/sidebar.d.ts +0 -6
- package/directives/sidebar/sidebar.directive.d.ts +0 -22
- package/esm2022/components/bottom-sheet/bottom-sheet.component.mjs +0 -50
- package/esm2022/components/bottom-sheet/index.mjs +0 -2
- package/esm2022/components/bottom-sheet/taiga-ui-addon-mobile-components-bottom-sheet.mjs +0 -5
- package/esm2022/components/index.mjs +0 -10
- package/esm2022/components/mobile-calendar/index.mjs +0 -5
- package/esm2022/components/mobile-calendar/mobile-calendar.component.mjs +0 -308
- package/esm2022/components/mobile-calendar/mobile-calendar.const.mjs +0 -35
- package/esm2022/components/mobile-calendar/mobile-calendar.providers.mjs +0 -27
- package/esm2022/components/mobile-calendar/mobile-calendar.strategy.mjs +0 -126
- package/esm2022/components/mobile-calendar/taiga-ui-addon-mobile-components-mobile-calendar.mjs +0 -5
- package/esm2022/components/mobile-calendar-dropdown/index.mjs +0 -3
- package/esm2022/components/mobile-calendar-dropdown/mobile-calendar-dropdown.component.mjs +0 -113
- package/esm2022/components/mobile-calendar-dropdown/mobile-calendar-dropdown.directive.mjs +0 -53
- package/esm2022/components/mobile-calendar-dropdown/taiga-ui-addon-mobile-components-mobile-calendar-dropdown.mjs +0 -5
- package/esm2022/components/mobile-calendar-sheet/index.mjs +0 -2
- package/esm2022/components/mobile-calendar-sheet/mobile-calendar-sheet.component.mjs +0 -25
- package/esm2022/components/mobile-calendar-sheet/taiga-ui-addon-mobile-components-mobile-calendar-sheet.mjs +0 -5
- package/esm2022/components/mobile-dialog/index.mjs +0 -4
- package/esm2022/components/mobile-dialog/mobile-dialog.component.mjs +0 -26
- package/esm2022/components/mobile-dialog/mobile-dialog.options.mjs +0 -17
- package/esm2022/components/mobile-dialog/mobile-dialog.service.mjs +0 -22
- package/esm2022/components/mobile-dialog/taiga-ui-addon-mobile-components-mobile-dialog.mjs +0 -5
- package/esm2022/components/pull-to-refresh/index.mjs +0 -6
- package/esm2022/components/pull-to-refresh/loader-android/loader-android.component.mjs +0 -46
- package/esm2022/components/pull-to-refresh/loader-ios/loader-ios.component.mjs +0 -39
- package/esm2022/components/pull-to-refresh/pull-to-refresh.component.mjs +0 -51
- package/esm2022/components/pull-to-refresh/pull-to-refresh.providers.mjs +0 -24
- package/esm2022/components/pull-to-refresh/pull-to-refresh.service.mjs +0 -37
- package/esm2022/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.mjs +0 -5
- package/esm2022/components/sheet-dialog/index.mjs +0 -5
- package/esm2022/components/sheet-dialog/sheet-dialog.component.mjs +0 -81
- package/esm2022/components/sheet-dialog/sheet-dialog.directive.mjs +0 -21
- package/esm2022/components/sheet-dialog/sheet-dialog.options.mjs +0 -24
- package/esm2022/components/sheet-dialog/sheet-dialog.service.mjs +0 -38
- package/esm2022/components/sheet-dialog/taiga-ui-addon-mobile-components-sheet-dialog.mjs +0 -5
- package/esm2022/components/swipe-action/index.mjs +0 -3
- package/esm2022/components/swipe-action/swipe-actions-auto-close.directive.mjs +0 -34
- package/esm2022/components/swipe-action/swipe-actions.component.mjs +0 -23
- package/esm2022/components/swipe-action/taiga-ui-addon-mobile-components-swipe-action.mjs +0 -5
- package/esm2022/components/tab-bar/index.mjs +0 -5
- package/esm2022/components/tab-bar/tab-bar-item.component.mjs +0 -26
- package/esm2022/components/tab-bar/tab-bar-item.directive.mjs +0 -27
- package/esm2022/components/tab-bar/tab-bar.component.mjs +0 -46
- package/esm2022/components/tab-bar/tab-bar.mjs +0 -9
- package/esm2022/components/tab-bar/taiga-ui-addon-mobile-components-tab-bar.mjs +0 -5
- package/esm2022/components/taiga-ui-addon-mobile-components.mjs +0 -5
- package/esm2022/directives/dropdown-mobile/dropdown-mobile.component.mjs +0 -98
- package/esm2022/directives/dropdown-mobile/dropdown-mobile.directive.mjs +0 -54
- package/esm2022/directives/dropdown-mobile/index.mjs +0 -3
- package/esm2022/directives/dropdown-mobile/taiga-ui-addon-mobile-directives-dropdown-mobile.mjs +0 -5
- package/esm2022/directives/elastic-sticky/elastic-sticky.directive.mjs +0 -23
- package/esm2022/directives/elastic-sticky/elastic-sticky.service.mjs +0 -53
- package/esm2022/directives/elastic-sticky/index.mjs +0 -3
- package/esm2022/directives/elastic-sticky/taiga-ui-addon-mobile-directives-elastic-sticky.mjs +0 -5
- package/esm2022/directives/index.mjs +0 -7
- package/esm2022/directives/responsive-dialog/index.mjs +0 -3
- package/esm2022/directives/responsive-dialog/responsive-dialog.directive.mjs +0 -21
- package/esm2022/directives/responsive-dialog/responsive-dialog.service.mjs +0 -34
- package/esm2022/directives/responsive-dialog/taiga-ui-addon-mobile-directives-responsive-dialog.mjs +0 -5
- package/esm2022/directives/ripple/index.mjs +0 -2
- package/esm2022/directives/ripple/ripple.directive.mjs +0 -98
- package/esm2022/directives/ripple/taiga-ui-addon-mobile-directives-ripple.mjs +0 -5
- package/esm2022/directives/sidebar/index.mjs +0 -4
- package/esm2022/directives/sidebar/sidebar.component.mjs +0 -45
- package/esm2022/directives/sidebar/sidebar.directive.mjs +0 -64
- package/esm2022/directives/sidebar/sidebar.mjs +0 -7
- package/esm2022/directives/sidebar/taiga-ui-addon-mobile-directives-sidebar.mjs +0 -5
- package/esm2022/directives/taiga-ui-addon-mobile-directives.mjs +0 -5
- package/esm2022/directives/touchable/index.mjs +0 -2
- package/esm2022/directives/touchable/taiga-ui-addon-mobile-directives-touchable.mjs +0 -5
- package/esm2022/directives/touchable/touchable.directive.mjs +0 -71
- package/esm2022/index.mjs +0 -4
- package/esm2022/services/index.mjs +0 -2
- package/esm2022/services/keyboard.service.mjs +0 -53
- package/esm2022/services/taiga-ui-addon-mobile-services.mjs +0 -5
- package/esm2022/taiga-ui-addon-mobile.mjs +0 -5
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-dialog.mjs +0 -65
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-dialog.mjs.map +0 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-sidebar.mjs +0 -114
- package/fesm2022/taiga-ui-addon-mobile-directives-sidebar.mjs.map +0 -1
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { MONTHS_IN_YEAR } from '@taiga-ui/cdk/date-time';
|
|
2
|
-
function getCycle(options) {
|
|
3
|
-
return Array.from({ length: options.yearCycle }, (_, i) => Array.from({ length: MONTHS_IN_YEAR }, (_, month) => options.label +
|
|
4
|
-
weekCount({ year: i, month, startingYear: options.startingYear }) *
|
|
5
|
-
options.week));
|
|
6
|
-
}
|
|
7
|
-
function weekCount(options) {
|
|
8
|
-
const firstOfMonth = new Date(options.year + options.startingYear, options.month, 1);
|
|
9
|
-
const lastOfMonth = new Date(options.year + options.startingYear, options.month + 1, 0);
|
|
10
|
-
const days = lastOfMonth.getDate() + (firstOfMonth.getDay() || 7) - 1;
|
|
11
|
-
return Math.ceil(days / 7);
|
|
12
|
-
}
|
|
13
|
-
export const SCROLL_DEBOUNCE_TIME = 80;
|
|
14
|
-
export const YEARS_IN_ROW = 5;
|
|
15
|
-
export const STARTING_YEAR = 1900;
|
|
16
|
-
export const RANGE = 196;
|
|
17
|
-
export const BUFFER = 500;
|
|
18
|
-
export const ANDROID_LABEL = 64;
|
|
19
|
-
export const ANDROID_WEEK = 48;
|
|
20
|
-
export const IOS_LABEL = 50;
|
|
21
|
-
export const IOS_WEEK = 50;
|
|
22
|
-
export const YEARLY_CYCLE = 28;
|
|
23
|
-
export const ANDROID_CYCLE = getCycle({
|
|
24
|
-
label: ANDROID_LABEL,
|
|
25
|
-
week: ANDROID_WEEK,
|
|
26
|
-
yearCycle: YEARLY_CYCLE,
|
|
27
|
-
startingYear: STARTING_YEAR,
|
|
28
|
-
});
|
|
29
|
-
export const IOS_CYCLE = getCycle({
|
|
30
|
-
label: IOS_LABEL,
|
|
31
|
-
week: IOS_WEEK,
|
|
32
|
-
yearCycle: YEARLY_CYCLE,
|
|
33
|
-
startingYear: STARTING_YEAR,
|
|
34
|
-
});
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyL21vYmlsZS1jYWxlbmRhci5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsU0FBUyxRQUFRLENBQUMsT0FLakI7SUFDRyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3BELEtBQUssQ0FBQyxJQUFJLENBQ04sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLEVBQ3hCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ1QsT0FBTyxDQUFDLEtBQUs7UUFDYixTQUFTLENBQUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBQyxDQUFDO1lBQzNELE9BQU8sQ0FBQyxJQUFJLENBQ3ZCLENBQ0osQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxPQUE0RDtJQUMzRSxNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRixNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FDeEIsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxFQUNuQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsRUFDakIsQ0FBQyxDQUNKLENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXRFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBQzVCLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDM0IsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2xDLEtBQUssRUFBRSxhQUFhO0lBQ3BCLElBQUksRUFBRSxZQUFZO0lBQ2xCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFlBQVksRUFBRSxhQUFhO0NBQzlCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxTQUFTLEVBQUUsWUFBWTtJQUN2QixZQUFZLEVBQUUsYUFBYTtDQUM5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01PTlRIU19JTl9ZRUFSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5cbmZ1bmN0aW9uIGdldEN5Y2xlKG9wdGlvbnM6IHtcbiAgICBsYWJlbDogbnVtYmVyO1xuICAgIHdlZWs6IG51bWJlcjtcbiAgICB5ZWFyQ3ljbGU6IG51bWJlcjtcbiAgICBzdGFydGluZ1llYXI6IG51bWJlcjtcbn0pOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IG51bWJlcltdPiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDogb3B0aW9ucy55ZWFyQ3ljbGV9LCAoXywgaSkgPT5cbiAgICAgICAgQXJyYXkuZnJvbShcbiAgICAgICAgICAgIHtsZW5ndGg6IE1PTlRIU19JTl9ZRUFSfSxcbiAgICAgICAgICAgIChfLCBtb250aCkgPT5cbiAgICAgICAgICAgICAgICBvcHRpb25zLmxhYmVsICtcbiAgICAgICAgICAgICAgICB3ZWVrQ291bnQoe3llYXI6IGksIG1vbnRoLCBzdGFydGluZ1llYXI6IG9wdGlvbnMuc3RhcnRpbmdZZWFyfSkgKlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLndlZWssXG4gICAgICAgICksXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gd2Vla0NvdW50KG9wdGlvbnM6IHt5ZWFyOiBudW1iZXI7IG1vbnRoOiBudW1iZXI7IHN0YXJ0aW5nWWVhcjogbnVtYmVyfSk6IG51bWJlciB7XG4gICAgY29uc3QgZmlyc3RPZk1vbnRoID0gbmV3IERhdGUob3B0aW9ucy55ZWFyICsgb3B0aW9ucy5zdGFydGluZ1llYXIsIG9wdGlvbnMubW9udGgsIDEpO1xuICAgIGNvbnN0IGxhc3RPZk1vbnRoID0gbmV3IERhdGUoXG4gICAgICAgIG9wdGlvbnMueWVhciArIG9wdGlvbnMuc3RhcnRpbmdZZWFyLFxuICAgICAgICBvcHRpb25zLm1vbnRoICsgMSxcbiAgICAgICAgMCxcbiAgICApO1xuICAgIGNvbnN0IGRheXMgPSBsYXN0T2ZNb250aC5nZXREYXRlKCkgKyAoZmlyc3RPZk1vbnRoLmdldERheSgpIHx8IDcpIC0gMTtcblxuICAgIHJldHVybiBNYXRoLmNlaWwoZGF5cyAvIDcpO1xufVxuXG5leHBvcnQgY29uc3QgU0NST0xMX0RFQk9VTkNFX1RJTUUgPSA4MDtcbmV4cG9ydCBjb25zdCBZRUFSU19JTl9ST1cgPSA1O1xuZXhwb3J0IGNvbnN0IFNUQVJUSU5HX1lFQVIgPSAxOTAwO1xuZXhwb3J0IGNvbnN0IFJBTkdFID0gMTk2O1xuZXhwb3J0IGNvbnN0IEJVRkZFUiA9IDUwMDtcbmV4cG9ydCBjb25zdCBBTkRST0lEX0xBQkVMID0gNjQ7XG5leHBvcnQgY29uc3QgQU5EUk9JRF9XRUVLID0gNDg7XG5leHBvcnQgY29uc3QgSU9TX0xBQkVMID0gNTA7XG5leHBvcnQgY29uc3QgSU9TX1dFRUsgPSA1MDtcbmV4cG9ydCBjb25zdCBZRUFSTFlfQ1lDTEUgPSAyODtcblxuZXhwb3J0IGNvbnN0IEFORFJPSURfQ1lDTEUgPSBnZXRDeWNsZSh7XG4gICAgbGFiZWw6IEFORFJPSURfTEFCRUwsXG4gICAgd2VlazogQU5EUk9JRF9XRUVLLFxuICAgIHllYXJDeWNsZTogWUVBUkxZX0NZQ0xFLFxuICAgIHN0YXJ0aW5nWWVhcjogU1RBUlRJTkdfWUVBUixcbn0pO1xuXG5leHBvcnQgY29uc3QgSU9TX0NZQ0xFID0gZ2V0Q3ljbGUoe1xuICAgIGxhYmVsOiBJT1NfTEFCRUwsXG4gICAgd2VlazogSU9TX1dFRUssXG4gICAgeWVhckN5Y2xlOiBZRUFSTFlfQ1lDTEUsXG4gICAgc3RhcnRpbmdZZWFyOiBTVEFSVElOR19ZRUFSLFxufSk7XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { VIRTUAL_SCROLL_STRATEGY } from '@angular/cdk/scrolling';
|
|
2
|
-
import { InjectionToken, Optional } from '@angular/core';
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { tuiWatch } from '@taiga-ui/cdk/observables';
|
|
5
|
-
import { TuiScrollService } from '@taiga-ui/cdk/services';
|
|
6
|
-
import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
|
|
7
|
-
import { TUI_CALENDAR_DATE_STREAM } from '@taiga-ui/kit/tokens';
|
|
8
|
-
import { EMPTY } from 'rxjs';
|
|
9
|
-
import { TuiMobileCalendarStrategy } from './mobile-calendar.strategy';
|
|
10
|
-
/**
|
|
11
|
-
* Stream for updating value
|
|
12
|
-
*/
|
|
13
|
-
export const TUI_VALUE_STREAM = new InjectionToken(ngDevMode ? 'TUI_VALUE_STREAM' : '');
|
|
14
|
-
export const TUI_MOBILE_CALENDAR_PROVIDERS = [
|
|
15
|
-
TuiScrollService,
|
|
16
|
-
{
|
|
17
|
-
provide: VIRTUAL_SCROLL_STRATEGY,
|
|
18
|
-
deps: [TUI_IS_IOS, TuiScrollService],
|
|
19
|
-
useClass: TuiMobileCalendarStrategy,
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
provide: TUI_VALUE_STREAM,
|
|
23
|
-
deps: [[new Optional(), TUI_CALENDAR_DATE_STREAM]],
|
|
24
|
-
useFactory: (value$) => (value$ || EMPTY).pipe(tuiWatch(), takeUntilDestroyed()),
|
|
25
|
-
},
|
|
26
|
-
];
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci9tb2JpbGUtY2FsZW5kYXIucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxjQUFjLEVBQUUsUUFBUSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBQyxLQUFLLEVBQWtCLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXJFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQzlDLFNBQVMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFlO0lBQ3JELGdCQUFnQjtJQUNoQjtRQUNJLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDO1FBQ3BDLFFBQVEsRUFBRSx5QkFBeUI7S0FDdEM7SUFDRDtRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFDbEQsVUFBVSxFQUFFLENBQ1IsTUFBNkMsRUFDZixFQUFFLENBQ2hDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0tBQy9EO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VklSVFVBTF9TQ1JPTExfU1RSQVRFR1l9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIHR5cGUgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHlwZSBUdWlEYXlSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHt0dWlXYXRjaH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1R1aVNjcm9sbFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge1RVSV9DQUxFTkRBUl9EQVRFX1NUUkVBTX0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtFTVBUWSwgdHlwZSBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlNb2JpbGVDYWxlbmRhclN0cmF0ZWd5fSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5zdHJhdGVneSc7XG5cbi8qKlxuICogU3RyZWFtIGZvciB1cGRhdGluZyB2YWx1ZVxuICovXG5leHBvcnQgY29uc3QgVFVJX1ZBTFVFX1NUUkVBTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPFR1aURheVJhbmdlIHwgbnVsbD4+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfVkFMVUVfU1RSRUFNJyA6ICcnLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aVNjcm9sbFNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBWSVJUVUFMX1NDUk9MTF9TVFJBVEVHWSxcbiAgICAgICAgZGVwczogW1RVSV9JU19JT1MsIFR1aVNjcm9sbFNlcnZpY2VdLFxuICAgICAgICB1c2VDbGFzczogVHVpTW9iaWxlQ2FsZW5kYXJTdHJhdGVneSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1ZBTFVFX1NUUkVBTSxcbiAgICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgVFVJX0NBTEVOREFSX0RBVEVfU1RSRUFNXV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgICAgIHZhbHVlJDogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZSB8IG51bGw+IHwgbnVsbCxcbiAgICAgICAgKTogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZSB8IG51bGw+ID0+XG4gICAgICAgICAgICAodmFsdWUkIHx8IEVNUFRZKS5waXBlKHR1aVdhdGNoKCksIHRha2VVbnRpbERlc3Ryb3llZCgpKSxcbiAgICB9LFxuXTtcbiJdfQ==
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { MONTHS_IN_YEAR } from '@taiga-ui/cdk/date-time';
|
|
3
|
-
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
4
|
-
import { distinctUntilChanged, Subject, takeUntil } from 'rxjs';
|
|
5
|
-
import { ANDROID_CYCLE, BUFFER, IOS_CYCLE, RANGE, YEARLY_CYCLE, } from './mobile-calendar.const';
|
|
6
|
-
const ANDROID_CYCLE_HEIGHT = reduceCycle(ANDROID_CYCLE);
|
|
7
|
-
const IOS_CYCLE_HEIGHT = reduceCycle(IOS_CYCLE);
|
|
8
|
-
function reduceCycle(cycle, lastYear = 28, lastMonth = 12) {
|
|
9
|
-
return cycle.reduce((total, year, yearIndex) => yearIndex <= lastYear
|
|
10
|
-
? total +
|
|
11
|
-
year.reduce((sum, month, monthIndex) => yearIndex < lastYear ||
|
|
12
|
-
(yearIndex === lastYear && monthIndex < lastMonth)
|
|
13
|
-
? sum + month
|
|
14
|
-
: sum, 0)
|
|
15
|
-
: total, 0);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* This scroll strategy is hard wired with styles for iOS and Android.
|
|
19
|
-
* It is dependent on month height on those platforms and is designed to
|
|
20
|
-
* work for {@link TuiMobileCalendar} with years 1906 to 2102
|
|
21
|
-
*/
|
|
22
|
-
export class TuiMobileCalendarStrategy {
|
|
23
|
-
constructor(isIOS, scrollService) {
|
|
24
|
-
this.isIOS = isIOS;
|
|
25
|
-
this.scrollService = scrollService;
|
|
26
|
-
this.index$ = new Subject();
|
|
27
|
-
this.viewport = null;
|
|
28
|
-
this.destroy$ = new Subject();
|
|
29
|
-
}
|
|
30
|
-
get scrolledIndexChange() {
|
|
31
|
-
return this.index$.pipe(distinctUntilChanged());
|
|
32
|
-
}
|
|
33
|
-
attach(viewport) {
|
|
34
|
-
const cycle = this.isIOS ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;
|
|
35
|
-
this.viewport = viewport;
|
|
36
|
-
this.viewport.setTotalContentSize(cycle * 7);
|
|
37
|
-
this.updateRenderedRange(this.viewport);
|
|
38
|
-
}
|
|
39
|
-
detach() {
|
|
40
|
-
this.index$.complete();
|
|
41
|
-
this.viewport = null;
|
|
42
|
-
this.destroy$.next();
|
|
43
|
-
this.destroy$.complete();
|
|
44
|
-
}
|
|
45
|
-
onContentScrolled() {
|
|
46
|
-
if (this.viewport) {
|
|
47
|
-
this.updateRenderedRange(this.viewport);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/** These do not matter for this case */
|
|
51
|
-
onDataLengthChanged() { }
|
|
52
|
-
onContentRendered() { }
|
|
53
|
-
onRenderedOffsetChanged() { }
|
|
54
|
-
scrollToIndex(index, behavior) {
|
|
55
|
-
if (!this.viewport) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const scrollTop = this.getOffsetForIndex(index);
|
|
59
|
-
if (behavior !== 'smooth') {
|
|
60
|
-
this.viewport.scrollToOffset(scrollTop, behavior);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
this.scrollService
|
|
64
|
-
.scroll$(this.viewport.elementRef.nativeElement, scrollTop)
|
|
65
|
-
.pipe(takeUntil(this.destroy$))
|
|
66
|
-
.subscribe();
|
|
67
|
-
}
|
|
68
|
-
getOffsetForIndex(index) {
|
|
69
|
-
const month = index % MONTHS_IN_YEAR;
|
|
70
|
-
const year = (index - month) / MONTHS_IN_YEAR;
|
|
71
|
-
return this.computeHeight(year, month);
|
|
72
|
-
}
|
|
73
|
-
getIndexForOffset(offset) {
|
|
74
|
-
const cycle = this.isIOS ? IOS_CYCLE : ANDROID_CYCLE;
|
|
75
|
-
const cycleHeight = this.isIOS ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;
|
|
76
|
-
const remainder = offset % cycleHeight;
|
|
77
|
-
const years = ((offset - remainder) / cycleHeight) * YEARLY_CYCLE;
|
|
78
|
-
let accumulator = 0;
|
|
79
|
-
for (let year = 0; year < cycle.length; year++) {
|
|
80
|
-
for (let month = 0; month < (cycle[year]?.length ?? 0); month++) {
|
|
81
|
-
accumulator += cycle[year]?.[month] ?? 0;
|
|
82
|
-
if (accumulator - (cycle[year]?.[month] ?? 0) / 2 > remainder) {
|
|
83
|
-
return Math.max((years + year) * MONTHS_IN_YEAR + month, 0);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return RANGE;
|
|
88
|
-
}
|
|
89
|
-
computeHeight(year, month) {
|
|
90
|
-
const cycle = this.isIOS ? IOS_CYCLE : ANDROID_CYCLE;
|
|
91
|
-
const remainder = year % YEARLY_CYCLE;
|
|
92
|
-
const remainderHeight = reduceCycle(cycle, remainder, month);
|
|
93
|
-
const fullCycles = (year - remainder) / YEARLY_CYCLE;
|
|
94
|
-
const fullCyclesHeight = this.isIOS
|
|
95
|
-
? fullCycles * IOS_CYCLE_HEIGHT
|
|
96
|
-
: fullCycles * ANDROID_CYCLE_HEIGHT;
|
|
97
|
-
return fullCyclesHeight + remainderHeight;
|
|
98
|
-
}
|
|
99
|
-
updateRenderedRange(viewport) {
|
|
100
|
-
const offset = viewport.measureScrollOffset();
|
|
101
|
-
const { start, end } = viewport.getRenderedRange();
|
|
102
|
-
const viewportSize = viewport.getViewportSize();
|
|
103
|
-
const dataLength = viewport.getDataLength();
|
|
104
|
-
const newRange = { start, end };
|
|
105
|
-
const firstVisibleIndex = this.getIndexForOffset(offset);
|
|
106
|
-
const startBuffer = offset - this.getOffsetForIndex(start);
|
|
107
|
-
if (startBuffer < BUFFER && start !== 0) {
|
|
108
|
-
newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER * 2));
|
|
109
|
-
newRange.end = Math.min(dataLength, this.getIndexForOffset(offset + viewportSize + BUFFER));
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
const endBuffer = this.getOffsetForIndex(end) - offset - viewportSize;
|
|
113
|
-
if (endBuffer < BUFFER && end !== dataLength) {
|
|
114
|
-
newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER));
|
|
115
|
-
newRange.end = Math.min(dataLength, this.getIndexForOffset(offset + viewportSize + BUFFER * 2));
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
viewport.setRenderedRange(newRange);
|
|
119
|
-
viewport.setRenderedContentOffset(this.getOffsetForIndex(newRange.start));
|
|
120
|
-
this.index$.next(firstVisibleIndex);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
__decorate([
|
|
124
|
-
tuiPure
|
|
125
|
-
], TuiMobileCalendarStrategy.prototype, "scrolledIndexChange", null);
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyL21vYmlsZS1jYWxlbmRhci5zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXZELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQW1CLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFL0UsT0FBTyxFQUNILGFBQWEsRUFDYixNQUFNLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN4RCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVoRCxTQUFTLFdBQVcsQ0FDaEIsS0FBdUMsRUFDdkMsUUFBUSxHQUFHLEVBQUUsRUFDYixTQUFTLEdBQUcsRUFBRTtJQUVkLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDZixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDdkIsU0FBUyxJQUFJLFFBQVE7UUFDakIsQ0FBQyxDQUFDLEtBQUs7WUFDTCxJQUFJLENBQUMsTUFBTSxDQUNQLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUN2QixTQUFTLEdBQUcsUUFBUTtnQkFDcEIsQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQzlDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSztnQkFDYixDQUFDLENBQUMsR0FBRyxFQUNi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QU0sQ0FBQyxDQUN6RCxDQUFDO1NBQ0w7YUFBTTtZQUNILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBRXRFLElBQUksU0FBUyxHQUFHLE1BQU0sSUFBSSxHQUFHLEtBQUssVUFBVSxFQUFFO2dCQUMxQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEUsUUFBUSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUNuQixVQUFVLEVBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxZQUFZLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUM3RCxDQUFDO2FBQ0w7U0FDSjtRQUVELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNKO0FBeEhHO0lBREMsT0FBTztvRUFHUCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgdHlwZSBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsXG4gICAgdHlwZSBWaXJ0dWFsU2Nyb2xsU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtNT05USFNfSU5fWUVBUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHt0eXBlIFR1aVNjcm9sbFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdHlwZSBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWx9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIEFORFJPSURfQ1lDTEUsXG4gICAgQlVGRkVSLFxuICAgIElPU19DWUNMRSxcbiAgICBSQU5HRSxcbiAgICBZRUFSTFlfQ1lDTEUsXG59IGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLmNvbnN0JztcblxuY29uc3QgQU5EUk9JRF9DWUNMRV9IRUlHSFQgPSByZWR1Y2VDeWNsZShBTkRST0lEX0NZQ0xFKTtcbmNvbnN0IElPU19DWUNMRV9IRUlHSFQgPSByZWR1Y2VDeWNsZShJT1NfQ1lDTEUpO1xuXG5mdW5jdGlvbiByZWR1Y2VDeWNsZShcbiAgICBjeWNsZTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBudW1iZXJbXT4sXG4gICAgbGFzdFllYXIgPSAyOCxcbiAgICBsYXN0TW9udGggPSAxMixcbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGN5Y2xlLnJlZHVjZShcbiAgICAgICAgKHRvdGFsLCB5ZWFyLCB5ZWFySW5kZXgpID0+XG4gICAgICAgICAgICB5ZWFySW5kZXggPD0gbGFzdFllYXJcbiAgICAgICAgICAgICAgICA/IHRvdGFsICtcbiAgICAgICAgICAgICAgICAgIHllYXIucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAgIChzdW0sIG1vbnRoLCBtb250aEluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWFySW5kZXggPCBsYXN0WWVhciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAoeWVhckluZGV4ID09PSBsYXN0WWVhciAmJiBtb250aEluZGV4IDwgbGFzdE1vbnRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBzdW0gKyBtb250aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBzdW0sXG4gICAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRvdGFsLFxuICAgICAgICAwLFxuICAgICk7XG59XG5cbi8qKlxuICogVGhpcyBzY3JvbGwgc3RyYXRlZ3kgaXMgaGFyZCB3aXJlZCB3aXRoIHN0eWxlcyBmb3IgaU9TIGFuZCBBbmRyb2lkLlxuICogSXQgaXMgZGVwZW5kZW50IG9uIG1vbnRoIGhlaWdodCBvbiB0aG9zZSBwbGF0Zm9ybXMgYW5kIGlzIGRlc2lnbmVkIHRvXG4gKiB3b3JrIGZvciB7QGxpbmsgVHVpTW9iaWxlQ2FsZW5kYXJ9IHdpdGggeWVhcnMgMTkwNiB0byAyMTAyXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlNb2JpbGVDYWxlbmRhclN0cmF0ZWd5IGltcGxlbWVudHMgVmlydHVhbFNjcm9sbFN0cmF0ZWd5IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluZGV4JCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICAgIHByaXZhdGUgdmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpc0lPUzogYm9vbGVhbixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxTZXJ2aWNlOiBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgICkge31cblxuICAgIEB0dWlQdXJlXG4gICAgcHVibGljIGdldCBzY3JvbGxlZEluZGV4Q2hhbmdlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4JC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhdHRhY2godmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjeWNsZSA9IHRoaXMuaXNJT1MgPyBJT1NfQ1lDTEVfSEVJR0hUIDogQU5EUk9JRF9DWUNMRV9IRUlHSFQ7XG5cbiAgICAgICAgdGhpcy52aWV3cG9ydCA9IHZpZXdwb3J0O1xuICAgICAgICB0aGlzLnZpZXdwb3J0LnNldFRvdGFsQ29udGVudFNpemUoY3ljbGUgKiA3KTtcbiAgICAgICAgdGhpcy51cGRhdGVSZW5kZXJlZFJhbmdlKHRoaXMudmlld3BvcnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXRhY2goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5kZXgkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudmlld3BvcnQgPSBudWxsO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNvbnRlbnRTY3JvbGxlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmlld3BvcnQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUmVuZGVyZWRSYW5nZSh0aGlzLnZpZXdwb3J0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBUaGVzZSBkbyBub3QgbWF0dGVyIGZvciB0aGlzIGNhc2UgKi9cbiAgICBwdWJsaWMgb25EYXRhTGVuZ3RoQ2hhbmdlZCgpOiB2b2lkIHt9XG4gICAgcHVibGljIG9uQ29udGVudFJlbmRlcmVkKCk6IHZvaWQge31cbiAgICBwdWJsaWMgb25SZW5kZXJlZE9mZnNldENoYW5nZWQoKTogdm9pZCB7fVxuXG4gICAgcHVibGljIHNjcm9sbFRvSW5kZXgoaW5kZXg6IG51bWJlciwgYmVoYXZpb3I6IFNjcm9sbEJlaGF2aW9yKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy52aWV3cG9ydCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5nZXRPZmZzZXRGb3JJbmRleChpbmRleCk7XG5cbiAgICAgICAgaWYgKGJlaGF2aW9yICE9PSAnc21vb3RoJykge1xuICAgICAgICAgICAgdGhpcy52aWV3cG9ydC5zY3JvbGxUb09mZnNldChzY3JvbGxUb3AsIGJlaGF2aW9yKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zY3JvbGxTZXJ2aWNlXG4gICAgICAgICAgICAuc2Nyb2xsJCh0aGlzLnZpZXdwb3J0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgc2Nyb2xsVG9wKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T2Zmc2V0Rm9ySW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gaW5kZXggJSBNT05USFNfSU5fWUVBUjtcbiAgICAgICAgY29uc3QgeWVhciA9IChpbmRleCAtIG1vbnRoKSAvIE1PTlRIU19JTl9ZRUFSO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVIZWlnaHQoeWVhciwgbW9udGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW5kZXhGb3JPZmZzZXQob2Zmc2V0OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBjeWNsZSA9IHRoaXMuaXNJT1MgPyBJT1NfQ1lDTEUgOiBBTkRST0lEX0NZQ0xFO1xuICAgICAgICBjb25zdCBjeWNsZUhlaWdodCA9IHRoaXMuaXNJT1MgPyBJT1NfQ1lDTEVfSEVJR0hUIDogQU5EUk9JRF9DWUNMRV9IRUlHSFQ7XG4gICAgICAgIGNvbnN0IHJlbWFpbmRlciA9IG9mZnNldCAlIGN5Y2xlSGVpZ2h0O1xuICAgICAgICBjb25zdCB5ZWFycyA9ICgob2Zmc2V0IC0gcmVtYWluZGVyKSAvIGN5Y2xlSGVpZ2h0KSAqIFlFQVJMWV9DWUNMRTtcblxuICAgICAgICBsZXQgYWNjdW11bGF0b3IgPSAwO1xuXG4gICAgICAgIGZvciAobGV0IHllYXIgPSAwOyB5ZWFyIDwgY3ljbGUubGVuZ3RoOyB5ZWFyKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IG1vbnRoID0gMDsgbW9udGggPCAoY3ljbGVbeWVhcl0/Lmxlbmd0aCA/PyAwKTsgbW9udGgrKykge1xuICAgICAgICAgICAgICAgIGFjY3VtdWxhdG9yICs9IGN5Y2xlW3llYXJdPy5bbW9udGhdID8/IDA7XG5cbiAgICAgICAgICAgICAgICBpZiAoYWNjdW11bGF0b3IgLSAoY3ljbGVbeWVhcl0/Llttb250aF0gPz8gMCkgLyAyID4gcmVtYWluZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLm1heCgoeWVhcnMgKyB5ZWFyKSAqIE1PTlRIU19JTl9ZRUFSICsgbW9udGgsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBSQU5HRTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVIZWlnaHQoeWVhcjogbnVtYmVyLCBtb250aD86IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGN5Y2xlID0gdGhpcy5pc0lPUyA/IElPU19DWUNMRSA6IEFORFJPSURfQ1lDTEU7XG4gICAgICAgIGNvbnN0IHJlbWFpbmRlciA9IHllYXIgJSBZRUFSTFlfQ1lDTEU7XG4gICAgICAgIGNvbnN0IHJlbWFpbmRlckhlaWdodCA9IHJlZHVjZUN5Y2xlKGN5Y2xlLCByZW1haW5kZXIsIG1vbnRoKTtcbiAgICAgICAgY29uc3QgZnVsbEN5Y2xlcyA9ICh5ZWFyIC0gcmVtYWluZGVyKSAvIFlFQVJMWV9DWUNMRTtcbiAgICAgICAgY29uc3QgZnVsbEN5Y2xlc0hlaWdodCA9IHRoaXMuaXNJT1NcbiAgICAgICAgICAgID8gZnVsbEN5Y2xlcyAqIElPU19DWUNMRV9IRUlHSFRcbiAgICAgICAgICAgIDogZnVsbEN5Y2xlcyAqIEFORFJPSURfQ1lDTEVfSEVJR0hUO1xuXG4gICAgICAgIHJldHVybiBmdWxsQ3ljbGVzSGVpZ2h0ICsgcmVtYWluZGVySGVpZ2h0O1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUmVuZGVyZWRSYW5nZSh2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHZpZXdwb3J0Lm1lYXN1cmVTY3JvbGxPZmZzZXQoKTtcbiAgICAgICAgY29uc3Qge3N0YXJ0LCBlbmR9ID0gdmlld3BvcnQuZ2V0UmVuZGVyZWRSYW5nZSgpO1xuICAgICAgICBjb25zdCB2aWV3cG9ydFNpemUgPSB2aWV3cG9ydC5nZXRWaWV3cG9ydFNpemUoKTtcbiAgICAgICAgY29uc3QgZGF0YUxlbmd0aCA9IHZpZXdwb3J0LmdldERhdGFMZW5ndGgoKTtcbiAgICAgICAgY29uc3QgbmV3UmFuZ2UgPSB7c3RhcnQsIGVuZH07XG4gICAgICAgIGNvbnN0IGZpcnN0VmlzaWJsZUluZGV4ID0gdGhpcy5nZXRJbmRleEZvck9mZnNldChvZmZzZXQpO1xuICAgICAgICBjb25zdCBzdGFydEJ1ZmZlciA9IG9mZnNldCAtIHRoaXMuZ2V0T2Zmc2V0Rm9ySW5kZXgoc3RhcnQpO1xuXG4gICAgICAgIGlmIChzdGFydEJ1ZmZlciA8IEJVRkZFUiAmJiBzdGFydCAhPT0gMCkge1xuICAgICAgICAgICAgbmV3UmFuZ2Uuc3RhcnQgPSBNYXRoLm1heCgwLCB0aGlzLmdldEluZGV4Rm9yT2Zmc2V0KG9mZnNldCAtIEJVRkZFUiAqIDIpKTtcbiAgICAgICAgICAgIG5ld1JhbmdlLmVuZCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgIGRhdGFMZW5ndGgsXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRJbmRleEZvck9mZnNldChvZmZzZXQgKyB2aWV3cG9ydFNpemUgKyBCVUZGRVIpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZEJ1ZmZlciA9IHRoaXMuZ2V0T2Zmc2V0Rm9ySW5kZXgoZW5kKSAtIG9mZnNldCAtIHZpZXdwb3J0U2l6ZTtcblxuICAgICAgICAgICAgaWYgKGVuZEJ1ZmZlciA8IEJVRkZFUiAmJiBlbmQgIT09IGRhdGFMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBuZXdSYW5nZS5zdGFydCA9IE1hdGgubWF4KDAsIHRoaXMuZ2V0SW5kZXhGb3JPZmZzZXQob2Zmc2V0IC0gQlVGRkVSKSk7XG4gICAgICAgICAgICAgICAgbmV3UmFuZ2UuZW5kID0gTWF0aC5taW4oXG4gICAgICAgICAgICAgICAgICAgIGRhdGFMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0SW5kZXhGb3JPZmZzZXQob2Zmc2V0ICsgdmlld3BvcnRTaXplICsgQlVGRkVSICogMiksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZpZXdwb3J0LnNldFJlbmRlcmVkUmFuZ2UobmV3UmFuZ2UpO1xuICAgICAgICB2aWV3cG9ydC5zZXRSZW5kZXJlZENvbnRlbnRPZmZzZXQodGhpcy5nZXRPZmZzZXRGb3JJbmRleChuZXdSYW5nZS5zdGFydCkpO1xuICAgICAgICB0aGlzLmluZGV4JC5uZXh0KGZpcnN0VmlzaWJsZUluZGV4KTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/components/mobile-calendar/taiga-ui-addon-mobile-components-mobile-calendar.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tbW9iaWxlLWNvbXBvbmVudHMtbW9iaWxlLWNhbGVuZGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyL3RhaWdhLXVpLWFkZG9uLW1vYmlsZS1jb21wb25lbnRzLW1vYmlsZS1jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './mobile-calendar-dropdown.component';
|
|
2
|
-
export * from './mobile-calendar-dropdown.directive';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, computed, inject, } from '@angular/core';
|
|
3
|
-
import { TuiMobileCalendar } from '@taiga-ui/addon-mobile/components/mobile-calendar';
|
|
4
|
-
import { TuiKeyboardService } from '@taiga-ui/addon-mobile/services';
|
|
5
|
-
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
6
|
-
import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
7
|
-
import { TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiDayRange, } from '@taiga-ui/cdk/date-time';
|
|
8
|
-
import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
|
|
9
|
-
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
10
|
-
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
11
|
-
import { TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
|
|
12
|
-
import { calculateDisabledItemHandler, TUI_DAY_CAPS_MAPPER, } from '@taiga-ui/kit/components/calendar-range';
|
|
13
|
-
import { TUI_MOBILE_CALENDAR } from '@taiga-ui/kit/tokens';
|
|
14
|
-
import { injectContext } from '@taiga-ui/polymorpheus';
|
|
15
|
-
import { TuiMobileCalendarDropdownNew } from './mobile-calendar-dropdown.directive';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "@taiga-ui/cdk/directives/active-zone";
|
|
18
|
-
import * as i2 from "@taiga-ui/cdk/directives/animated";
|
|
19
|
-
// TODO: Rename to TuiMobileCalendarDropdownComponent in v5, this component is terrible and needs a complete rewrite
|
|
20
|
-
class TuiMobileCalendarDropdown {
|
|
21
|
-
constructor() {
|
|
22
|
-
// TODO: Rework to use TuiDropdownOpenDirective so the focus returns to the field on closing
|
|
23
|
-
this.dropdown = inject(TuiDropdownDirective, { optional: true });
|
|
24
|
-
this.keyboard = inject(TuiKeyboardService);
|
|
25
|
-
this.context = injectContext({ optional: true });
|
|
26
|
-
this.observer = this.context?.$implicit;
|
|
27
|
-
this.data = this.context?.data || {};
|
|
28
|
-
this.selectedPeriod = null;
|
|
29
|
-
// TODO: Refactor to proper Date, DateMulti and DateRange components after they are added to kit
|
|
30
|
-
this.control = inject(TuiControl, { optional: true });
|
|
31
|
-
this.directive = inject(TuiMobileCalendarDropdownNew, { optional: true });
|
|
32
|
-
this.range = !!this.directive?.range || this.is('tui-input-date-range');
|
|
33
|
-
this.multi = this.data.multi || this.is('tui-input-date[multiple]');
|
|
34
|
-
this.single = !!this.directive?.single ||
|
|
35
|
-
!!this.directive?.dateTime ||
|
|
36
|
-
this.data.single || // TODO(v5): use `rangeMode` from DI token `TUI_CALENDAR_SHEET_DEFAULT_OPTIONS`
|
|
37
|
-
this.is('tui-input-date:not([multiple])');
|
|
38
|
-
this.value = computed((value = this.directive?.date?.value()) => Array.isArray(value) ? value[0] : value);
|
|
39
|
-
this.keyboard.hide();
|
|
40
|
-
}
|
|
41
|
-
max() {
|
|
42
|
-
return (this.directive?.date?.max() ??
|
|
43
|
-
(this.data.max ||
|
|
44
|
-
(this.range
|
|
45
|
-
? TUI_DAY_CAPS_MAPPER(this.control.max, this.selectedPeriod, this.control.maxLength, false)
|
|
46
|
-
: this.control?.max) ||
|
|
47
|
-
TUI_LAST_DAY));
|
|
48
|
-
}
|
|
49
|
-
min() {
|
|
50
|
-
return (this.directive?.date?.min() ??
|
|
51
|
-
(this.data.min ||
|
|
52
|
-
(this.range
|
|
53
|
-
? TUI_DAY_CAPS_MAPPER(this.control.min, this.selectedPeriod, this.control.maxLength, true)
|
|
54
|
-
: this.control?.min) ||
|
|
55
|
-
TUI_FIRST_DAY));
|
|
56
|
-
}
|
|
57
|
-
onValueChange(value) {
|
|
58
|
-
if (!this.range) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (value === null || value instanceof TuiDayRange) {
|
|
62
|
-
this.selectedPeriod = value;
|
|
63
|
-
}
|
|
64
|
-
else if (value instanceof TuiDay) {
|
|
65
|
-
this.selectedPeriod = new TuiDayRange(value, value);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
get calculatedDisabledItemHandler() {
|
|
69
|
-
return this.calculateDisabledItemHandler(this.directive?.handlers.disabledItemHandler() ||
|
|
70
|
-
this.data.disabledItemHandler ||
|
|
71
|
-
this.control?.disabledItemHandler ||
|
|
72
|
-
TUI_FALSE_HANDLER, this.selectedPeriod, this.control?.minLength ?? null);
|
|
73
|
-
}
|
|
74
|
-
close() {
|
|
75
|
-
this.dropdown?.toggle(false);
|
|
76
|
-
this.observer?.complete();
|
|
77
|
-
this.keyboard.show();
|
|
78
|
-
}
|
|
79
|
-
confirm(value) {
|
|
80
|
-
const normalizedValue = this.range ? this.selectedPeriod : value;
|
|
81
|
-
if (this.control) {
|
|
82
|
-
this.control.value = normalizedValue;
|
|
83
|
-
}
|
|
84
|
-
if (normalizedValue) {
|
|
85
|
-
this.directive?.date?.setDate(normalizedValue);
|
|
86
|
-
}
|
|
87
|
-
this.observer?.next(normalizedValue);
|
|
88
|
-
this.close();
|
|
89
|
-
}
|
|
90
|
-
calculateDisabledItemHandler(disabledItemHandler, value, minLength) {
|
|
91
|
-
return calculateDisabledItemHandler(disabledItemHandler, value, minLength);
|
|
92
|
-
}
|
|
93
|
-
is(selector) {
|
|
94
|
-
return !!this.dropdown?.el.closest(selector);
|
|
95
|
-
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarDropdown, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMobileCalendarDropdown, isStandalone: true, selector: "tui-mobile-calendar-dropdown", hostDirectives: [{ directive: i1.TuiActiveZone }, { directive: i2.TuiAnimated }], ngImport: i0, template: "<tui-mobile-calendar\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [max]=\"max()\"\n [min]=\"min()\"\n [multi]=\"multi\"\n [single]=\"single\"\n [value]=\"value()\"\n (cancel)=\"close()\"\n (confirm)=\"confirm($event)\"\n (valueChange)=\"onValueChange($event)\"\n/>\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;background:var(--tui-background-elevation-1);box-shadow:0 10rem var(--tui-background-elevation-1),0 -90vh 1rem 2rem var(--tui-service-backdrop);block-size:calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}\n"], dependencies: [{ kind: "component", type: TuiMobileCalendar, selector: "tui-mobile-calendar", inputs: ["single", "multi", "min", "max", "disabledItemHandler", "value"], outputs: ["cancel", "confirm", "valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
98
|
-
}
|
|
99
|
-
__decorate([
|
|
100
|
-
tuiPure
|
|
101
|
-
], TuiMobileCalendarDropdown.prototype, "calculateDisabledItemHandler", null);
|
|
102
|
-
export { TuiMobileCalendarDropdown };
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarDropdown, decorators: [{
|
|
104
|
-
type: Component,
|
|
105
|
-
args: [{ standalone: true, selector: 'tui-mobile-calendar-dropdown', imports: [TuiMobileCalendar], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiActiveZone, TuiAnimated], template: "<tui-mobile-calendar\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [max]=\"max()\"\n [min]=\"min()\"\n [multi]=\"multi\"\n [single]=\"single\"\n [value]=\"value()\"\n (cancel)=\"close()\"\n (confirm)=\"confirm($event)\"\n (valueChange)=\"onValueChange($event)\"\n/>\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;background:var(--tui-background-elevation-1);box-shadow:0 10rem var(--tui-background-elevation-1),0 -90vh 1rem 2rem var(--tui-service-backdrop);block-size:calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}\n"] }]
|
|
106
|
-
}], ctorParameters: function () { return []; }, propDecorators: { calculateDisabledItemHandler: [] } });
|
|
107
|
-
export function tuiProvideMobileCalendar() {
|
|
108
|
-
return {
|
|
109
|
-
provide: TUI_MOBILE_CALENDAR,
|
|
110
|
-
useValue: TuiMobileCalendarDropdown,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsYUFBYSxFQUNiLFlBQVksRUFDWixNQUFNLEVBRU4sV0FBVyxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUNILDRCQUE0QixFQUM1QixtQkFBbUIsR0FDdEIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNq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bXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgdHlwZSBWYWx1ZVByb3ZpZGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXInO1xuaW1wb3J0IHtUdWlLZXlib2FyZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvc2VydmljZXMnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlEYXksXG4gICAgdHlwZSBUdWlEYXlMaWtlLFxuICAgIFR1aURheVJhbmdlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1R1aUFuaW1hdGVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYW5pbWF0ZWQnO1xuaW1wb3J0IHt0eXBlIFR1aUJvb2xlYW5IYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtcbiAgICBjYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyLFxuICAgIFRVSV9EQVlfQ0FQU19NQVBQRVIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1yYW5nZSc7XG5pbXBvcnQge1RVSV9NT0JJTEVfQ0FMRU5EQVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7aW5qZWN0Q29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3R5cGUgT2JzZXJ2ZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aU1vYmlsZUNhbGVuZGFyRHJvcGRvd25OZXd9IGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTW9iaWxlQ2FsZW5kYXJEYXRhIHtcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyPzogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PjtcbiAgICBtYXg/OiBUdWlEYXkgfCBudWxsO1xuICAgIG1pbj86IFR1aURheSB8IG51bGw7XG4gICAgbXVsdGk/OiBib29sZWFuO1xuICAgIHNpbmdsZT86IGJvb2xlYW47XG59XG5cbi8vIFRPRE86IFJlbmFtZSB0byBUdWlNb2JpbGVDYWxlbmRhckRyb3Bkb3duQ29tcG9uZW50IGluIHY1LCB0aGlzIGNvbXBvbmVudCBpcyB0ZXJyaWJsZSBhbmQgbmVlZHMgYSBjb21wbGV0ZSByZXdyaXRlXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLW1vYmlsZS1jYWxlbmRhci1kcm9wZG93bicsXG4gICAgaW1wb3J0czogW1R1aU1vYmlsZUNhbGVuZGFyXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlBY3RpdmVab25lLCBUdWlBbmltYXRlZF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU1vYmlsZUNhbGVuZGFyRHJvcGRvd24ge1xuICAgIC8vIFRPRE86IFJld29yayB0byB1c2UgVHVpRHJvcGRvd25PcGVuRGlyZWN0aXZlIHNvIHRoZSBmb2N1cyByZXR1cm5zIHRvIHRoZSBmaWVsZCBvbiBjbG9zaW5nXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBrZXlib2FyZCA9IGluamVjdChUdWlLZXlib2FyZFNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0Q29udGV4dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyPzogT2JzZXJ2ZXI8dW5rbm93bj4gPSB0aGlzLmNvbnRleHQ/LiRpbXBsaWNpdDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGE6IFR1aU1vYmlsZUNhbGVuZGFyRGF0YSA9IHRoaXMuY29udGV4dD8uZGF0YSB8fCB7fTtcblxuICAgIHByaXZhdGUgc2VsZWN0ZWRQZXJpb2Q6IFR1aURheVJhbmdlIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBUT0RPOiBSZWZhY3RvciB0byBwcm9wZXIgRGF0ZSwgRGF0ZU11bHRpIGFuZCBEYXRlUmFuZ2UgY29tcG9uZW50cyBhZnRlciB0aGV5IGFyZSBhZGRlZCB0byBraXRcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbDogYW55ID0gaW5qZWN0KFR1aUNvbnRyb2wsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXJlY3RpdmUgPSBpbmplY3QoVHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93bk5ldywge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhbmdlID0gISF0aGlzLmRpcmVjdGl2ZT8ucmFuZ2UgfHwgdGhpcy5pcygndHVpLWlucHV0LWRhdGUtcmFuZ2UnKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbXVsdGkgPSB0aGlzLmRhdGEubXVsdGkgfHwgdGhpcy5pcygndHVpLWlucHV0LWRhdGVbbXVsdGlwbGVdJyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpbmdsZSA9XG4gICAgICAgICEhdGhpcy5kaXJlY3RpdmU/LnNpbmdsZSB8fFxuICAgICAgICAhIXRoaXMuZGlyZWN0aXZlPy5kYXRlVGltZSB8fFxuICAgICAgICB0aGlzLmRhdGEuc2luZ2xlIHx8IC8vIFRPRE8odjUpOiB1c2UgYHJhbmdlTW9kZWAgZnJvbSBESSB0b2tlbiBgVFVJX0NBTEVOREFSX1NIRUVUX0RFRkFVTFRfT1BUSU9OU2BcbiAgICAgICAgdGhpcy5pcygndHVpLWlucHV0LWRhdGU6bm90KFttdWx0aXBsZV0pJyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZDxUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IG51bGw+KFxuICAgICAgICAodmFsdWUgPSB0aGlzLmRpcmVjdGl2ZT8uZGF0ZT8udmFsdWUoKSkgPT5cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWVbMF0gOiB2YWx1ZSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMua2V5Ym9hcmQuaGlkZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXgoKTogVHVpRGF5IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlPy5kYXRlPy5tYXgoKSA/P1xuICAgICAgICAgICAgKHRoaXMuZGF0YS5tYXggfHxcbiAgICAgICAgICAgICAgICAodGhpcy5yYW5nZVxuICAgICAgICAgICAgICAgICAgICA/IFRVSV9EQVlfQ0FQU19NQVBQRVIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXhMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmNvbnRyb2w/Lm1heCkgfHxcbiAgICAgICAgICAgICAgICBUVUlfTEFTVF9EQVkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG1pbigpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmU/LmRhdGU/Lm1pbigpID8/XG4gICAgICAgICAgICAodGhpcy5kYXRhLm1pbiB8fFxuICAgICAgICAgICAgICAgICh0aGlzLnJhbmdlXG4gICAgICAgICAgICAgICAgICAgID8gVFVJX0RBWV9DQVBTX01BUFBFUihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1pbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5jb250cm9sPy5taW4pIHx8XG4gICAgICAgICAgICAgICAgVFVJX0ZJUlNUX0RBWSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kID0gbmV3IFR1aURheVJhbmdlKHZhbHVlLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNhbGN1bGF0ZWREaXNhYmxlZEl0ZW1IYW5kbGVyKCk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyKFxuICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmU/LmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5kaXNhYmxlZEl0ZW1IYW5kbGVyIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sPy5kaXNhYmxlZEl0ZW1IYW5kbGVyIHx8XG4gICAgICAgICAgICAgICAgVFVJX0ZBTFNFX0hBTkRMRVIsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kLFxuICAgICAgICAgICAgdGhpcy5jb250cm9sPy5taW5MZW5ndGggPz8gbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24/LnRvZ2dsZShmYWxzZSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMua2V5Ym9hcmQuc2hvdygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25maXJtKHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IHRoaXMucmFuZ2UgPyB0aGlzLnNlbGVjdGVkUGVyaW9kIDogdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlID0gbm9ybWFsaXplZFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vcm1hbGl6ZWRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmU/LmRhdGU/LnNldERhdGUobm9ybWFsaXplZFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/Lm5leHQobm9ybWFsaXplZFZhbHVlKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyKFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+LFxuICAgICAgICB2YWx1ZTogVHVpRGF5UmFuZ2UgfCBudWxsLFxuICAgICAgICBtaW5MZW5ndGg6IFR1aURheUxpa2UgfCBudWxsLFxuICAgICk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4ge1xuICAgICAgICByZXR1cm4gY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcihkaXNhYmxlZEl0ZW1IYW5kbGVyLCB2YWx1ZSwgbWluTGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzKHNlbGVjdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bj8uZWwuY2xvc2VzdChzZWxlY3Rvcik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUHJvdmlkZU1vYmlsZUNhbGVuZGFyKCk6IFZhbHVlUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9NT0JJTEVfQ0FMRU5EQVIsXG4gICAgICAgIHVzZVZhbHVlOiBUdWlNb2JpbGVDYWxlbmRhckRyb3Bkb3duLFxuICAgIH07XG59XG4iLCI8dHVpLW1vYmlsZS1jYWxlbmRhclxuICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImNhbGN1bGF0ZWREaXNhYmxlZEl0ZW1IYW5kbGVyXCJcbiAgICBbbWF4XT1cIm1heCgpXCJcbiAgICBbbWluXT1cIm1pbigpXCJcbiAgICBbbXVsdGldPVwibXVsdGlcIlxuICAgIFtzaW5nbGVdPVwic2luZ2xlXCJcbiAgICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gICAgKGNhbmNlbCk9XCJjbG9zZSgpXCJcbiAgICAoY29uZmlybSk9XCJjb25maXJtKCRldmVudClcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuLz5cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { ContentChild, Directive, inject } from '@angular/core';
|
|
2
|
-
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
3
|
-
import { TUI_DROPDOWN_COMPONENT } from '@taiga-ui/core/directives/dropdown';
|
|
4
|
-
import { TuiItemsHandlersDirective } from '@taiga-ui/core/directives/items-handlers';
|
|
5
|
-
import { TuiInputDateDirective, } from '@taiga-ui/kit/components/input-date';
|
|
6
|
-
import { TuiInputDateRangeDirective } from '@taiga-ui/kit/components/input-date-range';
|
|
7
|
-
import { TuiInputDateTimeDirective } from '@taiga-ui/kit/components/input-date-time';
|
|
8
|
-
import { TuiMobileCalendarDropdown } from './mobile-calendar-dropdown.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
// TODO: Rename to TuiMobileCalendarDropdown in v5
|
|
11
|
-
class TuiMobileCalendarDropdownNew {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.handlers = inject(TuiItemsHandlersDirective);
|
|
14
|
-
}
|
|
15
|
-
get date() {
|
|
16
|
-
return this.single || this.range || this.dateTime;
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarDropdownNew, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiMobileCalendarDropdownNew, isStandalone: true, selector: "[tuiMobileCalendar]", providers: [
|
|
20
|
-
{
|
|
21
|
-
provide: TUI_DROPDOWN_COMPONENT,
|
|
22
|
-
useFactory: () => inject(TUI_IS_MOBILE)
|
|
23
|
-
? TuiMobileCalendarDropdown
|
|
24
|
-
: inject(TUI_DROPDOWN_COMPONENT, { skipSelf: true }),
|
|
25
|
-
},
|
|
26
|
-
], queries: [{ propertyName: "single", first: true, predicate: TuiInputDateDirective, descendants: true }, { propertyName: "range", first: true, predicate: TuiInputDateRangeDirective, descendants: true }, { propertyName: "dateTime", first: true, predicate: TuiInputDateTimeDirective, descendants: true }], ngImport: i0 }); }
|
|
27
|
-
}
|
|
28
|
-
export { TuiMobileCalendarDropdownNew };
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarDropdownNew, decorators: [{
|
|
30
|
-
type: Directive,
|
|
31
|
-
args: [{
|
|
32
|
-
standalone: true,
|
|
33
|
-
selector: '[tuiMobileCalendar]',
|
|
34
|
-
providers: [
|
|
35
|
-
{
|
|
36
|
-
provide: TUI_DROPDOWN_COMPONENT,
|
|
37
|
-
useFactory: () => inject(TUI_IS_MOBILE)
|
|
38
|
-
? TuiMobileCalendarDropdown
|
|
39
|
-
: inject(TUI_DROPDOWN_COMPONENT, { skipSelf: true }),
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
}]
|
|
43
|
-
}], propDecorators: { single: [{
|
|
44
|
-
type: ContentChild,
|
|
45
|
-
args: [TuiInputDateDirective]
|
|
46
|
-
}], range: [{
|
|
47
|
-
type: ContentChild,
|
|
48
|
-
args: [TuiInputDateRangeDirective]
|
|
49
|
-
}], dateTime: [{
|
|
50
|
-
type: ContentChild,
|
|
51
|
-
args: [TuiInputDateTimeDirective]
|
|
52
|
-
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUVILHFCQUFxQixHQUN4QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBRW5GLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOztBQUUvRSxrREFBa0Q7QUFDbEQsTUFhYSw0QkFBNEI7SUFiekM7UUF1Qm9CLGFBQVEsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztLQVNoRTtJQVBHLElBQVcsSUFBSTtRQUtYLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdEQsQ0FBQzsrR0FsQlEsNEJBQTRCO21HQUE1Qiw0QkFBNEIsa0VBVjFCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHNCQUFzQjtnQkFDL0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxhQUFhLENBQUM7b0JBQ2pCLENBQUMsQ0FBQyx5QkFBeUI7b0JBQzNCLENBQUMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7YUFDN0Q7U0FDSiw4REFHYSxxQkFBcUIsd0VBR3JCLDBCQUEwQiwyRUFHMUIseUJBQXlCOztTQVA5Qiw0QkFBNEI7NEZBQTVCLDRCQUE0QjtrQkFieEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FDYixNQUFNLENBQUMsYUFBYSxDQUFDO2dDQUNqQixDQUFDLENBQUMseUJBQXlCO2dDQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO3lCQUM3RDtxQkFDSjtpQkFDSjs4QkFHbUIsTUFBTTtzQkFEckIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSW5CLEtBQUs7c0JBRHBCLFlBQVk7dUJBQUMsMEJBQTBCO2dCQUl4QixRQUFRO3NCQUR2QixZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udGVudENoaWxkLCBEaXJlY3RpdmUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGUgVHVpRGF5LCB0eXBlIFR1aURheVJhbmdlLCB0eXBlIFR1aVRpbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fQ09NUE9ORU5UfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpSXRlbXNIYW5kbGVyc0RpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1xuICAgIHR5cGUgVHVpSW5wdXREYXRlQmFzZSxcbiAgICBUdWlJbnB1dERhdGVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlJztcbmltcG9ydCB7VHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlJztcbmltcG9ydCB7VHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZSc7XG5cbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93bn0gZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50JztcblxuLy8gVE9ETzogUmVuYW1lIHRvIFR1aU1vYmlsZUNhbGVuZGFyRHJvcGRvd24gaW4gdjVcbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpTW9iaWxlQ2FsZW5kYXJdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RST1BET1dOX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+XG4gICAgICAgICAgICAgICAgaW5qZWN0KFRVSV9JU19NT0JJTEUpXG4gICAgICAgICAgICAgICAgICAgID8gVHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93blxuICAgICAgICAgICAgICAgICAgICA6IGluamVjdChUVUlfRFJPUERPV05fQ09NUE9ORU5ULCB7c2tpcFNlbGY6IHRydWV9KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNb2JpbGVDYWxlbmRhckRyb3Bkb3duTmV3IHtcbiAgICBAQ29udGVudENoaWxkKFR1aUlucHV0RGF0ZURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2luZ2xlPzogVHVpSW5wdXREYXRlRGlyZWN0aXZlO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlJbnB1dERhdGVSYW5nZURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmFuZ2U/OiBUdWlJbnB1dERhdGVSYW5nZURpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGF0ZVRpbWU/OiBUdWlJbnB1dERhdGVUaW1lRGlyZWN0aXZlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGhhbmRsZXJzID0gaW5qZWN0KFR1aUl0ZW1zSGFuZGxlcnNEaXJlY3RpdmUpO1xuXG4gICAgcHVibGljIGdldCBkYXRlKCk6XG4gICAgICAgIHwgVHVpSW5wdXREYXRlQmFzZTxyZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0+XG4gICAgICAgIHwgVHVpSW5wdXREYXRlQmFzZTxUdWlEYXk+XG4gICAgICAgIHwgVHVpSW5wdXREYXRlQmFzZTxUdWlEYXlSYW5nZT5cbiAgICAgICAgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5zaW5nbGUgfHwgdGhpcy5yYW5nZSB8fCB0aGlzLmRhdGVUaW1lO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tbW9iaWxlLWNvbXBvbmVudHMtbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duL3RhaWdhLXVpLWFkZG9uLW1vYmlsZS1jb21wb25lbnRzLW1vYmlsZS1jYWxlbmRhci1kcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './mobile-calendar-sheet.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXItc2hlZXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLXNoZWV0LmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
3
|
-
import { TuiRipple } from '@taiga-ui/addon-mobile/directives';
|
|
4
|
-
import { TuiLet } from '@taiga-ui/cdk/directives/let';
|
|
5
|
-
import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
|
|
6
|
-
import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
|
|
7
|
-
import { TuiCalendarSheet } from '@taiga-ui/core/components/calendar';
|
|
8
|
-
import { TuiCalendarSheetPipe } from '@taiga-ui/core/pipes/calendar-sheet';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
class TuiMobileCalendarSheet extends TuiCalendarSheet {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.isIOS = inject(TUI_IS_IOS);
|
|
14
|
-
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarSheet, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMobileCalendarSheet, isStandalone: true, selector: "tui-mobile-calendar-sheet", host: { properties: { "class._ios": "isIOS" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *tuiLet=\"month | tuiCalendarSheet as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar-mobile__row\"\n class=\"t-row\"\n >\n <div\n *tuiRepeatTimes=\"let index of 7 - (sheet[rowIndex]?.length ?? 0)\"\n class=\"t-cell t-cell_empty\"\n ></div>\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length ?? 0\">\n <div\n *ngIf=\"sheet[rowIndex]?.[colIndex] as item\"\n automation-id=\"tui-primitive-calendar-mobile__cell\"\n tuiRipple\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n (click)=\"onItemClick(item)\"\n >\n {{ item.day }}\n </div>\n </ng-container>\n <div\n *tuiRepeatTimes=\"let index of 7 - (sheet[rowIndex]?.length ?? 0)\"\n class=\"t-cell t-cell_empty\"\n ></div>\n </div>\n</ng-container>\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;inline-size:20.75rem;max-inline-size:100vw}:host._ios{inline-size:22.625rem}:host._ios .t-row{block-size:3.125rem;font-size:1.0625rem}:host._ios .t-cell[data-range=start],:host._ios .t-cell[data-range=end],:host._ios .t-cell[data-range=active]{font-weight:600}.t-row{block-size:3rem;justify-content:space-between!important;font-family:inherit;font-size:1.125rem;padding:.125rem;box-sizing:border-box}.t-row:first-child .t-cell:not(.t-cell_empty)~.t-cell_empty,.t-row:last-child .t-cell_empty{display:none}.t-row:last-child .t-cell:not(.t-cell_empty)~.t-cell_empty{display:flex}.t-cell{inline-size:2.5rem;block-size:2.5rem;border-radius:100%;overflow:hidden;-webkit-mask:none;mask:none;border:none;text-decoration:none}.t-cell_empty{visibility:hidden}.t-cell_today:after{content:\"\\2022\";text-align:center;line-height:4rem;font-size:1.5rem;color:var(--tui-text-action)}.t-cell_today[data-range=start]:after,.t-cell_today[data-range=end]:after,.t-cell_today[data-range=active]:after{color:inherit}.t-cell[data-range=start],.t-cell[data-range=end],.t-cell[data-range=active]{font-weight:500}.t-cell:after{-webkit-mask:none;mask:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiRipple, selector: "[tuiRipple]", inputs: ["tuiRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17
|
-
}
|
|
18
|
-
export { TuiMobileCalendarSheet };
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarSheet, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ standalone: true, selector: 'tui-mobile-calendar-sheet', imports: [NgIf, TuiCalendarSheetPipe, TuiLet, TuiRepeatTimes, TuiRipple], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
22
|
-
'[class._ios]': 'isIOS',
|
|
23
|
-
}, template: "<ng-container *tuiLet=\"month | tuiCalendarSheet as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar-mobile__row\"\n class=\"t-row\"\n >\n <div\n *tuiRepeatTimes=\"let index of 7 - (sheet[rowIndex]?.length ?? 0)\"\n class=\"t-cell t-cell_empty\"\n ></div>\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length ?? 0\">\n <div\n *ngIf=\"sheet[rowIndex]?.[colIndex] as item\"\n automation-id=\"tui-primitive-calendar-mobile__cell\"\n tuiRipple\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n (click)=\"onItemClick(item)\"\n >\n {{ item.day }}\n </div>\n </ng-container>\n <div\n *tuiRepeatTimes=\"let index of 7 - (sheet[rowIndex]?.length ?? 0)\"\n class=\"t-cell t-cell_empty\"\n ></div>\n </div>\n</ng-container>\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;inline-size:20.75rem;max-inline-size:100vw}:host._ios{inline-size:22.625rem}:host._ios .t-row{block-size:3.125rem;font-size:1.0625rem}:host._ios .t-cell[data-range=start],:host._ios .t-cell[data-range=end],:host._ios .t-cell[data-range=active]{font-weight:600}.t-row{block-size:3rem;justify-content:space-between!important;font-family:inherit;font-size:1.125rem;padding:.125rem;box-sizing:border-box}.t-row:first-child .t-cell:not(.t-cell_empty)~.t-cell_empty,.t-row:last-child .t-cell_empty{display:none}.t-row:last-child .t-cell:not(.t-cell_empty)~.t-cell_empty{display:flex}.t-cell{inline-size:2.5rem;block-size:2.5rem;border-radius:100%;overflow:hidden;-webkit-mask:none;mask:none;border:none;text-decoration:none}.t-cell_empty{visibility:hidden}.t-cell_today:after{content:\"\\2022\";text-align:center;line-height:4rem;font-size:1.5rem;color:var(--tui-text-action)}.t-cell_today[data-range=start]:after,.t-cell_today[data-range=end]:after,.t-cell_today[data-range=active]:after{color:inherit}.t-cell[data-range=start],.t-cell[data-range=end],.t-cell[data-range=active]{font-weight:500}.t-cell:after{-webkit-mask:none;mask:none}\n"] }]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1zaGVldC9tb2JpbGUtY2FsZW5kYXItc2hlZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLXNoZWV0L21vYmlsZS1jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDNUQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0scUNBQXFDLENBQUM7O0FBRXpFLE1BV2Esc0JBQXVCLFNBQVEsZ0JBQWdCO0lBWDVEOztRQVl1QixVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ2pEOytHQUZZLHNCQUFzQjttR0FBdEIsc0JBQXNCLDZKQ3BCbkMsMnFDQThCQSxzdUpEbEJjLElBQUksd0ZBQUUsb0JBQW9CLHlEQUFFLE1BQU0seUVBQUUsY0FBYyw2R0FBRSxTQUFTOztTQVE5RCxzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFYbEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sMkJBQTJCLFdBQzVCLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxDQUFDLG1CQUd2RCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLGNBQWMsRUFBRSxPQUFPO3FCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpUmlwcGxlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUdWlMZXR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9sZXQnO1xuaW1wb3J0IHtUdWlSZXBlYXRUaW1lc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3JlcGVhdC10aW1lcyc7XG5pbXBvcnQge1RVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7VHVpQ2FsZW5kYXJTaGVldH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQge1R1aUNhbGVuZGFyU2hlZXRQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9jYWxlbmRhci1zaGVldCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktbW9iaWxlLWNhbGVuZGFyLXNoZWV0JyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVHVpQ2FsZW5kYXJTaGVldFBpcGUsIFR1aUxldCwgVHVpUmVwZWF0VGltZXMsIFR1aVJpcHBsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS1jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2JpbGUtY2FsZW5kYXItc2hlZXQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5faW9zXSc6ICdpc0lPUycsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9iaWxlQ2FsZW5kYXJTaGVldCBleHRlbmRzIFR1aUNhbGVuZGFyU2hlZXQge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbn1cbiIsIjxuZy1jb250YWluZXIgKnR1aUxldD1cIm1vbnRoIHwgdHVpQ2FsZW5kYXJTaGVldCBhcyBzaGVldFwiPlxuICAgIDxkaXZcbiAgICAgICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IHJvd0luZGV4IG9mIHNoZWV0Lmxlbmd0aFwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLWNhbGVuZGFyLW1vYmlsZV9fcm93XCJcbiAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqdHVpUmVwZWF0VGltZXM9XCJsZXQgaW5kZXggb2YgNyAtIChzaGVldFtyb3dJbmRleF0/Lmxlbmd0aCA/PyAwKVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY2VsbCB0LWNlbGxfZW1wdHlcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGNvbEluZGV4IG9mIHNoZWV0W3Jvd0luZGV4XT8ubGVuZ3RoID8/IDBcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNoZWV0W3Jvd0luZGV4XT8uW2NvbEluZGV4XSBhcyBpdGVtXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1jYWxlbmRhci1tb2JpbGVfX2NlbGxcIlxuICAgICAgICAgICAgICAgIHR1aVJpcHBsZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jZWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXJhbmdlXT1cImdldEl0ZW1SYW5nZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9kaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX3RvZGF5XT1cIml0ZW1Jc1RvZGF5KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGF5IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiA3IC0gKHNoZWV0W3Jvd0luZGV4XT8ubGVuZ3RoID8/IDApXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jZWxsIHQtY2VsbF9lbXB0eVwiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tbW9iaWxlLWNvbXBvbmVudHMtbW9iaWxlLWNhbGVuZGFyLXNoZWV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLXNoZWV0L3RhaWdhLXVpLWFkZG9uLW1vYmlsZS1jb21wb25lbnRzLW1vYmlsZS1jYWxlbmRhci1zaGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './mobile-dialog.component';
|
|
2
|
-
export * from './mobile-dialog.options';
|
|
3
|
-
export * from './mobile-dialog.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtZGlhbG9nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2JpbGUtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21vYmlsZS1kaWFsb2cub3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL21vYmlsZS1kaWFsb2cuc2VydmljZSc7XG4iXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { NgForOf, NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
3
|
-
import { TuiRipple } from '@taiga-ui/addon-mobile/directives';
|
|
4
|
-
import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
|
|
5
|
-
import { TuiButton } from '@taiga-ui/core/components/button';
|
|
6
|
-
import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
class TuiMobileDialog {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.isIOS = inject(TUI_IS_IOS);
|
|
11
|
-
this.context = injectContext();
|
|
12
|
-
}
|
|
13
|
-
onAction(index) {
|
|
14
|
-
this.context.completeWith(index);
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMobileDialog, isStandalone: true, selector: "tui-mobile-dialog", host: { properties: { "class._ios": "isIOS" } }, ngImport: i0, template: "<h2\n *ngIf=\"!!context.label\"\n automation-id=\"tui-mobile-dialog__label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n>\n {{ context.label }}\n</h2>\n<div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n</div>\n<button\n *ngFor=\"let action of context.actions; let index = index\"\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n tuiRipple\n type=\"button\"\n class=\"t-button\"\n [class.t-button_column]=\"context.actions.length > 2\"\n (click)=\"onAction(index)\"\n>\n {{ action }}\n</button>\n", styles: [":host{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;background:var(--tui-background-base);word-break:break-word;overflow:hidden;padding:1.25rem .75rem 0 1.5rem}:host:not(._ios){max-inline-size:17.5rem;border-radius:.125rem;text-align:start;box-shadow:0 1.5rem 1.5rem #00000052}:host._ios{max-inline-size:16.875rem;padding:1.5rem 0 0;border-radius:.75rem;text-align:center}.t-heading{font-size:1rem}:host._ios .t-heading{font-weight:700;font-size:1.125rem}.t-content{margin-block-start:.75rem;font-size:.875rem;line-height:1.25rem;padding-inline-end:.75rem}:host._ios .t-content{margin-block-start:.25rem;padding-inline-start:1.5rem;padding-inline-end:1.5rem}.t-button{border-radius:0}:host._ios .t-button{border-block-start:#b8b8b8 1px solid;block-size:2.625rem;inline-size:100%}:host._ios .t-button:first-of-type{margin-block-start:1.125rem}:host:not(._ios) .t-button{margin:.5rem 0 .5rem .5rem;float:inline-end}:host:not(._ios) .t-button_column{display:block;float:none;margin-inline-start:auto}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiRipple, selector: "[tuiRipple]", inputs: ["tuiRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
|
-
}
|
|
19
|
-
export { TuiMobileDialog };
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileDialog, decorators: [{
|
|
21
|
-
type: Component,
|
|
22
|
-
args: [{ standalone: true, selector: 'tui-mobile-dialog', imports: [NgForOf, NgIf, PolymorpheusOutlet, TuiButton, TuiRipple], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
23
|
-
'[class._ios]': 'isIOS',
|
|
24
|
-
}, template: "<h2\n *ngIf=\"!!context.label\"\n automation-id=\"tui-mobile-dialog__label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n>\n {{ context.label }}\n</h2>\n<div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n</div>\n<button\n *ngFor=\"let action of context.actions; let index = index\"\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n tuiRipple\n type=\"button\"\n class=\"t-button\"\n [class.t-button_column]=\"context.actions.length > 2\"\n (click)=\"onAction(index)\"\n>\n {{ action }}\n</button>\n", styles: [":host{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;background:var(--tui-background-base);word-break:break-word;overflow:hidden;padding:1.25rem .75rem 0 1.5rem}:host:not(._ios){max-inline-size:17.5rem;border-radius:.125rem;text-align:start;box-shadow:0 1.5rem 1.5rem #00000052}:host._ios{max-inline-size:16.875rem;padding:1.5rem 0 0;border-radius:.75rem;text-align:center}.t-heading{font-size:1rem}:host._ios .t-heading{font-weight:700;font-size:1.125rem}.t-content{margin-block-start:.75rem;font-size:.875rem;line-height:1.25rem;padding-inline-end:.75rem}:host._ios .t-content{margin-block-start:.25rem;padding-inline-start:1.5rem;padding-inline-end:1.5rem}.t-button{border-radius:0}:host._ios .t-button{border-block-start:#b8b8b8 1px solid;block-size:2.625rem;inline-size:100%}:host._ios .t-button:first-of-type{margin-block-start:1.125rem}:host:not(._ios) .t-button{margin:.5rem 0 .5rem .5rem;float:inline-end}:host:not(._ios) .t-button_column{display:block;float:none;margin-inline-start:auto}\n"] }]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtZGlhbG9nL21vYmlsZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWRpYWxvZy9tb2JpbGUtZGlhbG9nLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBSXpFLE1BV2EsZUFBZTtJQVg1QjtRQVl1QixVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNCLFlBQU8sR0FDdEIsYUFBYSxFQUFpRCxDQUFDO0tBS3RFO0lBSGEsUUFBUSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0FQUSxlQUFlO21HQUFmLGVBQWUsOEhDckI1Qix3b0JBMEJBLG1rQ0RiYyxPQUFPLG1IQUFFLElBQUksNkZBQUUsa0JBQWtCLDhIQUFFLFNBQVMsb0lBQUUsU0FBUzs7U0FReEQsZUFBZTs0RkFBZixlQUFlO2tCQVgzQixTQUFTO2lDQUNNLElBQUksWUFDTixtQkFBbUIsV0FDcEIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsbUJBR2pELHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsY0FBYyxFQUFFLE9BQU87cUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlSaXBwbGV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcyc7XG5pbXBvcnQge3R5cGUgVHVpUG9wb3Zlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge2luamVjdENvbnRleHQsIFBvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7dHlwZSBUdWlNb2JpbGVEaWFsb2dPcHRpb25zfSBmcm9tICcuL21vYmlsZS1kaWFsb2cub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktbW9iaWxlLWRpYWxvZycsXG4gICAgaW1wb3J0czogW05nRm9yT2YsIE5nSWYsIFBvbHltb3JwaGV1c091dGxldCwgVHVpQnV0dG9uLCBUdWlSaXBwbGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2JpbGUtZGlhbG9nLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vYmlsZS1kaWFsb2cuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5faW9zXSc6ICdpc0lPUycsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9iaWxlRGlhbG9nPEk+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNJT1MgPSBpbmplY3QoVFVJX0lTX0lPUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRleHQgPVxuICAgICAgICBpbmplY3RDb250ZXh0PFR1aVBvcG92ZXI8VHVpTW9iaWxlRGlhbG9nT3B0aW9uczxJPiwgbnVtYmVyPj4oKTtcblxuICAgIHByb3RlY3RlZCBvbkFjdGlvbihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5jb21wbGV0ZVdpdGgoaW5kZXgpO1xuICAgIH1cbn1cbiIsIjxoMlxuICAgICpuZ0lmPVwiISFjb250ZXh0LmxhYmVsXCJcbiAgICBhdXRvbWF0aW9uLWlkPVwidHVpLW1vYmlsZS1kaWFsb2dfX2xhYmVsXCJcbiAgICBjbGFzcz1cInQtaGVhZGluZ1wiXG4gICAgW2lkXT1cImNvbnRleHQuaWRcIlxuPlxuICAgIHt7IGNvbnRleHQubGFiZWwgfX1cbjwvaDI+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGNvbnRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48YnV0dG9uXG4gICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb250ZXh0LmFjdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgc2l6ZT1cInNcIlxuICAgIHR1aUJ1dHRvblxuICAgIHR1aVJpcHBsZVxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgIFtjbGFzcy50LWJ1dHRvbl9jb2x1bW5dPVwiY29udGV4dC5hY3Rpb25zLmxlbmd0aCA+IDJcIlxuICAgIChjbGljayk9XCJvbkFjdGlvbihpbmRleClcIlxuPlxuICAgIHt7IGFjdGlvbiB9fVxuPC9idXR0b24+XG4iXX0=
|