ngx-tethys 18.2.6 → 19.0.0-next.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 (950) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/badge/badge.component.d.ts +21 -3
  3. package/cascader/cascader-search-option.component.d.ts +6 -3
  4. package/core/store/store.d.ts +1 -1
  5. package/date-picker/abstract-picker.component.d.ts +1 -1
  6. package/date-picker/abstract-picker.directive.d.ts +1 -1
  7. package/date-picker/lib/calendar/calendar-header.component.d.ts +1 -1
  8. package/date-picker/lib/calendar/calendar-table.component.d.ts +1 -1
  9. package/date-range/date-range.component.d.ts +12 -2
  10. package/divider/divider.component.d.ts +2 -8
  11. package/dropdown/dropdown-menu.component.d.ts +1 -1
  12. package/empty/empty.component.d.ts +1 -4
  13. package/fesm2022/ngx-tethys-action.mjs +12 -12
  14. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  15. package/fesm2022/ngx-tethys-affix.mjs +8 -8
  16. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  17. package/fesm2022/ngx-tethys-alert.mjs +12 -12
  18. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  19. package/fesm2022/ngx-tethys-anchor.mjs +11 -13
  20. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  21. package/fesm2022/ngx-tethys-arrow-switcher.mjs +9 -9
  22. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  23. package/fesm2022/ngx-tethys-autocomplete.mjs +20 -20
  24. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  25. package/fesm2022/ngx-tethys-avatar.mjs +26 -26
  26. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  27. package/fesm2022/ngx-tethys-back-top.mjs +10 -10
  28. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  29. package/fesm2022/ngx-tethys-badge.mjs +9 -9
  30. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  31. package/fesm2022/ngx-tethys-breadcrumb.mjs +13 -15
  32. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/ngx-tethys-button.mjs +16 -16
  34. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  35. package/fesm2022/ngx-tethys-calendar.mjs +20 -20
  36. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  37. package/fesm2022/ngx-tethys-card.mjs +15 -15
  38. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  39. package/fesm2022/ngx-tethys-carousel.mjs +15 -15
  40. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  41. package/fesm2022/ngx-tethys-cascader.mjs +23 -24
  42. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  43. package/fesm2022/ngx-tethys-checkbox.mjs +9 -9
  44. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  45. package/fesm2022/ngx-tethys-collapse.mjs +12 -12
  46. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  47. package/fesm2022/ngx-tethys-color-picker.mjs +38 -38
  48. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  49. package/fesm2022/ngx-tethys-comment.mjs +15 -15
  50. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  51. package/fesm2022/ngx-tethys-copy.mjs +8 -8
  52. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  53. package/fesm2022/ngx-tethys-core.mjs +21 -21
  54. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  55. package/fesm2022/ngx-tethys-date-picker.mjs +141 -141
  56. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  57. package/fesm2022/ngx-tethys-date-range.mjs +14 -14
  58. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  59. package/fesm2022/ngx-tethys-dialog.mjs +27 -28
  60. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  61. package/fesm2022/ngx-tethys-divider.mjs +8 -9
  62. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  63. package/fesm2022/ngx-tethys-dot.mjs +8 -8
  64. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  65. package/fesm2022/ngx-tethys-drag-drop.mjs +20 -20
  66. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  67. package/fesm2022/ngx-tethys-dropdown.mjs +47 -48
  68. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  69. package/fesm2022/ngx-tethys-empty.mjs +12 -12
  70. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  71. package/fesm2022/ngx-tethys-flexible-text.mjs +8 -8
  72. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  73. package/fesm2022/ngx-tethys-form.mjs +44 -44
  74. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  75. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -14
  76. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-grid.mjs +35 -38
  78. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  79. package/fesm2022/ngx-tethys-guider.mjs +18 -18
  80. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  81. package/fesm2022/ngx-tethys-i18n.mjs +23 -3
  82. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  83. package/fesm2022/ngx-tethys-icon.mjs +11 -11
  84. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  85. package/fesm2022/ngx-tethys-image.mjs +19 -19
  86. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-input-number.mjs +11 -11
  88. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  89. package/fesm2022/ngx-tethys-input.mjs +23 -23
  90. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  91. package/fesm2022/ngx-tethys-layout.mjs +66 -65
  92. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  93. package/fesm2022/ngx-tethys-list.mjs +19 -19
  94. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  95. package/fesm2022/ngx-tethys-loading.mjs +9 -9
  96. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  97. package/fesm2022/ngx-tethys-mention.mjs +12 -12
  98. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  99. package/fesm2022/ngx-tethys-menu.mjs +29 -29
  100. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-message.mjs +25 -26
  102. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  103. package/fesm2022/ngx-tethys-nav.mjs +24 -25
  104. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  105. package/fesm2022/ngx-tethys-notify.mjs +20 -20
  106. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  107. package/fesm2022/ngx-tethys-pagination.mjs +15 -15
  108. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  109. package/fesm2022/ngx-tethys-popover.mjs +23 -23
  110. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  111. package/fesm2022/ngx-tethys-progress.mjs +17 -17
  112. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  113. package/fesm2022/ngx-tethys-property-operation.mjs +12 -12
  114. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  115. package/fesm2022/ngx-tethys-property.mjs +12 -12
  116. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  117. package/fesm2022/ngx-tethys-radio.mjs +15 -15
  118. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  119. package/fesm2022/ngx-tethys-rate.mjs +12 -13
  120. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  121. package/fesm2022/ngx-tethys-resizable.mjs +17 -19
  122. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  123. package/fesm2022/ngx-tethys-result.mjs +9 -9
  124. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  125. package/fesm2022/ngx-tethys-segment.mjs +13 -13
  126. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  127. package/fesm2022/ngx-tethys-select.mjs +16 -16
  128. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  129. package/fesm2022/ngx-tethys-shared.mjs +70 -70
  130. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  131. package/fesm2022/ngx-tethys-skeleton.mjs +23 -28
  132. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  133. package/fesm2022/ngx-tethys-slide.mjs +34 -35
  134. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  135. package/fesm2022/ngx-tethys-slider.mjs +9 -9
  136. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  137. package/fesm2022/ngx-tethys-space.mjs +12 -12
  138. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  139. package/fesm2022/ngx-tethys-statistic.mjs +9 -9
  140. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  141. package/fesm2022/ngx-tethys-stepper.mjs +22 -22
  142. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  143. package/fesm2022/ngx-tethys-strength.mjs +8 -8
  144. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  145. package/fesm2022/ngx-tethys-switch.mjs +9 -9
  146. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  147. package/fesm2022/ngx-tethys-table.mjs +23 -23
  148. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  149. package/fesm2022/ngx-tethys-tabs.mjs +15 -16
  150. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  151. package/fesm2022/ngx-tethys-tag.mjs +11 -11
  152. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  153. package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
  154. package/fesm2022/ngx-tethys-time-picker.mjs +24 -24
  155. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  156. package/fesm2022/ngx-tethys-timeline.mjs +15 -16
  157. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  158. package/fesm2022/ngx-tethys-tooltip.mjs +16 -16
  159. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  160. package/fesm2022/ngx-tethys-transfer.mjs +13 -13
  161. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  162. package/fesm2022/ngx-tethys-tree-select.mjs +13 -13
  163. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  164. package/fesm2022/ngx-tethys-tree.mjs +19 -19
  165. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  166. package/fesm2022/ngx-tethys-typography.mjs +15 -15
  167. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  168. package/fesm2022/ngx-tethys-upload.mjs +17 -17
  169. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  170. package/fesm2022/ngx-tethys-util.mjs +2 -18
  171. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-vote.mjs +9 -9
  173. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-watermark.mjs +8 -8
  175. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  176. package/fesm2022/ngx-tethys.mjs +1 -1
  177. package/fesm2022/ngx-tethys.mjs.map +1 -1
  178. package/i18n/i18n.d.ts +6 -1
  179. package/i18n/locales/de-de.d.ts +4 -0
  180. package/i18n/locales/en-us.d.ts +4 -0
  181. package/i18n/locales/ja-jp.d.ts +4 -0
  182. package/i18n/locales/zh-hans.d.ts +4 -0
  183. package/i18n/locales/zh-hant.d.ts +4 -0
  184. package/input/input.component.d.ts +1 -1
  185. package/layout/header.component.d.ts +21 -3
  186. package/layout/sidebar.component.d.ts +8 -42
  187. package/menu/group/menu-group.component.d.ts +6 -30
  188. package/message/abstract/abstract-message-container.component.d.ts +1 -1
  189. package/message/abstract/abstract-message.component.d.ts +1 -1
  190. package/nav/nav.component.d.ts +2 -2
  191. package/package.json +1 -169
  192. package/pagination/pagination.component.d.ts +45 -5
  193. package/property/property-item.component.d.ts +4 -2
  194. package/schematics/dependencies.js +3 -3
  195. package/schematics/ng-add/index.js +7 -3
  196. package/schematics/ng-update/core/complete.js +1 -2
  197. package/schematics/ng-update/migration-collection.json +4 -4
  198. package/schematics/ng-update/{update-18 → update-19}/index.js +4 -5
  199. package/schematics/ng-update/{update-18 → update-19}/index.spec.js +4 -4
  200. package/schematics/testing/get-json-content.js +1 -2
  201. package/schematics/testing/test-app.js +1 -2
  202. package/schematics/testing/test-project.js +1 -2
  203. package/schematics/testing/test-workspace.d.ts +0 -2
  204. package/schematics/testing/test-workspace.js +2 -2
  205. package/schematics/utils/create-tree-compiler-host.js +1 -2
  206. package/schematics/utils/create-tree-ts-parse-config-host.js +2 -2
  207. package/schematics/utils/get-angular-json.js +1 -2
  208. package/schematics/utils/get-project.js +1 -2
  209. package/schematics/utils/get-workspace-tsconfig.js +1 -2
  210. package/schematics/utils/package-config.js +2 -3
  211. package/schematics/utils/update-file.service.js +2 -2
  212. package/schematics/version.d.ts +1 -1
  213. package/schematics/version.js +1 -1
  214. package/shared/base-form-check.component.d.ts +1 -1
  215. package/shared/option/list-option/list-option.component.d.ts +1 -4
  216. package/shared/select/styles/select.mixin.scss +2 -1
  217. package/skeleton/skeleton-rectangle.component.d.ts +1 -4
  218. package/skeleton/stylized/bullet-list.component.d.ts +1 -9
  219. package/styles/bootstrap/utilities/_background.scss +2 -1
  220. package/styles/bootstrap/utilities/_text.scss +1 -1
  221. package/table/table.component.d.ts +1 -1
  222. package/upload/file-select-base.d.ts +1 -1
  223. package/esm2022/action/action.component.mjs +0 -174
  224. package/esm2022/action/action.module.mjs +0 -19
  225. package/esm2022/action/actions.component.mjs +0 -57
  226. package/esm2022/action/index.mjs +0 -4
  227. package/esm2022/action/ngx-tethys-action.mjs +0 -5
  228. package/esm2022/affix/affix.component.mjs +0 -243
  229. package/esm2022/affix/affix.module.mjs +0 -18
  230. package/esm2022/affix/index.mjs +0 -3
  231. package/esm2022/affix/ngx-tethys-affix.mjs +0 -5
  232. package/esm2022/affix/respond-events.mjs +0 -11
  233. package/esm2022/alert/alert.component.mjs +0 -98
  234. package/esm2022/alert/alert.directive.mjs +0 -25
  235. package/esm2022/alert/alert.module.mjs +0 -19
  236. package/esm2022/alert/index.mjs +0 -4
  237. package/esm2022/alert/ngx-tethys-alert.mjs +0 -5
  238. package/esm2022/anchor/anchor-link.component.mjs +0 -106
  239. package/esm2022/anchor/anchor.component.mjs +0 -266
  240. package/esm2022/anchor/anchor.module.mjs +0 -20
  241. package/esm2022/anchor/index.mjs +0 -4
  242. package/esm2022/anchor/ngx-tethys-anchor.mjs +0 -5
  243. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +0 -130
  244. package/esm2022/arrow-switcher/index.mjs +0 -3
  245. package/esm2022/arrow-switcher/module.mjs +0 -21
  246. package/esm2022/arrow-switcher/ngx-tethys-arrow-switcher.mjs +0 -5
  247. package/esm2022/autocomplete/autocomplete.component.mjs +0 -182
  248. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +0 -275
  249. package/esm2022/autocomplete/index.mjs +0 -8
  250. package/esm2022/autocomplete/module.mjs +0 -67
  251. package/esm2022/autocomplete/ngx-tethys-autocomplete.mjs +0 -5
  252. package/esm2022/autocomplete/overlay/autocomplete-animations.mjs +0 -10
  253. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +0 -64
  254. package/esm2022/autocomplete/overlay/autocomplete-ref.mjs +0 -18
  255. package/esm2022/autocomplete/overlay/autocomplete.config.mjs +0 -18
  256. package/esm2022/autocomplete/overlay/autocomplete.options.mjs +0 -6
  257. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +0 -127
  258. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +0 -76
  259. package/esm2022/avatar/avatar.component.mjs +0 -179
  260. package/esm2022/avatar/avatar.module.mjs +0 -33
  261. package/esm2022/avatar/avatar.pipe.mjs +0 -91
  262. package/esm2022/avatar/avatar.service.mjs +0 -27
  263. package/esm2022/avatar/index.mjs +0 -6
  264. package/esm2022/avatar/ngx-tethys-avatar.mjs +0 -5
  265. package/esm2022/back-top/back-top.component.mjs +0 -126
  266. package/esm2022/back-top/back-top.module.mjs +0 -18
  267. package/esm2022/back-top/index.mjs +0 -3
  268. package/esm2022/back-top/ngx-tethys-back-top.mjs +0 -5
  269. package/esm2022/badge/badge.component.mjs +0 -238
  270. package/esm2022/badge/badge.module.mjs +0 -18
  271. package/esm2022/badge/index.mjs +0 -3
  272. package/esm2022/badge/ngx-tethys-badge.mjs +0 -5
  273. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +0 -49
  274. package/esm2022/breadcrumb/breadcrumb.component.mjs +0 -115
  275. package/esm2022/breadcrumb/index.mjs +0 -4
  276. package/esm2022/breadcrumb/module.mjs +0 -21
  277. package/esm2022/breadcrumb/ngx-tethys-breadcrumb.mjs +0 -5
  278. package/esm2022/button/button-group.component.mjs +0 -90
  279. package/esm2022/button/button-icon.component.mjs +0 -166
  280. package/esm2022/button/button.component.mjs +0 -216
  281. package/esm2022/button/button.module.mjs +0 -20
  282. package/esm2022/button/index.mjs +0 -5
  283. package/esm2022/button/ngx-tethys-button.mjs +0 -5
  284. package/esm2022/calendar/calendar-cells.mjs +0 -35
  285. package/esm2022/calendar/calendar-header.component.mjs +0 -117
  286. package/esm2022/calendar/calendar.component.mjs +0 -122
  287. package/esm2022/calendar/index.mjs +0 -5
  288. package/esm2022/calendar/module.mjs +0 -63
  289. package/esm2022/calendar/ngx-tethys-calendar.mjs +0 -5
  290. package/esm2022/card/card.component.mjs +0 -48
  291. package/esm2022/card/card.module.mjs +0 -19
  292. package/esm2022/card/content.component.mjs +0 -58
  293. package/esm2022/card/header.component.mjs +0 -42
  294. package/esm2022/card/index.mjs +0 -5
  295. package/esm2022/card/ngx-tethys-card.mjs +0 -5
  296. package/esm2022/carousel/carousel-item.directive.mjs +0 -37
  297. package/esm2022/carousel/carousel.component.mjs +0 -290
  298. package/esm2022/carousel/carousel.service.mjs +0 -74
  299. package/esm2022/carousel/engine/carousel-base.mjs +0 -43
  300. package/esm2022/carousel/engine/carousel-fade.mjs +0 -46
  301. package/esm2022/carousel/engine/carousel-noop.mjs +0 -28
  302. package/esm2022/carousel/engine/carousel-slide.mjs +0 -62
  303. package/esm2022/carousel/engine/index.mjs +0 -5
  304. package/esm2022/carousel/index.mjs +0 -5
  305. package/esm2022/carousel/module.mjs +0 -21
  306. package/esm2022/carousel/ngx-tethys-carousel.mjs +0 -5
  307. package/esm2022/carousel/typings.mjs +0 -2
  308. package/esm2022/cascader/cascader-li.component.mjs +0 -81
  309. package/esm2022/cascader/cascader-search-option.component.mjs +0 -73
  310. package/esm2022/cascader/cascader.component.mjs +0 -768
  311. package/esm2022/cascader/cascader.service.mjs +0 -558
  312. package/esm2022/cascader/index.mjs +0 -5
  313. package/esm2022/cascader/module.mjs +0 -62
  314. package/esm2022/cascader/ngx-tethys-cascader.mjs +0 -5
  315. package/esm2022/cascader/types.mjs +0 -2
  316. package/esm2022/checkbox/checkbox.component.mjs +0 -51
  317. package/esm2022/checkbox/index.mjs +0 -4
  318. package/esm2022/checkbox/module.mjs +0 -18
  319. package/esm2022/checkbox/ngx-tethys-checkbox.mjs +0 -5
  320. package/esm2022/collapse/collapse-item.component.mjs +0 -88
  321. package/esm2022/collapse/collapse.component.mjs +0 -79
  322. package/esm2022/collapse/index.mjs +0 -4
  323. package/esm2022/collapse/module.mjs +0 -22
  324. package/esm2022/collapse/ngx-tethys-collapse.mjs +0 -5
  325. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +0 -38
  326. package/esm2022/color-picker/color-picker-panel.component.mjs +0 -100
  327. package/esm2022/color-picker/color-picker.component.mjs +0 -289
  328. package/esm2022/color-picker/constant.mjs +0 -73
  329. package/esm2022/color-picker/coordinates.directive.mjs +0 -73
  330. package/esm2022/color-picker/helpers/color.class.mjs +0 -281
  331. package/esm2022/color-picker/helpers/colors-table.class.mjs +0 -155
  332. package/esm2022/color-picker/helpers/rgba.class.mjs +0 -34
  333. package/esm2022/color-picker/index.mjs +0 -14
  334. package/esm2022/color-picker/module.mjs +0 -72
  335. package/esm2022/color-picker/ngx-tethys-color-picker.mjs +0 -5
  336. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +0 -64
  337. package/esm2022/color-picker/parts/hue/hue.component.mjs +0 -54
  338. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +0 -26
  339. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +0 -61
  340. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +0 -68
  341. package/esm2022/comment/comment-actions.directive.mjs +0 -19
  342. package/esm2022/comment/comment-content.directive.mjs +0 -19
  343. package/esm2022/comment/comment.component.mjs +0 -30
  344. package/esm2022/comment/comment.module.mjs +0 -41
  345. package/esm2022/comment/index.mjs +0 -5
  346. package/esm2022/comment/ngx-tethys-comment.mjs +0 -5
  347. package/esm2022/copy/copy.directive.mjs +0 -101
  348. package/esm2022/copy/index.mjs +0 -3
  349. package/esm2022/copy/module.mjs +0 -18
  350. package/esm2022/copy/ngx-tethys-copy.mjs +0 -5
  351. package/esm2022/core/animation/animation-consts.mjs +0 -23
  352. package/esm2022/core/animation/collapse.mjs +0 -12
  353. package/esm2022/core/animation/fade.mjs +0 -7
  354. package/esm2022/core/animation/index.mjs +0 -2
  355. package/esm2022/core/animation/public-api.mjs +0 -6
  356. package/esm2022/core/animation/thumb.mjs +0 -12
  357. package/esm2022/core/animation/zoom.mjs +0 -66
  358. package/esm2022/core/behaviors/constructor.mjs +0 -5
  359. package/esm2022/core/behaviors/control-value-accessor.mjs +0 -17
  360. package/esm2022/core/behaviors/decorators.mjs +0 -47
  361. package/esm2022/core/behaviors/disabled.mjs +0 -17
  362. package/esm2022/core/behaviors/focus-control.mjs +0 -31
  363. package/esm2022/core/behaviors/index.mjs +0 -11
  364. package/esm2022/core/behaviors/initialized.mjs +0 -12
  365. package/esm2022/core/behaviors/loading-done.mjs +0 -12
  366. package/esm2022/core/behaviors/mixin.mjs +0 -5
  367. package/esm2022/core/behaviors/tabindex.mjs +0 -21
  368. package/esm2022/core/behaviors/unsubscribe.mjs +0 -23
  369. package/esm2022/core/click-positioner.mjs +0 -36
  370. package/esm2022/core/color/color.mjs +0 -13
  371. package/esm2022/core/color/index.mjs +0 -2
  372. package/esm2022/core/debounce-time.mjs +0 -11
  373. package/esm2022/core/event-dispatchers/index.mjs +0 -2
  374. package/esm2022/core/index.mjs +0 -16
  375. package/esm2022/core/ngx-tethys-core.mjs +0 -5
  376. package/esm2022/core/overlay/abstract-overlay-container.mjs +0 -53
  377. package/esm2022/core/overlay/abstract-overlay-ref.mjs +0 -160
  378. package/esm2022/core/overlay/abstract-overlay.config.mjs +0 -70
  379. package/esm2022/core/overlay/abstract-overlay.service.mjs +0 -158
  380. package/esm2022/core/overlay/index.mjs +0 -10
  381. package/esm2022/core/overlay/interface.mjs +0 -2
  382. package/esm2022/core/overlay/overlay-position-map.mjs +0 -88
  383. package/esm2022/core/overlay/overlay.directive.mjs +0 -175
  384. package/esm2022/core/overlay/portal-directives.mjs +0 -47
  385. package/esm2022/core/overlay/utils.mjs +0 -69
  386. package/esm2022/core/request-animation.mjs +0 -41
  387. package/esm2022/core/scroll-to.service.mjs +0 -33
  388. package/esm2022/core/scroll.mjs +0 -83
  389. package/esm2022/core/spacing/index.mjs +0 -2
  390. package/esm2022/core/spacing/spacing.mjs +0 -17
  391. package/esm2022/core/store/action-state.mjs +0 -11
  392. package/esm2022/core/store/action.mjs +0 -48
  393. package/esm2022/core/store/actions-stream.mjs +0 -2
  394. package/esm2022/core/store/index.mjs +0 -4
  395. package/esm2022/core/store/store.mjs +0 -125
  396. package/esm2022/core/store/types.mjs +0 -6
  397. package/esm2022/core/store/utils.mjs +0 -14
  398. package/esm2022/core/theme/index.mjs +0 -3
  399. package/esm2022/core/theme/store.mjs +0 -42
  400. package/esm2022/core/theme/theme.mjs +0 -9
  401. package/esm2022/core/translate.mjs +0 -22
  402. package/esm2022/core/update-host-class.service.mjs +0 -60
  403. package/esm2022/date-picker/abstract-picker.component.mjs +0 -318
  404. package/esm2022/date-picker/abstract-picker.directive.mjs +0 -218
  405. package/esm2022/date-picker/base-picker.component.mjs +0 -249
  406. package/esm2022/date-picker/date-helper.service.mjs +0 -37
  407. package/esm2022/date-picker/date-picker.component.mjs +0 -41
  408. package/esm2022/date-picker/date-picker.config.mjs +0 -103
  409. package/esm2022/date-picker/date-picker.directive.mjs +0 -39
  410. package/esm2022/date-picker/date-picker.module.mjs +0 -117
  411. package/esm2022/date-picker/date-picker.service.mjs +0 -31
  412. package/esm2022/date-picker/index.mjs +0 -37
  413. package/esm2022/date-picker/inner-types.mjs +0 -2
  414. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +0 -98
  415. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +0 -92
  416. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +0 -105
  417. package/esm2022/date-picker/lib/date/date-header.component.mjs +0 -35
  418. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +0 -24
  419. package/esm2022/date-picker/lib/date/date-table.component.mjs +0 -149
  420. package/esm2022/date-picker/lib/date/types.mjs +0 -2
  421. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +0 -388
  422. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +0 -42
  423. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +0 -81
  424. package/esm2022/date-picker/lib/lib-packer.module.mjs +0 -123
  425. package/esm2022/date-picker/lib/month/month-header.component.mjs +0 -27
  426. package/esm2022/date-picker/lib/month/month-table.component.mjs +0 -97
  427. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +0 -566
  428. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +0 -196
  429. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +0 -98
  430. package/esm2022/date-picker/lib/year/year-header.component.mjs +0 -39
  431. package/esm2022/date-picker/lib/year/year-table.component.mjs +0 -100
  432. package/esm2022/date-picker/month-picker.component.mjs +0 -45
  433. package/esm2022/date-picker/ngx-tethys-date-picker.mjs +0 -5
  434. package/esm2022/date-picker/picker.component.mjs +0 -273
  435. package/esm2022/date-picker/picker.pipes.mjs +0 -112
  436. package/esm2022/date-picker/picker.util.mjs +0 -220
  437. package/esm2022/date-picker/picker.validators.mjs +0 -79
  438. package/esm2022/date-picker/quarter-picker.component.mjs +0 -48
  439. package/esm2022/date-picker/range-picker.component.mjs +0 -39
  440. package/esm2022/date-picker/range-picker.directive.mjs +0 -39
  441. package/esm2022/date-picker/standard-types.mjs +0 -2
  442. package/esm2022/date-picker/week-picker.component.mjs +0 -40
  443. package/esm2022/date-picker/year-picker.component.mjs +0 -48
  444. package/esm2022/date-range/date-range.class.mjs +0 -6
  445. package/esm2022/date-range/date-range.component.mjs +0 -255
  446. package/esm2022/date-range/index.mjs +0 -5
  447. package/esm2022/date-range/module.mjs +0 -50
  448. package/esm2022/date-range/ngx-tethys-date-range.mjs +0 -5
  449. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +0 -50
  450. package/esm2022/dialog/body/dialog-body.component.mjs +0 -49
  451. package/esm2022/dialog/confirm/confirm.component.mjs +0 -77
  452. package/esm2022/dialog/confirm/token.mjs +0 -3
  453. package/esm2022/dialog/confirm.config.mjs +0 -29
  454. package/esm2022/dialog/dialog-animations.mjs +0 -19
  455. package/esm2022/dialog/dialog-container.component.mjs +0 -169
  456. package/esm2022/dialog/dialog-ref.mjs +0 -35
  457. package/esm2022/dialog/dialog.config.mjs +0 -62
  458. package/esm2022/dialog/dialog.module.mjs +0 -91
  459. package/esm2022/dialog/dialog.options.mjs +0 -6
  460. package/esm2022/dialog/dialog.service.mjs +0 -145
  461. package/esm2022/dialog/footer/dialog-footer.component.mjs +0 -51
  462. package/esm2022/dialog/header/dialog-header.component.mjs +0 -87
  463. package/esm2022/dialog/index.mjs +0 -12
  464. package/esm2022/dialog/ngx-tethys-dialog.mjs +0 -5
  465. package/esm2022/divider/divider.component.mjs +0 -117
  466. package/esm2022/divider/divider.module.mjs +0 -20
  467. package/esm2022/divider/index.mjs +0 -3
  468. package/esm2022/divider/ngx-tethys-divider.mjs +0 -5
  469. package/esm2022/dot/dot.component.mjs +0 -111
  470. package/esm2022/dot/dot.module.mjs +0 -17
  471. package/esm2022/dot/index.mjs +0 -3
  472. package/esm2022/dot/ngx-tethys-dot.mjs +0 -5
  473. package/esm2022/drag-drop/drag-content.directive.mjs +0 -32
  474. package/esm2022/drag-drop/drag-drop.class.mjs +0 -7
  475. package/esm2022/drag-drop/drag-drop.service.mjs +0 -23
  476. package/esm2022/drag-drop/drag-handle.directive.mjs +0 -43
  477. package/esm2022/drag-drop/drag-ref.mjs +0 -225
  478. package/esm2022/drag-drop/drag.directive.mjs +0 -71
  479. package/esm2022/drag-drop/drop-container.class.mjs +0 -6
  480. package/esm2022/drag-drop/drop-container.directive.mjs +0 -129
  481. package/esm2022/drag-drop/index.mjs +0 -10
  482. package/esm2022/drag-drop/module.mjs +0 -27
  483. package/esm2022/drag-drop/ngx-tethys-drag-drop.mjs +0 -5
  484. package/esm2022/dropdown/dropdown-active.directive.mjs +0 -66
  485. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +0 -210
  486. package/esm2022/dropdown/dropdown-menu.component.mjs +0 -156
  487. package/esm2022/dropdown/dropdown-submenu.component.mjs +0 -83
  488. package/esm2022/dropdown/dropdown.directive.mjs +0 -189
  489. package/esm2022/dropdown/index.mjs +0 -7
  490. package/esm2022/dropdown/module.mjs +0 -79
  491. package/esm2022/dropdown/ngx-tethys-dropdown.mjs +0 -5
  492. package/esm2022/empty/empty.component.mjs +0 -183
  493. package/esm2022/empty/empty.config.mjs +0 -17
  494. package/esm2022/empty/empty.module.mjs +0 -21
  495. package/esm2022/empty/index.mjs +0 -4
  496. package/esm2022/empty/ngx-tethys-empty.mjs +0 -5
  497. package/esm2022/empty/svgs.mjs +0 -207
  498. package/esm2022/flexible-text/flexible-text.component.mjs +0 -157
  499. package/esm2022/flexible-text/flexible-text.module.mjs +0 -19
  500. package/esm2022/flexible-text/index.mjs +0 -3
  501. package/esm2022/flexible-text/ngx-tethys-flexible-text.mjs +0 -5
  502. package/esm2022/form/form-group-error/form-group-error.component.mjs +0 -53
  503. package/esm2022/form/form-group-label.directive.mjs +0 -49
  504. package/esm2022/form/form-group.component.mjs +0 -145
  505. package/esm2022/form/form-submit.directive.mjs +0 -40
  506. package/esm2022/form/form-validator-loader.mjs +0 -134
  507. package/esm2022/form/form-validator.service.mjs +0 -252
  508. package/esm2022/form/form.class.mjs +0 -8
  509. package/esm2022/form/form.directive.mjs +0 -158
  510. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +0 -53
  511. package/esm2022/form/index.mjs +0 -12
  512. package/esm2022/form/module.mjs +0 -104
  513. package/esm2022/form/ngx-tethys-form.mjs +0 -5
  514. package/esm2022/form/validator/confirm-validator.directive.mjs +0 -33
  515. package/esm2022/form/validator/index.mjs +0 -5
  516. package/esm2022/form/validator/max-validator.directive.mjs +0 -41
  517. package/esm2022/form/validator/min-validator.directive.mjs +0 -41
  518. package/esm2022/form/validator/unique-validator.directive.mjs +0 -52
  519. package/esm2022/fullscreen/fullscreen-launch.directive.mjs +0 -18
  520. package/esm2022/fullscreen/fullscreen-ref.mjs +0 -151
  521. package/esm2022/fullscreen/fullscreen.component.mjs +0 -78
  522. package/esm2022/fullscreen/fullscreen.config.mjs +0 -6
  523. package/esm2022/fullscreen/fullscreen.module.mjs +0 -17
  524. package/esm2022/fullscreen/fullscreen.service.mjs +0 -47
  525. package/esm2022/fullscreen/index.mjs +0 -7
  526. package/esm2022/fullscreen/ngx-tethys-fullscreen.mjs +0 -5
  527. package/esm2022/grid/flex.mjs +0 -179
  528. package/esm2022/grid/grid.token.mjs +0 -5
  529. package/esm2022/grid/index.mjs +0 -7
  530. package/esm2022/grid/module.mjs +0 -56
  531. package/esm2022/grid/ngx-tethys-grid.mjs +0 -5
  532. package/esm2022/grid/thy-col.directive.mjs +0 -66
  533. package/esm2022/grid/thy-grid-item.component.mjs +0 -60
  534. package/esm2022/grid/thy-grid.component.mjs +0 -256
  535. package/esm2022/grid/thy-row.directive.mjs +0 -59
  536. package/esm2022/guider/guider-hint/guider-hint.component.mjs +0 -52
  537. package/esm2022/guider/guider-manager.mjs +0 -39
  538. package/esm2022/guider/guider-ref.mjs +0 -133
  539. package/esm2022/guider/guider-step-ref.mjs +0 -242
  540. package/esm2022/guider/guider.class.mjs +0 -15
  541. package/esm2022/guider/guider.directive.mjs +0 -50
  542. package/esm2022/guider/guider.module.mjs +0 -24
  543. package/esm2022/guider/guider.service.mjs +0 -76
  544. package/esm2022/guider/index.mjs +0 -9
  545. package/esm2022/guider/ngx-tethys-guider.mjs +0 -5
  546. package/esm2022/guider/utils.mjs +0 -10
  547. package/esm2022/i18n/i18n.mjs +0 -9
  548. package/esm2022/i18n/i18n.service.mjs +0 -45
  549. package/esm2022/i18n/i18n.token.mjs +0 -10
  550. package/esm2022/i18n/index.mjs +0 -10
  551. package/esm2022/i18n/locale.mjs +0 -13
  552. package/esm2022/i18n/locales/de-de.mjs +0 -130
  553. package/esm2022/i18n/locales/en-us.mjs +0 -151
  554. package/esm2022/i18n/locales/ja-jp.mjs +0 -130
  555. package/esm2022/i18n/locales/zh-hans.mjs +0 -130
  556. package/esm2022/i18n/locales/zh-hant.mjs +0 -130
  557. package/esm2022/i18n/ngx-tethys-i18n.mjs +0 -5
  558. package/esm2022/icon/config.mjs +0 -8
  559. package/esm2022/icon/icon-registry.mjs +0 -340
  560. package/esm2022/icon/icon.component.mjs +0 -198
  561. package/esm2022/icon/icon.module.mjs +0 -20
  562. package/esm2022/icon/index.mjs +0 -5
  563. package/esm2022/icon/ngx-tethys-icon.mjs +0 -5
  564. package/esm2022/image/image-group.component.mjs +0 -32
  565. package/esm2022/image/image.class.mjs +0 -2
  566. package/esm2022/image/image.config.mjs +0 -21
  567. package/esm2022/image/image.directive.mjs +0 -130
  568. package/esm2022/image/image.service.mjs +0 -58
  569. package/esm2022/image/index.mjs +0 -9
  570. package/esm2022/image/module.mjs +0 -67
  571. package/esm2022/image/ngx-tethys-image.mjs +0 -5
  572. package/esm2022/image/preview/image-preview-ref.mjs +0 -32
  573. package/esm2022/image/preview/image-preview.component.mjs +0 -413
  574. package/esm2022/image/utils.mjs +0 -13
  575. package/esm2022/input/index.mjs +0 -7
  576. package/esm2022/input/input-count.component.mjs +0 -68
  577. package/esm2022/input/input-group.component.mjs +0 -161
  578. package/esm2022/input/input-search.component.mjs +0 -152
  579. package/esm2022/input/input.component.mjs +0 -142
  580. package/esm2022/input/input.directive.mjs +0 -63
  581. package/esm2022/input/module.mjs +0 -51
  582. package/esm2022/input/ngx-tethys-input.mjs +0 -5
  583. package/esm2022/input-number/index.mjs +0 -3
  584. package/esm2022/input-number/input-number.component.mjs +0 -362
  585. package/esm2022/input-number/module.mjs +0 -22
  586. package/esm2022/input-number/ngx-tethys-input-number.mjs +0 -5
  587. package/esm2022/layout/content-main.component.mjs +0 -42
  588. package/esm2022/layout/content-section.component.mjs +0 -42
  589. package/esm2022/layout/content.component.mjs +0 -42
  590. package/esm2022/layout/header.component.mjs +0 -125
  591. package/esm2022/layout/index.mjs +0 -11
  592. package/esm2022/layout/layout.component.mjs +0 -47
  593. package/esm2022/layout/layout.module.mjs +0 -121
  594. package/esm2022/layout/ngx-tethys-layout.mjs +0 -5
  595. package/esm2022/layout/sidebar-content.component.mjs +0 -41
  596. package/esm2022/layout/sidebar-footer.component.mjs +0 -41
  597. package/esm2022/layout/sidebar-header.component.mjs +0 -54
  598. package/esm2022/layout/sidebar.component.mjs +0 -403
  599. package/esm2022/list/index.mjs +0 -7
  600. package/esm2022/list/list-item-meta.component.mjs +0 -38
  601. package/esm2022/list/list-item.component.mjs +0 -25
  602. package/esm2022/list/list.component.mjs +0 -41
  603. package/esm2022/list/list.module.mjs +0 -22
  604. package/esm2022/list/ngx-tethys-list.mjs +0 -5
  605. package/esm2022/list/selection/selection-list.mjs +0 -393
  606. package/esm2022/list/selection/selection.interface.mjs +0 -2
  607. package/esm2022/loading/index.mjs +0 -3
  608. package/esm2022/loading/loading.component.mjs +0 -54
  609. package/esm2022/loading/loading.module.mjs +0 -17
  610. package/esm2022/loading/ngx-tethys-loading.mjs +0 -5
  611. package/esm2022/mention/adapter/adapter.mjs +0 -20
  612. package/esm2022/mention/adapter/editable.adapter.mjs +0 -48
  613. package/esm2022/mention/adapter/index.mjs +0 -16
  614. package/esm2022/mention/adapter/textarea.adapter.mjs +0 -58
  615. package/esm2022/mention/caret-positioner.mjs +0 -194
  616. package/esm2022/mention/index.mjs +0 -5
  617. package/esm2022/mention/interfaces.mjs +0 -2
  618. package/esm2022/mention/mention.directive.mjs +0 -160
  619. package/esm2022/mention/mention.module.mjs +0 -23
  620. package/esm2022/mention/ngx-tethys-mention.mjs +0 -5
  621. package/esm2022/mention/suggestions/suggestions.component.mjs +0 -80
  622. package/esm2022/menu/divider/menu-divider.component.mjs +0 -21
  623. package/esm2022/menu/group/menu-group.component.mjs +0 -187
  624. package/esm2022/menu/index.mjs +0 -9
  625. package/esm2022/menu/item/action/menu-item-action.component.mjs +0 -75
  626. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +0 -33
  627. package/esm2022/menu/item/menu-item.component.mjs +0 -42
  628. package/esm2022/menu/item/name/menu-item-name.component.mjs +0 -32
  629. package/esm2022/menu/menu.component.mjs +0 -39
  630. package/esm2022/menu/menu.module.mjs +0 -49
  631. package/esm2022/menu/ngx-tethys-menu.mjs +0 -5
  632. package/esm2022/message/abstract/abstract-message-container.component.mjs +0 -26
  633. package/esm2022/message/abstract/abstract-message-queue.service.mjs +0 -34
  634. package/esm2022/message/abstract/abstract-message-ref.mjs +0 -22
  635. package/esm2022/message/abstract/abstract-message.component.mjs +0 -76
  636. package/esm2022/message/abstract/abstract-message.service.mjs +0 -29
  637. package/esm2022/message/abstract/index.mjs +0 -6
  638. package/esm2022/message/index.mjs +0 -9
  639. package/esm2022/message/message-container.component.mjs +0 -45
  640. package/esm2022/message/message-queue.service.mjs +0 -25
  641. package/esm2022/message/message-ref.mjs +0 -4
  642. package/esm2022/message/message.component.mjs +0 -61
  643. package/esm2022/message/message.config.mjs +0 -14
  644. package/esm2022/message/message.service.mjs +0 -92
  645. package/esm2022/message/module.mjs +0 -24
  646. package/esm2022/message/ngx-tethys-message.mjs +0 -5
  647. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +0 -43
  648. package/esm2022/nav/icon-nav/icon-nav.component.mjs +0 -45
  649. package/esm2022/nav/index.mjs +0 -7
  650. package/esm2022/nav/nav-ink-bar.directive.mjs +0 -79
  651. package/esm2022/nav/nav-item.directive.mjs +0 -98
  652. package/esm2022/nav/nav.component.mjs +0 -410
  653. package/esm2022/nav/nav.module.mjs +0 -54
  654. package/esm2022/nav/nav.pipe.mjs +0 -24
  655. package/esm2022/nav/ngx-tethys-nav.mjs +0 -5
  656. package/esm2022/ngx-tethys.mjs +0 -5
  657. package/esm2022/notify/index.mjs +0 -8
  658. package/esm2022/notify/module.mjs +0 -24
  659. package/esm2022/notify/ngx-tethys-notify.mjs +0 -5
  660. package/esm2022/notify/notify-container.component.mjs +0 -31
  661. package/esm2022/notify/notify-queue.service.mjs +0 -30
  662. package/esm2022/notify/notify-ref.mjs +0 -4
  663. package/esm2022/notify/notify.component.mjs +0 -99
  664. package/esm2022/notify/notify.config.mjs +0 -14
  665. package/esm2022/notify/notify.service.mjs +0 -97
  666. package/esm2022/pagination/index.mjs +0 -6
  667. package/esm2022/pagination/ngx-tethys-pagination.mjs +0 -5
  668. package/esm2022/pagination/pagination.class.mjs +0 -2
  669. package/esm2022/pagination/pagination.component.mjs +0 -366
  670. package/esm2022/pagination/pagination.config.mjs +0 -30
  671. package/esm2022/pagination/pagination.module.mjs +0 -43
  672. package/esm2022/pagination/pagination.pipe.mjs +0 -53
  673. package/esm2022/popover/body/popover-body.component.mjs +0 -25
  674. package/esm2022/popover/header/popover-header.component.mjs +0 -54
  675. package/esm2022/popover/index.mjs +0 -10
  676. package/esm2022/popover/module.mjs +0 -47
  677. package/esm2022/popover/ngx-tethys-popover.mjs +0 -5
  678. package/esm2022/popover/popover-animations.mjs +0 -22
  679. package/esm2022/popover/popover-container.component.mjs +0 -125
  680. package/esm2022/popover/popover-ref.mjs +0 -25
  681. package/esm2022/popover/popover.config.mjs +0 -38
  682. package/esm2022/popover/popover.directive.mjs +0 -157
  683. package/esm2022/popover/popover.options.mjs +0 -6
  684. package/esm2022/popover/popover.service.mjs +0 -201
  685. package/esm2022/progress/index.mjs +0 -6
  686. package/esm2022/progress/interfaces.mjs +0 -2
  687. package/esm2022/progress/ngx-tethys-progress.mjs +0 -5
  688. package/esm2022/progress/progress-circle.component.mjs +0 -136
  689. package/esm2022/progress/progress-strip.component.mjs +0 -54
  690. package/esm2022/progress/progress.component.mjs +0 -142
  691. package/esm2022/progress/progress.module.mjs +0 -20
  692. package/esm2022/property/index.mjs +0 -4
  693. package/esm2022/property/module.mjs +0 -20
  694. package/esm2022/property/ngx-tethys-property.mjs +0 -5
  695. package/esm2022/property/properties.component.mjs +0 -59
  696. package/esm2022/property/property-item.component.mjs +0 -175
  697. package/esm2022/property-operation/group/property-operation-group.component.mjs +0 -20
  698. package/esm2022/property-operation/index.mjs +0 -4
  699. package/esm2022/property-operation/module.mjs +0 -21
  700. package/esm2022/property-operation/ngx-tethys-property-operation.mjs +0 -5
  701. package/esm2022/property-operation/property-operation.component.mjs +0 -183
  702. package/esm2022/public-api.mjs +0 -2
  703. package/esm2022/radio/button/radio-button.component.mjs +0 -56
  704. package/esm2022/radio/group/radio-group.component.mjs +0 -138
  705. package/esm2022/radio/index.mjs +0 -5
  706. package/esm2022/radio/module.mjs +0 -20
  707. package/esm2022/radio/ngx-tethys-radio.mjs +0 -5
  708. package/esm2022/radio/radio.component.mjs +0 -58
  709. package/esm2022/rate/index.mjs +0 -4
  710. package/esm2022/rate/module.mjs +0 -23
  711. package/esm2022/rate/ngx-tethys-rate.mjs +0 -5
  712. package/esm2022/rate/rate-item.component.mjs +0 -76
  713. package/esm2022/rate/rate.component.mjs +0 -244
  714. package/esm2022/resizable/index.mjs +0 -8
  715. package/esm2022/resizable/interface.mjs +0 -2
  716. package/esm2022/resizable/module.mjs +0 -19
  717. package/esm2022/resizable/ngx-tethys-resizable.mjs +0 -5
  718. package/esm2022/resizable/resizable.directive.mjs +0 -363
  719. package/esm2022/resizable/resizable.service.mjs +0 -69
  720. package/esm2022/resizable/resize-handle.component.mjs +0 -104
  721. package/esm2022/resizable/resize-handles.component.mjs +0 -64
  722. package/esm2022/resizable/utils.mjs +0 -14
  723. package/esm2022/result/index.mjs +0 -3
  724. package/esm2022/result/ngx-tethys-result.mjs +0 -5
  725. package/esm2022/result/result.component.mjs +0 -43
  726. package/esm2022/result/result.module.mjs +0 -17
  727. package/esm2022/segment/index.mjs +0 -5
  728. package/esm2022/segment/ngx-tethys-segment.mjs +0 -5
  729. package/esm2022/segment/segment-item.component.mjs +0 -87
  730. package/esm2022/segment/segment.component.mjs +0 -143
  731. package/esm2022/segment/segment.module.mjs +0 -20
  732. package/esm2022/segment/segment.token.mjs +0 -3
  733. package/esm2022/segment/types.mjs +0 -2
  734. package/esm2022/select/custom-select/custom-select.component.mjs +0 -904
  735. package/esm2022/select/index.mjs +0 -5
  736. package/esm2022/select/module.mjs +0 -62
  737. package/esm2022/select/native-select/native-select.component.mjs +0 -98
  738. package/esm2022/select/ngx-tethys-select.mjs +0 -5
  739. package/esm2022/select/select.config.mjs +0 -21
  740. package/esm2022/shared/base-form-check.component.mjs +0 -120
  741. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +0 -57
  742. package/esm2022/shared/directives/thy-autofocus.directive.mjs +0 -60
  743. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +0 -39
  744. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +0 -43
  745. package/esm2022/shared/directives/thy-drag-drop.directive.mjs +0 -51
  746. package/esm2022/shared/directives/thy-enter.directive.mjs +0 -43
  747. package/esm2022/shared/directives/thy-scroll.directive.mjs +0 -84
  748. package/esm2022/shared/directives/thy-show.mjs +0 -59
  749. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +0 -57
  750. package/esm2022/shared/directives/view-outlet.directive.mjs +0 -85
  751. package/esm2022/shared/index.mjs +0 -16
  752. package/esm2022/shared/ng-transclude.directive.mjs +0 -32
  753. package/esm2022/shared/ngx-tethys-shared.mjs +0 -5
  754. package/esm2022/shared/option/group/option-group.component.mjs +0 -92
  755. package/esm2022/shared/option/index.mjs +0 -9
  756. package/esm2022/shared/option/list-option/list-option.component.mjs +0 -96
  757. package/esm2022/shared/option/module.mjs +0 -29
  758. package/esm2022/shared/option/option-group.component.mjs +0 -25
  759. package/esm2022/shared/option/option.component.mjs +0 -181
  760. package/esm2022/shared/option/option.token.mjs +0 -14
  761. package/esm2022/shared/option/options-container.component.mjs +0 -29
  762. package/esm2022/shared/option/select-option-base.mjs +0 -3
  763. package/esm2022/shared/select/index.mjs +0 -3
  764. package/esm2022/shared/select/module.mjs +0 -27
  765. package/esm2022/shared/select/select-control/select-control.component.mjs +0 -280
  766. package/esm2022/shared/shared.module.mjs +0 -71
  767. package/esm2022/skeleton/index.mjs +0 -9
  768. package/esm2022/skeleton/module.mjs +0 -27
  769. package/esm2022/skeleton/ngx-tethys-skeleton.mjs +0 -5
  770. package/esm2022/skeleton/skeleton-circle.component.mjs +0 -92
  771. package/esm2022/skeleton/skeleton-rectangle.component.mjs +0 -100
  772. package/esm2022/skeleton/skeleton.component.mjs +0 -32
  773. package/esm2022/skeleton/skeleton.config.mjs +0 -8
  774. package/esm2022/skeleton/stylized/bullet-list.component.mjs +0 -124
  775. package/esm2022/skeleton/stylized/list.component.mjs +0 -95
  776. package/esm2022/skeleton/stylized/paragraph.component.mjs +0 -107
  777. package/esm2022/slide/drawer/drawer-container.directive.mjs +0 -21
  778. package/esm2022/slide/index.mjs +0 -13
  779. package/esm2022/slide/ngx-tethys-slide.mjs +0 -5
  780. package/esm2022/slide/slide-animations.mjs +0 -24
  781. package/esm2022/slide/slide-body/slide-body-section.component.mjs +0 -41
  782. package/esm2022/slide/slide-body/slide-body.component.mjs +0 -25
  783. package/esm2022/slide/slide-container.component.mjs +0 -192
  784. package/esm2022/slide/slide-footer/slide-footer.component.mjs +0 -26
  785. package/esm2022/slide/slide-header/slide-header.component.mjs +0 -59
  786. package/esm2022/slide/slide-layout/slide-layout.component.mjs +0 -27
  787. package/esm2022/slide/slide-ref.service.mjs +0 -32
  788. package/esm2022/slide/slide.config.mjs +0 -38
  789. package/esm2022/slide/slide.module.mjs +0 -65
  790. package/esm2022/slide/slide.service.mjs +0 -104
  791. package/esm2022/slider/index.mjs +0 -3
  792. package/esm2022/slider/ngx-tethys-slider.mjs +0 -5
  793. package/esm2022/slider/slider.component.mjs +0 -346
  794. package/esm2022/slider/slider.module.mjs +0 -19
  795. package/esm2022/space/index.mjs +0 -3
  796. package/esm2022/space/ngx-tethys-space.mjs +0 -5
  797. package/esm2022/space/space.component.mjs +0 -88
  798. package/esm2022/space/space.module.mjs +0 -17
  799. package/esm2022/statistic/index.mjs +0 -3
  800. package/esm2022/statistic/ngx-tethys-statistic.mjs +0 -5
  801. package/esm2022/statistic/statistic.component.mjs +0 -184
  802. package/esm2022/statistic/statistic.module.mjs +0 -20
  803. package/esm2022/stepper/index.mjs +0 -6
  804. package/esm2022/stepper/ngx-tethys-stepper.mjs +0 -5
  805. package/esm2022/stepper/step-header.component.mjs +0 -40
  806. package/esm2022/stepper/step.component.mjs +0 -32
  807. package/esm2022/stepper/stepper-button.directive.mjs +0 -56
  808. package/esm2022/stepper/stepper.component.mjs +0 -105
  809. package/esm2022/stepper/stepper.module.mjs +0 -21
  810. package/esm2022/strength/index.mjs +0 -3
  811. package/esm2022/strength/ngx-tethys-strength.mjs +0 -5
  812. package/esm2022/strength/strength.component.mjs +0 -122
  813. package/esm2022/strength/strength.module.mjs +0 -17
  814. package/esm2022/switch/index.mjs +0 -3
  815. package/esm2022/switch/ngx-tethys-switch.mjs +0 -5
  816. package/esm2022/switch/switch.component.mjs +0 -181
  817. package/esm2022/switch/switch.module.mjs +0 -17
  818. package/esm2022/table/enums/column-skeleton-type.mjs +0 -8
  819. package/esm2022/table/enums/index.mjs +0 -2
  820. package/esm2022/table/index.mjs +0 -9
  821. package/esm2022/table/ngx-tethys-table.mjs +0 -5
  822. package/esm2022/table/pipes/drag.pipe.mjs +0 -20
  823. package/esm2022/table/pipes/table.pipe.mjs +0 -20
  824. package/esm2022/table/table-column.component.mjs +0 -200
  825. package/esm2022/table/table-skeleton.component.mjs +0 -165
  826. package/esm2022/table/table.component.mjs +0 -966
  827. package/esm2022/table/table.interface.mjs +0 -7
  828. package/esm2022/table/table.module.mjs +0 -75
  829. package/esm2022/tabs/index.mjs +0 -5
  830. package/esm2022/tabs/ngx-tethys-tabs.mjs +0 -5
  831. package/esm2022/tabs/tab-content.component.mjs +0 -52
  832. package/esm2022/tabs/tab.component.mjs +0 -36
  833. package/esm2022/tabs/tabs.component.mjs +0 -139
  834. package/esm2022/tabs/tabs.module.mjs +0 -21
  835. package/esm2022/tabs/types.mjs +0 -2
  836. package/esm2022/tag/index.mjs +0 -4
  837. package/esm2022/tag/ngx-tethys-tag.mjs +0 -5
  838. package/esm2022/tag/tag.component.mjs +0 -109
  839. package/esm2022/tag/tag.module.mjs +0 -19
  840. package/esm2022/tag/tags.component.mjs +0 -24
  841. package/esm2022/testing/data-transfer.mjs +0 -55
  842. package/esm2022/testing/dispatcher-events.mjs +0 -46
  843. package/esm2022/testing/element-focus.mjs +0 -18
  844. package/esm2022/testing/events.mjs +0 -145
  845. package/esm2022/testing/index.mjs +0 -8
  846. package/esm2022/testing/ngx-tethys-testing.mjs +0 -5
  847. package/esm2022/testing/thy-icon.mjs +0 -50
  848. package/esm2022/testing/type-in-element.mjs +0 -20
  849. package/esm2022/testing/xhr-mock.mjs +0 -100
  850. package/esm2022/time-picker/index.mjs +0 -8
  851. package/esm2022/time-picker/inner/inner-time-picker.class.mjs +0 -2
  852. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +0 -239
  853. package/esm2022/time-picker/inner/inner-time-picker.config.mjs +0 -45
  854. package/esm2022/time-picker/inner/inner-time-picker.store.mjs +0 -134
  855. package/esm2022/time-picker/ngx-tethys-time-picker.mjs +0 -5
  856. package/esm2022/time-picker/time-picker-controls.util.mjs +0 -118
  857. package/esm2022/time-picker/time-picker-panel.component.mjs +0 -265
  858. package/esm2022/time-picker/time-picker.component.mjs +0 -363
  859. package/esm2022/time-picker/time-picker.module.mjs +0 -54
  860. package/esm2022/time-picker/time-picker.utils.mjs +0 -131
  861. package/esm2022/timeline/index.mjs +0 -5
  862. package/esm2022/timeline/ngx-tethys-timeline.mjs +0 -5
  863. package/esm2022/timeline/timeline-item.component.mjs +0 -59
  864. package/esm2022/timeline/timeline.component.mjs +0 -156
  865. package/esm2022/timeline/timeline.module.mjs +0 -21
  866. package/esm2022/timeline/timeline.service.mjs +0 -17
  867. package/esm2022/tooltip/index.mjs +0 -9
  868. package/esm2022/tooltip/interface.mjs +0 -2
  869. package/esm2022/tooltip/ngx-tethys-tooltip.mjs +0 -5
  870. package/esm2022/tooltip/tooltip-animations.mjs +0 -23
  871. package/esm2022/tooltip/tooltip-ref.mjs +0 -147
  872. package/esm2022/tooltip/tooltip.component.mjs +0 -103
  873. package/esm2022/tooltip/tooltip.config.mjs +0 -17
  874. package/esm2022/tooltip/tooltip.directive.mjs +0 -150
  875. package/esm2022/tooltip/tooltip.module.mjs +0 -22
  876. package/esm2022/tooltip/tooltip.service.mjs +0 -28
  877. package/esm2022/transfer/index.mjs +0 -5
  878. package/esm2022/transfer/ngx-tethys-transfer.mjs +0 -5
  879. package/esm2022/transfer/transfer-list.component.mjs +0 -154
  880. package/esm2022/transfer/transfer.component.mjs +0 -180
  881. package/esm2022/transfer/transfer.interface.mjs +0 -6
  882. package/esm2022/transfer/transfer.module.mjs +0 -50
  883. package/esm2022/tree/index.mjs +0 -7
  884. package/esm2022/tree/ngx-tethys-tree.mjs +0 -5
  885. package/esm2022/tree/tree-abstract.mjs +0 -3
  886. package/esm2022/tree/tree-node.class.mjs +0 -93
  887. package/esm2022/tree/tree-node.component.mjs +0 -212
  888. package/esm2022/tree/tree.class.mjs +0 -15
  889. package/esm2022/tree/tree.component.mjs +0 -648
  890. package/esm2022/tree/tree.module.mjs +0 -74
  891. package/esm2022/tree/tree.pipe.mjs +0 -26
  892. package/esm2022/tree/tree.service.mjs +0 -187
  893. package/esm2022/tree-select/index.mjs +0 -4
  894. package/esm2022/tree-select/module.mjs +0 -52
  895. package/esm2022/tree-select/ngx-tethys-tree-select.mjs +0 -5
  896. package/esm2022/tree-select/tree-select.class.mjs +0 -2
  897. package/esm2022/tree-select/tree-select.component.mjs +0 -653
  898. package/esm2022/types/common.mjs +0 -2
  899. package/esm2022/types/dictionary.mjs +0 -2
  900. package/esm2022/types/index.mjs +0 -4
  901. package/esm2022/types/ngx-tethys-types.mjs +0 -5
  902. package/esm2022/types/pagination.mjs +0 -2
  903. package/esm2022/typography/bg-color.directive.mjs +0 -51
  904. package/esm2022/typography/index.mjs +0 -5
  905. package/esm2022/typography/module.mjs +0 -21
  906. package/esm2022/typography/ngx-tethys-typography.mjs +0 -5
  907. package/esm2022/typography/text/text.component.mjs +0 -23
  908. package/esm2022/typography/text-color.directive.mjs +0 -52
  909. package/esm2022/upload/constant.mjs +0 -75
  910. package/esm2022/upload/file-drop.directive.mjs +0 -166
  911. package/esm2022/upload/file-select-base.mjs +0 -75
  912. package/esm2022/upload/file-select.component.mjs +0 -98
  913. package/esm2022/upload/index.mjs +0 -7
  914. package/esm2022/upload/module.mjs +0 -22
  915. package/esm2022/upload/ngx-tethys-upload.mjs +0 -5
  916. package/esm2022/upload/types.mjs +0 -2
  917. package/esm2022/upload/upload.config.mjs +0 -21
  918. package/esm2022/upload/upload.service.mjs +0 -169
  919. package/esm2022/upload/util.mjs +0 -27
  920. package/esm2022/util/date/functions.mjs +0 -84
  921. package/esm2022/util/date/tiny-date.mjs +0 -362
  922. package/esm2022/util/dom.mjs +0 -247
  923. package/esm2022/util/helpers/helpers.mjs +0 -293
  924. package/esm2022/util/helpers/index.mjs +0 -2
  925. package/esm2022/util/immutable.mjs +0 -108
  926. package/esm2022/util/index.mjs +0 -16
  927. package/esm2022/util/keycodes.mjs +0 -2
  928. package/esm2022/util/logger/index.mjs +0 -2
  929. package/esm2022/util/logger/logger.mjs +0 -42
  930. package/esm2022/util/ng.mjs +0 -7
  931. package/esm2022/util/ngx-tethys-util.mjs +0 -5
  932. package/esm2022/util/references.mjs +0 -84
  933. package/esm2022/version.mjs +0 -3
  934. package/esm2022/vote/index.mjs +0 -3
  935. package/esm2022/vote/ngx-tethys-vote.mjs +0 -5
  936. package/esm2022/vote/vote.component.mjs +0 -130
  937. package/esm2022/vote/vote.module.mjs +0 -20
  938. package/esm2022/watermark/config.mjs +0 -20
  939. package/esm2022/watermark/index.mjs +0 -3
  940. package/esm2022/watermark/ngx-tethys-watermark.mjs +0 -5
  941. package/esm2022/watermark/watermark.directive.mjs +0 -178
  942. package/esm2022/watermark/watermark.module.mjs +0 -19
  943. package/schematics/ng-update/update-18/complete.d.ts +0 -3
  944. package/schematics/ng-update/update-18/complete.js +0 -13
  945. /package/schematics/ng-update/{update-18 → update-19}/class-name-migration.d.ts +0 -0
  946. /package/schematics/ng-update/{update-18 → update-19}/class-name-migration.js +0 -0
  947. /package/schematics/ng-update/{update-18 → update-19}/index.d.ts +0 -0
  948. /package/schematics/ng-update/{update-18 → update-19}/index.spec.d.ts +0 -0
  949. /package/schematics/ng-update/{update-18 → update-19}/update-data.d.ts +0 -0
  950. /package/schematics/ng-update/{update-18 → update-19}/update-data.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-util.mjs","sources":["../../../src/util/date/functions.ts","../../../src/util/date/tiny-date.ts","../../../src/util/helpers/helpers.ts","../../../src/util/dom.ts","../../../src/util/immutable.ts","../../../src/util/references.ts","../../../src/util/ng.ts","../../../src/util/logger/logger.ts","../../../src/util/ngx-tethys-util.ts"],"sourcesContent":["import * as dateFns from 'date-fns';\n\nexport const differenceInCalendarDays = dateFns.differenceInCalendarDays;\nexport const differenceInCalendarMonths = dateFns.differenceInCalendarMonths;\nexport const differenceInCalendarYears = dateFns.differenceInCalendarYears;\nexport const differenceInCalendarQuarters = dateFns.differenceInCalendarQuarters;\nexport const differenceInWeeks = dateFns.differenceInWeeks;\nexport const differenceInHours = dateFns.differenceInHours;\nexport const differenceInMinutes = dateFns.differenceInMinutes;\nexport const differenceInSeconds = dateFns.differenceInSeconds;\nexport const differenceInDays = dateFns.differenceInDays;\nexport const differenceInMonths = dateFns.differenceInMonths;\nexport const differenceInYears = dateFns.differenceInYears;\nexport const isSameDay = dateFns.isSameDay;\nexport const isSameHour = dateFns.isSameHour;\nexport const isSameMinute = dateFns.isSameMinute;\nexport const isSameMonth = dateFns.isSameMonth;\nexport const isSameSecond = dateFns.isSameSecond;\nexport const isSameYear = dateFns.isSameYear;\nexport const isSameQuarter = dateFns.isSameQuarter;\nexport const isToday = dateFns.isToday;\nexport const isTomorrow = dateFns.isTomorrow;\nexport const isValid = dateFns.isValid;\nexport const isAfter = dateFns.isAfter;\nexport const setYear = dateFns.setYear;\nexport const startOfMonth = dateFns.startOfMonth;\nexport const startOfWeek = dateFns.startOfWeek;\nexport const addMonths = dateFns.addMonths;\nexport const addYears = dateFns.addYears;\nexport const setDay = dateFns.setDay;\nexport const setDate = dateFns.setDate;\nexport const setMonth = dateFns.setMonth;\nexport const setQuarter = dateFns.setQuarter;\nexport const getUnixTime = dateFns.getUnixTime;\nexport const startOfDay = dateFns.startOfDay;\nexport const endOfDay = dateFns.endOfDay;\nexport const fromUnixTime = dateFns.fromUnixTime;\nexport const isWeekend = dateFns.isWeekend;\nexport const getTime = dateFns.getTime;\nexport const getDay = dateFns.getDay;\nexport const getWeek = dateFns.getWeek;\nexport const getMonth = dateFns.getMonth;\nexport const getYear = dateFns.getYear;\nexport const getDate = dateFns.getDate;\nexport const getHours = dateFns.getHours;\nexport const getMinutes = dateFns.getMinutes;\nexport const getSeconds = dateFns.getSeconds;\nexport const getDaysInMonth = dateFns.getDaysInMonth;\nexport const addSeconds = dateFns.addSeconds;\nexport const addMinutes = dateFns.addMinutes;\nexport const addHours = dateFns.addHours;\nexport const addWeeks = dateFns.addWeeks;\nexport const addQuarters = dateFns.addQuarters;\nexport const startOfQuarter = dateFns.startOfQuarter;\nexport const startOfYear = dateFns.startOfYear;\nexport const startOfMinute = dateFns.startOfMinute;\nexport const startOfHour = dateFns.startOfHour;\nexport const startOfISOWeek = dateFns.startOfISOWeek;\nexport const endOfMinute = dateFns.endOfMinute;\nexport const endOfHour = dateFns.endOfHour;\nexport const endOfWeek = dateFns.endOfWeek;\nexport const endOfMonth = dateFns.endOfMonth;\nexport const endOfQuarter = dateFns.endOfQuarter;\nexport const endOfYear = dateFns.endOfYear;\nexport const endOfISOWeek = dateFns.endOfISOWeek;\nexport const format = dateFns.format;\nexport const getQuarter = dateFns.getQuarter;\nexport const addDays = dateFns.addDays;\nexport const subMilliseconds = dateFns.subMilliseconds;\nexport const subSeconds = dateFns.subSeconds;\nexport const subMinutes = dateFns.subMinutes;\nexport const subHours = dateFns.subHours;\nexport const subDays = dateFns.subDays;\nexport const subBusinessDays = dateFns.subBusinessDays;\nexport const subWeeks = dateFns.subWeeks;\nexport const subMonths = dateFns.subMonths;\nexport const subQuarters = dateFns.subQuarters;\nexport const subYears = dateFns.subYears;\nexport const eachDayOfInterval = dateFns.eachDayOfInterval;\nexport const eachWeekOfInterval = dateFns.eachWeekOfInterval;\nexport const eachMonthOfInterval = dateFns.eachMonthOfInterval;\nexport const eachYearOfInterval = dateFns.eachYearOfInterval;\nexport const eachHourOfInterval = dateFns.eachHourOfInterval;\nexport const setDefaultOptions = dateFns.setDefaultOptions;\n","import { TZDate } from '@date-fns/tz';\nimport { FirstWeekContainsDate, Locale, setHours, setMinutes, setSeconds } from 'date-fns';\nimport { SafeAny } from 'ngx-tethys/types';\nimport {\n addDays,\n addHours,\n addMinutes,\n addMonths,\n addQuarters,\n addSeconds,\n addWeeks,\n addYears,\n differenceInCalendarDays,\n differenceInCalendarMonths,\n differenceInCalendarQuarters,\n differenceInCalendarYears,\n differenceInDays,\n differenceInHours,\n differenceInMinutes,\n differenceInSeconds,\n differenceInWeeks,\n endOfDay,\n endOfISOWeek,\n endOfMonth,\n endOfQuarter,\n endOfWeek,\n endOfYear,\n format,\n fromUnixTime,\n getDaysInMonth,\n getQuarter,\n getUnixTime,\n getWeek,\n isSameDay,\n isSameHour,\n isSameMinute,\n isSameMonth,\n isSameQuarter,\n isSameSecond,\n isSameYear,\n isToday,\n isTomorrow,\n isValid,\n isWeekend,\n setDay,\n setMonth,\n setQuarter,\n setYear,\n startOfDay,\n startOfISOWeek,\n startOfMonth,\n startOfQuarter,\n startOfWeek,\n startOfYear,\n subDays,\n subWeeks\n} from './functions';\n\nexport type TinyDateCompareGrain = 'decade' | 'year' | 'quarter' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second';\n\nexport type WeekDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport type TinyDateType = TinyDate | Date | null;\n\nexport function sortRangeValue(rangeValue: TinyDate[]): TinyDate[] {\n if (Array.isArray(rangeValue)) {\n const [start, end] = rangeValue;\n return start && end && start.isAfterSecond(end) ? [end, start] : [start, end];\n }\n return rangeValue;\n}\n\nexport const DEFAULT_TIMEZONE = 'Asia/Shanghai';\n\nexport class TinyDate implements Record<string, any> {\n nativeDate: Date;\n\n private useTimeZone: string;\n\n protected static defaultTimeZone: string = DEFAULT_TIMEZONE;\n\n constructor(date?: Date | string | number, zone?: string) {\n this.useTimeZone = zone || TinyDate.defaultTimeZone;\n if (date) {\n if (date instanceof Date) {\n this.nativeDate = TinyDate.utcToZonedTime(date, this.useTimeZone);\n } else if (typeof date === 'string' || typeof date === 'number') {\n this.nativeDate = new TZDate(date as SafeAny, this.useTimeZone);\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw new Error(\n `The input date type is not supported expect Date | string | number | { date: number; with_time: 0 | 1}, actual ${JSON.stringify(\n date\n )}`\n );\n }\n } else {\n this.nativeDate = new TZDate(Date.now(), this.useTimeZone);\n }\n }\n\n static setDefaultTimeZone(zone: string) {\n TinyDate.defaultTimeZone = zone ?? DEFAULT_TIMEZONE;\n }\n\n static utcToZonedTime(value: Date | number, timeZone?: string): Date {\n return TZDate.tz(timeZone || TinyDate.defaultTimeZone, value as any);\n }\n\n static createDateInTimeZone(\n year: number,\n month: number,\n day: number,\n hours: number,\n minutes: number,\n seconds: number,\n timeZone?: string\n ): Date {\n return new TZDate(year, month, day, hours, minutes, seconds, timeZone || TinyDate.defaultTimeZone);\n }\n\n static fromUnixTime(unixTime: number, timeZone?: string): TinyDate {\n return new TinyDate(fromUnixTime(unixTime), timeZone || TinyDate.defaultTimeZone);\n }\n\n // get\n getTime(): number {\n return this.nativeDate.getTime();\n }\n\n getDate(): number {\n return this.nativeDate.getDate();\n }\n\n getYear(): number {\n return this.nativeDate.getFullYear();\n }\n\n getQuarter(): number {\n return getQuarter(this.nativeDate);\n }\n\n getMonth(): number {\n return this.nativeDate.getMonth();\n }\n\n getFullYear(): number {\n return this.nativeDate.getFullYear();\n }\n\n getWeek(options: { locale?: Locale; weekStartsOn?: WeekDayIndex } = { weekStartsOn: 1 }): number {\n return getWeek(this.nativeDate, options);\n }\n\n getDay(): number {\n return this.nativeDate.getDay();\n }\n\n getHours(): number {\n return this.nativeDate.getHours();\n }\n\n getMinutes(): number {\n return this.nativeDate.getMinutes();\n }\n\n getSeconds(): number {\n return this.nativeDate.getSeconds();\n }\n\n getMilliseconds(): number {\n return this.nativeDate.getMilliseconds();\n }\n\n getDaysInMonth() {\n return getDaysInMonth(this.nativeDate);\n }\n\n getDaysInQuarter() {\n return differenceInCalendarDays(this.endOfQuarter().addSeconds(1).nativeDate, this.startOfQuarter().nativeDate);\n }\n\n // set\n setDate(amount: number): TinyDate {\n const date = new Date(this.nativeDate);\n date.setDate(amount);\n return new TinyDate(date, this.useTimeZone);\n }\n\n setHms(hour: number, minute: number, second: number): TinyDate {\n const date = new Date(this.nativeDate);\n date.setHours(hour, minute, second);\n return new TinyDate(date, this.useTimeZone);\n }\n\n setYear(year: number): TinyDate {\n return new TinyDate(setYear(this.nativeDate, year), this.useTimeZone);\n }\n\n setMonth(month: number): TinyDate {\n return new TinyDate(setMonth(this.nativeDate, month), this.useTimeZone);\n }\n\n setQuarter(quarter: number): TinyDate {\n return new TinyDate(setQuarter(this.nativeDate, quarter), this.useTimeZone);\n }\n\n setDay(day: number, options?: { weekStartsOn: WeekDayIndex }): TinyDate {\n return new TinyDate(setDay(this.nativeDate, day, options), this.useTimeZone);\n }\n\n setHours(hours: number): TinyDate {\n return new TinyDate(setHours(this.nativeDate, hours), this.useTimeZone);\n }\n\n setMinutes(minutes: number): TinyDate {\n return new TinyDate(setMinutes(this.nativeDate, minutes), this.useTimeZone);\n }\n\n setSeconds(seconds: number): TinyDate {\n return new TinyDate(setSeconds(this.nativeDate, seconds), this.useTimeZone);\n }\n\n // add\n addYears(amount: number): TinyDate {\n return new TinyDate(addYears(this.nativeDate, amount), this.useTimeZone);\n }\n\n addQuarters(amount: number): TinyDate {\n return new TinyDate(addQuarters(this.nativeDate, amount), this.useTimeZone);\n }\n\n addMonths(amount: number): TinyDate {\n return new TinyDate(addMonths(this.nativeDate, amount), this.useTimeZone);\n }\n\n addWeeks(amount: number): TinyDate {\n return new TinyDate(addWeeks(this.nativeDate, amount), this.useTimeZone);\n }\n\n addDays(amount: number): TinyDate {\n return new TinyDate(addDays(this.nativeDate, amount), this.useTimeZone);\n }\n addHours(amount: number): TinyDate {\n return new TinyDate(addHours(this.nativeDate, amount), this.useTimeZone);\n }\n\n addSeconds(amount: number): TinyDate {\n return new TinyDate(addSeconds(this.nativeDate, amount), this.useTimeZone);\n }\n\n addMinutes(amount: number): TinyDate {\n return new TinyDate(addMinutes(this.nativeDate, amount), this.useTimeZone);\n }\n\n // isSame\n\n isSame(date: TinyDateType, grain: TinyDateCompareGrain = 'day'): boolean {\n let fn;\n switch (grain) {\n case 'decade':\n fn = (pre: Date, next: Date) => Math.abs(pre.getFullYear() - next.getFullYear()) < 11;\n break;\n case 'year':\n fn = isSameYear;\n break;\n case 'month':\n fn = isSameMonth;\n break;\n case 'quarter':\n fn = isSameQuarter;\n break;\n case 'day':\n fn = isSameDay;\n break;\n case 'hour':\n fn = isSameHour;\n break;\n case 'minute':\n fn = isSameMinute;\n break;\n case 'second':\n fn = isSameSecond;\n break;\n default:\n fn = isSameDay;\n break;\n }\n return fn(this.nativeDate, this.toNativeDate(date));\n }\n\n isSameYear(date: TinyDateType): boolean {\n return this.isSame(date, 'year');\n }\n\n isSameMonth(date: TinyDateType): boolean {\n return this.isSame(date, 'month');\n }\n\n isSameQuarter(date: TinyDateType): boolean {\n return this.isSame(date, 'quarter');\n }\n\n isSameDay(date: TinyDateType): boolean {\n return this.isSame(date, 'day');\n }\n\n isSameHour(date: TinyDateType): boolean {\n return this.isSame(date, 'hour');\n }\n\n isSameMinute(date: TinyDateType): boolean {\n return this.isSame(date, 'minute');\n }\n\n isSameSecond(date: TinyDateType): boolean {\n return this.isSame(date, 'second');\n }\n\n // isBefore and isAfter\n isBeforeYear(date: TinyDateType): boolean {\n return this.compare(date, 'year');\n }\n\n isBeforeQuarter(date: TinyDate): boolean {\n return this.compare(date, 'quarter');\n }\n\n isBeforeMonth(date: TinyDateType): boolean {\n return this.compare(date, 'month');\n }\n\n isBeforeWeek(date: TinyDateType): boolean {\n return this.compare(date, 'week');\n }\n\n isBeforeDay(date: TinyDateType): boolean {\n return this.compare(date, 'day');\n }\n\n isBeforeHour(date: TinyDateType): boolean {\n return this.compare(date, 'hour');\n }\n\n isBeforeMinute(date: TinyDateType): boolean {\n return this.compare(date, 'minute');\n }\n\n isBeforeSecond(date: TinyDateType): boolean {\n return this.compare(date, 'second');\n }\n\n isAfterYear(date: TinyDateType): boolean {\n return this.compare(date, 'year', false);\n }\n\n isAfterQuarter(date: TinyDate): boolean {\n return this.compare(date, 'quarter', false);\n }\n\n isAfterMonth(date: TinyDateType): boolean {\n return this.compare(date, 'month', false);\n }\n\n isAfterWeek(date: TinyDateType): boolean {\n return this.compare(date, 'week', false);\n }\n\n isAfterDay(date: TinyDateType): boolean {\n return this.compare(date, 'day', false);\n }\n\n isAfterHour(date: TinyDateType): boolean {\n return this.compare(date, 'hour', false);\n }\n\n isAfterMinute(date: TinyDateType): boolean {\n return this.compare(date, 'minute', false);\n }\n\n isAfterSecond(date: TinyDateType): boolean {\n return this.compare(date, 'second', false);\n }\n\n // is\n isWeekend(): boolean {\n return isWeekend(this.nativeDate);\n }\n\n isToday(): boolean {\n return isToday(this.nativeDate);\n }\n\n isTomorrow(): boolean {\n return isTomorrow(this.nativeDate);\n }\n\n isValid(): boolean {\n return isValid(this.nativeDate);\n }\n\n // startOf and endOf\n startOfYear(): TinyDate {\n return new TinyDate(startOfYear(this.nativeDate), this.useTimeZone);\n }\n\n startOfQuarter(): TinyDate {\n return new TinyDate(startOfQuarter(this.nativeDate), this.useTimeZone);\n }\n\n startOfMonth(): TinyDate {\n return new TinyDate(startOfMonth(this.nativeDate), this.useTimeZone);\n }\n\n startOfWeek(options?: { locale?: Locale; weekStartsOn?: WeekDayIndex }): TinyDate {\n return new TinyDate(startOfWeek(this.nativeDate, options), this.useTimeZone);\n }\n\n startOfDay(): TinyDate {\n return new TinyDate(startOfDay(this.nativeDate), this.useTimeZone);\n }\n\n endOfYear(): TinyDate {\n return new TinyDate(endOfYear(this.nativeDate), this.useTimeZone);\n }\n\n endOfQuarter(): TinyDate {\n return new TinyDate(endOfQuarter(this.nativeDate), this.useTimeZone);\n }\n\n endOfMonth(): TinyDate {\n return new TinyDate(endOfMonth(this.nativeDate), this.useTimeZone);\n }\n\n endOfWeek(options?: { locale?: Locale; weekStartsOn?: WeekDayIndex }): TinyDate {\n return new TinyDate(endOfWeek(this.nativeDate, options), this.useTimeZone);\n }\n\n endOfDay(): TinyDate {\n return new TinyDate(endOfDay(this.nativeDate), this.useTimeZone);\n }\n\n // other\n format(\n mat: string,\n options?: {\n locale?: Locale;\n weekStartsOn?: WeekDayIndex;\n firstWeekContainsDate?: FirstWeekContainsDate;\n useAdditionalWeekYearTokens?: boolean;\n useAdditionalDayOfYearTokens?: boolean;\n }\n ) {\n return format(this.nativeDate, mat, options);\n }\n\n calendarStart(options?: { weekStartsOn: WeekDayIndex | undefined }): TinyDate {\n return new TinyDate(startOfWeek(startOfMonth(this.nativeDate), options), this.useTimeZone);\n }\n\n clone(): TinyDate {\n return new TinyDate(new Date(this.nativeDate), this.useTimeZone);\n }\n\n getUnixTime(): number {\n return getUnixTime(this.nativeDate);\n }\n\n compare(date: TinyDateType, grain: TinyDateCompareGrain = 'day', isBefore: boolean = true): boolean {\n if (date === null) {\n return false;\n }\n let fn;\n switch (grain) {\n case 'year':\n fn = differenceInCalendarYears;\n break;\n case 'quarter':\n fn = differenceInCalendarQuarters;\n break;\n case 'month':\n fn = differenceInCalendarMonths;\n break;\n case 'day':\n fn = differenceInCalendarDays;\n break;\n case 'week':\n fn = differenceInWeeks;\n break;\n case 'hour':\n fn = differenceInHours;\n break;\n case 'minute':\n fn = differenceInMinutes;\n break;\n case 'second':\n fn = differenceInSeconds;\n break;\n default:\n fn = differenceInCalendarDays;\n break;\n }\n return isBefore ? fn(this.nativeDate, this.toNativeDate(date)) < 0 : fn(this.nativeDate, this.toNativeDate(date)) > 0;\n }\n\n private toNativeDate(date: any): Date {\n return date instanceof TinyDate ? date.nativeDate : date;\n }\n\n startOfISOWeek(): TinyDate {\n return new TinyDate(startOfISOWeek(this.nativeDate), this.useTimeZone);\n }\n\n endOfISOWeek(): TinyDate {\n return new TinyDate(endOfISOWeek(this.nativeDate), this.useTimeZone);\n }\n\n differenceInDays(date: Date): number {\n return differenceInDays(this.nativeDate, date);\n }\n\n differenceInHours(date: Date): number {\n return differenceInHours(this.nativeDate, date);\n }\n\n subWeeks(amount: number): TinyDate {\n return new TinyDate(subWeeks(this.nativeDate, amount), this.useTimeZone);\n }\n\n subDays(amount: number): TinyDate {\n return new TinyDate(subDays(this.nativeDate, amount), this.useTimeZone);\n }\n}\n","import { _isNumberValue, coerceCssPixelValue as coerceCssPixel } from '@angular/cdk/coercion';\nimport { ElementRef, TemplateRef } from '@angular/core';\n\nexport function isUndefined(value: any): value is undefined {\n return value === undefined;\n}\n\nexport function isNull(value: any): value is null {\n return value === null;\n}\n\nexport function isUndefinedOrNull(value: any): value is undefined | null {\n return isUndefined(value) || isNull(value);\n}\n\nexport function isArray<T = any>(value: any): value is Array<T> {\n return value && baseGetTag(value) === '[object Array]';\n}\n\nexport function isEmpty(value?: any): boolean {\n return !(isArray(value) && value.length > 0);\n}\n\nexport function isString(value?: any): value is string {\n return typeof value == 'string' || (!isArray(value) && isObjectLike(value) && baseGetTag(value) === '[object String]');\n}\n\nfunction isObjectLike(value: any): value is object {\n return value !== null && typeof value === 'object';\n}\n\nfunction baseGetTag(value: any) {\n const objectProto = Object.prototype;\n const hasOwnProperty = objectProto.hasOwnProperty;\n const toString = objectProto.toString;\n const symToStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : undefined;\n\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n if (!(symToStringTag && symToStringTag in Object(value))) {\n return toString.call(value);\n }\n const isOwn = hasOwnProperty.call(value, symToStringTag);\n const tag = value[symToStringTag];\n let unmasked = false;\n try {\n value[symToStringTag] = undefined;\n unmasked = true;\n } catch (e) {}\n\n const result = toString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number' || (isObjectLike(value) && baseGetTag(value) === '[object Number]');\n}\n\nexport function isObject(value: any): value is object {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n const type = typeof value;\n return !!value && (type === 'object' || type === 'function');\n}\n\nexport function isFunction(value: any): value is Function {\n const type = typeof value;\n return !!value && type === 'function';\n}\n\nexport function isDate(value: any): value is Date {\n const type = typeof value;\n return !!value && type === 'object' && !!value.getTime;\n}\n\nexport function coerceArray<T>(value: T | T[]): T[] {\n return Array.isArray(value) ? value : [value];\n}\n\nexport function get(object: any, path: string, defaultValue?: any): any {\n const paths = path.split('.');\n let result = object[paths.shift()];\n while (result && paths.length) {\n result = result[paths.shift()];\n }\n return result === undefined ? defaultValue : result;\n}\n\nexport function set(object: any, path: string, value: any): void {\n if (object == null) {\n return object;\n }\n const paths = path.split('.');\n let index = -1;\n const length = paths.length;\n const lastIndex = length - 1;\n let nested = object;\n while (nested !== null && ++index < length) {\n const key = paths[index];\n if (isObject(nested)) {\n if (index === lastIndex) {\n nested[key] = value;\n nested = nested[key];\n break;\n } else {\n if (nested[key] == null) {\n nested[key] = {};\n }\n }\n }\n nested = nested[key];\n }\n return object;\n}\n\nexport function isBoolean(value: any): value is boolean {\n return value === true || value === false || (isObjectLike(value) && baseGetTag(value) === '[object Boolean]');\n}\n\nexport function isClass(value: any): value is Function {\n return isFunction(value) && /^\\s*class\\s+/.test(value.toString());\n}\n\nexport function htmlElementIsEmpty(element: HTMLElement) {\n if (element && element.childNodes) {\n const nodes = element.childNodes;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.nodeType === Node.ELEMENT_NODE && (node as HTMLElement).outerHTML.toString().trim().length !== 0) {\n return false;\n } else if (node.nodeType === Node.TEXT_NODE && node.textContent.toString().trim().length !== 0) {\n return false;\n } else if (node.nodeType !== Node.COMMENT_NODE) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport function hexToRgb(hexValue: string, alpha?: number): string {\n const rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hex = hexValue.replace(rgx, (m: any, r: any, g: any, b: any) => r + r + g + g + b + b);\n const rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!rgb) return;\n const resultR = parseInt(rgb[1], 16);\n const resultG = parseInt(rgb[2], 16);\n const resultB = parseInt(rgb[3], 16);\n if (!isUndefinedOrNull(alpha)) {\n return `rgba(${resultR}, ${resultG}, ${resultB}, ${alpha})`;\n } else {\n return `rgb(${resultR}, ${resultG}, ${resultB})`;\n }\n}\n\nexport function dateToUnixTimestamp(date: Date | number): number {\n if (isNumber(date)) {\n if (date.toString().length === 10) {\n return date as number;\n } else {\n return parseInt(((date as number) / 1000).toFixed(0), 10);\n }\n } else {\n return parseInt(((date as Date).getTime() / 1000).toFixed(0), 10);\n }\n}\n\nexport function clamp(value: number, min = 0, max = 100) {\n return Math.max(min, Math.min(max, value));\n}\n\nexport function keyBy<T>(array: T[], key: T extends object ? keyof T : never): { [key: string]: T } {\n const result: { [key: string]: T } = {};\n array.forEach(item => {\n const keyValue = item[key];\n (result as any)[keyValue] = item;\n });\n return result;\n}\n\nexport function indexKeyBy<T>(array: T[], key: T extends object ? keyof T : never): { [key: string]: number } {\n const result: { [key: string]: number } = {};\n array.forEach((item, index) => {\n const keyValue = item[key];\n (result as any)[keyValue] = index;\n });\n return result;\n}\n\nfunction upperFirst(string: string): string {\n return string.slice(0, 1).toUpperCase() + string.slice(1);\n}\n\nexport function camelCase(values: string[]): string {\n if (isArray(values)) {\n return values.reduce((result, word, index) => {\n word = word.toLowerCase();\n return result + (index ? upperFirst(word) : word);\n }, '');\n } else {\n return;\n }\n}\n\nexport function generateRandomStr() {\n return Math.random().toString(36).substring(2);\n}\n\nexport function isTemplateRef<C = any>(value: any): value is TemplateRef<C> {\n return value instanceof TemplateRef;\n}\n\nexport function isHTMLElement(value: any): value is HTMLElement {\n return value instanceof HTMLElement;\n}\n\nexport function isElementRef(value: any): value is ElementRef {\n return value instanceof ElementRef;\n}\n\n/**\n * fix angular cdk's coerceBooleanProperty will transform 0 to true\n */\nexport function coerceBooleanProperty(value: boolean | string | number): boolean {\n if (value === '' || (value && value !== 'false')) {\n return true;\n } else {\n return false;\n }\n}\n\nexport type FunctionProp<T> = (...args: any[]) => T;\n\n/**\n * @deprecated Please use Angular cdk's coerceNumberProperty instead\n */\nexport function coerceNumberValue(value: number | string): number;\n/**\n * @deprecated Please use Angular cdk's coerceNumberProperty instead\n */\nexport function coerceNumberValue<D>(value: number | string, fallback: D): number | D;\n/**\n * @deprecated Please use Angular cdk's coerceNumberProperty instead\n */\nexport function coerceNumberValue(value: number | string, fallbackValue: number = 0): number {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n\n/**\n * @deprecated Please use Angular cdk's coerceCssPixelValue instead\n */\nexport function coerceCssPixelValue(value: number | string): string {\n value = _isNumberValue(value) ? Number(value) : value;\n return coerceCssPixel(value);\n}\n\nexport function valueFunctionProp<T>(prop: FunctionProp<T>, ...args: any[]): T {\n return typeof prop === 'function' ? prop(...args) : prop;\n}\n\nexport function shallowEqual(objA?: Record<string, any>, objB?: Record<string, any>): boolean {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n const bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n for (let idx = 0; idx < keysA.length; idx++) {\n const key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function concatArray<TItem>(items: TItem | TItem[], originalItems: TItem | TItem[] = []): TItem[] {\n let _originalItems: TItem[] = [];\n if (!originalItems) {\n _originalItems = [];\n } else {\n _originalItems = coerceArray(originalItems);\n }\n if (items) {\n if (isArray(items)) {\n return [..._originalItems, ...items];\n } else {\n return [..._originalItems, items];\n }\n } else {\n return _originalItems;\n }\n}\n\nexport function humanizeBytes(bytes: number, noSpace = false, fractionDigits = 1): string {\n if (bytes === 0) {\n return '0 Byte';\n }\n\n const k = 1024;\n const sizes: string[] = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\n const i: number = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(fractionDigits)) + (noSpace ? '' : ' ') + sizes[i];\n}\n\nexport function isFloat(value: string): boolean {\n if (!value) {\n return false;\n }\n\n return /^[-+]?([0-9]+([.][0-9]*)?|[.][0-9]+)([Ee][-+]?[0-9]+)?$/.test(value);\n}\n","import { ElementRef } from '@angular/core';\nimport * as helpers from './helpers';\n\nconst proto = Element.prototype;\nconst vendor =\n proto.matches ||\n proto['matchesSelector'] ||\n proto['webkitMatchesSelector'] ||\n proto['mozMatchesSelector'] ||\n proto['msMatchesSelector'] ||\n proto['oMatchesSelector'];\n\nexport function fallbackMatches(el: Element | Node, selector: string) {\n const nodes = el.parentNode.querySelectorAll(selector);\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i] === el) {\n return true;\n }\n }\n return false;\n}\n/**\n * Match `el` to `selector`.\n */\nexport function match(el: Element | Node, selector: string) {\n if (vendor) {\n return vendor.call(el, selector);\n }\n return fallbackMatches(el, selector);\n}\n\nexport function isDocument(element: any): element is Document {\n return (\n (typeof element !== 'undefined' && element instanceof Document) || (element.nodeType && element.nodeType === element.DOCUMENT_NODE)\n );\n}\n\nexport function isElement(element: any) {\n return (\n (typeof HTMLElement !== 'undefined' && element instanceof HTMLElement) ||\n (element && element.nodeType && element.nodeType === element.ELEMENT_NODE)\n );\n}\n\nexport function getWindow(elem: any) {\n return elem != null && elem === elem.window ? elem : elem.nodeType === 9 && elem.defaultView;\n}\n\nexport function getElementOffset(elem: HTMLElement) {\n let docElem, win, rect, doc;\n\n if (!elem) {\n return;\n }\n // Support: IE<=11+\n // Running getBoundingClientRect on a\n // disconnected node in IE throws an error\n if (!elem.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n rect = elem.getBoundingClientRect();\n\n // Make sure element is not hidden (display: none)\n if (rect.width || rect.height) {\n doc = elem.ownerDocument;\n win = getWindow(doc);\n docElem = doc.documentElement;\n\n return {\n top: rect.top + win.pageYOffset - docElem.clientTop,\n left: rect.left + win.pageXOffset - docElem.clientLeft,\n height: rect.height,\n width: rect.width\n };\n }\n return rect;\n}\n\nexport function getOffset(element: HTMLElement, container: HTMLElement | Window): { left: number; top: number } | null {\n if (!element || !element.getClientRects().length) {\n return null;\n }\n const rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n const documentElement = element.ownerDocument!.documentElement!;\n return {\n top: rect.top - documentElement.clientTop,\n left: rect.left - documentElement.clientLeft\n };\n }\n const containerRect = (container as HTMLElement).getBoundingClientRect();\n return {\n top: rect.top - containerRect.top,\n left: rect.left - containerRect.left\n };\n }\n\n return rect;\n}\n\nexport function getClientSize(): { width: number; height: number } {\n const width = document.documentElement.clientWidth;\n const height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width,\n height\n };\n}\n\nexport type ElementSelector = HTMLElement | ElementRef | string;\n\nexport function getHTMLElementBySelector(selector: ElementSelector, defaultElementRef: ElementRef): HTMLElement {\n if (!selector) {\n return defaultElementRef.nativeElement;\n } else if (selector === 'body') {\n return document.body;\n } else if (helpers.isString(selector)) {\n return document.querySelector(selector as string);\n } else if (selector instanceof ElementRef) {\n return selector.nativeElement;\n } else {\n return selector as HTMLElement;\n }\n}\n\nexport function isInputOrTextarea(element: HTMLElement) {\n return ['INPUT', 'TEXTAREA'].indexOf(element.nodeName) >= 0;\n}\n\nexport function isWindow(container: Element | Window): container is Window {\n return typeof window !== 'undefined' && container === window;\n}\n\nexport interface SimpleRect {\n top: number;\n left: number;\n width?: number;\n height?: number;\n bottom?: number;\n}\n\nexport function getContainerRect(container: Element | Window): SimpleRect {\n return !isWindow(container)\n ? container.getBoundingClientRect()\n : {\n top: 0,\n left: 0,\n bottom: 0\n };\n}\n\nexport function getStyleAsText(styles?: any): string {\n if (!styles) {\n return '';\n }\n\n return Object.keys(styles)\n .map(key => {\n const val = styles[key];\n return `${key}:${typeof val === 'string' ? val : val + 'px'}`;\n })\n .join(';');\n}\n\nexport function isTouchEvent(event: MouseEvent | TouchEvent): event is TouchEvent {\n return event.type.startsWith('touch');\n}\n\n/**\n * Assert wrapper element whether only contains icon.\n */\nexport function assertIconOnly(wrapperElement: Element): boolean {\n const listOfNode = Array.from(wrapperElement.childNodes);\n const iconCount = listOfNode.filter(node => ['THY-ICON', 'I'].includes(node.nodeName)).length;\n const noText = listOfNode.every(node => node.nodeName !== '#text');\n const noSpan = listOfNode.every(node => node.nodeName !== 'SPAN');\n const isIconOnly = noSpan && noText && iconCount >= 1;\n return isIconOnly;\n}\n\n/**\n *\n * calc position x,y point\n *\n * CASE (width <= clientWidth && height <= clientHeight):\n *\n * ------------- clientWidth -------------\n * | |\n * | ------ width ------ |\n * | | | |\n * | | | |\n * client height | |\n * Height | | |\n * | | | |\n * | ------------------- |\n * | |\n * | |\n * ---------------------------------------\n * fixedPosition = { x: 0, y: 0 }\n *\n *\n *\n * CASE (width > clientWidth || height > clientHeight):\n *\n * ------------- clientWidth -------------\n * | | |\n * | top |\n * | | |\n * |--left--|--------------- width -----------------\n * | | |\n * client | |\n * Height | |\n * | | |\n * | | |\n * | height |\n * | | |\n * ---------| |\n * | |\n * | |\n * | |\n * ----------------------------------------\n *\n *\n * - left || top > 0\n * left -> 0 || top -> 0\n *\n * - (left + width) < clientWidth || (top + height) < clientHeight\n * - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight\n *\n * DEFAULT:\n * - hold position\n *\n */\nexport function getFitContentPosition(params: {\n width: number;\n height: number;\n left: number;\n top: number;\n clientWidth: number;\n clientHeight: number;\n}): { x?: number; y?: number } {\n let fixPos = {};\n\n if (params.width <= params.clientWidth && params.height <= params.clientHeight) {\n fixPos = {\n x: 0,\n y: 0\n };\n }\n\n if (params.width > params.clientWidth || params.height > params.clientHeight) {\n fixPos = {\n x: fitPoint(params.left, params.width, params.clientWidth),\n y: fitPoint(params.top, params.height, params.clientHeight)\n };\n }\n\n return fixPos;\n}\n\nfunction fitPoint(start: number, size: number, clientSize: number): number | null {\n const startAddSize = start + size;\n const offsetStart = (size - clientSize) / 2;\n let distance: number | null = null;\n\n if (size > clientSize) {\n if (start > 0) {\n distance = offsetStart;\n }\n if (start < 0 && startAddSize < clientSize) {\n distance = -offsetStart;\n }\n } else {\n if (start < 0 || startAddSize > clientSize) {\n distance = start < 0 ? offsetStart : -offsetStart;\n }\n }\n\n return distance;\n}\n\nexport function elementMatchClosest(element: HTMLElement, selectors: string | string[]) {\n let matched = false;\n if (element && element.closest) {\n matched = !!helpers.coerceArray(selectors).find(selector => {\n return element.closest(selector);\n });\n }\n return matched;\n}\n","import { Id } from 'ngx-tethys/types';\nimport { coerceArray, isFunction, isUndefinedOrNull } from './helpers';\n\nexport interface EntityAddOptions {\n prepend?: boolean;\n\n afterId?: Id;\n}\n\nexport interface EntityMoveOptions {\n afterId?: Id;\n\n toIndex?: number;\n}\n\nexport interface ProducerOptions {\n idKey?: string;\n}\n\nexport class Producer<TEntity> {\n private idKey = '_id';\n\n private entities: TEntity[];\n\n constructor(entities: TEntity[], options?: ProducerOptions) {\n this.entities = entities || [];\n if (options && options.idKey) {\n this.idKey = options.idKey;\n }\n }\n\n /**\n * Add an entity or entities.\n *\n * @example\n * produce([users]).add(Entity);\n * produce([users]).add([Entity, Entity]);\n * produce([users]).add(Entity, { prepend: true });\n * produce([users]).add(Entity, { afterId: '' });\n */\n add(entity: TEntity | TEntity[], addOptions?: EntityAddOptions): TEntity[] {\n const addEntities = coerceArray(entity);\n if (addEntities.length === 0) {\n return this.entities;\n }\n if (addOptions && (addOptions.afterId || addOptions.prepend)) {\n if (addOptions.afterId) {\n const entities = [...this.entities];\n const index =\n this.entities.findIndex(item => {\n return item[this.idKey] === addOptions.afterId;\n }) + 1;\n entities.splice(index, 0, ...addEntities);\n this.entities = [...entities];\n } else if (addOptions.prepend) {\n this.entities = [...addEntities, ...this.entities];\n }\n } else {\n this.entities = [...this.entities, ...addEntities];\n }\n return this.entities;\n }\n\n /**\n *\n * Update an entity or entities.\n *\n * @example\n * produce([users]).update(3, {\n * name: 'New Name'\n * });\n *\n * produce([users]).update(3, entity => {\n * return {\n * ...entity,\n * name: 'New Name'\n * }\n * });\n *\n * produce([users]).update([1,2,3], {\n * name: 'New Name'\n * });\n */\n update(id: Id | Id[] | null, newStateFn: (entity: Readonly<TEntity>) => Partial<TEntity>): TEntity[];\n update(id: Id | Id[] | null, newState?: Partial<TEntity>): TEntity[];\n update(\n idsOrFn: Id | Id[] | null | Partial<TEntity> | ((entity: Readonly<TEntity>) => boolean),\n newStateOrFn?: ((entity: Readonly<TEntity>) => Partial<TEntity>) | Partial<TEntity>\n ): TEntity[] {\n const ids = coerceArray(idsOrFn);\n\n for (let i = 0; i < this.entities.length; i++) {\n const oldEntity = this.entities[i];\n if (ids.indexOf(oldEntity[this.idKey]) >= 0) {\n const newState = isFunction(newStateOrFn) ? (newStateOrFn as any)(oldEntity) : newStateOrFn;\n this.entities[i] = { ...(oldEntity as any), ...newState };\n }\n }\n return [...this.entities];\n }\n\n /**\n *\n * Remove one or more entities:\n *\n * @example\n * produce([users]).remove(5);\n * produce([users]).remove([1,2,3]);\n * produce([users]).remove(entity => entity.id === 1);\n */\n remove(id: Id | Id[]): TEntity[];\n remove(predicate: (entity: Readonly<TEntity>) => boolean): TEntity[];\n remove(idsOrFn?: Id | Id[] | ((entity: Readonly<TEntity>) => boolean)): TEntity[] {\n if (isFunction(idsOrFn)) {\n this.entities = this.entities.filter(entity => {\n return !(idsOrFn as any)(entity);\n });\n } else {\n const ids = coerceArray(idsOrFn);\n this.entities = this.entities.filter(entity => {\n return ids.indexOf(entity[this.idKey]) === -1;\n });\n }\n return this.entities;\n }\n\n /**\n *\n * Move one or more entities:\n *\n * @example\n * produce([users]).move(5, {afterId: 2});\n * produce([users]).move(5, {toIndex: 0});\n */\n move(id: Id, moveOptions?: EntityMoveOptions): TEntity[] {\n const fromIndex = this.entities.findIndex(item => item[this.idKey] === id);\n let toIndex = 0;\n const newEntities = [...this.entities];\n\n if (!id || fromIndex < 0) {\n return [...this.entities];\n }\n\n if (moveOptions) {\n if (!isUndefinedOrNull(moveOptions.afterId)) {\n toIndex = this.entities.findIndex(item => item[this.idKey] === moveOptions.afterId);\n } else if (moveOptions.toIndex) {\n toIndex = moveOptions.toIndex;\n }\n }\n toIndex = Math.max(0, Math.min(this.entities.length - 1, toIndex));\n if (toIndex === fromIndex) {\n return [...this.entities];\n } else {\n const target = this.entities[fromIndex];\n const delta = toIndex < fromIndex ? -1 : 1;\n\n for (let i = fromIndex; i !== toIndex; i += delta) {\n newEntities[i] = newEntities[i + delta];\n }\n newEntities[toIndex] = target;\n return [...newEntities];\n }\n }\n}\n\nexport function produce<TEntity>(entities: TEntity[], options?: ProducerOptions) {\n return new Producer(entities, options);\n}\n","import { keyBy, indexKeyBy } from './helpers';\n\n// 抽取数据中的Item类型,不是数组直接返回对象的类型\nexport type ArrayInferExtract<T> = T extends Array<infer P> ? P : T;\nexport type ArrayAlwaysExtract<T> = T extends Array<infer P> ? P : never;\n// 抽取 References 中 Object 类型, 如果是数组取数组 Item 类型\nexport type ReferenceObjectExtract<T> = {\n [key in keyof T]: ArrayInferExtract<T[key]> extends object ? ArrayInferExtract<T[key]> : never;\n};\n// 收取 References 中所有的属性 Names,如果ArrayInferExtract不是对象,返回 never\nexport type ReferenceExtractNames<T> = { [key in keyof T]: ArrayInferExtract<T[key]> extends object ? key : never };\nexport type ReferenceArrayExtractNames<T> = { [key in keyof T]: T[key] extends Array<object> ? key : never };\n// 排除 ReferenceExtractNames 抽取 Names 中的 never,只保留是对象的 Names\nexport type ReferenceExtractAllowNames<T> = {\n [key in ReferenceExtractNames<T>[keyof T]]: ReferenceExtractNames<T>[key];\n};\nexport type ReferenceArrayExtractAllowNames<T> = {\n [key in ReferenceArrayExtractNames<T>[keyof T]]: ReferenceExtractNames<T>[key];\n};\n\n/**\n * 根据 ReferenceExtractAllowKeys 抽取出的 Object Keys 组合新的对象\n * @example ReferenceExtractAllowKeys<{\n users: { uid: string; name: string }[];\n info: { id: number; name: string };\n departments: { dept: number }[];\n ids: string[];\n id: string;\n }> => {\n users: \"uid\" | \"name\",\n info: \"id\" | \"name\",\n departments: \"dept\"\n\n }\n */\nexport type ReferenceExtractAllowKeys<T> = {\n [key in keyof ReferenceExtractAllowNames<T>]?: keyof ReferenceObjectExtract<T>[key];\n};\n// 只允许 reference 是 Array 的 Keys\nexport type ReferenceArrayExtractAllowKeys<T> = {\n [key in keyof ReferenceArrayExtractAllowNames<T>]?: keyof ReferenceObjectExtract<T>[key];\n};\n\nfunction getReferenceIdKey<TReferences>(referenceKey: string, idKeys: ReferenceArrayExtractAllowKeys<TReferences>) {\n if (idKeys && idKeys[referenceKey]) {\n return idKeys[referenceKey];\n } else {\n return '_id';\n }\n}\n\n/**\n * Append references to original references\n * @example\n * mergeReferences({departments: [{ _id: '1', name: 'name-1'}]}, {departments: [{ _id: '3', name: 'name-3'}]})\n * mergeReferences({users: [{ uid: '1', name: 'name-1'}]}, {users: [{ uid: '3', name: 'name-3'}]}, { users: \"uid\" })\n * @param originalReferences original references\n * @param references append references\n * @param idKeys references 's id key, default is '_id'\n *\n * @returns TReferences\n */\nexport function mergeReferences<TReferences>(\n originalReferences: TReferences,\n references: Partial<TReferences>,\n idKeys?: ReferenceArrayExtractAllowKeys<TReferences>\n): TReferences {\n for (const key in references) {\n if (references.hasOwnProperty(key)) {\n const reference = references[key];\n const referenceIdKey = getReferenceIdKey<TReferences>(key, idKeys);\n const originalReference = originalReferences[key];\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !originalReference) {\n throw new Error(`original reference must exist when append new reference: ${key}`);\n }\n if (originalReference instanceof Array) {\n // original reference id index map\n const originalReferenceIdIndexMap = indexKeyBy<ReferenceExtractAllowKeys<TReferences>>(\n originalReferences[key] as any,\n referenceIdKey\n );\n // append reference is array\n if (reference instanceof Array) {\n reference.forEach((item: TReferences[Extract<keyof TReferences, string>]) => {\n const itemId = item[referenceIdKey];\n const index = originalReferenceIdIndexMap[itemId];\n if (index >= 0) {\n originalReference[index] = { ...originalReference[index], ...item };\n } else {\n (originalReferences as any)[key] = [...(originalReferences[key] as any), item];\n }\n });\n } else {\n // append reference is not array, support append signal object to array reference\n const itemId = reference[referenceIdKey];\n const index = originalReferenceIdIndexMap[itemId];\n if (itemId >= 0) {\n originalReference[index] = { ...originalReference[index], ...reference };\n } else {\n (originalReferences as any)[key] = [...(originalReferences[key] as any), reference];\n }\n }\n } else {\n originalReferences[key] = { ...originalReferences[key], ...reference };\n }\n }\n }\n\n return originalReferences;\n}\n\n/**\n * Build dictionary for references\n * @param references references\n * @param idKeys references 's id key, default is '_id'\n */\nexport function buildReferencesKeyBy<TReferences>(\n references: Partial<TReferences>,\n idKeys?: Partial<ReferenceArrayExtractAllowKeys<TReferences>>\n) {\n const result: { [key in keyof TReferences]?: { [key: string]: ArrayInferExtract<TReferences[key]> } } = {};\n for (const key in references) {\n if (references.hasOwnProperty(key)) {\n const referenceIdKey = getReferenceIdKey<TReferences>(key, idKeys);\n const reference = references[key];\n if (reference instanceof Array) {\n const originalReferenceIdMap = keyBy<ArrayInferExtract<TReferences>>(reference, referenceIdKey);\n (result as any)[key] = originalReferenceIdMap;\n }\n }\n }\n return result;\n}\n","import { SimpleChanges } from '@angular/core';\n\nexport function hasLaterChange(changes: SimpleChanges): boolean {\n const hasChange = Object.keys(changes).find(key => {\n return changes[key] && !changes[key].isFirstChange();\n });\n return !!hasChange;\n}\n","import { isDevMode } from '@angular/core';\n\nconst record: Record<string, boolean> = {};\n\nlet logWarnDeprecation = true;\n\nexport const PREFIX = '[NGX-TETHYS]:';\n\nfunction notRecorded(...args: any[]): boolean {\n const asRecord = args.reduce((acc, c) => acc + c.toString(), '');\n\n if (record[asRecord]) {\n return false;\n } else {\n record[asRecord] = true;\n return true;\n }\n}\n\nfunction consoleCommonBehavior(consoleFunc: (...args: any) => void, ...args: any[]): void {\n if (isDevMode() && notRecorded(...args)) {\n consoleFunc(...args);\n }\n}\n\n// Warning should only be printed in dev mode and only once.\nexport const warn = (...args: any[]) => consoleCommonBehavior((...arg: any[]) => console.warn(PREFIX, ...arg), ...args);\n\nexport function createWarnDeprecation(prefix: string): (...args: any[]) => void {\n return (...args: any[]) => {\n const stack = new Error().stack;\n return consoleCommonBehavior(\n (...arg: any[]) => {\n if (logWarnDeprecation) {\n console.warn(prefix, 'deprecated:', ...arg, stack);\n }\n },\n ...args\n );\n };\n}\n\nexport const warnDeprecation = createWarnDeprecation(PREFIX);\n\n// Log should only be printed in dev mode.\nexport const log = (...args: any[]) => {\n if (isDevMode()) {\n console.log(PREFIX, ...args);\n }\n};\n\nexport function setWarnDeprecation(enabled: boolean) {\n logWarnDeprecation = enabled;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["coerceCssPixel","helpers.isString","helpers.coerceArray"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-util.mjs","sources":["../../../src/util/date/functions.ts","../../../src/util/date/tiny-date.ts","../../../src/util/helpers/helpers.ts","../../../src/util/dom.ts","../../../src/util/immutable.ts","../../../src/util/references.ts","../../../src/util/ng.ts","../../../src/util/logger/logger.ts","../../../src/util/ngx-tethys-util.ts"],"sourcesContent":["import * as dateFns from 'date-fns';\n\nexport const differenceInCalendarDays = dateFns.differenceInCalendarDays;\nexport const differenceInCalendarMonths = dateFns.differenceInCalendarMonths;\nexport const differenceInCalendarYears = dateFns.differenceInCalendarYears;\nexport const differenceInCalendarQuarters = dateFns.differenceInCalendarQuarters;\nexport const differenceInWeeks = dateFns.differenceInWeeks;\nexport const differenceInHours = dateFns.differenceInHours;\nexport const differenceInMinutes = dateFns.differenceInMinutes;\nexport const differenceInSeconds = dateFns.differenceInSeconds;\nexport const differenceInDays = dateFns.differenceInDays;\nexport const differenceInMonths = dateFns.differenceInMonths;\nexport const differenceInYears = dateFns.differenceInYears;\nexport const isSameDay = dateFns.isSameDay;\nexport const isSameHour = dateFns.isSameHour;\nexport const isSameMinute = dateFns.isSameMinute;\nexport const isSameMonth = dateFns.isSameMonth;\nexport const isSameSecond = dateFns.isSameSecond;\nexport const isSameYear = dateFns.isSameYear;\nexport const isSameQuarter = dateFns.isSameQuarter;\nexport const isToday = dateFns.isToday;\nexport const isTomorrow = dateFns.isTomorrow;\nexport const isValid = dateFns.isValid;\nexport const isAfter = dateFns.isAfter;\nexport const setYear = dateFns.setYear;\nexport const startOfMonth = dateFns.startOfMonth;\nexport const startOfWeek = dateFns.startOfWeek;\nexport const addMonths = dateFns.addMonths;\nexport const addYears = dateFns.addYears;\nexport const setDay = dateFns.setDay;\nexport const setDate = dateFns.setDate;\nexport const setMonth = dateFns.setMonth;\nexport const setQuarter = dateFns.setQuarter;\nexport const getUnixTime = dateFns.getUnixTime;\nexport const startOfDay = dateFns.startOfDay;\nexport const endOfDay = dateFns.endOfDay;\nexport const fromUnixTime = dateFns.fromUnixTime;\nexport const isWeekend = dateFns.isWeekend;\nexport const getTime = dateFns.getTime;\nexport const getDay = dateFns.getDay;\nexport const getWeek = dateFns.getWeek;\nexport const getMonth = dateFns.getMonth;\nexport const getYear = dateFns.getYear;\nexport const getDate = dateFns.getDate;\nexport const getHours = dateFns.getHours;\nexport const getMinutes = dateFns.getMinutes;\nexport const getSeconds = dateFns.getSeconds;\nexport const getDaysInMonth = dateFns.getDaysInMonth;\nexport const addSeconds = dateFns.addSeconds;\nexport const addMinutes = dateFns.addMinutes;\nexport const addHours = dateFns.addHours;\nexport const addWeeks = dateFns.addWeeks;\nexport const addQuarters = dateFns.addQuarters;\nexport const startOfQuarter = dateFns.startOfQuarter;\nexport const startOfYear = dateFns.startOfYear;\nexport const startOfMinute = dateFns.startOfMinute;\nexport const startOfHour = dateFns.startOfHour;\nexport const startOfISOWeek = dateFns.startOfISOWeek;\nexport const endOfMinute = dateFns.endOfMinute;\nexport const endOfHour = dateFns.endOfHour;\nexport const endOfWeek = dateFns.endOfWeek;\nexport const endOfMonth = dateFns.endOfMonth;\nexport const endOfQuarter = dateFns.endOfQuarter;\nexport const endOfYear = dateFns.endOfYear;\nexport const endOfISOWeek = dateFns.endOfISOWeek;\nexport const format = dateFns.format;\nexport const getQuarter = dateFns.getQuarter;\nexport const addDays = dateFns.addDays;\nexport const subMilliseconds = dateFns.subMilliseconds;\nexport const subSeconds = dateFns.subSeconds;\nexport const subMinutes = dateFns.subMinutes;\nexport const subHours = dateFns.subHours;\nexport const subDays = dateFns.subDays;\nexport const subBusinessDays = dateFns.subBusinessDays;\nexport const subWeeks = dateFns.subWeeks;\nexport const subMonths = dateFns.subMonths;\nexport const subQuarters = dateFns.subQuarters;\nexport const subYears = dateFns.subYears;\nexport const eachDayOfInterval = dateFns.eachDayOfInterval;\nexport const eachWeekOfInterval = dateFns.eachWeekOfInterval;\nexport const eachMonthOfInterval = dateFns.eachMonthOfInterval;\nexport const eachYearOfInterval = dateFns.eachYearOfInterval;\nexport const eachHourOfInterval = dateFns.eachHourOfInterval;\nexport const setDefaultOptions = dateFns.setDefaultOptions;\n","import { TZDate } from '@date-fns/tz';\nimport { FirstWeekContainsDate, Locale, setHours, setMinutes, setSeconds } from 'date-fns';\nimport { SafeAny } from 'ngx-tethys/types';\nimport {\n addDays,\n addHours,\n addMinutes,\n addMonths,\n addQuarters,\n addSeconds,\n addWeeks,\n addYears,\n differenceInCalendarDays,\n differenceInCalendarMonths,\n differenceInCalendarQuarters,\n differenceInCalendarYears,\n differenceInDays,\n differenceInHours,\n differenceInMinutes,\n differenceInSeconds,\n differenceInWeeks,\n endOfDay,\n endOfISOWeek,\n endOfMonth,\n endOfQuarter,\n endOfWeek,\n endOfYear,\n format,\n fromUnixTime,\n getDaysInMonth,\n getQuarter,\n getUnixTime,\n getWeek,\n isSameDay,\n isSameHour,\n isSameMinute,\n isSameMonth,\n isSameQuarter,\n isSameSecond,\n isSameYear,\n isToday,\n isTomorrow,\n isValid,\n isWeekend,\n setDay,\n setMonth,\n setQuarter,\n setYear,\n startOfDay,\n startOfISOWeek,\n startOfMonth,\n startOfQuarter,\n startOfWeek,\n startOfYear,\n subDays,\n subWeeks\n} from './functions';\n\nexport type TinyDateCompareGrain = 'decade' | 'year' | 'quarter' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second';\n\nexport type WeekDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport type TinyDateType = TinyDate | Date | null;\n\nexport function sortRangeValue(rangeValue: TinyDate[]): TinyDate[] {\n if (Array.isArray(rangeValue)) {\n const [start, end] = rangeValue;\n return start && end && start.isAfterSecond(end) ? [end, start] : [start, end];\n }\n return rangeValue;\n}\n\nexport const DEFAULT_TIMEZONE = 'Asia/Shanghai';\n\nexport class TinyDate implements Record<string, any> {\n nativeDate: Date;\n\n private useTimeZone: string;\n\n protected static defaultTimeZone: string = DEFAULT_TIMEZONE;\n\n constructor(date?: Date | string | number, zone?: string) {\n this.useTimeZone = zone || TinyDate.defaultTimeZone;\n if (date) {\n if (date instanceof Date) {\n this.nativeDate = TinyDate.utcToZonedTime(date, this.useTimeZone);\n } else if (typeof date === 'string' || typeof date === 'number') {\n this.nativeDate = new TZDate(date as SafeAny, this.useTimeZone);\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw new Error(\n `The input date type is not supported expect Date | string | number | { date: number; with_time: 0 | 1}, actual ${JSON.stringify(\n date\n )}`\n );\n }\n } else {\n this.nativeDate = new TZDate(Date.now(), this.useTimeZone);\n }\n }\n\n static setDefaultTimeZone(zone: string) {\n TinyDate.defaultTimeZone = zone ?? DEFAULT_TIMEZONE;\n }\n\n static utcToZonedTime(value: Date | number, timeZone?: string): Date {\n return TZDate.tz(timeZone || TinyDate.defaultTimeZone, value as any);\n }\n\n static createDateInTimeZone(\n year: number,\n month: number,\n day: number,\n hours: number,\n minutes: number,\n seconds: number,\n timeZone?: string\n ): Date {\n return new TZDate(year, month, day, hours, minutes, seconds, timeZone || TinyDate.defaultTimeZone);\n }\n\n static fromUnixTime(unixTime: number, timeZone?: string): TinyDate {\n return new TinyDate(fromUnixTime(unixTime), timeZone || TinyDate.defaultTimeZone);\n }\n\n // get\n getTime(): number {\n return this.nativeDate.getTime();\n }\n\n getDate(): number {\n return this.nativeDate.getDate();\n }\n\n getYear(): number {\n return this.nativeDate.getFullYear();\n }\n\n getQuarter(): number {\n return getQuarter(this.nativeDate);\n }\n\n getMonth(): number {\n return this.nativeDate.getMonth();\n }\n\n getFullYear(): number {\n return this.nativeDate.getFullYear();\n }\n\n getWeek(options: { locale?: Locale; weekStartsOn?: WeekDayIndex } = { weekStartsOn: 1 }): number {\n return getWeek(this.nativeDate, options);\n }\n\n getDay(): number {\n return this.nativeDate.getDay();\n }\n\n getHours(): number {\n return this.nativeDate.getHours();\n }\n\n getMinutes(): number {\n return this.nativeDate.getMinutes();\n }\n\n getSeconds(): number {\n return this.nativeDate.getSeconds();\n }\n\n getMilliseconds(): number {\n return this.nativeDate.getMilliseconds();\n }\n\n getDaysInMonth() {\n return getDaysInMonth(this.nativeDate);\n }\n\n getDaysInQuarter() {\n return differenceInCalendarDays(this.endOfQuarter().addSeconds(1).nativeDate, this.startOfQuarter().nativeDate);\n }\n\n // set\n setDate(amount: number): TinyDate {\n const date = new Date(this.nativeDate);\n date.setDate(amount);\n return new TinyDate(date, this.useTimeZone);\n }\n\n setHms(hour: number, minute: number, second: number): TinyDate {\n const date = new Date(this.nativeDate);\n date.setHours(hour, minute, second);\n return new TinyDate(date, this.useTimeZone);\n }\n\n setYear(year: number): TinyDate {\n return new TinyDate(setYear(this.nativeDate, year), this.useTimeZone);\n }\n\n setMonth(month: number): TinyDate {\n return new TinyDate(setMonth(this.nativeDate, month), this.useTimeZone);\n }\n\n setQuarter(quarter: number): TinyDate {\n return new TinyDate(setQuarter(this.nativeDate, quarter), this.useTimeZone);\n }\n\n setDay(day: number, options?: { weekStartsOn: WeekDayIndex }): TinyDate {\n return new TinyDate(setDay(this.nativeDate, day, options), this.useTimeZone);\n }\n\n setHours(hours: number): TinyDate {\n return new TinyDate(setHours(this.nativeDate, hours), this.useTimeZone);\n }\n\n setMinutes(minutes: number): TinyDate {\n return new TinyDate(setMinutes(this.nativeDate, minutes), this.useTimeZone);\n }\n\n setSeconds(seconds: number): TinyDate {\n return new TinyDate(setSeconds(this.nativeDate, seconds), this.useTimeZone);\n }\n\n // add\n addYears(amount: number): TinyDate {\n return new TinyDate(addYears(this.nativeDate, amount), this.useTimeZone);\n }\n\n addQuarters(amount: number): TinyDate {\n return new TinyDate(addQuarters(this.nativeDate, amount), this.useTimeZone);\n }\n\n addMonths(amount: number): TinyDate {\n return new TinyDate(addMonths(this.nativeDate, amount), this.useTimeZone);\n }\n\n addWeeks(amount: number): TinyDate {\n return new TinyDate(addWeeks(this.nativeDate, amount), this.useTimeZone);\n }\n\n addDays(amount: number): TinyDate {\n return new TinyDate(addDays(this.nativeDate, amount), this.useTimeZone);\n }\n addHours(amount: number): TinyDate {\n return new TinyDate(addHours(this.nativeDate, amount), this.useTimeZone);\n }\n\n addSeconds(amount: number): TinyDate {\n return new TinyDate(addSeconds(this.nativeDate, amount), this.useTimeZone);\n }\n\n addMinutes(amount: number): TinyDate {\n return new TinyDate(addMinutes(this.nativeDate, amount), this.useTimeZone);\n }\n\n // isSame\n\n isSame(date: TinyDateType, grain: TinyDateCompareGrain = 'day'): boolean {\n let fn;\n switch (grain) {\n case 'decade':\n fn = (pre: Date, next: Date) => Math.abs(pre.getFullYear() - next.getFullYear()) < 11;\n break;\n case 'year':\n fn = isSameYear;\n break;\n case 'month':\n fn = isSameMonth;\n break;\n case 'quarter':\n fn = isSameQuarter;\n break;\n case 'day':\n fn = isSameDay;\n break;\n case 'hour':\n fn = isSameHour;\n break;\n case 'minute':\n fn = isSameMinute;\n break;\n case 'second':\n fn = isSameSecond;\n break;\n default:\n fn = isSameDay;\n break;\n }\n return fn(this.nativeDate, this.toNativeDate(date));\n }\n\n isSameYear(date: TinyDateType): boolean {\n return this.isSame(date, 'year');\n }\n\n isSameMonth(date: TinyDateType): boolean {\n return this.isSame(date, 'month');\n }\n\n isSameQuarter(date: TinyDateType): boolean {\n return this.isSame(date, 'quarter');\n }\n\n isSameDay(date: TinyDateType): boolean {\n return this.isSame(date, 'day');\n }\n\n isSameHour(date: TinyDateType): boolean {\n return this.isSame(date, 'hour');\n }\n\n isSameMinute(date: TinyDateType): boolean {\n return this.isSame(date, 'minute');\n }\n\n isSameSecond(date: TinyDateType): boolean {\n return this.isSame(date, 'second');\n }\n\n // isBefore and isAfter\n isBeforeYear(date: TinyDateType): boolean {\n return this.compare(date, 'year');\n }\n\n isBeforeQuarter(date: TinyDate): boolean {\n return this.compare(date, 'quarter');\n }\n\n isBeforeMonth(date: TinyDateType): boolean {\n return this.compare(date, 'month');\n }\n\n isBeforeWeek(date: TinyDateType): boolean {\n return this.compare(date, 'week');\n }\n\n isBeforeDay(date: TinyDateType): boolean {\n return this.compare(date, 'day');\n }\n\n isBeforeHour(date: TinyDateType): boolean {\n return this.compare(date, 'hour');\n }\n\n isBeforeMinute(date: TinyDateType): boolean {\n return this.compare(date, 'minute');\n }\n\n isBeforeSecond(date: TinyDateType): boolean {\n return this.compare(date, 'second');\n }\n\n isAfterYear(date: TinyDateType): boolean {\n return this.compare(date, 'year', false);\n }\n\n isAfterQuarter(date: TinyDate): boolean {\n return this.compare(date, 'quarter', false);\n }\n\n isAfterMonth(date: TinyDateType): boolean {\n return this.compare(date, 'month', false);\n }\n\n isAfterWeek(date: TinyDateType): boolean {\n return this.compare(date, 'week', false);\n }\n\n isAfterDay(date: TinyDateType): boolean {\n return this.compare(date, 'day', false);\n }\n\n isAfterHour(date: TinyDateType): boolean {\n return this.compare(date, 'hour', false);\n }\n\n isAfterMinute(date: TinyDateType): boolean {\n return this.compare(date, 'minute', false);\n }\n\n isAfterSecond(date: TinyDateType): boolean {\n return this.compare(date, 'second', false);\n }\n\n // is\n isWeekend(): boolean {\n return isWeekend(this.nativeDate);\n }\n\n isToday(): boolean {\n return isToday(this.nativeDate);\n }\n\n isTomorrow(): boolean {\n return isTomorrow(this.nativeDate);\n }\n\n isValid(): boolean {\n return isValid(this.nativeDate);\n }\n\n // startOf and endOf\n startOfYear(): TinyDate {\n return new TinyDate(startOfYear(this.nativeDate), this.useTimeZone);\n }\n\n startOfQuarter(): TinyDate {\n return new TinyDate(startOfQuarter(this.nativeDate), this.useTimeZone);\n }\n\n startOfMonth(): TinyDate {\n return new TinyDate(startOfMonth(this.nativeDate), this.useTimeZone);\n }\n\n startOfWeek(options?: { locale?: Locale; weekStartsOn?: WeekDayIndex }): TinyDate {\n return new TinyDate(startOfWeek(this.nativeDate, options), this.useTimeZone);\n }\n\n startOfDay(): TinyDate {\n return new TinyDate(startOfDay(this.nativeDate), this.useTimeZone);\n }\n\n endOfYear(): TinyDate {\n return new TinyDate(endOfYear(this.nativeDate), this.useTimeZone);\n }\n\n endOfQuarter(): TinyDate {\n return new TinyDate(endOfQuarter(this.nativeDate), this.useTimeZone);\n }\n\n endOfMonth(): TinyDate {\n return new TinyDate(endOfMonth(this.nativeDate), this.useTimeZone);\n }\n\n endOfWeek(options?: { locale?: Locale; weekStartsOn?: WeekDayIndex }): TinyDate {\n return new TinyDate(endOfWeek(this.nativeDate, options), this.useTimeZone);\n }\n\n endOfDay(): TinyDate {\n return new TinyDate(endOfDay(this.nativeDate), this.useTimeZone);\n }\n\n // other\n format(\n mat: string,\n options?: {\n locale?: Locale;\n weekStartsOn?: WeekDayIndex;\n firstWeekContainsDate?: FirstWeekContainsDate;\n useAdditionalWeekYearTokens?: boolean;\n useAdditionalDayOfYearTokens?: boolean;\n }\n ) {\n return format(this.nativeDate, mat, options);\n }\n\n calendarStart(options?: { weekStartsOn: WeekDayIndex | undefined }): TinyDate {\n return new TinyDate(startOfWeek(startOfMonth(this.nativeDate), options), this.useTimeZone);\n }\n\n clone(): TinyDate {\n return new TinyDate(new Date(this.nativeDate), this.useTimeZone);\n }\n\n getUnixTime(): number {\n return getUnixTime(this.nativeDate);\n }\n\n compare(date: TinyDateType, grain: TinyDateCompareGrain = 'day', isBefore: boolean = true): boolean {\n if (date === null) {\n return false;\n }\n let fn;\n switch (grain) {\n case 'year':\n fn = differenceInCalendarYears;\n break;\n case 'quarter':\n fn = differenceInCalendarQuarters;\n break;\n case 'month':\n fn = differenceInCalendarMonths;\n break;\n case 'day':\n fn = differenceInCalendarDays;\n break;\n case 'week':\n fn = differenceInWeeks;\n break;\n case 'hour':\n fn = differenceInHours;\n break;\n case 'minute':\n fn = differenceInMinutes;\n break;\n case 'second':\n fn = differenceInSeconds;\n break;\n default:\n fn = differenceInCalendarDays;\n break;\n }\n return isBefore ? fn(this.nativeDate, this.toNativeDate(date)) < 0 : fn(this.nativeDate, this.toNativeDate(date)) > 0;\n }\n\n private toNativeDate(date: any): Date {\n return date instanceof TinyDate ? date.nativeDate : date;\n }\n\n startOfISOWeek(): TinyDate {\n return new TinyDate(startOfISOWeek(this.nativeDate), this.useTimeZone);\n }\n\n endOfISOWeek(): TinyDate {\n return new TinyDate(endOfISOWeek(this.nativeDate), this.useTimeZone);\n }\n\n differenceInDays(date: Date): number {\n return differenceInDays(this.nativeDate, date);\n }\n\n differenceInHours(date: Date): number {\n return differenceInHours(this.nativeDate, date);\n }\n\n subWeeks(amount: number): TinyDate {\n return new TinyDate(subWeeks(this.nativeDate, amount), this.useTimeZone);\n }\n\n subDays(amount: number): TinyDate {\n return new TinyDate(subDays(this.nativeDate, amount), this.useTimeZone);\n }\n}\n","import { _isNumberValue, coerceCssPixelValue as coerceCssPixel } from '@angular/cdk/coercion';\nimport { ElementRef, TemplateRef } from '@angular/core';\n\nexport function isUndefined(value: any): value is undefined {\n return value === undefined;\n}\n\nexport function isNull(value: any): value is null {\n return value === null;\n}\n\nexport function isUndefinedOrNull(value: any): value is undefined | null {\n return isUndefined(value) || isNull(value);\n}\n\nexport function isArray<T = any>(value: any): value is Array<T> {\n return value && baseGetTag(value) === '[object Array]';\n}\n\nexport function isEmpty(value?: any): boolean {\n return !(isArray(value) && value.length > 0);\n}\n\nexport function isString(value?: any): value is string {\n return typeof value == 'string' || (!isArray(value) && isObjectLike(value) && baseGetTag(value) === '[object String]');\n}\n\nfunction isObjectLike(value: any): value is object {\n return value !== null && typeof value === 'object';\n}\n\nfunction baseGetTag(value: any) {\n const objectProto = Object.prototype;\n const hasOwnProperty = objectProto.hasOwnProperty;\n const toString = objectProto.toString;\n const symToStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : undefined;\n\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n if (!(symToStringTag && symToStringTag in Object(value))) {\n return toString.call(value);\n }\n const isOwn = hasOwnProperty.call(value, symToStringTag);\n const tag = value[symToStringTag];\n let unmasked = false;\n try {\n value[symToStringTag] = undefined;\n unmasked = true;\n } catch (e) {}\n\n const result = toString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number' || (isObjectLike(value) && baseGetTag(value) === '[object Number]');\n}\n\nexport function isObject(value: any): value is object {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n const type = typeof value;\n return !!value && (type === 'object' || type === 'function');\n}\n\nexport function isFunction(value: any): value is Function {\n const type = typeof value;\n return !!value && type === 'function';\n}\n\nexport function isDate(value: any): value is Date {\n const type = typeof value;\n return !!value && type === 'object' && !!value.getTime;\n}\n\nexport function coerceArray<T>(value: T | T[]): T[] {\n return Array.isArray(value) ? value : [value];\n}\n\nexport function get(object: any, path: string, defaultValue?: any): any {\n const paths = path.split('.');\n let result = object[paths.shift()];\n while (result && paths.length) {\n result = result[paths.shift()];\n }\n return result === undefined ? defaultValue : result;\n}\n\nexport function set(object: any, path: string, value: any): void {\n if (object == null) {\n return object;\n }\n const paths = path.split('.');\n let index = -1;\n const length = paths.length;\n const lastIndex = length - 1;\n let nested = object;\n while (nested !== null && ++index < length) {\n const key = paths[index];\n if (isObject(nested)) {\n if (index === lastIndex) {\n nested[key] = value;\n nested = nested[key];\n break;\n } else {\n if (nested[key] == null) {\n nested[key] = {};\n }\n }\n }\n nested = nested[key];\n }\n return object;\n}\n\nexport function isBoolean(value: any): value is boolean {\n return value === true || value === false || (isObjectLike(value) && baseGetTag(value) === '[object Boolean]');\n}\n\nexport function isClass(value: any): value is Function {\n return isFunction(value) && /^\\s*class\\s+/.test(value.toString());\n}\n\nexport function htmlElementIsEmpty(element: HTMLElement) {\n if (element && element.childNodes) {\n const nodes = element.childNodes;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.nodeType === Node.ELEMENT_NODE && (node as HTMLElement).outerHTML.toString().trim().length !== 0) {\n return false;\n } else if (node.nodeType === Node.TEXT_NODE && node.textContent.toString().trim().length !== 0) {\n return false;\n } else if (node.nodeType !== Node.COMMENT_NODE) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport function hexToRgb(hexValue: string, alpha?: number): string {\n const rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hex = hexValue.replace(rgx, (m: any, r: any, g: any, b: any) => r + r + g + g + b + b);\n const rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!rgb) return;\n const resultR = parseInt(rgb[1], 16);\n const resultG = parseInt(rgb[2], 16);\n const resultB = parseInt(rgb[3], 16);\n if (!isUndefinedOrNull(alpha)) {\n return `rgba(${resultR}, ${resultG}, ${resultB}, ${alpha})`;\n } else {\n return `rgb(${resultR}, ${resultG}, ${resultB})`;\n }\n}\n\nexport function dateToUnixTimestamp(date: Date | number): number {\n if (isNumber(date)) {\n if (date.toString().length === 10) {\n return date as number;\n } else {\n return parseInt(((date as number) / 1000).toFixed(0), 10);\n }\n } else {\n return parseInt(((date as Date).getTime() / 1000).toFixed(0), 10);\n }\n}\n\nexport function clamp(value: number, min = 0, max = 100) {\n return Math.max(min, Math.min(max, value));\n}\n\nexport function keyBy<T>(array: T[], key: T extends object ? keyof T : never): { [key: string]: T } {\n const result: { [key: string]: T } = {};\n array.forEach(item => {\n const keyValue = item[key];\n (result as any)[keyValue] = item;\n });\n return result;\n}\n\nexport function indexKeyBy<T>(array: T[], key: T extends object ? keyof T : never): { [key: string]: number } {\n const result: { [key: string]: number } = {};\n array.forEach((item, index) => {\n const keyValue = item[key];\n (result as any)[keyValue] = index;\n });\n return result;\n}\n\nfunction upperFirst(string: string): string {\n return string.slice(0, 1).toUpperCase() + string.slice(1);\n}\n\nexport function camelCase(values: string[]): string {\n if (isArray(values)) {\n return values.reduce((result, word, index) => {\n word = word.toLowerCase();\n return result + (index ? upperFirst(word) : word);\n }, '');\n } else {\n return;\n }\n}\n\nexport function generateRandomStr() {\n return Math.random().toString(36).substring(2);\n}\n\nexport function isTemplateRef<C = any>(value: any): value is TemplateRef<C> {\n return value instanceof TemplateRef;\n}\n\nexport function isHTMLElement(value: any): value is HTMLElement {\n return value instanceof HTMLElement;\n}\n\nexport function isElementRef(value: any): value is ElementRef {\n return value instanceof ElementRef;\n}\n\n/**\n * fix angular cdk's coerceBooleanProperty will transform 0 to true\n */\nexport function coerceBooleanProperty(value: boolean | string | number): boolean {\n if (value === '' || (value && value !== 'false')) {\n return true;\n } else {\n return false;\n }\n}\n\nexport type FunctionProp<T> = (...args: any[]) => T;\n\n/**\n * @deprecated Please use Angular cdk's coerceNumberProperty instead\n */\nexport function coerceNumberValue(value: number | string): number;\n/**\n * @deprecated Please use Angular cdk's coerceNumberProperty instead\n */\nexport function coerceNumberValue<D>(value: number | string, fallback: D): number | D;\n/**\n * @deprecated Please use Angular cdk's coerceNumberProperty instead\n */\nexport function coerceNumberValue(value: number | string, fallbackValue: number = 0): number {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n\n/**\n * @deprecated Please use Angular cdk's coerceCssPixelValue instead\n */\nexport function coerceCssPixelValue(value: number | string): string {\n value = _isNumberValue(value) ? Number(value) : value;\n return coerceCssPixel(value);\n}\n\nexport function valueFunctionProp<T>(prop: FunctionProp<T>, ...args: any[]): T {\n return typeof prop === 'function' ? prop(...args) : prop;\n}\n\nexport function shallowEqual(objA?: Record<string, any>, objB?: Record<string, any>): boolean {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n const bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n for (let idx = 0; idx < keysA.length; idx++) {\n const key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function concatArray<TItem>(items: TItem | TItem[], originalItems: TItem | TItem[] = []): TItem[] {\n let _originalItems: TItem[] = [];\n if (!originalItems) {\n _originalItems = [];\n } else {\n _originalItems = coerceArray(originalItems);\n }\n if (items) {\n if (isArray(items)) {\n return [..._originalItems, ...items];\n } else {\n return [..._originalItems, items];\n }\n } else {\n return _originalItems;\n }\n}\n\nexport function humanizeBytes(bytes: number, noSpace = false, fractionDigits = 1): string {\n if (bytes === 0) {\n return '0 Byte';\n }\n\n const k = 1024;\n const sizes: string[] = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\n const i: number = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(fractionDigits)) + (noSpace ? '' : ' ') + sizes[i];\n}\n\nexport function isFloat(value: string): boolean {\n if (!value) {\n return false;\n }\n\n return /^[-+]?([0-9]+([.][0-9]*)?|[.][0-9]+)([Ee][-+]?[0-9]+)?$/.test(value);\n}\n","import { ElementRef } from '@angular/core';\nimport * as helpers from './helpers';\n\nconst proto = Element.prototype;\nconst vendor =\n proto.matches ||\n proto['matchesSelector'] ||\n proto['webkitMatchesSelector'] ||\n proto['mozMatchesSelector'] ||\n proto['msMatchesSelector'] ||\n proto['oMatchesSelector'];\n\nexport function fallbackMatches(el: Element | Node, selector: string) {\n const nodes = el.parentNode.querySelectorAll(selector);\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i] === el) {\n return true;\n }\n }\n return false;\n}\n/**\n * Match `el` to `selector`.\n */\nexport function match(el: Element | Node, selector: string) {\n if (vendor) {\n return vendor.call(el, selector);\n }\n return fallbackMatches(el, selector);\n}\n\nexport function isDocument(element: any): element is Document {\n return (\n (typeof element !== 'undefined' && element instanceof Document) || (element.nodeType && element.nodeType === element.DOCUMENT_NODE)\n );\n}\n\nexport function isElement(element: any) {\n return (\n (typeof HTMLElement !== 'undefined' && element instanceof HTMLElement) ||\n (element && element.nodeType && element.nodeType === element.ELEMENT_NODE)\n );\n}\n\nexport function getWindow(elem: any) {\n return elem != null && elem === elem.window ? elem : elem.nodeType === 9 && elem.defaultView;\n}\n\nexport function getElementOffset(elem: HTMLElement) {\n let docElem, win, rect, doc;\n\n if (!elem) {\n return;\n }\n // Support: IE<=11+\n // Running getBoundingClientRect on a\n // disconnected node in IE throws an error\n if (!elem.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n rect = elem.getBoundingClientRect();\n\n // Make sure element is not hidden (display: none)\n if (rect.width || rect.height) {\n doc = elem.ownerDocument;\n win = getWindow(doc);\n docElem = doc.documentElement;\n\n return {\n top: rect.top + win.pageYOffset - docElem.clientTop,\n left: rect.left + win.pageXOffset - docElem.clientLeft,\n height: rect.height,\n width: rect.width\n };\n }\n return rect;\n}\n\nexport function getOffset(element: HTMLElement, container: HTMLElement | Window): { left: number; top: number } | null {\n if (!element || !element.getClientRects().length) {\n return null;\n }\n const rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n const documentElement = element.ownerDocument!.documentElement!;\n return {\n top: rect.top - documentElement.clientTop,\n left: rect.left - documentElement.clientLeft\n };\n }\n const containerRect = (container as HTMLElement).getBoundingClientRect();\n return {\n top: rect.top - containerRect.top,\n left: rect.left - containerRect.left\n };\n }\n\n return rect;\n}\n\nexport function getClientSize(): { width: number; height: number } {\n const width = document.documentElement.clientWidth;\n const height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width,\n height\n };\n}\n\nexport type ElementSelector = HTMLElement | ElementRef | string;\n\nexport function getHTMLElementBySelector(selector: ElementSelector, defaultElementRef: ElementRef): HTMLElement {\n if (!selector) {\n return defaultElementRef.nativeElement;\n } else if (selector === 'body') {\n return document.body;\n } else if (helpers.isString(selector)) {\n return document.querySelector(selector as string);\n } else if (selector instanceof ElementRef) {\n return selector.nativeElement;\n } else {\n return selector as HTMLElement;\n }\n}\n\nexport function isInputOrTextarea(element: HTMLElement) {\n return ['INPUT', 'TEXTAREA'].indexOf(element.nodeName) >= 0;\n}\n\nexport function isWindow(container: Element | Window): container is Window {\n return typeof window !== 'undefined' && container === window;\n}\n\nexport interface SimpleRect {\n top: number;\n left: number;\n width?: number;\n height?: number;\n bottom?: number;\n}\n\nexport function getContainerRect(container: Element | Window): SimpleRect {\n return !isWindow(container)\n ? container.getBoundingClientRect()\n : {\n top: 0,\n left: 0,\n bottom: 0\n };\n}\n\nexport function getStyleAsText(styles?: any): string {\n if (!styles) {\n return '';\n }\n\n return Object.keys(styles)\n .map(key => {\n const val = styles[key];\n return `${key}:${typeof val === 'string' ? val : val + 'px'}`;\n })\n .join(';');\n}\n\nexport function isTouchEvent(event: MouseEvent | TouchEvent): event is TouchEvent {\n return event.type.startsWith('touch');\n}\n\n/**\n * Assert wrapper element whether only contains icon.\n */\nexport function assertIconOnly(wrapperElement: Element): boolean {\n const listOfNode = Array.from(wrapperElement.childNodes);\n const iconCount = listOfNode.filter(node => ['THY-ICON', 'I'].includes(node.nodeName)).length;\n const noText = listOfNode.every(node => node.nodeName !== '#text');\n const noSpan = listOfNode.every(node => node.nodeName !== 'SPAN');\n const isIconOnly = noSpan && noText && iconCount >= 1;\n return isIconOnly;\n}\n\n/**\n *\n * calc position x,y point\n *\n * CASE (width <= clientWidth && height <= clientHeight):\n *\n * ------------- clientWidth -------------\n * | |\n * | ------ width ------ |\n * | | | |\n * | | | |\n * client height | |\n * Height | | |\n * | | | |\n * | ------------------- |\n * | |\n * | |\n * ---------------------------------------\n * fixedPosition = { x: 0, y: 0 }\n *\n *\n *\n * CASE (width > clientWidth || height > clientHeight):\n *\n * ------------- clientWidth -------------\n * | | |\n * | top |\n * | | |\n * |--left--|--------------- width -----------------\n * | | |\n * client | |\n * Height | |\n * | | |\n * | | |\n * | height |\n * | | |\n * ---------| |\n * | |\n * | |\n * | |\n * ----------------------------------------\n *\n *\n * - left || top > 0\n * left -> 0 || top -> 0\n *\n * - (left + width) < clientWidth || (top + height) < clientHeight\n * - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight\n *\n * DEFAULT:\n * - hold position\n *\n */\nexport function getFitContentPosition(params: {\n width: number;\n height: number;\n left: number;\n top: number;\n clientWidth: number;\n clientHeight: number;\n}): { x?: number; y?: number } {\n let fixPos = {};\n\n if (params.width <= params.clientWidth && params.height <= params.clientHeight) {\n fixPos = {\n x: 0,\n y: 0\n };\n }\n\n if (params.width > params.clientWidth || params.height > params.clientHeight) {\n fixPos = {\n x: fitPoint(params.left, params.width, params.clientWidth),\n y: fitPoint(params.top, params.height, params.clientHeight)\n };\n }\n\n return fixPos;\n}\n\nfunction fitPoint(start: number, size: number, clientSize: number): number | null {\n const startAddSize = start + size;\n const offsetStart = (size - clientSize) / 2;\n let distance: number | null = null;\n\n if (size > clientSize) {\n if (start > 0) {\n distance = offsetStart;\n }\n if (start < 0 && startAddSize < clientSize) {\n distance = -offsetStart;\n }\n } else {\n if (start < 0 || startAddSize > clientSize) {\n distance = start < 0 ? offsetStart : -offsetStart;\n }\n }\n\n return distance;\n}\n\nexport function elementMatchClosest(element: HTMLElement, selectors: string | string[]) {\n let matched = false;\n if (element && element.closest) {\n matched = !!helpers.coerceArray(selectors).find(selector => {\n return element.closest(selector);\n });\n }\n return matched;\n}\n","import { Id } from 'ngx-tethys/types';\nimport { coerceArray, isFunction, isUndefinedOrNull } from './helpers';\n\nexport interface EntityAddOptions {\n prepend?: boolean;\n\n afterId?: Id;\n}\n\nexport interface EntityMoveOptions {\n afterId?: Id;\n\n toIndex?: number;\n}\n\nexport interface ProducerOptions {\n idKey?: string;\n}\n\nexport class Producer<TEntity> {\n private idKey = '_id';\n\n private entities: TEntity[];\n\n constructor(entities: TEntity[], options?: ProducerOptions) {\n this.entities = entities || [];\n if (options && options.idKey) {\n this.idKey = options.idKey;\n }\n }\n\n /**\n * Add an entity or entities.\n *\n * @example\n * produce([users]).add(Entity);\n * produce([users]).add([Entity, Entity]);\n * produce([users]).add(Entity, { prepend: true });\n * produce([users]).add(Entity, { afterId: '' });\n */\n add(entity: TEntity | TEntity[], addOptions?: EntityAddOptions): TEntity[] {\n const addEntities = coerceArray(entity);\n if (addEntities.length === 0) {\n return this.entities;\n }\n if (addOptions && (addOptions.afterId || addOptions.prepend)) {\n if (addOptions.afterId) {\n const entities = [...this.entities];\n const index =\n this.entities.findIndex(item => {\n return item[this.idKey] === addOptions.afterId;\n }) + 1;\n entities.splice(index, 0, ...addEntities);\n this.entities = [...entities];\n } else if (addOptions.prepend) {\n this.entities = [...addEntities, ...this.entities];\n }\n } else {\n this.entities = [...this.entities, ...addEntities];\n }\n return this.entities;\n }\n\n /**\n *\n * Update an entity or entities.\n *\n * @example\n * produce([users]).update(3, {\n * name: 'New Name'\n * });\n *\n * produce([users]).update(3, entity => {\n * return {\n * ...entity,\n * name: 'New Name'\n * }\n * });\n *\n * produce([users]).update([1,2,3], {\n * name: 'New Name'\n * });\n */\n update(id: Id | Id[] | null, newStateFn: (entity: Readonly<TEntity>) => Partial<TEntity>): TEntity[];\n update(id: Id | Id[] | null, newState?: Partial<TEntity>): TEntity[];\n update(\n idsOrFn: Id | Id[] | null | Partial<TEntity> | ((entity: Readonly<TEntity>) => boolean),\n newStateOrFn?: ((entity: Readonly<TEntity>) => Partial<TEntity>) | Partial<TEntity>\n ): TEntity[] {\n const ids = coerceArray(idsOrFn);\n\n for (let i = 0; i < this.entities.length; i++) {\n const oldEntity = this.entities[i];\n if (ids.indexOf(oldEntity[this.idKey]) >= 0) {\n const newState = isFunction(newStateOrFn) ? (newStateOrFn as any)(oldEntity) : newStateOrFn;\n this.entities[i] = { ...(oldEntity as any), ...newState };\n }\n }\n return [...this.entities];\n }\n\n /**\n *\n * Remove one or more entities:\n *\n * @example\n * produce([users]).remove(5);\n * produce([users]).remove([1,2,3]);\n * produce([users]).remove(entity => entity.id === 1);\n */\n remove(id: Id | Id[]): TEntity[];\n remove(predicate: (entity: Readonly<TEntity>) => boolean): TEntity[];\n remove(idsOrFn?: Id | Id[] | ((entity: Readonly<TEntity>) => boolean)): TEntity[] {\n if (isFunction(idsOrFn)) {\n this.entities = this.entities.filter(entity => {\n return !(idsOrFn as any)(entity);\n });\n } else {\n const ids = coerceArray(idsOrFn);\n this.entities = this.entities.filter(entity => {\n return ids.indexOf(entity[this.idKey]) === -1;\n });\n }\n return this.entities;\n }\n\n /**\n *\n * Move one or more entities:\n *\n * @example\n * produce([users]).move(5, {afterId: 2});\n * produce([users]).move(5, {toIndex: 0});\n */\n move(id: Id, moveOptions?: EntityMoveOptions): TEntity[] {\n const fromIndex = this.entities.findIndex(item => item[this.idKey] === id);\n let toIndex = 0;\n const newEntities = [...this.entities];\n\n if (!id || fromIndex < 0) {\n return [...this.entities];\n }\n\n if (moveOptions) {\n if (!isUndefinedOrNull(moveOptions.afterId)) {\n toIndex = this.entities.findIndex(item => item[this.idKey] === moveOptions.afterId);\n } else if (moveOptions.toIndex) {\n toIndex = moveOptions.toIndex;\n }\n }\n toIndex = Math.max(0, Math.min(this.entities.length - 1, toIndex));\n if (toIndex === fromIndex) {\n return [...this.entities];\n } else {\n const target = this.entities[fromIndex];\n const delta = toIndex < fromIndex ? -1 : 1;\n\n for (let i = fromIndex; i !== toIndex; i += delta) {\n newEntities[i] = newEntities[i + delta];\n }\n newEntities[toIndex] = target;\n return [...newEntities];\n }\n }\n}\n\nexport function produce<TEntity>(entities: TEntity[], options?: ProducerOptions) {\n return new Producer(entities, options);\n}\n","import { keyBy, indexKeyBy } from './helpers';\n\n// 抽取数据中的Item类型,不是数组直接返回对象的类型\nexport type ArrayInferExtract<T> = T extends Array<infer P> ? P : T;\nexport type ArrayAlwaysExtract<T> = T extends Array<infer P> ? P : never;\n// 抽取 References 中 Object 类型, 如果是数组取数组 Item 类型\nexport type ReferenceObjectExtract<T> = {\n [key in keyof T]: ArrayInferExtract<T[key]> extends object ? ArrayInferExtract<T[key]> : never;\n};\n// 收取 References 中所有的属性 Names,如果ArrayInferExtract不是对象,返回 never\nexport type ReferenceExtractNames<T> = { [key in keyof T]: ArrayInferExtract<T[key]> extends object ? key : never };\nexport type ReferenceArrayExtractNames<T> = { [key in keyof T]: T[key] extends Array<object> ? key : never };\n// 排除 ReferenceExtractNames 抽取 Names 中的 never,只保留是对象的 Names\nexport type ReferenceExtractAllowNames<T> = {\n [key in ReferenceExtractNames<T>[keyof T]]: ReferenceExtractNames<T>[key];\n};\nexport type ReferenceArrayExtractAllowNames<T> = {\n [key in ReferenceArrayExtractNames<T>[keyof T]]: ReferenceExtractNames<T>[key];\n};\n\n/**\n * 根据 ReferenceExtractAllowKeys 抽取出的 Object Keys 组合新的对象\n * @example ReferenceExtractAllowKeys<{\n users: { uid: string; name: string }[];\n info: { id: number; name: string };\n departments: { dept: number }[];\n ids: string[];\n id: string;\n }> => {\n users: \"uid\" | \"name\",\n info: \"id\" | \"name\",\n departments: \"dept\"\n\n }\n */\nexport type ReferenceExtractAllowKeys<T> = {\n [key in keyof ReferenceExtractAllowNames<T>]?: keyof ReferenceObjectExtract<T>[key];\n};\n// 只允许 reference 是 Array 的 Keys\nexport type ReferenceArrayExtractAllowKeys<T> = {\n [key in keyof ReferenceArrayExtractAllowNames<T>]?: keyof ReferenceObjectExtract<T>[key];\n};\n\nfunction getReferenceIdKey<TReferences>(referenceKey: string, idKeys: ReferenceArrayExtractAllowKeys<TReferences>) {\n if (idKeys && idKeys[referenceKey]) {\n return idKeys[referenceKey];\n } else {\n return '_id';\n }\n}\n\n/**\n * Append references to original references\n * @example\n * mergeReferences({departments: [{ _id: '1', name: 'name-1'}]}, {departments: [{ _id: '3', name: 'name-3'}]})\n * mergeReferences({users: [{ uid: '1', name: 'name-1'}]}, {users: [{ uid: '3', name: 'name-3'}]}, { users: \"uid\" })\n * @param originalReferences original references\n * @param references append references\n * @param idKeys references 's id key, default is '_id'\n *\n * @returns TReferences\n */\nexport function mergeReferences<TReferences>(\n originalReferences: TReferences,\n references: Partial<TReferences>,\n idKeys?: ReferenceArrayExtractAllowKeys<TReferences>\n): TReferences {\n for (const key in references) {\n if (references.hasOwnProperty(key)) {\n const reference = references[key];\n const referenceIdKey = getReferenceIdKey<TReferences>(key, idKeys);\n const originalReference = originalReferences[key];\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !originalReference) {\n throw new Error(`original reference must exist when append new reference: ${key}`);\n }\n if (originalReference instanceof Array) {\n // original reference id index map\n const originalReferenceIdIndexMap = indexKeyBy<ReferenceExtractAllowKeys<TReferences>>(\n originalReferences[key] as any,\n referenceIdKey\n );\n // append reference is array\n if (reference instanceof Array) {\n reference.forEach((item: TReferences[Extract<keyof TReferences, string>]) => {\n const itemId = item[referenceIdKey];\n const index = originalReferenceIdIndexMap[itemId];\n if (index >= 0) {\n originalReference[index] = { ...originalReference[index], ...item };\n } else {\n (originalReferences as any)[key] = [...(originalReferences[key] as any), item];\n }\n });\n } else {\n // append reference is not array, support append signal object to array reference\n const itemId = reference[referenceIdKey];\n const index = originalReferenceIdIndexMap[itemId];\n if (itemId >= 0) {\n originalReference[index] = { ...originalReference[index], ...reference };\n } else {\n (originalReferences as any)[key] = [...(originalReferences[key] as any), reference];\n }\n }\n } else {\n originalReferences[key] = { ...originalReferences[key], ...reference };\n }\n }\n }\n\n return originalReferences;\n}\n\n/**\n * Build dictionary for references\n * @param references references\n * @param idKeys references 's id key, default is '_id'\n */\nexport function buildReferencesKeyBy<TReferences>(\n references: Partial<TReferences>,\n idKeys?: Partial<ReferenceArrayExtractAllowKeys<TReferences>>\n) {\n const result: { [key in keyof TReferences]?: { [key: string]: ArrayInferExtract<TReferences[key]> } } = {};\n for (const key in references) {\n if (references.hasOwnProperty(key)) {\n const referenceIdKey = getReferenceIdKey<TReferences>(key, idKeys);\n const reference = references[key];\n if (reference instanceof Array) {\n const originalReferenceIdMap = keyBy<ArrayInferExtract<TReferences>>(reference, referenceIdKey);\n (result as any)[key] = originalReferenceIdMap;\n }\n }\n }\n return result;\n}\n","import { SimpleChanges } from '@angular/core';\n\nexport function hasLaterChange(changes: SimpleChanges): boolean {\n const hasChange = Object.keys(changes).find(key => {\n return changes[key] && !changes[key].isFirstChange();\n });\n return !!hasChange;\n}\n","import { isDevMode } from '@angular/core';\n\nconst record: Record<string, boolean> = {};\n\nlet logWarnDeprecation = true;\n\nexport const PREFIX = '[NGX-TETHYS]:';\n\nfunction notRecorded(...args: any[]): boolean {\n const asRecord = args.reduce((acc, c) => acc + c.toString(), '');\n\n if (record[asRecord]) {\n return false;\n } else {\n record[asRecord] = true;\n return true;\n }\n}\n\nfunction consoleCommonBehavior(consoleFunc: (...args: any) => void, ...args: any[]): void {\n if (isDevMode() && notRecorded(...args)) {\n consoleFunc(...args);\n }\n}\n\n// Warning should only be printed in dev mode and only once.\nexport const warn = (...args: any[]) => consoleCommonBehavior((...arg: any[]) => console.warn(PREFIX, ...arg), ...args);\n\nexport function createWarnDeprecation(prefix: string): (...args: any[]) => void {\n return (...args: any[]) => {\n const stack = new Error().stack;\n return consoleCommonBehavior(\n (...arg: any[]) => {\n if (logWarnDeprecation) {\n console.warn(prefix, 'deprecated:', ...arg, stack);\n }\n },\n ...args\n );\n };\n}\n\nexport const warnDeprecation = createWarnDeprecation(PREFIX);\n\n// Log should only be printed in dev mode.\nexport const log = (...args: any[]) => {\n if (isDevMode()) {\n console.log(PREFIX, ...args);\n }\n};\n\nexport function setWarnDeprecation(enabled: boolean) {\n logWarnDeprecation = enabled;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["coerceCssPixel","helpers.isString","helpers.coerceArray"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { NgTemplateOutlet, CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, HostBinding, Input, ContentChild, NgModule } from '@angular/core';
3
+ import { ContentChild, Input, HostBinding, Component, NgModule } from '@angular/core';
4
4
  import { ThySharedModule } from 'ngx-tethys/shared';
5
5
  import { useHostRenderer } from '@tethys/cdk/dom';
6
6
  import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
@@ -92,14 +92,14 @@ class ThyVote {
92
92
  classNames.push(`thy-vote-${this._layout}-size-${this._size}`);
93
93
  this.hostRenderer.updateClass(classNames);
94
94
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVote, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", coerceBooleanProperty], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.thy-vote-disabled": "thyDisabled", "class.thy-vote": "this.class", "class.has-voted": "this._hasVoted" } }, queries: [{ propertyName: "voteIcon", first: true, predicate: ["voteIcon"], descendants: true }], ngImport: i0, template: "@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyVote, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", coerceBooleanProperty], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.thy-vote-disabled": "thyDisabled", "class.thy-vote": "this.class", "class.has-voted": "this._hasVoted" } }, queries: [{ propertyName: "voteIcon", first: true, predicate: ["voteIcon"], descendants: true }], ngImport: i0, template: "@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
97
97
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVote, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyVote, decorators: [{
99
99
  type: Component,
100
100
  args: [{ selector: 'thy-vote,[thyVote]', host: {
101
101
  '[class.thy-vote-disabled]': `thyDisabled`
102
- }, standalone: true, imports: [ThyIcon, NgTemplateOutlet], template: "@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n" }]
102
+ }, imports: [ThyIcon, NgTemplateOutlet], template: "@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n" }]
103
103
  }], ctorParameters: () => [], propDecorators: { class: [{
104
104
  type: HostBinding,
105
105
  args: [`class.thy-vote`]
@@ -131,11 +131,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
131
131
  }] } });
132
132
 
133
133
  class ThyVoteModule {
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
135
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote], exports: [ThyVote] }); }
136
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote] }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyVoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
135
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.2", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote], exports: [ThyVote] }); }
136
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote] }); }
137
137
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyVoteModule, decorators: [{
139
139
  type: NgModule,
140
140
  args: [{
141
141
  imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote],
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-vote.mjs","sources":["../../../src/vote/vote.component.ts","../../../src/vote/vote.component.html","../../../src/vote/vote.module.ts","../../../src/vote/ngx-tethys-vote.ts"],"sourcesContent":["import { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { Component, ContentChild, HostBinding, Input, OnInit, TemplateRef } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyVoteSizes = 'default' | 'sm';\n\nexport type ThyVoteType = 'primary' | 'success' | 'primary-weak' | 'success-weak';\n\nexport type ThyVoteLayout = 'vertical' | 'horizontal';\n\n/**\n * 投票组件\n * @name thy-vote,[thyVote]\n * @order 10\n */\n@Component({\n selector: 'thy-vote,[thyVote]',\n templateUrl: './vote.component.html',\n host: {\n '[class.thy-vote-disabled]': `thyDisabled`\n },\n standalone: true,\n imports: [ThyIcon, NgTemplateOutlet]\n})\nexport class ThyVote implements OnInit {\n _size: ThyVoteSizes;\n\n _type: ThyVoteType;\n\n _layout: ThyVoteLayout;\n\n _initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n @HostBinding(`class.thy-vote`) class = true;\n\n @HostBinding(`class.has-voted`) _hasVoted = true;\n\n /**\n * 大小,thyLayout=\"vertical\" 时,支持: sm | default\n * @default default\n */\n @Input()\n set thySize(value: ThyVoteSizes) {\n this._size = value;\n if (this._initialized) {\n this._setClassesByType();\n }\n }\n\n /**\n * 标签类型: primary | success | primary-weak | success-weak\n * @default primary\n */\n @Input()\n set thyVote(value: ThyVoteType) {\n this._type = value;\n if (this._initialized) {\n this._setClassesByType();\n }\n }\n\n /**\n * 是否是偏圆型\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyRound: boolean;\n\n /**\n * 布局: horizontal | vertical\n * @default horizontal\n */\n @Input()\n set thyLayout(value: ThyVoteLayout) {\n this._layout = value;\n if (this._initialized) {\n this._setClassesByType();\n }\n }\n\n /**\n * 赞同的数量\n */\n @Input() thyVoteCount: number | string;\n\n /**\n * 图标\n * @type string\n */\n @Input() thyIcon = 'thumb-up';\n\n /**\n * 是否赞同\n * @type boolean\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyHasVoted(value: boolean) {\n this._hasVoted = value;\n if (this._initialized) {\n this._setClassesByType();\n }\n }\n\n /**\n * 是否禁用\n * @type boolean\n */\n @Input({ transform: coerceBooleanProperty }) thyDisabled = false;\n\n /**\n * 自定义Icon模板\n * @type TemplateRef\n */\n @ContentChild('voteIcon') voteIcon: TemplateRef<any>;\n\n constructor() {}\n\n ngOnInit() {\n this._setClassesByType();\n this._initialized = true;\n }\n\n _setClassesByType() {\n const classNames = [];\n if (!this._type) {\n this._type = 'primary';\n }\n if (!this._layout) {\n this._layout = 'horizontal';\n }\n if (!this._size) {\n this._size = 'default';\n }\n if (this.thyRound) {\n classNames.push('thy-vote-round');\n }\n classNames.push(`thy-vote-${this._type}`);\n classNames.push(`thy-vote-${this._layout}`);\n classNames.push(`thy-vote-${this._layout}-size-${this._size}`);\n this.hostRenderer.updateClass(classNames);\n }\n}\n","@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyVote } from './vote.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote],\n exports: [ThyVote],\n providers: []\n})\nexport class ThyVoteModule {}\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-vote.mjs","sources":["../../../src/vote/vote.component.ts","../../../src/vote/vote.component.html","../../../src/vote/vote.module.ts","../../../src/vote/ngx-tethys-vote.ts"],"sourcesContent":["import { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { Component, ContentChild, HostBinding, Input, OnInit, TemplateRef } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyVoteSizes = 'default' | 'sm';\n\nexport type ThyVoteType = 'primary' | 'success' | 'primary-weak' | 'success-weak';\n\nexport type ThyVoteLayout = 'vertical' | 'horizontal';\n\n/**\n * 投票组件\n * @name thy-vote,[thyVote]\n * @order 10\n */\n@Component({\n selector: 'thy-vote,[thyVote]',\n templateUrl: './vote.component.html',\n host: {\n '[class.thy-vote-disabled]': `thyDisabled`\n },\n imports: [ThyIcon, NgTemplateOutlet]\n})\nexport class ThyVote implements OnInit {\n _size: ThyVoteSizes;\n\n _type: ThyVoteType;\n\n _layout: ThyVoteLayout;\n\n _initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n @HostBinding(`class.thy-vote`) class = true;\n\n @HostBinding(`class.has-voted`) _hasVoted = true;\n\n /**\n * 大小,thyLayout=\"vertical\" 时,支持: sm | default\n * @default default\n */\n @Input()\n set thySize(value: ThyVoteSizes) {\n this._size = value;\n if (this._initialized) {\n this._setClassesByType();\n }\n }\n\n /**\n * 标签类型: primary | success | primary-weak | success-weak\n * @default primary\n */\n @Input()\n set thyVote(value: ThyVoteType) {\n this._type = value;\n if (this._initialized) {\n this._setClassesByType();\n }\n }\n\n /**\n * 是否是偏圆型\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyRound: boolean;\n\n /**\n * 布局: horizontal | vertical\n * @default horizontal\n */\n @Input()\n set thyLayout(value: ThyVoteLayout) {\n this._layout = value;\n if (this._initialized) {\n this._setClassesByType();\n }\n }\n\n /**\n * 赞同的数量\n */\n @Input() thyVoteCount: number | string;\n\n /**\n * 图标\n * @type string\n */\n @Input() thyIcon = 'thumb-up';\n\n /**\n * 是否赞同\n * @type boolean\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyHasVoted(value: boolean) {\n this._hasVoted = value;\n if (this._initialized) {\n this._setClassesByType();\n }\n }\n\n /**\n * 是否禁用\n * @type boolean\n */\n @Input({ transform: coerceBooleanProperty }) thyDisabled = false;\n\n /**\n * 自定义Icon模板\n * @type TemplateRef\n */\n @ContentChild('voteIcon') voteIcon: TemplateRef<any>;\n\n constructor() {}\n\n ngOnInit() {\n this._setClassesByType();\n this._initialized = true;\n }\n\n _setClassesByType() {\n const classNames = [];\n if (!this._type) {\n this._type = 'primary';\n }\n if (!this._layout) {\n this._layout = 'horizontal';\n }\n if (!this._size) {\n this._size = 'default';\n }\n if (this.thyRound) {\n classNames.push('thy-vote-round');\n }\n classNames.push(`thy-vote-${this._type}`);\n classNames.push(`thy-vote-${this._layout}`);\n classNames.push(`thy-vote-${this._layout}-size-${this._size}`);\n this.hostRenderer.updateClass(classNames);\n }\n}\n","@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyVote } from './vote.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote],\n exports: [ThyVote],\n providers: []\n})\nexport class ThyVoteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, DestroyRef, effect, Directive, Input, NgModule } from '@angular/core';
2
+ import { inject, ElementRef, DestroyRef, effect, Input, Directive, NgModule } from '@angular/core';
3
3
  import { Subject, Observable } from 'rxjs';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
5
  import { MutationObserverFactory } from '@angular/cdk/observers';
@@ -180,10 +180,10 @@ class ThyWatermarkDirective {
180
180
  };
181
181
  });
182
182
  }
183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
184
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyWatermarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
184
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.2", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkDirective, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyWatermarkDirective, decorators: [{
187
187
  type: Directive,
188
188
  args: [{
189
189
  selector: '[thyWatermark]',
@@ -199,11 +199,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
199
199
  }] } });
200
200
 
201
201
  class ThyWatermarkModule {
202
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
203
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkModule, imports: [CommonModule, ThySharedModule, ThyWatermarkDirective], exports: [ThyWatermarkDirective] }); }
204
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkModule, imports: [CommonModule, ThySharedModule] }); }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyWatermarkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
203
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.2", ngImport: i0, type: ThyWatermarkModule, imports: [CommonModule, ThySharedModule, ThyWatermarkDirective], exports: [ThyWatermarkDirective] }); }
204
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyWatermarkModule, imports: [CommonModule, ThySharedModule] }); }
205
205
  }
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkModule, decorators: [{
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyWatermarkModule, decorators: [{
207
207
  type: NgModule,
208
208
  args: [{
209
209
  imports: [CommonModule, ThySharedModule, ThyWatermarkDirective],