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.
Files changed (239) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/action/index.d.ts +3 -3
  3. package/affix/index.d.ts +1 -1
  4. package/alert/index.d.ts +3 -3
  5. package/anchor/index.d.ts +3 -3
  6. package/arrow-switcher/index.d.ts +6 -6
  7. package/autocomplete/index.d.ts +7 -7
  8. package/avatar/index.d.ts +9 -9
  9. package/back-top/index.d.ts +3 -3
  10. package/badge/index.d.ts +6 -6
  11. package/breadcrumb/index.d.ts +7 -7
  12. package/button/index.d.ts +19 -19
  13. package/calendar/index.d.ts +8 -8
  14. package/card/index.d.ts +6 -6
  15. package/carousel/index.d.ts +4 -4
  16. package/cascader/index.d.ts +24 -24
  17. package/collapse/index.d.ts +4 -4
  18. package/color-picker/index.d.ts +16 -16
  19. package/comment/index.d.ts +3 -3
  20. package/copy/index.d.ts +2 -2
  21. package/core/index.d.ts +22 -22
  22. package/date-picker/index.d.ts +111 -111
  23. package/date-range/index.d.ts +5 -5
  24. package/dialog/index.d.ts +18 -18
  25. package/divider/index.d.ts +3 -3
  26. package/drag-drop/index.d.ts +7 -7
  27. package/dropdown/index.d.ts +10 -10
  28. package/empty/index.d.ts +12 -12
  29. package/fesm2022/ngx-tethys-action.mjs +14 -12
  30. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  31. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  32. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  33. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  34. package/fesm2022/ngx-tethys-anchor.mjs +11 -11
  35. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  36. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  37. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  38. package/fesm2022/ngx-tethys-autocomplete.mjs +19 -18
  39. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  40. package/fesm2022/ngx-tethys-avatar.mjs +23 -22
  41. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  42. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  43. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  44. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  45. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  46. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  47. package/fesm2022/ngx-tethys-button.mjs +16 -16
  48. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  49. package/fesm2022/ngx-tethys-calendar.mjs +16 -16
  50. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  51. package/fesm2022/ngx-tethys-card.mjs +13 -13
  52. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  53. package/fesm2022/ngx-tethys-carousel.mjs +15 -15
  54. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  55. package/fesm2022/ngx-tethys-cascader.mjs +41 -34
  56. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  57. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  58. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  59. package/fesm2022/ngx-tethys-color-picker.mjs +65 -57
  60. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  61. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  62. package/fesm2022/ngx-tethys-copy.mjs +10 -10
  63. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  64. package/fesm2022/ngx-tethys-core.mjs +30 -25
  65. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  66. package/fesm2022/ngx-tethys-date-picker.mjs +184 -174
  67. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  68. package/fesm2022/ngx-tethys-date-range.mjs +16 -16
  69. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  70. package/fesm2022/ngx-tethys-dialog.mjs +24 -24
  71. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  72. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  73. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  74. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  75. package/fesm2022/ngx-tethys-drag-drop.mjs +24 -24
  76. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-dropdown.mjs +48 -47
  78. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  79. package/fesm2022/ngx-tethys-empty.mjs +13 -13
  80. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  81. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  82. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  83. package/fesm2022/ngx-tethys-form.mjs +64 -61
  84. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  85. package/fesm2022/ngx-tethys-fullscreen.mjs +18 -15
  86. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-grid.mjs +34 -33
  88. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  89. package/fesm2022/ngx-tethys-guider.mjs +25 -24
  90. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  91. package/fesm2022/ngx-tethys-i18n.mjs +3 -3
  92. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  93. package/fesm2022/ngx-tethys-icon.mjs +15 -13
  94. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  95. package/fesm2022/ngx-tethys-image.mjs +31 -29
  96. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  97. package/fesm2022/ngx-tethys-input-number.mjs +17 -10
  98. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  99. package/fesm2022/ngx-tethys-input.mjs +28 -27
  100. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-layout.mjs +63 -63
  102. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  103. package/fesm2022/ngx-tethys-list.mjs +21 -18
  104. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  105. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  106. package/fesm2022/ngx-tethys-mention.mjs +35 -31
  107. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  108. package/fesm2022/ngx-tethys-menu.mjs +26 -26
  109. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  110. package/fesm2022/ngx-tethys-message.mjs +24 -24
  111. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  112. package/fesm2022/ngx-tethys-nav.mjs +27 -27
  113. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  114. package/fesm2022/ngx-tethys-notify.mjs +20 -20
  115. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  116. package/fesm2022/ngx-tethys-pagination.mjs +18 -18
  117. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  118. package/fesm2022/ngx-tethys-popover.mjs +22 -21
  119. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  120. package/fesm2022/ngx-tethys-progress.mjs +17 -17
  121. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  122. package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
  123. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  124. package/fesm2022/ngx-tethys-property.mjs +12 -11
  125. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  126. package/fesm2022/ngx-tethys-radio.mjs +17 -17
  127. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  128. package/fesm2022/ngx-tethys-rate.mjs +12 -12
  129. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  130. package/fesm2022/ngx-tethys-resizable.mjs +21 -18
  131. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  132. package/fesm2022/ngx-tethys-result.mjs +11 -11
  133. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  134. package/fesm2022/ngx-tethys-segment.mjs +19 -16
  135. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  136. package/fesm2022/ngx-tethys-select.mjs +60 -38
  137. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  138. package/fesm2022/ngx-tethys-shared.mjs +82 -79
  139. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  140. package/fesm2022/ngx-tethys-skeleton.mjs +32 -32
  141. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  142. package/fesm2022/ngx-tethys-slide.mjs +37 -36
  143. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  144. package/fesm2022/ngx-tethys-slider.mjs +11 -11
  145. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  146. package/fesm2022/ngx-tethys-space.mjs +10 -10
  147. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  148. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  149. package/fesm2022/ngx-tethys-stepper.mjs +22 -22
  150. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  151. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  152. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  153. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  154. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  155. package/fesm2022/ngx-tethys-table.mjs +28 -28
  156. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  157. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  158. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  159. package/fesm2022/ngx-tethys-tag.mjs +11 -11
  160. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  161. package/fesm2022/ngx-tethys-testing.mjs +1 -1
  162. package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
  163. package/fesm2022/ngx-tethys-time-picker.mjs +22 -22
  164. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  165. package/fesm2022/ngx-tethys-timeline.mjs +14 -14
  166. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  167. package/fesm2022/ngx-tethys-tooltip.mjs +19 -16
  168. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  169. package/fesm2022/ngx-tethys-transfer.mjs +15 -15
  170. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  171. package/fesm2022/ngx-tethys-tree-select.mjs +17 -17
  172. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  173. package/fesm2022/ngx-tethys-tree.mjs +50 -43
  174. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  175. package/fesm2022/ngx-tethys-typography.mjs +16 -16
  176. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  177. package/fesm2022/ngx-tethys-upload.mjs +26 -25
  178. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  179. package/fesm2022/ngx-tethys-util.mjs +11 -5
  180. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  181. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  182. package/fesm2022/ngx-tethys-watermark.mjs +18 -15
  183. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys.mjs +1 -1
  185. package/fesm2022/ngx-tethys.mjs.map +1 -1
  186. package/flexible-text/index.d.ts +5 -5
  187. package/form/index.d.ts +26 -22
  188. package/fullscreen/index.d.ts +4 -4
  189. package/grid/index.d.ts +12 -12
  190. package/guider/index.d.ts +10 -10
  191. package/i18n/index.d.ts +1 -1
  192. package/icon/index.d.ts +3 -3
  193. package/image/index.d.ts +12 -12
  194. package/input/index.d.ts +22 -22
  195. package/input-number/index.d.ts +4 -4
  196. package/layout/index.d.ts +16 -16
  197. package/list/index.d.ts +16 -15
  198. package/mention/index.d.ts +4 -4
  199. package/menu/index.d.ts +7 -7
  200. package/message/index.d.ts +5 -5
  201. package/nav/index.d.ts +12 -12
  202. package/notify/index.d.ts +1 -1
  203. package/package.json +1 -1
  204. package/pagination/index.d.ts +21 -17
  205. package/popover/index.d.ts +8 -8
  206. package/progress/index.d.ts +18 -18
  207. package/property/index.d.ts +6 -6
  208. package/property-operation/index.d.ts +3 -3
  209. package/radio/index.d.ts +6 -6
  210. package/rate/index.d.ts +5 -5
  211. package/resizable/index.d.ts +2 -2
  212. package/result/index.d.ts +8 -8
  213. package/schematics/testing/test-workspace.js +1 -0
  214. package/schematics/version.d.ts +1 -1
  215. package/schematics/version.js +1 -1
  216. package/segment/index.d.ts +9 -9
  217. package/select/index.d.ts +21 -21
  218. package/shared/index.d.ts +29 -29
  219. package/skeleton/index.d.ts +52 -52
  220. package/slide/index.d.ts +5 -5
  221. package/slider/index.d.ts +6 -6
  222. package/space/index.d.ts +1 -1
  223. package/statistic/index.d.ts +18 -18
  224. package/stepper/index.d.ts +8 -8
  225. package/switch/index.d.ts +2 -2
  226. package/table/index.d.ts +24 -24
  227. package/tabs/index.d.ts +6 -6
  228. package/testing/index.d.ts +1 -1
  229. package/time-picker/index.d.ts +21 -21
  230. package/timeline/index.d.ts +8 -8
  231. package/tooltip/index.d.ts +12 -12
  232. package/transfer/index.d.ts +16 -16
  233. package/tree/index.d.ts +28 -28
  234. package/tree-select/index.d.ts +13 -13
  235. package/typography/index.d.ts +3 -3
  236. package/upload/index.d.ts +4 -4
  237. package/util/index.d.ts +17 -7
  238. package/vote/index.d.ts +2 -2
  239. 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 = this.config.drawerContainer && document.querySelector(this.config.drawerContainer);
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.14", ngImport: i0, type: ThySlideContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", 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] }); }
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.14", ngImport: i0, type: ThySlideContainer, decorators: [{
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.14", ngImport: i0, type: ThyInternalSlideRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
276
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyInternalSlideRef }); }
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.14", ngImport: i0, type: ThyInternalSlideRef, decorators: [{
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.14", ngImport: i0, type: ThySlideService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
370
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThySlideService }); }
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.14", ngImport: i0, type: ThySlideService, decorators: [{
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.14", ngImport: i0, type: ThySlideLayout, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
386
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", 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 }); }
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.14", ngImport: i0, type: ThySlideLayout, decorators: [{
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(undefined, ...(ngDevMode ? [{ debugName: "thyTitle" }] : []));
412
+ this.thyTitle = input(...(ngDevMode ? [undefined, { debugName: "thyTitle" }] : []));
412
413
  /**
413
414
  * 标题的图标
414
415
  */
415
- this.thyIcon = input(undefined, ...(ngDevMode ? [{ debugName: "thyIcon" }] : []));
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.14", ngImport: i0, type: ThySlideHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
434
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", 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"] }] }); }
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.14", ngImport: i0, type: ThySlideHeader, decorators: [{
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.14", ngImport: i0, type: ThySlideBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
452
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", 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 }); }
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.14", ngImport: i0, type: ThySlideBody, decorators: [{
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.14", ngImport: i0, type: ThySlideBodySection, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
479
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", 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 }); }
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.14", ngImport: i0, type: ThySlideBodySection, decorators: [{
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.14", ngImport: i0, type: ThySlideFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
503
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", 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 }); }
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.14", ngImport: i0, type: ThySlideFooter, decorators: [{
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.14", ngImport: i0, type: ThyDrawerContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
525
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: ThyDrawerContainerDirective, isStandalone: true, selector: "[thyDrawerContainer]", ngImport: i0 }); }
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.14", ngImport: i0, type: ThyDrawerContainerDirective, decorators: [{
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.14", ngImport: i0, type: ThySlideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
536
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: ThySlideModule, imports: [CommonModule,
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.14", ngImport: i0, type: ThySlideModule, providers: [ThyInternalSlideRef, ThySlideService, THY_SLIDE_DEFAULT_CONFIG_PROVIDER], imports: [CommonModule,
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.14", ngImport: i0, type: ThySlideModule, decorators: [{
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', ...(ngDevMode ? [{ debugName: "sliderRail" }] : []));
38
- this.sliderTrack = viewChild('sliderTrack', ...(ngDevMode ? [{ debugName: "sliderTrack" }] : []));
39
- this.sliderPointer = viewChild('sliderPointer', ...(ngDevMode ? [{ debugName: "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(null));
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.14", ngImport: i0, type: ThySlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
271
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.14", 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: [
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.14", ngImport: i0, type: ThySlider, decorators: [{
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.14", ngImport: i0, type: ThySliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
317
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: ThySliderModule, imports: [CommonModule, FormsModule, ThySlider], exports: [ThySlider] }); }
318
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThySliderModule, imports: [CommonModule, FormsModule] }); }
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.14", ngImport: i0, type: ThySliderModule, decorators: [{
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],