@ng-nest/ui 11.2.9 → 11.2.13
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/affix/affix.property.d.ts +2 -2
- package/alert/alert.property.d.ts +22 -12
- package/alert/ng-nest-ui-alert.metadata.json +1 -1
- package/auto-complete/auto-complete.property.d.ts +3 -3
- package/avatar/avatar.property.d.ts +6 -6
- package/back-top/back-top.property.d.ts +4 -4
- package/badge/badge.property.d.ts +3 -3
- package/base-form/base-form.component.d.ts +1 -1
- package/base-form/base-form.property.d.ts +10 -10
- package/border/ng-nest-ui-border.metadata.json +1 -1
- package/bundles/ng-nest-ui-affix.umd.js +10 -4
- package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
- package/bundles/ng-nest-ui-affix.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-alert.umd.js +26 -12
- package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
- package/bundles/ng-nest-ui-alert.umd.min.js +2 -2
- package/bundles/ng-nest-ui-alert.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-anchor.umd.js +10 -4
- package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
- package/bundles/ng-nest-ui-anchor.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-auto-complete.umd.js +15 -8
- package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
- package/bundles/ng-nest-ui-auto-complete.umd.min.js +2 -2
- package/bundles/ng-nest-ui-auto-complete.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-avatar.umd.js +10 -4
- package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-avatar.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-back-top.umd.js +10 -4
- package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
- package/bundles/ng-nest-ui-back-top.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-badge.umd.js +10 -4
- package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
- package/bundles/ng-nest-ui-badge.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-base-form.umd.js +10 -4
- package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-base-form.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-border.umd.js +1 -1
- package/bundles/ng-nest-ui-border.umd.js.map +1 -1
- package/bundles/ng-nest-ui-border.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-button.umd.js +11 -5
- package/bundles/ng-nest-ui-button.umd.js.map +1 -1
- package/bundles/ng-nest-ui-button.umd.min.js +1 -1
- package/bundles/ng-nest-ui-button.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-calendar.umd.js +16 -6
- package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-calendar.umd.min.js +1 -1
- package/bundles/ng-nest-ui-calendar.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-card.umd.js +10 -4
- package/bundles/ng-nest-ui-card.umd.js.map +1 -1
- package/bundles/ng-nest-ui-card.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-carousel.umd.js +10 -4
- package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
- package/bundles/ng-nest-ui-carousel.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-cascade.umd.js +10 -4
- package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
- package/bundles/ng-nest-ui-cascade.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-checkbox.umd.js +16 -9
- package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
- package/bundles/ng-nest-ui-checkbox.umd.min.js +2 -2
- package/bundles/ng-nest-ui-checkbox.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-collapse.umd.js +10 -4
- package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
- package/bundles/ng-nest-ui-collapse.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-color-picker.umd.js +10 -4
- package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color-picker.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-color.umd.js +10 -4
- package/bundles/ng-nest-ui-color.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-comment.umd.js +16 -6
- package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
- package/bundles/ng-nest-ui-comment.umd.min.js +2 -2
- package/bundles/ng-nest-ui-comment.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-container.umd.js +10 -4
- package/bundles/ng-nest-ui-container.umd.js.map +1 -1
- package/bundles/ng-nest-ui-container.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-core.umd.js +30 -8
- package/bundles/ng-nest-ui-core.umd.js.map +1 -1
- package/bundles/ng-nest-ui-core.umd.min.js +2 -2
- package/bundles/ng-nest-ui-core.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-crumb.umd.js +10 -4
- package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
- package/bundles/ng-nest-ui-crumb.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-date-picker.umd.js +16 -7
- package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-date-picker.umd.min.js +1 -1
- package/bundles/ng-nest-ui-date-picker.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-dialog.umd.js +25 -12
- package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dialog.umd.min.js +2 -2
- package/bundles/ng-nest-ui-dialog.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-drawer.umd.js +10 -4
- package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-drawer.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-dropdown.umd.js +10 -4
- package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dropdown.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-empty.umd.js +10 -4
- package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
- package/bundles/ng-nest-ui-empty.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-find.umd.js +79 -12
- package/bundles/ng-nest-ui-find.umd.js.map +1 -1
- package/bundles/ng-nest-ui-find.umd.min.js +2 -2
- package/bundles/ng-nest-ui-find.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-form.umd.js +16 -9
- package/bundles/ng-nest-ui-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-form.umd.min.js +1 -1
- package/bundles/ng-nest-ui-form.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-highlight.umd.js +10 -4
- package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
- package/bundles/ng-nest-ui-highlight.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-i18n.umd.js +1 -1
- package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
- package/bundles/ng-nest-ui-i18n.umd.min.js +1 -1
- package/bundles/ng-nest-ui-i18n.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-icon.umd.js +10 -4
- package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
- package/bundles/ng-nest-ui-icon.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-inner.umd.js +10 -4
- package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
- package/bundles/ng-nest-ui-inner.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-input-number.umd.js +10 -4
- package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input-number.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-input.umd.js +10 -4
- package/bundles/ng-nest-ui-input.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-layout.umd.js +10 -4
- package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
- package/bundles/ng-nest-ui-layout.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-link.umd.js +10 -4
- package/bundles/ng-nest-ui-link.umd.js.map +1 -1
- package/bundles/ng-nest-ui-link.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-list.umd.js +10 -4
- package/bundles/ng-nest-ui-list.umd.js.map +1 -1
- package/bundles/ng-nest-ui-list.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-loading.umd.js +10 -4
- package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
- package/bundles/ng-nest-ui-loading.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-menu.umd.js +22 -11
- package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
- package/bundles/ng-nest-ui-menu.umd.min.js +2 -2
- package/bundles/ng-nest-ui-menu.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-message-box.umd.js +37 -10
- package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message-box.umd.min.js +1 -1
- package/bundles/ng-nest-ui-message-box.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-message.umd.js +10 -4
- package/bundles/ng-nest-ui-message.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-notification.umd.js +10 -4
- package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
- package/bundles/ng-nest-ui-notification.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-outlet.umd.js +10 -4
- package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
- package/bundles/ng-nest-ui-outlet.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-page-header.umd.js +10 -4
- package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
- package/bundles/ng-nest-ui-page-header.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-pagination.umd.js +10 -4
- package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
- package/bundles/ng-nest-ui-pagination.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-popconfirm.umd.js +11 -5
- package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popconfirm.umd.min.js +2 -2
- package/bundles/ng-nest-ui-popconfirm.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-popover.umd.js +10 -4
- package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popover.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-portal.umd.js +10 -4
- package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
- package/bundles/ng-nest-ui-portal.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-progress.umd.js +10 -4
- package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
- package/bundles/ng-nest-ui-progress.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-radio.umd.js +11 -5
- package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
- package/bundles/ng-nest-ui-radio.umd.min.js +1 -1
- package/bundles/ng-nest-ui-radio.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-rate.umd.js +10 -4
- package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
- package/bundles/ng-nest-ui-rate.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-result.umd.js +18 -5
- package/bundles/ng-nest-ui-result.umd.js.map +1 -1
- package/bundles/ng-nest-ui-result.umd.min.js +1 -1
- package/bundles/ng-nest-ui-result.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-ripple.umd.js +11 -5
- package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
- package/bundles/ng-nest-ui-ripple.umd.min.js +2 -2
- package/bundles/ng-nest-ui-ripple.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-select.umd.js +12 -6
- package/bundles/ng-nest-ui-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-select.umd.min.js +1 -1
- package/bundles/ng-nest-ui-select.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-skeleton.umd.js +11 -5
- package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
- package/bundles/ng-nest-ui-skeleton.umd.min.js +1 -1
- package/bundles/ng-nest-ui-skeleton.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-slider-select.umd.js +10 -4
- package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider-select.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-slider.umd.js +10 -4
- package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-statistic.umd.js +10 -4
- package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
- package/bundles/ng-nest-ui-statistic.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-steps.umd.js +10 -4
- package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
- package/bundles/ng-nest-ui-steps.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-switch.umd.js +10 -4
- package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
- package/bundles/ng-nest-ui-switch.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-table.umd.js +78 -26
- package/bundles/ng-nest-ui-table.umd.js.map +1 -1
- package/bundles/ng-nest-ui-table.umd.min.js +2 -2
- package/bundles/ng-nest-ui-table.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-tabs.umd.js +12 -6
- package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tabs.umd.min.js +1 -1
- package/bundles/ng-nest-ui-tabs.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-tag.umd.js +10 -4
- package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tag.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-text-retract.umd.js +10 -4
- package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
- package/bundles/ng-nest-ui-text-retract.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-textarea.umd.js +10 -4
- package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
- package/bundles/ng-nest-ui-textarea.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-theme.umd.js +10 -4
- package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
- package/bundles/ng-nest-ui-theme.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-time-ago.umd.js +2 -0
- package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-ago.umd.min.js +1 -1
- package/bundles/ng-nest-ui-time-ago.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-time-picker.umd.js +10 -4
- package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-picker.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-time-range.umd.js +10 -4
- package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-range.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-timeline.umd.js +10 -4
- package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
- package/bundles/ng-nest-ui-timeline.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-tooltip.umd.js +10 -4
- package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tooltip.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-transfer.umd.js +14 -7
- package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-transfer.umd.min.js +1 -1
- package/bundles/ng-nest-ui-transfer.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-tree-file.umd.js +27 -5
- package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree-file.umd.min.js +1 -1
- package/bundles/ng-nest-ui-tree-file.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-tree.umd.js +27 -14
- package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree.umd.min.js +1 -1
- package/bundles/ng-nest-ui-tree.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-typography.umd.js +11 -6
- package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
- package/bundles/ng-nest-ui-typography.umd.min.js +1 -1
- package/bundles/ng-nest-ui-typography.umd.min.js.map +1 -1
- package/bundles/ng-nest-ui-upload.umd.js +10 -4
- package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
- package/bundles/ng-nest-ui-upload.umd.min.js.map +1 -1
- package/button/button.property.d.ts +14 -14
- package/button/buttons.component.d.ts +2 -2
- package/button/ng-nest-ui-button.metadata.json +1 -1
- package/calendar/calendar.property.d.ts +1 -1
- package/card/card.property.d.ts +1 -1
- package/carousel/carousel.property.d.ts +7 -7
- package/cascade/cascade.property.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +1 -0
- package/checkbox/checkbox.property.d.ts +4 -4
- package/checkbox/ng-nest-ui-checkbox.metadata.json +1 -1
- package/collapse/collapse.property.d.ts +3 -3
- package/color/color.property.d.ts +2 -2
- package/color-picker/color-picker.property.d.ts +1 -1
- package/comment/comment.component.d.ts +1 -0
- package/comment/comment.property.d.ts +1 -1
- package/comment/ng-nest-ui-comment.metadata.json +1 -1
- package/container/aside.component.d.ts +1 -1
- package/container/container.property.d.ts +3 -3
- package/container/header.component.d.ts +1 -1
- package/core/config/config.d.ts +7 -0
- package/core/ng-nest-ui-core.metadata.json +1 -1
- package/core/util/html.d.ts +4 -0
- package/core/util/public-api.d.ts +1 -0
- package/core/util/resize.d.ts +1 -1
- package/crumb/crumb.property.d.ts +2 -2
- package/date-picker/date-picker.property.d.ts +8 -8
- package/date-picker/ng-nest-ui-date-picker.metadata.json +1 -1
- package/date-picker/picker-date.component.d.ts +3 -2
- package/dialog/dialog.property.d.ts +16 -6
- package/dialog/ng-nest-ui-dialog.metadata.json +1 -1
- package/drawer/drawer.property.d.ts +3 -3
- package/dropdown/dropdown.property.d.ts +4 -4
- package/esm2015/affix/affix.property.js +1 -1
- package/esm2015/alert/alert.component.js +5 -4
- package/esm2015/alert/alert.module.js +3 -2
- package/esm2015/alert/alert.property.js +8 -1
- package/esm2015/anchor/anchor.component.js +1 -1
- package/esm2015/anchor/anchor.property.js +1 -1
- package/esm2015/auto-complete/auto-complete-portal.component.js +1 -1
- package/esm2015/auto-complete/auto-complete.component.js +6 -5
- package/esm2015/auto-complete/auto-complete.property.js +1 -1
- package/esm2015/avatar/avatar.property.js +1 -1
- package/esm2015/back-top/back-top.component.js +1 -1
- package/esm2015/back-top/back-top.property.js +1 -1
- package/esm2015/badge/badge.property.js +1 -1
- package/esm2015/base-form/base-form.component.js +1 -1
- package/esm2015/base-form/base-form.property.js +1 -1
- package/esm2015/border/border.component.js +2 -2
- package/esm2015/button/button.property.js +1 -1
- package/esm2015/button/buttons.component.js +1 -1
- package/esm2015/calendar/calendar.component.js +7 -3
- package/esm2015/calendar/calendar.property.js +1 -1
- package/esm2015/card/card.property.js +1 -1
- package/esm2015/carousel/carousel-panel.component.js +1 -1
- package/esm2015/carousel/carousel.component.js +1 -1
- package/esm2015/carousel/carousel.property.js +1 -1
- package/esm2015/cascade/cascade-portal.component.js +1 -1
- package/esm2015/cascade/cascade.component.js +1 -1
- package/esm2015/cascade/cascade.property.js +1 -1
- package/esm2015/checkbox/checkbox.component.js +7 -6
- package/esm2015/checkbox/checkbox.property.js +1 -1
- package/esm2015/collapse/collapse-panel.component.js +1 -1
- package/esm2015/collapse/collapse.property.js +1 -1
- package/esm2015/color/color.component.js +1 -1
- package/esm2015/color/color.property.js +1 -1
- package/esm2015/color-picker/color-picker-portal.component.js +1 -1
- package/esm2015/color-picker/color-picker.component.js +1 -1
- package/esm2015/color-picker/color-picker.property.js +1 -1
- package/esm2015/comment/comment-reply.component.js +1 -1
- package/esm2015/comment/comment.component.js +6 -2
- package/esm2015/comment/comment.property.js +2 -2
- package/esm2015/container/container.property.js +1 -1
- package/esm2015/core/config/config.js +1 -1
- package/esm2015/core/config/config.service.js +1 -1
- package/esm2015/core/theme/theme.service.js +1 -1
- package/esm2015/core/util/html.js +11 -0
- package/esm2015/core/util/public-api.js +2 -1
- package/esm2015/core/util/resize.js +2 -2
- package/esm2015/crumb/crumb.property.js +1 -1
- package/esm2015/date-picker/date-picker-portal.component.js +1 -1
- package/esm2015/date-picker/date-picker.component.js +1 -1
- package/esm2015/date-picker/date-picker.property.js +1 -1
- package/esm2015/date-picker/picker-date.component.js +6 -3
- package/esm2015/date-picker/picker-month.component.js +2 -2
- package/esm2015/date-picker/picker-year.component.js +1 -1
- package/esm2015/dialog/dialog.component.js +3 -3
- package/esm2015/dialog/dialog.module.js +3 -1
- package/esm2015/dialog/dialog.property.js +8 -2
- package/esm2015/drawer/drawer.component.js +1 -1
- package/esm2015/drawer/drawer.property.js +1 -1
- package/esm2015/dropdown/dropdown-portal.component.js +1 -1
- package/esm2015/dropdown/dropdown.component.js +1 -1
- package/esm2015/dropdown/dropdown.property.js +1 -1
- package/esm2015/find/find.component.js +43 -4
- package/esm2015/find/find.module.js +3 -1
- package/esm2015/find/find.property.js +19 -2
- package/esm2015/form/control.component.js +7 -7
- package/esm2015/form/form.component.js +2 -2
- package/esm2015/form/form.property.js +1 -1
- package/esm2015/highlight/highlight.component.js +1 -1
- package/esm2015/highlight/highlight.property.js +1 -1
- package/esm2015/i18n/i18n.directive.js +1 -1
- package/esm2015/i18n/i18n.service.js +1 -1
- package/esm2015/i18n/ng-nest-ui-i18n.js +1 -2
- package/esm2015/i18n/public-api.js +2 -1
- package/esm2015/icon/icon.component.js +1 -1
- package/esm2015/icon/icon.property.js +1 -1
- package/esm2015/inner/inner.property.js +1 -1
- package/esm2015/input/input.component.js +1 -1
- package/esm2015/input/input.property.js +1 -1
- package/esm2015/input-number/input-number.component.js +1 -1
- package/esm2015/layout/layout.property.js +1 -1
- package/esm2015/link/link.property.js +1 -1
- package/esm2015/list/list.component.js +1 -1
- package/esm2015/list/list.property.js +1 -1
- package/esm2015/loading/loading.component.js +1 -1
- package/esm2015/loading/loading.property.js +1 -1
- package/esm2015/menu/menu-node.component.js +8 -6
- package/esm2015/menu/menu.component.js +2 -2
- package/esm2015/menu/menu.property.js +2 -2
- package/esm2015/message-box/message-box.component.js +20 -7
- package/esm2015/message-box/message-box.property.js +1 -1
- package/esm2015/outlet/outlet.directive.js +1 -1
- package/esm2015/page-header/page-header.property.js +1 -1
- package/esm2015/pagination/pagination.component.js +1 -1
- package/esm2015/pagination/pagination.property.js +1 -1
- package/esm2015/popconfirm/popconfirm.component.js +2 -2
- package/esm2015/popconfirm/popconfirm.property.js +1 -1
- package/esm2015/popover/popover-portal.component.js +1 -1
- package/esm2015/popover/popover.directive.js +1 -1
- package/esm2015/popover/popover.property.js +1 -1
- package/esm2015/progress/progress.component.js +1 -1
- package/esm2015/progress/progress.property.js +1 -1
- package/esm2015/radio/radio.component.js +2 -2
- package/esm2015/radio/radio.property.js +1 -1
- package/esm2015/rate/rate.component.js +1 -1
- package/esm2015/rate/rate.property.js +2 -2
- package/esm2015/result/result.component.js +5 -2
- package/esm2015/result/result.property.js +1 -1
- package/esm2015/ripple/ripple.directive.js +2 -2
- package/esm2015/ripple/ripple.property.js +1 -1
- package/esm2015/select/select-portal.component.js +1 -1
- package/esm2015/select/select.component.js +4 -4
- package/esm2015/select/select.property.js +1 -1
- package/esm2015/skeleton/skeleton.component.js +2 -2
- package/esm2015/skeleton/skeleton.property.js +1 -1
- package/esm2015/slider/slider.component.js +1 -1
- package/esm2015/slider/slider.property.js +1 -1
- package/esm2015/slider-select/slider-select.component.js +1 -1
- package/esm2015/slider-select/slider-select.property.js +1 -1
- package/esm2015/statistic/countdown.component.js +1 -1
- package/esm2015/statistic/statistic.property.js +1 -1
- package/esm2015/steps/steps.property.js +1 -1
- package/esm2015/switch/switch.component.js +1 -1
- package/esm2015/table/table-body.component.js +19 -9
- package/esm2015/table/table-foot.component.js +7 -7
- package/esm2015/table/table-head.component.js +13 -9
- package/esm2015/table/table.component.js +10 -3
- package/esm2015/table/table.property.js +8 -3
- package/esm2015/tabs/tab-content.component.js +1 -1
- package/esm2015/tabs/tab.component.js +1 -1
- package/esm2015/tabs/tabs.component.js +3 -3
- package/esm2015/tabs/tabs.property.js +1 -1
- package/esm2015/tag/tag.property.js +1 -1
- package/esm2015/text-retract/text-retract.component.js +1 -1
- package/esm2015/text-retract/text-retract.property.js +1 -1
- package/esm2015/textarea/textarea.component.js +1 -1
- package/esm2015/textarea/textarea.property.js +1 -1
- package/esm2015/theme/theme.property.js +1 -1
- package/esm2015/time-ago/time-ago.pipe.js +3 -1
- package/esm2015/time-picker/time-picker-frame.component.js +1 -1
- package/esm2015/time-picker/time-picker-portal.component.js +1 -1
- package/esm2015/time-picker/time-picker.component.js +2 -2
- package/esm2015/time-picker/time-picker.property.js +1 -1
- package/esm2015/timeline/timeline.property.js +1 -1
- package/esm2015/tooltip/tooltip-portal.component.js +1 -1
- package/esm2015/tooltip/tooltip.directive.js +1 -1
- package/esm2015/tooltip/tooltip.property.js +1 -1
- package/esm2015/transfer/transfer.component.js +5 -4
- package/esm2015/transfer/transfer.property.js +1 -1
- package/esm2015/tree/tree-node.component.js +10 -7
- package/esm2015/tree/tree.component.js +2 -2
- package/esm2015/tree/tree.property.js +3 -2
- package/esm2015/tree-file/tree-file.component.js +10 -2
- package/esm2015/tree-file/tree-file.property.js +1 -1
- package/esm2015/typography/typography.component.js +2 -3
- package/esm2015/typography/typography.property.js +1 -1
- package/esm2015/upload/upload-portal.component.js +1 -1
- package/esm2015/upload/upload.component.js +1 -1
- package/esm2015/upload/upload.property.js +1 -1
- package/fesm2015/ng-nest-ui-affix.js.map +1 -1
- package/fesm2015/ng-nest-ui-alert.js +14 -5
- package/fesm2015/ng-nest-ui-alert.js.map +1 -1
- package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
- package/fesm2015/ng-nest-ui-auto-complete.js +5 -4
- package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
- package/fesm2015/ng-nest-ui-avatar.js.map +1 -1
- package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
- package/fesm2015/ng-nest-ui-badge.js.map +1 -1
- package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-border.js +1 -1
- package/fesm2015/ng-nest-ui-border.js.map +1 -1
- package/fesm2015/ng-nest-ui-button.js +1 -1
- package/fesm2015/ng-nest-ui-button.js.map +1 -1
- package/fesm2015/ng-nest-ui-calendar.js +6 -2
- package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
- package/fesm2015/ng-nest-ui-card.js.map +1 -1
- package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.js +6 -5
- package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
- package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
- package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-color.js.map +1 -1
- package/fesm2015/ng-nest-ui-comment.js +6 -2
- package/fesm2015/ng-nest-ui-comment.js.map +1 -1
- package/fesm2015/ng-nest-ui-container.js.map +1 -1
- package/fesm2015/ng-nest-ui-core.js +13 -2
- package/fesm2015/ng-nest-ui-core.js.map +1 -1
- package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.js +6 -3
- package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.js +12 -4
- package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
- package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
- package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
- package/fesm2015/ng-nest-ui-find.js +62 -4
- package/fesm2015/ng-nest-ui-find.js.map +1 -1
- package/fesm2015/ng-nest-ui-form.js +7 -6
- package/fesm2015/ng-nest-ui-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.js +1 -1
- package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
- package/fesm2015/ng-nest-ui-icon.js.map +1 -1
- package/fesm2015/ng-nest-ui-inner.js.map +1 -1
- package/fesm2015/ng-nest-ui-input-number.js.map +1 -1
- package/fesm2015/ng-nest-ui-input.js.map +1 -1
- package/fesm2015/ng-nest-ui-layout.js.map +1 -1
- package/fesm2015/ng-nest-ui-link.js.map +1 -1
- package/fesm2015/ng-nest-ui-list.js.map +1 -1
- package/fesm2015/ng-nest-ui-loading.js.map +1 -1
- package/fesm2015/ng-nest-ui-menu.js +10 -7
- package/fesm2015/ng-nest-ui-menu.js.map +1 -1
- package/fesm2015/ng-nest-ui-message-box.js +19 -6
- package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
- package/fesm2015/ng-nest-ui-outlet.js.map +1 -1
- package/fesm2015/ng-nest-ui-page-header.js.map +1 -1
- package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
- package/fesm2015/ng-nest-ui-popconfirm.js +1 -1
- package/fesm2015/ng-nest-ui-popconfirm.js.map +1 -1
- package/fesm2015/ng-nest-ui-popover.js.map +1 -1
- package/fesm2015/ng-nest-ui-progress.js.map +1 -1
- package/fesm2015/ng-nest-ui-radio.js +1 -1
- package/fesm2015/ng-nest-ui-radio.js.map +1 -1
- package/fesm2015/ng-nest-ui-rate.js.map +1 -1
- package/fesm2015/ng-nest-ui-result.js +4 -1
- package/fesm2015/ng-nest-ui-result.js.map +1 -1
- package/fesm2015/ng-nest-ui-ripple.js +1 -1
- package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
- package/fesm2015/ng-nest-ui-select.js +3 -3
- package/fesm2015/ng-nest-ui-select.js.map +1 -1
- package/fesm2015/ng-nest-ui-skeleton.js +1 -1
- package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
- package/fesm2015/ng-nest-ui-slider-select.js.map +1 -1
- package/fesm2015/ng-nest-ui-slider.js.map +1 -1
- package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
- package/fesm2015/ng-nest-ui-steps.js.map +1 -1
- package/fesm2015/ng-nest-ui-switch.js.map +1 -1
- package/fesm2015/ng-nest-ui-table.js +50 -21
- package/fesm2015/ng-nest-ui-table.js.map +1 -1
- package/fesm2015/ng-nest-ui-tabs.js +2 -2
- package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
- package/fesm2015/ng-nest-ui-tag.js.map +1 -1
- package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
- package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
- package/fesm2015/ng-nest-ui-theme.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-ago.js +2 -0
- package/fesm2015/ng-nest-ui-time-ago.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
- package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.js +4 -3
- package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
- package/fesm2015/ng-nest-ui-tree-file.js +9 -1
- package/fesm2015/ng-nest-ui-tree-file.js.map +1 -1
- package/fesm2015/ng-nest-ui-tree.js +12 -7
- package/fesm2015/ng-nest-ui-tree.js.map +1 -1
- package/fesm2015/ng-nest-ui-typography.js +1 -2
- package/fesm2015/ng-nest-ui-typography.js.map +1 -1
- package/fesm2015/ng-nest-ui-upload.js.map +1 -1
- package/find/find.component.d.ts +3 -0
- package/find/find.property.d.ts +53 -9
- package/find/ng-nest-ui-find.metadata.json +1 -1
- package/form/control.component.d.ts +2 -3
- package/form/form.property.d.ts +5 -5
- package/form/ng-nest-ui-form.metadata.json +1 -1
- package/highlight/highlight.property.d.ts +2 -2
- package/i18n/ng-nest-ui-i18n.d.ts +0 -1
- package/i18n/ng-nest-ui-i18n.metadata.json +1 -1
- package/i18n/public-api.d.ts +1 -0
- package/icon/icon.component.d.ts +2 -2
- package/icon/icon.property.d.ts +6 -6
- package/inner/inner.property.d.ts +1 -1
- package/input/input.property.d.ts +4 -4
- package/layout/layout.property.d.ts +11 -11
- package/link/link.property.d.ts +3 -3
- package/list/list.property.d.ts +8 -8
- package/list/ng-nest-ui-list.metadata.json +1 -1
- package/loading/loading.property.d.ts +6 -6
- package/menu/menu-node.component.d.ts +2 -3
- package/menu/menu.property.d.ts +6 -6
- package/menu/ng-nest-ui-menu.metadata.json +1 -1
- package/message-box/message-box.component.d.ts +3 -0
- package/message-box/message-box.property.d.ts +4 -3
- package/message-box/ng-nest-ui-message-box.metadata.json +1 -1
- package/outlet/outlet.directive.d.ts +1 -1
- package/package.json +1 -1
- package/page-header/page-header.property.d.ts +4 -4
- package/pagination/pagination.property.d.ts +2 -2
- package/popconfirm/ng-nest-ui-popconfirm.metadata.json +1 -1
- package/popconfirm/popconfirm.component.d.ts +2 -2
- package/popconfirm/popconfirm.property.d.ts +7 -7
- package/popover/popover.property.d.ts +4 -4
- package/progress/progress.property.d.ts +2 -2
- package/radio/ng-nest-ui-radio.metadata.json +1 -1
- package/radio/radio.property.d.ts +3 -3
- package/rate/rate.property.d.ts +3 -2
- package/result/ng-nest-ui-result.metadata.json +1 -1
- package/result/result.component.d.ts +1 -0
- package/result/result.property.d.ts +3 -3
- package/ripple/ripple.property.d.ts +2 -2
- package/select/ng-nest-ui-select.metadata.json +1 -1
- package/select/select.property.d.ts +5 -5
- package/skeleton/ng-nest-ui-skeleton.metadata.json +1 -1
- package/skeleton/skeleton.property.d.ts +2 -2
- package/slider/slider.property.d.ts +6 -6
- package/slider-select/slider-select.property.d.ts +1 -1
- package/statistic/statistic.property.d.ts +1 -1
- package/steps/steps.property.d.ts +1 -1
- package/style/core/index.scss +1 -1
- package/style/directives/index.scss +2 -0
- package/style/directives/ripple/index.scss +6 -0
- package/style/directives/ripple/mixin.scss +37 -0
- package/style/directives/ripple/param.scss +3 -0
- package/table/ng-nest-ui-table.metadata.json +1 -1
- package/table/table-body.component.d.ts +6 -4
- package/table/table-foot.component.d.ts +2 -3
- package/table/table-head.component.d.ts +3 -3
- package/table/table.component.d.ts +1 -0
- package/table/table.property.d.ts +22 -12
- package/tabs/ng-nest-ui-tabs.metadata.json +1 -1
- package/tabs/tabs.property.d.ts +5 -5
- package/tag/tag.property.d.ts +3 -3
- package/text-retract/text-retract.property.d.ts +2 -2
- package/textarea/textarea.property.d.ts +2 -2
- package/theme/theme.property.d.ts +2 -2
- package/time-ago/time-ago.pipe.d.ts +1 -1
- package/time-picker/time-picker.property.d.ts +2 -2
- package/timeline/timeline.property.d.ts +5 -5
- package/tooltip/tooltip.property.d.ts +4 -4
- package/transfer/transfer.component.d.ts +1 -1
- package/transfer/transfer.property.d.ts +4 -4
- package/tree/ng-nest-ui-tree.metadata.json +1 -1
- package/tree/tree-node.component.d.ts +3 -3
- package/tree/tree.property.d.ts +12 -13
- package/tree-file/ng-nest-ui-tree-file.metadata.json +1 -1
- package/tree-file/tree-file.component.d.ts +3 -0
- package/tree-file/tree-file.property.d.ts +2 -2
- package/typography/typography.property.d.ts +1 -1
- package/upload/upload.property.d.ts +5 -5
- package/style/core/directive.scss +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-upload.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../lib/ng-nest/ui/upload/upload.property.ts","../../../../lib/ng-nest/ui/upload/upload-portal.component.ts","../../../../lib/ng-nest/ui/upload/upload.component.ts","../../../../lib/ng-nest/ui/upload/upload.module.ts","../../../../lib/ng-nest/ui/upload/ng-nest-ui-upload.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","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","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, 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","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":["EventEmitter","XControlValueAccessor","Component","Input","Output","XInputBoolean","Subject","fromEvent","takeUntil","XClamp","ViewEncapsulation","ChangeDetectionStrategy","Renderer2","ChangeDetectorRef","Inject","DOCUMENT","ViewChild","XIsTemplateRef","map","HttpRequest","HttpEventType","XValueAccessor","ElementRef","HttpClient","XPortalService","ViewContainerRef","XI18nService","NgModule","CommonModule","FormsModule","DragDropModule","XPortalModule","XOutletModule","XButtonModule","XIconModule","XI18nModule","XBaseFormModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-upload.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../lib/ng-nest/ui/upload/upload.property.ts","../../../../lib/ng-nest/ui/upload/upload-portal.component.ts","../../../../lib/ng-nest/ui/upload/upload.component.ts","../../../../lib/ng-nest/ui/upload/upload.module.ts","../../../../lib/ng-nest/ui/upload/ng-nest-ui-upload.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","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","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","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":["EventEmitter","XControlValueAccessor","Component","Input","Output","XInputBoolean","Subject","fromEvent","takeUntil","XClamp","ViewEncapsulation","ChangeDetectionStrategy","Renderer2","ChangeDetectorRef","Inject","DOCUMENT","ViewChild","XIsTemplateRef","map","HttpRequest","HttpEventType","XValueAccessor","ElementRef","HttpClient","XPortalService","ViewContainerRef","XI18nService","NgModule","CommonModule","FormsModule","DragDropModule","XPortalModule","XOutletModule","XButtonModule","XIconModule","XI18nModule","XBaseFormModule"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;IC1OA;;;;;QAKa,aAAa,GAAG,WAAW;IAExC;;;;QAIqC,mCAAoC;QADzE;YAAA,4DAqCC;;;;;YAhBU,UAAI,GAAgB,MAAM,CAAC;;;;;YAe1B,iBAAW,GAAG,IAAIA,iBAAY,EAAwC,CAAC;;SAClF;;KApCD,CAAqCC,8BAAoC;;gBADxEC,cAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;uBAMxBC,UAAK;yBAKLA,UAAK;yBAKLA,UAAK;uBAKLA,UAAK;yBAKLA,UAAK;2BAKLA,UAAK;8BAKLC,WAAM;;IAVmB;QAAhBC,oBAAa,EAAE;;mDAAmB;IAKlB;QAAhBA,oBAAa,EAAE;;qDAAqB;IAgDhD;;;;;QAKa,mBAAmB,GAAG;;;QCtCjC,gCAAoB,QAAmB,EAAU,GAAsB,EAAoB,QAAa;YAApF,aAAQ,GAAR,QAAQ,CAAW;YAAU,QAAG,GAAH,GAAG,CAAmB;YA/BvE,UAAK,GAAG,KAAK,CAAC;YACd,YAAO,GAAmB,EAAE,CAAC;YAC7B,eAAU,GAAG,CAAC,CAAC;YACf,iBAAY,GAAG;gBACb,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACV,CAAC;YAKF,WAAM,GAAG;gBACP,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL,CAAC;YAaM,eAAU,GAAG,IAAIC,YAAO,EAAQ,CAAC;YAGvC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;SACrB;QAED,yCAAQ,GAAR,eAAa;QAEb,gDAAe,GAAf;YACE,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QAED,4CAAW,GAAX;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SAC5B;QAED,uCAAM,GAAN;YAAA,iBAwDC;YAvDC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;YAClD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAK,KAAK,OAAI,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAK,MAAM,OAAI,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,EAAK,KAAK,OAAI,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,EAAK,MAAM,OAAI,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAK,KAAK,OAAI,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAK,MAAM,OAAI,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAK,KAAK,OAAI,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAK,MAAM,OAAI,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG;gBACd,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,CAAC;aACR,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAEzB,IAAM,SAAS,GAAGC,cAAS,CAAa,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAACC,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjH,SAAS,CAAC,SAAS,CAAC,UAAC,MAAkB;gBACrC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrB,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,IAAM,MAAM,GAAG,IAAIF,YAAO,EAAQ,CAAC;gBACnC,IAAI,SAAS,GAAI,MAAM,CAAC,MAAyB,CAAC,SAAS,CAAC;gBAC5D,IAAM,GAAG,GAAM,mBAAmB,UAAO,CAAC;gBAC1C,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC3B,KAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAmB,CAAC;oBAC5D,KAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;iBAC1B;gBACDC,cAAS,CAAa,KAAI,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC;qBACzD,IAAI,CAACC,mBAAS,CAAC,MAAM,CAAC,CAAC;qBACvB,SAAS,CAAC,UAAC,MAAkB;oBAC5B,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;oBAC3B,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;oBAC3B,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;oBACjB,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;oBACjB,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;iBAChD,CAAC,CAAC;gBACLD,cAAS,CAAa,KAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC;qBACvD,IAAI,CAACC,mBAAS,CAAC,MAAM,CAAC,CAAC;qBACvB,SAAS,CAAC,UAAC,CAAC;oBACX,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;oBAClB,KAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,CAAC,QAAQ,EAAE,CAAC;iBACnB,CAAC,CAAC;aACN,CAAC,CAAC;SACJ;QAED,gDAAe,GAAf;YAAA,iBAOC;YANC,IAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAI,CAAC;YACzB,GAAG,CAAC,MAAM,GAAG;gBACX,KAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC7D,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC;aACpE,CAAC;SACH;QAED,0CAAS,GAAT,UAAU,QAAwB,EAAE,CAAS,EAAE,CAAS;YACtD,QAAQ,QAAQ;gBACd,KAAK,WAAW;oBACd,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBACvB,MAAM;gBACR,KAAK,YAAY;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,cAAc;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;gBACR,KAAK,EAAE;oBACL,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;aACT;YACD,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAE5E,IAAM,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACtD,IAAM,IAAI,GAAG,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAEpD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAGC,aAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,CAAC,GAAGA,aAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;;;;;YAQ/C,IAAI,CAAC,QAAQ,GAAG;gBACd,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,MAAM,EACN,UAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,WAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,WAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAK,CAC1G,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAK,IAAI,CAAC,MAAM,CAAC,KAAK,OAAI,CAAC,CAAC;YACrF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAK,IAAI,CAAC,MAAM,CAAC,MAAM,OAAI,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,iBAAe,IAAI,CAAC,MAAM,CAAC,CAAC,YAAO,IAAI,CAAC,MAAM,CAAC,CAAC,WAAQ,CAAC,CAAC;SAC1H;QAED,qCAAI,GAAJ;YAAA,iBAeC;YAdC,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YACnD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YACrD,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;YACzC,IAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAI,CAAC;YACzB,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;YAC9B,GAAG,CAAC,MAAM,GAAG;gBACX,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC;gBAC3F,MAAM,CAAC,MAAM,CAAC,UAAC,IAAI;oBACjB,KAAI,CAAC,UAAU,CAAC,IAAY,CAAC,CAAC;oBAC9B,KAAI,CAAC,WAAW,EAAE,CAAC;iBACpB,CAAC,CAAC;aACJ,CAAC;SACH;;;;gBApNFP,cAAS,SAAC;oBACT,QAAQ,EAAE,KAAG,mBAAqB;oBAClC,k4CAA6C;oBAE7C,aAAa,EAAEQ,sBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,4BAAuB,CAAC,MAAM;;iBAChD;;;;gBAfCC,cAAS;gBACTC,sBAAiB;gDAoDyDC,WAAM,SAACC,eAAQ;;;yBAnCxFC,cAAS,SAAC,QAAQ;6BAClBA,cAAS,SAAC,YAAY;8BACtBA,cAAS,SAAC,aAAa;yBACvBA,cAAS,SAAC,QAAQ;;;;QCAiB,oCAAe;QAwBnD,0BACS,QAAmB,EACnB,UAAsB,EACtB,IAAgB,EAChB,GAAsB,EACtB,aAA6B,EAC7B,gBAAkC,EAClC,IAAkB;YAP3B,YASE,iBAAO,SACR;YATQ,cAAQ,GAAR,QAAQ,CAAW;YACnB,gBAAU,GAAV,UAAU,CAAY;YACtB,UAAI,GAAJ,IAAI,CAAY;YAChB,SAAG,GAAH,GAAG,CAAmB;YACtB,mBAAa,GAAb,aAAa,CAAgB;YAC7B,sBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,UAAI,GAAJ,IAAI,CAAc;YA7B3B,WAAK,GAAkB,EAAE,CAAC;YAC1B,gBAAU,GAAG,KAAK,CAAC;YACnB,iBAAW,GAAkB,EAAE,CAAC;YAChC,YAAM,GAAgB,EAAE,CAAC;YAWjB,gBAAU,GAAG,IAAIV,YAAO,EAAQ,CAAC;;SAkBxC;QA1BD,sBAAI,qCAAO;iBAAX;gBACE,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;aAC5C;;;WAAA;QAED,sBAAI,4CAAc;iBAAlB;gBACE,OAAOW,qBAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrC;;;WAAA;QAID,qCAAU,GAAV,UAAW,KAAoB;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;QAcD,mCAAQ,GAAR;YAAA,iBAWC;YAVC,IAAI,CAAC,IAAI,CAAC,YAAY;iBACnB,IAAI,CACHC,aAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAqB,GAAA,CAAC,EACnCV,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B;iBACA,SAAS,CAAC,UAAC,CAAC;gBACX,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,KAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB,CAAC,CAAC;YACL,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;gBAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SAClD;QAED,sCAAW,GAAX;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAC/B;QAED,mCAAQ,GAAR;YACE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;gBAAE,OAAO;YAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC;gBAC5B,IAAI,CAAC,CAAC,CAAC,KAAK;oBAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;gBAClC,OAAO,CAAC,CAAC;aACV,CAAC,CAAC;SACJ;QAED,iCAAM,GAAN,UAAO,KAAY;;YACjB,IAAI,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;YAC7C,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAA,KAAK,CAAC,KAAK,0CAAE,MAAM,MAAK,CAAC;gBAAE,OAAO;YACtE,IAAI,KAAK,GAAkB,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,KAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzD,IAAI,IAAI,GAAiB,KAAK,CAAC,KAAkB,CAAC,IAAI,CAAC,CAAC,CAAgB,CAAC;gBACzE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,KAAK,YAAO,KAAK,GAAE,IAAI,EAAC,CAAC;aAC1B;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;QAED,iCAAM,GAAN,UAAO,IAAiB,EAAE,KAAa;YACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,GAAA,CAAC,IAAI,IAAI,CAAC;YACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;QAED,sCAAW,GAAX;YACE,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACjC;QAED,oCAAS,GAAT;YAAA,iBAMC;YALC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,GAAA,CAAC,CAAC;YAC/D,UAAU,CAAC,OAAO,CAAC,UAAC,CAAC;gBACnB,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;SACJ;QAED,qCAAU,GAAV,UAAW,IAAiB,EAAE,KAAU;YAAxC,iBAsCC;YAtC6B,sBAAA,EAAA,SAAS,CAAC;YACtC,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAM,GAAG,GAAG,IAAIW,gBAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAgB,EAAE,QAAQ,EAAE;gBACnE,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,aAAa;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,IAAI;iBACN,OAAO,CAAC,GAAG,CAAC;iBACZ,IAAI,CACHD,aAAG,CAAC,UAAC,KAAK,IACR,OAAA,KAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,UAAC,IAAc;gBAC/C,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5B,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjC,MAAM,CAAC,MAAM,GAAG;oBACd,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;wBAChB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACvB;yBAAM;wBACL,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;wBACzB,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;qBAC1B;oBACD,KAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;iBAC1B,CAAC;aACH,CAAC,GAAA,CACH,CACF;iBACA,SAAS,CACR;gBACE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,GAAA,CAAC,IAAI,IAAI,CAAC;gBACtE,KAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;aAC1B,EACD;gBACE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,KAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;aAC1B,CACF,CAAC;SACL;QAED,0CAAe,GAAf,UAAgB,KAAqB,EAAE,IAAiB,EAAE,GAAa;YACrE,QAAQ,KAAK,CAAC,IAAI;gBAChB,KAAKE,kBAAa,CAAC,IAAI;oBACrB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;oBACrB,OAAO,sCAAQ,CAAC;gBAClB,KAAKA,kBAAa,CAAC,cAAc;oBAC/B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;oBACzB,IAAI,KAAK,CAAC,KAAK;wBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/E,OAAO,oBAAK,CAAC;gBACf,KAAKA,kBAAa,CAAC,QAAQ;oBACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;oBACvB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChB,OAAO,sCAAQ,CAAC;aACnB;YACD,OAAO;SACR;QAED,sCAAW,GAAX,UAAY,KAAa,EAAE,IAAiB;YAC1C,OAAU,IAAI,CAAC,IAAI,SAAI,IAAI,CAAC,YAAc,CAAC;SAC5C;QAED,mCAAQ,GAAR,UAAS,IAAiB,EAAE,KAAa;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBACtC,OAAO,EAAE,sBAAsB;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,aAAa,EAAE;oBACb,UAAU,EAAE,CAAC,mBAAmB,CAAC;oBACjC,WAAW,EAAE,IAAI;oBACjB,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBACxD;aACF,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC/B;QAED,sCAAW,GAAX,UAAY,IAAiB,EAAE,KAAa;YAA5C,iBAcC;;YAbC,IAAI,YAAY,SAAG,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC;YAC7C,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACnC,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,cAAM,OAAA,KAAI,CAAC,WAAW,EAAE,GAAA;gBACrC,aAAa,EAAE,cAAM,OAAA,KAAI,CAAC,aAAa,EAAE,GAAA;gBACzC,UAAU,EAAE,UAAC,IAAU;oBACrB,IAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAgB,CAAC;oBAC3E,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC;oBACnB,KAAI,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;iBAC5B;aACF,CAAC,CAAC;YACH,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;SAChD;QAED,yCAAc,GAAd;;YACE,mBAAO,IAAI,CAAC,MAAM,0CAAE,UAAU,0CAAE,WAAW,GAAG;SAC/C;QAED,sCAAW,GAAX;;YACE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;gBACzB,YAAA,IAAI,CAAC,MAAM,0CAAE,UAAU,0CAAE,MAAM,GAAG;gBAClC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACd;QAED,wCAAa,GAAb;;YACE,YAAA,IAAI,CAAC,MAAM,0CAAE,UAAU,0CAAE,OAAO,GAAG;SACpC;QAED,mCAAQ,GAAR,UAAS,KAAY,EAAE,IAAiB;YACtC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;QAED,kCAAO,GAAP,UAAQ,KAAY,EAAE,IAAiB;YACrC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;;KAxNH,CAAsC,eAAe;;gBARpDlB,cAAS,SAAC;oBACT,QAAQ,EAAE,KAAG,aAAe;oBAC5B,mgGAAsC;oBAEtC,aAAa,EAAEQ,sBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,4BAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE,CAACU,uBAAc,CAAC,gBAAgB,CAAC,CAAC;;iBAC9C;;;;gBAtBCT,cAAS;gBACTU,eAAU;gBANHC,eAAU;gBAOjBV,sBAAiB;gBASSW,qBAAc;gBAPxCC,qBAAgB;gBAMTC,iBAAY;;;uBAclBV,cAAS,SAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCArC;;;;;gBAfCW,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,CAAC;oBACzE,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,OAAO,EAAE;wBACPC,mBAAY;wBACZC,iBAAW;wBACXC,uBAAc;wBACdC,oBAAa;wBACbC,oBAAa;wBACbC,oBAAa;wBACbC,gBAAW;wBACXC,gBAAW;wBACXC,wBAAe;qBAChB;iBACF;;;IC5BD;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../lib/ng-nest/ui/upload/upload.property.ts","../../../../lib/ng-nest/ui/upload/upload-portal.component.ts","../../../../lib/ng-nest/ui/upload/upload.component.ts","../../../../lib/ng-nest/ui/upload/upload.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","n","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","XUploadPrefix","XUploadProperty","_this","_super","apply","type","removeClick","EventEmitter","XControlValueAccessor","Component","args","template","Input","Output","XInputBoolean","XUploadPortalPrefix","XUploadPortalComponent","renderer","cdr","document","ready","cutType","proportion","originalSize","width","height","cutBox","x","y","_unSubject","Subject","doc","ngOnInit","ngAfterViewInit","setCut","ngOnDestroy","complete","imgRef","nativeElement","clientWidth","clientHeight","setStyle","cutRef","boundaryRef","imgClipRef","boundaryBox","clipRect","top","right","bottom","left","setOriginalSize","detectChanges","fromEvent","pipe","takeUntil","subscribe","downMe","pageX","pageY","offsetX","offsetY","_unSub","className","spt","includes","replace","documentElement","moveMe","setCutEle","img","Image","src","file","url","onload","position","boundaryRect","getBoundingClientRect","maxY","maxX","XClamp","sure","canvas","createElement","context","getContext","crossOrigin","drawImage","toBlob","blob","surePortal","closePortal","selector","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","Renderer2","ChangeDetectorRef","Inject","DOCUMENT","ViewChild","XUploadComponent","elementRef","http","portalService","viewContainerRef","i18n","files","showUpload","uploadNodes","locale","text","uploadText","XIsTemplateRef","getText","writeValue","setFiles","localeChange","map","upload","markForCheck","accept","ngOnDestory","unsubscribe","isArray","state","change","event","input","_a","item","uploading","remove","index","splice","find","emit","uploadClick","disabled","click","action","filter","forEach","uploadFile","formData","FormData","append","req","HttpRequest","reportProgress","responseType","request","getEventMessage","body","Blob","reader","FileReader","readAsText","JSON","parse","result","fun","HttpEventType","Sent","UploadProgress","total","percent","Math","round","loaded","Response","trackByItem","name","lastModified","onImgCut","portal","attach","content","overlayConfig","panelClass","hasBackdrop","positionStrategy","setPlace","setInstance","componentRef","assign","instance","destroyPortal","fl","File","changeDetectorRef","portalAttached","_b","overlayRef","hasAttached","detach","dispose","imgError","imgLoad","providers","XValueAccessor","ElementRef","HttpClient","XPortalService","ViewContainerRef","XI18nService","static","NgModule","declarations","exports","imports","CommonModule","FormsModule","DragDropModule","XPortalModule","XOutletModule","XButtonModule","XIconModule","XI18nModule","XBaseFormModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","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","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, 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","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"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../lib/ng-nest/ui/upload/upload.property.ts","../../../../lib/ng-nest/ui/upload/upload-portal.component.ts","../../../../lib/ng-nest/ui/upload/upload.component.ts","../../../../lib/ng-nest/ui/upload/upload.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","n","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","XUploadPrefix","XUploadProperty","_this","_super","apply","type","removeClick","EventEmitter","XControlValueAccessor","Component","args","template","Input","Output","XInputBoolean","XUploadPortalPrefix","XUploadPortalComponent","renderer","cdr","document","ready","cutType","proportion","originalSize","width","height","cutBox","x","y","_unSubject","Subject","doc","ngOnInit","ngAfterViewInit","setCut","ngOnDestroy","complete","imgRef","nativeElement","clientWidth","clientHeight","setStyle","cutRef","boundaryRef","imgClipRef","boundaryBox","clipRect","top","right","bottom","left","setOriginalSize","detectChanges","fromEvent","pipe","takeUntil","subscribe","downMe","pageX","pageY","offsetX","offsetY","_unSub","className","spt","includes","replace","documentElement","moveMe","setCutEle","img","Image","src","file","url","onload","position","boundaryRect","getBoundingClientRect","maxY","maxX","XClamp","sure","canvas","createElement","context","getContext","crossOrigin","drawImage","toBlob","blob","surePortal","closePortal","selector","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","Renderer2","ChangeDetectorRef","Inject","DOCUMENT","ViewChild","XUploadComponent","elementRef","http","portalService","viewContainerRef","i18n","files","showUpload","uploadNodes","locale","text","uploadText","XIsTemplateRef","getText","writeValue","setFiles","localeChange","map","upload","markForCheck","accept","ngOnDestory","unsubscribe","isArray","state","change","event","input","_a","item","uploading","remove","index","splice","find","emit","uploadClick","disabled","click","action","filter","forEach","uploadFile","formData","FormData","append","req","HttpRequest","reportProgress","responseType","request","getEventMessage","body","Blob","reader","FileReader","readAsText","JSON","parse","result","fun","HttpEventType","Sent","UploadProgress","total","percent","Math","round","loaded","Response","trackByItem","name","lastModified","onImgCut","portal","attach","content","overlayConfig","panelClass","hasBackdrop","positionStrategy","setPlace","setInstance","componentRef","assign","instance","destroyPortal","fl","File","changeDetectorRef","portalAttached","_b","overlayRef","hasAttached","detach","dispose","imgError","imgLoad","providers","XValueAccessor","ElementRef","HttpClient","XPortalService","ViewContainerRef","XI18nService","static","NgModule","declarations","exports","imports","CommonModule","FormsModule","DragDropModule","XPortalModule","XOutletModule","XButtonModule","XIconModule","XI18nModule","XBaseFormModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","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","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","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"]}
|