@ng-nest/ui 21.0.12 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  2. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  3. package/fesm2022/ng-nest-ui-alert.mjs +46 -34
  4. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  5. package/fesm2022/ng-nest-ui-anchor.mjs +43 -31
  6. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  7. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  8. package/fesm2022/ng-nest-ui-attachments.mjs +74 -48
  9. package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
  10. package/fesm2022/ng-nest-ui-auto-complete.mjs +114 -70
  11. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-avatar.mjs +47 -32
  13. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-back-top.mjs +23 -18
  15. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-badge.mjs +30 -23
  17. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-base-form.mjs +75 -44
  19. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-bubble.mjs +76 -48
  21. package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-button.mjs +53 -42
  23. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-calendar.mjs +30 -20
  25. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-card.mjs +21 -16
  27. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-carousel.mjs +68 -46
  29. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-cascade.mjs +121 -73
  31. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-checkbox.mjs +54 -38
  33. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-collapse.mjs +38 -30
  35. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-color-picker.mjs +119 -72
  37. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-color.mjs +22 -16
  39. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-comment.mjs +23 -21
  41. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-container.mjs +40 -37
  43. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-contextmenu.mjs +71 -45
  45. package/fesm2022/ng-nest-ui-contextmenu.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-core.mjs +24 -21
  47. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-coversations.mjs +25 -18
  49. package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-crumb.mjs +15 -13
  51. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-date-picker.mjs +425 -256
  53. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-description.mjs +42 -31
  55. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-dialog.mjs +106 -82
  57. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-divider.mjs +24 -17
  59. package/fesm2022/ng-nest-ui-divider.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  62. package/fesm2022/ng-nest-ui-drawer.mjs +52 -43
  63. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-dropdown.mjs +94 -58
  65. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-empty.mjs +14 -12
  67. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  69. package/fesm2022/ng-nest-ui-find.mjs +111 -71
  70. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  71. package/fesm2022/ng-nest-ui-form.mjs +45 -33
  72. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  73. package/fesm2022/ng-nest-ui-highlight.mjs +26 -20
  74. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  75. package/fesm2022/ng-nest-ui-i18n.mjs +16 -15
  76. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  77. package/fesm2022/ng-nest-ui-icon.mjs +28 -21
  78. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  79. package/fesm2022/ng-nest-ui-image.mjs +57 -51
  80. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  81. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  82. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  83. package/fesm2022/ng-nest-ui-input-number.mjs +63 -42
  84. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  85. package/fesm2022/ng-nest-ui-input.mjs +130 -85
  86. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  87. package/fesm2022/ng-nest-ui-keyword.mjs +19 -15
  88. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  89. package/fesm2022/ng-nest-ui-layout.mjs +37 -31
  90. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  91. package/fesm2022/ng-nest-ui-link.mjs +23 -18
  92. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  93. package/fesm2022/ng-nest-ui-list.mjs +137 -89
  94. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  95. package/fesm2022/ng-nest-ui-loading.mjs +36 -25
  96. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  97. package/fesm2022/ng-nest-ui-menu.mjs +68 -45
  98. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  99. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  100. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  101. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  102. package/fesm2022/ng-nest-ui-outlet.mjs +11 -9
  103. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-page-header.mjs +20 -15
  105. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-pagination.mjs +69 -48
  107. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  109. package/fesm2022/ng-nest-ui-popconfirm.mjs +40 -27
  110. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  111. package/fesm2022/ng-nest-ui-popover.mjs +57 -38
  112. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  113. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  114. package/fesm2022/ng-nest-ui-progress.mjs +60 -41
  115. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-prompts.mjs +18 -15
  117. package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-radio.mjs +50 -35
  119. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-rate.mjs +43 -29
  121. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-resizable.mjs +18 -16
  123. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-result.mjs +22 -16
  125. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-ripple.mjs +14 -13
  127. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-scrollable.mjs +41 -24
  129. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-select.mjs +196 -117
  131. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-sender.mjs +43 -31
  133. package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-skeleton.mjs +17 -15
  135. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-slider-select.mjs +85 -53
  137. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-slider.mjs +58 -37
  139. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-splitter.mjs +32 -24
  141. package/fesm2022/ng-nest-ui-splitter.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-statistic.mjs +44 -30
  143. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-steps.mjs +30 -22
  145. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-suggestion.mjs +23 -20
  147. package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-switch.mjs +35 -25
  149. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-table-view.mjs +78 -69
  151. package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-table.mjs +320 -205
  153. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-tabs.mjs +74 -56
  155. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-tag.mjs +30 -23
  157. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-text-retract.mjs +19 -15
  159. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-textarea.mjs +69 -44
  161. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-theme.mjs +34 -23
  163. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-thought-chain.mjs +26 -19
  165. package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  167. package/fesm2022/ng-nest-ui-time-picker.mjs +164 -96
  168. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  169. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  170. package/fesm2022/ng-nest-ui-timeline.mjs +26 -19
  171. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-tooltip.mjs +53 -35
  173. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-transfer.mjs +66 -40
  175. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tree-file.mjs +39 -28
  177. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tree-select.mjs +186 -111
  179. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-tree.mjs +166 -105
  181. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-typography.mjs +16 -13
  183. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-upload.mjs +81 -53
  185. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui-watermark.mjs +44 -34
  187. package/fesm2022/ng-nest-ui-watermark.mjs.map +1 -1
  188. package/fesm2022/ng-nest-ui-welcome.mjs +22 -16
  189. package/fesm2022/ng-nest-ui-welcome.mjs.map +1 -1
  190. package/package.json +3 -2
  191. package/types/ng-nest-ui-base-form.d.ts +3 -3
  192. package/types/ng-nest-ui-carousel.d.ts +1 -1
  193. package/types/ng-nest-ui-container.d.ts +1 -1
  194. package/types/ng-nest-ui-core.d.ts +1 -1
  195. package/types/ng-nest-ui-dialog.d.ts +1 -1
  196. package/types/ng-nest-ui-drawer.d.ts +1 -1
  197. package/types/ng-nest-ui-form.d.ts +12 -12
  198. package/types/ng-nest-ui-layout.d.ts +1 -1
  199. package/types/ng-nest-ui-list.d.ts +1 -1
  200. package/types/ng-nest-ui-portal.d.ts +3 -3
  201. package/types/ng-nest-ui-table-view.d.ts +1 -1
  202. package/types/ng-nest-ui-table.d.ts +1 -1
  203. package/types/ng-nest-ui-tabs.d.ts +1 -1
  204. package/types/ng-nest-ui-tree.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-watermark.mjs","sources":["../../../../lib/ng-nest/ui/watermark/watermark.property.ts","../../../../lib/ng-nest/ui/watermark/watermark.component.ts","../../../../lib/ng-nest/ui/watermark/watermark.component.html","../../../../lib/ng-nest/ui/watermark/watermark.module.ts","../../../../lib/ng-nest/ui/watermark/ng-nest-ui-watermark.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XToNumber, XToBoolean, XPropertyFunction } from '@ng-nest/ui/core';\r\nimport type { XNumber, XBoolean } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Watermark\r\n * @selector x-watermark\r\n * @decorator component\r\n */\r\nexport const XWatermarkPrefix = 'x-watermark';\r\nconst X_WATERMARK_CONFIG_NAME = 'watermark';\r\n\r\n/**\r\n * Watermark Property\r\n */\r\n@Component({ selector: `${XWatermarkPrefix}-property`, template: '' })\r\nexport class XWatermarkProperty extends XPropertyFunction(X_WATERMARK_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 水印内容\r\n * @en_US Watermark content\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark content=\"NG-NEST\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly content = input<string>('');\r\n /**\r\n * @zh_CN 水印宽度\r\n * @en_US Watermark width\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [width]=\"120\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly width = input<number, XNumber>(this.config?.width ?? 120, { transform: XToNumber });\r\n /**\r\n * @zh_CN 水印高度\r\n * @en_US Watermark height\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [height]=\"60\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly height = input<number, XNumber>(this.config?.height ?? 60, { transform: XToNumber });\r\n /**\r\n * @zh_CN 旋转角度\r\n * @en_US Rotation angle\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [rotate]=\"-22\"></x-watermark>\r\n * <x-watermark [rotate]=\"0\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly rotate = input<number, XNumber>(this.config?.rotate ?? -22, { transform: XToNumber });\r\n /**\r\n * @zh_CN 字体大小\r\n * @en_US Font size\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [fontSize]=\"14\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly fontSize = input<number, XNumber>(this.config?.fontSize ?? 14, { transform: XToNumber });\r\n /**\r\n * @zh_CN 字体\r\n * @en_US Font family\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark fontFamily=\"Varela Round\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly fontFamily = input<string>(this.config?.fontFamily ?? 'Varela Round');\r\n /**\r\n * @zh_CN 字体颜色\r\n * @en_US Font color\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark color=\"rgba(0, 0, 0, 0.12)\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly color = input<string>(this.config?.color ?? 'rgba(0, 0, 0, 0.12)');\r\n /**\r\n * @zh_CN 层级\r\n * @en_US Z-index\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [zIndex]=\"9999\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly zIndex = input<number, XNumber>(this.config?.zIndex ?? 9999, { transform: XToNumber });\r\n /**\r\n * @zh_CN 透明度\r\n * @en_US Opacity\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [alpha]=\"1\"></x-watermark>\r\n * <x-watermark [alpha]=\"0.5\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly alpha = input<number, XNumber>(this.config?.alpha ?? 1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 水平间距\r\n * @en_US Horizontal gap\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [gapX]=\"100\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly gapX = input<number, XNumber>(this.config?.gapX ?? 100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 垂直间距\r\n * @en_US Vertical gap\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [gapY]=\"100\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly gapY = input<number, XNumber>(this.config?.gapY ?? 100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 水平偏移\r\n * @en_US Horizontal offset\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [offsetLeft]=\"0\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly offsetLeft = input<number, XNumber>(this.config?.offsetLeft ?? 0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 垂直偏移\r\n * @en_US Vertical offset\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [offsetTop]=\"0\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly offsetTop = input<number, XNumber>(this.config?.offsetTop ?? 0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 是否交错显示\r\n * @en_US Whether to stagger display\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [striped]=\"true\"></x-watermark>\r\n * <x-watermark [striped]=\"false\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly striped = input<boolean, XBoolean>(this.config?.striped ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否禁用\r\n * @en_US Whether to disable\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [disabled]=\"true\"></x-watermark>\r\n * <x-watermark [disabled]=\"false\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly disabled = input<boolean, XBoolean>(this.config?.disabled ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 图片/图标 URL\r\n * @en_US Image/icon URL\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark imageSrc=\"/assets/logo.png\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly imageSrc = input<string>('');\r\n /**\r\n * @zh_CN 图片宽度\r\n * @en_US Image width\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [imageWidth]=\"40\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly imageWidth = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 图片高度\r\n * @en_US Image height\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [imageHeight]=\"40\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly imageHeight = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 图片相对文本的位置\r\n * @en_US Image position relative to text\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark imagePosition=\"top\"></x-watermark>\r\n * <x-watermark imagePosition=\"center\"></x-watermark>\r\n * <x-watermark imagePosition=\"bottom\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly imagePosition = input<XWatermarkImagePosition>('center');\r\n}\r\n\r\n/**\r\n * @zh_CN 图片相对文本的位置\r\n * @en_US Image position relative to text\r\n */\r\nexport type XWatermarkImagePosition = 'top' | 'center' | 'bottom';\r\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n computed,\n signal,\n AfterViewInit,\n OnDestroy\n} from '@angular/core';\nimport { XWatermarkProperty, XWatermarkPrefix } from './watermark.property';\n\n@Component({\n selector: XWatermarkPrefix,\n imports: [],\n templateUrl: './watermark.component.html',\n styleUrls: ['./watermark.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class XWatermarkComponent extends XWatermarkProperty implements AfterViewInit, OnDestroy {\n backgroundImage = signal<string>('');\n\n private font = computed(() => {\n return `${this.fontSize()}px ${this.fontFamily()}`;\n });\n\n private textWidth = computed(() => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.font = this.font();\n return ctx.measureText(this.content()).width;\n }\n return this.width();\n });\n\n watermarkWidth = computed(() => {\n const imgW = this.imageSrc() && this.imageWidth() ? this.imageWidth() : this.textWidth();\n return Math.max(imgW, this.textWidth()) + this.gapX();\n });\n \n watermarkHeight = computed(() => {\n const imgH = this.imageSrc() && this.imageHeight() ? this.imageHeight() : this.height();\n return Math.max(imgH, this.height()) + this.gapY();\n });\n\n constructor() {\n super();\n }\n\n ngAfterViewInit() {\n this.createWatermark();\n }\n\n ngOnDestroy() {}\n\n private createWatermark() {\n if (this.imageSrc()) {\n this.drawWatermarkWithImage();\n } else {\n this.drawWatermarkText();\n }\n }\n\n private loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.src = src;\n });\n }\n\n private async drawWatermarkWithImage() {\n const w = this.watermarkWidth();\n const h = this.watermarkHeight();\n const canvas = document.createElement('canvas');\n canvas.width = w;\n canvas.height = h;\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n try {\n const img = await this.loadImage(this.imageSrc());\n const imgW = this.imageWidth() || this.width();\n const imgH = this.imageHeight() || this.height();\n \n ctx.save();\n ctx.rotate((this.rotate() * Math.PI) / 180);\n ctx.globalAlpha = this.alpha();\n \n // 绘制图片\n const imgX = (w - imgW) / 2;\n const imgY = (h - imgH) / 2;\n ctx.drawImage(img, imgX, imgY, imgW, imgH);\n \n // 绘制文本\n if (this.content()) {\n ctx.font = this.font();\n ctx.fillStyle = this.color();\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n \n let textY = h / 2;\n if (this.imagePosition() === 'top') {\n textY = imgY - 10;\n } else if (this.imagePosition() === 'bottom') {\n textY = imgY + imgH + 10;\n }\n \n ctx.fillText(this.content(), w / 2, textY);\n }\n \n ctx.restore();\n this.backgroundImage.set(canvas.toDataURL());\n } catch {\n // 图片加载失败,降级为纯文本\n this.drawWatermarkText();\n }\n }\n\n private drawWatermarkText() {\n const w = this.watermarkWidth();\n const h = this.watermarkHeight();\n\n const canvas = document.createElement('canvas');\n canvas.width = w;\n canvas.height = h;\n\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n ctx.save();\n ctx.rotate((this.rotate() * Math.PI) / 180);\n ctx.font = this.font();\n ctx.fillStyle = this.color();\n ctx.globalAlpha = this.alpha();\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(this.content(), w / 2, h / 2);\n ctx.restore();\n\n const dataUrl = canvas.toDataURL();\n this.backgroundImage.set(dataUrl);\n }\n}\n","<div\n class=\"x-watermark\"\n [class.x-watermark-disabled]=\"disabled()\"\n [style.z-index]=\"zIndex()\"\n [style.background-image]=\"backgroundImage() ? 'url(' + backgroundImage() + ')' : 'none'\"\n [style.background-repeat]=\"'repeat'\"\n [style.background-size]=\"watermarkWidth() + 'px ' + watermarkHeight() + 'px'\"\n [style.background-position]=\"offsetLeft() + 'px ' + offsetTop() + 'px'\"\n>\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { XWatermarkComponent } from './watermark.component';\n\n@NgModule({\n exports: [XWatermarkComponent],\n imports: [XWatermarkComponent]\n})\nexport class XWatermarkModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-watermark.mjs","sources":["../../../../lib/ng-nest/ui/watermark/watermark.property.ts","../../../../lib/ng-nest/ui/watermark/watermark.component.ts","../../../../lib/ng-nest/ui/watermark/watermark.component.html","../../../../lib/ng-nest/ui/watermark/watermark.module.ts","../../../../lib/ng-nest/ui/watermark/ng-nest-ui-watermark.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XToNumber, XToBoolean, XPropertyFunction } from '@ng-nest/ui/core';\r\nimport type { XNumber, XBoolean } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Watermark\r\n * @selector x-watermark\r\n * @decorator component\r\n */\r\nexport const XWatermarkPrefix = 'x-watermark';\r\nconst X_WATERMARK_CONFIG_NAME = 'watermark';\r\n\r\n/**\r\n * Watermark Property\r\n */\r\n@Component({ selector: `${XWatermarkPrefix}-property`, template: '' })\r\nexport class XWatermarkProperty extends XPropertyFunction(X_WATERMARK_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 水印内容\r\n * @en_US Watermark content\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark content=\"NG-NEST\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly content = input<string>('');\r\n /**\r\n * @zh_CN 水印宽度\r\n * @en_US Watermark width\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [width]=\"120\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly width = input<number, XNumber>(this.config?.width ?? 120, { transform: XToNumber });\r\n /**\r\n * @zh_CN 水印高度\r\n * @en_US Watermark height\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [height]=\"60\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly height = input<number, XNumber>(this.config?.height ?? 60, { transform: XToNumber });\r\n /**\r\n * @zh_CN 旋转角度\r\n * @en_US Rotation angle\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [rotate]=\"-22\"></x-watermark>\r\n * <x-watermark [rotate]=\"0\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly rotate = input<number, XNumber>(this.config?.rotate ?? -22, { transform: XToNumber });\r\n /**\r\n * @zh_CN 字体大小\r\n * @en_US Font size\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [fontSize]=\"14\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly fontSize = input<number, XNumber>(this.config?.fontSize ?? 14, { transform: XToNumber });\r\n /**\r\n * @zh_CN 字体\r\n * @en_US Font family\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark fontFamily=\"Varela Round\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly fontFamily = input<string>(this.config?.fontFamily ?? 'Varela Round');\r\n /**\r\n * @zh_CN 字体颜色\r\n * @en_US Font color\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark color=\"rgba(0, 0, 0, 0.12)\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly color = input<string>(this.config?.color ?? 'rgba(0, 0, 0, 0.12)');\r\n /**\r\n * @zh_CN 层级\r\n * @en_US Z-index\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [zIndex]=\"9999\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly zIndex = input<number, XNumber>(this.config?.zIndex ?? 9999, { transform: XToNumber });\r\n /**\r\n * @zh_CN 透明度\r\n * @en_US Opacity\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [alpha]=\"1\"></x-watermark>\r\n * <x-watermark [alpha]=\"0.5\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly alpha = input<number, XNumber>(this.config?.alpha ?? 1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 水平间距\r\n * @en_US Horizontal gap\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [gapX]=\"100\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly gapX = input<number, XNumber>(this.config?.gapX ?? 100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 垂直间距\r\n * @en_US Vertical gap\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [gapY]=\"100\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly gapY = input<number, XNumber>(this.config?.gapY ?? 100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 水平偏移\r\n * @en_US Horizontal offset\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [offsetLeft]=\"0\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly offsetLeft = input<number, XNumber>(this.config?.offsetLeft ?? 0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 垂直偏移\r\n * @en_US Vertical offset\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [offsetTop]=\"0\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly offsetTop = input<number, XNumber>(this.config?.offsetTop ?? 0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 是否交错显示\r\n * @en_US Whether to stagger display\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [striped]=\"true\"></x-watermark>\r\n * <x-watermark [striped]=\"false\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly striped = input<boolean, XBoolean>(this.config?.striped ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否禁用\r\n * @en_US Whether to disable\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [disabled]=\"true\"></x-watermark>\r\n * <x-watermark [disabled]=\"false\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly disabled = input<boolean, XBoolean>(this.config?.disabled ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 图片/图标 URL\r\n * @en_US Image/icon URL\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark imageSrc=\"/assets/logo.png\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly imageSrc = input<string>('');\r\n /**\r\n * @zh_CN 图片宽度\r\n * @en_US Image width\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [imageWidth]=\"40\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly imageWidth = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 图片高度\r\n * @en_US Image height\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark [imageHeight]=\"40\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly imageHeight = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 图片相对文本的位置\r\n * @en_US Image position relative to text\r\n * @example\r\n *\r\n * ```html\r\n * <x-watermark imagePosition=\"top\"></x-watermark>\r\n * <x-watermark imagePosition=\"center\"></x-watermark>\r\n * <x-watermark imagePosition=\"bottom\"></x-watermark>\r\n * ```\r\n *\r\n */\r\n readonly imagePosition = input<XWatermarkImagePosition>('center');\r\n}\r\n\r\n/**\r\n * @zh_CN 图片相对文本的位置\r\n * @en_US Image position relative to text\r\n */\r\nexport type XWatermarkImagePosition = 'top' | 'center' | 'bottom';\r\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n computed,\n signal,\n AfterViewInit,\n OnDestroy\n} from '@angular/core';\nimport { XWatermarkProperty, XWatermarkPrefix } from './watermark.property';\n\n@Component({\n selector: XWatermarkPrefix,\n imports: [],\n templateUrl: './watermark.component.html',\n styleUrls: ['./watermark.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class XWatermarkComponent extends XWatermarkProperty implements AfterViewInit, OnDestroy {\n backgroundImage = signal<string>('');\n\n private font = computed(() => {\n return `${this.fontSize()}px ${this.fontFamily()}`;\n });\n\n private textWidth = computed(() => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.font = this.font();\n return ctx.measureText(this.content()).width;\n }\n return this.width();\n });\n\n watermarkWidth = computed(() => {\n const imgW = this.imageSrc() && this.imageWidth() ? this.imageWidth() : this.textWidth();\n return Math.max(imgW, this.textWidth()) + this.gapX();\n });\n \n watermarkHeight = computed(() => {\n const imgH = this.imageSrc() && this.imageHeight() ? this.imageHeight() : this.height();\n return Math.max(imgH, this.height()) + this.gapY();\n });\n\n constructor() {\n super();\n }\n\n ngAfterViewInit() {\n this.createWatermark();\n }\n\n ngOnDestroy() {}\n\n private createWatermark() {\n if (this.imageSrc()) {\n this.drawWatermarkWithImage();\n } else {\n this.drawWatermarkText();\n }\n }\n\n private loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.src = src;\n });\n }\n\n private async drawWatermarkWithImage() {\n const w = this.watermarkWidth();\n const h = this.watermarkHeight();\n const canvas = document.createElement('canvas');\n canvas.width = w;\n canvas.height = h;\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n try {\n const img = await this.loadImage(this.imageSrc());\n const imgW = this.imageWidth() || this.width();\n const imgH = this.imageHeight() || this.height();\n \n ctx.save();\n ctx.rotate((this.rotate() * Math.PI) / 180);\n ctx.globalAlpha = this.alpha();\n \n // 绘制图片\n const imgX = (w - imgW) / 2;\n const imgY = (h - imgH) / 2;\n ctx.drawImage(img, imgX, imgY, imgW, imgH);\n \n // 绘制文本\n if (this.content()) {\n ctx.font = this.font();\n ctx.fillStyle = this.color();\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n \n let textY = h / 2;\n if (this.imagePosition() === 'top') {\n textY = imgY - 10;\n } else if (this.imagePosition() === 'bottom') {\n textY = imgY + imgH + 10;\n }\n \n ctx.fillText(this.content(), w / 2, textY);\n }\n \n ctx.restore();\n this.backgroundImage.set(canvas.toDataURL());\n } catch {\n // 图片加载失败,降级为纯文本\n this.drawWatermarkText();\n }\n }\n\n private drawWatermarkText() {\n const w = this.watermarkWidth();\n const h = this.watermarkHeight();\n\n const canvas = document.createElement('canvas');\n canvas.width = w;\n canvas.height = h;\n\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n ctx.save();\n ctx.rotate((this.rotate() * Math.PI) / 180);\n ctx.font = this.font();\n ctx.fillStyle = this.color();\n ctx.globalAlpha = this.alpha();\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillText(this.content(), w / 2, h / 2);\n ctx.restore();\n\n const dataUrl = canvas.toDataURL();\n this.backgroundImage.set(dataUrl);\n }\n}\n","<div\n class=\"x-watermark\"\n [class.x-watermark-disabled]=\"disabled()\"\n [style.z-index]=\"zIndex()\"\n [style.background-image]=\"backgroundImage() ? 'url(' + backgroundImage() + ')' : 'none'\"\n [style.background-repeat]=\"'repeat'\"\n [style.background-size]=\"watermarkWidth() + 'px ' + watermarkHeight() + 'px'\"\n [style.background-position]=\"offsetLeft() + 'px ' + offsetTop() + 'px'\"\n>\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { XWatermarkComponent } from './watermark.component';\n\n@NgModule({\n exports: [XWatermarkComponent],\n imports: [XWatermarkComponent]\n})\nexport class XWatermarkModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -20,32 +20,37 @@ class XWelcomeProperty extends XPropertyFunction(X_WELCOME_CONFIG_NAME) {
20
20
  * @zh_CN 显示图标,支持自定义模板
21
21
  * @en_US Display icon, support custom template
22
22
  */
23
- this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
23
+ this.icon = input(/* @ts-ignore */
24
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
24
25
  /**
25
26
  * @zh_CN 显示标题,支持自定义模板
26
27
  * @en_US Display title, support custom template
27
28
  */
28
- this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
29
+ this.title = input(/* @ts-ignore */
30
+ ...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
29
31
  /**
30
32
  * @zh_CN 描述文字,支持自定义模板
31
33
  * @en_US Display text
32
34
  */
33
- this.description = input(...(ngDevMode ? [undefined, { debugName: "description" }] : []));
35
+ this.description = input(/* @ts-ignore */
36
+ ...(ngDevMode ? [undefined, { debugName: "description" }] : /* istanbul ignore next */ []));
34
37
  /**
35
38
  * @zh_CN 形态变体
36
39
  * @en_US Variant
37
40
  */
38
- this.variant = input(this.config?.variant ?? 'outlined', ...(ngDevMode ? [{ debugName: "variant" }] : []));
41
+ this.variant = input(this.config?.variant ?? 'outlined', /* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
39
43
  /**
40
44
  * @zh_CN 自定义样式
41
45
  * @en_US Custom style
42
46
  */
43
- this.style = input(...(ngDevMode ? [undefined, { debugName: "style" }] : []));
47
+ this.style = input(/* @ts-ignore */
48
+ ...(ngDevMode ? [undefined, { debugName: "style" }] : /* istanbul ignore next */ []));
44
49
  }
45
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XWelcomeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
46
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XWelcomeProperty, isStandalone: true, selector: "x-welcome-property", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XWelcomeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
51
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XWelcomeProperty, isStandalone: true, selector: "x-welcome-property", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
47
52
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XWelcomeProperty, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XWelcomeProperty, decorators: [{
49
54
  type: Component,
50
55
  args: [{ selector: `${XWelcomePrefix}-property`, template: '' }]
51
56
  }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }] } });
@@ -53,22 +58,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
53
58
  class XWelcomeComponent extends XWelcomeProperty {
54
59
  constructor() {
55
60
  super(...arguments);
56
- this.isStringIcon = computed(() => XIsString(this.icon()), ...(ngDevMode ? [{ debugName: "isStringIcon" }] : []));
61
+ this.isStringIcon = computed(() => XIsString(this.icon()), /* @ts-ignore */
62
+ ...(ngDevMode ? [{ debugName: "isStringIcon" }] : /* istanbul ignore next */ []));
57
63
  }
58
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XWelcomeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
59
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: XWelcomeComponent, isStandalone: true, selector: "x-welcome", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-welcome\"\r\n [class.x-welcome-outlined]=\"variant() === 'outlined'\"\r\n [class.x-welcome-filled]=\"variant() === 'filled'\"\r\n [class.x-welcome-borderless]=\"variant() === 'borderless'\"\r\n [style]=\"style()\"\r\n>\r\n <div class=\"x-welcome-icon\">\r\n @if (isStringIcon()) {\r\n <img alt=\"icon\" [src]=\"icon()\" />\r\n } @else {\r\n <ng-container *xOutlet=\"icon()!\"></ng-container>\r\n }\r\n </div>\r\n <div class=\"x-welcome-wrapper\">\r\n <span class=\"x-welcome-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </span>\r\n <p class=\"x-welcome-description\">\r\n <ng-container *xOutlet=\"description()\">{{ description() }}</ng-container>\r\n </p>\r\n </div>\r\n</div>\r\n", styles: [".x-welcome{margin:0;padding:0}.x-welcome{width:100%;display:flex;gap:1rem;padding:1rem;border:var(--x-border-width) solid transparent;border-radius:var(--x-border-radius)}.x-welcome-icon img{max-width:6rem}.x-welcome-wrapper{flex:1;display:flex;flex-direction:column;gap:.5rem}.x-welcome-title{margin:0;font-size:var(--x-font-size-large)}.x-welcome-outlined{border-color:var(--x-border)}.x-welcome-filled{background-color:var(--x-background-a200);border-color:var(--x-background-a200)}.x-welcome-borderless{border-color:transparent}\n"], dependencies: [{ kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
64
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XWelcomeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
65
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: XWelcomeComponent, isStandalone: true, selector: "x-welcome", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-welcome\"\r\n [class.x-welcome-outlined]=\"variant() === 'outlined'\"\r\n [class.x-welcome-filled]=\"variant() === 'filled'\"\r\n [class.x-welcome-borderless]=\"variant() === 'borderless'\"\r\n [style]=\"style()\"\r\n>\r\n <div class=\"x-welcome-icon\">\r\n @if (isStringIcon()) {\r\n <img alt=\"icon\" [src]=\"icon()\" />\r\n } @else {\r\n <ng-container *xOutlet=\"icon()!\"></ng-container>\r\n }\r\n </div>\r\n <div class=\"x-welcome-wrapper\">\r\n <span class=\"x-welcome-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </span>\r\n <p class=\"x-welcome-description\">\r\n <ng-container *xOutlet=\"description()\">{{ description() }}</ng-container>\r\n </p>\r\n </div>\r\n</div>\r\n", styles: [".x-welcome{margin:0;padding:0}.x-welcome{width:100%;display:flex;gap:1rem;padding:1rem;border:var(--x-border-width) solid transparent;border-radius:var(--x-border-radius)}.x-welcome-icon img{max-width:6rem}.x-welcome-wrapper{flex:1;display:flex;flex-direction:column;gap:.5rem}.x-welcome-title{margin:0;font-size:var(--x-font-size-large)}.x-welcome-outlined{border-color:var(--x-border)}.x-welcome-filled{background-color:var(--x-background-a200);border-color:var(--x-background-a200)}.x-welcome-borderless{border-color:transparent}\n"], dependencies: [{ kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
66
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XWelcomeComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XWelcomeComponent, decorators: [{
62
68
  type: Component,
63
69
  args: [{ selector: 'x-welcome', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [XOutletDirective], template: "<div\r\n class=\"x-welcome\"\r\n [class.x-welcome-outlined]=\"variant() === 'outlined'\"\r\n [class.x-welcome-filled]=\"variant() === 'filled'\"\r\n [class.x-welcome-borderless]=\"variant() === 'borderless'\"\r\n [style]=\"style()\"\r\n>\r\n <div class=\"x-welcome-icon\">\r\n @if (isStringIcon()) {\r\n <img alt=\"icon\" [src]=\"icon()\" />\r\n } @else {\r\n <ng-container *xOutlet=\"icon()!\"></ng-container>\r\n }\r\n </div>\r\n <div class=\"x-welcome-wrapper\">\r\n <span class=\"x-welcome-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </span>\r\n <p class=\"x-welcome-description\">\r\n <ng-container *xOutlet=\"description()\">{{ description() }}</ng-container>\r\n </p>\r\n </div>\r\n</div>\r\n", styles: [".x-welcome{margin:0;padding:0}.x-welcome{width:100%;display:flex;gap:1rem;padding:1rem;border:var(--x-border-width) solid transparent;border-radius:var(--x-border-radius)}.x-welcome-icon img{max-width:6rem}.x-welcome-wrapper{flex:1;display:flex;flex-direction:column;gap:.5rem}.x-welcome-title{margin:0;font-size:var(--x-font-size-large)}.x-welcome-outlined{border-color:var(--x-border)}.x-welcome-filled{background-color:var(--x-background-a200);border-color:var(--x-background-a200)}.x-welcome-borderless{border-color:transparent}\n"] }]
64
70
  }] });
65
71
 
66
72
  class XWelcomeModule {
67
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XWelcomeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
68
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: XWelcomeModule, imports: [XWelcomeComponent], exports: [XWelcomeComponent] }); }
69
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XWelcomeModule }); }
73
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XWelcomeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
74
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: XWelcomeModule, imports: [XWelcomeComponent], exports: [XWelcomeComponent] }); }
75
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XWelcomeModule }); }
70
76
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XWelcomeModule, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XWelcomeModule, decorators: [{
72
78
  type: NgModule,
73
79
  args: [{
74
80
  exports: [XWelcomeComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-welcome.mjs","sources":["../../../../lib/ng-nest/ui/welcome/welcome.property.ts","../../../../lib/ng-nest/ui/welcome/welcome.component.ts","../../../../lib/ng-nest/ui/welcome/welcome.component.html","../../../../lib/ng-nest/ui/welcome/welcome.module.ts","../../../../lib/ng-nest/ui/welcome/ng-nest-ui-welcome.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XPropertyFunction, XStyle, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Welcome\r\n * @selector x-welcome\r\n * @decorator component\r\n */\r\nexport const XWelcomePrefix = 'x-welcome';\r\nconst X_WELCOME_CONFIG_NAME = 'welcome';\r\n\r\n/**\r\n * Welcome Property\r\n */\r\n@Component({ selector: `${XWelcomePrefix}-property`, template: '' })\r\nexport class XWelcomeProperty extends XPropertyFunction(X_WELCOME_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示图标,支持自定义模板\r\n * @en_US Display icon, support custom template\r\n */\r\n readonly icon = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示标题,支持自定义模板\r\n * @en_US Display title, support custom template\r\n */\r\n readonly title = input<XTemplate>();\r\n /**\r\n * @zh_CN 描述文字,支持自定义模板\r\n * @en_US Display text\r\n */\r\n readonly description = input<XTemplate>();\r\n /**\r\n * @zh_CN 形态变体\r\n * @en_US Variant\r\n */\r\n readonly variant = input<XWelcomeVariant>(this.config?.variant ?? 'outlined');\r\n /**\r\n * @zh_CN 自定义样式\r\n * @en_US Custom style\r\n */\r\n readonly style = input<XStyle>();\r\n}\r\n\r\n/**\r\n * @zh_CN 形态变体\r\n * @en_US Box variant\r\n */\r\nexport type XWelcomeVariant = 'outlined' | 'filled' | 'borderless';\r\n","import { ChangeDetectionStrategy, Component, computed, ViewEncapsulation } from '@angular/core';\r\nimport { XWelcomeProperty } from './welcome.property';\r\nimport { XIsString } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: 'x-welcome',\r\n templateUrl: './welcome.component.html',\r\n styleUrls: ['./welcome.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [XOutletDirective]\r\n})\r\nexport class XWelcomeComponent extends XWelcomeProperty {\r\n isStringIcon = computed(() => XIsString(this.icon()));\r\n}\r\n","<div\r\n class=\"x-welcome\"\r\n [class.x-welcome-outlined]=\"variant() === 'outlined'\"\r\n [class.x-welcome-filled]=\"variant() === 'filled'\"\r\n [class.x-welcome-borderless]=\"variant() === 'borderless'\"\r\n [style]=\"style()\"\r\n>\r\n <div class=\"x-welcome-icon\">\r\n @if (isStringIcon()) {\r\n <img alt=\"icon\" [src]=\"icon()\" />\r\n } @else {\r\n <ng-container *xOutlet=\"icon()!\"></ng-container>\r\n }\r\n </div>\r\n <div class=\"x-welcome-wrapper\">\r\n <span class=\"x-welcome-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </span>\r\n <p class=\"x-welcome-description\">\r\n <ng-container *xOutlet=\"description()\">{{ description() }}</ng-container>\r\n </p>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XWelcomeComponent } from './welcome.component';\r\n\r\n@NgModule({\r\n exports: [XWelcomeComponent],\r\n imports: [XWelcomeComponent]\r\n})\r\nexport class XWelcomeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-welcome.mjs","sources":["../../../../lib/ng-nest/ui/welcome/welcome.property.ts","../../../../lib/ng-nest/ui/welcome/welcome.component.ts","../../../../lib/ng-nest/ui/welcome/welcome.component.html","../../../../lib/ng-nest/ui/welcome/welcome.module.ts","../../../../lib/ng-nest/ui/welcome/ng-nest-ui-welcome.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XPropertyFunction, XStyle, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Welcome\r\n * @selector x-welcome\r\n * @decorator component\r\n */\r\nexport const XWelcomePrefix = 'x-welcome';\r\nconst X_WELCOME_CONFIG_NAME = 'welcome';\r\n\r\n/**\r\n * Welcome Property\r\n */\r\n@Component({ selector: `${XWelcomePrefix}-property`, template: '' })\r\nexport class XWelcomeProperty extends XPropertyFunction(X_WELCOME_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示图标,支持自定义模板\r\n * @en_US Display icon, support custom template\r\n */\r\n readonly icon = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示标题,支持自定义模板\r\n * @en_US Display title, support custom template\r\n */\r\n readonly title = input<XTemplate>();\r\n /**\r\n * @zh_CN 描述文字,支持自定义模板\r\n * @en_US Display text\r\n */\r\n readonly description = input<XTemplate>();\r\n /**\r\n * @zh_CN 形态变体\r\n * @en_US Variant\r\n */\r\n readonly variant = input<XWelcomeVariant>(this.config?.variant ?? 'outlined');\r\n /**\r\n * @zh_CN 自定义样式\r\n * @en_US Custom style\r\n */\r\n readonly style = input<XStyle>();\r\n}\r\n\r\n/**\r\n * @zh_CN 形态变体\r\n * @en_US Box variant\r\n */\r\nexport type XWelcomeVariant = 'outlined' | 'filled' | 'borderless';\r\n","import { ChangeDetectionStrategy, Component, computed, ViewEncapsulation } from '@angular/core';\r\nimport { XWelcomeProperty } from './welcome.property';\r\nimport { XIsString } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: 'x-welcome',\r\n templateUrl: './welcome.component.html',\r\n styleUrls: ['./welcome.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [XOutletDirective]\r\n})\r\nexport class XWelcomeComponent extends XWelcomeProperty {\r\n isStringIcon = computed(() => XIsString(this.icon()));\r\n}\r\n","<div\r\n class=\"x-welcome\"\r\n [class.x-welcome-outlined]=\"variant() === 'outlined'\"\r\n [class.x-welcome-filled]=\"variant() === 'filled'\"\r\n [class.x-welcome-borderless]=\"variant() === 'borderless'\"\r\n [style]=\"style()\"\r\n>\r\n <div class=\"x-welcome-icon\">\r\n @if (isStringIcon()) {\r\n <img alt=\"icon\" [src]=\"icon()\" />\r\n } @else {\r\n <ng-container *xOutlet=\"icon()!\"></ng-container>\r\n }\r\n </div>\r\n <div class=\"x-welcome-wrapper\">\r\n <span class=\"x-welcome-title\">\r\n <ng-container *xOutlet=\"title()\">{{ title() }}</ng-container>\r\n </span>\r\n <p class=\"x-welcome-description\">\r\n <ng-container *xOutlet=\"description()\">{{ description() }}</ng-container>\r\n </p>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XWelcomeComponent } from './welcome.component';\r\n\r\n@NgModule({\r\n exports: [XWelcomeComponent],\r\n imports: [XWelcomeComponent]\r\n})\r\nexport class XWelcomeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-nest/ui",
3
- "version": "21.0.12",
3
+ "version": "22.0.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://www.ngnest.com",
6
6
  "author": "ng-nest",
@@ -433,5 +433,6 @@
433
433
  "default": "./fesm2022/ng-nest-ui-welcome.mjs"
434
434
  }
435
435
  },
436
- "sideEffects": false
436
+ "sideEffects": false,
437
+ "type": "module"
437
438
  }
@@ -1,9 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef, Type, ChangeDetectorRef } from '@angular/core';
2
+ import { TemplateRef, ChangeDetectorRef, Type } from '@angular/core';
3
3
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
4
- import { XAlign, XJustify, XDirection, XSize, XProperty, XBoolean, XTemplate, XNumber, XComponentConfigKey } from '@ng-nest/ui/core';
4
+ import { XProperty, XBoolean, XTemplate, XNumber, XAlign, XJustify, XDirection, XSize, XComponentConfigKey } from '@ng-nest/ui/core';
5
5
  import * as rxjs from 'rxjs';
6
- import { ControlValueAccessor, ValidatorFn } from '@angular/forms';
6
+ import { ValidatorFn, ControlValueAccessor } from '@angular/forms';
7
7
 
8
8
  /**
9
9
  * 表单对象共有的参数
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { ElementRef, SimpleChanges, OnInit, OnDestroy } from '@angular/core';
3
3
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
4
- import { XNumber, XTrigger, XShadow, XDisplayDirection, XBoolean, XProperty } from '@ng-nest/ui/core';
4
+ import { XShadow, XNumber, XTrigger, XDisplayDirection, XBoolean, XProperty } from '@ng-nest/ui/core';
5
5
  import { Subscription, Subject } from 'rxjs';
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { OnInit } from '@angular/core';
3
3
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
4
- import { XDirection, XNumber } from '@ng-nest/ui/core';
4
+ import { XNumber, XDirection } from '@ng-nest/ui/core';
5
5
 
6
6
  /**
7
7
  * Container
@@ -2,7 +2,7 @@ import { Observable, Subject, BehaviorSubject } from 'rxjs';
2
2
  import * as i0 from '@angular/core';
3
3
  import { TemplateRef, SimpleChange, InputSignal, WritableSignal, Renderer2, InjectionToken, RendererFactory2 } from '@angular/core';
4
4
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
5
- import { DetachedRouteHandle, RouteReuseStrategy, ActivatedRouteSnapshot, PreloadingStrategy, Route } from '@angular/router';
5
+ import { RouteReuseStrategy, DetachedRouteHandle, ActivatedRouteSnapshot, PreloadingStrategy, Route } from '@angular/router';
6
6
  import { HttpClient, HttpErrorResponse } from '@angular/common/http';
7
7
  import { Platform } from '@angular/cdk/platform';
8
8
  import * as _angular_platform_browser from '@angular/platform-browser';
@@ -3,7 +3,7 @@ import { Subscription, Subject } from 'rxjs';
3
3
  import * as _angular_core from '@angular/core';
4
4
  import { ViewContainerRef, ComponentRef, EmbeddedViewRef, EventEmitter, InjectionToken, OnInit, AfterViewInit, TemplateRef, Renderer2, ChangeDetectorRef } from '@angular/core';
5
5
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
6
- import { XTemplate, XPlace, XNumber, XStatus, XBoolean, XEffect, XProperty, XConfigService, XDialogConfig } from '@ng-nest/ui/core';
6
+ import { XPlace, XTemplate, XNumber, XStatus, XBoolean, XEffect, XProperty, XConfigService, XDialogConfig } from '@ng-nest/ui/core';
7
7
  import { XPortalOverlayRef, XPortalService } from '@ng-nest/ui/portal';
8
8
  import * as i1 from '@angular/cdk/drag-drop';
9
9
  import { CdkDragEnd, CdkDrag } from '@angular/cdk/drag-drop';
@@ -1,7 +1,7 @@
1
1
  import * as rxjs from 'rxjs';
2
2
  import { Subscription } from 'rxjs';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, ViewContainerRef, AfterViewInit, OnDestroy, TemplateRef } from '@angular/core';
4
+ import { ViewContainerRef, InjectionToken, AfterViewInit, OnDestroy, TemplateRef } from '@angular/core';
5
5
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
6
6
  import { XPosition, XTemplate, XNumber, XBoolean, XProperty, XDrawerConfig } from '@ng-nest/ui/core';
7
7
  import { XPortalOverlayRef } from '@ng-nest/ui/portal';
@@ -2,24 +2,24 @@ import * as _angular_core from '@angular/core';
2
2
  import { TemplateRef, InputSignal, InputSignalWithTransform, OnChanges, AfterViewInit, SimpleChanges, OnInit, OnDestroy, ComponentRef } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
5
- import { XBoolean, XNumber, XIdentity } from '@ng-nest/ui/core';
5
+ import { XIdentity, XBoolean, XNumber } from '@ng-nest/ui/core';
6
6
  import { UntypedFormGroup, UntypedFormControl, FormControlStatus } from '@angular/forms';
7
- import { XInputOption, XInputComponent } from '@ng-nest/ui/input';
8
- import { XSelectOption, XSelectComponent } from '@ng-nest/ui/select';
7
+ import { XInputComponent, XInputOption } from '@ng-nest/ui/input';
8
+ import { XSelectComponent, XSelectOption } from '@ng-nest/ui/select';
9
9
  import { XCascadeOption, XCascadeComponent } from '@ng-nest/ui/cascade';
10
10
  import { XCheckboxOption, XCheckboxComponent } from '@ng-nest/ui/checkbox';
11
11
  import { XColorPickerOption, XColorPickerComponent } from '@ng-nest/ui/color-picker';
12
- import { XDatePickerOption, XDatePickerComponent } from '@ng-nest/ui/date-picker';
13
- import { XInputNumberOption, XInputNumberComponent } from '@ng-nest/ui/input-number';
14
- import { XRadioOption, XRadioComponent } from '@ng-nest/ui/radio';
15
- import { XRateOption, XRateComponent } from '@ng-nest/ui/rate';
16
- import { XSliderSelectOption, XSliderSelectComponent } from '@ng-nest/ui/slider-select';
17
- import { XSwitchOption, XSwitchComponent } from '@ng-nest/ui/switch';
18
- import { XTimePickerOption, XTimePickerComponent } from '@ng-nest/ui/time-picker';
12
+ import { XDatePickerComponent, XDatePickerOption } from '@ng-nest/ui/date-picker';
13
+ import { XInputNumberComponent, XInputNumberOption } from '@ng-nest/ui/input-number';
14
+ import { XRadioComponent, XRadioOption } from '@ng-nest/ui/radio';
15
+ import { XRateComponent, XRateOption } from '@ng-nest/ui/rate';
16
+ import { XSliderSelectComponent, XSliderSelectOption } from '@ng-nest/ui/slider-select';
17
+ import { XSwitchComponent, XSwitchOption } from '@ng-nest/ui/switch';
18
+ import { XTimePickerComponent, XTimePickerOption } from '@ng-nest/ui/time-picker';
19
19
  import { XTextareaComponent, XTextareaOption } from '@ng-nest/ui/textarea';
20
- import { XFindOption, XFindComponent } from '@ng-nest/ui/find';
20
+ import { XFindComponent, XFindOption } from '@ng-nest/ui/find';
21
21
  import { XFormOption } from '@ng-nest/ui/base-form';
22
- import { XAutoCompleteComponent, XAutoCompleteOption } from '@ng-nest/ui/auto-complete';
22
+ import { XAutoCompleteOption, XAutoCompleteComponent } from '@ng-nest/ui/auto-complete';
23
23
  import { XI18nForm } from '@ng-nest/ui/i18n';
24
24
  import { Portal, ComponentPortal, CdkPortalOutlet } from '@angular/cdk/portal';
25
25
 
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
3
- import { XNumber, XJustify, XAlign, XBoolean } from '@ng-nest/ui/core';
3
+ import { XNumber, XBoolean, XJustify, XAlign } from '@ng-nest/ui/core';
4
4
 
5
5
  /**
6
6
  * Row
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef, ElementRef, OnChanges, QueryList, SimpleChanges, InjectionToken, OnDestroy } from '@angular/core';
2
+ import { TemplateRef, ElementRef, OnChanges, QueryList, SimpleChanges, OnDestroy, InjectionToken } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { Subscription } from 'rxjs';
5
5
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewContainerRef, ComponentRef, EmbeddedViewRef, Injector, StaticProvider, ElementRef } from '@angular/core';
3
- import { ComponentType, TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
4
- import { ConnectedPosition, OverlayConfig, OverlayRef, Overlay, PositionStrategy } from '@angular/cdk/overlay';
2
+ import { ComponentRef, EmbeddedViewRef, TemplateRef, ViewContainerRef, Injector, StaticProvider, ElementRef } from '@angular/core';
3
+ import { TemplatePortal, ComponentPortal, ComponentType } from '@angular/cdk/portal';
4
+ import { ConnectedPosition, OverlayRef, OverlayConfig, Overlay, PositionStrategy } from '@angular/cdk/overlay';
5
5
  import { XPlace, XPlacement, XPosition } from '@ng-nest/ui/core';
6
6
 
7
7
  declare class XPortalModule {
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { ElementRef } from '@angular/core';
3
3
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
4
4
  import * as i1 from '@angular/cdk/table';
5
- import { CdkTable, CdkCellDef, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkHeaderCell, CdkFooterCell, CdkCell, CdkHeaderRowDef, CdkFooterRowDef, CdkRowDef, CdkHeaderRow, CdkFooterRow, CdkRow, CdkNoDataRow, CdkTextColumn } from '@angular/cdk/table';
5
+ import { CdkTable, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkHeaderCell, CdkHeaderCellDef, CdkCell, CdkCellDef, CdkFooterRow, CdkFooterRowDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRow, CdkRowDef, CdkTextColumn } from '@angular/cdk/table';
6
6
 
7
7
  /**
8
8
  * Table view
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { TemplateRef, InputSignal, WritableSignal, ElementRef, OutputEmitterRef, InputSignalWithTransform, Signal, OnInit, ChangeDetectorRef, AfterViewInit, AfterViewChecked, Renderer2, OnDestroy, SimpleChanges, SimpleChange } from '@angular/core';
3
3
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
4
- import { XData, XParentIdentityProperty, XIdentityProperty, XTextAlign, XNumber, XBoolean, XTemplate, XSort, XSize, XQuery, XDataArray, XProperty } from '@ng-nest/ui/core';
4
+ import { XProperty, XParentIdentityProperty, XIdentityProperty, XTextAlign, XNumber, XBoolean, XTemplate, XData, XSort, XSize, XQuery, XDataArray } from '@ng-nest/ui/core';
5
5
  import { XPaginationInputIndexSizeSureType, XPaginationComponent } from '@ng-nest/ui/pagination';
6
6
  import { XSelectNode } from '@ng-nest/ui/select';
7
7
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
@@ -1,5 +1,5 @@
1
1
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
2
- import { XIdentityProperty, XDataArray, XJustify, XTrigger, XBoolean, XSize, XNumber, XTemplate, XConfigService } from '@ng-nest/ui/core';
2
+ import { XIdentityProperty, XTemplate, XBoolean, XDataArray, XJustify, XTrigger, XSize, XNumber, XConfigService } from '@ng-nest/ui/core';
3
3
  import * as _angular_core from '@angular/core';
4
4
  import { TemplateRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';
5
5
  import { XSliderComponent } from '@ng-nest/ui/slider';
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { TemplateRef, WritableSignal, InputSignalWithTransform, ModelSignal, OutputEmitterRef, InputSignal, ElementRef, OnChanges, Renderer2, ChangeDetectorRef, SimpleChanges } from '@angular/core';
3
3
  import * as _ng_nest_ui_core from '@ng-nest/ui/core';
4
- import { XData, XParentIdentityProperty, XAlign, XBoolean, XNumber, XIdentityProperty, XProperty } from '@ng-nest/ui/core';
4
+ import { XIdentityProperty, XData, XParentIdentityProperty, XAlign, XBoolean, XNumber, XProperty } from '@ng-nest/ui/core';
5
5
  import { CdkDragStart, CdkDragEnd, CdkDragMove, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';
6
6
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
7
7