@ng-nest/ui 18.0.11 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/affix/affix.property.d.ts +1 -1
- package/alert/alert.property.d.ts +1 -1
- package/anchor/anchor.property.d.ts +2 -2
- package/auto-complete/auto-complete.property.d.ts +16 -19
- package/avatar/avatar.property.d.ts +2 -2
- package/back-top/back-top.property.d.ts +1 -1
- package/badge/badge.property.d.ts +1 -1
- package/base-form/base-form.property.d.ts +2 -2
- package/button/button.property.d.ts +2 -2
- package/calendar/calendar.property.d.ts +1 -1
- package/card/card.property.d.ts +1 -1
- package/carousel/carousel.property.d.ts +2 -2
- package/cascade/cascade.property.d.ts +16 -27
- package/checkbox/checkbox.property.d.ts +16 -22
- package/collapse/collapse.property.d.ts +2 -2
- package/color/color.property.d.ts +1 -1
- package/color-picker/color-picker-portal.component.d.ts +10 -10
- package/color-picker/color-picker.property.d.ts +15 -15
- package/comment/comment.property.d.ts +2 -2
- package/container/container.property.d.ts +4 -4
- package/crumb/crumb.property.d.ts +1 -1
- package/date-picker/date-picker-portal.component.d.ts +1 -1
- package/date-picker/date-picker.property.d.ts +34 -34
- package/date-picker/date-range-portal.component.d.ts +5 -5
- package/description/description.property.d.ts +2 -2
- package/dialog/dialog-portal.component.d.ts +0 -2
- package/dialog/dialog-portal.directives.d.ts +2 -3
- package/dialog/dialog-ref.d.ts +4 -2
- package/dialog/dialog.component.d.ts +0 -5
- package/dialog/dialog.property.d.ts +14 -10
- package/drag/drag.property.d.ts +1 -1
- package/drawer/drawer.property.d.ts +2 -2
- package/dropdown/dropdown.property.d.ts +1 -1
- package/empty/empty.property.d.ts +1 -1
- package/fesm2022/ng-nest-ui-affix.mjs +14 -12
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +14 -12
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +23 -20
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +8 -8
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +16 -16
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +13 -12
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +11 -11
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +18 -18
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +14 -15
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +11 -12
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +20 -19
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +16 -16
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +12 -12
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +15 -15
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +11 -11
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +18 -18
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +36 -36
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +15 -15
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +57 -57
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +18 -18
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +70 -144
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +8 -8
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +11 -11
- package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drawer.mjs +38 -41
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +15 -16
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +11 -11
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +8 -8
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +11 -11
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +21 -40
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +15 -17
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +14 -14
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +24 -24
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -11
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +19 -19
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +12 -13
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +18 -18
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +11 -11
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +22 -23
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +12 -12
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +19 -20
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +11 -13
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +11 -11
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs +11 -11
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
- package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +15 -15
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-progress.mjs +11 -11
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +11 -11
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +11 -12
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +16 -14
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +11 -11
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +37 -27
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +32 -17
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +13 -11
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +15 -21
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +11 -11
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +18 -18
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +11 -11
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +11 -11
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +33 -33
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +30 -32
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +11 -11
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +13 -14
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
- package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +19 -19
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +8 -8
- package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +15 -15
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +12 -13
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +12 -20
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +21 -21
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +11 -11
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +15 -15
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/find/find.property.d.ts +12 -18
- package/form/form.property.d.ts +10 -21
- package/highlight/highlight.property.d.ts +1 -1
- package/icon/icon.property.d.ts +1 -1
- package/image/image.property.d.ts +2 -2
- package/inner/inner.property.d.ts +1 -1
- package/input/input.property.d.ts +17 -20
- package/input-number/input-number.property.d.ts +13 -13
- package/layout/layout.property.d.ts +2 -2
- package/link/link.property.d.ts +1 -1
- package/list/list.property.d.ts +12 -12
- package/loading/loading.property.d.ts +1 -1
- package/menu/menu.property.d.ts +2 -2
- package/package.json +108 -282
- package/page-header/page-header.property.d.ts +1 -1
- package/pagination/pagination.property.d.ts +1 -1
- package/popconfirm/popconfirm.property.d.ts +1 -1
- package/popover/popover.property.d.ts +1 -1
- package/progress/progress.property.d.ts +1 -1
- package/radio/radio.property.d.ts +13 -16
- package/rate/rate.property.d.ts +14 -22
- package/result/result.property.d.ts +1 -1
- package/ripple/ripple.directive.d.ts +7 -3
- package/ripple/ripple.property.d.ts +1 -1
- package/select/select-portal.component.d.ts +3 -2
- package/select/select.component.d.ts +1 -0
- package/select/select.property.d.ts +20 -15
- package/skeleton/skeleton.property.d.ts +1 -1
- package/slider/slider.property.d.ts +1 -1
- package/slider-select/slider-select.property.d.ts +13 -17
- package/statistic/statistic.property.d.ts +2 -2
- package/steps/steps.property.d.ts +1 -1
- package/style/core/index.css +87 -174
- package/style/core/index.css.map +1 -1
- package/style/core/index.scss +32 -5
- package/style/directives/index.scss +3 -3
- package/style/directives/keyword/index.scss +3 -2
- package/style/directives/keyword/mixin.scss +9 -11
- package/style/directives/keyword/param.scss +2 -1
- package/style/directives/resizable/index.scss +3 -2
- package/style/directives/resizable/mixin.scss +122 -16
- package/style/directives/resizable/param.scss +2 -1
- package/style/directives/ripple/index.scss +3 -2
- package/style/directives/ripple/mixin.scss +12 -12
- package/style/directives/ripple/param.scss +2 -1
- package/style/mixins/compatibility.scss +7 -5
- package/style/mixins/form.scss +6 -4
- package/style/mixins/hidden.scss +5 -2
- package/style/params/index.scss +282 -3
- package/switch/switch.property.d.ts +14 -14
- package/table/table.property.d.ts +4 -4
- package/tabs/tabs.property.d.ts +2 -2
- package/tag/tag.property.d.ts +1 -1
- package/text-retract/text-retract.property.d.ts +1 -1
- package/textarea/textarea.property.d.ts +14 -17
- package/theme/theme.property.d.ts +6 -10
- package/time-picker/time-picker.property.d.ts +17 -23
- package/timeline/timeline.property.d.ts +1 -1
- package/tooltip/tooltip.property.d.ts +1 -1
- package/transfer/transfer.property.d.ts +9 -13
- package/tree/tree.property.d.ts +2 -2
- package/tree-file/tree-file.property.d.ts +1 -1
- package/tree-select/tree-select-portal.component.d.ts +1 -1
- package/tree-select/tree-select.property.d.ts +15 -15
- package/typography/typography.property.d.ts +1 -1
- package/upload/upload.property.d.ts +9 -9
- package/esm2022/affix/affix.component.mjs +0 -12
- package/esm2022/affix/affix.module.mjs +0 -16
- package/esm2022/affix/affix.property.mjs +0 -51
- package/esm2022/affix/ng-nest-ui-affix.mjs +0 -5
- package/esm2022/affix/public-api.mjs +0 -4
- package/esm2022/alert/alert.component.mjs +0 -73
- package/esm2022/alert/alert.module.mjs +0 -16
- package/esm2022/alert/alert.property.mjs +0 -313
- package/esm2022/alert/ng-nest-ui-alert.mjs +0 -5
- package/esm2022/alert/public-api.mjs +0 -4
- package/esm2022/anchor/anchor-inner.component.mjs +0 -18
- package/esm2022/anchor/anchor.component.mjs +0 -160
- package/esm2022/anchor/anchor.module.mjs +0 -17
- package/esm2022/anchor/anchor.property.mjs +0 -121
- package/esm2022/anchor/ng-nest-ui-anchor.mjs +0 -5
- package/esm2022/anchor/public-api.mjs +0 -5
- package/esm2022/api/api.component.mjs +0 -18
- package/esm2022/api/api.module.mjs +0 -16
- package/esm2022/api/api.property.mjs +0 -7
- package/esm2022/api/ng-nest-ui-api.mjs +0 -5
- package/esm2022/api/public-api.mjs +0 -4
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +0 -80
- package/esm2022/auto-complete/auto-complete.component.mjs +0 -306
- package/esm2022/auto-complete/auto-complete.module.mjs +0 -16
- package/esm2022/auto-complete/auto-complete.property.mjs +0 -172
- package/esm2022/auto-complete/ng-nest-ui-auto-complete.mjs +0 -5
- package/esm2022/auto-complete/public-api.mjs +0 -5
- package/esm2022/avatar/avatar-group.component.mjs +0 -19
- package/esm2022/avatar/avatar.component.mjs +0 -109
- package/esm2022/avatar/avatar.module.mjs +0 -17
- package/esm2022/avatar/avatar.property.mjs +0 -143
- package/esm2022/avatar/ng-nest-ui-avatar.mjs +0 -5
- package/esm2022/avatar/public-api.mjs +0 -5
- package/esm2022/back-top/back-top.component.mjs +0 -104
- package/esm2022/back-top/back-top.module.mjs +0 -16
- package/esm2022/back-top/back-top.property.mjs +0 -50
- package/esm2022/back-top/ng-nest-ui-back-top.mjs +0 -5
- package/esm2022/back-top/public-api.mjs +0 -4
- package/esm2022/badge/badge.component.mjs +0 -63
- package/esm2022/badge/badge.module.mjs +0 -16
- package/esm2022/badge/badge.property.mjs +0 -133
- package/esm2022/badge/ng-nest-ui-badge.mjs +0 -5
- package/esm2022/badge/public-api.mjs +0 -4
- package/esm2022/base-form/base-form.component.mjs +0 -101
- package/esm2022/base-form/base-form.module.mjs +0 -15
- package/esm2022/base-form/base-form.property.mjs +0 -237
- package/esm2022/base-form/ng-nest-ui-base-form.mjs +0 -5
- package/esm2022/base-form/public-api.mjs +0 -4
- package/esm2022/button/button.component.mjs +0 -71
- package/esm2022/button/button.module.mjs +0 -17
- package/esm2022/button/button.property.mjs +0 -331
- package/esm2022/button/buttons.component.mjs +0 -55
- package/esm2022/button/ng-nest-ui-button.mjs +0 -5
- package/esm2022/button/public-api.mjs +0 -5
- package/esm2022/calendar/calendar.component.mjs +0 -117
- package/esm2022/calendar/calendar.module.mjs +0 -16
- package/esm2022/calendar/calendar.property.mjs +0 -110
- package/esm2022/calendar/ng-nest-ui-calendar.mjs +0 -5
- package/esm2022/calendar/public-api.mjs +0 -4
- package/esm2022/card/card.component.mjs +0 -22
- package/esm2022/card/card.module.mjs +0 -16
- package/esm2022/card/card.property.mjs +0 -77
- package/esm2022/card/ng-nest-ui-card.mjs +0 -5
- package/esm2022/card/public-api.mjs +0 -4
- package/esm2022/carousel/carousel-panel.component.mjs +0 -157
- package/esm2022/carousel/carousel.component.mjs +0 -95
- package/esm2022/carousel/carousel.module.mjs +0 -17
- package/esm2022/carousel/carousel.property.mjs +0 -256
- package/esm2022/carousel/ng-nest-ui-carousel.mjs +0 -5
- package/esm2022/carousel/public-api.mjs +0 -5
- package/esm2022/cascade/cascade-portal.component.mjs +0 -141
- package/esm2022/cascade/cascade.component.mjs +0 -238
- package/esm2022/cascade/cascade.module.mjs +0 -16
- package/esm2022/cascade/cascade.property.mjs +0 -167
- package/esm2022/cascade/ng-nest-ui-cascade.mjs +0 -5
- package/esm2022/cascade/public-api.mjs +0 -5
- package/esm2022/checkbox/checkbox.component.mjs +0 -102
- package/esm2022/checkbox/checkbox.module.mjs +0 -16
- package/esm2022/checkbox/checkbox.property.mjs +0 -136
- package/esm2022/checkbox/ng-nest-ui-checkbox.mjs +0 -5
- package/esm2022/checkbox/public-api.mjs +0 -4
- package/esm2022/collapse/collapse-panel.component.mjs +0 -55
- package/esm2022/collapse/collapse.component.mjs +0 -49
- package/esm2022/collapse/collapse.module.mjs +0 -17
- package/esm2022/collapse/collapse.property.mjs +0 -189
- package/esm2022/collapse/ng-nest-ui-collapse.mjs +0 -5
- package/esm2022/collapse/public-api.mjs +0 -5
- package/esm2022/color/color.component.mjs +0 -35
- package/esm2022/color/color.module.mjs +0 -16
- package/esm2022/color/color.property.mjs +0 -71
- package/esm2022/color/ng-nest-ui-color.mjs +0 -5
- package/esm2022/color/public-api.mjs +0 -4
- package/esm2022/color-picker/color-picker-portal.component.mjs +0 -396
- package/esm2022/color-picker/color-picker.component.mjs +0 -191
- package/esm2022/color-picker/color-picker.module.mjs +0 -16
- package/esm2022/color-picker/color-picker.property.mjs +0 -142
- package/esm2022/color-picker/ng-nest-ui-color-picker.mjs +0 -5
- package/esm2022/color-picker/public-api.mjs +0 -5
- package/esm2022/comment/comment-reply.component.mjs +0 -24
- package/esm2022/comment/comment.component.mjs +0 -55
- package/esm2022/comment/comment.module.mjs +0 -17
- package/esm2022/comment/comment.property.mjs +0 -90
- package/esm2022/comment/ng-nest-ui-comment.mjs +0 -5
- package/esm2022/comment/public-api.mjs +0 -5
- package/esm2022/container/aside.component.mjs +0 -25
- package/esm2022/container/container.component.mjs +0 -31
- package/esm2022/container/container.module.mjs +0 -20
- package/esm2022/container/container.property.mjs +0 -115
- package/esm2022/container/footer.component.mjs +0 -35
- package/esm2022/container/header.component.mjs +0 -35
- package/esm2022/container/main.component.mjs +0 -18
- package/esm2022/container/ng-nest-ui-container.mjs +0 -5
- package/esm2022/container/public-api.mjs +0 -8
- package/esm2022/core/animation/badge.mjs +0 -53
- package/esm2022/core/animation/connect.mjs +0 -31
- package/esm2022/core/animation/consts.mjs +0 -11
- package/esm2022/core/animation/drop.mjs +0 -13
- package/esm2022/core/animation/fade.mjs +0 -24
- package/esm2022/core/animation/move.mjs +0 -179
- package/esm2022/core/animation/opacity.mjs +0 -13
- package/esm2022/core/animation/public-api.mjs +0 -9
- package/esm2022/core/animation/slide.mjs +0 -17
- package/esm2022/core/config/config.mjs +0 -3
- package/esm2022/core/config/config.service.mjs +0 -54
- package/esm2022/core/config/index.mjs +0 -2
- package/esm2022/core/config/public-api.mjs +0 -3
- package/esm2022/core/functions/chunk.mjs +0 -25
- package/esm2022/core/functions/clone-deep.mjs +0 -28
- package/esm2022/core/functions/convert.mjs +0 -230
- package/esm2022/core/functions/csspx.mjs +0 -17
- package/esm2022/core/functions/date.mjs +0 -223
- package/esm2022/core/functions/drop.mjs +0 -20
- package/esm2022/core/functions/flex.mjs +0 -25
- package/esm2022/core/functions/group-by.mjs +0 -14
- package/esm2022/core/functions/guid.mjs +0 -11
- package/esm2022/core/functions/has-in.mjs +0 -8
- package/esm2022/core/functions/order-by.mjs +0 -56
- package/esm2022/core/functions/parent-path.mjs +0 -27
- package/esm2022/core/functions/property.mjs +0 -20
- package/esm2022/core/functions/public-api.mjs +0 -16
- package/esm2022/core/functions/remove.mjs +0 -19
- package/esm2022/core/functions/resize.mjs +0 -22
- package/esm2022/core/interfaces/data.type.mjs +0 -164
- package/esm2022/core/interfaces/identify.type.mjs +0 -7
- package/esm2022/core/interfaces/index.mjs +0 -2
- package/esm2022/core/interfaces/layout.type.mjs +0 -2
- package/esm2022/core/interfaces/public-api.mjs +0 -5
- package/esm2022/core/interfaces/result-list.type.mjs +0 -2
- package/esm2022/core/ng-nest-ui-core.mjs +0 -5
- package/esm2022/core/public-api.mjs +0 -8
- package/esm2022/core/services/http.service.mjs +0 -58
- package/esm2022/core/services/preloading-strategy.service.mjs +0 -24
- package/esm2022/core/services/public-api.mjs +0 -6
- package/esm2022/core/services/repository.service.mjs +0 -29
- package/esm2022/core/services/reuse-strategy.service.mjs +0 -47
- package/esm2022/core/services/storage.service.mjs +0 -75
- package/esm2022/core/theme/index.mjs +0 -2
- package/esm2022/core/theme/public-api.mjs +0 -3
- package/esm2022/core/theme/theme.mjs +0 -89
- package/esm2022/core/theme/theme.service.mjs +0 -270
- package/esm2022/core/util/animation.mjs +0 -26
- package/esm2022/core/util/camel-to-kebab.mjs +0 -16
- package/esm2022/core/util/check.mjs +0 -15
- package/esm2022/core/util/computed-style.mjs +0 -20
- package/esm2022/core/util/host.mjs +0 -14
- package/esm2022/core/util/html.mjs +0 -12
- package/esm2022/core/util/index.mjs +0 -2
- package/esm2022/core/util/kebab-to-camel.mjs +0 -16
- package/esm2022/core/util/log.mjs +0 -15
- package/esm2022/core/util/option.mjs +0 -14
- package/esm2022/core/util/public-api.mjs +0 -11
- package/esm2022/core/util/sleep.mjs +0 -8
- package/esm2022/crumb/crumb.component.mjs +0 -25
- package/esm2022/crumb/crumb.module.mjs +0 -16
- package/esm2022/crumb/crumb.property.mjs +0 -45
- package/esm2022/crumb/ng-nest-ui-crumb.mjs +0 -5
- package/esm2022/crumb/public-api.mjs +0 -4
- package/esm2022/date-picker/date-picker-portal.component.mjs +0 -196
- package/esm2022/date-picker/date-picker.component.mjs +0 -320
- package/esm2022/date-picker/date-picker.module.mjs +0 -17
- package/esm2022/date-picker/date-picker.property.mjs +0 -770
- package/esm2022/date-picker/date-quarter.pipe.mjs +0 -19
- package/esm2022/date-picker/date-range-portal.component.mjs +0 -349
- package/esm2022/date-picker/date-range.component.mjs +0 -432
- package/esm2022/date-picker/ng-nest-ui-date-picker.mjs +0 -5
- package/esm2022/date-picker/picker-date.component.mjs +0 -334
- package/esm2022/date-picker/picker-month.component.mjs +0 -232
- package/esm2022/date-picker/picker-quarter.component.mjs +0 -237
- package/esm2022/date-picker/picker-year.component.mjs +0 -233
- package/esm2022/date-picker/public-api.mjs +0 -12
- package/esm2022/description/description-item.component.mjs +0 -24
- package/esm2022/description/description.component.mjs +0 -48
- package/esm2022/description/description.module.mjs +0 -17
- package/esm2022/description/description.property.mjs +0 -219
- package/esm2022/description/ng-nest-ui-description.mjs +0 -5
- package/esm2022/description/public-api.mjs +0 -5
- package/esm2022/dialog/dialog-container.component.mjs +0 -29
- package/esm2022/dialog/dialog-portal.component.mjs +0 -97
- package/esm2022/dialog/dialog-portal.directives.mjs +0 -119
- package/esm2022/dialog/dialog-ref.mjs +0 -100
- package/esm2022/dialog/dialog.component.mjs +0 -282
- package/esm2022/dialog/dialog.module.mjs +0 -50
- package/esm2022/dialog/dialog.property.mjs +0 -207
- package/esm2022/dialog/dialog.service.mjs +0 -122
- package/esm2022/dialog/ng-nest-ui-dialog.mjs +0 -5
- package/esm2022/dialog/public-api.mjs +0 -9
- package/esm2022/doc/doc.component.mjs +0 -18
- package/esm2022/doc/doc.module.mjs +0 -16
- package/esm2022/doc/doc.property.mjs +0 -7
- package/esm2022/doc/ng-nest-ui-doc.mjs +0 -5
- package/esm2022/doc/public-api.mjs +0 -4
- package/esm2022/drag/drag.directive.mjs +0 -57
- package/esm2022/drag/drag.module.mjs +0 -16
- package/esm2022/drag/drag.property.mjs +0 -25
- package/esm2022/drag/ng-nest-ui-drag.mjs +0 -5
- package/esm2022/drag/public-api.mjs +0 -4
- package/esm2022/drawer/drawer-container.component.mjs +0 -29
- package/esm2022/drawer/drawer-portal.component.mjs +0 -50
- package/esm2022/drawer/drawer-portal.directives.mjs +0 -58
- package/esm2022/drawer/drawer-ref.mjs +0 -17
- package/esm2022/drawer/drawer.component.mjs +0 -95
- package/esm2022/drawer/drawer.module.mjs +0 -38
- package/esm2022/drawer/drawer.property.mjs +0 -84
- package/esm2022/drawer/drawer.service.mjs +0 -65
- package/esm2022/drawer/ng-nest-ui-drawer.mjs +0 -5
- package/esm2022/drawer/public-api.mjs +0 -10
- package/esm2022/dropdown/dropdown-portal.component.mjs +0 -204
- package/esm2022/dropdown/dropdown.component.mjs +0 -179
- package/esm2022/dropdown/dropdown.module.mjs +0 -16
- package/esm2022/dropdown/dropdown.property.mjs +0 -96
- package/esm2022/dropdown/ng-nest-ui-dropdown.mjs +0 -5
- package/esm2022/dropdown/public-api.mjs +0 -5
- package/esm2022/empty/empty.component.mjs +0 -15
- package/esm2022/empty/empty.module.mjs +0 -16
- package/esm2022/empty/empty.property.mjs +0 -54
- package/esm2022/empty/ng-nest-ui-empty.mjs +0 -5
- package/esm2022/empty/public-api.mjs +0 -4
- package/esm2022/examples/examples.component.mjs +0 -18
- package/esm2022/examples/examples.module.mjs +0 -16
- package/esm2022/examples/examples.property.mjs +0 -7
- package/esm2022/examples/ng-nest-ui-examples.mjs +0 -5
- package/esm2022/examples/public-api.mjs +0 -4
- package/esm2022/find/find.component.mjs +0 -331
- package/esm2022/find/find.module.mjs +0 -16
- package/esm2022/find/find.property.mjs +0 -260
- package/esm2022/find/ng-nest-ui-find.mjs +0 -5
- package/esm2022/find/public-api.mjs +0 -4
- package/esm2022/form/control.component.mjs +0 -249
- package/esm2022/form/form.component.mjs +0 -116
- package/esm2022/form/form.module.mjs +0 -17
- package/esm2022/form/form.property.mjs +0 -202
- package/esm2022/form/ng-nest-ui-form.mjs +0 -5
- package/esm2022/form/public-api.mjs +0 -5
- package/esm2022/highlight/highlight.component.mjs +0 -85
- package/esm2022/highlight/highlight.module.mjs +0 -16
- package/esm2022/highlight/highlight.property.mjs +0 -45
- package/esm2022/highlight/highlight.service.mjs +0 -17
- package/esm2022/highlight/ng-nest-ui-highlight.mjs +0 -5
- package/esm2022/highlight/public-api.mjs +0 -5
- package/esm2022/i18n/i18n.directive.mjs +0 -29
- package/esm2022/i18n/i18n.module.mjs +0 -17
- package/esm2022/i18n/i18n.pipe.mjs +0 -28
- package/esm2022/i18n/i18n.property.mjs +0 -9
- package/esm2022/i18n/i18n.service.mjs +0 -57
- package/esm2022/i18n/languages/ar_EG.mjs +0 -169
- package/esm2022/i18n/languages/bg_BG.mjs +0 -172
- package/esm2022/i18n/languages/ca_ES.mjs +0 -172
- package/esm2022/i18n/languages/cs_CZ.mjs +0 -172
- package/esm2022/i18n/languages/da_DK.mjs +0 -172
- package/esm2022/i18n/languages/de_DE.mjs +0 -172
- package/esm2022/i18n/languages/el_GR.mjs +0 -172
- package/esm2022/i18n/languages/en_GB.mjs +0 -181
- package/esm2022/i18n/languages/en_US.mjs +0 -181
- package/esm2022/i18n/languages/es_ES.mjs +0 -172
- package/esm2022/i18n/languages/et_EE.mjs +0 -172
- package/esm2022/i18n/languages/fa_IR.mjs +0 -172
- package/esm2022/i18n/languages/fi_FI.mjs +0 -172
- package/esm2022/i18n/languages/fr_BE.mjs +0 -172
- package/esm2022/i18n/languages/fr_FR.mjs +0 -172
- package/esm2022/i18n/languages/he_IL.mjs +0 -169
- package/esm2022/i18n/languages/hi_IN.mjs +0 -172
- package/esm2022/i18n/languages/hr_HR.mjs +0 -172
- package/esm2022/i18n/languages/hu_HU.mjs +0 -172
- package/esm2022/i18n/languages/hy_AM.mjs +0 -172
- package/esm2022/i18n/languages/id_ID.mjs +0 -172
- package/esm2022/i18n/languages/is_IS.mjs +0 -172
- package/esm2022/i18n/languages/it_IT.mjs +0 -172
- package/esm2022/i18n/languages/ja_JP.mjs +0 -172
- package/esm2022/i18n/languages/ka_GE.mjs +0 -172
- package/esm2022/i18n/languages/kn_IN.mjs +0 -172
- package/esm2022/i18n/languages/ko_KR.mjs +0 -180
- package/esm2022/i18n/languages/ku_IQ.mjs +0 -156
- package/esm2022/i18n/languages/lv_LV.mjs +0 -180
- package/esm2022/i18n/languages/mn_MN.mjs +0 -180
- package/esm2022/i18n/languages/ms_MY.mjs +0 -180
- package/esm2022/i18n/languages/nb_NO.mjs +0 -180
- package/esm2022/i18n/languages/ne_NP.mjs +0 -180
- package/esm2022/i18n/languages/nl_BE.mjs +0 -180
- package/esm2022/i18n/languages/nl_NL.mjs +0 -180
- package/esm2022/i18n/languages/pl_PL.mjs +0 -180
- package/esm2022/i18n/languages/pt_BR.mjs +0 -180
- package/esm2022/i18n/languages/pt_PT.mjs +0 -180
- package/esm2022/i18n/languages/ro_RO.mjs +0 -180
- package/esm2022/i18n/languages/ru_RU.mjs +0 -180
- package/esm2022/i18n/languages/sk_SK.mjs +0 -171
- package/esm2022/i18n/languages/sl_SI.mjs +0 -172
- package/esm2022/i18n/languages/sr_RS.mjs +0 -172
- package/esm2022/i18n/languages/sv_SE.mjs +0 -172
- package/esm2022/i18n/languages/ta_IN.mjs +0 -180
- package/esm2022/i18n/languages/th_TH.mjs +0 -180
- package/esm2022/i18n/languages/tr_TR.mjs +0 -180
- package/esm2022/i18n/languages/uk_UA.mjs +0 -180
- package/esm2022/i18n/languages/vi_VN.mjs +0 -180
- package/esm2022/i18n/languages/zh_CN.mjs +0 -180
- package/esm2022/i18n/languages/zh_TW.mjs +0 -180
- package/esm2022/i18n/ng-nest-ui-i18n.mjs +0 -5
- package/esm2022/i18n/public-api.mjs +0 -57
- package/esm2022/icon/icon.component.mjs +0 -158
- package/esm2022/icon/icon.module.mjs +0 -16
- package/esm2022/icon/icon.property.mjs +0 -65
- package/esm2022/icon/icon.service.mjs +0 -89
- package/esm2022/icon/ng-nest-ui-icon.mjs +0 -5
- package/esm2022/icon/public-api.mjs +0 -5
- package/esm2022/image/image-group.component.mjs +0 -27
- package/esm2022/image/image-preview.component.mjs +0 -135
- package/esm2022/image/image.component.mjs +0 -75
- package/esm2022/image/image.module.mjs +0 -18
- package/esm2022/image/image.property.mjs +0 -196
- package/esm2022/image/ng-nest-ui-image.mjs +0 -5
- package/esm2022/image/public-api.mjs +0 -6
- package/esm2022/index.mjs +0 -106
- package/esm2022/inner/inner.component.mjs +0 -25
- package/esm2022/inner/inner.module.mjs +0 -16
- package/esm2022/inner/inner.property.mjs +0 -30
- package/esm2022/inner/ng-nest-ui-inner.mjs +0 -5
- package/esm2022/inner/public-api.mjs +0 -4
- package/esm2022/input/input-group.component.mjs +0 -16
- package/esm2022/input/input.component.mjs +0 -224
- package/esm2022/input/input.module.mjs +0 -17
- package/esm2022/input/input.property.mjs +0 -281
- package/esm2022/input/ng-nest-ui-input.mjs +0 -5
- package/esm2022/input/public-api.mjs +0 -5
- package/esm2022/input-number/input-number.component.mjs +0 -131
- package/esm2022/input-number/input-number.module.mjs +0 -16
- package/esm2022/input-number/input-number.property.mjs +0 -146
- package/esm2022/input-number/ng-nest-ui-input-number.mjs +0 -5
- package/esm2022/input-number/public-api.mjs +0 -4
- package/esm2022/keyword/keyword.directive.mjs +0 -61
- package/esm2022/keyword/keyword.module.mjs +0 -16
- package/esm2022/keyword/keyword.property.mjs +0 -45
- package/esm2022/keyword/ng-nest-ui-keyword.mjs +0 -5
- package/esm2022/keyword/public-api.mjs +0 -4
- package/esm2022/layout/col.component.mjs +0 -68
- package/esm2022/layout/layout.module.mjs +0 -17
- package/esm2022/layout/layout.property.mjs +0 -150
- package/esm2022/layout/ng-nest-ui-layout.mjs +0 -5
- package/esm2022/layout/public-api.mjs +0 -5
- package/esm2022/layout/row.component.mjs +0 -54
- package/esm2022/link/link.component.mjs +0 -28
- package/esm2022/link/link.module.mjs +0 -16
- package/esm2022/link/link.property.mjs +0 -109
- package/esm2022/link/ng-nest-ui-link.mjs +0 -5
- package/esm2022/link/public-api.mjs +0 -4
- package/esm2022/list/list-drop-group.directive.mjs +0 -39
- package/esm2022/list/list-option.component.mjs +0 -37
- package/esm2022/list/list.component.mjs +0 -409
- package/esm2022/list/list.module.mjs +0 -18
- package/esm2022/list/list.property.mjs +0 -273
- package/esm2022/list/ng-nest-ui-list.mjs +0 -5
- package/esm2022/list/public-api.mjs +0 -6
- package/esm2022/loading/loading.component.mjs +0 -77
- package/esm2022/loading/loading.module.mjs +0 -16
- package/esm2022/loading/loading.property.mjs +0 -70
- package/esm2022/loading/ng-nest-ui-loading.mjs +0 -5
- package/esm2022/loading/public-api.mjs +0 -4
- package/esm2022/menu/menu-node.component.mjs +0 -36
- package/esm2022/menu/menu.component.mjs +0 -171
- package/esm2022/menu/menu.module.mjs +0 -17
- package/esm2022/menu/menu.property.mjs +0 -107
- package/esm2022/menu/ng-nest-ui-menu.mjs +0 -5
- package/esm2022/menu/public-api.mjs +0 -5
- package/esm2022/message/message-ref.mjs +0 -13
- package/esm2022/message/message.component.mjs +0 -40
- package/esm2022/message/message.module.mjs +0 -15
- package/esm2022/message/message.property.mjs +0 -9
- package/esm2022/message/message.service.mjs +0 -146
- package/esm2022/message/ng-nest-ui-message.mjs +0 -5
- package/esm2022/message/public-api.mjs +0 -6
- package/esm2022/message-box/message-box.component.mjs +0 -122
- package/esm2022/message-box/message-box.module.mjs +0 -15
- package/esm2022/message-box/message-box.property.mjs +0 -8
- package/esm2022/message-box/message-box.service.mjs +0 -97
- package/esm2022/message-box/ng-nest-ui-message-box.mjs +0 -5
- package/esm2022/message-box/public-api.mjs +0 -5
- package/esm2022/ng-nest-ui.mjs +0 -5
- package/esm2022/notification/ng-nest-ui-notification.mjs +0 -5
- package/esm2022/notification/notification.component.mjs +0 -42
- package/esm2022/notification/notification.module.mjs +0 -15
- package/esm2022/notification/notification.property.mjs +0 -8
- package/esm2022/notification/notification.service.mjs +0 -107
- package/esm2022/notification/public-api.mjs +0 -5
- package/esm2022/outlet/ng-nest-ui-outlet.mjs +0 -5
- package/esm2022/outlet/outlet.directive.mjs +0 -72
- package/esm2022/outlet/outlet.module.mjs +0 -16
- package/esm2022/outlet/outlet.property.mjs +0 -7
- package/esm2022/outlet/public-api.mjs +0 -4
- package/esm2022/page-header/ng-nest-ui-page-header.mjs +0 -5
- package/esm2022/page-header/page-header.component.mjs +0 -24
- package/esm2022/page-header/page-header.module.mjs +0 -16
- package/esm2022/page-header/page-header.property.mjs +0 -50
- package/esm2022/page-header/public-api.mjs +0 -4
- package/esm2022/pagination/ng-nest-ui-pagination.mjs +0 -5
- package/esm2022/pagination/pagination.component.mjs +0 -205
- package/esm2022/pagination/pagination.module.mjs +0 -16
- package/esm2022/pagination/pagination.property.mjs +0 -149
- package/esm2022/pagination/public-api.mjs +0 -4
- package/esm2022/pattern/ng-nest-ui-pattern.mjs +0 -5
- package/esm2022/pattern/pattern.component.mjs +0 -18
- package/esm2022/pattern/pattern.module.mjs +0 -16
- package/esm2022/pattern/pattern.property.mjs +0 -7
- package/esm2022/pattern/public-api.mjs +0 -4
- package/esm2022/popconfirm/ng-nest-ui-popconfirm.mjs +0 -5
- package/esm2022/popconfirm/popconfirm.component.mjs +0 -59
- package/esm2022/popconfirm/popconfirm.module.mjs +0 -16
- package/esm2022/popconfirm/popconfirm.property.mjs +0 -100
- package/esm2022/popconfirm/public-api.mjs +0 -4
- package/esm2022/popover/ng-nest-ui-popover.mjs +0 -5
- package/esm2022/popover/popover-portal.component.mjs +0 -52
- package/esm2022/popover/popover.directive.mjs +0 -186
- package/esm2022/popover/popover.module.mjs +0 -16
- package/esm2022/popover/popover.property.mjs +0 -101
- package/esm2022/popover/public-api.mjs +0 -5
- package/esm2022/portal/ng-nest-ui-portal.mjs +0 -5
- package/esm2022/portal/portal.module.mjs +0 -16
- package/esm2022/portal/portal.property.mjs +0 -24
- package/esm2022/portal/portal.service.mjs +0 -190
- package/esm2022/portal/public-api.mjs +0 -4
- package/esm2022/progress/ng-nest-ui-progress.mjs +0 -5
- package/esm2022/progress/progress.component.mjs +0 -224
- package/esm2022/progress/progress.module.mjs +0 -16
- package/esm2022/progress/progress.property.mjs +0 -110
- package/esm2022/progress/public-api.mjs +0 -4
- package/esm2022/radio/ng-nest-ui-radio.mjs +0 -5
- package/esm2022/radio/public-api.mjs +0 -4
- package/esm2022/radio/radio.component.mjs +0 -77
- package/esm2022/radio/radio.module.mjs +0 -16
- package/esm2022/radio/radio.property.mjs +0 -121
- package/esm2022/rate/ng-nest-ui-rate.mjs +0 -5
- package/esm2022/rate/public-api.mjs +0 -4
- package/esm2022/rate/rate.component.mjs +0 -99
- package/esm2022/rate/rate.module.mjs +0 -16
- package/esm2022/rate/rate.property.mjs +0 -86
- package/esm2022/resizable/ng-nest-ui-resizable.mjs +0 -5
- package/esm2022/resizable/public-api.mjs +0 -4
- package/esm2022/resizable/resizable.directive.mjs +0 -262
- package/esm2022/resizable/resizable.module.mjs +0 -16
- package/esm2022/resizable/resizable.property.mjs +0 -64
- package/esm2022/result/ng-nest-ui-result.mjs +0 -5
- package/esm2022/result/public-api.mjs +0 -4
- package/esm2022/result/result.component.mjs +0 -25
- package/esm2022/result/result.module.mjs +0 -16
- package/esm2022/result/result.property.mjs +0 -45
- package/esm2022/ripple/ng-nest-ui-ripple.mjs +0 -5
- package/esm2022/ripple/public-api.mjs +0 -4
- package/esm2022/ripple/ripple.directive.mjs +0 -83
- package/esm2022/ripple/ripple.module.mjs +0 -16
- package/esm2022/ripple/ripple.property.mjs +0 -40
- package/esm2022/select/ng-nest-ui-select.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -5
- package/esm2022/select/select-portal.component.mjs +0 -102
- package/esm2022/select/select.component.mjs +0 -680
- package/esm2022/select/select.module.mjs +0 -16
- package/esm2022/select/select.property.mjs +0 -231
- package/esm2022/skeleton/ng-nest-ui-skeleton.mjs +0 -5
- package/esm2022/skeleton/public-api.mjs +0 -4
- package/esm2022/skeleton/skeleton.component.mjs +0 -23
- package/esm2022/skeleton/skeleton.module.mjs +0 -16
- package/esm2022/skeleton/skeleton.property.mjs +0 -55
- package/esm2022/slider/ng-nest-ui-slider.mjs +0 -5
- package/esm2022/slider/public-api.mjs +0 -4
- package/esm2022/slider/slider.component.mjs +0 -222
- package/esm2022/slider/slider.module.mjs +0 -17
- package/esm2022/slider/slider.property.mjs +0 -102
- package/esm2022/slider-select/ng-nest-ui-slider-select.mjs +0 -5
- package/esm2022/slider-select/public-api.mjs +0 -4
- package/esm2022/slider-select/slider-select.component.mjs +0 -363
- package/esm2022/slider-select/slider-select.module.mjs +0 -16
- package/esm2022/slider-select/slider-select.property.mjs +0 -136
- package/esm2022/statistic/countdown.component.mjs +0 -70
- package/esm2022/statistic/ng-nest-ui-statistic.mjs +0 -5
- package/esm2022/statistic/public-api.mjs +0 -5
- package/esm2022/statistic/statistic.component.mjs +0 -34
- package/esm2022/statistic/statistic.module.mjs +0 -17
- package/esm2022/statistic/statistic.property.mjs +0 -106
- package/esm2022/steps/ng-nest-ui-steps.mjs +0 -5
- package/esm2022/steps/public-api.mjs +0 -4
- package/esm2022/steps/steps.component.mjs +0 -49
- package/esm2022/steps/steps.module.mjs +0 -16
- package/esm2022/steps/steps.property.mjs +0 -60
- package/esm2022/switch/ng-nest-ui-switch.mjs +0 -5
- package/esm2022/switch/public-api.mjs +0 -4
- package/esm2022/switch/switch.component.mjs +0 -37
- package/esm2022/switch/switch.module.mjs +0 -16
- package/esm2022/switch/switch.property.mjs +0 -91
- package/esm2022/table/ng-nest-ui-table.mjs +0 -5
- package/esm2022/table/public-api.mjs +0 -7
- package/esm2022/table/table-body.component.mjs +0 -236
- package/esm2022/table/table-foot.component.mjs +0 -29
- package/esm2022/table/table-head.component.mjs +0 -169
- package/esm2022/table/table.component.mjs +0 -372
- package/esm2022/table/table.module.mjs +0 -19
- package/esm2022/table/table.property.mjs +0 -624
- package/esm2022/tabs/ng-nest-ui-tabs.mjs +0 -5
- package/esm2022/tabs/public-api.mjs +0 -7
- package/esm2022/tabs/tab-content.component.mjs +0 -21
- package/esm2022/tabs/tab-link.directive.mjs +0 -46
- package/esm2022/tabs/tab.component.mjs +0 -19
- package/esm2022/tabs/tabs.component.mjs +0 -143
- package/esm2022/tabs/tabs.module.mjs +0 -18
- package/esm2022/tabs/tabs.property.mjs +0 -141
- package/esm2022/tag/ng-nest-ui-tag.mjs +0 -5
- package/esm2022/tag/public-api.mjs +0 -4
- package/esm2022/tag/tag.component.mjs +0 -51
- package/esm2022/tag/tag.module.mjs +0 -16
- package/esm2022/tag/tag.property.mjs +0 -80
- package/esm2022/text-retract/ng-nest-ui-text-retract.mjs +0 -5
- package/esm2022/text-retract/public-api.mjs +0 -4
- package/esm2022/text-retract/text-retract.component.mjs +0 -42
- package/esm2022/text-retract/text-retract.module.mjs +0 -16
- package/esm2022/text-retract/text-retract.property.mjs +0 -35
- package/esm2022/textarea/ng-nest-ui-textarea.mjs +0 -5
- package/esm2022/textarea/public-api.mjs +0 -4
- package/esm2022/textarea/textarea.component.mjs +0 -68
- package/esm2022/textarea/textarea.module.mjs +0 -16
- package/esm2022/textarea/textarea.property.mjs +0 -126
- package/esm2022/theme/ng-nest-ui-theme.mjs +0 -5
- package/esm2022/theme/public-api.mjs +0 -4
- package/esm2022/theme/theme.component.mjs +0 -179
- package/esm2022/theme/theme.module.mjs +0 -16
- package/esm2022/theme/theme.property.mjs +0 -63
- package/esm2022/time-ago/ng-nest-ui-time-ago.mjs +0 -5
- package/esm2022/time-ago/public-api.mjs +0 -4
- package/esm2022/time-ago/time-ago.module.mjs +0 -16
- package/esm2022/time-ago/time-ago.pipe.mjs +0 -70
- package/esm2022/time-ago/time-ago.property.mjs +0 -7
- package/esm2022/time-picker/ng-nest-ui-time-picker.mjs +0 -5
- package/esm2022/time-picker/public-api.mjs +0 -6
- package/esm2022/time-picker/time-picker-frame.component.mjs +0 -312
- package/esm2022/time-picker/time-picker-portal.component.mjs +0 -78
- package/esm2022/time-picker/time-picker.component.mjs +0 -266
- package/esm2022/time-picker/time-picker.module.mjs +0 -17
- package/esm2022/time-picker/time-picker.property.mjs +0 -198
- package/esm2022/time-range/ng-nest-ui-time-range.mjs +0 -5
- package/esm2022/time-range/public-api.mjs +0 -4
- package/esm2022/time-range/time-range.module.mjs +0 -16
- package/esm2022/time-range/time-range.pipe.mjs +0 -44
- package/esm2022/time-range/time-range.property.mjs +0 -7
- package/esm2022/timeline/ng-nest-ui-timeline.mjs +0 -5
- package/esm2022/timeline/public-api.mjs +0 -4
- package/esm2022/timeline/timeline.component.mjs +0 -45
- package/esm2022/timeline/timeline.module.mjs +0 -16
- package/esm2022/timeline/timeline.property.mjs +0 -50
- package/esm2022/tooltip/ng-nest-ui-tooltip.mjs +0 -5
- package/esm2022/tooltip/public-api.mjs +0 -5
- package/esm2022/tooltip/tooltip-portal.component.mjs +0 -103
- package/esm2022/tooltip/tooltip.directive.mjs +0 -143
- package/esm2022/tooltip/tooltip.module.mjs +0 -16
- package/esm2022/tooltip/tooltip.property.mjs +0 -86
- package/esm2022/transfer/ng-nest-ui-transfer.mjs +0 -5
- package/esm2022/transfer/public-api.mjs +0 -4
- package/esm2022/transfer/transfer.component.mjs +0 -659
- package/esm2022/transfer/transfer.module.mjs +0 -16
- package/esm2022/transfer/transfer.property.mjs +0 -112
- package/esm2022/tree/ng-nest-ui-tree.mjs +0 -5
- package/esm2022/tree/public-api.mjs +0 -5
- package/esm2022/tree/tree-node.component.mjs +0 -297
- package/esm2022/tree/tree.component.mjs +0 -579
- package/esm2022/tree/tree.module.mjs +0 -17
- package/esm2022/tree/tree.property.mjs +0 -337
- package/esm2022/tree/tree.service.mjs +0 -102
- package/esm2022/tree-file/ng-nest-ui-tree-file.mjs +0 -5
- package/esm2022/tree-file/public-api.mjs +0 -4
- package/esm2022/tree-file/tree-file.component.mjs +0 -118
- package/esm2022/tree-file/tree-file.module.mjs +0 -16
- package/esm2022/tree-file/tree-file.property.mjs +0 -90
- package/esm2022/tree-select/ng-nest-ui-tree-select.mjs +0 -5
- package/esm2022/tree-select/public-api.mjs +0 -5
- package/esm2022/tree-select/tree-select-portal.component.mjs +0 -86
- package/esm2022/tree-select/tree-select.component.mjs +0 -659
- package/esm2022/tree-select/tree-select.module.mjs +0 -17
- package/esm2022/tree-select/tree-select.property.mjs +0 -237
- package/esm2022/typography/ng-nest-ui-typography.mjs +0 -5
- package/esm2022/typography/public-api.mjs +0 -4
- package/esm2022/typography/typography.component.mjs +0 -27
- package/esm2022/typography/typography.module.mjs +0 -16
- package/esm2022/typography/typography.property.mjs +0 -34
- package/esm2022/upload/ng-nest-ui-upload.mjs +0 -5
- package/esm2022/upload/public-api.mjs +0 -5
- package/esm2022/upload/upload-portal.component.mjs +0 -196
- package/esm2022/upload/upload.component.mjs +0 -233
- package/esm2022/upload/upload.module.mjs +0 -16
- package/esm2022/upload/upload.property.mjs +0 -118
- package/style/core/base.scss +0 -20
- package/style/core/cdk.scss +0 -72
- package/style/core/portal.scss +0 -5
- package/style/core/var.scss +0 -4
- package/style/mixins/index.scss +0 -9
- package/style/params/layout.scss +0 -73
- package/style/params/primary.scss +0 -208
- package/style/themes/default.scss +0 -1
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import { coerceCssPixelValue } from '@angular/cdk/coercion';
|
|
2
|
-
import { XIsNull, XIsUndefined, XIsArray, XIsValue, XIsObject, XIsObservable, XIsFunction, XIsNumber } from '../interfaces';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
import { map, takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { booleanAttribute, numberAttribute } from '@angular/core';
|
|
6
|
-
/**
|
|
7
|
-
* @zh_CN 转换 value 为 boolean 值
|
|
8
|
-
* @en_US Convert the value to boolean value
|
|
9
|
-
*/
|
|
10
|
-
export function XToBoolean(value) {
|
|
11
|
-
return booleanAttribute(value);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @zh_CN 转换 value 为像素值
|
|
15
|
-
* @en_US Convert the value to pixels
|
|
16
|
-
*/
|
|
17
|
-
export function XToCssPixelValue(value) {
|
|
18
|
-
if (!XIsNumber(value) && /^\d+(\.\d+)?$/.test(value)) {
|
|
19
|
-
return coerceCssPixelValue(Number(value));
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return coerceCssPixelValue(value);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export function XToString(value) {
|
|
26
|
-
return `${value}`;
|
|
27
|
-
}
|
|
28
|
-
export function XToNumber(value, fallbackValue) {
|
|
29
|
-
return numberAttribute(value, fallbackValue);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* @zh_CN 转换 value 为指定的 list 数据 [{ label: any; id: any }, ....]
|
|
33
|
-
* @en_US Convert value as the specified list data [{ label: any; id: any }, ....]
|
|
34
|
-
*/
|
|
35
|
-
export function XToDataConvert(value) {
|
|
36
|
-
if (XIsArray(value)) {
|
|
37
|
-
return value.map((x) => {
|
|
38
|
-
if (XIsValue(x)) {
|
|
39
|
-
return { label: x, id: x };
|
|
40
|
-
}
|
|
41
|
-
else if (XIsObject(x)) {
|
|
42
|
-
x.label = XIsUndefined(x.label) || XIsNull(x.label) ? x.id : x.label;
|
|
43
|
-
x.id = XIsUndefined(x.id) || XIsNull(x.id) ? x.label : x.id;
|
|
44
|
-
return x;
|
|
45
|
-
}
|
|
46
|
-
return x;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return value;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* @zh_CN 转换 value 为指定的 list 数据 [{ label: any; id: any }, ....]
|
|
53
|
-
* @en_US Convert value as the specified list data [{ label: any; id: any }, ....]
|
|
54
|
-
*/
|
|
55
|
-
export function XToDataArray(value) {
|
|
56
|
-
if (XIsArray(value)) {
|
|
57
|
-
return value.map((x) => {
|
|
58
|
-
if (XIsValue(x)) {
|
|
59
|
-
return { label: x, id: x };
|
|
60
|
-
}
|
|
61
|
-
else if (XIsObject(x)) {
|
|
62
|
-
x.label = XIsUndefined(x.label) || XIsNull(x.label) ? x.id : x.label;
|
|
63
|
-
x.id = XIsUndefined(x.id) || XIsNull(x.id) ? x.label : x.id;
|
|
64
|
-
return x;
|
|
65
|
-
}
|
|
66
|
-
return x;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
return [{ label: value, id: value }];
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* @zh_CN 根据 data 的类型获取实际的数据
|
|
73
|
-
* @en_US Obtain actual data based on the type of data
|
|
74
|
-
*/
|
|
75
|
-
export function XSetData(data, unSubject, toConvert = true, funcParam = null) {
|
|
76
|
-
return new Observable((x) => {
|
|
77
|
-
const result = (res) => {
|
|
78
|
-
x.next(res);
|
|
79
|
-
x.complete();
|
|
80
|
-
};
|
|
81
|
-
if (typeof data === 'undefined') {
|
|
82
|
-
result([]);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
if (XIsObservable(data)) {
|
|
86
|
-
data
|
|
87
|
-
.pipe(map((y) => (toConvert ? XToDataConvert(y) : y)), takeUntil(unSubject))
|
|
88
|
-
.subscribe((y) => {
|
|
89
|
-
result(y);
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
else if (XIsFunction(data)) {
|
|
93
|
-
data(funcParam)
|
|
94
|
-
.pipe(map((y) => (toConvert ? XToDataConvert(y) : y)), takeUntil(unSubject))
|
|
95
|
-
.subscribe((y) => {
|
|
96
|
-
result(y);
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
result((toConvert ? XToDataConvert(data) : data));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}).pipe(takeUntil(unSubject));
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @zh_CN 根据 id、pid 获取子节点
|
|
107
|
-
* @en_US Obtain sub-nodes based on ID and PID
|
|
108
|
-
*/
|
|
109
|
-
export function XGetChildren(nodes, node, level) {
|
|
110
|
-
node.level = level;
|
|
111
|
-
node.children = nodes.filter((y) => y.pid === node.id);
|
|
112
|
-
node.leaf = node.children?.length > 0;
|
|
113
|
-
if (node.leaf)
|
|
114
|
-
node.children.map((y) => XGetChildren(nodes, y, level + 1));
|
|
115
|
-
return node;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* @zh_CN 递归检查并设置节点是否具有子节点
|
|
119
|
-
* @en_US Recursively checks and sets whether nodes have children
|
|
120
|
-
*/
|
|
121
|
-
export function XHasChildren(nodes, level) {
|
|
122
|
-
for (let node of nodes) {
|
|
123
|
-
node.level = level;
|
|
124
|
-
node.leaf = node.children && node.children.length > 0;
|
|
125
|
-
if (node.leaf) {
|
|
126
|
-
XHasChildren(node.children, level + 1);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return nodes;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* @zh_CN 将对象键值对反转
|
|
133
|
-
* @en_US Reversal the key value of the object
|
|
134
|
-
*/
|
|
135
|
-
export function XInvertKeyValues(obj) {
|
|
136
|
-
return Object.keys(obj).reduce((nw, key) => {
|
|
137
|
-
nw.set(obj[key], key);
|
|
138
|
-
return nw;
|
|
139
|
-
}, new Map());
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* @zh_CN 设置样式名称为 false
|
|
143
|
-
* @en_US Set style name is false
|
|
144
|
-
*/
|
|
145
|
-
export function XClearClass(...classMaps) {
|
|
146
|
-
classMaps.forEach((classMap) => {
|
|
147
|
-
for (const key in classMap) {
|
|
148
|
-
classMap[key] = false;
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* @zh_CN 设置样式名称为 false
|
|
154
|
-
* @en_US Set style name is false
|
|
155
|
-
*/
|
|
156
|
-
export function XClearClassSignal(...classMaps) {
|
|
157
|
-
classMaps.forEach((classMap) => {
|
|
158
|
-
const value = classMap();
|
|
159
|
-
for (const key in value) {
|
|
160
|
-
value[key] = false;
|
|
161
|
-
}
|
|
162
|
-
classMap.set(value);
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* @zh_CN 创建属性装饰器的工厂函数
|
|
167
|
-
* @en_US Factory functions that create attribute decorators
|
|
168
|
-
*/
|
|
169
|
-
function propDecoratorFactory(name, fallback) {
|
|
170
|
-
function propDecorator(target, propName, originalDescriptor) {
|
|
171
|
-
const privatePropName = `$$__${propName}`;
|
|
172
|
-
if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {
|
|
173
|
-
console.warn(`The prop "${privatePropName}" is already exist, it will be overrided by ${name} decorator.`);
|
|
174
|
-
}
|
|
175
|
-
Object.defineProperty(target, privatePropName, {
|
|
176
|
-
configurable: true,
|
|
177
|
-
writable: true
|
|
178
|
-
});
|
|
179
|
-
return {
|
|
180
|
-
get() {
|
|
181
|
-
return originalDescriptor && originalDescriptor.get
|
|
182
|
-
? originalDescriptor.get.bind(this)()
|
|
183
|
-
: this[privatePropName];
|
|
184
|
-
},
|
|
185
|
-
set(value) {
|
|
186
|
-
if (originalDescriptor && originalDescriptor.set) {
|
|
187
|
-
originalDescriptor.set.bind(this)(fallback(value));
|
|
188
|
-
}
|
|
189
|
-
this[privatePropName] = fallback(value);
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
return propDecorator;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* @zh_CN 创建 XInputBoolean 属性装饰器
|
|
197
|
-
* @en_US Create XInputBoolean Properties
|
|
198
|
-
*/
|
|
199
|
-
export function XInputBoolean() {
|
|
200
|
-
return propDecoratorFactory('XInputBoolean', XToBoolean);
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* @zh_CN 创建 XInputNumber 属性装饰器
|
|
204
|
-
* @en_US Create XInputNumber Properties
|
|
205
|
-
*/
|
|
206
|
-
export function XInputNumber() {
|
|
207
|
-
return propDecoratorFactory('XInputNumber', XToNumber);
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* @zh_CN 创建 XInputNumber 属性装饰器
|
|
211
|
-
* @en_US Create XInputNumber Properties
|
|
212
|
-
*/
|
|
213
|
-
export function XInputCssPixelValue() {
|
|
214
|
-
return propDecoratorFactory('XInputCssPixelValue', XToCssPixelValue);
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* @zh_CN 创建 XDataConvert 属性装饰器
|
|
218
|
-
* @en_US Create XDataConvert Properties
|
|
219
|
-
*/
|
|
220
|
-
export function XDataConvert() {
|
|
221
|
-
return propDecoratorFactory('XDataConvert', XToDataConvert);
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* @zh_CN 限制给定数值 value 的范围
|
|
225
|
-
* @en_US Limit the range of the given value value
|
|
226
|
-
*/
|
|
227
|
-
export function XClamp(value, min, max) {
|
|
228
|
-
return Math.max(min, Math.min(max, value));
|
|
229
|
-
}
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2NvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUNMLE9BQU8sRUFDUCxZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsRUFDUixTQUFTLEVBQ1QsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWU7SUFDeEMsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWM7SUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckQsT0FBTyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWM7SUFDdEMsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDO0FBQ3BCLENBQUM7QUFRRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWMs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QUFDSCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU8sb0JBQW9CLENBQUMscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQzVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQ3NzUGl4ZWxWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7XHJcbiAgWElzTnVsbCxcclxuICBYSXNVbmRlZmluZWQsXHJcbiAgWElzQXJyYXksXHJcbiAgWElzVmFsdWUsXHJcbiAgWElzT2JqZWN0LFxyXG4gIFhJc09ic2VydmFibGUsXHJcbiAgWElzRnVuY3Rpb24sXHJcbiAgWElzTnVtYmVyXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBXcml0YWJsZVNpZ25hbCwgYm9vbGVhbkF0dHJpYnV0ZSwgbnVtYmVyQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB0eXBlIHsgWERhdGEsIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LCBYQm9vbGVhbiwgWENsYXNzTWFwLCBYTnVtYmVyLCBYRGF0YUFycmF5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOi9rOaNoiB2YWx1ZSDkuLogYm9vbGVhbiDlgLxcclxuICogQGVuX1VTIENvbnZlcnQgdGhlIHZhbHVlIHRvIGJvb2xlYW4gdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYVG9Cb29sZWFuKHZhbHVlOiBYQm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBib29sZWFuQXR0cmlidXRlKHZhbHVlKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDovazmjaIgdmFsdWUg5Li65YOP57Sg5YC8XHJcbiAqIEBlbl9VUyBDb252ZXJ0IHRoZSB2YWx1ZSB0byBwaXhlbHNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYVG9Dc3NQaXhlbFZhbHVlKHZhbHVlOiBYTnVtYmVyKTogc3RyaW5nIHtcclxuICBpZiAoIVhJc051bWJlcih2YWx1ZSkgJiYgL15cXGQrKFxcLlxcZCspPyQvLnRlc3QodmFsdWUpKSB7XHJcbiAgICByZXR1cm4gY29lcmNlQ3NzUGl4ZWxWYWx1ZShOdW1iZXIodmFsdWUpKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGNvZXJjZUNzc1BpeGVsVmFsdWUodmFsdWUpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFhUb1N0cmluZyh2YWx1ZTogWE51bWJlcik6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGAke3ZhbHVlfWA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6L2s5o2iIHZhbHVlIOS4uiBudW1iZXIg5YC8XHJcbiAqIEBlbl9VUyBDb252ZXJ0IHRoZSB2YWx1ZSB0byBOdW1iZXIgdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYVG9OdW1iZXIodmFsdWU6IFhOdW1iZXIpOiBudW1iZXI7XHJcbmV4cG9ydCBmdW5jdGlvbiBYVG9OdW1iZXI8RD4odmFsdWU6IFhOdW1iZXIsIGZhbGxiYWNrOiBEKTogbnVtYmVyIHwgRDtcclxuZXhwb3J0IGZ1bmN0aW9uIFhUb051bWJlcih2YWx1ZTogWE51bWJlciwgZmFsbGJhY2tWYWx1ZT86IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIG51bWJlckF0dHJpYnV0ZSh2YWx1ZSwgZmFsbGJhY2tWYWx1ZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6L2s5o2iIHZhbHVlIOS4uuaMh+WumueahCBsaXN0IOaVsOaNriBbeyBsYWJlbDogYW55OyBpZDogYW55IH0sIC4uLi5dXHJcbiAqIEBlbl9VUyBDb252ZXJ0IHZhbHVlIGFzIHRoZSBzcGVjaWZpZWQgbGlzdCBkYXRhIFt7IGxhYmVsOiBhbnk7IGlkOiBhbnkgfSwgLi4uLl1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYVG9EYXRhQ29udmVydDxUPih2YWx1ZTogWERhdGE8VD4pOiBYRGF0YTxUPiB7XHJcbiAgaWYgKFhJc0FycmF5KHZhbHVlKSkge1xyXG4gICAgcmV0dXJuICh2YWx1ZSBhcyBbXSkubWFwKCh4OiBhbnkpID0+IHtcclxuICAgICAgaWYgKFhJc1ZhbHVlKHgpKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgbGFiZWw6IHgsIGlkOiB4IH07XHJcbiAgICAgIH0gZWxzZSBpZiAoWElzT2JqZWN0PHsgbGFiZWw6IGFueTsgaWQ6IGFueSB9Pih4KSkge1xyXG4gICAgICAgIHgubGFiZWwgPSBYSXNVbmRlZmluZWQoeC5sYWJlbCkgfHwgWElzTnVsbCh4LmxhYmVsKSA/IHguaWQgOiB4LmxhYmVsO1xyXG4gICAgICAgIHguaWQgPSBYSXNVbmRlZmluZWQoeC5pZCkgfHwgWElzTnVsbCh4LmlkKSA/IHgubGFiZWwgOiB4LmlkO1xyXG4gICAgICAgIHJldHVybiB4O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB4O1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiB2YWx1ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDovazmjaIgdmFsdWUg5Li65oyH5a6a55qEIGxpc3Qg5pWw5o2uIFt7IGxhYmVsOiBhbnk7IGlkOiBhbnkgfSwgLi4uLl1cclxuICogQGVuX1VTIENvbnZlcnQgdmFsdWUgYXMgdGhlIHNwZWNpZmllZCBsaXN0IGRhdGEgW3sgbGFiZWw6IGFueTsgaWQ6IGFueSB9LCAuLi4uXVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhUb0RhdGFBcnJheTxUPih2YWx1ZTogWERhdGFBcnJheTxUPik6IFRbXSB7XHJcbiAgaWYgKFhJc0FycmF5KHZhbHVlKSkge1xyXG4gICAgcmV0dXJuIHZhbHVlLm1hcCgoeDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChYSXNWYWx1ZSh4KSkge1xyXG4gICAgICAgIHJldHVybiB7IGxhYmVsOiB4LCBpZDogeCB9O1xyXG4gICAgICB9IGVsc2UgaWYgKFhJc09iamVjdDx7IGxhYmVsOiBhbnk7IGlkOiBhbnkgfT4oeCkpIHtcclxuICAgICAgICB4LmxhYmVsID0gWElzVW5kZWZpbmVkKHgubGFiZWwpIHx8IFhJc051bGwoeC5sYWJlbCkgPyB4LmlkIDogeC5sYWJlbDtcclxuICAgICAgICB4LmlkID0gWElzVW5kZWZpbmVkKHguaWQpIHx8IFhJc051bGwoeC5pZCkgPyB4LmxhYmVsIDogeC5pZDtcclxuICAgICAgICByZXR1cm4geDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZXR1cm4gW3sgbGFiZWw6IHZhbHVlLCBpZDogdmFsdWUgfSBhcyBUXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmoLnmja4gZGF0YSDnmoTnsbvlnovojrflj5blrp7pmYXnmoTmlbDmja5cclxuICogQGVuX1VTIE9idGFpbiBhY3R1YWwgZGF0YSBiYXNlZCBvbiB0aGUgdHlwZSBvZiBkYXRhXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWFNldERhdGE8VD4oXHJcbiAgZGF0YTogWERhdGE8VD4sXHJcbiAgdW5TdWJqZWN0OiBTdWJqZWN0PHZvaWQ+LFxyXG4gIHRvQ29udmVydCA9IHRydWUsXHJcbiAgZnVuY1BhcmFtOiBhbnkgPSBudWxsXHJcbik6IE9ic2VydmFibGU8VFtdPiB7XHJcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCh4OiBPYnNlcnZlcjxUW10+KSA9PiB7XHJcbiAgICBjb25zdCByZXN1bHQgPSAocmVzOiBUW10pID0+IHtcclxuICAgICAgeC5uZXh0KHJlcyk7XHJcbiAgICAgIHguY29tcGxldGUoKTtcclxuICAgIH07XHJcbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJlc3VsdChbXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoWElzT2JzZXJ2YWJsZShkYXRhKSkge1xyXG4gICAgICAgIChkYXRhIGFzIE9ic2VydmFibGU8VFtdPilcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHkpID0+ICh0b0NvbnZlcnQgPyBYVG9EYXRhQ29udmVydCh5KSA6IHkpKSxcclxuICAgICAgICAgICAgdGFrZVVudGlsKHVuU3ViamVjdClcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHkpID0+IHtcclxuICAgICAgICAgICAgcmVzdWx0KHkgYXMgVFtdKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKFhJc0Z1bmN0aW9uKGRhdGEpKSB7XHJcbiAgICAgICAgKGRhdGEgYXMgKHBhcmFtOiBhbnkpID0+IE9ic2VydmFibGU8VFtdPikoZnVuY1BhcmFtKVxyXG4gICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoeSkgPT4gKHRvQ29udmVydCA/IFhUb0RhdGFDb252ZXJ0KHkpIDogeSkpLFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodW5TdWJqZWN0KVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoeSkgPT4ge1xyXG4gICAgICAgICAgICByZXN1bHQoeSBhcyBUW10pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzdWx0KCh0b0NvbnZlcnQgPyBYVG9EYXRhQ29udmVydChkYXRhKSA6IGRhdGEpIGFzIFRbXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KS5waXBlKHRha2VVbnRpbCh1blN1YmplY3QpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmoLnmja4gaWTjgIFwaWQg6I635Y+W5a2Q6IqC54K5XHJcbiAqIEBlbl9VUyBPYnRhaW4gc3ViLW5vZGVzIGJhc2VkIG9uIElEIGFuZCBQSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYR2V0Q2hpbGRyZW48VCBleHRlbmRzIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5PFQ+Pihub2RlczogVFtdLCBub2RlOiBULCBsZXZlbDogbnVtYmVyKTogVCB7XHJcbiAgbm9kZS5sZXZlbCA9IGxldmVsO1xyXG4gIG5vZGUuY2hpbGRyZW4gPSBub2Rlcy5maWx0ZXIoKHkpID0+IHkucGlkID09PSBub2RlLmlkKTtcclxuICBub2RlLmxlYWYgPSBub2RlLmNoaWxkcmVuPy5sZW5ndGggPiAwO1xyXG4gIGlmIChub2RlLmxlYWYpIG5vZGUuY2hpbGRyZW4ubWFwKCh5KSA9PiBYR2V0Q2hpbGRyZW4obm9kZXMsIHksIGxldmVsICsgMSkpO1xyXG4gIHJldHVybiBub2RlO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOmAkuW9kuajgOafpeW5tuiuvue9ruiKgueCueaYr+WQpuWFt+acieWtkOiKgueCuVxyXG4gKiBAZW5fVVMgUmVjdXJzaXZlbHkgY2hlY2tzIGFuZCBzZXRzIHdoZXRoZXIgbm9kZXMgaGF2ZSBjaGlsZHJlblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhIYXNDaGlsZHJlbjxUIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8VD4+KG5vZGVzOiBUW10sIGxldmVsOiBudW1iZXIpOiBUW10ge1xyXG4gIGZvciAobGV0IG5vZGUgb2Ygbm9kZXMpIHtcclxuICAgIG5vZGUubGV2ZWwgPSBsZXZlbDtcclxuICAgIG5vZGUubGVhZiA9IG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwO1xyXG4gICAgaWYgKG5vZGUubGVhZikge1xyXG4gICAgICBYSGFzQ2hpbGRyZW4obm9kZS5jaGlsZHJlbiEsIGxldmVsICsgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbm9kZXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5bCG5a+56LGh6ZSu5YC85a+55Y+N6L2sXHJcbiAqIEBlbl9VUyBSZXZlcnNhbCB0aGUga2V5IHZhbHVlIG9mIHRoZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYSW52ZXJ0S2V5VmFsdWVzKG9iajogYW55KTogTWFwPGFueSwgYW55PiB7XHJcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikucmVkdWNlKChudywga2V5KSA9PiB7XHJcbiAgICBudy5zZXQob2JqW2tleV0sIGtleSk7XHJcbiAgICByZXR1cm4gbnc7XHJcbiAgfSwgbmV3IE1hcCgpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDorr7nva7moLflvI/lkI3np7DkuLogZmFsc2VcclxuICogQGVuX1VTIFNldCBzdHlsZSBuYW1lIGlzIGZhbHNlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWENsZWFyQ2xhc3MoLi4uY2xhc3NNYXBzOiBYQ2xhc3NNYXBbXSk6IHZvaWQge1xyXG4gIGNsYXNzTWFwcy5mb3JFYWNoKChjbGFzc01hcCkgPT4ge1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gY2xhc3NNYXApIHtcclxuICAgICAgY2xhc3NNYXBba2V5XSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOiuvue9ruagt+W8j+WQjeensOS4uiBmYWxzZVxyXG4gKiBAZW5fVVMgU2V0IHN0eWxlIG5hbWUgaXMgZmFsc2VcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYQ2xlYXJDbGFzc1NpZ25hbCguLi5jbGFzc01hcHM6IFdyaXRhYmxlU2lnbmFsPFhDbGFzc01hcD5bXSk6IHZvaWQge1xyXG4gIGNsYXNzTWFwcy5mb3JFYWNoKChjbGFzc01hcCkgPT4ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjbGFzc01hcCgpO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWUpIHtcclxuICAgICAgdmFsdWVba2V5XSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY2xhc3NNYXAuc2V0KHZhbHVlKTtcclxuICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDlsZ7mgKfoo4XppbDlmajov5Tlm57nsbvlnotcclxuICogQGVuX1VTIEF0dHJpYnV0ZSBkZWNvcmF0b3IgcmV0dXJuIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhQcm9wRGVjb3JhdG9yID0gKHRhcmdldDogYW55LCBwcm9wTmFtZTogc3RyaW5nKSA9PiB2b2lkO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJvlu7rlsZ7mgKfoo4XppbDlmajnmoTlt6XljoLlh73mlbBcclxuICogQGVuX1VTIEZhY3RvcnkgZnVuY3Rpb25zIHRoYXQgY3JlYXRlIGF0dHJpYnV0ZSBkZWNvcmF0b3JzXHJcbiAqL1xyXG5mdW5jdGlvbiBwcm9wRGVjb3JhdG9yRmFjdG9yeTxULCBEPihuYW1lOiBzdHJpbmcsIGZhbGxiYWNrOiAodjogVCkgPT4gRCk6IFhQcm9wRGVjb3JhdG9yIHtcclxuICBmdW5jdGlvbiBwcm9wRGVjb3JhdG9yKHRhcmdldDogYW55LCBwcm9wTmFtZTogc3RyaW5nLCBvcmlnaW5hbERlc2NyaXB0b3I/OiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KTogYW55IHtcclxuICAgIGNvbnN0IHByaXZhdGVQcm9wTmFtZSA9IGAkJF9fJHtwcm9wTmFtZX1gO1xyXG5cclxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGFyZ2V0LCBwcml2YXRlUHJvcE5hbWUpKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihgVGhlIHByb3AgXCIke3ByaXZhdGVQcm9wTmFtZX1cIiBpcyBhbHJlYWR5IGV4aXN0LCBpdCB3aWxsIGJlIG92ZXJyaWRlZCBieSAke25hbWV9IGRlY29yYXRvci5gKTtcclxuICAgIH1cclxuXHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcml2YXRlUHJvcE5hbWUsIHtcclxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxyXG4gICAgICB3cml0YWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZ2V0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsRGVzY3JpcHRvciAmJiBvcmlnaW5hbERlc2NyaXB0b3IuZ2V0XHJcbiAgICAgICAgICA/IG9yaWdpbmFsRGVzY3JpcHRvci5nZXQuYmluZCh0aGlzKSgpXHJcbiAgICAgICAgICA6IHRoaXNbcHJpdmF0ZVByb3BOYW1lXTtcclxuICAgICAgfSxcclxuICAgICAgc2V0KHZhbHVlOiBUKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKG9yaWdpbmFsRGVzY3JpcHRvciAmJiBvcmlnaW5hbERlc2NyaXB0b3Iuc2V0KSB7XHJcbiAgICAgICAgICBvcmlnaW5hbERlc2NyaXB0b3Iuc2V0LmJpbmQodGhpcykoZmFsbGJhY2sodmFsdWUpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpc1twcml2YXRlUHJvcE5hbWVdID0gZmFsbGJhY2sodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHByb3BEZWNvcmF0b3I7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Yib5bu6IFhJbnB1dEJvb2xlYW4g5bGe5oCn6KOF6aWw5ZmoXHJcbiAqIEBlbl9VUyBDcmVhdGUgWElucHV0Qm9vbGVhbiBQcm9wZXJ0aWVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWElucHV0Qm9vbGVhbigpOiBYUHJvcERlY29yYXRvciB7XHJcbiAgcmV0dXJuIHByb3BEZWNvcmF0b3JGYWN0b3J5KCdYSW5wdXRCb29sZWFuJywgWFRvQm9vbGVhbik7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Yib5bu6IFhJbnB1dE51bWJlciDlsZ7mgKfoo4XppbDlmahcclxuICogQGVuX1VTIENyZWF0ZSBYSW5wdXROdW1iZXIgUHJvcGVydGllc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhJbnB1dE51bWJlcigpOiBYUHJvcERlY29yYXRvciB7XHJcbiAgcmV0dXJuIHByb3BEZWNvcmF0b3JGYWN0b3J5KCdYSW5wdXROdW1iZXInLCBYVG9OdW1iZXIpO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIm+W7uiBYSW5wdXROdW1iZXIg5bGe5oCn6KOF6aWw5ZmoXHJcbiAqIEBlbl9VUyBDcmVhdGUgWElucHV0TnVtYmVyIFByb3BlcnRpZXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYSW5wdXRDc3NQaXhlbFZhbHVlKCk6IFhQcm9wRGVjb3JhdG9yIHtcclxuICByZXR1cm4gcHJvcERlY29yYXRvckZhY3RvcnkoJ1hJbnB1dENzc1BpeGVsVmFsdWUnLCBYVG9Dc3NQaXhlbFZhbHVlKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJvlu7ogWERhdGFDb252ZXJ0IOWxnuaAp+ijhemlsOWZqFxyXG4gKiBAZW5fVVMgQ3JlYXRlIFhEYXRhQ29udmVydCBQcm9wZXJ0aWVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWERhdGFDb252ZXJ0KCk6IFhQcm9wRGVjb3JhdG9yIHtcclxuICByZXR1cm4gcHJvcERlY29yYXRvckZhY3RvcnkoJ1hEYXRhQ29udmVydCcsIFhUb0RhdGFDb252ZXJ0KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDpmZDliLbnu5nlrprmlbDlgLwgdmFsdWUg55qE6IyD5Zu0XHJcbiAqIEBlbl9VUyBMaW1pdCB0aGUgcmFuZ2Ugb2YgdGhlIGdpdmVuIHZhbHVlIHZhbHVlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWENsYW1wKHZhbHVlOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIE1hdGgubWF4KG1pbiwgTWF0aC5taW4obWF4LCB2YWx1ZSkpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { XIsNumber } from '../interfaces';
|
|
2
|
-
/**
|
|
3
|
-
* @zh_CN 转换 csspx 为像素宽度
|
|
4
|
-
* @en_US Convert CSS PX to pixel width
|
|
5
|
-
*/
|
|
6
|
-
export function XToCssPx(csspx, fontSize) {
|
|
7
|
-
if (csspx === '0')
|
|
8
|
-
return 0;
|
|
9
|
-
if (XIsNumber(csspx))
|
|
10
|
-
return Number(csspx);
|
|
11
|
-
else if (csspx.endsWith('rem'))
|
|
12
|
-
return Number(csspx.replace(/rem/g, '')) * fontSize;
|
|
13
|
-
else if (csspx.endsWith('px'))
|
|
14
|
-
return Number(csspx.replace(/px/g, ''));
|
|
15
|
-
return 0;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzcHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb3JlL2Z1bmN0aW9ucy9jc3NweC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDOzs7R0FHRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYSxFQUFFLFFBQWdCO0lBQ3RELElBQUksS0FBSyxLQUFLLEdBQUc7UUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QixJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7U0FDL0UsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWElzTnVtYmVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOi9rOaNoiBjc3NweCDkuLrlg4/ntKDlrr3luqZcclxuICogQGVuX1VTIENvbnZlcnQgQ1NTIFBYIHRvIHBpeGVsIHdpZHRoXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWFRvQ3NzUHgoY3NzcHg6IHN0cmluZywgZm9udFNpemU6IG51bWJlcikge1xyXG4gIGlmIChjc3NweCA9PT0gJzAnKSByZXR1cm4gMDtcclxuICBpZiAoWElzTnVtYmVyKGNzc3B4KSkgcmV0dXJuIE51bWJlcihjc3NweCk7XHJcbiAgZWxzZSBpZiAoY3NzcHguZW5kc1dpdGgoJ3JlbScpKSByZXR1cm4gTnVtYmVyKGNzc3B4LnJlcGxhY2UoL3JlbS9nLCAnJykpICogZm9udFNpemU7XHJcbiAgZWxzZSBpZiAoY3NzcHguZW5kc1dpdGgoJ3B4JykpIHJldHVybiBOdW1iZXIoY3NzcHgucmVwbGFjZSgvcHgvZywgJycpKTtcclxuICByZXR1cm4gMDtcclxufVxyXG5cclxuIl19
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import { XIsDate, XIsNumber } from '../interfaces';
|
|
2
|
-
/**
|
|
3
|
-
* @zh_CN 转换 Date
|
|
4
|
-
* @en_US Convert to date
|
|
5
|
-
*/
|
|
6
|
-
export function XToDate(date) {
|
|
7
|
-
if (XIsDate(date) || XIsNumber(date)) {
|
|
8
|
-
return new Date(date);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
return new Date(Date.parse(date));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* @zh_CN 日期添加毫秒数,负数为减少
|
|
16
|
-
* @en_US Add milliseconds to the date, the negative number is reduced
|
|
17
|
-
*/
|
|
18
|
-
export function XAddMilliseconds(date, amount) {
|
|
19
|
-
let dt = XToDate(date);
|
|
20
|
-
if (!isNaN(dt.valueOf()) && amount) {
|
|
21
|
-
return new Date(dt.getTime() + amount);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return date;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @zh_CN 日期添加秒数,负数为减少
|
|
29
|
-
* @en_US Date adds seconds, the negative number is reduced
|
|
30
|
-
*/
|
|
31
|
-
export function XAddSeconds(date, amount) {
|
|
32
|
-
return XAddMilliseconds(date, amount * 1000);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* @zh_CN 日期添加分钟数,负数为减少
|
|
36
|
-
* @en_US Date adds minutes, the negative number is reduced
|
|
37
|
-
*/
|
|
38
|
-
export function XAddMinutes(date, amount) {
|
|
39
|
-
return XAddMilliseconds(date, amount * 60000);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* @zh_CN 日期添加小时数,负数为减少
|
|
43
|
-
* @en_US Date adds hours, the negative number is reduced
|
|
44
|
-
*/
|
|
45
|
-
export function XAddHours(date, amount) {
|
|
46
|
-
return XAddMilliseconds(date, amount * 3600000);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* @zh_CN 日期添加天数,负数为减少
|
|
50
|
-
* @en_US Date adds days, the negative number is reduced
|
|
51
|
-
*/
|
|
52
|
-
export function XAddDays(date, amount) {
|
|
53
|
-
let dt = XToDate(date);
|
|
54
|
-
if (!isNaN(dt.valueOf()) && amount) {
|
|
55
|
-
dt.setDate(dt.getDate() + amount);
|
|
56
|
-
return dt;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
return date;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* @zh_CN 日期添加月数,负数为减少
|
|
64
|
-
* @en_US Date adds monthly number, negative number is reduced
|
|
65
|
-
*/
|
|
66
|
-
export function XAddMonths(date, amount) {
|
|
67
|
-
let dt = XToDate(date);
|
|
68
|
-
if (!isNaN(dt.valueOf()) && amount) {
|
|
69
|
-
const day = dt.getDate();
|
|
70
|
-
const month = dt.getMonth();
|
|
71
|
-
const endMonth = new Date(dt);
|
|
72
|
-
endMonth.setMonth(month + amount + 1, 0);
|
|
73
|
-
const endDay = endMonth.getDate();
|
|
74
|
-
if (day >= endDay) {
|
|
75
|
-
return endMonth;
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
dt.setFullYear(endMonth.getFullYear(), endMonth.getMonth(), day);
|
|
79
|
-
}
|
|
80
|
-
return dt;
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return date;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* @zh_CN 日期添加年数,负数为减少
|
|
88
|
-
* @en_US The number of years of date, the negative number is reduced
|
|
89
|
-
*/
|
|
90
|
-
export function XAddYears(date, amount) {
|
|
91
|
-
return XAddMonths(date, amount * 12);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @zh_CN 获取给定日期的 ISO 周数
|
|
95
|
-
* @en_US Get the number of ISO weeks of the given date
|
|
96
|
-
*/
|
|
97
|
-
export function XDateWeek(date) {
|
|
98
|
-
let dt = XToDate(date);
|
|
99
|
-
if (!isNaN(dt.valueOf())) {
|
|
100
|
-
return getISOWeek(dt);
|
|
101
|
-
}
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* @zh_CN 获取指定日期的 ISO 周年份
|
|
106
|
-
* @en_US Get the ISO anniversary of the specified date
|
|
107
|
-
*/
|
|
108
|
-
export function XDateWeekYear(date) {
|
|
109
|
-
let dt = XToDate(date);
|
|
110
|
-
if (!isNaN(dt.valueOf())) {
|
|
111
|
-
return getISOWeekYear(dt);
|
|
112
|
-
}
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* @zh_CN 获取指定日期的年份和周数
|
|
117
|
-
* @en_US Get the year and week of the specified date
|
|
118
|
-
*/
|
|
119
|
-
export function XDateYearWeek(date) {
|
|
120
|
-
let dt = XToDate(date);
|
|
121
|
-
if (!isNaN(dt.valueOf())) {
|
|
122
|
-
return `${getISOWeekYear(dt)}-${getISOWeek(dt)}`;
|
|
123
|
-
}
|
|
124
|
-
return '';
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* @zh_CN 获取指定日期的年份和季度
|
|
128
|
-
* @en_US Get the year and quarter of the specified date
|
|
129
|
-
*/
|
|
130
|
-
export function XDateYearQuarter(date) {
|
|
131
|
-
let dt = XToDate(date);
|
|
132
|
-
if (!isNaN(dt.valueOf())) {
|
|
133
|
-
return `${dt.getFullYear()}-${XDateQuarter(dt)}`;
|
|
134
|
-
}
|
|
135
|
-
return '';
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* @zh_CN 获取指定日期所属的季度
|
|
139
|
-
* @en_US Get the season when the specified date belongs
|
|
140
|
-
*/
|
|
141
|
-
export function XDateQuarter(date) {
|
|
142
|
-
let dt = XToDate(date);
|
|
143
|
-
if (!isNaN(dt.valueOf())) {
|
|
144
|
-
return `Q${Math.ceil((dt.getMonth() + 1) / 3)}`;
|
|
145
|
-
}
|
|
146
|
-
return '';
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* @zh_CN 获取给定日期的 ISO 周数
|
|
150
|
-
* @en_US Get the number of ISO weeks of the given date
|
|
151
|
-
*/
|
|
152
|
-
function getISOWeek(date) {
|
|
153
|
-
const diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime();
|
|
154
|
-
return Math.round(diff / 604800000) + 1;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* @zh_CN 获取给定日期所在 ISO 周的开始日期
|
|
158
|
-
* @en_US The start date of the ISO week where the given date is located
|
|
159
|
-
*/
|
|
160
|
-
function startOfISOWeek(date) {
|
|
161
|
-
return startOfWeek(date, { weekStartsOn: 1 });
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* @zh_CN 获取给定日期所在周的开始日期
|
|
165
|
-
* @en_US The start date of the ISO week where the given date is located
|
|
166
|
-
*/
|
|
167
|
-
function startOfWeek(date, options) {
|
|
168
|
-
const weekStartsOn = options?.weekStartsOn || 0;
|
|
169
|
-
const day = date.getDay();
|
|
170
|
-
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
171
|
-
date.setDate(date.getDate() - diff);
|
|
172
|
-
date.setHours(0, 0, 0, 0);
|
|
173
|
-
return date;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* @zh_CN 获取给定日期所在 ISO 周年的起始日期
|
|
177
|
-
* @en_US The start date of the ISO anniversary where the given date is located
|
|
178
|
-
*/
|
|
179
|
-
function startOfISOWeekYear(date) {
|
|
180
|
-
const year = getISOWeekYear(date);
|
|
181
|
-
const fourthOfJanuary = constructFrom(date, 0);
|
|
182
|
-
fourthOfJanuary.setFullYear(year, 0, 4);
|
|
183
|
-
fourthOfJanuary.setHours(0, 0, 0, 0);
|
|
184
|
-
const result = startOfISOWeek(fourthOfJanuary);
|
|
185
|
-
return result;
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* @zh_CN 返回一个与传入的 date 参数类型相同的对象
|
|
189
|
-
* @en_US Return to an object of the same type of Date parameter.
|
|
190
|
-
*/
|
|
191
|
-
function constructFrom(date, value) {
|
|
192
|
-
if (date instanceof Date) {
|
|
193
|
-
return new date.constructor(value);
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
return new Date(value);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* @zh_CN 获取给定日期的 ISO 周年份
|
|
201
|
-
* @en_US Obtain the ISO anniversary of the given date
|
|
202
|
-
*/
|
|
203
|
-
function getISOWeekYear(date) {
|
|
204
|
-
const year = date.getFullYear();
|
|
205
|
-
const fourthOfJanuaryOfNextYear = constructFrom(date, 0);
|
|
206
|
-
fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);
|
|
207
|
-
fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);
|
|
208
|
-
const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);
|
|
209
|
-
const fourthOfJanuaryOfThisYear = constructFrom(date, 0);
|
|
210
|
-
fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);
|
|
211
|
-
fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);
|
|
212
|
-
const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);
|
|
213
|
-
if (date.getTime() >= startOfNextYear.getTime()) {
|
|
214
|
-
return year + 1;
|
|
215
|
-
}
|
|
216
|
-
else if (date.getTime() >= startOfThisYear.getTime()) {
|
|
217
|
-
return year;
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
return year - 1;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRbkQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFXO0lBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBYyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFXLEVBQUUsTUFBYztJQUMxRCxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBWSxDQUFDO0lBQ3RCLENBQUM7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFXLEVBQUUsTUFBYztJQUNyRCxPQUFPLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxXQUFXLENB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QUFDLE9BQU8sRUFBRSxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ2hELE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO1NBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhJc0RhdGUsIFhJc051bWJlciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDml6XmnJ/nsbvlnotcclxuICogQGVuX1VTIERhdGUgdHlwZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERhdGUgPSBzdHJpbmcgfCBEYXRlIHwgbnVtYmVyO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDovazmjaIgRGF0ZVxyXG4gKiBAZW5fVVMgQ29udmVydCB0byBkYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWFRvRGF0ZShkYXRlOiBYRGF0ZSk6IERhdGUge1xyXG4gIGlmIChYSXNEYXRlKGRhdGUpIHx8IFhJc051bWJlcihkYXRlKSkge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5wYXJzZShkYXRlIGFzIHN0cmluZykpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDml6XmnJ/mt7vliqDmr6vnp5LmlbDvvIzotJ/mlbDkuLrlh4/lsJFcclxuICogQGVuX1VTIEFkZCBtaWxsaXNlY29uZHMgdG8gdGhlIGRhdGUsIHRoZSBuZWdhdGl2ZSBudW1iZXIgaXMgcmVkdWNlZFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhBZGRNaWxsaXNlY29uZHMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgbGV0IGR0ID0gWFRvRGF0ZShkYXRlKTtcclxuICBpZiAoIWlzTmFOKGR0LnZhbHVlT2YoKSkgJiYgYW1vdW50KSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZHQuZ2V0VGltZSgpICsgYW1vdW50KTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGRhdGUgYXMgRGF0ZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5pel5pyf5re75Yqg56eS5pWw77yM6LSf5pWw5Li65YeP5bCRXHJcbiAqIEBlbl9VUyBEYXRlIGFkZHMgc2Vjb25kcywgdGhlIG5lZ2F0aXZlIG51bWJlciBpcyByZWR1Y2VkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWEFkZFNlY29uZHMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgcmV0dXJuIFhBZGRNaWxsaXNlY29uZHMoZGF0ZSwgYW1vdW50ICogMTAwMCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5pel5pyf5re75Yqg5YiG6ZKf5pWw77yM6LSf5pWw5Li65YeP5bCRXHJcbiAqIEBlbl9VUyBEYXRlIGFkZHMgbWludXRlcywgdGhlIG5lZ2F0aXZlIG51bWJlciBpcyByZWR1Y2VkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWEFkZE1pbnV0ZXMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgcmV0dXJuIFhBZGRNaWxsaXNlY29uZHMoZGF0ZSwgYW1vdW50ICogNjAwMDApO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaXpeacn+a3u+WKoOWwj+aXtuaVsO+8jOi0n+aVsOS4uuWHj+WwkVxyXG4gKiBAZW5fVVMgRGF0ZSBhZGRzIGhvdXJzLCB0aGUgbmVnYXRpdmUgbnVtYmVyIGlzIHJlZHVjZWRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYQWRkSG91cnMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgcmV0dXJuIFhBZGRNaWxsaXNlY29uZHMoZGF0ZSwgYW1vdW50ICogMzYwMDAwMCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5pel5pyf5re75Yqg5aSp5pWw77yM6LSf5pWw5Li65YeP5bCRXHJcbiAqIEBlbl9VUyBEYXRlIGFkZHMgZGF5cywgdGhlIG5lZ2F0aXZlIG51bWJlciBpcyByZWR1Y2VkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWEFkZERheXMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgbGV0IGR0ID0gWFRvRGF0ZShkYXRlKTtcclxuICBpZiAoIWlzTmFOKGR0LnZhbHVlT2YoKSkgJiYgYW1vdW50KSB7XHJcbiAgICBkdC5zZXREYXRlKGR0LmdldERhdGUoKSArIGFtb3VudCk7XHJcbiAgICByZXR1cm4gZHQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBkYXRlIGFzIERhdGU7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaXpeacn+a3u+WKoOaciOaVsO+8jOi0n+aVsOS4uuWHj+WwkVxyXG4gKiBAZW5fVVMgRGF0ZSBhZGRzIG1vbnRobHkgbnVtYmVyLCBuZWdhdGl2ZSBudW1iZXIgaXMgcmVkdWNlZFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhBZGRNb250aHMoZGF0ZTogWERhdGUsIGFtb3VudDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgbGV0IGR0ID0gWFRvRGF0ZShkYXRlKTtcclxuICBpZiAoIWlzTmFOKGR0LnZhbHVlT2YoKSkgJiYgYW1vdW50KSB7XHJcbiAgICBjb25zdCBkYXkgPSBkdC5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBtb250aCA9IGR0LmdldE1vbnRoKCk7XHJcbiAgICBjb25zdCBlbmRNb250aCA9IG5ldyBEYXRlKGR0KTtcclxuICAgIGVuZE1vbnRoLnNldE1vbnRoKG1vbnRoICsgYW1vdW50ICsgMSwgMCk7XHJcbiAgICBjb25zdCBlbmREYXkgPSBlbmRNb250aC5nZXREYXRlKCk7XHJcbiAgICBpZiAoZGF5ID49IGVuZERheSkge1xyXG4gICAgICByZXR1cm4gZW5kTW9udGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkdC5zZXRGdWxsWWVhcihlbmRNb250aC5nZXRGdWxsWWVhcigpLCBlbmRNb250aC5nZXRNb250aCgpLCBkYXkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGR0O1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZGF0ZSBhcyBEYXRlO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDml6XmnJ/mt7vliqDlubTmlbDvvIzotJ/mlbDkuLrlh4/lsJFcclxuICogQGVuX1VTIFRoZSBudW1iZXIgb2YgeWVhcnMgb2YgZGF0ZSwgdGhlIG5lZ2F0aXZlIG51bWJlciBpcyByZWR1Y2VkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWEFkZFllYXJzKGRhdGU6IFhEYXRlLCBhbW91bnQ6IG51bWJlcik6IERhdGUge1xyXG4gIHJldHVybiBYQWRkTW9udGhzKGRhdGUsIGFtb3VudCAqIDEyKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDojrflj5bnu5nlrprml6XmnJ/nmoQgSVNPIOWRqOaVsFxyXG4gKiBAZW5fVVMgR2V0IHRoZSBudW1iZXIgb2YgSVNPIHdlZWtzIG9mIHRoZSBnaXZlbiBkYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWERhdGVXZWVrKGRhdGU6IFhEYXRlKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICBsZXQgZHQgPSBYVG9EYXRlKGRhdGUpO1xyXG4gIGlmICghaXNOYU4oZHQudmFsdWVPZigpKSkge1xyXG4gICAgcmV0dXJuIGdldElTT1dlZWsoZHQpO1xyXG4gIH1cclxuICByZXR1cm47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6I635Y+W5oyH5a6a5pel5pyf55qEIElTTyDlkajlubTku71cclxuICogQGVuX1VTIEdldCB0aGUgSVNPIGFubml2ZXJzYXJ5IG9mIHRoZSBzcGVjaWZpZWQgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhEYXRlV2Vla1llYXIoZGF0ZTogWERhdGUpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gIGxldCBkdCA9IFhUb0RhdGUoZGF0ZSk7XHJcbiAgaWYgKCFpc05hTihkdC52YWx1ZU9mKCkpKSB7XHJcbiAgICByZXR1cm4gZ2V0SVNPV2Vla1llYXIoZHQpO1xyXG4gIH1cclxuICByZXR1cm47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6I635Y+W5oyH5a6a5pel5pyf55qE5bm05Lu95ZKM5ZGo5pWwXHJcbiAqIEBlbl9VUyBHZXQgdGhlIHllYXIgYW5kIHdlZWsgb2YgdGhlIHNwZWNpZmllZCBkYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gWERhdGVZZWFyV2VlayhkYXRlOiBYRGF0ZSk6IHN0cmluZyB7XHJcbiAgbGV0IGR0ID0gWFRvRGF0ZShkYXRlKTtcclxuICBpZiAoIWlzTmFOKGR0LnZhbHVlT2YoKSkpIHtcclxuICAgIHJldHVybiBgJHtnZXRJU09XZWVrWWVhcihkdCl9LSR7Z2V0SVNPV2VlayhkdCl9YDtcclxuICB9XHJcbiAgcmV0dXJuICcnO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOiOt+WPluaMh+WumuaXpeacn+eahOW5tOS7veWSjOWto+W6plxyXG4gKiBAZW5fVVMgR2V0IHRoZSB5ZWFyIGFuZCBxdWFydGVyIG9mIHRoZSBzcGVjaWZpZWQgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhEYXRlWWVhclF1YXJ0ZXIoZGF0ZTogWERhdGUpOiBzdHJpbmcge1xyXG4gIGxldCBkdCA9IFhUb0RhdGUoZGF0ZSk7XHJcbiAgaWYgKCFpc05hTihkdC52YWx1ZU9mKCkpKSB7XHJcbiAgICByZXR1cm4gYCR7ZHQuZ2V0RnVsbFllYXIoKX0tJHtYRGF0ZVF1YXJ0ZXIoZHQpfWA7XHJcbiAgfVxyXG4gIHJldHVybiAnJztcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDojrflj5bmjIflrprml6XmnJ/miYDlsZ7nmoTlraPluqZcclxuICogQGVuX1VTIEdldCB0aGUgc2Vhc29uIHdoZW4gdGhlIHNwZWNpZmllZCBkYXRlIGJlbG9uZ3NcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYRGF0ZVF1YXJ0ZXIoZGF0ZTogWERhdGUpOiBzdHJpbmcge1xyXG4gIGxldCBkdCA9IFhUb0RhdGUoZGF0ZSk7XHJcbiAgaWYgKCFpc05hTihkdC52YWx1ZU9mKCkpKSB7XHJcbiAgICByZXR1cm4gYFEke01hdGguY2VpbCgoZHQuZ2V0TW9udGgoKSArIDEpIC8gMyl9YDtcclxuICB9XHJcbiAgcmV0dXJuICcnO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOiOt+WPlue7meWumuaXpeacn+eahCBJU08g5ZGo5pWwXHJcbiAqIEBlbl9VUyBHZXQgdGhlIG51bWJlciBvZiBJU08gd2Vla3Mgb2YgdGhlIGdpdmVuIGRhdGVcclxuICovXHJcbmZ1bmN0aW9uIGdldElTT1dlZWsoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgY29uc3QgZGlmZiA9IHN0YXJ0T2ZJU09XZWVrKGRhdGUpLmdldFRpbWUoKSAtIHN0YXJ0T2ZJU09XZWVrWWVhcihkYXRlKS5nZXRUaW1lKCk7XHJcbiAgcmV0dXJuIE1hdGgucm91bmQoZGlmZiAvIDYwNDgwMDAwMCkgKyAxO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOiOt+WPlue7meWumuaXpeacn+aJgOWcqCBJU08g5ZGo55qE5byA5aeL5pel5pyfXHJcbiAqIEBlbl9VUyBUaGUgc3RhcnQgZGF0ZSBvZiB0aGUgSVNPIHdlZWsgd2hlcmUgdGhlIGdpdmVuIGRhdGUgaXMgbG9jYXRlZFxyXG4gKi9cclxuZnVuY3Rpb24gc3RhcnRPZklTT1dlZWsoZGF0ZTogRGF0ZSkge1xyXG4gIHJldHVybiBzdGFydE9mV2VlayhkYXRlLCB7IHdlZWtTdGFydHNPbjogMSB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDojrflj5bnu5nlrprml6XmnJ/miYDlnKjlkajnmoTlvIDlp4vml6XmnJ9cclxuICogQGVuX1VTIFRoZSBzdGFydCBkYXRlIG9mIHRoZSBJU08gd2VlayB3aGVyZSB0aGUgZ2l2ZW4gZGF0ZSBpcyBsb2NhdGVkXHJcbiAqL1xyXG5mdW5jdGlvbiBzdGFydE9mV2VlayhkYXRlOiBEYXRlLCBvcHRpb25zPzogeyB3ZWVrU3RhcnRzT246IG51bWJlciB9KSB7XHJcbiAgY29uc3Qgd2Vla1N0YXJ0c09uID0gb3B0aW9ucz8ud2Vla1N0YXJ0c09uIHx8IDA7XHJcbiAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXkoKTtcclxuICBjb25zdCBkaWZmID0gKGRheSA8IHdlZWtTdGFydHNPbiA/IDcgOiAwKSArIGRheSAtIHdlZWtTdGFydHNPbjtcclxuICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgLSBkaWZmKTtcclxuICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG4gIHJldHVybiBkYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOiOt+WPlue7meWumuaXpeacn+aJgOWcqCBJU08g5ZGo5bm055qE6LW35aeL5pel5pyfXHJcbiAqIEBlbl9VUyBUaGUgc3RhcnQgZGF0ZSBvZiB0aGUgSVNPIGFubml2ZXJzYXJ5IHdoZXJlIHRoZSBnaXZlbiBkYXRlIGlzIGxvY2F0ZWRcclxuICovXHJcbmZ1bmN0aW9uIHN0YXJ0T2ZJU09XZWVrWWVhcihkYXRlOiBEYXRlKSB7XHJcbiAgY29uc3QgeWVhciA9IGdldElTT1dlZWtZZWFyKGRhdGUpO1xyXG4gIGNvbnN0IGZvdXJ0aE9mSmFudWFyeSA9IGNvbnN0cnVjdEZyb20oZGF0ZSwgMCk7XHJcbiAgZm91cnRoT2ZKYW51YXJ5LnNldEZ1bGxZZWFyKHllYXIsIDAsIDQpO1xyXG4gIGZvdXJ0aE9mSmFudWFyeS5zZXRIb3VycygwLCAwLCAwLCAwKTtcclxuICBjb25zdCByZXN1bHQgPSBzdGFydE9mSVNPV2Vlayhmb3VydGhPZkphbnVhcnkpO1xyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6L+U5Zue5LiA5Liq5LiO5Lyg5YWl55qEIGRhdGUg5Y+C5pWw57G75Z6L55u45ZCM55qE5a+56LGhXHJcbiAqIEBlbl9VUyBSZXR1cm4gdG8gYW4gb2JqZWN0IG9mIHRoZSBzYW1lIHR5cGUgb2YgRGF0ZSBwYXJhbWV0ZXIuXHJcbiAqL1xyXG5mdW5jdGlvbiBjb25zdHJ1Y3RGcm9tPFQgZXh0ZW5kcyBEYXRlPihkYXRlOiBUIHwgbnVtYmVyLCB2YWx1ZTogRGF0ZSB8IG51bWJlcik6IFQge1xyXG4gIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgcmV0dXJuIG5ldyAoZGF0ZS5jb25zdHJ1Y3RvciBhcyBhbnkpKHZhbHVlKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKSBhcyBUO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDojrflj5bnu5nlrprml6XmnJ/nmoQgSVNPIOWRqOW5tOS7vVxyXG4gKiBAZW5fVVMgT2J0YWluIHRoZSBJU08gYW5uaXZlcnNhcnkgb2YgdGhlIGdpdmVuIGRhdGVcclxuICovXHJcbmZ1bmN0aW9uIGdldElTT1dlZWtZZWFyKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcblxyXG4gIGNvbnN0IGZvdXJ0aE9mSmFudWFyeU9mTmV4dFllYXIgPSBjb25zdHJ1Y3RGcm9tKGRhdGUsIDApO1xyXG4gIGZvdXJ0aE9mSmFudWFyeU9mTmV4dFllYXIuc2V0RnVsbFllYXIoeWVhciArIDEsIDAsIDQpO1xyXG4gIGZvdXJ0aE9mSmFudWFyeU9mTmV4dFllYXIuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgY29uc3Qgc3RhcnRPZk5leHRZZWFyID0gc3RhcnRPZklTT1dlZWsoZm91cnRoT2ZKYW51YXJ5T2ZOZXh0WWVhcik7XHJcblxyXG4gIGNvbnN0IGZvdXJ0aE9mSmFudWFyeU9mVGhpc1llYXIgPSBjb25zdHJ1Y3RGcm9tKGRhdGUsIDApO1xyXG4gIGZvdXJ0aE9mSmFudWFyeU9mVGhpc1llYXIuc2V0RnVsbFllYXIoeWVhciwgMCwgNCk7XHJcbiAgZm91cnRoT2ZKYW51YXJ5T2ZUaGlzWWVhci5zZXRIb3VycygwLCAwLCAwLCAwKTtcclxuICBjb25zdCBzdGFydE9mVGhpc1llYXIgPSBzdGFydE9mSVNPV2Vlayhmb3VydGhPZkphbnVhcnlPZlRoaXNZZWFyKTtcclxuXHJcbiAgaWYgKGRhdGUuZ2V0VGltZSgpID49IHN0YXJ0T2ZOZXh0WWVhci5nZXRUaW1lKCkpIHtcclxuICAgIHJldHVybiB5ZWFyICsgMTtcclxuICB9IGVsc2UgaWYgKGRhdGUuZ2V0VGltZSgpID49IHN0YXJ0T2ZUaGlzWWVhci5nZXRUaW1lKCkpIHtcclxuICAgIHJldHVybiB5ZWFyO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4geWVhciAtIDE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @zh_CN 通过参数 n 来截取数组
|
|
3
|
-
* 如果 n 未定义或为 0,则返回与原数组相同的数组
|
|
4
|
-
* 如果原数组长度小于 1 或小于等于 n 的绝对值,则返回一个空数组
|
|
5
|
-
* 如果 n 大于 0,则截取从第 n 个元素开始到数组末尾的子数组
|
|
6
|
-
* 如果 n 小于等于 0,则截取从第 0 个元素到倒数第 n 个元素
|
|
7
|
-
* @en_US Send the array by parameter n
|
|
8
|
-
* If n is not defined or 0, returns the same array as the original array
|
|
9
|
-
* If the original array length is less than 1 or less than equal to N, return a empty array
|
|
10
|
-
* If n is greater than 0, cut off the sub-array starting from the nn element to the end of the array
|
|
11
|
-
* If n is less than or equal to 0, cut off from the 0th element to the countless nary element
|
|
12
|
-
*/
|
|
13
|
-
export function XDrop(array, n) {
|
|
14
|
-
if (!n)
|
|
15
|
-
return [...array];
|
|
16
|
-
if (array.length < 1 || array.length <= Math.abs(n))
|
|
17
|
-
return [];
|
|
18
|
-
return array.slice(n > 0 ? n : 0, n > 0 ? array.length : n);
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2Ryb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFJLEtBQWUsRUFBRSxDQUFVO0lBQ2xELElBQUksQ0FBQyxDQUFDO1FBQUUsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDMUIsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDL0QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQHpoX0NOIOmAmui/h+WPguaVsCBuIOadpeaIquWPluaVsOe7hFxyXG4gKiDlpoLmnpwgbiDmnKrlrprkuYnmiJbkuLogMO+8jOWImei/lOWbnuS4juWOn+aVsOe7hOebuOWQjOeahOaVsOe7hFxyXG4gKiDlpoLmnpzljp/mlbDnu4Tplb/luqblsI/kuo4gMSDmiJblsI/kuo7nrYnkuo4gbiDnmoTnu53lr7nlgLzvvIzliJnov5Tlm57kuIDkuKrnqbrmlbDnu4RcclxuICog5aaC5p6cIG4g5aSn5LqOIDDvvIzliJnmiKrlj5bku47nrKwgbiDkuKrlhYPntKDlvIDlp4vliLDmlbDnu4TmnKvlsL7nmoTlrZDmlbDnu4RcclxuICog5aaC5p6cIG4g5bCP5LqO562J5LqOIDDvvIzliJnmiKrlj5bku47nrKwgMCDkuKrlhYPntKDliLDlgJLmlbDnrKwgbiDkuKrlhYPntKBcclxuICogQGVuX1VTIFNlbmQgdGhlIGFycmF5IGJ5IHBhcmFtZXRlciBuXHJcbiAqIElmIG4gaXMgbm90IGRlZmluZWQgb3IgMCwgcmV0dXJucyB0aGUgc2FtZSBhcnJheSBhcyB0aGUgb3JpZ2luYWwgYXJyYXlcclxuICogSWYgdGhlIG9yaWdpbmFsIGFycmF5IGxlbmd0aCBpcyBsZXNzIHRoYW4gMSBvciBsZXNzIHRoYW4gZXF1YWwgdG8gTiwgcmV0dXJuIGEgZW1wdHkgYXJyYXlcclxuICogSWYgbiBpcyBncmVhdGVyIHRoYW4gMCwgY3V0IG9mZiB0aGUgc3ViLWFycmF5IHN0YXJ0aW5nIGZyb20gdGhlIG5uIGVsZW1lbnQgdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXlcclxuICogSWYgbiBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMCwgY3V0IG9mZiBmcm9tIHRoZSAwdGggZWxlbWVudCB0byB0aGUgY291bnRsZXNzIG5hcnkgZWxlbWVudFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhEcm9wPFQ+KGFycmF5OiBBcnJheTxUPiwgbj86IG51bWJlcik6IEFycmF5PFQ+IHtcclxuICBpZiAoIW4pIHJldHVybiBbLi4uYXJyYXldO1xyXG4gIGlmIChhcnJheS5sZW5ndGggPCAxIHx8IGFycmF5Lmxlbmd0aCA8PSBNYXRoLmFicyhuKSkgcmV0dXJuIFtdO1xyXG4gIHJldHVybiBhcnJheS5zbGljZShuID4gMCA/IG4gOiAwLCBuID4gMCA/IGFycmF5Lmxlbmd0aCA6IG4pO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { XIsEmpty } from '../interfaces';
|
|
2
|
-
/**
|
|
3
|
-
* @zh_CN 用于设置元素的 flex 样式
|
|
4
|
-
* @en_US Flex style for setting elements
|
|
5
|
-
*/
|
|
6
|
-
export function XSetFlex(ele, renderer, justify, align, direction) {
|
|
7
|
-
let result = [];
|
|
8
|
-
if (!XIsEmpty(justify)) {
|
|
9
|
-
const justifyStr = `x-justify-${justify}`;
|
|
10
|
-
result.push(justifyStr);
|
|
11
|
-
renderer.addClass(ele, justifyStr);
|
|
12
|
-
}
|
|
13
|
-
if (!XIsEmpty(align)) {
|
|
14
|
-
const alignStr = `x-align-${align}`;
|
|
15
|
-
result.push(alignStr);
|
|
16
|
-
renderer.addClass(ele, alignStr);
|
|
17
|
-
}
|
|
18
|
-
if (!XIsEmpty(direction)) {
|
|
19
|
-
const directionStr = `x-direction-${direction}`;
|
|
20
|
-
result.push(directionStr);
|
|
21
|
-
renderer.addClass(ele, directionStr);
|
|
22
|
-
}
|
|
23
|
-
return result;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2ZsZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFdkU7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsR0FBWSxFQUNaLFFBQW1CLEVBQ25CLE9BQWtCLEVBQ2xCLEtBQWMsRUFDZCxTQUFzQjtJQUV0QixJQUFJLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sVUFBVSxHQUFHLGFBQWEsT0FBTyxFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLFdBQVcsS0FBSyxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sWUFBWSxHQUFHLGVBQWUsU0FBUyxFQUFFLENBQUM7UUFDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQWxpZ24sIFhEaXJlY3Rpb24sIFhJc0VtcHR5LCBYSnVzdGlmeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDnlKjkuo7orr7nva7lhYPntKDnmoQgZmxleCDmoLflvI9cclxuICogQGVuX1VTIEZsZXggc3R5bGUgZm9yIHNldHRpbmcgZWxlbWVudHNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYU2V0RmxleChcclxuICBlbGU6IEVsZW1lbnQsXHJcbiAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICBqdXN0aWZ5PzogWEp1c3RpZnksXHJcbiAgYWxpZ24/OiBYQWxpZ24sXHJcbiAgZGlyZWN0aW9uPzogWERpcmVjdGlvblxyXG4pOiBzdHJpbmdbXSB7XHJcbiAgbGV0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcclxuICBpZiAoIVhJc0VtcHR5KGp1c3RpZnkpKSB7XHJcbiAgICBjb25zdCBqdXN0aWZ5U3RyID0gYHgtanVzdGlmeS0ke2p1c3RpZnl9YDtcclxuICAgIHJlc3VsdC5wdXNoKGp1c3RpZnlTdHIpO1xyXG4gICAgcmVuZGVyZXIuYWRkQ2xhc3MoZWxlLCBqdXN0aWZ5U3RyKTtcclxuICB9XHJcbiAgaWYgKCFYSXNFbXB0eShhbGlnbikpIHtcclxuICAgIGNvbnN0IGFsaWduU3RyID0gYHgtYWxpZ24tJHthbGlnbn1gO1xyXG4gICAgcmVzdWx0LnB1c2goYWxpZ25TdHIpO1xyXG4gICAgcmVuZGVyZXIuYWRkQ2xhc3MoZWxlLCBhbGlnblN0cik7XHJcbiAgfVxyXG4gIGlmICghWElzRW1wdHkoZGlyZWN0aW9uKSkge1xyXG4gICAgY29uc3QgZGlyZWN0aW9uU3RyID0gYHgtZGlyZWN0aW9uLSR7ZGlyZWN0aW9ufWA7XHJcbiAgICByZXN1bHQucHVzaChkaXJlY3Rpb25TdHIpO1xyXG4gICAgcmVuZGVyZXIuYWRkQ2xhc3MoZWxlLCBkaXJlY3Rpb25TdHIpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @zh_CN 根据属性 name 来对数组分组
|
|
3
|
-
* @en_US Based on the array according to the attribute name
|
|
4
|
-
*/
|
|
5
|
-
export function XGroupBy(array, name) {
|
|
6
|
-
const groups = {};
|
|
7
|
-
array.forEach((obj) => {
|
|
8
|
-
const group = JSON.stringify(obj[name]);
|
|
9
|
-
groups[group] = groups[group] || [];
|
|
10
|
-
groups[group].push(obj);
|
|
11
|
-
});
|
|
12
|
-
return Object.keys(groups).map((group) => groups[group]);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb3JlL2Z1bmN0aW9ucy9ncm91cC1ieS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFJLEtBQVUsRUFBRSxJQUFZO0lBQ2xELE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAemhfQ04g5qC55o2u5bGe5oCnIG5hbWUg5p2l5a+55pWw57uE5YiG57uEXHJcbiAqIEBlbl9VUyBCYXNlZCBvbiB0aGUgYXJyYXkgYWNjb3JkaW5nIHRvIHRoZSBhdHRyaWJ1dGUgbmFtZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhHcm91cEJ5PFQ+KGFycmF5OiBUW10sIG5hbWU6IHN0cmluZyk6IEFycmF5PEFycmF5PFQ+PiB7XHJcbiAgY29uc3QgZ3JvdXBzOiBhbnkgPSB7fTtcclxuICBhcnJheS5mb3JFYWNoKChvYmo6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZ3JvdXAgPSBKU09OLnN0cmluZ2lmeShvYmpbbmFtZV0pO1xyXG4gICAgZ3JvdXBzW2dyb3VwXSA9IGdyb3Vwc1tncm91cF0gfHwgW107XHJcbiAgICBncm91cHNbZ3JvdXBdLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gT2JqZWN0LmtleXMoZ3JvdXBzKS5tYXAoKGdyb3VwKSA9PiBncm91cHNbZ3JvdXBdKTtcclxufVxyXG4iXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @zh_CN 生成 GUID
|
|
3
|
-
* @en_US GUID
|
|
4
|
-
*/
|
|
5
|
-
export function XGuid() {
|
|
6
|
-
let S4 = () => {
|
|
7
|
-
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
|
|
8
|
-
};
|
|
9
|
-
return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2d1aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLEtBQUs7SUFDbkIsSUFBSSxFQUFFLEdBQUcsR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDLENBQUM7SUFDRixPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztBQUN2RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEB6aF9DTiDnlJ/miJAgR1VJRFxyXG4gKiBAZW5fVVMgR1VJRFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFhHdWlkKCk6IHN0cmluZyB7XHJcbiAgbGV0IFM0ID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuICgoKDEgKyBNYXRoLnJhbmRvbSgpKSAqIDB4MTAwMDApIHwgMCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKTtcclxuICB9O1xyXG4gIHJldHVybiBTNCgpICsgUzQoKSArICctJyArIFM0KCkgKyAnLScgKyBTNCgpICsgJy0nICsgUzQoKSArICctJyArIFM0KCkgKyBTNCgpICsgUzQoKTtcclxufVxyXG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @zh_CN 判断一个对象是否包含指定的属性
|
|
3
|
-
* @en_US Determine whether an object contains the specified attribute
|
|
4
|
-
*/
|
|
5
|
-
export function XHasIn(object, key) {
|
|
6
|
-
return object != null && key in Object(object);
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9mdW5jdGlvbnMvaGFzLWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsTUFBYyxFQUFFLEdBQVc7SUFDaEQsT0FBTyxNQUFNLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAemhfQ04g5Yik5pat5LiA5Liq5a+56LGh5piv5ZCm5YyF5ZCr5oyH5a6a55qE5bGe5oCnXHJcbiAqIEBlbl9VUyBEZXRlcm1pbmUgd2hldGhlciBhbiBvYmplY3QgY29udGFpbnMgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYSGFzSW4ob2JqZWN0OiBPYmplY3QsIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGtleSBpbiBPYmplY3Qob2JqZWN0KTtcclxufVxyXG4iXX0=
|