@ng-nest/ui 13.1.6 → 13.1.9
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/core/animation/opacity.d.ts +2 -0
- package/core/animation/public-api.d.ts +1 -0
- package/core/config/config.d.ts +5 -0
- package/dialog/dialog-container.component.d.ts +8 -0
- package/dialog/dialog.component.d.ts +10 -2
- package/dialog/dialog.module.d.ts +15 -14
- package/dialog/dialog.property.d.ts +16 -2
- package/dialog/examples/en_US/default/container/README.md +6 -0
- package/dialog/examples/en_US/default/resizable/README.md +6 -0
- package/dialog/examples/zh_CN/default/container/README.md +6 -0
- package/dialog/public-api.d.ts +1 -0
- package/esm2020/affix/affix.component.mjs +4 -4
- package/esm2020/affix/affix.module.mjs +5 -5
- package/esm2020/affix/affix.property.mjs +4 -4
- package/esm2020/alert/alert.component.mjs +4 -4
- package/esm2020/alert/alert.module.mjs +5 -5
- package/esm2020/alert/alert.property.mjs +4 -4
- package/esm2020/anchor/anchor.component.mjs +4 -4
- package/esm2020/anchor/anchor.module.mjs +5 -5
- package/esm2020/anchor/anchor.property.mjs +4 -4
- package/esm2020/api/api.component.mjs +4 -4
- package/esm2020/api/api.module.mjs +5 -5
- package/esm2020/auto-complete/auto-complete-portal.component.mjs +4 -4
- package/esm2020/auto-complete/auto-complete.component.mjs +6 -5
- package/esm2020/auto-complete/auto-complete.module.mjs +5 -5
- package/esm2020/auto-complete/auto-complete.property.mjs +4 -4
- package/esm2020/avatar/avatar.component.mjs +4 -4
- package/esm2020/avatar/avatar.module.mjs +5 -5
- package/esm2020/avatar/avatar.property.mjs +4 -4
- package/esm2020/back-top/back-top.component.mjs +4 -4
- package/esm2020/back-top/back-top.module.mjs +5 -5
- package/esm2020/back-top/back-top.property.mjs +4 -4
- package/esm2020/badge/badge.component.mjs +4 -4
- package/esm2020/badge/badge.module.mjs +5 -5
- package/esm2020/badge/badge.property.mjs +4 -4
- package/esm2020/base-form/base-form.component.mjs +4 -4
- package/esm2020/base-form/base-form.module.mjs +5 -5
- package/esm2020/base-form/base-form.property.mjs +4 -4
- package/esm2020/border/border.component.mjs +4 -4
- package/esm2020/border/border.module.mjs +5 -5
- package/esm2020/button/button.component.mjs +4 -4
- package/esm2020/button/button.module.mjs +5 -5
- package/esm2020/button/button.property.mjs +7 -7
- package/esm2020/button/buttons.component.mjs +4 -4
- package/esm2020/calendar/calendar.component.mjs +4 -4
- package/esm2020/calendar/calendar.module.mjs +5 -5
- package/esm2020/calendar/calendar.property.mjs +4 -4
- package/esm2020/card/card.component.mjs +4 -4
- package/esm2020/card/card.module.mjs +5 -5
- package/esm2020/card/card.property.mjs +4 -4
- package/esm2020/carousel/carousel-panel.component.mjs +4 -4
- package/esm2020/carousel/carousel.component.mjs +4 -4
- package/esm2020/carousel/carousel.module.mjs +5 -5
- package/esm2020/carousel/carousel.property.mjs +7 -7
- package/esm2020/cascade/cascade-portal.component.mjs +4 -4
- package/esm2020/cascade/cascade.component.mjs +4 -4
- package/esm2020/cascade/cascade.module.mjs +5 -5
- package/esm2020/cascade/cascade.property.mjs +4 -4
- package/esm2020/checkbox/checkbox.component.mjs +4 -4
- package/esm2020/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/checkbox/checkbox.property.mjs +4 -4
- package/esm2020/collapse/collapse-panel.component.mjs +4 -4
- package/esm2020/collapse/collapse.component.mjs +4 -4
- package/esm2020/collapse/collapse.module.mjs +5 -5
- package/esm2020/collapse/collapse.property.mjs +7 -7
- package/esm2020/color/color.component.mjs +4 -4
- package/esm2020/color/color.module.mjs +5 -5
- package/esm2020/color/color.property.mjs +4 -4
- package/esm2020/color-picker/color-picker-portal.component.mjs +5 -5
- package/esm2020/color-picker/color-picker.component.mjs +4 -4
- package/esm2020/color-picker/color-picker.module.mjs +5 -5
- package/esm2020/color-picker/color-picker.property.mjs +4 -4
- package/esm2020/comment/comment-reply.component.mjs +4 -4
- package/esm2020/comment/comment.component.mjs +4 -4
- package/esm2020/comment/comment.module.mjs +5 -5
- package/esm2020/comment/comment.property.mjs +7 -7
- package/esm2020/container/aside.component.mjs +4 -4
- package/esm2020/container/container.component.mjs +4 -4
- package/esm2020/container/container.module.mjs +5 -5
- package/esm2020/container/container.property.mjs +13 -13
- package/esm2020/container/footer.component.mjs +4 -4
- package/esm2020/container/header.component.mjs +4 -4
- package/esm2020/container/main.component.mjs +4 -4
- package/esm2020/core/animation/opacity.mjs +9 -0
- package/esm2020/core/animation/public-api.mjs +2 -1
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/core/config/config.service.mjs +4 -4
- package/esm2020/core/interfaces/identify.type.mjs +1 -1
- package/esm2020/core/services/http.service.mjs +4 -4
- package/esm2020/core/services/preloading-strategy.service.mjs +4 -4
- package/esm2020/core/services/storage.service.mjs +4 -4
- package/esm2020/core/theme/theme.service.mjs +4 -4
- package/esm2020/crumb/crumb.component.mjs +4 -4
- package/esm2020/crumb/crumb.module.mjs +5 -5
- package/esm2020/crumb/crumb.property.mjs +4 -4
- package/esm2020/date-picker/date-picker-portal.component.mjs +4 -4
- package/esm2020/date-picker/date-picker.component.mjs +4 -4
- package/esm2020/date-picker/date-picker.module.mjs +5 -5
- package/esm2020/date-picker/date-picker.property.mjs +16 -16
- package/esm2020/date-picker/date-range-portal.component.mjs +4 -4
- package/esm2020/date-picker/date-range.component.mjs +4 -4
- package/esm2020/date-picker/picker-date.component.mjs +4 -4
- package/esm2020/date-picker/picker-month.component.mjs +4 -4
- package/esm2020/date-picker/picker-year.component.mjs +4 -4
- package/esm2020/description/description-item.component.mjs +4 -4
- package/esm2020/description/description.component.mjs +5 -5
- package/esm2020/description/description.module.mjs +5 -5
- package/esm2020/description/description.property.mjs +7 -7
- package/esm2020/dialog/dialog-container.component.mjs +29 -0
- package/esm2020/dialog/dialog-portal.component.mjs +4 -4
- package/esm2020/dialog/dialog-portal.directives.mjs +19 -19
- package/esm2020/dialog/dialog.component.mjs +69 -17
- package/esm2020/dialog/dialog.module.mjs +15 -8
- package/esm2020/dialog/dialog.property.mjs +24 -6
- package/esm2020/dialog/dialog.service.mjs +4 -4
- package/esm2020/dialog/public-api.mjs +2 -1
- package/esm2020/doc/doc.component.mjs +4 -4
- package/esm2020/doc/doc.module.mjs +5 -5
- package/esm2020/drawer/drawer-container.component.mjs +4 -4
- package/esm2020/drawer/drawer-portal.component.mjs +4 -4
- package/esm2020/drawer/drawer-portal.directives.mjs +10 -10
- package/esm2020/drawer/drawer.component.mjs +4 -4
- package/esm2020/drawer/drawer.module.mjs +5 -5
- package/esm2020/drawer/drawer.property.mjs +7 -7
- package/esm2020/drawer/drawer.service.mjs +4 -4
- package/esm2020/dropdown/dropdown-portal.component.mjs +4 -4
- package/esm2020/dropdown/dropdown.component.mjs +4 -4
- package/esm2020/dropdown/dropdown.module.mjs +5 -5
- package/esm2020/dropdown/dropdown.property.mjs +4 -4
- package/esm2020/empty/empty.component.mjs +4 -4
- package/esm2020/empty/empty.module.mjs +5 -5
- package/esm2020/empty/empty.property.mjs +4 -4
- package/esm2020/examples/examples.component.mjs +4 -4
- package/esm2020/examples/examples.module.mjs +5 -5
- package/esm2020/find/find.component.mjs +4 -4
- package/esm2020/find/find.module.mjs +5 -5
- package/esm2020/find/find.property.mjs +4 -4
- package/esm2020/form/control.component.mjs +4 -4
- package/esm2020/form/form.component.mjs +4 -4
- package/esm2020/form/form.module.mjs +5 -5
- package/esm2020/form/form.property.mjs +7 -7
- package/esm2020/highlight/highlight.component.mjs +4 -4
- package/esm2020/highlight/highlight.module.mjs +5 -5
- package/esm2020/highlight/highlight.property.mjs +4 -4
- package/esm2020/i18n/i18n.directive.mjs +4 -4
- package/esm2020/i18n/i18n.module.mjs +5 -5
- package/esm2020/i18n/i18n.pipe.mjs +4 -4
- package/esm2020/i18n/i18n.service.mjs +4 -4
- package/esm2020/icon/icon.component.mjs +4 -4
- package/esm2020/icon/icon.module.mjs +5 -5
- package/esm2020/icon/icon.property.mjs +4 -4
- package/esm2020/icon/icon.service.mjs +4 -4
- package/esm2020/inner/inner.component.mjs +4 -4
- package/esm2020/inner/inner.module.mjs +5 -5
- package/esm2020/inner/inner.property.mjs +4 -4
- package/esm2020/input/input-group.component.mjs +4 -4
- package/esm2020/input/input.component.mjs +4 -4
- package/esm2020/input/input.module.mjs +5 -5
- package/esm2020/input/input.property.mjs +7 -7
- package/esm2020/input-number/input-number.component.mjs +4 -4
- package/esm2020/input-number/input-number.module.mjs +5 -5
- package/esm2020/input-number/input-number.property.mjs +4 -4
- package/esm2020/layout/col.component.mjs +4 -4
- package/esm2020/layout/layout.module.mjs +5 -5
- package/esm2020/layout/layout.property.mjs +7 -7
- package/esm2020/layout/row.component.mjs +4 -4
- package/esm2020/link/link.component.mjs +4 -4
- package/esm2020/link/link.module.mjs +5 -5
- package/esm2020/link/link.property.mjs +4 -4
- package/esm2020/list/list-option.component.mjs +4 -4
- package/esm2020/list/list.component.mjs +4 -4
- package/esm2020/list/list.module.mjs +5 -5
- package/esm2020/list/list.property.mjs +7 -7
- package/esm2020/loading/loading.component.mjs +4 -4
- package/esm2020/loading/loading.module.mjs +5 -5
- package/esm2020/loading/loading.property.mjs +4 -4
- package/esm2020/menu/menu-node.component.mjs +4 -4
- package/esm2020/menu/menu.component.mjs +4 -4
- package/esm2020/menu/menu.module.mjs +5 -5
- package/esm2020/menu/menu.property.mjs +7 -7
- package/esm2020/message/message.component.mjs +4 -4
- package/esm2020/message/message.module.mjs +5 -5
- package/esm2020/message/message.service.mjs +4 -4
- package/esm2020/message-box/message-box.component.mjs +4 -4
- package/esm2020/message-box/message-box.module.mjs +5 -5
- package/esm2020/message-box/message-box.service.mjs +4 -4
- package/esm2020/notification/notification.component.mjs +4 -4
- package/esm2020/notification/notification.module.mjs +5 -5
- package/esm2020/notification/notification.service.mjs +4 -4
- package/esm2020/outlet/outlet.directive.mjs +4 -4
- package/esm2020/outlet/outlet.module.mjs +5 -5
- package/esm2020/page-header/page-header.component.mjs +4 -4
- package/esm2020/page-header/page-header.module.mjs +5 -5
- package/esm2020/page-header/page-header.property.mjs +4 -4
- package/esm2020/pagination/pagination.component.mjs +4 -4
- package/esm2020/pagination/pagination.module.mjs +5 -5
- package/esm2020/pagination/pagination.property.mjs +4 -4
- package/esm2020/pattern/pattern.component.mjs +4 -4
- package/esm2020/pattern/pattern.module.mjs +5 -5
- package/esm2020/popconfirm/popconfirm.component.mjs +4 -4
- package/esm2020/popconfirm/popconfirm.module.mjs +5 -5
- package/esm2020/popconfirm/popconfirm.property.mjs +4 -4
- package/esm2020/popover/popover-portal.component.mjs +4 -4
- package/esm2020/popover/popover.directive.mjs +4 -4
- package/esm2020/popover/popover.module.mjs +5 -5
- package/esm2020/popover/popover.property.mjs +4 -4
- package/esm2020/portal/portal.module.mjs +5 -5
- package/esm2020/portal/portal.service.mjs +39 -12
- package/esm2020/progress/progress.component.mjs +4 -4
- package/esm2020/progress/progress.module.mjs +5 -5
- package/esm2020/progress/progress.property.mjs +4 -4
- package/esm2020/radio/radio.component.mjs +4 -4
- package/esm2020/radio/radio.module.mjs +5 -5
- package/esm2020/radio/radio.property.mjs +4 -4
- package/esm2020/rate/rate.component.mjs +4 -4
- package/esm2020/rate/rate.module.mjs +5 -5
- package/esm2020/rate/rate.property.mjs +4 -4
- package/esm2020/resizable/resizable.directive.mjs +4 -4
- package/esm2020/resizable/resizable.module.mjs +5 -5
- package/esm2020/resizable/resizable.property.mjs +4 -4
- package/esm2020/result/result.component.mjs +4 -4
- package/esm2020/result/result.module.mjs +5 -5
- package/esm2020/result/result.property.mjs +4 -4
- package/esm2020/ripple/ripple.directive.mjs +4 -4
- package/esm2020/ripple/ripple.module.mjs +5 -5
- package/esm2020/ripple/ripple.property.mjs +4 -4
- package/esm2020/select/select-portal.component.mjs +4 -4
- package/esm2020/select/select.component.mjs +4 -4
- package/esm2020/select/select.module.mjs +5 -5
- package/esm2020/select/select.property.mjs +4 -4
- package/esm2020/skeleton/skeleton.component.mjs +4 -4
- package/esm2020/skeleton/skeleton.module.mjs +5 -5
- package/esm2020/skeleton/skeleton.property.mjs +4 -4
- package/esm2020/slider/slider.component.mjs +4 -4
- package/esm2020/slider/slider.module.mjs +5 -5
- package/esm2020/slider/slider.property.mjs +4 -4
- package/esm2020/slider-select/slider-select.component.mjs +4 -4
- package/esm2020/slider-select/slider-select.module.mjs +5 -5
- package/esm2020/slider-select/slider-select.property.mjs +4 -4
- package/esm2020/statistic/countdown.component.mjs +4 -4
- package/esm2020/statistic/statistic.component.mjs +4 -4
- package/esm2020/statistic/statistic.module.mjs +5 -5
- package/esm2020/statistic/statistic.property.mjs +7 -7
- package/esm2020/steps/steps.component.mjs +4 -4
- package/esm2020/steps/steps.module.mjs +5 -5
- package/esm2020/steps/steps.property.mjs +4 -4
- package/esm2020/switch/switch.component.mjs +4 -4
- package/esm2020/switch/switch.module.mjs +5 -5
- package/esm2020/switch/switch.property.mjs +4 -4
- package/esm2020/table/drag.directive.mjs +4 -4
- package/esm2020/table/table-body.component.mjs +16 -9
- package/esm2020/table/table-foot.component.mjs +4 -4
- package/esm2020/table/table-head.component.mjs +4 -4
- package/esm2020/table/table.component.mjs +67 -19
- package/esm2020/table/table.module.mjs +9 -5
- package/esm2020/table/table.property.mjs +54 -13
- package/esm2020/tabs/tab-content.component.mjs +4 -4
- package/esm2020/tabs/tab.component.mjs +4 -4
- package/esm2020/tabs/tabs.component.mjs +4 -4
- package/esm2020/tabs/tabs.module.mjs +5 -5
- package/esm2020/tabs/tabs.property.mjs +7 -7
- package/esm2020/tag/tag.component.mjs +4 -4
- package/esm2020/tag/tag.module.mjs +5 -5
- package/esm2020/tag/tag.property.mjs +4 -4
- package/esm2020/text-retract/text-retract.component.mjs +4 -4
- package/esm2020/text-retract/text-retract.module.mjs +5 -5
- package/esm2020/text-retract/text-retract.property.mjs +4 -4
- package/esm2020/textarea/textarea.component.mjs +4 -4
- package/esm2020/textarea/textarea.module.mjs +5 -5
- package/esm2020/textarea/textarea.property.mjs +4 -4
- package/esm2020/theme/theme.component.mjs +4 -4
- package/esm2020/theme/theme.module.mjs +5 -5
- package/esm2020/theme/theme.property.mjs +4 -4
- package/esm2020/time-ago/time-ago.module.mjs +5 -5
- package/esm2020/time-ago/time-ago.pipe.mjs +4 -4
- package/esm2020/time-picker/time-picker-frame.component.mjs +4 -4
- package/esm2020/time-picker/time-picker-portal.component.mjs +4 -4
- package/esm2020/time-picker/time-picker.component.mjs +4 -4
- package/esm2020/time-picker/time-picker.module.mjs +5 -5
- package/esm2020/time-picker/time-picker.property.mjs +4 -4
- package/esm2020/time-range/time-range.module.mjs +5 -5
- package/esm2020/time-range/time-range.pipe.mjs +4 -4
- package/esm2020/timeline/timeline.component.mjs +4 -4
- package/esm2020/timeline/timeline.module.mjs +5 -5
- package/esm2020/timeline/timeline.property.mjs +4 -4
- package/esm2020/tooltip/tooltip-portal.component.mjs +4 -4
- package/esm2020/tooltip/tooltip.directive.mjs +4 -4
- package/esm2020/tooltip/tooltip.module.mjs +5 -5
- package/esm2020/tooltip/tooltip.property.mjs +4 -4
- package/esm2020/transfer/transfer.component.mjs +4 -4
- package/esm2020/transfer/transfer.module.mjs +5 -5
- package/esm2020/transfer/transfer.property.mjs +4 -4
- package/esm2020/tree/tree-node.component.mjs +76 -21
- package/esm2020/tree/tree.component.mjs +36 -9
- package/esm2020/tree/tree.module.mjs +7 -6
- package/esm2020/tree/tree.property.mjs +38 -7
- package/esm2020/tree-file/tree-file.component.mjs +4 -4
- package/esm2020/tree-file/tree-file.module.mjs +5 -5
- package/esm2020/tree-file/tree-file.property.mjs +4 -4
- package/esm2020/typography/typography.component.mjs +4 -4
- package/esm2020/typography/typography.module.mjs +5 -5
- package/esm2020/typography/typography.property.mjs +4 -4
- package/esm2020/upload/upload-portal.component.mjs +5 -5
- package/esm2020/upload/upload.component.mjs +19 -12
- package/esm2020/upload/upload.module.mjs +5 -5
- package/esm2020/upload/upload.property.mjs +19 -5
- package/fesm2015/ng-nest-ui-affix.mjs +10 -10
- package/fesm2015/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-alert.mjs +10 -10
- package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
- package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-api.mjs +7 -7
- package/fesm2015/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-auto-complete.mjs +15 -14
- package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-avatar.mjs +10 -10
- package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-badge.mjs +10 -10
- package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-border.mjs +7 -7
- package/fesm2015/ng-nest-ui-border.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-button.mjs +16 -16
- package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
- package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-card.mjs +10 -10
- package/fesm2015/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
- package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.mjs +13 -13
- package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.mjs +10 -10
- package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-collapse.mjs +16 -16
- package/fesm2015/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-color-picker.mjs +14 -14
- package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-color.mjs +10 -10
- package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-comment.mjs +16 -16
- package/fesm2015/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-container.mjs +31 -31
- package/fesm2015/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-core.mjs +23 -16
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
- package/fesm2015/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.mjs +40 -40
- package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-description.mjs +17 -17
- package/fesm2015/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.mjs +148 -53
- package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-doc.mjs +7 -7
- package/fesm2015/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-drawer.mjs +31 -31
- package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-empty.mjs +10 -10
- package/fesm2015/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-examples.mjs +7 -7
- package/fesm2015/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-find.mjs +10 -10
- package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-form.mjs +16 -16
- package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
- package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
- package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-icon.mjs +13 -13
- package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-inner.mjs +10 -10
- package/fesm2015/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
- package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-input.mjs +16 -16
- package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-layout.mjs +16 -16
- package/fesm2015/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-link.mjs +10 -10
- package/fesm2015/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-list.mjs +16 -16
- package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-loading.mjs +10 -10
- package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-menu.mjs +16 -16
- package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2015/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-message.mjs +10 -10
- package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-notification.mjs +10 -10
- package/fesm2015/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2015/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2015/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-pagination.mjs +10 -10
- package/fesm2015/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2015/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-popover.mjs +13 -13
- package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-portal.mjs +42 -15
- package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-progress.mjs +10 -10
- package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-radio.mjs +10 -10
- package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-rate.mjs +10 -10
- package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-result.mjs +10 -10
- package/fesm2015/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2015/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-select.mjs +13 -13
- package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
- package/fesm2015/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider-select.mjs +10 -10
- package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider.mjs +10 -10
- package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2015/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-steps.mjs +10 -10
- package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-switch.mjs +10 -10
- package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-table.mjs +151 -49
- package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tabs.mjs +19 -19
- package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tag.mjs +10 -10
- package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
- package/fesm2015/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
- package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-theme.mjs +10 -10
- package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2015/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-picker.mjs +16 -16
- package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2015/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-timeline.mjs +10 -10
- package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tooltip.mjs +13 -13
- package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree-file.mjs +10 -10
- package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree.mjs +153 -37
- package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-typography.mjs +10 -10
- package/fesm2015/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-upload.mjs +43 -22
- package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-affix.mjs +10 -10
- package/fesm2020/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-alert.mjs +10 -10
- package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
- package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-api.mjs +7 -7
- package/fesm2020/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-auto-complete.mjs +15 -14
- package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-avatar.mjs +10 -10
- package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-badge.mjs +10 -10
- package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-border.mjs +7 -7
- package/fesm2020/ng-nest-ui-border.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-button.mjs +16 -16
- package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
- package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-card.mjs +10 -10
- package/fesm2020/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
- package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-cascade.mjs +13 -13
- package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-checkbox.mjs +10 -10
- package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-collapse.mjs +16 -16
- package/fesm2020/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-color-picker.mjs +14 -14
- package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-color.mjs +10 -10
- package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-comment.mjs +16 -16
- package/fesm2020/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-container.mjs +31 -31
- package/fesm2020/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs +23 -16
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
- package/fesm2020/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-date-picker.mjs +40 -40
- package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-description.mjs +17 -17
- package/fesm2020/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-dialog.mjs +153 -53
- package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-doc.mjs +7 -7
- package/fesm2020/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-drawer.mjs +31 -31
- package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-empty.mjs +10 -10
- package/fesm2020/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-examples.mjs +7 -7
- package/fesm2020/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-find.mjs +10 -10
- package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-form.mjs +16 -16
- package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
- package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
- package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-icon.mjs +13 -13
- package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-inner.mjs +10 -10
- package/fesm2020/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
- package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-input.mjs +16 -16
- package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-layout.mjs +16 -16
- package/fesm2020/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-link.mjs +10 -10
- package/fesm2020/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-list.mjs +16 -16
- package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-loading.mjs +10 -10
- package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-menu.mjs +16 -16
- package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2020/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-message.mjs +10 -10
- package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-notification.mjs +10 -10
- package/fesm2020/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2020/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2020/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-pagination.mjs +10 -10
- package/fesm2020/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2020/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-popover.mjs +13 -13
- package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-portal.mjs +42 -15
- package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-progress.mjs +10 -10
- package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-radio.mjs +10 -10
- package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-rate.mjs +10 -10
- package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-result.mjs +10 -10
- package/fesm2020/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2020/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-select.mjs +13 -13
- package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
- package/fesm2020/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider-select.mjs +10 -10
- package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider.mjs +10 -10
- package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2020/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-steps.mjs +10 -10
- package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-switch.mjs +10 -10
- package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-table.mjs +149 -49
- package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tabs.mjs +19 -19
- package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tag.mjs +10 -10
- package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
- package/fesm2020/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
- package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-theme.mjs +10 -10
- package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2020/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-picker.mjs +16 -16
- package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2020/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-timeline.mjs +10 -10
- package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tooltip.mjs +13 -13
- package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree-file.mjs +10 -10
- package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree.mjs +151 -37
- package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-typography.mjs +10 -10
- package/fesm2020/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-upload.mjs +43 -22
- package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
- package/package.json +1 -1
- package/portal/portal.service.d.ts +47 -0
- package/table/examples/en_US/default/expand/README.md +8 -0
- package/table/examples/zh_CN/default/expand/README.md +8 -0
- package/table/table-body.component.d.ts +1 -0
- package/table/table.component.d.ts +10 -2
- package/table/table.module.d.ts +5 -4
- package/table/table.property.d.ts +60 -5
- package/tree/examples/en_US/default/virtual-scroll/README.md +7 -0
- package/tree/examples/zh_CN/default/virtual-scroll/README.md +7 -0
- package/tree/tree-node.component.d.ts +2 -0
- package/tree/tree.component.d.ts +2 -0
- package/tree/tree.module.d.ts +2 -1
- package/tree/tree.property.d.ts +27 -2
- package/upload/examples/en_US/default/custom/README.md +6 -0
- package/upload/examples/zh_CN/default/custom/README.md +6 -0
- package/upload/upload.component.d.ts +3 -1
- package/upload/upload.property.d.ts +21 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-time-ago.mjs","sources":["../../../../lib/ng-nest/ui/time-ago/time-ago.property.ts","../../../../lib/ng-nest/ui/time-ago/time-ago.pipe.ts","../../../../lib/ng-nest/ui/time-ago/time-ago.module.ts","../../../../lib/ng-nest/ui/time-ago/ng-nest-ui-time-ago.ts"],"sourcesContent":["/**\r\n * TimeAgo\r\n * @selector xTimeAgo\r\n * @decorator Pipe\r\n */\r\nexport const XTimeAgoPrefix = 'xTimeAgo';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { XToDate, XDate } from '@ng-nest/ui/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { XTimeAgoPrefix } from './time-ago.property';\r\nimport { XI18nService, XI18nTimeAgo } from '@ng-nest/ui/i18n';\r\n\r\n@Pipe({ name: `${XTimeAgoPrefix}`, pure: false })\r\nexport class XTimeAgoPipe implements PipeTransform {\r\n locale: XI18nTimeAgo = {};\r\n private catchContent: any;\r\n constructor(private datePipe: DatePipe, private i18n: XI18nService) {}\r\n transform(input?: XDate): string {\r\n if (!input) return '';\r\n const date = XToDate(input);\r\n if (isNaN(date.valueOf())) {\r\n return input as string;\r\n }\r\n this.locale = this.i18n.getLocale().timeAgo as XI18nTimeAgo;\r\n const content = this.getDiff(date);\r\n if (this.catchContent !== content) {\r\n this.catchContent = content;\r\n }\r\n return this.catchContent;\r\n }\r\n\r\n getDiff(date: Date): string {\r\n const time = date.getTime();\r\n const second = 1000;\r\n const minute = 1000 * 60;\r\n const hour = minute * 60;\r\n const day = hour * 24;\r\n const now = new Date();\r\n const diffValue = now.getTime() - time;\r\n if (diffValue < 0) {\r\n return '';\r\n }\r\n const dayDiff = diffValue / day;\r\n const hourDiff = diffValue / hour;\r\n const minDiff = diffValue / minute;\r\n const secondDiff = diffValue / second;\r\n let result = '';\r\n if (date.getFullYear() !== now.getFullYear()) {\r\n result = this.datePipe.transform(time, 'yyyy-MM-dd') as string;\r\n } else if (dayDiff >= 1) {\r\n result = this.datePipe.transform(time, 'MM-dd HH:mm') as string;\r\n } else if (hourDiff >= 1) {\r\n result = `${Math.floor(hourDiff)}${this.locale.hoursAgo}`;\r\n } else if (minDiff >= 1) {\r\n result = `${Math.floor(minDiff)}${this.locale.minutesAgo}`;\r\n } else if (secondDiff >= 1) {\r\n result = `${Math.floor(secondDiff)}${this.locale.secondsAgo}`;\r\n } else result = this.locale.just as string;\r\n return result;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { XTimeAgoPipe } from './time-ago.pipe';\r\n\r\n@NgModule({\r\n declarations: [XTimeAgoPipe],\r\n exports: [XTimeAgoPipe],\r\n providers: [DatePipe]\r\n})\r\nexport class XTimeAgoModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-time-ago.mjs","sources":["../../../../lib/ng-nest/ui/time-ago/time-ago.property.ts","../../../../lib/ng-nest/ui/time-ago/time-ago.pipe.ts","../../../../lib/ng-nest/ui/time-ago/time-ago.module.ts","../../../../lib/ng-nest/ui/time-ago/ng-nest-ui-time-ago.ts"],"sourcesContent":["/**\r\n * TimeAgo\r\n * @selector xTimeAgo\r\n * @decorator Pipe\r\n */\r\nexport const XTimeAgoPrefix = 'xTimeAgo';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { XToDate, XDate } from '@ng-nest/ui/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { XTimeAgoPrefix } from './time-ago.property';\r\nimport { XI18nService, XI18nTimeAgo } from '@ng-nest/ui/i18n';\r\n\r\n@Pipe({ name: `${XTimeAgoPrefix}`, pure: false })\r\nexport class XTimeAgoPipe implements PipeTransform {\r\n locale: XI18nTimeAgo = {};\r\n private catchContent: any;\r\n constructor(private datePipe: DatePipe, private i18n: XI18nService) {}\r\n transform(input?: XDate): string {\r\n if (!input) return '';\r\n const date = XToDate(input);\r\n if (isNaN(date.valueOf())) {\r\n return input as string;\r\n }\r\n this.locale = this.i18n.getLocale().timeAgo as XI18nTimeAgo;\r\n const content = this.getDiff(date);\r\n if (this.catchContent !== content) {\r\n this.catchContent = content;\r\n }\r\n return this.catchContent;\r\n }\r\n\r\n getDiff(date: Date): string {\r\n const time = date.getTime();\r\n const second = 1000;\r\n const minute = 1000 * 60;\r\n const hour = minute * 60;\r\n const day = hour * 24;\r\n const now = new Date();\r\n const diffValue = now.getTime() - time;\r\n if (diffValue < 0) {\r\n return '';\r\n }\r\n const dayDiff = diffValue / day;\r\n const hourDiff = diffValue / hour;\r\n const minDiff = diffValue / minute;\r\n const secondDiff = diffValue / second;\r\n let result = '';\r\n if (date.getFullYear() !== now.getFullYear()) {\r\n result = this.datePipe.transform(time, 'yyyy-MM-dd') as string;\r\n } else if (dayDiff >= 1) {\r\n result = this.datePipe.transform(time, 'MM-dd HH:mm') as string;\r\n } else if (hourDiff >= 1) {\r\n result = `${Math.floor(hourDiff)}${this.locale.hoursAgo}`;\r\n } else if (minDiff >= 1) {\r\n result = `${Math.floor(minDiff)}${this.locale.minutesAgo}`;\r\n } else if (secondDiff >= 1) {\r\n result = `${Math.floor(secondDiff)}${this.locale.secondsAgo}`;\r\n } else result = this.locale.just as string;\r\n return result;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { XTimeAgoPipe } from './time-ago.pipe';\r\n\r\n@NgModule({\r\n declarations: [XTimeAgoPipe],\r\n exports: [XTimeAgoPipe],\r\n providers: [DatePipe]\r\n})\r\nexport class XTimeAgoModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -44,8 +44,8 @@ class XTimePickerProperty extends XControlValueAccessor {
|
|
|
44
44
|
this.nodeEmit = new EventEmitter();
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
48
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
47
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XTimePickerProperty, selector: "ng-component", inputs: { type: "type", format: "format", placement: "placement", size: "size", bordered: "bordered" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
49
49
|
__decorate([
|
|
50
50
|
XWithConfig(X_CONFIG_NAME, 'HH:mm:ss')
|
|
51
51
|
], XTimePickerProperty.prototype, "format", void 0);
|
|
@@ -59,7 +59,7 @@ __decorate([
|
|
|
59
59
|
XInputBoolean(),
|
|
60
60
|
XWithConfig(X_CONFIG_NAME, true)
|
|
61
61
|
], XTimePickerProperty.prototype, "bordered", void 0);
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerProperty, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
64
|
args: [{ template: '' }]
|
|
65
65
|
}], propDecorators: { type: [{
|
|
@@ -203,9 +203,9 @@ class XTimePickerFrameComponent {
|
|
|
203
203
|
});
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerFrameComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
207
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerFrameComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
206
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerFrameComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerFrameComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
207
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerFrameComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: { type: "type", value: "value" }, outputs: { nodeEmit: "nodeEmit" }, viewQueries: [{ propertyName: "hourRef", first: true, predicate: ["hourRef"], descendants: true }, { propertyName: "minuteRef", first: true, predicate: ["minuteRef"], descendants: true }, { propertyName: "secondRef", first: true, predicate: ["secondRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourDate\" [(ngModel)]=\"hour\" (nodeClick)=\"hourClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef [hidden]=\"type === 'hour'\">\r\n <x-list [data]=\"minuteDate\" [(ngModel)]=\"minute\" (nodeClick)=\"minuteClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-second\" #secondRef [hidden]=\"type !== 'time'\">\r\n <x-list [data]=\"secondDate\" [(ngModel)]=\"second\" (nodeClick)=\"secondClick($event)\"></x-list>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0;margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);font-size:var(--x-font-size-small);display:block;height:100%}.x-time-picker-frame>div:not(:first-child){border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-time-picker-frame-hour,.x-time-picker-frame-minute,.x-time-picker-frame-second{position:relative;float:left;overflow:hidden;width:3.625rem;max-height:15rem;padding-bottom:13.125rem}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover{overflow-y:auto}.x-time-picker-frame-hour>x-list>.x-list,.x-time-picker-frame-minute>x-list>.x-list,.x-time-picker-frame-second>x-list>.x-list{width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option{min-width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}\n"], components: [{ type: i1.XListComponent, selector: "x-list" }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerFrameComponent, decorators: [{
|
|
209
209
|
type: Component,
|
|
210
210
|
args: [{ selector: `${XTimePickerFramePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourDate\" [(ngModel)]=\"hour\" (nodeClick)=\"hourClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef [hidden]=\"type === 'hour'\">\r\n <x-list [data]=\"minuteDate\" [(ngModel)]=\"minute\" (nodeClick)=\"minuteClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-second\" #secondRef [hidden]=\"type !== 'time'\">\r\n <x-list [data]=\"secondDate\" [(ngModel)]=\"second\" (nodeClick)=\"secondClick($event)\"></x-list>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-frame{margin:0;padding:0;margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);font-size:var(--x-font-size-small);display:block;height:100%}.x-time-picker-frame>div:not(:first-child){border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-time-picker-frame-hour,.x-time-picker-frame-minute,.x-time-picker-frame-second{position:relative;float:left;overflow:hidden;width:3.625rem;max-height:15rem;padding-bottom:13.125rem}.x-time-picker-frame-hour:hover,.x-time-picker-frame-minute:hover,.x-time-picker-frame-second:hover{overflow-y:auto}.x-time-picker-frame-hour>x-list>.x-list,.x-time-picker-frame-minute>x-list>.x-list,.x-time-picker-frame-second>x-list>.x-list{width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option{min-width:3.625rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option,.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option{padding-left:.6rem}.x-time-picker-frame-hour>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-minute>x-list>.x-list>x-list-option>.x-list-option:not(:first-child),.x-time-picker-frame-second>x-list>.x-list>x-list-option>.x-list-option:not(:first-child){margin-top:0}\n"] }]
|
|
211
211
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
|
|
@@ -256,9 +256,9 @@ class XTimePickerPortalComponent {
|
|
|
256
256
|
event.stopPropagation();
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
260
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
259
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
260
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XTimePickerPortalComponent, selector: "x-time-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, ngImport: i0, template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom.inputFocus(); stopPropagation($event)\">\r\n <x-time-picker-frame [type]=\"type\" [value]=\"value\" (nodeEmit)=\"nodeEmit($event)\"></x-time-picker-frame>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:block;height:100%}\n"], components: [{ type: XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value"], outputs: ["nodeEmit"] }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerPortalComponent, decorators: [{
|
|
262
262
|
type: Component,
|
|
263
263
|
args: [{ selector: `${XTimePickerPortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], template: "<div class=\"x-time-picker-portal\" (click)=\"inputCom.inputFocus(); stopPropagation($event)\">\r\n <x-time-picker-frame [type]=\"type\" [value]=\"value\" (nodeEmit)=\"nodeEmit($event)\"></x-time-picker-frame>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-time-picker-portal{display:block;height:100%}\n"] }]
|
|
264
264
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { placement: [{
|
|
@@ -474,9 +474,9 @@ class XTimePickerComponent extends XTimePickerProperty {
|
|
|
474
474
|
this.cdr.detectChanges();
|
|
475
475
|
}
|
|
476
476
|
}
|
|
477
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
478
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
479
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
477
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.DatePipe }, { token: i3.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
478
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XTimePickerComponent, selector: "x-time-picker", providers: [XValueAccessor(XTimePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #datePicker class=\"x-time-picker\">\r\n <div class=\"x-time-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-time-picker{display:inline-block}.x-time-picker{margin:0;padding:0;width:100%}.x-time-picker x-input{width:100%}\n"], components: [{ type: i4.XInputComponent, selector: "x-input" }], directives: [{ type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerComponent, decorators: [{
|
|
480
480
|
type: Component,
|
|
481
481
|
args: [{ selector: `${XTimePickerPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTimePickerComponent), DatePipe], template: "<div #datePicker class=\"x-time-picker\">\r\n <div class=\"x-time-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-time-picker{display:inline-block}.x-time-picker{margin:0;padding:0;width:100%}.x-time-picker x-input{width:100%}\n"] }]
|
|
482
482
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i2.DatePipe }, { type: i3.Overlay }]; }, propDecorators: { datePicker: [{
|
|
@@ -489,8 +489,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
489
489
|
|
|
490
490
|
class XTimePickerModule {
|
|
491
491
|
}
|
|
492
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
493
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
492
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
493
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerModule, declarations: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent, XTimePickerProperty], imports: [CommonModule,
|
|
494
494
|
FormsModule,
|
|
495
495
|
ReactiveFormsModule,
|
|
496
496
|
XPortalModule,
|
|
@@ -499,7 +499,7 @@ class XTimePickerModule {
|
|
|
499
499
|
XButtonModule,
|
|
500
500
|
XIconModule,
|
|
501
501
|
XBaseFormModule], exports: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent] });
|
|
502
|
-
/** @nocollapse */ /** @nocollapse */ XTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
502
|
+
/** @nocollapse */ /** @nocollapse */ XTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerModule, imports: [[
|
|
503
503
|
CommonModule,
|
|
504
504
|
FormsModule,
|
|
505
505
|
ReactiveFormsModule,
|
|
@@ -510,7 +510,7 @@ class XTimePickerModule {
|
|
|
510
510
|
XIconModule,
|
|
511
511
|
XBaseFormModule
|
|
512
512
|
]] });
|
|
513
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
513
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimePickerModule, decorators: [{
|
|
514
514
|
type: NgModule,
|
|
515
515
|
args: [{
|
|
516
516
|
declarations: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent, XTimePickerProperty],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-time-picker.mjs","sources":["../../../../lib/ng-nest/ui/time-picker/time-picker.property.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-frame.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-frame.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker-portal.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-portal.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker.module.ts","../../../../lib/ng-nest/ui/time-picker/ng-nest-ui-time-picker.ts"],"sourcesContent":["import { XBoolean, XCorner, XInputBoolean, XSize, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * TimePicker\r\n * @selector x-time-picker\r\n * @decorator component\r\n */\r\nexport const XTimePickerPrefix = 'x-time-picker';\r\nconst X_CONFIG_NAME = 'timePicker';\r\n\r\n/**\r\n * TimePicker Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTimePickerProperty extends XControlValueAccessor<any> {\r\n /**\r\n * @zh_CN 时间类型\r\n * @en_US Time type\r\n */\r\n @Input() type: XTimePickerType = 'time';\r\n /**\r\n * @zh_CN 格式化\r\n * @en_US Format\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, 'HH:mm:ss') format?: string;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n @Input() @XWithConfig<XCorner>(X_CONFIG_NAME, 'bottom-start') placement?: XCorner;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 节点点击的事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeEmit = new EventEmitter<number>();\r\n}\r\n\r\n/**\r\n * TimePicker Option\r\n * @undocument true\r\n */\r\nexport interface XTimePickerOption extends XFormOption {\r\n /**\r\n * @zh_CN 时间类型\r\n * @en_US Time type\r\n */\r\n type?: XTimePickerType;\r\n /**\r\n * @zh_CN 格式化\r\n * @en_US Format\r\n */\r\n format?: string;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n placement?: XCorner;\r\n /**\r\n * @zh_CN 节点点击的事件\r\n * @en_US Node click event\r\n */\r\n nodeClick?: (date: number) => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 时间选择\r\n * @en_US Time selection\r\n */\r\nexport type XTimePickerType = 'time' | 'hour' | 'minute';\r\n\r\n/**\r\n * TimePickerPortal\r\n * @selector x-time-picker-portal\r\n * @decorator component\r\n */\r\nexport const XTimePickerPortalPrefix = 'x-time-picker-portal';\r\n\r\n/**\r\n * TimePickerFrame\r\n * @selector x-time-picker-frame\r\n * @decorator component\r\n */\r\nexport const XTimePickerFramePrefix = 'x-time-picker-frame';\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XTimePickerFramePrefix, XTimePickerType } from './time-picker.property';\r\nimport { XListNode } from '@ng-nest/ui/list';\r\nimport { reqAnimFrame, XIsChange, XIsEmpty } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XTimePickerFramePrefix}`,\r\n templateUrl: './time-picker-frame.component.html',\r\n styleUrls: ['./time-picker-frame.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTimePickerFrameComponent {\r\n @Input() type: XTimePickerType = 'time';\r\n @Input() value!: number;\r\n @Output() nodeEmit = new EventEmitter<Date>();\r\n @ViewChild('hourRef', { static: false }) hourRef!: ElementRef;\r\n @ViewChild('minuteRef', { static: false }) minuteRef!: ElementRef;\r\n @ViewChild('secondRef', { static: false }) secondRef!: ElementRef;\r\n model!: Date;\r\n now = new Date();\r\n hour: number = 0;\r\n minute: number = 0;\r\n second: number = 0;\r\n scrollAnimating: { [key: string]: boolean } = {};\r\n hourDate = Array.from({ length: 24 }).map((_, i) => {\r\n return {\r\n label: this.prefixZero(i, 2),\r\n id: i\r\n };\r\n });\r\n minuteDate = Array.from({ length: 60 }).map((_, i) => {\r\n return {\r\n label: this.prefixZero(i, 2),\r\n id: i\r\n };\r\n });\r\n secondDate = Array.from({ length: 60 }).map((_, i) => {\r\n return {\r\n label: this.prefixZero(i, 2),\r\n id: i\r\n };\r\n });\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { value } = changes;\r\n if (XIsChange(value)) {\r\n this.init();\r\n this.setScrollTop();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n init() {\r\n if (!XIsEmpty(this.value)) {\r\n this.setDefault();\r\n } else {\r\n const def = new Date('1970-01-01');\r\n this.model = new Date(\r\n def.getFullYear(),\r\n def.getMonth(),\r\n def.getDate(),\r\n this.now.getHours(),\r\n this.now.getMinutes(),\r\n this.now.getSeconds()\r\n );\r\n }\r\n this.setTime(this.model);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setDefault() {\r\n this.model = new Date(this.value);\r\n }\r\n\r\n setTime(date: Date) {\r\n this.hour = date.getHours();\r\n this.minute = date.getMinutes();\r\n this.second = date.getSeconds();\r\n }\r\n\r\n prefixZero(num: number, n: number) {\r\n return (Array(n).join('0') + num).slice(-n);\r\n }\r\n\r\n setScrollTop() {\r\n this.selected(this.hourRef.nativeElement, this.hour);\r\n this.selected(this.minuteRef.nativeElement, this.minute);\r\n this.selected(this.secondRef.nativeElement, this.second);\r\n }\r\n\r\n selected(ele: HTMLElement, num: number) {\r\n if (this.scrollAnimating[ele.className]) return;\r\n let current = ele.querySelector(`.x-list x-list-option:nth-child(${num + 1})`) as HTMLElement;\r\n if (current) {\r\n ele.scrollTop = current.offsetTop;\r\n }\r\n }\r\n\r\n hourClick(date: XListNode) {\r\n this.hour = date.id;\r\n this.model.setHours(this.hour);\r\n this.scrollTo(this.hourRef.nativeElement, (date.event?.srcElement as HTMLElement).offsetTop, 120);\r\n this.nodeEmit.emit(this.model);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n minuteClick(date: XListNode) {\r\n this.minute = date.id;\r\n this.model.setMinutes(this.minute);\r\n this.scrollTo(this.minuteRef.nativeElement, (date.event?.srcElement as HTMLElement).offsetTop, 120);\r\n this.nodeEmit.emit(this.model);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n secondClick(date: XListNode) {\r\n this.second = date.id;\r\n this.model.setSeconds(this.second);\r\n this.scrollTo(this.secondRef.nativeElement, (date.event?.srcElement as HTMLElement).offsetTop, 120);\r\n this.nodeEmit.emit(this.model);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private scrollTo(element: HTMLElement, to: number, duration: number): void {\r\n const clsName = element.className;\r\n const difference = to - element.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n this.scrollAnimating[clsName] = true;\r\n reqAnimFrame(() => {\r\n element.scrollTop = element.scrollTop + perTick;\r\n if (element.scrollTop === to || duration <= 0) {\r\n this.scrollAnimating[clsName] = false;\r\n return;\r\n } else {\r\n this.scrollTo(element, to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourDate\" [(ngModel)]=\"hour\" (nodeClick)=\"hourClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef [hidden]=\"type === 'hour'\">\r\n <x-list [data]=\"minuteDate\" [(ngModel)]=\"minute\" (nodeClick)=\"minuteClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-second\" #secondRef [hidden]=\"type !== 'time'\">\r\n <x-list [data]=\"secondDate\" [(ngModel)]=\"second\" (nodeClick)=\"secondClick($event)\"></x-list>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n OnInit,\r\n Renderer2,\r\n OnDestroy,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\nimport { XTimePickerPortalPrefix, XTimePickerType } from './time-picker.property';\r\nimport { XConnectBaseAnimation, XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\n\r\n@Component({\r\n selector: `${XTimePickerPortalPrefix}`,\r\n templateUrl: './time-picker-portal.component.html',\r\n styleUrls: ['./time-picker-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XConnectBaseAnimation]\r\n})\r\nexport class XTimePickerPortalComponent implements OnInit, OnDestroy {\r\n @HostBinding('@x-connect-base-animation') public placement!: XPositionTopBottom;\r\n @HostListener('@x-connect-base-animation.done', ['$event']) done(event: { toState: any }) {\r\n this.animating(false);\r\n event.toState === 'void' && this.destroyPortal();\r\n }\r\n @HostListener('@x-connect-base-animation.start', ['$event']) start() {\r\n this.animating(true);\r\n }\r\n type: XTimePickerType = 'time';\r\n value: any;\r\n valueChange!: Subject<any>;\r\n positionChange!: Subject<any>;\r\n closePortal!: Function;\r\n destroyPortal!: Function;\r\n animating!: Function;\r\n inputCom!: XInputComponent;\r\n nodeEmit!: (date: Date) => void;\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(public renderer: Renderer2, public cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x: any) => {\r\n this.value = x;\r\n });\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n stopPropagation(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n}\r\n","<div class=\"x-time-picker-portal\" (click)=\"inputCom.inputFocus(); stopPropagation($event)\">\r\n <x-time-picker-frame [type]=\"type\" [value]=\"value\" (nodeEmit)=\"nodeEmit($event)\"></x-time-picker-frame>\r\n</div>\r\n","import { XTimePickerPortalComponent } from './time-picker-portal.component';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { Subject } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XTimePickerPrefix, XTimePickerProperty } from './time-picker.property';\r\nimport { XIsEmpty, XIsDate, XIsNumber, XCorner, XClearClass, XIsString } from '@ng-nest/ui/core';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Overlay, OverlayConfig, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XTimePickerPrefix}`,\r\n templateUrl: './time-picker.component.html',\r\n styleUrls: ['./time-picker.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XTimePickerComponent), DatePipe]\r\n})\r\nexport class XTimePickerComponent extends XTimePickerProperty implements OnInit {\r\n @ViewChild('datePicker', { static: true }) datePicker!: ElementRef;\r\n @ViewChild('inputCom', { static: true }) inputCom!: XInputComponent;\r\n\r\n override writeValue(value: any) {\r\n if (XIsDate(value)) {\r\n this.value = value.getTime();\r\n this.valueType = 'date';\r\n } else if (XIsNumber(value)) {\r\n this.value = value;\r\n this.valueType = 'number';\r\n } else if (XIsString(value)) {\r\n this.value = new Date(value).getTime();\r\n this.valueType = 'string';\r\n } else if (XIsEmpty(value)) {\r\n this.value = '';\r\n }\r\n this.setDisplayValue(this.value);\r\n this.valueChange.next(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n override readonly: boolean = true;\r\n clearable: boolean = false;\r\n enter: boolean = false;\r\n animating = false;\r\n displayValue: any = '';\r\n portal!: XPortalOverlayRef<XTimePickerPortalComponent>;\r\n icon: string = 'fto-clock';\r\n box!: DOMRect;\r\n protalHeight!: number;\r\n maxNodes: number = 8;\r\n protalTobottom: boolean = true;\r\n valueChange: Subject<any> = new Subject();\r\n dataChange: Subject<any> = new Subject();\r\n positionChange: Subject<any> = new Subject();\r\n closeSubject: Subject<void> = new Subject();\r\n valueType: 'date' | 'number' | 'string' = 'date';\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private portalService: XPortalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private datePipe: DatePipe,\r\n private overlay: Overlay\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.datePicker.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setFormat();\r\n this.setClassMap();\r\n this.setSubject();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setPortal();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setFormat() {\r\n if (this.format === 'HH:mm:ss') {\r\n if (this.type === 'hour') {\r\n this.format = 'HH';\r\n } else if (this.type === 'minute') {\r\n this.format = 'HH:mm';\r\n }\r\n }\r\n }\r\n\r\n setSubject() {\r\n this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {\r\n this.closePortal();\r\n });\r\n }\r\n\r\n menter() {\r\n if (this.disabled) return;\r\n this.enter = true;\r\n if (!XIsEmpty(this.value)) {\r\n this.icon = '';\r\n this.clearable = true;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n mleave() {\r\n if (this.disabled) return;\r\n this.enter = false;\r\n if (this.clearable) {\r\n this.icon = 'fto-clock';\r\n this.clearable = false;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n clearEmit() {\r\n this.value = '';\r\n this.displayValue = '';\r\n this.mleave();\r\n this.valueChange.next(this.value);\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.active = false;\r\n this.cdr.detectChanges();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n destroyPortal() {\r\n this.portal?.overlayRef?.dispose();\r\n }\r\n\r\n showPortal() {\r\n if (this.disabled || this.animating) return;\r\n this.active = true;\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTimePickerPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.closeSubject.next();\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XCorner;\r\n place !== this.placement && this.positionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n Object.assign(componentRef.instance, {\r\n type: this.type,\r\n value: this.value,\r\n placement: this.placement,\r\n valueChange: this.valueChange,\r\n positionChange: this.positionChange,\r\n inputCom: this.inputCom,\r\n closePortal: () => this.closeSubject.next(),\r\n destroyPortal: () => this.destroyPortal(),\r\n nodeEmit: (node: Date) => this.onNodeClick(node),\r\n animating: (ing: boolean) => (this.animating = ing)\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n onNodeClick(date: Date) {\r\n this.value = this.setValue(date);\r\n this.setDisplayValue(date);\r\n this.cdr.detectChanges();\r\n if (this.onChange) this.onChange(this.value);\r\n this.nodeEmit.emit(this.value);\r\n }\r\n\r\n setValue(value: Date) {\r\n return ['date', 'string'].includes(this.valueType) ? new Date(value) : value.getTime();\r\n }\r\n\r\n setDisplayValue(date: Date | number) {\r\n this.displayValue = this.datePipe.transform(date, this.format);\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: this.inputCom.inputRef,\r\n placement: [this.placement as XCorner, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\r\n transformOriginOn: 'x-time-picker-portal'\r\n });\r\n }\r\n\r\n setPortal() {\r\n if (this.portalAttached()) {\r\n this.portal.overlayRef?.updatePositionStrategy(this.setPlacement());\r\n }\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #datePicker class=\"x-time-picker\">\r\n <div class=\"x-time-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XListModule } from '@ng-nest/ui/list';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XTimePickerComponent } from './time-picker.component';\r\nimport { XTimePickerPortalComponent } from './time-picker-portal.component';\r\nimport { XTimePickerProperty } from './time-picker.property';\r\nimport { XTimePickerFrameComponent } from './time-picker-frame.component';\r\n\r\n@NgModule({\r\n declarations: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent, XTimePickerProperty],\r\n exports: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XPortalModule,\r\n XInputModule,\r\n XListModule,\r\n XButtonModule,\r\n XIconModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XTimePickerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1.XTimePickerFrameComponent","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-time-picker.mjs","sources":["../../../../lib/ng-nest/ui/time-picker/time-picker.property.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-frame.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-frame.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker-portal.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-portal.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker.module.ts","../../../../lib/ng-nest/ui/time-picker/ng-nest-ui-time-picker.ts"],"sourcesContent":["import { XBoolean, XCorner, XInputBoolean, XSize, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * TimePicker\r\n * @selector x-time-picker\r\n * @decorator component\r\n */\r\nexport const XTimePickerPrefix = 'x-time-picker';\r\nconst X_CONFIG_NAME = 'timePicker';\r\n\r\n/**\r\n * TimePicker Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTimePickerProperty extends XControlValueAccessor<any> {\r\n /**\r\n * @zh_CN 时间类型\r\n * @en_US Time type\r\n */\r\n @Input() type: XTimePickerType = 'time';\r\n /**\r\n * @zh_CN 格式化\r\n * @en_US Format\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, 'HH:mm:ss') format?: string;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n @Input() @XWithConfig<XCorner>(X_CONFIG_NAME, 'bottom-start') placement?: XCorner;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 节点点击的事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeEmit = new EventEmitter<number>();\r\n}\r\n\r\n/**\r\n * TimePicker Option\r\n * @undocument true\r\n */\r\nexport interface XTimePickerOption extends XFormOption {\r\n /**\r\n * @zh_CN 时间类型\r\n * @en_US Time type\r\n */\r\n type?: XTimePickerType;\r\n /**\r\n * @zh_CN 格式化\r\n * @en_US Format\r\n */\r\n format?: string;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n placement?: XCorner;\r\n /**\r\n * @zh_CN 节点点击的事件\r\n * @en_US Node click event\r\n */\r\n nodeClick?: (date: number) => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 时间选择\r\n * @en_US Time selection\r\n */\r\nexport type XTimePickerType = 'time' | 'hour' | 'minute';\r\n\r\n/**\r\n * TimePickerPortal\r\n * @selector x-time-picker-portal\r\n * @decorator component\r\n */\r\nexport const XTimePickerPortalPrefix = 'x-time-picker-portal';\r\n\r\n/**\r\n * TimePickerFrame\r\n * @selector x-time-picker-frame\r\n * @decorator component\r\n */\r\nexport const XTimePickerFramePrefix = 'x-time-picker-frame';\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XTimePickerFramePrefix, XTimePickerType } from './time-picker.property';\r\nimport { XListNode } from '@ng-nest/ui/list';\r\nimport { reqAnimFrame, XIsChange, XIsEmpty } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XTimePickerFramePrefix}`,\r\n templateUrl: './time-picker-frame.component.html',\r\n styleUrls: ['./time-picker-frame.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTimePickerFrameComponent {\r\n @Input() type: XTimePickerType = 'time';\r\n @Input() value!: number;\r\n @Output() nodeEmit = new EventEmitter<Date>();\r\n @ViewChild('hourRef', { static: false }) hourRef!: ElementRef;\r\n @ViewChild('minuteRef', { static: false }) minuteRef!: ElementRef;\r\n @ViewChild('secondRef', { static: false }) secondRef!: ElementRef;\r\n model!: Date;\r\n now = new Date();\r\n hour: number = 0;\r\n minute: number = 0;\r\n second: number = 0;\r\n scrollAnimating: { [key: string]: boolean } = {};\r\n hourDate = Array.from({ length: 24 }).map((_, i) => {\r\n return {\r\n label: this.prefixZero(i, 2),\r\n id: i\r\n };\r\n });\r\n minuteDate = Array.from({ length: 60 }).map((_, i) => {\r\n return {\r\n label: this.prefixZero(i, 2),\r\n id: i\r\n };\r\n });\r\n secondDate = Array.from({ length: 60 }).map((_, i) => {\r\n return {\r\n label: this.prefixZero(i, 2),\r\n id: i\r\n };\r\n });\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { value } = changes;\r\n if (XIsChange(value)) {\r\n this.init();\r\n this.setScrollTop();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n init() {\r\n if (!XIsEmpty(this.value)) {\r\n this.setDefault();\r\n } else {\r\n const def = new Date('1970-01-01');\r\n this.model = new Date(\r\n def.getFullYear(),\r\n def.getMonth(),\r\n def.getDate(),\r\n this.now.getHours(),\r\n this.now.getMinutes(),\r\n this.now.getSeconds()\r\n );\r\n }\r\n this.setTime(this.model);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setDefault() {\r\n this.model = new Date(this.value);\r\n }\r\n\r\n setTime(date: Date) {\r\n this.hour = date.getHours();\r\n this.minute = date.getMinutes();\r\n this.second = date.getSeconds();\r\n }\r\n\r\n prefixZero(num: number, n: number) {\r\n return (Array(n).join('0') + num).slice(-n);\r\n }\r\n\r\n setScrollTop() {\r\n this.selected(this.hourRef.nativeElement, this.hour);\r\n this.selected(this.minuteRef.nativeElement, this.minute);\r\n this.selected(this.secondRef.nativeElement, this.second);\r\n }\r\n\r\n selected(ele: HTMLElement, num: number) {\r\n if (this.scrollAnimating[ele.className]) return;\r\n let current = ele.querySelector(`.x-list x-list-option:nth-child(${num + 1})`) as HTMLElement;\r\n if (current) {\r\n ele.scrollTop = current.offsetTop;\r\n }\r\n }\r\n\r\n hourClick(date: XListNode) {\r\n this.hour = date.id;\r\n this.model.setHours(this.hour);\r\n this.scrollTo(this.hourRef.nativeElement, (date.event?.srcElement as HTMLElement).offsetTop, 120);\r\n this.nodeEmit.emit(this.model);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n minuteClick(date: XListNode) {\r\n this.minute = date.id;\r\n this.model.setMinutes(this.minute);\r\n this.scrollTo(this.minuteRef.nativeElement, (date.event?.srcElement as HTMLElement).offsetTop, 120);\r\n this.nodeEmit.emit(this.model);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n secondClick(date: XListNode) {\r\n this.second = date.id;\r\n this.model.setSeconds(this.second);\r\n this.scrollTo(this.secondRef.nativeElement, (date.event?.srcElement as HTMLElement).offsetTop, 120);\r\n this.nodeEmit.emit(this.model);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private scrollTo(element: HTMLElement, to: number, duration: number): void {\r\n const clsName = element.className;\r\n const difference = to - element.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n this.scrollAnimating[clsName] = true;\r\n reqAnimFrame(() => {\r\n element.scrollTop = element.scrollTop + perTick;\r\n if (element.scrollTop === to || duration <= 0) {\r\n this.scrollAnimating[clsName] = false;\r\n return;\r\n } else {\r\n this.scrollTo(element, to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"x-time-picker-frame\">\r\n <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n <x-list [data]=\"hourDate\" [(ngModel)]=\"hour\" (nodeClick)=\"hourClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-minute\" #minuteRef [hidden]=\"type === 'hour'\">\r\n <x-list [data]=\"minuteDate\" [(ngModel)]=\"minute\" (nodeClick)=\"minuteClick($event)\"></x-list>\r\n </div>\r\n <div class=\"x-time-picker-frame-second\" #secondRef [hidden]=\"type !== 'time'\">\r\n <x-list [data]=\"secondDate\" [(ngModel)]=\"second\" (nodeClick)=\"secondClick($event)\"></x-list>\r\n </div>\r\n</div>\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n OnInit,\r\n Renderer2,\r\n OnDestroy,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\nimport { XTimePickerPortalPrefix, XTimePickerType } from './time-picker.property';\r\nimport { XConnectBaseAnimation, XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\n\r\n@Component({\r\n selector: `${XTimePickerPortalPrefix}`,\r\n templateUrl: './time-picker-portal.component.html',\r\n styleUrls: ['./time-picker-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XConnectBaseAnimation]\r\n})\r\nexport class XTimePickerPortalComponent implements OnInit, OnDestroy {\r\n @HostBinding('@x-connect-base-animation') public placement!: XPositionTopBottom;\r\n @HostListener('@x-connect-base-animation.done', ['$event']) done(event: { toState: any }) {\r\n this.animating(false);\r\n event.toState === 'void' && this.destroyPortal();\r\n }\r\n @HostListener('@x-connect-base-animation.start', ['$event']) start() {\r\n this.animating(true);\r\n }\r\n type: XTimePickerType = 'time';\r\n value: any;\r\n valueChange!: Subject<any>;\r\n positionChange!: Subject<any>;\r\n closePortal!: Function;\r\n destroyPortal!: Function;\r\n animating!: Function;\r\n inputCom!: XInputComponent;\r\n nodeEmit!: (date: Date) => void;\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(public renderer: Renderer2, public cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x: any) => {\r\n this.value = x;\r\n });\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n stopPropagation(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n}\r\n","<div class=\"x-time-picker-portal\" (click)=\"inputCom.inputFocus(); stopPropagation($event)\">\r\n <x-time-picker-frame [type]=\"type\" [value]=\"value\" (nodeEmit)=\"nodeEmit($event)\"></x-time-picker-frame>\r\n</div>\r\n","import { XTimePickerPortalComponent } from './time-picker-portal.component';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { Subject } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XTimePickerPrefix, XTimePickerProperty } from './time-picker.property';\r\nimport { XIsEmpty, XIsDate, XIsNumber, XCorner, XClearClass, XIsString } from '@ng-nest/ui/core';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Overlay, OverlayConfig, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XTimePickerPrefix}`,\r\n templateUrl: './time-picker.component.html',\r\n styleUrls: ['./time-picker.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XTimePickerComponent), DatePipe]\r\n})\r\nexport class XTimePickerComponent extends XTimePickerProperty implements OnInit {\r\n @ViewChild('datePicker', { static: true }) datePicker!: ElementRef;\r\n @ViewChild('inputCom', { static: true }) inputCom!: XInputComponent;\r\n\r\n override writeValue(value: any) {\r\n if (XIsDate(value)) {\r\n this.value = value.getTime();\r\n this.valueType = 'date';\r\n } else if (XIsNumber(value)) {\r\n this.value = value;\r\n this.valueType = 'number';\r\n } else if (XIsString(value)) {\r\n this.value = new Date(value).getTime();\r\n this.valueType = 'string';\r\n } else if (XIsEmpty(value)) {\r\n this.value = '';\r\n }\r\n this.setDisplayValue(this.value);\r\n this.valueChange.next(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n override readonly: boolean = true;\r\n clearable: boolean = false;\r\n enter: boolean = false;\r\n animating = false;\r\n displayValue: any = '';\r\n portal!: XPortalOverlayRef<XTimePickerPortalComponent>;\r\n icon: string = 'fto-clock';\r\n box!: DOMRect;\r\n protalHeight!: number;\r\n maxNodes: number = 8;\r\n protalTobottom: boolean = true;\r\n valueChange: Subject<any> = new Subject();\r\n dataChange: Subject<any> = new Subject();\r\n positionChange: Subject<any> = new Subject();\r\n closeSubject: Subject<void> = new Subject();\r\n valueType: 'date' | 'number' | 'string' = 'date';\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef,\r\n private portalService: XPortalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private datePipe: DatePipe,\r\n private overlay: Overlay\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.datePicker.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setFormat();\r\n this.setClassMap();\r\n this.setSubject();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setPortal();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setFormat() {\r\n if (this.format === 'HH:mm:ss') {\r\n if (this.type === 'hour') {\r\n this.format = 'HH';\r\n } else if (this.type === 'minute') {\r\n this.format = 'HH:mm';\r\n }\r\n }\r\n }\r\n\r\n setSubject() {\r\n this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {\r\n this.closePortal();\r\n });\r\n }\r\n\r\n menter() {\r\n if (this.disabled) return;\r\n this.enter = true;\r\n if (!XIsEmpty(this.value)) {\r\n this.icon = '';\r\n this.clearable = true;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n mleave() {\r\n if (this.disabled) return;\r\n this.enter = false;\r\n if (this.clearable) {\r\n this.icon = 'fto-clock';\r\n this.clearable = false;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n clearEmit() {\r\n this.value = '';\r\n this.displayValue = '';\r\n this.mleave();\r\n this.valueChange.next(this.value);\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.active = false;\r\n this.cdr.detectChanges();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n destroyPortal() {\r\n this.portal?.overlayRef?.dispose();\r\n }\r\n\r\n showPortal() {\r\n if (this.disabled || this.animating) return;\r\n this.active = true;\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTimePickerPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.closeSubject.next();\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XCorner;\r\n place !== this.placement && this.positionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n Object.assign(componentRef.instance, {\r\n type: this.type,\r\n value: this.value,\r\n placement: this.placement,\r\n valueChange: this.valueChange,\r\n positionChange: this.positionChange,\r\n inputCom: this.inputCom,\r\n closePortal: () => this.closeSubject.next(),\r\n destroyPortal: () => this.destroyPortal(),\r\n nodeEmit: (node: Date) => this.onNodeClick(node),\r\n animating: (ing: boolean) => (this.animating = ing)\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n onNodeClick(date: Date) {\r\n this.value = this.setValue(date);\r\n this.setDisplayValue(date);\r\n this.cdr.detectChanges();\r\n if (this.onChange) this.onChange(this.value);\r\n this.nodeEmit.emit(this.value);\r\n }\r\n\r\n setValue(value: Date) {\r\n return ['date', 'string'].includes(this.valueType) ? new Date(value) : value.getTime();\r\n }\r\n\r\n setDisplayValue(date: Date | number) {\r\n this.displayValue = this.datePipe.transform(date, this.format);\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: this.inputCom.inputRef,\r\n placement: [this.placement as XCorner, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\r\n transformOriginOn: 'x-time-picker-portal'\r\n });\r\n }\r\n\r\n setPortal() {\r\n if (this.portalAttached()) {\r\n this.portal.overlayRef?.updatePositionStrategy(this.setPlacement());\r\n }\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #datePicker class=\"x-time-picker\">\r\n <div class=\"x-time-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XListModule } from '@ng-nest/ui/list';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XTimePickerComponent } from './time-picker.component';\r\nimport { XTimePickerPortalComponent } from './time-picker-portal.component';\r\nimport { XTimePickerProperty } from './time-picker.property';\r\nimport { XTimePickerFrameComponent } from './time-picker-frame.component';\r\n\r\n@NgModule({\r\n declarations: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent, XTimePickerProperty],\r\n exports: [XTimePickerComponent, XTimePickerPortalComponent, XTimePickerFrameComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XPortalModule,\r\n XInputModule,\r\n XListModule,\r\n XButtonModule,\r\n XIconModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XTimePickerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1.XTimePickerFrameComponent","i1"],"mappings":"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"}
|
|
@@ -42,19 +42,19 @@ class XTimeRangePipe {
|
|
|
42
42
|
return Array(length).fill(element).join('');
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
/** @nocollapse */ /** @nocollapse */ XTimeRangePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
46
|
-
/** @nocollapse */ /** @nocollapse */ XTimeRangePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
45
|
+
/** @nocollapse */ /** @nocollapse */ XTimeRangePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimeRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
46
|
+
/** @nocollapse */ /** @nocollapse */ XTimeRangePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimeRangePipe, name: "xTimeRange" });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimeRangePipe, decorators: [{
|
|
48
48
|
type: Pipe,
|
|
49
49
|
args: [{ name: `${XTimeRangePrefix}` }]
|
|
50
50
|
}] });
|
|
51
51
|
|
|
52
52
|
class XTimeRangeModule {
|
|
53
53
|
}
|
|
54
|
-
/** @nocollapse */ /** @nocollapse */ XTimeRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
55
|
-
/** @nocollapse */ /** @nocollapse */ XTimeRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
56
|
-
/** @nocollapse */ /** @nocollapse */ XTimeRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
54
|
+
/** @nocollapse */ /** @nocollapse */ XTimeRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimeRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
55
|
+
/** @nocollapse */ /** @nocollapse */ XTimeRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimeRangeModule, declarations: [XTimeRangePipe], exports: [XTimeRangePipe] });
|
|
56
|
+
/** @nocollapse */ /** @nocollapse */ XTimeRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimeRangeModule });
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimeRangeModule, decorators: [{
|
|
58
58
|
type: NgModule,
|
|
59
59
|
args: [{
|
|
60
60
|
declarations: [XTimeRangePipe],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-time-range.mjs","sources":["../../../../lib/ng-nest/ui/time-range/time-range.property.ts","../../../../lib/ng-nest/ui/time-range/time-range.pipe.ts","../../../../lib/ng-nest/ui/time-range/time-range.module.ts","../../../../lib/ng-nest/ui/time-range/ng-nest-ui-time-range.ts"],"sourcesContent":["/**\r\n * TimeRange\r\n * @selector xTimeRange\r\n * @decorator Pipe\r\n */\r\nexport const XTimeRangePrefix = 'xTimeRange';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { XTimeRangePrefix } from './time-range.property';\r\n\r\nexport const timeUnits: Array<[string, number]> = [\r\n ['Y', 1000 * 60 * 60 * 24 * 365], // years\r\n ['M', 1000 * 60 * 60 * 24 * 30], // months\r\n ['D', 1000 * 60 * 60 * 24], // days\r\n ['H', 1000 * 60 * 60], // hours\r\n ['m', 1000 * 60], // minutes\r\n ['s', 1000], // seconds\r\n ['S', 1] // million seconds\r\n];\r\n\r\n@Pipe({ name: `${XTimeRangePrefix}` })\r\nexport class XTimeRangePipe implements PipeTransform {\r\n transform(value: string | number, format: string = 'HH:mm:ss'): string {\r\n let duration = Number(value || 0);\r\n\r\n return timeUnits.reduce((current, [name, unit]) => {\r\n if (current.indexOf(name) !== -1) {\r\n const v = Math.floor(duration / unit);\r\n duration -= v * unit;\r\n return current.replace(new RegExp(`${name}+`, 'g'), (match: string) => {\r\n return this.padStart(v.toString(), match.length, '0');\r\n });\r\n }\r\n return current;\r\n }, format);\r\n }\r\n\r\n padStart(toPad: string, length: number, element: string): string {\r\n if (toPad.length > length) {\r\n return toPad;\r\n }\r\n const joined = `${this.getRepeatedElement(length, element)}${toPad}`;\r\n return joined.slice(joined.length - length, joined.length);\r\n }\r\n\r\n getRepeatedElement(length: number, element: string): string {\r\n return Array(length).fill(element).join('');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTimeRangePipe } from './time-range.pipe';\r\n\r\n@NgModule({\r\n declarations: [XTimeRangePipe],\r\n exports: [XTimeRangePipe]\r\n})\r\nexport class XTimeRangeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAAA;;;;AAIG;AACI,MAAM,gBAAgB,GAAG;;ACFnB,MAAA,SAAS,GAA4B;IAChD,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAChC,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC/B,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1B,IAAA,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AACrB,IAAA,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC;IAChB,CAAC,GAAG,EAAE,IAAI,CAAC;AACX,IAAA,CAAC,GAAG,EAAE,CAAC,CAAC;EACR;MAGW,cAAc,CAAA;AACzB,IAAA,SAAS,CAAC,KAAsB,EAAE,MAAA,GAAiB,UAAU,EAAA;QAC3D,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAElC,QAAA,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI;YAChD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AACtC,gBAAA,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC;AACrB,gBAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC,EAAE,CAAC,KAAa,KAAI;AACpE,oBAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxD,iBAAC,CAAC,CAAC;AACJ,aAAA;AACD,YAAA,OAAO,OAAO,CAAC;SAChB,EAAE,MAAM,CAAC,CAAC;KACZ;AAED,IAAA,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,OAAe,EAAA;AACrD,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE;AACzB,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,MAAM,MAAM,GAAG,CAAG,EAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAG,EAAA,KAAK,EAAE,CAAC;AACrE,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;KAC5D;IAED,kBAAkB,CAAC,MAAc,EAAE,OAAe,EAAA;AAChD,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC7C;;
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-time-range.mjs","sources":["../../../../lib/ng-nest/ui/time-range/time-range.property.ts","../../../../lib/ng-nest/ui/time-range/time-range.pipe.ts","../../../../lib/ng-nest/ui/time-range/time-range.module.ts","../../../../lib/ng-nest/ui/time-range/ng-nest-ui-time-range.ts"],"sourcesContent":["/**\r\n * TimeRange\r\n * @selector xTimeRange\r\n * @decorator Pipe\r\n */\r\nexport const XTimeRangePrefix = 'xTimeRange';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { XTimeRangePrefix } from './time-range.property';\r\n\r\nexport const timeUnits: Array<[string, number]> = [\r\n ['Y', 1000 * 60 * 60 * 24 * 365], // years\r\n ['M', 1000 * 60 * 60 * 24 * 30], // months\r\n ['D', 1000 * 60 * 60 * 24], // days\r\n ['H', 1000 * 60 * 60], // hours\r\n ['m', 1000 * 60], // minutes\r\n ['s', 1000], // seconds\r\n ['S', 1] // million seconds\r\n];\r\n\r\n@Pipe({ name: `${XTimeRangePrefix}` })\r\nexport class XTimeRangePipe implements PipeTransform {\r\n transform(value: string | number, format: string = 'HH:mm:ss'): string {\r\n let duration = Number(value || 0);\r\n\r\n return timeUnits.reduce((current, [name, unit]) => {\r\n if (current.indexOf(name) !== -1) {\r\n const v = Math.floor(duration / unit);\r\n duration -= v * unit;\r\n return current.replace(new RegExp(`${name}+`, 'g'), (match: string) => {\r\n return this.padStart(v.toString(), match.length, '0');\r\n });\r\n }\r\n return current;\r\n }, format);\r\n }\r\n\r\n padStart(toPad: string, length: number, element: string): string {\r\n if (toPad.length > length) {\r\n return toPad;\r\n }\r\n const joined = `${this.getRepeatedElement(length, element)}${toPad}`;\r\n return joined.slice(joined.length - length, joined.length);\r\n }\r\n\r\n getRepeatedElement(length: number, element: string): string {\r\n return Array(length).fill(element).join('');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTimeRangePipe } from './time-range.pipe';\r\n\r\n@NgModule({\r\n declarations: [XTimeRangePipe],\r\n exports: [XTimeRangePipe]\r\n})\r\nexport class XTimeRangeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -35,15 +35,15 @@ class XTimelineProperty extends XProperty {
|
|
|
35
35
|
this.data = [];
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
/** @nocollapse */ /** @nocollapse */ XTimelineProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
39
|
-
/** @nocollapse */ /** @nocollapse */ XTimelineProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
38
|
+
/** @nocollapse */ /** @nocollapse */ XTimelineProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimelineProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
/** @nocollapse */ /** @nocollapse */ XTimelineProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XTimelineProperty, selector: "ng-component", inputs: { data: "data", type: "type", size: "size", wrapper: "wrapper" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
40
40
|
__decorate([
|
|
41
41
|
XDataConvert()
|
|
42
42
|
], XTimelineProperty.prototype, "data", void 0);
|
|
43
43
|
__decorate([
|
|
44
44
|
XWithConfig(X_CONFIG_NAME, 'medium')
|
|
45
45
|
], XTimelineProperty.prototype, "size", void 0);
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimelineProperty, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
48
|
args: [{ template: '' }]
|
|
49
49
|
}], propDecorators: { data: [{
|
|
@@ -102,19 +102,19 @@ class XTimelineComponent extends XTimelineProperty {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
/** @nocollapse */ /** @nocollapse */ XTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
106
|
-
/** @nocollapse */ /** @nocollapse */ XTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
105
|
+
/** @nocollapse */ /** @nocollapse */ XTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimelineComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
+
/** @nocollapse */ /** @nocollapse */ XTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XTimelineComponent, selector: "x-timeline", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #timeline class=\"x-timeline\" [ngClass]=\"classMap\">\r\n <ul>\r\n <li *ngFor=\"let node of nodes; trackBy: trackByNode\" [class.x-timeline-loading]=\"node.loading\">\r\n <div class=\"x-timeline-tail\" [class.x-timeline-tail-dashed]=\"node.dashed\"></div>\r\n <div\r\n class=\"x-timeline-icon {{ node.type ? 'x-timeline-' + node.type : '' }} {{ node.size ? 'x-timeline-' + node.size : '' }}\"\r\n [style.background-color]=\"node.color\"\r\n >\r\n <x-icon *ngIf=\"node.icon && !node.loading\" [type]=\"node.icon\"></x-icon>\r\n <x-icon *ngIf=\"node.loading\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </div>\r\n <div class=\"x-timeline-wrapper\">\r\n <ng-container *xOutlet=\"wrapper; context: { $node: node }\">\r\n <div class=\"x-timeline-label\">\r\n <x-link *ngIf=\"node.label\">{{ node.label }}</x-link>\r\n <span class=\"x-timeline-time\">{{ node.time | xTimeAgo }}</span>\r\n </div>\r\n <div class=\"x-timeline-content\">{{ node.content }}</div>\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".x-timeline{margin:0;padding:0;display:block}.x-timeline>ul{padding-left:.625rem}.x-timeline>ul>li{padding-bottom:1rem;position:relative}.x-timeline>ul>li:last-child .x-timeline-tail{border-left-color:transparent}.x-timeline>ul>li:first-child .x-timeline-tail{top:1.25rem}.x-timeline-tail{position:absolute;height:100%;border-left:.125rem solid var(--x-border)}.x-timeline-tail-dashed{border-left-style:dashed}.x-timeline-icon{position:absolute;background-color:var(--x-border);border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--x-white);width:1.375rem;height:1.375rem;border:.0625rem solid var(--x-background-100);left:-.625rem}.x-timeline-wrapper{position:relative;padding-left:1.625rem}.x-timeline-label{display:flex;align-items:center;margin-bottom:.125rem}.x-timeline-label>x-link{margin-right:.325rem}.x-timeline-content{color:var(--x-text-300)}.x-timeline-time{font-size:.75rem;color:var(--x-text-400)}.x-timeline-loading .x-timeline-icon{color:var(--x-text-400);font-size:1.25rem;background-color:transparent!important}.x-timeline-primary{background-color:var(--x-primary)}.x-timeline-success{background-color:var(--x-success)}.x-timeline-warning{background-color:var(--x-warning)}.x-timeline-danger{background-color:var(--x-danger)}.x-timeline-info{background-color:var(--x-info)}.x-timeline-big{width:2.175rem;height:2.175rem;left:-1.025rem;font-size:1.55rem}.x-timeline-large{width:1.875rem;height:1.875rem;left:-.875rem;font-size:1.25rem}.x-timeline-medium{width:1.675rem;height:1.675rem;left:-.775rem;font-size:1.05rem}.x-timeline-small{width:1.5rem;height:1.5rem;left:-.6875rem;font-size:.875rem}.x-timeline-mini{width:1.375rem;height:1.375rem;left:-.625rem;font-size:.75rem}\n"], components: [{ type: i2.XIconComponent, selector: "x-icon" }, { type: i3.XLinkComponent, selector: "x-link" }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], pipes: { "xTimeAgo": i6.XTimeAgoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimelineComponent, decorators: [{
|
|
108
108
|
type: Component,
|
|
109
109
|
args: [{ selector: `${XTimelinePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #timeline class=\"x-timeline\" [ngClass]=\"classMap\">\r\n <ul>\r\n <li *ngFor=\"let node of nodes; trackBy: trackByNode\" [class.x-timeline-loading]=\"node.loading\">\r\n <div class=\"x-timeline-tail\" [class.x-timeline-tail-dashed]=\"node.dashed\"></div>\r\n <div\r\n class=\"x-timeline-icon {{ node.type ? 'x-timeline-' + node.type : '' }} {{ node.size ? 'x-timeline-' + node.size : '' }}\"\r\n [style.background-color]=\"node.color\"\r\n >\r\n <x-icon *ngIf=\"node.icon && !node.loading\" [type]=\"node.icon\"></x-icon>\r\n <x-icon *ngIf=\"node.loading\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </div>\r\n <div class=\"x-timeline-wrapper\">\r\n <ng-container *xOutlet=\"wrapper; context: { $node: node }\">\r\n <div class=\"x-timeline-label\">\r\n <x-link *ngIf=\"node.label\">{{ node.label }}</x-link>\r\n <span class=\"x-timeline-time\">{{ node.time | xTimeAgo }}</span>\r\n </div>\r\n <div class=\"x-timeline-content\">{{ node.content }}</div>\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".x-timeline{margin:0;padding:0;display:block}.x-timeline>ul{padding-left:.625rem}.x-timeline>ul>li{padding-bottom:1rem;position:relative}.x-timeline>ul>li:last-child .x-timeline-tail{border-left-color:transparent}.x-timeline>ul>li:first-child .x-timeline-tail{top:1.25rem}.x-timeline-tail{position:absolute;height:100%;border-left:.125rem solid var(--x-border)}.x-timeline-tail-dashed{border-left-style:dashed}.x-timeline-icon{position:absolute;background-color:var(--x-border);border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--x-white);width:1.375rem;height:1.375rem;border:.0625rem solid var(--x-background-100);left:-.625rem}.x-timeline-wrapper{position:relative;padding-left:1.625rem}.x-timeline-label{display:flex;align-items:center;margin-bottom:.125rem}.x-timeline-label>x-link{margin-right:.325rem}.x-timeline-content{color:var(--x-text-300)}.x-timeline-time{font-size:.75rem;color:var(--x-text-400)}.x-timeline-loading .x-timeline-icon{color:var(--x-text-400);font-size:1.25rem;background-color:transparent!important}.x-timeline-primary{background-color:var(--x-primary)}.x-timeline-success{background-color:var(--x-success)}.x-timeline-warning{background-color:var(--x-warning)}.x-timeline-danger{background-color:var(--x-danger)}.x-timeline-info{background-color:var(--x-info)}.x-timeline-big{width:2.175rem;height:2.175rem;left:-1.025rem;font-size:1.55rem}.x-timeline-large{width:1.875rem;height:1.875rem;left:-.875rem;font-size:1.25rem}.x-timeline-medium{width:1.675rem;height:1.675rem;left:-.775rem;font-size:1.05rem}.x-timeline-small{width:1.5rem;height:1.5rem;left:-.6875rem;font-size:.875rem}.x-timeline-mini{width:1.375rem;height:1.375rem;left:-.625rem;font-size:.75rem}\n"] }]
|
|
110
110
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
|
|
111
111
|
|
|
112
112
|
class XTimelineModule {
|
|
113
113
|
}
|
|
114
|
-
/** @nocollapse */ /** @nocollapse */ XTimelineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
115
|
-
/** @nocollapse */ /** @nocollapse */ XTimelineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
116
|
-
/** @nocollapse */ /** @nocollapse */ XTimelineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
114
|
+
/** @nocollapse */ /** @nocollapse */ XTimelineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimelineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
115
|
+
/** @nocollapse */ /** @nocollapse */ XTimelineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimelineModule, declarations: [XTimelineComponent, XTimelineProperty], imports: [CommonModule, XIconModule, XTimeAgoModule, XLinkModule, XOutletModule], exports: [XTimelineComponent] });
|
|
116
|
+
/** @nocollapse */ /** @nocollapse */ XTimelineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimelineModule, imports: [[CommonModule, XIconModule, XTimeAgoModule, XLinkModule, XOutletModule]] });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTimelineModule, decorators: [{
|
|
118
118
|
type: NgModule,
|
|
119
119
|
args: [{
|
|
120
120
|
declarations: [XTimelineComponent, XTimelineProperty],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-timeline.mjs","sources":["../../../../lib/ng-nest/ui/timeline/timeline.property.ts","../../../../lib/ng-nest/ui/timeline/timeline.component.ts","../../../../lib/ng-nest/ui/timeline/timeline.component.html","../../../../lib/ng-nest/ui/timeline/timeline.module.ts","../../../../lib/ng-nest/ui/timeline/ng-nest-ui-timeline.ts"],"sourcesContent":["import { XType, XSize, XData, XTemplate, XProperty, XIdentityProperty, XDataConvert, XWithConfig, XDate } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Timeline\r\n * @selector x-timeline\r\n * @decorator component\r\n */\r\nexport const XTimelinePrefix = 'x-timeline';\r\nconst X_CONFIG_NAME = 'timeline';\r\n\r\n/**\r\n * Timeline Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTimelineProperty extends XProperty {\r\n /**\r\n * @zh_CN 数据\r\n * @en_US Date\r\n */\r\n @Input() @XDataConvert() data: XData<XTimelineNode> = [];\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Type\r\n */\r\n @Input() type?: XType;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n @Input() wrapper?: XTemplate;\r\n}\r\n\r\n/**\r\n * @zh_CN Timeline 数据对象\r\n * @en_US Timeline node data\r\n */\r\nexport interface XTimelineNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 时间\r\n * @en_US Time\r\n */\r\n time?: XDate;\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n content?: string;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Type\r\n */\r\n type?: XType;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n color?: string;\r\n /**\r\n * @zh_CN 加载中\r\n * @en_US Loading\r\n */\r\n loading?: boolean;\r\n /**\r\n * @zh_CN 连接线显示虚线,针对下一个节点,下一个节点为 loading 状态也会显示虚线\r\n * @en_US The connecting line displays a dotted line. For the next node, the dotted line will also be displayed when the next node is in loading status\r\n */\r\n dashed?: boolean;\r\n /**\r\n * @zh_CN 其它自定义属性\r\n * @en_US Other property\r\n */\r\n [property: string]: any;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XTimelinePrefix, XTimelineNode, XTimelineProperty } from './timeline.property';\r\nimport { XIsChange, XSetData, XConfigService } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XTimelinePrefix}`,\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTimelineComponent extends XTimelineProperty implements OnInit, OnChanges {\r\n nodes: XTimelineNode[] = [];\r\n private _unSubject = new Subject<void>();\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n trackByNode(_index: number, item: XTimelineNode) {\r\n return item.id;\r\n }\r\n\r\n private setData() {\r\n XSetData<XTimelineNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.setDashed(x);\r\n this.nodes = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n private setDashed(nodes: XTimelineNode[]) {\r\n const len = nodes.length;\r\n if (len <= 1) return;\r\n for (let i = 0; i < nodes.length; i++) {\r\n let node = nodes[i];\r\n if (!node.loading) continue;\r\n if (i === 0) {\r\n node.dashed = true;\r\n } else if (i > 0) {\r\n nodes[i - 1].dashed = true;\r\n }\r\n }\r\n }\r\n}\r\n","<div #timeline class=\"x-timeline\" [ngClass]=\"classMap\">\r\n <ul>\r\n <li *ngFor=\"let node of nodes; trackBy: trackByNode\" [class.x-timeline-loading]=\"node.loading\">\r\n <div class=\"x-timeline-tail\" [class.x-timeline-tail-dashed]=\"node.dashed\"></div>\r\n <div\r\n class=\"x-timeline-icon {{ node.type ? 'x-timeline-' + node.type : '' }} {{ node.size ? 'x-timeline-' + node.size : '' }}\"\r\n [style.background-color]=\"node.color\"\r\n >\r\n <x-icon *ngIf=\"node.icon && !node.loading\" [type]=\"node.icon\"></x-icon>\r\n <x-icon *ngIf=\"node.loading\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </div>\r\n <div class=\"x-timeline-wrapper\">\r\n <ng-container *xOutlet=\"wrapper; context: { $node: node }\">\r\n <div class=\"x-timeline-label\">\r\n <x-link *ngIf=\"node.label\">{{ node.label }}</x-link>\r\n <span class=\"x-timeline-time\">{{ node.time | xTimeAgo }}</span>\r\n </div>\r\n <div class=\"x-timeline-content\">{{ node.content }}</div>\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTimelineComponent } from './timeline.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XTimeAgoModule } from '@ng-nest/ui/time-ago';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XTimelineProperty } from './timeline.property';\r\n\r\n@NgModule({\r\n declarations: [XTimelineComponent, XTimelineProperty],\r\n exports: [XTimelineComponent],\r\n imports: [CommonModule, XIconModule, XTimeAgoModule, XLinkModule, XOutletModule]\r\n})\r\nexport class XTimelineModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-timeline.mjs","sources":["../../../../lib/ng-nest/ui/timeline/timeline.property.ts","../../../../lib/ng-nest/ui/timeline/timeline.component.ts","../../../../lib/ng-nest/ui/timeline/timeline.component.html","../../../../lib/ng-nest/ui/timeline/timeline.module.ts","../../../../lib/ng-nest/ui/timeline/ng-nest-ui-timeline.ts"],"sourcesContent":["import { XType, XSize, XData, XTemplate, XProperty, XIdentityProperty, XDataConvert, XWithConfig, XDate } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Timeline\r\n * @selector x-timeline\r\n * @decorator component\r\n */\r\nexport const XTimelinePrefix = 'x-timeline';\r\nconst X_CONFIG_NAME = 'timeline';\r\n\r\n/**\r\n * Timeline Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTimelineProperty extends XProperty {\r\n /**\r\n * @zh_CN 数据\r\n * @en_US Date\r\n */\r\n @Input() @XDataConvert() data: XData<XTimelineNode> = [];\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Type\r\n */\r\n @Input() type?: XType;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n @Input() wrapper?: XTemplate;\r\n}\r\n\r\n/**\r\n * @zh_CN Timeline 数据对象\r\n * @en_US Timeline node data\r\n */\r\nexport interface XTimelineNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 时间\r\n * @en_US Time\r\n */\r\n time?: XDate;\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n content?: string;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Type\r\n */\r\n type?: XType;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n color?: string;\r\n /**\r\n * @zh_CN 加载中\r\n * @en_US Loading\r\n */\r\n loading?: boolean;\r\n /**\r\n * @zh_CN 连接线显示虚线,针对下一个节点,下一个节点为 loading 状态也会显示虚线\r\n * @en_US The connecting line displays a dotted line. For the next node, the dotted line will also be displayed when the next node is in loading status\r\n */\r\n dashed?: boolean;\r\n /**\r\n * @zh_CN 其它自定义属性\r\n * @en_US Other property\r\n */\r\n [property: string]: any;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XTimelinePrefix, XTimelineNode, XTimelineProperty } from './timeline.property';\r\nimport { XIsChange, XSetData, XConfigService } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XTimelinePrefix}`,\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTimelineComponent extends XTimelineProperty implements OnInit, OnChanges {\r\n nodes: XTimelineNode[] = [];\r\n private _unSubject = new Subject<void>();\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n trackByNode(_index: number, item: XTimelineNode) {\r\n return item.id;\r\n }\r\n\r\n private setData() {\r\n XSetData<XTimelineNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.setDashed(x);\r\n this.nodes = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n private setDashed(nodes: XTimelineNode[]) {\r\n const len = nodes.length;\r\n if (len <= 1) return;\r\n for (let i = 0; i < nodes.length; i++) {\r\n let node = nodes[i];\r\n if (!node.loading) continue;\r\n if (i === 0) {\r\n node.dashed = true;\r\n } else if (i > 0) {\r\n nodes[i - 1].dashed = true;\r\n }\r\n }\r\n }\r\n}\r\n","<div #timeline class=\"x-timeline\" [ngClass]=\"classMap\">\r\n <ul>\r\n <li *ngFor=\"let node of nodes; trackBy: trackByNode\" [class.x-timeline-loading]=\"node.loading\">\r\n <div class=\"x-timeline-tail\" [class.x-timeline-tail-dashed]=\"node.dashed\"></div>\r\n <div\r\n class=\"x-timeline-icon {{ node.type ? 'x-timeline-' + node.type : '' }} {{ node.size ? 'x-timeline-' + node.size : '' }}\"\r\n [style.background-color]=\"node.color\"\r\n >\r\n <x-icon *ngIf=\"node.icon && !node.loading\" [type]=\"node.icon\"></x-icon>\r\n <x-icon *ngIf=\"node.loading\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </div>\r\n <div class=\"x-timeline-wrapper\">\r\n <ng-container *xOutlet=\"wrapper; context: { $node: node }\">\r\n <div class=\"x-timeline-label\">\r\n <x-link *ngIf=\"node.label\">{{ node.label }}</x-link>\r\n <span class=\"x-timeline-time\">{{ node.time | xTimeAgo }}</span>\r\n </div>\r\n <div class=\"x-timeline-content\">{{ node.content }}</div>\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTimelineComponent } from './timeline.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XTimeAgoModule } from '@ng-nest/ui/time-ago';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XTimelineProperty } from './timeline.property';\r\n\r\n@NgModule({\r\n declarations: [XTimelineComponent, XTimelineProperty],\r\n exports: [XTimelineComponent],\r\n imports: [CommonModule, XIconModule, XTimeAgoModule, XLinkModule, XOutletModule]\r\n})\r\nexport class XTimelineModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA;;;;AAIG;AACI,MAAM,eAAe,GAAG,aAAa;AAC5C,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC;;AAEG;AAEG,MAAO,iBAAkB,SAAQ,SAAS,CAAA;AADhD,IAAA,WAAA,GAAA;;AAEE;;;AAGG;AACsB,QAAA,IAAI,CAAA,IAAA,GAAyB,EAAE,CAAC;KAgB1D;;qJArBY,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,sCAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,qJADP,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;AAME,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAiC,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAUH,UAAA,CAAA;AAA5C,IAAA,WAAW,CAAQ,aAAa,EAAE,QAAQ,CAAC;CAAc,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAfxD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;8BAMA,IAAI,EAAA,CAAA;sBAA5B,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKgD,IAAI,EAAA,CAAA;sBAAzD,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;ACbF,MAAO,kBAAmB,SAAQ,iBAAiB,CAAA;AAGvD,IAAA,WAAA,CACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B,EAAA;AAEpC,QAAA,KAAK,EAAE,CAAC;AALD,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACnB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;AANtC,QAAA,IAAK,CAAA,KAAA,GAAoB,EAAE,CAAC;AACpB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;KAQxC;AAED,IAAA,QAAQ,MAAK;AAEb,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;KACnC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;KAC/B;IAED,WAAW,CAAC,MAAc,EAAE,IAAmB,EAAA;QAC7C,OAAO,IAAI,CAAC,EAAE,CAAC;KAChB;IAEO,OAAO,GAAA;AACb,QAAA,QAAQ,CAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAClE,YAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAClB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,SAAS,CAAC,KAAsB,EAAA;AACtC,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO;AACrB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,YAAA,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,SAAS;YAC5B,IAAI,CAAC,KAAK,CAAC,EAAE;AACX,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,aAAA;iBAAM,IAAI,CAAC,GAAG,CAAC,EAAE;gBAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;AAC5B,aAAA;AACF,SAAA;KACF;;sJAhDU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,sCAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,8FCtB/B,yoCAuBA,EAAA,MAAA,EAAA,CAAA,+rDAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDDa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;+BACE,CAAA,EAAG,eAAe,CAAA,CAAE,EAGf,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,yoCAAA,EAAA,MAAA,EAAA,CAAA,+rDAAA,CAAA,EAAA,CAAA;;;MENpC,eAAe,CAAA;;mJAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,sCAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJX,YAAA,EAAA,CAAA,kBAAkB,EAAE,iBAAiB,aAE1C,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,aADrE,kBAAkB,CAAA,EAAA,CAAA,CAAA;oJAGjB,eAAe,EAAA,OAAA,EAAA,CAFjB,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA,EAAA,CAAA,CAAA;4FAErE,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;oBACrD,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC;iBACjF,CAAA;;;ACbD;;AAEG;;;;"}
|