@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-table.js","sources":["../../../../lib/ng-nest/ui/table/table.property.ts","../../../../lib/ng-nest/ui/table/table.component.ts","../../../../lib/ng-nest/ui/table/table-head.component.ts","../../../../lib/ng-nest/ui/table/table-body.component.ts","../../../../lib/ng-nest/ui/table/table-foot.component.ts","../../../../lib/ng-nest/ui/table/drag.directive.ts","../../../../lib/ng-nest/ui/table/table.module.ts","../../../../lib/ng-nest/ui/table/ng-nest-ui-table.ts"],"sourcesContent":["import {\r\n XProperty,\r\n XNumber,\r\n XInputNumber,\r\n XIdentityProperty,\r\n XId,\r\n XSort,\r\n XInputBoolean,\r\n XBoolean,\r\n XData,\r\n XWithConfig,\r\n XTextAlign\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Component, EventEmitter, TemplateRef, Output } from '@angular/core';\r\nimport { XPaginationProperty, XPaginationOption } from '@ng-nest/ui/pagination';\r\n\r\n/**\r\n * Table\r\n * @selector x-table\r\n * @decorator component\r\n */\r\nexport const XTablePrefix = 'x-table';\r\nconst X_CONFIG_NAME = 'table';\r\n\r\n/**\r\n * Table Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTableProperty extends XPaginationProperty implements XTableOption {\r\n /**\r\n * @zh_CN 行数据\r\n * @en_US Row data\r\n */\r\n @Input() data: XData<XTableRow> = [];\r\n /**\r\n * @zh_CN 列集合\r\n * @en_US Column set\r\n */\r\n @Input() columns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 表头和行高,单位 px\r\n * @en_US Header and row height, unit px\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() rowHeight: number;\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() loading: XBoolean;\r\n /**\r\n * @zh_CN 是否展示列边框\r\n * @en_US Whether to show column borders\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() bordered: XBoolean;\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() activatedRow?: XTableRow;\r\n /**\r\n * @zh_CN 当前选中行改变\r\n * @en_US The currently selected row changes\r\n */\r\n @Output() activatedRowChange = new EventEmitter<XTableRow>();\r\n /**\r\n * @zh_CN 列头自定义模板\r\n * @en_US Column header custom template\r\n */\r\n @Input() headColumnTpl: XTableTemplate = {};\r\n /**\r\n * @zh_CN 列内容自定义模板\r\n * @en_US Column content custom template\r\n */\r\n @Input() bodyColumnTpl: XTableTemplate = {};\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n @Output() sortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 允许行点击选中\r\n * @en_US Allow row click to select\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) @XInputBoolean() allowSelectRow: XBoolean;\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() virtualScroll: XBoolean;\r\n /**\r\n * @zh_CN body 数据高度\r\n * @en_US body data height\r\n */\r\n @Input() @XInputNumber() bodyHeight: number;\r\n /**\r\n * @zh_CN itemSize,对应 cdk scroll 中的参数\r\n * @en_US itemSize,corresponding to the parameters in cdk scroll\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() itemSize: number;\r\n /**\r\n * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() minBufferPx: number = 100;\r\n /**\r\n * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() maxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() adaptionHeight: XNumber;\r\n /**\r\n * @zh_CN 文档高度百分比,弹窗百分比高度用到\r\n * @en_US Document height percentage, used by pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() docPercent: XNumber = 1;\r\n /**\r\n * @zh_CN checkbox 列初始选中的数据,列中激活 checkbox\r\n * @en_US Checkbox column initially selected data, checkbox is activated in column\r\n */\r\n @Input() checkedRow: { [property: string]: any[] } = {};\r\n /**\r\n * @zh_CN 如果 data 是函数类型,可以通过此参数控制请求,常用于弹框中的表格,弹出后再请求\r\n * @en_US If data is a function type, you can use this parameter to control the request, which is often used in the form in the pop-up box, and then request it after it pops up\r\n */\r\n @Input() @XInputBoolean() manual: XBoolean = true;\r\n /**\r\n * @zh_CN 滚动区域高宽\r\n * @en_US Height and width of rolling area\r\n */\r\n @Input() scroll: { x: number; y: number };\r\n /**\r\n * @zh_CN 参数控制请求改变事件\r\n * @en_US Parameter control request change event\r\n */\r\n @Output() manualChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell config\r\n */\r\n @Input() cellConfig: XTableCellConfig;\r\n}\r\n\r\n/**\r\n * Table Option\r\n * @undocument true\r\n */\r\nexport interface XTableOption extends XPaginationOption {\r\n /**\r\n * @zh_CN 行数据\r\n * @en_US Row data\r\n */\r\n data?: XData<XTableRow>;\r\n /**\r\n * @zh_CN 列集合\r\n * @en_US Column set\r\n */\r\n columns?: XTableColumn[];\r\n /**\r\n * @zh_CN 表头和行高,单位 px\r\n * @en_US Header and row height, unit px\r\n */\r\n rowHeight?: number;\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n loading?: XBoolean;\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n activatedRow?: XTableRow;\r\n /**\r\n * @zh_CN 列头自定义模板\r\n * @en_US Column header custom template\r\n */\r\n headColumnTpl?: XTableTemplate;\r\n /**\r\n * @zh_CN 列内容自定义模板\r\n * @en_US Column content custom template\r\n */\r\n bodyColumnTpl?: XTableTemplate;\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n virtualScroll?: XBoolean;\r\n /**\r\n * @zh_CN body 数据高度\r\n * @en_US body data height\r\n */\r\n bodyHeight?: number;\r\n /**\r\n * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n minBufferPx?: number;\r\n /**\r\n * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll\r\n */\r\n maxBufferPx?: number;\r\n /**\r\n * @zh_CN 自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n adaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 文档高度百分比,弹窗百分比高度用到\r\n * @en_US Document height percentage, used by pop-up window percentage height\r\n */\r\n docPercent?: XNumber;\r\n /**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell config\r\n */\r\n cellConfig?: XTableCellConfig;\r\n}\r\n\r\n/**\r\n * @zh_CN 数据\r\n * @en_US Data\r\n */\r\nexport interface XTableRow extends XId {\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 列参数\r\n * @en_US Column parameter\r\n */\r\nexport interface XTableColumn extends XIdentityProperty {\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n type?: XColumnType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n width?: number;\r\n /**\r\n * @zh_CN flex 布局宽度\r\n * @en_US Flex layout width\r\n */\r\n flex?: number;\r\n /**\r\n * @zh_CN 查询字段\r\n * @en_US Query field\r\n */\r\n search?: boolean;\r\n /**\r\n * @zh_CN 排序字段\r\n * @en_US Sort field\r\n */\r\n sort?: boolean;\r\n /**\r\n * @zh_CN 固定列,距离左边的距离\r\n * @en_US Fixed column, distance from left\r\n */\r\n left?: number;\r\n /**\r\n * @zh_CN 操作按钮\r\n * @en_US Operation button\r\n */\r\n action?: boolean;\r\n /**\r\n * @zh_CN type 为 checkbox 时绑定行点击选中事件\r\n * @en_US Bind row click selection event when type is checkbox\r\n */\r\n rowChecked?: boolean;\r\n /**\r\n * @zh_CN 文字对齐方式\r\n * @en_US Text alignment\r\n */\r\n textAlign?: XTextAlign;\r\n /**\r\n * @zh_CN 拖动列宽,需要设置列的初始宽度 width\r\n * @en_US Drag the column width, you need to set the initial width of the column width\r\n */\r\n dragWidth?: boolean;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell config\r\n */\r\nexport interface XTableCellConfig {\r\n /**\r\n * @zh_CN 列单元格配置\r\n * @en_US Column cell config\r\n */\r\n thead?: XTableCellConfigRule;\r\n /**\r\n * @zh_CN 行单元格配置\r\n * @en_US Row config\r\n */\r\n tbody?: XTableCellConfigRule;\r\n}\r\n\r\n/**\r\n * @zh_CN 单元格配置规则\r\n * @en_US Cell config rules\r\n */\r\nexport interface XTableCellConfigRule {\r\n /**\r\n * @zh_CN grid 布局下定义列宽度\r\n * @en_US Define column width under grid layout\r\n */\r\n gridTemplateColumns?: string;\r\n /**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell merge rules\r\n */\r\n cells?: XTableCell[];\r\n}\r\n\r\n/**\r\n * @zh_CN 单元格合并配置\r\n * @en_US Cell merge rules\r\n */\r\nexport interface XTableCell {\r\n /**\r\n * @zh_CN 使用 grid 布局来合并单元格\r\n * @en_US Use grid layout to merge cells\r\n */\r\n gridArea?: string;\r\n /**\r\n * @zh_CN 名称\r\n * @en_US Name\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 固定列,距离左边的距离\r\n * @en_US Fixed column, distance from left\r\n */\r\n left?: number;\r\n /**\r\n * @zh_CN 对应列的 id\r\n * @en_US The id of the corresponding column\r\n */\r\n id?: string;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 列类型\r\n * @en_US Column type\r\n */\r\nexport type XColumnType = 'label' | 'index' | 'checkbox';\r\n\r\n/**\r\n * @zh_CN 模板\r\n * @en_US Template\r\n */\r\nexport type XTableTemplate = { [property: string]: TemplateRef<any> };\r\n\r\n/**\r\n * Table Head\r\n * @selector x-table-head\r\n * @decorator component\r\n */\r\nexport const XTableHeadPrefix = 'x-table-head';\r\n\r\n/**\r\n * Table Head Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTableHeadProperty extends XProperty {\r\n /**\r\n * @zh_CN 列集合\r\n * @en_US Column set\r\n */\r\n @Input() columns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 高度,单位 px\r\n * @en_US Height in px\r\n */\r\n @Input() @XInputNumber() rowHeight: XNumber = 42;\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n @Input() columnTpl: XTableTemplate = {};\r\n /**\r\n * @zh_CN 竖向滚动条宽度\r\n * @en_US Vertical scroll bar width\r\n */\r\n @Input() scrollYWidth: number;\r\n /**\r\n * @zh_CN 横向滚动条宽度\r\n * @en_US Horizontal scroll bar width\r\n */\r\n @Input() scrollXWidth: number | null;\r\n /**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell merge rules\r\n */\r\n @Input() cellConfig?: XTableCellConfigRule;\r\n}\r\n\r\n/**\r\n * Table Body\r\n * @selector x-table-body\r\n * @decorator component\r\n */\r\nexport const XTableBodyPrefix = 'x-table-body';\r\n\r\n/**\r\n * Table Body Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTableBodyProperty extends XProperty {\r\n /**\r\n * @zh_CN 行数据\r\n * @en_US Row data\r\n */\r\n @Input() data: XTableRow[] = [];\r\n /**\r\n * @zh_CN 列集合\r\n * @en_US Column set\r\n */\r\n @Input() columns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n @Input() columnTpl: XTableTemplate = {};\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() activatedRow?: XTableRow;\r\n /**\r\n * @zh_CN 当前选中行改变\r\n * @en_US The currently selected row changes\r\n */\r\n @Output() activatedRowChange = new EventEmitter<XTableRow>();\r\n /**\r\n * @zh_CN 高度,单位 px。设置为 0 表示行高自适应内容高度。\r\n * @en_US Height in px. set to 0 means that the row height is adaptive to the content height\r\n */\r\n @Input() @XInputNumber() rowHeight: XNumber = 42;\r\n /**\r\n * @zh_CN body 数据高度\r\n * @en_US body data height\r\n */\r\n @Input() @XInputNumber() bodyHeight: number;\r\n /**\r\n * @zh_CN 允许行点击选中\r\n * @en_US Allow row click to select\r\n */\r\n @Input() @XInputBoolean() allowSelectRow: XBoolean = true;\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n @Input() @XInputBoolean() virtualScroll?: XBoolean = false;\r\n /**\r\n * @zh_CN itemSize,对应 cdk scroll 中的参数\r\n * @en_US itemSize,corresponding to the parameters in cdk scroll\r\n */\r\n @Input() @XInputNumber() itemSize: number = 42;\r\n /**\r\n * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() minBufferPx: number = 100;\r\n /**\r\n * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() maxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() adaptionHeight: XNumber;\r\n /**\r\n * @zh_CN 文档高度百分比,弹窗百分比高度用到\r\n * @en_US Document height percentage, used by pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() docPercent: XNumber = 1;\r\n /**\r\n * @zh_CN 滚动区域高宽\r\n * @en_US Height and width of rolling area\r\n */\r\n @Input() scroll: { x: number; y: number };\r\n /**\r\n * @zh_CN 单元格配置规则\r\n * @en_US Cell config rules\r\n */\r\n @Input() cellConfig?: XTableCellConfigRule;\r\n}\r\n\r\n/**\r\n * Table Foot\r\n * @selector x-table-foot\r\n * @decorator component\r\n */\r\nexport const XTableFootPrefix = 'x-table-foot';\r\n\r\n/**\r\n * Table Foot Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTableFootProperty {}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n ViewChild,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XTablePrefix, XTableProperty, XTableColumn, XTableRow, XTableCell, XTableCellConfigRule } from './table.property';\r\nimport { XIsChange, XIsEmpty, XResultList, XNumber, XSort, XConfigService } from '@ng-nest/ui/core';\r\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\r\nimport { XPaginationComponent } from '@ng-nest/ui/pagination';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XTablePrefix}`,\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTableComponent extends XTableProperty implements OnInit, OnDestroy {\r\n get getScrollLeft() {\r\n return this.scrollLeft > 0;\r\n }\r\n get getScrollTop() {\r\n return this.scrollTop > 0;\r\n }\r\n thead: ElementRef;\r\n tfoot: ElementRef;\r\n virtualBody: CdkVirtualScrollViewport;\r\n headChange: () => void;\r\n bodyChange: () => void;\r\n scrollContentEle: HTMLElement;\r\n hasScrollY = false;\r\n scrollYWidth = 0;\r\n hasScrollX = false;\r\n scrollXHeight = 0;\r\n scrollXWidth: number | null;\r\n scrollLeft = 0;\r\n scrollTop = 0;\r\n rowChecked: XTableColumn;\r\n headCheckboxList: XTableColumn[];\r\n dataIsFunc = false;\r\n getting = false;\r\n tableData: XTableRow[] = [];\r\n checkedValues: { [prop: string]: boolean } = {};\r\n indeterminate = '$$indeterminate';\r\n @ViewChild('table') table: ElementRef;\r\n @ViewChild('pagination') pagination: XPaginationComponent;\r\n private _unSubject = new Subject();\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setRowChecked();\r\n this.setMerge();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n XIsChange(simples.data, simples.checkedRow) && this.setData();\r\n XIsChange(simples.columns, simples.activatedRow) && this.cdr.detectChanges();\r\n XIsChange(simples.manual) && this.setManual();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n }\r\n\r\n getSticky(column: XTableColumn | XTableCell) {\r\n return Number(column.left) >= 0;\r\n }\r\n\r\n getIndex(index: number) {\r\n return (Number(this.index) - 1) * Number(this.size) + index + 1;\r\n }\r\n\r\n setData() {\r\n if (Array.isArray(this.data)) {\r\n this.dataIsFunc = false;\r\n this.tableData = this.data;\r\n this.setChecked();\r\n this.setHeadCheckboxList();\r\n } else if (this.data instanceof Function) {\r\n this.dataIsFunc = true;\r\n this.getDataByFunc();\r\n }\r\n }\r\n\r\n getDataByFunc() {\r\n if (!this.manual) return;\r\n this.getting = true;\r\n this.cdr.detectChanges();\r\n this._unSubject.next();\r\n (this.data as Function)(this.index, this.size, this.query)\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x: XResultList<XTableRow>) => {\r\n [this.tableData, this.total] = [x.list as XTableRow[], x.total as XNumber];\r\n if (this.virtualBody) {\r\n this.virtualBody.scrollToIndex(0);\r\n this.virtualBody.checkViewportSize();\r\n }\r\n this.getting = false;\r\n this.setChecked();\r\n this.setHeadCheckboxList();\r\n this.detectChanges();\r\n });\r\n }\r\n\r\n setManual() {\r\n if (this.dataIsFunc) this.getDataByFunc();\r\n }\r\n\r\n setRowChecked() {\r\n this.rowChecked = this.columns.find((x) => x.rowChecked) as XTableColumn;\r\n this.headCheckboxList = this.columns.filter((x) => x.type === 'checkbox' && x.headChecked);\r\n }\r\n\r\n setMerge() {\r\n if (!this.cellConfig) return;\r\n const setRule = (rule?: XTableCellConfigRule) => {\r\n if (!rule) return;\r\n let gridTemplateColumns = '',\r\n cells = [];\r\n if (!rule.gridTemplateColumns) {\r\n gridTemplateColumns = `${this.columns\r\n .map((x) => {\r\n if (x.width) return x.width;\r\n if (x.flex) return `${x.flex}fr`;\r\n return '1fr';\r\n })\r\n .join(' ')}`;\r\n }\r\n if (!rule.cells) return;\r\n cells = rule.cells.map((y) => {\r\n const col = this.columns.find((z) => z.id === y.id);\r\n if (col) {\r\n return { ...col, ...y } as XTableCell;\r\n }\r\n return y;\r\n });\r\n return { gridTemplateColumns, cells };\r\n };\r\n this.cellConfig.thead = setRule(this.cellConfig.thead);\r\n this.cellConfig.tbody = setRule(this.cellConfig.tbody);\r\n }\r\n\r\n change(index: number) {\r\n this.index = index;\r\n this.dataIsFunc && this.getDataByFunc();\r\n this.indexChange.emit(index);\r\n this.resetScroll();\r\n }\r\n\r\n resetScroll(x = true, y = true) {\r\n if (this.hasScrollX && x) this.virtualBody?.scrollTo({ left: 0 });\r\n if (this.hasScrollY && y) this.virtualBody?.scrollTo({ top: 0 });\r\n }\r\n\r\n setChecked() {\r\n let result: XTableRow[] = [];\r\n if (XIsEmpty(this.tableData) || !this.checkedRow) return;\r\n for (let key in this.checkedRow) {\r\n const arr = this.checkedRow[key];\r\n for (let item of this.tableData as any[]) {\r\n item[key] = arr.includes(item.id);\r\n result = [...result, item];\r\n }\r\n }\r\n if (result.length > 0) this.tableData = [...result];\r\n this.detectChanges();\r\n }\r\n\r\n setHeadCheckboxList() {\r\n if (XIsEmpty(this.tableData) || !this.headCheckboxList) return;\r\n for (let column of this.headCheckboxList) {\r\n this.setCheckedValues(column);\r\n }\r\n }\r\n\r\n checkSort(sort: XSort[]) {\r\n if (!this.dataIsFunc) return;\r\n if (typeof this.query === 'undefined') this.query = {};\r\n this.query.sort = sort;\r\n this.queryChange.emit(this.query);\r\n this.getDataByFunc();\r\n }\r\n\r\n headChecked(checked: boolean, column: XTableColumn) {\r\n this.tableData.forEach((x) => {\r\n x[column.id] = checked;\r\n });\r\n this.setCheckedValues(column);\r\n this.detectChanges();\r\n }\r\n\r\n bodyChecked(checked: boolean, column: XTableColumn) {\r\n this.setCheckedValues(column);\r\n this.detectChanges();\r\n }\r\n\r\n setCheckedValues(column: XTableColumn) {\r\n const count = this.tableData.length;\r\n const checkedLen = this.tableData.filter((x) => x[column.id]).length;\r\n this.checkedValues[column.id] = count === checkedLen;\r\n this.checkedValues[column.id + this.indeterminate] = checkedLen > 0 && checkedLen < count;\r\n }\r\n\r\n detectChanges() {\r\n this.bodyChange && this.bodyChange();\r\n this.headChange && this.headChange();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Optional,\r\n Host,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XTableHeadPrefix, XTableHeadProperty, XTableColumn, XTableCell } from './table.property';\r\nimport { removeNgTag, XIsEmpty, XSort, XIsChange, XConfigService, XNumber } from '@ng-nest/ui/core';\r\nimport { XTableComponent } from './table.component';\r\n\r\n@Component({\r\n selector: `${XTableHeadPrefix}`,\r\n templateUrl: './table-head.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class XTableHeadComponent extends XTableHeadProperty implements OnInit {\r\n sort: XSort[] = [];\r\n sortStr = '';\r\n theadStyle: { [property: string]: any } = {};\r\n @ViewChild('thead') thead: ElementRef;\r\n constructor(\r\n @Host() @Optional() public table: XTableComponent,\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n XIsChange(simples.columns, simples.scrollYWidth, simples.scrollXWidth, simples.cellConfig) && this.cdr.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n removeNgTag(this.elementRef.nativeElement);\r\n this.setStyle();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.table.thead = this.thead;\r\n this.table.headChange = () => this.cdr.detectChanges();\r\n }\r\n\r\n getSticky(column: XTableColumn | XTableCell) {\r\n return Number(column.left) >= 0;\r\n }\r\n\r\n setStyle() {\r\n let height = this.rowHeight == 0 ? '' : this.rowHeight;\r\n if (this.cellConfig && this.cellConfig.cells) {\r\n const spt = this.cellConfig.cells.map((x) => {\r\n const gridAreaSpt = x.gridArea?.split('/');\r\n return gridAreaSpt && gridAreaSpt.length > 3 ? Number(gridAreaSpt[2]) : 2;\r\n });\r\n height = ((Math.max(...spt) - 1) * (height as number)) as XNumber;\r\n }\r\n this.theadStyle = {\r\n height: `${height}px`\r\n };\r\n }\r\n\r\n onSort(column: XTableColumn) {\r\n if (!column.sort) return;\r\n if (XIsEmpty(this.sort)) this.sort = [];\r\n let sort = this.sort?.find((y) => y.field === column.id);\r\n if (sort) {\r\n if (sort.value === 'asc') {\r\n this.sort = [];\r\n this.sortStr = '';\r\n } else {\r\n sort.value = 'asc';\r\n }\r\n } else {\r\n sort = { field: column.id, value: 'desc' };\r\n this.sort = [sort];\r\n }\r\n if (!XIsEmpty(this.sort)) this.sortStr = `${sort.field} ${sort.value}`;\r\n this.table.checkSort(this.sort);\r\n this.table.sortChange.emit(this.sort);\r\n this.table.resetScroll(false, true);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n dragWidth(dis: { x: number; y: number }, column: XTableColumn | XTableCell) {\r\n if (column.width) {\r\n (column.width as number) += dis.x;\r\n if (column.width < 60) column.width = 60;\r\n this.cdr.detectChanges();\r\n this.table.bodyChange();\r\n }\r\n }\r\n\r\n trackByItem(index: number, item: XTableColumn) {\r\n return item.id;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n Host,\r\n Optional,\r\n SimpleChanges,\r\n OnChanges,\r\n Inject,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XTableBodyPrefix, XTableBodyProperty, XTableRow, XTableColumn } from './table.property';\r\nimport { removeNgTag, XIsChange, XResize, XConfigService, XNumber } from '@ng-nest/ui/core';\r\nimport { XTableComponent } from './table.component';\r\nimport { Subject, fromEvent } from 'rxjs';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XTableBodyPrefix}`,\r\n templateUrl: './table-body.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTableBodyComponent extends XTableBodyProperty implements OnInit, OnChanges {\r\n tbodyStyle: { [property: string]: any } = {};\r\n get isEmpty() {\r\n return this.data?.length === 0;\r\n }\r\n\r\n @ViewChild('tbody') tbody: ElementRef;\r\n @ViewChild('virtualBody') virtualBody: CdkVirtualScrollViewport;\r\n\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver: ResizeObserver;\r\n\r\n constructor(\r\n @Host() @Optional() public table: XTableComponent,\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) public doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n ngOnChanges(simples: SimpleChanges) {\r\n XIsChange(simples.data, simples.columns, simples.activatedRow, simples.mergeRule) && this.cdr.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n removeNgTag(this.elementRef.nativeElement);\r\n if (this.scroll?.y && !this.bodyHeight) {\r\n this.bodyHeight = this.scroll.y;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.table.virtualBody = this.virtualBody;\r\n this.table.bodyChange = () => this.cdr.detectChanges();\r\n this.setSubject();\r\n this.setScroll();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n setSubject() {\r\n if (this.virtualBody) {\r\n this.table.scrollContentEle = this.virtualBody?.elementRef?.nativeElement.querySelector(\r\n '.cdk-virtual-scroll-content-wrapper'\r\n ) as HTMLElement;\r\n if (this.scroll?.x) {\r\n this.renderer.setStyle(this.table.scrollContentEle, 'width', `${this.scroll.x}px`);\r\n }\r\n XResize(this.table.table.nativeElement, this.table.scrollContentEle)\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n this.setAdaptionHeight();\r\n this.setScroll();\r\n });\r\n fromEvent(window, 'resize')\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setAdaptionHeight();\r\n });\r\n }\r\n if (this.table.scrollContentEle) {\r\n fromEvent(this.virtualBody.elementRef.nativeElement, 'scroll')\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n const ele = x.srcElement as HTMLElement;\r\n this.table.scrollTop = ele.scrollTop;\r\n this.table.scrollLeft = ele.scrollLeft;\r\n if (ele.scrollLeft >= 0 && this.table.thead) {\r\n this.table.thead.nativeElement.scrollLeft = this.table.scrollLeft;\r\n }\r\n this.table.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n setScroll() {\r\n if (!this.virtualBody || !this.table.thead) return;\r\n const ele = this.virtualBody.elementRef.nativeElement;\r\n const hasY = ele.scrollHeight > this.bodyHeight;\r\n const hasX = this.table.scrollContentEle.clientWidth > ele.clientWidth;\r\n\r\n if (!this.table.hasScrollY && hasY) {\r\n this.table.hasScrollY = true;\r\n this.table.scrollYWidth = ele.offsetWidth - ele.clientWidth;\r\n } else if (this.table.hasScrollY && !hasY) {\r\n this.table.hasScrollY = false;\r\n this.table.scrollYWidth = 0;\r\n }\r\n\r\n if (!this.table.hasScrollX && hasX) {\r\n this.table.hasScrollX = true;\r\n this.table.scrollXHeight = ele.offsetHeight - ele.clientHeight;\r\n } else if (this.table.hasScrollX && !hasX) {\r\n this.table.hasScrollX = false;\r\n this.table.scrollXHeight = 0;\r\n this.table.scrollXWidth = null;\r\n }\r\n if (hasX) {\r\n this.table.scrollXWidth = ele.offsetWidth + ele.scrollWidth - ele.clientWidth;\r\n }\r\n\r\n this.table.cdr.detectChanges();\r\n }\r\n\r\n setStyle() {\r\n let height = this.rowHeight == 0 ? '' : this.rowHeight;\r\n if (this.cellConfig && this.cellConfig.cells) {\r\n const spt = this.cellConfig.cells.map((x) => {\r\n const gridAreaSpt = x.gridArea?.split('/');\r\n return gridAreaSpt && gridAreaSpt.length > 3 ? Number(gridAreaSpt[2]) : 2;\r\n });\r\n height = ((Math.max(...spt) - 1) * (height as number)) as XNumber;\r\n }\r\n this.tbodyStyle = {\r\n height: `${height}px`\r\n };\r\n }\r\n\r\n getIndex(index: number, item: XTableRow) {\r\n if (!isNaN(index)) return index;\r\n return this.data.indexOf(item);\r\n }\r\n\r\n setAdaptionHeight() {\r\n if (this.adaptionHeight > 0) {\r\n const headHeight = this.table.thead?.nativeElement.clientHeight || 0;\r\n const footHeight = this.table.tfoot?.nativeElement.clientHeight || 0;\r\n const paginationHeight = this.table.pagination?.elementRef.nativeElement.clientHeight || 0;\r\n this.bodyHeight =\r\n Number(this.docPercent) * this.doc.documentElement.clientHeight -\r\n headHeight -\r\n footHeight -\r\n paginationHeight -\r\n Number(this.adaptionHeight);\r\n if (this.bodyHeight < 0) this.bodyHeight = 0;\r\n this.minBufferPx = this.bodyHeight;\r\n this.maxBufferPx = this.bodyHeight * 1.2;\r\n this.virtualBody['_scrollStrategy']['_minBufferPx'] = this.minBufferPx;\r\n this.virtualBody['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPx;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n rowClick(row: XTableRow) {\r\n this.activatedRow = row;\r\n if (this.table.rowChecked) {\r\n if (!Array.from((event as any).path).find((x: any) => x.localName == 'x-checkbox')) {\r\n row[this.table.rowChecked.id] = !row[this.table.rowChecked.id];\r\n this.table.bodyChecked(row[this.table.rowChecked.id], this.table.rowChecked);\r\n }\r\n }\r\n this.activatedRowChange.emit(row);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n trackByItem(index: number, item: XTableRow | XTableColumn) {\r\n return item.id;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n Host,\r\n Optional,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XTableFootPrefix, XTableFootProperty } from './table.property';\r\nimport { removeNgTag } from '@ng-nest/ui/core';\r\nimport { XTableComponent } from './table.component';\r\n\r\n@Component({\r\n selector: `${XTableFootPrefix}`,\r\n templateUrl: './table-foot.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTableFootComponent extends XTableFootProperty implements OnInit {\r\n @ViewChild('tfoot') tfoot: ElementRef;\r\n constructor(\r\n @Host() @Optional() public table: XTableComponent,\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n removeNgTag(this.elementRef.nativeElement);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.table.tfoot = this.tfoot;\r\n }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Directive, ElementRef, EventEmitter, Inject, Input, Output, Renderer2 } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Directive({ selector: '[xDrag]' })\r\nexport class XDragDirective {\r\n @Output() draging = new EventEmitter<{ x: number; y: number }>();\r\n private _unSubject = new Subject<void>();\r\n doc: Document;\r\n\r\n constructor(private elementRef: ElementRef, @Inject(DOCUMENT) document: any, private renderer: Renderer2) {\r\n this.doc = document;\r\n }\r\n\r\n ngOnInit() {\r\n const mouseDown = fromEvent<MouseEvent>(this.elementRef.nativeElement, 'mousedown');\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 this.renderer.setStyle(this.doc.documentElement, 'cursor', 'ew-resize');\r\n this.renderer.setStyle(this.doc.documentElement, 'user-select', 'none');\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.draging.emit({ x: offsetX, y: offsetY });\r\n });\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mouseup')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe((x) => {\r\n this.renderer.removeStyle(this.doc.documentElement, 'cursor');\r\n this.renderer.removeStyle(this.doc.documentElement, 'user-select');\r\n _unSub.next();\r\n _unSub.complete();\r\n });\r\n });\r\n\r\n // fromEvent(this.elementRef.nativeElement, 'mousedown')\r\n // .pipe(\r\n // tap((mouse: MouseEvent) => {\r\n // return { startX: mouse.clientX, startY: mouse.clientY };\r\n // }),\r\n // tap((x) => {\r\n // fromEvent(this.elementRef.nativeElement, 'mousemove').pipe()\r\n // }),\r\n // takeUntil(this._unSubject)\r\n // )\r\n // .subscribe((x) => {\r\n // console.log(x);\r\n // });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XPaginationModule } from '@ng-nest/ui/pagination';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { XEmptyModule } from '@ng-nest/ui/empty';\r\nimport { XCheckboxModule } from '@ng-nest/ui/checkbox';\r\nimport { XLoadingModule } from '@ng-nest/ui/loading';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XTableProperty, XTableHeadProperty, XTableBodyProperty, XTableFootProperty } from './table.property';\r\nimport { XTableComponent } from './table.component';\r\nimport { XTableHeadComponent } from './table-head.component';\r\nimport { XTableBodyComponent } from './table-body.component';\r\nimport { XTableFootComponent } from './table-foot.component';\r\nimport { XDragDirective } from './drag.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n XDragDirective,\r\n XTableComponent,\r\n XTableProperty,\r\n XTableHeadComponent,\r\n XTableHeadProperty,\r\n XTableBodyComponent,\r\n XTableBodyProperty,\r\n XTableFootComponent,\r\n XTableFootProperty\r\n ],\r\n exports: [XTableComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n XPaginationModule,\r\n XOutletModule,\r\n XCheckboxModule,\r\n XIconModule,\r\n ScrollingModule,\r\n XEmptyModule,\r\n XLoadingModule\r\n ]\r\n})\r\nexport class XTableModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-table.js","sources":["../../../../lib/ng-nest/ui/table/table.property.ts","../../../../lib/ng-nest/ui/table/table.component.ts","../../../../lib/ng-nest/ui/table/table-head.component.ts","../../../../lib/ng-nest/ui/table/table-body.component.ts","../../../../lib/ng-nest/ui/table/table-foot.component.ts","../../../../lib/ng-nest/ui/table/drag.directive.ts","../../../../lib/ng-nest/ui/table/table.module.ts","../../../../lib/ng-nest/ui/table/ng-nest-ui-table.ts"],"sourcesContent":["import {\r\n XProperty,\r\n XNumber,\r\n XInputNumber,\r\n XIdentityProperty,\r\n XId,\r\n XSort,\r\n XInputBoolean,\r\n XBoolean,\r\n XData,\r\n XWithConfig,\r\n XTextAlign,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Component, EventEmitter, TemplateRef, Output } from '@angular/core';\r\nimport { XPaginationProperty, XPaginationOption } from '@ng-nest/ui/pagination';\r\n\r\n/**\r\n * Table\r\n * @selector x-table\r\n * @decorator component\r\n */\r\nexport const XTablePrefix = 'x-table';\r\nconst X_CONFIG_NAME = 'table';\r\n\r\n/**\r\n * Table Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTableProperty extends XPaginationProperty implements XTableOption {\r\n /**\r\n * @zh_CN 行数据\r\n * @en_US Row data\r\n */\r\n @Input() data: XData<XTableRow> = [];\r\n /**\r\n * @zh_CN 列集合\r\n * @en_US Column set\r\n */\r\n @Input() columns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 表头和行高,单位 px\r\n * @en_US Header and row height, unit px\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() rowHeight!: number;\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() loading!: XBoolean;\r\n /**\r\n * @zh_CN 是否展示列边框\r\n * @en_US Whether to show column borders\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() bordered!: XBoolean;\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() activatedRow?: XTableRow;\r\n /**\r\n * @zh_CN 当前选中行改变\r\n * @en_US The currently selected row changes\r\n */\r\n @Output() activatedRowChange = new EventEmitter<XTableRow>();\r\n /**\r\n * @zh_CN 列头自定义模板\r\n * @en_US Column header custom template\r\n */\r\n @Input() headColumnTpl: XTableTemplate = {};\r\n /**\r\n * @zh_CN 列内容自定义模板\r\n * @en_US Column content custom template\r\n */\r\n @Input() bodyColumnTpl: XTableTemplate = {};\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n @Output() sortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 允许行点击选中\r\n * @en_US Allow row click to select\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) @XInputBoolean() allowSelectRow!: XBoolean;\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() virtualScroll!: XBoolean;\r\n /**\r\n * @zh_CN body 数据高度\r\n * @en_US body data height\r\n */\r\n @Input() @XInputNumber() bodyHeight?: number;\r\n /**\r\n * @zh_CN itemSize,对应 cdk scroll 中的参数\r\n * @en_US itemSize,corresponding to the parameters in cdk scroll\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() itemSize!: number;\r\n /**\r\n * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() minBufferPx: number = 100;\r\n /**\r\n * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() maxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() adaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 文档高度百分比,弹窗百分比高度用到\r\n * @en_US Document height percentage, used by pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() docPercent: XNumber = 1;\r\n /**\r\n * @zh_CN checkbox 列初始选中的数据,列中激活 checkbox\r\n * @en_US Checkbox column initially selected data, checkbox is activated in column\r\n */\r\n @Input() checkedRow: { [property: string]: any[] } = {};\r\n /**\r\n * @zh_CN 如果 data 是函数类型,可以通过此参数控制请求,常用于弹框中的表格,弹出后再请求\r\n * @en_US If data is a function type, you can use this parameter to control the request, which is often used in the form in the pop-up box, and then request it after it pops up\r\n */\r\n @Input() @XInputBoolean() manual: XBoolean = true;\r\n /**\r\n * @zh_CN 滚动区域高宽\r\n * @en_US Height and width of rolling area\r\n */\r\n @Input() scroll?: { x: number; y: number };\r\n /**\r\n * @zh_CN 参数控制请求改变事件\r\n * @en_US Parameter control request change event\r\n */\r\n @Output() manualChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell config\r\n */\r\n @Input() cellConfig?: XTableCellConfig;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') rowSize?: XSize;\r\n}\r\n\r\n/**\r\n * Table Option\r\n * @undocument true\r\n */\r\nexport interface XTableOption extends XPaginationOption {\r\n /**\r\n * @zh_CN 行数据\r\n * @en_US Row data\r\n */\r\n data?: XData<XTableRow>;\r\n /**\r\n * @zh_CN 列集合\r\n * @en_US Column set\r\n */\r\n columns?: XTableColumn[];\r\n /**\r\n * @zh_CN 表头和行高,单位 px\r\n * @en_US Header and row height, unit px\r\n */\r\n rowHeight?: number;\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n loading?: XBoolean;\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n activatedRow?: XTableRow;\r\n /**\r\n * @zh_CN 列头自定义模板\r\n * @en_US Column header custom template\r\n */\r\n headColumnTpl?: XTableTemplate;\r\n /**\r\n * @zh_CN 列内容自定义模板\r\n * @en_US Column content custom template\r\n */\r\n bodyColumnTpl?: XTableTemplate;\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n virtualScroll?: XBoolean;\r\n /**\r\n * @zh_CN body 数据高度\r\n * @en_US body data height\r\n */\r\n bodyHeight?: number;\r\n /**\r\n * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n minBufferPx?: number;\r\n /**\r\n * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll\r\n */\r\n maxBufferPx?: number;\r\n /**\r\n * @zh_CN 自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n adaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 文档高度百分比,弹窗百分比高度用到\r\n * @en_US Document height percentage, used by pop-up window percentage height\r\n */\r\n docPercent?: XNumber;\r\n /**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell config\r\n */\r\n cellConfig?: XTableCellConfig;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n rowSize?: XSize;\r\n}\r\n\r\n/**\r\n * @zh_CN 数据\r\n * @en_US Data\r\n */\r\nexport interface XTableRow extends XId {\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 列参数\r\n * @en_US Column parameter\r\n */\r\nexport interface XTableColumn extends XIdentityProperty {\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n type?: XColumnType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n width?: number;\r\n /**\r\n * @zh_CN flex 布局宽度\r\n * @en_US Flex layout width\r\n */\r\n flex?: number;\r\n /**\r\n * @zh_CN 查询字段\r\n * @en_US Query field\r\n */\r\n search?: boolean;\r\n /**\r\n * @zh_CN 排序字段\r\n * @en_US Sort field\r\n */\r\n sort?: boolean;\r\n /**\r\n * @zh_CN 固定列,距离左边的距离\r\n * @en_US Fixed column, distance from left\r\n */\r\n left?: number;\r\n /**\r\n * @zh_CN 操作按钮\r\n * @en_US Operation button\r\n */\r\n action?: boolean;\r\n /**\r\n * @zh_CN type 为 checkbox 时绑定行点击选中事件\r\n * @en_US Bind row click selection event when type is checkbox\r\n */\r\n rowChecked?: boolean;\r\n /**\r\n * @zh_CN 文字对齐方式\r\n * @en_US Text alignment\r\n */\r\n textAlign?: XTextAlign;\r\n /**\r\n * @zh_CN 拖动列宽,需要设置列的初始宽度 width\r\n * @en_US Drag the column width, you need to set the initial width of the column width\r\n */\r\n dragWidth?: boolean;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell config\r\n */\r\nexport interface XTableCellConfig {\r\n /**\r\n * @zh_CN 列单元格配置\r\n * @en_US Column cell config\r\n */\r\n thead?: XTableCellConfigRule;\r\n /**\r\n * @zh_CN 行单元格配置\r\n * @en_US Row config\r\n */\r\n tbody?: XTableCellConfigRule;\r\n}\r\n\r\n/**\r\n * @zh_CN 单元格配置规则\r\n * @en_US Cell config rules\r\n */\r\nexport interface XTableCellConfigRule {\r\n /**\r\n * @zh_CN grid 布局下定义列宽度\r\n * @en_US Define column width under grid layout\r\n */\r\n gridTemplateColumns?: string;\r\n /**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell merge rules\r\n */\r\n cells?: XTableCell[];\r\n}\r\n\r\n/**\r\n * @zh_CN 单元格合并配置\r\n * @en_US Cell merge rules\r\n */\r\nexport interface XTableCell {\r\n /**\r\n * @zh_CN 使用 grid 布局来合并单元格\r\n * @en_US Use grid layout to merge cells\r\n */\r\n gridArea?: string;\r\n /**\r\n * @zh_CN 名称\r\n * @en_US Name\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 固定列,距离左边的距离\r\n * @en_US Fixed column, distance from left\r\n */\r\n left?: number;\r\n /**\r\n * @zh_CN 对应列的 id\r\n * @en_US The id of the corresponding column\r\n */\r\n id?: string;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 列类型\r\n * @en_US Column type\r\n */\r\nexport type XColumnType = 'label' | 'index' | 'checkbox';\r\n\r\n/**\r\n * @zh_CN 模板\r\n * @en_US Template\r\n */\r\nexport type XTableTemplate = { [property: string]: TemplateRef<any> };\r\n\r\n/**\r\n * Table Head\r\n * @selector x-table-head\r\n * @decorator component\r\n */\r\nexport const XTableHeadPrefix = 'x-table-head';\r\n\r\n/**\r\n * Table Head Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTableHeadProperty extends XProperty {\r\n /**\r\n * @zh_CN 列集合\r\n * @en_US Column set\r\n */\r\n @Input() columns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 高度,单位 px\r\n * @en_US Height in px\r\n */\r\n @Input() @XInputNumber() rowHeight: XNumber = 42;\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n @Input() columnTpl: XTableTemplate = {};\r\n /**\r\n * @zh_CN 竖向滚动条宽度\r\n * @en_US Vertical scroll bar width\r\n */\r\n @Input() scrollYWidth?: number;\r\n /**\r\n * @zh_CN 横向滚动条宽度\r\n * @en_US Horizontal scroll bar width\r\n */\r\n @Input() scrollXWidth?: number | null;\r\n /**\r\n * @zh_CN 单元格配置\r\n * @en_US Cell merge rules\r\n */\r\n @Input() cellConfig?: XTableCellConfigRule;\r\n}\r\n\r\n/**\r\n * Table Body\r\n * @selector x-table-body\r\n * @decorator component\r\n */\r\nexport const XTableBodyPrefix = 'x-table-body';\r\n\r\n/**\r\n * Table Body Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTableBodyProperty extends XProperty {\r\n /**\r\n * @zh_CN 行数据\r\n * @en_US Row data\r\n */\r\n @Input() data: XTableRow[] = [];\r\n /**\r\n * @zh_CN 列集合\r\n * @en_US Column set\r\n */\r\n @Input() columns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n @Input() columnTpl: XTableTemplate = {};\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() activatedRow?: XTableRow;\r\n /**\r\n * @zh_CN 当前选中行改变\r\n * @en_US The currently selected row changes\r\n */\r\n @Output() activatedRowChange = new EventEmitter<XTableRow>();\r\n /**\r\n * @zh_CN 高度,单位 px。设置为 0 表示行高自适应内容高度。\r\n * @en_US Height in px. set to 0 means that the row height is adaptive to the content height\r\n */\r\n @Input() @XInputNumber() rowHeight: XNumber = 42;\r\n /**\r\n * @zh_CN body 数据高度\r\n * @en_US body data height\r\n */\r\n @Input() @XInputNumber() bodyHeight?: number;\r\n /**\r\n * @zh_CN 允许行点击选中\r\n * @en_US Allow row click to select\r\n */\r\n @Input() @XInputBoolean() allowSelectRow: XBoolean = true;\r\n /**\r\n * @zh_CN 开启虚拟滚动\r\n * @en_US Turn on virtual scrolling\r\n */\r\n @Input() @XInputBoolean() virtualScroll: XBoolean = false;\r\n /**\r\n * @zh_CN itemSize,对应 cdk scroll 中的参数\r\n * @en_US itemSize,corresponding to the parameters in cdk scroll\r\n */\r\n @Input() @XInputNumber() itemSize: number = 42;\r\n /**\r\n * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() minBufferPx: number = 100;\r\n /**\r\n * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() maxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() adaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 文档高度百分比,弹窗百分比高度用到\r\n * @en_US Document height percentage, used by pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() docPercent: XNumber = 1;\r\n /**\r\n * @zh_CN 滚动区域高宽\r\n * @en_US Height and width of rolling area\r\n */\r\n @Input() scroll?: { x: number; y: number };\r\n /**\r\n * @zh_CN 单元格配置规则\r\n * @en_US Cell config rules\r\n */\r\n @Input() cellConfig?: XTableCellConfigRule;\r\n}\r\n\r\n/**\r\n * Table Foot\r\n * @selector x-table-foot\r\n * @decorator component\r\n */\r\nexport const XTableFootPrefix = 'x-table-foot';\r\n\r\n/**\r\n * Table Foot Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTableFootProperty extends XProperty {}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n ViewChild,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XTablePrefix, XTableProperty, XTableColumn, XTableRow, XTableCell, XTableCellConfigRule } from './table.property';\r\nimport { XIsChange, XIsEmpty, XResultList, XNumber, XSort, XConfigService } from '@ng-nest/ui/core';\r\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\r\nimport { XPaginationComponent } from '@ng-nest/ui/pagination';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XTablePrefix}`,\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTableComponent extends XTableProperty implements OnInit, OnDestroy {\r\n get getScrollLeft() {\r\n return this.scrollLeft > 0;\r\n }\r\n get getScrollTop() {\r\n return this.scrollTop > 0;\r\n }\r\n thead!: ElementRef;\r\n tfoot!: ElementRef;\r\n virtualBody!: CdkVirtualScrollViewport;\r\n headChange!: () => void;\r\n bodyChange!: () => void;\r\n scrollContentEle!: HTMLElement;\r\n hasScrollY = false;\r\n scrollYWidth = 0;\r\n hasScrollX = false;\r\n scrollXHeight = 0;\r\n scrollXWidth!: number | null;\r\n scrollLeft = 0;\r\n scrollTop = 0;\r\n rowChecked!: XTableColumn;\r\n headCheckboxList!: XTableColumn[];\r\n dataIsFunc = false;\r\n getting = false;\r\n tableData: XTableRow[] = [];\r\n checkedValues: { [prop: string]: boolean } = {};\r\n indeterminate = '$$indeterminate';\r\n @ViewChild('table') table!: ElementRef;\r\n @ViewChild('pagination') pagination!: XPaginationComponent;\r\n private _unSubject = new Subject();\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setRowChecked();\r\n this.setMerge();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n XIsChange(simples.data, simples.checkedRow) && this.setData();\r\n XIsChange(simples.columns, simples.activatedRow) && this.cdr.detectChanges();\r\n XIsChange(simples.manual) && this.setManual();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XTablePrefix}-row-size-${this.rowSize}`]: !XIsEmpty(this.rowSize)\r\n };\r\n this.cdr.detectChanges();\r\n }\r\n\r\n getSticky(column: XTableColumn | XTableCell) {\r\n return Number(column.left) >= 0;\r\n }\r\n\r\n getIndex(index: number) {\r\n return (Number(this.index) - 1) * Number(this.size) + index + 1;\r\n }\r\n\r\n setData() {\r\n if (Array.isArray(this.data)) {\r\n this.dataIsFunc = false;\r\n this.tableData = this.data;\r\n this.setChecked();\r\n this.setHeadCheckboxList();\r\n } else if (this.data instanceof Function) {\r\n this.dataIsFunc = true;\r\n this.getDataByFunc();\r\n }\r\n }\r\n\r\n getDataByFunc() {\r\n if (!this.manual) return;\r\n this.getting = true;\r\n this.cdr.detectChanges();\r\n this._unSubject.next();\r\n (this.data as Function)(this.index, this.size, this.query)\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x: XResultList<XTableRow>) => {\r\n [this.tableData, this.total] = [x.list as XTableRow[], x.total as XNumber];\r\n if (this.virtualBody) {\r\n this.virtualBody.scrollToIndex(0);\r\n this.virtualBody.checkViewportSize();\r\n }\r\n this.getting = false;\r\n this.setChecked();\r\n this.setHeadCheckboxList();\r\n this.detectChanges();\r\n });\r\n }\r\n\r\n setManual() {\r\n if (this.dataIsFunc) this.getDataByFunc();\r\n }\r\n\r\n setRowChecked() {\r\n this.rowChecked = this.columns.find((x) => x.rowChecked) as XTableColumn;\r\n this.headCheckboxList = this.columns.filter((x) => x.type === 'checkbox' && x.headChecked);\r\n }\r\n\r\n setMerge() {\r\n if (!this.cellConfig) return;\r\n const setRule = (rule?: XTableCellConfigRule) => {\r\n if (!rule) return;\r\n let gridTemplateColumns = '',\r\n cells = [];\r\n if (!rule.gridTemplateColumns) {\r\n gridTemplateColumns = `${this.columns\r\n .map((x) => {\r\n if (x.width) return x.width;\r\n if (x.flex) return `${x.flex}fr`;\r\n return '1fr';\r\n })\r\n .join(' ')}`;\r\n }\r\n if (!rule.cells) return;\r\n cells = rule.cells.map((y) => {\r\n const col = this.columns.find((z) => z.id === y.id);\r\n if (col) {\r\n return { ...col, ...y } as XTableCell;\r\n }\r\n return y;\r\n });\r\n return { gridTemplateColumns, cells };\r\n };\r\n this.cellConfig.thead = setRule(this.cellConfig.thead);\r\n this.cellConfig.tbody = setRule(this.cellConfig.tbody);\r\n }\r\n\r\n change(index: number) {\r\n this.index = index;\r\n this.dataIsFunc && this.getDataByFunc();\r\n this.indexChange.emit(index);\r\n this.resetScroll();\r\n }\r\n\r\n resetScroll(x = true, y = true) {\r\n if (this.hasScrollX && x) this.virtualBody?.scrollTo({ left: 0 });\r\n if (this.hasScrollY && y) this.virtualBody?.scrollTo({ top: 0 });\r\n }\r\n\r\n setChecked() {\r\n let result: XTableRow[] = [];\r\n if (XIsEmpty(this.tableData) || !this.checkedRow) return;\r\n for (let key in this.checkedRow) {\r\n const arr = this.checkedRow[key];\r\n for (let item of this.tableData as any[]) {\r\n item[key] = arr.includes(item.id);\r\n result = [...result, item];\r\n }\r\n }\r\n if (result.length > 0) this.tableData = [...result];\r\n this.detectChanges();\r\n }\r\n\r\n setHeadCheckboxList() {\r\n if (XIsEmpty(this.tableData) || !this.headCheckboxList) return;\r\n for (let column of this.headCheckboxList) {\r\n this.setCheckedValues(column);\r\n }\r\n }\r\n\r\n checkSort(sort: XSort[]) {\r\n if (!this.dataIsFunc) return;\r\n if (typeof this.query === 'undefined') this.query = {};\r\n this.query.sort = sort;\r\n this.queryChange.emit(this.query);\r\n this.getDataByFunc();\r\n }\r\n\r\n headChecked(checked: boolean, column: XTableColumn) {\r\n this.tableData.forEach((x) => {\r\n x[column.id] = checked;\r\n });\r\n this.setCheckedValues(column);\r\n this.detectChanges();\r\n }\r\n\r\n bodyChecked(checked: boolean, column: XTableColumn) {\r\n this.setCheckedValues(column);\r\n this.detectChanges();\r\n }\r\n\r\n setCheckedValues(column: XTableColumn) {\r\n const count = this.tableData.length;\r\n const checkedLen = this.tableData.filter((x) => x[column.id]).length;\r\n this.checkedValues[column.id] = count === checkedLen;\r\n this.checkedValues[column.id + this.indeterminate] = checkedLen > 0 && checkedLen < count;\r\n }\r\n\r\n detectChanges() {\r\n this.bodyChange && this.bodyChange();\r\n this.headChange && this.headChange();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Optional,\r\n Host,\r\n SimpleChanges,\r\n ViewChild,\r\n Input\r\n} from '@angular/core';\r\nimport { XTableHeadPrefix, XTableHeadProperty, XTableColumn, XTableCell } from './table.property';\r\nimport { removeNgTag, XIsEmpty, XSort, XIsChange, XConfigService, XNumber } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XTableHeadPrefix}`,\r\n templateUrl: './table-head.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class XTableHeadComponent extends XTableHeadProperty implements OnInit {\r\n sort: XSort[] = [];\r\n sortStr = '';\r\n theadStyle: { [property: string]: any } = {};\r\n @ViewChild('thead') thead!: ElementRef;\r\n @Input() table: any;\r\n get getRowHeight() {\r\n return this.rowHeight == 0 ? '' : this.rowHeight;\r\n }\r\n constructor(\r\n // @Optional() @Host() public table: XTableComponent,\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n XIsChange(simples.columns, simples.scrollYWidth, simples.scrollXWidth, simples.cellConfig) && this.cdr.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n removeNgTag(this.elementRef.nativeElement);\r\n this.setStyle();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.table.thead = this.thead;\r\n this.table.headChange = () => this.cdr.detectChanges();\r\n }\r\n\r\n getSticky(column: XTableColumn | XTableCell) {\r\n return Number(column.left) >= 0;\r\n }\r\n\r\n setStyle() {\r\n let height = this.rowHeight == 0 ? '' : this.rowHeight;\r\n if (this.cellConfig && this.cellConfig.cells) {\r\n const spt = this.cellConfig.cells.map((x) => {\r\n const gridAreaSpt = x.gridArea?.split('/');\r\n return gridAreaSpt && gridAreaSpt.length > 3 ? Number(gridAreaSpt[2]) : 2;\r\n });\r\n height = ((Math.max(...spt) - 1) * (height as number)) as XNumber;\r\n }\r\n this.theadStyle = {\r\n height: `${height}px`,\r\n ['min-height']: `${this.getRowHeight}px`\r\n };\r\n }\r\n\r\n onSort(column: XTableColumn) {\r\n if (!column.sort) return;\r\n if (XIsEmpty(this.sort)) this.sort = [];\r\n let sort = this.sort?.find((y) => y.field === column.id);\r\n if (sort) {\r\n if (sort.value === 'asc') {\r\n this.sort = [];\r\n this.sortStr = '';\r\n } else {\r\n sort.value = 'asc';\r\n }\r\n } else {\r\n sort = { field: column.id, value: 'desc' };\r\n this.sort = [sort];\r\n }\r\n if (!XIsEmpty(this.sort)) this.sortStr = `${sort.field} ${sort.value}`;\r\n this.table.checkSort(this.sort);\r\n this.table.sortChange.emit(this.sort);\r\n this.table.resetScroll(false, true);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n dragWidth(dis: { x: number; y: number }, column: XTableColumn | XTableCell) {\r\n if (column.width) {\r\n (column.width as number) += dis.x;\r\n if (column.width < 60) column.width = 60;\r\n this.cdr.detectChanges();\r\n this.table.bodyChange();\r\n }\r\n }\r\n\r\n trackByItem(index: number, item: XTableColumn) {\r\n return item.id;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n Host,\r\n Optional,\r\n SimpleChanges,\r\n OnChanges,\r\n Inject,\r\n ViewChild,\r\n Input\r\n} from '@angular/core';\r\nimport { XTableBodyPrefix, XTableBodyProperty, XTableRow, XTableColumn, XTableCell } from './table.property';\r\nimport { removeNgTag, XIsChange, XResize, XConfigService, XNumber, stripTags } from '@ng-nest/ui/core';\r\nimport { Subject, fromEvent } from 'rxjs';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XTableBodyPrefix}`,\r\n templateUrl: './table-body.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTableBodyComponent extends XTableBodyProperty implements OnInit, OnChanges {\r\n tbodyStyle: { [property: string]: any } = {};\r\n get isEmpty() {\r\n return this.data?.length === 0;\r\n }\r\n get getRowHeight() {\r\n return this.rowHeight == 0 ? '' : this.rowHeight;\r\n }\r\n get getItemSize() {\r\n return this.rowHeight !== 0 && this.itemSize > this.rowHeight ? this.rowHeight : this.itemSize;\r\n }\r\n\r\n @ViewChild('tbody') tbody!: ElementRef;\r\n @ViewChild('virtualBody') virtualBody!: CdkVirtualScrollViewport;\r\n @Input() table: any;\r\n\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: ResizeObserver;\r\n\r\n constructor(\r\n // @Optional() @Host() public table: XTableComponent,\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) public doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n ngOnChanges(simples: SimpleChanges) {\r\n XIsChange(simples.data, simples.columns, simples.activatedRow, simples.mergeRule) && this.cdr.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n removeNgTag(this.elementRef.nativeElement);\r\n if (this.scroll?.y && !this.bodyHeight) {\r\n this.bodyHeight = this.scroll.y;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.table.virtualBody = this.virtualBody;\r\n this.table.bodyChange = () => this.cdr.detectChanges();\r\n this.setSubject();\r\n this.setScroll();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n setSubject() {\r\n if (this.virtualBody) {\r\n this.table.scrollContentEle = this.virtualBody?.elementRef?.nativeElement.querySelector(\r\n '.cdk-virtual-scroll-content-wrapper'\r\n ) as HTMLElement;\r\n if (this.scroll?.x) {\r\n this.renderer.setStyle(this.table.scrollContentEle, 'width', `${this.scroll.x}px`);\r\n }\r\n XResize(this.table.table.nativeElement, this.table.scrollContentEle)\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n this.setAdaptionHeight();\r\n this.setScroll();\r\n });\r\n fromEvent(window, 'resize')\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setAdaptionHeight();\r\n });\r\n }\r\n if (this.table.scrollContentEle) {\r\n fromEvent(this.virtualBody.elementRef.nativeElement, 'scroll')\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n const ele = x.srcElement as HTMLElement;\r\n this.table.scrollTop = ele.scrollTop;\r\n this.table.scrollLeft = ele.scrollLeft;\r\n if (ele.scrollLeft >= 0 && this.table.thead) {\r\n this.table.thead.nativeElement.scrollLeft = this.table.scrollLeft;\r\n }\r\n this.table.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n setScroll() {\r\n if (!this.virtualBody || !this.table.thead) return;\r\n const ele = this.virtualBody.elementRef.nativeElement;\r\n const hasY = ele.scrollHeight > (this.bodyHeight as number);\r\n const hasX = this.table.scrollContentEle.clientWidth > ele.clientWidth;\r\n\r\n if (!this.table.hasScrollY && hasY) {\r\n this.table.hasScrollY = true;\r\n this.table.scrollYWidth = ele.offsetWidth - ele.clientWidth;\r\n } else if (this.table.hasScrollY && !hasY) {\r\n this.table.hasScrollY = false;\r\n this.table.scrollYWidth = 0;\r\n }\r\n\r\n if (!this.table.hasScrollX && hasX) {\r\n this.table.hasScrollX = true;\r\n this.table.scrollXHeight = ele.offsetHeight - ele.clientHeight;\r\n } else if (this.table.hasScrollX && !hasX) {\r\n this.table.hasScrollX = false;\r\n this.table.scrollXHeight = 0;\r\n this.table.scrollXWidth = null;\r\n }\r\n if (hasX) {\r\n this.table.scrollXWidth = ele.offsetWidth + ele.scrollWidth - ele.clientWidth;\r\n }\r\n\r\n this.table.cdr.detectChanges();\r\n }\r\n\r\n setStyle() {\r\n let height = this.rowHeight == 0 ? '' : this.rowHeight;\r\n if (this.cellConfig && this.cellConfig.cells) {\r\n const spt = this.cellConfig.cells.map((x) => {\r\n const gridAreaSpt = x.gridArea?.split('/');\r\n return gridAreaSpt && gridAreaSpt.length > 3 ? Number(gridAreaSpt[2]) : 2;\r\n });\r\n height = ((Math.max(...spt) - 1) * (height as number)) as XNumber;\r\n }\r\n this.tbodyStyle = {\r\n height: `${height}px`\r\n };\r\n }\r\n\r\n getIndex(index: number, item: XTableRow) {\r\n if (!isNaN(index)) return index;\r\n return this.data.indexOf(item);\r\n }\r\n\r\n getTitle(row: XTableRow, column: XTableCell | any) {\r\n let it = row[column.id as string];\r\n return it ? stripTags(it) : '';\r\n }\r\n\r\n setAdaptionHeight() {\r\n if ((this.adaptionHeight as number) > 0) {\r\n const headHeight = this.table.thead?.nativeElement.clientHeight || 0;\r\n const footHeight = this.table.tfoot?.nativeElement.clientHeight || 0;\r\n const paginationHeight = this.table.pagination?.elementRef.nativeElement.clientHeight || 0;\r\n this.bodyHeight =\r\n Number(this.docPercent) * this.doc.documentElement.clientHeight -\r\n headHeight -\r\n footHeight -\r\n paginationHeight -\r\n Number(this.adaptionHeight);\r\n if (this.bodyHeight < 0) this.bodyHeight = 0;\r\n this.minBufferPx = this.bodyHeight;\r\n this.maxBufferPx = this.bodyHeight * 1.2;\r\n this.virtualBody['_scrollStrategy']['_minBufferPx'] = this.minBufferPx;\r\n this.virtualBody['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPx;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n rowClick(row: XTableRow) {\r\n this.activatedRow = row;\r\n if (this.table.rowChecked) {\r\n if (!Array.from((event as any).path).find((x: any) => x.localName == 'x-checkbox')) {\r\n row[this.table.rowChecked.id] = !row[this.table.rowChecked.id];\r\n this.table.bodyChecked(row[this.table.rowChecked.id], this.table.rowChecked);\r\n }\r\n }\r\n this.activatedRowChange.emit(row);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n trackByItem(index: number, item: XTableRow | XTableColumn) {\r\n return item.id;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n Host,\r\n Optional,\r\n ViewChild,\r\n Input\r\n} from '@angular/core';\r\nimport { XTableFootPrefix, XTableFootProperty } from './table.property';\r\nimport { removeNgTag } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XTableFootPrefix}`,\r\n templateUrl: './table-foot.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTableFootComponent extends XTableFootProperty implements OnInit {\r\n @ViewChild('tfoot') tfoot!: ElementRef;\r\n @Input() table: any;\r\n constructor(\r\n // @Optional() @Host() public table: XTableComponent,\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n removeNgTag(this.elementRef.nativeElement);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.table.tfoot = this.tfoot!;\r\n }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Directive, ElementRef, EventEmitter, Inject, Input, Output, Renderer2 } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Directive({ selector: '[xDrag]' })\r\nexport class XDragDirective {\r\n @Output() draging = new EventEmitter<{ x: number; y: number }>();\r\n private _unSubject = new Subject<void>();\r\n doc: Document;\r\n\r\n constructor(private elementRef: ElementRef, @Inject(DOCUMENT) document: any, private renderer: Renderer2) {\r\n this.doc = document;\r\n }\r\n\r\n ngOnInit() {\r\n const mouseDown = fromEvent<MouseEvent>(this.elementRef.nativeElement, 'mousedown');\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 this.renderer.setStyle(this.doc.documentElement, 'cursor', 'ew-resize');\r\n this.renderer.setStyle(this.doc.documentElement, 'user-select', 'none');\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.draging.emit({ x: offsetX, y: offsetY });\r\n });\r\n fromEvent<MouseEvent>(this.doc.documentElement, 'mouseup')\r\n .pipe(takeUntil(_unSub))\r\n .subscribe((x) => {\r\n this.renderer.removeStyle(this.doc.documentElement, 'cursor');\r\n this.renderer.removeStyle(this.doc.documentElement, 'user-select');\r\n _unSub.next();\r\n _unSub.complete();\r\n });\r\n });\r\n\r\n // fromEvent(this.elementRef.nativeElement, 'mousedown')\r\n // .pipe(\r\n // tap((mouse: MouseEvent) => {\r\n // return { startX: mouse.clientX, startY: mouse.clientY };\r\n // }),\r\n // tap((x) => {\r\n // fromEvent(this.elementRef.nativeElement, 'mousemove').pipe()\r\n // }),\r\n // takeUntil(this._unSubject)\r\n // )\r\n // .subscribe((x) => {\r\n // console.log(x);\r\n // });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XPaginationModule } from '@ng-nest/ui/pagination';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { XEmptyModule } from '@ng-nest/ui/empty';\r\nimport { XCheckboxModule } from '@ng-nest/ui/checkbox';\r\nimport { XLoadingModule } from '@ng-nest/ui/loading';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XTableProperty, XTableHeadProperty, XTableBodyProperty, XTableFootProperty } from './table.property';\r\nimport { XTableComponent } from './table.component';\r\nimport { XTableHeadComponent } from './table-head.component';\r\nimport { XTableBodyComponent } from './table-body.component';\r\nimport { XTableFootComponent } from './table-foot.component';\r\nimport { XDragDirective } from './drag.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n XDragDirective,\r\n XTableComponent,\r\n XTableProperty,\r\n XTableHeadComponent,\r\n XTableHeadProperty,\r\n XTableBodyComponent,\r\n XTableBodyProperty,\r\n XTableFootComponent,\r\n XTableFootProperty\r\n ],\r\n exports: [XTableComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n XPaginationModule,\r\n XOutletModule,\r\n XCheckboxModule,\r\n XIconModule,\r\n ScrollingModule,\r\n XEmptyModule,\r\n XLoadingModule\r\n ]\r\n})\r\nexport class XTableModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -225,10 +225,10 @@ class XTabsComponent extends XTabsProperty {
|
|
|
225
225
|
XTabsComponent.decorators = [
|
|
226
226
|
{ type: Component, args: [{
|
|
227
227
|
selector: `${XTabsPrefix}`,
|
|
228
|
-
template: "<div class=\"x-tabs\" [ngClass]=\"classMap\">\r\n <div #list class=\"x-tabs-list\" *ngIf=\"!sliderHidden\">\r\n <x-slider\r\n #slider\r\n [animated]=\"animated && type !== 'tag'\"\r\n [justify]=\"justify\"\r\n [nodeJustify]=\"nodeJustify\"\r\n [data]=\"sliderOption
|
|
228
|
+
template: "<div class=\"x-tabs\" [ngClass]=\"classMap\">\r\n <div #list class=\"x-tabs-list\" *ngIf=\"!sliderHidden\">\r\n <x-slider\r\n #slider\r\n [animated]=\"animated && type !== 'tag'\"\r\n [justify]=\"justify\"\r\n [nodeJustify]=\"nodeJustify\"\r\n [data]=\"sliderOption.data\"\r\n [layout]=\"sliderOption.layout\"\r\n [size]=\"size\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [activatedIndex]=\"sliderOption.activatedIndex\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n <div #content class=\"x-tabs-contents\" [class.x-tabs-contents-animated]=\"animated && (layout === 'top' || layout === 'bottom')\">\r\n <x-tab-content\r\n *ngFor=\"let tab of listTabs; index as i\"\r\n [active]=\"activeIndex == i\"\r\n [content]=\"tab.content\"\r\n [class.x-tab-content-unactivated]=\"activeIndex != i\"\r\n [style.transform]=\"'translate(' + (-activeIndex || 0) * 100 + '%, 0px)'\"\r\n >\r\n </x-tab-content>\r\n </div>\r\n</div>\r\n",
|
|
229
229
|
encapsulation: ViewEncapsulation.None,
|
|
230
230
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
231
|
-
styles: [".x-tabs{margin:0;padding:0}.x-tabs,.x-tabs-contents{display:flex;overflow:hidden}.x-tabs-contents{flex:1;flex-direction:row}.x-tabs-contents>.x-tab-content{flex-shrink:0;width:100%;opacity:1;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.x-tabs-contents>.x-tab-content.x-tab-content-unactivated{transition:height 0s,opacity 0s;height:0;opacity:0}.x-tabs-contents-animated>.x-tab-content{transition:transform var(--x-animation-duration-slow) cubic-bezier(.645,.045,.355,1),height 0s,opacity var(--x-animation-duration-slow)}.x-tabs-contents-animated>.x-tab-content.x-tab-content-unactivated{display:inherit}.x-tabs-list{display:flex}.x-tabs-top{flex-direction:column}.x-tabs-right{flex-direction:row-reverse}.x-tabs-bottom{flex-direction:column-reverse}.x-tabs-left{flex-direction:row}.x-tabs-block.x-tabs-top>.x-tabs-list{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-block.x-tabs-top>.x-tabs-list>x-slider{width:100%}.x-tabs-block.x-tabs-top>.x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.x-tabs-block.x-tabs-right>.x-tabs-list{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-block.x-tabs-right>.x-tabs-list>x-slider{width:100%}.x-tabs-block.x-tabs-right>.x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.x-tabs-block.x-tabs-bottom>.x-tabs-list{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-block.x-tabs-bottom>.x-tabs-list>x-slider{width:100%}.x-tabs-block.x-tabs-bottom>.x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.x-tabs-block.x-tabs-left>.x-tabs-list{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-block.x-tabs-left>.x-tabs-list>x-slider{width:100%}.x-tabs-block.x-tabs-left>.x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.x-tabs-tag.x-tabs-top .x-tabs-list{border-bottom:none}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider{width:100%}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider:before{content:\" \";position:absolute;bottom:0;width:100%;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li{border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background)}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li:first-child{border-top-left-radius:.125rem}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li:nth-last-child(2){border-top-right-radius:.125rem}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li:not(:first-child){border-left:none}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{display:none}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-bottom-color:var(--x-background)}.x-tabs-tag.x-tabs-right .x-tabs-list{border-left:none}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider{width:100%}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider:before{content:\" \";position:absolute;left:0;height:100%;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li{border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background)}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li:first-child{border-top-right-radius:.125rem}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li:nth-last-child(2){border-bottom-right-radius:.125rem}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li:not(:first-child){border-top:none}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{display:none}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-left-color:var(--x-background)}.x-tabs-tag.x-tabs-bottom .x-tabs-list{border-bottom:none}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider{width:100%}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider:before{content:\" \";position:absolute;top:0;width:100%;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li{border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background)}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li:first-child{border-bottom-left-radius:.125rem}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li:nth-last-child(2){border-bottom-right-radius:.125rem}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li:not(:first-child){border-left:none}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{display:none}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-top-color:var(--x-background)}.x-tabs-tag.x-tabs-left .x-tabs-list{border-right:none}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider{width:100%}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider:before{content:\" \";position:absolute;right:0;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li{border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background)}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li:first-child{border-top-left-radius:.125rem}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li:nth-last-child(2){border-bottom-left-radius:.125rem}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li:not(:first-child){border-top:none}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{display:none}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-right-color:var(--x-background)}.x-tabs-card.x-tabs-top{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:none;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-tabs-card.x-tabs-top .x-tabs-list{border-bottom:none}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider{width:100%}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll{background-color:var(--x-background)}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll:after,.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll:before{content:\" \";position:absolute;width:100%;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll:after{top:0}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll:before{bottom:0}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom-color:var(--x-background);background-color:var(--x-background)}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-bottom-color:var(--x-background)}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-arrow-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-left:0}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-arrow-right{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-top.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-left:none}.x-tabs-card.x-tabs-top.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-top.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-top.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-top.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-top.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-right:none}.x-tabs-card.x-tabs-right{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:none;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-tabs-card.x-tabs-right .x-tabs-list{border-left:none}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider{width:100%}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll{background-color:var(--x-background)}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll:after,.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll:before{content:\" \";position:absolute;height:100%;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll:after{left:0}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll:before{right:0}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);border-left-color:var(--x-background);background-color:var(--x-background)}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-left-color:var(--x-background)}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-arrow-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:0}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-arrow-right{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-right.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-top:none}.x-tabs-card.x-tabs-right.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-right.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-right.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-right.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-right.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-bottom:none}.x-tabs-card.x-tabs-bottom{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:none;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-tabs-card.x-tabs-bottom .x-tabs-list{border-top:none}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider{width:100%}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll{background-color:var(--x-background)}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll:after,.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll:before{content:\" \";position:absolute;width:100%;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll:after{top:0}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll:before{bottom:0}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);border-top-color:var(--x-background);background-color:var(--x-background)}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-top-color:var(--x-background)}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-arrow-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-left:0}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-arrow-right{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-bottom.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-left:none}.x-tabs-card.x-tabs-bottom.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-bottom.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-bottom.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-bottom.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-bottom.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-right:none}.x-tabs-card.x-tabs-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-left:none;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-tabs-card.x-tabs-left .x-tabs-list{border-right:none}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider{width:100%}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll{background-color:var(--x-background)}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll:after,.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll:before{content:\" \";position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll:after{left:0}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll:before{right:0}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);border-right-color:var(--x-background);background-color:var(--x-background)}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-right-color:var(--x-background)}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-arrow-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:0}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-arrow-right{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-left.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-top:none}.x-tabs-card.x-tabs-left.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-left.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-left.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-left.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-left.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-bottom:none}"]
|
|
231
|
+
styles: [".x-tabs{margin:0;padding:0}.x-tabs,.x-tabs-contents{display:flex;overflow:hidden}.x-tabs-contents{flex:1;flex-direction:row}.x-tabs-contents>.x-tab-content{flex-shrink:0;width:100%;opacity:1;height:-moz-fit-content;height:fit-content}.x-tabs-contents>.x-tab-content.x-tab-content-unactivated{transition:height 0s,opacity 0s;height:0;opacity:0}.x-tabs-contents-animated>.x-tab-content{transition:transform var(--x-animation-duration-slow) cubic-bezier(.645,.045,.355,1),height 0s,opacity var(--x-animation-duration-slow)}.x-tabs-contents-animated>.x-tab-content.x-tab-content-unactivated{display:inherit}.x-tabs-list{display:flex}.x-tabs-top{flex-direction:column}.x-tabs-right{flex-direction:row-reverse}.x-tabs-bottom{flex-direction:column-reverse}.x-tabs-left{flex-direction:row}.x-tabs-block.x-tabs-top>.x-tabs-list{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-block.x-tabs-top>.x-tabs-list>x-slider{width:100%}.x-tabs-block.x-tabs-top>.x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.x-tabs-block.x-tabs-right>.x-tabs-list{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-block.x-tabs-right>.x-tabs-list>x-slider{width:100%}.x-tabs-block.x-tabs-right>.x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.x-tabs-block.x-tabs-bottom>.x-tabs-list{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-block.x-tabs-bottom>.x-tabs-list>x-slider{width:100%}.x-tabs-block.x-tabs-bottom>.x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.x-tabs-block.x-tabs-left>.x-tabs-list{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-block.x-tabs-left>.x-tabs-list>x-slider{width:100%}.x-tabs-block.x-tabs-left>.x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.x-tabs-tag.x-tabs-top .x-tabs-list{border-bottom:none}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider{width:100%}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider:before{content:\" \";position:absolute;bottom:0;width:100%;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li{border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background)}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li:first-child{border-top-left-radius:.125rem}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li:nth-last-child(2){border-top-right-radius:.125rem}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li:not(:first-child){border-left:none}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{display:none}.x-tabs-tag.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-bottom-color:var(--x-background)}.x-tabs-tag.x-tabs-right .x-tabs-list{border-left:none}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider{width:100%}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider:before{content:\" \";position:absolute;left:0;height:100%;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li{border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background)}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li:first-child{border-top-right-radius:.125rem}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li:nth-last-child(2){border-bottom-right-radius:.125rem}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li:not(:first-child){border-top:none}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{display:none}.x-tabs-tag.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-left-color:var(--x-background)}.x-tabs-tag.x-tabs-bottom .x-tabs-list{border-bottom:none}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider{width:100%}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider:before{content:\" \";position:absolute;top:0;width:100%;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li{border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background)}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li:first-child{border-bottom-left-radius:.125rem}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li:nth-last-child(2){border-bottom-right-radius:.125rem}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li:not(:first-child){border-left:none}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{display:none}.x-tabs-tag.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-top-color:var(--x-background)}.x-tabs-tag.x-tabs-left .x-tabs-list{border-right:none}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider{width:100%}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider:before{content:\" \";position:absolute;right:0;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li{border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background)}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li:first-child{border-top-left-radius:.125rem}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li:nth-last-child(2){border-bottom-left-radius:.125rem}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li:not(:first-child){border-top:none}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{display:none}.x-tabs-tag.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-right-color:var(--x-background)}.x-tabs-card.x-tabs-top{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:none;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-tabs-card.x-tabs-top .x-tabs-list{border-bottom:none}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider{width:100%}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll{background-color:var(--x-background)}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll:after,.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll:before{content:\" \";position:absolute;width:100%;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll:after{top:0}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll:before{bottom:0}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom-color:var(--x-background);background-color:var(--x-background)}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-bottom-color:var(--x-background)}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-arrow-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-left:0}.x-tabs-card.x-tabs-top .x-tabs-list>x-slider .x-slider-arrow-right{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-top.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-left:none}.x-tabs-card.x-tabs-top.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-top.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-top.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-top.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-top.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-right:none}.x-tabs-card.x-tabs-right{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:none;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-tabs-card.x-tabs-right .x-tabs-list{border-left:none}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider{width:100%}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll{background-color:var(--x-background)}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll:after,.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll:before{content:\" \";position:absolute;height:100%;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll:after{left:0}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll:before{right:0}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);border-left-color:var(--x-background);background-color:var(--x-background)}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-left-color:var(--x-background)}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-arrow-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:0}.x-tabs-card.x-tabs-right .x-tabs-list>x-slider .x-slider-arrow-right{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-right.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-top:none}.x-tabs-card.x-tabs-right.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-right.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-right.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-right.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-right.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-bottom:none}.x-tabs-card.x-tabs-bottom{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:none;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-tabs-card.x-tabs-bottom .x-tabs-list{border-top:none}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider{width:100%}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll{background-color:var(--x-background)}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll:after,.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll:before{content:\" \";position:absolute;width:100%;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll:after{top:0}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll:before{bottom:0}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);border-top-color:var(--x-background);background-color:var(--x-background)}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-top-color:var(--x-background)}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-arrow-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-left:0}.x-tabs-card.x-tabs-bottom .x-tabs-list>x-slider .x-slider-arrow-right{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-bottom.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-left:none}.x-tabs-card.x-tabs-bottom.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-bottom.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-bottom.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-bottom.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-bottom.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-right:none}.x-tabs-card.x-tabs-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-left:none;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-tabs-card.x-tabs-left .x-tabs-list{border-right:none}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider{width:100%}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll{background-color:var(--x-background)}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll:after,.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll:before{content:\" \";position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll:after{left:0}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll:before{right:0}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul{z-index:1}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-highlight{border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);border-right-color:var(--x-background);background-color:var(--x-background)}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-scroll>ul>li.x-slider-activated{border-right-color:var(--x-background)}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-arrow-left{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:0}.x-tabs-card.x-tabs-left .x-tabs-list>x-slider .x-slider-arrow-right{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-left.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-top:none}.x-tabs-card.x-tabs-left.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-left.x-tabs-is-first .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-left.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-center ul li.x-slider-highlight,.x-tabs-card.x-tabs-left.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-start ul li.x-slider-highlight{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tabs-card.x-tabs-left.x-tabs-is-last .x-tabs-list>x-slider .x-slider-scroll.x-justify-end ul li.x-slider-highlight{border-bottom:none}"]
|
|
232
232
|
},] }
|
|
233
233
|
];
|
|
234
234
|
/** @nocollapse */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-tabs.js","sources":["../../../../lib/ng-nest/ui/tabs/tabs.property.ts","../../../../lib/ng-nest/ui/tabs/tab.component.ts","../../../../lib/ng-nest/ui/tabs/tabs.component.ts","../../../../lib/ng-nest/ui/tabs/tab-content.component.ts","../../../../lib/ng-nest/ui/tabs/tabs.module.ts","../../../../lib/ng-nest/ui/tabs/ng-nest-ui-tabs.ts"],"sourcesContent":["import {\r\n XData,\r\n XJustify,\r\n XProperty,\r\n XInputBoolean,\r\n XSize,\r\n XIdentityProperty,\r\n XTemplate,\r\n XInputNumber,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig\r\n} from '@ng-nest/ui/core';\r\nimport { Input, TemplateRef, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Tabs\r\n * @selector x-tabs\r\n * @decorator component\r\n */\r\nexport const XTabsPrefix = 'x-tabs';\r\nconst X_CONFIG_NAME = 'tabs';\r\n\r\n/**\r\n * Tabs Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTabsProperty extends XProperty {\r\n /**\r\n * @zh_CN Data 数据\r\n * @en_US Data\r\n */\r\n @Input() data: XData<XTabsNode> = [];\r\n /**\r\n * @zh_CN 对齐方式\r\n * @en_US Alignment\r\n */\r\n @Input() justify: XJustify = 'start';\r\n /**\r\n * @zh_CN 样式\r\n * @en_US Style\r\n */\r\n @Input() type?: XTabsType = 'block';\r\n /**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\n @Input() layout: XTabsLayout = 'top';\r\n /**\r\n * @zh_CN 激活的序号\r\n * @en_US Activation number\r\n */\r\n @Input() @XInputNumber() activatedIndex: XNumber = 0;\r\n /**\r\n * @zh_CN 动画\r\n * @en_US Animation\r\n */\r\n @Input() @XInputBoolean() animated: XBoolean = true;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n @Input() nodeTpl: TemplateRef<any>;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size: XSize;\r\n /**\r\n * @zh_CN 节点排列方式\r\n * @en_US Node arrangement\r\n */\r\n @Input() nodeJustify: XJustify;\r\n /**\r\n * @zh_CN 隐藏标签栏\r\n * @en_US Hide tab bar\r\n */\r\n @Input() @XInputBoolean() sliderHidden: XBoolean;\r\n /**\r\n * @zh_CN 标签切换变化的事件\r\n * @en_US Label switching event\r\n */\r\n @Output() indexChange = new EventEmitter<XActivatedTab>();\r\n}\r\n\r\n/**\r\n * @zh_CN Tabs 数据对象\r\n * @en_US Tabs data object\r\n */\r\nexport interface XTabsNode extends XIdentityProperty {}\r\n\r\n/**\r\n * @zh_CN 激活的tab\r\n * @en_US Active tab\r\n */\r\nexport interface XActivatedTab {\r\n activatedIndex?: number;\r\n activatedTab?: XTabsNode;\r\n}\r\n\r\n/**\r\n * @zh_CN 样式类型\r\n * @en_US Style type\r\n */\r\nexport type XTabsType = 'block' | 'tag' | 'card';\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XTabsLayout = 'top' | 'right' | 'bottom' | 'left';\r\n\r\n/**\r\n * Tab\r\n * @selector x-tab\r\n * @decorator component\r\n */\r\nexport const XTabPrefix = 'x-tab';\r\n\r\n/**\r\n * Tab Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTabProperty {\r\n /**\r\n * @zh_CN 标签名称,支持自定义模板\r\n * @en_US Label name, support custom template\r\n */\r\n @Input() label: XTemplate;\r\n}\r\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, Input, ViewEncapsulation } from '@angular/core';\r\nimport { XTabPrefix, XTabProperty } from './tabs.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XTabPrefix}`,\r\n templateUrl: './tab.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTabComponent extends XTabProperty {\r\n @ViewChild(TemplateRef, { static: true }) content: TemplateRef<void>;\r\n\r\n constructor(public configService: XConfigService) {\r\n super();\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges,\r\n ChangeDetectorRef,\r\n ContentChildren,\r\n ViewChild,\r\n ViewEncapsulation,\r\n SimpleChange,\r\n QueryList\r\n} from '@angular/core';\r\nimport { XTabsPrefix, XTabsNode, XTabsProperty } from './tabs.property';\r\nimport { XIsChange, XSetData, XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { XSliderComponent, XSliderProperty } from '@ng-nest/ui/slider';\r\nimport { XTabComponent } from './tab.component';\r\n\r\n@Component({\r\n selector: `${XTabsPrefix}`,\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTabsComponent extends XTabsProperty implements OnInit, OnChanges {\r\n sliderOption = new XSliderProperty();\r\n tabs: XTabsNode[] = [];\r\n private _unSubject = new Subject<void>();\r\n\r\n get activeIndex() {\r\n return Number(this.activatedIndex);\r\n }\r\n\r\n @ContentChildren(XTabComponent) listTabs: QueryList<XTabComponent>;\r\n\r\n @ViewChild(XSliderComponent, { static: false }) slider: XSliderComponent;\r\n\r\n constructor(private cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setSliderOption();\r\n this.setNodeJustify();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.data) && this.setData();\r\n XIsChange(changes.layout) && this.setLayout(changes.layout);\r\n XIsChange(changes.justify) && this.cdr.detectChanges();\r\n XIsChange(changes.activatedIndex) && this.setActivatedIndex();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setData();\r\n }\r\n\r\n activatedChange(index: number) {\r\n this.activatedIndex = index;\r\n this.indexChange.emit({\r\n activatedIndex: index,\r\n activatedTab: this.tabs[index]\r\n });\r\n this.setFirstAndLast();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setActivatedIndex() {\r\n if (typeof this.sliderOption === 'undefined') {\r\n this.sliderOption = new XSliderProperty();\r\n }\r\n this.sliderOption.activatedIndex = this.activatedIndex;\r\n this.setFirstAndLast();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setClassMap() {\r\n this.classMap = {\r\n [`${XTabsPrefix}-${this.layout}`]: !XIsEmpty(this.layout),\r\n [`${XTabsPrefix}-${this.type}`]: !XIsEmpty(this.type)\r\n };\r\n }\r\n\r\n private setLayout(layout: SimpleChange) {\r\n this.classMap[`${XTabsPrefix}-${layout.previousValue}`] = false;\r\n this.classMap[`${XTabsPrefix}-${layout.currentValue}`] = true;\r\n this.setSliderOption();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setNodeJustify() {\r\n this.nodeJustify = this.nodeJustify ? this.nodeJustify : this.layout === 'left' ? 'end' : this.layout === 'right' ? 'start' : 'center';\r\n }\r\n\r\n private setData() {\r\n if (XIsEmpty(this.data)) {\r\n if (this.listTabs && this.listTabs.length > 0) {\r\n let _data: any[] = [];\r\n this.listTabs.forEach((x, index) => {\r\n _data = [...(_data as XTabsNode[]), { id: index + 1, label: x.label }];\r\n });\r\n this.data = _data;\r\n } else {\r\n return;\r\n }\r\n }\r\n XSetData<XTabsNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.tabs = x;\r\n if (!this.sliderHidden) {\r\n this.sliderHidden = this.tabs.length <= 1;\r\n }\r\n this.sliderOption.data = this.tabs;\r\n this.setFirstAndLast();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n private setSliderOption() {\r\n this.sliderOption.layout = ['top', 'bottom'].indexOf(this.layout) !== -1 ? 'row' : 'column';\r\n }\r\n\r\n private setFirstAndLast() {\r\n this.classMap[`${XTabsPrefix}-is-first`] = this.activatedIndex === 0;\r\n this.classMap[`${XTabsPrefix}-is-last`] = this.activatedIndex === this.tabs?.length - 1;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n ElementRef,\r\n Renderer2\r\n} from '@angular/core';\r\nimport { XBoolean } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: 'x-tab-content',\r\n preserveWhitespaces: false,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './tab-content.component.html'\r\n})\r\nexport class XTabContentComponent {\r\n @Input() content: TemplateRef<void>;\r\n @Input() active: XBoolean = false;\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\r\n this.renderer.addClass(this.elementRef.nativeElement, 'x-tab-content');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTabsComponent } from './tabs.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XSliderModule } from '@ng-nest/ui/slider';\r\nimport { XTabComponent } from './tab.component';\r\nimport { XTabContentComponent } from './tab-content.component';\r\nimport { XTabsProperty, XTabProperty } from './tabs.property';\r\n\r\n@NgModule({\r\n declarations: [XTabsComponent, XTabContentComponent, XTabComponent, XTabsProperty, XTabProperty],\r\n exports: [XTabsComponent, XTabContentComponent, XTabComponent],\r\n imports: [CommonModule, XSliderModule, XIconModule]\r\n})\r\nexport class XTabsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-tabs.js","sources":["../../../../lib/ng-nest/ui/tabs/tabs.property.ts","../../../../lib/ng-nest/ui/tabs/tab.component.ts","../../../../lib/ng-nest/ui/tabs/tabs.component.ts","../../../../lib/ng-nest/ui/tabs/tab-content.component.ts","../../../../lib/ng-nest/ui/tabs/tabs.module.ts","../../../../lib/ng-nest/ui/tabs/ng-nest-ui-tabs.ts"],"sourcesContent":["import {\r\n XData,\r\n XJustify,\r\n XProperty,\r\n XInputBoolean,\r\n XSize,\r\n XIdentityProperty,\r\n XTemplate,\r\n XInputNumber,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig\r\n} from '@ng-nest/ui/core';\r\nimport { Input, TemplateRef, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Tabs\r\n * @selector x-tabs\r\n * @decorator component\r\n */\r\nexport const XTabsPrefix = 'x-tabs';\r\nconst X_CONFIG_NAME = 'tabs';\r\n\r\n/**\r\n * Tabs Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTabsProperty extends XProperty {\r\n /**\r\n * @zh_CN Data 数据\r\n * @en_US Data\r\n */\r\n @Input() data: XData<XTabsNode> = [];\r\n /**\r\n * @zh_CN 对齐方式\r\n * @en_US Alignment\r\n */\r\n @Input() justify: XJustify = 'start';\r\n /**\r\n * @zh_CN 样式\r\n * @en_US Style\r\n */\r\n @Input() type: XTabsType = 'block';\r\n /**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\n @Input() layout: XTabsLayout = 'top';\r\n /**\r\n * @zh_CN 激活的序号\r\n * @en_US Activation number\r\n */\r\n @Input() @XInputNumber() activatedIndex: XNumber = 0;\r\n /**\r\n * @zh_CN 动画\r\n * @en_US Animation\r\n */\r\n @Input() @XInputBoolean() animated: XBoolean = true;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n @Input() nodeTpl!: TemplateRef<any>;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 节点排列方式\r\n * @en_US Node arrangement\r\n */\r\n @Input() nodeJustify?: XJustify;\r\n /**\r\n * @zh_CN 隐藏标签栏\r\n * @en_US Hide tab bar\r\n */\r\n @Input() @XInputBoolean() sliderHidden?: XBoolean;\r\n /**\r\n * @zh_CN 标签切换变化的事件\r\n * @en_US Label switching event\r\n */\r\n @Output() indexChange = new EventEmitter<XActivatedTab>();\r\n}\r\n\r\n/**\r\n * @zh_CN Tabs 数据对象\r\n * @en_US Tabs data object\r\n */\r\nexport interface XTabsNode extends XIdentityProperty {}\r\n\r\n/**\r\n * @zh_CN 激活的tab\r\n * @en_US Active tab\r\n */\r\nexport interface XActivatedTab {\r\n activatedIndex?: number;\r\n activatedTab?: XTabsNode;\r\n}\r\n\r\n/**\r\n * @zh_CN 样式类型\r\n * @en_US Style type\r\n */\r\nexport type XTabsType = 'block' | 'tag' | 'card';\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XTabsLayout = 'top' | 'right' | 'bottom' | 'left';\r\n\r\n/**\r\n * Tab\r\n * @selector x-tab\r\n * @decorator component\r\n */\r\nexport const XTabPrefix = 'x-tab';\r\n\r\n/**\r\n * Tab Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTabProperty {\r\n /**\r\n * @zh_CN 标签名称,支持自定义模板\r\n * @en_US Label name, support custom template\r\n */\r\n @Input() label?: XTemplate;\r\n}\r\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, Input, ViewEncapsulation } from '@angular/core';\r\nimport { XTabPrefix, XTabProperty } from './tabs.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XTabPrefix}`,\r\n templateUrl: './tab.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTabComponent extends XTabProperty {\r\n @ViewChild(TemplateRef, { static: true }) content!: TemplateRef<void>;\r\n\r\n constructor(public configService: XConfigService) {\r\n super();\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges,\r\n ChangeDetectorRef,\r\n ContentChildren,\r\n ViewChild,\r\n ViewEncapsulation,\r\n SimpleChange,\r\n QueryList\r\n} from '@angular/core';\r\nimport { XTabsPrefix, XTabsNode, XTabsProperty } from './tabs.property';\r\nimport { XIsChange, XSetData, XIsEmpty, XConfigService, XData } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { XSliderComponent, XSliderNode, XSliderProperty } from '@ng-nest/ui/slider';\r\nimport { XTabComponent } from './tab.component';\r\n\r\n@Component({\r\n selector: `${XTabsPrefix}`,\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTabsComponent extends XTabsProperty implements OnInit, OnChanges {\r\n sliderOption = new XSliderProperty();\r\n tabs: XTabsNode[] = [];\r\n private _unSubject = new Subject<void>();\r\n\r\n get activeIndex() {\r\n return Number(this.activatedIndex);\r\n }\r\n\r\n @ContentChildren(XTabComponent) listTabs!: QueryList<XTabComponent>;\r\n\r\n @ViewChild(XSliderComponent, { static: false }) slider!: XSliderComponent;\r\n\r\n constructor(private cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setSliderOption();\r\n this.setNodeJustify();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.data) && this.setData();\r\n XIsChange(changes.layout) && this.setLayout(changes.layout);\r\n XIsChange(changes.justify) && this.cdr.detectChanges();\r\n XIsChange(changes.activatedIndex) && this.setActivatedIndex();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setData();\r\n }\r\n\r\n activatedChange(index: number) {\r\n this.activatedIndex = index;\r\n this.indexChange.emit({\r\n activatedIndex: index,\r\n activatedTab: this.tabs[index]\r\n });\r\n this.setFirstAndLast();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setActivatedIndex() {\r\n if (typeof this.sliderOption === 'undefined') {\r\n this.sliderOption = new XSliderProperty();\r\n }\r\n this.sliderOption.activatedIndex = this.activatedIndex;\r\n this.setFirstAndLast();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setClassMap() {\r\n this.classMap = {\r\n [`${XTabsPrefix}-${this.layout}`]: !XIsEmpty(this.layout),\r\n [`${XTabsPrefix}-${this.type}`]: !XIsEmpty(this.type)\r\n };\r\n }\r\n\r\n private setLayout(layout: SimpleChange) {\r\n this.classMap[`${XTabsPrefix}-${layout.previousValue}`] = false;\r\n this.classMap[`${XTabsPrefix}-${layout.currentValue}`] = true;\r\n this.setSliderOption();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setNodeJustify() {\r\n this.nodeJustify = this.nodeJustify ? this.nodeJustify : this.layout === 'left' ? 'end' : this.layout === 'right' ? 'start' : 'center';\r\n }\r\n\r\n private setData() {\r\n if (XIsEmpty(this.data)) {\r\n if (this.listTabs && this.listTabs.length > 0) {\r\n let _data: any[] = [];\r\n this.listTabs.forEach((x, index) => {\r\n _data = [...(_data as XTabsNode[]), { id: index + 1, label: x.label }];\r\n });\r\n this.data = _data;\r\n } else {\r\n return;\r\n }\r\n }\r\n XSetData<XTabsNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.tabs = x;\r\n if (!this.sliderHidden) {\r\n this.sliderHidden = this.tabs.length <= 1;\r\n }\r\n this.sliderOption.data = this.tabs;\r\n this.setFirstAndLast();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n private setSliderOption() {\r\n this.sliderOption.layout = ['top', 'bottom'].indexOf(this.layout) !== -1 ? 'row' : 'column';\r\n }\r\n\r\n private setFirstAndLast() {\r\n this.classMap[`${XTabsPrefix}-is-first`] = this.activatedIndex === 0;\r\n this.classMap[`${XTabsPrefix}-is-last`] = this.activatedIndex === this.tabs?.length - 1;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n ElementRef,\r\n Renderer2\r\n} from '@angular/core';\r\nimport { XBoolean } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: 'x-tab-content',\r\n preserveWhitespaces: false,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './tab-content.component.html'\r\n})\r\nexport class XTabContentComponent {\r\n @Input() content!: TemplateRef<void>;\r\n @Input() active: XBoolean = false;\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\r\n this.renderer.addClass(this.elementRef.nativeElement, 'x-tab-content');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTabsComponent } from './tabs.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XSliderModule } from '@ng-nest/ui/slider';\r\nimport { XTabComponent } from './tab.component';\r\nimport { XTabContentComponent } from './tab-content.component';\r\nimport { XTabsProperty, XTabProperty } from './tabs.property';\r\n\r\n@NgModule({\r\n declarations: [XTabsComponent, XTabContentComponent, XTabComponent, XTabsProperty, XTabProperty],\r\n exports: [XTabsComponent, XTabContentComponent, XTabComponent],\r\n imports: [CommonModule, XSliderModule, XIconModule]\r\n})\r\nexport class XTabsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-tag.js","sources":["../../../../lib/ng-nest/ui/tag/tag.property.ts","../../../../lib/ng-nest/ui/tag/tag.component.ts","../../../../lib/ng-nest/ui/tag/tag.module.ts","../../../../lib/ng-nest/ui/tag/ng-nest-ui-tag.ts"],"sourcesContent":["import { XType, XSize, XProperty, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Tag\r\n * @selector x-tag\r\n * @decorator component\r\n */\r\nexport const XTagPrefix = 'x-tag';\r\nconst X_CONFIG_NAME = 'tag';\r\n\r\n/**\r\n * Tag Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTagProperty extends XProperty {\r\n /**\r\n * @zh_CN 标签样式类型\r\n * @en_US Label style type\r\n */\r\n @Input() type: XType = 'initial';\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-tag.js","sources":["../../../../lib/ng-nest/ui/tag/tag.property.ts","../../../../lib/ng-nest/ui/tag/tag.component.ts","../../../../lib/ng-nest/ui/tag/tag.module.ts","../../../../lib/ng-nest/ui/tag/ng-nest-ui-tag.ts"],"sourcesContent":["import { XType, XSize, XProperty, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Tag\r\n * @selector x-tag\r\n * @decorator component\r\n */\r\nexport const XTagPrefix = 'x-tag';\r\nconst X_CONFIG_NAME = 'tag';\r\n\r\n/**\r\n * Tag Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTagProperty extends XProperty {\r\n /**\r\n * @zh_CN 标签样式类型\r\n * @en_US Label style type\r\n */\r\n @Input() type: XType = 'initial';\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 显示关闭按钮\r\n * @en_US Show close button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() closable?: XBoolean;\r\n /**\r\n * @zh_CN 深色主题\r\n * @en_US Dark theme\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() dark?: XBoolean;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n @Input() @XInputBoolean() disabled?: XBoolean;\r\n /**\r\n * @zh_CN 点击关闭的事件\r\n * @en_US Click to close the event\r\n */\r\n @Output() close = new EventEmitter<void>();\r\n}\r\n","import { Component, OnInit, ViewEncapsulation, Renderer2, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { XTagPrefix, XTagProperty } from './tag.property';\r\nimport { XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XTagPrefix}`,\r\n templateUrl: './tag.component.html',\r\n styleUrls: ['./tag.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTagComponent extends XTagProperty implements OnInit {\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XTagPrefix}-${this.type}`]: !XIsEmpty(this.type),\r\n [`${XTagPrefix}-${this.size}`]: !XIsEmpty(this.size),\r\n [`${XTagPrefix}-dark`]: Boolean(this.dark)\r\n };\r\n }\r\n\r\n onClose() {\r\n if (this.disabled) return;\r\n this.close.emit();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTagComponent } from './tag.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XTagProperty } from './tag.property';\r\n\r\n@NgModule({\r\n declarations: [XTagComponent, XTagProperty],\r\n exports: [XTagComponent],\r\n imports: [CommonModule, XIconModule, XOutletModule]\r\n})\r\nexport class XTagModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAGA;;;;;MAKa,UAAU,GAAG,QAAQ;AAClC,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B;;;MAIa,YAAa,SAAQ,SAAS;IAD3C;;;;;;QAMW,SAAI,GAAU,SAAS,CAAC;;;;;QAyBvB,UAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;KAC5C;;;YAhCA,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;mBAMxB,KAAK;mBAKL,KAAK;uBAKL,KAAK;mBAKL,KAAK;uBAKL,KAAK;oBAKL,MAAM;;AApB+C;IAA5C,WAAW,CAAQ,aAAa,EAAE,QAAQ,CAAC;;0CAAc;AAKH;IAAtD,WAAW,CAAW,aAAa,CAAC;IAAE,aAAa,EAAE;;8CAAqB;AAKpB;IAAtD,WAAW,CAAW,aAAa,CAAC;IAAE,aAAa,EAAE;;0CAAiB;AAKtD;IAAhB,aAAa,EAAE;;8CAAqB;;MC7BnC,aAAc,SAAQ,YAAY;IAC7C,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B;QAEpC,KAAK,EAAE,CAAC;QALD,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAgB;KAGrC;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,GAAG;YACd,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,CAAC,GAAG,UAAU,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3C,CAAC;KACH;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACnB;;;YAhCF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,UAAU,EAAE;gBACzB,yNAAmC;gBAEnC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAV8C,SAAS;YAAE,UAAU;YAAE,iBAAiB;YAEpE,cAAc;;;MCUpB,UAAU;;;YALtB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;gBAC3C,OAAO,EAAE,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC;aACpD;;;ACXD;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-text-retract.js","sources":["../../../../lib/ng-nest/ui/text-retract/text-retract.property.ts","../../../../lib/ng-nest/ui/text-retract/text-retract.component.ts","../../../../lib/ng-nest/ui/text-retract/text-retract.module.ts","../../../../lib/ng-nest/ui/text-retract/ng-nest-ui-text-retract.ts"],"sourcesContent":["import { Input, Component } from '@angular/core';\r\nimport { XInputNumber, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * TextRetract\r\n * @selector x-text-retract\r\n * @decorator component\r\n */\r\nexport const XTextRetractPrefix = 'x-text-retract';\r\nconst X_CONFIG_NAME = 'textRetract';\r\n\r\n/**\r\n * TextRetract Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTextRetractProperty {\r\n /**\r\n * @zh_CN 文本\r\n * @en_US text\r\n */\r\n @Input() content
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-text-retract.js","sources":["../../../../lib/ng-nest/ui/text-retract/text-retract.property.ts","../../../../lib/ng-nest/ui/text-retract/text-retract.component.ts","../../../../lib/ng-nest/ui/text-retract/text-retract.module.ts","../../../../lib/ng-nest/ui/text-retract/ng-nest-ui-text-retract.ts"],"sourcesContent":["import { Input, Component } from '@angular/core';\r\nimport { XInputNumber, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * TextRetract\r\n * @selector x-text-retract\r\n * @decorator component\r\n */\r\nexport const XTextRetractPrefix = 'x-text-retract';\r\nconst X_CONFIG_NAME = 'textRetract';\r\n\r\n/**\r\n * TextRetract Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTextRetractProperty {\r\n /**\r\n * @zh_CN 文本\r\n * @en_US text\r\n */\r\n @Input() content?: string;\r\n /**\r\n * @zh_CN 默认最大显示字符数\r\n * @en_US Default maximum number of characters displayed\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 256) @XInputNumber() max?: XNumber;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XTextRetractPrefix, XTextRetractProperty } from './text-retract.property';\r\nimport { XIsChange, XConfigService } from '@ng-nest/ui/core';\r\nimport { XI18nService } from '@ng-nest/ui/i18n';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XTextRetractPrefix}`,\r\n templateUrl: './text-retract.component.html',\r\n styleUrls: ['./text-retract.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTextRetractComponent extends XTextRetractProperty implements OnInit, OnChanges {\r\n displayValue!: string;\r\n retract: boolean = false;\r\n unfold: boolean = true;\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setDisplayValue();\r\n this.i18n.localeChange.pipe(takeUntil(this._unSubject)).subscribe(() => this.cdr.markForCheck());\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n XIsChange(changes.content) && this.setDisplayValue();\r\n }\r\n\r\n ngOnDestory() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setDisplayValue() {\r\n if (this.content && this.content.length > (this.max as number)) {\r\n this.displayValue = this.content.substring(0, Number(this.max));\r\n this.retract = true;\r\n } else {\r\n this.displayValue = this.content as string;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n toggle() {\r\n this.unfold = !this.unfold;\r\n if (this.unfold) {\r\n this.displayValue = (this.content as string).substring(0, Number(this.max));\r\n } else {\r\n this.displayValue = this.content as string;\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTextRetractComponent } from './text-retract.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XTextRetractProperty } from './text-retract.property';\r\nimport { XI18nModule } from '@ng-nest/ui/i18n';\r\n\r\n@NgModule({\r\n declarations: [XTextRetractComponent, XTextRetractProperty],\r\n exports: [XTextRetractComponent],\r\n imports: [CommonModule, FormsModule, XLinkModule, XI18nModule]\r\n})\r\nexport class XTextRetractModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAGA;;;;;MAKa,kBAAkB,GAAG,iBAAiB;AACnD,MAAM,aAAa,GAAG,aAAa,CAAC;AAEpC;;;MAIa,oBAAoB;;;YADhC,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;sBAMxB,KAAK;kBAKL,KAAK;;AAA6D;IAAzD,WAAW,CAAU,aAAa,EAAE,GAAG,CAAC;IAAE,YAAY,EAAE;;iDAAe;;MCDtE,qBAAsB,SAAQ,oBAAoB;IAO7D,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B,EAC7B,IAAkB;QAEzB,KAAK,EAAE,CAAC;QAND,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,SAAI,GAAJ,IAAI,CAAc;QAV3B,YAAO,GAAY,KAAK,CAAC;QACzB,WAAM,GAAY,IAAI,CAAC;QAEf,eAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;KAUxC;IAED,QAAQ;QACN,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;KAClG;IAED,WAAW,CAAC,OAAsB;QAChC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;KACtD;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;KAC/B;IAED,eAAe;QACb,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAI,IAAI,CAAC,GAAc,EAAE;YAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAiB,CAAC;SAC5C;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,OAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7E;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAiB,CAAC;SAC5C;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;;YAxDF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,kBAAkB,EAAE;gBACjC,mXAA4C;gBAE5C,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAnBC,SAAS;YACT,UAAU;YACV,iBAAiB;YAMC,cAAc;YACzB,YAAY;;;MCAR,kBAAkB;;;YAL9B,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;gBAC3D,OAAO,EAAE,CAAC,qBAAqB,CAAC;gBAChC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;aAC/D;;;ACZD;;;;;;"}
|