ngx-tethys 17.0.5 → 18.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 (493) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/esm2022/action/action.component.mjs +3 -3
  3. package/esm2022/action/action.module.mjs +4 -4
  4. package/esm2022/action/actions.component.mjs +3 -3
  5. package/esm2022/affix/affix.component.mjs +3 -3
  6. package/esm2022/affix/affix.module.mjs +4 -4
  7. package/esm2022/alert/alert.component.mjs +3 -3
  8. package/esm2022/alert/alert.directive.mjs +3 -3
  9. package/esm2022/alert/alert.module.mjs +4 -4
  10. package/esm2022/anchor/anchor-link.component.mjs +3 -3
  11. package/esm2022/anchor/anchor.component.mjs +3 -3
  12. package/esm2022/anchor/anchor.module.mjs +4 -4
  13. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +3 -3
  14. package/esm2022/arrow-switcher/module.mjs +4 -4
  15. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  16. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +3 -3
  17. package/esm2022/autocomplete/module.mjs +4 -4
  18. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +3 -3
  19. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +3 -3
  20. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +3 -3
  21. package/esm2022/avatar/avatar.component.mjs +3 -3
  22. package/esm2022/avatar/avatar.module.mjs +4 -4
  23. package/esm2022/avatar/avatar.pipe.mjs +9 -9
  24. package/esm2022/avatar/avatar.service.mjs +3 -3
  25. package/esm2022/back-top/back-top.component.mjs +3 -3
  26. package/esm2022/back-top/back-top.module.mjs +4 -4
  27. package/esm2022/badge/badge.component.mjs +3 -3
  28. package/esm2022/badge/badge.module.mjs +4 -4
  29. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +3 -3
  30. package/esm2022/breadcrumb/breadcrumb.component.mjs +3 -3
  31. package/esm2022/breadcrumb/module.mjs +4 -4
  32. package/esm2022/button/button-group.component.mjs +3 -3
  33. package/esm2022/button/button-icon.component.mjs +3 -3
  34. package/esm2022/button/button.component.mjs +3 -3
  35. package/esm2022/button/button.module.mjs +4 -4
  36. package/esm2022/calendar/calendar-cells.mjs +6 -6
  37. package/esm2022/calendar/calendar-header.component.mjs +3 -3
  38. package/esm2022/calendar/calendar.component.mjs +3 -3
  39. package/esm2022/calendar/module.mjs +4 -4
  40. package/esm2022/card/card.component.mjs +3 -3
  41. package/esm2022/card/card.module.mjs +4 -4
  42. package/esm2022/card/content.component.mjs +3 -3
  43. package/esm2022/card/header.component.mjs +3 -3
  44. package/esm2022/carousel/carousel-item.directive.mjs +3 -3
  45. package/esm2022/carousel/carousel.component.mjs +3 -3
  46. package/esm2022/carousel/carousel.service.mjs +3 -3
  47. package/esm2022/carousel/module.mjs +4 -4
  48. package/esm2022/cascader/cascader-li.component.mjs +3 -3
  49. package/esm2022/cascader/cascader-search-option.component.mjs +3 -3
  50. package/esm2022/cascader/cascader.component.mjs +6 -6
  51. package/esm2022/cascader/cascader.service.mjs +3 -3
  52. package/esm2022/cascader/module.mjs +4 -4
  53. package/esm2022/checkbox/checkbox.component.mjs +3 -3
  54. package/esm2022/checkbox/module.mjs +4 -4
  55. package/esm2022/collapse/collapse-item.component.mjs +3 -3
  56. package/esm2022/collapse/collapse.component.mjs +3 -3
  57. package/esm2022/collapse/module.mjs +4 -4
  58. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +3 -3
  59. package/esm2022/color-picker/color-picker-panel.component.mjs +3 -3
  60. package/esm2022/color-picker/color-picker.component.mjs +3 -3
  61. package/esm2022/color-picker/coordinates.directive.mjs +3 -3
  62. package/esm2022/color-picker/module.mjs +4 -4
  63. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +3 -3
  64. package/esm2022/color-picker/parts/hue/hue.component.mjs +3 -3
  65. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +3 -3
  66. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +3 -3
  67. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +3 -3
  68. package/esm2022/comment/comment-actions.directive.mjs +3 -3
  69. package/esm2022/comment/comment-content.directive.mjs +3 -3
  70. package/esm2022/comment/comment.component.mjs +3 -3
  71. package/esm2022/comment/comment.module.mjs +4 -4
  72. package/esm2022/copy/copy.directive.mjs +3 -3
  73. package/esm2022/copy/module.mjs +4 -4
  74. package/esm2022/core/click-positioner.mjs +3 -3
  75. package/esm2022/core/overlay/portal-directives.mjs +3 -3
  76. package/esm2022/core/scroll.mjs +3 -3
  77. package/esm2022/core/store/store.mjs +3 -3
  78. package/esm2022/core/translate.mjs +3 -3
  79. package/esm2022/core/update-host-class.service.mjs +3 -3
  80. package/esm2022/date-picker/abstract-picker.component.mjs +3 -3
  81. package/esm2022/date-picker/abstract-picker.directive.mjs +3 -3
  82. package/esm2022/date-picker/base-picker.component.mjs +3 -3
  83. package/esm2022/date-picker/date-helper.service.mjs +3 -3
  84. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  85. package/esm2022/date-picker/date-picker.directive.mjs +3 -3
  86. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  87. package/esm2022/date-picker/date-picker.service.mjs +3 -3
  88. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +3 -3
  89. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +3 -3
  90. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +3 -3
  91. package/esm2022/date-picker/lib/date/date-header.component.mjs +3 -3
  92. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +3 -3
  93. package/esm2022/date-picker/lib/date/date-table.component.mjs +3 -3
  94. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +3 -3
  95. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +3 -3
  96. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +3 -3
  97. package/esm2022/date-picker/lib/lib-packer.module.mjs +4 -4
  98. package/esm2022/date-picker/lib/month/month-header.component.mjs +3 -3
  99. package/esm2022/date-picker/lib/month/month-table.component.mjs +3 -3
  100. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +3 -3
  101. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +3 -3
  102. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +3 -3
  103. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -3
  104. package/esm2022/date-picker/lib/year/year-table.component.mjs +3 -3
  105. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  106. package/esm2022/date-picker/picker.component.mjs +3 -3
  107. package/esm2022/date-picker/picker.pipes.mjs +12 -12
  108. package/esm2022/date-picker/picker.validators.mjs +6 -6
  109. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  110. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  111. package/esm2022/date-picker/range-picker.directive.mjs +3 -3
  112. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  113. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  114. package/esm2022/date-range/date-range.component.mjs +3 -3
  115. package/esm2022/date-range/module.mjs +4 -4
  116. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +3 -3
  117. package/esm2022/dialog/body/dialog-body.component.mjs +3 -3
  118. package/esm2022/dialog/confirm/confirm.component.mjs +3 -3
  119. package/esm2022/dialog/dialog-container.component.mjs +3 -3
  120. package/esm2022/dialog/dialog.module.mjs +4 -4
  121. package/esm2022/dialog/dialog.service.mjs +3 -3
  122. package/esm2022/dialog/footer/dialog-footer.component.mjs +3 -3
  123. package/esm2022/dialog/header/dialog-header.component.mjs +3 -3
  124. package/esm2022/divider/divider.component.mjs +3 -3
  125. package/esm2022/divider/divider.module.mjs +4 -4
  126. package/esm2022/dot/dot.component.mjs +3 -3
  127. package/esm2022/dot/dot.module.mjs +4 -4
  128. package/esm2022/drag-drop/drag-content.directive.mjs +3 -3
  129. package/esm2022/drag-drop/drag-drop.service.mjs +3 -3
  130. package/esm2022/drag-drop/drag-handle.directive.mjs +3 -3
  131. package/esm2022/drag-drop/drag.directive.mjs +3 -3
  132. package/esm2022/drag-drop/drop-container.directive.mjs +3 -3
  133. package/esm2022/drag-drop/module.mjs +4 -4
  134. package/esm2022/dropdown/dropdown-active.directive.mjs +3 -3
  135. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +21 -21
  136. package/esm2022/dropdown/dropdown-menu.component.mjs +12 -12
  137. package/esm2022/dropdown/dropdown-submenu.component.mjs +3 -3
  138. package/esm2022/dropdown/dropdown.directive.mjs +3 -3
  139. package/esm2022/dropdown/module.mjs +4 -4
  140. package/esm2022/empty/empty.component.mjs +3 -3
  141. package/esm2022/empty/empty.config.mjs +3 -3
  142. package/esm2022/empty/empty.module.mjs +4 -4
  143. package/esm2022/flexible-text/flexible-text.component.mjs +3 -3
  144. package/esm2022/flexible-text/flexible-text.module.mjs +4 -4
  145. package/esm2022/form/form-group-error/form-group-error.component.mjs +3 -3
  146. package/esm2022/form/form-group-label.directive.mjs +3 -3
  147. package/esm2022/form/form-group.component.mjs +3 -3
  148. package/esm2022/form/form-submit.directive.mjs +3 -3
  149. package/esm2022/form/form-validator-loader.mjs +3 -3
  150. package/esm2022/form/form-validator.service.mjs +3 -3
  151. package/esm2022/form/form.directive.mjs +3 -3
  152. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +3 -3
  153. package/esm2022/form/module.mjs +4 -4
  154. package/esm2022/form/validator/confirm-validator.directive.mjs +3 -3
  155. package/esm2022/form/validator/max-validator.directive.mjs +3 -3
  156. package/esm2022/form/validator/min-validator.directive.mjs +3 -3
  157. package/esm2022/form/validator/unique-validator.directive.mjs +3 -3
  158. package/esm2022/fullscreen/fullscreen-launch.directive.mjs +3 -3
  159. package/esm2022/fullscreen/fullscreen.component.mjs +3 -3
  160. package/esm2022/fullscreen/fullscreen.module.mjs +4 -4
  161. package/esm2022/fullscreen/fullscreen.service.mjs +3 -3
  162. package/esm2022/grid/flex.mjs +12 -12
  163. package/esm2022/grid/module.mjs +4 -4
  164. package/esm2022/grid/thy-col.directive.mjs +3 -3
  165. package/esm2022/grid/thy-grid-item.component.mjs +3 -3
  166. package/esm2022/grid/thy-grid.component.mjs +6 -6
  167. package/esm2022/grid/thy-row.directive.mjs +3 -3
  168. package/esm2022/guider/guider-hint/guider-hint.component.mjs +3 -3
  169. package/esm2022/guider/guider-manager.mjs +3 -3
  170. package/esm2022/guider/guider.directive.mjs +3 -3
  171. package/esm2022/guider/guider.module.mjs +4 -4
  172. package/esm2022/guider/guider.service.mjs +3 -3
  173. package/esm2022/icon/icon-registry.mjs +3 -3
  174. package/esm2022/icon/icon.component.mjs +3 -3
  175. package/esm2022/icon/icon.module.mjs +9 -8
  176. package/esm2022/image/image-group.component.mjs +3 -3
  177. package/esm2022/image/image.directive.mjs +3 -3
  178. package/esm2022/image/image.service.mjs +3 -3
  179. package/esm2022/image/module.mjs +4 -4
  180. package/esm2022/image/preview/image-preview.component.mjs +3 -3
  181. package/esm2022/input/input-count.component.mjs +3 -3
  182. package/esm2022/input/input-group.component.mjs +3 -3
  183. package/esm2022/input/input-search.component.mjs +3 -3
  184. package/esm2022/input/input.component.mjs +3 -3
  185. package/esm2022/input/input.directive.mjs +3 -3
  186. package/esm2022/input/module.mjs +4 -4
  187. package/esm2022/input-number/input-number.component.mjs +3 -3
  188. package/esm2022/input-number/module.mjs +4 -4
  189. package/esm2022/layout/content-main.component.mjs +6 -6
  190. package/esm2022/layout/content-section.component.mjs +6 -6
  191. package/esm2022/layout/content.component.mjs +6 -6
  192. package/esm2022/layout/header.component.mjs +6 -6
  193. package/esm2022/layout/layout.component.mjs +6 -6
  194. package/esm2022/layout/layout.module.mjs +4 -4
  195. package/esm2022/layout/sidebar-content.component.mjs +6 -6
  196. package/esm2022/layout/sidebar-footer.component.mjs +6 -6
  197. package/esm2022/layout/sidebar-header.component.mjs +6 -6
  198. package/esm2022/layout/sidebar.component.mjs +6 -6
  199. package/esm2022/list/list-item-meta.component.mjs +3 -3
  200. package/esm2022/list/list-item.component.mjs +3 -3
  201. package/esm2022/list/list.component.mjs +3 -3
  202. package/esm2022/list/list.module.mjs +4 -4
  203. package/esm2022/list/selection/selection-list.mjs +3 -3
  204. package/esm2022/loading/loading.component.mjs +3 -3
  205. package/esm2022/loading/loading.module.mjs +4 -4
  206. package/esm2022/mention/mention.directive.mjs +3 -3
  207. package/esm2022/mention/mention.module.mjs +4 -4
  208. package/esm2022/mention/suggestions/suggestions.component.mjs +3 -3
  209. package/esm2022/menu/divider/menu-divider.component.mjs +3 -3
  210. package/esm2022/menu/group/menu-group.component.mjs +3 -3
  211. package/esm2022/menu/item/action/menu-item-action.component.mjs +3 -3
  212. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +3 -3
  213. package/esm2022/menu/item/menu-item.component.mjs +3 -3
  214. package/esm2022/menu/item/name/menu-item-name.component.mjs +3 -3
  215. package/esm2022/menu/menu.component.mjs +3 -3
  216. package/esm2022/menu/menu.module.mjs +4 -4
  217. package/esm2022/message/abstract/abstract-message-container.component.mjs +3 -3
  218. package/esm2022/message/abstract/abstract-message.component.mjs +3 -3
  219. package/esm2022/message/message-container.component.mjs +3 -3
  220. package/esm2022/message/message-queue.service.mjs +3 -3
  221. package/esm2022/message/message.component.mjs +3 -3
  222. package/esm2022/message/message.service.mjs +3 -3
  223. package/esm2022/message/module.mjs +4 -4
  224. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +3 -3
  225. package/esm2022/nav/icon-nav/icon-nav.component.mjs +3 -3
  226. package/esm2022/nav/nav-ink-bar.directive.mjs +3 -3
  227. package/esm2022/nav/nav-item.directive.mjs +3 -3
  228. package/esm2022/nav/nav.component.mjs +3 -3
  229. package/esm2022/nav/nav.module.mjs +4 -4
  230. package/esm2022/nav/nav.pipe.mjs +3 -3
  231. package/esm2022/notify/module.mjs +4 -4
  232. package/esm2022/notify/notify-container.component.mjs +3 -3
  233. package/esm2022/notify/notify-queue.service.mjs +3 -3
  234. package/esm2022/notify/notify.component.mjs +3 -3
  235. package/esm2022/notify/notify.service.mjs +3 -3
  236. package/esm2022/pagination/pagination.component.mjs +3 -3
  237. package/esm2022/pagination/pagination.module.mjs +4 -4
  238. package/esm2022/pagination/pagination.pipe.mjs +3 -3
  239. package/esm2022/popover/body/popover-body.component.mjs +3 -3
  240. package/esm2022/popover/header/popover-header.component.mjs +3 -3
  241. package/esm2022/popover/module.mjs +4 -4
  242. package/esm2022/popover/popover-container.component.mjs +3 -3
  243. package/esm2022/popover/popover.directive.mjs +3 -3
  244. package/esm2022/popover/popover.service.mjs +3 -3
  245. package/esm2022/progress/progress-circle.component.mjs +3 -3
  246. package/esm2022/progress/progress-strip.component.mjs +3 -3
  247. package/esm2022/progress/progress.component.mjs +3 -3
  248. package/esm2022/progress/progress.module.mjs +4 -4
  249. package/esm2022/property/module.mjs +4 -4
  250. package/esm2022/property/properties.component.mjs +3 -3
  251. package/esm2022/property/property-item.component.mjs +3 -3
  252. package/esm2022/property-operation/group/property-operation-group.component.mjs +3 -3
  253. package/esm2022/property-operation/module.mjs +4 -4
  254. package/esm2022/property-operation/property-operation.component.mjs +3 -3
  255. package/esm2022/radio/button/radio-button.component.mjs +3 -3
  256. package/esm2022/radio/group/radio-group.component.mjs +3 -3
  257. package/esm2022/radio/module.mjs +4 -4
  258. package/esm2022/radio/radio.component.mjs +3 -3
  259. package/esm2022/rate/module.mjs +4 -4
  260. package/esm2022/rate/rate-item.component.mjs +3 -3
  261. package/esm2022/rate/rate.component.mjs +3 -3
  262. package/esm2022/resizable/module.mjs +4 -4
  263. package/esm2022/resizable/resizable.directive.mjs +3 -3
  264. package/esm2022/resizable/resizable.service.mjs +3 -3
  265. package/esm2022/resizable/resize-handle.component.mjs +3 -3
  266. package/esm2022/resizable/resize-handles.component.mjs +3 -3
  267. package/esm2022/result/result.component.mjs +3 -3
  268. package/esm2022/result/result.module.mjs +4 -4
  269. package/esm2022/segment/segment-item.component.mjs +3 -3
  270. package/esm2022/segment/segment.component.mjs +30 -18
  271. package/esm2022/segment/segment.module.mjs +4 -4
  272. package/esm2022/select/custom-select/custom-select.component.mjs +3 -3
  273. package/esm2022/select/module.mjs +4 -4
  274. package/esm2022/select/native-select/native-select.component.mjs +3 -3
  275. package/esm2022/shared/base-form-check.component.mjs +3 -3
  276. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +3 -3
  277. package/esm2022/shared/directives/thy-autofocus.directive.mjs +3 -3
  278. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +3 -3
  279. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +3 -3
  280. package/esm2022/shared/directives/thy-drag-drop.directive.mjs +3 -3
  281. package/esm2022/shared/directives/thy-enter.directive.mjs +3 -3
  282. package/esm2022/shared/directives/thy-scroll.directive.mjs +3 -3
  283. package/esm2022/shared/directives/thy-show.mjs +3 -3
  284. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +3 -3
  285. package/esm2022/shared/directives/view-outlet.directive.mjs +3 -3
  286. package/esm2022/shared/ng-transclude.directive.mjs +3 -3
  287. package/esm2022/shared/option/group/option-group.component.mjs +3 -3
  288. package/esm2022/shared/option/list-option/list-option.component.mjs +3 -3
  289. package/esm2022/shared/option/module.mjs +4 -4
  290. package/esm2022/shared/option/option-group.component.mjs +3 -3
  291. package/esm2022/shared/option/option.component.mjs +3 -3
  292. package/esm2022/shared/option/options-container.component.mjs +3 -3
  293. package/esm2022/shared/select/module.mjs +4 -4
  294. package/esm2022/shared/select/select-control/select-control.component.mjs +3 -3
  295. package/esm2022/shared/shared.module.mjs +4 -4
  296. package/esm2022/skeleton/module.mjs +4 -4
  297. package/esm2022/skeleton/skeleton-circle.component.mjs +3 -3
  298. package/esm2022/skeleton/skeleton-rectangle.component.mjs +3 -3
  299. package/esm2022/skeleton/skeleton.component.mjs +3 -3
  300. package/esm2022/skeleton/stylized/bullet-list.component.mjs +3 -3
  301. package/esm2022/skeleton/stylized/list.component.mjs +3 -3
  302. package/esm2022/skeleton/stylized/paragraph.component.mjs +3 -3
  303. package/esm2022/slide/drawer/drawer-container.directive.mjs +3 -3
  304. package/esm2022/slide/slide-body/slide-body-section.component.mjs +3 -3
  305. package/esm2022/slide/slide-body/slide-body.component.mjs +3 -3
  306. package/esm2022/slide/slide-container.component.mjs +3 -3
  307. package/esm2022/slide/slide-footer/slide-footer.component.mjs +3 -3
  308. package/esm2022/slide/slide-header/slide-header.component.mjs +3 -3
  309. package/esm2022/slide/slide-layout/slide-layout.component.mjs +3 -3
  310. package/esm2022/slide/slide-ref.service.mjs +3 -3
  311. package/esm2022/slide/slide.module.mjs +4 -4
  312. package/esm2022/slide/slide.service.mjs +3 -3
  313. package/esm2022/slider/slider.component.mjs +3 -3
  314. package/esm2022/slider/slider.module.mjs +4 -4
  315. package/esm2022/space/space.component.mjs +6 -6
  316. package/esm2022/space/space.module.mjs +4 -4
  317. package/esm2022/statistic/statistic.component.mjs +3 -3
  318. package/esm2022/statistic/statistic.module.mjs +4 -4
  319. package/esm2022/stepper/step-header.component.mjs +3 -3
  320. package/esm2022/stepper/step.component.mjs +3 -3
  321. package/esm2022/stepper/stepper-button.directive.mjs +6 -6
  322. package/esm2022/stepper/stepper.component.mjs +3 -3
  323. package/esm2022/stepper/stepper.module.mjs +4 -4
  324. package/esm2022/strength/strength.component.mjs +3 -3
  325. package/esm2022/strength/strength.module.mjs +4 -4
  326. package/esm2022/switch/switch.component.mjs +3 -3
  327. package/esm2022/switch/switch.module.mjs +4 -4
  328. package/esm2022/table/pipes/drag.pipe.mjs +3 -3
  329. package/esm2022/table/pipes/table.pipe.mjs +3 -3
  330. package/esm2022/table/table-column.component.mjs +3 -3
  331. package/esm2022/table/table-skeleton.component.mjs +3 -3
  332. package/esm2022/table/table.component.mjs +3 -3
  333. package/esm2022/table/table.module.mjs +4 -4
  334. package/esm2022/tabs/tab-content.component.mjs +3 -3
  335. package/esm2022/tabs/tab.component.mjs +3 -3
  336. package/esm2022/tabs/tabs.component.mjs +3 -3
  337. package/esm2022/tabs/tabs.module.mjs +4 -4
  338. package/esm2022/tag/tag.component.mjs +3 -3
  339. package/esm2022/tag/tag.module.mjs +4 -4
  340. package/esm2022/tag/tags.component.mjs +3 -3
  341. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +3 -3
  342. package/esm2022/time-picker/inner/inner-time-picker.config.mjs +3 -3
  343. package/esm2022/time-picker/inner/inner-time-picker.store.mjs +3 -3
  344. package/esm2022/time-picker/time-picker-panel.component.mjs +3 -3
  345. package/esm2022/time-picker/time-picker.component.mjs +3 -3
  346. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  347. package/esm2022/timeline/timeline-item.component.mjs +3 -3
  348. package/esm2022/timeline/timeline.component.mjs +3 -3
  349. package/esm2022/timeline/timeline.module.mjs +4 -4
  350. package/esm2022/timeline/timeline.service.mjs +3 -3
  351. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  352. package/esm2022/tooltip/tooltip.directive.mjs +3 -3
  353. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  354. package/esm2022/tooltip/tooltip.service.mjs +3 -3
  355. package/esm2022/transfer/transfer-list.component.mjs +3 -3
  356. package/esm2022/transfer/transfer.component.mjs +3 -3
  357. package/esm2022/transfer/transfer.module.mjs +4 -4
  358. package/esm2022/tree/tree-node.component.mjs +3 -3
  359. package/esm2022/tree/tree.component.mjs +3 -3
  360. package/esm2022/tree/tree.module.mjs +4 -4
  361. package/esm2022/tree/tree.pipe.mjs +3 -3
  362. package/esm2022/tree/tree.service.mjs +3 -3
  363. package/esm2022/tree-select/module.mjs +4 -4
  364. package/esm2022/tree-select/tree-select.component.mjs +6 -6
  365. package/esm2022/typography/bg-color.directive.mjs +3 -3
  366. package/esm2022/typography/module.mjs +4 -4
  367. package/esm2022/typography/text/text.component.mjs +3 -3
  368. package/esm2022/typography/text-color.directive.mjs +3 -3
  369. package/esm2022/upload/file-drop.directive.mjs +3 -3
  370. package/esm2022/upload/file-select-base.mjs +3 -3
  371. package/esm2022/upload/file-select.component.mjs +3 -3
  372. package/esm2022/upload/module.mjs +9 -9
  373. package/esm2022/upload/upload.service.mjs +3 -3
  374. package/esm2022/util/helpers/helpers.mjs +2 -2
  375. package/esm2022/version.mjs +2 -2
  376. package/esm2022/vote/vote.component.mjs +3 -3
  377. package/esm2022/vote/vote.module.mjs +4 -4
  378. package/esm2022/watermark/watermark.directive.mjs +3 -3
  379. package/esm2022/watermark/watermark.module.mjs +4 -4
  380. package/fesm2022/ngx-tethys-action.mjs +10 -10
  381. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  382. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  383. package/fesm2022/ngx-tethys-anchor.mjs +10 -10
  384. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  385. package/fesm2022/ngx-tethys-autocomplete.mjs +16 -16
  386. package/fesm2022/ngx-tethys-avatar.mjs +22 -22
  387. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  388. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  389. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  390. package/fesm2022/ngx-tethys-button.mjs +13 -13
  391. package/fesm2022/ngx-tethys-calendar.mjs +16 -16
  392. package/fesm2022/ngx-tethys-card.mjs +13 -13
  393. package/fesm2022/ngx-tethys-carousel.mjs +13 -13
  394. package/fesm2022/ngx-tethys-cascader.mjs +18 -18
  395. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  396. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  397. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  398. package/fesm2022/ngx-tethys-color-picker.mjs +31 -31
  399. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  400. package/fesm2022/ngx-tethys-copy.mjs +7 -7
  401. package/fesm2022/ngx-tethys-core.mjs +18 -18
  402. package/fesm2022/ngx-tethys-date-picker.mjs +116 -116
  403. package/fesm2022/ngx-tethys-date-range.mjs +10 -10
  404. package/fesm2022/ngx-tethys-dialog.mjs +22 -22
  405. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  406. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  407. package/fesm2022/ngx-tethys-drag-drop.mjs +19 -19
  408. package/fesm2022/ngx-tethys-dropdown.mjs +46 -46
  409. package/fesm2022/ngx-tethys-empty.mjs +10 -10
  410. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  411. package/fesm2022/ngx-tethys-form.mjs +40 -40
  412. package/fesm2022/ngx-tethys-fullscreen.mjs +13 -13
  413. package/fesm2022/ngx-tethys-grid.mjs +31 -31
  414. package/fesm2022/ngx-tethys-guider.mjs +16 -16
  415. package/fesm2022/ngx-tethys-icon.mjs +14 -13
  416. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-image.mjs +16 -16
  418. package/fesm2022/ngx-tethys-input-number.mjs +7 -7
  419. package/fesm2022/ngx-tethys-input.mjs +19 -19
  420. package/fesm2022/ngx-tethys-layout.mjs +58 -58
  421. package/fesm2022/ngx-tethys-list.mjs +16 -16
  422. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  423. package/fesm2022/ngx-tethys-mention.mjs +10 -10
  424. package/fesm2022/ngx-tethys-menu.mjs +25 -25
  425. package/fesm2022/ngx-tethys-message.mjs +22 -22
  426. package/fesm2022/ngx-tethys-nav.mjs +22 -22
  427. package/fesm2022/ngx-tethys-notify.mjs +16 -16
  428. package/fesm2022/ngx-tethys-pagination.mjs +10 -10
  429. package/fesm2022/ngx-tethys-popover.mjs +19 -19
  430. package/fesm2022/ngx-tethys-progress.mjs +13 -13
  431. package/fesm2022/ngx-tethys-property-operation.mjs +10 -10
  432. package/fesm2022/ngx-tethys-property.mjs +10 -10
  433. package/fesm2022/ngx-tethys-radio.mjs +13 -13
  434. package/fesm2022/ngx-tethys-rate.mjs +10 -10
  435. package/fesm2022/ngx-tethys-resizable.mjs +16 -16
  436. package/fesm2022/ngx-tethys-result.mjs +7 -7
  437. package/fesm2022/ngx-tethys-segment.mjs +35 -23
  438. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  439. package/fesm2022/ngx-tethys-select.mjs +10 -10
  440. package/fesm2022/ngx-tethys-shared.mjs +66 -66
  441. package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
  442. package/fesm2022/ngx-tethys-slide.mjs +31 -31
  443. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  444. package/fesm2022/ngx-tethys-space.mjs +10 -10
  445. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  446. package/fesm2022/ngx-tethys-stepper.mjs +19 -19
  447. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  448. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  449. package/fesm2022/ngx-tethys-table.mjs +19 -19
  450. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  451. package/fesm2022/ngx-tethys-tag.mjs +10 -10
  452. package/fesm2022/ngx-tethys-time-picker.mjs +19 -19
  453. package/fesm2022/ngx-tethys-timeline.mjs +13 -13
  454. package/fesm2022/ngx-tethys-tooltip.mjs +13 -13
  455. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  456. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  457. package/fesm2022/ngx-tethys-tree.mjs +16 -16
  458. package/fesm2022/ngx-tethys-typography.mjs +13 -13
  459. package/fesm2022/ngx-tethys-upload.mjs +20 -20
  460. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  461. package/fesm2022/ngx-tethys-util.mjs +1 -1
  462. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  463. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  464. package/fesm2022/ngx-tethys-watermark.mjs +7 -7
  465. package/fesm2022/ngx-tethys.mjs +1 -1
  466. package/fesm2022/ngx-tethys.mjs.map +1 -1
  467. package/icon/icon.module.d.ts +1 -2
  468. package/package.json +4 -4
  469. package/schematics/dependencies.js +1 -1
  470. package/schematics/ng-update/migration-collection.json +4 -4
  471. package/schematics/ng-update/{update-17 → update-18}/complete.d.ts +1 -1
  472. package/schematics/ng-update/update-18/complete.js +23 -0
  473. package/schematics/ng-update/{update-17 → update-18}/index.js +1 -1
  474. package/schematics/ng-update/update-18/index.spec.js +96 -0
  475. package/schematics/ng-update/update-18/update-data.js +872 -0
  476. package/schematics/testing/test-app.js +2 -2
  477. package/schematics/testing/test-project.js +2 -2
  478. package/schematics/version.d.ts +1 -1
  479. package/schematics/version.js +1 -1
  480. package/segment/segment.component.d.ts +4 -2
  481. package/segment/styles/segment.scss +10 -0
  482. package/styles/bootstrap/_functions.scss +14 -14
  483. package/styles/variables.scss +3 -0
  484. package/upload/module.d.ts +3 -4
  485. package/util/helpers/helpers.d.ts +1 -1
  486. package/schematics/ng-update/update-17/complete.js +0 -19
  487. package/schematics/ng-update/update-17/index.spec.js +0 -93
  488. package/schematics/ng-update/update-17/update-data.js +0 -871
  489. /package/schematics/ng-update/{update-17 → update-18}/class-name-migration.d.ts +0 -0
  490. /package/schematics/ng-update/{update-17 → update-18}/class-name-migration.js +0 -0
  491. /package/schematics/ng-update/{update-17 → update-18}/index.d.ts +0 -0
  492. /package/schematics/ng-update/{update-17 → update-18}/index.spec.d.ts +0 -0
  493. /package/schematics/ng-update/{update-17 → update-18}/update-data.d.ts +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 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 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 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 getWeek = dateFns.getWeek;\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 endOfWeek = dateFns.endOfWeek;\nexport const endOfMonth = dateFns.endOfMonth;\nexport const endOfQuarter = dateFns.endOfQuarter;\nexport const endOfYear = dateFns.endOfYear;\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;\n","import {\n differenceInCalendarDays,\n differenceInCalendarMonths,\n differenceInCalendarYears,\n differenceInCalendarQuarters,\n differenceInWeeks,\n differenceInHours,\n differenceInMinutes,\n differenceInSeconds,\n isSameDay,\n isSameHour,\n isSameMinute,\n isSameMonth,\n isSameSecond,\n isSameYear,\n isSameQuarter,\n isToday,\n isTomorrow,\n isValid,\n setYear,\n startOfMonth,\n startOfWeek,\n addMonths,\n addYears,\n setDay,\n setMonth,\n setQuarter,\n getUnixTime,\n startOfDay,\n endOfDay,\n fromUnixTime,\n isWeekend,\n getWeek,\n getDaysInMonth,\n addSeconds,\n addMinutes,\n addHours,\n addWeeks,\n addQuarters,\n startOfQuarter,\n startOfYear,\n endOfWeek,\n endOfMonth,\n endOfQuarter,\n endOfYear,\n format,\n getQuarter,\n addDays\n} from './functions';\n\nimport { Locale } from 'date-fns';\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 class TinyDate implements Record<string, any> {\n nativeDate: Date;\n\n constructor(date?: Date | string | number) {\n if (date) {\n if (date instanceof Date) {\n this.nativeDate = date;\n } else if (typeof date === 'string' || typeof date === 'number') {\n this.nativeDate = new Date(date);\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 Date();\n }\n }\n\n static fromUnixTime(unixTime: number): TinyDate {\n return new TinyDate(fromUnixTime(unixTime));\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 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);\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);\n }\n\n setYear(year: number): TinyDate {\n return new TinyDate(setYear(this.nativeDate, year));\n }\n\n setMonth(month: number): TinyDate {\n return new TinyDate(setMonth(this.nativeDate, month));\n }\n\n setQuarter(quarter: number) {\n return new TinyDate(setQuarter(this.nativeDate, quarter));\n }\n\n setDay(day: number, options?: { weekStartsOn: WeekDayIndex }): TinyDate {\n return new TinyDate(setDay(this.nativeDate, day, options));\n }\n\n // add\n addYears(amount: number): TinyDate {\n return new TinyDate(addYears(this.nativeDate, amount));\n }\n\n addQuarters(amount: number): TinyDate {\n return new TinyDate(addQuarters(this.nativeDate, amount));\n }\n\n addMonths(amount: number): TinyDate {\n return new TinyDate(addMonths(this.nativeDate, amount));\n }\n\n addWeeks(amount: number): TinyDate {\n return new TinyDate(addWeeks(this.nativeDate, amount));\n }\n\n addDays(amount: number): TinyDate {\n return new TinyDate(addDays(this.nativeDate, amount));\n }\n addHours(amount: number): TinyDate {\n return new TinyDate(addHours(this.nativeDate, amount));\n }\n\n addSeconds(amount: number): TinyDate {\n return new TinyDate(addSeconds(this.nativeDate, amount));\n }\n\n addMinutes(amount: number): TinyDate {\n return new TinyDate(addMinutes(this.nativeDate, amount));\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() {\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));\n }\n\n startOfQuarter(): TinyDate {\n return new TinyDate(startOfQuarter(this.nativeDate));\n }\n\n startOfMonth(): TinyDate {\n return new TinyDate(startOfMonth(this.nativeDate));\n }\n\n startOfWeek(options?: { locale?: Locale; weekStartsOn?: WeekDayIndex }): TinyDate {\n return new TinyDate(startOfWeek(this.nativeDate, options));\n }\n\n startOfDay(): TinyDate {\n return new TinyDate(startOfDay(this.nativeDate));\n }\n\n endOfYear(): TinyDate {\n return new TinyDate(endOfYear(this.nativeDate));\n }\n\n endOfQuarter(): TinyDate {\n return new TinyDate(endOfQuarter(this.nativeDate));\n }\n\n endOfMonth(): TinyDate {\n return new TinyDate(endOfMonth(this.nativeDate));\n }\n\n endOfWeek(options?: { locale?: Locale; weekStartsOn?: WeekDayIndex }): TinyDate {\n return new TinyDate(endOfWeek(this.nativeDate, options));\n }\n\n endOfDay(): TinyDate {\n return new TinyDate(endOfDay(this.nativeDate));\n }\n\n // other\n format(\n mat: string,\n options?: {\n locale?: Locale;\n weekStartsOn?: WeekDayIndex;\n firstWeekContainsDate?: number;\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));\n }\n\n clone(): TinyDate {\n return new TinyDate(new Date(this.nativeDate));\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","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 * @deprecated Please use Angular cdk's coerceBooleanProperty instead\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((...arg: any[]) => {\n if (logWarnDeprecation) {\n console.warn(prefix, 'deprecated:', ...arg, stack);\n }\n }, ...args);\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 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 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 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 getWeek = dateFns.getWeek;\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 endOfWeek = dateFns.endOfWeek;\nexport const endOfMonth = dateFns.endOfMonth;\nexport const endOfQuarter = dateFns.endOfQuarter;\nexport const endOfYear = dateFns.endOfYear;\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;\n","import {\n differenceInCalendarDays,\n differenceInCalendarMonths,\n differenceInCalendarYears,\n differenceInCalendarQuarters,\n differenceInWeeks,\n differenceInHours,\n differenceInMinutes,\n differenceInSeconds,\n isSameDay,\n isSameHour,\n isSameMinute,\n isSameMonth,\n isSameSecond,\n isSameYear,\n isSameQuarter,\n isToday,\n isTomorrow,\n isValid,\n setYear,\n startOfMonth,\n startOfWeek,\n addMonths,\n addYears,\n setDay,\n setMonth,\n setQuarter,\n getUnixTime,\n startOfDay,\n endOfDay,\n fromUnixTime,\n isWeekend,\n getWeek,\n getDaysInMonth,\n addSeconds,\n addMinutes,\n addHours,\n addWeeks,\n addQuarters,\n startOfQuarter,\n startOfYear,\n endOfWeek,\n endOfMonth,\n endOfQuarter,\n endOfYear,\n format,\n getQuarter,\n addDays\n} from './functions';\n\nimport { Locale } from 'date-fns';\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 class TinyDate implements Record<string, any> {\n nativeDate: Date;\n\n constructor(date?: Date | string | number) {\n if (date) {\n if (date instanceof Date) {\n this.nativeDate = date;\n } else if (typeof date === 'string' || typeof date === 'number') {\n this.nativeDate = new Date(date);\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 Date();\n }\n }\n\n static fromUnixTime(unixTime: number): TinyDate {\n return new TinyDate(fromUnixTime(unixTime));\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 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);\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);\n }\n\n setYear(year: number): TinyDate {\n return new TinyDate(setYear(this.nativeDate, year));\n }\n\n setMonth(month: number): TinyDate {\n return new TinyDate(setMonth(this.nativeDate, month));\n }\n\n setQuarter(quarter: number) {\n return new TinyDate(setQuarter(this.nativeDate, quarter));\n }\n\n setDay(day: number, options?: { weekStartsOn: WeekDayIndex }): TinyDate {\n return new TinyDate(setDay(this.nativeDate, day, options));\n }\n\n // add\n addYears(amount: number): TinyDate {\n return new TinyDate(addYears(this.nativeDate, amount));\n }\n\n addQuarters(amount: number): TinyDate {\n return new TinyDate(addQuarters(this.nativeDate, amount));\n }\n\n addMonths(amount: number): TinyDate {\n return new TinyDate(addMonths(this.nativeDate, amount));\n }\n\n addWeeks(amount: number): TinyDate {\n return new TinyDate(addWeeks(this.nativeDate, amount));\n }\n\n addDays(amount: number): TinyDate {\n return new TinyDate(addDays(this.nativeDate, amount));\n }\n addHours(amount: number): TinyDate {\n return new TinyDate(addHours(this.nativeDate, amount));\n }\n\n addSeconds(amount: number): TinyDate {\n return new TinyDate(addSeconds(this.nativeDate, amount));\n }\n\n addMinutes(amount: number): TinyDate {\n return new TinyDate(addMinutes(this.nativeDate, amount));\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() {\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));\n }\n\n startOfQuarter(): TinyDate {\n return new TinyDate(startOfQuarter(this.nativeDate));\n }\n\n startOfMonth(): TinyDate {\n return new TinyDate(startOfMonth(this.nativeDate));\n }\n\n startOfWeek(options?: { locale?: Locale; weekStartsOn?: WeekDayIndex }): TinyDate {\n return new TinyDate(startOfWeek(this.nativeDate, options));\n }\n\n startOfDay(): TinyDate {\n return new TinyDate(startOfDay(this.nativeDate));\n }\n\n endOfYear(): TinyDate {\n return new TinyDate(endOfYear(this.nativeDate));\n }\n\n endOfQuarter(): TinyDate {\n return new TinyDate(endOfQuarter(this.nativeDate));\n }\n\n endOfMonth(): TinyDate {\n return new TinyDate(endOfMonth(this.nativeDate));\n }\n\n endOfWeek(options?: { locale?: Locale; weekStartsOn?: WeekDayIndex }): TinyDate {\n return new TinyDate(endOfWeek(this.nativeDate, options));\n }\n\n endOfDay(): TinyDate {\n return new TinyDate(endOfDay(this.nativeDate));\n }\n\n // other\n format(\n mat: string,\n options?: {\n locale?: Locale;\n weekStartsOn?: WeekDayIndex;\n firstWeekContainsDate?: number;\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));\n }\n\n clone(): TinyDate {\n return new TinyDate(new Date(this.nativeDate));\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","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((...arg: any[]) => {\n if (logWarnDeprecation) {\n console.warn(prefix, 'deprecated:', ...arg, stack);\n }\n }, ...args);\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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"}
@@ -91,10 +91,10 @@ class ThyVote {
91
91
  classNames.push(`thy-vote-${this._layout}-size-${this._size}`);
92
92
  this.hostRenderer.updateClass(classNames);
93
93
  }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyVote, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", booleanAttribute], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", booleanAttribute], thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, 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: "<thy-icon *ngIf=\"!voteIcon\" [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n<ng-container *ngIf=\"voteIcon\" [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyVote, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", booleanAttribute], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", booleanAttribute], thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, 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: "<thy-icon *ngIf=\"!voteIcon\" [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n<ng-container *ngIf=\"voteIcon\" [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
96
96
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyVote, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyVote, decorators: [{
98
98
  type: Component,
99
99
  args: [{ selector: 'thy-vote,[thyVote]', host: {
100
100
  '[class.thy-vote-disabled]': `thyDisabled`
@@ -130,11 +130,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
130
130
  }] } });
131
131
 
132
132
  class ThyVoteModule {
133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyVoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
134
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote], exports: [ThyVote] }); }
135
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote] }); }
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyVoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
134
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote], exports: [ThyVote] }); }
135
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote] }); }
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyVoteModule, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyVoteModule, decorators: [{
138
138
  type: NgModule,
139
139
  args: [{
140
140
  imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote],
@@ -171,10 +171,10 @@ class ThyWatermarkDirective {
171
171
  };
172
172
  });
173
173
  }
174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyWatermarkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
175
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyWatermarkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
175
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
176
176
  }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyWatermarkDirective, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyWatermarkDirective, decorators: [{
178
178
  type: Directive,
179
179
  args: [{
180
180
  selector: '[thyWatermark]',
@@ -190,11 +190,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
190
190
  }] } });
191
191
 
192
192
  class ThyWatermarkModule {
193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyWatermarkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
194
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ThyWatermarkModule, imports: [CommonModule, ThySharedModule, ThyWatermarkDirective], exports: [ThyWatermarkDirective] }); }
195
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyWatermarkModule, imports: [CommonModule, ThySharedModule] }); }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyWatermarkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
194
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: ThyWatermarkModule, imports: [CommonModule, ThySharedModule, ThyWatermarkDirective], exports: [ThyWatermarkDirective] }); }
195
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyWatermarkModule, imports: [CommonModule, ThySharedModule] }); }
196
196
  }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyWatermarkModule, decorators: [{
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyWatermarkModule, decorators: [{
198
198
  type: NgModule,
199
199
  args: [{
200
200
  imports: [CommonModule, ThySharedModule, ThyWatermarkDirective],
@@ -1,6 +1,6 @@
1
1
  import { Version } from '@angular/core';
2
2
 
3
- const VERSION = new Version('17.0.5');
3
+ const VERSION = new Version('18.0.0-next.0');
4
4
 
5
5
  /**
6
6
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys.mjs","sources":["../../../src/version.ts","../../../src/ngx-tethys.ts"],"sourcesContent":["import { Version } from '@angular/core';\n\nexport const VERSION = new Version('17.0.5');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;MAEa,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ;;ACF3C;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-tethys.mjs","sources":["../../../src/version.ts","../../../src/ngx-tethys.ts"],"sourcesContent":["import { Version } from '@angular/core';\n\nexport const VERSION = new Version('18.0.0-next.0');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;MAEa,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe;;ACFlD;;AAEG;;;;"}
@@ -2,9 +2,8 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./icon.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@angular/forms";
5
- import * as i4 from "@angular/common/http";
6
5
  export declare class ThyIconModule {
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyIconModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<ThyIconModule, never, [typeof i1.ThyIcon, typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.HttpClientModule], [typeof i1.ThyIcon]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ThyIconModule, never, [typeof i1.ThyIcon, typeof i2.CommonModule, typeof i3.FormsModule], [typeof i1.ThyIcon]>;
9
8
  static ɵinj: i0.ɵɵInjectorDeclaration<ThyIconModule>;
10
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-tethys",
3
- "version": "17.0.5",
3
+ "version": "18.0.0-next.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@github.com/atinc/ngx-tethys.git"
@@ -522,9 +522,9 @@
522
522
  }
523
523
  },
524
524
  "peerDependencies": {
525
- "@angular/core": "^17.0.0",
526
- "@angular/cdk": "^17.0.0",
527
- "@tethys/cdk": "^17.0.0",
525
+ "@angular/core": "^18.0.0",
526
+ "@angular/cdk": "^18.0.0",
527
+ "@tethys/cdk": "^18.0.0",
528
528
  "date-fns": "^2.6.0",
529
529
  "@tethys/icons": "^1.4.23",
530
530
  "rxjs": "^6.5.4 || ^7.0.0"
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEPENDENCIES = void 0;
4
4
  exports.DEPENDENCIES = {
5
- '@angular/cdk': '^17.0.0',
5
+ '@angular/cdk': '^18.0.0',
6
6
  'date-fns': '^2.6.0',
7
7
  '@tethys/icons': '^1.4.23'
8
8
  };
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "$schema": "../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
3
  "schematics": {
4
- "migration-v17": {
5
- "version": "17.0.0",
6
- "factory": "./update-17",
7
- "description": "Updates NGX-TETHYS to v17."
4
+ "migration-v18": {
5
+ "version": "18.0.0",
6
+ "factory": "./update-18",
7
+ "description": "Updates NGX-TETHYS to v18."
8
8
  }
9
9
  }
10
10
  }
@@ -1,3 +1,3 @@
1
1
  import { SchematicContext } from '@angular-devkit/schematics';
2
2
  import { TargetVersion } from '@angular/cdk/schematics';
3
- export declare function onV17MigrationComplete(context: SchematicContext, targetVersion: TargetVersion, hasFailures: boolean): void;
3
+ export declare function onV18MigrationComplete(context: SchematicContext, targetVersion: TargetVersion, hasFailures: boolean): void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.onV18MigrationComplete = void 0;
4
+ function onV18MigrationComplete(context, targetVersion, hasFailures) {
5
+ context.logger.info('');
6
+ context.logger.info(` ✓ Updated NGX-TETHYS to ${targetVersion}`);
7
+ context.logger.info('');
8
+ if (hasFailures) {
9
+ context.logger.warn(' ⚠ Some issues were detected but could not be fixed automatically. Please check the output above against documentation, fix these issues manually. Especially check the replace input with variable value in template, if it has a corresponding useless variable value, delete it manually. Finally prettier your code please.');
10
+ context.logger.info('');
11
+ }
12
+ // context.logger.info(
13
+ // 'Tips: the four points have changes in data structure. If it is used, please modify manually according to the error prompts.'
14
+ // );
15
+ // context.logger.info(' • The input parameter `thyShortcutRanges` of RangePicker would be changed to `thyShortcutPresets`.');
16
+ // context.logger.info(
17
+ // ' • The output parameter `thyShortcutValueChange` of DatePicker and RangePicker would be changed to `thyDateChange`.'
18
+ // );
19
+ // context.logger.info(' • The interface `ThyShortcutRange` would be changed to `ThyShortcutPreset`.');
20
+ // context.logger.info(' • The interface `ThyShortcutValueChange` would be changed to `ThyDateChangeEvent`.');
21
+ // context.logger.info('');
22
+ }
23
+ exports.onV18MigrationComplete = onV18MigrationComplete;
@@ -6,6 +6,6 @@ const update_data_1 = require("./update-data");
6
6
  const class_name_migration_1 = require("./class-name-migration");
7
7
  const migrations = [class_name_migration_1.ClassNamesMigration];
8
8
  function main() {
9
- return (0, schematics_1.createMigrationSchematicRule)(schematics_1.TargetVersion.V17, migrations, update_data_1.upgradeData, complete_1.onV17MigrationComplete);
9
+ return (0, schematics_1.createMigrationSchematicRule)(schematics_1.TargetVersion.V18, migrations, update_data_1.upgradeData, complete_1.onV18MigrationComplete);
10
10
  }
11
11
  exports.default = main;