@koobiq/components 18.36.0 → 18.38.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 (309) hide show
  1. package/autocomplete/autocomplete.scss +2 -17
  2. package/breadcrumbs/breadcrumbs.d.ts +2 -1
  3. package/breadcrumbs/breadcrumbs.scss +4 -4
  4. package/button/button.component.d.ts +1 -0
  5. package/button-toggle/button-toggle.scss +0 -2
  6. package/content-panel/content-panel.d.ts +1 -1
  7. package/content-panel/index.d.ts +0 -1
  8. package/core/common-behaviors/hover.d.ts +15 -0
  9. package/core/common-behaviors/index.d.ts +1 -1
  10. package/core/locales/en-US.d.ts +6 -0
  11. package/core/locales/es-LA.d.ts +6 -0
  12. package/core/locales/formatters.d.ts +0 -72
  13. package/core/locales/index.d.ts +0 -2
  14. package/core/locales/locale-service.d.ts +24 -386
  15. package/core/locales/pt-BR.d.ts +6 -0
  16. package/core/locales/ru-RU.d.ts +6 -0
  17. package/core/locales/tk-TM.d.ts +6 -0
  18. package/core/option/option.d.ts +3 -2
  19. package/core/pop-up/pop-up-trigger.d.ts +3 -1
  20. package/core/pop-up/pop-up.d.ts +1 -0
  21. package/core/select/common.d.ts +3 -1
  22. package/core/styles/common/_select.scss +20 -0
  23. package/core/styles/typography/_typography.scss +23 -82
  24. package/datepicker/datepicker-module.d.ts +2 -1
  25. package/dropdown/dropdown-item.scss +8 -7
  26. package/dropdown/dropdown.scss +5 -14
  27. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -4
  28. package/esm2022/breadcrumbs/breadcrumbs.mjs +46 -37
  29. package/esm2022/button/button.component.mjs +6 -4
  30. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  31. package/esm2022/code-block/code-block-highlight.mjs +6 -1
  32. package/esm2022/content-panel/content-panel.mjs +2 -2
  33. package/esm2022/content-panel/index.mjs +1 -2
  34. package/esm2022/core/common-behaviors/color.mjs +2 -1
  35. package/esm2022/core/common-behaviors/common-module.mjs +2 -1
  36. package/esm2022/core/common-behaviors/disabled.mjs +2 -1
  37. package/esm2022/core/common-behaviors/error-state.mjs +2 -1
  38. package/esm2022/core/common-behaviors/hover.mjs +34 -0
  39. package/esm2022/core/common-behaviors/index.mjs +2 -2
  40. package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
  41. package/esm2022/core/form-field/field-sizing-content.mjs +5 -2
  42. package/esm2022/core/formatters/number/formatter.mjs +2 -2
  43. package/esm2022/core/locales/en-US.mjs +7 -1
  44. package/esm2022/core/locales/es-LA.mjs +16 -10
  45. package/esm2022/core/locales/formatters.mjs +1 -73
  46. package/esm2022/core/locales/index.mjs +1 -3
  47. package/esm2022/core/locales/locale-service.mjs +5 -8
  48. package/esm2022/core/locales/pt-BR.mjs +25 -19
  49. package/esm2022/core/locales/ru-RU.mjs +7 -1
  50. package/esm2022/core/locales/tk-TM.mjs +30 -24
  51. package/esm2022/core/option/option.mjs +10 -6
  52. package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -1
  53. package/esm2022/core/pop-up/pop-up.mjs +36 -2
  54. package/esm2022/core/select/common.mjs +10 -4
  55. package/esm2022/core/version.mjs +2 -2
  56. package/esm2022/datepicker/calendar-header.component.mjs +5 -4
  57. package/esm2022/datepicker/datepicker-module.mjs +7 -4
  58. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  59. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  60. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +5 -2
  61. package/esm2022/file-upload/file-drop.mjs +5 -3
  62. package/esm2022/file-upload/multiple-file-upload.component.mjs +9 -13
  63. package/esm2022/file-upload/single-file-upload.component.mjs +9 -4
  64. package/esm2022/filter-bar/filter-bar.mjs +6 -2
  65. package/esm2022/filter-bar/filter-search.mjs +3 -3
  66. package/esm2022/filter-bar/filters.mjs +10 -5
  67. package/esm2022/filter-bar/pipe-add.mjs +3 -2
  68. package/esm2022/filter-bar/pipes/base-pipe.mjs +11 -3
  69. package/esm2022/filter-bar/pipes/pipe-date.mjs +3 -3
  70. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +3 -3
  71. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +5 -4
  72. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +2 -2
  73. package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
  74. package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
  75. package/esm2022/filter-bar/pipes/pipe-title.mjs +24 -19
  76. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
  77. package/esm2022/form-field/fieldset.mjs +2 -2
  78. package/esm2022/form-field/form-field.mjs +2 -2
  79. package/esm2022/form-field/stepper.mjs +41 -10
  80. package/esm2022/inline-edit/inline-edit.mjs +9 -5
  81. package/esm2022/input/input-number.mjs +7 -6
  82. package/esm2022/input/input.module.mjs +7 -4
  83. package/esm2022/list/list-selection.component.mjs +31 -15
  84. package/esm2022/markdown/markdown.component.mjs +7 -7
  85. package/esm2022/modal/modal-util.mjs +7 -3
  86. package/esm2022/modal/modal.component.mjs +2 -2
  87. package/esm2022/modal/modal.service.mjs +2 -1
  88. package/esm2022/navbar/navbar-brand.component.mjs +105 -0
  89. package/esm2022/navbar/navbar-item.component.mjs +18 -170
  90. package/esm2022/navbar/navbar-toggle.component.mjs +88 -0
  91. package/esm2022/navbar/navbar.component.mjs +8 -4
  92. package/esm2022/navbar/navbar.module.mjs +4 -2
  93. package/esm2022/navbar/public-api.mjs +3 -1
  94. package/esm2022/navbar/vertical-navbar.component.mjs +28 -6
  95. package/esm2022/navbar-ic/navbar-ic-header.mjs +20 -4
  96. package/esm2022/navbar-ic/navbar-ic-item.mjs +7 -8
  97. package/esm2022/navbar-ic/navbar-ic.animation.mjs +10 -2
  98. package/esm2022/navbar-ic/navbar-ic.mjs +33 -9
  99. package/esm2022/notification-center/notification-center.mjs +9 -33
  100. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  101. package/esm2022/popover/popover.component.mjs +24 -5
  102. package/esm2022/resizer/index.mjs +3 -0
  103. package/esm2022/resizer/koobiq-components-resizer.mjs +5 -0
  104. package/esm2022/resizer/module.mjs +17 -0
  105. package/esm2022/resizer/resizer.mjs +135 -0
  106. package/esm2022/scrollbar/scrollbar.directive.mjs +4 -3
  107. package/esm2022/search-expandable/search-expandable.mjs +5 -5
  108. package/esm2022/select/select.component.mjs +2 -14
  109. package/esm2022/select/select.module.mjs +8 -4
  110. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  111. package/esm2022/split-button/split-button.mjs +47 -6
  112. package/esm2022/tags/tag-input.mjs +24 -28
  113. package/esm2022/tags/tag-list.component.mjs +76 -87
  114. package/esm2022/tags/tag.component.mjs +29 -34
  115. package/esm2022/textarea/textarea.module.mjs +5 -4
  116. package/esm2022/time-range/constants.mjs +22 -1
  117. package/esm2022/time-range/time-range-editor.mjs +11 -6
  118. package/esm2022/time-range/time-range-title-as-form-field.mjs +2 -1
  119. package/esm2022/time-range/time-range.mjs +8 -3
  120. package/esm2022/time-range/time-range.service.mjs +43 -106
  121. package/esm2022/time-range/types.mjs +1 -1
  122. package/esm2022/timepicker/timepicker.module.mjs +5 -4
  123. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  124. package/esm2022/timezone/timezone.module.mjs +6 -4
  125. package/esm2022/title/title.directive.mjs +6 -2
  126. package/esm2022/toggle/toggle.component.mjs +3 -3
  127. package/esm2022/top-bar/top-bar.mjs +2 -2
  128. package/esm2022/tree/tree-option.component.mjs +7 -6
  129. package/esm2022/tree/tree-selection.component.mjs +23 -13
  130. package/esm2022/tree-select/tree-select.component.mjs +97 -79
  131. package/esm2022/tree-select/tree-select.module.mjs +7 -4
  132. package/fesm2022/koobiq-components-autocomplete.mjs +3 -3
  133. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-breadcrumbs.mjs +45 -36
  135. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  137. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-button.mjs +5 -3
  139. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-code-block.mjs +5 -0
  141. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-content-panel.mjs +3 -137
  143. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-core.mjs +156 -478
  145. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  146. package/fesm2022/koobiq-components-datepicker.mjs +8 -5
  147. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-dropdown.mjs +4 -4
  149. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-ellipsis-center.mjs +4 -1
  151. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-file-upload.mjs +19 -17
  153. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  154. package/fesm2022/koobiq-components-filter-bar.mjs +64 -41
  155. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-form-field.mjs +44 -17
  157. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-inline-edit.mjs +8 -4
  159. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-input.mjs +12 -9
  161. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-list.mjs +30 -14
  163. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-markdown.mjs +6 -6
  165. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-modal.mjs +9 -4
  167. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-navbar-ic.mjs +70 -26
  169. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-navbar.mjs +792 -740
  171. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-notification-center.mjs +8 -32
  173. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-popover.mjs +25 -6
  175. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-resizer.mjs +156 -0
  177. package/fesm2022/koobiq-components-resizer.mjs.map +1 -0
  178. package/fesm2022/koobiq-components-scrollbar.mjs +3 -2
  179. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-search-expandable.mjs +4 -4
  181. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-select.mjs +8 -17
  183. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
  185. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-split-button.mjs +46 -5
  187. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-tags.mjs +125 -146
  189. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-textarea.mjs +4 -4
  191. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-time-range.mjs +81 -112
  193. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-timepicker.mjs +4 -4
  195. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-timezone.mjs +7 -5
  197. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-title.mjs +5 -1
  199. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  201. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  203. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-tree-select.mjs +102 -82
  205. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  206. package/fesm2022/koobiq-components-tree.mjs +28 -17
  207. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  208. package/file-upload/_file-upload-theme.scss +32 -34
  209. package/file-upload/file-upload-tokens.scss +1 -2
  210. package/file-upload/file-upload.scss +4 -7
  211. package/file-upload/multiple-file-upload.component.d.ts +1 -1
  212. package/file-upload/multiple-file-upload.component.scss +12 -14
  213. package/file-upload/single-file-upload.component.d.ts +1 -0
  214. package/file-upload/single-file-upload.component.scss +5 -7
  215. package/filter-bar/filter-bar.d.ts +3 -1
  216. package/filter-bar/filter-search.scss +1 -3
  217. package/filter-bar/filters.d.ts +1 -0
  218. package/filter-bar/pipes/base-pipe.d.ts +5 -1
  219. package/filter-bar/pipes/pipe-date.scss +4 -2
  220. package/filter-bar/pipes/pipe-title.d.ts +2 -0
  221. package/form-field/fieldset-tokens.scss +2 -1
  222. package/form-field/form-field-tokens.scss +2 -2
  223. package/form-field/form-field.scss +9 -1
  224. package/form-field/stepper.d.ts +28 -6
  225. package/inline-edit/inline-edit.d.ts +5 -1
  226. package/input/input.module.d.ts +2 -1
  227. package/list/list-selection.component.d.ts +12 -1
  228. package/markdown/_markdown-theme.scss +0 -1
  229. package/markdown/markdown.scss +2 -4
  230. package/modal/modal-tokens.scss +2 -1
  231. package/modal/modal-util.d.ts +5 -2
  232. package/modal/modal.scss +3 -4
  233. package/navbar/_navbar-item_vertical.scss +44 -43
  234. package/navbar/_navbar-theme.scss +14 -35
  235. package/navbar/navbar-brand.component.d.ts +39 -0
  236. package/navbar/navbar-brand.scss +78 -45
  237. package/navbar/navbar-divider.scss +1 -1
  238. package/navbar/navbar-item.component.d.ts +4 -36
  239. package/navbar/navbar-toggle.component.d.ts +23 -0
  240. package/navbar/navbar-toggle.scss +64 -0
  241. package/navbar/navbar-tokens.scss +1 -0
  242. package/navbar/navbar.module.d.ts +8 -6
  243. package/navbar/public-api.d.ts +2 -0
  244. package/navbar/vertical-navbar.component.d.ts +20 -2
  245. package/navbar/vertical-navbar.scss +14 -9
  246. package/navbar-ic/navbar-ic-header.d.ts +3 -2
  247. package/navbar-ic/navbar-ic-header.scss +0 -4
  248. package/navbar-ic/navbar-ic-item.d.ts +1 -0
  249. package/navbar-ic/navbar-ic-item.scss +0 -4
  250. package/navbar-ic/navbar-ic.animation.d.ts +1 -0
  251. package/navbar-ic/navbar-ic.d.ts +7 -0
  252. package/notification-center/notification-center.d.ts +12 -9
  253. package/package.json +16 -10
  254. package/popover/popover-tokens.scss +1 -0
  255. package/popover/popover.component.d.ts +12 -1
  256. package/popover/popover.scss +3 -4
  257. package/prebuilt-themes/dark-theme.css +1 -1
  258. package/prebuilt-themes/light-theme.css +1 -1
  259. package/prebuilt-themes/theme.css +1 -1
  260. package/resizer/index.d.ts +2 -0
  261. package/resizer/module.d.ts +7 -0
  262. package/{content-panel/resizable.d.ts → resizer/resizer.d.ts} +18 -13
  263. package/schematics/collection.json +5 -0
  264. package/schematics/migrations/icons-replacement/README.md +93 -0
  265. package/schematics/migrations/icons-replacement/data.js +92 -0
  266. package/schematics/migrations/icons-replacement/index.js +84 -0
  267. package/schematics/migrations/icons-replacement/schema.json +32 -0
  268. package/schematics/ng-add/index.js +6 -6
  269. package/scrollbar/scrollbar.component.scss +2 -3
  270. package/select/select.module.d.ts +2 -1
  271. package/select/select.scss +1 -17
  272. package/sidepanel/sidepanel-tokens.scss +2 -0
  273. package/sidepanel/sidepanel.scss +2 -0
  274. package/split-button/_split-button-theme.scss +89 -34
  275. package/split-button/split-button.d.ts +11 -5
  276. package/split-button/split-button.scss +40 -51
  277. package/tags/tag-input.d.ts +16 -7
  278. package/tags/tag-list.component.d.ts +44 -21
  279. package/tags/tag-list.scss +13 -14
  280. package/tags/tag.component.d.ts +20 -15
  281. package/textarea/textarea-tokens.scss +6 -1
  282. package/textarea/textarea.module.d.ts +2 -1
  283. package/textarea/textarea.scss +4 -0
  284. package/time-range/constants.d.ts +12 -1
  285. package/time-range/time-range-editor.d.ts +7 -9
  286. package/time-range/time-range-title-as-form-field.d.ts +1 -0
  287. package/time-range/time-range.d.ts +5 -2
  288. package/time-range/time-range.service.d.ts +7 -11
  289. package/time-range/types.d.ts +37 -11
  290. package/timepicker/timepicker.module.d.ts +2 -1
  291. package/timezone/timezone-option.component.scss +6 -0
  292. package/timezone/timezone.module.d.ts +1 -1
  293. package/toggle/_toggle-theme.scss +8 -5
  294. package/toggle/toggle-tokens.scss +0 -1
  295. package/toggle/toggle.scss +11 -15
  296. package/top-bar/top-bar-tokens.scss +1 -1
  297. package/top-bar/top-bar.scss +3 -0
  298. package/tree/tree-option.component.d.ts +1 -0
  299. package/tree/tree-selection.component.d.ts +11 -2
  300. package/tree-select/tree-select.component.d.ts +5 -5
  301. package/tree-select/tree-select.module.d.ts +2 -1
  302. package/tree-select/tree-select.scss +4 -0
  303. package/core/common-behaviors/hovered.d.ts +0 -13
  304. package/core/locales/fa-IR.d.ts +0 -162
  305. package/core/locales/zh-CN.d.ts +0 -162
  306. package/esm2022/content-panel/resizable.mjs +0 -138
  307. package/esm2022/core/common-behaviors/hovered.mjs +0 -31
  308. package/esm2022/core/locales/fa-IR.mjs +0 -173
  309. package/esm2022/core/locales/zh-CN.mjs +0 -161
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-timepicker.mjs","sources":["../../../packages/components/timepicker/timepicker.constants.ts","../../../packages/components/timepicker/timepicker.directive.ts","../../../packages/components/timepicker/timepicker.module.ts","../../../packages/components/timepicker/koobiq-components-timepicker.ts"],"sourcesContent":["export enum TimeParts {\n hours,\n minutes,\n seconds\n}\n\nexport enum TimeFormats {\n HHmmss = 'HH:mm:ss',\n HHmm = 'HH:mm'\n}\n\nexport const TIMEFORMAT_PLACEHOLDERS: { [timeFormat: string]: string } = {\n [TimeFormats.HHmmss]: 'чч:мм:сс',\n [TimeFormats.HHmm]: 'чч:мм'\n};\n\n/** Object that maps each time format to a related locale key */\nexport const TimeFormatToLocaleKeys: Record<TimeFormats, 'full' | 'short'> = {\n [TimeFormats.HHmmss]: 'full',\n [TimeFormats.HHmm]: 'short'\n};\n\nexport const DEFAULT_TIME_FORMAT: TimeFormats = TimeFormats.HHmm;\n\nexport const HOURS_MINUTES_SECONDS_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9]):?([0-5][0-9])?$/;\nexport const HOURS_MINUTES_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9])?$/;\nexport const HOURS_ONLY_REGEXP = /^([0-1][0-9]|2[0-3]):?$/;\nexport const AM_PM_FORMAT_REGEXP = /^([0-1]?[0-9]):([0-5]?[0-9]) ([ap][m]?$)/i;\n\nexport const SECONDS_PER_MINUTE: number = 59;\nexport const MINUTES_PER_HOUR: number = 59;\nexport const HOURS_PER_DAY: number = 23;\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n Renderer2\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport {\n BACKSPACE,\n DELETE,\n DOWN_ARROW,\n END,\n hasModifierKey,\n HOME,\n isHorizontalMovement,\n isLetterKey,\n isVerticalMovement,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n SPACE,\n TAB,\n UP_ARROW\n} from '@koobiq/cdk/keycodes';\nimport {\n DateAdapter,\n KBQ_LOCALE_SERVICE,\n KbqLocaleService,\n validationTooltipHideDelay,\n validationTooltipShowDelay\n} from '@koobiq/components/core';\nimport { KbqFormFieldControl } from '@koobiq/components/form-field';\nimport { KbqWarningTooltipTrigger } from '@koobiq/components/tooltip';\nimport { noop, Subject, Subscription } from 'rxjs';\n\nimport {\n AM_PM_FORMAT_REGEXP,\n DEFAULT_TIME_FORMAT,\n HOURS_MINUTES_REGEXP,\n HOURS_MINUTES_SECONDS_REGEXP,\n HOURS_ONLY_REGEXP,\n HOURS_PER_DAY,\n MINUTES_PER_HOUR,\n SECONDS_PER_MINUTE,\n TIMEFORMAT_PLACEHOLDERS,\n TimeFormats,\n TimeFormatToLocaleKeys,\n TimeParts\n} from './timepicker.constants';\n\n/** @docs-private */\nexport const KBQ_TIMEPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqTimepicker),\n multi: true\n};\n\n/** @docs-private */\nexport const KBQ_TIMEPICKER_VALIDATORS: any = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => KbqTimepicker),\n multi: true\n};\n\nlet uniqueComponentIdSuffix: number = 0;\n\nconst shortFormatSize: number = 5;\nconst fullFormatSize: number = 8;\n\n@Directive({\n selector: 'input[kbqTimepicker]',\n exportAs: 'kbqTimepicker',\n host: {\n class: 'kbq-input kbq-timepicker',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[attr.required]': 'required',\n '[attr.size]': 'getSize()',\n '[attr.autocomplete]': '\"off\"',\n\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n\n '(paste)': 'onPaste($event)',\n\n '(keydown)': 'onKeyDown($event)'\n },\n providers: [\n KBQ_TIMEPICKER_VALIDATORS,\n KBQ_TIMEPICKER_VALUE_ACCESSOR,\n { provide: KbqFormFieldControl, useExisting: KbqTimepicker }]\n})\nexport class KbqTimepicker<D> implements KbqFormFieldControl<D>, ControlValueAccessor, Validator, OnDestroy {\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n errorState: boolean;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n controlType: string = 'timepicker';\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n\n this.defaultPlaceholder = false;\n }\n\n private _placeholder = TIMEFORMAT_PLACEHOLDERS[DEFAULT_TIME_FORMAT];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n }\n\n this.stateChanges.next();\n }\n\n private _disabled: boolean;\n\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required: boolean;\n\n @Input()\n get format(): TimeFormats {\n return this._format;\n }\n\n set format(formatValue: TimeFormats) {\n this._format =\n Object.keys(TimeFormats)\n .map((timeFormatKey) => TimeFormats[timeFormatKey])\n .indexOf(formatValue) > -1\n ? formatValue\n : DEFAULT_TIME_FORMAT;\n\n if (this.defaultPlaceholder) {\n this._placeholder = this.timeFormatPlaceholder;\n }\n\n if (this.value) {\n this.updateView();\n }\n }\n\n private _format: TimeFormats = DEFAULT_TIME_FORMAT;\n\n @Input()\n get min(): D | null {\n return this._min;\n }\n\n set min(value: D | null) {\n this._min = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _min: D | null = null;\n\n @Input()\n get max(): D | null {\n return this._max;\n }\n\n set max(value: D | null) {\n this._max = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _max: D | null = null;\n\n @Input()\n get value(): D | null {\n return this._value;\n }\n\n set value(value: D | null) {\n const newValue = this.dateAdapter.deserialize(value);\n\n this.lastValueValid = !newValue || this.dateAdapter.isValid(newValue);\n\n this._value = this.getValidDateOrNull(newValue);\n\n this.updateView();\n }\n\n private _value: D | null;\n\n @Input()\n set kbqValidationTooltip(tooltip: KbqWarningTooltipTrigger) {\n if (!tooltip) {\n return;\n }\n\n tooltip.enterDelay = validationTooltipShowDelay;\n tooltip.trigger = 'manual';\n\n tooltip.initListeners();\n\n this.incorrectInput.subscribe(() => {\n if (tooltip.isOpen) {\n return;\n }\n\n tooltip.show();\n\n setTimeout(() => tooltip.hide(), validationTooltipHideDelay);\n });\n }\n\n @Output() readonly incorrectInput = new EventEmitter<void>();\n\n get hasSelection(): boolean {\n return this.selectionStart !== this.selectionEnd;\n }\n\n get isFullFormat(): boolean {\n return this.format === TimeFormats.HHmmss;\n }\n\n get isShortFormat(): boolean {\n return this.format === TimeFormats.HHmm;\n }\n\n get viewValue(): string {\n return this.elementRef.nativeElement.value;\n }\n\n get ngControl(): any {\n return this.control;\n }\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.viewValue && !this.isBadInput();\n }\n\n get selectionStart(): number | null {\n return this.elementRef.nativeElement.selectionStart;\n }\n\n set selectionStart(value: number | null) {\n this.elementRef.nativeElement.selectionStart = value;\n }\n\n get selectionEnd(): number | null {\n return this.elementRef.nativeElement.selectionEnd;\n }\n\n set selectionEnd(value: number | null) {\n this.elementRef.nativeElement.selectionEnd = value;\n }\n\n /** Localized placeholder */\n get timeFormatPlaceholder(): string {\n return (\n this.localeService?.getParams('timepicker')?.placeholder[TimeFormatToLocaleKeys[this.format]] ||\n TIMEFORMAT_PLACEHOLDERS[this.format]\n );\n }\n\n private readonly uid = `kbq-timepicker-${uniqueComponentIdSuffix++}`;\n\n private readonly validator: ValidatorFn | null;\n\n private lastValueValid = false;\n\n private control: AbstractControl;\n\n private defaultPlaceholder = true;\n private separator = ':';\n\n private onChange: (value: any) => void;\n private onTouched: () => void;\n\n private localeSubscription = Subscription.EMPTY;\n\n constructor(\n private elementRef: ElementRef<HTMLInputElement>,\n private renderer: Renderer2,\n @Optional() private dateAdapter: DateAdapter<any>,\n @Optional() @Inject(KBQ_LOCALE_SERVICE) private localeService?: KbqLocaleService\n ) {\n if (!this.dateAdapter) {\n throw Error(\n `KbqTimepicker: No provider found for DateAdapter. You must import one of the existing ` +\n `modules at your application root or provide a custom implementation or use exists ones.`\n );\n }\n\n this.validator = Validators.compose([this.parseValidator, this.minValidator, this.maxValidator]);\n\n this.onChange = noop;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n\n this.localeSubscription = dateAdapter.localeChanges.subscribe(this.updateLocaleParams);\n }\n\n ngOnDestroy(): void {\n this.stateChanges.complete();\n this.localeSubscription.unsubscribe();\n }\n\n getSize(): number {\n return this.isFullFormat ? fullFormatSize : shortFormatSize;\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n focusChanged(isFocused: boolean): void {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n onBlur() {\n this.focusChanged(false);\n\n if (this.viewValue === this.getTimeStringFromDate(this.value, this.format)) {\n return;\n }\n\n this.setViewValue(this.formatUserPaste(this.viewValue));\n\n this.onInput();\n }\n\n onPaste($event) {\n $event.preventDefault();\n\n const value = this.formatUserPaste($event.clipboardData.getData('text'));\n\n const newTimeObj = this.getDateFromTimeString(value);\n\n if (!newTimeObj) {\n return;\n }\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n }\n\n onInput = () => {\n const formattedValue = this.formatUserInput(this.viewValue);\n\n const newTimeObj = this.getDateFromTimeString(formattedValue);\n\n this.lastValueValid = !!newTimeObj;\n\n if (!newTimeObj) {\n if (!this.viewValue) {\n this.onChange(null);\n } else {\n this.control.updateValueAndValidity();\n }\n\n return;\n }\n\n const selectionStart = this.selectionStart;\n const selectionEnd = this.selectionEnd;\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.selectionStart = selectionStart;\n this.selectionEnd = selectionEnd;\n\n this.createSelectionOfTimeComponentInInput((selectionStart as number) + 1);\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n };\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n\n if (isLetterKey(event) && !event.ctrlKey && !event.metaKey) {\n event.preventDefault();\n\n this.incorrectInput.emit();\n } else if (\n (hasModifierKey(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) ||\n event.ctrlKey ||\n event.metaKey ||\n [DELETE, BACKSPACE, TAB].includes(keyCode)\n ) {\n noop();\n } else if (keyCode === SPACE) {\n this.spaceKeyHandler(event);\n } else if ([HOME, PAGE_UP].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(0);\n } else if ([END, PAGE_DOWN].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(this.viewValue.length);\n } else if ([UP_ARROW, DOWN_ARROW].includes(keyCode)) {\n event.preventDefault();\n\n this.verticalArrowKeyHandler(keyCode);\n } else if ([LEFT_ARROW, RIGHT_ARROW].includes(keyCode)) {\n this.horizontalArrowKeyHandler(keyCode);\n } else if (/^\\D$/.test(event.key)) {\n event.preventDefault();\n\n const newValue = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(newValue);\n\n if (newValue !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n } else {\n this.incorrectInput.emit();\n }\n } else {\n setTimeout(this.onInput);\n }\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n this.setControl(control);\n\n return this.validator ? this.validator(control) : null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.validatorOnChange = fn;\n }\n\n writeValue(value: D | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: D) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n private formatUserPaste(value: string) {\n if (value.match(AM_PM_FORMAT_REGEXP)) {\n return value;\n }\n\n const match: RegExpMatchArray | null = value.match(\n /^(\\D+)?(?<hours>\\d+)?(\\D+)?(\\D+)?(?<minutes>\\d+)?(\\D+)?(\\D+)?(?<seconds>\\d+)?(\\D+)?$/\n );\n\n if (!match?.groups?.hours) {\n this.setViewValue(value);\n\n return value;\n }\n\n return this.replaceNumbers(\n Object.values(match.groups)\n .map((group) => (group || '').padStart(2, '0'))\n .join(':')\n );\n }\n\n private formatUserInput(value: string): string {\n return this.replaceNumbers(this.replaceSymbols(value));\n }\n\n private replaceSymbols(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(/^(\\d\\d:){0,2}(?<number>[0-9])(?<symbol>\\W)(:\\d\\d){0,2}$/);\n\n if (match?.groups) {\n const { number, symbol } = match.groups;\n\n formattedValue = value.replace(number + symbol, `0${number}`);\n }\n\n return formattedValue;\n }\n\n private replaceNumbers(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(\n /^(?<hours>\\d{0,4}):?(?<minutes>\\d{0,4}):?(?<seconds>\\d{0,4})$/\n );\n\n if (match?.groups) {\n const { hours, minutes, seconds } = match.groups;\n\n if (hours.length && parseInt(hours) > HOURS_PER_DAY) {\n formattedValue = formattedValue.replace(hours, HOURS_PER_DAY.toString());\n }\n\n if (minutes.length && parseInt(minutes) > MINUTES_PER_HOUR) {\n formattedValue = formattedValue.replace(minutes, MINUTES_PER_HOUR.toString());\n }\n\n if (seconds.length && parseInt(seconds) > SECONDS_PER_MINUTE) {\n formattedValue = formattedValue.replace(seconds, SECONDS_PER_MINUTE.toString());\n }\n }\n\n return formattedValue;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n private isBadInput(): boolean {\n const validity = (<HTMLInputElement>this.elementRef.nativeElement).validity;\n\n return validity && validity.badInput;\n }\n\n private spaceKeyHandler(event: KeyboardEvent) {\n event.preventDefault();\n\n if (this.selectionStart === this.selectionEnd) {\n const value = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(value);\n\n if (value !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n }\n } else if (this.selectionStart !== this.selectionEnd) {\n let cursorPos = this.selectionStart as number;\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n }\n\n private getNewValue(key: string, position: number) {\n return [this.viewValue.slice(0, position), key, this.viewValue.slice(position)].join('');\n }\n\n private verticalArrowKeyHandler(keyCode: number): void {\n if (!this.value) {\n return;\n }\n\n let changedTime;\n\n const newEditParams = this.getTimeEditMetrics(this.selectionStart as number);\n\n if (keyCode === UP_ARROW) {\n changedTime = this.incrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n if (keyCode === DOWN_ARROW) {\n changedTime = this.decrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n this.value = changedTime;\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n\n this.onChange(changedTime);\n this.stateChanges.next();\n }\n\n private fixEmptyDigit() {\n const hasEmptyDigit = this.viewValue\n .split(this.separator)\n .map((part) => part.length)\n .some((item) => !item);\n\n if (hasEmptyDigit && this.value) {\n this.value = this.dateAdapter.clone(this.value);\n }\n }\n\n private horizontalArrowKeyHandler(keyCode: number): void {\n if (!this.value) {\n return;\n }\n\n let cursorPos = this.selectionStart as number;\n\n if (keyCode === LEFT_ARROW) {\n this.fixEmptyDigit();\n\n cursorPos = cursorPos === 0 ? this.viewValue.length : cursorPos - 1;\n } else if (keyCode === RIGHT_ARROW) {\n this.fixEmptyDigit();\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n }\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n\n private createSelectionOfTimeComponentInInput(cursorPos: number): void {\n setTimeout(() => {\n const newEditParams = this.getTimeEditMetrics(cursorPos);\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n });\n }\n\n private incrementTime(dateVal: D, whatToIncrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToIncrement) {\n case TimeParts.hours:\n hours++;\n break;\n case TimeParts.minutes:\n minutes++;\n break;\n case TimeParts.seconds:\n seconds++;\n break;\n default:\n }\n\n if (seconds > SECONDS_PER_MINUTE) {\n seconds = 0;\n }\n\n if (minutes > MINUTES_PER_HOUR) {\n minutes = 0;\n }\n\n if (hours > HOURS_PER_DAY) {\n hours = 0;\n }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n private decrementTime(dateVal: D, whatToDecrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToDecrement) {\n case TimeParts.hours:\n hours--;\n break;\n case TimeParts.minutes:\n minutes--;\n break;\n case TimeParts.seconds:\n seconds--;\n break;\n default:\n }\n\n if (seconds < 0) {\n seconds = SECONDS_PER_MINUTE;\n }\n\n if (minutes < 0) {\n minutes = MINUTES_PER_HOUR;\n }\n\n if (hours < 0) {\n hours = HOURS_PER_DAY;\n }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n /**\n * @description Get params for arrow-keys (up/down) time value edit.\n * @param cursorPosition Current cursor position in timeString\n */\n private getTimeEditMetrics(cursorPosition: number): {\n modifiedTimePart: TimeParts;\n cursorStartPosition: number;\n cursorEndPosition: number;\n } {\n const timeString: string = this.viewValue;\n let modifiedTimePart: TimeParts;\n let cursorStartPosition: number;\n let cursorEndPosition: number;\n\n const hoursIndex = 0;\n const minutesIndex = timeString.indexOf(':', hoursIndex + 1);\n const secondsIndex = minutesIndex !== -1 ? timeString.indexOf(':', minutesIndex + 1) : -1;\n\n if (secondsIndex !== -1 && cursorPosition > secondsIndex) {\n modifiedTimePart = TimeParts.seconds;\n cursorStartPosition = secondsIndex + 1;\n cursorEndPosition = timeString.length;\n } else if (minutesIndex !== -1 && cursorPosition > minutesIndex) {\n modifiedTimePart = TimeParts.minutes;\n cursorStartPosition = minutesIndex + 1;\n cursorEndPosition = secondsIndex > -1 ? secondsIndex : timeString.length;\n } else {\n modifiedTimePart = TimeParts.hours;\n cursorStartPosition = hoursIndex;\n cursorEndPosition = minutesIndex !== -1 ? minutesIndex : timeString.length;\n }\n\n return { modifiedTimePart, cursorStartPosition, cursorEndPosition };\n }\n\n /**\n * @description Create time string for displaying inside input element of UI\n */\n private getTimeStringFromDate(value: D | null, timeFormat: TimeFormats): string {\n if (!value || !this.dateAdapter.isValid(value)) {\n return '';\n }\n\n return this.dateAdapter.format(value, timeFormat);\n }\n\n private getDateFromTimeString(timeString: string): D | null {\n if (!timeString) {\n return null;\n }\n\n const date = this.value || this.dateAdapter.today();\n\n const HMS = timeString.match(HOURS_MINUTES_SECONDS_REGEXP);\n const HM = timeString.match(HOURS_MINUTES_REGEXP);\n const H = timeString.match(HOURS_ONLY_REGEXP);\n const amPm = timeString.match(AM_PM_FORMAT_REGEXP);\n\n let hours: number = 0;\n let minutes: number = 0;\n let seconds: number = 0;\n\n if (amPm) {\n hours = Number(amPm[1]);\n minutes = Number(amPm[2]);\n\n if (/[p]/i.test(amPm[3]) || (/[a]/i.test(amPm[3]) && hours === 12)) {\n hours += 12;\n }\n } else if (HMS && this.isShortFormat) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = this.dateAdapter.getSeconds(date);\n } else if (HMS) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = Number(HMS[3]);\n } else if (HM) {\n hours = Number(HM[1]);\n minutes = Number(HM[2]);\n } else if (H) {\n hours = Number(H[1]);\n } else {\n return null;\n }\n\n const resultDate = this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(date),\n this.dateAdapter.getMonth(date),\n this.dateAdapter.getDate(date),\n hours,\n minutes || 0,\n seconds || 0,\n this.dateAdapter.getMilliseconds(date)\n );\n\n return this.getValidDateOrNull(resultDate);\n }\n\n private parseValidator: ValidatorFn = (): ValidationErrors | null => {\n return this.focused || this.empty || this.lastValueValid\n ? null\n : { kbqTimepickerParse: { text: this.viewValue } };\n };\n\n private minValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return !this.min || !controlValue || this.dateAdapter.compareDateTime(this.min, controlValue) <= 0\n ? null\n : { kbqTimepickerLowerThenMin: { min: this.min, actual: controlValue } };\n };\n\n private maxValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return !this.max || !controlValue || this.dateAdapter.compareDateTime(this.max, controlValue) >= 0\n ? null\n : { kbqTimepickerHigherThenMax: { max: this.max, actual: controlValue } };\n };\n\n private getValidDateOrNull(obj: any): D | null {\n return this.dateAdapter.isDateInstance(obj) && this.dateAdapter.isValid(obj) ? obj : null;\n }\n\n private setViewValue(value: string) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n }\n\n private updateView() {\n const formattedValue = this.getTimeStringFromDate(this.value, this.format);\n\n this.setViewValue(formattedValue);\n }\n\n private setControl(control: AbstractControl) {\n if (this.control) {\n return;\n }\n\n this.control = control;\n\n this.control.valueChanges.subscribe((value) => (this._value = value));\n }\n\n private validatorOnChange = () => {};\n\n private updateLocaleParams = () => {\n if (!this.defaultPlaceholder) return;\n\n // update via private property instead of setter to save it as default placeholder\n this._placeholder = this.timeFormatPlaceholder;\n // update value so view value will be also updated\n this.value = this._value;\n };\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { KbqTimepicker } from './timepicker.directive';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n FormsModule\n ],\n declarations: [KbqTimepicker],\n exports: [KbqTimepicker]\n})\nexport class KbqTimepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-timepicker.mjs","sources":["../../../packages/components/timepicker/timepicker.constants.ts","../../../packages/components/timepicker/timepicker.directive.ts","../../../packages/components/timepicker/timepicker.module.ts","../../../packages/components/timepicker/koobiq-components-timepicker.ts"],"sourcesContent":["export enum TimeParts {\n hours,\n minutes,\n seconds\n}\n\nexport enum TimeFormats {\n HHmmss = 'HH:mm:ss',\n HHmm = 'HH:mm'\n}\n\nexport const TIMEFORMAT_PLACEHOLDERS: { [timeFormat: string]: string } = {\n [TimeFormats.HHmmss]: 'чч:мм:сс',\n [TimeFormats.HHmm]: 'чч:мм'\n};\n\n/** Object that maps each time format to a related locale key */\nexport const TimeFormatToLocaleKeys: Record<TimeFormats, 'full' | 'short'> = {\n [TimeFormats.HHmmss]: 'full',\n [TimeFormats.HHmm]: 'short'\n};\n\nexport const DEFAULT_TIME_FORMAT: TimeFormats = TimeFormats.HHmm;\n\nexport const HOURS_MINUTES_SECONDS_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9]):?([0-5][0-9])?$/;\nexport const HOURS_MINUTES_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9])?$/;\nexport const HOURS_ONLY_REGEXP = /^([0-1][0-9]|2[0-3]):?$/;\nexport const AM_PM_FORMAT_REGEXP = /^([0-1]?[0-9]):([0-5]?[0-9]) ([ap][m]?$)/i;\n\nexport const SECONDS_PER_MINUTE: number = 59;\nexport const MINUTES_PER_HOUR: number = 59;\nexport const HOURS_PER_DAY: number = 23;\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n Renderer2\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport {\n BACKSPACE,\n DELETE,\n DOWN_ARROW,\n END,\n hasModifierKey,\n HOME,\n isHorizontalMovement,\n isLetterKey,\n isVerticalMovement,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n SPACE,\n TAB,\n UP_ARROW\n} from '@koobiq/cdk/keycodes';\nimport {\n DateAdapter,\n KBQ_LOCALE_SERVICE,\n KbqLocaleService,\n validationTooltipHideDelay,\n validationTooltipShowDelay\n} from '@koobiq/components/core';\nimport { KbqFormFieldControl } from '@koobiq/components/form-field';\nimport { KbqWarningTooltipTrigger } from '@koobiq/components/tooltip';\nimport { noop, Subject, Subscription } from 'rxjs';\n\nimport {\n AM_PM_FORMAT_REGEXP,\n DEFAULT_TIME_FORMAT,\n HOURS_MINUTES_REGEXP,\n HOURS_MINUTES_SECONDS_REGEXP,\n HOURS_ONLY_REGEXP,\n HOURS_PER_DAY,\n MINUTES_PER_HOUR,\n SECONDS_PER_MINUTE,\n TIMEFORMAT_PLACEHOLDERS,\n TimeFormats,\n TimeFormatToLocaleKeys,\n TimeParts\n} from './timepicker.constants';\n\n/** @docs-private */\nexport const KBQ_TIMEPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqTimepicker),\n multi: true\n};\n\n/** @docs-private */\nexport const KBQ_TIMEPICKER_VALIDATORS: any = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => KbqTimepicker),\n multi: true\n};\n\nlet uniqueComponentIdSuffix: number = 0;\n\nconst shortFormatSize: number = 5;\nconst fullFormatSize: number = 8;\n\n@Directive({\n selector: 'input[kbqTimepicker]',\n exportAs: 'kbqTimepicker',\n host: {\n class: 'kbq-input kbq-timepicker',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[attr.required]': 'required',\n '[attr.size]': 'getSize()',\n '[attr.autocomplete]': '\"off\"',\n\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n\n '(paste)': 'onPaste($event)',\n\n '(keydown)': 'onKeyDown($event)'\n },\n providers: [\n KBQ_TIMEPICKER_VALIDATORS,\n KBQ_TIMEPICKER_VALUE_ACCESSOR,\n { provide: KbqFormFieldControl, useExisting: KbqTimepicker }]\n})\nexport class KbqTimepicker<D> implements KbqFormFieldControl<D>, ControlValueAccessor, Validator, OnDestroy {\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n errorState: boolean;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n controlType: string = 'timepicker';\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n\n this.defaultPlaceholder = false;\n }\n\n private _placeholder = TIMEFORMAT_PLACEHOLDERS[DEFAULT_TIME_FORMAT];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n }\n\n this.stateChanges.next();\n }\n\n private _disabled: boolean;\n\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required: boolean;\n\n @Input()\n get format(): TimeFormats {\n return this._format;\n }\n\n set format(formatValue: TimeFormats) {\n this._format =\n Object.keys(TimeFormats)\n .map((timeFormatKey) => TimeFormats[timeFormatKey])\n .indexOf(formatValue) > -1\n ? formatValue\n : DEFAULT_TIME_FORMAT;\n\n if (this.defaultPlaceholder) {\n this._placeholder = this.timeFormatPlaceholder;\n }\n\n if (this.value) {\n this.updateView();\n }\n }\n\n private _format: TimeFormats = DEFAULT_TIME_FORMAT;\n\n @Input()\n get min(): D | null {\n return this._min;\n }\n\n set min(value: D | null) {\n this._min = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _min: D | null = null;\n\n @Input()\n get max(): D | null {\n return this._max;\n }\n\n set max(value: D | null) {\n this._max = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _max: D | null = null;\n\n @Input()\n get value(): D | null {\n return this._value;\n }\n\n set value(value: D | null) {\n const newValue = this.dateAdapter.deserialize(value);\n\n this.lastValueValid = !newValue || this.dateAdapter.isValid(newValue);\n\n this._value = this.getValidDateOrNull(newValue);\n\n this.updateView();\n }\n\n private _value: D | null;\n\n @Input()\n set kbqValidationTooltip(tooltip: KbqWarningTooltipTrigger) {\n if (!tooltip) {\n return;\n }\n\n tooltip.enterDelay = validationTooltipShowDelay;\n tooltip.trigger = 'manual';\n\n tooltip.initListeners();\n\n this.incorrectInput.subscribe(() => {\n if (tooltip.isOpen) {\n return;\n }\n\n tooltip.show();\n\n setTimeout(() => tooltip.hide(), validationTooltipHideDelay);\n });\n }\n\n @Output() readonly incorrectInput = new EventEmitter<void>();\n\n get hasSelection(): boolean {\n return this.selectionStart !== this.selectionEnd;\n }\n\n get isFullFormat(): boolean {\n return this.format === TimeFormats.HHmmss;\n }\n\n get isShortFormat(): boolean {\n return this.format === TimeFormats.HHmm;\n }\n\n get viewValue(): string {\n return this.elementRef.nativeElement.value;\n }\n\n get ngControl(): any {\n return this.control;\n }\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.viewValue && !this.isBadInput();\n }\n\n get selectionStart(): number | null {\n return this.elementRef.nativeElement.selectionStart;\n }\n\n set selectionStart(value: number | null) {\n this.elementRef.nativeElement.selectionStart = value;\n }\n\n get selectionEnd(): number | null {\n return this.elementRef.nativeElement.selectionEnd;\n }\n\n set selectionEnd(value: number | null) {\n this.elementRef.nativeElement.selectionEnd = value;\n }\n\n /** Localized placeholder */\n get timeFormatPlaceholder(): string {\n return (\n this.localeService?.getParams('timepicker')?.placeholder[TimeFormatToLocaleKeys[this.format]] ||\n TIMEFORMAT_PLACEHOLDERS[this.format]\n );\n }\n\n private readonly uid = `kbq-timepicker-${uniqueComponentIdSuffix++}`;\n\n private readonly validator: ValidatorFn | null;\n\n private lastValueValid = false;\n\n private control: AbstractControl;\n\n private defaultPlaceholder = true;\n private separator = ':';\n\n private onChange: (value: any) => void;\n private onTouched: () => void;\n\n private localeSubscription = Subscription.EMPTY;\n\n constructor(\n private elementRef: ElementRef<HTMLInputElement>,\n private renderer: Renderer2,\n @Optional() private dateAdapter: DateAdapter<any>,\n @Optional() @Inject(KBQ_LOCALE_SERVICE) private localeService?: KbqLocaleService\n ) {\n if (!this.dateAdapter) {\n throw Error(\n `KbqTimepicker: No provider found for DateAdapter. You must import one of the existing ` +\n `modules at your application root or provide a custom implementation or use exists ones.`\n );\n }\n\n this.validator = Validators.compose([this.parseValidator, this.minValidator, this.maxValidator]);\n\n this.onChange = noop;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n\n this.localeSubscription = dateAdapter.localeChanges.subscribe(this.updateLocaleParams);\n }\n\n ngOnDestroy(): void {\n this.stateChanges.complete();\n this.localeSubscription.unsubscribe();\n }\n\n getSize(): number {\n return this.isFullFormat ? fullFormatSize : shortFormatSize;\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n focusChanged(isFocused: boolean): void {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n onBlur() {\n this.focusChanged(false);\n\n if (this.viewValue === this.getTimeStringFromDate(this.value, this.format)) {\n return;\n }\n\n this.setViewValue(this.formatUserPaste(this.viewValue));\n\n this.onInput();\n }\n\n onPaste($event) {\n $event.preventDefault();\n\n const value = this.formatUserPaste($event.clipboardData.getData('text'));\n\n const newTimeObj = this.getDateFromTimeString(value);\n\n if (!newTimeObj) {\n return;\n }\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n }\n\n onInput = () => {\n const formattedValue = this.formatUserInput(this.viewValue);\n\n const newTimeObj = this.getDateFromTimeString(formattedValue);\n\n this.lastValueValid = !!newTimeObj;\n\n if (!newTimeObj) {\n if (!this.viewValue) {\n this.onChange(null);\n } else {\n this.control.updateValueAndValidity();\n }\n\n return;\n }\n\n const selectionStart = this.selectionStart;\n const selectionEnd = this.selectionEnd;\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.selectionStart = selectionStart;\n this.selectionEnd = selectionEnd;\n\n this.createSelectionOfTimeComponentInInput((selectionStart as number) + 1);\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n };\n\n /**\n * Implemented as part of KbqFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n\n if (isLetterKey(event) && !event.ctrlKey && !event.metaKey) {\n event.preventDefault();\n\n this.incorrectInput.emit();\n } else if (\n (hasModifierKey(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) ||\n event.ctrlKey ||\n event.metaKey ||\n [DELETE, BACKSPACE, TAB].includes(keyCode)\n ) {\n noop();\n } else if (keyCode === SPACE) {\n this.spaceKeyHandler(event);\n } else if ([HOME, PAGE_UP].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(0);\n } else if ([END, PAGE_DOWN].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(this.viewValue.length);\n } else if ([UP_ARROW, DOWN_ARROW].includes(keyCode)) {\n event.preventDefault();\n\n this.verticalArrowKeyHandler(keyCode);\n } else if ([LEFT_ARROW, RIGHT_ARROW].includes(keyCode)) {\n this.horizontalArrowKeyHandler(keyCode);\n } else if (/^\\D$/.test(event.key)) {\n event.preventDefault();\n\n const newValue = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(newValue);\n\n if (newValue !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n } else {\n this.incorrectInput.emit();\n }\n } else {\n setTimeout(this.onInput);\n }\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n this.setControl(control);\n\n return this.validator ? this.validator(control) : null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.validatorOnChange = fn;\n }\n\n writeValue(value: D | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: D) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n private formatUserPaste(value: string) {\n if (value.match(AM_PM_FORMAT_REGEXP)) {\n return value;\n }\n\n const match: RegExpMatchArray | null = value.match(\n /^(\\D+)?(?<hours>\\d+)?(\\D+)?(\\D+)?(?<minutes>\\d+)?(\\D+)?(\\D+)?(?<seconds>\\d+)?(\\D+)?$/\n );\n\n if (!match?.groups?.hours) {\n this.setViewValue(value);\n\n return value;\n }\n\n return this.replaceNumbers(\n Object.values(match.groups)\n .map((group) => (group || '').padStart(2, '0'))\n .join(':')\n );\n }\n\n private formatUserInput(value: string): string {\n return this.replaceNumbers(this.replaceSymbols(value));\n }\n\n private replaceSymbols(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(/^(\\d\\d:){0,2}(?<number>[0-9])(?<symbol>\\W)(:\\d\\d){0,2}$/);\n\n if (match?.groups) {\n const { number, symbol } = match.groups;\n\n formattedValue = value.replace(number + symbol, `0${number}`);\n }\n\n return formattedValue;\n }\n\n private replaceNumbers(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(\n /^(?<hours>\\d{0,4}):?(?<minutes>\\d{0,4}):?(?<seconds>\\d{0,4})$/\n );\n\n if (match?.groups) {\n const { hours, minutes, seconds } = match.groups;\n\n if (hours.length && parseInt(hours) > HOURS_PER_DAY) {\n formattedValue = formattedValue.replace(hours, HOURS_PER_DAY.toString());\n }\n\n if (minutes.length && parseInt(minutes) > MINUTES_PER_HOUR) {\n formattedValue = formattedValue.replace(minutes, MINUTES_PER_HOUR.toString());\n }\n\n if (seconds.length && parseInt(seconds) > SECONDS_PER_MINUTE) {\n formattedValue = formattedValue.replace(seconds, SECONDS_PER_MINUTE.toString());\n }\n }\n\n return formattedValue;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n private isBadInput(): boolean {\n const validity = (<HTMLInputElement>this.elementRef.nativeElement).validity;\n\n return validity && validity.badInput;\n }\n\n private spaceKeyHandler(event: KeyboardEvent) {\n event.preventDefault();\n\n if (this.selectionStart === this.selectionEnd) {\n const value = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(value);\n\n if (value !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n }\n } else if (this.selectionStart !== this.selectionEnd) {\n let cursorPos = this.selectionStart as number;\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n }\n\n private getNewValue(key: string, position: number) {\n return [this.viewValue.slice(0, position), key, this.viewValue.slice(position)].join('');\n }\n\n private verticalArrowKeyHandler(keyCode: number): void {\n if (!this.value) {\n return;\n }\n\n let changedTime;\n\n const newEditParams = this.getTimeEditMetrics(this.selectionStart as number);\n\n if (keyCode === UP_ARROW) {\n changedTime = this.incrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n if (keyCode === DOWN_ARROW) {\n changedTime = this.decrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n this.value = changedTime;\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n\n this.onChange(changedTime);\n this.stateChanges.next();\n }\n\n private fixEmptyDigit() {\n const hasEmptyDigit = this.viewValue\n .split(this.separator)\n .map((part) => part.length)\n .some((item) => !item);\n\n if (hasEmptyDigit && this.value) {\n this.value = this.dateAdapter.clone(this.value);\n }\n }\n\n private horizontalArrowKeyHandler(keyCode: number): void {\n if (!this.value) {\n return;\n }\n\n let cursorPos = this.selectionStart as number;\n\n if (keyCode === LEFT_ARROW) {\n this.fixEmptyDigit();\n\n cursorPos = cursorPos === 0 ? this.viewValue.length : cursorPos - 1;\n } else if (keyCode === RIGHT_ARROW) {\n this.fixEmptyDigit();\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n }\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n\n private createSelectionOfTimeComponentInInput(cursorPos: number): void {\n setTimeout(() => {\n const newEditParams = this.getTimeEditMetrics(cursorPos);\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n });\n }\n\n private incrementTime(dateVal: D, whatToIncrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToIncrement) {\n case TimeParts.hours:\n hours++;\n break;\n case TimeParts.minutes:\n minutes++;\n break;\n case TimeParts.seconds:\n seconds++;\n break;\n default:\n }\n\n if (seconds > SECONDS_PER_MINUTE) {\n seconds = 0;\n }\n\n if (minutes > MINUTES_PER_HOUR) {\n minutes = 0;\n }\n\n if (hours > HOURS_PER_DAY) {\n hours = 0;\n }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n private decrementTime(dateVal: D, whatToDecrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToDecrement) {\n case TimeParts.hours:\n hours--;\n break;\n case TimeParts.minutes:\n minutes--;\n break;\n case TimeParts.seconds:\n seconds--;\n break;\n default:\n }\n\n if (seconds < 0) {\n seconds = SECONDS_PER_MINUTE;\n }\n\n if (minutes < 0) {\n minutes = MINUTES_PER_HOUR;\n }\n\n if (hours < 0) {\n hours = HOURS_PER_DAY;\n }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n /**\n * @description Get params for arrow-keys (up/down) time value edit.\n * @param cursorPosition Current cursor position in timeString\n */\n private getTimeEditMetrics(cursorPosition: number): {\n modifiedTimePart: TimeParts;\n cursorStartPosition: number;\n cursorEndPosition: number;\n } {\n const timeString: string = this.viewValue;\n let modifiedTimePart: TimeParts;\n let cursorStartPosition: number;\n let cursorEndPosition: number;\n\n const hoursIndex = 0;\n const minutesIndex = timeString.indexOf(':', hoursIndex + 1);\n const secondsIndex = minutesIndex !== -1 ? timeString.indexOf(':', minutesIndex + 1) : -1;\n\n if (secondsIndex !== -1 && cursorPosition > secondsIndex) {\n modifiedTimePart = TimeParts.seconds;\n cursorStartPosition = secondsIndex + 1;\n cursorEndPosition = timeString.length;\n } else if (minutesIndex !== -1 && cursorPosition > minutesIndex) {\n modifiedTimePart = TimeParts.minutes;\n cursorStartPosition = minutesIndex + 1;\n cursorEndPosition = secondsIndex > -1 ? secondsIndex : timeString.length;\n } else {\n modifiedTimePart = TimeParts.hours;\n cursorStartPosition = hoursIndex;\n cursorEndPosition = minutesIndex !== -1 ? minutesIndex : timeString.length;\n }\n\n return { modifiedTimePart, cursorStartPosition, cursorEndPosition };\n }\n\n /**\n * @description Create time string for displaying inside input element of UI\n */\n private getTimeStringFromDate(value: D | null, timeFormat: TimeFormats): string {\n if (!value || !this.dateAdapter.isValid(value)) {\n return '';\n }\n\n return this.dateAdapter.format(value, timeFormat);\n }\n\n private getDateFromTimeString(timeString: string): D | null {\n if (!timeString) {\n return null;\n }\n\n const date = this.value || this.dateAdapter.today();\n\n const HMS = timeString.match(HOURS_MINUTES_SECONDS_REGEXP);\n const HM = timeString.match(HOURS_MINUTES_REGEXP);\n const H = timeString.match(HOURS_ONLY_REGEXP);\n const amPm = timeString.match(AM_PM_FORMAT_REGEXP);\n\n let hours: number = 0;\n let minutes: number = 0;\n let seconds: number = 0;\n\n if (amPm) {\n hours = Number(amPm[1]);\n minutes = Number(amPm[2]);\n\n if (/[p]/i.test(amPm[3]) || (/[a]/i.test(amPm[3]) && hours === 12)) {\n hours += 12;\n }\n } else if (HMS && this.isShortFormat) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = this.dateAdapter.getSeconds(date);\n } else if (HMS) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = Number(HMS[3]);\n } else if (HM) {\n hours = Number(HM[1]);\n minutes = Number(HM[2]);\n } else if (H) {\n hours = Number(H[1]);\n } else {\n return null;\n }\n\n const resultDate = this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(date),\n this.dateAdapter.getMonth(date),\n this.dateAdapter.getDate(date),\n hours,\n minutes || 0,\n seconds || 0,\n this.dateAdapter.getMilliseconds(date)\n );\n\n return this.getValidDateOrNull(resultDate);\n }\n\n private parseValidator: ValidatorFn = (): ValidationErrors | null => {\n return this.focused || this.empty || this.lastValueValid\n ? null\n : { kbqTimepickerParse: { text: this.viewValue } };\n };\n\n private minValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return !this.min || !controlValue || this.dateAdapter.compareDateTime(this.min, controlValue) <= 0\n ? null\n : { kbqTimepickerLowerThenMin: { min: this.min, actual: controlValue } };\n };\n\n private maxValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return !this.max || !controlValue || this.dateAdapter.compareDateTime(this.max, controlValue) >= 0\n ? null\n : { kbqTimepickerHigherThenMax: { max: this.max, actual: controlValue } };\n };\n\n private getValidDateOrNull(obj: any): D | null {\n return this.dateAdapter.isDateInstance(obj) && this.dateAdapter.isValid(obj) ? obj : null;\n }\n\n private setViewValue(value: string) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n }\n\n private updateView() {\n const formattedValue = this.getTimeStringFromDate(this.value, this.format);\n\n this.setViewValue(formattedValue);\n }\n\n private setControl(control: AbstractControl) {\n if (this.control) {\n return;\n }\n\n this.control = control;\n\n this.control.valueChanges.subscribe((value) => (this._value = value));\n }\n\n private validatorOnChange = () => {};\n\n private updateLocaleParams = () => {\n if (!this.defaultPlaceholder) return;\n\n // update via private property instead of setter to save it as default placeholder\n this._placeholder = this.timeFormatPlaceholder;\n // update value so view value will be also updated\n this.value = this._value;\n };\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { KbqFormFieldModule } from '@koobiq/components/form-field';\nimport { KbqTimepicker } from './timepicker.directive';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n FormsModule\n ],\n declarations: [KbqTimepicker],\n exports: [KbqTimepicker, KbqFormFieldModule]\n})\nexport class KbqTimepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -143,7 +143,7 @@ class KbqTimezoneOption extends KbqOption {
143
143
  provide: KbqOption,
144
144
  useExisting: forwardRef((() => KbqTimezoneOption))
145
145
  }
146
- ], viewQueries: [{ propertyName: "tooltipContentWrapper", first: true, predicate: ["tooltipContentWrapper"], descendants: true }, { propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true }], exportAs: ["kbqTimezoneOption"], usesInheritance: true, ngImport: i0, template: "@for (utcItem of timezone.offset | utcOffset | keyvalue; track utcItem) {\n <div class=\"kbq-timezone-option__offset-wrapper layout-row layout-align-space-between\">\n <div class=\"kbq-timezone-option__offset\" [innerHTML]=\"utcItem.key | mcHighlight: highlightText\"></div>\n <div class=\"kbq-timezone-option__offset\" [innerHTML]=\"utcItem.value | mcHighlight: highlightText\"></div>\n </div>\n}\n\n<div class=\"kbq-timezone-option__label\">\n <span class=\"kbq-timezone-option__city\" [innerHTML]=\"timezone.city | mcHighlight: highlightText\"></span>\n <div #tooltipContentWrapper class=\"kbq-timezone-option__cities\">\n <span\n #tooltipContent\n [innerHTML]=\"timezone.cities | citiesByFilter: highlightText | mcHighlight: highlightText\"\n ></span>\n </div>\n</div>\n", styles: [".kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s);border:var(--kbq-size-3xs) solid transparent;padding:var(--kbq-size-xxs) calc(var(--kbq-size-m) - var(--kbq-size-3xs));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:var(--kbq-option-border-radius)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}.kbq-option{background:var(--kbq-list-default-container-background)}.kbq-option .kbq-option-text{color:var(--kbq-list-default-text-color)}.kbq-option .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-default-icon-button-color)}.kbq-option .kbq-option-caption{color:var(--kbq-list-default-caption-color)}.kbq-option:hover:not(.kbq-disabled){background:var(--kbq-list-states-hover-container-background)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-hover-text-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-hover-icon-button-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-hover-caption-color)}.kbq-option:active:not(.kbq-disabled){background:var(--kbq-list-states-active-container-background)}.kbq-option:active:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-active-text-color)}.kbq-option:active:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-active-icon-button-color)}.kbq-option:active:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-active-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled){background:var(--kbq-list-states-selected-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-selected-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-selected-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover{background:var(--kbq-list-states-selected-hover-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-text{color:var(--kbq-list-states-selected-hover-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-hover-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-caption{color:var(--kbq-list-states-selected-hover-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-list-states-selected-active-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-text{color:var(--kbq-list-states-selected-active-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-active-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-caption{color:var(--kbq-list-states-selected-active-caption-color)}.kbq-option.kbq-disabled{background:var(--kbq-list-states-disabled-container-background)}.kbq-option.kbq-disabled .kbq-option-text{color:var(--kbq-list-states-disabled-text-color)}.kbq-option.kbq-disabled .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-disabled-icon-button-color)}.kbq-option.kbq-disabled .kbq-option-caption{color:var(--kbq-list-states-disabled-caption-color)}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active):has(+:is(.kbq-selected,.kbq-focused,.kbq-active)){border-bottom-left-radius:0;border-bottom-right-radius:0}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active)+:is(.kbq-selected,.kbq-focused,.kbq-active){border-top-left-radius:0;border-top-right-radius:0}.kbq-option-multiple.kbq-selected:not(.kbq-disabled){background:var(--kbq-list-multiple-states-selected-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-multiple-states-selected-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-caption-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover{background:var(--kbq-list-multiple-states-selected-hover-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-text{color:var(--kbq-list-multiple-states-selected-hover-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-hover-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-hover-caption-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-list-multiple-states-selected-active-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-text{color:var(--kbq-list-multiple-states-selected-active-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-active-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-active-caption-color)}.cdk-keyboard-focused .kbq-option.kbq-focused,.cdk-keyboard-focused .kbq-option.kbq-active{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-option{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-list-option-caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-timezone-option.kbq-option{display:flex;flex-direction:row;align-items:flex-start;padding:var(--kbq-timezone-option-size-padding);column-gap:var(--kbq-timezone-option-size-column-gap)}.kbq-timezone-option__label{display:flex;flex-direction:column;justify-content:stretch;flex:1;min-width:0}.kbq-timezone-option__offset-wrapper{min-width:77px}.kbq-timezone-option__cities{display:-webkit-box;-webkit-box-orient:vertical;max-height:var(--kbq-timezone-option-size-max-height);overflow:hidden}.kbq-select__panel .kbq-timezone-option{height:var(--kbq-timezone-option-size-height)}.kbq-timezone-option__offset,.kbq-timezone-option__city{color:var(--kbq-timezone-option-text)}.kbq-timezone-option__cities{color:var(--kbq-timezone-option-caption)}.kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label{color:var(--kbq-timezone-option-optgroup-label)}.kbq-timezone-option__offset,.kbq-timezone-option__city{font-size:var(--kbq-typography-tabular-normal-font-size);font-style:var(--kbq-typography-tabular-normal-font-style);font-weight:var(--kbq-typography-tabular-normal-font-weight);line-height:var(--kbq-typography-tabular-normal-line-height);font-family:var(--kbq-typography-tabular-normal-font-family);text-transform:var(--kbq-typography-tabular-normal-text-transform);font-feature-settings:var(--kbq-typography-tabular-normal-font-feature-settings);letter-spacing:var(--kbq-typography-tabular-normal-letter-spacing)}.kbq-timezone-option__cities{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label{font-size:var(--kbq-typography-caps-compact-strong-font-size);font-style:var(--kbq-typography-caps-compact-strong-font-style);font-weight:var(--kbq-typography-caps-compact-strong-font-weight);line-height:var(--kbq-typography-caps-compact-strong-line-height);font-family:var(--kbq-typography-caps-compact-strong-font-family);text-transform:var(--kbq-typography-caps-compact-strong-text-transform);font-feature-settings:var(--kbq-typography-caps-compact-strong-font-feature-settings);letter-spacing:var(--kbq-typography-caps-compact-strong-letter-spacing)}\n", ".kbq-list,.kbq-list-selection{--kbq-list-size-container-padding-left: var(--kbq-size-m);--kbq-list-size-container-padding-right: var(--kbq-size-m);--kbq-list-size-container-padding-vertical: var(--kbq-size-xs);--kbq-list-size-container-content-gap-horizontal: var(--kbq-size-s);--kbq-list-size-container-content-gap-vertical: var(--kbq-size-3xs);--kbq-list-size-container-focus-outline-width: var(--kbq-size-3xs);--kbq-list-size-header-padding-top: var(--kbq-size-s);--kbq-list-size-header-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-header-padding-horizontal: var(--kbq-size-m);--kbq-list-size-subheading-padding-top: var(--kbq-size-m);--kbq-list-size-subheading-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-subheading-padding-horizontal: var(--kbq-size-m);--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);--kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);--kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-timezone-select__panel,.kbq-option{--kbq-option-size-horizontal-padding: var(--kbq-size-m);--kbq-option-size-height: var(--kbq-size-3xl);--kbq-option-size-border-width: 2px;--kbq-option-border-radius: var(--kbq-size-xs)}.kbq-option{--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);--kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);--kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-timezone-select__panel{--kbq-select-size-single-padding-left: var(--kbq-size-m);--kbq-select-size-single-padding-right: var(--kbq-size-xxs);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-timezone-option-size-padding: var(--kbq-size-xxs) 10px;--kbq-timezone-option-size-column-gap: 16px;--kbq-timezone-option-size-height: auto;--kbq-timezone-option-size-max-height: 5em;--kbq-timezone-option-size-optgroup-label-padding: 12px 12px 4px 12px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup);--kbq-timezone-option-text: var(--kbq-foreground-contrast);--kbq-timezone-option-caption: var(--kbq-foreground-contrast-secondary);--kbq-timezone-option-optgroup-label: var(--kbq-foreground-contrast-secondary)}\n"], dependencies: [{ kind: "pipe", type: i1.KbqHighlightPipe, name: "mcHighlight" }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: UtcOffsetPipe, name: "utcOffset" }, { kind: "pipe", type: CitiesByFilterPipe, name: "citiesByFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
146
+ ], viewQueries: [{ propertyName: "tooltipContentWrapper", first: true, predicate: ["tooltipContentWrapper"], descendants: true }, { propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true }], exportAs: ["kbqTimezoneOption"], usesInheritance: true, ngImport: i0, template: "@for (utcItem of timezone.offset | utcOffset | keyvalue; track utcItem) {\n <div class=\"kbq-timezone-option__offset-wrapper layout-row layout-align-space-between\">\n <div class=\"kbq-timezone-option__offset\" [innerHTML]=\"utcItem.key | mcHighlight: highlightText\"></div>\n <div class=\"kbq-timezone-option__offset\" [innerHTML]=\"utcItem.value | mcHighlight: highlightText\"></div>\n </div>\n}\n\n<div class=\"kbq-timezone-option__label\">\n <span class=\"kbq-timezone-option__city\" [innerHTML]=\"timezone.city | mcHighlight: highlightText\"></span>\n <div #tooltipContentWrapper class=\"kbq-timezone-option__cities\">\n <span\n #tooltipContent\n [innerHTML]=\"timezone.cities | citiesByFilter: highlightText | mcHighlight: highlightText\"\n ></span>\n </div>\n</div>\n", styles: [".kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s);border:var(--kbq-size-3xs) solid transparent;padding:var(--kbq-size-xxs) calc(var(--kbq-size-m) - var(--kbq-size-3xs));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:var(--kbq-option-border-radius)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}.kbq-option{background:var(--kbq-list-default-container-background)}.kbq-option .kbq-option-text{color:var(--kbq-list-default-text-color)}.kbq-option .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-default-icon-button-color)}.kbq-option .kbq-option-caption{color:var(--kbq-list-default-caption-color)}.kbq-option:hover:not(.kbq-disabled){background:var(--kbq-list-states-hover-container-background)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-hover-text-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-hover-icon-button-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-hover-caption-color)}.kbq-option:active:not(.kbq-disabled){background:var(--kbq-list-states-active-container-background)}.kbq-option:active:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-active-text-color)}.kbq-option:active:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-active-icon-button-color)}.kbq-option:active:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-active-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled){background:var(--kbq-list-states-selected-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-selected-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-selected-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover{background:var(--kbq-list-states-selected-hover-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-text{color:var(--kbq-list-states-selected-hover-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-hover-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-caption{color:var(--kbq-list-states-selected-hover-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-list-states-selected-active-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-text{color:var(--kbq-list-states-selected-active-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-active-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-caption{color:var(--kbq-list-states-selected-active-caption-color)}.kbq-option.kbq-disabled{background:var(--kbq-list-states-disabled-container-background)}.kbq-option.kbq-disabled .kbq-option-text{color:var(--kbq-list-states-disabled-text-color)}.kbq-option.kbq-disabled .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-disabled-icon-button-color)}.kbq-option.kbq-disabled .kbq-option-caption{color:var(--kbq-list-states-disabled-caption-color)}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active):has(+:is(.kbq-selected,.kbq-focused,.kbq-active)){border-bottom-left-radius:0;border-bottom-right-radius:0}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active)+:is(.kbq-selected,.kbq-focused,.kbq-active){border-top-left-radius:0;border-top-right-radius:0}.kbq-option-multiple.kbq-selected:not(.kbq-disabled){background:var(--kbq-list-multiple-states-selected-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-multiple-states-selected-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-caption-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover{background:var(--kbq-list-multiple-states-selected-hover-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-text{color:var(--kbq-list-multiple-states-selected-hover-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-hover-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-hover-caption-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-list-multiple-states-selected-active-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-text{color:var(--kbq-list-multiple-states-selected-active-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-active-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-active-caption-color)}.cdk-keyboard-focused .kbq-option.kbq-focused,.cdk-keyboard-focused .kbq-option.kbq-active{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-option{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-list-option-caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-timezone-option.kbq-option{display:flex;flex-direction:row;align-items:flex-start;padding:var(--kbq-timezone-option-size-padding);column-gap:var(--kbq-timezone-option-size-column-gap)}.kbq-timezone-option__label{display:flex;flex-direction:column;justify-content:stretch;flex:1;min-width:0}.kbq-timezone-option__offset-wrapper{min-width:77px}.kbq-timezone-option__cities{display:-webkit-box;-webkit-box-orient:vertical;max-height:var(--kbq-timezone-option-size-max-height);overflow:hidden}.kbq-select__panel .kbq-timezone-option{height:var(--kbq-timezone-option-size-height)}.kbq-select__panel .kbq-timezone-option:before,.kbq-select__panel .kbq-timezone-option:after{top:calc(-1 * var(--kbq-size-3xs));bottom:calc(-1 * var(--kbq-size-3xs))}.kbq-timezone-option__offset,.kbq-timezone-option__city{color:var(--kbq-timezone-option-text)}.kbq-timezone-option__cities{color:var(--kbq-timezone-option-caption)}.kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label{color:var(--kbq-timezone-option-optgroup-label)}.kbq-timezone-option__offset,.kbq-timezone-option__city{font-size:var(--kbq-typography-tabular-normal-font-size);font-style:var(--kbq-typography-tabular-normal-font-style);font-weight:var(--kbq-typography-tabular-normal-font-weight);line-height:var(--kbq-typography-tabular-normal-line-height);font-family:var(--kbq-typography-tabular-normal-font-family);text-transform:var(--kbq-typography-tabular-normal-text-transform);font-feature-settings:var(--kbq-typography-tabular-normal-font-feature-settings);letter-spacing:var(--kbq-typography-tabular-normal-letter-spacing)}.kbq-timezone-option__cities{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label{font-size:var(--kbq-typography-caps-compact-strong-font-size);font-style:var(--kbq-typography-caps-compact-strong-font-style);font-weight:var(--kbq-typography-caps-compact-strong-font-weight);line-height:var(--kbq-typography-caps-compact-strong-line-height);font-family:var(--kbq-typography-caps-compact-strong-font-family);text-transform:var(--kbq-typography-caps-compact-strong-text-transform);font-feature-settings:var(--kbq-typography-caps-compact-strong-font-feature-settings);letter-spacing:var(--kbq-typography-caps-compact-strong-letter-spacing)}\n", ".kbq-list,.kbq-list-selection{--kbq-list-size-container-padding-left: var(--kbq-size-m);--kbq-list-size-container-padding-right: var(--kbq-size-m);--kbq-list-size-container-padding-vertical: var(--kbq-size-xs);--kbq-list-size-container-content-gap-horizontal: var(--kbq-size-s);--kbq-list-size-container-content-gap-vertical: var(--kbq-size-3xs);--kbq-list-size-container-focus-outline-width: var(--kbq-size-3xs);--kbq-list-size-header-padding-top: var(--kbq-size-s);--kbq-list-size-header-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-header-padding-horizontal: var(--kbq-size-m);--kbq-list-size-subheading-padding-top: var(--kbq-size-m);--kbq-list-size-subheading-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-subheading-padding-horizontal: var(--kbq-size-m);--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);--kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);--kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-timezone-select__panel,.kbq-option{--kbq-option-size-horizontal-padding: var(--kbq-size-m);--kbq-option-size-height: var(--kbq-size-3xl);--kbq-option-size-border-width: 2px;--kbq-option-border-radius: var(--kbq-size-xs)}.kbq-option{--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);--kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);--kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-timezone-select__panel{--kbq-select-size-single-padding-left: var(--kbq-size-m);--kbq-select-size-single-padding-right: var(--kbq-size-xxs);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-timezone-option-size-padding: var(--kbq-size-xxs) 10px;--kbq-timezone-option-size-column-gap: 16px;--kbq-timezone-option-size-height: auto;--kbq-timezone-option-size-max-height: 5em;--kbq-timezone-option-size-optgroup-label-padding: 12px 12px 4px 12px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup);--kbq-timezone-option-text: var(--kbq-foreground-contrast);--kbq-timezone-option-caption: var(--kbq-foreground-contrast-secondary);--kbq-timezone-option-optgroup-label: var(--kbq-foreground-contrast-secondary)}\n"], dependencies: [{ kind: "pipe", type: i1.KbqHighlightPipe, name: "mcHighlight" }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: UtcOffsetPipe, name: "utcOffset" }, { kind: "pipe", type: CitiesByFilterPipe, name: "citiesByFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
147
147
  }
148
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimezoneOption, decorators: [{
149
149
  type: Component,
@@ -154,7 +154,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
154
154
  provide: KbqOption,
155
155
  useExisting: forwardRef((() => KbqTimezoneOption))
156
156
  }
157
- ], template: "@for (utcItem of timezone.offset | utcOffset | keyvalue; track utcItem) {\n <div class=\"kbq-timezone-option__offset-wrapper layout-row layout-align-space-between\">\n <div class=\"kbq-timezone-option__offset\" [innerHTML]=\"utcItem.key | mcHighlight: highlightText\"></div>\n <div class=\"kbq-timezone-option__offset\" [innerHTML]=\"utcItem.value | mcHighlight: highlightText\"></div>\n </div>\n}\n\n<div class=\"kbq-timezone-option__label\">\n <span class=\"kbq-timezone-option__city\" [innerHTML]=\"timezone.city | mcHighlight: highlightText\"></span>\n <div #tooltipContentWrapper class=\"kbq-timezone-option__cities\">\n <span\n #tooltipContent\n [innerHTML]=\"timezone.cities | citiesByFilter: highlightText | mcHighlight: highlightText\"\n ></span>\n </div>\n</div>\n", styles: [".kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s);border:var(--kbq-size-3xs) solid transparent;padding:var(--kbq-size-xxs) calc(var(--kbq-size-m) - var(--kbq-size-3xs));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:var(--kbq-option-border-radius)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}.kbq-option{background:var(--kbq-list-default-container-background)}.kbq-option .kbq-option-text{color:var(--kbq-list-default-text-color)}.kbq-option .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-default-icon-button-color)}.kbq-option .kbq-option-caption{color:var(--kbq-list-default-caption-color)}.kbq-option:hover:not(.kbq-disabled){background:var(--kbq-list-states-hover-container-background)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-hover-text-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-hover-icon-button-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-hover-caption-color)}.kbq-option:active:not(.kbq-disabled){background:var(--kbq-list-states-active-container-background)}.kbq-option:active:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-active-text-color)}.kbq-option:active:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-active-icon-button-color)}.kbq-option:active:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-active-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled){background:var(--kbq-list-states-selected-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-selected-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-selected-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover{background:var(--kbq-list-states-selected-hover-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-text{color:var(--kbq-list-states-selected-hover-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-hover-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-caption{color:var(--kbq-list-states-selected-hover-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-list-states-selected-active-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-text{color:var(--kbq-list-states-selected-active-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-active-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-caption{color:var(--kbq-list-states-selected-active-caption-color)}.kbq-option.kbq-disabled{background:var(--kbq-list-states-disabled-container-background)}.kbq-option.kbq-disabled .kbq-option-text{color:var(--kbq-list-states-disabled-text-color)}.kbq-option.kbq-disabled .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-disabled-icon-button-color)}.kbq-option.kbq-disabled .kbq-option-caption{color:var(--kbq-list-states-disabled-caption-color)}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active):has(+:is(.kbq-selected,.kbq-focused,.kbq-active)){border-bottom-left-radius:0;border-bottom-right-radius:0}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active)+:is(.kbq-selected,.kbq-focused,.kbq-active){border-top-left-radius:0;border-top-right-radius:0}.kbq-option-multiple.kbq-selected:not(.kbq-disabled){background:var(--kbq-list-multiple-states-selected-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-multiple-states-selected-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-caption-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover{background:var(--kbq-list-multiple-states-selected-hover-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-text{color:var(--kbq-list-multiple-states-selected-hover-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-hover-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-hover-caption-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-list-multiple-states-selected-active-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-text{color:var(--kbq-list-multiple-states-selected-active-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-active-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-active-caption-color)}.cdk-keyboard-focused .kbq-option.kbq-focused,.cdk-keyboard-focused .kbq-option.kbq-active{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-option{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-list-option-caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-timezone-option.kbq-option{display:flex;flex-direction:row;align-items:flex-start;padding:var(--kbq-timezone-option-size-padding);column-gap:var(--kbq-timezone-option-size-column-gap)}.kbq-timezone-option__label{display:flex;flex-direction:column;justify-content:stretch;flex:1;min-width:0}.kbq-timezone-option__offset-wrapper{min-width:77px}.kbq-timezone-option__cities{display:-webkit-box;-webkit-box-orient:vertical;max-height:var(--kbq-timezone-option-size-max-height);overflow:hidden}.kbq-select__panel .kbq-timezone-option{height:var(--kbq-timezone-option-size-height)}.kbq-timezone-option__offset,.kbq-timezone-option__city{color:var(--kbq-timezone-option-text)}.kbq-timezone-option__cities{color:var(--kbq-timezone-option-caption)}.kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label{color:var(--kbq-timezone-option-optgroup-label)}.kbq-timezone-option__offset,.kbq-timezone-option__city{font-size:var(--kbq-typography-tabular-normal-font-size);font-style:var(--kbq-typography-tabular-normal-font-style);font-weight:var(--kbq-typography-tabular-normal-font-weight);line-height:var(--kbq-typography-tabular-normal-line-height);font-family:var(--kbq-typography-tabular-normal-font-family);text-transform:var(--kbq-typography-tabular-normal-text-transform);font-feature-settings:var(--kbq-typography-tabular-normal-font-feature-settings);letter-spacing:var(--kbq-typography-tabular-normal-letter-spacing)}.kbq-timezone-option__cities{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label{font-size:var(--kbq-typography-caps-compact-strong-font-size);font-style:var(--kbq-typography-caps-compact-strong-font-style);font-weight:var(--kbq-typography-caps-compact-strong-font-weight);line-height:var(--kbq-typography-caps-compact-strong-line-height);font-family:var(--kbq-typography-caps-compact-strong-font-family);text-transform:var(--kbq-typography-caps-compact-strong-text-transform);font-feature-settings:var(--kbq-typography-caps-compact-strong-font-feature-settings);letter-spacing:var(--kbq-typography-caps-compact-strong-letter-spacing)}\n", ".kbq-list,.kbq-list-selection{--kbq-list-size-container-padding-left: var(--kbq-size-m);--kbq-list-size-container-padding-right: var(--kbq-size-m);--kbq-list-size-container-padding-vertical: var(--kbq-size-xs);--kbq-list-size-container-content-gap-horizontal: var(--kbq-size-s);--kbq-list-size-container-content-gap-vertical: var(--kbq-size-3xs);--kbq-list-size-container-focus-outline-width: var(--kbq-size-3xs);--kbq-list-size-header-padding-top: var(--kbq-size-s);--kbq-list-size-header-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-header-padding-horizontal: var(--kbq-size-m);--kbq-list-size-subheading-padding-top: var(--kbq-size-m);--kbq-list-size-subheading-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-subheading-padding-horizontal: var(--kbq-size-m);--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);--kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);--kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-timezone-select__panel,.kbq-option{--kbq-option-size-horizontal-padding: var(--kbq-size-m);--kbq-option-size-height: var(--kbq-size-3xl);--kbq-option-size-border-width: 2px;--kbq-option-border-radius: var(--kbq-size-xs)}.kbq-option{--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);--kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);--kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-timezone-select__panel{--kbq-select-size-single-padding-left: var(--kbq-size-m);--kbq-select-size-single-padding-right: var(--kbq-size-xxs);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-timezone-option-size-padding: var(--kbq-size-xxs) 10px;--kbq-timezone-option-size-column-gap: 16px;--kbq-timezone-option-size-height: auto;--kbq-timezone-option-size-max-height: 5em;--kbq-timezone-option-size-optgroup-label-padding: 12px 12px 4px 12px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup);--kbq-timezone-option-text: var(--kbq-foreground-contrast);--kbq-timezone-option-caption: var(--kbq-foreground-contrast-secondary);--kbq-timezone-option-optgroup-label: var(--kbq-foreground-contrast-secondary)}\n"] }]
157
+ ], template: "@for (utcItem of timezone.offset | utcOffset | keyvalue; track utcItem) {\n <div class=\"kbq-timezone-option__offset-wrapper layout-row layout-align-space-between\">\n <div class=\"kbq-timezone-option__offset\" [innerHTML]=\"utcItem.key | mcHighlight: highlightText\"></div>\n <div class=\"kbq-timezone-option__offset\" [innerHTML]=\"utcItem.value | mcHighlight: highlightText\"></div>\n </div>\n}\n\n<div class=\"kbq-timezone-option__label\">\n <span class=\"kbq-timezone-option__city\" [innerHTML]=\"timezone.city | mcHighlight: highlightText\"></span>\n <div #tooltipContentWrapper class=\"kbq-timezone-option__cities\">\n <span\n #tooltipContent\n [innerHTML]=\"timezone.cities | citiesByFilter: highlightText | mcHighlight: highlightText\"\n ></span>\n </div>\n</div>\n", styles: [".kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s);border:var(--kbq-size-3xs) solid transparent;padding:var(--kbq-size-xxs) calc(var(--kbq-size-m) - var(--kbq-size-3xs));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:var(--kbq-option-border-radius)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}.kbq-option{background:var(--kbq-list-default-container-background)}.kbq-option .kbq-option-text{color:var(--kbq-list-default-text-color)}.kbq-option .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-default-icon-button-color)}.kbq-option .kbq-option-caption{color:var(--kbq-list-default-caption-color)}.kbq-option:hover:not(.kbq-disabled){background:var(--kbq-list-states-hover-container-background)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-hover-text-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-hover-icon-button-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-hover-caption-color)}.kbq-option:active:not(.kbq-disabled){background:var(--kbq-list-states-active-container-background)}.kbq-option:active:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-active-text-color)}.kbq-option:active:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-active-icon-button-color)}.kbq-option:active:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-active-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled){background:var(--kbq-list-states-selected-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-selected-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-selected-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover{background:var(--kbq-list-states-selected-hover-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-text{color:var(--kbq-list-states-selected-hover-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-hover-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled):hover .kbq-option-caption{color:var(--kbq-list-states-selected-hover-caption-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-list-states-selected-active-container-background)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-text{color:var(--kbq-list-states-selected-active-text-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-selected-active-icon-button-color)}.kbq-option.kbq-selected:not(.kbq-disabled):active .kbq-option-caption{color:var(--kbq-list-states-selected-active-caption-color)}.kbq-option.kbq-disabled{background:var(--kbq-list-states-disabled-container-background)}.kbq-option.kbq-disabled .kbq-option-text{color:var(--kbq-list-states-disabled-text-color)}.kbq-option.kbq-disabled .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-states-disabled-icon-button-color)}.kbq-option.kbq-disabled .kbq-option-caption{color:var(--kbq-list-states-disabled-caption-color)}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active):has(+:is(.kbq-selected,.kbq-focused,.kbq-active)){border-bottom-left-radius:0;border-bottom-right-radius:0}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active)+:is(.kbq-selected,.kbq-focused,.kbq-active){border-top-left-radius:0;border-top-right-radius:0}.kbq-option-multiple.kbq-selected:not(.kbq-disabled){background:var(--kbq-list-multiple-states-selected-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-multiple-states-selected-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-caption-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover{background:var(--kbq-list-multiple-states-selected-hover-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-text{color:var(--kbq-list-multiple-states-selected-hover-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-hover-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):hover .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-hover-caption-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-list-multiple-states-selected-active-container-background)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-text{color:var(--kbq-list-multiple-states-selected-active-text-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-action .kbq-icon.kbq-empty{color:var(--kbq-list-multiple-states-selected-active-icon-button-color)}.kbq-option-multiple.kbq-selected:not(.kbq-disabled):active .kbq-option-caption{color:var(--kbq-list-multiple-states-selected-active-caption-color)}.cdk-keyboard-focused .kbq-option.kbq-focused,.cdk-keyboard-focused .kbq-option.kbq-active{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-option{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-list-option-caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-timezone-option.kbq-option{display:flex;flex-direction:row;align-items:flex-start;padding:var(--kbq-timezone-option-size-padding);column-gap:var(--kbq-timezone-option-size-column-gap)}.kbq-timezone-option__label{display:flex;flex-direction:column;justify-content:stretch;flex:1;min-width:0}.kbq-timezone-option__offset-wrapper{min-width:77px}.kbq-timezone-option__cities{display:-webkit-box;-webkit-box-orient:vertical;max-height:var(--kbq-timezone-option-size-max-height);overflow:hidden}.kbq-select__panel .kbq-timezone-option{height:var(--kbq-timezone-option-size-height)}.kbq-select__panel .kbq-timezone-option:before,.kbq-select__panel .kbq-timezone-option:after{top:calc(-1 * var(--kbq-size-3xs));bottom:calc(-1 * var(--kbq-size-3xs))}.kbq-timezone-option__offset,.kbq-timezone-option__city{color:var(--kbq-timezone-option-text)}.kbq-timezone-option__cities{color:var(--kbq-timezone-option-caption)}.kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label{color:var(--kbq-timezone-option-optgroup-label)}.kbq-timezone-option__offset,.kbq-timezone-option__city{font-size:var(--kbq-typography-tabular-normal-font-size);font-style:var(--kbq-typography-tabular-normal-font-style);font-weight:var(--kbq-typography-tabular-normal-font-weight);line-height:var(--kbq-typography-tabular-normal-line-height);font-family:var(--kbq-typography-tabular-normal-font-family);text-transform:var(--kbq-typography-tabular-normal-text-transform);font-feature-settings:var(--kbq-typography-tabular-normal-font-feature-settings);letter-spacing:var(--kbq-typography-tabular-normal-letter-spacing)}.kbq-timezone-option__cities{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label{font-size:var(--kbq-typography-caps-compact-strong-font-size);font-style:var(--kbq-typography-caps-compact-strong-font-style);font-weight:var(--kbq-typography-caps-compact-strong-font-weight);line-height:var(--kbq-typography-caps-compact-strong-line-height);font-family:var(--kbq-typography-caps-compact-strong-font-family);text-transform:var(--kbq-typography-caps-compact-strong-text-transform);font-feature-settings:var(--kbq-typography-caps-compact-strong-font-feature-settings);letter-spacing:var(--kbq-typography-caps-compact-strong-letter-spacing)}\n", ".kbq-list,.kbq-list-selection{--kbq-list-size-container-padding-left: var(--kbq-size-m);--kbq-list-size-container-padding-right: var(--kbq-size-m);--kbq-list-size-container-padding-vertical: var(--kbq-size-xs);--kbq-list-size-container-content-gap-horizontal: var(--kbq-size-s);--kbq-list-size-container-content-gap-vertical: var(--kbq-size-3xs);--kbq-list-size-container-focus-outline-width: var(--kbq-size-3xs);--kbq-list-size-header-padding-top: var(--kbq-size-s);--kbq-list-size-header-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-header-padding-horizontal: var(--kbq-size-m);--kbq-list-size-subheading-padding-top: var(--kbq-size-m);--kbq-list-size-subheading-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-subheading-padding-horizontal: var(--kbq-size-m);--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);--kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);--kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-timezone-select__panel,.kbq-option{--kbq-option-size-horizontal-padding: var(--kbq-size-m);--kbq-option-size-height: var(--kbq-size-3xl);--kbq-option-size-border-width: 2px;--kbq-option-border-radius: var(--kbq-size-xs)}.kbq-option{--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-active-container-background: var(--kbq-states-background-transparent-active);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-multiple-states-selected-container-background: var(--kbq-background-contrast-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-multiple-states-selected-hover-container-background: var(--kbq-states-background-contrast-less-hover);--kbq-list-states-selected-active-container-background: var(--kbq-states-background-theme-less-active);--kbq-list-multiple-states-selected-active-container-background: var(--kbq-states-background-contrast-less-active);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-timezone-select__panel{--kbq-select-size-single-padding-left: var(--kbq-size-m);--kbq-select-size-single-padding-right: var(--kbq-size-xxs);--kbq-select-size-single-padding-vertical: var(--kbq-size-xs);--kbq-select-size-single-content-gap: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);--kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);--kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);--kbq-timezone-option-size-padding: var(--kbq-size-xxs) 10px;--kbq-timezone-option-size-column-gap: 16px;--kbq-timezone-option-size-height: auto;--kbq-timezone-option-size-max-height: 5em;--kbq-timezone-option-size-optgroup-label-padding: 12px 12px 4px 12px;--kbq-select-panel-dropdown-background: var(--kbq-background-card);--kbq-select-panel-dropdown-shadow: var(--kbq-shadow-popup);--kbq-timezone-option-text: var(--kbq-foreground-contrast);--kbq-timezone-option-caption: var(--kbq-foreground-contrast-secondary);--kbq-timezone-option-optgroup-label: var(--kbq-foreground-contrast-secondary)}\n"] }]
158
158
  }], propDecorators: { tooltipContentWrapper: [{
159
159
  type: ViewChild,
160
160
  args: ['tooltipContentWrapper', { static: false }]
@@ -279,7 +279,8 @@ class KbqTimezoneModule {
279
279
  A11yModule], exports: [KbqTimezoneSelect,
280
280
  KbqTimezoneOption,
281
281
  KbqTimezoneOptionTooltip,
282
- KbqTimezoneSelectTrigger] }); }
282
+ KbqTimezoneSelectTrigger,
283
+ KbqFormFieldModule] }); }
283
284
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimezoneModule, imports: [OverlayModule,
284
285
  KbqFormFieldModule,
285
286
  KbqOptionModule,
@@ -288,7 +289,7 @@ class KbqTimezoneModule {
288
289
  KbqTagsModule,
289
290
  KbqToolTipModule,
290
291
  KbqHighlightModule,
291
- A11yModule] }); }
292
+ A11yModule, KbqFormFieldModule] }); }
292
293
  }
293
294
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTimezoneModule, decorators: [{
294
295
  type: NgModule,
@@ -318,7 +319,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
318
319
  KbqTimezoneSelect,
319
320
  KbqTimezoneOption,
320
321
  KbqTimezoneOptionTooltip,
321
- KbqTimezoneSelectTrigger
322
+ KbqTimezoneSelectTrigger,
323
+ KbqFormFieldModule
322
324
  ]
323
325
  }]
324
326
  }] });