@ng-nest/ui 12.0.5 → 12.0.10
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/auto-complete/auto-complete-portal.component.d.ts +3 -3
- package/auto-complete/auto-complete.component.d.ts +6 -2
- package/auto-complete/auto-complete.property.d.ts +17 -2
- package/back-top/back-top.component.d.ts +1 -2
- package/base-form/base-form.component.d.ts +1 -1
- package/base-form/base-form.property.d.ts +48 -3
- package/bundles/ng-nest-ui-affix.umd.js +25 -21
- package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
- package/bundles/ng-nest-ui-alert.umd.js +25 -21
- package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
- package/bundles/ng-nest-ui-anchor.umd.js +26 -22
- package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
- package/bundles/ng-nest-ui-api.umd.js +12 -14
- package/bundles/ng-nest-ui-api.umd.js.map +1 -1
- package/bundles/ng-nest-ui-auto-complete.umd.js +74 -36
- package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
- package/bundles/ng-nest-ui-avatar.umd.js +25 -21
- package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-back-top.umd.js +27 -23
- package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
- package/bundles/ng-nest-ui-badge.umd.js +27 -22
- package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
- package/bundles/ng-nest-ui-base-form.umd.js +67 -22
- package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-border.umd.js +12 -14
- package/bundles/ng-nest-ui-border.umd.js.map +1 -1
- package/bundles/ng-nest-ui-button.umd.js +36 -29
- package/bundles/ng-nest-ui-button.umd.js.map +1 -1
- package/bundles/ng-nest-ui-calendar.umd.js +29 -24
- package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-card.umd.js +25 -21
- package/bundles/ng-nest-ui-card.umd.js.map +1 -1
- package/bundles/ng-nest-ui-carousel.umd.js +35 -30
- package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
- package/bundles/ng-nest-ui-cascade.umd.js +94 -36
- package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
- package/bundles/ng-nest-ui-checkbox.umd.js +28 -23
- package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
- package/bundles/ng-nest-ui-collapse.umd.js +31 -27
- package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color-picker.umd.js +79 -44
- package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color.umd.js +26 -22
- package/bundles/ng-nest-ui-color.umd.js.map +1 -1
- package/bundles/ng-nest-ui-comment.umd.js +34 -29
- package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
- package/bundles/ng-nest-ui-container.umd.js +46 -42
- package/bundles/ng-nest-ui-container.umd.js.map +1 -1
- package/bundles/ng-nest-ui-core.umd.js +136 -35
- package/bundles/ng-nest-ui-core.umd.js.map +1 -1
- package/bundles/ng-nest-ui-crumb.umd.js +28 -23
- package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
- package/bundles/ng-nest-ui-date-picker.umd.js +923 -176
- package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-description.umd.js +35 -32
- package/bundles/ng-nest-ui-description.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dialog.umd.js +27 -22
- package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
- package/bundles/ng-nest-ui-doc.umd.js +12 -14
- package/bundles/ng-nest-ui-doc.umd.js.map +1 -1
- package/bundles/ng-nest-ui-drawer.umd.js +27 -22
- package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dropdown.umd.js +32 -27
- package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
- package/bundles/ng-nest-ui-empty.umd.js +25 -21
- package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
- package/bundles/ng-nest-ui-examples.umd.js +12 -14
- package/bundles/ng-nest-ui-examples.umd.js.map +1 -1
- package/bundles/ng-nest-ui-find.umd.js +45 -27
- package/bundles/ng-nest-ui-find.umd.js.map +1 -1
- package/bundles/ng-nest-ui-form.umd.js +36 -36
- package/bundles/ng-nest-ui-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-highlight.umd.js +27 -22
- package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
- package/bundles/ng-nest-ui-i18n.umd.js +545 -140
- package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
- package/bundles/ng-nest-ui-icon.umd.js +34 -29
- package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
- package/bundles/ng-nest-ui-inner.umd.js +26 -22
- package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input-number.umd.js +44 -24
- package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input.umd.js +208 -50
- package/bundles/ng-nest-ui-input.umd.js.map +1 -1
- package/bundles/ng-nest-ui-layout.umd.js +31 -27
- package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
- package/bundles/ng-nest-ui-link.umd.js +25 -21
- package/bundles/ng-nest-ui-link.umd.js.map +1 -1
- package/bundles/ng-nest-ui-list.umd.js +35 -30
- package/bundles/ng-nest-ui-list.umd.js.map +1 -1
- package/bundles/ng-nest-ui-loading.umd.js +27 -22
- package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
- package/bundles/ng-nest-ui-menu.umd.js +38 -31
- package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message-box.umd.js +53 -47
- package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message.umd.js +26 -22
- package/bundles/ng-nest-ui-message.umd.js.map +1 -1
- package/bundles/ng-nest-ui-notification.umd.js +26 -22
- package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
- package/bundles/ng-nest-ui-outlet.umd.js +22 -18
- package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
- package/bundles/ng-nest-ui-page-header.umd.js +25 -21
- package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
- package/bundles/ng-nest-ui-pagination.umd.js +115 -26
- package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
- package/bundles/ng-nest-ui-pattern.umd.js +12 -14
- package/bundles/ng-nest-ui-pattern.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popconfirm.umd.js +25 -21
- package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popover.umd.js +31 -26
- package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
- package/bundles/ng-nest-ui-portal.umd.js +22 -18
- package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
- package/bundles/ng-nest-ui-progress.umd.js +28 -23
- package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
- package/bundles/ng-nest-ui-radio.umd.js +28 -23
- package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
- package/bundles/ng-nest-ui-rate.umd.js +30 -26
- package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
- package/bundles/ng-nest-ui-result.umd.js +25 -21
- package/bundles/ng-nest-ui-result.umd.js.map +1 -1
- package/bundles/ng-nest-ui-ripple.umd.js +25 -21
- package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
- package/bundles/ng-nest-ui-select.umd.js +53 -34
- package/bundles/ng-nest-ui-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-skeleton.umd.js +27 -22
- package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider-select.umd.js +25 -21
- package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider.umd.js +32 -29
- package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
- package/bundles/ng-nest-ui-statistic.umd.js +37 -31
- package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
- package/bundles/ng-nest-ui-steps.umd.js +35 -27
- package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
- package/bundles/ng-nest-ui-switch.umd.js +25 -21
- package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
- package/bundles/ng-nest-ui-table.umd.js +58 -51
- package/bundles/ng-nest-ui-table.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tabs.umd.js +39 -34
- package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tag.umd.js +36 -21
- package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
- package/bundles/ng-nest-ui-text-retract.umd.js +27 -22
- package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
- package/bundles/ng-nest-ui-textarea.umd.js +27 -32
- package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
- package/bundles/ng-nest-ui-theme.umd.js +26 -22
- package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-ago.umd.js +12 -14
- package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-picker.umd.js +87 -46
- package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-range.umd.js +22 -18
- package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
- package/bundles/ng-nest-ui-timeline.umd.js +28 -23
- package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tooltip.umd.js +31 -26
- package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
- package/bundles/ng-nest-ui-transfer.umd.js +28 -23
- package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree-file.umd.js +25 -21
- package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree.umd.js +39 -34
- package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
- package/bundles/ng-nest-ui-typography.umd.js +25 -21
- package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
- package/bundles/ng-nest-ui-upload.umd.js +32 -27
- package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
- package/bundles/ng-nest-ui.umd.js +83 -243
- package/bundles/ng-nest-ui.umd.js.map +1 -1
- package/button/buttons.component.d.ts +1 -1
- package/calendar/calendar.component.d.ts +2 -2
- package/carousel/carousel.component.d.ts +1 -1
- package/cascade/cascade-portal.component.d.ts +13 -7
- package/cascade/cascade.component.d.ts +7 -1
- package/cascade/cascade.property.d.ts +33 -3
- package/checkbox/checkbox.component.d.ts +1 -1
- package/color/color.component.d.ts +2 -2
- package/color-picker/color-picker-portal.component.d.ts +3 -3
- package/color-picker/color-picker.component.d.ts +10 -4
- package/color-picker/color-picker.property.d.ts +12 -2
- package/comment/comment.component.d.ts +1 -1
- package/core/config/config.d.ts +39 -0
- package/core/functions/clone-deep.d.ts +1 -0
- package/core/functions/drop.d.ts +1 -0
- package/core/functions/flex.d.ts +1 -1
- package/core/functions/has-in.d.ts +1 -0
- package/core/functions/order-by.d.ts +1 -0
- package/core/functions/public-api.d.ts +5 -0
- package/core/functions/remove.d.ts +1 -0
- package/core/services/reuse-strategy.service.d.ts +1 -1
- package/crumb/crumb.component.d.ts +1 -1
- package/date-picker/date-picker-portal.component.d.ts +10 -12
- package/date-picker/date-picker.component.d.ts +5 -5
- package/date-picker/date-picker.module.d.ts +12 -10
- package/date-picker/date-picker.property.d.ts +169 -8
- package/date-picker/date-range-portal.component.d.ts +65 -0
- package/date-picker/date-range.component.d.ts +74 -0
- package/date-picker/picker-date.component.d.ts +13 -4
- package/date-picker/picker-month.component.d.ts +6 -3
- package/date-picker/picker-year.component.d.ts +4 -2
- package/date-picker/public-api.d.ts +2 -0
- package/description/description.component.d.ts +2 -4
- package/dropdown/dropdown-portal.component.d.ts +1 -3
- package/dropdown/dropdown.component.d.ts +2 -2
- package/esm2015/affix/affix.component.js +3 -3
- package/esm2015/affix/affix.module.js +4 -4
- package/esm2015/affix/affix.property.js +3 -3
- package/esm2015/alert/alert.component.js +4 -4
- package/esm2015/alert/alert.module.js +4 -4
- package/esm2015/alert/alert.property.js +3 -3
- package/esm2015/anchor/anchor.component.js +5 -5
- package/esm2015/anchor/anchor.module.js +4 -4
- package/esm2015/anchor/anchor.property.js +4 -4
- package/esm2015/api/api.component.js +3 -3
- package/esm2015/api/api.module.js +4 -4
- package/esm2015/auto-complete/auto-complete-portal.component.js +6 -6
- package/esm2015/auto-complete/auto-complete.component.js +29 -12
- package/esm2015/auto-complete/auto-complete.module.js +4 -4
- package/esm2015/auto-complete/auto-complete.property.js +22 -5
- package/esm2015/avatar/avatar.component.js +3 -3
- package/esm2015/avatar/avatar.module.js +4 -4
- package/esm2015/avatar/avatar.property.js +3 -3
- package/esm2015/back-top/back-top.component.js +6 -6
- package/esm2015/back-top/back-top.module.js +4 -4
- package/esm2015/back-top/back-top.property.js +3 -3
- package/esm2015/badge/badge.component.js +6 -5
- package/esm2015/badge/badge.module.js +4 -4
- package/esm2015/badge/badge.property.js +3 -3
- package/esm2015/base-form/base-form.component.js +5 -5
- package/esm2015/base-form/base-form.module.js +4 -4
- package/esm2015/base-form/base-form.property.js +46 -5
- package/esm2015/border/border.component.js +3 -3
- package/esm2015/border/border.module.js +4 -4
- package/esm2015/button/button.component.js +10 -7
- package/esm2015/button/button.module.js +4 -4
- package/esm2015/button/button.property.js +6 -6
- package/esm2015/button/buttons.component.js +4 -4
- package/esm2015/calendar/calendar.component.js +8 -7
- package/esm2015/calendar/calendar.module.js +4 -4
- package/esm2015/calendar/calendar.property.js +3 -3
- package/esm2015/card/card.component.js +3 -3
- package/esm2015/card/card.module.js +4 -4
- package/esm2015/card/card.property.js +3 -3
- package/esm2015/carousel/carousel-panel.component.js +4 -4
- package/esm2015/carousel/carousel.component.js +8 -7
- package/esm2015/carousel/carousel.module.js +4 -4
- package/esm2015/carousel/carousel.property.js +6 -6
- package/esm2015/cascade/cascade-portal.component.js +23 -11
- package/esm2015/cascade/cascade.component.js +25 -9
- package/esm2015/cascade/cascade.module.js +4 -4
- package/esm2015/cascade/cascade.property.js +28 -5
- package/esm2015/checkbox/checkbox.component.js +7 -6
- package/esm2015/checkbox/checkbox.module.js +4 -4
- package/esm2015/checkbox/checkbox.property.js +4 -4
- package/esm2015/collapse/collapse-panel.component.js +4 -4
- package/esm2015/collapse/collapse.component.js +3 -3
- package/esm2015/collapse/collapse.module.js +4 -4
- package/esm2015/collapse/collapse.property.js +6 -6
- package/esm2015/color/color.component.js +5 -5
- package/esm2015/color/color.module.js +4 -4
- package/esm2015/color/color.property.js +3 -3
- package/esm2015/color-picker/color-picker-portal.component.js +5 -5
- package/esm2015/color-picker/color-picker.component.js +33 -14
- package/esm2015/color-picker/color-picker.module.js +4 -4
- package/esm2015/color-picker/color-picker.property.js +16 -5
- package/esm2015/comment/comment-reply.component.js +3 -3
- package/esm2015/comment/comment.component.js +7 -6
- package/esm2015/comment/comment.module.js +4 -4
- package/esm2015/comment/comment.property.js +6 -6
- package/esm2015/container/aside.component.js +3 -3
- package/esm2015/container/container.component.js +5 -5
- package/esm2015/container/container.module.js +4 -4
- package/esm2015/container/container.property.js +12 -12
- package/esm2015/container/footer.component.js +3 -3
- package/esm2015/container/header.component.js +3 -3
- package/esm2015/container/main.component.js +3 -3
- package/esm2015/core/animation/fade.js +1 -1
- package/esm2015/core/config/config.js +1 -1
- package/esm2015/core/config/config.service.js +3 -3
- package/esm2015/core/functions/clone-deep.js +12 -0
- package/esm2015/core/functions/drop.js +8 -0
- package/esm2015/core/functions/flex.js +18 -7
- package/esm2015/core/functions/has-in.js +4 -0
- package/esm2015/core/functions/order-by.js +31 -0
- package/esm2015/core/functions/public-api.js +6 -1
- package/esm2015/core/functions/remove.js +15 -0
- package/esm2015/core/services/http.service.js +5 -5
- package/esm2015/core/services/preloading-strategy.service.js +5 -5
- package/esm2015/core/services/reuse-strategy.service.js +2 -2
- package/esm2015/core/services/storage.service.js +3 -3
- package/esm2015/core/theme/theme.service.js +3 -3
- package/esm2015/crumb/crumb.component.js +7 -6
- package/esm2015/crumb/crumb.module.js +4 -4
- package/esm2015/crumb/crumb.property.js +3 -3
- package/esm2015/date-picker/date-picker-portal.component.js +24 -43
- package/esm2015/date-picker/date-picker.component.js +24 -23
- package/esm2015/date-picker/date-picker.module.js +31 -11
- package/esm2015/date-picker/date-picker.property.js +190 -19
- package/esm2015/date-picker/date-range-portal.component.js +208 -0
- package/esm2015/date-picker/date-range.component.js +307 -0
- package/esm2015/date-picker/picker-date.component.js +50 -15
- package/esm2015/date-picker/picker-month.component.js +25 -9
- package/esm2015/date-picker/picker-year.component.js +21 -9
- package/esm2015/date-picker/public-api.js +3 -1
- package/esm2015/description/description-item.component.js +4 -4
- package/esm2015/description/description.component.js +8 -9
- package/esm2015/description/description.module.js +4 -4
- package/esm2015/description/description.property.js +6 -6
- package/esm2015/dialog/dialog.component.js +6 -5
- package/esm2015/dialog/dialog.module.js +4 -4
- package/esm2015/dialog/dialog.property.js +4 -4
- package/esm2015/doc/doc.component.js +3 -3
- package/esm2015/doc/doc.module.js +4 -4
- package/esm2015/drawer/drawer.component.js +6 -5
- package/esm2015/drawer/drawer.module.js +4 -4
- package/esm2015/drawer/drawer.property.js +3 -3
- package/esm2015/dropdown/dropdown-portal.component.js +5 -5
- package/esm2015/dropdown/dropdown.component.js +7 -6
- package/esm2015/dropdown/dropdown.module.js +4 -4
- package/esm2015/dropdown/dropdown.property.js +3 -3
- package/esm2015/empty/empty.component.js +3 -3
- package/esm2015/empty/empty.module.js +4 -4
- package/esm2015/empty/empty.property.js +3 -3
- package/esm2015/examples/examples.component.js +3 -3
- package/esm2015/examples/examples.module.js +4 -4
- package/esm2015/find/find.component.js +13 -10
- package/esm2015/find/find.module.js +4 -4
- package/esm2015/find/find.property.js +16 -5
- package/esm2015/form/control.component.js +4 -4
- package/esm2015/form/form.component.js +9 -8
- package/esm2015/form/form.module.js +4 -4
- package/esm2015/form/form.property.js +8 -13
- package/esm2015/highlight/highlight.component.js +6 -5
- package/esm2015/highlight/highlight.module.js +4 -4
- package/esm2015/highlight/highlight.property.js +4 -4
- package/esm2015/i18n/i18n.directive.js +6 -5
- package/esm2015/i18n/i18n.module.js +4 -4
- package/esm2015/i18n/i18n.pipe.js +3 -3
- package/esm2015/i18n/i18n.property.js +1 -1
- package/esm2015/i18n/i18n.service.js +3 -3
- package/esm2015/i18n/languages/ar_EG.js +11 -3
- package/esm2015/i18n/languages/bg_BG.js +11 -3
- package/esm2015/i18n/languages/ca_ES.js +11 -3
- package/esm2015/i18n/languages/cs_CZ.js +11 -3
- package/esm2015/i18n/languages/da_DK.js +11 -3
- package/esm2015/i18n/languages/de_DE.js +11 -3
- package/esm2015/i18n/languages/el_GR.js +11 -3
- package/esm2015/i18n/languages/en_GB.js +11 -3
- package/esm2015/i18n/languages/en_US.js +11 -3
- package/esm2015/i18n/languages/es_ES.js +11 -3
- package/esm2015/i18n/languages/et_EE.js +11 -3
- package/esm2015/i18n/languages/fa_IR.js +11 -3
- package/esm2015/i18n/languages/fi_FI.js +11 -3
- package/esm2015/i18n/languages/fr_BE.js +10 -2
- package/esm2015/i18n/languages/fr_FR.js +11 -3
- package/esm2015/i18n/languages/he_IL.js +11 -3
- package/esm2015/i18n/languages/hi_IN.js +11 -3
- package/esm2015/i18n/languages/hr_HR.js +11 -3
- package/esm2015/i18n/languages/hu_HU.js +11 -3
- package/esm2015/i18n/languages/hy_AM.js +11 -3
- package/esm2015/i18n/languages/id_ID.js +11 -3
- package/esm2015/i18n/languages/is_IS.js +11 -3
- package/esm2015/i18n/languages/it_IT.js +11 -3
- package/esm2015/i18n/languages/ja_JP.js +11 -3
- package/esm2015/i18n/languages/ka_GE.js +11 -3
- package/esm2015/i18n/languages/kn_IN.js +11 -3
- package/esm2015/i18n/languages/ko_KR.js +11 -3
- package/esm2015/i18n/languages/ku_IQ.js +11 -3
- package/esm2015/i18n/languages/lv_LV.js +11 -3
- package/esm2015/i18n/languages/mn_MN.js +11 -3
- package/esm2015/i18n/languages/ms_MY.js +11 -3
- package/esm2015/i18n/languages/nb_NO.js +11 -3
- package/esm2015/i18n/languages/ne_NP.js +11 -3
- package/esm2015/i18n/languages/nl_BE.js +11 -3
- package/esm2015/i18n/languages/nl_NL.js +11 -3
- package/esm2015/i18n/languages/pl_PL.js +11 -3
- package/esm2015/i18n/languages/pt_BR.js +11 -3
- package/esm2015/i18n/languages/pt_PT.js +11 -3
- package/esm2015/i18n/languages/ro_RO.js +11 -3
- package/esm2015/i18n/languages/ru_RU.js +11 -3
- package/esm2015/i18n/languages/sk_SK.js +11 -3
- package/esm2015/i18n/languages/sl_SI.js +11 -3
- package/esm2015/i18n/languages/sr_RS.js +11 -3
- package/esm2015/i18n/languages/sv_SE.js +11 -3
- package/esm2015/i18n/languages/ta_IN.js +11 -3
- package/esm2015/i18n/languages/th_TH.js +29 -21
- package/esm2015/i18n/languages/tr_TR.js +11 -3
- package/esm2015/i18n/languages/uk_UA.js +11 -3
- package/esm2015/i18n/languages/vi_VN.js +11 -3
- package/esm2015/i18n/languages/zh_CN.js +10 -3
- package/esm2015/i18n/languages/zh_TW.js +10 -3
- package/esm2015/icon/icon.component.js +7 -6
- package/esm2015/icon/icon.module.js +4 -4
- package/esm2015/icon/icon.property.js +3 -3
- package/esm2015/icon/icon.service.js +6 -6
- package/esm2015/inner/inner.component.js +5 -5
- package/esm2015/inner/inner.module.js +4 -4
- package/esm2015/inner/inner.property.js +3 -3
- package/esm2015/input/input-group.component.js +26 -0
- package/esm2015/input/input.component.js +60 -15
- package/esm2015/input/input.module.js +11 -9
- package/esm2015/input/input.property.js +77 -22
- package/esm2015/input/public-api.js +2 -1
- package/esm2015/input-number/input-number.component.js +9 -5
- package/esm2015/input-number/input-number.module.js +7 -6
- package/esm2015/input-number/input-number.property.js +17 -5
- package/esm2015/layout/col.component.js +3 -3
- package/esm2015/layout/layout.module.js +4 -4
- package/esm2015/layout/layout.property.js +6 -6
- package/esm2015/layout/row.component.js +3 -3
- package/esm2015/link/link.component.js +3 -3
- package/esm2015/link/link.module.js +4 -4
- package/esm2015/link/link.property.js +3 -3
- package/esm2015/list/list-option.component.js +3 -3
- package/esm2015/list/list.component.js +8 -7
- package/esm2015/list/list.module.js +4 -4
- package/esm2015/list/list.property.js +7 -7
- package/esm2015/loading/loading.component.js +6 -5
- package/esm2015/loading/loading.module.js +4 -4
- package/esm2015/loading/loading.property.js +3 -3
- package/esm2015/menu/menu-node.component.js +4 -4
- package/esm2015/menu/menu.component.js +11 -8
- package/esm2015/menu/menu.module.js +4 -4
- package/esm2015/menu/menu.property.js +6 -6
- package/esm2015/message/message.component.js +5 -5
- package/esm2015/message/message.module.js +4 -4
- package/esm2015/message/message.service.js +3 -3
- package/esm2015/message-box/message-box.component.js +20 -24
- package/esm2015/message-box/message-box.module.js +4 -4
- package/esm2015/message-box/message-box.service.js +10 -8
- package/esm2015/notification/notification.component.js +5 -5
- package/esm2015/notification/notification.module.js +4 -4
- package/esm2015/notification/notification.property.js +1 -1
- package/esm2015/notification/notification.service.js +3 -3
- package/esm2015/outlet/outlet.directive.js +3 -3
- package/esm2015/outlet/outlet.module.js +4 -4
- package/esm2015/page-header/page-header.component.js +3 -3
- package/esm2015/page-header/page-header.module.js +4 -4
- package/esm2015/page-header/page-header.property.js +3 -3
- package/esm2015/pagination/pagination.component.js +45 -7
- package/esm2015/pagination/pagination.module.js +10 -6
- package/esm2015/pagination/pagination.property.js +52 -4
- package/esm2015/pattern/pattern.component.js +3 -3
- package/esm2015/pattern/pattern.module.js +4 -4
- package/esm2015/popconfirm/popconfirm.component.js +3 -3
- package/esm2015/popconfirm/popconfirm.module.js +4 -4
- package/esm2015/popconfirm/popconfirm.property.js +3 -3
- package/esm2015/popover/popover-portal.component.js +4 -4
- package/esm2015/popover/popover.directive.js +7 -6
- package/esm2015/popover/popover.module.js +4 -4
- package/esm2015/popover/popover.property.js +3 -3
- package/esm2015/portal/portal.module.js +4 -4
- package/esm2015/portal/portal.service.js +3 -3
- package/esm2015/progress/progress.component.js +7 -6
- package/esm2015/progress/progress.module.js +4 -4
- package/esm2015/progress/progress.property.js +3 -3
- package/esm2015/radio/radio.component.js +7 -6
- package/esm2015/radio/radio.module.js +4 -4
- package/esm2015/radio/radio.property.js +4 -4
- package/esm2015/rate/rate.component.js +9 -9
- package/esm2015/rate/rate.module.js +4 -4
- package/esm2015/rate/rate.property.js +3 -3
- package/esm2015/result/result.component.js +3 -3
- package/esm2015/result/result.module.js +4 -4
- package/esm2015/result/result.property.js +3 -3
- package/esm2015/ripple/ripple.directive.js +4 -4
- package/esm2015/ripple/ripple.module.js +4 -4
- package/esm2015/ripple/ripple.property.js +4 -4
- package/esm2015/select/select-portal.component.js +6 -6
- package/esm2015/select/select.component.js +15 -11
- package/esm2015/select/select.module.js +4 -4
- package/esm2015/select/select.property.js +15 -4
- package/esm2015/skeleton/skeleton.component.js +6 -5
- package/esm2015/skeleton/skeleton.module.js +4 -4
- package/esm2015/skeleton/skeleton.property.js +3 -3
- package/esm2015/slider/slider.component.js +11 -12
- package/esm2015/slider/slider.module.js +4 -4
- package/esm2015/slider/slider.property.js +3 -3
- package/esm2015/slider-select/slider-select.component.js +3 -3
- package/esm2015/slider-select/slider-select.module.js +4 -4
- package/esm2015/slider-select/slider-select.property.js +3 -3
- package/esm2015/statistic/countdown.component.js +8 -7
- package/esm2015/statistic/statistic.component.js +6 -5
- package/esm2015/statistic/statistic.module.js +4 -4
- package/esm2015/statistic/statistic.property.js +6 -6
- package/esm2015/steps/steps.component.js +9 -7
- package/esm2015/steps/steps.module.js +7 -6
- package/esm2015/steps/steps.property.js +6 -4
- package/esm2015/switch/switch.component.js +3 -3
- package/esm2015/switch/switch.module.js +4 -4
- package/esm2015/switch/switch.property.js +3 -3
- package/esm2015/table/drag.directive.js +5 -5
- package/esm2015/table/table-body.component.js +7 -6
- package/esm2015/table/table-foot.component.js +4 -4
- package/esm2015/table/table-head.component.js +7 -6
- package/esm2015/table/table.component.js +9 -8
- package/esm2015/table/table.module.js +4 -4
- package/esm2015/table/table.property.js +13 -13
- package/esm2015/tabs/tab-content.component.js +3 -3
- package/esm2015/tabs/tab.component.js +4 -4
- package/esm2015/tabs/tabs.component.js +9 -8
- package/esm2015/tabs/tabs.module.js +4 -4
- package/esm2015/tabs/tabs.property.js +6 -6
- package/esm2015/tag/tag.component.js +10 -5
- package/esm2015/tag/tag.module.js +4 -4
- package/esm2015/tag/tag.property.js +10 -4
- package/esm2015/text-retract/text-retract.component.js +6 -5
- package/esm2015/text-retract/text-retract.module.js +4 -4
- package/esm2015/text-retract/text-retract.property.js +3 -3
- package/esm2015/textarea/textarea.component.js +6 -5
- package/esm2015/textarea/textarea.module.js +4 -4
- package/esm2015/textarea/textarea.property.js +4 -14
- package/esm2015/theme/theme.component.js +5 -5
- package/esm2015/theme/theme.module.js +4 -4
- package/esm2015/theme/theme.property.js +4 -4
- package/esm2015/time-ago/time-ago.module.js +4 -4
- package/esm2015/time-ago/time-ago.pipe.js +3 -3
- package/esm2015/time-picker/time-picker-frame.component.js +22 -12
- package/esm2015/time-picker/time-picker-portal.component.js +5 -5
- package/esm2015/time-picker/time-picker.component.js +31 -15
- package/esm2015/time-picker/time-picker.module.js +4 -4
- package/esm2015/time-picker/time-picker.property.js +16 -5
- package/esm2015/time-range/time-range.module.js +4 -4
- package/esm2015/time-range/time-range.pipe.js +3 -3
- package/esm2015/timeline/timeline.component.js +7 -6
- package/esm2015/timeline/timeline.module.js +4 -4
- package/esm2015/timeline/timeline.property.js +3 -3
- package/esm2015/tooltip/tooltip-portal.component.js +4 -4
- package/esm2015/tooltip/tooltip.directive.js +7 -6
- package/esm2015/tooltip/tooltip.module.js +4 -4
- package/esm2015/tooltip/tooltip.property.js +4 -4
- package/esm2015/transfer/transfer.component.js +7 -6
- package/esm2015/transfer/transfer.module.js +4 -4
- package/esm2015/transfer/transfer.property.js +3 -3
- package/esm2015/tree/tree-node.component.js +5 -5
- package/esm2015/tree/tree.component.js +11 -10
- package/esm2015/tree/tree.module.js +4 -4
- package/esm2015/tree/tree.property.js +7 -7
- package/esm2015/tree-file/tree-file.component.js +3 -3
- package/esm2015/tree-file/tree-file.module.js +4 -4
- package/esm2015/tree-file/tree-file.property.js +3 -3
- package/esm2015/typography/typography.component.js +3 -3
- package/esm2015/typography/typography.module.js +4 -4
- package/esm2015/typography/typography.property.js +3 -3
- package/esm2015/upload/upload-portal.component.js +5 -5
- package/esm2015/upload/upload.component.js +7 -6
- package/esm2015/upload/upload.module.js +4 -4
- package/esm2015/upload/upload.property.js +3 -3
- package/fesm2015/ng-nest-ui-affix.js +10 -10
- package/fesm2015/ng-nest-ui-alert.js +10 -10
- package/fesm2015/ng-nest-ui-alert.js.map +1 -1
- package/fesm2015/ng-nest-ui-anchor.js +11 -11
- package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
- package/fesm2015/ng-nest-ui-api.js +7 -7
- package/fesm2015/ng-nest-ui-auto-complete.js +59 -25
- package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
- package/fesm2015/ng-nest-ui-avatar.js +10 -10
- package/fesm2015/ng-nest-ui-back-top.js +12 -12
- package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
- package/fesm2015/ng-nest-ui-badge.js +12 -11
- package/fesm2015/ng-nest-ui-badge.js.map +1 -1
- package/fesm2015/ng-nest-ui-base-form.js +53 -12
- package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-border.js +7 -7
- package/fesm2015/ng-nest-ui-button.js +22 -19
- package/fesm2015/ng-nest-ui-button.js.map +1 -1
- package/fesm2015/ng-nest-ui-calendar.js +14 -13
- package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
- package/fesm2015/ng-nest-ui-card.js +10 -10
- package/fesm2015/ng-nest-ui-carousel.js +20 -19
- package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.js +80 -28
- package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.js +13 -12
- package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
- package/fesm2015/ng-nest-ui-collapse.js +16 -16
- package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
- package/fesm2015/ng-nest-ui-color-picker.js +55 -24
- package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-color.js +11 -11
- package/fesm2015/ng-nest-ui-color.js.map +1 -1
- package/fesm2015/ng-nest-ui-comment.js +19 -18
- package/fesm2015/ng-nest-ui-comment.js.map +1 -1
- package/fesm2015/ng-nest-ui-container.js +32 -32
- package/fesm2015/ng-nest-ui-container.js.map +1 -1
- package/fesm2015/ng-nest-ui-core.js +106 -25
- package/fesm2015/ng-nest-ui-core.js.map +1 -1
- package/fesm2015/ng-nest-ui-crumb.js +13 -12
- package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.js +876 -156
- package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-description.js +21 -22
- package/fesm2015/ng-nest-ui-description.js.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.js +12 -11
- package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
- package/fesm2015/ng-nest-ui-doc.js +7 -7
- package/fesm2015/ng-nest-ui-drawer.js +12 -11
- package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
- package/fesm2015/ng-nest-ui-dropdown.js +17 -16
- package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
- package/fesm2015/ng-nest-ui-empty.js +10 -10
- package/fesm2015/ng-nest-ui-examples.js +7 -7
- package/fesm2015/ng-nest-ui-find.js +31 -17
- package/fesm2015/ng-nest-ui-find.js.map +1 -1
- package/fesm2015/ng-nest-ui-form.js +22 -26
- package/fesm2015/ng-nest-ui-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-highlight.js +12 -11
- package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.js +540 -133
- package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
- package/fesm2015/ng-nest-ui-icon.js +18 -18
- package/fesm2015/ng-nest-ui-icon.js.map +1 -1
- package/fesm2015/ng-nest-ui-inner.js +11 -11
- package/fesm2015/ng-nest-ui-inner.js.map +1 -1
- package/fesm2015/ng-nest-ui-input-number.js +31 -14
- package/fesm2015/ng-nest-ui-input-number.js.map +1 -1
- package/fesm2015/ng-nest-ui-input.js +164 -42
- package/fesm2015/ng-nest-ui-input.js.map +1 -1
- package/fesm2015/ng-nest-ui-layout.js +16 -16
- package/fesm2015/ng-nest-ui-link.js +10 -10
- package/fesm2015/ng-nest-ui-list.js +20 -19
- package/fesm2015/ng-nest-ui-list.js.map +1 -1
- package/fesm2015/ng-nest-ui-loading.js +12 -11
- package/fesm2015/ng-nest-ui-loading.js.map +1 -1
- package/fesm2015/ng-nest-ui-menu.js +23 -20
- package/fesm2015/ng-nest-ui-menu.js.map +1 -1
- package/fesm2015/ng-nest-ui-message-box.js +32 -34
- package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
- package/fesm2015/ng-nest-ui-message.js +11 -11
- package/fesm2015/ng-nest-ui-message.js.map +1 -1
- package/fesm2015/ng-nest-ui-notification.js +11 -11
- package/fesm2015/ng-nest-ui-notification.js.map +1 -1
- package/fesm2015/ng-nest-ui-outlet.js +7 -7
- package/fesm2015/ng-nest-ui-page-header.js +10 -10
- package/fesm2015/ng-nest-ui-pagination.js +104 -14
- package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
- package/fesm2015/ng-nest-ui-pattern.js +7 -7
- package/fesm2015/ng-nest-ui-popconfirm.js +10 -10
- package/fesm2015/ng-nest-ui-popover.js +16 -15
- package/fesm2015/ng-nest-ui-popover.js.map +1 -1
- package/fesm2015/ng-nest-ui-portal.js +7 -7
- package/fesm2015/ng-nest-ui-progress.js +13 -12
- package/fesm2015/ng-nest-ui-progress.js.map +1 -1
- package/fesm2015/ng-nest-ui-radio.js +13 -12
- package/fesm2015/ng-nest-ui-radio.js.map +1 -1
- package/fesm2015/ng-nest-ui-rate.js +15 -15
- package/fesm2015/ng-nest-ui-rate.js.map +1 -1
- package/fesm2015/ng-nest-ui-result.js +10 -10
- package/fesm2015/ng-nest-ui-ripple.js +10 -10
- package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
- package/fesm2015/ng-nest-ui-select.js +37 -22
- package/fesm2015/ng-nest-ui-select.js.map +1 -1
- package/fesm2015/ng-nest-ui-skeleton.js +12 -11
- package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
- package/fesm2015/ng-nest-ui-slider-select.js +10 -10
- package/fesm2015/ng-nest-ui-slider.js +17 -18
- package/fesm2015/ng-nest-ui-slider.js.map +1 -1
- package/fesm2015/ng-nest-ui-statistic.js +22 -20
- package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
- package/fesm2015/ng-nest-ui-steps.js +19 -14
- package/fesm2015/ng-nest-ui-steps.js.map +1 -1
- package/fesm2015/ng-nest-ui-switch.js +10 -10
- package/fesm2015/ng-nest-ui-table.js +43 -40
- package/fesm2015/ng-nest-ui-table.js.map +1 -1
- package/fesm2015/ng-nest-ui-tabs.js +24 -23
- package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
- package/fesm2015/ng-nest-ui-tag.js +22 -11
- package/fesm2015/ng-nest-ui-tag.js.map +1 -1
- package/fesm2015/ng-nest-ui-text-retract.js +12 -11
- package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
- package/fesm2015/ng-nest-ui-textarea.js +12 -21
- package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
- package/fesm2015/ng-nest-ui-theme.js +11 -11
- package/fesm2015/ng-nest-ui-theme.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-ago.js +7 -7
- package/fesm2015/ng-nest-ui-time-picker.js +73 -36
- package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-range.js +7 -7
- package/fesm2015/ng-nest-ui-timeline.js +13 -12
- package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
- package/fesm2015/ng-nest-ui-tooltip.js +16 -15
- package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.js +13 -12
- package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
- package/fesm2015/ng-nest-ui-tree-file.js +10 -10
- package/fesm2015/ng-nest-ui-tree.js +24 -23
- package/fesm2015/ng-nest-ui-tree.js.map +1 -1
- package/fesm2015/ng-nest-ui-typography.js +10 -10
- package/fesm2015/ng-nest-ui-upload.js +17 -16
- package/fesm2015/ng-nest-ui-upload.js.map +1 -1
- package/find/find.component.d.ts +1 -1
- package/find/find.property.d.ts +22 -2
- package/form/control.component.d.ts +1 -1
- package/form/form.component.d.ts +1 -1
- package/form/form.property.d.ts +6 -6
- package/i18n/i18n.property.d.ts +3 -0
- package/i18n/languages/ar_EG.d.ts +8 -0
- package/i18n/languages/bg_BG.d.ts +8 -0
- package/i18n/languages/ca_ES.d.ts +8 -0
- package/i18n/languages/cs_CZ.d.ts +8 -0
- package/i18n/languages/da_DK.d.ts +8 -0
- package/i18n/languages/de_DE.d.ts +8 -0
- package/i18n/languages/el_GR.d.ts +8 -0
- package/i18n/languages/en_GB.d.ts +8 -0
- package/i18n/languages/en_US.d.ts +8 -0
- package/i18n/languages/es_ES.d.ts +8 -0
- package/i18n/languages/et_EE.d.ts +8 -0
- package/i18n/languages/fa_IR.d.ts +8 -0
- package/i18n/languages/fi_FI.d.ts +8 -0
- package/i18n/languages/fr_BE.d.ts +8 -0
- package/i18n/languages/fr_FR.d.ts +8 -0
- package/i18n/languages/he_IL.d.ts +8 -0
- package/i18n/languages/hi_IN.d.ts +8 -0
- package/i18n/languages/hr_HR.d.ts +8 -0
- package/i18n/languages/hu_HU.d.ts +8 -0
- package/i18n/languages/hy_AM.d.ts +8 -0
- package/i18n/languages/id_ID.d.ts +8 -0
- package/i18n/languages/is_IS.d.ts +8 -0
- package/i18n/languages/it_IT.d.ts +8 -0
- package/i18n/languages/ja_JP.d.ts +8 -0
- package/i18n/languages/ka_GE.d.ts +8 -0
- package/i18n/languages/kn_IN.d.ts +8 -0
- package/i18n/languages/ko_KR.d.ts +8 -0
- package/i18n/languages/ku_IQ.d.ts +8 -0
- package/i18n/languages/lv_LV.d.ts +8 -0
- package/i18n/languages/mn_MN.d.ts +8 -0
- package/i18n/languages/ms_MY.d.ts +8 -0
- package/i18n/languages/nb_NO.d.ts +8 -0
- package/i18n/languages/ne_NP.d.ts +8 -0
- package/i18n/languages/nl_BE.d.ts +8 -0
- package/i18n/languages/nl_NL.d.ts +8 -0
- package/i18n/languages/pl_PL.d.ts +8 -0
- package/i18n/languages/pt_BR.d.ts +8 -0
- package/i18n/languages/pt_PT.d.ts +8 -0
- package/i18n/languages/ro_RO.d.ts +8 -0
- package/i18n/languages/ru_RU.d.ts +8 -0
- package/i18n/languages/sk_SK.d.ts +8 -0
- package/i18n/languages/sl_SI.d.ts +8 -0
- package/i18n/languages/sr_RS.d.ts +8 -0
- package/i18n/languages/sv_SE.d.ts +8 -0
- package/i18n/languages/ta_IN.d.ts +8 -0
- package/i18n/languages/th_TH.d.ts +8 -0
- package/i18n/languages/tr_TR.d.ts +8 -0
- package/i18n/languages/uk_UA.d.ts +8 -0
- package/i18n/languages/vi_VN.d.ts +8 -0
- package/i18n/languages/zh_CN.d.ts +7 -0
- package/i18n/languages/zh_TW.d.ts +7 -0
- package/inner/inner.component.d.ts +1 -1
- package/input/input-group.component.d.ts +13 -0
- package/input/input.component.d.ts +10 -3
- package/input/input.module.d.ts +7 -5
- package/input/input.property.d.ts +79 -14
- package/input/public-api.d.ts +1 -0
- package/input-number/input-number.component.d.ts +3 -0
- package/input-number/input-number.module.d.ts +4 -3
- package/input-number/input-number.property.d.ts +12 -2
- package/list/list.component.d.ts +2 -2
- package/menu/menu.component.d.ts +1 -1
- package/message/message.component.d.ts +1 -1
- package/message-box/message-box.component.d.ts +2 -1
- package/notification/notification.component.d.ts +1 -1
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +5 -1
- package/pagination/pagination.module.d.ts +7 -3
- package/pagination/pagination.property.d.ts +49 -3
- package/radio/radio.component.d.ts +1 -1
- package/rate/rate.component.d.ts +5 -5
- package/select/select-portal.component.d.ts +3 -3
- package/select/select.component.d.ts +1 -1
- package/select/select.property.d.ts +12 -2
- package/slider/slider.component.d.ts +1 -1
- package/steps/steps.component.d.ts +1 -1
- package/steps/steps.module.d.ts +2 -1
- package/steps/steps.property.d.ts +7 -2
- package/table/table-body.component.d.ts +1 -1
- package/table/table-head.component.d.ts +1 -1
- package/table/table.component.d.ts +1 -1
- package/table/table.property.d.ts +10 -0
- package/tag/tag.component.d.ts +2 -1
- package/tag/tag.property.d.ts +6 -1
- package/textarea/textarea.property.d.ts +1 -6
- package/theme/theme.component.d.ts +1 -1
- package/time-picker/time-picker-frame.component.d.ts +4 -0
- package/time-picker/time-picker-portal.component.d.ts +3 -3
- package/time-picker/time-picker.component.d.ts +5 -3
- package/time-picker/time-picker.property.d.ts +12 -2
- package/timeline/timeline.component.d.ts +1 -1
- package/transfer/transfer.component.d.ts +1 -1
- package/tree/tree-node.component.d.ts +1 -1
- package/tree/tree.component.d.ts +1 -1
- package/upload/upload.component.d.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-upload.js","sources":["../../../../lib/ng-nest/ui/upload/upload.property.ts","../../../../lib/ng-nest/ui/upload/upload-portal.component.ts","../../../../lib/ng-nest/ui/upload/upload-portal.component.html","../../../../lib/ng-nest/ui/upload/upload.component.ts","../../../../lib/ng-nest/ui/upload/upload.component.html","../../../../lib/ng-nest/ui/upload/upload.module.ts","../../../../lib/ng-nest/ui/upload/ng-nest-ui-upload.ts"],"sourcesContent":["import { XInputBoolean, XBoolean, XTemplate, XPosition, XCorner } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Upload\r\n * @selector x-upload\r\n * @decorator component\r\n */\r\nexport const XUploadPrefix = 'x-upload';\r\n\r\n/**\r\n * Upload Property\r\n */\r\n@Component({ template: '' })\r\nexport class XUploadProperty extends XControlValueAccessor<XUploadNode[]> {\r\n /**\r\n * @zh_CN 显示文字\r\n * @en_US Display text\r\n */\r\n @Input() text?: XTemplate;\r\n /**\r\n * @zh_CN 请求地址\r\n * @en_US Request address\r\n */\r\n @Input() action?: string;\r\n /**\r\n * @zh_CN 上传文件类型,与原生的 input file 组件一致\r\n * @en_US Upload file type, consistent with native input file component\r\n */\r\n @Input() accept?: string;\r\n /**\r\n * @zh_CN 文件显示类型\r\n * @en_US File display type\r\n */\r\n @Input() type: XUploadType = 'list';\r\n /**\r\n * @zh_CN 图片剪裁\r\n * @en_US Picture cropping\r\n */\r\n @Input() @XInputBoolean() imgCut?: XBoolean;\r\n /**\r\n * @zh_CN 多文件上传\r\n * @en_US Multiple file upload\r\n */\r\n @Input() @XInputBoolean() multiple?: XBoolean;\r\n /**\r\n * @zh_CN 删除按钮的事件\r\n * @en_US Delete button event\r\n */\r\n @Output() removeClick = new EventEmitter<{ file: XUploadNode; index: number }>();\r\n}\r\n\r\n/**\r\n * @zh_CN Upload 数据对象\r\n * @en_US Upload data object\r\n */\r\nexport interface XUploadNode extends File {\r\n /**\r\n * @zh_CN 地址\r\n * @en_US address\r\n */\r\n url?: string;\r\n /**\r\n * @zh_CN 状态\r\n * @en_US status\r\n */\r\n state?: XStateType;\r\n /**\r\n * @zh_CN 上传进度\r\n * @en_US Upload progress\r\n */\r\n percent?: number;\r\n}\r\n\r\n/**\r\n * @zh_CN 文件状态\r\n * @en_US File status\r\n */\r\nexport type XStateType = 'ready' | 'uploading' | 'success' | 'error';\r\n\r\n/**\r\n * @zh_CN 文件显示类型\r\n * @en_US File display type\r\n */\r\nexport type XUploadType = 'list' | 'img';\r\n\r\n/**\r\n * @zh_CN 剪裁的方位\r\n * @en_US Tailored orientation\r\n */\r\nexport type XUploadCutType = XPosition | XCorner | '';\r\n\r\n/**\r\n * Upload Portal\r\n * @selector x-upload-portal\r\n * @decorator component\r\n */\r\nexport const XUploadPortalPrefix = 'x-upload-portal';\r\n","import { DOCUMENT } from '@angular/common';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n ChangeDetectorRef,\r\n Inject\r\n} from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, map, takeUntil, tap } from 'rxjs/operators';\r\nimport { XClamp } from '@ng-nest/ui/core';\r\nimport { XUploadCutType, XUploadNode, XUploadPortalPrefix } from './upload.property';\r\n\r\n@Component({\r\n selector: `${XUploadPortalPrefix}`,\r\n templateUrl: './upload-portal.component.html',\r\n styleUrls: ['./upload-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XUploadPortalComponent {\r\n file!: XUploadNode;\r\n @ViewChild('imgRef') imgRef!: ElementRef;\r\n @ViewChild('imgClipRef') imgClipRef!: ElementRef;\r\n @ViewChild('boundaryRef') boundaryRef!: ElementRef;\r\n @ViewChild('cutRef') cutRef!: ElementRef;\r\n ready = false;\r\n cutType: XUploadCutType = '';\r\n proportion = 1;\r\n originalSize = {\r\n width: 0,\r\n height: 0\r\n };\r\n boundaryBox!: {\r\n width: 0;\r\n height: 0;\r\n };\r\n cutBox = {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0\r\n };\r\n clipRect!: {\r\n top: number;\r\n right: number;\r\n bottom: number;\r\n left: number;\r\n };\r\n\r\n doc: Document;\r\n\r\n closePortal!: () => void;\r\n destroyPortal!: () => void;\r\n surePortal!: (blob: Blob) => void;\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(private renderer: Renderer2, private cdr: ChangeDetectorRef, @Inject(DOCUMENT) document: any) {\r\n this.doc = document;\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngAfterViewInit() {\r\n this.setCut();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n }\r\n\r\n setCut() {\r\n let width = this.imgRef.nativeElement.clientWidth;\r\n let height = this.imgRef.nativeElement.clientHeight;\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'width', `${width}px`);\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'height', `${height}px`);\r\n this.renderer.setStyle(this.boundaryRef.nativeElement, 'width', `${width}px`);\r\n this.renderer.setStyle(this.boundaryRef.nativeElement, 'height', `${height}px`);\r\n this.renderer.setStyle(this.imgRef.nativeElement, 'width', `${width}px`);\r\n this.renderer.setStyle(this.imgRef.nativeElement, 'height', `${height}px`);\r\n this.renderer.setStyle(this.imgClipRef.nativeElement, 'width', `${width}px`);\r\n this.renderer.setStyle(this.imgClipRef.nativeElement, 'height', `${height}px`);\r\n this.cutBox.width = width;\r\n this.cutBox.height = height;\r\n this.boundaryBox = { width, height };\r\n this.clipRect = {\r\n top: 0,\r\n right: width,\r\n bottom: height,\r\n left: 0\r\n };\r\n this.setOriginalSize();\r\n this.ready = true;\r\n this.cdr.detectChanges();\r\n\r\n const mouseDown = fromEvent<MouseEvent>(this.cutRef.nativeElement, 'mousedown').pipe(takeUntil(this._unSubject));\r\n\r\n mouseDown.subscribe((downMe: MouseEvent) => {\r\n let x = downMe.pageX;\r\n let y = downMe.pageY;\r\n let offsetX = 0;\r\n let offsetY = 0;\r\n const _unSub = new Subject<void>();\r\n let className = (downMe.target as HTMLDivElement).className;\r\n const spt = `${XUploadPortalPrefix}-cut-`;\r\n if (className.includes(spt)) {\r\n this.cutType = className.replace(spt, '') as XUploadCutType;\r\n this.cdr.detectChanges();\r\n }\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mousemove')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe((moveMe: MouseEvent) => {\r\n offsetX = moveMe.pageX - x;\r\n offsetY = moveMe.pageY - y;\r\n x = moveMe.pageX;\r\n y = moveMe.pageY;\r\n this.setCutEle(this.cutType, offsetX, offsetY);\r\n });\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mouseup')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe((x) => {\r\n this.cutType = '';\r\n this.cdr.detectChanges();\r\n _unSub.next();\r\n _unSub.complete();\r\n });\r\n });\r\n }\r\n\r\n setOriginalSize() {\r\n const img = new Image();\r\n img.src = this.file.url!;\r\n img.onload = () => {\r\n this.originalSize = { width: img.width, height: img.height };\r\n this.proportion = this.boundaryBox.width / this.originalSize.width;\r\n };\r\n }\r\n\r\n setCutEle(position: XUploadCutType, x: number, y: number) {\r\n switch (position) {\r\n case 'top-start':\r\n this.cutBox.width -= x;\r\n this.cutBox.height -= y;\r\n this.cutBox.x += x;\r\n this.cutBox.y += y;\r\n break;\r\n case 'top':\r\n this.cutBox.height -= y;\r\n this.cutBox.y += y;\r\n break;\r\n case 'top-end':\r\n this.cutBox.width += x;\r\n this.cutBox.height -= y;\r\n this.cutBox.y += y;\r\n break;\r\n case 'right':\r\n this.cutBox.width += x;\r\n break;\r\n case 'bottom-end':\r\n this.cutBox.width += x;\r\n this.cutBox.height += y;\r\n break;\r\n case 'bottom':\r\n this.cutBox.height += y;\r\n break;\r\n case 'bottom-start':\r\n this.cutBox.width -= x;\r\n this.cutBox.height += y;\r\n this.cutBox.x += x;\r\n break;\r\n case 'left':\r\n this.cutBox.width -= x;\r\n this.cutBox.x += x;\r\n break;\r\n case '':\r\n this.cutBox.x += x;\r\n this.cutBox.y += y;\r\n break;\r\n }\r\n const boundaryRect = this.boundaryRef.nativeElement.getBoundingClientRect();\r\n\r\n const maxY = boundaryRect.height - this.cutBox.height;\r\n const maxX = boundaryRect.width - this.cutBox.width;\r\n\r\n this.cutBox.x = XClamp(this.cutBox.x, 0, maxX);\r\n this.cutBox.y = XClamp(this.cutBox.y, 0, maxY);\r\n\r\n // const maxWidth = boundaryRect.height - this.cutBox.y;\r\n // const maxHeight = boundaryRect.width - this.cutBox.x;\r\n\r\n // this.cutBox.width = XClamp(this.cutBox.width, 0, maxWidth);\r\n // this.cutBox.height = XClamp(this.cutBox.width, 0, maxHeight);\r\n\r\n this.clipRect = {\r\n top: this.cutBox.y,\r\n right: this.cutBox.width + this.cutBox.x,\r\n bottom: this.cutBox.height + this.cutBox.y,\r\n left: this.cutBox.x\r\n };\r\n this.renderer.setStyle(\r\n this.imgClipRef.nativeElement,\r\n 'clip',\r\n `rect(${this.clipRect.top}px,${this.clipRect.right}px,${this.clipRect.bottom}px,${this.clipRect.left}px)`\r\n );\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'width', `${this.cutBox.width}px`);\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'height', `${this.cutBox.height}px`);\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'transform', `translate3d(${this.cutBox.x}px, ${this.cutBox.y}px, 0)`);\r\n }\r\n\r\n sure() {\r\n const canvas = this.doc.createElement('canvas');\r\n canvas.width = this.cutBox.width / this.proportion;\r\n canvas.height = this.cutBox.height / this.proportion;\r\n const context = canvas.getContext('2d')!;\r\n const img = new Image();\r\n img.src = this.file.url!;\r\n img.crossOrigin = 'anonymous';\r\n img.onload = () => {\r\n context.drawImage(img, -this.cutBox.x / this.proportion, -this.cutBox.y / this.proportion);\r\n canvas.toBlob((blob) => {\r\n this.surePortal(blob as Blob);\r\n this.closePortal();\r\n });\r\n };\r\n }\r\n}\r\n","<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n","import { HttpClient, HttpEventType, HttpRequest, HttpEvent } from '@angular/common/http';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { XUploadPrefix, XUploadNode, XUploadProperty, XUploadPortalPrefix } from './upload.property';\r\nimport { XIsTemplateRef } from '@ng-nest/ui/core';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { XI18nService, XI18nUpload } from '@ng-nest/ui/i18n';\r\nimport { XPortalOverlayRef, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XUploadPortalComponent } from './upload-portal.component';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XUploadPrefix}`,\r\n templateUrl: './upload.component.html',\r\n styleUrls: ['./upload.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XUploadComponent)]\r\n})\r\nexport class XUploadComponent extends XUploadProperty {\r\n @ViewChild('file', { static: true }) file!: ElementRef;\r\n files: XUploadNode[] = [];\r\n showUpload = false;\r\n uploadNodes: XUploadNode[] = [];\r\n locale: XI18nUpload = {};\r\n portal!: XPortalOverlayRef<XUploadPortalComponent>;\r\n\r\n get getText() {\r\n return this.text || this.locale.uploadText;\r\n }\r\n\r\n get isTemplateText() {\r\n return XIsTemplateRef(this.getText);\r\n }\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n writeValue(value: XUploadNode[]) {\r\n this.value = value;\r\n this.setFiles();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public http: HttpClient,\r\n public cdr: ChangeDetectorRef,\r\n public portalService: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.upload as XI18nUpload),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n if (this.type === 'img') this.accept = 'image/*';\r\n }\r\n\r\n ngOnDestory() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setFiles() {\r\n if (!Array.isArray(this.value)) return;\r\n if (this.type !== 'img') return;\r\n this.files = this.value.map((x) => {\r\n if (!x.state) x.state = 'success';\r\n return x;\r\n });\r\n }\r\n\r\n change(event: Event) {\r\n let input = event.target as HTMLInputElement;\r\n if (typeof input === 'undefined' || input.files?.length === 0) return;\r\n let files: XUploadNode[] = [];\r\n for (let i = 0; i < (input.files as FileList).length; i++) {\r\n let file: XUploadNode = (input.files as FileList).item(i) as XUploadNode;\r\n file.state = 'ready';\r\n files = [...files, file];\r\n }\r\n if (files.length > 0) this.showUpload = true;\r\n this.files = files;\r\n this.value = [];\r\n this.uploading();\r\n input.value = '';\r\n this.cdr.detectChanges();\r\n }\r\n\r\n remove(file: XUploadNode, index: number) {\r\n this.files.splice(index, 1);\r\n if (this.files.length === 0) this.file.nativeElement.value = '';\r\n this.showUpload = this.files.find((x) => x.state === 'ready') != null;\r\n this.removeClick.emit({ file: file, index: index });\r\n this.cdr.detectChanges();\r\n }\r\n\r\n uploadClick() {\r\n if (this.disabled) return;\r\n this.file.nativeElement.click();\r\n }\r\n\r\n uploading() {\r\n if (!this.action) return;\r\n let readyFiles = this.files.filter((x) => x.state === 'ready');\r\n readyFiles.forEach((x) => {\r\n this.uploadFile(x);\r\n });\r\n }\r\n\r\n uploadFile(file: XUploadNode, index = -1) {\r\n let formData = new FormData();\r\n formData.append('file', file);\r\n const req = new HttpRequest('POST', this.action as string, formData, {\r\n reportProgress: true,\r\n responseType: 'arraybuffer'\r\n });\r\n this.http\r\n .request(req)\r\n .pipe(\r\n map((event) =>\r\n this.getEventMessage(event, file, (body: BlobPart) => {\r\n let blob = new Blob([body]);\r\n let reader = new FileReader();\r\n reader.readAsText(blob, 'utf-8');\r\n reader.onload = () => {\r\n file.url = JSON.parse(reader.result as string)[0];\r\n if (index === -1) {\r\n this.value.push(file);\r\n } else {\r\n this.value[index] = file;\r\n this.files[index] = file;\r\n }\r\n this.cdr.detectChanges();\r\n };\r\n })\r\n )\r\n )\r\n .subscribe(\r\n () => {\r\n this.showUpload = this.files.find((y) => y.state === 'ready') != null;\r\n this.cdr.detectChanges();\r\n },\r\n () => {\r\n file.state = 'error';\r\n this.cdr.detectChanges();\r\n }\r\n );\r\n }\r\n\r\n getEventMessage(event: HttpEvent<any>, file: XUploadNode, fun: Function) {\r\n switch (event.type) {\r\n case HttpEventType.Sent:\r\n file.state = 'ready';\r\n return `开始上传文件`;\r\n case HttpEventType.UploadProgress:\r\n file.state = 'uploading';\r\n if (event.total) file.percent = Math.round((100 * event.loaded) / event.total);\r\n return `上传中`;\r\n case HttpEventType.Response:\r\n file.state = 'success';\r\n fun(event.body);\r\n return `文件上传完毕`;\r\n }\r\n return;\r\n }\r\n\r\n trackByItem(index: number, item: XUploadNode) {\r\n return `${item.name}-${item.lastModified}`;\r\n }\r\n\r\n onImgCut(file: XUploadNode, index: number) {\r\n this.portal = this.portalService.attach({\r\n content: XUploadPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: [XUploadPortalPrefix],\r\n hasBackdrop: true,\r\n positionStrategy: this.portalService.setPlace('center')\r\n }\r\n });\r\n this.setInstance(file, index);\r\n }\r\n\r\n setInstance(file: XUploadNode, index: number) {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n Object.assign(componentRef.instance, {\r\n file: file,\r\n closePortal: () => this.closePortal(),\r\n destroyPortal: () => this.destroyPortal(),\r\n surePortal: (blob: Blob) => {\r\n const fl = new File([blob], file.name, { type: blob.type }) as XUploadNode;\r\n fl.state = 'ready';\r\n this.uploadFile(fl, index);\r\n }\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\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.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 imgError(event: Event, file: XUploadNode) {\r\n file.state = 'error';\r\n this.cdr.detectChanges();\r\n }\r\n\r\n imgLoad(event: Event, file: XUploadNode) {\r\n file.state = 'success';\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #upload class=\"x-upload x-upload-{{ type }}\" [class.x-disabled]=\"disabled\">\r\n <input type=\"file\" #file (change)=\"change($event)\" [attr.accept]=\"accept\" [multiple]=\"multiple\" style=\"display: none\" />\r\n <div class=\"x-upload-buttons\" [class.x-upload-buttons-template]=\"isTemplateText\" (click)=\"uploadClick()\">\r\n <ng-container *xOutlet=\"getText\">\r\n <x-button icon=\"fto-upload\" [disabled]=\"disabled\" type=\"primary\">{{ getText }}</x-button>\r\n </ng-container>\r\n </div>\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'list'\">\r\n <ul class=\"x-upload-files\">\r\n <li *ngFor=\"let file of files; index as i; trackBy: trackByItem\">\r\n <a [href]=\"file.url\" target=\"_blank\" [title]=\"file.name\">\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <span class=\"x-upload-percent\" *ngSwitchCase=\"'uploading'\">{{ file.percent }}%</span>\r\n <x-icon class=\"x-upload-state success\" *ngSwitchCase=\"'success'\" type=\"fto-check\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n </ng-container>\r\n <x-button *ngIf=\"file.state !== 'uploading'\" icon=\"fto-x\" (click)=\"remove(file, i)\" onlyIcon closable></x-button>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'img'\">\r\n <div class=\"x-upload-img-item {{ file.state }}\" *ngFor=\"let file of files; index as i; trackBy: trackByItem\" [title]=\"file.name\">\r\n <div class=\"x-upload-img-inner\">\r\n <img [src]=\"file.url\" (load)=\"imgLoad($event, file)\" (error)=\"imgError($event, file)\" />\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span *ngIf=\"file.state == 'uploading'\">{{ file.percent }}%</span>\r\n </div>\r\n <div class=\"x-upload-img-btns\">\r\n <div class=\"x-upload-img-btns-inner\">\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n <a [href]=\"file.url\" target=\"_blank\" *ngSwitchCase=\"'success'\">\r\n <x-icon type=\"fto-eye\"></x-icon>\r\n </a>\r\n </ng-container>\r\n <x-icon *ngIf=\"imgCut && file.state === 'success'\" type=\"fto-crop\" (click)=\"onImgCut(file, i)\"></x-icon>\r\n <x-icon *ngIf=\"file.state !== 'uploading'\" type=\"fto-trash-2\" (click)=\"remove(file, i)\"></x-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XUploadComponent } from './upload.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XUploadProperty } from './upload.property';\r\nimport { XI18nModule } from '@ng-nest/ui/i18n';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XUploadPortalComponent } from './upload-portal.component';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty],\r\n exports: [XUploadComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DragDropModule,\r\n XPortalModule,\r\n XOutletModule,\r\n XButtonModule,\r\n XIconModule,\r\n XI18nModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XUploadModule {}\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-upload.js","sources":["../../../../lib/ng-nest/ui/upload/upload.property.ts","../../../../lib/ng-nest/ui/upload/upload-portal.component.ts","../../../../lib/ng-nest/ui/upload/upload-portal.component.html","../../../../lib/ng-nest/ui/upload/upload.component.ts","../../../../lib/ng-nest/ui/upload/upload.component.html","../../../../lib/ng-nest/ui/upload/upload.module.ts","../../../../lib/ng-nest/ui/upload/ng-nest-ui-upload.ts"],"sourcesContent":["import { XInputBoolean, XBoolean, XTemplate, XPosition, XCorner } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Upload\r\n * @selector x-upload\r\n * @decorator component\r\n */\r\nexport const XUploadPrefix = 'x-upload';\r\n\r\n/**\r\n * Upload Property\r\n */\r\n@Component({ template: '' })\r\nexport class XUploadProperty extends XControlValueAccessor<XUploadNode[]> {\r\n /**\r\n * @zh_CN 显示文字\r\n * @en_US Display text\r\n */\r\n @Input() text?: XTemplate;\r\n /**\r\n * @zh_CN 请求地址\r\n * @en_US Request address\r\n */\r\n @Input() action?: string;\r\n /**\r\n * @zh_CN 上传文件类型,与原生的 input file 组件一致\r\n * @en_US Upload file type, consistent with native input file component\r\n */\r\n @Input() accept?: string;\r\n /**\r\n * @zh_CN 文件显示类型\r\n * @en_US File display type\r\n */\r\n @Input() type: XUploadType = 'list';\r\n /**\r\n * @zh_CN 图片剪裁\r\n * @en_US Picture cropping\r\n */\r\n @Input() @XInputBoolean() imgCut?: XBoolean;\r\n /**\r\n * @zh_CN 多文件上传\r\n * @en_US Multiple file upload\r\n */\r\n @Input() @XInputBoolean() multiple?: XBoolean;\r\n /**\r\n * @zh_CN 删除按钮的事件\r\n * @en_US Delete button event\r\n */\r\n @Output() removeClick = new EventEmitter<{ file: XUploadNode; index: number }>();\r\n}\r\n\r\n/**\r\n * @zh_CN Upload 数据对象\r\n * @en_US Upload data object\r\n */\r\nexport interface XUploadNode extends File {\r\n /**\r\n * @zh_CN 地址\r\n * @en_US address\r\n */\r\n url?: string;\r\n /**\r\n * @zh_CN 状态\r\n * @en_US status\r\n */\r\n state?: XStateType;\r\n /**\r\n * @zh_CN 上传进度\r\n * @en_US Upload progress\r\n */\r\n percent?: number;\r\n}\r\n\r\n/**\r\n * @zh_CN 文件状态\r\n * @en_US File status\r\n */\r\nexport type XStateType = 'ready' | 'uploading' | 'success' | 'error';\r\n\r\n/**\r\n * @zh_CN 文件显示类型\r\n * @en_US File display type\r\n */\r\nexport type XUploadType = 'list' | 'img';\r\n\r\n/**\r\n * @zh_CN 剪裁的方位\r\n * @en_US Tailored orientation\r\n */\r\nexport type XUploadCutType = XPosition | XCorner | '';\r\n\r\n/**\r\n * Upload Portal\r\n * @selector x-upload-portal\r\n * @decorator component\r\n */\r\nexport const XUploadPortalPrefix = 'x-upload-portal';\r\n","import { DOCUMENT } from '@angular/common';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n ChangeDetectorRef,\r\n Inject\r\n} from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XClamp } from '@ng-nest/ui/core';\r\nimport { XUploadCutType, XUploadNode, XUploadPortalPrefix } from './upload.property';\r\n\r\n@Component({\r\n selector: `${XUploadPortalPrefix}`,\r\n templateUrl: './upload-portal.component.html',\r\n styleUrls: ['./upload-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XUploadPortalComponent {\r\n file!: XUploadNode;\r\n @ViewChild('imgRef') imgRef!: ElementRef;\r\n @ViewChild('imgClipRef') imgClipRef!: ElementRef;\r\n @ViewChild('boundaryRef') boundaryRef!: ElementRef;\r\n @ViewChild('cutRef') cutRef!: ElementRef;\r\n ready = false;\r\n cutType: XUploadCutType = '';\r\n proportion = 1;\r\n originalSize = {\r\n width: 0,\r\n height: 0\r\n };\r\n boundaryBox!: {\r\n width: 0;\r\n height: 0;\r\n };\r\n cutBox = {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0\r\n };\r\n clipRect!: {\r\n top: number;\r\n right: number;\r\n bottom: number;\r\n left: number;\r\n };\r\n\r\n doc: Document;\r\n\r\n closePortal!: () => void;\r\n destroyPortal!: () => void;\r\n surePortal!: (blob: Blob) => void;\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(private renderer: Renderer2, private cdr: ChangeDetectorRef, @Inject(DOCUMENT) document: any) {\r\n this.doc = document;\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngAfterViewInit() {\r\n this.setCut();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n }\r\n\r\n setCut() {\r\n let width = this.imgRef.nativeElement.clientWidth;\r\n let height = this.imgRef.nativeElement.clientHeight;\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'width', `${width}px`);\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'height', `${height}px`);\r\n this.renderer.setStyle(this.boundaryRef.nativeElement, 'width', `${width}px`);\r\n this.renderer.setStyle(this.boundaryRef.nativeElement, 'height', `${height}px`);\r\n this.renderer.setStyle(this.imgRef.nativeElement, 'width', `${width}px`);\r\n this.renderer.setStyle(this.imgRef.nativeElement, 'height', `${height}px`);\r\n this.renderer.setStyle(this.imgClipRef.nativeElement, 'width', `${width}px`);\r\n this.renderer.setStyle(this.imgClipRef.nativeElement, 'height', `${height}px`);\r\n this.cutBox.width = width;\r\n this.cutBox.height = height;\r\n this.boundaryBox = { width, height };\r\n this.clipRect = {\r\n top: 0,\r\n right: width,\r\n bottom: height,\r\n left: 0\r\n };\r\n this.setOriginalSize();\r\n this.ready = true;\r\n this.cdr.detectChanges();\r\n\r\n const mouseDown = fromEvent<MouseEvent>(this.cutRef.nativeElement, 'mousedown').pipe(takeUntil(this._unSubject));\r\n\r\n mouseDown.subscribe((downMe: MouseEvent) => {\r\n let x = downMe.pageX;\r\n let y = downMe.pageY;\r\n let offsetX = 0;\r\n let offsetY = 0;\r\n const _unSub = new Subject<void>();\r\n let className = (downMe.target as HTMLDivElement).className;\r\n const spt = `${XUploadPortalPrefix}-cut-`;\r\n if (className.includes(spt)) {\r\n this.cutType = className.replace(spt, '') as XUploadCutType;\r\n this.cdr.detectChanges();\r\n }\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mousemove')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe((moveMe: MouseEvent) => {\r\n offsetX = moveMe.pageX - x;\r\n offsetY = moveMe.pageY - y;\r\n x = moveMe.pageX;\r\n y = moveMe.pageY;\r\n this.setCutEle(this.cutType, offsetX, offsetY);\r\n });\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mouseup')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe(() => {\r\n this.cutType = '';\r\n this.cdr.detectChanges();\r\n _unSub.next();\r\n _unSub.complete();\r\n });\r\n });\r\n }\r\n\r\n setOriginalSize() {\r\n const img = new Image();\r\n img.src = this.file.url!;\r\n img.onload = () => {\r\n this.originalSize = { width: img.width, height: img.height };\r\n this.proportion = this.boundaryBox.width / this.originalSize.width;\r\n };\r\n }\r\n\r\n setCutEle(position: XUploadCutType, x: number, y: number) {\r\n switch (position) {\r\n case 'top-start':\r\n this.cutBox.width -= x;\r\n this.cutBox.height -= y;\r\n this.cutBox.x += x;\r\n this.cutBox.y += y;\r\n break;\r\n case 'top':\r\n this.cutBox.height -= y;\r\n this.cutBox.y += y;\r\n break;\r\n case 'top-end':\r\n this.cutBox.width += x;\r\n this.cutBox.height -= y;\r\n this.cutBox.y += y;\r\n break;\r\n case 'right':\r\n this.cutBox.width += x;\r\n break;\r\n case 'bottom-end':\r\n this.cutBox.width += x;\r\n this.cutBox.height += y;\r\n break;\r\n case 'bottom':\r\n this.cutBox.height += y;\r\n break;\r\n case 'bottom-start':\r\n this.cutBox.width -= x;\r\n this.cutBox.height += y;\r\n this.cutBox.x += x;\r\n break;\r\n case 'left':\r\n this.cutBox.width -= x;\r\n this.cutBox.x += x;\r\n break;\r\n case '':\r\n this.cutBox.x += x;\r\n this.cutBox.y += y;\r\n break;\r\n }\r\n const boundaryRect = this.boundaryRef.nativeElement.getBoundingClientRect();\r\n\r\n const maxY = boundaryRect.height - this.cutBox.height;\r\n const maxX = boundaryRect.width - this.cutBox.width;\r\n\r\n this.cutBox.x = XClamp(this.cutBox.x, 0, maxX);\r\n this.cutBox.y = XClamp(this.cutBox.y, 0, maxY);\r\n\r\n // const maxWidth = boundaryRect.height - this.cutBox.y;\r\n // const maxHeight = boundaryRect.width - this.cutBox.x;\r\n\r\n // this.cutBox.width = XClamp(this.cutBox.width, 0, maxWidth);\r\n // this.cutBox.height = XClamp(this.cutBox.width, 0, maxHeight);\r\n\r\n this.clipRect = {\r\n top: this.cutBox.y,\r\n right: this.cutBox.width + this.cutBox.x,\r\n bottom: this.cutBox.height + this.cutBox.y,\r\n left: this.cutBox.x\r\n };\r\n this.renderer.setStyle(\r\n this.imgClipRef.nativeElement,\r\n 'clip',\r\n `rect(${this.clipRect.top}px,${this.clipRect.right}px,${this.clipRect.bottom}px,${this.clipRect.left}px)`\r\n );\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'width', `${this.cutBox.width}px`);\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'height', `${this.cutBox.height}px`);\r\n this.renderer.setStyle(this.cutRef.nativeElement, 'transform', `translate3d(${this.cutBox.x}px, ${this.cutBox.y}px, 0)`);\r\n }\r\n\r\n sure() {\r\n const canvas = this.doc.createElement('canvas');\r\n canvas.width = this.cutBox.width / this.proportion;\r\n canvas.height = this.cutBox.height / this.proportion;\r\n const context = canvas.getContext('2d')!;\r\n const img = new Image();\r\n img.src = this.file.url!;\r\n img.crossOrigin = 'anonymous';\r\n img.onload = () => {\r\n context.drawImage(img, -this.cutBox.x / this.proportion, -this.cutBox.y / this.proportion);\r\n canvas.toBlob((blob) => {\r\n this.surePortal(blob as Blob);\r\n this.closePortal();\r\n });\r\n };\r\n }\r\n}\r\n","<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n","import { HttpClient, HttpEventType, HttpRequest, HttpEvent } from '@angular/common/http';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { XUploadPrefix, XUploadNode, XUploadProperty, XUploadPortalPrefix } from './upload.property';\r\nimport { XIsTemplateRef } from '@ng-nest/ui/core';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { XI18nService, XI18nUpload } from '@ng-nest/ui/i18n';\r\nimport { XPortalOverlayRef, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XUploadPortalComponent } from './upload-portal.component';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XUploadPrefix}`,\r\n templateUrl: './upload.component.html',\r\n styleUrls: ['./upload.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XUploadComponent)]\r\n})\r\nexport class XUploadComponent extends XUploadProperty {\r\n @ViewChild('file', { static: true }) file!: ElementRef;\r\n files: XUploadNode[] = [];\r\n showUpload = false;\r\n uploadNodes: XUploadNode[] = [];\r\n locale: XI18nUpload = {};\r\n portal!: XPortalOverlayRef<XUploadPortalComponent>;\r\n\r\n get getText() {\r\n return this.text || this.locale.uploadText;\r\n }\r\n\r\n get isTemplateText() {\r\n return XIsTemplateRef(this.getText);\r\n }\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n writeValue(value: XUploadNode[]) {\r\n this.value = value;\r\n this.setFiles();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public http: HttpClient,\r\n public cdr: ChangeDetectorRef,\r\n public portalService: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.upload as XI18nUpload),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n if (this.type === 'img') this.accept = 'image/*';\r\n }\r\n\r\n ngOnDestory() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setFiles() {\r\n if (!Array.isArray(this.value)) return;\r\n if (this.type !== 'img') return;\r\n this.files = this.value.map((x) => {\r\n if (!x.state) x.state = 'success';\r\n return x;\r\n });\r\n }\r\n\r\n change(event: Event) {\r\n let input = event.target as HTMLInputElement;\r\n if (typeof input === 'undefined' || input.files?.length === 0) return;\r\n let files: XUploadNode[] = [];\r\n for (let i = 0; i < (input.files as FileList).length; i++) {\r\n let file: XUploadNode = (input.files as FileList).item(i) as XUploadNode;\r\n file.state = 'ready';\r\n files = [...files, file];\r\n }\r\n if (files.length > 0) this.showUpload = true;\r\n this.files = files;\r\n this.value = [];\r\n this.uploading();\r\n input.value = '';\r\n this.cdr.detectChanges();\r\n }\r\n\r\n remove(file: XUploadNode, index: number) {\r\n this.files.splice(index, 1);\r\n if (this.files.length === 0) this.file.nativeElement.value = '';\r\n this.showUpload = this.files.find((x) => x.state === 'ready') != null;\r\n this.removeClick.emit({ file: file, index: index });\r\n this.cdr.detectChanges();\r\n }\r\n\r\n uploadClick() {\r\n if (this.disabled) return;\r\n this.file.nativeElement.click();\r\n }\r\n\r\n uploading() {\r\n if (!this.action) return;\r\n let readyFiles = this.files.filter((x) => x.state === 'ready');\r\n readyFiles.forEach((x) => {\r\n this.uploadFile(x);\r\n });\r\n }\r\n\r\n uploadFile(file: XUploadNode, index = -1) {\r\n let formData = new FormData();\r\n formData.append('file', file);\r\n const req = new HttpRequest('POST', this.action as string, formData, {\r\n reportProgress: true,\r\n responseType: 'arraybuffer'\r\n });\r\n this.http\r\n .request(req)\r\n .pipe(\r\n map((event) =>\r\n this.getEventMessage(event, file, (body: BlobPart) => {\r\n let blob = new Blob([body]);\r\n let reader = new FileReader();\r\n reader.readAsText(blob, 'utf-8');\r\n reader.onload = () => {\r\n file.url = JSON.parse(reader.result as string)[0];\r\n if (index === -1) {\r\n this.value.push(file);\r\n } else {\r\n this.value[index] = file;\r\n this.files[index] = file;\r\n }\r\n this.cdr.detectChanges();\r\n };\r\n })\r\n )\r\n )\r\n .subscribe(\r\n () => {\r\n this.showUpload = this.files.find((y) => y.state === 'ready') != null;\r\n this.cdr.detectChanges();\r\n },\r\n () => {\r\n file.state = 'error';\r\n this.cdr.detectChanges();\r\n }\r\n );\r\n }\r\n\r\n getEventMessage(event: HttpEvent<any>, file: XUploadNode, fun: Function) {\r\n switch (event.type) {\r\n case HttpEventType.Sent:\r\n file.state = 'ready';\r\n return `开始上传文件`;\r\n case HttpEventType.UploadProgress:\r\n file.state = 'uploading';\r\n if (event.total) file.percent = Math.round((100 * event.loaded) / event.total);\r\n return `上传中`;\r\n case HttpEventType.Response:\r\n file.state = 'success';\r\n fun(event.body);\r\n return `文件上传完毕`;\r\n }\r\n return;\r\n }\r\n\r\n trackByItem(_index: number, item: XUploadNode) {\r\n return `${item.name}-${item.lastModified}`;\r\n }\r\n\r\n onImgCut(file: XUploadNode, index: number) {\r\n this.portal = this.portalService.attach({\r\n content: XUploadPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: [XUploadPortalPrefix],\r\n hasBackdrop: true,\r\n positionStrategy: this.portalService.setPlace('center')\r\n }\r\n });\r\n this.setInstance(file, index);\r\n }\r\n\r\n setInstance(file: XUploadNode, index: number) {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n Object.assign(componentRef.instance, {\r\n file: file,\r\n closePortal: () => this.closePortal(),\r\n destroyPortal: () => this.destroyPortal(),\r\n surePortal: (blob: Blob) => {\r\n const fl = new File([blob], file.name, { type: blob.type }) as XUploadNode;\r\n fl.state = 'ready';\r\n this.uploadFile(fl, index);\r\n }\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\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.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 imgError(event: ErrorEvent, file: XUploadNode) {\r\n file.state = 'error';\r\n console.error(event.error);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n imgLoad(file: XUploadNode) {\r\n file.state = 'success';\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #upload class=\"x-upload x-upload-{{ type }}\" [class.x-disabled]=\"disabled\">\r\n <input type=\"file\" #file (change)=\"change($event)\" [attr.accept]=\"accept\" [multiple]=\"multiple\" style=\"display: none\" />\r\n <div class=\"x-upload-buttons\" [class.x-upload-buttons-template]=\"isTemplateText\" (click)=\"uploadClick()\">\r\n <ng-container *xOutlet=\"getText\">\r\n <x-button icon=\"fto-upload\" [disabled]=\"disabled\" type=\"primary\">{{ getText }}</x-button>\r\n </ng-container>\r\n </div>\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'list'\">\r\n <ul class=\"x-upload-files\">\r\n <li *ngFor=\"let file of files; index as i; trackBy: trackByItem\">\r\n <a [href]=\"file.url\" target=\"_blank\" [title]=\"file.name\">\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <span class=\"x-upload-percent\" *ngSwitchCase=\"'uploading'\">{{ file.percent }}%</span>\r\n <x-icon class=\"x-upload-state success\" *ngSwitchCase=\"'success'\" type=\"fto-check\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n </ng-container>\r\n <x-button *ngIf=\"file.state !== 'uploading'\" icon=\"fto-x\" (click)=\"remove(file, i)\" onlyIcon closable></x-button>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'img'\">\r\n <div class=\"x-upload-img-item {{ file.state }}\" *ngFor=\"let file of files; index as i; trackBy: trackByItem\" [title]=\"file.name\">\r\n <div class=\"x-upload-img-inner\">\r\n <img [src]=\"file.url\" (load)=\"imgLoad(file)\" (error)=\"imgError($event, file)\" />\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span *ngIf=\"file.state == 'uploading'\">{{ file.percent }}%</span>\r\n </div>\r\n <div class=\"x-upload-img-btns\">\r\n <div class=\"x-upload-img-btns-inner\">\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n <a [href]=\"file.url\" target=\"_blank\" *ngSwitchCase=\"'success'\">\r\n <x-icon type=\"fto-eye\"></x-icon>\r\n </a>\r\n </ng-container>\r\n <x-icon *ngIf=\"imgCut && file.state === 'success'\" type=\"fto-crop\" (click)=\"onImgCut(file, i)\"></x-icon>\r\n <x-icon *ngIf=\"file.state !== 'uploading'\" type=\"fto-trash-2\" (click)=\"remove(file, i)\"></x-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XUploadComponent } from './upload.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XUploadProperty } from './upload.property';\r\nimport { XI18nModule } from '@ng-nest/ui/i18n';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XUploadPortalComponent } from './upload-portal.component';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\n\r\n@NgModule({\r\n declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty],\r\n exports: [XUploadComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DragDropModule,\r\n XPortalModule,\r\n XOutletModule,\r\n XButtonModule,\r\n XIconModule,\r\n XI18nModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XUploadModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/find/find.component.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ export declare class XFindComponent extends XFindProperty implements OnInit {
|
|
|
54
54
|
treeMultiple(node: XTreeNode): void;
|
|
55
55
|
treeActivatedClick(node: XTreeNode): void;
|
|
56
56
|
treeCheckboxChange(node: XTreeNode): void;
|
|
57
|
-
trackByItem(
|
|
57
|
+
trackByItem(_index: number, item: any): any;
|
|
58
58
|
formControlChanges(): void;
|
|
59
59
|
searchKeyDown(event: KeyboardEvent): void;
|
|
60
60
|
searchClick(): void;
|
package/find/find.property.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XBoolean, XData, XNumber, XSort, XQuery, XFilter } from '@ng-nest/ui/core';
|
|
1
|
+
import { XBoolean, XData, XNumber, XSort, XQuery, XFilter, XSize } from '@ng-nest/ui/core';
|
|
2
2
|
import { EventEmitter } from '@angular/core';
|
|
3
3
|
import { XTableColumn, XTableRow } from '@ng-nest/ui/table';
|
|
4
4
|
import { XTreeNode } from '@ng-nest/ui/tree';
|
|
@@ -18,6 +18,16 @@ export interface XFindSearchOption extends XFilter {
|
|
|
18
18
|
* Find Property
|
|
19
19
|
*/
|
|
20
20
|
export declare class XFindProperty extends XControlValueAccessor<any | any[]> implements XFindOption {
|
|
21
|
+
/**
|
|
22
|
+
* @zh_CN 尺寸
|
|
23
|
+
* @en_US Size
|
|
24
|
+
*/
|
|
25
|
+
size: XSize;
|
|
26
|
+
/**
|
|
27
|
+
* @zh_CN 显示边框
|
|
28
|
+
* @en_US Display Border
|
|
29
|
+
*/
|
|
30
|
+
bordered: XBoolean;
|
|
21
31
|
/**
|
|
22
32
|
* @zh_CN 多选
|
|
23
33
|
* @en_US Multiple choice
|
|
@@ -201,13 +211,23 @@ export declare class XFindProperty extends XControlValueAccessor<any | any[]> im
|
|
|
201
211
|
*/
|
|
202
212
|
search: XFindSearchOption;
|
|
203
213
|
static ɵfac: i0.ɵɵFactoryDeclaration<XFindProperty, never>;
|
|
204
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<XFindProperty, "ng-component", never, { "multiple": "multiple"; "columnLabel": "columnLabel"; "dialogTitle": "dialogTitle"; "dialogWidth": "dialogWidth"; "dialogHeight": "dialogHeight"; "dialogVisible": "dialogVisible"; "dialogButtonsCenter": "dialogButtonsCenter"; "tableData": "tableData"; "tableIndex": "tableIndex"; "tableSize": "tableSize"; "tableQuery": "tableQuery"; "tableTotal": "tableTotal"; "tableColumns": "tableColumns"; "tableActivatedRow": "tableActivatedRow"; "tableCheckedRow": "tableCheckedRow"; "tableLoading": "tableLoading"; "tableVirtualScroll": "tableVirtualScroll"; "tableBodyHeight": "tableBodyHeight"; "tableMinBufferPx": "tableMinBufferPx"; "tableMaxBufferPx": "tableMaxBufferPx"; "tableAdaptionHeight": "tableAdaptionHeight"; "tableDocPercent": "tableDocPercent"; "tableRowHeight": "tableRowHeight"; "treeData": "treeData"; "treeActivatedId": "treeActivatedId"; "treeExpandedLevel": "treeExpandedLevel"; "treeChecked": "treeChecked"; "treeCheckbox": "treeCheckbox"; "treeTableConnect": "treeTableConnect"; "search": "search"; }, { "dialogVisibleChange": "dialogVisibleChange"; "tableIndexChange": "tableIndexChange"; "tableSizeChange": "tableSizeChange"; "tableSortChange": "tableSortChange"; "tableRowEmit": "tableRowEmit"; "treeActivatedChange": "treeActivatedChange"; }, never, never>;
|
|
214
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<XFindProperty, "ng-component", never, { "size": "size"; "bordered": "bordered"; "multiple": "multiple"; "columnLabel": "columnLabel"; "dialogTitle": "dialogTitle"; "dialogWidth": "dialogWidth"; "dialogHeight": "dialogHeight"; "dialogVisible": "dialogVisible"; "dialogButtonsCenter": "dialogButtonsCenter"; "tableData": "tableData"; "tableIndex": "tableIndex"; "tableSize": "tableSize"; "tableQuery": "tableQuery"; "tableTotal": "tableTotal"; "tableColumns": "tableColumns"; "tableActivatedRow": "tableActivatedRow"; "tableCheckedRow": "tableCheckedRow"; "tableLoading": "tableLoading"; "tableVirtualScroll": "tableVirtualScroll"; "tableBodyHeight": "tableBodyHeight"; "tableMinBufferPx": "tableMinBufferPx"; "tableMaxBufferPx": "tableMaxBufferPx"; "tableAdaptionHeight": "tableAdaptionHeight"; "tableDocPercent": "tableDocPercent"; "tableRowHeight": "tableRowHeight"; "treeData": "treeData"; "treeActivatedId": "treeActivatedId"; "treeExpandedLevel": "treeExpandedLevel"; "treeChecked": "treeChecked"; "treeCheckbox": "treeCheckbox"; "treeTableConnect": "treeTableConnect"; "search": "search"; }, { "dialogVisibleChange": "dialogVisibleChange"; "tableIndexChange": "tableIndexChange"; "tableSizeChange": "tableSizeChange"; "tableSortChange": "tableSortChange"; "tableRowEmit": "tableRowEmit"; "treeActivatedChange": "treeActivatedChange"; }, never, never>;
|
|
205
215
|
}
|
|
206
216
|
/**
|
|
207
217
|
* Find Option
|
|
208
218
|
* @undocument true
|
|
209
219
|
*/
|
|
210
220
|
export interface XFindOption extends XFormOption {
|
|
221
|
+
/**
|
|
222
|
+
* @zh_CN 尺寸
|
|
223
|
+
* @en_US Size
|
|
224
|
+
*/
|
|
225
|
+
size?: XSize;
|
|
226
|
+
/**
|
|
227
|
+
* @zh_CN 显示边框
|
|
228
|
+
* @en_US Display Border
|
|
229
|
+
*/
|
|
230
|
+
bordered?: XBoolean;
|
|
211
231
|
/**
|
|
212
232
|
* @zh_CN 多选
|
|
213
233
|
* @en_US Multiple select
|
|
@@ -23,7 +23,7 @@ export declare class XControlComponent extends XControlProperty implements OnIni
|
|
|
23
23
|
setProps(): void;
|
|
24
24
|
setPattern(): void;
|
|
25
25
|
getPatternMsg(pattern: string): any;
|
|
26
|
-
setMessages(state: 'INVALID' | '
|
|
26
|
+
setMessages(state: 'VALID' | 'INVALID' | 'PENDING' | 'DISABLED'): void;
|
|
27
27
|
createControl(option: XFormControlOption): XInputControl | XSelectControl | XCascadeControl | XCheckboxControl | XColorPickerControl | XDatePickerControl | XInputNumberControl | XRadioControl | XRateControl | XSliderSelectControl | XSwitchControl | XTimePickerControl | XTextareaControl | XFindControl | XAutoCompleteControl;
|
|
28
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<XControlComponent, never>;
|
|
29
29
|
static ɵcmp: i0.ɵɵComponentDeclaration<XControlComponent, "x-control", never, { "option": "option"; "form": "form"; }, {}, never, never>;
|
package/form/form.component.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export declare class XFormComponent extends XFormProperty implements OnInit {
|
|
|
20
20
|
setClassMap(): void;
|
|
21
21
|
setDisabled(): void;
|
|
22
22
|
getValidatorMessages(): string[];
|
|
23
|
-
trackByControl(
|
|
23
|
+
trackByControl(_index: number, item: XFormControlOption): any;
|
|
24
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<XFormComponent, never>;
|
|
25
25
|
static ɵcmp: i0.ɵɵComponentDeclaration<XFormComponent, "x-form", never, {}, {}, never, never>;
|
|
26
26
|
}
|
package/form/form.property.d.ts
CHANGED
|
@@ -70,18 +70,13 @@ export declare class XFormProperty extends XFormProp {
|
|
|
70
70
|
* @en_US Form width
|
|
71
71
|
*/
|
|
72
72
|
width: string;
|
|
73
|
-
/**
|
|
74
|
-
* @zh_CN 表单禁用
|
|
75
|
-
* @en_US Form disabled
|
|
76
|
-
*/
|
|
77
|
-
disabled: XBoolean;
|
|
78
73
|
/**
|
|
79
74
|
* @zh_CN 自定义模板
|
|
80
75
|
* @en_US Custom template
|
|
81
76
|
*/
|
|
82
77
|
controlTpl: XFormTemplate;
|
|
83
78
|
static ɵfac: i0.ɵɵFactoryDeclaration<XFormProperty, never>;
|
|
84
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<XFormProperty, "ng-component", never, { "formGroup": "formGroup"; "title": "title"; "space": "space"; "span": "span"; "labelSuffix": "labelSuffix"; "controls": "controls"; "width": "width"; "
|
|
79
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<XFormProperty, "ng-component", never, { "formGroup": "formGroup"; "title": "title"; "space": "space"; "span": "span"; "labelSuffix": "labelSuffix"; "controls": "controls"; "width": "width"; "controlTpl": "controlTpl"; }, {}, never, never>;
|
|
85
80
|
}
|
|
86
81
|
/**
|
|
87
82
|
* @zh_CN 控件对象
|
|
@@ -199,6 +194,11 @@ export declare class XControl extends XIdentity implements XControlOption {
|
|
|
199
194
|
* @en_US External change event
|
|
200
195
|
*/
|
|
201
196
|
change?: () => void;
|
|
197
|
+
/**
|
|
198
|
+
* @zh_CN 设置验证
|
|
199
|
+
* @en_US Set verification
|
|
200
|
+
*/
|
|
201
|
+
setValidators?: () => void;
|
|
202
202
|
/**
|
|
203
203
|
* @zh_CN 自定义属性
|
|
204
204
|
* @en_US Custom attributes
|
package/i18n/i18n.property.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -42,6 +42,7 @@ declare const _default: {
|
|
|
42
42
|
december: string;
|
|
43
43
|
};
|
|
44
44
|
datePicker: {
|
|
45
|
+
sure: string;
|
|
45
46
|
month: string;
|
|
46
47
|
year: string;
|
|
47
48
|
january: string;
|
|
@@ -63,6 +64,9 @@ declare const _default: {
|
|
|
63
64
|
friday: string;
|
|
64
65
|
saturday: string;
|
|
65
66
|
sunday: string;
|
|
67
|
+
yesterday: string;
|
|
68
|
+
today: string;
|
|
69
|
+
tomorrow: string;
|
|
66
70
|
};
|
|
67
71
|
empty: {
|
|
68
72
|
noData: string;
|
|
@@ -72,6 +76,10 @@ declare const _default: {
|
|
|
72
76
|
next: string;
|
|
73
77
|
total: string;
|
|
74
78
|
item: string;
|
|
79
|
+
first: string;
|
|
80
|
+
last: string;
|
|
81
|
+
jump: string;
|
|
82
|
+
sizePage: string;
|
|
75
83
|
};
|
|
76
84
|
textRetract: {
|
|
77
85
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|
|
@@ -41,6 +41,7 @@ declare const _default: {
|
|
|
41
41
|
december: string;
|
|
42
42
|
};
|
|
43
43
|
datePicker: {
|
|
44
|
+
sure: string;
|
|
44
45
|
month: string;
|
|
45
46
|
year: string;
|
|
46
47
|
january: string;
|
|
@@ -62,6 +63,9 @@ declare const _default: {
|
|
|
62
63
|
friday: string;
|
|
63
64
|
saturday: string;
|
|
64
65
|
sunday: string;
|
|
66
|
+
yesterday: string;
|
|
67
|
+
today: string;
|
|
68
|
+
tomorrow: string;
|
|
65
69
|
};
|
|
66
70
|
empty: {
|
|
67
71
|
noData: string;
|
|
@@ -71,6 +75,10 @@ declare const _default: {
|
|
|
71
75
|
next: string;
|
|
72
76
|
total: string;
|
|
73
77
|
item: string;
|
|
78
|
+
first: string;
|
|
79
|
+
last: string;
|
|
80
|
+
jump: string;
|
|
81
|
+
sizePage: string;
|
|
74
82
|
};
|
|
75
83
|
textRetract: {
|
|
76
84
|
unfold: string;
|