ngx-register-base 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/esm2022/lib/components/checkbox-selector/checkbox-selector.component.mjs +129 -0
  2. package/esm2022/lib/components/checkbox-selector/checkbox-selector.types.mjs +8 -0
  3. package/esm2022/lib/components/column-settings/column-settings.component.mjs +249 -0
  4. package/esm2022/lib/components/column-settings/components/column-settings-template/column-settings-template.component.mjs +80 -0
  5. package/esm2022/lib/components/column-settings/consts/column-settings.consts.mjs +10 -0
  6. package/esm2022/lib/components/column-settings/index.mjs +3 -0
  7. package/esm2022/lib/components/column-settings/types/column-settings.types.mjs +7 -0
  8. package/esm2022/lib/components/divider/divider.component.mjs +16 -0
  9. package/esm2022/lib/components/filter-button/filter-button.component.mjs +19 -0
  10. package/esm2022/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.mjs +31 -0
  11. package/esm2022/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.mjs +57 -0
  12. package/esm2022/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.mjs +110 -0
  13. package/esm2022/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.mjs +130 -0
  14. package/esm2022/lib/components/filters/components/filter-list/filter-list.service.mjs +89 -0
  15. package/esm2022/lib/components/filters/components/filter-list/filters-section/filters-section.component.mjs +41 -0
  16. package/esm2022/lib/components/filters/components/filter-list.module.mjs +45 -0
  17. package/esm2022/lib/components/filters/index.mjs +3 -0
  18. package/esm2022/lib/components/filters/register-table-filter.component.mjs +155 -0
  19. package/esm2022/lib/components/filters/register-table-filter.module.mjs +39 -0
  20. package/esm2022/lib/components/index.mjs +11 -0
  21. package/esm2022/lib/components/inputs/index.mjs +20 -0
  22. package/esm2022/lib/components/inputs/inputs.module.mjs +166 -0
  23. package/esm2022/lib/components/inputs/param-calendar-year/param-calendar-year.component.mjs +45 -0
  24. package/esm2022/lib/components/inputs/param-custom/param-custom.component.mjs +12 -0
  25. package/esm2022/lib/components/inputs/param-date/param-date.component.mjs +76 -0
  26. package/esm2022/lib/components/inputs/param-date-range/param-date-range.component.mjs +60 -0
  27. package/esm2022/lib/components/inputs/param-date-time/param-date-time.component.mjs +86 -0
  28. package/esm2022/lib/components/inputs/param-date-time-range/param-date-time-range.component.mjs +95 -0
  29. package/esm2022/lib/components/inputs/param-month/param-month.component.mjs +50 -0
  30. package/esm2022/lib/components/inputs/param-month-range/param-month-range.component.mjs +62 -0
  31. package/esm2022/lib/components/inputs/param-multi-select/param-multi-select.component.mjs +309 -0
  32. package/esm2022/lib/components/inputs/param-select/param-select.component.mjs +225 -0
  33. package/esm2022/lib/components/inputs/param-switcher/param-switcher.component.mjs +21 -0
  34. package/esm2022/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.mjs +28 -0
  35. package/esm2022/lib/components/inputs/param-switcher-date-time-range/index.mjs +3 -0
  36. package/esm2022/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.mjs +105 -0
  37. package/esm2022/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.mjs +10 -0
  38. package/esm2022/lib/components/inputs/param-text/param-text.component.mjs +40 -0
  39. package/esm2022/lib/components/inputs/param-textarea/param-textarea.component.mjs +38 -0
  40. package/esm2022/lib/components/inputs/param-toggle/param-toggle.component.mjs +20 -0
  41. package/esm2022/lib/components/inputs/param-tree/consts/param-tree.consts.mjs +37 -0
  42. package/esm2022/lib/components/inputs/param-tree/index.mjs +8 -0
  43. package/esm2022/lib/components/inputs/param-tree/param-tree.component.mjs +207 -0
  44. package/esm2022/lib/components/inputs/param-tree/services/param-tree.service.mjs +116 -0
  45. package/esm2022/lib/components/inputs/param-tree/services/sync-tree-loader.service.mjs +20 -0
  46. package/esm2022/lib/components/inputs/param-tree/tokens/param-tree.tokens.mjs +3 -0
  47. package/esm2022/lib/components/inputs/param-tree/types/param-tree.types.mjs +2 -0
  48. package/esm2022/lib/components/inputs/param-tree/utils/param-tree.utils.mjs +9 -0
  49. package/esm2022/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.mjs +80 -0
  50. package/esm2022/lib/components/inputs/param-tree-select/param-tree-select.component.mjs +85 -0
  51. package/esm2022/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.mjs +15 -0
  52. package/esm2022/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.mjs +12 -0
  53. package/esm2022/lib/components/menu-constructor/index.mjs +5 -0
  54. package/esm2022/lib/components/menu-constructor/sproc-menu-constructor.component.mjs +559 -0
  55. package/esm2022/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.mjs +3 -0
  56. package/esm2022/lib/components/menu-constructor/store/sproc-menu-constructor.consts.mjs +5 -0
  57. package/esm2022/lib/components/menu-constructor/store/sproc-menu.tokens.mjs +3 -0
  58. package/esm2022/lib/components/page-menu/index.mjs +6 -0
  59. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.consts.mjs +9 -0
  60. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.schema.mjs +2 -0
  61. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.tokens.mjs +4 -0
  62. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.types.mjs +3 -0
  63. package/esm2022/lib/components/page-menu/sproc-page-menu.component.mjs +275 -0
  64. package/esm2022/lib/components/paginator/paginator.component.mjs +159 -0
  65. package/esm2022/lib/components/paginator/types/paginator.types.mjs +2 -0
  66. package/esm2022/lib/components/register-table/consts/register-table.consts.mjs +4 -0
  67. package/esm2022/lib/components/register-table/directives/cell-template.directive.mjs +19 -0
  68. package/esm2022/lib/components/register-table/directives/header-template.directive.mjs +18 -0
  69. package/esm2022/lib/components/register-table/index.mjs +4 -0
  70. package/esm2022/lib/components/register-table/model/schema.mjs +10 -0
  71. package/esm2022/lib/components/register-table/pipes/class-by-type.pipe.mjs +33 -0
  72. package/esm2022/lib/components/register-table/pipes/sticky-column.pipe.mjs +17 -0
  73. package/esm2022/lib/components/register-table/register-table.component.mjs +544 -0
  74. package/esm2022/lib/components/reset-settings-form/reset-settings-form.component.mjs +18 -0
  75. package/esm2022/lib/components/search-input/search-input.component.mjs +28 -0
  76. package/esm2022/lib/components/sliding-panel/sliding-panel.component.mjs +48 -0
  77. package/esm2022/lib/components/sliding-panel/sliding-panel.module.mjs +19 -0
  78. package/esm2022/lib/consts/date-time.consts.mjs +2 -0
  79. package/esm2022/lib/consts/index.mjs +4 -0
  80. package/esm2022/lib/consts/inputs.consts.mjs +4 -0
  81. package/esm2022/lib/consts/month.consts.mjs +77 -0
  82. package/esm2022/lib/consts/params.consts.mjs +2 -0
  83. package/esm2022/lib/consts/register-base.consts.mjs +26 -0
  84. package/esm2022/lib/core/form-group-wrapper/errors-consts.mjs +8 -0
  85. package/esm2022/lib/core/form-group-wrapper/form-group-wrapper.mjs +81 -0
  86. package/esm2022/lib/core/form-group-wrapper/index.mjs +2 -0
  87. package/esm2022/lib/core/index.mjs +5 -0
  88. package/esm2022/lib/core/input-control/index.mjs +2 -0
  89. package/esm2022/lib/core/input-control/input-control.mjs +11 -0
  90. package/esm2022/lib/core/param/index.mjs +6 -0
  91. package/esm2022/lib/core/param/param-base.mjs +215 -0
  92. package/esm2022/lib/core/param/param-date-base.mjs +26 -0
  93. package/esm2022/lib/core/param/param-select-base.mjs +114 -0
  94. package/esm2022/lib/core/param/param-text-base.mjs +25 -0
  95. package/esm2022/lib/core/param/param.tokens.mjs +4 -0
  96. package/esm2022/lib/core/register-base/index.mjs +3 -0
  97. package/esm2022/lib/core/register-base/register-base.mjs +575 -0
  98. package/esm2022/lib/core/register-base/register-base.store.mjs +43 -0
  99. package/esm2022/lib/directives/date/date-time.types.mjs +34 -0
  100. package/esm2022/lib/directives/date/format-date.pipe.mjs +33 -0
  101. package/esm2022/lib/directives/index.mjs +3 -0
  102. package/esm2022/lib/directives/number/number-only.directive.mjs +41 -0
  103. package/esm2022/lib/directives/sticky/index.mjs +3 -0
  104. package/esm2022/lib/directives/sticky/sticky-relative.directive.mjs +32 -0
  105. package/esm2022/lib/directives/sticky/sticky-relative.service.mjs +32 -0
  106. package/esm2022/lib/directives/sticky/sticky.directive.mjs +169 -0
  107. package/esm2022/lib/services/date-time.service.mjs +314 -0
  108. package/esm2022/lib/services/dialog/dialog.service.mjs +53 -0
  109. package/esm2022/lib/services/dialog/dialog.types.mjs +2 -0
  110. package/esm2022/lib/services/dialog/index.mjs +3 -0
  111. package/esm2022/lib/services/dom-intersection.service.mjs +22 -0
  112. package/esm2022/lib/services/filter/filters-state.service.mjs +65 -0
  113. package/esm2022/lib/services/filter/filters-transmit.service.mjs +82 -0
  114. package/esm2022/lib/services/filter/filters.service.mjs +23 -0
  115. package/esm2022/lib/services/index.mjs +8 -0
  116. package/esm2022/lib/services/inputs-state.service.mjs +130 -0
  117. package/esm2022/lib/services/inputs.service.mjs +88 -0
  118. package/esm2022/lib/services/key-pressed.service.mjs +37 -0
  119. package/esm2022/lib/services/resize-window-observer.service.mjs +33 -0
  120. package/esm2022/lib/services/selected-objects-state.service.mjs +123 -0
  121. package/esm2022/lib/store/fast-query-store.service.mjs +110 -0
  122. package/esm2022/lib/store/index.mjs +2 -0
  123. package/esm2022/lib/types/event.types.mjs +2 -0
  124. package/esm2022/lib/types/hasura.types.mjs +2 -0
  125. package/esm2022/lib/types/index.mjs +7 -0
  126. package/esm2022/lib/types/inputs.types.mjs +19 -0
  127. package/esm2022/lib/types/params.types.mjs +2 -0
  128. package/esm2022/lib/types/register-base.types.mjs +6 -0
  129. package/esm2022/lib/types/sub-types.mjs +2 -0
  130. package/esm2022/lib/types/user-profile.types.mjs +2 -0
  131. package/esm2022/lib/utils/functions.mjs +10 -0
  132. package/esm2022/lib/utils/get-url-segment.mjs +35 -0
  133. package/esm2022/lib/utils/index.mjs +5 -0
  134. package/esm2022/lib/utils/prizm.shared.module.mjs +284 -0
  135. package/esm2022/lib/utils/rxjs.mjs +28 -0
  136. package/esm2022/lib/utils/select-all-utils.mjs +11 -0
  137. package/esm2022/ngx-register-base.mjs +5 -0
  138. package/esm2022/public-api.mjs +9 -0
  139. package/fesm2022/ngx-register-base.mjs +7479 -0
  140. package/fesm2022/ngx-register-base.mjs.map +1 -0
  141. package/index.d.ts +5 -0
  142. package/lib/components/checkbox-selector/checkbox-selector.component.d.ts +33 -0
  143. package/lib/components/checkbox-selector/checkbox-selector.types.d.ts +7 -0
  144. package/lib/components/column-settings/column-settings.component.d.ts +80 -0
  145. package/lib/components/column-settings/components/column-settings-template/column-settings-template.component.d.ts +24 -0
  146. package/lib/components/column-settings/consts/column-settings.consts.d.ts +8 -0
  147. package/lib/components/column-settings/types/column-settings.types.d.ts +22 -0
  148. package/lib/components/divider/divider.component.d.ts +6 -0
  149. package/lib/components/filter-button/filter-button.component.d.ts +8 -0
  150. package/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.d.ts +14 -0
  151. package/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.d.ts +25 -0
  152. package/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.d.ts +39 -0
  153. package/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.d.ts +41 -0
  154. package/lib/components/filters/components/filter-list/filter-list.service.d.ts +20 -0
  155. package/lib/components/filters/components/filter-list/filters-section/filters-section.component.d.ts +15 -0
  156. package/lib/components/filters/components/filter-list.module.d.ts +15 -0
  157. package/lib/components/filters/register-table-filter.component.d.ts +40 -0
  158. package/lib/components/filters/register-table-filter.module.d.ts +13 -0
  159. package/lib/components/inputs/inputs.module.d.ts +31 -0
  160. package/lib/components/inputs/param-calendar-year/param-calendar-year.component.d.ts +19 -0
  161. package/lib/components/inputs/param-custom/param-custom.component.d.ts +6 -0
  162. package/lib/components/inputs/param-date/param-date.component.d.ts +20 -0
  163. package/lib/components/inputs/param-date-range/param-date-range.component.d.ts +26 -0
  164. package/lib/components/inputs/param-date-time/param-date-time.component.d.ts +25 -0
  165. package/lib/components/inputs/param-date-time-range/param-date-time-range.component.d.ts +28 -0
  166. package/lib/components/inputs/param-month/param-month.component.d.ts +18 -0
  167. package/lib/components/inputs/param-month-range/param-month-range.component.d.ts +21 -0
  168. package/lib/components/inputs/param-multi-select/param-multi-select.component.d.ts +46 -0
  169. package/lib/components/inputs/param-select/param-select.component.d.ts +34 -0
  170. package/lib/components/inputs/param-switcher/param-switcher.component.d.ts +8 -0
  171. package/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.d.ts +2 -0
  172. package/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.d.ts +19 -0
  173. package/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.d.ts +8 -0
  174. package/lib/components/inputs/param-text/param-text.component.d.ts +10 -0
  175. package/lib/components/inputs/param-textarea/param-textarea.component.d.ts +10 -0
  176. package/lib/components/inputs/param-toggle/param-toggle.component.d.ts +9 -0
  177. package/lib/components/inputs/param-tree/consts/param-tree.consts.d.ts +7 -0
  178. package/lib/components/inputs/param-tree/param-tree.component.d.ts +41 -0
  179. package/lib/components/inputs/param-tree/services/param-tree.service.d.ts +37 -0
  180. package/lib/components/inputs/param-tree/services/sync-tree-loader.service.d.ts +10 -0
  181. package/{src/lib/components/inputs/param-tree/tokens/param-tree.tokens.ts → lib/components/inputs/param-tree/tokens/param-tree.tokens.d.ts} +1 -2
  182. package/lib/components/inputs/param-tree/types/param-tree.types.d.ts +32 -0
  183. package/lib/components/inputs/param-tree/utils/param-tree.utils.d.ts +7 -0
  184. package/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.d.ts +31 -0
  185. package/lib/components/inputs/param-tree-select/param-tree-select.component.d.ts +30 -0
  186. package/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.d.ts +6 -0
  187. package/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.d.ts +5 -0
  188. package/lib/components/menu-constructor/sproc-menu-constructor.component.d.ts +113 -0
  189. package/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.d.ts +24 -0
  190. package/lib/components/menu-constructor/store/sproc-menu-constructor.consts.d.ts +36 -0
  191. package/{src/lib/components/menu-constructor/store/sproc-menu.tokens.ts → lib/components/menu-constructor/store/sproc-menu.tokens.d.ts} +1 -4
  192. package/lib/components/page-menu/schema/sproc-page-menu.consts.d.ts +7 -0
  193. package/lib/components/page-menu/schema/sproc-page-menu.schema.d.ts +30 -0
  194. package/lib/components/page-menu/schema/sproc-page-menu.tokens.d.ts +3 -0
  195. package/lib/components/page-menu/schema/sproc-page-menu.types.d.ts +36 -0
  196. package/lib/components/page-menu/sproc-page-menu.component.d.ts +48 -0
  197. package/lib/components/paginator/paginator.component.d.ts +52 -0
  198. package/lib/components/paginator/types/paginator.types.d.ts +15 -0
  199. package/lib/components/register-table/consts/register-table.consts.d.ts +3 -0
  200. package/lib/components/register-table/directives/cell-template.directive.d.ts +9 -0
  201. package/lib/components/register-table/directives/header-template.directive.d.ts +9 -0
  202. package/lib/components/register-table/model/schema.d.ts +52 -0
  203. package/lib/components/register-table/pipes/class-by-type.pipe.d.ts +8 -0
  204. package/lib/components/register-table/pipes/sticky-column.pipe.d.ts +7 -0
  205. package/lib/components/register-table/register-table.component.d.ts +165 -0
  206. package/lib/components/reset-settings-form/reset-settings-form.component.d.ts +9 -0
  207. package/lib/components/search-input/search-input.component.d.ts +11 -0
  208. package/lib/components/sliding-panel/sliding-panel.component.d.ts +14 -0
  209. package/lib/components/sliding-panel/sliding-panel.module.d.ts +9 -0
  210. package/lib/consts/date-time.consts.d.ts +1 -0
  211. package/lib/consts/index.d.ts +3 -0
  212. package/lib/consts/inputs.consts.d.ts +4 -0
  213. package/lib/consts/month.consts.d.ts +49 -0
  214. package/lib/consts/params.consts.d.ts +1 -0
  215. package/lib/consts/register-base.consts.d.ts +19 -0
  216. package/lib/core/form-group-wrapper/errors-consts.d.ts +5 -0
  217. package/lib/core/form-group-wrapper/form-group-wrapper.d.ts +15 -0
  218. package/lib/core/input-control/input-control.d.ts +11 -0
  219. package/lib/core/param/param-base.d.ts +68 -0
  220. package/lib/core/param/param-date-base.d.ts +18 -0
  221. package/lib/core/param/param-select-base.d.ts +42 -0
  222. package/lib/core/param/param-text-base.d.ts +15 -0
  223. package/{src/lib/core/param/param.tokens.ts → lib/core/param/param.tokens.d.ts} +1 -2
  224. package/lib/core/register-base/register-base.d.ts +168 -0
  225. package/lib/core/register-base/register-base.store.d.ts +35 -0
  226. package/lib/directives/date/date-time.types.d.ts +32 -0
  227. package/lib/directives/date/format-date.pipe.d.ts +10 -0
  228. package/lib/directives/number/number-only.directive.d.ts +10 -0
  229. package/lib/directives/sticky/sticky-relative.directive.d.ts +13 -0
  230. package/lib/directives/sticky/sticky-relative.service.d.ts +15 -0
  231. package/lib/directives/sticky/sticky.directive.d.ts +27 -0
  232. package/lib/services/date-time.service.d.ts +80 -0
  233. package/lib/services/dialog/dialog.service.d.ts +22 -0
  234. package/{src/lib/services/dialog/dialog.types.ts → lib/services/dialog/dialog.types.d.ts} +4 -8
  235. package/lib/services/dom-intersection.service.d.ts +8 -0
  236. package/lib/services/filter/filters-state.service.d.ts +21 -0
  237. package/lib/services/filter/filters-transmit.service.d.ts +28 -0
  238. package/lib/services/filter/filters.service.d.ts +12 -0
  239. package/lib/services/inputs-state.service.d.ts +57 -0
  240. package/lib/services/inputs.service.d.ts +28 -0
  241. package/lib/services/key-pressed.service.d.ts +15 -0
  242. package/lib/services/resize-window-observer.service.d.ts +11 -0
  243. package/lib/services/selected-objects-state.service.d.ts +47 -0
  244. package/lib/store/fast-query-store.service.d.ts +19 -0
  245. package/{src/lib/types/event.types.ts → lib/types/event.types.d.ts} +1 -1
  246. package/lib/types/hasura.types.d.ts +35 -0
  247. package/lib/types/inputs.types.d.ts +41 -0
  248. package/lib/types/params.types.d.ts +27 -0
  249. package/lib/types/register-base.types.d.ts +123 -0
  250. package/lib/types/sub-types.d.ts +8 -0
  251. package/lib/types/user-profile.types.d.ts +17 -0
  252. package/lib/utils/functions.d.ts +3 -0
  253. package/lib/utils/get-url-segment.d.ts +7 -0
  254. package/lib/utils/prizm.shared.module.d.ts +14 -0
  255. package/lib/utils/rxjs.d.ts +10 -0
  256. package/lib/utils/select-all-utils.d.ts +8 -0
  257. package/package.json +15 -12
  258. package/schematics/ng-update/replace-menu-state-token/index.d.ts +2 -0
  259. package/schematics/ng-update/replace-menu-state-token/index.js +29 -0
  260. package/schematics/ng-update/replace-menu-state-token/index.js.map +1 -0
  261. package/schematics/ng-update/update-prefix/index.d.ts +2 -0
  262. package/schematics/ng-update/update-prefix/index.js +33 -0
  263. package/schematics/ng-update/update-prefix/index.js.map +1 -0
  264. package/schematics/utils/{utils.ts → utils.d.ts} +2 -9
  265. package/schematics/utils/utils.js +25 -0
  266. package/schematics/utils/utils.js.map +1 -0
  267. package/ng-package.json +0 -15
  268. package/schematics/ng-update/replace-menu-state-token/index.ts +0 -33
  269. package/schematics/ng-update/update-prefix/index.ts +0 -38
  270. package/src/lib/components/checkbox-selector/checkbox-selector.component.html +0 -91
  271. package/src/lib/components/checkbox-selector/checkbox-selector.component.less +0 -67
  272. package/src/lib/components/checkbox-selector/checkbox-selector.component.ts +0 -176
  273. package/src/lib/components/checkbox-selector/checkbox-selector.types.ts +0 -8
  274. package/src/lib/components/column-settings/column-settings.component.html +0 -160
  275. package/src/lib/components/column-settings/column-settings.component.less +0 -131
  276. package/src/lib/components/column-settings/column-settings.component.ts +0 -352
  277. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.html +0 -65
  278. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.less +0 -79
  279. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.ts +0 -114
  280. package/src/lib/components/column-settings/consts/column-settings.consts.ts +0 -9
  281. package/src/lib/components/column-settings/types/column-settings.types.ts +0 -26
  282. package/src/lib/components/divider/divider.component.html +0 -4
  283. package/src/lib/components/divider/divider.component.less +0 -10
  284. package/src/lib/components/divider/divider.component.ts +0 -12
  285. package/src/lib/components/filter-button/filter-button.component.html +0 -20
  286. package/src/lib/components/filter-button/filter-button.component.less +0 -41
  287. package/src/lib/components/filter-button/filter-button.component.ts +0 -18
  288. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.html +0 -22
  289. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.less +0 -23
  290. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.ts +0 -31
  291. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.html +0 -49
  292. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.less +0 -37
  293. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.ts +0 -66
  294. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.html +0 -147
  295. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.less +0 -45
  296. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.ts +0 -114
  297. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.html +0 -44
  298. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.less +0 -49
  299. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.ts +0 -167
  300. package/src/lib/components/filters/components/filter-list/filter-list.service.ts +0 -97
  301. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.html +0 -18
  302. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.less +0 -55
  303. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.ts +0 -69
  304. package/src/lib/components/filters/components/filter-list.module.ts +0 -29
  305. package/src/lib/components/filters/register-table-filter.component.html +0 -53
  306. package/src/lib/components/filters/register-table-filter.component.less +0 -17
  307. package/src/lib/components/filters/register-table-filter.component.ts +0 -167
  308. package/src/lib/components/filters/register-table-filter.module.ts +0 -22
  309. package/src/lib/components/inputs/inputs.module.ts +0 -104
  310. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.html +0 -49
  311. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.less +0 -70
  312. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.ts +0 -52
  313. package/src/lib/components/inputs/param-custom/param-custom.component.html +0 -1
  314. package/src/lib/components/inputs/param-custom/param-custom.component.ts +0 -9
  315. package/src/lib/components/inputs/param-date/param-date.component.html +0 -55
  316. package/src/lib/components/inputs/param-date/param-date.component.less +0 -67
  317. package/src/lib/components/inputs/param-date/param-date.component.ts +0 -77
  318. package/src/lib/components/inputs/param-date-range/param-date-range.component.html +0 -45
  319. package/src/lib/components/inputs/param-date-range/param-date-range.component.less +0 -75
  320. package/src/lib/components/inputs/param-date-range/param-date-range.component.ts +0 -67
  321. package/src/lib/components/inputs/param-date-time/param-date-time.component.html +0 -70
  322. package/src/lib/components/inputs/param-date-time/param-date-time.component.less +0 -72
  323. package/src/lib/components/inputs/param-date-time/param-date-time.component.ts +0 -101
  324. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.html +0 -67
  325. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.less +0 -103
  326. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.ts +0 -128
  327. package/src/lib/components/inputs/param-month/param-month.component.html +0 -46
  328. package/src/lib/components/inputs/param-month/param-month.component.less +0 -72
  329. package/src/lib/components/inputs/param-month/param-month.component.ts +0 -55
  330. package/src/lib/components/inputs/param-month-range/param-month-range.component.html +0 -39
  331. package/src/lib/components/inputs/param-month-range/param-month-range.component.less +0 -71
  332. package/src/lib/components/inputs/param-month-range/param-month-range.component.ts +0 -76
  333. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.html +0 -84
  334. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.less +0 -108
  335. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.ts +0 -448
  336. package/src/lib/components/inputs/param-select/param-select.component.html +0 -106
  337. package/src/lib/components/inputs/param-select/param-select.component.less +0 -26
  338. package/src/lib/components/inputs/param-select/param-select.component.ts +0 -318
  339. package/src/lib/components/inputs/param-switcher/param-switcher.component.html +0 -8
  340. package/src/lib/components/inputs/param-switcher/param-switcher.component.less +0 -53
  341. package/src/lib/components/inputs/param-switcher/param-switcher.component.ts +0 -13
  342. package/src/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.ts +0 -29
  343. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.html +0 -19
  344. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.less +0 -76
  345. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.ts +0 -134
  346. package/src/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.ts +0 -8
  347. package/src/lib/components/inputs/param-text/param-text.component.html +0 -59
  348. package/src/lib/components/inputs/param-text/param-text.component.less +0 -33
  349. package/src/lib/components/inputs/param-text/param-text.component.ts +0 -36
  350. package/src/lib/components/inputs/param-textarea/param-textarea.component.html +0 -61
  351. package/src/lib/components/inputs/param-textarea/param-textarea.component.less +0 -21
  352. package/src/lib/components/inputs/param-textarea/param-textarea.component.ts +0 -33
  353. package/src/lib/components/inputs/param-toggle/param-toggle.component.html +0 -40
  354. package/src/lib/components/inputs/param-toggle/param-toggle.component.less +0 -69
  355. package/src/lib/components/inputs/param-toggle/param-toggle.component.ts +0 -14
  356. package/src/lib/components/inputs/param-tree/consts/param-tree.consts.ts +0 -59
  357. package/src/lib/components/inputs/param-tree/param-tree.component.html +0 -51
  358. package/src/lib/components/inputs/param-tree/param-tree.component.less +0 -3
  359. package/src/lib/components/inputs/param-tree/param-tree.component.ts +0 -282
  360. package/src/lib/components/inputs/param-tree/services/param-tree.service.ts +0 -176
  361. package/src/lib/components/inputs/param-tree/services/sync-tree-loader.service.ts +0 -18
  362. package/src/lib/components/inputs/param-tree/types/param-tree.types.ts +0 -39
  363. package/src/lib/components/inputs/param-tree/utils/param-tree.utils.ts +0 -18
  364. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.html +0 -78
  365. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.less +0 -109
  366. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.ts +0 -89
  367. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.html +0 -54
  368. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.less +0 -56
  369. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.ts +0 -91
  370. package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.html +0 -5
  371. package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.ts +0 -13
  372. package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.html +0 -4
  373. package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.ts +0 -11
  374. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.html +0 -95
  375. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.less +0 -183
  376. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.ts +0 -687
  377. package/src/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.ts +0 -32
  378. package/src/lib/components/menu-constructor/store/sproc-menu-constructor.consts.ts +0 -46
  379. package/src/lib/components/page-menu/README.md +0 -60
  380. package/src/lib/components/page-menu/schema/sproc-page-menu.consts.ts +0 -8
  381. package/src/lib/components/page-menu/schema/sproc-page-menu.schema.ts +0 -35
  382. package/src/lib/components/page-menu/schema/sproc-page-menu.tokens.ts +0 -5
  383. package/src/lib/components/page-menu/schema/sproc-page-menu.types.ts +0 -42
  384. package/src/lib/components/page-menu/sproc-page-menu.component.html +0 -166
  385. package/src/lib/components/page-menu/sproc-page-menu.component.less +0 -228
  386. package/src/lib/components/page-menu/sproc-page-menu.component.ts +0 -337
  387. package/src/lib/components/paginator/paginator.component.html +0 -97
  388. package/src/lib/components/paginator/paginator.component.less +0 -101
  389. package/src/lib/components/paginator/paginator.component.ts +0 -192
  390. package/src/lib/components/paginator/types/paginator.types.ts +0 -16
  391. package/src/lib/components/register-table/consts/register-table.consts.ts +0 -3
  392. package/src/lib/components/register-table/directives/cell-template.directive.ts +0 -11
  393. package/src/lib/components/register-table/directives/header-template.directive.ts +0 -11
  394. package/src/lib/components/register-table/model/schema.ts +0 -62
  395. package/src/lib/components/register-table/pipes/class-by-type.pipe.ts +0 -28
  396. package/src/lib/components/register-table/pipes/sticky-column.pipe.ts +0 -11
  397. package/src/lib/components/register-table/register-table.component.html +0 -257
  398. package/src/lib/components/register-table/register-table.component.less +0 -151
  399. package/src/lib/components/register-table/register-table.component.ts +0 -743
  400. package/src/lib/components/reset-settings-form/reset-settings-form.component.html +0 -14
  401. package/src/lib/components/reset-settings-form/reset-settings-form.component.less +0 -26
  402. package/src/lib/components/reset-settings-form/reset-settings-form.component.ts +0 -15
  403. package/src/lib/components/search-input/search-input.component.html +0 -6
  404. package/src/lib/components/search-input/search-input.component.less +0 -17
  405. package/src/lib/components/search-input/search-input.component.ts +0 -31
  406. package/src/lib/components/sliding-panel/sliding-panel.component.html +0 -13
  407. package/src/lib/components/sliding-panel/sliding-panel.component.less +0 -112
  408. package/src/lib/components/sliding-panel/sliding-panel.component.ts +0 -36
  409. package/src/lib/components/sliding-panel/sliding-panel.module.ts +0 -11
  410. package/src/lib/consts/date-time.consts.ts +0 -1
  411. package/src/lib/consts/index.ts +0 -8
  412. package/src/lib/consts/inputs.consts.ts +0 -9
  413. package/src/lib/consts/month.consts.ts +0 -82
  414. package/src/lib/consts/params.consts.ts +0 -1
  415. package/src/lib/consts/register-base.consts.ts +0 -40
  416. package/src/lib/core/form-group-wrapper/errors-consts.ts +0 -6
  417. package/src/lib/core/form-group-wrapper/form-group-wrapper.ts +0 -109
  418. package/src/lib/core/input-control/input-control.ts +0 -30
  419. package/src/lib/core/param/param-base.ts +0 -262
  420. package/src/lib/core/param/param-date-base.ts +0 -30
  421. package/src/lib/core/param/param-select-base.ts +0 -118
  422. package/src/lib/core/param/param-text-base.ts +0 -23
  423. package/src/lib/core/register-base/register-base.store.ts +0 -84
  424. package/src/lib/core/register-base/register-base.ts +0 -854
  425. package/src/lib/directives/date/date-time.types.ts +0 -36
  426. package/src/lib/directives/date/format-date.pipe.ts +0 -28
  427. package/src/lib/directives/number/number-only.directive.ts +0 -36
  428. package/src/lib/directives/sticky/sticky-relative.directive.ts +0 -30
  429. package/src/lib/directives/sticky/sticky-relative.service.ts +0 -34
  430. package/src/lib/directives/sticky/sticky.directive.ts +0 -189
  431. package/src/lib/services/date-time.service.ts +0 -399
  432. package/src/lib/services/dialog/dialog.service.ts +0 -62
  433. package/src/lib/services/dom-intersection.service.ts +0 -23
  434. package/src/lib/services/filter/filters-state.service.ts +0 -83
  435. package/src/lib/services/filter/filters-transmit.service.ts +0 -105
  436. package/src/lib/services/filter/filters.service.ts +0 -21
  437. package/src/lib/services/inputs-state.service.ts +0 -157
  438. package/src/lib/services/inputs.service.ts +0 -114
  439. package/src/lib/services/key-pressed.service.ts +0 -40
  440. package/src/lib/services/resize-window-observer.service.ts +0 -37
  441. package/src/lib/services/selected-objects-state.service.ts +0 -159
  442. package/src/lib/store/fast-query-store.service.ts +0 -132
  443. package/src/lib/types/hasura.types.ts +0 -41
  444. package/src/lib/types/inputs.types.ts +0 -63
  445. package/src/lib/types/params.types.ts +0 -42
  446. package/src/lib/types/register-base.types.ts +0 -161
  447. package/src/lib/types/sub-types.ts +0 -15
  448. package/src/lib/types/user-profile.types.ts +0 -18
  449. package/src/lib/utils/functions.ts +0 -11
  450. package/src/lib/utils/get-url-segment.ts +0 -46
  451. package/src/lib/utils/prizm.shared.module.ts +0 -176
  452. package/src/lib/utils/rxjs.ts +0 -33
  453. package/src/lib/utils/select-all-utils.ts +0 -16
  454. package/tsconfig.lib.json +0 -16
  455. package/tsconfig.lib.prod.json +0 -11
  456. package/tsconfig.schematics.json +0 -26
  457. package/tsconfig.spec.json +0 -15
  458. /package/{src/lib/components/column-settings/index.ts → lib/components/column-settings/index.d.ts} +0 -0
  459. /package/{src/lib/components/filters/index.ts → lib/components/filters/index.d.ts} +0 -0
  460. /package/{src/lib/components/index.ts → lib/components/index.d.ts} +0 -0
  461. /package/{src/lib/components/inputs/index.ts → lib/components/inputs/index.d.ts} +0 -0
  462. /package/{src/lib/components/inputs/param-switcher-date-time-range/index.ts → lib/components/inputs/param-switcher-date-time-range/index.d.ts} +0 -0
  463. /package/{src/lib/components/inputs/param-tree/index.ts → lib/components/inputs/param-tree/index.d.ts} +0 -0
  464. /package/{src/lib/components/menu-constructor/index.ts → lib/components/menu-constructor/index.d.ts} +0 -0
  465. /package/{src/lib/components/page-menu/index.ts → lib/components/page-menu/index.d.ts} +0 -0
  466. /package/{src/lib/components/register-table/index.ts → lib/components/register-table/index.d.ts} +0 -0
  467. /package/{src/lib/core/form-group-wrapper/index.ts → lib/core/form-group-wrapper/index.d.ts} +0 -0
  468. /package/{src/lib/core/index.ts → lib/core/index.d.ts} +0 -0
  469. /package/{src/lib/core/input-control/index.ts → lib/core/input-control/index.d.ts} +0 -0
  470. /package/{src/lib/core/param/index.ts → lib/core/param/index.d.ts} +0 -0
  471. /package/{src/lib/core/register-base/index.ts → lib/core/register-base/index.d.ts} +0 -0
  472. /package/{src/lib/directives/index.ts → lib/directives/index.d.ts} +0 -0
  473. /package/{src/lib/directives/sticky/index.ts → lib/directives/sticky/index.d.ts} +0 -0
  474. /package/{src/lib/services/dialog/index.ts → lib/services/dialog/index.d.ts} +0 -0
  475. /package/{src/lib/services/index.ts → lib/services/index.d.ts} +0 -0
  476. /package/{src/lib/store/index.ts → lib/store/index.d.ts} +0 -0
  477. /package/{src/lib/types/index.ts → lib/types/index.d.ts} +0 -0
  478. /package/{src/lib/utils/index.ts → lib/utils/index.d.ts} +0 -0
  479. /package/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,225 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, input, Output, signal, } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, filter, map, tap, } from 'rxjs';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { TUI_ITEMS_HANDLERS, TuiAppearance, TuiDropdown, TuiHint, TuiLoader, TuiTextfield, } from '@taiga-ui/core';
5
+ import { TuiChevron, TuiComboBox, TuiDataListWrapper, TuiFilterByInputPipe, TuiSelect, } from '@taiga-ui/kit';
6
+ import { TuiTextfieldControllerModule } from '@taiga-ui/legacy';
7
+ import { ReactiveFormsModule } from '@angular/forms';
8
+ import { NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet } from '@angular/common';
9
+ import { ParamInvalidIconComponent } from '../sub-components/param-invalid-icon/param-invalid-icon.component';
10
+ import { FastQueryStore } from '../../../store/fast-query-store.service';
11
+ import { ParamSelectBase } from '../../../core/param/param-select-base';
12
+ import { PARAM_SEARCH_INPUT_DEBOUNCE_TIME_MLS } from '../../../consts/params.consts';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@taiga-ui/core";
15
+ import * as i2 from "@taiga-ui/legacy";
16
+ import * as i3 from "@angular/forms";
17
+ import * as i4 from "@taiga-ui/kit";
18
+ export class ParamSelectComponent extends ParamSelectBase {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.placeholder = input('Выберите значение');
22
+ this.stringify = input((item) => String(item.name ?? ''));
23
+ this.identityMatcher = input((a, b) => a.id === b.id);
24
+ this.matcher = input((item, query) => {
25
+ if (!query || String(query).trim() === '') {
26
+ return true;
27
+ }
28
+ return String(item?.name ?? '')
29
+ .toLowerCase()
30
+ .includes(String(query).toLowerCase());
31
+ });
32
+ this.buildShowedValue = input((value) => value?.name ?? '-');
33
+ this.strict = input(true);
34
+ this.onSelect = new EventEmitter();
35
+ this.search$ = new BehaviorSubject(undefined);
36
+ }
37
+ afterViewInit() {
38
+ this._observeFetchItems();
39
+ if (this.meta) {
40
+ this._subscribeOnMetaChanges();
41
+ this._subscribeOnSearch();
42
+ }
43
+ }
44
+ ngOnDestroy() {
45
+ this.search$.complete();
46
+ }
47
+ _subscribeOnSearch() {
48
+ this.search$
49
+ .pipe(debounceTime(PARAM_SEARCH_INPUT_DEBOUNCE_TIME_MLS), takeUntilDestroyed(this.dr))
50
+ .subscribe((searchValue) => {
51
+ this.fetchItems(searchValue);
52
+ });
53
+ }
54
+ _observeFetchItems() {
55
+ this._observeValueFill();
56
+ this._observeEmptyValue();
57
+ this._observeValueFetch();
58
+ }
59
+ _observeValueFill() {
60
+ this.control.valueChanges
61
+ .pipe(filter(Boolean), filter((value) => !value.name), takeUntilDestroyed(this.dr))
62
+ .subscribe((value) => {
63
+ const id = this._getIdFromValue(value);
64
+ const filledValue = this.items.find((item) => item.id === id);
65
+ if (filledValue) {
66
+ this.control.setValue(filledValue, { emitEvent: false });
67
+ }
68
+ });
69
+ }
70
+ _observeEmptyValue() {
71
+ this.control.valueChanges
72
+ .pipe(filter((value) => value === null), takeUntilDestroyed(this.dr))
73
+ .subscribe(() => {
74
+ this.search$.next('');
75
+ this.fetchItems();
76
+ });
77
+ }
78
+ _observeValueFetch() {
79
+ combineLatest([
80
+ this.control.valueChanges.pipe(map((value) => value?.id ?? null), distinctUntilChanged(), filter((id) => !this.items.some((item) => item.id === id))),
81
+ this.meta$,
82
+ ])
83
+ .pipe(takeUntilDestroyed(this.dr))
84
+ .subscribe(() => this.fetchItems());
85
+ }
86
+ _getIdFromValue(value) {
87
+ return typeof value === 'object' && value !== null
88
+ ? (value.id ?? null)
89
+ : value;
90
+ }
91
+ _subscribeOnMetaChanges() {
92
+ this.meta$.pipe(takeUntilDestroyed(this.dr)).subscribe(() => {
93
+ this.fetchItems();
94
+ });
95
+ }
96
+ fetchItems(searchValue) {
97
+ const { idField, valueField } = this.metaFields;
98
+ if (!this.meta?.table?.name || idField === null || valueField === null) {
99
+ return;
100
+ }
101
+ const selectedItemIDs = this._getSelectedItemIDs(searchValue);
102
+ this.loading = true;
103
+ const where = this.buildWhere(searchValue);
104
+ const selectedItemIdsWhere = this._buildSelectedItemIdsWhere(where, selectedItemIDs, idField);
105
+ this.store
106
+ .getResults({
107
+ table: this.meta.table,
108
+ where,
109
+ order_by: this.meta.order_by,
110
+ offset: this.meta.offset,
111
+ distinct_on: this.meta.distinct_on,
112
+ subquery: this.meta.subquery,
113
+ limit: this.meta.limit ?? this.limit,
114
+ }, true, selectedItemIdsWhere)
115
+ .pipe(tap((data) => {
116
+ this._handleResults(data, idField, valueField, selectedItemIDs);
117
+ }), tap(() => {
118
+ this.loading = false;
119
+ this.cdr.markForCheck();
120
+ }), takeUntilDestroyed(this.dr))
121
+ .subscribe();
122
+ }
123
+ _getSelectedItemIDs(searchValue) {
124
+ if (this.value && (!searchValue || searchValue === '')) {
125
+ const idField = this.meta?.table.idField ?? 'id';
126
+ return [this.value[idField]];
127
+ }
128
+ return undefined;
129
+ }
130
+ _buildSelectedItemIdsWhere(where, selectedItemIDs, idField) {
131
+ if (where && selectedItemIDs && selectedItemIDs.length > 0 && selectedItemIDs[0]) {
132
+ return { _and: [{ [idField]: { _in: selectedItemIDs } }, where] };
133
+ }
134
+ return undefined;
135
+ }
136
+ _handleResults(data, idField, valueField, selectedItemIDs) {
137
+ this.items = data.data.map((item) => ({
138
+ ...item,
139
+ id: item[idField] ?? '',
140
+ name: this._getNameFromField(item, valueField),
141
+ }));
142
+ this._updateControlValues(data, idField, valueField, selectedItemIDs);
143
+ }
144
+ _getNameFromField(item, field) {
145
+ if (field.includes('.')) {
146
+ return this._getNameFromDeepField(item, field);
147
+ }
148
+ return this.formatShowedValue(item, field);
149
+ }
150
+ _getNameFromDeepField(item, field) {
151
+ const deepFields = field.split('.');
152
+ let tempObject = { ...item };
153
+ for (const deepField of deepFields) {
154
+ tempObject = tempObject[deepField];
155
+ }
156
+ return tempObject;
157
+ }
158
+ _updateControlValues(data, idField, valueField, selectedItemIDs) {
159
+ const idSelectedValue = this.value?.[idField];
160
+ const availableItems = data.selectedIdsQuery
161
+ ?.filter((item) => idSelectedValue === item[idField])
162
+ .map((item) => ({
163
+ ...item,
164
+ id: item[idField] ?? '',
165
+ name: this._getNameFromField(item, valueField),
166
+ })) ?? [];
167
+ if (selectedItemIDs && selectedItemIDs.length > 0 && availableItems.length > 0) {
168
+ const [item] = availableItems;
169
+ this.control?.setValue(item);
170
+ }
171
+ const itemsThatDontExist = availableItems.filter((new_item) => !this.items.some((value) => value.id === new_item.id));
172
+ this.items.push(...itemsThatDontExist);
173
+ this.itemsChange.emit(this.items);
174
+ }
175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParamSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
176
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ParamSelectComponent, isStandalone: true, selector: "sproc-param-select", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, stringify: { classPropertyName: "stringify", publicName: "stringify", isSignal: true, isRequired: false, transformFunction: null }, identityMatcher: { classPropertyName: "identityMatcher", publicName: "identityMatcher", isSignal: true, isRequired: false, transformFunction: null }, matcher: { classPropertyName: "matcher", publicName: "matcher", isSignal: true, isRequired: false, transformFunction: null }, buildShowedValue: { classPropertyName: "buildShowedValue", publicName: "buildShowedValue", isSignal: true, isRequired: false, transformFunction: null }, strict: { classPropertyName: "strict", publicName: "strict", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelect: "onSelect" }, providers: [
177
+ FastQueryStore,
178
+ {
179
+ provide: TUI_ITEMS_HANDLERS,
180
+ deps: [forwardRef(() => ParamSelectComponent)],
181
+ useFactory: (component) => ({
182
+ stringify: component.stringify,
183
+ identityMatcher: component.identityMatcher,
184
+ disabledItemHandler: signal(() => false),
185
+ }),
186
+ },
187
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"readmode ? readTemplate : editTemplate\">\n <ng-template #readTemplate>\n <div class=\"container container--read\" [attr.sproc-param-style]=\"paramStyle\">\n @if (label) {\n <ng-container [ngSwitch]=\"paramStyle\">\n <ng-template ngSwitchCase=\"filter\">\n <div class=\"label-wrapper\">\n <span class=\"label\">{{ label }}</span>\n <div class=\"dashed-row\"></div>\n </div>\n </ng-template>\n <ng-template ngSwitchDefault>\n <span class=\"label\">{{ label }}</span>\n <div class=\"dashed-row\"></div>\n </ng-template>\n </ng-container>\n }\n <div [tuiHint]=\"value && showedValue !== '-' ? hintContent : undefined\" class=\"value\">\n <span>{{ showedValue }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template #editTemplate>\n <div class=\"container container--edit\" [attr.sproc-param-style]=\"paramStyle\">\n <div *ngIf=\"label\" class=\"label-wrapper\" [class.applied]=\"applied()\">\n <span class=\"label\" [class.required]=\"required\">\n {{ label }}\n </span>\n </div>\n\n @if (searchable) {\n <tui-textfield\n tuiTextfieldSize=\"m\"\n tuiAppearance=\"sproc-input-appearance\"\n tuiChevron\n [tuiTextfieldCleaner]=\"true\"\n [tuiHint]=\"value && showedValue !== '-' ? hintContent : undefined\"\n tuiHintDirection=\"top\"\n [content]=\"valueTemplate\"\n >\n <input\n (input)=\"search$.next($any($event.target).value)\"\n tuiComboBox\n [strict]=\"strict()\"\n [placeholder]=\"placeholder()\"\n [formControl]=\"control\"\n />\n\n <tui-loader [showLoader]=\"loading\" [overlay]=\"true\">\n <tui-data-list-wrapper\n new\n *tuiTextfieldDropdown\n [items]=\"items | tuiFilterByInput: matcher()\"\n [itemContent]=\"listItemTemplate ?? dropdownOptionContent\"\n [tuiDropdownMaxHeight]=\"maxDropdownHeight\"\n (itemClick)=\"onSelect.emit($event)\"\n />\n </tui-loader>\n\n <ng-container *ngTemplateOutlet=\"textfieldIcons\"></ng-container>\n </tui-textfield>\n } @else {\n <tui-textfield\n tuiTextfieldSize=\"m\"\n tuiAppearance=\"sproc-input-appearance\"\n tuiChevron\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHint]=\"value && showedValue !== '-' ? hintContent : undefined\"\n tuiHintDirection=\"top\"\n [content]=\"valueTemplate\"\n [tuiDropdownMaxHeight]=\"maxDropdownHeight\"\n >\n <input tuiSelect [placeholder]=\"placeholder()\" [formControl]=\"control\" />\n\n <tui-loader [showLoader]=\"loading\" [overlay]=\"true\">\n <tui-data-list-wrapper\n new\n *tuiTextfieldDropdown\n [items]=\"items\"\n [itemContent]=\"listItemTemplate ?? dropdownOptionContent\"\n (itemClick)=\"onSelect.emit($event)\"\n />\n </tui-loader>\n\n <ng-container *ngTemplateOutlet=\"textfieldIcons\"></ng-container>\n </tui-textfield>\n }\n <ng-template #dropdownOptionContent let-data>\n <div>\n {{ stringify()(data) }}\n </div>\n </ng-template>\n\n <ng-template #textfieldIcons>\n <div class=\"textfield-icons-container\">\n @if (isInvalidAndNotPristine) {\n <sproc-param-invalid-icon></sproc-param-invalid-icon>\n }\n </div>\n </ng-template>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #hintContent> {{ showedValue }} </ng-template>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}.textfield-icons-container{display:flex;margin-inline-end:.5rem;margin-inline-start:.5rem;flex-direction:row;align-items:center;gap:8px}.textfield-icons-container .invalid-icon{color:var(--deleted-color);height:16px;width:16px}.textfield-icons-container .cleaner-icon{color:var(--gray-icon);height:16px;width:16px;pointer-events:auto}.textfield-icons-container .cleaner-icon:hover{color:var(--main-black);cursor:pointer}.textfield-icons-container .chevron{color:var(--gray-icon);height:16px;width:16px;pointer-events:none}.clickable:hover{cursor:pointer}.read-style-card[sproc-param-style=card]{display:flex;align-items:flex-start;gap:4px;padding:8px 0}.read-style-card[sproc-param-style=card] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:fit-content}.read-style-card[sproc-param-style=card] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.read-style-card[sproc-param-style=card] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.read-style-card[sproc-param-style=card] .dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}.read-style-card[sproc-param-style=card] .value{font-family:Inter,serif!important;font-size:14px!important;font-weight:400!important;line-height:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;color:var(--main-black)!important}.read-style-filter[sproc-param-style=filter]{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;gap:4px}.read-style-filter[sproc-param-style=filter] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:100%}.read-style-filter[sproc-param-style=filter] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.read-style-filter[sproc-param-style=filter] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.read-style-filter[sproc-param-style=filter] .dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}.read-style-filter[sproc-param-style=filter] .value{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px;color:var(--text-main)}.edit-style-card[sproc-param-style=card]{height:auto;width:100%;display:flex;flex-direction:column;padding-bottom:8px}.edit-style-card[sproc-param-style=card] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:100%}.edit-style-card[sproc-param-style=card] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.edit-style-card[sproc-param-style=card] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.edit-style-filter[sproc-param-style=filter]{width:100%;display:flex;flex-direction:column}.edit-style-filter[sproc-param-style=filter] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:fit-content}.edit-style-filter[sproc-param-style=filter] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.edit-style-filter[sproc-param-style=filter] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.default-label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px}.default-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.default-label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.default-dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}:host .container--read[sproc-param-style=card]{display:flex;align-items:flex-start;gap:4px;padding:8px 0}:host .container--read[sproc-param-style=card] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:fit-content}:host .container--read[sproc-param-style=card] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}:host .container--read[sproc-param-style=card] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}:host .container--read[sproc-param-style=card] .dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}:host .container--read[sproc-param-style=card] .value{font-family:Inter,serif!important;font-size:14px!important;font-weight:400!important;line-height:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;color:var(--main-black)!important}:host .container--read[sproc-param-style=filter]{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;gap:4px}:host .container--read[sproc-param-style=filter] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:100%}:host .container--read[sproc-param-style=filter] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}:host .container--read[sproc-param-style=filter] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}:host .container--read[sproc-param-style=filter] .dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}:host .container--read[sproc-param-style=filter] .value{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px;color:var(--text-main)}:host .container--edit[sproc-param-style=card]{height:auto;width:100%;display:flex;flex-direction:column;padding-bottom:8px}:host .container--edit[sproc-param-style=card] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:100%}:host .container--edit[sproc-param-style=card] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}:host .container--edit[sproc-param-style=card] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}:host .container--edit[sproc-param-style=filter]{width:100%;display:flex;flex-direction:column}:host .container--edit[sproc-param-style=filter] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:fit-content}:host .container--edit[sproc-param-style=filter] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}:host .container--edit[sproc-param-style=filter] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}:host .container--edit ._chevron-rotated .textfield-icons-container{transition:all .4ms}:host .container--edit ._chevron-rotated .textfield-icons-container .chevron{transform:rotate(-180deg)}\n"], dependencies: [{ kind: "component", type: i1.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i1.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i1.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }, { kind: "directive", type: TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i2.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { kind: "directive", type: i2.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i2.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels]), tui-data-list-wrapper:not([labels])[new]", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "pipe", type: TuiFilterByInputPipe, name: "tuiFilterByInput" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: TuiComboBox, selector: "input[tuiComboBox]", inputs: ["strict", "matcher"] }, { kind: "component", type: ParamInvalidIconComponent, selector: "sproc-param-invalid-icon" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TuiSelectDirective, selector: "input[tuiSelect]" }, { kind: "directive", type: i1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "directive", type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
188
+ }
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParamSelectComponent, decorators: [{
190
+ type: Component,
191
+ args: [{ selector: 'sproc-param-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
192
+ FastQueryStore,
193
+ {
194
+ provide: TUI_ITEMS_HANDLERS,
195
+ deps: [forwardRef(() => ParamSelectComponent)],
196
+ useFactory: (component) => ({
197
+ stringify: component.stringify,
198
+ identityMatcher: component.identityMatcher,
199
+ disabledItemHandler: signal(() => false),
200
+ }),
201
+ },
202
+ ], standalone: true, imports: [
203
+ TuiTextfield,
204
+ TuiAppearance,
205
+ TuiTextfieldControllerModule,
206
+ ReactiveFormsModule,
207
+ TuiDataListWrapper,
208
+ TuiFilterByInputPipe,
209
+ NgTemplateOutlet,
210
+ NgSwitch,
211
+ NgSwitchCase,
212
+ NgSwitchDefault,
213
+ TuiComboBox,
214
+ ParamInvalidIconComponent,
215
+ NgIf,
216
+ TuiSelect,
217
+ TuiDropdown,
218
+ TuiLoader,
219
+ TuiChevron,
220
+ TuiHint,
221
+ ], template: "<ng-container [ngTemplateOutlet]=\"readmode ? readTemplate : editTemplate\">\n <ng-template #readTemplate>\n <div class=\"container container--read\" [attr.sproc-param-style]=\"paramStyle\">\n @if (label) {\n <ng-container [ngSwitch]=\"paramStyle\">\n <ng-template ngSwitchCase=\"filter\">\n <div class=\"label-wrapper\">\n <span class=\"label\">{{ label }}</span>\n <div class=\"dashed-row\"></div>\n </div>\n </ng-template>\n <ng-template ngSwitchDefault>\n <span class=\"label\">{{ label }}</span>\n <div class=\"dashed-row\"></div>\n </ng-template>\n </ng-container>\n }\n <div [tuiHint]=\"value && showedValue !== '-' ? hintContent : undefined\" class=\"value\">\n <span>{{ showedValue }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template #editTemplate>\n <div class=\"container container--edit\" [attr.sproc-param-style]=\"paramStyle\">\n <div *ngIf=\"label\" class=\"label-wrapper\" [class.applied]=\"applied()\">\n <span class=\"label\" [class.required]=\"required\">\n {{ label }}\n </span>\n </div>\n\n @if (searchable) {\n <tui-textfield\n tuiTextfieldSize=\"m\"\n tuiAppearance=\"sproc-input-appearance\"\n tuiChevron\n [tuiTextfieldCleaner]=\"true\"\n [tuiHint]=\"value && showedValue !== '-' ? hintContent : undefined\"\n tuiHintDirection=\"top\"\n [content]=\"valueTemplate\"\n >\n <input\n (input)=\"search$.next($any($event.target).value)\"\n tuiComboBox\n [strict]=\"strict()\"\n [placeholder]=\"placeholder()\"\n [formControl]=\"control\"\n />\n\n <tui-loader [showLoader]=\"loading\" [overlay]=\"true\">\n <tui-data-list-wrapper\n new\n *tuiTextfieldDropdown\n [items]=\"items | tuiFilterByInput: matcher()\"\n [itemContent]=\"listItemTemplate ?? dropdownOptionContent\"\n [tuiDropdownMaxHeight]=\"maxDropdownHeight\"\n (itemClick)=\"onSelect.emit($event)\"\n />\n </tui-loader>\n\n <ng-container *ngTemplateOutlet=\"textfieldIcons\"></ng-container>\n </tui-textfield>\n } @else {\n <tui-textfield\n tuiTextfieldSize=\"m\"\n tuiAppearance=\"sproc-input-appearance\"\n tuiChevron\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHint]=\"value && showedValue !== '-' ? hintContent : undefined\"\n tuiHintDirection=\"top\"\n [content]=\"valueTemplate\"\n [tuiDropdownMaxHeight]=\"maxDropdownHeight\"\n >\n <input tuiSelect [placeholder]=\"placeholder()\" [formControl]=\"control\" />\n\n <tui-loader [showLoader]=\"loading\" [overlay]=\"true\">\n <tui-data-list-wrapper\n new\n *tuiTextfieldDropdown\n [items]=\"items\"\n [itemContent]=\"listItemTemplate ?? dropdownOptionContent\"\n (itemClick)=\"onSelect.emit($event)\"\n />\n </tui-loader>\n\n <ng-container *ngTemplateOutlet=\"textfieldIcons\"></ng-container>\n </tui-textfield>\n }\n <ng-template #dropdownOptionContent let-data>\n <div>\n {{ stringify()(data) }}\n </div>\n </ng-template>\n\n <ng-template #textfieldIcons>\n <div class=\"textfield-icons-container\">\n @if (isInvalidAndNotPristine) {\n <sproc-param-invalid-icon></sproc-param-invalid-icon>\n }\n </div>\n </ng-template>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #hintContent> {{ showedValue }} </ng-template>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}.textfield-icons-container{display:flex;margin-inline-end:.5rem;margin-inline-start:.5rem;flex-direction:row;align-items:center;gap:8px}.textfield-icons-container .invalid-icon{color:var(--deleted-color);height:16px;width:16px}.textfield-icons-container .cleaner-icon{color:var(--gray-icon);height:16px;width:16px;pointer-events:auto}.textfield-icons-container .cleaner-icon:hover{color:var(--main-black);cursor:pointer}.textfield-icons-container .chevron{color:var(--gray-icon);height:16px;width:16px;pointer-events:none}.clickable:hover{cursor:pointer}.read-style-card[sproc-param-style=card]{display:flex;align-items:flex-start;gap:4px;padding:8px 0}.read-style-card[sproc-param-style=card] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:fit-content}.read-style-card[sproc-param-style=card] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.read-style-card[sproc-param-style=card] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.read-style-card[sproc-param-style=card] .dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}.read-style-card[sproc-param-style=card] .value{font-family:Inter,serif!important;font-size:14px!important;font-weight:400!important;line-height:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;color:var(--main-black)!important}.read-style-filter[sproc-param-style=filter]{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;gap:4px}.read-style-filter[sproc-param-style=filter] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:100%}.read-style-filter[sproc-param-style=filter] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.read-style-filter[sproc-param-style=filter] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.read-style-filter[sproc-param-style=filter] .dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}.read-style-filter[sproc-param-style=filter] .value{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px;color:var(--text-main)}.edit-style-card[sproc-param-style=card]{height:auto;width:100%;display:flex;flex-direction:column;padding-bottom:8px}.edit-style-card[sproc-param-style=card] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:100%}.edit-style-card[sproc-param-style=card] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.edit-style-card[sproc-param-style=card] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.edit-style-filter[sproc-param-style=filter]{width:100%;display:flex;flex-direction:column}.edit-style-filter[sproc-param-style=filter] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:fit-content}.edit-style-filter[sproc-param-style=filter] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.edit-style-filter[sproc-param-style=filter] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.default-label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px}.default-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}.default-label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}.default-dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}:host .container--read[sproc-param-style=card]{display:flex;align-items:flex-start;gap:4px;padding:8px 0}:host .container--read[sproc-param-style=card] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:fit-content}:host .container--read[sproc-param-style=card] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}:host .container--read[sproc-param-style=card] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}:host .container--read[sproc-param-style=card] .dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}:host .container--read[sproc-param-style=card] .value{font-family:Inter,serif!important;font-size:14px!important;font-weight:400!important;line-height:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;color:var(--main-black)!important}:host .container--read[sproc-param-style=filter]{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;gap:4px}:host .container--read[sproc-param-style=filter] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:100%}:host .container--read[sproc-param-style=filter] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}:host .container--read[sproc-param-style=filter] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}:host .container--read[sproc-param-style=filter] .dashed-row{display:flex;height:16px;align-items:center;flex:1 0 0;border-bottom:1px dashed var(--table-stroke);min-width:20px}:host .container--read[sproc-param-style=filter] .value{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px;color:var(--text-main)}:host .container--edit[sproc-param-style=card]{height:auto;width:100%;display:flex;flex-direction:column;padding-bottom:8px}:host .container--edit[sproc-param-style=card] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:100%}:host .container--edit[sproc-param-style=card] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}:host .container--edit[sproc-param-style=card] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}:host .container--edit[sproc-param-style=filter]{width:100%;display:flex;flex-direction:column}:host .container--edit[sproc-param-style=filter] .label-wrapper{display:flex;padding-bottom:1.5px;align-items:center;height:16px;gap:4px;width:fit-content}:host .container--edit[sproc-param-style=filter] .label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--main-black)}:host .container--edit[sproc-param-style=filter] .label.required:after{content:\"*\";color:var(--brand-danger);margin-left:2px}:host .container--edit ._chevron-rotated .textfield-icons-container{transition:all .4ms}:host .container--edit ._chevron-rotated .textfield-icons-container .chevron{transform:rotate(-180deg)}\n"] }]
222
+ }], propDecorators: { onSelect: [{
223
+ type: Output
224
+ }] } });
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvcGFyYW0tc2VsZWN0L3BhcmFtLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL3BhcmFtLXNlbGVjdC9wYXJhbS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsV0FBVyxFQUNYLE9BQU8sRUFDUCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFF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a0JBdkNoQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULGNBQWM7d0JBQ2Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDOzRCQUM5QyxVQUFVLEVBQUUsQ0FBQyxTQUErQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dDQUNoRCxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7Z0NBQzlCLGVBQWUsRUFBRSxTQUFTLENBQUMsZUFBZTtnQ0FDMUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQzs2QkFDekMsQ0FBQzt5QkFDSDtxQkFDRixjQUNXLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsNEJBQTRCO3dCQUM1QixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gseUJBQXlCO3dCQUN6QixJQUFJO3dCQUNKLFNBQVM7d0JBQ1QsV0FBVzt3QkFDWCxTQUFTO3dCQUNULFVBQVU7d0JBQ1YsT0FBTztxQkFDUjs4QkE0QlMsUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgVHVpQXBwZWFyYW5jZSxcbiAgVHVpRHJvcGRvd24sXG4gIFR1aUhpbnQsXG4gIFR1aUxvYWRlcixcbiAgVHVpVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1xuICBUdWlDaGV2cm9uLFxuICBUdWlDb21ib0JveCxcbiAgVHVpRGF0YUxpc3RXcmFwcGVyLFxuICBUdWlGaWx0ZXJCeUlucHV0UGlwZSxcbiAgVHVpU2VsZWN0LFxufSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1N3aXRjaCwgTmdTd2l0Y2hDYXNlLCBOZ1N3aXRjaERlZmF1bHQsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHVpU3RyaW5nTWF0Y2hlciB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgUGFyYW1JbnZhbGlkSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL3N1Yi1jb21wb25lbnRzL3BhcmFtLWludmFsaWQtaWNvbi9wYXJhbS1pbnZhbGlkLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZhc3RRdWVyeVN0b3JlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZmFzdC1xdWVyeS1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBhcmFtU2VsZWN0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvcGFyYW0vcGFyYW0tc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHsgSUZpbHRlclNlbGVjdFZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvcGFyYW1zLnR5cGVzJztcbmltcG9ydCB7IFBBUkFNX1NFQVJDSF9JTlBVVF9ERUJPVU5DRV9USU1FX01MUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0cy9wYXJhbXMuY29uc3RzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Byb2MtcGFyYW0tc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhcmFtLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhcmFtLXNlbGVjdC5jb21wb25lbnQubGVzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRmFzdFF1ZXJ5U3RvcmUsXG4gICAge1xuICAgICAgcHJvdmlkZTogVFVJX0lURU1TX0hBTkRMRVJTLFxuICAgICAgZGVwczogW2ZvcndhcmRSZWYoKCkgPT4gUGFyYW1TZWxlY3RDb21wb25lbnQpXSxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb21wb25lbnQ6IFBhcmFtU2VsZWN0Q29tcG9uZW50KSA9PiAoe1xuICAgICAgICBzdHJpbmdpZnk6IGNvbXBvbmVudC5zdHJpbmdpZnksXG4gICAgICAgIGlkZW50aXR5TWF0Y2hlcjogY29tcG9uZW50LmlkZW50aXR5TWF0Y2hlcixcbiAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogc2lnbmFsKCgpID0+IGZhbHNlKSxcbiAgICAgIH0pLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBUdWlUZXh0ZmllbGQsXG4gICAgVHVpQXBwZWFyYW5jZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHVpRGF0YUxpc3RXcmFwcGVyLFxuICAgIFR1aUZpbHRlckJ5SW5wdXRQaXBlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTmdTd2l0Y2gsXG4gICAgTmdTd2l0Y2hDYXNlLFxuICAgIE5nU3dpdGNoRGVmYXVsdCxcbiAgICBUdWlDb21ib0JveCxcbiAgICBQYXJhbUludmFsaWRJY29uQ29tcG9uZW50LFxuICAgIE5nSWYsXG4gICAgVHVpU2VsZWN0LFxuICAgIFR1aURyb3Bkb3duLFxuICAgIFR1aUxvYWRlcixcbiAgICBUdWlDaGV2cm9uLFxuICAgIFR1aUhpbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBhcmFtU2VsZWN0Q29tcG9uZW50XG4gIGV4dGVuZHMgUGFyYW1TZWxlY3RCYXNlPElGaWx0ZXJTZWxlY3RWYWx1ZSB8IG51bGwsIElGaWx0ZXJTZWxlY3RWYWx1ZSB8IG51bGw+XG4gIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gIG92ZXJyaWRlIHBsYWNlaG9sZGVyID0gaW5wdXQoJ9CS0YvQsdC10YDQuNGC0LUg0LfQvdCw0YfQtdC90LjQtScpO1xuICByZWFkb25seSBzdHJpbmdpZnkgPSBpbnB1dDwoaXRlbTogSUZpbHRlclNlbGVjdFZhbHVlKSA9PiBzdHJpbmc+KChpdGVtKSA9PlxuICAgIFN0cmluZyhpdGVtLm5hbWUgPz8gJycpXG4gICk7XG4gIHJlYWRvbmx5IGlkZW50aXR5TWF0Y2hlciA9IGlucHV0PChhOiBJRmlsdGVyU2VsZWN0VmFsdWUsIGI6IElGaWx0ZXJTZWxlY3RWYWx1ZSkgPT4gYm9vbGVhbj4oXG4gICAgKGEsIGIpID0+IGEuaWQgPT09IGIuaWRcbiAgKTtcbiAgcmVhZG9ubHkgbWF0Y2hlciA9IGlucHV0PFR1aVN0cmluZ01hdGNoZXI8SUZpbHRlclNlbGVjdFZhbHVlPj4oXG4gICAgKGl0ZW06IElGaWx0ZXJTZWxlY3RWYWx1ZSwgcXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFxdWVyeSB8fCBTdHJpbmcocXVlcnkpLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gU3RyaW5nKGl0ZW0/Lm5hbWUgPz8gJycpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5pbmNsdWRlcyhTdHJpbmcocXVlcnkpLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cbiAgKTtcbiAgb3ZlcnJpZGUgYnVpbGRTaG93ZWRWYWx1ZSA9IGlucHV0KFxuICAgICh2YWx1ZTogSUZpbHRlclNlbGVjdFZhbHVlIHwgbnVsbCk6IHN0cmluZyA9PiB2YWx1ZT8ubmFtZSA/PyAnLSdcbiAgKTtcbiAgcHVibGljIHN0cmljdCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIEBPdXRwdXQoKSBvblNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8SUZpbHRlclNlbGVjdFZhbHVlPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGFmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZUZldGNoSXRlbXMoKTtcbiAgICBpZiAodGhpcy5tZXRhKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpYmVPbk1ldGFDaGFuZ2VzKCk7XG4gICAgICB0aGlzLl9zdWJzY3JpYmVPblNlYXJjaCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZU9uU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoJFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKFBBUkFNX1NFQVJDSF9JTlBVVF9ERUJPVU5DRV9USU1FX01MUyksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgdGhpcy5mZXRjaEl0ZW1zKHNlYXJjaFZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZUZldGNoSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZVZhbHVlRmlsbCgpO1xuICAgIHRoaXMuX29ic2VydmVFbXB0eVZhbHVlKCk7XG4gICAgdGhpcy5fb2JzZXJ2ZVZhbHVlRmV0Y2goKTtcbiAgfVxuXG4gIHByaXZhdGUgX29ic2VydmVWYWx1ZUZpbGwoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gIXZhbHVlLm5hbWUpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy5fZ2V0SWRGcm9tVmFsdWUodmFsdWUpO1xuICAgICAgICBjb25zdCBmaWxsZWRWYWx1ZSA9IHRoaXMuaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaWQpO1xuXG4gICAgICAgIGlmIChmaWxsZWRWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShmaWxsZWRWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX29ic2VydmVFbXB0eVZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSA9PT0gbnVsbCksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KCcnKTtcbiAgICAgICAgdGhpcy5mZXRjaEl0ZW1zKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX29ic2VydmVWYWx1ZUZldGNoKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBtYXAoKHZhbHVlKSA9PiB2YWx1ZT8uaWQgPz8gbnVsbCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGZpbHRlcigoaWQpID0+ICF0aGlzLml0ZW1zLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKSlcbiAgICAgICksXG4gICAgICB0aGlzLm1ldGEkLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZmV0Y2hJdGVtcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldElkRnJvbVZhbHVlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGxcbiAgICAgID8gKCh2YWx1ZSBhcyB7IGlkPzogc3RyaW5nIHwgbnVtYmVyIH0pLmlkID8/IG51bGwpXG4gICAgICA6ICh2YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXIgfCBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZU9uTWV0YUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5tZXRhJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2hJdGVtcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZldGNoSXRlbXMoc2VhcmNoVmFsdWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB7IGlkRmllbGQsIHZhbHVlRmllbGQgfSA9IHRoaXMubWV0YUZpZWxkcztcblxuICAgIGlmICghdGhpcy5tZXRhPy50YWJsZT8ubmFtZSB8fCBpZEZpZWxkID09PSBudWxsIHx8IHZhbHVlRmllbGQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1JRHMgPSB0aGlzLl9nZXRTZWxlY3RlZEl0ZW1JRHMoc2VhcmNoVmFsdWUpO1xuXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCB3aGVyZSA9IHRoaXMuYnVpbGRXaGVyZShzZWFyY2hWYWx1ZSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtSWRzV2hlcmUgPSB0aGlzLl9idWlsZFNlbGVjdGVkSXRlbUlkc1doZXJlKHdoZXJlLCBzZWxlY3RlZEl0ZW1JRHMsIGlkRmllbGQpO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmdldFJlc3VsdHMoXG4gICAgICAgIHtcbiAgICAgICAgICB0YWJsZTogdGhpcy5tZXRhLnRhYmxlLFxuICAgICAgICAgIHdoZXJlLFxuICAgICAgICAgIG9yZGVyX2J5OiB0aGlzLm1ldGEub3JkZXJfYnksXG4gICAgICAgICAgb2Zmc2V0OiB0aGlzLm1ldGEub2Zmc2V0LFxuICAgICAgICAgIGRpc3RpbmN0X29uOiB0aGlzLm1ldGEuZGlzdGluY3Rfb24sXG4gICAgICAgICAgc3VicXVlcnk6IHRoaXMubWV0YS5zdWJxdWVyeSxcbiAgICAgICAgICBsaW1pdDogdGhpcy5tZXRhLmxpbWl0ID8/IHRoaXMubGltaXQsXG4gICAgICAgIH0sXG4gICAgICAgIHRydWUsXG4gICAgICAgIHNlbGVjdGVkSXRlbUlkc1doZXJlXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5faGFuZGxlUmVzdWx0cyhkYXRhLCBpZEZpZWxkLCB2YWx1ZUZpZWxkLCBzZWxlY3RlZEl0ZW1JRHMpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U2VsZWN0ZWRJdGVtSURzKHNlYXJjaFZhbHVlPzogc3RyaW5nKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnZhbHVlICYmICghc2VhcmNoVmFsdWUgfHwgc2VhcmNoVmFsdWUgPT09ICcnKSkge1xuICAgICAgY29uc3QgaWRGaWVsZCA9IHRoaXMubWV0YT8udGFibGUuaWRGaWVsZCA/PyAnaWQnO1xuICAgICAgcmV0dXJuIFt0aGlzLnZhbHVlW2lkRmllbGRdXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGRTZWxlY3RlZEl0ZW1JZHNXaGVyZShcbiAgICB3aGVyZTogYW55LFxuICAgIHNlbGVjdGVkSXRlbUlEczogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4gICAgaWRGaWVsZDogc3RyaW5nXG4gICk6IG9iamVjdCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHdoZXJlICYmIHNlbGVjdGVkSXRlbUlEcyAmJiBzZWxlY3RlZEl0ZW1JRHMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEl0ZW1JRHNbMF0pIHtcbiAgICAgIHJldHVybiB7IF9hbmQ6IFt7IFtpZEZpZWxkXTogeyBfaW46IHNlbGVjdGVkSXRlbUlEcyB9IH0sIHdoZXJlXSB9O1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVSZXN1bHRzKFxuICAgIGRhdGE6IGFueSxcbiAgICBpZEZpZWxkOiBzdHJpbmcsXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nLFxuICAgIHNlbGVjdGVkSXRlbUlEczogc3RyaW5nW10gfCB1bmRlZmluZWRcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtcyA9IGRhdGEuZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBpZDogaXRlbVtpZEZpZWxkXSA/PyAnJyxcbiAgICAgIG5hbWU6IHRoaXMuX2dldE5hbWVGcm9tRmllbGQoaXRlbSwgdmFsdWVGaWVsZCksXG4gICAgfSkpO1xuXG4gICAgdGhpcy5fdXBkYXRlQ29udHJvbFZhbHVlcyhkYXRhLCBpZEZpZWxkLCB2YWx1ZUZpZWxkLCBzZWxlY3RlZEl0ZW1JRHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TmFtZUZyb21GaWVsZChpdGVtOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChmaWVsZC5pbmNsdWRlcygnLicpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0TmFtZUZyb21EZWVwRmllbGQoaXRlbSwgZmllbGQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZvcm1hdFNob3dlZFZhbHVlKGl0ZW0sIGZpZWxkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5hbWVGcm9tRGVlcEZpZWxkKGl0ZW06IGFueSwgZmllbGQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGVlcEZpZWxkcyA9IGZpZWxkLnNwbGl0KCcuJyk7XG4gICAgbGV0IHRlbXBPYmplY3QgPSB7IC4uLml0ZW0gfTtcblxuICAgIGZvciAoY29uc3QgZGVlcEZpZWxkIG9mIGRlZXBGaWVsZHMpIHtcbiAgICAgIHRlbXBPYmplY3QgPSB0ZW1wT2JqZWN0W2RlZXBGaWVsZF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlbXBPYmplY3Q7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVDb250cm9sVmFsdWVzKFxuICAgIGRhdGE6IGFueSxcbiAgICBpZEZpZWxkOiBzdHJpbmcsXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nLFxuICAgIHNlbGVjdGVkSXRlbUlEczogc3RyaW5nW10gfCB1bmRlZmluZWRcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgaWRTZWxlY3RlZFZhbHVlID0gdGhpcy52YWx1ZT8uW2lkRmllbGRdO1xuICAgIGNvbnN0IGF2YWlsYWJsZUl0ZW1zID1cbiAgICAgIGRhdGEuc2VsZWN0ZWRJZHNRdWVyeVxuICAgICAgICA/LmZpbHRlcigoaXRlbTogYW55KSA9PiBpZFNlbGVjdGVkVmFsdWUgPT09IGl0ZW1baWRGaWVsZF0pXG4gICAgICAgIC5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIGlkOiBpdGVtW2lkRmllbGRdID8/ICcnLFxuICAgICAgICAgIG5hbWU6IHRoaXMuX2dldE5hbWVGcm9tRmllbGQoaXRlbSwgdmFsdWVGaWVsZCksXG4gICAgICAgIH0pKSA/PyBbXTtcblxuICAgIGlmIChzZWxlY3RlZEl0ZW1JRHMgJiYgc2VsZWN0ZWRJdGVtSURzLmxlbmd0aCA+IDAgJiYgYXZhaWxhYmxlSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgW2l0ZW1dID0gYXZhaWxhYmxlSXRlbXM7XG4gICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKGl0ZW0pO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zVGhhdERvbnRFeGlzdCA9IGF2YWlsYWJsZUl0ZW1zLmZpbHRlcihcbiAgICAgIChuZXdfaXRlbTogYW55KSA9PiAhdGhpcy5pdGVtcy5zb21lKCh2YWx1ZTogYW55KSA9PiB2YWx1ZS5pZCA9PT0gbmV3X2l0ZW0uaWQpXG4gICAgKTtcblxuICAgIHRoaXMuaXRlbXMucHVzaCguLi5pdGVtc1RoYXREb250RXhpc3QpO1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJyZWFkbW9kZSA/IHJlYWRUZW1wbGF0ZSA6IGVkaXRUZW1wbGF0ZVwiPlxuICA8bmctdGVtcGxhdGUgI3JlYWRUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIGNvbnRhaW5lci0tcmVhZFwiIFthdHRyLnNwcm9jLXBhcmFtLXN0eWxlXT1cInBhcmFtU3R5bGVcIj5cbiAgICAgIEBpZiAobGFiZWwpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicGFyYW1TdHlsZVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJmaWx0ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhc2hlZC1yb3dcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXNoZWQtcm93XCI+PC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICB9XG4gICAgICA8ZGl2IFt0dWlIaW50XT1cInZhbHVlICYmIHNob3dlZFZhbHVlICE9PSAnLScgPyBoaW50Q29udGVudCA6IHVuZGVmaW5lZFwiIGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgPHNwYW4+e3sgc2hvd2VkVmFsdWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItLWVkaXRcIiBbYXR0ci5zcHJvYy1wYXJhbS1zdHlsZV09XCJwYXJhbVN0eWxlXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImxhYmVsLXdyYXBwZXJcIiBbY2xhc3MuYXBwbGllZF09XCJhcHBsaWVkKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFtjbGFzcy5yZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHNlYXJjaGFibGUpIHtcbiAgICAgICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgdHVpQXBwZWFyYW5jZT1cInNwcm9jLWlucHV0LWFwcGVhcmFuY2VcIlxuICAgICAgICAgIHR1aUNoZXZyb25cbiAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgICBbdHVpSGludF09XCJ2YWx1ZSAmJiBzaG93ZWRWYWx1ZSAhPT0gJy0nID8gaGludENvbnRlbnQgOiB1bmRlZmluZWRcIlxuICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgIFtjb250ZW50XT1cInZhbHVlVGVtcGxhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAoaW5wdXQpPVwic2VhcmNoJC5uZXh0KCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcbiAgICAgICAgICAgIHR1aUNvbWJvQm94XG4gICAgICAgICAgICBbc3RyaWN0XT1cInN0cmljdCgpXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPHR1aS1sb2FkZXIgW3Nob3dMb2FkZXJdPVwibG9hZGluZ1wiIFtvdmVybGF5XT1cInRydWVcIj5cbiAgICAgICAgICAgIDx0dWktZGF0YS1saXN0LXdyYXBwZXJcbiAgICAgICAgICAgICAgbmV3XG4gICAgICAgICAgICAgICp0dWlUZXh0ZmllbGREcm9wZG93blxuICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXMgfCB0dWlGaWx0ZXJCeUlucHV0OiBtYXRjaGVyKClcIlxuICAgICAgICAgICAgICBbaXRlbUNvbnRlbnRdPVwibGlzdEl0ZW1UZW1wbGF0ZSA/PyBkcm9wZG93bk9wdGlvbkNvbnRlbnRcIlxuICAgICAgICAgICAgICBbdHVpRHJvcGRvd25NYXhIZWlnaHRdPVwibWF4RHJvcGRvd25IZWlnaHRcIlxuICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cIm9uU2VsZWN0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvdHVpLWxvYWRlcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZXh0ZmllbGRJY29uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3R1aS10ZXh0ZmllbGQ+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgdHVpQXBwZWFyYW5jZT1cInNwcm9jLWlucHV0LWFwcGVhcmFuY2VcIlxuICAgICAgICAgIHR1aUNoZXZyb25cbiAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgIFt0dWlUZXh0ZmllbGRDbGVhbmVyXT1cInRydWVcIlxuICAgICAgICAgIFt0dWlIaW50XT1cInZhbHVlICYmIHNob3dlZFZhbHVlICE9PSAnLScgPyBoaW50Q29udGVudCA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgdHVpSGludERpcmVjdGlvbj1cInRvcFwiXG4gICAgICAgICAgW2NvbnRlbnRdPVwidmFsdWVUZW1wbGF0ZVwiXG4gICAgICAgICAgW3R1aURyb3Bkb3duTWF4SGVpZ2h0XT1cIm1heERyb3Bkb3duSGVpZ2h0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dCB0dWlTZWxlY3QgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIC8+XG5cbiAgICAgICAgICA8dHVpLWxvYWRlciBbc2hvd0xvYWRlcl09XCJsb2FkaW5nXCIgW292ZXJsYXldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICBuZXdcbiAgICAgICAgICAgICAgKnR1aVRleHRmaWVsZERyb3Bkb3duXG4gICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICAgIFtpdGVtQ29udGVudF09XCJsaXN0SXRlbVRlbXBsYXRlID8/IGRyb3Bkb3duT3B0aW9uQ29udGVudFwiXG4gICAgICAgICAgICAgIChpdGVtQ2xpY2spPVwib25TZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC90dWktbG9hZGVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRleHRmaWVsZEljb25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdHVpLXRleHRmaWVsZD5cbiAgICAgIH1cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25Db250ZW50IGxldC1kYXRhPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHt7IHN0cmluZ2lmeSgpKGRhdGEpIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPG5nLXRlbXBsYXRlICN0ZXh0ZmllbGRJY29ucz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHRmaWVsZC1pY29ucy1jb250YWluZXJcIj5cbiAgICAgICAgICBAaWYgKGlzSW52YWxpZEFuZE5vdFByaXN0aW5lKSB7XG4gICAgICAgICAgICA8c3Byb2MtcGFyYW0taW52YWxpZC1pY29uPjwvc3Byb2MtcGFyYW0taW52YWxpZC1pY29uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaGludENvbnRlbnQ+IHt7IHNob3dlZFZhbHVlIH19IDwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { ParamBase } from '../../../core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@prizm-ui/components";
7
+ export class ParamSwitcherComponent extends ParamBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.switchers = [];
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParamSwitcherComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ParamSwitcherComponent, selector: "sproc-param-switcher", inputs: { switchers: "switchers" }, usesInheritance: true, ngImport: i0, template: "<div class=\"param-switcher\">\n <div *ngIf=\"label\" class=\"label\">\n <span *ngIf=\"label\" class=\"label__text\">{{ label }}</span>\n <span *ngIf=\"required\" class=\"label--required\">*</span>\n </div>\n\n <prizm-switcher [formControl]=\"control\" [switchers]=\"switchers\"></prizm-switcher>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host .param-switcher{display:flex;flex-direction:column;gap:8px}:host .param-switcher .label{display:flex;gap:4px;font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}:host .param-switcher .label__text{color:var(--main-black)}:host .param-switcher .label--required{color:var(--brand-danger)}:host .param-switcher ::ng-deep prizm-switcher .container{display:flex;flex:1}:host .param-switcher ::ng-deep prizm-switcher .container prizm-switcher-item{display:flex;flex:1}:host .param-switcher ::ng-deep prizm-switcher .container prizm-switcher-item button{height:24px!important;min-height:24px!important;display:flex;flex:1}:host .param-switcher ::ng-deep prizm-switcher .container prizm-switcher-item button prizm-wrapper{display:flex;align-items:center;justify-content:center;padding:unset!important;border:1px solid var(--chip-background)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PrizmSwitcherComponent, selector: "prizm-switcher", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParamSwitcherComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'sproc-param-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"param-switcher\">\n <div *ngIf=\"label\" class=\"label\">\n <span *ngIf=\"label\" class=\"label__text\">{{ label }}</span>\n <span *ngIf=\"required\" class=\"label--required\">*</span>\n </div>\n\n <prizm-switcher [formControl]=\"control\" [switchers]=\"switchers\"></prizm-switcher>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host .param-switcher{display:flex;flex-direction:column;gap:8px}:host .param-switcher .label{display:flex;gap:4px;font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}:host .param-switcher .label__text{color:var(--main-black)}:host .param-switcher .label--required{color:var(--brand-danger)}:host .param-switcher ::ng-deep prizm-switcher .container{display:flex;flex:1}:host .param-switcher ::ng-deep prizm-switcher .container prizm-switcher-item{display:flex;flex:1}:host .param-switcher ::ng-deep prizm-switcher .container prizm-switcher-item button{height:24px!important;min-height:24px!important;display:flex;flex:1}:host .param-switcher ::ng-deep prizm-switcher .container prizm-switcher-item button prizm-wrapper{display:flex;align-items:center;justify-content:center;padding:unset!important;border:1px solid var(--chip-background)}\n"] }]
18
+ }], propDecorators: { switchers: [{
19
+ type: Input
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc3dpdGNoZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0cy9wYXJhbS1zd2l0Y2hlci9wYXJhbS1zd2l0Y2hlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL3BhcmFtLXN3aXRjaGVyL3BhcmFtLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTFDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxTQUF5QjtJQU5yRTs7UUFPVyxjQUFTLEdBQXdCLEVBQUUsQ0FBQztLQUM5QzsrR0FGWSxzQkFBc0I7bUdBQXRCLHNCQUFzQix1SENWbkMsNlRBUUE7OzRGREVhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcml6bVN3aXRjaGVySXRlbSB9IGZyb20gJ0Bwcml6bS11aS9jb21wb25lbnRzJztcbmltcG9ydCB7IFBhcmFtQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHJvYy1wYXJhbS1zd2l0Y2hlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXJhbS1zd2l0Y2hlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhcmFtLXN3aXRjaGVyLmNvbXBvbmVudC5sZXNzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQYXJhbVN3aXRjaGVyQ29tcG9uZW50IGV4dGVuZHMgUGFyYW1CYXNlPG51bWJlciwgbnVtYmVyPiB7XG4gIEBJbnB1dCgpIHN3aXRjaGVyczogUHJpem1Td2l0Y2hlckl0ZW1bXSA9IFtdO1xufVxuIiwiPGRpdiBjbGFzcz1cInBhcmFtLXN3aXRjaGVyXCI+XG4gIDxkaXYgKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwibGFiZWxcIj5cbiAgICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJsYWJlbF9fdGV4dFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImxhYmVsLS1yZXF1aXJlZFwiPio8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxwcml6bS1zd2l0Y2hlciBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtzd2l0Y2hlcnNdPVwic3dpdGNoZXJzXCI+PC9wcml6bS1zd2l0Y2hlcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,28 @@
1
+ import { ESwitcherValue } from '../types/param-switcher-date-time-range.types';
2
+ export const SwitcherItems = [
3
+ {
4
+ id: ESwitcherValue.MONTH,
5
+ title: 'мес',
6
+ },
7
+ {
8
+ id: ESwitcherValue.FIRST,
9
+ title: '1 кв',
10
+ },
11
+ {
12
+ id: ESwitcherValue.SECOND,
13
+ title: '2 кв',
14
+ },
15
+ {
16
+ id: ESwitcherValue.THIRD,
17
+ title: '3 кв',
18
+ },
19
+ {
20
+ id: ESwitcherValue.FOURTH,
21
+ title: '4 кв',
22
+ },
23
+ {
24
+ id: ESwitcherValue.YEAR,
25
+ title: 'год',
26
+ },
27
+ ];
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlLmNvbnN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvcGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlL2NvbnN0cy9wYXJhbS1zd2l0Y2hlci1kYXRlLXRpbWUtcmFuZ2UuY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXdCO0lBQ2hEO1FBQ0UsRUFBRSxFQUFFLGNBQWMsQ0FBQyxLQUFLO1FBQ3hCLEtBQUssRUFBRSxLQUFLO0tBQ2I7SUFDRDtRQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsS0FBSztRQUN4QixLQUFLLEVBQUUsTUFBTTtLQUNkO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsY0FBYyxDQUFDLE1BQU07UUFDekIsS0FBSyxFQUFFLE1BQU07S0FDZDtJQUNEO1FBQ0UsRUFBRSxFQUFFLGNBQWMsQ0FBQyxLQUFLO1FBQ3hCLEtBQUssRUFBRSxNQUFNO0tBQ2Q7SUFDRDtRQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsTUFBTTtRQUN6QixLQUFLLEVBQUUsTUFBTTtLQUNkO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUk7UUFDdkIsS0FBSyxFQUFFLEtBQUs7S0FDYjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcml6bVN3aXRjaGVySXRlbSB9IGZyb20gJ0Bwcml6bS11aS9jb21wb25lbnRzJztcbmltcG9ydCB7IEVTd2l0Y2hlclZhbHVlIH0gZnJvbSAnLi4vdHlwZXMvcGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IFN3aXRjaGVySXRlbXM6IFByaXptU3dpdGNoZXJJdGVtW10gPSBbXG4gIHtcbiAgICBpZDogRVN3aXRjaGVyVmFsdWUuTU9OVEgsXG4gICAgdGl0bGU6ICfQvNC10YEnLFxuICB9LFxuICB7XG4gICAgaWQ6IEVTd2l0Y2hlclZhbHVlLkZJUlNULFxuICAgIHRpdGxlOiAnMSDQutCyJyxcbiAgfSxcbiAge1xuICAgIGlkOiBFU3dpdGNoZXJWYWx1ZS5TRUNPTkQsXG4gICAgdGl0bGU6ICcyINC60LInLFxuICB9LFxuICB7XG4gICAgaWQ6IEVTd2l0Y2hlclZhbHVlLlRISVJELFxuICAgIHRpdGxlOiAnMyDQutCyJyxcbiAgfSxcbiAge1xuICAgIGlkOiBFU3dpdGNoZXJWYWx1ZS5GT1VSVEgsXG4gICAgdGl0bGU6ICc0INC60LInLFxuICB9LFxuICB7XG4gICAgaWQ6IEVTd2l0Y2hlclZhbHVlLllFQVIsXG4gICAgdGl0bGU6ICfQs9C+0LQnLFxuICB9LFxuXTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export { ESwitcherValue } from './types/param-switcher-date-time-range.types';
2
+ export { ParamSwitcherDateTimeRangeComponent } from './param-switcher-date-time-range.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL3BhcmFtLXN3aXRjaGVyLWRhdGUtdGltZS1yYW5nZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBFU3dpdGNoZXJWYWx1ZSB9IGZyb20gJy4vdHlwZXMvcGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlLnR5cGVzJztcbmV4cG9ydCB7IFBhcmFtU3dpdGNoZXJEYXRlVGltZVJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9wYXJhbS1zd2l0Y2hlci1kYXRlLXRpbWUtcmFuZ2UuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,105 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { PrizmDateTimeRange, PrizmDay, PrizmDayRange, PrizmTime, PrizmTimeRange, } from '@prizm-ui/components';
4
+ import { SwitcherItems } from './consts/param-switcher-date-time-range.consts';
5
+ import { ESwitcherValue } from './types/param-switcher-date-time-range.types';
6
+ import { ParamDateTimeRangeComponent } from '../param-date-time-range/param-date-time-range.component';
7
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
8
+ import { EMonth } from '../../../consts/month.consts';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "@angular/forms";
12
+ import * as i3 from "@prizm-ui/components";
13
+ export class ParamSwitcherDateTimeRangeComponent extends ParamDateTimeRangeComponent {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.switcherControl = new FormControl(null);
17
+ this.switchers = SwitcherItems;
18
+ }
19
+ onInit() {
20
+ super.onInit();
21
+ this._subscribeOnSwitcher();
22
+ }
23
+ afterViewInit() {
24
+ super.afterViewInit();
25
+ this.switcherControl.setValue(ESwitcherValue.MONTH);
26
+ }
27
+ _subscribeOnSwitcher() {
28
+ this.switcherControl.valueChanges
29
+ .pipe(takeUntilDestroyed(this.dr))
30
+ .subscribe((switcherValue) => {
31
+ const now = new Date();
32
+ const year = now.getFullYear();
33
+ const month = now.getMonth();
34
+ let controlValue = null;
35
+ if (switcherValue === ESwitcherValue.MONTH) {
36
+ controlValue = this._calcMonthRange(year, month);
37
+ }
38
+ else if (switcherValue === ESwitcherValue.FIRST) {
39
+ controlValue = this._calcFirstQuarterRange(year);
40
+ }
41
+ else if (switcherValue === ESwitcherValue.SECOND) {
42
+ controlValue = this._calcSecondQuarterRange(year);
43
+ }
44
+ else if (switcherValue === ESwitcherValue.THIRD) {
45
+ controlValue = this._calcThirdQuarterRange(year);
46
+ }
47
+ else if (switcherValue === ESwitcherValue.FOURTH) {
48
+ controlValue = this._calcFourthQuarterRange(year);
49
+ }
50
+ else if (switcherValue === ESwitcherValue.YEAR) {
51
+ controlValue = this._calcYearRange(year);
52
+ }
53
+ this.control.setValue(controlValue);
54
+ });
55
+ }
56
+ _calcMonthRange(year, month) {
57
+ const from = new Date(year, month, 1);
58
+ const to = new Date(year, month);
59
+ to.setMonth(to.getMonth() + 1);
60
+ to.setMilliseconds(to.getMilliseconds() - 1);
61
+ return new PrizmDateTimeRange(new PrizmDayRange(PrizmDay.fromLocalNativeDate(from), PrizmDay.fromLocalNativeDate(to)), new PrizmTimeRange(PrizmTime.fromLocalNativeDate(from), PrizmTime.fromLocalNativeDate(to)));
62
+ }
63
+ _calcFirstQuarterRange(year) {
64
+ const from = new Date(year, EMonth.JAN, 1);
65
+ const to = new Date(year, EMonth.MAR);
66
+ to.setMonth(to.getMonth() + 1);
67
+ to.setMilliseconds(to.getMilliseconds() - 1);
68
+ return new PrizmDateTimeRange(new PrizmDayRange(PrizmDay.fromLocalNativeDate(from), PrizmDay.fromLocalNativeDate(to)), new PrizmTimeRange(PrizmTime.fromLocalNativeDate(from), PrizmTime.fromLocalNativeDate(to)));
69
+ }
70
+ _calcSecondQuarterRange(year) {
71
+ const from = new Date(year, EMonth.APR, 1);
72
+ const to = new Date(year, EMonth.JUN);
73
+ to.setMonth(to.getMonth() + 1);
74
+ to.setMilliseconds(to.getMilliseconds() - 1);
75
+ return new PrizmDateTimeRange(new PrizmDayRange(PrizmDay.fromLocalNativeDate(from), PrizmDay.fromLocalNativeDate(to)), new PrizmTimeRange(PrizmTime.fromLocalNativeDate(from), PrizmTime.fromLocalNativeDate(to)));
76
+ }
77
+ _calcThirdQuarterRange(year) {
78
+ const from = new Date(year, EMonth.JUL, 1);
79
+ const to = new Date(year, EMonth.SEP);
80
+ to.setMonth(to.getMonth() + 1);
81
+ to.setMilliseconds(to.getMilliseconds() - 1);
82
+ return new PrizmDateTimeRange(new PrizmDayRange(PrizmDay.fromLocalNativeDate(from), PrizmDay.fromLocalNativeDate(to)), new PrizmTimeRange(PrizmTime.fromLocalNativeDate(from), PrizmTime.fromLocalNativeDate(to)));
83
+ }
84
+ _calcFourthQuarterRange(year) {
85
+ const from = new Date(year, EMonth.OCT, 1);
86
+ const to = new Date(year, EMonth.DEC);
87
+ to.setMonth(to.getMonth() + 1);
88
+ to.setMilliseconds(to.getMilliseconds() - 1);
89
+ return new PrizmDateTimeRange(new PrizmDayRange(PrizmDay.fromLocalNativeDate(from), PrizmDay.fromLocalNativeDate(to)), new PrizmTimeRange(PrizmTime.fromLocalNativeDate(from), PrizmTime.fromLocalNativeDate(to)));
90
+ }
91
+ _calcYearRange(year) {
92
+ const from = new Date(year, EMonth.JAN, 1);
93
+ const to = new Date(year, EMonth.DEC);
94
+ to.setMonth(to.getMonth() + 1);
95
+ to.setMilliseconds(to.getMilliseconds() - 1);
96
+ return new PrizmDateTimeRange(new PrizmDayRange(PrizmDay.fromLocalNativeDate(from), PrizmDay.fromLocalNativeDate(to)), new PrizmTimeRange(PrizmTime.fromLocalNativeDate(from), PrizmTime.fromLocalNativeDate(to)));
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParamSwitcherDateTimeRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ParamSwitcherDateTimeRangeComponent, selector: "sproc-param-switcher-date-time-range", usesInheritance: true, ngImport: i0, template: "<div class=\"param-custom-template\">\n <div *ngIf=\"label\" class=\"label\">\n <span *ngIf=\"label\" class=\"label__text\">{{ label }}</span>\n <span *ngIf=\"required\" class=\"label--required\">*</span>\n </div>\n\n <prizm-switcher [switchers]=\"switchers\" [formControl]=\"switcherControl\"></prizm-switcher>\n\n <prizm-input-layout class=\"flex-shrink--zero\" size=\"s\" [forceClear]=\"forceClear\">\n <prizm-input-layout-date-time-range\n [placeholder]=\"placeholder()\"\n [timeMode]=\"timeMode\"\n [maxLength]=\"maxLength\"\n [min]=\"$any(min)\"\n [max]=\"$any(max)\"\n [formControl]=\"control\"\n ></prizm-input-layout-date-time-range>\n </prizm-input-layout>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host .param-custom-template{width:100%;display:flex;flex-direction:column;padding:0 2px;gap:8px}:host .param-custom-template .label{display:flex;gap:4px;font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}:host .param-custom-template .label__text{color:var(--main-black)}:host .param-custom-template .label--required{color:var(--brand-danger)}:host .param-custom-template ::ng-deep prizm-switcher .container{display:flex;flex:1}:host .param-custom-template ::ng-deep prizm-switcher .container prizm-switcher-item{display:flex;flex:1}:host .param-custom-template ::ng-deep prizm-switcher .container prizm-switcher-item button{height:24px!important;min-height:24px!important;display:flex;flex:1}:host .param-custom-template ::ng-deep prizm-switcher .container prizm-switcher-item button prizm-wrapper{display:flex;align-items:center;justify-content:center;padding:unset!important}:host .param-custom-template ::ng-deep .prizm-input-form:not(.prizm-input-form-focused){background:inherit;border:none;border-bottom:1px solid #d7d8df;padding:0 3.5px 0 8px}:host .param-custom-template ::ng-deep .prizm-input-form .prizm-input-form-focused{background:inherit;border:1px!important;border-bottom:1px solid #d7d8df}:host .param-custom-template ::ng-deep .prizm-input-form-inner{min-height:32px;height:32px}:host .param-custom-template ::ng-deep input{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PrizmInputLayoutComponent, selector: "prizm-input-layout", inputs: ["label", "size", "status", "outer", "clearButton", "hideClearButtonHint", "border", "position", "forceClear"], outputs: ["clear"] }, { kind: "component", type: i3.PrizmSwitcherComponent, selector: "prizm-switcher", inputs: ["size"] }, { kind: "component", type: i3.PrizmInputLayoutDateTimeRangeComponent, selector: "prizm-input-layout-date-time-range", inputs: ["disabledItemHandler", "markerHandler", "defaultViewedMonth", "items", "placeholder", "min", "max", "timeStrict", "minLength", "maxLength", "timeMode", "timeItems", "extraButtonInjector"] }] }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParamSwitcherDateTimeRangeComponent, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'sproc-param-switcher-date-time-range', template: "<div class=\"param-custom-template\">\n <div *ngIf=\"label\" class=\"label\">\n <span *ngIf=\"label\" class=\"label__text\">{{ label }}</span>\n <span *ngIf=\"required\" class=\"label--required\">*</span>\n </div>\n\n <prizm-switcher [switchers]=\"switchers\" [formControl]=\"switcherControl\"></prizm-switcher>\n\n <prizm-input-layout class=\"flex-shrink--zero\" size=\"s\" [forceClear]=\"forceClear\">\n <prizm-input-layout-date-time-range\n [placeholder]=\"placeholder()\"\n [timeMode]=\"timeMode\"\n [maxLength]=\"maxLength\"\n [min]=\"$any(min)\"\n [max]=\"$any(max)\"\n [formControl]=\"control\"\n ></prizm-input-layout-date-time-range>\n </prizm-input-layout>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host .param-custom-template{width:100%;display:flex;flex-direction:column;padding:0 2px;gap:8px}:host .param-custom-template .label{display:flex;gap:4px;font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}:host .param-custom-template .label__text{color:var(--main-black)}:host .param-custom-template .label--required{color:var(--brand-danger)}:host .param-custom-template ::ng-deep prizm-switcher .container{display:flex;flex:1}:host .param-custom-template ::ng-deep prizm-switcher .container prizm-switcher-item{display:flex;flex:1}:host .param-custom-template ::ng-deep prizm-switcher .container prizm-switcher-item button{height:24px!important;min-height:24px!important;display:flex;flex:1}:host .param-custom-template ::ng-deep prizm-switcher .container prizm-switcher-item button prizm-wrapper{display:flex;align-items:center;justify-content:center;padding:unset!important}:host .param-custom-template ::ng-deep .prizm-input-form:not(.prizm-input-form-focused){background:inherit;border:none;border-bottom:1px solid #d7d8df;padding:0 3.5px 0 8px}:host .param-custom-template ::ng-deep .prizm-input-form .prizm-input-form-focused{background:inherit;border:1px!important;border-bottom:1px solid #d7d8df}:host .param-custom-template ::ng-deep .prizm-input-form-inner{min-height:32px;height:32px}:host .param-custom-template ::ng-deep input{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}\n"] }]
104
+ }] });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvcGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlL3BhcmFtLXN3aXRjaGVyLWRhdGUtdGltZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL3BhcmFtLXN3aXRjaGVyLWRhdGUtdGltZS1yYW5nZS9wYXJhbS1zd2l0Y2hlci1kYXRlLXRpbWUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsYUFBYSxFQUNiLFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFPdEQsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDJCQUEyQjtJQUxwRjs7UUFNWSxvQkFBZSxHQUFHLElBQUksV0FBVyxDQUF3QixJQUFJLENBQUMsQ0FB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SUFDSixDQUFDOytHQWhIVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyxtR0NwQmhELHF0QkFtQkE7OzRGRENhLG1DQUFtQztrQkFML0MsU0FBUzsrQkFDRSxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgUHJpem1EYXRlVGltZVJhbmdlLFxuICBQcml6bURheSxcbiAgUHJpem1EYXlSYW5nZSxcbiAgUHJpem1UaW1lLFxuICBQcml6bVRpbWVSYW5nZSxcbn0gZnJvbSAnQHByaXptLXVpL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgU3dpdGNoZXJJdGVtcyB9IGZyb20gJy4vY29uc3RzL3BhcmFtLXN3aXRjaGVyLWRhdGUtdGltZS1yYW5nZS5jb25zdHMnO1xuaW1wb3J0IHsgRVN3aXRjaGVyVmFsdWUgfSBmcm9tICcuL3R5cGVzL3BhcmFtLXN3aXRjaGVyLWRhdGUtdGltZS1yYW5nZS50eXBlcyc7XG5pbXBvcnQgeyBQYXJhbURhdGVUaW1lUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuLi9wYXJhbS1kYXRlLXRpbWUtcmFuZ2UvcGFyYW0tZGF0ZS10aW1lLXJhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBFTW9udGggfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvbW9udGguY29uc3RzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Byb2MtcGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhcmFtLXN3aXRjaGVyLWRhdGUtdGltZS1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhcmFtLXN3aXRjaGVyLWRhdGUtdGltZS1yYW5nZS5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQYXJhbVN3aXRjaGVyRGF0ZVRpbWVSYW5nZUNvbXBvbmVudCBleHRlbmRzIFBhcmFtRGF0ZVRpbWVSYW5nZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzd2l0Y2hlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8RVN3aXRjaGVyVmFsdWUgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHN3aXRjaGVycyA9IFN3aXRjaGVySXRlbXM7XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5vbkluaXQoKTtcbiAgICB0aGlzLl9zdWJzY3JpYmVPblN3aXRjaGVyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgYWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5hZnRlclZpZXdJbml0KCk7XG4gICAgdGhpcy5zd2l0Y2hlckNvbnRyb2wuc2V0VmFsdWUoRVN3aXRjaGVyVmFsdWUuTU9OVEgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaWJlT25Td2l0Y2hlcigpOiB2b2lkIHtcbiAgICB0aGlzLnN3aXRjaGVyQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN3aXRjaGVyVmFsdWUpID0+IHtcbiAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgeWVhciA9IG5vdy5nZXRGdWxsWWVhcigpO1xuICAgICAgICBjb25zdCBtb250aDogRU1vbnRoID0gbm93LmdldE1vbnRoKCk7XG5cbiAgICAgICAgbGV0IGNvbnRyb2xWYWx1ZTogUHJpem1EYXRlVGltZVJhbmdlIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgaWYgKHN3aXRjaGVyVmFsdWUgPT09IEVTd2l0Y2hlclZhbHVlLk1PTlRIKSB7XG4gICAgICAgICAgY29udHJvbFZhbHVlID0gdGhpcy5fY2FsY01vbnRoUmFuZ2UoeWVhciwgbW9udGgpO1xuICAgICAgICB9IGVsc2UgaWYgKHN3aXRjaGVyVmFsdWUgPT09IEVTd2l0Y2hlclZhbHVlLkZJUlNUKSB7XG4gICAgICAgICAgY29udHJvbFZhbHVlID0gdGhpcy5fY2FsY0ZpcnN0UXVhcnRlclJhbmdlKHllYXIpO1xuICAgICAgICB9IGVsc2UgaWYgKHN3aXRjaGVyVmFsdWUgPT09IEVTd2l0Y2hlclZhbHVlLlNFQ09ORCkge1xuICAgICAgICAgIGNvbnRyb2xWYWx1ZSA9IHRoaXMuX2NhbGNTZWNvbmRRdWFydGVyUmFuZ2UoeWVhcik7XG4gICAgICAgIH0gZWxzZSBpZiAoc3dpdGNoZXJWYWx1ZSA9PT0gRVN3aXRjaGVyVmFsdWUuVEhJUkQpIHtcbiAgICAgICAgICBjb250cm9sVmFsdWUgPSB0aGlzLl9jYWxjVGhpcmRRdWFydGVyUmFuZ2UoeWVhcik7XG4gICAgICAgIH0gZWxzZSBpZiAoc3dpdGNoZXJWYWx1ZSA9PT0gRVN3aXRjaGVyVmFsdWUuRk9VUlRIKSB7XG4gICAgICAgICAgY29udHJvbFZhbHVlID0gdGhpcy5fY2FsY0ZvdXJ0aFF1YXJ0ZXJSYW5nZSh5ZWFyKTtcbiAgICAgICAgfSBlbHNlIGlmIChzd2l0Y2hlclZhbHVlID09PSBFU3dpdGNoZXJWYWx1ZS5ZRUFSKSB7XG4gICAgICAgICAgY29udHJvbFZhbHVlID0gdGhpcy5fY2FsY1llYXJSYW5nZSh5ZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShjb250cm9sVmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjTW9udGhSYW5nZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBFTW9udGgpOiBQcml6bURhdGVUaW1lUmFuZ2Uge1xuICAgIGNvbnN0IGZyb20gPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XG4gICAgY29uc3QgdG8gPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCk7XG4gICAgdG8uc2V0TW9udGgodG8uZ2V0TW9udGgoKSArIDEpO1xuICAgIHRvLnNldE1pbGxpc2Vjb25kcyh0by5nZXRNaWxsaXNlY29uZHMoKSAtIDEpO1xuXG4gICAgcmV0dXJuIG5ldyBQcml6bURhdGVUaW1lUmFuZ2UoXG4gICAgICBuZXcgUHJpem1EYXlSYW5nZShQcml6bURheS5mcm9tTG9jYWxOYXRpdmVEYXRlKGZyb20pLCBQcml6bURheS5mcm9tTG9jYWxOYXRpdmVEYXRlKHRvKSksXG4gICAgICBuZXcgUHJpem1UaW1lUmFuZ2UoUHJpem1UaW1lLmZyb21Mb2NhbE5hdGl2ZURhdGUoZnJvbSksIFByaXptVGltZS5mcm9tTG9jYWxOYXRpdmVEYXRlKHRvKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY0ZpcnN0UXVhcnRlclJhbmdlKHllYXI6IG51bWJlcik6IFByaXptRGF0ZVRpbWVSYW5nZSB7XG4gICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKHllYXIsIEVNb250aC5KQU4sIDEpO1xuICAgIGNvbnN0IHRvID0gbmV3IERhdGUoeWVhciwgRU1vbnRoLk1BUik7XG4gICAgdG8uc2V0TW9udGgodG8uZ2V0TW9udGgoKSArIDEpO1xuICAgIHRvLnNldE1pbGxpc2Vjb25kcyh0by5nZXRNaWxsaXNlY29uZHMoKSAtIDEpO1xuXG4gICAgcmV0dXJuIG5ldyBQcml6bURhdGVUaW1lUmFuZ2UoXG4gICAgICBuZXcgUHJpem1EYXlSYW5nZShQcml6bURheS5mcm9tTG9jYWxOYXRpdmVEYXRlKGZyb20pLCBQcml6bURheS5mcm9tTG9jYWxOYXRpdmVEYXRlKHRvKSksXG4gICAgICBuZXcgUHJpem1UaW1lUmFuZ2UoUHJpem1UaW1lLmZyb21Mb2NhbE5hdGl2ZURhdGUoZnJvbSksIFByaXptVGltZS5mcm9tTG9jYWxOYXRpdmVEYXRlKHRvKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY1NlY29uZFF1YXJ0ZXJSYW5nZSh5ZWFyOiBudW1iZXIpOiBQcml6bURhdGVUaW1lUmFuZ2Uge1xuICAgIGNvbnN0IGZyb20gPSBuZXcgRGF0ZSh5ZWFyLCBFTW9udGguQVBSLCAxKTtcbiAgICBjb25zdCB0byA9IG5ldyBEYXRlKHllYXIsIEVNb250aC5KVU4pO1xuICAgIHRvLnNldE1vbnRoKHRvLmdldE1vbnRoKCkgKyAxKTtcbiAgICB0by5zZXRNaWxsaXNlY29uZHModG8uZ2V0TWlsbGlzZWNvbmRzKCkgLSAxKTtcblxuICAgIHJldHVybiBuZXcgUHJpem1EYXRlVGltZVJhbmdlKFxuICAgICAgbmV3IFByaXptRGF5UmFuZ2UoUHJpem1EYXkuZnJvbUxvY2FsTmF0aXZlRGF0ZShmcm9tKSwgUHJpem1EYXkuZnJvbUxvY2FsTmF0aXZlRGF0ZSh0bykpLFxuICAgICAgbmV3IFByaXptVGltZVJhbmdlKFByaXptVGltZS5mcm9tTG9jYWxOYXRpdmVEYXRlKGZyb20pLCBQcml6bVRpbWUuZnJvbUxvY2FsTmF0aXZlRGF0ZSh0bykpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGNUaGlyZFF1YXJ0ZXJSYW5nZSh5ZWFyOiBudW1iZXIpOiBQcml6bURhdGVUaW1lUmFuZ2Uge1xuICAgIGNvbnN0IGZyb20gPSBuZXcgRGF0ZSh5ZWFyLCBFTW9udGguSlVMLCAxKTtcbiAgICBjb25zdCB0byA9IG5ldyBEYXRlKHllYXIsIEVNb250aC5TRVApO1xuICAgIHRvLnNldE1vbnRoKHRvLmdldE1vbnRoKCkgKyAxKTtcbiAgICB0by5zZXRNaWxsaXNlY29uZHModG8uZ2V0TWlsbGlzZWNvbmRzKCkgLSAxKTtcblxuICAgIHJldHVybiBuZXcgUHJpem1EYXRlVGltZVJhbmdlKFxuICAgICAgbmV3IFByaXptRGF5UmFuZ2UoUHJpem1EYXkuZnJvbUxvY2FsTmF0aXZlRGF0ZShmcm9tKSwgUHJpem1EYXkuZnJvbUxvY2FsTmF0aXZlRGF0ZSh0bykpLFxuICAgICAgbmV3IFByaXptVGltZVJhbmdlKFByaXptVGltZS5mcm9tTG9jYWxOYXRpdmVEYXRlKGZyb20pLCBQcml6bVRpbWUuZnJvbUxvY2FsTmF0aXZlRGF0ZSh0bykpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGNGb3VydGhRdWFydGVyUmFuZ2UoeWVhcjogbnVtYmVyKTogUHJpem1EYXRlVGltZVJhbmdlIHtcbiAgICBjb25zdCBmcm9tID0gbmV3IERhdGUoeWVhciwgRU1vbnRoLk9DVCwgMSk7XG4gICAgY29uc3QgdG8gPSBuZXcgRGF0ZSh5ZWFyLCBFTW9udGguREVDKTtcbiAgICB0by5zZXRNb250aCh0by5nZXRNb250aCgpICsgMSk7XG4gICAgdG8uc2V0TWlsbGlzZWNvbmRzKHRvLmdldE1pbGxpc2Vjb25kcygpIC0gMSk7XG5cbiAgICByZXR1cm4gbmV3IFByaXptRGF0ZVRpbWVSYW5nZShcbiAgICAgIG5ldyBQcml6bURheVJhbmdlKFByaXptRGF5LmZyb21Mb2NhbE5hdGl2ZURhdGUoZnJvbSksIFByaXptRGF5LmZyb21Mb2NhbE5hdGl2ZURhdGUodG8pKSxcbiAgICAgIG5ldyBQcml6bVRpbWVSYW5nZShQcml6bVRpbWUuZnJvbUxvY2FsTmF0aXZlRGF0ZShmcm9tKSwgUHJpem1UaW1lLmZyb21Mb2NhbE5hdGl2ZURhdGUodG8pKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjWWVhclJhbmdlKHllYXI6IG51bWJlcik6IFByaXptRGF0ZVRpbWVSYW5nZSB7XG4gICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKHllYXIsIEVNb250aC5KQU4sIDEpO1xuICAgIGNvbnN0IHRvID0gbmV3IERhdGUoeWVhciwgRU1vbnRoLkRFQyk7XG4gICAgdG8uc2V0TW9udGgodG8uZ2V0TW9udGgoKSArIDEpO1xuICAgIHRvLnNldE1pbGxpc2Vjb25kcyh0by5nZXRNaWxsaXNlY29uZHMoKSAtIDEpO1xuXG4gICAgcmV0dXJuIG5ldyBQcml6bURhdGVUaW1lUmFuZ2UoXG4gICAgICBuZXcgUHJpem1EYXlSYW5nZShQcml6bURheS5mcm9tTG9jYWxOYXRpdmVEYXRlKGZyb20pLCBQcml6bURheS5mcm9tTG9jYWxOYXRpdmVEYXRlKHRvKSksXG4gICAgICBuZXcgUHJpem1UaW1lUmFuZ2UoUHJpem1UaW1lLmZyb21Mb2NhbE5hdGl2ZURhdGUoZnJvbSksIFByaXptVGltZS5mcm9tTG9jYWxOYXRpdmVEYXRlKHRvKSlcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFyYW0tY3VzdG9tLXRlbXBsYXRlXCI+XG4gIDxkaXYgKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwibGFiZWxcIj5cbiAgICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJsYWJlbF9fdGV4dFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImxhYmVsLS1yZXF1aXJlZFwiPio8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxwcml6bS1zd2l0Y2hlciBbc3dpdGNoZXJzXT1cInN3aXRjaGVyc1wiIFtmb3JtQ29udHJvbF09XCJzd2l0Y2hlckNvbnRyb2xcIj48L3ByaXptLXN3aXRjaGVyPlxuXG4gIDxwcml6bS1pbnB1dC1sYXlvdXQgY2xhc3M9XCJmbGV4LXNocmluay0temVyb1wiIHNpemU9XCJzXCIgW2ZvcmNlQ2xlYXJdPVwiZm9yY2VDbGVhclwiPlxuICAgIDxwcml6bS1pbnB1dC1sYXlvdXQtZGF0ZS10aW1lLXJhbmdlXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgICBbdGltZU1vZGVdPVwidGltZU1vZGVcIlxuICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgW21pbl09XCIkYW55KG1pbilcIlxuICAgICAgW21heF09XCIkYW55KG1heClcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgID48L3ByaXptLWlucHV0LWxheW91dC1kYXRlLXRpbWUtcmFuZ2U+XG4gIDwvcHJpem0taW5wdXQtbGF5b3V0PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export var ESwitcherValue;
2
+ (function (ESwitcherValue) {
3
+ ESwitcherValue[ESwitcherValue["MONTH"] = 0] = "MONTH";
4
+ ESwitcherValue[ESwitcherValue["FIRST"] = 1] = "FIRST";
5
+ ESwitcherValue[ESwitcherValue["SECOND"] = 2] = "SECOND";
6
+ ESwitcherValue[ESwitcherValue["THIRD"] = 3] = "THIRD";
7
+ ESwitcherValue[ESwitcherValue["FOURTH"] = 4] = "FOURTH";
8
+ ESwitcherValue[ESwitcherValue["YEAR"] = 5] = "YEAR";
9
+ })(ESwitcherValue || (ESwitcherValue = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0cy9wYXJhbS1zd2l0Y2hlci1kYXRlLXRpbWUtcmFuZ2UvdHlwZXMvcGFyYW0tc3dpdGNoZXItZGF0ZS10aW1lLXJhbmdlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBT1g7QUFQRCxXQUFZLGNBQWM7SUFDeEIscURBQUssQ0FBQTtJQUNMLHFEQUFLLENBQUE7SUFDTCx1REFBTSxDQUFBO0lBQ04scURBQUssQ0FBQTtJQUNMLHVEQUFNLENBQUE7SUFDTixtREFBSSxDQUFBO0FBQ04sQ0FBQyxFQVBXLGNBQWMsS0FBZCxjQUFjLFFBT3pCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRVN3aXRjaGVyVmFsdWUge1xuICBNT05USCxcbiAgRklSU1QsXG4gIFNFQ09ORCxcbiAgVEhJUkQsXG4gIEZPVVJUSCxcbiAgWUVBUixcbn1cbiJdfQ==