@ng-matero/extensions 15.5.0 → 16.0.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/alert/alert.d.ts +1 -1
- package/button/button-loading.d.ts +1 -1
- package/checkbox-group/checkbox-group.d.ts +1 -1
- package/colorpicker/colorpicker-input.d.ts +1 -1
- package/colorpicker/colorpicker-toggle.d.ts +1 -1
- package/colorpicker/colorpicker.d.ts +2 -2
- package/datetimepicker/calendar-body.d.ts +1 -1
- package/datetimepicker/calendar.d.ts +1 -1
- package/datetimepicker/clock.d.ts +1 -1
- package/datetimepicker/clock.scss +1 -4
- package/datetimepicker/datetimepicker-input.d.ts +1 -1
- package/datetimepicker/datetimepicker-toggle.d.ts +1 -1
- package/datetimepicker/datetimepicker.d.ts +2 -2
- package/datetimepicker/month-view.d.ts +1 -1
- package/datetimepicker/multi-year-view.d.ts +1 -1
- package/datetimepicker/time.d.ts +2 -2
- package/datetimepicker/year-view.d.ts +1 -1
- package/esm2022/alert/alert-module.mjs +19 -0
- package/esm2022/alert/alert.mjs +53 -0
- package/esm2022/button/button-loading.mjs +77 -0
- package/esm2022/button/button-module.mjs +21 -0
- package/esm2022/checkbox-group/checkbox-group-module.mjs +22 -0
- package/esm2022/checkbox-group/checkbox-group.mjs +234 -0
- package/esm2022/colorpicker/colorpicker-input.mjs +229 -0
- package/esm2022/colorpicker/colorpicker-module.mjs +64 -0
- package/esm2022/colorpicker/colorpicker-toggle.mjs +103 -0
- package/esm2022/colorpicker/colorpicker.mjs +367 -0
- package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +46 -0
- package/esm2022/column-resize/column-resize-directives/column-resize.mjs +46 -0
- package/esm2022/column-resize/column-resize-module.mjs +29 -0
- package/esm2022/column-resize/column-resize-notifier.mjs +49 -0
- package/esm2022/column-resize/column-resize.mjs +83 -0
- package/esm2022/column-resize/column-size-store.mjs +21 -0
- package/esm2022/column-resize/event-dispatcher.mjs +68 -0
- package/esm2022/column-resize/overlay-handle.mjs +147 -0
- package/esm2022/column-resize/resizable.mjs +200 -0
- package/esm2022/column-resize/resize-strategy.mjs +235 -0
- package/{esm2020 → esm2022}/core/datetime/datetime-adapter.mjs +1 -1
- package/esm2022/core/datetime/datetime.module.mjs +44 -0
- package/esm2022/core/datetime/native-datetime-adapter.mjs +139 -0
- package/esm2022/core/pipes/is-template-ref.pipe.mjs +15 -0
- package/esm2022/core/pipes/pipes.module.mjs +20 -0
- package/esm2022/core/pipes/to-observable.pipe.mjs +16 -0
- package/esm2022/datetimepicker/calendar-body.mjs +79 -0
- package/esm2022/datetimepicker/calendar.mjs +672 -0
- package/esm2022/datetimepicker/clock.mjs +354 -0
- package/esm2022/datetimepicker/datetimepicker-input.mjs +350 -0
- package/esm2022/datetimepicker/datetimepicker-intl.mjs +64 -0
- package/esm2022/datetimepicker/datetimepicker-module.mjs +83 -0
- package/esm2022/datetimepicker/datetimepicker-toggle.mjs +106 -0
- package/esm2022/datetimepicker/datetimepicker.mjs +529 -0
- package/esm2022/datetimepicker/month-view.mjs +149 -0
- package/esm2022/datetimepicker/multi-year-view.mjs +215 -0
- package/esm2022/datetimepicker/time.mjs +458 -0
- package/esm2022/datetimepicker/year-view.mjs +139 -0
- package/esm2022/dialog/dialog-container.mjs +36 -0
- package/esm2022/dialog/dialog-module.mjs +25 -0
- package/esm2022/dialog/dialog.mjs +75 -0
- package/esm2022/drawer/drawer-container.mjs +253 -0
- package/esm2022/drawer/drawer-module.mjs +23 -0
- package/esm2022/drawer/drawer.mjs +167 -0
- package/esm2022/grid/cell.mjs +117 -0
- package/{esm2020 → esm2022}/grid/column-menu.mjs +6 -5
- package/esm2022/grid/column-resize/column-resize-directives/column-resize-flex.mjs +38 -0
- package/esm2022/grid/column-resize/column-resize-directives/column-resize.mjs +38 -0
- package/esm2022/grid/column-resize/column-resize-module.mjs +44 -0
- package/esm2022/grid/column-resize/overlay-handle.mjs +61 -0
- package/esm2022/grid/column-resize/resizable-directives/resizable.mjs +63 -0
- package/esm2022/grid/column-resize/resize-strategy.mjs +43 -0
- package/esm2022/grid/expansion-toggle.mjs +65 -0
- package/esm2022/grid/grid-module.mjs +137 -0
- package/esm2022/grid/grid-pipes.mjs +113 -0
- package/esm2022/grid/grid-utils.mjs +64 -0
- package/esm2022/grid/grid.mjs +630 -0
- package/esm2022/loader/loader-module.mjs +21 -0
- package/esm2022/loader/loader.mjs +70 -0
- package/esm2022/popover/popover-content.mjs +92 -0
- package/esm2022/popover/popover-module.mjs +25 -0
- package/esm2022/popover/popover-target.mjs +18 -0
- package/esm2022/popover/popover-trigger.mjs +472 -0
- package/esm2022/popover/popover.mjs +384 -0
- package/esm2022/progress/progress-module.mjs +19 -0
- package/esm2022/progress/progress.mjs +56 -0
- package/esm2022/select/option.mjs +58 -0
- package/esm2022/select/select-module.mjs +75 -0
- package/esm2022/select/select.mjs +561 -0
- package/esm2022/select/templates.mjs +135 -0
- package/esm2022/slider/slider-module.mjs +20 -0
- package/esm2022/slider/slider.mjs +1116 -0
- package/esm2022/split/split-module.mjs +20 -0
- package/esm2022/split/split-pane.mjs +150 -0
- package/esm2022/split/split.mjs +635 -0
- package/esm2022/tooltip/tooltip-module.mjs +25 -0
- package/esm2022/tooltip/tooltip.mjs +930 -0
- package/{fesm2020 → fesm2022}/mtxAlert.mjs +7 -7
- package/{fesm2020 → fesm2022}/mtxAlert.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxButton.mjs +7 -7
- package/{fesm2015 → fesm2022}/mtxButton.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxCheckboxGroup.mjs +13 -13
- package/{fesm2020 → fesm2022}/mtxCheckboxGroup.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxColorpicker.mjs +41 -41
- package/{fesm2020 → fesm2022}/mtxColorpicker.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxColumnResize.mjs +46 -46
- package/{fesm2015 → fesm2022}/mtxColumnResize.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxCore.mjs +26 -26
- package/fesm2022/mtxCore.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mtxDatetimepicker.mjs +84 -80
- package/fesm2022/mtxDatetimepicker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mtxDialog.mjs +10 -10
- package/{fesm2015 → fesm2022}/mtxDialog.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxDrawer.mjs +10 -10
- package/{fesm2020 → fesm2022}/mtxDrawer.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxGrid.mjs +120 -120
- package/{fesm2020 → fesm2022}/mtxGrid.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxLoader.mjs +7 -7
- package/{fesm2020 → fesm2022}/mtxLoader.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxPopover.mjs +19 -19
- package/{fesm2020 → fesm2022}/mtxPopover.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxProgress.mjs +7 -7
- package/{fesm2015 → fesm2022}/mtxProgress.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxSelect.mjs +68 -68
- package/{fesm2015 → fesm2022}/mtxSelect.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxSlider.mjs +7 -7
- package/{fesm2020 → fesm2022}/mtxSlider.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxSplit.mjs +10 -10
- package/{fesm2020 → fesm2022}/mtxSplit.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mtxTooltip.mjs +16 -16
- package/{fesm2015 → fesm2022}/mtxTooltip.mjs.map +1 -1
- package/grid/cell.d.ts +1 -1
- package/grid/column-menu.d.ts +1 -1
- package/grid/column-resize/resizable-directives/resizable.d.ts +1 -1
- package/grid/expansion-toggle.d.ts +1 -1
- package/grid/grid.d.ts +2 -2
- package/loader/loader.d.ts +1 -1
- package/package.json +69 -109
- package/popover/popover-trigger.d.ts +1 -1
- package/popover/popover.d.ts +1 -1
- package/progress/progress.d.ts +1 -1
- package/select/option.d.ts +1 -1
- package/select/select.d.ts +1 -1
- package/select/select.scss +0 -7
- package/slider/slider.d.ts +1 -1
- package/split/split-pane.d.ts +1 -1
- package/split/split.d.ts +1 -1
- package/tooltip/tooltip.d.ts +1 -1
- package/tooltip/tooltip.scss +1 -4
- package/esm2020/alert/alert-module.mjs +0 -18
- package/esm2020/alert/alert.mjs +0 -52
- package/esm2020/button/button-loading.mjs +0 -76
- package/esm2020/button/button-module.mjs +0 -20
- package/esm2020/checkbox-group/checkbox-group-module.mjs +0 -21
- package/esm2020/checkbox-group/checkbox-group.mjs +0 -233
- package/esm2020/colorpicker/colorpicker-input.mjs +0 -228
- package/esm2020/colorpicker/colorpicker-module.mjs +0 -63
- package/esm2020/colorpicker/colorpicker-toggle.mjs +0 -101
- package/esm2020/colorpicker/colorpicker.mjs +0 -365
- package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +0 -45
- package/esm2020/column-resize/column-resize-directives/column-resize.mjs +0 -45
- package/esm2020/column-resize/column-resize-module.mjs +0 -28
- package/esm2020/column-resize/column-resize-notifier.mjs +0 -47
- package/esm2020/column-resize/column-resize.mjs +0 -82
- package/esm2020/column-resize/column-size-store.mjs +0 -20
- package/esm2020/column-resize/event-dispatcher.mjs +0 -67
- package/esm2020/column-resize/overlay-handle.mjs +0 -146
- package/esm2020/column-resize/resizable.mjs +0 -199
- package/esm2020/column-resize/resize-strategy.mjs +0 -232
- package/esm2020/core/datetime/datetime.module.mjs +0 -42
- package/esm2020/core/datetime/native-datetime-adapter.mjs +0 -138
- package/esm2020/core/pipes/is-template-ref.pipe.mjs +0 -14
- package/esm2020/core/pipes/pipes.module.mjs +0 -19
- package/esm2020/core/pipes/to-observable.pipe.mjs +0 -15
- package/esm2020/datetimepicker/calendar-body.mjs +0 -78
- package/esm2020/datetimepicker/calendar.mjs +0 -671
- package/esm2020/datetimepicker/clock.mjs +0 -349
- package/esm2020/datetimepicker/datetimepicker-input.mjs +0 -349
- package/esm2020/datetimepicker/datetimepicker-intl.mjs +0 -63
- package/esm2020/datetimepicker/datetimepicker-module.mjs +0 -82
- package/esm2020/datetimepicker/datetimepicker-toggle.mjs +0 -104
- package/esm2020/datetimepicker/datetimepicker.mjs +0 -527
- package/esm2020/datetimepicker/month-view.mjs +0 -148
- package/esm2020/datetimepicker/multi-year-view.mjs +0 -214
- package/esm2020/datetimepicker/time.mjs +0 -456
- package/esm2020/datetimepicker/year-view.mjs +0 -138
- package/esm2020/dialog/dialog-container.mjs +0 -35
- package/esm2020/dialog/dialog-module.mjs +0 -24
- package/esm2020/dialog/dialog.mjs +0 -74
- package/esm2020/drawer/drawer-container.mjs +0 -252
- package/esm2020/drawer/drawer-module.mjs +0 -22
- package/esm2020/drawer/drawer.mjs +0 -166
- package/esm2020/grid/cell.mjs +0 -116
- package/esm2020/grid/column-resize/column-resize-directives/column-resize-flex.mjs +0 -37
- package/esm2020/grid/column-resize/column-resize-directives/column-resize.mjs +0 -37
- package/esm2020/grid/column-resize/column-resize-module.mjs +0 -42
- package/esm2020/grid/column-resize/overlay-handle.mjs +0 -60
- package/esm2020/grid/column-resize/resizable-directives/resizable.mjs +0 -62
- package/esm2020/grid/column-resize/resize-strategy.mjs +0 -42
- package/esm2020/grid/expansion-toggle.mjs +0 -64
- package/esm2020/grid/grid-module.mjs +0 -136
- package/esm2020/grid/grid-pipes.mjs +0 -108
- package/esm2020/grid/grid-utils.mjs +0 -63
- package/esm2020/grid/grid.mjs +0 -628
- package/esm2020/loader/loader-module.mjs +0 -20
- package/esm2020/loader/loader.mjs +0 -69
- package/esm2020/popover/popover-content.mjs +0 -90
- package/esm2020/popover/popover-module.mjs +0 -24
- package/esm2020/popover/popover-target.mjs +0 -17
- package/esm2020/popover/popover-trigger.mjs +0 -471
- package/esm2020/popover/popover.mjs +0 -383
- package/esm2020/progress/progress-module.mjs +0 -18
- package/esm2020/progress/progress.mjs +0 -55
- package/esm2020/select/option.mjs +0 -57
- package/esm2020/select/select-module.mjs +0 -74
- package/esm2020/select/select.mjs +0 -560
- package/esm2020/select/templates.mjs +0 -124
- package/esm2020/slider/slider-module.mjs +0 -19
- package/esm2020/slider/slider.mjs +0 -1115
- package/esm2020/split/split-module.mjs +0 -19
- package/esm2020/split/split-pane.mjs +0 -149
- package/esm2020/split/split.mjs +0 -634
- package/esm2020/tooltip/tooltip-module.mjs +0 -24
- package/esm2020/tooltip/tooltip.mjs +0 -926
- package/fesm2015/mtxAlert.mjs +0 -74
- package/fesm2015/mtxAlert.mjs.map +0 -1
- package/fesm2015/mtxButton.mjs +0 -99
- package/fesm2015/mtxCheckboxGroup.mjs +0 -256
- package/fesm2015/mtxCheckboxGroup.mjs.map +0 -1
- package/fesm2015/mtxColorpicker.mjs +0 -767
- package/fesm2015/mtxColorpicker.mjs.map +0 -1
- package/fesm2015/mtxColumnResize.mjs +0 -959
- package/fesm2015/mtxCore.mjs +0 -374
- package/fesm2015/mtxCore.mjs.map +0 -1
- package/fesm2015/mtxDatetimepicker.mjs +0 -3164
- package/fesm2015/mtxDatetimepicker.mjs.map +0 -1
- package/fesm2015/mtxDialog.mjs +0 -130
- package/fesm2015/mtxDrawer.mjs +0 -578
- package/fesm2015/mtxDrawer.mjs.map +0 -1
- package/fesm2015/mtxGrid.mjs +0 -1514
- package/fesm2015/mtxGrid.mjs.map +0 -1
- package/fesm2015/mtxLoader.mjs +0 -93
- package/fesm2015/mtxLoader.mjs.map +0 -1
- package/fesm2015/mtxPopover.mjs +0 -1027
- package/fesm2015/mtxPopover.mjs.map +0 -1
- package/fesm2015/mtxProgress.mjs +0 -77
- package/fesm2015/mtxSelect.mjs +0 -814
- package/fesm2015/mtxSlider.mjs +0 -1139
- package/fesm2015/mtxSlider.mjs.map +0 -1
- package/fesm2015/mtxSplit.mjs +0 -1025
- package/fesm2015/mtxSplit.mjs.map +0 -1
- package/fesm2015/mtxTooltip.mjs +0 -982
- package/fesm2020/mtxButton.mjs.map +0 -1
- package/fesm2020/mtxColumnResize.mjs.map +0 -1
- package/fesm2020/mtxCore.mjs.map +0 -1
- package/fesm2020/mtxDatetimepicker.mjs.map +0 -1
- package/fesm2020/mtxDialog.mjs.map +0 -1
- package/fesm2020/mtxProgress.mjs.map +0 -1
- package/fesm2020/mtxSelect.mjs.map +0 -1
- package/fesm2020/mtxTooltip.mjs.map +0 -1
- package/fesm2020/ng-matero-extensions.mjs +0 -9
- package/fesm2020/ng-matero-extensions.mjs.map +0 -1
- /package/{esm2020 → esm2022}/alert/mtxAlert.mjs +0 -0
- /package/{esm2020 → esm2022}/alert/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/button/mtxButton.mjs +0 -0
- /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox-group/interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox-group/mtxCheckboxGroup.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox-group/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/colorpicker-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/mtxColorpicker.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/column-resize/column-resize-directives/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/column-resize/mtxColumnResize.mjs +0 -0
- /package/{esm2020 → esm2022}/column-resize/polyfill.mjs +0 -0
- /package/{esm2020 → esm2022}/column-resize/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/column-resize/resize-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/column-resize/selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/core/datetime/datetime-formats.mjs +0 -0
- /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/datetime/native-datetime-formats.mjs +0 -0
- /package/{esm2020 → esm2022}/core/mtxCore.mjs +0 -0
- /package/{esm2020 → esm2022}/core/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/datetimepicker/datetimepicker-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/datetimepicker/datetimepicker-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/datetimepicker/datetimepicker-filtertype.mjs +0 -0
- /package/{esm2020 → esm2022}/datetimepicker/datetimepicker-types.mjs +0 -0
- /package/{esm2020 → esm2022}/datetimepicker/mtxDatetimepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/datetimepicker/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/dialog-config.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/mtxDialog.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/drawer-animation.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/drawer-config.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/drawer-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/mtxDrawer.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/column-resize/column-resize-directives/common.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/column-resize/resizable-directives/common.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/mtxGrid.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/loader/mtxLoader.mjs +0 -0
- /package/{esm2020 → esm2022}/loader/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/ng-matero-extensions.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/mtxPopover.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/popover-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/popover-interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/popover-types.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/progress/mtxProgress.mjs +0 -0
- /package/{esm2020 → esm2022}/progress/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/select/mtxSelect.mjs +0 -0
- /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/mtxSlider.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/split/interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/split/mtxSplit.mjs +0 -0
- /package/{esm2020 → esm2022}/split/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/split/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/mtxTooltip.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/tooltip-animations.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ng-matero-extensions.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ng-matero-extensions.mjs.map +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { MAT_DATE_LOCALE } from '@angular/material/core';
|
|
3
|
+
import { DatetimeAdapter } from './datetime-adapter';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/core";
|
|
6
|
+
/** The default hour names to use if Intl API is not available. */
|
|
7
|
+
const DEFAULT_HOUR_NAMES = range(24, i => String(i));
|
|
8
|
+
/** The default minute names to use if Intl API is not available. */
|
|
9
|
+
const DEFAULT_MINUTE_NAMES = range(60, i => String(i));
|
|
10
|
+
function range(length, valueFunction) {
|
|
11
|
+
const valuesArray = Array(length);
|
|
12
|
+
for (let i = 0; i < length; i++) {
|
|
13
|
+
valuesArray[i] = valueFunction(i);
|
|
14
|
+
}
|
|
15
|
+
return valuesArray;
|
|
16
|
+
}
|
|
17
|
+
class NativeDatetimeAdapter extends DatetimeAdapter {
|
|
18
|
+
constructor(matDateLocale, _delegate) {
|
|
19
|
+
super(_delegate);
|
|
20
|
+
this.setLocale(matDateLocale);
|
|
21
|
+
}
|
|
22
|
+
clone(date) {
|
|
23
|
+
return this.createDatetime(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date), this.getMinute(date));
|
|
24
|
+
}
|
|
25
|
+
getHour(date) {
|
|
26
|
+
return date.getHours();
|
|
27
|
+
}
|
|
28
|
+
getMinute(date) {
|
|
29
|
+
return date.getMinutes();
|
|
30
|
+
}
|
|
31
|
+
isInNextMonth(startDate, endDate) {
|
|
32
|
+
const nextMonth = this.getDateInNextMonth(startDate);
|
|
33
|
+
return this.sameMonthAndYear(nextMonth, endDate);
|
|
34
|
+
}
|
|
35
|
+
createDatetime(year, month, date, hour, minute) {
|
|
36
|
+
// Check for invalid month and date (except upper bound on date which we have to check after
|
|
37
|
+
// creating the Date).
|
|
38
|
+
if (month < 0 || month > 11) {
|
|
39
|
+
throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
|
|
40
|
+
}
|
|
41
|
+
if (date < 1) {
|
|
42
|
+
throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
|
|
43
|
+
}
|
|
44
|
+
if (hour < 0 || hour > 23) {
|
|
45
|
+
throw Error(`Invalid hour "${hour}". Hour has to be between 0 and 23.`);
|
|
46
|
+
}
|
|
47
|
+
if (minute < 0 || minute > 59) {
|
|
48
|
+
throw Error(`Invalid minute "${minute}". Minute has to be between 0 and 59.`);
|
|
49
|
+
}
|
|
50
|
+
const result = this._createDateWithOverflow(year, month, date, hour, minute);
|
|
51
|
+
// Check that the date wasn't above the upper bound for the month, causing the month to overflow
|
|
52
|
+
if (result.getMonth() !== month) {
|
|
53
|
+
throw Error(`Invalid date "${date}" for month with index "${month}".`);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
getFirstDateOfMonth(date) {
|
|
58
|
+
const result = new Date();
|
|
59
|
+
result.setFullYear(date.getFullYear(), date.getMonth(), 1);
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
getHourNames() {
|
|
63
|
+
return DEFAULT_HOUR_NAMES;
|
|
64
|
+
}
|
|
65
|
+
getMinuteNames() {
|
|
66
|
+
return DEFAULT_MINUTE_NAMES;
|
|
67
|
+
}
|
|
68
|
+
addCalendarYears(date, years) {
|
|
69
|
+
return this.addCalendarMonths(date, years * 12);
|
|
70
|
+
}
|
|
71
|
+
addCalendarMonths(date, months) {
|
|
72
|
+
let newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date), this.getHour(date), this.getMinute(date));
|
|
73
|
+
// It's possible to wind up in the wrong month if the original month has more days than the new
|
|
74
|
+
// month. In this case we want to go to the last day of the desired month.
|
|
75
|
+
// Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
|
|
76
|
+
// guarantee this.
|
|
77
|
+
if (this.getMonth(newDate) !== (((this.getMonth(date) + months) % 12) + 12) % 12) {
|
|
78
|
+
newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0, this.getHour(date), this.getMinute(date));
|
|
79
|
+
}
|
|
80
|
+
return newDate;
|
|
81
|
+
}
|
|
82
|
+
addCalendarDays(date, days) {
|
|
83
|
+
return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days, this.getHour(date), this.getMinute(date));
|
|
84
|
+
}
|
|
85
|
+
addCalendarHours(date, hours) {
|
|
86
|
+
return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date) + hours, this.getMinute(date));
|
|
87
|
+
}
|
|
88
|
+
addCalendarMinutes(date, minutes) {
|
|
89
|
+
return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date), this.getMinute(date) + minutes);
|
|
90
|
+
}
|
|
91
|
+
toIso8601(date) {
|
|
92
|
+
return (super.toIso8601(date) +
|
|
93
|
+
'T' +
|
|
94
|
+
[this._2digit(date.getUTCHours()), this._2digit(date.getUTCMinutes())].join(':'));
|
|
95
|
+
}
|
|
96
|
+
getDateInNextMonth(date) {
|
|
97
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 1, date.getHours(), date.getMinutes());
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
|
|
101
|
+
* other browsers do not. We remove them to make output consistent and because they interfere with
|
|
102
|
+
* date parsing.
|
|
103
|
+
* @param str The string to strip direction characters from.
|
|
104
|
+
* @returns The stripped string.
|
|
105
|
+
*/
|
|
106
|
+
_stripDirectionalityCharacters(str) {
|
|
107
|
+
return str.replace(/[\u200e\u200f]/g, '');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Pads a number to make it two digits.
|
|
111
|
+
* @param n The number to pad.
|
|
112
|
+
* @returns The padded number.
|
|
113
|
+
*/
|
|
114
|
+
_2digit(n) {
|
|
115
|
+
return ('00' + n).slice(-2);
|
|
116
|
+
}
|
|
117
|
+
/** Creates a date but allows the month and date to overflow. */
|
|
118
|
+
_createDateWithOverflow(year, month, date, hours, minutes) {
|
|
119
|
+
const result = new Date(year, month, date, hours, minutes);
|
|
120
|
+
// We need to correct for the fact that JS native Date treats years in range [0, 99] as
|
|
121
|
+
// abbreviations for 19xx.
|
|
122
|
+
if (year >= 0 && year < 100) {
|
|
123
|
+
result.setFullYear(this.getYear(result) - 1900);
|
|
124
|
+
}
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NativeDatetimeAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
128
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NativeDatetimeAdapter }); }
|
|
129
|
+
}
|
|
130
|
+
export { NativeDatetimeAdapter };
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NativeDatetimeAdapter, decorators: [{
|
|
132
|
+
type: Injectable
|
|
133
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
134
|
+
type: Optional
|
|
135
|
+
}, {
|
|
136
|
+
type: Inject,
|
|
137
|
+
args: [MAT_DATE_LOCALE]
|
|
138
|
+
}] }, { type: i1.DateAdapter }]; } });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGV0aW1lLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2NvcmUvZGF0ZXRpbWUvbmF0aXZlLWRhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUVyRCxrRUFBa0U7QUFDbEUsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFckQsb0VBQW9FO0FBQ3BFLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXZELFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztJQUNuRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQixXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ25DO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELE1BQ2EscUJBQXNCLFNBQVEsZUFBcUI7SUFDOUQsWUFDdUMsYUFBcUIsRUFDMUQsU0FBNEI7UUFFNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMs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QUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyw4QkFBOEIsQ0FBQyxHQUFXO1FBQ2hELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLE9BQU8sQ0FBQyxDQUFTO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGdFQUFnRTtJQUN4RCx1QkFBdUIsQ0FDN0IsSUFBWSxFQUNaLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLE9BQWU7UUFFZixNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFM0QsdUZBQXVGO1FBQ3ZGLDBCQUEwQjtRQUMxQixJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsRUFBRTtZQUMzQixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO2lJQXZMVSxxQkFBcUIsa0JBRVYsZUFBZTtxSUFGMUIscUJBQXFCOztTQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVTs7MEJBR04sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZXRpbWVBZGFwdGVyIH0gZnJvbSAnLi9kYXRldGltZS1hZGFwdGVyJztcblxuLyoqIFRoZSBkZWZhdWx0IGhvdXIgbmFtZXMgdG8gdXNlIGlmIEludGwgQVBJIGlzIG5vdCBhdmFpbGFibGUuICovXG5jb25zdCBERUZBVUxUX0hPVVJfTkFNRVMgPSByYW5nZSgyNCwgaSA9PiBTdHJpbmcoaSkpO1xuXG4vKiogVGhlIGRlZmF1bHQgbWludXRlIG5hbWVzIHRvIHVzZSBpZiBJbnRsIEFQSSBpcyBub3QgYXZhaWxhYmxlLiAqL1xuY29uc3QgREVGQVVMVF9NSU5VVEVfTkFNRVMgPSByYW5nZSg2MCwgaSA9PiBTdHJpbmcoaSkpO1xuXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xuICBjb25zdCB2YWx1ZXNBcnJheSA9IEFycmF5KGxlbmd0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlc0FycmF5O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmF0aXZlRGF0ZXRpbWVBZGFwdGVyIGV4dGVuZHMgRGF0ZXRpbWVBZGFwdGVyPERhdGU+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZyxcbiAgICBfZGVsZWdhdGU6IERhdGVBZGFwdGVyPERhdGU+XG4gICkge1xuICAgIHN1cGVyKF9kZWxlZ2F0ZSk7XG4gICAgdGhpcy5zZXRMb2NhbGUobWF0RGF0ZUxvY2FsZSk7XG4gIH1cblxuICBjbG9uZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlRGF0ZXRpbWUoXG4gICAgICB0aGlzLmdldFllYXIoZGF0ZSksXG4gICAgICB0aGlzLmdldE1vbnRoKGRhdGUpLFxuICAgICAgdGhpcy5nZXREYXRlKGRhdGUpLFxuICAgICAgdGhpcy5nZXRIb3VyKGRhdGUpLFxuICAgICAgdGhpcy5nZXRNaW51dGUoZGF0ZSlcbiAgICApO1xuICB9XG5cbiAgZ2V0SG91cihkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXRIb3VycygpO1xuICB9XG5cbiAgZ2V0TWludXRlKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmdldE1pbnV0ZXMoKTtcbiAgfVxuXG4gIGlzSW5OZXh0TW9udGgoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbmV4dE1vbnRoID0gdGhpcy5nZXREYXRlSW5OZXh0TW9udGgoc3RhcnREYXRlKTtcbiAgICByZXR1cm4gdGhpcy5zYW1lTW9udGhBbmRZZWFyKG5leHRNb250aCwgZW5kRGF0ZSk7XG4gIH1cblxuICBjcmVhdGVEYXRldGltZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlciwgaG91cjogbnVtYmVyLCBtaW51dGU6IG51bWJlcik6IERhdGUge1xuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyXG4gICAgLy8gY3JlYXRpbmcgdGhlIERhdGUpLlxuICAgIGlmIChtb250aCA8IDAgfHwgbW9udGggPiAxMSkge1xuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbW9udGggaW5kZXggXCIke21vbnRofVwiLiBNb250aCBpbmRleCBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCAxMS5gKTtcbiAgICB9XG5cbiAgICBpZiAoZGF0ZSA8IDEpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIuIERhdGUgaGFzIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLmApO1xuICAgIH1cblxuICAgIGlmIChob3VyIDwgMCB8fCBob3VyID4gMjMpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGhvdXIgXCIke2hvdXJ9XCIuIEhvdXIgaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgMjMuYCk7XG4gICAgfVxuXG4gICAgaWYgKG1pbnV0ZSA8IDAgfHwgbWludXRlID4gNTkpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1pbnV0ZSBcIiR7bWludXRlfVwiLiBNaW51dGUgaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgNTkuYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyLCBtb250aCwgZGF0ZSwgaG91ciwgbWludXRlKTtcblxuICAgIC8vIENoZWNrIHRoYXQgdGhlIGRhdGUgd2Fzbid0IGFib3ZlIHRoZSB1cHBlciBib3VuZCBmb3IgdGhlIG1vbnRoLCBjYXVzaW5nIHRoZSBtb250aCB0byBvdmVyZmxvd1xuICAgIGlmIChyZXN1bHQuZ2V0TW9udGgoKSAhPT0gbW9udGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiLmApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRGaXJzdERhdGVPZk1vbnRoKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZSgpO1xuICAgIHJlc3VsdC5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldEhvdXJOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIERFRkFVTFRfSE9VUl9OQU1FUztcbiAgfVxuXG4gIGdldE1pbnV0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gREVGQVVMVF9NSU5VVEVfTkFNRVM7XG4gIH1cblxuICBhZGRDYWxlbmRhclllYXJzKGRhdGU6IERhdGUsIHllYXJzOiBudW1iZXIpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDYWxlbmRhck1vbnRocyhkYXRlLCB5ZWFycyAqIDEyKTtcbiAgfVxuXG4gIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgbGV0IG5ld0RhdGUgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KFxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLFxuICAgICAgdGhpcy5nZXRNb250aChkYXRlKSArIG1vbnRocyxcbiAgICAgIHRoaXMuZ2V0RGF0ZShkYXRlKSxcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSxcbiAgICAgIHRoaXMuZ2V0TWludXRlKGRhdGUpXG4gICAgKTtcblxuICAgIC8vIEl0J3MgcG9zc2libGUgdG8gd2luZCB1cCBpbiB0aGUgd3JvbmcgbW9udGggaWYgdGhlIG9yaWdpbmFsIG1vbnRoIGhhcyBtb3JlIGRheXMgdGhhbiB0aGUgbmV3XG4gICAgLy8gbW9udGguIEluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIGdvIHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgZGVzaXJlZCBtb250aC5cbiAgICAvLyBOb3RlOiB0aGUgYWRkaXRpb25hbCArIDEyICUgMTIgZW5zdXJlcyB3ZSBlbmQgdXAgd2l0aCBhIHBvc2l0aXZlIG51bWJlciwgc2luY2UgSlMgJSBkb2Vzbid0XG4gICAgLy8gZ3VhcmFudGVlIHRoaXMuXG4gICAgaWYgKHRoaXMuZ2V0TW9udGgobmV3RGF0ZSkgIT09ICgoKHRoaXMuZ2V0TW9udGgoZGF0ZSkgKyBtb250aHMpICUgMTIpICsgMTIpICUgMTIpIHtcbiAgICAgIG5ld0RhdGUgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KFxuICAgICAgICB0aGlzLmdldFllYXIobmV3RGF0ZSksXG4gICAgICAgIHRoaXMuZ2V0TW9udGgobmV3RGF0ZSksXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSxcbiAgICAgICAgdGhpcy5nZXRNaW51dGUoZGF0ZSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0RhdGU7XG4gIH1cblxuICBhZGRDYWxlbmRhckRheXMoZGF0ZTogRGF0ZSwgZGF5czogbnVtYmVyKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3coXG4gICAgICB0aGlzLmdldFllYXIoZGF0ZSksXG4gICAgICB0aGlzLmdldE1vbnRoKGRhdGUpLFxuICAgICAgdGhpcy5nZXREYXRlKGRhdGUpICsgZGF5cyxcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSxcbiAgICAgIHRoaXMuZ2V0TWludXRlKGRhdGUpXG4gICAgKTtcbiAgfVxuXG4gIGFkZENhbGVuZGFySG91cnMoZGF0ZTogRGF0ZSwgaG91cnM6IG51bWJlcik6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KFxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLFxuICAgICAgdGhpcy5nZXRNb250aChkYXRlKSxcbiAgICAgIHRoaXMuZ2V0RGF0ZShkYXRlKSxcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSArIGhvdXJzLFxuICAgICAgdGhpcy5nZXRNaW51dGUoZGF0ZSlcbiAgICApO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJNaW51dGVzKGRhdGU6IERhdGUsIG1pbnV0ZXM6IG51bWJlcik6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KFxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLFxuICAgICAgdGhpcy5nZXRNb250aChkYXRlKSxcbiAgICAgIHRoaXMuZ2V0RGF0ZShkYXRlKSxcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSxcbiAgICAgIHRoaXMuZ2V0TWludXRlKGRhdGUpICsgbWludXRlc1xuICAgICk7XG4gIH1cblxuICB0b0lzbzg2MDEoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIHN1cGVyLnRvSXNvODYwMShkYXRlKSArXG4gICAgICAnVCcgK1xuICAgICAgW3RoaXMuXzJkaWdpdChkYXRlLmdldFVUQ0hvdXJzKCkpLCB0aGlzLl8yZGlnaXQoZGF0ZS5nZXRVVENNaW51dGVzKCkpXS5qb2luKCc6JylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREYXRlSW5OZXh0TW9udGgoZGF0ZTogRGF0ZSkge1xuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSArIDEsIDEsIGRhdGUuZ2V0SG91cnMoKSwgZGF0ZS5nZXRNaW51dGVzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmlwIG91dCB1bmljb2RlIExUUiBhbmQgUlRMIGNoYXJhY3RlcnMuIEVkZ2UgYW5kIElFIGluc2VydCB0aGVzZSBpbnRvIGZvcm1hdHRlZCBkYXRlcyB3aGlsZVxuICAgKiBvdGhlciBicm93c2VycyBkbyBub3QuIFdlIHJlbW92ZSB0aGVtIHRvIG1ha2Ugb3V0cHV0IGNvbnNpc3RlbnQgYW5kIGJlY2F1c2UgdGhleSBpbnRlcmZlcmUgd2l0aFxuICAgKiBkYXRlIHBhcnNpbmcuXG4gICAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZyB0byBzdHJpcCBkaXJlY3Rpb24gY2hhcmFjdGVycyBmcm9tLlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaXBwZWQgc3RyaW5nLlxuICAgKi9cbiAgcHJpdmF0ZSBfc3RyaXBEaXJlY3Rpb25hbGl0eUNoYXJhY3RlcnMoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1tcXHUyMDBlXFx1MjAwZl0vZywgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhZHMgYSBudW1iZXIgdG8gbWFrZSBpdCB0d28gZGlnaXRzLlxuICAgKiBAcGFyYW0gbiBUaGUgbnVtYmVyIHRvIHBhZC5cbiAgICogQHJldHVybnMgVGhlIHBhZGRlZCBudW1iZXIuXG4gICAqL1xuICBwcml2YXRlIF8yZGlnaXQobjogbnVtYmVyKSB7XG4gICAgcmV0dXJuICgnMDAnICsgbikuc2xpY2UoLTIpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgYSBkYXRlIGJ1dCBhbGxvd3MgdGhlIG1vbnRoIGFuZCBkYXRlIHRvIG92ZXJmbG93LiAqL1xuICBwcml2YXRlIF9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KFxuICAgIHllYXI6IG51bWJlcixcbiAgICBtb250aDogbnVtYmVyLFxuICAgIGRhdGU6IG51bWJlcixcbiAgICBob3VyczogbnVtYmVyLFxuICAgIG1pbnV0ZXM6IG51bWJlclxuICApIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF0ZSwgaG91cnMsIG1pbnV0ZXMpO1xuXG4gICAgLy8gV2UgbmVlZCB0byBjb3JyZWN0IGZvciB0aGUgZmFjdCB0aGF0IEpTIG5hdGl2ZSBEYXRlIHRyZWF0cyB5ZWFycyBpbiByYW5nZSBbMCwgOTldIGFzXG4gICAgLy8gYWJicmV2aWF0aW9ucyBmb3IgMTl4eC5cbiAgICBpZiAoeWVhciA+PSAwICYmIHllYXIgPCAxMDApIHtcbiAgICAgIHJlc3VsdC5zZXRGdWxsWWVhcih0aGlzLmdldFllYXIocmVzdWx0KSAtIDE5MDApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Pipe, TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
class MtxIsTemplateRefPipe {
|
|
4
|
+
transform(obj) {
|
|
5
|
+
return obj instanceof TemplateRef;
|
|
6
|
+
}
|
|
7
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxIsTemplateRefPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.3", ngImport: i0, type: MtxIsTemplateRefPipe, name: "isTemplateRef" }); }
|
|
9
|
+
}
|
|
10
|
+
export { MtxIsTemplateRefPipe };
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxIsTemplateRefPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{ name: 'isTemplateRef' }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtdGVtcGxhdGUtcmVmLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2NvcmUvcGlwZXMvaXMtdGVtcGxhdGUtcmVmLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRSxNQUNhLG9CQUFvQjtJQUMvQixTQUFTLENBQUMsR0FBUTtRQUNoQixPQUFPLEdBQUcsWUFBWSxXQUFXLENBQUM7SUFDcEMsQ0FBQztpSUFIVSxvQkFBb0I7K0hBQXBCLG9CQUFvQjs7U0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAnaXNUZW1wbGF0ZVJlZicgfSlcbmV4cG9ydCBjbGFzcyBNdHhJc1RlbXBsYXRlUmVmUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0ob2JqOiBhbnkpIHtcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MtxToObservablePipe } from './to-observable.pipe';
|
|
4
|
+
import { MtxIsTemplateRefPipe } from './is-template-ref.pipe';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class MtxPipesModule {
|
|
7
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.3", ngImport: i0, type: MtxPipesModule, declarations: [MtxToObservablePipe, MtxIsTemplateRefPipe], imports: [CommonModule], exports: [MtxToObservablePipe, MtxIsTemplateRefPipe] }); }
|
|
9
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxPipesModule, imports: [CommonModule] }); }
|
|
10
|
+
}
|
|
11
|
+
export { MtxPipesModule };
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxPipesModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [CommonModule],
|
|
16
|
+
exports: [MtxToObservablePipe, MtxIsTemplateRefPipe],
|
|
17
|
+
declarations: [MtxToObservablePipe, MtxIsTemplateRefPipe],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9jb3JlL3BpcGVzL3BpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFOUQsTUFLYSxjQUFjO2lJQUFkLGNBQWM7a0lBQWQsY0FBYyxpQkFGVixtQkFBbUIsRUFBRSxvQkFBb0IsYUFGOUMsWUFBWSxhQUNaLG1CQUFtQixFQUFFLG9CQUFvQjtrSUFHeEMsY0FBYyxZQUpmLFlBQVk7O1NBSVgsY0FBYzsyRkFBZCxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3BELFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDO2lCQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBNdHhUb09ic2VydmFibGVQaXBlIH0gZnJvbSAnLi90by1vYnNlcnZhYmxlLnBpcGUnO1xuaW1wb3J0IHsgTXR4SXNUZW1wbGF0ZVJlZlBpcGUgfSBmcm9tICcuL2lzLXRlbXBsYXRlLXJlZi5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtNdHhUb09ic2VydmFibGVQaXBlLCBNdHhJc1RlbXBsYXRlUmVmUGlwZV0sXG4gIGRlY2xhcmF0aW9uczogW010eFRvT2JzZXJ2YWJsZVBpcGUsIE10eElzVGVtcGxhdGVSZWZQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgTXR4UGlwZXNNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { of, isObservable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
class MtxToObservablePipe {
|
|
5
|
+
transform(value) {
|
|
6
|
+
return isObservable(value) ? value : of(value);
|
|
7
|
+
}
|
|
8
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxToObservablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.3", ngImport: i0, type: MtxToObservablePipe, name: "toObservable" }); }
|
|
10
|
+
}
|
|
11
|
+
export { MtxToObservablePipe };
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxToObservablePipe, decorators: [{
|
|
13
|
+
type: Pipe,
|
|
14
|
+
args: [{ name: 'toObservable' }]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tb2JzZXJ2YWJsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9jb3JlL3BpcGVzL3RvLW9ic2VydmFibGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFcEQsTUFDYSxtQkFBbUI7SUFDOUIsU0FBUyxDQUFDLEtBQWdDO1FBQ3hDLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO2lJQUhVLG1CQUFtQjsrSEFBbkIsbUJBQW1COztTQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHsgbmFtZTogJ3RvT2JzZXJ2YWJsZScgfSlcbmV4cG9ydCBjbGFzcyBNdHhUb09ic2VydmFibGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5rbm93bik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIGlzT2JzZXJ2YWJsZSh2YWx1ZSkgPyB2YWx1ZSA6IG9mKHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
/**
|
|
5
|
+
* An internal class that represents the data corresponding to a single calendar cell.
|
|
6
|
+
* @docs-private
|
|
7
|
+
*/
|
|
8
|
+
export class MtxCalendarCell {
|
|
9
|
+
constructor(value, displayValue, ariaLabel, enabled) {
|
|
10
|
+
this.value = value;
|
|
11
|
+
this.displayValue = displayValue;
|
|
12
|
+
this.ariaLabel = ariaLabel;
|
|
13
|
+
this.enabled = enabled;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* An internal component used to display calendar data in a table.
|
|
18
|
+
* @docs-private
|
|
19
|
+
*/
|
|
20
|
+
class MtxCalendarBody {
|
|
21
|
+
constructor() {
|
|
22
|
+
/** The number of columns in the table. */
|
|
23
|
+
this.numCols = 7;
|
|
24
|
+
/** Whether to allow selection of disabled cells. */
|
|
25
|
+
this.allowDisabledSelection = false;
|
|
26
|
+
/** The cell number of the active cell in the table. */
|
|
27
|
+
this.activeCell = 0;
|
|
28
|
+
/** Emits when a new value is selected. */
|
|
29
|
+
this.selectedValueChange = new EventEmitter();
|
|
30
|
+
}
|
|
31
|
+
/** The number of blank cells to put at the beginning for the first row. */
|
|
32
|
+
get _firstRowOffset() {
|
|
33
|
+
return this.rows && this.rows.length && this.rows[0].length
|
|
34
|
+
? this.numCols - this.rows[0].length
|
|
35
|
+
: 0;
|
|
36
|
+
}
|
|
37
|
+
_cellClicked(cell) {
|
|
38
|
+
if (!this.allowDisabledSelection && !cell.enabled) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.selectedValueChange.emit(cell.value);
|
|
42
|
+
}
|
|
43
|
+
_isActiveCell(rowIndex, colIndex) {
|
|
44
|
+
let cellNumber = rowIndex * this.numCols + colIndex;
|
|
45
|
+
// Account for the fact that the first row may not have as many cells.
|
|
46
|
+
if (rowIndex) {
|
|
47
|
+
cellNumber -= this._firstRowOffset;
|
|
48
|
+
}
|
|
49
|
+
return cellNumber === this.activeCell;
|
|
50
|
+
}
|
|
51
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxCalendarBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: MtxCalendarBody, selector: "[mtx-calendar-body]", inputs: { label: "label", rows: "rows", todayValue: "todayValue", selectedValue: "selectedValue", labelMinRequiredCells: "labelMinRequiredCells", numCols: "numCols", allowDisabledSelection: "allowDisabledSelection", activeCell: "activeCell" }, outputs: { selectedValueChange: "selectedValueChange" }, host: { classAttribute: "mtx-calendar-body" }, exportAs: ["mtxCalendarBody"], ngImport: i0, template: "<!--\n If there's not enough space in the first row, create a separate label row. We mark this row as\n aria-hidden because we don't want it to be read out as one of the weeks in the month.\n-->\n<tr *ngIf=\"_firstRowOffset < labelMinRequiredCells\" aria-hidden=\"true\">\n <td class=\"mtx-calendar-body-label\" [attr.colspan]=\"numCols\">{{ label }}</td>\n</tr>\n\n<!-- Create the first row separately so we can include a special spacer cell. -->\n<tr *ngFor=\"let row of rows; let rowIndex = index\" role=\"row\">\n <!--\n We mark this cell as aria-hidden so it doesn't get read out as one of the days in the week.\n -->\n <td *ngIf=\"rowIndex === 0 && _firstRowOffset\"\n class=\"mtx-calendar-body-label\" [attr.colspan]=\"_firstRowOffset\" aria-hidden=\"true\">\n {{ _firstRowOffset >= labelMinRequiredCells ? label : '' }}\n </td>\n <td *ngFor=\"let item of row; let colIndex = index\"\n role=\"gridcell\"\n class=\"mtx-calendar-body-cell\"\n [class.mtx-calendar-body-active]=\"_isActiveCell(rowIndex, colIndex)\"\n [class.mtx-calendar-body-disabled]=\"!item.enabled\"\n [tabindex]=\"_isActiveCell(rowIndex, colIndex) ? 0 : -1\"\n [attr.data-mat-row]=\"rowIndex\"\n [attr.data-mat-col]=\"colIndex\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-disabled]=\"!item.enabled || null\"\n (click)=\"_cellClicked(item)\">\n <div class=\"mtx-calendar-body-cell-content\"\n [class.mtx-calendar-body-selected]=\"selectedValue === item.value\"\n [class.mtx-calendar-body-today]=\"todayValue === item.value\"\n [attr.aria-selected]=\"selectedValue === item.value\">\n {{ item.displayValue }}\n </div>\n </td>\n</tr>\n", styles: [".mtx-calendar-body{min-width:224px}.mtx-calendar-body-label{height:0;line-height:0;text-align:left;padding:7.1428571429% 4.7142857143%}[dir=rtl] .mtx-calendar-body-label{text-align:right}.mtx-calendar-body-cell{position:relative;width:14.2857142857%;height:0;line-height:0;padding:7.1428571429% 0;text-align:center;outline:none;cursor:pointer}.mtx-calendar-body-disabled{cursor:default;pointer-events:none}.mtx-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;border:1px solid transparent;border-radius:999px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
53
|
+
}
|
|
54
|
+
export { MtxCalendarBody };
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: MtxCalendarBody, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: '[mtx-calendar-body]', host: {
|
|
58
|
+
class: 'mtx-calendar-body',
|
|
59
|
+
}, exportAs: 'mtxCalendarBody', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n If there's not enough space in the first row, create a separate label row. We mark this row as\n aria-hidden because we don't want it to be read out as one of the weeks in the month.\n-->\n<tr *ngIf=\"_firstRowOffset < labelMinRequiredCells\" aria-hidden=\"true\">\n <td class=\"mtx-calendar-body-label\" [attr.colspan]=\"numCols\">{{ label }}</td>\n</tr>\n\n<!-- Create the first row separately so we can include a special spacer cell. -->\n<tr *ngFor=\"let row of rows; let rowIndex = index\" role=\"row\">\n <!--\n We mark this cell as aria-hidden so it doesn't get read out as one of the days in the week.\n -->\n <td *ngIf=\"rowIndex === 0 && _firstRowOffset\"\n class=\"mtx-calendar-body-label\" [attr.colspan]=\"_firstRowOffset\" aria-hidden=\"true\">\n {{ _firstRowOffset >= labelMinRequiredCells ? label : '' }}\n </td>\n <td *ngFor=\"let item of row; let colIndex = index\"\n role=\"gridcell\"\n class=\"mtx-calendar-body-cell\"\n [class.mtx-calendar-body-active]=\"_isActiveCell(rowIndex, colIndex)\"\n [class.mtx-calendar-body-disabled]=\"!item.enabled\"\n [tabindex]=\"_isActiveCell(rowIndex, colIndex) ? 0 : -1\"\n [attr.data-mat-row]=\"rowIndex\"\n [attr.data-mat-col]=\"colIndex\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-disabled]=\"!item.enabled || null\"\n (click)=\"_cellClicked(item)\">\n <div class=\"mtx-calendar-body-cell-content\"\n [class.mtx-calendar-body-selected]=\"selectedValue === item.value\"\n [class.mtx-calendar-body-today]=\"todayValue === item.value\"\n [attr.aria-selected]=\"selectedValue === item.value\">\n {{ item.displayValue }}\n </div>\n </td>\n</tr>\n", styles: [".mtx-calendar-body{min-width:224px}.mtx-calendar-body-label{height:0;line-height:0;text-align:left;padding:7.1428571429% 4.7142857143%}[dir=rtl] .mtx-calendar-body-label{text-align:right}.mtx-calendar-body-cell{position:relative;width:14.2857142857%;height:0;line-height:0;padding:7.1428571429% 0;text-align:center;outline:none;cursor:pointer}.mtx-calendar-body-disabled{cursor:default;pointer-events:none}.mtx-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;border:1px solid transparent;border-radius:999px}\n"] }]
|
|
60
|
+
}], propDecorators: { label: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], rows: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], todayValue: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], selectedValue: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], labelMinRequiredCells: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], numCols: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], allowDisabledSelection: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], activeCell: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], selectedValueChange: [{
|
|
77
|
+
type: Output
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItYm9keS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0ZXRpbWVwaWNrZXIvY2FsZW5kYXItYm9keS50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0ZXRpbWVwaWNrZXIvY2FsZW5kYXItYm9keS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1MsS0FBYSxFQUNiLFlBQW9CLEVBQ3BCLFNBQWlCLEVBQ2pCLE9BQWdCO1FBSGhCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFDdEIsQ0FBQztDQUNMO0FBRUQ7OztHQUdHO0FBQ0gsTUFXYSxlQUFlO0lBWDVCO1FBMkJFLDBDQUEwQztRQUNqQyxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRXJCLG9EQUFvRDtRQUMzQywyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFFeEMsdURBQXVEO1FBQzlDLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFFeEIsMENBQTBDO1FBQ2hDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0EwQjVEO0lBeEJDLDJFQUEyRTtJQUMzRSxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUN6RCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBcUI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQzlDLElBQUksVUFBVSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUVwRCxzRUFBc0U7UUFDdEUsSUFBSSxRQUFRLEVBQUU7WUFDWixVQUFVLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUNwQztRQUVELE9BQU8sVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDeEMsQ0FBQztpSUFuRFUsZUFBZTtxSEFBZixlQUFlLHNiQ3JDNUIsMnJEQW9DQTs7U0RDYSxlQUFlOzJGQUFmLGVBQWU7a0JBWDNCLFNBQVM7K0JBQ0UscUJBQXFCLFFBR3pCO3dCQUNKLEtBQUssRUFBRSxtQkFBbUI7cUJBQzNCLFlBQ1MsaUJBQWlCLGlCQUNaLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0ksbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQW4gaW50ZXJuYWwgY2xhc3MgdGhhdCByZXByZXNlbnRzIHRoZSBkYXRhIGNvcnJlc3BvbmRpbmcgdG8gYSBzaW5nbGUgY2FsZW5kYXIgY2VsbC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIE10eENhbGVuZGFyQ2VsbCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB2YWx1ZTogbnVtYmVyLFxuICAgIHB1YmxpYyBkaXNwbGF5VmFsdWU6IHN0cmluZyxcbiAgICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcsXG4gICAgcHVibGljIGVuYWJsZWQ6IGJvb2xlYW5cbiAgKSB7fVxufVxuXG4vKipcbiAqIEFuIGludGVybmFsIGNvbXBvbmVudCB1c2VkIHRvIGRpc3BsYXkgY2FsZW5kYXIgZGF0YSBpbiBhIHRhYmxlLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbbXR4LWNhbGVuZGFyLWJvZHldJyxcbiAgdGVtcGxhdGVVcmw6ICdjYWxlbmRhci1ib2R5Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnY2FsZW5kYXItYm9keS5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ210eC1jYWxlbmRhci1ib2R5JyxcbiAgfSxcbiAgZXhwb3J0QXM6ICdtdHhDYWxlbmRhckJvZHknLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTXR4Q2FsZW5kYXJCb2R5IHtcbiAgLyoqIFRoZSBsYWJlbCBmb3IgdGhlIHRhYmxlLiAoZS5nLiBcIkphbiAyMDE3XCIpLiAqL1xuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcblxuICAvKiogVGhlIGNlbGxzIHRvIGRpc3BsYXkgaW4gdGhlIHRhYmxlLiAqL1xuICBASW5wdXQoKSByb3dzITogTXR4Q2FsZW5kYXJDZWxsW11bXTtcblxuICAvKiogVGhlIHZhbHVlIGluIHRoZSB0YWJsZSB0aGF0IGNvcnJlc3BvbmRzIHRvIHRvZGF5LiAqL1xuICBASW5wdXQoKSB0b2RheVZhbHVlITogbnVtYmVyO1xuXG4gIC8qKiBUaGUgdmFsdWUgaW4gdGhlIHRhYmxlIHRoYXQgaXMgY3VycmVudGx5IHNlbGVjdGVkLiAqL1xuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlITogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbWluaW11bSBudW1iZXIgb2YgZnJlZSBjZWxscyBuZWVkZWQgdG8gZml0IHRoZSBsYWJlbCBpbiB0aGUgZmlyc3Qgcm93LiAqL1xuICBASW5wdXQoKSBsYWJlbE1pblJlcXVpcmVkQ2VsbHMhOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgdGFibGUuICovXG4gIEBJbnB1dCgpIG51bUNvbHMgPSA3O1xuXG4gIC8qKiBXaGV0aGVyIHRvIGFsbG93IHNlbGVjdGlvbiBvZiBkaXNhYmxlZCBjZWxscy4gKi9cbiAgQElucHV0KCkgYWxsb3dEaXNhYmxlZFNlbGVjdGlvbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgY2VsbCBudW1iZXIgb2YgdGhlIGFjdGl2ZSBjZWxsIGluIHRoZSB0YWJsZS4gKi9cbiAgQElucHV0KCkgYWN0aXZlQ2VsbCA9IDA7XG5cbiAgLyoqIEVtaXRzIHdoZW4gYSBuZXcgdmFsdWUgaXMgc2VsZWN0ZWQuICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgYmxhbmsgY2VsbHMgdG8gcHV0IGF0IHRoZSBiZWdpbm5pbmcgZm9yIHRoZSBmaXJzdCByb3cuICovXG4gIGdldCBfZmlyc3RSb3dPZmZzZXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yb3dzICYmIHRoaXMucm93cy5sZW5ndGggJiYgdGhpcy5yb3dzWzBdLmxlbmd0aFxuICAgICAgPyB0aGlzLm51bUNvbHMgLSB0aGlzLnJvd3NbMF0ubGVuZ3RoXG4gICAgICA6IDA7XG4gIH1cblxuICBfY2VsbENsaWNrZWQoY2VsbDogTXR4Q2FsZW5kYXJDZWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFsbG93RGlzYWJsZWRTZWxlY3Rpb24gJiYgIWNlbGwuZW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UuZW1pdChjZWxsLnZhbHVlKTtcbiAgfVxuXG4gIF9pc0FjdGl2ZUNlbGwocm93SW5kZXg6IG51bWJlciwgY29sSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGxldCBjZWxsTnVtYmVyID0gcm93SW5kZXggKiB0aGlzLm51bUNvbHMgKyBjb2xJbmRleDtcblxuICAgIC8vIEFjY291bnQgZm9yIHRoZSBmYWN0IHRoYXQgdGhlIGZpcnN0IHJvdyBtYXkgbm90IGhhdmUgYXMgbWFueSBjZWxscy5cbiAgICBpZiAocm93SW5kZXgpIHtcbiAgICAgIGNlbGxOdW1iZXIgLT0gdGhpcy5fZmlyc3RSb3dPZmZzZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNlbGxOdW1iZXIgPT09IHRoaXMuYWN0aXZlQ2VsbDtcbiAgfVxufVxuIiwiPCEtLVxuICBJZiB0aGVyZSdzIG5vdCBlbm91Z2ggc3BhY2UgaW4gdGhlIGZpcnN0IHJvdywgY3JlYXRlIGEgc2VwYXJhdGUgbGFiZWwgcm93LiBXZSBtYXJrIHRoaXMgcm93IGFzXG4gIGFyaWEtaGlkZGVuIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBpdCB0byBiZSByZWFkIG91dCBhcyBvbmUgb2YgdGhlIHdlZWtzIGluIHRoZSBtb250aC5cbi0tPlxuPHRyICpuZ0lmPVwiX2ZpcnN0Um93T2Zmc2V0IDwgbGFiZWxNaW5SZXF1aXJlZENlbGxzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gIDx0ZCBjbGFzcz1cIm10eC1jYWxlbmRhci1ib2R5LWxhYmVsXCIgW2F0dHIuY29sc3Bhbl09XCJudW1Db2xzXCI+e3sgbGFiZWwgfX08L3RkPlxuPC90cj5cblxuPCEtLSBDcmVhdGUgdGhlIGZpcnN0IHJvdyBzZXBhcmF0ZWx5IHNvIHdlIGNhbiBpbmNsdWRlIGEgc3BlY2lhbCBzcGFjZXIgY2VsbC4gLS0+XG48dHIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzOyBsZXQgcm93SW5kZXggPSBpbmRleFwiIHJvbGU9XCJyb3dcIj5cbiAgPCEtLVxuICAgIFdlIG1hcmsgdGhpcyBjZWxsIGFzIGFyaWEtaGlkZGVuIHNvIGl0IGRvZXNuJ3QgZ2V0IHJlYWQgb3V0IGFzIG9uZSBvZiB0aGUgZGF5cyBpbiB0aGUgd2Vlay5cbiAgLS0+XG4gIDx0ZCAqbmdJZj1cInJvd0luZGV4ID09PSAwICYmIF9maXJzdFJvd09mZnNldFwiXG4gICAgICBjbGFzcz1cIm10eC1jYWxlbmRhci1ib2R5LWxhYmVsXCIgW2F0dHIuY29sc3Bhbl09XCJfZmlyc3RSb3dPZmZzZXRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICB7eyBfZmlyc3RSb3dPZmZzZXQgPj0gbGFiZWxNaW5SZXF1aXJlZENlbGxzID8gbGFiZWwgOiAnJyB9fVxuICA8L3RkPlxuICA8dGQgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93OyBsZXQgY29sSW5kZXggPSBpbmRleFwiXG4gICAgICByb2xlPVwiZ3JpZGNlbGxcIlxuICAgICAgY2xhc3M9XCJtdHgtY2FsZW5kYXItYm9keS1jZWxsXCJcbiAgICAgIFtjbGFzcy5tdHgtY2FsZW5kYXItYm9keS1hY3RpdmVdPVwiX2lzQWN0aXZlQ2VsbChyb3dJbmRleCwgY29sSW5kZXgpXCJcbiAgICAgIFtjbGFzcy5tdHgtY2FsZW5kYXItYm9keS1kaXNhYmxlZF09XCIhaXRlbS5lbmFibGVkXCJcbiAgICAgIFt0YWJpbmRleF09XCJfaXNBY3RpdmVDZWxsKHJvd0luZGV4LCBjb2xJbmRleCkgPyAwIDogLTFcIlxuICAgICAgW2F0dHIuZGF0YS1tYXQtcm93XT1cInJvd0luZGV4XCJcbiAgICAgIFthdHRyLmRhdGEtbWF0LWNvbF09XCJjb2xJbmRleFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiIWl0ZW0uZW5hYmxlZCB8fCBudWxsXCJcbiAgICAgIChjbGljayk9XCJfY2VsbENsaWNrZWQoaXRlbSlcIj5cbiAgICA8ZGl2IGNsYXNzPVwibXR4LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50XCJcbiAgICAgICAgIFtjbGFzcy5tdHgtY2FsZW5kYXItYm9keS1zZWxlY3RlZF09XCJzZWxlY3RlZFZhbHVlID09PSBpdGVtLnZhbHVlXCJcbiAgICAgICAgIFtjbGFzcy5tdHgtY2FsZW5kYXItYm9keS10b2RheV09XCJ0b2RheVZhbHVlID09PSBpdGVtLnZhbHVlXCJcbiAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRWYWx1ZSA9PT0gaXRlbS52YWx1ZVwiPlxuICAgICAge3sgaXRlbS5kaXNwbGF5VmFsdWUgfX1cbiAgICA8L2Rpdj5cbiAgPC90ZD5cbjwvdHI+XG4iXX0=
|