ngx-tethys 20.0.1 → 20.0.2
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/CHANGELOG.md +17 -0
- package/action/index.d.ts +3 -3
- package/affix/index.d.ts +1 -1
- package/alert/index.d.ts +3 -3
- package/anchor/index.d.ts +3 -3
- package/arrow-switcher/index.d.ts +6 -6
- package/autocomplete/index.d.ts +7 -7
- package/avatar/index.d.ts +9 -9
- package/back-top/index.d.ts +3 -3
- package/badge/index.d.ts +6 -6
- package/breadcrumb/index.d.ts +7 -7
- package/button/index.d.ts +19 -19
- package/calendar/index.d.ts +8 -8
- package/card/index.d.ts +6 -6
- package/carousel/index.d.ts +4 -4
- package/cascader/index.d.ts +24 -24
- package/collapse/index.d.ts +4 -4
- package/color-picker/index.d.ts +16 -16
- package/comment/index.d.ts +3 -3
- package/copy/index.d.ts +2 -2
- package/core/index.d.ts +22 -22
- package/date-picker/index.d.ts +111 -111
- package/date-range/index.d.ts +5 -5
- package/dialog/index.d.ts +18 -18
- package/divider/index.d.ts +3 -3
- package/drag-drop/index.d.ts +7 -7
- package/dropdown/index.d.ts +10 -10
- package/empty/index.d.ts +12 -12
- package/fesm2022/ngx-tethys-action.mjs +14 -12
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +7 -7
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +10 -10
- package/fesm2022/ngx-tethys-anchor.mjs +11 -11
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +19 -18
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +23 -22
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +7 -7
- package/fesm2022/ngx-tethys-badge.mjs +7 -7
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +16 -16
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +16 -16
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +13 -13
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +15 -15
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +41 -34
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
- package/fesm2022/ngx-tethys-collapse.mjs +10 -10
- package/fesm2022/ngx-tethys-color-picker.mjs +65 -57
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +13 -13
- package/fesm2022/ngx-tethys-copy.mjs +10 -10
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +30 -25
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +184 -174
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +16 -16
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +24 -24
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +7 -7
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +7 -7
- package/fesm2022/ngx-tethys-drag-drop.mjs +24 -24
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +48 -47
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +13 -13
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +64 -61
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +18 -15
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +34 -33
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +25 -24
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +3 -3
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +15 -13
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +31 -29
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +17 -10
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +28 -27
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +63 -63
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +21 -18
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +7 -7
- package/fesm2022/ngx-tethys-mention.mjs +35 -31
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +26 -26
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +24 -24
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +27 -27
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +20 -20
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +18 -18
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +22 -21
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +17 -17
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +12 -11
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +17 -17
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +12 -12
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +21 -18
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +11 -11
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +19 -16
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +60 -38
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +82 -79
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +32 -32
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +37 -36
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +11 -11
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +10 -10
- package/fesm2022/ngx-tethys-statistic.mjs +7 -7
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +22 -22
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +7 -7
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +7 -7
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +28 -28
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +13 -13
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +11 -11
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-testing.mjs +1 -1
- package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +22 -22
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +14 -14
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +19 -16
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +15 -15
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +17 -17
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +50 -43
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +16 -16
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +26 -25
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs +11 -5
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +7 -7
- package/fesm2022/ngx-tethys-watermark.mjs +18 -15
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/index.d.ts +5 -5
- package/form/index.d.ts +26 -22
- package/fullscreen/index.d.ts +4 -4
- package/grid/index.d.ts +12 -12
- package/guider/index.d.ts +10 -10
- package/i18n/index.d.ts +1 -1
- package/icon/index.d.ts +3 -3
- package/image/index.d.ts +12 -12
- package/input/index.d.ts +22 -22
- package/input-number/index.d.ts +4 -4
- package/layout/index.d.ts +16 -16
- package/list/index.d.ts +16 -15
- package/mention/index.d.ts +4 -4
- package/menu/index.d.ts +7 -7
- package/message/index.d.ts +5 -5
- package/nav/index.d.ts +12 -12
- package/notify/index.d.ts +1 -1
- package/package.json +1 -1
- package/pagination/index.d.ts +21 -17
- package/popover/index.d.ts +8 -8
- package/progress/index.d.ts +18 -18
- package/property/index.d.ts +6 -6
- package/property-operation/index.d.ts +3 -3
- package/radio/index.d.ts +6 -6
- package/rate/index.d.ts +5 -5
- package/resizable/index.d.ts +2 -2
- package/result/index.d.ts +8 -8
- package/schematics/testing/test-workspace.js +1 -0
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/index.d.ts +9 -9
- package/select/index.d.ts +21 -21
- package/shared/index.d.ts +29 -29
- package/skeleton/index.d.ts +52 -52
- package/slide/index.d.ts +5 -5
- package/slider/index.d.ts +6 -6
- package/space/index.d.ts +1 -1
- package/statistic/index.d.ts +18 -18
- package/stepper/index.d.ts +8 -8
- package/switch/index.d.ts +2 -2
- package/table/index.d.ts +24 -24
- package/tabs/index.d.ts +6 -6
- package/testing/index.d.ts +1 -1
- package/time-picker/index.d.ts +21 -21
- package/timeline/index.d.ts +8 -8
- package/tooltip/index.d.ts +12 -12
- package/transfer/index.d.ts +16 -16
- package/tree/index.d.ts +28 -28
- package/tree-select/index.d.ts +13 -13
- package/typography/index.d.ts +3 -3
- package/upload/index.d.ts +4 -4
- package/util/index.d.ts +17 -7
- package/vote/index.d.ts +2 -2
- package/watermark/index.d.ts +2 -2
|
@@ -137,7 +137,8 @@ class ThySlideContainer extends ThyAbstractOverlayContainer {
|
|
|
137
137
|
}
|
|
138
138
|
setDrawerContainerElement() {
|
|
139
139
|
if (typeof this.config.drawerContainer === 'string') {
|
|
140
|
-
this.drawerContainerElement =
|
|
140
|
+
this.drawerContainerElement =
|
|
141
|
+
(this.config.drawerContainer && document.querySelector(this.config.drawerContainer)) || null;
|
|
141
142
|
}
|
|
142
143
|
if (this.config.drawerContainer instanceof ElementRef) {
|
|
143
144
|
this.drawerContainerElement = this.config.drawerContainer.nativeElement;
|
|
@@ -223,10 +224,10 @@ class ThySlideContainer extends ThyAbstractOverlayContainer {
|
|
|
223
224
|
this.ngUnsubscribe$.next();
|
|
224
225
|
this.ngUnsubscribe$.complete();
|
|
225
226
|
}
|
|
226
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
227
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
227
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
228
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ThySlideContainer, isStandalone: true, selector: "thy-slide-container", host: { attributes: { "tabindex": "-1" }, listeners: { "@slideContainer.start": "onAnimationStart($event)", "@slideContainer.done": "onAnimationDone($event)" }, properties: { "class.thy-slide-push": "isPush", "class.thy-slide-side": "isSide", "class.thy-slide-over": "!isPush && !isSide", "attr.role": "'slide'", "@slideContainer": "animationState", "style.width.px": "slideContainerStyles.width", "style.height.px": "slideContainerStyles.height", "style.max-height.px": "slideContainerStyles.height" }, classAttribute: "thy-slide-container" }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: ThyPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: ` <ng-template thyPortalOutlet></ng-template> `, isInline: true, dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: ThyPortalOutlet, selector: "[thyPortalOutlet]", inputs: ["thyPortalOutlet"], exportAs: ["thyPortalOutlet"] }], animations: [thySlideAnimations.slideContainer] }); }
|
|
228
229
|
}
|
|
229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideContainer, decorators: [{
|
|
230
231
|
type: Component,
|
|
231
232
|
args: [{
|
|
232
233
|
selector: 'thy-slide-container',
|
|
@@ -272,10 +273,10 @@ class ThyInternalSlideRef extends ThyAbstractInternalOverlayRef {
|
|
|
272
273
|
updatePosition(position) {
|
|
273
274
|
return this.updateGlobalPosition(position);
|
|
274
275
|
}
|
|
275
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
276
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
276
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyInternalSlideRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
277
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyInternalSlideRef }); }
|
|
277
278
|
}
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyInternalSlideRef, decorators: [{
|
|
279
280
|
type: Injectable
|
|
280
281
|
}], ctorParameters: () => [] });
|
|
281
282
|
|
|
@@ -285,12 +286,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
285
286
|
*/
|
|
286
287
|
class ThySlideService extends ThyAbstractOverlayService {
|
|
287
288
|
originElementAddActiveClass(config) {
|
|
288
|
-
if (config.origin) {
|
|
289
|
+
if (config.origin && config.originActiveClass) {
|
|
289
290
|
coerceElement(config.origin).classList.add(...coerceArray(config.originActiveClass));
|
|
290
291
|
}
|
|
291
292
|
}
|
|
292
293
|
originElementRemoveActiveClass(config) {
|
|
293
|
-
if (config.origin) {
|
|
294
|
+
if (config.origin && config.originActiveClass) {
|
|
294
295
|
coerceElement(config.origin).classList.remove(...coerceArray(config.originActiveClass));
|
|
295
296
|
}
|
|
296
297
|
}
|
|
@@ -366,10 +367,10 @@ class ThySlideService extends ThyAbstractOverlayService {
|
|
|
366
367
|
ngOnDestroy() {
|
|
367
368
|
this.dispose();
|
|
368
369
|
}
|
|
369
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
370
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
370
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
371
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideService }); }
|
|
371
372
|
}
|
|
372
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
373
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideService, decorators: [{
|
|
373
374
|
type: Injectable
|
|
374
375
|
}], ctorParameters: () => [] });
|
|
375
376
|
|
|
@@ -382,10 +383,10 @@ class ThySlideLayout {
|
|
|
382
383
|
this.slideLayout = true;
|
|
383
384
|
}
|
|
384
385
|
ngOnInit() { }
|
|
385
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
386
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
386
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideLayout, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
387
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ThySlideLayout, isStandalone: true, selector: "thy-slide-layout", host: { properties: { "class.thy-slide-layout": "this.slideLayout" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
|
|
387
388
|
}
|
|
388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
389
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideLayout, decorators: [{
|
|
389
390
|
type: Component,
|
|
390
391
|
args: [{
|
|
391
392
|
selector: 'thy-slide-layout',
|
|
@@ -408,11 +409,11 @@ class ThySlideHeader {
|
|
|
408
409
|
/**
|
|
409
410
|
* 标题
|
|
410
411
|
*/
|
|
411
|
-
this.thyTitle = input(
|
|
412
|
+
this.thyTitle = input(...(ngDevMode ? [undefined, { debugName: "thyTitle" }] : []));
|
|
412
413
|
/**
|
|
413
414
|
* 标题的图标
|
|
414
415
|
*/
|
|
415
|
-
this.thyIcon = input(
|
|
416
|
+
this.thyIcon = input(...(ngDevMode ? [undefined, { debugName: "thyIcon" }] : []));
|
|
416
417
|
this.isIconFont = computed(() => (this.thyIcon() || '').includes('wtf'), ...(ngDevMode ? [{ debugName: "isIconFont" }] : []));
|
|
417
418
|
/**
|
|
418
419
|
* 自定义头模板
|
|
@@ -430,10 +431,10 @@ class ThySlideHeader {
|
|
|
430
431
|
event.stopPropagation();
|
|
431
432
|
this.thySlideService.close();
|
|
432
433
|
}
|
|
433
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
434
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
434
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
435
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThySlideHeader, isStandalone: true, selector: "thy-slide-header", inputs: { thyTitle: { classPropertyName: "thyTitle", publicName: "thyTitle", isSignal: true, isRequired: false, transformFunction: null }, thyIcon: { classPropertyName: "thyIcon", publicName: "thyIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "thy-slide-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["thyHeader"], descendants: true, isSignal: true }, { propertyName: "headerOperateTemplate", first: true, predicate: ["thyHeaderOperate"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (headerTemplate()) {\n <ng-template [ngTemplateOutlet]=\"headerTemplate()\"></ng-template>\n} @else {\n <h3 class=\"thy-slide-header-title\">\n @if (!isIconFont() && thyIcon()) {\n <thy-icon [thyIconName]=\"thyIcon()\"></thy-icon>\n } @else {\n @if (thyIcon()) {\n <i class=\"wft {{ thyIcon() }}\"></i>\n }\n }\n {{ thyTitle() }}\n </h3>\n <div class=\"thy-slide-header-main\">\n <ng-container>\n @if (headerOperateTemplate()) {\n <ng-template [ngTemplateOutlet]=\"headerOperateTemplate()\"> </ng-template>\n }\n </ng-container>\n </div>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"closeModal($event)\"></a>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }] }); }
|
|
435
436
|
}
|
|
436
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideHeader, decorators: [{
|
|
437
438
|
type: Component,
|
|
438
439
|
args: [{ selector: 'thy-slide-header', imports: [NgTemplateOutlet, ThyIcon, ThyAction], host: {
|
|
439
440
|
class: 'thy-slide-header'
|
|
@@ -448,10 +449,10 @@ class ThySlideBody {
|
|
|
448
449
|
constructor() {
|
|
449
450
|
this.slideLayoutBody = true;
|
|
450
451
|
}
|
|
451
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
452
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
452
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
453
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ThySlideBody, isStandalone: true, selector: "thy-slide-body", host: { properties: { "class.thy-slide-body": "this.slideLayoutBody" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
|
|
453
454
|
}
|
|
454
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
455
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideBody, decorators: [{
|
|
455
456
|
type: Component,
|
|
456
457
|
args: [{
|
|
457
458
|
selector: 'thy-slide-body',
|
|
@@ -475,10 +476,10 @@ class ThySlideBodySection {
|
|
|
475
476
|
this.thyDividerBorder = input(false, ...(ngDevMode ? [{ debugName: "thyDividerBorder", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
476
477
|
}
|
|
477
478
|
ngOnInit() { }
|
|
478
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
479
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
479
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideBodySection, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
480
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: ThySlideBodySection, isStandalone: true, selector: "thy-slide-body-section", inputs: { thyDividerBorder: { classPropertyName: "thyDividerBorder", publicName: "thyDividerBorder", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-slide-body-section-divider": "thyDividerBorder()" }, classAttribute: "thy-slide-body-section" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
480
481
|
}
|
|
481
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideBodySection, decorators: [{
|
|
482
483
|
type: Component,
|
|
483
484
|
args: [{
|
|
484
485
|
selector: 'thy-slide-body-section',
|
|
@@ -499,10 +500,10 @@ class ThySlideFooter {
|
|
|
499
500
|
this.slideLayoutFooter = true;
|
|
500
501
|
}
|
|
501
502
|
ngOnInit() { }
|
|
502
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
503
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
503
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
504
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ThySlideFooter, isStandalone: true, selector: "thy-slide-footer", host: { properties: { "class.thy-slide-footer": "this.slideLayoutFooter" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
504
505
|
}
|
|
505
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
506
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideFooter, decorators: [{
|
|
506
507
|
type: Component,
|
|
507
508
|
args: [{
|
|
508
509
|
selector: 'thy-slide-footer',
|
|
@@ -521,10 +522,10 @@ class ThyDrawerContainerDirective {
|
|
|
521
522
|
constructor() {
|
|
522
523
|
this.elementRef = inject(ElementRef);
|
|
523
524
|
}
|
|
524
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
525
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
525
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDrawerContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
526
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ThyDrawerContainerDirective, isStandalone: true, selector: "[thyDrawerContainer]", ngImport: i0 }); }
|
|
526
527
|
}
|
|
527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDrawerContainerDirective, decorators: [{
|
|
528
529
|
type: Directive,
|
|
529
530
|
args: [{
|
|
530
531
|
selector: '[thyDrawerContainer]'
|
|
@@ -532,8 +533,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
532
533
|
}] });
|
|
533
534
|
|
|
534
535
|
class ThySlideModule {
|
|
535
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
536
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
536
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
537
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThySlideModule, imports: [CommonModule,
|
|
537
538
|
ThySharedModule,
|
|
538
539
|
ThyIconModule,
|
|
539
540
|
OverlayModule,
|
|
@@ -546,7 +547,7 @@ class ThySlideModule {
|
|
|
546
547
|
ThySlideBodySection,
|
|
547
548
|
ThySlideFooter,
|
|
548
549
|
ThyDrawerContainerDirective], exports: [ThySlideLayout, ThySlideHeader, ThySlideBody, ThySlideBodySection, ThySlideFooter, ThyDrawerContainerDirective] }); }
|
|
549
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
550
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideModule, providers: [ThyInternalSlideRef, ThySlideService, THY_SLIDE_DEFAULT_CONFIG_PROVIDER], imports: [CommonModule,
|
|
550
551
|
ThySharedModule,
|
|
551
552
|
ThyIconModule,
|
|
552
553
|
OverlayModule,
|
|
@@ -555,7 +556,7 @@ class ThySlideModule {
|
|
|
555
556
|
ThySlideContainer,
|
|
556
557
|
ThySlideHeader] }); }
|
|
557
558
|
}
|
|
558
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
559
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlideModule, decorators: [{
|
|
559
560
|
type: NgModule,
|
|
560
561
|
args: [{
|
|
561
562
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-slide.mjs","sources":["../../../src/slide/slide-animations.ts","../../../src/slide/slide.config.ts","../../../src/slide/slide-container.component.ts","../../../src/slide/slide-ref.service.ts","../../../src/slide/slide.service.ts","../../../src/slide/slide-layout/slide-layout.component.ts","../../../src/slide/slide-header/slide-header.component.ts","../../../src/slide/slide-header/slide-header.component.html","../../../src/slide/slide-body/slide-body.component.ts","../../../src/slide/slide-body/slide-body-section.component.ts","../../../src/slide/slide-footer/slide-footer.component.ts","../../../src/slide/drawer/drawer-container.directive.ts","../../../src/slide/slide.module.ts","../../../src/slide/ngx-tethys-slide.ts"],"sourcesContent":["import { transition, style, animate, AnimationTriggerMetadata, trigger, state } from '@angular/animations';\n\nconst animationBody = [\n transition('void => offsetLeft', [style({ width: 0 }), animate('0.2s ease-in')]),\n transition('offsetLeft => exit', [animate('0.2s', style({ width: 0 }))]),\n transition('void => offsetRight', [style({ width: 0 }), animate('0.2s ease')]),\n transition('offsetRight => exit', [animate('0.2s', style({ width: 0 }))]),\n transition('void => offsetTop', [style({ height: 0 }), animate('0.2s ease-in')]),\n transition('offsetTop => exit', [animate('0.2s', style({ height: 0 }))]),\n transition('void => offsetBottom', [style({ height: 0 }), animate('0.2s ease-in')]),\n transition('offsetBottom => exit', [animate('0.2s', style({ height: 0 }))]),\n\n state('left right top bottom', style({ transform: '*' })),\n transition('void => left', [style({ transform: 'translateX(-100%)' }), animate('0.2s ease-in')]),\n transition('left => exit', [animate('0.2s', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [style({ transform: 'translateX(100%)' }), animate('0.2s ease-in')]),\n transition('right => exit', [animate('0.2s', style({ transform: 'translateX(100%)' }))]),\n transition('void => top', [style({ transform: 'translateY(-100%)' }), animate('0.2s ease-in')]),\n transition('top => exit', [animate('0.2s', style({ transform: 'translateY(-100%)' }))]),\n transition('void => bottom', [style({ transform: 'translateY(100%)' }), animate('0.2s ease-in')]),\n transition('bottom => exit', [animate('0.2s', style({ transform: 'translateY(100%)' }))])\n];\n\nexport const thySlideAnimations: {\n readonly slideContainer: AnimationTriggerMetadata;\n} = {\n slideContainer: trigger('slideContainer', animationBody)\n};\n","import { ThyAbstractOverlayConfig, ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nimport { ElementRef, InjectionToken } from '@angular/core';\n\nexport type ThySlideFromTypes =\n | 'left'\n | 'right'\n | 'top'\n | 'bottom'\n | 'void'\n | 'exit'\n | 'offsetLeft'\n | 'offsetRight'\n | 'offsetTop'\n | 'offsetBottom';\n\nexport type ThySlideMode = 'over' | 'push' | 'side';\n\n/**\n * @public\n * @order 20\n */\nexport class ThySlideConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * Origin Element, for overlay flexible connected to\n * @type ElementRef<any> | HTMLElement | any\n */\n origin?: ElementRef<any> | HTMLElement | any;\n\n /**\n * slide 进场的方向,可选 left | right | top | bottom\n * @description.en-us set the direction when slide enter\n * @default right\n */\n from?: ThySlideFromTypes;\n\n /**\n * 从距离屏幕边缘 offset 出滑入滑出,单位 px\n */\n offset?: number;\n\n /**\n * set class to trigger element.\n * @type string | string[]\n */\n originActiveClass?: string | string[];\n\n /**\n * slide 弹出的容器,可传入id、HTMLElement 或 ElementRef<HTMLElement>\n * @description.en-us set the drawerContainer by id、HTMLElement or ElementRef<HTMLElement>. e.g. drawerContainer = '#offset-host'\n * @type string | HTMLElement | ElementRef<HTMLElement>\n */\n drawerContainer?: string | HTMLElement | ElementRef<HTMLElement>;\n\n /**\n * slide 进场的方向,可选 push | over | slide\n * @description.en-us set the render way. one of 'over' or 'push'. Default is 'over'\n * @default over\n */\n mode?: ThySlideMode;\n\n /**\n * 是否禁用关闭上一个已打开的 slideRef\n * @description.en-us set whether to disable close the latest item. Default is false\n * @default false\n */\n disableCloseLatest?: boolean;\n}\n\nexport class ThySlideOption extends ThySlideConfig {}\n\nexport const THY_SLIDE_DEFAULT_CONFIG = new InjectionToken<ThySlideConfig>('thy-slide-default-options');\n\nexport const slideAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'slide',\n animationEnabled: true,\n disposeWhenClose: true\n};\n\nexport const slideDefaultConfigValue = {\n hasBackdrop: true,\n backdropClass: 'thy-slide-backdrop',\n backdropClosable: true,\n closeOnNavigation: true,\n autoFocus: true,\n restoreFocus: true,\n from: 'right',\n panelClass: 'thy-slide',\n containerClass: '',\n role: 'slide',\n offset: 0,\n originActiveClass: 'thy-slide-origin-active',\n mode: 'over',\n drawerContainer: '',\n disableCloseLatest: false\n};\n\nexport const THY_SLIDE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_SLIDE_DEFAULT_CONFIG,\n useValue: {}\n};\n","import { ThyAbstractOverlayContainer, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { helpers } from 'ngx-tethys/util';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, startWith, takeUntil } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { ChangeDetectorRef, Component, ElementRef, NgZone, OnDestroy, Renderer2, ViewChild, inject, DOCUMENT } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { thySlideAnimations } from './slide-animations';\nimport { slideAbstractOverlayOptions, ThySlideConfig, ThySlideFromTypes } from './slide.config';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-slide-container',\n template: ` <ng-template thyPortalOutlet></ng-template> `,\n animations: [thySlideAnimations.slideContainer],\n host: {\n class: 'thy-slide-container',\n '[class.thy-slide-push]': 'isPush',\n '[class.thy-slide-side]': 'isSide',\n '[class.thy-slide-over]': '!isPush && !isSide',\n tabindex: '-1',\n '[attr.role]': `'slide'`,\n '[@slideContainer]': 'animationState',\n '(@slideContainer.start)': 'onAnimationStart($event)',\n '(@slideContainer.done)': 'onAnimationDone($event)',\n '[style.width.px]': 'slideContainerStyles.width',\n '[style.height.px]': 'slideContainerStyles.height',\n '[style.max-height.px]': 'slideContainerStyles.height'\n },\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThySlideContainer extends ThyAbstractOverlayContainer implements OnDestroy {\n private elementRef = inject(ElementRef);\n private document = inject(DOCUMENT);\n config = inject(ThySlideConfig);\n private renderer = inject(Renderer2);\n private viewportRuler = inject(ViewportRuler);\n private readonly ngZone = inject(NgZone);\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n animationOpeningDone: Observable<AnimationEvent>;\n\n animationClosingDone: Observable<AnimationEvent>;\n\n animationState: ThySlideFromTypes = 'void';\n\n slideContainerStyles: { width?: number; height?: number } = {};\n\n private drawerContainerElement: HTMLElement;\n\n private ngUnsubscribe$ = new Subject<void>();\n\n private hostRenderer = useHostRenderer();\n\n get isPush() {\n return this.config.mode === 'push' && !!this.drawerContainerElement;\n }\n\n get isSide() {\n return this.config.mode === 'side' && !!this.drawerContainerElement;\n }\n\n private get isLeftOrRight(): boolean {\n return this.config.from === 'left' || this.config.from === 'right';\n }\n\n private get hostOffset() {\n let offset = 0;\n if (this.isLeftOrRight) {\n offset = this.elementRef.nativeElement.clientWidth + this.config.offset || 0;\n } else {\n offset = this.elementRef.nativeElement.clientHeight + this.config.offset || 0;\n }\n return offset;\n }\n\n private get transform() {\n switch (this.config.from) {\n case 'left':\n return `translateX(${this.hostOffset}px)`;\n case 'right':\n return `translateX(-${this.hostOffset}px)`;\n case 'top':\n return `translateY(${this.hostOffset}px)`;\n case 'bottom':\n return `translateY(${this.hostOffset}px)`;\n }\n }\n\n private get drawerContainerElementClass() {\n return `thy-slide-${this.config.mode}-drawer-container`;\n }\n\n constructor() {\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(slideAbstractOverlayOptions, changeDetectorRef);\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === this.animationState;\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n this.setDrawerContainerElement();\n this.checkContainerWithinViewport();\n this.addDrawerContainerElementClass();\n }\n\n private setDrawerContainerElement() {\n if (typeof this.config.drawerContainer === 'string') {\n this.drawerContainerElement = this.config.drawerContainer && document.querySelector(this.config.drawerContainer);\n }\n if (this.config.drawerContainer instanceof ElementRef) {\n this.drawerContainerElement = this.config.drawerContainer.nativeElement;\n }\n if (this.config.drawerContainer instanceof HTMLElement) {\n this.drawerContainerElement = this.config.drawerContainer as HTMLElement;\n }\n }\n\n private setSlideContainerStyles() {\n let width, height, top, left;\n const drawerContainerElementRect = (this.drawerContainerElement || document.body).getBoundingClientRect();\n if (this.isLeftOrRight) {\n height = drawerContainerElementRect.height;\n top = drawerContainerElementRect.top;\n this.hostRenderer.setStyle('top', `${top}px`);\n } else {\n width = drawerContainerElementRect.width;\n left = drawerContainerElementRect.left;\n this.hostRenderer.setStyle('left', `${left}px`);\n }\n this.slideContainerStyles = {\n width: width,\n height: height\n };\n }\n\n private checkContainerWithinViewport() {\n this.viewportRuler\n .change(100)\n .pipe(startWith(null), takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n this.ngZone.run(() => this.setSlideContainerStyles());\n });\n }\n\n private addDrawerContainerElementClass() {\n if (this.drawerContainerElement) {\n this.renderer.addClass(this.drawerContainerElement, this.drawerContainerElementClass);\n }\n }\n\n private removeDrawerContainerElementClass() {\n if (this.drawerContainerElement) {\n this.renderer.removeClass(this.drawerContainerElement, this.drawerContainerElementClass);\n }\n }\n\n private setDrawerContainerElementStyle() {\n if (this.isSide) {\n this.renderer.setStyle(this.drawerContainerElement, `margin-${this.config.from}`, `${this.hostOffset}px`);\n } else if (this.isPush) {\n this.renderer.setStyle(this.drawerContainerElement, `transform`, this.transform);\n }\n }\n\n private removeDrawerContainerElementStyle() {\n if (this.isSide) {\n this.renderer.removeStyle(this.drawerContainerElement, `margin-${this.config.from}`);\n } else if (this.isPush) {\n this.renderer.removeStyle(this.drawerContainerElement, `transform`);\n }\n }\n\n beforeAttachPortal(): void {\n if (this.config.offset) {\n this.hostRenderer.setStyle(this.config.from, `${this.config.offset}px`);\n this.animationState = helpers.camelCase(['offset', this.config.from]) as ThySlideFromTypes;\n } else {\n this.animationState = this.config.from;\n }\n this.setDrawerContainerElementStyle();\n }\n\n beforeDetachPortal(): void {\n this.removeDrawerContainerElementStyle();\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n ngOnDestroy() {\n super.destroy();\n this.removeDrawerContainerElementClass();\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import {\n ThyAbstractInternalOverlayRef,\n ThyAbstractOverlayOptions,\n ThyAbstractOverlayPosition,\n ThyAbstractOverlayRef\n} from 'ngx-tethys/core';\nimport { Injectable } from '@angular/core';\nimport { ThySlideContainer } from './slide-container.component';\nimport { slideAbstractOverlayOptions, ThySlideConfig } from './slide.config';\n\n/**\n * @public\n * @order 30\n */\nexport abstract class ThySlideRef<T, TResult = unknown> extends ThyAbstractOverlayRef<T, ThySlideContainer, TResult> {}\n\n/**\n * @internal\n */\n@Injectable()\nexport class ThyInternalSlideRef<T = unknown, TResult = unknown>\n extends ThyAbstractInternalOverlayRef<T, ThySlideContainer, TResult, ThySlideConfig>\n implements ThySlideRef<T>\n{\n constructor() {\n super();\n }\n\n protected get options(): ThyAbstractOverlayOptions {\n return slideAbstractOverlayOptions;\n }\n\n updatePosition(position?: ThyAbstractOverlayPosition): this {\n return this.updateGlobalPosition(position);\n }\n}\n","import { ComponentTypeOrTemplateRef, ThyAbstractOverlayRef, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { of } from 'rxjs';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable, Injector, OnDestroy, StaticProvider, inject } from '@angular/core';\n\nimport { ThySlideContainer } from './slide-container.component';\nimport { ThyInternalSlideRef, ThySlideRef } from './slide-ref.service';\nimport { slideAbstractOverlayOptions, slideDefaultConfigValue, THY_SLIDE_DEFAULT_CONFIG, ThySlideConfig } from './slide.config';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThySlideService extends ThyAbstractOverlayService<ThySlideConfig, ThySlideContainer> implements OnDestroy {\n private originElementAddActiveClass(config: ThySlideConfig) {\n if (config.origin) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThySlideConfig) {\n if (config.origin) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n protected buildOverlayConfig(config: ThySlideConfig): OverlayConfig {\n const defaultClasses: string[] = ['thy-slide-overlay-pane', `thy-slide-${config.from}`];\n const overlayConfig = {\n ...this.buildBaseOverlayConfig(config, defaultClasses),\n width: config.width\n };\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThySlideConfig): ThySlideContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThySlideConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThySlideContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThySlideContainer>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T>(\n overlayRef: OverlayRef,\n containerInstance: ThySlideContainer,\n config: ThySlideConfig\n ): ThyAbstractOverlayRef<T, ThySlideContainer, any> {\n const slideRef = new ThyInternalSlideRef<T>();\n slideRef.initialize(overlayRef, containerInstance, config);\n return slideRef;\n }\n\n protected createInjector<T>(\n config: ThySlideConfig,\n overlayRef: ThyAbstractOverlayRef<T, ThySlideContainer, any>,\n containerInstance: ThySlideContainer\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThySlideContainer, useValue: containerInstance },\n { provide: ThySlideRef, useValue: overlayRef }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n private overlayIsOpened(config: ThySlideConfig) {\n const openedOverlay = this.getAbstractOverlayById(config.id);\n const slideConfig = Object.assign({}, this.defaultConfig, config);\n if (!slideConfig.disableCloseLatest) {\n this.close(openedOverlay);\n }\n return openedOverlay;\n }\n\n constructor() {\n const defaultConfig = inject(THY_SLIDE_DEFAULT_CONFIG, { optional: true })!;\n const slideDefaultConfig = Object.assign({}, slideDefaultConfigValue, defaultConfig);\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n\n super(slideAbstractOverlayOptions, overlay, injector, slideDefaultConfig);\n }\n\n /**\n * 打开滑动弹出框\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentTypeOrTemplateRef<T>,\n config: ThySlideConfig<TData>\n ): ThySlideRef<T, TResult> {\n if (this.overlayIsOpened(config)) {\n return;\n }\n const slideRef = this.openOverlay<T, TResult>(componentOrTemplateRef, config);\n this.originElementAddActiveClass(slideRef.containerInstance.config);\n slideRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(slideRef.containerInstance.config);\n });\n return slideRef;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { Component, ViewEncapsulation, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-layout\n * @order 35\n */\n@Component({\n selector: 'thy-slide-layout',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None\n})\nexport class ThySlideLayout implements OnInit {\n @HostBinding('class.thy-slide-layout') slideLayout = true;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Component, TemplateRef, OnInit, inject, input, computed, contentChild } from '@angular/core';\nimport { ThySlideService } from '../slide.service';\nimport { ThyAction } from 'ngx-tethys/action';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * 滑动弹出框的头部组件\n * @name thy-slide-header\n * @order 40\n */\n@Component({\n selector: 'thy-slide-header',\n templateUrl: './slide-header.component.html',\n imports: [NgTemplateOutlet, ThyIcon, ThyAction],\n host: {\n class: 'thy-slide-header'\n }\n})\nexport class ThySlideHeader implements OnInit {\n private thySlideService = inject(ThySlideService);\n\n /**\n * 标题\n */\n readonly thyTitle = input<string>(undefined);\n\n /**\n * 标题的图标\n */\n readonly thyIcon = input<string>(undefined);\n\n readonly isIconFont = computed(() => (this.thyIcon() || '').includes('wtf'));\n\n /**\n * 自定义头模板\n * @type TemplateRef\n */\n readonly headerTemplate = contentChild<TemplateRef<any>>('thyHeader');\n\n /**\n * 头部操作区域模板\n * @type TemplateRef\n */\n readonly headerOperateTemplate = contentChild<TemplateRef<any>>('thyHeaderOperate');\n\n ngOnInit() {}\n\n closeModal(event: Event) {\n event.stopPropagation();\n this.thySlideService.close();\n }\n}\n","@if (headerTemplate()) {\n <ng-template [ngTemplateOutlet]=\"headerTemplate()\"></ng-template>\n} @else {\n <h3 class=\"thy-slide-header-title\">\n @if (!isIconFont() && thyIcon()) {\n <thy-icon [thyIconName]=\"thyIcon()\"></thy-icon>\n } @else {\n @if (thyIcon()) {\n <i class=\"wft {{ thyIcon() }}\"></i>\n }\n }\n {{ thyTitle() }}\n </h3>\n <div class=\"thy-slide-header-main\">\n <ng-container>\n @if (headerOperateTemplate()) {\n <ng-template [ngTemplateOutlet]=\"headerOperateTemplate()\"> </ng-template>\n }\n </ng-container>\n </div>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"closeModal($event)\"></a>\n}\n","import { Component, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-body\n * @order 45\n */\n@Component({\n selector: 'thy-slide-body',\n template: ` <ng-content></ng-content> `\n})\nexport class ThySlideBody {\n @HostBinding('class.thy-slide-body') slideLayoutBody = true;\n}\n","import { Component, OnInit, input } from '@angular/core';\nimport { coerceBooleanProperty, ThyBooleanInput } from 'ngx-tethys/util';\n\n/**\n * @name thy-slide-body-section\n * @order 50\n */\n@Component({\n selector: 'thy-slide-body-section',\n template: '<ng-content></ng-content>',\n host: {\n class: 'thy-slide-body-section',\n '[class.thy-slide-body-section-divider]': 'thyDividerBorder()'\n }\n})\nexport class ThySlideBodySection implements OnInit {\n /**\n * 是否有分割线\n * @default false\n */\n readonly thyDividerBorder = input<boolean, ThyBooleanInput>(false, { transform: coerceBooleanProperty });\n\n ngOnInit() {}\n}\n","import { Component, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-footer\n * @order 55\n */\n@Component({\n selector: 'thy-slide-footer',\n template: '<ng-content></ng-content>'\n})\nexport class ThySlideFooter implements OnInit {\n @HostBinding('class.thy-slide-footer') slideLayoutFooter = true;\n\n ngOnInit() {}\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n/**\n * @name thyDrawerContainer\n * @order 60\n */\n@Directive({\n selector: '[thyDrawerContainer]'\n})\nexport class ThyDrawerContainerDirective {\n elementRef = inject(ElementRef);\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThySlideService } from './slide.service';\nimport { ThySlideContainer } from './slide-container.component';\nimport { ThyInternalSlideRef } from './slide-ref.service';\nimport { ThySlideLayout } from './slide-layout/slide-layout.component';\nimport { ThySlideHeader } from './slide-header/slide-header.component';\nimport { ThySlideBody } from './slide-body/slide-body.component';\nimport { ThySlideBodySection } from './slide-body/slide-body-section.component';\nimport { ThySlideFooter } from './slide-footer/slide-footer.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { THY_SLIDE_DEFAULT_CONFIG_PROVIDER } from './slide.config';\nimport { ThyDrawerContainerDirective } from './drawer/drawer-container.directive';\nimport { ThyActionModule } from 'ngx-tethys/action';\n\n@NgModule({\n imports: [\n CommonModule,\n ThySharedModule,\n ThyIconModule,\n OverlayModule,\n PortalModule,\n ThyActionModule,\n ThySlideContainer,\n ThySlideLayout,\n ThySlideHeader,\n ThySlideBody,\n ThySlideBodySection,\n ThySlideFooter,\n ThyDrawerContainerDirective\n ],\n exports: [ThySlideLayout, ThySlideHeader, ThySlideBody, ThySlideBodySection, ThySlideFooter, ThyDrawerContainerDirective],\n providers: [ThyInternalSlideRef, ThySlideService, THY_SLIDE_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThySlideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-slide.mjs","sources":["../../../src/slide/slide-animations.ts","../../../src/slide/slide.config.ts","../../../src/slide/slide-container.component.ts","../../../src/slide/slide-ref.service.ts","../../../src/slide/slide.service.ts","../../../src/slide/slide-layout/slide-layout.component.ts","../../../src/slide/slide-header/slide-header.component.ts","../../../src/slide/slide-header/slide-header.component.html","../../../src/slide/slide-body/slide-body.component.ts","../../../src/slide/slide-body/slide-body-section.component.ts","../../../src/slide/slide-footer/slide-footer.component.ts","../../../src/slide/drawer/drawer-container.directive.ts","../../../src/slide/slide.module.ts","../../../src/slide/ngx-tethys-slide.ts"],"sourcesContent":["import { transition, style, animate, AnimationTriggerMetadata, trigger, state } from '@angular/animations';\n\nconst animationBody = [\n transition('void => offsetLeft', [style({ width: 0 }), animate('0.2s ease-in')]),\n transition('offsetLeft => exit', [animate('0.2s', style({ width: 0 }))]),\n transition('void => offsetRight', [style({ width: 0 }), animate('0.2s ease')]),\n transition('offsetRight => exit', [animate('0.2s', style({ width: 0 }))]),\n transition('void => offsetTop', [style({ height: 0 }), animate('0.2s ease-in')]),\n transition('offsetTop => exit', [animate('0.2s', style({ height: 0 }))]),\n transition('void => offsetBottom', [style({ height: 0 }), animate('0.2s ease-in')]),\n transition('offsetBottom => exit', [animate('0.2s', style({ height: 0 }))]),\n\n state('left right top bottom', style({ transform: '*' })),\n transition('void => left', [style({ transform: 'translateX(-100%)' }), animate('0.2s ease-in')]),\n transition('left => exit', [animate('0.2s', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [style({ transform: 'translateX(100%)' }), animate('0.2s ease-in')]),\n transition('right => exit', [animate('0.2s', style({ transform: 'translateX(100%)' }))]),\n transition('void => top', [style({ transform: 'translateY(-100%)' }), animate('0.2s ease-in')]),\n transition('top => exit', [animate('0.2s', style({ transform: 'translateY(-100%)' }))]),\n transition('void => bottom', [style({ transform: 'translateY(100%)' }), animate('0.2s ease-in')]),\n transition('bottom => exit', [animate('0.2s', style({ transform: 'translateY(100%)' }))])\n];\n\nexport const thySlideAnimations: {\n readonly slideContainer: AnimationTriggerMetadata;\n} = {\n slideContainer: trigger('slideContainer', animationBody)\n};\n","import { ThyAbstractOverlayConfig, ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nimport { ElementRef, InjectionToken } from '@angular/core';\n\nexport type ThySlideFromTypes =\n | 'left'\n | 'right'\n | 'top'\n | 'bottom'\n | 'void'\n | 'exit'\n | 'offsetLeft'\n | 'offsetRight'\n | 'offsetTop'\n | 'offsetBottom';\n\nexport type ThySlideMode = 'over' | 'push' | 'side';\n\n/**\n * @public\n * @order 20\n */\nexport class ThySlideConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * Origin Element, for overlay flexible connected to\n * @type ElementRef<any> | HTMLElement | any\n */\n origin?: ElementRef<any> | HTMLElement | any;\n\n /**\n * slide 进场的方向,可选 left | right | top | bottom\n * @description.en-us set the direction when slide enter\n * @default right\n */\n from?: ThySlideFromTypes;\n\n /**\n * 从距离屏幕边缘 offset 出滑入滑出,单位 px\n */\n offset?: number;\n\n /**\n * set class to trigger element.\n * @type string | string[]\n */\n originActiveClass?: string | string[];\n\n /**\n * slide 弹出的容器,可传入id、HTMLElement 或 ElementRef<HTMLElement>\n * @description.en-us set the drawerContainer by id、HTMLElement or ElementRef<HTMLElement>. e.g. drawerContainer = '#offset-host'\n * @type string | HTMLElement | ElementRef<HTMLElement>\n */\n drawerContainer?: string | HTMLElement | ElementRef<HTMLElement>;\n\n /**\n * slide 进场的方向,可选 push | over | slide\n * @description.en-us set the render way. one of 'over' or 'push'. Default is 'over'\n * @default over\n */\n mode?: ThySlideMode;\n\n /**\n * 是否禁用关闭上一个已打开的 slideRef\n * @description.en-us set whether to disable close the latest item. Default is false\n * @default false\n */\n disableCloseLatest?: boolean;\n}\n\nexport class ThySlideOption extends ThySlideConfig {}\n\nexport const THY_SLIDE_DEFAULT_CONFIG = new InjectionToken<ThySlideConfig>('thy-slide-default-options');\n\nexport const slideAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'slide',\n animationEnabled: true,\n disposeWhenClose: true\n};\n\nexport const slideDefaultConfigValue = {\n hasBackdrop: true,\n backdropClass: 'thy-slide-backdrop',\n backdropClosable: true,\n closeOnNavigation: true,\n autoFocus: true,\n restoreFocus: true,\n from: 'right',\n panelClass: 'thy-slide',\n containerClass: '',\n role: 'slide',\n offset: 0,\n originActiveClass: 'thy-slide-origin-active',\n mode: 'over',\n drawerContainer: '',\n disableCloseLatest: false\n};\n\nexport const THY_SLIDE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_SLIDE_DEFAULT_CONFIG,\n useValue: {}\n};\n","import { ThyAbstractOverlayContainer, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { helpers } from 'ngx-tethys/util';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, startWith, takeUntil } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport { ChangeDetectorRef, Component, ElementRef, NgZone, OnDestroy, Renderer2, ViewChild, inject, DOCUMENT } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { thySlideAnimations } from './slide-animations';\nimport { slideAbstractOverlayOptions, ThySlideConfig, ThySlideFromTypes } from './slide.config';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-slide-container',\n template: ` <ng-template thyPortalOutlet></ng-template> `,\n animations: [thySlideAnimations.slideContainer],\n host: {\n class: 'thy-slide-container',\n '[class.thy-slide-push]': 'isPush',\n '[class.thy-slide-side]': 'isSide',\n '[class.thy-slide-over]': '!isPush && !isSide',\n tabindex: '-1',\n '[attr.role]': `'slide'`,\n '[@slideContainer]': 'animationState',\n '(@slideContainer.start)': 'onAnimationStart($event)',\n '(@slideContainer.done)': 'onAnimationDone($event)',\n '[style.width.px]': 'slideContainerStyles.width',\n '[style.height.px]': 'slideContainerStyles.height',\n '[style.max-height.px]': 'slideContainerStyles.height'\n },\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThySlideContainer extends ThyAbstractOverlayContainer implements OnDestroy {\n private elementRef = inject(ElementRef);\n private document = inject(DOCUMENT);\n config = inject(ThySlideConfig);\n private renderer = inject(Renderer2);\n private viewportRuler = inject(ViewportRuler);\n private readonly ngZone = inject(NgZone);\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet!: ThyPortalOutlet;\n\n animationOpeningDone!: Observable<AnimationEvent>;\n\n animationClosingDone!: Observable<AnimationEvent>;\n\n animationState: ThySlideFromTypes = 'void';\n\n slideContainerStyles: { width?: number; height?: number } = {};\n\n private drawerContainerElement!: HTMLElement | null;\n\n private ngUnsubscribe$ = new Subject<void>();\n\n private hostRenderer = useHostRenderer();\n\n get isPush() {\n return this.config.mode === 'push' && !!this.drawerContainerElement;\n }\n\n get isSide() {\n return this.config.mode === 'side' && !!this.drawerContainerElement;\n }\n\n private get isLeftOrRight(): boolean {\n return this.config.from === 'left' || this.config.from === 'right';\n }\n\n private get hostOffset() {\n let offset = 0;\n if (this.isLeftOrRight) {\n offset = this.elementRef.nativeElement.clientWidth + this.config.offset || 0;\n } else {\n offset = this.elementRef.nativeElement.clientHeight + this.config.offset || 0;\n }\n return offset;\n }\n\n private get transform() {\n switch (this.config.from) {\n case 'left':\n return `translateX(${this.hostOffset}px)`;\n case 'right':\n return `translateX(-${this.hostOffset}px)`;\n case 'top':\n return `translateY(${this.hostOffset}px)`;\n case 'bottom':\n return `translateY(${this.hostOffset}px)`;\n }\n }\n\n private get drawerContainerElementClass() {\n return `thy-slide-${this.config.mode}-drawer-container`;\n }\n\n constructor() {\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(slideAbstractOverlayOptions, changeDetectorRef);\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === this.animationState;\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n this.setDrawerContainerElement();\n this.checkContainerWithinViewport();\n this.addDrawerContainerElementClass();\n }\n\n private setDrawerContainerElement() {\n if (typeof this.config.drawerContainer === 'string') {\n this.drawerContainerElement =\n (this.config.drawerContainer && (document.querySelector(this.config.drawerContainer) as HTMLElement)) || null;\n }\n if (this.config.drawerContainer instanceof ElementRef) {\n this.drawerContainerElement = this.config.drawerContainer.nativeElement;\n }\n if (this.config.drawerContainer instanceof HTMLElement) {\n this.drawerContainerElement = this.config.drawerContainer as HTMLElement;\n }\n }\n\n private setSlideContainerStyles() {\n let width, height, top, left;\n const drawerContainerElementRect = (this.drawerContainerElement || document.body).getBoundingClientRect();\n if (this.isLeftOrRight) {\n height = drawerContainerElementRect.height;\n top = drawerContainerElementRect.top;\n this.hostRenderer.setStyle('top', `${top}px`);\n } else {\n width = drawerContainerElementRect.width;\n left = drawerContainerElementRect.left;\n this.hostRenderer.setStyle('left', `${left}px`);\n }\n this.slideContainerStyles = {\n width: width,\n height: height\n };\n }\n\n private checkContainerWithinViewport() {\n this.viewportRuler\n .change(100)\n .pipe(startWith(null), takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n this.ngZone.run(() => this.setSlideContainerStyles());\n });\n }\n\n private addDrawerContainerElementClass() {\n if (this.drawerContainerElement) {\n this.renderer.addClass(this.drawerContainerElement, this.drawerContainerElementClass);\n }\n }\n\n private removeDrawerContainerElementClass() {\n if (this.drawerContainerElement) {\n this.renderer.removeClass(this.drawerContainerElement, this.drawerContainerElementClass);\n }\n }\n\n private setDrawerContainerElementStyle() {\n if (this.isSide) {\n this.renderer.setStyle(this.drawerContainerElement, `margin-${this.config.from}`, `${this.hostOffset}px`);\n } else if (this.isPush) {\n this.renderer.setStyle(this.drawerContainerElement, `transform`, this.transform);\n }\n }\n\n private removeDrawerContainerElementStyle() {\n if (this.isSide) {\n this.renderer.removeStyle(this.drawerContainerElement, `margin-${this.config.from}`);\n } else if (this.isPush) {\n this.renderer.removeStyle(this.drawerContainerElement, `transform`);\n }\n }\n\n beforeAttachPortal(): void {\n if (this.config.offset) {\n this.hostRenderer.setStyle(this.config.from!, `${this.config.offset}px`);\n this.animationState = helpers.camelCase(['offset', this.config.from!]) as ThySlideFromTypes;\n } else {\n this.animationState = this.config.from!;\n }\n this.setDrawerContainerElementStyle();\n }\n\n beforeDetachPortal(): void {\n this.removeDrawerContainerElementStyle();\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n ngOnDestroy() {\n super.destroy();\n this.removeDrawerContainerElementClass();\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import {\n ThyAbstractInternalOverlayRef,\n ThyAbstractOverlayOptions,\n ThyAbstractOverlayPosition,\n ThyAbstractOverlayRef\n} from 'ngx-tethys/core';\nimport { Injectable } from '@angular/core';\nimport { ThySlideContainer } from './slide-container.component';\nimport { slideAbstractOverlayOptions, ThySlideConfig } from './slide.config';\n\n/**\n * @public\n * @order 30\n */\nexport abstract class ThySlideRef<T, TResult = unknown> extends ThyAbstractOverlayRef<T, ThySlideContainer, TResult> {}\n\n/**\n * @internal\n */\n@Injectable()\nexport class ThyInternalSlideRef<T = unknown, TResult = unknown>\n extends ThyAbstractInternalOverlayRef<T, ThySlideContainer, TResult, ThySlideConfig>\n implements ThySlideRef<T>\n{\n constructor() {\n super();\n }\n\n protected get options(): ThyAbstractOverlayOptions {\n return slideAbstractOverlayOptions;\n }\n\n updatePosition(position?: ThyAbstractOverlayPosition): this {\n return this.updateGlobalPosition(position);\n }\n}\n","import { ComponentTypeOrTemplateRef, ThyAbstractOverlayRef, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { of } from 'rxjs';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable, Injector, OnDestroy, StaticProvider, inject } from '@angular/core';\n\nimport { ThySlideContainer } from './slide-container.component';\nimport { ThyInternalSlideRef, ThySlideRef } from './slide-ref.service';\nimport { slideAbstractOverlayOptions, slideDefaultConfigValue, THY_SLIDE_DEFAULT_CONFIG, ThySlideConfig } from './slide.config';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThySlideService extends ThyAbstractOverlayService<ThySlideConfig, ThySlideContainer> implements OnDestroy {\n private originElementAddActiveClass(config: ThySlideConfig) {\n if (config.origin && config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThySlideConfig) {\n if (config.origin && config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n protected buildOverlayConfig(config: ThySlideConfig): OverlayConfig {\n const defaultClasses: string[] = ['thy-slide-overlay-pane', `thy-slide-${config.from}`];\n const overlayConfig = {\n ...this.buildBaseOverlayConfig(config, defaultClasses),\n width: config.width\n };\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThySlideConfig): ThySlideContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThySlideConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThySlideContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThySlideContainer>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T>(\n overlayRef: OverlayRef,\n containerInstance: ThySlideContainer,\n config: ThySlideConfig\n ): ThyAbstractOverlayRef<T, ThySlideContainer, any> {\n const slideRef = new ThyInternalSlideRef<T>();\n slideRef.initialize(overlayRef, containerInstance, config);\n return slideRef;\n }\n\n protected createInjector<T>(\n config: ThySlideConfig,\n overlayRef: ThyAbstractOverlayRef<T, ThySlideContainer, any>,\n containerInstance: ThySlideContainer\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThySlideContainer, useValue: containerInstance },\n { provide: ThySlideRef, useValue: overlayRef }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n private overlayIsOpened(config: ThySlideConfig) {\n const openedOverlay = this.getAbstractOverlayById(config.id!);\n const slideConfig = Object.assign({}, this.defaultConfig, config);\n if (!slideConfig.disableCloseLatest) {\n this.close(openedOverlay);\n }\n return openedOverlay;\n }\n\n constructor() {\n const defaultConfig = inject(THY_SLIDE_DEFAULT_CONFIG, { optional: true })!;\n const slideDefaultConfig = Object.assign({}, slideDefaultConfigValue, defaultConfig);\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n\n super(slideAbstractOverlayOptions, overlay, injector, slideDefaultConfig);\n }\n\n /**\n * 打开滑动弹出框\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentTypeOrTemplateRef<T>,\n config: ThySlideConfig<TData>\n ): ThySlideRef<T, TResult> | undefined {\n if (this.overlayIsOpened(config)) {\n return;\n }\n const slideRef = this.openOverlay<T, TResult>(componentOrTemplateRef, config);\n this.originElementAddActiveClass(slideRef.containerInstance.config);\n slideRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(slideRef.containerInstance.config);\n });\n return slideRef;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { Component, ViewEncapsulation, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-layout\n * @order 35\n */\n@Component({\n selector: 'thy-slide-layout',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None\n})\nexport class ThySlideLayout implements OnInit {\n @HostBinding('class.thy-slide-layout') slideLayout = true;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Component, TemplateRef, OnInit, inject, input, computed, contentChild } from '@angular/core';\nimport { ThySlideService } from '../slide.service';\nimport { ThyAction } from 'ngx-tethys/action';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * 滑动弹出框的头部组件\n * @name thy-slide-header\n * @order 40\n */\n@Component({\n selector: 'thy-slide-header',\n templateUrl: './slide-header.component.html',\n imports: [NgTemplateOutlet, ThyIcon, ThyAction],\n host: {\n class: 'thy-slide-header'\n }\n})\nexport class ThySlideHeader implements OnInit {\n private thySlideService = inject(ThySlideService);\n\n /**\n * 标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 标题的图标\n */\n readonly thyIcon = input<string>();\n\n readonly isIconFont = computed(() => (this.thyIcon() || '').includes('wtf'));\n\n /**\n * 自定义头模板\n * @type TemplateRef\n */\n readonly headerTemplate = contentChild<TemplateRef<any>>('thyHeader');\n\n /**\n * 头部操作区域模板\n * @type TemplateRef\n */\n readonly headerOperateTemplate = contentChild<TemplateRef<any>>('thyHeaderOperate');\n\n ngOnInit() {}\n\n closeModal(event: Event) {\n event.stopPropagation();\n this.thySlideService.close();\n }\n}\n","@if (headerTemplate()) {\n <ng-template [ngTemplateOutlet]=\"headerTemplate()\"></ng-template>\n} @else {\n <h3 class=\"thy-slide-header-title\">\n @if (!isIconFont() && thyIcon()) {\n <thy-icon [thyIconName]=\"thyIcon()\"></thy-icon>\n } @else {\n @if (thyIcon()) {\n <i class=\"wft {{ thyIcon() }}\"></i>\n }\n }\n {{ thyTitle() }}\n </h3>\n <div class=\"thy-slide-header-main\">\n <ng-container>\n @if (headerOperateTemplate()) {\n <ng-template [ngTemplateOutlet]=\"headerOperateTemplate()\"> </ng-template>\n }\n </ng-container>\n </div>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"closeModal($event)\"></a>\n}\n","import { Component, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-body\n * @order 45\n */\n@Component({\n selector: 'thy-slide-body',\n template: ` <ng-content></ng-content> `\n})\nexport class ThySlideBody {\n @HostBinding('class.thy-slide-body') slideLayoutBody = true;\n}\n","import { Component, OnInit, input } from '@angular/core';\nimport { coerceBooleanProperty, ThyBooleanInput } from 'ngx-tethys/util';\n\n/**\n * @name thy-slide-body-section\n * @order 50\n */\n@Component({\n selector: 'thy-slide-body-section',\n template: '<ng-content></ng-content>',\n host: {\n class: 'thy-slide-body-section',\n '[class.thy-slide-body-section-divider]': 'thyDividerBorder()'\n }\n})\nexport class ThySlideBodySection implements OnInit {\n /**\n * 是否有分割线\n * @default false\n */\n readonly thyDividerBorder = input<boolean, ThyBooleanInput>(false, { transform: coerceBooleanProperty });\n\n ngOnInit() {}\n}\n","import { Component, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-footer\n * @order 55\n */\n@Component({\n selector: 'thy-slide-footer',\n template: '<ng-content></ng-content>'\n})\nexport class ThySlideFooter implements OnInit {\n @HostBinding('class.thy-slide-footer') slideLayoutFooter = true;\n\n ngOnInit() {}\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n/**\n * @name thyDrawerContainer\n * @order 60\n */\n@Directive({\n selector: '[thyDrawerContainer]'\n})\nexport class ThyDrawerContainerDirective {\n elementRef = inject(ElementRef);\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThySlideService } from './slide.service';\nimport { ThySlideContainer } from './slide-container.component';\nimport { ThyInternalSlideRef } from './slide-ref.service';\nimport { ThySlideLayout } from './slide-layout/slide-layout.component';\nimport { ThySlideHeader } from './slide-header/slide-header.component';\nimport { ThySlideBody } from './slide-body/slide-body.component';\nimport { ThySlideBodySection } from './slide-body/slide-body-section.component';\nimport { ThySlideFooter } from './slide-footer/slide-footer.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { THY_SLIDE_DEFAULT_CONFIG_PROVIDER } from './slide.config';\nimport { ThyDrawerContainerDirective } from './drawer/drawer-container.directive';\nimport { ThyActionModule } from 'ngx-tethys/action';\n\n@NgModule({\n imports: [\n CommonModule,\n ThySharedModule,\n ThyIconModule,\n OverlayModule,\n PortalModule,\n ThyActionModule,\n ThySlideContainer,\n ThySlideLayout,\n ThySlideHeader,\n ThySlideBody,\n ThySlideBodySection,\n ThySlideFooter,\n ThyDrawerContainerDirective\n ],\n exports: [ThySlideLayout, ThySlideHeader, ThySlideBody, ThySlideBodySection, ThySlideFooter, ThyDrawerContainerDirective],\n providers: [ThyInternalSlideRef, ThySlideService, THY_SLIDE_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThySlideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -34,9 +34,9 @@ class ThySlider extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
34
34
|
*/
|
|
35
35
|
this.thyVertical = input(false, ...(ngDevMode ? [{ debugName: "thyVertical", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
36
36
|
this.disabled = false;
|
|
37
|
-
this.sliderRail = viewChild('sliderRail'
|
|
38
|
-
this.sliderTrack = viewChild('sliderTrack'
|
|
39
|
-
this.sliderPointer = viewChild('sliderPointer'
|
|
37
|
+
this.sliderRail = viewChild.required('sliderRail');
|
|
38
|
+
this.sliderTrack = viewChild.required('sliderTrack');
|
|
39
|
+
this.sliderPointer = viewChild.required('sliderPointer');
|
|
40
40
|
this.typeClassName = signal('', ...(ngDevMode ? [{ debugName: "typeClassName" }] : []));
|
|
41
41
|
this.sizeClassName = signal('', ...(ngDevMode ? [{ debugName: "sizeClassName" }] : []));
|
|
42
42
|
/**
|
|
@@ -96,7 +96,7 @@ class ThySlider extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
96
96
|
}
|
|
97
97
|
this.toggleDisabled();
|
|
98
98
|
if (this.value === null || this.value === undefined) {
|
|
99
|
-
this.setValue(this.ensureValueInRange(
|
|
99
|
+
this.setValue(this.ensureValueInRange(''));
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
ngAfterViewInit() {
|
|
@@ -267,8 +267,8 @@ class ThySlider extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
267
267
|
const integerLength = valueString.indexOf('.') + 1;
|
|
268
268
|
return integerLength >= 0 ? valueString.length - integerLength : 0;
|
|
269
269
|
}
|
|
270
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
271
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.
|
|
270
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
271
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.15", type: ThySlider, isStandalone: true, selector: "thy-slider", inputs: { thyVertical: { classPropertyName: "thyVertical", publicName: "thyVertical", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: false, isRequired: false, transformFunction: coerceBooleanProperty }, thyMax: { classPropertyName: "thyMax", publicName: "thyMax", isSignal: true, isRequired: false, transformFunction: null }, thyMin: { classPropertyName: "thyMin", publicName: "thyMin", isSignal: true, isRequired: false, transformFunction: null }, thyStep: { classPropertyName: "thyStep", publicName: "thyStep", isSignal: true, isRequired: false, transformFunction: null }, thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thyColor: { classPropertyName: "thyColor", publicName: "thyColor", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyAfterChange: "thyAfterChange" }, host: { properties: { "attr.tabindex": "tabIndex", "class.slider-vertical": "thyVertical()", "class.slider-disabled": "!!disabled", "class.thy-slider": "true", "class.cursor-pointer": "true" } }, providers: [
|
|
272
272
|
{
|
|
273
273
|
provide: NG_VALUE_ACCESSOR,
|
|
274
274
|
useExisting: forwardRef(() => ThySlider),
|
|
@@ -276,7 +276,7 @@ class ThySlider extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
276
276
|
}
|
|
277
277
|
], viewQueries: [{ propertyName: "sliderRail", first: true, predicate: ["sliderRail"], descendants: true, isSignal: true }, { propertyName: "sliderTrack", first: true, predicate: ["sliderTrack"], descendants: true, isSignal: true }, { propertyName: "sliderPointer", first: true, predicate: ["sliderPointer"], descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-slider-rail\" #sliderRail>\n <div class=\"thy-slider-track\" #sliderTrack [ngStyle]=\"{ 'background-color': thyColor() }\"></div>\n <div class=\"thy-slider-pointer\" #sliderPointer [ngStyle]=\"{ 'border-color': thyColor() }\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
278
278
|
}
|
|
279
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySlider, decorators: [{
|
|
280
280
|
type: Component,
|
|
281
281
|
args: [{ selector: 'thy-slider', providers: [
|
|
282
282
|
{
|
|
@@ -313,11 +313,11 @@ function verifyStepValues(ctx) {
|
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
class ThySliderModule {
|
|
316
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
317
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
318
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
316
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
317
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThySliderModule, imports: [CommonModule, FormsModule, ThySlider], exports: [ThySlider] }); }
|
|
318
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySliderModule, imports: [CommonModule, FormsModule] }); }
|
|
319
319
|
}
|
|
320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySliderModule, decorators: [{
|
|
321
321
|
type: NgModule,
|
|
322
322
|
args: [{
|
|
323
323
|
imports: [CommonModule, FormsModule, ThySlider],
|