ngx-tethys 18.2.4 → 18.2.6

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 (577) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/carousel/carousel.component.d.ts +2 -2
  3. package/date-picker/date-picker.config.d.ts +1 -1
  4. package/date-picker/lib/calendar/calendar-footer.component.d.ts +2 -2
  5. package/date-picker/lib/date/date-table.component.d.ts +2 -2
  6. package/date-picker/lib/popups/date-popup.component.d.ts +3 -2
  7. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  8. package/date-picker/picker.util.d.ts +3 -3
  9. package/date-range/date-range.component.d.ts +1 -1
  10. package/esm2022/action/action.component.mjs +4 -4
  11. package/esm2022/action/action.module.mjs +5 -5
  12. package/esm2022/action/actions.component.mjs +4 -4
  13. package/esm2022/affix/affix.component.mjs +4 -4
  14. package/esm2022/affix/affix.module.mjs +5 -5
  15. package/esm2022/alert/alert.component.mjs +4 -4
  16. package/esm2022/alert/alert.directive.mjs +4 -4
  17. package/esm2022/alert/alert.module.mjs +5 -5
  18. package/esm2022/anchor/anchor-link.component.mjs +4 -4
  19. package/esm2022/anchor/anchor.component.mjs +4 -4
  20. package/esm2022/anchor/anchor.module.mjs +5 -5
  21. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +4 -4
  22. package/esm2022/arrow-switcher/module.mjs +5 -5
  23. package/esm2022/autocomplete/autocomplete.component.mjs +4 -4
  24. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +4 -4
  25. package/esm2022/autocomplete/module.mjs +5 -5
  26. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +4 -4
  27. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
  28. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
  29. package/esm2022/avatar/avatar.component.mjs +4 -4
  30. package/esm2022/avatar/avatar.module.mjs +5 -5
  31. package/esm2022/avatar/avatar.pipe.mjs +10 -10
  32. package/esm2022/avatar/avatar.service.mjs +4 -4
  33. package/esm2022/back-top/back-top.component.mjs +4 -4
  34. package/esm2022/back-top/back-top.module.mjs +5 -5
  35. package/esm2022/badge/badge.component.mjs +4 -4
  36. package/esm2022/badge/badge.module.mjs +5 -5
  37. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +4 -4
  38. package/esm2022/breadcrumb/breadcrumb.component.mjs +4 -4
  39. package/esm2022/breadcrumb/module.mjs +5 -5
  40. package/esm2022/button/button-group.component.mjs +4 -4
  41. package/esm2022/button/button-icon.component.mjs +4 -4
  42. package/esm2022/button/button.component.mjs +4 -4
  43. package/esm2022/button/button.module.mjs +5 -5
  44. package/esm2022/calendar/calendar-cells.mjs +7 -7
  45. package/esm2022/calendar/calendar-header.component.mjs +17 -17
  46. package/esm2022/calendar/calendar.component.mjs +6 -6
  47. package/esm2022/calendar/module.mjs +5 -5
  48. package/esm2022/card/card.component.mjs +4 -4
  49. package/esm2022/card/card.module.mjs +5 -5
  50. package/esm2022/card/content.component.mjs +4 -4
  51. package/esm2022/card/header.component.mjs +4 -4
  52. package/esm2022/carousel/carousel-item.directive.mjs +4 -4
  53. package/esm2022/carousel/carousel.component.mjs +13 -13
  54. package/esm2022/carousel/carousel.service.mjs +4 -4
  55. package/esm2022/carousel/module.mjs +5 -5
  56. package/esm2022/cascader/cascader-li.component.mjs +4 -4
  57. package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
  58. package/esm2022/cascader/cascader.component.mjs +4 -4
  59. package/esm2022/cascader/cascader.service.mjs +4 -4
  60. package/esm2022/cascader/module.mjs +5 -5
  61. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  62. package/esm2022/checkbox/module.mjs +5 -5
  63. package/esm2022/collapse/collapse-item.component.mjs +4 -4
  64. package/esm2022/collapse/collapse.component.mjs +4 -4
  65. package/esm2022/collapse/module.mjs +5 -5
  66. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +4 -4
  67. package/esm2022/color-picker/color-picker-panel.component.mjs +4 -4
  68. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  69. package/esm2022/color-picker/coordinates.directive.mjs +4 -4
  70. package/esm2022/color-picker/module.mjs +5 -5
  71. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +4 -4
  72. package/esm2022/color-picker/parts/hue/hue.component.mjs +4 -4
  73. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +4 -4
  74. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +4 -4
  75. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +4 -4
  76. package/esm2022/comment/comment-actions.directive.mjs +4 -4
  77. package/esm2022/comment/comment-content.directive.mjs +4 -4
  78. package/esm2022/comment/comment.component.mjs +4 -4
  79. package/esm2022/comment/comment.module.mjs +5 -5
  80. package/esm2022/copy/copy.directive.mjs +4 -4
  81. package/esm2022/copy/module.mjs +5 -5
  82. package/esm2022/core/click-positioner.mjs +4 -4
  83. package/esm2022/core/overlay/portal-directives.mjs +4 -4
  84. package/esm2022/core/request-animation.mjs +3 -2
  85. package/esm2022/core/scroll.mjs +4 -4
  86. package/esm2022/core/store/store.mjs +4 -4
  87. package/esm2022/core/theme/store.mjs +4 -4
  88. package/esm2022/core/translate.mjs +4 -4
  89. package/esm2022/core/update-host-class.service.mjs +4 -4
  90. package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
  91. package/esm2022/date-picker/abstract-picker.directive.mjs +4 -4
  92. package/esm2022/date-picker/base-picker.component.mjs +4 -4
  93. package/esm2022/date-picker/date-helper.service.mjs +4 -4
  94. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  95. package/esm2022/date-picker/date-picker.config.mjs +12 -13
  96. package/esm2022/date-picker/date-picker.directive.mjs +4 -4
  97. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  98. package/esm2022/date-picker/date-picker.service.mjs +4 -4
  99. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +9 -9
  100. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +4 -4
  101. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +4 -4
  102. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  103. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
  104. package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -9
  105. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +4 -4
  106. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  107. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
  108. package/esm2022/date-picker/lib/lib-packer.module.mjs +5 -5
  109. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  110. package/esm2022/date-picker/lib/month/month-table.component.mjs +4 -4
  111. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +21 -18
  112. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +6 -6
  113. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +4 -4
  114. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  115. package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
  116. package/esm2022/date-picker/month-picker.component.mjs +4 -4
  117. package/esm2022/date-picker/picker.component.mjs +8 -8
  118. package/esm2022/date-picker/picker.pipes.mjs +13 -13
  119. package/esm2022/date-picker/picker.util.mjs +8 -6
  120. package/esm2022/date-picker/picker.validators.mjs +7 -7
  121. package/esm2022/date-picker/quarter-picker.component.mjs +4 -4
  122. package/esm2022/date-picker/range-picker.component.mjs +4 -4
  123. package/esm2022/date-picker/range-picker.directive.mjs +4 -4
  124. package/esm2022/date-picker/week-picker.component.mjs +4 -4
  125. package/esm2022/date-picker/year-picker.component.mjs +4 -4
  126. package/esm2022/date-range/date-range.component.mjs +15 -16
  127. package/esm2022/date-range/module.mjs +5 -5
  128. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +4 -4
  129. package/esm2022/dialog/body/dialog-body.component.mjs +4 -4
  130. package/esm2022/dialog/confirm/confirm.component.mjs +4 -4
  131. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  132. package/esm2022/dialog/dialog.module.mjs +5 -5
  133. package/esm2022/dialog/dialog.service.mjs +4 -4
  134. package/esm2022/dialog/footer/dialog-footer.component.mjs +4 -4
  135. package/esm2022/dialog/header/dialog-header.component.mjs +4 -4
  136. package/esm2022/divider/divider.component.mjs +4 -4
  137. package/esm2022/divider/divider.module.mjs +5 -5
  138. package/esm2022/dot/dot.component.mjs +4 -4
  139. package/esm2022/dot/dot.module.mjs +5 -5
  140. package/esm2022/drag-drop/drag-content.directive.mjs +4 -4
  141. package/esm2022/drag-drop/drag-drop.service.mjs +4 -4
  142. package/esm2022/drag-drop/drag-handle.directive.mjs +4 -4
  143. package/esm2022/drag-drop/drag.directive.mjs +4 -4
  144. package/esm2022/drag-drop/drop-container.directive.mjs +4 -4
  145. package/esm2022/drag-drop/module.mjs +5 -5
  146. package/esm2022/dropdown/dropdown-active.directive.mjs +4 -4
  147. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +22 -22
  148. package/esm2022/dropdown/dropdown-menu.component.mjs +13 -13
  149. package/esm2022/dropdown/dropdown-submenu.component.mjs +4 -4
  150. package/esm2022/dropdown/dropdown.directive.mjs +4 -4
  151. package/esm2022/dropdown/module.mjs +5 -5
  152. package/esm2022/empty/empty.component.mjs +4 -4
  153. package/esm2022/empty/empty.config.mjs +4 -4
  154. package/esm2022/empty/empty.module.mjs +5 -5
  155. package/esm2022/flexible-text/flexible-text.component.mjs +4 -4
  156. package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
  157. package/esm2022/form/form-group-error/form-group-error.component.mjs +4 -4
  158. package/esm2022/form/form-group-label.directive.mjs +4 -4
  159. package/esm2022/form/form-group.component.mjs +4 -4
  160. package/esm2022/form/form-submit.directive.mjs +4 -4
  161. package/esm2022/form/form-validator-loader.mjs +4 -4
  162. package/esm2022/form/form-validator.service.mjs +4 -4
  163. package/esm2022/form/form.directive.mjs +4 -4
  164. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +4 -4
  165. package/esm2022/form/module.mjs +5 -5
  166. package/esm2022/form/validator/confirm-validator.directive.mjs +4 -4
  167. package/esm2022/form/validator/max-validator.directive.mjs +4 -4
  168. package/esm2022/form/validator/min-validator.directive.mjs +4 -4
  169. package/esm2022/form/validator/unique-validator.directive.mjs +4 -4
  170. package/esm2022/fullscreen/fullscreen-launch.directive.mjs +4 -4
  171. package/esm2022/fullscreen/fullscreen.component.mjs +4 -4
  172. package/esm2022/fullscreen/fullscreen.module.mjs +5 -5
  173. package/esm2022/fullscreen/fullscreen.service.mjs +4 -4
  174. package/esm2022/grid/flex.mjs +13 -13
  175. package/esm2022/grid/module.mjs +5 -5
  176. package/esm2022/grid/thy-col.directive.mjs +4 -4
  177. package/esm2022/grid/thy-grid-item.component.mjs +4 -4
  178. package/esm2022/grid/thy-grid.component.mjs +7 -7
  179. package/esm2022/grid/thy-row.directive.mjs +4 -4
  180. package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
  181. package/esm2022/guider/guider-manager.mjs +4 -4
  182. package/esm2022/guider/guider.directive.mjs +4 -4
  183. package/esm2022/guider/guider.module.mjs +5 -5
  184. package/esm2022/guider/guider.service.mjs +4 -4
  185. package/esm2022/i18n/i18n.service.mjs +4 -4
  186. package/esm2022/icon/icon-registry.mjs +5 -5
  187. package/esm2022/icon/icon.component.mjs +4 -4
  188. package/esm2022/icon/icon.module.mjs +6 -7
  189. package/esm2022/image/image-group.component.mjs +4 -4
  190. package/esm2022/image/image.directive.mjs +4 -4
  191. package/esm2022/image/image.service.mjs +4 -4
  192. package/esm2022/image/module.mjs +5 -5
  193. package/esm2022/image/preview/image-preview.component.mjs +4 -4
  194. package/esm2022/input/input-count.component.mjs +4 -4
  195. package/esm2022/input/input-group.component.mjs +4 -4
  196. package/esm2022/input/input-search.component.mjs +4 -4
  197. package/esm2022/input/input.component.mjs +4 -4
  198. package/esm2022/input/input.directive.mjs +4 -4
  199. package/esm2022/input/module.mjs +5 -5
  200. package/esm2022/input-number/input-number.component.mjs +4 -4
  201. package/esm2022/input-number/module.mjs +5 -5
  202. package/esm2022/layout/content-main.component.mjs +7 -7
  203. package/esm2022/layout/content-section.component.mjs +7 -7
  204. package/esm2022/layout/content.component.mjs +7 -7
  205. package/esm2022/layout/header.component.mjs +7 -7
  206. package/esm2022/layout/layout.component.mjs +7 -7
  207. package/esm2022/layout/layout.module.mjs +5 -5
  208. package/esm2022/layout/sidebar-content.component.mjs +7 -7
  209. package/esm2022/layout/sidebar-footer.component.mjs +7 -7
  210. package/esm2022/layout/sidebar-header.component.mjs +7 -7
  211. package/esm2022/layout/sidebar.component.mjs +7 -7
  212. package/esm2022/list/list-item-meta.component.mjs +4 -4
  213. package/esm2022/list/list-item.component.mjs +4 -4
  214. package/esm2022/list/list.component.mjs +4 -4
  215. package/esm2022/list/list.module.mjs +5 -5
  216. package/esm2022/list/selection/selection-list.mjs +4 -4
  217. package/esm2022/loading/loading.component.mjs +4 -4
  218. package/esm2022/loading/loading.module.mjs +5 -5
  219. package/esm2022/mention/mention.directive.mjs +4 -4
  220. package/esm2022/mention/mention.module.mjs +5 -5
  221. package/esm2022/mention/suggestions/suggestions.component.mjs +4 -4
  222. package/esm2022/menu/divider/menu-divider.component.mjs +4 -4
  223. package/esm2022/menu/group/menu-group.component.mjs +4 -4
  224. package/esm2022/menu/item/action/menu-item-action.component.mjs +4 -4
  225. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +4 -4
  226. package/esm2022/menu/item/menu-item.component.mjs +4 -4
  227. package/esm2022/menu/item/name/menu-item-name.component.mjs +4 -4
  228. package/esm2022/menu/menu.component.mjs +4 -4
  229. package/esm2022/menu/menu.module.mjs +5 -5
  230. package/esm2022/message/abstract/abstract-message-container.component.mjs +4 -4
  231. package/esm2022/message/abstract/abstract-message.component.mjs +4 -4
  232. package/esm2022/message/message-container.component.mjs +4 -4
  233. package/esm2022/message/message-queue.service.mjs +4 -4
  234. package/esm2022/message/message.component.mjs +4 -4
  235. package/esm2022/message/message.service.mjs +4 -4
  236. package/esm2022/message/module.mjs +5 -5
  237. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -4
  238. package/esm2022/nav/icon-nav/icon-nav.component.mjs +4 -4
  239. package/esm2022/nav/nav-ink-bar.directive.mjs +4 -4
  240. package/esm2022/nav/nav-item.directive.mjs +4 -4
  241. package/esm2022/nav/nav.component.mjs +4 -4
  242. package/esm2022/nav/nav.module.mjs +5 -5
  243. package/esm2022/nav/nav.pipe.mjs +4 -4
  244. package/esm2022/notify/module.mjs +5 -5
  245. package/esm2022/notify/notify-container.component.mjs +4 -4
  246. package/esm2022/notify/notify-queue.service.mjs +4 -4
  247. package/esm2022/notify/notify.component.mjs +4 -4
  248. package/esm2022/notify/notify.service.mjs +4 -4
  249. package/esm2022/pagination/pagination.component.mjs +4 -4
  250. package/esm2022/pagination/pagination.module.mjs +5 -5
  251. package/esm2022/pagination/pagination.pipe.mjs +7 -7
  252. package/esm2022/popover/body/popover-body.component.mjs +4 -4
  253. package/esm2022/popover/header/popover-header.component.mjs +4 -4
  254. package/esm2022/popover/module.mjs +5 -5
  255. package/esm2022/popover/popover-container.component.mjs +4 -4
  256. package/esm2022/popover/popover.directive.mjs +4 -4
  257. package/esm2022/popover/popover.service.mjs +4 -4
  258. package/esm2022/progress/progress-circle.component.mjs +4 -4
  259. package/esm2022/progress/progress-strip.component.mjs +4 -4
  260. package/esm2022/progress/progress.component.mjs +4 -4
  261. package/esm2022/progress/progress.module.mjs +5 -5
  262. package/esm2022/property/module.mjs +5 -5
  263. package/esm2022/property/properties.component.mjs +4 -4
  264. package/esm2022/property/property-item.component.mjs +4 -4
  265. package/esm2022/property-operation/group/property-operation-group.component.mjs +4 -4
  266. package/esm2022/property-operation/module.mjs +5 -5
  267. package/esm2022/property-operation/property-operation.component.mjs +4 -4
  268. package/esm2022/radio/button/radio-button.component.mjs +4 -4
  269. package/esm2022/radio/group/radio-group.component.mjs +4 -4
  270. package/esm2022/radio/module.mjs +5 -5
  271. package/esm2022/radio/radio.component.mjs +4 -4
  272. package/esm2022/rate/module.mjs +5 -5
  273. package/esm2022/rate/rate-item.component.mjs +4 -4
  274. package/esm2022/rate/rate.component.mjs +4 -4
  275. package/esm2022/resizable/module.mjs +5 -5
  276. package/esm2022/resizable/resizable.directive.mjs +4 -4
  277. package/esm2022/resizable/resizable.service.mjs +4 -4
  278. package/esm2022/resizable/resize-handle.component.mjs +4 -4
  279. package/esm2022/resizable/resize-handles.component.mjs +4 -4
  280. package/esm2022/result/result.component.mjs +4 -4
  281. package/esm2022/result/result.module.mjs +5 -5
  282. package/esm2022/segment/segment-item.component.mjs +4 -4
  283. package/esm2022/segment/segment.component.mjs +4 -4
  284. package/esm2022/segment/segment.module.mjs +5 -5
  285. package/esm2022/select/custom-select/custom-select.component.mjs +4 -4
  286. package/esm2022/select/module.mjs +5 -5
  287. package/esm2022/select/native-select/native-select.component.mjs +4 -4
  288. package/esm2022/shared/base-form-check.component.mjs +4 -4
  289. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +4 -4
  290. package/esm2022/shared/directives/thy-autofocus.directive.mjs +4 -4
  291. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +4 -4
  292. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +4 -4
  293. package/esm2022/shared/directives/thy-drag-drop.directive.mjs +4 -4
  294. package/esm2022/shared/directives/thy-enter.directive.mjs +4 -4
  295. package/esm2022/shared/directives/thy-scroll.directive.mjs +4 -4
  296. package/esm2022/shared/directives/thy-show.mjs +4 -4
  297. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +4 -4
  298. package/esm2022/shared/directives/view-outlet.directive.mjs +4 -4
  299. package/esm2022/shared/ng-transclude.directive.mjs +4 -4
  300. package/esm2022/shared/option/group/option-group.component.mjs +4 -4
  301. package/esm2022/shared/option/list-option/list-option.component.mjs +4 -4
  302. package/esm2022/shared/option/module.mjs +5 -5
  303. package/esm2022/shared/option/option-group.component.mjs +4 -4
  304. package/esm2022/shared/option/option.component.mjs +4 -4
  305. package/esm2022/shared/option/options-container.component.mjs +4 -4
  306. package/esm2022/shared/select/module.mjs +5 -5
  307. package/esm2022/shared/select/select-control/select-control.component.mjs +4 -4
  308. package/esm2022/shared/shared.module.mjs +5 -5
  309. package/esm2022/skeleton/module.mjs +5 -5
  310. package/esm2022/skeleton/skeleton-circle.component.mjs +4 -4
  311. package/esm2022/skeleton/skeleton-rectangle.component.mjs +4 -4
  312. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  313. package/esm2022/skeleton/stylized/bullet-list.component.mjs +4 -4
  314. package/esm2022/skeleton/stylized/list.component.mjs +4 -4
  315. package/esm2022/skeleton/stylized/paragraph.component.mjs +4 -4
  316. package/esm2022/slide/drawer/drawer-container.directive.mjs +4 -4
  317. package/esm2022/slide/slide-body/slide-body-section.component.mjs +4 -4
  318. package/esm2022/slide/slide-body/slide-body.component.mjs +4 -4
  319. package/esm2022/slide/slide-container.component.mjs +4 -4
  320. package/esm2022/slide/slide-footer/slide-footer.component.mjs +4 -4
  321. package/esm2022/slide/slide-header/slide-header.component.mjs +4 -4
  322. package/esm2022/slide/slide-layout/slide-layout.component.mjs +4 -4
  323. package/esm2022/slide/slide-ref.service.mjs +4 -4
  324. package/esm2022/slide/slide.module.mjs +5 -5
  325. package/esm2022/slide/slide.service.mjs +4 -4
  326. package/esm2022/slider/slider.component.mjs +4 -4
  327. package/esm2022/slider/slider.module.mjs +5 -5
  328. package/esm2022/space/space.component.mjs +7 -7
  329. package/esm2022/space/space.module.mjs +5 -5
  330. package/esm2022/statistic/statistic.component.mjs +4 -4
  331. package/esm2022/statistic/statistic.module.mjs +5 -5
  332. package/esm2022/stepper/step-header.component.mjs +4 -4
  333. package/esm2022/stepper/step.component.mjs +4 -4
  334. package/esm2022/stepper/stepper-button.directive.mjs +7 -7
  335. package/esm2022/stepper/stepper.component.mjs +4 -4
  336. package/esm2022/stepper/stepper.module.mjs +5 -5
  337. package/esm2022/strength/strength.component.mjs +4 -4
  338. package/esm2022/strength/strength.module.mjs +5 -5
  339. package/esm2022/switch/switch.component.mjs +4 -4
  340. package/esm2022/switch/switch.module.mjs +5 -5
  341. package/esm2022/table/pipes/drag.pipe.mjs +4 -4
  342. package/esm2022/table/pipes/table.pipe.mjs +4 -4
  343. package/esm2022/table/table-column.component.mjs +4 -4
  344. package/esm2022/table/table-skeleton.component.mjs +4 -4
  345. package/esm2022/table/table.component.mjs +4 -4
  346. package/esm2022/table/table.module.mjs +5 -5
  347. package/esm2022/tabs/tab-content.component.mjs +4 -4
  348. package/esm2022/tabs/tab.component.mjs +4 -4
  349. package/esm2022/tabs/tabs.component.mjs +4 -4
  350. package/esm2022/tabs/tabs.module.mjs +5 -5
  351. package/esm2022/tag/tag.component.mjs +4 -4
  352. package/esm2022/tag/tag.module.mjs +5 -5
  353. package/esm2022/tag/tags.component.mjs +4 -4
  354. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +5 -5
  355. package/esm2022/time-picker/inner/inner-time-picker.config.mjs +4 -4
  356. package/esm2022/time-picker/inner/inner-time-picker.store.mjs +12 -9
  357. package/esm2022/time-picker/time-picker-panel.component.mjs +11 -12
  358. package/esm2022/time-picker/time-picker.component.mjs +17 -19
  359. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  360. package/esm2022/time-picker/time-picker.utils.mjs +14 -8
  361. package/esm2022/timeline/timeline-item.component.mjs +4 -4
  362. package/esm2022/timeline/timeline.component.mjs +4 -4
  363. package/esm2022/timeline/timeline.module.mjs +5 -5
  364. package/esm2022/timeline/timeline.service.mjs +4 -4
  365. package/esm2022/tooltip/tooltip.component.mjs +4 -4
  366. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  367. package/esm2022/tooltip/tooltip.module.mjs +5 -5
  368. package/esm2022/tooltip/tooltip.service.mjs +4 -4
  369. package/esm2022/transfer/transfer-list.component.mjs +4 -4
  370. package/esm2022/transfer/transfer.component.mjs +4 -4
  371. package/esm2022/transfer/transfer.module.mjs +5 -5
  372. package/esm2022/tree/tree-node.component.mjs +4 -4
  373. package/esm2022/tree/tree.component.mjs +4 -4
  374. package/esm2022/tree/tree.module.mjs +5 -5
  375. package/esm2022/tree/tree.pipe.mjs +4 -4
  376. package/esm2022/tree/tree.service.mjs +4 -4
  377. package/esm2022/tree-select/module.mjs +5 -5
  378. package/esm2022/tree-select/tree-select.component.mjs +7 -7
  379. package/esm2022/typography/bg-color.directive.mjs +4 -4
  380. package/esm2022/typography/module.mjs +5 -5
  381. package/esm2022/typography/text/text.component.mjs +4 -4
  382. package/esm2022/typography/text-color.directive.mjs +4 -4
  383. package/esm2022/upload/file-drop.directive.mjs +4 -4
  384. package/esm2022/upload/file-select-base.mjs +4 -4
  385. package/esm2022/upload/file-select.component.mjs +4 -4
  386. package/esm2022/upload/module.mjs +6 -7
  387. package/esm2022/upload/upload.service.mjs +11 -11
  388. package/esm2022/util/date/functions.mjs +26 -1
  389. package/esm2022/util/date/tiny-date.mjs +78 -34
  390. package/esm2022/util/index.mjs +9 -9
  391. package/esm2022/version.mjs +2 -2
  392. package/esm2022/vote/vote.component.mjs +4 -4
  393. package/esm2022/vote/vote.module.mjs +5 -5
  394. package/esm2022/watermark/watermark.directive.mjs +4 -4
  395. package/esm2022/watermark/watermark.module.mjs +5 -5
  396. package/fesm2022/ngx-tethys-action.mjs +10 -10
  397. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  398. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  399. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  400. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  401. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  402. package/fesm2022/ngx-tethys-anchor.mjs +10 -10
  403. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  404. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  405. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  406. package/fesm2022/ngx-tethys-autocomplete.mjs +16 -16
  407. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  408. package/fesm2022/ngx-tethys-avatar.mjs +22 -22
  409. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  410. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  411. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  412. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  413. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  414. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  415. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  416. package/fesm2022/ngx-tethys-button.mjs +13 -13
  417. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  418. package/fesm2022/ngx-tethys-calendar.mjs +26 -26
  419. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  420. package/fesm2022/ngx-tethys-card.mjs +13 -13
  421. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  422. package/fesm2022/ngx-tethys-carousel.mjs +84 -84
  423. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  424. package/fesm2022/ngx-tethys-cascader.mjs +16 -16
  425. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  426. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  427. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  428. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  429. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  430. package/fesm2022/ngx-tethys-color-picker.mjs +31 -31
  431. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  432. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  433. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  434. package/fesm2022/ngx-tethys-copy.mjs +7 -7
  435. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  436. package/fesm2022/ngx-tethys-core.mjs +23 -23
  437. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  438. package/fesm2022/ngx-tethys-date-picker.mjs +242 -235
  439. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  440. package/fesm2022/ngx-tethys-date-range.mjs +17 -18
  441. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  442. package/fesm2022/ngx-tethys-dialog.mjs +22 -22
  443. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  444. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  445. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  446. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  447. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  448. package/fesm2022/ngx-tethys-drag-drop.mjs +19 -19
  449. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  450. package/fesm2022/ngx-tethys-dropdown.mjs +46 -46
  451. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  452. package/fesm2022/ngx-tethys-empty.mjs +10 -10
  453. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  454. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  455. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  456. package/fesm2022/ngx-tethys-form.mjs +40 -40
  457. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  458. package/fesm2022/ngx-tethys-fullscreen.mjs +13 -13
  459. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  460. package/fesm2022/ngx-tethys-grid.mjs +31 -31
  461. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  462. package/fesm2022/ngx-tethys-guider.mjs +16 -16
  463. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  464. package/fesm2022/ngx-tethys-i18n.mjs +3 -3
  465. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  466. package/fesm2022/ngx-tethys-icon.mjs +13 -13
  467. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  468. package/fesm2022/ngx-tethys-image.mjs +16 -16
  469. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  470. package/fesm2022/ngx-tethys-input-number.mjs +7 -7
  471. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  472. package/fesm2022/ngx-tethys-input.mjs +19 -19
  473. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  474. package/fesm2022/ngx-tethys-layout.mjs +58 -58
  475. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  476. package/fesm2022/ngx-tethys-list.mjs +16 -16
  477. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  478. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  479. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  480. package/fesm2022/ngx-tethys-mention.mjs +10 -10
  481. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  482. package/fesm2022/ngx-tethys-menu.mjs +25 -25
  483. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  484. package/fesm2022/ngx-tethys-message.mjs +22 -22
  485. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  486. package/fesm2022/ngx-tethys-nav.mjs +22 -22
  487. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  488. package/fesm2022/ngx-tethys-notify.mjs +16 -16
  489. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  490. package/fesm2022/ngx-tethys-pagination.mjs +13 -13
  491. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  492. package/fesm2022/ngx-tethys-popover.mjs +19 -19
  493. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  494. package/fesm2022/ngx-tethys-progress.mjs +13 -13
  495. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  496. package/fesm2022/ngx-tethys-property-operation.mjs +10 -10
  497. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  498. package/fesm2022/ngx-tethys-property.mjs +10 -10
  499. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  500. package/fesm2022/ngx-tethys-radio.mjs +13 -13
  501. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  502. package/fesm2022/ngx-tethys-rate.mjs +10 -10
  503. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  504. package/fesm2022/ngx-tethys-resizable.mjs +16 -16
  505. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  506. package/fesm2022/ngx-tethys-result.mjs +7 -7
  507. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  508. package/fesm2022/ngx-tethys-segment.mjs +10 -10
  509. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  510. package/fesm2022/ngx-tethys-select.mjs +10 -10
  511. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  512. package/fesm2022/ngx-tethys-shared.mjs +66 -66
  513. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  514. package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
  515. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  516. package/fesm2022/ngx-tethys-slide.mjs +31 -31
  517. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  518. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  519. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  520. package/fesm2022/ngx-tethys-space.mjs +10 -10
  521. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  522. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  523. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  524. package/fesm2022/ngx-tethys-stepper.mjs +19 -19
  525. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  526. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  527. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  528. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  529. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  530. package/fesm2022/ngx-tethys-table.mjs +19 -19
  531. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  532. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  533. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  534. package/fesm2022/ngx-tethys-tag.mjs +10 -10
  535. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  536. package/fesm2022/ngx-tethys-time-picker.mjs +46 -40
  537. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  538. package/fesm2022/ngx-tethys-timeline.mjs +13 -13
  539. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  540. package/fesm2022/ngx-tethys-tooltip.mjs +13 -13
  541. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  542. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  543. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  544. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  545. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  546. package/fesm2022/ngx-tethys-tree.mjs +16 -16
  547. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  548. package/fesm2022/ngx-tethys-typography.mjs +13 -13
  549. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  550. package/fesm2022/ngx-tethys-upload.mjs +23 -24
  551. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  552. package/fesm2022/ngx-tethys-util.mjs +107 -38
  553. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  554. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  555. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  556. package/fesm2022/ngx-tethys-watermark.mjs +7 -7
  557. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  558. package/fesm2022/ngx-tethys.mjs +1 -1
  559. package/fesm2022/ngx-tethys.mjs.map +1 -1
  560. package/nav/styles/nav.scss +18 -2
  561. package/package.json +3 -2
  562. package/schematics/ng-add/index.js +2 -3
  563. package/schematics/ng-add/index.spec.js +21 -22
  564. package/schematics/ng-update/update-18/index.spec.js +7 -8
  565. package/schematics/testing/test-app.js +2 -5
  566. package/schematics/testing/test-project.js +7 -10
  567. package/schematics/testing/test-workspace.d.ts +1 -0
  568. package/schematics/testing/test-workspace.js +14 -15
  569. package/schematics/tsconfig.json +1 -1
  570. package/schematics/utils/get-workspace-tsconfig.js +8 -9
  571. package/schematics/utils/package-config.js +1 -2
  572. package/schematics/version.d.ts +1 -1
  573. package/schematics/version.js +1 -1
  574. package/time-picker/inner/inner-time-picker.store.d.ts +1 -1
  575. package/util/date/functions.d.ts +25 -0
  576. package/util/date/tiny-date.d.ts +20 -4
  577. package/util/index.d.ts +8 -8
@@ -46,10 +46,10 @@ class ThyRowDirective {
46
46
  }
47
47
  return [this.thyGutter, 0];
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyRowDirective, isStandalone: true, selector: "[thyRow]", inputs: { thyGutter: "thyGutter" }, host: { classAttribute: "thy-row" }, usesOnChanges: true, ngImport: i0 }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ThyRowDirective, isStandalone: true, selector: "[thyRow]", inputs: { thyGutter: "thyGutter" }, host: { classAttribute: "thy-row" }, usesOnChanges: true, ngImport: i0 }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyRowDirective, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyRowDirective, decorators: [{
53
53
  type: Directive,
54
54
  args: [{
55
55
  selector: '[thyRow]',
@@ -105,10 +105,10 @@ class ThyColDirective {
105
105
  [`thy-col-${this.span}`]: true
106
106
  });
107
107
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyColDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyColDirective, isStandalone: true, selector: "[thyCol]", inputs: { thyCol: "thyCol", thySpan: "thySpan" }, host: { classAttribute: "thy-col" }, usesOnChanges: true, ngImport: i0 }); }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyColDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ThyColDirective, isStandalone: true, selector: "[thyCol]", inputs: { thyCol: "thyCol", thySpan: "thySpan" }, host: { classAttribute: "thy-col" }, usesOnChanges: true, ngImport: i0 }); }
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyColDirective, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyColDirective, decorators: [{
112
112
  type: Directive,
113
113
  args: [{
114
114
  selector: '[thyCol]',
@@ -161,10 +161,10 @@ class ThyGridItem {
161
161
  this.hostRenderer.setStyle('grid-column', `span ${this.span}`);
162
162
  this.hostRenderer.setStyle('margin-left', this.offset ? `calc(((100% - ${(this.span - 1) * xGap}px) / ${this.span} + ${xGap}px) * ${this.offset})` : '');
163
163
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGridItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
165
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyGridItem, isStandalone: true, selector: "thy-grid-item,[thyGridItem]", inputs: { thySpan: "thySpan", thyOffset: "thyOffset" }, host: { classAttribute: "thy-grid-item" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGridItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
165
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ThyGridItem, isStandalone: true, selector: "thy-grid-item,[thyGridItem]", inputs: { thySpan: "thySpan", thyOffset: "thyOffset" }, host: { classAttribute: "thy-grid-item" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGridItem, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGridItem, decorators: [{
168
168
  type: Component,
169
169
  args: [{
170
170
  selector: 'thy-grid-item,[thyGridItem]',
@@ -350,15 +350,15 @@ class ThyGrid {
350
350
  };
351
351
  });
352
352
  }
353
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGrid, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
354
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyGrid, isStandalone: true, selector: "[thyGrid]", inputs: { thyCols: "thyCols", thyXGap: "thyXGap", thyYGap: "thyYGap", thyGap: "thyGap", thyResponsive: "thyResponsive" }, host: { classAttribute: "thy-grid" }, providers: [
353
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGrid, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
354
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ThyGrid, isStandalone: true, selector: "[thyGrid]", inputs: { thyCols: "thyCols", thyXGap: "thyXGap", thyYGap: "thyYGap", thyGap: "thyGap", thyResponsive: "thyResponsive" }, host: { classAttribute: "thy-grid" }, providers: [
355
355
  {
356
356
  provide: THY_GRID_COMPONENT,
357
357
  useExisting: ThyGrid
358
358
  }
359
359
  ], queries: [{ propertyName: "gridItems", predicate: ThyGridItem }], usesOnChanges: true, ngImport: i0 }); }
360
360
  }
361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGrid, decorators: [{
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGrid, decorators: [{
362
362
  type: Directive,
363
363
  args: [{
364
364
  selector: '[thyGrid]',
@@ -394,15 +394,15 @@ class ThyGridComponent {
394
394
  constructor() {
395
395
  this.grid = inject(ThyGrid);
396
396
  }
397
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
398
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyGridComponent, isStandalone: true, selector: "thy-grid", providers: [
397
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
398
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ThyGridComponent, isStandalone: true, selector: "thy-grid", providers: [
399
399
  {
400
400
  provide: THY_GRID_COMPONENT,
401
401
  useExisting: ThyGrid
402
402
  }
403
403
  ], hostDirectives: [{ directive: ThyGrid, inputs: ["thyCols", "thyCols", "thyXGap", "thyXGap", "thyYGap", "thyYGap", "thyGap", "thyGap", "thyResponsive", "thyResponsive"] }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
404
404
  }
405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGridComponent, decorators: [{
405
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGridComponent, decorators: [{
406
406
  type: Component,
407
407
  args: [{
408
408
  selector: 'thy-grid',
@@ -467,10 +467,10 @@ class ThyFlex {
467
467
  this.hostRenderer.updateClass(classes);
468
468
  this.hostRenderer.setStyle('gap', `${this.thyGap ?? '0'}px`);
469
469
  }
470
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFlex, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
471
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyFlex, isStandalone: true, selector: "[thyFlex]", inputs: { thyDirection: "thyDirection", thyWrap: "thyWrap", thyJustifyContent: "thyJustifyContent", thyAlignItems: "thyAlignItems", thyGap: "thyGap" }, host: { classAttribute: "thy-flex d-flex" }, usesOnChanges: true, ngImport: i0 }); }
470
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyFlex, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
471
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ThyFlex, isStandalone: true, selector: "[thyFlex]", inputs: { thyDirection: "thyDirection", thyWrap: "thyWrap", thyJustifyContent: "thyJustifyContent", thyAlignItems: "thyAlignItems", thyGap: "thyGap" }, host: { classAttribute: "thy-flex d-flex" }, usesOnChanges: true, ngImport: i0 }); }
472
472
  }
473
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFlex, decorators: [{
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyFlex, decorators: [{
474
474
  type: Directive,
475
475
  args: [{
476
476
  selector: '[thyFlex]',
@@ -494,10 +494,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
494
494
  * @internal
495
495
  */
496
496
  class ThyFlexComponent {
497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFlexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
498
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyFlexComponent, isStandalone: true, selector: "thy-flex", hostDirectives: [{ directive: ThyFlex, inputs: ["thyDirection", "thyDirection", "thyWrap", "thyWrap", "thyJustifyContent", "thyJustifyContent", "thyAlignItems", "thyAlignItems", "thyGap", "thyGap"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
497
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyFlexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
498
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ThyFlexComponent, isStandalone: true, selector: "thy-flex", hostDirectives: [{ directive: ThyFlex, inputs: ["thyDirection", "thyDirection", "thyWrap", "thyWrap", "thyJustifyContent", "thyJustifyContent", "thyAlignItems", "thyAlignItems", "thyGap", "thyGap"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
499
499
  }
500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFlexComponent, decorators: [{
500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyFlexComponent, decorators: [{
501
501
  type: Component,
502
502
  args: [{
503
503
  selector: 'thy-flex',
@@ -554,10 +554,10 @@ class ThyFlexItem {
554
554
  }
555
555
  this.hostRenderer.updateClass(classes);
556
556
  }
557
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFlexItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
558
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyFlexItem, isStandalone: true, selector: "[thyFlexItem]", inputs: { thyFlexItem: "thyFlexItem", thyGrow: "thyGrow", thyShrink: "thyShrink", thyBasis: "thyBasis" }, host: { classAttribute: "thy-flex-item" }, usesOnChanges: true, ngImport: i0 }); }
557
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyFlexItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
558
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ThyFlexItem, isStandalone: true, selector: "[thyFlexItem]", inputs: { thyFlexItem: "thyFlexItem", thyGrow: "thyGrow", thyShrink: "thyShrink", thyBasis: "thyBasis" }, host: { classAttribute: "thy-flex-item" }, usesOnChanges: true, ngImport: i0 }); }
559
559
  }
560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFlexItem, decorators: [{
560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyFlexItem, decorators: [{
561
561
  type: Directive,
562
562
  args: [{
563
563
  selector: '[thyFlexItem]',
@@ -579,10 +579,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
579
579
  * @internal
580
580
  */
581
581
  class ThyFlexItemComponent {
582
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFlexItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
583
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyFlexItemComponent, isStandalone: true, selector: "thy-flex-item", hostDirectives: [{ directive: ThyFlexItem, inputs: ["thyFlexItem", "thyFlexItem", "thyGrow", "thyGrow", "thyShrink", "thyShrink", "thyBasis", "thyBasis"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
582
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyFlexItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
583
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ThyFlexItemComponent, isStandalone: true, selector: "thy-flex-item", hostDirectives: [{ directive: ThyFlexItem, inputs: ["thyFlexItem", "thyFlexItem", "thyGrow", "thyGrow", "thyShrink", "thyShrink", "thyBasis", "thyBasis"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
584
584
  }
585
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFlexItemComponent, decorators: [{
585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyFlexItemComponent, decorators: [{
586
586
  type: Component,
587
587
  args: [{
588
588
  selector: 'thy-flex-item',
@@ -603,8 +603,8 @@ function normalizeStartEnd(value) {
603
603
  }
604
604
 
605
605
  class ThyGridModule {
606
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
607
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ThyGridModule, imports: [ThyGrid,
606
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
607
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ThyGridModule, imports: [ThyGrid,
608
608
  ThyGridComponent,
609
609
  ThyGridItem,
610
610
  ThyRowDirective,
@@ -621,9 +621,9 @@ class ThyGridModule {
621
621
  ThyFlexItem,
622
622
  ThyFlexComponent,
623
623
  ThyFlexItemComponent] }); }
624
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGridModule }); }
624
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGridModule }); }
625
625
  }
626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGridModule, decorators: [{
626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGridModule, decorators: [{
627
627
  type: NgModule,
628
628
  args: [{
629
629
  exports: [
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-grid.mjs","sources":["../../../src/grid/thy-row.directive.ts","../../../src/grid/thy-col.directive.ts","../../../src/grid/grid.token.ts","../../../src/grid/thy-grid-item.component.ts","../../../src/grid/thy-grid.component.ts","../../../src/grid/flex.ts","../../../src/grid/module.ts","../../../src/grid/ngx-tethys-grid.ts"],"sourcesContent":["import { Directive, Input, OnChanges, OnInit, AfterViewInit, OnDestroy, ChangeDetectionStrategy } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { isString } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyRowJustify = 'start' | 'end' | 'center' | 'space-around' | 'space-between';\nexport type ThyRowAlign = 'top' | 'middle' | 'bottom';\n\n/**\n * 栅格行指令\n * @name thyRow\n * @order 30\n */\n@Directive({\n selector: '[thyRow]',\n host: {\n class: 'thy-row'\n },\n standalone: true\n})\nexport class ThyRowDirective implements OnInit, OnChanges, AfterViewInit {\n /**\n * 栅格的间距\n */\n @Input() thyGutter: number | { xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number };\n\n public actualGutter$ = new ReplaySubject<[number, number]>(1);\n\n private hostRenderer = useHostRenderer();\n\n constructor() {}\n\n ngOnInit() {\n this.setGutterStyle();\n }\n\n ngOnChanges() {\n this.setGutterStyle();\n }\n\n ngAfterViewInit(): void {}\n\n private setGutterStyle() {\n const [horizontalGutter, verticalGutter] = this.getGutter();\n this.actualGutter$.next([horizontalGutter, verticalGutter]);\n const renderGutter = (name: string, gutter: number) => {\n this.hostRenderer.setStyle(name, `-${gutter / 2}px`);\n };\n if (horizontalGutter > 0) {\n renderGutter('margin-left', horizontalGutter);\n renderGutter('margin-right', horizontalGutter);\n }\n if (verticalGutter > 0) {\n renderGutter('margin-top', verticalGutter);\n renderGutter('margin-bottom', verticalGutter);\n }\n }\n\n private getGutter() {\n if (isString(this.thyGutter)) {\n throw Error(`thyGutter value can not be string type`);\n }\n return [this.thyGutter as number, 0];\n }\n}\n","import { Directive, Input, OnChanges, AfterViewInit, OnInit, SimpleChanges, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyRowDirective } from './thy-row.directive';\n\nexport interface ThyColEmbeddedProperty {\n span?: number;\n pull?: number;\n push?: number;\n offset?: number;\n order?: number;\n}\n\nexport type ThySpan = number | null | 'auto';\n\n/**\n * 栅格列指令\n * @name thyCol\n * @order 35\n */\n@Directive({\n selector: '[thyCol]',\n host: {\n class: 'thy-col'\n },\n standalone: true\n})\nexport class ThyColDirective implements OnInit, OnChanges, AfterViewInit {\n thyRowDirective = inject(ThyRowDirective, { optional: true, host: true })!;\n\n /**\n * 栅格项的占位列数,thySpan 如果传递了值,以 thySpan 为准\n */\n @Input() thyCol: ThySpan;\n\n /**\n * 栅格项的占位列数\n */\n @Input() thySpan: ThySpan;\n\n get span() {\n const span = this.thySpan ?? this.thyCol;\n return span || 24;\n }\n\n private hostRenderer = useHostRenderer();\n\n private takeUntilDestroyed = takeUntilDestroyed();\n\n ngOnInit() {\n this.updateHostClass();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateHostClass();\n }\n\n ngAfterViewInit(): void {\n if (this.thyRowDirective) {\n this.thyRowDirective.actualGutter$.pipe(this.takeUntilDestroyed).subscribe(([horizontalGutter, verticalGutter]) => {\n const renderGutter = (name: string, gutter: number) => {\n this.hostRenderer.setStyle(name, `${gutter / 2}px`);\n };\n if (horizontalGutter > 0) {\n renderGutter('padding-left', horizontalGutter);\n renderGutter('padding-right', horizontalGutter);\n }\n if (verticalGutter > 0) {\n renderGutter('padding-top', verticalGutter);\n renderGutter('padding-bottom', verticalGutter);\n }\n });\n }\n }\n\n private updateHostClass() {\n this.hostRenderer.updateClassByMap({\n [`thy-col-${this.span}`]: true\n });\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport abstract class ThyGridToken {\n xGap: number;\n gridItemPropValueChange$: Subject<void>;\n}\n\nexport const THY_GRID_COMPONENT = new InjectionToken<ThyGridToken>('THY_GRID_COMPONENT');\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, inject, DestroyRef } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ThyGridToken, THY_GRID_COMPONENT } from './grid.token';\nimport { ThyGridResponsiveDescription, THY_GRID_ITEM_DEFAULT_SPAN } from './thy-grid.component';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * 栅格项组件\n * @name thy-grid-item,[thyGridItem]\n * @order 15\n */\n@Component({\n selector: 'thy-grid-item,[thyGridItem]',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-grid-item'\n },\n standalone: true\n})\nexport class ThyGridItem implements OnInit {\n elementRef = inject(ElementRef);\n private grid = inject(THY_GRID_COMPONENT, { optional: true })!;\n\n /**\n * 栅格项的占位列数,为 0 时会隐藏该栅格项\n * @default 1\n */\n @Input() thySpan: number | ThyGridResponsiveDescription = THY_GRID_ITEM_DEFAULT_SPAN;\n\n /**\n * 栅格项左侧的偏移列数\n */\n @Input() thyOffset: number | ThyGridResponsiveDescription = 0;\n\n private readonly destroyRef = inject(DestroyRef);\n\n private hostRenderer = useHostRenderer();\n\n public span: number = THY_GRID_ITEM_DEFAULT_SPAN;\n\n public offset: number = 0;\n\n ngOnInit(): void {\n this.grid.gridItemPropValueChange$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.setGridItemStyle();\n });\n }\n\n private setGridItemStyle() {\n const xGap: number = this.grid?.xGap || 0;\n\n this.hostRenderer.setStyle('display', this.span === 0 ? 'none' : '');\n\n this.hostRenderer.setStyle('grid-column', `span ${this.span}`);\n\n this.hostRenderer.setStyle(\n 'margin-left',\n this.offset ? `calc(((100% - ${(this.span - 1) * xGap}px) / ${this.span} + ${xGap}px) * ${this.offset})` : ''\n );\n }\n}\n","import { ViewportRuler } from '@angular/cdk/scrolling';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, Subject } from 'rxjs';\nimport { throttleTime } from 'rxjs/operators';\nimport { ThyGridToken, THY_GRID_COMPONENT } from './grid.token';\nimport { ThyGridItem } from './thy-grid-item.component';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { hasLaterChange } from 'ngx-tethys/util';\n\nexport type ThyGridResponsiveMode = 'none' | 'self' | 'screen';\n\nexport type ThyGridResponsiveDescription = string;\n\nexport const THY_GRID_DEFAULT_COLUMNS = 24;\n\nexport const THY_GRID_ITEM_DEFAULT_SPAN = 1;\n\nexport const screenBreakpointsMap = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\n/**\n * 栅格组件\n * @name thy-grid, [thyGrid]\n * @order 10\n */\n@Directive({\n selector: '[thyGrid]',\n providers: [\n {\n provide: THY_GRID_COMPONENT,\n useExisting: ThyGrid\n }\n ],\n host: {\n class: 'thy-grid'\n },\n standalone: true\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ThyGrid implements ThyGridToken, OnInit, OnChanges, AfterContentInit {\n private elementRef = inject(ElementRef);\n private viewportRuler = inject(ViewportRuler);\n private ngZone = inject(NgZone);\n\n /**\n * @internal\n */\n @ContentChildren(ThyGridItem) gridItems!: QueryList<ThyGridItem>;\n\n /**\n * 栅格的列数\n * @default 24\n */\n @Input() thyCols: number | ThyGridResponsiveDescription = THY_GRID_DEFAULT_COLUMNS;\n\n /**\n * 栅格的水平间隔\n */\n @Input() thyXGap: number | ThyGridResponsiveDescription = 0;\n\n /**\n * 栅格的垂直间隔\n */\n @Input() thyYGap: number | ThyGridResponsiveDescription = 0;\n\n /**\n * 栅格的水平和垂直间隔\n */\n @Input() thyGap: number | ThyGridResponsiveDescription = 0;\n\n /**\n * 响应式栅格列数<br/>\n * none: 不进行响应式布局。<br/>\n * self:根据grid的自身宽度进行响应式布局。<br/>\n * screen:根据屏幕断点进行响应式布局,目前预设了5种响应式尺寸:`xs: 0, sm: 576, md: 768, lg: 992, xl: 1200`。\n */\n @Input() thyResponsive: ThyGridResponsiveMode = 'none';\n\n private hostRenderer = useHostRenderer();\n\n private cols: number;\n\n public xGap: number;\n\n private yGap: number;\n\n private numRegex = /^\\d+$/;\n\n private responsiveContainerWidth: number;\n\n public gridItemPropValueChange$ = new Subject<void>();\n\n private takeUntilDestroyed = takeUntilDestroyed();\n\n ngOnInit(): void {\n this.setGridStyle();\n\n if (this.thyResponsive !== 'none') {\n this.listenResizeEvent();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {}\n\n ngAfterContentInit(): void {\n this.handleGridItems();\n\n this.gridItems.changes.pipe(this.takeUntilDestroyed).subscribe(() => {\n Promise.resolve().then(() => {\n this.handleGridItems();\n });\n });\n }\n\n private setGridStyle() {\n this.cols = this.calculateActualValue(this.thyCols || THY_GRID_DEFAULT_COLUMNS, THY_GRID_DEFAULT_COLUMNS);\n if (!this.thyXGap && !this.thyYGap) {\n this.xGap = this.calculateActualValue(this.thyGap || 0);\n this.yGap = this.xGap;\n } else {\n this.xGap = this.calculateActualValue(this.thyXGap || this.thyGap);\n this.yGap = this.calculateActualValue(this.thyYGap || this.thyGap);\n }\n\n this.hostRenderer.setStyle('display', 'grid');\n this.hostRenderer.setStyle('grid-template-columns', `repeat(${this.cols}, minmax(0, 1fr))`);\n this.hostRenderer.setStyle('gap', `${this.yGap}px ${this.xGap}px`);\n }\n\n private listenResizeEvent() {\n if (this.thyResponsive === 'screen') {\n this.viewportRuler\n .change(100)\n .pipe(this.takeUntilDestroyed)\n .subscribe(() => {\n this.responsiveContainerWidth = this.viewportRuler.getViewportSize().width;\n this.setGridStyle();\n this.handleGridItems();\n });\n } else {\n this.ngZone.runOutsideAngular(() => {\n this.gridResizeObserver(this.elementRef.nativeElement)\n .pipe(throttleTime(100), this.takeUntilDestroyed)\n .subscribe(data => {\n this.responsiveContainerWidth = data[0]?.contentRect?.width;\n this.setGridStyle();\n this.handleGridItems();\n });\n });\n }\n }\n\n private handleGridItems() {\n this.gridItems.forEach((gridItem: ThyGridItem) => {\n const rawSpan = getRawSpan(gridItem.thySpan);\n const span = this.calculateActualValue(rawSpan, THY_GRID_ITEM_DEFAULT_SPAN);\n const offset = this.calculateActualValue(gridItem.thyOffset || 0);\n\n gridItem.span = Math.min(span + offset, this.cols);\n gridItem.offset = offset;\n });\n\n this.gridItemPropValueChange$.next();\n }\n\n private calculateActualValue(rawValue: number | ThyGridResponsiveDescription, defaultValue?: number): number {\n if (this.numRegex.test(rawValue.toString().trim())) {\n return Number(rawValue);\n } else {\n const responsiveValueMap = this.getResponsiveValueMap(rawValue as ThyGridResponsiveDescription);\n const breakpointKeys = Object.keys(responsiveValueMap);\n const breakpoint = this.calculateBreakPoint(breakpointKeys);\n\n if (this.thyResponsive !== 'none' && breakpoint) {\n return responsiveValueMap[breakpoint];\n } else if (breakpointKeys.includes('0')) {\n return responsiveValueMap['0'];\n } else {\n return defaultValue || 0;\n }\n }\n }\n\n private getResponsiveValueMap(responsiveValue: string): { [key: string]: number } {\n return responsiveValue.split(' ').reduce((map: { [key: string]: number }, item: string) => {\n if (this.numRegex.test(item.toString())) {\n item = `0:${item}`;\n }\n const [key, value] = item.split(':');\n map[key] = Number(value);\n return map;\n }, {});\n }\n\n private calculateBreakPoint(breakpointKeys: string[]): string {\n if (this.thyResponsive === 'screen') {\n const width = this.responsiveContainerWidth || this.viewportRuler.getViewportSize().width;\n return breakpointKeys.find((key: string, index: number) => {\n return index < breakpointKeys.length - 1\n ? width >= screenBreakpointsMap[key] && width < screenBreakpointsMap[breakpointKeys[index + 1]]\n : width >= screenBreakpointsMap[key];\n });\n } else {\n const width = this.responsiveContainerWidth || this.elementRef.nativeElement.getBoundingClientRect().width;\n return breakpointKeys.find((key: string, index: number) => {\n return index < breakpointKeys.length - 1\n ? width >= Number(key) && width < Number(breakpointKeys[index + 1])\n : width >= Number(key);\n });\n }\n }\n\n private gridResizeObserver(element: HTMLElement): Observable<ResizeObserverEntry[]> {\n return new Observable(observer => {\n const resize = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n}\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-grid',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ThyGrid],\n providers: [\n {\n provide: THY_GRID_COMPONENT,\n useExisting: ThyGrid\n }\n ],\n hostDirectives: [\n {\n directive: ThyGrid,\n inputs: ['thyCols', 'thyXGap', 'thyYGap', 'thyGap', 'thyResponsive']\n }\n ]\n})\nexport class ThyGridComponent {\n grid = inject(ThyGrid);\n}\n\nfunction getRawSpan(span: number | ThyGridResponsiveDescription | undefined | null): number | ThyGridResponsiveDescription {\n return span === undefined || span === null ? THY_GRID_ITEM_DEFAULT_SPAN : span;\n}\n","import { ChangeDetectionStrategy, Component, Directive, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { isUndefinedOrNull } from '@tethys/cdk/is';\nimport { hasLaterChange } from 'ngx-tethys/util';\n\nexport type ThyFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\nexport type ThyFlexWrap = 'nowrap' | 'wrap' | 'wrap-reverse';\nexport type ThyFlexJustifyContent =\n | 'start'\n | 'end'\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'initial'\n | 'inherit';\nexport type ThyFlexAlignItems = 'start' | 'end' | 'stretch' | 'center' | 'flex-start' | 'flex-end' | 'baseline' | 'initial' | 'inherit';\nexport type ThyFlexGrow = '1' | '0' | 0 | 1;\nexport type ThyFlexShrink = '1' | '0' | 0 | 1;\n\n/**\n * 设置容器为 Flex 布局组件\n * @name thy-flex, [thyFlex]\n * @order 20\n */\n@Directive({\n selector: '[thyFlex]',\n standalone: true,\n host: {\n class: 'thy-flex d-flex'\n }\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ThyFlex implements OnInit, OnChanges {\n private hostRenderer = useHostRenderer();\n\n /**\n * Flex 方向,为 row 或者 column\n * @default row\n */\n @Input() thyDirection: ThyFlexDirection;\n\n /**\n * Flex Wrap\n * @default nowrap\n */\n @Input() thyWrap: ThyFlexWrap;\n\n /**\n * Justify Content\n */\n @Input() thyJustifyContent: ThyFlexJustifyContent;\n\n /**\n * Align Items\n */\n @Input() thyAlignItems: ThyFlexAlignItems;\n\n /**\n * Flex Item 之间的间隙 Gap\n * @default 0\n */\n @Input() thyGap: number;\n\n get direction() {\n const direction = this.thyDirection ?? this.thyDirection;\n return direction || 'row';\n }\n\n constructor() {}\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (hasLaterChange(changes)) {\n this.updateClasses();\n }\n }\n\n private updateClasses() {\n const classes: string[] = [];\n if (!isUndefinedOrNull(this.thyJustifyContent)) {\n classes.push(`justify-content-${normalizeStartEnd(this.thyJustifyContent)}`);\n }\n if (!isUndefinedOrNull(this.thyAlignItems)) {\n classes.push(`align-items-${normalizeStartEnd(this.thyAlignItems)}`);\n }\n if (!isUndefinedOrNull(this.thyWrap)) {\n classes.push(`flex-${this.thyWrap}`);\n }\n if (!isUndefinedOrNull(this.direction)) {\n classes.push(`flex-${this.direction}`);\n }\n this.hostRenderer.updateClass(classes);\n this.hostRenderer.setStyle('gap', `${this.thyGap ?? '0'}px`);\n }\n}\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-flex',\n template: `<ng-content></ng-content>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ThyFlex,\n inputs: ['thyDirection', 'thyWrap', 'thyJustifyContent', 'thyAlignItems', 'thyGap']\n }\n ],\n imports: [ThyFlex]\n})\nexport class ThyFlexComponent {}\n\n/**\n * 设置为 Flex Item 组件\n * @name thy-flex-item, [thyFlexItem]\n * @order 25\n */\n@Directive({\n selector: '[thyFlexItem]',\n standalone: true,\n host: {\n class: 'thy-flex-item'\n }\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ThyFlexItem implements OnInit, OnChanges {\n private hostRenderer = useHostRenderer();\n\n /**\n * Flex Item 属性,表示 grow 、shrink 、basis\n */\n @Input() thyFlexItem: 'fill' | string;\n\n /**\n * Flew Grow,设置或检索弹性盒子的扩展比率,设置 1 为填充剩余区域\n */\n @Input() thyGrow: ThyFlexGrow;\n\n /**\n * Flex Shrink,设置或检索弹性盒收缩比例\n * @default 1\n */\n @Input() thyShrink: ThyFlexShrink;\n\n /**\n * Flex Basis,设置或检索弹性盒伸缩基准值\n * @default 1\n */\n @Input() thyBasis: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (hasLaterChange(changes)) {\n this.updateClasses();\n }\n }\n\n private updateClasses() {\n const classes: string[] = [];\n this.hostRenderer.setStyle('flex', '');\n this.hostRenderer.setStyle('basis', '');\n if (this.thyFlexItem) {\n if (this.thyFlexItem === 'fill') {\n classes.push(`flex-${this.thyFlexItem}`);\n } else {\n this.hostRenderer.setStyle('flex', this.thyFlexItem);\n }\n }\n if (!isUndefinedOrNull(this.thyGrow)) {\n classes.push(`flex-grow-${this.thyGrow}`);\n }\n if (!isUndefinedOrNull(this.thyShrink)) {\n classes.push(`flex-shrink-${this.thyShrink}`);\n }\n if (!isUndefinedOrNull(this.thyBasis)) {\n this.hostRenderer.setStyle('flex-basis', this.thyBasis);\n }\n this.hostRenderer.updateClass(classes);\n }\n}\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-flex-item',\n template: `<ng-content></ng-content>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyFlexItem],\n hostDirectives: [\n {\n directive: ThyFlexItem,\n inputs: ['thyFlexItem', 'thyGrow', 'thyShrink', 'thyBasis']\n }\n ]\n})\nexport class ThyFlexItemComponent {}\n\nfunction normalizeStartEnd(value: string): string {\n return value === 'flex-start' ? 'start' : value === 'flex-end' ? 'end' : value;\n}\n","import { NgModule } from '@angular/core';\nimport { ThyRowDirective } from './thy-row.directive';\nimport { ThyColDirective } from './thy-col.directive';\nimport { ThyGrid, ThyGridComponent } from './thy-grid.component';\nimport { ThyGridItem } from './thy-grid-item.component';\nimport { ThyFlex, ThyFlexComponent, ThyFlexItem, ThyFlexItemComponent } from './flex';\n\n@NgModule({\n exports: [\n ThyGrid,\n ThyGridComponent,\n ThyGridItem,\n ThyRowDirective,\n ThyColDirective,\n ThyFlex,\n ThyFlexItem,\n ThyFlexComponent,\n ThyFlexItemComponent\n ],\n imports: [\n ThyGrid,\n ThyGridComponent,\n ThyGridItem,\n ThyRowDirective,\n ThyColDirective,\n ThyFlex,\n ThyFlexItem,\n ThyFlexComponent,\n ThyFlexItemComponent\n ]\n})\nexport class ThyGridModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAQA;;;;AAIG;MAQU,eAAe,CAAA;AAUxB,IAAA,WAAA,GAAA;AAJO,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,aAAa,CAAmB,CAAC,CAAC,CAAC;QAEtD,IAAY,CAAA,YAAA,GAAG,eAAe,EAAE,CAAC;KAEzB;IAEhB,QAAQ,GAAA;QACJ,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;IAED,WAAW,GAAA;QACP,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;AAED,IAAA,eAAe,MAAW;IAElB,cAAc,GAAA;QAClB,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;AAC5D,QAAA,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,KAAI;AAClD,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA,CAAA,EAAI,MAAM,GAAG,CAAC,CAAA,EAAA,CAAI,CAAC,CAAC;AACzD,SAAC,CAAC;AACF,QAAA,IAAI,gBAAgB,GAAG,CAAC,EAAE;AACtB,YAAA,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAC9C,YAAA,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;SAClD;AACD,QAAA,IAAI,cAAc,GAAG,CAAC,EAAE;AACpB,YAAA,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAC3C,YAAA,YAAY,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;SACjD;KACJ;IAEO,SAAS,GAAA;AACb,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC1B,YAAA,MAAM,KAAK,CAAC,CAAwC,sCAAA,CAAA,CAAC,CAAC;SACzD;AACD,QAAA,OAAO,CAAC,IAAI,CAAC,SAAmB,EAAE,CAAC,CAAC,CAAC;KACxC;8GA3CQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,SAAS;AACnB,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;wDAKY,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;ACTV;;;;AAIG;MAQU,eAAe,CAAA;AAP5B,IAAA,WAAA,GAAA;AAQI,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAE,CAAC;QAiBnE,IAAY,CAAA,YAAA,GAAG,eAAe,EAAE,CAAC;QAEjC,IAAkB,CAAA,kBAAA,GAAG,kBAAkB,EAAE,CAAC;AAiCrD,KAAA;AAxCG,IAAA,IAAI,IAAI,GAAA;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;QACzC,OAAO,IAAI,IAAI,EAAE,CAAC;KACrB;IAMD,QAAQ,GAAA;QACJ,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAED,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,KAAI;AAC9G,gBAAA,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,KAAI;AAClD,oBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA,EAAG,MAAM,GAAG,CAAC,CAAA,EAAA,CAAI,CAAC,CAAC;AACxD,iBAAC,CAAC;AACF,gBAAA,IAAI,gBAAgB,GAAG,CAAC,EAAE;AACtB,oBAAA,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAC/C,oBAAA,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;iBACnD;AACD,gBAAA,IAAI,cAAc,GAAG,CAAC,EAAE;AACpB,oBAAA,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAC5C,oBAAA,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;iBAClD;AACL,aAAC,CAAC,CAAC;SACN;KACJ;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;AAC/B,YAAA,CAAC,WAAW,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AACjC,SAAA,CAAC,CAAC;KACN;8GApDQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,SAAS;AACnB,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;8BAOY,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MCnCY,YAAY,CAAA;AAGjC,CAAA;AAEM,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAAe,oBAAoB,CAAC;;ACFxF;;;;AAIG;MAUU,WAAW,CAAA;AATxB,IAAA,WAAA,GAAA;AAUI,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACxB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE,CAAC;AAE/D;;;AAGG;QACM,IAAO,CAAA,OAAA,GAA0C,0BAA0B,CAAC;AAErF;;AAEG;QACM,IAAS,CAAA,SAAA,GAA0C,CAAC,CAAC;AAE7C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAY,CAAA,YAAA,GAAG,eAAe,EAAE,CAAC;QAElC,IAAI,CAAA,IAAA,GAAW,0BAA0B,CAAC;QAE1C,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;AAoB7B,KAAA;IAlBG,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACxF,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACN;IAEO,gBAAgB,GAAA;QACpB,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;AAErE,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA,KAAA,EAAQ,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC,CAAC;AAE/D,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CACtB,aAAa,EACb,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAA,MAAA,EAAS,IAAI,CAAC,IAAI,MAAM,IAAI,CAAA,MAAA,EAAS,IAAI,CAAC,MAAM,CAAG,CAAA,CAAA,GAAG,EAAE,CAChH,CAAC;KACL;8GAxCQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,0LAPV,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAO5B,WAAW,EAAA,UAAA,EAAA,CAAA;kBATvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,eAAe;AACzB,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;8BASY,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;ACLH,MAAM,wBAAwB,GAAG,GAAG;AAEpC,MAAM,0BAA0B,GAAG,EAAE;AAE/B,MAAA,oBAAoB,GAAG;AAChC,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,IAAI;EACV;AAEF;;;;AAIG;AAcH;MACa,OAAO,CAAA;AAdpB,IAAA,WAAA,GAAA;AAeY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAOhC;;;AAGG;QACM,IAAO,CAAA,OAAA,GAA0C,wBAAwB,CAAC;AAEnF;;AAEG;QACM,IAAO,CAAA,OAAA,GAA0C,CAAC,CAAC;AAE5D;;AAEG;QACM,IAAO,CAAA,OAAA,GAA0C,CAAC,CAAC;AAE5D;;AAEG;QACM,IAAM,CAAA,MAAA,GAA0C,CAAC,CAAC;AAE3D;;;;;AAKG;QACM,IAAa,CAAA,aAAA,GAA0B,MAAM,CAAC;QAE/C,IAAY,CAAA,YAAA,GAAG,eAAe,EAAE,CAAC;QAQjC,IAAQ,CAAA,QAAA,GAAG,OAAO,CAAC;AAIpB,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,OAAO,EAAQ,CAAC;QAE9C,IAAkB,CAAA,kBAAA,GAAG,kBAAkB,EAAE,CAAC;AAmIrD,KAAA;IAjIG,QAAQ,GAAA;QACJ,IAAI,CAAC,YAAY,EAAE,CAAC;AAEpB,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;KACJ;IAED,WAAW,CAAC,OAAsB,EAAA,GAAU;IAE5C,kBAAkB,GAAA;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;AAEvB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,MAAK;AAChE,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;IAEO,YAAY,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;QAC1G,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAChC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACxD,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACzB;aAAM;AACH,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,IAAI,CAAA,iBAAA,CAAmB,CAAC,CAAC;AAC5F,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,IAAI,CAAM,GAAA,EAAA,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;KACtE;IAEO,iBAAiB,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;AACjC,YAAA,IAAI,CAAC,aAAa;iBACb,MAAM,CAAC,GAAG,CAAC;AACX,iBAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBAC7B,SAAS,CAAC,MAAK;gBACZ,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC;gBAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;SACV;aAAM;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;gBAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;qBACjD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;qBAChD,SAAS,CAAC,IAAI,IAAG;oBACd,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC;oBAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3B,iBAAC,CAAC,CAAC;AACX,aAAC,CAAC,CAAC;SACN;KACJ;IAEO,eAAe,GAAA;QACnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAqB,KAAI;YAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;AAC5E,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;AAElE,YAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,YAAA,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;KACxC;IAEO,oBAAoB,CAAC,QAA+C,EAAE,YAAqB,EAAA;AAC/F,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE;AAChD,YAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC3B;aAAM;YACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAwC,CAAC,CAAC;YAChG,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAE5D,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,IAAI,UAAU,EAAE;AAC7C,gBAAA,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;aACzC;AAAM,iBAAA,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACrC,gBAAA,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;aAClC;iBAAM;gBACH,OAAO,YAAY,IAAI,CAAC,CAAC;aAC5B;SACJ;KACJ;AAEO,IAAA,qBAAqB,CAAC,eAAuB,EAAA;AACjD,QAAA,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAA8B,EAAE,IAAY,KAAI;AACtF,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;AACrC,gBAAA,IAAI,GAAG,CAAA,EAAA,EAAK,IAAI,CAAA,CAAE,CAAC;aACtB;AACD,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,YAAA,OAAO,GAAG,CAAC;SACd,EAAE,EAAE,CAAC,CAAC;KACV;AAEO,IAAA,mBAAmB,CAAC,cAAwB,EAAA;AAChD,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;AACjC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC;YAC1F,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,KAAa,KAAI;AACtD,gBAAA,OAAO,KAAK,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;AACpC,sBAAE,KAAK,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,oBAAoB,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC/F,sBAAE,KAAK,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAC7C,aAAC,CAAC,CAAC;SACN;aAAM;AACH,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;YAC3G,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,KAAa,KAAI;AACtD,gBAAA,OAAO,KAAK,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;AACpC,sBAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACnE,sBAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,aAAC,CAAC,CAAC;SACN;KACJ;AAEO,IAAA,kBAAkB,CAAC,OAAoB,EAAA;AAC3C,QAAA,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAG;YAC7B,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,CAAC,OAA8B,KAAI;AACjE,gBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3B,aAAC,CAAC,CAAC;AACH,YAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxB,YAAA,OAAO,MAAK;gBACR,MAAM,CAAC,UAAU,EAAE,CAAC;AACxB,aAAC,CAAC;AACN,SAAC,CAAC,CAAC;KACN;8GAvLQ,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EAZL,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,OAAO;AACvB,aAAA;AACJ,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAegB,WAAW,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FARnB,OAAO,EAAA,UAAA,EAAA,CAAA;kBAdnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAS,OAAA;AACvB,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,UAAU;AACpB,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;8BAUiC,SAAS,EAAA,CAAA;sBAAtC,eAAe;uBAAC,WAAW,CAAA;gBAMnB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAQG,aAAa,EAAA,CAAA;sBAArB,KAAK;;AAqJV;;AAEG;MAoBU,gBAAgB,CAAA;AAnB7B,IAAA,WAAA,GAAA;AAoBI,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAC1B,KAAA;8GAFY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAbd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,OAAO;AACvB,aAAA;SACJ,EAxMQ,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAO,+JA+LN,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAiB5B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAnB5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,OAAO,CAAC;AAClB,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,OAAO;AACvB,yBAAA;AACJ,qBAAA;AACD,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,OAAO;4BAClB,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC;AACvE,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;AAKD,SAAS,UAAU,CAAC,IAA8D,EAAA;AAC9E,IAAA,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,GAAG,0BAA0B,GAAG,IAAI,CAAC;AACnF;;AC5PA;;;;AAIG;AAQH;MACa,OAAO,CAAA;AA+BhB,IAAA,IAAI,SAAS,GAAA;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;QACzD,OAAO,SAAS,IAAI,KAAK,CAAC;KAC7B;AAED,IAAA,WAAA,GAAA;QAnCQ,IAAY,CAAA,YAAA,GAAG,eAAe,EAAE,CAAC;KAmCzB;IAEhB,QAAQ,GAAA;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;KACJ;IAEO,aAAa,GAAA;QACjB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAC5C,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,gBAAA,EAAmB,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAE,CAAA,CAAC,CAAC;SAChF;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;AACxC,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAE,CAAA,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,SAAS,CAAE,CAAA,CAAC,CAAC;SAC1C;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAG,EAAA,IAAI,CAAC,MAAM,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC,CAAC;KAChE;8GAhEQ,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBARnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iBAAiB;AAC3B,qBAAA;AACJ,iBAAA,CAAA;wDASY,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAMG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAMG,MAAM,EAAA,CAAA;sBAAd,KAAK;;AAsCV;;AAEG;MAcU,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAnFhB,OAAO,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAAA,SAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAwEN,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAW5B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,CAA2B,yBAAA,CAAA;AACrC,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,OAAO;4BAClB,MAAM,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,QAAQ,CAAC;AACtF,yBAAA;AACJ,qBAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;AACrB,iBAAA,CAAA;;AAGD;;;;AAIG;AAQH;MACa,WAAW,CAAA;AAyBpB,IAAA,WAAA,GAAA;QAxBQ,IAAY,CAAA,YAAA,GAAG,eAAe,EAAE,CAAC;KAwBzB;IAEhB,QAAQ,GAAA;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;KACJ;IAEO,aAAa,GAAA;QACjB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACxC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,WAAW,CAAE,CAAA,CAAC,CAAC;aAC5C;iBAAM;gBACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACxD;SACJ;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,SAAS,CAAE,CAAA,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3D;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC1C;8GA1DQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBARvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,eAAe;AACzB,qBAAA;AACJ,iBAAA,CAAA;wDAQY,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAMG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;AAsCV;;AAEG;MAcU,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EA7EpB,WAAW,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAkEV,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAW5B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,CAA2B,yBAAA,CAAA;AACrC,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,WAAW,CAAC;AACtB,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,WAAW;4BACtB,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;AAC9D,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;AAGD,SAAS,iBAAiB,CAAC,KAAa,EAAA;IACpC,OAAO,KAAK,KAAK,YAAY,GAAG,OAAO,GAAG,KAAK,KAAK,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;AACnF;;MCtLa,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAXlB,OAAO;YACP,gBAAgB;YAChB,WAAW;YACX,eAAe;YACf,eAAe;YACf,OAAO;YACP,WAAW;YACX,gBAAgB;AAChB,YAAA,oBAAoB,aAnBpB,OAAO;YACP,gBAAgB;YAChB,WAAW;YACX,eAAe;YACf,eAAe;YACf,OAAO;YACP,WAAW;YACX,gBAAgB;YAChB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAcf,aAAa,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAxBzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,OAAO;wBACP,gBAAgB;wBAChB,WAAW;wBACX,eAAe;wBACf,eAAe;wBACf,OAAO;wBACP,WAAW;wBACX,gBAAgB;wBAChB,oBAAoB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,OAAO;wBACP,gBAAgB;wBAChB,WAAW;wBACX,eAAe;wBACf,eAAe;wBACf,OAAO;wBACP,WAAW;wBACX,gBAAgB;wBAChB,oBAAoB;AACvB,qBAAA;AACJ,iBAAA,CAAA;;;AC9BD;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-tethys-grid.mjs","sources":["../../../src/grid/thy-row.directive.ts","../../../src/grid/thy-col.directive.ts","../../../src/grid/grid.token.ts","../../../src/grid/thy-grid-item.component.ts","../../../src/grid/thy-grid.component.ts","../../../src/grid/flex.ts","../../../src/grid/module.ts","../../../src/grid/ngx-tethys-grid.ts"],"sourcesContent":["import { Directive, Input, OnChanges, OnInit, AfterViewInit, OnDestroy, ChangeDetectionStrategy } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { isString } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nexport type ThyRowJustify = 'start' | 'end' | 'center' | 'space-around' | 'space-between';\nexport type ThyRowAlign = 'top' | 'middle' | 'bottom';\n\n/**\n * 栅格行指令\n * @name thyRow\n * @order 30\n */\n@Directive({\n selector: '[thyRow]',\n host: {\n class: 'thy-row'\n },\n standalone: true\n})\nexport class ThyRowDirective implements OnInit, OnChanges, AfterViewInit {\n /**\n * 栅格的间距\n */\n @Input() thyGutter: number | { xs?: number; sm?: number; md?: number; lg?: number; xl?: number; xxl?: number };\n\n public actualGutter$ = new ReplaySubject<[number, number]>(1);\n\n private hostRenderer = useHostRenderer();\n\n constructor() {}\n\n ngOnInit() {\n this.setGutterStyle();\n }\n\n ngOnChanges() {\n this.setGutterStyle();\n }\n\n ngAfterViewInit(): void {}\n\n private setGutterStyle() {\n const [horizontalGutter, verticalGutter] = this.getGutter();\n this.actualGutter$.next([horizontalGutter, verticalGutter]);\n const renderGutter = (name: string, gutter: number) => {\n this.hostRenderer.setStyle(name, `-${gutter / 2}px`);\n };\n if (horizontalGutter > 0) {\n renderGutter('margin-left', horizontalGutter);\n renderGutter('margin-right', horizontalGutter);\n }\n if (verticalGutter > 0) {\n renderGutter('margin-top', verticalGutter);\n renderGutter('margin-bottom', verticalGutter);\n }\n }\n\n private getGutter() {\n if (isString(this.thyGutter)) {\n throw Error(`thyGutter value can not be string type`);\n }\n return [this.thyGutter as number, 0];\n }\n}\n","import { Directive, Input, OnChanges, AfterViewInit, OnInit, SimpleChanges, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyRowDirective } from './thy-row.directive';\n\nexport interface ThyColEmbeddedProperty {\n span?: number;\n pull?: number;\n push?: number;\n offset?: number;\n order?: number;\n}\n\nexport type ThySpan = number | null | 'auto';\n\n/**\n * 栅格列指令\n * @name thyCol\n * @order 35\n */\n@Directive({\n selector: '[thyCol]',\n host: {\n class: 'thy-col'\n },\n standalone: true\n})\nexport class ThyColDirective implements OnInit, OnChanges, AfterViewInit {\n thyRowDirective = inject(ThyRowDirective, { optional: true, host: true })!;\n\n /**\n * 栅格项的占位列数,thySpan 如果传递了值,以 thySpan 为准\n */\n @Input() thyCol: ThySpan;\n\n /**\n * 栅格项的占位列数\n */\n @Input() thySpan: ThySpan;\n\n get span() {\n const span = this.thySpan ?? this.thyCol;\n return span || 24;\n }\n\n private hostRenderer = useHostRenderer();\n\n private takeUntilDestroyed = takeUntilDestroyed();\n\n ngOnInit() {\n this.updateHostClass();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateHostClass();\n }\n\n ngAfterViewInit(): void {\n if (this.thyRowDirective) {\n this.thyRowDirective.actualGutter$.pipe(this.takeUntilDestroyed).subscribe(([horizontalGutter, verticalGutter]) => {\n const renderGutter = (name: string, gutter: number) => {\n this.hostRenderer.setStyle(name, `${gutter / 2}px`);\n };\n if (horizontalGutter > 0) {\n renderGutter('padding-left', horizontalGutter);\n renderGutter('padding-right', horizontalGutter);\n }\n if (verticalGutter > 0) {\n renderGutter('padding-top', verticalGutter);\n renderGutter('padding-bottom', verticalGutter);\n }\n });\n }\n }\n\n private updateHostClass() {\n this.hostRenderer.updateClassByMap({\n [`thy-col-${this.span}`]: true\n });\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport abstract class ThyGridToken {\n xGap: number;\n gridItemPropValueChange$: Subject<void>;\n}\n\nexport const THY_GRID_COMPONENT = new InjectionToken<ThyGridToken>('THY_GRID_COMPONENT');\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, inject, DestroyRef } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ThyGridToken, THY_GRID_COMPONENT } from './grid.token';\nimport { ThyGridResponsiveDescription, THY_GRID_ITEM_DEFAULT_SPAN } from './thy-grid.component';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * 栅格项组件\n * @name thy-grid-item,[thyGridItem]\n * @order 15\n */\n@Component({\n selector: 'thy-grid-item,[thyGridItem]',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-grid-item'\n },\n standalone: true\n})\nexport class ThyGridItem implements OnInit {\n elementRef = inject(ElementRef);\n private grid = inject(THY_GRID_COMPONENT, { optional: true })!;\n\n /**\n * 栅格项的占位列数,为 0 时会隐藏该栅格项\n * @default 1\n */\n @Input() thySpan: number | ThyGridResponsiveDescription = THY_GRID_ITEM_DEFAULT_SPAN;\n\n /**\n * 栅格项左侧的偏移列数\n */\n @Input() thyOffset: number | ThyGridResponsiveDescription = 0;\n\n private readonly destroyRef = inject(DestroyRef);\n\n private hostRenderer = useHostRenderer();\n\n public span: number = THY_GRID_ITEM_DEFAULT_SPAN;\n\n public offset: number = 0;\n\n ngOnInit(): void {\n this.grid.gridItemPropValueChange$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.setGridItemStyle();\n });\n }\n\n private setGridItemStyle() {\n const xGap: number = this.grid?.xGap || 0;\n\n this.hostRenderer.setStyle('display', this.span === 0 ? 'none' : '');\n\n this.hostRenderer.setStyle('grid-column', `span ${this.span}`);\n\n this.hostRenderer.setStyle(\n 'margin-left',\n this.offset ? `calc(((100% - ${(this.span - 1) * xGap}px) / ${this.span} + ${xGap}px) * ${this.offset})` : ''\n );\n }\n}\n","import { ViewportRuler } from '@angular/cdk/scrolling';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, Subject } from 'rxjs';\nimport { throttleTime } from 'rxjs/operators';\nimport { ThyGridToken, THY_GRID_COMPONENT } from './grid.token';\nimport { ThyGridItem } from './thy-grid-item.component';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { hasLaterChange } from 'ngx-tethys/util';\n\nexport type ThyGridResponsiveMode = 'none' | 'self' | 'screen';\n\nexport type ThyGridResponsiveDescription = string;\n\nexport const THY_GRID_DEFAULT_COLUMNS = 24;\n\nexport const THY_GRID_ITEM_DEFAULT_SPAN = 1;\n\nexport const screenBreakpointsMap = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\n/**\n * 栅格组件\n * @name thy-grid, [thyGrid]\n * @order 10\n */\n@Directive({\n selector: '[thyGrid]',\n providers: [\n {\n provide: THY_GRID_COMPONENT,\n useExisting: ThyGrid\n }\n ],\n host: {\n class: 'thy-grid'\n },\n standalone: true\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ThyGrid implements ThyGridToken, OnInit, OnChanges, AfterContentInit {\n private elementRef = inject(ElementRef);\n private viewportRuler = inject(ViewportRuler);\n private ngZone = inject(NgZone);\n\n /**\n * @internal\n */\n @ContentChildren(ThyGridItem) gridItems!: QueryList<ThyGridItem>;\n\n /**\n * 栅格的列数\n * @default 24\n */\n @Input() thyCols: number | ThyGridResponsiveDescription = THY_GRID_DEFAULT_COLUMNS;\n\n /**\n * 栅格的水平间隔\n */\n @Input() thyXGap: number | ThyGridResponsiveDescription = 0;\n\n /**\n * 栅格的垂直间隔\n */\n @Input() thyYGap: number | ThyGridResponsiveDescription = 0;\n\n /**\n * 栅格的水平和垂直间隔\n */\n @Input() thyGap: number | ThyGridResponsiveDescription = 0;\n\n /**\n * 响应式栅格列数<br/>\n * none: 不进行响应式布局。<br/>\n * self:根据grid的自身宽度进行响应式布局。<br/>\n * screen:根据屏幕断点进行响应式布局,目前预设了5种响应式尺寸:`xs: 0, sm: 576, md: 768, lg: 992, xl: 1200`。\n */\n @Input() thyResponsive: ThyGridResponsiveMode = 'none';\n\n private hostRenderer = useHostRenderer();\n\n private cols: number;\n\n public xGap: number;\n\n private yGap: number;\n\n private numRegex = /^\\d+$/;\n\n private responsiveContainerWidth: number;\n\n public gridItemPropValueChange$ = new Subject<void>();\n\n private takeUntilDestroyed = takeUntilDestroyed();\n\n ngOnInit(): void {\n this.setGridStyle();\n\n if (this.thyResponsive !== 'none') {\n this.listenResizeEvent();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {}\n\n ngAfterContentInit(): void {\n this.handleGridItems();\n\n this.gridItems.changes.pipe(this.takeUntilDestroyed).subscribe(() => {\n Promise.resolve().then(() => {\n this.handleGridItems();\n });\n });\n }\n\n private setGridStyle() {\n this.cols = this.calculateActualValue(this.thyCols || THY_GRID_DEFAULT_COLUMNS, THY_GRID_DEFAULT_COLUMNS);\n if (!this.thyXGap && !this.thyYGap) {\n this.xGap = this.calculateActualValue(this.thyGap || 0);\n this.yGap = this.xGap;\n } else {\n this.xGap = this.calculateActualValue(this.thyXGap || this.thyGap);\n this.yGap = this.calculateActualValue(this.thyYGap || this.thyGap);\n }\n\n this.hostRenderer.setStyle('display', 'grid');\n this.hostRenderer.setStyle('grid-template-columns', `repeat(${this.cols}, minmax(0, 1fr))`);\n this.hostRenderer.setStyle('gap', `${this.yGap}px ${this.xGap}px`);\n }\n\n private listenResizeEvent() {\n if (this.thyResponsive === 'screen') {\n this.viewportRuler\n .change(100)\n .pipe(this.takeUntilDestroyed)\n .subscribe(() => {\n this.responsiveContainerWidth = this.viewportRuler.getViewportSize().width;\n this.setGridStyle();\n this.handleGridItems();\n });\n } else {\n this.ngZone.runOutsideAngular(() => {\n this.gridResizeObserver(this.elementRef.nativeElement)\n .pipe(throttleTime(100), this.takeUntilDestroyed)\n .subscribe(data => {\n this.responsiveContainerWidth = data[0]?.contentRect?.width;\n this.setGridStyle();\n this.handleGridItems();\n });\n });\n }\n }\n\n private handleGridItems() {\n this.gridItems.forEach((gridItem: ThyGridItem) => {\n const rawSpan = getRawSpan(gridItem.thySpan);\n const span = this.calculateActualValue(rawSpan, THY_GRID_ITEM_DEFAULT_SPAN);\n const offset = this.calculateActualValue(gridItem.thyOffset || 0);\n\n gridItem.span = Math.min(span + offset, this.cols);\n gridItem.offset = offset;\n });\n\n this.gridItemPropValueChange$.next();\n }\n\n private calculateActualValue(rawValue: number | ThyGridResponsiveDescription, defaultValue?: number): number {\n if (this.numRegex.test(rawValue.toString().trim())) {\n return Number(rawValue);\n } else {\n const responsiveValueMap = this.getResponsiveValueMap(rawValue as ThyGridResponsiveDescription);\n const breakpointKeys = Object.keys(responsiveValueMap);\n const breakpoint = this.calculateBreakPoint(breakpointKeys);\n\n if (this.thyResponsive !== 'none' && breakpoint) {\n return responsiveValueMap[breakpoint];\n } else if (breakpointKeys.includes('0')) {\n return responsiveValueMap['0'];\n } else {\n return defaultValue || 0;\n }\n }\n }\n\n private getResponsiveValueMap(responsiveValue: string): { [key: string]: number } {\n return responsiveValue.split(' ').reduce((map: { [key: string]: number }, item: string) => {\n if (this.numRegex.test(item.toString())) {\n item = `0:${item}`;\n }\n const [key, value] = item.split(':');\n map[key] = Number(value);\n return map;\n }, {});\n }\n\n private calculateBreakPoint(breakpointKeys: string[]): string {\n if (this.thyResponsive === 'screen') {\n const width = this.responsiveContainerWidth || this.viewportRuler.getViewportSize().width;\n return breakpointKeys.find((key: string, index: number) => {\n return index < breakpointKeys.length - 1\n ? width >= screenBreakpointsMap[key] && width < screenBreakpointsMap[breakpointKeys[index + 1]]\n : width >= screenBreakpointsMap[key];\n });\n } else {\n const width = this.responsiveContainerWidth || this.elementRef.nativeElement.getBoundingClientRect().width;\n return breakpointKeys.find((key: string, index: number) => {\n return index < breakpointKeys.length - 1\n ? width >= Number(key) && width < Number(breakpointKeys[index + 1])\n : width >= Number(key);\n });\n }\n }\n\n private gridResizeObserver(element: HTMLElement): Observable<ResizeObserverEntry[]> {\n return new Observable(observer => {\n const resize = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n}\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-grid',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ThyGrid],\n providers: [\n {\n provide: THY_GRID_COMPONENT,\n useExisting: ThyGrid\n }\n ],\n hostDirectives: [\n {\n directive: ThyGrid,\n inputs: ['thyCols', 'thyXGap', 'thyYGap', 'thyGap', 'thyResponsive']\n }\n ]\n})\nexport class ThyGridComponent {\n grid = inject(ThyGrid);\n}\n\nfunction getRawSpan(span: number | ThyGridResponsiveDescription | undefined | null): number | ThyGridResponsiveDescription {\n return span === undefined || span === null ? THY_GRID_ITEM_DEFAULT_SPAN : span;\n}\n","import { ChangeDetectionStrategy, Component, Directive, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { isUndefinedOrNull } from '@tethys/cdk/is';\nimport { hasLaterChange } from 'ngx-tethys/util';\n\nexport type ThyFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\nexport type ThyFlexWrap = 'nowrap' | 'wrap' | 'wrap-reverse';\nexport type ThyFlexJustifyContent =\n | 'start'\n | 'end'\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'initial'\n | 'inherit';\nexport type ThyFlexAlignItems = 'start' | 'end' | 'stretch' | 'center' | 'flex-start' | 'flex-end' | 'baseline' | 'initial' | 'inherit';\nexport type ThyFlexGrow = '1' | '0' | 0 | 1;\nexport type ThyFlexShrink = '1' | '0' | 0 | 1;\n\n/**\n * 设置容器为 Flex 布局组件\n * @name thy-flex, [thyFlex]\n * @order 20\n */\n@Directive({\n selector: '[thyFlex]',\n standalone: true,\n host: {\n class: 'thy-flex d-flex'\n }\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ThyFlex implements OnInit, OnChanges {\n private hostRenderer = useHostRenderer();\n\n /**\n * Flex 方向,为 row 或者 column\n * @default row\n */\n @Input() thyDirection: ThyFlexDirection;\n\n /**\n * Flex Wrap\n * @default nowrap\n */\n @Input() thyWrap: ThyFlexWrap;\n\n /**\n * Justify Content\n */\n @Input() thyJustifyContent: ThyFlexJustifyContent;\n\n /**\n * Align Items\n */\n @Input() thyAlignItems: ThyFlexAlignItems;\n\n /**\n * Flex Item 之间的间隙 Gap\n * @default 0\n */\n @Input() thyGap: number;\n\n get direction() {\n const direction = this.thyDirection ?? this.thyDirection;\n return direction || 'row';\n }\n\n constructor() {}\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (hasLaterChange(changes)) {\n this.updateClasses();\n }\n }\n\n private updateClasses() {\n const classes: string[] = [];\n if (!isUndefinedOrNull(this.thyJustifyContent)) {\n classes.push(`justify-content-${normalizeStartEnd(this.thyJustifyContent)}`);\n }\n if (!isUndefinedOrNull(this.thyAlignItems)) {\n classes.push(`align-items-${normalizeStartEnd(this.thyAlignItems)}`);\n }\n if (!isUndefinedOrNull(this.thyWrap)) {\n classes.push(`flex-${this.thyWrap}`);\n }\n if (!isUndefinedOrNull(this.direction)) {\n classes.push(`flex-${this.direction}`);\n }\n this.hostRenderer.updateClass(classes);\n this.hostRenderer.setStyle('gap', `${this.thyGap ?? '0'}px`);\n }\n}\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-flex',\n template: `<ng-content></ng-content>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ThyFlex,\n inputs: ['thyDirection', 'thyWrap', 'thyJustifyContent', 'thyAlignItems', 'thyGap']\n }\n ],\n imports: [ThyFlex]\n})\nexport class ThyFlexComponent {}\n\n/**\n * 设置为 Flex Item 组件\n * @name thy-flex-item, [thyFlexItem]\n * @order 25\n */\n@Directive({\n selector: '[thyFlexItem]',\n standalone: true,\n host: {\n class: 'thy-flex-item'\n }\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ThyFlexItem implements OnInit, OnChanges {\n private hostRenderer = useHostRenderer();\n\n /**\n * Flex Item 属性,表示 grow 、shrink 、basis\n */\n @Input() thyFlexItem: 'fill' | string;\n\n /**\n * Flew Grow,设置或检索弹性盒子的扩展比率,设置 1 为填充剩余区域\n */\n @Input() thyGrow: ThyFlexGrow;\n\n /**\n * Flex Shrink,设置或检索弹性盒收缩比例\n * @default 1\n */\n @Input() thyShrink: ThyFlexShrink;\n\n /**\n * Flex Basis,设置或检索弹性盒伸缩基准值\n * @default 1\n */\n @Input() thyBasis: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (hasLaterChange(changes)) {\n this.updateClasses();\n }\n }\n\n private updateClasses() {\n const classes: string[] = [];\n this.hostRenderer.setStyle('flex', '');\n this.hostRenderer.setStyle('basis', '');\n if (this.thyFlexItem) {\n if (this.thyFlexItem === 'fill') {\n classes.push(`flex-${this.thyFlexItem}`);\n } else {\n this.hostRenderer.setStyle('flex', this.thyFlexItem);\n }\n }\n if (!isUndefinedOrNull(this.thyGrow)) {\n classes.push(`flex-grow-${this.thyGrow}`);\n }\n if (!isUndefinedOrNull(this.thyShrink)) {\n classes.push(`flex-shrink-${this.thyShrink}`);\n }\n if (!isUndefinedOrNull(this.thyBasis)) {\n this.hostRenderer.setStyle('flex-basis', this.thyBasis);\n }\n this.hostRenderer.updateClass(classes);\n }\n}\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-flex-item',\n template: `<ng-content></ng-content>`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyFlexItem],\n hostDirectives: [\n {\n directive: ThyFlexItem,\n inputs: ['thyFlexItem', 'thyGrow', 'thyShrink', 'thyBasis']\n }\n ]\n})\nexport class ThyFlexItemComponent {}\n\nfunction normalizeStartEnd(value: string): string {\n return value === 'flex-start' ? 'start' : value === 'flex-end' ? 'end' : value;\n}\n","import { NgModule } from '@angular/core';\nimport { ThyRowDirective } from './thy-row.directive';\nimport { ThyColDirective } from './thy-col.directive';\nimport { ThyGrid, ThyGridComponent } from './thy-grid.component';\nimport { ThyGridItem } from './thy-grid-item.component';\nimport { ThyFlex, ThyFlexComponent, ThyFlexItem, ThyFlexItemComponent } from './flex';\n\n@NgModule({\n exports: [\n ThyGrid,\n ThyGridComponent,\n ThyGridItem,\n ThyRowDirective,\n ThyColDirective,\n ThyFlex,\n ThyFlexItem,\n ThyFlexComponent,\n ThyFlexItemComponent\n ],\n imports: [\n ThyGrid,\n ThyGridComponent,\n ThyGridItem,\n ThyRowDirective,\n ThyColDirective,\n ThyFlex,\n ThyFlexItem,\n ThyFlexComponent,\n ThyFlexItemComponent\n ]\n})\nexport class ThyGridModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -40,10 +40,10 @@ class ThyGuiderManager {
40
40
  guiderRef: this.thyGuiderRef
41
41
  };
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderManager, providedIn: 'root' }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderManager, providedIn: 'root' }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderManager, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderManager, decorators: [{
47
47
  type: Injectable,
48
48
  args: [{
49
49
  providedIn: 'root'
@@ -482,10 +482,10 @@ class ThyGuider {
482
482
  }
483
483
  }
484
484
  }
485
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
486
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuider, providedIn: 'root' }); }
485
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
486
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuider, providedIn: 'root' }); }
487
487
  }
488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuider, decorators: [{
488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuider, decorators: [{
489
489
  type: Injectable,
490
490
  args: [{
491
491
  providedIn: 'root'
@@ -523,10 +523,10 @@ class ThyGuiderTargetDirective {
523
523
  }
524
524
  this.guiderManager.removeStepTarget(this.target);
525
525
  }
526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
527
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyGuiderTargetDirective, isStandalone: true, selector: "[thyGuiderTarget]", inputs: { target: ["thyGuiderTarget", "target"] }, exportAs: ["thyGuiderTarget"], ngImport: i0 }); }
526
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
527
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ThyGuiderTargetDirective, isStandalone: true, selector: "[thyGuiderTarget]", inputs: { target: ["thyGuiderTarget", "target"] }, exportAs: ["thyGuiderTarget"], ngImport: i0 }); }
528
528
  }
529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderTargetDirective, decorators: [{
529
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderTargetDirective, decorators: [{
530
530
  type: Directive,
531
531
  args: [{
532
532
  selector: '[thyGuiderTarget]',
@@ -572,10 +572,10 @@ class ThyGuiderHint {
572
572
  trackByFn(index, step) {
573
573
  return step.key || index;
574
574
  }
575
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderHint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
576
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyGuiderHint, isStandalone: true, selector: "thy-guider-hint", host: { properties: { "class.thy-guider-tip-container": "this.guiderHint" } }, ngImport: i0, template: "<div class=\"thy-guider-tip-top\">\n <img [src]=\"stepRef.step.data.image\" [alt]=\"stepRef.step.data.title\" />\n <a href=\"javascript:;\" class=\"thy-guider-tip-top-btn\" (click)=\"jump()\">{{ locale().skip }}</a>\n</div>\n<div class=\"thy-guider-tip-content\">\n <div class=\"thy-guider-tip-content-title\">{{ stepRef.step.data.title }}</div>\n <div class=\"thy-guider-tip-content-description\">\n @if (descriptionTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n } @else {\n {{ descriptionString }}\n }\n </div>\n <div class=\"thy-guider-tip-step\">\n <div class=\"thy-guider-tip-step-pagination\">\n @for (step of guiderRef.steps; track trackByFn(i, step); let i = $index) {\n <span class=\"pagination-item\" [ngClass]=\"{ active: i === stepRef.stepIndex }\"></span>\n }\n </div>\n <div class=\"thy-guider-tip-step-btn\">\n @if (stepRef.stepIndex !== 0) {\n <a href=\"javascript:;\" (click)=\"prev()\" class=\"thy-guider-tip-step-pre\">{{ locale().prev }}</a>\n }\n @if (stepRef.stepIndex !== guiderRef.steps.length - 1) {\n <a href=\"javascript:;\" (click)=\"next()\" class=\"thy-guider-tip-step-next\">{{ locale().next }}</a>\n } @else {\n <a href=\"javascript:;\" (click)=\"end()\" class=\"thy-guider-tip-step-next\">{{ locale().finish }}</a>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
575
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderHint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
576
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ThyGuiderHint, isStandalone: true, selector: "thy-guider-hint", host: { properties: { "class.thy-guider-tip-container": "this.guiderHint" } }, ngImport: i0, template: "<div class=\"thy-guider-tip-top\">\n <img [src]=\"stepRef.step.data.image\" [alt]=\"stepRef.step.data.title\" />\n <a href=\"javascript:;\" class=\"thy-guider-tip-top-btn\" (click)=\"jump()\">{{ locale().skip }}</a>\n</div>\n<div class=\"thy-guider-tip-content\">\n <div class=\"thy-guider-tip-content-title\">{{ stepRef.step.data.title }}</div>\n <div class=\"thy-guider-tip-content-description\">\n @if (descriptionTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n } @else {\n {{ descriptionString }}\n }\n </div>\n <div class=\"thy-guider-tip-step\">\n <div class=\"thy-guider-tip-step-pagination\">\n @for (step of guiderRef.steps; track trackByFn(i, step); let i = $index) {\n <span class=\"pagination-item\" [ngClass]=\"{ active: i === stepRef.stepIndex }\"></span>\n }\n </div>\n <div class=\"thy-guider-tip-step-btn\">\n @if (stepRef.stepIndex !== 0) {\n <a href=\"javascript:;\" (click)=\"prev()\" class=\"thy-guider-tip-step-pre\">{{ locale().prev }}</a>\n }\n @if (stepRef.stepIndex !== guiderRef.steps.length - 1) {\n <a href=\"javascript:;\" (click)=\"next()\" class=\"thy-guider-tip-step-next\">{{ locale().next }}</a>\n } @else {\n <a href=\"javascript:;\" (click)=\"end()\" class=\"thy-guider-tip-step-next\">{{ locale().finish }}</a>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
577
577
  }
578
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderHint, decorators: [{
578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderHint, decorators: [{
579
579
  type: Component,
580
580
  args: [{ selector: 'thy-guider-hint', standalone: true, imports: [NgTemplateOutlet, NgClass], template: "<div class=\"thy-guider-tip-top\">\n <img [src]=\"stepRef.step.data.image\" [alt]=\"stepRef.step.data.title\" />\n <a href=\"javascript:;\" class=\"thy-guider-tip-top-btn\" (click)=\"jump()\">{{ locale().skip }}</a>\n</div>\n<div class=\"thy-guider-tip-content\">\n <div class=\"thy-guider-tip-content-title\">{{ stepRef.step.data.title }}</div>\n <div class=\"thy-guider-tip-content-description\">\n @if (descriptionTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n } @else {\n {{ descriptionString }}\n }\n </div>\n <div class=\"thy-guider-tip-step\">\n <div class=\"thy-guider-tip-step-pagination\">\n @for (step of guiderRef.steps; track trackByFn(i, step); let i = $index) {\n <span class=\"pagination-item\" [ngClass]=\"{ active: i === stepRef.stepIndex }\"></span>\n }\n </div>\n <div class=\"thy-guider-tip-step-btn\">\n @if (stepRef.stepIndex !== 0) {\n <a href=\"javascript:;\" (click)=\"prev()\" class=\"thy-guider-tip-step-pre\">{{ locale().prev }}</a>\n }\n @if (stepRef.stepIndex !== guiderRef.steps.length - 1) {\n <a href=\"javascript:;\" (click)=\"next()\" class=\"thy-guider-tip-step-next\">{{ locale().next }}</a>\n } @else {\n <a href=\"javascript:;\" (click)=\"end()\" class=\"thy-guider-tip-step-next\">{{ locale().finish }}</a>\n }\n </div>\n </div>\n</div>\n" }]
581
581
  }], ctorParameters: () => [], propDecorators: { guiderHint: [{
@@ -585,11 +585,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
585
585
  defaultGuiderPositionConfig.hintComponent = ThyGuiderHint;
586
586
 
587
587
  class ThyGuiderModule {
588
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
589
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule, ThyGuiderHint, ThyGuiderTargetDirective], exports: [ThyGuiderHint, ThyGuiderTargetDirective] }); }
590
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderModule, providers: [ThyGuider], imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule] }); }
588
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
589
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule, ThyGuiderHint, ThyGuiderTargetDirective], exports: [ThyGuiderHint, ThyGuiderTargetDirective] }); }
590
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderModule, providers: [ThyGuider], imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule] }); }
591
591
  }
592
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyGuiderModule, decorators: [{
592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyGuiderModule, decorators: [{
593
593
  type: NgModule,
594
594
  args: [{
595
595
  imports: [CommonModule, ThySharedModule, ThyIconModule, ThyButtonModule, ThyPopoverModule, ThyGuiderHint, ThyGuiderTargetDirective],