@koobiq/components 18.38.1 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (891) hide show
  1. package/accordion/accordion-content.d.ts +2 -2
  2. package/accordion/accordion-content.directive.d.ts +11 -0
  3. package/accordion/accordion-header.d.ts +2 -2
  4. package/accordion/accordion-header.directive.d.ts +7 -0
  5. package/accordion/accordion-item.d.ts +2 -2
  6. package/accordion/accordion-item.directive.d.ts +72 -0
  7. package/accordion/accordion-root.directive.d.ts +64 -0
  8. package/accordion/accordion-trigger.component.d.ts +2 -2
  9. package/accordion/accordion-trigger.directive.d.ts +13 -0
  10. package/accordion/accordion.component.d.ts +2 -4
  11. package/accordion/accordion.module.d.ts +7 -7
  12. package/accordion/public-api.d.ts +5 -0
  13. package/alert/_alert-theme.scss +4 -16
  14. package/alert/alert-tokens.scss +6 -12
  15. package/alert/alert.component.d.ts +5 -12
  16. package/alert/alert.module.d.ts +4 -4
  17. package/app-switcher/app-switcher.d.ts +4 -4
  18. package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
  19. package/autocomplete/autocomplete-trigger.directive.d.ts +1 -1
  20. package/autocomplete/autocomplete.component.d.ts +1 -1
  21. package/autocomplete/autocomplete.module.d.ts +7 -7
  22. package/badge/badge.component.d.ts +3 -3
  23. package/badge/badge.module.d.ts +4 -4
  24. package/breadcrumbs/breadcrumbs.d.ts +3 -2
  25. package/breadcrumbs/public-api.d.ts +2 -0
  26. package/breadcrumbs/roving-focus-group.directive.d.ts +50 -0
  27. package/breadcrumbs/roving-focus-item.directive.d.ts +50 -0
  28. package/breadcrumbs/utils.d.ts +19 -0
  29. package/button/button.component.d.ts +2 -2
  30. package/button/button.module.d.ts +6 -6
  31. package/button-toggle/_button-toggle-theme.scss +30 -27
  32. package/button-toggle/button-toggle.component.d.ts +2 -2
  33. package/button-toggle/button-toggle.module.d.ts +4 -4
  34. package/button-toggle/button-toggle.scss +2 -2
  35. package/checkbox/checkbox-module.d.ts +4 -4
  36. package/checkbox/checkbox-required-validator.d.ts +1 -1
  37. package/checkbox/checkbox.d.ts +1 -1
  38. package/code-block/code-block.scss +2 -2
  39. package/core/common-behaviors/index.d.ts +0 -1
  40. package/core/formatters/date/formatter.pipe.d.ts +13 -0
  41. package/core/formatters/index.d.ts +4 -4
  42. package/core/formatters/number/formatter.d.ts +3 -3
  43. package/core/forms/forms-module.d.ts +1 -1
  44. package/core/forms/forms.directive.d.ts +2 -2
  45. package/core/highlight/highlight.pipe.d.ts +1 -1
  46. package/core/highlight/index.d.ts +3 -3
  47. package/core/line/line.d.ts +1 -6
  48. package/core/option/_option-theme.scss +5 -2
  49. package/core/option/action.d.ts +1 -1
  50. package/core/option/optgroup.d.ts +1 -1
  51. package/core/option/option-module.d.ts +5 -5
  52. package/core/option/option.d.ts +4 -1
  53. package/core/pop-up/constants.d.ts +4 -0
  54. package/core/pop-up/pop-up-trigger.d.ts +5 -5
  55. package/core/pop-up/pop-up.d.ts +1 -1
  56. package/core/select/common.d.ts +1 -1
  57. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  58. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +3 -3
  59. package/core/styles/common/_select.scss +1 -1
  60. package/core/styles/theming/_scrollbar-theme.scss +18 -12
  61. package/core/styles/visual/_layout.scss +10 -0
  62. package/core/utils/utils.d.ts +3 -0
  63. package/datepicker/calendar-body.component.d.ts +1 -1
  64. package/datepicker/calendar-header.component.d.ts +1 -1
  65. package/datepicker/calendar.component.d.ts +1 -1
  66. package/datepicker/datepicker-input.directive.d.ts +1 -1
  67. package/datepicker/datepicker-module.d.ts +15 -15
  68. package/datepicker/datepicker-toggle.component.d.ts +2 -2
  69. package/datepicker/datepicker.component.d.ts +2 -2
  70. package/datepicker/month-view.component.d.ts +1 -1
  71. package/divider/divider.component.d.ts +5 -1
  72. package/divider/divider.module.d.ts +3 -3
  73. package/dl/dl.component.d.ts +3 -3
  74. package/dl/dl.module.d.ts +4 -4
  75. package/dropdown/dropdown-content.directive.d.ts +1 -1
  76. package/dropdown/dropdown-item.component.d.ts +1 -1
  77. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  78. package/dropdown/dropdown.component.d.ts +1 -1
  79. package/dropdown/dropdown.module.d.ts +8 -8
  80. package/dropdown/dropdown.scss +1 -0
  81. package/ellipsis-center/ellipsis-center.directive.d.ts +2 -2
  82. package/empty-state/empty-state.component.d.ts +5 -5
  83. package/empty-state/empty-state.module.d.ts +4 -4
  84. package/fesm2022/koobiq-components-accordion.mjs +459 -40
  85. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-actions-panel.mjs +18 -18
  87. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-alert.mjs +28 -36
  89. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-app-switcher.mjs +49 -52
  91. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-autocomplete.mjs +31 -25
  93. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-badge.mjs +20 -21
  95. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-breadcrumbs.mjs +339 -36
  97. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-button-toggle.mjs +25 -22
  99. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-button.mjs +25 -26
  101. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-checkbox.mjs +18 -16
  103. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-clamped-text.mjs +9 -9
  105. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-code-block.mjs +15 -16
  107. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-content-panel.mjs +55 -57
  109. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-core.mjs +326 -356
  111. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-datepicker.mjs +107 -90
  113. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-divider.mjs +16 -14
  115. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-dl.mjs +19 -20
  117. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-dropdown.mjs +47 -48
  119. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-dynamic-translation.mjs +16 -19
  121. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-ellipsis-center.mjs +10 -10
  123. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-empty-state.mjs +26 -27
  125. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-file-upload.mjs +306 -98
  127. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-filter-bar.mjs +258 -234
  129. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-form-field.mjs +84 -92
  131. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-icon.mjs +18 -18
  133. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-inline-edit.mjs +33 -37
  135. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-input.mjs +31 -30
  137. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-link.mjs +11 -10
  139. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-list.mjs +54 -46
  141. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-loader-overlay.mjs +27 -28
  143. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-markdown.mjs +14 -14
  145. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-modal.mjs +76 -64
  147. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-navbar-ic.mjs +76 -54
  149. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-navbar.mjs +77 -66
  151. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-notification-center.mjs +31 -32
  153. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  154. package/fesm2022/koobiq-components-overflow-items.mjs +16 -19
  155. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-popover.mjs +55 -46
  157. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-progress-bar.mjs +18 -19
  159. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-progress-spinner.mjs +21 -23
  161. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-radio.mjs +20 -16
  163. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-resizer.mjs +10 -12
  165. package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-risk-level.mjs +13 -12
  167. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-scrollbar.mjs +17 -18
  169. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-search-expandable.mjs +19 -19
  171. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-select.mjs +110 -73
  173. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-sidebar.mjs +16 -23
  175. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-sidepanel.mjs +61 -55
  177. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-split-button.mjs +12 -12
  179. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-splitter.mjs +24 -25
  181. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-table.mjs +17 -18
  183. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-tabs.mjs +85 -89
  185. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-tags.mjs +43 -47
  187. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-textarea.mjs +10 -11
  189. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-time-range.mjs +38 -40
  191. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-timepicker.mjs +65 -14
  193. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-timezone.mjs +68 -59
  195. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-title.mjs +9 -10
  197. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-toast.mjs +23 -24
  199. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-toggle.mjs +16 -14
  201. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-tooltip.mjs +20 -23
  203. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-top-bar.mjs +18 -20
  205. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  206. package/fesm2022/koobiq-components-tree-select.mjs +81 -70
  207. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  208. package/fesm2022/koobiq-components-tree.mjs +77 -66
  209. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  210. package/fesm2022/koobiq-components-username.mjs +31 -37
  211. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  212. package/file-upload/file-upload.d.ts +11 -0
  213. package/file-upload/file-upload.module.d.ts +15 -15
  214. package/file-upload/multiple-file-upload.component.d.ts +12 -9
  215. package/file-upload/{file-drop.d.ts → primitives/file-drop.d.ts} +3 -3
  216. package/file-upload/primitives/file-picker.d.ts +82 -0
  217. package/file-upload/primitives/index.d.ts +2 -0
  218. package/file-upload/public-api.d.ts +2 -1
  219. package/file-upload/single-file-upload.component.d.ts +11 -8
  220. package/filter-bar/filter-bar.d.ts +1 -1
  221. package/filter-bar/filter-search.d.ts +17 -4
  222. package/icon/_icon-button-theme.scss +2 -1
  223. package/inline-edit/inline-edit.d.ts +2 -3
  224. package/input/_input-theme.scss +2 -1
  225. package/input/input-number-validators.d.ts +2 -2
  226. package/input/input-number.d.ts +1 -1
  227. package/input/input-password.d.ts +1 -1
  228. package/input/input.d.ts +2 -2
  229. package/input/input.module.d.ts +8 -8
  230. package/link/_link-theme.scss +3 -0
  231. package/link/link.component.d.ts +1 -1
  232. package/link/link.module.d.ts +3 -3
  233. package/list/_list-theme.scss +6 -0
  234. package/list/list-selection.component.d.ts +6 -4
  235. package/list/list.component.d.ts +2 -2
  236. package/list/list.module.d.ts +6 -6
  237. package/list/list.scss +1 -0
  238. package/loader-overlay/loader-overlay.component.d.ts +4 -4
  239. package/loader-overlay/loader-overlay.module.d.ts +5 -5
  240. package/modal/css-unit.pipe.d.ts +1 -1
  241. package/modal/modal.component.d.ts +1 -1
  242. package/modal/modal.directive.d.ts +4 -4
  243. package/modal/modal.module.d.ts +10 -10
  244. package/modal/modal.service.d.ts +1 -1
  245. package/navbar/_navbar-theme.scss +1 -0
  246. package/navbar/navbar-brand.component.d.ts +1 -1
  247. package/navbar/navbar-item.component.d.ts +7 -7
  248. package/navbar/navbar-toggle.component.d.ts +1 -1
  249. package/navbar/navbar-toggle.scss +1 -1
  250. package/navbar/navbar.component.d.ts +4 -4
  251. package/navbar/navbar.module.d.ts +10 -10
  252. package/navbar/vertical-navbar.component.d.ts +1 -1
  253. package/navbar/vertical-navbar.scss +5 -2
  254. package/navbar-ic/navbar-ic-header.d.ts +3 -0
  255. package/navbar-ic/navbar-ic-item.d.ts +18 -0
  256. package/navbar-ic/navbar-ic.d.ts +13 -7
  257. package/notification-center/notification-center.d.ts +5 -5
  258. package/overflow-items/overflow-items.d.ts +1 -1
  259. package/package.json +9 -140
  260. package/popover/popover-confirm.component.d.ts +2 -2
  261. package/popover/popover.component.d.ts +9 -9
  262. package/popover/popover.module.d.ts +9 -9
  263. package/popover/popover.scss +3 -2
  264. package/prebuilt-themes/dark-theme.css +1 -1
  265. package/prebuilt-themes/light-theme.css +1 -1
  266. package/prebuilt-themes/theme.css +1 -1
  267. package/progress-bar/progress-bar.component.d.ts +3 -3
  268. package/progress-bar/progress-bar.module.d.ts +3 -3
  269. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  270. package/progress-spinner/progress-spinner.module.d.ts +4 -4
  271. package/progress-spinner/progress-spinner.scss +1 -0
  272. package/radio/_radio-theme.scss +2 -1
  273. package/radio/radio-tokens.scss +1 -0
  274. package/radio/radio.component.d.ts +10 -5
  275. package/radio/radio.module.d.ts +3 -3
  276. package/risk-level/risk-level.component.d.ts +1 -1
  277. package/risk-level/risk-level.module.d.ts +4 -4
  278. package/schematics/migrations/icons-replacement/README.md +5 -1
  279. package/schematics/migrations/icons-replacement/index.js +1 -1
  280. package/schematics/ng-add/index.js +4 -5
  281. package/scrollbar/_scrollbar-component-theme.scss +16 -14
  282. package/select/select-option.directive.d.ts +1 -1
  283. package/select/select.component.d.ts +6 -5
  284. package/select/select.module.d.ts +10 -10
  285. package/sidebar/sidebar.component.d.ts +3 -3
  286. package/sidebar/sidebar.module.d.ts +3 -3
  287. package/sidepanel/sidepanel-container.component.d.ts +1 -1
  288. package/sidepanel/sidepanel-directives.d.ts +5 -5
  289. package/sidepanel/sidepanel.module.d.ts +9 -9
  290. package/splitter/splitter.component.d.ts +4 -4
  291. package/splitter/splitter.module.d.ts +3 -3
  292. package/table/_table-theme.scss +1 -0
  293. package/table/table.component.d.ts +2 -2
  294. package/table/table.module.d.ts +4 -4
  295. package/tabs/paginated-tab-header.d.ts +1 -1
  296. package/tabs/tab-body.component.d.ts +2 -2
  297. package/tabs/tab-content.directive.d.ts +1 -1
  298. package/tabs/tab-group.component.d.ts +5 -5
  299. package/tabs/tab-header.component.d.ts +1 -1
  300. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  301. package/tabs/tab-label.directive.d.ts +1 -1
  302. package/tabs/tab.component.d.ts +3 -3
  303. package/tabs/tabs.module.d.ts +15 -15
  304. package/tags/tag-input.d.ts +1 -1
  305. package/tags/tag-list.component.d.ts +1 -1
  306. package/tags/tag.component.d.ts +4 -4
  307. package/tags/tag.module.d.ts +4 -4
  308. package/textarea/textarea.component.d.ts +1 -1
  309. package/textarea/textarea.module.d.ts +4 -4
  310. package/timepicker/timepicker.directive.d.ts +15 -5
  311. package/timepicker/timepicker.module.d.ts +5 -5
  312. package/timezone/cities-by-filter.pipe.d.ts +1 -1
  313. package/timezone/timezone-option.component.d.ts +1 -1
  314. package/timezone/timezone-option.directive.d.ts +1 -1
  315. package/timezone/timezone-select.component.d.ts +2 -2
  316. package/timezone/timezone.module.d.ts +15 -15
  317. package/timezone/utc-offset.pipe.d.ts +1 -1
  318. package/title/title.directive.d.ts +1 -1
  319. package/title/title.module.d.ts +3 -3
  320. package/toggle/toggle.component.d.ts +1 -1
  321. package/toggle/toggle.module.d.ts +3 -3
  322. package/tooltip/tooltip.component.d.ts +3 -3
  323. package/top-bar/top-bar.d.ts +1 -1
  324. package/tree/node.d.ts +1 -1
  325. package/tree/outlet.d.ts +1 -1
  326. package/tree/padding.directive.d.ts +1 -1
  327. package/tree/toggle.d.ts +3 -3
  328. package/tree/tree-base.d.ts +2 -2
  329. package/tree/tree-option.component.d.ts +1 -1
  330. package/tree/tree-selection.component.d.ts +1 -1
  331. package/tree/tree.d.ts +1 -1
  332. package/tree/tree.module.d.ts +11 -11
  333. package/tree-select/tree-select.component.d.ts +2 -2
  334. package/tree-select/tree-select.module.d.ts +9 -9
  335. package/core/common-behaviors/focus-monitor.d.ts +0 -19
  336. package/esm2022/accordion/accordion-content.mjs +0 -19
  337. package/esm2022/accordion/accordion-header.mjs +0 -19
  338. package/esm2022/accordion/accordion-item.mjs +0 -25
  339. package/esm2022/accordion/accordion-trigger.component.mjs +0 -48
  340. package/esm2022/accordion/accordion.component.mjs +0 -41
  341. package/esm2022/accordion/accordion.module.mjs +0 -44
  342. package/esm2022/accordion/index.mjs +0 -2
  343. package/esm2022/accordion/koobiq-components-accordion.mjs +0 -5
  344. package/esm2022/accordion/public-api.mjs +0 -7
  345. package/esm2022/actions-panel/actions-panel-config.mjs +0 -55
  346. package/esm2022/actions-panel/actions-panel-container.mjs +0 -217
  347. package/esm2022/actions-panel/actions-panel-ref.mjs +0 -78
  348. package/esm2022/actions-panel/actions-panel.mjs +0 -133
  349. package/esm2022/actions-panel/index.mjs +0 -6
  350. package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +0 -5
  351. package/esm2022/actions-panel/module.mjs +0 -21
  352. package/esm2022/alert/alert.component.mjs +0 -124
  353. package/esm2022/alert/alert.module.mjs +0 -40
  354. package/esm2022/alert/index.mjs +0 -2
  355. package/esm2022/alert/koobiq-components-alert.mjs +0 -5
  356. package/esm2022/alert/public-api.mjs +0 -3
  357. package/esm2022/app-switcher/app-switcher-animations.mjs +0 -18
  358. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +0 -75
  359. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +0 -60
  360. package/esm2022/app-switcher/app-switcher.mjs +0 -446
  361. package/esm2022/app-switcher/app-switcher.module.mjs +0 -45
  362. package/esm2022/app-switcher/index.mjs +0 -2
  363. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +0 -84
  364. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +0 -5
  365. package/esm2022/app-switcher/public-api.mjs +0 -7
  366. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +0 -21
  367. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +0 -540
  368. package/esm2022/autocomplete/autocomplete.component.mjs +0 -178
  369. package/esm2022/autocomplete/autocomplete.module.mjs +0 -38
  370. package/esm2022/autocomplete/index.mjs +0 -2
  371. package/esm2022/autocomplete/koobiq-components-autocomplete.mjs +0 -5
  372. package/esm2022/autocomplete/public-api.mjs +0 -5
  373. package/esm2022/badge/badge.component.mjs +0 -124
  374. package/esm2022/badge/badge.module.mjs +0 -36
  375. package/esm2022/badge/index.mjs +0 -2
  376. package/esm2022/badge/koobiq-components-badge.mjs +0 -5
  377. package/esm2022/badge/public-api.mjs +0 -3
  378. package/esm2022/breadcrumbs/breadcrumbs.mjs +0 -268
  379. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -31
  380. package/esm2022/breadcrumbs/breadcrumbs.types.mjs +0 -2
  381. package/esm2022/breadcrumbs/index.mjs +0 -2
  382. package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +0 -5
  383. package/esm2022/breadcrumbs/public-api.mjs +0 -4
  384. package/esm2022/button/button.component.mjs +0 -180
  385. package/esm2022/button/button.dropdown-trigger.directive.mjs +0 -28
  386. package/esm2022/button/button.module.mjs +0 -41
  387. package/esm2022/button/index.mjs +0 -2
  388. package/esm2022/button/koobiq-components-button.mjs +0 -5
  389. package/esm2022/button/public-api.mjs +0 -4
  390. package/esm2022/button-toggle/button-toggle.component.mjs +0 -384
  391. package/esm2022/button-toggle/button-toggle.module.mjs +0 -19
  392. package/esm2022/button-toggle/index.mjs +0 -2
  393. package/esm2022/button-toggle/koobiq-components-button-toggle.mjs +0 -5
  394. package/esm2022/button-toggle/public-api.mjs +0 -3
  395. package/esm2022/checkbox/checkbox-config.mjs +0 -6
  396. package/esm2022/checkbox/checkbox-module.mjs +0 -19
  397. package/esm2022/checkbox/checkbox-required-validator.mjs +0 -27
  398. package/esm2022/checkbox/checkbox.mjs +0 -295
  399. package/esm2022/checkbox/index.mjs +0 -2
  400. package/esm2022/checkbox/koobiq-components-checkbox.mjs +0 -5
  401. package/esm2022/checkbox/public-api.mjs +0 -5
  402. package/esm2022/clamped-text/clamped-text.mjs +0 -202
  403. package/esm2022/clamped-text/constants.mjs +0 -20
  404. package/esm2022/clamped-text/index.mjs +0 -4
  405. package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +0 -5
  406. package/esm2022/clamped-text/module.mjs +0 -19
  407. package/esm2022/code-block/code-block-highlight.mjs +0 -418
  408. package/esm2022/code-block/code-block.mjs +0 -440
  409. package/esm2022/code-block/code-block.module.mjs +0 -19
  410. package/esm2022/code-block/index.mjs +0 -2
  411. package/esm2022/code-block/koobiq-components-code-block.mjs +0 -5
  412. package/esm2022/code-block/public-api.mjs +0 -5
  413. package/esm2022/code-block/types.mjs +0 -2
  414. package/esm2022/content-panel/content-panel.mjs +0 -432
  415. package/esm2022/content-panel/index.mjs +0 -3
  416. package/esm2022/content-panel/koobiq-components-content-panel.mjs +0 -5
  417. package/esm2022/content-panel/module.mjs +0 -42
  418. package/esm2022/core/animation/animation.mjs +0 -39
  419. package/esm2022/core/animation/fade-animations.mjs +0 -9
  420. package/esm2022/core/animation/index.mjs +0 -4
  421. package/esm2022/core/animation/select-animations.mjs +0 -45
  422. package/esm2022/core/common-behaviors/checkbox.mjs +0 -2
  423. package/esm2022/core/common-behaviors/clipboard.mjs +0 -31
  424. package/esm2022/core/common-behaviors/color.mjs +0 -89
  425. package/esm2022/core/common-behaviors/common-module.mjs +0 -76
  426. package/esm2022/core/common-behaviors/constructor.mjs +0 -2
  427. package/esm2022/core/common-behaviors/disabled.mjs +0 -19
  428. package/esm2022/core/common-behaviors/error-state.mjs +0 -50
  429. package/esm2022/core/common-behaviors/focus-monitor.mjs +0 -37
  430. package/esm2022/core/common-behaviors/hover.mjs +0 -34
  431. package/esm2022/core/common-behaviors/index.mjs +0 -14
  432. package/esm2022/core/common-behaviors/orientation.mjs +0 -2
  433. package/esm2022/core/common-behaviors/read-state.mjs +0 -33
  434. package/esm2022/core/common-behaviors/size.mjs +0 -2
  435. package/esm2022/core/common-behaviors/tabindex.mjs +0 -20
  436. package/esm2022/core/datetime/date-adapter.mjs +0 -14
  437. package/esm2022/core/datetime/date-formats.mjs +0 -3
  438. package/esm2022/core/datetime/index.mjs +0 -3
  439. package/esm2022/core/error/error-state-matcher.mjs +0 -56
  440. package/esm2022/core/form-field/field-sizing-content.mjs +0 -117
  441. package/esm2022/core/form-field/form-field-ref.mjs +0 -10
  442. package/esm2022/core/form-field/index.mjs +0 -3
  443. package/esm2022/core/formatters/date/formatter.mjs +0 -25
  444. package/esm2022/core/formatters/date/formatter.pipe.mjs +0 -380
  445. package/esm2022/core/formatters/filesize/config.mjs +0 -32
  446. package/esm2022/core/formatters/filesize/formatter.mjs +0 -43
  447. package/esm2022/core/formatters/filesize/index.mjs +0 -4
  448. package/esm2022/core/formatters/filesize/size.mjs +0 -65
  449. package/esm2022/core/formatters/index.mjs +0 -146
  450. package/esm2022/core/formatters/number/formatter.mjs +0 -347
  451. package/esm2022/core/forms/forms-module.mjs +0 -24
  452. package/esm2022/core/forms/forms.directive.mjs +0 -66
  453. package/esm2022/core/forms/index.mjs +0 -4
  454. package/esm2022/core/forms/validators.mjs +0 -184
  455. package/esm2022/core/highlight/highlight.pipe.mjs +0 -23
  456. package/esm2022/core/highlight/index.mjs +0 -19
  457. package/esm2022/core/index.mjs +0 -2
  458. package/esm2022/core/koobiq-components-core.mjs +0 -5
  459. package/esm2022/core/line/line.mjs +0 -70
  460. package/esm2022/core/locales/en-US.mjs +0 -210
  461. package/esm2022/core/locales/es-LA.mjs +0 -209
  462. package/esm2022/core/locales/formatters.mjs +0 -193
  463. package/esm2022/core/locales/index.mjs +0 -10
  464. package/esm2022/core/locales/locale-service.mjs +0 -173
  465. package/esm2022/core/locales/locale-service.module.mjs +0 -19
  466. package/esm2022/core/locales/pt-BR.mjs +0 -209
  467. package/esm2022/core/locales/ru-RU.mjs +0 -224
  468. package/esm2022/core/locales/tk-TM.mjs +0 -210
  469. package/esm2022/core/locales/types.mjs +0 -2
  470. package/esm2022/core/navbar/index.mjs +0 -2
  471. package/esm2022/core/navbar/rectangle-item.mjs +0 -40
  472. package/esm2022/core/option/action-container.mjs +0 -23
  473. package/esm2022/core/option/action.mjs +0 -107
  474. package/esm2022/core/option/index.mjs +0 -6
  475. package/esm2022/core/option/optgroup.mjs +0 -37
  476. package/esm2022/core/option/option-module.mjs +0 -20
  477. package/esm2022/core/option/option.mjs +0 -322
  478. package/esm2022/core/overlay/overlay-position-map.mjs +0 -251
  479. package/esm2022/core/pop-up/constants.mjs +0 -55
  480. package/esm2022/core/pop-up/focus-trap-strategy.mjs +0 -6
  481. package/esm2022/core/pop-up/index.mjs +0 -6
  482. package/esm2022/core/pop-up/pop-up-styles.mjs +0 -24
  483. package/esm2022/core/pop-up/pop-up-trigger.mjs +0 -343
  484. package/esm2022/core/pop-up/pop-up.mjs +0 -152
  485. package/esm2022/core/public-api.mjs +0 -24
  486. package/esm2022/core/select/common.mjs +0 -203
  487. package/esm2022/core/select/constants.mjs +0 -25
  488. package/esm2022/core/select/errors.mjs +0 -26
  489. package/esm2022/core/select/events.mjs +0 -2
  490. package/esm2022/core/select/index.mjs +0 -5
  491. package/esm2022/core/selection/constants.mjs +0 -6
  492. package/esm2022/core/selection/index.mjs +0 -4
  493. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -43
  494. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +0 -18
  495. package/esm2022/core/services/measure-scrollbar.service.mjs +0 -42
  496. package/esm2022/core/services/theme.service.mjs +0 -80
  497. package/esm2022/core/title/index.mjs +0 -2
  498. package/esm2022/core/title/title-text-ref.mjs +0 -3
  499. package/esm2022/core/tokens/index.mjs +0 -2
  500. package/esm2022/core/tokens/window.mjs +0 -19
  501. package/esm2022/core/utils/dom.mjs +0 -8
  502. package/esm2022/core/utils/index.mjs +0 -3
  503. package/esm2022/core/utils/public-api.mjs +0 -2
  504. package/esm2022/core/utils/utils.mjs +0 -31
  505. package/esm2022/core/validation/index.mjs +0 -2
  506. package/esm2022/core/validation/validation.mjs +0 -27
  507. package/esm2022/core/version.mjs +0 -3
  508. package/esm2022/datepicker/calendar-body.component.mjs +0 -87
  509. package/esm2022/datepicker/calendar-header.component.mjs +0 -164
  510. package/esm2022/datepicker/calendar.component.mjs +0 -185
  511. package/esm2022/datepicker/datepicker-animations.mjs +0 -32
  512. package/esm2022/datepicker/datepicker-errors.mjs +0 -6
  513. package/esm2022/datepicker/datepicker-input.directive.mjs +0 -1119
  514. package/esm2022/datepicker/datepicker-intl.mjs +0 -40
  515. package/esm2022/datepicker/datepicker-module.mjs +0 -103
  516. package/esm2022/datepicker/datepicker-toggle.component.mjs +0 -170
  517. package/esm2022/datepicker/datepicker.component.mjs +0 -388
  518. package/esm2022/datepicker/index.mjs +0 -2
  519. package/esm2022/datepicker/koobiq-components-datepicker.mjs +0 -5
  520. package/esm2022/datepicker/month-view.component.mjs +0 -148
  521. package/esm2022/datepicker/public-api.mjs +0 -11
  522. package/esm2022/divider/divider.component.mjs +0 -49
  523. package/esm2022/divider/divider.module.mjs +0 -18
  524. package/esm2022/divider/index.mjs +0 -2
  525. package/esm2022/divider/koobiq-components-divider.mjs +0 -5
  526. package/esm2022/divider/public-api.mjs +0 -3
  527. package/esm2022/dl/dl.component.mjs +0 -81
  528. package/esm2022/dl/dl.module.mjs +0 -36
  529. package/esm2022/dl/index.mjs +0 -2
  530. package/esm2022/dl/koobiq-components-dl.mjs +0 -5
  531. package/esm2022/dl/public-api.mjs +0 -3
  532. package/esm2022/dropdown/dropdown-animations.mjs +0 -41
  533. package/esm2022/dropdown/dropdown-content.directive.mjs +0 -61
  534. package/esm2022/dropdown/dropdown-errors.mjs +0 -29
  535. package/esm2022/dropdown/dropdown-item.component.mjs +0 -150
  536. package/esm2022/dropdown/dropdown-trigger.directive.mjs +0 -513
  537. package/esm2022/dropdown/dropdown.component.mjs +0 -293
  538. package/esm2022/dropdown/dropdown.module.mjs +0 -51
  539. package/esm2022/dropdown/dropdown.types.mjs +0 -23
  540. package/esm2022/dropdown/index.mjs +0 -2
  541. package/esm2022/dropdown/koobiq-components-dropdown.mjs +0 -5
  542. package/esm2022/dropdown/public-api.mjs +0 -9
  543. package/esm2022/dynamic-translation/dynamic-translation.mjs +0 -175
  544. package/esm2022/dynamic-translation/index.mjs +0 -3
  545. package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +0 -5
  546. package/esm2022/dynamic-translation/module.mjs +0 -25
  547. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +0 -120
  548. package/esm2022/ellipsis-center/index.mjs +0 -2
  549. package/esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs +0 -5
  550. package/esm2022/ellipsis-center/public-api.mjs +0 -2
  551. package/esm2022/empty-state/empty-state.component.mjs +0 -109
  552. package/esm2022/empty-state/empty-state.module.mjs +0 -44
  553. package/esm2022/empty-state/index.mjs +0 -2
  554. package/esm2022/empty-state/koobiq-components-empty-state.mjs +0 -5
  555. package/esm2022/empty-state/public-api.mjs +0 -3
  556. package/esm2022/file-upload/file-drop.mjs +0 -87
  557. package/esm2022/file-upload/file-upload.mjs +0 -71
  558. package/esm2022/file-upload/file-upload.module.mjs +0 -79
  559. package/esm2022/file-upload/index.mjs +0 -2
  560. package/esm2022/file-upload/koobiq-components-file-upload.mjs +0 -5
  561. package/esm2022/file-upload/multiple-file-upload.component.mjs +0 -306
  562. package/esm2022/file-upload/public-api.mjs +0 -6
  563. package/esm2022/file-upload/single-file-upload.component.mjs +0 -257
  564. package/esm2022/filter-bar/filter-bar-button.mjs +0 -31
  565. package/esm2022/filter-bar/filter-bar.mjs +0 -213
  566. package/esm2022/filter-bar/filter-bar.module.mjs +0 -67
  567. package/esm2022/filter-bar/filter-bar.types.mjs +0 -72
  568. package/esm2022/filter-bar/filter-refresher.mjs +0 -34
  569. package/esm2022/filter-bar/filter-reset.mjs +0 -49
  570. package/esm2022/filter-bar/filter-search.mjs +0 -145
  571. package/esm2022/filter-bar/filters.mjs +0 -266
  572. package/esm2022/filter-bar/index.mjs +0 -2
  573. package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +0 -5
  574. package/esm2022/filter-bar/pipe-add.mjs +0 -140
  575. package/esm2022/filter-bar/pipe.directive.mjs +0 -37
  576. package/esm2022/filter-bar/pipes/base-pipe.mjs +0 -146
  577. package/esm2022/filter-bar/pipes/pipe-button.mjs +0 -72
  578. package/esm2022/filter-bar/pipes/pipe-date.mjs +0 -206
  579. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +0 -208
  580. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +0 -188
  581. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +0 -260
  582. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +0 -68
  583. package/esm2022/filter-bar/pipes/pipe-select.mjs +0 -101
  584. package/esm2022/filter-bar/pipes/pipe-state.mjs +0 -53
  585. package/esm2022/filter-bar/pipes/pipe-text.mjs +0 -104
  586. package/esm2022/filter-bar/pipes/pipe-title.mjs +0 -102
  587. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +0 -142
  588. package/esm2022/filter-bar/public-api.mjs +0 -22
  589. package/esm2022/form-field/cleaner.mjs +0 -28
  590. package/esm2022/form-field/error.mjs +0 -20
  591. package/esm2022/form-field/fieldset.mjs +0 -84
  592. package/esm2022/form-field/form-field-control.mjs +0 -4
  593. package/esm2022/form-field/form-field.mjs +0 -447
  594. package/esm2022/form-field/form-field.module.mjs +0 -87
  595. package/esm2022/form-field/hint.mjs +0 -36
  596. package/esm2022/form-field/index.mjs +0 -2
  597. package/esm2022/form-field/koobiq-components-form-field.mjs +0 -5
  598. package/esm2022/form-field/label.mjs +0 -19
  599. package/esm2022/form-field/password-hint.mjs +0 -165
  600. package/esm2022/form-field/password-toggle.mjs +0 -129
  601. package/esm2022/form-field/prefix.mjs +0 -19
  602. package/esm2022/form-field/public-api.mjs +0 -16
  603. package/esm2022/form-field/reactive-password-hint.mjs +0 -66
  604. package/esm2022/form-field/stepper.mjs +0 -144
  605. package/esm2022/form-field/suffix.mjs +0 -18
  606. package/esm2022/form-field/validate.directive.mjs +0 -190
  607. package/esm2022/icon/icon-button.component.mjs +0 -64
  608. package/esm2022/icon/icon-item.component.mjs +0 -31
  609. package/esm2022/icon/icon.component.mjs +0 -56
  610. package/esm2022/icon/icon.module.mjs +0 -27
  611. package/esm2022/icon/index.mjs +0 -2
  612. package/esm2022/icon/koobiq-components-icon.mjs +0 -5
  613. package/esm2022/icon/public-api.mjs +0 -5
  614. package/esm2022/index.mjs +0 -2
  615. package/esm2022/inline-edit/index.mjs +0 -3
  616. package/esm2022/inline-edit/inline-edit.mjs +0 -382
  617. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +0 -5
  618. package/esm2022/inline-edit/module.mjs +0 -25
  619. package/esm2022/input/index.mjs +0 -2
  620. package/esm2022/input/input-errors.mjs +0 -4
  621. package/esm2022/input/input-number-validators.mjs +0 -88
  622. package/esm2022/input/input-number.mjs +0 -386
  623. package/esm2022/input/input-password.mjs +0 -253
  624. package/esm2022/input/input-value-accessor.mjs +0 -3
  625. package/esm2022/input/input.mjs +0 -299
  626. package/esm2022/input/input.module.mjs +0 -58
  627. package/esm2022/input/koobiq-components-input.mjs +0 -5
  628. package/esm2022/input/public-api.mjs +0 -7
  629. package/esm2022/koobiq-components.mjs +0 -5
  630. package/esm2022/link/index.mjs +0 -2
  631. package/esm2022/link/koobiq-components-link.mjs +0 -5
  632. package/esm2022/link/link.component.mjs +0 -143
  633. package/esm2022/link/link.module.mjs +0 -20
  634. package/esm2022/link/public-api.mjs +0 -3
  635. package/esm2022/list/index.mjs +0 -2
  636. package/esm2022/list/koobiq-components-list.mjs +0 -5
  637. package/esm2022/list/list-selection.component.mjs +0 -739
  638. package/esm2022/list/list.component.mjs +0 -43
  639. package/esm2022/list/list.module.mjs +0 -60
  640. package/esm2022/list/public-api.mjs +0 -4
  641. package/esm2022/loader-overlay/index.mjs +0 -2
  642. package/esm2022/loader-overlay/koobiq-components-loader-overlay.mjs +0 -5
  643. package/esm2022/loader-overlay/loader-overlay.component.mjs +0 -110
  644. package/esm2022/loader-overlay/loader-overlay.module.mjs +0 -44
  645. package/esm2022/loader-overlay/public-api.mjs +0 -3
  646. package/esm2022/markdown/index.mjs +0 -2
  647. package/esm2022/markdown/koobiq-components-markdown.mjs +0 -5
  648. package/esm2022/markdown/markdown.component.mjs +0 -67
  649. package/esm2022/markdown/markdown.module.mjs +0 -21
  650. package/esm2022/markdown/markdown.service.mjs +0 -36
  651. package/esm2022/markdown/markdown.values.mjs +0 -35
  652. package/esm2022/markdown/public-api.mjs +0 -5
  653. package/esm2022/modal/css-unit.pipe.mjs +0 -17
  654. package/esm2022/modal/index.mjs +0 -2
  655. package/esm2022/modal/koobiq-components-modal.mjs +0 -5
  656. package/esm2022/modal/modal-control.service.mjs +0 -89
  657. package/esm2022/modal/modal-ref.class.mjs +0 -7
  658. package/esm2022/modal/modal-util.mjs +0 -22
  659. package/esm2022/modal/modal.component.mjs +0 -540
  660. package/esm2022/modal/modal.directive.mjs +0 -94
  661. package/esm2022/modal/modal.module.mjs +0 -78
  662. package/esm2022/modal/modal.service.mjs +0 -135
  663. package/esm2022/modal/modal.type.mjs +0 -7
  664. package/esm2022/modal/public-api.mjs +0 -7
  665. package/esm2022/navbar/index.mjs +0 -2
  666. package/esm2022/navbar/koobiq-components-navbar.mjs +0 -5
  667. package/esm2022/navbar/navbar-brand.component.mjs +0 -105
  668. package/esm2022/navbar/navbar-item.component.mjs +0 -428
  669. package/esm2022/navbar/navbar-toggle.component.mjs +0 -88
  670. package/esm2022/navbar/navbar.component.mjs +0 -251
  671. package/esm2022/navbar/navbar.module.mjs +0 -84
  672. package/esm2022/navbar/public-api.mjs +0 -7
  673. package/esm2022/navbar/vertical-navbar.component.mjs +0 -128
  674. package/esm2022/navbar-ic/index.mjs +0 -2
  675. package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +0 -5
  676. package/esm2022/navbar-ic/navbar-ic-header.mjs +0 -74
  677. package/esm2022/navbar-ic/navbar-ic-item.mjs +0 -390
  678. package/esm2022/navbar-ic/navbar-ic.animation.mjs +0 -17
  679. package/esm2022/navbar-ic/navbar-ic.mjs +0 -310
  680. package/esm2022/navbar-ic/navbar-ic.module.mjs +0 -74
  681. package/esm2022/navbar-ic/public-api.mjs +0 -5
  682. package/esm2022/notification-center/index.mjs +0 -2
  683. package/esm2022/notification-center/koobiq-components-notification-center.mjs +0 -5
  684. package/esm2022/notification-center/notification-center-animations.mjs +0 -18
  685. package/esm2022/notification-center/notification-center.mjs +0 -329
  686. package/esm2022/notification-center/notification-center.module.mjs +0 -38
  687. package/esm2022/notification-center/notification-center.service.mjs +0 -127
  688. package/esm2022/notification-center/notification-item.mjs +0 -70
  689. package/esm2022/notification-center/public-api.mjs +0 -5
  690. package/esm2022/overflow-items/index.mjs +0 -3
  691. package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +0 -5
  692. package/esm2022/overflow-items/module.mjs +0 -25
  693. package/esm2022/overflow-items/overflow-items.mjs +0 -290
  694. package/esm2022/popover/index.mjs +0 -2
  695. package/esm2022/popover/koobiq-components-popover.mjs +0 -5
  696. package/esm2022/popover/popover-animations.mjs +0 -16
  697. package/esm2022/popover/popover-confirm.component.mjs +0 -97
  698. package/esm2022/popover/popover.component.mjs +0 -410
  699. package/esm2022/popover/popover.module.mjs +0 -67
  700. package/esm2022/popover/public-api.mjs +0 -5
  701. package/esm2022/progress-bar/index.mjs +0 -2
  702. package/esm2022/progress-bar/koobiq-components-progress-bar.mjs +0 -5
  703. package/esm2022/progress-bar/progress-bar.component.mjs +0 -62
  704. package/esm2022/progress-bar/progress-bar.module.mjs +0 -32
  705. package/esm2022/progress-bar/public-api.mjs +0 -3
  706. package/esm2022/progress-spinner/index.mjs +0 -2
  707. package/esm2022/progress-spinner/koobiq-components-progress-spinner.mjs +0 -5
  708. package/esm2022/progress-spinner/progress-spinner.component.mjs +0 -78
  709. package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -35
  710. package/esm2022/progress-spinner/public-api.mjs +0 -3
  711. package/esm2022/public-api.mjs +0 -2
  712. package/esm2022/radio/index.mjs +0 -2
  713. package/esm2022/radio/koobiq-components-radio.mjs +0 -5
  714. package/esm2022/radio/public-api.mjs +0 -3
  715. package/esm2022/radio/radio.component.mjs +0 -451
  716. package/esm2022/radio/radio.module.mjs +0 -18
  717. package/esm2022/resizer/index.mjs +0 -3
  718. package/esm2022/resizer/koobiq-components-resizer.mjs +0 -5
  719. package/esm2022/resizer/module.mjs +0 -17
  720. package/esm2022/resizer/resizer.mjs +0 -135
  721. package/esm2022/risk-level/index.mjs +0 -2
  722. package/esm2022/risk-level/koobiq-components-risk-level.mjs +0 -5
  723. package/esm2022/risk-level/public-api.mjs +0 -3
  724. package/esm2022/risk-level/risk-level.component.mjs +0 -40
  725. package/esm2022/risk-level/risk-level.module.mjs +0 -24
  726. package/esm2022/scrollbar/index.mjs +0 -2
  727. package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +0 -5
  728. package/esm2022/scrollbar/public-api.mjs +0 -5
  729. package/esm2022/scrollbar/scrollbar.component.mjs +0 -133
  730. package/esm2022/scrollbar/scrollbar.directive.mjs +0 -105
  731. package/esm2022/scrollbar/scrollbar.module.mjs +0 -25
  732. package/esm2022/scrollbar/scrollbar.types.mjs +0 -14
  733. package/esm2022/search-expandable/index.mjs +0 -2
  734. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +0 -5
  735. package/esm2022/search-expandable/public-api.mjs +0 -3
  736. package/esm2022/search-expandable/search-expandable.mjs +0 -177
  737. package/esm2022/search-expandable/search-expandable.module.mjs +0 -18
  738. package/esm2022/select/index.mjs +0 -2
  739. package/esm2022/select/koobiq-components-select.mjs +0 -5
  740. package/esm2022/select/public-api.mjs +0 -4
  741. package/esm2022/select/select-option.directive.mjs +0 -69
  742. package/esm2022/select/select.component.mjs +0 -1154
  743. package/esm2022/select/select.module.mjs +0 -81
  744. package/esm2022/sidebar/index.mjs +0 -2
  745. package/esm2022/sidebar/koobiq-components-sidebar.mjs +0 -5
  746. package/esm2022/sidebar/public-api.mjs +0 -3
  747. package/esm2022/sidebar/sidebar-animations.mjs +0 -23
  748. package/esm2022/sidebar/sidebar.component.mjs +0 -169
  749. package/esm2022/sidebar/sidebar.module.mjs +0 -30
  750. package/esm2022/sidepanel/index.mjs +0 -2
  751. package/esm2022/sidepanel/koobiq-components-sidepanel.mjs +0 -5
  752. package/esm2022/sidepanel/public-api.mjs +0 -7
  753. package/esm2022/sidepanel/sidepanel-animations.mjs +0 -29
  754. package/esm2022/sidepanel/sidepanel-config.mjs +0 -33
  755. package/esm2022/sidepanel/sidepanel-container.component.mjs +0 -126
  756. package/esm2022/sidepanel/sidepanel-directives.mjs +0 -168
  757. package/esm2022/sidepanel/sidepanel-ref.mjs +0 -60
  758. package/esm2022/sidepanel/sidepanel.module.mjs +0 -73
  759. package/esm2022/sidepanel/sidepanel.service.mjs +0 -167
  760. package/esm2022/split-button/index.mjs +0 -2
  761. package/esm2022/split-button/koobiq-components-split-button.mjs +0 -5
  762. package/esm2022/split-button/public-api.mjs +0 -3
  763. package/esm2022/split-button/split-button.mjs +0 -133
  764. package/esm2022/split-button/split-button.module.mjs +0 -18
  765. package/esm2022/splitter/index.mjs +0 -2
  766. package/esm2022/splitter/koobiq-components-splitter.mjs +0 -5
  767. package/esm2022/splitter/public-api.mjs +0 -3
  768. package/esm2022/splitter/splitter.component.mjs +0 -492
  769. package/esm2022/splitter/splitter.module.mjs +0 -34
  770. package/esm2022/table/index.mjs +0 -2
  771. package/esm2022/table/koobiq-components-table.mjs +0 -5
  772. package/esm2022/table/public-api.mjs +0 -3
  773. package/esm2022/table/table.component.mjs +0 -36
  774. package/esm2022/table/table.module.mjs +0 -32
  775. package/esm2022/tabs/index.mjs +0 -2
  776. package/esm2022/tabs/koobiq-components-tabs.mjs +0 -5
  777. package/esm2022/tabs/paginated-tab-header.mjs +0 -490
  778. package/esm2022/tabs/public-api.mjs +0 -11
  779. package/esm2022/tabs/tab-body.component.mjs +0 -178
  780. package/esm2022/tabs/tab-content.directive.mjs +0 -15
  781. package/esm2022/tabs/tab-group.component.mjs +0 -384
  782. package/esm2022/tabs/tab-header.component.mjs +0 -60
  783. package/esm2022/tabs/tab-label-wrapper.directive.mjs +0 -86
  784. package/esm2022/tabs/tab-label.directive.mjs +0 -17
  785. package/esm2022/tabs/tab-nav-bar.mjs +0 -292
  786. package/esm2022/tabs/tab.component.mjs +0 -145
  787. package/esm2022/tabs/tabs-animations.mjs +0 -24
  788. package/esm2022/tabs/tabs.module.mjs +0 -95
  789. package/esm2022/tags/index.mjs +0 -2
  790. package/esm2022/tags/koobiq-components-tags.mjs +0 -5
  791. package/esm2022/tags/public-api.mjs +0 -6
  792. package/esm2022/tags/tag-default-options.mjs +0 -4
  793. package/esm2022/tags/tag-input.mjs +0 -281
  794. package/esm2022/tags/tag-list.component.mjs +0 -765
  795. package/esm2022/tags/tag-text-control.mjs +0 -2
  796. package/esm2022/tags/tag.component.mjs +0 -647
  797. package/esm2022/tags/tag.module.mjs +0 -67
  798. package/esm2022/textarea/index.mjs +0 -2
  799. package/esm2022/textarea/koobiq-components-textarea.mjs +0 -5
  800. package/esm2022/textarea/public-api.mjs +0 -3
  801. package/esm2022/textarea/textarea.component.mjs +0 -300
  802. package/esm2022/textarea/textarea.module.mjs +0 -20
  803. package/esm2022/time-range/constants.mjs +0 -42
  804. package/esm2022/time-range/index.mjs +0 -8
  805. package/esm2022/time-range/koobiq-components-time-range.mjs +0 -5
  806. package/esm2022/time-range/module.mjs +0 -36
  807. package/esm2022/time-range/time-range-editor.mjs +0 -224
  808. package/esm2022/time-range/time-range-title-as-form-field.mjs +0 -60
  809. package/esm2022/time-range/time-range-title.mjs +0 -112
  810. package/esm2022/time-range/time-range.mjs +0 -234
  811. package/esm2022/time-range/time-range.service.mjs +0 -126
  812. package/esm2022/time-range/types.mjs +0 -2
  813. package/esm2022/timepicker/index.mjs +0 -2
  814. package/esm2022/timepicker/koobiq-components-timepicker.mjs +0 -5
  815. package/esm2022/timepicker/public-api.mjs +0 -4
  816. package/esm2022/timepicker/timepicker.constants.mjs +0 -29
  817. package/esm2022/timepicker/timepicker.directive.mjs +0 -686
  818. package/esm2022/timepicker/timepicker.module.mjs +0 -29
  819. package/esm2022/timezone/cities-by-filter.pipe.mjs +0 -17
  820. package/esm2022/timezone/index.mjs +0 -2
  821. package/esm2022/timezone/koobiq-components-timezone.mjs +0 -5
  822. package/esm2022/timezone/public-api.mjs +0 -7
  823. package/esm2022/timezone/timezone-option.component.mjs +0 -50
  824. package/esm2022/timezone/timezone-option.directive.mjs +0 -54
  825. package/esm2022/timezone/timezone-select.component.mjs +0 -55
  826. package/esm2022/timezone/timezone.models.mjs +0 -2
  827. package/esm2022/timezone/timezone.module.mjs +0 -82
  828. package/esm2022/timezone/timezone.utils.mjs +0 -80
  829. package/esm2022/timezone/utc-offset.pipe.mjs +0 -17
  830. package/esm2022/title/index.mjs +0 -2
  831. package/esm2022/title/koobiq-components-title.mjs +0 -5
  832. package/esm2022/title/public-api.mjs +0 -3
  833. package/esm2022/title/title.directive.mjs +0 -108
  834. package/esm2022/title/title.module.mjs +0 -18
  835. package/esm2022/toast/index.mjs +0 -2
  836. package/esm2022/toast/koobiq-components-toast.mjs +0 -5
  837. package/esm2022/toast/public-api.mjs +0 -6
  838. package/esm2022/toast/toast-animations.mjs +0 -10
  839. package/esm2022/toast/toast-container.component.mjs +0 -57
  840. package/esm2022/toast/toast.component.mjs +0 -125
  841. package/esm2022/toast/toast.module.mjs +0 -26
  842. package/esm2022/toast/toast.service.mjs +0 -197
  843. package/esm2022/toast/toast.type.mjs +0 -39
  844. package/esm2022/toggle/index.mjs +0 -2
  845. package/esm2022/toggle/koobiq-components-toggle.mjs +0 -5
  846. package/esm2022/toggle/public-api.mjs +0 -3
  847. package/esm2022/toggle/toggle.component.mjs +0 -254
  848. package/esm2022/toggle/toggle.module.mjs +0 -18
  849. package/esm2022/tooltip/index.mjs +0 -2
  850. package/esm2022/tooltip/koobiq-components-tooltip.mjs +0 -5
  851. package/esm2022/tooltip/public-api.mjs +0 -3
  852. package/esm2022/tooltip/tooltip.animations.mjs +0 -19
  853. package/esm2022/tooltip/tooltip.component.mjs +0 -400
  854. package/esm2022/tooltip/tooltip.module.mjs +0 -35
  855. package/esm2022/top-bar/index.mjs +0 -2
  856. package/esm2022/top-bar/koobiq-components-top-bar.mjs +0 -5
  857. package/esm2022/top-bar/module.mjs +0 -25
  858. package/esm2022/top-bar/public-api.mjs +0 -3
  859. package/esm2022/top-bar/top-bar.mjs +0 -74
  860. package/esm2022/tree/control/base-tree-control.mjs +0 -59
  861. package/esm2022/tree/control/flat-tree-control.filters.mjs +0 -52
  862. package/esm2022/tree/control/flat-tree-control.mjs +0 -109
  863. package/esm2022/tree/control/nested-tree-control.mjs +0 -40
  864. package/esm2022/tree/control/tree-control.mjs +0 -2
  865. package/esm2022/tree/data-source/flat-data-source.mjs +0 -157
  866. package/esm2022/tree/data-source/nested-data-source.mjs +0 -28
  867. package/esm2022/tree/index.mjs +0 -2
  868. package/esm2022/tree/koobiq-components-tree.mjs +0 -5
  869. package/esm2022/tree/node.mjs +0 -31
  870. package/esm2022/tree/outlet.mjs +0 -15
  871. package/esm2022/tree/padding.directive.mjs +0 -108
  872. package/esm2022/tree/public-api.mjs +0 -17
  873. package/esm2022/tree/toggle.mjs +0 -93
  874. package/esm2022/tree/tree-base.mjs +0 -236
  875. package/esm2022/tree/tree-errors.mjs +0 -36
  876. package/esm2022/tree/tree-option.component.mjs +0 -303
  877. package/esm2022/tree/tree-selection.component.mjs +0 -568
  878. package/esm2022/tree/tree.mjs +0 -19
  879. package/esm2022/tree/tree.module.mjs +0 -64
  880. package/esm2022/tree-select/index.mjs +0 -2
  881. package/esm2022/tree-select/koobiq-components-tree-select.mjs +0 -5
  882. package/esm2022/tree-select/public-api.mjs +0 -3
  883. package/esm2022/tree-select/tree-select.component.mjs +0 -1034
  884. package/esm2022/tree-select/tree-select.module.mjs +0 -71
  885. package/esm2022/username/constants.mjs +0 -25
  886. package/esm2022/username/index.mjs +0 -6
  887. package/esm2022/username/koobiq-components-username.mjs +0 -5
  888. package/esm2022/username/module.mjs +0 -35
  889. package/esm2022/username/types.mjs +0 -32
  890. package/esm2022/username/username.mjs +0 -129
  891. package/esm2022/username/username.pipe.mjs +0 -92
@@ -1,234 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, InjectionToken, input, output, signal, ViewEncapsulation } from '@angular/core';
2
- import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
3
- import { FormControl, NgControl, ReactiveFormsModule } from '@angular/forms';
4
- import { KbqButtonModule } from '@koobiq/components/button';
5
- import { KBQ_LOCALE_SERVICE, PopUpPlacements, PopUpSizes, ruRULocaleData } from '@koobiq/components/core';
6
- import { KbqPopoverModule } from '@koobiq/components/popover';
7
- import { KbqTimeRangeEditor } from './time-range-editor';
8
- import { KbqTimeRangeTitle } from './time-range-title';
9
- import { KbqTimeRangeService } from './time-range.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/forms";
12
- import * as i2 from "@koobiq/components/popover";
13
- import * as i3 from "@koobiq/components/button";
14
- /** Localization configuration provider. */
15
- export const KBQ_TIME_RANGE_LOCALE_CONFIGURATION = new InjectionToken('KBQ_TIME_RANGE_LOCALE_CONFIGURATION', { factory: () => ruRULocaleData.timeRange });
16
- /** Utility provider for `KBQ_TIME_RANGE_LOCALE_CONFIGURATION`. */
17
- export const kbqTimeRangeLocaleConfigurationProvider = (configuration) => ({
18
- provide: KBQ_TIME_RANGE_LOCALE_CONFIGURATION,
19
- useValue: configuration
20
- });
21
- export class KbqTimeRange {
22
- constructor() {
23
- this.timeRangeService = inject(KbqTimeRangeService);
24
- this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
25
- /** @docs-private */
26
- this.ngControl = inject(NgControl, { optional: true, self: true });
27
- /** The minimum selectable date. */
28
- this.minDate = input();
29
- /** The maximum selectable date. */
30
- this.maxDate = input();
31
- /** provided value of selected range */
32
- this.defaultRangeValue = input();
33
- /** Preset of selectable ranges */
34
- this.availableTimeRangeTypes = input(this.timeRangeService.providedDefaultTimeRangeTypes);
35
- /** Customizable trigger output */
36
- this.titleTemplate = input();
37
- /** Customizable option output */
38
- this.optionTemplate = input();
39
- /** Whether to show popover with arrow */
40
- this.arrow = input(true, { transform: booleanAttribute });
41
- /**
42
- * Whether to show range in popover if not provided
43
- * @see availableTimeRangeTypes
44
- */
45
- this.showRangeAsDefault = input(true);
46
- /** Whether component should fallback to default value if null provided */
47
- this.nonNullable = input(true, { transform: booleanAttribute });
48
- /** Emit value update if provided value via formControl wasn't valid */
49
- this.valueCorrected = output();
50
- /**
51
- * Used to calculate time range.
52
- * @docs-private */
53
- this.normalizedDefaultRangeValue = computed(() => ({
54
- ...this.timeRangeService.getDefaultRangeValue(),
55
- ...this.defaultRangeValue()
56
- }));
57
- /** @docs-private */
58
- this.popoverSize = PopUpSizes.Medium;
59
- /** @docs-private */
60
- this.popupPlacement = PopUpPlacements.BottomLeft;
61
- /** @docs-private */
62
- this.localeConfiguration = signal(inject(KBQ_TIME_RANGE_LOCALE_CONFIGURATION));
63
- /** @docs-private */
64
- this.onChange = (_value) => { };
65
- /** @docs-private */
66
- this.onTouch = () => { };
67
- this.handleAvailableTypesChange = (types) => {
68
- if (types.includes(this.rangeEditorControl.value.type) || this.rangeEditorControl.value.type === 'range') {
69
- return;
70
- }
71
- const timeRangeDefaultValue = this.timeRangeService.getTimeRangeDefaultValue(this.normalizedDefaultRangeValue(), types.length ? types : ['range']);
72
- this.titleValue.set(timeRangeDefaultValue);
73
- this.rangeEditorControl.setValue(timeRangeDefaultValue);
74
- this.onChange(timeRangeDefaultValue);
75
- };
76
- if (this.ngControl) {
77
- this.ngControl.valueAccessor = this;
78
- }
79
- const defaultValue = this.timeRangeService.getTimeRangeDefaultValue(this.normalizedDefaultRangeValue(), this.availableTimeRangeTypes());
80
- this.titleValue = signal(this.nonNullable() ? defaultValue : null);
81
- this.rangeEditorControl = new FormControl(defaultValue, { nonNullable: true });
82
- this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(() => {
83
- this.localeConfiguration.set(this.localeService?.getParams('timeRange') ?? ruRULocaleData.timeRange);
84
- });
85
- toObservable(this.availableTimeRangeTypes)
86
- .pipe(takeUntilDestroyed())
87
- .subscribe(this.handleAvailableTypesChange);
88
- }
89
- ngOnInit() {
90
- // call again on init, so input signals values will be correct
91
- this.writeValue(this.ngControl?.value ?? null);
92
- }
93
- /** Implemented as part of ControlValueAccessor */
94
- writeValue(value) {
95
- const nonNullable = this.nonNullable();
96
- const availableTimeRangeTypes = this.availableTimeRangeTypes();
97
- const corrected = this.timeRangeService.checkAndCorrectTimeRangeValue(value, availableTimeRangeTypes, this.normalizedDefaultRangeValue());
98
- if ((value && value.type && !('startDateTime' in value && availableTimeRangeTypes.includes(value.type))) ||
99
- (nonNullable && value === null)) {
100
- this.valueCorrected.emit(corrected);
101
- }
102
- this.titleValue.set(nonNullable || value !== null ? corrected : null);
103
- this.rangeEditorControl.setValue(corrected);
104
- }
105
- /** @docs-private */
106
- onApply(popover) {
107
- this.titleValue.set(this.rangeEditorControl.value);
108
- this.onChange(this.rangeEditorControl.value);
109
- popover.hide();
110
- }
111
- /** @docs-private */
112
- onCancel(popover) {
113
- popover.hide();
114
- }
115
- onVisibleChange(isVisible) {
116
- const titleValue = this.titleValue();
117
- if (!isVisible && titleValue) {
118
- this.rangeEditorControl.setValue(titleValue);
119
- }
120
- }
121
- /** Implemented as part of ControlValueAccessor */
122
- registerOnChange(fn) {
123
- this.onChange = fn;
124
- }
125
- /** Implemented as part of ControlValueAccessor */
126
- registerOnTouched(fn) {
127
- this.onTouch = fn;
128
- }
129
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRange, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: KbqTimeRange, isStandalone: true, selector: "kbq-time-range", inputs: { minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, defaultRangeValue: { classPropertyName: "defaultRangeValue", publicName: "defaultRangeValue", isSignal: true, isRequired: false, transformFunction: null }, availableTimeRangeTypes: { classPropertyName: "availableTimeRangeTypes", publicName: "availableTimeRangeTypes", isSignal: true, isRequired: false, transformFunction: null }, titleTemplate: { classPropertyName: "titleTemplate", publicName: "titleTemplate", isSignal: true, isRequired: false, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "arrow", isSignal: true, isRequired: false, transformFunction: null }, showRangeAsDefault: { classPropertyName: "showRangeAsDefault", publicName: "showRangeAsDefault", isSignal: true, isRequired: false, transformFunction: null }, nonNullable: { classPropertyName: "nonNullable", publicName: "nonNullable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueCorrected: "valueCorrected" }, host: { classAttribute: "kbq-time-range" }, providers: [KbqTimeRangeService], ngImport: i0, template: `
131
- @let localeConfig = localeConfiguration();
132
- <kbq-time-range-title
133
- #popover="kbqPopover"
134
- class="kbq-time-range__trigger"
135
- kbqPopover
136
- kbqPopoverClass="kbq-time-range__popover"
137
- [kbqPopoverSize]="popoverSize"
138
- [kbqPopoverContent]="timeRangePopoverContent"
139
- [kbqPopoverFooter]="timeRangePopoverFooter"
140
- [kbqPopoverPlacement]="popupPlacement"
141
- [kbqPopoverArrow]="arrow()"
142
- [titleTemplate]="titleTemplate()"
143
- [timeRange]="titleValue()"
144
- [localeConfiguration]="localeConfig"
145
- (kbqPopoverVisibleChange)="onVisibleChange($event)"
146
- />
147
-
148
- <ng-template #timeRangePopoverContent>
149
- <kbq-time-range-editor
150
- [maxDate]="maxDate()"
151
- [minDate]="minDate()"
152
- [formControl]="rangeEditorControl"
153
- [localeConfiguration]="localeConfig"
154
- [showRangeAsDefault]="showRangeAsDefault()"
155
- [rangeValue]="normalizedDefaultRangeValue()"
156
- [availableTimeRangeTypes]="availableTimeRangeTypes()"
157
- [optionTemplate]="optionTemplate()"
158
- />
159
- </ng-template>
160
-
161
- <ng-template #timeRangePopoverFooter>
162
- <div class="kbq-time-range__buttons" role="group">
163
- <button
164
- kbq-button
165
- [color]="'contrast'"
166
- [disabled]="rangeEditorControl.invalid"
167
- (click)="onApply(popover)"
168
- >
169
- {{ localeConfig.editor.apply }}
170
- </button>
171
-
172
- <button kbq-button (click)="onCancel(popover)">{{ localeConfig.editor.cancel }}</button>
173
- </div>
174
- </ng-template>
175
- `, isInline: true, styles: [".kbq-time-range .kbq-time-range__trigger{display:block}.kbq-time-range__popover .kbq-time-range__buttons{display:flex;flex-direction:row;gap:var(--kbq-size-l)}.kbq-time-range__editor{display:block}.kbq-time-range__editor .kbq-time-range-editor__container{width:100%}.kbq-time-range__editor .kbq-time-range-editor__predefined{column-count:2}.kbq-time-range__editor .kbq-time-range-editor__predefined .kbq-time-range-editor__predefined-option{display:block;margin-bottom:var(--kbq-size-s)}.kbq-time-range__editor .kbq-time-range-editor__range{display:flex;flex-direction:column;gap:var(--kbq-size-s)}.kbq-time-range__editor .kbq-time-range-editor__range .kbq-time-range-editor__predefined{column-count:2}.kbq-time-range__editor .kbq-time-range-editor__range .kbq-time-range-editor__predefined .kbq-time-range-editor__predefined-option{display:block}.kbq-time-range__editor .kbq-time-range-editor__range .kbq-time-range-editor__date-time{display:flex;flex-direction:row;justify-content:space-between;gap:var(--kbq-size-s)}.kbq-time-range__editor .kbq-time-range-editor__range .kbq-time-range-editor__date-time .kbq-time-range-editor__date-time-prefix{align-self:center;width:57px}.kbq-time-range-title-as-form-field{white-space:nowrap;text-overflow:ellipsis;min-height:calc(var(--kbq-form-field-size-height) - 2 * var(--kbq-size-border-width))}.kbq-time-range-title-as-form-field .kbq-time-range-title__placeholder{color:var(--kbq-foreground-contrast-tertiary)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: KbqPopoverModule }, { kind: "directive", type: i2.KbqPopoverTrigger, selector: "[kbqPopover]", inputs: ["kbqPopoverPreventClose", "defaultPaddings", "kbqPopoverVisible", "kbqPopoverPlacement", "kbqPopoverPlacementPriority", "kbqPopoverStickToWindow", "container", "hasBackdrop", "kbqPopoverHeader", "kbqPopoverContent", "kbqPopoverFooter", "kbqPopoverDisabled", "kbqTrigger", "kbqPopoverSize", "kbqPopoverClass", "kbqPopoverContext", "hasCloseButton", "closeOnScroll", "backdropClass", "kbqPopoverArrow", "kbqPopoverOffset", "kbqLeaveDelay"], outputs: ["kbqPopoverPlacementChange", "kbqPopoverVisibleChange"], exportAs: ["kbqPopover"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i3.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i3.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: KbqTimeRangeEditor, selector: "kbq-time-range-editor", inputs: ["maxDate", "minDate", "availableTimeRangeTypes", "rangeValue", "showRangeAsDefault", "localeConfiguration", "optionTemplate"] }, { kind: "component", type: KbqTimeRangeTitle, selector: "kbq-time-range-title", inputs: ["timeRange", "localeConfiguration", "titleTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
176
- }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRange, decorators: [{
178
- type: Component,
179
- args: [{ standalone: true, selector: 'kbq-time-range', template: `
180
- @let localeConfig = localeConfiguration();
181
- <kbq-time-range-title
182
- #popover="kbqPopover"
183
- class="kbq-time-range__trigger"
184
- kbqPopover
185
- kbqPopoverClass="kbq-time-range__popover"
186
- [kbqPopoverSize]="popoverSize"
187
- [kbqPopoverContent]="timeRangePopoverContent"
188
- [kbqPopoverFooter]="timeRangePopoverFooter"
189
- [kbqPopoverPlacement]="popupPlacement"
190
- [kbqPopoverArrow]="arrow()"
191
- [titleTemplate]="titleTemplate()"
192
- [timeRange]="titleValue()"
193
- [localeConfiguration]="localeConfig"
194
- (kbqPopoverVisibleChange)="onVisibleChange($event)"
195
- />
196
-
197
- <ng-template #timeRangePopoverContent>
198
- <kbq-time-range-editor
199
- [maxDate]="maxDate()"
200
- [minDate]="minDate()"
201
- [formControl]="rangeEditorControl"
202
- [localeConfiguration]="localeConfig"
203
- [showRangeAsDefault]="showRangeAsDefault()"
204
- [rangeValue]="normalizedDefaultRangeValue()"
205
- [availableTimeRangeTypes]="availableTimeRangeTypes()"
206
- [optionTemplate]="optionTemplate()"
207
- />
208
- </ng-template>
209
-
210
- <ng-template #timeRangePopoverFooter>
211
- <div class="kbq-time-range__buttons" role="group">
212
- <button
213
- kbq-button
214
- [color]="'contrast'"
215
- [disabled]="rangeEditorControl.invalid"
216
- (click)="onApply(popover)"
217
- >
218
- {{ localeConfig.editor.apply }}
219
- </button>
220
-
221
- <button kbq-button (click)="onCancel(popover)">{{ localeConfig.editor.cancel }}</button>
222
- </div>
223
- </ng-template>
224
- `, imports: [
225
- ReactiveFormsModule,
226
- KbqPopoverModule,
227
- KbqButtonModule,
228
- KbqTimeRangeEditor,
229
- KbqTimeRangeTitle
230
- ], host: {
231
- class: 'kbq-time-range'
232
- }, providers: [KbqTimeRangeService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-time-range .kbq-time-range__trigger{display:block}.kbq-time-range__popover .kbq-time-range__buttons{display:flex;flex-direction:row;gap:var(--kbq-size-l)}.kbq-time-range__editor{display:block}.kbq-time-range__editor .kbq-time-range-editor__container{width:100%}.kbq-time-range__editor .kbq-time-range-editor__predefined{column-count:2}.kbq-time-range__editor .kbq-time-range-editor__predefined .kbq-time-range-editor__predefined-option{display:block;margin-bottom:var(--kbq-size-s)}.kbq-time-range__editor .kbq-time-range-editor__range{display:flex;flex-direction:column;gap:var(--kbq-size-s)}.kbq-time-range__editor .kbq-time-range-editor__range .kbq-time-range-editor__predefined{column-count:2}.kbq-time-range__editor .kbq-time-range-editor__range .kbq-time-range-editor__predefined .kbq-time-range-editor__predefined-option{display:block}.kbq-time-range__editor .kbq-time-range-editor__range .kbq-time-range-editor__date-time{display:flex;flex-direction:row;justify-content:space-between;gap:var(--kbq-size-s)}.kbq-time-range__editor .kbq-time-range-editor__range .kbq-time-range-editor__date-time .kbq-time-range-editor__date-time-prefix{align-self:center;width:57px}.kbq-time-range-title-as-form-field{white-space:nowrap;text-overflow:ellipsis;min-height:calc(var(--kbq-form-field-size-height) - 2 * var(--kbq-size-border-width))}.kbq-time-range-title-as-form-field .kbq-time-range-title__placeholder{color:var(--kbq-foreground-contrast-tertiary)}\n"] }]
233
- }], ctorParameters: () => [] });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGltZS1yYW5nZS90aW1lLXJhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBRUwsTUFBTSxFQUVOLE1BQU0sRUFFTixpQkFBaUIsRUFFcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBRWxCLGVBQWUsRUFDZixVQUFVLEVBQ1YsY0FBYyxFQUNqQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFTM0QsMkNBQTJDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLElBQUksY0FBYyxDQUNqRSxxQ0FBcUMsRUFDckMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUM5QyxDQUFDO0FBRUYsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLENBQUMsYUFB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bnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgaW5wdXQsXG4gICAgT25Jbml0LFxuICAgIG91dHB1dCxcbiAgICBQcm92aWRlcixcbiAgICBzaWduYWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTmdDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgS2JxQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1xuICAgIEtCUV9MT0NBTEVfU0VSVklDRSxcbiAgICBLYnFUaW1lUmFuZ2VMb2NhbGVDb25maWcsXG4gICAgUG9wVXBQbGFjZW1lbnRzLFxuICAgIFBvcFVwU2l6ZXMsXG4gICAgcnVSVUxvY2FsZURhdGFcbn0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS2JxUG9wb3Zlck1vZHVsZSwgS2JxUG9wb3ZlclRyaWdnZXIgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBLYnFUaW1lUmFuZ2VFZGl0b3IgfSBmcm9tICcuL3RpbWUtcmFuZ2UtZWRpdG9yJztcbmltcG9ydCB7IEticVRpbWVSYW5nZVRpdGxlIH0gZnJvbSAnLi90aW1lLXJhbmdlLXRpdGxlJztcbmltcG9ydCB7IEticVRpbWVSYW5nZVNlcnZpY2UgfSBmcm9tICcuL3RpbWUtcmFuZ2Uuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIEticVJhbmdlVmFsdWUsXG4gICAgS2JxVGltZVJhbmdlQ3VzdG9taXphYmxlVGl0bGVDb250ZXh0LFxuICAgIEticVRpbWVSYW5nZU9wdGlvbkNvbnRleHQsXG4gICAgS2JxVGltZVJhbmdlUmFuZ2UsXG4gICAgS2JxVGltZVJhbmdlVHlwZVxufSBmcm9tICcuL3R5cGVzJztcblxuLyoqIExvY2FsaXphdGlvbiBjb25maWd1cmF0aW9uIHByb3ZpZGVyLiAqL1xuZXhwb3J0IGNvbnN0IEtCUV9USU1FX1JBTkdFX0xPQ0FMRV9DT05GSUdVUkFUSU9OID0gbmV3IEluamVjdGlvblRva2VuPEticVRpbWVSYW5nZUxvY2FsZUNvbmZpZz4oXG4gICAgJ0tCUV9USU1FX1JBTkdFX0xPQ0FMRV9DT05GSUdVUkFUSU9OJyxcbiAgICB7IGZhY3Rvcnk6ICgpID0+IHJ1UlVMb2NhbGVEYXRhLnRpbWVSYW5nZSB9XG4pO1xuXG4vKiogVXRpbGl0eSBwcm92aWRlciBmb3IgYEtCUV9USU1FX1JBTkdFX0xPQ0FMRV9DT05GSUdVUkFUSU9OYC4gKi9cbmV4cG9ydCBjb25zdCBrYnFUaW1lUmFuZ2VMb2NhbGVDb25maWd1cmF0aW9uUHJvdmlkZXIgPSAoY29uZmlndXJhdGlvbjogS2JxVGltZVJhbmdlTG9jYWxlQ29uZmlnKTogUHJvdmlkZXIgPT4gKHtcbiAgICBwcm92aWRlOiBLQlFfVElNRV9SQU5HRV9MT0NBTEVfQ09ORklHVVJBVElPTixcbiAgICB1c2VWYWx1ZTogY29uZmlndXJhdGlvblxufSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdrYnEtdGltZS1yYW5nZScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGxldCBsb2NhbGVDb25maWcgPSBsb2NhbGVDb25maWd1cmF0aW9uKCk7XG4gICAgICAgIDxrYnEtdGltZS1yYW5nZS10aXRsZVxuICAgICAgICAgICAgI3BvcG92ZXI9XCJrYnFQb3BvdmVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwia2JxLXRpbWUtcmFuZ2VfX3RyaWdnZXJcIlxuICAgICAgICAgICAga2JxUG9wb3ZlclxuICAgICAgICAgICAga2JxUG9wb3ZlckNsYXNzPVwia2JxLXRpbWUtcmFuZ2VfX3BvcG92ZXJcIlxuICAgICAgICAgICAgW2ticVBvcG92ZXJTaXplXT1cInBvcG92ZXJTaXplXCJcbiAgICAgICAgICAgIFtrYnFQb3BvdmVyQ29udGVudF09XCJ0aW1lUmFuZ2VQb3BvdmVyQ29udGVudFwiXG4gICAgICAgICAgICBba2JxUG9wb3ZlckZvb3Rlcl09XCJ0aW1lUmFuZ2VQb3BvdmVyRm9vdGVyXCJcbiAgICAgICAgICAgIFtrYnFQb3BvdmVyUGxhY2VtZW50XT1cInBvcHVwUGxhY2VtZW50XCJcbiAgICAgICAgICAgIFtrYnFQb3BvdmVyQXJyb3ddPVwiYXJyb3coKVwiXG4gICAgICAgICAgICBbdGl0bGVUZW1wbGF0ZV09XCJ0aXRsZVRlbXBsYXRlKClcIlxuICAgICAgICAgICAgW3RpbWVSYW5nZV09XCJ0aXRsZVZhbHVlKClcIlxuICAgICAgICAgICAgW2xvY2FsZUNvbmZpZ3VyYXRpb25dPVwibG9jYWxlQ29uZmlnXCJcbiAgICAgICAgICAgIChrYnFQb3BvdmVyVmlzaWJsZUNoYW5nZSk9XCJvblZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0aW1lUmFuZ2VQb3BvdmVyQ29udGVudD5cbiAgICAgICAgICAgIDxrYnEtdGltZS1yYW5nZS1lZGl0b3JcbiAgICAgICAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlKClcIlxuICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGUoKVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJhbmdlRWRpdG9yQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2xvY2FsZUNvbmZpZ3VyYXRpb25dPVwibG9jYWxlQ29uZmlnXCJcbiAgICAgICAgICAgICAgICBbc2hvd1JhbmdlQXNEZWZhdWx0XT1cInNob3dSYW5nZUFzRGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICBbcmFuZ2VWYWx1ZV09XCJub3JtYWxpemVkRGVmYXVsdFJhbmdlVmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgW2F2YWlsYWJsZVRpbWVSYW5nZVR5cGVzXT1cImF2YWlsYWJsZVRpbWVSYW5nZVR5cGVzKClcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25UZW1wbGF0ZV09XCJvcHRpb25UZW1wbGF0ZSgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0aW1lUmFuZ2VQb3BvdmVyRm9vdGVyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImticS10aW1lLXJhbmdlX19idXR0b25zXCIgcm9sZT1cImdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInY29udHJhc3QnXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJhbmdlRWRpdG9yQ29udHJvbC5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHkocG9wb3ZlcilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgbG9jYWxlQ29uZmlnLmVkaXRvci5hcHBseSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBrYnEtYnV0dG9uIChjbGljayk9XCJvbkNhbmNlbChwb3BvdmVyKVwiPnt7IGxvY2FsZUNvbmZpZy5lZGl0b3IuY2FuY2VsIH19PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL3RpbWUtcmFuZ2Uuc2NzcyddLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgS2JxUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgS2JxQnV0dG9uTW9kdWxlLFxuICAgICAgICBLYnFUaW1lUmFuZ2VFZGl0b3IsXG4gICAgICAgIEticVRpbWVSYW5nZVRpdGxlXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRpbWUtcmFuZ2UnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtLYnFUaW1lUmFuZ2VTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticVRpbWVSYW5nZTxUPiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGltZVJhbmdlU2VydmljZSA9IGluamVjdDxLYnFUaW1lUmFuZ2VTZXJ2aWNlPFQ+PihLYnFUaW1lUmFuZ2VTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBvcHRpb25hbDogdHJ1ZSwgc2VsZjogdHJ1ZSB9KTtcblxuICAgIC8qKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUuICovXG4gICAgcmVhZG9ubHkgbWluRGF0ZSA9IGlucHV0PFQ+KCk7XG4gICAgLyoqIFRoZSBtYXhpbXVtIHNlbGVjdGFibGUgZGF0ZS4gKi9cbiAgICByZWFkb25seSBtYXhEYXRlID0gaW5wdXQ8VD4oKTtcbiAgICAvKiogcHJvdmlkZWQgdmFsdWUgb2Ygc2VsZWN0ZWQgcmFuZ2UgKi9cbiAgICByZWFkb25seSBkZWZhdWx0UmFuZ2VWYWx1ZSA9IGlucHV0PEticVJhbmdlVmFsdWU8VD4+KCk7XG4gICAgLyoqIFByZXNldCBvZiBzZWxlY3RhYmxlIHJhbmdlcyAqL1xuICAgIHJlYWRvbmx5IGF2YWlsYWJsZVRpbWVSYW5nZVR5cGVzID0gaW5wdXQ8S2JxVGltZVJhbmdlVHlwZVtdPih0aGlzLnRpbWVSYW5nZVNlcnZpY2UucHJvdmlkZWREZWZhdWx0VGltZVJhbmdlVHlwZXMpO1xuICAgIC8qKiBDdXN0b21pemFibGUgdHJpZ2dlciBvdXRwdXQgKi9cbiAgICByZWFkb25seSB0aXRsZVRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8S2JxVGltZVJhbmdlQ3VzdG9taXphYmxlVGl0bGVDb250ZXh0Pj4oKTtcbiAgICAvKiogQ3VzdG9taXphYmxlIG9wdGlvbiBvdXRwdXQgKi9cbiAgICByZWFkb25seSBvcHRpb25UZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPEticVRpbWVSYW5nZU9wdGlvbkNvbnRleHQ+PigpO1xuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgcG9wb3ZlciB3aXRoIGFycm93ICovXG4gICAgcmVhZG9ubHkgYXJyb3cgPSBpbnB1dCh0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgcmFuZ2UgaW4gcG9wb3ZlciBpZiBub3QgcHJvdmlkZWRcbiAgICAgKiBAc2VlIGF2YWlsYWJsZVRpbWVSYW5nZVR5cGVzXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2hvd1JhbmdlQXNEZWZhdWx0ID0gaW5wdXQodHJ1ZSk7XG4gICAgLyoqIFdoZXRoZXIgY29tcG9uZW50IHNob3VsZCBmYWxsYmFjayB0byBkZWZhdWx0IHZhbHVlIGlmIG51bGwgcHJvdmlkZWQgKi9cbiAgICByZWFkb25seSBub25OdWxsYWJsZSA9IGlucHV0KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqIEVtaXQgdmFsdWUgdXBkYXRlIGlmIHByb3ZpZGVkIHZhbHVlIHZpYSBmb3JtQ29udHJvbCB3YXNuJ3QgdmFsaWQgKi9cbiAgICByZWFkb25seSB2YWx1ZUNvcnJlY3RlZCA9IG91dHB1dDxLYnFUaW1lUmFuZ2VSYW5nZT4oKTtcblxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gY2FsY3VsYXRlIHRpbWUgcmFuZ2UuXG4gICAgICogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBub3JtYWxpemVkRGVmYXVsdFJhbmdlVmFsdWUgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgICAgICAuLi50aGlzLnRpbWVSYW5nZVNlcnZpY2UuZ2V0RGVmYXVsdFJhbmdlVmFsdWUoKSxcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0UmFuZ2VWYWx1ZSgpXG4gICAgfSkpO1xuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGl0bGVWYWx1ZTogV3JpdGFibGVTaWduYWw8S2JxVGltZVJhbmdlUmFuZ2UgfCBudWxsPjtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSByYW5nZUVkaXRvckNvbnRyb2w6IEZvcm1Db250cm9sPEticVRpbWVSYW5nZVJhbmdlPjtcblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBvcG92ZXJTaXplID0gUG9wVXBTaXplcy5NZWRpdW07XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9wdXBQbGFjZW1lbnQgPSBQb3BVcFBsYWNlbWVudHMuQm90dG9tTGVmdDtcblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsZUNvbmZpZ3VyYXRpb24gPSBzaWduYWwoaW5qZWN0KEtCUV9USU1FX1JBTkdFX0xPQ0FMRV9DT05GSUdVUkFUSU9OKSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHRoaXMudGltZVJhbmdlU2VydmljZS5nZXRUaW1lUmFuZ2VEZWZhdWx0VmFsdWUoXG4gICAgICAgICAgICB0aGlzLm5vcm1hbGl6ZWREZWZhdWx0UmFuZ2VWYWx1ZSgpLFxuICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVUaW1lUmFuZ2VUeXBlcygpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy50aXRsZVZhbHVlID0gc2lnbmFsKHRoaXMubm9uTnVsbGFibGUoKSA/IGRlZmF1bHRWYWx1ZSA6IG51bGwpO1xuICAgICAgICB0aGlzLnJhbmdlRWRpdG9yQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxLYnFUaW1lUmFuZ2VSYW5nZT4oZGVmYXVsdFZhbHVlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuXG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZT8uY2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2NhbGVDb25maWd1cmF0aW9uLnNldCh0aGlzLmxvY2FsZVNlcnZpY2U/LmdldFBhcmFtcygndGltZVJhbmdlJykgPz8gcnVSVUxvY2FsZURhdGEudGltZVJhbmdlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuYXZhaWxhYmxlVGltZVJhbmdlVHlwZXMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5oYW5kbGVBdmFpbGFibGVUeXBlc0NoYW5nZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGNhbGwgYWdhaW4gb24gaW5pdCwgc28gaW5wdXQgc2lnbmFscyB2YWx1ZXMgd2lsbCBiZSBjb3JyZWN0XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLm5nQ29udHJvbD8udmFsdWUgPz8gbnVsbCk7XG4gICAgfVxuXG4gICAgLyoqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IgKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBLYnFUaW1lUmFuZ2VSYW5nZSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm9uTnVsbGFibGUgPSB0aGlzLm5vbk51bGxhYmxlKCk7XG5cbiAgICAgICAgY29uc3QgYXZhaWxhYmxlVGltZVJhbmdlVHlwZXMgPSB0aGlzLmF2YWlsYWJsZVRpbWVSYW5nZVR5cGVzKCk7XG5cbiAgICAgICAgY29uc3QgY29ycmVjdGVkID0gdGhpcy50aW1lUmFuZ2VTZXJ2aWNlLmNoZWNrQW5kQ29ycmVjdFRpbWVSYW5nZVZhbHVlKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBhdmFpbGFibGVUaW1lUmFuZ2VUeXBlcyxcbiAgICAgICAgICAgIHRoaXMubm9ybWFsaXplZERlZmF1bHRSYW5nZVZhbHVlKClcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUgJiYgdmFsdWUudHlwZSAmJiAhKCdzdGFydERhdGVUaW1lJyBpbiB2YWx1ZSAmJiBhdmFpbGFibGVUaW1lUmFuZ2VUeXBlcy5pbmNsdWRlcyh2YWx1ZS50eXBlKSkpIHx8XG4gICAgICAgICAgICAobm9uTnVsbGFibGUgJiYgdmFsdWUgPT09IG51bGwpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNvcnJlY3RlZC5lbWl0KGNvcnJlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRpdGxlVmFsdWUuc2V0KG5vbk51bGxhYmxlIHx8IHZhbHVlICE9PSBudWxsID8gY29ycmVjdGVkIDogbnVsbCk7XG4gICAgICAgIHRoaXMucmFuZ2VFZGl0b3JDb250cm9sLnNldFZhbHVlKGNvcnJlY3RlZCk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBvbkFwcGx5KHBvcG92ZXI6IEticVBvcG92ZXJUcmlnZ2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGl0bGVWYWx1ZS5zZXQodGhpcy5yYW5nZUVkaXRvckNvbnRyb2wudmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMucmFuZ2VFZGl0b3JDb250cm9sLnZhbHVlKTtcbiAgICAgICAgcG9wb3Zlci5oaWRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBvbkNhbmNlbChwb3BvdmVyOiBLYnFQb3BvdmVyVHJpZ2dlcik6IHZvaWQge1xuICAgICAgICBwb3BvdmVyLmhpZGUoKTtcbiAgICB9XG5cbiAgICBvblZpc2libGVDaGFuZ2UoaXNWaXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IHRpdGxlVmFsdWUgPSB0aGlzLnRpdGxlVmFsdWUoKTtcblxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiB0aXRsZVZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJhbmdlRWRpdG9yQ29udHJvbC5zZXRWYWx1ZSh0aXRsZVZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgb25DaGFuZ2UgPSAoX3ZhbHVlOiBLYnFUaW1lUmFuZ2VSYW5nZSkgPT4ge307XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBvblRvdWNoID0gKCkgPT4ge307XG4gICAgLyoqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IgKi9cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoX3ZhbHVlOiBLYnFUaW1lUmFuZ2VSYW5nZSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuICAgIC8qKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBdmFpbGFibGVUeXBlc0NoYW5nZSA9ICh0eXBlczogS2JxVGltZVJhbmdlVHlwZVtdKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0eXBlcy5pbmNsdWRlcyh0aGlzLnJhbmdlRWRpdG9yQ29udHJvbC52YWx1ZS50eXBlKSB8fCB0aGlzLnJhbmdlRWRpdG9yQ29udHJvbC52YWx1ZS50eXBlID09PSAncmFuZ2UnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aW1lUmFuZ2VEZWZhdWx0VmFsdWUgPSB0aGlzLnRpbWVSYW5nZVNlcnZpY2UuZ2V0VGltZVJhbmdlRGVmYXVsdFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5ub3JtYWxpemVkRGVmYXVsdFJhbmdlVmFsdWUoKSxcbiAgICAgICAgICAgIHR5cGVzLmxlbmd0aCA/IHR5cGVzIDogWydyYW5nZSddXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy50aXRsZVZhbHVlLnNldCh0aW1lUmFuZ2VEZWZhdWx0VmFsdWUpO1xuICAgICAgICB0aGlzLnJhbmdlRWRpdG9yQ29udHJvbC5zZXRWYWx1ZSh0aW1lUmFuZ2VEZWZhdWx0VmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRpbWVSYW5nZURlZmF1bHRWYWx1ZSk7XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,126 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { DateAdapter, DateFormatter } from '@koobiq/components/core';
3
- import { createMissingDateImplError, defaultTimeRangeTypes, KBQ_CUSTOM_TIME_RANGE_TYPES, KBQ_DEFAULT_TIME_RANGE_TYPES } from './constants';
4
- import * as i0 from "@angular/core";
5
- export class KbqTimeRangeService {
6
- constructor() {
7
- this.dateAdapter = inject(DateAdapter);
8
- this.dateFormatter = inject(DateFormatter);
9
- this.providedDefaultTimeRangeTypes = inject(KBQ_DEFAULT_TIME_RANGE_TYPES, { optional: true }) || defaultTimeRangeTypes;
10
- this.customTimeRangeTypes = inject(KBQ_CUSTOM_TIME_RANGE_TYPES, { optional: true });
11
- this.DEFAULT_RANGE_TYPE = 'lastHour';
12
- this.timeRangeConfig = {
13
- lastMinute: { units: { minutes: -1 }, translationType: 'minutes' },
14
- last5Minutes: { units: { minutes: -5 }, translationType: 'minutes' },
15
- last15Minutes: { units: { minutes: -15 }, translationType: 'minutes' },
16
- last30Minutes: { units: { minutes: -30 }, translationType: 'minutes' },
17
- lastHour: { units: { hours: -1 }, translationType: 'hours' },
18
- last24Hours: { units: { hours: -24 }, translationType: 'hours' },
19
- last3Days: { units: { days: -3 }, translationType: 'days' },
20
- last7Days: { units: { days: -7 }, translationType: 'days' },
21
- last14Days: { units: { days: -14 }, translationType: 'days' },
22
- last30Days: { units: { days: -30 }, translationType: 'days' },
23
- last3Months: { units: { months: -3 }, translationType: 'months' },
24
- last12Months: { units: { months: -12 }, translationType: 'months' },
25
- allTime: { units: {}, translationType: 'other' },
26
- currentQuarter: { units: {}, translationType: 'other' },
27
- currentYear: { units: {}, translationType: 'other' },
28
- range: { units: {}, translationType: 'other' }
29
- };
30
- this.lastUnitsRange = (unitsInfo) => KbqTimeRangeService.range(this.dateAdapter.toIso8601(this.dateAdapter.addCalendarUnits(this.dateAdapter.today(), unitsInfo)));
31
- if (!this.dateAdapter) {
32
- throw createMissingDateImplError('KbqTimeRange', 'DateAdapter');
33
- }
34
- this.customTimeRangeTypes
35
- ?.filter(({ type }) => {
36
- return !this.timeRangeConfig[type];
37
- })
38
- .forEach((type) => this.add(type));
39
- }
40
- static { this.range = (dateTimeISOString) => ({
41
- startDateTime: dateTimeISOString
42
- }); }
43
- add({ type, ...customTimeRangeConfig }) {
44
- this.timeRangeConfig[type] = customTimeRangeConfig;
45
- }
46
- getTimeRangeTypeUnits(type) {
47
- return this.timeRangeConfig[type].units;
48
- }
49
- getTimeRangeUnitByType(type) {
50
- return this.timeRangeConfig[type].translationType;
51
- }
52
- getDefaultRangeValue() {
53
- const from = this.dateAdapter.addCalendarUnits(this.dateAdapter.today(), { days: -1 });
54
- const to = this.dateAdapter.today();
55
- return {
56
- fromTime: this.omitMilliseconds(from),
57
- fromDate: this.omitMilliseconds(from),
58
- toTime: this.omitMilliseconds(to),
59
- toDate: this.omitMilliseconds(to)
60
- };
61
- }
62
- getTimeRangeDefaultValue(rangeValue, availableTimeRangeTypes = []) {
63
- const defaultType = availableTimeRangeTypes[0] ?? this.providedDefaultTimeRangeTypes[0] ?? this.DEFAULT_RANGE_TYPE;
64
- return {
65
- ...this.calculateTimeRange(defaultType, rangeValue || this.getDefaultRangeValue()),
66
- type: defaultType
67
- };
68
- }
69
- calculateTimeRange(type, rangeValue) {
70
- if (!type) {
71
- return {};
72
- }
73
- if (type === 'range') {
74
- const checkedRangeValue = rangeValue || this.getDefaultRangeValue();
75
- return {
76
- startDateTime: checkedRangeValue.fromDate && checkedRangeValue.fromTime
77
- ? this.dateAdapter.toIso8601(this.combineDateAndTime(checkedRangeValue.fromDate, checkedRangeValue.fromTime))
78
- : '',
79
- endDateTime: checkedRangeValue.toDate && checkedRangeValue.toTime
80
- ? this.dateAdapter.toIso8601(this.combineDateAndTime(checkedRangeValue.toDate, checkedRangeValue.toTime))
81
- : ''
82
- };
83
- }
84
- switch (this.getTimeRangeUnitByType(type)) {
85
- case 'other': {
86
- switch (type) {
87
- case 'currentQuarter':
88
- return KbqTimeRangeService.range(this.dateAdapter.toIso8601(this.dateAdapter.startOf(this.dateAdapter.today(), 'quarter')));
89
- case 'currentYear':
90
- return KbqTimeRangeService.range(this.dateAdapter.toIso8601(this.dateAdapter.startOf(this.dateAdapter.today(), 'year')));
91
- case 'allTime':
92
- default: {
93
- return this.timeRangeConfig[type].range ?? {};
94
- }
95
- }
96
- }
97
- default: {
98
- return this.lastUnitsRange(this.getTimeRangeTypeUnits(type));
99
- }
100
- }
101
- }
102
- combineDateAndTime(date, time) {
103
- return this.dateAdapter.createDateTime(this.dateAdapter.getYear(date), this.dateAdapter.getMonth(date), this.dateAdapter.getDate(date), this.dateAdapter.getHours(time), this.dateAdapter.getMinutes(time), this.dateAdapter.getSeconds(time), this.dateAdapter.getMilliseconds(time));
104
- }
105
- checkAndCorrectTimeRangeValue(value, availableTimeRangeTypes, rangeValue) {
106
- let result = value && (!availableTimeRangeTypes.length || availableTimeRangeTypes.includes(value.type))
107
- ? value
108
- : this.getTimeRangeDefaultValue(rangeValue, availableTimeRangeTypes);
109
- if (!result.startDateTime || (result.type === 'range' && (!result.startDateTime || !result.endDateTime))) {
110
- result = {
111
- ...this.calculateTimeRange(result.type, rangeValue),
112
- type: result.type
113
- };
114
- }
115
- return result;
116
- }
117
- omitMilliseconds(date) {
118
- return this.dateAdapter.createDateTime(this.dateAdapter.getYear(date), this.dateAdapter.getMonth(date), this.dateAdapter.getDate(date), this.dateAdapter.getHours(date), this.dateAdapter.getMinutes(date), this.dateAdapter.getSeconds(date), 0);
119
- }
120
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
121
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRangeService }); }
122
- }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimeRangeService, decorators: [{
124
- type: Injectable
125
- }], ctorParameters: () => [] });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1yYW5nZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90aW1lLXJhbmdlL3RpbWUtcmFuZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDL0IsTUFBTSxhQUFhLENBQUM7O0FBWXJCLE1BQU0sT0FBTyxtQkFBbUI7SUFrQzVCO1FBakNTLGdCQUFXLEdBQUcsTUFBTSxDQUFpQixXQUFXLENBQUMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLE1BQU0sQ0FBbUIsYUFBYSxDQUFDLENBQUM7UUFFeEQsa0NBQTZCLEdBQ2xDLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLHFCQUFxQixDQUFDO1FBRTdFLHlCQUFvQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRS9FLHVCQUFrQixHQUFxQixVQUFVLENBQUM7UUFFbEQsb0JBQWUsR0FBbUU7WUFDdkYsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRTtZQUNsRSxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFO1lBQ3BFLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVB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ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIERhdGVGb3JtYXR0ZXIgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQge1xuICAgIGNyZWF0ZU1pc3NpbmdEYXRlSW1wbEVycm9yLFxuICAgIGRlZmF1bHRUaW1lUmFuZ2VUeXBlcyxcbiAgICBLQlFfQ1VTVE9NX1RJTUVfUkFOR0VfVFlQRVMsXG4gICAgS0JRX0RFRkFVTFRfVElNRV9SQU5HRV9UWVBFU1xufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIEticUN1c3RvbVRpbWVSYW5nZVR5cGUsXG4gICAgS2JxUmFuZ2UsXG4gICAgS2JxUmFuZ2VWYWx1ZSxcbiAgICBLYnFUaW1lUmFuZ2VSYW5nZSxcbiAgICBLYnFUaW1lUmFuZ2VUcmFuc2xhdGlvblR5cGUsXG4gICAgS2JxVGltZVJhbmdlVHlwZSxcbiAgICBLYnFUaW1lUmFuZ2VVbml0c1xufSBmcm9tICcuL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEticVRpbWVSYW5nZVNlcnZpY2U8VD4ge1xuICAgIHJlYWRvbmx5IGRhdGVBZGFwdGVyID0gaW5qZWN0PERhdGVBZGFwdGVyPFQ+PihEYXRlQWRhcHRlcik7XG4gICAgcmVhZG9ubHkgZGF0ZUZvcm1hdHRlciA9IGluamVjdDxEYXRlRm9ybWF0dGVyPFQ+PihEYXRlRm9ybWF0dGVyKTtcblxuICAgIHJlYWRvbmx5IHByb3ZpZGVkRGVmYXVsdFRpbWVSYW5nZVR5cGVzID1cbiAgICAgICAgaW5qZWN0KEtCUV9ERUZBVUxUX1RJTUVfUkFOR0VfVFlQRVMsIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgZGVmYXVsdFRpbWVSYW5nZVR5cGVzO1xuXG4gICAgcmVhZG9ubHkgY3VzdG9tVGltZVJhbmdlVHlwZXMgPSBpbmplY3QoS0JRX0NVU1RPTV9USU1FX1JBTkdFX1RZUEVTLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgcmVhZG9ubHkgREVGQVVMVF9SQU5HRV9UWVBFOiBLYnFUaW1lUmFuZ2VUeXBlID0gJ2xhc3RIb3VyJztcblxuICAgIHJlYWRvbmx5IHRpbWVSYW5nZUNvbmZpZzogUmVjb3JkPEticVRpbWVSYW5nZVR5cGUsIE9taXQ8S2JxQ3VzdG9tVGltZVJhbmdlVHlwZSwgJ3R5cGUnPj4gPSB7XG4gICAgICAgIGxhc3RNaW51dGU6IHsgdW5pdHM6IHsgbWludXRlczogLTEgfSwgdHJhbnNsYXRpb25UeXBlOiAnbWludXRlcycgfSxcbiAgICAgICAgbGFzdDVNaW51dGVzOiB7IHVuaXRzOiB7IG1pbnV0ZXM6IC01IH0sIHRyYW5zbGF0aW9uVHlwZTogJ21pbnV0ZXMnIH0sXG4gICAgICAgIGxhc3QxNU1pbnV0ZXM6IHsgdW5pdHM6IHsgbWludXRlczogLTE1IH0sIHRyYW5zbGF0aW9uVHlwZTogJ21pbnV0ZXMnIH0sXG4gICAgICAgIGxhc3QzME1pbnV0ZXM6IHsgdW5pdHM6IHsgbWludXRlczogLTMwIH0sIHRyYW5zbGF0aW9uVHlwZTogJ21pbnV0ZXMnIH0sXG5cbiAgICAgICAgbGFzdEhvdXI6IHsgdW5pdHM6IHsgaG91cnM6IC0xIH0sIHRyYW5zbGF0aW9uVHlwZTogJ2hvdXJzJyB9LFxuICAgICAgICBsYXN0MjRIb3VyczogeyB1bml0czogeyBob3VyczogLTI0IH0sIHRyYW5zbGF0aW9uVHlwZTogJ2hvdXJzJyB9LFxuXG4gICAgICAgIGxhc3QzRGF5czogeyB1bml0czogeyBkYXlzOiAtMyB9LCB0cmFuc2xhdGlvblR5cGU6ICdkYXlzJyB9LFxuICAgICAgICBsYXN0N0RheXM6IHsgdW5pdHM6IHsgZGF5czogLTcgfSwgdHJhbnNsYXRpb25UeXBlOiAnZGF5cycgfSxcbiAgICAgICAgbGFzdDE0RGF5czogeyB1bml0czogeyBkYXlzOiAtMTQgfSwgdHJhbnNsYXRpb25UeXBlOiAnZGF5cycgfSxcbiAgICAgICAgbGFzdDMwRGF5czogeyB1bml0czogeyBkYXlzOiAtMzAgfSwgdHJhbnNsYXRpb25UeXBlOiAnZGF5cycgfSxcblxuICAgICAgICBsYXN0M01vbnRoczogeyB1bml0czogeyBtb250aHM6IC0zIH0sIHRyYW5zbGF0aW9uVHlwZTogJ21vbnRocycgfSxcbiAgICAgICAgbGFzdDEyTW9udGhzOiB7IHVuaXRzOiB7IG1vbnRoczogLTEyIH0sIHRyYW5zbGF0aW9uVHlwZTogJ21vbnRocycgfSxcblxuICAgICAgICBhbGxUaW1lOiB7IHVuaXRzOiB7fSwgdHJhbnNsYXRpb25UeXBlOiAnb3RoZXInIH0sXG4gICAgICAgIGN1cnJlbnRRdWFydGVyOiB7IHVuaXRzOiB7fSwgdHJhbnNsYXRpb25UeXBlOiAnb3RoZXInIH0sXG4gICAgICAgIGN1cnJlbnRZZWFyOiB7IHVuaXRzOiB7fSwgdHJhbnNsYXRpb25UeXBlOiAnb3RoZXInIH0sXG4gICAgICAgIHJhbmdlOiB7IHVuaXRzOiB7fSwgdHJhbnNsYXRpb25UeXBlOiAnb3RoZXInIH1cbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICghdGhpcy5kYXRlQWRhcHRlcikge1xuICAgICAgICAgICAgdGhyb3cgY3JlYXRlTWlzc2luZ0RhdGVJbXBsRXJyb3IoJ0ticVRpbWVSYW5nZScsICdEYXRlQWRhcHRlcicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXN0b21UaW1lUmFuZ2VUeXBlc1xuICAgICAgICAgICAgPy5maWx0ZXIoKHsgdHlwZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLnRpbWVSYW5nZUNvbmZpZ1t0eXBlXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZm9yRWFjaCgodHlwZSkgPT4gdGhpcy5hZGQodHlwZSkpO1xuICAgIH1cblxuICAgIHN0YXRpYyByYW5nZSA9IChkYXRlVGltZUlTT1N0cmluZzogc3RyaW5nKTogS2JxUmFuZ2UgPT4gKHtcbiAgICAgICAgc3RhcnREYXRlVGltZTogZGF0ZVRpbWVJU09TdHJpbmdcbiAgICB9KTtcblxuICAgIGFkZCh7IHR5cGUsIC4uLmN1c3RvbVRpbWVSYW5nZUNvbmZpZyB9OiBLYnFDdXN0b21UaW1lUmFuZ2VUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZVJhbmdlQ29uZmlnW3R5cGVdID0gY3VzdG9tVGltZVJhbmdlQ29uZmlnO1xuICAgIH1cblxuICAgIGdldFRpbWVSYW5nZVR5cGVVbml0cyh0eXBlOiBLYnFUaW1lUmFuZ2VUeXBlKTogS2JxVGltZVJhbmdlVW5pdHMge1xuICAgICAgICByZXR1cm4gdGhpcy50aW1lUmFuZ2VDb25maWdbdHlwZV0udW5pdHM7XG4gICAgfVxuXG4gICAgZ2V0VGltZVJhbmdlVW5pdEJ5VHlwZSh0eXBlOiBLYnFUaW1lUmFuZ2VUeXBlKTogS2JxVGltZVJhbmdlVHJhbnNsYXRpb25UeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZVJhbmdlQ29uZmlnW3R5cGVdLnRyYW5zbGF0aW9uVHlwZTtcbiAgICB9XG5cbiAgICBnZXREZWZhdWx0UmFuZ2VWYWx1ZSgpOiBSZXF1aXJlZDxLYnFSYW5nZVZhbHVlPFQ+PiB7XG4gICAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmRhdGVBZGFwdGVyIS5hZGRDYWxlbmRhclVuaXRzKHRoaXMuZGF0ZUFkYXB0ZXIhLnRvZGF5KCksIHsgZGF5czogLTEgfSk7XG4gICAgICAgIGNvbnN0IHRvID0gdGhpcy5kYXRlQWRhcHRlciEudG9kYXkoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZnJvbVRpbWU6IHRoaXMub21pdE1pbGxpc2Vjb25kcyhmcm9tKSxcbiAgICAgICAgICAgIGZyb21EYXRlOiB0aGlzLm9taXRNaWxsaXNlY29uZHMoZnJvbSksXG4gICAgICAgICAgICB0b1RpbWU6IHRoaXMub21pdE1pbGxpc2Vjb25kcyh0byksXG4gICAgICAgICAgICB0b0RhdGU6IHRoaXMub21pdE1pbGxpc2Vjb25kcyh0bylcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRUaW1lUmFuZ2VEZWZhdWx0VmFsdWUoXG4gICAgICAgIHJhbmdlVmFsdWU6IEticVJhbmdlVmFsdWU8VD4sXG4gICAgICAgIGF2YWlsYWJsZVRpbWVSYW5nZVR5cGVzOiBLYnFUaW1lUmFuZ2VUeXBlW10gPSBbXVxuICAgICk6IEticVRpbWVSYW5nZVJhbmdlIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdFR5cGUgPVxuICAgICAgICAgICAgYXZhaWxhYmxlVGltZVJhbmdlVHlwZXNbMF0gPz8gdGhpcy5wcm92aWRlZERlZmF1bHRUaW1lUmFuZ2VUeXBlc1swXSA/PyB0aGlzLkRFRkFVTFRfUkFOR0VfVFlQRTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcy5jYWxjdWxhdGVUaW1lUmFuZ2UoZGVmYXVsdFR5cGUsIHJhbmdlVmFsdWUgfHwgdGhpcy5nZXREZWZhdWx0UmFuZ2VWYWx1ZSgpKSxcbiAgICAgICAgICAgIHR5cGU6IGRlZmF1bHRUeXBlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlVGltZVJhbmdlKHR5cGU/OiBLYnFUaW1lUmFuZ2VUeXBlLCByYW5nZVZhbHVlPzogS2JxUmFuZ2VWYWx1ZTxUPik6IEticVJhbmdlIHtcbiAgICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZSA9PT0gJ3JhbmdlJykge1xuICAgICAgICAgICAgY29uc3QgY2hlY2tlZFJhbmdlVmFsdWUgPSByYW5nZVZhbHVlIHx8IHRoaXMuZ2V0RGVmYXVsdFJhbmdlVmFsdWUoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdGFydERhdGVUaW1lOlxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkUmFuZ2VWYWx1ZS5mcm9tRGF0ZSAmJiBjaGVja2VkUmFuZ2VWYWx1ZS5mcm9tVGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmRhdGVBZGFwdGVyLnRvSXNvODYwMShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tYmluZURhdGVBbmRUaW1lKGNoZWNrZWRSYW5nZVZhbHVlLmZyb21EYXRlLCBjaGVja2VkUmFuZ2VWYWx1ZS5mcm9tVGltZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyxcbiAgICAgICAgICAgICAgICBlbmREYXRlVGltZTpcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZFJhbmdlVmFsdWUudG9EYXRlICYmIGNoZWNrZWRSYW5nZVZhbHVlLnRvVGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmRhdGVBZGFwdGVyLnRvSXNvODYwMShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tYmluZURhdGVBbmRUaW1lKGNoZWNrZWRSYW5nZVZhbHVlLnRvRGF0ZSwgY2hlY2tlZFJhbmdlVmFsdWUudG9UaW1lKVxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLmdldFRpbWVSYW5nZVVuaXRCeVR5cGUodHlwZSkpIHtcbiAgICAgICAgICAgIGNhc2UgJ290aGVyJzoge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdjdXJyZW50UXVhcnRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gS2JxVGltZVJhbmdlU2VydmljZS5yYW5nZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGVBZGFwdGVyLnRvSXNvODYwMSh0aGlzLmRhdGVBZGFwdGVyLnN0YXJ0T2YodGhpcy5kYXRlQWRhcHRlci50b2RheSgpLCAncXVhcnRlcicpKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY3VycmVudFllYXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEticVRpbWVSYW5nZVNlcnZpY2UucmFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlQWRhcHRlci50b0lzbzg2MDEodGhpcy5kYXRlQWRhcHRlci5zdGFydE9mKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSwgJ3llYXInKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2FsbFRpbWUnOlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50aW1lUmFuZ2VDb25maWdbdHlwZV0ucmFuZ2UgPz8ge307XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdFVuaXRzUmFuZ2UodGhpcy5nZXRUaW1lUmFuZ2VUeXBlVW5pdHModHlwZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29tYmluZURhdGVBbmRUaW1lKGRhdGU6IFQsIHRpbWU6IFQpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUFkYXB0ZXIhLmNyZWF0ZURhdGVUaW1lKFxuICAgICAgICAgICAgdGhpcy5kYXRlQWRhcHRlci5nZXRZZWFyKGRhdGUpLFxuICAgICAgICAgICAgdGhpcy5kYXRlQWRhcHRlci5nZXRNb250aChkYXRlKSxcbiAgICAgICAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0RGF0ZShkYXRlKSxcbiAgICAgICAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0SG91cnModGltZSksXG4gICAgICAgICAgICB0aGlzLmRhdGVBZGFwdGVyLmdldE1pbnV0ZXModGltZSksXG4gICAgICAgICAgICB0aGlzLmRhdGVBZGFwdGVyLmdldFNlY29uZHModGltZSksXG4gICAgICAgICAgICB0aGlzLmRhdGVBZGFwdGVyLmdldE1pbGxpc2Vjb25kcyh0aW1lKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGxhc3RVbml0c1JhbmdlID0gKHVuaXRzSW5mbzogS2JxVGltZVJhbmdlVW5pdHMpOiBLYnFSYW5nZSA9PlxuICAgICAgICBLYnFUaW1lUmFuZ2VTZXJ2aWNlLnJhbmdlKFxuICAgICAgICAgICAgdGhpcy5kYXRlQWRhcHRlci50b0lzbzg2MDEodGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclVuaXRzKHRoaXMuZGF0ZUFkYXB0ZXIudG9kYXkoKSwgdW5pdHNJbmZvKSlcbiAgICAgICAgKTtcblxuICAgIGNoZWNrQW5kQ29ycmVjdFRpbWVSYW5nZVZhbHVlKFxuICAgICAgICB2YWx1ZTogS2JxVGltZVJhbmdlUmFuZ2UgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgICAgICBhdmFpbGFibGVUaW1lUmFuZ2VUeXBlczogS2JxVGltZVJhbmdlVHlwZVtdLFxuICAgICAgICByYW5nZVZhbHVlOiBLYnFSYW5nZVZhbHVlPFQ+XG4gICAgKTogS2JxVGltZVJhbmdlUmFuZ2Uge1xuICAgICAgICBsZXQgcmVzdWx0ID1cbiAgICAgICAgICAgIHZhbHVlICYmICghYXZhaWxhYmxlVGltZVJhbmdlVHlwZXMubGVuZ3RoIHx8IGF2YWlsYWJsZVRpbWVSYW5nZVR5cGVzLmluY2x1ZGVzKHZhbHVlLnR5cGUpKVxuICAgICAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgICAgICA6IHRoaXMuZ2V0VGltZVJhbmdlRGVmYXVsdFZhbHVlKHJhbmdlVmFsdWUsIGF2YWlsYWJsZVRpbWVSYW5nZVR5cGVzKTtcblxuICAgICAgICBpZiAoIXJlc3VsdC5zdGFydERhdGVUaW1lIHx8IChyZXN1bHQudHlwZSA9PT0gJ3JhbmdlJyAmJiAoIXJlc3VsdC5zdGFydERhdGVUaW1lIHx8ICFyZXN1bHQuZW5kRGF0ZVRpbWUpKSkge1xuICAgICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuY2FsY3VsYXRlVGltZVJhbmdlKHJlc3VsdC50eXBlLCByYW5nZVZhbHVlKSxcbiAgICAgICAgICAgICAgICB0eXBlOiByZXN1bHQudHlwZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgb21pdE1pbGxpc2Vjb25kcyhkYXRlOiBUKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGVUaW1lKFxuICAgICAgICAgICAgdGhpcy5kYXRlQWRhcHRlci5nZXRZZWFyKGRhdGUpLFxuICAgICAgICAgICAgdGhpcy5kYXRlQWRhcHRlci5nZXRNb250aChkYXRlKSxcbiAgICAgICAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0RGF0ZShkYXRlKSxcbiAgICAgICAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0SG91cnMoZGF0ZSksXG4gICAgICAgICAgICB0aGlzLmRhdGVBZGFwdGVyLmdldE1pbnV0ZXMoZGF0ZSksXG4gICAgICAgICAgICB0aGlzLmRhdGVBZGFwdGVyLmdldFNlY29uZHMoZGF0ZSksXG4gICAgICAgICAgICAwXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RpbWUtcmFuZ2UvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEticVBvcG92ZXJUcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgRHVyYXRpb25PYmplY3RVbml0cywgRHVyYXRpb25Vbml0IH0gZnJvbSAnQGtvb2JpcS9kYXRlLWFkYXB0ZXInO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0aW1lIHJhbmdlIHdpdGggb3B0aW9uYWwgc3RhcnQgYW5kIGVuZCBkYXRlLXRpbWUgdmFsdWVzLlxuICogVXNlZCBhcyBhIGZvcm0gdmFsdWUgd2hlbiByYW5nZSBpbiBwb3BvdmVyIGNoYW5nZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYnFSYW5nZVZhbHVlPFQ+IHtcbiAgICBmcm9tVGltZT86IFQ7XG4gICAgZnJvbURhdGU/OiBUO1xuICAgIHRvVGltZT86IFQ7XG4gICAgdG9EYXRlPzogVDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdGltZSByYW5nZSB3aXRoIG9wdGlvbmFsIHN0YXJ0IGFuZCBlbmQgZGF0ZS10aW1lIHZhbHVlcy5cbiAqIFVzZWQgYXMgYSByYW5nZSB2YWx1ZSBieSBkZWZhdWx0LlxuICovXG5leHBvcnQgdHlwZSBLYnFSYW5nZSA9IHtcbiAgICBzdGFydERhdGVUaW1lPzogc3RyaW5nO1xuICAgIGVuZERhdGVUaW1lPzogc3RyaW5nO1xufTtcblxuLyoqIFJhbmdlIHR5cGUgc2VsZWN0ZWQgKi9cbmV4cG9ydCB0eXBlIEticVRpbWVSYW5nZVR5cGVDb250ZXh0ID0ge1xuICAgIHR5cGU6IEticVRpbWVSYW5nZVR5cGU7XG59O1xuXG4vKipcbiAqIE1haW4gcmFuZ2UgaW5mb3JtYXRpb24uXG4gKiBVc2VkIGZvciBhIHBvcG92ZXIgZGF0ZSByYW5nZSBzZWxlY3Rpb24sIHdoZW4gc2VsZWN0ZWQgdHlwZSBpcyByYW5nZSxcbiAqIGFuZCBmb3IgdHJpZ2dlciBpbmZvcm1hdGlvbiBjYWxjdWxhdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgS2JxVGltZVJhbmdlUmFuZ2UgPSBLYnFSYW5nZSAmIEticVRpbWVSYW5nZVR5cGVDb250ZXh0O1xuXG4vKiogRGVmYXVsdCBhY2NlcHRlZCDigJx0aW1l4oCRcmFuZ2XigJ0gaWRlbnRpZmllcnMuICovXG5leHBvcnQgdHlwZSBLYnFUaW1lUmFuZ2VUeXBlID1cbiAgICB8ICdsYXN0TWludXRlJ1xuICAgIHwgJ2xhc3Q1TWludXRlcydcbiAgICB8ICdsYXN0MTVNaW51dGVzJ1xuICAgIHwgJ2xhc3QzME1pbnV0ZXMnXG4gICAgfCAnbGFzdEhvdXInXG4gICAgfCAnbGFzdDI0SG91cnMnXG4gICAgfCAnbGFzdDNEYXlzJ1xuICAgIHwgJ2xhc3Q3RGF5cydcbiAgICB8ICdsYXN0MTREYXlzJ1xuICAgIHwgJ2xhc3QzMERheXMnXG4gICAgfCAnbGFzdDNNb250aHMnXG4gICAgfCAnbGFzdDEyTW9udGhzJ1xuICAgIHwgJ2FsbFRpbWUnXG4gICAgfCAnY3VycmVudFF1YXJ0ZXInXG4gICAgfCAnY3VycmVudFllYXInXG4gICAgfCAncmFuZ2UnO1xuXG4vKiogUHJvcGVydHkgcmVwcmVzZW50aW5nIGR1cmF0aW9uIG91dHB1dCB1bml0ICovXG5leHBvcnQgdHlwZSBLYnFUaW1lUmFuZ2VUcmFuc2xhdGlvblR5cGUgPSBFeGNsdWRlPER1cmF0aW9uVW5pdCwgJ3F1YXJ0ZXJzJyB8ICdtaWxsaXNlY29uZHMnPiB8ICdvdGhlcic7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBjdXN0b20gdGltZSByYW5nZSB3aXRoIGR1cmF0aW9uIG1ldGFkYXRhLlxuICogRGVmaW5lcyBhIHRpbWUgcmFuZ2Ugd2l0aCBpdHMgaWRlbnRpZmllciwgZHVyYXRpb24gdW5pdHMsIGFuZCBvcHRpb25hbCBmaXhlZCBkYXRlIHJhbmdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEticVRpbWVSYW5nZVVuaXRzIGV4dGVuZHMgRHVyYXRpb25PYmplY3RVbml0cyB7fVxuXG5leHBvcnQgdHlwZSBLYnFDdXN0b21UaW1lUmFuZ2VUeXBlID0ge1xuICAgIC8qKiB0aW1lIHJhbmdlIGlkZW50aWZpZXIuIFVzZWQgYXMgY29uZmlnIGtleSAqL1xuICAgIHR5cGU6IEticVRpbWVSYW5nZVR5cGUgfCBzdHJpbmc7XG4gICAgLyoqIER1cmF0aW9uIG1ldGFkYXRhICovXG4gICAgdW5pdHM6IEticVRpbWVSYW5nZVVuaXRzO1xuICAgIC8qKiBQcm9wZXJ0eSByZXByZXNlbnRpbmcgZHVyYXRpb24gb3V0cHV0IHVuaXQgKi9cbiAgICB0cmFuc2xhdGlvblR5cGU6IEticVRpbWVSYW5nZVRyYW5zbGF0aW9uVHlwZTtcbiAgICAvKiogQ3VzdG9tIHJhbmdlIG9mIHN0YXJ0L2VuZCBkYXRlLXRpbWVzICovXG4gICAgcmFuZ2U/OiBLYnFSYW5nZTtcbn07XG5cbi8qKiBDb250ZXh0IGZvciBhIHRpbWUgcmFuZ2UgdHJpZ2dlciwgY29tYmluaW5nIHJhbmdlIGluZm8gYW5kIHR5cGUuICovXG5leHBvcnQgdHlwZSBLYnFUaW1lUmFuZ2VUaXRsZUNvbnRleHQgPSBLYnFUaW1lUmFuZ2VSYW5nZSAmIEticVRpbWVSYW5nZVVuaXRzO1xuLyoqIENvbnRleHQgZm9yIGEgdGltZSByYW5nZSB0cmlnZ2VyIGN1c3RvbWl6YXRpb24sIGNvbWJpbmluZyBtZXRhIGluZm9ybWF0aW9uLiAqL1xuZXhwb3J0IHR5cGUgS2JxVGltZVJhbmdlQ3VzdG9taXphYmxlVGl0bGVDb250ZXh0ID0gUGFydGlhbDxLYnFUaW1lUmFuZ2VUaXRsZUNvbnRleHQ+ICYge1xuICAgICRpbXBsaWNpdDogUGFydGlhbDxLYnFUaW1lUmFuZ2VUaXRsZUNvbnRleHQ+ICYgeyBmb3JtYXR0ZWREYXRlOiBzdHJpbmc7IHBvcG92ZXI6IEticVBvcG92ZXJUcmlnZ2VyIH07XG59ICYgeyBmb3JtYXR0ZWREYXRlOiBzdHJpbmc7IHBvcG92ZXI6IEticVBvcG92ZXJUcmlnZ2VyIH07XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgdHlwZSBLYnFUaW1lUmFuZ2VUcmFuc2xhdGVUeXBlTWFwID0gUmVjb3JkPEticVRpbWVSYW5nZVR5cGUsIEticVRpbWVSYW5nZVRyYW5zbGF0aW9uVHlwZT47XG4vKiogQ29udGV4dCBmb3IgYSB0aW1lIHJhbmdlIG9wdGlvbiBjdXN0b21pemF0aW9uLCBjb21iaW5pbmcgbWV0YSBpbmZvcm1hdGlvbi4gKi9cbmV4cG9ydCB0eXBlIEticVRpbWVSYW5nZU9wdGlvbkNvbnRleHQgPSBLYnFUaW1lUmFuZ2VUeXBlQ29udGV4dCAmXG4gICAgS2JxVGltZVJhbmdlVW5pdHMgJiB7IHRyYW5zbGF0aW9uVHlwZTogS2JxVGltZVJhbmdlVHJhbnNsYXRpb25UeXBlOyBmb3JtYXR0ZWRWYWx1ZTogc3RyaW5nIH07XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RpbWVwaWNrZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29vYmlxLWNvbXBvbmVudHMtdGltZXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGltZXBpY2tlci9rb29iaXEtY29tcG9uZW50cy10aW1lcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,4 +0,0 @@
1
- export * from './timepicker.constants';
2
- export * from './timepicker.directive';
3
- export * from './timepicker.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGltZXBpY2tlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90aW1lcGlja2VyLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWVwaWNrZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZXBpY2tlci5tb2R1bGUnO1xuIl19
@@ -1,29 +0,0 @@
1
- export var TimeParts;
2
- (function (TimeParts) {
3
- TimeParts[TimeParts["hours"] = 0] = "hours";
4
- TimeParts[TimeParts["minutes"] = 1] = "minutes";
5
- TimeParts[TimeParts["seconds"] = 2] = "seconds";
6
- })(TimeParts || (TimeParts = {}));
7
- export var TimeFormats;
8
- (function (TimeFormats) {
9
- TimeFormats["HHmmss"] = "HH:mm:ss";
10
- TimeFormats["HHmm"] = "HH:mm";
11
- })(TimeFormats || (TimeFormats = {}));
12
- export const TIMEFORMAT_PLACEHOLDERS = {
13
- [TimeFormats.HHmmss]: 'чч:мм:сс',
14
- [TimeFormats.HHmm]: 'чч:мм'
15
- };
16
- /** Object that maps each time format to a related locale key */
17
- export const TimeFormatToLocaleKeys = {
18
- [TimeFormats.HHmmss]: 'full',
19
- [TimeFormats.HHmm]: 'short'
20
- };
21
- export const DEFAULT_TIME_FORMAT = TimeFormats.HHmm;
22
- export const HOURS_MINUTES_SECONDS_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9]):?([0-5][0-9])?$/;
23
- export const HOURS_MINUTES_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9])?$/;
24
- export const HOURS_ONLY_REGEXP = /^([0-1][0-9]|2[0-3]):?$/;
25
- export const AM_PM_FORMAT_REGEXP = /^([0-1]?[0-9]):([0-5]?[0-9]) ([ap][m]?$)/i;
26
- export const SECONDS_PER_MINUTE = 59;
27
- export const MINUTES_PER_HOUR = 59;
28
- export const HOURS_PER_DAY = 23;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RpbWVwaWNrZXIvdGltZXBpY2tlci5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNqQiwyQ0FBSyxDQUFBO0lBQ0wsK0NBQU8sQ0FBQTtJQUNQLCtDQUFPLENBQUE7QUFDWCxDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ25CLGtDQUFtQixDQUFBO0lBQ25CLDZCQUFjLENBQUE7QUFDbEIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXFDO0lBQ3JFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVU7SUFDaEMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTztDQUM5QixDQUFDO0FBRUYsZ0VBQWdFO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEwQztJQUN6RSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNO0lBQzVCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU87Q0FDOUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFnQixXQUFXLENBQUMsSUFBSSxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9EQUFvRCxDQUFDO0FBQ2pHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHNDQUFzQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHlCQUF5QixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLDJDQUEyQyxDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFXLEVBQUUsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBVyxFQUFFLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRpbWVQYXJ0cyB7XG4gICAgaG91cnMsXG4gICAgbWludXRlcyxcbiAgICBzZWNvbmRzXG59XG5cbmV4cG9ydCBlbnVtIFRpbWVGb3JtYXRzIHtcbiAgICBISG1tc3MgPSAnSEg6bW06c3MnLFxuICAgIEhIbW0gPSAnSEg6bW0nXG59XG5cbmV4cG9ydCBjb25zdCBUSU1FRk9STUFUX1BMQUNFSE9MREVSUzogeyBbdGltZUZvcm1hdDogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgW1RpbWVGb3JtYXRzLkhIbW1zc106ICfRh9GHOtC80Lw60YHRgScsXG4gICAgW1RpbWVGb3JtYXRzLkhIbW1dOiAn0YfRhzrQvNC8J1xufTtcblxuLyoqIE9iamVjdCB0aGF0IG1hcHMgZWFjaCB0aW1lIGZvcm1hdCB0byBhIHJlbGF0ZWQgbG9jYWxlIGtleSAqL1xuZXhwb3J0IGNvbnN0IFRpbWVGb3JtYXRUb0xvY2FsZUtleXM6IFJlY29yZDxUaW1lRm9ybWF0cywgJ2Z1bGwnIHwgJ3Nob3J0Jz4gPSB7XG4gICAgW1RpbWVGb3JtYXRzLkhIbW1zc106ICdmdWxsJyxcbiAgICBbVGltZUZvcm1hdHMuSEhtbV06ICdzaG9ydCdcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVfRk9STUFUOiBUaW1lRm9ybWF0cyA9IFRpbWVGb3JtYXRzLkhIbW07XG5cbmV4cG9ydCBjb25zdCBIT1VSU19NSU5VVEVTX1NFQ09ORFNfUkVHRVhQID0gL14oWzAtMV1bMC05XXwyWzAtM10pOj8oWzAtNV1bMC05XSk6PyhbMC01XVswLTldKT8kLztcbmV4cG9ydCBjb25zdCBIT1VSU19NSU5VVEVTX1JFR0VYUCA9IC9eKFswLTFdWzAtOV18MlswLTNdKTo/KFswLTVdWzAtOV0pPyQvO1xuZXhwb3J0IGNvbnN0IEhPVVJTX09OTFlfUkVHRVhQID0gL14oWzAtMV1bMC05XXwyWzAtM10pOj8kLztcbmV4cG9ydCBjb25zdCBBTV9QTV9GT1JNQVRfUkVHRVhQID0gL14oWzAtMV0/WzAtOV0pOihbMC01XT9bMC05XSkgKFthcF1bbV0/JCkvaTtcblxuZXhwb3J0IGNvbnN0IFNFQ09ORFNfUEVSX01JTlVURTogbnVtYmVyID0gNTk7XG5leHBvcnQgY29uc3QgTUlOVVRFU19QRVJfSE9VUjogbnVtYmVyID0gNTk7XG5leHBvcnQgY29uc3QgSE9VUlNfUEVSX0RBWTogbnVtYmVyID0gMjM7XG4iXX0=